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

Unified Diff: runtime/vm/assembler_arm.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
« no previous file with comments | « no previous file | runtime/vm/assembler_arm.cc » ('j') | runtime/vm/intermediate_language.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/assembler_arm.h
diff --git a/runtime/vm/assembler_arm.h b/runtime/vm/assembler_arm.h
index 3afce467b61f7fa12f5548d6367788fc6397702c..1e3d9711442cf655fe4dc087955417e405f77926 100644
--- a/runtime/vm/assembler_arm.h
+++ b/runtime/vm/assembler_arm.h
@@ -971,6 +971,14 @@ class Assembler : public ValueObject {
intptr_t index,
Register temp);
+ void LoadElementAddressForIntIndex(Register address,
+ bool is_load,
+ 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,
@@ -978,6 +986,21 @@ class Assembler : public ValueObject {
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);
+
+
zra 2016/10/26 06:59:41 extra newline
rmacnak 2016/10/31 22:57:26 Done.
// If allocation tracing for |cid| is enabled, will jump to |trace| label,
// which will allocate in the runtime where tracing occurs.
void MaybeTraceAllocation(intptr_t cid,
« no previous file with comments | « no previous file | runtime/vm/assembler_arm.cc » ('j') | runtime/vm/intermediate_language.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698