Mercurial > hg > truffle
comparison graal/GraalCompiler/src/com/sun/c1x/alloc/LinearScan.java @ 2866:7f14e6b48a9c
added dead code elimination
added ValueAnchor (temp workaround)
more inlining logic (now uses DCE)
IdealGraphPrinter: print even if Scheduler fails
added inlining and DCE tracing options to C1XOptions
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Tue, 07 Jun 2011 16:27:08 +0200 |
parents | 7596ae867a7b |
children |
comparison
equal
deleted
inserted
replaced
2845:e55543ff91fd | 2866:7f14e6b48a9c |
---|---|
1896 if (compilation.runtime.sizeOfBasicObjectLock() != 0) { | 1896 if (compilation.runtime.sizeOfBasicObjectLock() != 0) { |
1897 CiStackSlot monitorAddress = frameMap.toMonitorBaseStackAddress(i); | 1897 CiStackSlot monitorAddress = frameMap.toMonitorBaseStackAddress(i); |
1898 values[valueIndex++] = monitorAddress; | 1898 values[valueIndex++] = monitorAddress; |
1899 assert frameRefMap != null; | 1899 assert frameRefMap != null; |
1900 CiStackSlot objectAddress = frameMap.toMonitorObjectStackAddress(i); | 1900 CiStackSlot objectAddress = frameMap.toMonitorObjectStackAddress(i); |
1901 LIRDebugInfo.setBit(frameRefMap, objectAddress.index()); | 1901 // LIRDebugInfo.setBit(frameRefMap, objectAddress.index()); |
1902 frameRefMap.set(objectAddress.index()); | |
1902 } else { | 1903 } else { |
1903 Value lock = state.lockAt(i); | 1904 Value lock = state.lockAt(i); |
1904 if (lock.isConstant() && compilation.runtime.asJavaClass(lock.asConstant()) != null) { | 1905 if (lock.isConstant() && compilation.runtime.asJavaClass(lock.asConstant()) != null) { |
1905 // lock on class for synchronized static method | 1906 // lock on class for synchronized static method |
1906 values[valueIndex++] = lock.asConstant(); | 1907 values[valueIndex++] = lock.asConstant(); |