comparison src/share/vm/opto/parse2.cpp @ 10408:836a62f43af9

Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/
author Doug Simon <doug.simon@oracle.com>
date Wed, 19 Jun 2013 10:45:56 +0200
parents 6f3fd5150b67
children f478c98e8114
comparison
equal deleted inserted replaced
10086:e0fb8a213650 10408:836a62f43af9
985 // the path may be cold again. Make sure it doesn't look untaken 985 // the path may be cold again. Make sure it doesn't look untaken
986 profile_taken_branch(target_bci, !ProfileInterpreter); 986 profile_taken_branch(target_bci, !ProfileInterpreter);
987 uncommon_trap(Deoptimization::Reason_unreached, 987 uncommon_trap(Deoptimization::Reason_unreached,
988 Deoptimization::Action_reinterpret, 988 Deoptimization::Action_reinterpret,
989 NULL, "cold"); 989 NULL, "cold");
990 if (EliminateAutoBox) { 990 if (C->eliminate_boxing()) {
991 // Mark the successor blocks as parsed 991 // Mark the successor blocks as parsed
992 branch_block->next_path_num(); 992 branch_block->next_path_num();
993 next_block->next_path_num(); 993 next_block->next_path_num();
994 } 994 }
995 return; 995 return;
1010 Node* iftrue = _gvn.transform( new (C) IfTrueNode (iff) ); 1010 Node* iftrue = _gvn.transform( new (C) IfTrueNode (iff) );
1011 set_control(iftrue); 1011 set_control(iftrue);
1012 1012
1013 if (stopped()) { // Path is dead? 1013 if (stopped()) { // Path is dead?
1014 explicit_null_checks_elided++; 1014 explicit_null_checks_elided++;
1015 if (EliminateAutoBox) { 1015 if (C->eliminate_boxing()) {
1016 // Mark the successor block as parsed 1016 // Mark the successor block as parsed
1017 branch_block->next_path_num(); 1017 branch_block->next_path_num();
1018 } 1018 }
1019 } else { // Path is live. 1019 } else { // Path is live.
1020 // Update method data 1020 // Update method data
1030 Node* iffalse = _gvn.transform( new (C) IfFalseNode(iff) ); 1030 Node* iffalse = _gvn.transform( new (C) IfFalseNode(iff) );
1031 set_control(iffalse); 1031 set_control(iffalse);
1032 1032
1033 if (stopped()) { // Path is dead? 1033 if (stopped()) { // Path is dead?
1034 explicit_null_checks_elided++; 1034 explicit_null_checks_elided++;
1035 if (EliminateAutoBox) { 1035 if (C->eliminate_boxing()) {
1036 // Mark the successor block as parsed 1036 // Mark the successor block as parsed
1037 next_block->next_path_num(); 1037 next_block->next_path_num();
1038 } 1038 }
1039 } else { // Path is live. 1039 } else { // Path is live.
1040 // Update method data 1040 // Update method data
1067 // the path may be cold again. Make sure it doesn't look untaken 1067 // the path may be cold again. Make sure it doesn't look untaken
1068 profile_taken_branch(target_bci, !ProfileInterpreter); 1068 profile_taken_branch(target_bci, !ProfileInterpreter);
1069 uncommon_trap(Deoptimization::Reason_unreached, 1069 uncommon_trap(Deoptimization::Reason_unreached,
1070 Deoptimization::Action_reinterpret, 1070 Deoptimization::Action_reinterpret,
1071 NULL, "cold"); 1071 NULL, "cold");
1072 if (EliminateAutoBox) { 1072 if (C->eliminate_boxing()) {
1073 // Mark the successor blocks as parsed 1073 // Mark the successor blocks as parsed
1074 branch_block->next_path_num(); 1074 branch_block->next_path_num();
1075 next_block->next_path_num(); 1075 next_block->next_path_num();
1076 } 1076 }
1077 return; 1077 return;
1133 { PreserveJVMState pjvms(this); 1133 { PreserveJVMState pjvms(this);
1134 taken_branch = _gvn.transform(taken_branch); 1134 taken_branch = _gvn.transform(taken_branch);
1135 set_control(taken_branch); 1135 set_control(taken_branch);
1136 1136
1137 if (stopped()) { 1137 if (stopped()) {
1138 if (EliminateAutoBox) { 1138 if (C->eliminate_boxing()) {
1139 // Mark the successor block as parsed 1139 // Mark the successor block as parsed
1140 branch_block->next_path_num(); 1140 branch_block->next_path_num();
1141 } 1141 }
1142 } else { 1142 } else {
1143 // Update method data 1143 // Update method data
1152 untaken_branch = _gvn.transform(untaken_branch); 1152 untaken_branch = _gvn.transform(untaken_branch);
1153 set_control(untaken_branch); 1153 set_control(untaken_branch);
1154 1154
1155 // Branch not taken. 1155 // Branch not taken.
1156 if (stopped()) { 1156 if (stopped()) {
1157 if (EliminateAutoBox) { 1157 if (C->eliminate_boxing()) {
1158 // Mark the successor block as parsed 1158 // Mark the successor block as parsed
1159 next_block->next_path_num(); 1159 next_block->next_path_num();
1160 } 1160 }
1161 } else { 1161 } else {
1162 // Update method data 1162 // Update method data