--- a/hotspot/src/share/vm/prims/methodHandleWalk.cpp Fri Apr 30 08:37:24 2010 -0700
+++ b/hotspot/src/share/vm/prims/methodHandleWalk.cpp Sat May 01 02:42:18 2010 -0700
@@ -1173,9 +1173,9 @@
// has no receiver, normal MH calls do.
int flags_bits;
if (for_invokedynamic())
- flags_bits = (/*JVM_MH_INVOKE_BITS |*/ JVM_ACC_PUBLIC | JVM_ACC_FINAL | JVM_ACC_STATIC);
+ flags_bits = (/*JVM_MH_INVOKE_BITS |*/ JVM_ACC_PUBLIC | JVM_ACC_FINAL | JVM_ACC_SYNTHETIC | JVM_ACC_STATIC);
else
- flags_bits = (/*JVM_MH_INVOKE_BITS |*/ JVM_ACC_PUBLIC | JVM_ACC_FINAL);
+ flags_bits = (/*JVM_MH_INVOKE_BITS |*/ JVM_ACC_PUBLIC | JVM_ACC_FINAL | JVM_ACC_SYNTHETIC);
bool is_conc_safe = true;
methodOop m_oop = oopFactory::new_method(bytecode_length(),
@@ -1217,6 +1217,7 @@
}
#endif //PRODUCT
+ assert(m->is_method_handle_adapter(), "must be recognized as an adapter");
return m;
}