Reviewers: jarin,

Message:
PTAL

Description:
[turbofan] Currently we cannot handle typed arrays bigger than 2GiB.

Please review this at https://codereview.chromium.org/676643002/

Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+4, -2 lines):
  M src/compiler/js-typed-lowering.cc


Index: src/compiler/js-typed-lowering.cc
diff --git a/src/compiler/js-typed-lowering.cc b/src/compiler/js-typed-lowering.cc index cc8d6ce79f94bea083b6f59672deea137c6fd086..fb510e07ce941efcc831a2e82de599d652e7abc4 100644
--- a/src/compiler/js-typed-lowering.cc
+++ b/src/compiler/js-typed-lowering.cc
@@ -566,7 +566,8 @@ Reduction JSTypedLowering::ReduceJSLoadProperty(Node* node) {
     if (IsExternalArrayElementsKind(array->map()->elements_kind())) {
       ExternalArrayType type = array->type();
       uint32_t byte_length;
-      if (array->byte_length()->ToUint32(&byte_length)) {
+      if (array->byte_length()->ToUint32(&byte_length) &&
+          byte_length <= static_cast<uint32_t>(kMaxInt)) {
         Handle<ExternalArray> elements =
             Handle<ExternalArray>::cast(handle(array->elements()));
         Node* pointer = jsgraph()->IntPtrConstant(
@@ -603,7 +604,8 @@ Reduction JSTypedLowering::ReduceJSStoreProperty(Node* node) {
     if (IsExternalArrayElementsKind(array->map()->elements_kind())) {
       ExternalArrayType type = array->type();
       uint32_t byte_length;
-      if (array->byte_length()->ToUint32(&byte_length)) {
+      if (array->byte_length()->ToUint32(&byte_length) &&
+          byte_length <= static_cast<uint32_t>(kMaxInt)) {
         Handle<ExternalArray> elements =
             Handle<ExternalArray>::cast(handle(array->elements()));
         Node* pointer = jsgraph()->IntPtrConstant(


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to