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 enum Mode { | 374 enum Mode { |
375 // Please note the order is important (see IsCodeTarget, IsGCRelocMode). | 375 // Please note the order is important (see IsCodeTarget, IsGCRelocMode). |
376 CODE_TARGET, // Code target which is not any of the above. | 376 CODE_TARGET, // Code target which is not any of the above. |
377 CODE_TARGET_WITH_ID, | 377 CODE_TARGET_WITH_ID, |
378 DEBUGGER_STATEMENT, // Code target for the debugger statement. | 378 DEBUGGER_STATEMENT, // Code target for the debugger statement. |
379 EMBEDDED_OBJECT, | 379 EMBEDDED_OBJECT, |
380 // To relocate pointers into the wasm memory embedded in wasm code | 380 // To relocate pointers into the wasm memory embedded in wasm code |
381 WASM_MEMORY_REFERENCE, | 381 WASM_MEMORY_REFERENCE, |
382 WASM_GLOBAL_REFERENCE, | 382 WASM_GLOBAL_REFERENCE, |
383 WASM_MEMORY_SIZE_REFERENCE, | 383 WASM_MEMORY_SIZE_REFERENCE, |
| 384 WASM_TRAP_LANDING, |
384 CELL, | 385 CELL, |
385 | 386 |
386 // Everything after runtime_entry (inclusive) is not GC'ed. | 387 // Everything after runtime_entry (inclusive) is not GC'ed. |
387 RUNTIME_ENTRY, | 388 RUNTIME_ENTRY, |
388 COMMENT, | 389 COMMENT, |
389 | 390 |
390 // Additional code inserted for debug break slot. | 391 // Additional code inserted for debug break slot. |
391 DEBUG_BREAK_SLOT_AT_POSITION, | 392 DEBUG_BREAK_SLOT_AT_POSITION, |
392 DEBUG_BREAK_SLOT_AT_RETURN, | 393 DEBUG_BREAK_SLOT_AT_RETURN, |
393 DEBUG_BREAK_SLOT_AT_CALL, | 394 DEBUG_BREAK_SLOT_AT_CALL, |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
514 } | 515 } |
515 static inline bool IsWasmMemoryReference(Mode mode) { | 516 static inline bool IsWasmMemoryReference(Mode mode) { |
516 return mode == WASM_MEMORY_REFERENCE; | 517 return mode == WASM_MEMORY_REFERENCE; |
517 } | 518 } |
518 static inline bool IsWasmMemorySizeReference(Mode mode) { | 519 static inline bool IsWasmMemorySizeReference(Mode mode) { |
519 return mode == WASM_MEMORY_SIZE_REFERENCE; | 520 return mode == WASM_MEMORY_SIZE_REFERENCE; |
520 } | 521 } |
521 static inline bool IsWasmGlobalReference(Mode mode) { | 522 static inline bool IsWasmGlobalReference(Mode mode) { |
522 return mode == WASM_GLOBAL_REFERENCE; | 523 return mode == WASM_GLOBAL_REFERENCE; |
523 } | 524 } |
| 525 static inline bool IsWasmTrapLanding(Mode mode) { |
| 526 return mode == WASM_TRAP_LANDING; |
| 527 } |
524 static inline int ModeMask(Mode mode) { return 1 << mode; } | 528 static inline int ModeMask(Mode mode) { return 1 << mode; } |
525 | 529 |
526 // Accessors | 530 // Accessors |
527 Isolate* isolate() const { return isolate_; } | 531 Isolate* isolate() const { return isolate_; } |
528 byte* pc() const { return pc_; } | 532 byte* pc() const { return pc_; } |
529 void set_pc(byte* pc) { pc_ = pc; } | 533 void set_pc(byte* pc) { pc_ = pc; } |
530 Mode rmode() const { return rmode_; } | 534 Mode rmode() const { return rmode_; } |
531 intptr_t data() const { return data_; } | 535 intptr_t data() const { return data_; } |
532 Code* host() const { return host_; } | 536 Code* host() const { return host_; } |
533 void set_host(Code* host) { host_ = host; } | 537 void set_host(Code* host) { host_ = host; } |
(...skipping 738 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1272 std::vector<ConstantPoolEntry> shared_entries; | 1276 std::vector<ConstantPoolEntry> shared_entries; |
1273 }; | 1277 }; |
1274 | 1278 |
1275 Label emitted_label_; // Records pc_offset of emitted pool | 1279 Label emitted_label_; // Records pc_offset of emitted pool |
1276 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; | 1280 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; |
1277 }; | 1281 }; |
1278 | 1282 |
1279 } // namespace internal | 1283 } // namespace internal |
1280 } // namespace v8 | 1284 } // namespace v8 |
1281 #endif // V8_ASSEMBLER_H_ | 1285 #endif // V8_ASSEMBLER_H_ |
OLD | NEW |