summaryrefslogtreecommitdiff
path: root/chromium/v8/src/codegen/mips64/assembler-mips64.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/v8/src/codegen/mips64/assembler-mips64.cc
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
downloadqtwebengine-chromium-85-based.tar.gz
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/v8/src/codegen/mips64/assembler-mips64.cc')
-rw-r--r--chromium/v8/src/codegen/mips64/assembler-mips64.cc15
1 files changed, 11 insertions, 4 deletions
diff --git a/chromium/v8/src/codegen/mips64/assembler-mips64.cc b/chromium/v8/src/codegen/mips64/assembler-mips64.cc
index 751d0f8703e..3ec7bbb5e08 100644
--- a/chromium/v8/src/codegen/mips64/assembler-mips64.cc
+++ b/chromium/v8/src/codegen/mips64/assembler-mips64.cc
@@ -3763,17 +3763,20 @@ void Assembler::GrowBuffer() {
void Assembler::db(uint8_t data) {
CheckForEmitInForbiddenSlot();
- EmitHelper(data);
+ *reinterpret_cast<uint8_t*>(pc_) = data;
+ pc_ += sizeof(uint8_t);
}
void Assembler::dd(uint32_t data) {
CheckForEmitInForbiddenSlot();
- EmitHelper(data);
+ *reinterpret_cast<uint32_t*>(pc_) = data;
+ pc_ += sizeof(uint32_t);
}
void Assembler::dq(uint64_t data) {
CheckForEmitInForbiddenSlot();
- EmitHelper(data);
+ *reinterpret_cast<uint64_t*>(pc_) = data;
+ pc_ += sizeof(uint64_t);
}
void Assembler::dd(Label* label) {
@@ -3856,8 +3859,12 @@ void Assembler::CheckTrampolinePool() {
}
}
nop();
- bind(&after_pool);
+ // If unbound_labels_count_ is big enough, label after_pool will
+ // need a trampoline too, so we must create the trampoline before
+ // the bind operation to make sure function 'bind' can get this
+ // information.
trampoline_ = Trampoline(pool_start, unbound_labels_count_);
+ bind(&after_pool);
trampoline_emitted_ = true;
// As we are only going to emit trampoline once, we need to prevent any