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

Side by Side Diff: src/arm/macro-assembler-arm.h

Issue 3141047: Cleanup the way the debugger stores live registers when entering at a break... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years, 3 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 | « src/arm/frames-arm.cc ('k') | src/arm/macro-assembler-arm.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 2006-2009 the V8 project authors. All rights reserved. 1 // Copyright 2006-2009 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 243
244 // --------------------------------------------------------------------------- 244 // ---------------------------------------------------------------------------
245 // Activation frames 245 // Activation frames
246 246
247 void EnterInternalFrame() { EnterFrame(StackFrame::INTERNAL); } 247 void EnterInternalFrame() { EnterFrame(StackFrame::INTERNAL); }
248 void LeaveInternalFrame() { LeaveFrame(StackFrame::INTERNAL); } 248 void LeaveInternalFrame() { LeaveFrame(StackFrame::INTERNAL); }
249 249
250 void EnterConstructFrame() { EnterFrame(StackFrame::CONSTRUCT); } 250 void EnterConstructFrame() { EnterFrame(StackFrame::CONSTRUCT); }
251 void LeaveConstructFrame() { LeaveFrame(StackFrame::CONSTRUCT); } 251 void LeaveConstructFrame() { LeaveFrame(StackFrame::CONSTRUCT); }
252 252
253 // Enter specific kind of exit frame; either normal or debug mode. 253 // Enter exit frame.
254 // Expects the number of arguments in register r0 and 254 // Expects the number of arguments in register r0 and
255 // the builtin function to call in register r1. Exits with argc in 255 // the builtin function to call in register r1. Exits with argc in
256 // r4, argv in r6, and and the builtin function to call in r5. 256 // r4, argv in r6, and and the builtin function to call in r5.
257 void EnterExitFrame(ExitFrame::Mode mode); 257 void EnterExitFrame();
258 258
259 // Leave the current exit frame. Expects the return value in r0. 259 // Leave the current exit frame. Expects the return value in r0.
260 void LeaveExitFrame(ExitFrame::Mode mode); 260 void LeaveExitFrame();
261 261
262 // Get the actual activation frame alignment for target environment. 262 // Get the actual activation frame alignment for target environment.
263 static int ActivationFrameAlignment(); 263 static int ActivationFrameAlignment();
264 264
265 void LoadContext(Register dst, int context_chain_length); 265 void LoadContext(Register dst, int context_chain_length);
266 266
267 // --------------------------------------------------------------------------- 267 // ---------------------------------------------------------------------------
268 // JavaScript invokes 268 // JavaScript invokes
269 269
270 // Invoke the JavaScript function code by either calling or jumping. 270 // Invoke the JavaScript function code by either calling or jumping.
(...skipping 16 matching lines...) Expand all
287 287
288 void InvokeFunction(JSFunction* function, 288 void InvokeFunction(JSFunction* function,
289 const ParameterCount& actual, 289 const ParameterCount& actual,
290 InvokeFlag flag); 290 InvokeFlag flag);
291 291
292 292
293 #ifdef ENABLE_DEBUGGER_SUPPORT 293 #ifdef ENABLE_DEBUGGER_SUPPORT
294 // --------------------------------------------------------------------------- 294 // ---------------------------------------------------------------------------
295 // Debugger Support 295 // Debugger Support
296 296
297 void SaveRegistersToMemory(RegList regs);
298 void RestoreRegistersFromMemory(RegList regs);
299 void CopyRegistersFromMemoryToStack(Register base, RegList regs);
300 void CopyRegistersFromStackToMemory(Register base,
301 Register scratch,
302 RegList regs);
303 void DebugBreak(); 297 void DebugBreak();
304 #endif 298 #endif
305 299
306 // --------------------------------------------------------------------------- 300 // ---------------------------------------------------------------------------
307 // Exception handling 301 // Exception handling
308 302
309 // Push a new try handler and link into try handler chain. 303 // Push a new try handler and link into try handler chain.
310 // The return address must be passed in register lr. 304 // The return address must be passed in register lr.
311 // On exit, r0 contains TOS (code slot). 305 // On exit, r0 contains TOS (code slot).
312 void PushTryHandler(CodeLocation try_location, HandlerType type); 306 void PushTryHandler(CodeLocation try_location, HandlerType type);
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after
727 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 721 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
728 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 722 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
729 #else 723 #else
730 #define ACCESS_MASM(masm) masm-> 724 #define ACCESS_MASM(masm) masm->
731 #endif 725 #endif
732 726
733 727
734 } } // namespace v8::internal 728 } } // namespace v8::internal
735 729
736 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 730 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/frames-arm.cc ('k') | src/arm/macro-assembler-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698