# HG changeset patch # User twisti # Date 1444339874 36000 # Node ID 00f484891bcf905fc9d7e8ed960c9fe205457a36 # Parent 463fd35177fa6841e1d67cbab3b2554060c95d93 8136421: JEP 243: Java-Level JVM Compiler Interface Reviewed-by: ihse, alanb, roland, coleenp, iveresov, kvn, kbarrett diff -r 463fd35177fa -r 00f484891bcf .hgignore --- a/.hgignore Thu Oct 01 11:52:43 2015 -0700 +++ b/.hgignore Thu Oct 08 11:31:14 2015 -1000 @@ -5,3 +5,5 @@ ^.hgtip ^.bridge2 .DS_Store +.metadata/ +.recommenders/ diff -r 463fd35177fa -r 00f484891bcf make/CompileJavaModules.gmk --- a/make/CompileJavaModules.gmk Thu Oct 01 11:52:43 2015 -0700 +++ b/make/CompileJavaModules.gmk Thu Oct 08 11:31:14 2015 -1000 @@ -438,6 +438,18 @@ ################################################################################ +jdk.vm.ci_EXCLUDE_FILES += \ + jdk/vm/ci/options/processor/OptionProcessor.java \ + jdk/vm/ci/service/processor/ServiceProviderProcessor.java \ + # + +jdk.vm.ci_EXCLUDES += \ + META-INF/jvmci.options \ + META-INF/jvmci.providers \ + # + +################################################################################ + jdk.xml.bind_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS jdk.xml.bind_CLEAN := .properties jdk.xml.bind_COPY := .xsd JAXBContextFactory.java ZeroOneBooleanAdapter.java @@ -479,6 +491,7 @@ endif SHARE_SRC_DIRS += \ + $(HOTSPOT_TOPDIR)/src/$1/share/classes \ $(JDK_TOPDIR)/src/$1/share/classes \ $(LANGTOOLS_TOPDIR)/src/$1/share/classes \ $(CORBA_TOPDIR)/src/$1/share/classes \ @@ -531,7 +544,7 @@ $$(eval $$(call SetupJavaCompilation,$1, \ SETUP := $$(if $$($1_SETUP), $$($1_SETUP), GENERATE_JDKBYTECODE), \ - SRC := $$(wildcard $$(call ALL_SRC_DIRS,$1)), \ + SRC := $$(if $$($1_SRC), $$($1_SRC), $$(wildcard $$(call ALL_SRC_DIRS,$1))), \ INCLUDES := $(JDK_USER_DEFINED_FILTER),\ BIN := $$(if $$($1_BIN), $$($1_BIN), $(JDK_OUTPUTDIR)/modules/$1), \ HEADERS := $(SUPPORT_OUTPUTDIR)/headers/$1, \ diff -r 463fd35177fa -r 00f484891bcf make/Images.gmk --- a/make/Images.gmk Thu Oct 01 11:52:43 2015 -0700 +++ b/make/Images.gmk Thu Oct 08 11:31:14 2015 -1000 @@ -39,7 +39,8 @@ MAIN_MODULES += java.se java.smartcardio jdk.httpserver jdk.sctp \ jdk.security.auth jdk.security.jgss jdk.pack200 jdk.xml.dom \ - jdk.accessibility jdk.internal.le jdk.scripting.nashorn.shell + jdk.accessibility jdk.internal.le jdk.scripting.nashorn.shell \ + jdk.vm.ci # providers PROVIDER_MODULES += jdk.charsets jdk.crypto.ec jdk.crypto.pkcs11 jdk.jvmstat jdk.localedata \ diff -r 463fd35177fa -r 00f484891bcf make/Main.gmk --- a/make/Main.gmk Thu Oct 01 11:52:43 2015 -0700 +++ b/make/Main.gmk Thu Oct 08 11:31:14 2015 -1000 @@ -107,6 +107,7 @@ JDK_GENSRC_TARGETS := $(filter %-gensrc-jdk, $(GENSRC_TARGETS)) LANGTOOLS_GENSRC_TARGETS := $(filter %-gensrc-langtools, $(GENSRC_TARGETS)) CORBA_GENSRC_TARGETS := $(filter %-gensrc-corba, $(GENSRC_TARGETS)) +HOTSPOT_GENSRC_TARGETS := $(filter %-gensrc-hotspot, $(GENSRC_TARGETS)) ALL_TARGETS += $(GENSRC_TARGETS) @@ -128,7 +129,8 @@ FILE_PREFIX := Copy, \ MAKE_SUBDIR := copy, \ CHECK_MODULES := $(ALL_MODULES), \ - USE_WRAPPER := true)) + USE_WRAPPER := true, \ + MULTIPLE_MAKEFILES := true)) ALL_TARGETS += $(COPY_TARGETS) @@ -352,6 +354,8 @@ $(CORBA_GENSRC_TARGETS): interim-langtools + $(HOTSPOT_GENSRC_TARGETS): interim-langtools + $(JDK_GENSRC_TARGETS): interim-langtools buildtools-jdk $(GENDATA_TARGETS): interim-langtools buildtools-jdk @@ -415,6 +419,9 @@ # Explicitly add dependencies for special targets java.base-java: unpack-sec + # The copy target copies files generated by gensrc + java.base-copy-hotspot: java.base-gensrc-hotspot + jdk.jdeps-gendata: java rmic zip-security: java.base-java java.security.jgss-java java.security.jgss-libs \ diff -r 463fd35177fa -r 00f484891bcf make/MainSupport.gmk --- a/make/MainSupport.gmk Thu Oct 01 11:52:43 2015 -0700 +++ b/make/MainSupport.gmk Thu Oct 08 11:31:14 2015 -1000 @@ -108,7 +108,8 @@ ################################################################################ -MAKE_TOPDIR_LIST := $(JDK_TOPDIR) $(CORBA_TOPDIR) $(LANGTOOLS_TOPDIR) +MAKE_TOPDIR_LIST := $(JDK_TOPDIR) $(CORBA_TOPDIR) $(LANGTOOLS_TOPDIR) \ + $(HOTSPOT_TOPDIR) MAKE_MAKEDIR_LIST := make # Helper macro for DeclareRecipesForPhase @@ -179,7 +180,7 @@ # FILE_PREFIX : File prefix for this build phase # USE_WRAPPER : Set to true to use ModuleWrapper.gmk # CHECK_MODULES : List of modules to try -# MULTIPLE_MAKEFILES : Set to true to handle makefils for the same module in +# MULTIPLE_MAKEFILES : Set to true to handle makefiles for the same module and # phase in multiple repos # Exported variables: # $1_MODULES : All modules that had rules generated diff -r 463fd35177fa -r 00f484891bcf make/common/Modules.gmk --- a/make/common/Modules.gmk Thu Oct 01 11:52:43 2015 -0700 +++ b/make/common/Modules.gmk Thu Oct 08 11:31:14 2015 -1000 @@ -33,6 +33,7 @@ # Module list macros ALL_TOP_SRC_DIRS := \ + $(HOTSPOT_TOPDIR)/src \ $(JDK_TOPDIR)/src \ $(LANGTOOLS_TOPDIR)/src \ $(CORBA_TOPDIR)/src \ diff -r 463fd35177fa -r 00f484891bcf modules.xml --- a/modules.xml Thu Oct 01 11:52:43 2015 -0700 +++ b/modules.xml Thu Oct 08 11:31:14 2015 -1000 @@ -237,6 +237,7 @@ java.instrument jdk.jfr jdk.scripting.nashorn + jdk.vm.ci jdk.internal.org.objectweb.asm.commons @@ -290,6 +291,7 @@ jdk.security.auth jdk.security.jgss jdk.snmp + jdk.vm.ci java.instrument @@ -1872,6 +1874,18 @@ + jdk.vm.ci + java.base + + jdk.vm.ci.hotspot + jdk.jfr + + + jdk.vm.ci.hotspot.events + jdk.jfr + + + jdk.xml.bind java.activation java.base diff -r 463fd35177fa -r 00f484891bcf test/lib/sun/hotspot/WhiteBox.java --- a/test/lib/sun/hotspot/WhiteBox.java Thu Oct 01 11:52:43 2015 -0700 +++ b/test/lib/sun/hotspot/WhiteBox.java Thu Oct 08 11:31:14 2015 -1000 @@ -112,6 +112,12 @@ public native void forceSafepoint(); + private native long getConstantPool0(Class aClass); + public long getConstantPool(Class aClass) { + Objects.requireNonNull(aClass); + return getConstantPool0(aClass); + } + // JVMTI private native void addToBootstrapClassLoaderSearch0(String segment); public void addToBootstrapClassLoaderSearch(String segment){ @@ -289,6 +295,11 @@ public native void forceNMethodSweep(); public native Object[] getCodeHeapEntries(int type); public native int getCompilationActivityMode(); + private native long getMethodData0(Executable method); + public long getMethodData(Executable method) { + Objects.requireNonNull(method); + return getMethodData0(method); + } public native Object[] getCodeBlob(long addr); // Intered strings diff -r 463fd35177fa -r 00f484891bcf test/lib/sun/hotspot/code/NMethod.java --- a/test/lib/sun/hotspot/code/NMethod.java Thu Oct 01 11:52:43 2015 -0700 +++ b/test/lib/sun/hotspot/code/NMethod.java Thu Oct 08 11:31:14 2015 -1000 @@ -35,14 +35,16 @@ } private NMethod(Object[] obj) { super((Object[])obj[0]); - assert obj.length == 4; + assert obj.length == 5; comp_level = (Integer) obj[1]; insts = (byte[]) obj[2]; compile_id = (Integer) obj[3]; + address = (Long) obj[4]; } public final byte[] insts; public final int comp_level; public final int compile_id; + public final long address; @Override public String toString() { @@ -51,6 +53,7 @@ + ", insts=" + insts + ", comp_level=" + comp_level + ", compile_id=" + compile_id + + ", address=" + address + '}'; } }