Changed according to suggestions and also applied those to the ia32 code.

Please take another look.


http://codereview.chromium.org/8054043/diff/8001/src/x64/ic-x64.cc
File src/x64/ic-x64.cc (right):

http://codereview.chromium.org/8054043/diff/8001/src/x64/ic-x64.cc#newcode668
src/x64/ic-x64.cc:668: __ CheckMap(rbx, FACTORY->fixed_array_map(),
Using CompareRoot instead.

On 2011/09/29 10:18:55, fschneider wrote:
Use masm->isolate()->factory() instead. FACTORY exands into
Isolate::Current()->factory which is usually more expensive.

http://codereview.chromium.org/8054043/diff/8001/src/x64/ic-x64.cc#newcode675
src/x64/ic-x64.cc:675: __ CheckMap(rbx,
FACTORY->fixed_double_array_map(), &slow, DONT_DO_SMI_CHECK);
Loaded the map into rdi first. However, I'm not entirely sure what you
had in mind to avoid duplicating code. I don't see how the duplicate
code for the increment of the length field can be avoided.

On 2011/09/29 10:18:55, fschneider wrote:
You should combine the two map checks to avoid duplicating the code
afterwards.
Somehow I prefer the lower level instructions to these complicated
macro-instructions. This way you can load the map into a register only
once and
save a memory access.

http://codereview.chromium.org/8054043/

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to