| 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_IA32. | 5 #include "vm/globals.h"  // Needed here to get TARGET_ARCH_IA32. | 
| 6 #if defined(TARGET_ARCH_IA32) | 6 #if defined(TARGET_ARCH_IA32) | 
| 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 1117 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1128       } | 1128       } | 
| 1129     } | 1129     } | 
| 1130   } | 1130   } | 
| 1131 | 1131 | 
| 1132   EndCodeSourceRange(TokenPosition::kDartCodePrologue); | 1132   EndCodeSourceRange(TokenPosition::kDartCodePrologue); | 
| 1133   ASSERT(!block_order().is_empty()); | 1133   ASSERT(!block_order().is_empty()); | 
| 1134   VisitBlocks(); | 1134   VisitBlocks(); | 
| 1135 | 1135 | 
| 1136   __ int3(); | 1136   __ int3(); | 
| 1137   GenerateDeferredCode(); | 1137   GenerateDeferredCode(); | 
| 1138 |  | 
| 1139   BeginCodeSourceRange(); |  | 
| 1140   if (is_optimizing() && !FLAG_precompiled_mode) { |  | 
| 1141     // Leave enough space for patching in case of lazy deoptimization. |  | 
| 1142     __ nop(CallPattern::pattern_length_in_bytes()); |  | 
| 1143     lazy_deopt_return_pc_offset_ = assembler()->CodeSize(); |  | 
| 1144     __ Jmp(*StubCode::DeoptimizeLazyFromReturn_entry()); |  | 
| 1145     lazy_deopt_throw_pc_offset_ = assembler()->CodeSize(); |  | 
| 1146     __ Jmp(*StubCode::DeoptimizeLazyFromThrow_entry()); |  | 
| 1147   } |  | 
| 1148   EndCodeSourceRange(TokenPosition::kDartCodeEpilogue); |  | 
| 1149 } | 1138 } | 
| 1150 | 1139 | 
| 1151 | 1140 | 
| 1152 void FlowGraphCompiler::GenerateCall(TokenPosition token_pos, | 1141 void FlowGraphCompiler::GenerateCall(TokenPosition token_pos, | 
| 1153                                      const StubEntry& stub_entry, | 1142                                      const StubEntry& stub_entry, | 
| 1154                                      RawPcDescriptors::Kind kind, | 1143                                      RawPcDescriptors::Kind kind, | 
| 1155                                      LocationSummary* locs) { | 1144                                      LocationSummary* locs) { | 
| 1156   __ Call(stub_entry); | 1145   __ Call(stub_entry); | 
| 1157   AddCurrentDescriptor(kind, Thread::kNoDeoptId, token_pos); | 1146   AddCurrentDescriptor(kind, Thread::kNoDeoptId, token_pos); | 
| 1158   RecordSafepoint(locs); | 1147   RecordSafepoint(locs); | 
| (...skipping 704 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1863   __ movups(reg, Address(ESP, 0)); | 1852   __ movups(reg, Address(ESP, 0)); | 
| 1864   __ addl(ESP, Immediate(kFpuRegisterSize)); | 1853   __ addl(ESP, Immediate(kFpuRegisterSize)); | 
| 1865 } | 1854 } | 
| 1866 | 1855 | 
| 1867 | 1856 | 
| 1868 #undef __ | 1857 #undef __ | 
| 1869 | 1858 | 
| 1870 }  // namespace dart | 1859 }  // namespace dart | 
| 1871 | 1860 | 
| 1872 #endif  // defined TARGET_ARCH_IA32 | 1861 #endif  // defined TARGET_ARCH_IA32 | 
| OLD | NEW | 
|---|