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 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 COMMENT, | 374 COMMENT, |
375 POSITION, // See comment for kNoPosition above. | 375 POSITION, // See comment for kNoPosition above. |
376 STATEMENT_POSITION, // See comment for kNoPosition above. | 376 STATEMENT_POSITION, // See comment for kNoPosition above. |
377 DEBUG_BREAK_SLOT, // Additional code inserted for debug break slot. | 377 DEBUG_BREAK_SLOT, // Additional code inserted for debug break slot. |
378 EXTERNAL_REFERENCE, // The address of an external C++ function. | 378 EXTERNAL_REFERENCE, // The address of an external C++ function. |
379 INTERNAL_REFERENCE, // An address inside the same function. | 379 INTERNAL_REFERENCE, // An address inside the same function. |
380 | 380 |
381 // Encoded internal reference, used only on MIPS, MIPS64 and PPC. | 381 // Encoded internal reference, used only on MIPS, MIPS64 and PPC. |
382 INTERNAL_REFERENCE_ENCODED, | 382 INTERNAL_REFERENCE_ENCODED, |
383 | 383 |
| 384 // Continuation points for a generator yield. |
| 385 GENERATOR_CONTINUATION, |
| 386 |
384 // Marks constant and veneer pools. Only used on ARM and ARM64. | 387 // Marks constant and veneer pools. Only used on ARM and ARM64. |
385 // They use a custom noncompact encoding. | 388 // They use a custom noncompact encoding. |
386 CONST_POOL, | 389 CONST_POOL, |
387 VENEER_POOL, | 390 VENEER_POOL, |
388 | 391 |
389 DEOPT_REASON, // Deoptimization reason index. | 392 DEOPT_REASON, // Deoptimization reason index. |
390 | 393 |
391 // This is not an actual reloc mode, but used to encode a long pc jump that | 394 // This is not an actual reloc mode, but used to encode a long pc jump that |
392 // cannot be encoded as part of another record. | 395 // cannot be encoded as part of another record. |
393 PC_JUMP, | 396 PC_JUMP, |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
467 } | 470 } |
468 static inline bool IsDebuggerStatement(Mode mode) { | 471 static inline bool IsDebuggerStatement(Mode mode) { |
469 return mode == DEBUG_BREAK; | 472 return mode == DEBUG_BREAK; |
470 } | 473 } |
471 static inline bool IsNone(Mode mode) { | 474 static inline bool IsNone(Mode mode) { |
472 return mode == NONE32 || mode == NONE64; | 475 return mode == NONE32 || mode == NONE64; |
473 } | 476 } |
474 static inline bool IsCodeAgeSequence(Mode mode) { | 477 static inline bool IsCodeAgeSequence(Mode mode) { |
475 return mode == CODE_AGE_SEQUENCE; | 478 return mode == CODE_AGE_SEQUENCE; |
476 } | 479 } |
| 480 static inline bool IsGeneratorContinuation(Mode mode) { |
| 481 return mode == GENERATOR_CONTINUATION; |
| 482 } |
477 static inline int ModeMask(Mode mode) { return 1 << mode; } | 483 static inline int ModeMask(Mode mode) { return 1 << mode; } |
478 | 484 |
479 // Accessors | 485 // Accessors |
480 byte* pc() const { return pc_; } | 486 byte* pc() const { return pc_; } |
481 void set_pc(byte* pc) { pc_ = pc; } | 487 void set_pc(byte* pc) { pc_ = pc; } |
482 Mode rmode() const { return rmode_; } | 488 Mode rmode() const { return rmode_; } |
483 intptr_t data() const { return data_; } | 489 intptr_t data() const { return data_; } |
484 Code* host() const { return host_; } | 490 Code* host() const { return host_; } |
485 void set_host(Code* host) { host_ = host; } | 491 void set_host(Code* host) { host_ = host; } |
486 | 492 |
(...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1248 }; | 1254 }; |
1249 | 1255 |
1250 Label emitted_label_; // Records pc_offset of emitted pool | 1256 Label emitted_label_; // Records pc_offset of emitted pool |
1251 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; | 1257 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; |
1252 }; | 1258 }; |
1253 | 1259 |
1254 | 1260 |
1255 } } // namespace v8::internal | 1261 } } // namespace v8::internal |
1256 | 1262 |
1257 #endif // V8_ASSEMBLER_H_ | 1263 #endif // V8_ASSEMBLER_H_ |
OLD | NEW |