Mercurial > hg > truffle
comparison src/share/vm/code/nmethod.cpp @ 4320:125678ef7587
Fix compiled method unloading.
author | Andreas Woess <andreas.woess@jku.at> |
---|---|
date | Wed, 25 Jan 2012 14:09:59 +0100 |
parents | 04b9a2566eec |
children | 723df37192d6 35ca3ade314d |
comparison
equal
deleted
inserted
replaced
4319:3c21eee8ab4d | 4320:125678ef7587 |
---|---|
1233 if (_method->code() == this) { | 1233 if (_method->code() == this) { |
1234 _method->clear_code(); // Break a cycle | 1234 _method->clear_code(); // Break a cycle |
1235 } | 1235 } |
1236 _method = NULL; // Clear the method of this dead nmethod | 1236 _method = NULL; // Clear the method of this dead nmethod |
1237 } | 1237 } |
1238 | |
1239 #ifdef GRAAL | |
1240 if (_graal_compiled_method != NULL) { | |
1241 HotSpotCompiledMethod::set_nmethod(_graal_compiled_method, 0); | |
1242 _graal_compiled_method = NULL; | |
1243 } | |
1244 #endif | |
1245 | |
1238 // Make the class unloaded - i.e., change state and notify sweeper | 1246 // Make the class unloaded - i.e., change state and notify sweeper |
1239 assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint"); | 1247 assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint"); |
1240 if (is_in_use()) { | 1248 if (is_in_use()) { |
1241 // Transitioning directly from live to unloaded -- so | 1249 // Transitioning directly from live to unloaded -- so |
1242 // we need to force a cache clean-up; remember this | 1250 // we need to force a cache clean-up; remember this |