changeset 1967:52bd1d878467

Arrays implement the Arrayish interface
author dsimms
date Wed, 27 Apr 2016 14:49:22 +0200
parents 86fa169315c6
children 5820f2afe811
files make/CompileJavaModules.gmk make/Images.gmk
diffstat 2 files changed, 25 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/make/CompileJavaModules.gmk	Wed Mar 16 16:49:47 2016 +0000
+++ b/make/CompileJavaModules.gmk	Wed Apr 27 14:49:22 2016 +0200
@@ -583,6 +583,26 @@
 endif
 
 ################################################################################
+# Valhalla: Temp hack to generate Arrayish<any T> model 3 classes
+# Fix this up later if still needed...
+
+VALHALLA_PRESPECIALIZED_PATH = $(JDK_OUTPUTDIR)/valhalla-prespecialized
+VALHALLA_PRESPECIALIZED_ARRAYISH = $(VALHALLA_PRESPECIALIZED_PATH)/java/lang/Arrayish.class
+$(VALHALLA_PRESPECIALIZED_ARRAYISH): $(java.base_COMPILE_TARGET)
+	$(ECHO) "Model3 Convert Arrayish"
+	$(MKDIR) -p $(VALHALLA_PRESPECIALIZED_PATH)
+	$(JAVA_SMALL) -Xbootclasspath/a:$(JDK_OUTPUTDIR)/modules/java.base \
+	  valhalla.model3.Model3Converter \
+	  $(JDK_OUTPUTDIR)/modules/java.base/java/lang/Arrayish.class \
+	  IZBCS $(VALHALLA_PRESPECIALIZED_PATH)
+
+model3convert_classes: $(VALHALLA_PRESPECIALIZED_ARRAYISH)
+
+ifeq ($(MODULE), java.base)
+  TARGETS += model3convert_classes
+endif
+
+################################################################################
 
 all: $(TARGETS)
 
--- a/make/Images.gmk	Wed Mar 16 16:49:47 2016 +0000
+++ b/make/Images.gmk	Wed Apr 27 14:49:22 2016 +0200
@@ -519,8 +519,12 @@
 		-Xbootclasspath/a:$(JDK_OUTPUTDIR)/modules/java.base \
 		valhalla.specializer.Prespecialize $(PRESPECIALIZE_DIRS)
 
+### Model 3 Valhalla Prespecialized path...temp hack
+copy_valhalla_prespecialized: $(JDK_TARGETS)
+	$(CP) -R $(JDK_OUTPUTDIR)/valhalla-prespecialized $(JDK_IMAGE_DIR)/
+
 jimages: $(TOOL_JRE_TARGETS) $(TOOL_JDK_TARGETS) $(JRE_TARGETS) $(JDK_TARGETS) \
-    $(SYMBOLS_TARGETS)
+    $(SYMBOLS_TARGETS) copy_valhalla_prespecialized
 
 $(JRE_COMPACT1_TARGETS): $(TOOL_JRE_COMPACT1_TARGETS)
 $(JRE_COMPACT2_TARGETS): $(TOOL_JRE_COMPACT2_TARGETS)