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

Side by Side Diff: src/assembler.h

Issue 1235603002: Debugger: make debug code on-stack replacement more robust. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: fix arm64 Created 5 years, 5 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
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 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
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
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_
OLDNEW
« no previous file with comments | « src/arm64/full-codegen-arm64.cc ('k') | src/assembler.cc » ('j') | src/debug.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698