1.1 --- a/src/share/vm/code/nmethod.cpp Mon Sep 08 12:35:01 2014 -0700 1.2 +++ b/src/share/vm/code/nmethod.cpp Tue Aug 08 15:57:29 2017 +0800 1.3 @@ -22,6 +22,12 @@ 1.4 * 1.5 */ 1.6 1.7 +/* 1.8 + * This file has been modified by Loongson Technology in 2015. These 1.9 + * modifications are Copyright (c) 2015 Loongson Technology, and are made 1.10 + * available on the same license terms set forth above. 1.11 + */ 1.12 + 1.13 #include "precompiled.hpp" 1.14 #include "code/codeCache.hpp" 1.15 #include "code/compiledIC.hpp" 1.16 @@ -1142,7 +1148,7 @@ 1.17 // not-entrant methods. 1.18 address low_boundary = verified_entry_point(); 1.19 if (!is_in_use()) { 1.20 - low_boundary += NativeJump::instruction_size; 1.21 + low_boundary += NOT_MIPS64(NativeJump)MIPS64_ONLY(NativeGeneralJump)::instruction_size; 1.22 // %%% Note: On SPARC we patch only a 4-byte trap, not a full NativeJump. 1.23 // This means that the low_boundary is going to be a little too high. 1.24 // This shouldn't matter, since oops of non-entrant methods are never used. 1.25 @@ -1342,7 +1348,7 @@ 1.26 // The caller can be calling the method statically or through an inline 1.27 // cache call. 1.28 if (!is_osr_method() && !is_not_entrant()) { 1.29 - NativeJump::patch_verified_entry(entry_point(), verified_entry_point(), 1.30 + NOT_MIPS64(NativeJump)MIPS64_ONLY(NativeGeneralJump)::patch_verified_entry(entry_point(), verified_entry_point(), 1.31 SharedRuntime::get_handle_wrong_method_stub()); 1.32 } 1.33 1.34 @@ -1626,7 +1632,7 @@ 1.35 // not-entrant methods. 1.36 address low_boundary = verified_entry_point(); 1.37 if (is_not_entrant()) { 1.38 - low_boundary += NativeJump::instruction_size; 1.39 + low_boundary += NOT_MIPS64(NativeJump)MIPS64_ONLY(NativeGeneralJump)::instruction_size; 1.40 // %%% Note: On SPARC we patch only a 4-byte trap, not a full NativeJump. 1.41 // (See comment above.) 1.42 } 1.43 @@ -1800,7 +1806,7 @@ 1.44 void nmethod::metadata_do(void f(Metadata*)) { 1.45 address low_boundary = verified_entry_point(); 1.46 if (is_not_entrant()) { 1.47 - low_boundary += NativeJump::instruction_size; 1.48 + low_boundary += NOT_MIPS64(NativeJump)MIPS64_ONLY(NativeGeneralJump)::instruction_size; 1.49 // %%% Note: On SPARC we patch only a 4-byte trap, not a full NativeJump. 1.50 // (See comment above.) 1.51 } 1.52 @@ -1859,7 +1865,7 @@ 1.53 // not-entrant methods. 1.54 address low_boundary = verified_entry_point(); 1.55 if (is_not_entrant()) { 1.56 - low_boundary += NativeJump::instruction_size; 1.57 + low_boundary += NOT_MIPS64(NativeJump)MIPS64_ONLY(NativeGeneralJump)::instruction_size; 1.58 // %%% Note: On SPARC we patch only a 4-byte trap, not a full NativeJump. 1.59 // (See comment above.) 1.60 } 1.61 @@ -2365,7 +2371,7 @@ 1.62 return; 1.63 1.64 // Make sure all the entry points are correctly aligned for patching. 1.65 - NativeJump::check_verified_entry_alignment(entry_point(), verified_entry_point()); 1.66 + NOT_MIPS64(NativeJump)MIPS64_ONLY(NativeGeneralJump)::check_verified_entry_alignment(entry_point(), verified_entry_point()); 1.67 1.68 // assert(method()->is_oop(), "must be valid"); 1.69