| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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-generator.h" | 5 #include "src/compiler/code-generator.h" |
| 6 | 6 |
| 7 #include "src/address-map.h" | 7 #include "src/address-map.h" |
| 8 #include "src/compiler/code-generator-impl.h" | 8 #include "src/compiler/code-generator-impl.h" |
| 9 #include "src/compiler/linkage.h" | 9 #include "src/compiler/linkage.h" |
| 10 #include "src/compiler/pipeline.h" | 10 #include "src/compiler/pipeline.h" |
| (...skipping 614 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 625 } else if (op->IsDoubleRegister()) { | 625 } else if (op->IsDoubleRegister()) { |
| 626 DCHECK((type & (kRepFloat32 | kRepFloat64)) != 0); | 626 DCHECK((type & (kRepFloat32 | kRepFloat64)) != 0); |
| 627 InstructionOperandConverter converter(this, instr); | 627 InstructionOperandConverter converter(this, instr); |
| 628 translation->StoreDoubleRegister(converter.ToDoubleRegister(op)); | 628 translation->StoreDoubleRegister(converter.ToDoubleRegister(op)); |
| 629 } else if (op->IsImmediate()) { | 629 } else if (op->IsImmediate()) { |
| 630 InstructionOperandConverter converter(this, instr); | 630 InstructionOperandConverter converter(this, instr); |
| 631 Constant constant = converter.ToConstant(op); | 631 Constant constant = converter.ToConstant(op); |
| 632 Handle<Object> constant_object; | 632 Handle<Object> constant_object; |
| 633 switch (constant.type()) { | 633 switch (constant.type()) { |
| 634 case Constant::kInt32: | 634 case Constant::kInt32: |
| 635 DCHECK(type == kMachInt32 || type == kMachUint32 || type == kRepBit); | 635 DCHECK(type == kMachInt32 || type == kMachUint32 || type == kMachBool || |
| 636 type == kRepBit); |
| 636 constant_object = | 637 constant_object = |
| 637 isolate()->factory()->NewNumberFromInt(constant.ToInt32()); | 638 isolate()->factory()->NewNumberFromInt(constant.ToInt32()); |
| 638 break; | 639 break; |
| 639 case Constant::kFloat32: | 640 case Constant::kFloat32: |
| 640 DCHECK((type & (kRepFloat32 | kRepTagged)) != 0); | 641 DCHECK((type & (kRepFloat32 | kRepTagged)) != 0); |
| 641 constant_object = isolate()->factory()->NewNumber(constant.ToFloat32()); | 642 constant_object = isolate()->factory()->NewNumber(constant.ToFloat32()); |
| 642 break; | 643 break; |
| 643 case Constant::kFloat64: | 644 case Constant::kFloat64: |
| 644 DCHECK((type & (kRepFloat64 | kRepTagged)) != 0); | 645 DCHECK((type & (kRepFloat64 | kRepTagged)) != 0); |
| 645 constant_object = isolate()->factory()->NewNumber(constant.ToFloat64()); | 646 constant_object = isolate()->factory()->NewNumber(constant.ToFloat64()); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 672 : frame_(gen->frame()), masm_(gen->masm()), next_(gen->ools_) { | 673 : frame_(gen->frame()), masm_(gen->masm()), next_(gen->ools_) { |
| 673 gen->ools_ = this; | 674 gen->ools_ = this; |
| 674 } | 675 } |
| 675 | 676 |
| 676 | 677 |
| 677 OutOfLineCode::~OutOfLineCode() {} | 678 OutOfLineCode::~OutOfLineCode() {} |
| 678 | 679 |
| 679 } // namespace compiler | 680 } // namespace compiler |
| 680 } // namespace internal | 681 } // namespace internal |
| 681 } // namespace v8 | 682 } // namespace v8 |
| OLD | NEW |