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 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 F(DebugConstructedBy, 2, 1) \ | 311 F(DebugConstructedBy, 2, 1) \ |
312 F(DebugGetPrototype, 1, 1) \ | 312 F(DebugGetPrototype, 1, 1) \ |
313 F(SystemBreak, 0, 1) \ | 313 F(SystemBreak, 0, 1) \ |
314 F(DebugDisassembleFunction, 1, 1) \ | 314 F(DebugDisassembleFunction, 1, 1) \ |
315 F(DebugDisassembleConstructor, 1, 1) \ | 315 F(DebugDisassembleConstructor, 1, 1) \ |
316 F(FunctionGetInferredName, 1, 1) | 316 F(FunctionGetInferredName, 1, 1) |
317 #else | 317 #else |
318 #define RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) | 318 #define RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) |
319 #endif | 319 #endif |
320 | 320 |
| 321 #ifdef ENABLE_LOGGING_AND_PROFILING |
| 322 #define RUNTIME_FUNCTION_LIST_PROFILER_SUPPORT(F) \ |
| 323 F(ProfilerResume, 1, 1) \ |
| 324 F(ProfilerPause, 1, 1) |
| 325 #else |
| 326 #define RUNTIME_FUNCTION_LIST_PROFILER_SUPPORT(F) |
| 327 #endif |
| 328 |
321 #ifdef DEBUG | 329 #ifdef DEBUG |
322 #define RUNTIME_FUNCTION_LIST_DEBUG(F) \ | 330 #define RUNTIME_FUNCTION_LIST_DEBUG(F) \ |
323 /* Testing */ \ | 331 /* Testing */ \ |
324 F(ListNatives, 0, 1) | 332 F(ListNatives, 0, 1) |
325 #else | 333 #else |
326 #define RUNTIME_FUNCTION_LIST_DEBUG(F) | 334 #define RUNTIME_FUNCTION_LIST_DEBUG(F) |
327 #endif | 335 #endif |
328 | 336 |
329 | 337 |
330 // ---------------------------------------------------------------------------- | 338 // ---------------------------------------------------------------------------- |
331 // RUNTIME_FUNCTION_LIST defines all runtime functions accessed | 339 // RUNTIME_FUNCTION_LIST defines all runtime functions accessed |
332 // either directly by id (via the code generator), or indirectly | 340 // either directly by id (via the code generator), or indirectly |
333 // via a native call by name (from within JS code). | 341 // via a native call by name (from within JS code). |
334 | 342 |
335 #define RUNTIME_FUNCTION_LIST(F) \ | 343 #define RUNTIME_FUNCTION_LIST(F) \ |
336 RUNTIME_FUNCTION_LIST_ALWAYS_1(F) \ | 344 RUNTIME_FUNCTION_LIST_ALWAYS_1(F) \ |
337 RUNTIME_FUNCTION_LIST_ALWAYS_2(F) \ | 345 RUNTIME_FUNCTION_LIST_ALWAYS_2(F) \ |
338 RUNTIME_FUNCTION_LIST_DEBUG(F) \ | 346 RUNTIME_FUNCTION_LIST_DEBUG(F) \ |
339 RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) | 347 RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) \ |
| 348 RUNTIME_FUNCTION_LIST_PROFILER_SUPPORT(F) |
340 | 349 |
341 // ---------------------------------------------------------------------------- | 350 // ---------------------------------------------------------------------------- |
342 // Runtime provides access to all C++ runtime functions. | 351 // Runtime provides access to all C++ runtime functions. |
343 | 352 |
344 class Runtime : public AllStatic { | 353 class Runtime : public AllStatic { |
345 public: | 354 public: |
346 enum FunctionId { | 355 enum FunctionId { |
347 #define F(name, nargs, ressize) k##name, | 356 #define F(name, nargs, ressize) k##name, |
348 RUNTIME_FUNCTION_LIST(F) | 357 RUNTIME_FUNCTION_LIST(F) |
349 kNofFunctions | 358 kNofFunctions |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 int position); | 416 int position); |
408 | 417 |
409 // Helper functions used stubs. | 418 // Helper functions used stubs. |
410 static void PerformGC(Object* result); | 419 static void PerformGC(Object* result); |
411 }; | 420 }; |
412 | 421 |
413 | 422 |
414 } } // namespace v8::internal | 423 } } // namespace v8::internal |
415 | 424 |
416 #endif // V8_RUNTIME_H_ | 425 #endif // V8_RUNTIME_H_ |
OLD | NEW |