Camelia, the Perl 6 bug

IRC log for #parrot, 2012-05-05

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 dalek Heuristic branch merge: pushed 1000 commits to parrot/whiteknight/eh_subclass by Whiteknight
00:00 benabik ...
00:01 benabik That's awfully exact.
00:01 benabik I wonder if there was just a cutoff.
00:01 cotto nbrown: check the todo sections of https://gist.github.com/2581153 and let me know what you think.  You, jimmy and others are welcome to jump in and add more items to the list or work in implementing existing ones.
00:05 dalek Heuristic branch merge: pushed 516 commits to parrot/separator_fixes by Whiteknight
00:28 dalek parrot: 2e0c20b | Whiteknight++ | src/pmc/continuation.pmc:
00:28 dalek parrot: fix attrs in continuation to be inheritable
00:28 dalek parrot: review: https://github.com/parrot/parrot/commit/2e0c20bce5
00:28 dalek parrot: d266143 | Whiteknight++ | src/pmc/ (2 files):
00:28 dalek parrot: add get_attr_str VTABLEs to ExceptionHandler and Continuation. These are necessary if we want to be able to GET_ATTR_* on a subclass
00:28 dalek parrot: review: https://github.com/parrot/parrot/commit/d266143aa9
00:28 dalek parrot: 65df2ad | Whiteknight++ | eh.pir:
00:28 dalek parrot: Add a quick temporary testish file that I'm using to test this new feature. Will be folded into t/pmc/exceptionhandler.t when it works
00:28 dalek parrot: review: https://github.com/parrot/parrot/commit/65df2adee0
00:28 dalek parrot: 03ad4b6 | Whiteknight++ | / (956 files):
00:28 dalek parrot: Merge branch 'master' into whiteknight/eh_subclass
00:28 dalek parrot: review: https://github.com/parrot/parrot/commit/03ad4b6168
00:28 dalek parrot: 8431553 | Whiteknight++ | / (663 files):
00:28 dalek parrot: Merge branch 'master' into whiteknight/eh_subclass
00:28 dalek parrot: review: https://github.com/parrot/parrot/commit/84315536f1
00:28 dalek parrot: ed6c53c | Whiteknight++ | eh.pir:
00:28 dalek parrot: Remove a test file that was accidentally committed long ago
00:28 dalek parrot: review: https://github.com/parrot/parrot/commit/ed6c53cfec
00:29 whiteknight cotto: ping
00:30 cotto ~~
00:31 cotto hio whiteknight
00:31 cotto and pong
00:31 whiteknight msg cotto I'd like to merge in the manual_args branch. Can you take a look at it and see if you like the direction?
00:31 aloha OK. I'll deliver the message.
00:31 cotto ?
00:31 cotto I'm here
00:31 cotto what does it do?
00:32 whiteknight it adds in a :manual_args flag for .sub, which prevents it from automagically declaring "self"
00:32 cotto ok.  What's the use case?
00:33 cotto doesn't sound very scary
00:33 whiteknight I'm thinking about it as a transitional step so we can slowly get away from automagic self behavior
00:34 whiteknight so we can start playing with the idea now
00:34 cotto gradually switch everything to manual_args and then nuke automatic self?
00:35 cotto I need to read up on why automatic self is a bad idea.  Any recommendations?
00:35 whiteknight oh, I'd have to look up some old blog posts
00:37 cotto of yours?
00:37 cotto I can probably find them
00:37 cotto (and have probably read them, for that matter)
00:38 whiteknight yeah, I've complained about it mostly on my blog, and we've discussed it here though I doubt I could find the logs
00:39 cotto wfm
00:39 cotto that answers the question I was going to ask you
00:40 whiteknight the ultimate goal is really to get away from get_params op and similar, and make PCC more straight-forward and less magical
00:41 whiteknight the fact that we have opcodes that are so complicated that people can't use them manually is obnoxious
00:41 whiteknight and the fact that we have a variable that appears magically without being declared according to a set of very convoluted rules is obnoxious
00:42 whiteknight and we can't rename that variable, and there was a ticket somewhere to give us an :invocant flag to let us rename it...
00:43 whiteknight and vtables shoudl have self, but vtable_invoke suddenly has problems, and then Rakudo can't use this crap anyway because get_params doesn't do what they need so they write up their own binder because they can't use our
00:43 whiteknight ous
00:43 whiteknight ours
00:44 whiteknight The ultimate end goal is a good one, I just want a second opinion about whether this intermediate step is sane and worthwile
00:44 JimmyZ joined #parrot
00:46 JimmyZ cotto: Is there a way to know what is the type of constants?
00:47 cotto JimmyZ, no more than any other register
00:51 cotto JimmyZ, I'm actually toying with the idea of doing away with explicit register types altogether.
00:52 JimmyZ wfm
00:53 cotto that'd also make it easy to allocate a partial call frame, since code can just use registers sequentially
00:53 nbrown cotto: just saw your updated note. I like the idea of doing away with register types
00:53 nbrown since typing is just a sugestion, why do it?
00:53 cotto my thinking too
00:57 nbrown the list looks good
00:58 nbrown I want to add spec'ing hex constants too
00:58 nbrown I keep thinking it should be a string variant with a different encoding #. What do you think?
01:01 cotto nbrown, not quite.  My idea is that it's a bunch of literal bytes.  You could use it to encode a string ,but other things too.
01:01 cotto *the hex codes for bytes
01:02 nbrown ok, but when the assembler stores it in the m0b file, what will the format be?
01:03 nbrown I think it needs to be size in byte followed by data
01:03 nbrown but that conflicts with the current string spec
01:03 nbrown *string constant spec
01:03 cotto I see where you're going.
01:03 nbrown so a different encoding number would be a simple way to differentiate
01:04 cotto I think so, at least
01:04 nbrown ok
01:05 cotto In m0b, there'd need to be a length so the thing can get deserialized correctly.  In memory, it wouldn't be necessary.
01:05 nbrown why wouldn't it be necessary in memory?
01:05 cotto same reason an explicit length isn't necessary for a C struct
01:06 nbrown ok, but what if I wanted to use it to store a 256 bit hex number, like I did when I was considering implementing SHA in m0
01:07 nbrown I see your point for serialized objects, but I wanted to use it for raw data too
01:08 cotto the code that works with the 256-bit number knows that it shouldn't go past the last byte
01:09 nbrown oh right. Good point
01:10 nbrown sometimes I forget to keep m0 simple
01:23 nbrown I added a note to your gist about hex data
01:24 cotto btw, any word from your employer about the cla?
01:25 cotto time to add a remote to a gist clone
01:25 cotto wheee
01:26 rurban heap-buffer-overflow with /perl6 -e'my @a=splice([], 1);' reading 2 byte left a 64byte buffer in item + offset + elems1 src/pmc/resizablepmcarray.pmc:673
01:26 rurban but my PMC is only 32byte, hmm
01:26 nbrown I didn't have time to get in touch with the right person this week. It's on my list for monday
01:26 cotto nbrown, np
01:28 cotto gist updated
01:28 cotto and thanks
01:28 cotto git++
01:30 nbrown I agree, and with that I'm out for the night. But I'll definitely pick up some of those tasks this weekend
01:30 nbrown night parrot
01:30 cotto 'night, nbrown
01:30 cotto nbrown++
01:34 whiteknight rurban: you're doing great work with this analysis
01:34 benabik ~~
01:38 rurban https://github.com/parrot/parrot/issues/766
01:38 rurban we also need a testcase for @a=splice([], 1)
01:39 rurban whiteknight:  you can have this ticket. I don't know PMC internals
01:39 aloha (parrot/parrot) Issues opened : 766 (resizablepmcarray splice heap-buffer-overflow) by rurban : https://github.com/parrot/parrot/issues/766
01:43 dalek Rosella: 3fd6c9f | Whiteknight++ | src/unstable/net/ (4 files):
01:43 dalek Rosella: [Net] Add a second SocketFactory for IPv6 requests. The SimpleHttp user agent takes a flag to say whether to use ipv4 or ipv6. Some local config issues are preventing me from adequate testing of ipv6 requests
01:43 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/3fd6c9f602
01:43 dalek Rosella: 5861e03 | Whiteknight++ | src/random/randomnumber/MersenneTwister.winxed:
01:43 dalek Rosella: Merge branch 'master' of github.com:Whiteknight/Rosella
01:43 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/5861e03292
01:43 dalek Rosella: 928f888 | Whiteknight++ | t/harness:
01:43 dalek Rosella: [Xml] Add Xml to the harness
01:43 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/928f888add
01:43 dalek Rosella: 1851a8b | Whiteknight++ | src/unstable/net/ (3 files):
01:43 dalek Rosella: [Net] Some cleanups for the mime encoder. Break socket creation out into a separate function in the http protocol handler
01:43 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/1851a8bb72
01:43 dalek Rosella: 0788d25 | Whiteknight++ | src/test/Asserter.winxed:
01:43 dalek Rosella: [Test] Add in a new test method specifically for comparing strings
01:43 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/0788d25e74
01:43 dalek Rosella: 757c215 | Whiteknight++ | src/random/ (2 files):
01:43 dalek Rosella: [Random] Some fixes for the Mersenne Twister. Returned integers are in the range 0..0x7FFFFFFF only. Negative values and 64-bit values are not supported currently.
01:43 whiteknight rurban: I'll take it. I'll fix that and the other one tomorrow
01:43 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/757c215a23
01:43 dalek Rosella: 2d073ec | Whiteknight++ | src/harness/View.winxed:
01:43 dalek Rosella: [Harness] Fix a bug where failed tests are showing up under the wrong file
01:43 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/2d073ec957
01:43 dalek Rosella: cb2d2d2 | Whiteknight++ | / (24 files):
01:43 dalek Rosella: [Net] Add tests for net, fixing a few bugs I found along the way
01:43 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/cb2d2d225e
01:43 dalek Rosella: 63fd59c | Whiteknight++ | / (41 files):
01:43 dalek Rosella: [Net] Net is now stable
01:43 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/63fd59cb25
01:45 rurban whiteknight: the numbers look strange to me. maybe it's a false positive. you'd need to gdb into it
01:45 whiteknight I will
01:46 rurban And now I'm off for my wedding holidays for the next 2 weeks :)
01:46 whiteknight have fun!
01:47 rurban will have, bye
01:59 whiteknight I've got to fix these two tickets from rurban this weekend, then I want to wrap up the eval_pmc branch patches for nqp and rakudo
02:00 benabik two?
02:00 whiteknight he filed one earlier too
02:00 benabik Oh the interp thing.
02:01 whiteknight yeah
02:01 whiteknight Imma kick it in the butt
02:01 whiteknight but until then, it's bed time
02:01 benabik 'night
02:02 whiteknight goodnight
02:48 smash joined #parrot
02:54 eternaleye joined #parrot
03:01 eternaleye joined #parrot
03:24 cotto anyone around who cares about m0?
03:25 cotto https://gist.github.com/2599368
03:25 cotto so much less painful, it's almost not painful
03:38 alvis joined #parrot
03:40 smash joined #parrot
04:00 Maddingue joined #parrot
04:17 JimmyZ joined #parrot
04:18 JimmyZ cotto: me
04:18 JimmyZ or .alias
04:19 * benabik likes .alias over .namereg
04:20 JimmyZ me too
04:25 JimmyZ but, I'd like to let the assembler auto alias to a register, just like pir. something like ".define foo int"
04:34 cotto My current favorite is .foo = S0
04:35 cotto least noisy I could come up with
04:40 cotto whatever color the bikeshed gets, it wasn't too hard to get it working in the assembler and get the tests passing
04:42 benabik I wouldn't give up the general directive syntax to variables.
04:43 benabik If .foo defined a variable foo, then that blocks off all .whatever directives.
04:43 cotto That's a valid concern.  What other kinds of directives might we want?
04:44 benabik I don't know, but since you're already using .version, .chunk, .constants, etc...
04:44 benabik .alias, .var, or different punctuation is probably called for.
04:45 cotto yeah.  the other thing is that . already means a different set of things
04:45 benabik :var, $var, £var
04:45 cotto I'm going to veto any characters I have to copy/paste
04:45 JimmyZ I'm +1 to   ".var foo int " or ".alias foo = S0
04:46 cotto I don't like anything, so I'll go with .alias
04:46 benabik I'm likely to steal this syntax for GSoC
04:46 JimmyZ which syntax?
04:47 JimmyZ prefix . ?
04:47 benabik The assembler syntax in general.
04:47 benabik Although I'll probably have a .pact instead of .version or something similar to indicate its origin.
04:48 JimmyZ oh, a new assembly age
04:48 JimmyZ :)
04:48 benabik yesyes.
04:48 benabik Death to IMCC
04:48 benabik It's served us well, but it can rest now.  :-D
04:48 JimmyZ sure
04:50 JimmyZ imcc is doing thankless job :)
04:51 benabik And whiteknight++ is doing an even more thankless job by keeping it going.  :-)
04:51 JimmyZ hehe
04:52 benabik cotto: You may also want to have a way to alias constants
04:58 cotto benabik, how would that look (if you have an idea)?
05:11 benabik cotto: Give me a moment and I'll try to figure it out.
05:14 cotto benabik, no rush.  just curious
05:19 benabik cotto: Iteration 1 https://gist.github.com/2599989
05:20 benabik I'm completely ignoring PCC there.  It would be _ugly_ to write out by hand.
05:21 benabik (I did try to think about it for a moment though.)
05:21 cotto that'd fill the niche currently filled by pir?
05:21 benabik It's more a PASM level
05:22 benabik And even more explicit.  Needs separate constant sections.
05:22 benabik It's more-or-less used for what PIR is now.
05:22 cotto alright
05:22 cotto essentially M1
05:22 benabik But I'd expect it to be more a debugging and serialization format.  Compilers should access the API directly.
05:22 cotto or M.5
05:23 benabik M1 or M2, basically.  Whatever level normal parrot opcodes are.  It's supposed to be a direct text representation of PBC files.
05:24 cotto got it
05:24 benabik PCC would include FixedIntegerArrays in the `.constant pbc` section and calls to the opcodes.
05:25 benabik I would imagine that aliases occupy the same namespace as labels.  hm
05:25 benabik Although disambiguating labels and registers/constants may be interesting.
05:26 cotto something close to that
05:26 cotto tbh, I'm content saying "don't name them the same, then"
05:26 cotto low-level stuff can have sharp edges, especially if it's 99% generated
05:27 benabik Flat namespace, things named [INSP]C?\d+ (case sensitive) are reserved?
05:28 benabik Hm.
05:28 benabik Actually, I may require explicit types on the opcodes.
05:28 benabik set_n_nc i, NC0
05:28 cotto that's consistent with how pir works
05:29 benabik PIR determines opcode name by name + types.
05:30 benabik I somewhat want to allow raw integers as labels so the disassembler can just output PCs as labels and print jumps "naturally"
05:30 cotto basic-style
05:34 benabik Huh.  The jump opcodes actually accept int constants.
05:40 jwilliams joined #parrot
05:41 benabik I suppose this would be the more basic version: https://gist.github.com/2599989
05:41 benabik (same gist, just edited)
05:47 benabik Ah.  Better idea.  Output _PC as labels.  That way you can differentiate between labels and int constants.  And the assembler looks better with type annotations attached to the arguments.
05:54 dalek parrot/m0-regname: e80bf44 | cotto++ | / (4 files):
05:54 dalek parrot/m0-regname: first shot at register name aliases, plus tests and docs
05:54 dalek parrot/m0-regname: review: https://github.com/parrot/parrot/commit/e80bf446c2
05:55 cotto so, there's a thing
05:55 benabik Updated gist again.  Probably more sane version this time.
05:55 benabik Included a .var directive.
05:55 benabik And a lot more .ends
05:57 benabik Hm.  The .alias var = N0 is probably easier to understand
05:57 cotto just going to mention that
05:57 benabik updated
05:58 cotto what are options?
05:58 cotto pragmata?
05:58 benabik Yeah.
05:58 benabik I suppose I could use .pragma instead
05:59 cotto What's the point of spelling them out?  Will they not always be useful or will they have some associated cost?
05:59 benabik I was thinking that a very stupid parser might be useful for translation into C.
06:00 cotto hmmmm
06:00 benabik It would reject most options for simplicity.
06:01 cotto you mean a parser implemented in c or something that translates pact assembly to c?
06:01 benabik Parser implemented in C.
06:01 benabik If we kick IMCC from core, I'd like to have _some_ assembly available.
06:04 cotto if you have the brainpower left, I'd appreciate a quick once-over of that m0 branch
06:04 cotto it passes the test that the branch adds, so I don't expect anything surprising
06:15 benabik commit looks sane at a readover
06:17 cotto thanks
07:06 benabik msg whiteknight This may be relevant to your interests: PACT assembly, based on PASM/M0 https://gist.github.com/2599989
07:06 aloha OK. I'll deliver the message.
07:11 cotto I don't think I'll ever be able to see the phrase "relevant to <posessive pronoun> interests" without thinking of a cat.
07:12 cotto thank you, Internets
07:12 fperrad joined #parrot
07:13 cotto *possessive
07:13 jwilliams left #parrot
07:15 benabik I think of this: http://www.threadbombing.co​m/details.php?image_id=5307
07:15 benabik But, yes, the Internets are full of cats
07:20 cotto gloriously full
08:32 jwilliams joined #parrot
08:34 Khisanth joined #parrot
10:15 dalek parrot/coke/rm_pasm: dc85744 | jimmy++ | examples/benchmarks/ (15 files):
10:15 dalek parrot/coke/rm_pasm: remove some pasm files from examples
10:15 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/dc857449aa
10:15 dalek parrot/coke/rm_pasm: dd4280e | jimmy++ | / (3 files):
10:15 dalek parrot/coke/rm_pasm: Merge branch 'coke/rm_pasm' of github.com:parrot/parrot into coke/rm_pasm
10:15 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/dd4280e9cb
10:21 dalek parrot/coke/rm_pasm: 9adb728 | jimmy++ | examples/benchmarks/ (12 files):
10:21 dalek parrot/coke/rm_pasm: remove the rest of pasm files from examples
10:21 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/9adb7282ee
10:25 dalek parrot/coke/rm_pasm: 577c2c0 | jimmy++ | examples/subs/ (3 files):
10:25 dalek parrot/coke/rm_pasm: remove pasm files from examples/subs
10:25 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/577c2c0c91
10:34 dalek parrot/coke/rm_pasm: 95f2221 | jimmy++ | examples/ (8 files):
10:34 dalek parrot/coke/rm_pasm: remove the rest of pasm files from examples
10:34 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/95f2221ed5
10:39 dalek rakudo/nom: 3b028e9 | moritz++ | src/Perl6/Grammar.pm:
10:39 dalek rakudo/nom: fix ms//
10:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3b028e9857
10:41 dalek parrot/coke/rm_pasm: cd984a0 | jimmy++ | / (2 files):
10:41 dalek parrot/coke/rm_pasm: fixed t/benchmark/benchmarks.t tests
10:41 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/cd984a031d
10:49 dalek parrot/coke/rm_pasm: 70ac69f | jimmy++ | t/ (6 files):
10:49 dalek parrot/coke/rm_pasm: [t] remove pasm test randomly
10:49 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/70ac69f139
10:56 whiteknight joined #parrot
10:58 dalek parrot/coke/rm_pasm: 78896f6 | jimmy++ | t/ (7 files):
10:58 dalek parrot/coke/rm_pasm: [t] remove pasm tests randomly
10:58 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/78896f6b92
11:05 whiteknight good morning, #parrot
11:06 tadzik hello whiteknight
11:09 whiteknight hello tadzik
11:11 dalek parrot/coke/rm_pasm: e50f810 | jimmy++ | / (5 files):
11:11 dalek parrot/coke/rm_pasm: [t] remove pasm tests randomly
11:11 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/e50f810a9f
11:21 dalek parrot/coke/rm_pasm: 2d63cbe | jimmy++ | / (3 files):
11:21 dalek parrot/coke/rm_pasm: change t/pmc/testlib/number.pasm to pir, also fix Makefile
11:21 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/2d63cbe23a
11:21 JimmyZ joined #parrot
11:23 dalek parrot/coke/rm_pasm: 2ba688c | jimmy++ | t/pmc/testlib/number.pir:
11:23 dalek parrot/coke/rm_pasm: fixed t/pmc/testlib/number.pir
11:23 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/2ba688ce8b
11:26 dalek rakudo: d7f45ff | moritz++ | src/core/Cool.pm:
11:26 dalek rakudo: Cool.eval
11:26 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/d7f45ff8cf
11:26 dalek rakudo/nom: dbcdb16 | jnthn++ | src/core/Cursor.pm:
11:26 dalek rakudo/nom: In /<$x>/ don't recompile $x every single time we pass it while scanning/backtracking. This implements it exactly as S05 suggests: 'the compiled form is cached with the string'.
11:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dbcdb1670a
12:09 whiteknight something seems screwy with Configure.pl today
12:09 whiteknight if I pass in -ccflags="...", it uses those only and avoids all others
12:22 dalek parrot: 0b7ccce | Whiteknight++ | / (3 files):
12:22 dalek parrot: Add a new Parrot_x_execute_on_exit_handlers to call exit handlers. Use that in the embedding API to fix an error where we were destroying the interp before attempting to call these handlers. This *should* fix #765
12:22 jwilliams left #parrot
12:22 dalek parrot: review: https://github.com/parrot/parrot/commit/0b7ccce8fe
13:05 kid51 joined #parrot
13:09 nopaste "kid51" at 70.85.31.226 pasted "Parrot failing to build with g++" (487 lines) at http://nopaste.snit.ch/138011
13:18 kid51 joined #parrot
13:33 kid51 msg whiteknight Commit 84315536f18 on May 04 appears to cause the g++ compilation failure pasted earlier
13:33 aloha OK. I'll deliver the message.
13:34 whiteknight kid51: on it
13:35 nopaste "kid51" at 71.246.111.55 pasted "git diff -w 6c302cf6acb8..84315536f18" (115 lines) at http://nopaste.snit.ch/138022
13:44 dalek parrot: 6351204 | Whiteknight++ | src/pmc/ (2 files):
13:44 dalek parrot: Fix some build errors from un-thought-out attribute accesses. kid51++ for the catch
13:44 dalek parrot: review: https://github.com/parrot/parrot/commit/635120429e
13:51 kid51 Confirmed
13:51 whiteknight msg benabik your gc finalize branch still doesn't run finalization. I'm working on a branch that will actually enable it (the fix is MUCH larger)
13:51 aloha OK. I'll deliver the message.
14:14 whiteknight much, much harder
14:28 benabik whiteknight: Well, fair enough.  It was just an experiment.  Feel free to overwrite the branch.
14:32 whiteknight blah, this destroy code is horrible
14:33 whiteknight enabling it brings out the segfaults
14:39 whiteknight The biggest problem is that so many of our C-level tests expect Parrot_interp_destroy to do nothing, because in master it does nothing
14:40 whiteknight so to change that, we need to add a new function
14:43 dalek parrot/whiteknight/gc_finalize: 75a6765 | Whiteknight++ | / (4 files):
14:43 dalek parrot/whiteknight/gc_finalize: Enable GC finalize at parrot destroy. Refactor the destroy process to not use at-exit processing, because the at-exit mechanism requires GC stuff to be available (which it isn't if we destroy the interp during at-exit). Tests expect Parrot_interp_destroy() to do nothing, so create a new Parrot_interp_destroy_for_exit which does gc finalization and frees resources
14:43 dalek parrot/whiteknight/gc_finalize: review: https://github.com/parrot/parrot/commit/75a676512d
15:01 dalek parrot/whiteknight/gc_finalize: ab20bd9 | Whiteknight++ | src/interp/api.c:
15:01 dalek parrot/whiteknight/gc_finalize: Some small cleanups
15:01 dalek parrot/whiteknight/gc_finalize: review: https://github.com/parrot/parrot/commit/ab20bd937c
15:01 dalek parrot/whiteknight/gc_finalize: a3f8fc3 | Whiteknight++ | / (6 files):
15:01 dalek parrot/whiteknight/gc_finalize: Remove the PARROT_DESTROY_FLAG. That flag was optionally enabling GC finalization. If we're always finalizing, we don't need that flag. This is the --leak-test commandline option
15:01 dalek parrot/whiteknight/gc_finalize: review: https://github.com/parrot/parrot/commit/a3f8fc3ab7
15:11 cotto ~~
15:48 Psyche^ joined #parrot
16:08 dalek rakudo/use-arglist: ff4843a | moritz++ | src/Perl6/Grammar.pm:
16:08 dalek rakudo/use-arglist: preparations for use with arglist
16:08 dalek rakudo/use-arglist: review: https://github.com/rakudo/rakudo/commit/ff4843a557
16:08 dalek rakudo/use-arglist: 3b5d78c | moritz++ | src/Perl6/ (3 files):
16:08 dalek rakudo/use-arglist: move make_simple_code_object to World, rename it to start with create_
16:08 dalek rakudo/use-arglist: review: https://github.com/rakudo/rakudo/commit/3b5d78c3ae
16:23 JimmyZ joined #parrot
16:23 JimmyZ joined #parrot
16:57 PacoAir joined #parrot
17:12 dalek parrot/m0: e80bf44 | cotto++ | / (4 files):
17:12 dalek parrot/m0: first shot at register name aliases, plus tests and docs
17:12 dalek parrot/m0: review: https://github.com/parrot/parrot/commit/e80bf446c2
17:15 crab2313 joined #parrot
17:21 dalek rakudo/use-arglist: ba1f23a | moritz++ | src/Perl6/ (3 files):
17:21 dalek rakudo/use-arglist: move make_thunk to World, as create_thunk
17:21 dalek rakudo/use-arglist: review: https://github.com/rakudo/rakudo/commit/ba1f23ad67
17:59 brrt joined #parrot
18:13 whiteknight /* Sometimes it's the next key, sometimes it's not.  The Key code is like that. */
18:13 whiteknight this code fills me with joy
18:25 cotto I knew that comment sounded familiar.
18:26 cotto not one of my more helpful comments though
18:29 whiteknight the comment is not the unhelpful part
18:30 whiteknight it is a very honest assessment of very lousy code
18:48 brrt whiteknight: help!
18:48 whiteknight brrt!!!
18:48 brrt can't link to parrot
18:48 whiteknight what URL are you using?
18:49 brrt i do:
18:49 whiteknight :)
18:49 brrt gcc parrot-test.c `parrot_config embed-cflags` `parrot_config embed-ldflags` -I`apxs -q INCLUDEDIR` `pkg-config apr-1 --cflags`
18:49 brrt no, other type of linking
18:49 whiteknight I know. What error are you getting?
18:49 brrt /tmp/cccx0hxB.o: In function `main':
18:49 brrt parrot-test.c:(.text+0x29): undefined reference to `Parrot_api_make_interpeter'
18:51 brrt parrot-test is my own twist to the file in the api documentation
18:51 whiteknight I think you spelled interpreter wrong
18:52 brrt oh
18:52 brrt i do
18:52 brrt :-)
18:52 brrt so, no problems then
18:53 brrt oh, wait, can't find shared libparrot.so
18:54 brrt but that is probably a path issue
18:56 whiteknight yeah, make sure the library is in the location `parrot_config embed-ldflags` says it is
18:56 whiteknight you may also want to update LD_LIBRARY_PATH
18:57 brrt that variable, yes :-)
18:58 brrt .. probably more clever than editing /etc/ld.so.conf
19:00 * brrt needs to refresh his c compiler invocation skills
19:04 whiteknight I have to go run an errand. I'll be back in ~30 min
19:05 brrt bye
19:11 brrt i know i'm greedy, is there anyone working on a vim / emacs mode for winxed?
19:39 davidfetter joined #parrot
19:44 cotto brrt, NotFound has mentioned that he doesn't like syntax highlighting.  If you can take the time, it'd come in handy.  If not, using js highlighting would probably get you a useful result.
20:09 brrt joined #parrot
21:05 schmooster joined #parrot
21:18 benabik I have a basic winxed syntax highlight for Vim
21:19 benabik https://github.com/Whiteknight/winxed-highlight
21:20 contingencyplan joined #parrot
21:29 whiteknight benabik: I have a present for you
21:30 dalek parrot: 85b0c86 | Whiteknight++ | / (2 files):
21:30 dalek parrot: Put together a few Pobj-alike macros for working with the Key flags. Use them in the Key PMC to clean up a little
21:30 dalek parrot: review: https://github.com/parrot/parrot/commit/85b0c86094
21:30 dalek parrot: 24dccbc | Whiteknight++ | / (2 files):
21:30 dalek parrot: Use the new KEY_ macros in src/key.c to cleanup some code and make it more readable
21:30 dalek parrot: review: https://github.com/parrot/parrot/commit/24dccbc48d
21:30 dalek parrot: bdf45a2 | Whiteknight++ | src/ (2 files):
21:30 dalek parrot: Add several prototype introspection methods to Key PMC for working with register references
21:30 dalek parrot: review: https://github.com/parrot/parrot/commit/bdf45a290f
21:33 whiteknight benabik: Please take a look at these additions. If they work for what you need, or if they need to be modified, let me know. I haven't done much testing yet.
22:02 travis-ci joined #parrot
22:02 travis-ci [travis-ci] parrot/parrot#294 (master - bdf45a2 : Whiteknight): The build was fixed.
22:02 travis-ci [travis-ci] Change view : https://github.com/parrot/par​rot/compare/6351204...bdf45a2
22:02 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/1254888
22:02 travis-ci left #parrot
22:35 Coke pbc_disassemble generates PASM. shoudl it?
22:36 Coke er:  if PASM goes away should pbc_disassemble go away, or should it generate PIR instead?
22:36 Coke perhaps go away until m0 appears?
22:36 Coke (i'd rather not do that since that leaves a gap)
22:59 brambles joined #parrot
23:14 brambles joined #parrot
23:18 dalek Heuristic branch merge: pushed 17 commits to parrot/coke/rm_pasm by coke
23:18 Coke no, that's just a lot of commits.
23:23 alvis joined #parrot
23:26 Coke do we care if our merges are squashed or not?
23:29 Coke is INTERPINFO_CURRENT_OBJECT gone?
23:31 Coke ah, looks like bacek did a partial removal of it.
23:32 dalek Heuristic branch merge: pushed 37 commits to parrot/coke/rm_pasm by coke
23:35 dalek parrot/coke/rm_pasm: c92158f | coke++ | config/gen/makefiles/root.in:
23:35 dalek parrot/coke/rm_pasm: This target was removed in an earlier commit
23:35 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/c92158f6f6
23:36 aloha (parrot/parrot) Issues closed : 765 (With --leak-test at the final interp->exit_handler_list = NULL; interp is already freed ) by rurban : https://github.com/parrot/parrot/issues/765
23:37 Coke wierd. if I go to that ticket, I see whiteknight closed and reopened it 11 hours ago, but don't see that rurban just closed it.
23:47 dalek parrot/coke/rm_pasm: c9140a1 | coke++ | t/pmc/object-meths.t:
23:47 dalek parrot/coke/rm_pasm: Fixup test plan
23:47 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/c9140a1ede
23:47 dalek parrot/coke/rm_pasm: 5c447ff | coke++ | t/pmc/orderedhash.t:
23:47 dalek parrot/coke/rm_pasm: fix conversion of test to PIR
23:47 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/5c447ffa4d
23:50 Coke whiteknight: you're failing some codetests with recent commits to master.
23:50 Coke t/codingstd/c_arg_assert.t

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

Parrot | source cross referenced