for review (XXL): 6655638 method handles for invokedynamic
Christian Thalinger
Christian.Thalinger at Sun.COM
Thu Feb 12 08:55:59 PST 2009
On Tue, 2009-01-20 at 02:53 -0800, John Rose wrote:
> Please give it a look.
I have now reviewed all files. At least I tried to understand what's
happening but methodHandles.{cpp,hpp} is too much, sorry.
src/share/vm/classfile/classFileParser.cpp:
ClassFileParser::java_dyn_MethodHandle_fix_pre()
(*fields_ptr) is used 7 times, readability would be much better if that
value would be assigned to a local variable.
src/share/vm/oops/instanceKlass.cpp:
instanceKlass::is_same_package_member_impl
+ klassOop next = outer1->compute_enclosing_class(ignore_name, CHECK_(false));
+ klassOop next = outer2->compute_enclosing_class(ignore_name, CHECK_(false));
There is a define CHECK_false for CHECK_(false).
src/share/vm/prims/methodHandles.cpp:
void MethodHandles::set_enabled(bool z) {
This method can also disable the method handle, right? Wouldn't it be
clearer if there is a set_enabled() (or enable()) and a set_disabled()
(disable()) method (without an argument)?
Typo in line 538:
// which refers dirctly to JVM internals.
void MethodHandles::expand_MemberName(Handle mname, int suppress, TRAPS) {
//Handle name = java_lang_String::create_from_symbol(m->name(), CHECK);
Handle name = StringTable::intern(m->name(), CHECK);
Is that intentional?
-- Christian
More information about the hotspot-compiler-dev
mailing list