Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(242)

Side by Side Diff: src/heap/heap.cc

Issue 2741683004: [rename] Rename internal field to embedder field. (Closed)
Patch Set: DEPRECATE_SOON(GetInternalField) Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/assembler-inl.h" 9 #include "src/assembler-inl.h"
10 #include "src/ast/context-slot-cache.h" 10 #include "src/ast/context-slot-cache.h"
(...skipping 3494 matching lines...) Expand 10 before | Expand all | Expand 10 after
3505 // for example, JSArray::JSArrayVerify). 3505 // for example, JSArray::JSArrayVerify).
3506 InitializeJSObjectBody(obj, map, JSObject::kHeaderSize); 3506 InitializeJSObjectBody(obj, map, JSObject::kHeaderSize);
3507 } 3507 }
3508 3508
3509 3509
3510 void Heap::InitializeJSObjectBody(JSObject* obj, Map* map, int start_offset) { 3510 void Heap::InitializeJSObjectBody(JSObject* obj, Map* map, int start_offset) {
3511 if (start_offset == map->instance_size()) return; 3511 if (start_offset == map->instance_size()) return;
3512 DCHECK_LT(start_offset, map->instance_size()); 3512 DCHECK_LT(start_offset, map->instance_size());
3513 3513
3514 // We cannot always fill with one_pointer_filler_map because objects 3514 // We cannot always fill with one_pointer_filler_map because objects
3515 // created from API functions expect their internal fields to be initialized 3515 // created from API functions expect their embedder fields to be initialized
3516 // with undefined_value. 3516 // with undefined_value.
3517 // Pre-allocated fields need to be initialized with undefined_value as well 3517 // Pre-allocated fields need to be initialized with undefined_value as well
3518 // so that object accesses before the constructor completes (e.g. in the 3518 // so that object accesses before the constructor completes (e.g. in the
3519 // debugger) will not cause a crash. 3519 // debugger) will not cause a crash.
3520 3520
3521 // In case of Array subclassing the |map| could already be transitioned 3521 // In case of Array subclassing the |map| could already be transitioned
3522 // to different elements kind from the initial map on which we track slack. 3522 // to different elements kind from the initial map on which we track slack.
3523 bool in_progress = map->IsInobjectSlackTrackingInProgress(); 3523 bool in_progress = map->IsInobjectSlackTrackingInProgress();
3524 Object* filler; 3524 Object* filler;
3525 if (in_progress) { 3525 if (in_progress) {
(...skipping 2098 matching lines...) Expand 10 before | Expand all | Expand 10 after
5624 deserialization_complete_ = true; 5624 deserialization_complete_ = true;
5625 } 5625 }
5626 5626
5627 void Heap::SetEmbedderHeapTracer(EmbedderHeapTracer* tracer) { 5627 void Heap::SetEmbedderHeapTracer(EmbedderHeapTracer* tracer) {
5628 DCHECK_EQ(gc_state_, HeapState::NOT_IN_GC); 5628 DCHECK_EQ(gc_state_, HeapState::NOT_IN_GC);
5629 local_embedder_heap_tracer()->SetRemoteTracer(tracer); 5629 local_embedder_heap_tracer()->SetRemoteTracer(tracer);
5630 } 5630 }
5631 5631
5632 void Heap::TracePossibleWrapper(JSObject* js_object) { 5632 void Heap::TracePossibleWrapper(JSObject* js_object) {
5633 DCHECK(js_object->WasConstructedFromApiFunction()); 5633 DCHECK(js_object->WasConstructedFromApiFunction());
5634 if (js_object->GetInternalFieldCount() >= 2 && 5634 if (js_object->GetEmbedderFieldCount() >= 2 &&
5635 js_object->GetInternalField(0) && 5635 js_object->GetEmbedderField(0) &&
5636 js_object->GetInternalField(0) != undefined_value() && 5636 js_object->GetEmbedderField(0) != undefined_value() &&
5637 js_object->GetInternalField(1) != undefined_value()) { 5637 js_object->GetEmbedderField(1) != undefined_value()) {
5638 DCHECK(reinterpret_cast<intptr_t>(js_object->GetInternalField(0)) % 2 == 0); 5638 DCHECK(reinterpret_cast<intptr_t>(js_object->GetEmbedderField(0)) % 2 == 0);
5639 local_embedder_heap_tracer()->AddWrapperToTrace(std::pair<void*, void*>( 5639 local_embedder_heap_tracer()->AddWrapperToTrace(std::pair<void*, void*>(
5640 reinterpret_cast<void*>(js_object->GetInternalField(0)), 5640 reinterpret_cast<void*>(js_object->GetEmbedderField(0)),
5641 reinterpret_cast<void*>(js_object->GetInternalField(1)))); 5641 reinterpret_cast<void*>(js_object->GetEmbedderField(1))));
5642 } 5642 }
5643 } 5643 }
5644 5644
5645 void Heap::RegisterExternallyReferencedObject(Object** object) { 5645 void Heap::RegisterExternallyReferencedObject(Object** object) {
5646 HeapObject* heap_object = HeapObject::cast(*object); 5646 HeapObject* heap_object = HeapObject::cast(*object);
5647 DCHECK(Contains(heap_object)); 5647 DCHECK(Contains(heap_object));
5648 if (FLAG_incremental_marking_wrappers && incremental_marking()->IsMarking()) { 5648 if (FLAG_incremental_marking_wrappers && incremental_marking()->IsMarking()) {
5649 IncrementalMarking::MarkGrey(this, heap_object); 5649 IncrementalMarking::MarkGrey(this, heap_object);
5650 } else { 5650 } else {
5651 DCHECK(mark_compact_collector()->in_use()); 5651 DCHECK(mark_compact_collector()->in_use());
(...skipping 722 matching lines...) Expand 10 before | Expand all | Expand 10 after
6374 } 6374 }
6375 6375
6376 6376
6377 // static 6377 // static
6378 int Heap::GetStaticVisitorIdForMap(Map* map) { 6378 int Heap::GetStaticVisitorIdForMap(Map* map) {
6379 return StaticVisitorBase::GetVisitorId(map); 6379 return StaticVisitorBase::GetVisitorId(map);
6380 } 6380 }
6381 6381
6382 } // namespace internal 6382 } // namespace internal
6383 } // namespace v8 6383 } // namespace v8
OLDNEW
« include/v8-experimental.h ('K') | « src/global-handles.cc ('k') | src/i18n.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698