Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(191)

Side by Side Diff: src/assembler.h

Issue 2148743004: WIP: wasm oob trap handling experiments (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Undoing spurious changes Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/assembler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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_
OLDNEW
« no previous file with comments | « no previous file | src/assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698