Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(708)

Side by Side Diff: runtime/vm/stub_code_mips.cc

Issue 1672303002: Fix --no-lazy-dispatchers in the JIT. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/stub_code_arm64.cc ('k') | runtime/vm/stub_code_x64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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" 5 #include "vm/globals.h"
6 #if defined(TARGET_ARCH_MIPS) 6 #if defined(TARGET_ARCH_MIPS)
7 7
8 #include "vm/assembler.h" 8 #include "vm/assembler.h"
9 #include "vm/code_generator.h" 9 #include "vm/code_generator.h"
10 #include "vm/compiler.h" 10 #include "vm/compiler.h"
(...skipping 1538 matching lines...) Expand 10 before | Expand all | Expand 10 after
1549 __ CallRuntime(handle_ic_miss, num_args + 1); 1549 __ CallRuntime(handle_ic_miss, num_args + 1);
1550 __ Comment("NArgsCheckInlineCacheStub return"); 1550 __ Comment("NArgsCheckInlineCacheStub return");
1551 // Pop returned function object into T3. 1551 // Pop returned function object into T3.
1552 // Restore arguments descriptor array and IC data array. 1552 // Restore arguments descriptor array and IC data array.
1553 __ lw(T3, Address(SP, (num_slots - 3) * kWordSize)); 1553 __ lw(T3, Address(SP, (num_slots - 3) * kWordSize));
1554 __ lw(S4, Address(SP, (num_slots - 2) * kWordSize)); 1554 __ lw(S4, Address(SP, (num_slots - 2) * kWordSize));
1555 __ lw(S5, Address(SP, (num_slots - 1) * kWordSize)); 1555 __ lw(S5, Address(SP, (num_slots - 1) * kWordSize));
1556 // Remove the call arguments pushed earlier, including the IC data object 1556 // Remove the call arguments pushed earlier, including the IC data object
1557 // and the arguments descriptor array. 1557 // and the arguments descriptor array.
1558 __ addiu(SP, SP, Immediate(num_slots * kWordSize)); 1558 __ addiu(SP, SP, Immediate(num_slots * kWordSize));
1559 if (range_collection_mode == kCollectRanges) { 1559 __ RestoreCodePointer();
1560 __ RestoreCodePointer();
1561 }
1562 __ LeaveStubFrame(); 1560 __ LeaveStubFrame();
1563 1561
1564 Label call_target_function; 1562 Label call_target_function;
1565 if (!FLAG_lazy_dispatchers) { 1563 if (!FLAG_lazy_dispatchers) {
1566 __ mov(T0, T3); 1564 __ mov(T0, T3);
1567 GenerateDispatcherCode(assembler, &call_target_function); 1565 GenerateDispatcherCode(assembler, &call_target_function);
1568 } else { 1566 } else {
1569 __ b(&call_target_function); 1567 __ b(&call_target_function);
1570 } 1568 }
1571 1569
(...skipping 734 matching lines...) Expand 10 before | Expand all | Expand 10 after
2306 __ Bind(&miss); 2304 __ Bind(&miss);
2307 __ LoadIsolate(T2); 2305 __ LoadIsolate(T2);
2308 __ lw(CODE_REG, Address(T2, Isolate::ic_miss_code_offset())); 2306 __ lw(CODE_REG, Address(T2, Isolate::ic_miss_code_offset()));
2309 __ lw(T1, FieldAddress(CODE_REG, Code::entry_point_offset())); 2307 __ lw(T1, FieldAddress(CODE_REG, Code::entry_point_offset()));
2310 __ Ret(); 2308 __ Ret();
2311 } 2309 }
2312 2310
2313 } // namespace dart 2311 } // namespace dart
2314 2312
2315 #endif // defined TARGET_ARCH_MIPS 2313 #endif // defined TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « runtime/vm/stub_code_arm64.cc ('k') | runtime/vm/stub_code_x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698