|
Truncate rather than round to nearest when performing float-to-integer
conversions for external array types, which implement the Typed Array
spec. The new code paths are for SSE3 and SSE2 capable processors.
The code for non-SSE2 processors is unchanged for now. The ARM port
appears to already be correct.
Moved the generation of the external array load and store intrinsics
to the stub cache (on all platforms) so that they are generated at run
time and can take advantage of CPU features.
This functionality is covered by the array-unit-tests.html test in the
WebGL conformance test suite:
http://khronos.org/webgl/wiki/Testing/Conformance
https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/array-unit-tests.html
Manually verified all of the SSE3/SSE2/non-SSE2 code paths by enabling
each in turn. Tested in Chromium on 32-bit Mac OS X and 64-bit Linux.
BUG=http://code.google.com/p/chromium/issues/detail?id=50972
TEST=none (see above)
Committed: http://code.google.com/p/v8/source/detail?r=6373
Total comments: 6
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+1438 lines, -1359 lines) |
Patch |
|
M |
src/arm/ic-arm.cc
|
View
|
1
|
2 chunks |
+0 lines, -577 lines |
0 comments
|
Download
|
|
M |
src/arm/stub-cache-arm.cc
|
View
|
1
|
1 chunk |
+597 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/builtins.h
|
View
|
1
|
2 chunks |
+0 lines, -14 lines |
0 comments
|
Download
|
|
M |
src/builtins.cc
|
View
|
1
|
2 chunks |
+0 lines, -76 lines |
0 comments
|
Download
|
|
M |
src/heap.h
|
View
|
1
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
src/ia32/ic-ia32.cc
|
View
|
1
|
2 chunks |
+0 lines, -342 lines |
0 comments
|
Download
|
|
M |
src/ia32/stub-cache-ia32.cc
|
View
|
1
|
1 chunk |
+389 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ic.h
|
View
|
1
|
4 chunks |
+0 lines, -15 lines |
0 comments
|
Download
|
|
M |
src/ic.cc
|
View
|
1
|
3 chunks |
+8 lines, -51 lines |
0 comments
|
Download
|
|
M |
src/mips/ic-mips.cc
|
View
|
1
|
1 chunk |
+0 lines, -12 lines |
0 comments
|
Download
|
|
M |
src/mips/stub-cache-mips.cc
|
View
|
1
|
1 chunk |
+14 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/stub-cache.h
|
View
|
1
|
2 chunks |
+18 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/stub-cache.cc
|
View
|
1
|
2 chunks |
+80 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/assembler-x64.h
|
View
|
1
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/assembler-x64.cc
|
View
|
1
|
2 chunks |
+22 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/disasm-x64.cc
|
View
|
1
|
1 chunk |
+5 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/x64/ic-x64.cc
|
View
|
1
|
2 chunks |
+0 lines, -268 lines |
0 comments
|
Download
|
|
M |
src/x64/stub-cache-x64.cc
|
View
|
1
|
1 chunk |
+300 lines, -0 lines |
0 comments
|
Download
|
Total messages: 6 (0 generated)
|