diff --git a/make/bsd/makefiles/buildtree.make b/make/bsd/makefiles/buildtree.make index b39bf2236500ce165e14d7260da274b1a957a832..24bc91d813455f732eab1df87fb1e19baa5b19ee 100644 --- a/make/bsd/makefiles/buildtree.make +++ b/make/bsd/makefiles/buildtree.make @@ -102,6 +102,8 @@ endif ALWAYS_EXCLUDE_DIRS = $(SCM_DIRS) +ALWAYS_EXCLUDE_DIRS += -o -name jfr + ifeq ($(VARIANT),tiered) TOPLEVEL_EXCLUDE_DIRS = $(ALWAYS_EXCLUDE_DIRS) -o -name adlc -o -name agent else diff --git a/make/bsd/makefiles/trace.make b/make/bsd/makefiles/trace.make index ceb40c87846f42b9e2ba80a2044ec3291338a4bf..ba93ff2503e638ff1076a82be848ab21cad6821e 100644 --- a/make/bsd/makefiles/trace.make +++ b/make/bsd/makefiles/trace.make @@ -51,7 +51,9 @@ VPATH += $(Src_Dirs_V:%=%:) TraceGeneratedNames = \ traceEventClasses.hpp \ traceEventIds.hpp \ - traceTypes.hpp + traceTypes.hpp \ + traceEventControl.hpp \ + tracePeriodic.hpp ifeq ($(HAS_ALT_SRC), true) TraceGeneratedNames += \ @@ -92,6 +94,12 @@ $(TraceOutDir)/traceEventIds.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceE $(TraceOutDir)/traceTypes.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceTypes.xsl $(XML_DEPS) $(GENERATE_CODE) +$(TraceOutDir)/traceEventControl.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceEventControl.xsl $(XML_DEPS) + $(GENERATE_CODE) + +$(TraceOutDir)/tracePeriodic.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/tracePeriodic.xsl $(XML_DEPS) + $(GENERATE_CODE) + ifeq ($(HAS_ALT_SRC), false) $(TraceOutDir)/traceEventClasses.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceEventClasses.xsl $(XML_DEPS) diff --git a/make/bsd/makefiles/vm.make b/make/bsd/makefiles/vm.make index f07338c6be6184204a273d7a3d70760f7582861f..dc39cf0f7ceb1fd0c4fe907927d87cfd77334992 100644 --- a/make/bsd/makefiles/vm.make +++ b/make/bsd/makefiles/vm.make @@ -38,6 +38,8 @@ default: build GENERATED = ../generated DEP_DIR = $(GENERATED)/dependencies +EXCLUDE_JFR_PATHS:= -o -name jfr -prune + # reads the generated files defining the set of .o's and the .o .h dependencies -include $(DEP_DIR)/*.d @@ -48,6 +50,7 @@ else include $(MAKEFILES_DIR)/$(BUILDARCH).make endif + # set VPATH so make knows where to look for source files # Src_Dirs_V is everything in src/share/vm/*, plus the right os/*/vm and cpu/*/vm # The adfiles directory contains ad_.[ch]pp. @@ -168,7 +171,7 @@ SPECIAL_PATHS:=adlc c1 gc_implementation opto shark libadt SOURCE_PATHS=\ $(shell find $(HS_COMMON_SRC)/share/vm/* -type d \! \ - \( -name DUMMY $(foreach dir,$(SPECIAL_PATHS),-o -name $(dir)) \)) + \( -name DUMMY $(foreach dir,$(SPECIAL_PATHS),-o -name $(dir)) $(EXCLUDE_JFR_PATHS) \)) SOURCE_PATHS+=$(HS_COMMON_SRC)/os/$(Platform_os_family)/vm SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm @@ -177,12 +180,6 @@ SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path)) CORE_PATHS+=$(GENERATED)/jvmtifiles $(GENERATED)/tracefiles -ifneq ($(INCLUDE_TRACE), false) -CORE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \ - find $(HS_ALT_SRC)/share/vm/jfr -type d; \ - fi) -endif - COMPILER1_PATHS := $(call altsrc,$(HS_COMMON_SRC)/share/vm/c1) COMPILER1_PATHS += $(HS_COMMON_SRC)/share/vm/c1 diff --git a/make/windows/create_obj_files.sh b/make/windows/create_obj_files.sh index c17b0690e1762b8ab98c297cf2c139e20e84be55..3caa2edf349c1ba807d93faba2f9f84729989462 100644 --- a/make/windows/create_obj_files.sh +++ b/make/windows/create_obj_files.sh @@ -58,7 +58,7 @@ COMMONSRC=${WorkSpace}/${COMMONSRC_REL} ALTSRC=${WorkSpace}/${ALTSRC_REL} BASE_PATHS="`if [ -d ${ALTSRC}/share/vm ]; then $FIND ${ALTSRC}/share/vm ! -name vm -prune -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt \); fi`" -BASE_PATHS="${BASE_PATHS} ` $FIND ${COMMONSRC}/share/vm ! -name vm -prune -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt \)`" +BASE_PATHS="${BASE_PATHS} ` $FIND ${COMMONSRC}/share/vm ! -name vm -prune -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt -o -name jfr \)`" for sd in \ share/vm/gc_implementation/shared \ diff --git a/make/windows/makefiles/trace.make b/make/windows/makefiles/trace.make index 58fee24653c9e8102c08d01225e7c6267c017390..fd0e0857a22a035466dfb74688b83da686405a55 100644 --- a/make/windows/makefiles/trace.make +++ b/make/windows/makefiles/trace.make @@ -38,7 +38,9 @@ TraceSrcDir = $(WorkSpace)/src/share/vm/trace TraceGeneratedNames = \ traceEventClasses.hpp \ traceEventIds.hpp \ - traceTypes.hpp + traceTypes.hpp \ + traceEventControl.hpp \ + tracePeriodic.hpp !if EXISTS($(TraceAltSrcDir)) TraceGeneratedNames = $(TraceGeneratedNames) \ @@ -53,7 +55,9 @@ TraceGeneratedNames = $(TraceGeneratedNames) \ TraceGeneratedFiles = \ $(TraceOutDir)/traceEventClasses.hpp \ $(TraceOutDir)/traceEventIds.hpp \ - $(TraceOutDir)/traceTypes.hpp + $(TraceOutDir)/traceTypes.hpp \ + $(TraceOutDir)/traceEventControl.hpp \ + $(TraceOutDir)/tracePeriodic.hpp !if EXISTS($(TraceAltSrcDir)) TraceGeneratedFiles = $(TraceGeneratedFiles) \ @@ -65,7 +69,8 @@ TraceGeneratedFiles = $(TraceGeneratedFiles) \ XSLT = $(QUIETLY) $(REMOTE) $(RUN_JAVA) -classpath $(JvmtiOutDir) jvmtiGen XML_DEPS = $(TraceSrcDir)/trace.xml $(TraceSrcDir)/tracetypes.xml \ - $(TraceSrcDir)/trace.dtd $(TraceSrcDir)/xinclude.mod + $(TraceSrcDir)/tracerelationdecls.xml \ + $(TraceSrcDir)/traceevents.xml !if EXISTS($(TraceAltSrcDir)) XML_DEPS = $(XML_DEPS) $(TraceAltSrcDir)/traceevents.xml @@ -92,6 +97,14 @@ $(TraceOutDir)/traceEventClasses.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/tr @echo Generating OpenJDK $@ @$(XSLT) -IN $(TraceSrcDir)/trace.xml -XSL $(TraceSrcDir)/traceEventClasses.xsl -OUT $(TraceOutDir)/traceEventClasses.hpp +$(TraceOutDir)/traceEventControl.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceEventClasses.xsl $(XML_DEPS) + @echo Generating $@ + @$(XSLT) -IN $(TraceSrcDir)/trace.xml -XSL $(TraceSrcDir)/traceEventControl.xsl -OUT $(TraceOutDir)/traceEventControl.hpp + +$(TraceOutDir)/tracePeriodic.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/tracePeriodic.xsl $(XML_DEPS) + @echo Generating $@ + @$(XSLT) -IN $(TraceSrcDir)/trace.xml -XSL $(TraceSrcDir)/tracePeriodic.xsl -OUT $(TraceOutDir)/tracePeriodic.hpp + !else $(TraceOutDir)/traceEventClasses.hpp: $(TraceSrcDir)/trace.xml $(TraceAltSrcDir)/traceEventClasses.xsl $(XML_DEPS) diff --git a/src/cpu/x86/vm/rdtsc_x86.cpp b/src/cpu/x86/vm/rdtsc_x86.cpp index a880207c725f724b9d41e13878c1b978104b59a5..4ff9728f013028398a5340fe7720a5a28e7f6c2f 100644 --- a/src/cpu/x86/vm/rdtsc_x86.cpp +++ b/src/cpu/x86/vm/rdtsc_x86.cpp @@ -32,6 +32,14 @@ #include "os_linux_x86.inline.hpp" #endif +#ifdef TARGET_OS_ARCH_windows_x86 +#include "os_windows_x86.inline.hpp" +#endif + +#ifdef TARGET_OS_ARCH_bsd_x86 +#include "os_bsd_x86.inline.hpp" +#endif + static jlong baseline_counter = 0; static bool rdtsc_elapsed_counter_enabled = false; static jlong tsc_frequency = 0; diff --git a/src/share/vm/opto/superword.hpp b/src/share/vm/opto/superword.hpp index a5b52d9613940f64bcdbe0f902137a40b587d840..b0551a0b3d2b9b76a1d9c3b8bf7602310dfd380d 100644 --- a/src/share/vm/opto/superword.hpp +++ b/src/share/vm/opto/superword.hpp @@ -187,6 +187,29 @@ public: // ========================= SuperWord ===================== +//------------------------------OrderedPair--------------------------- +// Ordered pair of Node*. +class OrderedPair VALUE_OBJ_CLASS_SPEC { + protected: + Node* _p1; + Node* _p2; + public: + OrderedPair() : _p1(NULL), _p2(NULL) {} + OrderedPair(Node* p1, Node* p2) { + if (p1->_idx < p2->_idx) { + _p1 = p1; _p2 = p2; + } else { + _p1 = p2; _p2 = p1; + } + } + + bool operator==(const OrderedPair &rhs) { + return _p1 == rhs._p1 && _p2 == rhs._p2; + } + void print() { tty->print(" (%d, %d)", _p1->_idx, _p2->_idx); } + + static const OrderedPair initial; +}; // -----------------------------SWNodeInfo--------------------------------- // Per node info needed by SuperWord @@ -505,29 +528,4 @@ class SWPointer VALUE_OBJ_CLASS_SPEC { void print(); }; - -//------------------------------OrderedPair--------------------------- -// Ordered pair of Node*. -class OrderedPair VALUE_OBJ_CLASS_SPEC { - protected: - Node* _p1; - Node* _p2; - public: - OrderedPair() : _p1(NULL), _p2(NULL) {} - OrderedPair(Node* p1, Node* p2) { - if (p1->_idx < p2->_idx) { - _p1 = p1; _p2 = p2; - } else { - _p1 = p2; _p2 = p1; - } - } - - bool operator==(const OrderedPair &rhs) { - return _p1 == rhs._p1 && _p2 == rhs._p2; - } - void print() { tty->print(" (%d, %d)", _p1->_idx, _p2->_idx); } - - static const OrderedPair initial; -}; - #endif // SHARE_VM_OPTO_SUPERWORD_HPP diff --git a/src/share/vm/runtime/arguments.cpp b/src/share/vm/runtime/arguments.cpp index 2a9bbb3bfdb4992e90d5a8f36481c82d282b9b42..c67f89a5bc3100a1a76aef941ca79e60f4fb61a8 100644 --- a/src/share/vm/runtime/arguments.cpp +++ b/src/share/vm/runtime/arguments.cpp @@ -2640,11 +2640,13 @@ bool Arguments::check_vm_args_consistency() { // Check the minimum number of compiler threads status &=verify_min_value(CICompilerCount, min_number_of_compiler_threads, "CICompilerCount"); +#if INCLUDE_TRACE if ((FlightRecorder || StartFlightRecording != NULL) && !EnableJFR) { jio_fprintf(defaultStream::error_stream(), "The VM option -XX:+FlightRecorder or -XX:StartFlightRecording=... must be combined with -XX:+EnableJFR.\n"); status = false; } +#endif return status; } diff --git a/src/share/vm/utilities/macros.hpp b/src/share/vm/utilities/macros.hpp index da206d39827b0e2f7665642803095bdd69c73993..6b758e078d1599e1c01b58a2eb6c5f9bc92e9029 100644 --- a/src/share/vm/utilities/macros.hpp +++ b/src/share/vm/utilities/macros.hpp @@ -161,7 +161,11 @@ #endif // INCLUDE_NMT #ifndef INCLUDE_TRACE +#ifdef LINUX #define INCLUDE_TRACE 1 +#else +#define INCLUDE_TRACE 0 +#endif #endif // INCLUDE_TRACE // COMPILER1 variant diff --git a/src/share/vm/utilities/ticks.hpp b/src/share/vm/utilities/ticks.hpp index ff4cc47adc76e55fcc1305e23292a4b4c493ca29..a19194f1ae1ca55deec156b1ea1b9e0893d9dba3 100644 --- a/src/share/vm/utilities/ticks.hpp +++ b/src/share/vm/utilities/ticks.hpp @@ -116,12 +116,7 @@ class TraceElapsedCounterStamped : public TraceElapsedCounter { TraceElapsedCounterStamped(); }; -#if INCLUDE_TRACE typedef TraceElapsedCounter Ticks; typedef TraceElapsedInterval Tickspan; -#else -typedef ElapsedCounter Ticks; -typedef TicksInterval Tickspan; -#endif #endif // SHARE_VM_UTILITIES_TICKS_HPP