< prev index next >

src/share/vm/runtime/thread.hpp

Print this page
rev 8910 : full patch for jfr

*** 1,7 **** /* ! * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 193,203 **** _external_suspend = 0x20000000U, // thread is asked to self suspend _ext_suspended = 0x40000000U, // thread has self-suspended _deopt_suspend = 0x10000000U, // thread needs to self suspend for deopt _has_async_exception = 0x00000001U, // there is a pending async exception ! _critical_native_unlock = 0x00000002U // Must call back to unlock JNI critical lock }; // various suspension related flags - atomically updated // overloaded for async exception checking in check_special_condition_for_native_trans. volatile uint32_t _suspend_flags; --- 193,204 ---- _external_suspend = 0x20000000U, // thread is asked to self suspend _ext_suspended = 0x40000000U, // thread has self-suspended _deopt_suspend = 0x10000000U, // thread needs to self suspend for deopt _has_async_exception = 0x00000001U, // there is a pending async exception ! _critical_native_unlock = 0x00000002U, // Must call back to unlock JNI critical lock ! _trace_flag = 0x00000004U // call tracing backend }; // various suspension related flags - atomically updated // overloaded for async exception checking in check_special_condition_for_native_trans. volatile uint32_t _suspend_flags;
*** 258,268 **** // the Java heap // Thread-local buffer used by MetadataOnStackMark. MetadataOnStackBuffer* _metadata_on_stack_buffer; ! TRACE_DATA _trace_data; // Thread-local data for tracing ThreadExt _ext; int _vm_operation_started_count; // VM_Operation support int _vm_operation_completed_count; // VM_Operation support --- 259,269 ---- // the Java heap // Thread-local buffer used by MetadataOnStackMark. MetadataOnStackBuffer* _metadata_on_stack_buffer; ! mutable TRACE_DATA _trace_data; // Thread-local data for tracing ThreadExt _ext; int _vm_operation_started_count; // VM_Operation support int _vm_operation_completed_count; // VM_Operation support
*** 381,390 **** --- 382,399 ---- } void clear_critical_native_unlock() { clear_suspend_flag(_critical_native_unlock); } + void set_trace_flag() { + set_suspend_flag(_trace_flag); + } + + void clear_trace_flag() { + clear_suspend_flag(_trace_flag); + } + // Support for Unhandled Oop detection #ifdef CHECK_UNHANDLED_OOPS private: UnhandledOops* _unhandled_oops; public:
*** 439,449 **** jlong allocated_bytes() { return _allocated_bytes; } void set_allocated_bytes(jlong value) { _allocated_bytes = value; } void incr_allocated_bytes(jlong size) { _allocated_bytes += size; } inline jlong cooked_allocated_bytes(); ! TRACE_DATA* trace_data() { return &_trace_data; } const ThreadExt& ext() const { return _ext; } ThreadExt& ext() { return _ext; } // VM operation support --- 448,460 ---- jlong allocated_bytes() { return _allocated_bytes; } void set_allocated_bytes(jlong value) { _allocated_bytes = value; } void incr_allocated_bytes(jlong size) { _allocated_bytes += size; } inline jlong cooked_allocated_bytes(); ! TRACE_DEFINE_THREAD_TRACE_DATA_OFFSET; ! TRACE_DATA* trace_data() const { return &_trace_data; } ! bool is_trace_suspend() { return (_suspend_flags & _trace_flag) != 0; } const ThreadExt& ext() const { return _ext; } ThreadExt& ext() { return _ext; } // VM operation support
< prev index next >