Camelia, the Perl 6 bug

IRC log for #moarvm, 2013-09-08

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:34 FROGGS_ joined #moarvm
02:12 JimmyZ .tell FROGGS it's known for ..\moarvm nqp.moarvm doesn't work on 32 bit
02:12 yoleaux JimmyZ: I'll pass your message to FROGGS.
02:45 foo_bar_baz joined #moarvm
05:12 foo_bar_baz joined #moarvm
06:44 not_gerd joined #moarvm
06:44 not_gerd o/
06:44 yoleaux 7 Sep 2013 23:11Z <diakopter> not_gerd: what's the difference between typing nmake moarvm.dll and doing Configure.pl --shared
06:45 not_gerd diakopter: if you don't use --shared, -fPIC won't be added to CFLAGS on linux
06:46 not_gerd on windows, that doesn't matter (the loader takes care of dlls) and apparently, macos always compiles position-independently
06:46 foo_bar_baz joined #moarvm
06:48 not_gerd making shared/static a build-time instead of a configure-time option is a pain because we have 2 black box 3rdparty libs (libatomic_ops, dyncall) and as we want to support nmake,can only use basic inference rules
06:50 not_gerd I know how to work around those limitations (move 3rdparty libs after building, have separate output directories for shared and static object files, let Configure.pl generate explicit rules instead of using a catch-all inference rule)
06:50 not_gerd but it's a pain
07:02 FROGGS JimmyZ: yeah, that is why I wanted to test this on win xp too
07:02 yoleaux 02:12Z <JimmyZ> FROGGS: it's known for ..\moarvm nqp.moarvm doesn't work on 32 bit
07:33 diakopter .
07:33 not_gerd diakopter: see http://irclog.perlgeek.de/m​oarvm/2013-09-08#i_7556706 about --shared
07:34 diakopter heh it's on my screen
07:34 diakopter 1 inch away
07:34 diakopter is the shared lib make target disabled on linux?
07:35 diakopter (or does it reinvoke configure with --shared and then reinvoke make)
07:35 diakopter lolol
07:36 not_gerd no, I don't remember adding anything fancy like that ;)
07:36 not_gerd you can do `make reconfig ADDCONFIG=--shared`, though
07:53 eternaleye joined #moarvm
12:15 benabik joined #moarvm
12:37 benabik joined #moarvm
15:27 FROGGS okay, I have a ubuntu 32bit and windows xp 32 bit with moarvm now
15:28 FROGGS the ubuntu work fine (except the known failures), the winxp dies silently for every test as it seems
15:49 benabik joined #moarvm
16:45 diakopter .
16:47 diakopter moritz: I still have today to push nfg?
16:48 jnthn It'll be pushed by Christmas? :P
16:56 diakopter moritz: I'm in a physics talk by non-quietfanatic son of TimToady
16:57 diakopter "about" 25 constants in the standard model
16:59 diakopter (some of them are slightly less constant?)
17:06 moritz diakopter: you can push nfg whenever you want, but the later you do, the less likely it becomes that I'll find tuits for hacking
17:09 FROGGS is there anything I could do atm? I feel a bit lost because I am unable to fix the outer-frame-bug and I dont know what else is todo
17:10 jnthn Hunt down the 32-bit Windows failure?
17:16 FROGGS yeah, I guess should use the visual studio debugger, oder is there a gdb for windows?
17:18 FROGGS ohh, there is
17:18 FROGGS s/oder/or/
17:18 jnthn Yeah, the VS one is NICE though ))
17:18 diakopter maybe bisect the 32bit
17:19 FROGGS diakopter: yeah, good idea
17:19 FROGGS jnthn: I have to create a VS project for this, right?
17:20 jnthn No
17:20 FROGGS I'm not that used to that though
17:20 diakopter i'll get vs to you soon
17:20 FROGGS ahh, okay
17:20 jnthn devenv moarvm.exe
17:20 FROGGS diakopter: no hurry, I have everything atm
17:20 FROGGS k
17:20 jnthn and then set working dir and args and hit run
17:24 diakopter (right-click executable... properties)
17:25 FROGGS I dont have devenv
17:29 diakopter soon
18:15 jnthn lol I blaught: http://6guts.wordpress.com/2013/​09/08/a-moarvm-progress-update/
18:16 FROGGS \o/
18:18 lizmat jnthn++
18:19 jnthn dinner &
18:51 woolfy jnthn++  (even I understand what you wrote)
19:20 moritz jnthn++ # blag
19:58 dalek MoarVM: f50dfa1 | (Tobias Leich)++ | / (9 files):
19:58 dalek MoarVM: added nqp::rethrow, t/nqp/44 only misses resume
19:58 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/f50dfa1d24
20:12 jnthn hm, resume will need some care :)
20:13 FROGGS yeah, I thinking about that right now...
20:13 FROGGS I trying to mimik what the jvm backend does
20:14 jnthn I think it does some trick involving the JVM exceptions...
20:20 FROGGS I need to invoke the frame of the exception somehow at the position after the exception.... right?
20:22 jnthn You basically need the nqp::throw to "return"
20:22 FROGGS ahh, yes
20:23 jnthn And to unwind the frames to get you back to there
20:23 jnthn We alrady correctly run handlers on le "stack top", to the degree we have a stack :)
20:23 jnthn So in a way it's largely *not* doing stuff.
20:24 jnthn (that is, not unwinding)
20:24 jnthn Apart from you need to unwind any handler related frames :)
20:30 FROGGS hmmmm
21:27 FROGGS void MVM_exception_resume(MVMThreadContext *tc, MVMObject *ex_obj) {
21:27 FROGGS MVMException   *ex = (MVMException *)ex_obj;
21:27 FROGGS unwind_to_frame(tc, ex->body.origin);
21:27 FROGGS // *tc->interp_cur_op = *tc->interp_bytecode_start + ?
21:27 FROGGS jnthn: is this the correct approach?
21:28 FROGGS ohh, you said not unwinding
21:28 diakopter well does it save the frames in unwinding?
21:28 diakopter er, something takes a reference to the innermost one?
21:29 diakopter you'll want to throw that one back
21:29 diakopter on the interp
21:29 diakopter afk a while &
21:30 jnthn FROGGS: You need to unwind back to the place where the exception was thrown.
21:31 jnthn FROGGS: It's the unwind to where the handler is you need to not do. :)
21:31 FROGGS jnthn: I thought this would be ex->body.origin
21:31 FROGGS wut?
21:31 jnthn I think that's what ex->body.origin holds, yeah
21:31 diakopter unwind??
21:31 diakopter ununwind you mean?
21:31 jnthn Well, normally what happens when you have an exception handler is...
21:32 jnthn 1) Find he handler
21:32 jnthn 2) Run the block
21:32 jnthn 3) Unwind to the frame where we found the handler
21:32 jnthn A resume happens during step 2, and it means that we don't want to do 3
21:32 jnthn Because we want to end up back in the location that threw the exception.
21:33 jnthn *but* the handler may make calls, and the nqp::resume could be several frames away from the point we started running the handler block.
21:33 jnthn So we need to unwind *those* frames.
21:33 FROGGS I see
21:33 diakopter why need to "unwind"?
21:33 diakopter just let gc get them?
21:34 jnthn diakopter: Frames are refcounted for one :)
21:34 jnthn diakopter: But also we'll need to - when we implement it - run any LEAVE handlers too...
21:34 diakopter oh, bleh.
21:35 jnthn We should be able to re-use the existing unwind logic.
21:35 jnthn It's just a different destination.
21:56 jnthn 'night
22:12 _ilbot joined #moarvm
22:12 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
22:19 moritz joined #moarvm
22:19 jnthn joined #moarvm
22:19 FROGGS joined #moarvm
22:19 harrow joined #moarvm
22:19 ChanServ joined #moarvm
22:19 pmichaud joined #moarvm
22:19 `patch` joined #moarvm
22:19 _sri joined #moarvm
22:19 arnsholt joined #moarvm
22:19 ingy joined #moarvm
22:19 patspam joined #moarvm
22:19 flussence joined #moarvm
22:19 timotimo joined #moarvm
22:19 gshank joined #moarvm
22:19 JimmyZ joined #moarvm
22:19 PerlJam joined #moarvm
22:19 Util joined #moarvm
22:19 BinGOs joined #moarvm
22:19 sorear joined #moarvm
22:19 diakopter joined #moarvm
22:19 yoleaux joined #moarvm
22:19 woolfy joined #moarvm
22:19 colomon joined #moarvm
22:19 dalek joined #moarvm
22:19 tadzik joined #moarvm
22:19 ggoebel joined #moarvm
22:19 rblackwe joined #moarvm
22:19 lizmat joined #moarvm
22:19 cognominal__ joined #moarvm
22:19 Ulti joined #moarvm
22:19 eternaleye joined #moarvm
22:19 [Coke]_ joined #moarvm
22:19 masak_ joined #moarvm
22:19 tokuhirom joined #moarvm
22:19 benabik joined #moarvm
22:28 FROGGS .tell jnthn I think I got something, it does not resume though :/, it dies as if it does not find the handler in the second run: https://gist.github.com/FR​OGGS/d006980f3c95b53364ca
22:28 yoleaux FROGGS: I'll pass your message to jnthn.
22:29 FROGGS ossum

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary