aboutsummaryrefslogtreecommitdiff
path: root/interpreter/Elymas.pm
diff options
context:
space:
mode:
authorDrahflow <drahflow@gmx.de>2013-01-14 13:31:52 +0100
committerDrahflow <drahflow@gmx.de>2013-01-14 13:31:52 +0100
commit532e7c75a2a5fa95fda90a784aa4162f0d2d3f03 (patch)
tree3e76c5ced14c19a58e4bd7368c3f3a3a90452a4b /interpreter/Elymas.pm
parentfe0d09cfceff89d3215f3fa3f148ac3130d9b91a (diff)
More JIT in the Interpreter
Diffstat (limited to 'interpreter/Elymas.pm')
-rw-r--r--interpreter/Elymas.pm1
1 files changed, 1 insertions, 0 deletions
diff --git a/interpreter/Elymas.pm b/interpreter/Elymas.pm
index eb514fa..2661f5b 100644
--- a/interpreter/Elymas.pm
+++ b/interpreter/Elymas.pm
@@ -84,6 +84,7 @@ sub compileCode {
if(ref($t->[1]) eq 'ARRAY' and $t->[1]->[0] eq 'func') {
if(not $t->[1]->[2]) {
# untyped function, just call, no need to go through execute
+ $ret .= "\$i = $i;\n";
$ret .= "push \@globalCallStack, \$code[$i];\n";
$ret .= "&{\$code[$i]->[0]}(\$data, \$lscope);\n";
$ret .= "pop \@globalCallStack;\n";