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

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

Issue 25092010: Adds the BreakpointRuntime stub to ARM and MIPS. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « runtime/vm/stub_code_arm.cc ('k') | runtime/vm/stub_code_mips.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_IA32) 6 #if defined(TARGET_ARCH_IA32)
7 7
8 #include "vm/assembler.h" 8 #include "vm/assembler.h"
9 #include "vm/compiler.h" 9 #include "vm/compiler.h"
10 #include "vm/dart_entry.h" 10 #include "vm/dart_entry.h"
(...skipping 1778 matching lines...) Expand 10 before | Expand all | Expand 10 after
1789 } 1789 }
1790 1790
1791 1791
1792 void StubCode::GenerateTwoArgsUnoptimizedStaticCallStub(Assembler* assembler) { 1792 void StubCode::GenerateTwoArgsUnoptimizedStaticCallStub(Assembler* assembler) {
1793 GenerateUsageCounterIncrement(assembler, EBX); 1793 GenerateUsageCounterIncrement(assembler, EBX);
1794 GenerateNArgsCheckInlineCacheStub( 1794 GenerateNArgsCheckInlineCacheStub(
1795 assembler, 2, kStaticCallMissHandlerTwoArgsRuntimeEntry); 1795 assembler, 2, kStaticCallMissHandlerTwoArgsRuntimeEntry);
1796 } 1796 }
1797 1797
1798 1798
1799 // EDX, EXC: May contain arguments to runtime stub. 1799 // EDX, ECX: May contain arguments to runtime stub.
1800 void StubCode::GenerateBreakpointRuntimeStub(Assembler* assembler) { 1800 void StubCode::GenerateBreakpointRuntimeStub(Assembler* assembler) {
1801 __ EnterStubFrame(); 1801 __ EnterStubFrame();
1802 // Save runtime args. 1802 // Save runtime args.
1803 __ pushl(ECX); 1803 __ pushl(ECX);
1804 __ pushl(EDX); 1804 __ pushl(EDX);
1805 // Room for result. Debugger stub returns address of the 1805 // Room for result. Debugger stub returns address of the
1806 // unpatched runtime stub. 1806 // unpatched runtime stub.
1807 const Immediate& raw_null = 1807 const Immediate& raw_null =
1808 Immediate(reinterpret_cast<intptr_t>(Object::null())); 1808 Immediate(reinterpret_cast<intptr_t>(Object::null()));
1809 __ pushl(raw_null); // Room for result. 1809 __ pushl(raw_null); // Room for result.
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after
2272 GenerateIdenticalWithNumberCheckStub(assembler, left, right, temp); 2272 GenerateIdenticalWithNumberCheckStub(assembler, left, right, temp);
2273 __ popl(temp); 2273 __ popl(temp);
2274 __ popl(right); 2274 __ popl(right);
2275 __ popl(left); 2275 __ popl(left);
2276 __ ret(); 2276 __ ret();
2277 } 2277 }
2278 2278
2279 } // namespace dart 2279 } // namespace dart
2280 2280
2281 #endif // defined TARGET_ARCH_IA32 2281 #endif // defined TARGET_ARCH_IA32
OLDNEW
« no previous file with comments | « runtime/vm/stub_code_arm.cc ('k') | runtime/vm/stub_code_mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698