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

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

Issue 435020: Fast-compiler: Add stack limit checks to back edges of while, do-while and for. (Closed)
Patch Set: Created 11 years, 1 month 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
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 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 void SaveRegistersToMemory(RegList regs); 62 void SaveRegistersToMemory(RegList regs);
63 void RestoreRegistersFromMemory(RegList regs); 63 void RestoreRegistersFromMemory(RegList regs);
64 void PushRegistersFromMemory(RegList regs); 64 void PushRegistersFromMemory(RegList regs);
65 void PopRegistersToMemory(RegList regs); 65 void PopRegistersToMemory(RegList regs);
66 void CopyRegistersFromStackToMemory(Register base, 66 void CopyRegistersFromStackToMemory(Register base,
67 Register scratch, 67 Register scratch,
68 RegList regs); 68 RegList regs);
69 #endif 69 #endif
70 70
71 // --------------------------------------------------------------------------- 71 // ---------------------------------------------------------------------------
72 // Stack limit support
73
74 // Do simple test for stack overflow. This doesn't handle an overflow.
75 void StackLimitCheck(Label* on_stack_limit_hit);
76
77 // ---------------------------------------------------------------------------
72 // Activation frames 78 // Activation frames
73 79
74 void EnterInternalFrame() { EnterFrame(StackFrame::INTERNAL); } 80 void EnterInternalFrame() { EnterFrame(StackFrame::INTERNAL); }
75 void LeaveInternalFrame() { LeaveFrame(StackFrame::INTERNAL); } 81 void LeaveInternalFrame() { LeaveFrame(StackFrame::INTERNAL); }
76 82
77 void EnterConstructFrame() { EnterFrame(StackFrame::CONSTRUCT); } 83 void EnterConstructFrame() { EnterFrame(StackFrame::CONSTRUCT); }
78 void LeaveConstructFrame() { LeaveFrame(StackFrame::CONSTRUCT); } 84 void LeaveConstructFrame() { LeaveFrame(StackFrame::CONSTRUCT); }
79 85
80 // Enter specific kind of exit frame; either in normal or debug mode. 86 // Enter specific kind of exit frame; either in normal or debug mode.
81 // Expects the number of arguments in register eax and 87 // Expects the number of arguments in register eax and
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 } \ 428 } \
423 masm-> 429 masm->
424 #else 430 #else
425 #define ACCESS_MASM(masm) masm-> 431 #define ACCESS_MASM(masm) masm->
426 #endif 432 #endif
427 433
428 434
429 } } // namespace v8::internal 435 } } // namespace v8::internal
430 436
431 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ 437 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698