About 10x faster now.
---
 vm/builtin/array.cpp |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

-- 
--- !ruby/object:MailingList
name: rubinius-dev
view: http://groups.google.com/group/rubinius-dev?hl=en
post: [email protected]
unsubscribe: [email protected]
diff --git a/vm/builtin/array.cpp b/vm/builtin/array.cpp
index 664e1d3..6ee77a7 100644
--- a/vm/builtin/array.cpp
+++ b/vm/builtin/array.cpp
@@ -85,7 +85,8 @@ namespace rubinius {
     native_int index = idx->to_native();
 
     if(index < 0) {
-      return Primitives::failure();
+      index += total_->to_native();
+      if(index < 0) return Primitives::failure();
     }
 
     return this->set(state, index, val);

Reply via email to