Index: src/factory.cc |
diff --git a/src/factory.cc b/src/factory.cc |
index 9f1f085fc7701362d68d00fed153486fc826467b..2b5cf8be1f4224e1179f474259297f89864c59c2 100644 |
--- a/src/factory.cc |
+++ b/src/factory.cc |
@@ -729,7 +729,7 @@ Handle<ExternalArray> Factory::NewExternalArray(int length, |
ExternalArrayType array_type, |
void* external_pointer, |
PretenureFlag pretenure) { |
- ASSERT(0 <= length); |
+ ASSERT(0 <= length && length <= Smi::kMaxValue); |
CALL_HEAP_FUNCTION( |
isolate(), |
isolate()->heap()->AllocateExternalArray(length, |
@@ -740,6 +740,20 @@ Handle<ExternalArray> Factory::NewExternalArray(int length, |
} |
+Handle<FixedTypedArrayBase> Factory::NewFixedTypedArray( |
+ int length, |
+ ExternalArrayType array_type, |
+ PretenureFlag pretenure) { |
+ ASSERT(0 <= length && length <= Smi::kMaxValue); |
+ CALL_HEAP_FUNCTION( |
+ isolate(), |
+ isolate()->heap()->AllocateFixedTypedArray(length, |
+ array_type, |
+ pretenure), |
+ FixedTypedArrayBase); |
+} |
+ |
+ |
Handle<Cell> Factory::NewCell(Handle<Object> value) { |
AllowDeferredHandleDereference convert_to_cell; |
CALL_HEAP_FUNCTION( |