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

Unified Diff: runtime/vm/assembler_arm64.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_arm64.h
diff --git a/runtime/vm/assembler_arm64.h b/runtime/vm/assembler_arm64.h
index 1f8edfa2e89ea563abf417ceaeab2292ecdef7b9..4210ed525cd99ff744468af5ebf4a622b572f6b1 100644
--- a/runtime/vm/assembler_arm64.h
+++ b/runtime/vm/assembler_arm64.h
@@ -1401,12 +1401,30 @@ 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 LoadUnaligned(Register dst, Register addr, Register tmp,
+ OperandSize sz);
+ void StoreUnaligned(Register src, Register addr, Register tmp,
+ OperandSize sz);
private:
AssemblerBuffer buffer_; // Contains position independent code.

Powered by Google App Engine
This is Rietveld 408576698