github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
nine And it works! 08:02
Though it doesn't seem to have done anything for performance :(
At least it got rid of those extra QAST::SVals, but there are still 6636 more QAST::Ops than on master (61446 vs 54810). Of course compiling ops takes much more time than just SVals, so the hope for a performance gain is not lost at all. 08:05
Geth MoarVM/nqp-mbc: 25d12cdec6 | (Stefan Seifert)++ | 2 files
Seed the deserialization string heap for getting correct indexes

Originally there were two pieces of code for collecting the string heap: the data serialization (nqp::serialize) and the MAST compiler. The strings collected during serialization were used as seed for the MAST compiler's string heap. MVM_serialization_serialize assumed that it was passed an empty string heap to fill. Since we now assemble bytecode (and the string heap) before serializing data, we have to flip this. Serialization's string heap is now seeded with the bytecode compiler's.
08:24
MoarVM/nqp-mbc: da09a981a6 | (Stefan Seifert)++ | tools/update_ops.p6
Use unbox_u to get at MAST::Local's $!index to avoid the coercion dance
ItchyPlant Hi All! May I ask for help about compiling MoarVM on an AIX 7.1 LPAR? :) 11:35
nine ItchyPlant: of course you may ask! I hope we'll also be able to help 11:36
ItchyPlant The compilation ends up with these errors: 11:39
... 11:40
compiling 3rdparty/libuv/src/unix/thread.o
compiling 3rdparty/libuv/src/threadpool.o
compiling 3rdparty/libuv/src/unix/tty.o
compiling 3rdparty/libuv/src/unix/udp.o
linking 3rdparty/libuv/libuv.a
linking libmoar.so
ld: 0711-317 ERROR: Undefined symbol: .uv__hrtime
ld: 0711-317 ERROR: Undefined symbol: .uv_free_cpu_info
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: error: ld returned 8 exit status
make: *** [Makefile:602: libmoar.so] Error 1
I had to comment out the block about "endian.h" in out the the block in src/strings/siphash/csiphash.h, and also replaced the "STAT" word by something else in src/io/syncfile.c, because the compilation failed in the beginning. Now it compiles for some minutes and ends with the above. 11:43
nine According to their docs, libuv would support AIX 11:44
ItchyPlant the details about how I'm progressed for now can be found also in Reddit: www.reddit.com/r/perl6/comments/9q..._6_on_aix/ 11:45
nine There are some notes however: github.com/libuv/libuv#aix-notes 11:46
ItchyPlant OK, let's see...
the mentioned bos.ahafs is installed already 11:47
and it stops at "linking libmoar.so" 11:48
I also tried with passing the "--static" parameter to Configure.pl and interestingly the compilation passes the libmoar.so, and stops at "linking moar". 11:50
But is it possible to get fully functional Perl 6 on AIX, right? There are notes about it on MoarVM's site at Releases, so I was really excited about it. It is still possible, right? 12:06
jnthn Once you get past having MoarVM linking, then that should be most of the platform-specific stuff. I don't think any of the regular MoarVM developers have AIX access, so I'd not be surprised if some tweaks are needed. 12:22
yoleaux 22 Oct 2018 15:48Z <Xliff> jnthn: Supplier.quit(), instead of note() is crashing MoarVM -- gist.github.com/Xliff/010d1ea5a92e...f0a1b4b77a
Zoffix jnthn \o/ 12:23
You're our only hope :)
jnthn The errors look like missing symbols
Zoffix For R#2400
synopsebot R#2400 [open]: github.com/rakudo/rakudo/issues/2400 [fudged tests committed][regression][⚠ blocker ⚠] Module Crane is failing tests on HEAD
jnthn Zoffix: Uff...that'll be fun :)
Zoffix: I'll try and find time for it tomorrow once I'm home :) 12:24
Zoffix ok, cool 12:25
.tell AlexDaniel FYI: status of the blocker: colabti.org/irclogger/irclogger_lo...-10-24#l77
yoleaux Zoffix: I'll pass your message to AlexDaniel.
AlexDaniel . 13:01
yoleaux 12:25Z <Zoffix> AlexDaniel: FYI: status of the blocker: colabti.org/irclogger/irclogger_lo...-10-24#l77
ItchyPlant OK, thank you for your help so far, I'll check in sometimes and surely be back if the AIX compilation will be ever successful. Bye :) 15:30
ugexe github.com/libuv/libuv/issues/2048 -- win: uv_fs_XXX lossily decoding invalid UTF-16 filenames / paths 17:05
interesting issue
WTF-8 (Wobbly Transformation Format − 8-bit) 17:08
nine The coerce_iu and coerce_ui expr JIT templates are definitely broken. 17:42
Geth MoarVM/nqp-mbc: 39 commits pushed by (Stefan Seifert)++
review: github.com/MoarVM/MoarVM/compare/d...6a697fd440
17:48
nine timotimo: Writing profiler output to profile.sql 18:03
bloop?
I'm not gonna paste the ~ 1 million more bloop?s :) 18:04
timotimo whoops :) 18:21
i didn't mean to commit that
but it's completely harmless
nine timotimo: DBDish::SQLite: Error: no such column: parent_thread_id (1) 19:43
timotimo: btw I'm running with this patch to actually get output from --profile-stage in CORE.setting compilation: gist.github.com/niner/b03b60b8af77...fa3cb2c5e1 19:46
timotimo did you get both the branches i told you about? 20:26
actually, parent_thread_id is totally uninteresting to the frontend at the moment
so you can just throw it out of the sql query in ProfilerWeb.pm6
nine I did so and it worked :) 21:19
And it showed me exactly where the superfluous QAST::Ops were coming from - I misread some code and accidentally removed an optimization. Easily fixed :) 21:20
Current numbers for stage mast: 12.133s on nqp-mbc vs. 11.576s on master
timotimo \o/ 21:21
fantastic
how does gc usage compare?
probably just compare number of gc runs during that stage?
nine 246 collections on nqp-mbc vs 267 on master 21:27
niner.name/files/profile.sql.zst and niner.name/files/profile-master.sql.zst if you want to play with them 21:28
timotimo how big is the difference in time spent in gc? 21:32
timotimo i'll have to build my own micro-ORM to handle different versions of the sql schema without hundreds of hours of tedium :) 23:40