|
Parrot 3.2.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Parrot is accepted for GSoC 2011! Student application deadline is Apr 8 | Goals: Get more GSoC ideas on wiki; close tickets; stable 3.2 release; assess status of roadmap goals for 3/15 meeting. Set by moderator on 18 March 2011. |
|||
| whiteknight | plobsing: I added a debugging statement to the PtrObj destroy function for packfiles coming out of IMCC. When I add that GC_unblock statement in that conditional, three PackFile PtrObj pmcs are destroyed before the segfault | 00:02 | |
| plobsing | so then the PtrObj objects aren't being correctly marked by whatever is holding them? | 00:03 | |
| if you want a workaround, you could gc register the PtrObj PackFiles. that would somewhat defeat the point of keeping them in GCables however. | |||
| whiteknight | I think I fixed it | 00:05 | |
| I pass the new PtrObj pmc as the third argument to PackFile_fixup_subs | |||
| that way it gets marked when Subs get marked | |||
|
00:06
bacek left
|
|||
| plobsing | the subs reference the bytecode using struct pointers still? yeah, that would be a problem. | 00:08 | |
|
00:09
lucian left
|
|||
| whiteknight | ...no, that doesnt seem to fix it | 00:09 | |
| just looked that way for a second | |||
| plobsing | you could mark the object when the bytecode segments get marked. | 00:10 | |
| *the interp's bytecode segments | |||
| it means we still leak bytecode, but if I'm not mistaken, that isn't the primary objective of this branch | |||
|
00:11
lucian joined
|
|||
| whiteknight | not the primary objective, no | 00:11 | |
| certainly in my sights | |||
| hmm...weird. I gc_register the packfile PMC as soon as I create it, and I never unregister it. the build gets past the PGE, but segfaults in TGE build now | 00:14 | ||
| plobsing | do the PtrObj PMCs get collected somehow? | 00:16 | |
| whiteknight | no. I added a custom destroy function with debugging info in it, and the PtrObj doesn't get destroyed now | ||
| it was getting destroyed before registering it | |||
| what's weird is that in the TGE build, it segfaults in exactly the same place in PCC | 00:18 | ||
| I don't know if that's a coincidence or something more sinister | 00:19 | ||
| this issue is bigger because I suspect it's not specific to my branch, it's only getting exposed here | 00:29 | ||
|
00:32
nwellnhof left
|
|||
| dukeleto | ~~ | 00:33 | |
|
00:34
Coke left,
Coke joined
00:47
jsut_ joined
00:48
bacek joined
|
|||
| whiteknight | blahblahblah | 00:50 | |
| IMCC is the devil | |||
| plobsing | deja vu? | 00:51 | |
| dukeleto | whiteknight: shall I sacrifice a virgin yak to the IMCC elder gods for you? | 00:52 | |
|
00:52
jsut left
|
|||
| dukeleto mumbles "release the yaks" in latin | 00:52 | ||
| whiteknight | okay, here's something I don't understand | 01:00 | |
| I added in debug statements to gc_block_mark and gc_unblock_mark | 01:01 | ||
| these statements print out the current gc block level | |||
| with/without the extra gc_unblock statement in Parrot_load_bytecode, the counts are the same | |||
|
01:07
dmalcolm left
|
|||
| dukeleto | whiteknight: funky | 01:09 | |
| whiteknight: is something being optimized away in certain situations? | |||
| whiteknight: are you compiling with optimization? | |||
| whiteknight | no, I was looking at the wrong sequence. The counts are different | 01:10 | |
| in the branch, without that gc block, the counts go up and GC never turns back on | 01:11 | ||
|
01:13
cotto joined
|
|||
| whiteknight | and now I put a debugging statement in Parrot_gc_mark_and_sweep, and it never appears to be getting called | 01:15 | |
| I moved it , and now it is getting called | 01:17 | ||
| okay, the PackFile PMCs are definitely getting marked and are not getting collected. That's a good sign | 01:20 | ||
|
01:25
hercynium joined
01:26
hercynium left
|
|||
| dukeleto | whiteknight: nice blog post about the PL/Parrot gsoc idea | 01:29 | |
| whiteknight | thanks | ||
| dukeleto | whiteknight: the project will be mostly C, but a little bit of PIR, Perl 6 and SQL will be needed too | 01:30 | |
| whiteknight: we might want to tell the students that | |||
| whiteknight | okay | 01:31 | |
| dukeleto | whiteknight: the Perl 6 might not be required, if the glue code that loads PL/Perl6 doesn't need to be changed | ||
| whiteknight: but it should be a tiny change if one is needed | |||
| whiteknight: 95% C and 5% other would be my estimate | 01:32 | ||
| whiteknight | yeah, that's what I was thinking | ||
| dukeleto | whiteknight: i really like your blog infrastructure | ||
| whiteknight: have you written something up about it? | |||
| whiteknight | it's the bog-standard github pages feature | 01:33 | |
| dukeleto | whiteknight: i don't blog frequently and I blame it on hating all blog frameworks | ||
| whiteknight: bog-standard! | |||
| whiteknight | dukeleto: It's just a git repo. I write files, commit, push | ||
| github does the rest | |||
| dukeleto | whiteknight: do you write them in Markdown? | ||
|
01:33
lucian left
|
|||
| dukeleto | whiteknight: what is the input format for the blog posts? | 01:33 | |
| whiteknight | yeah, I use markdown. I tried textile for a while, but didnt like the format | 01:34 | |
| github supports a bunch of formats. I think they even support POD if anybody wanted to blog with that | 01:35 | ||
| plobsing: the raw_sig PMC which is causing the segfault is a constant PMC. So it should be getting marked with the PackFile, right? | 01:39 | ||
| plobsing | that's the args FIA right? yeah, that should get marked with the packfile, and with the interps segments | 01:40 | |
| whiteknight | yeah, that's the FIA | 01:42 | |
| the PackFile* structure is being marked | 01:43 | ||
| this is ... weird | 01:44 | ||
| constant segments are getting marked | 01:45 | ||
| the TGE build that is segfaulting now only runs 1 GC mark/sweep | 01:46 | ||
| it runs GC right before the invoke which causes the segfault | |||
| this is a very very interesting bug | 01:52 | ||
| I think I need sleep | 01:55 | ||
| goodnight | 01:56 | ||
|
01:56
whiteknight left
02:04
contingencyplan left
02:38
ShaneC1 left,
ShaneC1 joined
|
|||
| dalek | TT #2069 created by ekvkezbzz3++: The internet Method of keeping a person Knowledgeable regarding Deals | 02:43 | |
| TT #2069: trac.parrot.org/parrot/ticket/2069 | |||
| Heuristic branch merge: pushed 47 commits to nqp by jnthn | |||
|
02:44
ShaneC1 left
|
|||
| benabik | spammers-- | 02:45 | |
|
02:55
theory joined
03:06
Andy_ joined
|
|||
| dalek | TT #2070 created by ehqbqstmpgn8++: Accept The New Technology Of E-cigarette | 03:14 | |
| TT #2070: trac.parrot.org/parrot/ticket/2070 | |||
|
03:27
theory left
03:28
theory joined
|
|||
| dalek | rrot/jit_prototype: 778e759 | bacek++ | compilers/opsc/ (3 files): Add stub for JITter |
03:30 | |
| rrot/jit_prototype: 859188f | bacek++ | t/jit/proto.t: Add proto.t for prototyping. |
|||
| rrot/jit_prototype: e06d5f2 | bacek++ | compilers/opsc/opsc.pir: Include JIT into opsc. |
|||
| rrot/jit_prototype: f376e0a | bacek++ | compilers/opsc/src/Ops/JIT.pm: Load PBC in JIT.new |
|||
| rrot/jit_prototype: 4418be2 | bacek++ | compilers/opsc/src/Ops/JIT.pm: Minor style changes. |
|||
| rrot/jit_prototype: 9093704 | bacek++ | compilers/opsc/src/Ops/JIT.pm: Generate %!ops for lookup ops. Redispatch PAST::Op deeper inside. |
|||
| rrot/jit_prototype: c53341e | bacek++ | / (2 files): Load jitted_ops.bc as module with all precompiled stuff |
|||
| rrot/jit_prototype: 51c269f | bacek++ | compilers/opsc/src/Ops/JIT.pm: Add LLVM::Builder. We'll need it. |
|||
| rrot/jit_prototype: 3f3f651 | bacek++ | compilers/opsc/src/Ops/JIT.pm: Flesh out future JIT algorithm |
|||
| plobsing | ping bacek | 03:37 | |
| bacek | plobsing, pog | ||
| pong | 03:38 | ||
| plobsing | I have an idea of how JIT can work with dynops. | ||
| bacek | plobsing, go ahead. | 03:39 | |
| plobsing | JIT is basically a different runcore. Runcores which differ in mechanism (eg: fast vs cgp) are going to need to represent ops in different ways. This should be delegated to opsc in the creation of libraries | ||
| we don't want an N-wise explosion in size of ops libraries of course, so runcore (in the mechanism sense) should be compile-time selected. | 03:40 | ||
| s/compile/configure/ | 03:41 | ||
| bacek | it's runtime selected now | ||
| plobsing | yes, but those are only runcores in the not-really-a-different-type-of-runcore sense | ||
| bacek | afk # kids | ||
| plobsing | we don't really support runcores that differ in *interesting* ways right now | 03:42 | |
| we did, but we removed that along with the interesting runcores | |||
|
03:54
woosley left
04:02
woosley joined
04:06
woosley left
04:25
theory left
04:28
theory joined
04:41
particle left
04:43
lucian joined
04:45
redicaps joined
|
|||
| dalek | rrot: 23b323e | plobsing++ | / (2 files): HAS_INT64 => PARROT_HAS_INT64 and HAS_LONGLONG => PARROT_HAS_LONGLONG after config changes doing the same |
04:56 | |
| rrot: 1372111 | plobsing++ | src/pmc/key.pmc: support generating PBC containing PMC-register keys |
|||
| rrot: 4c9efee | plobsing++ | MANIFEST.generated: make ncidef2pir tool installable |
|||
| rrot: 79ae153 | plobsing++ | src/pmc/key.pmc: allow thawing of PMC-register keys |
|||
| rrot: 7df21a4 | plobsing++ | src/pmc/structview.pmc: implement serialization/deserialization for structview |
|||
| rrot: 475136c | plobsing++ | src/pmc/structview.pmc: implement array_offs and elt_offs methods on structview for array and element offset pointer arithmentic |
|||
| rrot: 818cc19 | plobsing++ | src/pmc/structview.pmc: reset key in keyed vtable preamble - fixes delegation issues in [gs]et_pmc_keyed |
|||
| cotto | ~~ | 05:02 | |
|
05:06
lucian left
05:12
theory left
05:18
theory joined
|
|||
| plobsing | aloha: msg NotFound since includes.pasm is the de facto mechanism for exposing constants in Parrot, would it be possible to get winxed to output such files for file-scope const variables? I'd like to be able to expose library constants, and this seems like the most efficient and most common approach. | 05:20 | |
| aloha | plobsing: OK. I'll deliver the message. | ||
|
05:58
particle joined
06:00
jsut joined
06:03
sykrex joined
06:05
jsut_ left
06:10
theory left
06:20
fperrad joined
06:25
fperrad_ joined
06:28
fperrad left,
fperrad_ is now known as fperrad
06:29
Andy__ joined,
Andy_ left,
sykrex left
06:46
bacek left
06:56
fperrad left,
fperrad_ joined,
fperrad_ is now known as fperrad
07:10
rurban left
07:11
rurban joined
07:24
fperrad_ joined
07:25
fperrad left,
fperrad_ is now known as fperrad
|
|||
| dalek | rrot: 878c837 | jonathan++ | src/pmc/sub.pmc: Auto-close did not work for more than a single frame deep. Discovered this bug when tracking down why static lexpad symbol handling didn't work out in NQP. |
08:18 | |
| p/ctmo: e04b77c | jonathan++ | src/metamodel/how/NQPClassHOW.pm: Make a comment reflect reality a little more. |
08:21 | ||
| p/ctmo: 4150953 | jonathan++ | build/PARROT_REVISION: Bump to latest Parrot to get fixes to make static lexpad bits work in non-trivial cases. |
|||
| p/ctmo: 47001b3 | jonathan++ | src/NQP/Actions.pm: Install $?CLASS as a lexical symbol, not package. Now consistent with roles and classes, and also with nqpclr. |
|||
|
08:32
redicaps left
08:37
woosley joined
08:46
Andy__ left
08:53
dodathome joined
08:56
cgaertner joined
09:37
contingencyplan joined
09:38
mj41 joined
09:58
cgaertner left
10:16
bacek joined
11:17
cgaertner joined
|
|||
| cgaertner | hi | 11:18 | |
| nopaste | "cgaertner" at 192.168.1.3 pasted "gobject interop proposal" (16 lines) at nopaste.snit.ch/38712 | ||
| cgaertner | ^ comments appreciated | ||
| moritz | cgaertner: sounds nice | 11:20 | |
| and worthwhile | |||
| don't forget: tests, tets, tests :-) | |||
| cgaertner | ;) | ||
| if that's something parrot wants, I'm going to take a closer look at Parrot/GObject to see if it's actually feasible | 11:22 | ||
| dalek | rrot/opsc_llvm: 4ac7226 | bacek++ | / (2 files): Function.first_basic_block and .last_basic_block |
11:24 | |
| rrot/jit_prototype: 6d03e93 | bacek++ | compilers/opsc/src/Ops/JIT.pm: Create jitted_sub |
11:27 | ||
| rrot/jit_prototype: a8ec0bc | bacek++ | runtime/parrot/library/LLVM.pm: Load LLVM_engine in LLVM.pm |
|||
| rrot/jit_prototype: d371c74 | bacek++ | t/compilers/opsc/20-jit.t: Proper test file |
|||
| rrot/jit_prototype: 4beb14b | bacek++ | compilers/opsc/src/Ops/JIT.pm: Move creating of jit_context into separate function to simplify testing. |
|||
| rrot/jit_prototype: 8932af7 | bacek++ | compilers/opsc/src/Ops/JIT.pm: Return self when needed. |
|||
| rrot/jit_prototype: 05ef4a8 | bacek++ | / (2 files): Move all LLVM initialization into _llvm_init |
|||
| rrot/jit_prototype: f4ac5af | bacek++ | t/jit/proto.t: Remove code migrated to Ops::JIT |
|||
| rrot/jit_prototype: 4ac7226 | bacek++ | / (2 files): Function.first_basic_block and .last_basic_block |
|||
| rrot/jit_prototype: 5ad0e00 | bacek++ | / (9 files): Merge branch 'opsc_llvm' into jit_prototype |
|||
|
11:29
Eduardow left
11:30
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 11:40 | |
| cgaertner | good morning, whiteknight | 11:41 | |
| whiteknight | hello cgaertner, how are you doing today? | 11:42 | |
| cgaertner | fine so far, but the weather is not as nice as it has been :( | 11:43 | |
| any comments on nopaste.snit.ch/38712 ? | 11:44 | ||
| whiteknight | that looks like a very good start | 11:46 | |
| cgaertner | as far as I can see, just exposing the vtables won't be enough to do anything useful, like call subs | 11:47 | |
| you need Parrot_ext_Call() for that, correct? | |||
| whiteknight | yeah. VTABLE_find_method is used to find method objects. Parrot_ext_call will be used to invoke them | 11:48 | |
| cgaertner | afk for a bit (~1/2 hour), but I have some more questions ;) | 11:49 | |
| whiteknight | ok. We'll be here | 11:50 | |
|
11:51
Psyche^ joined
11:53
Patterner left,
Psyche^ is now known as Patterner
|
|||
| dalek | rrot/jit_prototype: b84f770 | bacek++ | t/compilers/opsc/20-jit.t: Add test for BB creating. |
11:59 | |
| rrot/jit_prototype: ed2c889 | bacek++ | / (2 files): Implement generating of BasicBlocks for jitted Sub |
|||
| cgaertner | whiteknight: ping | 12:17 | |
| whiteknight | pong | ||
| cgaertner | it should be possible to seemlessly integrate gobject into parrot - there's prior art for that (pygobject) | 12:18 | |
| php will also probably get that capability | |||
| however, the other direction is not so simple | |||
| gobject methods are just C functions (ie must be known at compile-time), so that's out | 12:19 | ||
| but there's a signalling mechanism for event-drivent programming | |||
| ...which won't probably work because it expects a fixed signature (arity+types) | |||
| so the best one could do is probably expose an interface like Parrot_ext_call on a ParrotObject GObject | 12:20 | ||
| what I intend to do is create a base class which exposes all PMC vtable function (auto-generated from vtable.tnl) and then create subclasses for specific core PMCs, forming a proper API | 12:22 | ||
| eg you could habe a ParrotSub GObject class with an invoke() method as a wrapper over Parrot_ext_call() and a ParrotObject class as a wrapper over find_method() vtable + the subs incoke() | 12:23 | ||
| is that a sane approach? | |||
| that should have read "[...] a ParrotObject class with a call() method as a wrapper over the find_method() vtable function + the returned subs invoke()" | 12:28 | ||
| dalek | rrot/jit_prototype: 49e1ad5 | bacek++ | compilers/opsc/src/Ops/JIT.pm: Jump from "entry" block to first op. |
12:32 | |
| rrot/jit_prototype: 0f272d9 | bacek++ | compilers/opsc/src/Ops/JIT.pm: Fix starting of jit. Factor out _keep_going function. |
|||
| rrot/jit_prototype: 0f7940e | bacek++ | compilers/opsc/src/Ops/JIT.pm: Change _count_args to _opsize. |
|||
| rrot/jit_prototype: 6e4e308 | bacek++ | compilers/opsc/src/Ops/JIT.pm: Add more skeleton stubs for processing ops. |
|||
| rrot/jit_prototype: 15d07dd | bacek++ | compilers/opsc/src/Ops/JIT.pm: Add totally untested _jit_ops |
|||
|
12:34
jsut_ joined
|
|||
| cgaertner | on to the parrot side of things: | 12:35 | |
| how does a HLL implement its object system? | |||
| subclass the Class PMC from PIR? | |||
| from parrot's point of view, gobject will ideally just be another HLL | 12:36 | ||
| (except where it's not ;)) | 12:38 | ||
|
12:39
jsut left
|
|||
| whiteknight | a GObjectSub PMC type with a custom invoke would be a good idea | 12:44 | |
| that would encapsulate a call, and allow you to pass it around as an object to other libraries | |||
| cgaertner | whiteknight: that's the parrot side of things, corrct? I was talking about calling into Parrot from GObject before (sorry if that wasn't clear) | 12:52 | |
| whiteknight | yes, you could set up a small callback function to do that | 12:56 | |
| it would have fixed parameters, the GObjectSub PMC and maybe an interp. The GObjectSub could hold an array of other arguments | |||
|
12:58
ambs joined
|
|||
| dalek | rrot/jit_prototype: 474a43b | bacek++ | / (2 files): Finish creating of basic skeleton for JITted Sub |
13:08 | |
| TT #2071 created by yjdqgckirtmqt0++: Chatroulette: Key in to a Superficial World | 13:20 | ||
| TT #2071: trac.parrot.org/parrot/ticket/2071 | |||
|
13:22
kid51 joined
|
|||
| dalek | TT #1411 closed by jkeenan++: [BUG] configure problem on the arm architecture | 13:36 | |
| TT #1411: trac.parrot.org/parrot/ticket/1411 | |||
|
13:44
woosley left
|
|||
| whiteknight | cgaertner: are you on github? | 14:03 | |
|
14:07
rohit_nsit08 joined
|
|||
| rohit_nsit08 | hello everyone | 14:07 | |
| whiteknight: hi | |||
| dukeleto: hi | 14:08 | ||
| whiteknight | rohit_nsit08: good morning | ||
| rohit_nsit08: are you on github? | |||
| rohit_nsit08 | whiteknight: i made account some time back , i have it installed in my linux box | 14:09 | |
| whiteknight: shall i make it again? | |||
| whiteknight | rohit_nsit08: github is where parrot's code is, and it's a convenient place to start putting together a proposal | 14:10 | |
| rohit_nsit08 | whiteknight: i used git to clone parrot source code , i will now join it , just a few minutes, i was making my project proposal today , some details are missing will complete and mail u today for review , so that we can refine it further | 14:11 | |
| whiteknight | rohit_nsit08: you can create a "gist" on github, which is something that can be edited, and that we can make comments on | 14:12 | |
| rohit_nsit08 | whiteknight: i'm on it , ya that will be a better way , i'm familiar to bazaar , didn't used git for quite long time | 14:13 | |
| whiteknight: give me few minutes and i'll set up everything | 14:14 | ||
| whiteknight | okay, awesome | ||
| cgaertner | whiteknight: I just created a cgaertner github account | 14:15 | |
| personally, I'm more of a mercurial guy... | 14:16 | ||
| whiteknight | cgaertner: okay, awesome. I'm following you on github now | ||
| cgaertner: you can create a fork of the parrot repo if you want to start playing around. Also, create a gist for your proposal, so you can update it and we can follow along | 14:17 | ||
|
14:20
bacek left
|
|||
| rohit_nsit08 | whiteknight: made my account , now filling details in the proposal | 14:30 | |
| whiteknight | awesome | 14:31 | |
| rohit_nsit08: what is your github username? | 14:32 | ||
| rohit_nsit08 | whiteknight: rohit-nsit08 | 14:37 | |
| whiteknight | Okay, I'm following you too | 14:38 | |
| cgaertner | whiteknight: what API should be targeted for the wrapper over libparrot - embed_new? | ||
| whiteknight | cgaertner: for the embedding API, yes. That's what you use if you're embedding Parrot in a larger project | ||
| for the GObject project, you're probably not going to use embedding stuff | 14:40 | ||
| because the GObject code gets called from inside Parrot | |||
| cgaertner | whiteknight: if time permits, I'm going to try for two-way interop | ||
| first make gobject work from parrot | |||
| then (if there's enough time), make parrot work from gobject | |||
| whiteknight | ok | 14:43 | |
|
14:53
rohit_nsit08 left
14:56
kid51 left
15:04
rohit_nsit08 joined
15:09
rurban left
|
|||
| dalek | TT #2072 created by xgudmzpeseefb5++: Efficacy of Movie reviews | 15:09 | |
| TT #2072: trac.parrot.org/parrot/ticket/2072 | |||
|
15:11
rurban joined
15:15
woosley joined,
Eduardow joined
15:22
woosley left
|
|||
| dalek | rrot: 8ff4abd | mikehh++ | src/pmc/structview.pmc: fix codetest failure - line length |
15:24 | |
| rrot: 1de5200 | mikehh++ | src/pmc/sub.pmc: fix codetest failure - line length |
|||
|
15:38
lucian joined
|
|||
| cgaertner | whiteknight: gist.github.com/888382 | 15:39 | |
| whiteknight | awesome | ||
| cgaertner: Myself and other Parrot devs can make comments on it now, and you can edit it to make changes as needed | |||
| this way we can help you get a great proposal | 15:40 | ||
| dalek | TT #2073 created by taymvcddktleoy3++: Each and every individuals desire can become a real possibility along with ... | ||
| TT #2073: trac.parrot.org/parrot/ticket/2073 | |||
| whiteknight | damnit | 15:44 | |
| Hackbinary | cd | ||
| whiteknight | plobsing: ping | 15:50 | |
| hello Hackbinary, how are you doing today? | |||
| Hackbinary | I'm good, I just finished making Eclipse 3.6 packages for Ubuntu / Debian that work! | 15:51 | |
| whiteknight | msg plobsing I fixed the GC bug. Testing now and will commit a fix as soon as I clear out my debugging garbage | ||
| aloha | OK. I'll deliver the message. | ||
| Hackbinary | I'm chuffed to bits over that really | ||
| how are you whiteknight? | 15:52 | ||
| whiteknight | Hackbinary: much better now. I just fixed a bug that I've been stuck on for two weeks | 15:53 | |
| Hackbinary | nice! | ||
| I hate being stuck on things | |||
| whiteknight | We've been busy this week talking to GSoC students too. We have a lot of them this year | 15:54 | |
| Hackbinary | yeah, I seen the messages on the list | ||
| it looks like parrot will do pretty good with GSoC | 15:55 | ||
| lucian | whiteknight: try a few months stuck on a bug | 15:56 | |
| it's dreadful | |||
| whiteknight | lucian: I would hit a threshold where I would have to go back and start from scratch | ||
| lucian | whiteknight: there are times when that's not possible. i'm embedding xulrunner in a gtk app. it's a xulrunner bug somewhere, but i can rarely reproduce it (likely race condition) | 15:57 | |
| whiteknight | oh, that sucks | 15:59 | |
| well, that's not a bug you created. In this imcc_compiler_pmc branch, it was a bug I introduced | |||
| or, at least a bug I exposed | |||
| lucian | i se | 16:02 | |
| dalek | rrot/whiteknight/imcc_compreg_pmc: 47d6211 | Whiteknight++ | / (9 files): remove TT #1990 hack from Parrot_load_bytecode. This should prevent Parrot from eating up all RAM in certain situations |
16:08 | |
| rrot/whiteknight/imcc_compreg_pmc: a3bba04 | Whiteknight++ | / (4 files): whatever |
|||
| whiteknight | it makes me so happy to be able to push that commit | 16:10 | |
| lucian claps for whiteknight | 16:11 | ||
| whiteknight | thanks. this is a big deal | ||
| at least, for me | |||
| dalek | rrot/whiteknight/imcc_compreg_pmc: 3167be3 | Whiteknight++ | / (37 files): fix conflicts |
16:14 | |
|
16:20
kid51 joined
16:21
M_o_C joined
|
|||
| whiteknight | kid51: ping | 16:22 | |
| msg kid51 when you get a chance can you run tests on the whiteknight/imcc_compreg_pmc branch? I think I fixed that memory bug you had with it last time. checkdepend.t is failing right now, that one is not high priority for me to fix | 16:24 | ||
| aloha | OK. I'll deliver the message. | ||
| whiteknight | msg kid51: also codestd is going to be a mess. | 16:29 | |
| aloha | OK. I'll deliver the message. | ||
| rohit_nsit08 | whiteknight: hi, here is my 1st version of proposal : git://gist.github.com/888418.git | 16:31 | |
| kid51 | whiteknight: Do you recall whether I reported those bugs on linux or darwin? | ||
| rohit_nsit08 | whiteknight: sorry it's here gist.github.com/888418 | ||
| whiteknight | kid51: no idea. I'm sure it would have manifested on any mem-constrained platform | 16:32 | |
| kid51: I know what to get your for christmas this year. RAM. | |||
| :) | |||
| rohit_nsit08: awesome. Great first draft | 16:33 | ||
|
16:33
M_o_C left
|
|||
| kid51 | I need time free from dealing with spammers to think about getting a new laptop | 16:33 | |
| whiteknight | rohit_nsit08: we'll read it over and make comments | ||
|
16:33
M_o_C joined
|
|||
| rohit_nsit08 | whiteknight: yup, and till than i'll finish my setup with cafe , i'm reading the code , had some conversation with zaach he confirmed some issues , he agreed to test the current node and reply by tomorrow so i have some time to study more about the cafe :-) | 16:35 | |
| dalek | rrot: ee4b813 | mikehh++ | MANIFEST.generated: fix sort order |
16:41 | |
|
16:50
M_o_C left
16:51
cgaertner left
16:52
M_o_C joined
|
|||
| plobsing | whiteknight: a3bba04 appears to reintroduce the block-leak | 16:52 | |
| whiteknight | oh shoot, that was a merge. | 16:53 | |
| it was working before that merge | |||
| anyway, We are heading out, I can't fix it now | |||
|
16:55
M_o_C left
|
|||
| whiteknight | I'll be back later | 16:58 | |
|
16:58
whiteknight left
17:00
kid51 left
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#13161) fulltest) at 3_2_0-49-gee4b813 - Ubuntu 10.10 i386 (g++-4.5) | 17:20 | |
|
17:38
mj41 left
17:45
M_o_C joined
|
|||
| rohit_nsit08 | hi, what is .jiy file extention for ? | 17:46 | |
|
18:00
M_o_C left
|
|||
| dalek | TT #2075 created by ryywlvbrqut4++: Insure your car to provide the actual penalties a miss | 18:01 | |
| TT #2075: trac.parrot.org/parrot/ticket/2075 | |||
|
18:02
M_o_C joined
18:10
mj41 joined,
ambs left
|
|||
| dukeleto | tracspam-- | 18:13 | |
|
18:13
hudnix left
|
|||
| dukeleto | rohit_nsit08: where is this .jiy file you speak of? | 18:13 | |
| rohit_nsit08 | dukeleto: hi it's here github.com/zaach/cafe/tree/master/lib/js i guess it defines the grammar of language | 18:14 | |
| dukeleto : i'm trying to see what lexer.jil file is doing , i have read that lexer divides the input stream into tokens | 18:16 | ||
| dalek | TT #2076 created by tgalcajnk0++: Careful Expense in Penny stocks | ||
| TT #2076: trac.parrot.org/parrot/ticket/2076 | |||
| TT #2077 created by rzfgjpakd3++: Buy blossoms within wholesale | 18:32 | ||
| TT #2077: trac.parrot.org/parrot/ticket/2077 | |||
| dukeleto | sorry dalek, but I don't like the taste of spam | 18:35 | |
| rohit_nsit08: some kind of jison-ish yacc thingy | 18:37 | ||
| rohit_nsit08 | dukeleto: my interpratation from code -> it's containing cfg for language and server as the input for jison to generate a parser for the language , | 18:40 | |
| dukeleto: cafe is lexer.jil also as input to jison , but when i tried to do it independently , gave some error that grammar is not specified properly | 18:41 | ||
| dukeleto: any idea about lexer's code ? | |||
| dukeleto | rohit_nsit08: nope, i haven't fiddled with cafe | 18:51 | |
| rohit_nsit08 | dukeleto: fyn, no problem , i'll try to understand as much as possible , btw i was seeing jasper rightnow and it seemed abondoned , in what stage was that before it happened , and can i know what problems were faced? | 18:54 | |
| dukeleto | rohit_nsit08: not so much abandoned as back-burnered | 18:57 | |
| rohit_nsit08: i was getting some errors from node.js trying to actually parse a file with the PEG.js javascript grammar | |||
| rohit_nsit08: can you get to that stage? | |||
| rohit_nsit08: then we can both debug it :) | |||
| rohit_nsit08 | dukeleto: will love to :-) | 18:58 | |
| dukeleto | rohit_nsit08: if you run : node ./jaspers.js, it complains about an object not having a parse method | 19:00 | |
| rohit_nsit08: the object *should* have that method, so something is wrong in the setup code | |||
| rohit_nsit08 | dukeleto: let me check the jaspers.js file | ||
| dukeleto | rohit_nsit08: jsParser isn't getting initialized correctly | 19:01 | |
| dukeleto tries something | |||
| rohit_nsit08 | dukeleto: does it specify from which object parse method missing ? any other details ? | 19:03 | |
| dukeleto | rohit_nsit08: seems like jsParser is the empty object, and hence has no parse method | ||
| rohit_nsit08: jsParser | |||
| rohit_nsit08: the jsParser = require('...') line is where the bug is | |||
| rohit_nsit08: require is not returning the object | 19:04 | ||
| rohit_nsit08: fixed it! | 19:05 | ||
| rohit_nsit08: update your jaspers repo | 19:06 | ||
| rohit_nsit08: git pull --rebase | 19:07 | ||
| rohit_nsit08 | dukeleto: still going through the code , will try this on node to see the exact error | ||
| dukeleto | rohit_nsit08: the javascriptParser.js is generated by PEG.js. Don't spend too much time reading it :) | 19:08 | |
| rohit_nsit08 | dukeleto: wow , will update in some while , right now on windows | ||
| dukeleto: so i should just use it to get the parser , and that's it ?, i'm using jison for now | 19:09 | ||
| dukeleto: switching to linux , will be back in a while | 19:11 | ||
|
19:11
rohit_nsit08 left
19:16
rohit_nsit08 joined
|
|||
| mikehh | dukeleto: the spam has nothing to do with dalek | 20:00 | |
|
20:01
bubaflub joined
|
|||
| mikehh | dukeleto: all the last 20+ tickets have been spam | 20:01 | |
| dukeleto: dalek also reports commits which are very useful, and normally so are tickets | 20:02 | ||
| i get the tickets and parrot commits as email, but dalek reports others | 20:04 | ||
|
20:05
perlite_ joined
|
|||
| mikehh | I find it very useful to check here before commiting fixes, as there is quite a delay in the email | 20:05 | |
| or at least pushing | |||
|
20:08
perlite left,
perlite_ is now known as perlite
20:16
whiteknight joined
|
|||
| whiteknight | good afternoon, #parrot | 20:20 | |
| bubaflub | afternoon whiteknight | 20:22 | |
| whiteknight: i noticed on your blog that there is also a GSoC proposal for updating the PL/Parrot to the new embed API | 20:23 | ||
| whiteknight | yeah | ||
| bubaflub | i'm kinda torn between doing the GMP bindings and that one | ||
| which one do you think would be more beneficial? | |||
| whiteknight | that's a good question | ||
| bubaflub | i know dukeleto has been working on a perl grant to do the embed api | 20:24 | |
| maybe it'd be best to do it while he's still working on that | |||
| whiteknight | we should definitely talk to him about what needs to be done there | 20:29 | |
| somebody with your talents could do a lot more than just rewrite it to use a new API | 20:30 | ||
| plobsing++ | 20:37 | ||
| bubaflub | whiteknight: sounds good. i'll ping dukeleto and see which he'd prefer / what needs to be done | 20:40 | |
| whiteknight | bubaflub: Any other ideas floating around in your head? | ||
| bubaflub | i could do the LAPACK stuff, but just on a VM | ||
| whiteknight | the ones you have are good, I just want to make sure we're looking at all options | ||
| bubaflub | i'd do something for cardinal, but have no idea what | ||
| i know Tene is working on getting 6model into it | 20:41 | ||
| whiteknight | bubaflub: yeah, I'm sure a lot of Cardinal work is dependent on getting the object model working | 20:45 | |
| depending on Tene's schedule, adapting 6model to work with Cardinal might make a great project | 20:46 | ||
| lucian | and would help other languages as well | 20:49 | |
| also, Tene has good ideas about language interop | |||
| whiteknight | language interop is a great feature of Parrot, but I can't really think of a way to turn that into a GSoC project | 20:50 | |
| maybe setting up some kind of automated testing system for building multiple compilers, and using them together in weird combinations | 20:51 | ||
| lucian | i just meant Tene stewarding 6model + ruby work would help 6model deal with inter-language interop | 20:52 | |
| i don't think it's possible until languages actually work | |||
| whiteknight | true | 20:53 | |
| bubaflub: If you are interested in porting 6model to Cardinal for GSoC, we can talk to Tene about it | |||
| he had mentioned at one point he might be interested in mentoring such a project | |||
| the benefits for Cardinal are undisputed | 20:54 | ||
| might be a great kick-start for that project | |||
| bubaflub | whiteknight: i'll ping him as well | 20:55 | |
| whiteknight | by the end of this summer, if all goes well, we could have a working Python compiler and a working JavaScript compiler | ||
| getting Cardinal back on track at the same time would be awesome | |||
| bubaflub | whiteknight: yeah, there is an official Ruby 1.9.2 spec, but apparently will take a lot of work to get up and running | 20:56 | |
|
20:56
particle left
|
|||
| bubaflub | i'd like to see the spec running, cause then we've got something solid to test against | 20:56 | |
| lucian | well, rubyspec is a large test | 20:57 | |
| but like with python, objects are needed for even the simplest tests | |||
| bubaflub | yep... gotta get a lot of guts correct before that happens | 20:58 | |
|
20:58
ambs joined
|
|||
| whiteknight | Getting to the point where Cardinal could run rubyspec, even if there are plenty of failures, would be a good start | 20:59 | |
|
21:00
particle joined
21:03
M_o_C left
|
|||
| lucian | yes, that would mean the first 90% would be done | 21:04 | |
| just 90% more from there | |||
| bubaflub | hahah | ||
|
21:11
ambs left,
kid51 joined,
lucian left
|
|||
| kid51 | whiteknight ping | 21:14 | |
| whiteknight | pong | ||
| kid51 | whiteknight: The version of your branch you asked me to test earlier today froze my darwin/ppc | 21:15 | |
| whiteknight | damnit | ||
| kid51 | I could tell that it was taking a long time to compile Compiler/Actions.pm. | ||
| whiteknight | ok | ||
| how much ram does that box have? | |||
| kid51 | ... and I noticed that I couldn't command-tab between programs ... | 21:16 | |
| ... and then I noticed that the time displayed on the desktop said 4:43 pm -- when it was now 5:07 pm. | |||
| ... so your branch stopped time! | |||
| 256M RAM ... same as it ever was. | |||
| Same box I've been testing Parrot on since I came into the project. | 21:17 | ||
| It does seem to have taken regular amount of time to 'make' on linux/i386, but got failures in 3 tests | 21:18 | ||
| whiteknight | okay, I'm going to set up a VM with that little memory and see if I can duplicate any kind of problems | ||
| unfortunately I don't have a version of darwin to test with | |||
| kid51 | I will now try a full configure/build/smolder on that box on master. | 21:19 | |
| whiteknight | ok | 21:20 | |
|
21:26
lucian joined
|
|||
| kid51 | whiteknight/imcc_compreg_pmc branch: linux/i386: FAIL in t/src/checkdepend.t | 21:29 | |
| nopaste | "kid51" at 192.168.1.3 pasted "imcc_compreg_pmc branch 'make test' failure" (187 lines) at nopaste.snit.ch/38738 | 21:30 | |
|
21:31
M_o_C joined
21:32
bacek joined,
ambs joined
21:33
cotto left
21:36
lucian left
|
|||
| kid51 | whiteknight: FYI on my darwin/ppc master configures and builds in what passes for normal time these days: ~ 19 minutes | 21:40 | |
|
21:47
dodathome left
21:48
hudnix joined
|
|||
| ttbot | Parrot 8dcf07d1 i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/58643 | 21:48 | |
| Parrot 8dcf07d1 i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/58648 | 21:49 | ||
| Parrot 8dcf07d1 i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/58647 | |||
| kid51 | Appears that x86_64, linux, i386-linux-thread-multi doesn't like HEAD in compreg_imcc branch | 21:52 | |
| Oh, maybe my syntax error. | |||
|
21:54
soh_cah_toa joined
21:57
lucian joined,
lucian left
|
|||
| kid51 | darwin/ppc: master still compiles and passes make test: smolder.parrot.org/app/projects/rep...ails/13181 | 22:05 | |
| Tene | lucian/whiteknight: I plan to work on language interop after I get cardinal running on new opbect model | 22:10 | |
| whiteknight: I have no idea of the suitability of 6model cardinal for gsoc | 22:11 | ||
| bubaflub/whiteknight: Yes, without an almost-fully-implemented object model, we can't actually run the rubyspec tests. They are *NOT* set up to be gradually-usable like the Perl 6 tests are. | 22:12 | ||
| bubaflub | Tene: any ideas for a cardinal gsoc? | 22:13 | |
| Tene | bubaflub: I have a very poor understanding of what tasks are appropriate for gsoc. If you could explain that better, I can likely generate suggestions for you. | 22:14 | |
| bubaflub: but, I'm afk for like 5 minutes right now. brb | |||
| soh_cah_toa | speaking of gsoc, has there been anyone else interested in the debugger project that I could brainstorm with? | ||
|
22:15
fperrad left
|
|||
| soh_cah_toa | or would i be the lone wanderer? :) | 22:15 | |
| bubaflub | Tene: ok. task should be about 3 - 3.5 months in length and have deliverables at the end and maybe even at the midpoint. a project should have measurable / quantifiable work and can't be just documentation. | ||
|
22:16
rohit_nsit08 left,
rohit_nsit08 joined
22:27
ambs left
|
|||
| whiteknight | soh_cah_toa: no other students have expressed an interest in it, but many parrot devs are interested | 22:29 | |
| soh_cah_toa: what do you want to chat about | |||
| ? | |||
| soh_cah_toa | whiteknight: just curious as to what new features we could implement | 22:30 | |
| whiteknight: right now, i'm going through parrot-instrument source and i think instrumentation support would be nice | |||
| whiteknight: i also just wanted to get an idea of who i might be working with, should i be accepted | 22:37 | ||
| whiteknight | soh_cah_toa: I'll put some effort into Parrot-Instrument tomorrow, to try and get it to run again | 22:38 | |
| soh_cah_toa | whiteknight: great. i don't see a Makefile or anything so i'm not sure about installation. i think the github repo said it was just a proof of concept | 22:40 | |
|
22:45
ShaneC left
|
|||
| whiteknight | soh_cah_toa: the setup.pir script is the replacement for makefile | 22:49 | |
| soh_cah_toa | whiteknight: i had a feeling that was the case | ||
| whiteknight: where can i find documentation on the load_bytecode op? it was in setup.pir file for distutils.pbc but i can't that file anywhere | 22:51 | ||
| whiteknight: what i'd like to know is where load_bytecode searches for files | 22:52 | ||
|
22:52
lucian joined
|
|||
| whiteknight | parrot has a list of search paths | 22:52 | |
| runtime/parrot/library/ in the repo | 22:53 | ||
|
22:53
lucian left
|
|||
| whiteknight | that should be the same for the installed Parrot too, in the install directory | 22:53 | |
| for me, the files would be in /usr/local/lib/parrot/* | 22:54 | ||
| soh_cah_toa | wow, there it is. locate reported nothing. even after an updatedb. ugh... | ||
| just out of curiousity, is parrot's search path modifiable through an environment variable or something like @INC | 22:56 | ||
| whiteknight | it may be, I need to check | ||
| soh_cah_toa | alright | ||
|
23:05
mj41 left
23:06
rohit_nsit08 left
23:11
rurban left,
rurban joined
|
|||
| whiteknight | soh_cah_toa: the -L commandline switch can add a new path | 23:18 | |
| soh_cah_toa | whiteknight: okay thanks | 23:20 | |
| whiteknight | soh_cah_toa: src/library.c:parrot_init_library_paths is where that all gets set up | 23:22 | |
| the function is big and far too complicated, but that's where the magic happens | |||
|
23:22
cognominal left
23:23
cognominal joined
|
|||
| whiteknight | soh_cah_toa: cleaning that function up might be a nice way for a new user to get started... | 23:24 | |
| soh_cah_toa | whiteknight: yeah, no kidding :) | 23:25 | |
| whiteknight | there is a PARROT_LIBRARY environment variable, apparently | 23:33 | |
|
23:34
ShaneC joined
|
|||
| kid51 | Where did dalek go? | 23:34 | |
| whiteknight | to bot heaven | ||
| i have no idea | |||
| soh_cah_toa | whiteknight: yeah, i just saw that in src/library.c. it's experimental though | 23:35 | |
| whiteknight | it's listed as "experimental" but it's been in the code, unaltered, for years | 23:37 | |
| soh_cah_toa | whiteknight: alright | 23:38 | |
| whiteknight: exactly what needs to be improved in the debugger? i know i've asked this before but i'm still a little unsure of what i can put in my proposal | 23:40 | ||
| whiteknight | increasing the amount of "working correctly" that the debugger does would be awesome | 23:41 | |
| soh_cah_toa | whiteknight: in the project description it mentions that the debugger should be able to add breakpoints and watchpoints etc. but the debugger already has all that | ||
| whiteknight | rewriting it so it isn't made of fail and spider webs internally would be very nice | ||
| soh_cah_toa: the project description was for writing a new debugger, not fixing the old one | |||
| does the debugger even work currently? Can you run it and do anything with it? | 23:42 | ||
| soh_cah_toa | i'm messing around with it now that i know a little more about pir and pbc | 23:44 | |
| whiteknight | soh_cah_toa: even if it does work, it's still an evil mess. We really want it to be done bettr | ||
| for instance, we don't want debugger code compiled in to Parrot, except for the bare-minimum necessary hooks | 23:45 | ||
| we would like the debugger to be usable for HLLs, not just PIR | |||
| and if portions of it were running on top of Parrot, we could subclass it from HLLs, or add new features from HLLs | 23:46 | ||
| soh_cah_toa | whiteknight: okay but the only parrot- supported language i know is perl | ||
| whiteknight | once we have a basic core of the debugger written in whatever language, I would like to be able to extend it in any parrot language | ||
| soh_cah_toa | but it's not like i don't have time to learn more | ||
| whiteknight | we have several compilers: Rakudo Perl6 is the most complete HLL, but we have NQP, Winxed (my personal favorite), Cardinal, Lua, Partcl | 23:47 | |
| we should be able to debug all of them, or be able to write extensions for the debugger in any of them | |||
| soh_cah_toa | btw, how do you guys pronounce winxed? i've been saying it "winks" | ||
| whiteknight | in my head I always say "Win-Zed". NotFound, the author of it, says "winged" | ||
| soh_cah_toa | new gsoc project: properly pronounce winxed? | 23:48 | |
| whiteknight | can't be done in a single summe | 23:49 | |
| summer | |||
| soh_cah_toa | :) | ||
| ttbot | Parrot 6ee33b49 i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/58849 | 23:50 | |
| Parrot 6ee33b49 i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/58875 | 23:52 | ||
| whiteknight | soh_cah_toa: the basic idea is this: Anything that runs on top of parrot (as opposed to running inside parrot) has a number of advantages: We can subclass features, we can inject features, we can introspect things, we can manipulate things, we can save details to portable bytecode instead of having to make it run natively on all platforms, etc | ||
| soh_cah_toa: so if the debugger, likewise, runs on top of parrot, we get all those benefits for it | |||
| From inside Parrot, we don't have many options. It's going to be written in C and most developers won't want to maintain it or develop for it | 23:53 | ||
| soh_cah_toa | okay | 23:54 | |
| what would it take to implement perl 6 support for the debugger? | 23:55 | ||
| whiteknight | let's say I'm a JavaScript developer working on Parrot's new JavaScript compiler. I'm tracking down a bug, and want to get a custom report out of the debugger. What do I have to write that custom report it? | ||
| The correct answer in parrot-land is "anything you want". The current answer is "Really badly-written C" | |||
| JavaScript programmers write JavaScript because they don't like C or other alternatives | |||
| soh_cah_toa | i did go through a web development phase a few months ago so i'm familiar with the basics of javascript. learning winxed can't be that hard | 23:57 | |
| whiteknight | winxed is very easy. It's inspired by JavaScript and C++. It's a very low-level language that exposes the power of Parrot but uses a nicer syntax than PIR | 23:58 | |
| if I could go back in time 10 years, I would make Winxed the default Parrot language instead of PIR | |||
| and I would buy a truckload of Google stock | |||
| soh_cah_toa | haha, wow. i guess my next task is to familiarize myself w/ winxed | 23:59 | |