< prev index next >

src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotConstantReflectionProvider.java

Print this page




  22  */
  23 package jdk.vm.ci.hotspot;
  24 
  25 import java.lang.reflect.Array;
  26 import java.util.Objects;
  27 
  28 import jdk.internal.vm.annotation.Stable;
  29 import jdk.vm.ci.common.JVMCIError;
  30 import jdk.vm.ci.meta.Constant;
  31 import jdk.vm.ci.meta.ConstantReflectionProvider;
  32 import jdk.vm.ci.meta.JavaConstant;
  33 import jdk.vm.ci.meta.JavaKind;
  34 import jdk.vm.ci.meta.MemoryAccessProvider;
  35 import jdk.vm.ci.meta.MethodHandleAccessProvider;
  36 import jdk.vm.ci.meta.ResolvedJavaField;
  37 import jdk.vm.ci.meta.ResolvedJavaType;
  38 
  39 /**
  40  * HotSpot implementation of {@link ConstantReflectionProvider}.
  41  */
  42 public class HotSpotConstantReflectionProvider implements ConstantReflectionProvider, HotSpotProxified {
  43 
  44     protected final HotSpotJVMCIRuntimeProvider runtime;
  45     protected final HotSpotMethodHandleAccessProvider methodHandleAccess;
  46     protected final HotSpotMemoryAccessProviderImpl memoryAccess;
  47 
  48     public HotSpotConstantReflectionProvider(HotSpotJVMCIRuntimeProvider runtime) {
  49         this.runtime = runtime;
  50         this.methodHandleAccess = new HotSpotMethodHandleAccessProvider(this);
  51         this.memoryAccess = new HotSpotMemoryAccessProviderImpl(runtime);
  52     }
  53 
  54     public MethodHandleAccessProvider getMethodHandleAccess() {
  55         return methodHandleAccess;
  56     }
  57 
  58     @Override
  59     public MemoryAccessProvider getMemoryAccessProvider() {
  60         return memoryAccess;
  61     }
  62 




  22  */
  23 package jdk.vm.ci.hotspot;
  24 
  25 import java.lang.reflect.Array;
  26 import java.util.Objects;
  27 
  28 import jdk.internal.vm.annotation.Stable;
  29 import jdk.vm.ci.common.JVMCIError;
  30 import jdk.vm.ci.meta.Constant;
  31 import jdk.vm.ci.meta.ConstantReflectionProvider;
  32 import jdk.vm.ci.meta.JavaConstant;
  33 import jdk.vm.ci.meta.JavaKind;
  34 import jdk.vm.ci.meta.MemoryAccessProvider;
  35 import jdk.vm.ci.meta.MethodHandleAccessProvider;
  36 import jdk.vm.ci.meta.ResolvedJavaField;
  37 import jdk.vm.ci.meta.ResolvedJavaType;
  38 
  39 /**
  40  * HotSpot implementation of {@link ConstantReflectionProvider}.
  41  */
  42 public class HotSpotConstantReflectionProvider implements ConstantReflectionProvider {
  43 
  44     protected final HotSpotJVMCIRuntimeProvider runtime;
  45     protected final HotSpotMethodHandleAccessProvider methodHandleAccess;
  46     protected final HotSpotMemoryAccessProviderImpl memoryAccess;
  47 
  48     public HotSpotConstantReflectionProvider(HotSpotJVMCIRuntimeProvider runtime) {
  49         this.runtime = runtime;
  50         this.methodHandleAccess = new HotSpotMethodHandleAccessProvider(this);
  51         this.memoryAccess = new HotSpotMemoryAccessProviderImpl(runtime);
  52     }
  53 
  54     public MethodHandleAccessProvider getMethodHandleAccess() {
  55         return methodHandleAccess;
  56     }
  57 
  58     @Override
  59     public MemoryAccessProvider getMemoryAccessProvider() {
  60         return memoryAccess;
  61     }
  62 


< prev index next >