This commit is contained in:
Bob Vandette 2018-06-12 18:53:38 -04:00
commit deba30de16
2767 changed files with 221508 additions and 36593 deletions

View file

@ -487,3 +487,5 @@ e1e60f75cd39312a7f59d2a4f91d624e5aecc95e jdk-11+11
758deedaae8406ae60147486107a54e9864aa7b0 jdk-11+13 758deedaae8406ae60147486107a54e9864aa7b0 jdk-11+13
3595bd343b65f8c37818ebe6a4c343ddeb1a5f88 jdk-11+14 3595bd343b65f8c37818ebe6a4c343ddeb1a5f88 jdk-11+14
a11c1cb542bbd1671d25b85efe7d09b983c48525 jdk-11+15 a11c1cb542bbd1671d25b85efe7d09b983c48525 jdk-11+15
02934b0d661b82b7fe1052a04998d2091352e08d jdk-11+16
64e4b1686141e57a681936a8283983341484676e jdk-11+17

View file

@ -505,7 +505,7 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<ul> <ul>
<li><code>hotspot</code> - Build all of hotspot (but only hotspot)</li> <li><code>hotspot</code> - Build all of hotspot (but only hotspot)</li>
<li><code>hotspot-&lt;variant&gt;</code> - Build just the specified jvm variant</li> <li><code>hotspot-&lt;variant&gt;</code> - Build just the specified jvm variant</li>
<li><code>images</code> or <code>product-images</code> - Build the JRE and JDK images</li> <li><code>images</code> or <code>product-images</code> - Build the JDK image</li>
<li><code>docs</code> or <code>docs-image</code> - Build the documentation image</li> <li><code>docs</code> or <code>docs-image</code> - Build the documentation image</li>
<li><code>test-image</code> - Build the test image</li> <li><code>test-image</code> - Build the test image</li>
<li><code>all</code> or <code>all-images</code> - Build all images (product, docs and test)</li> <li><code>all</code> or <code>all-images</code> - Build all images (product, docs and test)</li>
@ -639,7 +639,7 @@ cp: cannot stat `arm-linux-gnueabihf/libXt.so&#39;: No such file or directory</c
<p>OpenJDK contains two different ports for the aarch64 platform, one is the original aarch64 port from the <a href="http://openjdk.java.net/projects/aarch64-port">AArch64 Port Project</a> and one is a 64-bit version of the Oracle contributed ARM port. When targeting aarch64, by the default the original aarch64 port is used. To select the Oracle ARM 64 port, use <code>--with-cpu-port=arm64</code>. Also set the corresponding value (<code>aarch64</code> or <code>arm64</code>) to --with-abi-profile, to ensure a consistent build.</p> <p>OpenJDK contains two different ports for the aarch64 platform, one is the original aarch64 port from the <a href="http://openjdk.java.net/projects/aarch64-port">AArch64 Port Project</a> and one is a 64-bit version of the Oracle contributed ARM port. When targeting aarch64, by the default the original aarch64 port is used. To select the Oracle ARM 64 port, use <code>--with-cpu-port=arm64</code>. Also set the corresponding value (<code>aarch64</code> or <code>arm64</code>) to --with-abi-profile, to ensure a consistent build.</p>
<h3 id="verifying-the-build">Verifying the Build</h3> <h3 id="verifying-the-build">Verifying the Build</h3>
<p>The build will end up in a directory named like <code>build/linux-arm-normal-server-release</code>.</p> <p>The build will end up in a directory named like <code>build/linux-arm-normal-server-release</code>.</p>
<p>Inside this build output directory, the <code>images/jdk</code> and <code>images/jre</code> will contain the newly built JDK and JRE, respectively, for your <em>target</em> system.</p> <p>Inside this build output directory, the <code>images/jdk</code> will contain the newly built JDK, for your <em>target</em> system.</p>
<p>Copy these folders to your <em>target</em> system. Then you can run e.g. <code>images/jdk/bin/java -version</code>.</p> <p>Copy these folders to your <em>target</em> system. Then you can run e.g. <code>images/jdk/bin/java -version</code>.</p>
<h2 id="build-performance">Build Performance</h2> <h2 id="build-performance">Build Performance</h2>
<p>Building OpenJDK requires a lot of horsepower. Some of the build tools can be adjusted to utilize more or less of resources such as parallel threads and memory. The <code>configure</code> script analyzes your system and selects reasonable values for such options based on your hardware. If you encounter resource problems, such as out of memory conditions, you can modify the detected values with:</p> <p>Building OpenJDK requires a lot of horsepower. Some of the build tools can be adjusted to utilize more or less of resources such as parallel threads and memory. The <code>configure</code> script analyzes your system and selects reasonable values for such options based on your hardware. If you encounter resource problems, such as out of memory conditions, you can modify the detected values with:</p>

View file

@ -747,7 +747,7 @@ Apart from the default target, here are some common make targets:
* `hotspot` - Build all of hotspot (but only hotspot) * `hotspot` - Build all of hotspot (but only hotspot)
* `hotspot-<variant>` - Build just the specified jvm variant * `hotspot-<variant>` - Build just the specified jvm variant
* `images` or `product-images` - Build the JRE and JDK images * `images` or `product-images` - Build the JDK image
* `docs` or `docs-image` - Build the documentation image * `docs` or `docs-image` - Build the documentation image
* `test-image` - Build the test image * `test-image` - Build the test image
* `all` or `all-images` - Build all images (product, docs and test) * `all` or `all-images` - Build all images (product, docs and test)
@ -1039,8 +1039,8 @@ original aarch64 port is used. To select the Oracle ARM 64 port, use
The build will end up in a directory named like The build will end up in a directory named like
`build/linux-arm-normal-server-release`. `build/linux-arm-normal-server-release`.
Inside this build output directory, the `images/jdk` and `images/jre` will Inside this build output directory, the `images/jdk` will contain the newly
contain the newly built JDK and JRE, respectively, for your *target* system. built JDK, for your *target* system.
Copy these folders to your *target* system. Then you can run e.g. Copy these folders to your *target* system. Then you can run e.g.
`images/jdk/bin/java -version`. `images/jdk/bin/java -version`.

View file

@ -1,115 +0,0 @@
#
# Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# This must be the first rule
default: all
include $(SPEC)
include MakeBase.gmk
include JarArchive.gmk
include JavaCompilation.gmk
include SetupJavaCompilers.gmk
include TextFileProcessing.gmk
include Modules.gmk
JDK_CLASSES := $(call PathList, $(strip $(addprefix $(JDK_OUTPUTDIR)/modules/, \
java.base java.logging java.scripting jdk.dynalink)))
# Need to use source and target 8 for nasgen to work.
$(eval $(call SetupJavaCompiler, GENERATE_NEWBYTECODE_DEBUG, \
JVM := $(JAVA_JAVAC), \
JAVAC := $(NEW_JAVAC), \
FLAGS := -g -source 10 -target 10 --upgrade-module-path "$(JDK_OUTPUTDIR)/modules/" \
--system none --module-source-path $(call GetModuleSrcPath), \
SERVER_DIR := $(SJAVAC_SERVER_DIR), \
SERVER_JVM := $(SJAVAC_SERVER_JAVA)))
# Build nashorn into intermediate directory
# Name the compilation setup the same as the module, as is done in the global
# CompileJavaModules.gmk, to make dependency checking with other modules work
# seamlessly.
$(eval $(call SetupJavaCompilation, jdk.scripting.nashorn, \
SETUP := GENERATE_NEWBYTECODE_DEBUG, \
MODULE := jdk.scripting.nashorn, \
SRC := $(TOPDIR)/src/jdk.scripting.nashorn/share/classes, \
COPY := .properties .js, \
BIN := $(SUPPORT_OUTPUTDIR)/special_classes, \
CREATE_API_DIGEST := true, \
))
# Declare dependencies between java compilations of different modules.
# Since the other modules are declared in different invocations of this file,
# use the macro to find the correct target file to depend on.
# Only the javac compilation actually depends on other modules so limit
# dependency declaration to that by using the *_COMPILE_TARGET variable.
$(jdk.scripting.nashorn_COMPILE_TARGET): $(foreach d, $(call FindDepsForModule, jdk.scripting.nashorn), \
$(call SetupJavaCompilationApiTarget, $d, \
$(if $($d_BIN), $($d_BIN), $(JDK_OUTPUTDIR)/modules/$d)))
NASGEN_SRC := $(TOPDIR)/make/nashorn/buildtools/nasgen/src
ASM_SRC := $(TOPDIR)/src/java.base/share/classes/jdk/internal/org/objectweb/asm
# Build nasgen
$(eval $(call SetupJavaCompilation, BUILD_NASGEN, \
SETUP := GENERATE_OLDBYTECODE, \
SRC := $(NASGEN_SRC) $(ASM_SRC), \
BIN := $(BUILDTOOLS_OUTPUTDIR)/nasgen_classes))
NASHORN_CLASSES_DIR := $(JDK_OUTPUTDIR)/modules/jdk.scripting.nashorn
NASGEN_RUN_FILE := $(NASHORN_CLASSES_DIR)/_the.nasgen.run
NASGEN_OPTIONS := \
-cp $(BUILDTOOLS_OUTPUTDIR)/nasgen_classes \
--patch-module java.base=$(BUILDTOOLS_OUTPUTDIR)/nasgen_classes \
--add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
--add-exports java.base/jdk.internal.org.objectweb.asm.util=ALL-UNNAMED \
#
# Copy classes to final classes dir and run nasgen to modify classes in jdk.nashorn.internal.objects package
$(NASGEN_RUN_FILE): $(BUILD_NASGEN) $(jdk.scripting.nashorn)
$(ECHO) Running nasgen
$(MKDIR) -p $(@D)
$(RM) -rf $(@D)/jdk $(@D)/netscape
$(CP) -R -p $(SUPPORT_OUTPUTDIR)/special_classes/jdk.scripting.nashorn/* $(@D)/
$(JAVA_SMALL) $(NASGEN_OPTIONS) \
jdk.nashorn.internal.tools.nasgen.Main $(@D) jdk.nashorn.internal.objects $(@D)
$(TOUCH) $@
# Version file needs to be processed with version numbers
$(eval $(call SetupTextFileProcessing, BUILD_VERSION_FILE, \
SOURCE_FILES := $(TOPDIR)/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/version.properties.template, \
OUTPUT_FILE := $(JDK_OUTPUTDIR)/modules/jdk.scripting.nashorn/jdk/nashorn/internal/runtime/resources/version.properties, \
REPLACEMENTS := \
@@VERSION_STRING@@ => $(VERSION_STRING) ; \
@@VERSION_SHORT@@ => $(VERSION_SHORT) , \
))
# Version processing needs to happen after nasgen run since nasgen run deletes it
$(BUILD_VERSION_FILE): $(NASGEN_RUN_FILE)
compile: $(NASGEN_RUN_FILE) $(BUILD_VERSION_FILE)
all: compile
.PHONY: compile all

View file

@ -146,19 +146,13 @@ endef
# correct base directories. # correct base directories.
ifeq ($(OPENJDK_TARGET_OS)-$(DEBUG_LEVEL), macosx-release) ifeq ($(OPENJDK_TARGET_OS)-$(DEBUG_LEVEL), macosx-release)
JDK_IMAGE_DIR := $(JDK_MACOSX_BUNDLE_DIR) JDK_IMAGE_DIR := $(JDK_MACOSX_BUNDLE_DIR)
JRE_IMAGE_DIR := $(JRE_MACOSX_BUNDLE_DIR)
JDK_IMAGE_HOMEDIR := $(JDK_MACOSX_CONTENTS_DIR)/Home JDK_IMAGE_HOMEDIR := $(JDK_MACOSX_CONTENTS_DIR)/Home
JRE_IMAGE_HOMEDIR := $(JRE_MACOSX_CONTENTS_DIR)/Home
JDK_BUNDLE_SUBDIR := JDK_BUNDLE_SUBDIR :=
JRE_BUNDLE_SUBDIR :=
else else
JDK_IMAGE_HOMEDIR := $(JDK_IMAGE_DIR) JDK_IMAGE_HOMEDIR := $(JDK_IMAGE_DIR)
JRE_IMAGE_HOMEDIR := $(JRE_IMAGE_DIR)
JDK_BUNDLE_SUBDIR := jdk-$(VERSION_NUMBER) JDK_BUNDLE_SUBDIR := jdk-$(VERSION_NUMBER)
JRE_BUNDLE_SUBDIR := jre-$(VERSION_NUMBER)
ifneq ($(DEBUG_LEVEL), release) ifneq ($(DEBUG_LEVEL), release)
JDK_BUNDLE_SUBDIR := $(JDK_BUNDLE_SUBDIR)/$(DEBUG_LEVEL) JDK_BUNDLE_SUBDIR := $(JDK_BUNDLE_SUBDIR)/$(DEBUG_LEVEL)
JRE_BUNDLE_SUBDIR := $(JRE_BUNDLE_SUBDIR)/$(DEBUG_LEVEL)
endif endif
endif endif
@ -204,26 +198,6 @@ ifneq ($(filter product-bundles, $(MAKECMDGOALS)), )
TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_IMAGE_HOMEDIR)/demo/%, $(ALL_JDK_FILES)) TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_IMAGE_HOMEDIR)/demo/%, $(ALL_JDK_FILES))
ALL_JRE_FILES := $(call CacheFind, $(JRE_IMAGE_DIR))
# Create special filter rules when dealing with unzipped .dSYM directories on
# macosx
ifeq ($(OPENJDK_TARGET_OS), macosx)
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
JRE_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
$(call containing, .dSYM/, $(patsubst $(JRE_IMAGE_DIR)/%, %, $(ALL_JRE_FILES))))
endif
endif
JRE_BUNDLE_FILES := $(filter-out \
$(JRE_SYMBOLS_EXCLUDE_PATTERN) \
$(SYMBOLS_EXCLUDE_PATTERN), \
$(ALL_JRE_FILES))
JRE_SYMBOLS_BUNDLE_FILES := $(filter \
$(JRE_SYMBOLS_EXCLUDE_PATTERN) \
$(SYMBOLS_EXCLUDE_PATTERN), \
$(ALL_JRE_FILES))
$(eval $(call SetupBundleFile, BUILD_JDK_BUNDLE, \ $(eval $(call SetupBundleFile, BUILD_JDK_BUNDLE, \
BUNDLE_NAME := $(JDK_BUNDLE_NAME), \ BUNDLE_NAME := $(JDK_BUNDLE_NAME), \
FILES := $(JDK_BUNDLE_FILES), \ FILES := $(JDK_BUNDLE_FILES), \
@ -234,15 +208,6 @@ ifneq ($(filter product-bundles, $(MAKECMDGOALS)), )
PRODUCT_TARGETS += $(BUILD_JDK_BUNDLE) PRODUCT_TARGETS += $(BUILD_JDK_BUNDLE)
$(eval $(call SetupBundleFile, BUILD_JRE_BUNDLE, \
BUNDLE_NAME := $(JRE_BUNDLE_NAME), \
FILES := $(JRE_BUNDLE_FILES), \
BASE_DIRS := $(JRE_IMAGE_DIR), \
SUBDIR := $(JRE_BUNDLE_SUBDIR), \
))
PRODUCT_TARGETS += $(BUILD_JRE_BUNDLE)
$(eval $(call SetupBundleFile, BUILD_JDK_SYMBOLS_BUNDLE, \ $(eval $(call SetupBundleFile, BUILD_JDK_SYMBOLS_BUNDLE, \
BUNDLE_NAME := $(JDK_SYMBOLS_BUNDLE_NAME), \ BUNDLE_NAME := $(JDK_SYMBOLS_BUNDLE_NAME), \
FILES := $(JDK_SYMBOLS_BUNDLE_FILES), \ FILES := $(JDK_SYMBOLS_BUNDLE_FILES), \
@ -253,16 +218,6 @@ ifneq ($(filter product-bundles, $(MAKECMDGOALS)), )
PRODUCT_TARGETS += $(BUILD_JDK_SYMBOLS_BUNDLE) PRODUCT_TARGETS += $(BUILD_JDK_SYMBOLS_BUNDLE)
$(eval $(call SetupBundleFile, BUILD_JRE_SYMBOLS_BUNDLE, \
BUNDLE_NAME := $(JRE_SYMBOLS_BUNDLE_NAME), \
FILES := $(JRE_SYMBOLS_BUNDLE_FILES), \
BASE_DIRS := $(JRE_IMAGE_DIR), \
SUBDIR := $(JRE_BUNDLE_SUBDIR), \
UNZIP_DEBUGINFO := true, \
))
PRODUCT_TARGETS += $(BUILD_JRE_SYMBOLS_BUNDLE)
# The demo bundle is only created to support client tests. Ideally it should # The demo bundle is only created to support client tests. Ideally it should
# be built with the main test bundle, but since the prerequisites match # be built with the main test bundle, but since the prerequisites match
# better with the product build, it makes more sense to keep it there for now. # better with the product build, it makes more sense to keep it there for now.

View file

@ -325,6 +325,10 @@ jdk.internal.le_COPY += .properties
################################################################################ ################################################################################
jdk.internal.opt_COPY += .properties
################################################################################
jdk.jcmd_COPY += _options jdk.jcmd_COPY += _options
################################################################################ ################################################################################
@ -341,6 +345,10 @@ jdk.jartool_ADD_JAVAC_FLAGS += -XDstringConcat=inline
################################################################################ ################################################################################
jdk.scripting.nashorn_COPY := .properties .js
################################################################################
jdk.scripting.nashorn.shell_COPY += .js .properties jdk.scripting.nashorn.shell_COPY += .js .properties
################################################################################ ################################################################################
@ -440,11 +448,13 @@ jdk.internal.vm.compiler_ADD_JAVAC_FLAGS += -parameters -XDstringConcat=inline \
jdk.internal.vm.compiler_EXCLUDES += \ jdk.internal.vm.compiler_EXCLUDES += \
jdk.internal.vm.compiler.collections.test \ jdk.internal.vm.compiler.collections.test \
org.graalvm.compiler.processor \
org.graalvm.compiler.core.match.processor \ org.graalvm.compiler.core.match.processor \
org.graalvm.compiler.nodeinfo.processor \ org.graalvm.compiler.nodeinfo.processor \
org.graalvm.compiler.options.processor \ org.graalvm.compiler.options.processor \
org.graalvm.compiler.serviceprovider.processor \ org.graalvm.compiler.serviceprovider.processor \
org.graalvm.compiler.replacements.verifier \ org.graalvm.compiler.replacements.processor \
org.graalvm.compiler.replacements.jdk9.test \
org.graalvm.compiler.api.directives.test \ org.graalvm.compiler.api.directives.test \
org.graalvm.compiler.api.test \ org.graalvm.compiler.api.test \
org.graalvm.compiler.asm.aarch64.test \ org.graalvm.compiler.asm.aarch64.test \
@ -642,6 +652,12 @@ endif
################################################################################ ################################################################################
ifeq ($(MODULE), jdk.scripting.nashorn)
include CompileJavaModulesNashorn.gmk
endif
################################################################################
$(eval $(call IncludeCustomExtension, CompileJavaModules-post.gmk)) $(eval $(call IncludeCustomExtension, CompileJavaModules-post.gmk))
################################################################################ ################################################################################

View file

@ -0,0 +1,54 @@
#
# Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
NASGEN_SRC := $(TOPDIR)/make/nashorn/buildtools/nasgen/src
ASM_SRC := $(TOPDIR)/src/java.base/share/classes/jdk/internal/org/objectweb/asm
# Build nasgen
$(eval $(call SetupJavaCompilation, BUILD_NASGEN, \
SETUP := GENERATE_OLDBYTECODE, \
SRC := $(NASGEN_SRC) $(ASM_SRC), \
BIN := $(BUILDTOOLS_OUTPUTDIR)/nasgen_classes, \
))
NASHORN_CLASSES_DIR := $(JDK_OUTPUTDIR)/modules/$(MODULE)
NASGEN_RUN_FILE := $(NASHORN_CLASSES_DIR)/_the.nasgen.run
NASGEN_OPTIONS := \
-cp $(BUILDTOOLS_OUTPUTDIR)/nasgen_classes \
--patch-module java.base=$(BUILDTOOLS_OUTPUTDIR)/nasgen_classes \
--add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
--add-exports java.base/jdk.internal.org.objectweb.asm.util=ALL-UNNAMED \
#
# Run nasgen to modify classes in jdk.nashorn.internal.objects package
$(NASGEN_RUN_FILE): $(BUILD_NASGEN) $($(MODULE))
$(ECHO) Running nasgen
$(JAVA_SMALL) $(NASGEN_OPTIONS) \
jdk.nashorn.internal.tools.nasgen.Main $(@D) \
jdk.nashorn.internal.objects $(@D)
$(TOUCH) $@
TARGETS += $(NASGEN_RUN_FILE)

View file

@ -47,34 +47,8 @@ ifeq ($(INCLUDE_GRAAL), true)
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_MATCH_PROCESSOR, \ $(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_MATCH_PROCESSOR, \
SETUP := GENERATE_OLDBYTECODE, \ SETUP := GENERATE_OLDBYTECODE, \
SRC := \ SRC := \
$(SRC_DIR)/jdk.internal.vm.compiler.word/src \ $(SRC_DIR)/org.graalvm.compiler.processor/src \
$(SRC_DIR)/jdk.internal.vm.compiler.collections/src \
$(SRC_DIR)/org.graalvm.compiler.core/src \
$(SRC_DIR)/org.graalvm.compiler.core.common/src \
$(SRC_DIR)/org.graalvm.compiler.core.match.processor/src \ $(SRC_DIR)/org.graalvm.compiler.core.match.processor/src \
$(SRC_DIR)/org.graalvm.compiler.api.replacements/src \
$(SRC_DIR)/org.graalvm.compiler.asm/src \
$(SRC_DIR)/org.graalvm.compiler.bytecode/src \
$(SRC_DIR)/org.graalvm.compiler.code/src \
$(SRC_DIR)/org.graalvm.compiler.debug/src \
$(SRC_DIR)/org.graalvm.compiler.graph/src \
$(SRC_DIR)/org.graalvm.compiler.lir/src \
$(SRC_DIR)/org.graalvm.compiler.loop/src \
$(SRC_DIR)/org.graalvm.compiler.loop.phases/src \
$(SRC_DIR)/org.graalvm.compiler.nodeinfo/src \
$(SRC_DIR)/org.graalvm.compiler.nodes/src \
$(SRC_DIR)/org.graalvm.compiler.options/src \
$(SRC_DIR)/org.graalvm.compiler.phases/src \
$(SRC_DIR)/org.graalvm.compiler.phases.common/src \
$(SRC_DIR)/org.graalvm.compiler.serviceprovider/src \
$(SRC_DIR)/org.graalvm.compiler.virtual/src \
$(SRC_DIR)/org.graalvm.graphio/src \
$(SRC_DIR)/org.graalvm.util/src \
$(VM_CI_SRC_DIR)/jdk.vm.ci.code/src \
$(VM_CI_SRC_DIR)/jdk.vm.ci.common/src \
$(VM_CI_SRC_DIR)/jdk.vm.ci.meta/src \
$(VM_CI_SRC_DIR)/jdk.vm.ci.runtime/src \
$(VM_CI_SRC_DIR)/jdk.vm.ci.services/src \
, \ , \
EXCLUDE_FILES := $(EXCLUDE_FILES), \ EXCLUDE_FILES := $(EXCLUDE_FILES), \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.match.processor, \ BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.match.processor, \
@ -88,7 +62,7 @@ ifeq ($(INCLUDE_GRAAL), true)
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_NODEINFO_PROCESSOR, \ $(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_NODEINFO_PROCESSOR, \
SETUP := GENERATE_OLDBYTECODE, \ SETUP := GENERATE_OLDBYTECODE, \
SRC := \ SRC := \
$(SRC_DIR)/org.graalvm.compiler.nodeinfo/src \ $(SRC_DIR)/org.graalvm.compiler.processor/src \
$(SRC_DIR)/org.graalvm.compiler.nodeinfo.processor/src \ $(SRC_DIR)/org.graalvm.compiler.nodeinfo.processor/src \
, \ , \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.nodeinfo.processor, \ BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.nodeinfo.processor, \
@ -102,10 +76,8 @@ ifeq ($(INCLUDE_GRAAL), true)
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_OPTIONS_PROCESSOR, \ $(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_OPTIONS_PROCESSOR, \
SETUP := GENERATE_OLDBYTECODE, \ SETUP := GENERATE_OLDBYTECODE, \
SRC := \ SRC := \
$(SRC_DIR)/jdk.internal.vm.compiler.collections/src \ $(SRC_DIR)/org.graalvm.compiler.processor/src \
$(SRC_DIR)/org.graalvm.compiler.options/src \
$(SRC_DIR)/org.graalvm.compiler.options.processor/src \ $(SRC_DIR)/org.graalvm.compiler.options.processor/src \
$(SRC_DIR)/org.graalvm.util/src \
, \ , \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.options.processor, \ BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.options.processor, \
JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.options.processor.jar, \ JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.options.processor.jar, \
@ -115,44 +87,26 @@ ifeq ($(INCLUDE_GRAAL), true)
############################################################################## ##############################################################################
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_REPLACEMENTS_VERIFIER, \ $(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_REPLACEMENTS_PROCESSOR, \
SETUP := GENERATE_OLDBYTECODE, \ SETUP := GENERATE_OLDBYTECODE, \
SRC := \ SRC := \
$(SRC_DIR)/jdk.internal.vm.compiler.word/src \ $(SRC_DIR)/org.graalvm.compiler.processor/src \
$(SRC_DIR)/jdk.internal.vm.compiler.collections/src \ $(SRC_DIR)/org.graalvm.compiler.replacements.processor/src \
$(SRC_DIR)/org.graalvm.compiler.bytecode/src \
$(SRC_DIR)/org.graalvm.compiler.replacements.verifier/src \
$(SRC_DIR)/org.graalvm.compiler.api.replacements/src \
$(SRC_DIR)/org.graalvm.compiler.code/src \
$(SRC_DIR)/org.graalvm.compiler.core.common/src \
$(SRC_DIR)/org.graalvm.compiler.debug/src \
$(SRC_DIR)/org.graalvm.compiler.graph/src \
$(SRC_DIR)/org.graalvm.compiler.nodeinfo/src \
$(SRC_DIR)/org.graalvm.compiler.options/src \
$(SRC_DIR)/org.graalvm.compiler.serviceprovider/src \
$(SRC_DIR)/org.graalvm.graphio/src \
$(SRC_DIR)/org.graalvm.util/src \
$(VM_CI_SRC_DIR)/jdk.vm.ci.code/src \
$(VM_CI_SRC_DIR)/jdk.vm.ci.common/src \
$(VM_CI_SRC_DIR)/jdk.vm.ci.meta/src \
$(VM_CI_SRC_DIR)/jdk.vm.ci.runtime/src \
$(VM_CI_SRC_DIR)/jdk.vm.ci.services/src \
, \ , \
EXCLUDE_FILES := $(EXCLUDE_FILES), \ EXCLUDE_FILES := $(EXCLUDE_FILES), \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.replacements.verifier, \ BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.replacements.verifier, \
JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.replacements.verifier.jar, \ JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.replacements.verifier.jar, \
)) ))
TARGETS += $(BUILD_VM_COMPILER_REPLACEMENTS_VERIFIER) TARGETS += $(BUILD_VM_COMPILER_REPLACEMENTS_PROCESSOR)
############################################################################## ##############################################################################
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_SERVICEPROVIDER_PROCESSOR, \ $(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_SERVICEPROVIDER_PROCESSOR, \
SETUP := GENERATE_OLDBYTECODE, \ SETUP := GENERATE_OLDBYTECODE, \
SRC := \ SRC := \
$(SRC_DIR)/org.graalvm.compiler.serviceprovider/src \ $(SRC_DIR)/org.graalvm.compiler.processor/src \
$(SRC_DIR)/org.graalvm.compiler.serviceprovider.processor/src \ $(SRC_DIR)/org.graalvm.compiler.serviceprovider.processor/src \
$(VM_CI_SRC_DIR)/jdk.vm.ci.services/src \
, \ , \
EXCLUDE_FILES := $(EXCLUDE_FILES), \ EXCLUDE_FILES := $(EXCLUDE_FILES), \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.serviceprovider.processor, \ BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.serviceprovider.processor, \

View file

@ -40,10 +40,10 @@ help:
$(info $(_) # image (alias for jdk or exploded-image)) $(info $(_) # image (alias for jdk or exploded-image))
$(info $(_) make all # Create all images: product, test, docs) $(info $(_) make all # Create all images: product, test, docs)
$(info $(_) # (alias for all-images)) $(info $(_) # (alias for all-images))
$(info $(_) make images # Create complete jdk and jre images) $(info $(_) make images # Create a complete jdk image)
$(info $(_) # (alias for product-images)) $(info $(_) # (alias for product-images))
$(info $(_) make <name>-image # Build just the image for any of: ) $(info $(_) make <name>-image # Build just the image for any of: )
$(info $(_) # jdk, jre, test, docs, symbols) $(info $(_) # jdk, test, docs, symbols, legacy-jre)
$(info $(_) make <phase> # Build the specified phase and everything it depends on) $(info $(_) make <phase> # Build the specified phase and everything it depends on)
$(info $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic)) $(info $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic))
$(info $(_) make *-only # Applies to most targets and disables building the) $(info $(_) make *-only # Applies to most targets and disables building the)

View file

@ -90,7 +90,7 @@ endif
$(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
$(call DependOnVariable, JDK_MODULES_LIST) $(BASE_RELEASE_FILE) $(call DependOnVariable, JDK_MODULES_LIST) $(BASE_RELEASE_FILE)
$(ECHO) Creating jdk jimage $(ECHO) Creating jdk image
$(RM) -r $(JDK_IMAGE_DIR) $(RM) -r $(JDK_IMAGE_DIR)
$(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/images/jdk, \ $(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/images/jdk, \
$(JLINK_TOOL) --add-modules $(JDK_MODULES_LIST) \ $(JLINK_TOOL) --add-modules $(JDK_MODULES_LIST) \
@ -101,7 +101,7 @@ $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
$(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
$(call DependOnVariable, JRE_MODULES_LIST) $(BASE_RELEASE_FILE) $(call DependOnVariable, JRE_MODULES_LIST) $(BASE_RELEASE_FILE)
$(ECHO) Creating jre jimage $(ECHO) Creating legacy jre image
$(RM) -r $(JRE_IMAGE_DIR) $(RM) -r $(JRE_IMAGE_DIR)
$(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/images/jre, \ $(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/images/jre, \
$(JLINK_TOOL) --add-modules $(JRE_MODULES_LIST) \ $(JLINK_TOOL) --add-modules $(JRE_MODULES_LIST) \

View file

@ -34,6 +34,9 @@ _INITSUPPORT_GMK := 1
ifeq ($(HAS_SPEC),) ifeq ($(HAS_SPEC),)
# COMMA is defined in spec.gmk, but that is not included yet
COMMA := ,
# Include the corresponding closed file, if present. # Include the corresponding closed file, if present.
ifneq ($(CUSTOM_MAKE_DIR), ) ifneq ($(CUSTOM_MAKE_DIR), )
-include $(CUSTOM_MAKE_DIR)/InitSupport.gmk -include $(CUSTOM_MAKE_DIR)/InitSupport.gmk
@ -531,8 +534,6 @@ endif # HAS_SPEC
define ParseLogOption define ParseLogOption
ifneq ($$(findstring $1, $$(LOG)),) ifneq ($$(findstring $1, $$(LOG)),)
override $2 := true override $2 := true
# COMMA is defined in spec.gmk, but that is not included yet
COMMA := ,
# First try to remove ",<option>" if it exists, otherwise just remove "<option>" # First try to remove ",<option>" if it exists, otherwise just remove "<option>"
LOG_STRIPPED := $$(subst $1,, $$(subst $$(COMMA)$$(strip $1),, $$(LOG))) LOG_STRIPPED := $$(subst $1,, $$(subst $$(COMMA)$$(strip $1),, $$(LOG)))
# We might have ended up with a leading comma. Remove it. Need override # We might have ended up with a leading comma. Remove it. Need override
@ -550,8 +551,6 @@ define ParseLogValue
# Make words of out comma-separated list and find the one with opt=val # Make words of out comma-separated list and find the one with opt=val
value := $$(strip $$(subst $$(strip $1)=,, $$(filter $$(strip $1)=%, $$(subst $$(COMMA), , $$(LOG))))) value := $$(strip $$(subst $$(strip $1)=,, $$(filter $$(strip $1)=%, $$(subst $$(COMMA), , $$(LOG)))))
override $2 := $$(value) override $2 := $$(value)
# COMMA is defined in spec.gmk, but that is not included yet
COMMA := ,
# First try to remove ",<option>" if it exists, otherwise just remove "<option>" # First try to remove ",<option>" if it exists, otherwise just remove "<option>"
LOG_STRIPPED := $$(subst $$(strip $1)=$$(value),, \ LOG_STRIPPED := $$(subst $$(strip $1)=$$(value),, \
$$(subst $$(COMMA)$$(strip $1)=$$(value),, $$(LOG))) $$(subst $$(COMMA)$$(strip $1)=$$(value),, $$(LOG)))

View file

@ -98,13 +98,10 @@ ALL_TARGETS += buildtools-langtools interim-langtools \
################################################################################ ################################################################################
# Special targets for certain modules # Special targets for certain modules
unpack-sec:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f UnpackSecurity.gmk)
generate-exported-symbols: generate-exported-symbols:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f BuildStatic.gmk) +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f BuildStatic.gmk)
ALL_TARGETS += unpack-sec generate-exported-symbols ALL_TARGETS += generate-exported-symbols
################################################################################ ################################################################################
# Gensrc targets, generating source before java compilation can be done # Gensrc targets, generating source before java compilation can be done
@ -189,7 +186,7 @@ $(foreach m, $(IMPORT_COPY_MODULES), $(eval $(call DeclareImportCopyRecipe,$m)))
ALL_TARGETS += $(ALL_COPY_TARGETS) ALL_TARGETS += $(ALL_COPY_TARGETS)
################################################################################ ################################################################################
# Targets for compiling all java modules. Nashorn is treated separately. # Targets for compiling all java modules.
JAVA_MODULES := $(ALL_MODULES) JAVA_MODULES := $(ALL_MODULES)
JAVA_TARGETS := $(addsuffix -java, $(JAVA_MODULES)) JAVA_TARGETS := $(addsuffix -java, $(JAVA_MODULES))
@ -199,14 +196,7 @@ define DeclareCompileJavaRecipe
-f CompileJavaModules.gmk MODULE=$1) -f CompileJavaModules.gmk MODULE=$1)
endef endef
$(foreach m, $(filter-out jdk.scripting.nashorn, $(JAVA_MODULES)), \ $(foreach m, $(JAVA_MODULES), $(eval $(call DeclareCompileJavaRecipe,$m)))
$(eval $(call DeclareCompileJavaRecipe,$m)))
# Build nashorn. Needs to be compiled separately from the rest of the modules
# due to nasgen.
jdk.scripting.nashorn-java:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) \
-f BuildNashorn.gmk compile)
ALL_TARGETS += $(JAVA_TARGETS) ALL_TARGETS += $(JAVA_TARGETS)
@ -338,14 +328,17 @@ jrtfs-jar:
jdk-image: jdk-image:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk jdk) +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk jdk)
jre-image: legacy-jre-image:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk jre) +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk jre)
symbols-image: symbols-image:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk symbols) +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk symbols)
mac-bundles-jdk: mac-jdk-bundle:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f MacBundles.gmk) +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f MacBundles.gmk jdk-bundle)
mac-legacy-jre-bundle:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f MacBundles.gmk jre-bundle)
release-file: release-file:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f ReleaseFile.gmk) +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f ReleaseFile.gmk)
@ -354,8 +347,8 @@ exploded-image-optimize:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f ExplodedImageOptimize.gmk) +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f ExplodedImageOptimize.gmk)
ALL_TARGETS += store-source-revision create-source-revision-tracker bootcycle-images zip-security \ ALL_TARGETS += store-source-revision create-source-revision-tracker bootcycle-images zip-security \
zip-source jrtfs-jar jdk-image jre-image \ zip-source jrtfs-jar jdk-image legacy-jre-image \
symbols-image mac-bundles-jdk \ symbols-image mac-jdk-bundle mac-legacy-jre-bundle \
release-file exploded-image-optimize release-file exploded-image-optimize
################################################################################ ################################################################################
@ -700,9 +693,6 @@ else
# file to be processed by the gensrc-moduleinfo target. # file to be processed by the gensrc-moduleinfo target.
jdk.internal.vm.compiler-gensrc-moduleinfo: jdk.internal.vm.compiler-gensrc-src jdk.internal.vm.compiler-gensrc-moduleinfo: jdk.internal.vm.compiler-gensrc-src
# Explicitly add dependencies for special targets
java.base-java: unpack-sec
jdk.jdeps-gendata: java rmic jdk.jdeps-gendata: java rmic
# The ct.sym generation uses all the moduleinfos as input # The ct.sym generation uses all the moduleinfos as input
@ -789,16 +779,17 @@ else
generate-link-opt-data: buildtools-jdk generate-link-opt-data: buildtools-jdk
# The generated classlist needs to go into java.base-jmod. # The generated classlist needs to go into java.base-jmod.
java.base-jmod jdk.jlink-jmod jdk-image jre-image: generate-link-opt-data java.base-jmod jdk.jlink-jmod jdk-image legacy-jre-image: generate-link-opt-data
endif endif
release-file: create-source-revision-tracker release-file: create-source-revision-tracker
jdk-image: jmods zip-source demos release-file jdk-image: jmods zip-source demos release-file
jre-image: jmods release-file legacy-jre-image: jmods release-file
symbols-image: $(LIBS_TARGETS) $(LAUNCHER_TARGETS) symbols-image: $(LIBS_TARGETS) $(LAUNCHER_TARGETS)
mac-bundles-jdk: jdk-image jre-image mac-jdk-bundle: jdk-image
mac-legacy-jre-bundle: legacy-jre-image
# The optimize target can run as soon as the modules dir has been completely # The optimize target can run as soon as the modules dir has been completely
# populated (java, copy and gendata targets) and the basic libs and launchers # populated (java, copy and gendata targets) and the basic libs and launchers
@ -969,14 +960,14 @@ docs-reference: docs-reference-api
# alias for backwards compatibility # alias for backwards compatibility
docs-javadoc: docs-jdk-api docs-javadoc: docs-jdk-api
mac-bundles: mac-bundles-jdk mac-bundles: mac-jdk-bundle
# The $(OUTPUTDIR)/images directory contain the resulting deliverables, # The $(OUTPUTDIR)/images directory contain the resulting deliverables,
# and in line with this, our targets for creating these are named *-image[s]. # and in line with this, our targets for creating these are named *-image[s].
# This target builds the product images, e.g. the JRE and JDK image # This target builds the product images, e.g. the JDK image
# (and possibly other, more specific versions) # (and possibly other, more specific versions)
product-images: jdk-image jre-image symbols-image exploded-image product-images: jdk-image symbols-image exploded-image
# zip-security is actually a bundle, but for now it needs to be considered # zip-security is actually a bundle, but for now it needs to be considered
# an image until this can be cleaned up properly. # an image until this can be cleaned up properly.
@ -993,7 +984,7 @@ ifneq ($(CREATE_BUILDJDK), true)
endif endif
ifeq ($(OPENJDK_TARGET_OS), macosx) ifeq ($(OPENJDK_TARGET_OS), macosx)
product-images: mac-bundles product-images: mac-jdk-bundle
endif endif
# This target builds the documentation image # This target builds the documentation image

View file

@ -1,88 +0,0 @@
#
# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
default: all
include $(SPEC)
include MakeBase.gmk
################################################################################
# Unpack the binary distributions of the crypto classes if they exist.
SEC_FILES_ZIP := $(TOPDIR)/make/tools/crypto/sec-bin.zip
SEC_FILES_WIN_ZIP := $(TOPDIR)/make/tools/crypto/sec-windows-bin.zip
JGSS_WIN32_FILES_ZIP := $(TOPDIR)/make/tools/crypto/jgss-windows-i586-bin.zip
JGSS_WIN64_FILES_ZIP := $(TOPDIR)/make/tools/crypto/jgss-windows-x64-bin.zip
define unzip-sec-file
$(ECHO) Unzipping $(<F)
$(MKDIR) -p $(@D) $(JDK_OUTPUTDIR)
$(RM) $@
($(CD) $(JDK_OUTPUTDIR) && $(UNZIP) -q -o $< > $@.tmp)
$(MV) $@.tmp $@
endef
define unzip-native-sec-file
$(ECHO) Unzipping $(<F)
$(MKDIR) -p $(@D)
$(RM) $@
($(CD) $(SUPPORT_OUTPUTDIR) && $(UNZIP) -q -o $< > $@.tmp)
$(MV) $@.tmp $@
endef
$(SUPPORT_OUTPUTDIR)/_the.sec-bin.unzipped: $(SEC_FILES_ZIP)
$(call unzip-sec-file)
# Trying to unzip both of the sec files at the same time may cause a race
# when creating directories common to both files.
$(SUPPORT_OUTPUTDIR)/_the.sec-windows-bin.unzipped: $(SEC_FILES_WIN_ZIP) \
| $(SUPPORT_OUTPUTDIR)/_the.sec-bin.unzipped
$(call unzip-sec-file)
$(SUPPORT_OUTPUTDIR)/_the.jgss-windows-i586-bin.unzipped: $(JGSS_WIN32_FILES_ZIP)
$(call unzip-native-sec-file)
$(SUPPORT_OUTPUTDIR)/_the.jgss-windows-x64-bin.unzipped: $(JGSS_WIN64_FILES_ZIP)
$(call unzip-native-sec-file)
ifneq ($(wildcard $(SEC_FILES_ZIP)), )
IMPORT_TARGET_FILES += $(SUPPORT_OUTPUTDIR)/_the.sec-bin.unzipped
ifeq ($(OPENJDK_TARGET_OS), windows)
IMPORT_TARGET_FILES += $(SUPPORT_OUTPUTDIR)/_the.sec-windows-bin.unzipped
ifeq ($(OPENJDK_TARGET_CPU), x86)
IMPORT_TARGET_FILES += $(SUPPORT_OUTPUTDIR)/_the.jgss-windows-i586-bin.unzipped
endif
ifeq ($(OPENJDK_TARGET_CPU), x86_64)
IMPORT_TARGET_FILES += $(SUPPORT_OUTPUTDIR)/_the.jgss-windows-x64-bin.unzipped
endif
endif
endif
################################################################################
sec: $(IMPORT_TARGET_FILES)
all: sec
.PHONY: sec all

View file

@ -86,6 +86,17 @@ if [ "x$OUT" = x ]; then
fi fi
fi fi
# Test and fix little endian MIPS.
if [ "x$OUT" = x ]; then
if [ `uname -s` = Linux ]; then
if [ `uname -m` = mipsel ]; then
OUT=mipsel-unknown-linux-gnu
elif [ `uname -m` = mips64el ]; then
OUT=mips64el-unknown-linux-gnu
fi
fi
fi
# Test and fix cpu on Macosx when C preprocessor is not on the path # Test and fix cpu on Macosx when C preprocessor is not on the path
echo $OUT | grep i386-apple-darwin > /dev/null 2> /dev/null echo $OUT | grep i386-apple-darwin > /dev/null 2> /dev/null
if test $? = 0; then if test $? = 0; then

View file

@ -25,7 +25,7 @@
# All valid JVM features, regardless of platform # All valid JVM features, regardless of platform
VALID_JVM_FEATURES="compiler1 compiler2 zero minimal dtrace jvmti jvmci \ VALID_JVM_FEATURES="compiler1 compiler2 zero minimal dtrace jvmti jvmci \
graal vm-structs jni-check services management cmsgc g1gc parallelgc serialgc nmt cds \ graal vm-structs jni-check services management cmsgc epsilongc g1gc parallelgc serialgc zgc nmt cds \
static-build link-time-opt aot jfr" static-build link-time-opt aot jfr"
# Deprecated JVM features (these are ignored, but with a warning) # Deprecated JVM features (these are ignored, but with a warning)
@ -328,6 +328,19 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
fi fi
fi fi
# Only enable ZGC on Linux x86_64
AC_MSG_CHECKING([if zgc should be built])
if HOTSPOT_CHECK_JVM_FEATURE(zgc); then
if test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
AC_MSG_RESULT([yes])
else
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES zgc"
AC_MSG_RESULT([no, platform not supported])
fi
else
AC_MSG_RESULT([no])
fi
# Turn on additional features based on other parts of configure # Turn on additional features based on other parts of configure
if test "x$INCLUDE_DTRACE" = "xtrue"; then if test "x$INCLUDE_DTRACE" = "xtrue"; then
JVM_FEATURES="$JVM_FEATURES dtrace" JVM_FEATURES="$JVM_FEATURES dtrace"
@ -410,7 +423,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
fi fi
# All variants but minimal (and custom) get these features # All variants but minimal (and custom) get these features
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cmsgc g1gc parallelgc serialgc jni-check jvmti management nmt services vm-structs" NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cmsgc g1gc parallelgc serialgc epsilongc jni-check jvmti management nmt services vm-structs"
if test "x$ENABLE_CDS" = "xtrue"; then if test "x$ENABLE_CDS" = "xtrue"; then
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cds" NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cds"
fi fi

View file

@ -858,18 +858,19 @@ ifeq ($(DEBUG_LEVEL), fastdebug)
else ifneq ($(DEBUG_LEVEL), release) else ifneq ($(DEBUG_LEVEL), release)
DEBUG_PART := -$(DEBUG_LEVEL) DEBUG_PART := -$(DEBUG_LEVEL)
endif endif
JDK_BUNDLE_NAME := jdk-$(BASE_NAME)_bin$(DEBUG_PART).tar.gz ifeq ($(OPENJDK_TARGET_OS), windows)
JRE_BUNDLE_NAME := jre-$(BASE_NAME)_bin$(DEBUG_PART).tar.gz JDK_BUNDLE_EXTENSION := zip
else
JDK_BUNDLE_EXTENSION := tar.gz
endif
JDK_BUNDLE_NAME := jdk-$(BASE_NAME)_bin$(DEBUG_PART).$(JDK_BUNDLE_EXTENSION)
JDK_SYMBOLS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin$(DEBUG_PART)-symbols.tar.gz JDK_SYMBOLS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin$(DEBUG_PART)-symbols.tar.gz
JRE_SYMBOLS_BUNDLE_NAME := jre-$(BASE_NAME)_bin$(DEBUG_PART)-symbols.tar.gz
TEST_DEMOS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-tests-demos$(DEBUG_PART).tar.gz TEST_DEMOS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-tests-demos$(DEBUG_PART).tar.gz
TEST_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-tests$(DEBUG_PART).tar.gz TEST_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-tests$(DEBUG_PART).tar.gz
DOCS_BUNDLE_NAME := jdk-$(BASE_NAME)_doc-api-spec$(DEBUG_PART).tar.gz DOCS_BUNDLE_NAME := jdk-$(BASE_NAME)_doc-api-spec$(DEBUG_PART).tar.gz
JDK_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JDK_BUNDLE_NAME) JDK_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JDK_BUNDLE_NAME)
JRE_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JRE_BUNDLE_NAME)
JDK_SYMBOLS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JDK_SYMBOLS_BUNDLE_NAME) JDK_SYMBOLS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JDK_SYMBOLS_BUNDLE_NAME)
JRE_SYMBOLS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JRE_SYMBOLS_BUNDLE_NAME)
TEST_DEMOS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(TEST_DEMOS_BUNDLE_NAME) TEST_DEMOS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(TEST_DEMOS_BUNDLE_NAME)
TEST_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(TEST_BUNDLE_NAME) TEST_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(TEST_BUNDLE_NAME)
DOCS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(DOCS_BUNDLE_NAME) DOCS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(DOCS_BUNDLE_NAME)

View file

@ -32,6 +32,36 @@ endif
include NativeCompilation.gmk include NativeCompilation.gmk
# Hook to include the corresponding custom file, if present.
$(eval $(call IncludeCustomExtension, common/JdkNativeCompilation.gmk))
FindSrcDirsForLib += \
$(call uniq, $(wildcard \
$(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS)/native/lib$(strip $2) \
$(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS_TYPE)/native/lib$(strip $2) \
$(TOPDIR)/src/$(strip $1)/share/native/lib$(strip $2)))
FindSrcDirsForComponent += \
$(call uniq, $(wildcard \
$(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS)/native/$(strip $2) \
$(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS_TYPE)/native/$(strip $2) \
$(TOPDIR)/src/$(strip $1)/share/native/$(strip $2)))
GetJavaHeaderDir = \
$(wildcard $(SUPPORT_OUTPUTDIR)/headers/$(strip $1))
# Process a dir description such as "java.base:headers" into a set of proper absolute paths.
ProcessDir = \
$(if $(findstring :, $1), \
$(call FindSrcDirsForComponent, $(firstword $(subst :, , $1)), $(lastword $(subst :, , $1))) \
, \
$(if $(filter /%, $1), \
$1 \
, \
$(call FindSrcDirsForComponent, $(MODULE), $1) \
) \
)
# Setup make rules for creating a native shared library with suitable defaults # Setup make rules for creating a native shared library with suitable defaults
# for the OpenJDK project. # for the OpenJDK project.
# #
@ -39,8 +69,16 @@ include NativeCompilation.gmk
# and the targets generated are listed in a variable by that name. # and the targets generated are listed in a variable by that name.
# #
# Remaining parameters are named arguments. These are all passed on to # Remaining parameters are named arguments. These are all passed on to
# SetupNativeCompilation, except for # SetupNativeCompilation, except for
# EXTRA_RC_FLAGS -- additional RC_FLAGS to append. # EXTRA_RC_FLAGS -- additional RC_FLAGS to append.
# EXTRA_HEADER_DIRS -- additional directories to look for headers in
# EXTRA_SRC -- additional directories to look for source in
# EXCLUDE_SRC_PATTERNS -- exclude source dirs matching these patterns from
# appearing in SRC.
# HEADERS_FROM_SRC -- if false, does not add source dirs automatically as
# header include dirs. (Defaults to true.)
# SRC -- this is passed on, but preprocessed to accept source dir designations
# such as "java.base:headers".
SetupJdkLibrary = $(NamedParamsMacroTemplate) SetupJdkLibrary = $(NamedParamsMacroTemplate)
define SetupJdkLibraryBody define SetupJdkLibraryBody
ifeq ($$($1_OUTPUT_DIR), ) ifeq ($$($1_OUTPUT_DIR), )
@ -51,6 +89,20 @@ define SetupJdkLibraryBody
$1_OBJECT_DIR := $$(SUPPORT_OUTPUTDIR)/native/$$(MODULE)/lib$$($1_NAME) $1_OBJECT_DIR := $$(SUPPORT_OUTPUTDIR)/native/$$(MODULE)/lib$$($1_NAME)
endif endif
ifeq ($$($1_SRC), )
$1_SRC := $$(call FindSrcDirsForLib, $$(MODULE), $$($1_NAME))
else
$1_SRC := $$(foreach dir, $$($1_SRC), $$(call ProcessDir, $$(dir)))
endif
ifneq ($$($1_EXTRA_SRC), )
$1_SRC += $$(foreach dir, $$($1_EXTRA_SRC), $$(call ProcessDir, $$(dir)))
endif
ifneq ($$($1_EXCLUDE_SRC_PATTERNS), )
$1_EXCLUDE_SRC := $$(call containing, $$($1_EXCLUDE_SRC_PATTERNS), $$($1_SRC))
$1_SRC := $$(filter-out $$($1_EXCLUDE_SRC), $$($1_SRC))
endif
ifeq ($$($1_VERSIONINFO_RESOURCE), ) ifeq ($$($1_VERSIONINFO_RESOURCE), )
$1_VERSIONINFO_RESOURCE := $$(GLOBAL_VERSION_INFO_RESOURCE) $1_VERSIONINFO_RESOURCE := $$(GLOBAL_VERSION_INFO_RESOURCE)
else ifeq ($$($1_VERSIONINFO_RESOURCE), DISABLE) else ifeq ($$($1_VERSIONINFO_RESOURCE), DISABLE)
@ -66,6 +118,25 @@ define SetupJdkLibraryBody
$1_RC_FLAGS := $1_RC_FLAGS :=
endif endif
ifneq ($$($1_HEADERS_FROM_SRC), false)
$1_SRC_HEADER_FLAGS := $$(foreach dir, $$(wildcard $$($1_SRC) \
$$(call GetJavaHeaderDir, $$(MODULE))), -I$$(dir))
endif
ifneq ($$($1_EXTRA_HEADER_DIRS), )
$1_PROCESSED_EXTRA_HEADER_DIRS := $$(foreach dir, $$($1_EXTRA_HEADER_DIRS), \
$$(call ProcessDir, $$(dir)))
$1_EXTRA_HEADER_FLAGS := $$(addprefix -I, $$($1_PROCESSED_EXTRA_HEADER_DIRS))
endif
ifneq ($$($1_CFLAGS), )
$1_CFLAGS += $$($1_SRC_HEADER_FLAGS) $$($1_EXTRA_HEADER_FLAGS)
endif
ifneq ($$($1_CXXFLAGS), )
$1_CXXFLAGS += $$($1_SRC_HEADER_FLAGS) $$($1_EXTRA_HEADER_FLAGS)
endif
ifeq ($$($1_CFLAGS)$$($1_CXXFLAGS), )
$1_CFLAGS += $$($1_SRC_HEADER_FLAGS) $$($1_EXTRA_HEADER_FLAGS)
endif
$1_RC_FLAGS += $$($1_EXTRA_RC_FLAGS) $1_RC_FLAGS += $$($1_EXTRA_RC_FLAGS)
# Since we reuse the rule name ($1), all our arguments will pass through. # Since we reuse the rule name ($1), all our arguments will pass through.
@ -80,7 +151,7 @@ endef
# and the targets generated are listed in a variable by that name. # and the targets generated are listed in a variable by that name.
# #
# Remaining parameters are named arguments. These are all passed on to # Remaining parameters are named arguments. These are all passed on to
# SetupNativeCompilation, except for # SetupNativeCompilation, except for
# EXTRA_RC_FLAGS -- additional RC_FLAGS to append. # EXTRA_RC_FLAGS -- additional RC_FLAGS to append.
SetupJdkExecutable = $(NamedParamsMacroTemplate) SetupJdkExecutable = $(NamedParamsMacroTemplate)
define SetupJdkExecutableBody define SetupJdkExecutableBody

View file

@ -634,7 +634,7 @@ endef
################################################################################ ################################################################################
# Filter out duplicate sub strings while preserving order. Keeps the first occurance. # Filter out duplicate sub strings while preserving order. Keeps the first occurance.
uniq = \ uniq = \
$(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1))) $(strip $(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1))))
# Returns all whitespace-separated words in $2 where at least one of the # Returns all whitespace-separated words in $2 where at least one of the
# whitespace-separated words in $1 is a substring. # whitespace-separated words in $1 is a substring.

View file

@ -233,7 +233,7 @@ var getJibProfilesCommon = function (input, data) {
common.main_profile_names = [ common.main_profile_names = [
"linux-x64", "linux-x86", "macosx-x64", "solaris-x64", "linux-x64", "linux-x86", "macosx-x64", "solaris-x64",
"solaris-sparcv9", "windows-x64", "windows-x86", "solaris-sparcv9", "windows-x64", "windows-x86",
"linux-aarch64", "linux-arm64", "linux-arm-vfp-hflt", "linux-aarch64", "linux-arm32", "linux-arm64", "linux-arm-vfp-hflt",
"linux-arm-vfp-hflt-dyn" "linux-arm-vfp-hflt-dyn"
]; ];
@ -272,28 +272,19 @@ var getJibProfilesCommon = function (input, data) {
*/ */
common.main_profile_artifacts = function (o) { common.main_profile_artifacts = function (o) {
var jdk_subdir = (o.jdk_subdir != null ? o.jdk_subdir : "jdk-" + data.version); var jdk_subdir = (o.jdk_subdir != null ? o.jdk_subdir : "jdk-" + data.version);
var jre_subdir = (o.jre_subdir != null ? o.jre_subdir : "jre-" + data.version); var jdk_suffix = (o.jdk_suffix != null ? o.jdk_suffix : "tar.gz");
var pf = o.platform var pf = o.platform
return { return {
artifacts: { artifacts: {
jdk: { jdk: {
local: "bundles/\\(jdk.*bin.tar.gz\\)", local: "bundles/\\(jdk.*bin." + jdk_suffix + "\\)",
remote: [ remote: [
"bundles/" + pf + "/jdk-" + data.version + "_" + pf + "_bin.tar.gz", "bundles/" + pf + "/jdk-" + data.version + "_" + pf + "_bin." + jdk_suffix,
"bundles/" + pf + "/\\1" "bundles/" + pf + "/\\1"
], ],
subdir: jdk_subdir, subdir: jdk_subdir,
exploded: "images/jdk" exploded: "images/jdk"
}, },
jre: {
local: "bundles/\\(jre.*bin.tar.gz\\)",
remote: [
"bundles/" + pf + "/jre-" + data.version + "_" + pf + "_bin.tar.gz",
"bundles/" + pf + "/\\1"
],
subdir: jre_subdir,
exploded: "images/jre"
},
test: { test: {
local: "bundles/\\(jdk.*bin-tests.tar.gz\\)", local: "bundles/\\(jdk.*bin-tests.tar.gz\\)",
remote: [ remote: [
@ -319,15 +310,6 @@ var getJibProfilesCommon = function (input, data) {
subdir: jdk_subdir, subdir: jdk_subdir,
exploded: "images/jdk" exploded: "images/jdk"
}, },
jre_symbols: {
local: "bundles/\\(jre.*bin-symbols.tar.gz\\)",
remote: [
"bundles/" + pf + "/jre-" + data.version + "_" + pf + "_bin-symbols.tar.gz",
"bundles/" + pf + "/\\1"
],
subdir: jre_subdir,
exploded: "images/jre"
}
} }
}; };
}; };
@ -339,28 +321,19 @@ var getJibProfilesCommon = function (input, data) {
*/ */
common.debug_profile_artifacts = function (o) { common.debug_profile_artifacts = function (o) {
var jdk_subdir = "jdk-" + data.version + "/fastdebug"; var jdk_subdir = "jdk-" + data.version + "/fastdebug";
var jre_subdir = "jre-" + data.version + "/fastdebug"; var jdk_suffix = (o.jdk_suffix != null ? o.jdk_suffix : "tar.gz");
var pf = o.platform var pf = o.platform
return { return {
artifacts: { artifacts: {
jdk: { jdk: {
local: "bundles/\\(jdk.*bin-debug.tar.gz\\)", local: "bundles/\\(jdk.*bin-debug." + jdk_suffix + "\\)",
remote: [ remote: [
"bundles/" + pf + "/jdk-" + data.version + "_" + pf + "_bin-debug.tar.gz", "bundles/" + pf + "/jdk-" + data.version + "_" + pf + "_bin-debug." + jdk_suffix,
"bundles/" + pf + "/\\1" "bundles/" + pf + "/\\1"
], ],
subdir: jdk_subdir, subdir: jdk_subdir,
exploded: "images/jdk" exploded: "images/jdk"
}, },
jre: {
local: "bundles/\\(jre.*bin-debug.tar.gz\\)",
remote: [
"bundles/" + pf + "/jre-" + data.version + "_" + pf + "_bin-debug.tar.gz",
"bundles/" + pf + "/\\1"
],
subdir: jre_subdir,
exploded: "images/jre"
},
test: { test: {
local: "bundles/\\(jdk.*bin-tests-debug.tar.gz\\)", local: "bundles/\\(jdk.*bin-tests-debug.tar.gz\\)",
remote: [ remote: [
@ -378,15 +351,6 @@ var getJibProfilesCommon = function (input, data) {
subdir: jdk_subdir, subdir: jdk_subdir,
exploded: "images/jdk" exploded: "images/jdk"
}, },
jre_symbols: {
local: "bundles/\\(jre.*bin-debug-symbols.tar.gz\\)",
remote: [
"bundles/" + pf + "/jre-" + data.version + "_" + pf + "_bin-debug-symbols.tar.gz",
"bundles/" + pf + "/\\1"
],
subdir: jre_subdir,
exploded: "images/jre"
}
} }
}; };
}; };
@ -490,6 +454,17 @@ var getJibProfilesProfiles = function (input, common, data) {
], ],
}, },
"linux-arm32": {
target_os: "linux",
target_cpu: "arm",
build_cpu: "x64",
dependencies: ["devkit", "autoconf", "build_devkit", "cups"],
configure_args: [
"--openjdk-target=arm-linux-gnueabihf", "--with-freetype=bundled",
"--with-abi-profile=arm-vfp-hflt", "--disable-warnings-as-errors"
],
},
"linux-arm-vfp-hflt": { "linux-arm-vfp-hflt": {
target_os: "linux", target_os: "linux",
target_cpu: "arm", target_cpu: "arm",
@ -608,7 +583,6 @@ var getJibProfilesProfiles = function (input, common, data) {
"macosx-x64": { "macosx-x64": {
platform: "osx-x64", platform: "osx-x64",
jdk_subdir: "jdk-" + data.version + ".jdk/Contents/Home", jdk_subdir: "jdk-" + data.version + ".jdk/Contents/Home",
jre_subdir: "jre-" + data.version + ".jre/Contents/Home"
}, },
"solaris-x64": { "solaris-x64": {
platform: "solaris-x64", platform: "solaris-x64",
@ -618,13 +592,18 @@ var getJibProfilesProfiles = function (input, common, data) {
}, },
"windows-x64": { "windows-x64": {
platform: "windows-x64", platform: "windows-x64",
jdk_suffix: "zip",
}, },
"windows-x86": { "windows-x86": {
platform: "windows-x86", platform: "windows-x86",
jdk_suffix: "zip",
}, },
"linux-aarch64": { "linux-aarch64": {
platform: "linux-aarch64", platform: "linux-aarch64",
}, },
"linux-arm32": {
platform: "linux-arm32",
},
"linux-arm64": { "linux-arm64": {
platform: "linux-arm64-vfp-hflt", platform: "linux-arm64-vfp-hflt",
}, },
@ -715,6 +694,14 @@ var getJibProfilesProfiles = function (input, common, data) {
profiles[openName].artifacts["jdk"].remote)); profiles[openName].artifacts["jdk"].remote));
}); });
// Enable ZGC in linux-x64-open builds
[ "linux-x64-open" ].forEach(function (name) {
var configureArgs = { configure_args: [ "--with-jvm-features=zgc" ] };
var debugName = name + common.debug_suffix;
profiles[name] = concatObjects(profiles[name], configureArgs);
profiles[debugName] = concatObjects(profiles[debugName], configureArgs);
});
// Profiles used to run tests. Used in JPRT and Mach 5. // Profiles used to run tests. Used in JPRT and Mach 5.
var testOnlyProfiles = { var testOnlyProfiles = {
"run-test-jprt": { "run-test-jprt": {
@ -829,7 +816,11 @@ var getJibProfilesDependencies = function (input, common) {
: "gcc7.3.0-Fedora27+1.0"), : "gcc7.3.0-Fedora27+1.0"),
linux_arm: (input.profile != null && input.profile.indexOf("hflt") >= 0 linux_arm: (input.profile != null && input.profile.indexOf("hflt") >= 0
? "gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux+1.0" ? "gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux+1.0"
: "arm-linaro-4.7+1.0") : (input.profile.indexOf("arm32") >= 0
? "gcc7.3.0-Fedora27+1.0"
: "arm-linaro-4.7+1.0"
)
)
}; };
var devkit_platform = (input.target_cpu == "x86" var devkit_platform = (input.target_cpu == "x86"

View file

@ -1,5 +1,5 @@
# #
# Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -32,7 +32,7 @@ formatVersion=3
# Version of the currency code information in this class. # Version of the currency code information in this class.
# It is a serial number that accompanies with each amendment. # It is a serial number that accompanies with each amendment.
dataVersion=164 dataVersion=167
# List of all valid ISO 4217 currency codes. # List of all valid ISO 4217 currency codes.
# To ensure compatibility, do not remove codes. # To ensure compatibility, do not remove codes.
@ -47,7 +47,7 @@ all=ADP020-AED784-AFA004-AFN971-ALL008-AMD051-ANG532-AOA973-ARS032-ATS040-AUD036
HRK191-HTG332-HUF348-IDR360-IEP372-ILS376-INR356-IQD368-IRR364-ISK352-\ HRK191-HTG332-HUF348-IDR360-IEP372-ILS376-INR356-IQD368-IRR364-ISK352-\
ITL380-JMD388-JOD400-JPY392-KES404-KGS417-KHR116-KMF174-KPW408-KRW410-\ ITL380-JMD388-JOD400-JPY392-KES404-KGS417-KHR116-KMF174-KPW408-KRW410-\
KWD414-KYD136-KZT398-LAK418-LBP422-LKR144-LRD430-LSL426-LTL440-LUF442-\ KWD414-KYD136-KZT398-LAK418-LBP422-LKR144-LRD430-LSL426-LTL440-LUF442-\
LVL428-LYD434-MAD504-MDL498-MGA969-MGF450-MKD807-MMK104-MNT496-MOP446-MRO478-\ LVL428-LYD434-MAD504-MDL498-MGA969-MGF450-MKD807-MMK104-MNT496-MOP446-MRO478-MRU929-\
MTL470-MUR480-MVR462-MWK454-MXN484-MXV979-MYR458-MZM508-MZN943-NAD516-NGN566-\ MTL470-MUR480-MVR462-MWK454-MXN484-MXV979-MYR458-MZM508-MZN943-NAD516-NGN566-\
NIO558-NLG528-NOK578-NPR524-NZD554-OMR512-PAB590-PEN604-PGK598-PHP608-\ NIO558-NLG528-NOK578-NPR524-NZD554-OMR512-PAB590-PEN604-PGK598-PHP608-\
PKR586-PLN985-PTE620-PYG600-QAR634-ROL946-RON946-RSD941-RUB643-RUR810-RWF646-SAR682-\ PKR586-PLN985-PTE620-PYG600-QAR634-ROL946-RON946-RSD941-RUB643-RUR810-RWF646-SAR682-\
@ -324,7 +324,7 @@ KG=KGS
# LAO PEOPLE'S DEMOCRATIC REPUBLIC (THE) # LAO PEOPLE'S DEMOCRATIC REPUBLIC (THE)
LA=LAK LA=LAK
# LATVIA # LATVIA
LV=LVL;2013-12-31-22-00-00;EUR LV=EUR
# LEBANON # LEBANON
LB=LBP LB=LBP
# LESOTHO # LESOTHO
@ -336,7 +336,7 @@ LY=LYD
# LIECHTENSTEIN # LIECHTENSTEIN
LI=CHF LI=CHF
# LITHUANIA # LITHUANIA
LT=LTL;2014-12-31-22-00-00;EUR LT=EUR
# LUXEMBOURG # LUXEMBOURG
LU=EUR LU=EUR
# MACAU # MACAU
@ -360,7 +360,7 @@ MH=USD
# MARTINIQUE # MARTINIQUE
MQ=EUR MQ=EUR
# MAURITANIA # MAURITANIA
MR=MRO MR=MRU
# MAURITIUS # MAURITIUS
MU=MUR MU=MUR
# MAYOTTE # MAYOTTE

View file

@ -34,9 +34,7 @@ allfonts.chinese-gb18030=SimSun-18030
allfonts.chinese-hkscs=MingLiU_HKSCS allfonts.chinese-hkscs=MingLiU_HKSCS
allfonts.devanagari=Mangal allfonts.devanagari=Mangal
allfonts.dingbats=Wingdings allfonts.dingbats=Wingdings
allfonts.lucida=Lucida Sans Regular
allfonts.symbol=Symbol allfonts.symbol=Symbol
allfonts.thai=Lucida Sans Regular
serif.plain.alphabetic=Times New Roman serif.plain.alphabetic=Times New Roman
serif.plain.chinese-ms950=MingLiU serif.plain.chinese-ms950=MingLiU
@ -202,10 +200,9 @@ sequence.monospaced.x-windows-949=korean,alphabetic,dingbats,symbol
sequence.dialog.x-windows-949=alphabetic,korean,dingbats,symbol sequence.dialog.x-windows-949=alphabetic,korean,dingbats,symbol
sequence.dialoginput.x-windows-949=alphabetic,korean,dingbats,symbol sequence.dialoginput.x-windows-949=alphabetic,korean,dingbats,symbol
sequence.allfonts.x-windows-874=alphabetic,thai,dingbats,symbol sequence.allfonts.x-windows-874=alphabetic,dingbats,symbol
sequence.fallback=lucida,\ sequence.fallback=chinese-ms950,chinese-hkscs,chinese-ms936,chinese-gb18030,\
chinese-ms950,chinese-hkscs,chinese-ms936,chinese-gb18030,\
japanese,korean japanese,korean
# Exclusion Ranges # Exclusion Ranges
@ -256,7 +253,6 @@ filename.Gulim=gulim.TTC
filename.Batang=batang.TTC filename.Batang=batang.TTC
filename.GulimChe=gulim.TTC filename.GulimChe=gulim.TTC
filename.Lucida_Sans_Regular=LucidaSansRegular.ttf
filename.Mangal=MANGAL.TTF filename.Mangal=MANGAL.TTF
filename.Symbol=SYMBOL.TTF filename.Symbol=SYMBOL.TTF
filename.Wingdings=WINGDING.TTF filename.Wingdings=WINGDING.TTF

View file

@ -43,7 +43,6 @@ allfonts.dingbats=-microsoft-wingdings-medium-r-normal--*-%d-*-*-p-*-adobe-fonts
allfonts.japanese-x0212=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1 allfonts.japanese-x0212=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
allfonts.korean=-hanyang-gothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1 allfonts.korean=-hanyang-gothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
allfonts.korean-johab=-hanyang-gothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1 allfonts.korean-johab=-hanyang-gothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
allfonts.lucida=-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
allfonts.symbol=-monotype-symbol-medium-r-normal--*-%d-*-*-p-*-adobe-symbol allfonts.symbol=-monotype-symbol-medium-r-normal--*-%d-*-*-p-*-adobe-symbol
allfonts.bengali=-misc-lohit bengali-medium-r-normal--0-0-0-0-p-0-iso10646-1 allfonts.bengali=-misc-lohit bengali-medium-r-normal--0-0-0-0-p-0-iso10646-1
allfonts.gujarati=-misc-lohit gujarati-medium-r-normal--0-0-0-0-p-0-iso10646-1 allfonts.gujarati=-misc-lohit gujarati-medium-r-normal--0-0-0-0-p-0-iso10646-1
@ -426,7 +425,7 @@ sequence.allfonts.UTF-8.zh.TW=latin-1,chinese-big5,chinese-hkscs,chinese-gb18030
# - japanese-x0212: same files as japanese-x0201 # - japanese-x0212: same files as japanese-x0201
# - korean: same file as korean-johab # - korean: same file as korean-johab
sequence.fallback=latin-1,latin-2,latin-7,cyrillic-iso8859-5,greek,latin-5,latin-9,\ sequence.fallback=latin-1,latin-2,latin-7,cyrillic-iso8859-5,greek,latin-5,latin-9,\
arabic,hebrew,thai,lucida,\ arabic,hebrew,thai,\
chinese-gb18030-0,\ chinese-gb18030-0,\
japanese-x0201,korean-johab,\ japanese-x0201,korean-johab,\
hindi,bengali,telugu,marathi,tamil,gujarati,kannada,malayalam,\ hindi,bengali,telugu,marathi,tamil,gujarati,kannada,malayalam,\
@ -466,7 +465,6 @@ filename.-hanyang-gothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1=/usr/share/fon
filename.-arphic-uming-medium-r-normal--*-%d-*-*-m-*-iso10646-1=/usr/share/fonts/TrueType/arphic/uming.ttf filename.-arphic-uming-medium-r-normal--*-%d-*-*-m-*-iso10646-1=/usr/share/fonts/TrueType/arphic/uming.ttf
filename.-monotype-symbol-medium-r-normal--*-%d-*-*-p-*-adobe-symbol=/usr/share/fonts/TrueType/core/symbol.ttf filename.-monotype-symbol-medium-r-normal--*-%d-*-*-p-*-adobe-symbol=/usr/share/fonts/TrueType/core/symbol.ttf
filename.-microsoft-wingdings-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific=/usr/share/fonts/TrueType/core/wingdings.ttf filename.-microsoft-wingdings-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific=/usr/share/fonts/TrueType/core/wingdings.ttf
filename.-b&h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1=$JRE_LIB_FONTS/LucidaSansRegular.ttf
filename.-misc-lohit_bengali-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/TrueType/lohit/Lohit-Bengali.ttf filename.-misc-lohit_bengali-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/TrueType/lohit/Lohit-Bengali.ttf
filename.-misc-lohit_gujarati-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/TrueType/lohit/Lohit-Gujarati.ttf filename.-misc-lohit_gujarati-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/TrueType/lohit/Lohit-Gujarati.ttf
filename.-misc-lohit_hindi-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/TrueType/lohit/Lohit-Hindi.ttf filename.-misc-lohit_hindi-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/TrueType/lohit/Lohit-Hindi.ttf

View file

@ -39,10 +39,9 @@ allfonts.chinese-ms950-extb=MingLiU-ExtB
allfonts.devanagari=Mangal allfonts.devanagari=Mangal
allfonts.kannada=Tunga allfonts.kannada=Tunga
allfonts.dingbats=Wingdings allfonts.dingbats=Wingdings
allfonts.lucida=Lucida Sans Regular
allfonts.symbol=Symbol allfonts.symbol=Symbol
allfonts.symbols=Segoe UI Symbol allfonts.symbols=Segoe UI Symbol
allfonts.thai=Lucida Sans Regular allfonts.thai=DokChampa
allfonts.georgian=Sylfaen allfonts.georgian=Sylfaen
serif.plain.alphabetic=Times New Roman serif.plain.alphabetic=Times New Roman
@ -238,7 +237,7 @@ sequence.dialoginput.x-windows-949=alphabetic,korean,dingbats,symbol
sequence.allfonts.x-windows-874=alphabetic,thai,dingbats,symbol sequence.allfonts.x-windows-874=alphabetic,thai,dingbats,symbol
sequence.fallback=lucida,symbols,\ sequence.fallback=symbols,\
chinese-ms950,chinese-hkscs,chinese-ms936,chinese-gb18030,\ chinese-ms950,chinese-hkscs,chinese-ms936,chinese-gb18030,\
japanese,korean,chinese-ms950-extb,chinese-ms936-extb,georgian,kannada japanese,korean,chinese-ms950-extb,chinese-ms936-extb,georgian,kannada
@ -294,7 +293,7 @@ filename.Gulim=gulim.TTC
filename.Batang=batang.TTC filename.Batang=batang.TTC
filename.GulimChe=gulim.TTC filename.GulimChe=gulim.TTC
filename.Lucida_Sans_Regular=LucidaSansRegular.ttf filename.DokChampa=dokchamp.ttf
filename.Mangal=MANGAL.TTF filename.Mangal=MANGAL.TTF
filename.Tunga=TUNGA.TTF filename.Tunga=TUNGA.TTF
filename.Symbol=SYMBOL.TTF filename.Symbol=SYMBOL.TTF

View file

@ -1997,8 +1997,7 @@ JDWP "Java(tm) Debug Wire Protocol"
) )
) )
(Command Stop=10 (Command Stop=10
"Stops the thread with an asynchronous exception, as if done by " "Stops the thread with an asynchronous exception. "
"java.lang.Thread.stop "
(Out (Out
(threadObject thread "The thread object ID. ") (threadObject thread "The thread object ID. ")
(object throwable "Asynchronous exception. This object must " (object throwable "Asynchronous exception. This object must "

View file

@ -1,4 +1,4 @@
File-Date: 2017-08-15 File-Date: 2018-04-23
%% %%
Type: language Type: language
Subtag: aa Subtag: aa
@ -378,6 +378,7 @@ Subtag: hy
Description: Armenian Description: Armenian
Added: 2005-10-16 Added: 2005-10-16
Suppress-Script: Armn Suppress-Script: Armn
Comments: see also hyw
%% %%
Type: language Type: language
Subtag: hz Subtag: hz
@ -525,6 +526,7 @@ Suppress-Script: Latn
%% %%
Type: language Type: language
Subtag: km Subtag: km
Description: Khmer
Description: Central Khmer Description: Central Khmer
Added: 2005-10-16 Added: 2005-10-16
Suppress-Script: Khmr Suppress-Script: Khmr
@ -957,6 +959,7 @@ Subtag: sr
Description: Serbian Description: Serbian
Added: 2005-10-16 Added: 2005-10-16
Macrolanguage: sh Macrolanguage: sh
Comments: see cnr for Montenegrin
%% %%
Type: language Type: language
Subtag: ss Subtag: ss
@ -1531,6 +1534,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: add Subtag: add
Description: Lidzonka
Description: Dzodinka Description: Dzodinka
Added: 2009-07-29 Added: 2009-07-29
%% %%
@ -2114,7 +2118,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: aja Subtag: aja
Description: Aja (Sudan) Description: Aja (South Sudan)
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
@ -3097,6 +3101,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: asf Subtag: asf
Description: Auslan
Description: Australian Sign Language Description: Australian Sign Language
Added: 2009-07-29 Added: 2009-07-29
%% %%
@ -4240,7 +4245,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: bdh Subtag: bdh
Description: Baka (Sudan) Description: Baka (South Sudan)
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
@ -4250,6 +4255,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: bdj Subtag: bdj
Description: Bai (South Sudan)
Description: Bai Description: Bai
Added: 2009-07-29 Added: 2009-07-29
%% %%
@ -5293,7 +5299,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: blm Subtag: blm
Description: Beli (Sudan) Description: Beli (South Sudan)
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
@ -8104,6 +8110,13 @@ Description: Con
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: cnr
Description: Montenegrin
Added: 2018-01-23
Macrolanguage: sh
Comments: see sr for Serbian
%%
Type: language
Subtag: cns Subtag: cns
Description: Central Asmat Description: Central Asmat
Added: 2009-07-29 Added: 2009-07-29
@ -8768,6 +8781,11 @@ Description: Tepeuxila Cuicatec
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: cuy
Description: Cuitlatec
Added: 2018-03-08
%%
Type: language
Subtag: cvg Subtag: cvg
Description: Chug Description: Chug
Added: 2009-07-29 Added: 2009-07-29
@ -11089,7 +11107,7 @@ Added: 2005-10-16
%% %%
Type: language Type: language
Subtag: fap Subtag: fap
Description: Palor Description: Paloor
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
@ -12282,6 +12300,11 @@ Description: Guya
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: gkd
Description: Magɨ (Madang Province)
Added: 2018-03-08
%%
Type: language
Subtag: gke Subtag: gke
Description: Ndai Description: Ndai
Added: 2009-07-29 Added: 2009-07-29
@ -12494,6 +12517,11 @@ Description: Gooniyandi
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: gnj
Description: Ngen
Added: 2018-03-08
%%
Type: language
Subtag: gnk Subtag: gnk
Description: //Gana Description: //Gana
Description: ǁGana Description: ǁGana
@ -13224,6 +13252,11 @@ Description: Guyanese Creole English
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: gyo
Description: Gyalsumdo
Added: 2018-03-08
%%
Type: language
Subtag: gyr Subtag: gyr
Description: Guarayu Description: Guarayu
Added: 2009-07-29 Added: 2009-07-29
@ -13584,6 +13617,11 @@ Description: Hunjara-Kaina Ke
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: hkn
Description: Mel-Khaonh
Added: 2018-03-08
%%
Type: language
Subtag: hks Subtag: hks
Description: Hong Kong Sign Language Description: Hong Kong Sign Language
Description: Heung Kong Sau Yue Description: Heung Kong Sau Yue
@ -14238,6 +14276,12 @@ Description: Hya
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: hyw
Description: Western Armenian
Added: 2018-03-08
Comments: see also hy
%%
Type: language
Subtag: hyx Subtag: hyx
Description: Armenian (family) Description: Armenian (family)
Added: 2009-07-29 Added: 2009-07-29
@ -14860,6 +14904,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: iri Subtag: iri
Description: Rigwe
Description: Irigwe Description: Irigwe
Added: 2009-07-29 Added: 2009-07-29
%% %%
@ -20313,7 +20358,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: lno Subtag: lno
Description: Lango (Sudan) Description: Lango (South Sudan)
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
@ -20579,6 +20624,7 @@ Type: language
Subtag: lsg Subtag: lsg
Description: Lyons Sign Language Description: Lyons Sign Language
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2018-03-08
%% %%
Type: language Type: language
Subtag: lsh Subtag: lsh
@ -20850,6 +20896,11 @@ Description: Luwo
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: lws
Description: Malawian Sign Language
Added: 2018-03-08
%%
Type: language
Subtag: lwt Subtag: lwt
Description: Lewotobi Description: Lewotobi
Added: 2009-07-29 Added: 2009-07-29
@ -20904,6 +20955,7 @@ Type: language
Subtag: maa Subtag: maa
Description: San Jerónimo Tecóatl Mazatec Description: San Jerónimo Tecóatl Mazatec
Added: 2009-07-29 Added: 2009-07-29
Comments: see also pbm
%% %%
Type: language Type: language
Subtag: mab Subtag: mab
@ -23799,11 +23851,13 @@ Type: language
Subtag: mwx Subtag: mwx
Description: Mediak Description: Mediak
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2018-03-08
%% %%
Type: language Type: language
Subtag: mwy Subtag: mwy
Description: Mosiro Description: Mosiro
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2018-03-08
%% %%
Type: language Type: language
Subtag: mwz Subtag: mwz
@ -24527,6 +24581,8 @@ Type: language
Subtag: ncp Subtag: ncp
Description: Ndaktup Description: Ndaktup
Added: 2009-07-29 Added: 2009-07-29
Deprecated: 2018-03-08
Preferred-Value: kdz
%% %%
Type: language Type: language
Subtag: ncq Subtag: ncq
@ -25458,6 +25514,11 @@ Description: Nihali
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: nlm
Description: Mankiyali
Added: 2018-03-08
%%
Type: language
Subtag: nln Subtag: nln
Description: Durango Nahuatl Description: Durango Nahuatl
Added: 2009-07-29 Added: 2009-07-29
@ -26693,6 +26754,11 @@ Description: Njebi
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: nzd
Description: Nzadi
Added: 2018-03-08
%%
Type: language
Subtag: nzi Subtag: nzi
Description: Nzima Description: Nzima
Added: 2005-10-16 Added: 2005-10-16
@ -27757,6 +27823,12 @@ Description: Mak (Nigeria)
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: pbm
Description: Puebla Mazatec
Added: 2018-03-08
Comments: see also maa
%%
Type: language
Subtag: pbn Subtag: pbn
Description: Kpasam Description: Kpasam
Added: 2009-07-29 Added: 2009-07-29
@ -30902,6 +30974,7 @@ Added: 2005-10-16
%% %%
Type: language Type: language
Subtag: scp Subtag: scp
Description: Hyolmo
Description: Helambu Sherpa Description: Helambu Sherpa
Added: 2009-07-29 Added: 2009-07-29
%% %%
@ -33049,6 +33122,7 @@ Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: sxg Subtag: sxg
Description: Shuhi
Description: Shixing Description: Shixing
Added: 2009-07-29 Added: 2009-07-29
%% %%
@ -33835,6 +33909,11 @@ Description: Tulishi
Added: 2009-07-29 Added: 2009-07-29
%% %%
Type: language Type: language
Subtag: tez
Description: Tetserret
Added: 2018-03-08
%%
Type: language
Subtag: tfi Subtag: tfi
Description: Tofin Gbe Description: Tofin Gbe
Added: 2009-07-29 Added: 2009-07-29
@ -34399,7 +34478,7 @@ Added: 2009-07-29
Type: language Type: language
Subtag: tlh Subtag: tlh
Description: Klingon Description: Klingon
Description: tlhIngan-Hol Description: tlhIngan Hol
Added: 2005-10-16 Added: 2005-10-16
%% %%
Type: language Type: language
@ -42199,6 +42278,7 @@ Prefix: sgn
%% %%
Type: extlang Type: extlang
Subtag: asf Subtag: asf
Description: Auslan
Description: Australian Sign Language Description: Australian Sign Language
Added: 2009-07-29 Added: 2009-07-29
Preferred-Value: asf Preferred-Value: asf
@ -42927,7 +43007,7 @@ Type: extlang
Subtag: lsg Subtag: lsg
Description: Lyons Sign Language Description: Lyons Sign Language
Added: 2009-07-29 Added: 2009-07-29
Preferred-Value: lsg Deprecated: 2018-03-08
Prefix: sgn Prefix: sgn
%% %%
Type: extlang Type: extlang
@ -42983,6 +43063,13 @@ Prefix: lv
Macrolanguage: lv Macrolanguage: lv
%% %%
Type: extlang Type: extlang
Subtag: lws
Description: Malawian Sign Language
Added: 2018-03-08
Preferred-Value: lws
Prefix: sgn
%%
Type: extlang
Subtag: lzh Subtag: lzh
Description: Literary Chinese Description: Literary Chinese
Added: 2009-07-29 Added: 2009-07-29
@ -44493,6 +44580,11 @@ Description: Kaganga
Added: 2006-10-17 Added: 2006-10-17
%% %%
Type: script Type: script
Subtag: Rohg
Description: Hanifi Rohingya
Added: 2017-12-13
%%
Type: script
Subtag: Roro Subtag: Roro
Description: Rongorongo Description: Rongorongo
Added: 2005-10-16 Added: 2005-10-16
@ -44563,6 +44655,16 @@ Description: Sinhala
Added: 2005-10-16 Added: 2005-10-16
%% %%
Type: script Type: script
Subtag: Sogd
Description: Sogdian
Added: 2017-12-13
%%
Type: script
Subtag: Sogo
Description: Old Sogdian
Added: 2017-12-13
%%
Type: script
Subtag: Sora Subtag: Sora
Description: Sora Sompeng Description: Sora Sompeng
Added: 2011-01-07 Added: 2011-01-07
@ -46412,15 +46514,26 @@ Comments: Portuguese orthography conventions established in 1990 but
not brought into effect until 2009 not brought into effect until 2009
%% %%
Type: variant Type: variant
Subtag: aranes
Description: Aranese
Added: 2018-04-22
Prefix: oc
Comments: Occitan variant spoken in the Val d'Aran
%%
Type: variant
Subtag: arevela Subtag: arevela
Description: Eastern Armenian Description: Eastern Armenian
Added: 2006-09-18 Added: 2006-09-18
Deprecated: 2018-03-24
Preferred-Value: hy
Prefix: hy Prefix: hy
%% %%
Type: variant Type: variant
Subtag: arevmda Subtag: arevmda
Description: Western Armenian Description: Western Armenian
Added: 2006-09-18 Added: 2006-09-18
Deprecated: 2018-03-24
Preferred-Value: hyw
Prefix: hy Prefix: hy
%% %%
Type: variant Type: variant
@ -46431,6 +46544,13 @@ Added: 2017-06-05
Prefix: tw Prefix: tw
%% %%
Type: variant Type: variant
Subtag: auvern
Description: Auvergnat
Added: 2018-04-22
Prefix: oc
Comments: Occitan variant spoken in Auvergne
%%
Type: variant
Subtag: baku1926 Subtag: baku1926
Description: Unified Turkic Latin Alphabet (Historical) Description: Unified Turkic Latin Alphabet (Historical)
Added: 2007-04-18 Added: 2007-04-18
@ -46510,6 +46630,13 @@ Prefix: en
Comments: Jargon embedded in American English Comments: Jargon embedded in American English
%% %%
Type: variant Type: variant
Subtag: cisaup
Description: Cisalpine
Added: 2018-04-22
Prefix: oc
Comments: Occitan variant spoken in northwestern Italy
%%
Type: variant
Subtag: colb1945 Subtag: colb1945
Description: Portuguese-Brazilian Orthographic Convention of 1945 Description: Portuguese-Brazilian Orthographic Convention of 1945
(Convenção Ortográfica Luso-Brasileira de 1945) (Convenção Ortográfica Luso-Brasileira de 1945)
@ -46528,6 +46655,12 @@ Added: 2015-12-07
Prefix: en Prefix: en
%% %%
Type: variant Type: variant
Subtag: creiss
Description: Occitan variants of the Croissant area
Added: 2018-04-22
Prefix: oc
%%
Type: variant
Subtag: dajnko Subtag: dajnko
Description: Slovene in Dajnko alphabet Description: Slovene in Dajnko alphabet
Added: 2012-06-27 Added: 2012-06-27
@ -46556,6 +46689,11 @@ Description: International Phonetic Alphabet
Added: 2006-12-11 Added: 2006-12-11
%% %%
Type: variant Type: variant
Subtag: fonkirsh
Description: Kirshenbaum Phonetic Alphabet
Added: 2018-04-22
%%
Type: variant
Subtag: fonnapa Subtag: fonnapa
Description: North American Phonetic Alphabet Description: North American Phonetic Alphabet
Description: Americanist Phonetic Notation Description: Americanist Phonetic Notation
@ -46573,6 +46711,36 @@ Added: 2010-10-23
Comments: Indicates that the content is transcribed according to X-SAMPA Comments: Indicates that the content is transcribed according to X-SAMPA
%% %%
Type: variant Type: variant
Subtag: gascon
Description: Gascon
Added: 2018-04-22
Prefix: oc
Comments: Occitan variant spoken in Gascony
%%
Type: variant
Subtag: grclass
Description: Classical Occitan orthography
Added: 2018-04-22
Prefix: oc
Comments: Classical written standard for Occitan developed in 1935 by
Alibèrt
%%
Type: variant
Subtag: grital
Description: Italian-inspired Occitan orthography
Added: 2018-04-22
Prefix: oc
%%
Type: variant
Subtag: grmistr
Description: Mistralian or Mistralian-inspired Occitan orthography
Added: 2018-04-22
Prefix: oc
Comments: Written standard developed by Romanilha in 1853 and used by
Mistral and the Félibres, including derived standards such as Escolo
dóu Po, Escolo Gaston Febus, and others
%%
Type: variant
Subtag: hepburn Subtag: hepburn
Description: Hepburn romanization Description: Hepburn romanization
Added: 2009-10-01 Added: 2009-10-01
@ -46617,6 +46785,13 @@ Added: 2010-07-28
Prefix: sa Prefix: sa
%% %%
Type: variant Type: variant
Subtag: ivanchov
Description: Bulgarian in 1899 orthography
Added: 2017-12-13
Prefix: bg
Comments: Bulgarian orthography introduced by Todor Ivanchov in 1899
%%
Type: variant
Subtag: jauer Subtag: jauer
Description: Jauer dialect of Romansh Description: Jauer dialect of Romansh
Added: 2010-06-29 Added: 2010-06-29
@ -46659,6 +46834,20 @@ Added: 2010-07-28
Prefix: sa Prefix: sa
%% %%
Type: variant Type: variant
Subtag: lemosin
Description: Limousin
Added: 2018-04-22
Prefix: oc
Comments: Occitan variant spoken in Limousin
%%
Type: variant
Subtag: lengadoc
Description: Languedocien
Added: 2018-04-22
Prefix: oc
Comments: Occitan variant spoken in Languedoc
%%
Type: variant
Subtag: lipaw Subtag: lipaw
Description: The Lipovaz dialect of Resian Description: The Lipovaz dialect of Resian
Description: The Lipovec dialect of Resian Description: The Lipovec dialect of Resian
@ -46712,6 +46901,13 @@ Added: 2015-11-25
Prefix: en-CA Prefix: en-CA
%% %%
Type: variant Type: variant
Subtag: nicard
Description: Niçard
Added: 2018-04-22
Prefix: oc
Comments: Occitan variant spoken in Nice
%%
Type: variant
Subtag: njiva Subtag: njiva
Description: The Gniva dialect of Resian Description: The Gniva dialect of Resian
Description: The Njiva dialect of Resian Description: The Njiva dialect of Resian
@ -46798,6 +46994,13 @@ Added: 2006-12-11
Prefix: el Prefix: el
%% %%
Type: variant Type: variant
Subtag: provenc
Description: Provençal
Added: 2018-04-22
Prefix: oc
Comments: Occitan variant spoken in Provence
%%
Type: variant
Subtag: puter Subtag: puter
Description: Puter idiom of Romansh Description: Puter idiom of Romansh
Added: 2010-06-29 Added: 2010-06-29
@ -46959,6 +47162,13 @@ Comments: Vallader is one of the five traditional written standards or
"idioms" of the Romansh language. "idioms" of the Romansh language.
%% %%
Type: variant Type: variant
Subtag: vivaraup
Description: Vivaro-Alpine
Added: 2018-04-22
Prefix: oc
Comments: Occitan variant spoken in northeastern Occitania
%%
Type: variant
Subtag: wadegile Subtag: wadegile
Description: Wade-Giles romanization Description: Wade-Giles romanization
Added: 2008-10-03 Added: 2008-10-03

View file

@ -42,6 +42,8 @@
# line looking like this: # line looking like this:
# #
# make cross_compile_target="aarch64-linux-gnu" BASE_OS=Fedora27 # make cross_compile_target="aarch64-linux-gnu" BASE_OS=Fedora27
# or
# make cross_compile_target="arm-linux-gnueabihf" BASE_OS=Fedora27
# #
# This is the makefile which iterates over all host and target platforms. # This is the makefile which iterates over all host and target platforms.
# #

View file

@ -44,13 +44,23 @@ $(info HOST=$(HOST))
$(info BUILD=$(BUILD)) $(info BUILD=$(BUILD))
ARCH := $(word 1,$(subst -, ,$(TARGET))) ARCH := $(word 1,$(subst -, ,$(TARGET)))
ifeq ($(TARGET), arm-linux-gnueabihf)
ARCH=armhfp
endif
$(info ARCH=$(ARCH)) $(info ARCH=$(ARCH))
ifeq ($(BASE_OS), OEL6) ifeq ($(BASE_OS), OEL6)
OEL_URL := http://yum.oracle.com/repo/OracleLinux/OL6/4/base/$(ARCH)/ OEL_URL := http://yum.oracle.com/repo/OracleLinux/OL6/4/base/$(ARCH)/
LINUX_VERSION := OEL6.4 LINUX_VERSION := OEL6.4
else ifeq ($(BASE_OS), Fedora27) else ifeq ($(BASE_OS), Fedora27)
OEL_URL := https://dl.fedoraproject.org/pub/fedora-secondary/releases/27/Everything/$(ARCH)/os/Packages/ ifeq ($(ARCH), aarch64)
FEDORA_TYPE=fedora-secondary
else
FEDORA_TYPE=fedora/linux
endif
OEL_URL := https://dl.fedoraproject.org/pub/$(FEDORA_TYPE)/releases/27/Everything/$(ARCH)/os/Packages/
LINUX_VERSION := Fedora 27 LINUX_VERSION := Fedora 27
else else
$(error Unknown base OS $(BASE_OS)) $(error Unknown base OS $(BASE_OS))
@ -189,6 +199,8 @@ ifeq ($(ARCH),x86_64)
endif endif
else ifeq ($(ARCH),i686) else ifeq ($(ARCH),i686)
RPM_ARCHS := i386 i686 noarch RPM_ARCHS := i386 i686 noarch
else ifeq ($(ARCH), armhfp)
RPM_ARCHS := $(ARCH) armv7hl noarch
else else
RPM_ARCHS := $(ARCH) noarch RPM_ARCHS := $(ARCH) noarch
endif endif
@ -410,6 +422,10 @@ ifneq (,$(findstring linux,$(TARGET)))
$(BUILDDIR)/$(gcc_ver)/Makefile : CONFIG += --enable-__cxa_atexit $(BUILDDIR)/$(gcc_ver)/Makefile : CONFIG += --enable-__cxa_atexit
endif endif
ifeq ($(ARCH), armhfp)
$(BUILDDIR)/$(gcc_ver)/Makefile : CONFIG += --with-float=hard
endif
# Want: # Want:
# c,c++ # c,c++
# shared libs # shared libs

View file

@ -108,8 +108,8 @@ if [ ! -d $DEVKIT_ROOT/VC ]; then
# The redist runtime libs are needed to run the compiler but may not be # The redist runtime libs are needed to run the compiler but may not be
# installed on the machine where the devkit will be used. # installed on the machine where the devkit will be used.
cp $DEVKIT_ROOT/VC/redist/x64/$MSVCR_DLL $DEVKIT_ROOT/VC/bin/x86 cp $DEVKIT_ROOT/VC/redist/x86/$MSVCR_DLL $DEVKIT_ROOT/VC/bin/x86
cp $DEVKIT_ROOT/VC/redist/x64/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/x86 cp $DEVKIT_ROOT/VC/redist/x86/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/x86
cp $DEVKIT_ROOT/VC/redist/x64/$MSVCR_DLL $DEVKIT_ROOT/VC/bin/x64 cp $DEVKIT_ROOT/VC/redist/x64/$MSVCR_DLL $DEVKIT_ROOT/VC/bin/x64
cp $DEVKIT_ROOT/VC/redist/x64/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/x64 cp $DEVKIT_ROOT/VC/redist/x64/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/x64
fi fi

View file

@ -23,8 +23,6 @@
# questions. # questions.
# #
$(eval $(call IncludeCustomExtension, gendata/GendataFontConfig.gmk))
GENDATA_FONT_CONFIG_DST := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE) GENDATA_FONT_CONFIG_DST := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE)
GENDATA_FONT_CONFIG_DATA_DIR ?= $(TOPDIR)/make/data/fontconfig GENDATA_FONT_CONFIG_DATA_DIR ?= $(TOPDIR)/make/data/fontconfig

View file

@ -78,13 +78,6 @@ $(eval $(call SetupCompileProperties, COMPILE_PROPERTIES, \
GENSRC_JAVA_DESKTOP += $(COMPILE_PROPERTIES) GENSRC_JAVA_DESKTOP += $(COMPILE_PROPERTIES)
# Some resources bundles are already present as java files but still need to be
# copied to zh_HK locale.
$(eval $(call SetupCopy-zh_HK,COPY_ZH_HK, \
$(TOPDIR)/src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java))
GENSRC_JAVA_DESKTOP += $(COPY_ZH_HK)
################################################################################ ################################################################################
java.desktop: $(GENSRC_JAVA_DESKTOP) java.desktop: $(GENSRC_JAVA_DESKTOP)

View file

@ -1,5 +1,5 @@
# #
# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -32,6 +32,7 @@ $(eval $(call SetupCompileProperties,COMPILE_PROPERTIES, \
$(JAVAC_VERSION))) $(JAVAC_VERSION)))
$(eval $(call SetupParseProperties,PARSE_PROPERTIES, \ $(eval $(call SetupParseProperties,PARSE_PROPERTIES, \
com/sun/tools/javac/resources/compiler.properties)) com/sun/tools/javac/resources/compiler.properties \
com/sun/tools/javac/resources/launcher.properties))
all: $(COMPILE_PROPERTIES) $(PARSE_PROPERTIES) all: $(COMPILE_PROPERTIES) $(PARSE_PROPERTIES)

View file

@ -103,7 +103,7 @@ ADD_EXPORTS := \
$(GENSRC_DIR)/_gensrc_proc_done: $(PROC_SRCS) $(PROCESSOR_JARS) $(GENSRC_DIR)/_gensrc_proc_done: $(PROC_SRCS) $(PROCESSOR_JARS)
$(call MakeDir, $(@D)) $(call MakeDir, $(@D))
$(eval $(call ListPathsSafely,PROC_SRCS,$(@D)/_gensrc_proc_files)) $(eval $(call ListPathsSafely,PROC_SRCS,$(@D)/_gensrc_proc_files))
$(JAVA_SMALL) $(NEW_JAVAC) \ $(JAVA) $(NEW_JAVAC) \
-XDignore.symbol.file \ -XDignore.symbol.file \
--upgrade-module-path $(JDK_OUTPUTDIR)/modules --system none \ --upgrade-module-path $(JDK_OUTPUTDIR)/modules --system none \
$(ADD_EXPORTS) \ $(ADD_EXPORTS) \

View file

@ -0,0 +1,51 @@
#
# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
default: all
include $(SPEC)
include MakeBase.gmk
include TextFileProcessing.gmk
################################################################################
# Version file needs to be processed with version numbers
VERSION_FILE := jdk/nashorn/internal/runtime/resources/version.properties
$(eval $(call SetupTextFileProcessing, BUILD_VERSION_FILE, \
SOURCE_FILES := $(TOPDIR)/src/$(MODULE)/share/classes/$(VERSION_FILE).template, \
OUTPUT_FILE := $(SUPPORT_OUTPUTDIR)/gensrc/$(MODULE)/$(VERSION_FILE), \
REPLACEMENTS := \
@@VERSION_STRING@@ => $(VERSION_STRING) ; \
@@VERSION_SHORT@@ => $(VERSION_SHORT) , \
))
TARGETS += $(NASGEN_RUN_FILE) $(BUILD_VERSION_FILE)
################################################################################
all: $(TARGETS)
.PHONY: all default

View file

@ -155,6 +155,16 @@ ifneq ($(call check-jvm-feature, serialgc), true)
JVM_EXCLUDE_FILES += psMarkSweep.cpp psMarkSweepDecorator.cpp JVM_EXCLUDE_FILES += psMarkSweep.cpp psMarkSweepDecorator.cpp
endif endif
ifneq ($(call check-jvm-feature, epsilongc), true)
JVM_CFLAGS_FEATURES += -DINCLUDE_EPSILONGC=0
JVM_EXCLUDE_PATTERNS += gc/epsilon
endif
ifneq ($(call check-jvm-feature, zgc), true)
JVM_CFLAGS_FEATURES += -DINCLUDE_ZGC=0
JVM_EXCLUDE_PATTERNS += gc/z
endif
ifneq ($(call check-jvm-feature, jfr), true) ifneq ($(call check-jvm-feature, jfr), true)
JVM_CFLAGS_FEATURES += -DINCLUDE_JFR=0 JVM_CFLAGS_FEATURES += -DINCLUDE_JFR=0
JVM_EXCLUDE_PATTERNS += jfr JVM_EXCLUDE_PATTERNS += jfr

View file

@ -1,5 +1,5 @@
# #
# Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -38,7 +38,8 @@ module.names = java.compiler \
jdk.jshell jdk.jshell
langtools.resource.includes = \ langtools.resource.includes = \
com/sun/tools/javac/resources/compiler.properties com/sun/tools/javac/resources/compiler.properties \
com/sun/tools/javac/resources/launcher.properties
# Version info -- override as needed # Version info -- override as needed
jdk.version = 9 jdk.version = 9

View file

@ -27,37 +27,38 @@ $(eval $(call IncludeCustomExtension, lib/Awt2dLibraries-pre.gmk))
WIN_AWT_LIB := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt/awt.lib WIN_AWT_LIB := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt/awt.lib
LIBAWT_DEFAULT_HEADER_DIRS := \
libawt/awt/image \
libawt/awt/image/cvutils \
libawt/java2d \
libawt/java2d/loops \
libawt/java2d/pipe \
#
################################################################################ ################################################################################
BUILD_LIBMLIB_SRC := $(TOPDIR)/src/java.desktop/share/native/libmlib_image \ # We must not include java.desktop/unix/native/libmlib_image, which is only
$(TOPDIR)/src/java.desktop/share/native/common/awt/medialib # for usage by solaris-sparc in libmlib_image_v.
BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \ BUILD_LIBMLIB_EXCLUDE_SRC_PATTERNS := unix
$(addprefix -I, $(BUILD_LIBMLIB_SRC)) \
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libmlib_image
BUILD_LIBMLIB_LDLIBS := BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES -DMLIB_NO_LIBSUNMATH
BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
ifeq ($(OPENJDK_TARGET_CPU_BITS), 64) ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
endif endif
ifneq ($(OPENJDK_TARGET_OS), windows)
BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
endif
$(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE, \ $(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE, \
NAME := mlib_image, \ NAME := mlib_image, \
SRC := $(BUILD_LIBMLIB_SRC), \ EXTRA_SRC := common/awt/medialib, \
EXCLUDE_FILES := mlib_c_ImageBlendTable.c, \ EXCLUDE_FILES := mlib_c_ImageBlendTable.c, \
EXCLUDE_SRC_PATTERNS := $(BUILD_LIBMLIB_EXCLUDE_SRC_PATTERNS), \
OPTIMIZATION := HIGHEST, \ OPTIMIZATION := HIGHEST, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB) \
$(BUILD_LIBMLIB_CFLAGS), \ $(BUILD_LIBMLIB_CFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(BUILD_LIBMLIB_LDLIBS) \ LIBS := $(JDKLIB_LIBS), \
$(JDKLIB_LIBS), \ LIBS_unix := $(LIBM) $(LIBDL), \
)) ))
$(BUILD_LIBMLIB_IMAGE): $(call FindLib, java.base, java) $(BUILD_LIBMLIB_IMAGE): $(call FindLib, java.base, java)
@ -68,14 +69,19 @@ TARGETS += $(BUILD_LIBMLIB_IMAGE)
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc) ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
LIBMLIB_IMAGE_V_SRC := $(TOPDIR)/src/java.desktop/share/native/libmlib_image \ # libmlib_image_v is basically built from mlib_image sources, with some additions
$(TOPDIR)/src/java.desktop/unix/native/libmlib_image \ # and some exclusions.
$(TOPDIR)/src/java.desktop/share/native/common/awt/medialib \ LIBMLIB_IMAGE_V_SRC := \
$(TOPDIR)/src/java.desktop/unix/native/common/awt/medialib \ libmlib_image \
# common/awt/medialib \
LIBMLIB_IMAGE_V_CFLAGS := $(TOPDIR)/src/java.desktop/unix/native/libmlib_image/vis_$(OPENJDK_TARGET_CPU_BITS).il \ #
$(addprefix -I, $(LIBMLIB_IMAGE_V_SRC)) \
# LIBMLIB_IMAGE_V_CFLAGS := -xarch=sparcvis -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
$(TOPDIR)/src/$(MODULE)/unix/native/libmlib_image/vis_$(OPENJDK_TARGET_CPU_BITS).il
ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
LIBMLIB_IMAGE_V_CFLAGS += -DMLIB_OS64BIT
endif
BUILD_LIBMLIB_IMAGE_V_EXFILES := \ BUILD_LIBMLIB_IMAGE_V_EXFILES := \
awt_ImagingLib.c \ awt_ImagingLib.c \
@ -95,19 +101,16 @@ ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
mlib_c_ImageLookUp_f.c \ mlib_c_ImageLookUp_f.c \
# #
LIBMLIB_IMAGE_V_CFLAGS += $(filter-out -DMLIB_NO_LIBSUNMATH, $(BUILD_LIBMLIB_CFLAGS))
$(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE_V, \ $(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE_V, \
NAME := mlib_image_v, \ NAME := mlib_image_v, \
SRC := $(LIBMLIB_IMAGE_V_SRC), \ SRC := $(LIBMLIB_IMAGE_V_SRC), \
EXCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_EXFILES), \ EXCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_EXFILES), \
OPTIMIZATION := HIGHEST, \ OPTIMIZATION := HIGHEST, \
CFLAGS := -xarch=sparcvis \ CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBMLIB_IMAGE_V_CFLAGS) \ $(LIBMLIB_IMAGE_V_CFLAGS), \
$(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := -ljava -ljvm $(BUILD_LIBMLIB_LDLIBS), \ LIBS := -ljava -ljvm $(LIBM) $(LIBDL), \
)) ))
$(BUILD_LIBMLIB_IMAGE_V): $(call FindLib, java.base, java) $(BUILD_LIBMLIB_IMAGE_V): $(call FindLib, java.base, java)
@ -118,18 +121,22 @@ endif
################################################################################ ################################################################################
LIBAWT_DIRS := $(TOPDIR)/src/java.desktop/share/native/libawt \ LIBAWT_EXTRA_SRC := \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt \ common/awt/debug \
$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \ $(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
# #
ifeq ($(OPENJDK_TARGET_OS), aix) ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
LIBAWT_DIRS += $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/libawt LIBAWT_EXTRA_SRC += $(TOPDIR)/src/$(MODULE)/share/native/common/awt/medialib
endif endif
ifeq ($(OPENJDK_TARGET_OS), windows) ifeq ($(OPENJDK_TARGET_OS), windows)
LIBAWT_DIRS += $(TOPDIR)/src/java.desktop/share/native/common/awt/utility LIBAWT_EXTRA_SRC += \
$(TOPDIR)/src/$(MODULE)/share/native/common/awt/utility \
$(TOPDIR)/src/$(MODULE)/share/native/common/font \
$(TOPDIR)/src/$(MODULE)/share/native/common/java2d/opengl \
$(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt/systemscale \
#
endif endif
ifneq ($(filter $(OPENJDK_TARGET_OS), solaris linux macosx aix), ) ifneq ($(filter $(OPENJDK_TARGET_OS), solaris linux macosx aix), )
@ -140,33 +147,45 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
LIBAWT_EXFILES += initIDs.c awt/image/cvutils/img_colors.c LIBAWT_EXFILES += initIDs.c awt/image/cvutils/img_colors.c
endif endif
LIBAWT_CFLAGS += -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \ ifeq ($(OPENJDK_TARGET_OS), windows)
$(addprefix -I, $(shell find $(LIBAWT_DIRS) -type d)) \ LIBAWT_EXFILES += \
$(LIBJAVA_HEADER_FLAGS) \ java2d/d3d/D3DShaderGen.c \
$(addprefix -I, $(BUILD_LIBMLIB_IMAGE_SRC)) \ awt/image/cvutils/img_colors.c \
#
endif
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), solaris-sparcv9)
LIBAWT_EXFILES += java2d/loops/MapAccelFunc.c
else
LIBAWT_EXCLUDES += \
$(TOPDIR)/src/$(MODULE)/unix/native/libawt/awt/medialib \
$(TOPDIR)/src/$(MODULE)/unix/native/libawt/java2d/loops \
$(TOPDIR)/src/$(MODULE)/unix/native/common/awt/medialib \
#
endif
LIBAWT_EXTRA_HEADER_DIRS := \
$(LIBAWT_DEFAULT_HEADER_DIRS) \
$(call GetJavaHeaderDir, java.base) \
libawt/awt/medialib \
libawt/java2d/d3d \
libawt/java2d/opengl \
libawt/java2d/windows \
libawt/windows \
common/awt/medialib \
libmlib_image \
include \
java.base:libjava \
java.base:include \
# #
LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES $(X_CFLAGS) LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES $(X_CFLAGS)
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc) ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), solaris-sparcv9)
LIBAWT_CFLAGS += -DMLIB_ADD_SUFF LIBAWT_CFLAGS += -xarch=sparcvis -DMLIB_ADD_SUFF \
LIBAWT_CFLAGS += -xarch=sparcvis $(TOPDIR)/src/$(MODULE)/unix/native/libmlib_image/vis_$(OPENJDK_TARGET_CPU_BITS).il
LIBAWT_CFLAGS += $(TOPDIR)/src/java.desktop/unix/native/libmlib_image/vis_$(OPENJDK_TARGET_CPU_BITS).il LIBAWT_ASFLAGS = -P -xarch=v9a
LIBAWT_DIRS += $(TOPDIR)/src/java.desktop/share/native/common/awt/medialib
LIBAWT_EXFILES += java2d/loops/MapAccelFunc.c
ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
LIBAWT_ASFLAGS = -P -xarch=v9a
else
LIBAWT_ASFLAGS = -P -xarch=v8plusa
endif
else
LIBAWT_EXCLUDES += \
$(TOPDIR)/src/java.desktop/unix/native/libawt/awt/medialib \
$(TOPDIR)/src/java.desktop/unix/native/libawt/java2d/loops \
$(TOPDIR)/src/java.desktop/unix/native/common/awt/medialib \
#
endif endif
ifneq ($(OPENJDK_TARGET_OS), solaris) ifneq ($(OPENJDK_TARGET_OS), solaris)
@ -174,29 +193,13 @@ ifneq ($(OPENJDK_TARGET_OS), solaris)
endif endif
ifeq ($(OPENJDK_TARGET_OS), windows) ifeq ($(OPENJDK_TARGET_OS), windows)
LIBAWT_DIRS += $(TOPDIR)/src/java.desktop/share/native/common/font \
$(TOPDIR)/src/java.desktop/share/native/common/java2d/opengl \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt/systemscale \
# Why does libawt need java.base headers?
LIBAWT_CFLAGS += -I$(TOPDIR)/src/java.desktop/share/native/common/font \
-I$(TOPDIR)/src/java.desktop/share/native/common/java2d/opengl \
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/java2d/opengl \
-I$(TOPDIR)/src/java.desktop/windows/native/include \
-I$(TOPDIR)/src/java.desktop/share/native/include \
-I$(SUPPORT_OUTPUTDIR)/headers/java.base \
#
LIBAWT_EXFILES += \
java2d/d3d/D3DShaderGen.c \
awt/image/cvutils/img_colors.c \
#
LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
ifeq ($(OPENJDK_TARGET_CPU_BITS), 64) ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
LIBAWT_CFLAGS += -DMLIB_OS64BIT LIBAWT_CFLAGS += -DMLIB_OS64BIT
endif endif
LIBAWT_RC_FLAGS ?= -I $(TOPDIR)/src/java.base/windows/native/launcher/icons LIBAWT_RC_FLAGS ?= -I $(TOPDIR)/src/java.base/windows/native/launcher/icons
LIBAWT_VERSIONINFO_RESOURCE := $(TOPDIR)/src/java.desktop/windows/native/libawt/windows/awt.rc LIBAWT_VERSIONINFO_RESOURCE := $(TOPDIR)/src/$(MODULE)/windows/native/libawt/windows/awt.rc
endif endif
ifeq ($(OPENJDK_TARGET_OS), linux) ifeq ($(OPENJDK_TARGET_OS), linux)
@ -215,16 +218,17 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
NAME := awt, \ NAME := awt, \
SRC := $(LIBAWT_DIRS), \ EXTRA_SRC := $(LIBAWT_EXTRA_SRC), \
EXCLUDES := $(LIBAWT_EXCLUDES), \ EXCLUDES := $(LIBAWT_EXCLUDES), \
EXCLUDE_FILES := $(LIBAWT_EXFILES), \ EXCLUDE_FILES := $(LIBAWT_EXFILES), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \ CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
EXTRA_HEADER_DIRS := $(LIBAWT_EXTRA_HEADER_DIRS), \
DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \ DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
format-nonliteral parentheses, \ format-nonliteral parentheses, \
DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer, \ DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer, \
DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE, \ DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE, \
DISABLED_WARNINGS_microsoft := 4297 4244 4267 4291 4302 4311 4996, \ DISABLED_WARNINGS_microsoft := 4244 4267 4996, \
ASFLAGS := $(LIBAWT_ASFLAGS), \ ASFLAGS := $(LIBAWT_ASFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \ LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \
@ -265,38 +269,26 @@ TARGETS += $(BUILD_LIBAWT)
################################################################################ ################################################################################
ifeq ($(findstring $(OPENJDK_TARGET_OS),windows macosx),) ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx), )
ifeq ($(ENABLE_HEADLESS_ONLY), false) ifeq ($(ENABLE_HEADLESS_ONLY), false)
LIBAWT_XAWT_DIRS := \ LIBAWT_XAWT_EXTRA_SRC := \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt_xawt \ common/awt \
$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \ common/java2d \
$(TOPDIR)/src/java.desktop/share/native/common/awt/utility \ common/font \
$(TOPDIR)/src/java.desktop/share/native/common/font \
$(TOPDIR)/src/java.desktop/share/native/common/java2d \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/java2d \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
# #
ifneq ($(filter $(OPENJDK_TARGET_OS),linux solaris aix), )
LIBAWT_XAWT_DIRS += $(TOPDIR)/src/java.desktop/unix/native/common/awt/systemscale
endif
LIBAWT_XAWT_EXCLUDES := medialib LIBAWT_XAWT_EXCLUDES := medialib
LIBAWT_XAWT_CFLAGS := $(addprefix -I, $(shell $(FIND) $(LIBAWT_XAWT_DIRS) -type d)) \ LIBAWT_XAWT_EXTRA_HEADER_DIRS := \
-I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \ $(LIBAWT_DEFAULT_HEADER_DIRS) \
-I$(TOPDIR)/src/java.desktop/share/native/include \ libawt_xawt/awt \
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/include \ include \
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/include \ common/awt/debug \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d \ common/awt/systemscale \
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/java2d \ common/font \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/loops \ common/java2d/opengl \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe \ common/java2d/x11 \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image \
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/font \
$(LIBJAVA_HEADER_FLAGS)
# #
LIBAWT_XAWT_CFLAGS += -DXAWT -DXAWT_HACK \ LIBAWT_XAWT_CFLAGS += -DXAWT -DXAWT_HACK \
@ -329,11 +321,12 @@ ifeq ($(findstring $(OPENJDK_TARGET_OS),windows macosx),)
BUILD_LIBAWT_XAWT_awt_Font.c_CFLAGS := -w BUILD_LIBAWT_XAWT_awt_Font.c_CFLAGS := -w
# initializing a declared 'extern' # initializing a declared 'extern'
BUILD_LIBAWT_XAWT_debug_mem.c_CFLAGS := -w BUILD_LIBAWT_XAWT_debug_mem.c_CFLAGS := -w
endif endif
$(eval $(call SetupJdkLibrary, BUILD_LIBAWT_XAWT, \ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_XAWT, \
NAME := awt_xawt, \ NAME := awt_xawt, \
SRC := $(LIBAWT_XAWT_DIRS), \ EXTRA_SRC := $(LIBAWT_XAWT_EXTRA_SRC), \
EXTRA_HEADER_DIRS := $(LIBAWT_XAWT_EXTRA_HEADER_DIRS), \
EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \ EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \ CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
@ -349,10 +342,6 @@ ifeq ($(findstring $(OPENJDK_TARGET_OS),windows macosx),)
$(call SET_SHARED_LIBRARY_ORIGIN) \ $(call SET_SHARED_LIBRARY_ORIGIN) \
-L$(INSTALL_LIBRARIES_HERE), \ -L$(INSTALL_LIBRARIES_HERE), \
LIBS := $(X_LIBS) $(LIBAWT_XAWT_LIBS), \ LIBS := $(X_LIBS) $(LIBAWT_XAWT_LIBS), \
RC_FLAGS := $(RC_FLAGS) \
-D "JDK_FNAME=xawt.dll" \
-D "JDK_INTERNAL_NAME=xawt" \
-D "JDK_FTYPE=0x2L", \
)) ))
$(BUILD_LIBAWT_XAWT): $(call FindLib, java.base, java) $(BUILD_LIBAWT_XAWT): $(call FindLib, java.base, java)
@ -366,36 +355,34 @@ endif
################################################################################ ################################################################################
LIBLCMS_SRC := $(TOPDIR)/src/java.desktop/share/native/liblcms
LIBLCMS_CPPFLAGS += -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d \
-I$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
$(LIBJAVA_HEADER_FLAGS) \
#
# The fast floor code loses precision. # The fast floor code loses precision.
LCMS_CFLAGS=-DCMS_DONT_USE_FAST_FLOOR LCMS_CFLAGS=-DCMS_DONT_USE_FAST_FLOOR
LCMS_CFLAGS_JDKLIB := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB))
ifeq ($(USE_EXTERNAL_LCMS), true) ifeq ($(USE_EXTERNAL_LCMS), true)
# If we're using an external library, we'll just need the wrapper part. # If we're using an external library, we'll just need the wrapper part.
# By including it explicitly, all other files will be excluded. # By including it explicitly, all other files will be excluded.
BUILD_LIBLCMS_INCLUDE_FILES := LCMS.c BUILD_LIBLCMS_INCLUDE_FILES := LCMS.c
# If we're using an external library, we can't include our own SRC path
# as includes, instead the system headers should be used.
LIBLCMS_HEADERS_FROM_SRC := false
else else
BUILD_LIBLCMS_INCLUDE_FILES := BUILD_LIBLCMS_INCLUDE_FILES :=
# If we're using the bundled library, we'll need to include it in the
# include path explicitly. Otherwise the system headers will be used.
LIBLCMS_CPPFLAGS += $(addprefix -I, $(LIBLCMS_SRC))
endif endif
$(eval $(call SetupJdkLibrary, BUILD_LIBLCMS, \ $(eval $(call SetupJdkLibrary, BUILD_LIBLCMS, \
NAME := lcms, \ NAME := lcms, \
SRC := $(LIBLCMS_SRC), \
INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \ INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
OPTIMIZATION := HIGHEST, \ OPTIMIZATION := HIGHEST, \
CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \ CFLAGS := $(LCMS_CFLAGS_JDKLIB) \
$(LIBLCMS_CPPFLAGS) \
$(LCMS_CFLAGS), \ $(LCMS_CFLAGS), \
CFLAGS_solaris := -xc99=no_lib, \ CFLAGS_solaris := -xc99=no_lib, \
CFLAGS_windows := -DCMS_IS_WINDOWS_, \ CFLAGS_windows := -DCMS_IS_WINDOWS_, \
EXTRA_HEADER_DIRS := \
common/awt/debug \
libawt/java2d, \
HEADERS_FROM_SRC := $(LIBLCMS_HEADERS_FROM_SRC), \
DISABLED_WARNINGS_gcc := format-nonliteral type-limits misleading-indentation, \ DISABLED_WARNINGS_gcc := format-nonliteral type-limits misleading-indentation, \
DISABLED_WARNINGS_clang := tautological-compare, \ DISABLED_WARNINGS_clang := tautological-compare, \
DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \ DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
@ -413,8 +400,6 @@ $(BUILD_LIBLCMS): $(BUILD_LIBAWT)
################################################################################ ################################################################################
LIBJAVAJPEG_SRC += $(TOPDIR)/src/java.desktop/share/native/libjavajpeg
# "DISABLED_WARNINGS_gcc := clobbered" rationale: # "DISABLED_WARNINGS_gcc := clobbered" rationale:
# Suppress gcc warnings like "variable might be clobbered by 'longjmp' # Suppress gcc warnings like "variable might be clobbered by 'longjmp'
# or 'vfork'": this warning indicates that some variable is placed to # or 'vfork'": this warning indicates that some variable is placed to
@ -428,21 +413,20 @@ ifeq ($(USE_EXTERNAL_LIBJPEG), true)
BUILD_LIBJAVAJPEG_INCLUDE_FILES := \ BUILD_LIBJAVAJPEG_INCLUDE_FILES := \
imageioJPEG.c \ imageioJPEG.c \
jpegdecoder.c jpegdecoder.c
BUILD_LIBJAVAJPEG_HEADERS := # If we're using an external library, we can't include our own SRC path
# as includes, instead the system headers should be used.
LIBJPEG_HEADERS_FROM_SRC := false
else else
LIBJPEG_LIBS := LIBJPEG_LIBS :=
BUILD_LIBJAVAJPEG_INCLUDE_FILES := BUILD_LIBJAVAJPEG_INCLUDE_FILES :=
BUILD_LIBJAVAJPEG_HEADERS := $(addprefix -I, $(LIBJAVAJPEG_SRC))
endif endif
$(eval $(call SetupJdkLibrary, BUILD_LIBJAVAJPEG, \ $(eval $(call SetupJdkLibrary, BUILD_LIBJAVAJPEG, \
NAME := javajpeg, \ NAME := javajpeg, \
SRC := $(LIBJAVAJPEG_SRC), \
INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \ INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
OPTIMIZATION := HIGHEST, \ OPTIMIZATION := HIGHEST, \
CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBJAVAJPEG_HEADERS) \ CFLAGS := $(CFLAGS_JDKLIB), \
$(LIBJAVA_HEADER_FLAGS) \ HEADERS_FROM_SRC := $(LIBJPEG_HEADERS_FROM_SRC), \
-I$(SUPPORT_OUTPUTDIR)/headers/java.desktop, \
DISABLED_WARNINGS_gcc := clobbered implicit-fallthrough shift-negative-value, \ DISABLED_WARNINGS_gcc := clobbered implicit-fallthrough shift-negative-value, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
@ -459,42 +443,32 @@ TARGETS += $(BUILD_LIBJAVAJPEG)
# Mac and Windows only use the native AWT lib, do not build libawt_headless # Mac and Windows only use the native AWT lib, do not build libawt_headless
ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx),) ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx),)
LIBAWT_HEADLESS_DIRS := $(TOPDIR)/src/java.desktop/unix/native/libawt_headless/awt \ LIBAWT_HEADLESS_EXTRA_SRC := \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \ common/font \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/java2d \ common/java2d \
$(TOPDIR)/src/java.desktop/share/native/common/java2d \ $(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
$(TOPDIR)/src/java.desktop/share/native/common/font \
# #
LIBAWT_HEADLESS_EXCLUDES := medialib LIBAWT_HEADLESS_EXCLUDES := medialib
LIBAWT_HEADLESS_CFLAGS := -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
$(addprefix -I, $(LIBAWT_HEADLESS_DIRS)) \ LIBAWT_HEADLESS_EXTRA_HEADER_DIRS := \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image \ $(LIBAWT_DEFAULT_HEADER_DIRS) \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \ common/awt/debug \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d \ common/font \
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/java2d \ common/java2d/opengl \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/loops \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe \
-I$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
-I$(TOPDIR)/src/java.desktop/share/native/common/font \
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/font \
-I$(TOPDIR)/src/java.desktop/share/native/common/java2d/opengl \
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/java2d/opengl \
$(LIBJAVA_HEADER_FLAGS) \
# #
LIBAWT_HEADLESS_CFLAGS := $(CUPS_CFLAGS) $(FONTCONFIG_CFLAGS) $(X_CFLAGS) \
-DHEADLESS=true -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
$(eval $(call SetupJdkLibrary, BUILD_LIBAWT_HEADLESS, \ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_HEADLESS, \
NAME := awt_headless, \ NAME := awt_headless, \
SRC := $(LIBAWT_HEADLESS_DIRS), \ EXTRA_SRC := $(LIBAWT_HEADLESS_EXTRA_SRC), \
EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \ EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB) \
-DHEADLESS=true \
-DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
$(CUPS_CFLAGS) \
$(FONTCONFIG_CFLAGS) \
$(X_CFLAGS) \
$(LIBAWT_HEADLESS_CFLAGS), \ $(LIBAWT_HEADLESS_CFLAGS), \
EXTRA_HEADER_DIRS := $(LIBAWT_HEADLESS_EXTRA_HEADER_DIRS), \
DISABLED_WARNINGS_xlc := 1506-356, \ DISABLED_WARNINGS_xlc := 1506-356, \
DISABLED_WARNINGS_solstudio := E_EMPTY_TRANSLATION_UNIT, \ DISABLED_WARNINGS_solstudio := E_EMPTY_TRANSLATION_UNIT, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
@ -518,12 +492,15 @@ endif
################################################################################ ################################################################################
ifeq ($(FREETYPE_TO_USE), system) ifeq ($(FREETYPE_TO_USE), system)
# For use by libfontmanager:
LIBFREETYPE_CFLAGS := $(FREETYPE_CFLAGS) LIBFREETYPE_CFLAGS := $(FREETYPE_CFLAGS)
LIBFREETYPE_LIBS := $(FREETYPE_LIBS) LIBFREETYPE_LIBS := $(FREETYPE_LIBS)
else else
LIBFREETYPE_SRC := $(TOPDIR)/src/java.desktop/share/native/libfreetype BUILD_LIBFREETYPE_HEADER_DIRS := $(TOPDIR)/src/$(MODULE)/share/native/libfreetype/include
BUILD_LIBFREETYPE_HEADERS := $(addprefix -I, $(LIBFREETYPE_SRC)/include) BUILD_LIBFREETYPE_CFLAGS := -DFT2_BUILD_LIBRARY $(EXPORT_ALL_SYMBOLS)
LIBFREETYPE_CFLAGS := $(BUILD_LIBFREETYPE_HEADERS)
# For use by libfontmanager:
LIBFREETYPE_CFLAGS := -I$(BUILD_LIBFREETYPE_HEADER_DIRS)
ifeq ($(OPENJDK_TARGET_OS), windows) ifeq ($(OPENJDK_TARGET_OS), windows)
LIBFREETYPE_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfreetype/freetype.lib LIBFREETYPE_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfreetype/freetype.lib
else else
@ -532,14 +509,15 @@ else
$(eval $(call SetupJdkLibrary, BUILD_LIBFREETYPE, \ $(eval $(call SetupJdkLibrary, BUILD_LIBFREETYPE, \
NAME := freetype, \ NAME := freetype, \
SRC := $(LIBFREETYPE_SRC)/src, \
OPTIMIZATION := HIGHEST, \ OPTIMIZATION := HIGHEST, \
CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBFREETYPE_HEADERS) \ CFLAGS := $(CFLAGS_JDKLIB) \
-DFT2_BUILD_LIBRARY $(EXPORT_ALL_SYMBOLS), \ $(BUILD_LIBFREETYPE_CFLAGS), \
EXTRA_HEADER_DIRS := $(BUILD_LIBFREETYPE_HEADER_DIRS), \
DISABLED_WARNINGS_solstudio := \ DISABLED_WARNINGS_solstudio := \
E_STATEMENT_NOT_REACHED \ E_STATEMENT_NOT_REACHED \
E_END_OF_LOOP_CODE_NOT_REACHED, \ E_END_OF_LOOP_CODE_NOT_REACHED, \
DISABLED_WARNINGS_microsoft := 4267 4244 4312, \ DISABLED_WARNINGS_microsoft := 4267 4244 4312, \
DISABLED_WARNINGS_gcc := implicit-fallthrough, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
)) ))
@ -549,19 +527,6 @@ endif
########################################################################### ###########################################################################
LIBFONTMANAGER_SRC := $(TOPDIR)/src/java.desktop/share/native/libfontmanager \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libfontmanager
LIBFONTMANAGER_CFLAGS := \
$(addprefix -I, $(shell $(FIND) \
$(LIBFONTMANAGER_SRC) \
$(TOPDIR)/src/java.desktop/share/native/libawt \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt \
$(TOPDIR)/src/java.desktop/share/native/common \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common -type d)) \
-I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
$(LIBJAVA_HEADER_FLAGS) \
#
#### Begin harfbuzz configuration #### Begin harfbuzz configuration
HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN
@ -589,6 +554,16 @@ LIBFONTMANAGER_CFLAGS += $(HARFBUZZ_CFLAGS)
#### End harfbuzz configuration #### End harfbuzz configuration
LIBFONTMANAGER_EXTRA_HEADER_DIRS := \
libfontmanager/harfbuzz \
libfontmanager/harfbuzz/hb-ucdn \
common/awt \
common/font \
libawt/java2d \
libawt/java2d/pipe \
libawt/java2d/loops \
#
LIBFONTMANAGER_CFLAGS += $(LIBFREETYPE_CFLAGS) LIBFONTMANAGER_CFLAGS += $(LIBFREETYPE_CFLAGS)
BUILD_LIBFONTMANAGER_FONTLIB += $(LIBFREETYPE_LIBS) BUILD_LIBFONTMANAGER_FONTLIB += $(LIBFREETYPE_LIBS)
@ -598,7 +573,6 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \ LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
X11TextRenderer.c X11TextRenderer.c
LIBFONTMANAGER_OPTIMIZATION := HIGHEST LIBFONTMANAGER_OPTIMIZATION := HIGHEST
LIBFONTMANAGER_CFLAGS += -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/windows
else ifeq ($(OPENJDK_TARGET_OS), macosx) else ifeq ($(OPENJDK_TARGET_OS), macosx)
LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \ LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
X11TextRenderer.c \ X11TextRenderer.c \
@ -609,7 +583,7 @@ else
lcdglyph.c lcdglyph.c
endif endif
LIBFONTMANAGER_CFLAGS += $(FONT_HEADERS) $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS LIBFONTMANAGER_CFLAGS += $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
ifeq ($(TOOLCHAIN_TYPE), gcc) ifeq ($(TOOLCHAIN_TYPE), gcc)
# Turn off all warnings for sunFont.c. This is needed because the specific warning # Turn off all warnings for sunFont.c. This is needed because the specific warning
@ -625,7 +599,6 @@ endif
# libawt_xawt). See JDK-8196516 for details. # libawt_xawt). See JDK-8196516 for details.
$(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \ $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
NAME := fontmanager, \ NAME := fontmanager, \
SRC := $(LIBFONTMANAGER_SRC), \
EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \ EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
AccelGlyphCache.c, \ AccelGlyphCache.c, \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
@ -633,6 +606,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \ CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \ OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
CFLAGS_windows = -DCC_NOEX, \ CFLAGS_windows = -DCC_NOEX, \
EXTRA_HEADER_DIRS := $(LIBFONTMANAGER_EXTRA_HEADER_DIRS), \
WARNINGS_AS_ERRORS_xlc := false, \ WARNINGS_AS_ERRORS_xlc := false, \
DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast \ DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast \
type-limits missing-field-initializers implicit-fallthrough, \ type-limits missing-field-initializers implicit-fallthrough, \
@ -664,7 +638,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
$(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT) $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
ifeq ($(OPENJDK_TARGET_OS), macosx) ifeq ($(OPENJDK_TARGET_OS), macosx)
$(BUILD_LIBFONTMANAGER): $(call FindLib, java.desktop, awt_lwawt) $(BUILD_LIBFONTMANAGER): $(call FindLib, $(MODULE), awt_lwawt)
endif endif
ifeq ($(FREETYPE_TO_USE), bundled) ifeq ($(FREETYPE_TO_USE), bundled)
@ -676,29 +650,30 @@ TARGETS += $(BUILD_LIBFONTMANAGER)
################################################################################ ################################################################################
ifeq ($(OPENJDK_TARGET_OS), windows) ifeq ($(OPENJDK_TARGET_OS), windows)
LIBJAWT_SRC := $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libjawt
LIBJAWT_CFLAGS := -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/windows \ LIBJAWT_CFLAGS := -EHsc -DUNICODE -D_UNICODE
-I$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d \ LIBJAWT_EXTRA_HEADER_DIRS := \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \ include \
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/java2d/windows \ common/awt/debug \
-I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \ libawt/awt/image/cvutils \
-I$(TOPDIR)/src/java.desktop/windows/native/include \ libawt/java2d \
-I$(TOPDIR)/src/java.desktop/share/native/include \ libawt/java2d/windows \
$(LIBJAVA_HEADER_FLAGS) \ libawt/windows \
java.base:include \
java.base:libjava \
# #
ifeq ($(OPENJDK_TARGET_CPU), x86) ifeq ($(OPENJDK_TARGET_CPU), x86)
KERNEL32_LIB := kernel32.lib KERNEL32_LIB := kernel32.lib
endif endif
$(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \ $(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \
NAME := jawt, \ NAME := jawt, \
SRC := $(LIBJAWT_SRC), \
INCLUDE_FILES := $(LIBJAWT_INCLUDE_FILES), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CXXFLAGS_JDKLIB) \ CFLAGS := $(CXXFLAGS_JDKLIB) \
-EHsc -DUNICODE -D_UNICODE \
$(LIBJAWT_CFLAGS), \ $(LIBJAWT_CFLAGS), \
EXTRA_HEADER_DIRS := $(LIBJAWT_EXTRA_HEADER_DIRS), \
LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \ LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \
LIBS := $(JDKLIB_LIBS) $(KERNEL32_LIB) advapi32.lib $(WIN_AWT_LIB), \ LIBS := $(JDKLIB_LIBS) $(KERNEL32_LIB) advapi32.lib $(WIN_AWT_LIB), \
)) ))
@ -717,17 +692,9 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
else # OPENJDK_TARGET_OS not windows else # OPENJDK_TARGET_OS not windows
ifeq ($(OPENJDK_TARGET_OS), macosx) ifeq ($(OPENJDK_TARGET_OS), macosx)
LIBJAWT_SRC := $(TOPDIR)/src/java.desktop/macosx/native/libjawt # libjawt on macosx do not use the unix code
else LIBJAWT_EXCLUDE_SRC_PATTERNS := unix
LIBJAWT_SRC := $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libjawt
endif endif
LIBJAWT_CFLAGS := \
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/include \
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/include \
-I$(TOPDIR)/src/java.desktop/share/native/include \
$(LIBJAVA_HEADER_FLAGS) \
#
ifeq ($(OPENJDK_TARGET_OS), macosx) ifeq ($(OPENJDK_TARGET_OS), macosx)
JAWT_LIBS := -lawt_lwawt JAWT_LIBS := -lawt_lwawt
@ -740,19 +707,22 @@ else # OPENJDK_TARGET_OS not windows
JAWT_LIBS += -lawt_xawt JAWT_LIBS += -lawt_xawt
else else
JAWT_LIBS += -lawt_headless JAWT_LIBS += -lawt_headless
HEADLESS_CFLAG += -DHEADLESS ifeq ($(OPENJDK_TARGET_OS), linux)
JAWT_CFLAGS += -DHEADLESS
endif
endif endif
endif endif
$(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \ $(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \
NAME := jawt, \ NAME := jawt, \
SRC := $(LIBJAWT_SRC), \ EXCLUDE_SRC_PATTERNS := $(LIBJAWT_EXCLUDE_SRC_PATTERNS), \
INCLUDE_FILES := $(JAWT_FILES), \ INCLUDE_FILES := $(JAWT_FILES), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBJAWT_CFLAGS), \ $(JAWT_CFLAGS), \
CFLAGS_linux := $(HEADLESS_CFLAG), \ EXTRA_HEADER_DIRS := \
CFLAGS_macosx := $(LIBJAWT_CFLAGS_macosx), \ include \
common/awt, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \ LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
@ -780,52 +750,56 @@ TARGETS += $(BUILD_LIBJAWT)
ifeq ($(ENABLE_HEADLESS_ONLY), false) ifeq ($(ENABLE_HEADLESS_ONLY), false)
LIBSPLASHSCREEN_DIRS := \ LIBSPLASHSCREEN_EXTRA_SRC := \
$(TOPDIR)/src/java.desktop/share/native/libjavajpeg \ common/awt/systemscale \
$(TOPDIR)/src/java.desktop/share/native/libsplashscreen \
# #
ifeq ($(USE_EXTERNAL_LIBGIF), true) ifeq ($(USE_EXTERNAL_LIBGIF), false)
GIFLIB_LIBS := -lgif LIBSPLASHSCREEN_HEADER_DIRS += libsplashscreen/giflib
LIBSPLASHSCREEN_EXCLUDES := giflib
else else
LIBSPLASHSCREEN_CFLAGS += -I$(TOPDIR)/src/java.desktop/share/native/libsplashscreen/giflib LIBSPLASHSCREEN_EXCLUDES := giflib
GIFLIB_LIBS := -lgif
endif endif
ifeq ($(USE_EXTERNAL_LIBJPEG), true) ifeq ($(USE_EXTERNAL_LIBJPEG), false)
LIBJPEG_LIBS := -ljpeg # While the following ought to work, it will currently pull in the closed
# additions to this library, and this was not done previously in the build.
# LIBSPLASHSCREEN_EXTRA_SRC += libjavajpeg
LIBSPLASHSCREEN_EXTRA_SRC += $(TOPDIR)/src/java.desktop/share/native/libjavajpeg
else else
LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/share/native/libjavajpeg LIBJPEG_LIBS := -ljpeg
LIBJPEG_CFLAGS := -I$(TOPDIR)/src/java.desktop/share/native/libjavajpeg
endif endif
ifeq ($(USE_EXTERNAL_LIBPNG), false) ifeq ($(USE_EXTERNAL_LIBPNG), false)
LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/share/native/libsplashscreen/libpng LIBSPLASHSCREEN_HEADER_DIRS += libsplashscreen/libpng
ifeq ($(OPENJDK_TARGET_OS), macosx)
ifeq ($(USE_EXTERNAL_LIBZ), true)
# When building our own libpng and using an external libz, we need to
# inject our own libz.h to tweak the exported ZLIB_VERNUM macro. See
# $(TOPDIR)/src/java.desktop/macosx/native/libsplashscreen/libpng/zlibwrapper/zlib.h
# for details. This must be specified with -iquote, not -I to avoid a
# circular include.
LIBSPLASHSCREEN_CFLAGS += -iquote $(TOPDIR)/src/$(MODULE)/macosx/native/libsplashscreen/libpng/zlibwrapper
endif
endif
else else
LIBSPLASHSCREEN_EXCLUDES += libpng LIBSPLASHSCREEN_EXCLUDES += libpng
endif endif
ifneq ($(OPENJDK_TARGET_OS), macosx) ifeq ($(USE_EXTERNAL_LIBZ), false)
LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libsplashscreen LIBSPLASHSCREEN_EXTRA_SRC += java.base:libzip/zlib
else
LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/macosx/native/libsplashscreen
endif endif
ifneq ($(filter $(OPENJDK_TARGET_OS),linux solaris aix), ) ifeq ($(OPENJDK_TARGET_OS), macosx)
LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/unix/native/common/awt/systemscale # libsplashscreen on macosx do not use the unix code
LIBSPLASHSCREEN_EXCLUDE_SRC_PATTERNS := unix
endif endif
ifeq ($(OPENJDK_TARGET_OS), windows) LIBSPLASHSCREEN_CFLAGS += -DSPLASHSCREEN -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0
LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/windows/native/common/awt/systemscale
endif
LIBSPLASHSCREEN_CFLAGS += -DSPLASHSCREEN -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0 \
$(addprefix -I, $(LIBSPLASHSCREEN_DIRS)) \
$(LIBJAVA_HEADER_FLAGS) \
#
ifeq ($(OPENJDK_TARGET_OS), macosx) ifeq ($(OPENJDK_TARGET_OS), macosx)
LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
LIBSPLASHSCREEN_CFLAGS += -I$(TOPDIR)/src/java.desktop/macosx/native/libosxapp
BUILD_LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS := -x objective-c -O0 BUILD_LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS := -x objective-c -O0
BUILD_LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS := -x objective-c -O0 BUILD_LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS := -x objective-c -O0
@ -843,20 +817,6 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
LIBSPLASHSCREEN_LIBS := LIBSPLASHSCREEN_LIBS :=
ifeq ($(USE_EXTERNAL_LIBZ), false)
LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.base/share/native/libzip/zlib
else
ifeq ($(OPENJDK_TARGET_OS), macosx)
ifeq ($(USE_EXTERNAL_LIBPNG), false)
# When building our own libpng and using an external libz, we need to
# inject our own libz.h to tweak the exported ZLIB_VERNUM macro. See
# $(TOPDIR)/src/java.desktop/macosx/native/libsplashscreen/libpng/zlib.h
# for details.
LIBSPLASHSCREEN_CFLAGS += -iquote $(TOPDIR)/src/java.desktop/macosx/native/libsplashscreen/libpng
endif
endif
endif
ifeq ($(OPENJDK_TARGET_OS), macosx) ifeq ($(OPENJDK_TARGET_OS), macosx)
LIBSPLASHSCREEN_LIBS += \ LIBSPLASHSCREEN_LIBS += \
$(LIBM) -lpthread -liconv -losxapp \ $(LIBM) -lpthread -liconv -losxapp \
@ -870,14 +830,22 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
LIBSPLASHSCREEN_LIBS += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread -ldl LIBSPLASHSCREEN_LIBS += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread -ldl
endif endif
LIBSPLASHSCREEN_HEADER_DIRS += \
libosxapp \
java.base:include \
java.base:libjava \
#
$(eval $(call SetupJdkLibrary, BUILD_LIBSPLASHSCREEN, \ $(eval $(call SetupJdkLibrary, BUILD_LIBSPLASHSCREEN, \
NAME := splashscreen, \ NAME := splashscreen, \
SRC := $(LIBSPLASHSCREEN_DIRS), \ EXTRA_SRC := $(LIBSPLASHSCREEN_EXTRA_SRC), \
EXCLUDE_SRC_PATTERNS := $(LIBSPLASHSCREEN_EXCLUDE_SRC_PATTERNS), \
EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \ EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \ EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB) $(LIBSPLASHSCREEN_CFLAGS) \
$(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS), \ $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS), \
EXTRA_HEADER_DIRS := $(LIBSPLASHSCREEN_HEADER_DIRS), \
DISABLED_WARNINGS_gcc := sign-compare type-limits unused-result \ DISABLED_WARNINGS_gcc := sign-compare type-limits unused-result \
maybe-uninitialized shift-negative-value implicit-fallthrough, \ maybe-uninitialized shift-negative-value implicit-fallthrough, \
DISABLED_WARNINGS_clang := incompatible-pointer-types, \ DISABLED_WARNINGS_clang := incompatible-pointer-types, \
@ -896,7 +864,7 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
TARGETS += $(BUILD_LIBSPLASHSCREEN) TARGETS += $(BUILD_LIBSPLASHSCREEN)
ifeq ($(OPENJDK_TARGET_OS), macosx) ifeq ($(OPENJDK_TARGET_OS), macosx)
$(BUILD_LIBSPLASHSCREEN): $(call FindLib, java.desktop, osxapp) $(BUILD_LIBSPLASHSCREEN): $(call FindLib, $(MODULE), osxapp)
endif endif
endif endif
@ -905,49 +873,38 @@ endif
ifeq ($(OPENJDK_TARGET_OS), macosx) ifeq ($(OPENJDK_TARGET_OS), macosx)
LIBAWT_LWAWT_DIRS := \ LIBAWT_LWAWT_EXTRA_SRC := \
$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt \ $(TOPDIR)/src/$(MODULE)/unix/native/common/awt \
$(TOPDIR)/src/java.desktop/unix/native/common/awt \ $(TOPDIR)/src/$(MODULE)/share/native/common/font \
$(TOPDIR)/src/java.desktop/share/native/common/font \ $(TOPDIR)/src/$(MODULE)/share/native/common/java2d \
$(TOPDIR)/src/java.desktop/share/native/common/java2d \
# #
LIBAWT_LWAWT_CFLAGS := \ LIBAWT_LWAWT_EXTRA_HEADER_DIRS := \
$(addprefix -I, $(LIBAWT_LWAWT_DIRS)) \ $(LIBAWT_DEFAULT_HEADER_DIRS) \
-I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \ libawt_lwawt/awt \
-I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/awt \ libawt_lwawt/font \
-I$(TOPDIR)/src/java.desktop/unix/native/libawt_xawt/awt \ libawt_lwawt/java2d/opengl \
-I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/font \ include \
-I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl \ common/awt/debug \
-I$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \ common/java2d/opengl \
-I$(TOPDIR)/src/java.desktop/share/native/common/java2d/opengl \ libosxapp \
-I$(TOPDIR)/src/java.desktop/macosx/native/include \
-I$(TOPDIR)/src/java.desktop/share/native/include \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d \
-I$(TOPDIR)/src/java.desktop/unix/native/libawt/java2d \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/loops \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe \
-I$(TOPDIR)/src/java.desktop/share/native/libmlib_image/ \
-I$(TOPDIR)/src/java.desktop/macosx/native/libosxapp \
$(LIBJAVA_HEADER_FLAGS) \
# #
LIBAWT_LWAWT_CFLAGS := $(X_CFLAGS) $(X_LIBS)
LIBAWT_LWAWT_EXFILES := fontpath.c awt_Font.c X11Color.c LIBAWT_LWAWT_EXFILES := fontpath.c awt_Font.c X11Color.c
LIBAWT_LWAWT_EXCLUDES := $(TOPDIR)/src/java.desktop/unix/native/common/awt/medialib LIBAWT_LWAWT_EXCLUDES := $(TOPDIR)/src/$(MODULE)/unix/native/common/awt/medialib
$(eval $(call SetupJdkLibrary, BUILD_LIBAWT_LWAWT, \ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_LWAWT, \
NAME := awt_lwawt, \ NAME := awt_lwawt, \
SRC := $(LIBAWT_LWAWT_DIRS), \ EXTRA_SRC := $(LIBAWT_LWAWT_EXTRA_SRC), \
INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \ INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \ EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \
EXCLUDES := $(LIBAWT_LWAWT_EXCLUDES), \ EXCLUDES := $(LIBAWT_LWAWT_EXCLUDES), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB) \
$(X_CFLAGS) \
$(X_LIBS) \
$(LIBAWT_LWAWT_CFLAGS), \ $(LIBAWT_LWAWT_CFLAGS), \
EXTRA_HEADER_DIRS := $(LIBAWT_LWAWT_EXTRA_HEADER_DIRS), \
DISABLED_WARNINGS_clang := incomplete-implementation enum-conversion \ DISABLED_WARNINGS_clang := incomplete-implementation enum-conversion \
deprecated-declarations objc-method-access bitwise-op-parentheses \ deprecated-declarations objc-method-access bitwise-op-parentheses \
incompatible-pointer-types parentheses-equality extra-tokens, \ incompatible-pointer-types parentheses-equality extra-tokens, \
@ -974,7 +931,7 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
$(BUILD_LIBAWT_LWAWT): $(BUILD_LIBMLIB_IMAGE) $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBMLIB_IMAGE)
$(BUILD_LIBAWT_LWAWT): $(call FindLib, java.desktop, osxapp) $(BUILD_LIBAWT_LWAWT): $(call FindLib, $(MODULE), osxapp)
$(BUILD_LIBAWT_LWAWT): $(call FindLib, java.base, java) $(BUILD_LIBAWT_LWAWT): $(call FindLib, java.base, java)
@ -986,15 +943,11 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
$(eval $(call SetupJdkLibrary, BUILD_LIBOSXUI, \ $(eval $(call SetupJdkLibrary, BUILD_LIBOSXUI, \
NAME := osxui, \ NAME := osxui, \
SRC := $(TOPDIR)/src/java.desktop/macosx/native/libosxui, \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB), \
-I$(TOPDIR)/src/java.desktop/macosx/native/libosxui \ EXTRA_HEADER_DIRS := \
-I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/awt \ libawt_lwawt/awt \
-I$(TOPDIR)/src/java.desktop/macosx/native/libosxapp \ libosxapp, \
-I$(TOPDIR)/src/java.base/share/native/libjava \
-I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava \
-I$(SUPPORT_OUTPUTDIR)/headers/java.desktop, \
DISABLED_WARNINGS_clang := deprecated-declarations, \ DISABLED_WARNINGS_clang := deprecated-declarations, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN) \ $(call SET_SHARED_LIBRARY_ORIGIN) \
@ -1013,7 +966,7 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
$(BUILD_LIBOSXUI): $(BUILD_LIBAWT) $(BUILD_LIBOSXUI): $(BUILD_LIBAWT)
$(BUILD_LIBOSXUI): $(call FindLib, java.desktop, osxapp) $(BUILD_LIBOSXUI): $(call FindLib, $(MODULE), osxapp)
$(BUILD_LIBOSXUI): $(BUILD_LIBAWT_LWAWT) $(BUILD_LIBOSXUI): $(BUILD_LIBAWT_LWAWT)

View file

@ -104,7 +104,6 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBVERIFY, \ $(eval $(call SetupJdkLibrary, BUILD_LIBVERIFY, \
NAME := verify, \ NAME := verify, \
SRC := $(TOPDIR)/src/java.base/share/native/libverify, \
OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \ OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \
CFLAGS := $(CFLAGS_JDKLIB), \ CFLAGS := $(CFLAGS_JDKLIB), \
DISABLED_WARNINGS_gcc := implicit-fallthrough, \ DISABLED_WARNINGS_gcc := implicit-fallthrough, \
@ -119,13 +118,7 @@ TARGETS += $(BUILD_LIBVERIFY)
########################################################################################## ##########################################################################################
# Allow a custom makefile to add extra src dirs LIBJAVA_CFLAGS := -DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"'
LIBJAVA_SRC_DIRS += $(call FindSrcDirsForLib, java.base, java)
LIBJAVA_CFLAGS := $(addprefix -I, $(LIBJAVA_SRC_DIRS)) \
-I$(TOPDIR)/src/java.base/share/native/libfdlibm \
-I$(SUPPORT_OUTPUTDIR)/headers/java.base \
-DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"'
ifeq ($(OPENJDK_TARGET_OS), macosx) ifeq ($(OPENJDK_TARGET_OS), macosx)
BUILD_LIBJAVA_java_props_md.c_CFLAGS := -x objective-c BUILD_LIBJAVA_java_props_md.c_CFLAGS := -x objective-c
@ -134,12 +127,12 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBJAVA, \ $(eval $(call SetupJdkLibrary, BUILD_LIBJAVA, \
NAME := java, \ NAME := java, \
SRC := $(LIBJAVA_SRC_DIRS), \
OPTIMIZATION := HIGH, \ OPTIMIZATION := HIGH, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBJAVA_CFLAGS), \ $(LIBJAVA_CFLAGS), \
System.c_CFLAGS := $(VERSION_CFLAGS), \ System.c_CFLAGS := $(VERSION_CFLAGS), \
jdk_util.c_CFLAGS := $(VERSION_CFLAGS), \ jdk_util.c_CFLAGS := $(VERSION_CFLAGS), \
EXTRA_HEADER_DIRS := libfdlibm, \
WARNINGS_AS_ERRORS_xlc := false, \ WARNINGS_AS_ERRORS_xlc := false, \
DISABLED_WARNINGS_gcc := unused-result, \ DISABLED_WARNINGS_gcc := unused-result, \
DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \ DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
@ -180,13 +173,9 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBZIP, \ $(eval $(call SetupJdkLibrary, BUILD_LIBZIP, \
NAME := zip, \ NAME := zip, \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
SRC := $(TOPDIR)/src/java.base/share/native/libzip, \
EXCLUDES := $(LIBZIP_EXCLUDES), \ EXCLUDES := $(LIBZIP_EXCLUDES), \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBZ_CFLAGS) \ $(LIBZ_CFLAGS), \
-I$(TOPDIR)/src/java.base/share/native/libjava \
-I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava \
-I$(SUPPORT_OUTPUTDIR)/headers/java.base, \
CFLAGS_unix := $(BUILD_LIBZIP_MMAP) -UDEBUG, \ CFLAGS_unix := $(BUILD_LIBZIP_MMAP) -UDEBUG, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
@ -200,22 +189,12 @@ TARGETS += $(BUILD_LIBZIP)
########################################################################################## ##########################################################################################
JIMAGELIB_CPPFLAGS := \
-I$(TOPDIR)/src/java.base/share/native/libjava \
-I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava \
-I$(TOPDIR)/src/java.base/share/native/libjimage \
-I$(SUPPORT_OUTPUTDIR)/headers/java.base \
#
$(eval $(call SetupJdkLibrary, BUILD_LIBJIMAGE, \ $(eval $(call SetupJdkLibrary, BUILD_LIBJIMAGE, \
NAME := jimage, \ NAME := jimage, \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
SRC := $(TOPDIR)/src/java.base/share/native/libjimage \ CFLAGS := $(CFLAGS_JDKLIB), \
$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjimage, \ CXXFLAGS := $(CXXFLAGS_JDKLIB), \
EXCLUDES := $(LIBJIMAGE_EXCLUDES), \
CFLAGS := $(CFLAGS_JDKLIB) $(JIMAGELIB_CPPFLAGS), \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(JIMAGELIB_CPPFLAGS), \
DISABLED_WARNINGS_gcc := implicit-fallthrough, \ DISABLED_WARNINGS_gcc := implicit-fallthrough, \
CFLAGS_unix := -UDEBUG, \ CFLAGS_unix := -UDEBUG, \
LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
@ -231,10 +210,6 @@ TARGETS += $(BUILD_LIBJIMAGE)
########################################################################################## ##########################################################################################
LIBJLI_SRC_DIRS := $(call FindSrcDirsForLib, java.base, jli)
LIBJLI_CFLAGS := $(CFLAGS_JDKLIB)
ifeq ($(call check-jvm-variant, zero), true) ifeq ($(call check-jvm-variant, zero), true)
ERGO_FAMILY := zero ERGO_FAMILY := zero
else else
@ -263,7 +238,7 @@ endif
ifeq ($(OPENJDK_TARGET_OS), windows) ifeq ($(OPENJDK_TARGET_OS), windows)
# Staticically link with c runtime on windows. # Staticically link with c runtime on windows.
LIBJLI_CFLAGS := $(filter-out -MD, $(LIBJLI_CFLAGS)) LIBJLI_CFLAGS_JDKLIB := $(filter-out -MD, $(CFLAGS_JDKLIB))
LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE) LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE)
# Supply the name of the C runtime lib. # Supply the name of the C runtime lib.
LIBJLI_CFLAGS += -DMSVCR_DLL_NAME='"$(notdir $(MSVCR_DLL))"' LIBJLI_CFLAGS += -DMSVCR_DLL_NAME='"$(notdir $(MSVCR_DLL))"'
@ -271,11 +246,10 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
LIBJLI_CFLAGS += -DMSVCP_DLL_NAME='"$(notdir $(MSVCP_DLL))"' LIBJLI_CFLAGS += -DMSVCP_DLL_NAME='"$(notdir $(MSVCP_DLL))"'
endif endif
else else
LIBJLI_CFLAGS_JDKLIB := $(CFLAGS_JDKLIB)
LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE)/jli LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE)/jli
endif endif
LIBJLI_CFLAGS += $(addprefix -I, $(LIBJLI_SRC_DIRS))
LIBJLI_CFLAGS += $(LIBZ_CFLAGS) LIBJLI_CFLAGS += $(LIBZ_CFLAGS)
ifneq ($(USE_EXTERNAL_LIBZ), true) ifneq ($(USE_EXTERNAL_LIBZ), true)
@ -293,12 +267,10 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \ $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
NAME := jli, \ NAME := jli, \
OUTPUT_DIR := $(LIBJLI_OUTPUT_DIR), \ OUTPUT_DIR := $(LIBJLI_OUTPUT_DIR), \
SRC := $(LIBJLI_SRC_DIRS), \
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \ EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \ EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
OPTIMIZATION := HIGH, \ OPTIMIZATION := HIGH, \
CFLAGS := $(LIBJLI_CFLAGS), \ CFLAGS := $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \
DISABLED_WARNINGS_gcc := maybe-uninitialized, \
DISABLED_WARNINGS_solstudio := \ DISABLED_WARNINGS_solstudio := \
E_ASM_DISABLES_OPTIMIZATION \ E_ASM_DISABLES_OPTIMIZATION \
E_STATEMENT_NOT_REACHED, \ E_STATEMENT_NOT_REACHED, \
@ -316,6 +288,8 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
TARGETS += $(BUILD_LIBJLI) TARGETS += $(BUILD_LIBJLI)
LIBJLI_SRC_DIRS := $(call FindSrcDirsForComponent, java.base, libjli)
# On windows, the static library has the same suffix as the import library created by # On windows, the static library has the same suffix as the import library created by
# with the shared library, so the static library is given a different name. No harm # with the shared library, so the static library is given a different name. No harm
# in doing it for all platform to reduce complexity. # in doing it for all platform to reduce complexity.
@ -328,7 +302,8 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \ EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \ EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
OPTIMIZATION := HIGH, \ OPTIMIZATION := HIGH, \
CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS), \ CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS) \
$(addprefix -I, $(LIBJLI_SRC_DIRS)), \
ARFLAGS := $(ARFLAGS), \ ARFLAGS := $(ARFLAGS), \
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static, \ OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static, \
)) ))
@ -347,7 +322,8 @@ else ifeq ($(OPENJDK_TARGET_OS), macosx)
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \ EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \ EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
OPTIMIZATION := HIGH, \ OPTIMIZATION := HIGH, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \ CFLAGS := $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS) \
$(addprefix -I, $(LIBJLI_SRC_DIRS)), \
LDFLAGS := -nostdlib $(ARFLAGS), \ LDFLAGS := -nostdlib $(ARFLAGS), \
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static, \ OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static, \
)) ))
@ -371,7 +347,8 @@ else ifeq ($(OPENJDK_TARGET_OS), aix)
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \ EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \ EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
OPTIMIZATION := HIGH, \ OPTIMIZATION := HIGH, \
CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS), \ CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS) \
$(addprefix -I, $(LIBJLI_SRC_DIRS)), \
ARFLAGS := $(ARFLAGS), \ ARFLAGS := $(ARFLAGS), \
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static)) OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static))

View file

@ -29,9 +29,7 @@ include LibCommon.gmk
$(eval $(call IncludeCustomExtension, lib/Lib-java.base.gmk)) $(eval $(call IncludeCustomExtension, lib/Lib-java.base.gmk))
# Prepare the find cache. # Prepare the find cache.
LIB_java.base_SRC_DIRS += $(TOPDIR)/src/java.base/*/native $(eval $(call FillCacheFind, $(wildcard $(TOPDIR)/src/java.base/*/native)))
$(eval $(call FillCacheFind, $(wildcard $(LIB_java.base_SRC_DIRS))))
################################################################################ ################################################################################
# Create all the core libraries # Create all the core libraries
@ -41,14 +39,10 @@ include CoreLibraries.gmk
################################################################################ ################################################################################
# Create the network library # Create the network library
LIBNET_SRC_DIRS := $(call FindSrcDirsForLib, java.base, net)
$(eval $(call SetupJdkLibrary, BUILD_LIBNET, \ $(eval $(call SetupJdkLibrary, BUILD_LIBNET, \
NAME := net, \ NAME := net, \
SRC := $(LIBNET_SRC_DIRS), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) -I$(SUPPORT_OUTPUTDIR)/headers/java.base \ CFLAGS := $(CFLAGS_JDKLIB), \
$(LIBJAVA_HEADER_FLAGS) $(addprefix -I, $(LIBNET_SRC_DIRS)), \
DISABLED_WARNINGS_gcc := format-nonliteral, \ DISABLED_WARNINGS_gcc := format-nonliteral, \
DISABLED_WARNINGS_clang := parentheses-equality constant-logical-operand, \ DISABLED_WARNINGS_clang := parentheses-equality constant-logical-operand, \
DISABLED_WARNINGS_microsoft := 4244 4047 4133 4996, \ DISABLED_WARNINGS_microsoft := 4244 4047 4133 4996, \
@ -72,31 +66,15 @@ TARGETS += $(BUILD_LIBNET)
################################################################################ ################################################################################
# Create the nio library # Create the nio library
BUILD_LIBNIO_SRC := \
$(TOPDIR)/src/java.base/share/native/libnio \
$(TOPDIR)/src/java.base/share/native/libnio/ch \
$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libnio \
$(sort $(wildcard \
$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libnio/ch \
$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libnio/fs \
$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/native/libnio/ch \
$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/native/libnio/fs)) \
#
BUILD_LIBNIO_CFLAGS := \
$(addprefix -I, $(BUILD_LIBNIO_SRC)) \
-I$(SUPPORT_OUTPUTDIR)/headers/java.base \
$(LIBJAVA_HEADER_FLAGS) \
$(addprefix -I, $(BUILD_LIBNET_SRC))
$(eval $(call SetupJdkLibrary, BUILD_LIBNIO, \ $(eval $(call SetupJdkLibrary, BUILD_LIBNIO, \
NAME := nio, \ NAME := nio, \
SRC := $(BUILD_LIBNIO_SRC), \
EXCLUDE_FILES := $(BUILD_LIBNIO_EXFILES), \
OPTIMIZATION := HIGH, \ OPTIMIZATION := HIGH, \
WARNINGS_AS_ERRORS_xlc := false, \ WARNINGS_AS_ERRORS_xlc := false, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB), \
$(BUILD_LIBNIO_CFLAGS), \ EXTRA_HEADER_DIRS := \
libnio/ch \
libnio/fs \
libnet, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := -ljava -lnet, \ LIBS_unix := -ljava -lnet, \
@ -122,17 +100,10 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
# JavaNativeFoundation framework not supported in static builds # JavaNativeFoundation framework not supported in static builds
ifneq ($(STATIC_BUILD), true) ifneq ($(STATIC_BUILD), true)
LIBOSXSECURITY_DIRS := $(TOPDIR)/src/java.base/macosx/native/libosxsecurity
LIBOSXSECURITY_CFLAGS := -I$(LIBOSXSECURITY_DIRS) \
$(LIBJAVA_HEADER_FLAGS) \
-I$(SUPPORT_OUTPUTDIR)/headers/java.base \
$(eval $(call SetupJdkLibrary, BUILD_LIBOSXSECURITY, \ $(eval $(call SetupJdkLibrary, BUILD_LIBOSXSECURITY, \
NAME := osxsecurity, \ NAME := osxsecurity, \
SRC := $(LIBOSXSECURITY_DIRS), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB), \
$(LIBOSXSECURITY_CFLAGS), \
DISABLED_WARNINGS_clang := deprecated-declarations, \ DISABLED_WARNINGS_clang := deprecated-declarations, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
-L$(SUPPORT_OUTPUTDIR)/modules_libs/java.base \ -L$(SUPPORT_OUTPUTDIR)/modules_libs/java.base \
@ -158,7 +129,6 @@ endif
ifeq ($(OPENJDK_TARGET_OS_TYPE), unix) ifeq ($(OPENJDK_TARGET_OS_TYPE), unix)
ifeq ($(STATIC_BUILD), false) ifeq ($(STATIC_BUILD), false)
LIBJSIG_SRC_DIR := $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjsig
LIBJSIG_MAPFILE := $(wildcard $(TOPDIR)/make/mapfiles/libjsig/mapfile-vers-$(OPENJDK_TARGET_OS)) LIBJSIG_MAPFILE := $(wildcard $(TOPDIR)/make/mapfiles/libjsig/mapfile-vers-$(OPENJDK_TARGET_OS))
ifeq ($(OPENJDK_TARGET_OS), linux) ifeq ($(OPENJDK_TARGET_OS), linux)
@ -168,7 +138,6 @@ ifeq ($(OPENJDK_TARGET_OS_TYPE), unix)
$(eval $(call SetupJdkLibrary, BUILD_LIBJSIG, \ $(eval $(call SetupJdkLibrary, BUILD_LIBJSIG, \
NAME := jsig, \ NAME := jsig, \
SRC := $(LIBJSIG_SRC_DIR), \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBJSIG_CFLAGS), \ CFLAGS := $(CFLAGS_JDKLIB) $(LIBJSIG_CFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \

View file

@ -29,9 +29,7 @@ include LibCommon.gmk
$(eval $(call IncludeCustomExtension, lib/Lib-java.desktop.gmk)) $(eval $(call IncludeCustomExtension, lib/Lib-java.desktop.gmk))
# Prepare the find cache. # Prepare the find cache.
LIB_java.desktop_SRC_DIRS += $(TOPDIR)/src/java.desktop/*/native $(eval $(call FillCacheFind, $(wildcard $(TOPDIR)/src/java.desktop/*/native)))
$(eval $(call FillCacheFind, $(wildcard $(LIB_java.desktop_SRC_DIRS))))
################################################################################ ################################################################################
# Create the AWT/2D libraries # Create the AWT/2D libraries
@ -43,16 +41,8 @@ include Awt2dLibraries.gmk
ifneq ($(OPENJDK_TARGET_OS), aix) ifneq ($(OPENJDK_TARGET_OS), aix)
LIBJSOUND_SRC_DIRS := $(wildcard \
$(TOPDIR)/src/java.desktop/share/native/libjsound \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/libjsound \
)
LIBJSOUND_CFLAGS := \ LIBJSOUND_CFLAGS := \
-I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
$(ALSA_CFLAGS) \ $(ALSA_CFLAGS) \
$(LIBJAVA_HEADER_FLAGS) \
$(foreach dir, $(LIBJSOUND_SRC_DIRS), -I$(dir)) \
-DX_PLATFORM=X_$(OPENJDK_TARGET_OS_UPPERCASE) \ -DX_PLATFORM=X_$(OPENJDK_TARGET_OS_UPPERCASE) \
-DUSE_PORTS=TRUE \ -DUSE_PORTS=TRUE \
-DUSE_DAUDIO=TRUE \ -DUSE_DAUDIO=TRUE \
@ -71,7 +61,6 @@ ifneq ($(OPENJDK_TARGET_OS), aix)
$(eval $(call SetupJdkLibrary, BUILD_LIBJSOUND, \ $(eval $(call SetupJdkLibrary, BUILD_LIBJSOUND, \
NAME := jsound, \ NAME := jsound, \
SRC := $(LIBJSOUND_SRC_DIRS), \
TOOLCHAIN := $(LIBJSOUND_TOOLCHAIN), \ TOOLCHAIN := $(LIBJSOUND_TOOLCHAIN), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB) \
@ -97,15 +86,11 @@ endif
# Create the macosx specific osxapp and osx libraries # Create the macosx specific osxapp and osx libraries
ifeq ($(OPENJDK_TARGET_OS), macosx) ifeq ($(OPENJDK_TARGET_OS), macosx)
LIBOSXAPP_SRC := $(TOPDIR)/src/java.desktop/macosx/native/libosxapp
$(eval $(call SetupJdkLibrary, BUILD_LIBOSXAPP, \ $(eval $(call SetupJdkLibrary, BUILD_LIBOSXAPP, \
NAME := osxapp, \ NAME := osxapp, \
SRC := $(LIBOSXAPP_SRC), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB), \
$(addprefix -I, $(LIBOSXAPP_SRC)) \
-I$(SUPPORT_OUTPUTDIR)/headers/java.desktop, \
DISABLED_WARNINGS_clang := objc-method-access objc-root-class \ DISABLED_WARNINGS_clang := objc-method-access objc-root-class \
deprecated-declarations, \ deprecated-declarations, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
@ -129,19 +114,11 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
############################################################################## ##############################################################################
LIBOSX_DIRS := $(TOPDIR)/src/java.desktop/macosx/native/libosx
LIBOSX_CFLAGS := -I$(LIBOSX_DIRS) \
-I$(TOPDIR)/src/java.desktop/macosx/native/libosxapp \
$(LIBJAVA_HEADER_FLAGS) \
-I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
#
$(eval $(call SetupJdkLibrary, BUILD_LIBOSX, \ $(eval $(call SetupJdkLibrary, BUILD_LIBOSX, \
NAME := osx, \ NAME := osx, \
SRC := $(LIBOSX_DIRS), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB), \
$(LIBOSX_CFLAGS), \ EXTRA_HEADER_DIRS := libosxapp, \
DISABLED_WARNINGS_clang := deprecated-declarations, \ DISABLED_WARNINGS_clang := deprecated-declarations, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
-L$(SUPPORT_OUTPUTDIR)/modules_libs/java.desktop \ -L$(SUPPORT_OUTPUTDIR)/modules_libs/java.desktop \

View file

@ -30,32 +30,24 @@ $(eval $(call IncludeCustomExtension, lib/Lib-java.instrument.gmk))
################################################################################ ################################################################################
LIBINSTRUMENT_SRC := $(TOPDIR)/src/java.instrument/share/native/libinstrument \
$(TOPDIR)/src/java.instrument/$(OPENJDK_TARGET_OS_TYPE)/native/libinstrument \
#
LIBINSTRUMENT_CFLAGS := $(CFLAGS_JDKLIB) \
$(addprefix -I, $(LIBINSTRUMENT_SRC)) \
-I$(SUPPORT_OUTPUTDIR)/headers/java.instrument \
-I$(TOPDIR)/src/java.base/share/native/libjli \
-I$(TOPDIR)/src/java.base/share/native/libjava \
#
ifeq ($(OPENJDK_TARGET_OS), windows) ifeq ($(OPENJDK_TARGET_OS), windows)
# Statically link the C runtime so that there are not dependencies on modules # Statically link the C runtime so that there are not dependencies on modules
# not on the search patch when invoked from the Windows system directory # not on the search patch when invoked from the Windows system directory
# (or elsewhere). # (or elsewhere).
LIBINSTRUMENT_CFLAGS := $(filter-out -MD, $(LIBINSTRUMENT_CFLAGS)) LIBINSTRUMENT_CFLAGS_JDKLIB := $(filter-out -MD, $(CFLAGS_JDKLIB))
# equivalent of strcasecmp is stricmp on Windows # equivalent of strcasecmp is stricmp on Windows
LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp LIBINSTRUMENT_CFLAGS := -Dstrcasecmp=stricmp
else
LIBINSTRUMENT_CFLAGS_JDKLIB := $(CFLAGS_JDKLIB)
endif endif
$(eval $(call SetupJdkLibrary, BUILD_LIBINSTRUMENT, \ $(eval $(call SetupJdkLibrary, BUILD_LIBINSTRUMENT, \
NAME := instrument, \ NAME := instrument, \
SRC := $(LIBINSTRUMENT_SRC), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(LIBINSTRUMENT_CFLAGS), \ CFLAGS := $(LIBINSTRUMENT_CFLAGS_JDKLIB) $(LIBINSTRUMENT_CFLAGS), \
CFLAGS_debug := -DJPLIS_LOGGING, \ CFLAGS_debug := -DJPLIS_LOGGING, \
CFLAGS_release := -DNO_JPLIS_LOGGING, \ CFLAGS_release := -DNO_JPLIS_LOGGING, \
EXTRA_HEADER_DIRS := java.base:libjli, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN) \ $(call SET_SHARED_LIBRARY_ORIGIN) \
$(LIBINSTRUMENT_LDFLAGS), \ $(LIBINSTRUMENT_LDFLAGS), \

View file

@ -30,13 +30,6 @@ $(eval $(call IncludeCustomExtension, lib/Lib-java.management.gmk))
################################################################################ ################################################################################
LIBMANAGEMENT_SRC += $(TOPDIR)/src/java.management/share/native/libmanagement
LIBMANAGEMENT_CFLAGS := -I$(TOPDIR)/src/hotspot/share/include \
$(addprefix -I,$(LIBMANAGEMENT_SRC)) \
-I$(SUPPORT_OUTPUTDIR)/headers/java.management \
$(LIBJAVA_HEADER_FLAGS) \
#
LIBMANAGEMENT_OPTIMIZATION := HIGH LIBMANAGEMENT_OPTIMIZATION := HIGH
ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), ) ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true) ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
@ -46,9 +39,8 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBMANAGEMENT, \ $(eval $(call SetupJdkLibrary, BUILD_LIBMANAGEMENT, \
NAME := management, \ NAME := management, \
SRC := $(LIBMANAGEMENT_SRC), \
OPTIMIZATION := $(LIBMANAGEMENT_OPTIMIZATION), \ OPTIMIZATION := $(LIBMANAGEMENT_OPTIMIZATION), \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBMANAGEMENT_CFLAGS), \ CFLAGS := $(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(JDKLIB_LIBS), \ LIBS := $(JDKLIB_LIBS), \

View file

@ -27,18 +27,16 @@ include LibCommon.gmk
################################################################################ ################################################################################
# libprefs on macosx do not use the unix code
ifeq ($(OPENJDK_TARGET_OS), macosx) ifeq ($(OPENJDK_TARGET_OS), macosx)
LIBPREF_SRC_DIRS := $(TOPDIR)/src/java.prefs/macosx/native/libprefs LIBPREFS_EXCLUDE_SRC_PATTERNS := unix
else
LIBPREF_SRC_DIRS := $(TOPDIR)/src/java.prefs/$(OPENJDK_TARGET_OS_TYPE)/native/libprefs
endif endif
$(eval $(call SetupJdkLibrary, BUILD_LIBPREFS, \ $(eval $(call SetupJdkLibrary, BUILD_LIBPREFS, \
NAME := prefs, \ NAME := prefs, \
SRC := $(LIBPREF_SRC_DIRS), \ EXCLUDE_SRC_PATTERNS := $(LIBPREFS_EXCLUDE_SRC_PATTERNS), \
OPTIMIZATION := HIGH, \ OPTIMIZATION := HIGH, \
CFLAGS := $(CFLAGS_JDKLIB) $(addprefix -I, $(LIBPREF_SRC_DIRS)) \ CFLAGS := $(CFLAGS_JDKLIB), \
$(LIBJAVA_HEADER_FLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := -ljvm, \ LIBS_unix := -ljvm, \

View file

@ -29,9 +29,8 @@ include LibCommon.gmk
$(eval $(call SetupJdkLibrary, BUILD_LIBRMI, \ $(eval $(call SetupJdkLibrary, BUILD_LIBRMI, \
NAME := rmi, \ NAME := rmi, \
SRC := $(TOPDIR)/src/java.rmi/share/native/librmi, \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) -I$(SUPPORT_OUTPUTDIR)/headers/java.rmi, \ CFLAGS := $(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := -ljvm, \ LIBS_unix := -ljvm, \

View file

@ -27,16 +27,10 @@ include LibCommon.gmk
################################################################################ ################################################################################
LIBJ2GSS_SRC := $(TOPDIR)/src/java.security.jgss/share/native/libj2gss \
#
$(eval $(call SetupJdkLibrary, BUILD_LIBJ2GSS, \ $(eval $(call SetupJdkLibrary, BUILD_LIBJ2GSS, \
NAME := j2gss, \ NAME := j2gss, \
SRC := $(LIBJ2GSS_SRC), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(addprefix -I, $(LIBJ2GSS_SRC)) \ CFLAGS := $(CFLAGS_JDKLIB), \
$(LIBJAVA_HEADER_FLAGS) \
-I$(SUPPORT_OUTPUTDIR)/headers/java.security.jgss, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(LIBDL), \ LIBS := $(LIBDL), \
@ -49,15 +43,10 @@ TARGETS += $(BUILD_LIBJ2GSS)
ifneq ($(BUILD_CRYPTO), false) ifneq ($(BUILD_CRYPTO), false)
ifeq ($(OPENJDK_TARGET_OS), windows) ifeq ($(OPENJDK_TARGET_OS), windows)
BUILD_LIBW2K_LSA_AUTH_SRC := $(call FindSrcDirsForLib, $(MODULE), w2k_lsa_auth)
$(eval $(call SetupJdkLibrary, BUILD_LIBW2K_LSA_AUTH, \ $(eval $(call SetupJdkLibrary, BUILD_LIBW2K_LSA_AUTH, \
NAME := w2k_lsa_auth, \ NAME := w2k_lsa_auth, \
SRC := $(BUILD_LIBW2K_LSA_AUTH_SRC), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB), \
$(addprefix -I, $(BUILD_LIBW2K_LSA_AUTH_SRC)) \
-I$(SUPPORT_OUTPUTDIR)/headers/java.security.jgss, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \ LIBS := advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \
@ -69,17 +58,12 @@ ifneq ($(BUILD_CRYPTO), false)
endif endif
ifeq ($(OPENJDK_TARGET_OS), macosx) ifeq ($(OPENJDK_TARGET_OS), macosx)
BUILD_LIBOSXKRB5_SRC := $(call FindSrcDirsForLib, $(MODULE), osxkrb5)
# libosxkrb5 needs to call deprecated krb5 APIs so that java # libosxkrb5 needs to call deprecated krb5 APIs so that java
# can use the native credentials cache. # can use the native credentials cache.
$(eval $(call SetupJdkLibrary, BUILD_LIBOSXKRB5, \ $(eval $(call SetupJdkLibrary, BUILD_LIBOSXKRB5, \
NAME := osxkrb5, \ NAME := osxkrb5, \
SRC := $(BUILD_LIBOSXKRB5_SRC), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB), \
$(addprefix -I, $(BUILD_LIBOSXKRB5_SRC)) \
-I$(SUPPORT_OUTPUTDIR)/headers/java.security.jgss, \
DISABLED_WARNINGS_clang := deprecated-declarations, \ DISABLED_WARNINGS_clang := deprecated-declarations, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \

View file

@ -27,18 +27,12 @@ include LibCommon.gmk
################################################################################ ################################################################################
LIBJ2PCSC_SRC := $(TOPDIR)/src/java.smartcardio/share/native/libj2pcsc \
$(TOPDIR)/src/java.smartcardio/$(OPENJDK_TARGET_OS_TYPE)/native/libj2pcsc
LIBJ2PCSC_CPPFLAGS := $(addprefix -I,$(LIBJ2PCSC_SRC)) \
-I$(TOPDIR)/src/java.smartcardio/$(OPENJDK_TARGET_OS_TYPE)/native/libj2pcsc/MUSCLE \
-I$(SUPPORT_OUTPUTDIR)/headers/java.smartcardio
$(eval $(call SetupJdkLibrary, BUILD_LIBJ2PCSC, \ $(eval $(call SetupJdkLibrary, BUILD_LIBJ2PCSC, \
NAME := j2pcsc, \ NAME := j2pcsc, \
SRC := $(LIBJ2PCSC_SRC), \ CFLAGS := $(CFLAGS_JDKLIB), \
CFLAGS_unix := -D__sun_jdk, \ CFLAGS_unix := -D__sun_jdk, \
EXTRA_HEADER_DIRS := libj2pcsc/MUSCLE, \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBJ2PCSC_CPPFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := $(LIBDL), \ LIBS_unix := $(LIBDL), \

View file

@ -30,12 +30,6 @@ include LibCommon.gmk
ifeq ($(OPENJDK_TARGET_OS), windows) ifeq ($(OPENJDK_TARGET_OS), windows)
ROOT_SRCDIR := $(TOPDIR)/src/jdk.accessibility/windows/native ROOT_SRCDIR := $(TOPDIR)/src/jdk.accessibility/windows/native
JAVA_AB_SRCDIR := $(ROOT_SRCDIR)/libjavaaccessbridge $(ROOT_SRCDIR)/common
WIN_AB_SRCDIR := $(ROOT_SRCDIR)/libwindowsaccessbridge $(ROOT_SRCDIR)/common
SYSINFO_SRCDIR := $(ROOT_SRCDIR)/libjabsysinfo
ACCESSBRIDGE_CFLAGS := -I$(SUPPORT_OUTPUTDIR)/headers/jdk.accessibility \
-I$(TOPDIR)/src/java.desktop/windows/native/include \
-I$(TOPDIR)/src/java.desktop/share/native/include
define SetupJavaDLL define SetupJavaDLL
# Parameter 1 Suffix # Parameter 1 Suffix
@ -43,13 +37,16 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
$(call SetupJdkLibrary, BUILD_JAVAACCESSBRIDGE$1, \ $(call SetupJdkLibrary, BUILD_JAVAACCESSBRIDGE$1, \
NAME := javaaccessbridge$1, \ NAME := javaaccessbridge$1, \
SRC := $(JAVA_AB_SRCDIR), \ SRC := libjavaaccessbridge, \
EXTRA_SRC := common, \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
DISABLED_WARNINGS_microsoft := 4311 4302 4312, \ DISABLED_WARNINGS_microsoft := 4311 4302 4312, \
CFLAGS := $(CFLAGS_JDKLIB) $(ACCESSBRIDGE_CFLAGS) \ CFLAGS := $(CFLAGS_JDKLIB) \
$(addprefix -I,$(JAVA_AB_SRCDIR)) \
-I$(ROOT_SRCDIR)/include/bridge \
-DACCESSBRIDGE_ARCH_$2, \ -DACCESSBRIDGE_ARCH_$2, \
EXTRA_HEADER_DIRS := \
include/bridge \
java.base:include \
java.desktop:include, \
LDFLAGS := $(LDFLAGS_JDKLIB), \ LDFLAGS := $(LDFLAGS_JDKLIB), \
LIBS := kernel32.lib user32.lib gdi32.lib \ LIBS := kernel32.lib user32.lib gdi32.lib \
winspool.lib comdlg32.lib advapi32.lib shell32.lib \ winspool.lib comdlg32.lib advapi32.lib shell32.lib \
@ -68,13 +65,15 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
# Parameter 2 ACCESSBRIDGE_ARCH_ suffix # Parameter 2 ACCESSBRIDGE_ARCH_ suffix
$(call SetupJdkLibrary, BUILD_WINDOWSACCESSBRIDGE$1, \ $(call SetupJdkLibrary, BUILD_WINDOWSACCESSBRIDGE$1, \
NAME := windowsaccessbridge$1, \ NAME := windowsaccessbridge$1, \
SRC := $(WIN_AB_SRCDIR), \ SRC := libwindowsaccessbridge, \
EXTRA_SRC := common, \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
DISABLED_WARNINGS_microsoft := 4311 4302 4312, \ DISABLED_WARNINGS_microsoft := 4311 4302 4312, \
CFLAGS := $(filter-out -MD, $(CFLAGS_JDKLIB)) -MT $(ACCESSBRIDGE_CFLAGS) \ CFLAGS := $(filter-out -MD, $(CFLAGS_JDKLIB)) -MT \
$(addprefix -I,$(WIN_AB_SRCDIR)) \
-I$(ROOT_SRCDIR)/include/bridge \
-DACCESSBRIDGE_ARCH_$2, \ -DACCESSBRIDGE_ARCH_$2, \
EXTRA_HEADER_DIRS := \
include/bridge \
java.base:include, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
-def:$(ROOT_SRCDIR)/libwindowsaccessbridge/WinAccessBridge.DEF, \ -def:$(ROOT_SRCDIR)/libwindowsaccessbridge/WinAccessBridge.DEF, \
LIBS := kernel32.lib user32.lib gdi32.lib \ LIBS := kernel32.lib user32.lib gdi32.lib \
@ -91,9 +90,8 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
$(call SetupJdkLibrary, BUILD_ACCESSBRIDGESYSINFO, \ $(call SetupJdkLibrary, BUILD_ACCESSBRIDGESYSINFO, \
NAME := jabsysinfo, \ NAME := jabsysinfo, \
SRC := $(SYSINFO_SRCDIR), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(ACCESSBRIDGE_CFLAGS), \ CFLAGS := $(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB), \ LDFLAGS := $(LDFLAGS_JDKLIB), \
VERSIONINFO_RESOURCE := $(ROOT_SRCDIR)/common/AccessBridgeStatusWindow.rc, \ VERSIONINFO_RESOURCE := $(ROOT_SRCDIR)/common/AccessBridgeStatusWindow.rc, \
) )

View file

@ -36,11 +36,8 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBATTACH, \ $(eval $(call SetupJdkLibrary, BUILD_LIBATTACH, \
NAME := attach, \ NAME := attach, \
SRC := $(call FindSrcDirsForLib, jdk.attach, attach), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB) $(LIBATTACH_CFLAGS), \
-I$(SUPPORT_OUTPUTDIR)/headers/jdk.attach \
$(LIBJAVA_HEADER_FLAGS) $(LIBATTACH_CFLAGS), \
CFLAGS_windows := /Gy, \ CFLAGS_windows := /Gy, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \

View file

@ -27,16 +27,10 @@ include LibCommon.gmk
################################################################################ ################################################################################
LIBJ2PKCS11_SRC := $(TOPDIR)/src/jdk.crypto.cryptoki/share/native/libj2pkcs11 \
$(TOPDIR)/src/jdk.crypto.cryptoki/$(OPENJDK_TARGET_OS_TYPE)/native/libj2pkcs11
$(eval $(call SetupJdkLibrary, BUILD_LIBJ2PKCS11, \ $(eval $(call SetupJdkLibrary, BUILD_LIBJ2PKCS11, \
NAME := j2pkcs11, \ NAME := j2pkcs11, \
SRC := $(LIBJ2PKCS11_SRC), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(addprefix -I, $(LIBJ2PKCS11_SRC)) \ CFLAGS := $(CFLAGS_JDKLIB), \
$(LIBJAVA_HEADER_FLAGS) \
-I$(SUPPORT_OUTPUTDIR)/headers/jdk.crypto.cryptoki, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := $(LIBDL), \ LIBS_unix := $(LIBDL), \

View file

@ -28,31 +28,23 @@ include LibCommon.gmk
################################################################################ ################################################################################
ifeq ($(ENABLE_INTREE_EC), true) ifeq ($(ENABLE_INTREE_EC), true)
LIBSUNEC_SRC := $(TOPDIR)/src/jdk.crypto.ec/share/native/libsunec
BUILD_LIBSUNEC_FLAGS := $(addprefix -I, $(SUNEC_SRC))
#
# On sol-sparc...all libraries are compiled with -xregs=no%appl # On sol-sparc...all libraries are compiled with -xregs=no%appl
# (set in CFLAGS_REQUIRED_sparc) # (set in CFLAGS_REQUIRED_sparc) except libsunec.so
#
# except!!! libsunec.so
#
ECC_JNI_SOLSPARC_FILTER :=
ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc) ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
ECC_JNI_SOLSPARC_FILTER := -xregs=no%appl BUILD_LIBSUNEC_CFLAGS_JDKLIB := $(filter-out -xregs=no%appl, $(CFLAGS_JDKLIB))
BUILD_LIBSUNEC_CXXFLAGS_JDKLIB := $(filter-out -xregs=no%appl, $(CXXFLAGS_JDKLIB))
else
BUILD_LIBSUNEC_CFLAGS_JDKLIB := $(CFLAGS_JDKLIB)
BUILD_LIBSUNEC_CXXFLAGS_JDKLIB := $(CXXFLAGS_JDKLIB)
endif endif
$(eval $(call SetupJdkLibrary, BUILD_LIBSUNEC, \ $(eval $(call SetupJdkLibrary, BUILD_LIBSUNEC, \
NAME := sunec, \ NAME := sunec, \
SRC := $(LIBSUNEC_SRC), \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB)) \ CFLAGS := $(BUILD_LIBSUNEC_CFLAGS_JDKLIB) \
$(BUILD_LIBSUNEC_FLAGS) \
-DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B, \ -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B, \
CXXFLAGS := $(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \ CXXFLAGS := $(BUILD_LIBSUNEC_CXXFLAGS_JDKLIB), \
$(BUILD_LIBSUNEC_FLAGS), \
DISABLED_WARNINGS_gcc := sign-compare implicit-fallthrough, \ DISABLED_WARNINGS_gcc := sign-compare implicit-fallthrough, \
DISABLED_WARNINGS_microsoft := 4101 4244 4146 4018, \ DISABLED_WARNINGS_microsoft := 4101 4244 4146 4018, \
LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \ LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \

View file

@ -29,14 +29,10 @@ include LibCommon.gmk
ifeq ($(OPENJDK_TARGET_OS), windows) ifeq ($(OPENJDK_TARGET_OS), windows)
LIBSUNMSCAPI_SRC := $(TOPDIR)/src/jdk.crypto.mscapi/$(OPENJDK_TARGET_OS_TYPE)/native/libsunmscapi
$(eval $(call SetupJdkLibrary, BUILD_LIBSUNMSCAPI, \ $(eval $(call SetupJdkLibrary, BUILD_LIBSUNMSCAPI, \
NAME := sunmscapi, \ NAME := sunmscapi, \
SRC := $(LIBSUNMSCAPI_SRC), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB), \
-I$(LIBSUNMSCAPI_SRC), \
LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := crypt32.lib advapi32.lib, \ LIBS := crypt32.lib advapi32.lib, \

View file

@ -29,14 +29,10 @@ include LibCommon.gmk
ifeq ($(OPENJDK_TARGET_OS), solaris) ifeq ($(OPENJDK_TARGET_OS), solaris)
LIBJ2UCRYPTO_SRC := $(TOPDIR)/src/jdk.crypto.ucrypto/solaris/native/libj2ucrypto
$(eval $(call SetupJdkLibrary, BUILD_LIBJ2UCRYPTO, \ $(eval $(call SetupJdkLibrary, BUILD_LIBJ2UCRYPTO, \
NAME := j2ucrypto, \ NAME := j2ucrypto, \
SRC := $(LIBJ2UCRYPTO_SRC), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB), \
$(addprefix -I, $(LIBJ2UCRYPTO_SRC)), \
LDFLAGS := $(LDFLAGS_JDKLIB), \ LDFLAGS := $(LDFLAGS_JDKLIB), \
LIBS := $(LIBDL), \ LIBS := $(LIBDL), \
)) ))

View file

@ -29,19 +29,6 @@ $(eval $(call IncludeCustomExtension, hotspot/lib/Lib-jdk.hotspot.agent.gmk))
################################################################################ ################################################################################
SA_TOPDIR := $(TOPDIR)/src/jdk.hotspot.agent
SA_SRC += \
$(SA_TOPDIR)/share/native/libsaproc \
$(SA_TOPDIR)/$(OPENJDK_TARGET_OS)/native/libsaproc \
#
SA_INCLUDES := \
$(addprefix -I, $(SA_SRC)) \
-I$(SUPPORT_OUTPUTDIR)/headers/jdk.hotspot.agent \
-I$(TOPDIR)/src/hotspot/os/$(OPENJDK_TARGET_OS) \
#
ifeq ($(OPENJDK_TARGET_OS), linux) ifeq ($(OPENJDK_TARGET_OS), linux)
SA_CFLAGS := -D_FILE_OFFSET_BITS=64 SA_CFLAGS := -D_FILE_OFFSET_BITS=64
@ -68,9 +55,8 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBSA, \
DISABLED_WARNINGS_microsoft := 4267, \ DISABLED_WARNINGS_microsoft := 4267, \
DISABLED_WARNINGS_gcc := sign-compare, \ DISABLED_WARNINGS_gcc := sign-compare, \
DISABLED_WARNINGS_CXX_solstudio := truncwarn unknownpragma, \ DISABLED_WARNINGS_CXX_solstudio := truncwarn unknownpragma, \
SRC := $(SA_SRC), \ CFLAGS := $(CFLAGS_JDKLIB) $(SA_CFLAGS), \
CFLAGS := $(CFLAGS_JDKLIB) $(SA_INCLUDES) $(SA_CFLAGS) $(SA_CUSTOM_CFLAGS), \ CXXFLAGS := $(CXXFLAGS_JDKLIB) $(SA_CFLAGS) $(SA_CXXFLAGS), \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(SA_INCLUDES) $(SA_CFLAGS) $(SA_CXXFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) $(SA_LDFLAGS), \ LDFLAGS := $(LDFLAGS_JDKLIB) $(SA_LDFLAGS), \
LIBS_linux := -lthread_db $(LIBDL), \ LIBS_linux := -lthread_db $(LIBDL), \
LIBS_solaris := -ldl -ldemangle -lthread -lproc, \ LIBS_solaris := -ldl -ldemangle -lthread -lproc, \

View file

@ -29,19 +29,10 @@ include LibCommon.gmk
ifeq ($(OPENJDK_TARGET_OS), windows) ifeq ($(OPENJDK_TARGET_OS), windows)
LIBLE_SRC := $(TOPDIR)/src/jdk.internal.le/$(OPENJDK_TARGET_OS_TYPE)/native/lible \
#
LIBLE_CPPFLAGS := \
$(addprefix -I, $(LIBLE_SRC)) \
-I$(SUPPORT_OUTPUTDIR)/headers/jdk.internal.le \
#
$(eval $(call SetupJdkLibrary, BUILD_LIBLE, \ $(eval $(call SetupJdkLibrary, BUILD_LIBLE, \
NAME := le, \ NAME := le, \
SRC := $(LIBLE_SRC), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBJAVA_HEADER_FLAGS)\ CFLAGS := $(CFLAGS_JDKLIB), \
$(LIBLE_CPPFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB), \ LDFLAGS := $(LDFLAGS_JDKLIB), \
LIBS := $(JDKLIB_LIBS) user32.lib, \ LIBS := $(JDKLIB_LIBS) user32.lib, \
)) ))

View file

@ -29,22 +29,13 @@ include LibCommon.gmk
ifeq ($(OPENJDK_TARGET_OS), windows) ifeq ($(OPENJDK_TARGET_OS), windows)
LIBDT_SHMEM_SRC := $(TOPDIR)/src/jdk.jdi/share/native/libdt_shmem \
$(TOPDIR)/src/jdk.jdi/$(OPENJDK_TARGET_OS_TYPE)/native/libdt_shmem \
#
LIBDT_SHMEM_CPPFLAGS := -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
$(addprefix -I, $(LIBDT_SHMEM_SRC)) \
-I$(TOPDIR)/src/jdk.jdwp.agent/share/native/libjdwp/export \
-I$(TOPDIR)/src/jdk.jdwp.agent/share/native/include \
-I$(SUPPORT_OUTPUTDIR)/headers/jdk.jdi \
#
$(eval $(call SetupJdkLibrary, BUILD_LIBDT_SHMEM, \ $(eval $(call SetupJdkLibrary, BUILD_LIBDT_SHMEM, \
NAME := dt_shmem, \ NAME := dt_shmem, \
SRC := $(LIBDT_SHMEM_SRC), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP \ CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP, \
$(LIBDT_SHMEM_CPPFLAGS), \ EXTRA_HEADER_DIRS := \
jdk.jdwp.agent:include \
jdk.jdwp.agent:libjdwp/export, \
LDFLAGS := $(LDFLAGS_JDKLIB), \ LDFLAGS := $(LDFLAGS_JDKLIB), \
LIBS := $(JDKLIB_LIBS), \ LIBS := $(JDKLIB_LIBS), \
)) ))

View file

@ -27,21 +27,14 @@ include LibCommon.gmk
################################################################################ ################################################################################
LIBDT_SOCKET_SRC := $(TOPDIR)/src/jdk.jdwp.agent/share/native/libdt_socket \
$(TOPDIR)/src/jdk.jdwp.agent/$(OPENJDK_TARGET_OS_TYPE)/native/libdt_socket
LIBDT_SOCKET_CPPFLAGS := \
$(addprefix -I, $(LIBDT_SOCKET_SRC)) \
-I$(TOPDIR)/src/jdk.jdwp.agent/share/native/libjdwp/export \
-I$(TOPDIR)/src/jdk.jdwp.agent/share/native/libjdwp \
-I$(TOPDIR)/src/jdk.jdwp.agent/share/native/include \
#
$(eval $(call SetupJdkLibrary, BUILD_LIBDT_SOCKET, \ $(eval $(call SetupJdkLibrary, BUILD_LIBDT_SOCKET, \
NAME := dt_socket, \ NAME := dt_socket, \
SRC := $(LIBDT_SOCKET_SRC), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP \ CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP \
$(LIBDT_SOCKET_CPPFLAGS), \ $(LIBDT_SOCKET_CPPFLAGS), \
EXTRA_HEADER_DIRS := \
include \
libjdwp/export, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_linux := -lpthread, \ LIBS_linux := -lpthread, \
@ -56,21 +49,14 @@ TARGETS += $(BUILD_LIBDT_SOCKET)
################################################################################ ################################################################################
LIBJDWP_SRC := $(TOPDIR)/src/jdk.jdwp.agent/share/native/libjdwp \
$(TOPDIR)/src/jdk.jdwp.agent/$(OPENJDK_TARGET_OS_TYPE)/native/libjdwp
LIBJDWP_CPPFLAGS := \
-I$(TOPDIR)/src/jdk.jdwp.agent/share/native/libjdwp/export \
-I$(TOPDIR)/src/jdk.jdwp.agent/share/native/include \
$(addprefix -I, $(LIBJDWP_SRC))
# JDWP_LOGGING causes log messages to be compiled into the library. # JDWP_LOGGING causes log messages to be compiled into the library.
$(eval $(call SetupJdkLibrary, BUILD_LIBJDWP, \ $(eval $(call SetupJdkLibrary, BUILD_LIBJDWP, \
NAME := jdwp, \ NAME := jdwp, \
SRC := $(LIBJDWP_SRC), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) -DJDWP_LOGGING \ CFLAGS := $(CFLAGS_JDKLIB) -DJDWP_LOGGING, \
$(LIBJDWP_CPPFLAGS) \ EXTRA_HEADER_DIRS := \
-I$(SUPPORT_OUTPUTDIR)/headers/jdk.jdwp.agent, \ include \
libjdwp/export, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(JDKLIB_LIBS), \ LIBS := $(JDKLIB_LIBS), \

View file

@ -27,17 +27,10 @@ include LibCommon.gmk
################################################################################ ################################################################################
LIBMANAGEMENT_AGENT_SRC += $(TOPDIR)/src/jdk.management.agent/$(OPENJDK_TARGET_OS_TYPE)/native/libmanagement_agent
LIBMANAGEMENT_AGENT_CFLAGS := $(addprefix -I,$(LIBMANAGEMENT_AGENT_SRC)) \
-I$(SUPPORT_OUTPUTDIR)/headers/jdk.management.agent \
$(LIBJAVA_HEADER_FLAGS) \
#
$(eval $(call SetupJdkLibrary, BUILD_LIBMANAGEMENT_AGENT, \ $(eval $(call SetupJdkLibrary, BUILD_LIBMANAGEMENT_AGENT, \
NAME := management_agent, \ NAME := management_agent, \
SRC := $(LIBMANAGEMENT_AGENT_SRC), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBMANAGEMENT_AGENT_CFLAGS), \ CFLAGS := $(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(JDKLIB_LIBS), \ LIBS := $(JDKLIB_LIBS), \

View file

@ -30,15 +30,6 @@ $(eval $(call IncludeCustomExtension, lib/Lib-jdk.management.gmk))
################################################################################ ################################################################################
LIBMANAGEMENT_EXT_SRC += $(TOPDIR)/src/jdk.management/share/native/libmanagement_ext \
$(TOPDIR)/src/jdk.management/$(OPENJDK_TARGET_OS_TYPE)/native/libmanagement_ext \
$(TOPDIR)/src/jdk.management/$(OPENJDK_TARGET_OS)/native/libmanagement_ext
LIBMANAGEMENT_EXT_CFLAGS := -I$(TOPDIR)/src/java.management/share/native/include \
$(addprefix -I,$(LIBMANAGEMENT_EXT_SRC)) \
-I$(SUPPORT_OUTPUTDIR)/headers/jdk.management \
$(LIBJAVA_HEADER_FLAGS) \
#
ifeq ($(OPENJDK_TARGET_OS), windows) ifeq ($(OPENJDK_TARGET_OS), windows)
# In (at least) VS2013 and later, -DPSAPI_VERSION=1 is needed to generate # In (at least) VS2013 and later, -DPSAPI_VERSION=1 is needed to generate
# a binary that is compatible with windows versions older than 7/2008R2. # a binary that is compatible with windows versions older than 7/2008R2.
@ -55,8 +46,6 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBMANAGEMENT_EXT, \ $(eval $(call SetupJdkLibrary, BUILD_LIBMANAGEMENT_EXT, \
NAME := management_ext, \ NAME := management_ext, \
SRC := $(LIBMANAGEMENT_EXT_SRC), \
LANG := C, \
OPTIMIZATION := $(LIBMANAGEMENT_EXT_OPTIMIZATION), \ OPTIMIZATION := $(LIBMANAGEMENT_EXT_OPTIMIZATION), \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBMANAGEMENT_EXT_CFLAGS), \ CFLAGS := $(CFLAGS_JDKLIB) $(LIBMANAGEMENT_EXT_CFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \

View file

@ -27,13 +27,12 @@ include LibCommon.gmk
################################################################################ ################################################################################
ifneq ($(filter $(OPENJDK_TARGET_OS), solaris linux), ) ifneq ($(filter $(OPENJDK_TARGET_OS), solaris linux macosx), )
$(eval $(call SetupJdkLibrary, BUILD_LIBEXTNET, \ $(eval $(call SetupJdkLibrary, BUILD_LIBEXTNET, \
NAME := extnet, \ NAME := extnet, \
SRC := $(TOPDIR)/src/jdk.net/$(OPENJDK_TARGET_OS)/native/libextnet, \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) -I$(SUPPORT_OUTPUTDIR)/headers/jdk.net, \ CFLAGS := $(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := -ljava, \ LIBS := -ljava, \

View file

@ -29,16 +29,13 @@ include LibCommon.gmk
$(eval $(call SetupJdkLibrary, BUILD_LIBUNPACK, \ $(eval $(call SetupJdkLibrary, BUILD_LIBUNPACK, \
NAME := unpack, \ NAME := unpack, \
SRC := $(TOPDIR)/src/jdk.pack/share/native/libunpack \ EXTRA_SRC := common-unpack, \
$(TOPDIR)/src/jdk.pack/share/native/common-unpack, \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CXXFLAGS_JDKLIB) \ CFLAGS := $(CXXFLAGS_JDKLIB) \
-DNO_ZLIB -DUNPACK_JNI -DFULL \ -DNO_ZLIB -DUNPACK_JNI -DFULL, \
-I$(SUPPORT_OUTPUTDIR)/headers/java.base \
-I$(TOPDIR)/src/jdk.pack/share/native/common-unpack \
$(LIBJAVA_HEADER_FLAGS), \
CFLAGS_release := -DPRODUCT, \ CFLAGS_release := -DPRODUCT, \
EXTRA_HEADER_DIRS := $(call GetJavaHeaderDir, java.base), \
DISABLED_WARNINGS_gcc := implicit-fallthrough, \ DISABLED_WARNINGS_gcc := implicit-fallthrough, \
LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \

View file

@ -29,18 +29,15 @@ include LibCommon.gmk
ifeq ($(OPENJDK_TARGET_OS_TYPE), unix) ifeq ($(OPENJDK_TARGET_OS_TYPE), unix)
ifeq (, $(filter $(OPENJDK_TARGET_OS), macosx aix)) ifeq ($(filter $(OPENJDK_TARGET_OS), macosx aix), )
$(eval $(call SetupJdkLibrary, BUILD_LIBSCTP, \ $(eval $(call SetupJdkLibrary, BUILD_LIBSCTP, \
NAME := sctp, \ NAME := sctp, \
SRC := $(TOPDIR)/src/jdk.sctp/$(OPENJDK_TARGET_OS_TYPE)/native/libsctp, \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \ CFLAGS := $(CFLAGS_JDKLIB), \
-I $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libnio/ch \ EXTRA_HEADER_DIRS := \
-I $(TOPDIR)/src/java.base/share/native/libnio/ch \ $(call GetJavaHeaderDir, java.base) \
$(addprefix -I, $(call FindSrcDirsForLib, java.base, net)) \ java.base:libnet \
$(LIBJAVA_HEADER_FLAGS) \ java.base:libnio/ch, \
-I$(SUPPORT_OUTPUTDIR)/headers/jdk.sctp \
-I$(SUPPORT_OUTPUTDIR)/headers/java.base, \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := -lnio -lnet -ljava -ljvm, \ LIBS_unix := -lnio -lnet -ljava -ljvm, \

View file

@ -29,9 +29,8 @@ include LibCommon.gmk
$(eval $(call SetupJdkLibrary, BUILD_LIBJAAS, \ $(eval $(call SetupJdkLibrary, BUILD_LIBJAAS, \
NAME := jaas, \ NAME := jaas, \
SRC := $(call FindSrcDirsForLib, jdk.security.auth, jaas), \
OPTIMIZATION := LOW, \ OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) -I$(SUPPORT_OUTPUTDIR)/headers/jdk.security.auth, \ CFLAGS := $(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB) \ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \ $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_windows := netapi32.lib user32.lib mpr.lib advapi32.lib $(JDKLIB_LIBS), \ LIBS_windows := netapi32.lib user32.lib mpr.lib advapi32.lib $(JDKLIB_LIBS), \

View file

@ -25,9 +25,6 @@
include JdkNativeCompilation.gmk include JdkNativeCompilation.gmk
# Hook to include the corresponding custom file, if present.
$(eval $(call IncludeCustomExtension, lib/LibCommon.gmk))
################################################################################ ################################################################################
GLOBAL_VERSION_INFO_RESOURCE := $(TOPDIR)/src/java.base/windows/native/common/version.rc GLOBAL_VERSION_INFO_RESOURCE := $(TOPDIR)/src/java.base/windows/native/common/version.rc
@ -66,16 +63,6 @@ else ifeq ($(TOOLCHAIN_TYPE), xlc)
endif endif
endif endif
################################################################################
# Find the default set of src dirs for a native library.
# Param 1 - module name
# Param 2 - library name
FindSrcDirsForLib += \
$(call uniq, $(wildcard \
$(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS)/native/lib$(strip $2) \
$(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS_TYPE)/native/lib$(strip $2) \
$(TOPDIR)/src/$(strip $1)/share/native/lib$(strip $2)))
################################################################################ ################################################################################
# Find a library # Find a library
# Param 1 - module name # Param 1 - module name
@ -94,10 +81,6 @@ FindStaticLib = \
$(addprefix $(SUPPORT_OUTPUTDIR)/native/, \ $(addprefix $(SUPPORT_OUTPUTDIR)/native/, \
$(strip $1)$(strip $3)/$(LIBRARY_PREFIX)$(strip $2)$(STATIC_LIBRARY_SUFFIX)) $(strip $1)$(strip $3)/$(LIBRARY_PREFIX)$(strip $2)$(STATIC_LIBRARY_SUFFIX))
################################################################################
# Define the header include flags needed to compile against it.
LIBJAVA_HEADER_FLAGS := $(addprefix -I, $(call FindSrcDirsForLib, java.base, java))
# Put the libraries here. # Put the libraries here.
INSTALL_LIBRARIES_HERE := $(call FindLibDirForModule, $(MODULE)) INSTALL_LIBRARIES_HERE := $(call FindLibDirForModule, $(MODULE))

View file

@ -1300,35 +1300,10 @@ if [ "$SKIP_DEFAULT" != "true" ]; then
THIS_JDK="$THIS/install/jdk" THIS_JDK="$THIS/install/jdk"
OTHER_JDK="$OTHER/install/jdk" OTHER_JDK="$OTHER/install/jdk"
echo "Selecting install images for JDK compare" echo "Selecting install images for JDK compare"
if [ -d "$THIS/install/jre" ] && [ -d "$OTHER/install/jre" ]; then
THIS_JRE="$THIS/install/jre"
OTHER_JRE="$OTHER/install/jre"
echo "Also selecting install images for JRE compare"
else
echo "No install JRE image found"
fi
elif [ -d "$THIS/images/jdk" ] && [ -d "$OTHER/deploy/images/jdk" ]; then
THIS_JDK="$THIS/images/jdk"
OTHER_JDK="$OTHER/deploy/images/jdk"
echo "Selecting deploy images for JDK compare"
if [ -d "$THIS/images/jre" ] && [ -d "$OTHER/deploy/images/jre" ]; then
THIS_JRE="$THIS/images/jre"
OTHER_JRE="$OTHER/deploy/images/jre"
echo "Selecting deploy images for JRE compare"
else
echo "No deploy JRE image found"
fi
elif [ -d "$THIS/images/jdk" ] && [ -d "$OTHER/images/jdk" ]; then elif [ -d "$THIS/images/jdk" ] && [ -d "$OTHER/images/jdk" ]; then
THIS_JDK="$THIS/images/jdk" THIS_JDK="$THIS/images/jdk"
OTHER_JDK="$OTHER/images/jdk" OTHER_JDK="$OTHER/images/jdk"
echo "Selecting normal images for JDK compare" echo "Selecting normal images for JDK compare"
if [ -d "$THIS/images/jre" ] && [ -d "$OTHER/images/jre" ]; then
THIS_JRE="$THIS/images/jre"
OTHER_JRE="$OTHER/images/jre"
echo "Selecting normal images for JRE compare"
else
echo "No normal JRE image found"
fi
elif [ -d "$(ls -d $THIS/licensee-src/build/*/images/jdk 2> /dev/null)" ] \ elif [ -d "$(ls -d $THIS/licensee-src/build/*/images/jdk 2> /dev/null)" ] \
&& [ -d "$(ls -d $OTHER/licensee-src/build/*/images/jdk 2> /dev/null)" ] && [ -d "$(ls -d $OTHER/licensee-src/build/*/images/jdk 2> /dev/null)" ]
then then
@ -1341,9 +1316,7 @@ if [ "$SKIP_DEFAULT" != "true" ]; then
THIS="$(ls -d $THIS/licensee-src/build/*)" THIS="$(ls -d $THIS/licensee-src/build/*)"
OTHER="$(ls -d $OTHER/licensee-src/build/*)" OTHER="$(ls -d $OTHER/licensee-src/build/*)"
THIS_JDK="$THIS/images/jdk" THIS_JDK="$THIS/images/jdk"
THIS_JRE="$THIS/images/jre"
OTHER_JDK="$OTHER/images/jdk" OTHER_JDK="$OTHER/images/jdk"
OTHER_JRE="$OTHER/images/jre"
# Rewrite the path to tools that are used from the build # Rewrite the path to tools that are used from the build
JIMAGE="$(echo "$JIMAGE" | $SED "s|$OLD_THIS|$THIS|g")" JIMAGE="$(echo "$JIMAGE" | $SED "s|$OLD_THIS|$THIS|g")"
JAVAP="$(echo "$JAVAP" | $SED "s|$OLD_THIS|$THIS|g")" JAVAP="$(echo "$JAVAP" | $SED "s|$OLD_THIS|$THIS|g")"
@ -1358,17 +1331,13 @@ if [ "$SKIP_DEFAULT" != "true" ]; then
&& [ -d "$OTHER/images/jdk-bundle" -o -d "$OTHER/deploy/images/jdk-bundle" ]; then && [ -d "$OTHER/images/jdk-bundle" -o -d "$OTHER/deploy/images/jdk-bundle" ]; then
if [ -d "$THIS/deploy/images/jdk-bundle" ]; then if [ -d "$THIS/deploy/images/jdk-bundle" ]; then
THIS_JDK_BUNDLE="$THIS/deploy/images/jdk-bundle" THIS_JDK_BUNDLE="$THIS/deploy/images/jdk-bundle"
THIS_JRE_BUNDLE="$THIS/deploy/images/jre-bundle"
else else
THIS_JDK_BUNDLE="$THIS/images/jdk-bundle" THIS_JDK_BUNDLE="$THIS/images/jdk-bundle"
THIS_JRE_BUNDLE="$THIS/images/jre-bundle"
fi fi
if [ -d "$OTHER/deploy/images/jdk-bundle" ]; then if [ -d "$OTHER/deploy/images/jdk-bundle" ]; then
OTHER_JDK_BUNDLE="$OTHER/deploy/images/jdk-bundle" OTHER_JDK_BUNDLE="$OTHER/deploy/images/jdk-bundle"
OTHER_JRE_BUNDLE="$OTHER/deploy/images/jre-bundle"
else else
OTHER_JDK_BUNDLE="$OTHER/images/jdk-bundle" OTHER_JDK_BUNDLE="$OTHER/images/jdk-bundle"
OTHER_JRE_BUNDLE="$OTHER/images/jre-bundle"
fi fi
echo "Also comparing jdk macosx bundles" echo "Also comparing jdk macosx bundles"
echo " $THIS_JDK_BUNDLE" echo " $THIS_JDK_BUNDLE"
@ -1457,22 +1426,12 @@ if [ "$CMP_NAMES" = "true" ]; then
echo -n "JDK " echo -n "JDK "
compare_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk compare_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
fi fi
if [ -n "$THIS_JRE" ] && [ -n "$OTHER_JRE" ]; then
echo -n "JRE "
compare_dirs $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
echo -n "JRE "
compare_files $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
fi
if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then
echo -n "JDK Bundle " echo -n "JDK Bundle "
compare_dirs $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle compare_dirs $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle
echo -n "JRE Bundle "
compare_dirs $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle
echo -n "JDK Bundle " echo -n "JDK Bundle "
compare_files $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle compare_files $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle
echo -n "JRE Bundle "
compare_files $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle
fi fi
if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then
echo -n "Docs " echo -n "Docs "
@ -1538,15 +1497,9 @@ if [ "$CMP_GENERAL" = "true" ]; then
echo -n "JDK " echo -n "JDK "
compare_general_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk compare_general_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
fi fi
if [ -n "$THIS_JRE" ] && [ -n "$OTHER_JRE" ]; then
echo -n "JRE "
compare_general_files $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
fi
if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then
echo -n "JDK Bundle " echo -n "JDK Bundle "
compare_general_files $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle compare_general_files $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle
echo -n "JRE Bundle "
compare_general_files $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle
fi fi
if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then
echo -n "Docs " echo -n "Docs "
@ -1615,10 +1568,6 @@ if [ "$CMP_PERMS" = "true" ]; then
echo -n "JDK " echo -n "JDK "
compare_permissions $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk compare_permissions $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
fi fi
if [ -n "$THIS_JRE" ] && [ -n "$OTHER_JRE" ]; then
echo -n "JRE "
compare_permissions $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
fi
if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then
compare_permissions $THIS_BASE_DIR $OTHER_BASE_DIR $COMPARE_ROOT/base_dir compare_permissions $THIS_BASE_DIR $OTHER_BASE_DIR $COMPARE_ROOT/base_dir
fi fi
@ -1637,15 +1586,9 @@ if [ "$CMP_TYPES" = "true" ]; then
echo -n "JDK " echo -n "JDK "
compare_file_types $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk compare_file_types $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
fi fi
if [ -n "$THIS_JRE" ] && [ -n "$OTHER_JRE" ]; then
echo -n "JRE "
compare_file_types $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre
fi
if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then
echo -n "JDK Bundle " echo -n "JDK Bundle "
compare_file_types $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle compare_file_types $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle
echo -n "JRE Bundle "
compare_file_types $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle
fi fi
if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then
compare_file_types $THIS_BASE_DIR $OTHER_BASE_DIR $COMPARE_ROOT/base_dir compare_file_types $THIS_BASE_DIR $OTHER_BASE_DIR $COMPARE_ROOT/base_dir

View file

@ -134,6 +134,11 @@ NSK_JVMTI_AOD_INCLUDES := \
-I$(VM_TESTBASE_DIR)/nsk/share/jvmti \ -I$(VM_TESTBASE_DIR)/nsk/share/jvmti \
-I$(VM_TESTBASE_DIR)/nsk/share/jvmti/aod -I$(VM_TESTBASE_DIR)/nsk/share/jvmti/aod
NSK_AOD_INCLUDES := \
-I$(VM_TESTBASE_DIR)/nsk/share/aod \
-I$(VM_TESTBASE_DIR)/nsk/share/native \
-I$(VM_TESTBASE_DIR)/nsk/share/jni
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libProcessUtils := $(VM_SHARE_INCLUDES) BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libProcessUtils := $(VM_SHARE_INCLUDES)
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libThreadController := $(NSK_MONITORING_INCLUDES) BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libThreadController := $(NSK_MONITORING_INCLUDES)
@ -823,6 +828,12 @@ BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libattach021Agent00 := $(NSK_JVMTI_AOD_INCL
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libattach050Agent00 := $(NSK_JVMTI_AOD_INCLUDES) BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libattach050Agent00 := $(NSK_JVMTI_AOD_INCLUDES)
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libattach002Agent00 := $(NSK_JVMTI_AOD_INCLUDES) BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libattach002Agent00 := $(NSK_JVMTI_AOD_INCLUDES)
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libVirtualMachine07agent00 := $(NSK_AOD_INCLUDES)
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libVirtualMachine07agent01 := $(NSK_AOD_INCLUDES)
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libVirtualMachine07agent02 := $(NSK_AOD_INCLUDES)
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libVirtualMachine07agent03 := $(NSK_AOD_INCLUDES)
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libVirtualMachine09agent00 := $(NSK_AOD_INCLUDES)
################################################################################ ################################################################################
# Platform specific setup # Platform specific setup
@ -851,8 +862,6 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS_exeFPRegs := -MT BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS_exeFPRegs := -MT
BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c
# Disable warning until JDK-8203802 is fixed
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libtimers += -wd4477
else else
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libbootclssearch_agent += -lpthread BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libbootclssearch_agent += -lpthread
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libsystemclssearch_agent += -lpthread BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libsystemclssearch_agent += -lpthread

View file

@ -64,6 +64,14 @@ else
endif endif
endif endif
ifeq ($(OPENJDK_TARGET_OS), macosx)
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libTestMainKeyWindow := -ObjC
BUILD_JDK_JTREG_LIBRARIES_LIBS_libTestMainKeyWindow := -framework JavaVM \
-framework Cocoa -framework JavaNativeFoundation
else
BUILD_JDK_JTREG_EXCLUDE += libTestMainKeyWindow.c
endif
$(eval $(call SetupTestFilesCompilation, BUILD_JDK_JTREG_LIBRARIES, \ $(eval $(call SetupTestFilesCompilation, BUILD_JDK_JTREG_LIBRARIES, \
TYPE := LIBRARY, \ TYPE := LIBRARY, \
SOURCE_DIRS := $(BUILD_JDK_JTREG_NATIVE_SRC), \ SOURCE_DIRS := $(BUILD_JDK_JTREG_NATIVE_SRC), \

View file

@ -151,7 +151,7 @@ pixel.dbtests.getelem=disabled
pixel.dbtests.setelem=disabled pixel.dbtests.setelem=disabled
text.opts.data.tlength=32 text.opts.data.tlength=32
text.opts.data.tscript=english text.opts.data.tscript=english
text.opts.font.fname=lucida text.opts.font.fname=dialog
text.opts.font.fstyle=0 text.opts.font.fstyle=0
text.opts.font.fsize=13.0 text.opts.font.fsize=13.0
text.opts.font.ftx=Identity text.opts.font.ftx=Identity

View file

@ -3792,69 +3792,7 @@ bool Matcher::clone_address_expressions(AddPNode* m, Matcher::MStack& mstack, Ve
return false; return false;
} }
// Transform:
// (AddP base (AddP base address (LShiftL index con)) offset)
// into:
// (AddP base (AddP base offset) (LShiftL index con))
// to take full advantage of ARM's addressing modes
void Compile::reshape_address(AddPNode* addp) { void Compile::reshape_address(AddPNode* addp) {
Node *addr = addp->in(AddPNode::Address);
if (addr->is_AddP() && addr->in(AddPNode::Base) == addp->in(AddPNode::Base)) {
const AddPNode *addp2 = addr->as_AddP();
if ((addp2->in(AddPNode::Offset)->Opcode() == Op_LShiftL &&
addp2->in(AddPNode::Offset)->in(2)->is_Con() &&
size_fits_all_mem_uses(addp, addp2->in(AddPNode::Offset)->in(2)->get_int())) ||
addp2->in(AddPNode::Offset)->Opcode() == Op_ConvI2L) {
// Any use that can't embed the address computation?
for (DUIterator_Fast imax, i = addp->fast_outs(imax); i < imax; i++) {
Node* u = addp->fast_out(i);
if (!u->is_Mem()) {
return;
}
if (u->is_LoadVector() || u->is_StoreVector() || u->Opcode() == Op_StoreCM) {
return;
}
if (addp2->in(AddPNode::Offset)->Opcode() != Op_ConvI2L) {
int scale = 1 << addp2->in(AddPNode::Offset)->in(2)->get_int();
if (VM_Version::expensive_load(u->as_Mem()->memory_size(), scale)) {
return;
}
}
}
Node* off = addp->in(AddPNode::Offset);
Node* addr2 = addp2->in(AddPNode::Address);
Node* base = addp->in(AddPNode::Base);
Node* new_addr = NULL;
// Check whether the graph already has the new AddP we need
// before we create one (no GVN available here).
for (DUIterator_Fast imax, i = addr2->fast_outs(imax); i < imax; i++) {
Node* u = addr2->fast_out(i);
if (u->is_AddP() &&
u->in(AddPNode::Base) == base &&
u->in(AddPNode::Address) == addr2 &&
u->in(AddPNode::Offset) == off) {
new_addr = u;
break;
}
}
if (new_addr == NULL) {
new_addr = new AddPNode(base, addr2, off);
}
Node* new_off = addp2->in(AddPNode::Offset);
addp->set_req(AddPNode::Address, new_addr);
if (addr->outcnt() == 0) {
addr->disconnect_inputs(NULL, this);
}
addp->set_req(AddPNode::Offset, new_off);
if (off->outcnt() == 0) {
off->disconnect_inputs(NULL, this);
}
}
}
} }
// helper for encoding java_to_runtime calls on sim // helper for encoding java_to_runtime calls on sim

View file

@ -24,6 +24,7 @@
*/ */
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "c1/c1_CodeStubs.hpp" #include "c1/c1_CodeStubs.hpp"
#include "c1/c1_FrameMap.hpp" #include "c1/c1_FrameMap.hpp"
#include "c1/c1_LIRAssembler.hpp" #include "c1/c1_LIRAssembler.hpp"
@ -72,19 +73,20 @@ void RangeCheckStub::emit_code(LIR_Assembler* ce) {
} }
if (_index->is_cpu_register()) { if (_index->is_cpu_register()) {
__ mov(r22, _index->as_register()); __ mov(rscratch1, _index->as_register());
} else { } else {
__ mov(r22, _index->as_jint()); __ mov(rscratch1, _index->as_jint());
} }
Runtime1::StubID stub_id; Runtime1::StubID stub_id;
if (_throw_index_out_of_bounds_exception) { if (_throw_index_out_of_bounds_exception) {
stub_id = Runtime1::throw_index_exception_id; stub_id = Runtime1::throw_index_exception_id;
} else { } else {
assert(_array != NULL, "sanity"); assert(_array != NULL, "sanity");
__ mov(r23, _array->as_pointer_register()); __ mov(rscratch2, _array->as_pointer_register());
stub_id = Runtime1::throw_range_check_failed_id; stub_id = Runtime1::throw_range_check_failed_id;
} }
__ far_call(RuntimeAddress(Runtime1::entry_for(stub_id)), NULL, rscratch2); __ lea(lr, RuntimeAddress(Runtime1::entry_for(stub_id)));
__ blr(lr);
ce->add_call_info_here(_info); ce->add_call_info_here(_info);
ce->verify_oop_map(_info); ce->verify_oop_map(_info);
debug_only(__ should_not_reach_here()); debug_only(__ should_not_reach_here());

View file

@ -24,6 +24,7 @@
*/ */
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "asm/assembler.hpp" #include "asm/assembler.hpp"
#include "c1/c1_CodeStubs.hpp" #include "c1/c1_CodeStubs.hpp"
#include "c1/c1_Compilation.hpp" #include "c1/c1_Compilation.hpp"

View file

@ -24,6 +24,7 @@
*/ */
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "c1/c1_Compilation.hpp" #include "c1/c1_Compilation.hpp"
#include "c1/c1_FrameMap.hpp" #include "c1/c1_FrameMap.hpp"
#include "c1/c1_Instruction.hpp" #include "c1/c1_Instruction.hpp"

View file

@ -323,7 +323,7 @@ void Runtime1::initialize_pd() {
// target: the entry point of the method that creates and posts the exception oop // target: the entry point of the method that creates and posts the exception oop
// has_argument: true if the exception needs arguments (passed in r22 and r23) // has_argument: true if the exception needs arguments (passed in rscratch1 and rscratch2)
OopMapSet* Runtime1::generate_exception_throw(StubAssembler* sasm, address target, bool has_argument) { OopMapSet* Runtime1::generate_exception_throw(StubAssembler* sasm, address target, bool has_argument) {
// make a frame and preserve the caller's caller-save registers // make a frame and preserve the caller's caller-save registers
@ -332,7 +332,9 @@ OopMapSet* Runtime1::generate_exception_throw(StubAssembler* sasm, address targe
if (!has_argument) { if (!has_argument) {
call_offset = __ call_RT(noreg, noreg, target); call_offset = __ call_RT(noreg, noreg, target);
} else { } else {
call_offset = __ call_RT(noreg, noreg, target, r22, r23); __ mov(c_rarg1, rscratch1);
__ mov(c_rarg2, rscratch2);
call_offset = __ call_RT(noreg, noreg, target);
} }
OopMapSet* oop_maps = new OopMapSet(); OopMapSet* oop_maps = new OopMapSet();
oop_maps->add_gc_map(call_offset, oop_map); oop_maps->add_gc_map(call_offset, oop_map);

View file

@ -29,6 +29,7 @@
#include "gc/g1/c1/g1BarrierSetC1.hpp" #include "gc/g1/c1/g1BarrierSetC1.hpp"
#include "gc/g1/g1BarrierSet.hpp" #include "gc/g1/g1BarrierSet.hpp"
#include "gc/g1/g1BarrierSetAssembler.hpp" #include "gc/g1/g1BarrierSetAssembler.hpp"
#include "gc/g1/g1BarrierSetRuntime.hpp"
#include "gc/g1/g1CardTable.hpp" #include "gc/g1/g1CardTable.hpp"
#include "gc/g1/g1ThreadLocalData.hpp" #include "gc/g1/g1ThreadLocalData.hpp"
#include "gc/g1/heapRegion.hpp" #include "gc/g1/heapRegion.hpp"
@ -60,9 +61,9 @@ void G1BarrierSetAssembler::gen_write_ref_array_pre_barrier(MacroAssembler* masm
__ mov(c_rarg1, count); __ mov(c_rarg1, count);
} }
if (UseCompressedOops) { if (UseCompressedOops) {
__ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSet::write_ref_array_pre_narrow_oop_entry), 2); __ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_array_pre_narrow_oop_entry), 2);
} else { } else {
__ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSet::write_ref_array_pre_oop_entry), 2); __ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_array_pre_oop_entry), 2);
} }
__ pop(saved_regs, sp); __ pop(saved_regs, sp);
} }
@ -78,7 +79,7 @@ void G1BarrierSetAssembler::gen_write_ref_array_post_barrier(MacroAssembler* mas
__ lsr(scratch, scratch, LogBytesPerHeapOop); // convert to element count __ lsr(scratch, scratch, LogBytesPerHeapOop); // convert to element count
__ mov(c_rarg0, start); __ mov(c_rarg0, start);
__ mov(c_rarg1, scratch); __ mov(c_rarg1, scratch);
__ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSet::write_ref_array_post_entry), 2); __ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_array_post_entry), 2);
__ pop(saved_regs, sp); __ pop(saved_regs, sp);
} }
@ -161,9 +162,9 @@ void G1BarrierSetAssembler::g1_write_barrier_pre(MacroAssembler* masm,
if (expand_call) { if (expand_call) {
assert(pre_val != c_rarg1, "smashed arg"); assert(pre_val != c_rarg1, "smashed arg");
__ super_call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::g1_wb_pre), pre_val, thread); __ super_call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_field_pre_entry), pre_val, thread);
} else { } else {
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::g1_wb_pre), pre_val, thread); __ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_field_pre_entry), pre_val, thread);
} }
__ pop(saved, sp); __ pop(saved, sp);
@ -245,7 +246,7 @@ void G1BarrierSetAssembler::g1_write_barrier_post(MacroAssembler* masm,
// save the live input values // save the live input values
RegSet saved = RegSet::of(store_addr, new_val); RegSet saved = RegSet::of(store_addr, new_val);
__ push(saved, sp); __ push(saved, sp);
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::g1_wb_post), card_addr, thread); __ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_field_post_entry), card_addr, thread);
__ pop(saved, sp); __ pop(saved, sp);
__ bind(done); __ bind(done);
@ -398,7 +399,7 @@ void G1BarrierSetAssembler::generate_c1_pre_barrier_runtime_stub(StubAssembler*
__ bind(runtime); __ bind(runtime);
__ push_call_clobbered_registers(); __ push_call_clobbered_registers();
__ load_parameter(0, pre_val); __ load_parameter(0, pre_val);
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::g1_wb_pre), pre_val, thread); __ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_field_pre_entry), pre_val, thread);
__ pop_call_clobbered_registers(); __ pop_call_clobbered_registers();
__ bind(done); __ bind(done);
@ -468,7 +469,7 @@ void G1BarrierSetAssembler::generate_c1_post_barrier_runtime_stub(StubAssembler*
__ bind(runtime); __ bind(runtime);
__ push_call_clobbered_registers(); __ push_call_clobbered_registers();
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::g1_wb_post), card_addr, thread); __ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_field_post_entry), card_addr, thread);
__ pop_call_clobbered_registers(); __ pop_call_clobbered_registers();
__ bind(done); __ bind(done);
__ epilogue(); __ epilogue();

View file

@ -56,6 +56,15 @@ void BarrierSetAssembler::load_at(MacroAssembler* masm, DecoratorSet decorators,
} }
break; break;
} }
case T_BOOLEAN: __ load_unsigned_byte (dst, src); break;
case T_BYTE: __ load_signed_byte (dst, src); break;
case T_CHAR: __ load_unsigned_short(dst, src); break;
case T_SHORT: __ load_signed_short (dst, src); break;
case T_INT: __ ldrw (dst, src); break;
case T_LONG: __ ldr (dst, src); break;
case T_ADDRESS: __ ldr (dst, src); break;
case T_FLOAT: __ ldrs (v0, src); break;
case T_DOUBLE: __ ldrd (v0, src); break;
default: Unimplemented(); default: Unimplemented();
} }
} }
@ -84,6 +93,18 @@ void BarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators
} }
break; break;
} }
case T_BOOLEAN:
__ andw(val, val, 0x1); // boolean is true if LSB is 1
__ strb(val, dst);
break;
case T_BYTE: __ strb(val, dst); break;
case T_CHAR: __ strh(val, dst); break;
case T_SHORT: __ strh(val, dst); break;
case T_INT: __ strw(val, dst); break;
case T_LONG: __ str (val, dst); break;
case T_ADDRESS: __ str (val, dst); break;
case T_FLOAT: __ strs(v0, dst); break;
case T_DOUBLE: __ strd(v0, dst); break;
default: Unimplemented(); default: Unimplemented();
} }
} }

View file

@ -24,6 +24,7 @@
*/ */
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "gc/shared/barrierSet.hpp" #include "gc/shared/barrierSet.hpp"
#include "gc/shared/barrierSetAssembler.hpp" #include "gc/shared/barrierSetAssembler.hpp"
#include "interp_masm_aarch64.hpp" #include "interp_masm_aarch64.hpp"
@ -267,9 +268,6 @@ void InterpreterMacroAssembler::get_method_counters(Register method,
void InterpreterMacroAssembler::load_resolved_reference_at_index( void InterpreterMacroAssembler::load_resolved_reference_at_index(
Register result, Register index, Register tmp) { Register result, Register index, Register tmp) {
assert_different_registers(result, index); assert_different_registers(result, index);
// convert from field index to resolved_references() index and from
// word index to byte offset. Since this is a java object, it can be compressed
lslw(index, index, LogBytesPerHeapOop);
get_constant_pool(result); get_constant_pool(result);
// load pointer for resolved_references[] objArray // load pointer for resolved_references[] objArray
@ -277,8 +275,8 @@ void InterpreterMacroAssembler::load_resolved_reference_at_index(
ldr(result, Address(result, ConstantPoolCache::resolved_references_offset_in_bytes())); ldr(result, Address(result, ConstantPoolCache::resolved_references_offset_in_bytes()));
resolve_oop_handle(result, tmp); resolve_oop_handle(result, tmp);
// Add in the index // Add in the index
add(result, result, index); add(index, index, arrayOopDesc::base_offset_in_bytes(T_OBJECT) >> LogBytesPerHeapOop);
load_heap_oop(result, Address(result, arrayOopDesc::base_offset_in_bytes(T_OBJECT))); load_heap_oop(result, Address(result, index, Address::uxtw(LogBytesPerHeapOop)));
} }
void InterpreterMacroAssembler::load_resolved_klass_at_offset( void InterpreterMacroAssembler::load_resolved_klass_at_offset(

View file

@ -27,7 +27,6 @@
#define CPU_AARCH64_VM_INTERP_MASM_AARCH64_64_HPP #define CPU_AARCH64_VM_INTERP_MASM_AARCH64_64_HPP
#include "asm/macroAssembler.hpp" #include "asm/macroAssembler.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "interpreter/invocationCounter.hpp" #include "interpreter/invocationCounter.hpp"
#include "runtime/frame.hpp" #include "runtime/frame.hpp"

View file

@ -24,6 +24,7 @@
*/ */
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "interpreter/interp_masm.hpp" #include "interpreter/interp_masm.hpp"
#include "interpreter/interpreter.hpp" #include "interpreter/interpreter.hpp"
#include "interpreter/interpreterRuntime.hpp" #include "interpreter/interpreterRuntime.hpp"

View file

@ -37,6 +37,7 @@
#include "compiler/disassembler.hpp" #include "compiler/disassembler.hpp"
#include "memory/resourceArea.hpp" #include "memory/resourceArea.hpp"
#include "nativeInst_aarch64.hpp" #include "nativeInst_aarch64.hpp"
#include "oops/accessDecorators.hpp"
#include "oops/compressedOops.inline.hpp" #include "oops/compressedOops.inline.hpp"
#include "oops/klass.inline.hpp" #include "oops/klass.inline.hpp"
#include "oops/oop.hpp" #include "oops/oop.hpp"
@ -2112,7 +2113,6 @@ void MacroAssembler::verify_heapbase(const char* msg) {
#endif #endif
void MacroAssembler::resolve_jobject(Register value, Register thread, Register tmp) { void MacroAssembler::resolve_jobject(Register value, Register thread, Register tmp) {
BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
Label done, not_weak; Label done, not_weak;
cbz(value, done); // Use NULL as-is. cbz(value, done); // Use NULL as-is.
@ -2120,15 +2120,15 @@ void MacroAssembler::resolve_jobject(Register value, Register thread, Register t
tbz(r0, 0, not_weak); // Test for jweak tag. tbz(r0, 0, not_weak); // Test for jweak tag.
// Resolve jweak. // Resolve jweak.
bs->load_at(this, IN_ROOT | ON_PHANTOM_OOP_REF, T_OBJECT, access_load_at(T_OBJECT, IN_ROOT | ON_PHANTOM_OOP_REF, value,
value, Address(value, -JNIHandles::weak_tag_value), tmp, thread); Address(value, -JNIHandles::weak_tag_value), tmp, thread);
verify_oop(value); verify_oop(value);
b(done); b(done);
bind(not_weak); bind(not_weak);
// Resolve (untagged) jobject. // Resolve (untagged) jobject.
bs->load_at(this, IN_ROOT | IN_CONCURRENT_ROOT, T_OBJECT, access_load_at(T_OBJECT, IN_CONCURRENT_ROOT, value, Address(value, 0), tmp,
value, Address(value, 0), tmp, thread); thread);
verify_oop(value); verify_oop(value);
bind(done); bind(done);
} }
@ -3663,9 +3663,8 @@ void MacroAssembler::load_klass(Register dst, Register src) {
// ((OopHandle)result).resolve(); // ((OopHandle)result).resolve();
void MacroAssembler::resolve_oop_handle(Register result, Register tmp) { void MacroAssembler::resolve_oop_handle(Register result, Register tmp) {
// OopHandle::resolve is an indirection. // OopHandle::resolve is an indirection.
BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler(); access_load_at(T_OBJECT, IN_CONCURRENT_ROOT,
bs->load_at(this, IN_ROOT | IN_CONCURRENT_ROOT, T_OBJECT, result, Address(result, 0), tmp, noreg);
result, Address(result, 0), tmp, rthread);
} }
void MacroAssembler::load_mirror(Register dst, Register method, Register tmp) { void MacroAssembler::load_mirror(Register dst, Register method, Register tmp) {
@ -3983,6 +3982,7 @@ void MacroAssembler::access_load_at(BasicType type, DecoratorSet decorators,
Register dst, Address src, Register dst, Address src,
Register tmp1, Register thread_tmp) { Register tmp1, Register thread_tmp) {
BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler(); BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
decorators = AccessInternal::decorator_fixup(decorators);
bool as_raw = (decorators & AS_RAW) != 0; bool as_raw = (decorators & AS_RAW) != 0;
if (as_raw) { if (as_raw) {
bs->BarrierSetAssembler::load_at(this, decorators, type, dst, src, tmp1, thread_tmp); bs->BarrierSetAssembler::load_at(this, decorators, type, dst, src, tmp1, thread_tmp);
@ -3995,6 +3995,7 @@ void MacroAssembler::access_store_at(BasicType type, DecoratorSet decorators,
Address dst, Register src, Address dst, Register src,
Register tmp1, Register thread_tmp) { Register tmp1, Register thread_tmp) {
BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler(); BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
decorators = AccessInternal::decorator_fixup(decorators);
bool as_raw = (decorators & AS_RAW) != 0; bool as_raw = (decorators & AS_RAW) != 0;
if (as_raw) { if (as_raw) {
bs->BarrierSetAssembler::store_at(this, decorators, type, dst, src, tmp1, thread_tmp); bs->BarrierSetAssembler::store_at(this, decorators, type, dst, src, tmp1, thread_tmp);

View file

@ -1020,7 +1020,7 @@ public:
address trampoline_call(Address entry, CodeBuffer *cbuf = NULL); address trampoline_call(Address entry, CodeBuffer *cbuf = NULL);
static bool far_branches() { static bool far_branches() {
return ReservedCodeCacheSize > branch_range; return ReservedCodeCacheSize > branch_range || UseAOT;
} }
// Jumps that can reach anywhere in the code cache. // Jumps that can reach anywhere in the code cache.

View file

@ -141,7 +141,7 @@ void MethodHandles::jump_to_lambda_form(MacroAssembler* _masm,
__ verify_oop(method_temp); __ verify_oop(method_temp);
__ load_heap_oop(method_temp, Address(method_temp, NONZERO(java_lang_invoke_MemberName::method_offset_in_bytes())), temp2); __ load_heap_oop(method_temp, Address(method_temp, NONZERO(java_lang_invoke_MemberName::method_offset_in_bytes())), temp2);
__ verify_oop(method_temp); __ verify_oop(method_temp);
__ ldr(method_temp, Address(method_temp, NONZERO(java_lang_invoke_ResolvedMethodName::vmtarget_offset_in_bytes()))); __ access_load_at(T_ADDRESS, IN_HEAP, method_temp, Address(method_temp, NONZERO(java_lang_invoke_ResolvedMethodName::vmtarget_offset_in_bytes())), noreg, noreg);
if (VerifyMethodHandles && !for_compiler_entry) { if (VerifyMethodHandles && !for_compiler_entry) {
// make sure recv is already on stack // make sure recv is already on stack
@ -340,7 +340,7 @@ void MethodHandles::generate_method_handle_dispatch(MacroAssembler* _masm,
verify_ref_kind(_masm, JVM_REF_invokeSpecial, member_reg, temp3); verify_ref_kind(_masm, JVM_REF_invokeSpecial, member_reg, temp3);
} }
__ load_heap_oop(rmethod, member_vmtarget); __ load_heap_oop(rmethod, member_vmtarget);
__ ldr(rmethod, vmtarget_method); __ access_load_at(T_ADDRESS, IN_HEAP, rmethod, vmtarget_method, noreg, noreg);
break; break;
case vmIntrinsics::_linkToStatic: case vmIntrinsics::_linkToStatic:
@ -348,7 +348,7 @@ void MethodHandles::generate_method_handle_dispatch(MacroAssembler* _masm,
verify_ref_kind(_masm, JVM_REF_invokeStatic, member_reg, temp3); verify_ref_kind(_masm, JVM_REF_invokeStatic, member_reg, temp3);
} }
__ load_heap_oop(rmethod, member_vmtarget); __ load_heap_oop(rmethod, member_vmtarget);
__ ldr(rmethod, vmtarget_method); __ access_load_at(T_ADDRESS, IN_HEAP, rmethod, vmtarget_method, noreg, noreg);
break; break;
case vmIntrinsics::_linkToVirtual: case vmIntrinsics::_linkToVirtual:
@ -362,7 +362,7 @@ void MethodHandles::generate_method_handle_dispatch(MacroAssembler* _masm,
// pick out the vtable index from the MemberName, and then we can discard it: // pick out the vtable index from the MemberName, and then we can discard it:
Register temp2_index = temp2; Register temp2_index = temp2;
__ ldr(temp2_index, member_vmindex); __ access_load_at(T_ADDRESS, IN_HEAP, temp2_index, member_vmindex, noreg, noreg);
if (VerifyMethodHandles) { if (VerifyMethodHandles) {
Label L_index_ok; Label L_index_ok;
@ -394,7 +394,7 @@ void MethodHandles::generate_method_handle_dispatch(MacroAssembler* _masm,
__ verify_klass_ptr(temp3_intf); __ verify_klass_ptr(temp3_intf);
Register rindex = rmethod; Register rindex = rmethod;
__ ldr(rindex, member_vmindex); __ access_load_at(T_ADDRESS, IN_HEAP, rindex, member_vmindex, noreg, noreg);
if (VerifyMethodHandles) { if (VerifyMethodHandles) {
Label L; Label L;
__ cmpw(rindex, 0U); __ cmpw(rindex, 0U);

View file

@ -234,8 +234,12 @@ class NativeCall: public NativeInstruction {
} }
#if INCLUDE_AOT #if INCLUDE_AOT
// Return true iff a call from instr to target is out of range.
// Used for calls from JIT- to AOT-compiled code.
static bool is_far_call(address instr, address target) { static bool is_far_call(address instr, address target) {
return !Assembler::reachable_from_branch_at(instr, target); // On AArch64 we use trampolines which can reach anywhere in the
// address space, so calls are never out of range.
return false;
} }
#endif #endif

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved. * Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
@ -25,6 +25,7 @@
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/assembler.hpp" #include "asm/assembler.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "asm/register.hpp" #include "asm/register.hpp"
#include "register_aarch64.hpp" #include "register_aarch64.hpp"
# include "interp_masm_aarch64.hpp" # include "interp_masm_aarch64.hpp"

View file

@ -24,7 +24,7 @@
*/ */
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/macroAssembler.hpp" #include "asm/macroAssembler.inline.hpp"
#include "gc/shared/barrierSetAssembler.hpp" #include "gc/shared/barrierSetAssembler.hpp"
#include "interpreter/bytecodeHistogram.hpp" #include "interpreter/bytecodeHistogram.hpp"
#include "interpreter/interpreter.hpp" #include "interpreter/interpreter.hpp"

View file

@ -24,7 +24,7 @@
*/ */
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/macroAssembler.hpp" #include "asm/macroAssembler.inline.hpp"
#include "gc/shared/barrierSetAssembler.hpp" #include "gc/shared/barrierSetAssembler.hpp"
#include "interpreter/interpreter.hpp" #include "interpreter/interpreter.hpp"
#include "interpreter/interpreterRuntime.hpp" #include "interpreter/interpreterRuntime.hpp"
@ -760,8 +760,8 @@ void TemplateTable::iaload()
// r0: array // r0: array
// r1: index // r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1 index_check(r0, r1); // leaves index in r1, kills rscratch1
__ lea(r1, Address(r0, r1, Address::uxtw(2))); __ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_INT) >> 2);
__ ldrw(r0, Address(r1, arrayOopDesc::base_offset_in_bytes(T_INT))); __ access_load_at(T_INT, IN_HEAP | IN_HEAP_ARRAY, r0, Address(r0, r1, Address::uxtw(2)), noreg, noreg);
} }
void TemplateTable::laload() void TemplateTable::laload()
@ -772,8 +772,8 @@ void TemplateTable::laload()
// r0: array // r0: array
// r1: index // r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1 index_check(r0, r1); // leaves index in r1, kills rscratch1
__ lea(r1, Address(r0, r1, Address::uxtw(3))); __ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_LONG) >> 3);
__ ldr(r0, Address(r1, arrayOopDesc::base_offset_in_bytes(T_LONG))); __ access_load_at(T_LONG, IN_HEAP | IN_HEAP_ARRAY, r0, Address(r0, r1, Address::uxtw(3)), noreg, noreg);
} }
void TemplateTable::faload() void TemplateTable::faload()
@ -784,8 +784,8 @@ void TemplateTable::faload()
// r0: array // r0: array
// r1: index // r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1 index_check(r0, r1); // leaves index in r1, kills rscratch1
__ lea(r1, Address(r0, r1, Address::uxtw(2))); __ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_FLOAT) >> 2);
__ ldrs(v0, Address(r1, arrayOopDesc::base_offset_in_bytes(T_FLOAT))); __ access_load_at(T_FLOAT, IN_HEAP | IN_HEAP_ARRAY, r0, Address(r0, r1, Address::uxtw(2)), noreg, noreg);
} }
void TemplateTable::daload() void TemplateTable::daload()
@ -796,8 +796,8 @@ void TemplateTable::daload()
// r0: array // r0: array
// r1: index // r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1 index_check(r0, r1); // leaves index in r1, kills rscratch1
__ lea(r1, Address(r0, r1, Address::uxtw(3))); __ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_DOUBLE) >> 3);
__ ldrd(v0, Address(r1, arrayOopDesc::base_offset_in_bytes(T_DOUBLE))); __ access_load_at(T_DOUBLE, IN_HEAP | IN_HEAP_ARRAY, r0, Address(r0, r1, Address::uxtw(3)), noreg, noreg);
} }
void TemplateTable::aaload() void TemplateTable::aaload()
@ -808,12 +808,11 @@ void TemplateTable::aaload()
// r0: array // r0: array
// r1: index // r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1 index_check(r0, r1); // leaves index in r1, kills rscratch1
int s = (UseCompressedOops ? 2 : 3); __ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_OBJECT) >> LogBytesPerHeapOop);
__ lea(r1, Address(r0, r1, Address::uxtw(s)));
do_oop_load(_masm, do_oop_load(_masm,
Address(r1, arrayOopDesc::base_offset_in_bytes(T_OBJECT)), Address(r0, r1, Address::uxtw(LogBytesPerHeapOop)),
r0, r0,
IN_HEAP | IN_HEAP_ARRAY); IN_HEAP_ARRAY);
} }
void TemplateTable::baload() void TemplateTable::baload()
@ -824,8 +823,8 @@ void TemplateTable::baload()
// r0: array // r0: array
// r1: index // r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1 index_check(r0, r1); // leaves index in r1, kills rscratch1
__ lea(r1, Address(r0, r1, Address::uxtw(0))); __ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_BYTE) >> 0);
__ load_signed_byte(r0, Address(r1, arrayOopDesc::base_offset_in_bytes(T_BYTE))); __ access_load_at(T_BYTE, IN_HEAP | IN_HEAP_ARRAY, r0, Address(r0, r1, Address::uxtw(0)), noreg, noreg);
} }
void TemplateTable::caload() void TemplateTable::caload()
@ -836,8 +835,8 @@ void TemplateTable::caload()
// r0: array // r0: array
// r1: index // r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1 index_check(r0, r1); // leaves index in r1, kills rscratch1
__ lea(r1, Address(r0, r1, Address::uxtw(1))); __ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_CHAR) >> 1);
__ load_unsigned_short(r0, Address(r1, arrayOopDesc::base_offset_in_bytes(T_CHAR))); __ access_load_at(T_CHAR, IN_HEAP | IN_HEAP_ARRAY, r0, Address(r0, r1, Address::uxtw(1)), noreg, noreg);
} }
// iload followed by caload frequent pair // iload followed by caload frequent pair
@ -853,8 +852,8 @@ void TemplateTable::fast_icaload()
// r0: array // r0: array
// r1: index // r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1 index_check(r0, r1); // leaves index in r1, kills rscratch1
__ lea(r1, Address(r0, r1, Address::uxtw(1))); __ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_CHAR) >> 1);
__ load_unsigned_short(r0, Address(r1, arrayOopDesc::base_offset_in_bytes(T_CHAR))); __ access_load_at(T_CHAR, IN_HEAP | IN_HEAP_ARRAY, r0, Address(r0, r1, Address::uxtw(1)), noreg, noreg);
} }
void TemplateTable::saload() void TemplateTable::saload()
@ -865,8 +864,8 @@ void TemplateTable::saload()
// r0: array // r0: array
// r1: index // r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1 index_check(r0, r1); // leaves index in r1, kills rscratch1
__ lea(r1, Address(r0, r1, Address::uxtw(1))); __ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_SHORT) >> 1);
__ load_signed_short(r0, Address(r1, arrayOopDesc::base_offset_in_bytes(T_SHORT))); __ access_load_at(T_SHORT, IN_HEAP | IN_HEAP_ARRAY, r0, Address(r0, r1, Address::uxtw(1)), noreg, noreg);
} }
void TemplateTable::iload(int n) void TemplateTable::iload(int n)
@ -1059,9 +1058,8 @@ void TemplateTable::iastore() {
// r1: index // r1: index
// r3: array // r3: array
index_check(r3, r1); // prefer index in r1 index_check(r3, r1); // prefer index in r1
__ lea(rscratch1, Address(r3, r1, Address::uxtw(2))); __ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_INT) >> 2);
__ strw(r0, Address(rscratch1, __ access_store_at(T_INT, IN_HEAP | IN_HEAP_ARRAY, Address(r3, r1, Address::uxtw(2)), r0, noreg, noreg);
arrayOopDesc::base_offset_in_bytes(T_INT)));
} }
void TemplateTable::lastore() { void TemplateTable::lastore() {
@ -1072,9 +1070,8 @@ void TemplateTable::lastore() {
// r1: index // r1: index
// r3: array // r3: array
index_check(r3, r1); // prefer index in r1 index_check(r3, r1); // prefer index in r1
__ lea(rscratch1, Address(r3, r1, Address::uxtw(3))); __ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_LONG) >> 3);
__ str(r0, Address(rscratch1, __ access_store_at(T_LONG, IN_HEAP | IN_HEAP_ARRAY, Address(r3, r1, Address::uxtw(3)), r0, noreg, noreg);
arrayOopDesc::base_offset_in_bytes(T_LONG)));
} }
void TemplateTable::fastore() { void TemplateTable::fastore() {
@ -1085,9 +1082,8 @@ void TemplateTable::fastore() {
// r1: index // r1: index
// r3: array // r3: array
index_check(r3, r1); // prefer index in r1 index_check(r3, r1); // prefer index in r1
__ lea(rscratch1, Address(r3, r1, Address::uxtw(2))); __ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_FLOAT) >> 2);
__ strs(v0, Address(rscratch1, __ access_store_at(T_FLOAT, IN_HEAP | IN_HEAP_ARRAY, Address(r3, r1, Address::uxtw(2)), noreg /* ftos */, noreg, noreg);
arrayOopDesc::base_offset_in_bytes(T_FLOAT)));
} }
void TemplateTable::dastore() { void TemplateTable::dastore() {
@ -1098,9 +1094,8 @@ void TemplateTable::dastore() {
// r1: index // r1: index
// r3: array // r3: array
index_check(r3, r1); // prefer index in r1 index_check(r3, r1); // prefer index in r1
__ lea(rscratch1, Address(r3, r1, Address::uxtw(3))); __ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_DOUBLE) >> 3);
__ strd(v0, Address(rscratch1, __ access_store_at(T_DOUBLE, IN_HEAP | IN_HEAP_ARRAY, Address(r3, r1, Address::uxtw(3)), noreg /* dtos */, noreg, noreg);
arrayOopDesc::base_offset_in_bytes(T_DOUBLE)));
} }
void TemplateTable::aastore() { void TemplateTable::aastore() {
@ -1111,10 +1106,10 @@ void TemplateTable::aastore() {
__ ldr(r2, at_tos_p1()); // index __ ldr(r2, at_tos_p1()); // index
__ ldr(r3, at_tos_p2()); // array __ ldr(r3, at_tos_p2()); // array
Address element_address(r4, arrayOopDesc::base_offset_in_bytes(T_OBJECT)); Address element_address(r3, r4, Address::uxtw(LogBytesPerHeapOop));
index_check(r3, r2); // kills r1 index_check(r3, r2); // kills r1
__ lea(r4, Address(r3, r2, Address::uxtw(UseCompressedOops? 2 : 3))); __ add(r4, r2, arrayOopDesc::base_offset_in_bytes(T_OBJECT) >> LogBytesPerHeapOop);
// do array store check - check for NULL value first // do array store check - check for NULL value first
__ cbz(r0, is_null); __ cbz(r0, is_null);
@ -1141,7 +1136,7 @@ void TemplateTable::aastore() {
// Get the value we will store // Get the value we will store
__ ldr(r0, at_tos()); __ ldr(r0, at_tos());
// Now store using the appropriate barrier // Now store using the appropriate barrier
do_oop_store(_masm, element_address, r0, IN_HEAP | IN_HEAP_ARRAY); do_oop_store(_masm, element_address, r0, IN_HEAP_ARRAY);
__ b(done); __ b(done);
// Have a NULL in r0, r3=array, r2=index. Store NULL at ary[idx] // Have a NULL in r0, r3=array, r2=index. Store NULL at ary[idx]
@ -1149,7 +1144,7 @@ void TemplateTable::aastore() {
__ profile_null_seen(r2); __ profile_null_seen(r2);
// Store a NULL // Store a NULL
do_oop_store(_masm, element_address, noreg, IN_HEAP | IN_HEAP_ARRAY); do_oop_store(_masm, element_address, noreg, IN_HEAP_ARRAY);
// Pop stack arguments // Pop stack arguments
__ bind(done); __ bind(done);
@ -1176,9 +1171,8 @@ void TemplateTable::bastore()
__ andw(r0, r0, 1); // if it is a T_BOOLEAN array, mask the stored value to 0/1 __ andw(r0, r0, 1); // if it is a T_BOOLEAN array, mask the stored value to 0/1
__ bind(L_skip); __ bind(L_skip);
__ lea(rscratch1, Address(r3, r1, Address::uxtw(0))); __ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_BYTE) >> 0);
__ strb(r0, Address(rscratch1, __ access_store_at(T_BYTE, IN_HEAP | IN_HEAP_ARRAY, Address(r3, r1, Address::uxtw(0)), r0, noreg, noreg);
arrayOopDesc::base_offset_in_bytes(T_BYTE)));
} }
void TemplateTable::castore() void TemplateTable::castore()
@ -1190,9 +1184,8 @@ void TemplateTable::castore()
// r1: index // r1: index
// r3: array // r3: array
index_check(r3, r1); // prefer index in r1 index_check(r3, r1); // prefer index in r1
__ lea(rscratch1, Address(r3, r1, Address::uxtw(1))); __ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_CHAR) >> 1);
__ strh(r0, Address(rscratch1, __ access_store_at(T_CHAR, IN_HEAP | IN_HEAP_ARRAY, Address(r3, r1, Address::uxtw(1)), r0, noreg, noreg);
arrayOopDesc::base_offset_in_bytes(T_CHAR)));
} }
void TemplateTable::sastore() void TemplateTable::sastore()
@ -2513,7 +2506,7 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
if (is_static) rc = may_not_rewrite; if (is_static) rc = may_not_rewrite;
// btos // btos
__ load_signed_byte(r0, field); __ access_load_at(T_BYTE, IN_HEAP, r0, field, noreg, noreg);
__ push(btos); __ push(btos);
// Rewrite bytecode to be faster // Rewrite bytecode to be faster
if (rc == may_rewrite) { if (rc == may_rewrite) {
@ -2526,7 +2519,7 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
__ br(Assembler::NE, notBool); __ br(Assembler::NE, notBool);
// ztos (same code as btos) // ztos (same code as btos)
__ ldrsb(r0, field); __ access_load_at(T_BOOLEAN, IN_HEAP, r0, field, noreg, noreg);
__ push(ztos); __ push(ztos);
// Rewrite bytecode to be faster // Rewrite bytecode to be faster
if (rc == may_rewrite) { if (rc == may_rewrite) {
@ -2550,7 +2543,7 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
__ cmp(flags, itos); __ cmp(flags, itos);
__ br(Assembler::NE, notInt); __ br(Assembler::NE, notInt);
// itos // itos
__ ldrw(r0, field); __ access_load_at(T_INT, IN_HEAP, r0, field, noreg, noreg);
__ push(itos); __ push(itos);
// Rewrite bytecode to be faster // Rewrite bytecode to be faster
if (rc == may_rewrite) { if (rc == may_rewrite) {
@ -2562,7 +2555,7 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
__ cmp(flags, ctos); __ cmp(flags, ctos);
__ br(Assembler::NE, notChar); __ br(Assembler::NE, notChar);
// ctos // ctos
__ load_unsigned_short(r0, field); __ access_load_at(T_CHAR, IN_HEAP, r0, field, noreg, noreg);
__ push(ctos); __ push(ctos);
// Rewrite bytecode to be faster // Rewrite bytecode to be faster
if (rc == may_rewrite) { if (rc == may_rewrite) {
@ -2574,7 +2567,7 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
__ cmp(flags, stos); __ cmp(flags, stos);
__ br(Assembler::NE, notShort); __ br(Assembler::NE, notShort);
// stos // stos
__ load_signed_short(r0, field); __ access_load_at(T_SHORT, IN_HEAP, r0, field, noreg, noreg);
__ push(stos); __ push(stos);
// Rewrite bytecode to be faster // Rewrite bytecode to be faster
if (rc == may_rewrite) { if (rc == may_rewrite) {
@ -2586,7 +2579,7 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
__ cmp(flags, ltos); __ cmp(flags, ltos);
__ br(Assembler::NE, notLong); __ br(Assembler::NE, notLong);
// ltos // ltos
__ ldr(r0, field); __ access_load_at(T_LONG, IN_HEAP, r0, field, noreg, noreg);
__ push(ltos); __ push(ltos);
// Rewrite bytecode to be faster // Rewrite bytecode to be faster
if (rc == may_rewrite) { if (rc == may_rewrite) {
@ -2598,7 +2591,7 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
__ cmp(flags, ftos); __ cmp(flags, ftos);
__ br(Assembler::NE, notFloat); __ br(Assembler::NE, notFloat);
// ftos // ftos
__ ldrs(v0, field); __ access_load_at(T_FLOAT, IN_HEAP, noreg /* ftos */, field, noreg, noreg);
__ push(ftos); __ push(ftos);
// Rewrite bytecode to be faster // Rewrite bytecode to be faster
if (rc == may_rewrite) { if (rc == may_rewrite) {
@ -2612,7 +2605,7 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
__ br(Assembler::NE, notDouble); __ br(Assembler::NE, notDouble);
#endif #endif
// dtos // dtos
__ ldrd(v0, field); __ access_load_at(T_DOUBLE, IN_HEAP, noreg /* ftos */, field, noreg, noreg);
__ push(dtos); __ push(dtos);
// Rewrite bytecode to be faster // Rewrite bytecode to be faster
if (rc == may_rewrite) { if (rc == may_rewrite) {
@ -2750,7 +2743,7 @@ void TemplateTable::putfield_or_static(int byte_no, bool is_static, RewriteContr
{ {
__ pop(btos); __ pop(btos);
if (!is_static) pop_and_check_object(obj); if (!is_static) pop_and_check_object(obj);
__ strb(r0, field); __ access_store_at(T_BYTE, IN_HEAP, field, r0, noreg, noreg);
if (rc == may_rewrite) { if (rc == may_rewrite) {
patch_bytecode(Bytecodes::_fast_bputfield, bc, r1, true, byte_no); patch_bytecode(Bytecodes::_fast_bputfield, bc, r1, true, byte_no);
} }
@ -2765,8 +2758,7 @@ void TemplateTable::putfield_or_static(int byte_no, bool is_static, RewriteContr
{ {
__ pop(ztos); __ pop(ztos);
if (!is_static) pop_and_check_object(obj); if (!is_static) pop_and_check_object(obj);
__ andw(r0, r0, 0x1); __ access_store_at(T_BOOLEAN, IN_HEAP, field, r0, noreg, noreg);
__ strb(r0, field);
if (rc == may_rewrite) { if (rc == may_rewrite) {
patch_bytecode(Bytecodes::_fast_zputfield, bc, r1, true, byte_no); patch_bytecode(Bytecodes::_fast_zputfield, bc, r1, true, byte_no);
} }
@ -2797,7 +2789,7 @@ void TemplateTable::putfield_or_static(int byte_no, bool is_static, RewriteContr
{ {
__ pop(itos); __ pop(itos);
if (!is_static) pop_and_check_object(obj); if (!is_static) pop_and_check_object(obj);
__ strw(r0, field); __ access_store_at(T_INT, IN_HEAP, field, r0, noreg, noreg);
if (rc == may_rewrite) { if (rc == may_rewrite) {
patch_bytecode(Bytecodes::_fast_iputfield, bc, r1, true, byte_no); patch_bytecode(Bytecodes::_fast_iputfield, bc, r1, true, byte_no);
} }
@ -2812,7 +2804,7 @@ void TemplateTable::putfield_or_static(int byte_no, bool is_static, RewriteContr
{ {
__ pop(ctos); __ pop(ctos);
if (!is_static) pop_and_check_object(obj); if (!is_static) pop_and_check_object(obj);
__ strh(r0, field); __ access_store_at(T_CHAR, IN_HEAP, field, r0, noreg, noreg);
if (rc == may_rewrite) { if (rc == may_rewrite) {
patch_bytecode(Bytecodes::_fast_cputfield, bc, r1, true, byte_no); patch_bytecode(Bytecodes::_fast_cputfield, bc, r1, true, byte_no);
} }
@ -2827,7 +2819,7 @@ void TemplateTable::putfield_or_static(int byte_no, bool is_static, RewriteContr
{ {
__ pop(stos); __ pop(stos);
if (!is_static) pop_and_check_object(obj); if (!is_static) pop_and_check_object(obj);
__ strh(r0, field); __ access_store_at(T_SHORT, IN_HEAP, field, r0, noreg, noreg);
if (rc == may_rewrite) { if (rc == may_rewrite) {
patch_bytecode(Bytecodes::_fast_sputfield, bc, r1, true, byte_no); patch_bytecode(Bytecodes::_fast_sputfield, bc, r1, true, byte_no);
} }
@ -2842,7 +2834,7 @@ void TemplateTable::putfield_or_static(int byte_no, bool is_static, RewriteContr
{ {
__ pop(ltos); __ pop(ltos);
if (!is_static) pop_and_check_object(obj); if (!is_static) pop_and_check_object(obj);
__ str(r0, field); __ access_store_at(T_LONG, IN_HEAP, field, r0, noreg, noreg);
if (rc == may_rewrite) { if (rc == may_rewrite) {
patch_bytecode(Bytecodes::_fast_lputfield, bc, r1, true, byte_no); patch_bytecode(Bytecodes::_fast_lputfield, bc, r1, true, byte_no);
} }
@ -2857,7 +2849,7 @@ void TemplateTable::putfield_or_static(int byte_no, bool is_static, RewriteContr
{ {
__ pop(ftos); __ pop(ftos);
if (!is_static) pop_and_check_object(obj); if (!is_static) pop_and_check_object(obj);
__ strs(v0, field); __ access_store_at(T_FLOAT, IN_HEAP, field, noreg /* ftos */, noreg, noreg);
if (rc == may_rewrite) { if (rc == may_rewrite) {
patch_bytecode(Bytecodes::_fast_fputfield, bc, r1, true, byte_no); patch_bytecode(Bytecodes::_fast_fputfield, bc, r1, true, byte_no);
} }
@ -2874,7 +2866,7 @@ void TemplateTable::putfield_or_static(int byte_no, bool is_static, RewriteContr
{ {
__ pop(dtos); __ pop(dtos);
if (!is_static) pop_and_check_object(obj); if (!is_static) pop_and_check_object(obj);
__ strd(v0, field); __ access_store_at(T_DOUBLE, IN_HEAP, field, noreg /* dtos */, noreg, noreg);
if (rc == may_rewrite) { if (rc == may_rewrite) {
patch_bytecode(Bytecodes::_fast_dputfield, bc, r1, true, byte_no); patch_bytecode(Bytecodes::_fast_dputfield, bc, r1, true, byte_no);
} }
@ -3005,27 +2997,28 @@ void TemplateTable::fast_storefield(TosState state)
do_oop_store(_masm, field, r0, IN_HEAP); do_oop_store(_masm, field, r0, IN_HEAP);
break; break;
case Bytecodes::_fast_lputfield: case Bytecodes::_fast_lputfield:
__ str(r0, field); __ access_store_at(T_LONG, IN_HEAP, field, r0, noreg, noreg);
break; break;
case Bytecodes::_fast_iputfield: case Bytecodes::_fast_iputfield:
__ strw(r0, field); __ access_store_at(T_INT, IN_HEAP, field, r0, noreg, noreg);
break; break;
case Bytecodes::_fast_zputfield: case Bytecodes::_fast_zputfield:
__ andw(r0, r0, 0x1); // boolean is true if LSB is 1 __ access_store_at(T_BOOLEAN, IN_HEAP, field, r0, noreg, noreg);
// fall through to bputfield break;
case Bytecodes::_fast_bputfield: case Bytecodes::_fast_bputfield:
__ strb(r0, field); __ access_store_at(T_BYTE, IN_HEAP, field, r0, noreg, noreg);
break; break;
case Bytecodes::_fast_sputfield: case Bytecodes::_fast_sputfield:
// fall through __ access_store_at(T_SHORT, IN_HEAP, field, r0, noreg, noreg);
break;
case Bytecodes::_fast_cputfield: case Bytecodes::_fast_cputfield:
__ strh(r0, field); __ access_store_at(T_CHAR, IN_HEAP, field, r0, noreg, noreg);
break; break;
case Bytecodes::_fast_fputfield: case Bytecodes::_fast_fputfield:
__ strs(v0, field); __ access_store_at(T_FLOAT, IN_HEAP, field, noreg /* ftos */, noreg, noreg);
break; break;
case Bytecodes::_fast_dputfield: case Bytecodes::_fast_dputfield:
__ strd(v0, field); __ access_store_at(T_DOUBLE, IN_HEAP, field, noreg /* dtos */, noreg, noreg);
break; break;
default: default:
ShouldNotReachHere(); ShouldNotReachHere();
@ -3098,25 +3091,25 @@ void TemplateTable::fast_accessfield(TosState state)
__ verify_oop(r0); __ verify_oop(r0);
break; break;
case Bytecodes::_fast_lgetfield: case Bytecodes::_fast_lgetfield:
__ ldr(r0, field); __ access_load_at(T_LONG, IN_HEAP, r0, field, noreg, noreg);
break; break;
case Bytecodes::_fast_igetfield: case Bytecodes::_fast_igetfield:
__ ldrw(r0, field); __ access_load_at(T_INT, IN_HEAP, r0, field, noreg, noreg);
break; break;
case Bytecodes::_fast_bgetfield: case Bytecodes::_fast_bgetfield:
__ load_signed_byte(r0, field); __ access_load_at(T_BYTE, IN_HEAP, r0, field, noreg, noreg);
break; break;
case Bytecodes::_fast_sgetfield: case Bytecodes::_fast_sgetfield:
__ load_signed_short(r0, field); __ access_load_at(T_SHORT, IN_HEAP, r0, field, noreg, noreg);
break; break;
case Bytecodes::_fast_cgetfield: case Bytecodes::_fast_cgetfield:
__ load_unsigned_short(r0, field); __ access_load_at(T_CHAR, IN_HEAP, r0, field, noreg, noreg);
break; break;
case Bytecodes::_fast_fgetfield: case Bytecodes::_fast_fgetfield:
__ ldrs(v0, field); __ access_load_at(T_FLOAT, IN_HEAP, noreg /* ftos */, field, noreg, noreg);
break; break;
case Bytecodes::_fast_dgetfield: case Bytecodes::_fast_dgetfield:
__ ldrd(v0, field); __ access_load_at(T_DOUBLE, IN_HEAP, noreg /* dtos */, field, noreg, noreg);
break; break;
default: default:
ShouldNotReachHere(); ShouldNotReachHere();
@ -3161,14 +3154,14 @@ void TemplateTable::fast_xaccess(TosState state)
__ null_check(r0); __ null_check(r0);
switch (state) { switch (state) {
case itos: case itos:
__ ldrw(r0, Address(r0, r1, Address::lsl(0))); __ access_load_at(T_INT, IN_HEAP, r0, Address(r0, r1, Address::lsl(0)), noreg, noreg);
break; break;
case atos: case atos:
do_oop_load(_masm, Address(r0, r1, Address::lsl(0)), r0, IN_HEAP); do_oop_load(_masm, Address(r0, r1, Address::lsl(0)), r0, IN_HEAP);
__ verify_oop(r0); __ verify_oop(r0);
break; break;
case ftos: case ftos:
__ ldrs(v0, Address(r0, r1, Address::lsl(0))); __ access_load_at(T_FLOAT, IN_HEAP, noreg /* ftos */, Address(r0, r1, Address::lsl(0)), noreg, noreg);
break; break;
default: default:
ShouldNotReachHere(); ShouldNotReachHere();

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved. * Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
@ -24,7 +24,7 @@
*/ */
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/macroAssembler.hpp" #include "asm/macroAssembler.inline.hpp"
#include "assembler_aarch64.inline.hpp" #include "assembler_aarch64.inline.hpp"
#include "code/vtableStubs.hpp" #include "code/vtableStubs.hpp"
#include "interp_masm_aarch64.hpp" #include "interp_masm_aarch64.hpp"

View file

@ -23,7 +23,7 @@
*/ */
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/macroAssembler.hpp" #include "asm/macroAssembler.inline.hpp"
#include "c1/c1_CodeStubs.hpp" #include "c1/c1_CodeStubs.hpp"
#include "c1/c1_FrameMap.hpp" #include "c1/c1_FrameMap.hpp"
#include "c1/c1_LIRAssembler.hpp" #include "c1/c1_LIRAssembler.hpp"

View file

@ -23,6 +23,7 @@
*/ */
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "c1/c1_Compilation.hpp" #include "c1/c1_Compilation.hpp"
#include "c1/c1_LIRAssembler.hpp" #include "c1/c1_LIRAssembler.hpp"
#include "c1/c1_MacroAssembler.hpp" #include "c1/c1_MacroAssembler.hpp"

View file

@ -23,6 +23,7 @@
*/ */
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "c1/c1_Compilation.hpp" #include "c1/c1_Compilation.hpp"
#include "c1/c1_FrameMap.hpp" #include "c1/c1_FrameMap.hpp"
#include "c1/c1_Instruction.hpp" #include "c1/c1_Instruction.hpp"

View file

@ -23,7 +23,7 @@
*/ */
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/macroAssembler.hpp" #include "asm/macroAssembler.inline.hpp"
#include "c1/c1_Defs.hpp" #include "c1/c1_Defs.hpp"
#include "c1/c1_LIRAssembler.hpp" #include "c1/c1_LIRAssembler.hpp"
#include "c1/c1_MacroAssembler.hpp" #include "c1/c1_MacroAssembler.hpp"

View file

@ -26,6 +26,7 @@
#include "asm/macroAssembler.inline.hpp" #include "asm/macroAssembler.inline.hpp"
#include "gc/g1/g1BarrierSet.hpp" #include "gc/g1/g1BarrierSet.hpp"
#include "gc/g1/g1BarrierSetAssembler.hpp" #include "gc/g1/g1BarrierSetAssembler.hpp"
#include "gc/g1/g1BarrierSetRuntime.hpp"
#include "gc/g1/g1ThreadLocalData.hpp" #include "gc/g1/g1ThreadLocalData.hpp"
#include "gc/g1/g1CardTable.hpp" #include "gc/g1/g1CardTable.hpp"
#include "gc/g1/g1ThreadLocalData.hpp" #include "gc/g1/g1ThreadLocalData.hpp"
@ -74,7 +75,7 @@ void G1BarrierSetAssembler::gen_write_ref_array_pre_barrier(MacroAssembler* masm
__ mov(R0, addr); __ mov(R0, addr);
} }
#ifdef AARCH64 #ifdef AARCH64
__ zero_extend(R1, count, 32); // G1BarrierSet::write_ref_array_pre_*_entry takes size_t __ zero_extend(R1, count, 32); // G1BarrierSetRuntime::write_ref_array_pre_*_entry takes size_t
#else #else
if (count != R1) { if (count != R1) {
__ mov(R1, count); __ mov(R1, count);
@ -82,9 +83,9 @@ void G1BarrierSetAssembler::gen_write_ref_array_pre_barrier(MacroAssembler* masm
#endif // AARCH64 #endif // AARCH64
if (UseCompressedOops) { if (UseCompressedOops) {
__ call(CAST_FROM_FN_PTR(address, G1BarrierSet::write_ref_array_pre_narrow_oop_entry)); __ call(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_array_pre_narrow_oop_entry));
} else { } else {
__ call(CAST_FROM_FN_PTR(address, G1BarrierSet::write_ref_array_pre_oop_entry)); __ call(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_array_pre_oop_entry));
} }
#ifdef AARCH64 #ifdef AARCH64
@ -106,7 +107,7 @@ void G1BarrierSetAssembler::gen_write_ref_array_post_barrier(MacroAssembler* mas
__ mov(R0, addr); __ mov(R0, addr);
} }
#ifdef AARCH64 #ifdef AARCH64
__ zero_extend(R1, count, 32); // G1BarrierSet::write_ref_array_post_entry takes size_t __ zero_extend(R1, count, 32); // G1BarrierSetRuntime::write_ref_array_post_entry takes size_t
#else #else
if (count != R1) { if (count != R1) {
__ mov(R1, count); __ mov(R1, count);
@ -120,7 +121,7 @@ void G1BarrierSetAssembler::gen_write_ref_array_post_barrier(MacroAssembler* mas
__ push(R9); __ push(R9);
#endif // !R9_IS_SCRATCHED #endif // !R9_IS_SCRATCHED
#endif // !AARCH64 #endif // !AARCH64
__ call(CAST_FROM_FN_PTR(address, G1BarrierSet::write_ref_array_post_entry)); __ call(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_array_post_entry));
#ifndef AARCH64 #ifndef AARCH64
#if R9_IS_SCRATCHED #if R9_IS_SCRATCHED
__ pop(R9); __ pop(R9);
@ -205,7 +206,7 @@ void G1BarrierSetAssembler::g1_write_barrier_pre(MacroAssembler* masm,
} }
__ mov(R1, Rthread); __ mov(R1, Rthread);
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::g1_wb_pre), R0, R1); __ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_field_pre_entry), R0, R1);
#ifdef AARCH64 #ifdef AARCH64
if (store_addr != noreg) { if (store_addr != noreg) {
@ -296,7 +297,7 @@ void G1BarrierSetAssembler::g1_write_barrier_post(MacroAssembler* masm,
__ mov(R0, card_addr); __ mov(R0, card_addr);
} }
__ mov(R1, Rthread); __ mov(R1, Rthread);
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::g1_wb_post), R0, R1); __ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_field_post_entry), R0, R1);
__ bind(done); __ bind(done);
} }
@ -467,7 +468,7 @@ void G1BarrierSetAssembler::generate_c1_pre_barrier_runtime_stub(StubAssembler*
assert(r_pre_val_0 == c_rarg0, "pre_val should be in R0"); assert(r_pre_val_0 == c_rarg0, "pre_val should be in R0");
__ mov(c_rarg1, Rthread); __ mov(c_rarg1, Rthread);
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::g1_wb_pre), c_rarg0, c_rarg1); __ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_field_pre_entry), c_rarg0, c_rarg1);
__ restore_live_registers_without_return(); __ restore_live_registers_without_return();
@ -574,7 +575,7 @@ void G1BarrierSetAssembler::generate_c1_post_barrier_runtime_stub(StubAssembler*
assert(r_card_addr_0 == c_rarg0, "card_addr should be in R0"); assert(r_card_addr_0 == c_rarg0, "card_addr should be in R0");
__ mov(c_rarg1, Rthread); __ mov(c_rarg1, Rthread);
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::g1_wb_post), c_rarg0, c_rarg1); __ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_field_post_entry), c_rarg0, c_rarg1);
__ restore_live_registers_without_return(); __ restore_live_registers_without_return();

View file

@ -24,6 +24,7 @@
#include "precompiled.hpp" #include "precompiled.hpp"
#include "jvm.h" #include "jvm.h"
#include "asm/macroAssembler.inline.hpp"
#include "gc/shared/barrierSet.hpp" #include "gc/shared/barrierSet.hpp"
#include "gc/shared/cardTable.hpp" #include "gc/shared/cardTable.hpp"
#include "gc/shared/cardTableBarrierSet.inline.hpp" #include "gc/shared/cardTableBarrierSet.inline.hpp"

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -26,7 +26,6 @@
#define CPU_ARM_VM_INTERP_MASM_ARM_HPP #define CPU_ARM_VM_INTERP_MASM_ARM_HPP
#include "asm/macroAssembler.hpp" #include "asm/macroAssembler.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "interpreter/invocationCounter.hpp" #include "interpreter/invocationCounter.hpp"
#include "runtime/frame.hpp" #include "runtime/frame.hpp"
#include "prims/jvmtiExport.hpp" #include "prims/jvmtiExport.hpp"

View file

@ -23,6 +23,7 @@
*/ */
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "interpreter/interp_masm.hpp" #include "interpreter/interp_masm.hpp"
#include "interpreter/interpreter.hpp" #include "interpreter/interpreter.hpp"
#include "interpreter/interpreterRuntime.hpp" #include "interpreter/interpreterRuntime.hpp"

View file

@ -36,6 +36,7 @@
#include "gc/shared/collectedHeap.inline.hpp" #include "gc/shared/collectedHeap.inline.hpp"
#include "interpreter/interpreter.hpp" #include "interpreter/interpreter.hpp"
#include "memory/resourceArea.hpp" #include "memory/resourceArea.hpp"
#include "oops/accessDecorators.hpp"
#include "oops/klass.inline.hpp" #include "oops/klass.inline.hpp"
#include "prims/methodHandles.hpp" #include "prims/methodHandles.hpp"
#include "runtime/biasedLocking.hpp" #include "runtime/biasedLocking.hpp"
@ -1366,9 +1367,12 @@ void MacroAssembler::incr_allocated_bytes(RegisterOrConstant size_in_bytes, Regi
// Bump total bytes allocated by this thread // Bump total bytes allocated by this thread
Label done; Label done;
ldr(tmp, Address(Rthread, in_bytes(JavaThread::allocated_bytes_offset()))); // Borrow the Rthread for alloc counter
Register Ralloc = Rthread;
add(Ralloc, Ralloc, in_bytes(JavaThread::allocated_bytes_offset()));
ldr(tmp, Address(Ralloc));
adds(tmp, tmp, size_in_bytes); adds(tmp, tmp, size_in_bytes);
str(tmp, Address(Rthread, in_bytes(JavaThread::allocated_bytes_offset())), cc); str(tmp, Address(Ralloc), cc);
b(done, cc); b(done, cc);
// Increment the high word and store single-copy atomically (that is an unlikely scenario on typical embedded systems as it means >4GB has been allocated) // Increment the high word and store single-copy atomically (that is an unlikely scenario on typical embedded systems as it means >4GB has been allocated)
@ -1386,14 +1390,17 @@ void MacroAssembler::incr_allocated_bytes(RegisterOrConstant size_in_bytes, Regi
} }
push(RegisterSet(low, high)); push(RegisterSet(low, high));
ldrd(low, Address(Rthread, in_bytes(JavaThread::allocated_bytes_offset()))); ldrd(low, Address(Ralloc));
adds(low, low, size_in_bytes); adds(low, low, size_in_bytes);
adc(high, high, 0); adc(high, high, 0);
strd(low, Address(Rthread, in_bytes(JavaThread::allocated_bytes_offset()))); strd(low, Address(Ralloc));
pop(RegisterSet(low, high)); pop(RegisterSet(low, high));
bind(done); bind(done);
// Unborrow the Rthread
sub(Rthread, Ralloc, in_bytes(JavaThread::allocated_bytes_offset()));
#endif // AARCH64 #endif // AARCH64
} }
@ -2133,7 +2140,7 @@ void MacroAssembler::resolve_jobject(Register value,
b(done); b(done);
bind(not_weak); bind(not_weak);
// Resolve (untagged) jobject. // Resolve (untagged) jobject.
access_load_at(T_OBJECT, IN_ROOT | IN_CONCURRENT_ROOT, access_load_at(T_OBJECT, IN_CONCURRENT_ROOT,
Address(value, 0), value, tmp1, tmp2, noreg); Address(value, 0), value, tmp1, tmp2, noreg);
verify_oop(value); verify_oop(value);
bind(done); bind(done);
@ -2700,6 +2707,7 @@ void MacroAssembler::store_heap_oop_null(Address obj, Register new_val, Register
void MacroAssembler::access_load_at(BasicType type, DecoratorSet decorators, void MacroAssembler::access_load_at(BasicType type, DecoratorSet decorators,
Address src, Register dst, Register tmp1, Register tmp2, Register tmp3) { Address src, Register dst, Register tmp1, Register tmp2, Register tmp3) {
BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler(); BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
decorators = AccessInternal::decorator_fixup(decorators);
bool as_raw = (decorators & AS_RAW) != 0; bool as_raw = (decorators & AS_RAW) != 0;
if (as_raw) { if (as_raw) {
bs->BarrierSetAssembler::load_at(this, decorators, type, dst, src, tmp1, tmp2, tmp3); bs->BarrierSetAssembler::load_at(this, decorators, type, dst, src, tmp1, tmp2, tmp3);
@ -2711,6 +2719,7 @@ void MacroAssembler::access_load_at(BasicType type, DecoratorSet decorators,
void MacroAssembler::access_store_at(BasicType type, DecoratorSet decorators, void MacroAssembler::access_store_at(BasicType type, DecoratorSet decorators,
Address obj, Register new_val, Register tmp1, Register tmp2, Register tmp3, bool is_null) { Address obj, Register new_val, Register tmp1, Register tmp2, Register tmp3, bool is_null) {
BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler(); BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
decorators = AccessInternal::decorator_fixup(decorators);
bool as_raw = (decorators & AS_RAW) != 0; bool as_raw = (decorators & AS_RAW) != 0;
if (as_raw) { if (as_raw) {
bs->BarrierSetAssembler::store_at(this, decorators, type, obj, new_val, tmp1, tmp2, tmp3, is_null); bs->BarrierSetAssembler::store_at(this, decorators, type, obj, new_val, tmp1, tmp2, tmp3, is_null);

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -29,7 +29,7 @@
#include "nativeInst_arm.hpp" #include "nativeInst_arm.hpp"
#include "oops/compressedOops.inline.hpp" #include "oops/compressedOops.inline.hpp"
#include "oops/oop.hpp" #include "oops/oop.hpp"
#include "runtime/orderAccess.inline.hpp" #include "runtime/orderAccess.hpp"
#include "runtime/safepoint.hpp" #include "runtime/safepoint.hpp"
void Relocation::pd_set_data_value(address x, intptr_t o, bool verify_only) { void Relocation::pd_set_data_value(address x, intptr_t o, bool verify_only) {

View file

@ -24,6 +24,7 @@
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/assembler.hpp" #include "asm/assembler.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "interpreter/bytecodeHistogram.hpp" #include "interpreter/bytecodeHistogram.hpp"
#include "interpreter/interp_masm.hpp" #include "interpreter/interp_masm.hpp"
#include "interpreter/interpreter.hpp" #include "interpreter/interpreter.hpp"

View file

@ -23,7 +23,7 @@
*/ */
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/macroAssembler.hpp" #include "asm/macroAssembler.inline.hpp"
#include "gc/shared/barrierSetAssembler.hpp" #include "gc/shared/barrierSetAssembler.hpp"
#include "interpreter/interp_masm.hpp" #include "interpreter/interp_masm.hpp"
#include "interpreter/interpreter.hpp" #include "interpreter/interpreter.hpp"

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -24,6 +24,7 @@
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/assembler.hpp" #include "asm/assembler.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "assembler_arm.inline.hpp" #include "assembler_arm.inline.hpp"
#include "code/vtableStubs.hpp" #include "code/vtableStubs.hpp"
#include "interp_masm_arm.hpp" #include "interp_masm_arm.hpp"

View file

@ -486,7 +486,7 @@ int Assembler::add_const_optimized(Register d, Register s, long x, Register tmp,
// Case 2: Can use addis. // Case 2: Can use addis.
if (xd == 0) { if (xd == 0) {
short xc = rem & 0xFFFF; // 2nd 16-bit chunk. short xc = rem & 0xFFFF; // 2nd 16-bit chunk.
rem = (rem >> 16) + ((unsigned short)xd >> 15); rem = (rem >> 16) + ((unsigned short)xc >> 15);
if (rem == 0) { if (rem == 0) {
addis(d, s, xc); addis(d, s, xc);
return 0; return 0;

View file

@ -24,6 +24,7 @@
*/ */
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "c1/c1_CodeStubs.hpp" #include "c1/c1_CodeStubs.hpp"
#include "c1/c1_FrameMap.hpp" #include "c1/c1_FrameMap.hpp"
#include "c1/c1_LIRAssembler.hpp" #include "c1/c1_LIRAssembler.hpp"

View file

@ -24,6 +24,7 @@
*/ */
#include "precompiled.hpp" #include "precompiled.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "c1/c1_Compilation.hpp" #include "c1/c1_Compilation.hpp"
#include "c1/c1_LIRAssembler.hpp" #include "c1/c1_LIRAssembler.hpp"
#include "c1/c1_MacroAssembler.hpp" #include "c1/c1_MacroAssembler.hpp"

Some files were not shown because too many files have changed in this diff Show more