www.parrot.org | planet.parrot.org | 1.4.0 | Feature Freeze: No big changes before the 1.5.0 release | Current Focus: TESTING!
Set by moderator on 17 August 2009.
Coke allison: will the PCC rewiring branch, in addition to sunshine and puppies, provide reduced memory usage? 00:04
dalek rrot: r40610 | allison++ | branches/pcc_arg_unify/src/debug.c:
[pcc] Add some safety features to PDB_backtrace so it can't get stuck in

the backtrace.
00:05
allison Coke: the current refactor won't, but it lays the groundwork for more refactors later that could
00:05 patspam joined
Whiteknight yes, lots of delicious groundwork 00:05
allison: you have an ETA for the current branch? 00:06
allison Coke: mainly want to get it working and merged for now
Coke yes please.
Whiteknight allison: and I hate to keep asking, but is their anything that the peasantry can do to help? 00:07
allison Whiteknight: I'm over the hump now, the conversions are done and I'm just debugging test failures (which have mainly turned out to be a few lines of changes scattered here and there)
Whiteknight: I'm down to 374 'coretest' failures
Whiteknight oh only 374? That's a solid hour worth of work :)
allison Whiteknight: and most of those seem to be caused by one failure in Test::Builder (which means all the PIR test files fail) 00:08
Whiteknight: :) Yeah, I can't really give a time, because it's all debugging, but we're close anyway.
Whiteknight okay. I seriously don't mean to nag or harass, I'm just very excited by the whole thing :) 00:09
allison :) that's okay
Coke OOOH, can I nag? =-)
allison it's not really a big deal of a branch, but the excitement is appreciated anyway :) 00:10
Coke actually, allison is (I think) the only architect or pumpking I haven't pissed off.
allison lol :)
Coke goes off to play _inFamous_ while this spectest run churns. 00:12
00:12 kid51 joined 00:14 rdice joined
dalek rrot: r40611 | allison++ | branches/pcc_arg_unify/src/hash.c:
[pcc] Convert an impossibly horrible assert to a condition. This means

shouldn't ever be turned off.
00:15
rrot: r40612 | allison++ | branches/pcc_arg_unify/src/scheduler.c:
[pcc] Conversion that didn't apply in the patch from the 'pcc_rewiring'
00:25
00:27 davidfetter joined
l3t0 i have been keeping the mirror of all of our current svn branches up to date on github, in case anybody cares: github.com/leto/parrot/tree/master 00:29
00:38 ruoso joined
Whiteknight I'm always struck by how much easier it would have been to implement some of these systems "the right way" the first time instead of having to go through and fix them in place 00:38
00:38 michaelnussbaum08 joined
Whiteknight of course, you don't know what is "the right way" until you've already screwed it up the first time, so we are at an impasse 00:38
chromatic Encapsulation is always the right way, at least for a first approximation. 00:42
Whiteknight okay, then whoever wrote some of these things originally did it the wrong way, at least for a first approximation 00:45
but now we're the master reapproximatos 00:46
that's spanish for reapproximators
I also have an acute overabundance of self-importance 00:48
Coke a historically non-rare commodity in the project. 00:50
chromatic Self-importance or the wrong way?
Coke first one... 00:51
purl first one is often the best one
treed Hm. 00:52
Coke some of the tests which ABEND in the partcl spec suite seem to do so randomly. PITA.
treed Would it be reasonably to have Parrot-space methods that are not presented to users of a given HLL?
s/ably/able/
Coke yes.
er.
treed And what would be the best way to achieve that? Just keep a separate list of user-space methods?
Coke do you literally mean "methods on objects", or just "things in other namespaces" ?
treed I mean methods on objects. 00:53
Coke yes, it would be reasonable, but I know of no way to do it.
treed In particular, I'm running into a problem where I don't want parrot:Integer's methods visible to users of cardinal;Integer
Coke if it were tcl, i'd probably name the HLL methods "&method", and leave the parrot ones with no prefix.
so if someone tried to invoke "foo.blah", I'd rewrite it to "foo.&blah" 00:54
or something equally evil.
treed I'm considering an array of HLL methods.
Including renaming.
The particular issue here is parrot;Integer.to_int
Coke treed: as long as "find_method" works for the HLL, I suppose it doesn't matter.
treed cardinal;Integer must not have a method by that name.
"find_method" is an opcode?
treed has been trying to figure out how method calling happens 00:55
er
s/Integer/String/g
Having a to_int method in Ruby indicates that the object can be treated as if it were an int.
(Whereas to_i is the explicit conversion method.) 00:56
Whiteknight treed: find_method is an opcode, and I think there is a VTABLE that does that too
Coke the method name collision is definitely a potential issue. I don't hink parrot has a standard way for avoiding it.
Whiteknight so you can override the find_method VTABLE and just return PMCNULL for to_int
Coke the C++-like name mangling seems easiest.
Whiteknight BLASPHEMY!
Coke METHOD not VTABLE
Whiteknight Coke: right, override the VTABLE that finds the methods, and then only find the ones you want 00:57
treed nods.
Now, does that affect within-parrot as well as HLL usage though?
Coke that almost seems sane. bet you a dollar it doesn't work. =-)
yes. 00:58
treed Because I'd prefer to leave within-parrot stuff accessible.
Coke treed: but arguably that isn't a problem.
why?
treed Because sometimes you need a given method or whatever to interact properly with the rest of the system.
I guess those are vtables.
So I could leave them unnamed.
Coke treed: yes. 00:59
but arguably, if your PMC shouldn't be an int, it should NEVER be an int. no?
but you can decide whether to override the vtables, too.
Whiteknight goodnight all
treed Coke: Well, there are other vtables as well. 01:01
Things that return a parrot bool (ie, an integer), rather than a cardinal bool.
The two are not compatible.
Unless I make a get_integer vtable on TrueClass and FalseClass.
(Maybe?)
And I don't want those vtables polluting the Ruby namespaces. 01:02
Coke vtables aren't in the namespace.
at least, they should not be.
methods yes, vtables no.
treed .sub 'foo' :method :vtable('get_whatever')
That's not usable as a method?
Coke sure.
but you're deliberately exposing that vtable as a method. 01:03
treed So you don't need to in order for it to work as a vtable?
Coke if you don't want the vtable in the namespace, don't use :method
treed Cardinal has no cases that I know of where :vtable is used but :method is not.
And it'll still work for that object?
Coke vtables don't need to be methods. Yes.
treed And the vtable sub can still use self?
Coke if not, it's a bug. 01:04
treed Huh, neat.
Coke (i hesitate to say anything works.)
treed nods.
That'll make things a little easier, I think. 01:05
Now, the other issue with to_int is that I still need access to it, so I don't want to just disable it outright. 01:06
I need to call it from to_i.
Coke you don't invoke vtables directly, you have opcodes for that.
so if you need the get_integer vtable, you say ".local int foo; foo = myObj"
treed Is there an opcode for to_int? 01:07
Also, is find_method where I'd handle MRO? 01:08
dalek rtcl: r591 | coke++ | trunk/docs/spectest- (2 files):
update spec test after latest run.
mikehh Coke: should I run make spectest again in partcl? 01:20
well giving it a try anyway (and logging it) 01:32
01:36 dukeleto joined
dukeleto 'ello 01:44
is there anything that needs to be done for the release tomorrow? 01:45
chromatic Fix all bugs?
dukeleto chromatic: Yes, please. Let me know when you are done :) 01:46
does anybody need last minute testing/etc ?
it would be nice to fix this: trac.parrot.org/parrot/ticket/930 01:49
chromatic Does quoting paths help? 01:51
dukeleto chromatic: sure, until someone puts a double quote in their directory name :) 01:52
chromatic File::Spec to the rescue. 01:53
dukeleto it is getting a bit close to the release to start fiddling with how the makefile is generated 01:54
we should at least add a note somewhere about the issue 01:55
mikehh dukeleto: I had a look at this - how does this effect makes other than gnu make 02:00
I know that there are problems with quoting in gnu make but what about nmake and others 02:02
02:03 Andy joined
nopaste "chromatic" at 72.87.39.97 pasted "Escape freaky characters in checkout directory (TT #930)" (20 lines) at nopaste.snit.ch/17576 02:05
02:05 japhb joined 02:14 Andy joined
kid51 Well, this release is shaping up to be ... boring! 02:15
kid51 observes a faint smile crossing chromatic's face
02:16 nathanmccauley joined
dalek rdinal: c34fa18 | treed++ | build/Makefile.in:
Cause the Makefile to use the rakefile for testing.
02:23
02:31 hercynium_ joined 02:36 janus joined
Coke anyone interested in helping with some bug admin for partcl? 02:42
dukeleto Coke: what kind of yak shaving does that entail? 02:43
Coke at partcl.googlecode.com, opening tickets for spec tests that don't run to completion.
(mainly the ones skipped due to segfaults, and then putting the ticket information back in the list of failing tests.) 02:44
code.google.com/p/partcl/wiki/SpecTestStatus
{Spider Robinson}++ 02:45
dukeleto mikehh: i am not quite sure about how the various flavors of make are effected 02:48
mikehh Coke: I got 7 of those which exited with !! child died with signal 11, without coredump 02:49
02:49 nathanmccauley joined
Coke mikehh: yah, I have trouble keeping track of which ones are failing and which are not; it would be helpful if you could open tickets for those which failed that way so we can start doing a better job tracking. 02:50
mikehh dukeleto: we should try the patch by chromatic++ (after the release)
Coke something like "lindex.test does not run to completion", or something. 02:51
dukeleto mikehh: i am trying it now, but I agree about waiting until after the release to commit it
mikehh: since that is not something that is tested or easy to write a test for
mikehh dukeleto: we need to get the windows bunch and other platforms to try it 02:52
Coke bah. for finding segfaults, non-optimized parrot is better. 02:55
mikehh Coke: append, appendComp, cmdIL, compExpr-old, expr-old, format, set-old 02:57
kid51 mustg sleep 02:58
kid51 must sleep
purl $kid51->sleep(8 * 3600);
mikehh ok I got cardinal to build and test
I couldn't get lua to build
Coke mikehh: did cmdIL generate a line that looks like: 03:03
cmdIL.test: Total 122 Passed 71 Skipped 3 Failed 48
if not, what test did it stop on? (my last run for that file, it completed, but exited with value 1)
03:05 nathanmccauley joined
Coke bah. lsearch.test fails in an optimized parrot, but not in a regular parrot. 03:05
mikehh Coke: no it ran ++++ cmdIL-1.29 PASSED, !! child died with signal 11, without coredump then Skipping t_tcl/cmdInfo.test: see code.google.com/p/partcl/wiki/SpecTestStatus
Coke: the log file is 19729 lines 03:07
Coke I can eliminate some of that; I've been printing out PASSED and SKIPPED when the regular tcl suite doesn't.
I can probably remove that now.
mikehh It allows you to keep track - if you output to a log file 03:08
I used make spectest 2>&1 | tee spectest.591.40606.log 03:09
03:12 nathanmccauley joined
mikehh I am using konsole with unlimited scrollback and at the moment 15 tabs in 2 windows :-} 03:13
it's taking 585.7 MiB of virtual memory, but only 37.2 MiB of actual memory 03:16
anyway I need to get some sleep - I have to take my grandsons to school in about 4 or so hours - bbl 03:19
dukeleto chromatic: parrot compiles and tests successfully with your patch when I have the a space in the path (on OSX) 03:32
cotto yay for last-minute patching! 03:46
03:54 mikehh_ joined
dukeleto chromatic: i attached a patch and note to trac.parrot.org/parrot/ticket/930, I think we should test on a few more platforms to be sure 03:57
cotto dukeleto, I'll test it on Linux/x86. That's a rare platform, right? 03:59
dukeleto cotto: like a striped zebra 04:00
cotto dukeleto, so if the build works, the patch is good? 04:06
dukeleto cotto: pretty much, although I rant the full test suite as well since I am paranoid
cotto I'll call it good then. 04:07
dukeleto cotto: should we test it on more platforms or commit it? i just don't know what the policy on last minute commits is 04:08
mikehh: can you test the patch at trac.parrot.org/parrot/ticket/930 on windows?
cotto this also gives me a good chance to see how email2trac works 04:09
chromatic The bug's been around for a long, long time; no rush to apply the patch before the release. 04:10
I'd rather leave a known problem existing than risk a regression here.
dukeleto chromatic: my thoughts exactly 04:12
cotto This is great. every time I sit down to figure out Continuations and CPS I can feel myself getting closer to understanding them. 04:27
chromatic fork() creates a continuation.
cotto in its own limited way 04:29
dukeleto a continuation is kind of like git for the history of the state of execution of the program. you can reset to any intermediate state and act on and modify that state. or something like that 04:31
dalek rtcl: r592 | coke++ | trunk/runtime/builtin/namespace.pir:
Fix usage for [namespace code ...]
04:39
rtcl: r593 | coke++ | trunk/runtime/builtin/info.pir:
Make [info commands] work on namespaces.
rtcl: r594 | coke++ | trunk/runtime/builtin/info.pir:
die with a proper tcl error.
05:20 cotto joined
Coke yay. I actually committing things that pass more tests, instead of avoiding deprecations or doing refactors. 05:47
"committed"
dalek rtcl: r595 | coke++ | trunk/runtime/builtin/namespace.pir:
fix [namespace children] for namespaces other than tcl's root.
05:49
06:10 uniejo_ joined
dalek rrot: r40613 | allison++ | branches/pcc_arg_unify/src/call/pcc.c:
[pcc] The value of PARROT_ARG_INTVAL is '0', so can't use a simple truth

variable to mark when the argument has been set instead.
06:18
chromatic Ah. Renumbering that enum wouldn't work. 06:20
dalek TT #932 created by dukeleto++: Warnings in compiling bignum.pmc 06:23
rtcl: r596 | coke++ | trunk/runtime/builtin/info.pir:
improve [info vars]/[info globals] when used inside a child namespace
06:44
06:47 HG` joined
dalek rtcl: r597 | coke++ | trunk/runtime/builtin/namespace.pir:
fix [namespace qualifiers x]
06:54
06:59 nathanmccauley joined
dalek kudo: 5a2aeaf | moritz++ | (17 files):
remove some trailing whitespaces
07:01
bacek_at_work moritz: do you use vim or emacs? 07:05
07:05 mokurai left
moritz bacek_at_work: vim 07:05
nopaste "bacek" at 211.29.157.151 pasted "small vim enhancement for moritz" (5 lines) at nopaste.snit.ch/17578 07:06
bacek_at_work moritz: just stick into .vimrc. It will highlight a lot of trailing spaces in rakudo :)
moritz bacek_at_work: I know; most of them are due to jonathan's editor, whatever it is 07:07
bacek_at_work suspect VC... 07:08
moritz something along these lines, yes 07:09
bacek_at_work returning back to $dayjob duties 07:10
08:11 sjn joined 08:33 chromatic joined 08:54 ComLock joined 08:59 masak joined
NotFound notfound.posterous.com/autoattrs-branch 09:35
09:36 jrtayloriv joined 09:39 jrtayloriv joined
moritz NotFound++ 10:19
10:19 bacek joined
bacek o hai 10:44
seen whiteknight 10:48
purl whiteknight was last seen on #parrot 9 hours, 49 minutes and 9 seconds ago, saying: goodnight all
bacek time to wake up... 10:49
rrot: r40610 | bacek++ | trunk (27 files)
merge context_pmc2 branch into trunk
10:55
dalek rrot: r40614 | bacek++ | branches/context_pmc2/include/parrot/register.h:
Fix macros from previous commits
11:16
bacek msg whiteknight I jumped on context_pmc2 train^W branch. I really want it done.
purl Message for whiteknight stored.
bacek msg whiteknight I'm going to convert Parrot_Context structure in the same way as I did for Parrot_sub. Hold your breath for couple of hours 11:19
purl Message for whiteknight stored.
moritz holding breath for a couple of hours is likely mortal. 11:20
bacek scratching his shiny metal ass. 11:21
O RLY? :) 11:22
11:45 kid51 joined
kid51 'make fulltest' passed all tests on Darwin/PPC at r40612 and on Linux/i386 at r40607 11:46
11:47 Whiteknight joined
moritz now let's merge some branches... :-) 11:48
kid51 ... uh, we haven't released yet, correct? 11:51
moritz right, that's why there was a smiley at the end :-) 11:52
11:56 quek joined
bacek wiping out smile from his face and run "git merge; git svn dcommit" 11:56
Whiteknight no release yet 12:08
soon, I hope
bacek: ping 12:09
bacek Whiteknight: pong
Whiteknight bacek: that branch is not a trainwreck!
bacek It will be! 12:10
At least I already wrecked it locally :)
Whiteknight oh, okay
well feel free to do whatever you want to it, I'm busy with other things today
And I still don't have a good name for the release either, so I have to make something up quick! 12:11
bacek Thats good. No one will stop me on my evil path to conquer the world!
Whiteknight it's really not so evil 12:12
bacek It is! 12:13
bacek evilly laughing
kid51 Ah, but is it *encapsulated* evil?
bacek Yes. In this universe.
kid51 goes to $job 12:17
12:21 payload joined
bacek Whiteknight: bah... Parrot_Context, Parrot_sub and Parrot_cont are closely coupled... 12:24
dalek TT #933 created by gerd++: building NQP on ppc stops with 'Segmentation fault' 12:25
12:26 szabgab joined
bacek msg Whiteknight I'll continue breaking context_pmc2 tomorrow right after merging tt795 branch to trunk and trunk to context_pmc2. 12:33
purl Message for whiteknight stored.
Whiteknight okay, awesome 12:34
Could everybody take a look at NEWS after r40615 and please update it? 12:35
dalek rrot: r40615 | whiteknight++ | trunk/NEWS:
Add NEWS entry for 1.5.0
Whiteknight anybody around on 32-bit linux? 12:51
dalek rrot: r40616 | whiteknight++ | trunk/PBC_COMPAT:
I can't generate the native PBCs on this platform, so I'm changing PBC_COMPAT here and hoping somebody else can do it.
12:53
rrot: r40617 | NotFound++ | trunk/NEWS:
NEWS update
13:00
rtcl: r598 | coke++ | trunk/docs/spectest- (2 files):
update spec test info.

  .test files have come and gone. This run was much slower, though.
13:05
Coke Whiteknight: you don't have an account on feather? 13:10
Whiteknight nope
Coke ask juerd? 13:11
juerd?
purl somebody said juerd was root or at juerd.nl/ or mailto:juerd@juerd.nl
Coke I can run it now. moment.
Coke wonders why mk_native_pbc is running configure /twice/ 13:14
purl Hmm. No matches for that, Coke.
Coke (and rebuilding 2x.)
Whiteknight: I ran the script, it appears to have had no effect. 13:19
(no files were changed in my checkout.)
Whiteknight well, I don't know anything about it really
I can't run it on my x64 box, always gives me errors 13:20
dalek rrot: r40618 | NotFound++ | branches/auto_attrs (70 files):
merge from trunk r40617
Whiteknight so I usually ask Infinoid to do it for me :)
Infinoid is useful, when properly scripted 13:28
moritz :-) 13:29
bacek Coke: try --noconf. mk_native_pbc trying to build with different FLOATVAL size... 13:36
NotFound Whiteknight: I think PBC_COMPAT requires tab delimited entrie 13:37
s
bacek really hate PBC's format... It's too fragile...
dalek rrot: r40619 | bacek++ | trunk/t/native_pbc (4 files):
[cage] Rebuild native PBCs
Coke was there a thread to the email that email2trac was now working? 13:40
... to the mailing list, I mean.
(because it doesn't really work yet.) 13:41
(nope, doesn't look like it was, good.)
msg cotto your email reply to that ticket was lost, btw. 13:42
purl Message for cotto stored.
Coke wonders why I have to specify an arg to mk_native_pbc to get it to work. 13:44
(instead of it just... workign) 13:45
Whiteknight okay, updated PBC_COMPAT to use tabs in r40620 13:50
Coke: open a ticket!
Coke Whiteknight: if you had an account on feather, I wouldn't have had to know about it at all. =-) 13:51
dalek rrot: r40620 | whiteknight++ | trunk/PBC_COMPAT:
[PBC_COMPAT] now with tabs instead of spaces
Coke has a bite from dukeleto on a parrot bug that's been open for a year and is affecting tcl. 14:04
14:10 masak joined 14:14 Andy joined
Coke what branches needed testing? 14:16
Whiteknight all of them
are there any other NEWS items? 14:17
pmichaud good morning, #parrot
Coke pmichaud: hio.
Whiteknight I've got the release ready to roll as soon as I get a GO! on outstanding NEWS items 14:18
14:19 quek left, szabgab joined 14:21 jsut joined
Coke Whiteknight: we did NOT remove the PASM1 compiler. 14:24
We just kind of snapped it half and left it there to rot. 14:25
Whiteknight we removed all the parts of it that did anything
we removed the "compiler" part, but we still let people search for the PASM1 compreg
Coke see my ticket for why that was the wrong approach, and no one cares because no one was using it anyway, but we dodn't remove it.
Whiteknight so when the release lands, just rip it the hell out 14:26
14:26 ruoso joined
Whiteknight Coke: and update NEWS if you feel like something in there is wrong 14:27
Coke I'm sorry, I thought you had asked for feedback rather than commits, my bad. moment.
Whiteknight ME THOR DEMAND COMMITS! 14:28
(not all commits, just stuff like NEWS) 14:29
14:29 nathanmccauley joined
Coke Done. 14:31
bacek Whiteknight: it wasn't very good idea to change PBC version to 6.0...
Coke bacek: that number is internal only. why does it matter? 14:32
bacek For consistency sake 14:33
Coke it looks consistent to me. =-)
(other releases have increased the major #.)
dalek rrot: r40621 | coke++ | trunk (2 files):
Update docs WRT PASM1
14:34
Coke ah, but those were supported and this is devel.
bumping that number down to 5.1 should be safe.
bacek indeed
Coke (but then you have to re-re-make the pbcs, I bet.)
bacek 5.3 is better
I can remake them in next 5 minutes
Coke I don't care enough about the fraction to argue. =-)
bacek before departing to bed 14:35
I don't care enough about TGE to rip it off :)
Whiteknight The release_mangers_guide says to bump the major version number 14:36
I don't make these thigns up
Coke several of us are using TGE, tyvm.
bacek On "supported release"
Anyway, not a big deal 14:37
We can have 7.0 PBC in 2.0 parrot
Coke to be fair, there /were/ changes this release so the number needed incr'ing. the docs seem to be more verbose about supported release.
bacek wave from future 14:38
good night, bed time
Whiteknight oh, maybe Imissed that part about "Developer release"
I can undo the PBC_COMPAT change then 14:39
14:40 MikHel joined
bacek Whiteknight: ignore it. We can have next supported release with 7.0 14:43
bacek finally going to bed
14:43 ash_ joined
Whiteknight I just committed an undo. No big deal 14:44
I have time before the release anyway
14:44 Psyche^ joined
dalek rrot: r40622 | whiteknight++ | trunk/PBC_COMPAT:
[PBC_COMPAT] I wasn't supposed to bump the PBC major version, this is just a dev release
14:45
mikehh All tests PASS (pre/post-config, test, fulltest) at r40621 - Ubuntu 9.04 amd64 (g++) 14:52
NotFound No tab in 5.1 and 5.2 PBC_COMPAT entries, they are filled with spaces. 14:59
Can't we kill this format and use some human readable separator 15:00
?
Whiteknight NotFound: please
fixed the file 15:01
dalek rrot: r40623 | whiteknight++ | trunk/t/native_pbc (4 files):
[PBC_COMPAT] rolled back the updated PBCs since I shouldn't have bumped PBC_COMPAT
15:02
rrot: r40624 | whiteknight++ | trunk/PBC_COMPAT:
[PBC_COMPAT] change spaces to tabs again
Whiteknight okay, the release is 100% ready to go. Just need to commit and tag. ~57 minutes 15:03
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40624 - Ubuntu 9.04 amd64 (gcc) 15:25
15:26 theory joined
Coke for those of you that remember mdiep, I hear he's getting married this weekend. 15:34
mdiep++
mikehh rakudo (5a2aeaf) builds on parrot r40624 - make test PASS, make spectest (up to 28020) FAILs 1 test - t/spec/S12-enums/thorough.rakudo - Failed test: 2 15:45
16:00 davidfetter joined
Whiteknight Release happening now. 16:09
NotFound Go, go, 16:10
go!
mj41 Whiteknight: some test fails on win32 tt.ro.vutbr.cz/report/pr-Parrot/rp-trunk 16:11
dalek rrot: r40625 | whiteknight++ | trunk (9 files):
[RELEASE] Release 1.5.0
16:12
rrot: r40626 | whiteknight++ | branches/RELEASE_1_5_0:
[RELEASE] tagging 1.5.0 release
PerlJam Whiteknight++
Whiteknight well, too late!
mj: I've been running tests on Windows and saw no problems 16:13
mj41 ok, these are 64bit with 32bit WinXP, one mingw one MS VC
on vmware
Whiteknight oh, okay. 16:14
mj41 err sorry, no vmware, only cygwin is vmware
Whiteknight I'm mingw on Win32 and saw no errors
mj41 ok, will try to setup fresh win32 mingw vmware, my machine is probably broken somehow 16:18
I was trying to debug t/src/extend.t ... nopaste.snit.ch/17561 ... there is no "done" ... problem is Parrot_PMC_set_string(interp, testpmc, value); or new_value = Parrot_PMC_get_string(interp, testpmc); 16:20
I have no ICU installed
moderator www.parrot.org | planet.parrot.org | 1.5.0 "TEH PARROTZ!" Released! | Feature freeze over, coders start your engines! 16:27
16:28 mj41 joined
jonathan lol...release name win! 16:29
dalek tracwiki: v93 | whiteknight++ | WikiStart 16:30
tracwiki: trac.parrot.org/parrot/wiki/WikiSt...ction=diff
Whiteknight I was thinking about naming it "LOLPARROTZ!" or "I CAN HAZ PARROTBURGER", but nether were as good 16:31
dalek website: Whiteknight++ | Parrot 1.5.0 "TEH PARROTZ!" Released!
website: www.parrot.org/news/2009/Parrot-1.5.0
16:34 mokurai joined 16:35 HG` joined 16:43 smash joined
smash hello everyone 16:43
16:43 payload joined
Whiteknight hello smash 16:43
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40626 - Ubuntu 9.04 amd64 (g++) 16:51
dalek TT #702 closed by whiteknight++: Remove stacks.c and stack-related ops 16:53
Coke smash: hey. Did you decline your nom nom nomination? 16:55
dalek rrot: r40627 | NotFound++ | branches/auto_attrs (80 files):
merge from trunk r40626
Coke (I saw you nominated and then not on the final list, which confused me.)
Whiteknight I can't mark the 1.5 milestone "Completed" on trac. The box is greyed out for me 16:56
Coke checking.
perhaps you need super admin privs. 16:57
try now. 16:58
particle confused me, too
Whiteknight works!
Coke particle, you are now an admin. 16:59
(i mean, before I touched anything)
particle the nomination list confused me
Coke oh!
17:00 bkuhn joined 17:03 riffraff joined
Coke is rakudo now succesfully overriding the "invoke" vtable? 17:04
Whiteknight++ # trolling for RMs. 17:05
jonathan Coke: Yes. 17:06
Coke: But only because we subclass the Object PMC. ;-) 17:07
17:07 jhorwitz joined
jonathan (We subclass it really to totoally replace find_method, but it meant I could write an epic hack around Parrot's invoke override issues ;-)) 17:07
Coke That seems to be more work than I want to do just now. =-)
Coke wonders if there is anyway to really subclass the ParrotInterpreter. 17:08
(... and have it used whenever someone creates a new interp)
17:09 theory joined
Coke hurls code.google.com/p/partcl/issues/detail?id=12 for a low hanging, mostly parrot TODO item for partcl. 17:21
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40626 - Ubuntu 9.04 amd64 (gcc)
17:22 brooksbp joined
brooksbp Are there any popular languages that allocate stack frames on the heap? 17:24
jonathan Coke: Yes, it was..."fun". :-)
dalek rrot: r40628 | NotFound++ | trunk (59 files):
merge auto_attrs branch into trunk
17:27
Coke NotFound: the "#if 0" concerns me. 17:30
NotFound Coke: I left it just in case someone wants to do some quick becnchmark between fixed size allocator and mem_sys 17:31
smash Coke: i revoked my voluntereed state 17:32
ttbot NotFound: Parrot trunk/ r40628 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/73018.txt
NotFound Error -1073741819 ? What's that? 17:34
jonathan NotFound: Convert to hex... 17:35
If it matches C0000005 then it's a segv.
pmichaud #ps in 54 17:36
NotFound I suspect a lack of realclean
Whiteknight Once we get some good testing on that fixed-size allocator, I want to start using it to do more things in Parrot 17:37
if we use it consistently we could cut a lot of overhead out
mj41 NotFound: ttbot is doing make on fresh svn copy
NotFound Is there some human buliding on windows? 17:38
mj41 NotFound: see tt.ro.vutbr.cz/buildstatus/pr-Parrot/rp-trunk ... there is also tt.ro.vutbr.cz/file/cmdout/73025.txt 17:39
smash Coke: it turned out i wasn't skilled enough 17:41
NotFound Why on earth are someone defning his own version of LLONG_MAX and such macros? 17:42
Whiteknight those aren't defined on Win64 17:43
well, Win64 with MSVC64 17:44
NotFound Then don't use it
Whiteknight have to use it, sizeof(long) on those systems is 4
and then sizeof(long) != sizeof(void*) which causes huge build problems
NotFound The comments in the file says: * Define the values for PARROT_INTVAL_MAX and PARROT_INTVAL_MIN
Then do that instead of playing with foreign macros.
Whiteknight You're welcome to change that if you want 17:45
NotFound I don't have msvc compilers
17:47 chromatic joined
cotto Whiteknight++ for getting out the release before #ps 17:51
smash Whiteknight++ # release
chromatic pie++ 17:52
Whiteknight pie++ 17:54
I only do the releases for all the free karma :)
17:56 joeri joined
Coke pie? 17:59
purl it has been said that pie is true. or www.piecouncil.org/national.htm or london.randomness.org.uk/wiki.cgi?a..._value=Pie or www.austinthirdgen.org/upload/piechart.jpg or www.weebls-stuff.com/wab/ or flickr.com/photos/cowfish/3137913195/ or dilbert.com/fast/2009-03-07/
Coke wah, no room for the cool dr. horrible pie quote.
Infinoid pie is also position-independent executable (like PIC libraries but more so)
purl okay, Infinoid.
chromatic Sometimes quotes executables are layered like that. 18:02
Util Whiteknight++ # release 18:03
Coke chromatic-- # thwap thwap
dalek rrot: r40629 | NotFound++ | trunk/config/gen/platform/generic/platform_limits.h:
[cage] ugly attempt to fix LLONG_MAX related problems
18:05
allison iz in ur computer, runnin ur languages 18:07
Whiteknight I figured "TEH PARROTZ!" would either be a fun little name or a head-slapping embarassement 18:09
18:09 barney joined
Whiteknight I was hoping for the former :) 18:09
ttbot NotFound: Parrot trunk/ r40629 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/73070.txt 18:11
Whiteknight all these good projects going on is very exciting!
allison Whiteknight: I think it's great :) 18:13
jonathan #ps is in 15 mins, yes? 18:14
cotto jonathan, yup
jonathan refrains from going to dinner 18:15
cotto NotFound, don't forget to delete the auto_attrs branch
NotFound cotto: I'll try to first learn how to delete branches without risk of deleting trunk ;) 18:16
Whiteknight NotFound: it's "sudo rm -rI /" 18:17
smash NotFound: deleting trunk it's not that big of a problem
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r40628 - Ubuntu 9.04 amd64 (g++)
Whiteknight NotFound: just kidding, don't type that!
NotFound Whiteknight: too late, is running 18:18
;-)
Whiteknight Coke: bevity++ 18:19
brevity*
dalek rrot: r40630 | Util++ | trunk/src/packfile.c:
Fixed an error in packfile.c reference to pbc_header.pl. Courtesy of dukeleto++
18:20
Coke Whiteknight: I left out the snarky "nothing that anyone would care about". =-)
dalek kudo: 6c7b8b3 | jnthn++ | build/PARROT_REVISION:
Bump us up the the current Parrot release, in preparation for the next Rakudo release.
18:22
chromatic Hm, Parrot startup is 2.874% faster today than it was last night.
ttbot Util: Parrot trunk/ r40630 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/73121.txt
Whiteknight hmm, it must be something i did
davidfetter not 2.873%?
Whiteknight :)
davidfetter always amused by figures that don't have error bars or like kind 18:23
chromatic According to callgrind output anyway.
davidfetter measure with a micrometer; draw with chalk; cut with an axe
;)
NotFound Maybe auto_attrs+fixed size allocator has something to do with that
chromatic My guess is auto_attrs.
I'll look at the profile in a bit.
Coke davidfetter++ 18:24
Util For the record, I assert that ttbot erred in assigning blame to me for that failure in r40630. 18:25
Coke so if --optimize causes things in tcl to fail, what sort of things might be causing that?
18:26 payload joined
NotFound I suspect since some time that the gc can fail to mark some PMC in the C stack because of optimizing putting them in registers rather than in the stack 18:27
Whiteknight no, the GC dumps register contents onto the stack before tracing the stack
in theory, anyway
purl hmmm... in theory is my pants or it's too dark to read or somewhat intrusive to David Wheeler
dalek rrot: r40631 | NotFound++ | branches/auto_attrs:
delete auto_attrs branch after merging to trunk
NotFound Unfortunately, to check that hypotesis we need to add a volatile qualifier to *all* PMC * local vars 18:28
Whiteknight some of that code is pretty fragile, however, and it wouldn't surprise me if those lines that perform that magic are being optimized out themselves
theory purl++
Whiteknight src/gc/system.c 18:29
purl src/gc/system.c is probably a known mess and I'm working on it as we speak
Whiteknight well, it is a mess
NotFound purl is working on the gc? 18:31
Whiteknight might as well be 18:32
allison NotFound: anything stored in registers is always marked
NotFound Good to know 18:33
jonathan fail...joined #parrotsketch on wrong server... 18:35
Coke jonathan?
purl i heard jonathan was mailto:jnthn@jnthn.net or trying to put together a grant application. or however seeing weird issues.
jonathan Also forgot to pre-paste. Fail. 18:36
brooksbp Are there any languages that allocate stack frames on the heap? 18:37
Whiteknight brooksbp: what do you mean by that? 18:39
jonathan brooksbp: In Parrot? Well, all Parrot "stack frames" (though there isn't really a stack) are heap-allocated.
Whiteknight because it's not really possible. by definition, a "stack frame" is always on the stack
jonathan So all languages running on Parrot have their invocations records living on the heap.
If that is what you mean.
Whiteknight right, Parrot's "stack frames" are more accurately called "Contexts" and are created on the heap
brooksbp No, for compiled languages. 18:44
Heap-allocated stack frames
NotFound Thread packages usually allocate in the heap the stack space for threads other than the main one. 18:45
brooksbp NotFound: could you provide any references or papers on this? 18:46
Whiteknight I'm not sure that's accurate. Again, by definition,"stack frames" are on the stack 18:48
NotFound Yes, doing it for each frame must be done by the compiler in a function by function basis 18:49
brooksbp: the references are the documentation of the thread creation functions. 18:50
dalek rrot: r40632 | whiteknight++ | trunk/docs/project/release_manager_guide.pod:
Adding dukeleto++ as release manager for Oct
18:56
ttbot whiteknight: Parrot trunk/ r40632 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/73189.txt 18:58
Whiteknight don't give me that shit, ttbot, I didn't break no build! 18:59
mj41 Whiteknight: sorry, ttbot is too stupid :-( 19:00
allison jonathan: the more detailed answer to your question, if you take a sub object (however you looked it up) and invoke it under the new calling conventions passing it an invocant, it'll just dump it as the first argument to the sub 19:04
pmichaud ETOOMANY"IT"
jonathan What do you mean by "passing it as an invocant"?
allison jonathan: object."foo"(bar, baz) 19:05
jonathan: object is an invocant
pmichaud No.
that's not the question.
object.$P0(bar, baz)
allison pmichaud: that's half the question
pmichaud and $P0(object, bar, baz) 19:06
jonathan OK, let me give an example of what I'm expecting to work.
Suppose I have this:
.sub 'foo' :method
.param pmc args :call_sig
...
.end
And I (somehow) end up with the sub object mapping to that in $P0
Will both
a.$P0(b, c)
and
$P0(a, b, c) 19:07
Result in a CallSignature with three positionals, a, b and c?
allison If you invoke a method object as a sub ($P0(a, b, c)) it won't receive any argument marked as an invocant
and will complain about a missing parameter
jonathan That's going to break things.
chromatic Good. 19:08
Coke what if you could explicitly say $P0(a :invocant, b, c). would that make everyone happy?
jonathan chromatic: Erm. How exactly?
chromatic It's broken in Perl 5. Very badly broken. Discontinuing that kind of brokenness is Very Good.
allison Coke: that would work
pmichaud Coke: we don't always (easily?) have enough information to be able to know to flag an invocant
jonathan Coke: The point is that today we rely on the ability to invoke as $P0(a, b, c) and a.$P0(b, c) 19:09
And have both bind a to self.
pmichaud Perl 6 expects this behavior as a core semantic.
allison jonathan: I don't believe that actually works now.
pmichaud it does work now.
Coke so you can't figure out at runtime if $P0 is a method or not?
pmichaud Coke: that's a check we'd prefer not to make on every subroutine call. 19:10
jonathan allison: It works now because we're using - and have been using for a long time - those semantics in many places.
chromatic I can't believe that Perl 6 allows you to invoke methods as if they were subs; what am I missing?
allison that can't have worked, because invocants aren't currently passed as parameters at all
jonathan chromatic: is export, perhaps? 19:11
allison they're stored as 'interp->current_object'
pmichaud methods can be invoked as subs currently, yes. (more)
the first argument ends up being 'self'
chromatic That's the first thing I fix in Perl 7 then. Yuck.
pmichaud so if I have a method in $P0, and I do $P0(a, b, c), then inside of $P0 the register named 'self' is bound to the first argument
19:12 payload joined
japhb implementation accident ...? 19:13
chromatic I can't get behind that idea.
TimToady the invocant has to be available as a parameter *anyway*, so why treat it as out-of-band?
chromatic Because invocants are special. 19:14
TimToady not that special
chromatic That's why we have a special noun to describe them.
TimToady they are important to the dispatcher
that's all
chromatic They're important inside method bodies too.
TimToady and we want to be able to write dispatchers in p6
nopaste "pmichaud" at 72.181.176.220 pasted "invocant passed as argument" (24 lines) at nopaste.snit.ch/17584 19:15
TimToady all the dispatchers in p6 assume that the point of a dispatcher is to turn a method name into a list of candidate subs and call them
as subs
allison TimToady: well, that's changing in the new system, interp->current_object goes away 19:16
but, we do mark invocants, and a parameter marked as an invocant is treated specially
chromatic If you can mark an invocant when you invoke something invokable, does the problem still exist?
allison most languages have a sharp distinction between the invocant and the rest of the arguments
it's really easy to relax that restriction for p6, but it's hard to add the distinction back when the fundamental system ignores it 19:17
jonathan allison: I'm fine with Parrot providing support for those languages to distinguish them, but we really need a way for a Perl 6 method to say "hey, I don't care how I'm invoked".
(And other languages that feel the same way.) 19:18
TimToady *cough* python *cough*
allison as I understood it, talking to patrick, you all would plan to use call signatures instead of the direct parameter binding in most cases anyway
in which case, you don't care
pmichaud we care that the invocant be available in the call signature, though
jonathan allison: It may cause us some language inter-op issues.
pmichaud which is jonathan's exact question
Coke Seems like it should be possible to roll a custom "invoke" app that hides away the work. 19:19
allison pmichaud, oh, it is, it always is
TimToady the distinction on the receiving end is only whether to assume there's an implicit self in the signature, which is a compile-time decision, not run-time
allison we don't modify the call signature after setting 'self'
(we never modify the call signature)
pmichaud but you're saying that 'self' isn't treated like a positional in that case
allison so, here's what would be useful to me 19:20
pmichaud i.e., 'self' is taken out of the list of positionals before the called method gets the call signature
jonathan OK, so a.$P0(b, c) and $P0(a, b, c) both produce the same call signature modulo some extra bit of data saying "in one of these, a was passed as an invocant"?
allison basically, what features do you need to support, and what PIR syntax are you currently using to support it
(just for dispatch) 19:21
pmichaud first, I think that jonathan's question isn't about dispatch as much as invocation (more)
but for dispatch we need to be able to invoke methods as both object.<something>(args) and <something>(object, args)
we don't need Parrot to automatically look up <something> 19:22
well, I should rephrase this last part
object.'foo'(args) should work as it does now
i.e., look up 'foo' as a method on object
'foo'(object, args) should work as it does now
i.e., do a 'find_name' on 'foo', and invoke that as a sub
object.$P0(args) should work as it does now, invoking $P0 and passing object as 'self' 19:23
allison jonathan: yes, they'd have the same array of arguments passed, but one would have a signature string of PiPP and the other PPP
pmichaud $P0(object, args) should work as it does now, invoking $P0 and passing object as 'self' (when $P0 is flagged as :method)
jonathan allison: OK, then that's a big part of what we want.
allison (you'd be free to ignore the extra 'i', but parrot respects it)
pmichaud did I miss anything on dispatch, jonathan?
jonathan allison: The only place we need clarify is on what the "i" there implies. 19:24
allison: That is, if I write a .sub 'foo' :method, I get the impression the default semantics you are proposing is that unless the first parameter is Pi, and not just P, then an error will be raised?
allison jonathan: yes 19:25
TimToady as long as in P6 $randomref.($object: 1,2,3) doesn't have to introspect $randomref to see if it's a method or a sub, I'm happy (I think...)
jonathan allison: OK, and there will be a way to say to Parrot, "please don't do that check"?
chromatic I've used CGI.pm. I'm not happy with that.
allison distracted at the moment wrapping up #parrotsketch, will read pmichaud's dispatch info in a minute 19:29
mikehh dukeleto: IIRC a signalling Nan is expected to generate an exception, a quiet Nan not 19:36
Infinoid "NaN but die"
allison pmichaud: okay, the only one I have a contention with is $P0(object, args) passing object as 'self' 19:37
mikehh well it can be caught ;_}
bah :-}
allison pmichaud: but, if you're using ':' to mark the invocant, surely you can translate that to "object :invocant, args"? 19:38
jonathan allison: But we don't always know.
pmichaud allison: p6 doesn't require using : to mark the invocant argument
jonathan allison: And we shouldn't have to.
pmichaud $foo($object, $arg) is perfectly valid in Perl 6, even if $foo is a method.
allison jonathan: I'd argue you should, but I'm not going to make assertions about p6 syntax :) 19:39
jonathan allison: Basically, I'm OK if you want to make the *default* in Parrot be that if you try to bind a non-Pi to self, it's an exception.
allison: But there has to be a way to say to Parrot, "don't worry about that"
allison the lazy solution would be to add a ":maybeinvocant" modifier
pmichaud alternatively, perhaps we could always mark our first argument as an invocant :-)
jonathan lol! 19:40
TimToady I wasn't going to say that...
but I thunk it...
jonathan That's a rebellion, not an ideal solution. ;-)
pmichaud I expect that allison will say then that normal subs will then throw an exception if we pass an invocant to something not expecting one
allison it's like :lookahead, in that it checks one thing and does another
jonathan allison: Not really. It's just like asking for a check not to be made.
pmichaud i.e., $P0(a :invocant, b, c) will throw an exception if $P0 is not a method
allison that is, check if I need an invocant, and if so, use it as one, otherwise pass as the first argument
TimToady that's the same introspection we're trying to avoid 19:41
allison pmichaud: aye, that's the idea. so the default is restrictive, but we support the more relaxed model
l3t0 mikehh, Infinoid: i was familiar with the concept but wanted to know what kind of exceptions should be thrown
jonathan allison: I think it wants to be a flag on the receiver, not on the caller side.
allison TimToady: all you're really doing is not throwing an exception
pmichaud flag on receiver: exactly 19:42
TimToady dispatch will be faster if you don't check at all :)
allison TimToady: so it's more like "be permissive" than "perform an introspective check"
TimToady and we want fast dispatch
mikehh l3to: a Nan of vcourse :-}
NotFound That type of things can be handled by subclassing 'Sub' ? 19:43
allison TimToady: well, we'd have to check if the ":maybeinvocant" is set on the argument, but that's a simple integer flag test, very cheap
TimToady p5 is slow because it keeps checking this and checking that
pmichaud allison: but why check the arguments -- why not let the sub itself say "I don't care" in the parameters
allison TimToady: and, yes, would allow it to skip some code
pmichaud: what would that mean, though?
jonathan allison: And I assume that if I say ".param pmc args :call_sig" then Parrot isn't going to do any checks at all for me?
pmichaud allison: if I have a sub that takes a :call_sig, it means that the sub wants to do its own argument packing and unpacking (more) 19:44
that implies that the sub *doesn't* want parrot imposing its own checks on the bindability of arguments
allison jonathan: right now, it would still complain if you call a method and don't give it a Pi argument
jonathan allison: Why though?
allison (because it has to figure out what to set 'self' to, and that isn't bypassed)
TimToady we would love to kill that very dead 19:45
jonathan Oh.
pmichaud 'self' is always set to the first argument? or no?
I'm also fine if :call_sig doesn't set a 'self'
allison we can get rid of 'self', though :)
jonathan allison: I was figuring part of the unpacking would involve setting up a self if needed.
That is, Parrot really doesn't do much at all for you other than just hand over the CallSignature.
allison okay, when we implement :call_sig, we can add that exception. It's a sensible one. 19:46
pmichaud can you clarify? "exception" scares me in this context.
jonathan allison: I'd imagine we rather would just never hit the code-path that would do such a check anyway though? 19:47
allison I mean it in the more general sense of "exception to the rule", rather than the computer science sense of "throwing an exception"
pmichaud so, a sub that specifies a .param of :call_sig gets no argument checking from Parrot?
allison pmichaud: and doesn't set 'self'
pmichaud that's fine.
I'm happy with that if jonathan++ is.
jonathan That works well for me. 19:48
allison it does nothing at all except pass the call signature object in as a single PMC parameter
jonathan That sounds just what I want.
pmichaud in Rakudo we don't even need a 'self' register anyway, because 'self' is a lexical
jonathan Well, lexicals live in registers, but yes, we need to handle it as a lexical.
pmichaud I mean we don't need a register symbol of 'self' 19:49
allison I'm regretting that we ever added an automatic 'self' in the first place
jonathan pmichaud: Ah, OK.
allison it's a stupid pain
and a hack
pmichaud that sounds like TimToady++'s position :-) 19:50
allison well, I'd replace it with .param pmc foo :invocant
so, I still want it explicitly marked 19:51
dalek TT #895 closed by NotFound++: Towards automatic allocation and deallocation of PMC attributes
pmichaud I'd want it to work even if not marked, though :-) 19:52
jonathan So let me try and summarize. 19:53
$P0(a, b, c) and a.$P0(b, c) produce a CallSignature with 3 positionals, but the first produces a signature starting P and the second a signature starting Pi.
Default Parrot semantics will change such that a Sub flagged with :method will only accept a signature whose first item is a Pi.
:call_sig just puts the CallSignature PMC into a register and that's it - we're done. It doesn't do any checking, wether or not it's a :method.
Does everyone agree that is where we're at so far?
pmichaud +1
purl 1
jonathan no purl, +1 is <reply>-1
purl okay, jonathan.
jonathan
.oO( heh, heh )
19:54
allison jonathan: yes, but the Pi required will only change on a deprecation cycle
jonathan: (i.e. 2.1)
jonathan allison: OK.
allison: I think the only remaining issue is that it would be nice to suppress that check even if you're not doing all of your own unpacking.
allison the :call_sig can happen now, since it's an addition 19:55
jonathan: that I can't guarantee
jonathan While all Perl 6 code (that is, code that Rakudo emits) will use :call_sig... (more)
allison jonathan: that is, it needs a lot more thinking about the use
pmichaud wait 19:56
allison and if rakudo isn't using it, then it needs another demonstration language to figure out *how* it'd be used
jonathan ...it may be nice if it's possible for us to write built-ins in PIR that have the correct semantics (invokable as a sub or a method, as things work today) otherwise.
pmichaud the current parrot behavior is that passing an invocant as an argument does not throw an exception
so changing it to throw an exception should be at the deprecation point
not vice-versa
allison pmichaud: what syntax/behavior do you mean?
pmichaud in other words, Parrot currently *does not* do a check of its arguments
19:56 hercynium joined
pmichaud so the addition of checking arguments should only occur at a deprecation point 19:57
Coke msg purl +1
purl Message for purl stored.
Coke bad coke.
allison Parrot doesn't currently have any way to mark an invocant except that invocants aren't passed in the argument list at all
they're currently "out of band" parameters
(interp->current_object)
NotFound Don't forget the vtable invoke issue.
pmichaud allison: I'm talking about the current $P0(a, b, c) syntax
currently Parrot does not complain if $P0 is a method 19:58
i.e., 'self' is bound to 'a'
allison which was bad design (that dates back to the earliest parrot calling conventions)
pmichaud: right, that's what jonathan was talking about with the Pi marking
pmichaud my point is that "suppress the check" should be the behavior even before the deprecation point
and that making the check should occur after the deprecation point 19:59
allison the deprecation point is adding the check
pmichaud okay.
jonathan pmichaud: That's what allision said.
pmichaud I misread "that I can't guarantee" then.
jonathan 21:54 <@allison> jonathan: yes, but the Pi required will only change on a deprecation cycle
pmichaud oh, I see
Okay. pmichaud--
jonathan pmichaud: I think that was in response to my suggestion that we provide another way to suppress the check.
pmichaud jonathan was asking about the case of not doing your own.... right
allison I'm saying we're deprecating (unchecked invocant passing), and I'm not promising that we'll provide a general way to supress it once it's added, though :callsig will supress it 20:00
pmichaud I'm fine with that waiting until 2.1, but there may be a large number of languages and libraries that expect the current behavior to work also
TimToady to my mind, this is all really about making dispatch completely orthogonal to binding at a fundamental level rather than signing up for one particular model of OO that assumes there's an interaction
but what do I know? :) 20:01
allison well, there is an interaction between dispatch and binding, they have to meet in the middle
chromatic I like the idea of that orthogonality, but I really dislike making that orthogonality look like Normal Sub Invocation.
allison but, what we may do is deprecate the automatic 'self' binding
because that's the real case of "dictating semantics" 20:02
TimToady sub is more primitive then method, so it's unnaturally to decompose to something more complex
jonathan allison: OK, I'm happy to take this answer for now. I really think a general way to ask for suppression from the callee side would be valuable.
allison everything else is "whatever you declare in your parameters determines the semantics of binding"
jonathan allison: But we don't need to decide that right now (though I do agree with pmichaud that people will want a good bit of time to adapt.) 20:03
pmichaud jonathan: does this give you a sense of timeframe for these things as well...?
allison aye, the current refactor doesn't really touch on this (it doesn't change semantics, just the internals)
pmichaud jonathan: i.e., when we might be able to unblock some of our calling issues? 20:04
jonathan pmichaud: As I see it, since allison's changes are towards building a CallSignature object, as soon as the bugs are resolved and that branch is merged, then :call_sig should be a relatively small amount of work.
pmichaud okay. That's consistent with what I see. 20:05
and once :call_sig is in place we can start on our rakudo binding refactors
chromatic goto/branch/invoke continuation is more primitive than sub; why stop at sub?
allison chromatic: ? 20:06
jonathan pmichaud: We can start using it in Rakudo, yes.
pmichaud hopefully I'll be a good ways along on contextuals by then
that seems very likely.
jonathan pmichaud: However, since the branch, from what I gather, is in fixing mode now, there's nothing to stop me working on the design side of the binding changes.
Since I know now what we cna expect from Parrot.
allison chromatic: oh, you mean lorito
pmichaud jonathan: wherever you sense the most optimum use of your time, I'm fine with that. 20:07
chromatic No, I mean "Why make methods invokable as subs?"
pmichaud jonathan: I think we both have a sense of the overall direction now so we just need to bring the various pieces together
pmichaud is excited to be seeing progress on this front.
jonathan pmichaud: Remember I'm spending a lot of september wandering around Asia. ;-) 20:08
pmichaud jonathan: noted.
allison chromatic: I have to agree, but <shrug> :)
Whiteknight if we can do the final work to make Subs subclassable properly, and if CallSignatures are subclassable, there is no issue
jonathan pmichaud: So my thinking is that I'll get onto figuring out what signature objects are going to look like in Rakudo, and what the binding algorithm will be.
pmichaud Whiteknight: unless you want PGE to always be using its own sub PMCs, sure.
jonathan I'll start on that this month.
chromatic I also think there's an issue with Perl 6's C<is export> and methods exported as multis, but I'm not sure what it is or how to explain it yet. 20:09
pmichaud s/unless/if/
jonathan: that's fine. I don't expect the binding algorithm to be that difficult, although I haven't seen what CallSignature objects look like.
Tene chromatic: I've been thinking the same thing lately.
pmichaud jonathan: but I'm thinking even with your asia jaunts the timings all work out about right. 20:10
it gives me a little room to get the pge stuff in place.
jonathan pmichaud: My wanderings in Asia give slack for PGE stuff to land and Parrot calling conventions stuff to land.
pmichaud Whiteknight: one of the problems with subclassing Sub is that there's not an easy way in PIR to declare ".subs" as being of that type. 20:11
jonathan: exactly.
jonathan OK, I think we have a plan.
Whiteknight pmichaud: if it's an HLL override, conceivably that mapping would be done by parrot internally
pmichaud Whiteknight: I don't see any way to do that presently.
Whiteknight that is, you wouldn't specify the subclass on a per-sub basis
pmichaud because HLL overrides are runtime
and sub compilation is compile-time 20:12
Coke you can put the HLL overrides in an immediate block.
pmichaud immediate blocks aren't stored in .pbcs
(we've had this conversation before)
20:12 darbelo joined
pmichaud in general the question is one of thaw+freeze a dynamic pmc type 20:12
Coke if you're storing the PBC that was generated with the overrides, shouldn't the PMCs in that PBc already have the right type? 20:13
pmichaud if they're dynamically loaded PMCs, how can they? 20:14
allison pmichaud: CallSignature objects are like captures, they have an array interface for positionals, a hash interface for named parameters, and an array attribute for returns
pmichaud (yes, I'll argue that they should. The point is that currently they don't)
Coke k.
allison: why not a hash for returns, too!
allison Coke: :) well, we could support ('foo' => $P1, 'bar' => $P2) = 'sub'('baz') 20:16
Whiteknight that would actually be very cool
pmichaud I think that's already supported.
jonathan Don't we already support taht?
Whiteknight I can't imagine where it would be used, but cool idea nonetheless
allison and, insanely simple
I'm not aware of any languages that actually use it
pmichaud No, but it's been defined in the calling conventions pdd before. 20:17
allison has it?
pmichaud yes.
jonathan Yes, for sure.
purl like totally!
allison maybe one of the much older drafts
pmichaud no, it sat around for a very long time in the pdd description of calling conventions
same for handling of :optional and :slurpy and other flags
allison well, we may support it one day, if a language needs it 20:18
pmichaud pdd03 -- line 393
(i, j :optional, ar :slurpy, value :named('key') ) = foo()
allison but not in this refactor! (detecting a note of creature feep) 20:19
pmichaud note that it already exists.
in the current pdd03.
20:19 payload joined
pmichaud and PGE *does* depend on :optional working there 20:19
(I think there might be a place or two where we also depend on :slurpy, but cannot remember off the top of my head) 20:20
jonathan taking dinner - bbiab
allison pmichaud: that's a code example
Whiteknight well returns are just invokes on continuations, so they should support passing arguments in exactly the same way 20:21
Coke pmichaud: hey, speaking of PGE. 2 things of interest to partcl at the moment: ability to define our on RE syntax (which may or may not live in core parrot as the P5 stuff currently does.), and also the bug about the zero-width repeated markers.
allison yah, I'm interested in alternate re-syntaxes too
(BNF, anyone?) 20:22
nopaste "pmichaud" at 72.181.176.220 pasted "named return arguments already supported in Parrot" (15 lines) at nopaste.snit.ch/17585
Coke hee!
allison heh :) 20:24
fortunately, I'm not really modifying that code 20:25
pmichaud fortunately. :)
allison it's logical, but it may be 20 years before anyone uses 20:26
perhaps someone will be inspired to invent a new language just to take advantage of it. :)
pmichaud note that using :slurpy in an argument return list is currently used by P6object
and Rakudo. 20:27
rakudo also needs :slurpy :named
allison if :slurpy and :named work now, I can't see any reason :slurpy :named wouldn't
pmichaud right 20:28
just making sure the calling refactor doesn't break them :)
allison are there tests for them? that's the surest way to make sure the refactor doesn't break it
pmichaud yes, there are
TimToady is that because we currently return Capture? if so, returning Parcel presumably would just want positionals...
allison then it's all good
pmichaud oh, there's test for :slurpy, but not :slurpy :named 20:29
I'll see about adding a couple.
20:30 payload joined
pmichaud TimToady: I think that getting return results into :slurpy and :slurpy :named is what we have to do when we don't know how many things the called function actually returns 20:30
have to be afk for a bit 20:31
20:38 davidfetter joined
chromatic The performance improvements are all related to fewer malloc/calloc/free calls. 20:41
Coke chromatic: any idea if those are from post-1.5.0? 20:43
chromatic Yes, they are.
10.89% performance improvement in the primes.pasm benchmark.
I think it's the auto_attrs merge. 20:44
msg Whiteknight I'm happy to do a release when needed. 20:45
purl Message for whiteknight stored.
chromatic Yep, that's all auto_attrs behavior. Very, very nice. 20:49
NotFound chromatic: goooooood :) 20:51
chromatic Now let's make PMCs with only one attribute faster....
dalek rrot: r40633 | chromatic++ | trunk/config/init/defaults.pm:
[config] Added escaping for freaky characters in checkout paths. This should
mikehh I am getting a backtrace in t/tools/parrot_debugger.t - test 41 - it does a backtrace and reports ok 41?
ttbot chromatic: Parrot trunk/ r40633 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/73263.txt 20:55
chromatic Heh: src\\packfile.c:1008:50: warning: "/*" within comment 20:56
dalek rtcl: r599 | coke++ | trunk/runtime/ (2 files):
Make this a .Const sub, move it where it's used.
20:57
20:58 bacek joined
mikehh chromatic: it builds on 'test parrot' BUT there are test failures 21:03
dalek rtcl: r600 | coke++ | trunk/docs/spectest-progress.csv:
This test run was slower since it wasn't an optimized parrot.
rtcl: r601 | coke++ | trunk/runtime/tcllib.pir:
Remove unused lookup table.
chromatic I'm working on those now, mikehh. 21:04
I saw your comment on the ticket right after I committed.
mikehh it also has some post-config test failures 21:05
NOT when running in parrot dir but in 'test parrot'
21:06 MoC joined 21:15 payload joined 21:18 joeri left 21:22 MikHel joined
dalek rrot: r40634 | mikehh++ | trunk/config/gen/platform/generic/platform_limits.h:
fix codetest failure - indent in config/gen/platform/generic/platform_limits.h
21:24
21:27 fperrad joined
fperrad ping Whiteknight 21:28
purl I can't find Whiteknight in the DNS.
ttbot mikehh: Parrot trunk/ r40634 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/73322.txt 21:29
chromatic This Makefile hackery is a rat's nest of hate. 21:30
Coke to revisit my --optimize complaint - I should expect to be able to run with --optimize by default these days, no? 21:31
chromatic Yes. 21:32
I build with --optimize on by default.
Coke ok.
chromatic Now if your PMCs and dynops aren't optimize safe, you'll have a problem....
NotFound Note that autotools has problems building in paths with spaces, is not an easy problem.
Coke chromatic: I have very few of those; presumably that would be easy to check if you knew what you were looking for.
chromatic Anywhere you pass in what could be a NULL pointer where you assume you never do. 21:35
dalek rrot: r40635 | chromatic++ | trunk/config/init/defaults.pm:
[config] Reverting r40633; this is the wrong approach to escaping freaky
fperrad seen whiteknight
purl whiteknight was last seen on #parrot 1 hours, 14 minutes and 41 seconds ago, saying: well returns are just invokes on continuations, so they should support passing arguments in exactly the same way
21:36 Whiteknight joined
dalek kudo: b9c79c2 | jnthn++ | (3 files):
Stub in AttributeDeclarand and ContainerDeclarand, as a start to getting something in place for trait application to container declarations. Based on discussion on #perl6, and not spec yet.
21:38
ttbot chromatic: Parrot trunk/ r40635 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/73373.txt 21:40
fperrad Whiteknight, I can see the tag svn.parrot.org/parrot/tags/RELEASE_1_5_0
see item 7 in release_manager_guide
Whiteknight, I cannot see the tag svn.parrot.org/parrot/tags/RELEASE_1_5_0 21:41
21:43 Zak joined
davidfetter hei Zak 21:43
Whiteknight fperrad: well, I thought that I created it 21:45
so I must have broken something
irclogs?
purl i heard irclogs was irclog.perlgeek.de/parrot/today or see also: infrared clogs
Whiteknight Ah, I created it in /branches/, not /tags/ 21:47
dalek rrot: r40636 | whiteknight++ | tags/RELEASE_1_5_0:
Should have been a tag, not a branch. Whiteknight--, fperrad++
21:49
rrot: r40637 | whiteknight++ | branches/RELEASE_1_5_0:
[RELEASE] removing unnecessary branch
21:53
Whiteknight eventually I'm going to get this whole release thing right 21:57
practice may eventually make perfect 21:58
22:02 ruoso joined
fperrad Whiteknight, another thing : could you review my patch on TT #113 ? 22:02
Whiteknight sure thing 22:03
bacek_at_work morning. good morning 22:07
cotto Next week, instead of having our goal be to focus on testing, what about trying to increase test coverage by %x?
darbelo cotto: ping 22:08
cotto darbelo, pong
darbelo Just wanted to let you know: I accomplished nothing in the past week, but I am still alive.
22:09 Hunger joined
cotto good to know 22:10
darbelo I migh drop out of sight again untill friday/saturday due to some family problems. But you can msg me or mail me if you need anything.
Mail is more likely to reach me than purl msgs this week, though. 22:11
Sorry I left you hanging this week. 22:13
cotto iirc today is the firm pencils down date, meaning that I'll evaluate the project based on what's been completed by the end of the day. 22:14
NotFound Whiteknight: did you plan do some measurements with auto_attrs using the fixed allocator / using sysmem, or can I delete the #if 0 related?
darbelo cotto: Wasn't that yesterday? 22:15
cotto You're right.
I somehow got it associated with #ps.
22:15 fperrad left
cotto I thought tsqueues were nuked from orbit a long time ago 22:19
dalek tracwiki: v30 | cotto++ | ParrotQuotes 22:20
tracwiki: blessed be the tie that binds
tracwiki: trac.parrot.org/parrot/wiki/Parrot...ction=diff
rrot: r40638 | chromatic++ | trunk/src/gc/gc_ms.c:
[GC] Tided some code and removed some compiler warnings with casts.
22:24
l3t0 cotto: you have the freedom to consider any work done by darbelo up until you submit your gsoc survey.
the "firm" deadline was yesterday, but "firm" in the gsoc world is relative. 22:25
but by all means, please fill out the final survey at your earliest convenience, so you won't get nasty emails from me later this week :) 22:26
ttbot chromatic: Parrot trunk/ r40638 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/73439.txt 22:27
Whiteknight NotFound: where is that #if 0 ? 22:28
NotFound Whiteknight: src/pmc.c and src/gc/api.c 22:31
Allocation and deallocation of attrs
Chnaging them to 1 revert to mem_sys 22:32
Whiteknight I'm setting these things to use a macro instead 22:35
so we can change it
NotFound I'm going to delete that if'ed code, then. 22:37
Whiteknight no, I'm working on it now
NotFound Ok 22:38
Whiteknight Just running a quick coretest before I commit
okay, committed in 40641 22:39
allison: ping
Whiteknight just remembered a question he should have asked at #ps 22:40
22:40 rg1 joined
allison Whiteknight: yes? 22:40
Whiteknight allison: have you taken a look at the pmc_sans_unionval branch? 22:41
allison Whiteknight: I haven't
Is it pretty much ready to go?
Whiteknight It does two things: removes UnionVal, almost completely, and merges the PMC_EXT struct into PMC
yes, It's passed all my tests, although I can probably throw a few more at it
anyway, it's a big enough architectural change that I wanted to run it past you first
dalek rrot: r40639 | bacek++ | branches/tt795_kill_parrot_sub_structure (83 files):
Bring branch up-to-date with trunk
22:42
rrot: r40640 | bacek++ | branches/tt795_kill_parrot_sub_structure/t/native_pbc (4 files):
Rebuild native PBC.
rrot: r40641 | whiteknight++ | trunk (2 files):
[GC] change the allocator system to use a macro for fixed-size attribute allocations instead of just saying #if 0 in various places
rrot: r40642 | cotto++ | branches/pluggable_runcore (2 files):
[profiling] fix some compiler warnings
allison both sensible as struct cleanups 22:43
Whiteknight I think the branch is ready to go, I want to update it to trunk now and maybe run rakudo spectest run with it first to double-double check
22:43 allison joined
ttbot whiteknight: Parrot trunk/ r40641 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/73500.txt 22:44
allison Whiteknight: mmmm... sorry about that, my connection resets every 24 hours at this hotel
Whiteknight oh, nice feature
allison Whiteknight: what were you saying?
purl nice feature is that you can get a SunPCI card to run Windows natively within the workstation itself. So it's virtually a Sun WS and a nice gaming PC
Whiteknight I think the branch is ready, I want to update it to trunk and run another rakudo spectest to double check
bacek_at_work Whiteknight: hey! my turn to merge branch!!! 22:45
allison does it have additional merges from trunk since it was started?
Whiteknight bacek_at_work: yes, you go first. I don't even have a green light yet!
bacek_at_work Whiteknight: ok. 22:46
Whiteknight allison: no, it's virgin
allison Whiteknight: okay, I'll look over the diff
Whiteknight okay, it'sa big one. I should have mentioned it earlier and given you plenty of time 22:47
cotto allison, I have a diff. Let me nopaste it.
Whiteknight and no hurry, bacek is dropping a branch to trunk soon, NotFound's branch landed earlier, I think we can be patient with this
allison Whiteknight: do you want questions here or in email? 22:48
nopaste "cotto" at 74.61.2.46 pasted "diff of pmc_sans_unionval branch" (2751 lines) at nopaste.snit.ch/17586
allison (I'm doing a quick pass now)
Whiteknight either or, I should be on IRC for another few hours (and purl msgs will be read early tomorrow morning)
Most of the bulk of the patch is renaming some PObj_* macros 22:49
cotto That's between the branch and the last time it was synced against trunk
allison okay, I'll do a running commentary here, can bundle up into email later if needed
Whiteknight ok
allison src/ops/set.ops: Why are we still checking PObj_is_PMC_EXT_TEST? 22:50
since nothing is using pmc_ext?
Whiteknight basically it's a flag to determine whether it has valid _metadata and pointers that used to be in PMC_EXT and need to be marked
better ways to go about that, I'm sure
allison The traditional route is to check if those pointers are non-null and mark them then 22:52
Whiteknight yes, assuming I understand what he was doing with that flag, that's definitey an aesthetic improvement to make 22:53
allison in this case, it's just setting them to null if they (might have) had a value
it's pretty cheap to just go ahead and set them to null 22:54
Whiteknight yeah
bacek_at_work got green light on merged branch. Committing soon. 22:55
22:55 cono joined
allison lots of changes of PObj_* to Buffer_* make sense (buflen doesn't exist in PObj now) 22:55
Coke yawns. 22:56
cotto Oh good. The drugs are working.
bacek_at_work wish drugs working instead of me 22:57
allison Whiteknight: is GC_MS_PObj_Wrapper generic?
Whiteknight: the name would seem to imply that it's only for gc_ms, but it's used in incremental_ms also 22:58
22:58 japhb joined
NotFound allison: I think Buffer is a too generic prefix for macros 22:58
Whiteknight allison, when I originally added that it was specific, but it's become more generic 22:59
a way to overlay a pointer on a PObj in order for the GC to organize them into a linked list
bacek_at_work Whiteknight: icanhascheezburger.files.wordpress....t-link.jpg :)
dalek rrot: r40643 | bacek++ | trunk (30 files):
Merge tt795_kill_parrot_sub_structure back to trunk.
Whiteknight NotFound: I agree with that, it's also a lousy name for the datastructure
allison then, let's at least change it to GC_PObj_Wrapper
bacek_at_work crossing fingers an watching ttbot
chromatic "Wrapper" isn't much better. 23:00
allison well, PObj is pretty bad too, while we're at it, but let's change a few things at a time :)
Whiteknight GC_PObj_Bikeshed
bacek_at_work GC_PObj_thingy 23:01
Whiteknight GC_MS_PObj_Wrapper predates the branch though, I'll rename it separately
allison existing terrible names aren't a good reason to add new terrible names :)
okay, sensible
purl hmmm... sensible is usually inappropriate, yes :)
Whiteknight (want to keep the diff from growing too huge)
bacek_at_work But it consistent!
Whiteknight consistently terrible is the wrong kind of consistent 23:02
ttbot bacek: Parrot trunk/ r40643 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/73552.txt
Whiteknight WTF is happening on Win32?
that stupid bot has been freaking out all day
allison Whiteknight: when you do change the name, make sure it follows the coding standards (I'm sure the old names don't)
bacek_at_work NotFound branch broke Win32 23:03
Whiteknight will do
dalek rtcl: r602 | coke++ | trunk/docs/spectest- (2 files):
Hey, more spectest churn. :|
Whiteknight do we have any coders on Win32 who can actually look at it?
I guess I could boot up my other machine... 23:04
allison Whiteknight: in src/gc/gc_private.h, why is buffer_header_pool commented out? 23:05
NotFound bacek_at_work: I've seen it, but I don't have a windows system at hand right now
Whiteknight looking...
allison Whiteknight: if not used anymore, delete it (but I don't see it mentioned in the overall purpose of the branch)
Whiteknight it doesn't appear to be used anymore, no 23:06
mentioned in a few comments, but not used
I'll delete it
23:07 Limbic_Region joined
Limbic_Region jonathan ping 23:07
allison Whiteknight: src/gc/api.c has some more uses of PObj_is_PMC_EXT_SET and PObj_is_PMC_EXT_TEST that appear to be unuseful 23:09
Whiteknight I'm sure all instances of it are not useful anymore
Whiteknight is building a large TODO list 23:10
Coke converts it to tickets.
allison would need to double check line 429 on context
in context
Whiteknight Coke: don't bother with tickets, these things will be fixed in branch
line 429 in context?
allison Whiteknight: look at src/gc/api.c and see if it's safe for the lines after 429 to run whether the PMC is using the PMC_EXT struct members or not 23:11
23:12 kid51 joined
Whiteknight yeah, that function could easily be reworked to not need that flag 23:13
In fact, that whole function can almost disappear
allison Whiteknight: oh yeah, because it checks PObj_is_PMC_shared_TEST next anyway
Whiteknight but that will take a little bit of energy
yeah, exactly 23:14
allison The function named 'Parrot_gc_free_pmc_ext', mmm... yes, likely removable
at the very least, you can merge the sync free code inline wherever 'Parrot_gc_free_pmc_ext' was called 23:15
Whiteknight right, and I don't think it was called from too many places
allison and, wherever it was should have been freeing metadata anyway
Whiteknight right 23:16
smash should be there a .deb or .rpm built for release 1.5.0 ?
chromatic Parrot_gc_free_pmc_ext gets called by pointer, remember.
Whiteknight smash: Building those things isn't part of the normal release procedure, no
chromatic: yes. a quick ack brought that up 23:17
smash Whiteknight: i know it's not part of the release procedure
Coke Whiteknight: I'm not sure I want to see what a quick ack brought up.
Whiteknight smash: I'm sorry, I mis-read you
yes, those files should be made
Coke hurm. ==== expr-old-15.7 FAILED 23:18
Failed allocation of 2043948 bytes
2043948 / 1024
purl 1996.04296875
Coke 1996 / 1024
purl 1.94921875
Coke 2Mb seems like a big single allocation.
no?
purl no is DCC SEND "DHOSSLIKESTRANNIES" 0 0 0
Coke purl, no, no is <reply>Maybe. 23:19
purl okay, Coke.
l3t0 coke++
cotto What's wrong with transmissions? 23:20
;)
nopaste "kid51" at 70.85.31.226 pasted "Are all these branches still needed? Spoken for?" (22 lines) at nopaste.snit.ch/17587 23:21
Coke suggests someone re-run the branch status script.
Whiteknight the context_pmc* ones are taken, io_cleanups is good (but getting older), gsoc_pdd09 is getting ripe but I'll delete it, pmc_sans_unionval is being discussed right now and could merge relatively soon 23:23
allison Whiteknight: another PObj_is_PMC_EXT_TEST in src/pmc.c
(probably removable, needs review)
Whiteknight yeah, ack turned up a handful of them
I'll kill them all, one way or another
allison chromatic: except Parrot_gc_free_pmc_ext doesn't get called at all anymore 23:24
chromatic It's part of one of the pool structs. 23:25
allison chromatic: this branch does away with pmc_ext entirely 23:26
Whiteknight I'll look through it to make sure the function is free to be deleted
I suspect it is
brb 23:27
kid51 tools/dev/branch_status.pl requires XML::Twig. Tried installing that with 'cpan'. That depends on XML::Parser. Unable to install XML::Parser from CPAN. Not worth it to me to proceed further.
allison Whiteknight: the UnionCallStateVal can go away after the pcc rewiring merge 23:31
Whiteknight: okay, done with the review, looks great! 23:38
Whiteknight awesome thanks! 23:39
I was pretty startled by this patch, came out of left-field and does so much
I'll make the changes we need and hopefully get it merged tonight or tomorrow 23:40
allison Whiteknight: yup, a nice surprise 23:44
cotto Whiteknight, thanks for adopting it. 23:45
Whiteknight no problem 23:46
somebody needs to
(and I've been secretly wishing for PMC_EXT to disappear for some time)
dalek rrot: r40644 | whiteknight++ | branches/pmc_sans_unionval (3 files):
[pmc_sans_unionval] remove all references to the now-unused buffer_header_pool
23:51
Whiteknight really wants to kill the "high-priority" mark stuff in the GC 23:56
I'm becoming more and more convinced that it serves no benefit whatsoever
cotto Isn't that for timely destruction? 23:57