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 <[email protected]> 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 > [email protected] > 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 [email protected]. > 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 [email protected] 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/CAGRskv9_%2B4CN-Vs6MC2o11rzZ3kzFF-T60LSi8KPUYeJG4gArA%40mail.gmail.com.
