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

Roland Westrelin roland.westrelin at oracle.com
Wed Aug 21 04:37:23 PDT 2013


I fixed this:

> 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;
> +}

and will push it.

Roland.


More information about the hotspot-compiler-dev mailing list