OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 949 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
960 | 960 |
961 return result; | 961 return result; |
962 } | 962 } |
963 | 963 |
964 | 964 |
965 LInstruction* LChunkBuilder::DoGoto(HGoto* instr) { | 965 LInstruction* LChunkBuilder::DoGoto(HGoto* instr) { |
966 return new(zone()) LGoto(instr->FirstSuccessor()->block_id()); | 966 return new(zone()) LGoto(instr->FirstSuccessor()->block_id()); |
967 } | 967 } |
968 | 968 |
969 | 969 |
| 970 LInstruction* LChunkBuilder::DoDebugBreak(HDebugBreak* instr) { |
| 971 return new(zone()) LDebugBreak(); |
| 972 } |
| 973 |
| 974 |
970 LInstruction* LChunkBuilder::DoBranch(HBranch* instr) { | 975 LInstruction* LChunkBuilder::DoBranch(HBranch* instr) { |
971 HValue* value = instr->value(); | 976 HValue* value = instr->value(); |
972 if (value->EmitAtUses()) { | 977 if (value->EmitAtUses()) { |
973 ASSERT(value->IsConstant()); | 978 ASSERT(value->IsConstant()); |
974 ASSERT(!value->representation().IsDouble()); | 979 ASSERT(!value->representation().IsDouble()); |
975 HBasicBlock* successor = HConstant::cast(value)->BooleanValue() | 980 HBasicBlock* successor = HConstant::cast(value)->BooleanValue() |
976 ? instr->FirstSuccessor() | 981 ? instr->FirstSuccessor() |
977 : instr->SecondSuccessor(); | 982 : instr->SecondSuccessor(); |
978 return new(zone()) LGoto(successor->block_id()); | 983 return new(zone()) LGoto(successor->block_id()); |
979 } | 984 } |
(...skipping 1564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2544 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { | 2549 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { |
2545 LOperand* object = UseRegister(instr->object()); | 2550 LOperand* object = UseRegister(instr->object()); |
2546 LOperand* index = UseTempRegister(instr->index()); | 2551 LOperand* index = UseTempRegister(instr->index()); |
2547 return DefineSameAsFirst(new(zone()) LLoadFieldByIndex(object, index)); | 2552 return DefineSameAsFirst(new(zone()) LLoadFieldByIndex(object, index)); |
2548 } | 2553 } |
2549 | 2554 |
2550 | 2555 |
2551 } } // namespace v8::internal | 2556 } } // namespace v8::internal |
2552 | 2557 |
2553 #endif // V8_TARGET_ARCH_X64 | 2558 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |