Mercurial > hg > graal-compiler
changeset 22845:39cf11c62720
Fix bug in emitSaveAllRegisters.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Mon, 19 Oct 2015 17:37:24 +0200 |
parents | 8c12a9c538d2 |
children | ece452d7d500 657db06a6bbe |
files | graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java |
diffstat | 1 files changed, 1 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java Mon Oct 19 16:32:20 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java Mon Oct 19 17:37:24 2015 +0200 @@ -359,9 +359,7 @@ private AMD64SaveRegistersOp emitSaveAllRegisters(Register[] savedRegisters, boolean supportsRemove) { AllocatableValue[] savedRegisterLocations = new AllocatableValue[savedRegisters.length]; for (int i = 0; i < savedRegisters.length; i++) { - PlatformKind kind = target().arch.getLargestStorableKind(savedRegisters[i].getRegisterCategory()); - VirtualStackSlot spillSlot = getResult().getFrameMapBuilder().allocateSpillSlot(LIRKind.value(kind)); - savedRegisterLocations[i] = spillSlot; + savedRegisterLocations[i] = allocateSaveRegisterLocation(savedRegisters[i]); } return emitSaveRegisters(savedRegisters, savedRegisterLocations, supportsRemove); }