www.parrot.org/ | Parrot 1.4.0 "Mundo Cani" Released!
Set by moderator on 21 July 2009.
jonathan (e.g. attributes) 00:00
Alternatively, lexical scopes and context vars may render it a non-issue also. 00:01
MikHel jonathan: I was thinking of an approach whereby you would recursively go down the past tree when constructing the top level object (for example a method). 00:03
jonathan: But then I have not understood yet the subtelties of the lexical scopes and context. Have to delve into that :) 00:04
bacek_at_work hi again 00:07
purl oh, you're back!
jonathan MikHel: Some of it is, I believe, fixed up during the PAST -> POST trnasformation. 00:09
dalek cnum-dynpmcs: r134 | darbelo++ | trunk/aux/decTest/cfg/Makefile.in:
This line is generating errors from Configure.pl, and it doesn't serve any
00:10
cnum-dynpmcs: r135 | darbelo++ | trunk/t/ (4 files):
Add our first batch of decTest generated tests. We fail 184 out of 3840, but it
00:20
rrot: r40327 | whiteknight++ | branches/io_cleanups/src/pmc/handle.pmc:
[io_cleanups] fix a weird pod bug that was breaking the build
00:26
Coke Whiteknight: poing 00:27
Whiteknight Coke: the TPF grants thing closes on friday, right? 00:29
cotto darbelo, ping 00:31
darbelo cotto: pong 00:33
cotto darbelo, have you verified that the failing tests are caused by the library rather than by the PMC or Parrot?
s/\\?/ code?/ 00:34
It's odd that the code would fail its own tests.
darbelo I'm working on it. It's really tedious, as I have to check case by case. 00:35
cotto Yeah.
For the commit message it sounded like you were just blowing off the failures.
I can help parallelize if you like. 00:36
nopaste "darbelo" at 200.49.154.172 pasted "Here's an example of what I'm using to check the failures." (27 lines) at nopaste.snit.ch/17432 00:38
cotto That's what I'd do.
dalek rrot: r40328 | whiteknight++ | branches/io_cleanups/t/pmc/handle.t:
[io_cleanups] the Handle PMC type is instantiable right now (whether that's a good thing or not) so we shouldn't be testing to prove that it isn't instantiable
00:39
kid51 svn ups in io_cleanups branch for first time in weeks 00:40
darbelo I'm not doing anything with multiply.t right now, so feel free to look at those as beredom strikes you. I'll get to them eventually otherwise. 00:41
cotto ok. That's only 7 failures. 00:43
nm. It throws an exception.
darbelo exception? where? 00:44
purl exception is from Email.pm not that code
cotto It'd be nice if the test failures printed the name of the failing test.
Invalid number of digits provided!
multiply.t
darbelo the new ones do, actually. But you have to prove -v t/testfile.t to see it.
00:46 mikehh_ joined
cotto good thing you told me that before I tried to add it myself 00:46
darbelo Besides, now that I look at it I see that it's not a test that's failing. 00:47
The test file has test for numbers with more difits than we support right now. 00:48
cotto how are you marking tests TODO?
japhb++ for the library suggestions
japhb cotto: thanks! 00:49
darbelo cotto: I'm not. I haven't checked if test_more.pir has a way to. 00:50
s/to./to do that./ 00:51
Also, there is a comment in t/data/multiply.decTest right before the failing tests that says: 00:57
"following testcases [through mulx800] not yet run against code" 00:58
So I'm ripping those tests out of the file for now. Wait for the commit
cotto Nice. 00:59
01:02 bacek joined
darbelo There. 11 failures in the file, but now it runs to completion. 01:04
svn up to r137 and you're good to go. 01:06
dalek cnum-dynpmcs: r136 | darbelo++ | trunk/t/multiply.t:
Remove some multiplication test that can only fail.
01:09 hiroyuk__ joined
dalek cnum-dynpmcs: r137 | darbelo++ | trunk/t/multiply.t:
Oops forgot to adjust the plan().
01:11
Whiteknight japhb? 01:12
purl somebody said japhb was Geoffrey Broadwell, mailto:geoff@broadwell.org
japhb I be here
Whiteknight oh, I just wanted to make sure that you == Geoff Broadwell
japhb ah 01:13
kid51 Whiteknight: Am getting one test failure in io_cleanups 01:16
smolder.plusthree.com/app/public_pr...ails/25685
Whiteknight kid51: yeah, we're working on that one right now 01:17
once that gets fixed I think we can merge to trunk
kid51 cool 01:18
01:18 samlh joined 01:23 mokurai1 joined
nopaste "samlh" at 99.144.113.17 pasted "tiny patch for html docs css" (11 lines) at nopaste.snit.ch/17433 01:24
samlh Hello, long-time lurker here. I was reading the html documentation, and made a small patch for the css. Thoughts?
kid51 samlh: Can you show us what this looks like 'before' and 'after'? Links? 01:28
(patch seems reasonable, but it's been years since I looked at CSS) 01:30
My last Smolder report didn't display the branch ( which was io_cleanups ). 01:32
Am testing a patch to Parrot::Harness::Smoke which should alleviate that.
samlh 1 min 01:33
samlh.nfshost.com/foo/html/docs/pdd...c.pod.html versus docs.parrot.org/parrot/latest/html/...c.pod.html 01:37
see especially the list of vtable entries
nopaste "darbelo" at 200.49.154.172 pasted "cotto: does this look sane to you?" (15 lines) at nopaste.snit.ch/17434
Infinoid samlh++ 01:38
kid51 hmm, both versions taking long time to load.
Ahh, it's Verizon, of course. 01:39
darbelo msg cotto That nopaste is the sanest way I can think of TODOing tests so that we'll know if they ever start spontaneously PASSing. Let me know what you think about it.
purl Message for cotto stored.
Infinoid the difference is evident in the list of modifiers under Defining PMCs, too. Looks nice
darbelo With that done, I'm going to find some food. 01:40
samlh Infinoid: thanks!
cotto Hmmm. I don't like the idea of modifying generated code. 01:42
dalek rrot: r40329 | jkeenan++ | trunk/docs/resources/parrot.css:
[docs] Applying patch refining CSS contributed by samlh++.
01:44
kid51 samlh: See CREDITS in top-level of distro. You are now eligible to add your data there; post patch.
And speaking of CREDITS ... does anyone know the status of (allison's) efforts to determine who is a member of the Parrot Foundation and eligible for voting? 01:45
dalek rrot: r40330 | jkeenan++ | branches/io_cleanups/lib/Parrot/Harness/Smoke.pm:
[testing] Improve regex used to identify repository branches in preparing smoke reports.
01:50
rrot: r40331 | jkeenan++ | trunk/lib/Parrot/Harness/Smoke.pm:
[testing] Improve regex used to identify repository branches in preparing smoke reports.
samlh kid51: ok, thanks! This is awesome... 01:51
nopaste "samlh" at 99.144.113.17 pasted "Credits patch" (15 lines) at nopaste.snit.ch/17435
dalek rrot: r40332 | jkeenan++ | trunk/CREDITS:
First squawk of the Parrot for Samuel Harrington.
01:57
samlh :) 01:59
02:00 Andy joined
bacek_at_work TapTinder? 02:01
purl i think TapTinder is software development tool - taptinder.org . For Parrot project running on tt.perl6.cz/ and reporting build failures to #parrot channel as ttbot.
kid51 must sleep 02:07
purl $kid51->sleep(8 * 3600);
02:17 jdv79 left 02:19 nopaste joined 02:28 wayland76 joined
nopaste "samlh" at 99.144.113.17 pasted "similar patch, fixes spacing in html documentation" (13 lines) at nopaste.snit.ch/17436 02:32
samlh Sorry, just tweaked it a little more to improve the spacing. old: samlh.nfshost.com/foo/html/docs/pdd...c.pod.html / new: samlh.nfshost.com/foo2/html/docs/pd...c.pod.html . Again, the functions listing shows improvement. Thanks!
02:42 janus joined 02:45 magnachef joined 02:55 tetragon joined 03:38 wayland76 joined 03:50 samlh joined
dalek TT #890 created by satrac++: build failed on intel mac osx 10.5 03:54
treed Oh? 03:57
04:06 dukeleto joined 04:07 TiMBuS joined
wayland76 Does anyone know how close protoregexes and LTM are? 04:33
cotto pmichaud does. 04:34
if anyone does
wayland76 Right. But he's afk, according to #perl6. Thanks though. 04:36
cotto My impression is that it hasn't gotten a definite spot on his schedule. 04:38
I'm really looking forward to profiling.
It's nice to be excited about something and actually able to act on it. 04:39
04:39 sbluen joined 04:40 sbluen left
wayland76 Well, pmichaud predicted that it'd be ready by the end of summer. He predicted Northern summer (ie. at least September), but being an Australian, I predict Southern summer (ie. February) :) 04:41
cotto before Christmas 04:42
purl but after lunch.
wayland76 Well, when we discussed it, I figured we were about half done, and had missed our deadline by maybe 8 months (this was in maybe June), so I just added another 8 months :) 04:43
purl: seen allison? 04:44
purl allison was last seen on #parrot 1 days, 9 hours, 56 minutes and 44 seconds ago, saying: (and expanding from there) [Jul 28 18:42:29 2009]
Coke cotto++ # profiling is desperately needed. 04:47
pmichaud protoregexes will be very soon
we need them in order to be able to support the other PGE improvements 04:48
dukeleto has anyone ever successfully deleted a breakpoint in parrot_debugger? it doesn't seem to work
Coke dukeleto, you're the first person to touch the debugger in years. Don't expect anythign to work.
pmichaud and the other PGE improvements are needed so that jonathan++ and I can make some key changes to lexical handling in Parrot
Coke dukeleto++
pmichaud in summary: The PGE tasks are becoming even-more-critical
Coke (there was some cleanup a while back, but I don' think anyone uses it on a regular basis. i'mm very happy to see those tests.
pmichaud on the good side, this last weekend jnthn++ and I were able to spec out how I can make the PGE changes without breaking everything that already exists 04:49
dukeleto Coke: yeah, I can tell. I am writing tests as fast as I can so that I can start actually hacking on it and have some peace of mind that I am not breaking things
pmichaud (end of pge/protoregex/ltm status report)
wayland76 pmichaud: Many thanks. When I ask questions like this, it usually means I've been reading the ROADMAP again :) 04:50
I'm also wondering whether task B (Parrot Calling Conventions) got into the July release
Coke nope 04:51
wayland76 ok
cotto pcc_rewiring is allison's next priority, afaict
Coke (at least ,not if that's the parrot portion of that. there's a branch that is still under development.)
wayland76 Coke: Yes, it specifically mentions Parrot 04:52
pmichaud allison said during today's perl 6 meeting that parrot calling conventions is her next task. 04:53
(to which I respond heartily: "Yay!")
wayland76 For anyone who'd like to see the ROADMAP (2 months out of date, but probably still mostly right): github.com/rakudo/rakudo/blob/ce21f...cs/ROADMAP 04:54
pmichaud better url is github.com/rakudo/rakudo/trunk/docs/ROADMAP 04:55
oh, wait.
hmmm.
better url is github.com/rakudo/rakudo/trunk/tree...cs/ROADMAP
grrr
better url is github.com/rakudo/rakudo/tree/maste...cs/ROADMAP 04:56
there.
(that way it's not tied to a specific commit)
cotto yay +1
I'm really happy to know that that's her next task. 04:57
05:01 Andy joined
dalek rrot: r40333 | dukeleto++ | trunk (2 files):
Add two TODO tests for deleting parrot_debugger breakpoints and add code that throws an friendly error message instead of a Bus Error
05:07
05:16 desertm4x joined
dukeleto it seems that the PDB_t interp->pdb never gets a non-NULL interp->pdb->file associated with it in the parrot_debugger, which causes listing the source and deleting breakpoints to not work. the breakpoints that *do* get set right now are probably not working correctly either, due to this. 05:26
05:26 eternaleye joined
dalek rrot: r40334 | dukeleto++ | trunk/t/tools/parrot_debugger.t:
Add tests to parrot_debugger for tracing multiple statements and printing all integer registers
05:56
cotto seen chromatic 06:05
purl chromatic was last seen on #parrot 1 days, 6 hours, 39 minutes and 48 seconds ago, saying: I thought that already worked. [Jul 28 23:20:27 2009]
Andy did passwords get reset in svn.parrot.org? 06:09
aha! trac.parrot.org and svn.parrot.org are the same DB 06:11
06:12 theory joined
dalek rrot: r40335 | petdance++ | trunk/lib/Parrot/Pmc2c/PCCMETHOD.pm:
set qr delimiters to // so vim color coding does not freak out.
06:13
06:15 uniejo joined
Andy I can't get into trac at all. I'm having looping redirects. 06:17
cotto cookie issue? 06:18
I can log out and in ok. 06:19
Andy it's gotta be cookies 06:21
but 06:22
I've totally cleared all my cookies
wayland76 Maybe you need more squashed flies (sultanas/raisins) in your cookies 06:29
dukeleto Andy: do you have a browser-add-on that is being too smart ? 06:39
wayland76 ...or not smart enough :) 06:40
cotto I'm glad I don't have to write xs. 06:42
dalek rrot: r40336 | dukeleto++ | trunk/t/tools/parrot_debugger.t:
Add tests for printing each register type in parrot_debugger
06:57
07:29 flh joined 07:30 chromatic joined
dalek rrot: r40337 | dukeleto++ | trunk/src/parrot_debugger.c:
Add some much-need docs to parrot_debugger, mostly about breakpoints and printing registers
07:31
08:11 rhr joined 08:59 HostileParadox_ joined 09:09 einstein joined 09:11 clinton joined 09:13 donaldh joined 09:40 bacek joined 09:55 bacek_ joined
bacek_ o hai 09:58
moritz hi bacek_ 09:59
bacek_ moritz: hi
bacek_ hate moritz sometimes when he try to autocomplete "good mor..."
moritz won't apologize for his nick :-) 10:00
bacek_: hate yourself for mangling the autocompletion of "back" :-) 10:01
bacek moritz: No way! :)
bacek just finished reading latest #ps log 10:06
msg chromatic How Keys refactor related to "VTABLE swap"? 10:07
purl Message for chromatic stored.
10:08 kj joined
bacek kj: O HAI! 10:08
kj bacek: Hi there 10:09
purl hola, kj.
kj just replied your email
10:09 mikehh joined
bacek kj: just read it. 10:09
I've got about 20 commits waiting in git :) 10:10
kj oh very good
hope it's of any use as a basis to start from
10:10 Casan joined
bacek kj: It's just small cleanups for now. 10:10
And it _is_ very good basis. 10:11
kj where's the repository?
purl the repository is chastity locked.
kj it's not listed on parrot.org/languages
bacek kj: btw, good half of reasons why I joined parrot was your PCT tutorial :) 10:13
svn.parrot.org/languages
10:14 flh joined
kj ORLY? 10:14
purl YA RLY.
kj cool :-)
btw, i remember now what a big issue was with the PCT based implementaiton of PIR: macros and heredocs 10:15
both are a PITA to implement 10:16
bacek they are. 10:17
But my main goal is implement some optimisations strategies for PIR. So heredocs and macros aren't high on my task lists. 10:18
kj ah i see
feel free to replace my name in the maintainer file ;-) 10:19
bacek OTOH having "mostly" finished PIR compiler will help to archive other goals. Like "Emit PBC from PCT" :)
kj: I probably will. But you are still in AUTHORS section :) 10:20
moritz why do you need another PIR compiler when you want to emit PBC from PCT?
or did I make a connection here that doesn't exist?
(I mean you could make the POST compiler emit PBC, no need to touch PIR here) 10:21
bacek moritz: good half of PCT-based compilers have "embedded PIR fragments"
like Q:PIR
moritz maybe it would be easier to offer a good alternative to that 10:23
bacek yeah. PCT based PIR compiler is good alternative :)
moritz ok, I don't want to prevent you from having fun :-) 10:25
bacek moritz: look. For implementing various optimisations "from 80's" we need PIR/PASM parser.
We have "fully functional" compiler IMCC. Which implies that we have to write all this optimisations in "some bloody macroassembly language from 80's" 10:26
(and I don't want to do it) 10:27
moritz I don't see why you can't write a POST compiler that handles the cases without embedded PIR 10:28
see how it works out
and if it does bring some significant speed gain, you can still worry about a PCT/NQP/Whatever based PIR compiler to use inside that POST compiler
that's the "simplest thing that could possibly work" approach 10:29
bacek 1. it's not "inside".
moritz what is not inside whate? 10:30
s/e\\b//
bacek 2. In POST too much information about semantic already lost.
moritz then you can write a PAST compiler instead of a POST compiler 10:31
bacek yeah.
But "generic" PAST is "too generic" for me.
If I have "PIR PAST" that I can rely on I can do much more things. 10:32
And, and the end of the day, POST will converted to something very similar from "PCT PIR" 10:33
Because those 2 things are quite close
moritz I don't know what you mean by "PIR PAST", but that's probably OK 10:34
bacek moritz: "PIR PAST" is AST with well predefined, expected by optimiser, properties. 10:36
moritz will it be plugged into the existing toolchain? Or do the PCT based compilers have to be changed to use that? 10:37
mikehh All tests PASS at r40377 (pre/post-config, smolder, nqp_test, fulltest) - Ubuntu 9.04 amd64 10:38
bacek moritz: PCT architecture allows to plug additional steps. pmichaud++. So, answer is "yes"
But I can't say right now that it will not require some small tweaks. Like "compiler.add_step('enable_megacool_optimisations')" 10:40
moritz ok. I was more thinking about changed code/PAST generation 10:41
bacek no-no-no.
One of PCT steps is "to_pir". 10:42
So, after this I (and anyone else) can embed "optimisation step". And that's why I need "PIR compiler"
moritz ah 10:43
you want to optimize the generated PIR
bacek any PIR
moritz I thought you wanted to omit the PIR generation
bacek I would like to. But again - PAST is way too generic. 10:44
10:45 MoC joined
bacek But I will consider to use POST for "basis" 10:45
dalek ose: r86 | Austin++ | trunk/ (16 files):
Checkpoint: grammar refactoring proceeds. AST now has types.
10:52
ose: r87 | Austin++ | trunk/src/parser/ (4 files):
Checkpoint: grammar refactoring proceeds. AST now has types.
10:57
mikehh rakudo (13ba2f3) builds on parrot r40377 - make test PASS/ make spectest (up to 27815) two tests FAIL - reported before - Ubuntu 9.04 amd64 10:58
t/spec/S12-enums/basic.rakudo - Parse errors: Bad plan. You planned 30 tests but ran 28 - fails with Method 'Num' not found for invocant of class '' 11:03
t/spec/S12-introspection/walk.t - Parse errors: Bad plan. You planned 10 tests but ran 4. - fails with Parameter type check failed; expected Any, but got Object for $class in call to block_86 + backtrace 11:05
I think I better post to #perl6 as well 11:09
need to connect
11:20 donaldh joined 11:50 mikehh_ joined 12:11 ruoso joined 12:15 Jimmy joined
dalek rrot: r40338 | jkeenan++ | trunk/docs/resources/parrot.css:
[docs] Additional CSS refinement contributed by samlh++.
12:19
12:39 HG` joined 12:48 jimmy joined 13:15 desertm4x joined 13:20 iblechbot joined 13:44 makk384 joined 14:03 NotFound joined
NotFound hi 14:03
purl niihau, NotFound.
14:05 fdorothy joined 14:10 hercynium joined 14:15 Andy joined
dalek rrot: r40339 | NotFound++ | trunk/src/debug.c:
[debugger] repair source loader
14:16
NotFound Please stop adding bad tests to parrot_debugger. 14:17
dalek kudo: 5797a68 | jnthn++ | src/pmc/p6opaque.pmc:
Fix bug relating to submethod dispatch on a proto-object.
14:22
kudo: a100a60 | jnthn++ | src/builtins/guts.pir:
Ensure that proto-objects use the correct dispatcher, just like any other object.
kudo: 21cbaef | jnthn++ | t/spectest.data:
Add S14-traits/routines.t to spectest.data.
Coke if you defined "bad", that might be more helpful. 14:27
NotFound Checking the look of the output instead of the functionality. 14:28
Coke looks like the output checks are at least regexes, not full output matches. 14:30
NotFound Is failling on one of my systems, anyway. 14:31
dalek rrot: r40340 | NotFound++ | trunk/compilers/imcc (5 files):
[cage] rename imcc struct _IMC_Unit to struct IMC_Unit and avoid several forward declarations of it
Coke do we run those tests in 'make test' ?
NotFound Coke: yes
Coke k.
I have some small updates to avoid backwhacking. 14:32
NotFound IMO parrot_debugger is not mature enough to be fully testable
Coke some sane tests are better than no tests. 14:34
NotFound Looks like some of that tests assume that in the trace output the integer registers are zero, and they aren't 14:35
Coke: yeah, but no one knows how a sane parrot_debugger output looks like. 14:37
dalek rrot: r40341 | coke++ | trunk/t/tools/parrot_debugger.t:
Make the regex on this test a little looser so it passes.
14:38
mikehh oops - in my earlier posts I used r40377 instead of r40337 for parrot 14:39
Andy can anyone help me with trac.parrot.org redirects? 14:41
"delete your cookies" does not solve my problem. 14:42
14:42 dukeleto joined
NotFound Coke: thanks 14:43
Andy It's very sad. Not able to commit code (easily). 14:49
jimmyZ Andy: can you log in ? 14:51
Andy no
I get a redirect loop.
mikehh t/tools/debugger.t FAILS - Failed test: 19 (at r40341) 14:52
Ubuntu 9.04 amd64
Coke Andy: what's the issue?
purl The Chinaman is not the issue here Dude!
Andy I keep redirecting to /parrot/prefs/account 14:53
NotFound mikehh: I'm looking at it
Coke Andy: you're going to trac.parrot.org (redirects to /parrot), clicking on login? 14:54
Andy I've tried a billion different things.
Coke ok. I can't duplicate the problem with my account, so i'm trying to figure out what you're doing that's different.
(also, OS/browser?)
Andy GENERAL AWESOMENESS, THAT'S WHAT
Mac, both Safari and Firefox 14:55
Coke ... how's that working out for ya.
ok. my mac is at home, so i can't verify that...
I'll switch to firefox on win instead of chrome, though. =-)
jimmyZ works fine for me FF on win
Andy now, I changed passwords yesterday 14:56
Coke as did i. =-)
Andy right
Coke ... assuming you really are andy and not some nefarious hacker.
Andy I might be. 14:57
You just can't tell.
EXCEPT FOR THE AURA OF AWESOME.
Coke more of an aroma.
14:57 Psyche^ joined
Coke Andy: did you ever confirm your email address with trac? 14:58
(just out of curiousity. I know that bit some people i the past.)
Andy I don't know.
it does williningly email me password resets 14:59
now, I can get to trac.parrot.org/parrot
but I'm not logged in.
Coke ok. when you click login, that should take you to: trac.parrot.org/parrot/login 15:00
Andy yes, it does
Coke and when you click the button, you should land on /parrot
Andy no, it tries to send me to /parrot/prefs/account
and redirects over and over
dalek rrot: r40342 | NotFound++ | trunk/t/tools/parrot_debugger.t:
[t] don't assume value 0 on unitialized I registers
15:01
Coke Andy: JS disabled, perhaps? 15:02
;( web equivalent of "did you reboot yet" questions.)
Andy nope
I don't allow creating windows, though
NotFound mikehh: Can you check with r40343?
Andy can you see if my email addr is confirmed?
Coke it's listed. 15:03
I don't know if that means confirmed.
Andy: I can try to reset your password.
Andy ok
it will mail me a new PW just fine 15:04
but logging in again still goes into looping
15:04 jimmyZ_ joined
dalek rrot: r40343 | NotFound++ | trunk/t/tools/parrot_debugger.t:
[t] fix errata from r40342
15:04
15:10 ruoso joined
mikehh NotFound: building now 15:11
Interestingly enough make fulltest PASSes at r40441 - it does not check t/tools, nor nqp_test for that matter 15:12
15:12 ruoso joined
mikehh r40341 15:13
15:13 ruoso joined 15:15 ruoso joined
mikehh NotFound - yes it passes - running smolder now 15:16
15:17 ruoso joined 15:18 jan joined, quek joined
mikehh so you can remove a breakpoint once it's set? 15:18
15:19 ruoso joined
NotFound mikehh: amusing, several tests still failed for me in amd64 15:19
mikehh: I don't looke at that tests yet, they are todo'ed
dalek rrot: r40344 | NotFound++ | trunk/t/tools/parrot_debugger.t:
[t] use the --script option instead of stdin to pass commands in parrot_debugger tests
15:21 donaldh joined, slavorg joined
NotFound Witht that last change, the remaining failures are gone. Don't know what's the cause. Different versions of Test::More, maybe? 15:22
I think I know what was the culprit: readline_interactive ! 15:25
It behaves differently if parrot is built with realine support or not.
mikehh smolder PASSed at r40343 on Ubuntu 9.04 amd64 15:27
I definately have readline = yes in Configure 15:29
15:29 theory joined
mikehh All tests PASS at r40343 (pre/post-config, smolder, nqp_test, fulltest) - Ubuntu 9.04 amd64 15:33
t/tools/parrot_debugger.t PASSes if I svn up and prove -v t/tools/parrot_debugger.t 15:37
at r40344 - I haven't rebuilt yet 15:38
NotFound No need to rebuild, the only change is in the test file 15:39
mikehh NotFound - sure, but my test script does a make realclean etc 15:40
15:41 einstein joined
NotFound Not sure what is exactly the problem with readline_interactive in that case, but using --script instead of stdin we don't have to worry. 15:43
mikehh NotFound: you use g++ don't you - what advantages do you find using that over gcc 15:51
NotFound mikehh: mainly, that if I don't do that no one cares about not breaking the c++ compatibility of the code base ;) 15:52
Building with c++ ensures that we fix some problems that with C can look as unimportant warnings. 15:56
Also, the C++ name mangling helps check that we declare as PARROT_EXPORT all things that need it.
15:59 dukeleto joined
dukeleto hola 15:59
Coke dukeleto: hio 16:00
16:02 darbelo joined, mokurai joined
dukeleto coke: did that debugger test that you changed fail for you? it would seem that the next test would need to be changed as well. in any case, thanks! 16:04
16:05 clinton joined
Coke dukeleto: yes, it failed, or I'd not have changed it. it was the only one that did. 16:06
(that on feather, a linux box.)
NotFound dukeleto: I fixed several other as well. They were dependant of several assumptions that aren't always true.
If failed since I fixed a problem in the source loading function of the debugger. 16:07
dukeleto NotFound: I saw that, does listing the source work now? very exciting! 16:09
NotFound dukeleto: it was already working last time I checked, don't know when it get broken. 16:10
Coke how does it work? (if I do load foo.pir\\nlist, I get nada.) 16:12
dukeleto is there a way to test my code on muiltple architectures *before* committing? or perhaps getting branches tested? 16:13
NotFound: I am compiling the latest parrot from scratch now, I will add some tests for listing the source
Coke dukeleto: for anything bigger than a breadbasket, use a branch and ask for smoke reports.
for incremental fixups on parrot_debugger, I think trunk is fine if they work for you, and you're not too close to a release. 16:14
do you have access to linux?
NotFound Coke: parrot_debugger file.pir -> Both compiles and loads the source.
Coke whee, source (also segfault. =-) 16:16
but still, that's probably the most I've seen out of the debugger ever. =-)
NotFound Coke: the load command just loads the source, you need to have the pbc already loaded.
Coke: last time I worked on it put to work several things, even if badly. 16:17
Coke woot.
16:17 payload joined
NotFound Is not stable, and is not up to date with parrot features, but is able to do some things. 16:18
16:32 whiteknight joined
dalek TT #891 created by particle++: [TODO] allow spaces in nci function signatures 16:37
16:40 Themeruta joined
Coke Ugh. do we really want to be making our string based parameter listings MORE flexable, requiring more effort to parse? 16:40
16:42 davidfetter joined
Coke and here goes the "unify the signature" discussion again. I cannot remember the outcome the last time it occurred. 16:42
whiteknight last time it occured, we got off onto a tangent about how condensed signatures weren't the most expressive form for expressing signatures
particle ok, so i'm stoking the fire a bit 16:43
Coke i don't think we want expressive signatures to parse at runtime.
whiteknight and no matter what the outcome last time, we DO need to fix our signature string handling in one way or another
particle runtime? it's c.
NotFound If you want to make it clear in C, just write: "I" /* <- */ "I" 16:45
particle or 'I' 'I'
NotFound Or just "I" "I"
particle: syntax error 16:46
purl syntax error is what he's already getting
Coke yes, and whenever someone calls Parrot_call_sub_ret_int(interp, sub, "II", 5);, we're doing a runtime lookup to figure out what actually means. I'm just concerned about slow downs. (yes, benchmarks needed)
particle why syntax error? they're both one char.
Coke particle: 'I' is a char, not a string.
this ain't perl.
ascii i?
purl, you need an ascii function.
purl Coke: i'm not following you...
particle chr i 16:47
NotFound Thw way I proposed, is the C compiler who works.
particle: but you don't need chars, but strings
particle right, of course. duh.
16:47 he joined
particle notfound: the developer works, too 16:47
space is a lot cheaper to type than '" /* <- */ "' 16:48
NotFound particle: if the developer wants clarity, he must write something.
You can even write a beautiful C macro: SIGNATURE(ret_type,args) ... 16:49
particle and it's actually the compiler working with my solution, yours uses the preprocessor 16:50
NotFound Anyway, there is no need to add bloat to the machine to allow a C coder to write in a clean way.
Coke (macro++)
16:51 bacek joined 17:00 quek left
cotto seen chromatic 17:01
purl chromatic was last seen on #parrot 1 days, 17 hours, 34 minutes and 51 seconds ago, saying: I thought that already worked. [Jul 28 23:20:27 2009]
Coke abesapien! 17:28
particle joy! the blue angels have returned to seattle :) 17:36
17:57 einstein joined 17:58 Themeruta joined 18:10 chromatic joined 18:11 bacek joined 18:12 Themeruta joined 18:22 Themeruta joined
cotto chromatic, ping 18:24
chromatic pong 18:25
nopaste "cotto" at 74.61.2.46 pasted "initial idea of profiling runcore output" (31 lines) at nopaste.snit.ch/17439 18:26
chromatic Sensible. 18:27
purl hmmm... sensible is usually inappropriate, yes :)
chromatic My only question is if functions need association lines as well.
cotto Sure. 18:28
chromatic Looks doable then.
cotto What do you think about using a hash to map between function and file names and their shortened versions? 18:29
the alternatives being a O(n) lookup or something I hadn't thought of 18:30
chromatic A hash in the output file? 18:31
Or a hash in memory.
cotto in memory
"/home/user/foo.pir" => "F0" 18:32
dalek rrot: r40345 | NotFound++ | trunk/compilers/imcc (6 files):
[cage] get rid of one imcc global, RT #39714
PerlJam er, don't you normally want it the other way around?
chromatic Or we could only write the file/function output when it changes.
cotto PerlJam, only when you're reading the file.
That's also a possibility. If we're using some sort of compression, it'll take care of the redundancy. 18:33
18:33 NotFound joined
chromatic An in-memory hash perturbs memory, which I'd like to avoid. 18:34
... as much as possible, anyway.
cotto btw, all the information we want to store is available. I hacked up the slow run core as a proof of concept.
chromatic Perfect. 18:35
purl perfect is the enemy of good enough.
chromatic I'll get everything set up to add that runcore on the branch by the end of the day. 18:37
cotto except hll annotations, but those are obviously available
nice
chromatic Are you working on converting our simple format to Callgrind format? 18:38
cotto I haven't started on that. 18:39
It was on the list after figuring out the immediate format.
18:40 Zak joined
particle cotto: i'd put a marker after the time spent, to mark the units 18:41
cotto particle, the units don't matter as long as they're consistent.
particle or maybe somethng in the marker
er, header
if the units change, then you'll know how to handle it
cotto when would they change in the middle of profiling? 18:42
particle eg an embedded device that measures slower than ns
not the middle of profiling
this is output to a file, that's read later
perhaps on another platform
don't assume nanoseconds, make it a declaration
cotto That's a good idea, but also something that can be added once there's some extant code. 18:43
NotFound 10^-30 Galactic rotation periods
chromatic First we need to get our control flow tracking reasonably accurate.
cotto chromatic, that's what the call chain depth is for 18:44
chromatic I found that figuring out which ops go where was tricky.
particle call chain depth won't work with tailcalls
cotto although the control flow information would be somewhat implicit.
particle if you give contexts uids, then you can refer to calling context 18:45
that will allow circles and reused contexts
cotto particle, actually when using a tailcall the depth changes at the .sub line and then goes back down, but I don't know if it's wise to depend on that. 18:46
particle maybe a hash of the context?
cotto particle, so each line would also refer to the calling context somehow? 18:48
particle yes, each line refers to calling context, rather than chain depth
let the program interpreting the data build the call graph 18:49
cotto I like that. 18:50
Is there any problem with adding an UINTVAL field to Parrot_Context that gets incremented each time a context is created? 18:54
particle try to remember, there is no stack. everything is relative.
cotto I had to stop myself from typing "stack" several times. 18:55
chromatic Let's see what we can get without doing any of this yet. We may not need it.
cotto Sounds good. I'll get started converting the immediate format (+filenames/subs only when they change) into something Callgrind can use. 19:00
dalek rrot: r40346 | NotFound++ | trunk/compilers/imcc (2 files):
[cage] getting rid of a imcc global, RT #39714
19:01
chromatic Even that much may be useful to Rakudo.
cotto How are pluggable runcores going? 19:04
chromatic Mostly a SMOP at the moment. 19:05
I've decided to abstract them first, then make them pluggable later.
Adding the profiling core and getting it to where Rakudo can start to use it and give us feedback on what it gets wrong is more important. 19:06
19:20 donaldh joined 19:38 MoC joined
dalek rrot: r40347 | NotFound++ | trunk/compilers/imcc/symreg.h:
[cage] headerizing update forgotten in r40346
20:08
rrot: r40348 | NotFound++ | trunk/src/embed.c:
[cage] isolate and simplify startup debug info
20:33
rrot: r40349 | particle++ | trunk/docs/pdds/draft/pdd16_native_call.pod:
[PDD16] these are symbols, not letters
20:47
20:49 mokurai joined 20:52 jevin joined
mikehh All tests PASS at r40343 (pre/post-config, smolder, nqp_test, fulltest) - Ubuntu 9.04 amd64 21:02
BAH that's r40348
21:03 flh joined 21:06 pmurias joined
pmurias hi 21:06
there used to be a gsoc project to plug harmonys gc into parrot right? 21:07
chromatic Yes. 21:11
21:14 payload joined
pmurias chromatic: how far did it get? 21:15
GeJ Good morning everyone 21:16
mikehh rakudo (279abf9) builds on parrot r40348 - make test PASS/ make spectest (up to 27821) same two tests FAIL - Ubuntu 9.04 amd64 21:18
t/spec/S12-enums/basic.rakudo - Parse errors: Bad plan. You planned 30 tests but ran 28 - fails with Method 'Num' not found for invocant of class ''
t/spec/S12-introspection/walk.t - Parse errors: Bad plan. You planned 10 tests but ran 4. - fails with Parameter type check failed; expected Any, but got Object for $class in call to block_86 + backtrace
Coke mikehh: are those known failures? If so, probably no point in reporting them. 21:28
ISTR that when updating the spectest progress, known failures are at least listed in the commit message. not sure if they are also in the spectest progress file.
mikehh just the numbers 21:30
pmichaud jonathan was going to see about fixing those regressions... not sure what happened to that. 21:31
if they aren't fixed by tomorrow, we'll fudge them out for now.
mikehh I 've still got to get partcl working on my (non-installed) parrot 21:32
was palying around with the Configure.pl to make it more like rakudo so I can use --parrot-config=../parrrot/parrot_config 21:33
pmichaud I hope to have a significant update to rakudo's Configure.pl soon 21:34
21:35 kj joined
pmichaud (the one from our ins2 branch) 21:36
chromatic pmurias, I didn't hear much after the initial plan. 21:40
cotto Now might be a good time to revisit that goal if anyone's interested. 21:41
jonathan pmichaud: One of them I think the test file needs to change.
pmichaud: The other is a bug that I was hoping I'd suddenly realize how to fix, but that sudden moment has been rather unsudden in coming. :-)
moritz if you don't see a fix on the horizon, please regress on the tests and open a ticket for it 21:42
a clean 'make spectest' is immensely helpful when testing local changes
pmichaud agreed. I'm fine with fudging the tests. 21:43
Coke (making partcl work on non-installed parrot) the path of least resistance there is to just install it into a subdir.
or some other non-standard location.
pmichaud that's what Rakudo is doing.
jonathan Aye, I've kept expecting to fix them "today".
Coke fixing that for real requires a lot of work.
jonathan Sorry for the noise.
Coke AIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII! 21:44
moritz jonathan: no problem, I just don't want it to be a permanent condition ;-)
21:46 Whiteknight joined
cotto Hi, kj 21:47
kj hi cotto
cotto long time no c
jonathan kj! :-)
kj yeah:-) 21:48
good evening all
cotto kj, do you have any plans on getting back into pirc? 21:49
kj cotto: short term, prob not :-( 21:50
cotto rl is life that sometimes 21:51
kj i have little time to really focus on it
21:53 japhb joined
Whiteknight hello kj 21:55
kj hi Whiteknight
21:56 bacek joined 21:59 sekimura_ joined 22:05 dukeleto_ joined
kj cotto: perhaps I should increase the documentation so the bus number can be increased 22:06
that would be a start at least
haven't written a line of code in 6 monhts
cotto That would be a good thing.
kj documentation is easy, code is not 22:07
cotto and since you haven't written anything in the past 6 months, you'll have a better idea of what's not clear from the code
kj yes, well i was looking at it earlier this week, and i realized how complex pir really is
why is it that complex?! </rhetoric> 22:08
chromatic Because no one's pushed to simplify it.
Sufficiently, I mean. 22:09
kj most of the complexity comes from all the sugar
22:17 bacek_ joined
bacek_ Good morning 22:17
purl And good moroning to you, bacek_.
cotto maroons purl 22:18
chromatic, do you know smalltalk? 22:19
(or anyone) 22:20
kj cotto: that's a coincidence, was just checking out squeak :-)
but don't know it... 22:21
purl hmmm... don't know it is worth doing disguise for putting is at top of the function
22:21 donaldh_ joined
cotto It might be a good start for L1 if someone were to take the Smalltalk operations listed at wiki.squeak.org/squeak/2267 and explain what they do on the wiki. 22:22
chromatic I know a bit.
bacek chromatic: you wanted to talk to me (according to #ps logs) 22:24
q: Who can grant commit access to /languages? 22:25
cotto bacek, have you tried and failed to commit there?
chromatic bacek, is the Key PMC still a mess in terms of that it can store a STRING, an INTVAL, or a PMC? 22:26
bacek cotto: yes 22:27
chromatic: yes 22:28
chromatic Okay. Vtable swap is the idea that we can write one variant of each vtable entry for each type of value we expect a Key to hold and swap between those vtables when the type of the Key changes.
bacek chromatic: yak... What for? 22:29
chromatic Remove complexity and run time switching from each single vtable entry. 22:30
bacek you still have to check type of Key on each call, ain't you? 22:31
chromatic Nope, that's all hidden behind the proper vtable interfaces. 22:32
bacek I don't quite understand. 22:33
E.g. $P0 = new 'Interger; $P1 = new 'Float'; $P3 = $P0 + $P1
"+" is $P0.add($P1, $P3) 22:34
chromatic We have a set of vtable entries for "Key containing a STRING key", one for "Key containing an INTVAL key", and one for "Key containing a series of Keys".
bacek which is VTABLE_add(INTERP, SELF, $P1, $P3)
chromatic When we assign to a Key PMC (or convert the key it contains), we swap its vtable pointer to the appropriate vtable for the type of key it contains. 22:35
bacek ah. I misread original idea
22:36 wayland76 joined
bacek chromatic: and "VTable swap" only for Key PMC? 22:37
22:38 rg1 joined
chromatic Or any other PMC that really needs it; that might be a nice way to upgrade Integer into BigInt in place. 22:39
bacek In this case easier to convert Key to base class without data and inherit StringKey, IntegerKey, etc.
chromatic Key really benefits from something like this; it moves a lot of complexity behind the vtable interface.
Except that makes us morph.
bacek "makes us morph"? 22:40
chromatic How do you know what you're going to store in a Key PMC until you store it?
bacek (Integer PMC upgrades to BigInt in place)
chromatic: (Key) Factory? E.g. Key."create_key"(INTVAL), etc 22:41
chromatic I don't believe you know what you're going to store until you store it. 22:42
bacek We can reimplement Key as RPA of KeyItem (which is "pure virtual"), inherit StringKeyItem from KeyItem. 22:44
Key.push_something will create appropriate SomethingKeyItem 22:45
chromatic Okay, but what does that give us?
bacek clean design of Keys.
chromatic You're creating an abstract interface to abstract away the vtable interface which all PMCs already implement.
bacek VTABLEs for each *KeyItem will dtrt 22:46
I treat Keys as Path. (And they are Path now. Used only for getting data from nested containers) 22:47
Whiteknight pmichaud: ping
chromatic We could create a new PMC type for each type of thing a Key stores, but that multiplies entities and tempts people to instantiate those key PMCs directly, which I'd like to encourage. In addition, we either require all Key PMC creation to go through a single C function with a switch statement to create the right type of PMC or we have to create a Key PMC and in its initializer use a big switch statement to morph it in place 22:49
like some in place factory pattern.
Although we *could* treat a Key as a delegate and send all of the operations to the contained item. That's not so bad. 22:50
bacek chromatic: no one should create "*KeyItem" directly. But there is no way do declare something as "private" in PMC.
chromatic You can throw an exception from init and init_pmc. 22:51
bacek And "single C function with switch" isn't required. We have various "push_*" vtables to create appropriate *Item. 22:52
pmichaud Whiteknight: pong
22:52 Limbic_Region joined
Whiteknight pmichad: at #ps, you mentioned you were interested in using pushmark/popmark/pushaction eventually 22:52
chromatic But then to create a Key PMC, unlike any other PMC I can think of, you can't just say "new ['Key']", you have to do that and explicitly push a new type of PMC onto it? 22:53
Whiteknight i'd like to hear more about what you are planning, because at the moment those ops are pretty useles
chromatic I don't like that much.
pmichaud Whiteknight: I need a mechanism to rollback the caller chain from exceptions. afaict, pushmark/popmark are the only mechanisms available to do that
bacek chromatic: finally it will be something like: $P0 = new 'Key'; push $P0, 42, push $P0, "string"; push $P0, 84; to create [42;"string";84] Key
Whiteknight pmichaud: not at the moment. The docs say more then the ops actually do
pmichaud I also need a mechanism to say "when this context is being rolled back, execute this other code first" 22:54
Whiteknight which is why I want to talk to you, because no matter what you want we are going to have to basically implement it from scratch
22:54 wayland76 joined
pmichaud iiuc, rgrjr has been using these opcodes successfully. 22:54
chromatic I don't mind using push to link Keys together, but I don't like using it to initialize a Key's first (and possibly only) value.
Whiteknight let me rephrase: they can be used, but they are not nearly as useful or capable as they should be
22:54 allison joined
pmichaud Whiteknight: I don't disagree with that at all. 22:55
Whiteknight pushaction doesn't fire actions when an exception fires, or when a sub returns, for example
pmichaud afaict, I don't need something to fire an action when an exception fires
I do want something that can fire when a sub exits, yes.
bacek chromatic: why? Key is Path. By default it doesn't contain any Steps. push_* is factory methods to create proper Step and append it to Path. 22:56
pmichaud pushaction can do that, if it's set up properly.
chromatic Because we don't create any other value PMCs that way.
Whiteknight okay. in that case we either need to extend the behavior of pushaction, if that's the right way. I might suggest we create a new at_return op to fire actions on context exit
pmichaud I'm not attached to the current pushmark/popmark/pushaction in any way; I just didn't want them to disappear without having some mechanism for doing what they currently provide (even if it's in a very limited form)
Whiteknight okay, that's what I'm trying to do: give you the mechanism you need (because I don't think pushaction/pushmark/popmark is the right way) 22:57
pmichaud I agree with that.
Whiteknight okay, awesome
chromatic Also you're overloading what push does on a Key PMC.
If the Key doesn't already have a value, it sets the value.
pmichaud while you're considering this, not that I also need a way to force a context to exit (and roll up any nested contexts)
chromatic If the Key has a value, it creates a new Key, sets that Key's value, and links that new Key to the current Key.
bacek chromatic: no-no-no. Key never have value. KeyItem have. 22:58
chromatic Fine then, s/(value)/KeyItem with a $1/ then.
bacek Key has RPA of KeyItem.
pmichaud in general allison and I have been looking as "invoking the return continuation" as being the generic mechanism for this. But of course we also need to roll-up any intervening contexts.
chromatic We create a KeyItem PMC which is purely abstract because... well I certainly don't know.
bacek Key.push create new KeyItem with value and push it to RPA 22:59
chromatic Then we create a StringKeyItem PMC, an IntegerKeyItem PMC, a FloatKeyItem PMC, a KeyItemKeyItem PMC, et cetera, which all extend the abstract KeyItem interface which provides the vtable interface every PMC provides.
This to me is not a win in terms of complexity.
bacek KeyItem is interface class. We can actually avoid it and just create bunch of concrete FooKeyItem.
Whiteknight pmichaud: okay, that's something to consider too (but that probably is blocking on pcc_rewiring, like everything else)
pmichaud Whiteknight: yes, I agree it probably blocks on pcc_rewiring. 23:00
but ultimately I want a way to force a context to leave without having to throw exceptions up the call chain to do it.
chromatic Why do we need a StringKeyItem PMC to represent a String PMC used as a Key?
pmichaud (because trapping and rethrowing exceptions is somewhat heavyweight, and exiting a context is common)
chromatic We don't have a StringArrayItem PMC or a StringAssociativeArrayItem PMC.
bacek chromatic: to avoid storing messy attributes in single Key
pmichaud (keys) Sometimes it's better to have the messiness all in once place, rather than spreading it out. 23:01
*one place
bacek PMCKeyItem can store new Key.
chromatic How many types of PMCs are we going to create to store Key information? 23:02
bacek 4
chromatic How many PMCs do we have to instantiate every time we access something by a Key?
bacek String/Integer/Float/PMC
ah sorry.
chromatic What kind of contortions will PCT have to go through to generate code that uses Keys?
bacek 1+n
1 for key. N steps 23:03
pmichaud wrong, bad
keys (especially constants) should be specifiable as an operand. If we have to execute N+1 opcodes to build a constant key, we're going in the wrong direction. 23:04
especially if those N+1 opcodes are producing gcables at every step.
chromatic Exactly.
bacek pmichaud: no. constant Keys are stored in PackfileConstantTable and not created in runtime
jonathan Constant keys should be constants stored in the packfile constants table.
bacek my proposal do not change it. 23:05
pmichaud then your answer to chromatic's question was incorrect. :-)
bacek I treat "generate code that uses Keys" as runtime question :)
imcc/pirc/* will just switch to slightly different key creating in compile-time 23:07
And with my proposal we'll make Key equal to all other PMCs without any special treatment. 23:09
(especially for storing in PBC...) 23:10
chromatic Can you write it up on the wiki?
bacek I'll try. But I have to go to $dayjob really soon. 23:12
pmichaud Who currently builds the .rpm modules that are available for fedora?
23:12 patspam joined
nopaste "NotFound" at 213.96.228.50 pasted "Patch; Use vtable slot nums instead of names in default and null" (132 lines) at nopaste.snit.ch/17440 23:14
NotFound Can someone take a look at this patch? 23:15
dalek tracwiki: v89 | bacek++ | WikiStart 23:17
tracwiki: trac.parrot.org/parrot/wiki/WikiSt...ction=diff
chromatic NotFound, looks decent; what are you trying to do there? 23:18
Smaller executable size by reusing C string constants where possible? 23:19
23:20 donaldh joined
NotFound chromatic: yes 23:20
chromatic I'm all for that. 23:21
NotFound In some cases the strings are optimized by the C compiler, but not all.
chromatic default.o is 303112 bytes on my machine. 23:22
48372 stripped.
NotFound 377064 here, but is 64 bits
29400 stripped 23:23
chromatic How big is it after the patch?
NotFound Hu, wait, this was with --optimize --debugging=0
dalek tracwiki: v1 | bacek++ | KeysRefactor 23:24
tracwiki: trac.parrot.org/parrot/wiki/KeysRe...ction=diff
23:24 dukeleto joined
NotFound I'll look at my laptop before and after 23:25
23:25 bkuhn joined
NotFound Before: 216952 - 33992 stripped 23:31
After: 205980 - 29096 stripped
bacek chromatic: trac.parrot.org/parrot/wiki/KeysRefactor 23:33
chromatic thanks.
bacek $dayjob time
dalek tracwiki: v2 | bacek++ | KeysRefactor 23:34
tracwiki: trac.parrot.org/parrot/wiki/KeysRe...ction=diff
23:35 dukeleto joined
NotFound Null PMC 23:37
purl i think Null PMC is or ought to be like a C NULL ptr, so no
NotFound Before: 167604 - 30588 stripped
After: 143364 - 14892 stripped
Not bad 23:38
chromatic Definitely an improvement. 23:39
Now for libparrot. 23:40
NotFound libparrot.so.1.4.0 23:47
Before: 10382421 - 3442576 stripped
After: 10363829 - 3426192 stripped
chromatic Not huge. 23:48
Whiteknight space savings is good, if it isn't adding a performance penalty 23:49
dalek kudo: a53a1cd | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 423 files, 12114 passing, 8 failing

   S12-enums/basic.rakudo aborted 2 test(s)
   S12-introspection/walk.t aborted 6 test(s)
NotFound Whiteknight: the possible penalty is for throwing exception for null access or vtable not implemented, not a big problem. 23:50
Whiteknight ok 23:51
NotFound libparrot.a
Before: 18652260 - 3351288 stripped
After: 18618096 - 3331744 stripped
More or less the same than the .so
The only disadvantage is a lot more of symbols in vtable.h, but there is no measurable impact in the compilation. 23:54
Whiteknight ok 23:56
NotFound I'll commit it now, if nobody objects.
particle i forgive you. 23:59