Mercurial > hg > graal-compiler
comparison src/share/vm/code/nmethod.cpp @ 10475:3489047ffea2
Restructure the handling of HotSpotInstalledCode and their link to nmethods.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Fri, 21 Jun 2013 18:26:52 +0200 |
parents | 836a62f43af9 |
children | 0b1b5356b566 |
comparison
equal
deleted
inserted
replaced
10474:55827d611da7 | 10475:3489047ffea2 |
---|---|
1395 // The caller can be calling the method statically or through an inline | 1395 // The caller can be calling the method statically or through an inline |
1396 // cache call. | 1396 // cache call. |
1397 if (!is_osr_method() && !is_not_entrant()) { | 1397 if (!is_osr_method() && !is_not_entrant()) { |
1398 address stub = SharedRuntime::get_handle_wrong_method_stub(); | 1398 address stub = SharedRuntime::get_handle_wrong_method_stub(); |
1399 #ifdef GRAAL | 1399 #ifdef GRAAL |
1400 if (_graal_installed_code != NULL && !HotSpotNmethod::isDefault(_graal_installed_code)) { | 1400 if (_graal_installed_code != NULL) { |
1401 // This was manually installed machine code. Patch entry with stub that throws an exception. | 1401 // Break the link between nmethod and HotSpotInstalledCode such that the nmethod can subsequently be flushed safely. |
1402 stub = SharedRuntime::get_deoptimized_installed_code_stub(); | 1402 HotSpotInstalledCode::set_codeBlob(_graal_installed_code, 0); |
1403 _graal_installed_code = NULL; | |
1403 } | 1404 } |
1404 #endif | 1405 #endif |
1405 NativeJump::patch_verified_entry(entry_point(), verified_entry_point(), stub); | 1406 NativeJump::patch_verified_entry(entry_point(), verified_entry_point(), stub); |
1406 } | 1407 } |
1407 | 1408 |