提交 2740fd12 编写于 作者: D dlong

Merge

...@@ -314,7 +314,7 @@ static void * pathmap_dlopen(const char * name, int mode) { ...@@ -314,7 +314,7 @@ static void * pathmap_dlopen(const char * name, int mode) {
handle = dlopen(name, mode); handle = dlopen(name, mode);
} }
if (_libsaproc_debug) { if (_libsaproc_debug) {
printf("libsaproc DEBUG: pathmap_dlopen %s return 0x%x\n", name, handle); printf("libsaproc DEBUG: pathmap_dlopen %s return 0x%lx\n", name, (unsigned long) handle);
} }
return handle; return handle;
} }
...@@ -661,30 +661,30 @@ init_classsharing_workaround(void *cd, const prmap_t* pmap, const char* obj_name ...@@ -661,30 +661,30 @@ init_classsharing_workaround(void *cd, const prmap_t* pmap, const char* obj_name
// read FileMapHeader // read FileMapHeader
size_t n = read(fd, pheader, sizeof(struct FileMapHeader)); size_t n = read(fd, pheader, sizeof(struct FileMapHeader));
if (n != sizeof(struct FileMapHeader)) { if (n != sizeof(struct FileMapHeader)) {
free(pheader);
close(fd);
char errMsg[ERR_MSG_SIZE]; char errMsg[ERR_MSG_SIZE];
sprintf(errMsg, "unable to read shared archive file map header from %s", classes_jsa); sprintf(errMsg, "unable to read shared archive file map header from %s", classes_jsa);
close(fd);
free(pheader);
THROW_NEW_DEBUGGER_EXCEPTION_(errMsg, 1); THROW_NEW_DEBUGGER_EXCEPTION_(errMsg, 1);
} }
// check file magic // check file magic
if (pheader->_magic != 0xf00baba2) { if (pheader->_magic != 0xf00baba2) {
free(pheader);
close(fd);
char errMsg[ERR_MSG_SIZE]; char errMsg[ERR_MSG_SIZE];
sprintf(errMsg, "%s has bad shared archive magic 0x%x, expecting 0xf00baba2", sprintf(errMsg, "%s has bad shared archive magic 0x%x, expecting 0xf00baba2",
classes_jsa, pheader->_magic); classes_jsa, pheader->_magic);
close(fd);
free(pheader);
THROW_NEW_DEBUGGER_EXCEPTION_(errMsg, 1); THROW_NEW_DEBUGGER_EXCEPTION_(errMsg, 1);
} }
// check version // check version
if (pheader->_version != CURRENT_ARCHIVE_VERSION) { if (pheader->_version != CURRENT_ARCHIVE_VERSION) {
free(pheader);
close(fd);
char errMsg[ERR_MSG_SIZE]; char errMsg[ERR_MSG_SIZE];
sprintf(errMsg, "%s has wrong shared archive version %d, expecting %d", sprintf(errMsg, "%s has wrong shared archive version %d, expecting %d",
classes_jsa, pheader->_version, CURRENT_ARCHIVE_VERSION); classes_jsa, pheader->_version, CURRENT_ARCHIVE_VERSION);
close(fd);
free(pheader);
THROW_NEW_DEBUGGER_EXCEPTION_(errMsg, 1); THROW_NEW_DEBUGGER_EXCEPTION_(errMsg, 1);
} }
......
...@@ -35,7 +35,7 @@ HOTSPOT_VM_COPYRIGHT=Copyright 2015 ...@@ -35,7 +35,7 @@ HOTSPOT_VM_COPYRIGHT=Copyright 2015
HS_MAJOR_VER=25 HS_MAJOR_VER=25
HS_MINOR_VER=60 HS_MINOR_VER=60
HS_BUILD_NUMBER=05 HS_BUILD_NUMBER=06
JDK_MAJOR_VER=1 JDK_MAJOR_VER=1
JDK_MINOR_VER=8 JDK_MINOR_VER=8
......
...@@ -337,47 +337,41 @@ else ...@@ -337,47 +337,41 @@ else
# Note: The Itanium gcc compiler crashes when using -gstabs. # Note: The Itanium gcc compiler crashes when using -gstabs.
DEBUG_CFLAGS/ia64 = -g DEBUG_CFLAGS/ia64 = -g
DEBUG_CFLAGS/amd64 = -g DEBUG_CFLAGS/amd64 = -g
DEBUG_CFLAGS/arm = -g
DEBUG_CFLAGS/ppc = -g
DEBUG_CFLAGS/ppc64 = -g DEBUG_CFLAGS/ppc64 = -g
DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH)) DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH))
ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),) ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),)
ifeq ($(USE_CLANG), true) ifeq ($(USE_CLANG), true)
# Clang doesn't understand -gstabs # Clang doesn't understand -gstabs
DEBUG_CFLAGS += -g DEBUG_CFLAGS/$(BUILDARCH) = -g
else else
DEBUG_CFLAGS += -gstabs DEBUG_CFLAGS/$(BUILDARCH) = -gstabs
endif endif
endif endif
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
FASTDEBUG_CFLAGS/ia64 = -g FASTDEBUG_CFLAGS/ia64 = -g
FASTDEBUG_CFLAGS/amd64 = -g FASTDEBUG_CFLAGS/amd64 = -g
FASTDEBUG_CFLAGS/arm = -g
FASTDEBUG_CFLAGS/ppc = -g
FASTDEBUG_CFLAGS/ppc64 = -g FASTDEBUG_CFLAGS/ppc64 = -g
FASTDEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH)) FASTDEBUG_CFLAGS += $(FASTDEBUG_CFLAGS/$(BUILDARCH))
ifeq ($(FASTDEBUG_CFLAGS/$(BUILDARCH)),) ifeq ($(FASTDEBUG_CFLAGS/$(BUILDARCH)),)
ifeq ($(USE_CLANG), true) ifeq ($(USE_CLANG), true)
# Clang doesn't understand -gstabs # Clang doesn't understand -gstabs
FASTDEBUG_CFLAGS += -g FASTDEBUG_CFLAGS/$(BUILDARCH) = -g
else else
FASTDEBUG_CFLAGS += -gstabs FASTDEBUG_CFLAGS/$(BUILDARCH) = -gstabs
endif endif
endif endif
OPT_CFLAGS/ia64 = -g OPT_CFLAGS/ia64 = -g
OPT_CFLAGS/amd64 = -g OPT_CFLAGS/amd64 = -g
OPT_CFLAGS/arm = -g
OPT_CFLAGS/ppc = -g
OPT_CFLAGS/ppc64 = -g OPT_CFLAGS/ppc64 = -g
OPT_CFLAGS += $(OPT_CFLAGS/$(BUILDARCH)) OPT_CFLAGS += $(OPT_CFLAGS/$(BUILDARCH))
ifeq ($(OPT_CFLAGS/$(BUILDARCH)),) ifeq ($(OPT_CFLAGS/$(BUILDARCH)),)
ifeq ($(USE_CLANG), true) ifeq ($(USE_CLANG), true)
# Clang doesn't understand -gstabs # Clang doesn't understand -gstabs
OPT_CFLAGS += -g OPT_CFLAGS/$(BUILDARCH) = -g
else else
OPT_CFLAGS += -gstabs OPT_CFLAGS/$(BUILDARCH) = -gstabs
endif endif
endif endif
endif endif
......
...@@ -6634,7 +6634,6 @@ void CMSCollector::reset(bool asynch) { ...@@ -6634,7 +6634,6 @@ void CMSCollector::reset(bool asynch) {
} }
void CMSCollector::do_CMS_operation(CMS_op_type op, GCCause::Cause gc_cause) { void CMSCollector::do_CMS_operation(CMS_op_type op, GCCause::Cause gc_cause) {
gclog_or_tty->date_stamp(PrintGC && PrintGCDateStamps);
TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty); TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty);
GCTraceTime t(GCCauseString("GC", gc_cause), PrintGC, !PrintGCDetails, NULL, _gc_tracer_cm->gc_id()); GCTraceTime t(GCCauseString("GC", gc_cause), PrintGC, !PrintGCDetails, NULL, _gc_tracer_cm->gc_id());
TraceCollectorStats tcs(counters()); TraceCollectorStats tcs(counters());
......
...@@ -1297,7 +1297,6 @@ bool G1CollectedHeap::do_collection(bool explicit_gc, ...@@ -1297,7 +1297,6 @@ bool G1CollectedHeap::do_collection(bool explicit_gc,
// Timing // Timing
assert(gc_cause() != GCCause::_java_lang_system_gc || explicit_gc, "invariant"); assert(gc_cause() != GCCause::_java_lang_system_gc || explicit_gc, "invariant");
gclog_or_tty->date_stamp(G1Log::fine() && PrintGCDateStamps);
TraceCPUTime tcpu(G1Log::finer(), true, gclog_or_tty); TraceCPUTime tcpu(G1Log::finer(), true, gclog_or_tty);
{ {
......
...@@ -230,7 +230,6 @@ void VM_CGC_Operation::release_and_notify_pending_list_lock() { ...@@ -230,7 +230,6 @@ void VM_CGC_Operation::release_and_notify_pending_list_lock() {
} }
void VM_CGC_Operation::doit() { void VM_CGC_Operation::doit() {
gclog_or_tty->date_stamp(G1Log::fine() && PrintGCDateStamps);
TraceCPUTime tcpu(G1Log::finer(), true, gclog_or_tty); TraceCPUTime tcpu(G1Log::finer(), true, gclog_or_tty);
GCTraceTime t(_printGCMessage, G1Log::fine(), true, G1CollectedHeap::heap()->gc_timer_cm(), G1CollectedHeap::heap()->concurrent_mark()->concurrent_gc_id()); GCTraceTime t(_printGCMessage, G1Log::fine(), true, G1CollectedHeap::heap()->gc_timer_cm(), G1CollectedHeap::heap()->concurrent_mark()->concurrent_gc_id());
SharedHeap* sh = SharedHeap::heap(); SharedHeap* sh = SharedHeap::heap();
......
...@@ -167,7 +167,6 @@ bool PSMarkSweep::invoke_no_policy(bool clear_all_softrefs) { ...@@ -167,7 +167,6 @@ bool PSMarkSweep::invoke_no_policy(bool clear_all_softrefs) {
{ {
HandleMark hm; HandleMark hm;
gclog_or_tty->date_stamp(PrintGC && PrintGCDateStamps);
TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty); TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty);
GCTraceTime t1(GCCauseString("Full GC", gc_cause), PrintGC, !PrintGCDetails, NULL, _gc_tracer->gc_id()); GCTraceTime t1(GCCauseString("Full GC", gc_cause), PrintGC, !PrintGCDetails, NULL, _gc_tracer->gc_id());
TraceCollectorStats tcs(counters()); TraceCollectorStats tcs(counters());
......
...@@ -2054,7 +2054,6 @@ bool PSParallelCompact::invoke_no_policy(bool maximum_heap_compaction) { ...@@ -2054,7 +2054,6 @@ bool PSParallelCompact::invoke_no_policy(bool maximum_heap_compaction) {
gc_task_manager()->task_idle_workers(); gc_task_manager()->task_idle_workers();
heap->set_par_threads(gc_task_manager()->active_workers()); heap->set_par_threads(gc_task_manager()->active_workers());
gclog_or_tty->date_stamp(PrintGC && PrintGCDateStamps);
TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty); TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty);
GCTraceTime t1(GCCauseString("Full GC", gc_cause), PrintGC, !PrintGCDetails, NULL, _gc_tracer.gc_id()); GCTraceTime t1(GCCauseString("Full GC", gc_cause), PrintGC, !PrintGCDetails, NULL, _gc_tracer.gc_id());
TraceCollectorStats tcs(counters()); TraceCollectorStats tcs(counters());
......
...@@ -329,7 +329,6 @@ bool PSScavenge::invoke_no_policy() { ...@@ -329,7 +329,6 @@ bool PSScavenge::invoke_no_policy() {
ResourceMark rm; ResourceMark rm;
HandleMark hm; HandleMark hm;
gclog_or_tty->date_stamp(PrintGC && PrintGCDateStamps);
TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty); TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty);
GCTraceTime t1(GCCauseString("GC", gc_cause), PrintGC, !PrintGCDetails, NULL, _gc_tracer.gc_id()); GCTraceTime t1(GCCauseString("GC", gc_cause), PrintGC, !PrintGCDetails, NULL, _gc_tracer.gc_id());
TraceCollectorStats tcs(counters()); TraceCollectorStats tcs(counters());
......
...@@ -49,10 +49,8 @@ GCTraceTime::GCTraceTime(const char* title, bool doit, bool print_cr, GCTimer* t ...@@ -49,10 +49,8 @@ GCTraceTime::GCTraceTime(const char* title, bool doit, bool print_cr, GCTimer* t
} }
if (_doit) { if (_doit) {
if (PrintGCTimeStamps) { gclog_or_tty->date_stamp(PrintGCDateStamps);
gclog_or_tty->stamp(); gclog_or_tty->stamp(PrintGCTimeStamps);
gclog_or_tty->print(": ");
}
if (PrintGCID) { if (PrintGCID) {
gclog_or_tty->print("#%u: ", gc_id.id()); gclog_or_tty->print("#%u: ", gc_id.id());
} }
......
...@@ -384,7 +384,6 @@ void GenCollectedHeap::do_collection(bool full, ...@@ -384,7 +384,6 @@ void GenCollectedHeap::do_collection(bool full,
bool complete = full && (max_level == (n_gens()-1)); bool complete = full && (max_level == (n_gens()-1));
const char* gc_cause_prefix = complete ? "Full GC" : "GC"; const char* gc_cause_prefix = complete ? "Full GC" : "GC";
gclog_or_tty->date_stamp(PrintGC && PrintGCDateStamps);
TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty); TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty);
// The PrintGCDetails logging starts before we have incremented the GC id. We will do that later // The PrintGCDetails logging starts before we have incremented the GC id. We will do that later
// so we can assume here that the next GC id is what we want. // so we can assume here that the next GC id is what we want.
......
...@@ -1572,7 +1572,7 @@ void Arguments::select_gc_ergonomically() { ...@@ -1572,7 +1572,7 @@ void Arguments::select_gc_ergonomically() {
void Arguments::select_gc() { void Arguments::select_gc() {
if (!gc_selected()) { if (!gc_selected()) {
ArgumentsExt::select_gc_ergonomically(); select_gc_ergonomically();
} }
} }
...@@ -2067,7 +2067,7 @@ bool Arguments::verify_MaxHeapFreeRatio(FormatBuffer<80>& err_msg, uintx max_hea ...@@ -2067,7 +2067,7 @@ bool Arguments::verify_MaxHeapFreeRatio(FormatBuffer<80>& err_msg, uintx max_hea
} }
// Check consistency of GC selection // Check consistency of GC selection
bool Arguments::check_gc_consistency_user() { bool Arguments::check_gc_consistency() {
check_gclog_consistency(); check_gclog_consistency();
bool status = true; bool status = true;
// Ensure that the user has not selected conflicting sets // Ensure that the user has not selected conflicting sets
...@@ -2233,7 +2233,7 @@ bool Arguments::check_vm_args_consistency() { ...@@ -2233,7 +2233,7 @@ bool Arguments::check_vm_args_consistency() {
FLAG_SET_DEFAULT(UseGCOverheadLimit, false); FLAG_SET_DEFAULT(UseGCOverheadLimit, false);
} }
status = status && check_gc_consistency_user(); status = status && check_gc_consistency();
status = status && check_stack_pages(); status = status && check_stack_pages();
if (CMSIncrementalMode) { if (CMSIncrementalMode) {
...@@ -4006,7 +4006,7 @@ jint Arguments::apply_ergo() { ...@@ -4006,7 +4006,7 @@ jint Arguments::apply_ergo() {
set_shared_spaces_flags(); set_shared_spaces_flags();
// Check the GC selections again. // Check the GC selections again.
if (!ArgumentsExt::check_gc_consistency_ergo()) { if (!check_gc_consistency()) {
return JNI_EINVAL; return JNI_EINVAL;
} }
......
...@@ -466,8 +466,7 @@ class Arguments : AllStatic { ...@@ -466,8 +466,7 @@ class Arguments : AllStatic {
static bool verify_MaxHeapFreeRatio(FormatBuffer<80>& err_msg, uintx max_heap_free_ratio); static bool verify_MaxHeapFreeRatio(FormatBuffer<80>& err_msg, uintx max_heap_free_ratio);
// Check for consistency in the selection of the garbage collector. // Check for consistency in the selection of the garbage collector.
static bool check_gc_consistency_user(); // Check user-selected gc static bool check_gc_consistency(); // Check user-selected gc
static inline bool check_gc_consistency_ergo(); // Check ergonomic-selected gc
static void check_deprecated_gcs(); static void check_deprecated_gcs();
static void check_deprecated_gc_flags(); static void check_deprecated_gc_flags();
// Check consistecy or otherwise of VM argument settings // Check consistecy or otherwise of VM argument settings
...@@ -615,8 +614,4 @@ bool Arguments::gc_selected() { ...@@ -615,8 +614,4 @@ bool Arguments::gc_selected() {
UseParNewGC || UseSerialGC; UseParNewGC || UseSerialGC;
} }
bool Arguments::check_gc_consistency_ergo() {
return check_gc_consistency_user();
}
#endif // SHARE_VM_RUNTIME_ARGUMENTS_HPP #endif // SHARE_VM_RUNTIME_ARGUMENTS_HPP
...@@ -30,22 +30,12 @@ ...@@ -30,22 +30,12 @@
class ArgumentsExt: AllStatic { class ArgumentsExt: AllStatic {
public: public:
static inline void select_gc_ergonomically();
static inline void set_gc_specific_flags(); static inline void set_gc_specific_flags();
static inline bool check_gc_consistency_ergo();
static void process_options(const JavaVMInitArgs* args) {} static void process_options(const JavaVMInitArgs* args) {}
}; };
void ArgumentsExt::select_gc_ergonomically() {
Arguments::select_gc_ergonomically();
}
void ArgumentsExt::set_gc_specific_flags() { void ArgumentsExt::set_gc_specific_flags() {
Arguments::set_gc_specific_flags(); Arguments::set_gc_specific_flags();
} }
bool ArgumentsExt::check_gc_consistency_ergo() {
return Arguments::check_gc_consistency_ergo();
}
#endif // SHARE_VM_RUNTIME_ARGUMENTS_EXT_HPP #endif // SHARE_VM_RUNTIME_ARGUMENTS_EXT_HPP
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册