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:
parent
997ad6387a
commit
a5da9320d2
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user