OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
344 void* data; | 344 void* data; |
345 }; | 345 }; |
346 | 346 |
347 | 347 |
348 // Logging and profiling. A StateTag represents a possible state of | 348 // Logging and profiling. A StateTag represents a possible state of |
349 // the VM. The logger maintains a stack of these. Creating a VMState | 349 // the VM. The logger maintains a stack of these. Creating a VMState |
350 // object enters a state by pushing on the stack, and destroying a | 350 // object enters a state by pushing on the stack, and destroying a |
351 // VMState object leaves a state by popping the current state from the | 351 // VMState object leaves a state by popping the current state from the |
352 // stack. | 352 // stack. |
353 | 353 |
354 #define STATE_TAG_LIST(V) \ | |
355 V(JS) \ | |
356 V(GC) \ | |
357 V(COMPILER) \ | |
358 V(PARALLEL_COMPILER) \ | |
359 V(OTHER) \ | |
360 V(EXTERNAL) | |
361 | |
362 enum StateTag { | 354 enum StateTag { |
363 #define DEF_STATE_TAG(name) name, | 355 JS, |
364 STATE_TAG_LIST(DEF_STATE_TAG) | 356 GC, |
365 #undef DEF_STATE_TAG | 357 COMPILER, |
366 // Pseudo-types. | 358 PARALLEL_COMPILER, |
367 state_tag_count | 359 OTHER, |
| 360 EXTERNAL |
368 }; | 361 }; |
369 | 362 |
370 | 363 |
371 // ----------------------------------------------------------------------------- | 364 // ----------------------------------------------------------------------------- |
372 // Macros | 365 // Macros |
373 | 366 |
374 // Testers for test. | 367 // Testers for test. |
375 | 368 |
376 #define HAS_SMI_TAG(value) \ | 369 #define HAS_SMI_TAG(value) \ |
377 ((reinterpret_cast<intptr_t>(value) & kSmiTagMask) == kSmiTag) | 370 ((reinterpret_cast<intptr_t>(value) & kSmiTagMask) == kSmiTag) |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
569 | 562 |
570 enum ClearExceptionFlag { | 563 enum ClearExceptionFlag { |
571 KEEP_EXCEPTION, | 564 KEEP_EXCEPTION, |
572 CLEAR_EXCEPTION | 565 CLEAR_EXCEPTION |
573 }; | 566 }; |
574 | 567 |
575 | 568 |
576 } } // namespace v8::internal | 569 } } // namespace v8::internal |
577 | 570 |
578 #endif // V8_V8GLOBALS_H_ | 571 #endif // V8_V8GLOBALS_H_ |
OLD | NEW |