| OLD | NEW | 
|     1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file |     1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
|     2 // for details. All rights reserved. Use of this source code is governed by a |     2 // for details. All rights reserved. Use of this source code is governed by a | 
|     3 // BSD-style license that can be found in the LICENSE file. |     3 // BSD-style license that can be found in the LICENSE file. | 
|     4  |     4  | 
|     5 #include "vm/globals.h"  // Needed here to get TARGET_ARCH_X64. |     5 #include "vm/globals.h"  // Needed here to get TARGET_ARCH_X64. | 
|     6 #if defined(TARGET_ARCH_X64) |     6 #if defined(TARGET_ARCH_X64) | 
|     7  |     7  | 
|     8 #include "vm/flow_graph_compiler.h" |     8 #include "vm/flow_graph_compiler.h" | 
|     9  |     9  | 
|    10 #include "vm/ast_printer.h" |    10 #include "vm/ast_printer.h" | 
| (...skipping 705 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   716   __ popq(RDX);  // Remove pushed instantiator type arguments. |   716   __ popq(RDX);  // Remove pushed instantiator type arguments. | 
|   717   __ popq(RCX);  // Remove pushed instantiator. |   717   __ popq(RCX);  // Remove pushed instantiator. | 
|   718 } |   718 } | 
|   719  |   719  | 
|   720  |   720  | 
|   721 void FlowGraphCompiler::EmitInstructionEpilogue(Instruction* instr) { |   721 void FlowGraphCompiler::EmitInstructionEpilogue(Instruction* instr) { | 
|   722   if (is_optimizing()) { |   722   if (is_optimizing()) { | 
|   723     return; |   723     return; | 
|   724   } |   724   } | 
|   725   Definition* defn = instr->AsDefinition(); |   725   Definition* defn = instr->AsDefinition(); | 
|   726   if ((defn != NULL) && defn->is_used()) { |   726   if ((defn != NULL) && defn->HasTemp()) { | 
|   727     Location value = defn->locs()->out(0); |   727     Location value = defn->locs()->out(0); | 
|   728     if (value.IsRegister()) { |   728     if (value.IsRegister()) { | 
|   729       __ pushq(value.reg()); |   729       __ pushq(value.reg()); | 
|   730     } else { |   730     } else { | 
|   731       ASSERT(value.IsStackSlot()); |   731       ASSERT(value.IsStackSlot()); | 
|   732       __ pushq(value.ToStackSlotAddress()); |   732       __ pushq(value.ToStackSlotAddress()); | 
|   733     } |   733     } | 
|   734   } |   734   } | 
|   735 } |   735 } | 
|   736  |   736  | 
| (...skipping 1104 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1841   __ movups(reg, Address(RSP, 0)); |  1841   __ movups(reg, Address(RSP, 0)); | 
|  1842   __ AddImmediate(RSP, Immediate(kFpuRegisterSize), PP); |  1842   __ AddImmediate(RSP, Immediate(kFpuRegisterSize), PP); | 
|  1843 } |  1843 } | 
|  1844  |  1844  | 
|  1845  |  1845  | 
|  1846 #undef __ |  1846 #undef __ | 
|  1847  |  1847  | 
|  1848 }  // namespace dart |  1848 }  // namespace dart | 
|  1849  |  1849  | 
|  1850 #endif  // defined TARGET_ARCH_X64 |  1850 #endif  // defined TARGET_ARCH_X64 | 
| OLD | NEW |