OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/heap/heap.h" | 5 #include "src/heap/heap.h" |
6 | 6 |
7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
8 #include "src/api.h" | 8 #include "src/api.h" |
9 #include "src/ast/context-slot-cache.h" | 9 #include "src/ast/context-slot-cache.h" |
10 #include "src/base/bits.h" | 10 #include "src/base/bits.h" |
(...skipping 2506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2517 if (incremental_marking()->black_allocation()) { | 2517 if (incremental_marking()->black_allocation()) { |
2518 array->set_next_link(encountered_transition_arrays(), | 2518 array->set_next_link(encountered_transition_arrays(), |
2519 UPDATE_WEAK_WRITE_BARRIER); | 2519 UPDATE_WEAK_WRITE_BARRIER); |
2520 set_encountered_transition_arrays(array); | 2520 set_encountered_transition_arrays(array); |
2521 } else { | 2521 } else { |
2522 array->set_next_link(undefined_value(), SKIP_WRITE_BARRIER); | 2522 array->set_next_link(undefined_value(), SKIP_WRITE_BARRIER); |
2523 } | 2523 } |
2524 return array; | 2524 return array; |
2525 } | 2525 } |
2526 | 2526 |
2527 | 2527 bool Heap::CreateApiObjects() { |
2528 void Heap::CreateApiObjects() { | |
2529 HandleScope scope(isolate()); | 2528 HandleScope scope(isolate()); |
2530 set_message_listeners(*TemplateList::New(isolate(), 2)); | 2529 set_message_listeners(*TemplateList::New(isolate(), 2)); |
| 2530 HeapObject* obj = nullptr; |
| 2531 { |
| 2532 AllocationResult allocation = AllocateStruct(INTERCEPTOR_INFO_TYPE); |
| 2533 if (!allocation.To(&obj)) return false; |
| 2534 } |
| 2535 InterceptorInfo* info = InterceptorInfo::cast(obj); |
| 2536 info->set_flags(0); |
| 2537 set_noop_interceptor_info(info); |
| 2538 return true; |
2531 } | 2539 } |
2532 | 2540 |
2533 | 2541 |
2534 void Heap::CreateJSEntryStub() { | 2542 void Heap::CreateJSEntryStub() { |
2535 JSEntryStub stub(isolate(), StackFrame::ENTRY); | 2543 JSEntryStub stub(isolate(), StackFrame::ENTRY); |
2536 set_js_entry_code(*stub.GetCode()); | 2544 set_js_entry_code(*stub.GetCode()); |
2537 } | 2545 } |
2538 | 2546 |
2539 | 2547 |
2540 void Heap::CreateJSConstructEntryStub() { | 2548 void Heap::CreateJSConstructEntryStub() { |
(...skipping 3028 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5569 *this, ScavengeJob::kBytesAllocatedBeforeNextIdleTask); | 5577 *this, ScavengeJob::kBytesAllocatedBeforeNextIdleTask); |
5570 new_space()->AddAllocationObserver(idle_scavenge_observer_); | 5578 new_space()->AddAllocationObserver(idle_scavenge_observer_); |
5571 | 5579 |
5572 return true; | 5580 return true; |
5573 } | 5581 } |
5574 | 5582 |
5575 | 5583 |
5576 bool Heap::CreateHeapObjects() { | 5584 bool Heap::CreateHeapObjects() { |
5577 // Create initial maps. | 5585 // Create initial maps. |
5578 if (!CreateInitialMaps()) return false; | 5586 if (!CreateInitialMaps()) return false; |
5579 CreateApiObjects(); | 5587 if (!CreateApiObjects()) return false; |
5580 | 5588 |
5581 // Create initial objects | 5589 // Create initial objects |
5582 CreateInitialObjects(); | 5590 CreateInitialObjects(); |
5583 CHECK_EQ(0u, gc_count_); | 5591 CHECK_EQ(0u, gc_count_); |
5584 | 5592 |
5585 set_native_contexts_list(undefined_value()); | 5593 set_native_contexts_list(undefined_value()); |
5586 set_allocation_sites_list(undefined_value()); | 5594 set_allocation_sites_list(undefined_value()); |
5587 | 5595 |
5588 return true; | 5596 return true; |
5589 } | 5597 } |
(...skipping 972 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6562 } | 6570 } |
6563 | 6571 |
6564 | 6572 |
6565 // static | 6573 // static |
6566 int Heap::GetStaticVisitorIdForMap(Map* map) { | 6574 int Heap::GetStaticVisitorIdForMap(Map* map) { |
6567 return StaticVisitorBase::GetVisitorId(map); | 6575 return StaticVisitorBase::GetVisitorId(map); |
6568 } | 6576 } |
6569 | 6577 |
6570 } // namespace internal | 6578 } // namespace internal |
6571 } // namespace v8 | 6579 } // namespace v8 |
OLD | NEW |