|
Parrot 2.8.0 released | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | smoke GC-related branches and attack GC tickets Set by moderator on 1 October 2010. |
|||
|
00:02
Andy left
|
|||
| cotto | ~~ | 00:17 | |
|
00:26
bluescreen joined
00:32
hercynium joined
00:53
aloha left,
aloha joined
01:03
Andy joined,
davidfetter left
01:16
whiteknight left
02:06
kid51 left
02:35
janus left
02:48
janus joined
|
|||
| GeJ | sounds awfully quiet today. | 03:25 | |
| aloha: clock? | |||
| aloha | GeJ: GeJ: LAX: Wed, 20:24 PDT / CHI: Wed, 22:24 CDT / NYC: Wed, 23:24 EDT / UTC: Thu, 03:24 UTC / LON: Thu, 04:24 BST / BER: Thu, 05:24 CEST / TOK: Thu, 12:24 JST / SYD: Thu, 14:24 EST | ||
| GeJ: I give up. | |||
| plobsing | I wish aloha would actually give up. purl was better. | ||
| cotto | bacek, ping | 03:26 | |
| bacek, unping | 03:47 | ||
|
03:50
jsut_ joined
03:55
jsut left
04:07
Andy left
04:08
theory joined
|
|||
| plobsing | cotto: is there any documentation on how khairul's instrument code worked? | 04:16 | |
| I don't understand why it holds on to the information it does. Hauling around and keeping synchronized a separate copy of op_mapping seems wrong. | 04:17 | ||
| dukeleto | plobsing: he wrote something about it in his proposal | ||
| cotto | sure. Let me dig it up. | 04:19 | |
| parrot.mangkok.com/?page_id=140 | |||
|
04:20
aloha left
04:22
theory left
|
|||
| plobsing | cotto: thanks | 04:23 | |
|
04:31
aloha joined
|
|||
| bacek_at_work | ok | 04:32 | |
| I moved aloha to physical box. | |||
| Bloody VMs aren't reliable at all. | |||
| aloha, clock? | |||
| aloha | bacek_at_work: bacek_at_work: LAX: Wed, 21:32 PDT / CHI: Wed, 23:32 CDT / NYC: Thu, 00:32 EDT / UTC: Thu, 04:32 UTC / LON: Thu, 05:32 BST / BER: Thu, 06:32 CEST / TOK: Thu, 13:32 JST / SYD: Thu, 15:32 EST | ||
| bacek_at_work: I give up. | |||
|
04:34
theory joined
04:56
davidfetter joined
|
|||
| cotto | bacek_at_work, do you have a minute? I have a (likely) profiling runcore bug that's manifesting itself as a gc assert failure and debugging it is turning out to be tricky. | 04:59 | |
| a reliable way to trigger it is to run /parrot -Rprofiling parrot-nqp.pbc --target=pir --output=compilers/opsc/gen/Ops/Trans/C.pir compilers/opsc/src/Ops/Trans/C.pm | 05:00 | ||
| bacek_at_work | cotto, in trunk? | 05:22 | |
| cotto | yes | 05:23 | |
| bacek_at_work | I'll try to check it tonight. After loosing "_at_work" suffix. | 05:25 | |
| cotto | If your robot programming superpowers find see the bug that's great, but I'd also appreciate tips for debugging it. | 05:26 | |
| sure. thanks | |||
|
05:38
luben_work joined
|
|||
| bacek_at_work | cotto, 32bit or 64bits? | 05:53 | |
| cotto, AddrRegistery got corrupted. There is some crap inside hash | 05:55 | ||
| cotto | bacek_at_work, 23-bit | 06:02 | |
| er, 32 | |||
| bacek_at_work | yeah. I just reproduced it. | 06:03 | |
| AddrRegistery. Hash inside it. | |||
| heh | 06:06 | ||
| no | |||
| cotto | no? | ||
| bacek_at_work | src/runcore/profiling.c:328 | 06:07 | |
| Parrot_pmc_gc_register(interp, (PMC *) runcore->profile_filename); | |||
| runcore->profile_filename is STRING* | |||
| kaboom | |||
| cotto | When I looked at the code, it appeared that the gc didn't care. I guess ms2 does. | ||
| plobsing | is there an interface to register strings? should there be? | 06:08 | |
| bacek_at_work | plobsing, I think we do need one. | 06:09 | |
| cotto | I'd hope so. If I don't do anything, the string gets collected. | ||
| bacek_at_work | cotto, in this case just create String PMC | ||
| plobsing | cotto: your immediate work around could be to box the string. | ||
| cotto | How do they get marked in a non-explodey fashion of no interface exists? | ||
|
06:10
theory left
|
|||
| cotto | I'll try that. | 06:10 | |
| bacek_at_work | in theory... | ||
| cotto | How much work would it be to add an interface for strings? | 06:13 | |
| bacek_at_work | easiest way - switch current interface to PObj. | 06:14 | |
| hmm. may be no | |||
| But basically it's just add few methods to AddrRegistery | |||
| cotto | That seems to fix it, though I wouldn't call the code pretty. bacek++ | 06:22 | |
| cstring->STRING->pmc all over the place, and no Parrot_pmc_new_init_str in sight. | 06:23 | ||
|
06:23
contingencyplan left
|
|||
| cotto | bacek_at_work, the fix would be to add get_string_keyed and set_string_keyed to AddrRegistry and add code to the gc for a public-facing interface, or would it be more involved than that? | 06:25 | |
| plobsing | you'd need to implement a custom mark. gc doesn't like being told about PMCs that are really STRINGs. | 06:27 | |
| cotto | I just learned that. | ||
| plobsing | possibly other custom hashy stuff. maybe just a distinct PObj hash key type | 06:28 | |
|
06:28
ash_ left
|
|||
| cotto | We have strings now. Why aren't they getting collected? | 06:28 | |
| plobsing | cotto: we have few embedders. | ||
| cotto | sigh | ||
| bacek_at_work | cotto, it's unlikely that more stuff will be involved. | ||
| plobsing | few if any people are putting STRINGs in heap-allocated aggregates | 06:29 | |
| cotto | I'll do that then. That seems like a strange oversight. | 06:31 | |
| Will AddrRegistry need a separate hash for STRING pointers to live in? | 06:36 | ||
| bacek_at_work | cotto, yes | 06:37 | |
| cotto | will everything in the hash get marked automagically or does the gc need to know about it explicitly? | 06:39 | |
| Clearly I have holes in my understanding of the interaction between this pmc and the gc. I'll have to dig around a bit. | 06:41 | ||
| plobsing | src/gc/mark_sweep.c:217 | ||
| gc relies on gc_registry object to mark itself | 06:42 | ||
| cotto | The convenient inheritance of AddrRegistry from Hash kinda breaks down when I want to add another hash. | ||
| looks like hashes know how to mark strings. | 06:45 | ||
| I see. STRING marking works fine. STRING registring isn't implemented. | 06:46 | ||
|
07:10
fperrad joined
07:57
tadzik joined
08:19
simon_ joined
|
|||
| cotto | anyone care for a patch review? | 08:20 | |
| simon_ | curious: are most lexical analysers for parrot languages written in Perl 6? | 08:21 | |
| nopaste | "cotto" at 192.168.1.3 pasted "add Parrot_str_gc_register et al" (311 lines) at nopaste.snit.ch/24074 | ||
| cotto | simon_, nqp-rx rather than full perl 6, but that's the recommended tool | 08:22 | |
| winxed rolls its own though | |||
| fwiw, that solves problem with the profiling runcore and successfully keeps the string from being collected | 08:24 | ||
| simon_ | haha, NQP is an excellent name. thanks. :) | ||
| cotto | If you want to learn the language, the tests are a good way to get started. | 08:28 | |
|
08:28
tadzik left
|
|||
| bacek | cotto, why did you keep AddrRegistery is-a Hash? From my point of view it's better to switch it to has-a Hash. | 08:33 | |
| cotto | no specific reason other than it seemed like slightly less work at the time | 08:34 | |
| I mostly wanted to see if it'd fix my problem. | |||
| bacek | fair enough. | 08:35 | |
| cotto | has-a makes more sense | ||
| bacek | I think you can just drop "extend Hash" and add "ATTR pmc_hash" | 08:36 | |
| cotto | yes | 08:37 | |
| turns out it's less effort than I thought it'd be | 08:38 | ||
| nopaste | "cotto" at 192.168.1.3 pasted "add Parrot_str_gc_register et al, v2" (346 lines) at nopaste.snit.ch/24075 | ||
|
08:40
bluescreen left
|
|||
| plobsing | cotto: does this mean we've shaved enough yaks to make nqp-rx faster yet? | 08:41 | |
| cotto | there's a bit more hair left, but this will allow the nqp-rx build to be profiled | 08:42 | |
| I'll call it done when Parrot and nqp-rx's builds work with profiling as the default runcore. | 08:43 | ||
| Crud. A gc test expects AddrRegistry to implement get_iter. | 08:45 | ||
| I wonder if that's needed. t/op/gc.t is the only file with failing tests. | |||
| svn-- | 09:01 | ||
| Skipping binary file: 't/op/gc.t' | |||
| svn-- | 09:02 | ||
| the inanity infects trac too | |||
| bacek | karma svn | 09:03 | |
| aloha | svn has karma of -7. | ||
| bacek | aloha, clock? | ||
| aloha | bacek: bacek: LAX: Thu, 02:03 PDT / CHI: Thu, 04:03 CDT / NYC: Thu, 05:03 EDT / UTC: Thu, 09:03 UTC / LON: Thu, 10:03 BST / BER: Thu, 11:03 CEST / TOK: Thu, 18:03 JST / SYD: Thu, 20:03 EST | ||
| bacek: Dunno. | |||
| cotto | with purl, we had it down to a much more appropriate level | 09:04 | |
| bacek | -70 :) | 09:05 | |
| cotto | the AddrRegistry stringification test smells unnecessary | 09:07 | |
| Let's see how Rakudo fares. | 09:08 | ||
|
09:16
allison joined
09:17
fperrad left
09:29
fperrad joined
|
|||
| simon_ | does Parrot not have a common standard library? | 09:34 | |
| plobsing | simon_: parrot comes with some libraries. they are standard as far as parrot is standard ;-) | 09:38 | |
|
09:40
tadzik joined
|
|||
| simon_ | sure :) I was putting emphasis on common rather than standard, hehe. | 09:44 | |
| plobsing | it kinda gets spread out in the installed tree, but is nice and collected under runtime/ in the build tree | ||
|
09:58
bacek left
10:13
he_ joined
10:34
ruoso left
10:37
bacek joined
11:07
ellefu left
11:13
he_ left,
ellefu joined
11:17
Tracks joined
|
|||
| janus | \\/win 3 | 11:30 | |
|
11:36
tadzik left
11:40
jsut joined
11:44
jsut_ left
12:31
ruoso joined
12:58
jsut left,
fperrad left
13:20
Patterner left
13:30
Psyche^ joined,
Psyche^ is now known as Patterner
13:47
bkuhn joined
13:54
davidfetter left
13:57
M_o_C joined
14:08
theory joined
14:21
theory left
14:24
jsut joined
15:19
contingencyplan joined,
nwellnhof joined
15:38
ruoso left
15:51
ruoso joined
16:14
tadzik joined
16:27
s1n joined
16:32
ruoso left
16:35
ash_ joined
16:40
luben_work left
16:42
bkuhn left
16:47
theory joined
16:49
nwellnhof left
17:03
davidfetter joined
|
|||
| dukeleto | davidfetter: how goes it? | 17:08 | |
| davidfetter | dukeleto, i'm getting a mite frantic. i need to deliver something that will be public-facing the monday after next | 17:09 | |
| oh, and this coming tuesday, i need a new story about pl/parrot :P | |||
| dukeleto, how's by you? | 17:10 | ||
| dukeleto | davidfetter: new story for what? | ||
| davidfetter | sfpug | ||
| dukeleto | davidfetter: i am going to write a blog post about using Perl 6 grammars from PL/Parrot | ||
| davidfetter | i'm supposed to be presenting then | ||
| dukeleto | davidfetter: i keep writing it in my head but it hasn't escaped yet | ||
| davidfetter | let it out! | 17:11 | |
| dukeleto | RELEASE THE PARROTS! | 17:12 | |
| davidfetter | release roderick! | 17:17 | |
|
17:50
tadzik left
18:00
allison left
18:09
theory left
18:12
mikehh left
18:35
jan left
18:45
jan joined
|
|||
| cotto | ~~ | 18:49 | |
| dukeleto | cotto: 'ello | 18:51 | |
|
18:58
mikehh joined
|
|||
| cotto | dukeleto, h' | 19:00 | |
| dukeleto | cotto: what's cookin' ? | 19:01 | |
| cotto | bacek++ helped me find my bug. The profiling runcore is about to get much more useful. | 19:06 | |
|
19:08
bacek left
|
|||
| cotto | is partcl expected to build with trunk? | 19:10 | |
| cotto suspects not | |||
|
19:12
jsut_ joined
|
|||
| ash_ | in the gdb | 19:14 | |
| is there an easy way to print the type of a PMC? | |||
| or some way to tell what the PMC is | 19:15 | ||
| PerlJam | ash_: there's a typeof operator of some sort. I forget what it's called precisely. | 19:17 | |
| ash_ | lol, or even more crazy, say i have an arbitrary pointer, but i am pretty sure its a P register of some sort, anyone know how i can tell if it contains the right value in C? | ||
| PerlJam | (maybe "typeof" or "type" or something) | ||
| cotto | pmc->vtable->whoami->strstart | ||
| ash_ | i am in the gdb, so its a bit low | ||
| a, thanks | |||
| ah* | |||
| cotto | iirc | ||
|
19:18
jsut left
|
|||
| ash_ | yay, it didn't print gibberish: $27 = 0x10015253e "PackfileConstantTable" | 19:18 | |
| well, i found 2 bugs in my code that are related to why the packfileconstanttable tests are failing | |||
| but its still giving me segfaults :-( | |||
| (gdb) bt | 19:19 | ||
| #0 0x0000000101506170 in ?? () | |||
| #1 0x00000001012aef5c in ffi_call_unix64 () | |||
| #2 0x000000010150d070 in ?? () | |||
| doesn't help | |||
| dukeleto | ash_: you need a build with debug symbols | 19:22 | |
| ash_: looks like you might need libffi with debug symbols to get a useful backtrace | |||
| ash_ | i have debug symbols | 19:23 | |
| dukeleto | Pacific Northwest Parrot Developers Gathering/Hackathon : calagator.org/events/1250459325 | ||
| ash_ | but libffi drops into asm and does magic jumping | ||
| dukeleto | ash_: ah, the fun of debugging asm | ||
| ash_: what are the nature of the bugs that you found? | 19:24 | ||
| ash_ | once you go into a libffi call it's going to mess up the stack trace until you finish the call | ||
| dukeleto | ash_: why do the packfile tests trigger the bug? | 19:25 | |
| ash_ | one was an offset wasn't correct for a specific NCI signature, the other was me being dumb and not having a break at the end of a switch statement, and it corrected part of the problem, but now the ffi call happens and i get a segfault | ||
| i haven't fully identified why it was only packfile, but i do know it was generating the NCI signatures wrong for 2 methods, one in PackfileConstantTable and 1 in PackfileAnnotations, but it even built and ran rakudo fine with this bug... | 19:26 | ||
| dukeleto | ash_: it is very possible that rakudo doesn't trigger those code paths | 19:27 | |
| ash_ | ya | 19:28 | |
| dalek | rrot: r49468 | mikehh++ | trunk/src/runcore/profiling.c: fix codetest failure - trailing whitespace |
19:31 | |
| dukeleto | ash_: are you only getting core dumps on some platforms, or all? | 19:38 | |
| ash_ | segfaults are happening on OS X, i haven't tried linux yet, if i can't figure it out i may try using ubuntu since it has a different version of gdb and freinds | ||
|
19:38
theory joined
|
|||
| dukeleto | ash_: will getting some smoke reports help you? | 19:39 | |
| ash_ | umm, not yet, if i get it fixed on OS X a smoke report would be good to make sure its working elsewhere | 19:43 | |
| okay, so its mangling the 2nd parameter on calls to "get_or_create_constant" that are dispatched via: Parrot_mmd_multi_dispatch_from_c_args | 19:46 | ||
| dukeleto | ash_: interesting. You might have tickled a bug in parrot that no one else has run into | 19:49 | |
|
19:49
AzureStone left
|
|||
| ash_ | i am looking to see where the param gets mangled, it might be something i did | 19:50 | |
| within the nci changes | |||
|
19:50
tcurtis joined
19:52
AzureStone joined
19:53
bacek joined
|
|||
| ash_ | is there anything you need to do to get gcc to not optimize at all? | 19:53 | |
| doing perl Configure.pl seems to have enabled some optimizations | |||
| but in the gdb i keep getting: <value temporarily unavailable, due to optimizations> | 19:54 | ||
| which is annoying when your trying to debug | |||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#492) fulltest) at r49468 - Kubuntu 10.10 RC amd64 (g++-4.5) | 19:56 | |
| plobsing | perl Configure.pl --debug maybe? | ||
| mikehh | perl Configure.pl takes its args from the perl build | 19:57 | |
|
19:57
M_o_C left
|
|||
| mikehh | so if perl was built with -o2 -g it gets passed to parrot | 19:57 | |
| plobsing | by default of course. there are ways to override it. worst case, use --ccflags='' | 19:58 | |
| ash_ | i did: --optimize="-g -o0" | ||
|
19:58
M_o_C joined,
theory left
|
|||
| ash_ | err -O not -o | 19:58 | |
| mikehh | likewise :-} | 19:59 | |
|
19:59
frodwith left
20:00
frodwith joined
|
|||
| plobsing | ash_: check the generated makefile. what flags are being passed to cc? | 20:00 | |
| GeJ | Bonjour everyone. | 20:04 | |
| davidfetter | bonjour GeJ | 20:05 | |
| cotto | hio GeJ | 20:06 | |
| GeJ | heya davidfetter, cotto. | 20:11 | |
|
20:11
perlite left,
perlite joined
20:20
ash_ left
20:28
M_o_C left
20:33
bacek left
20:34
bacek joined
20:40
ruoso joined
21:00
tcurtis left
21:02
tcurtis joined
21:09
PerlJam left
21:18
shockwave joined
|
|||
| shockwave | Hello boys and girls. | 21:18 | |
| I'm in the process of embedding Parrot, and I'm running into a little issue. | |||
| Basically, Parrot_pbc_read() always fails for me. I can run the PBC file using ./parrot.exe, but the function above always returns false. | 21:19 | ||
| I'm on Windows 7. | |||
| I'm compiling my project using Visual Studio 2010. | 21:20 | ||
| I'm compiling Parrot with mingwin | |||
| strawberry Perl. | |||
| Does anyone have an idea of where/what I should be looking at to resolve this problem? | 21:21 | ||
| bacek | aloha, humans | 21:23 | |
|
21:23
davidfetter is now known as humans
|
|||
| humans | aloha bacek | 21:24 | |
|
21:24
sjn_ left,
humans is now known as davidfetter
|
|||
| bacek | :) | 21:24 | |
| cotto | aloha, bacek | ||
| bacek | cotto, hio. How is your bug in profiling runcore? | ||
| cotto | just need to get a test passing before I commit the fix | 21:25 | |
| plobsing | shockwave: does it print anything before it returns NULL? looking at the function, it should be. | ||
| shockwave | @plobsing: This is for a GUI app, so it wouldn't print anything. | 21:26 | |
| 3D game, to be exact. | 21:27 | ||
| plobsing | you can replace the standard handles to something meaningful | ||
| like a stringbuffer that then populates an error popup | |||
| or an error console of some kind | 21:28 | ||
| shockwave | @plobsing: Ok, let me go lookup how to do that. brb | ||
| cotto | either that or remove the test | ||
| plobsing | but for debugging, the information I *need* is which error message you are getting (because there's between 5 and 10 different possible scenarios) | 21:29 | |
| cotto is strongly tempted to not implement get_iter for AddrRegistry | 21:30 | ||
| shockwave | @plobsing: If I understood you correctly, I need to change the stdoutput/stderror handles to something like a stringbuffer, right? I have no idea how to do that, so I'm looking on docs.parrot.org for any info on it. | ||
| plobsing | shockwave: so you *can't* run this at the command line? it would be much easier for the moment (although I understand that isn't an interface you would want to ship) | 21:31 | |
| shockwave | oh, gotcha. Let me see if I can actually do that. | 21:32 | |
| @plobsing: It did run from the command line, but didn't print anything. | 21:33 | ||
| Let me show you the code that I'm using | |||
| plobsing | and it returned NULL? | ||
| shockwave | mPackFile = Parrot_pbc_read(mInterp, path.c_str(), debug); | 21:34 | |
| if (!mPackFile) { return false; } | |||
| yeah, it's returning null. | |||
| and debug is 0 | |||
| mInterp is a handle initialized by Parrot_new(NULL); | |||
| purl paste | 21:35 | ||
| plobsing | ENOPURL | 21:36 | |
| nopaste | "shockwave" at 192.168.1.3 pasted "Code for loading PBC" (33 lines) at nopaste.snit.ch/24090 | ||
| shockwave | That's the simple class I'm using to load the PBC | ||
| dukeleto backlogs | 21:38 | ||
| shockwave | Like I mentioned before, libparrot is built using the strawberry tools. | ||
| plobsing | but this is c++. isn't strawberry strictly gcc? | 21:39 | |
| shockwave | I'm not sure if that's causing some incompatibility with the MSVC built stuff. | ||
|
21:39
mj41_ joined
|
|||
| shockwave | yes | 21:39 | |
| But, *I* am not using strawberry. | |||
| plobsing | shockwave: probably, this is a problem. | ||
| shockwave | I'm only using it to built libparrot. | 21:40 | |
| plobsing | I'm not sure if msvc and gcc use the same abi by default or if they can be made to do so at all. | ||
| shockwave | I don't mind at all building Parrot with Visual Studio, but I just can't find any docs on how to do it. | ||
| plobsing | But I do know that parrot's header files will be tuned for the particular compiler with which parrot is being compiled. | ||
| shockwave | I'm sure the docs are around, somewhere. I just cant find them. | 21:41 | |
| plobsing | I seem to recall breaking one of our smoke builds which was running msvc. So *somebody* knows | ||
| you probably need to use activeperl to build it. | |||
| tcurtis | jnthn: ping | ||
| plobsing | or some other msvc perl | 21:42 | |
|
21:42
mj41 left,
mj41_ is now known as mj41
|
|||
| dukeleto | shockwave: you might want to look at how PL/Parrot reads PBC | 21:42 | |
| tcurtis | jnthn: shockwave is wanting to know how to build Parrot with Visual Studio. IIRC, you built the R * MSI one month using MSVC, right? | 21:43 | |
| shockwave | dukeleto: PL? | ||
|
21:43
tcurtis left
|
|||
| dukeleto | shockwave: pl.parrot.org | 21:44 | |
| shockwave: PL/Parrot just calls Parrot_load_bytecode | |||
| jnthn | shockwave: Using the Visual Studio Command Pro,mpt + ActivePerl, it just works out the box for me. | 21:45 | |
| (e.g. the usual Configure.pl / nmake) | |||
| shockwave | jnthn: Cool, I'll give it a try. | ||
|
21:46
ruoso left
|
|||
| shockwave | dukeleto: I think the issue I'm having has to do with the different ABIs of MSVC and GCC, which I'm mixing, like plobsing mentioned. | 21:46 | |
| I'll use ActivePerl. brb | 21:47 | ||
| bacek | aloha, nopaste is is nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl) | 21:57 | |
| aloha | bacek: Okay. | ||
| bacek | aloha, paste is see nopaste | ||
| aloha | bacek: Okay. | ||
| bacek | aloha, paste? | ||
| aloha | bacek: paste is see nopaste | ||
| bacek | aloha, nopaste? | ||
| aloha | bacek: nopaste is is nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl) | ||
| jnthn | shockwave: Don't cross the beams^Wcompilers! | ||
| cotto | bacek, do you think the addr_registry_2_str test in t/pmc/addrregistry.t is necessary? It looks like it'd be a pain to implement with two hashes. | 21:58 | |
| shockwave | jnthn: Good advice. | ||
| I see you wrote: ... mpt + ActivePerl ... | |||
| What's mpt? | |||
| jnthn | drunk typing | 21:59 | |
| Prompt | |||
| :-) | |||
| shockwave | :) | ||
| cotto | that sounds a lot worse than duck typing | ||
| bacek | cotto, I don't have such test in t/pmc/addrregistery... | 22:00 | |
| cotto | t/op/gc.t | 22:01 | |
| my mistak | |||
| e | |||
| bacek | cotto, it's useless test. Because it tests String PMC not STRING. | 22:03 | |
| cotto | I was hoping you'd say that. | ||
| bacek | anyway, $dayjob time | ||
| see you | |||
| cotto | have "fun" | ||
|
22:10
shockwave left
|
|||
| dalek | rrot: r49469 | cotto++ | trunk/t/op/gc.t: [t] remove a useless test that interferes with the next commit |
22:10 | |
| rrot: r49470 | cotto++ | trunk/src/pmc/addrregistry.pmc: [pmc] make AddrRegistry able to hold and mark both STRINGs and PMCs |
|||
| rrot: r49471 | cotto++ | trunk (2 files): [gc] add internal functions for string registering and unregistering |
|||
| rrot: r49472 | cotto++ | trunk (2 files): [extend] add functions for string registering and unregistering for embedded users |
|||
|
22:13
theory joined
22:17
shockwave joined
22:23
preflex left
|
|||
| dalek | rrot: r49473 | cotto++ | trunk/src/runcore/profiling.c: [profiling] use the new string registering interface to keep the filename from being prematurely collected |
22:26 | |
|
22:27
preflex joined
|
|||
| shockwave | :( | 22:33 | |
| I built Parrot using ActiveState, but still Parrot_pbc_read() always returns false. | 22:34 | ||
| Also, if that function is print error messages, they won't be seen. | |||
| bacek_at_work | ~~ | 22:35 | |
| shockwave | I added print lines to stderr, and ran the program from the command line. Since it's a gui program, the cmdline doesnt print anything. | ||
| plobsing had mentioned something about redirecting the output. I wonder if he meant by using some Parrot function, or if he meant the pipe redirection? | 22:36 | ||
| cotto | parrot builds and installs with the profiling runcore as the default | 22:44 | |
| bacek_at_work | cotto++ # Hooray! | 22:45 | |
| cotto | now for nqp-rx | 22:48 | |
| dukeleto | shockwave: have you tried Parrot_load_bytecode ? | 22:50 | |
|
22:51
s1n left
|
|||
| shockwave | dukeleto: I haven't, but read the description of it here: docs.parrot.org/parrot/latest/html/...d.pod.html | 22:52 | |
| "Due to the void return type, the behavior of this function on error is unclear." | |||
| I think it would probably make sense for the core of Parrot not to print stuff to stdout/stderr. | 22:58 | ||
|
22:58
davidfetter left
|
|||
| shockwave | The assumption that stderr/stdio are available can be untrue, in some cases. Like, in Windows GUI programming. | 22:59 | |
| I'm looking at Parrot_io_eprintf | |||
| That function is used by Parrot_pbc_read() to print errors. | |||
| Is there a function to set _PIO_STDERR(interp) to be a file? | 23:01 | ||
| dukeleto | shockwave: the parrot embed interface hasn't been used by many people, and lots of the docs are wrong. | ||
| shockwave: read the code to be sure | |||
| shockwave: and/or please provide doc patches :) | 23:03 | ||
| shockwave: i think i remember running into this problem with PL/Parrot, which is why I used Parrot_load_bytecode | |||
| cotto | nqp-rx's build works | 23:05 | |
| shockwave | dukeleto: I'll give Parrot_load_bytecode a try. | 23:06 | |
|
23:14
mikehh_ joined
23:15
mikehh left
|
|||
| shockwave | ok, the docs are wrong. What is the Function to invoke a sub? The docs say Parrot_ext_call | 23:16 | |
| dukeleto | shockwave: yes | 23:17 | |
| shockwave: PL/Parrot uses Parrot_ext_call | 23:18 | ||
| shockwave: github.com/leto/plparrot/blob/maste...rot.c#L488 | |||
| shockwave: what were the docs wrong about? | 23:19 | ||
| shockwave | dukeleto: Apparently, it's in the extend.h header | ||
| It looks like extend.h and embed.h should be merged. | |||
| dukeleto | shockwave: you usually need extend.h, embed.h and sometimes extend_vtable.h | 23:20 | |
|
23:24
mikehh_ is now known as mikehh
|
|||
| mikehh | opbots, names | 23:24 | |
| nopaste | "shockwave" at 192.168.1.3 pasted "Parrot_load_bytecode" (19 lines) at nopaste.snit.ch/24093 | 23:26 | |
| shockwave | What I pasted above is even worst. It crashes somewhere there. | 23:27 | |
| And, since in my project that thing is in a different DLL, I can't debug it. | |||
| It is so frustrating that something so basic doesn't work. | |||
|
23:29
jsut joined
|
|||
| dalek | rrot: r49474 | mikehh++ | trunk/src/string/api.c: fix codetest failure - trailing whitespace |
23:29 | |
| rrot: r49475 | mikehh++ | trunk/t/op/gc.t: change plan to reflect removed sub-test |
|||
|
23:34
jsut_ left
|
|||
| cotto | mikehh++ | 23:37 | |
|
23:40
whiteknight joined
|
|||
| hatseflats | anyone know why parrot installs files in /usr/src? | 23:47 | |
| dukeleto | hatseflats: which OS/platform are you on? parrot doesn't do that for me | 23:48 | |
| hatseflats: which version of parrot are you using? release or from svn? | |||
| hatseflats | dukeleto: parrot 2.7.0 dist, on gentoo | 23:49 | |
| already asked in #gentoo on freenode, no one has replied so far :) | |||
| dukeleto | hatseflats: in any case, if you do perl Configure.pl --prefix=/foo, you can control where it installs | 23:50 | |
| hatseflats | dukeleto: portage abstracts that procedure, so I figure it's an issue I have to discuss over in their channels, thanks for the help anyway :) | ||
|
23:51
shockwave left
|
|||
| dukeleto | hatseflats: indeed. are you using a gentoo distribution of parrot? do you have a link for it? | 23:51 | |
| msg shockwave i am not sure many people have used the parrot embed api directly from windows, and i don't think Parrot_ns_find_current_namespace_global is returning a valid sub, which will make Parrot_ext_call blow up | 23:53 | ||
| aloha | OK. I'll deliver the message. | ||
| hatseflats | dukeleto: gentoo-portage.com/dev-lang/parrot | ||
| which gets it's sources from parrot.org | |||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#493) fulltest) at r49475 - Kubuntu 10.10 RC amd64 (gcc-4.5) | ||
| hatseflats | funny, looking at the ebuild file, it doesn't seem to install to /usr/src, but the tools indicate the directory in /usr/src is owned by parrot's package | 23:54 | |
| dukeleto | hatseflats: who wrote the ebuild for parrot? | 23:58 | |
| hatseflats: the ebuild package doesn't seem to be in the parrot source code | |||
| hatseflats | ebuilds are gentoo specific, hardly any packages provide them because they're constantly updated etc, I don't know what subproject parrot belongs, finding out will require some polling in the gentoo channels | 23:59 | |