recover-inline-arguments.js (1077B)
1 // |jit-test| --inlining-entry-threshold=5 2 3 setJitCompilerOption("baseline.warmup.trigger", 9); 4 setJitCompilerOption("ion.warmup.trigger", 20); 5 6 // Prevent the GC from cancelling compilations, when we expect them to succeed. 7 gczeal(0); 8 9 function rcreate_arguments_object_nouse_inner() { 10 assertRecoveredOnBailout(arguments, true); 11 } 12 function rcreate_arguments_object_nouse_outer() { 13 rcreate_arguments_object_nouse_inner(); 14 trialInline(); 15 } 16 function rcreate_arguments_object_oneuse_inner() { 17 assertRecoveredOnBailout(arguments, true); 18 return arguments.length; 19 } 20 function rcreate_arguments_object_oneuse_outer() { 21 rcreate_arguments_object_oneuse_inner(0) 22 trialInline(); 23 } 24 25 function rcreate_arguments_object_oneuse_inner() { 26 assertRecoveredOnBailout(arguments, true); 27 return arguments.length; 28 } 29 function rcreate_arguments_object_oneuse_outer() { 30 rcreate_arguments_object_oneuse_inner(0) 31 trialInline(); 32 } 33 34 with ({}) {} 35 for (var i = 0; i < 100; i++) { 36 rcreate_arguments_object_nouse_outer(); 37 rcreate_arguments_object_oneuse_outer(); 38 }