From 3582b97d8b78383f10ab581826aacd8691386482 Mon Sep 17 00:00:00 2001 From: James Roseborough Date: Wed, 21 May 2008 00:33:00 +0000 Subject: [PATCH] Add OP_CLOSURE to jit --- src/script/org/luaj/jit/JitPrototype.java | 3 + src/script/org/luaj/jit/LuaJit.java | 113 +++++++++++++++------- 2 files changed, 80 insertions(+), 36 deletions(-) diff --git a/src/script/org/luaj/jit/JitPrototype.java b/src/script/org/luaj/jit/JitPrototype.java index 57f4c82d..1acb5c38 100644 --- a/src/script/org/luaj/jit/JitPrototype.java +++ b/src/script/org/luaj/jit/JitPrototype.java @@ -1,8 +1,10 @@ package org.luaj.jit; import org.luaj.vm.LClosure; +import org.luaj.vm.LNil; import org.luaj.vm.LPrototype; import org.luaj.vm.LTable; +import org.luaj.vm.LValue; import org.luaj.vm.LuaState; abstract @@ -39,4 +41,5 @@ public class JitPrototype extends LPrototype { } public abstract void jitCall( LuaState vm, LTable env, JitClosure jcl ); + } diff --git a/src/script/org/luaj/jit/LuaJit.java b/src/script/org/luaj/jit/LuaJit.java index a9cfe1e1..5b90a27e 100644 --- a/src/script/org/luaj/jit/LuaJit.java +++ b/src/script/org/luaj/jit/LuaJit.java @@ -41,7 +41,10 @@ public class LuaJit extends Lua implements LuaCompiler { Platform.setInstance(new J2sePlatform()); LuaC.install(); - String program = "print 'starting'\nfor i=1,10 do\n\tprint 'hello, world'\nend"; + String program = "print 'starting'\n" + + "for i=1,10 do\n" + + " print 'hello, world'\n" + + "end"; InputStream is = new ByteArrayInputStream(program.getBytes()); LPrototype p = LuaC.compile(is, "program"); test( p ); @@ -172,6 +175,15 @@ public class LuaJit extends Lua implements LuaCompiler { } for (; is 0) { for ( int j=1; j