Reviewers: Jakob,
Description:
Version 4.3.61.35 (cherry-pick)
Merged 3f7b797c1e066cd2a86508a051599624134f597a
MIPS: Fix Assembler::dd(Label*) implementation.
[email protected]
BUG=
Please review this at https://codereview.chromium.org/1224623018/
Base URL: https://chromium.googlesource.com/v8/[email protected]
Affected files (+11, -11 lines):
M include/v8-version.h
M src/mips/assembler-mips.cc
M src/mips64/assembler-mips64.cc
Index: include/v8-version.h
diff --git a/include/v8-version.h b/include/v8-version.h
index
1d470d93099c9b0544d69e8341c828c2094ebcff..6e286caeb93ecc1dcd81e37c17f574fbe286a7e1
100644
--- a/include/v8-version.h
+++ b/include/v8-version.h
@@ -11,7 +11,7 @@
#define V8_MAJOR_VERSION 4
#define V8_MINOR_VERSION 3
#define V8_BUILD_NUMBER 61
-#define V8_PATCH_LEVEL 34
+#define V8_PATCH_LEVEL 35
// Use 1 for candidates and 0 otherwise.
// (Boolean macro values are not supported by all preprocessors.)
Index: src/mips/assembler-mips.cc
diff --git a/src/mips/assembler-mips.cc b/src/mips/assembler-mips.cc
index
d114a965f1a7ea82549382ba41ace6d1aaaf4a04..0ce0302191f86068e3e5c6a09c39c669ab09d8d4
100644
--- a/src/mips/assembler-mips.cc
+++ b/src/mips/assembler-mips.cc
@@ -2447,15 +2447,15 @@ void Assembler::dd(uint32_t data) {
void Assembler::dd(Label* label) {
CheckBuffer();
RecordRelocInfo(RelocInfo::INTERNAL_REFERENCE);
+ uint32_t data;
if (label->is_bound()) {
- uint32_t data = reinterpret_cast<uint32_t>(buffer_ + label->pos());
- *reinterpret_cast<uint32_t*>(pc_) = data;
- pc_ += sizeof(uint32_t);
+ data = reinterpret_cast<uint32_t>(buffer_ + label->pos());
} else {
- uint32_t target_pos = jump_address(label);
- emit(target_pos);
+ data = jump_address(label);
internal_reference_positions_.insert(label->pos());
}
+ *reinterpret_cast<uint32_t*>(pc_) = data;
+ pc_ += sizeof(uint32_t);
}
Index: src/mips64/assembler-mips64.cc
diff --git a/src/mips64/assembler-mips64.cc b/src/mips64/assembler-mips64.cc
index
68573d795f8f726bdccad637c121b3847dbf79b0..dd63ec2e8a4c69ab55c5eaf84982678be2ac6209
100644
--- a/src/mips64/assembler-mips64.cc
+++ b/src/mips64/assembler-mips64.cc
@@ -2691,15 +2691,15 @@ void Assembler::dd(uint32_t data) {
void Assembler::dd(Label* label) {
CheckBuffer();
RecordRelocInfo(RelocInfo::INTERNAL_REFERENCE);
+ uint64_t data;
if (label->is_bound()) {
- uint64_t data = reinterpret_cast<uint64_t>(buffer_ + label->pos());
- *reinterpret_cast<uint64_t*>(pc_) = data;
- pc_ += sizeof(uint64_t);
+ data = reinterpret_cast<uint64_t>(buffer_ + label->pos());
} else {
- uint64_t target_pos = jump_address(label);
- emit(target_pos);
+ data = jump_address(label);
internal_reference_positions_.insert(label->pos());
}
+ *reinterpret_cast<uint64_t*>(pc_) = data;
+ pc_ += sizeof(uint64_t);
}
--
--
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.