diakopter | timotimo: thanks for the link | 00:45 | |
timotimo | YW | ||
01:48
ilbot3 joined
05:35
domidumont joined
05:40
domidumont joined
06:15
domidumont joined
06:52
domidumont joined
|
|||
nwc10 | good *, #moarvm | 07:18 | |
07:40
brrt joined
|
|||
brrt | good * #moarvm | 07:50 | |
jnthn | moarning o/ | 08:08 | |
brrt | jnthn, how worthwhile do you think it will be to allow the interpreter to get the JIT entry label? | 08:30 | |
eh, well, to be exact | 08:31 | ||
jnthn | brrt: Can it not today? :) | ||
brrt | very well | ||
:-) | |||
busy day today? | |||
jnthn | heh, that wasn't the parse I expected :P | ||
"Can the interpreter not already discover that today?" :) | 08:32 | ||
->jit_entry_label on frame or so | |||
I should probably have waited for the more exact :) | 08:33 | ||
brrt | oh, that way | ||
yeah, it can | |||
what i mean is, it would be nice if the JIT didn't have to do the bookkeeping, but the interpreter could call a function (downstack from the JIT), which would give you that offset, just from the return address of the function | 08:34 | ||
i.e. MVM_jit_get_reentry_label(MVMThreadContext *tc, void *jit_code_base, size_t jit_code_size) | |||
the downside is that we would have to compile with -fno-omit-frame-pointer | 08:35 | ||
and the equivalent in MSVC | |||
i can write that function is assembly easily enough | |||
getting it to link correctly on multiple platforms, that is one minor annoyance | |||
jnthn | How much of a saving do you think it would be? | 08:36 | |
brrt | i don't know. we currently insert 'store reentry labels' every basic block, every invokish, every throwish thing | ||
even if they may not throw or invoke at all | 08:37 | ||
jnthn | I'm assuming -fno-omit-frame-pointer costs a little bit too, though maybe not so much on x64 as on x86... | ||
brrt | that is quite a bit of memory traffic | ||
jnthn | Since the former is less register starved | ||
brrt | agreed | ||
only way to know is to measure i think.... | |||
jnthn | And since we don't JIT on x86 we could only set the flag on x64 | ||
brrt | it might hurt the interpreter a bit, but i don't know that | 08:38 | |
how much | |||
jnthn | Yeah. It's hard to guess these things, but while it may be quite a bit of memory traffic, it's also (a) likely to be a cache hit most of the time, and (b) doens't have a data dep | 08:40 | |
brrt | also gtrue | ||
same is true for stack walking of course | 08:41 | ||
08:58
zakharyas joined
|
|||
brrt | i wonder if there is a practical way to make cross platform c-linkable assembly | 09:09 | |
09:10
brrt joined
11:49
zakharyas joined
12:52
_longines joined
12:59
cognominal joined
15:09
zakharyas joined
17:39
domidumont joined
18:23
FROGGS joined
20:05
zakharyas joined
22:03
LLamaRider joined
|