|
|
BoundsCheck should be extended to support --array_bounds_checks_elimination
TEST=mjsunit/array-bounds-check-removal.js
BoundsCheck LIR implementation supposes op2=length belong to [0,int32_max],
so "sub length, upper_offset" is not correct.
Moved lower/upper offset handling to LIR because I feel it is simpler.
Only fixed x86/x64 port.
array_bounds_checks_elimination remains disabled, because I have no
permission to check bug in http://code.google.com/p/v8/source/detail?r=11775
Zheng Liu
zheng.z.liu@intel.com
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+154 lines, -89 lines) |
Patch |
 |
M |
src/arm/lithium-arm.cc
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/hydrogen.cc
|
View
|
|
4 chunks |
+5 lines, -57 lines |
0 comments
|
Download
|
 |
M |
src/hydrogen-instructions.h
|
View
|
|
2 chunks |
+13 lines, -1 line |
0 comments
|
Download
|
 |
M |
src/hydrogen-instructions.cc
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/ia32/lithium-codegen-ia32.cc
|
View
|
|
1 chunk |
+26 lines, -4 lines |
0 comments
|
Download
|
 |
M |
src/ia32/lithium-ia32.h
|
View
|
|
1 chunk |
+4 lines, -2 lines |
0 comments
|
Download
|
 |
M |
src/ia32/lithium-ia32.cc
|
View
|
|
1 chunk |
+10 lines, -3 lines |
0 comments
|
Download
|
 |
M |
src/mips/lithium-mips.cc
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
src/x64/lithium-codegen-x64.cc
|
View
|
|
1 chunk |
+49 lines, -16 lines |
0 comments
|
Download
|
 |
M |
src/x64/lithium-x64.h
|
View
|
|
1 chunk |
+4 lines, -2 lines |
0 comments
|
Download
|
 |
M |
src/x64/lithium-x64.cc
|
View
|
|
1 chunk |
+10 lines, -3 lines |
0 comments
|
Download
|
 |
M |
test/mjsunit/array-bounds-check-removal.js
|
View
|
|
2 chunks |
+24 lines, -1 line |
0 comments
|
Download
|
Total messages: 1 (0 generated)
|