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