| 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;
|
| }
|
|
|
|
|