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

Unified Diff: src/ia32/assembler-ia32.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/ia32/assembler-ia32.cc
diff --git a/src/ia32/assembler-ia32.cc b/src/ia32/assembler-ia32.cc
index 01b366431b2753a2a8104aea1eb56815b43c4574..341a5e328b4e488e901aa163589228cd2a31d5d2 100644
--- a/src/ia32/assembler-ia32.cc
+++ b/src/ia32/assembler-ia32.cc
@@ -196,6 +196,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) {
@@ -1603,6 +1608,14 @@ void Assembler::call(Handle<Code> code,
emit(code, 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);
+
+ emit(index);
+}
void Assembler::jmp(Label* L, Label::Distance distance) {
EnsureSpace ensure_space(this);

Powered by Google App Engine
This is Rietveld 408576698