/hg/icedtea7-forest/hotspot: 5 new changesets
andrew at icedtea.classpath.org
andrew at icedtea.classpath.org
Fri Apr 15 16:54:55 UTC 2016
changeset 078596a75217 in /hg/icedtea7-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot?cmd=changeset;node=078596a75217
author: goetz
date: Wed Feb 19 14:03:09 2014 -0800
8034797, PR2851: AIX: Fix os::naked_short_sleep() in os_aix.cpp after 8028280
Summary: imlements os::naked_short_sleep(jlong ms) on AIX
Reviewed-by: dholmes, kvn
changeset 3185e340d454 in /hg/icedtea7-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot?cmd=changeset;node=3185e340d454
author: mdoerr
date: Mon Oct 12 12:20:38 2015 +0200
8139421, PR2851: PPC64LE: MacroAssembler::bxx64_patchable kill register R12
Summary: Register R12 must be preserved for stub calls (e.g. deopt handler).
Reviewed-by: goetz
changeset fc9faad27d55 in /hg/icedtea7-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot?cmd=changeset;node=fc9faad27d55
author: goetz
date: Tue Nov 17 08:59:21 2015 +0100
8139258, PR2851: PPC64LE: argument passing problem when passing 15 floats in native call
Reviewed-by: mdoerr, goetz
Contributed-by: asmundak at google.com
changeset c457fd1ec6c1 in /hg/icedtea7-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot?cmd=changeset;node=c457fd1ec6c1
author: andrew
date: Wed Mar 23 22:50:27 2016 +0000
PR2852: Apply ReservedCodeCacheSize default limiting to AArch64 only.
changeset 88abb663cdf9 in /hg/icedtea7-forest/hotspot
details: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot?cmd=changeset;node=88abb663cdf9
author: sgehwolf
date: Fri Dec 18 08:55:47 2015 +0100
6425769, PR2858: Allow specifying an address to bind JMX remote connector
Reviewed-by: jbachorik, dfuchs
diffstat:
src/cpu/ppc/vm/interpreter_ppc.cpp | 8 ++++++++
src/cpu/ppc/vm/macroAssembler_ppc.cpp | 8 --------
src/cpu/ppc/vm/sharedRuntime_ppc.cpp | 19 +++++++++++++++++--
src/os/aix/vm/os_aix.cpp | 18 +++++++++++++++---
src/share/vm/runtime/arguments.cpp | 6 +++---
src/share/vm/services/diagnosticCommand.cpp | 6 ++++++
src/share/vm/services/diagnosticCommand.hpp | 1 +
7 files changed, 50 insertions(+), 16 deletions(-)
diffs (172 lines):
diff -r 3565cecfbf66 -r 88abb663cdf9 src/cpu/ppc/vm/interpreter_ppc.cpp
--- a/src/cpu/ppc/vm/interpreter_ppc.cpp Wed Apr 06 18:30:45 2016 +0100
+++ b/src/cpu/ppc/vm/interpreter_ppc.cpp Fri Dec 18 08:55:47 2015 +0100
@@ -312,8 +312,16 @@
__ bind(do_float);
__ lfs(floatSlot, 0, arg_java);
#if defined(LINUX)
+ // Linux uses ELF ABI. Both original ELF and ELFv2 ABIs have float
+ // in the least significant word of an argument slot.
+#if defined(VM_LITTLE_ENDIAN)
+ __ stfs(floatSlot, 0, arg_c);
+#else
__ stfs(floatSlot, 4, arg_c);
+#endif
#elif defined(AIX)
+ // Although AIX runs on big endian CPU, float is in most significant
+ // word of an argument slot.
__ stfs(floatSlot, 0, arg_c);
#else
#error "unknown OS"
diff -r 3565cecfbf66 -r 88abb663cdf9 src/cpu/ppc/vm/macroAssembler_ppc.cpp
--- a/src/cpu/ppc/vm/macroAssembler_ppc.cpp Wed Apr 06 18:30:45 2016 +0100
+++ b/src/cpu/ppc/vm/macroAssembler_ppc.cpp Fri Dec 18 08:55:47 2015 +0100
@@ -573,13 +573,6 @@
"can't identify emitted call");
} else {
// variant 1:
-#if defined(ABI_ELFv2)
- nop();
- calculate_address_from_global_toc(R12, dest, true, true, false);
- mtctr(R12);
- nop();
- nop();
-#else
mr(R0, R11); // spill R11 -> R0.
// Load the destination address into CTR,
@@ -589,7 +582,6 @@
mtctr(R11);
mr(R11, R0); // spill R11 <- R0.
nop();
-#endif
// do the call/jump
if (link) {
diff -r 3565cecfbf66 -r 88abb663cdf9 src/cpu/ppc/vm/sharedRuntime_ppc.cpp
--- a/src/cpu/ppc/vm/sharedRuntime_ppc.cpp Wed Apr 06 18:30:45 2016 +0100
+++ b/src/cpu/ppc/vm/sharedRuntime_ppc.cpp Fri Dec 18 08:55:47 2015 +0100
@@ -769,6 +769,21 @@
// in farg_reg[j] if argument i is the j-th float argument of this call.
//
case T_FLOAT:
+#if defined(LINUX)
+ // Linux uses ELF ABI. Both original ELF and ELFv2 ABIs have float
+ // in the least significant word of an argument slot.
+#if defined(VM_LITTLE_ENDIAN)
+#define FLOAT_WORD_OFFSET_IN_SLOT 0
+#else
+#define FLOAT_WORD_OFFSET_IN_SLOT 1
+#endif
+#elif defined(AIX)
+ // Although AIX runs on big endian CPU, float is in the most
+ // significant word of an argument slot.
+#define FLOAT_WORD_OFFSET_IN_SLOT 0
+#else
+#error "unknown OS"
+#endif
if (freg < Argument::n_float_register_parameters_c) {
// Put float in register ...
reg = farg_reg[freg];
@@ -782,14 +797,14 @@
if (arg >= Argument::n_regs_not_on_stack_c) {
// ... and on the stack.
guarantee(regs2 != NULL, "must pass float in register and stack slot");
- VMReg reg2 = VMRegImpl::stack2reg(stk LINUX_ONLY(+1));
+ VMReg reg2 = VMRegImpl::stack2reg(stk + FLOAT_WORD_OFFSET_IN_SLOT);
regs2[i].set1(reg2);
stk += inc_stk_for_intfloat;
}
} else {
// Put float on stack.
- reg = VMRegImpl::stack2reg(stk LINUX_ONLY(+1));
+ reg = VMRegImpl::stack2reg(stk + FLOAT_WORD_OFFSET_IN_SLOT);
stk += inc_stk_for_intfloat;
}
regs[i].set1(reg);
diff -r 3565cecfbf66 -r 88abb663cdf9 src/os/aix/vm/os_aix.cpp
--- a/src/os/aix/vm/os_aix.cpp Wed Apr 06 18:30:45 2016 +0100
+++ b/src/os/aix/vm/os_aix.cpp Fri Dec 18 08:55:47 2015 +0100
@@ -2885,9 +2885,21 @@
}
}
-int os::naked_sleep() {
- // %% make the sleep time an integer flag. for now use 1 millisec.
- return os::sleep(Thread::current(), 1, false);
+void os::naked_short_sleep(jlong ms) {
+ struct timespec req;
+
+ assert(ms < 1000, "Un-interruptable sleep, short time use only");
+ req.tv_sec = 0;
+ if (ms > 0) {
+ req.tv_nsec = (ms % 1000) * 1000000;
+ }
+ else {
+ req.tv_nsec = 1;
+ }
+
+ nanosleep(&req, NULL);
+
+ return;
}
// Sleep forever; naked call to OS-specific sleep; use with CAUTION
diff -r 3565cecfbf66 -r 88abb663cdf9 src/share/vm/runtime/arguments.cpp
--- a/src/share/vm/runtime/arguments.cpp Wed Apr 06 18:30:45 2016 +0100
+++ b/src/share/vm/runtime/arguments.cpp Fri Dec 18 08:55:47 2015 +0100
@@ -1113,9 +1113,9 @@
}
// Increase the code cache size - tiered compiles a lot more.
if (FLAG_IS_DEFAULT(ReservedCodeCacheSize)) {
- FLAG_SET_DEFAULT(ReservedCodeCacheSize,
- MIN2(CODE_CACHE_DEFAULT_LIMIT, ReservedCodeCacheSize * 2));
-
+ NOT_AARCH64(FLAG_SET_DEFAULT(ReservedCodeCacheSize, ReservedCodeCacheSize * 2));
+ AARCH64_ONLY(FLAG_SET_DEFAULT(ReservedCodeCacheSize,
+ MIN2(CODE_CACHE_DEFAULT_LIMIT, ReservedCodeCacheSize * 2)));
}
}
diff -r 3565cecfbf66 -r 88abb663cdf9 src/share/vm/services/diagnosticCommand.cpp
--- a/src/share/vm/services/diagnosticCommand.cpp Wed Apr 06 18:30:45 2016 +0100
+++ b/src/share/vm/services/diagnosticCommand.cpp Fri Dec 18 08:55:47 2015 +0100
@@ -356,6 +356,10 @@
("config.file",
"set com.sun.management.config.file", "STRING", false),
+ _jmxremote_host
+ ("jmxremote.host",
+ "set com.sun.management.jmxremote.host", "STRING", false),
+
_jmxremote_port
("jmxremote.port",
"set com.sun.management.jmxremote.port", "STRING", false),
@@ -431,6 +435,7 @@
{
_dcmdparser.add_dcmd_option(&_config_file);
+ _dcmdparser.add_dcmd_option(&_jmxremote_host);
_dcmdparser.add_dcmd_option(&_jmxremote_port);
_dcmdparser.add_dcmd_option(&_jmxremote_rmi_port);
_dcmdparser.add_dcmd_option(&_jmxremote_ssl);
@@ -499,6 +504,7 @@
}
PUT_OPTION(_config_file);
+ PUT_OPTION(_jmxremote_host);
PUT_OPTION(_jmxremote_port);
PUT_OPTION(_jmxremote_rmi_port);
PUT_OPTION(_jmxremote_ssl);
diff -r 3565cecfbf66 -r 88abb663cdf9 src/share/vm/services/diagnosticCommand.hpp
--- a/src/share/vm/services/diagnosticCommand.hpp Wed Apr 06 18:30:45 2016 +0100
+++ b/src/share/vm/services/diagnosticCommand.hpp Fri Dec 18 08:55:47 2015 +0100
@@ -223,6 +223,7 @@
// com.sun.management is omitted
DCmdArgument<char *> _config_file;
+ DCmdArgument<char *> _jmxremote_host;
DCmdArgument<char *> _jmxremote_port;
DCmdArgument<char *> _jmxremote_rmi_port;
DCmdArgument<char *> _jmxremote_ssl;
More information about the distro-pkg-dev
mailing list