Mercurial > hg > graal-compiler
comparison src/share/vm/oops/method.cpp @ 7470:18c3c3fa291b
Merge
author | dlong |
---|---|
date | Wed, 09 Jan 2013 21:18:52 -0500 |
parents | ade95d680b42 0c8717a92b2d |
children | 989155e2d07a 5daaddd917a1 6a51fc70a15e |
comparison
equal
deleted
inserted
replaced
7467:1f6d10b4cc0c | 7470:18c3c3fa291b |
---|---|
192 } | 192 } |
193 | 193 |
194 return buf; | 194 return buf; |
195 } | 195 } |
196 | 196 |
197 int Method::fast_exception_handler_bci_for(KlassHandle ex_klass, int throw_bci, TRAPS) { | 197 int Method::fast_exception_handler_bci_for(methodHandle mh, KlassHandle ex_klass, int throw_bci, TRAPS) { |
198 // exception table holds quadruple entries of the form (beg_bci, end_bci, handler_bci, klass_index) | 198 // exception table holds quadruple entries of the form (beg_bci, end_bci, handler_bci, klass_index) |
199 // access exception table | 199 // access exception table |
200 ExceptionTable table(this); | 200 ExceptionTable table(mh()); |
201 int length = table.length(); | 201 int length = table.length(); |
202 // iterate through all entries sequentially | 202 // iterate through all entries sequentially |
203 constantPoolHandle pool(THREAD, constants()); | 203 constantPoolHandle pool(THREAD, mh->constants()); |
204 for (int i = 0; i < length; i ++) { | 204 for (int i = 0; i < length; i ++) { |
205 //reacquire the table in case a GC happened | 205 //reacquire the table in case a GC happened |
206 ExceptionTable table(this); | 206 ExceptionTable table(mh()); |
207 int beg_bci = table.start_pc(i); | 207 int beg_bci = table.start_pc(i); |
208 int end_bci = table.end_pc(i); | 208 int end_bci = table.end_pc(i); |
209 assert(beg_bci <= end_bci, "inconsistent exception table"); | 209 assert(beg_bci <= end_bci, "inconsistent exception table"); |
210 if (beg_bci <= throw_bci && throw_bci < end_bci) { | 210 if (beg_bci <= throw_bci && throw_bci < end_bci) { |
211 // exception handler bci range covers throw_bci => investigate further | 211 // exception handler bci range covers throw_bci => investigate further |