OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
241 public: | 241 public: |
242 CEntryStub() { } | 242 CEntryStub() { } |
243 | 243 |
244 void Generate(MacroAssembler* masm) { GenerateBody(masm, false); } | 244 void Generate(MacroAssembler* masm) { GenerateBody(masm, false); } |
245 | 245 |
246 protected: | 246 protected: |
247 void GenerateBody(MacroAssembler* masm, bool is_debug_break); | 247 void GenerateBody(MacroAssembler* masm, bool is_debug_break); |
248 void GenerateCore(MacroAssembler* masm, | 248 void GenerateCore(MacroAssembler* masm, |
249 Label* throw_normal_exception, | 249 Label* throw_normal_exception, |
250 Label* throw_out_of_memory_exception, | 250 Label* throw_out_of_memory_exception, |
251 bool do_gc, bool do_restore); | 251 StackFrame::Type frame_type, |
| 252 bool do_gc); |
252 void GenerateThrowTOS(MacroAssembler* masm); | 253 void GenerateThrowTOS(MacroAssembler* masm); |
253 void GenerateThrowOutOfMemory(MacroAssembler* masm); | 254 void GenerateThrowOutOfMemory(MacroAssembler* masm); |
254 void GenerateReserveCParameterSpace(MacroAssembler* masm, int num_parameters); | |
255 | 255 |
256 private: | 256 private: |
257 Major MajorKey() { return CEntry; } | 257 Major MajorKey() { return CEntry; } |
258 int MinorKey() { return 0; } | 258 int MinorKey() { return 0; } |
259 | 259 |
260 const char* GetName() { return "CEntryStub"; } | 260 const char* GetName() { return "CEntryStub"; } |
261 }; | 261 }; |
262 | 262 |
263 | 263 |
264 class CEntryDebugBreakStub : public CEntryStub { | 264 class CEntryDebugBreakStub : public CEntryStub { |
265 public: | 265 public: |
266 CEntryDebugBreakStub() { } | 266 CEntryDebugBreakStub() { } |
267 | 267 |
268 void Generate(MacroAssembler* masm) { GenerateBody(masm, true); } | 268 void Generate(MacroAssembler* masm) { GenerateBody(masm, true); } |
269 | 269 |
270 private: | 270 private: |
271 int MinorKey() { return 1; } | 271 int MinorKey() { return 1; } |
272 | 272 |
273 const char* GetName() { return "CEntryDebugBreakStub"; } | 273 const char* GetName() { return "CEntryDebugBreakStub"; } |
274 }; | 274 }; |
275 | 275 |
276 | 276 |
277 | |
278 class JSEntryStub : public CodeStub { | 277 class JSEntryStub : public CodeStub { |
279 public: | 278 public: |
280 JSEntryStub() { } | 279 JSEntryStub() { } |
281 | 280 |
282 void Generate(MacroAssembler* masm) { GenerateBody(masm, false); } | 281 void Generate(MacroAssembler* masm) { GenerateBody(masm, false); } |
283 | 282 |
284 protected: | 283 protected: |
285 void GenerateBody(MacroAssembler* masm, bool is_construct); | 284 void GenerateBody(MacroAssembler* masm, bool is_construct); |
286 | 285 |
287 private: | 286 private: |
(...skipping 14 matching lines...) Expand all Loading... |
302 int MinorKey() { return 1; } | 301 int MinorKey() { return 1; } |
303 | 302 |
304 const char* GetName() { return "JSConstructEntryStub"; } | 303 const char* GetName() { return "JSConstructEntryStub"; } |
305 }; | 304 }; |
306 | 305 |
307 | 306 |
308 } // namespace internal | 307 } // namespace internal |
309 } // namespace v8 | 308 } // namespace v8 |
310 | 309 |
311 #endif // V8_CODEGEN_H_ | 310 #endif // V8_CODEGEN_H_ |
OLD | NEW |