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
.hgtags
doc
make
src

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

@ -505,7 +505,7 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<ul>
<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>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>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>
@ -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>
<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>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>
<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>

@ -747,7 +747,7 @@ Apart from the default target, here are some common make targets:
* `hotspot` - Build all of hotspot (but only hotspot)
* `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
* `test-image` - Build the test image
* `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
`build/linux-arm-normal-server-release`.
Inside this build output directory, the `images/jdk` and `images/jre` will
contain the newly built JDK and JRE, respectively, for your *target* system.
Inside this build output directory, the `images/jdk` will contain the newly
built JDK, for your *target* system.
Copy these folders to your *target* system. Then you can run e.g.
`images/jdk/bin/java -version`.

@ -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

@ -146,19 +146,13 @@ endef
# correct base directories.
ifeq ($(OPENJDK_TARGET_OS)-$(DEBUG_LEVEL), macosx-release)
JDK_IMAGE_DIR := $(JDK_MACOSX_BUNDLE_DIR)
JRE_IMAGE_DIR := $(JRE_MACOSX_BUNDLE_DIR)
JDK_IMAGE_HOMEDIR := $(JDK_MACOSX_CONTENTS_DIR)/Home
JRE_IMAGE_HOMEDIR := $(JRE_MACOSX_CONTENTS_DIR)/Home
JDK_BUNDLE_SUBDIR :=
JRE_BUNDLE_SUBDIR :=
else
JDK_IMAGE_HOMEDIR := $(JDK_IMAGE_DIR)
JRE_IMAGE_HOMEDIR := $(JRE_IMAGE_DIR)
JDK_BUNDLE_SUBDIR := jdk-$(VERSION_NUMBER)
JRE_BUNDLE_SUBDIR := jre-$(VERSION_NUMBER)
ifneq ($(DEBUG_LEVEL), release)
JDK_BUNDLE_SUBDIR := $(JDK_BUNDLE_SUBDIR)/$(DEBUG_LEVEL)
JRE_BUNDLE_SUBDIR := $(JRE_BUNDLE_SUBDIR)/$(DEBUG_LEVEL)
endif
endif
@ -204,26 +198,6 @@ ifneq ($(filter product-bundles, $(MAKECMDGOALS)), )
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, \
BUNDLE_NAME := $(JDK_BUNDLE_NAME), \
FILES := $(JDK_BUNDLE_FILES), \
@ -234,15 +208,6 @@ ifneq ($(filter product-bundles, $(MAKECMDGOALS)), )
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, \
BUNDLE_NAME := $(JDK_SYMBOLS_BUNDLE_NAME), \
FILES := $(JDK_SYMBOLS_BUNDLE_FILES), \
@ -253,16 +218,6 @@ ifneq ($(filter product-bundles, $(MAKECMDGOALS)), )
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
# 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.

@ -325,6 +325,10 @@ jdk.internal.le_COPY += .properties
################################################################################
jdk.internal.opt_COPY += .properties
################################################################################
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
################################################################################
@ -440,11 +448,13 @@ jdk.internal.vm.compiler_ADD_JAVAC_FLAGS += -parameters -XDstringConcat=inline \
jdk.internal.vm.compiler_EXCLUDES += \
jdk.internal.vm.compiler.collections.test \
org.graalvm.compiler.processor \
org.graalvm.compiler.core.match.processor \
org.graalvm.compiler.nodeinfo.processor \
org.graalvm.compiler.options.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.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))
################################################################################

@ -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)

@ -47,34 +47,8 @@ ifeq ($(INCLUDE_GRAAL), true)
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_MATCH_PROCESSOR, \
SETUP := GENERATE_OLDBYTECODE, \
SRC := \
$(SRC_DIR)/jdk.internal.vm.compiler.word/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.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), \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.match.processor, \
@ -88,7 +62,7 @@ ifeq ($(INCLUDE_GRAAL), true)
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_NODEINFO_PROCESSOR, \
SETUP := GENERATE_OLDBYTECODE, \
SRC := \
$(SRC_DIR)/org.graalvm.compiler.nodeinfo/src \
$(SRC_DIR)/org.graalvm.compiler.processor/src \
$(SRC_DIR)/org.graalvm.compiler.nodeinfo.processor/src \
, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.nodeinfo.processor, \
@ -102,10 +76,8 @@ ifeq ($(INCLUDE_GRAAL), true)
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_OPTIONS_PROCESSOR, \
SETUP := GENERATE_OLDBYTECODE, \
SRC := \
$(SRC_DIR)/jdk.internal.vm.compiler.collections/src \
$(SRC_DIR)/org.graalvm.compiler.options/src \
$(SRC_DIR)/org.graalvm.compiler.processor/src \
$(SRC_DIR)/org.graalvm.compiler.options.processor/src \
$(SRC_DIR)/org.graalvm.util/src \
, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.options.processor, \
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, \
SRC := \
$(SRC_DIR)/jdk.internal.vm.compiler.word/src \
$(SRC_DIR)/jdk.internal.vm.compiler.collections/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 \
$(SRC_DIR)/org.graalvm.compiler.processor/src \
$(SRC_DIR)/org.graalvm.compiler.replacements.processor/src \
, \
EXCLUDE_FILES := $(EXCLUDE_FILES), \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.replacements.verifier, \
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, \
SETUP := GENERATE_OLDBYTECODE, \
SRC := \
$(SRC_DIR)/org.graalvm.compiler.serviceprovider/src \
$(SRC_DIR)/org.graalvm.compiler.processor/src \
$(SRC_DIR)/org.graalvm.compiler.serviceprovider.processor/src \
$(VM_CI_SRC_DIR)/jdk.vm.ci.services/src \
, \
EXCLUDE_FILES := $(EXCLUDE_FILES), \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.serviceprovider.processor, \

@ -40,10 +40,10 @@ help:
$(info $(_) # image (alias for jdk or exploded-image))
$(info $(_) make all # Create all images: product, test, docs)
$(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 $(_) 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 $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic))
$(info $(_) make *-only # Applies to most targets and disables building the)

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

@ -34,6 +34,9 @@ _INITSUPPORT_GMK := 1
ifeq ($(HAS_SPEC),)
# COMMA is defined in spec.gmk, but that is not included yet
COMMA := ,
# Include the corresponding closed file, if present.
ifneq ($(CUSTOM_MAKE_DIR), )
-include $(CUSTOM_MAKE_DIR)/InitSupport.gmk
@ -531,8 +534,6 @@ endif # HAS_SPEC
define ParseLogOption
ifneq ($$(findstring $1, $$(LOG)),)
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>"
LOG_STRIPPED := $$(subst $1,, $$(subst $$(COMMA)$$(strip $1),, $$(LOG)))
# 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
value := $$(strip $$(subst $$(strip $1)=,, $$(filter $$(strip $1)=%, $$(subst $$(COMMA), , $$(LOG)))))
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>"
LOG_STRIPPED := $$(subst $$(strip $1)=$$(value),, \
$$(subst $$(COMMA)$$(strip $1)=$$(value),, $$(LOG)))

@ -98,13 +98,10 @@ ALL_TARGETS += buildtools-langtools interim-langtools \
################################################################################
# Special targets for certain modules
unpack-sec:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f UnpackSecurity.gmk)
generate-exported-symbols:
+($(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
@ -189,7 +186,7 @@ $(foreach m, $(IMPORT_COPY_MODULES), $(eval $(call DeclareImportCopyRecipe,$m)))
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_TARGETS := $(addsuffix -java, $(JAVA_MODULES))
@ -199,14 +196,7 @@ define DeclareCompileJavaRecipe
-f CompileJavaModules.gmk MODULE=$1)
endef
$(foreach m, $(filter-out jdk.scripting.nashorn, $(JAVA_MODULES)), \
$(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)
$(foreach m, $(JAVA_MODULES), $(eval $(call DeclareCompileJavaRecipe,$m)))
ALL_TARGETS += $(JAVA_TARGETS)
@ -338,14 +328,17 @@ jrtfs-jar:
jdk-image:
+($(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)
symbols-image:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk symbols)
mac-bundles-jdk:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f MacBundles.gmk)
mac-jdk-bundle:
+($(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:
+($(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)
ALL_TARGETS += store-source-revision create-source-revision-tracker bootcycle-images zip-security \
zip-source jrtfs-jar jdk-image jre-image \
symbols-image mac-bundles-jdk \
zip-source jrtfs-jar jdk-image legacy-jre-image \
symbols-image mac-jdk-bundle mac-legacy-jre-bundle \
release-file exploded-image-optimize
################################################################################
@ -700,9 +693,6 @@ else
# file to be processed by the gensrc-moduleinfo target.
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
# The ct.sym generation uses all the moduleinfos as input
@ -789,16 +779,17 @@ else
generate-link-opt-data: buildtools-jdk
# 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
release-file: create-source-revision-tracker
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)
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
# 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
docs-javadoc: docs-jdk-api
mac-bundles: mac-bundles-jdk
mac-bundles: mac-jdk-bundle
# The $(OUTPUTDIR)/images directory contain the resulting deliverables,
# 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)
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
# an image until this can be cleaned up properly.
@ -993,7 +984,7 @@ ifneq ($(CREATE_BUILDJDK), true)
endif
ifeq ($(OPENJDK_TARGET_OS), macosx)
product-images: mac-bundles
product-images: mac-jdk-bundle
endif
# This target builds the documentation image

@ -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

@ -86,6 +86,17 @@ if [ "x$OUT" = x ]; then
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
echo $OUT | grep i386-apple-darwin > /dev/null 2> /dev/null
if test $? = 0; then

@ -25,7 +25,7 @@
# All valid JVM features, regardless of platform
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"
# Deprecated JVM features (these are ignored, but with a warning)
@ -328,6 +328,19 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
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
if test "x$INCLUDE_DTRACE" = "xtrue"; then
JVM_FEATURES="$JVM_FEATURES dtrace"
@ -410,7 +423,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
fi
# 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
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cds"
fi

@ -858,18 +858,19 @@ ifeq ($(DEBUG_LEVEL), fastdebug)
else ifneq ($(DEBUG_LEVEL), release)
DEBUG_PART := -$(DEBUG_LEVEL)
endif
JDK_BUNDLE_NAME := jdk-$(BASE_NAME)_bin$(DEBUG_PART).tar.gz
JRE_BUNDLE_NAME := jre-$(BASE_NAME)_bin$(DEBUG_PART).tar.gz
ifeq ($(OPENJDK_TARGET_OS), windows)
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
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_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-tests$(DEBUG_PART).tar.gz
DOCS_BUNDLE_NAME := jdk-$(BASE_NAME)_doc-api-spec$(DEBUG_PART).tar.gz
JDK_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JDK_BUNDLE_NAME)
JRE_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JRE_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_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(TEST_BUNDLE_NAME)
DOCS_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(DOCS_BUNDLE_NAME)

@ -32,6 +32,36 @@ endif
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
# for the OpenJDK project.
#
@ -39,8 +69,16 @@ include NativeCompilation.gmk
# and the targets generated are listed in a variable by that name.
#
# 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_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)
define SetupJdkLibraryBody
ifeq ($$($1_OUTPUT_DIR), )
@ -51,6 +89,20 @@ define SetupJdkLibraryBody
$1_OBJECT_DIR := $$(SUPPORT_OUTPUTDIR)/native/$$(MODULE)/lib$$($1_NAME)
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), )
$1_VERSIONINFO_RESOURCE := $$(GLOBAL_VERSION_INFO_RESOURCE)
else ifeq ($$($1_VERSIONINFO_RESOURCE), DISABLE)
@ -66,6 +118,25 @@ define SetupJdkLibraryBody
$1_RC_FLAGS :=
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)
# 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.
#
# 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.
SetupJdkExecutable = $(NamedParamsMacroTemplate)
define SetupJdkExecutableBody

@ -634,7 +634,7 @@ endef
################################################################################
# Filter out duplicate sub strings while preserving order. Keeps the first occurance.
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
# whitespace-separated words in $1 is a substring.

@ -233,7 +233,7 @@ var getJibProfilesCommon = function (input, data) {
common.main_profile_names = [
"linux-x64", "linux-x86", "macosx-x64", "solaris-x64",
"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"
];
@ -272,28 +272,19 @@ var getJibProfilesCommon = function (input, data) {
*/
common.main_profile_artifacts = function (o) {
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
return {
artifacts: {
jdk: {
local: "bundles/\\(jdk.*bin.tar.gz\\)",
local: "bundles/\\(jdk.*bin." + jdk_suffix + "\\)",
remote: [
"bundles/" + pf + "/jdk-" + data.version + "_" + pf + "_bin.tar.gz",
"bundles/" + pf + "/jdk-" + data.version + "_" + pf + "_bin." + jdk_suffix,
"bundles/" + pf + "/\\1"
],
subdir: jdk_subdir,
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: {
local: "bundles/\\(jdk.*bin-tests.tar.gz\\)",
remote: [
@ -319,15 +310,6 @@ var getJibProfilesCommon = function (input, data) {
subdir: jdk_subdir,
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) {
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
return {
artifacts: {
jdk: {
local: "bundles/\\(jdk.*bin-debug.tar.gz\\)",
local: "bundles/\\(jdk.*bin-debug." + jdk_suffix + "\\)",
remote: [
"bundles/" + pf + "/jdk-" + data.version + "_" + pf + "_bin-debug.tar.gz",
"bundles/" + pf + "/jdk-" + data.version + "_" + pf + "_bin-debug." + jdk_suffix,
"bundles/" + pf + "/\\1"
],
subdir: jdk_subdir,
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: {
local: "bundles/\\(jdk.*bin-tests-debug.tar.gz\\)",
remote: [
@ -378,15 +351,6 @@ var getJibProfilesCommon = function (input, data) {
subdir: jdk_subdir,
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": {
target_os: "linux",
target_cpu: "arm",
@ -608,7 +583,6 @@ var getJibProfilesProfiles = function (input, common, data) {
"macosx-x64": {
platform: "osx-x64",
jdk_subdir: "jdk-" + data.version + ".jdk/Contents/Home",
jre_subdir: "jre-" + data.version + ".jre/Contents/Home"
},
"solaris-x64": {
platform: "solaris-x64",
@ -618,13 +592,18 @@ var getJibProfilesProfiles = function (input, common, data) {
},
"windows-x64": {
platform: "windows-x64",
jdk_suffix: "zip",
},
"windows-x86": {
platform: "windows-x86",
jdk_suffix: "zip",
},
"linux-aarch64": {
platform: "linux-aarch64",
},
"linux-arm32": {
platform: "linux-arm32",
},
"linux-arm64": {
platform: "linux-arm64-vfp-hflt",
},
@ -715,6 +694,14 @@ var getJibProfilesProfiles = function (input, common, data) {
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.
var testOnlyProfiles = {
"run-test-jprt": {
@ -829,7 +816,11 @@ var getJibProfilesDependencies = function (input, common) {
: "gcc7.3.0-Fedora27+1.0"),
linux_arm: (input.profile != null && input.profile.indexOf("hflt") >= 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"

@ -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.
#
# 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.
# It is a serial number that accompanies with each amendment.
dataVersion=164
dataVersion=167
# List of all valid ISO 4217 currency 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-\
ITL380-JMD388-JOD400-JPY392-KES404-KGS417-KHR116-KMF174-KPW408-KRW410-\
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-\
NIO558-NLG528-NOK578-NPR524-NZD554-OMR512-PAB590-PEN604-PGK598-PHP608-\
PKR586-PLN985-PTE620-PYG600-QAR634-ROL946-RON946-RSD941-RUB643-RUR810-RWF646-SAR682-\
@ -324,7 +324,7 @@ KG=KGS
# LAO PEOPLE'S DEMOCRATIC REPUBLIC (THE)
LA=LAK
# LATVIA
LV=LVL;2013-12-31-22-00-00;EUR
LV=EUR
# LEBANON
LB=LBP
# LESOTHO
@ -336,7 +336,7 @@ LY=LYD
# LIECHTENSTEIN
LI=CHF
# LITHUANIA
LT=LTL;2014-12-31-22-00-00;EUR
LT=EUR
# LUXEMBOURG
LU=EUR
# MACAU
@ -360,7 +360,7 @@ MH=USD
# MARTINIQUE
MQ=EUR
# MAURITANIA
MR=MRO
MR=MRU
# MAURITIUS
MU=MUR
# MAYOTTE

@ -34,9 +34,7 @@ allfonts.chinese-gb18030=SimSun-18030
allfonts.chinese-hkscs=MingLiU_HKSCS
allfonts.devanagari=Mangal
allfonts.dingbats=Wingdings
allfonts.lucida=Lucida Sans Regular
allfonts.symbol=Symbol
allfonts.thai=Lucida Sans Regular
serif.plain.alphabetic=Times New Roman
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.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,\
chinese-ms950,chinese-hkscs,chinese-ms936,chinese-gb18030,\
sequence.fallback=chinese-ms950,chinese-hkscs,chinese-ms936,chinese-gb18030,\
japanese,korean
# Exclusion Ranges
@ -256,7 +253,6 @@ filename.Gulim=gulim.TTC
filename.Batang=batang.TTC
filename.GulimChe=gulim.TTC
filename.Lucida_Sans_Regular=LucidaSansRegular.ttf
filename.Mangal=MANGAL.TTF
filename.Symbol=SYMBOL.TTF
filename.Wingdings=WINGDING.TTF

@ -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.korean=-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.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
@ -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
# - korean: same file as korean-johab
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,\
japanese-x0201,korean-johab,\
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.-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.-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_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

@ -39,10 +39,9 @@ allfonts.chinese-ms950-extb=MingLiU-ExtB
allfonts.devanagari=Mangal
allfonts.kannada=Tunga
allfonts.dingbats=Wingdings
allfonts.lucida=Lucida Sans Regular
allfonts.symbol=Symbol
allfonts.symbols=Segoe UI Symbol
allfonts.thai=Lucida Sans Regular
allfonts.thai=DokChampa
allfonts.georgian=Sylfaen
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.fallback=lucida,symbols,\
sequence.fallback=symbols,\
chinese-ms950,chinese-hkscs,chinese-ms936,chinese-gb18030,\
japanese,korean,chinese-ms950-extb,chinese-ms936-extb,georgian,kannada
@ -294,7 +293,7 @@ filename.Gulim=gulim.TTC
filename.Batang=batang.TTC
filename.GulimChe=gulim.TTC
filename.Lucida_Sans_Regular=LucidaSansRegular.ttf
filename.DokChampa=dokchamp.ttf
filename.Mangal=MANGAL.TTF
filename.Tunga=TUNGA.TTF
filename.Symbol=SYMBOL.TTF

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

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

@ -42,6 +42,8 @@
# line looking like this:
#
# 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.
#

@ -44,13 +44,23 @@ $(info HOST=$(HOST))
$(info BUILD=$(BUILD))
ARCH := $(word 1,$(subst -, ,$(TARGET)))
ifeq ($(TARGET), arm-linux-gnueabihf)
ARCH=armhfp
endif
$(info ARCH=$(ARCH))
ifeq ($(BASE_OS), OEL6)
OEL_URL := http://yum.oracle.com/repo/OracleLinux/OL6/4/base/$(ARCH)/
LINUX_VERSION := OEL6.4
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
else
$(error Unknown base OS $(BASE_OS))
@ -189,6 +199,8 @@ ifeq ($(ARCH),x86_64)
endif
else ifeq ($(ARCH),i686)
RPM_ARCHS := i386 i686 noarch
else ifeq ($(ARCH), armhfp)
RPM_ARCHS := $(ARCH) armv7hl noarch
else
RPM_ARCHS := $(ARCH) noarch
endif
@ -410,6 +422,10 @@ ifneq (,$(findstring linux,$(TARGET)))
$(BUILDDIR)/$(gcc_ver)/Makefile : CONFIG += --enable-__cxa_atexit
endif
ifeq ($(ARCH), armhfp)
$(BUILDDIR)/$(gcc_ver)/Makefile : CONFIG += --with-float=hard
endif
# Want:
# c,c++
# shared libs

@ -108,8 +108,8 @@ if [ ! -d $DEVKIT_ROOT/VC ]; then
# The redist runtime libs are needed to run the compiler but may not be
# 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/x64/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/x86
cp $DEVKIT_ROOT/VC/redist/x86/$MSVCR_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/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/x64
fi

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

@ -78,13 +78,6 @@ $(eval $(call SetupCompileProperties, 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)

@ -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.
#
# This code is free software; you can redistribute it and/or modify it
@ -32,6 +32,7 @@ $(eval $(call SetupCompileProperties,COMPILE_PROPERTIES, \
$(JAVAC_VERSION)))
$(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)

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

@ -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

@ -155,6 +155,16 @@ ifneq ($(call check-jvm-feature, serialgc), true)
JVM_EXCLUDE_FILES += psMarkSweep.cpp psMarkSweepDecorator.cpp
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)
JVM_CFLAGS_FEATURES += -DINCLUDE_JFR=0
JVM_EXCLUDE_PATTERNS += jfr

@ -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.
#
# This code is free software; you can redistribute it and/or modify it
@ -38,7 +38,8 @@ module.names = java.compiler \
jdk.jshell
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
jdk.version = 9

@ -27,37 +27,38 @@ $(eval $(call IncludeCustomExtension, lib/Awt2dLibraries-pre.gmk))
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 \
$(TOPDIR)/src/java.desktop/share/native/common/awt/medialib
BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
$(addprefix -I, $(BUILD_LIBMLIB_SRC)) \
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libmlib_image
# We must not include java.desktop/unix/native/libmlib_image, which is only
# for usage by solaris-sparc in libmlib_image_v.
BUILD_LIBMLIB_EXCLUDE_SRC_PATTERNS := unix
BUILD_LIBMLIB_LDLIBS :=
BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES -DMLIB_NO_LIBSUNMATH
ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
endif
ifneq ($(OPENJDK_TARGET_OS), windows)
BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
endif
$(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE, \
NAME := mlib_image, \
SRC := $(BUILD_LIBMLIB_SRC), \
EXTRA_SRC := common/awt/medialib, \
EXCLUDE_FILES := mlib_c_ImageBlendTable.c, \
EXCLUDE_SRC_PATTERNS := $(BUILD_LIBMLIB_EXCLUDE_SRC_PATTERNS), \
OPTIMIZATION := HIGHEST, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(BUILD_LIBMLIB_CFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(BUILD_LIBMLIB_LDLIBS) \
$(JDKLIB_LIBS), \
LIBS := $(JDKLIB_LIBS), \
LIBS_unix := $(LIBM) $(LIBDL), \
))
$(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)
LIBMLIB_IMAGE_V_SRC := $(TOPDIR)/src/java.desktop/share/native/libmlib_image \
$(TOPDIR)/src/java.desktop/unix/native/libmlib_image \
$(TOPDIR)/src/java.desktop/share/native/common/awt/medialib \
$(TOPDIR)/src/java.desktop/unix/native/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 is basically built from mlib_image sources, with some additions
# and some exclusions.
LIBMLIB_IMAGE_V_SRC := \
libmlib_image \
common/awt/medialib \
#
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 := \
awt_ImagingLib.c \
@ -95,19 +101,16 @@ ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
mlib_c_ImageLookUp_f.c \
#
LIBMLIB_IMAGE_V_CFLAGS += $(filter-out -DMLIB_NO_LIBSUNMATH, $(BUILD_LIBMLIB_CFLAGS))
$(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE_V, \
NAME := mlib_image_v, \
SRC := $(LIBMLIB_IMAGE_V_SRC), \
EXCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_EXFILES), \
OPTIMIZATION := HIGHEST, \
CFLAGS := -xarch=sparcvis \
$(LIBMLIB_IMAGE_V_CFLAGS) \
$(CFLAGS_JDKLIB), \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBMLIB_IMAGE_V_CFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(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)
@ -118,18 +121,22 @@ endif
################################################################################
LIBAWT_DIRS := $(TOPDIR)/src/java.desktop/share/native/libawt \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt \
$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
LIBAWT_EXTRA_SRC := \
common/awt/debug \
$(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
#
ifeq ($(OPENJDK_TARGET_OS), aix)
LIBAWT_DIRS += $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/libawt
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
LIBAWT_EXTRA_SRC += $(TOPDIR)/src/$(MODULE)/share/native/common/awt/medialib
endif
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
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
endif
LIBAWT_CFLAGS += -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
$(addprefix -I, $(shell find $(LIBAWT_DIRS) -type d)) \
$(LIBJAVA_HEADER_FLAGS) \
$(addprefix -I, $(BUILD_LIBMLIB_IMAGE_SRC)) \
ifeq ($(OPENJDK_TARGET_OS), windows)
LIBAWT_EXFILES += \
java2d/d3d/D3DShaderGen.c \
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)
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
LIBAWT_CFLAGS += -xarch=sparcvis
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), solaris-sparcv9)
LIBAWT_CFLAGS += -xarch=sparcvis -DMLIB_ADD_SUFF \
$(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_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 \
#
LIBAWT_ASFLAGS = -P -xarch=v9a
endif
ifneq ($(OPENJDK_TARGET_OS), solaris)
@ -174,29 +193,13 @@ ifneq ($(OPENJDK_TARGET_OS), solaris)
endif
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
ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
LIBAWT_CFLAGS += -DMLIB_OS64BIT
endif
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
ifeq ($(OPENJDK_TARGET_OS), linux)
@ -215,16 +218,17 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
NAME := awt, \
SRC := $(LIBAWT_DIRS), \
EXTRA_SRC := $(LIBAWT_EXTRA_SRC), \
EXCLUDES := $(LIBAWT_EXCLUDES), \
EXCLUDE_FILES := $(LIBAWT_EXFILES), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
EXTRA_HEADER_DIRS := $(LIBAWT_EXTRA_HEADER_DIRS), \
DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
format-nonliteral parentheses, \
DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer, \
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), \
LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
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)
LIBAWT_XAWT_DIRS := \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt_xawt \
$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
$(TOPDIR)/src/java.desktop/share/native/common/awt/utility \
$(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 \
LIBAWT_XAWT_EXTRA_SRC := \
common/awt \
common/java2d \
common/font \
#
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_CFLAGS := $(addprefix -I, $(shell $(FIND) $(LIBAWT_XAWT_DIRS) -type d)) \
-I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
-I$(TOPDIR)/src/java.desktop/share/native/include \
-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/libawt/java2d \
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/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/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_EXTRA_HEADER_DIRS := \
$(LIBAWT_DEFAULT_HEADER_DIRS) \
libawt_xawt/awt \
include \
common/awt/debug \
common/awt/systemscale \
common/font \
common/java2d/opengl \
common/java2d/x11 \
#
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
# initializing a declared 'extern'
BUILD_LIBAWT_XAWT_debug_mem.c_CFLAGS := -w
endif
endif
$(eval $(call SetupJdkLibrary, BUILD_LIBAWT_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), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
@ -349,10 +342,6 @@ ifeq ($(findstring $(OPENJDK_TARGET_OS),windows macosx),)
$(call SET_SHARED_LIBRARY_ORIGIN) \
-L$(INSTALL_LIBRARIES_HERE), \
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)
@ -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.
LCMS_CFLAGS=-DCMS_DONT_USE_FAST_FLOOR
LCMS_CFLAGS_JDKLIB := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB))
ifeq ($(USE_EXTERNAL_LCMS), true)
# If we're using an external library, we'll just need the wrapper part.
# By including it explicitly, all other files will be excluded.
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
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
$(eval $(call SetupJdkLibrary, BUILD_LIBLCMS, \
NAME := lcms, \
SRC := $(LIBLCMS_SRC), \
INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
OPTIMIZATION := HIGHEST, \
CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \
$(LIBLCMS_CPPFLAGS) \
CFLAGS := $(LCMS_CFLAGS_JDKLIB) \
$(LCMS_CFLAGS), \
CFLAGS_solaris := -xc99=no_lib, \
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_clang := tautological-compare, \
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:
# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
# or 'vfork'": this warning indicates that some variable is placed to
@ -428,21 +413,20 @@ ifeq ($(USE_EXTERNAL_LIBJPEG), true)
BUILD_LIBJAVAJPEG_INCLUDE_FILES := \
imageioJPEG.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
LIBJPEG_LIBS :=
BUILD_LIBJAVAJPEG_INCLUDE_FILES :=
BUILD_LIBJAVAJPEG_HEADERS := $(addprefix -I, $(LIBJAVAJPEG_SRC))
endif
$(eval $(call SetupJdkLibrary, BUILD_LIBJAVAJPEG, \
NAME := javajpeg, \
SRC := $(LIBJAVAJPEG_SRC), \
INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
OPTIMIZATION := HIGHEST, \
CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBJAVAJPEG_HEADERS) \
$(LIBJAVA_HEADER_FLAGS) \
-I$(SUPPORT_OUTPUTDIR)/headers/java.desktop, \
CFLAGS := $(CFLAGS_JDKLIB), \
HEADERS_FROM_SRC := $(LIBJPEG_HEADERS_FROM_SRC), \
DISABLED_WARNINGS_gcc := clobbered implicit-fallthrough shift-negative-value, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(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
ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx),)
LIBAWT_HEADLESS_DIRS := $(TOPDIR)/src/java.desktop/unix/native/libawt_headless/awt \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/java2d \
$(TOPDIR)/src/java.desktop/share/native/common/java2d \
$(TOPDIR)/src/java.desktop/share/native/common/font \
LIBAWT_HEADLESS_EXTRA_SRC := \
common/font \
common/java2d \
$(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
#
LIBAWT_HEADLESS_EXCLUDES := medialib
LIBAWT_HEADLESS_CFLAGS := -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
$(addprefix -I, $(LIBAWT_HEADLESS_DIRS)) \
-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/$(OPENJDK_TARGET_OS_TYPE)/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/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_EXTRA_HEADER_DIRS := \
$(LIBAWT_DEFAULT_HEADER_DIRS) \
common/awt/debug \
common/font \
common/java2d/opengl \
#
LIBAWT_HEADLESS_CFLAGS := $(CUPS_CFLAGS) $(FONTCONFIG_CFLAGS) $(X_CFLAGS) \
-DHEADLESS=true -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
$(eval $(call SetupJdkLibrary, BUILD_LIBAWT_HEADLESS, \
NAME := awt_headless, \
SRC := $(LIBAWT_HEADLESS_DIRS), \
EXTRA_SRC := $(LIBAWT_HEADLESS_EXTRA_SRC), \
EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
-DHEADLESS=true \
-DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
$(CUPS_CFLAGS) \
$(FONTCONFIG_CFLAGS) \
$(X_CFLAGS) \
$(LIBAWT_HEADLESS_CFLAGS), \
EXTRA_HEADER_DIRS := $(LIBAWT_HEADLESS_EXTRA_HEADER_DIRS), \
DISABLED_WARNINGS_xlc := 1506-356, \
DISABLED_WARNINGS_solstudio := E_EMPTY_TRANSLATION_UNIT, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
@ -518,12 +492,15 @@ endif
################################################################################
ifeq ($(FREETYPE_TO_USE), system)
# For use by libfontmanager:
LIBFREETYPE_CFLAGS := $(FREETYPE_CFLAGS)
LIBFREETYPE_LIBS := $(FREETYPE_LIBS)
else
LIBFREETYPE_SRC := $(TOPDIR)/src/java.desktop/share/native/libfreetype
BUILD_LIBFREETYPE_HEADERS := $(addprefix -I, $(LIBFREETYPE_SRC)/include)
LIBFREETYPE_CFLAGS := $(BUILD_LIBFREETYPE_HEADERS)
BUILD_LIBFREETYPE_HEADER_DIRS := $(TOPDIR)/src/$(MODULE)/share/native/libfreetype/include
BUILD_LIBFREETYPE_CFLAGS := -DFT2_BUILD_LIBRARY $(EXPORT_ALL_SYMBOLS)
# For use by libfontmanager:
LIBFREETYPE_CFLAGS := -I$(BUILD_LIBFREETYPE_HEADER_DIRS)
ifeq ($(OPENJDK_TARGET_OS), windows)
LIBFREETYPE_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfreetype/freetype.lib
else
@ -532,14 +509,15 @@ else
$(eval $(call SetupJdkLibrary, BUILD_LIBFREETYPE, \
NAME := freetype, \
SRC := $(LIBFREETYPE_SRC)/src, \
OPTIMIZATION := HIGHEST, \
CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBFREETYPE_HEADERS) \
-DFT2_BUILD_LIBRARY $(EXPORT_ALL_SYMBOLS), \
CFLAGS := $(CFLAGS_JDKLIB) \
$(BUILD_LIBFREETYPE_CFLAGS), \
EXTRA_HEADER_DIRS := $(BUILD_LIBFREETYPE_HEADER_DIRS), \
DISABLED_WARNINGS_solstudio := \
E_STATEMENT_NOT_REACHED \
E_END_OF_LOOP_CODE_NOT_REACHED, \
DISABLED_WARNINGS_microsoft := 4267 4244 4312, \
DISABLED_WARNINGS_gcc := implicit-fallthrough, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(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
HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN
@ -589,6 +554,16 @@ LIBFONTMANAGER_CFLAGS += $(HARFBUZZ_CFLAGS)
#### 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)
BUILD_LIBFONTMANAGER_FONTLIB += $(LIBFREETYPE_LIBS)
@ -598,7 +573,6 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
X11TextRenderer.c
LIBFONTMANAGER_OPTIMIZATION := HIGHEST
LIBFONTMANAGER_CFLAGS += -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/windows
else ifeq ($(OPENJDK_TARGET_OS), macosx)
LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
X11TextRenderer.c \
@ -609,7 +583,7 @@ else
lcdglyph.c
endif
LIBFONTMANAGER_CFLAGS += $(FONT_HEADERS) $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
LIBFONTMANAGER_CFLAGS += $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
ifeq ($(TOOLCHAIN_TYPE), gcc)
# 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.
$(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
NAME := fontmanager, \
SRC := $(LIBFONTMANAGER_SRC), \
EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
AccelGlyphCache.c, \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
@ -633,6 +606,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
CFLAGS_windows = -DCC_NOEX, \
EXTRA_HEADER_DIRS := $(LIBFONTMANAGER_EXTRA_HEADER_DIRS), \
WARNINGS_AS_ERRORS_xlc := false, \
DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast \
type-limits missing-field-initializers implicit-fallthrough, \
@ -664,7 +638,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
$(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
ifeq ($(OPENJDK_TARGET_OS), macosx)
$(BUILD_LIBFONTMANAGER): $(call FindLib, java.desktop, awt_lwawt)
$(BUILD_LIBFONTMANAGER): $(call FindLib, $(MODULE), awt_lwawt)
endif
ifeq ($(FREETYPE_TO_USE), bundled)
@ -676,29 +650,30 @@ TARGETS += $(BUILD_LIBFONTMANAGER)
################################################################################
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 \
-I$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d \
-I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
-I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/java2d/windows \
-I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
-I$(TOPDIR)/src/java.desktop/windows/native/include \
-I$(TOPDIR)/src/java.desktop/share/native/include \
$(LIBJAVA_HEADER_FLAGS) \
LIBJAWT_CFLAGS := -EHsc -DUNICODE -D_UNICODE
LIBJAWT_EXTRA_HEADER_DIRS := \
include \
common/awt/debug \
libawt/awt/image/cvutils \
libawt/java2d \
libawt/java2d/windows \
libawt/windows \
java.base:include \
java.base:libjava \
#
ifeq ($(OPENJDK_TARGET_CPU), x86)
KERNEL32_LIB := kernel32.lib
endif
$(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \
NAME := jawt, \
SRC := $(LIBJAWT_SRC), \
INCLUDE_FILES := $(LIBJAWT_INCLUDE_FILES), \
OPTIMIZATION := LOW, \
CFLAGS := $(CXXFLAGS_JDKLIB) \
-EHsc -DUNICODE -D_UNICODE \
$(LIBJAWT_CFLAGS), \
EXTRA_HEADER_DIRS := $(LIBJAWT_EXTRA_HEADER_DIRS), \
LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \
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
ifeq ($(OPENJDK_TARGET_OS), macosx)
LIBJAWT_SRC := $(TOPDIR)/src/java.desktop/macosx/native/libjawt
else
LIBJAWT_SRC := $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libjawt
# libjawt on macosx do not use the unix code
LIBJAWT_EXCLUDE_SRC_PATTERNS := unix
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)
JAWT_LIBS := -lawt_lwawt
@ -740,19 +707,22 @@ else # OPENJDK_TARGET_OS not windows
JAWT_LIBS += -lawt_xawt
else
JAWT_LIBS += -lawt_headless
HEADLESS_CFLAG += -DHEADLESS
ifeq ($(OPENJDK_TARGET_OS), linux)
JAWT_CFLAGS += -DHEADLESS
endif
endif
endif
$(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \
NAME := jawt, \
SRC := $(LIBJAWT_SRC), \
EXCLUDE_SRC_PATTERNS := $(LIBJAWT_EXCLUDE_SRC_PATTERNS), \
INCLUDE_FILES := $(JAWT_FILES), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBJAWT_CFLAGS), \
CFLAGS_linux := $(HEADLESS_CFLAG), \
CFLAGS_macosx := $(LIBJAWT_CFLAGS_macosx), \
$(JAWT_CFLAGS), \
EXTRA_HEADER_DIRS := \
include \
common/awt, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
@ -780,52 +750,56 @@ TARGETS += $(BUILD_LIBJAWT)
ifeq ($(ENABLE_HEADLESS_ONLY), false)
LIBSPLASHSCREEN_DIRS := \
$(TOPDIR)/src/java.desktop/share/native/libjavajpeg \
$(TOPDIR)/src/java.desktop/share/native/libsplashscreen \
LIBSPLASHSCREEN_EXTRA_SRC := \
common/awt/systemscale \
#
ifeq ($(USE_EXTERNAL_LIBGIF), true)
GIFLIB_LIBS := -lgif
LIBSPLASHSCREEN_EXCLUDES := giflib
ifeq ($(USE_EXTERNAL_LIBGIF), false)
LIBSPLASHSCREEN_HEADER_DIRS += libsplashscreen/giflib
else
LIBSPLASHSCREEN_CFLAGS += -I$(TOPDIR)/src/java.desktop/share/native/libsplashscreen/giflib
LIBSPLASHSCREEN_EXCLUDES := giflib
GIFLIB_LIBS := -lgif
endif
ifeq ($(USE_EXTERNAL_LIBJPEG), true)
LIBJPEG_LIBS := -ljpeg
ifeq ($(USE_EXTERNAL_LIBJPEG), false)
# 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
LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/share/native/libjavajpeg
LIBJPEG_CFLAGS := -I$(TOPDIR)/src/java.desktop/share/native/libjavajpeg
LIBJPEG_LIBS := -ljpeg
endif
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
LIBSPLASHSCREEN_EXCLUDES += libpng
endif
ifneq ($(OPENJDK_TARGET_OS), macosx)
LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libsplashscreen
else
LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/macosx/native/libsplashscreen
ifeq ($(USE_EXTERNAL_LIBZ), false)
LIBSPLASHSCREEN_EXTRA_SRC += java.base:libzip/zlib
endif
ifneq ($(filter $(OPENJDK_TARGET_OS),linux solaris aix), )
LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/unix/native/common/awt/systemscale
ifeq ($(OPENJDK_TARGET_OS), macosx)
# libsplashscreen on macosx do not use the unix code
LIBSPLASHSCREEN_EXCLUDE_SRC_PATTERNS := unix
endif
ifeq ($(OPENJDK_TARGET_OS), windows)
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) \
#
LIBSPLASHSCREEN_CFLAGS += -DSPLASHSCREEN -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0
ifeq ($(OPENJDK_TARGET_OS), 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_splashscreen_gfx_impl.c_CFLAGS := -x objective-c -O0
@ -843,20 +817,6 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
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)
LIBSPLASHSCREEN_LIBS += \
$(LIBM) -lpthread -liconv -losxapp \
@ -870,14 +830,22 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
LIBSPLASHSCREEN_LIBS += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread -ldl
endif
LIBSPLASHSCREEN_HEADER_DIRS += \
libosxapp \
java.base:include \
java.base:libjava \
#
$(eval $(call SetupJdkLibrary, BUILD_LIBSPLASHSCREEN, \
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, \
EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \
OPTIMIZATION := LOW, \
CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBSPLASHSCREEN_CFLAGS) \
$(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS), \
EXTRA_HEADER_DIRS := $(LIBSPLASHSCREEN_HEADER_DIRS), \
DISABLED_WARNINGS_gcc := sign-compare type-limits unused-result \
maybe-uninitialized shift-negative-value implicit-fallthrough, \
DISABLED_WARNINGS_clang := incompatible-pointer-types, \
@ -896,7 +864,7 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
TARGETS += $(BUILD_LIBSPLASHSCREEN)
ifeq ($(OPENJDK_TARGET_OS), macosx)
$(BUILD_LIBSPLASHSCREEN): $(call FindLib, java.desktop, osxapp)
$(BUILD_LIBSPLASHSCREEN): $(call FindLib, $(MODULE), osxapp)
endif
endif
@ -905,49 +873,38 @@ endif
ifeq ($(OPENJDK_TARGET_OS), macosx)
LIBAWT_LWAWT_DIRS := \
$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt \
$(TOPDIR)/src/java.desktop/unix/native/common/awt \
$(TOPDIR)/src/java.desktop/share/native/common/font \
$(TOPDIR)/src/java.desktop/share/native/common/java2d \
LIBAWT_LWAWT_EXTRA_SRC := \
$(TOPDIR)/src/$(MODULE)/unix/native/common/awt \
$(TOPDIR)/src/$(MODULE)/share/native/common/font \
$(TOPDIR)/src/$(MODULE)/share/native/common/java2d \
#
LIBAWT_LWAWT_CFLAGS := \
$(addprefix -I, $(LIBAWT_LWAWT_DIRS)) \
-I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
-I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/awt \
-I$(TOPDIR)/src/java.desktop/unix/native/libawt_xawt/awt \
-I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/font \
-I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl \
-I$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
-I$(TOPDIR)/src/java.desktop/share/native/common/java2d/opengl \
-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_EXTRA_HEADER_DIRS := \
$(LIBAWT_DEFAULT_HEADER_DIRS) \
libawt_lwawt/awt \
libawt_lwawt/font \
libawt_lwawt/java2d/opengl \
include \
common/awt/debug \
common/java2d/opengl \
libosxapp \
#
LIBAWT_LWAWT_CFLAGS := $(X_CFLAGS) $(X_LIBS)
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, \
NAME := awt_lwawt, \
SRC := $(LIBAWT_LWAWT_DIRS), \
EXTRA_SRC := $(LIBAWT_LWAWT_EXTRA_SRC), \
INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \
EXCLUDES := $(LIBAWT_LWAWT_EXCLUDES), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(X_CFLAGS) \
$(X_LIBS) \
$(LIBAWT_LWAWT_CFLAGS), \
EXTRA_HEADER_DIRS := $(LIBAWT_LWAWT_EXTRA_HEADER_DIRS), \
DISABLED_WARNINGS_clang := incomplete-implementation enum-conversion \
deprecated-declarations objc-method-access bitwise-op-parentheses \
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): $(call FindLib, java.desktop, osxapp)
$(BUILD_LIBAWT_LWAWT): $(call FindLib, $(MODULE), osxapp)
$(BUILD_LIBAWT_LWAWT): $(call FindLib, java.base, java)
@ -986,15 +943,11 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
$(eval $(call SetupJdkLibrary, BUILD_LIBOSXUI, \
NAME := osxui, \
SRC := $(TOPDIR)/src/java.desktop/macosx/native/libosxui, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
-I$(TOPDIR)/src/java.desktop/macosx/native/libosxui \
-I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/awt \
-I$(TOPDIR)/src/java.desktop/macosx/native/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, \
CFLAGS := $(CFLAGS_JDKLIB), \
EXTRA_HEADER_DIRS := \
libawt_lwawt/awt \
libosxapp, \
DISABLED_WARNINGS_clang := deprecated-declarations, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN) \
@ -1013,7 +966,7 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
$(BUILD_LIBOSXUI): $(BUILD_LIBAWT)
$(BUILD_LIBOSXUI): $(call FindLib, java.desktop, osxapp)
$(BUILD_LIBOSXUI): $(call FindLib, $(MODULE), osxapp)
$(BUILD_LIBOSXUI): $(BUILD_LIBAWT_LWAWT)

@ -104,7 +104,6 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBVERIFY, \
NAME := verify, \
SRC := $(TOPDIR)/src/java.base/share/native/libverify, \
OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \
CFLAGS := $(CFLAGS_JDKLIB), \
DISABLED_WARNINGS_gcc := implicit-fallthrough, \
@ -119,13 +118,7 @@ TARGETS += $(BUILD_LIBVERIFY)
##########################################################################################
# Allow a custom makefile to add extra src dirs
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)"'
LIBJAVA_CFLAGS := -DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"'
ifeq ($(OPENJDK_TARGET_OS), macosx)
BUILD_LIBJAVA_java_props_md.c_CFLAGS := -x objective-c
@ -134,12 +127,12 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBJAVA, \
NAME := java, \
SRC := $(LIBJAVA_SRC_DIRS), \
OPTIMIZATION := HIGH, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBJAVA_CFLAGS), \
System.c_CFLAGS := $(VERSION_CFLAGS), \
jdk_util.c_CFLAGS := $(VERSION_CFLAGS), \
EXTRA_HEADER_DIRS := libfdlibm, \
WARNINGS_AS_ERRORS_xlc := false, \
DISABLED_WARNINGS_gcc := unused-result, \
DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
@ -180,13 +173,9 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBZIP, \
NAME := zip, \
OPTIMIZATION := LOW, \
SRC := $(TOPDIR)/src/java.base/share/native/libzip, \
EXCLUDES := $(LIBZIP_EXCLUDES), \
CFLAGS := $(CFLAGS_JDKLIB) \
$(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, \
$(LIBZ_CFLAGS), \
CFLAGS_unix := $(BUILD_LIBZIP_MMAP) -UDEBUG, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(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, \
NAME := jimage, \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
OPTIMIZATION := LOW, \
SRC := $(TOPDIR)/src/java.base/share/native/libjimage \
$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjimage, \
EXCLUDES := $(LIBJIMAGE_EXCLUDES), \
CFLAGS := $(CFLAGS_JDKLIB) $(JIMAGELIB_CPPFLAGS), \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(JIMAGELIB_CPPFLAGS), \
CFLAGS := $(CFLAGS_JDKLIB), \
CXXFLAGS := $(CXXFLAGS_JDKLIB), \
DISABLED_WARNINGS_gcc := implicit-fallthrough, \
CFLAGS_unix := -UDEBUG, \
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)
ERGO_FAMILY := zero
else
@ -263,7 +238,7 @@ endif
ifeq ($(OPENJDK_TARGET_OS), 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)
# Supply the name of the C runtime lib.
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))"'
endif
else
LIBJLI_CFLAGS_JDKLIB := $(CFLAGS_JDKLIB)
LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE)/jli
endif
LIBJLI_CFLAGS += $(addprefix -I, $(LIBJLI_SRC_DIRS))
LIBJLI_CFLAGS += $(LIBZ_CFLAGS)
ifneq ($(USE_EXTERNAL_LIBZ), true)
@ -293,12 +267,10 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
NAME := jli, \
OUTPUT_DIR := $(LIBJLI_OUTPUT_DIR), \
SRC := $(LIBJLI_SRC_DIRS), \
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
OPTIMIZATION := HIGH, \
CFLAGS := $(LIBJLI_CFLAGS), \
DISABLED_WARNINGS_gcc := maybe-uninitialized, \
CFLAGS := $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \
DISABLED_WARNINGS_solstudio := \
E_ASM_DISABLES_OPTIMIZATION \
E_STATEMENT_NOT_REACHED, \
@ -316,6 +288,8 @@ $(eval $(call SetupJdkLibrary, 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
# with the shared library, so the static library is given a different name. No harm
# in doing it for all platform to reduce complexity.
@ -328,7 +302,8 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
OPTIMIZATION := HIGH, \
CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS), \
CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS) \
$(addprefix -I, $(LIBJLI_SRC_DIRS)), \
ARFLAGS := $(ARFLAGS), \
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static, \
))
@ -347,7 +322,8 @@ else ifeq ($(OPENJDK_TARGET_OS), macosx)
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
OPTIMIZATION := HIGH, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \
CFLAGS := $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS) \
$(addprefix -I, $(LIBJLI_SRC_DIRS)), \
LDFLAGS := -nostdlib $(ARFLAGS), \
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static, \
))
@ -371,7 +347,8 @@ else ifeq ($(OPENJDK_TARGET_OS), aix)
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
OPTIMIZATION := HIGH, \
CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS), \
CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS_JDKLIB) $(LIBJLI_CFLAGS) \
$(addprefix -I, $(LIBJLI_SRC_DIRS)), \
ARFLAGS := $(ARFLAGS), \
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static))

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

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

@ -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)
# 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
# (or elsewhere).
LIBINSTRUMENT_CFLAGS := $(filter-out -MD, $(LIBINSTRUMENT_CFLAGS))
LIBINSTRUMENT_CFLAGS_JDKLIB := $(filter-out -MD, $(CFLAGS_JDKLIB))
# equivalent of strcasecmp is stricmp on Windows
LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
LIBINSTRUMENT_CFLAGS := -Dstrcasecmp=stricmp
else
LIBINSTRUMENT_CFLAGS_JDKLIB := $(CFLAGS_JDKLIB)
endif
$(eval $(call SetupJdkLibrary, BUILD_LIBINSTRUMENT, \
NAME := instrument, \
SRC := $(LIBINSTRUMENT_SRC), \
OPTIMIZATION := LOW, \
CFLAGS := $(LIBINSTRUMENT_CFLAGS), \
CFLAGS := $(LIBINSTRUMENT_CFLAGS_JDKLIB) $(LIBINSTRUMENT_CFLAGS), \
CFLAGS_debug := -DJPLIS_LOGGING, \
CFLAGS_release := -DNO_JPLIS_LOGGING, \
EXTRA_HEADER_DIRS := java.base:libjli, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN) \
$(LIBINSTRUMENT_LDFLAGS), \

@ -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
ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
@ -46,9 +39,8 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBMANAGEMENT, \
NAME := management, \
SRC := $(LIBMANAGEMENT_SRC), \
OPTIMIZATION := $(LIBMANAGEMENT_OPTIMIZATION), \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBMANAGEMENT_CFLAGS), \
CFLAGS := $(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(JDKLIB_LIBS), \

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

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

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

@ -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, \
NAME := j2pcsc, \
SRC := $(LIBJ2PCSC_SRC), \
CFLAGS := $(CFLAGS_JDKLIB), \
CFLAGS_unix := -D__sun_jdk, \
EXTRA_HEADER_DIRS := libj2pcsc/MUSCLE, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBJ2PCSC_CPPFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := $(LIBDL), \

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

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

@ -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, \
NAME := j2pkcs11, \
SRC := $(LIBJ2PKCS11_SRC), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(addprefix -I, $(LIBJ2PKCS11_SRC)) \
$(LIBJAVA_HEADER_FLAGS) \
-I$(SUPPORT_OUTPUTDIR)/headers/jdk.crypto.cryptoki, \
CFLAGS := $(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := $(LIBDL), \

@ -28,31 +28,23 @@ include LibCommon.gmk
################################################################################
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
# (set in CFLAGS_REQUIRED_sparc)
#
# except!!! libsunec.so
#
ECC_JNI_SOLSPARC_FILTER :=
# (set in CFLAGS_REQUIRED_sparc) except libsunec.so
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
$(eval $(call SetupJdkLibrary, BUILD_LIBSUNEC, \
NAME := sunec, \
SRC := $(LIBSUNEC_SRC), \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
OPTIMIZATION := LOW, \
CFLAGS := $(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB)) \
$(BUILD_LIBSUNEC_FLAGS) \
CFLAGS := $(BUILD_LIBSUNEC_CFLAGS_JDKLIB) \
-DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B, \
CXXFLAGS := $(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
$(BUILD_LIBSUNEC_FLAGS), \
CXXFLAGS := $(BUILD_LIBSUNEC_CXXFLAGS_JDKLIB), \
DISABLED_WARNINGS_gcc := sign-compare implicit-fallthrough, \
DISABLED_WARNINGS_microsoft := 4101 4244 4146 4018, \
LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \

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

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

@ -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)
SA_CFLAGS := -D_FILE_OFFSET_BITS=64
@ -68,9 +55,8 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBSA, \
DISABLED_WARNINGS_microsoft := 4267, \
DISABLED_WARNINGS_gcc := sign-compare, \
DISABLED_WARNINGS_CXX_solstudio := truncwarn unknownpragma, \
SRC := $(SA_SRC), \
CFLAGS := $(CFLAGS_JDKLIB) $(SA_INCLUDES) $(SA_CFLAGS) $(SA_CUSTOM_CFLAGS), \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(SA_INCLUDES) $(SA_CFLAGS) $(SA_CXXFLAGS), \
CFLAGS := $(CFLAGS_JDKLIB) $(SA_CFLAGS), \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(SA_CFLAGS) $(SA_CXXFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) $(SA_LDFLAGS), \
LIBS_linux := -lthread_db $(LIBDL), \
LIBS_solaris := -ldl -ldemangle -lthread -lproc, \

@ -29,19 +29,10 @@ include LibCommon.gmk
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, \
NAME := le, \
SRC := $(LIBLE_SRC), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBJAVA_HEADER_FLAGS)\
$(LIBLE_CPPFLAGS), \
CFLAGS := $(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB), \
LIBS := $(JDKLIB_LIBS) user32.lib, \
))

@ -29,22 +29,13 @@ include LibCommon.gmk
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, \
NAME := dt_shmem, \
SRC := $(LIBDT_SHMEM_SRC), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP \
$(LIBDT_SHMEM_CPPFLAGS), \
CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP, \
EXTRA_HEADER_DIRS := \
jdk.jdwp.agent:include \
jdk.jdwp.agent:libjdwp/export, \
LDFLAGS := $(LDFLAGS_JDKLIB), \
LIBS := $(JDKLIB_LIBS), \
))

@ -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, \
NAME := dt_socket, \
SRC := $(LIBDT_SOCKET_SRC), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP \
$(LIBDT_SOCKET_CPPFLAGS), \
EXTRA_HEADER_DIRS := \
include \
libjdwp/export, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
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.
$(eval $(call SetupJdkLibrary, BUILD_LIBJDWP, \
NAME := jdwp, \
SRC := $(LIBJDWP_SRC), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) -DJDWP_LOGGING \
$(LIBJDWP_CPPFLAGS) \
-I$(SUPPORT_OUTPUTDIR)/headers/jdk.jdwp.agent, \
CFLAGS := $(CFLAGS_JDKLIB) -DJDWP_LOGGING, \
EXTRA_HEADER_DIRS := \
include \
libjdwp/export, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(JDKLIB_LIBS), \

@ -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, \
NAME := management_agent, \
SRC := $(LIBMANAGEMENT_AGENT_SRC), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBMANAGEMENT_AGENT_CFLAGS), \
CFLAGS := $(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(JDKLIB_LIBS), \

@ -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)
# 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.
@ -55,8 +46,6 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBMANAGEMENT_EXT, \
NAME := management_ext, \
SRC := $(LIBMANAGEMENT_EXT_SRC), \
LANG := C, \
OPTIMIZATION := $(LIBMANAGEMENT_EXT_OPTIMIZATION), \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBMANAGEMENT_EXT_CFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) \

@ -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, \
NAME := extnet, \
SRC := $(TOPDIR)/src/jdk.net/$(OPENJDK_TARGET_OS)/native/libextnet, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) -I$(SUPPORT_OUTPUTDIR)/headers/jdk.net, \
CFLAGS := $(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := -ljava, \

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

@ -29,18 +29,15 @@ include LibCommon.gmk
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, \
NAME := sctp, \
SRC := $(TOPDIR)/src/jdk.sctp/$(OPENJDK_TARGET_OS_TYPE)/native/libsctp, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
-I $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libnio/ch \
-I $(TOPDIR)/src/java.base/share/native/libnio/ch \
$(addprefix -I, $(call FindSrcDirsForLib, java.base, net)) \
$(LIBJAVA_HEADER_FLAGS) \
-I$(SUPPORT_OUTPUTDIR)/headers/jdk.sctp \
-I$(SUPPORT_OUTPUTDIR)/headers/java.base, \
CFLAGS := $(CFLAGS_JDKLIB), \
EXTRA_HEADER_DIRS := \
$(call GetJavaHeaderDir, java.base) \
java.base:libnet \
java.base:libnio/ch, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := -lnio -lnet -ljava -ljvm, \

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

@ -25,9 +25,6 @@
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
@ -66,16 +63,6 @@ else ifeq ($(TOOLCHAIN_TYPE), xlc)
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
# Param 1 - module name
@ -94,10 +81,6 @@ FindStaticLib = \
$(addprefix $(SUPPORT_OUTPUTDIR)/native/, \
$(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.
INSTALL_LIBRARIES_HERE := $(call FindLibDirForModule, $(MODULE))

@ -1300,35 +1300,10 @@ if [ "$SKIP_DEFAULT" != "true" ]; then
THIS_JDK="$THIS/install/jdk"
OTHER_JDK="$OTHER/install/jdk"
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
THIS_JDK="$THIS/images/jdk"
OTHER_JDK="$OTHER/images/jdk"
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)" ] \
&& [ -d "$(ls -d $OTHER/licensee-src/build/*/images/jdk 2> /dev/null)" ]
then
@ -1341,9 +1316,7 @@ if [ "$SKIP_DEFAULT" != "true" ]; then
THIS="$(ls -d $THIS/licensee-src/build/*)"
OTHER="$(ls -d $OTHER/licensee-src/build/*)"
THIS_JDK="$THIS/images/jdk"
THIS_JRE="$THIS/images/jre"
OTHER_JDK="$OTHER/images/jdk"
OTHER_JRE="$OTHER/images/jre"
# Rewrite the path to tools that are used from the build
JIMAGE="$(echo "$JIMAGE" | $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
if [ -d "$THIS/deploy/images/jdk-bundle" ]; then
THIS_JDK_BUNDLE="$THIS/deploy/images/jdk-bundle"
THIS_JRE_BUNDLE="$THIS/deploy/images/jre-bundle"
else
THIS_JDK_BUNDLE="$THIS/images/jdk-bundle"
THIS_JRE_BUNDLE="$THIS/images/jre-bundle"
fi
if [ -d "$OTHER/deploy/images/jdk-bundle" ]; then
OTHER_JDK_BUNDLE="$OTHER/deploy/images/jdk-bundle"
OTHER_JRE_BUNDLE="$OTHER/deploy/images/jre-bundle"
else
OTHER_JDK_BUNDLE="$OTHER/images/jdk-bundle"
OTHER_JRE_BUNDLE="$OTHER/images/jre-bundle"
fi
echo "Also comparing jdk macosx bundles"
echo " $THIS_JDK_BUNDLE"
@ -1457,22 +1426,12 @@ if [ "$CMP_NAMES" = "true" ]; then
echo -n "JDK "
compare_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
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
echo -n "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 "
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
if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then
echo -n "Docs "
@ -1538,15 +1497,9 @@ if [ "$CMP_GENERAL" = "true" ]; then
echo -n "JDK "
compare_general_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
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
echo -n "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
if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then
echo -n "Docs "
@ -1615,10 +1568,6 @@ if [ "$CMP_PERMS" = "true" ]; then
echo -n "JDK "
compare_permissions $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
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
compare_permissions $THIS_BASE_DIR $OTHER_BASE_DIR $COMPARE_ROOT/base_dir
fi
@ -1637,15 +1586,9 @@ if [ "$CMP_TYPES" = "true" ]; then
echo -n "JDK "
compare_file_types $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
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
echo -n "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
if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then
compare_file_types $THIS_BASE_DIR $OTHER_BASE_DIR $COMPARE_ROOT/base_dir

@ -134,6 +134,11 @@ NSK_JVMTI_AOD_INCLUDES := \
-I$(VM_TESTBASE_DIR)/nsk/share/jvmti \
-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_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_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
@ -851,8 +862,6 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS_exeFPRegs := -MT
BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c
# Disable warning until JDK-8203802 is fixed
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libtimers += -wd4477
else
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libbootclssearch_agent += -lpthread
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libsystemclssearch_agent += -lpthread

@ -64,6 +64,14 @@ else
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, \
TYPE := LIBRARY, \
SOURCE_DIRS := $(BUILD_JDK_JTREG_NATIVE_SRC), \

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

@ -3792,69 +3792,7 @@ bool Matcher::clone_address_expressions(AddPNode* m, Matcher::MStack& mstack, Ve
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) {
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

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

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

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

@ -323,7 +323,7 @@ void Runtime1::initialize_pd() {
// 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) {
// 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) {
call_offset = __ call_RT(noreg, noreg, target);
} 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();
oop_maps->add_gc_map(call_offset, oop_map);

@ -29,6 +29,7 @@
#include "gc/g1/c1/g1BarrierSetC1.hpp"
#include "gc/g1/g1BarrierSet.hpp"
#include "gc/g1/g1BarrierSetAssembler.hpp"
#include "gc/g1/g1BarrierSetRuntime.hpp"
#include "gc/g1/g1CardTable.hpp"
#include "gc/g1/g1ThreadLocalData.hpp"
#include "gc/g1/heapRegion.hpp"
@ -60,9 +61,9 @@ void G1BarrierSetAssembler::gen_write_ref_array_pre_barrier(MacroAssembler* masm
__ mov(c_rarg1, count);
}
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 {
__ 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);
}
@ -78,7 +79,7 @@ void G1BarrierSetAssembler::gen_write_ref_array_post_barrier(MacroAssembler* mas
__ lsr(scratch, scratch, LogBytesPerHeapOop); // convert to element count
__ mov(c_rarg0, start);
__ 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);
}
@ -161,9 +162,9 @@ void G1BarrierSetAssembler::g1_write_barrier_pre(MacroAssembler* masm,
if (expand_call) {
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 {
__ 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);
@ -245,7 +246,7 @@ void G1BarrierSetAssembler::g1_write_barrier_post(MacroAssembler* masm,
// save the live input values
RegSet saved = RegSet::of(store_addr, new_val);
__ 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);
__ bind(done);
@ -398,7 +399,7 @@ void G1BarrierSetAssembler::generate_c1_pre_barrier_runtime_stub(StubAssembler*
__ bind(runtime);
__ push_call_clobbered_registers();
__ 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();
__ bind(done);
@ -468,7 +469,7 @@ void G1BarrierSetAssembler::generate_c1_post_barrier_runtime_stub(StubAssembler*
__ bind(runtime);
__ 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();
__ bind(done);
__ epilogue();

@ -56,6 +56,15 @@ void BarrierSetAssembler::load_at(MacroAssembler* masm, DecoratorSet decorators,
}
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();
}
}
@ -84,6 +93,18 @@ void BarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators
}
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();
}
}

@ -24,6 +24,7 @@
*/
#include "precompiled.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "gc/shared/barrierSet.hpp"
#include "gc/shared/barrierSetAssembler.hpp"
#include "interp_masm_aarch64.hpp"
@ -267,9 +268,6 @@ void InterpreterMacroAssembler::get_method_counters(Register method,
void InterpreterMacroAssembler::load_resolved_reference_at_index(
Register result, Register index, Register tmp) {
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);
// 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()));
resolve_oop_handle(result, tmp);
// Add in the index
add(result, result, index);
load_heap_oop(result, Address(result, arrayOopDesc::base_offset_in_bytes(T_OBJECT)));
add(index, index, arrayOopDesc::base_offset_in_bytes(T_OBJECT) >> LogBytesPerHeapOop);
load_heap_oop(result, Address(result, index, Address::uxtw(LogBytesPerHeapOop)));
}
void InterpreterMacroAssembler::load_resolved_klass_at_offset(

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

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

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

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

@ -141,7 +141,7 @@ void MethodHandles::jump_to_lambda_form(MacroAssembler* _masm,
__ verify_oop(method_temp);
__ load_heap_oop(method_temp, Address(method_temp, NONZERO(java_lang_invoke_MemberName::method_offset_in_bytes())), temp2);
__ 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) {
// 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);
}
__ load_heap_oop(rmethod, member_vmtarget);
__ ldr(rmethod, vmtarget_method);
__ access_load_at(T_ADDRESS, IN_HEAP, rmethod, vmtarget_method, noreg, noreg);
break;
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);
}
__ load_heap_oop(rmethod, member_vmtarget);
__ ldr(rmethod, vmtarget_method);
__ access_load_at(T_ADDRESS, IN_HEAP, rmethod, vmtarget_method, noreg, noreg);
break;
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:
Register temp2_index = temp2;
__ ldr(temp2_index, member_vmindex);
__ access_load_at(T_ADDRESS, IN_HEAP, temp2_index, member_vmindex, noreg, noreg);
if (VerifyMethodHandles) {
Label L_index_ok;
@ -394,7 +394,7 @@ void MethodHandles::generate_method_handle_dispatch(MacroAssembler* _masm,
__ verify_klass_ptr(temp3_intf);
Register rindex = rmethod;
__ ldr(rindex, member_vmindex);
__ access_load_at(T_ADDRESS, IN_HEAP, rindex, member_vmindex, noreg, noreg);
if (VerifyMethodHandles) {
Label L;
__ cmpw(rindex, 0U);

@ -234,8 +234,12 @@ class NativeCall: public NativeInstruction {
}
#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) {
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

@ -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.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@ -25,6 +25,7 @@
#include "precompiled.hpp"
#include "asm/assembler.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "asm/register.hpp"
#include "register_aarch64.hpp"
# include "interp_masm_aarch64.hpp"

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

@ -24,7 +24,7 @@
*/
#include "precompiled.hpp"
#include "asm/macroAssembler.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "gc/shared/barrierSetAssembler.hpp"
#include "interpreter/interpreter.hpp"
#include "interpreter/interpreterRuntime.hpp"
@ -760,8 +760,8 @@ void TemplateTable::iaload()
// r0: array
// r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1
__ lea(r1, Address(r0, r1, Address::uxtw(2)));
__ ldrw(r0, Address(r1, arrayOopDesc::base_offset_in_bytes(T_INT)));
__ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_INT) >> 2);
__ access_load_at(T_INT, IN_HEAP | IN_HEAP_ARRAY, r0, Address(r0, r1, Address::uxtw(2)), noreg, noreg);
}
void TemplateTable::laload()
@ -772,8 +772,8 @@ void TemplateTable::laload()
// r0: array
// r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1
__ lea(r1, Address(r0, r1, Address::uxtw(3)));
__ ldr(r0, Address(r1, arrayOopDesc::base_offset_in_bytes(T_LONG)));
__ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_LONG) >> 3);
__ access_load_at(T_LONG, IN_HEAP | IN_HEAP_ARRAY, r0, Address(r0, r1, Address::uxtw(3)), noreg, noreg);
}
void TemplateTable::faload()
@ -784,8 +784,8 @@ void TemplateTable::faload()
// r0: array
// r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1
__ lea(r1, Address(r0, r1, Address::uxtw(2)));
__ ldrs(v0, Address(r1, arrayOopDesc::base_offset_in_bytes(T_FLOAT)));
__ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_FLOAT) >> 2);
__ access_load_at(T_FLOAT, IN_HEAP | IN_HEAP_ARRAY, r0, Address(r0, r1, Address::uxtw(2)), noreg, noreg);
}
void TemplateTable::daload()
@ -796,8 +796,8 @@ void TemplateTable::daload()
// r0: array
// r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1
__ lea(r1, Address(r0, r1, Address::uxtw(3)));
__ ldrd(v0, Address(r1, arrayOopDesc::base_offset_in_bytes(T_DOUBLE)));
__ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_DOUBLE) >> 3);
__ access_load_at(T_DOUBLE, IN_HEAP | IN_HEAP_ARRAY, r0, Address(r0, r1, Address::uxtw(3)), noreg, noreg);
}
void TemplateTable::aaload()
@ -808,12 +808,11 @@ void TemplateTable::aaload()
// r0: array
// r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1
int s = (UseCompressedOops ? 2 : 3);
__ lea(r1, Address(r0, r1, Address::uxtw(s)));
__ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_OBJECT) >> LogBytesPerHeapOop);
do_oop_load(_masm,
Address(r1, arrayOopDesc::base_offset_in_bytes(T_OBJECT)),
Address(r0, r1, Address::uxtw(LogBytesPerHeapOop)),
r0,
IN_HEAP | IN_HEAP_ARRAY);
IN_HEAP_ARRAY);
}
void TemplateTable::baload()
@ -824,8 +823,8 @@ void TemplateTable::baload()
// r0: array
// r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1
__ lea(r1, Address(r0, r1, Address::uxtw(0)));
__ load_signed_byte(r0, Address(r1, arrayOopDesc::base_offset_in_bytes(T_BYTE)));
__ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_BYTE) >> 0);
__ access_load_at(T_BYTE, IN_HEAP | IN_HEAP_ARRAY, r0, Address(r0, r1, Address::uxtw(0)), noreg, noreg);
}
void TemplateTable::caload()
@ -836,8 +835,8 @@ void TemplateTable::caload()
// r0: array
// r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1
__ lea(r1, Address(r0, r1, Address::uxtw(1)));
__ load_unsigned_short(r0, Address(r1, arrayOopDesc::base_offset_in_bytes(T_CHAR)));
__ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_CHAR) >> 1);
__ 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
@ -853,8 +852,8 @@ void TemplateTable::fast_icaload()
// r0: array
// r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1
__ lea(r1, Address(r0, r1, Address::uxtw(1)));
__ load_unsigned_short(r0, Address(r1, arrayOopDesc::base_offset_in_bytes(T_CHAR)));
__ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_CHAR) >> 1);
__ access_load_at(T_CHAR, IN_HEAP | IN_HEAP_ARRAY, r0, Address(r0, r1, Address::uxtw(1)), noreg, noreg);
}
void TemplateTable::saload()
@ -865,8 +864,8 @@ void TemplateTable::saload()
// r0: array
// r1: index
index_check(r0, r1); // leaves index in r1, kills rscratch1
__ lea(r1, Address(r0, r1, Address::uxtw(1)));
__ load_signed_short(r0, Address(r1, arrayOopDesc::base_offset_in_bytes(T_SHORT)));
__ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_SHORT) >> 1);
__ access_load_at(T_SHORT, IN_HEAP | IN_HEAP_ARRAY, r0, Address(r0, r1, Address::uxtw(1)), noreg, noreg);
}
void TemplateTable::iload(int n)
@ -1059,9 +1058,8 @@ void TemplateTable::iastore() {
// r1: index
// r3: array
index_check(r3, r1); // prefer index in r1
__ lea(rscratch1, Address(r3, r1, Address::uxtw(2)));
__ strw(r0, Address(rscratch1,
arrayOopDesc::base_offset_in_bytes(T_INT)));
__ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_INT) >> 2);
__ access_store_at(T_INT, IN_HEAP | IN_HEAP_ARRAY, Address(r3, r1, Address::uxtw(2)), r0, noreg, noreg);
}
void TemplateTable::lastore() {
@ -1072,9 +1070,8 @@ void TemplateTable::lastore() {
// r1: index
// r3: array
index_check(r3, r1); // prefer index in r1
__ lea(rscratch1, Address(r3, r1, Address::uxtw(3)));
__ str(r0, Address(rscratch1,
arrayOopDesc::base_offset_in_bytes(T_LONG)));
__ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_LONG) >> 3);
__ access_store_at(T_LONG, IN_HEAP | IN_HEAP_ARRAY, Address(r3, r1, Address::uxtw(3)), r0, noreg, noreg);
}
void TemplateTable::fastore() {
@ -1085,9 +1082,8 @@ void TemplateTable::fastore() {
// r1: index
// r3: array
index_check(r3, r1); // prefer index in r1
__ lea(rscratch1, Address(r3, r1, Address::uxtw(2)));
__ strs(v0, Address(rscratch1,
arrayOopDesc::base_offset_in_bytes(T_FLOAT)));
__ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_FLOAT) >> 2);
__ access_store_at(T_FLOAT, IN_HEAP | IN_HEAP_ARRAY, Address(r3, r1, Address::uxtw(2)), noreg /* ftos */, noreg, noreg);
}
void TemplateTable::dastore() {
@ -1098,9 +1094,8 @@ void TemplateTable::dastore() {
// r1: index
// r3: array
index_check(r3, r1); // prefer index in r1
__ lea(rscratch1, Address(r3, r1, Address::uxtw(3)));
__ strd(v0, Address(rscratch1,
arrayOopDesc::base_offset_in_bytes(T_DOUBLE)));
__ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_DOUBLE) >> 3);
__ access_store_at(T_DOUBLE, IN_HEAP | IN_HEAP_ARRAY, Address(r3, r1, Address::uxtw(3)), noreg /* dtos */, noreg, noreg);
}
void TemplateTable::aastore() {
@ -1111,10 +1106,10 @@ void TemplateTable::aastore() {
__ ldr(r2, at_tos_p1()); // index
__ 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
__ 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
__ cbz(r0, is_null);
@ -1141,7 +1136,7 @@ void TemplateTable::aastore() {
// Get the value we will store
__ ldr(r0, at_tos());
// 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);
// 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);
// 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
__ 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
__ bind(L_skip);
__ lea(rscratch1, Address(r3, r1, Address::uxtw(0)));
__ strb(r0, Address(rscratch1,
arrayOopDesc::base_offset_in_bytes(T_BYTE)));
__ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_BYTE) >> 0);
__ access_store_at(T_BYTE, IN_HEAP | IN_HEAP_ARRAY, Address(r3, r1, Address::uxtw(0)), r0, noreg, noreg);
}
void TemplateTable::castore()
@ -1190,9 +1184,8 @@ void TemplateTable::castore()
// r1: index
// r3: array
index_check(r3, r1); // prefer index in r1
__ lea(rscratch1, Address(r3, r1, Address::uxtw(1)));
__ strh(r0, Address(rscratch1,
arrayOopDesc::base_offset_in_bytes(T_CHAR)));
__ add(r1, r1, arrayOopDesc::base_offset_in_bytes(T_CHAR) >> 1);
__ access_store_at(T_CHAR, IN_HEAP | IN_HEAP_ARRAY, Address(r3, r1, Address::uxtw(1)), r0, noreg, noreg);
}
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;
// btos
__ load_signed_byte(r0, field);
__ access_load_at(T_BYTE, IN_HEAP, r0, field, noreg, noreg);
__ push(btos);
// Rewrite bytecode to be faster
if (rc == may_rewrite) {
@ -2526,7 +2519,7 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
__ br(Assembler::NE, notBool);
// ztos (same code as btos)
__ ldrsb(r0, field);
__ access_load_at(T_BOOLEAN, IN_HEAP, r0, field, noreg, noreg);
__ push(ztos);
// Rewrite bytecode to be faster
if (rc == may_rewrite) {
@ -2550,7 +2543,7 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
__ cmp(flags, itos);
__ br(Assembler::NE, notInt);
// itos
__ ldrw(r0, field);
__ access_load_at(T_INT, IN_HEAP, r0, field, noreg, noreg);
__ push(itos);
// Rewrite bytecode to be faster
if (rc == may_rewrite) {
@ -2562,7 +2555,7 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
__ cmp(flags, ctos);
__ br(Assembler::NE, notChar);
// ctos
__ load_unsigned_short(r0, field);
__ access_load_at(T_CHAR, IN_HEAP, r0, field, noreg, noreg);
__ push(ctos);
// Rewrite bytecode to be faster
if (rc == may_rewrite) {
@ -2574,7 +2567,7 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
__ cmp(flags, stos);
__ br(Assembler::NE, notShort);
// stos
__ load_signed_short(r0, field);
__ access_load_at(T_SHORT, IN_HEAP, r0, field, noreg, noreg);
__ push(stos);
// Rewrite bytecode to be faster
if (rc == may_rewrite) {
@ -2586,7 +2579,7 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
__ cmp(flags, ltos);
__ br(Assembler::NE, notLong);
// ltos
__ ldr(r0, field);
__ access_load_at(T_LONG, IN_HEAP, r0, field, noreg, noreg);
__ push(ltos);
// Rewrite bytecode to be faster
if (rc == may_rewrite) {
@ -2598,7 +2591,7 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
__ cmp(flags, ftos);
__ br(Assembler::NE, notFloat);
// ftos
__ ldrs(v0, field);
__ access_load_at(T_FLOAT, IN_HEAP, noreg /* ftos */, field, noreg, noreg);
__ push(ftos);
// Rewrite bytecode to be faster
if (rc == may_rewrite) {
@ -2612,7 +2605,7 @@ void TemplateTable::getfield_or_static(int byte_no, bool is_static, RewriteContr
__ br(Assembler::NE, notDouble);
#endif
// dtos
__ ldrd(v0, field);
__ access_load_at(T_DOUBLE, IN_HEAP, noreg /* ftos */, field, noreg, noreg);
__ push(dtos);
// Rewrite bytecode to be faster
if (rc == may_rewrite) {
@ -2750,7 +2743,7 @@ void TemplateTable::putfield_or_static(int byte_no, bool is_static, RewriteContr
{
__ pop(btos);
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) {
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);
if (!is_static) pop_and_check_object(obj);
__ andw(r0, r0, 0x1);
__ strb(r0, field);
__ access_store_at(T_BOOLEAN, IN_HEAP, field, r0, noreg, noreg);
if (rc == may_rewrite) {
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);
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) {
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);
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) {
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);
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) {
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);
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) {
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);
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) {
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);
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) {
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);
break;
case Bytecodes::_fast_lputfield:
__ str(r0, field);
__ access_store_at(T_LONG, IN_HEAP, field, r0, noreg, noreg);
break;
case Bytecodes::_fast_iputfield:
__ strw(r0, field);
__ access_store_at(T_INT, IN_HEAP, field, r0, noreg, noreg);
break;
case Bytecodes::_fast_zputfield:
__ andw(r0, r0, 0x1); // boolean is true if LSB is 1
// fall through to bputfield
__ access_store_at(T_BOOLEAN, IN_HEAP, field, r0, noreg, noreg);
break;
case Bytecodes::_fast_bputfield:
__ strb(r0, field);
__ access_store_at(T_BYTE, IN_HEAP, field, r0, noreg, noreg);
break;
case Bytecodes::_fast_sputfield:
// fall through
__ access_store_at(T_SHORT, IN_HEAP, field, r0, noreg, noreg);
break;
case Bytecodes::_fast_cputfield:
__ strh(r0, field);
__ access_store_at(T_CHAR, IN_HEAP, field, r0, noreg, noreg);
break;
case Bytecodes::_fast_fputfield:
__ strs(v0, field);
__ access_store_at(T_FLOAT, IN_HEAP, field, noreg /* ftos */, noreg, noreg);
break;
case Bytecodes::_fast_dputfield:
__ strd(v0, field);
__ access_store_at(T_DOUBLE, IN_HEAP, field, noreg /* dtos */, noreg, noreg);
break;
default:
ShouldNotReachHere();
@ -3098,25 +3091,25 @@ void TemplateTable::fast_accessfield(TosState state)
__ verify_oop(r0);
break;
case Bytecodes::_fast_lgetfield:
__ ldr(r0, field);
__ access_load_at(T_LONG, IN_HEAP, r0, field, noreg, noreg);
break;
case Bytecodes::_fast_igetfield:
__ ldrw(r0, field);
__ access_load_at(T_INT, IN_HEAP, r0, field, noreg, noreg);
break;
case Bytecodes::_fast_bgetfield:
__ load_signed_byte(r0, field);
__ access_load_at(T_BYTE, IN_HEAP, r0, field, noreg, noreg);
break;
case Bytecodes::_fast_sgetfield:
__ load_signed_short(r0, field);
__ access_load_at(T_SHORT, IN_HEAP, r0, field, noreg, noreg);
break;
case Bytecodes::_fast_cgetfield:
__ load_unsigned_short(r0, field);
__ access_load_at(T_CHAR, IN_HEAP, r0, field, noreg, noreg);
break;
case Bytecodes::_fast_fgetfield:
__ ldrs(v0, field);
__ access_load_at(T_FLOAT, IN_HEAP, noreg /* ftos */, field, noreg, noreg);
break;
case Bytecodes::_fast_dgetfield:
__ ldrd(v0, field);
__ access_load_at(T_DOUBLE, IN_HEAP, noreg /* dtos */, field, noreg, noreg);
break;
default:
ShouldNotReachHere();
@ -3161,14 +3154,14 @@ void TemplateTable::fast_xaccess(TosState state)
__ null_check(r0);
switch (state) {
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;
case atos:
do_oop_load(_masm, Address(r0, r1, Address::lsl(0)), r0, IN_HEAP);
__ verify_oop(r0);
break;
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;
default:
ShouldNotReachHere();

@ -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.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@ -24,7 +24,7 @@
*/
#include "precompiled.hpp"
#include "asm/macroAssembler.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "assembler_aarch64.inline.hpp"
#include "code/vtableStubs.hpp"
#include "interp_masm_aarch64.hpp"

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

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

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

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

@ -26,6 +26,7 @@
#include "asm/macroAssembler.inline.hpp"
#include "gc/g1/g1BarrierSet.hpp"
#include "gc/g1/g1BarrierSetAssembler.hpp"
#include "gc/g1/g1BarrierSetRuntime.hpp"
#include "gc/g1/g1ThreadLocalData.hpp"
#include "gc/g1/g1CardTable.hpp"
#include "gc/g1/g1ThreadLocalData.hpp"
@ -74,7 +75,7 @@ void G1BarrierSetAssembler::gen_write_ref_array_pre_barrier(MacroAssembler* masm
__ mov(R0, addr);
}
#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
if (count != R1) {
__ mov(R1, count);
@ -82,9 +83,9 @@ void G1BarrierSetAssembler::gen_write_ref_array_pre_barrier(MacroAssembler* masm
#endif // AARCH64
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 {
__ 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
@ -106,7 +107,7 @@ void G1BarrierSetAssembler::gen_write_ref_array_post_barrier(MacroAssembler* mas
__ mov(R0, addr);
}
#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
if (count != R1) {
__ mov(R1, count);
@ -120,7 +121,7 @@ void G1BarrierSetAssembler::gen_write_ref_array_post_barrier(MacroAssembler* mas
__ push(R9);
#endif // !R9_IS_SCRATCHED
#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
#if R9_IS_SCRATCHED
__ pop(R9);
@ -205,7 +206,7 @@ void G1BarrierSetAssembler::g1_write_barrier_pre(MacroAssembler* masm,
}
__ 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
if (store_addr != noreg) {
@ -296,7 +297,7 @@ void G1BarrierSetAssembler::g1_write_barrier_post(MacroAssembler* masm,
__ mov(R0, card_addr);
}
__ 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);
}
@ -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");
__ 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();
@ -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");
__ 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();

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

@ -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.
*
* 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
#include "asm/macroAssembler.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "interpreter/invocationCounter.hpp"
#include "runtime/frame.hpp"
#include "prims/jvmtiExport.hpp"

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

@ -36,6 +36,7 @@
#include "gc/shared/collectedHeap.inline.hpp"
#include "interpreter/interpreter.hpp"
#include "memory/resourceArea.hpp"
#include "oops/accessDecorators.hpp"
#include "oops/klass.inline.hpp"
#include "prims/methodHandles.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
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);
str(tmp, Address(Rthread, in_bytes(JavaThread::allocated_bytes_offset())), cc);
str(tmp, Address(Ralloc), 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)
@ -1386,14 +1390,17 @@ void MacroAssembler::incr_allocated_bytes(RegisterOrConstant size_in_bytes, Regi
}
push(RegisterSet(low, high));
ldrd(low, Address(Rthread, in_bytes(JavaThread::allocated_bytes_offset())));
ldrd(low, Address(Ralloc));
adds(low, low, size_in_bytes);
adc(high, high, 0);
strd(low, Address(Rthread, in_bytes(JavaThread::allocated_bytes_offset())));
strd(low, Address(Ralloc));
pop(RegisterSet(low, high));
bind(done);
// Unborrow the Rthread
sub(Rthread, Ralloc, in_bytes(JavaThread::allocated_bytes_offset()));
#endif // AARCH64
}
@ -2133,7 +2140,7 @@ void MacroAssembler::resolve_jobject(Register value,
b(done);
bind(not_weak);
// 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);
verify_oop(value);
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,
Address src, Register dst, Register tmp1, Register tmp2, Register tmp3) {
BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
decorators = AccessInternal::decorator_fixup(decorators);
bool as_raw = (decorators & AS_RAW) != 0;
if (as_raw) {
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,
Address obj, Register new_val, Register tmp1, Register tmp2, Register tmp3, bool is_null) {
BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
decorators = AccessInternal::decorator_fixup(decorators);
bool as_raw = (decorators & AS_RAW) != 0;
if (as_raw) {
bs->BarrierSetAssembler::store_at(this, decorators, type, obj, new_val, tmp1, tmp2, tmp3, is_null);

@ -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.
*
* This code is free software; you can redistribute it and/or modify it
@ -29,7 +29,7 @@
#include "nativeInst_arm.hpp"
#include "oops/compressedOops.inline.hpp"
#include "oops/oop.hpp"
#include "runtime/orderAccess.inline.hpp"
#include "runtime/orderAccess.hpp"
#include "runtime/safepoint.hpp"
void Relocation::pd_set_data_value(address x, intptr_t o, bool verify_only) {

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

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

@ -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.
*
* This code is free software; you can redistribute it and/or modify it
@ -24,6 +24,7 @@
#include "precompiled.hpp"
#include "asm/assembler.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "assembler_arm.inline.hpp"
#include "code/vtableStubs.hpp"
#include "interp_masm_arm.hpp"

@ -486,7 +486,7 @@ int Assembler::add_const_optimized(Register d, Register s, long x, Register tmp,
// Case 2: Can use addis.
if (xd == 0) {
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) {
addis(d, s, xc);
return 0;

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

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

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