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.

Reply via email to