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

Issue 8823001: Use preallocated StackOverflowException (Closed)

Created:
9 years ago by turnidge
Modified:
9 years ago
Reviewers:
siva
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Use a preallocated StackOverflowException rather than allocating one while our stack is hurting. This allows us to get rid of the stack tweaking which we do in this case. Committed: https://code.google.com/p/dart/source/detail?r=2149

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 2

Patch Set 3 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+56 lines, -23 lines) Patch
M runtime/vm/code_generator.cc View 1 1 chunk +6 lines, -7 lines 0 comments Download
M runtime/vm/dart_api_impl.cc View 1 2 2 chunks +7 lines, -3 lines 0 comments Download
M runtime/vm/isolate.h View 1 2 chunks +0 lines, -9 lines 0 comments Download
M runtime/vm/isolate.cc View 1 2 chunks +0 lines, -2 lines 0 comments Download
M runtime/vm/object_store.h View 1 2 3 chunks +14 lines, -1 line 0 comments Download
M runtime/vm/object_store.cc View 1 2 3 chunks +29 lines, -1 line 0 comments Download

Messages

Total messages: 3 (0 generated)
turnidge
Pretty simple review, hopefully.
9 years ago (2011-12-06 19:59:26 UTC) #1
siva
lgtm http://codereview.chromium.org/8823001/diff/3001/runtime/vm/object_store.cc File runtime/vm/object_store.cc (right): http://codereview.chromium.org/8823001/diff/3001/runtime/vm/object_store.cc#newcode83 runtime/vm/object_store.cc:83: Instance::Handle(Exceptions::Create(Exceptions::kStackOverflow, args)); Since this runs dart code there ...
9 years ago (2011-12-06 20:44:05 UTC) #2
turnidge
9 years ago (2011-12-06 22:51:09 UTC) #3
http://codereview.chromium.org/8823001/diff/3001/runtime/vm/object_store.cc
File runtime/vm/object_store.cc (right):

http://codereview.chromium.org/8823001/diff/3001/runtime/vm/object_store.cc#n...
runtime/vm/object_store.cc:83:
Instance::Handle(Exceptions::Create(Exceptions::kStackOverflow, args));
On 2011/12/06 20:44:05, asiva wrote:
> Since this runs dart code there is a possibility that this code could do a
> longjmp. Is long_jmp_base set at this point?
> 
> I am also wondering if this function should return an error when that happens
> and we could return that error from CheckIsolateState.

Added LongJump around the call.  The error is propagated to the caller in
object_store->sticky_error().  Changed the caller to check this value.

Powered by Google App Engine
This is Rietveld 408576698