jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java	Thu Sep  8 02:26:37 2011
--- new/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java	Thu Sep  8 02:26:37 2011

*** 59,77 **** --- 59,68 ---- static native void init(DirectMethodHandle self, Object ref, boolean doDispatch, Class<?> caller); /** Initialize a method type, once per form. */ static native void init(MethodType self); /** Tell the JVM about a class's bootstrap method. */ static native void registerBootstrap(Class<?> caller, MethodHandle bootstrapMethod); /** Ask the JVM about a class's bootstrap method. */ static native MethodHandle getBootstrap(Class<?> caller); /** Tell the JVM that we need to change the target of an invokedynamic. */ static native void setCallSiteTarget(CallSite site, MethodHandle target); /** Fetch the vmtarget field. * It will be sanitized as necessary to avoid exposing non-Java references. * This routine is for debugging and reflection. */ static native Object getTarget(MethodHandle self, int format);
*** 120,129 **** --- 111,126 ---- static final int OP_ROT_ARGS_DOWN_LIMIT_BIAS; static final boolean COUNT_GWT; + /// CallSite support + + /** Tell the JVM that we need to change the target of a CallSite. */ + static native void setCallSiteTargetNormal(CallSite site, MethodHandle target); + static native void setCallSiteTargetVolatile(CallSite site, MethodHandle target); + private static native void registerNatives(); static { registerNatives(); int k; JVM_PUSH_LIMIT = getConstant(Constants.GC_JVM_PUSH_LIMIT);

jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File