Index: src/heap.cc |
diff --git a/src/heap.cc b/src/heap.cc |
index 0eaadf0b1d4127211129b1af9d73f56fbdcaf025..b42d699d62d26cbf9427770bc61488076c9456fa 100644 |
--- a/src/heap.cc |
+++ b/src/heap.cc |
@@ -4097,36 +4097,6 @@ MaybeObject* Heap::Allocate(Map* map, AllocationSpace space, |
} |
-void Heap::InitializeFunction(JSFunction* function, |
- SharedFunctionInfo* shared, |
- Object* prototype) { |
- ASSERT(!prototype->IsMap()); |
- function->initialize_properties(); |
- function->initialize_elements(); |
- function->set_shared(shared); |
- function->set_code(shared->code()); |
- function->set_prototype_or_initial_map(prototype); |
- function->set_context(undefined_value()); |
- function->set_literals_or_bindings(empty_fixed_array()); |
- function->set_next_function_link(undefined_value()); |
-} |
- |
- |
-MaybeObject* Heap::AllocateFunction(Map* function_map, |
- SharedFunctionInfo* shared, |
- Object* prototype, |
- PretenureFlag pretenure) { |
- AllocationSpace space = |
- (pretenure == TENURED) ? OLD_POINTER_SPACE : NEW_SPACE; |
- Object* result; |
- { MaybeObject* maybe_result = Allocate(function_map, space); |
- if (!maybe_result->ToObject(&result)) return maybe_result; |
- } |
- InitializeFunction(JSFunction::cast(result), shared, prototype); |
- return result; |
-} |
- |
- |
MaybeObject* Heap::AllocateArgumentsObject(Object* callee, int length) { |
// To get fast allocation and map sharing for arguments objects we |
// allocate them based on an arguments boilerplate. |
@@ -4406,94 +4376,6 @@ MaybeObject* Heap::CopyJSObject(JSObject* source, AllocationSite* site) { |
} |
-MaybeObject* Heap::ReinitializeJSReceiver( |
- JSReceiver* object, InstanceType type, int size) { |
- ASSERT(type >= FIRST_JS_OBJECT_TYPE); |
- |
- // Allocate fresh map. |
- // TODO(rossberg): Once we optimize proxies, cache these maps. |
- Map* map; |
- MaybeObject* maybe = AllocateMap(type, size); |
- if (!maybe->To<Map>(&map)) return maybe; |
- |
- // Check that the receiver has at least the size of the fresh object. |
- int size_difference = object->map()->instance_size() - map->instance_size(); |
- ASSERT(size_difference >= 0); |
- |
- map->set_prototype(object->map()->prototype()); |
- |
- // Allocate the backing storage for the properties. |
- int prop_size = map->unused_property_fields() - map->inobject_properties(); |
- Object* properties; |
- maybe = AllocateFixedArray(prop_size, TENURED); |
- if (!maybe->ToObject(&properties)) return maybe; |
- |
- // Functions require some allocation, which might fail here. |
- SharedFunctionInfo* shared = NULL; |
- if (type == JS_FUNCTION_TYPE) { |
- String* name; |
- OneByteStringKey key(STATIC_ASCII_VECTOR("<freezing call trap>"), |
- HashSeed()); |
- maybe = InternalizeStringWithKey(&key); |
- if (!maybe->To<String>(&name)) return maybe; |
- maybe = AllocateSharedFunctionInfo(name); |
- if (!maybe->To<SharedFunctionInfo>(&shared)) return maybe; |
- } |
- |
- // Because of possible retries of this function after failure, |
- // we must NOT fail after this point, where we have changed the type! |
- |
- // Reset the map for the object. |
- object->set_map(map); |
- JSObject* jsobj = JSObject::cast(object); |
- |
- // Reinitialize the object from the constructor map. |
- InitializeJSObjectFromMap(jsobj, FixedArray::cast(properties), map); |
- |
- // Functions require some minimal initialization. |
- if (type == JS_FUNCTION_TYPE) { |
- map->set_function_with_prototype(true); |
- InitializeFunction(JSFunction::cast(object), shared, the_hole_value()); |
- JSFunction::cast(object)->set_context( |
- isolate()->context()->native_context()); |
- } |
- |
- // Put in filler if the new object is smaller than the old. |
- if (size_difference > 0) { |
- CreateFillerObjectAt( |
- object->address() + map->instance_size(), size_difference); |
- } |
- |
- return object; |
-} |
- |
- |
-MaybeObject* Heap::ReinitializeJSGlobalProxy(JSFunction* constructor, |
- JSGlobalProxy* object) { |
- ASSERT(constructor->has_initial_map()); |
- Map* map = constructor->initial_map(); |
- |
- // Check that the already allocated object has the same size and type as |
- // objects allocated using the constructor. |
- ASSERT(map->instance_size() == object->map()->instance_size()); |
- ASSERT(map->instance_type() == object->map()->instance_type()); |
- |
- // Allocate the backing storage for the properties. |
- int prop_size = map->unused_property_fields() - map->inobject_properties(); |
- Object* properties; |
- { MaybeObject* maybe_properties = AllocateFixedArray(prop_size, TENURED); |
- if (!maybe_properties->ToObject(&properties)) return maybe_properties; |
- } |
- |
- // Reset the map for the object. |
- object->set_map(constructor->initial_map()); |
- |
- // Reinitialize the object from the constructor map. |
- InitializeJSObjectFromMap(object, FixedArray::cast(properties), map); |
- return object; |
-} |
- |
- |
MaybeObject* Heap::AllocateStringFromOneByte(Vector<const uint8_t> string, |
PretenureFlag pretenure) { |
int length = string.length(); |