http://codereview.chromium.org/11151005/diff/1/src/arm/code-stubs-arm.cc File src/arm/code-stubs-arm.cc (right):
http://codereview.chromium.org/11151005/diff/1/src/arm/code-stubs-arm.cc#newcode334 src/arm/code-stubs-arm.cc:334: return CpuFeatures::IsSupported(VFP2) ? 128 : 8; By increasing this to 128, V8 will generate 128 versions of this stub rather then 8, which will explode the footprint of clone stubs in the snapshot. 8 was chosen because it finds the sweet-spot between amount of code generation and the more frequent cases. Please keep it constant and fixed to 8, I think your optimization still applies, even for shorter arrays. http://codereview.chromium.org/11151005/diff/1/src/arm/code-stubs-arm.cc#newcode483 src/arm/code-stubs-arm.cc:483: return CpuFeatures::IsSupported(VFP2) ? 96 : 6; Similarly here, please keep at constant 6, unless you have code that demonstrates that cases >6 are frequent enough to justify this. http://codereview.chromium.org/11151005/diff/1/src/arm/macro-assembler-arm.cc File src/arm/macro-assembler-arm.cc (right): http://codereview.chromium.org/11151005/diff/1/src/arm/macro-assembler-arm.cc#newcode3168 src/arm/macro-assembler-arm.cc:3168: ASSERT_LE(first.code(), last.code()); In debug mode, can you please actually verify in generated code assert that the pointers are not tagged? http://codereview.chromium.org/11151005/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
