Camelia, the Perl 6 bug

IRC log for #parrot, 2011-09-11

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 rfw joined #parrot
00:01 plobsing_ joined #parrot
00:10 wagle joined #parrot
00:16 patspam joined #parrot
00:44 gbacon joined #parrot
02:15 kj joined #parrot
02:23 dalek parrot: c274632 | jkeenan++ | / (2 files):
02:23 dalek parrot: Create tools/dev/resubmit_smolder.pl, then create new 'make' target
02:23 dalek parrot: 'resubmit_smolder".
02:23 dalek parrot: review: https://github.com/parrot/parrot/commit/c2746329da
02:32 soh_cah_toa msg kid51 are you still getting test failures on whiteknight/kill_threads? or was it another branch?
02:32 aloha OK. I'll deliver the message.
02:39 soh_cah_toa msg whiteknight is there much more work to be done on the whiteknight/kill_threads branch? when do you see it being ready for the merge?
02:39 aloha OK. I'll deliver the message.
03:02 jsut joined #parrot
03:15 Coke joined #parrot
03:21 Coke joined #parrot
03:28 Coke joined #parrot
03:43 Coke joined #parrot
04:26 Coke joined #parrot
04:29 jsut_ joined #parrot
04:36 cotto It's nice to see that there's a medium-length wiki page explaining nanojit.
04:38 plobsing_ cotto: linky?
04:41 cotto plobsing_, https://developer.mozilla.org/En/Nanojit
04:43 cotto as always, it's no substitute for reading the source
04:46 plobsing_ heh, that's my motto - "docs lie, RTFS"
04:49 sorear compilers are buggy, RTFB
04:50 plobsing_ I do, from time to time.
05:06 cotto acm--
05:10 benabik ?
05:12 nbrown joined #parrot
05:13 cotto I don't want to pay for a paper from 1991 that they didn't help to write.
05:14 cotto fortunately a postscript version is available for $0 from another site
05:16 dalek parrot: b042a82 | plobsing++ | include/parrot/interpreter.h:
05:16 dalek parrot: kill unused struct
05:16 dalek parrot: review: https://github.com/parrot/parrot/commit/b042a82f01
05:16 dalek parrot: 0ab106f | plobsing++ | / (2 files):
05:17 dalek parrot: kill unused, dangerously encapsulation-breaking function
05:17 dalek parrot: review: https://github.com/parrot/parrot/commit/0ab106fa39
05:17 dalek parrot: 65669fd | plobsing++ | / (13 files):
05:17 dalek parrot: kill interp->current_pf
05:17 dalek parrot:
05:17 dalek parrot: interp->current_pf and interp->code are not independant pieces of execution
05:17 dalek parrot: context data - both are used to indicate the code we are currently running.
05:17 dalek parrot: When these become de-synched (example: TT #2191), strange things happen.
05:17 dalek parrot:
05:17 dalek parrot: Whenever interp->current_pf would have been used, use
05:17 dalek parrot: Parrot_pf_{get,set}_current_packfile(), which now operates using interp->code.
05:17 dalek parrot: review: https://github.com/parrot/parrot/commit/65669fdb09
05:17 dalek parrot: 91bf027 | plobsing++ | include/parrot/packfile.h:
05:17 dalek parrot: [codingstd] c_arg_assert
05:17 dalek parrot: review: https://github.com/parrot/parrot/commit/91bf0271ec
05:17 dalek parrot: 27a1525 | plobsing++ | src/gc/fixed_allocator.c:
05:17 dalek parrot: [codingstd] linelength
05:17 dalek parrot: review: https://github.com/parrot/parrot/commit/27a15258af
05:21 plobsing_ how do I tell track something is a reference to a git commit?
05:23 cotto plobsing_, the github trac plugin requires some kind of vcs to be enabled.
05:23 plobsing_ so the short answer is "you don't"
05:23 cotto lemme check if I can fix that on my own or need to talk to osuosl
05:23 cotto It's irritated me too.
05:23 plobsing_ what good is track if it doesn't integrate with the repo?
05:24 plobsing_ isn't that the *entire* point?
05:24 cotto a big part of it, yes
05:25 sorear didn't we set up an empty svn repo a while ago?
05:25 sorear or did we just talk about doing that
05:25 * plobsing_ sleeps
05:26 cotto just talk, I think
06:50 contingencyplan joined #parrot
07:22 jsut joined #parrot
07:32 AzureSto_ joined #parrot
07:49 Administrator joined #parrot
08:10 cotto aloha, aloha?
08:10 aloha cotto: aloha is simple Bot::BasicBot::Pluggable hosted on https://github.com/bacek/aloha
08:23 mj41 joined #parrot
10:49 JimmyZ joined #parrot
10:55 whiteknight joined #parrot
11:21 whiteknight plobsing++
11:35 Psyche^ joined #parrot
11:35 gbacon joined #parrot
12:00 schmooster joined #parrot
12:12 dalek parrot-linear-algebra: 1972d9d | Whiteknight++ | t/pir-subclass/ (3 files):
12:12 dalek parrot-linear-algebra: PIR tests need a :main sub, to work with TestFile.PIR from Rosella (uses PackfileView.main_sub)
12:12 dalek parrot-linear-algebra: review: https://github.com/Whiteknight/parr​ot-linear-algebra/commit/1972d9d1fb
12:14 dalek Rosella: bf1bc9d | Whiteknight++ | src/ (3 files):
12:14 dalek Rosella: When capturing output,make sure to switch back to the parent handles when trying to handle errors and output debug info. Fixes so we run properly.
12:14 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/bf1bc9d48a
12:22 Drossel joined #parrot
12:28 ambs joined #parrot
12:28 Coke joined #parrot
12:40 whiteknight hmmm....printing "\b" from Parrot doesn't seem to work as expected
12:42 dalek rakudo/nom: a3d7c53 | jonathan++ | src/Perl6/ (2 files):
12:42 dalek rakudo/nom: Refactor to ensure we'll be able to tell which parametric role was picked once we get there from a multi-dispatch.
12:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a3d7c539f7
12:42 dalek rakudo/nom: 3c62969 | jonathan++ | src/Perl6/Metamodel/ParametricRoleGroupHOW.pm:
12:42 dalek rakudo/nom: Get ParametricRoleGroupHOW's specialize method in shape.
12:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3c62969459
12:58 whiteknight blah, that bugs the hell out of me
12:58 Coke joined #parrot
13:04 whiteknight oh, nevermind. it looks like it does work, just not when I was looking at it
13:11 dalek Rosella: 2c3f54a | Whiteknight++ | src/harness/ (4 files):
13:11 dalek Rosella: update the view to show test counts for long-running tests
13:11 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/2c3f54a4e3
13:22 dalek TT #2191 closed by whiteknight++: Problems with IMCCompiler PMC
13:22 dalek TT #2191: http://trac.parrot.org/parrot/ticket/2191
14:01 benabik o/
14:31 davidfetter joined #parrot
14:47 Coke joined #parrot
15:04 Coke joined #parrot
15:06 patspam joined #parrot
15:13 Hackbinary joined #parrot
15:16 Coke joined #parrot
15:22 Coke joined #parrot
15:32 rurban joined #parrot
15:35 dalek rakudo/nom: b2e3176 | jonathan++ | src/ops/perl6.ops:
15:35 dalek rakudo/nom: Documentation fix.
15:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b2e3176ced
15:35 dalek rakudo/nom: 056cf10 | jonathan++ | src/Perl6/Metamodel/ (2 files):
15:35 dalek rakudo/nom: Fix up handling of how protos are created for the role selection multi-dispatch.
15:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/056cf1063f
15:35 dalek rakudo/nom: 8b57bb2 | jonathan++ | src/Perl6/Metamodel/ParametricRoleHOW.pm:
15:35 dalek rakudo/nom: Make parametric roles able to know about any shortname grouping they belong to (not set up yet, just the storage for it).
15:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8b57bb2e7d
15:35 dalek rakudo/nom: da541a6 | jonathan++ | src/Perl6/ (2 files):
15:35 dalek rakudo/nom: Stub in code to add a role to its group at composition time, if needed.
15:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/da541a6d3b
15:35 dalek rakudo/nom: c0eae8c | jonathan++ | src/Perl6/Actions.pm:
15:35 dalek rakudo/nom: Correct method call.
15:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c0eae8ceff
15:35 dalek rakudo/nom: 9d3a2c8 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
15:35 dalek rakudo/nom: Fix thinko in selector creation code.
15:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9d3a2c89ab
15:35 dalek rakudo/nom: 6dbbf34 | jonathan++ | src/Perl6/SymbolTable.pm:
15:35 dalek rakudo/nom: Pass group parameter along when creating a meta-object.
15:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6dbbf34e58
15:36 Coke joined #parrot
15:48 Coke joined #parrot
16:04 Coke joined #parrot
16:05 dalek rakudo/nom: 6238f80 | jonathan++ | src/Perl6/Metamodel/ParametricRoleGroupHOW.pm:
16:05 dalek rakudo/nom: Various corrections to the role group meta-object.
16:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6238f80a9a
16:06 dalek rakudo/nom: 02ee1c4 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
16:06 dalek rakudo/nom: Be sure to configure stashing for parametric roles.
16:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/02ee1c4667
17:04 Hackbinary ld
17:13 plobsing_ ld: no input files
17:16 dalek rakudo/nom: 3b6cd2b | jonathan++ | src/Perl6/ (3 files):
17:16 dalek rakudo/nom: Allow flagging of signatured roles.
17:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3b6cd2bd34
17:16 dalek rakudo/nom: 7399cd6 | jonathan++ | src/Perl6/Metamodel/ (2 files):
17:16 dalek rakudo/nom: Fill out more missing bits in ParametricRoleGroupHOW.
17:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7399cd6e49
17:16 dalek rakudo/nom: e259b60 | jonathan++ | src/Perl6/Grammar.pm:
17:16 dalek rakudo/nom: Switch role handling over to a model that allows multiple definitions of a role with the same short name, and using multiple dispatch over the role signatures to decide which to use.
17:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e259b60ece
17:16 dalek rakudo/nom: 2fd2d26 | jonathan++ | NOMMAP.markdown:
17:16 dalek rakudo/nom: Update nommap.
17:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2fd2d26b61
17:30 dalek parrot-libgit2: d10fa94 | dukeleto++ | / (2 files):
17:30 dalek parrot-libgit2: Correct the structview representation of a Git2::Index, get test closer to passing
17:30 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/d10fa94dd5
17:30 dalek parrot-libgit2: 44de608 | dukeleto++ | t/winxed/001_load.t:
17:30 dalek parrot-libgit2: Improve git_repository_index test
17:30 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/44de608d11
17:33 dukeleto msg whiteknight i just tried to use Rosella master and stuff went wonky: https://github.com/Whiteknight/Rosella/issues/23 . Is there a tag of Rosella I should be using?
17:33 aloha OK. I'll deliver the message.
17:44 patspam do I need edit rights to modify trac.parrot.org pages?
17:47 patspam spotted a typo on wiki/ConvertTestsToParrot
17:50 patspam joined #parrot
17:52 dalek rakudo/nom: 2b13fe4 | masak++ | src/core/IO.pm:
17:52 dalek rakudo/nom: [src/core/IO.pl] lazily open things before .get
17:52 dalek rakudo/nom:
17:52 dalek rakudo/nom: This is to make something like "README".IO.lines work. It
17:52 dalek rakudo/nom: worked in Beijing.
17:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2b13fe4914
17:59 mikehh_ joined #parrot
18:02 patspam_ joined #parrot
18:06 plobsing_ dukeleto: looking at parrot-libgit2, I see two things that are incorrect. (1) Git2.Index lists the wrong number of elements in the structview (got: 3, expected: 7). To avoid this problem in the future, perhaps the structview initializer should validate the lenght exactly (it currently only validates against the "too short" case), or infer it from the initializer's length.
18:09 contingencyplan joined #parrot
18:10 plobsing_ (2) you are treating structviews like they are the objects whose structure they represent. they are not these. they are more akin to classes. You need to sv.alloc() to get something pointer-like. structviews represent the structure only, not the data.
18:11 dukeleto plobsing_: i originally had only 3 things in the struct, but I just updated the number to be correct
18:12 dukeleto plobsing_: yes, i knew that i was not using them correctly, but didn't know exactly how to modify them so that they could be passed back to libgit2 functions
18:12 dukeleto plobsing_: i appreciate all your help with parrot-libgit2, as well
18:13 plobsing_ the worst thing about misusing structviews as pointers, is parrot will let you do it, because default.pmc implements vtable get_pointer
18:13 dukeleto plobsing_: so i can call sv.alloc() to get a pointer to the StructView that I can pass to C functions? Anything else I need to know?
18:13 plobsing_ and then there were segfaults
18:13 plobsing_ dukeleto: you call sv.alloc() to get a PtrBuf which is at least large enough to hold a struct as described by the structview
18:14 plobsing_ one structview can be used to look into any amount of actual structs
18:14 plobsing_ I disagree with the terminology "a pointer to the StructView"
18:16 plobsing_ it is more like "an instance of"
18:17 patspam joined #parrot
18:19 plobsing_ t/pmc/structview.t is an example of how structviews and their derived buffers interoperate
18:24 dalek rakudo/nom: 6da1f55 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
18:24 dalek rakudo/nom: If an attribute has a build closure, we should always consider it as needing generic instantiation, since it may reference role arguments.
18:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6da1f5503e
18:24 dalek rakudo/nom: c994628 | jonathan++ | t/spectest.data:
18:24 dalek rakudo/nom: We now pass S14-roles/parameterized-basic.t.
18:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c9946282ae
18:24 dalek rakudo/nom: cb570dd | jonathan++ | src/Perl6/Actions.pm:
18:24 dalek rakudo/nom: Fix thinko.
18:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cb570dd8f9
18:24 plobsing_ dukeleto: it isn't all that important, but I would try to treat the structviews you have as singletons, since you don't really need more than 1 of each. this is what I tried to do in parrot-zeromq
18:30 mikehh_ joined #parrot
18:34 whiteknight joined #parrot
18:35 mikehh_ joined #parrot
18:35 whiteknight joined #parrot
18:38 dalek Rosella/harness_test: 0477a0e | Whiteknight++ | src/unstable/utilities/test_all_lib.winxed:
18:38 dalek Rosella/harness_test: Fixes so test_all_lib builds and runs. Add in a language argument. Add in a help/usage message. Some fixes to the way we do namespaces->folder mapping
18:38 dalek Rosella/harness_test: review: https://github.com/Whiteknig​ht/Rosella/commit/0477a0e96b
18:38 dalek Rosella/harness_test: 41fde70 | Whiteknight++ | rosella/data/templates/test_ns.nqp.template:
18:38 dalek Rosella/harness_test: add in a template file to create NQP tests for subs in a namespace
18:38 dalek Rosella/harness_test: review: https://github.com/Whiteknig​ht/Rosella/commit/41fde70dfa
18:38 dalek Rosella/harness_test: 33a999e | Whiteknight++ | t/tap_harness/ (5 files):
18:38 dalek Rosella/harness_test: remove old stub tests for Harness
18:38 dalek Rosella/harness_test: review: https://github.com/Whiteknig​ht/Rosella/commit/33a999e1f1
18:38 dalek Rosella/harness_test: 94a9b33 | Whiteknight++ | t/tap_harness/Harness (13 files):
18:38 dalek Rosella/harness_test: Add in auto-generated tests for Harness
18:38 dalek Rosella/harness_test: review: https://github.com/Whiteknig​ht/Rosella/commit/94a9b33d8b
18:38 dalek Rosella/harness_test: 10c0814 | Whiteknight++ | / (2 files):
18:38 dalek Rosella/harness_test: Harness.default_view -> Harness.view(). Add ability to set a view. Add an ability to set the testrun factory. other cleanups
18:38 dalek Rosella/harness_test: review: https://github.com/Whiteknig​ht/Rosella/commit/10c0814ecd
18:38 dalek Rosella/harness_test: 28a8b91 | Whiteknight++ | src/harness/ (2 files):
18:38 dalek Rosella/harness_test: start cleaning up and commenting Harness and View
18:38 dalek Rosella/harness_test: review: https://github.com/Whiteknig​ht/Rosella/commit/28a8b91877
18:38 dalek Rosella: 0477a0e | Whiteknight++ | src/unstable/utilities/test_all_lib.winxed:
18:38 dalek Rosella: Fixes so test_all_lib builds and runs. Add in a language argument. Add in a help/usage message. Some fixes to the way we do namespaces->folder mapping
18:38 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/0477a0e96b
18:38 dalek Rosella: 41fde70 | Whiteknight++ | rosella/data/templates/test_ns.nqp.template:
18:38 dalek Rosella: add in a template file to create NQP tests for subs in a namespace
18:38 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/41fde70dfa
18:38 dalek Rosella: 33a999e | Whiteknight++ | t/tap_harness/ (5 files):
18:38 dalek Rosella: remove old stub tests for Harness
18:38 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/33a999e1f1
18:43 fperrad joined #parrot
18:44 dalek Rosella: cb97d31 | Whiteknight++ | t/harness:
18:44 dalek Rosella: Don't try to run tests for Harness. We don't have any rght now
18:44 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/cb97d31787
18:44 whiteknight dukeleto: ping
18:53 mikehh__ joined #parrot
18:59 soh_cah_toa joined #parrot
19:20 mikehh joined #parrot
19:26 NotFound <plobsing_> the worst thing about misusing structviews as pointers, is parrot will let you do it, because default.pmc implements vtable get_pointer --> If the default isn't appropiate, we can override it.
19:27 dalek rakudo/nom: 3da8879 | jonathan++ | src/Perl6/Actions.pm:
19:27 dalek rakudo/nom: Fix R[R2[Foo]] style role parameterizations.
19:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3da8879d85
19:27 plobsing_ NotFound: the problem is that the default is not appropriate for any type
19:28 plobsing_ the default should be "error: this type doesn't meaningfully implement pointer functionality"
19:28 plobsing_ in stead of pretending otherwise
19:28 plobsing_ I'm putting together a branch and an rfc
19:28 NotFound plobsing_: that may need some discusion and a deprecation cycle.
19:29 NotFound Ah, well.
19:29 jsut_ joined #parrot
19:29 whiteknight +1 from me, I think
19:31 NotFound But if the issue is already confusing users, setting it in StructView can be helpful in the meantime.
19:33 plobsing_ NotFound: sure, that's a high-profile one. but are we going to set every PMC up to do that? our own testsuite treats RPA and Integer as if they could be pointer-like (even though they aren't).
19:34 patspam joined #parrot
19:35 NotFound plobsing_: I think that may be used by the sort functions.
19:36 plobsing_ which sort functions?
19:37 NotFound Parrot_util_quicksort and its helpers.
19:38 plobsing_ I don't see any get_pointer calls in that file
19:40 NotFound Looks like not. Either it was changed or I was fooling myself.
19:43 plobsing_ sort does not show up as a failure when I remove default.get_pointer
19:44 dalek parrot/kill-useless-defaults: 56c1ce0 | plobsing++ | src/pmc/default.pmc:
19:44 dalek parrot/kill-useless-defaults: eliminate default.get_pointer()
19:44 dalek parrot/kill-useless-defaults:
19:44 dalek parrot/kill-useless-defaults: this vtable papered over the fact that most PMCs aren't intended to be treated
19:44 dalek parrot/kill-useless-defaults: like pointers. If it wasn't intended, it probably isn't a good idea...
19:44 dalek parrot/kill-useless-defaults: review: https://github.com/parrot/parrot/commit/56c1ce0aec
19:45 whiteknight plobsing++
19:58 Coke joined #parrot
20:02 patspam joined #parrot
20:03 dalek rakudo/nom: 119eef2 | jonathan++ | src/Perl6/ (2 files):
20:03 dalek rakudo/nom: Handle 'Glass of Beer' style type names.
20:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/119eef2d29
20:03 dalek rakudo/nom: d617c32 | jonathan++ | t/spectest.data:
20:03 dalek rakudo/nom: We now pass S14-roles/parameterized-type.t.
20:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d617c32461
20:07 zby_home joined #parrot
20:20 soh_cah_toa_ joined #parrot
20:21 AzureStone joined #parrot
20:22 dalek rakudo/nom: 025b5a6 | jonathan++ | src/core/traits.pm:
20:22 dalek rakudo/nom: Implement 'is default' trait for routines.
20:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/025b5a62b6
20:22 dalek rakudo/nom: 90a619c | jonathan++ | t/spectest.data:
20:22 dalek rakudo/nom: We now pass S12-methods/default-trait.t.
20:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/90a619cd51
20:29 donaldh joined #parrot
20:41 patspam joined #parrot
21:02 donaldh joined #parrot
21:43 mj41 joined #parrot
22:00 particle joined #parrot
22:08 Coke joined #parrot
22:50 dalek winxed: a1b0002 | NotFound++ | / (3 files):
22:50 dalek winxed: update NEWS and installable files
22:50 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/a1b000203c
22:57 PacoLinux_ joined #parrot
22:58 dalek parrot: 7e2fbb1 | NotFound++ | ext/winxed/ (2 files):
22:58 dalek parrot: update winxed snapshot to a1b000203c:
22:58 dalek parrot: - HLL fixes and improvements
22:58 dalek parrot: - --debug option, __DEBUG__ predefined constant and __ASSERT__ builtin
22:58 dalek parrot: - Minor fixes
22:58 dalek parrot: review: https://github.com/parrot/parrot/commit/7e2fbb1ce4
23:04 whiteknight NotFound++
23:15 patspam joined #parrot
23:26 NotFound Uh.... there is a problem with the tailcall fix: now it doesn't tailcall main_sub in parrot frontend.
23:31 whiteknight what do you mean?
23:32 whiteknight tailcall fix in Parrot or in winxed
23:32 NotFound winxed now avoid tailcall optimization inside try blocks to keep the handler active. __PARROT_ENTRY_MAIN__ does "return main_sub(prog_args);" inside a try block.
23:33 whiteknight ok
23:34 whiteknight we can hand-edit the PIR file
23:34 NotFound And thus: not ok 32 - user-level backtraces the same as automatically generated backtraces
23:35 whiteknight Can we add syntax to the return to force  tailcall?
23:35 whiteknight either "tailcall main_sub()" or "return[tailcall] main_sub()"?
23:37 bluescreen joined #parrot
23:39 NotFound whiteknight: I tought about that, but I was hoping to not have any compelling use need for that.
23:40 whiteknight In the short-term we may need to hand-edit the PIR code
23:40 whiteknight in the longer term, we may need to start implementing some of the new PIR ops I've been thinking about, and use the ops directly with ${ } sytax
23:40 whiteknight syntax
23:41 NotFound Looks like moving the call out of the block can be enough...
23:41 whiteknight it is ugly, but the frontend is a special case
23:41 whiteknight we need the main_sub to execute inside the handler
23:42 NotFound Why? It wasn't doing it, the handler got discarded by the tailcall.
23:43 NotFound With that change, t/op/exceptions.t pass again
23:43 whiteknight oh, darn
23:44 whiteknight well, we *do* want an exception handler there eventually
23:44 whiteknight but if the workaround is good enough, we can comment it out
23:45 NotFound Both the former way and the fix are inconsistent: init_sub are called with the handler, and main_sub without.
23:46 NotFound If we want to filter that sub from backtrace, we must fo it in a lower parrot level.
23:48 NotFound Maybe a Sub modifier for that task can be appropiate.
23:49 NotFound Another prt0 thing: PIR is always compreg'ed, even if not used.
23:50 whiteknight NotFound: that's the way it always was. Look in frontend/parrot/main.c. IMCC is always available when you use parrot.exe
23:52 NotFound whiteknight: that wasn't going to be removed?
23:52 whiteknight not in the frontend, only in libparrot
23:52 whiteknight parrot.exe *is* libparrot+PIR
23:53 whiteknight other frontends might be different things
23:54 NotFound Mmm.... but that compreg is not what triggers the load, isn't it?
23:58 whiteknight no, it's loaded in the C code

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

Parrot | source cross referenced