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

Issue 309373002: ARM64: Regenerate instead of spilling and restoring cheap lithium instructions.

Created:
6 years, 6 months ago by Alexandre Rames
Modified:
6 years, 4 months ago
Reviewers:
CC:
danno, Jarin, jochen (gone - plz use gerrit), ulan, v8-dev
Visibility:
Public.

Description

ARM64: Regenerate instead of spilling and restoring cheap lithium instructions. FOR INFORMATION PURPOSES ONLY. NOT TO BE COMMITTED!

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+168 lines, -48 lines) Patch
M src/arm64/lithium-arm64.h View 8 chunks +41 lines, -18 lines 0 comments Download
M src/arm64/lithium-arm64.cc View 3 chunks +17 lines, -14 lines 0 comments Download
M src/arm64/lithium-gap-resolver-arm64.cc View 2 chunks +36 lines, -6 lines 0 comments Download
M src/hydrogen-instructions.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/hydrogen-instructions.cc View 1 chunk +10 lines, -0 lines 0 comments Download
M src/lithium.h View 7 chunks +17 lines, -4 lines 0 comments Download
M src/lithium.cc View 1 chunk +11 lines, -0 lines 0 comments Download
M src/lithium-allocator.h View 2 chunks +7 lines, -0 lines 0 comments Download
M src/lithium-allocator.cc View 9 chunks +28 lines, -6 lines 0 comments Download

Messages

Total messages: 1 (0 generated)
Alexandre Rames
6 years, 6 months ago (2014-06-03 16:37:23 UTC) #1
Following the discussion at https://codereview.chromium.org/308313002/ , here is
a patch (applicable on top of the patch for the previously mentioned issue) with
some work on avoiding spilling/restoring.

To make things clear again, this is *not* a review request.

Short description:
LOperands and LiveRanges are augmented with a pointer to the Lithium instruction
that generated them. Gap moves are computed as usual, but code generation skips
spilling and unspilling moves (reg from/to stack) for values generated by a
'cheap' Lithium instruction, and instead regenerates (re-visits) the value.

Powered by Google App Engine
This is Rietveld 408576698