Add support for on-heap typed arrays to HLoadKeyed::InferRange
authorjochen <jochen@chromium.org>
Fri, 8 May 2015 13:30:55 +0000 (06:30 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 8 May 2015 13:30:57 +0000 (13:30 +0000)
BUG=v8:3996
R=bmeurer@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28319}

src/hydrogen-instructions.cc

index 8006b78..2db3c43 100644 (file)
@@ -3198,13 +3198,18 @@ Range* HLoadNamedField::InferRange(Zone* zone) {
 Range* HLoadKeyed::InferRange(Zone* zone) {
   switch (elements_kind()) {
     case EXTERNAL_INT8_ELEMENTS:
+    case INT8_ELEMENTS:
       return new(zone) Range(kMinInt8, kMaxInt8);
     case EXTERNAL_UINT8_ELEMENTS:
     case EXTERNAL_UINT8_CLAMPED_ELEMENTS:
+    case UINT8_ELEMENTS:
+    case UINT8_CLAMPED_ELEMENTS:
       return new(zone) Range(kMinUInt8, kMaxUInt8);
     case EXTERNAL_INT16_ELEMENTS:
+    case INT16_ELEMENTS:
       return new(zone) Range(kMinInt16, kMaxInt16);
     case EXTERNAL_UINT16_ELEMENTS:
+    case UINT16_ELEMENTS:
       return new(zone) Range(kMinUInt16, kMaxUInt16);
     default:
       return HValue::InferRange(zone);