On Mon, 2 Nov 2020 16:20:09 GMT, Coleen Phillimore <cole...@openjdk.org> wrote:

>> Erik Österlund has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Coleen CR1: Refactoring
>
> This looks better.  Just to have the JRT_BLOCK be unconditional is an 
> improvement.

Erik,

Thank you for the update! It looks more elegant.

One concern is that after the move of this fragment to the 
post_method_exit_inner:
1614   if (state == NULL || !state->is_interp_only_mode()) {
1615     // for any thread that actually wants method exit, interp_only_mode is 
set
1616     return;
1617   }
there is no guarantee that the current frame is interpreted below:
1580     if (!exception_exit) {
1581       oop oop_result;
1582       BasicType type = current_frame.interpreter_frame_result(&oop_result, 
&value);
 . . .
1597   if (result.not_null() && !mh->is_native()) {
1598     // We have to restore the oop on the stack for interpreter frames
1599     *(oop*)current_frame.interpreter_frame_tos_address() = result();
1600   }
Probably, extra checks for current_frame.is_interpreted_frame() in these 
fragments will be sufficient.

-------------

PR: https://git.openjdk.java.net/jdk/pull/930

Reply via email to