[10] RFR: [AOT] assert(false) failed: DEBUG MESSAGE: InterpreterMacroAssembler::call_VM_base: last_sp != NULL
Vladimir Kozlov
vladimir.kozlov at oracle.com
Thu Oct 12 18:50:45 UTC 2017
+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-compiler-dev
mailing list