PPC: temp fix for constant pool sharing issue

Sharing WasmCall/StubCall will lead to relocation
being processed more than once in NativeModule::AddCode
for wasm.

R=joransiu@ca.ibm.com

Change-Id: I88d9a1a956fe36ef81e0a4c61d7dedf868bdf9a3
Reviewed-on: https://chromium-review.googlesource.com/c/1344510
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#57700}
This commit is contained in:
Junliang Yan 2018-11-20 14:10:14 -05:00 committed by Commit Bot
parent 260074aca4
commit 039d408101

View File

@ -1441,10 +1441,13 @@ class Assembler : public AssemblerBase {
void RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data = 0);
ConstantPoolEntry::Access ConstantPoolAddEntry(RelocInfo::Mode rmode,
intptr_t value) {
bool sharing_ok = RelocInfo::IsNone(rmode) ||
(!options().record_reloc_info_for_serialization &&
RelocInfo::IsShareableRelocMode(rmode) &&
!is_constant_pool_entry_sharing_blocked());
bool sharing_ok =
RelocInfo::IsNone(rmode) ||
(!options().record_reloc_info_for_serialization &&
RelocInfo::IsShareableRelocMode(rmode) &&
!is_constant_pool_entry_sharing_blocked() &&
// TODO(johnyan): make the following rmode shareable
!RelocInfo::IsWasmCall(rmode) && !RelocInfo::IsWasmStubCall(rmode));
return constant_pool_builder_.AddEntry(pc_offset(), value, sharing_ok);
}
ConstantPoolEntry::Access ConstantPoolAddEntry(Double value) {