Index: src/compiler/simplified-lowering.cc |
diff --git a/src/compiler/simplified-lowering.cc b/src/compiler/simplified-lowering.cc |
index cd11f1a6b75f1b1590f375b4f37ecb84c2147b89..8c0255e9abbb8dbb38c76507315edb7d0fb62703 100644 |
--- a/src/compiler/simplified-lowering.cc |
+++ b/src/compiler/simplified-lowering.cc |
@@ -1147,10 +1147,12 @@ Node* SimplifiedLowering::ComputeIndex(const ElementAccess& access, |
index = graph()->NewNode(machine()->Int32Add(), index, |
jsgraph()->Int32Constant(fixed_offset)); |
} |
- // TODO(bmeurer): 64-Bit |
- // if (machine()->Is64()) { |
- // index = graph()->NewNode(machine()->ChangeInt32ToInt64(), index); |
- // } |
+ if (machine()->Is64()) { |
+ // TODO(turbofan): This is probably only correct for typed arrays, and only |
+ // if the typed arrays are at most 2GiB in size, which happens to match |
+ // exactly our current situation. |
+ index = graph()->NewNode(machine()->ChangeUint32ToUint64(), index); |
+ } |
return index; |
} |