OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 #include "src/compiler/code-assembler.h" | 5 #include "src/compiler/code-assembler.h" |
6 | 6 |
7 #include <ostream> | 7 #include <ostream> |
8 | 8 |
9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" |
10 #include "src/compiler/graph.h" | 10 #include "src/compiler/graph.h" |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 Node* CodeAssembler::WordShr(Node* value, int shift) { | 227 Node* CodeAssembler::WordShr(Node* value, int shift) { |
228 return (shift != 0) ? raw_assembler_->WordShr(value, IntPtrConstant(shift)) | 228 return (shift != 0) ? raw_assembler_->WordShr(value, IntPtrConstant(shift)) |
229 : value; | 229 : value; |
230 } | 230 } |
231 | 231 |
232 Node* CodeAssembler::Word32Shr(Node* value, int shift) { | 232 Node* CodeAssembler::Word32Shr(Node* value, int shift) { |
233 return (shift != 0) ? raw_assembler_->Word32Shr(value, Int32Constant(shift)) | 233 return (shift != 0) ? raw_assembler_->Word32Shr(value, Int32Constant(shift)) |
234 : value; | 234 : value; |
235 } | 235 } |
236 | 236 |
| 237 Node* CodeAssembler::IsWordAligned(Node* value) { |
| 238 return WordEqual(IntPtrConstant(0), |
| 239 WordAnd(value, IntPtrConstant((1 << kPointerSizeLog2) - 1))); |
| 240 } |
| 241 |
237 Node* CodeAssembler::ChangeUint32ToWord(Node* value) { | 242 Node* CodeAssembler::ChangeUint32ToWord(Node* value) { |
238 if (raw_assembler_->machine()->Is64()) { | 243 if (raw_assembler_->machine()->Is64()) { |
239 value = raw_assembler_->ChangeUint32ToUint64(value); | 244 value = raw_assembler_->ChangeUint32ToUint64(value); |
240 } | 245 } |
241 return value; | 246 return value; |
242 } | 247 } |
243 | 248 |
244 Node* CodeAssembler::ChangeInt32ToIntPtr(Node* value) { | 249 Node* CodeAssembler::ChangeInt32ToIntPtr(Node* value) { |
245 if (raw_assembler_->machine()->Is64()) { | 250 if (raw_assembler_->machine()->Is64()) { |
246 value = raw_assembler_->ChangeInt32ToInt64(value); | 251 value = raw_assembler_->ChangeInt32ToInt64(value); |
(...skipping 875 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1122 } | 1127 } |
1123 } | 1128 } |
1124 } | 1129 } |
1125 | 1130 |
1126 bound_ = true; | 1131 bound_ = true; |
1127 } | 1132 } |
1128 | 1133 |
1129 } // namespace compiler | 1134 } // namespace compiler |
1130 } // namespace internal | 1135 } // namespace internal |
1131 } // namespace v8 | 1136 } // namespace v8 |
OLD | NEW |