| 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_MIPS. | 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_MIPS. |
| 6 #if defined(TARGET_ARCH_MIPS) | 6 #if defined(TARGET_ARCH_MIPS) |
| 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 1339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1350 intptr_t token_pos, | 1350 intptr_t token_pos, |
| 1351 LocationSummary* locs) { | 1351 LocationSummary* locs) { |
| 1352 StubCode* stub_code = isolate()->stub_code(); | 1352 StubCode* stub_code = isolate()->stub_code(); |
| 1353 __ Comment("StaticCall"); | 1353 __ Comment("StaticCall"); |
| 1354 __ LoadObject(S4, arguments_descriptor); | 1354 __ LoadObject(S4, arguments_descriptor); |
| 1355 // Do not use the code from the function, but let the code be patched so that | 1355 // Do not use the code from the function, but let the code be patched so that |
| 1356 // we can record the outgoing edges to other code. | 1356 // we can record the outgoing edges to other code. |
| 1357 GenerateDartCall(deopt_id, | 1357 GenerateDartCall(deopt_id, |
| 1358 token_pos, | 1358 token_pos, |
| 1359 &stub_code->CallStaticFunctionLabel(), | 1359 &stub_code->CallStaticFunctionLabel(), |
| 1360 RawPcDescriptors::kOptStaticCall, | 1360 RawPcDescriptors::kOther, |
| 1361 locs); | 1361 locs); |
| 1362 AddStaticCallTarget(function); | 1362 AddStaticCallTarget(function); |
| 1363 __ Drop(argument_count); | 1363 __ Drop(argument_count); |
| 1364 } | 1364 } |
| 1365 | 1365 |
| 1366 | 1366 |
| 1367 Condition FlowGraphCompiler::EmitEqualityRegConstCompare( | 1367 Condition FlowGraphCompiler::EmitEqualityRegConstCompare( |
| 1368 Register reg, | 1368 Register reg, |
| 1369 const Object& obj, | 1369 const Object& obj, |
| 1370 bool needs_number_check, | 1370 bool needs_number_check, |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1567 if (is_last_check) { | 1567 if (is_last_check) { |
| 1568 __ BranchNotEqual(class_id_reg, Immediate(sorted[i].cid), deopt); | 1568 __ BranchNotEqual(class_id_reg, Immediate(sorted[i].cid), deopt); |
| 1569 } else { | 1569 } else { |
| 1570 __ BranchNotEqual(class_id_reg, Immediate(sorted[i].cid), &next_test); | 1570 __ BranchNotEqual(class_id_reg, Immediate(sorted[i].cid), &next_test); |
| 1571 } | 1571 } |
| 1572 // Do not use the code from the function, but let the code be patched so | 1572 // Do not use the code from the function, but let the code be patched so |
| 1573 // that we can record the outgoing edges to other code. | 1573 // that we can record the outgoing edges to other code. |
| 1574 GenerateDartCall(deopt_id, | 1574 GenerateDartCall(deopt_id, |
| 1575 token_index, | 1575 token_index, |
| 1576 &stub_code->CallStaticFunctionLabel(), | 1576 &stub_code->CallStaticFunctionLabel(), |
| 1577 RawPcDescriptors::kOptStaticCall, | 1577 RawPcDescriptors::kOther, |
| 1578 locs); | 1578 locs); |
| 1579 const Function& function = *sorted[i].target; | 1579 const Function& function = *sorted[i].target; |
| 1580 AddStaticCallTarget(function); | 1580 AddStaticCallTarget(function); |
| 1581 __ Drop(argument_count); | 1581 __ Drop(argument_count); |
| 1582 if (!is_last_check) { | 1582 if (!is_last_check) { |
| 1583 __ b(&match_found); | 1583 __ b(&match_found); |
| 1584 } | 1584 } |
| 1585 __ Bind(&next_test); | 1585 __ Bind(&next_test); |
| 1586 } | 1586 } |
| 1587 __ Bind(&match_found); | 1587 __ Bind(&match_found); |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1826 __ AddImmediate(SP, kDoubleSize); | 1826 __ AddImmediate(SP, kDoubleSize); |
| 1827 } | 1827 } |
| 1828 | 1828 |
| 1829 | 1829 |
| 1830 #undef __ | 1830 #undef __ |
| 1831 | 1831 |
| 1832 | 1832 |
| 1833 } // namespace dart | 1833 } // namespace dart |
| 1834 | 1834 |
| 1835 #endif // defined TARGET_ARCH_MIPS | 1835 #endif // defined TARGET_ARCH_MIPS |
| OLD | NEW |