Index: runtime/vm/stub_code_ia32.cc |
=================================================================== |
--- runtime/vm/stub_code_ia32.cc (revision 1899) |
+++ runtime/vm/stub_code_ia32.cc (working copy) |
@@ -1545,6 +1545,38 @@ |
__ jmp(EAX); |
} |
+ |
+// ECX: Function object |
siva
2011/11/30 00:00:47
Missing period after comment in all the comment li
hausner
2011/11/30 01:17:05
Done.
|
+// EDX: Arguments array |
+// TOS(0): return address (Dart code) |
+void StubCode::GenerateBreakpointStaticStub(Assembler* assembler) { |
+ __ EnterFrame(0); |
+ __ pushl(ECX); |
+ __ pushl(EDX); |
+ __ CallRuntimeFromStub(kBreakpointRuntimeEntry); |
+ __ popl(EDX); |
+ __ popl(ECX); |
+ __ LeaveFrame(); |
+ // Now call the static function |
+ __ jmp(&StubCode::CallStaticFunctionLabel()); |
+} |
+ |
+ |
+// ECX: Inline cache data array |
+// EDX: Arguments array |
+// TOS(0): return address (Dart code) |
+void StubCode::GenerateBreakpointDynamicStub(Assembler* assembler) { |
+ __ EnterFrame(0); |
+ __ pushl(ECX); |
+ __ pushl(EDX); |
+ __ CallRuntimeFromStub(kBreakpointRuntimeEntry); |
+ __ popl(EDX); |
+ __ popl(ECX); |
+ __ LeaveFrame(); |
+ // Now call the dynamic function |
+ __ jmp(&StubCode::InlineCacheLabel()); |
+} |
+ |
} // namespace dart |
#endif // defined TARGET_ARCH_IA32 |