Reviewers: Sven Panne,
Description:
Encode RelocInfo extra tag to fit changed RelocInfo kind enum.
This fixes some failures on MIPS. Though not all of them, since
MIPS does not correctly implement set_target_internal_reference.
[email protected]
Please review this at https://codereview.chromium.org/1008823002/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+2, -2 lines):
M src/assembler.cc
Index: src/assembler.cc
diff --git a/src/assembler.cc b/src/assembler.cc
index
37186e00cc9207e1f364adbe80e4556b611720cb..a63ca3a4cf62e5538c00efc61980fd7460b2e70e
100644
--- a/src/assembler.cc
+++ b/src/assembler.cc
@@ -511,7 +511,7 @@ void RelocInfoWriter::Write(const RelocInfo* rinfo) {
:
kVeneerPoolTag);
} else {
DCHECK(rmode > RelocInfo::LAST_COMPACT_ENUM);
- int saved_mode = rmode - RelocInfo::LAST_COMPACT_ENUM;
+ int saved_mode = rmode - RelocInfo::LAST_COMPACT_ENUM - 1;
// For all other modes we simply use the mode as the extra tag.
// None of these modes need a data component.
DCHECK(saved_mode < kPoolExtraTag);
@@ -721,7 +721,7 @@ void RelocIterator::next() {
Advance(kIntSize);
} else {
AdvanceReadPC();
- int rmode = extra_tag + RelocInfo::LAST_COMPACT_ENUM;
+ int rmode = extra_tag + RelocInfo::LAST_COMPACT_ENUM + 1;
if (SetMode(static_cast<RelocInfo::Mode>(rmode))) return;
}
}
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.