src/share/vm/code/nmethod.cpp

changeset 6876
710a3c8b516e
parent 6680
78bbf4d43a14
parent 1
2d8a650513c2
child 7535
7ae4e26cb1e0
     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  

mercurial