Reviewers: Mads Ager,
Description:
Consistently return failure if the stub cache cannot deliver a code object
Some functions of the stub cache returned undefined if a code stub could
not be
generated. However the clients of these functions only cehcks for failure.
Now
all these functions return a failire object if no code stub can be made
available
Please review this at http://codereview.chromium.org/652039
SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/
Affected files:
M src/stub-cache.cc
Index: src/stub-cache.cc
===================================================================
--- src/stub-cache.cc (revision 3922)
+++ src/stub-cache.cc (working copy)
@@ -105,7 +105,7 @@
if (code->IsFailure()) return code;
LOG(CodeCreateEvent(Logger::LOAD_IC_TAG, Code::cast(code), name));
Object* result = receiver->map()->UpdateCodeCache(name,
Code::cast(code));
- if (result->IsFailure()) return code;
+ if (result->IsFailure()) return result;
}
return Set(name, receiver->map(), Code::cast(code));
}
@@ -124,7 +124,7 @@
if (code->IsFailure()) return code;
LOG(CodeCreateEvent(Logger::LOAD_IC_TAG, Code::cast(code), name));
Object* result = receiver->map()->UpdateCodeCache(name,
Code::cast(code));
- if (result->IsFailure()) return code;
+ if (result->IsFailure()) return result;
}
return Set(name, receiver->map(), Code::cast(code));
}
@@ -143,7 +143,7 @@
if (code->IsFailure()) return code;
LOG(CodeCreateEvent(Logger::LOAD_IC_TAG, Code::cast(code), name));
Object* result = receiver->map()->UpdateCodeCache(name,
Code::cast(code));
- if (result->IsFailure()) return code;
+ if (result->IsFailure()) return result;
}
return Set(name, receiver->map(), Code::cast(code));
}
@@ -160,7 +160,7 @@
if (code->IsFailure()) return code;
LOG(CodeCreateEvent(Logger::LOAD_IC_TAG, Code::cast(code), name));
Object* result = receiver->map()->UpdateCodeCache(name,
Code::cast(code));
- if (result->IsFailure()) return code;
+ if (result->IsFailure()) return result;
}
return Set(name, receiver->map(), Code::cast(code));
}
@@ -189,7 +189,7 @@
if (code->IsFailure()) return code;
LOG(CodeCreateEvent(Logger::LOAD_IC_TAG, Code::cast(code), name));
Object* result = receiver->map()->UpdateCodeCache(name,
Code::cast(code));
- if (result->IsFailure()) return code;
+ if (result->IsFailure()) return result;
}
return Set(name, receiver->map(), Code::cast(code));
}
@@ -351,7 +351,7 @@
if (code->IsFailure()) return code;
LOG(CodeCreateEvent(Logger::LOAD_IC_TAG, Code::cast(code), name));
Object* result = receiver->map()->UpdateCodeCache(name,
Code::cast(code));
- if (result->IsFailure()) return code;
+ if (result->IsFailure()) return result;
}
return Set(name, receiver->map(), Code::cast(code));
}
@@ -566,7 +566,7 @@
ASSERT_EQ(flags, Code::cast(code)->flags());
LOG(CodeCreateEvent(Logger::CALL_IC_TAG, Code::cast(code), name));
Object* result = receiver->map()->UpdateCodeCache(name,
Code::cast(code));
- if (result->IsFailure()) return code;
+ if (result->IsFailure()) return result;
}
return Set(name, receiver->map(), Code::cast(code));
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev