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

Unified Diff: runtime/vm/assembler_mips.h

Issue 2452453002: Support unaligned integer loads on ARM and MIPS. (Closed)
Patch Set: . Created 4 years, 2 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: runtime/vm/assembler_mips.h
diff --git a/runtime/vm/assembler_mips.h b/runtime/vm/assembler_mips.h
index 095fa749869ff343b684d380879cfd59dc0498f7..d1625ea85bbd00fef8577cf2c960579a464c246b 100644
--- a/runtime/vm/assembler_mips.h
+++ b/runtime/vm/assembler_mips.h
@@ -1599,12 +1599,31 @@ class Assembler : public ValueObject {
intptr_t index_scale,
Register array,
intptr_t index) const;
+ void LoadElementAddressForIntIndex(Register address,
+ bool is_external,
+ intptr_t cid,
+ intptr_t index_scale,
+ Register array,
+ intptr_t index);
Address ElementAddressForRegIndex(bool is_load,
bool is_external,
intptr_t cid,
intptr_t index_scale,
Register array,
Register index);
+ void LoadElementAddressForRegIndex(Register address,
+ bool is_load,
+ bool is_external,
+ intptr_t cid,
+ intptr_t index_scale,
+ Register array,
+ Register index);
+
+ void LoadHalfWordUnaligned(Register dst, Register addr, Register tmp);
+ void LoadHalfWordUnsignedUnaligned(Register dst, Register addr, Register tmp);
+ void StoreHalfWordUnaligned(Register src, Register addr, Register tmp);
+ void LoadWordUnaligned(Register dst, Register addr, Register tmp);
+ void StoreWordUnaligned(Register src, Register addr, Register tmp);
static Address VMTagAddress() {
return Address(THR, Thread::vm_tag_offset());

Powered by Google App Engine
This is Rietveld 408576698