Parrot 3.5.0 "Menelaus" released | parrot.org | Log: irclog.perlgeek.de/parrot/today
Set by moderator on 27 June 2011.
00:32 losinggeneration left
mikehh rakudo build (time make -j) -> real 1m19.219s, user 1m36.754s, sys 0m1.780s 00:42
rakudo time make stresstest TEST_JOBS=6 -> real 3m55.636s, user 18m14.644s, sys 0m40.111s
that's on parrot 3_5_0-67-g89cf287 g++ --optimize - Ubuntu 11.04 i386 00:43
dalek rrot-gmp: 0d30391 | bubaflub++ | / (27 files):
fix decrement vtable override, tests for:

abs, decrement, div_* fdiv_*, i_abs, i_div_*, i_fdiv_*, i_mod*, i_neg, increment, mod_*, neg
00:53
whiteknight wait wait wait wait 00:59
rakudo built time is less than two minutes?
is that master or nom?
soh_cah_toa that's pretty incredible 01:00
mikehh master - Bruxelles-2-g72d158a 01:11
soh_cah_toa wow
mikehh my newly built computer - Intel I7 260 (4 core/8 threads) 16GB RAM 01:12
2600
soh_cah_toa not bad 01:13
i have a quad-core myself but 16gb is just ridiculous :)
mikehh 4 x Kingstom DDR3 1600 4GB 01:14
soh_cah_toa ohh...ddr3 too. very nice
mikehh I've also got an AMD Phenom II 8GB (I build about 2 years ago) 01:15
Phenom II 940 (4 core) 01:16
soh_cah_toa do you have a pae-enabled kernel? b/c w/o it, you're i386 won't be able to use all 16gb
mikehh of course, also 64 bit Ubuntu 11.04, but not with VM, so I need to re-boot to switch 01:17
soh_cah_toa ah, good. you'd be surprised how many people don't know about that :) 01:18
mikehh actually I am using Kubuntu on 64 bit, Ubuntu on 32 bit
soh_cah_toa cool 01:19
mikehh I think Ubuntu automatically selects the pae kernel if it detects 4GB or more
on 32 bit that is
soh_cah_toa didn't know that. that's a good feature 01:20
01:20 daniel-s joined
mikehh my son has just got a 6 core/12 threads i7 extreme edition - 24GB RAM, but it cost about twice as much 01:24
soh_cah_toa 8O
wow
mikehh mind you he is a financial advisor, so earns a lot more than I do
soh_cah_toa i'd like to see how fast rakudo builds on a machine like that :) 01:25
dalek sella: 24700bf | Whiteknight++ | / (3 files):
Add in an unless logic node type for template. Add some tests for current logic behavior in templates.
01:33
sella: 437ea88 | Whiteknight++ | s (2 files):
add an include node type to include the text of a file in the template.
sella: ee8a327 | Whiteknight++ | s (7 files):
Rename inner nodes to handlers. Move them out into separate files, with better names and organization. Add a handler factory to make them, but it needs work
01:37 woosley joined 01:46 kid51 joined 02:00 lichtkind left
dalek kudo/nom: 3d623cd | jonathan++ | src/core/Str.pm:
Fix chomp on Win32, thus fixing basic-open.t.
02:23
02:27 whiteknight left
kid51 msg benabik Can you post a link to the slide presentation you did on Parrot in your compilers class? Thanks. 02:39
aloha OK. I'll deliver the message.
02:43 rurban_ joined 02:46 rurban left, rurban_ is now known as rurban 02:47 particle1 joined 02:48 particle left 03:10 kid51 left
bubaflub ~ 03:19
dalek rrot: 1c42811 | dukeleto++ | t/library/pg.t:
Skip postgres tests if extra nci thunks are not available
03:28
03:35 bluescreen left 03:56 JimmyZ joined
benabik msg kid51 post where? Doc: github.com/benabik/cish Slides: www.cs.rit.edu/~bcg2784/Courses/201...CT/PCT.pdf 04:12
aloha OK. I'll deliver the message.
Coke suggests seeing if rakudo/nom builds any faster. 04:25
JimmyZ well, we can't now, the CORE setting is different size 04:26
04:33 particle1 left 05:01 aloha left 05:11 fperrad joined 05:25 aloha joined 05:41 soh_cah_toa left 05:51 zby_home left
moritz JimmyZ: the size of CORE in master didn't change much 05:53
07:03 giwi joined 07:22 aloha left
tadzik good morning 07:34
07:39 aloha joined
moritz good moroning 07:42
07:55 giwi left
moritz it seems that parrot exceptions have a 'backtrace' method 08:02
can I get that backtrace object without an exception too?
seems with getintertp -> context -> .'backtrace' 08:07
08:32 mj41 joined
dalek p: 26dd00c | jonathan++ | src/HLL/Compiler.pm:
Get file name annotations working again for moritz++.
08:44
08:47 fperrad left 08:50 fperrad joined 08:52 mj41 left
dalek kudo/nom: 6893932 | jonathan++ | LHF.markdown:
Add a LHF.
09:29
kudo/nom: 8555c62 | jonathan++ | src/ops/perl6.ops:
Add (untested) perl6_code_object_from_parrot_sub op for moritz++.
09:36 fperrad left 09:44 JimmyZ left
dalek Heuristic branch merge: pushed 29 commits to rakudo/podparser by tadzik 09:47
09:49 fperrad joined
dalek p: 5efb646 | jonathan++ | src/6model/knowhow_bootstrapper.c:
Add .^mro method to core KnowHOW.
09:54
p: a957601 | jonathan++ | src/how/NQPClassHOW.pm:
Add .^mro for NQPClassHOW.
p: 2d4a979 | jonathan++ | src/how/NQP (3 files):
Use Uninstantiable repr for things that should not be instantiated.
p: 26c3c1c | jonathan++ | src/stage0/ (7 files):
Update bootstrap.
kudo/nom: 1a56b91 | jonathan++ | src/ops/perl6.ops:
Make sure we don't hand back nulls from perl6_code_object_from_parrot_sub.
09:57
kudo/nom: e24c94d | moritz++ | tools/build/NQP_REVISION:
bump nqp revision to get file annotations
10:00
10:01 woosley left 10:07 cosimo left 10:13 cosimo joined 10:26 ambs joined 10:39 contingencyplan left 10:43 rurban_ joined 10:45 rurban left 10:46 rurban_ is now known as rurban 10:59 jsut joined 11:04 jsut_ left 11:09 daniel-s left
dalek p: f14f5b6 | jonathan++ | src/6model/reprs/P6opaque.c:
Refactor P6opaque a bit so that we can handle multiple inheritance.
11:19
p: 4c68b90 | jonathan++ | src/6model/reprs/P6opaque. (2 files):
Stash flag for when we're in an MI situation. Also a little cleanup.
p: 037134d | jonathan++ | src/6model/reprs/P6opaque.c:
Sort out error reporting for non-existant attributes so it actually says that's the problem.
p: 8fffc11 | jonathan++ | src/6model/reprs/P6opaque.c:
Add back decontainerize that got lost during refactors.
11:44 whiteknight joined
dalek kudo/nom: bd50d5d | moritz++ | src/core/List.pm:
List.Str should be a multi
11:48
11:50 mj41 joined
whiteknight good morning, #parrot 11:51
msg jnthn__ What features of Eval PMC are you relying on for Rakudo? I'm trying to replace Eval with a new PackfileView PMC, and I want to make sure it is supporting all the features you need 11:54
aloha OK. I'll deliver the message.
whiteknight is heading out for most of the day. May or may not be at #parrotsketch. I already posted a report there. 11:56
12:19 fperrad left 12:20 fperrad joined 12:32 JimmyZ joined 12:51 whiteknight left 13:11 estrabd joined 13:13 woosley joined 13:15 lucian joined 13:37 particle joined
dalek kudo/nom: 32dccc7 | pmichaud++ | NOMMAP.markdown:
Add note to NOMMAP about True not working in setting.
13:38
Coke ponders rohit's last blog entry
13:43 contingencyplan joined 13:44 mj41 left 13:45 giwi joined 13:47 bluescreen joined
dalek kudo/nom: 393264f | moritz++ | / (3 files):
add &hash sub, enable tests
13:50
13:54 estrabd left
dalek kudo/nom: b195df3 | Coke++ | src/ (2 files):
add "unlink" from master with small tweak
14:03
kudo/nom: dc78320 | Coke++ | t/spectest.data:
reclaim a test.
kudo/nom: f1caed6 | moritz++ | t/spectest.data:
5 more passing test files
14:04
dukeleto ~~ 14:10
Coke dukeleto: ~~ 14:14
14:16 woosley left
lucian cotto: ping 14:17
dukeleto Coke: howdy 14:19
bubaflub howdy dukeleto 14:21
14:27 simcop2387_ joined
dalek rrot: f2a7d3b | dukeleto++ | / (2 files):
Add some useful POD to Parrot::Config and use it in t/src/embed.t
14:27
rrot: a9707e1 | dukeleto++ | t/src/embed.t:
Conditionally skip an embed test that requires EXTRA_NCI_THUNKS
dukeleto bubaflub: wazzup
bubaflub dukeleto: not much. how you doing? 14:28
14:29 fperrad left, simcop2387 left, simcop2387_ is now known as simcop2387, fperrad joined
dukeleto bubaflub: just made the parrot test suite pass again when using a "plain parrot" 14:30
bubaflub dukeleto: very nice. for parrot-gmp i had to poke into parrot_config to see if we have libffi and gmp and so on. 14:31
dukeleto bubaflub: have you been able to use parrot-gmp from Rakudo yet?
bubaflub dukeleto: no, i haven't tried that yet. i figured i'd hit up colomon when i run into him again 14:32
dukeleto bubaflub: how would I do it if I wanted to try? Just load the appropriate GMP .pbc files ? 14:34
bubaflub dukeleto: yeah, i believe so. 14:35
dukeleto: after loading all my stuff is in GMP::Integer
14:38 bluescreen left 14:47 simcop2387_ joined 14:49 simcop2387 left, simcop2387_ is now known as simcop2387 14:53 simcop2387_ joined, bluescreen joined 14:55 simcop2387 left, simcop2387_ is now known as simcop2387
benabik ~~ 15:11
dukeleto bubaflub: gist.github.com/1065034 15:16
15:16 redicaps joined
bubaflub dukeleto: that's strange; i'm not getting that. lemme do a clean checkout. 15:20
dukeleto bubaflub: i am trying this with a "plain" parrot, without extra nci chunks etc, which is probably causing this 15:22
bubaflub dukeleto: hmmm. but you should be getting a different, nicer error
dukeleto bubaflub: looks like a bug in distutils
bubaflub dukeleto: do you get the same thing when you run `winxed setup.winxed` ? 15:23
(setup.pir is generated from setup.winxed; just want to make sure)
dukeleto bubaflub: looks the bug starts at library/osutils.pir line 103 15:24
bubaflub: attempting to stat a nonexistent file throws an exception 15:25
bubaflub dukeleto: hmmm, what am i trying to load that doesn't exist?
dukeleto bubaflub: stat("src/GMP/raw.winxed", 0x7fff1272e2c0) = -1 ENOENT (No such file or directory) 15:28
bubaflub dukeleto: ahhhh. i see. fix coming up 15:29
dalek rrot-gmp: e75759e | bubaflub++ | setup. (2 files):
there is no raw.winxed, fix the setup scripts
15:31
bubaflub dukeleto: try that latest commit 15:32
benabik Exception on ENOENT seems not friendly. I thought stat was the usual way to discover if a file exists.
dukeleto benabik: perhaps, but currently it requires an exception handler 15:33
benabik: but yes, I agree with you
bubaflub: parrot-gmp needs a LICENSE file
benabik dukeleto: Fair enough 15:34
bubaflub dukeleto: i'm fine with "the same terms as perl itself" - Artistic 2.0? 15:35
dalek p: b003b38 | jonathan++ | src/6model/sixmodelobject.h:
Extend representation API with a couple of new features to support doing defaults properly in Perl 6 and in order to support mixins (actually, the mechanism is far more generic, and should be able to support a bunch of other stuff that Perl 6 doesn't need, but other languages may).
15:36
p: 0ae9745 | jonathan++ | src/6model/reprs/ (7 files):
First sketch of implementation of is_attribute_initialized for all reprs.
15:38 darbelo joined 15:39 giwi left 15:43 fperrad left 15:45 redicaps left, fperrad joined 15:50 giwi joined
lucian wingolog.org/archives/2011/07/05/v8...-compilers 15:51
15:59 ambs left
dalek kudo/nom: df26bd3 | pmichaud++ | src/Perl6/ (2 files):
Temporary change to handle True/False and Bool::True/Bool::False

We can undo these when the official definitions of True/False become available.
16:03
kudo/nom: e77b738 | pmichaud++ | NOMMAP.markdown:
Add note to NOMMAP about array/hash variable initialization.
16:05
16:10 darbelo_ joined 16:14 darbelo left 16:15 cotto_work joined
benabik REPR.change_type (from b003b387cb above) seems a bit like our morph vtable. 16:16
cotto_work ohai 16:18
benabik o/ cotto_work 16:19
dalek kudo/nom: 7019642 | pmichaud++ | src/core/ (7 files):
Convert instances of 1.Bool into Bool::True.
16:20 AzureStone left
dukeleto benabik: indeed 16:21
benabik I guess just having the default of "it says no" is better than what we have.
16:21 darbelo joined, darbelo_ left 16:24 AzureStone joined
dalek rrot: 9190699 | chromatic++ | src/pmc/namespace.pmc:
[PMC] Optimized NS's get_pointer_keyed_str VTABLE.

This improves the performance of stress2.pasm by 2.725%. Interested parties may be able to squeeze out another improvement by revising this logic.
Note that this demonstrates a systemic problem regarding the question of "Does something exist in this hash?" versus "There's something, but it's null." If PMCNULL ever stops also being 0, this function will return strange results.
16:31
dukeleto nice to see chromatic++'s optimization commits again 16:33
16:33 giwi left
cotto_work Yes. It'd be even nicer to see others doing the same thing. 16:33
lucian cotto_work: i've been thinking of mole. do you have time for some questions? 16:36
cotto_work lucian: sure 16:37
lucian cotto_work: do you plan to include language support for a C FFI?
cotto_work lucian: now that you've asked, yes. ;] 16:38
lucian cotto_work: right. from what i've talked to other people, and from my own usage, most ffis suck
dalek rrot-libgit2: 64b5dc2 | dukeleto++ | / (7 files):
Initial skeleton of a Parrot library which uses winxed and rosella
lucian cotto_work: people do like Managed C++ and Cython, though, and it makes sense to me 16:39
do you think it'd be a good idea for mole to have cython-style syntax for C interop?
16:40 mj41 joined
cotto_work lucian: do you have an example? I haven't used ctypes. 16:40
lucian cotto_work: cython, not ctypes. unfortunate similarity
cotto_work: docs.cython.org/src/userguide/exter..._code.html
cotto_work actuallah. misread 16:41
lucian ctypes is annoying because 1) you must re-create the interface in the .h file and 2) you get unexpected segfaults
cotto_work that doesn't sound production-ready 16:42
I thought it was pretty mature.
lucian oh, it's like that by design
the segfaults happen when you mis-call things
cotto_work oh. That's unsurprising then.
C lets you segfault quite happily. 16:43
lucian it's a big reason why people use cython, much harder to mis-call things
right, but ctypes is much, much easier to segfault than just C
bubaflub dukeleto: you doing parrot-libgit2? verrrrrrry nice 16:44
tadzik ooo, do want 16:45
lucian cotto_work: so i was thinking perhaps some C modifiers would be useful. probably more than "extern C" would be necessary, but not much more (not as much as in cython) 16:48
16:49 fperrad left
cotto_work lucian: can you add a section to your version of the gist detailing what the mole ffi support would look like? 16:50
lucian cotto_work: yeah, i'll try
cotto_work lucian: thanks 16:52
16:52 fperrad joined
dukeleto bubaflub: yeah, i needed something new and shiny to distract me 16:53
bubaflub dukeleto: i've been thinking about libgit2 bindings for Perl 5 (maybe SWIG?) for a while now
dukeleto: though given my project this year i'm probably better prepared for parrot bindings 16:54
dukeleto bubaflub: yeah, i noticed a lack of those as well, but parrot bindings sounded funner
bubaflub: i am stealing your header2nci script :)
tadzik Rakudo would be glad for libgit2 bindings, says the panda author :)
dukeleto bubaflub: i will give you a commit bit to parrot-libgit2 after you have completed gsoc ;) 16:55
tadzik git is the one last things still ran via run()
bubaflub dukeleto: haha. nice. i was going to suggest that. there is some GMP specific code in there that i haven't pulled out to YML conf files
16:55 JimmyZ left
bubaflub tadzik: but should libgit2 be a build-time dependency? 16:55
tadzik bubaflub: nope 16:57
I actually need to clone and update repos, that's it 16:58
dalek rrot-libgit2: 4ebe4b7 | dukeleto++ | / (6 files):
Add some YAML files and an empty nci file, lovingly stolen from parrot-gmp
17:04 soh_cah_toa joined
soh_cah_toa ~~ 17:04
cotto_work hi soh_cah_toa 17:06
soh_cah_toa cotto_work: hey 17:07
lucian cotto_work: i stumbled on something. where are function/chunk return types declared? 17:17
cotto_work lucian: so far they're not 17:29
lucian cotto_work: i'm really bad at this, someone smarter should design languages 17:33
soh_cah_toa if i have some inline PIR in p6/nqp like `my $foo = Q:PIR { %r = bar() }` where bar() returns a pmc type and thus is returned in %r, what type does $foo end up as in p6/nqp? obviously there is no pmc type in p6/nqp. 17:34
or is it not like that and $foo is more like a subref?
benabik soh_cah_toa: In NQP, scalars are PMCs and you have to use `my $foo := Q:PIR` 17:35
soh_cah_toa: Not sure how well Rakudo handles raw PMCs... I think it may cause rakudo/nom to explode.
soh_cah_toa no, it works 17:36
b/c i have a fragment like that where it returns a FixedIntegerArray and i want to print it but FixedIntegerArray doesn't have a get_string() method so that's why i'm asking
it's p6 btw, not nqp 17:37
17:38 jevin_ left
cotto_work lucian: don't let me distract you too much from your GSoC project, but don't avoid trying just because you haven't done something before. 17:40
lucian cotto_work: i'm debugging winxed stuff at the same time, so not much of a loss 17:41
cotto_work: i've just realised that i've added syntax when i didn't really have to 17:43
cotto_work: anyway, github.com/lucian1900/mole 17:44
cotto_work: hmm docs.racket-lang.org/cffi/index.html 17:45
17:45 jevin joined
dukeleto lucian: i see a mole where I would expect a puffin ;) 17:47
lucian dukeleto: :)
dukeleto lucian: exciting to see you giving feedback about mole, though
cotto_work lucian: proposing something terrible is a good way to help figure out what we don't want. 17:53
lucian cotto_work: the thing is, even more invasive syntax additions would be beneficial if a certain compilation-execution flow were followed 17:54
cotto_work: but that's unlikely because it's a ton of work 17:59
cotto_work lucian: possibly. mole can have a little magic, but I still want a relatively simple langauge. 18:02
lucian yes, it should be simple 18:03
cotto_work: have you thought more about pointers?
cotto_work lucian: not much. Yesterday was very much an afk day. 18:04
lucian if you wanted to implement things like a GC in it, afaik you'd only need alloc, dealloc, references and bounds-checked arrays
cotto_work I'll probably be less responsive than normal today. I have some catching up to do at $dayjob after being gone for a couple weeks. 18:08
lucian nods 18:11
18:27 jsut_ joined 18:31 jsut left 18:39 zby_home joined 18:43 rurban_ joined 18:45 rurban left 18:46 rurban_ is now known as rurban
dalek kudo/nom: 87e9756 | pmichaud++ | src/core/ (5 files):
More True/False changes.
18:46
bubaflub dukeleto: you got some time to skype before #ps? 18:54
18:55 dmalcolm joined
dukeleto bubaflub: sure 18:59
bubaflub woot. 19:01
cotto_work #ps in 89
19:08 darbelo left 19:13 fperrad left
dalek kudo/nom: 86ff74d | pmichaud++ | src/core/ (2 files):
Move .substr guts from Cool to Str, make .substr properly fail on negative start or length arguments.
19:14
kudo/nom: 4353c16 | pmichaud++ | LHF.markdown:
Add a LHF for Str.chomp.
19:15
19:15 fperrad joined 19:47 fperrad left
dalek rrot-libgit2: f04558e | dukeleto++ | bin/header2nci.pl:
Modify header2nci.pl to the point where it gets return types correct
19:50
rrot-libgit2: 32b9612 | dukeleto++ | README.md:
Update our beloved readme
19:55
19:59 kid51 joined 20:03 Eclesia joined
Eclesia hi 20:04
NotFound: quick question : in pir we can do : $S1 = utf16:"Hello UTF-16 Unicode World!" , is there a way to expres the same thing in winxed ? 20:07
NotFound Eclesia: no. Winxed always uses ascii or utf8 in string literals. 20:08
20:10 ambs joined
Eclesia NotFound: perhaps it's possible using ${...} ? 20:11
NotFound Eclesia: no
Eclesia: You need the literal, or just the value in a string register? 20:12
20:12 theory joined
Eclesia NotFound: I have this : "\\u00A0\\u00A0\\u251C\\u2500" valid only in utf-16 20:13
special caracters to tree joins
(a bit like I did before with x3.64 for colored outputs) 20:14
cotto_work #ps in 14 20:16
Eclesia NotFound: If I try to use \\u in a string, I have this message : Lossy conversion to single byte encoding 20:19
NotFound Eclesia: Yeah, winxed fails the check for the need of specifying encoding when using hex scape sequeneces, I'll look at it. 20:20
cotto_work GCs gone wild: timetobleed.com/the-broken-promises...rireeyarv/
dalek kudo/nom: 2e59702 | Coke++ | src/core/metaops.pm:
add degenerate infix:<~>
20:24
kudo/nom: 5fa788d | Coke++ | src/core/operators.pm:
add subish WHAT()
lrskate: 5cb2ada | tcurtis++ | src/LALR/Generator/BuildNonterminalTransitionTable.winxed:
Add brief comment describing result of build_nonterminal_transition_table.
20:27
lrskate: 9a90994 | tcurtis++ | src/LALR/Generator/BuildPStateSets.winxed:
Add comment explaining the result of build_p_state_sets.
20:28
rrot: 8e801b2 | NotFound++ | src/pmc/namespace.pmc:
hash is a Hash *, not a PMC *
20:29
20:30 darbelo joined
cotto_work NotFound: good catch. I'm sad that that didn't break the build before your fix. 20:30
NotFound++ 20:31
NotFound It broke, but only witn C++
dalek kudo/nom: 48b9efc | pmichaud++ | t/spectest.data:
Add t/spec/integration/pair-in-array.t to spectest.data. Coke++
20:32
20:35 mj41 left
dalek kudo/nom: 8c4e7fd | moritz++ | / (2 files):
add BackTrace class to setting. Not yet used in exceptions
20:35
rrot: 56f90ce | NotFound++ | lib/Parrot/Pmc2c/PMC.pm:
make the vtable initializers static to decrease stack usage during intialization
20:39
cotto_work NotFound: does that have a measurable impact on startup?
NotFound cotto_work: probably not, but it will help the search for real stack usage problems. 20:40
See the message in parrot-dev about -Wstack-usage=500 20:41
cotto_work ok 20:42
Eclesia ouch ... making an instanceof test on a null value raise a Null PMC access in isa_pmc() ? 20:56
NotFound Eclesia: most usages of null do. 20:57
Eclesia I would have think it would return false, but not raise an error. 20:58
dukeleto Eclesia: nope 21:00
cotto_work dukeleto: #ps?
dalek rrot-libgit2: c7cd472 | dukeleto++ | bin/header2nci.pl:
Actually generate the nci return type correctly. Input arguments don't work yet
rrot-libgit2: ebac310 | dukeleto++ | conf/ (4 files):
Add the necessary conf files to make header2nci.pl work
rrot-libgit2: 30761f6 | dukeleto++ | .gitignore:
Give .gitignore some love
rrot-libgit2: fa31f8b | dukeleto++ | conf/c_to_nci_mappings.yml:
Clean up our nci mapping yaml config file
rrot-libgit2: 0d26ece | dukeleto++ | / (2 files):
Get some semi-functioning method signatures
Eclesia question : I know parrot is not aiming at static types. but is there a way to say it ? like a .annotation or something like that ? 21:10
NotFound say "parrot is not aiming at static type" 21:12
;)
Eclesia rectify :"to express it in code" 21:14
NotFound: replace still not usable in winxed ? 21:18
replace on strings
NotFound Eclesia: I think I fixed the problems reported. 21:19
dalek rrot-libgit2: f749831 | dukeleto++ | / (2 files):
Add a hopefully temporary makefile to make generating the NCI interface file easier
21:22 perlite_ joined
Eclesia NotFound: you have an example ? seems he doesn't find replace : candidate = replace(candidate,"\\n","\\n"+TREE_BLANK); 21:22
dukeleto msg Coke can you update the parrot google calendar with the new time for #ps ? 21:24
aloha OK. I'll deliver the message.
NotFound Eclesia: the repalce builtin is just a wrap of the replace op, it does not work that way. 21:25
21:25 perlite left
cotto_work msg Coke The new time for #ps being 1930 UTC, one hour earlier than currently. 21:25
aloha OK. I'll deliver the message.
21:25 perlite_ is now known as perlite, bluescreen_ joined 21:26 bluescreen left, bluescreen_ left
bubaflub dukeleto: it looks like your generated .nci file has a few places with functions accepting 'v' - that indicates that some of the mapping types are missing (i believe) 21:27
dukeleto bubaflub: yeps 21:28
21:29 kid51 left
dalek rrot-libgit2: 52f58d5 | dukeleto++ | / (2 files):
Teach header2nci.pl about lots more libgit2 datatypes, which gets our generated nci file a lot closer to almost-working
21:29
dukeleto bubaflub: i have to deal with lots of structs, and I am giving them an NCI type of 'p', is that correct ? 21:30
21:30 ambs left
bubaflub dukeleto: yep 21:30
21:31 simcop2387_ joined, simcop2387 left, simcop2387_ is now known as simcop2387 21:32 rurban_ joined 21:33 rurban left 21:34 rurban_ is now known as rurban
bubaflub dukeleto: unless the type is just a pointer, in general you'll need a StructView to allocate the correct amount of memory for each struct 21:39
21:42 Psyche^ joined
Eclesia hourray, finally have something that looks like a debug tree for objects : nopaste.snit.ch/57771 :) 21:43
(just printing out all values recursivly) 21:44
dukeleto bubaflub: do you deal with any pure structs in your code?
21:44 awwaiid joined
dalek rrot: db05ff1 | chromatic++ | src/hash.c:
[hash] Added manual inlining to improve hash speed.

This improves the hash-heavy bench_newp.pasm benchmark by 1.18%.
21:46
rrot: e4ecfe7 | chromatic++ | src/gc/fixed_allocator.c:
[GC] Rearranged code to improve locality.

No functional changes. Probably little performance improvement.
rrot: fa72eaa | chromatic++ | src/gc/gc_ms2.c:
[GC] Added early bailout of blocked GC run.
rrot: 3666df8 | chromatic++ | src/gc/gc_gms.c:
[GC] Tidied code; no functional changes.
rrot: c96b816 | chromatic++ | src/gc/gc_gms.c:
[GC] Made an internal static function into a macro.

This function was used in two hot paths, so aggressive compiler inlining wouldn't work. Now it's a handful of extra instructions in right places. As a bonus, it avoids a couple of unnecessary function calls. The end result should be slightly faster allocation code.
21:46 jsut joined
rrot: d789b5a | chromatic++ | src/gc/fixed_allocator.c:
[GC] Optimized stack-walking owned pointer finder.

Avoiding math instructions for an O(n) algorithm helps greatly, but stack walking is still expensive. This improves the gc_waves_sizeable_headers.pasm benchmark by 0.8%, which indicates this function costs about half of what it did previously.
bubaflub dukeleto: yep, gmpz_t
21:47 Patterner left, Psyche^ is now known as Patterner
cotto_work <3 21:47
chromatic++ 21:48
bubaflub dukeleto: see GMP/Common.winxed
21:50 Eclesia left 21:51 jsut_ left
bubaflub chromatic++ 21:53
tcurtis ~~ 22:04
22:09 darbelo left
cotto_work hio tcurtis 22:10
tcurtis hello, cotto_work. 22:13
soh_cah_toa error:imcc:syntax error ... somewhere in file '(file unknown)' line 173737544 22:16
wow. imcc really, really, really sucks
it reports a different line # every time w/o changing a single thing in the source
lucian soh_cah_toa: I KNOW. I HATE IT 22:17
cotto_work hate party! imcc is invited!
soh_cah_toa lucian: oh yeah. bit time >:|
22:17 darbelo joined
soh_cah_toa "syntax error somewhere"? come on! 22:18
lucian I KNOW
soh_cah_toa i'm surprised there isn't more of an initiative to fix imcc. i mean, everybody hates it for at least a handful of reasons and yet it sits and continues to inflict pain 22:21
tcurtis It seems like there are only a handful of people willing to touch its code. 22:22
soh_cah_toa or know how, at least :(
lucian i think almost everyone wants to just get rid of it 22:23
cotto_work It doesn't help that most people also have something more interesting to work on. Choosing imcc when the choice is between M0/mole and imcc is hard. 22:24
lucian nods 22:25
soh_cah_toa yes
lucian it's just that everything else is much too sane
soh_cah_toa i imagine imcc as this giant thorn in the side of a parrot (us) and everyone's like "ouch, take it out! the pain!" but then someone else shouts "are you crazy!? don't touch that or we'll bleed to death!" 22:27
if we all could be mashed together into the shape of a parrot ;) 22:28
awwaiid step 1: get code (check). Step 2: make/test (check - pass!). Step 3: .... profit? 22:36
22:39 plobsing joined 22:40 lichtkind joined 22:41 darbelo left 22:48 mtk left
benabik Fixing IMCC is non-trivial. Ripping out IMCC involves much refactoring so that it's not intertwined with Parrot's core. Whiteknight++ has done much work towards this fact. 22:53
23:06 lucian left 23:28 dmalcolm left, kid51 joined
ttbot Parrot d789b5a0 MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/28873 23:39
kid51 msg chromatic github.com/parrot/parrot/commit/d7...873cab8c53 breaks build on Win32 23:47
aloha OK. I'll deliver the message.
kid51 does laundry
23:47 kid51 left 23:57 Coke left, Coke joined