00:39 vendethiel joined 01:06 vendethiel joined 01:31 vendethiel joined 01:47 ilbot3 joined 02:38 vendethiel joined 03:02 vendethiel joined 05:37 vendethiel joined 05:48 arnsholt_ joined 05:49 BinGOs_ joined 06:00 BinGOs joined 07:06 lue joined
dalek arVM: 1b28af6 | nicholas++ | src/6model/serialization.c:
Read the serialized reference type discriminator with read_discrim().

This is the first stage of refactoring to permit storing the discriminator in one byte, not two.
The reference type discriminator is the only thing written and written as a 16 bit quantity. For now, keep read_int16() for the read of the discriminator that happens as part of *writing* the serialization blob.
08:25
arVM: 6433def | nicholas++ | src/6model/serialization.c:
Refactor read_discrim() to take thread context and serialization reader as args.

Store the serialized reference type discriminator in 1 byte, not 2.
This shrinks CORE.setting.moarvm by 5% (568K). It's now just over 11M.
  (We serialize a lot of references. 582038 to be exact, at the time of writing.)
nwc10 in the end, I'm not sure how exact my exact was. But it was consistent with the size drop :-) 08:26
jnthn++ # checking my stuff
08:27 vendethiel joined
jnthn I *think* I have all of your Moar/NQP patches merged by now :) 08:27
nwc10 all the ones I've written and pushed
jnthn Also, this remote workflow works much better for me than email 08:28
nwc10 (it looks like it. I'll check soon, but the directory that it's easiest to use for that is busy doing more work)
cool
I just have to remember not to yank the rug from under you by force pushing a change while you're busy looking at the old one
jnthn *nod* 08:30
Leaving me with rebasing work to do is OK.
dalek arVM: 551e211 | jnthn++ | src/6model/serialization.c:
Add missing IS_CONCRETE checks in serialization.

We likely should not have gotten away with these before now; they can lead to illegal memory reads.
08:31
arVM: 42342d3 | jnthn++ | src/6model/reprconv.c:
Make unbox int/num/str functions test IS_CONCRETE.

We were failing to do this check in most places that called these functions, so it makes sense to move the check inside of them to fix the existing bugs and prevent a bunch of new and similar ones.
08:33
arVM: 1055bb7 | jnthn++ | src/core/args.c:
Remove duplicate IS_CONCRETE check.

Now that we moved this into the unbox functions themselves, we do not need to repeat it in args processing.
08:36
nwc10 jnthn: yes, I think they're all there. Thanks 08:37
08:54 lizmat joined 09:08 lizmat joined
timotimo nwc10: i like your ~5% decrease 10:11
much fewer zeroes everywhere i bet
jnthn: +1/0/-1 on merging devirt_repr_ops into master? 10:12
jnthn 0; I'd like to review it first. 10:13
timotimo sure 12:55
on my machine it passed spec tests, but it wasn't a big speed increase, sadly
... -Wpedantic does not help me figure out if this will build on msvc or not 13:10
a hundred million times warnings like src/gc/orchestrate.h:14:29: warning: comma at end of enumerator list [-Wpedantic] 13:11
for example
13:27 colomon joined 13:50 zakharyas joined
vendethiel timotimo: is moarvm c99 or c89? 15:19
jnthn C89
vendethiel ah, that explains the warning then
vendethiel wrote the most basic possible VM in C (89) last week, and is very happy not having to maintain one...:) 15:20
(even if I don't doubt moarvm's code to be literally a hundred times better than mine...) 15:21
dalek arVM: 23e9c98 | jnthn++ | tools/ucd2c.pl:
Have Unicode DB generator emit NFC lookup table.

These will be used in computing NFC/NFKC.
15:35
arVM: b1e3ead | jnthn++ | src/strings/unicode_db.c:
Update generated Unicode DB to have NFC tables.
arVM: dadde5a | jnthn++ | src/strings/unicode (2 files):
Implement codepoints -> primary composite lookup.
15:38
arVM: febd736 | jnthn++ | src/strings/normalize.c:
Implement most of Unicode canonical composition.

Used by NFC and NFKC. Known to be missing the Hangul special cases, which is the likely reason for the remaining Unicode normalization test failures.
15:50
arVM: 117cea2 | jnthn++ | src/strings/normalize.c:
Factor out Hangul constants.

So we can use them during canonical composition too.
16:31
arVM: 3f29518 | jnthn++ | src/strings/normalize.c:
Implement Hangul part of canonical composition.
jnthn Neat, we pass all 74,324 test cases from NormalizationTests in the Unicode 7 spec. 16:32
dinner & 16:47
vendethiel jnthn++ # great work, as always :o) 16:51
16:52 camelia joined 17:17 zakharyas joined 18:53 brrt joined
brrt \o 18:54
timotimo o/ 19:10
brrt: did you see what sillyness i had done wrong in the devirt reprop branch?
brrt no
i did not
i'll go fetch it
timotimo it's embarassing, really :) 19:11
brrt i'm assuming you mean exchanging pop and push 19:13
that's not embarassing, that just happens :-)
that branch does still contain the patch i thought was unworthy :-P 19:16
although it is correct 19:17
and i'm wondering if we can't / shouldn't push that up somewhere in the chain
timotimo yes, i can still cut that out, no problem
dalek arVM/jit_devirtualize_reprops_3: 02ee703 | timotimo++ | src/jit/emit_x64.dasc:
Revert "special case initial TC and STable, obj, objbody cases in jit"

This reverts commit a185b28d3d214afd4f648019a56dacdcabd1c50d.
19:19
brrt wants this: lvalsan.web.cern.ch/lvalsan/process...rm_systems 19:30
40W for 8 cores @ 2,4Ghz is pretty awesome 19:31
timotimo: do you notice any speedups yet?
timotimo++ btw :-)
it's AArch64 btw 19:33
timotimo the speedups were qiute sad 19:35
for a spec test run, that is
brrt hmm 19:36
20:43 cognominal joined
brrt afk 21:05
22:20 vendethiel joined 23:05 vendethiel joined