< prev index next >

test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/DataPatchTest.java

Print this page




  93 
  94     @Test
  95     public void testNarrowDataSectionReference() {
  96         Assume.assumeTrue(config.useCompressedOops);
  97         test(asm -> {
  98             ResolvedJavaType type = metaAccess.lookupJavaType(getConstClass());
  99             HotSpotConstant c = (HotSpotConstant) constantReflection.asJavaClass(type);
 100             HotSpotConstant cCompressed = (HotSpotConstant) c.compress();
 101             DataSectionReference ref = asm.emitDataItem(cCompressed);
 102             Register compressed = asm.emitLoadNarrowPointer(ref);
 103             Register ret = asm.emitUncompressPointer(compressed, config.narrowOopBase, config.narrowOopShift);
 104             asm.emitPointerRet(ret);
 105         });
 106     }
 107 
 108     @Test
 109     public void testInlineMetadata() {
 110         test(asm -> {
 111             ResolvedJavaType type = metaAccess.lookupJavaType(getConstClass());
 112             Register klass = asm.emitLoadPointer((HotSpotConstant) constantReflection.asObjectHub(type));
 113             Register ret = asm.emitLoadPointer(klass, config.classMirrorOffset);
 114             asm.emitPointerRet(ret);
 115         });
 116     }
 117 
 118     @Test
 119     public void testInlineNarrowMetadata() {
 120         Assume.assumeTrue(config.useCompressedClassPointers);
 121         test(asm -> {
 122             ResolvedJavaType type = metaAccess.lookupJavaType(getConstClass());
 123             HotSpotConstant hub = (HotSpotConstant) constantReflection.asObjectHub(type);
 124             Register narrowKlass = asm.emitLoadPointer((HotSpotConstant) hub.compress());
 125             Register klass = asm.emitUncompressPointer(narrowKlass, config.narrowKlassBase, config.narrowKlassShift);
 126             Register ret = asm.emitLoadPointer(klass, config.classMirrorOffset);
 127             asm.emitPointerRet(ret);
 128         });
 129     }
 130 
 131     @Test
 132     public void testMetadataInDataSection() {
 133         test(asm -> {
 134             ResolvedJavaType type = metaAccess.lookupJavaType(getConstClass());
 135             HotSpotConstant hub = (HotSpotConstant) constantReflection.asObjectHub(type);
 136             DataSectionReference ref = asm.emitDataItem(hub);
 137             Register klass = asm.emitLoadPointer(ref);
 138             Register ret = asm.emitLoadPointer(klass, config.classMirrorOffset);
 139             asm.emitPointerRet(ret);
 140         });
 141     }
 142 
 143     @Test
 144     public void testNarrowMetadataInDataSection() {
 145         Assume.assumeTrue(config.useCompressedClassPointers);
 146         test(asm -> {
 147             ResolvedJavaType type = metaAccess.lookupJavaType(getConstClass());
 148             HotSpotConstant hub = (HotSpotConstant) constantReflection.asObjectHub(type);
 149             HotSpotConstant narrowHub = (HotSpotConstant) hub.compress();
 150             DataSectionReference ref = asm.emitDataItem(narrowHub);
 151             Register narrowKlass = asm.emitLoadNarrowPointer(ref);
 152             Register klass = asm.emitUncompressPointer(narrowKlass, config.narrowKlassBase, config.narrowKlassShift);
 153             Register ret = asm.emitLoadPointer(klass, config.classMirrorOffset);
 154             asm.emitPointerRet(ret);
 155         });
 156     }
 157 }


  93 
  94     @Test
  95     public void testNarrowDataSectionReference() {
  96         Assume.assumeTrue(config.useCompressedOops);
  97         test(asm -> {
  98             ResolvedJavaType type = metaAccess.lookupJavaType(getConstClass());
  99             HotSpotConstant c = (HotSpotConstant) constantReflection.asJavaClass(type);
 100             HotSpotConstant cCompressed = (HotSpotConstant) c.compress();
 101             DataSectionReference ref = asm.emitDataItem(cCompressed);
 102             Register compressed = asm.emitLoadNarrowPointer(ref);
 103             Register ret = asm.emitUncompressPointer(compressed, config.narrowOopBase, config.narrowOopShift);
 104             asm.emitPointerRet(ret);
 105         });
 106     }
 107 
 108     @Test
 109     public void testInlineMetadata() {
 110         test(asm -> {
 111             ResolvedJavaType type = metaAccess.lookupJavaType(getConstClass());
 112             Register klass = asm.emitLoadPointer((HotSpotConstant) constantReflection.asObjectHub(type));
 113             Register ret = asm.emitLoadPointer(asm.emitLoadPointer(klass, config.classMirrorHandleOffset), 0);
 114             asm.emitPointerRet(ret);
 115         });
 116     }
 117 
 118     @Test
 119     public void testInlineNarrowMetadata() {
 120         Assume.assumeTrue(config.useCompressedClassPointers);
 121         test(asm -> {
 122             ResolvedJavaType type = metaAccess.lookupJavaType(getConstClass());
 123             HotSpotConstant hub = (HotSpotConstant) constantReflection.asObjectHub(type);
 124             Register narrowKlass = asm.emitLoadPointer((HotSpotConstant) hub.compress());
 125             Register klass = asm.emitUncompressPointer(narrowKlass, config.narrowKlassBase, config.narrowKlassShift);
 126             Register ret = asm.emitLoadPointer(asm.emitLoadPointer(klass, config.classMirrorHandleOffset), 0);
 127             asm.emitPointerRet(ret);
 128         });
 129     }
 130 
 131     @Test
 132     public void testMetadataInDataSection() {
 133         test(asm -> {
 134             ResolvedJavaType type = metaAccess.lookupJavaType(getConstClass());
 135             HotSpotConstant hub = (HotSpotConstant) constantReflection.asObjectHub(type);
 136             DataSectionReference ref = asm.emitDataItem(hub);
 137             Register klass = asm.emitLoadPointer(ref);
 138             Register ret = asm.emitLoadPointer(asm.emitLoadPointer(klass, config.classMirrorHandleOffset), 0);
 139             asm.emitPointerRet(ret);
 140         });
 141     }
 142 
 143     @Test
 144     public void testNarrowMetadataInDataSection() {
 145         Assume.assumeTrue(config.useCompressedClassPointers);
 146         test(asm -> {
 147             ResolvedJavaType type = metaAccess.lookupJavaType(getConstClass());
 148             HotSpotConstant hub = (HotSpotConstant) constantReflection.asObjectHub(type);
 149             HotSpotConstant narrowHub = (HotSpotConstant) hub.compress();
 150             DataSectionReference ref = asm.emitDataItem(narrowHub);
 151             Register narrowKlass = asm.emitLoadNarrowPointer(ref);
 152             Register klass = asm.emitUncompressPointer(narrowKlass, config.narrowKlassBase, config.narrowKlassShift);
 153             Register ret = asm.emitLoadPointer(asm.emitLoadPointer(klass, config.classMirrorHandleOffset), 0);
 154             asm.emitPointerRet(ret);
 155         });
 156     }
 157 }
< prev index next >