diff --git a/src/Perl6/Optimizer.nqp b/src/Perl6/Optimizer.nqp index 09de88594e4..6ccd051cfd2 100644 --- a/src/Perl6/Optimizer.nqp +++ b/src/Perl6/Optimizer.nqp @@ -614,6 +614,9 @@ my class BlockVarOptimizer { } method lexical_vars_to_locals($block) { +#if js + return 0; +#endif return 0 if $!poisoned || $!uses_bindsig; return 0 unless nqp::istype($block[0], QAST::Stmts); for %!decls { diff --git a/src/Perl6/World.nqp b/src/Perl6/World.nqp index 9b0a429e671..ced15a3f613 100644 --- a/src/Perl6/World.nqp +++ b/src/Perl6/World.nqp @@ -2481,8 +2481,13 @@ class Perl6::World is HLL::World { # Adds the result of a constant folding operation to the SC and # returns a reference to it. method add_constant_folded_result($r) { - self.add_object_if_no_sc($r); - QAST::WVal.new( :value($r) ) + if nqp::isnull($r) { + QAST::Op.new( :op ) + } + else { + self.add_object_if_no_sc($r); + QAST::WVal.new( :value($r) ) + } } # Takes a data structure of non-Perl 6 objects and wraps them up