| 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 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 370 // The maximum size for a call instruction including pc-jump. | 370 // The maximum size for a call instruction including pc-jump. |
| 371 static const int kMaxCallSize = 6; | 371 static const int kMaxCallSize = 6; |
| 372 | 372 |
| 373 // The maximum pc delta that will use the short encoding. | 373 // The maximum pc delta that will use the short encoding. |
| 374 static const int kMaxSmallPCDelta; | 374 static const int kMaxSmallPCDelta; |
| 375 | 375 |
| 376 enum Mode { | 376 enum Mode { |
| 377 // Please note the order is important (see IsCodeTarget, IsGCRelocMode). | 377 // Please note the order is important (see IsCodeTarget, IsGCRelocMode). |
| 378 CODE_TARGET, // Code target which is not any of the above. | 378 CODE_TARGET, // Code target which is not any of the above. |
| 379 CODE_TARGET_WITH_ID, | 379 CODE_TARGET_WITH_ID, |
| 380 CONSTRUCT_CALL, // code target that is a call to a JavaScript constructor. | |
| 381 DEBUGGER_STATEMENT, // Code target for the debugger statement. | 380 DEBUGGER_STATEMENT, // Code target for the debugger statement. |
| 382 EMBEDDED_OBJECT, | 381 EMBEDDED_OBJECT, |
| 383 CELL, | 382 CELL, |
| 384 | 383 |
| 385 // Everything after runtime_entry (inclusive) is not GC'ed. | 384 // Everything after runtime_entry (inclusive) is not GC'ed. |
| 386 RUNTIME_ENTRY, | 385 RUNTIME_ENTRY, |
| 387 COMMENT, | 386 COMMENT, |
| 388 POSITION, // See comment for kNoPosition above. | 387 POSITION, // See comment for kNoPosition above. |
| 389 STATEMENT_POSITION, // See comment for kNoPosition above. | 388 STATEMENT_POSITION, // See comment for kNoPosition above. |
| 390 | 389 |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 435 | 434 |
| 436 RelocInfo(Isolate* isolate, byte* pc, Mode rmode, intptr_t data, Code* host) | 435 RelocInfo(Isolate* isolate, byte* pc, Mode rmode, intptr_t data, Code* host) |
| 437 : isolate_(isolate), pc_(pc), rmode_(rmode), data_(data), host_(host) { | 436 : isolate_(isolate), pc_(pc), rmode_(rmode), data_(data), host_(host) { |
| 438 DCHECK_NOT_NULL(isolate); | 437 DCHECK_NOT_NULL(isolate); |
| 439 } | 438 } |
| 440 | 439 |
| 441 static inline bool IsRealRelocMode(Mode mode) { | 440 static inline bool IsRealRelocMode(Mode mode) { |
| 442 return mode >= FIRST_REAL_RELOC_MODE && | 441 return mode >= FIRST_REAL_RELOC_MODE && |
| 443 mode <= LAST_REAL_RELOC_MODE; | 442 mode <= LAST_REAL_RELOC_MODE; |
| 444 } | 443 } |
| 445 static inline bool IsConstructCall(Mode mode) { | |
| 446 return mode == CONSTRUCT_CALL; | |
| 447 } | |
| 448 static inline bool IsCodeTarget(Mode mode) { | 444 static inline bool IsCodeTarget(Mode mode) { |
| 449 return mode <= LAST_CODE_ENUM; | 445 return mode <= LAST_CODE_ENUM; |
| 450 } | 446 } |
| 451 static inline bool IsEmbeddedObject(Mode mode) { | 447 static inline bool IsEmbeddedObject(Mode mode) { |
| 452 return mode == EMBEDDED_OBJECT; | 448 return mode == EMBEDDED_OBJECT; |
| 453 } | 449 } |
| 454 static inline bool IsCell(Mode mode) { return mode == CELL; } | 450 static inline bool IsCell(Mode mode) { return mode == CELL; } |
| 455 static inline bool IsRuntimeEntry(Mode mode) { | 451 static inline bool IsRuntimeEntry(Mode mode) { |
| 456 return mode == RUNTIME_ENTRY; | 452 return mode == RUNTIME_ENTRY; |
| 457 } | 453 } |
| (...skipping 834 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1292 std::vector<ConstantPoolEntry> shared_entries; | 1288 std::vector<ConstantPoolEntry> shared_entries; |
| 1293 }; | 1289 }; |
| 1294 | 1290 |
| 1295 Label emitted_label_; // Records pc_offset of emitted pool | 1291 Label emitted_label_; // Records pc_offset of emitted pool |
| 1296 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; | 1292 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; |
| 1297 }; | 1293 }; |
| 1298 | 1294 |
| 1299 } // namespace internal | 1295 } // namespace internal |
| 1300 } // namespace v8 | 1296 } // namespace v8 |
| 1301 #endif // V8_ASSEMBLER_H_ | 1297 #endif // V8_ASSEMBLER_H_ |
| OLD | NEW |