http://codereview.chromium.org/6170001/diff/125002/src/arm/macro-assembler-arm.cc
File src/arm/macro-assembler-arm.cc (right):

http://codereview.chromium.org/6170001/diff/125002/src/arm/macro-assembler-arm.cc#newcode1492
src/arm/macro-assembler-arm.cc:1492: int64_t offset = (ref0.address() -
ref1.address());
should have noticed that earlier, sorry.  I think ARM is 32-bit platform
(or at least we only support 32-bit ARM), so you don't need to be that
paranoid about offsets:   return ref0.address() - ref1.address() should
be enough.

http://codereview.chromium.org/6170001/diff/125002/src/arm/macro-assembler-arm.cc#newcode1520
src/arm/macro-assembler-arm.cc:1520: // return address pushed on stack
(could have moved after GC).
On 2011/02/02 13:24:38, Søren Gjesse wrote:
As far as I can see this relies on DirectCEntryStub itself never
moving. It is
the same assumption we have for the CEntryStub (and the
RegExpCEntryStub I
think). Please add a comment on this.

For the CEntryStub we have been safe so far as it is generated quite
early (with
crankshaft this is actually not the case for the variant that saves
doubles).
How about this will it be generated early, or can a test case where
this
actually moves be crafted?

Søren, yes, that's exactly the reason we call goes indirectly via stub.

http://codereview.chromium.org/6170001/diff/125002/src/arm/macro-assembler-arm.cc#newcode1560
src/arm/macro-assembler-arm.cc:1560: mov(ip,
Operand(ExternalReference(Top::k_pending_exception_address)));
that should be scheduled_exception, not pending.

(scheduled exceptions are thrown by embedder's code, pending by v8 and
JS)

and if this version passes the tests, that sucks.  May I ask you to add
a test case which reveals the bug?  You should use v8::ThrowException in
API callback

http://codereview.chromium.org/6170001/diff/125002/test/cctest/test-api.cc
File test/cctest/test-api.cc (right):

http://codereview.chromium.org/6170001/diff/125002/test/cctest/test-api.cc#newcode7360
test/cctest/test-api.cc:7360: v8::Handle<v8::ObjectTemplate> global =
v8::ObjectTemplate::New();
looks like you shouldn't use this global any more.

http://codereview.chromium.org/6170001/

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

Reply via email to