Skip to content
Permalink
Browse files

Merge

  • Loading branch information
slowhog committed Jan 15, 2020
2 parents 231d9af + 9ec4001 commit ae81cfa30f2068104415cae81a785bfd7ba30b06
Showing with 3,326 additions and 1,385 deletions.
  1. +3 −0 .hgtags
  2. +2 −0 src/hotspot/cpu/aarch64/c1_FrameMap_aarch64.cpp
  3. +2 −2 src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp
  4. +3 −1 src/hotspot/cpu/arm/c1_FrameMap_arm.cpp
  5. +4 −0 src/hotspot/cpu/ppc/c1_FrameMap_ppc.cpp
  6. +2 −2 src/hotspot/cpu/s390/c1_CodeStubs_s390.cpp
  7. +2 −0 src/hotspot/cpu/s390/c1_FrameMap_s390.cpp
  8. +12 −12 src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp
  9. +8 −9 src/hotspot/cpu/s390/c1_MacroAssembler_s390.cpp
  10. +3 −3 src/hotspot/cpu/s390/c1_Runtime1_s390.cpp
  11. +2 −2 src/hotspot/cpu/s390/gc/g1/g1BarrierSetAssembler_s390.cpp
  12. +1 −1 src/hotspot/cpu/s390/gc/shared/barrierSetAssembler_s390.cpp
  13. +2 −2 src/hotspot/cpu/s390/interp_masm_s390.cpp
  14. +78 −10 src/hotspot/cpu/s390/macroAssembler_s390.cpp
  15. +7 −0 src/hotspot/cpu/s390/macroAssembler_s390.hpp
  16. +6 −6 src/hotspot/cpu/s390/methodHandles_s390.cpp
  17. +4 −4 src/hotspot/cpu/s390/sharedRuntime_s390.cpp
  18. +16 −0 src/hotspot/cpu/s390/stubGenerator_s390.cpp
  19. +2 −0 src/hotspot/cpu/sparc/c1_FrameMap_sparc.cpp
  20. +2 −0 src/hotspot/cpu/x86/c1_FrameMap_x86.cpp
  21. +2 −2 src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp
  22. +2 −0 src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp
  23. +1 −1 src/hotspot/cpu/x86/x86.ad
  24. +4 −0 src/hotspot/share/c1/c1_FrameMap.hpp
  25. +9 −1 src/hotspot/share/code/debugInfo.cpp
  26. +4 −10 src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp
  27. +0 −1 src/hotspot/share/gc/shenandoah/shenandoahBarrierSetNMethod.cpp
  28. +4 −2 src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp
  29. +4 −4 src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp
  30. +1 −1 src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp
  31. +4 −2 src/hotspot/share/gc/shenandoah/shenandoahConcurrentRoots.cpp
  32. +0 −8 src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.cpp
  33. +0 −6 src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.hpp
  34. +10 −4 src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
  35. +1 −0 src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp
  36. +0 −1 src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.cpp
  37. +2 −1 src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp
  38. +4 −1 src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp
  39. +1 −13 src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp
  40. +1 −0 src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.inline.hpp
  41. +2 −2 src/hotspot/share/gc/shenandoah/shenandoahUnload.cpp
  42. +1 −31 src/hotspot/share/jfr/metadata/metadata.xml
  43. +2 −2 src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.inline.hpp
  44. +22 −39 src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp
  45. +1 −4 src/hotspot/share/opto/cfgnode.cpp
  46. +3 −2 src/hotspot/share/opto/loopnode.cpp
  47. +23 −19 src/hotspot/share/opto/matcher.cpp
  48. +2 −2 src/hotspot/share/opto/matcher.hpp
  49. +2 −2 src/hotspot/share/opto/memnode.cpp
  50. +1 −1 src/hotspot/share/opto/memnode.hpp
  51. +4 −4 src/hotspot/share/opto/parse2.cpp
  52. +32 −0 src/hotspot/share/opto/vectornode.cpp
  53. +3 −0 src/hotspot/share/opto/vectornode.hpp
  54. +1 −1 src/hotspot/share/utilities/count_leading_zeros.hpp
  55. +9 −10 src/java.base/share/classes/java/lang/Class.java
  56. +2 −1 src/java.base/share/classes/java/lang/annotation/ElementType.java
  57. +1 −1 src/java.base/share/classes/java/lang/invoke/MethodHandles.java
  58. +23 −11 src/java.base/share/classes/java/nio/X-Buffer.java.template
  59. +2 −2 src/java.base/share/classes/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java
  60. +5 −5 src/java.base/share/classes/java/util/ArrayList.java
  61. +6 −2 src/java.base/share/classes/jdk/internal/misc/ExtendedMapMode.java
  62. +7 −3 src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java
  63. +7 −3 src/java.base/share/classes/sun/security/ssl/ServerHello.java
  64. +11 −2 src/java.base/share/classes/sun/security/util/DisabledAlgorithmConstraints.java
  65. +13 −1 src/java.base/share/classes/sun/security/util/LegacyAlgorithmConstraints.java
  66. +305 −202 src/java.base/share/man/java.1
  67. +2 −2 src/java.base/share/man/jfr.1
  68. +28 −33 src/java.base/share/man/keytool.1
  69. +2 −2 src/java.compiler/share/classes/javax/annotation/processing/Filer.java
  70. +2 −2 src/java.compiler/share/classes/javax/annotation/processing/Processor.java
  71. +9 −2 src/java.compiler/share/classes/javax/lang/model/AnnotatedConstruct.java
  72. +2 −2 src/java.rmi/share/man/rmid.1
  73. +2 −2 src/java.rmi/share/man/rmiregistry.1
  74. +3 −3 src/java.scripting/share/man/jrunscript.1
  75. +3 −3 src/jdk.aot/share/man/jaotc.1
  76. +5 −4 src/jdk.attach/share/classes/com/sun/tools/attach/spi/AttachProvider.java
  77. +3 −2 src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java
  78. +24 −1 src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java
  79. +41 −33 src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java
  80. +5 −2 src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java
  81. +25 −17 src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java
  82. +83 −123 src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MatchBindingsComputer.java
  83. +8 −2 src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java
  84. +54 −47 src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java
  85. +2 −2 src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java
  86. +1 −2 src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java
  87. +133 −116 src/jdk.compiler/share/man/javac.1
  88. +2 −2 src/jdk.compiler/share/man/serialver.1
  89. +4 −2 src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11gcm2.h
  90. +42 −73 src/jdk.hotspot.agent/share/man/jhsdb.1
  91. +1 −1 src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AbstractLayout.java
  92. +7 −1 src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java
  93. +18 −3 src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayout.java
  94. +483 −0 src/jdk.incubator.jpackage/share/man/jpackage.1
  95. +1 −1 src/jdk.incubator.jpackage/windows/native/libjpackage/WindowsRegistry.cpp
  96. +2 −2 src/jdk.jartool/share/man/jar.1
  97. +3 −3 src/jdk.jartool/share/man/jarsigner.1
  98. +4 −3 src/jdk.javadoc/share/man/javadoc.1
  99. +267 −19 src/jdk.jcmd/share/man/jcmd.1
  100. +3 −3 src/jdk.jcmd/share/man/jinfo.1
  101. +3 −3 src/jdk.jcmd/share/man/jmap.1
  102. +3 −3 src/jdk.jcmd/share/man/jps.1
  103. +3 −3 src/jdk.jcmd/share/man/jstack.1
  104. +3 −3 src/jdk.jcmd/share/man/jstat.1
  105. +2 −2 src/jdk.jconsole/share/man/jconsole.1
  106. +1 −8 src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ClassFileReader.java
  107. +15 −10 src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsTask.java
  108. +53 −23 src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModuleAnalyzer.java
  109. +24 −11 src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModuleInfoBuilder.java
  110. +3 −4 src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps.properties
  111. +2 −2 src/jdk.jdeps/share/man/javap.1
  112. +2 −2 src/jdk.jdeps/share/man/jdeprscan.1
  113. +2 −2 src/jdk.jdeps/share/man/jdeps.1
  114. +2 −2 src/jdk.jdi/share/man/jdb.1
  115. +3 −3 src/jdk.jfr/share/classes/jdk/jfr/Recording.java
  116. +1 −16 src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java
  117. +4 −2 src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStart.java
  118. +1 −26 src/jdk.jfr/share/conf/jfr/default.jfc
  119. +1 −26 src/jdk.jfr/share/conf/jfr/profile.jfc
  120. +2 −1 src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink.properties
  121. +2 −2 src/jdk.jlink/share/man/jlink.1
  122. +2 −2 src/jdk.jlink/share/man/jmod.1
  123. +2 −1 src/jdk.jshell/share/classes/jdk/internal/jshell/tool/Feedback.java
  124. +7 −1 src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java
  125. +8 −6 src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n.properties
  126. +22 −4 src/jdk.jshell/share/classes/jdk/jshell/Corraller.java
  127. +2 −2 src/jdk.jshell/share/man/jshell.1
  128. +3 −3 src/jdk.jstatd/share/man/jstatd.1
  129. +3 −2 src/jdk.management/unix/classes/com/sun/management/internal/OperatingSystemImpl.java
  130. +2 −2 src/jdk.rmic/share/man/rmic.1
  131. +2 −2 src/jdk.scripting.nashorn.shell/share/man/jjs.1
  132. +61 −0 test/hotspot/jtreg/compiler/c2/TestJumpTable.java
  133. +79 −0 test/hotspot/jtreg/compiler/macronodes/TestCompleteVolatileStore.java
  134. +16 −11 test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java
  135. +4 −3 test/hotspot/jtreg/gc/shenandoah/TestEvilSyncBug.java
  136. +10 −1 test/hotspot/jtreg/gc/shenandoah/jvmti/TestHeapDump.java
  137. +1 −1 test/hotspot/jtreg/gc/shenandoah/oom/TestThreadFailure.java
  138. +2 −1 test/hotspot/jtreg/serviceability/jvmti/CompiledMethodLoad/libCompiledZombie.cpp
  139. +10 −4 test/jdk/java/foreign/TestArrays.java
  140. +22 −4 test/jdk/java/foreign/TestByteBuffer.java
  141. +2 −1 test/jdk/java/foreign/TestMemoryAlignment.java
  142. +3 −2 test/jdk/java/foreign/TestSegments.java
  143. +54 −0 test/jdk/java/foreign/TestTypeAccess.java
  144. +17 −16 test/jdk/java/foreign/libNativeAccess.c
  145. +45 −1 test/jdk/java/nio/Buffer/Basic-X.java.template
  146. +45 −1 test/jdk/java/nio/Buffer/BasicByte.java
  147. +43 −0 test/jdk/java/nio/channels/FileChannel/MapWithSecurityManager.java
  148. +68 −0 test/jdk/java/util/ArrayList/SubListModCount.java
  149. +1 −2 test/jdk/jdk/jfr/api/consumer/recordingstream/TestSetEndTime.java
  150. +0 −62 test/jdk/jdk/jfr/api/consumer/recordingstream/TestSetFlushInterval.java
  151. +1 −2 test/jdk/jdk/jfr/api/consumer/security/TestStreamingRemote.java
  152. +1 −2 test/jdk/jdk/jfr/api/consumer/streaming/TestInProcessMigration.java
  153. +0 −86 test/jdk/jdk/jfr/api/recording/time/TestSetFlushInterval.java
  154. +9 −4 test/jdk/jdk/jfr/startupargs/TestFlushInterval.java
  155. +3 −2 test/jdk/tools/jimage/JImageTest.java
  156. +3 −3 test/jdk/tools/jlink/plugins/IncludeLocalesPluginTest.java
  157. +22 −2 test/langtools/jdk/jshell/RecordsTest.java
  158. +5 −1 test/langtools/jdk/jshell/ToolLocalSimpleTest.java
  159. +12 −2 test/langtools/jdk/jshell/ToolSimpleTest.java
  160. +1 −1 test/langtools/tools/javac/patterns/BindingsExistTest.out
  161. +35 −0 test/langtools/tools/javac/patterns/BindingsTest1.java
  162. +139 −0 test/langtools/tools/javac/patterns/ConditionalTest.java
  163. +41 −1 test/langtools/tools/javac/patterns/DuplicateBindingTest.java
  164. +24 −1 test/langtools/tools/javac/patterns/DuplicateBindingTest.out
  165. +2 −2 test/langtools/tools/javac/patterns/MatchBindingScopeTest.out
  166. +60 −3 test/langtools/tools/javac/records/RecordCompilationTests.java
  167. +9 −2 test/langtools/tools/javac/switchexpr/ExpressionSwitchEmbedding.java
  168. +138 −0 test/langtools/tools/jdeps/missingDeps/MissingDepsTest.java
  169. +32 −0 test/langtools/tools/jdeps/missingDeps/p/internal/X.java
  170. +27 −0 test/langtools/tools/jdeps/missingDeps/src/m1/module-info.java
  171. +29 −0 test/langtools/tools/jdeps/missingDeps/src/m1/p/Foo.java
  172. +26 −0 test/langtools/tools/jdeps/missingDeps/src/m2/module-info.java
  173. +30 −0 test/langtools/tools/jdeps/missingDeps/src/m2/q/Bar.java
  174. +27 −0 test/langtools/tools/jdeps/missingDeps/src/m2/q/T.java
  175. +3 −3 test/langtools/tools/jdeps/modules/CheckModuleTest.java
@@ -603,3 +603,6 @@ c16ac7a2eba4e73cb4f7ee9294dd647860eebff0 jdk-14+21
2069b4bfd23b56b6fc659fba8b75aaaa23debbe0 jdk-14+28
563fa900fa17c290ae516c7a3a69e8c069dde304 jdk-14+29
d54ce919da90dab361995bb4d87be9851f00537a jdk-14+30
d54ce919da90dab361995bb4d87be9851f00537a jdk-14+31
d54ce919da90dab361995bb4d87be9851f00537a jdk-14+31
decd3d2953b640f1043ee76953ff89238bff92e8 jdk-14+31
@@ -49,6 +49,8 @@ LIR_Opr FrameMap::map_to_opr(BasicType type, VMRegPair* reg, bool) {
opr = as_oop_opr(reg);
} else if (type == T_METADATA) {
opr = as_metadata_opr(reg);
} else if (type == T_ADDRESS) {
opr = as_address_opr(reg);
} else {
opr = as_opr(reg);
}
@@ -759,7 +759,7 @@ void LIR_Assembler::reg2stack(LIR_Opr src, LIR_Opr dest, BasicType type, bool po
if (is_reference_type(type)) {
__ str(src->as_register(), frame_map()->address_for_slot(dest->single_stack_ix()));
__ verify_oop(src->as_register());
} else if (type == T_METADATA || type == T_DOUBLE) {
} else if (type == T_METADATA || type == T_DOUBLE || type == T_ADDRESS) {
__ str(src->as_register(), frame_map()->address_for_slot(dest->single_stack_ix()));
} else {
__ strw(src->as_register(), frame_map()->address_for_slot(dest->single_stack_ix()));
@@ -872,7 +872,7 @@ void LIR_Assembler::stack2reg(LIR_Opr src, LIR_Opr dest, BasicType type) {
if (is_reference_type(type)) {
__ ldr(dest->as_register(), frame_map()->address_for_slot(src->single_stack_ix()));
__ verify_oop(dest->as_register());
} else if (type == T_METADATA) {
} else if (type == T_METADATA || type == T_ADDRESS) {
__ ldr(dest->as_register(), frame_map()->address_for_slot(src->single_stack_ix()));
} else {
__ ldrw(dest->as_register(), frame_map()->address_for_slot(src->single_stack_ix()));
@@ -80,10 +80,12 @@ LIR_Opr FrameMap::map_to_opr(BasicType type, VMRegPair* reg, bool) {
Register reg = r_1->as_Register();
if (r_2->is_Register() && (type == T_LONG || type == T_DOUBLE)) {
opr = as_long_opr(reg, r_2->as_Register());
} else if (type == T_OBJECT || type == T_ARRAY) {
} else if (is_reference_type(type)) {
opr = as_oop_opr(reg);
} else if (type == T_METADATA) {
opr = as_metadata_opr(reg);
} else if (type == T_ADDRESS) {
opr = as_address_opr(reg);
} else {
// PreferInterpreterNativeStubs should ensure we never need to
// handle a long opr passed as R3+stack_slot
@@ -54,6 +54,10 @@ LIR_Opr FrameMap::map_to_opr(BasicType type, VMRegPair* reg, bool outgoing) {
opr = as_long_opr(reg);
} else if (is_reference_type(type)) {
opr = as_oop_opr(reg);
} else if (type == T_METADATA) {
opr = as_metadata_opr(reg);
} else if (type == T_ADDRESS) {
opr = as_address_opr(reg);
} else {
opr = as_opr(reg);
}
@@ -294,7 +294,7 @@ void PatchingStub::align_patch_site(MacroAssembler* masm) {
void PatchingStub::emit_code(LIR_Assembler* ce) {
// Copy original code here.
assert(NativeGeneralJump::instruction_size <= _bytes_to_copy && _bytes_to_copy <= 0xFF,
"not enough room for call");
"not enough room for call, need %d", _bytes_to_copy);

NearLabel call_patch;

@@ -331,7 +331,7 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
}
#endif
} else {
// Make a copy the code which is going to be patched.
// Make a copy of the code which is going to be patched.
for (int i = 0; i < _bytes_to_copy; i++) {
address ptr = (address)(_pc_start + i);
int a_byte = (*ptr) & 0xFF;
@@ -50,6 +50,8 @@ LIR_Opr FrameMap::map_to_opr(BasicType type, VMRegPair* reg, bool outgoing) {
opr = as_oop_opr(reg);
} else if (type == T_METADATA) {
opr = as_metadata_opr(reg);
} else if (type == T_ADDRESS) {
opr = as_address_opr(reg);
} else {
opr = as_opr(reg);
}
@@ -897,7 +897,7 @@ void LIR_Assembler::mem2reg(LIR_Opr src_opr, LIR_Opr dest, BasicType type, LIR_P
bool needs_patching = (patch_code != lir_patch_none);

if (addr->base()->type() == T_OBJECT) {
__ verify_oop(src);
__ verify_oop(src, FILE_AND_LINE);
}

PatchingStub* patch = NULL;
@@ -972,7 +972,7 @@ void LIR_Assembler::mem2reg(LIR_Opr src_opr, LIR_Opr dest, BasicType type, LIR_P
} else {
__ z_lg(dest->as_register(), disp_value, disp_reg, src);
}
__ verify_oop(dest->as_register());
__ verify_oop(dest->as_register(), FILE_AND_LINE);
break;
}
case T_FLOAT:
@@ -1006,8 +1006,8 @@ void LIR_Assembler::stack2reg(LIR_Opr src, LIR_Opr dest, BasicType type) {
if (dest->is_single_cpu()) {
if (is_reference_type(type)) {
__ mem2reg_opt(dest->as_register(), frame_map()->address_for_slot(src->single_stack_ix()), true);
__ verify_oop(dest->as_register());
} else if (type == T_METADATA) {
__ verify_oop(dest->as_register(), FILE_AND_LINE);
} else if (type == T_METADATA || type == T_ADDRESS) {
__ mem2reg_opt(dest->as_register(), frame_map()->address_for_slot(src->single_stack_ix()), true);
} else {
__ mem2reg_opt(dest->as_register(), frame_map()->address_for_slot(src->single_stack_ix()), false);
@@ -1033,9 +1033,9 @@ void LIR_Assembler::reg2stack(LIR_Opr src, LIR_Opr dest, BasicType type, bool po
if (src->is_single_cpu()) {
const Address dst = frame_map()->address_for_slot(dest->single_stack_ix());
if (is_reference_type(type)) {
__ verify_oop(src->as_register());
__ verify_oop(src->as_register(), FILE_AND_LINE);
__ reg2mem_opt(src->as_register(), dst, true);
} else if (type == T_METADATA) {
} else if (type == T_METADATA || type == T_ADDRESS) {
__ reg2mem_opt(src->as_register(), dst, true);
} else {
__ reg2mem_opt(src->as_register(), dst, false);
@@ -1079,7 +1079,7 @@ void LIR_Assembler::reg2reg(LIR_Opr from_reg, LIR_Opr to_reg) {
ShouldNotReachHere();
}
if (is_reference_type(to_reg->type())) {
__ verify_oop(to_reg->as_register());
__ verify_oop(to_reg->as_register(), FILE_AND_LINE);
}
}

@@ -1095,7 +1095,7 @@ void LIR_Assembler::reg2mem(LIR_Opr from, LIR_Opr dest_opr, BasicType type,
bool needs_patching = (patch_code != lir_patch_none);

if (addr->base()->is_oop_register()) {
__ verify_oop(dest);
__ verify_oop(dest, FILE_AND_LINE);
}

PatchingStub* patch = NULL;
@@ -1130,7 +1130,7 @@ void LIR_Assembler::reg2mem(LIR_Opr from, LIR_Opr dest_opr, BasicType type,
assert(disp_reg != Z_R0 || Immediate::is_simm20(disp_value), "should have set this up");

if (is_reference_type(type)) {
__ verify_oop(from->as_register());
__ verify_oop(from->as_register(), FILE_AND_LINE);
}

bool short_disp = Immediate::is_uimm12(disp_value);
@@ -2412,7 +2412,7 @@ void LIR_Assembler::emit_alloc_obj(LIR_OpAllocObj* op) {
op->klass()->as_register(),
*op->stub()->entry());
__ bind(*op->stub()->continuation());
__ verify_oop(op->obj()->as_register());
__ verify_oop(op->obj()->as_register(), FILE_AND_LINE);
}

void LIR_Assembler::emit_alloc_array(LIR_OpAllocArray* op) {
@@ -2548,7 +2548,7 @@ void LIR_Assembler::emit_typecheck_helper(LIR_OpTypeCheck *op, Label* success, L
}
assert(obj != k_RInfo, "must be different");

__ verify_oop(obj);
__ verify_oop(obj, FILE_AND_LINE);

// Get object class.
// Not a safepoint as obj null check happens earlier.
@@ -3009,7 +3009,7 @@ void LIR_Assembler::emit_profile_type(LIR_OpProfileType* op) {
assert(do_null || do_update, "why are we here?");
assert(!TypeEntries::was_null_seen(current_klass) || do_update, "why are we here?");

__ verify_oop(obj);
__ verify_oop(obj, FILE_AND_LINE);

if (do_null || tmp1 != obj DEBUG_ONLY(|| true)) {
__ z_ltgr(tmp1, obj);
@@ -40,7 +40,7 @@

void C1_MacroAssembler::inline_cache_check(Register receiver, Register iCache) {
Label ic_miss, ic_hit;
verify_oop(receiver);
verify_oop(receiver, FILE_AND_LINE);
int klass_offset = oopDesc::klass_offset_in_bytes();

if (!ImplicitNullChecks || MacroAssembler::needs_explicit_null_check(klass_offset)) {
@@ -83,7 +83,7 @@ void C1_MacroAssembler::lock_object(Register hdr, Register obj, Register disp_hd
assert_different_registers(hdr, obj, disp_hdr);
NearLabel done;

verify_oop(obj);
verify_oop(obj, FILE_AND_LINE);

// Load object header.
z_lg(hdr, Address(obj, hdr_offset));
@@ -158,7 +158,7 @@ void C1_MacroAssembler::unlock_object(Register hdr, Register obj, Register disp_
// Load object.
z_lg(obj, Address(disp_hdr, BasicObjectLock::obj_offset_in_bytes()));
}
verify_oop(obj);
verify_oop(obj, FILE_AND_LINE);
// Test if object header is pointing to the displaced header, and if so, restore
// the displaced header in the object. If the object header is not pointing to
// the displaced header, get the object header instead.
@@ -278,7 +278,7 @@ void C1_MacroAssembler::initialize_object(
// call(RuntimeAddress(Runtime1::entry_for (Runtime1::dtrace_object_alloc_id)));
// }

verify_oop(obj);
verify_oop(obj, FILE_AND_LINE);
}

void C1_MacroAssembler::allocate_array(
@@ -336,16 +336,15 @@ void C1_MacroAssembler::allocate_array(
// call(RuntimeAddress(Runtime1::entry_for (Runtime1::dtrace_object_alloc_id)));
// }

verify_oop(obj);
verify_oop(obj, FILE_AND_LINE);
}


#ifndef PRODUCT

void C1_MacroAssembler::verify_stack_oop(int stack_offset) {
Unimplemented();
// if (!VerifyOops) return;
// verify_oop_addr(Address(SP, stack_offset + STACK_BIAS));
if (!VerifyOops) return;
verify_oop_addr(Address(Z_SP, stack_offset), FILE_AND_LINE);
}

void C1_MacroAssembler::verify_not_null_oop(Register r) {
@@ -354,7 +353,7 @@ void C1_MacroAssembler::verify_not_null_oop(Register r) {
compareU64_and_branch(r, (intptr_t)0, bcondNotEqual, not_null);
stop("non-null oop required");
bind(not_null);
verify_oop(r);
verify_oop(r, FILE_AND_LINE);
}

void C1_MacroAssembler::invalidate_registers(Register preserve1,
@@ -339,7 +339,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
oop_maps->add_gc_map(call_offset, map);
restore_live_registers_except_r2(sasm);

__ verify_oop(obj);
__ verify_oop(obj, FILE_AND_LINE);
__ z_br(Z_R14);
}
break;
@@ -405,7 +405,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
oop_maps->add_gc_map(call_offset, map);
restore_live_registers_except_r2(sasm);

__ verify_oop(obj);
__ verify_oop(obj, FILE_AND_LINE);
__ z_br(Z_R14);
}
break;
@@ -423,7 +423,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
restore_live_registers_except_r2(sasm);

// Z_R2,: new multi array
__ verify_oop(Z_R2);
__ verify_oop(Z_R2, FILE_AND_LINE);
__ z_br(Z_R14);
}
break;
@@ -400,11 +400,11 @@ void G1BarrierSetAssembler::resolve_jobject(MacroAssembler* masm, Register value

__ z_tmll(tmp1, JNIHandles::weak_tag_mask); // Test for jweak tag.
__ z_braz(Lnot_weak);
__ verify_oop(value);
__ verify_oop(value, FILE_AND_LINE);
DecoratorSet decorators = IN_NATIVE | ON_PHANTOM_OOP_REF;
g1_write_barrier_pre(masm, decorators, (const Address*)NULL, value, noreg, tmp1, tmp2, true);
__ bind(Lnot_weak);
__ verify_oop(value);
__ verify_oop(value, FILE_AND_LINE);
__ bind(Ldone);
}

@@ -108,7 +108,7 @@ void BarrierSetAssembler::resolve_jobject(MacroAssembler* masm, Register value,
__ z_nill(value, ~JNIHandles::weak_tag_mask);
__ z_lg(value, 0, value); // Resolve (untagged) jobject.

__ verify_oop(value);
__ verify_oop(value, FILE_AND_LINE);
__ bind(Ldone);
}

@@ -1664,7 +1664,7 @@ void InterpreterMacroAssembler::profile_obj_type(Register obj, Address mdo_addr,
compareU64_and_branch(obj, (intptr_t)0, Assembler::bcondEqual, null_seen);
}

verify_oop(obj);
MacroAssembler::verify_oop(obj, FILE_AND_LINE);
load_klass(klass, obj);

// Klass seen before, nothing to do (regardless of unknown bit).
@@ -2073,7 +2073,7 @@ void InterpreterMacroAssembler::access_local_int(Register index, Register dst) {
}

void InterpreterMacroAssembler::verify_oop(Register reg, TosState state) {
if (state == atos) { MacroAssembler::verify_oop(reg); }
if (state == atos) { MacroAssembler::verify_oop(reg, FILE_AND_LINE); }
}

// Inline assembly for:

0 comments on commit ae81cfa

Please sign in to comment.