From 8d055862e00155013fb85e508150d5d4840d2beb Mon Sep 17 00:00:00 2001 From: James Roseborough Date: Mon, 19 May 2008 17:18:10 +0000 Subject: [PATCH] Add version "Luaj ${version}" into _VERSION field at build time. --- .classpath | 5 ++-- .cvsignore | 1 + .settings/org.eclipse.jdt.core.prefs | 12 ---------- build.xml | 12 +++++++++- src/core/org/luaj/lib/BaseLib.java | 3 ++- src/core/org/luaj/vm/Lua.java | 2 ++ src/core/org/luaj/vm/LuaState.java | 1 - src/script/org/luaj/jit/LuaJit.java | 24 +++++++++++++------ .../java}/org/luaj/jit/LuaJitTest.java | 2 ++ version.properties | 2 +- 10 files changed, 39 insertions(+), 25 deletions(-) delete mode 100644 .settings/org.eclipse.jdt.core.prefs rename src/{script => test/java}/org/luaj/jit/LuaJitTest.java (94%) diff --git a/.classpath b/.classpath index 1bd1e178..f799784c 100644 --- a/.classpath +++ b/.classpath @@ -1,12 +1,13 @@ + - - + + diff --git a/.cvsignore b/.cvsignore index f6f754a1..f0f2c72d 100644 --- a/.cvsignore +++ b/.cvsignore @@ -2,3 +2,4 @@ bin target build luaj*.jar +jit diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 82bf08a0..00000000 --- a/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,12 +0,0 @@ -#Tue Oct 09 20:37:03 PDT 2007 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.3 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore -org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore -org.eclipse.jdt.core.compiler.source=1.3 diff --git a/build.xml b/build.xml index 526db082..c40e46ff 100644 --- a/build.xml +++ b/build.xml @@ -13,12 +13,21 @@ + + + + + + + + + - + @@ -67,6 +76,7 @@ + WTK_HOME from env ${env.WTK_HOME} diff --git a/src/core/org/luaj/lib/BaseLib.java b/src/core/org/luaj/lib/BaseLib.java index bc6600c0..7dd57dd5 100644 --- a/src/core/org/luaj/lib/BaseLib.java +++ b/src/core/org/luaj/lib/BaseLib.java @@ -92,7 +92,8 @@ public class BaseLib extends LFunction { globals.put( NAMES[i], new BaseLib(i) ); next = new BaseLib(NEXT); inext = new BaseLib(INEXT); - globals.put("_VERSION", new LString("Lua 5.1")); + globals.put("_G", globals); + globals.put("_VERSION", new LString(Lua._VERSION)); } private int id; diff --git a/src/core/org/luaj/vm/Lua.java b/src/core/org/luaj/vm/Lua.java index 9194889d..8d64a686 100644 --- a/src/core/org/luaj/vm/Lua.java +++ b/src/core/org/luaj/vm/Lua.java @@ -27,6 +27,8 @@ package org.luaj.vm; * */ public class Lua { + /** version is supplied by ant build task */ + public static final String _VERSION = "Luaj 0.0"; /** use return values from previous op */ public static final int LUA_MULTRET = -1; diff --git a/src/core/org/luaj/vm/LuaState.java b/src/core/org/luaj/vm/LuaState.java index 01807489..754368ee 100644 --- a/src/core/org/luaj/vm/LuaState.java +++ b/src/core/org/luaj/vm/LuaState.java @@ -112,7 +112,6 @@ public class LuaState extends Lua { */ protected LuaState() { _G = new LTable(); - _G.put("_G", _G); mainState = this; } diff --git a/src/script/org/luaj/jit/LuaJit.java b/src/script/org/luaj/jit/LuaJit.java index 0abe27d5..a9cfe1e1 100644 --- a/src/script/org/luaj/jit/LuaJit.java +++ b/src/script/org/luaj/jit/LuaJit.java @@ -8,8 +8,6 @@ import java.io.InputStream; import java.io.PrintStream; import java.util.Arrays; -import javax.tools.Diagnostic; -import javax.tools.DiagnosticCollector; import javax.tools.JavaCompiler; import javax.tools.JavaFileObject; import javax.tools.StandardJavaFileManager; @@ -19,16 +17,24 @@ import javax.tools.JavaCompiler.CompilationTask; import org.luaj.compiler.LuaC; import org.luaj.debug.Print; -import org.luaj.jit.JitPrototype.JitClosure; import org.luaj.platform.J2sePlatform; import org.luaj.vm.LClosure; import org.luaj.vm.LPrototype; import org.luaj.vm.LValue; +import org.luaj.vm.LoadState; import org.luaj.vm.Lua; import org.luaj.vm.LuaState; import org.luaj.vm.Platform; +import org.luaj.vm.LoadState.LuaCompiler; -public class LuaJit extends Lua { +public class LuaJit extends Lua implements LuaCompiler { + + private static LuaC luac; + + public static void install() { + luac = new LuaC(); + LoadState.compiler = new LuaJit(); + } public static void main(String[] args) throws IOException { @@ -54,12 +60,16 @@ public class LuaJit extends Lua { } } - private static int counter = 0; + private static int filenum = 0; private static synchronized String filename() { - return "LuaJit"+(counter++); + return "LuaJit"+(filenum++); } - + + public LPrototype compile(int firstByte, InputStream stream, String name) throws IOException { + return jitCompile( luac.compile(firstByte, stream, name) ); + } + public static LPrototype jitCompile( LPrototype p ) { try { final JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); diff --git a/src/script/org/luaj/jit/LuaJitTest.java b/src/test/java/org/luaj/jit/LuaJitTest.java similarity index 94% rename from src/script/org/luaj/jit/LuaJitTest.java rename to src/test/java/org/luaj/jit/LuaJitTest.java index a2d2ecd2..596cef4d 100644 --- a/src/script/org/luaj/jit/LuaJitTest.java +++ b/src/test/java/org/luaj/jit/LuaJitTest.java @@ -1,6 +1,8 @@ package org.luaj.jit; + import java.io.IOException; +import org.luaj.jit.LuaJit; import org.luaj.vm.LPrototype; import org.luaj.vm.LuaJTest; import org.luaj.vm.LuaState; diff --git a/version.properties b/version.properties index 57b0d883..7cbd4954 100644 --- a/version.properties +++ b/version.properties @@ -1 +1 @@ -version: 0.32 +version: 0.33