Reviewers: danno, Jakob, Toon Verwaest,
Message:
I'd like to get your high-level feedback on this CL. The original purpose
is to
minimize the code difference of X64 and X32 port. We could get the X32 SMI
part
by removing the movsxlq in this CL.
Comparing with 32-bit SMI value, 31-bits SMI value has some advantages:
1) SMI register might be used as index register directly inside SIB
when the scale is 2, 4, 8. In this case, just change the scale to
orig_scale >> 1. (This is done in the full codegen, I have not looked at
into
hydrogen for this opportunity)
2) SMI value could be used as Immediate and embedded into instruction as
immediate is signed extend into 64-bit. And we could free
kSmiConstantRegister
for register allocation or other usage.
I have gotten 100% pass with make x64.[release|debug].check
use_31_bits_smi_value=on -j8. And the 31-bit SMI performance is on par with
32-bit SMI on my machine.
Bleeding_edge:
Richards: 29654
DeltaBlue: 29191
Crypto: 24250
RayTrace: 43585
EarleyBoyer: 38074
RegExp: 5581
Splay: 10266
NavierStokes: 26834
----
Score (version 7): 21933
31-bit-smi:
Richards: 30236
DeltaBlue: 29416
Crypto: 23341
RayTrace: 43024
EarleyBoyer: 38041
RegExp: 5637
Splay: 10225
NavierStokes: 26834
----
Score (version 7): 21881
Description:
Optionally use 31-bits SMI value for 64-bit system
Please review this at https://codereview.chromium.org/21014003/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M Makefile
M build/features.gypi
M include/v8.h
M src/x64/assembler-x64.h
M src/x64/assembler-x64.cc
M src/x64/code-stubs-x64.cc
M src/x64/debug-x64.cc
M src/x64/deoptimizer-x64.cc
M src/x64/disasm-x64.cc
M src/x64/full-codegen-x64.cc
M src/x64/lithium-codegen-x64.h
M src/x64/lithium-codegen-x64.cc
M src/x64/lithium-x64.h
M src/x64/lithium-x64.cc
M src/x64/macro-assembler-x64.h
M src/x64/macro-assembler-x64.cc
M src/x64/stub-cache-x64.cc
M test/cctest/test-log-stack-tracer.cc
M test/cctest/test-macro-assembler-x64.cc
--
--
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.