use of org.vmmagic.pragma.Inline in project JikesRVM by JikesRVM.
the class Unsafe method defineClass.
@Inline
public Class<?> defineClass(String name, byte[] bytes, int off, int len, final ClassLoader parentClassLoader, ProtectionDomain protectionDomain) {
if (parentClassLoader != null) {
return RVMClassLoader.defineClassInternal(name, bytes, off, len, parentClassLoader).getClassForType();
} else {
ClassLoader callingClassloader = null;
// ClassLoader callingClassloader = VMStackWalker.getCallingClassLoader();
VM.sysFail("Implement me with org.jikesrvm.runtime.StackBrowser or move code " + "from VMStackWalker.getCallingClassLoader() to a place that's not in the GNU " + "Classpath namespace");
return RVMClassLoader.defineClassInternal(name, bytes, off, len, callingClassloader).getClassForType();
}
}
use of org.vmmagic.pragma.Inline in project JikesRVM by JikesRVM.
the class Unsafe method putLongVolatile.
@Inline
public void putLongVolatile(Object obj, long offset, long value) {
Magic.storeStoreBarrier();
Offset off = Offset.fromLong(offset);
if (NEEDS_LONG_PUTFIELD_BARRIER) {
longFieldWrite(obj, value, off, 0);
} else {
Magic.setLongAtOffset(obj, off, value);
}
Magic.fence();
}
use of org.vmmagic.pragma.Inline in project JikesRVM by JikesRVM.
the class Unsafe method getObjectVolatile.
@Inline
public Object getObjectVolatile(Object obj, long offset) {
Offset off = Offset.fromLong(offset);
Object result;
if (NEEDS_OBJECT_GETFIELD_BARRIER) {
result = objectFieldRead(obj, off, 0);
} else {
result = Magic.getObjectAtOffset(obj, off);
}
Magic.combinedLoadBarrier();
return result;
}
use of org.vmmagic.pragma.Inline in project JikesRVM by JikesRVM.
the class Unsafe method getLongVolatile.
@Inline
public long getLongVolatile(Object obj, long offset) {
Offset off = Offset.fromLong(offset);
long result;
if (NEEDS_LONG_GETFIELD_BARRIER) {
result = longFieldRead(obj, off, 0);
} else {
result = Magic.getLongAtOffset(obj, off);
}
Magic.combinedLoadBarrier();
return result;
}
use of org.vmmagic.pragma.Inline in project JikesRVM by JikesRVM.
the class Unsafe method getIntVolatile.
@Inline
public int getIntVolatile(Object obj, long offset) {
Offset off = Offset.fromLong(offset);
int result;
if (NEEDS_INT_GETFIELD_BARRIER) {
result = intFieldRead(obj, off, 0);
} else {
result = Magic.getIntAtOffset(obj, off);
}
Magic.combinedLoadBarrier();
return result;
}
Aggregations