提交 00eed51a 编写于 作者: J jprovino

Merge

...@@ -168,12 +168,12 @@ endif ...@@ -168,12 +168,12 @@ endif
# conversions which might affect the values. To avoid that, we need to turn # conversions which might affect the values. To avoid that, we need to turn
# it off explicitly. # it off explicitly.
ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 3 \) \))" "0" ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 3 \) \))" "0"
ACCEPTABLE_WARNINGS = -Wpointer-arith -Wsign-compare WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef
else else
ACCEPTABLE_WARNINGS = -Wpointer-arith -Wconversion -Wsign-compare WARNING_FLAGS = -Wpointer-arith -Wconversion -Wsign-compare -Wundef
endif endif
CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ACCEPTABLE_WARNINGS) CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(WARNING_FLAGS)
# Special cases # Special cases
CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@)) CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
# XXXDARWIN: for _dyld_bind_fully_image_containing_address # XXXDARWIN: for _dyld_bind_fully_image_containing_address
......
...@@ -69,7 +69,7 @@ ifeq ($(INCLUDE_CDS), false) ...@@ -69,7 +69,7 @@ ifeq ($(INCLUDE_CDS), false)
CXXFLAGS += -DINCLUDE_CDS=0 CXXFLAGS += -DINCLUDE_CDS=0
CFLAGS += -DINCLUDE_CDS=0 CFLAGS += -DINCLUDE_CDS=0
Src_Files_EXCLUDE += metaspaceShared.cpp Src_Files_EXCLUDE += filemap.cpp metaspaceShared.cpp
endif endif
ifeq ($(INCLUDE_ALL_GCS), false) ifeq ($(INCLUDE_ALL_GCS), false)
......
...@@ -131,12 +131,12 @@ WARNINGS_ARE_ERRORS = -Werror ...@@ -131,12 +131,12 @@ WARNINGS_ARE_ERRORS = -Werror
# conversions which might affect the values. To avoid that, we need to turn # conversions which might affect the values. To avoid that, we need to turn
# it off explicitly. # it off explicitly.
ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 3 \) \))" "0" ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 3 \) \))" "0"
ACCEPTABLE_WARNINGS = -Wpointer-arith -Wsign-compare WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef
else else
ACCEPTABLE_WARNINGS = -Wpointer-arith -Wconversion -Wsign-compare WARNING_FLAGS = -Wpointer-arith -Wconversion -Wsign-compare -Wundef
endif endif
CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ACCEPTABLE_WARNINGS) CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(WARNING_FLAGS)
# Special cases # Special cases
CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@)) CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
......
...@@ -118,8 +118,8 @@ endif ...@@ -118,8 +118,8 @@ endif
# Compiler warnings are treated as errors # Compiler warnings are treated as errors
WARNINGS_ARE_ERRORS = -Werror WARNINGS_ARE_ERRORS = -Werror
# Enable these warnings. See 'info gcc' about details on these options # Enable these warnings. See 'info gcc' about details on these options
ADDITIONAL_WARNINGS = -Wpointer-arith -Wconversion -Wsign-compare WARNING_FLAGS = -Wpointer-arith -Wconversion -Wsign-compare -Wundef
CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ADDITIONAL_WARNINGS) CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(WARNING_FLAGS)
# Special cases # Special cases
CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@)) CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
......
...@@ -356,7 +356,7 @@ frame frame::sender_for_entry_frame(RegisterMap* map) const { ...@@ -356,7 +356,7 @@ frame frame::sender_for_entry_frame(RegisterMap* map) const {
// Verifies the calculated original PC of a deoptimization PC for the // Verifies the calculated original PC of a deoptimization PC for the
// given unextended SP. The unextended SP might also be the saved SP // given unextended SP. The unextended SP might also be the saved SP
// for MethodHandle call sites. // for MethodHandle call sites.
#if ASSERT #ifdef ASSERT
void frame::verify_deopt_original_pc(nmethod* nm, intptr_t* unextended_sp, bool is_method_handle_return) { void frame::verify_deopt_original_pc(nmethod* nm, intptr_t* unextended_sp, bool is_method_handle_return) {
frame fr; frame fr;
......
...@@ -170,7 +170,7 @@ ...@@ -170,7 +170,7 @@
return (intptr_t*) addr_at(offset); return (intptr_t*) addr_at(offset);
} }
#if ASSERT #ifdef ASSERT
// Used in frame::sender_for_{interpreter,compiled}_frame // Used in frame::sender_for_{interpreter,compiled}_frame
static void verify_deopt_original_pc( nmethod* nm, intptr_t* unextended_sp, bool is_method_handle_return = false); static void verify_deopt_original_pc( nmethod* nm, intptr_t* unextended_sp, bool is_method_handle_return = false);
static void verify_deopt_mh_original_pc(nmethod* nm, intptr_t* unextended_sp) { static void verify_deopt_mh_original_pc(nmethod* nm, intptr_t* unextended_sp) {
......
...@@ -2375,7 +2375,7 @@ class LIR_OpVisitState: public StackObj { ...@@ -2375,7 +2375,7 @@ class LIR_OpVisitState: public StackObj {
// collects all register operands of the instruction // collects all register operands of the instruction
void visit(LIR_Op* op); void visit(LIR_Op* op);
#if ASSERT #ifdef ASSERT
// check that an operation has no operands // check that an operation has no operands
bool no_operands(LIR_Op* op); bool no_operands(LIR_Op* op);
#endif #endif
......
...@@ -2540,7 +2540,7 @@ void ciTypeFlow::build_loop_tree(Block* blk) { ...@@ -2540,7 +2540,7 @@ void ciTypeFlow::build_loop_tree(Block* blk) {
} else if (innermost->head() == blk) { } else if (innermost->head() == blk) {
// If loop header, complete the tree pointers // If loop header, complete the tree pointers
if (blk->loop() != innermost) { if (blk->loop() != innermost) {
#if ASSERT #ifdef ASSERT
assert(blk->loop()->head() == innermost->head(), "same head"); assert(blk->loop()->head() == innermost->head(), "same head");
Loop* dl; Loop* dl;
for (dl = innermost; dl != NULL && dl != blk->loop(); dl = dl->parent()); for (dl = innermost; dl != NULL && dl != blk->loop(); dl = dl->parent());
......
...@@ -195,7 +195,7 @@ void CompressedWriteStream::write_int_mb(jint value) { ...@@ -195,7 +195,7 @@ void CompressedWriteStream::write_int_mb(jint value) {
// for this block (a matching directive turns it back on later). // for this block (a matching directive turns it back on later).
// These directives can be removed once the MS VS.NET 2005 // These directives can be removed once the MS VS.NET 2005
// compiler stack overflow is fixed. // compiler stack overflow is fixed.
#if _MSC_VER >=1400 && !defined(_WIN64) #if defined(_MSC_VER) && _MSC_VER >=1400 && !defined(_WIN64)
#pragma optimize("", off) #pragma optimize("", off)
#pragma warning(disable: 4748) #pragma warning(disable: 4748)
#endif #endif
...@@ -276,7 +276,7 @@ void test_compressed_stream(int trace) { ...@@ -276,7 +276,7 @@ void test_compressed_stream(int trace) {
guarantee(fails == 0, "test failures"); guarantee(fails == 0, "test failures");
} }
#if _MSC_VER >=1400 && !defined(_WIN64) #if defined(_MSC_VER) &&_MSC_VER >=1400 && !defined(_WIN64)
#pragma warning(default: 4748) #pragma warning(default: 4748)
#pragma optimize("", on) #pragma optimize("", on)
#endif #endif
......
...@@ -1310,11 +1310,6 @@ void ConcurrentMark::checkpointRootsFinal(bool clear_all_soft_refs) { ...@@ -1310,11 +1310,6 @@ void ConcurrentMark::checkpointRootsFinal(bool clear_all_soft_refs) {
_markStack.expand(); _markStack.expand();
} }
#if VERIFY_OBJS_PROCESSED
_scan_obj_cl.objs_processed = 0;
ThreadLocalObjQueue::objs_enqueued = 0;
#endif
// Statistics // Statistics
double now = os::elapsedTime(); double now = os::elapsedTime();
_remark_mark_times.add((mark_work_end - start) * 1000.0); _remark_mark_times.add((mark_work_end - start) * 1000.0);
...@@ -2555,17 +2550,6 @@ void ConcurrentMark::checkpointRootsFinalWork() { ...@@ -2555,17 +2550,6 @@ void ConcurrentMark::checkpointRootsFinalWork() {
guarantee(satb_mq_set.completed_buffers_num() == 0, "invariant"); guarantee(satb_mq_set.completed_buffers_num() == 0, "invariant");
print_stats(); print_stats();
#if VERIFY_OBJS_PROCESSED
if (_scan_obj_cl.objs_processed != ThreadLocalObjQueue::objs_enqueued) {
gclog_or_tty->print_cr("Processed = %d, enqueued = %d.",
_scan_obj_cl.objs_processed,
ThreadLocalObjQueue::objs_enqueued);
guarantee(_scan_obj_cl.objs_processed ==
ThreadLocalObjQueue::objs_enqueued,
"Different number of objs processed and enqueued.");
}
#endif
} }
#ifndef PRODUCT #ifndef PRODUCT
......
...@@ -112,12 +112,19 @@ public: ...@@ -112,12 +112,19 @@ public:
char* region_base(int i) { return _header._space[i]._base; } char* region_base(int i) { return _header._space[i]._base; }
struct FileMapHeader* header() { return &_header; } struct FileMapHeader* header() { return &_header; }
static void set_current_info(FileMapInfo* info) { _current_info = info; } static void set_current_info(FileMapInfo* info) {
static FileMapInfo* current_info() { return _current_info; } CDS_ONLY(_current_info = info;)
}
static FileMapInfo* current_info() {
CDS_ONLY(return _current_info;)
NOT_CDS(return NULL;)
}
static void assert_mark(bool check); static void assert_mark(bool check);
// File manipulation. // File manipulation.
bool initialize(); bool initialize() NOT_CDS_RETURN_(false);
bool open_for_read(); bool open_for_read();
void open_for_write(); void open_for_write();
void write_header(); void write_header();
...@@ -141,7 +148,7 @@ public: ...@@ -141,7 +148,7 @@ public:
void fail_continue(const char *msg, ...); void fail_continue(const char *msg, ...);
// Return true if given address is in the mapped shared space. // Return true if given address is in the mapped shared space.
bool is_in_shared_space(const void* p); bool is_in_shared_space(const void* p) NOT_CDS_RETURN_(false);
}; };
#endif // SHARE_VM_MEMORY_FILEMAP_HPP #endif // SHARE_VM_MEMORY_FILEMAP_HPP
...@@ -890,7 +890,7 @@ void JvmtiSuspendControl::print() { ...@@ -890,7 +890,7 @@ void JvmtiSuspendControl::print() {
tty->print("Suspended Threads: ["); tty->print("Suspended Threads: [");
for (JavaThread *thread = Threads::first(); thread != NULL; thread = thread->next()) { for (JavaThread *thread = Threads::first(); thread != NULL; thread = thread->next()) {
#if JVMTI_TRACE #ifdef JVMTI_TRACE
const char *name = JvmtiTrace::safe_get_thread_name(thread); const char *name = JvmtiTrace::safe_get_thread_name(thread);
#else #else
const char *name = ""; const char *name = "";
......
...@@ -43,10 +43,10 @@ ...@@ -43,10 +43,10 @@
// Support tracing except in product build on the client compiler // Support tracing except in product build on the client compiler
#ifndef PRODUCT #ifndef PRODUCT
#define JVMTI_TRACE 1 #define JVMTI_TRACE
#else #else
#ifdef COMPILER2 #ifdef COMPILER2
#define JVMTI_TRACE 1 #define JVMTI_TRACE
#endif #endif
#endif #endif
......
...@@ -2273,10 +2273,12 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args, ...@@ -2273,10 +2273,12 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args,
} }
#if !INCLUDE_JVMTI #if !INCLUDE_JVMTI
if ((strcmp(name, "hprof") == 0) || (strcmp(name, "jdwp") == 0)) { if ((strcmp(name, "hprof") == 0) || (strcmp(name, "jdwp") == 0)) {
warning("profiling and debugging agents are not supported in this VM"); jio_fprintf(defaultStream::error_stream(),
} else "Profiling and debugging agents are not supported in this VM\n");
return JNI_ERR;
}
#endif // !INCLUDE_JVMTI #endif // !INCLUDE_JVMTI
add_init_library(name, options); add_init_library(name, options);
} }
// -agentlib and -agentpath // -agentlib and -agentpath
} else if (match_option(option, "-agentlib:", &tail) || } else if (match_option(option, "-agentlib:", &tail) ||
...@@ -2293,16 +2295,19 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args, ...@@ -2293,16 +2295,19 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args,
} }
#if !INCLUDE_JVMTI #if !INCLUDE_JVMTI
if ((strcmp(name, "hprof") == 0) || (strcmp(name, "jdwp") == 0)) { if ((strcmp(name, "hprof") == 0) || (strcmp(name, "jdwp") == 0)) {
warning("profiling and debugging agents are not supported in this VM"); jio_fprintf(defaultStream::error_stream(),
} else "Profiling and debugging agents are not supported in this VM\n");
return JNI_ERR;
}
#endif // !INCLUDE_JVMTI #endif // !INCLUDE_JVMTI
add_init_agent(name, options, is_absolute_path); add_init_agent(name, options, is_absolute_path);
} }
// -javaagent // -javaagent
} else if (match_option(option, "-javaagent:", &tail)) { } else if (match_option(option, "-javaagent:", &tail)) {
#if !INCLUDE_JVMTI #if !INCLUDE_JVMTI
warning("Instrumentation agents are not supported in this VM"); jio_fprintf(defaultStream::error_stream(),
"Instrumentation agents are not supported in this VM\n");
return JNI_ERR;
#else #else
if(tail != NULL) { if(tail != NULL) {
char *options = strcpy(NEW_C_HEAP_ARRAY(char, strlen(tail) + 1, mtInternal), tail); char *options = strcpy(NEW_C_HEAP_ARRAY(char, strlen(tail) + 1, mtInternal), tail);
...@@ -2443,8 +2448,9 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args, ...@@ -2443,8 +2448,9 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args,
#if INCLUDE_FPROF #if INCLUDE_FPROF
_has_profile = true; _has_profile = true;
#else // INCLUDE_FPROF #else // INCLUDE_FPROF
// do we have to exit? jio_fprintf(defaultStream::error_stream(),
warning("Flat profiling is not supported in this VM."); "Flat profiling is not supported in this VM.\n");
return JNI_ERR;
#endif // INCLUDE_FPROF #endif // INCLUDE_FPROF
// -Xaprof // -Xaprof
} else if (match_option(option, "-Xaprof", &tail)) { } else if (match_option(option, "-Xaprof", &tail)) {
...@@ -2478,8 +2484,9 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args, ...@@ -2478,8 +2484,9 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args,
#if INCLUDE_MANAGEMENT #if INCLUDE_MANAGEMENT
FLAG_SET_CMDLINE(bool, ManagementServer, true); FLAG_SET_CMDLINE(bool, ManagementServer, true);
#else #else
vm_exit_during_initialization( jio_fprintf(defaultStream::output_stream(),
"-Dcom.sun.management is not supported in this VM.", NULL); "-Dcom.sun.management is not supported in this VM.\n");
return JNI_ERR;
#endif #endif
} }
// -Xint // -Xint
...@@ -2492,16 +2499,10 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args, ...@@ -2492,16 +2499,10 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args,
} else if (match_option(option, "-Xcomp", &tail)) { } else if (match_option(option, "-Xcomp", &tail)) {
// for testing the compiler; turn off all flags that inhibit compilation // for testing the compiler; turn off all flags that inhibit compilation
set_mode_flags(_comp); set_mode_flags(_comp);
// -Xshare:dump // -Xshare:dump
} else if (match_option(option, "-Xshare:dump", &tail)) { } else if (match_option(option, "-Xshare:dump", &tail)) {
#if !INCLUDE_CDS
vm_exit_during_initialization(
"Dumping a shared archive is not supported in this VM.", NULL);
#else
FLAG_SET_CMDLINE(bool, DumpSharedSpaces, true); FLAG_SET_CMDLINE(bool, DumpSharedSpaces, true);
set_mode_flags(_int); // Prevent compilation, which creates objects set_mode_flags(_int); // Prevent compilation, which creates objects
#endif
// -Xshare:on // -Xshare:on
} else if (match_option(option, "-Xshare:on", &tail)) { } else if (match_option(option, "-Xshare:on", &tail)) {
FLAG_SET_CMDLINE(bool, UseSharedSpaces, true); FLAG_SET_CMDLINE(bool, UseSharedSpaces, true);
...@@ -2514,7 +2515,6 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args, ...@@ -2514,7 +2515,6 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args,
} else if (match_option(option, "-Xshare:off", &tail)) { } else if (match_option(option, "-Xshare:off", &tail)) {
FLAG_SET_CMDLINE(bool, UseSharedSpaces, false); FLAG_SET_CMDLINE(bool, UseSharedSpaces, false);
FLAG_SET_CMDLINE(bool, RequireSharedSpaces, false); FLAG_SET_CMDLINE(bool, RequireSharedSpaces, false);
// -Xverify // -Xverify
} else if (match_option(option, "-Xverify", &tail)) { } else if (match_option(option, "-Xverify", &tail)) {
if (strcmp(tail, ":all") == 0 || strcmp(tail, "") == 0) { if (strcmp(tail, ":all") == 0 || strcmp(tail, "") == 0) {
...@@ -2828,8 +2828,9 @@ SOLARIS_ONLY( ...@@ -2828,8 +2828,9 @@ SOLARIS_ONLY(
FLAG_SET_CMDLINE(bool, UseVMInterruptibleIO, true); FLAG_SET_CMDLINE(bool, UseVMInterruptibleIO, true);
#if !INCLUDE_MANAGEMENT #if !INCLUDE_MANAGEMENT
} else if (match_option(option, "-XX:+ManagementServer", &tail)) { } else if (match_option(option, "-XX:+ManagementServer", &tail)) {
vm_exit_during_initialization( jio_fprintf(defaultStream::error_stream(),
"ManagementServer is not supported in this VM.", NULL); "ManagementServer is not supported in this VM.\n");
return JNI_ERR;
#endif // INCLUDE_MANAGEMENT #endif // INCLUDE_MANAGEMENT
} else if (match_option(option, "-XX:", &tail)) { // -XX:xxxx } else if (match_option(option, "-XX:", &tail)) { // -XX:xxxx
// Skip -XX:Flags= since that case has already been handled // Skip -XX:Flags= since that case has already been handled
...@@ -3135,7 +3136,9 @@ jint Arguments::parse(const JavaVMInitArgs* args) { ...@@ -3135,7 +3136,9 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
#if INCLUDE_NMT #if INCLUDE_NMT
MemTracker::init_tracking_options(tail); MemTracker::init_tracking_options(tail);
#else #else
warning("Native Memory Tracking is not supported in this VM"); jio_fprintf(defaultStream::error_stream(),
"Native Memory Tracking is not supported in this VM\n");
return JNI_ERR;
#endif #endif
} }
...@@ -3254,6 +3257,16 @@ jint Arguments::parse(const JavaVMInitArgs* args) { ...@@ -3254,6 +3257,16 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
force_serial_gc(); force_serial_gc();
#endif // INCLUDE_ALL_GCS #endif // INCLUDE_ALL_GCS
#if !INCLUDE_CDS #if !INCLUDE_CDS
if (DumpSharedSpaces || RequireSharedSpaces) {
jio_fprintf(defaultStream::error_stream(),
"Shared spaces are not supported in this VM\n");
return JNI_ERR;
}
if (UseSharedSpaces || PrintSharedSpaces) {
warning("Shared spaces are not supported in this VM");
FLAG_SET_DEFAULT(UseSharedSpaces, false);
FLAG_SET_DEFAULT(PrintSharedSpaces, false);
}
no_shared_spaces(); no_shared_spaces();
#endif // INCLUDE_CDS #endif // INCLUDE_CDS
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册