01:48
ilbot3 joined
04:47
ggoebel115 joined
|
|||
dalek | arVM/serialization_int: 6e9eef3 | (Jimmy Zhuo)++ | src/6model/ (5 files): Change the remaining serialization of int to varint. This reduces rakudo core setting size about 11kb. |
07:31 | |
arVM/serialization_int: b996b7b | (Jimmy Zhuo)++ | src/6model/ (15 files): Rename MVM_serialization_read_varint back to MVM_serialization_read_int the old MVM_serialization_read_int function will be removed after next nqp bootstrap. |
|||
timotimo | ELEVEN KILOBYTES | 07:32 | |
that's really not a small amount | |||
i've got a few ideas remaining for p6opaque's reprdata, btw | 07:33 | ||
like, there's a few fields in there that are sometimes just zeroes from start to finish | |||
07:34
domidumont joined
|
|||
timotimo | i wanted to investigate a bit more. there's potentially a win in handling the special case of "there's just a single value in there", or "we can skip the first n values, because they're all zeroes" | 07:34 | |
07:34
domidumont joined
|
|||
dalek | arVM/serialization_int: b271075 | (Jimmy Zhuo)++ | src/6model/ (15 files): Rename MVM_serialization_write_varint back to MVM_serialization_write_int |
07:36 | |
07:40
domidumont joined
|
|||
dalek | arVM/serialization_int: 5ef8a54 | (Jimmy Zhuo)++ | src/6model/serialization.c: removed unused code |
07:42 | |
JimmyZ | timotimo: looks a good idea, i did see lots of zero in the moarvm code, though most of it is about opcode itself. ;) | 07:47 | |
*looks like | |||
08:31
domidumont joined
09:00
domidumont joined
09:34
Ven joined
09:37
Ven joined
|
|||
nine | jnthn: I think, I got the source of the num_temproots underflow: src/core/nativecall_dyncall.c callback_handler before the MVM_gc_root_temp_mark tc->num_temproots is 5, after MVM_gc_root_temp_mark_reset it is 3 | 09:52 | |
Narrowed it down to the call to MVM_interp_run | 09:54 | ||
JimmyZ | any +1 to merge serialization_int branch? | 10:07 | |
nine | Btw. in one of Inline::Perl5's tests tc->num_temproots goes up to 709 | 10:15 | |
lizmat | JimmyZ: sorry, but I don't think I'm qualified to give a +1 or -1 or whatever :-( | ||
JimmyZ | nine: I guess some where MVMROOT { MVM_interp_run } never return and in MVM_interp_run it calls another MVMROOT { MVM_interp_run } and never return again and continue call another one :P | 10:21 | |
nine | It does not fail always but when it does, it's missing 2 temproots | 10:36 | |
I think it's exceptions. | 10:44 | ||
The MVM_gc_root_temp_pop_all(tc) call probably screws up num_temproots when (control?) exceptions are thrown inside the callback. | 10:45 | ||
11:04
Ven joined
12:14
domidumont joined
12:15
domidumont joined
14:02
Ven joined
14:34
Ven joined
15:17
zakharyas joined
|
|||
nine | Aaah, it's so obvious! | 15:32 | |
Created a pull request with the fix :) | 15:42 | ||
jnthn | nine: Left a note on the PR; it's not quite complete. Don't have time to address that right now, but will later on today if you don't beat me to it, and merge :) | 15:57 | |
nine | Note: I don't have a commit bit | 15:59 | |
Oh, I should have thought about nativecall_libffi.c, especially since it was the first file I looked at and was confused because it was not even compiled ;) | 16:00 | ||
Pushed another commit with the ported fix | 16:03 | ||
dalek | arVM: fc63808 | niner++ | src/core/nativecall_dyncall.c: Fix temp root stack underflow with exceptions in NC callbacks MVM_gc_root_temp_mark marks the temporary root stack at its current height as the limit for removing all roots. At this point all MVMROOTs have to be in place. Otherwise a MVM_gc_root_temp_pop_all called by MVM_exception_throw_adhoc_free_va will remove not only the temp roots installed by the nested run loop, but also frame roots leading to a possible temp root underflow later on. |
17:24 | |
arVM: 686f994 | niner++ | src/core/nativecall_libffi.c: Port the fix from commit fc63808c9d to nativecall_libffi.c Change the remaining serialization of int to varint. This reduces rakudo core setting size about 11kb. |
|||
jnthn | nine: Thanks! :) In the event you have a golfed test case, feel free to add to Rakudo's nativecall callback tests... | 17:25 | |
JimmyZ | jnthn: any objectiont to my pr? | 17:39 | |
jnthn | JimmyZ: Didn't review it yet, but in principle it's a good idea :) | 18:15 | |
arVM: b996b7b | (Jimmy Zhuo)++ | src/6model/ (15 files): Rename MVM_serialization_read_varint back to MVM_serialization_read_int the old MVM_serialization_read_int function will be removed after next nqp bootstrap. |
|||
MoarVM: b271075 | (Jimmy Zhuo)++ | src/6model/ (15 files): | |||
MoarVM: Rename MVM_serialization_write_varint back to MVM_serialization_write_int | |||
19:13
Ven joined
22:43
Ven joined
|