Skip to content

Commit

Permalink
Fix crashes with compile time evalution of where thunks
Browse files Browse the repository at this point in the history
Phixes #1465

When we compile_in_context, we rake the .ann('outer')s to find all
the good bits. However, the `where` thunks don't get that annotation
and so the raking stops prematurely. This causes the thunk that
tries to access some core symbols (like Junction ops) executed
during being time explode.

Fix by adding annotating the thunk with the current pad.
  • Loading branch information
zoffixznet committed Feb 2, 2018
1 parent d80fc37 commit 95f23a5
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/Perl6/Actions.nqp
Original file line number Diff line number Diff line change
Expand Up @@ -9307,7 +9307,7 @@ class Perl6::Actions is HLL::Actions does STDActions {
:op('callmethod'), :name('ACCEPTS'),
$expr,
$operand,
)));
))).annotate_self: 'outer', $*W.cur_lexpad;
($*W.cur_lexpad())[0].push($past);

# Give it a signature and create code object.
Expand Down

0 comments on commit 95f23a5

Please sign in to comment.