281 ~NoHandleMark(); 282 #else 283 NoHandleMark() {} 284 ~NoHandleMark() {} 285 #endif 286 }; 287 288 289 class ResetNoHandleMark: public StackObj { 290 int _no_handle_mark_nesting; 291 public: 292 #ifdef ASSERT 293 ResetNoHandleMark(); 294 ~ResetNoHandleMark(); 295 #else 296 ResetNoHandleMark() {} 297 ~ResetNoHandleMark() {} 298 #endif 299 }; 300 301 #endif // SHARE_VM_RUNTIME_HANDLES_HPP | 281 ~NoHandleMark(); 282 #else 283 NoHandleMark() {} 284 ~NoHandleMark() {} 285 #endif 286 }; 287 288 289 class ResetNoHandleMark: public StackObj { 290 int _no_handle_mark_nesting; 291 public: 292 #ifdef ASSERT 293 ResetNoHandleMark(); 294 ~ResetNoHandleMark(); 295 #else 296 ResetNoHandleMark() {} 297 ~ResetNoHandleMark() {} 298 #endif 299 }; 300 301 // The HandleMarkCleaner is a faster version of HandleMark. 302 // It relies on the fact that there is a HandleMark further 303 // down the stack (in JavaCalls::call_helper), and just resets 304 // to the saved values in that HandleMark. 305 306 class HandleMarkCleaner: public StackObj { 307 private: 308 Thread* _thread; 309 public: 310 inline HandleMarkCleaner(Thread* thread); 311 inline ~HandleMarkCleaner(); 312 }; 313 314 #endif // SHARE_VM_RUNTIME_HANDLES_HPP |