Fixed evaluation order problem found by GCMole.
authorsvenpanne@chromium.org <svenpanne@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 17 Apr 2013 06:25:29 +0000 (06:25 +0000)
committersvenpanne@chromium.org <svenpanne@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 17 Apr 2013 06:25:29 +0000 (06:25 +0000)
TBR=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/14178006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/runtime.cc

index 4b86d51..b5295b8 100644 (file)
@@ -825,8 +825,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_TypedArrayInitialize) {
   ASSERT(byte_length % elementSize == 0);
   size_t length = byte_length / elementSize;
 
-  holder->set_length(
-      *isolate->factory()->NewNumber(static_cast<double>(length)));
+  Handle<Object> length_obj = isolate->factory()->NewNumber(length);
+  holder->set_length(*length_obj);
   Handle<ExternalArray> elements =
       isolate->factory()->NewExternalArray(
           static_cast<int>(length), arrayType,