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