jdk/src/jdk.unsupported/share/classes/sun/misc/Unsafe.java
changeset 38562 51a7629b68cf
parent 37363 329dba26ffd2
child 38774 b2ca0c2ec115
equal deleted inserted replaced
38561:bf65323537b2 38562:51a7629b68cf
   294     @ForceInline
   294     @ForceInline
   295     public void putDouble(Object o, long offset, double x) {
   295     public void putDouble(Object o, long offset, double x) {
   296         theInternalUnsafe.putDouble(o, offset, x);
   296         theInternalUnsafe.putDouble(o, offset, x);
   297     }
   297     }
   298 
   298 
   299 
       
   300     // These read VM internal data.
       
   301 
       
   302     /**
       
   303      * Fetches an uncompressed reference value from a given native variable
       
   304      * ignoring the VM's compressed references mode.
       
   305      *
       
   306      * @param address a memory address locating the variable
       
   307      * @return the value fetched from the indicated native variable
       
   308      */
       
   309     @ForceInline
       
   310     public Object getUncompressedObject(long address) {
       
   311         return theInternalUnsafe.getUncompressedObject(address);
       
   312     }
       
   313 
       
   314     /**
       
   315      * Fetches the {@link java.lang.Class} Java mirror for the given native
       
   316      * metaspace {@code Klass} pointer.
       
   317      *
       
   318      * @param metaspaceKlass a native metaspace {@code Klass} pointer
       
   319      * @return the {@link java.lang.Class} Java mirror
       
   320      */
       
   321     @ForceInline
       
   322     public Class<?> getJavaMirror(long metaspaceKlass) {
       
   323         return theInternalUnsafe.getJavaMirror(metaspaceKlass);
       
   324     }
       
   325 
       
   326     /**
       
   327      * Fetches a native metaspace {@code Klass} pointer for the given Java
       
   328      * object.
       
   329      *
       
   330      * @param o Java heap object for which to fetch the class pointer
       
   331      * @return a native metaspace {@code Klass} pointer
       
   332      */
       
   333     @ForceInline
       
   334     public long getKlassPointer(Object o) {
       
   335         return theInternalUnsafe.getKlassPointer(o);
       
   336     }
       
   337 
       
   338     // These work on values in the C heap.
   299     // These work on values in the C heap.
   339 
   300 
   340     /**
   301     /**
   341      * Fetches a value from a given memory address.  If the address is zero, or
   302      * Fetches a value from a given memory address.  If the address is zero, or
   342      * does not point into a block obtained from {@link #allocateMemory}, the
   303      * does not point into a block obtained from {@link #allocateMemory}, the