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

Side by Side Diff: src/code-stub-assembler.cc

Issue 2246463002: [compiler] Remove compiler internals from CodeAssembler. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 4 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
« no previous file with comments | « src/code-stub-assembler.h ('k') | src/code-stubs.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 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/code-stub-assembler.h" 5 #include "src/code-stub-assembler.h"
6 #include "src/code-factory.h" 6 #include "src/code-factory.h"
7 #include "src/frames-inl.h" 7 #include "src/frames-inl.h"
8 #include "src/frames.h" 8 #include "src/frames.h"
9 #include "src/ic/handler-configuration.h" 9 #include "src/ic/handler-configuration.h"
10 #include "src/ic/stub-cache.h" 10 #include "src/ic/stub-cache.h"
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 } 271 }
272 272
273 Bind(&return_minus_x); 273 Bind(&return_minus_x);
274 var_x.Bind(Float64Neg(var_x.value())); 274 var_x.Bind(Float64Neg(var_x.value()));
275 Goto(&return_x); 275 Goto(&return_x);
276 276
277 Bind(&return_x); 277 Bind(&return_x);
278 return var_x.value(); 278 return var_x.value();
279 } 279 }
280 280
281 Node* CodeStubAssembler::SmiShiftBitsConstant() {
282 return IntPtrConstant(kSmiShiftSize + kSmiTagSize);
283 }
284
281 Node* CodeStubAssembler::SmiFromWord32(Node* value) { 285 Node* CodeStubAssembler::SmiFromWord32(Node* value) {
282 value = ChangeInt32ToIntPtr(value); 286 value = ChangeInt32ToIntPtr(value);
283 return WordShl(value, SmiShiftBitsConstant()); 287 return WordShl(value, SmiShiftBitsConstant());
284 } 288 }
285 289
286 Node* CodeStubAssembler::SmiTag(Node* value) { 290 Node* CodeStubAssembler::SmiTag(Node* value) {
287 int32_t constant_value; 291 int32_t constant_value;
288 if (ToInt32Constant(value, constant_value) && Smi::IsValid(constant_value)) { 292 if (ToInt32Constant(value, constant_value) && Smi::IsValid(constant_value)) {
289 return SmiConstant(Smi::FromInt(constant_value)); 293 return SmiConstant(Smi::FromInt(constant_value));
290 } 294 }
(...skipping 3702 matching lines...) Expand 10 before | Expand all | Expand 10 after
3993 Node* enum_length = EnumLength(current_map.value()); 3997 Node* enum_length = EnumLength(current_map.value());
3994 Node* zero_constant = SmiConstant(Smi::FromInt(0)); 3998 Node* zero_constant = SmiConstant(Smi::FromInt(0));
3995 BranchIf(WordEqual(enum_length, zero_constant), &loop, use_runtime); 3999 BranchIf(WordEqual(enum_length, zero_constant), &loop, use_runtime);
3996 } 4000 }
3997 } 4001 }
3998 4002
3999 Node* CodeStubAssembler::CreateWeakCellInFeedbackVector(Node* feedback_vector, 4003 Node* CodeStubAssembler::CreateWeakCellInFeedbackVector(Node* feedback_vector,
4000 Node* slot, 4004 Node* slot,
4001 Node* value) { 4005 Node* value) {
4002 Node* size = IntPtrConstant(WeakCell::kSize); 4006 Node* size = IntPtrConstant(WeakCell::kSize);
4003 Node* cell = Allocate(size, compiler::CodeAssembler::kPretenured); 4007 Node* cell = Allocate(size, CodeStubAssembler::kPretenured);
4004 4008
4005 // Initialize the WeakCell. 4009 // Initialize the WeakCell.
4006 StoreObjectFieldRoot(cell, WeakCell::kMapOffset, Heap::kWeakCellMapRootIndex); 4010 StoreObjectFieldRoot(cell, WeakCell::kMapOffset, Heap::kWeakCellMapRootIndex);
4007 StoreObjectField(cell, WeakCell::kValueOffset, value); 4011 StoreObjectField(cell, WeakCell::kValueOffset, value);
4008 StoreObjectFieldRoot(cell, WeakCell::kNextOffset, 4012 StoreObjectFieldRoot(cell, WeakCell::kNextOffset,
4009 Heap::kTheHoleValueRootIndex); 4013 Heap::kTheHoleValueRootIndex);
4010 4014
4011 // Store the WeakCell in the feedback vector. 4015 // Store the WeakCell in the feedback vector.
4012 StoreFixedArrayElement(feedback_vector, slot, cell, UPDATE_WRITE_BARRIER, 4016 StoreFixedArrayElement(feedback_vector, slot, cell, UPDATE_WRITE_BARRIER,
4013 CodeStubAssembler::SMI_PARAMETERS); 4017 CodeStubAssembler::SMI_PARAMETERS);
4014 return cell; 4018 return cell;
4015 } 4019 }
4016 4020
4017 } // namespace internal 4021 } // namespace internal
4018 } // namespace v8 4022 } // namespace v8
OLDNEW
« no previous file with comments | « src/code-stub-assembler.h ('k') | src/code-stubs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698