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:
asiva@google.com 2012-04-27 01:10:10 +00:00
parent 4ddb8e731b
commit d4e2aa22eb
2 changed files with 13 additions and 4 deletions

View file

@ -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);

View file

@ -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();
}