Request for review (M): 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW

Tom Rodriguez tom.rodriguez at oracle.com
Wed May 11 08:36:44 PDT 2011


methodHandleWalk.cpp:

There are two copies of the retype code.  Can that be factored out?

This doesn't seem right.  2 becomes false but 1 becomes true?

+         case T_BOOLEAN: {
+           jvalue one_jvalue; one_jvalue.i = 1;
+           ArgToken one = make_prim_constant(T_INT, &one_jvalue, CHECK_(zero));
+           emit_load_constant(one);
+           emit_bc(Bytecodes::_iand);
+           break;
+         }

Put these on separate lines

!     Symbol* name; Symbol* sig;

Otherwise it looks good.

tom


On May 11, 2011, at 3:42 AM, Christian Thalinger wrote:

> http://cr.openjdk.java.net/~twisti/6998541
> 
> 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW
> Reviewed-by: jrose
> 
> There is an unimplemented path in the MethodHandleWalker for
> OP_RETYPE_RAW return-type conversions.
> 
> This change also includes a couple of x86 fixes found by John Rose,
> removes the check for genericInvoker on x86 and SPARC and some
> miscellaneous fixes (e.g. MethodHandlePrinter output).
> 
> There is also a test for the type conversions which will be pushed
> later into the JDK 7 repository.
> 
> src/cpu/sparc/vm/methodHandles_sparc.cpp
> src/cpu/x86/vm/methodHandles_x86.cpp
> src/share/vm/prims/methodHandleWalk.cpp
> src/share/vm/prims/methodHandleWalk.hpp
> src/share/vm/prims/methodHandles.cpp
> src/share/vm/prims/methodHandles.hpp
> 



More information about the hotspot-compiler-dev mailing list