|
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
|
|||