[10] RFR: [AOT] assert(false) failed: DEBUG MESSAGE: InterpreterMacroAssembler::call_VM_base: last_sp != NULL
jamsheed
jamsheed.c.m at oracle.com
Fri Oct 13 05:38:46 UTC 2017
Thanks for the review, Dean, Vladimir
Best regards,
Jamsheed
On Friday 13 October 2017 12:20 AM, Vladimir Kozlov wrote:
> +1
>
> Thanks,
> Vladimir
>
> On 10/12/17 11:21 AM, dean.long at oracle.com wrote:
>> Looks good.
>>
>> dl
>>
>>
>> On 10/12/17 3:33 AM, jamsheed wrote:
>>> Dean,
>>>
>>> Thank you for the review, yes there is check for extended sp
>>> equality too. made the change
>>>
>>> http://cr.openjdk.java.net/~jcm/8168712/webrev.02/
>>>
>>> Best regards,
>>>
>>> Jamsheed
>>>
>>>
>>> On Thursday 12 October 2017 03:28 AM, dean.long at oracle.com wrote:
>>>> For AARCH64 in templateTable_arm.cpp, how about using the same code
>>>> as generate_deopt_entry_for?
>>>>
>>>> __ restore_sp_after_call(Rtemp); // Restore SP to extended SP
>>>> __ restore_stack_top();
>>>>
>>>>
>>>> dl
>>>>
>>>> On 10/11/17 5:48 AM, jamsheed wrote:
>>>>> Hi Vladimir,
>>>>>
>>>>> Thank you for pointing this.
>>>>>
>>>>> revised webrev: http://cr.openjdk.java.net/~jcm/8168712/webrev.02/
>>>>>
>>>>> Best Regards,
>>>>>
>>>>> Jamsheed
>>>>>
>>>>>
>>>>> On Tuesday 10 October 2017 08:41 PM, Vladimir Kozlov wrote:
>>>>>> Why you added !defined(AARCH64) in templateTable_arm.cpp? Is only
>>>>>> 32-bit affected?
>>>>>>
>>>>>> Thanks,
>>>>>> Vladimir
>>>>>>
>>>>>> On 9/13/17 11:54 PM, Dean Long wrote:
>>>>>>> It looks like you accidentally dropped
>>>>>>> hotspot-compiler-dev at openjdk.java.net when you added runtime.
>>>>>>>
>>>>>>> dl
>>>>>>>
>>>>>>>
>>>>>>> On 9/13/2017 11:21 PM, jamsheed wrote:
>>>>>>>> (adding runtime list for inputs)
>>>>>>>>
>>>>>>>> On Monday 11 September 2017 11:43 PM, jamsheed wrote:
>>>>>>>>> brief desc: special handling of Object.<init> in
>>>>>>>>> TemplateInterpreter::deopt_reexecute_entry
>>>>>>>>>
>>>>>>>>> required last_sp to be reset explicitly in normal return path
>>>>>>>>>
>>>>>>>>> address TemplateInterpreter::deopt_reexecute_entry(Method*
>>>>>>>>> method, address bcp) {
>>>>>>>>> assert(method->contains(bcp), "just checkin'");
>>>>>>>>> Bytecodes::Code code = Bytecodes::java_code_at(method, bcp);
>>>>>>>>> if (code == Bytecodes::_return) {
>>>>>>>>> // This is used for deopt during registration of finalizers
>>>>>>>>> // during Object.<init>. We simply need to resume
>>>>>>>>> execution at
>>>>>>>>> // the standard return vtos bytecode to pop the frame
>>>>>>>>> normally.
>>>>>>>>> // reexecuting the real bytecode would cause double
>>>>>>>>> registration
>>>>>>>>> // of the finalizable object.
>>>>>>>>> return _normal_table.entry(Bytecodes::_return).entry(vtos);
>>>>>>>>
>>>>>>>> last_sp ! = null not an issue for this case, so i skip the
>>>>>>>> assert in debug build
>>>>>>>>
>>>>>>>> http://cr.openjdk.java.net/~jcm/8168712/webrev.01/
>>>>>>>>
>>>>>>>> Please review.
>>>>>>>>
>>>>>>>> Best Regards,
>>>>>>>> Jamsheed
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>
>>>>
>>>
>>
More information about the hotspot-runtime-dev
mailing list