diff -r e6aa4a8c1b46 -r 7ae4e26cb1e0 src/share/vm/code/nmethod.cpp --- a/src/share/vm/code/nmethod.cpp Mon Mar 16 11:49:32 2015 -0700 +++ b/src/share/vm/code/nmethod.cpp Thu Oct 12 21:27:07 2017 +0800 @@ -22,6 +22,12 @@ * */ +/* + * This file has been modified by Loongson Technology in 2015. These + * modifications are Copyright (c) 2015 Loongson Technology, and are made + * available on the same license terms set forth above. + */ + #include "precompiled.hpp" #include "code/codeCache.hpp" #include "code/compiledIC.hpp" @@ -1159,7 +1165,7 @@ // not-entrant methods. address low_boundary = verified_entry_point(); if (!is_in_use()) { - low_boundary += NativeJump::instruction_size; + low_boundary += NOT_MIPS64(NativeJump)MIPS64_ONLY(NativeGeneralJump)::instruction_size; // %%% Note: On SPARC we patch only a 4-byte trap, not a full NativeJump. // This means that the low_boundary is going to be a little too high. // This shouldn't matter, since oops of non-entrant methods are never used. @@ -1206,7 +1212,7 @@ // not-entrant methods. address low_boundary = verified_entry_point(); if (!is_in_use()) { - low_boundary += NativeJump::instruction_size; + low_boundary += NOT_MIPS64(NativeJump)MIPS64_ONLY(NativeGeneralJump)::instruction_size; // %%% Note: On SPARC we patch only a 4-byte trap, not a full NativeJump. // This means that the low_boundary is going to be a little too high. // This shouldn't matter, since oops of non-entrant methods are never used. @@ -1451,7 +1457,7 @@ // The caller can be calling the method statically or through an inline // cache call. if (!is_osr_method() && !is_not_entrant()) { - NativeJump::patch_verified_entry(entry_point(), verified_entry_point(), + NOT_MIPS64(NativeJump)MIPS64_ONLY(NativeGeneralJump)::patch_verified_entry(entry_point(), verified_entry_point(), SharedRuntime::get_handle_wrong_method_stub()); } @@ -1774,7 +1780,7 @@ // not-entrant methods. address low_boundary = verified_entry_point(); if (is_not_entrant()) { - low_boundary += NativeJump::instruction_size; + low_boundary += NOT_MIPS64(NativeJump)MIPS64_ONLY(NativeGeneralJump)::instruction_size; // %%% Note: On SPARC we patch only a 4-byte trap, not a full NativeJump. // (See comment above.) } @@ -1930,7 +1936,7 @@ // not-entrant methods. address low_boundary = verified_entry_point(); if (is_not_entrant()) { - low_boundary += NativeJump::instruction_size; + low_boundary += NOT_MIPS64(NativeJump)MIPS64_ONLY(NativeGeneralJump)::instruction_size; // %%% Note: On SPARC we patch only a 4-byte trap, not a full NativeJump. // (See comment above.) } @@ -2033,7 +2039,7 @@ // not-entrant methods. address low_boundary = verified_entry_point(); if (is_not_entrant()) { - low_boundary += NativeJump::instruction_size; + low_boundary += NOT_MIPS64(NativeJump)MIPS64_ONLY(NativeGeneralJump)::instruction_size; // %%% Note: On SPARC we patch only a 4-byte trap, not a full NativeJump. // (See comment above.) } @@ -2134,7 +2140,7 @@ void nmethod::metadata_do(void f(Metadata*)) { address low_boundary = verified_entry_point(); if (is_not_entrant()) { - low_boundary += NativeJump::instruction_size; + low_boundary += NOT_MIPS64(NativeJump)MIPS64_ONLY(NativeGeneralJump)::instruction_size; // %%% Note: On SPARC we patch only a 4-byte trap, not a full NativeJump. // (See comment above.) } @@ -2193,7 +2199,7 @@ // not-entrant methods. address low_boundary = verified_entry_point(); if (is_not_entrant()) { - low_boundary += NativeJump::instruction_size; + low_boundary += NOT_MIPS64(NativeJump)MIPS64_ONLY(NativeGeneralJump)::instruction_size; // %%% Note: On SPARC we patch only a 4-byte trap, not a full NativeJump. // (See comment above.) } @@ -2699,7 +2705,7 @@ return; // Make sure all the entry points are correctly aligned for patching. - NativeJump::check_verified_entry_alignment(entry_point(), verified_entry_point()); + NOT_MIPS64(NativeJump)MIPS64_ONLY(NativeGeneralJump)::check_verified_entry_alignment(entry_point(), verified_entry_point()); // assert(method()->is_oop(), "must be valid");