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

Unified Diff: src/arm/macro-assembler-arm.cc

Issue 11151005: Improve FastCloneShallowArray/ObjectStubs with VFP copying on ARM (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 8 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 | « src/arm/macro-assembler-arm.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/arm/macro-assembler-arm.cc
===================================================================
--- src/arm/macro-assembler-arm.cc (revision 12826)
+++ src/arm/macro-assembler-arm.cc (working copy)
@@ -3216,6 +3216,28 @@
}
+void MacroAssembler::VFPCopyFields(Register dst, Register src, int field_count,
+ SwVfpRegister first, SwVfpRegister last) {
+ ASSERT(CpuFeatures::IsEnabled(VFP2));
+ ASSERT_LE(first.code(), last.code());
+
+ if (FLAG_debug_code) {
+ tst(dst, Operand(kHeapObjectTag));
+ tst(src, Operand(kHeapObjectTag), eq);
+ stop("src and dst for VFPCopyFields must be untagged", ne);
+ }
+
+ int available_words = last.code() - first.code() + 1;
+ while (field_count > 0) {
+ int words_to_copy = Min(field_count, available_words);
+ SwVfpRegister copy_last =
+ SwVfpRegister::from_code(first.code() + words_to_copy - 1);
+ vldm(ia_w, src, first, copy_last);
+ vstm(ia_w, dst, first, copy_last);
+ field_count -= words_to_copy;
+ }
+}
danno 2012/10/30 14:28:59 nit: two spaces
+
void MacroAssembler::CopyBytes(Register src,
Register dst,
Register length,
« no previous file with comments | « src/arm/macro-assembler-arm.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698