The more I think about this, the more I think this approach is not quite the
right one. Instead of trying to introduce a new type of reloc info for just
deopt entries, I think it makes sense to try to compact all RUNTIME_ENTRYs on x64 (i.e. all pointers to code in the V8 runtime that can be treated like C/C++
functions), which is how deopts entries are handled on other platforms (see
disassembler.cc). If all RUNTIME_ENTRYs are converted to relative 32-bit
relative jumps, then deopt entries can just be RUNTIME_ENTRY like on other
platforms and they will work "for free". For existing RUNTIME_ENTRY that
currently need to be 64-bits you can provide trampolines in the CodeRange that
jump to the "real" runtime entry points.

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

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

Reply via email to