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

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
bmeurer@chromium.org 2014-10-23 07:34:36 +00:00
parent c5a8743a1b
commit 6d5f6914f7

View File

@ -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(