Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(289)

Unified Diff: src/x64/assembler-x64.cc

Issue 2021323003: [wasm] remove faux code objects Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/x64/assembler-x64.cc
diff --git a/src/x64/assembler-x64.cc b/src/x64/assembler-x64.cc
index 48f9a9a18364157a77769d60dc2d9564155ec8fa..7c992cbd88bc7062e96dc778f72de74fb4bed58a 100644
--- a/src/x64/assembler-x64.cc
+++ b/src/x64/assembler-x64.cc
@@ -127,6 +127,11 @@ uint32_t RelocInfo::wasm_memory_size_reference() {
return Memory::uint32_at(pc_);
}
+uint32_t RelocInfo::wasm_function_index() {
+ DCHECK(IsWasmDirectCall(rmode_));
+ return Memory::uint32_at(pc_);
+}
+
void RelocInfo::update_wasm_memory_reference(
Address old_base, Address new_base, uint32_t old_size, uint32_t new_size,
ICacheFlushMode icache_flush_mode) {
@@ -888,6 +893,14 @@ void Assembler::call(Handle<Code> target,
emit_code_target(target, rmode, ast_id);
}
+void Assembler::wasm_direct_call(uint32_t index) {
+ positions_recorder()->WriteRecordedPositions();
+ EnsureSpace ensure_space(this);
+ emit(0xE8);
+ RecordRelocInfo(RelocInfo::WASM_DIRECT_CALL);
+
+ emitl(index);
+}
void Assembler::call(Register adr) {
positions_recorder()->WriteRecordedPositions();

Powered by Google App Engine
This is Rietveld 408576698