comparison src/share/vm/runtime/thread.hpp @ 11136:dbc0b5dc08f5

7143807: ResourceMark nesting problem in stringStream Reviewed-by: kvn, dcubed
author fparain
date Wed, 10 Jul 2013 15:49:15 +0000
parents f2110083203d
children e619a2766bcc
comparison
equal deleted inserted replaced
11105:22baec423e2f 11136:dbc0b5dc08f5
83 class jvmtiDeferredLocalVariableSet; 83 class jvmtiDeferredLocalVariableSet;
84 84
85 class GCTaskQueue; 85 class GCTaskQueue;
86 class ThreadClosure; 86 class ThreadClosure;
87 class IdealGraphPrinter; 87 class IdealGraphPrinter;
88
89 DEBUG_ONLY(class ResourceMark;)
88 90
89 class WorkerThread; 91 class WorkerThread;
90 92
91 // Class hierarchy 93 // Class hierarchy
92 // - Thread 94 // - Thread
529 OSThread* _osthread; // Platform-specific thread information 531 OSThread* _osthread; // Platform-specific thread information
530 532
531 // Thread local resource area for temporary allocation within the VM 533 // Thread local resource area for temporary allocation within the VM
532 ResourceArea* _resource_area; 534 ResourceArea* _resource_area;
533 535
536 DEBUG_ONLY(ResourceMark* _current_resource_mark;)
537
534 // Thread local handle area for allocation of handles within the VM 538 // Thread local handle area for allocation of handles within the VM
535 HandleArea* _handle_area; 539 HandleArea* _handle_area;
536 GrowableArray<Metadata*>* _metadata_handles; 540 GrowableArray<Metadata*>* _metadata_handles;
537 541
538 // Support for stack overflow handling, get_thread, etc. 542 // Support for stack overflow handling, get_thread, etc.
583 bool owns_locks() const { return owned_locks() != NULL; } 587 bool owns_locks() const { return owned_locks() != NULL; }
584 bool owns_locks_but_compiled_lock() const; 588 bool owns_locks_but_compiled_lock() const;
585 589
586 // Deadlock detection 590 // Deadlock detection
587 bool allow_allocation() { return _allow_allocation_count == 0; } 591 bool allow_allocation() { return _allow_allocation_count == 0; }
592 ResourceMark* current_resource_mark() { return _current_resource_mark; }
593 void set_current_resource_mark(ResourceMark* rm) { _current_resource_mark = rm; }
588 #endif 594 #endif
589 595
590 void check_for_valid_safepoint_state(bool potential_vm_operation) PRODUCT_RETURN; 596 void check_for_valid_safepoint_state(bool potential_vm_operation) PRODUCT_RETURN;
591 597
592 private: 598 private: