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

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

Issue 1824993002: [builtins] Add support for JS builtins written in TurboFan. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Address comments Created 4 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
« no previous file with comments | « src/compiler/code-stub-assembler.h ('k') | src/compiler/js-builtin-reducer.h » ('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 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/compiler/code-stub-assembler.h" 5 #include "src/compiler/code-stub-assembler.h"
6 6
7 #include <ostream> 7 #include <ostream>
8 8
9 #include "src/code-factory.h" 9 #include "src/code-factory.h"
10 #include "src/compiler/graph.h" 10 #include "src/compiler/graph.h"
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 MachineType rep) { 236 MachineType rep) {
237 return raw_assembler_->Load(rep, object, 237 return raw_assembler_->Load(rep, object,
238 IntPtrConstant(offset - kHeapObjectTag)); 238 IntPtrConstant(offset - kHeapObjectTag));
239 } 239 }
240 240
241 Node* CodeStubAssembler::LoadHeapNumberValue(Node* object) { 241 Node* CodeStubAssembler::LoadHeapNumberValue(Node* object) {
242 return Load(MachineType::Float64(), object, 242 return Load(MachineType::Float64(), object,
243 IntPtrConstant(HeapNumber::kValueOffset - kHeapObjectTag)); 243 IntPtrConstant(HeapNumber::kValueOffset - kHeapObjectTag));
244 } 244 }
245 245
246 Node* CodeStubAssembler::StoreHeapNumberValue(Node* object, Node* value) {
247 return StoreNoWriteBarrier(
248 MachineRepresentation::kFloat64, object,
249 IntPtrConstant(HeapNumber::kValueOffset - kHeapObjectTag), value);
250 }
251
246 Node* CodeStubAssembler::LoadMapBitField(Node* map) { 252 Node* CodeStubAssembler::LoadMapBitField(Node* map) {
247 return Load(MachineType::Uint8(), map, 253 return Load(MachineType::Uint8(), map,
248 IntPtrConstant(Map::kBitFieldOffset - kHeapObjectTag)); 254 IntPtrConstant(Map::kBitFieldOffset - kHeapObjectTag));
249 } 255 }
250 256
251 Node* CodeStubAssembler::LoadMapInstanceType(Node* map) { 257 Node* CodeStubAssembler::LoadMapInstanceType(Node* map) {
252 return Load(MachineType::Uint8(), map, 258 return Load(MachineType::Uint8(), map,
253 IntPtrConstant(Map::kInstanceTypeOffset - kHeapObjectTag)); 259 IntPtrConstant(Map::kInstanceTypeOffset - kHeapObjectTag));
254 } 260 }
255 261
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 } 458 }
453 459
454 Node* CodeStubAssembler::Projection(int index, Node* value) { 460 Node* CodeStubAssembler::Projection(int index, Node* value) {
455 return raw_assembler_->Projection(index, value); 461 return raw_assembler_->Projection(index, value);
456 } 462 }
457 463
458 Node* CodeStubAssembler::LoadMap(Node* object) { 464 Node* CodeStubAssembler::LoadMap(Node* object) {
459 return LoadObjectField(object, HeapObject::kMapOffset); 465 return LoadObjectField(object, HeapObject::kMapOffset);
460 } 466 }
461 467
468 Node* CodeStubAssembler::StoreMapNoWriteBarrier(Node* object, Node* map) {
469 return StoreNoWriteBarrier(
470 MachineRepresentation::kTagged, object,
471 IntPtrConstant(HeapNumber::kMapOffset - kHeapObjectTag), map);
472 }
473
462 Node* CodeStubAssembler::LoadInstanceType(Node* object) { 474 Node* CodeStubAssembler::LoadInstanceType(Node* object) {
463 return LoadMapInstanceType(LoadMap(object)); 475 return LoadMapInstanceType(LoadMap(object));
464 } 476 }
465 477
466 Node* CodeStubAssembler::BitFieldDecode(Node* word32, uint32_t shift, 478 Node* CodeStubAssembler::BitFieldDecode(Node* word32, uint32_t shift,
467 uint32_t mask) { 479 uint32_t mask) {
468 return raw_assembler_->Word32Shr( 480 return raw_assembler_->Word32Shr(
469 raw_assembler_->Word32And(word32, raw_assembler_->Int32Constant(mask)), 481 raw_assembler_->Word32And(word32, raw_assembler_->Int32Constant(mask)),
470 raw_assembler_->Int32Constant(shift)); 482 raw_assembler_->Int32Constant(shift));
471 } 483 }
(...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 } 893 }
882 } 894 }
883 } 895 }
884 896
885 bound_ = true; 897 bound_ = true;
886 } 898 }
887 899
888 } // namespace compiler 900 } // namespace compiler
889 } // namespace internal 901 } // namespace internal
890 } // namespace v8 902 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/code-stub-assembler.h ('k') | src/compiler/js-builtin-reducer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698