|
[turbofan] Introduce initial support for TypedArrays.
This adds support for lowering keyed access to JSTypedArray objects to
element loads and stores instead of IC calls. There's still a lot of
room for improvement, but the improvements can be done incrementally
later.
We add a dedicated UnsafePointerAdd operator, which sits in the effect
chain, and does the (GC invisible) computation of addresses that are
potentially inside HeapObjects. Also there's now a dedicated Retain
operator, which ensures that we retain a certain tagged value, which is
necessary to ensure that we keep a JSArrayBuffer alive as long as we
might still potentially access elements in its backing store.
R=epertoso@chromium.org
Committed: https://crrev.com/66f2d3bd66505f45b68f056164abfde0a9b331f5
Cr-Commit-Position: refs/heads/master@{#38235}
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+445 lines, -127 lines) |
Patch |
|
M |
src/compiler/access-builder.h
|
View
|
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/access-builder.cc
|
View
|
|
1 chunk |
+21 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/access-info.cc
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/common-operator.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/common-operator.cc
|
View
|
|
1 chunk |
+16 lines, -15 lines |
0 comments
|
Download
|
|
M |
src/compiler/effect-control-linearizer.h
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/effect-control-linearizer.cc
|
View
|
1
|
2 chunks |
+59 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/instruction-selector.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/instruction-selector.cc
|
View
|
1
|
4 chunks |
+22 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/js-builtin-reducer.cc
|
View
|
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/compiler/js-native-context-specialization.cc
|
View
|
|
2 chunks |
+173 lines, -93 lines |
0 comments
|
Download
|
|
M |
src/compiler/load-elimination.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/load-elimination.cc
|
View
|
|
3 chunks |
+17 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/compiler/machine-operator.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/machine-operator.cc
|
View
|
|
2 chunks |
+11 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/memory-optimizer.cc
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/opcodes.h
|
View
|
|
3 chunks |
+6 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/compiler/simplified-lowering.cc
|
View
|
|
2 chunks |
+45 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/simplified-operator.h
|
View
|
|
2 chunks |
+10 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/compiler/simplified-operator.cc
|
View
|
|
2 chunks |
+13 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/compiler/typer.cc
|
View
|
|
3 chunks |
+23 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/verifier.cc
|
View
|
|
3 chunks |
+8 lines, -4 lines |
0 comments
|
Download
|
Depends on Patchset:
Total messages: 16 (10 generated)
|