@@ -733,14 +733,21 @@ public func v8ProcessArgs(randomize: Bool, forSandbox: Bool) -> [String] {
733733 args. append ( Bool . random ( ) ? " --shared-string-table " : " --shared-strings " )
734734 }
735735
736- if probability ( 0.25 ) && !args. contains ( " --no-maglev " ) {
737- args. append ( " --maglev-future " )
738- }
739-
740- if probability ( 0.2 ) && !args. contains ( " --no-maglev " ) {
741- args. append ( " --maglev-non-eager-inlining " )
742- if probability ( 0.4 ) { // TODO: @tacet decrease this probability to max 0.2
743- args. append ( " --max_maglev_inlined_bytecode_size_small=0 " )
736+ if !args. contains ( " --no-maglev " ) {
737+ if probability ( 0.25 ) {
738+ args. append ( " --maglev-future " )
739+ }
740+ if probability ( 0.1 ) {
741+ args. append ( " --maglev-assert " )
742+ }
743+ if probability ( 0.05 ) {
744+ args. append ( " --maglev-assert-stack-size " )
745+ }
746+ if probability ( 0.2 ) {
747+ args. append ( " --maglev-non-eager-inlining " )
748+ if probability ( 0.4 ) { // TODO: @tacet decrease this probability to max 0.2
749+ args. append ( " --max-maglev-inlined-bytecode-size-small=0 " )
750+ }
744751 }
745752 }
746753
@@ -753,7 +760,7 @@ public func v8ProcessArgs(randomize: Bool, forSandbox: Bool) -> [String] {
753760 if probability ( 0.82 ) {
754761 args. append ( " --turbolev-future " )
755762 if probability ( 0.3 ) { // TODO: @tacet change to 0.15
756- args. append ( " --max_inlined_bytecode_size_small =0 " )
763+ args. append ( " --max-inlined-bytecode-size-small =0 " )
757764 }
758765 }
759766 }
@@ -882,39 +889,55 @@ public func v8ProcessArgs(randomize: Bool, forSandbox: Bool) -> [String] {
882889 // More exotic configuration changes.
883890 //
884891 if probability ( 0.05 ) {
892+ func chooseBooleanFlag( _ flag: String ) {
893+ assert ( !flag. starts ( with: " -- " ) )
894+ args. append ( probability ( 0.5 ) ? " -- \( flag) " : " --no- \( flag) " )
895+ }
896+
885897 if probability ( 0.5 ) { args. append ( " --stress-gc-during-compilation " ) }
886898 if probability ( 0.5 ) { args. append ( " --lazy-new-space-shrinking " ) }
887899 if probability ( 0.5 ) { args. append ( " --stress-wasm-memory-moving " ) }
888900 if probability ( 0.5 ) { args. append ( " --stress-background-compile " ) }
889901 if probability ( 0.5 ) { args. append ( " --parallel-compile-tasks-for-lazy " ) }
890902 if probability ( 0.5 ) { args. append ( " --parallel-compile-tasks-for-eager-toplevel " ) }
891903
892- args . append ( probability ( 0.5 ) ? " --always-sparkplug " : " --no- always-sparkplug" )
893- args . append ( probability ( 0.5 ) ? " --always-osr " : " --no- always-osr" )
894- args . append ( probability ( 0.5 ) ? " --concurrent-osr " : " --no- concurrent-osr" )
895- args . append ( probability ( 0.5 ) ? " --force-slow-path " : " --no- force-slow-path" )
904+ chooseBooleanFlag ( " always-sparkplug " )
905+ chooseBooleanFlag ( " always-osr " )
906+ chooseBooleanFlag ( " concurrent-osr " )
907+ chooseBooleanFlag ( " force-slow-path " )
896908
897909 // Maglev related flags
898- args. append ( probability ( 0.5 ) ? " --maglev-inline-api-calls " : " --no-maglev-inline-api-calls " )
910+ chooseBooleanFlag ( " maglev-inline-api-calls " )
911+ chooseBooleanFlag ( " maglev-inlining " )
912+ chooseBooleanFlag ( " maglev-loop-peeling " )
913+ chooseBooleanFlag ( " maglev-optimistic-peeled-loops " )
914+ chooseBooleanFlag ( " maglev-pretenure-store-values " )
915+ chooseBooleanFlag ( " maglev-poly-calls " )
916+ chooseBooleanFlag ( " maglev-truncation " )
917+ chooseBooleanFlag ( " maglev-cse " )
918+ chooseBooleanFlag ( " maglev-range-analysis " )
919+ chooseBooleanFlag ( " maglev-escape-analysis " )
920+ chooseBooleanFlag ( " maglev-licm " )
921+ chooseBooleanFlag ( " maglev-untagged-phis " )
899922
900923 // Compiler related flags
901- args. append ( probability ( 0.5 ) ? " --turbo-move-optimization " : " --no-turbo-move-optimization " )
902- args. append ( probability ( 0.5 ) ? " --turbo-jt " : " --no-turbo-jt " )
903- args. append ( probability ( 0.5 ) ? " --turbo-loop-peeling " : " --no-turbo-loop-peeling " )
904- args. append ( probability ( 0.5 ) ? " --turbo-loop-variable " : " --no-turbo-loop-variable " )
905- args. append ( probability ( 0.5 ) ? " --turbo-loop-rotation " : " --no-turbo-loop-rotation " )
906- args. append ( probability ( 0.5 ) ? " --turbo-cf-optimization " : " --no-turbo-cf-optimization " )
907- args. append ( probability ( 0.5 ) ? " --turbo-escape " : " --no-turbo-escape " )
908- args. append ( probability ( 0.5 ) ? " --turbo-allocation-folding " : " --no-turbo-allocation-folding " )
909- args. append ( probability ( 0.5 ) ? " --turbo-instruction-scheduling " : " --no-turbo-instruction-scheduling " )
910- args. append ( probability ( 0.5 ) ? " --turbo-stress-instruction-scheduling " : " --no-turbo-stress-instruction-scheduling " )
911- args. append ( probability ( 0.5 ) ? " --turbo-store-elimination " : " --no-turbo-store-elimination " )
912- args. append ( probability ( 0.5 ) ? " --turbo-rewrite-far-jumps " : " --no-turbo-rewrite-far-jumps " )
913- args. append ( probability ( 0.5 ) ? " --turbo-optimize-apply " : " --no-turbo-optimize-apply " )
924+ chooseBooleanFlag ( " turbo-move-optimization " )
925+ chooseBooleanFlag ( " turbo-jt " ) // jump threading
926+ chooseBooleanFlag ( " turbo-loop-peeling " )
927+ chooseBooleanFlag ( " turbo-loop-variable " )
928+ chooseBooleanFlag ( " turbo-loop-rotation " )
929+ chooseBooleanFlag ( " turbo-cf-optimization " )
930+ chooseBooleanFlag ( " turbo-escape " )
931+ chooseBooleanFlag ( " turbo-allocation-folding " )
932+ chooseBooleanFlag ( " turbo-instruction-scheduling " )
933+ chooseBooleanFlag ( " turbo-stress-instruction-scheduling " )
934+ chooseBooleanFlag ( " turbo-store-elimination " )
935+ chooseBooleanFlag ( " turbo-rewrite-far-jumps " )
936+ chooseBooleanFlag ( " turbo-optimize-apply " )
937+ chooseBooleanFlag ( " turbo-load-elimination " )
938+ chooseBooleanFlag ( " turbo-inlining " )
939+ chooseBooleanFlag ( " turbo-splitting " )
914940 args. append ( chooseUniform ( from: [ " --no-enable-sse3 " , " --no-enable-ssse3 " , " --no-enable-sse4-1 " , " --no-enable-sse4-2 " , " --no-enable-avx " , " --no-enable-avx2 " ] ) )
915- args. append ( probability ( 0.5 ) ? " --turbo-load-elimination " : " --no-turbo-load-elimination " )
916- args. append ( probability ( 0.5 ) ? " --turbo-inlining " : " --no-turbo-inlining " )
917- args. append ( probability ( 0.5 ) ? " --turbo-splitting " : " --no-turbo-splitting " )
918941 }
919942
920943 return args
0 commit comments