I guess I know why you removed the StoreNamedField code.
I implemented the same stubs and had raytrace fail.
The bug does not come from StoreNamedfield; I identified it and I'll have a fix
ready soon (tomorrow probably).

Cheers,

Alexandre

On 2011/01/04 09:17:19, Kevin Millikin wrote:
http://codereview.chromium.org/6069010/diff/4001/src/arm/lithium-arm.h
File src/arm/lithium-arm.h (right):


http://codereview.chromium.org/6069010/diff/4001/src/arm/lithium-arm.h#newcode1146
src/arm/lithium-arm.h:1146: Handle<Map> map_;
FYI you shouldn't need any of the fields map_, true_block_id_, or
false_block_id_.  You can keep the accessors and just delegate them to the
corresponding hydrogen instruction:

Handle<Map> map() const { return hydrogen()->map(); }
int true_block_id() const { return hydrogen()->FirstSuccessor()->block_id(); }

Though HCompareMapAndBranch::FirstSuccessor is virtual so you may prefer
duplicating the block ID in the Lithium instruction or else exposing a
non-virtual accessor on HCompareMapAndBranch.

You will need the macro invocation

DECLARE_HYDROGEN_ACCESSOR(CompareMapAndBranch)

in this class.  I realize this is just ported from the ia32 code, but you
could
also feel free to clean it up at the same time you do the porting---a hidden
benefit of writing the port.



http://codereview.chromium.org/6069010/

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

Reply via email to