Index: src/assembler.h |
diff --git a/src/assembler.h b/src/assembler.h |
index 163fc3ca49202bab4e0c9ba2b84d8d6ec570ad2f..d5cc4ed216a756bc9f023700af2c2e4114a6992c 100644 |
--- a/src/assembler.h |
+++ b/src/assembler.h |
@@ -432,10 +432,13 @@ class RelocInfo { |
STATIC_ASSERT(NUMBER_OF_MODES <= kBitsPerInt); |
- RelocInfo() {} |
+ explicit RelocInfo(Isolate* isolate) : isolate_(isolate) { |
+ DCHECK_NOT_NULL(isolate); |
+ } |
- RelocInfo(byte* pc, Mode rmode, intptr_t data, Code* host) |
- : pc_(pc), rmode_(rmode), data_(data), host_(host) { |
+ RelocInfo(Isolate* isolate, byte* pc, Mode rmode, intptr_t data, Code* host) |
+ : isolate_(isolate), pc_(pc), rmode_(rmode), data_(data), host_(host) { |
+ DCHECK_NOT_NULL(isolate); |
} |
static inline bool IsRealRelocMode(Mode mode) { |
@@ -518,6 +521,7 @@ class RelocInfo { |
static inline int ModeMask(Mode mode) { return 1 << mode; } |
// Accessors |
+ Isolate* isolate() const { return isolate_; } |
byte* pc() const { return pc_; } |
void set_pc(byte* pc) { pc_ = pc; } |
Mode rmode() const { return rmode_; } |
@@ -658,6 +662,7 @@ class RelocInfo { |
static const int kApplyMask; // Modes affected by apply. Depends on arch. |
private: |
+ Isolate* isolate_; |
// On ARM, note that pc_ is the address of the constant pool entry |
// to be relocated and not the address of the instruction |
// referencing the constant pool entry (except when rmode_ == |