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

Issue 1689010: X64: Faster push/pop implementation. (Closed)

Created:
10 years, 8 months ago by Lasse Reichstein
Modified:
9 years, 6 months ago
Reviewers:
antonm
CC:
v8-dev
Visibility:
Public.

Description

X64: Faster push/pop implementation. Also snuck in an intended optimization for fast api call preparation and a few indentation fixes.

Patch Set 1 #

Total comments: 19

Patch Set 2 : Removed unneeded code for api-call optimizations. #

Total comments: 8

Patch Set 3 : Addressed review comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+348 lines, -171 lines) Patch
M src/ia32/stub-cache-ia32.cc View 1 6 chunks +5 lines, -7 lines 0 comments Download
M src/x64/codegen-x64.cc View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.h View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 2 7 chunks +50 lines, -29 lines 0 comments Download
M src/x64/stub-cache-x64.cc View 1 5 chunks +269 lines, -134 lines 0 comments Download
M test/mjsunit/array-pop.js View 2 1 chunk +23 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
Lasse Reichstein
Port of your Push/Pop optimization to X64. Bug compatible.
10 years, 8 months ago (2010-04-23 10:59:19 UTC) #1
antonm
http://codereview.chromium.org/1689010/diff/1/2 File src/ia32/stub-cache-ia32.cc (right): http://codereview.chromium.org/1689010/diff/1/2#newcode1331 src/ia32/stub-cache-ia32.cc:1331: __ j(above, &call_builtin); just for my education: why this ...
10 years, 8 months ago (2010-04-23 12:05:48 UTC) #2
Lasse Reichstein
Thanks for comments. I'll remove my over-optimization, see if I can remove the api-stuff and ...
10 years, 8 months ago (2010-04-23 12:33:04 UTC) #3
Lasse Reichstein
http://codereview.chromium.org/1689010/diff/1/7 File src/x64/stub-cache-x64.cc (right): http://codereview.chromium.org/1689010/diff/1/7#newcode558 src/x64/stub-cache-x64.cc:558: // Holds information about possible function call optimizations. A ...
10 years, 8 months ago (2010-04-28 08:07:41 UTC) #4
podivilov
Hi Lasse, I've already ported inline type checks for API calls -http://codereview.chromium.org/1650011/show, http://code.google.com/p/v8/source/detail?r=4540. Sorry for ...
10 years, 8 months ago (2010-04-28 14:16:33 UTC) #5
Lasse Reichstein
Think I git it cleaned up now. Care for another look?
10 years, 7 months ago (2010-05-03 13:18:28 UTC) #6
antonm
LGTM and thanks a lot for port. http://codereview.chromium.org/1689010/diff/9001/10003 File src/x64/codegen-x64.h (right): http://codereview.chromium.org/1689010/diff/9001/10003#newcode1014 src/x64/codegen-x64.h:1014: class RecordWriteStub ...
10 years, 7 months ago (2010-05-04 12:42:45 UTC) #7
Lasse Reichstein
10 years, 7 months ago (2010-05-04 13:23:33 UTC) #8
http://codereview.chromium.org/1689010/diff/9001/10003
File src/x64/codegen-x64.h (right):

http://codereview.chromium.org/1689010/diff/9001/10003#newcode1014
src/x64/codegen-x64.h:1014: class RecordWriteStub : public CodeStub {
Correct, it got me a few merge failures when forwarding my change to head of
bleeding_edge (but only in indentation and comments, the code must be obvious).

http://codereview.chromium.org/1689010/diff/9001/10006
File src/x64/stub-cache-x64.cc (right):

http://codereview.chromium.org/1689010/diff/9001/10006#newcode567
src/x64/stub-cache-x64.cc:567: __ movq(scratch, Operand(rsp, 0));
Will modify CL description.

http://codereview.chromium.org/1689010/diff/9001/10007
File test/mjsunit/array-pop.js (right):

http://codereview.chromium.org/1689010/diff/9001/10007#newcode72
test/mjsunit/array-pop.js:72: assertEquals(j+1, a.length, "inherit-pre-length");
On 2010/05/04 12:42:45, antonm wrote:
> should + be surrounded with space?

Done.

http://codereview.chromium.org/1689010/diff/9001/10007#newcode72
test/mjsunit/array-pop.js:72: assertEquals(j+1, a.length, "inherit-pre-length");
Good idea. Done.

Powered by Google App Engine
This is Rietveld 408576698