src/cpu/x86/vm/cppInterpreter_x86.cpp

changeset 2781
e1162778c1c8
parent 2552
638119ce7cfd
child 2901
3d2ab563047a
     1.1 --- a/src/cpu/x86/vm/cppInterpreter_x86.cpp	Tue Apr 05 19:14:03 2011 -0700
     1.2 +++ b/src/cpu/x86/vm/cppInterpreter_x86.cpp	Thu Apr 07 09:53:20 2011 -0700
     1.3 @@ -936,6 +936,26 @@
     1.4  
     1.5  }
     1.6  
     1.7 +address InterpreterGenerator::generate_Reference_get_entry(void) {
     1.8 +#ifndef SERIALGC
     1.9 +  if (UseG1GC) {
    1.10 +    // We need to generate have a routine that generates code to:
    1.11 +    //   * load the value in the referent field
    1.12 +    //   * passes that value to the pre-barrier.
    1.13 +    //
    1.14 +    // In the case of G1 this will record the value of the
    1.15 +    // referent in an SATB buffer if marking is active.
    1.16 +    // This will cause concurrent marking to mark the referent
    1.17 +    // field as live.
    1.18 +    Unimplemented();
    1.19 +  }
    1.20 +#endif // SERIALGC
    1.21 +
    1.22 +  // If G1 is not enabled then attempt to go through the accessor entry point
    1.23 +  // Reference.get is an accessor
    1.24 +  return generate_accessor_entry();
    1.25 +}
    1.26 +
    1.27  //
    1.28  // C++ Interpreter stub for calling a native method.
    1.29  // This sets up a somewhat different looking stack for calling the native method
    1.30 @@ -2210,6 +2230,8 @@
    1.31      case Interpreter::java_lang_math_log     : // fall thru
    1.32      case Interpreter::java_lang_math_log10   : // fall thru
    1.33      case Interpreter::java_lang_math_sqrt    : entry_point = ((InterpreterGenerator*)this)->generate_math_entry(kind);     break;
    1.34 +    case Interpreter::java_lang_ref_reference_get
    1.35 +                                             : entry_point = ((InterpreterGenerator*)this)->generate_Reference_get_entry(); break;
    1.36      default                                  : ShouldNotReachHere();                                                       break;
    1.37    }
    1.38  

mercurial