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

Reply via email to