Comment #29 on issue 615 by [email protected]: "instanceof" operator broken
on x64
http://code.google.com/p/v8/issues/detail?id=615
While doing the fix on ARM, I noticed the comment at the top of
assembler-arm.h that
says about the register structs:
// "Also, the Register objects cannot be const as this
// forces initialization stubs in MSVC, making us dependent on
initialization
// order."
Do we know what this means, and that the fix that is committed for ia32
does not
cause this problem?
I have checked the effect of making the same change on ARM, but I am just
looking at
the build compiled using the simulator, but running on ia32. Because the
default
linkage type of const objects is internal, there is no conflict between the
multiple
defines of these registers. Only those registers used by name in the .o
file even
have symbols, but when all the .o files are linked together, there are
multiple
copies of each register, in multiple .ro sections. Neither the debug or
release
builds are able to use the integer value of the constant directly - they
always load
the register code from memory. On the other hand, an expression like
ip.bit() |
sp.bit() | r0.bit() is evaluated at compile time to an integer constant,
with 3 bits
set.
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev