| 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 "src/compiler/code-assembler.h" |    8 #include "src/compiler/code-assembler.h" | 
|    9 #include "src/objects.h" |    9 #include "src/objects.h" | 
|   10  |   10  | 
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  135                                                   int additional_offset = 0); |  135                                                   int additional_offset = 0); | 
|  136   compiler::Node* LoadFixedArrayElementSmiIndex(compiler::Node* object, |  136   compiler::Node* LoadFixedArrayElementSmiIndex(compiler::Node* object, | 
|  137                                                 compiler::Node* smi_index, |  137                                                 compiler::Node* smi_index, | 
|  138                                                 int additional_offset = 0); |  138                                                 int additional_offset = 0); | 
|  139   compiler::Node* LoadFixedArrayElementConstantIndex(compiler::Node* object, |  139   compiler::Node* LoadFixedArrayElementConstantIndex(compiler::Node* object, | 
|  140                                                      int index); |  140                                                      int index); | 
|  141  |  141  | 
|  142   // Context manipulation |  142   // Context manipulation | 
|  143   compiler::Node* LoadNativeContext(compiler::Node* context); |  143   compiler::Node* LoadNativeContext(compiler::Node* context); | 
|  144  |  144  | 
 |  145   compiler::Node* LoadJSArrayElementsMap(ElementsKind kind, | 
 |  146                                          compiler::Node* native_context); | 
 |  147  | 
|  145   // Store the floating point value of a HeapNumber. |  148   // Store the floating point value of a HeapNumber. | 
|  146   compiler::Node* StoreHeapNumberValue(compiler::Node* object, |  149   compiler::Node* StoreHeapNumberValue(compiler::Node* object, | 
|  147                                        compiler::Node* value); |  150                                        compiler::Node* value); | 
|  148   // Store a field to an object on the heap. |  151   // Store a field to an object on the heap. | 
|  149   compiler::Node* StoreObjectField( |  152   compiler::Node* StoreObjectField( | 
|  150       compiler::Node* object, int offset, compiler::Node* value); |  153       compiler::Node* object, int offset, compiler::Node* value); | 
|  151   compiler::Node* StoreObjectFieldNoWriteBarrier( |  154   compiler::Node* StoreObjectFieldNoWriteBarrier( | 
|  152       compiler::Node* object, int offset, compiler::Node* value, |  155       compiler::Node* object, int offset, compiler::Node* value, | 
|  153       MachineRepresentation rep = MachineRepresentation::kTagged); |  156       MachineRepresentation rep = MachineRepresentation::kTagged); | 
|  154   // Store the Map of an HeapObject. |  157   // Store the Map of an HeapObject. | 
| (...skipping 21 matching lines...) Expand all  Loading... | 
|  176  |  179  | 
|  177   // Allocate a HeapNumber without initializing its value. |  180   // Allocate a HeapNumber without initializing its value. | 
|  178   compiler::Node* AllocateHeapNumber(); |  181   compiler::Node* AllocateHeapNumber(); | 
|  179   // Allocate a HeapNumber with a specific value. |  182   // Allocate a HeapNumber with a specific value. | 
|  180   compiler::Node* AllocateHeapNumberWithValue(compiler::Node* value); |  183   compiler::Node* AllocateHeapNumberWithValue(compiler::Node* value); | 
|  181   // Allocate a SeqOneByteString with the given length. |  184   // Allocate a SeqOneByteString with the given length. | 
|  182   compiler::Node* AllocateSeqOneByteString(int length); |  185   compiler::Node* AllocateSeqOneByteString(int length); | 
|  183   // Allocate a SeqTwoByteString with the given length. |  186   // Allocate a SeqTwoByteString with the given length. | 
|  184   compiler::Node* AllocateSeqTwoByteString(int length); |  187   compiler::Node* AllocateSeqTwoByteString(int length); | 
|  185   // Allocated an JSArray |  188   // Allocated an JSArray | 
|  186   compiler::Node* AllocateJSArray(ElementsKind kind, |  189   compiler::Node* AllocateJSArray(ElementsKind kind, compiler::Node* array_map, | 
|  187                                   compiler::Node* native_context, int capacity, |  190                                   int capacity, int length, | 
|  188                                   int length, |  | 
|  189                                   compiler::Node* allocation_site = nullptr); |  191                                   compiler::Node* allocation_site = nullptr); | 
|  190  |  192  | 
|  191   // Allocation site manipulation |  193   // Allocation site manipulation | 
|  192   void InitializeAllocationMemento(compiler::Node* base_allocation, |  194   void InitializeAllocationMemento(compiler::Node* base_allocation, | 
|  193                                    int base_allocation_size, |  195                                    int base_allocation_size, | 
|  194                                    compiler::Node* allocation_site); |  196                                    compiler::Node* allocation_site); | 
|  195  |  197  | 
|  196   compiler::Node* TruncateTaggedToFloat64(compiler::Node* context, |  198   compiler::Node* TruncateTaggedToFloat64(compiler::Node* context, | 
|  197                                           compiler::Node* value); |  199                                           compiler::Node* value); | 
|  198   compiler::Node* TruncateTaggedToWord32(compiler::Node* context, |  200   compiler::Node* TruncateTaggedToWord32(compiler::Node* context, | 
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  237                                        compiler::Node* top_adddress, |  239                                        compiler::Node* top_adddress, | 
|  238                                        compiler::Node* limit_address); |  240                                        compiler::Node* limit_address); | 
|  239  |  241  | 
|  240   static const int kElementLoopUnrollThreshold = 8; |  242   static const int kElementLoopUnrollThreshold = 8; | 
|  241 }; |  243 }; | 
|  242  |  244  | 
|  243 }  // namespace internal |  245 }  // namespace internal | 
|  244 }  // namespace v8 |  246 }  // namespace v8 | 
|  245  |  247  | 
|  246 #endif  // V8_CODE_STUB_ASSEMBLER_H_ |  248 #endif  // V8_CODE_STUB_ASSEMBLER_H_ | 
| OLD | NEW |