WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
71744
DFG OSR exit code should be lazily generated
https://bugs.webkit.org/show_bug.cgi?id=71744
Summary
DFG OSR exit code should be lazily generated
Filip Pizlo
Reported
2011-11-07 16:22:11 PST
For now, this is an umbrella bug.
Attachments
the patch
(51.61 KB, patch)
2011-11-09 14:02 PST
,
Filip Pizlo
webkit-ews
: commit-queue-
Details
Formatted Diff
Diff
the patch
(56.79 KB, patch)
2011-11-09 15:13 PST
,
Filip Pizlo
webkit-ews
: commit-queue-
Details
Formatted Diff
Diff
the patch
(57.06 KB, patch)
2011-11-09 15:29 PST
,
Filip Pizlo
barraclough
: review+
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2011-11-07 16:23:28 PST
<
rdar://problem/10196854
>
Filip Pizlo
Comment 2
2011-11-09 14:02:25 PST
Created
attachment 114364
[details]
the patch It's starting to pass tests and such.
WebKit Review Bot
Comment 3
2011-11-09 14:05:30 PST
Attachment 114364
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/ChangeLog', u'Source..." exit_code: 1 Source/JavaScriptCore/assembler/X86Assembler.h:1285: jmp_m is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4] Source/JavaScriptCore/dfg/DFGCorrectableJumpPoint.h:85: The parameter name "codeBlock" adds no information, so it should be removed. [readability/parameter_name] [5] Total errors found: 2 in 26 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 4
2011-11-09 14:44:32 PST
As expected, this is a win. Benchmark report for SunSpider, V8, and Kraken on nitroflex.local (MacBookPro8,2). VMs tested: "TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (
r99757
) "LazyOSR" at /Volumes/Data/pizlo/octonary/OpenSource/WebKitBuild/Release/jsc (
r99757
) Collected 12 samples per benchmark/VM, with 4 VM invocations per benchmark. Emitted a call to gc() between sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime() function to get microsecond-level timing. Reporting benchmark execution times with 95% confidence intervals in milliseconds. TipOfTree LazyOSR SunSpider: 3d-cube 7.4039+-0.2357 7.2712+-0.1936 might be 1.0182x faster 3d-morph 7.5516+-0.1231 ? 7.6506+-0.1527 ? might be 1.0131x slower 3d-raytrace 7.8940+-0.2523 7.5361+-0.1823 might be 1.0475x faster access-binary-trees 1.6714+-0.0507 1.6292+-0.0871 might be 1.0259x faster access-fannkuch 6.3974+-0.0695 ? 6.4574+-0.1132 ? access-nbody 3.7455+-0.0874 ? 3.7595+-0.1336 ? access-nsieve 2.5637+-0.0989 ? 2.6492+-0.0942 ? might be 1.0334x slower bitops-3bit-bits-in-byte 1.3409+-0.0080 ^ 1.3064+-0.0147 ^ definitely 1.0264x faster bitops-bits-in-byte 2.4244+-0.0562 2.4159+-0.0480 bitops-bitwise-and 3.2958+-0.0671 3.2085+-0.0563 might be 1.0272x faster bitops-nsieve-bits 5.4042+-0.1188 ? 5.6059+-0.5231 ? might be 1.0373x slower controlflow-recursive 2.1181+-0.0356 ? 2.1296+-0.0512 ? crypto-aes 8.1533+-0.2277 ^ 7.5888+-0.2208 ^ definitely 1.0744x faster crypto-md5 2.6565+-0.0620 2.6105+-0.0666 might be 1.0176x faster crypto-sha1 2.4210+-0.0481 ? 2.4340+-0.0748 ? date-format-tofte 10.2298+-0.2496 9.9921+-0.2409 might be 1.0238x faster date-format-xparb 9.5717+-0.3785 9.2057+-0.1458 might be 1.0398x faster math-cordic 6.5370+-0.1350 ? 6.6721+-0.0984 ? might be 1.0207x slower math-partial-sums 7.6998+-0.1983 7.6932+-0.1252 math-spectral-norm 2.6174+-0.0768 2.5152+-0.0752 might be 1.0406x faster regexp-dna 11.7320+-0.2553 11.7292+-0.1894 string-base64 4.1655+-0.1884 4.0047+-0.0911 might be 1.0402x faster string-fasta 6.5371+-0.2103 6.3637+-0.1357 might be 1.0272x faster string-tagcloud 12.0853+-0.2860 ? 12.3296+-0.3158 ? might be 1.0202x slower string-unpack-code 20.9880+-0.5240 20.7760+-0.2546 might be 1.0102x faster string-validate-input 5.3511+-0.1325 ? 5.3943+-0.1754 ? <arithmetic> * 6.2522+-0.0350 ^ 6.1896+-0.0263 ^ definitely 1.0101x faster <geometric> 5.0135+-0.0284 ^ 4.9623+-0.0219 ^ definitely 1.0103x faster <harmonic> 3.9951+-0.0313 3.9487+-0.0195 might be 1.0118x faster TipOfTree LazyOSR V8: crypto 73.9210+-0.8420 73.6162+-0.7927 deltablue 166.8321+-1.1465 ^ 162.1572+-0.7648 ^ definitely 1.0288x faster earley-boyer 88.1840+-1.1171 ? 89.3607+-0.8217 ? might be 1.0133x slower raytrace 63.7292+-0.8924 ^ 60.4194+-0.6861 ^ definitely 1.0548x faster regexp 106.5850+-0.7235 105.9525+-0.7361 richards 126.0230+-0.7675 125.5216+-1.3910 splay 74.5909+-1.8894 74.3575+-1.3547 <arithmetic> 99.9808+-0.3554 ^ 98.7693+-0.3677 ^ definitely 1.0123x faster <geometric> * 94.9067+-0.4588 ^ 93.7567+-0.3445 ^ definitely 1.0123x faster <harmonic> 90.5483+-0.5460 ^ 89.3230+-0.3464 ^ definitely 1.0137x faster TipOfTree LazyOSR Kraken: ai-astar 493.4284+-2.5022 ? 496.5512+-4.1676 ? audio-beat-detection 191.1934+-1.7556 ? 192.5436+-2.1138 ? audio-dft 274.8294+-4.9026 ? 284.7294+-11.4481 ? might be 1.0360x slower audio-fft 126.3960+-0.9793 125.4717+-1.4082 audio-oscillator 255.5759+-2.8552 251.8229+-1.1014 might be 1.0149x faster imaging-darkroom 308.8041+-5.8610 305.0695+-5.8926 might be 1.0122x faster imaging-desaturate 227.0093+-1.4694 ? 228.5401+-2.2932 ? imaging-gaussian-blur 552.9345+-1.6357 ! 559.1411+-3.6287 ! definitely 1.0112x slower json-parse-financial 57.4925+-0.4791 ? 57.9051+-0.5979 ? json-stringify-tinderbox 70.9923+-1.2122 69.6746+-0.7876 might be 1.0189x faster stanford-crypto-aes 96.1689+-0.4846 ? 97.5074+-1.4020 ? might be 1.0139x slower stanford-crypto-ccm 101.0021+-0.9532 ? 101.7126+-0.7810 ? stanford-crypto-pbkdf2 197.1552+-2.7374 194.6595+-2.0428 might be 1.0128x faster stanford-crypto-sha256-iterative 81.2450+-0.5573 ? 81.9975+-0.7264 ? <arithmetic> * 216.7305+-0.9645 ? 217.6661+-1.1812 ? <geometric> 172.4557+-0.7543 ? 172.9061+-0.7622 ? <harmonic> 138.1289+-0.5490 ? 138.3680+-0.5031 ? TipOfTree LazyOSR All benchmarks: <arithmetic> 82.9074+-0.2807 ? 82.9711+-0.3648 ? <geometric> 22.2865+-0.0826 22.1373+-0.0688 <harmonic> 7.0289+-0.0540 6.9485+-0.0334 might be 1.0116x faster TipOfTree LazyOSR Geomean of preferred means: <scaled-result> 50.4747+-0.1371 ^ 50.1739+-0.1420 ^ definitely 1.0060x faster
Early Warning System Bot
Comment 5
2011-11-09 14:46:25 PST
Comment on
attachment 114364
[details]
the patch
Attachment 114364
[details]
did not pass qt-ews (qt): Output:
http://queues.webkit.org/results/10404087
Filip Pizlo
Comment 6
2011-11-09 14:57:22 PST
Confirmed results from another machine… Benchmark report for SunSpider, V8, and Kraken on oldmac.local (MacPro4,1). VMs tested: "TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (
r99757
) "LazyOSR" at /Volumes/Data/pizlo/octonary/OpenSource/WebKitBuild/Release/jsc (
r99757
) Collected 12 samples per benchmark/VM, with 4 VM invocations per benchmark. Emitted a call to gc() between sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime() function to get microsecond-level timing. Reporting benchmark execution times with 95% confidence intervals in milliseconds. TipOfTree LazyOSR SunSpider: 3d-cube 9.3118+-0.0392 ^ 9.1952+-0.0456 ^ definitely 1.0127x faster 3d-morph 10.2346+-0.1446 10.0995+-0.0314 might be 1.0134x faster 3d-raytrace 9.8547+-0.0569 ^ 9.6235+-0.0570 ^ definitely 1.0240x faster access-binary-trees 2.0201+-0.0106 ^ 1.9793+-0.0091 ^ definitely 1.0206x faster access-fannkuch 9.4425+-0.0129 ^ 9.3486+-0.0238 ^ definitely 1.0100x faster access-nbody 5.4399+-0.0059 ^ 5.2808+-0.0128 ^ definitely 1.0301x faster access-nsieve 3.7853+-0.0104 3.7724+-0.0066 bitops-3bit-bits-in-byte 1.5597+-0.0256 ? 1.5895+-0.0286 ? might be 1.0191x slower bitops-bits-in-byte 5.9901+-0.0060 ! 6.1675+-0.0336 ! definitely 1.0296x slower bitops-bitwise-and 3.9995+-0.0069 3.9900+-0.0035 bitops-nsieve-bits 6.9906+-0.1455 6.9032+-0.0840 might be 1.0127x faster controlflow-recursive 2.8440+-0.0394 ? 2.8646+-0.0400 ? crypto-aes 9.7651+-0.0724 ^ 9.3164+-0.0642 ^ definitely 1.0482x faster crypto-md5 3.3641+-0.0102 ^ 3.3036+-0.0232 ^ definitely 1.0183x faster crypto-sha1 3.1559+-0.0459 ^ 3.0009+-0.0202 ^ definitely 1.0516x faster date-format-tofte 13.2834+-0.1559 ^ 13.0351+-0.0751 ^ definitely 1.0190x faster date-format-xparb 12.7551+-0.1480 ^ 11.5270+-0.0932 ^ definitely 1.1065x faster math-cordic 8.7817+-0.1024 ? 9.1984+-0.3764 ? might be 1.0475x slower math-partial-sums 12.6786+-0.0406 ? 12.7408+-0.0450 ? math-spectral-norm 3.4554+-0.0073 ^ 3.3180+-0.0036 ^ definitely 1.0414x faster regexp-dna 16.6182+-0.2134 16.4619+-0.1279 string-base64 5.1089+-0.0440 ? 5.1959+-0.1666 ? might be 1.0170x slower string-fasta 8.6025+-0.0370 ? 8.6237+-0.0115 ? string-tagcloud 16.6954+-0.3969 16.6808+-0.1369 string-unpack-code 28.3529+-0.1188 ? 28.4580+-0.1054 ? string-validate-input 6.8744+-0.0452 6.8162+-0.0482 <arithmetic> * 8.4986+-0.0377 ^ 8.4035+-0.0354 ^ definitely 1.0113x faster <geometric> 6.7983+-0.0255 ^ 6.7217+-0.0276 ^ definitely 1.0114x faster <harmonic> 5.3340+-0.0232 ^ 5.2825+-0.0240 ^ definitely 1.0098x faster TipOfTree LazyOSR V8: crypto 97.6795+-0.2221 ^ 96.5580+-0.3200 ^ definitely 1.0116x faster deltablue 220.9538+-1.7913 ^ 217.4101+-0.5540 ^ definitely 1.0163x faster earley-boyer 130.9992+-1.5499 130.9933+-0.9396 raytrace 83.5364+-0.2738 ^ 79.9438+-0.3360 ^ definitely 1.0449x faster regexp 149.8602+-0.5903 ^ 148.8902+-0.2403 ^ definitely 1.0065x faster richards 171.5156+-0.3911 ^ 169.7018+-0.1642 ^ definitely 1.0107x faster splay 108.6413+-1.1656 108.4810+-1.4079 <arithmetic> 137.5980+-0.4077 ^ 135.9969+-0.2684 ^ definitely 1.0118x faster <geometric> * 130.9221+-0.3932 ^ 129.2452+-0.2975 ^ definitely 1.0130x faster <harmonic> 124.8203+-0.3930 ^ 122.9570+-0.3130 ^ definitely 1.0152x faster TipOfTree LazyOSR Kraken: ai-astar 896.3311+-0.5234 ? 897.3885+-1.0888 ? audio-beat-detection 255.2577+-1.0697 ? 256.8485+-1.0682 ? audio-dft 315.6081+-2.8663 315.5922+-3.1477 audio-fft 166.7750+-0.1788 ? 167.2417+-0.7851 ? audio-oscillator 354.2109+-1.7018 ^ 350.9050+-0.7410 ^ definitely 1.0094x faster imaging-darkroom 404.0041+-5.4998 403.4374+-5.8335 imaging-desaturate 291.5013+-0.2275 291.2697+-0.0755 imaging-gaussian-blur 754.4036+-3.5127 751.7568+-1.7243 json-parse-financial 87.4539+-0.1942 ^ 86.7862+-0.2007 ^ definitely 1.0077x faster json-stringify-tinderbox 96.1448+-0.7505 95.8490+-0.4159 stanford-crypto-aes 139.1117+-0.4486 ! 141.0177+-0.8612 ! definitely 1.0137x slower stanford-crypto-ccm 136.7368+-0.8909 ? 137.3705+-0.9244 ? stanford-crypto-pbkdf2 287.2300+-2.6423 ^ 281.3833+-2.1771 ^ definitely 1.0208x faster stanford-crypto-sha256-iterative 117.9661+-0.2010 ! 118.8349+-0.3378 ! definitely 1.0074x slower <arithmetic> * 307.3382+-0.6416 306.8344+-0.5357 <geometric> 239.5804+-0.4489 239.3972+-0.3551 <harmonic> 192.9624+-0.2992 ? 192.9762+-0.2265 ? TipOfTree LazyOSR All benchmarks: <arithmetic> 116.7422+-0.2207 ^ 116.3011+-0.1469 ^ definitely 1.0038x faster <geometric> 30.5175+-0.0792 ^ 30.2615+-0.0699 ^ definitely 1.0085x faster <harmonic> 9.3943+-0.0402 ^ 9.3043+-0.0413 ^ definitely 1.0097x faster TipOfTree LazyOSR Geomean of preferred means: <scaled-result> 69.9290+-0.1705 ^ 69.3302+-0.1019 ^ definitely 1.0086x faster
Filip Pizlo
Comment 7
2011-11-09 15:13:10 PST
Created
attachment 114374
[details]
the patch It works and it's ready for review.
WebKit Review Bot
Comment 8
2011-11-09 15:15:34 PST
Attachment 114374
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/CMakeListsEfl.txt', ..." exit_code: 1 Source/JavaScriptCore/assembler/X86Assembler.h:1285: jmp_m is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4] Total errors found: 1 in 29 files If any of these errors are false positives, please file a bug against check-webkit-style.
Early Warning System Bot
Comment 9
2011-11-09 15:26:29 PST
Comment on
attachment 114374
[details]
the patch
Attachment 114374
[details]
did not pass qt-ews (qt): Output:
http://queues.webkit.org/results/10401098
Filip Pizlo
Comment 10
2011-11-09 15:29:31 PST
Created
attachment 114378
[details]
the patch Trying to fix Qt and 32_64.
WebKit Review Bot
Comment 11
2011-11-09 15:31:32 PST
Attachment 114378
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/CMakeListsEfl.txt', ..." exit_code: 1 Source/JavaScriptCore/assembler/X86Assembler.h:1285: jmp_m is incorrectly named. Don't use underscores in your identifier names. [readability/naming] [4] Total errors found: 1 in 29 files If any of these errors are false positives, please file a bug against check-webkit-style.
Gavin Barraclough
Comment 12
2011-11-09 16:51:16 PST
Comment on
attachment 114378
[details]
the patch r+ with comments in person.
Filip Pizlo
Comment 13
2011-11-09 17:09:32 PST
Landed in
http://trac.webkit.org/changeset/99787
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug