8179953: [ppc] TLABWasteIncrement not loaded correctly

Also fix TestOptionWithRanges to show the bug.

Reviewed-by: dholmes, shade
This commit is contained in:
Goetz Lindenmaier 2017-05-09 16:48:31 +02:00
parent 8bd00f84a5
commit 0ee4f3019d
3 changed files with 9 additions and 2 deletions

View File

@ -3720,7 +3720,7 @@ void TemplateTable::_new() {
__ bge(CCR0, Lslow_case); __ bge(CCR0, Lslow_case);
// Increment waste limit to prevent getting stuck on this slow path. // Increment waste limit to prevent getting stuck on this slow path.
__ addi(RtlabWasteLimitValue, RtlabWasteLimitValue, (int)ThreadLocalAllocBuffer::refill_waste_limit_increment()); __ add_const_optimized(RtlabWasteLimitValue, RtlabWasteLimitValue, ThreadLocalAllocBuffer::refill_waste_limit_increment());
__ std(RtlabWasteLimitValue, in_bytes(JavaThread::tlab_refill_waste_limit_offset()), R16_thread); __ std(RtlabWasteLimitValue, in_bytes(JavaThread::tlab_refill_waste_limit_offset()), R16_thread);
} }
// else: No allocation in the shared eden. // fallthru: __ b(Lslow_case); // else: No allocation in the shared eden. // fallthru: __ b(Lslow_case);

View File

@ -383,7 +383,11 @@ public abstract class JVMOption {
runJava.add(VMType); runJava.add(VMType);
} }
if (GCType != null) { if (GCType != null &&
!(prepend.contains("-XX:+UseConcMarkSweepGC") ||
prepend.contains("-XX:+UseSerialGC") ||
prepend.contains("-XX:+UseParallelGC") ||
prepend.contains("-XX:+UseG1GC"))) {
runJava.add(GCType); runJava.add(GCType);
} }

View File

@ -242,6 +242,9 @@ public class JVMOptionsUtils {
option.addPrepend("-XX:SharedArchiveFile=TestOptionsWithRanges.jsa"); option.addPrepend("-XX:SharedArchiveFile=TestOptionsWithRanges.jsa");
option.addPrepend("-Xshare:dump"); option.addPrepend("-Xshare:dump");
break; break;
case "TLABWasteIncrement":
option.addPrepend("-XX:+UseParallelGC");
break;
default: default:
/* Do nothing */ /* Do nothing */
break; break;