00:01
colomon joined
00:13
cognome joined
00:16
cognome joined
00:17
cognome_ joined
00:44
cognome joined
00:45
cognome_ joined
01:01
lizmat_ joined
01:18
camelia joined
01:46
cognome joined
02:01
colomon joined
02:13
colomon joined
02:17
JimmyZ joined
|
|||
JimmyZ | Hello, what is callsite intern? | 02:19 | |
02:33
colomon joined
02:46
cognome joined
02:50
mlilenium_ joined,
mlilenium_ left
03:03
JimmyZ_ joined
03:46
cognome joined
03:54
cognome joined
04:45
ggoebel1111118 joined
04:46
cognome joined
05:46
cognome joined
06:28
JimmyZ_ joined
|
|||
nine | TimToady: sudo cpupower frequency-set -g performance # gives stabler benchmark numbers | 06:34 | |
JimmyZ | cpupower doesn't exist on ubuntu ... | 06:35 | |
ok, installing it. | 06:37 | ||
nine | An alternative would be: sudo cpufreq-set -g performance | 06:38 | |
JimmyZ | hmm , I didnt' see -g performance in the man page :( | 06:44 | |
06:46
cognome joined
|
|||
timotimo | JimmyZ: we only generate (or look for?) spesh candidates when we invoke something if the callsite has been interned | 06:54 | |
interning means we stash the callsite in our interning array and have made sure that the pointer points to the interned callsite rather than the one we may have just created | |||
okay, so stuff for today: | 06:57 | ||
- look more closely at how we spesh decont and maybe turn deconts on known container types into a direct pointer lookup | 06:58 | ||
- look more closely at assign and maybe turn assign into assignunchecked and perhaps even into a direct pointer assignment | |||
oh, also: a decont on a code-ish container type (the proxies) could become an invoke directly and then we could inline the little piece of code it has in BOOTSTRAP.nqp | 06:59 | ||
07:01
Ven joined
|
|||
JimmyZ | other quesiont: I see calliste is intened after deserialization, can we intern the callsite before serialization? :0 | 07:02 | |
that is, seriallize the interned calliste :P | 07:03 | ||
timotimo | - run some proper tests to see if (or why not) the invocations from all over our c code get treated by spesh at all | 07:05 | |
07:06
zakharyas joined
07:13
kjs_ joined
07:46
cognome joined
08:04
_sri joined
08:07
_sri joined
08:23
lizmat joined
08:36
woolfy joined
08:46
cognome joined
09:08
FROGGS joined
09:09
Ven joined
09:27
kjs_ joined
09:46
cognome joined
09:53
cognome joined
10:13
flaviusb joined
|
|||
timotimo | guess what was wrong with my trigonometry? | 10:32 | |
i was using the atan function to implement the atan2 op | |||
jnthn | It's broken 'cos you comitted a sin | 10:33 | |
tadzik | *g* | ||
dalek | arVM: eb73c5e | (Timo Paulssen)++ | src/jit/graph.c: atan is a very poor implementation for atan2. |
||
tadzik | even the argument list is different :D | 10:34 | |
gotta love gotos | |||
timotimo | wtf. | 10:47 | |
what, argument list? | |||
OH FFS | |||
thank you | |||
tadzik | :) | 10:48 | |
well, you already fixed it anyway, I think? | |||
timotimo | something else is wrong, too | 10:49 | |
why is this still wrong >:( | 10:50 | ||
ah doh | |||
no, damn, i ah'd too quickly | |||
dalek | arVM: a71fb99 | (Timo Paulssen)++ | src/jit/graph.c: atan2 actually takes two arguments. |
10:53 | |
timotimo | this is still wrong :( | ||
tadzik: tell me what i'm doing wrong :( | |||
i'm staring at the code and can't see what is wrong | 10:54 | ||
tadzik | I woke up at 5 today, I can't help anyone with anything :) | ||
timotimo | :| | 10:55 | |
11:34
kjs_ joined
|
|||
dalek | arVM: ca1f3b2 | (Timo Paulssen)++ | src/jit/graph.c: fix atan2 op; ven++ for tracking this down |
11:40 | |
timotimo | how the fucking fuck can this fix it? | 11:41 | |
Ven | \o/ I fixed it. | 11:42 | |
dalek | arVM: 641391a | (Timo Paulssen)++ | src/jit/graph.c: Revert "fix atan2 op; ven++ for tracking this down" This reverts commit ca1f3b26eaf465880a122d66a43efc5c921d000a. |
11:51 | |
timotimo | something must have been in a weird state before i committed ca1f3b2 | 12:04 | |
because that commit was apparently not necessary | |||
12:04
brrt joined
12:12
JimmyZ joined
12:23
jnthn joined
12:24
nine joined
12:37
brrt joined
12:43
daxim joined
|
|||
dalek | arVM: 256554b | (Timo Paulssen)++ | src/jit/graph.c: fix atan2 and friends for real this time; jnthn++ and nwc10++ |
12:55 | |
jnthn tries building that | 12:56 | ||
13:04
kjs_ joined
|
|||
brrt | yeah, that's a good idea timotimo :-) | 13:17 | |
that should work a bit better | |||
dalek | arVM: 03ac9a7 | (Tobias Leich)++ | src/io/syncfile.c: implement set_separator for syncfiles |
13:21 | |
nwc10 | timotimo++ # fixed | 13:30 | |
timotimo | "a bit"? %) | 13:35 | |
i think it only passed the spec tests on my machine because the right input arguments happened to have been put onto the "floating point stack"-like thing before by other ops (like unbox_n or something) | |||
brrt | that happens often | 13:37 | |
that can be a really annoying way to mask bugs | |||
in fact | |||
i have a blog post about just that | |||
timotimo | oh damn | 13:38 | |
i seem to recall reading that | |||
brrt | :-) | 13:41 | |
timotimo | it's especially annoying because the day before i tried to build neg_n | ||
and had to use the special movsd or whatever instruction | |||
(also, it didn't work out) | |||
brrt | no, neg_n is hard | ||
JimmyZ | looks like some ops which calls MVMROOT is a bit hard to jit, except wrapping them to function? | 13:42 | |
JimmyZ hopes we can jit the MVMROOT too :P | 13:43 | ||
brrt | hmmm | 13:44 | |
let me think about that for a bit | |||
JimmyZ | i.e: add_I etc.. | ||
13:45
kjs_ joined
|
|||
brrt | but yeah... in the general case wrapping-to-function is not going to cost you /that/ much | 13:45 | |
JimmyZ | these ops avoids a MVROOT, by using REGS, since gc updates REGS address. | ||
brrt | yeah, i don't think they need a MVMROOT | 13:47 | |
hmm | 13:49 | ||
basically, this is for stack-variables mostly | 13:50 | ||
i don't really do that often | |||
14:05
kjs_ joined
14:10
lizmat joined
15:29
brrt joined
15:40
woolfy left
16:00
woolfy joined,
woolfy left,
lizmat joined
16:01
kjs_ joined
16:28
cognome joined
20:46
FROGGS joined
20:48
Ven joined
|
|||
timotimo | we could block sigterm with sigprocmask and check for sigterm in the "main thread" and get an actually useful stack trace like people who come from python are used to. | 21:02 | |
except signal(SIGTERM) doesn't wrok | 21:03 | ||
work | |||
21:28
brrt joined
|
|||
brrt | ok, numeric negation is just xor with the highest possible byte | 21:44 | |
22:06
camelia joined
|
|||
dalek | arVM: e75de84 | (Bart Wiegmans)++ | src/jit/ (2 files): Add numeric negation |
23:13 | |
23:13
brrt left
23:38
cognome joined
|