| OLD | NEW |
| 1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 1808 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1819 Map* global_context_map = Map::cast(obj); | 1819 Map* global_context_map = Map::cast(obj); |
| 1820 global_context_map->set_visitor_id(StaticVisitorBase::kVisitGlobalContext); | 1820 global_context_map->set_visitor_id(StaticVisitorBase::kVisitGlobalContext); |
| 1821 set_global_context_map(global_context_map); | 1821 set_global_context_map(global_context_map); |
| 1822 | 1822 |
| 1823 { MaybeObject* maybe_obj = AllocateMap(SHARED_FUNCTION_INFO_TYPE, | 1823 { MaybeObject* maybe_obj = AllocateMap(SHARED_FUNCTION_INFO_TYPE, |
| 1824 SharedFunctionInfo::kAlignedSize); | 1824 SharedFunctionInfo::kAlignedSize); |
| 1825 if (!maybe_obj->ToObject(&obj)) return false; | 1825 if (!maybe_obj->ToObject(&obj)) return false; |
| 1826 } | 1826 } |
| 1827 set_shared_function_info_map(Map::cast(obj)); | 1827 set_shared_function_info_map(Map::cast(obj)); |
| 1828 | 1828 |
| 1829 { MaybeObject* maybe_obj = AllocateMap(JS_MESSAGE_OBJECT_TYPE, |
| 1830 JSMessageObject::kSize); |
| 1831 if (!maybe_obj->ToObject(&obj)) return false; |
| 1832 } |
| 1833 set_message_object_map(Map::cast(obj)); |
| 1834 |
| 1829 ASSERT(!Heap::InNewSpace(Heap::empty_fixed_array())); | 1835 ASSERT(!Heap::InNewSpace(Heap::empty_fixed_array())); |
| 1830 return true; | 1836 return true; |
| 1831 } | 1837 } |
| 1832 | 1838 |
| 1833 | 1839 |
| 1834 MaybeObject* Heap::AllocateHeapNumber(double value, PretenureFlag pretenure) { | 1840 MaybeObject* Heap::AllocateHeapNumber(double value, PretenureFlag pretenure) { |
| 1835 // Statically ensure that it is safe to allocate heap numbers in paged | 1841 // Statically ensure that it is safe to allocate heap numbers in paged |
| 1836 // spaces. | 1842 // spaces. |
| 1837 STATIC_ASSERT(HeapNumber::kSize <= Page::kMaxHeapObjectSize); | 1843 STATIC_ASSERT(HeapNumber::kSize <= Page::kMaxHeapObjectSize); |
| 1838 AllocationSpace space = (pretenure == TENURED) ? OLD_DATA_SPACE : NEW_SPACE; | 1844 AllocationSpace space = (pretenure == TENURED) ? OLD_DATA_SPACE : NEW_SPACE; |
| (...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2322 share->set_this_property_assignments_count(0); | 2328 share->set_this_property_assignments_count(0); |
| 2323 share->set_this_property_assignments(undefined_value()); | 2329 share->set_this_property_assignments(undefined_value()); |
| 2324 share->set_opt_count(0); | 2330 share->set_opt_count(0); |
| 2325 share->set_num_literals(0); | 2331 share->set_num_literals(0); |
| 2326 share->set_end_position(0); | 2332 share->set_end_position(0); |
| 2327 share->set_function_token_position(0); | 2333 share->set_function_token_position(0); |
| 2328 return result; | 2334 return result; |
| 2329 } | 2335 } |
| 2330 | 2336 |
| 2331 | 2337 |
| 2338 MaybeObject* Heap::AllocateJSMessageObject(String* type, |
| 2339 JSArray* arguments, |
| 2340 int start_position, |
| 2341 int end_position, |
| 2342 Object* script, |
| 2343 Object* stack_trace, |
| 2344 Object* stack_frames) { |
| 2345 Object* result; |
| 2346 { MaybeObject* maybe_result = Allocate(message_object_map(), NEW_SPACE); |
| 2347 if (!maybe_result->ToObject(&result)) return maybe_result; |
| 2348 } |
| 2349 JSMessageObject* message = JSMessageObject::cast(result); |
| 2350 message->set_properties(Heap::empty_fixed_array()); |
| 2351 message->set_elements(Heap::empty_fixed_array()); |
| 2352 message->set_type(type); |
| 2353 message->set_arguments(arguments); |
| 2354 message->set_start_position(start_position); |
| 2355 message->set_end_position(end_position); |
| 2356 message->set_script(script); |
| 2357 message->set_stack_trace(stack_trace); |
| 2358 message->set_stack_frames(stack_frames); |
| 2359 return result; |
| 2360 } |
| 2361 |
| 2362 |
| 2363 |
| 2332 // Returns true for a character in a range. Both limits are inclusive. | 2364 // Returns true for a character in a range. Both limits are inclusive. |
| 2333 static inline bool Between(uint32_t character, uint32_t from, uint32_t to) { | 2365 static inline bool Between(uint32_t character, uint32_t from, uint32_t to) { |
| 2334 // This makes uses of the the unsigned wraparound. | 2366 // This makes uses of the the unsigned wraparound. |
| 2335 return character - from <= to - from; | 2367 return character - from <= to - from; |
| 2336 } | 2368 } |
| 2337 | 2369 |
| 2338 | 2370 |
| 2339 MUST_USE_RESULT static inline MaybeObject* MakeOrFindTwoCharacterString( | 2371 MUST_USE_RESULT static inline MaybeObject* MakeOrFindTwoCharacterString( |
| 2340 uint32_t c1, | 2372 uint32_t c1, |
| 2341 uint32_t c2) { | 2373 uint32_t c2) { |
| (...skipping 3203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5545 void ExternalStringTable::TearDown() { | 5577 void ExternalStringTable::TearDown() { |
| 5546 new_space_strings_.Free(); | 5578 new_space_strings_.Free(); |
| 5547 old_space_strings_.Free(); | 5579 old_space_strings_.Free(); |
| 5548 } | 5580 } |
| 5549 | 5581 |
| 5550 | 5582 |
| 5551 List<Object*> ExternalStringTable::new_space_strings_; | 5583 List<Object*> ExternalStringTable::new_space_strings_; |
| 5552 List<Object*> ExternalStringTable::old_space_strings_; | 5584 List<Object*> ExternalStringTable::old_space_strings_; |
| 5553 | 5585 |
| 5554 } } // namespace v8::internal | 5586 } } // namespace v8::internal |
| OLD | NEW |