src/cpu/zero/vm/cppInterpreter_zero.cpp

changeset 2781
e1162778c1c8
parent 2658
c7f3d0b4570f
child 2793
732454aaf5cb
equal deleted inserted replaced
2780:e6beb62de02d 2781:e1162778c1c8
735 return NULL; 735 return NULL;
736 736
737 return generate_entry((address) CppInterpreter::accessor_entry); 737 return generate_entry((address) CppInterpreter::accessor_entry);
738 } 738 }
739 739
740 address InterpreterGenerator::generate_Reference_get_entry(void) {
741 #ifndef SERIALGC
742 if (UseG1GC) {
743 // We need to generate have a routine that generates code to:
744 // * load the value in the referent field
745 // * passes that value to the pre-barrier.
746 //
747 // In the case of G1 this will record the value of the
748 // referent in an SATB buffer if marking is active.
749 // This will cause concurrent marking to mark the referent
750 // field as live.
751 Unimplemented();
752 }
753 #endif // SERIALGC
754
755 // If G1 is not enabled then attempt to go through the accessor entry point
756 // Reference.get is an accessor
757 return generate_accessor_entry();
758 }
759
740 address InterpreterGenerator::generate_native_entry(bool synchronized) { 760 address InterpreterGenerator::generate_native_entry(bool synchronized) {
741 assert(synchronized == false, "should be"); 761 assert(synchronized == false, "should be");
742 762
743 return generate_entry((address) CppInterpreter::native_entry); 763 return generate_entry((address) CppInterpreter::native_entry);
744 } 764 }
788 case Interpreter::java_lang_math_abs: 808 case Interpreter::java_lang_math_abs:
789 case Interpreter::java_lang_math_log: 809 case Interpreter::java_lang_math_log:
790 case Interpreter::java_lang_math_log10: 810 case Interpreter::java_lang_math_log10:
791 case Interpreter::java_lang_math_sqrt: 811 case Interpreter::java_lang_math_sqrt:
792 entry_point = ((InterpreterGenerator*) this)->generate_math_entry(kind); 812 entry_point = ((InterpreterGenerator*) this)->generate_math_entry(kind);
813 break;
814
815 case Interpreter::java_lang_ref_reference_get:
816 entry_point = ((InterpreterGenerator*)this)->generate_Reference_get_entry();
793 break; 817 break;
794 818
795 default: 819 default:
796 ShouldNotReachHere(); 820 ShouldNotReachHere();
797 } 821 }

mercurial