Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(321)

Issue 360004: Rework the way we handle the fact that the ARM simulator uses a... (Closed)

Created:
11 years, 1 month ago by Mads Ager (chromium)
Modified:
9 years, 7 months ago
Reviewers:
iposva
CC:
v8-dev
Visibility:
Public.

Description

Rework the way we handle the fact that the ARM simulator uses a separate JS stack. In exception handling, we need to be able to compare addresses into the JavaScript portion of the stack with the address of a C++ handler on the stack. Since the stacks are separate on the simulator, we need a JavaScript stack address corresponding to a C++ try catch handler in order to perform valid address comparisons. On the simulator, we now link the C++ try catch handlers indirectly through the JS stack and use the JS stack indirection address for comparisons. JS C++ handler [C++ address] <------ next_ \ \ \----> handler [C++ address] <------ next_ On actual hardware the C++ try catch handlers continue to be directly linked. BUG=http://code.google.com/p/v8/issues/detail?id=271 Committed: http://code.google.com/p/v8/source/detail?r=3228

Patch Set 1 #

Total comments: 6

Patch Set 2 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+218 lines, -114 lines) Patch
M include/v8.h View 2 chunks +6 lines, -4 lines 0 comments Download
M src/api.cc View 1 chunk +2 lines, -3 lines 0 comments Download
M src/arm/simulator-arm.h View 1 6 chunks +33 lines, -3 lines 0 comments Download
M src/arm/simulator-arm.cc View 1 1 chunk +19 lines, -0 lines 0 comments Download
M src/execution.cc View 1 chunk +1 line, -11 lines 0 comments Download
M src/ia32/simulator-ia32.h View 2 chunks +9 lines, -0 lines 0 comments Download
M src/regexp-macro-assembler.cc View 1 chunk +1 line, -7 lines 0 comments Download
A src/simulator.h View 1 chunk +41 lines, -0 lines 0 comments Download
M src/top.h View 1 5 chunks +43 lines, -9 lines 0 comments Download
M src/top.cc View 1 10 chunks +53 lines, -65 lines 0 comments Download
M src/v8.cc View 1 chunk +1 line, -4 lines 0 comments Download
M src/x64/simulator-x64.h View 2 chunks +9 lines, -0 lines 0 comments Download
M test/cctest/cctest.status View 1 chunk +0 lines, -8 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Mads Ager (chromium)
11 years, 1 month ago (2009-11-04 09:12:16 UTC) #1
iposva
LGTM with nits. -Ivan http://codereview.chromium.org/360004/diff/1/10 File src/arm/simulator-arm.h (right): http://codereview.chromium.org/360004/diff/1/10#newcode146 Line 146: void PopAddress(); I know ...
11 years, 1 month ago (2009-11-05 12:46:38 UTC) #2
Mads Ager (chromium)
11 years, 1 month ago (2009-11-05 13:18:27 UTC) #3
http://codereview.chromium.org/360004/diff/1/10
File src/arm/simulator-arm.h (right):

http://codereview.chromium.org/360004/diff/1/10#newcode146
Line 146: void PopAddress();
On 2009/11/05 12:46:39, iposva wrote:
> I know this is not needed for this implementation, but it would be symmetrical
> if PopAddress returned the address which was located on the stack.

Done.

http://codereview.chromium.org/360004/diff/1/5
File src/top.cc (right):

http://codereview.chromium.org/360004/diff/1/5#newcode38
Line 38: #endif
On 2009/11/05 12:46:39, iposva wrote:
> Maybe we should have a simulator.h which contains the above code?

We should.  Done.

http://codereview.chromium.org/360004/diff/1/7
File src/top.h (right):

http://codereview.chromium.org/360004/diff/1/7#newcode53
Line 53: // none are registered.
On 2009/11/05 12:46:39, iposva wrote:
> It is hard to see the distinction from the comment above.

I have extended the comment for TryCatchHandler in an attempt to make the
distinction clearer.

Powered by Google App Engine
This is Rietveld 408576698