| Index: src/heap.cc | 
| diff --git a/src/heap.cc b/src/heap.cc | 
| index f09922986e92cae9a9eb70b5246ef42b685201d9..2fdac6ab67676f72cf84fd1d24485c9790fea545 100644 | 
| --- a/src/heap.cc | 
| +++ b/src/heap.cc | 
| @@ -3543,119 +3543,6 @@ MaybeObject* Heap::AllocateForeign(Address address, PretenureFlag pretenure) { | 
| } | 
|  | 
|  | 
| -MaybeObject* Heap::AllocateSharedFunctionInfo(Object* name) { | 
| -  SharedFunctionInfo* share; | 
| -  MaybeObject* maybe = Allocate(shared_function_info_map(), OLD_POINTER_SPACE); | 
| -  if (!maybe->To<SharedFunctionInfo>(&share)) return maybe; | 
| - | 
| -  // Set pointer fields. | 
| -  share->set_name(name); | 
| -  Code* illegal = isolate_->builtins()->builtin(Builtins::kIllegal); | 
| -  share->set_code(illegal); | 
| -  share->set_optimized_code_map(Smi::FromInt(0)); | 
| -  share->set_scope_info(ScopeInfo::Empty(isolate_)); | 
| -  Code* construct_stub = | 
| -      isolate_->builtins()->builtin(Builtins::kJSConstructStubGeneric); | 
| -  share->set_construct_stub(construct_stub); | 
| -  share->set_instance_class_name(Object_string()); | 
| -  share->set_function_data(undefined_value(), SKIP_WRITE_BARRIER); | 
| -  share->set_script(undefined_value(), SKIP_WRITE_BARRIER); | 
| -  share->set_debug_info(undefined_value(), SKIP_WRITE_BARRIER); | 
| -  share->set_inferred_name(empty_string(), SKIP_WRITE_BARRIER); | 
| -  share->set_initial_map(undefined_value(), SKIP_WRITE_BARRIER); | 
| -  share->set_ast_node_count(0); | 
| -  share->set_counters(0); | 
| - | 
| -  // Set integer fields (smi or int, depending on the architecture). | 
| -  share->set_length(0); | 
| -  share->set_formal_parameter_count(0); | 
| -  share->set_expected_nof_properties(0); | 
| -  share->set_num_literals(0); | 
| -  share->set_start_position_and_type(0); | 
| -  share->set_end_position(0); | 
| -  share->set_function_token_position(0); | 
| -  // All compiler hints default to false or 0. | 
| -  share->set_compiler_hints(0); | 
| -  share->set_opt_count_and_bailout_reason(0); | 
| - | 
| -  return share; | 
| -} | 
| - | 
| - | 
| -MaybeObject* Heap::AllocateJSMessageObject(String* type, | 
| -                                           JSArray* arguments, | 
| -                                           int start_position, | 
| -                                           int end_position, | 
| -                                           Object* script, | 
| -                                           Object* stack_frames) { | 
| -  Object* result; | 
| -  { MaybeObject* maybe_result = Allocate(message_object_map(), NEW_SPACE); | 
| -    if (!maybe_result->ToObject(&result)) return maybe_result; | 
| -  } | 
| -  JSMessageObject* message = JSMessageObject::cast(result); | 
| -  message->set_properties(Heap::empty_fixed_array(), SKIP_WRITE_BARRIER); | 
| -  message->initialize_elements(); | 
| -  message->set_elements(Heap::empty_fixed_array(), SKIP_WRITE_BARRIER); | 
| -  message->set_type(type); | 
| -  message->set_arguments(arguments); | 
| -  message->set_start_position(start_position); | 
| -  message->set_end_position(end_position); | 
| -  message->set_script(script); | 
| -  message->set_stack_frames(stack_frames); | 
| -  return result; | 
| -} | 
| - | 
| - | 
| -MaybeObject* Heap::AllocateExternalStringFromAscii( | 
| -    const ExternalAsciiString::Resource* resource) { | 
| -  size_t length = resource->length(); | 
| -  if (length > static_cast<size_t>(String::kMaxLength)) { | 
| -    return isolate()->ThrowInvalidStringLength(); | 
| -  } | 
| - | 
| -  Map* map = external_ascii_string_map(); | 
| -  Object* result; | 
| -  { MaybeObject* maybe_result = Allocate(map, NEW_SPACE); | 
| -    if (!maybe_result->ToObject(&result)) return maybe_result; | 
| -  } | 
| - | 
| -  ExternalAsciiString* external_string = ExternalAsciiString::cast(result); | 
| -  external_string->set_length(static_cast<int>(length)); | 
| -  external_string->set_hash_field(String::kEmptyHashField); | 
| -  external_string->set_resource(resource); | 
| - | 
| -  return result; | 
| -} | 
| - | 
| - | 
| -MaybeObject* Heap::AllocateExternalStringFromTwoByte( | 
| -    const ExternalTwoByteString::Resource* resource) { | 
| -  size_t length = resource->length(); | 
| -  if (length > static_cast<size_t>(String::kMaxLength)) { | 
| -    return isolate()->ThrowInvalidStringLength(); | 
| -  } | 
| - | 
| -  // For small strings we check whether the resource contains only | 
| -  // one byte characters.  If yes, we use a different string map. | 
| -  static const size_t kOneByteCheckLengthLimit = 32; | 
| -  bool is_one_byte = length <= kOneByteCheckLengthLimit && | 
| -      String::IsOneByte(resource->data(), static_cast<int>(length)); | 
| -  Map* map = is_one_byte ? | 
| -      external_string_with_one_byte_data_map() : external_string_map(); | 
| -  Object* result; | 
| -  { MaybeObject* maybe_result = Allocate(map, NEW_SPACE); | 
| -    if (!maybe_result->ToObject(&result)) return maybe_result; | 
| -  } | 
| - | 
| -  ExternalTwoByteString* external_string = ExternalTwoByteString::cast(result); | 
| -  external_string->set_length(static_cast<int>(length)); | 
| -  external_string->set_hash_field(String::kEmptyHashField); | 
| -  external_string->set_resource(resource); | 
| - | 
| -  return result; | 
| -} | 
| - | 
| - | 
| MaybeObject* Heap::LookupSingleCharacterStringFromCode(uint16_t code) { | 
| if (code <= String::kMaxOneByteCharCode) { | 
| Object* value = single_character_string_cache()->get(code); | 
| @@ -4147,52 +4034,6 @@ MaybeObject* Heap::AllocateJSObject(JSFunction* constructor, | 
| } | 
|  | 
|  | 
| -MaybeObject* Heap::AllocateJSProxy(Object* handler, Object* prototype) { | 
| -  // Allocate map. | 
| -  // TODO(rossberg): Once we optimize proxies, think about a scheme to share | 
| -  // maps. Will probably depend on the identity of the handler object, too. | 
| -  Map* map; | 
| -  MaybeObject* maybe_map_obj = AllocateMap(JS_PROXY_TYPE, JSProxy::kSize); | 
| -  if (!maybe_map_obj->To<Map>(&map)) return maybe_map_obj; | 
| -  map->set_prototype(prototype); | 
| - | 
| -  // Allocate the proxy object. | 
| -  JSProxy* result; | 
| -  MaybeObject* maybe_result = Allocate(map, NEW_SPACE); | 
| -  if (!maybe_result->To<JSProxy>(&result)) return maybe_result; | 
| -  result->InitializeBody(map->instance_size(), Smi::FromInt(0)); | 
| -  result->set_handler(handler); | 
| -  result->set_hash(undefined_value(), SKIP_WRITE_BARRIER); | 
| -  return result; | 
| -} | 
| - | 
| - | 
| -MaybeObject* Heap::AllocateJSFunctionProxy(Object* handler, | 
| -                                           Object* call_trap, | 
| -                                           Object* construct_trap, | 
| -                                           Object* prototype) { | 
| -  // Allocate map. | 
| -  // TODO(rossberg): Once we optimize proxies, think about a scheme to share | 
| -  // maps. Will probably depend on the identity of the handler object, too. | 
| -  Map* map; | 
| -  MaybeObject* maybe_map_obj = | 
| -      AllocateMap(JS_FUNCTION_PROXY_TYPE, JSFunctionProxy::kSize); | 
| -  if (!maybe_map_obj->To<Map>(&map)) return maybe_map_obj; | 
| -  map->set_prototype(prototype); | 
| - | 
| -  // Allocate the proxy object. | 
| -  JSFunctionProxy* result; | 
| -  MaybeObject* maybe_result = Allocate(map, NEW_SPACE); | 
| -  if (!maybe_result->To<JSFunctionProxy>(&result)) return maybe_result; | 
| -  result->InitializeBody(map->instance_size(), Smi::FromInt(0)); | 
| -  result->set_handler(handler); | 
| -  result->set_hash(undefined_value(), SKIP_WRITE_BARRIER); | 
| -  result->set_call_trap(call_trap); | 
| -  result->set_construct_trap(construct_trap); | 
| -  return result; | 
| -} | 
| - | 
| - | 
| MaybeObject* Heap::CopyJSObject(JSObject* source, AllocationSite* site) { | 
| // Never used to copy functions.  If functions need to be copied we | 
| // have to be careful to clear the literals array. | 
|  |