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

Issue 435020: Fast-compiler: Add stack limit checks to back edges of while, do-while and for. (Closed)

Created:
11 years, 1 month ago by Lasse Reichstein
Modified:
9 years, 6 months ago
CC:
v8-dev
Visibility:
Public.

Description

Fast-compiler: Add stack limit checks to back edges of while, do-while and for. A few other tweaks.

Patch Set 1 #

Total comments: 8
Unified diffs Side-by-side diffs Delta from patch set Stats (+88 lines, -18 lines) Patch
M src/arm/fast-codegen-arm.cc View 1 chunk +6 lines, -6 lines 2 comments Download
M src/arm/macro-assembler-arm.h View 1 chunk +5 lines, -0 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 chunk +9 lines, -0 lines 0 comments Download
M src/fast-codegen.cc View 9 chunks +33 lines, -4 lines 0 comments Download
M src/heap.h View 1 chunk +2 lines, -1 line 3 comments Download
M src/ia32/fast-codegen-ia32.cc View 2 chunks +2 lines, -1 line 0 comments Download
M src/ia32/macro-assembler-ia32.h View 1 chunk +6 lines, -0 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 1 chunk +7 lines, -0 lines 0 comments Download
M src/x64/fast-codegen-x64.cc View 1 chunk +6 lines, -6 lines 3 comments Download
M src/x64/macro-assembler-x64.h View 1 chunk +6 lines, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 chunk +6 lines, -0 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Lasse Reichstein
Quick fix of missing stack check. Seems to work, but I'll run more tests tomorrow ...
11 years, 1 month ago (2009-11-24 14:21:34 UTC) #1
Mads Ager (chromium)
LGTM http://codereview.chromium.org/435020/diff/1/2 File src/arm/fast-codegen-arm.cc (right): http://codereview.chromium.org/435020/diff/1/2#newcode386 src/arm/fast-codegen-arm.cc:386: ASSERT(!Heap::InNewSpace(*Factory::the_hole_value())); Could you add a regression test for ...
11 years, 1 month ago (2009-11-24 14:46:32 UTC) #2
fschneider
LGTM! http://codereview.chromium.org/435020/diff/1/10 File src/x64/fast-codegen-x64.cc (right): http://codereview.chromium.org/435020/diff/1/10#newcode392 src/x64/fast-codegen-x64.cc:392: ASSERT(!Heap::InNewSpace(*Factory::the_hole_value())); On 2009/11/24 14:21:36, Lasse Reichstein wrote: > ...
11 years, 1 month ago (2009-11-25 01:02:59 UTC) #3
Lasse Reichstein
11 years ago (2009-11-25 08:56:25 UTC) #4
http://codereview.chromium.org/435020/diff/1/2
File src/arm/fast-codegen-arm.cc (right):

http://codereview.chromium.org/435020/diff/1/2#newcode386
src/arm/fast-codegen-arm.cc:386:
ASSERT(!Heap::InNewSpace(*Factory::the_hole_value()));
The code is currently unreachable since we don't fully support const variables
in the fast compiler (we bail out on assignment to them).

http://codereview.chromium.org/435020/diff/1/6
File src/heap.h (right):

http://codereview.chromium.org/435020/diff/1/6#newcode914
src/heap.h:914: (1 << MapWord::kMapPageIndexBits) * Page::kPageSize;
Guess I should add a comment to make it more obvious :)

http://codereview.chromium.org/435020/diff/1/10
File src/x64/fast-codegen-x64.cc (right):

http://codereview.chromium.org/435020/diff/1/10#newcode392
src/x64/fast-codegen-x64.cc:392:
ASSERT(!Heap::InNewSpace(*Factory::the_hole_value()));
Since the code isn't hit at all now, it's an easy typo to miss.
At least we have found out why the code isn't hit (we bail out on assignment to
const variables), so we know that the code is untested and can be prepared when
we make it reachable.

Powered by Google App Engine
This is Rietveld 408576698