OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
391 // Everything after runtime_entry (inclusive) is not GC'ed. | 391 // Everything after runtime_entry (inclusive) is not GC'ed. |
392 RUNTIME_ENTRY, | 392 RUNTIME_ENTRY, |
393 COMMENT, | 393 COMMENT, |
394 POSITION, // See comment for kNoPosition above. | 394 POSITION, // See comment for kNoPosition above. |
395 STATEMENT_POSITION, // See comment for kNoPosition above. | 395 STATEMENT_POSITION, // See comment for kNoPosition above. |
396 | 396 |
397 // Additional code inserted for debug break slot. | 397 // Additional code inserted for debug break slot. |
398 DEBUG_BREAK_SLOT_AT_POSITION, | 398 DEBUG_BREAK_SLOT_AT_POSITION, |
399 DEBUG_BREAK_SLOT_AT_RETURN, | 399 DEBUG_BREAK_SLOT_AT_RETURN, |
400 DEBUG_BREAK_SLOT_AT_CALL, | 400 DEBUG_BREAK_SLOT_AT_CALL, |
| 401 DEBUG_BREAK_SLOT_AT_TAIL_CALL, |
401 | 402 |
402 EXTERNAL_REFERENCE, // The address of an external C++ function. | 403 EXTERNAL_REFERENCE, // The address of an external C++ function. |
403 INTERNAL_REFERENCE, // An address inside the same function. | 404 INTERNAL_REFERENCE, // An address inside the same function. |
404 | 405 |
405 // Encoded internal reference, used only on MIPS, MIPS64 and PPC. | 406 // Encoded internal reference, used only on MIPS, MIPS64 and PPC. |
406 INTERNAL_REFERENCE_ENCODED, | 407 INTERNAL_REFERENCE_ENCODED, |
407 | 408 |
408 // Continuation points for a generator yield. | 409 // Continuation points for a generator yield. |
409 GENERATOR_CONTINUATION, | 410 GENERATOR_CONTINUATION, |
410 | 411 |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
484 return mode == EXTERNAL_REFERENCE; | 485 return mode == EXTERNAL_REFERENCE; |
485 } | 486 } |
486 static inline bool IsInternalReference(Mode mode) { | 487 static inline bool IsInternalReference(Mode mode) { |
487 return mode == INTERNAL_REFERENCE; | 488 return mode == INTERNAL_REFERENCE; |
488 } | 489 } |
489 static inline bool IsInternalReferenceEncoded(Mode mode) { | 490 static inline bool IsInternalReferenceEncoded(Mode mode) { |
490 return mode == INTERNAL_REFERENCE_ENCODED; | 491 return mode == INTERNAL_REFERENCE_ENCODED; |
491 } | 492 } |
492 static inline bool IsDebugBreakSlot(Mode mode) { | 493 static inline bool IsDebugBreakSlot(Mode mode) { |
493 return IsDebugBreakSlotAtPosition(mode) || IsDebugBreakSlotAtReturn(mode) || | 494 return IsDebugBreakSlotAtPosition(mode) || IsDebugBreakSlotAtReturn(mode) || |
494 IsDebugBreakSlotAtCall(mode); | 495 IsDebugBreakSlotAtCall(mode) || IsDebugBreakSlotAtTailCall(mode); |
495 } | 496 } |
496 static inline bool IsDebugBreakSlotAtPosition(Mode mode) { | 497 static inline bool IsDebugBreakSlotAtPosition(Mode mode) { |
497 return mode == DEBUG_BREAK_SLOT_AT_POSITION; | 498 return mode == DEBUG_BREAK_SLOT_AT_POSITION; |
498 } | 499 } |
499 static inline bool IsDebugBreakSlotAtReturn(Mode mode) { | 500 static inline bool IsDebugBreakSlotAtReturn(Mode mode) { |
500 return mode == DEBUG_BREAK_SLOT_AT_RETURN; | 501 return mode == DEBUG_BREAK_SLOT_AT_RETURN; |
501 } | 502 } |
502 static inline bool IsDebugBreakSlotAtCall(Mode mode) { | 503 static inline bool IsDebugBreakSlotAtCall(Mode mode) { |
503 return mode == DEBUG_BREAK_SLOT_AT_CALL; | 504 return mode == DEBUG_BREAK_SLOT_AT_CALL; |
504 } | 505 } |
| 506 static inline bool IsDebugBreakSlotAtTailCall(Mode mode) { |
| 507 return mode == DEBUG_BREAK_SLOT_AT_TAIL_CALL; |
| 508 } |
505 static inline bool IsDebuggerStatement(Mode mode) { | 509 static inline bool IsDebuggerStatement(Mode mode) { |
506 return mode == DEBUGGER_STATEMENT; | 510 return mode == DEBUGGER_STATEMENT; |
507 } | 511 } |
508 static inline bool IsNone(Mode mode) { | 512 static inline bool IsNone(Mode mode) { |
509 return mode == NONE32 || mode == NONE64; | 513 return mode == NONE32 || mode == NONE64; |
510 } | 514 } |
511 static inline bool IsCodeAgeSequence(Mode mode) { | 515 static inline bool IsCodeAgeSequence(Mode mode) { |
512 return mode == CODE_AGE_SEQUENCE; | 516 return mode == CODE_AGE_SEQUENCE; |
513 } | 517 } |
514 static inline bool IsGeneratorContinuation(Mode mode) { | 518 static inline bool IsGeneratorContinuation(Mode mode) { |
(...skipping 800 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1315 std::vector<ConstantPoolEntry> shared_entries; | 1319 std::vector<ConstantPoolEntry> shared_entries; |
1316 }; | 1320 }; |
1317 | 1321 |
1318 Label emitted_label_; // Records pc_offset of emitted pool | 1322 Label emitted_label_; // Records pc_offset of emitted pool |
1319 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; | 1323 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; |
1320 }; | 1324 }; |
1321 | 1325 |
1322 } // namespace internal | 1326 } // namespace internal |
1323 } // namespace v8 | 1327 } // namespace v8 |
1324 #endif // V8_ASSEMBLER_H_ | 1328 #endif // V8_ASSEMBLER_H_ |
OLD | NEW |