OLD | NEW |
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 #ifndef V8_CODE_STUB_ASSEMBLER_H_ | 5 #ifndef V8_CODE_STUB_ASSEMBLER_H_ |
6 #define V8_CODE_STUB_ASSEMBLER_H_ | 6 #define V8_CODE_STUB_ASSEMBLER_H_ |
7 | 7 |
8 #include <functional> | 8 #include <functional> |
9 | 9 |
10 #include "src/compiler/code-assembler.h" | 10 #include "src/compiler/code-assembler.h" |
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 | 305 |
306 compiler::Node* LoadJSArrayElementsMap(ElementsKind kind, | 306 compiler::Node* LoadJSArrayElementsMap(ElementsKind kind, |
307 compiler::Node* native_context); | 307 compiler::Node* native_context); |
308 | 308 |
309 // Store the floating point value of a HeapNumber. | 309 // Store the floating point value of a HeapNumber. |
310 compiler::Node* StoreHeapNumberValue(compiler::Node* object, | 310 compiler::Node* StoreHeapNumberValue(compiler::Node* object, |
311 compiler::Node* value); | 311 compiler::Node* value); |
312 // Store a field to an object on the heap. | 312 // Store a field to an object on the heap. |
313 compiler::Node* StoreObjectField( | 313 compiler::Node* StoreObjectField( |
314 compiler::Node* object, int offset, compiler::Node* value); | 314 compiler::Node* object, int offset, compiler::Node* value); |
| 315 compiler::Node* StoreObjectField(compiler::Node* object, |
| 316 compiler::Node* offset, |
| 317 compiler::Node* value); |
315 compiler::Node* StoreObjectFieldNoWriteBarrier( | 318 compiler::Node* StoreObjectFieldNoWriteBarrier( |
316 compiler::Node* object, int offset, compiler::Node* value, | 319 compiler::Node* object, int offset, compiler::Node* value, |
317 MachineRepresentation rep = MachineRepresentation::kTagged); | 320 MachineRepresentation rep = MachineRepresentation::kTagged); |
| 321 compiler::Node* StoreObjectFieldNoWriteBarrier( |
| 322 compiler::Node* object, compiler::Node* offset, compiler::Node* value, |
| 323 MachineRepresentation rep = MachineRepresentation::kTagged); |
318 // Store the Map of an HeapObject. | 324 // Store the Map of an HeapObject. |
319 compiler::Node* StoreMapNoWriteBarrier(compiler::Node* object, | 325 compiler::Node* StoreMapNoWriteBarrier(compiler::Node* object, |
320 compiler::Node* map); | 326 compiler::Node* map); |
321 compiler::Node* StoreObjectFieldRoot(compiler::Node* object, int offset, | 327 compiler::Node* StoreObjectFieldRoot(compiler::Node* object, int offset, |
322 Heap::RootListIndex root); | 328 Heap::RootListIndex root); |
323 // Store an array element to a FixedArray. | 329 // Store an array element to a FixedArray. |
324 compiler::Node* StoreFixedArrayElement( | 330 compiler::Node* StoreFixedArrayElement( |
325 compiler::Node* object, compiler::Node* index, compiler::Node* value, | 331 compiler::Node* object, compiler::Node* index, compiler::Node* value, |
326 WriteBarrierMode barrier_mode = UPDATE_WRITE_BARRIER, | 332 WriteBarrierMode barrier_mode = UPDATE_WRITE_BARRIER, |
327 ParameterMode parameter_mode = INTEGER_PARAMETERS); | 333 ParameterMode parameter_mode = INTEGER_PARAMETERS); |
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
733 void ExtendPropertiesBackingStore(compiler::Node* object); | 739 void ExtendPropertiesBackingStore(compiler::Node* object); |
734 | 740 |
735 compiler::Node* PrepareValueForWrite(compiler::Node* value, | 741 compiler::Node* PrepareValueForWrite(compiler::Node* value, |
736 Representation representation, | 742 Representation representation, |
737 Label* bailout); | 743 Label* bailout); |
738 | 744 |
739 void StoreNamedField(compiler::Node* object, FieldIndex index, | 745 void StoreNamedField(compiler::Node* object, FieldIndex index, |
740 Representation representation, compiler::Node* value, | 746 Representation representation, compiler::Node* value, |
741 bool transition_to_field); | 747 bool transition_to_field); |
742 | 748 |
| 749 void StoreNamedField(compiler::Node* object, compiler::Node* offset, |
| 750 bool is_inobject, Representation representation, |
| 751 compiler::Node* value, bool transition_to_field); |
| 752 |
743 // Emits keyed sloppy arguments load. Returns either the loaded value. | 753 // Emits keyed sloppy arguments load. Returns either the loaded value. |
744 compiler::Node* LoadKeyedSloppyArguments(compiler::Node* receiver, | 754 compiler::Node* LoadKeyedSloppyArguments(compiler::Node* receiver, |
745 compiler::Node* key, | 755 compiler::Node* key, |
746 Label* bailout) { | 756 Label* bailout) { |
747 return EmitKeyedSloppyArguments(receiver, key, nullptr, bailout); | 757 return EmitKeyedSloppyArguments(receiver, key, nullptr, bailout); |
748 } | 758 } |
749 | 759 |
750 // Emits keyed sloppy arguments store. | 760 // Emits keyed sloppy arguments store. |
751 void StoreKeyedSloppyArguments(compiler::Node* receiver, compiler::Node* key, | 761 void StoreKeyedSloppyArguments(compiler::Node* receiver, compiler::Node* key, |
752 compiler::Node* value, Label* bailout) { | 762 compiler::Node* value, Label* bailout) { |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
883 Label* bailout); | 893 Label* bailout); |
884 | 894 |
885 static const int kElementLoopUnrollThreshold = 8; | 895 static const int kElementLoopUnrollThreshold = 8; |
886 }; | 896 }; |
887 | 897 |
888 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); | 898 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); |
889 | 899 |
890 } // namespace internal | 900 } // namespace internal |
891 } // namespace v8 | 901 } // namespace v8 |
892 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 902 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |