Reviewers: ,
Message:
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.
Description:
ARM64: Regenerate instead of spilling and restoring cheap lithium
instructions.
FOR INFORMATION PURPOSES ONLY. NOT TO BE COMMITTED!
Please review this at https://codereview.chromium.org/309373002/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+168, -48 lines):
M src/arm64/lithium-arm64.h
M src/arm64/lithium-arm64.cc
M src/arm64/lithium-gap-resolver-arm64.cc
M src/hydrogen-instructions.h
M src/hydrogen-instructions.cc
M src/lithium.h
M src/lithium.cc
M src/lithium-allocator.h
M src/lithium-allocator.cc
--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.