Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v9]

2022-09-08 Thread Axel Boldt-Christmas
On Mon, 29 Aug 2022 08:35:58 GMT, Axel Boldt-Christmas wrote: >> The proposal is to encapsulate the nmethod mark for deoptimization logic in >> one place and only allow access to the `mark_for_deoptimization` from a >> closure object: >> ```C++ >> class DeoptimizationMarkerClosure : StackObj {

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v9]

2022-08-29 Thread Axel Boldt-Christmas
> The proposal is to encapsulate the nmethod mark for deoptimization logic in > one place and only allow access to the `mark_for_deoptimization` from a > closure object: > ```C++ > class DeoptimizationMarkerClosure : StackObj { > public: > virtual void marker_do(Deoptimization::MarkFn mark_fn)

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v7]

2022-08-26 Thread Coleen Phillimore
On Fri, 26 Aug 2022 09:25:52 GMT, Axel Boldt-Christmas wrote: >> Maybe this is ok, but I want to look at it more. The reason these functions >> started out in codeCache is because they looked like other functions in >> codeCache. > > The encapsulation is about defining an API for deoptimizati

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v7]

2022-08-26 Thread Axel Boldt-Christmas
On Thu, 25 Aug 2022 22:20:43 GMT, Coleen Phillimore wrote: >> src/hotspot/share/prims/jvmtiRedefineClasses.cpp line 4157: >> >>> 4155: } >>> 4156: } >>> 4157: log_debug(redefine, class, nmethod)("Enqueued all nmethods for >>> deopt"); >> >> This seems to do the opposite of encaps

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v8]

2022-08-26 Thread Axel Boldt-Christmas
> The proposal is to encapsulate the nmethod mark for deoptimization logic in > one place and only allow access to the `mark_for_deoptimization` from a > closure object: > ```C++ > class DeoptimizationMarkerClosure : StackObj { > public: > virtual void marker_do(Deoptimization::MarkFn mark_fn)

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v7]

2022-08-25 Thread Coleen Phillimore
On Thu, 25 Aug 2022 22:04:47 GMT, Coleen Phillimore wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Add context active assert > > src/hotspot/share/prims/jvmtiRedefineClasses.cpp line 4157: > >> 4155:

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v7]

2022-08-25 Thread Coleen Phillimore
On Fri, 19 Aug 2022 10:25:49 GMT, Axel Boldt-Christmas wrote: >> The proposal is to encapsulate the nmethod mark for deoptimization logic in >> one place and only allow access to the `mark_for_deoptimization` from a >> closure object: >> ```C++ >> class DeoptimizationMarkerClosure : StackObj {

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v7]

2022-08-19 Thread Axel Boldt-Christmas
> The proposal is to encapsulate the nmethod mark for deoptimization logic in > one place and only allow access to the `mark_for_deoptimization` from a > closure object: > ```C++ > class DeoptimizationMarkerClosure : StackObj { > public: > virtual void marker_do(Deoptimization::MarkFn mark_fn)

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v6]

2022-08-19 Thread Axel Boldt-Christmas
On Fri, 19 Aug 2022 01:17:14 GMT, Dean Long wrote: >> I think you have to describe the scenario that does not work, because I am >> not sure I see it. >> >> For ease of writing, let me call the currently embedded status `status` and >> the currently embedded link `next_link` >> (`=>` means im

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v6]

2022-08-18 Thread Dean Long
On Thu, 18 Aug 2022 09:32:54 GMT, Axel Boldt-Christmas wrote: >> src/hotspot/share/code/compiledMethod.cpp line 128: >> >>> 126: if (old_status < new_status) { >>> 127: if (old_status == not_enqueued) { >>> 128: >>> assert(extract_enqueued_deoptimization_method(_enqueued_deoptimiza

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v6]

2022-08-18 Thread Axel Boldt-Christmas
On Thu, 18 Aug 2022 08:57:19 GMT, Dean Long wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Cleanup comment > > src/hotspot/share/code/compiledMethod.cpp line 128: > >> 126: if (old_status < new_status)

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v6]

2022-08-18 Thread Dean Long
On Thu, 18 Aug 2022 08:18:27 GMT, Axel Boldt-Christmas wrote: >> The proposal is to encapsulate the nmethod mark for deoptimization logic in >> one place and only allow access to the `mark_for_deoptimization` from a >> closure object: >> ```C++ >> class DeoptimizationMarkerClosure : StackObj {

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v6]

2022-08-18 Thread Axel Boldt-Christmas
On Thu, 18 Aug 2022 08:18:27 GMT, Axel Boldt-Christmas wrote: >> The proposal is to encapsulate the nmethod mark for deoptimization logic in >> one place and only allow access to the `mark_for_deoptimization` from a >> closure object: >> ```C++ >> class DeoptimizationMarkerClosure : StackObj {

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v6]

2022-08-18 Thread Axel Boldt-Christmas
> The proposal is to encapsulate the nmethod mark for deoptimization logic in > one place and only allow access to the `mark_for_deoptimization` from a > closure object: > ```C++ > class DeoptimizationMarkerClosure : StackObj { > public: > virtual void marker_do(Deoptimization::MarkFn mark_fn)

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v5]

2022-08-17 Thread Axel Boldt-Christmas
> The proposal is to encapsulate the nmethod mark for deoptimization logic in > one place and only allow access to the `mark_for_deoptimization` from a > closure object: > ```C++ > class DeoptimizationMarkerClosure : StackObj { > public: > virtual void marker_do(Deoptimization::MarkFn mark_fn)

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v4]

2022-08-15 Thread Axel Boldt-Christmas
> The proposal is to encapsulate the nmethod mark for deoptimization logic in > one place and only allow access to the `mark_for_deoptimization` from a > closure object: > ```C++ > class DeoptimizationMarkerClosure : StackObj { > public: > virtual void marker_do(Deoptimization::MarkFn mark_fn)

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v3]

2022-08-10 Thread Axel Boldt-Christmas
On Wed, 10 Aug 2022 15:23:46 GMT, Axel Boldt-Christmas wrote: >> The proposal is to encapsulate the nmethod mark for deoptimization logic in >> one place and only allow access to the `mark_for_deoptimization` from a >> closure object: >> ```C++ >> class DeoptimizationMarkerClosure : StackObj {

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v3]

2022-08-10 Thread Axel Boldt-Christmas
> The proposal is to encapsulate the nmethod mark for deoptimization logic in > one place and only allow access to the `mark_for_deoptimization` from a > closure object: > ```C++ > class DeoptimizationMarkerClosure : StackObj { > public: > virtual void marker_do(Deoptimization::MarkFn mark_fn)

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v2]

2022-08-08 Thread Dean Long
On Mon, 1 Aug 2022 04:58:49 GMT, Axel Boldt-Christmas wrote: >> The proposal is to encapsulate the nmethod mark for deoptimization logic in >> one place and only allow access to the `mark_for_deoptimization` from a >> closure object: >> ```C++ >> class DeoptimizationMarkerClosure : StackObj { >

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v2]

2022-08-04 Thread Erik Österlund
On Wed, 3 Aug 2022 20:42:59 GMT, Erik Österlund wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with three >> additional commits since the last revision: >> >> - Add assertions >> - Fix marked logic >> - Erik refactorings > > Also, in DeoptimizationContext::deopt_co

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v2]

2022-08-04 Thread Dean Long
On Wed, 3 Aug 2022 20:42:59 GMT, Erik Österlund wrote: >> Axel Boldt-Christmas has updated the pull request incrementally with three >> additional commits since the last revision: >> >> - Add assertions >> - Fix marked logic >> - Erik refactorings > > Also, in DeoptimizationContext::deopt_co

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v2]

2022-08-03 Thread Erik Österlund
On Mon, 1 Aug 2022 04:58:49 GMT, Axel Boldt-Christmas wrote: >> The proposal is to encapsulate the nmethod mark for deoptimization logic in >> one place and only allow access to the `mark_for_deoptimization` from a >> closure object: >> ```C++ >> class DeoptimizationMarkerClosure : StackObj { >

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v2]

2022-08-03 Thread Erik Österlund
On Mon, 1 Aug 2022 04:58:49 GMT, Axel Boldt-Christmas wrote: >> The proposal is to encapsulate the nmethod mark for deoptimization logic in >> one place and only allow access to the `mark_for_deoptimization` from a >> closure object: >> ```C++ >> class DeoptimizationMarkerClosure : StackObj { >

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v2]

2022-08-03 Thread Dean Long
On Mon, 1 Aug 2022 04:58:49 GMT, Axel Boldt-Christmas wrote: >> The proposal is to encapsulate the nmethod mark for deoptimization logic in >> one place and only allow access to the `mark_for_deoptimization` from a >> closure object: >> ```C++ >> class DeoptimizationMarkerClosure : StackObj { >

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v2]

2022-08-03 Thread Axel Boldt-Christmas
On Mon, 1 Aug 2022 04:58:49 GMT, Axel Boldt-Christmas wrote: >> The proposal is to encapsulate the nmethod mark for deoptimization logic in >> one place and only allow access to the `mark_for_deoptimization` from a >> closure object: >> ```C++ >> class DeoptimizationMarkerClosure : StackObj { >

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v2]

2022-08-02 Thread Dean Long
On Mon, 1 Aug 2022 04:58:49 GMT, Axel Boldt-Christmas wrote: >> The proposal is to encapsulate the nmethod mark for deoptimization logic in >> one place and only allow access to the `mark_for_deoptimization` from a >> closure object: >> ```C++ >> class DeoptimizationMarkerClosure : StackObj { >

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v2]

2022-08-02 Thread Axel Boldt-Christmas
On Mon, 1 Aug 2022 04:58:49 GMT, Axel Boldt-Christmas wrote: >> The proposal is to encapsulate the nmethod mark for deoptimization logic in >> one place and only allow access to the `mark_for_deoptimization` from a >> closure object: >> ```C++ >> class DeoptimizationMarkerClosure : StackObj { >

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic [v2]

2022-07-31 Thread Axel Boldt-Christmas
> The proposal is to encapsulate the nmethod mark for deoptimization logic in > one place and only allow access to the `mark_for_deoptimization` from a > closure object: > ```C++ > class DeoptimizationMarkerClosure : StackObj { > public: > virtual void marker_do(Deoptimization::MarkFn mark_fn)

Re: RFR: 8291237: Encapsulate nmethod Deoptimization logic

2022-07-28 Thread Axel Boldt-Christmas
On Wed, 27 Jul 2022 12:55:04 GMT, Axel Boldt-Christmas wrote: > The proposal is to encapsulate the nmethod mark for deoptimization logic in > one place and only allow access to the `mark_for_deoptimization` from a > closure object: > ```C++ > class DeoptimizationMarkerClosure : StackObj { > pub