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

Side by Side Diff: src/assembler.h

Issue 2451853002: Uniform and precise source positions for inlining (Closed)
Patch Set: fixed gcmole issue Created 4 years, 1 month 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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 #include "src/runtime/runtime.h" 45 #include "src/runtime/runtime.h"
46 46
47 namespace v8 { 47 namespace v8 {
48 48
49 // Forward declarations. 49 // Forward declarations.
50 class ApiFunction; 50 class ApiFunction;
51 51
52 namespace internal { 52 namespace internal {
53 53
54 // Forward declarations. 54 // Forward declarations.
55 class SourcePosition;
55 class StatsCounter; 56 class StatsCounter;
56 57
57 // ----------------------------------------------------------------------------- 58 // -----------------------------------------------------------------------------
58 // Platform independent assembler base class. 59 // Platform independent assembler base class.
59 60
60 enum class CodeObjectRequired { kNo, kYes }; 61 enum class CodeObjectRequired { kNo, kYes };
61 62
62 63
63 class AssemblerBase: public Malloced { 64 class AssemblerBase: public Malloced {
64 public: 65 public:
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 INTERNAL_REFERENCE_ENCODED, 414 INTERNAL_REFERENCE_ENCODED,
414 415
415 // Continuation points for a generator yield. 416 // Continuation points for a generator yield.
416 GENERATOR_CONTINUATION, 417 GENERATOR_CONTINUATION,
417 418
418 // Marks constant and veneer pools. Only used on ARM and ARM64. 419 // Marks constant and veneer pools. Only used on ARM and ARM64.
419 // They use a custom noncompact encoding. 420 // They use a custom noncompact encoding.
420 CONST_POOL, 421 CONST_POOL,
421 VENEER_POOL, 422 VENEER_POOL,
422 423
423 DEOPT_POSITION, // Deoptimization source position. 424 DEOPT_SCRIPT_OFFSET,
424 DEOPT_REASON, // Deoptimization reason index. 425 DEOPT_INLINING_ID, // Deoptimization source position.
425 DEOPT_ID, // Deoptimization inlining id. 426 DEOPT_REASON, // Deoptimization reason index.
427 DEOPT_ID, // Deoptimization inlining id.
426 428
427 // This is not an actual reloc mode, but used to encode a long pc jump that 429 // This is not an actual reloc mode, but used to encode a long pc jump that
428 // cannot be encoded as part of another record. 430 // cannot be encoded as part of another record.
429 PC_JUMP, 431 PC_JUMP,
430 432
431 // Pseudo-types 433 // Pseudo-types
432 NUMBER_OF_MODES, 434 NUMBER_OF_MODES,
433 NONE32, // never recorded 32-bit value 435 NONE32, // never recorded 32-bit value
434 NONE64, // never recorded 64-bit value 436 NONE64, // never recorded 64-bit value
435 CODE_AGE_SEQUENCE, // Not stored in RelocInfo array, used explictly by 437 CODE_AGE_SEQUENCE, // Not stored in RelocInfo array, used explictly by
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
473 static inline bool IsComment(Mode mode) { 475 static inline bool IsComment(Mode mode) {
474 return mode == COMMENT; 476 return mode == COMMENT;
475 } 477 }
476 static inline bool IsConstPool(Mode mode) { 478 static inline bool IsConstPool(Mode mode) {
477 return mode == CONST_POOL; 479 return mode == CONST_POOL;
478 } 480 }
479 static inline bool IsVeneerPool(Mode mode) { 481 static inline bool IsVeneerPool(Mode mode) {
480 return mode == VENEER_POOL; 482 return mode == VENEER_POOL;
481 } 483 }
482 static inline bool IsDeoptPosition(Mode mode) { 484 static inline bool IsDeoptPosition(Mode mode) {
483 return mode == DEOPT_POSITION; 485 return mode == DEOPT_SCRIPT_OFFSET || mode == DEOPT_INLINING_ID;
484 } 486 }
485 static inline bool IsDeoptReason(Mode mode) { 487 static inline bool IsDeoptReason(Mode mode) {
486 return mode == DEOPT_REASON; 488 return mode == DEOPT_REASON;
487 } 489 }
488 static inline bool IsDeoptId(Mode mode) { 490 static inline bool IsDeoptId(Mode mode) {
489 return mode == DEOPT_ID; 491 return mode == DEOPT_ID;
490 } 492 }
491 static inline bool IsExternalReference(Mode mode) { 493 static inline bool IsExternalReference(Mode mode) {
492 return mode == EXTERNAL_REFERENCE; 494 return mode == EXTERNAL_REFERENCE;
493 } 495 }
(...skipping 786 matching lines...) Expand 10 before | Expand all | Expand 10 after
1280 std::vector<ConstantPoolEntry> shared_entries; 1282 std::vector<ConstantPoolEntry> shared_entries;
1281 }; 1283 };
1282 1284
1283 Label emitted_label_; // Records pc_offset of emitted pool 1285 Label emitted_label_; // Records pc_offset of emitted pool
1284 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; 1286 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES];
1285 }; 1287 };
1286 1288
1287 } // namespace internal 1289 } // namespace internal
1288 } // namespace v8 1290 } // namespace v8
1289 #endif // V8_ASSEMBLER_H_ 1291 #endif // V8_ASSEMBLER_H_
OLDNEW
« no previous file with comments | « src/arm64/assembler-arm64.cc ('k') | src/assembler.cc » ('j') | src/crankshaft/hydrogen.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698