Index: src/factory.cc |
=================================================================== |
--- src/factory.cc (revision 5696) |
+++ src/factory.cc (working copy) |
@@ -431,7 +431,8 @@ |
const char* type, |
Handle<JSArray> args) { |
Handle<String> make_str = Factory::LookupAsciiSymbol(maker); |
- Handle<Object> fun_obj(Top::builtins()->GetProperty(*make_str)); |
+ Handle<Object> fun_obj(Top::builtins()->GetPropertyNoExceptionThrown( |
+ *make_str)); |
// If the builtins haven't been properly configured yet this error |
// constructor may not have been defined. Bail out. |
if (!fun_obj->IsJSFunction()) |
@@ -464,7 +465,7 @@ |
Handle<JSFunction> fun = |
Handle<JSFunction>( |
JSFunction::cast( |
- Top::builtins()->GetProperty(*constr))); |
+ Top::builtins()->GetPropertyNoExceptionThrown(*constr))); |
Object** argv[1] = { Handle<Object>::cast(message).location() }; |
// Invoke the JavaScript factory method. If an exception is thrown while |
@@ -567,12 +568,13 @@ |
} |
-static inline Object* DoCopyInsert(DescriptorArray* array, |
- String* key, |
- Object* value, |
- PropertyAttributes attributes) { |
+MUST_USE_RESULT static inline MaybeObject* DoCopyInsert( |
+ DescriptorArray* array, |
+ String* key, |
+ Object* value, |
+ PropertyAttributes attributes) { |
CallbacksDescriptor desc(key, value, attributes); |
- Object* obj = array->CopyInsert(&desc, REMOVE_TRANSITIONS); |
+ MaybeObject* obj = array->CopyInsert(&desc, REMOVE_TRANSITIONS); |
return obj; |
} |
@@ -921,11 +923,15 @@ |
} |
-static Object* UpdateMapCacheWith(Context* context, |
- FixedArray* keys, |
- Map* map) { |
- Object* result = MapCache::cast(context->map_cache())->Put(keys, map); |
- if (!result->IsFailure()) context->set_map_cache(MapCache::cast(result)); |
+MUST_USE_RESULT static MaybeObject* UpdateMapCacheWith(Context* context, |
+ FixedArray* keys, |
+ Map* map) { |
+ Object* result; |
+ { MaybeObject* maybe_result = |
+ MapCache::cast(context->map_cache())->Put(keys, map); |
+ if (!maybe_result->ToObject(&result)) return maybe_result; |
+ } |
+ context->set_map_cache(MapCache::cast(result)); |
return result; |
} |