Camelia, the Perl 6 bug

IRC log for #parrot, 2011-03-06

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:15 bubaflub left #parrot
01:28 kid51 ~~
01:41 plobsing hi kid51
01:45 kid51 plobsing: Did you see http://trac.parrot.org/parrot/ticket/2037?
01:45 kid51 Or: http://trac.parrot.org/parrot/ticket/540 ?
01:45 plobsing kid51: yeah. that looks at least partially GC related. infnan had *nothing* to do with anything GCable.
01:46 kid51 I didn't think it did.
01:46 kid51 I looked at the final diff and saw nothing mysterious.
01:46 kid51 The fact that something subsequently "corrected" the problem is as scary as the problem itself.
01:47 plobsing possibly a makefile failure with old object files?
01:47 plobsing which would explain a rebuild fix
01:47 kid51 Doubtful; when I was bisecting, I included a 'make realclean; perl Configure.pl' every time.
01:48 kid51 Unless there were object files named in one version of the 'clean' target but not another.
01:48 kid51 But that's a remote chance.
01:49 plobsing possibly an installed parrot conflicting?
01:50 whiteknight rakudo build takes sooooooo long
01:53 whiteknight src/gen/core.pm is huge
01:55 whiteknight 13.5 minutes total
02:10 kid51 is now known as kid51_at_dinner
02:31 whiteknight left #parrot
02:39 ingy joined #parrot
02:46 cotto ~~
02:56 kid51_at_dinner is now known as kid51
03:09 bacek aloha, humans
03:14 kid51 bacek, Did you see http://trac.parrot.org/parrot/ticket/2037 ?
03:15 bacek kid51, yes.
03:15 bacek I'll try to look at it later today
03:15 kid51 Thx
03:26 contingencyplan left #parrot
03:30 bacek kid51, how much memory do you have on this box?
03:44 kid51 256M
03:44 kid51 (my 7-y-o iBook G4)
03:48 bacek kid51, ok.
03:49 kid51 It's the same machine that has been our reference point for "small resources" for other GC-related questions.
03:50 kid51 And all of your GC stuff that's gone into master was tested on it first
03:55 dalek parrot: b3bae9c | bacek++ | / (4 files):
03:55 dalek parrot: Remove interp->dynamic_env. Leftover of #876.
03:55 dalek parrot: review: https://github.com/parrot/parrot/commit/b3bae9c353
03:56 bacek kid51, can you produce backtrace of segfault?
03:57 kid51 What would be the steps to do that?
03:59 bacek gdb --args ./parrot-nqp --target=pir --output=compilers/opsc/ge​n/Ops/Compiler/Grammar.pir compilers/opsc/src/Ops/Compiler/Grammar.pm
03:59 bacek r
03:59 bacek bt 10
03:59 bubaflub joined #parrot
04:01 kid51 It's late here, and I'll have to checkout that commit.  Will try to get to it tomorrow.  Thx.
04:05 bacek kid51, no worries.
04:06 bacek you can do it on HEAD btw
04:08 kid51 But at HEAD I am not getting that failure
04:08 kid51 Will that suffice?
04:10 kid51 Problem:
04:11 kid51 On Darwin, we recently made a change to guarantee that dynamic linking will work correctly on an installed parrot
04:12 kid51 But the price we paid for that is that during dev/testing, while dynamic linking works from 'make', it doesn't work (as well) from, e.g., 'prove'.
04:12 kid51 To run 'prove' on many of the t/pmc/*.t tests now, I first have to say:
04:13 kid51 export DYLD_LIBRARY_PATH=/Users/ji​mk/gitwork/parrot/blib/lib
04:13 kid51 This is the first time I've tried to use 'gdb' on this machine since that change.
04:13 kid51 gdb --args ./parrot-nqp --target=pir --output=compilers/opsc/ge​n/Ops/Compiler/Grammar.pir compilers/opsc/src/Ops/Compiler/Grammar.pm
04:13 kid51 I get:
04:14 kid51 warning: Unable to read symbols for "/usr/local/lib/libparrot.dylib" (file not found).
04:14 kid51 Reading symbols for shared libraries ........ done
04:15 kid51 (gdb) r
04:15 kid51 Starting program: /Users/jimk/gitwork/parrot/parrot-nqp --target=pir --output=compilers/opsc/ge​n/Ops/Compiler/Grammar.pir compilers/opsc/src/Ops/Compiler/Grammar.pm
04:15 kid51 dyld: Library not loaded: /usr/local/lib/libparrot.dylib
04:15 kid51 Referenced from: /Users/jimk/gitwork/parrot/parrot-nqp
04:15 kid51 Reason: image not found
04:15 kid51 Program received signal SIGTRAP, Trace/breakpoint trap.
04:15 kid51 0x8fe05fc4 in __dyld__ZN4dyld5_mainEPK11mach_headeriPPKcS5_S5_ ()
04:16 nopaste "kid51" at 192.168.1.3 pasted "backtrace on Ops/Compiler/Grammar.pir problem" (16 lines) at http://nopaste.snit.ch/35586
04:20 bubaflub left #parrot
04:25 bubaflub joined #parrot
04:25 bubaflub left #parrot
04:31 bacek kid51, not really helpful...
04:32 kid51 I suspected as much.
04:32 plobsing try setting the env var for the launching GDB process
04:32 kid51 How would I do that?
04:33 plobsing just put it in front of the invocation
04:33 plobsing A=B gdb ...
04:33 kid51 I already have this in my .bashrc:
04:33 kid51 export DYLD_LIBRARY_PATH=/Users/ji​mk/gitwork/parrot/blib/lib
04:33 plobsing oh
04:33 kid51 Are you talking about something else?
04:34 plobsing nope, that would be it.
04:34 kid51 The problem, I think, is that /usr/local/lib/libparrot.dylib is now hard-coded into the binary(ies)
04:35 plobsing can you manually copy the lib to there?
04:38 kid51 This looks like the same problem we addressed in http://trac.parrot.org/parrot/ticket/2005
04:40 kid51 plobsing: I tried placing a symlink in that directory.
04:40 kid51 Got same results
04:41 plobsing the same dyld problem?
04:41 kid51 Yes. But let me try the actual file.
04:42 kid51 hmm that may have worked
04:42 kid51 Reading symbols for shared libraries ......... done
04:44 nopaste "kid51" at 192.168.1.3 pasted "backtrace, having copied libparrot.dylib to /usr/local/lib" (15 lines) at http://nopaste.snit.ch/35587
04:44 plobsing so you aren't able to reproduce the original issue.
04:44 kid51 That was at HEAD.  I'll try the commit that failed tomorrow.
04:45 * kid51 must sleep
04:45 kid51 left #parrot
04:51 nopaste "bacek" at 192.168.1.3 pasted "Patch for kid51++" (1146 lines) at http://nopaste.snit.ch/35588
04:51 bacek ouch
04:51 bacek too late
04:51 lucian left #parrot
04:53 dalek parrot: ded4b56 | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm:
04:53 dalek parrot: Insert write barriers into proper places during parsing
04:53 dalek parrot: review: https://github.com/parrot/parrot/commit/ded4b56fbf
04:53 dalek parrot: 652c6b5 | bacek++ | src/ops/core_ops.c:
04:53 dalek parrot: Rebootstrap ops with proper write barriers
04:53 dalek parrot: review: https://github.com/parrot/parrot/commit/652c6b5dbe
05:04 mikehh left #parrot
05:04 mikehh joined #parrot
05:40 preflex left #parrot
05:42 preflex joined #parrot
06:04 dalek parrot: a0de3ff | petdance++ | frontend/parrot/main.c:
06:04 dalek parrot: removed unused Parrot_confess.  We have a public one anyway.
06:04 dalek parrot: review: https://github.com/parrot/parrot/commit/a0de3ff427
06:06 ttbot Parrot a0de3ff4 i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/50039
06:20 dalek parrot: cb8b624 | petdance++ | src/interp/inter_misc.c:
06:20 dalek parrot: removed unused var
06:20 dalek parrot: review: https://github.com/parrot/parrot/commit/cb8b624aab
06:20 dalek parrot: ab009a4 | petdance++ | / (2 files):
06:20 dalek parrot: consted and annotated Parrot_hsh_hash_buffer
06:20 dalek parrot: review: https://github.com/parrot/parrot/commit/ab009a47a8
06:20 sorear Parrot_hsh_ ?  Really?
06:22 ttbot Parrot ab009a47 i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/50106
06:23 ttbot Parrot ab009a47 i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/50116
06:29 dalek parrot: 77ee887 | petdance++ | / (2 files):
06:29 dalek parrot: consting func args in Parrot_pa_count_used()
06:29 dalek parrot: review: https://github.com/parrot/parrot/commit/77ee8874bc
06:31 ttbot Parrot 77ee8874 i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/50192
06:31 ttbot Parrot 77ee8874 i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/50190
06:37 dalek parrot: c4a9402 | petdance++ | / (2 files):
06:37 dalek parrot: allow the ARGIN arg to be ARGIN_NULLOK
06:37 dalek parrot: review: https://github.com/parrot/parrot/commit/c4a940274f
06:37 fperrad joined #parrot
06:39 ttbot Parrot c4a94027 i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/50250
06:57 rurban_ joined #parrot
06:58 theory left #parrot
07:00 rurban left #parrot
07:00 rurban_ is now known as rurban
07:24 dalek parrot: f5a2fed | bacek++ | include/parrot/api.h:
07:24 dalek parrot: Add foward declaration of Parrot_confess. Fix debug c++ builds.
07:24 dalek parrot: review: https://github.com/parrot/parrot/commit/f5a2fedf4a
07:27 ttbot Parrot f5a2fedf i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/50374
07:41 dalek parrot: 21a351e | bacek++ | include/parrot/api.h:
07:41 dalek parrot: Add PARROT_EXPORT to Parrot_confess declaration.
07:41 dalek parrot: review: https://github.com/parrot/parrot/commit/21a351ee64
08:43 dalek parrot/opsc_llvm: 085a273 | bacek++ | / (4 files):
08:43 dalek parrot/opsc_llvm: Skeleton for LLVM bindings
08:43 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/085a273d1b
08:57 tadzik whoa, whoa
08:59 dalek parrot/opsc_llvm: ed424f8 | bacek++ | / (6 files):
08:59 dalek parrot/opsc_llvm: Move global functions loading into LLVM.pm
08:59 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/ed424f8ad7
09:56 Teedev joined #parrot
09:56 dalek parrot: c114262 | jimmy++ | / (4 files):
09:56 dalek parrot: s/Parrot_hsh_hash_buffer/Parrot_hash_buffer/
09:56 dalek parrot: review: https://github.com/parrot/parrot/commit/c114262d98
10:12 dalek parrot/opsc_llvm: 632f2d1 | bacek++ | t/library/llvm.t:
10:12 dalek parrot/opsc_llvm: Made test to looks more like test.
10:12 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/632f2d1365
10:12 dalek parrot/opsc_llvm: afa93ef | bacek++ | runtime/parrot/library/LLVM.pm:
10:12 dalek parrot/opsc_llvm: Add more functions.
10:12 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/afa93efc8b
10:12 dalek parrot/opsc_llvm: 8be7bfe | bacek++ | runtime/parrot/library/ (2 files):
10:12 dalek parrot/opsc_llvm: Add Builder
10:12 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/8be7bfebd7
10:12 dalek parrot/opsc_llvm: 394c8fe | bacek++ | runtime/parrot/library/LLVM/Module.pm:
10:12 dalek parrot/opsc_llvm: Add "private" _get_ptr to fetch underlying pointer.
10:12 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/394c8fe41e
10:12 dalek parrot/opsc_llvm: 4db2e0d | bacek++ | runtime/parrot/library/LLVM.pm:
10:12 dalek parrot/opsc_llvm: Add more functions.
10:12 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/4db2e0d077
10:12 dalek parrot/opsc_llvm: 89299c0 | bacek++ | runtime/parrot/library/LLVM.pm:
10:12 dalek parrot/opsc_llvm: Add more functions.
10:12 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/89299c0d5b
10:12 dalek parrot/opsc_llvm: 3feabbb | bacek++ | runtime/parrot/library/LLVM.pm:
10:12 dalek parrot/opsc_llvm: More functions! More!
10:12 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/3feabbb5c1
10:12 dalek parrot/opsc_llvm: 5b2e672 | bacek++ | runtime/parrot/library/LLVM/Type.pm:
10:12 dalek parrot/opsc_llvm: Add LLMV::Type
10:12 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/5b2e672ad4
10:13 dalek parrot/opsc_llvm: b04aef4 | bacek++ | runtime/parrot/library/Rules.mak:
10:13 dalek parrot/opsc_llvm: Add new classes to build.
10:13 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/b04aef4bc4
10:13 dalek parrot/opsc_llvm: ab2c037 | bacek++ | runtime/parrot/library/llvm_lib.pir:
10:13 dalek parrot/opsc_llvm: Include new generated files
10:13 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/ab2c03776d
10:13 dalek parrot/opsc_llvm: eaed6fe | bacek++ | / (2 files):
10:13 dalek parrot/opsc_llvm: Add LLVM::Module.add_function
10:13 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/eaed6fe4d9
10:14 mikehh left #parrot
10:16 nopaste "bacek" at 192.168.1.3 pasted "LLVM in Parrot :)" (35 lines) at http://nopaste.snit.ch/35589
10:23 Tene bacek: Very nice.
10:48 lucian joined #parrot
10:57 dalek parrot/opsc_llvm: a3e2d28 | bacek++ | / (3 files):
10:57 dalek parrot/opsc_llvm: Add LLVM::Function for real
10:58 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/a3e2d281fb
10:58 dalek parrot/opsc_llvm: 3a157c6 | bacek++ | runtime/parrot/library/LLVM.pm:
10:58 dalek parrot/opsc_llvm: Add more functions.
10:58 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/3a157c6ed7
10:58 dalek parrot/opsc_llvm: 9b35f82 | bacek++ | t/library/llvm.t:
10:58 dalek parrot/opsc_llvm: Add test for apeend_basic_block.
10:58 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/9b35f82941
10:58 dalek parrot/opsc_llvm: d473cea | bacek++ | / (5 files):
10:58 dalek parrot/opsc_llvm: Add LLVM::BasicBlock
10:58 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/d473ceaf73
10:58 dalek parrot/opsc_llvm: 262226c | bacek++ | runtime/parrot/library/ (4 files):
10:58 dalek parrot/opsc_llvm: Add LLVM::Constant
10:58 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/262226c3f4
10:58 dalek parrot/opsc_llvm: f339d44 | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
10:58 dalek parrot/opsc_llvm: Add more guts to Builder.
10:58 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/f339d44fc1
10:58 dalek parrot/opsc_llvm: c906385 | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
10:58 dalek parrot/opsc_llvm: Add few actual builders to Builder.
10:58 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/c906385ac0
10:58 dalek parrot/opsc_llvm: 1ffb6e9 | bacek++ | / (2 files):
10:58 dalek parrot/opsc_llvm: Add tests and fix Builder creating
10:58 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/1ffb6e914f
10:58 dalek parrot/opsc_llvm: da76a9d | bacek++ | runtime/parrot/library/LLVM/BasicBlock.pm:
10:58 dalek parrot/opsc_llvm: Add BasicBlock._get_ptr to use within Builder.
10:58 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/da76a9d913
10:58 dalek parrot/opsc_llvm: 88d2883 | bacek++ | t/library/llvm.t:
10:58 dalek parrot/opsc_llvm: More tests
10:58 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/88d2883cd7
11:06 Teedev left #parrot
11:08 lucian_ joined #parrot
11:09 lucian left #parrot
11:16 whiteknight joined #parrot
11:19 whiteknight good morning, #parrot
11:27 tadzik morning
11:27 whiteknight hello tadzik. how are you today?
11:28 tadzik oh cool
11:28 woosley joined #parrot
11:28 tadzik I'm in the Netherlands, on a hackathon with mberends, masak and jnthn
11:29 whiteknight that sounds awesome
11:29 tadzik aye
11:38 Tene What are you guys hacking on?
11:39 tadzik currently it's Yapsi, but it's soon to be a module smoketesting and benchmarking infrastructure
11:39 tadzik but don't tell anyone, cos I'm not sure if that isn't a secret project :)
11:39 lucian joined #parrot
11:42 lucian_ left #parrot
11:48 PacoLinux_ joined #parrot
11:51 lucian_ joined #parrot
11:54 lucian left #parrot
11:54 jrt4 left #parrot
11:55 lucian joined #parrot
11:57 lucian_ left #parrot
11:58 lucian_ joined #parrot
12:01 PacoLinux_ left #parrot
12:01 lucian left #parrot
12:11 lucian joined #parrot
12:12 lucian left #parrot
12:15 lucian_ left #parrot
12:35 dalek parrot/opsc_llvm: e14fb8d | bacek++ | runtime/parrot/library/LLVM.pm:
12:35 dalek parrot/opsc_llvm: Fix signature
12:35 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/e14fb8dd60
12:35 dalek parrot/opsc_llvm: b2c4182 | bacek++ | / (4 files):
12:35 dalek parrot/opsc_llvm: Implement Builder.call. Also factor out common functionality to covert
12:35 dalek parrot/opsc_llvm: @list to LLVM calling conventions.
12:35 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/b2c4182e3d
12:35 dalek parrot/opsc_llvm: 1076130 | bacek++ | runtime/parrot/library/LLVM/Function.pm:
12:35 dalek parrot/opsc_llvm: Implement set_linkage
12:35 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/1076130ef5
12:36 nopaste "bacek" at 192.168.1.3 pasted "LLVM - work in progress :)" (83 lines) at http://nopaste.snit.ch/35591
12:37 jnthn bacek: wow!
12:37 bacek whiteknight, look at nopaste :)
12:37 jnthn bacek++
12:38 whiteknight bacek: nice!
12:46 PacoLinux_ joined #parrot
12:47 dalek TT #2040 created by jonathan++: load_ bytecode with a unicode string fails
12:47 dalek TT #2040: http://trac.parrot.org/parrot/ticket/2040
12:55 dalek parrot/opsc_llvm: 6263568 | bacek++ | runtime/parrot/library/LLVM/Type.pm:
12:55 dalek parrot/opsc_llvm: Add more types
12:55 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/626356867c
13:00 contingencyplan joined #parrot
13:01 dalek nqp/lexical-setting: ebf7adc | jonathan++ | / (6 files):
13:01 dalek nqp/lexical-setting: Merge latest changes from mater into lexical-setting.
13:01 dalek nqp/lexical-setting: review: https://github.com/perl6/nqp/commit/ebf7adce07
13:03 PacoLinux_ left #parrot
13:04 dalek parrot/opsc_llvm: 3ed5117 | bacek++ | t/library/llvm.t:
13:04 dalek parrot/opsc_llvm: Create function with args in test
13:04 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/3ed5117280
13:10 kid51 joined #parrot
13:15 dalek nqp: d36ca9c | jonathan++ | / (2 files):
13:15 dalek nqp: Stub in a --setting= command line argument.
13:15 dalek nqp: review: https://github.com/perl6/nqp/commit/d36ca9c9f5
13:15 dalek nqp: 93dc13f | jonathan++ | / (3 files):
13:15 dalek nqp: Re-work the build and bootstrap process to fit the new role of the setting. Since it'll be the outer lexical scope of programs, it needs to be built like the rest of the various bootstrapped bits, not just sa if it's a module.
13:15 dalek nqp: review: https://github.com/perl6/nqp/commit/93dc13f3ae
13:15 dalek nqp: 5be7a2c | jonathan++ | .gitignore:
13:15 dalek nqp: Update .gitignore.
13:15 dalek nqp: review: https://github.com/perl6/nqp/commit/5be7a2c5b3
13:15 dalek nqp: 17d2709 | jonathan++ | / (3 files):
13:15 dalek nqp: Parsing/compilation of {YOU_ARE_HERE} and inclusion of it at end of setting.
13:15 dalek nqp: review: https://github.com/perl6/nqp/commit/17d2709e96
13:15 dalek nqp: 5a4019f | jonathan++ | build/Makefile.in:
13:15 dalek nqp: Fix make bootstrap-files for setting.
13:15 dalek nqp: review: https://github.com/perl6/nqp/commit/5a4019f192
13:15 dalek nqp: fd70004 | jonathan++ | src/stage0/ (4 files):
13:15 dalek nqp: Update bootstrap to include some of the bits needed for setting support.
13:15 dalek nqp: review: https://github.com/perl6/nqp/commit/fd70004f23
13:15 dalek nqp: 0c6b294 | jonathan++ | build/Makefile.in:
13:15 dalek nqp: Can use --setting=NULL for compiling setting in stage 1 now.
13:15 dalek nqp: review: https://github.com/perl6/nqp/commit/0c6b294eda
13:15 dalek nqp: b9e1141 | jonathan++ | src/NQP/ (2 files):
13:15 dalek nqp: Few fixes to the {YOU_ARE_HERE} compilation.
13:15 dalek nqp: review: https://github.com/perl6/nqp/commit/b9e114197f
13:15 dalek nqp: b158fac | jonathan++ | src/stage0/ (4 files):
13:16 dalek nqp: Update bootstrap with compilation fixes.
13:16 dalek nqp: review: https://github.com/perl6/nqp/commit/b158facee6
13:16 dalek nqp: cafdaf5 | jonathan++ | build/gen_setting.pl:
13:16 dalek nqp: Work around a weird parsing fail - something that shoulda been treated as a block got parsed as a postcircumfix.
13:16 dalek nqp: review: https://github.com/perl6/nqp/commit/cafdaf571a
13:16 dalek nqp: 3a5e136 | jonathan++ | build/Makefile.in:
13:16 dalek nqp: Need to fix up various things before we can put Mu and the native types into the lexical setting, so don't do that just yet.
13:16 dalek nqp: review: https://github.com/perl6/nqp/commit/3a5e136b49
13:16 dalek nqp: 1aa0ec3 | jonathan++ | src/NQP/ (2 files):
13:16 dalek nqp: First cut of loading NQPCORE.setting by default, overridable at the command line with --setting=NULL or --setting=OTHER. Seems to work, including how it intersects with interactive mode (uses the same outer-setting mechanism...yay). Big missing piece: setting loading not handled in pre-compiled code yet.
13:16 dalek nqp: review: https://github.com/perl6/nqp/commit/1aa0ec39b6
13:16 dalek nqp: a32c5f9 | jonathan++ | src/NQP/Compiler.pm:
13:16 dalek nqp: Make sure if we try to use a setting twice it'll work out.
13:16 dalek nqp: review: https://github.com/perl6/nqp/commit/a32c5f944b
13:16 dalek nqp: ebf7adc | jonathan++ | / (6 files):
13:16 dalek nqp: Merge latest changes from mater into lexical-setting.
13:16 dalek nqp: review: https://github.com/perl6/nqp/commit/ebf7adce07
13:16 dalek nqp: ecaf0c5 | jonathan++ | src/stage0/nqp-setting.nqp:
13:16 dalek nqp: nqp-setting.nqp (loadable setting) now gone in favour of lexical setting; remove it.
13:16 dalek nqp: review: https://github.com/perl6/nqp/commit/ecaf0c5c2d
13:16 jnthn branch merge heuristic fail!
13:19 PacoLinux_ joined #parrot
13:24 moritz jnthn: more karma for that jonathan guy :-)
13:24 jnthn :)
13:24 jnthn That guy commits so much more than me :P
13:25 moritz jnthn: it seems that GNU make doesn't like the commented out bits in \ - continued lines in Makefile
13:25 jnthn moritz: oh, ouch
13:25 moritz jnthn: I'll fix it
13:25 jnthn moritz: thanks
13:30 dalek nqp: 080d583 | moritz++ | build/Makefile.in:
13:30 dalek nqp: make GNU make happier
13:30 dalek nqp: review: https://github.com/perl6/nqp/commit/080d583ae8
13:33 PacoLinux_ left #parrot
13:34 whiteknight I think the heuristic merge detection looks for at least 15 commits
13:35 tadzik moritz: I have a pull request for you
13:41 mikehh joined #parrot
13:46 jnthn Hmm, oddness. I'd have thought IMCC uses declare_lex_preg method on LexInfo to set up lexinfo associations...
13:46 jnthn But it seems not to.
13:48 * jnthn wonders how dependent we are on lexicals living in registers...
13:55 jnthn eww...very dependent.
14:00 jnthn OK, so, er, IMCC doesn't actually follow the interface that the lexicals spec says it does. :/
14:05 whiteknight in other news, the world is round, the sky is up, and bears poo in the woods
14:06 jnthn OK, this is designed stupidly.
14:06 jnthn In nqpclr I...could just do it rght.
14:06 jnthn :/
14:06 jnthn *right
14:07 jnthn gah, so munch indirection and screwing around when all lexpad incarnation should be is a memcpy :/
14:07 jnthn I can find a way to work around all this I guess.
14:08 jnthn It may be easier to just do NQP its own lexicals implementation or something, than to try and work within this.
14:11 jnthn Ah well, will ponder it over lunch.
14:30 dalek parrot/opsc_llvm: bb2473b | bacek++ | src/dynpmc/ (3 files):
14:30 dalek parrot/opsc_llvm: Skeleton for LLVMEngine wrapper
14:30 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/bb2473b295
14:30 dalek parrot/opsc_llvm: af54ffd | bacek++ | runtime/parrot/library/LLVM (2 files):
14:30 dalek parrot/opsc_llvm: Fix stupid typo
14:30 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/af54ffdb53
14:30 dalek parrot/opsc_llvm: 699cb37 | bacek++ | runtime/parrot/library/LLVM/Constant.pm:
14:30 dalek parrot/opsc_llvm: Add Constant.integer
14:30 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/699cb37e6b
14:30 dalek parrot/opsc_llvm: 9252309 | bacek++ | / (2 files):
14:30 dalek parrot/opsc_llvm: Pass return type to add_function
14:30 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/92523098cb
14:30 dalek parrot/opsc_llvm: fb705f4 | bacek++ | t/library/llvm.t:
14:30 dalek parrot/opsc_llvm: Add 'test' for invoking of LLVM generated function
14:30 dalek parrot/opsc_llvm: review: https://github.com/parrot/parrot/commit/fb705f4ab8
14:31 nopaste "bacek" at 192.168.1.3 pasted "LLVM - intermediate results." (85 lines) at http://nopaste.snit.ch/35593
14:32 dukeleto bacek: top of the morning, meatbag
14:32 bacek that's it
14:32 bacek We can create small function via LLVM, call it and fetch results.
14:32 bacek Done. (almost)
14:32 bacek And it's 1:30AM...
14:33 bacek Good night, humans
14:33 dukeleto bacek++
14:40 rurban bacek++
14:43 whiteknight jnthn: IMCC is far from sacrosanct. If you need to change something there, we're open to hat
14:43 whiteknight that
14:44 M_o_C joined #parrot
14:55 sigue left #parrot
14:57 rurban_ joined #parrot
14:59 woosley left #parrot
15:00 rurban left #parrot
15:00 rurban_ is now known as rurban
15:02 sigue joined #parrot
15:09 ambs joined #parrot
15:30 M_o_C left #parrot
15:30 * dukeleto kicks IMCC for funzies
15:35 sigue left #parrot
15:42 jnthn I suspect the problem is the entire design of lexical storage so much as IMCC.
15:42 jnthn (Upon further reflection.)
15:58 sigue joined #parrot
16:11 jnthn On the one hand, the model doesn't commit to "lexicals stored in registers". OTOH, the existence of .lex '$foo', $P0 kinda does.
16:12 * Coke yawns.
16:13 jnthn o/ Coke
16:15 Coke o/ jnthn
16:19 Patterner left #parrot
16:19 Psyche^ joined #parrot
16:19 Psyche^ is now known as Patterner
17:15 theory joined #parrot
17:57 whiteknight jnthn: Well, we've known for a long time, months into years, that lexicals are a problem and need a redesign
17:57 whiteknight jnthn: I think all we are waiting for is somebody to put forward a compelling new design
17:57 jnthn whiteknight: Doing NQPLexInfo and NQPLexPad at the moment, to explore.
17:59 jnthn LexPad is kinda a PMC allocation for no good reason.
18:00 jnthn Unless you have a language that needs that.
18:00 whiteknight jnthn: okay, if you come up with something good, we may be eager to incorporate it down into Parrot
18:00 jnthn OK.
18:01 jnthn I think I have a way to keep the current API intact and get what I want and still get it quite cheaply.
18:01 jnthn Sadly, LexPad pokes into LexInfo's guts
18:02 jnthn Without checking it really is a LexInfo
18:02 jnthn Segv!
18:02 jnthn Guess that's fast though :)
18:14 whiteknight our new tagline: "Parrot: When we segv, we do it fast"
18:16 tadzik "We don't always segv, but when we do, we do it fast"
18:17 whiteknight the most interesting VM in the world
18:17 dukeleto Parrot: More Coredumps Than You Ever Thought Possible
18:34 whiteknight I think IMCC creates the LexInfos, so it can be reasonably certain that the PMC it accesses is a LexInfo
18:34 jnthn In theory IMCC pays attention to the HLL map..
18:36 jnthn Well, in practice too, thankfully :)
18:36 whiteknight IMCC cares not for your simple theories
18:43 * Coke seems to recall there's YA branch that needs testing against partcl.
18:44 Coke vtable_overrides, perhaps.
19:10 dalek nqp/slp: d36a4cd | jonathan++ | / (3 files):
19:10 dalek nqp/slp: Stub in NQPLexInfo and NQPLexPad, which will eventually give static lexpad support.
19:10 dalek nqp/slp: review: https://github.com/perl6/nqp/commit/d36a4cd91e
19:10 dalek nqp/slp: 94fc85c | jonathan++ | src/pmc/nqplexinfo.pmc:
19:10 dalek nqp/slp: Provide a way to set a static value into a lexpad explicitly, and to indicate when all static values are set.
19:11 dalek nqp/slp: review: https://github.com/perl6/nqp/commit/94fc85c354
19:11 dalek nqp/slp: 5c2b972 | jonathan++ | src/pmc/nqplexpad.pmc:
19:11 dalek nqp/slp: Insert static values into a context's registers, thus putting values from the static lex pad in place per invocation.
19:11 dalek nqp/slp: review: https://github.com/perl6/nqp/commit/5c2b972ab2
19:25 kid51_ joined #parrot
19:25 kid51 left #parrot
19:25 Coke partcl "make test" times are noticable slower in a single run of whiteknight's branch.
19:26 Coke I'll run it several times (and then rerun master) to get an average.
19:26 kid51_ left #parrot
19:27 whiteknight Coke: okay, thanks
19:33 whiteknight Coke: does partcl make heavy use of isa, or can?
19:34 whiteknight because those are the two things which would have gotten slower in the branch
19:44 kid51 joined #parrot
19:54 lucian joined #parrot
20:16 bubaflub joined #parrot
20:19 Coke whiteknight: heavy? I can't say. Certainly it uses those.
20:21 sorear Why are can and find_method separate?
20:23 plobsing because objects can lie?
20:24 sorear it looks like "find_method" overrides are available, and affect can, and affected can even before can overrides were added
20:26 plobsing uncanny
20:31 whiteknight sorear: at the moment, "can" is just a thin wrapper around find_method. VTABLE_can just tells us if find_method returns something
20:32 whiteknight if that's a semantic relationship we want to keep, that's fine. If we want to be able to decouple the two, that's also fine
20:33 whiteknight that said, if we absolutely always want VTABLE_can to defer to VTABLE_find_method (and there's an argument to be made for that), we can just rip out the extra vtable
20:33 Coke whiteknight: timings look fine.
20:33 whiteknight Coke: fine as in "not noticably worse than master?"
20:35 whiteknight sorear: in Parrot core, there are only two implementations of VTABLE_can: default and Object. Both defer directly to find_method
20:35 whiteknight and since Object is the mechanism through which all PIR-defined types are written, it is essentially always that way
20:38 jnthn I think one of Rakudo's dynpmcs may override it, but it's one that'll go away in the nom branch.
20:39 jnthn Oh, maybe it doesn't...
20:39 jnthn (as in, doesn't override it)
20:39 whiteknight okay, so this is starting to sound like an easy decision
20:40 Coke whiteknight: yes. it's pretty even.
20:40 whiteknight Coke: okay. Thanks for checking it. We may not merge that branch in anyway, if "can" is going to be on the chopping block
20:41 Coke I think our current vtable override mechanism is painful. Seems like we could do better.
20:41 Coke ... which is kind of a non sequitor, I realize.
20:42 jnthn I'm quite happy with 6model's way.
20:42 jnthn It should be a bunch faster than the way Parrot currently does it.
20:44 jnthn The idea is probably stealable into Parrot today too, fwiw.
20:46 sorear 6model has vtable overrides now?  for how long?
20:46 lucian_ joined #parrot
20:46 kid51 left #parrot
20:47 whiteknight Coke: you're right. The current vtable override system in Parrot is duct tape and paper clips
20:48 whiteknight blah, VTABLE_get_class isn't overridable either
20:49 jnthn sorear: Didn't finish it up fully yet, but what's left is boring LHF.
20:49 * sorear grumbles about jnthn changing 6model while sorear tries to steal it
20:49 jnthn sorear: For at least a few weeks, though.
20:49 jnthn sorear: Note, Parrot vtable override
20:49 lucian left #parrot
20:49 jnthn They're not very interesting to steal ;)
20:50 jnthn I'll give the typecheck cache logic an update worth stealing soon though :)
20:51 sorear Is nqp-nom better than 6model.net at everything yet?
20:52 sorear Coke: you have connections at TPF, right?
20:52 jnthn Not everything, but most.
20:52 jnthn Well, at least as good at, anyway.
20:53 sorear What are nqp/ctmo and nqp/match-nom?
20:56 jnthn match-nom is making Match object use new meta-model
20:56 jnthn ctmo = compile time meta-objects
20:56 jnthn That branch is making me do yak shaving first :)
20:59 sorear Is NQP reported by dalek?
20:59 jnthn Yes
20:59 jnthn I've comitted today and seen the commit messages here and #perl6
21:02 jnthn Any Parrot folks got any idea why my lexinfo - which works just fine in the .pir file - gets deserialized as a LexInfo? Or appears to... :/
21:04 plobsing lexinfo deserialized as a lexinfo? I'm not seeing a problem.
21:04 jnthn plobsing: Sorry, i wasn't clear
21:04 jnthn I have a hll mapped lex info (NQPLexInfo)
21:04 jnthn It's a dynpmc
21:04 jnthn When I run the .pir file it's the correct type, which means IMCC musta done the Right Thing and recognized the hll mapping.
21:05 jnthn However, when I compile it to .pbc, then run that, the type is Parrot's LexInfo
21:05 fperrad left #parrot
21:05 jnthn Which is bizzare as my NQPLexInfo isn't even a subclass
21:05 sorear when IMCC is in pbc-mode, are you sure it loads your dynpmc library _at all_?
21:06 sorear try adding debugging statements to your VTABLE_init
21:06 jnthn Oh hmm...that is a good question...
21:06 sorear it's possible that it never was a NQPLexInfo to begin with
21:06 plobsing jnthn: how are you loading the dynpmc library?
21:06 jnthn sorear: bingo
21:07 jnthn plobsing: https://gist.github.com/857666
21:07 jnthn plobsing: turns out the :immediate never gets called in PBC mode.
21:07 plobsing yeah. use .loadlib in stead.
21:07 whiteknight no, :immediate only gets run by the compiler, not by the loader
21:08 whiteknight welcome to IMCC flag hell
21:08 jnthn whiteknight: Yes, so why doesn't the compiler run it in PBC mode?
21:08 jnthn plobsing: I'm using .loadlib already
21:08 whiteknight jnthn: :immediate is "directly after compilation"
21:08 plobsing jnthn: then it is loaded.
21:08 jnthn whiteknight: No, it's not.
21:08 whiteknight jnthn: :load is "when loaded as a PBC"
21:08 whiteknight jnthn: the implementation would beg to differ
21:08 jnthn :immediate means "as soon as IMCC has finished parsing it"
21:09 jnthn If it didn't, it'd happen too late for IMCC to see the hll mapping and make the correct type of lex info.
21:09 plobsing this argument is moot if .loadlib is already being used. THIS IS NOT THE PROBLEM YOU ARE LOOKING FOR.
21:09 whiteknight jnthn: the exact timing with respect to parsing is moot, because :immediate runs during parsing, not PBC loading
21:09 jnthn whiteknight: I know!
21:10 jnthn Apart from IMCC *doesn't* bother to run it during the parse if you use -o x.pbc rather than just running the PIR file right off.
21:10 jnthn So the HLL map never takes place
21:10 jnthn So we create a normal LexInfo instead of an NQPLexInfo
21:10 masak joined #parrot
21:10 sorear So if you put a "say" in the :immediate sub, then compile to PBC, nothing gets printed by imcc?
21:11 jnthn sorear: Correct, that's how I checked.
21:11 masak hi, I just caused the GC to crash. anyone interested? :)
21:11 plobsing dynpmc HLL maps are managed by pmc2c.
21:11 whiteknight jnthn: oh, I didn't understand what you are saying. So it doesn't run with -o?
21:11 sorear masak: we're busy beating up the PIR compiler.  Wanna join?
21:11 whiteknight that's definitely weird
21:11 jnthn whiteknight: Correct.
21:11 masak sorear: not really. :)
21:11 jnthn whiteknight: Yes, I think it's weird too
21:11 jnthn plobsing: Oh...I can do the mapping in the PMC?
21:12 plobsing I beleive so. That's how partcl does it IIRC.
21:12 jnthn That may work out better for me. Maybe. :)
21:12 sorear It's still a bug if :immediate isn't
21:12 jnthn aloha, partcl?
21:12 aloha jnthn: partcl is broken, so it's not clear your change breaks it more or https://github.com/partcl/partcl
21:12 jnthn sorear: I agree.
21:13 jnthn I can make a ticket.
21:13 sorear Can you reproduce the behavior without nqp_group?
21:13 jnthn sorear: Almost certainly.
21:14 jnthn yes, I can
21:14 jnthn Filing ticket
21:21 dalek TT #2041 created by jonathan++: :immediate ignored when compiling to PBC
21:21 dalek TT #2041: http://trac.parrot.org/parrot/ticket/2041
21:23 jnthn plobsing: OK, I get further with the mapping in the PMC
21:25 jnthn Ah, and another fiddle later, things seem to be working out better.
21:25 jnthn plobsing++, sorear++
21:26 dalek nqp/slp: 67337e1 | jonathan++ | src/pmc/nqplexinfo.pmc:
21:26 dalek nqp/slp: Add visit, which should in theory mean all the state of this PMC gets serialized.
21:26 dalek nqp/slp: review: https://github.com/perl6/nqp/commit/67337e1f64
21:26 dalek nqp/slp: 4f4fa4f | jonathan++ | src/pmc/nqplex (2 files):
21:26 dalek nqp/slp: Add hll and map directives to NQPLexInfo and NQPLexPad PMCs. Now seems things get serialized as wanted.
21:26 dalek nqp/slp: review: https://github.com/perl6/nqp/commit/4f4fa4f901
21:27 lucian_ left #parrot
21:29 plobsing jnthn: you know you don't have to explicitly delegate freeze() and thaw() to SUPER right?
21:30 spinclad joined #parrot
21:31 jnthn plobsing: oh, duh
21:31 jnthn plobsing: Yes, I was at the "anything crazy to make things work" stage :)
21:31 lucian joined #parrot
21:31 jnthn Will toss, thanks.
21:32 jnthn Next piece of fun is realizing that NQP doesn't declare a HLL
21:32 jnthn So I can't HLL map anything at the moment!
21:32 jnthn The yaks. They're lining up all down the street.
21:33 plobsing maybe if you let them age, they'll lose their hair
21:33 jnthn :)
21:34 lucian_ joined #parrot
21:37 lucian left #parrot
21:42 hudnix left #parrot
21:45 hudnix joined #parrot
21:47 cotto ~~
21:47 masak ::
21:51 plobsing __
21:58 cotto the robot seems to be on another coding rampage
21:58 jnthn (the robot)++
21:59 masak (coding rampage)++
21:59 cotto bacek++
22:04 lucian_ left #parrot
22:05 masak left #parrot
22:11 masak joined #parrot
22:17 masak left #parrot
22:20 masak joined #parrot
22:24 ambs left #parrot
22:25 masak left #parrot
22:25 NotFound ~~
22:29 lucian joined #parrot
22:54 dalek nqp: 2e788f6 | jonathan++ | src/ (7 files):
22:54 dalek nqp: Move NQP into a HLL of its own. This is a pre-req for being able to HLL-map things for NQP's use, but will also go a long way to resolving NQP/NQP-rx symbol conflicts.
22:54 dalek nqp: review: https://github.com/perl6/nqp/commit/2e788f6386
22:54 dalek nqp: eb5f068 | jonathan++ | src/NQP/ (2 files):
22:54 dalek nqp: Register NQP as just NQP, not NQP-rx.
22:54 dalek nqp: review: https://github.com/perl6/nqp/commit/eb5f068feb
22:54 dalek nqp: 4c71035 | jonathan++ | t/hll/0 (2 files):
22:54 dalek nqp: Update a couple of tests to track NQP moving to its own HLL namespace.
22:54 dalek nqp: review: https://github.com/perl6/nqp/commit/4c710356c0
22:54 dalek nqp: 3cc2814 | jonathan++ | src/stage0/ (5 files):
22:54 dalek nqp: Update bootstrap.
22:54 dalek nqp: review: https://github.com/perl6/nqp/commit/3cc2814617
22:57 rurban_ joined #parrot
23:00 rurban left #parrot
23:00 rurban_ is now known as rurban
23:36 lucian left #parrot
23:52 bubaflub left #parrot
23:55 dalek Rosella: 826d9f4 | Whiteknight++ | src/test/ (6 files):
23:55 dalek Rosella: starting some big cleanups to the test library, specifically refactoring the Loader class. Add docs
23:55 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/826d9f4ce8
23:55 dalek Rosella: 8b9db86 | Whiteknight++ | src/test/ (5 files):
23:55 dalek Rosella: refactor the Suite, Result, and Loader classes
23:55 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/8b9db86bf1
23:55 dalek Rosella: b145466 | Whiteknight++ | src/test/Testcase.winxed:
23:55 dalek Rosella: finish test docs and refactors
23:55 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/b145466c10
23:55 dalek Rosella: 93183cb | Whiteknight++ | / (15 files):
23:55 dalek Rosella: improve error message on mockobject verify, listing all un-hit expectations. Improve error reporting for exceptions to show multi-line messages and full backtraces. MockObject.Factory can now return controllers of multiple types. Add tests for tests.
23:55 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/93183cb564
23:57 whiteknight let me tell you what: Writing this mock object library is extremely fun
23:57 NotFound winxed -Ofun
23:58 whiteknight for serious!
23:58 whiteknight winxed is turning out to be an extremely pleasant experience
23:58 NotFound Warning: redundant option
23:58 whiteknight :)
23:59 whiteknight NotFound: I'm thinking the winxed tokenizer logic might make a very nice stand-alone library

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

Parrot | source cross referenced