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 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
395 MachineType machine_type = MachineType::Float64()); | 395 MachineType machine_type = MachineType::Float64()); |
396 Node* LoadFixedTypedArrayElement( | 396 Node* LoadFixedTypedArrayElement( |
397 Node* data_pointer, Node* index_node, ElementsKind elements_kind, | 397 Node* data_pointer, Node* index_node, ElementsKind elements_kind, |
398 ParameterMode parameter_mode = INTPTR_PARAMETERS); | 398 ParameterMode parameter_mode = INTPTR_PARAMETERS); |
399 | 399 |
400 // Context manipulation | 400 // Context manipulation |
401 Node* LoadContextElement(Node* context, int slot_index); | 401 Node* LoadContextElement(Node* context, int slot_index); |
402 Node* LoadContextElement(Node* context, Node* slot_index); | 402 Node* LoadContextElement(Node* context, Node* slot_index); |
403 Node* StoreContextElement(Node* context, int slot_index, Node* value); | 403 Node* StoreContextElement(Node* context, int slot_index, Node* value); |
404 Node* StoreContextElement(Node* context, Node* slot_index, Node* value); | 404 Node* StoreContextElement(Node* context, Node* slot_index, Node* value); |
| 405 Node* StoreContextElementNoWriteBarrier(Node* context, int slot_index, |
| 406 Node* value); |
405 Node* LoadNativeContext(Node* context); | 407 Node* LoadNativeContext(Node* context); |
406 | 408 |
407 Node* LoadJSArrayElementsMap(ElementsKind kind, Node* native_context); | 409 Node* LoadJSArrayElementsMap(ElementsKind kind, Node* native_context); |
408 | 410 |
409 // Store the floating point value of a HeapNumber. | 411 // Store the floating point value of a HeapNumber. |
410 Node* StoreHeapNumberValue(Node* object, Node* value); | 412 Node* StoreHeapNumberValue(Node* object, Node* value); |
411 // Store a field to an object on the heap. | 413 // Store a field to an object on the heap. |
412 Node* StoreObjectField(Node* object, int offset, Node* value); | 414 Node* StoreObjectField(Node* object, int offset, Node* value); |
413 Node* StoreObjectField(Node* object, Node* offset, Node* value); | 415 Node* StoreObjectField(Node* object, Node* offset, Node* value); |
414 Node* StoreObjectFieldNoWriteBarrier( | 416 Node* StoreObjectFieldNoWriteBarrier( |
(...skipping 671 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1086 | 1088 |
1087 // Debug helpers | 1089 // Debug helpers |
1088 Node* IsDebugActive(); | 1090 Node* IsDebugActive(); |
1089 | 1091 |
1090 // TypedArray/ArrayBuffer helpers | 1092 // TypedArray/ArrayBuffer helpers |
1091 Node* IsDetachedBuffer(Node* buffer); | 1093 Node* IsDetachedBuffer(Node* buffer); |
1092 | 1094 |
1093 Node* ElementOffsetFromIndex(Node* index, ElementsKind kind, | 1095 Node* ElementOffsetFromIndex(Node* index, ElementsKind kind, |
1094 ParameterMode mode, int base_size = 0); | 1096 ParameterMode mode, int base_size = 0); |
1095 | 1097 |
| 1098 Node* AllocateFunctionWithMapAndContext(Node* map, Node* shared_info, |
| 1099 Node* context); |
| 1100 |
1096 // Promise helpers | 1101 // Promise helpers |
1097 Node* IsPromiseHookEnabled(); | 1102 Node* IsPromiseHookEnabled(); |
1098 | 1103 |
1099 Node* AllocateJSPromise(Node* context); | 1104 Node* AllocateJSPromise(Node* context); |
1100 void PromiseInit(Node* promise); | 1105 void PromiseInit(Node* promise); |
1101 | 1106 |
1102 // Other promise fields may also be need to set/reset. This only | 1107 // Other promise fields may also be need to set/reset. This only |
1103 // provides a helper for certain init patterns. | 1108 // provides a helper for certain init patterns. |
1104 void PromiseSet(Node* promise, Node* status, Node* result); | 1109 void PromiseSet(Node* promise, Node* status, Node* result); |
1105 | 1110 |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1210 } | 1215 } |
1211 #else | 1216 #else |
1212 #define CSA_SLOW_ASSERT(csa, x) ((void)0) | 1217 #define CSA_SLOW_ASSERT(csa, x) ((void)0) |
1213 #endif | 1218 #endif |
1214 | 1219 |
1215 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); | 1220 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); |
1216 | 1221 |
1217 } // namespace internal | 1222 } // namespace internal |
1218 } // namespace v8 | 1223 } // namespace v8 |
1219 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 1224 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |