Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index fb860a8f5bed924036568ef78e9b084235577e49..0f9c739b8e0501d37e78af33953c54c0b313f090 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -14258,6 +14258,14 @@ void Code::InvalidateEmbeddedObjects() { |
void Code::Relocate(intptr_t delta) { |
+ if (trap_handler::EnableTrapHandler() && is_wasm_code()) { |
+ fprintf(stderr, "Relocating Wasm code from %p to %p\n", |
+ instruction_start() - delta, instruction_start()); |
+ const int index = trap_handler_index()->value(); |
+ if (index >= 0) { |
+ trap_handler::UpdateCodePointer(index, instruction_start()); |
+ } |
+ } |
for (RelocIterator it(this, RelocInfo::kApplyMask); !it.done(); it.next()) { |
it.rinfo()->apply(delta); |
} |