|
Improve implementation of HSeqStringSetChar.
This improves the generated code for HSeqStringSetChar across
all platforms, taking advantage of constant operands whenever
possible. It also drops the unused DefineSameAsFirst constraint
for the register allocator on x64 and ia32, where it caused
unnecessary spills when the string operand was live across the
HSeqStringSetChar instruction.
A new GVN flag StringChars is introduced to express dependencies
between HSeqStringSetChar, HStringCharCodeAt and the upcoming
HSeqStringGetChar (the GVNFlags type is now 64bit in size).
Also improves the test case.
TEST=mjsunit/string-natives
R=mstarzinger@chromium.org, yangguo@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=17521
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+222 lines, -92 lines) |
Patch |
|
M |
src/arm/lithium-arm.h
|
View
|
|
1 chunk |
+2 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/arm/lithium-arm.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/arm/lithium-codegen-arm.h
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/arm/lithium-codegen-arm.cc
|
View
|
|
2 chunks |
+30 lines, -20 lines |
0 comments
|
Download
|
|
M |
src/hydrogen-instructions.h
|
View
|
1
|
4 chunks |
+5 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/ia32/assembler-ia32.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/assembler-ia32.cc
|
View
|
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/disasm-ia32.cc
|
View
|
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/lithium-codegen-ia32.h
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/lithium-codegen-ia32.cc
|
View
|
|
1 chunk |
+45 lines, -15 lines |
0 comments
|
Download
|
|
M |
src/ia32/lithium-ia32.h
|
View
|
|
2 chunks |
+6 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/ia32/lithium-ia32.cc
|
View
|
|
2 chunks |
+14 lines, -7 lines |
2 comments
|
Download
|
|
M |
src/x64/assembler-x64.h
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/assembler-x64.cc
|
View
|
|
2 chunks |
+20 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/disasm-x64.cc
|
View
|
|
1 chunk |
+9 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/x64/lithium-codegen-x64.h
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/lithium-codegen-x64.cc
|
View
|
|
1 chunk |
+43 lines, -15 lines |
0 comments
|
Download
|
|
M |
src/x64/lithium-x64.h
|
View
|
|
1 chunk |
+2 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/x64/lithium-x64.cc
|
View
|
|
1 chunk |
+4 lines, -7 lines |
0 comments
|
Download
|
|
M |
test/mjsunit/string-natives.js
|
View
|
|
1 chunk |
+9 lines, -1 line |
2 comments
|
Download
|
Total messages: 7 (0 generated)
|