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);
// 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);
}
// else: No allocation in the shared eden. // fallthru: __ b(Lslow_case);

View File

@ -383,7 +383,11 @@ public abstract class JVMOption {
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);
}

View File

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