[vmkit-commits] [vmkit] r145763 - in /vmkit/trunk: Makefile.config.in Makefile.rules autoconf/configure.ac lib/j3/ClassLib/Classpath.h.in lib/j3/ClassLib/OpenJDK/JavaUpcalls.cpp lib/j3/ClassLib/OpenJDK/JavaUpcalls.h lib/j3/ClassLib/OpenJDK/Makefile lib/j3/ClassLib/OpenJDK/OpenJDK.inc
Will Dietz
wdietz2 at illinois.edu
Sat Dec 3 01:01:35 PST 2011
Author: wdietz2
Date: Sat Dec 3 03:01:34 2011
New Revision: 145763
URL: http://llvm.org/viewvc/llvm-project?rev=145763&view=rev
Log:
Build VMString into zip, pull into OpenJDK build for string interning.
(OpenJDK now builds again, seems to work as well as before)
Modified:
vmkit/trunk/Makefile.config.in
vmkit/trunk/Makefile.rules
vmkit/trunk/autoconf/configure.ac
vmkit/trunk/lib/j3/ClassLib/Classpath.h.in
vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.cpp
vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.h
vmkit/trunk/lib/j3/ClassLib/OpenJDK/Makefile
vmkit/trunk/lib/j3/ClassLib/OpenJDK/OpenJDK.inc
Modified: vmkit/trunk/Makefile.config.in
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.config.in?rev=145763&r1=145762&r2=145763&view=diff
==============================================================================
--- vmkit/trunk/Makefile.config.in (original)
+++ vmkit/trunk/Makefile.config.in Sat Dec 3 03:01:34 2011
@@ -17,6 +17,8 @@
MMTK_PLAN_HEADER = @MMTK_PLAN_HEADER@
WITH_64 = @WITH_64@
ANT = @ANT@
+JAVAC= @JAVAC@
+ZIP =@ZIP@
CLASSPATH_IMPL = @classpathimpl@
Modified: vmkit/trunk/Makefile.rules
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.rules?rev=145763&r1=145762&r2=145763&view=diff
==============================================================================
--- vmkit/trunk/Makefile.rules (original)
+++ vmkit/trunk/Makefile.rules Sat Dec 3 03:01:34 2011
@@ -145,3 +145,26 @@
-$(Verb) $(RM) -f FrametablesExterns.inc FrametablesSymbols.inc
endif
+
+###############################################################################
+# COMPILE_OPENJDK_ZIP: Build the specified java sources and zip them up
+###############################################################################
+ifeq ($(COMPILE_OPENJDK_ZIP), 1)
+
+# Some variables
+VMKIT_OPENJDK_ZIP=$(PROJ_OBJ_DIR)/vmkit-openjdk.zip
+CLASSES_DIR=$(PROJ_OBJ_DIR)/classes
+
+all-local:: $(VMKIT_OPENJDK_ZIP)
+clean-local::
+ -$(Verb) $(RM) -f $(CLASSES_DIR) $(VMKIT_OPENJDK_ZIP)
+
+
+$(VMKIT_OPENJDK_ZIP): $(addprefix $(PROJ_SRC_DIR)/,$(OPENJDK_JAVA_SOURCES))
+ $(Echo) "Building OpenJDK java sources into zip"
+ -$(Verb) $(RM) -rf $@ $(CLASSES_DIR)
+ $(Verb) $(MKDIR) $(CLASSES_DIR)
+ $(Verb) $(JAVAC) $^ -d $(CLASSES_DIR)
+ cd $(CLASSES_DIR) && $(ZIP) -qr $(VMKIT_OPENJDK_ZIP) .
+
+endif
Modified: vmkit/trunk/autoconf/configure.ac
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/autoconf/configure.ac?rev=145763&r1=145762&r2=145763&view=diff
==============================================================================
--- vmkit/trunk/autoconf/configure.ac (original)
+++ vmkit/trunk/autoconf/configure.ac Sat Dec 3 03:01:34 2011
@@ -304,6 +304,8 @@
AC_PATH_PROG(LLVMAS, [llvm-as], [llvm-as])
AC_PATH_PROG(LLC, [llc], [llc])
AC_PATH_PROG(ANT, [ant])
+AC_PATH_PROG(JAVAC, [javac], [javac])
+AC_PATH_PROG(ZIP, [zip], [zip])
dnl Find the install program
AC_PROG_INSTALL
Modified: vmkit/trunk/lib/j3/ClassLib/Classpath.h.in
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/Classpath.h.in?rev=145763&r1=145762&r2=145763&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/Classpath.h.in (original)
+++ vmkit/trunk/lib/j3/ClassLib/Classpath.h.in Sat Dec 3 03:01:34 2011
@@ -27,12 +27,7 @@
#define OpenJDKArch "@openjdkarchdir@"
// OpenJDK Bootstrap classpath
-#define OpenJDKBootPath \
- OpenJDKJRE "/lib/rt.jar" \
- ":" OpenJDKJRE "/lib/resources.jar" \
- ":" OpenJDKJRE "/lib/jsse.jar" \
- ":" OpenJDKJRE "/lib/jce.jar" \
- ":" OpenJDKJRE "/lib/charsets.jar"
+extern const char * OpenJDKBootPath;
// Location of OpenJDK's libjava.so
#define OpenJDKLibJava OpenJDKArch "/libjava.so"
Modified: vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.cpp?rev=145763&r1=145762&r2=145763&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.cpp (original)
+++ vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.cpp Sat Dec 3 03:01:34 2011
@@ -47,6 +47,7 @@
Class* Classpath::threadGroup;
JavaMethod* Classpath::getUncaughtExceptionHandler;
JavaMethod* Classpath::uncaughtException;
+JavaMethod* Classpath::internString;
JavaMethod* Classpath::setContextClassLoader;
JavaMethod* Classpath::getSystemClassLoader;
@@ -228,6 +229,14 @@
JavaMethod* Classpath::initRefHandler;
JavaMethod* Classpath::threadStart;
+const char * OpenJDKBootPath =
+ OpenJDKJRE "/lib/rt.jar"
+ ":" OpenJDKJRE "/lib/resources.jar"
+ ":" OpenJDKJRE "/lib/jsse.jar"
+ ":" OpenJDKJRE "/lib/jce.jar"
+ ":" OpenJDKJRE "/lib/charsets.jar"
+ ":" VMKitOpenJDKZip ;
+
void Classpath::CreateJavaThread(Jnjvm* vm, JavaThread* myth,
const char* thName, JavaObject* Group) {
JavaObject* th = NULL;
@@ -947,6 +956,12 @@
UPCALL_METHOD(loader, "java/lang/ref/Reference", "<clinit>",
"()V", ACC_STATIC);
ReferenceClassInit->setNative();
+
+ // String support
+
+ internString =
+ UPCALL_METHOD(loader, "java/lang/VMString", "intern",
+ "(Ljava/lang/String;)Ljava/lang/String;", ACC_STATIC);
}
void Classpath::InitializeSystem(Jnjvm * jvm) {
Modified: vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.h?rev=145763&r1=145762&r2=145763&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.h (original)
+++ vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.h Sat Dec 3 03:01:34 2011
@@ -144,6 +144,7 @@
ISOLATE_STATIC UserClass* threadGroup;
ISOLATE_STATIC JavaMethod* getUncaughtExceptionHandler;
ISOLATE_STATIC JavaMethod* uncaughtException;
+ ISOLATE_STATIC JavaMethod* internString;
ISOLATE_STATIC UserClass* InvocationTargetException;
Modified: vmkit/trunk/lib/j3/ClassLib/OpenJDK/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/OpenJDK/Makefile?rev=145763&r1=145762&r2=145763&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/OpenJDK/Makefile (original)
+++ vmkit/trunk/lib/j3/ClassLib/OpenJDK/Makefile Sat Dec 3 03:01:34 2011
@@ -14,9 +14,13 @@
MODULE_WITH_GC = Classpath
+COMPILE_OPENJDK_ZIP=1
+OPENJDK_JAVA_SOURCES=java/lang/VMString.java
+
include $(LEVEL)/Makefile.common
CXX.Flags += -I$(PROJ_SRC_DIR)/../../VMCore
CXX.Flags += -I$(PROJ_SRC_ROOT)/include/j3
CXX.Flags += -I$(PROJ_SRC_DIR)/.. -I$(PROJ_OBJ_DIR)/..
CXX.Flags += -I$(PROJ_SRC_ROOT)/include/j3/openjdk
+CXX.Flags += -DVMKitOpenJDKZip=\"$(VMKIT_OPENJDK_ZIP)\"
Modified: vmkit/trunk/lib/j3/ClassLib/OpenJDK/OpenJDK.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/OpenJDK/OpenJDK.inc?rev=145763&r1=145762&r2=145763&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/OpenJDK/OpenJDK.inc (original)
+++ vmkit/trunk/lib/j3/ClassLib/OpenJDK/OpenJDK.inc Sat Dec 3 03:01:34 2011
@@ -175,10 +175,6 @@
llvm_gcroot(array, 0);
llvm_gcroot(res, 0);
- // If already intern'd, just return.
- if(str->getVirtualTable() == JavaString::internStringVT)
- return _str;
-
BEGIN_JNI_EXCEPTION
Jnjvm* vm = JavaThread::get()->getJVM();
More information about the vmkit-commits
mailing list