Mercurial > hg > graal-jvmci-8
comparison src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp @ 933:cdb8b7c37ac1
6875329: fix for 6795465 broke exception handler cloning
Reviewed-by: kvn
author | never |
---|---|
date | Mon, 24 Aug 2009 22:26:15 -0700 |
parents | d0acbc302e14 |
children | 148e5441d916 a0107ba3bc53 |
comparison
equal
deleted
inserted
replaced
932:82bd76d4d7f2 | 933:cdb8b7c37ac1 |
---|---|
948 LIRItem* size = new LIRItem(dims->at(i), this); | 948 LIRItem* size = new LIRItem(dims->at(i), this); |
949 items->at_put(i, size); | 949 items->at_put(i, size); |
950 } | 950 } |
951 | 951 |
952 // Evaluate state_for early since it may emit code. | 952 // Evaluate state_for early since it may emit code. |
953 CodeEmitInfo* info = state_for(x, x->state()); | |
954 CodeEmitInfo* patching_info = NULL; | 953 CodeEmitInfo* patching_info = NULL; |
955 if (!x->klass()->is_loaded() || PatchALot) { | 954 if (!x->klass()->is_loaded() || PatchALot) { |
956 patching_info = state_for(x, x->state_before()); | 955 patching_info = state_for(x, x->state_before()); |
957 | 956 |
958 // cannot re-use same xhandlers for multiple CodeEmitInfos, so | 957 // cannot re-use same xhandlers for multiple CodeEmitInfos, so |
959 // clone all handlers. | 958 // clone all handlers. This is handled transparently in other |
959 // places by the CodeEmitInfo cloning logic but is handled | |
960 // specially here because a stub isn't being used. | |
960 x->set_exception_handlers(new XHandlers(x->exception_handlers())); | 961 x->set_exception_handlers(new XHandlers(x->exception_handlers())); |
961 } | 962 } |
963 CodeEmitInfo* info = state_for(x, x->state()); | |
962 | 964 |
963 i = dims->length(); | 965 i = dims->length(); |
964 while (i-- > 0) { | 966 while (i-- > 0) { |
965 LIRItem* size = items->at(i); | 967 LIRItem* size = items->at(i); |
966 size->load_item(); | 968 size->load_item(); |