RFR(M) 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked

Christian Thalinger christian.thalinger at oracle.com
Fri Jul 26 14:19:11 PDT 2013


Did we push this?  I don't think so.

-- Chris

On Jun 3, 2013, at 3:06 PM, Christian Thalinger <christian.thalinger at oracle.com> wrote:

> 
> On Jun 3, 2013, at 1:29 AM, Roland Westrelin <roland.westrelin at oracle.com> wrote:
> 
>> Christian,
>> 
>> Can you confirm the last webrev:
>> 
>> http://cr.openjdk.java.net/~roland/7199175/webrev.02/
>> 
>> is ok with you?
> 
> Looks good.  The only thing that looks odd is this method:
> 
> +PatchingStub::PatchID LIR_Assembler::patching_id(CodeEmitInfo* info) {
> +  PatchingStub::PatchID id = PatchingStub::load_mirror_id;
> +  IRScope* scope = info->scope();
> +  Bytecodes::Code bc_raw = scope->method()->raw_code_at_bci(info->stack()->bci());
> +  if (Bytecodes::has_optional_appendix(bc_raw)) {
> +    id = PatchingStub::load_appendix_id;
> +  }
> +  return id;
> +}
> 
> It would be easier to read doing it like:
> 
> +PatchingStub::PatchID LIR_Assembler::patching_id(CodeEmitInfo* info) {
> +  IRScope* scope = info->scope();
> +  Bytecodes::Code bc_raw = scope->method()->raw_code_at_bci(info->stack()->bci());
> +  if (Bytecodes::has_optional_appendix(bc_raw)) {
> +    return PatchingStub::load_appendix_id;
> +  }
> +  return PatchingStub::load_mirror_id;
> +}
> 
> -- Chris
> 
>> 
>> Roland.
> 



More information about the hotspot-compiler-dev mailing list