Thanks for your review.
I added two functions for each platform, "NeedsRewriteRuntimeEntry" and
"target_runtime_entry" to avoid platform #ifdef.
I am not quite familiar with ARM and MIPS instruction set, from the code I
have
read, RUNTIME_ENTRY is only used for ARM and MIPS in the DeoptimizeIf and it
seems that the RUNTIME_ENTRY usage should be replaced by
EXTERNAL_REFERENCE. If
so, RUNTIME_ENTRY are unused for those two platforms.
In this CL, target_runtime_entry is defined as target_address() for ARM and
MIPS. Maybe it should be defined as NULL if RUNTIME_ENTRY will be replaced
by
EXTERNAL_REFERENCE.
https://codereview.chromium.org/11574027/diff/29001/src/objects.cc
File src/objects.cc (right):
https://codereview.chromium.org/11574027/diff/29001/src/objects.cc#newcode8627
src/objects.cc:8627: #if defined(V8_TARGET_ARCH_X64)
On 2013/02/06 15:00:38, danno wrote:
I would very much like to avoid having platform #ifdefs in shared
code. I think
a better solution is to add a new method of RelocInfo, something like
set_runtime_entry_address, which has a platform-specific
implementation and
makes the offset relative on platforms that support it, just like
set_target_address does. With that in place, you could always execute
the code
below, getting the "raw" address using a specialized call similar to
what code
targets do above, e.g.:
Address p = it.rinfo()->absolute_runtime_entry_address(origin);
it.rinfo()->set_target_runtime_entry_address(origin);
Done.
https://codereview.chromium.org/11574027/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.