comparison graal/GraalCompiler/src/com/sun/c1x/alloc/LinearScan.java @ 2833:1cd59ca9ac86

Removed Throw HIR instruction. Removed special handling for exceptions in register allocator.
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Tue, 31 May 2011 13:30:23 +0200
parents 775c31be565c
children 7596ae867a7b
comparison
equal deleted inserted replaced
2832:775c31be565c 2833:1cd59ca9ac86
744 int iterationCount = 0; 744 int iterationCount = 0;
745 CiBitMap liveOut = new CiBitMap(liveSetSize()); // scratch set for calculations 745 CiBitMap liveOut = new CiBitMap(liveSetSize()); // scratch set for calculations
746 746
747 // Perform a backward dataflow analysis to compute liveOut and liveIn for each block. 747 // Perform a backward dataflow analysis to compute liveOut and liveIn for each block.
748 // The loop is executed until a fixpoint is reached (no changes in an iteration) 748 // The loop is executed until a fixpoint is reached (no changes in an iteration)
749 // Exception handlers must be processed because not all live values are
750 // present in the state array, e.g. because of global value numbering
751 do { 749 do {
752 changeOccurred = false; 750 changeOccurred = false;
753 751
754 // iterate all blocks in reverse order 752 // iterate all blocks in reverse order
755 for (int i = numBlocks - 1; i >= 0; i--) { 753 for (int i = numBlocks - 1; i >= 0; i--) {
1972 } 1970 }
1973 } 1971 }
1974 } 1972 }
1975 1973
1976 if (op.info != null) { 1974 if (op.info != null) {
1977 // exception handling
1978 // if (compilation.hasExceptionHandlers()) {
1979 // if (op.exceptionEdge() != null && op.exceptionEdge().lir() != null) {
1980 // assignLocations(op.exceptionEdge().lir().instructionsList(), iw);
1981 // }
1982 // }
1983
1984 // compute reference map and debug information 1975 // compute reference map and debug information
1985 computeDebugInfo(iw, op); 1976 computeDebugInfo(iw, op);
1986 } 1977 }
1987 1978
1988 // make sure we haven't made the op invalid. 1979 // make sure we haven't made the op invalid.