Parrot 2.5.0 Released! | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | GSOC Students: trac.parrot.org/parrot/wiki/GSoCersStartHere | Priorities: merge gc_massacre, remove deprecated items, add deprecation notices for 2.6, close tickets.
Set by moderator on 25 June 2010.
bacek cotto_work, dynamic call fixed. 00:02
cotto_work Does it also give a graceful error message when you try to do that now?
chromatic bacek, I think what we need is Parrot_equal_substr_at(INTERP, s1, s2, offset)
bacek chromatic, wfm 00:03
chromatic I just pushed some code into Rakudo that'll make it easier for use to use that. Do you know how to write the src/string/api.c part?
bacek on parrot side? 00:04
dalek kudo: ea8f2bb | chromatic++ | src/binder/bind.c:
[src] Hoisted more STRINGs to constants in binder.
kudo: aa66397 | chromatic++ | src/binder/bind.c:
[src] Hoisted more binder STRINGs to constants.
kudo: 4e3a1a1 | chromatic++ | src/pmc/objectref_pmc.template:
[PMC] Promoted a frequent STRING to a CONST_STRING.

optimization.
purl i guess optimization is the mother of all fuckups. or "1) it's an IO problem, 2) it's an IO problem, 3) it's an IO problem" or for those who don't have enough hardware or something people often obsess about pointlessly or see Rules of Optimization or "Premature optimization is the root of all evil"
chromatic yes
bacek looks like it will require extending of _charset functionality. 00:05
chromatic That's all encapsulated, right? 00:06
bacek or "manual" iteration over strings
chromatic The CHARSET_COMPARE macro could provide lengths and starting offsets in both STRINGs, for example. 00:07
... and we could add a new macro which passes through offsets in those STRINGs.
dalek r: d0f99c1 | bacek++ | t/pbc/call.txt:
Fix dynamic call test.
r: 60c3d12 | bacek++ | src/POST/Compiler.pm:
Fix bytecode for dynamic call.
chromatic Functions like ascii_compare and the other charset *_compare could take additional parameters.
bacek way too much from my point of view. Let's do manual iteration first. 00:08
00:11 Coke joined
chromatic Is that the sound of a robot volunteer I just heard? 00:11
cotto_work bacek, this code still generates a bad (?) pbc that causes parrot to segfault: 00:12
nopaste "cotto" at 192.168.1.3 pasted "PIRATE generates segfaulty pbc" (18 lines) at nopaste.snit.ch/21590
cotto_work heads home
purl Slacker!
bacek chromatic, let me finish dynamic calls in PIRATE first.
cotto_work I'll look at it later tonight if you don't first. 00:13
whiteknight only a handful of places really appear to break hash encapsulation
...and I notice that chromatic's and bacek's callcontext pmc is a particularly bad offender :) 00:14
chromatic No rush on this bacek, as the Rakudo side probably needs a branch before they bump PARROT_REVISION. 00:15
Also I should have decommuted a while ago.
whiteknight, violating hash encapsulation is necessary in those places where the hash API is insufficient.
whiteknight chromatic: I'm not really complaining. and I'm not going to "fix" it 00:16
just sayin', is all I'm sayin'
chromatic As long as you're cleaning it up, feel free to clean it up! 00:17
Coke is there a way in NQP to get a ref to a named sub, or do you have to use pir to do that? 00:21
dalek r: 278eef5 | bacek++ | (2 files):
Stop generating broken PBC for dynamic calls
00:24
rrot: r47846 | tcurtis++ | branches/gsoc_past_optimization (5 files):
Add Tree::Transformer base class for various transformer subclasses.
00:27
rrot: r47847 | whiteknight++ | branches/hash_faster (7 files):
[hash] rename hash->bi to bucket_indices, and ->bs to buckets. The former is an array of pointers arranged as a modulus of the hash values. The later appears to be raw slab-like bucket storage
bacek Coke, sub foo() { ... }; my $s := foo; $s(); 00:37
tcurtis Coke: do you mean an arbitrarily-named sub, or one that you know the name of at program-writing time? 00:39
bacek msg chromatic I think best option will be str_compare(a, a_offset, a_lenght, b, b_offset, b_length) as most generic comparison function
purl Message for chromatic stored.
Coke tcurtis: in this case, I know the name. 00:49
I plan on having a "my sub foo" later on.
00:50 plobsing joined
tcurtis Coke: what bacek said should work, then, I think. 00:55
dalek rrot: r47848 | tcurtis++ | branches/gsoc_past_optimization (2 files):
PAST::Transformer is Tree::Transformer
00:59
rrot: r47849 | whiteknight++ | branches/hash_faster/src/hash.c:
[hash] add a new function parrot_hash_create_preallocate creates a new hash and preallocates at least a certain number of buckets
01:16
01:16 mariano__ joined
tcurtis msg moritz I would not recommend svn upping to r47848 on my branch yet. It broke .transform. I'm working on a fix. 01:21
purl Message for moritz stored.
dalek rrot: r47850 | tcurtis++ | branches/gsoc_past_optimization/runtime/parrot/library/Tree (2 files):
Tree::Pattern::Transform is Tree::Transformer. Also, fix a bug in Tree::Pattern.transform related to module loading.
01:48
whiteknight holy crap. This hash code is so much worse than I expected. 01:51
I thought it was keeping all the HashBuckets together in a contiguous memory block. But after expanding, it appears to have multiple memory regions it's managing 01:53
and, while I'm looking at it, I think it might be leaking memory 01:54
no, nevermind. It's not leaking 01:56
(at least not the part I am looking at)
purl msg chromatic: the hash code is worse than I thought. I want to try stripping out all the memory management logic and force hashes to allocate buckets from the GC (fixed-size allocator). It uses a similar kind of mechanism but should be more efficient with fewer reallocs and fewer memcpys. I going to do some unrelated cleanup first, I would like some feedback before I go full-nuclear. 02:00
purl Message for chromatic stored.
tcurtis bacek: ping 02:07
whiteknight the problem is that parrot_hash_clone takes in an existing hash structure, so it's not like I can preallocate the whole thing the way I need it, or even reallocate it 02:08
because parrot_hash_clone doesn't return a pointer to the reallocated hash 02:09
and, since encapsulation gets broken in some places, I can't guarantee that hash->container is the only external reference to the hash 02:10
so I can't discard the Hash, create a new Hash, and insert it into the Hash PMC
02:10 spinclad joined
bacek tcurtis, pong 02:11
whiteknight, GC's fixed-size allocator doesn't GC 02:12
whiteknight bacek: I know. That's irrelevant in this case. I don't need it to 02:13
Hash does it's own marking and it's own destroy
dalek r: 818d0e3 | bacek++ | src/PIR/Grammar.pm:
Param/arg can have only one modifier.
whiteknight so it can keep track of the buckets, mark them, and free them back to the system
dalek r: bf03b06 | bacek++ | t/ (2 files):
Start adding tests for args/params modifiers
r: 51e7dd7 | bacek++ | (2 files):
Validate :slurpy (:named) params
r: b08da06 | bacek++ | t/post/labels.txt:
Add more tests for undeclared labels.
r: 8ed8192 | bacek++ | src/POST/ (2 files):
Move .modifier into POST::Value
r: 8dff5b3 | bacek++ | src/PIR/Actions.pm:
Factor out .create_label for putting Labels in Sub.labels
r: e8ac0fc | bacek++ | (4 files):
Implement :slurpy params
bacek whiteknight, I suspect it will be slower than current approach... 02:14
whiteknight bacek: I doubt it. All the realloc() and all the memcpy? I can't imagine it will be slower 02:15
not to mention that struct Hash will be several pointers smaller
bacek whiteknight, just create some benchmark to ensure.
whiteknight bacek: yeah, I'm not ready to kill it just yet
tcurtis bacek: I think that Tree::Pattern(parent of PCT::Pattern and such) is ready to be used on POST in PIRATE. 02:19
bacek tcurtis++ # Hooray!
tcurtis, just create branch in PIRATA and start hacking it! 02:20
first "mandatory" optimization is something like "if 1 < 2 goto label"
tcurtis bacek: I don't yet have tests for non PAST::Pattern stuff yet, but I think I've factored all the non-PAST specific stuff(i.e., everything but the attribute names and matching node classes) out into base classes such that it should work. 02:23
What optimization of that are you interested in?
bacek "if 1 < 2 goto label" to replace with "noop" or "goto label" 02:24
may be it will be easier to implement after constant folding
actually, "if 1 < 2 goto label" desugarised into "le 1, 2, label" 02:27
"lt"
tcurtis Ah. I wasn't looking at the operands to the condition.
bacek "le ..." is POST::Op(:name<le>, POST::Constant, POST::Constant, POST::Label) 02:28
02:30 TiMBuS joined
tcurtis bacek: Can POST::Constants be PMCs? 02:36
bacek tcurtis, yes. Defined by .type. 02:37
But not in case of "if ..." 02:38
All values are inherited from POST::Value.
It can be Constant or Register.
tcurtis Will $c.type() always be one of the constant types for POST::Constants? 02:41
bacek yes. One of ic, sc, pc, nc, kic 02:43
But you can match on .isa(POST::Constant) as first cut.
dalek r: a570659 | bacek++ | TODO:
Add TODO.
02:59
r: d70ac6d | bacek++ | t/pbc/call.txt:
Add test for :optional
r: 711424e | bacek++ | (2 files):
Reject bad :opt_flag
r: 7b1e3a2 | bacek++ | (2 files):
Implement :optional args
r: 488ca79 | bacek++ | t/parse/call.txt:
Fix one test
r: f78e007 | bacek++ | t/parse/call.txt:
Fix one more test.
rrot: r47851 | whiteknight++ | branches/hash_faster/examples/benchmarks/hash_workout.pir:
[hash] add the start of a benchmark suite for hashes. We really want to give them some exercise so that we can measure whether potential optimizations or changes have a positive or negative impact
03:12
sorear hashes being faster sounds quite awesome 03:14
LexPad, NameSpace, Object
tcurtis Capture 03:15
sorear PCT::Node
purl PCT::Node is, like, a Capture pmc
sorear wonders how much of a win string internment would be 03:16
03:17 patspam joined
bacek whiteknight, can you quick benchmark murmurhash2? 03:18
It can be quick win
whiteknight murmurhash2?
I'm heading to bed now, late 03:19
bacek sites.google.com/site/murmurhash/
whiteknight tomorrow 03:23
purl o/~ the sun will come out.. tomorrow.. o/~ or the National Day of Slayer, and the National Emo Kid Beatdown day, by www.nationaldayofslayer.org/ and community.livejournal.com/wtf_inc/2805832.html or tomorrow and tomorrow and tomorrow creeps in this petty pace or maƱana or free for all or another day or the name of the pitcher
whiteknight ggodnight
dalek r: 17e5db6 | bacek++ | src/PIR/Grammar.pm:
Unify style of arg_flag/param_flag/return_flag
r: fa7f87b | bacek++ | src/PIR/Actions.pm:
POSTify arg_flag and return_flag.
r: 5098f2c | bacek++ | src/PIR/Grammar.pm:
Long pcc call can have only one arg/param flag.
r: 46db0dc | bacek++ | t/post/call-args.txt:
Add test for :flat args.
r: 3a36888 | bacek++ | (2 files):
Implement POSTing of arg modifiers
r: 97f1a34 | bacek++ | t/pbc/call.txt:
Add test for :flat args
03:25 janus joined 03:36 hercynium joined
dalek r: d62f45e | bacek++ | TODO:
Update TODO
03:46
r: 9714dd4 | bacek++ | (2 files):
Factor out PIR::Actions.param_result_flag and implement handling of result
purl it has been said that modifiers is the name used in several places.
r: eb2577c | bacek++ | (2 files):
Implement fatarrow POSTing
03:57
r: 6c09f8d | bacek++ | TODO:
Update TODO
04:06 LoganLK joined 04:11 JimmyZ joined
JimmyZ msg cotto Re:TT#888, Windows XP Chinse version uses GBK for paths, not utf-8 04:14
purl Message for cotto stored.
dalek rrot: r47852 | petdance++ | trunk/src/nci_test.c:
more PARROT_ annotations
04:18
JimmyZ msg cotto nevermind, it's fixed 04:33
purl Message for cotto stored.
cotto gbk? 05:01
sounds like fun
dalek rrot: r47853 | petdance++ | trunk (2 files):
much PARROT_ annotation and some consting
05:07
JimmyZ T#888 has been fixed, but make smoke still failed, because some code uses io.'open'("$temp_file", 'wb')
05:26 fperrad joined
JimmyZ Is there any different between .include 'foo.pasm' and between .include "foo.pasm"? 05:38
Is there any different between .include 'foo.pasm' and .include "foo.pasm"?
cotto not sure 05:39
JimmyZ I see it in t\\compilers\\imcc\\syn\\file, the former is absolute path? 05:40
t\\compilers\\imcc\\syn\\file.t
.include 'foo.pasm' doesn't work for me. 05:41
cotto is not sure he did what he intended to do 06:08
actually, I think that dtrt 06:09
dalek r: 8588001 | cotto++ | (14 files):
Merge branch 'master' of github.com:bacek/pir
JimmyZ can use load_bytecode "$filename", but he can't use load_bytecode binary:"$filename" 06:14
cotto do you need to or are you just making an observation? 06:15
JimmyZ I need it 06:17
I am fixing failed test which is simillar with TT#888, but I can't use io.open(binary:"path") or load_bytecode binary:"$filename" 06:19
though I can use $S0 = binary:"path"\\n load_bytecode $S0 06:20
dalek rrot: r47854 | plobsing++ | branches/dynop_mapping/src/pmc/sub.pmc:
fix sub argument introspection
06:29
06:35 LoganLK joined
dalek rrot: r47855 | plobsing++ | branches/dynop_mapping/t/native_pbc (4 files):
native_pbc platform updates
06:46
rrot: r47856 | plobsing++ | branches/dynop_mapping/src/packfile.c:
handle oplib not found on load
07:02
cotto seen pmichaud 07:03
purl pmichaud was last seen on #parrot 1 days, 8 hours, 8 minutes and 47 seconds ago, saying: I'll be offline for the next few hours (in flight) [Jun 24 22:55:00 2010]
cotto has pmichaud explicitly rejected ... for nqp? 07:14
sorear the golden rule of NQP is "nothing which requires library support to function" 07:16
moritz except for the things that go into the setting :-)
dalek rrot: r47857 | plobsing++ | branches/dynop_mapping/compilers/opsc/src/Ops/Emitter.pm:
add '_ops' onto the end of name in op_info_t so we can find the oplib again
07:19
cotto I'll see if I can get motivated enough to add it. 07:21
dalek kudo: 6769e19 | moritz++ | t/spectest.data:
series-simple.t is gone, series-nonnueric.t works now
07:24
07:29 chromatic joined
dalek rrot: r47858 | plobsing++ | branches/dynop_mapping/src/pmc/oplib.pmc:
too many levels of pointer indirection
07:35
07:45 mmcleric joined
dalek rrot: r47859 | plobsing++ | branches/dynop_mapping (3 files):
decode ops for proper pbc_disassemble
08:57
nxed: r523 | NotFound++ | trunk/winxedst1.winxed:
fix use prefed in namespaces
09:08
tracwiki: v1 | cotto++ | KhairulGSOC2010Schedule 09:24
tracwiki: initial copy/paste + minor formatting; needs much summarizing
tracwiki: trac.parrot.org/parrot/wiki/Khairul...ction=diff
cotto pull request for ... in nqp sent. Let's see what happens. 09:43
10:13 bacek joined 10:25 aloha joined
bacek aloha, humans 10:26
mikehh aloha, bacek 10:51
All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34591), fulltest) at r47859 - Ubuntu 10.04 i386 (g++ with --optimize)
t/op/exit.t - TODO passed: 6 in testf
note the TODO pass only happens on i386 not on amd64 10:52
pir/PIRATE (8588001) build ok, test PASS - t/01-parse/05-assign.t - TODO passed: 10 - on parrot r47859 - Ubuntu 10.04 i386 (g++ with --optimize) 10:58
bacek mikehh, thanks for testing pirate 11:09
mikehh partcl-nqp (14e5902) - make ok, make test FAIL - t/cmd_array.t - Failed tests: 10-12, t/cmd_set.t - TODO passed: 6 - on parrot r47859 - Ubuntu 10.04 i386 (g++ with --optimize) 11:10
bacek: the earlier problem on i386 ihas departed 11:11
bacek mikehh, it was wrong test. And wrong behavior of pirate :)
11:13 whiteknight joined
bacek mikehh, btw, if you are looking for some pirate testing you can "migrate" tests from t/compilers/imcc. Pirate should be able to run most of them now. 11:13
whiteknight goodmornig, #parot
mikehh bacek: :-} - will have a look - testing rakudo - takes forrreverrr... 11:14
bacek Good morning. mr. Whitworth!
mikehh hi whiteknight
11:16 Coke joined
whiteknight hello bacek, mikehh 11:19
bacek: The more I think about it, the more I think using the fixed_size allocator for hash buckets will be a big win 11:22
bacek whiteknight, just benchmark it. "Premature optimisation is root of all evil" as usual.
whiteknight bacek: I certainly will :) 11:31
I may merge these benchmarks back to trunk first so we have it there
bacek whiteknight, did you get link to murmur hash? 11:35
dalek rrot: r47860 | whiteknight++ | branches/hash_faster/examples/benchmarks/hash_workout.pir:
[hash] add more benchmarks for hash clone performance
11:40
mikehh rakudo (6769e19) builds on parrot r47859 - make test PASS, spectest_smolder -> #34593 (pugs r31450) PASS - Ubuntu 10.04 i386 (g++ with --optimize) 11:46
19 TODO PASSes in 6 files
hmnn rakudo tests take about 11% longer on i386 vs amd64 (g++ with --optimize) both with TEST_JOBS=5 11:52
1323 wallclock secs (19.13 usr 3.73 sys + 4436.36 cusr 89.75 csys = 4548.97 CPU) vs 1172 wallclock secs (21.42 usr 4.01 sys + 4118.20 cusr 103.53 csys = 4247.16 CPU) 11:54
winxed r523 - make ok, make test/test1/test2 PASS - on parrot r47859 - Ubuntu 10.04 i386 (g++ with --optimize) 12:05
dalek rrot: r47861 | whiteknight++ | branches/hash_faster/src/hash.c:
[hash] remove non-starter function
12:13
r: 9113499 | bacek++ | (2 files):
Handle :named args in POST::Compiler.build_single_arg
12:15
r: 0219a66 | bacek++ | t/03-pbc/00-compiler.t:
Add test for building :named signature (not finished)
whiteknight I'm going to merge this branch as-is with some initial cleanups and that new benchmark. 12:37
start a new branch to try new things 12:38
mikehh brb 12:40
12:43 mikehh joined
dalek rrot: r47862 | khairul++ | branches/gsoc_instrument (8 files):
Initial attempt to instrument gc.
12:45
12:54 ambs joined
dalek rrot: r47863 | whiteknight++ | failed to fetch changeset:
[hash] merge the short-lived hash_faster branch. Despite the name this branch brings no speed-ups, only some cleanups, documentation improvements, and a new
13:03
rrot: r47864 | whiteknight++ | branches/hash_allocator:
[hash] creating a new branch to attempt replacing the current memory allocation mechanism in src/hash.c with the fixed_size allocator
rrot: r47865 | whiteknight++ | branches/hash_faster:
[hash] branch is merged to trunk in r47863. Creating a new branch to continue hash work
13:07 kid51 joined 13:16 whiteknight joined
dalek rrot: r47866 | jkeenan++ | branches/cfunctionsdocs (5 files):
Correct two codingstd errors. Delete darwin/memalign.c; not needed, as pointed out by doughera++.
13:20
kudo: 1424333 | (Solomon Foster)++ | src/ (2 files):
Rewrite the Actions handling of dec_number (ie Rat and Num constants) to work

Still needed: Cleanup. Porting this solution to Int constants. Making prefix:<+>(Str) use these methods.
13:23
purl cleanup is a tmpdir thing
rrot: r47867 | jkeenan++ | branches/cfunctionsdocs (3 files):
Delete config/gen/platform/generic/memalign.c. No longer needed per doughera++.
13:36
whiteknight damnit 13:37
parrot_hash_get_idx is exported. It's the worst function ever and it's exported
mikehh whiteknight: only used in src/call/args.c (once) 13:45
whiteknight yeah 13:46
problem is, I don't know if extensions are using it
If I can get the kind of speed improvements I am expecting, people might not care so much 13:49
mikehh whiteknight: not rakudo, nqp_rx, winxed or partcl-nqp 13:51
whiteknight mikehh++
mikehh or pir/PIRATE for that matter 13:54
All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34598), fulltest) at r47866 - Ubuntu 10.04 amd64 (g++) 13:57
14:02 simcop2387 joined
dalek rrot: r47868 | whiteknight++ | branches/hash_allocator (3 files):
[hash] First pass at converting hash to use the fixed-size allocator. Things are indoubtably broken
15:00
rrot: r47869 | jkeenan++ | branches/cfunctionsdocs (2 files):
Correct some apparent POD-formatting errors which were preventing file from passing c_functions_docs.t.
15:17 kid51 joined
whiteknight is starting to see the light at the end of the tunnel. The puny hash code is falling before my mighty onslaught 15:29
dalek rrot: r47870 | whiteknight++ | failed to fetch changeset:
[hash] second pass. Things still probably don't work
15:36
15:58 jsut joined
dalek rrot: r47871 | whiteknight++ | branches/hash_allocator (3 files):
[hash] fix several errors. Almost builds now except for some problems in unmanagedstruct
16:03
16:08 whiteknight joined 16:12 theory joined
dalek kudo: 77a3501 | pmichaud++ | src/ (5 files):
Allow infinity laziness in arrays, array assignment.
16:16
kudo: b5bd660 | pmichaud++ | src/ (2 files):
Merge branch 'master' of github.com:rakudo/rakudo
16:25 patspam joined
dalek rrot: r47872 | NotFound++ | failed to fetch changeset:
allow use of Parrot_pcc_invoke_from_sig_object to run objects that does invoke, thus allowing its usage for nci callbacks
16:37
16:55 jsut_ joined 17:00 Andy joined
dalek kudo: cbf03ac | jonathan++ | src/binder/bind.c:
Fix |$c in method signatures and various other cases; it wasn't quite slurpy
17:05
rrot: r47873 | pmichaud++ | trunk/runtime/parrot/library/P6object.pir:
Change Protoobject.ACCEPTS to return Boolean instead of int.
17:15
purl dalek: that doesn't look right
17:46 LoganLK joined
cotto whiteknight, ping 17:51
whiteknight cotto: pong
cotto is hash_allocator still at the stage of "make it work"? 17:52
whiteknight cotto: yeah. I'm working on the last detail to get it building
UnmanagedStruct breaks encapsulation pretty bad, and relies on the things I've removed
cotto whee
whiteknight so I'm going to fix that now and hopefully it all works 17:53
cotto when it's working, you might want to put the optimization from parrot_hash_get_bucket back. That was chromatic's doing and apparently got us a legitimate speedup. 17:54
whiteknight parrot_hash_get_bucket? Which optimization? 17:55
cotto the SMALL_HASH_SIZE linear search
/* a very fast search for very small hashes */ 17:56
whiteknight oh. Can't do linear search anymore, since the HashBuckets aren't stored in a linear memory block anymore
so that optimization is impossible
I could put in something similar, however
cotto might be worth investigating
thanks for digging in to that code. whiteknight++ 17:58
whiteknight yeah. the hash_allocate branch is all exploratory. If it doesn't pan out, we can ditch it
but I have a feeling there is some win here
18:29 ambs joined
dalek kudo: a579f8e | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION, fixes RT #71462.
18:33
18:36 tcurtis joined
dalek rrot: r47874 | whiteknight++ | branches/hash_allocator/src/pmc/unmanagedstruct.pmc:
[hash] miniparrot builds, hangs
18:53
kudo: 7102d7c | (Solomon Foster)++ | src/ (2 files):
Implement infix:<%%> "is divisible by" operator.
19:02
19:29 Andy joined 19:55 plobsing joined 20:24 mmcleric joined 20:33 ingy joined
dalek TT #1691 created by petdance++: Look into GCC -flto and -fwhole-program link options 20:33
TT #1691: trac.parrot.org/parrot/ticket/1691
rrot: r47875 | cotto++ | branches/gsoc_instrument/t/library/instrument_eventlibrary.t:
fix TAP output
20:48
rrot: r47876 | chromatic++ | trunk/src/ops (2 files):
[ops] Reordered conditions in callmethodcc op.
21:04
rrot: r47877 | chromatic++ | trunk/src/call/context.c:
[PCC] Improved cache friendliness of clear_regs().
rrot: r47878 | chromatic++ | trunk/src/call/args.c:
[pcc] Improved :call_sig branch prediction.
rrot: r47879 | chromatic++ | trunk/src/call/args.c:
[pcc] Reordered positional checks by likelihood.
rrot: r47880 | chromatic++ | trunk/src/pmc/callcontext.pmc:
[PMC] Cleaned and optimized CallContext's mark.
rrot: r47881 | chromatic++ | trunk/src/call/args.c:
[pcc] Added a tiny optimization to fill_params().
rrot: r47882 | plobsing++ | branches/dynop_mapping/src/packfile.c:
temporarily comment out some packfile sanity checking code that pbc_merge
TT #1530 closed by plobsing++: [DEPRECATION] Parrot_PMC_* in src/extend.c 21:07
TT #1530: trac.parrot.org/parrot/ticket/1530
rrot: r47883 | plobsing++ | trunk/include/parrot/extend.h:
remove last instance of Parrot_VTABLE (TT #1531)
21:21
TT #1531 closed by plobsing++: [DEPRECATION] Parrot_VTABLE 21:23
TT #1531: trac.parrot.org/parrot/ticket/1531
moritz purl: msg tcurtis I'm currently blocking on some NQP issues not related to your gsoc work at all; I'll notify you when I make progress (or hit other blockers) 21:25
purl Message for tcurtis stored.
21:54 tcurtis joined
bacek Good morning, humans 22:38
mikehh aloha, bacek 22:41
bacek aloha, mikehh
22:48 eternaleye joined
dalek kudo: 92d0c1c | pmichaud++ | src/Perl6/Actions.pm:
Empty statement list should return Nil.
22:53
kudo: ac1c280 | pmichaud++ | src/builtins/assign.pir:
Assigning Nil to a container resets it to type.
kudo: fd5e2e7 | pmichaud++ | src/builtins/Parcel.pir:
Parcels are always defined (even Nil).
kudo: d401972 | pmichaud++ | src/core/List.pm:
$obj.?method returns Nil, not undef.
kudo: 2334011 | pmichaud++ | src/Perl6/ (2 files):
Add statement_prefix:sym<sink>.
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34601), fulltest) at r47883 - Ubuntu 10.04 amd64 (g++ with --optimize) 22:59
dalek r: d754743 | bacek++ | pir.pir:
Add PackfileRawSegment.at method for testing purposes.
23:12
r: 12de2c9 | bacek++ | (2 files):
Implement :named handling
r: 7b62b51 | bacek++ | t/pbc/call.txt:
Add more tests for :named handling
r: 3698343 | bacek++ | (3 files):
Fix :slurpy :named modifier generating.
r: a93480e | bacek++ | TODO:
Update TODO
23:23 cotto joined 23:25 shockwave joined
shockwave purl paste 23:25
purl it has been said that paste is (see: nopaste) or like glue but a little safer to sniff. or nopaste.snit.ch:8001/ or scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste or App::Nopaste or toxic for bots and humans
cotto ~~ 23:27
shockwave Howdy.
When I try to compile a file outputed by my compiler, I get this error: 23:28
PackFile_unpack: This is not a valid Parrot bytecode file
Parrot VM: Can't unpack packfile TestCaseX.proof.
main: Packfile loading failed
When I run it with parrot, like: ./parrot TestCaseX.proof -- it runs fine.
But when I try to compile it, I get the message above.
23:28 mmcleric joined
shockwave I'm not sure what I'm doing wrong. 23:28
Thanks 23:29
nopaste "shockwave" at 192.168.1.3 pasted "Compiling this fails for me." (3 lines) at nopaste.snit.ch/21599 23:32
shockwave Can someone try to compile the thing above ^^^ ?
Anyone, please. It's just 3 lines. 23:36
nopaste "cotto" at 192.168.1.3 pasted "wfm" (10 lines) at nopaste.snit.ch/21600
mikehh shockwave: I don't understand your problem
shockwave mikehh: Where you able to compile the 3 lines above: ./parrot -c the_file.pir ? 23:37
mikehh shockwave: yes, see cotto's nopaste
shockwave cotto: Thanks. I was using the -c flag. Now I'm not sure what that's for. 23:38
cotto Interesting. That looks like it should work. 23:39
mikehh shockwave: I thought it was to output pbc
shockwave mikehh: So did I. I was doing different combinations of that, but none of them worked: i.e.,: ./parrot -c -o test.pbc test.pir, etc 23:40
mikehh but I think it is to execute pbc 23:41
cotto mikehh seems to be correct
shockwave ./parrot --version could probably use a little hint as to what that does. 23:42
Anyhow, thanks again, cotto.
cotto It seems to be intended for the case where you have a pbc file that's not suffixed with pbc
shockwave oops, that was ./parrot --help
cotto .pbc
./parrot --help will be more useful presently 23:43
Goodie. There's also --run-pbc 23:44
bacek cotto, aloha 23:45
mikehh shockwave: parrot -o test.x test.pir - parrot -c test.x
cotto bacek, aloha
bacek cotto, any luck with pirate's strings? 23:46
dalek r: b42c382 | bacek++ | t/pbc/call.txt:
Add more (failing) tests for call.
r: 1ee0715 | bacek++ | src/POST/Compiler.pm:
Fix building PCC signature for POST::Value
23:47
r: e8fae2c | bacek++ | src/PIR/ (2 files):
Don't use dequote
mikehh shockwave: that didn't work :-} works with .pbc but not .x
shockwave mikehh: Thanks for the help. Those flags are probably doing something useful (hopefully). They probably just need a little message when invokeing --help to make their intent clear. 23:49
mikehh let me look into that
cotto bacek, some, but I just realized a spot I steal some code from to get me over a block 23:51
bacek cotto, excellent!
23:51 kid51 joined
shockwave see ya, guys 23:52
23:52 shockwave left 23:53 Psyche^ joined
kid51 Are there any branches in need of a 'make test'? 23:53
mikehh hi kid51 23:57
kid51 hola
mikehh kid51: I checked out your patch - seems ok to me 23:58
kid51 I noticed from backscroll that several branches were being worked on in last 24 hours
mikehh: Yes, I think it does no harm, and, formally speaking, it does good in the sense that it gives us a new baseline for measuring C function documentation
23:59 theory joined