Topic for #parrot is: Parrot 3.3.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today
Set by moderator on 20 April 2011.
00:09 bbatha left 00:14 bbatha joined 00:17 bbatha left 00:24 Eduardow joined 00:31 mikehh joined 00:49 Eduardow left, redicaps joined 00:52 Eduardow joined
dalek TT #1230 closed by plobsing++: src/pmc/eval.pmc: Walk the fixups, locate globals and nullify the Sub PMC 00:54
TT #1230: trac.parrot.org/parrot/ticket/1230
01:05 Eduardow left 01:07 whiteknight joined
dalek TT #2100 created by soh_cah_toa++: Automate the release process 01:09
TT #2100: trac.parrot.org/parrot/ticket/2100
01:13 Eduardow joined 01:19 bbatha joined 01:34 rdesfo joined 01:39 rdesfo left, Eduardow left, bbatha left
dalek rrot: 1a7e92a | (Gerd Pokorra)++ | docs/parrothist.pod:
apply stable identification to 3.3 release
01:43
01:44 Eduardow joined 02:05 whiteknight left 02:10 petdance joined 02:11 dafrito left
dalek rrot/tt1931-nci-parameters-deprecation: 431a52c | plobsing++ | / (3 files):
eliminate tests for removed "t" nci signature functionality (or modify to avoid where possible)
02:21
rrot/tt1931-nci-parameters-deprecation: a608e9a | plobsing++ | src/nci/extra_thunks. (2 files):
eliminate deprecated "B" nci signature from extra thunklib
02:22
rrot/tt1931-nci-parameters-deprecation: d818fb5 | plobsing++ | / (3 files):
remove support for deprecated "B" nci signature
rrot/tt1931-nci-parameters-deprecation: 6c38adc | plobsing++ | / (4 files):
eliminate unnecessary special treatment of "O" NCI type (handled implicitly by PCC)
02:38 mrwall-e left 02:51 redicaps left 03:37 woosley joined 03:40 soh_cah_toa left
dalek rrot: ee53d0b | petdance++ | runtime/parrot/library/Stream/ (2 files):
removed embedded tabs
03:46
rrot: 56ed657 | petdance++ | runtime/parrot/library/NCI/Utils.pir:
removed embedded tabs
rrot: 68ee5a9 | petdance++ | runtime/parrot/library/ (7 files):
Change the search.cpan.org URLs to use the more permanent /dist/-based path, rather than tying them to a specific author
03:53 ShaneC left 03:59 hudnix left 04:13 ShaneC joined 04:26 bubaflub left 04:41 woosley left 04:51 bacek left 05:01 petdance left 05:05 jrt4 joined 05:08 jrt4__ left 05:17 Khisanth left 05:19 theory left 05:29 Khisanth joined 05:36 jrt4 left
cotto ~~ 05:54
dukeleto ~~ 06:12
06:17 jrtayloriv joined 06:19 redicaps joined, redicaps left 06:20 redicaps joined, redicaps left
dalek rrot/leto/embed_grant: 254bb2d | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_defined_keyed
07:00
07:01 mj41 joined
dalek rrot/leto/embed_grant: 6d018dd | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_defined_keyed_str
07:02
rrot/leto/embed_grant: f0346a2 | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_delete_keyed_str
07:05
07:11 bacek joined 07:15 ShaneC1 joined 07:17 rblackwe_ left, rblackwe joined 07:18 kthakore left, kthakore joined, simcop2387_ joined, ShaneC left, simcop2387 left, simcop2387_ is now known as simcop2387
dalek rrot/leto/embed_grant: 9bb2660 | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_does_pmc
07:27
07:31 dodathome joined
dalek rrot/leto/embed_grant: 0e4f51f | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_get_pmc_keyed_str
07:33
rrot/leto/embed_grant: 75e32d3 | dukeleto++ | t/src/extend_vtable.t:
[TT ##2098] Use a non-empty hash key to prevent: failed assertion 'key'
07:38
07:40 atrodo left
dalek parrot: bf9ab0d | leto++ | Makefile:
Grab a sha1 instead of a revision and print it
08:18
08:33 mj41 left 08:53 mj41 joined 09:01 mj41 left 09:37 dodathome left 09:41 BloodyCoin left, BloodyCoin joined 10:06 woosley joined 10:15 bacek left 10:18 lucian joined 10:21 mj41 joined 10:27 ambs joined 10:45 dafrito joined 10:55 bacek joined 10:56 bacek left, bacek joined 11:17 whiteknight joined
whiteknight good morning, #parrot 11:18
blog.mozilla.com/dmandelin/2011/04/...ript-2011/ 11:27
11:39 hudnix joined 11:43 mj41 left 11:46 tewk joined 11:51 lucian_ joined, ambs left 11:54 lucian__ joined 11:56 lucian left 11:57 Patterner left
dalek rrot-linear-algebra: e6263ab | Whiteknight++ | t/testlib/testcontext.nqp:
add in testcontext file, which I forgot
11:57
11:57 Psyche^ joined, Psyche^ is now known as Patterner 11:58 lucian_ left 12:03 jrtayloriv left 12:09 ambs joined 12:15 Patterner left 12:16 Psyche^ joined, Psyche^ is now known as Patterner 12:19 kid51 joined 12:21 bacek left 12:24 lucian__ is now known as lucian
dalek rrot: 7413e30 | jkeenan++ | t/src/extend_vtable.t:
Applied to master patch previously applied to

  'Parrot_PMC_defined_keyed_str' test in the same way other
tests had been corrected. Now all tests PASS on Darwin/PPC.
12:44
TT #2098 closed by jkeenan++: t/src/extend_vtable.t: test failures on Darwin/PPC with --gc=ms2 13:04
TT #2098: trac.parrot.org/parrot/ticket/2098
kid51 Wow! First PASS on Darwin/PPC in weeks: smolder.parrot.org/app/projects/rep...ails/15348 13:36
tadzik oh, kid51
ipv6 capabilities are misdetected on my linux box 13:37
gentoo, amd64
dukeleto told me you're the one who wrote the checks
kid51 Have you file a TT about this? 13:38
If not, please do so.
tadzik okay, will do
kid51 However, in any event, I have no particular knowledge about ipv6.
IIRC, someone else wrote (or pasted) the C probe which is the essence of the test. I probably only write the Perl around it so that the test looked like all other config/auto/*.pm probes. 13:39
Confirmed: there's nothing of interest in config/auto/ipv6.pm per se. 13:40
config/auto/ipv6/test.in is where we have to look.
When you create that TT, cc nwellnhof about that. From git blame, it looks like he wrote the crucial parts of the probe. 13:42
kid51 added whitespace and a vim coda!
tadzik I can look into that myself 13:47
dalek sella: 3aa3589 | Whiteknight++ | setup.winxed:
fix setup so we can cut an sdist release
13:48
sella: f517965 | Whiteknight++ | / (2 files):
update README to include information about the release. Make sure the winxed library generates winxed.pbc, not winxed_distutils.pbc
sella: 0ab2e93 | Whiteknight++ | README.md:
this is Rosella version 1
kid51 tadzik: 'man ipv6' looks like a good place to start 13:50
13:51 whiteknight left
tadzik kid51: I just examine this C code and it indeed works for my system, getaddrinfo() works with no errors as if everything was fine 13:52
socket(AF_INET6) however, returns -1 on my machine 13:53
so I can open a ticket for this, write a new test in a branch and ask everyone to test it, that's the workflow, right?
kid51 Exactly. 13:54
tadzik the old test is funny, for it prints "OK" disregarding what getaddrinfo() returns
kid51 As Andy would say, "Patches welcome!"
However, as +40 config/auto/ipv6.pm shows, many of our config probes check for both absence of an error message and presence of OK on STDOUT 13:57
So in test_c.in, the printf of OK probably needs to be made conditional upon the return value of getaddrinfo()
'man getaddrinfo' also looks interesting for this 13:59
tadzik getaddrinfo returns 0 anyway, as I described in the ticket 14:02
socket() returns -1 though, so I'm going to rewrite that test to use socket()
okay, so how do I recompile this test.in? 14:03
nopaste "kid51" at 192.168.1.3 pasted "config/auto/ipv6/test.in: Use return value of getaddrinfo()." (18 lines) at nopaste.snit.ch/41617
tadzik not needed it seems
auto::ipv6 - Determine IPV6 capabilities..........................no. 14:04
achievement unlocked!
pushing to a branch
kid51: as I said, it returns 0 on my system
kid51 config/auto/ipv6.pm handles all the C run details
which? socket or getaddrinfo 14:05
benabik tadzik: Achievement Unlocked: IPvWhat? "Nobody'll need more than 4 million addresses anyway."
dalek TT #2101 created by tadzik++: Broken ipv6 detection on Gentoo linux 14:06
TT #2101: trac.parrot.org/parrot/ticket/2101
tadzik kid51: getaddrinfo(). socket() returns -1
lolipushed
dalek rrot/tadzik/tt-2101-fix: 8b4e11c | tadzik++ | config/auto/ipv6/test.in:
Rewrite the ipv6 detection test to use socket()
kid51 Run: perl Configure.pl --verbose-step=auto::ipv6
tadzik please test if this works for you alright
kid51: on which branch? 14:07
kid51 tadzik: Either. I'm just pointing out that you can get debugging output for a particular configuration step by calling --verbose-step=auto::ipv6 14:09
tadzik kid51: I'll look into that
well, as much as I can read from that the old test is broken indeed 14:10
anyway, I have no idea how it should work. C has no die() or anything, so that test would print "OK" whatever happens. Unless there is some assert() or something in getaddrinfo() but I highly doubt it :) 14:11
14:11 woosley left
kid51 tadzik: That patch compiles on my Linux box and detects ipv6. 14:12
tadzik kid51: good. Can you state that in the TT?
kid51 However, I think we should discuss that with nwellnhof before applying to master. He obviously was allowing for Win32 differences, etc. 14:13
benabik tadzik: Also appears to work on Darwin/i386 14:14
tadzik those Win32 things seemed to be getaddrinfo() specific, but I don't know much about windowses, so maybe it needs some magic for socket() too
benabik: cool. Could you comment that ticket too?
benabik tadzik: Of course. :-)
tadzik thanks
I'm afk for some time now
14:22 JimmyZ joined
kid51 seen nwellnhof 14:29
aloha nwellnhof was last seen in #parrot 8 days 20 hours ago joining the channel.
14:38 kid51 left 15:18 JimmyZ left 15:19 JimmyZ joined 15:21 theory joined 15:29 JimmyZ left 16:04 lucian_ joined 16:08 lucian left 16:31 rohit_nsit08 joined 16:50 birdwindupbird joined
tadzik I'm back 16:58
17:03 rohit_nsit08 left, rohit_nsit08 joined 17:10 rohit_nsit08 left, hudnix left 17:12 rohit_nsit08 joined 17:14 mj41 joined 17:39 S_Arms joined 17:43 BloodyCoin left 17:49 S_Arms left 17:57 S_Arms joined 17:58 soh_cah_toa joined 18:06 rohit_nsit08 left 18:08 birdwindupbird left
dalek p/ctmo: d59b19a | jonathan++ | src/ (3 files):
Pass along current view of $*GLOBALish to module loader. Needs to be optional param now until we take another trip around the bootstrapper.
18:10
p/ctmo: 22efd68 | jonathan++ | src/stage0/ (6 files):
Update bootstrap.
p/ctmo: 184a976 | jonathan++ | src/ModuleLoader.pm:
The dumbest GLOBAL merger that could possibly work (TM). Seems it actually will handle what NQP needs - or at least, it doesn't complain about anything.
p/ctmo: 2882b8e | jonathan++ | src/ModuleLoader.pm:
Make sure multiple uses of the same module won't run into issues.
p/ctmo: e46af01 | jonathan++ | src/ModuleLoader.pm:
A symbol can never conflict with itself.
p/ctmo: 57da2ce | jonathan++ | src/NQP/Actions.pm:
Extend find_lex, which finds a compile-time known lexical, to find_sym, which knows how to look in packages too.
p/ctmo: 772f1f5 | jonathan++ | src/HLL/SerializationContextBuilder.pm:
Fix a thinko.
18:16 rohit_nsit08 joined 18:25 Eduardow left 18:32 theory left 18:36 ShaneC1 left 18:47 whiteknight joined 18:49 ShaneC joined 18:50 bubaflub joined
whiteknight good afternoon, #parrot 19:10
tadzik good evening whiteknight
whiteknight how are you doing today tadzik ?
tadzik whiteknight: not bad. Looking around in the Java world 19:11
whiteknight did you ever get a prognosis on your wrist?
tadzik somewhat. They removed my cast, looked at the hand, "oh, looks fine", and I'm free now 19:12
it still misses some functionalities (rapid moves, funny angles), but works quite good
whiteknight okay, that's better than it could be 19:13
just treat it gingerly
19:13 rohit_nsit08 left
tadzik yeah, I'm taking care 19:15
plobsing whiteknight: does your recent IMCC work fix TT #1610? 19:19
whiteknight plobsing: I don't know, let me take a look
I think that ticket may be invalid now 19:20
IMCC doesn't pass errors through that string anymore
exceptions are caught by the next available handler
dalek rrot-instrument: 5fc6951 | Whiteknight++ | src/dynpmc/instrument.pmc:
initial_pf -> current_pf, following the packfile_wrap merge
19:23 mj41 left
dalek rrot/tt1931-nci-parameters-deprecation: 74b5665 | plobsing++ | / (4 files):
use positive values for PARROT_DATA_TYPE

Negative values were used to support multi-dispatch. This code smell has been moved closer to the source and will eventually be eliminated.
19:24
rrot/tt1931-nci-parameters-deprecation: 22c5c84 | plobsing++ | / (3 files):
add ref_flag to native type system to denote pass-by-reference
rrot/tt1931-nci-parameters-deprecation: f2268bb | plobsing++ | / (7 files):
eliminate nci_sig_elem_t, unifying NCI and StructView with PARROT_DATA_TYPE specifications
rrot/tt1931-nci-parameters-deprecation: 4e962eb | plobsing++ | src/nci/extra_thunks. (2 files):
eliminate deprecated pass-by-reference types from extra thunklib
rrot/tt1931-nci-parameters-deprecation: 23f7de0 | plobsing++ | src/nci/ (2 files):
remove support for deprecated "2", "3", "4", and "V" nci signature types
rrot/tt1931-nci-parameters-deprecation: 858f6ce | plobsing++ | / (3 files):
eliminate tests for removed NCI signature types
rrot/tt1931-nci-parameters-deprecation: 21f81fb | plobsing++ | tools/dev/nci_thunk_gen.pir:
remove deprecated types from thunk generator
rrot/tt1931-nci-parameters-deprecation: cf941a9 | plobsing++ | config/gen/opengl.pm:
avoid generating unsupported signatures
p/ctmo: c15d820 | moritz++ | build/Makefile.in:
[build] fix whitespaces in Makefile.in
19:25 theory joined 19:35 bacek joined 19:51 wagle left 19:52 wagle joined
dalek p/ctmo: da7760a | jonathan++ | src/ (3 files):
Add a --module-path option so we can make sure we load the correct module during the bootstrap.
20:09
p/ctmo: e67c854 | jonathan++ | build/Makefile.in:
Build Regex.pbc in the stages, like everything else. Also add a bunch of dependencies to try and get things a bit more honest. May go some way to helping the parallel build also.
20:19 SHODAN left 20:20 wagle left
dalek sella/test_asserter: 6bba47e | Whiteknight++ | src/test/TestFactory.winxed:
fix asserter so it actually works now
20:28
sella/test_asserter: 333957d | Whiteknight++ | src/test/Asserter.winxed:
remove debugging statements
sella/test_asserter: b64e098 | Whiteknight++ | src/test/Asserter.winxed:
+comments about what Asserter is
Heuristic branch merge: pushed 200 commits to nqp/match-nom by jnthn 20:32
rrot-instrument: 4e61e4a | Whiteknight++ | src/dynpmc/instrumentgc.pmc:
fix instrument.t to pass tests
20:33
whiteknight blah. Somewhere along the line Parrot-Instrument is corrupting the memory pools 20:42
and it's not just doing it on GMS, it's also doing it on MS2
so I have no idea what the hell is going on with that 20:43
dalek p/match-nom: b39657f | jonathan++ | / (5 files):
Various twiddles to bring that was done in the original match-nom branch up to date with the latest changes in ctmo.
20:49
soh_cah_toa whiteknight: yay, gsoc hasn't even begun and already my project has bugs. whoopie! 20:50
20:51 theory left
whiteknight soh_cah_toa: yeah, we don't want to get your hopes up 20:56
soh_cah_toa: if it were easy, there would be no money involved
soh_cah_toa whiteknight: yeah, i'm prepared for some resistance though 20:57
whiteknight: 330 ohms to be exact
whiteknight: all part of the learning process, i suppose 20:58
whiteknight don't worry. One way or another Parrot-Instrument will be fixed and working soon 21:12
dalek p/match-nom: 6677389 | jonathan++ | src/Regex/Cursor-builtins.pir:
Restore some DEBUG capabilities.
p/match-nom: e886b7e | jonathan++ | src/Regex/Match.pir:
Fix a probable copy-pasto. Also toss some useless :vtable declarations - we set those up via the meta-object now.
whiteknight I don't have a goat to sacrifice to the gods of debugging yet, but I found an interested seller on craigs list
21:13 jrtayloriv joined
whiteknight I've got chickens of course, but the GDB gods don't like poultry as much 21:13
soh_cah_toa i should have included that in my proposal: "week 3 - sacrifice mentor to the gods of debugging" 21:16
21:16 ambs left 21:17 ShaneC left
whiteknight blah. I just configured with --no-line-directives, and there are clearly #line directives in the imccompiler.c file 21:18
clearly
realclean, reconfigure, rebuild, and they are clearly still there
msg kid51 I just configured with --no-line-directives (realclean, reconfigure, rebuild) and there are many #line directives in src/pmc/*.c on my system 21:20
aloha OK. I'll deliver the message.
plobsing I hate it when that happens. I've been tempted on more than one such occasion to simply remove #line-directive support from pmc2c 21:23
whiteknight I posted a ticket about it, and the ticket was closed 21:24
I would *love* if pmc2c was mangled to remove #line directives 21:25
21:25 rohit_nsit08 joined
whiteknight they are absolutely useless and even counter-productive when debugging 21:25
rohit_nsit08 whiteknight: hi 21:26
whiteknight hello rohit_nsit08
plobsing: actually, unless you are already in the middle of it, I'm going to make that change right now 21:32
plobsing whiteknight: nah. I'm knee deep in NCI ATM 21:33
whiteknight plobsing: oh, anything fun?
plobsing well, if you're looking for goodies, I'm implementing a more generic replacement call-by-reference mechanism
otherwise, it is mostly rip-out and patch-up 21:34
whiteknight nice, sounds fun 21:35
I'm always looking for goodies, and I know you always deliver :)
21:38 theory joined
whiteknight plobsing: I want to get to work on some of the serialization needs of Rakudo soon, I don't know what your schedule is 21:38
dalek rrot: 6eb1def | Whiteknight++ | / (19 files):
fix conflict
rrot: 327b110 | Whiteknight++ | lib/Parrot/Pmc2c/Emitter.pm:
remove #line directives from pmc2c. They serve no positive purpose that I can think of, they make debugging significantly more difficult, and they don't always disappear when I configure with --no-line-directives
rrot: 1cd8ab2 | Whiteknight++ | t/src/extend_vtable.t:
Merge branch 'master' of github.com:parrot/parrot
plobsing whiteknight: I've been out of parrot for a couple of weeks. Has that issue become a pressing one?
I was going to cleanup the NCI deprecations and implement some new features, but I can finish this off and move on to that.
whiteknight plobsing: no more pressing than it has been. There was a thread on the p6 list a few days ago complaining about bytecode size, and some people blamed it on Parrot's inferior serialization technologies
plobsing: what new features? 21:40
dalek p/match-nom: 48e3d16 | jonathan++ | src/HLL/Grammar.pm:
We don't implement the string-returning keyed variants of the v-table yet; just work around that, since the values for now are all stored boxed anyway, so it doesn't matter to much where we unbox.
p/match-nom: ad848d0 | jonathan++ | src/ops/nqp.ops:
Make sure we really do consider all available Parrot v-table indexes when building the overloads array; we missed some off the end.
plobsing hmmm... I'm not on the p6 list.
p/match-nom: 8b9383f | jonathan++ | src/pmc/sixmodelobject.pmc:
Make unshift_pmc and push_pmc overridable.
p/match-nom: af53a9b | jonathan++ | src/core/NQPCapture.pm:
Override unshift_pmc and push_pmc in NQPCapture.
plobsing whiteknight: can you FWD: me the convo?
whiteknight plobsing: yessir
jnthn__ I suspect it may be the op stream so much as the object serialization, fwiw. 21:41
plobsing new NCI features: general-purpose call-by-ref, long long, u?int64, long double 21:42
jnthn__ ooh :)
plobsing++
whiteknight plobsing: www.nntp.perl.org/group/perl.perl6....g1504.html
that's the thread, you can see all the responses 21:43
I don't know why the pbc file sizes are so large. I haven't looked into it myself
10 MB does seem exorbitant
but then again, we aren't optimizing, aren't doing any kind of dead code elimination, etc
plobsing chromatic did a comparison of runtime sizes of rakudo vs. perl5. once you factor in the added functionality, the disparity decreases. 21:44
I suspect the on-disk size is much the same
whiteknight Still, 10MB of bytecode for the Rakudo compiler does seem like a hell of a lot
somewhere along the line, somebody is being wasteful
as much as I would love to blame the rakudo folks and wash my hands of it, I think it would be better to do some due-diligence and explore 21:45
jnthn__ I'm sure Rakudo take some of the blame. OTOH, the fact that the bytecode file doubles in size when you're on a 64-bit machine, or that we have ops that could easily be represented in 16 bits but use 32 or 64 bits for them, is part of the issue, I suspect. 21:49
plobsing there is some cost in the excessive size of ops themselves. If we provided dedicated routines for serialization/deserialization of INTVALS (in stead of depending on sizeof opcode_t == sizeof INTVAL), we could reduce opcode_t to uint16. 21:50
jnthn__ Well, maybe not doubles, but along those lines.
whiteknight yes, cutting opcode_t down to uint16 would have an immediately beneficial impact on all target machines
would we lose tons of performance doing INTVAL lookups instead of including them directly in the opstream? 21:51
plobsing whiteknight: yes, but not as much as you might think. most of the size of perl6.pbc is locked away in the constants table, which would remain unaffected.
whiteknight is it really most of the size?
is there an easy way to get size measurements?
plobsing whiteknight: those dispatches would be branch predicted and effectively cost-free
whiteknight: when I reduced the cost of complex object graphs, perl6.pbc reduced in size by 2/3 21:52
that was *entirely* a consttable improvement
every sub, every namespace, every pcc call, they're all constants 21:53
whiteknight oi vey
and I know Rakudo uses three buttloads of subs
plobsing subs are *very* heavy 21:54
dalek rrot: a4f3037 | petdance++ | src/pmc/boolean.pmc:
quiet an unused interp warning
rrot: 8906192 | petdance++ | src/pmc/iterator.pmc:
quiet an unused interp warning
whiteknight jnthn__: I wanted to ask you, why can't the core.pm compilation be broken down into individual files and compiled separately 21:56
?
jnthn__: I don't think that would make the build any faster, but the user would get more progress indication
plobsing every sub references { a namespace pmc, a multisig pmc, an outer sub pmc, a lexinfo pmc, start offset integer, end offset integer, flags integer, a name string, a method name string, a namespace entry string, an hll id name string, a compilation flags integer, a vtable index, 4 registure use integers, and a subid integer } 21:57
whiteknight oh, okay. So that's clearly a big FAIL in terms of space-efficiency 21:58
plobsing only accounting for the size of the reference (not the backing store for the refered object), that is 18 words (72 bytes 32-bit, 144 bytes 64-bit) 21:59
jnthn__ whiteknight: The issue is that it's not just a module of classes, but rather it forms the outer lexical scope of the program, and needs to be a single lexical scope. It's tricky to find a way to do that when it's multiple compilation units in size. 22:00
s/in size// 22:01
plobsing and then there is the innefficiency of strings storage in PBC. every string is aligned to an opcode_t offset. most strings are less than 8 bytes, so inefficient on 64-bit. if we stored all the strings together, we could pack them much more tightly.
in fact, we store almost all of our strings in a single strings-table subsection of the const-table, so we're already mostly there. 22:02
to make the strings improvement (likely the simplest), I would rewrite PBC serialization to work in terms of ropes in stead of streams. 22:04
we could eliminate half ot the ImageIO types at the same time. 22:05
22:08 wagle joined, wagle left
dalek p/match-nom: af16e75 | jonathan++ | src/core/NQPCapture.pm:
Implement .list and .hash on NQPCapture.
22:08
p/match-nom: 354eff8 | jonathan++ | src/HLL/Grammar.pm:
Fix an earlier fix. D'oh.
22:10 wagle joined, wagle left
plobsing the thing is, though, that this on-disk size cost does not translate significantly into startup time costs or memory-usage costs 22:17
well the heavy-weight-subs thing also costs in terms of memory, but mostly no
we read the PBC in a linear fashion, so any half-smart OS will prefetch the pages. the pages are read-only-clean, and can be shared between arbitrarily many rakudo processes. 22:18
22:19 wagle joined
sorear how much of the PBC data has to be copied to be used? 22:20
my understanding is that the point of the PBC format was that it *didn't* have to be read on startup *at all*
dalek p/match-nom: 15a19ea | jonathan++ | src/core/NQPCapture.pm:
Unfortunately, we rely on the semantics of Capture returning PMCNULL; mimic that for now in NQPCapture. This is the last bug that stood in the way of NQP completely building on match-nom. No test regressions either! No speed win, though that's not entirely surprising at this point - there's several known sub-optimalities. moritz++ for most of the work on match-nom.
plobsing the object graph needs to get built. there are basically 4 kinds of thing in PBC - integer, float, buffer, and reference. only buffers (mostly strings and bytecode) aren't copied. 22:25
fortunately, those tend to constitute most of PBC. 22:26
dalek p/ctmo: 05aa5ed | jonathan++ | / (117 files):
Merging ctmo into match-nom.
p/ctmo: b39657f | jonathan++ | / (5 files):
Various twiddles to bring that was done in the original match-nom branch up to date with the latest changes in ctmo.
p/ctmo: 6677389 | jonathan++ | src/Regex/Cursor-builtins.pir:
Restore some DEBUG capabilities.
p/ctmo: e886b7e | jonathan++ | src/Regex/Match.pir:
Fix a probable copy-pasto. Also toss some useless :vtable declarations - we set those up via the meta-object now.
p/ctmo: 48e3d16 | jonathan++ | src/HLL/Grammar.pm:
We don't implement the string-returning keyed variants of the v-table yet; just work around that, since the values for now are all stored boxed anyway, so it doesn't matter to much where we unbox.
22:26 rohit_nsit08 left
p/ctmo: ad848d0 | jonathan++ | src/ops/nqp.ops:
Make sure we really do consider all available Parrot v-table indexes when building the overloads array; we missed some off the end.
p/ctmo: 8b9383f | jonathan++ | src/pmc/sixmodelobject.pmc:
Make unshift_pmc and push_pmc overridable.
p/ctmo: af53a9b | jonathan++ | src/core/NQPCapture.pm:
Override unshift_pmc and push_pmc in NQPCapture.
p/ctmo: af16e75 | jonathan++ | src/core/NQPCapture.pm:
Implement .list and .hash on NQPCapture.
p/ctmo: 354eff8 | jonathan++ | src/HLL/Grammar.pm:
Fix an earlier fix. D'oh.
p/ctmo: 15a19ea | jonathan++ | src/core/NQPCapture.pm:
Unfortunately, we rely on the semantics of Capture returning PMCNULL; mimic that for now in NQPCapture. This is the last bug that stood in the way of NQP completely building on match-nom. No test regressions either! No speed win, though that's not entirely surprising at this point - there's several known sub-optimalities. moritz++ for most of the work on match-nom.
jnthn__ Aww, I didn't write enough patches in the branch to trigger the branch merge heuristic.
plobsing wouldn't you look for commits with multiple parents (rather than a lot of commits) to detect a branch merge? 22:28
whiteknight it's not a "branch merge" heuristic so much as a "don't flood the damn IRC channel" heuristic 22:29
it's just pooly named
poorly*
plobsing ah
dalek p/ctmo: dccac63 | jonathan++ | src/stage0/ (7 files):
Update bootstrap.
22:32
22:43 rohit_nsit08 joined
whiteknight "Since I lost my organ of hearing and my doctors wrote to 22:51
me on a paper that I have only few months to live, It is my last wish to see that
the $4.5 Million I have in the bank should be used to build a charity organization
on my name in your Country in order to help the poor and motherless babies."
the spam parrot-dev is receiving is starting to hit the theoretical upper-threshold of maximum sympathy
we're already starting to cross over into the realm of hilarious absurdity 22:52
every time a spam filter checks string literals, the spammers find a thesaurus 22:54
and then "ear" -> "my organ of hearing" and "orphans" -> "poor and motherless babies" 22:55
blogs.fedoraproject.org/wp/sgallagh...t-project/ 22:57
23:07 hudnix joined 23:10 lucian_ left
soh_cah_toa "my organ of hearing"? that's hilarious 23:56
i've always wondered if there are still people out there stupid enough to fall for messages like that 23:57
i mean, what are spammers thinking when they are writing stuff like this? "oh yeah. this is good stuff. they are totally gonna fall for this one. suckers..." 23:59