github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
01:03
squashable6 left
01:05
squashable6 joined
01:12
squashable6 left
01:14
squashable6 joined
01:36
vrurg joined
04:41
statisfiable6 left,
bloatable6 left,
unicodable6 left,
releasable6 left,
reportable6 left,
benchable6 left,
quotable6 left,
greppable6 left,
committable6 left,
squashable6 left,
coverable6 left,
nativecallable6 left,
shareable6 left,
notable6 left
04:42
notable6 joined,
committable6 joined,
reportable6 joined
04:43
evalable6 joined,
tellable6 joined,
releasable6 joined,
unicodable6 joined,
greppable6 joined,
quotable6 joined,
nativecallable6 joined
04:44
benchable6 joined,
shareable6 joined,
squashable6 joined,
statisfiable6 joined,
coverable6 joined,
bloatable6 joined
07:06
sena_kun joined
09:05
robertle_ joined
09:07
Altai-man_ joined
09:09
sena_kun left
10:06
patrickb joined
10:31
vesper11 joined
11:08
sena_kun joined
11:10
Altai-man_ left
13:07
Altai-man_ joined
13:09
sena_kun left
13:25
robertle_ left
13:26
robertle_ joined
14:03
AlexDaniel` joined
14:11
lucasb joined
15:08
sena_kun joined
15:09
Altai-man_ left
16:05
robertle_ left
16:38
patrickb left
17:07
Altai-man_ joined
17:09
sena_kun left
17:44
MasterDuke left
|
|||
lucasb | moar? :) | 17:50 | |
18:06
Altai-man_ left
18:10
sena_kun joined
18:11
sena_kun left
18:14
patrickb joined
18:29
sena_kun joined
18:31
sena_kun left
18:35
sena_kun joined
18:36
sena_kun left
18:43
vrurg left
18:44
vrurg joined
18:58
vrurg left,
vrurg joined
19:23
squashable6 left
19:25
squashable6 joined
20:20
brrt joined
|
|||
brrt | \o | 20:24 | |
(this is an invitation to spam me with jitbreakage) | 20:25 | ||
no jitbreakage? hmmm | 20:29 | ||
20:42
MasterDuke joined
|
|||
dogbert17 | brrt: I'm not certain I have any atm | 21:10 | |
brrt | hehe | 21:11 | |
that's good | |||
MasterDuke | but if you have any ideas of how to jit param_rn2_*... | 21:15 | |
brrt | ok, I'll explain the difficulty there | ||
- on the one side, they tend to be evidence that we weren't able to sufficiently spesh this method.... and it's (so far) proven more worthwhile to figure out why that is, than to JIT them. that's also because... | 21:16 | ||
- they rely on the interpreters' somwehat arcane logic for making sure that when the callee expects a native int, it gets a native int, even if e.g. the caller passed a string | 21:17 | ||
N years in, I'm not super convinced that was a good design choice. It's not a bad one per se, and it fits the perl community's preference for TIMTWTDI, but if we had, say, exposed only object passing to the compiler, and implemented native value passing strictly as a specialization, I wonder if we'd have a better, simpler system | 21:19 | ||
dogbert17 | brrt: is this function work in progress? github.com/MoarVM/MoarVM/blob/mast...ers.c#L387 | ||
brrt | (either that, or if we had passed it to the caller's side, where I think it belongs logically) | ||
MasterDuke | hm. any idea what's blocking them being speshed then? | 21:20 | |
brrt | dogbert17: idk, I didn't write them | ||
dogbert17 | aha | ||
brrt | MasterDuke: they return a struct that holds a union of the result value, and whether or not it was present, and that's then used to dispatch to either an exception or a branch (for the _op_, _on_ variants) | 21:21 | |
dogbert17 | it seems to be timotimo | ||
or possibly one of his cats :) | 21:22 | ||
brrt | and struct returning tends to differ a bit between compilers... or at least, it isn't as obviously well-specified as scalar | ||
I think the common pattern is to have the lower bits on rax, and the upper bits in rcx | 21:23 | ||
If I could find some evidence that this was actually what was specified and guaranteed, then I could move forward with implementing it. but I haven't found that evidence | |||
MasterDuke | huh | 21:24 | |
dogbert17 | There are a few places in the codebase where the result of uv_mutex_init isn't checked. Couldn't that be a problem? | 21:36 | |
brrt | I think it might. Can we handle the problem if it is? | 21:38 | |
(and if not, can we move the uv_mutex_init to a place where we can handle the problem?) | |||
21:38
patrickb left
|
|||
dogbert17 | where the return value is checked we abort | 21:38 | |
brrt | hmmm | ||
that sucks | |||
I think we should abort for internal errors only | 21:39 | ||
dogbert17 | aha, here's an example where we check: github.com/MoarVM/MoarVM/blob/mast...ueue.c#L27 | ||
brrt | yeah, that seems correct | ||
constructing an object is not an obvious place to throw, but it is definitely not outside the realm of the possible | 21:40 | ||
and an adhoc exception can be caught | |||
an abort() cannot | |||
dogbert17 | my bad, I shouldn't have written abort | ||
here's an example of not checking: github.com/MoarVM/MoarVM/blob/mast...Unit.c#L28 | 21:41 | ||
brrt | interestingly, we can't throw there | 21:42 | |
because it'd interfere with the temp-roots popping | 21:43 | ||
22:24
Kaiepi left,
Kaeipi joined
23:09
brrt left
23:51
lucasb left
|