| OLD | NEW | 
|---|
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. | 
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without | 
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are | 
| 4 // met: | 4 // met: | 
| 5 // | 5 // | 
| 6 //     * Redistributions of source code must retain the above copyright | 6 //     * Redistributions of source code must retain the above copyright | 
| 7 //       notice, this list of conditions and the following disclaimer. | 7 //       notice, this list of conditions and the following disclaimer. | 
| 8 //     * Redistributions in binary form must reproduce the above | 8 //     * Redistributions in binary form must reproduce the above | 
| 9 //       copyright notice, this list of conditions and the following | 9 //       copyright notice, this list of conditions and the following | 
| 10 //       disclaimer in the documentation and/or other materials provided | 10 //       disclaimer in the documentation and/or other materials provided | 
| (...skipping 1727 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1738   oddball_map()->set_prototype(null_value()); | 1738   oddball_map()->set_prototype(null_value()); | 
| 1739   oddball_map()->set_constructor(null_value()); | 1739   oddball_map()->set_constructor(null_value()); | 
| 1740 | 1740 | 
| 1741   { MaybeObject* maybe_obj = | 1741   { MaybeObject* maybe_obj = | 
| 1742         AllocateMap(FIXED_ARRAY_TYPE, kVariableSizeSentinel); | 1742         AllocateMap(FIXED_ARRAY_TYPE, kVariableSizeSentinel); | 
| 1743     if (!maybe_obj->ToObject(&obj)) return false; | 1743     if (!maybe_obj->ToObject(&obj)) return false; | 
| 1744   } | 1744   } | 
| 1745   set_fixed_cow_array_map(Map::cast(obj)); | 1745   set_fixed_cow_array_map(Map::cast(obj)); | 
| 1746   ASSERT(fixed_array_map() != fixed_cow_array_map()); | 1746   ASSERT(fixed_array_map() != fixed_cow_array_map()); | 
| 1747 | 1747 | 
|  | 1748   { MaybeObject* maybe_obj = | 
|  | 1749         AllocateMap(FIXED_ARRAY_TYPE, kVariableSizeSentinel); | 
|  | 1750     if (!maybe_obj->ToObject(&obj)) return false; | 
|  | 1751   } | 
|  | 1752   set_serialized_scope_info_map(Map::cast(obj)); | 
|  | 1753 | 
| 1748   { MaybeObject* maybe_obj = AllocateMap(HEAP_NUMBER_TYPE, HeapNumber::kSize); | 1754   { MaybeObject* maybe_obj = AllocateMap(HEAP_NUMBER_TYPE, HeapNumber::kSize); | 
| 1749     if (!maybe_obj->ToObject(&obj)) return false; | 1755     if (!maybe_obj->ToObject(&obj)) return false; | 
| 1750   } | 1756   } | 
| 1751   set_heap_number_map(Map::cast(obj)); | 1757   set_heap_number_map(Map::cast(obj)); | 
| 1752 | 1758 | 
| 1753   { MaybeObject* maybe_obj = AllocateMap(FOREIGN_TYPE, Foreign::kSize); | 1759   { MaybeObject* maybe_obj = AllocateMap(FOREIGN_TYPE, Foreign::kSize); | 
| 1754     if (!maybe_obj->ToObject(&obj)) return false; | 1760     if (!maybe_obj->ToObject(&obj)) return false; | 
| 1755   } | 1761   } | 
| 1756   set_foreign_map(Map::cast(obj)); | 1762   set_foreign_map(Map::cast(obj)); | 
| 1757 | 1763 | 
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1903   { MaybeObject* maybe_obj = | 1909   { MaybeObject* maybe_obj = | 
| 1904         AllocateMap(FIXED_ARRAY_TYPE, kVariableSizeSentinel); | 1910         AllocateMap(FIXED_ARRAY_TYPE, kVariableSizeSentinel); | 
| 1905     if (!maybe_obj->ToObject(&obj)) return false; | 1911     if (!maybe_obj->ToObject(&obj)) return false; | 
| 1906   } | 1912   } | 
| 1907   set_with_context_map(Map::cast(obj)); | 1913   set_with_context_map(Map::cast(obj)); | 
| 1908 | 1914 | 
| 1909   { MaybeObject* maybe_obj = | 1915   { MaybeObject* maybe_obj = | 
| 1910         AllocateMap(FIXED_ARRAY_TYPE, kVariableSizeSentinel); | 1916         AllocateMap(FIXED_ARRAY_TYPE, kVariableSizeSentinel); | 
| 1911     if (!maybe_obj->ToObject(&obj)) return false; | 1917     if (!maybe_obj->ToObject(&obj)) return false; | 
| 1912   } | 1918   } | 
|  | 1919   set_block_context_map(Map::cast(obj)); | 
|  | 1920 | 
|  | 1921   { MaybeObject* maybe_obj = | 
|  | 1922         AllocateMap(FIXED_ARRAY_TYPE, kVariableSizeSentinel); | 
|  | 1923     if (!maybe_obj->ToObject(&obj)) return false; | 
|  | 1924   } | 
| 1913   Map* global_context_map = Map::cast(obj); | 1925   Map* global_context_map = Map::cast(obj); | 
| 1914   global_context_map->set_visitor_id(StaticVisitorBase::kVisitGlobalContext); | 1926   global_context_map->set_visitor_id(StaticVisitorBase::kVisitGlobalContext); | 
| 1915   set_global_context_map(global_context_map); | 1927   set_global_context_map(global_context_map); | 
| 1916 | 1928 | 
| 1917   { MaybeObject* maybe_obj = AllocateMap(SHARED_FUNCTION_INFO_TYPE, | 1929   { MaybeObject* maybe_obj = AllocateMap(SHARED_FUNCTION_INFO_TYPE, | 
| 1918                                          SharedFunctionInfo::kAlignedSize); | 1930                                          SharedFunctionInfo::kAlignedSize); | 
| 1919     if (!maybe_obj->ToObject(&obj)) return false; | 1931     if (!maybe_obj->ToObject(&obj)) return false; | 
| 1920   } | 1932   } | 
| 1921   set_shared_function_info_map(Map::cast(obj)); | 1933   set_shared_function_info_map(Map::cast(obj)); | 
| 1922 | 1934 | 
| (...skipping 2087 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 4010   Context* context = reinterpret_cast<Context*>(result); | 4022   Context* context = reinterpret_cast<Context*>(result); | 
| 4011   context->set_map(with_context_map()); | 4023   context->set_map(with_context_map()); | 
| 4012   context->set_closure(function); | 4024   context->set_closure(function); | 
| 4013   context->set_previous(previous); | 4025   context->set_previous(previous); | 
| 4014   context->set_extension(extension); | 4026   context->set_extension(extension); | 
| 4015   context->set_global(previous->global()); | 4027   context->set_global(previous->global()); | 
| 4016   return context; | 4028   return context; | 
| 4017 } | 4029 } | 
| 4018 | 4030 | 
| 4019 | 4031 | 
|  | 4032 MaybeObject* Heap::AllocateBlockContext(JSFunction* function, | 
|  | 4033                                         Context* previous, | 
|  | 4034                                         SerializedScopeInfo* scope_info) { | 
|  | 4035   Object* result; | 
|  | 4036   { MaybeObject* maybe_result = | 
|  | 4037         AllocateFixedArray(scope_info->NumberOfContextSlots()); | 
|  | 4038     if (!maybe_result->ToObject(&result)) return maybe_result; | 
|  | 4039   } | 
|  | 4040   // TODO(keuchel): properly initialize context slots. | 
|  | 4041   Context* context = reinterpret_cast<Context*>(result); | 
|  | 4042   context->set_map(block_context_map()); | 
|  | 4043   context->set_closure(function); | 
|  | 4044   context->set_previous(previous); | 
|  | 4045   context->set_extension(scope_info); | 
|  | 4046   context->set_global(previous->global()); | 
|  | 4047   return context; | 
|  | 4048 } | 
|  | 4049 | 
|  | 4050 | 
|  | 4051 MaybeObject* Heap::AllocateSerializedScopeInfo(int length) { | 
|  | 4052   Object* result; | 
|  | 4053   { MaybeObject* maybe_result = AllocateFixedArray(length, TENURED); | 
|  | 4054     if (!maybe_result->ToObject(&result)) return maybe_result; | 
|  | 4055   } | 
|  | 4056   SerializedScopeInfo* scope_info = | 
|  | 4057       reinterpret_cast<SerializedScopeInfo*>(result); | 
|  | 4058   scope_info->set_map(serialized_scope_info_map()); | 
|  | 4059   return scope_info; | 
|  | 4060 } | 
|  | 4061 | 
|  | 4062 | 
| 4020 MaybeObject* Heap::AllocateStruct(InstanceType type) { | 4063 MaybeObject* Heap::AllocateStruct(InstanceType type) { | 
| 4021   Map* map; | 4064   Map* map; | 
| 4022   switch (type) { | 4065   switch (type) { | 
| 4023 #define MAKE_CASE(NAME, Name, name) \ | 4066 #define MAKE_CASE(NAME, Name, name) \ | 
| 4024     case NAME##_TYPE: map = name##_map(); break; | 4067     case NAME##_TYPE: map = name##_map(); break; | 
| 4025 STRUCT_LIST(MAKE_CASE) | 4068 STRUCT_LIST(MAKE_CASE) | 
| 4026 #undef MAKE_CASE | 4069 #undef MAKE_CASE | 
| 4027     default: | 4070     default: | 
| 4028       UNREACHABLE(); | 4071       UNREACHABLE(); | 
| 4029       return Failure::InternalError(); | 4072       return Failure::InternalError(); | 
| (...skipping 2023 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 6053 } | 6096 } | 
| 6054 | 6097 | 
| 6055 | 6098 | 
| 6056 void ExternalStringTable::TearDown() { | 6099 void ExternalStringTable::TearDown() { | 
| 6057   new_space_strings_.Free(); | 6100   new_space_strings_.Free(); | 
| 6058   old_space_strings_.Free(); | 6101   old_space_strings_.Free(); | 
| 6059 } | 6102 } | 
| 6060 | 6103 | 
| 6061 | 6104 | 
| 6062 } }  // namespace v8::internal | 6105 } }  // namespace v8::internal | 
| OLD | NEW | 
|---|