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

Side by Side Diff: src/fast-accessor-assembler.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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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/fast-accessor-assembler.h" 5 #include "src/fast-accessor-assembler.h"
6 6
7 #include "src/base/logging.h" 7 #include "src/base/logging.h"
8 #include "src/code-stub-assembler.h" 8 #include "src/code-stub-assembler.h"
9 #include "src/code-stubs.h" // For CallApiCallbackStub. 9 #include "src/code-stubs.h" // For CallApiCallbackStub.
10 #include "src/handles-inl.h" 10 #include "src/handles-inl.h"
11 #include "src/objects-inl.h" 11 #include "src/objects-inl.h"
12 #include "src/objects.h" // For FAA::LoadInternalField impl. 12 #include "src/objects.h" // For FAA::LoadEmbedderField impl.
13 13
14 namespace v8 { 14 namespace v8 {
15 namespace internal { 15 namespace internal {
16 16
17 using compiler::Node; 17 using compiler::Node;
18 using compiler::CodeAssemblerLabel; 18 using compiler::CodeAssemblerLabel;
19 using compiler::CodeAssemblerVariable; 19 using compiler::CodeAssemblerVariable;
20 20
21 FastAccessorAssembler::FastAccessorAssembler(Isolate* isolate) 21 FastAccessorAssembler::FastAccessorAssembler(Isolate* isolate)
22 : zone_(isolate->allocator(), ZONE_NAME), 22 : zone_(isolate->allocator(), ZONE_NAME),
(...skipping 12 matching lines...) Expand all
35 return FromRaw(assembler_->NumberConstant(const_value)); 35 return FromRaw(assembler_->NumberConstant(const_value));
36 } 36 }
37 37
38 FastAccessorAssembler::ValueId FastAccessorAssembler::GetReceiver() { 38 FastAccessorAssembler::ValueId FastAccessorAssembler::GetReceiver() {
39 CHECK_EQ(kBuilding, state_); 39 CHECK_EQ(kBuilding, state_);
40 40
41 // For JS functions, the receiver is parameter 0. 41 // For JS functions, the receiver is parameter 0.
42 return FromRaw(assembler_->Parameter(0)); 42 return FromRaw(assembler_->Parameter(0));
43 } 43 }
44 44
45 FastAccessorAssembler::ValueId FastAccessorAssembler::LoadInternalField( 45 FastAccessorAssembler::ValueId FastAccessorAssembler::LoadEmbedderField(
46 ValueId value_id, int field_no) { 46 ValueId value_id, int field_no) {
47 CHECK_EQ(kBuilding, state_); 47 CHECK_EQ(kBuilding, state_);
48 48
49 CodeAssemblerVariable result(assembler_.get(), 49 CodeAssemblerVariable result(assembler_.get(),
50 MachineRepresentation::kTagged); 50 MachineRepresentation::kTagged);
51 LabelId is_not_jsobject = MakeLabel(); 51 LabelId is_not_jsobject = MakeLabel();
52 CodeAssemblerLabel merge(assembler_.get(), &result); 52 CodeAssemblerLabel merge(assembler_.get(), &result);
53 53
54 CheckIsJSObjectOrJump(value_id, is_not_jsobject); 54 CheckIsJSObjectOrJump(value_id, is_not_jsobject);
55 55
56 Node* internal_field = assembler_->LoadObjectField( 56 Node* embedder_field = assembler_->LoadObjectField(
57 FromId(value_id), JSObject::kHeaderSize + kPointerSize * field_no); 57 FromId(value_id), JSObject::kHeaderSize + kPointerSize * field_no);
58 58
59 result.Bind(internal_field); 59 result.Bind(embedder_field);
60 assembler_->Goto(&merge); 60 assembler_->Goto(&merge);
61 61
62 // Return null, mimicking the C++ counterpart. 62 // Return null, mimicking the C++ counterpart.
63 SetLabel(is_not_jsobject); 63 SetLabel(is_not_jsobject);
64 result.Bind(assembler_->NullConstant()); 64 result.Bind(assembler_->NullConstant());
65 assembler_->Goto(&merge); 65 assembler_->Goto(&merge);
66 66
67 // Return. 67 // Return.
68 assembler_->Bind(&merge); 68 assembler_->Bind(&merge);
69 return FromRaw(result.value()); 69 return FromRaw(result.value());
70 } 70 }
71 71
72 FastAccessorAssembler::ValueId 72 FastAccessorAssembler::ValueId
73 FastAccessorAssembler::LoadInternalFieldUnchecked(ValueId value_id, 73 FastAccessorAssembler::LoadEmbedderFieldUnchecked(ValueId value_id,
74 int field_no) { 74 int field_no) {
75 CHECK_EQ(kBuilding, state_); 75 CHECK_EQ(kBuilding, state_);
76 76
77 // Defensive debug checks. 77 // Defensive debug checks.
78 if (FLAG_debug_code) { 78 if (FLAG_debug_code) {
79 LabelId is_jsobject = MakeLabel(); 79 LabelId is_jsobject = MakeLabel();
80 LabelId is_not_jsobject = MakeLabel(); 80 LabelId is_not_jsobject = MakeLabel();
81 CheckIsJSObjectOrJump(value_id, is_not_jsobject); 81 CheckIsJSObjectOrJump(value_id, is_not_jsobject);
82 assembler_->Goto(FromId(is_jsobject)); 82 assembler_->Goto(FromId(is_jsobject));
83 83
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 void FastAccessorAssembler::Clear() { 261 void FastAccessorAssembler::Clear() {
262 for (auto label : labels_) { 262 for (auto label : labels_) {
263 delete label; 263 delete label;
264 } 264 }
265 nodes_.clear(); 265 nodes_.clear();
266 labels_.clear(); 266 labels_.clear();
267 } 267 }
268 268
269 } // namespace internal 269 } // namespace internal
270 } // namespace v8 270 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698