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 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 | 291 |
292 // Load Float64 value by |base| + |offset| address. If the value is a double | 292 // Load Float64 value by |base| + |offset| address. If the value is a double |
293 // hole then jump to |if_hole|. If |machine_type| is None then only the hole | 293 // hole then jump to |if_hole|. If |machine_type| is None then only the hole |
294 // check is generated. | 294 // check is generated. |
295 compiler::Node* LoadDoubleWithHoleCheck( | 295 compiler::Node* LoadDoubleWithHoleCheck( |
296 compiler::Node* base, compiler::Node* offset, Label* if_hole, | 296 compiler::Node* base, compiler::Node* offset, Label* if_hole, |
297 MachineType machine_type = MachineType::Float64()); | 297 MachineType machine_type = MachineType::Float64()); |
298 | 298 |
299 // Context manipulation | 299 // Context manipulation |
300 compiler::Node* LoadContextElement(compiler::Node* context, int slot_index); | 300 compiler::Node* LoadContextElement(compiler::Node* context, int slot_index); |
| 301 compiler::Node* StoreContextElement(compiler::Node* context, int slot_index, |
| 302 compiler::Node* value); |
301 compiler::Node* LoadNativeContext(compiler::Node* context); | 303 compiler::Node* LoadNativeContext(compiler::Node* context); |
302 | 304 |
303 compiler::Node* LoadJSArrayElementsMap(ElementsKind kind, | 305 compiler::Node* LoadJSArrayElementsMap(ElementsKind kind, |
304 compiler::Node* native_context); | 306 compiler::Node* native_context); |
305 | 307 |
306 // Store the floating point value of a HeapNumber. | 308 // Store the floating point value of a HeapNumber. |
307 compiler::Node* StoreHeapNumberValue(compiler::Node* object, | 309 compiler::Node* StoreHeapNumberValue(compiler::Node* object, |
308 compiler::Node* value); | 310 compiler::Node* value); |
309 // Store a field to an object on the heap. | 311 // Store a field to an object on the heap. |
310 compiler::Node* StoreObjectField( | 312 compiler::Node* StoreObjectField( |
(...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
956 Label* bailout); | 958 Label* bailout); |
957 | 959 |
958 static const int kElementLoopUnrollThreshold = 8; | 960 static const int kElementLoopUnrollThreshold = 8; |
959 }; | 961 }; |
960 | 962 |
961 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); | 963 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); |
962 | 964 |
963 } // namespace internal | 965 } // namespace internal |
964 } // namespace v8 | 966 } // namespace v8 |
965 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 967 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |