Examples of Unsafe


Examples of sun.misc.Unsafe

      expect(u.getDoubleVolatile(array, offset + (i * scale))
             == 1.23456789012345D);
  }

  public static void main(String[] args) {
    Unsafe u = avian.Machine.getUnsafe();

    unsafeCatch(u);
    unsafeMemory(u);
    unsafeArray(u);
  }
View Full Code Here

Examples of sun.misc.Unsafe

            if (end - p > LONG_SIZE * 2) {
                int ep = ~LOWBITS & (p + LOWBITS);
                while (p < ep) {
                    if ((bytes[p++] & 0xc0 /*utf8 lead byte*/) != 0x80) len++;
                }
                Unsafe us = (Unsafe)UNSAFE;
                int eend = ~LOWBITS & end;
                while (p < eend) {
                    len += countUtf8LeadBytes(us.getLong(bytes, (long)(OFFSET + p)));
                    p += LONG_SIZE;
                }
            }
        }
        while (p < end) {
View Full Code Here

Examples of sun.misc.Unsafe

                    }
                }
            }
        ) ;

        Unsafe unsafe = null;

        try {
            unsafe = (Unsafe)(fld.get( null )) ;
        } catch (Throwable t) {
            Error err = new Error( "Could not access Unsafe" ) ;
View Full Code Here

Examples of sun.misc.Unsafe

public class AtomicFieldUpdater<T,V> {
  private static final Unsafe unsafe = getUnsafe();

  @NotNull
  private static Unsafe getUnsafe() {
    Unsafe unsafe = null;
    Class uc = Unsafe.class;
    try {
      Field[] fields = uc.getDeclaredFields();
      for (Field field : fields) {
        if (field.getName().equals("theUnsafe")) {
View Full Code Here

Examples of sun.misc.Unsafe

   */
  static long getOperatingSystemPageSize() {
    try {
      Field f = Unsafe.class.getDeclaredField("theUnsafe");
      f.setAccessible(true);
      Unsafe unsafe = (Unsafe)f.get(null);
      return unsafe.pageSize();
    } catch (Throwable e) {
      LOG.warn("Unable to get operating system page size.  Guessing 4096.", e);
      return 4096;
    }
  }
View Full Code Here

Examples of sun.misc.Unsafe

     * performs direct system memory copy of this vector
     */
    public IDoubleArray copy()
    {
        // we are doing some black magic here, to directly copy the memory!
        Field f; Method m; Unsafe unsafe;
        try
        {
            f = Unsafe.class.getDeclaredField("theUnsafe");
            m = Unsafe.class.getDeclaredMethod("copyMemory");
            f.setAccessible(true);
            m.setAccessible(true);
            unsafe = (Unsafe) f.get(null);
        } catch (SecurityException e)
        {
            e.printStackTrace();
            return null;
        } catch (NoSuchFieldException e)
        {
            e.printStackTrace();
            return null;
        } catch (NoSuchMethodException e)
        {
            e.printStackTrace();
            return null;
        } catch (IllegalArgumentException e)
        {
            e.printStackTrace();
            return null;
        } catch (IllegalAccessException e)
        {
            e.printStackTrace();
            return null;
        }

        // allocate new memory for copy
        ByteBuffer clone = ByteBuffer.allocateDirect(buff.capacity());
        long src = ((DirectBuffer) buff).address();
        long dst = ((DirectBuffer) clone).address();
        // memcpy
        unsafe.copyMemory(src, dst, buff.capacity());
        return new ForeignBufferDoubleArray(clone, rows, cols);
    }
View Full Code Here

Examples of sun.misc.Unsafe

  static public enum Type {
    BYTE, BOOLEAN, CHAR, SHORT, INT, LONG, FLOAT, DOUBLE, OBJECT
  }

  static public Object getValue(Object reference, long field, Type type) {
    Unsafe unsafe = UnsafeHolder.getUnsafe();
    switch (type) {
    case BYTE:
      return unsafe.getByte(reference, field);
    case BOOLEAN:
      return unsafe.getBoolean(reference, field);
    case CHAR:
      return unsafe.getChar(reference, field);
    case SHORT:
      return unsafe.getShort(reference, field);
    case INT:
      return unsafe.getInt(reference, field);
    case LONG:
      return unsafe.getLong(reference, field);
    case FLOAT:
      return unsafe.getFloat(reference, field);
    case DOUBLE:
      return unsafe.getDouble(reference, field);
    case OBJECT:
      return unsafe.getObject(reference, field);
    }
    return null;
  }
View Full Code Here

Examples of sun.misc.Unsafe

    }
    return null;
  }

  static public void putValue(Object reference, long field, Object value, Type type) {
    Unsafe unsafe = UnsafeHolder.getUnsafe();
    switch (type) {
    case BYTE:
      unsafe.putByte(reference, field, (Byte) value);
      break;
    case BOOLEAN:
      unsafe.putBoolean(reference, field, (Boolean) value);
      break;
    case CHAR:
      unsafe.putChar(reference, field, (Character) value);
      break;
    case SHORT:
      unsafe.putShort(reference, field, (Short) value);
      break;
    case INT:
      unsafe.putInt(reference, field, (Integer) value);
      break;
    case LONG:
      unsafe.putLong(reference, field, (Long) value);
      break;
    case FLOAT:
      unsafe.putFloat(reference, field, (Float) value);
      break;
    case DOUBLE:
      unsafe.putDouble(reference, field, (Double) value);
      break;
    case OBJECT:
      unsafe.putObject(reference, field, value);
      break;
    }
  }
View Full Code Here

Examples of sun.misc.Unsafe

  static public enum Type {
    BYTE, BOOLEAN, CHAR, SHORT, INT, LONG, FLOAT, DOUBLE, OBJECT
  }

  static public Object getValue(Object reference, long field, Type type) {
    Unsafe unsafe = UnsafeHolder.getUnsafe();
    switch (type) {
    case BYTE:
      return unsafe.getByte(reference, field);
    case BOOLEAN:
      return unsafe.getBoolean(reference, field);
    case CHAR:
      return unsafe.getChar(reference, field);
    case SHORT:
      return unsafe.getShort(reference, field);
    case INT:
      return unsafe.getInt(reference, field);
    case LONG:
      return unsafe.getLong(reference, field);
    case FLOAT:
      return unsafe.getFloat(reference, field);
    case DOUBLE:
      return unsafe.getDouble(reference, field);
    case OBJECT:
      return unsafe.getObject(reference, field);
    }
    return null;
  }
View Full Code Here

Examples of sun.misc.Unsafe

    }
    return null;
  }

  static public void putValue(Object reference, long field, Object value, Type type) {
    Unsafe unsafe = UnsafeHolder.getUnsafe();
    switch (type) {
    case BYTE:
      unsafe.putByte(reference, field, (Byte) value);
      break;
    case BOOLEAN:
      unsafe.putBoolean(reference, field, (Boolean) value);
      break;
    case CHAR:
      unsafe.putChar(reference, field, (Character) value);
      break;
    case SHORT:
      unsafe.putShort(reference, field, (Short) value);
      break;
    case INT:
      unsafe.putInt(reference, field, (Integer) value);
      break;
    case LONG:
      unsafe.putLong(reference, field, (Long) value);
      break;
    case FLOAT:
      unsafe.putFloat(reference, field, (Float) value);
      break;
    case DOUBLE:
      unsafe.putDouble(reference, field, (Double) value);
      break;
    case OBJECT:
      unsafe.putObject(reference, field, value);
      break;
    }
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.