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

Unified Diff: runtime/vm/assembler_arm.h

Issue 552303005: Fix StoreIndexedInstr input representation requirements for Int32/Uint32 arrays. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: fix typo Created 6 years, 3 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_arm.h
diff --git a/runtime/vm/assembler_arm.h b/runtime/vm/assembler_arm.h
index 9a08c8e6fe50243a428a2aac9978a885a16782aa..49e621bf4ed4f2112c243babf29935b1e7873227 100644
--- a/runtime/vm/assembler_arm.h
+++ b/runtime/vm/assembler_arm.h
@@ -717,6 +717,7 @@ class Assembler : public ValueObject {
void Lsr(Register rd, Register rm, Register rs, Condition cond = AL);
void Asr(Register rd, Register rm, uint32_t shift_imm, Condition cond = AL);
void Asr(Register rd, Register rm, Register rs, Condition cond = AL);
+ void AsrS(Register rd, Register rm, uint32_t shift_imm, Condition cond = AL);
void Ror(Register rd, Register rm, uint32_t shift_imm, Condition cond = AL);
void Ror(Register rd, Register rm, Register rs, Condition cond = AL);
void Rrx(Register rd, Register rm, Condition cond = AL);
@@ -734,6 +735,10 @@ class Assembler : public ValueObject {
Lsl(reg, reg, kSmiTagSize, cond);
}
+ void SmiTag(Register dst, Register src, Condition cond = AL) {
+ Lsl(dst, src, kSmiTagSize, cond);
+ }
+
void SmiUntag(Register reg, Condition cond = AL) {
Asr(reg, reg, kSmiTagSize, cond);
}
@@ -742,6 +747,12 @@ class Assembler : public ValueObject {
Asr(dst, src, kSmiTagSize, cond);
}
+ void SmiUntag(Register dst, Register src, Label* ok) {
+ ASSERT(kSmiTagSize == 1);
+ AsrS(dst, src, kSmiTagSize);
+ b(ok, CC);
+ }
+
// Function frame setup and tear down.
void EnterFrame(RegList regs, intptr_t frame_space);
void LeaveFrame(RegList regs);
« no previous file with comments | « pkg/pkg.status ('k') | runtime/vm/assembler_arm.cc » ('j') | runtime/vm/flow_graph_optimizer.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698