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, close tickets.
Set by moderator on 15 June 2010.
whiteknight I'm not aware that C89 requires foo(void), but I might be wrong 00:24
zibri function(void) is a function taking 0 arguments. function() is a function, where nothing is said about number of arguments 00:25
whiteknight it may just be a thing with headerizer being obnoxious about how it parses
zibri: ah yes, that's what I'm trying to remember
K&R C: served it's purpose, now needs to go away
Chandon This all makes me jealous of anyone who can say "supported compilers: GCC 4.0 or later". 00:32
cotto_work not us
that's who
purl That's *WRONG!*
cotto_work purl's wrong 00:33
Chandon So what happens to Parrot_floatval_time when FLOATVAL is smaller than 64 bit? 00:38
According to the back of this envelope, reality explodes and/or timing is accurate to worse than one second. 00:39
00:54 mikehh__ joined
nopaste "GeJ" at 192.168.1.3 pasted "[PATCH] fix `make codetest` trailing spaces errors" (43 lines) at nopaste.snit.ch/21278 00:56
GeJ A little patch from your friendly neighborhood code police. 01:02
01:05 chromatic joined
GeJ hello chromatic 01:08
chromatic evening 01:14
sorear hello chromatic 01:27
What became of the Perl 6 Minutes Blog?
We're starting to miss it in #perl6 :(
Coke GeJ: thanks, applied 01:30
chromatic I fell behind. I can put up a few tonight and tomorrow. 01:31
sorear Thank you; I would like that. 01:35
chromatic Give me 10 minutes and I'll get the first one up.
Coke chromatic: how's the book? (mp) 01:36
chromatic Editing the object chapter right now. 01:38
It says "You *could* do this, but just use Moose already!" a lot.
Right now I'm writing a section on how SUPER:: is broken.
dalek rrot: r47651 | coke++ | trunk/t/steps/gen/opengl-01.t:
Remove trailing whitespace, courtesy Gej
sorear just use Moose already. Heh. 01:39
I think we have a conflict of interest somewhere... 01:40
chromatic I can't document Perl 5 OO honestly without discussing where it's broken or at least dangerous.
sorear Why are you documenting Perl 5 OO?
Oh 01:41
MP
Oops
Thought you were talking about the perl 6 book stupidly
01:42 kid51 joined
chromatic use.perl.org/~chromatic/journal/40400 May 12 P6 minutes 01:47
01:55 joshadam joined
Coke msg mikehh - I todo'd all the failing tests in partcl, so any new failures should mean something. 01:57
purl Message for mikehh stored.
dalek rtcl-nqp: 2dde0c2 | Coke++ | t/cmd_ (4 files):
TODO all the newly failing tests.
01:58 plobsing joined
GeJ Coke: thanks 02:09
sorear chromatic++ 02:10
02:11 patspam joined, joshadam left
plobsing 'svn praise t/pmc/key.t' mumbles something about a binary file. what's going on? 02:19
kid51 plobsing: That's a legacy from errors in our conversion from CVS to Subversion in the long, distant past of 6 years ago. 02:23
IIRC, 'svn praise --force' might work.
Yes, it will work. 02:24
plobsing kid51++ # svn praise --no-i-really-mean-it
kid51 That has snagged me several times. coke showed us that trick 02:25
02:41 janus joined 02:44 LoganLK joined
mikehh opbots, names 03:05
03:41 JimmyZ joined
cotto parrot.org seems to be down. Hopefully that means that the osuosl guys are setting up the dev site. 03:45
03:45 mikehh_ joined
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34428), fulltest) at r47651 - Ubuntu 10.04 amd64 (gcc) 03:48
opbots, names
cotto and it's back 03:50
tractest.parrot.org isn't living up to its name 03:53
mikehh Coke: ping 03:57
plobsing cover? 04:01
purl cover is tapir2.ro.vutbr.cz/cover/cover-results/
plobsing coverage?
purl i guess coverage is cv.perl6.cz
plobsing consistency? 04:02
purl consistency is a problem. or highly overrated or the hobgoblin of small minds or (see FOOLISH consistency)
cotto foolish consistency? 04:03
purl i think foolish consistency is the hobgoblin of little minds adored by little statesmen and philosophers and divines. With consistency a great soul has simply nothing to do. (Emerson)
cotto wise consistency? 04:05
plobsing given purl's take on consistency in general, did you really expect that one to exist? 04:09
cotto no 04:10
It's a trip seeing a movie from 1924 on Netflix and realizing that most of the people who worked on the movie couldn't have imagined the watching a streaming version of it on xbox. 04:15
plobsing I had the same sensation when I heard of project gutenberg 04:21
cotto interesting times, these 04:23
cotto is curious how lilypond can have a 142 MB docs package 04:40
chromatic XML with music notation. 04:50
plobsing woah. subs can be overloaded with classes previously in the same compilation unit and things might actually work out. 05:04
s/previously/previously defined/ 05:05
05:11 snarkyboojum joined
dalek rrot: r47652 | tcurtis++ | branches/gsoc_past_optimization/docs/pct/pattern/past_pattern_node.pod:
Added docs for PAST::Pattern::Node subclasses.
06:02
rrot: r47653 | khairul++ | branches/gsoc_instrument/src/dynpmc/instrument.pmc:
use opsenum instead of raw op numbers
06:18
rrot: r47654 | plobsing++ | branches/dynop_mapping/compilers/imcc (3 files):
store active HLL for subs in stead of rellying on interp to carry it around for us
06:18 uniejo joined
bacek_at_work plobsing, I think "in stead" spelt "instead". 06:28
plobsing I thought stead was a full fledged word. eg: "to do something in someone's stead" 06:32
cotto sure. It's just not as commonly used in modern English. 06:48
06:51 uniejo joined
Tene is reminded of hyperboleandahalf.blogspot.com/2010...thing.html 06:51
cotto I love you, alot. 06:53
plobsing funny thing is I often read that as allot and get really confused. 06:59
07:09 mj41_ joined 07:10 fperrad joined
cotto PIRATE? 07:15
purl PIRATE is a career that is washed up these days...and raping and pillaging just doesn't have a good reputation these days.... or www.eff.org/IP/DRM/piratead/CEA_ad.png or www.wired.com/politics/security/mag...li_pirates or PIR parser (and compiler) implemented in NQP github.com/bacek/pir
cotto pirate?
purl pirate is a career that is washed up these days...and raping and pillaging just doesn't have a good reputation these days.... or www.eff.org/IP/DRM/piratead/CEA_ad.png or www.wired.com/politics/security/mag...li_pirates or PIR parser (and compiler) implemented in NQP github.com/bacek/pir
cotto PiRaTe?
purl i guess PiRaTe is a career that is washed up these days...and raping and pillaging just doesn't have a good reputation these days.... or www.eff.org/IP/DRM/piratead/CEA_ad.png or www.wired.com/politics/security/mag...li_pirates or PIR parser (and compiler) implemented in NQP github.com/bacek/pir
plobsing case sensitivity? 07:16
purl case sensitivity is a pain where you've got NT, MacOS, and unix
07:17 fperrad_ joined 07:19 FullMetalHarlot joined 08:35 lucian joined 09:15 kjeldahl joined 09:41 gbacon joined
bacek aloha, humans 10:08
Tene No humans; just us bots. 10:09
bacek that's good 10:17
world domination is just around the corner
moritz peeks around the corner 10:21
Tene Aw man, corner-bot gets all the best jobs. 10:26
11:36 TiMBuS joined 11:39 whiteknight joined 11:42 Coke joined
whiteknight good morning, #parrot 11:58
12:03 bluescreen joined 12:42 lucian joined 12:44 clinton joined 12:47 tetragon joined 12:53 jan joined 12:54 ambs joined 13:18 atrodo joined 13:20 JimmyZ joined 13:23 JimmyZ joined, jsut_ joined 13:33 gbacon joined 13:47 ambs_ joined
dalek tracwiki: v12 | coke++ | TracSpammers 14:00
tracwiki: trac.parrot.org/parrot/wiki/TracSpa...ction=diff
14:13 plobsing joined 14:20 kjeldahl joined 14:25 ash_ joined 14:29 bubaflub joined
nopaste "bacek" at 192.168.1.3 pasted "Welcome to the future! (Well, almost...)" (23 lines) at nopaste.snit.ch/21301 14:37
ambs heh... that's my IP 14:39
dalek r: 08bf4eb | bacek++ | (4 files):
Start generating POST tree instead of PAST
14:42
r: 75ddac8 | bacek++ | (2 files):
Add POST::Register
r: e7c65a1 | bacek++ | (3 files):
Add POST::Constant
r: e2b2e3f | bacek++ | pir.pir:
Load POST in parrot HLL
r: 089c74f | bacek++ | src/POST/Constant.pm:
Use multi methods for accessors
r: e4cb28e | bacek++ | src/PIR/Actions.pm:
Emit POST::Constant for strings
r: 71e2846 | bacek++ | (3 files):
Augment POST::Compiler.
r: 06c6563 | bacek++ | src/POST/Compiler.pm:
Prototype emitting of PBC from POST.
r: 220cd2a | bacek++ | pir.pir:
Add bunch of helper functions.
r: f08688e | bacek++ | src/PIR/Compiler.pm:
Invoke POST::Compiler to generate PBC file.
r: e4877df | bacek++ | src/PIR/Actions.pm:
Quick hack to remember main sub name.
14:59 ambs_ joined
whiteknight bacek++ Nice! 15:08
15:12 ash_ joined 15:13 wizard joined
wizard hi all 15:13
JimmyZ Hello wizard 15:14
wizard I have a quick question about pir I hope somebody can help me with it
I create new instance with new 'Test' and I think parrot call init method for this class but how can I send parameters to this constructor? 15:15
bubaflub wizard: can you nopaste the code you currently have? 15:19
wizard my code is pretty messed up :) 15:21
15:21 ambs joined
wizard but I already googled that I can pass only 1 argument to constructor as second parameter to new command 15:21
will try this
bubaflub wizard: take a look at t/compilers/imcc/syn/objects.t the test_initializer test 15:22
around line 132 for an example
NotFound wizard: if you pass an argument init_pmc is called instead of init
bubaflub hmmmm
never mind about my previous advice, that test doesn't have what you are looking for wizard
15:23 ambs_ joined
particle wizard: you can, for example, create a ResizablePMCArray pmc, stuff your arguments in there, then send that to init 15:24
(pseudocode) .local pmc args ; args = new ResizablePMCArray ; args[0] = 'arg1' ; args[1] = 2 ; $P0 = new Test, args 15:26
wizard thx for info about init_pmc
btw doc about classes is not enough to start doing something on parrot
ash_ svn.parrot.org/parrot/trunk/t/oo/objects.t has an example of what your trying to do i think 15:27
"$P0 = new 'classname', params" should work 15:28
bubaflub wizard: i'd recommend reading through Parrot Babysteps at coolnamehere.com/geekery/parrot/learn/ 15:29
ash_ its the "init_with_and_without_arg" function that has an example of what your trying to do, i believe
in the objects.t file
whiteknight wizard: yes, the docs are bad. What docs are you looking at, and what information do you wish they contained?
wizard ash_: tnx 15:30
ash_ whiteknight: none of the PIR Book examples have an example of this, so you know
whiteknight ash_: example of what, overloading init or init_pmc? 15:31
ash_ constructing objects is a pretty common thing, maybe we should add an example to chapter 7 of the PIR Book
whiteknight okay. We can definitely do that
ash_ both? I'd say init, a lot of people want to pass parameters to objects they are constructing at times
whiteknight yeah
let me start drafting something right now 15:32
15:32 shockwave joined
shockwave paste 15:32
purl paste
purl 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
15:33 integral joined
nopaste "shockwave" at 192.168.1.3 pasted "IMCC error?" (4 lines) at nopaste.snit.ch/21303 15:33
ash_ whiteknight: moritz++ has a great example of perl6's object creation perlgeek.de/blog-en/perl-6/object-c...ation.html would something like that be useful for parrot? I think it might be useful because it could help explain inheritance too, although I am not sure if parrot's object creation system is as complicated as perl6's 15:34
shockwave I think IMCC is treading all numbers unsigned.
NotFound shockwave: 2 - -44 ?
shockwave Yeah. Maybe it is I who don't know math. Let me think about that for a minute. 15:35
ash_ shockwave: its okay, i am convinced i don't know english, i am just good at pretending i do 15:36
shockwave NotFound, yeah, I suck. I even drew a number-line before, but I still got it wrong. Yes. It should be 46
That makes me feel better.
Thanks
wizard I completely break something in my script :) 15:38
shockwave ash_, I see you're right :). You forgot the period at the end of your sentence. You suck, too!
wizard it looks like new Test, <some hash> trying to set hash keys into object attributes 15:39
dalek rrot: r47655 | NotFound++ | trunk/include/parrot (2 files):
[cage] drop trailing commas in enums
wizard instead of just pass in to constructor
ash_ whiteknight: if you want any help with an example for the PIR book let me know, i can try to come up with something 15:40
NotFound wizard: yes, args are passed to class initialization before calling init_pmc. That makes difficult to use it in pir classes
15:43 theory joined, shockwave left
whiteknight ash_: I'll commit a draft here in a minute, you can let me know how it is, and make any changes you want 15:43
15:45 PacoLinux joined
ash_ do parrot object's call parent constructors during object creation? 15:47
whiteknight ash_: r47656. It's not much, but it is a start 15:48
(so much of this book needs so much attention)
wizard is I understand right that I can't override new method of class ? 15:51
ash_ whiteknight: do parrot objects call parent constructors? or is there an equivalent of perl 6's BUILD
wizard: you can
wizard but it doesn't execute 15:52
for me
whiteknight ash_: no, doesn't call the parent constructors as far as I understand
I need to double-check the code, but I don't think so
ash_ wizard: how did you declare the method? 15:53
wizard .sub 'new' :method
ash_ .sub 'init' :vtable :method
is the method called when you do "$P0 = new 'Foo'" 15:54
if you have parameters you need to do:
.sub 'init_pmc' :vtable :method followed by your params (the .param pmc args stuff)
dalek rrot: r47656 | whiteknight++ | trunk/docs/book/pir/ch07_objects.pod:
[book] Add an example of using init and init_pmc vtables to override default behavior.
15:55
wizard I'm testing instantiating classes with <class>.'new'()
wizard init_pmc will not work for me cause it set attributes from hash which I pass there
<class>.'new'() seems like creating new instance but it call init instead of new 15:56
so I guess overloading new method is not working :)
moritz unless your class is based on p6meta 15:57
ash_ did you do .namespace ['Classname'] somewhere before defining the method?
wizard sure
what is p6meta?
moritz the meta class that nqp-rx and PCT use
NotFound init_pmc is almost unusable in pure pir classes, because instantiate in class is used before, and it only allows a hash with attribute values. 16:01
wizard not only Hash I guess but any object with get_pmc_keyed_str and maybe with something else 16:06
so probably we can create object which looks like empty hash but which can hold some data for init_pmc :) 16:07
NotFound wizard: not a bad idea. 16:08
wizard ok I did it :) 16:30
pastebin.com/qyfnGyBU
I just subclass ResizablePMCArray and return 0 in get_iter so it looks like empty Hash but I still can get data from it with indexes in init_pmc 16:31
dukeleto 'ello 16:32
NotFound wizard: nice trick 16:38
whiteknight that is a clever trick, but definitely not the kind of solution we want to rely on
NotFound No, but I like to see creative ideas. 16:39
whiteknight maybe the class.instantiate vtable's hash should have a "payload" argument which is passed to init_pmc
ash_ is this the reason p6meta was made? Just curious 16:48
whiteknight ash_: I'm sure it's part of the reason
NotFound Maybe the reverse also plays: as long as rakudo has its own way to constructors, there was little pressure to create a pure pir way. 16:50
whiteknight this is true. But it's probably still worth a ticket
ash_ if its flexible enough to let you make custom metaclasses then its obviously doing something right 16:52
NotFound ash_: I suppose is perfectly right, but I'd like to have a simple way to use constructor without metclasses, metaobjects, prototypes, whatever. 16:57
ash_ ya, i completely understand, it would be nice to be able to do that with pir's base stuff 16:58
dalek rrot: r47657 | coke++ | branches/html_cleanup:
work on fixing bugs and refactoring 'make html'
17:02
whiteknight fperrad: ping
17:03 gbacon joined
whiteknight purl msg fperrad does the lwp library support HTTP auth? 17:03
purl Message for fperrad stored.
fperrad pong whiteknight 17:04
whiteknight fperrad: I just sent you an msg. Does the lwp library you wrote support HTTP auth? 17:05
fperrad with an HTTP proxy ? 17:06
whiteknight I don't know. I don't think I need a proxy 17:08
I'm thinking about writing a PIR wrapper library for the github API. They say to use HTTP auth: develop.github.com/p/general.html
ash_ anyone here know how to intall gcc4.5 on ubuntu? 17:11
(besides building it from scratch, i am trying to avoid that) 17:12
fperrad whiteknight, that looks like HTTP header, 17:13
I'll do some tests
whiteknight fperrad: thanks!
dalek rrot: r47658 | coke++ | branches/html_cleanup (4 files):
Remove unused "--delete" option to tools/docs/write_docs.pl, we have 'make html-clean'

  - also, don't refer to the script in the docs, just the make target.
17:18
nopaste "fperrad" at 192.168.1.3 pasted "whiteknight, it's OK" (18 lines) at nopaste.snit.ch/21306 17:22
whiteknight fperrad++ # Thanks! 17:23
ash_ is there a way to see where an exception was thrown from? 17:25
if its thrown from c? 17:26
NotFound ash_: no 17:34
dalek rrot: r47659 | coke++ | branches/html_cleanup/lib/Parrot/Docs/HTMLPage.pm:
Update copyright notice in generated HTML docs.
17:35
whiteknight NotFound: that might be something we could add. If We changed Parrot_ex_throw_from_c_args into a macro that passes __FILE__ and __LINE__ to a helper function, that should be ok 17:37
NotFound whiteknight: I find easier to insert an abort in the handling code and look at the core dump. 17:38
ash_ NotFound: how do you make a core dump? 17:39
NotFound ash_: abort do it
ash_ just the abort opcode? 17:40
NotFound ash_: no, in the parrot C code that handles exceptions.
17:43 theory joined
NotFound We used to have the hcf dynop to do that, but it caused more problems than it solved. 17:44
particle we ran out of fire extinguishers 17:45
atrodo hcf++ # The world needs more of this opcode 17:47
whiteknight no! the world needs less! 17:48
segfaulting should never happen, even on request
cotto_work It's got plenty already.
but you can start an hcf-dynop project on github if you really want to 17:49
atrodo I disagree. The world would be far more entertaining with hcf. Only thing would be better is if all of C was replaced with bf
ash_ no, whitespace then no normal humans can read it at all 17:50
atrodo Okay, I'll put whitespace #3 on my list
NotFound I have a plan to implement an ABSTAIN opcode based on Intercal.
ash_ {space} {space} {tab} {newline} .... </end sarcasm>
dalek rrot: r47660 | NotFound++ | trunk/t/pmc/stringiterator.t:
more StringIterator tests
17:51
rrot: r47661 | khairul++ | branches/gsoc_instrument (3 files):
Handle exit opcodes and unhandled exceptions so that instruments can be finalized.
ash_ so, whats the best way to track down an assertion error? 17:52
i am not what i would call an expert with valgrind but i guess now's a good time to learn
darbelo NotFound: PLEASE ABSTAIN :)
NotFound darbelo: PLEASE is the next plan. Will be a great day when we have a "Programmer is not polite" error. 17:53
ash_: for me, ulimit -c unlimited ; whatever that fails ; gdb ./parrot core 18:01
atrodo Can anyone tell me what I'm doing wrong with this code segment? gist.github.com/441044 18:03
18:07 Chandon joined
NotFound atrodo: probably a gc problem. You should register your local objects or setup a stack mark 18:10
atrodo NotFound> Documentation on doing that?
18:11 bluescreen joined
cotto_work Parrot_pmc_gc_register 18:11
NotFound atrodo: Parrot_init_stacktop in src/embed.c
And what cotto_work said 18:12
whiteknight I would do Parrot_pmc_gc_register. Relying on stackwalking is ugly
it *should* work, but it is ugly 18:13
NotFound However parrot do it all the time
18:13 wagle joined
whiteknight right, and Parrot has some very ugly parts 18:14
cotto_work Just because Parrot does it doesn't mean it's a good idea. 18:15
the opposite is almost true ;)
NotFound I agree in theory. But entering functions that don't use the PARROT_CALLIN_START from the embedder code without setting the stacktop risk GC problems at any step. 18:17
whiteknight NotFound: so maybe more functions need PARROT_CALLIN_START
18:17 Andy joined
NotFound whiteknight: I used to believe that, but parrot is a moving target and its extend/embed interface even more. 18:18
whiteknight NotFound: the embed/extend interface has also never had a whole lot of pressure in the past 18:19
we have seem to have several projects working on it, so it's time for us to clean it up
NotFound whiteknight: and will never do, as long as people ignore it and use whatever internals they want.
whiteknight NotFound: not true. Eventually we're going to cut a lot of stuff out, and not export functions from our shared lib 18:21
NotFound whiteknight: eventually is a big word. 18:22
cotto_work Eventually sounds a lot like "in a few minutes".
NotFound FSV of few 18:23
whiteknight JUST GIVE ME A FEW MINUTES DAMNIT
yeah, I guess "eventually" does make it sound a little more imminent 18:24
cotto_work If nothing else, "eventually" translates accurately to "when it annoys someone enough to do something about it". 18:25
NotFound PLEASE ABSTAIN OF ANNOYING 18:27
cotto_work OK THANKS FOR ASKING NICELY
NotFound Intercal solves anything
whiteknight ...except for all those problems with intercal 18:29
NotFound Talking about annoying... I just discovered that NCI stopped mapping null STRING to C NULL. 18:30
I agree that NCI was not perfect, but at least it worked sometimes. 18:31
atrodo Just since I missed it, depending on people embedding parrot to use PARROT_CALLIN_START is not a good idea. That means they must use C or hack the macro to work in their language 18:33
NotFound atrodo: people embedding parrot use it automatically, as long as all functions in the extend/embed interface use it, as it look it was the plan at some point in the past. 18:34
atrodo Yep, Parrot_register_pmc solved my issue. Parrot_gc_register_pmc isn't apart of the embed/extend interface 18:36
NotFound++ cotto_work++ # Thanks, all is happy 18:40
So, I'm curious how the stack walker works, or where I can read up on how it works
Does it actually walk the stack, or is it depended on PARROT_CALLING_START? 18:41
NotFound atrodo: last time I looked it just looks for parrot objects between the current stack stop when the gc is called and the assigned stack init. PARROT_CALLING_START just sets that stack init if isn't already set. 18:43
atrodo Okay, makes sense 18:44
ash_ CONST_STRING_GEN is there an alternative to that? 18:49
NotFound ash_: CONST_STRING_GEN is an implementation detail of CONST_STRING, not intended for direct usage. 18:50
18:51 Coke joined
ash_ just trying to figure out an error 18:52
Parrot_UnManagedStruct_get_isa uses it (its generated code from a pmc) 18:53
NotFound ash_: if you have a problem with that, most probably is an interpreter initialization problem. 18:54
ash_ its happening during the initialization 18:55
19:11 hercynium joined
ash_ ugh, i haven't made any progress on this stupid bug since monday, i think i am going to take a break from it 19:18
whiteknight ash_: What bug? 19:39
purl bug is me being lazy
whiteknight purl forget bug
purl whiteknight: I forgot bug
whiteknight purl bug is bug? BUG? There are no bugs, the software is PERFECT! 19:40
purl OK, whiteknight.
whiteknight bug
bug?
purl i heard bug was bug? BUG? There are no bugs, the software is PERFECT!
whiteknight purl forget bug
purl whiteknight: I forgot bug
whiteknight purl bug is <reply>bug? BUG? There are no bugs, the software is PERFECT!
purl OK, whiteknight.
whiteknight bug
bug?
purl bug? BUG? There are no bugs, the software is PERFECT!
whiteknight better 19:41
19:42 patspam joined
ash_ well, it started i found that in interp_misc.c it was making NCI objects but not setting a signature, which is a problem, since I need a signature to figure out the libffi calls to make 19:42
so i added one there, but now i get hash errors
NotFound ash_: probably the problem is that creating a signature from some method builds a unmanagedstruct, and does it before unmanagedstruct is intialized. 19:45
Maybe we should add one more pass to pmc initialization. 19:46
cotto_work I was toying with the idea of going to single-pass PMC initialization. 19:47
NotFound cotto_work: I want a pony 19:48
ash_ what if i went on ahead and made it so register_raw_nci_method_in_ns doesn't use an NCI object?
NotFound A blue unicorn will be nice, also.
cotto_work Single-pass PMC initialization should be workable as long as a couple core PMCs get hard-coded to be initialized first.
After that, the rest can be initialized in a single pass *and* and be initialized lazily. 19:49
particle bug?
purl bug? BUG? There are no bugs, the software is PREFECT!
particle that's better :) 19:50
NotFound I heard some time ago: "There are no bugs, just recurrent incidences"
ash_ is there a reason to use NCI objects internally for calling pmc METHODs? 19:52
NotFound ash_: pmc METHODS are native code, so that way has some logic. 19:54
ash_ True, but for internal use it seems like there might be a way of doing it with out having to rely on the NCI pmc, but maybe the current way is the right way of doing it 19:56
i think i am just frustrated
NotFound ash_: relax, that happens to anyone that works on that parts of parrot. 19:57
cotto_work I remember hearing an explanation from allison that made sense at the time. I have no idea what it was though.
whiteknight ash_: First step is to take a look at the generated C code of PMC methods, to make sure that they all have the same signature 19:58
ash_ they do
void Parrot_pmcname_nci_methodname(INTERP, PMC* self);
or vJP
NotFound ash_: you can insert an abort at the start of the ofending function a look at the calling stack. 20:00
TimToady phone
NotFound ash_: just modify the generated .c without touching the .pmc and compile.
whiteknight ash_: Are your changes that cause this bug checked in? I could fire up GDB tonight and see what I can find 20:01
NotFound The problem may come from Parrot_mmd_add_multi_list_from_c_args, not just from register_raw_nci_method_in_ns 20:02
ash_ github.com/ashgti/parrot are in there
whiteknight ash_: Okay. I'm going home now but I will try to look at it tonight 20:03
ash_ NotFound: gist.github.com/441181 is the stack frame when it dies
20:04 Psyche^ joined
mikehh nees to re-boot - bbl 20:13
20:19 sorear joined 20:21 jrtayloriv joined 20:22 theory joined 20:23 mikehh joined
ash_ so, i just noticed something 20:27
its failing during the initialization phase but only on PMC's that inhert from something
anything that is a pmc extends 20:28
NotFound Yes, those that don't inherit just leave the isa hash null. 20:29
ash_ so is it an order thing? 20:30
NotFound Don't know, looks strange. The CONST_STRING should have been corrupted somewhere. 20:31
ash_ CONST_STRING_GEN is returning a NULL pointer 20:46
0x0
NotFound That should never happen 20:55
ash_ i modified one of the generated Parrot_pmcname_get_isa() to print the pointer of the string its making and i get 0x0 20:57
20:58 sorear joined
cotto_work Are you using CONST_STRING_GEN outside of Parrot internals? It definitely shouldn't be returning NULL 20:58
ash_ i am not using it manually 20:59
it was generated by pmc2c
20:59 whiteknight joined, ambs joined
sorear Why does slavorg still trust me 21:00
I came in from an entirely different hostmask
whiteknight sorear: you just have a trustworthy look 21:01
cotto_work It's name-based.
We're just that secure.
ash_ so... i just went in and replaced CONST_STRING_GEN with Parrot_str_new_constant in a few of the generated .c files that were from pmc's and now its not dying were it was before 21:04
when does the interp->const_cstring_table get filled in? 21:10
wow, thats weird, i just realized how const_cstring_table works 21:13
so, there are parts of the table that are lazily initialized 21:14
dalek kudo: c9ee2eb | pmichaud++ | docs/release_guide.pod:
June release is now "Kiev", July release is "Atlanta".
21:17
ash_ whiteknight: if you have any luck with things let me know 21:24
you'll need the libffi headers
or pkg-config
(with libffi headers)
brb gotta drop my girlfriend off at school 21:25
22:07 wizard_ joined
mikehh whiteknight: ping 22:13
22:24 tcurtis joined 22:25 lucian_ joined 22:28 ewilhelm joined
dalek rrot: r47662 | NotFound++ | trunk/t/pmc/sockaddr.t:
test Sockaddr clone
22:31
nopaste "mikehh" at 192.168.1.3 pasted "t/examples/pod.t failure introduced in r47856" (13 lines) at nopaste.snit.ch/21315 22:35
mikehh t/examples/pod.t - Failed test: 393 - see nopaste.snit.ch/21315 22:40
all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#34440), fulltest) at r47661 - Ubuntu 10.04 i386 (g++)
t/op/exit.t - TODO passed: 6 in testf
dalek rrot: r47663 | NotFound++ | trunk/t/pmc/schedulermessage.t:
cover mark in SchedulerMessage tests
22:47
mikehh dammit that nopaste should be r47656 22:51
nopaste "mikehh" at 192.168.1.3 pasted "t/examples/pod.t failure introduced in r47656 - correction to nopaste.snit.ch/21315" (13 lines) at nopaste.snit.ch/21316 22:53
dalek rrot: r47664 | tcurtis++ | branches/gsoc_past_optimization/docs/pct/pattern/past_pattern_closure.pod:
Add docs for PAST::Pattern::Closure.
23:04
rrot: r47665 | tcurtis++ | branches/gsoc_past_optimization/docs/pct/pattern/past_pattern_constant.pod:
Added docs for PAST::Pattern::Constant.
23:09 Chandon joined 23:19 tetragon joined
dalek rrot: r47666 | mikehh++ | trunk/t/pmc/sockaddr.t:
fix copyright statement
23:20
23:21 janus joined 23:23 contingencyplan joined
tcurtis moritz: ping 23:46
23:47 lucian joined
mikehh rakudo (c9ee2eb) builds on parrot r47666 - make test PASS, spectest_smolder -> #34441 (pugs r31302) FAIL - Ubuntu 10.04 i386 (g++ with --optimize) 23:54