summaryrefslogtreecommitdiffhomepage
path: root/src/array.c
diff options
context:
space:
mode:
authorNARUSE, Yui <[email protected]>2013-02-27 11:03:38 +0900
committerNARUSE, Yui <[email protected]>2013-02-27 11:03:38 +0900
commitd9d6b2c74c6b9a3cce18066e361d00eb30ce53b6 (patch)
tree50ca65d4aac510d601914be00595b724b8eee116 /src/array.c
parentd3418a7ac8cf6a98da6572a169ce3aeaf7d93c35 (diff)
downloadmruby-d9d6b2c74c6b9a3cce18066e361d00eb30ce53b6.tar.gz
mruby-d9d6b2c74c6b9a3cce18066e361d00eb30ce53b6.zip
Add document for array_copy
Diffstat (limited to 'src/array.c')
-rw-r--r--src/array.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/array.c b/src/array.c
index 29e43b34f..88c15eb2c 100644
--- a/src/array.c
+++ b/src/array.c
@@ -63,6 +63,20 @@ mrb_ary_new(mrb_state *mrb)
return mrb_ary_new_capa(mrb, 0);
}
+/*
+ * to copy array, use this instead of memcpy because of portability
+ * * gcc on ARM may fail optimization of memcpy
+ * http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka3934.html
+ * * gcc on MIPS also fail
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39755
+ * * memcpy doesn't exist on freestanding environment
+ *
+ * If you optimize for binary size, use memcpy instead of this at your own risk
+ * of above portability issue.
+ *
+ * see also http://togetter.com/li/462898
+ *
+ */
static inline void
array_copy(mrb_value *dst, const mrb_value *src, size_t size)
{