--- old/src/share/vm/c1/c1_CodeStubs.hpp 2015-08-12 14:09:11.000000000 +0200 +++ new/src/share/vm/c1/c1_CodeStubs.hpp 2015-08-12 14:09:11.000000000 +0200 @@ -535,6 +535,29 @@ #endif // PRODUCT }; +class C1ThreadLocalSafepoint: public CodeStub { + private: + address _safepoint_pc; + bool _is_return; + + public: + C1ThreadLocalSafepoint(bool is_return) : _is_return(is_return) { } + + bool is_return() { return _is_return; } + + address safepoint_pc() { return _safepoint_pc; } + void set_safepoint_pc(address pc) { _safepoint_pc = pc; } + + virtual void emit_code(LIR_Assembler* e); + virtual void visit(LIR_OpVisitState* visitor) { + // don't pass in the code emit info since it's processed in the fast path + visitor->do_slow_case(); + } +#ifndef PRODUCT + virtual void print_name(outputStream* out) const { out->print("C1ThreadLocalSafepoint"); } +#endif // PRODUCT +}; + ////////////////////////////////////////////////////////////////////////////////////////// #if INCLUDE_ALL_GCS