Camelia, the Perl 6 bug

IRC log for #moarvm, 2013-10-05

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:34 JimmyZ TimToady: I got new ext name: .mbs Moar Byte[code] Stream
01:34 JimmyZ Moar bytes sequence
01:35 benabik joined #moarvm
01:40 FROGGS_ joined #moarvm
02:12 colomon joined #moarvm
02:20 dalek MoarVM/moar: a04674a | jimmy++ | / (96 files):
02:20 dalek MoarVM/moar: s/moarvm/moar/ for most places.
02:20 dalek MoarVM/moar: This builds moar binary on POSIX systems or moar.exe on Windows.
02:20 dalek MoarVM/moar: review: https://github.com/MoarVM/MoarVM/commit/a04674a71c
02:22 JimmyZ .tell jnthn Please review https://github.com/MoarVM/MoarVM/commit/a04674a71c, thanks :P
02:22 yoleaux JimmyZ: I'll pass your message to jnthn.
02:42 TimToady JimmyZ: this all started with me hating the term "bytecode"
02:47 JimmyZ oh
02:48 JimmyZ Moar ByteStream
02:48 TimToady it's the "byte" part I most dislike
02:53 JimmyZ Moar Binary Stream
02:54 TimToady there are many kinds of binary streams that have nothing to do with machine code...
02:54 TimToady so it's a bit generic
02:55 JimmyZ well, chinese people don't like BS, the some special chinese culture
02:57 foo_bar_baz joined #moarvm
03:33 japhb joined #moarvm
03:51 japhb joined #moarvm
06:59 patspam joined #moarvm
07:13 * ingy is post-moartem
07:24 FROGGS_ TimToady: what about .mar - Moarvm ARchive
09:26 dalek MoarVM/ext: c2efaad | (Gerhard R)++ | / (18 files):
09:26 dalek MoarVM/ext: Start implementing DLL support
09:26 dalek MoarVM/ext:
09:26 dalek MoarVM/ext: Symbols are still stubbed.
09:26 dalek MoarVM/ext: review: https://github.com/MoarVM/MoarVM/commit/c2efaad0df
09:26 dalek MoarVM/ext: 0551ac5 | (Gerhard R)++ | / (6 files):
09:26 dalek MoarVM/ext: Implement DLL symbols
09:26 dalek MoarVM/ext: review: https://github.com/MoarVM/MoarVM/commit/0551ac5fb6
09:26 dalek MoarVM/ext: d6227fc | (Gerhard R)++ | src/ (3 files):
09:26 dalek MoarVM/ext: Improve naming
09:26 dalek MoarVM/ext: review: https://github.com/MoarVM/MoarVM/commit/d6227fc454
09:26 dalek MoarVM/ext: 60c7254 | (Gerhard R)++ | / (14 files):
09:28 not_gerd joined #moarvm
09:28 not_gerd o/
09:32 FROGGS hi not_gerd
09:35 not_gerd plans for this weekend: 3rd (4th? - hopefully last) refactor of ctypes
09:35 not_gerd after that, extension ops
09:37 jnthn JimmyZ: looks fine to me, didn't try building it yet
09:37 yoleaux 02:22Z <JimmyZ> jnthn: Please review https://github.com/MoarVM/MoarVM/commit/a04674a71c, thanks :P
09:44 not_gerd jnthn: question about REPR naming conventions:
09:44 not_gerd why do we have MVMString on Moar but VMString on JVM?
09:45 not_gerd and what should DLLSym be called - DLLSym, VMDLLSym or MVMDLLSym
09:46 grondilu joined #moarvm
09:47 jnthn Where do you find VMString, ooc?
09:48 jnthn On JVM it's just the String type
09:49 not_gerd s/VMString/VMArray/, then
09:49 jnthn Yeah, but it's called VMArray on moar too
09:49 jnthn At least, that's the user-facing name it's registered under.
09:50 jnthn In general, those registered with a prefix of MVM are specific to MoarVM
09:50 jnthn That is, you can't expect another backend to provide them
09:50 not_gerd should the MVM_REPR_ID_* be made to match the names?
09:50 not_gerd that'S where my confusion came from
09:54 jnthn Yeah, those can match the name it's registered under too
09:54 jnthn Only thing that I think we have inconsistent is prefixing anything exposed in a .h file with MVM so we only nab one prefix.
09:55 not_gerd makes sense MVMVM is a mouthful
09:55 jnthn Aye :)
09:56 not_gerd we could change the prefix to Moar and do the explicit double prefix for internal types - MoarMoarString ;)
09:57 jnthn :P
10:12 not_gerd jnthn: https://github.com/MoarVM/MoarVM/issues/59
10:12 jnthn yeah, just read it in email
10:12 jnthn that captures my thoughts on it nicely
10:14 dalek MoarVM: d995b33 | jimmy++ | / (96 files):
10:14 dalek MoarVM: s/moarvm/moar/ for most places.
10:14 dalek MoarVM: This builds moar binary on POSIX systems or moar.exe on Windows.
10:14 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/d995b33068
10:17 jnthn hm, wtf... Just did a selftest, building with latest NQP, and got a bunch of failures...
10:19 JimmyZ nqp-cc]# make
10:19 JimmyZ /usr/local/bin/nqp --target=pir --setting=NULL --stable-sc --output=NQPCOREMoar.setting.pir nqp-src/NQPCORE.setting
10:19 JimmyZ Confused at line 621, near "IO Methods"
10:19 jnthn That just means too old nqp
10:20 * not_gerd got a clean selftest with nqp 2013.09-50-gc6320d3
10:20 not_gerd before thes/moarvm/moar/, that is
10:22 jnthn Yeah, I got 2013.09-117-g959d4c6 here
10:24 not_gerd btw, selftest now creates a non-ignored nqp-cc/tmp file
10:24 jnthn I guess there are things going on to do with recent grammar changes as part of the cursless work
10:30 jnthn ah, just needed to sync latest NQP changes
10:48 dalek MoarVM: a3baf8c | jnthn++ | nqp-cc/t/nqp/ (6 files):
10:48 dalek MoarVM: Sync test files from t/nqp repo.
10:48 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/a3baf8c2df
10:48 dalek MoarVM: 3f1c266 | jnthn++ | nqp-cc/nqp-src/ (4 files):
10:48 dalek MoarVM: Sync with latest NQP.
10:48 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/3f1c266cf6
10:48 dalek MoarVM: f53577b | jnthn++ | nqp-cc/tools/build/NQP_REVISION:
10:48 dalek MoarVM: Bump NQP_REVISION to latest.
10:48 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/f53577bfad
10:48 dalek MoarVM: 036b8f4 | jnthn++ | nqp-cc/t/nqp/8 (2 files):
10:48 dalek MoarVM: Add 2 new t/nqp tests from main NQP repo.
10:48 dalek MoarVM:
10:48 dalek MoarVM: One passes right off, the other needs work.
10:48 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/036b8f40ae
10:54 jnthn JimmyZ: Things work fine here after the rename
10:54 JimmyZ great
10:58 JimmyZ jnthn: Do we want travis-ci?
10:59 moritz parrot's experience with travis CI was that it was full of noise and false positives
10:59 moritz maybe it improved since then
11:01 JimmyZ it's easy to be improved
11:02 JimmyZ i.e: only be noticed here when build status only changed or only failed
11:12 jnthn JimmyZ: Not yet; maybe after we have a top-level test target figured out
11:14 JimmyZ ok :-)
11:16 not_gerd I could add a test target that builds nqp-cc and runs selftest
11:16 not_gerd however, I suspect sson-ish the logic would need to be turned inside-out
11:16 jnthn Right :)
11:16 not_gerd (ie NQP triggering MOarVM build)
11:16 jnthn So it'd be throwaway :)
11:16 jnthn And we've enough non-throwaway things to do ;)
11:16 not_gerd *soon-ish
11:23 jnthn arrgh
11:24 jnthn I found the cause of the "MVMHash representation requires MVMString keys" issue
11:24 jnthn It was as silly as I'd expected
11:25 dalek MoarVM: 0911768 | jnthn++ | src/6model/serialization.c:
11:25 dalek MoarVM: Use correct type object for serialize result.
11:25 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/0911768bad
11:26 not_gerd git agrees - that was bad and even gave it an appropriate sha
11:27 JimmyZ hehe
11:28 jnthn :D
11:30 dalek MoarVM: b03f381 | jnthn++ | src/core/bytecode.c:
11:30 dalek MoarVM: Avoid reading uninitialized memory.
11:30 dalek MoarVM:
11:30 dalek MoarVM: Could happen if we did error reporting early enough in bytecode reads.
11:30 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/b03f3816b9
11:30 dalek MoarVM/pointers: 66dc88f | (Gerhard R)++ | src/6model/reprs/MVMDLLSym.c:
11:30 dalek MoarVM/pointers: Make DLLSym unbox to int
11:30 dalek MoarVM/pointers: review: https://github.com/MoarVM/MoarVM/commit/66dc88f5fd
11:30 dalek MoarVM/pointers: a466609 | (Gerhard R)++ | / (7 files):
11:30 dalek MoarVM/pointers: Implement UnsafePtr
11:30 dalek MoarVM/pointers: review: https://github.com/MoarVM/MoarVM/commit/a466609a82
11:30 dalek MoarVM/pointers: db4f314 | (Gerhard R)++ | / (7 files):
11:30 dalek MoarVM/pointers: Implement MemBlob
11:30 dalek MoarVM/pointers: review: https://github.com/MoarVM/MoarVM/commit/db4f3143d8
11:33 colomon joined #moarvm
11:39 jnthn yays
11:39 jnthn C:\consulting\MoarVM\nqp-cc>..\moar.exe nqp.moarvm --target=mbc --output=x.moarvm -e "say(42)"
11:39 jnthn C:\consulting\MoarVM\nqp-cc>..\moar.exe x.moarvm
11:39 jnthn 42
11:39 FROGGS jnthn++ # fixing the sillyness :o)
11:40 FROGGS cool!!
11:40 dalek MoarVM: c35115b | jnthn++ | src/mast/driver.c:
11:40 dalek MoarVM: Don't pretend bytecode is ASCII.
11:40 dalek MoarVM:
11:40 dalek MoarVM: Otherwise it *will* be corrupted. :-) With this, --target=mbc will now
11:40 dalek MoarVM: write a bytecode file that will run standalone.
11:40 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/c35115b715
11:40 JimmyZ .oO(moar is executing an moarvm...)
11:40 FROGGS seems like an successful-starting weekend
11:41 FROGGS for example my wife's shop is now capable of handling paypal payments since an hour!
11:42 jnthn yay :)
11:42 FROGGS took quite some time to understand what needs to be done :o)
11:42 FROGGS (Dancer++ btw)
11:43 jnthn FROGGS: Gee, been a while since I did PayPal integration :)
11:43 FROGGS yeah, I usually avoid doing webstuff these days... but I can't say no to my wife :o)
11:43 jnthn ;)
11:44 FROGGS and the shop is le awesome, took just about ten evenings so far
11:44 FROGGS (from zero to paypal)
11:44 jnthn Cool
11:46 FROGGS but let's build moarvm now :o)
11:46 grondilu FROGGS: no prestashop?
11:47 FROGGS grondilu: no, selfhacked
11:48 grondilu with client database and all??
11:49 FROGGS no, no client db
11:50 FROGGS we just take the info from paypal
11:51 FROGGS (I don't expect more than five orders a day)
11:52 grondilu well, considering prestashop is written in PHP, I understand why you may have prefered cook your own solution.  Maybe someday someone will release a full open-source e-commerce solution in Perl 6.
11:53 FROGGS grondilu: well, I guess the reason was that I didn't think about looking for another shop at all
11:54 jnthn bbiab
12:16 diakopter :-)
13:27 dalek MoarVM/ext: d995b33 | jimmy++ | / (96 files):
13:27 dalek MoarVM/ext: s/moarvm/moar/ for most places.
13:27 dalek MoarVM/ext: This builds moar binary on POSIX systems or moar.exe on Windows.
13:27 dalek MoarVM/ext: review: https://github.com/MoarVM/MoarVM/commit/d995b33068
13:27 dalek MoarVM/ext: a3baf8c | jnthn++ | nqp-cc/t/nqp/ (6 files):
13:28 dalek joined #moarvm
13:43 not_gerd bye, #moarvm
13:43 FROGGS jnthn: t/nqp/19 just fails because it tests for a CREDIT file, which is in a different path in the moarvm repo
13:43 not_gerd .oO( or should that be #moar now? )
13:44 FROGGS *g*
13:44 not_gerd left #moarvm
13:57 _ilbot joined #moarvm
13:57 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
14:02 FROGGS about `make install`: moar + all dynamically linked libs need to land in --prefix, right?
14:13 benabik joined #moarvm
14:17 jnthn Probably in a bin/ under prefix, yeah
14:17 FROGGS yeah, right
14:18 jnthn .oO( is that the sarcastic "yeah, right"? :P )
14:18 FROGGS that makes me fear about rpath under Mac/BSD's >.<
14:19 FROGGS jnthn: no, just a lazy sleepily one
14:19 jnthn hm
14:19 jnthn I've no idea how those work :P
14:19 FROGGS nobody has *g*
14:19 jnthn I just know that Mac seems to be super super special when it comes to linking ;)
14:20 FROGGS the good thing is that I have all these platforms here... prepared with git and make-toolchains
14:20 jnthn \o/
14:31 FROGGS wow, do we build all 3rd-party libs statically?
14:31 FROGGS that means we won't have problems at all
14:34 jnthn ;-)
14:34 jnthn sysadmins may have problems with *us*, but yes, we can skip having that class of problems for now :)
14:44 dalek MoarVM: 6604ed7 | jnthn++ | nqp-cc/ (4 files):
14:44 dalek MoarVM: Eliminate .class/:jvm hacks.
14:44 dalek MoarVM:
14:44 dalek MoarVM: Bumps NQP_REVISION to get an NQP with :moar options in QAST::VM.
14:44 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/6604ed79ae
14:47 benabik Oh, my GC segfault in selftest went away.  So that's good.
14:47 jnthn No, that just means it's a heisenbug :(
14:47 diakopter benabik: I thought it was on my gcorch branch
14:47 benabik diakopter: Nope, master.
14:48 benabik Well, it was segfaulting reliably until I pulled latest.
14:48 TimToady .oO(a gcorched earth policy)
14:48 diakopter I gcoff in your general direction
14:49 * TimToady 's garbage starts to accumulate
14:52 benabik When did camelia learn nqp-moar and does this mean she'll be on this channel soon?
14:53 dalek MoarVM/make_install: 1f105f2 | (Tobias Leich)++ | / (2 files):
14:53 dalek MoarVM/make_install: added make install target
14:53 dalek MoarVM/make_install: review: https://github.com/MoarVM/MoarVM/commit/1f105f2e27
14:53 diakopter "my list of things that suck would not be complete without mentioning Perl's garbage collection, which by the way, sucks" - mjd just now
14:55 benabik Refcounting with M&S for circular refs?  Not the worst thing ever (in concept, no comment on implementation)
14:55 diakopter [paraphrased] "Moose is kindof a wash....... except for Roles; Roles are awesome"
14:56 benabik Is mid giving a talk somewhere?
14:56 benabik s/i/j/
14:56 diakopter yes, http://pghpw.org/ppw2013/talk/5097
14:57 benabik One of these days I should go to PPW.  It's close enough to be reasonable.  (Far enough to be a pain.)
14:57 diakopter you can make it by tomorrow
14:58 JimmyZ when I saw '<title>PostgreSQL: The world's most advanced open source database</title>' in postgresql.org, I was thinking about '<title>MoarVM: The world's most advanced open source Virtual Machine</title>'
14:59 diakopter .. it's far from that :P
14:59 benabik There's not a lot of good OSS VMs.
15:00 diakopter general purpose? mono is extremely good.
15:00 benabik I might be able to make PPW by the end of the day if I left now.  I think there would be a few objections to that.
15:00 diakopter but mono's problem is the tens of thousands of open bug reports
15:00 JimmyZ mono has no NFG
15:00 jnthn Nor has Moar yet :P
15:00 JimmyZ hehe
15:01 jnthn Though we probably still get strings less wrong already :)
15:01 JimmyZ we have an NFG branch
15:01 jnthn Yeah. And we don't have a screwed up "UTF-16 16-bit thingies are characters, right?" model.
15:02 benabik I suppose I shouldn't forget mono, as it runs a couple of my favorite games.  :-D
15:02 * grondilu wonders what is an "advanced" virtual machine.  Seems very subjective to him.
15:08 timotimo diakopter: when did mono get "extremely good"?
15:08 timotimo diakopter: i mostly hear "OMG MONO SUX!!!kkk" out in the wild, but i have no idea if the people who say that can be trusted on that
15:09 ingy morning o/
15:10 benabik Given its wide use in Unity, mono seems Good Enough(tm).
15:10 ingy timotimo: have you been using mono?
15:10 TimToady you seem to assuming that Unity is Good Enough(tm) :P
15:10 TimToady *to be, or not to be
15:11 timotimo i have not
15:11 ingy Unity is good enough reason to use Gnome3 :D
15:11 benabik Well Unity is good enough to run CW3 and KSP, so it's good enough for me.  :-)
15:11 TimToady there is that
15:11 timotimo i'm pretty sure benabik wasn't refering to the unity thing canonical made
15:11 ingy oh sorry
15:12 * TimToady was referring to the canonical thing
15:12 ingy anyway timotimo I need some help using nyaml with mono
15:12 ingy nyaml is a c# impl
15:13 timotimo i was considering learning c# to get into game development (but not unity or anything like that)
15:13 ingy but I don't know anything about how you compile or run csharp
15:13 * benabik double clicks on the game.  That seems to work.
15:13 benabik (For running C# anyway)
15:14 ingy benabik: what do you mean?
15:14 diakopter ingy: think C++, but readable
15:14 FROGGS jnthn: `make install` currently only installs moar, the binary... do we need something else?
15:14 benabik ingy: Several of my games are written in C#.  Running them seems easy enough.
15:14 jnthn FROGGS: nafaik
15:15 FROGGS jnthn: seems to work on linux+windows
15:15 FROGGS otwfm :P
15:15 timotimo benabik: can i look at some sauce?
15:15 diakopter -_-
15:15 benabik timotimo: Retail games, sorry.  :-/
15:16 timotimo oh
15:16 timotimo that's fair ;)
15:16 benabik Although there are source-available plugins for KSP.  Including one that's a scripting language...
15:18 jnthn FROGGS: Looks fine, feel free to merge
15:18 ingy echo 'Console.WriteLine ("hello");' | csharp
15:18 ingy ^^ I got that to work
15:18 diakopter ingy: yep it has a faked-up repl thingy
15:19 ingy but I'd like to install the nyaml "module" and run some one liners on it
15:19 ingy diakopter: you used mono at all?
15:19 diakopter yes
15:19 ingy oh sweet
15:19 ingy I'll bug you then
15:19 dalek MoarVM: ee94a4d | (Tobias Leich)++ | / (2 files):
15:19 dalek MoarVM: added make install target
15:19 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/ee94a4d43b
15:19 diakopter I'll debug you then
15:19 ingy after my bike training ride
15:20 ingy bbi3h
15:20 ingy &
15:20 TimToady .oO(ingy is training bikes?)
15:21 FROGGS yeah, train it some respect!
15:21 jnthn Probably safer than biking trains...
15:25 arnsholt joined #moarvm
15:46 jnthn FROGGS: hmm...if I --prefix=install it ignores it
15:47 jnthn FROGGS: and always puts it directly in ./bin
15:49 FROGGS hmmm
15:49 FROGGS ahh, I know why
15:52 dalek MoarVM: 64fd905 | (Tobias Leich)++ | Configure.pl:
15:52 dalek MoarVM: actually take --prefix into acount
15:52 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/64fd905325
15:52 JimmyZ hmm, look like install: before all: Makefile will make `make` always install
15:53 FROGGS ohh
15:53 JimmyZ s/Makefile/in Makefile
15:53 JimmyZ /
15:53 jnthn d'oh, yes...
15:54 FROGGS I didn't know that the first rule is takes by default... I thought 'all' was magical
15:54 JimmyZ I tought 'inst all' is the magical, hah
15:54 JimmyZ *thought
15:55 dalek MoarVM: 83a2a67 | (Tobias Leich)++ | build/Makefile.in:
15:55 dalek MoarVM: let "all" be the default rule, JimmyZ++
15:55 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/83a2a678ec
15:55 diakopter jnthn: can roles "does" other roles?
15:57 jnthn diakopter: yeah
15:57 FROGGS ahh, I am missing all the fun when I lurk here exclusively
15:57 jnthn diakopter: Though it's just a "oh btw I do this other role" until you actually have a class somewhere
15:59 diakopter stevan is putting abstract classes in p5-mop just so they can be named as nouns instead of behaviors
16:01 diakopter jnthn: see what I mean?
16:02 jnthn kinda-ish..
16:02 jnthn Though I very rarely use abstract classes in languages that provide them.
16:03 jnthn Not sure they pull their weight.
16:03 diakopter yeah it definitely adds unneeded complexity to p5-mop, imho
16:03 jnthn Well, if it's being facotred anything like 6model it shouldn't be core.
16:03 jnthn It's just another meta-object.
16:04 jnthn Oh, I guess maybe you want to parse "abstract" before class
16:05 diakopter jnthn: since roles and classes share the same namespace, what practically prevents them from being unified things but with two keywords
16:05 tadzik benabik: wow, games. What kind of games?
16:14 dalek MoarVM: 355b4e0 | jnthn++ | src/ (2 files):
16:14 dalek MoarVM: Add a --libpath option; currently unused.
16:14 dalek MoarVM:
16:14 dalek MoarVM: Will control where loadbytecode will look. Needed for NQP bootstrap.
16:14 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/355b4e0935
16:14 dalek MoarVM: 7ea058a | jnthn++ | src/core/loadbytecode.c:
16:14 dalek MoarVM: First pass at handling libpath.
16:14 dalek MoarVM:
16:14 dalek MoarVM: Improvements, especially to platform handling, welcome.
16:14 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/7ea058a75f
16:14 jnthn diakopter: Probably not much... :)
16:14 jnthn diakopter: Aside from you may want inheritance-y semantics.
16:15 ssutch joined #moarvm
16:17 jnthn If anybody feels strongly enough about the above two patches to redo them, I won't object so long the outcome is less wrong. :)
16:27 FROGGS ahh, this libpath maps to @*INC?
16:29 jnthn Well, NQP doesn't have that, but kinda-ish, yeah :)
16:30 jnthn It's "just enough" that I should be able to get the stage0, stage1 etc loaded correctly
16:30 FROGGS cool
16:37 TimToady diakopter: in P6, roles are immutable, and classes are not.  You might say that classes are role containers :)
16:39 TimToady keeping abstractions immutable will contribute to optimizability at some point
16:40 TimToady when everything is mutable, nothing much is statically analyzable
16:40 TimToady we got rid of tie for the same reason
16:55 dalek MoarVM: 4d45b76 | (Tobias Leich)++ | build/Makefile.in:
16:55 dalek MoarVM: make prefix/bin/moar executable
16:55 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/4d45b76d8a
16:56 FROGGS echo "to do"
16:56 FROGGS to do
16:56 FROGGS :o)
17:28 dalek MoarVM: b674414 | jnthn++ | src/mast/driver.c:
17:28 dalek MoarVM: Prevent GC messing up bytecode -> file.
17:28 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/b674414d04
17:28 dalek MoarVM: 067a66e | jnthn++ | src/core/loadbytecode.c:
17:28 dalek MoarVM: Only use libpath prepended file if it exists.
17:28 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/067a66e148
17:28 dalek MoarVM: 1ed29ab | jnthn++ | nqp-cc/nqp-src/ModuleLoader.pm:
17:28 dalek MoarVM: ModuleLoader tweaks in support of bootstrap.
17:28 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/1ed29ab752
18:04 benabik joined #moarvm
18:24 camelia joined #moarvm
18:25 FROGGS nqp-m: say("hello #moarvm!")
18:25 moritz the first execution is always slow
18:25 camelia nqp-moarvm: OUTPUT«hello #moarvm!␤»
18:25 FROGGS \o/
18:25 jnthn Even in another channel? :)
18:25 moritz don't take this to mean anything
18:25 moritz yes
18:25 FROGGS nqp-m: say("hello #moarvm! again")
18:25 jnthn ok :)
18:25 camelia nqp-moarvm: OUTPUT«hello #moarvm! again␤»
18:25 FROGGS awesome
18:25 moritz jnthn: seems to be per camelia process, not per channel or implementation
18:26 jnthn ah, ok
18:26 FROGGS well, doesn't really matter, right?
18:26 jnthn moritz++ # camelia on #moarvm
18:26 FROGGS moritz++ # yesh!
18:26 moritz diakopter++ asked for it :-)
18:32 diakopter well, and then retracted the request :)
18:44 diakopter oh, to be in this channel...
18:45 diakopter erm, .shutup
18:59 TimToady you mean $.shutup?
18:59 TimToady we're not sure what's in $_ :)
19:00 FROGGS well, there is a /topic
19:00 jnthn .oO( see the /topic )
19:00 diakopter hm, what's $.
19:00 FROGGS a public attr?
19:11 dalek MoarVM: d097476 | jnthn++ | / (8 files):
19:11 dalek MoarVM: settypehll and settypehllrole ops
19:11 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/d097476614
19:11 dalek MoarVM: e75385d | jnthn++ | nqp-cc/nqp-src/NQP.nqp:
19:11 dalek MoarVM: Fix a typo.
19:11 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/e75385d315
19:13 diakopter less is maor
19:18 jnthn my $param_kind := self.type_to_register_kind($var.returns // NQPMu);
19:18 jnthn um, type objects are always undefined :)
19:18 FROGGS heh
19:31 dalek MoarVM: 14e67ac | jnthn++ | nqp-cc/src/QASTCompilerMAST.nqp:
19:31 dalek MoarVM: Fix natively typed parameter's compilation.
19:31 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/14e67ac05f
19:42 FROGGS nqp-m: say(nqp::cwd())
19:42 camelia nqp-moarvm: OUTPUT«At Frame 0, Instruction 38, op 'shell' has invalid number (1) of operands; needs 4.␤   at nqp-src/QASTMoar.nqp:7955  (./QASTMoar.moarvm:assemble_and_load:15)␤ from nqp-src/NQPHLL.nqp:914  (./NQPHLLMoar.moarvm:mbc:70)␤ from nqp-src/NQPHLL.nqp:1322  (./NQPHLLM…»
19:42 FROGGS nqp: say(nqp::cwd())
19:42 camelia nqp: OUTPUT«/home/p6eval␤»
19:43 dalek MoarVM: 9f46b63 | jnthn++ | / (7 files):
19:43 dalek MoarVM: Add and map isint/isnum/isstr ops.
19:43 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/9f46b63819
19:46 diakopter FROGGS: that error happens when jnthn bumps the nqp revision level
19:47 diakopter I'm not sure how to make the evalbot recognize it
19:48 FROGGS ahh
19:49 FROGGS add a cronjob that rebuilds it if say(1) dies
19:50 diakopter heh.
19:50 FROGGS :o)
19:50 diakopter I suspect that a git fetch is missing somewhere in the Configure.pl
19:51 TimToady we should just teach make to handle git dependencies :D
19:53 jnthn Bootstrapping progress: first 4 files build so far, explode on the 5th
19:54 TimToady half done already, eh?
19:54 diakopter wat.
19:55 diakopter well, they build, but doesn't mean they work
19:55 TimToady SMOD
19:56 TimToady ooh, selftest fails file-ops and decode
19:57 TimToady decode says No registered operation handler for 'encode'
19:58 TimToady file-ops sez: Failed to stat file: no such file or directory at t/nqp/19-file-ops.t:14  (<ephemeral file>:frame_name_0:4294967295)
19:59 diakopter TimToady: see scrollback about fileops
19:59 jnthn TimToady: Yeah, not Moar regression, just that I sync'd latest t/nqp from the main NQP repo today
19:59 diakopter encode should work
19:59 jnthn We didn't have an 82-decoe before.
19:59 diakopter oh
19:59 japhb_ joined #moarvm
19:59 TimToady okay, just so's it's knone
19:59 jnthn It's a new test file since we last sync'd
20:00 jnthn yeah, matches what I have here. Thanks. :)
20:00 jnthn Darn. :(
20:00 foo_bar_baz joined #moarvm
20:00 jnthn Building QRegex works under the VS debugger, but blows up from command line
20:00 diakopter when I've seen that happen, it's because it's double-closing stdout
20:01 diakopter so I put a horrible hack in a while ago to prevent closing it at all
20:01 diakopter .oO( need to fix that.... )
20:02 diakopter (but maybe the hack got subverted)
20:02 jnthn Not sure where that'd be going on...
20:02 diakopter gc_free
20:04 diakopter for some reason VS doesn't trap/fail on the double-close, but the shell does
20:04 FROGGS :o(
20:04 jnthn diakopter: Currently gc_free of MVMOSHandle does...nothing.
20:04 diakopter haha; sum1 buheleted
20:04 colomon joined #moarvm
20:05 jnthn bah, heisenbug indeed. If I --stagestats it, it works...
20:05 timotimo haha, great >_<
20:07 jnthn Typically, it doesn't segv under VS when I add that too...
20:07 diakopter okay make it output to stdout something other than stagestats... :)
20:07 diakopter (to confirm that it's just writing to stdout that makes it work)
20:12 jnthn no, it's not about that, it seems...
20:12 jnthn NQPHLL also explodes, and --stagestats don't fix that.
20:12 jnthn will vs get this one...
20:13 jnthn yes, it does get this one.
20:15 diakopter what are the stagestats, btw :)
20:16 jnthn --stagestats gives timing info on each compilation stage
20:16 jnthn oh hmm, this is a jolly bad idea...
20:16 diakopter no, I mean what *are* the stagestats, not *what* are the stagestats
20:18 jnthn 6.1s parse for QRegex, but this is an unopt build which makes quite a diference.
20:19 diakopter what's parrot for parse QRegex
20:19 ingy *what* *are* *you* *talking* *about* *?*
20:19 jnthn diakopter: no idea without going and tweaking the makefile
20:19 diakopter oh
20:22 jnthn Well, found at least one bug...
20:23 jnthn Sadly, not the only one.
20:23 FROGGS :/
20:23 dalek MoarVM: 5265856 | jnthn++ | src/6model/serialization.c:
20:23 dalek MoarVM: Fill out static code ref setup during deserialize.
20:23 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/52658565e6
20:23 dalek MoarVM: 5ea138c | jnthn++ | src/6model/serialization. (2 files):
20:23 dalek MoarVM: Don't hold a pointer to memory that gets realloc'd
20:23 dalek MoarVM:
20:23 dalek MoarVM: Otherwise, we can end up looking at an old version of it.
20:23 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/5ea138ce8c
20:24 jnthn But again --stagestats masks it
20:27 diakopter writer->root.sc->body->root_sta​bles[writer->stables_list_pos]
20:27 jnthn longer, but righter :)
20:28 jnthn diakopter: btw, the stagestats output goes to stderr, not stdout...
20:32 diakopter oh, heh.
20:33 jnthn OK, so if you --prefix your MoarVM to install into, say, C:\MoarVM\install, then in the moarboot branch of NQP you do perl ConfigureMoar.pl --prefix=C:\MoarVM\install
20:33 jnthn That is, prefix of NQP should match the one you gave to MoarVM's Configure
20:33 jnthn If anybody fancies building and/or removing the --stagestats and seeing if they can get any intresting explosions that help track down the issues, that'd be grat.
20:33 jnthn *great
20:34 * FROGGS re-builds
20:35 jnthn note, you don't need an up-to-date nqp-cc
20:35 diakopter yay.
20:35 diakopter so the .moarvm are going in the repo?
20:35 jnthn In the NQP one as stage0, aye
20:36 jnthn Just like the PIR and JAR do.
20:36 FROGGS --output=src/stage1/QRegex.moarvm src/stage1/gen/QRegex.nqp
20:36 FROGGS Stage start: 0.000005Stage start      :   0.000
20:36 FROGGS make: *** [src/stage1/QRegex.moarvm] Speicherzugriffsfehler (Speicherauszug erstellt)
20:36 FROGGS running with gdb now
20:36 jnthn Damn, those are long words :P
20:36 jnthn Speicherzugriffsfehler :D
20:37 jnthn a riffs fehler sounds like a guitarist screwed up...
20:37 tadzik hahah
20:37 FROGGS jnthn: https://gist.github.com/FR​OGGS/7fe668092e7d08a387d3
20:37 FROGGS zugriff == access
20:38 jnthn FROGGS: Is that an optimized Moar rather than a debugging one?
20:38 jnthn oh, wait...symbols are there
20:38 FROGGS it is an optimized... I'll run again
20:39 jnthn well, some of them...
20:39 jnthn yeah
20:40 FROGGS Stage mbc: 0.016081Stage mbc        :   0.016
20:40 FROGGS moar: 3rdparty/libuv/src/unix/loop.c:150: uv__loop_delete: Assertion `!((((*(&(loop)->active_reqs))[0]) == (&(loop)->active_reqs)) == 0)' failed.
20:41 diakopter I've seen that before in VS
20:41 FROGGS jnthn: updated the gist
20:41 diakopter it's not a libuv bug
20:41 diakopter it's due to us misusing it
20:41 FROGGS "Datei oder Verzeichnis nicht gefunden" means "file or directory not found"
20:42 jnthn huh, but that's failing right at the end now...
20:43 FROGGS the unoptimized build got further, yes
20:43 jnthn FROGGS: What if you remove the --stagestats ?
20:43 FROGGS [Inferior 1 (process 26166) exited normally]
20:44 jnthn argh
20:44 jnthn Maybe try the next file (NQPHLL)?
20:47 FROGGS jnthn: updated gist
20:47 FROGGS err, that was with --stagestats, hold on
20:48 FROGGS jnthn: succeeded
20:48 jnthn argh!
20:49 colomon joined #moarvm
20:49 diakopter I giggle in your general direction at your amusing travails
20:49 diakopter [which are all but certainly my fault] :D
20:52 jnthn diakopter: Don't suppose you've got an ASAN setup handy?
20:52 diakopter ish
20:52 diakopter well, you have one now that I created you an account on host07
20:53 jnthn diakopter: oh?
20:53 jnthn How'd I get there?
20:53 diakopter privmsg
20:56 jnthn thanks :)
20:57 lue joined #moarvm
20:58 lue After checking out the nqp/moarboot branch and trying to compile it, I got these results with the command run by the Makefile and then the same command, removing --stagestats from the command: https://gist.github.com/lue/6845909
20:59 lue Basically, I get a failed assertion with stagestats and no error without, which is somewhat opposite jnthn's results from what I understand (no segfault with stagestats, segfault without)
20:59 diakopter yeah I'd guess that we're not doing a good job preventing more than one main loop from being created or something like that
20:59 diakopter or closing it at the wrong time
21:01 jnthn ok, asan blows on QRegex \o/
21:02 diakopter erm.
21:03 jnthn Now just need to work out the symbolize thing :)
21:03 timotimo i think there are a few tests in order
21:04 jnthn oh wtf, when I redirected the stderr output it was ok!
21:05 timotimo m)
21:05 diakopter jnthn: toldya
21:06 jnthn yeah but on Linux :)
21:06 jnthn ok, I think I might be able to read the raw asan output anyway
21:06 diakopter oh, I didn't doubt the problem was cross-platform
21:06 jnthn hm
21:07 diakopter jnthn: well, you can save the output to a file then cat it to asan_symbolize
21:07 diakopter stderr redirect by copy/paste. :)
21:07 jnthn Hmm
21:07 jnthn yeah
21:07 jnthn it doesn't seem so keen to fail when I remove the --stagestats
21:08 jnthn But it did find something in MVM_load_bytecode that may be legit
21:08 jnthn MVM_HASH_BIND(tc, tc->instance->loaded_compunits, filename, loaded_name);
21:08 jnthn There's nothing to keep filename from being collected.
21:08 jnthn oh, maybe there is...
21:08 diakopter the hash thing makes a copy I think
21:09 jnthn Nope, and it ain't marked
21:09 jnthn I mean, it stashes it so it *can* mark it
21:09 jnthn But doesn't.
21:09 diakopter ah
21:10 diakopter but filename isn't collectable
21:10 diakopter it's char *
21:10 diakopter erm
21:10 diakopter maybe it is. I forget.
21:10 jnthn MVMString *filename;
21:10 diakopter okay :)
21:15 donaldh joined #moarvm
21:19 dalek MoarVM: ec01059 | jnthn++ | src/gc/roots.c:
21:19 dalek MoarVM: Make sure loaded filename strings are marked.
21:19 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/ec010595be
21:20 jnthn Doesn't fix my SEGV, sadly
21:23 FROGGS jnthn: I've read that calling uv_loop_delete() with opened filehandles is not the best idea and results in the error message I get
21:24 FROGGS and we are calling getstdstream which opens a tty but never closes it afaik
21:26 FROGGS jnthn: you don't get an error msg at all on windows, right?
21:27 jnthn no, just segv, but it's not happening at exit time...
21:27 FROGGS ahh, yes
21:34 jnthn diakopter: Hm, that fix didn't make ASAN happier...
21:38 FROGGS hmmm, it doesnt segfault on my windows at all :/
21:49 FROGGS hmmm, it fails without --stagestats in my debugger on windows
21:50 FROGGS roots.c 253  if (flag_map[flag] & MVM_CALLSITE_ARG_NAMED) {
21:51 jnthn hm...what's flag_map look like?
21:53 FROGGS "Unhandled exception at 0x000000013FE56341 in moar.exe: 0xC0000005: Access violation reading location 0x0000000000000000."
21:53 FROGGS it is NULL
21:53 jnthn What about frame->params?
21:53 jnthn Also, what's on the stack?
21:54 FROGGS -params{callsite=0x00000000036fb710 {arg_flags=0x00000000036fb750 "\x1A\x1(««««««««««««««««îþîþîþîþîþîþ" arg_count=...} ...}MVMArgProcContext
21:54 FROGGS what do you mean by "on the stack" ?
21:54 FROGGS the call stak?
21:54 FROGGS stack*
21:55 FROGGS >moar.exe!scan_registers(MVMThreadContext * tc, MVMGCWorklist * worklist, MVMFrame * frame) Line 253C
21:55 jnthn call stack
21:55 jnthn Yeah, if you follow down you should see some GC frames?
21:56 FROGGS https://gist.github.com/FR​OGGS/a6b254aaef4dc4115d63
21:56 jnthn k
21:56 jnthn hmm
21:57 jnthn oh...
21:57 jnthn if (frame->params.args
21:57 jnthn I bet that should be
21:57 jnthn if (frame->params.arg_flags
21:59 jnthn FROGGS++!!
21:59 FROGGS \o/
21:59 jnthn It just built here without the --stagestats and without a segv
22:00 dalek MoarVM: 0991c57 | jnthn++ | src/gc/roots.c:
22:00 dalek MoarVM: Correct check for if we need to process flattening
22:00 dalek MoarVM:
22:00 dalek MoarVM: FROGGS++ for debugging.
22:00 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/0991c57d8a
22:01 jnthn oh, I did forget something about the install...
22:02 jnthn We need the MAST libs installing too
22:02 FROGGS ahh, true
22:02 FROGGS under lib I suppose?
22:02 jnthn yeah
22:02 jnthn lib/MAST/
22:02 FROGGS k
22:02 jnthn You want to or shall I? :)
22:03 FROGGS dunno
22:03 jnthn is $(MKPATH) recursive, do you know?
22:04 FROGGS it is
22:04 jnthn cool
22:04 jnthn Then I should have a patch :)
22:04 colomon joined #moarvm
22:05 FROGGS now I had the right Makefile.in open too... I'm a bit slow at
22:05 FROGGS atm*
22:27 dalek MoarVM: 03b551e | jnthn++ | build/Makefile.in:
22:27 dalek MoarVM: Install MAST ops and nodes libraries.
22:27 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/03b551ee2b
22:29 * FROGGS tries an optimized build
22:30 FROGGS :o(
22:31 jnthn ?
22:31 FROGGS ahh, that fails in uv_fs_stat, like earlier
22:31 jnthn yeah, asan also picked that up
22:32 jnthn It's from MVM_file_exists, which in turn is called from loadbytecode.c
22:34 FROGGS we don't need an MVM_ASSIGN_REF there at line 41?
22:34 FROGGS if (!MVM_file_exists(tc, result))
22:34 FROGGS result = orig; <---- here
22:34 jnthn no, 'cus we're not storing it into an object
22:35 * FROGGS .oO( marked by '<---- here' )
22:35 FROGGS k
22:37 dalek MoarVM: 3ae2c86 | jnthn++ | nqp-cc/nqp-src/NQP.nqp:
22:37 dalek MoarVM: Fix a fossil.
22:37 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/3ae2c8661b
22:37 timotimo how much closer are we to the bootstrap now that froggs has debugged the thing?
22:39 FROGGS hmmm, it calls exists for src/vm/moar/stage0/./src/st​age1/NQPCORE.setting.moarvm
22:39 jnthn Well, it means we're onto the next files
22:39 jnthn yeah
22:39 jnthn Which shouldn't exist :)
22:39 FROGGS but the file is called NQPCOREMoar.setting.moarvm (with "Moar" in it)
22:39 jnthn That's ok
22:39 FROGGS okay
22:40 jnthn For now, at least
22:40 FROGGS should I rebuild the cc for some reason?
22:40 FROGGS nqp-cc*
22:41 FROGGS I guess not
22:49 dalek MoarVM: a7326ad | jnthn++ | nqp-cc/src/QASTCompilerMAST.nqp:
22:49 dalek MoarVM: Better error reporting.
22:49 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/a7326ade57
22:49 dalek MoarVM: 1ed57e8 | jnthn++ | nqp-cc/nqp-src/NQP.nqp:
22:49 dalek MoarVM: Further fixes to make BEGIN blocks work/compile.
22:49 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/1ed57e884b
22:50 FROGGS ahh
22:50 FROGGS jnthn: so you are building a better to-be-stage0 ?
22:51 jnthn yeah, I have one locally
22:51 jnthn Just not quite in a position to push it yet
22:52 FROGGS yeah, that was what I was thinking
22:52 FROGGS is*
23:11 FROGGS builds successfully here so far
23:12 jnthn Just done a big push
23:12 FROGGS ohh, another big one :o)
23:13 jnthn Yeah
23:13 jnthn We make it through building stage1 now
23:13 jnthn The output doesn't work
23:13 jnthn But that woulda been too good to be true :)
23:14 FROGGS yeah, we would miss all the fun :o)
23:16 FROGGS builds here
23:16 FROGGS unoptimized:
23:16 FROGGS real2m55.204s
23:16 FROGGS user2m46.588s
23:18 diakopter is that good?
23:19 FROGGS optimized:
23:19 FROGGS real1m37.124s
23:19 FROGGS user1m28.960s
23:19 jnthn The fact that NQP on MoarVM can compile the NQP sources is *good* yes :)
23:19 FROGGS diakopter: no idea, we only can compare when it is done I think
23:19 timotimo wow that is a big time win
23:20 FROGGS the timings are of course crap I'd say, because I have a Windows 7 vm running...
23:22 jnthn Time for a stout, methinks :)
23:22 jnthn This went a bunch faster than the equivalent work for JVM :)
23:22 FROGGS yeah
23:23 FROGGS I have no beer here... but if I had one I would have already fell asleep
23:24 FROGGS well, there would be something horrible wrong if it went slower than the JVM work
23:25 jnthn Well, I could easily see that happening
23:26 jnthn I mean, the files we've just used MoarVM to compile are much bigger than t/nqp
23:26 jnthn It's possible we'd have started hitting various bugs.
23:26 jnthn And so had to do many VM fixes
23:27 diakopter how fast was it compared to on parrot? ;)
23:27 FROGGS :o)
23:27 jnthn heh :)
23:27 jnthn Well, that was the original, so... :)
23:27 jnthn anyway, heading afk...
23:27 jnthn Will see if I have any tuits tomorrow to debug stage1
23:28 diakopter jnthn++ :D
23:28 jnthn I think we're looking reasonably good to land MoarVM support in this month's NQP release. :)
23:28 jnthn 'night o/
23:28 diakopter others++
23:29 FROGGS gnight jnthn
23:40 colomon joined #moarvm
23:57 diakopter FROGGS: how did ./moar become 16MB
23:57 FROGGS O.o
23:58 FROGGS it is just 2.4 on linux
23:58 FROGGS and 3.6 on my windows 7
23:59 TimToady 4meg here on a 64-bit
23:59 TimToady (linux mint)

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary