Thanks, I find which changes cause it.
After I revert the change about InterpreterOnStackReplacementDescriptor 
and BaselineOnStackReplacementDescriptor merge 
into OnStackReplacementDescriptor(https://paste.ubuntu.com/p/hRzqXHB9rJ/), 
the issue 13836 <https://bugs.chromium.org/p/v8/issues/detail?id=13836> is 
fixed.
But it is not a root reason.  
According to my understanding, OnStackReplacementDescriptor is the same as 
InterpreterOnStackReplacementDescriptor and 
BaselineOnStackReplacementDescriptor. This change doesn't change anything.


1. 
https://chromium-review.googlesource.com/c/v8/v8/+/3585943/4/src/codegen/interface-descriptors-inl.h#388
2. 
https://chromium-review.googlesource.com/c/v8/v8/+/3859850/13/src/codegen/interface-descriptors-inl.h

在2023年3月27日星期一 UTC+8 17:16:03<les...@chromium.org> 写道:

> Lazy deopts in general happen due to dependency invalidation (see all 
> those "marking dependent code" traces). The lazy deopt bailouts then happen 
> when the code is running on the stack at the time when the dependency is 
> invalidated -- otherwise the code is just silently discarded in the 
> background. This could simply be a timing issue, perhaps to do with 
> concurrent compilation or GC timing changing due to different code sizes. 
> Have you tried with `--single-threaded`?
>
> On Mon, Mar 27, 2023 at 11:04 AM Yahan Lu <ya...@iscas.ac.cn> wrote:
>
>> I want to know why it bailout by reason UNKNOW but arm64 dones't bailout? 
>> How to debug it?
>>
>> 在2023年3月27日星期一 UTC+8 16:43:06<Yahan Lu> 写道:
>>
>>> I am debugging https://bugs.chromium.org/p/v8/issues/detail?id=13836.
>>> I add v8 options --trace-opt  --trace_deopt_verbose 
>>> and riscv64 output:
>>> all riscv64 log <https://paste.ubuntu.com/p/hvfvhRZXXT/>
>>> [optimizing 0x003f8d902749 <JSFunction nextPart (sfi = 0x3f8dc84c89)> 
>>> (target TURBOFAN) - took 0.070, 3.101, 0.122 ms] [completed optimizing 
>>> 0x003f8d902749 <JSFunction nextPart (sfi = 0x3f8dc84c89)> (target 
>>> TURBOFAN)] [marking dependent code 0x003f8e1217c1 (0x003f8dbfc659 
>>> <SharedFunctionInfo readPackageScope>) (opt id 6) for deoptimization, 
>>> reason: code dependencies] [deoptimize marked code in all contexts] 
>>> [bailout 
>>> (kind: deopt-lazy, reason: (unknown)): begin. deoptimizing 0x003f8d910389 
>>> <JSFunction readPackageScope (sfi = 0x3f8dbfc659)>, opt id 6, bytecode 
>>> offset 13, deopt exit 27, FP to SP delta 152, caller SP 0x003ffbdde868, pc 
>>> 0x003f8e123648] reading input frame readPackageScope => 
>>> bytecode_offset=92, args=2, height=7, retval=0(#1); inputs: 0: 
>>> 0x003f8d910389 ; [fp - 16] 0x003f8d910389 <JSFunction readPackageScope (sfi 
>>> = 0x3f8dbfc659)> 1: 0x003f9c0c15a9 ; [fp + 16] 0x003f9c0c15a9 
>>> <undefined> 2: 0x003f8df81161 ; [fp - 152] 0x003f8df81161 <String[99]: 
>>> u"/home/luyahan/testenode/web-ext/node_modules/@babel/plugin-transform-member-expression-literals/lib">
>>>  
>>> 3: 0x003f8d901121 ; [fp - 32] 0x003f8d901121 <FunctionContext[129]> 4: 
>>> 0x000000000000 ; [fp - 40] 0 5: 0x006300000000 ; [fp - 48] 99 6: 
>>> (optimized out) 7: (optimized out) 8: (optimized out) 9: (optimized 
>>> out) 10: (optimized out) 11: (optimized out) reading input frame 
>>> readPackage => bytecode_offset=13, args=2, height=10, retval=0(#1); inputs: 
>>> 0: 
>>> 0x003f8d9026c9 ; (literal 17) 0x003f8d9026c9 <JSFunction readPackage (sfi = 
>>> 0x3f8dbfc601)> 1: 0x003f9c0c15a9 ; (literal 18) 0x003f9c0c15a9 
>>> <undefined> 2: 0x003f8df81121 ; [fp - 64] 0x003f8df81121 <String[100]: 
>>> uc"/home/luyahan/testenode/web-ext/node_modules/@babel/plugin-transform-member-expression-literals/lib/">
>>>  
>>> 3: 0x003f8d901121 ; (literal 19) 0x003f8d901121 <FunctionContext[129]> 4: 
>>> (optimized out) 5: (optimized out) 6: (optimized out) 7: (optimized 
>>> out) 8: (optimized out) 9: (optimized out) 10: (optimized out) 11: 
>>> (optimized out) 12: (optimized out) 13: (optimized out) 14: (optimized 
>>> out) translating baseline frame readPackageScope => bytecode_offset=92, 
>>> variable_frame_size=56, frame_size=128 0x003ffbdde860: [top + 120] <- 
>>> 0x003f8df81161 <String[99]: 
>>> u"/home/luyahan/testenode/web-ext/node_modules/@babel/plugin-transform-member-expression-literals/lib">
>>>  
>>> ; stack parameter (input #2) 0x003ffbdde858: [top + 112] <- 
>>> 0x003f9c0c15a9 <undefined> ; stack parameter (input #1) 
>>> ------------------------- 
>>> 0x003ffbdde850: [top + 104] <- 0x003f8e0b7720 ; bottommost caller's pc 
>>> 0x003ffbdde848: 
>>> [top + 96] <- 0x003ffbdde930 ; caller's fp 0x003ffbdde840: [top + 88] 
>>> <- 0x003f8d901121 <FunctionContext[129]> ; context (input #3) 
>>> 0x003ffbdde838: 
>>> [top + 80] <- 0x003f8d910389 <JSFunction readPackageScope (sfi = 
>>> 0x3f8dbfc659)> ; function (input #0) 0x003ffbdde830: [top + 72] <- 
>>> 0x000000000002 ; actual argument count 0x003ffbdde828: [top + 64] <- 
>>> 0x003f8da30df1 <BytecodeArray[132]> ; bytecode array 0x003ffbdde820: 
>>> [top + 56] <- 0x009100000000 <Smi 145> ; bytecode offset 
>>> ------------------------- 
>>> 0x003ffbdde818: [top + 48] <- 0x000000000000 <Smi 0> ; stack parameter 
>>> (input #4) 0x003ffbdde810: [top + 40] <- 0x006300000000 <Smi 99> ; 
>>> stack parameter (input #5) 0x003ffbdde808: [top + 32] <- 0x003f9c0c1df9 
>>> <Odd Oddball: optimized_out> ; stack parameter (input #6) 0x003ffbdde800: 
>>> [top + 24] <- 0x003f9c0c1df9 <Odd Oddball: optimized_out> ; stack parameter 
>>> (input #7) 0x003ffbdde7f8: [top + 16] <- 0x003f9c0c1df9 <Odd Oddball: 
>>> optimized_out> ; stack parameter (input #8) 0x003ffbdde7f0: [top + 8] 
>>> <- 0x003f9c0c1df9 <Odd Oddball: optimized_out> ; stack parameter (input #9) 
>>> 0x003ffbdde7e8: 
>>> [top + 0] <- 0x003f9c0c1df9 <Odd Oddball: optimized_out> ; stack parameter 
>>> (input #10) translating baseline frame readPackage => 
>>> bytecode_offset=13, variable_frame_size=88, frame_size=160 0x003ffbdde7e0: 
>>> [top + 152] <- 0x003f8df81121 <String[100]: 
>>> uc"/home/luyahan/testenode/web-ext/node_modules/@babel/plugin-transform-member-expression-literals/lib/">
>>>  
>>> ; stack parameter (input #2) 0x003ffbdde7d8: [top + 144] <- 
>>> 0x003f9c0c15a9 <undefined> ; stack parameter (input #1) 
>>> ------------------------- 
>>> 0x003ffbdde7d0: [top + 136] <- 0x0000011e06c0 ; caller's pc 0x003ffbdde7c8: 
>>> [top + 128] <- 0x003ffbdde848 ; caller's fp 0x003ffbdde7c0: [top + 120] 
>>> <- 0x003f8d901121 <FunctionContext[129]> ; context (input #3) 
>>> 0x003ffbdde7b8: 
>>> [top + 112] <- 0x003f8d9026c9 <JSFunction readPackage (sfi = 0x3f8dbfc601)> 
>>> ; function (input #0) 0x003ffbdde7b0: [top + 104] <- 0x000000000002 ; 
>>> actual argument count 0x003ffbdde7a8: [top + 96] <- 0x003f8da310e9 
>>> <BytecodeArray[201]> ; bytecode array 0x003ffbdde7a0: [top + 88] <- 
>>> 0x004200000000 <Smi 66> ; bytecode offset ------------------------- 
>>> 0x003ffbdde798: 
>>> [top + 80] <- 0x003f9c0c1df9 <Odd Oddball: optimized_out> ; stack parameter 
>>> (input #4) 0x003ffbdde790: [top + 72] <- 0x003f9c0c1df9 <Odd Oddball: 
>>> optimized_out> ; stack parameter (input #5) 0x003ffbdde788: [top + 64] 
>>> <- 0x003f9c0c1df9 <Odd Oddball: optimized_out> ; stack parameter (input #6) 
>>> 0x003ffbdde780: 
>>> [top + 56] <- 0x003f9c0c1df9 <Odd Oddball: optimized_out> ; stack parameter 
>>> (input #7) 0x003ffbdde778: [top + 48] <- 0x003f9c0c1df9 <Odd Oddball: 
>>> optimized_out> ; stack parameter (input #8) 0x003ffbdde770: [top + 40] 
>>> <- 0x003f9c0c1df9 <Odd Oddball: optimized_out> ; stack parameter (input #9) 
>>> 0x003ffbdde768: 
>>> [top + 32] <- 0x003f9c0c1df9 <Odd Oddball: optimized_out> ; stack parameter 
>>> (input #10) 0x003ffbdde760: [top + 24] <- 0x003f9c0c1df9 <Odd Oddball: 
>>> optimized_out> ; stack parameter (input #11) 0x003ffbdde758: [top + 16] 
>>> <- 0x003f9c0c1df9 <Odd Oddball: optimized_out> ; stack parameter (input 
>>> #12) 0x003ffbdde750: [top + 8] <- 0x003f9c0c1df9 <Odd Oddball: 
>>> optimized_out> ; stack parameter (input #13) 0x003ffbdde748: [top + 0] 
>>> <- 0x0000699df449 ; return value 0 [bailout end. took 10.776 ms]
>>>
>>> cimpare arm64:
>>> all arm64 log <https://paste.ubuntu.com/p/mWqQ9DC9Yt/>
>>> [completed optimizing 0x1e1cd02c13f1 <JSFunction nextPart (sfi = 
>>> 0x281794044c89)> (target TURBOFAN)] [marking dependent code 
>>> 0x7faec80e48e1 (0x0e004765c991 <SharedFunctionInfo readPackageScope>) (opt 
>>> id 6) for deoptimization, reason: code dependencies] [marking dependent 
>>> code 0x7faec80a5801 (0x0e004765d621 <SharedFunctionInfo 
>>> Module._nodeModulePaths>) (opt id 1) for deoptimization, reason: code 
>>> dependencies] [deoptimize marked code in all contexts] [marking 
>>> 0x17de35e029a9 <JSFunction nativeModuleRequire (sfi = 0x30620193e349)> for 
>>> optimization to TURBOFAN, ConcurrencyMode::kConcurrent, reason: small 
>>> function] [marking 0x3bfb81011fc1 <JSFunction stat (sfi = 
>>> 0xe004765c729)> for optimization to TURBOFAN, ConcurrencyMode::kConcurrent, 
>>> reason: hot and stable] [compiling method 0x3bfb81011fc1 <JSFunction 
>>> stat (sfi = 0xe004765c729)> (target TURBOFAN), mode: 
>>> ConcurrencyMode::kConcurrent] [compiling method 0x17de35e029a9 
>>> <JSFunction nativeModuleRequire (sfi = 0x30620193e349)> (target TURBOFAN), 
>>> mode: ConcurrencyMode::kConcurrent] [optimizing 0x3bfb81011fc1 
>>> <JSFunction stat (sfi = 0xe004765c729)> (target TURBOFAN) - took 0.051, 
>>> 9.891, 0.185 ms] [completed optimizing 0x3bfb81011fc1 <JSFunction stat 
>>> (sfi = 0xe004765c729)> (target TURBOFAN)] [optimizing 0x17de35e029a9 
>>> <JSFunction nativeModuleRequire (sfi = 0x30620193e349)> (target TURBOFAN) - 
>>> took 0.050, 26.272, 0.181 ms]
>>>
>> -- 
>> -- 
>> v8-dev mailing list
>> v8-...@googlegroups.com
>> http://groups.google.com/group/v8-dev
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "v8-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to v8-dev+un...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/v8-dev/83584948-0447-4e86-9380-28cd5118182en%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/v8-dev/83584948-0447-4e86-9380-28cd5118182en%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
-- 
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-dev/135cfe04-a698-4b0f-9d1f-f53da8df9e47n%40googlegroups.com.

Reply via email to