Reset failure flag before retrying stub compilation.

BUG=
TEST=

Review URL: http://codereview.chromium.org/8365003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
ulan@chromium.org 2011-10-20 16:39:26 +00:00
parent 997ad6387a
commit a5da9320d2

View File

@ -113,7 +113,8 @@ Handle<Code> LoadStubCompiler::CompileLoadNonexistent(Handle<String> name,
Handle<JSObject> object, Handle<JSObject> object,
Handle<JSObject> last) { Handle<JSObject> last) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileLoadNonexistent(*name, *object, *last), (set_failure(NULL),
CompileLoadNonexistent(*name, *object, *last)),
Code); Code);
} }
@ -156,7 +157,8 @@ Handle<Code> LoadStubCompiler::CompileLoadField(Handle<JSObject> object,
int index, int index,
Handle<String> name) { Handle<String> name) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileLoadField(*object, *holder, index, *name), (set_failure(NULL),
CompileLoadField(*object, *holder, index, *name)),
Code); Code);
} }
@ -186,7 +188,8 @@ Handle<Code> LoadStubCompiler::CompileLoadCallback(
Handle<JSObject> holder, Handle<JSObject> holder,
Handle<AccessorInfo> callback) { Handle<AccessorInfo> callback) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileLoadCallback(*name, *object, *holder, *callback), (set_failure(NULL),
CompileLoadCallback(*name, *object, *holder, *callback)),
Code); Code);
} }
@ -216,7 +219,8 @@ Handle<Code> LoadStubCompiler::CompileLoadConstant(Handle<JSObject> object,
Handle<Object> value, Handle<Object> value,
Handle<String> name) { Handle<String> name) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileLoadConstant(*object, *holder, *value, *name), (set_failure(NULL),
CompileLoadConstant(*object, *holder, *value, *name)),
Code); Code);
} }
@ -245,7 +249,8 @@ Handle<Code> LoadStubCompiler::CompileLoadInterceptor(Handle<JSObject> object,
Handle<JSObject> holder, Handle<JSObject> holder,
Handle<String> name) { Handle<String> name) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileLoadInterceptor(*object, *holder, *name), (set_failure(NULL),
CompileLoadInterceptor(*object, *holder, *name)),
Code); Code);
} }
@ -279,11 +284,9 @@ Handle<Code> LoadStubCompiler::CompileLoadGlobal(
Handle<String> name, Handle<String> name,
bool is_dont_delete) { bool is_dont_delete) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileLoadGlobal(*object, (set_failure(NULL),
*holder, CompileLoadGlobal(
*cell, *object, *holder, *cell, *name, is_dont_delete)),
*name,
is_dont_delete),
Code); Code);
} }
Handle<Code> StubCache::ComputeLoadGlobal(Handle<String> name, Handle<Code> StubCache::ComputeLoadGlobal(Handle<String> name,
@ -311,7 +314,8 @@ Handle<Code> KeyedLoadStubCompiler::CompileLoadField(Handle<String> name,
Handle<JSObject> holder, Handle<JSObject> holder,
int index) { int index) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileLoadField(*name, *object, *holder, index), (set_failure(NULL),
CompileLoadField(*name, *object, *holder, index)),
Code); Code);
} }
@ -340,7 +344,8 @@ Handle<Code> KeyedLoadStubCompiler::CompileLoadConstant(Handle<String> name,
Handle<JSObject> holder, Handle<JSObject> holder,
Handle<Object> value) { Handle<Object> value) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileLoadConstant(*name, *object, *holder, *value), (set_failure(NULL),
CompileLoadConstant(*name, *object, *holder, *value)),
Code); Code);
} }
@ -370,7 +375,8 @@ Handle<Code> KeyedLoadStubCompiler::CompileLoadInterceptor(
Handle<JSObject> holder, Handle<JSObject> holder,
Handle<String> name) { Handle<String> name) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileLoadInterceptor(*object, *holder, *name), (set_failure(NULL),
CompileLoadInterceptor(*object, *holder, *name)),
Code); Code);
} }
@ -399,7 +405,8 @@ Handle<Code> KeyedLoadStubCompiler::CompileLoadCallback(
Handle<JSObject> holder, Handle<JSObject> holder,
Handle<AccessorInfo> callback) { Handle<AccessorInfo> callback) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileLoadCallback(*name, *object, *holder, *callback), (set_failure(NULL),
CompileLoadCallback(*name, *object, *holder, *callback)),
Code); Code);
} }
@ -428,7 +435,8 @@ Handle<Code> StubCache::ComputeKeyedLoadCallback(
Handle<Code> KeyedLoadStubCompiler::CompileLoadArrayLength( Handle<Code> KeyedLoadStubCompiler::CompileLoadArrayLength(
Handle<String> name) { Handle<String> name) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileLoadArrayLength(*name), (set_failure(NULL),
CompileLoadArrayLength(*name)),
Code); Code);
} }
@ -451,7 +459,8 @@ Handle<Code> StubCache::ComputeKeyedLoadArrayLength(Handle<String> name,
Handle<Code> KeyedLoadStubCompiler::CompileLoadStringLength( Handle<Code> KeyedLoadStubCompiler::CompileLoadStringLength(
Handle<String> name) { Handle<String> name) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileLoadStringLength(*name), (set_failure(NULL),
CompileLoadStringLength(*name)),
Code); Code);
} }
@ -475,7 +484,8 @@ Handle<Code> StubCache::ComputeKeyedLoadStringLength(Handle<String> name,
Handle<Code> KeyedLoadStubCompiler::CompileLoadFunctionPrototype( Handle<Code> KeyedLoadStubCompiler::CompileLoadFunctionPrototype(
Handle<String> name) { Handle<String> name) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileLoadFunctionPrototype(*name), (set_failure(NULL),
CompileLoadFunctionPrototype(*name)),
Code); Code);
} }
@ -502,12 +512,12 @@ Handle<Code> StoreStubCompiler::CompileStoreField(Handle<JSObject> object,
Handle<Map> transition, Handle<Map> transition,
Handle<String> name) { Handle<String> name) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileStoreField(*object, (set_failure(NULL),
index, CompileStoreField(
(transition.is_null() *object,
? NULL index,
: *transition), (transition.is_null() ? NULL : *transition),
*name), *name)),
Code); Code);
} }
@ -611,7 +621,8 @@ Handle<Code> StoreStubCompiler::CompileStoreGlobal(
Handle<JSGlobalPropertyCell> holder, Handle<JSGlobalPropertyCell> holder,
Handle<String> name) { Handle<String> name) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileStoreGlobal(*object, *holder, *name), (set_failure(NULL),
CompileStoreGlobal(*object, *holder, *name)),
Code); Code);
} }
@ -639,7 +650,8 @@ Handle<Code> StoreStubCompiler::CompileStoreCallback(
Handle<AccessorInfo> callback, Handle<AccessorInfo> callback,
Handle<String> name) { Handle<String> name) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileStoreCallback(*object, *callback, *name), (set_failure(NULL),
CompileStoreCallback(*object, *callback, *name)),
Code); Code);
} }
@ -666,7 +678,8 @@ Handle<Code> StubCache::ComputeStoreCallback(Handle<String> name,
Handle<Code> StoreStubCompiler::CompileStoreInterceptor(Handle<JSObject> object, Handle<Code> StoreStubCompiler::CompileStoreInterceptor(Handle<JSObject> object,
Handle<String> name) { Handle<String> name) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileStoreInterceptor(*object, *name), (set_failure(NULL),
CompileStoreInterceptor(*object, *name)),
Code); Code);
} }
@ -692,11 +705,12 @@ Handle<Code> KeyedStoreStubCompiler::CompileStoreField(Handle<JSObject> object,
Handle<Map> transition, Handle<Map> transition,
Handle<String> name) { Handle<String> name) {
CALL_HEAP_FUNCTION(isolate(), CALL_HEAP_FUNCTION(isolate(),
CompileStoreField(*object, index, (set_failure(NULL),
(transition.is_null() CompileStoreField(
? NULL *object,
: *transition), index,
*name), (transition.is_null() ? NULL : *transition),
*name)),
Code); Code);
} }