From 001c67f1fb92e62a2f47d453022173afca5f2169 Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Mon, 12 Dec 2016 20:48:50 -0800 Subject: [PATCH 1/6] 8171134: Unexpected output in compiler/aot/SharedUsageTest.java Switch off compressed oops for few AOT tests. Reviewed-by: iveresov --- hotspot/test/compiler/aot/DeoptimizationTest.java | 2 ++ hotspot/test/compiler/aot/RecompilationTest.java | 4 +++- hotspot/test/compiler/aot/SharedUsageTest.java | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/hotspot/test/compiler/aot/DeoptimizationTest.java b/hotspot/test/compiler/aot/DeoptimizationTest.java index 5d89c674335..f027500a302 100644 --- a/hotspot/test/compiler/aot/DeoptimizationTest.java +++ b/hotspot/test/compiler/aot/DeoptimizationTest.java @@ -33,7 +33,9 @@ * @run main compiler.aot.AotCompiler -libname libDeoptimizationTest.so * -class compiler.aot.DeoptimizationTest * -compile compiler.aot.DeoptimizationTest.testMethod()D + * -extraopt -XX:-UseCompressedOops * @run main/othervm -Xmixed -XX:+UseAOT -XX:+TieredCompilation + * -XX:-UseCompressedOops * -XX:CompileCommand=dontinline,compiler.aot.DeoptimizationTest::* * -XX:AOTLibrary=./libDeoptimizationTest.so -Xbootclasspath/a:. * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI diff --git a/hotspot/test/compiler/aot/RecompilationTest.java b/hotspot/test/compiler/aot/RecompilationTest.java index 9ad84e4cb1f..25546874d9e 100644 --- a/hotspot/test/compiler/aot/RecompilationTest.java +++ b/hotspot/test/compiler/aot/RecompilationTest.java @@ -34,7 +34,9 @@ * -class compiler.whitebox.SimpleTestCaseHelper * -extraopt -Dgraal.TieredAOT=true -extraopt -Dgraal.ProfileSimpleMethods=true * -extraopt -XX:+UnlockDiagnosticVMOptions -extraopt -XX:+WhiteBoxAPI -extraopt -Xbootclasspath/a:. - * @run main/othervm -Xmixed -Xbatch -XX:+UseAOT -XX:+TieredCompilation -XX:-UseCounterDecay + * -extraopt -XX:-UseCompressedOops + * @run main/othervm -Xmixed -Xbatch -XX:+UseAOT -XX:+TieredCompilation + * -XX:-UseCounterDecay -XX:-UseCompressedOops * -XX:CompileCommand=dontinline,*.* * -XX:AOTLibrary=./libRecompilationTest.so -Xbootclasspath/a:. * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI diff --git a/hotspot/test/compiler/aot/SharedUsageTest.java b/hotspot/test/compiler/aot/SharedUsageTest.java index e24550e6f36..829f63d1866 100644 --- a/hotspot/test/compiler/aot/SharedUsageTest.java +++ b/hotspot/test/compiler/aot/SharedUsageTest.java @@ -30,7 +30,9 @@ * compiler.aot.AotCompiler * @run main compiler.aot.AotCompiler -libname libSharedUsageTest.so * -class compiler.aot.SharedUsageTest + * -extraopt -XX:-UseCompressedOops * @run main/othervm -XX:+UseAOT -XX:AOTLibrary=./libSharedUsageTest.so + * -XX:-UseCompressedOops * -Dcompiler.aot.SharedUsageTest.parent=true * compiler.aot.SharedUsageTest * @summary check if .so can be successfully shared with 2 java processes From c2b261c9f5b6ad0c42f237ea48ef60a64b164bcb Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Mon, 12 Dec 2016 21:56:45 -0800 Subject: [PATCH 2/6] 8171137: Avoid warning: -Xint is not compatible with AOT (switching AOT off) Put all AOT warnings under PrintAOT flag. Reviewed-by: iveresov, dholmes --- hotspot/src/share/vm/aot/aotLoader.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/hotspot/src/share/vm/aot/aotLoader.cpp b/hotspot/src/share/vm/aot/aotLoader.cpp index 8eb815f7fe5..0dbf9ff72e4 100644 --- a/hotspot/src/share/vm/aot/aotLoader.cpp +++ b/hotspot/src/share/vm/aot/aotLoader.cpp @@ -125,14 +125,18 @@ void AOTLoader::initialize() { if (UseAOT) { // EagerInitialization is not compatible with AOT if (EagerInitialization) { - warning("EagerInitialization is not compatible with AOT (switching AOT off)"); + if (PrintAOT) { + warning("EagerInitialization is not compatible with AOT (switching AOT off)"); + } FLAG_SET_DEFAULT(UseAOT, false); return; } // -Xint is not compatible with AOT if (Arguments::is_interpreter_only()) { - warning("-Xint is not compatible with AOT (switching AOT off)"); + if (PrintAOT) { + warning("-Xint is not compatible with AOT (switching AOT off)"); + } FLAG_SET_DEFAULT(UseAOT, false); return; } From e199c1e613329c2d175dfb6ed552308bcc1fe30e Mon Sep 17 00:00:00 2001 From: Magnus Ihse Bursie Date: Tue, 13 Dec 2016 16:26:07 +0100 Subject: [PATCH 3/6] 8171163: Merge d01f2abf2c65 broke test/Makefile Reviewed-by: erikj, ctornqvi --- hotspot/test/Makefile | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/hotspot/test/Makefile b/hotspot/test/Makefile index ddbae42fb0f..49527c436dc 100644 --- a/hotspot/test/Makefile +++ b/hotspot/test/Makefile @@ -95,29 +95,6 @@ hotspot_internal: ALT_MAKE ?= closed -include $(ALT_MAKE)/Makefile -# Make sure jtreg exists -$(JTREG): $(JT_HOME) - -jtreg_tests: prep $(PRODUCT_HOME) $(JTREG) - ( \ - ( JT_HOME=$(shell $(GETMIXEDPATH) "$(JT_HOME)"); \ - export JT_HOME; \ - $(shell $(GETMIXEDPATH) "$(JTREG)") \ - $(JTREG_BASIC_OPTIONS) \ - -r:$(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/JTreport") \ - -w:$(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/JTwork") \ - -jdk:$(shell $(GETMIXEDPATH) "$(PRODUCT_HOME)") \ - $(JTREG_NATIVE_PATH) \ - $(JTREG_FAILURE_HANDLER_OPTIONS) \ - $(JTREG_EXCLUSIONS) \ - $(JTREG_TEST_OPTIONS) \ - $(TEST_SELECTION) \ - ) ; \ - $(BUNDLE_UP_AND_EXIT) \ - ) 2>&1 | $(TEE) $(ABS_TEST_OUTPUT_DIR)/output.txt ; $(TESTEXIT) - -PHONY_LIST += jtreg_tests - # flags used to execute java in test targets TEST_FLAGS += -version -Xinternalversion -X -help From 0a908be59da483f2c40f854bb87e5508ed3c6a52 Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Tue, 13 Dec 2016 17:58:19 -0800 Subject: [PATCH 4/6] 8171187: Expected compilation level after compilation to be no less than 1 Prevent inlining of test method into other AOT methods Reviewed-by: iveresov --- .../test/compiler/aot/RecompilationTest.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/hotspot/test/compiler/aot/RecompilationTest.java b/hotspot/test/compiler/aot/RecompilationTest.java index 25546874d9e..80c4538e5bd 100644 --- a/hotspot/test/compiler/aot/RecompilationTest.java +++ b/hotspot/test/compiler/aot/RecompilationTest.java @@ -30,31 +30,36 @@ * compiler.aot.AotCompiler * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission - * @run main compiler.aot.AotCompiler -libname libRecompilationTest.so + * @run main compiler.aot.AotCompiler -libname libRecompilationTest1.so * -class compiler.whitebox.SimpleTestCaseHelper * -extraopt -Dgraal.TieredAOT=true -extraopt -Dgraal.ProfileSimpleMethods=true * -extraopt -XX:+UnlockDiagnosticVMOptions -extraopt -XX:+WhiteBoxAPI -extraopt -Xbootclasspath/a:. * -extraopt -XX:-UseCompressedOops + * -extraopt -XX:CompileCommand=dontinline,compiler.whitebox.SimpleTestCaseHelper::method * @run main/othervm -Xmixed -Xbatch -XX:+UseAOT -XX:+TieredCompilation * -XX:-UseCounterDecay -XX:-UseCompressedOops - * -XX:CompileCommand=dontinline,*.* - * -XX:AOTLibrary=./libRecompilationTest.so -Xbootclasspath/a:. + * -XX:-Inline + * -XX:AOTLibrary=./libRecompilationTest1.so -Xbootclasspath/a:. * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI * -Dcompiler.aot.RecompilationTest.check_level=1 * compiler.aot.RecompilationTest - * @run main compiler.aot.AotCompiler -libname libRecompilationTest.so + * @run main compiler.aot.AotCompiler -libname libRecompilationTest2.so * -class compiler.whitebox.SimpleTestCaseHelper * -extraopt -Dgraal.TieredAOT=false * -extraopt -XX:+UnlockDiagnosticVMOptions -extraopt -XX:+WhiteBoxAPI -extraopt -Xbootclasspath/a:. - * @run main/othervm -Xmixed -Xbatch -XX:+UseAOT -XX:+TieredCompilation -XX:-UseCounterDecay - * -XX:CompileCommand=dontinline,*.* - * -XX:AOTLibrary=./libRecompilationTest.so -Xbootclasspath/a:. + * -extraopt -XX:-UseCompressedOops + * -extraopt -XX:CompileCommand=dontinline,compiler.whitebox.SimpleTestCaseHelper::method + * @run main/othervm -Xmixed -Xbatch -XX:+UseAOT -XX:+TieredCompilation + * -XX:-UseCounterDecay -XX:-UseCompressedOops + * -XX:-Inline + * -XX:AOTLibrary=./libRecompilationTest2.so -Xbootclasspath/a:. * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI * -Dcompiler.aot.RecompilationTest.check_level=-1 * compiler.aot.RecompilationTest - * @run main/othervm -Xmixed -Xbatch -XX:+UseAOT -XX:-TieredCompilation -XX:-UseCounterDecay - * -XX:CompileCommand=dontinline,*.* - * -XX:AOTLibrary=./libRecompilationTest.so -Xbootclasspath/a:. + * @run main/othervm -Xmixed -Xbatch -XX:+UseAOT -XX:-TieredCompilation + * -XX:-UseCounterDecay -XX:-UseCompressedOops + * -XX:-Inline + * -XX:AOTLibrary=./libRecompilationTest2.so -Xbootclasspath/a:. * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI * -Dcompiler.aot.RecompilationTest.check_level=-1 * compiler.aot.RecompilationTest From 8242125c4fc9aff72b83597ede8797314afe30c4 Mon Sep 17 00:00:00 2001 From: Martin Doerr Date: Wed, 14 Dec 2016 10:28:52 +0100 Subject: [PATCH 5/6] 8170991: PPC64: Bad code for initialization of short arrays Implement special ClearArray nodes to improve initialization. Reviewed-by: goetz --- .../src/cpu/ppc/vm/c1_MacroAssembler_ppc.cpp | 71 ++----------------- hotspot/src/cpu/ppc/vm/globals_ppc.hpp | 3 +- hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp | 67 +++++++++++++---- hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp | 4 +- hotspot/src/cpu/ppc/vm/ppc.ad | 53 +++++++++++--- 5 files changed, 106 insertions(+), 92 deletions(-) diff --git a/hotspot/src/cpu/ppc/vm/c1_MacroAssembler_ppc.cpp b/hotspot/src/cpu/ppc/vm/c1_MacroAssembler_ppc.cpp index dc2c40d4f6c..377680a47eb 100644 --- a/hotspot/src/cpu/ppc/vm/c1_MacroAssembler_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/c1_MacroAssembler_ppc.cpp @@ -238,72 +238,15 @@ void C1_MacroAssembler::initialize_body(Register obj, Register tmp1, Register tm int obj_size_in_bytes, int hdr_size_in_bytes) { const int index = (obj_size_in_bytes - hdr_size_in_bytes) / HeapWordSize; - const int cl_size = VM_Version::L1_data_cache_line_size(), - cl_dwords = cl_size>>3, - cl_dw_addr_bits = exact_log2(cl_dwords); - - const Register tmp = R0, - base_ptr = tmp1, - cnt_dwords = tmp2; - - if (index <= 6) { - // Use explicit NULL stores. - if (index > 0) { li(tmp, 0); } - for (int i = 0; i < index; ++i) { std(tmp, hdr_size_in_bytes + i * HeapWordSize, obj); } - - } else if (index < (2<0). - andi(cnt_dwords, cnt_dwords, cl_dwords-1); // Rest in dwords. - mtctr(tmp); // Load counter. - - bind(fastloop); - dcbz(base_ptr); // Clear 128byte aligned block. - addi(base_ptr, base_ptr, cl_size); - bdnz(fastloop); - - cmpdi(CCR0, cnt_dwords, 0); // size 0? - beq(CCR0, done); // rest == 0 - li(tmp, 0); - mtctr(cnt_dwords); // Load counter. - - bind(restloop); // Clear rest. - std(tmp, 0, base_ptr); // Clear 8byte aligned block. - addi(base_ptr, base_ptr, 8); - bdnz(restloop); - - bind(done); + addi(base_ptr, obj, hdr_size_in_bytes); // Compute address of first element. + clear_memory_doubleword(base_ptr, cnt_dwords, R0, index); } } diff --git a/hotspot/src/cpu/ppc/vm/globals_ppc.hpp b/hotspot/src/cpu/ppc/vm/globals_ppc.hpp index 953a4d2134f..4173008abac 100644 --- a/hotspot/src/cpu/ppc/vm/globals_ppc.hpp +++ b/hotspot/src/cpu/ppc/vm/globals_ppc.hpp @@ -77,7 +77,8 @@ define_pd_global(uintx, TypeProfileLevel, 111); define_pd_global(bool, CompactStrings, true); -define_pd_global(intx, InitArrayShortSize, 8*BytesPerLong); +// 2x unrolled loop is shorter with more than 9 HeapWords. +define_pd_global(intx, InitArrayShortSize, 9*BytesPerLong); // Platform dependent flag handling: flags only defined on this platform. #define ARCH_FLAGS(develop, \ diff --git a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp index 110ed85e12e..2d1f0c7230b 100644 --- a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp @@ -3332,53 +3332,90 @@ void MacroAssembler::load_mirror_from_const_method(Register mirror, Register con } // Clear Array +// For very short arrays. tmp == R0 is allowed. +void MacroAssembler::clear_memory_unrolled(Register base_ptr, int cnt_dwords, Register tmp, int offset) { + if (cnt_dwords > 0) { li(tmp, 0); } + for (int i = 0; i < cnt_dwords; ++i) { std(tmp, offset + i * 8, base_ptr); } +} + +// Version for constant short array length. Kills base_ptr. tmp == R0 is allowed. +void MacroAssembler::clear_memory_constlen(Register base_ptr, int cnt_dwords, Register tmp) { + if (cnt_dwords < 8) { + clear_memory_unrolled(base_ptr, cnt_dwords, tmp); + return; + } + + Label loop; + const long loopcnt = cnt_dwords >> 1, + remainder = cnt_dwords & 1; + + li(tmp, loopcnt); + mtctr(tmp); + li(tmp, 0); + bind(loop); + std(tmp, 0, base_ptr); + std(tmp, 8, base_ptr); + addi(base_ptr, base_ptr, 16); + bdnz(loop); + if (remainder) { std(tmp, 0, base_ptr); } +} + // Kills both input registers. tmp == R0 is allowed. -void MacroAssembler::clear_memory_doubleword(Register base_ptr, Register cnt_dwords, Register tmp) { +void MacroAssembler::clear_memory_doubleword(Register base_ptr, Register cnt_dwords, Register tmp, long const_cnt) { // Procedure for large arrays (uses data cache block zero instruction). Label startloop, fast, fastloop, small_rest, restloop, done; const int cl_size = VM_Version::L1_data_cache_line_size(), - cl_dwords = cl_size>>3, + cl_dwords = cl_size >> 3, cl_dw_addr_bits = exact_log2(cl_dwords), - dcbz_min = 1; // Min count of dcbz executions, needs to be >0. + dcbz_min = 1, // Min count of dcbz executions, needs to be >0. + min_cnt = ((dcbz_min + 1) << cl_dw_addr_bits) - 1; -//2: - cmpdi(CCR1, cnt_dwords, ((dcbz_min+1)<=dcbz_min lines included). - blt(CCR1, small_rest); // Too small. - rldicl_(tmp, base_ptr, 64-3, 64-cl_dw_addr_bits); // Extract dword offset within first cache line. - beq(CCR0, fast); // Already 128byte aligned. + if (const_cnt >= 0) { + // Constant case. + if (const_cnt < min_cnt) { + clear_memory_constlen(base_ptr, const_cnt, tmp); + return; + } + load_const_optimized(cnt_dwords, const_cnt, tmp); + } else { + // cnt_dwords already loaded in register. Need to check size. + cmpdi(CCR1, cnt_dwords, min_cnt); // Big enough? (ensure >= dcbz_min lines included). + blt(CCR1, small_rest); + } + rldicl_(tmp, base_ptr, 64-3, 64-cl_dw_addr_bits); // Extract dword offset within first cache line. + beq(CCR0, fast); // Already 128byte aligned. subfic(tmp, tmp, cl_dwords); mtctr(tmp); // Set ctr to hit 128byte boundary (00). andi(cnt_dwords, cnt_dwords, cl_dwords-1); // Rest in dwords. mtctr(tmp); // Load counter. -//16: + bind(fastloop); dcbz(base_ptr); // Clear 128byte aligned block. addi(base_ptr, base_ptr, cl_size); bdnz(fastloop); - if (InsertEndGroupPPC64) { endgroup(); } else { nop(); } -//20: + bind(small_rest); cmpdi(CCR0, cnt_dwords, 0); // size 0? beq(CCR0, done); // rest == 0 li(tmp, 0); mtctr(cnt_dwords); // Load counter. -//24: + bind(restloop); // Clear rest. std(tmp, 0, base_ptr); // Clear 8byte aligned block. addi(base_ptr, base_ptr, 8); bdnz(restloop); -//27: + bind(done); } diff --git a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp index 7763c86a1dd..11b966a82c9 100644 --- a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp +++ b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp @@ -755,7 +755,9 @@ class MacroAssembler: public Assembler { is_trap_range_check_g(x) || is_trap_range_check_ge(x); } - void clear_memory_doubleword(Register base_ptr, Register cnt_dwords, Register tmp = R0); + void clear_memory_unrolled(Register base_ptr, int cnt_dwords, Register tmp = R0, int offset = 0); + void clear_memory_constlen(Register base_ptr, int cnt_dwords, Register tmp = R0); + void clear_memory_doubleword(Register base_ptr, Register cnt_dwords, Register tmp = R0, long const_cnt = -1); #ifdef COMPILER2 // Intrinsics for CompactStrings diff --git a/hotspot/src/cpu/ppc/vm/ppc.ad b/hotspot/src/cpu/ppc/vm/ppc.ad index 91b5756802b..a8c42b7ac21 100644 --- a/hotspot/src/cpu/ppc/vm/ppc.ad +++ b/hotspot/src/cpu/ppc/vm/ppc.ad @@ -965,10 +965,7 @@ static int cc_to_biint(int cc, int flags_reg) { // is the number of bytes (not instructions) which will be inserted before // the instruction. The padding must match the size of a NOP instruction. -int inlineCallClearArrayNode::compute_padding(int current_offset) const { - int desired_padding = (2*4-current_offset)&31; // see MacroAssembler::clear_memory_doubleword - return (desired_padding <= 3*4) ? desired_padding : 0; -} +// Currently not used on this platform. //============================================================================= @@ -4066,6 +4063,14 @@ operand immL() %{ interface(CONST_INTER); %} +operand immLmax30() %{ + predicate((n->get_long() <= 30)); + match(ConL); + op_cost(0); + format %{ %} + interface(CONST_INTER); +%} + // Long Immediate: 16-bit operand immL16() %{ predicate(Assembler::is_simm(n->get_long(), 16)); @@ -11735,18 +11740,44 @@ instruct array_size(iRegLdst dst, iRegPsrc end, iRegPsrc start) %{ ins_pipe(pipe_class_default); %} -// Clear-array with dynamic array-size. -instruct inlineCallClearArray(rarg1RegL cnt, rarg2RegP base, Universe dummy, regCTR ctr) %{ +// Clear-array with constant short array length. The versions below can use dcbz with cnt > 30. +instruct inlineCallClearArrayShort(immLmax30 cnt, rarg2RegP base, Universe dummy, regCTR ctr) %{ match(Set dummy (ClearArray cnt base)); - effect(USE_KILL cnt, USE_KILL base, KILL ctr); - ins_cost(MEMORY_REF_COST); - - ins_alignment(4); // 'compute_padding()' gets called, up to this number-1 nops will get inserted. + effect(USE_KILL base, KILL ctr); + ins_cost(2 * MEMORY_REF_COST); format %{ "ClearArray $cnt, $base" %} ins_encode %{ // TODO: PPC port $archOpcode(ppc64Opcode_compound); - __ clear_memory_doubleword($base$$Register, $cnt$$Register); // kills cnt, base, R0 + __ clear_memory_constlen($base$$Register, $cnt$$constant, R0); // kills base, R0 + %} + ins_pipe(pipe_class_default); +%} + +// Clear-array with constant large array length. +instruct inlineCallClearArrayLarge(immL cnt, rarg2RegP base, Universe dummy, iRegLdst tmp, regCTR ctr) %{ + match(Set dummy (ClearArray cnt base)); + effect(USE_KILL base, TEMP tmp, KILL ctr); + ins_cost(3 * MEMORY_REF_COST); + + format %{ "ClearArray $cnt, $base \t// KILL $tmp" %} + ins_encode %{ + // TODO: PPC port $archOpcode(ppc64Opcode_compound); + __ clear_memory_doubleword($base$$Register, $tmp$$Register, R0, $cnt$$constant); // kills base, R0 + %} + ins_pipe(pipe_class_default); +%} + +// Clear-array with dynamic array length. +instruct inlineCallClearArray(rarg1RegL cnt, rarg2RegP base, Universe dummy, regCTR ctr) %{ + match(Set dummy (ClearArray cnt base)); + effect(USE_KILL cnt, USE_KILL base, KILL ctr); + ins_cost(4 * MEMORY_REF_COST); + + format %{ "ClearArray $cnt, $base" %} + ins_encode %{ + // TODO: PPC port $archOpcode(ppc64Opcode_compound); + __ clear_memory_doubleword($base$$Register, $cnt$$Register, R0); // kills cnt, base, R0 %} ins_pipe(pipe_class_default); %} From 77a659dbb32c0d000d3addf80a58fc4c2fd5e459 Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Fri, 16 Dec 2016 01:46:00 -0800 Subject: [PATCH 6/6] 8171276: More problems in compiler/aot/RecompilationTest.java tests Don't inline any SimpleTestCaseHelper methods during AOT compilation Reviewed-by: iveresov --- hotspot/test/compiler/aot/RecompilationTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hotspot/test/compiler/aot/RecompilationTest.java b/hotspot/test/compiler/aot/RecompilationTest.java index 80c4538e5bd..466c8348e7e 100644 --- a/hotspot/test/compiler/aot/RecompilationTest.java +++ b/hotspot/test/compiler/aot/RecompilationTest.java @@ -35,7 +35,7 @@ * -extraopt -Dgraal.TieredAOT=true -extraopt -Dgraal.ProfileSimpleMethods=true * -extraopt -XX:+UnlockDiagnosticVMOptions -extraopt -XX:+WhiteBoxAPI -extraopt -Xbootclasspath/a:. * -extraopt -XX:-UseCompressedOops - * -extraopt -XX:CompileCommand=dontinline,compiler.whitebox.SimpleTestCaseHelper::method + * -extraopt -XX:CompileCommand=dontinline,compiler.whitebox.SimpleTestCaseHelper::* * @run main/othervm -Xmixed -Xbatch -XX:+UseAOT -XX:+TieredCompilation * -XX:-UseCounterDecay -XX:-UseCompressedOops * -XX:-Inline @@ -48,7 +48,7 @@ * -extraopt -Dgraal.TieredAOT=false * -extraopt -XX:+UnlockDiagnosticVMOptions -extraopt -XX:+WhiteBoxAPI -extraopt -Xbootclasspath/a:. * -extraopt -XX:-UseCompressedOops - * -extraopt -XX:CompileCommand=dontinline,compiler.whitebox.SimpleTestCaseHelper::method + * -extraopt -XX:CompileCommand=dontinline,compiler.whitebox.SimpleTestCaseHelper::* * @run main/othervm -Xmixed -Xbatch -XX:+UseAOT -XX:+TieredCompilation * -XX:-UseCounterDecay -XX:-UseCompressedOops * -XX:-Inline