Changes to allow for -O2 compiles on macos in debug builds.
Review URL: https://chromiumcodereview.appspot.com//10180013 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7052 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
@@ -71,7 +71,12 @@ int Thread::Start(ThreadStartFunction function, uword parameter) {
|
||||
result = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
|
||||
RETURN_ON_PTHREAD_FAILURE(result);
|
||||
|
||||
result = pthread_attr_setstacksize(&attr, 128 * KB);
|
||||
#ifdef DEBUG
|
||||
const int kStackSize = (256 * KB);
|
||||
#else
|
||||
const int kStackSize = (128 * KB);
|
||||
#endif
|
||||
result = pthread_attr_setstacksize(&attr, kStackSize);
|
||||
RETURN_ON_PTHREAD_FAILURE(result);
|
||||
|
||||
ThreadStartData* data = new ThreadStartData(function, parameter);
|
||||
|
||||
@@ -85,7 +85,6 @@ static void ExtractTypeFeedback(const Code& code,
|
||||
|
||||
RawError* Compiler::Compile(const Library& library, const Script& script) {
|
||||
Isolate* isolate = Isolate::Current();
|
||||
Error& error = Error::Handle();
|
||||
LongJump* base = isolate->long_jump_base();
|
||||
LongJump jump;
|
||||
isolate->set_long_jump_base(&jump);
|
||||
@@ -99,12 +98,17 @@ RawError* Compiler::Compile(const Library& library, const Script& script) {
|
||||
const String& library_key = String::Handle(library.private_key());
|
||||
script.Tokenize(library_key);
|
||||
Parser::ParseCompilationUnit(library, script);
|
||||
isolate->set_long_jump_base(base);
|
||||
return Error::null();
|
||||
} else {
|
||||
Error& error = Error::Handle();
|
||||
error = isolate->object_store()->sticky_error();
|
||||
isolate->object_store()->clear_sticky_error();
|
||||
isolate->set_long_jump_base(base);
|
||||
return error.raw();
|
||||
}
|
||||
isolate->set_long_jump_base(base);
|
||||
return error.raw();
|
||||
UNREACHABLE();
|
||||
return Error::null();
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user