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 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 compiler::Node* AllocateHeapNumberWithValue(compiler::Node* value); | 162 compiler::Node* AllocateHeapNumberWithValue(compiler::Node* value); |
163 // Allocate a SeqOneByteString with the given length. | 163 // Allocate a SeqOneByteString with the given length. |
164 compiler::Node* AllocateSeqOneByteString(int length); | 164 compiler::Node* AllocateSeqOneByteString(int length); |
165 // Allocate a SeqTwoByteString with the given length. | 165 // Allocate a SeqTwoByteString with the given length. |
166 compiler::Node* AllocateSeqTwoByteString(int length); | 166 compiler::Node* AllocateSeqTwoByteString(int length); |
167 | 167 |
168 compiler::Node* TruncateTaggedToFloat64(compiler::Node* context, | 168 compiler::Node* TruncateTaggedToFloat64(compiler::Node* context, |
169 compiler::Node* value); | 169 compiler::Node* value); |
170 compiler::Node* TruncateTaggedToWord32(compiler::Node* context, | 170 compiler::Node* TruncateTaggedToWord32(compiler::Node* context, |
171 compiler::Node* value); | 171 compiler::Node* value); |
172 // Truncate to int32 using JavaScript truncation mode. | |
173 compiler::Node* TruncateFloat64ToInt32(compiler::Node* value); | |
174 // Truncate the floating point value of a HeapNumber to an Int32. | 172 // Truncate the floating point value of a HeapNumber to an Int32. |
175 compiler::Node* TruncateHeapNumberValueToWord32(compiler::Node* object); | 173 compiler::Node* TruncateHeapNumberValueToWord32(compiler::Node* object); |
176 | 174 |
177 // Conversions. | 175 // Conversions. |
178 compiler::Node* ChangeFloat64ToTagged(compiler::Node* value); | 176 compiler::Node* ChangeFloat64ToTagged(compiler::Node* value); |
179 compiler::Node* ChangeInt32ToTagged(compiler::Node* value); | 177 compiler::Node* ChangeInt32ToTagged(compiler::Node* value); |
180 compiler::Node* ChangeUint32ToTagged(compiler::Node* value); | 178 compiler::Node* ChangeUint32ToTagged(compiler::Node* value); |
181 | 179 |
182 // Type conversions. | 180 // Type conversions. |
183 // Throws a TypeError for {method_name} if {value} is not coercible to Object, | 181 // Throws a TypeError for {method_name} if {value} is not coercible to Object, |
(...skipping 25 matching lines...) Expand all Loading... |
209 compiler::Node* AllocateRawUnaligned(compiler::Node* size_in_bytes, | 207 compiler::Node* AllocateRawUnaligned(compiler::Node* size_in_bytes, |
210 AllocationFlags flags, | 208 AllocationFlags flags, |
211 compiler::Node* top_adddress, | 209 compiler::Node* top_adddress, |
212 compiler::Node* limit_address); | 210 compiler::Node* limit_address); |
213 }; | 211 }; |
214 | 212 |
215 } // namespace internal | 213 } // namespace internal |
216 } // namespace v8 | 214 } // namespace v8 |
217 | 215 |
218 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 216 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |