danno, thanks for your review.

For existing RUNTIME_ENTRY that currently need to be 64-bits, do you mean we
need EXTERNAL_REFERENCE relocation info for them? For X64, they are:
1)    __ movq(kScratchRegister,
            FUNCTION_ADDR(Runtime::PerformGC),
            RelocInfo::RUNTIME_ENTRY);
    __ call(kScratchRegister); from code-stubs-x64.cc
2)  // Call the api function!
    movq(rax, reinterpret_cast<int64_t>(function_address),
       RelocInfo::RUNTIME_ENTRY);
    call(rax);  from macro-assember-x64.cc

Besides those usage of RUNTIME_ENTRY, the others are for the deoptimization
table entries mentioned in this CL.

If we want to use RUNTIME_ENTRY, instead of introducing DEOPT_ENTRY, the
handling of RUNTIME_ENTRY for X64 is same with DEOPT_ENTRY. The reason is that the 32-bit delta for X64 could only be computed when we invoke CopyFrom as shown in this CL as at this time the copied codes and deoptimization entries are both in code range. The handling of RUNTIME_ENTRY for IA32 is different as the 32-bit
delta could be computed anytime.

https://codereview.chromium.org/11574027/

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to