Camelia, the Perl 6 bug

IRC log for #parrot, 2012-04-28

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:07 whiteknight okay, the Rakudo fix for eval_pmc is very straight-forward and almost identical to the fix for NQP
00:08 whiteknight I feel like the code they have in that particular place is a little bit brittle, but we can work on that later
00:08 benabik Hm?
00:10 whiteknight They're assuming the first sub in the packfile is always the wrapper, and the second sub in the packfile is always the entry point
00:11 whiteknight I would much rather if they gave the interesting subs specific tag names like :tag('Rakudo_wrapper') and :tag('Rakudo_entry'), so we can get them by name without relying on ordering
00:11 benabik :-/
00:11 whiteknight but it works right now, so we can ignore it for now
00:31 alvis Hello all. Got some questions: To start with, (1) Is there a Pugs' Intermediate Language; (2) Is there a PIRATE "Parrot's next generation compiler"; and (3) What is the status of PIRC?
00:32 whiteknight 1) not that I know of
00:32 whiteknight 2) PIRATE was an attempted implementation of PIR in NQP. I think that is stalled or abandoned
00:32 whiteknight 3) PIRC is dead and will likely not be developed further
00:33 alvis whiteknight: ah, thanks. should I remove references, e.g., in 'glossary.pod', from the docs?
00:33 whiteknight yes
00:33 alvis ok. thanks.
00:35 alvis Also, isn't hmtl the *preferred* format in which to view Parrot's docs? (I think I've asked a somewhat similar question before.)
00:38 Coke I wouldn't say that.
00:38 Coke mainly because I didn't think that was a thing that needed to be.
00:39 cxreg joined #parrot
00:39 alvis Coke: Ok. I'm asking 'cause I want to remove the word "experimental" on the html-ized docs in 'gettingstarted.pod' and was looking for the correct language to use.
00:41 Coke "there are also HTML versions of these documents..."
00:43 alvis Coke: Ah, yes, of course.
00:44 alvis One last question: Has anyone written a subclass to Pod::Simple to allow perldoc to pick up the verbiage between the '=begin PIR ... =end PIR' in the *.pod docs?
00:45 alvis I've searched about a'bit. I'm really asking if anyone here knows of something like Subclassing Pod::Simple. If not, I'll write one.
00:46 alvis Subclassing Pod::Simple to process the PIR tags in our *.pod files, that is. (Hope that's clear.)
00:48 whiteknight I don't know of any. kid51 might be the best person to ask
00:49 alvis Ok, I'll post to parrot-dev, just to cover the bases. thanks again.
00:51 whiteknight alvis++
00:53 Coke alvis: there is a test that extracts all that code and runs it.
00:54 Coke t/examples/pod.t
00:55 Coke which doesn't answer your question, sorry.
00:56 Coke I'm pretty sure they show up in the HTML output.
00:56 Coke ... which probably answers your previous question, also. ;)
01:08 alvis Coke: Yes, they some up in the html docs, but if you're new and you prefer *.pod, it can take a while before you understand there's a difference between the html docs and what's outputted via perldoc. At least, it did me. ...
01:09 alvis I didn't even build the html docs the first month because I prefer *.pod, so I didn't even know there's a difference, and there's nothing in our docs, of which I'm aware, which even hints there's a difference between the two formatted docs.
01:13 cotto ~~
01:13 alvis Wow! That was poorly worded. Basically, what I'm saying is we need to tell (new) folks there's a difference between the html-ized docs and the *.pod docs, but, also, because a'lot of example information is buried between the '=begin PIR ... =end PIR' tags, we need, I think, an easy solution to expose that information in when someone uses perldoc.
01:14 alvis hey cotto.
01:16 alvis afk
01:34 cotto hio alvis
02:01 jtpalmer joined #parrot
02:02 dalek Rosella: 0f49d4a | Whiteknight++ | src/unstable/xml/ (3 files):
02:02 dalek Rosella: [Xml] Start reworking DTD document handling
02:02 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/0f49d4a5be
02:02 dalek Rosella: 56fb834 | Whiteknight++ | src/unstable/xml/ (4 files):
02:02 dalek Rosella: [Xml] DtdHeader tag contains a DtdDocument, not the other way around.
02:02 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/56fb8342f8
02:02 dalek Rosella: c60a711 | Whiteknight++ | src/unstable/xml/ (3 files):
02:02 dalek Rosella: [Xml] Start implementing Xml code generation for inline DTD declarations
02:02 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/c60a7118c2
02:03 dalek Rosella: fc88b18 | Whiteknight++ | src/unstable/xml/ (2 files):
02:03 dalek Rosella: [Xml] Several fixes for .to_xml() of ELEMENT and ATTLIST tags
02:03 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/fc88b180b4
02:03 dalek Rosella: 03c4b46 | Whiteknight++ | / (4 files):
02:03 dalek Rosella: [Xml] ATTLIST can actually hold a list of attributes. Update the parser, the xml generator, and the tests
02:03 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/03c4b462a4
02:29 awwaiid joined #parrot
02:30 szbalint joined #parrot
02:39 jashwanth joined #parrot
02:43 benabik Hm.  Code works better when you don't invert conditionals.
04:16 dalek parrot/pct_winxed: e1fef89 | benabik++ | compilers/pct/src/PAST/Compiler. (2 files):
04:16 dalek parrot/pct_winxed: PCT: PAST.Compiler.coerce in Winxed
04:16 dalek parrot/pct_winxed: review: https://github.com/parrot/parrot/commit/e1fef8979e
04:16 benabik That's a mass of gotos.
04:59 JimmyZ joined #parrot
05:05 JimmyZ nine: thanks, I got a clone eventually
07:08 dalek parrot/threads: 3bf5389 | nine++ | / (2 files):
07:08 dalek parrot/threads: Fix a concurrency issue in gc_gms_allocate_fixed_size_storage
07:08 dalek parrot/threads:
07:08 dalek parrot/threads: gc_gms_allocate_fixed_size_storage has to take the GC lock as well to
07:08 dalek parrot/threads: avoid race conditions
07:08 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/3bf5389d1f
07:08 dalek parrot/threads: d9a8158 | nine++ | src/thread.c:
07:08 dalek parrot/threads: Use Parrot_thread_maybe_create_proxy to avoid duplicated code
07:08 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/d9a8158809
07:08 dalek parrot/threads: fb6b6d3 | nine++ | src/thread.c:
07:09 dalek parrot/threads: Clean up foreign tasks started by child threads
07:09 dalek parrot/threads:
07:09 dalek parrot/threads: Child threads may start tasks on other threads as well so they should
07:09 dalek parrot/threads: clean up the list of foreign tasks and remove the finished ones to keep
07:09 dalek parrot/threads: the list from growing indefinitely.
07:09 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/fb6b6d3e74
07:52 dalek rakudo/nom: a25e7d1 | pmichaud++ | src/Perl6/Actions.pm:
07:52 dalek rakudo/nom: Make bare loop statement use Perl 6 True instead of Parrot 1 value.  Fixes RT #112654.
07:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a25e7d1da2
08:59 dalek parrot/pct_winxed: cd9a874 | benabik++ | compilers/pct/src/PAST/Compiler. (2 files):
08:59 dalek parrot/pct_winxed: PCT: PAST.Compiler.post_children to "Winxed"
08:59 dalek parrot/pct_winxed:
08:59 dalek parrot/pct_winxed: The logic inside the loop is complex, so this is a version with
09:00 dalek parrot/pct_winxed: several gotos.  Perhaps I'll be able to straighten it out some...
09:00 dalek parrot/pct_winxed: review: https://github.com/parrot/parrot/commit/cd9a8747d9
09:00 dalek parrot/pct_winxed: 66849b5 | benabik++ | compilers/pct/src/PAST/Compiler.winxed:
09:00 dalek parrot/pct_winxed: PCT: PAST.Compiler.post_children to Winxed
09:00 dalek parrot/pct_winxed:
09:00 dalek parrot/pct_winxed: Much less gotos, the flow of the program is clearer now, if more
09:00 dalek parrot/pct_winxed: heavily indented.
09:00 dalek parrot/pct_winxed: review: https://github.com/parrot/parrot/commit/66849b508a
09:02 benabik msg NotFound https://github.com/parrot/parrot/commit/66849b508a is why I like Winxed.  I was able to write both a direct PIR conversion full of gotos and a more coherent version that let me notice and remove about 10 lines of duplicate work, which makes the logic clearer.
09:02 aloha OK. I'll deliver the message.
09:02 benabik NotFound++
09:02 benabik Winxed++
09:02 benabik Okay, I've been working on this for wayyyyyyy too long.  Sleep now.
10:26 PacoAir joined #parrot
10:28 JimmyZ joined #parrot
10:47 whiteknight joined #parrot
11:08 whiteknight good morning, #parrot
11:51 lucian joined #parrot
11:55 lucian joined #parrot
12:04 dalek rakudo/nom: 6c9661f | jnthn++ | src/Perl6/Actions.pm:
12:04 dalek rakudo/nom: Fix a lexical handling bug in installation of auto-generated protos and derived dispatchers. gfldex++ for reporting, moritz++ for realizing it was about protos.
12:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6c9661f5d0
12:15 dalek nqp: edd14da | jnthn++ | tools/build/PARROT_REVISION:
12:15 dalek nqp: Now the release is done, we can bump PARROT_REVISION to the one with pmichaud++'s fixes for Unicode handling.
12:15 dalek nqp: review: https://github.com/perl6/nqp/commit/edd14dadfd
12:17 mdupont joined #parrot
12:18 dalek rakudo/nom: 2a962e3 | jnthn++ | tools/build/NQP_REVISION:
12:18 dalek rakudo/nom: Bump NQP_REVISION. Can haz somewhat cleaner spectest runs without ICU; pmichaud++.
12:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2a962e3f98
12:22 dalek Rosella: 9f6b76a | Whiteknight++ | src/dumper/Dumper.winxed:
12:22 dalek Rosella: [Dumper] Make the maximum recursion limit a configurable value
12:22 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/9f6b76aecb
12:23 dalek Rosella: 85386da | Whiteknight++ | src/unstable/xml/Document.winxed:
12:23 dalek Rosella: [Xml] DtdDocument does not inherit from Document
12:23 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/85386da837
12:23 dalek Rosella: 34ef5a7 | Whiteknight++ | / (3 files):
12:23 dalek Rosella: [Xml] The DOCTYPE header may only have a root element name and nothing else. Add a test for this simplest case
12:23 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/34ef5a7599
12:23 dalek Rosella: 628e09c | Whiteknight++ | / (4 files):
12:23 dalek Rosella: [Xml] Fix ATTLIST behavior so we only create one DtdAttlist element and merge definitions.
12:23 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/628e09c76f
12:23 dalek Rosella: ff8f286 | Whiteknight++ | / (3 files):
12:23 dalek Rosella: [Xml] A few small cleanups. Add a test for ELEMENT tags with multiple comma-separated child types
12:23 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/ff8f286841
12:34 nine Good morning, whiteknight
12:53 whiteknight hello nine
12:58 nine whiteknight: a little present for you:
12:58 dalek parrot/threads: 66a662e | nine++ | MANIFEST:
12:58 dalek parrot/threads: Update manifest for new alloc_test.pir
12:58 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/66a662e4d3
12:58 dalek parrot/threads: b40d5cb | nine++ | / (5 files):
12:58 dalek parrot/threads: Use a thread for alarm handling instead of POSIX alarms.
12:58 dalek parrot/threads:
12:58 dalek parrot/threads: Use a thread and COND_TIMED_WAIT instead of POSIX ALRM signals for timer
12:58 dalek parrot/threads: handling. This makes green threads (and therefore threading) work on
12:58 dalek parrot/threads: Windows and gives a 40 % performance increase on chameneos.pir as a
12:58 dalek parrot/threads: bonus.
12:58 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/b40d5cb832
12:59 nine whiteknight: wish you a nice weekend :)
13:19 NotFound ~~
13:19 NotFound karma Winxed
13:19 aloha Winxed has karma of 8.
13:19 JimmyZ nine++
13:38 perlite_ joined #parrot
13:39 JimmyZ nine: I can't gcc alarm.c
13:44 whiteknight nine++
13:44 whiteknight nine++
13:44 whiteknight nine++
13:53 whiteknight I'm testing it out on windows right now
14:09 dalek parrot/threads: a0b21de | Whiteknight++ | / (4 files):
14:09 dalek parrot/threads: Fix COND_TIMED_WAIT so it behaves the same on all platforms
14:09 dalek parrot/threads: review: https://github.com/parrot/parrot/commit/a0b21de0a3
14:16 lucian joined #parrot
14:18 JimmyZ whiteknight++
14:20 whiteknight hmmm, now the build fails for me on windows because it's looking for git
14:25 JimmyZ .\miniparrot.exe -Iruntime/parrot/include config_lib.pir > runtime/parrot/includ
14:26 JimmyZ e/config.fpmc
14:26 JimmyZ make: *** [runtime/parrot/include/config.fpmc] Error -1073741819
14:31 dalek Heuristic branch merge: pushed 28 commits to nqp/toqast by jnthn
14:39 masak joined #parrot
14:48 dalek nqp/toqast: 9dbb0ea | masak++ | t/qast/qast.t:
14:48 dalek nqp/toqast: [t/qast/qast.t] belatedly update test count
14:48 dalek nqp/toqast:
14:48 dalek nqp/toqast: jnthn++
14:48 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/9dbb0ea0c3
14:59 lucian joined #parrot
15:00 JimmyZ nine: ping
15:03 dalek nqp/toqast: 6fe3c6c | jnthn++ | src/QAST/Operations.nqp:
15:03 dalek nqp/toqast: Add a way to register op compilation handlers at core and HLL level.
15:03 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/6fe3c6ce1c
15:03 dalek nqp/toqast: 29c96d3 | jnthn++ | t/qast/qast.t:
15:03 dalek nqp/toqast: Merge branch 'toqast' of github.com:/perl6/nqp into toqast
15:03 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/29c96d30c9
15:03 dalek nqp/toqast: a4bd66d | jnthn++ | t/qast/qast.t:
15:03 dalek nqp/toqast: Test WVal node.
15:03 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/a4bd66d8e4
15:03 dalek nqp/toqast: b54c728 | jnthn++ | / (2 files):
15:03 dalek nqp/toqast: Compile op 'list'; test.
15:03 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/b54c728e07
15:07 dalek winxed: 2bd58f9 | NotFound++ | winxedst (2 files):
15:07 dalek winxed: refactor a bit comment emit and put comments with source file name and compiler version in stage 2
15:07 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/2bd58f9c09
15:14 PerlJam joined #parrot
15:15 tadzik joined #parrot
15:16 atrodo joined #parrot
15:19 * JimmyZ still can't build threads branch on windows
15:45 nine JimmyZ: png
15:47 JimmyZ nine: I can't follow https://github.com/parrot/parro​t/blob/threads/src/alarm.c#L87 and L88
15:47 JimmyZ nine: alarm_set_to - ts.tv_sec is not 0 ?
15:48 * JimmyZ is stupid
15:49 nine JimmyZ: ?
15:50 nine alarm_set_to is a float, ts.tv_sec is a time_t (~long)
15:52 nine whiteknight++ # helping with the Windows stuff
15:52 whiteknight It still doesn't build for me. I've got a config issue
15:53 JimmyZ .\miniparrot.exe -Iruntime/parrot/include config_lib.pir > runtime/parrot/include/config.fpmc
15:53 JimmyZ this one?
15:53 JimmyZ nine: ah, thanks
15:54 whiteknight all the .c files compile though, so that's a start
15:57 nine I just hope that COND_TIMED_WAIT behaves on Windows really like the POSIX version. But I guess we'll find that out soon enough
16:22 fperrad joined #parrot
16:24 whiteknight I'm sure there are differences, I just need to pick it
16:33 dalek parrot: f928e3c | alvis++ | docs/gettingstarted.pod:
16:33 dalek parrot: Removed the word 'experimental' and the implication that our html docs are 'experimental' from the doc. Why? Because it's misleading. Our auto-generation of html docs is no longer 'experimental'.
16:33 dalek parrot: review: https://github.com/parrot/parrot/commit/f928e3c904
16:33 dalek parrot: a991315 | alvis++ | docs/glossary.pod:
16:33 dalek parrot: Removed references to 'PIL - Pugs' Interemediate Language'; 'PIRATE' - Parrot's supposed 'next generation compiler'; and 'PIRC' - a, according to Whiteknight, dead project.
16:33 dalek parrot: review: https://github.com/parrot/parrot/commit/a99131593d
16:33 dalek parrot: b71c965 | alvis++ | docs/gettingstarted.pod:
16:33 dalek parrot: Minor modification of some otherwise awkward language.
16:33 dalek parrot: review: https://github.com/parrot/parrot/commit/b71c965dfa
16:38 benabik ~~
16:43 cotto ~~
16:44 cotto alvis++
16:45 cotto it's been a long time since those were experimental
16:46 cotto nbrown, ping
16:55 lucian joined #parrot
16:56 dalek winxed: dc9417a | NotFound++ | winxedst2.winxed:
16:56 dalek winxed: some more optimizations in conditions
16:56 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/dc9417ae42
17:06 dalek winxed: b999325 | NotFound++ | winxedst2.winxed:
17:06 dalek winxed: simplify parsing of comma expressions
17:06 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/b999325c2f
17:09 Coke joined #parrot
17:11 preflex_ joined #parrot
17:39 contingencyplan joined #parrot
17:45 dalek nqp/toqast: 7da93fd | jnthn++ | src/QAST/Compiler.nqp:
17:45 dalek nqp/toqast: Correct misleading name.
17:45 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/7da93fd347
17:45 dalek nqp/toqast: 6980843 | jnthn++ | src/QAST/Operations.nqp:
17:45 dalek nqp/toqast: Implement operations if and unless; give them what should hopefully be decent native handling also. Can be optimized further for void context.
17:45 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/6980843692
17:45 dalek nqp/toqast: 115c75c | jnthn++ | t/qast/qast.t:
17:45 dalek nqp/toqast: Tests for if/unless on IVal.
17:45 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/115c75c555
17:51 lucian joined #parrot
17:53 dalek winxed: 58c9f7d | NotFound++ | examples/fly.winxed:
17:53 dalek winxed: use some more inline and delete long dead code in example fly
17:53 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/58c9f7d9d3
18:02 aloha (parrot/parrot) Issues opened : 760 (threads branch fails to build on Windows) by gerdr : https://github.com/parrot/parrot/issues/760
18:30 dalek winxed: 55481cd | NotFound++ | winxedst2.winxed:
18:30 dalek winxed: local inline - experimental
18:30 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/55481cdad2
18:55 dalek winxed: f91091b | NotFound++ | t/advanced/20experimental.t:
18:55 dalek winxed: add a test file for experimental features - test local inline
18:55 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/f91091b022
19:37 alvis joined #parrot
20:33 dalek nqp/toqast: c0b439f | jnthn++ | src/QAST/Compiler.nqp:
20:33 dalek nqp/toqast: Sketch in a BlockInfo to track per-block compilation state; tracker outer chain.
20:33 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/c0b439f349
20:33 dalek nqp/toqast: 16319cd | jnthn++ | src/QAST/Compiler.nqp:
20:33 dalek nqp/toqast: Start sketching out QAST::Var; not enough to do anything useful yet.
20:33 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/16319cd74e
20:36 dalek Rosella: 518e7f8 | Whiteknight++ | src/unstable/xml/Tag.winxed:
20:36 dalek Rosella: [Xml] fix to_xml with attlists
20:36 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/518e7f836a
20:36 dalek Rosella: b465373 | Whiteknight++ | src/unstable/xml/Tag.winxed:
20:36 dalek Rosella: [Xml] Add several comments and todo notes
20:36 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/b46537381f
20:36 dalek Rosella: 6ed4f79 | Whiteknight++ | / (3 files):
20:36 dalek Rosella: [Xml] Fix DOCTYPE to be able to take a scope and inline declarations
20:36 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/6ed4f79212
20:36 dalek Rosella: 6c3b2bb | Whiteknight++ | s (5 files):
20:36 dalek Rosella: [Xml] Add in a visitor type for visiting document nodes recursively. Implement a basic DTD validator visitor to traverse a document chcking it against a DTD
20:36 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/6c3b2bb977
20:37 dalek Rosella: af09278 | Whiteknight++ | src/unstable/xml/ (2 files):
20:37 dalek Rosella: [Xml] +some docs for Xml.Document and DtdDocument
20:37 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/af0927837d
20:45 dalek winxed: e48a293 | NotFound++ | winxed (3 files):
20:45 dalek winxed: drop builtin die from stages 0 and 1
20:45 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/e48a293a69
20:55 nbrown cotto: pong
21:07 cotto nbrown, I'd like to get caught up with what you guys have been doing with m0.  What are the biggest changes/questions I need to be aware of?
21:07 cotto you and jimmy
21:09 nbrown cotto: primarily, jimmy has been working on implementing an interpretter that uses typed registers while I stuck with the uint64 registers
21:10 nbrown most of my work has been trying to get the tests in the repo to pass while sticking as close to the implementation already laid out
21:10 cotto nbrown, ok.  untyped is what I had in mind.  Experimentation is always encouraged.
21:10 cotto yes.  One of the things I want to start with is getting the changes you need into the "official" m0 spec.
21:11 nbrown the biggest issue I've faced is the constants sections
21:11 dalek nqp/toqast: 7179ed3 | masak++ | src/QAST/Operations.nqp:
21:11 dalek nqp/toqast: added the neg_i operation
21:11 dalek nqp/toqast:
21:11 dalek nqp/toqast: All tests in t/qast/qast.t now pass.
21:11 nbrown the in memory layout and access needs to be better specced
21:11 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/7179ed3545
21:12 cotto let's make it happen.  Where are the holes?
21:12 nbrown the branch I have been working on stores them in untyped uint64's like the registers, but we need to spec that or another method
21:12 cotto sigh
21:12 cotto Your branch is behind 'origin/master' by 2506 commits, and can be fast-forwarded.
21:13 nbrown oops, sorry. I'll get it up to date
21:13 cotto that was my local clone
21:13 cotto sorry for the confusion
21:13 nbrown oh, ok. I just know how frustrating that can be
21:14 nbrown brb, I need to reboot
21:14 cotto ok
21:16 nbrown joined #parrot
21:17 nbrown cotto: I'm back
21:17 cotto so you are
21:18 cotto and I've got a git remote set up for your clone
21:18 nbrown cotto: I was starting to try to update the spec to include some of the in memory layout stuff, but I got a little stalled by real life
21:18 nbrown excellent
21:18 cotto I saw a that you've made a few updates.
21:19 nbrown those were minor ones, except for the PC one
21:19 nbrown jimmy wasn't sure I should do that without running it past someone
21:20 cotto If you have the time, I have the time.
21:20 nbrown basically, I added what I considered a clarification that PC is incremented by 1 after a op is executed
21:21 nbrown the perl implementation was using 1 and the c implementation was using 4
21:21 nbrown and that caused issues when manually manipulating PC like in the poke_caller test
21:22 cotto I've got some weird code in there.
21:22 nbrown the poke_caller test?
21:22 cotto well, everywhere
21:22 cotto was looking at the perl5 interp
21:22 cotto the poke caller test was fun too, though
21:23 cotto I have a feeling I'm going to be really glad I commented it in about 5 minutes.
21:23 nbrown ha ha ha, ok. But the poke_caller test shows how to setup a new callframe and to do that you need to be able to manipulate PC which requires the programmer to know how PC gets incremented
21:24 nbrown cotto: yes you will be. The comments were a huge help when I started poking
21:24 nbrown I haven't been great about adding comments, I should probably go back and do that
21:25 cotto The nice thing about m0 is that it's so low-level that if I don't comment non-trivial code, I can't understand it 5 minutes after writing it.
21:25 nbrown I hear ya
21:29 cotto incrementing by 1 is the correct behavior
21:30 nbrown cotto: ok
21:31 cotto what needs work wrt the constants segment?
21:31 dalek parrot: 4dcb543 | NotFound++ | / (5 files):
21:31 dalek parrot: define named values for magic numbers used in exception handling long jumps
21:31 dalek parrot: review: https://github.com/parrot/parrot/commit/4dcb54390a
21:31 nbrown cotto: btw, in the constants segment of the spec, there's a reference to a load_const op. Is that still supposed exist?
21:32 cotto good question
21:32 nbrown primarily, we need to spec the in memory layout of the segment and how to load constant values into registers
21:32 nbrown currently, we use deref
21:32 cotto I suspect that it's a leftover.
21:32 cotto you're right
21:33 nbrown which means that the constant table must be sequential and each constant must be uniformally sized
21:33 cotto I'll make sure to fix that.
21:33 nbrown thank you
21:34 cotto What I pictured was that an entry could be either a value or a pointer, which would have same size.
21:35 nbrown cotto: I agree, it just wasn't spec'd that way and it wasn't implemented that way in the c implementation. It took me a while to figure out that was what needed to happen
21:36 nbrown it'd be great if that were documented. I can work on that if you want
21:38 nbrown and while we're working on the constants segment, there is a note that a constant can be arbitrary data in hex notation, but it doesn't specify how to store that in memory either
21:38 cotto can you do that now?  If not, I'll be glad to.
21:39 nbrown it probably should be similar to the string in memory layout and have a different encoding id
21:40 nbrown I'm actually headed out in a few, but I can probably get to it tomorrow. If you'd like to do it, feel free
21:40 cotto will do
21:43 nbrown cotto: I'm headed out, but thanks for starting to look at this stuff again. Feel free to leave questions or comments for me here or via email.
21:44 cotto nbrown, will do
22:10 dalek parrot: 0c24220 | NotFound++ | / (5 files):
22:10 dalek parrot: create function Parrot_ex_get_current_handler to avoid duplicated code in core.ops
22:10 dalek parrot: review: https://github.com/parrot/parrot/commit/0c24220227
22:44 whiteknight my IRC client's coloring algorithm has cotto, nbrown, dalek and benabik all the same redish color
22:44 whiteknight this conversation is much harder to follow than normal
22:49 benabik But I'm not even talking
23:14 whiteknight you just did!
23:24 kid51 joined #parrot
23:27 benabik We don't need your logic here.
23:56 dalek winxed: 95bc3e9 | NotFound++ | winxedst2.winxed:
23:56 dalek winxed: allow operators =: += -= *= /= and %= in inline
23:56 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/95bc3e9940

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced