Mercurial > hg > graal-compiler
comparison src/share/vm/ci/ciMethod.cpp @ 991:3a2aa26bdc58
6854812: 6.0_14-b08 crashes with a SIGSEGV
Reviewed-by: kvn, twisti
author | never |
---|---|
date | Wed, 16 Sep 2009 11:06:10 -0700 |
parents | c96bf21b756f |
children | 97125851f396 |
comparison
equal
deleted
inserted
replaced
990:be094e0c089a | 991:3a2aa26bdc58 |
---|---|
323 return NULL; | 323 return NULL; |
324 #endif // COMPILER2 | 324 #endif // COMPILER2 |
325 } | 325 } |
326 | 326 |
327 // ------------------------------------------------------------------ | 327 // ------------------------------------------------------------------ |
328 // ciMethod::liveness_at_bci | 328 // ciMethod::raw_liveness_at_bci |
329 // | 329 // |
330 // Which local variables are live at a specific bci? | 330 // Which local variables are live at a specific bci? |
331 MethodLivenessResult ciMethod::liveness_at_bci(int bci) { | 331 MethodLivenessResult ciMethod::raw_liveness_at_bci(int bci) { |
332 check_is_loaded(); | 332 check_is_loaded(); |
333 if (_liveness == NULL) { | 333 if (_liveness == NULL) { |
334 // Create the liveness analyzer. | 334 // Create the liveness analyzer. |
335 Arena* arena = CURRENT_ENV->arena(); | 335 Arena* arena = CURRENT_ENV->arena(); |
336 _liveness = new (arena) MethodLiveness(arena, this); | 336 _liveness = new (arena) MethodLiveness(arena, this); |
337 _liveness->compute_liveness(); | 337 _liveness->compute_liveness(); |
338 } | 338 } |
339 MethodLivenessResult result = _liveness->get_liveness_at(bci); | 339 return _liveness->get_liveness_at(bci); |
340 } | |
341 | |
342 // ------------------------------------------------------------------ | |
343 // ciMethod::liveness_at_bci | |
344 // | |
345 // Which local variables are live at a specific bci? When debugging | |
346 // will return true for all locals in some cases to improve debug | |
347 // information. | |
348 MethodLivenessResult ciMethod::liveness_at_bci(int bci) { | |
349 MethodLivenessResult result = raw_liveness_at_bci(bci); | |
340 if (CURRENT_ENV->jvmti_can_access_local_variables() || DeoptimizeALot || CompileTheWorld) { | 350 if (CURRENT_ENV->jvmti_can_access_local_variables() || DeoptimizeALot || CompileTheWorld) { |
341 // Keep all locals live for the user's edification and amusement. | 351 // Keep all locals live for the user's edification and amusement. |
342 result.at_put_range(0, result.size(), true); | 352 result.at_put_range(0, result.size(), true); |
343 } | 353 } |
344 return result; | 354 return result; |