equal
deleted
inserted
replaced
549 return entry; |
549 return entry; |
550 } |
550 } |
551 return NULL; |
551 return NULL; |
552 } |
552 } |
553 |
553 |
|
554 address InterpreterGenerator::generate_Reference_get_entry(void) { |
|
555 #ifndef SERIALGC |
|
556 if (UseG1GC) { |
|
557 // We need to generate have a routine that generates code to: |
|
558 // * load the value in the referent field |
|
559 // * passes that value to the pre-barrier. |
|
560 // |
|
561 // In the case of G1 this will record the value of the |
|
562 // referent in an SATB buffer if marking is active. |
|
563 // This will cause concurrent marking to mark the referent |
|
564 // field as live. |
|
565 Unimplemented(); |
|
566 } |
|
567 #endif // SERIALGC |
|
568 |
|
569 // If G1 is not enabled then attempt to go through the accessor entry point |
|
570 // Reference.get is an accessor |
|
571 return generate_accessor_entry(); |
|
572 } |
|
573 |
554 // |
574 // |
555 // Interpreter stub for calling a native method. (C++ interpreter) |
575 // Interpreter stub for calling a native method. (C++ interpreter) |
556 // This sets up a somewhat different looking stack for calling the native method |
576 // This sets up a somewhat different looking stack for calling the native method |
557 // than the typical interpreter frame setup. |
577 // than the typical interpreter frame setup. |
558 // |
578 // |