| 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 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 310 // The maximum size for a call instruction including pc-jump. | 310 // The maximum size for a call instruction including pc-jump. |
| 311 static const int kMaxCallSize = 6; | 311 static const int kMaxCallSize = 6; |
| 312 | 312 |
| 313 // The maximum pc delta that will use the short encoding. | 313 // The maximum pc delta that will use the short encoding. |
| 314 static const int kMaxSmallPCDelta; | 314 static const int kMaxSmallPCDelta; |
| 315 | 315 |
| 316 enum Mode { | 316 enum Mode { |
| 317 // Please note the order is important (see IsCodeTarget, IsGCRelocMode). | 317 // Please note the order is important (see IsCodeTarget, IsGCRelocMode). |
| 318 CODE_TARGET, // Code target which is not any of the above. | 318 CODE_TARGET, // Code target which is not any of the above. |
| 319 CODE_TARGET_WITH_ID, | 319 CODE_TARGET_WITH_ID, |
| 320 DEBUGGER_STATEMENT, // Code target for the debugger statement. | |
| 321 EMBEDDED_OBJECT, | 320 EMBEDDED_OBJECT, |
| 322 // To relocate pointers into the wasm memory embedded in wasm code | 321 // To relocate pointers into the wasm memory embedded in wasm code |
| 323 WASM_MEMORY_REFERENCE, | 322 WASM_MEMORY_REFERENCE, |
| 324 WASM_GLOBAL_REFERENCE, | 323 WASM_GLOBAL_REFERENCE, |
| 325 WASM_MEMORY_SIZE_REFERENCE, | 324 WASM_MEMORY_SIZE_REFERENCE, |
| 326 WASM_FUNCTION_TABLE_SIZE_REFERENCE, | 325 WASM_FUNCTION_TABLE_SIZE_REFERENCE, |
| 327 WASM_PROTECTED_INSTRUCTION_LANDING, | 326 WASM_PROTECTED_INSTRUCTION_LANDING, |
| 328 CELL, | 327 CELL, |
| 329 | 328 |
| 330 // Everything after runtime_entry (inclusive) is not GC'ed. | 329 // Everything after runtime_entry (inclusive) is not GC'ed. |
| (...skipping 28 matching lines...) Expand all Loading... |
| 359 | 358 |
| 360 // Pseudo-types | 359 // Pseudo-types |
| 361 NUMBER_OF_MODES, | 360 NUMBER_OF_MODES, |
| 362 NONE32, // never recorded 32-bit value | 361 NONE32, // never recorded 32-bit value |
| 363 NONE64, // never recorded 64-bit value | 362 NONE64, // never recorded 64-bit value |
| 364 CODE_AGE_SEQUENCE, // Not stored in RelocInfo array, used explictly by | 363 CODE_AGE_SEQUENCE, // Not stored in RelocInfo array, used explictly by |
| 365 // code aging. | 364 // code aging. |
| 366 | 365 |
| 367 FIRST_REAL_RELOC_MODE = CODE_TARGET, | 366 FIRST_REAL_RELOC_MODE = CODE_TARGET, |
| 368 LAST_REAL_RELOC_MODE = VENEER_POOL, | 367 LAST_REAL_RELOC_MODE = VENEER_POOL, |
| 369 LAST_CODE_ENUM = DEBUGGER_STATEMENT, | 368 LAST_CODE_ENUM = CODE_TARGET_WITH_ID, |
| 370 LAST_GCED_ENUM = WASM_FUNCTION_TABLE_SIZE_REFERENCE, | 369 LAST_GCED_ENUM = WASM_FUNCTION_TABLE_SIZE_REFERENCE, |
| 371 FIRST_SHAREABLE_RELOC_MODE = CELL, | 370 FIRST_SHAREABLE_RELOC_MODE = CELL, |
| 372 }; | 371 }; |
| 373 | 372 |
| 374 STATIC_ASSERT(NUMBER_OF_MODES <= kBitsPerInt); | 373 STATIC_ASSERT(NUMBER_OF_MODES <= kBitsPerInt); |
| 375 | 374 |
| 376 explicit RelocInfo(Isolate* isolate) : isolate_(isolate) { | 375 explicit RelocInfo(Isolate* isolate) : isolate_(isolate) { |
| 377 DCHECK_NOT_NULL(isolate); | 376 DCHECK_NOT_NULL(isolate); |
| 378 } | 377 } |
| 379 | 378 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 435 } | 434 } |
| 436 static inline bool IsDebugBreakSlotAtReturn(Mode mode) { | 435 static inline bool IsDebugBreakSlotAtReturn(Mode mode) { |
| 437 return mode == DEBUG_BREAK_SLOT_AT_RETURN; | 436 return mode == DEBUG_BREAK_SLOT_AT_RETURN; |
| 438 } | 437 } |
| 439 static inline bool IsDebugBreakSlotAtCall(Mode mode) { | 438 static inline bool IsDebugBreakSlotAtCall(Mode mode) { |
| 440 return mode == DEBUG_BREAK_SLOT_AT_CALL; | 439 return mode == DEBUG_BREAK_SLOT_AT_CALL; |
| 441 } | 440 } |
| 442 static inline bool IsDebugBreakSlotAtTailCall(Mode mode) { | 441 static inline bool IsDebugBreakSlotAtTailCall(Mode mode) { |
| 443 return mode == DEBUG_BREAK_SLOT_AT_TAIL_CALL; | 442 return mode == DEBUG_BREAK_SLOT_AT_TAIL_CALL; |
| 444 } | 443 } |
| 445 static inline bool IsDebuggerStatement(Mode mode) { | |
| 446 return mode == DEBUGGER_STATEMENT; | |
| 447 } | |
| 448 static inline bool IsNone(Mode mode) { | 444 static inline bool IsNone(Mode mode) { |
| 449 return mode == NONE32 || mode == NONE64; | 445 return mode == NONE32 || mode == NONE64; |
| 450 } | 446 } |
| 451 static inline bool IsCodeAgeSequence(Mode mode) { | 447 static inline bool IsCodeAgeSequence(Mode mode) { |
| 452 return mode == CODE_AGE_SEQUENCE; | 448 return mode == CODE_AGE_SEQUENCE; |
| 453 } | 449 } |
| 454 static inline bool IsWasmMemoryReference(Mode mode) { | 450 static inline bool IsWasmMemoryReference(Mode mode) { |
| 455 return mode == WASM_MEMORY_REFERENCE; | 451 return mode == WASM_MEMORY_REFERENCE; |
| 456 } | 452 } |
| 457 static inline bool IsWasmMemorySizeReference(Mode mode) { | 453 static inline bool IsWasmMemorySizeReference(Mode mode) { |
| (...skipping 785 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1243 std::vector<ConstantPoolEntry> shared_entries; | 1239 std::vector<ConstantPoolEntry> shared_entries; |
| 1244 }; | 1240 }; |
| 1245 | 1241 |
| 1246 Label emitted_label_; // Records pc_offset of emitted pool | 1242 Label emitted_label_; // Records pc_offset of emitted pool |
| 1247 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; | 1243 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; |
| 1248 }; | 1244 }; |
| 1249 | 1245 |
| 1250 } // namespace internal | 1246 } // namespace internal |
| 1251 } // namespace v8 | 1247 } // namespace v8 |
| 1252 #endif // V8_ASSEMBLER_H_ | 1248 #endif // V8_ASSEMBLER_H_ |
| OLD | NEW |