7032458: Zero and Shark fixes
Reviewed-by: twisti
Contributed-by: Gary Benson <gbenson@redhat.com>
--- a/hotspot/src/cpu/zero/vm/globals_zero.hpp Sun Apr 03 12:00:54 2011 +0200
+++ b/hotspot/src/cpu/zero/vm/globals_zero.hpp Mon Apr 04 03:02:00 2011 -0700
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
+ * Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -54,4 +54,6 @@
define_pd_global(bool, UseMembar, false);
+// GC Ergo Flags
+define_pd_global(intx, CMSYoungGenPerWorker, 16*M); // default max size of CMS young gen, per GC worker thread
#endif // CPU_ZERO_VM_GLOBALS_ZERO_HPP
--- a/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp Sun Apr 03 12:00:54 2011 +0200
+++ b/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp Mon Apr 04 03:02:00 2011 -0700
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2007, 2009 Red Hat, Inc.
+ * Copyright 2007, 2009, 2010, 2011 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -31,7 +31,7 @@
#include "oops/oop.inline.hpp"
#include "runtime/safepoint.hpp"
-void Relocation::pd_set_data_value(address x, intptr_t o) {
+void Relocation::pd_set_data_value(address x, intptr_t o, bool verify_only) {
ShouldNotCallThis();
}
--- a/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp Sun Apr 03 12:00:54 2011 +0200
+++ b/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp Mon Apr 04 03:02:00 2011 -0700
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
+ * Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -78,15 +78,17 @@
nmethod *SharedRuntime::generate_native_wrapper(MacroAssembler *masm,
methodHandle method,
- int total_in_args,
- int comp_args_on_stack,
- BasicType *in_sig_bt,
- VMRegPair *in_regs,
+ int compile_id,
+ int total_args_passed,
+ int max_arg,
+ BasicType *sig_bt,
+ VMRegPair *regs,
BasicType ret_type) {
#ifdef SHARK
return SharkCompiler::compiler()->generate_native_wrapper(masm,
method,
- in_sig_bt,
+ compile_id,
+ sig_bt,
ret_type);
#else
ShouldNotCallThis();
--- a/hotspot/src/share/vm/ci/ciTypeFlow.hpp Sun Apr 03 12:00:54 2011 +0200
+++ b/hotspot/src/share/vm/ci/ciTypeFlow.hpp Mon Apr 04 03:02:00 2011 -0700
@@ -34,6 +34,7 @@
#include "ci/ciEnv.hpp"
#include "ci/ciKlass.hpp"
#include "ci/ciMethodBlocks.hpp"
+#include "shark/shark_globals.hpp"
#endif
--- a/hotspot/src/share/vm/compiler/compileBroker.cpp Sun Apr 03 12:00:54 2011 +0200
+++ b/hotspot/src/share/vm/compiler/compileBroker.cpp Mon Apr 04 03:02:00 2011 -0700
@@ -847,9 +847,9 @@
// Initialize the compilation queue
void CompileBroker::init_compiler_threads(int c1_compiler_count, int c2_compiler_count) {
EXCEPTION_MARK;
-#ifndef ZERO
+#if !defined(ZERO) && !defined(SHARK)
assert(c2_compiler_count > 0 || c1_compiler_count > 0, "No compilers?");
-#endif // !ZERO
+#endif // !ZERO && !SHARK
if (c2_compiler_count > 0) {
_c2_method_queue = new CompileQueue("C2MethodQueue", MethodCompileQueue_lock);
}
@@ -1118,7 +1118,7 @@
assert(!HAS_PENDING_EXCEPTION, "No exception should be present");
// some prerequisites that are compiler specific
- if (compiler(comp_level)->is_c2()) {
+ if (compiler(comp_level)->is_c2() || compiler(comp_level)->is_shark()) {
method->constants()->resolve_string_constants(CHECK_0);
// Resolve all classes seen in the signature of the method
// we are compiling.
--- a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Sun Apr 03 12:00:54 2011 +0200
+++ b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Mon Apr 04 03:02:00 2011 -0700
@@ -568,7 +568,7 @@
/* 0xDC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
/* 0xE0 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
-/* 0xE4 */ &&opc_default, &&opc_return_register_finalizer, &&opc_default, &&opc_default,
+/* 0xE4 */ &&opc_default, &&opc_default, &&opc_default, &&opc_return_register_finalizer,
/* 0xE8 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
/* 0xEC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
--- a/hotspot/src/share/vm/shark/sharkCompiler.cpp Sun Apr 03 12:00:54 2011 +0200
+++ b/hotspot/src/share/vm/shark/sharkCompiler.cpp Mon Apr 04 03:02:00 2011 -0700
@@ -1,6 +1,6 @@
/*
* Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2008, 2009, 2010 Red Hat, Inc.
+ * Copyright 2008, 2009, 2010, 2011 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -218,6 +218,7 @@
nmethod* SharkCompiler::generate_native_wrapper(MacroAssembler* masm,
methodHandle target,
+ int compile_id,
BasicType* arg_types,
BasicType return_type) {
assert(is_initialized(), "should be");
@@ -241,6 +242,7 @@
// Return the nmethod for installation in the VM
return nmethod::new_native_nmethod(target,
+ compile_id,
masm->code(),
0,
0,
--- a/hotspot/src/share/vm/shark/sharkCompiler.hpp Sun Apr 03 12:00:54 2011 +0200
+++ b/hotspot/src/share/vm/shark/sharkCompiler.hpp Mon Apr 04 03:02:00 2011 -0700
@@ -1,6 +1,6 @@
/*
* Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2008, 2009 Red Hat, Inc.
+ * Copyright 2008, 2009, 2010, 2011 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -60,6 +60,7 @@
// Generate a wrapper for a native (JNI) method
nmethod* generate_native_wrapper(MacroAssembler* masm,
methodHandle target,
+ int compile_id,
BasicType* arg_types,
BasicType return_type);
@@ -113,7 +114,8 @@
// Global access
public:
static SharkCompiler* compiler() {
- AbstractCompiler *compiler = CompileBroker::compiler(CompLevel_simple);
+ AbstractCompiler *compiler =
+ CompileBroker::compiler(CompLevel_full_optimization);
assert(compiler->is_shark() && compiler->is_initialized(), "should be");
return (SharkCompiler *) compiler;
}
--- a/hotspot/src/share/vm/utilities/globalDefinitions.hpp Sun Apr 03 12:00:54 2011 +0200
+++ b/hotspot/src/share/vm/utilities/globalDefinitions.hpp Mon Apr 04 03:02:00 2011 -0700
@@ -746,9 +746,9 @@
CompLevel_simple = 1, // C1
CompLevel_limited_profile = 2, // C1, invocation & backedge counters
CompLevel_full_profile = 3, // C1, invocation & backedge counters + mdo
- CompLevel_full_optimization = 4, // C2
+ CompLevel_full_optimization = 4, // C2 or Shark
-#if defined(COMPILER2)
+#if defined(COMPILER2) || defined(SHARK)
CompLevel_highest_tier = CompLevel_full_optimization, // pure C2 and tiered
#elif defined(COMPILER1)
CompLevel_highest_tier = CompLevel_simple, // pure C1
@@ -760,7 +760,7 @@
CompLevel_initial_compile = CompLevel_full_profile // tiered
#elif defined(COMPILER1)
CompLevel_initial_compile = CompLevel_simple // pure C1
-#elif defined(COMPILER2)
+#elif defined(COMPILER2) || defined(SHARK)
CompLevel_initial_compile = CompLevel_full_optimization // pure C2
#else
CompLevel_initial_compile = CompLevel_none
--- a/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp Sun Apr 03 12:00:54 2011 +0200
+++ b/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp Mon Apr 04 03:02:00 2011 -0700
@@ -77,7 +77,9 @@
# endif
#ifdef LINUX
+#ifndef __STDC_LIMIT_MACROS
#define __STDC_LIMIT_MACROS
+#endif // __STDC_LIMIT_MACROS
#include <inttypes.h>
#include <signal.h>
#include <ucontext.h>