| 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 946 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 957 __ Bind(&null_args_loop_exit); | 957 __ Bind(&null_args_loop_exit); |
| 958 } | 958 } |
| 959 | 959 |
| 960 | 960 |
| 961 void FlowGraphCompiler::GenerateInlinedGetter(intptr_t offset) { | 961 void FlowGraphCompiler::GenerateInlinedGetter(intptr_t offset) { |
| 962 // RA: return address. | 962 // RA: return address. |
| 963 // SP: receiver. | 963 // SP: receiver. |
| 964 // Sequence node has one return node, its input is load field node. | 964 // Sequence node has one return node, its input is load field node. |
| 965 __ Comment("Inlined Getter"); | 965 __ Comment("Inlined Getter"); |
| 966 __ lw(V0, Address(SP, 0 * kWordSize)); | 966 __ lw(V0, Address(SP, 0 * kWordSize)); |
| 967 __ lw(V0, Address(V0, offset - kHeapObjectTag)); | 967 __ LoadFieldFromOffset(V0, V0, offset); |
| 968 __ Ret(); | 968 __ Ret(); |
| 969 } | 969 } |
| 970 | 970 |
| 971 | 971 |
| 972 void FlowGraphCompiler::GenerateInlinedSetter(intptr_t offset) { | 972 void FlowGraphCompiler::GenerateInlinedSetter(intptr_t offset) { |
| 973 // RA: return address. | 973 // RA: return address. |
| 974 // SP+1: receiver. | 974 // SP+1: receiver. |
| 975 // SP+0: value. | 975 // SP+0: value. |
| 976 // Sequence node has one store node and one return NULL node. | 976 // Sequence node has one store node and one return NULL node. |
| 977 __ Comment("Inlined Setter"); | 977 __ Comment("Inlined Setter"); |
| (...skipping 865 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1843 __ AddImmediate(SP, kDoubleSize); | 1843 __ AddImmediate(SP, kDoubleSize); |
| 1844 } | 1844 } |
| 1845 | 1845 |
| 1846 | 1846 |
| 1847 #undef __ | 1847 #undef __ |
| 1848 | 1848 |
| 1849 | 1849 |
| 1850 } // namespace dart | 1850 } // namespace dart |
| 1851 | 1851 |
| 1852 #endif // defined TARGET_ARCH_MIPS | 1852 #endif // defined TARGET_ARCH_MIPS |
| OLD | NEW |