Index: src/builtins.cc |
diff --git a/src/builtins.cc b/src/builtins.cc |
index f4ce991a942d6f3db3061b632fa2da6db69f65f2..c4ac278749b080625315041ba4e8619c3d3a747c 100644 |
--- a/src/builtins.cc |
+++ b/src/builtins.cc |
@@ -470,7 +470,10 @@ BUILTIN(ArrayPush) { |
if (new_length > elms_len) { |
// New backing storage is needed. |
int capacity = new_length + (new_length >> 1) + 16; |
- new_elms = isolate->factory()->NewFixedDoubleArray(capacity); |
+ // Create new backing store; since capacity > 0, we can |
+ // safely cast to FixedDoubleArray. |
+ new_elms = Handle<FixedDoubleArray>::cast( |
+ isolate->factory()->NewFixedDoubleArray(capacity)); |
ElementsAccessor* accessor = array->GetElementsAccessor(); |
accessor->CopyElements( |