From 0e82ef7f35272279d8fccb8ca350e31fb04254eb Mon Sep 17 00:00:00 2001 From: Vasily Chekalkin Date: Tue, 3 May 2011 07:58:11 +1000 Subject: [PATCH] More checks and debug in handling pirop<=> --- compilers/opsc/src/Ops/JIT.pm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/compilers/opsc/src/Ops/JIT.pm b/compilers/opsc/src/Ops/JIT.pm index ba0ef97fe3..ca28e1616f 100644 --- a/compilers/opsc/src/Ops/JIT.pm +++ b/compilers/opsc/src/Ops/JIT.pm @@ -737,12 +737,17 @@ our method process:pirop<=> (PAST::Op $chunk, %c) { # This will disable "loading" of variables. %c++; my $lhs := self.process($chunk[0], %c); + if !defined($lhs) { + _dumper($chunk); + die("Horribly"); + } %c--; - $!builder.store( - self.process($chunk[1], %c) // die("Can't do it"), - $lhs - ); + my $rhs := self.process($chunk[1], %c) // die("Can't do it"); + $!debug && say("LHS " ~ $lhs.dump()); + $!debug && say("RHS " ~ $rhs.dump()); + + $!builder.store($rhs, $lhs); } our method process:pirop<==> (PAST::Op $chunk, %c) {