Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Issue 57383004: Improve implementation of HSeqStringSetChar. (Closed)

Created:
7 years, 1 month ago by Benedikt Meurer
Modified:
7 years, 1 month ago
CC:
v8-dev
Visibility:
Public.

Description

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

Patch Set 1 : #

Patch Set 2 : Increase GVNFlags to 64bit. Add StringChars flag. #

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

Messages

Total messages: 7 (0 generated)
Benedikt Meurer
Hey Yang, This improves HSeqStringSetChar so we can actually use it for the hydrogen StringAddStub. ...
7 years, 1 month ago (2013-11-04 14:33:07 UTC) #1
Benedikt Meurer
Michi, PTAL at the GVNFlags changes. -- Benedikt
7 years, 1 month ago (2013-11-05 09:59:02 UTC) #2
Michael Starzinger
LGTM on the GVN flag if there is no noticable performance impact due to the ...
7 years, 1 month ago (2013-11-05 14:44:19 UTC) #3
Yang
lgtm if comments are addressed. https://codereview.chromium.org/57383004/diff/110001/src/ia32/lithium-ia32.cc File src/ia32/lithium-ia32.cc (right): https://codereview.chromium.org/57383004/diff/110001/src/ia32/lithium-ia32.cc#newcode1880 src/ia32/lithium-ia32.cc:1880: ? UseFixedOrConstant(instr->value(), eax) Why ...
7 years, 1 month ago (2013-11-06 09:55:09 UTC) #4
Benedikt Meurer
https://codereview.chromium.org/57383004/diff/110001/src/ia32/lithium-ia32.cc File src/ia32/lithium-ia32.cc (right): https://codereview.chromium.org/57383004/diff/110001/src/ia32/lithium-ia32.cc#newcode1880 src/ia32/lithium-ia32.cc:1880: ? UseFixedOrConstant(instr->value(), eax) On 2013/11/06 09:55:09, Yang wrote: > ...
7 years, 1 month ago (2013-11-06 10:06:36 UTC) #5
Yang
On 2013/11/06 10:06:36, Benedikt Meurer wrote: > https://codereview.chromium.org/57383004/diff/110001/src/ia32/lithium-ia32.cc > File src/ia32/lithium-ia32.cc (right): > > https://codereview.chromium.org/57383004/diff/110001/src/ia32/lithium-ia32.cc#newcode1880 ...
7 years, 1 month ago (2013-11-06 10:24:59 UTC) #6
Benedikt Meurer
7 years, 1 month ago (2013-11-06 13:09:39 UTC) #7
Message was sent while issue was closed.
Committed patchset #2 manually as r17521 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698