| Summary: | [JSC] Avoid going to slow path when comparing undefined and null | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Benjamin Poulain <benjamin> | ||||
| Component: | New Bugs | Assignee: | Benjamin Poulain <benjamin> | ||||
| Status: | RESOLVED DUPLICATE | ||||||
| Severity: | Normal | CC: | fpizlo | ||||
| Priority: | P2 | ||||||
| Version: | 528+ (Nightly build) | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Attachments: |
|
||||||
|
Description
Benjamin Poulain
2015-08-14 16:19:11 PDT
Created attachment 259056 [details]
Patch
Conf#1 Conf#2
SunSpider:
3d-cube 8.0270+-0.2314 ? 8.3705+-0.4974 ? might be 1.0428x slower
3d-morph 8.1423+-0.2629 8.0778+-0.3080
3d-raytrace 8.6281+-0.2705 ? 8.8495+-0.4114 ? might be 1.0257x slower
access-binary-trees 3.1108+-0.1881 3.1095+-0.1234
access-fannkuch 8.6398+-0.1608 8.4928+-0.1323 might be 1.0173x faster
access-nbody 4.1830+-0.2632 4.1400+-0.2182 might be 1.0104x faster
access-nsieve 4.5781+-0.0761 ? 4.6166+-0.1229 ?
bitops-3bit-bits-in-byte 1.9863+-0.0201 ? 2.0385+-0.1665 ? might be 1.0262x slower
bitops-bits-in-byte 5.6634+-0.0469 5.5883+-0.0686 might be 1.0134x faster
bitops-bitwise-and 2.8320+-0.2365 2.7089+-0.2151 might be 1.0454x faster
bitops-nsieve-bits 4.3690+-0.1124 4.2479+-0.0561 might be 1.0285x faster
controlflow-recursive 3.0052+-0.0639 ? 3.0807+-0.1469 ? might be 1.0251x slower
crypto-aes 6.0765+-0.2871 6.0192+-0.3982
crypto-md5 3.8787+-0.1117 ? 3.8879+-0.1360 ?
crypto-sha1 3.3662+-0.1525 3.2835+-0.1581 might be 1.0252x faster
date-format-tofte 12.5698+-0.5042 12.1857+-0.5735 might be 1.0315x faster
date-format-xparb 7.3695+-0.1444 7.2939+-0.4023 might be 1.0104x faster
math-cordic 4.3356+-0.0694 ? 4.3890+-0.0932 ? might be 1.0123x slower
math-partial-sums 10.1257+-0.3032 ? 10.1627+-0.3318 ?
math-spectral-norm 2.9561+-0.1776 ? 2.9691+-0.1027 ?
regexp-dna 10.1000+-0.1767 9.9821+-0.4862 might be 1.0118x faster
string-base64 6.4539+-0.4130 ? 6.6208+-0.2183 ? might be 1.0259x slower
string-fasta 9.2523+-0.1551 ? 9.3478+-0.0672 ? might be 1.0103x slower
string-tagcloud 13.2127+-0.9639 ? 13.2138+-0.3353 ?
string-unpack-code 29.0781+-0.9197 29.0722+-1.5443
string-validate-input 6.8618+-0.3863 6.8356+-0.3159
<arithmetic> 7.2616+-0.0529 7.2532+-0.0805 might be 1.0012x faster
Conf#1 Conf#2
LongSpider:
3d-cube 1159.4390+-18.3872 ? 1159.9818+-5.5884 ?
3d-morph 1872.3270+-4.0075 1871.2806+-1.6537
3d-raytrace 996.2850+-15.7166 987.9307+-23.3216
access-binary-trees 1321.8011+-3.7252 ? 1322.8964+-5.6430 ?
access-fannkuch 449.0647+-21.0879 ? 464.4824+-39.7047 ? might be 1.0343x slower
access-nbody 1008.7484+-0.7014 ? 1010.6885+-1.5951 ?
access-nsieve 666.4697+-11.4402 666.3622+-8.4761
bitops-3bit-bits-in-byte 51.4730+-0.5074 ? 52.2062+-1.1943 ? might be 1.0142x slower
bitops-bits-in-byte 310.0107+-6.2068 ? 314.7267+-7.0319 ? might be 1.0152x slower
bitops-nsieve-bits 620.4373+-3.7827 619.4960+-3.6790
controlflow-recursive 686.0615+-1.2504 ^ 676.2185+-1.2180 ^ definitely 1.0146x faster
crypto-aes 940.2765+-7.6746 932.1885+-7.4716
crypto-md5 695.4270+-3.4939 ? 700.1296+-10.2146 ?
crypto-sha1 964.9257+-2.1927 ? 965.6763+-5.0394 ?
date-format-tofte 956.9150+-14.7842 947.0907+-9.3238 might be 1.0104x faster
date-format-xparb 1063.1870+-105.9450 1057.6287+-83.9667
hash-map 238.4415+-1.5434 237.1068+-4.6344
math-cordic 654.6338+-1.1860 ? 656.4597+-2.7010 ?
math-partial-sums 1126.2252+-4.1284 ? 1130.0621+-3.8194 ?
math-spectral-norm 1074.9101+-1.9610 ? 1074.9171+-2.7628 ?
string-base64 530.9650+-3.4890 ? 532.9538+-5.7707 ?
string-fasta 606.8112+-5.2560 ? 609.0435+-5.2807 ?
string-tagcloud 286.3067+-4.6076 282.1616+-2.5118 might be 1.0147x faster
<geometric> 657.7898+-3.5459 ? 658.2909+-3.1522 ? might be 1.0008x slower
Conf#1 Conf#2
V8Spider:
crypto 73.2687+-1.4024 72.1216+-0.9278 might be 1.0159x faster
deltablue 92.2487+-2.4600 ? 96.0862+-3.6794 ? might be 1.0416x slower
earley-boyer 63.3910+-1.0347 ? 63.5065+-1.2097 ?
raytrace 41.3782+-2.1482 ? 41.5938+-1.7031 ?
regexp 102.9228+-0.5188 102.2650+-0.8783
richards 93.9991+-2.2165 92.9843+-1.8538 might be 1.0109x faster
splay 55.1071+-1.8320 ? 55.6590+-2.1056 ? might be 1.0100x slower
<geometric> 71.3838+-0.7175 ? 71.6381+-1.1915 ? might be 1.0036x slower
Conf#1 Conf#2
Octane:
encrypt 0.27555+-0.01586 ? 0.27879+-0.00453 ? might be 1.0118x slower
decrypt 4.83295+-0.00507 ? 4.85875+-0.02968 ?
deltablue x2 0.26448+-0.01150 0.26235+-0.01431
earley 0.50115+-0.00201 0.50041+-0.00412
boyer 8.04595+-0.08925 7.93259+-0.10713 might be 1.0143x faster
navier-stokes x2 6.37906+-0.03004 6.36829+-0.00458
raytrace x2 1.71163+-0.07924 ? 1.78228+-0.11828 ? might be 1.0413x slower
richards x2 0.16984+-0.00142 ? 0.17222+-0.00315 ? might be 1.0140x slower
splay x2 0.53225+-0.00674 ? 0.53932+-0.00713 ? might be 1.0133x slower
regexp x2 38.34281+-0.58286 37.95919+-0.26565 might be 1.0101x faster
pdfjs x2 59.83973+-0.23388 ? 60.00888+-0.40818 ?
mandreel x2 69.93256+-0.61686 69.62872+-0.44826
gbemu x2 59.82779+-1.28386 ? 60.29241+-0.65040 ?
closure 0.89632+-0.00175 0.89594+-0.00590
jquery 11.69179+-0.06452 11.67285+-0.10563
box2d x2 17.24493+-0.25505 ? 17.40000+-0.10062 ?
zlib x2 574.63719+-10.86984 572.46226+-4.67871
typescript x2 1096.98853+-32.30140 ? 1119.18933+-16.95256 ? might be 1.0202x slower
<geometric> 8.99476+-0.03262 ? 9.04214+-0.05265 ? might be 1.0053x slower
Conf#1 Conf#2
Kraken:
ai-astar 366.954+-7.110 358.306+-22.822 might be 1.0241x faster
audio-beat-detection 83.350+-0.155 82.378+-1.091 might be 1.0118x faster
audio-dft 130.904+-4.564 127.778+-2.067 might be 1.0245x faster
audio-fft 59.235+-0.745 59.018+-0.487
audio-oscillator 101.311+-0.431 100.828+-0.458
imaging-darkroom 94.925+-0.306 94.838+-0.415
imaging-desaturate 90.572+-0.955 90.379+-0.763
imaging-gaussian-blur 151.483+-1.093 150.710+-2.667
json-parse-financial 69.007+-1.263 ? 69.180+-0.636 ?
json-stringify-tinderbox 41.754+-0.661 41.543+-0.833
stanford-crypto-aes 63.410+-2.167 ? 63.569+-0.416 ?
stanford-crypto-ccm 59.182+-2.108 57.932+-2.425 might be 1.0216x faster
stanford-crypto-pbkdf2 142.639+-2.715 141.572+-1.771
stanford-crypto-sha256-iterative 58.184+-1.739 57.436+-2.095 might be 1.0130x faster
<arithmetic> 108.065+-0.846 106.819+-1.662 might be 1.0117x faster
Conf#1 Conf#2
JSRegress:
abc-forward-loop-equal 58.2887+-1.0064 ? 58.3814+-0.5516 ?
abc-postfix-backward-loop 56.7443+-1.1515 ? 57.2455+-2.1390 ?
abc-simple-backward-loop 56.7975+-1.5868 56.4058+-0.5100
abc-simple-forward-loop 56.9490+-0.4733 56.7919+-0.6236
abc-skippy-loop 38.8353+-0.2932 ? 39.2732+-0.7482 ? might be 1.0113x slower
abs-boolean 3.8264+-0.1971 3.7173+-0.1145 might be 1.0293x faster
adapt-to-double-divide 19.0785+-0.6318 18.9803+-0.3377
aliased-arguments-getbyval 1.7449+-0.1748 1.6933+-0.3307 might be 1.0305x faster
allocate-big-object 3.8170+-0.2369 3.4373+-0.3056 might be 1.1105x faster
arguments-named-and-reflective 15.1081+-0.5961 15.0075+-0.1418
arguments-out-of-bounds 18.0140+-0.2171 ? 18.4821+-0.3800 ? might be 1.0260x slower
arguments-strict-mode 14.1133+-0.4487 14.0585+-0.6840
arguments 12.7502+-0.1603 12.5034+-0.7468 might be 1.0197x faster
arity-mismatch-inlining 1.2207+-0.1538 1.2190+-0.1256
array-access-polymorphic-structure 9.2256+-0.0982 ? 9.3348+-0.2856 ? might be 1.0118x slower
array-nonarray-polymorhpic-access 43.8837+-1.6009 43.5362+-2.3322
array-prototype-every 117.4352+-0.3903 117.4315+-0.8044
array-prototype-forEach 116.4421+-3.7636 ? 117.4316+-3.8972 ?
array-prototype-map 129.6927+-3.6762 128.7234+-1.3312
array-prototype-reduce 111.0988+-2.5063 110.4459+-2.9779
array-prototype-reduceRight 110.7897+-1.7052 ? 110.9873+-2.8425 ?
array-prototype-some 119.0731+-2.0873 118.7554+-2.3622
array-splice-contiguous 33.2384+-0.6302 33.0129+-0.7028
array-with-double-add 5.6268+-0.1444 ? 5.7300+-0.1647 ? might be 1.0184x slower
array-with-double-increment 4.1437+-0.1400 ? 4.1591+-0.2038 ?
array-with-double-mul-add 7.2116+-0.1274 ? 7.2646+-0.1430 ?
array-with-double-sum 4.4636+-0.1600 4.3229+-0.2244 might be 1.0325x faster
array-with-int32-add-sub 9.7039+-0.2661 ? 9.8176+-0.5627 ? might be 1.0117x slower
array-with-int32-or-double-sum 4.4205+-0.2741 ? 4.4442+-0.1325 ?
ArrayBuffer-DataView-alloc-large-long-lived
45.4847+-1.9772 ? 47.4412+-3.7053 ? might be 1.0430x slower
ArrayBuffer-DataView-alloc-long-lived 17.9303+-0.7373 17.9271+-0.6407
ArrayBuffer-Int32Array-byteOffset 5.7529+-0.1323 5.7103+-0.3444
ArrayBuffer-Int8Array-alloc-large-long-lived
46.7865+-1.8971 ? 47.7119+-1.7964 ? might be 1.0198x slower
ArrayBuffer-Int8Array-alloc-long-lived-buffer
29.9709+-1.3758 ? 30.4168+-0.9992 ? might be 1.0149x slower
ArrayBuffer-Int8Array-alloc-long-lived 16.9316+-0.1045 ? 17.7052+-1.0998 ? might be 1.0457x slower
ArrayBuffer-Int8Array-alloc 14.4175+-0.3142 14.3056+-0.5656
asmjs_bool_bug 9.7740+-0.2169 9.7323+-0.1355
assign-custom-setter-polymorphic 4.1656+-0.1176 ? 4.2510+-0.1250 ? might be 1.0205x slower
assign-custom-setter 5.7785+-0.1751 5.7062+-0.2531 might be 1.0127x faster
basic-set 11.9575+-0.7414 11.7069+-0.6779 might be 1.0214x faster
big-int-mul 5.8705+-0.1417 ? 5.9474+-0.2081 ? might be 1.0131x slower
boolean-test 4.4860+-0.0408 4.3840+-0.1352 might be 1.0232x faster
branch-fold 4.7819+-0.0496 ? 4.8207+-0.1278 ?
branch-on-string-as-boolean 26.6865+-0.3951 26.3751+-1.4106 might be 1.0118x faster
by-val-generic 9.0914+-0.4552 ? 9.3495+-0.3739 ? might be 1.0284x slower
call-spread-apply 38.4805+-0.4369 ? 39.7807+-1.9166 ? might be 1.0338x slower
call-spread-call 33.1773+-1.7863 ? 35.5188+-2.3682 ? might be 1.0706x slower
captured-assignments 0.7251+-0.2070 0.7153+-0.1676 might be 1.0137x faster
cast-int-to-double 8.3672+-0.1694 8.2828+-0.1660 might be 1.0102x faster
cell-argument 10.2355+-0.7282 10.1572+-0.2452
cfg-simplify 4.0626+-0.1700 3.9446+-0.2435 might be 1.0299x faster
chain-getter-access 12.1132+-0.6099 12.0158+-0.5454
cmpeq-obj-to-obj-other 13.6918+-0.6339 13.4770+-1.0689 might be 1.0159x faster
constant-test 8.0485+-0.1622 8.0262+-0.2435
create-lots-of-functions 16.2736+-0.2387 ? 16.7440+-0.2835 ? might be 1.0289x slower
cse-new-array-buffer 3.1590+-0.1747 ? 3.2490+-0.2491 ? might be 1.0285x slower
cse-new-array 3.3322+-0.2206 ? 3.3499+-0.2354 ?
DataView-custom-properties 53.9090+-1.8937 ? 54.6787+-2.4591 ? might be 1.0143x slower
delay-tear-off-arguments-strictmode 18.9810+-0.5663 ? 19.0701+-0.9397 ?
deltablue-varargs 268.6152+-3.7894 ? 271.9018+-6.9076 ? might be 1.0122x slower
destructuring-arguments 239.3279+-3.4525 ? 239.4290+-4.4579 ?
destructuring-parameters-overridden-by-function
0.7950+-0.1433 0.7490+-0.1560 might be 1.0614x faster
destructuring-swap 7.8615+-0.1651 7.7859+-0.2656
direct-arguments-getbyval 1.6850+-0.1650 ? 1.7838+-0.1640 ? might be 1.0586x slower
div-boolean-double 5.6132+-0.1508 5.6122+-0.1082
div-boolean 9.9347+-0.3788 ? 10.0549+-0.1559 ? might be 1.0121x slower
double-get-by-val-out-of-bounds 6.0786+-0.4350 ? 6.3256+-0.3239 ? might be 1.0406x slower
double-pollution-getbyval 9.9087+-0.2003 9.8135+-0.2419
double-pollution-putbyoffset 5.5997+-0.3304 ? 5.6437+-0.1694 ?
double-real-use 40.6090+-0.5327 40.5966+-1.1797
double-to-int32-typed-array-no-inline 2.9141+-0.1541 2.7863+-0.1717 might be 1.0458x faster
double-to-int32-typed-array 2.6895+-0.0675 2.6578+-0.0791 might be 1.0119x faster
double-to-uint32-typed-array-no-inline 2.9337+-0.2020 ? 2.9900+-0.1195 ? might be 1.0192x slower
double-to-uint32-typed-array 2.7392+-0.1450 ? 2.8625+-0.1935 ? might be 1.0450x slower
elidable-new-object-dag 55.5491+-2.1268 ? 56.4929+-1.9160 ? might be 1.0170x slower
elidable-new-object-roflcopter 56.0391+-0.9879 ? 56.3384+-0.6889 ?
elidable-new-object-then-call 57.3751+-1.9965 ? 58.2582+-2.2884 ? might be 1.0154x slower
elidable-new-object-tree 66.3618+-1.6502 ? 67.8672+-2.5131 ? might be 1.0227x slower
empty-string-plus-int 7.5840+-0.2597 7.5654+-0.2521
emscripten-cube2hash 45.5349+-1.0407 ? 45.7130+-1.0894 ?
exit-length-on-plain-object 20.0347+-2.3064 19.1815+-0.3366 might be 1.0445x faster
external-arguments-getbyval 1.7682+-0.2180 1.7424+-0.0926 might be 1.0149x faster
external-arguments-putbyval 3.1785+-0.1449 ? 3.2415+-0.1525 ? might be 1.0198x slower
fixed-typed-array-storage-var-index 1.6366+-0.2326 1.6014+-0.1639 might be 1.0220x faster
fixed-typed-array-storage 1.2861+-0.0914 1.2835+-0.1077
Float32Array-matrix-mult 6.2012+-0.2162 6.1163+-0.2436 might be 1.0139x faster
Float32Array-to-Float64Array-set 75.7306+-2.7376 ? 85.0920+-30.7306 ? might be 1.1236x slower
Float64Array-alloc-long-lived 93.1265+-1.2259 92.6470+-0.6640
Float64Array-to-Int16Array-set 92.6533+-0.4591 91.6345+-1.8214 might be 1.0111x faster
fold-double-to-int 19.5321+-0.5629 19.2605+-0.7033 might be 1.0141x faster
fold-get-by-id-to-multi-get-by-offset-rare-int
12.0860+-0.4289 11.8972+-0.5459 might be 1.0159x faster
fold-get-by-id-to-multi-get-by-offset 9.4568+-0.5245 9.3918+-0.3502
fold-multi-get-by-offset-to-get-by-offset
8.7472+-0.6326 ? 8.7896+-0.8539 ?
fold-multi-get-by-offset-to-poly-get-by-offset
8.3160+-0.7068 ? 8.6014+-0.4161 ? might be 1.0343x slower
fold-multi-put-by-offset-to-poly-put-by-offset
7.5986+-0.6523 ? 7.9963+-0.5620 ? might be 1.0523x slower
fold-multi-put-by-offset-to-put-by-offset
6.6580+-0.6721 ? 6.7843+-0.5302 ? might be 1.0190x slower
fold-multi-put-by-offset-to-replace-or-transition-put-by-offset
13.2728+-0.2875 12.6271+-0.4430 might be 1.0511x faster
fold-put-by-id-to-multi-put-by-offset 9.6065+-0.6182 9.2958+-0.5993 might be 1.0334x faster
fold-put-structure 6.8015+-0.5881 6.7257+-0.5777 might be 1.0113x faster
for-of-iterate-array-entries 16.7695+-0.2466 16.7354+-0.6625
for-of-iterate-array-keys 5.3076+-0.1228 5.0300+-0.4303 might be 1.0552x faster
for-of-iterate-array-values 5.0027+-0.2522 4.8495+-0.2939 might be 1.0316x faster
fround 24.4231+-0.7553 ? 25.6017+-1.6071 ? might be 1.0483x slower
ftl-library-inlining-dataview 93.6871+-4.0901 ? 95.8419+-6.1818 ? might be 1.0230x slower
ftl-library-inlining 90.3807+-0.8303 ? 90.3939+-1.7109 ?
function-dot-apply 3.0753+-0.2306 2.9447+-0.1353 might be 1.0444x faster
function-test 4.3166+-0.1368 ? 4.3642+-0.1923 ? might be 1.0110x slower
function-with-eval 152.2069+-1.7286 151.0617+-0.5950
gcse-poly-get-less-obvious 24.9995+-0.3918 ? 25.1913+-0.8000 ?
gcse-poly-get 25.0765+-0.4001 ? 25.0788+-0.5365 ?
gcse 6.6767+-0.1871 ? 6.6859+-0.0741 ?
get-by-id-bimorphic-check-structure-elimination-simple
3.3588+-0.0701 3.2603+-0.0416 might be 1.0302x faster
get-by-id-bimorphic-check-structure-elimination
8.4265+-0.3332 8.4072+-0.0614
get-by-id-chain-from-try-block 6.6638+-0.2946 ? 6.7987+-0.1497 ? might be 1.0202x slower
get-by-id-check-structure-elimination 7.5994+-0.0663 ? 7.6259+-0.0724 ?
get-by-id-proto-or-self 24.9205+-2.8048 23.7673+-1.6365 might be 1.0485x faster
get-by-id-quadmorphic-check-structure-elimination-simple
3.9924+-0.1408 ? 4.0090+-0.0424 ?
get-by-id-self-or-proto 23.0740+-0.6575 ? 23.4334+-1.5997 ? might be 1.0156x slower
get-by-val-out-of-bounds 5.8887+-0.2031 ? 5.8917+-0.4282 ?
get-by-val-with-string-bimorphic-check-structure-elimination-simple
3.8891+-0.1209 ! 4.3538+-0.1061 ! definitely 1.1195x slower
get-by-val-with-string-bimorphic-check-structure-elimination
9.9590+-0.1676 ? 10.1454+-0.1757 ? might be 1.0187x slower
get-by-val-with-string-chain-from-try-block
7.8618+-0.2827 ? 7.9338+-0.2038 ?
get-by-val-with-string-check-structure-elimination
9.2508+-0.1385 9.0905+-0.2060 might be 1.0176x faster
get-by-val-with-string-proto-or-self 23.7261+-1.4576 23.4355+-0.9578 might be 1.0124x faster
get-by-val-with-string-quadmorphic-check-structure-elimination-simple
5.0061+-0.1733 4.9163+-0.0732 might be 1.0183x faster
get-by-val-with-string-self-or-proto 23.9263+-1.9701 ? 24.7756+-2.7752 ? might be 1.0355x slower
get-by-val-with-symbol-bimorphic-check-structure-elimination-simple
4.7784+-0.1242 ! 5.1998+-0.1189 ! definitely 1.0882x slower
get-by-val-with-symbol-bimorphic-check-structure-elimination
19.4578+-0.3987 ? 19.6690+-0.6428 ? might be 1.0109x slower
get-by-val-with-symbol-chain-from-try-block
8.0378+-0.1686 7.8813+-0.1372 might be 1.0199x faster
get-by-val-with-symbol-check-structure-elimination
18.2907+-0.4349 18.2406+-0.0967
get-by-val-with-symbol-proto-or-self 24.0062+-2.0889 23.8724+-2.0738
get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple
6.1989+-0.0546 6.1830+-0.1724
get-by-val-with-symbol-self-or-proto 23.9543+-2.6164 ? 24.7161+-2.2229 ? might be 1.0318x slower
get_callee_monomorphic 3.6133+-0.1993 ? 3.6172+-0.3239 ?
get_callee_polymorphic 4.4749+-0.1678 ? 4.5038+-0.2935 ?
getter-no-activation 5.9998+-0.6117 5.7992+-0.1417 might be 1.0346x faster
getter-prototype 18.1263+-0.3187 18.0215+-0.4027
getter-richards 132.0611+-1.5368 ? 132.3125+-3.5260 ?
getter 7.2862+-0.1544 7.2575+-0.1168
global-object-access-with-mutating-structure
8.7153+-0.3302 8.3966+-0.6224 might be 1.0380x faster
global-var-const-infer-fire-from-opt 1.4174+-0.1257 1.3477+-0.2471 might be 1.0517x faster
global-var-const-infer 1.0780+-0.1889 ? 1.1154+-0.1466 ? might be 1.0347x slower
HashMap-put-get-iterate-keys 33.5554+-0.7109 ? 33.5730+-0.3699 ?
HashMap-put-get-iterate 32.8280+-0.3127 ? 32.8465+-0.2581 ?
HashMap-string-put-get-iterate 37.2803+-1.5704 35.9612+-0.9820 might be 1.0367x faster
hoist-make-rope 16.0734+-2.2169 ? 16.9504+-2.1026 ? might be 1.0546x slower
hoist-poly-check-structure-effectful-loop
7.0628+-0.0791 7.0062+-0.1961
hoist-poly-check-structure 4.8928+-0.2016 ? 4.9135+-0.1598 ?
imul-double-only 10.4675+-0.8363 ? 11.2904+-0.9380 ? might be 1.0786x slower
imul-int-only 12.6352+-0.6035 12.6135+-0.7586
imul-mixed 10.6093+-0.2451 ? 10.9760+-0.4745 ? might be 1.0346x slower
in-four-cases 27.5613+-0.3486 27.5470+-0.1757
in-one-case-false 14.7556+-0.2779 14.5455+-0.3250 might be 1.0144x faster
in-one-case-true 14.5605+-0.2746 ? 14.6133+-0.1683 ?
in-two-cases 15.3001+-0.2979 ? 15.4854+-0.1410 ? might be 1.0121x slower
indexed-properties-in-objects 3.7530+-0.1958 ? 3.7867+-0.0916 ?
infer-closure-const-then-mov-no-inline 4.5552+-0.1658 4.4617+-0.1518 might be 1.0210x faster
infer-closure-const-then-mov 25.6282+-0.6965 25.5356+-0.4920
infer-closure-const-then-put-to-scope-no-inline
14.8829+-0.2470 14.7369+-0.1857
infer-closure-const-then-put-to-scope 28.0590+-0.2565 ? 28.1827+-0.8191 ?
infer-closure-const-then-reenter-no-inline
71.6585+-0.9315 71.5441+-0.3208
infer-closure-const-then-reenter 28.3509+-0.2362 ? 28.6378+-0.3355 ? might be 1.0101x slower
infer-constant-global-property 4.8878+-0.2838 4.7686+-0.1509 might be 1.0250x faster
infer-constant-property 3.2859+-0.1009 ? 3.3238+-0.0871 ? might be 1.0115x slower
infer-one-time-closure-ten-vars 14.6336+-1.1479 14.5790+-0.8828
infer-one-time-closure-two-vars 14.4915+-0.7028 14.1931+-0.4429 might be 1.0210x faster
infer-one-time-closure 14.7592+-0.6940 ? 14.8199+-0.3540 ?
infer-one-time-deep-closure 25.3856+-0.1929 25.1282+-0.2910 might be 1.0102x faster
inline-arguments-access 5.8500+-0.4612 ? 5.8824+-0.2444 ?
inline-arguments-aliased-access 5.9479+-0.1476 ? 5.9579+-0.1923 ?
inline-arguments-local-escape 5.9890+-0.2159 5.9855+-0.4742
inline-get-scoped-var 5.8372+-0.2177 5.7009+-0.0838 might be 1.0239x faster
inlined-put-by-id-transition 17.2598+-0.3707 17.0693+-0.8540 might be 1.0112x faster
int-or-other-abs-then-get-by-val 6.9661+-0.0644 6.9592+-0.2572
int-or-other-abs-zero-then-get-by-val 27.6118+-0.4366 27.4520+-0.8042
int-or-other-add-then-get-by-val 5.9312+-0.1685 ? 6.1255+-0.1639 ? might be 1.0328x slower
int-or-other-add 8.0950+-0.1849 8.0850+-0.1023
int-or-other-div-then-get-by-val 5.3392+-0.0792 5.3247+-0.1693
int-or-other-max-then-get-by-val 5.3975+-0.0527 5.3712+-0.1339
int-or-other-min-then-get-by-val 5.2209+-0.0749 ? 5.2571+-0.0123 ?
int-or-other-mod-then-get-by-val 5.2366+-0.1751 5.1975+-0.0816
int-or-other-mul-then-get-by-val 5.1489+-0.1549 5.1454+-0.0817
int-or-other-neg-then-get-by-val 6.5280+-0.0678 6.4048+-0.1053 might be 1.0192x faster
int-or-other-neg-zero-then-get-by-val 27.9598+-1.0573 27.4907+-0.2768 might be 1.0171x faster
int-or-other-sub-then-get-by-val 6.0895+-0.1239 6.0663+-0.2082
int-or-other-sub 4.8351+-0.2339 ? 4.8837+-0.1231 ? might be 1.0101x slower
int-overflow-local 5.8470+-0.1376 ? 6.0366+-0.6931 ? might be 1.0324x slower
Int16Array-alloc-long-lived 65.1121+-0.8853 64.9979+-1.1488
Int16Array-bubble-sort-with-byteLength 38.0549+-1.0541 ? 38.2034+-1.2812 ?
Int16Array-bubble-sort 37.6967+-0.4592 37.5710+-0.4605
Int16Array-load-int-mul 2.0907+-0.1680 2.0167+-0.0937 might be 1.0367x faster
Int16Array-to-Int32Array-set 72.5335+-1.4316 72.4548+-1.5258
Int32Array-alloc-large 33.5204+-2.1511 33.2973+-0.6012
Int32Array-alloc-long-lived 74.6233+-1.9901 73.9258+-1.3238
Int32Array-alloc 4.7817+-0.5218 4.5452+-0.2219 might be 1.0520x faster
Int32Array-Int8Array-view-alloc 9.2092+-0.1216 ? 9.2820+-0.6863 ?
int52-spill 6.8708+-0.2395 6.8447+-0.4100
Int8Array-alloc-long-lived 57.6243+-0.9129 57.5596+-0.9197
Int8Array-load-with-byteLength 4.7959+-0.1344 4.7903+-0.1777
Int8Array-load 4.8262+-0.0853 4.7898+-0.1565
integer-divide 13.5342+-0.5166 13.5288+-0.2657
integer-modulo 2.8031+-0.2086 ? 2.8085+-0.2523 ?
is-boolean-fold-tricky 5.8223+-0.1483 5.8112+-0.1002
is-boolean-fold 3.9602+-0.0909 ? 4.0553+-0.2242 ? might be 1.0240x slower
is-function-fold-tricky-internal-function
14.8935+-1.0499 ? 15.0900+-1.0239 ? might be 1.0132x slower
is-function-fold-tricky 5.9641+-0.0830 ? 5.9827+-0.2145 ?
is-function-fold 4.0333+-0.1328 ? 4.0934+-0.1103 ? might be 1.0149x slower
is-number-fold-tricky 5.8030+-0.1511 5.7949+-0.2084
is-number-fold 3.9904+-0.2336 ? 4.0317+-0.1055 ? might be 1.0104x slower
is-object-or-null-fold-functions 4.2217+-0.1751 4.1281+-0.1735 might be 1.0227x faster
is-object-or-null-fold-less-tricky 6.0062+-0.0782 5.9191+-0.2302 might be 1.0147x faster
is-object-or-null-fold-tricky 7.7667+-0.1416 7.7462+-0.1164
is-object-or-null-fold 4.0212+-0.0839 ? 4.1353+-0.0708 ? might be 1.0284x slower
is-object-or-null-trickier-function 6.0673+-0.1468 6.0487+-0.1671
is-object-or-null-trickier-internal-function
15.6751+-2.3187 15.1358+-0.0881 might be 1.0356x faster
is-object-or-null-tricky-function 5.9968+-0.1564 ? 6.0485+-0.0739 ?
is-object-or-null-tricky-internal-function
11.4572+-0.9460 11.3889+-0.0788
is-string-fold-tricky 5.8289+-0.1140 5.8242+-0.1477
is-string-fold 3.9767+-0.1623 ? 4.0387+-0.0869 ? might be 1.0156x slower
is-undefined-fold-tricky 4.5299+-0.1682 ? 4.5640+-0.1095 ?
is-undefined-fold 4.0998+-0.0728 4.0361+-0.0185 might be 1.0158x faster
JSONP-negative-0 0.4077+-0.0999 ? 0.4131+-0.1058 ? might be 1.0133x slower
large-int-captured 6.8360+-0.1693 6.7210+-0.2996 might be 1.0171x faster
large-int-neg 21.2775+-0.2361 ? 21.5086+-0.5034 ? might be 1.0109x slower
large-int 19.3978+-0.4221 19.2560+-0.7604
load-varargs-elimination 30.5300+-1.0810 ? 32.9486+-7.1416 ? might be 1.0792x slower
logical-not-weird-types 4.9949+-0.1023 ? 5.0725+-0.1853 ? might be 1.0155x slower
logical-not 6.5330+-0.5789 6.1904+-0.1397 might be 1.0554x faster
lots-of-fields 17.8360+-0.4898 ? 18.2853+-0.2093 ? might be 1.0252x slower
make-indexed-storage 4.1973+-0.6226 ? 4.3390+-0.2378 ? might be 1.0338x slower
make-rope-cse 6.3795+-0.2929 ? 6.5083+-0.2448 ? might be 1.0202x slower
marsaglia-larger-ints 53.6818+-0.8781 ? 53.9678+-1.3525 ?
marsaglia-osr-entry 28.9672+-0.7918 ? 29.1805+-0.5315 ?
math-with-out-of-bounds-array-values 31.9413+-0.1630 ? 32.2396+-0.1519 ?
max-boolean 3.3460+-0.0867 ? 3.3618+-0.1283 ?
method-on-number 23.4180+-0.4877 ? 23.6349+-1.1880 ?
min-boolean 3.3389+-0.1112 ? 3.3865+-0.2082 ? might be 1.0143x slower
minus-boolean-double 4.4142+-0.5865 4.2569+-0.1090 might be 1.0370x faster
minus-boolean 3.3251+-0.1084 3.2740+-0.0791 might be 1.0156x faster
misc-strict-eq 56.0356+-1.1150 ? 56.7390+-2.5648 ? might be 1.0126x slower
mod-boolean-double 11.8713+-0.1148 11.6815+-0.2303 might be 1.0162x faster
mod-boolean 8.7926+-0.1691 ? 8.8211+-0.0791 ?
mul-boolean-double 4.9789+-0.1572 4.8437+-0.1000 might be 1.0279x faster
mul-boolean 3.5997+-0.1455 3.5095+-0.1243 might be 1.0257x faster
neg-boolean 4.3529+-0.1378 ? 4.4579+-0.1597 ? might be 1.0241x slower
negative-zero-divide 0.5853+-0.1294 0.5838+-0.1161
negative-zero-modulo 0.5977+-0.1097 0.5197+-0.0967 might be 1.1500x faster
negative-zero-negate 0.5341+-0.1058 0.5035+-0.1102 might be 1.0609x faster
nested-function-parsing 71.2968+-1.2420 71.2443+-1.2230
new-array-buffer-dead 146.5917+-2.1576 ? 148.3995+-2.7854 ? might be 1.0123x slower
new-array-buffer-push 9.9073+-0.1162 9.7909+-0.3816 might be 1.0119x faster
new-array-dead 25.8542+-1.4003 25.7987+-4.4359
new-array-push 5.3424+-0.4147 ? 5.5535+-0.2305 ? might be 1.0395x slower
no-inline-constructor 50.8151+-1.2009 ? 51.1027+-1.0621 ?
number-test 4.2703+-0.1234 ? 4.3605+-0.0821 ? might be 1.0211x slower
object-closure-call 7.9652+-0.3756 7.8865+-0.2630
object-get-own-property-symbols-on-large-array
5.0026+-0.3170 4.9579+-0.6391
object-test 4.1442+-0.2170 ? 4.3013+-0.1065 ? might be 1.0379x slower
obvious-sink-pathology-taken 176.7546+-4.8419 174.1758+-1.1313 might be 1.0148x faster
obvious-sink-pathology 159.4089+-2.0055 ? 161.3255+-3.1990 ? might be 1.0120x slower
obviously-elidable-new-object 51.1613+-1.2211 ? 51.2842+-1.1859 ?
plus-boolean-arith 3.3473+-0.0711 3.3409+-0.0574
plus-boolean-double 4.2972+-0.1395 4.2307+-0.1639 might be 1.0157x faster
plus-boolean 3.3223+-0.2221 3.2604+-0.1024 might be 1.0190x faster
poly-chain-access-different-prototypes-simple
4.8985+-0.1158 4.8448+-0.0621 might be 1.0111x faster
poly-chain-access-different-prototypes 4.4503+-0.1148 ? 4.4659+-0.1686 ?
poly-chain-access-simpler 4.9628+-0.0838 4.9313+-0.0923
poly-chain-access 5.3068+-0.1142 5.2956+-0.0592
poly-stricteq 76.8267+-1.1512 76.0848+-0.4150
polymorphic-array-call 1.7773+-0.2478 ? 2.0270+-0.1608 ? might be 1.1405x slower
polymorphic-get-by-id 4.1860+-0.1253 ? 4.2405+-0.0842 ? might be 1.0130x slower
polymorphic-put-by-id 41.3494+-4.0694 41.0753+-3.3648
polymorphic-structure 23.4633+-0.2322 ? 23.4886+-0.3526 ?
polyvariant-monomorphic-get-by-id 11.6137+-0.2547 11.5886+-0.2014
proto-getter-access 11.9475+-0.8872 ? 12.0590+-0.1658 ?
prototype-access-with-mutating-prototype 8.3276+-0.4275 8.1007+-0.1082 might be 1.0280x faster
put-by-id-replace-and-transition 12.7149+-0.5136 12.3842+-0.3897 might be 1.0267x faster
put-by-id-slightly-polymorphic 3.6617+-0.2835 3.5425+-0.1349 might be 1.0336x faster
put-by-id 18.2053+-0.4786 18.0837+-0.5460
put-by-val-direct 0.5677+-0.0934 ? 0.5967+-0.1105 ? might be 1.0511x slower
put-by-val-large-index-blank-indexing-type
8.6953+-0.7273 ? 8.9435+-0.8237 ? might be 1.0285x slower
put-by-val-machine-int 3.4595+-0.2861 ? 3.4799+-0.2068 ?
rare-osr-exit-on-local 18.5200+-0.0614 18.1951+-0.6399 might be 1.0179x faster
register-pressure-from-osr 26.6147+-0.7066 ? 26.6753+-0.4447 ?
repeat-multi-get-by-offset 29.4469+-0.2531 ? 29.4535+-0.6374 ?
setter-prototype 13.1982+-0.7287 ? 13.5646+-1.2188 ? might be 1.0278x slower
setter 7.5005+-0.5115 7.3199+-0.1835 might be 1.0247x faster
simple-activation-demo 34.6340+-1.0875 34.3439+-0.6341
simple-getter-access 15.7452+-0.5904 15.5635+-0.4802 might be 1.0117x faster
simple-poly-call-nested 9.0623+-0.0959 ? 9.1170+-0.1691 ?
simple-poly-call 1.6585+-0.0576 1.6577+-0.0966
sin-boolean 27.8470+-1.6245 ? 29.3789+-1.0582 ? might be 1.0550x slower
singleton-scope 80.3478+-0.4796 ? 81.0616+-1.0841 ?
sink-function 15.9830+-0.7611 ? 16.0695+-0.9293 ?
sink-huge-activation 22.7417+-0.6455 ? 22.9886+-0.8724 ? might be 1.0109x slower
sinkable-new-object-dag 93.6950+-2.8021 92.2120+-2.8376 might be 1.0161x faster
sinkable-new-object-taken 70.5927+-4.0143 ? 73.9823+-1.9807 ? might be 1.0480x slower
sinkable-new-object 54.0338+-1.0998 ? 54.3998+-1.0238 ?
slow-array-profile-convergence 4.1617+-0.2578 3.9125+-0.1634 might be 1.0637x faster
slow-convergence 3.7563+-0.1554 ? 3.8419+-0.1855 ? might be 1.0228x slower
slow-ternaries 31.3099+-0.5119 30.5288+-0.5804 might be 1.0256x faster
sorting-benchmark 25.6982+-0.7340 ? 26.0173+-0.4139 ? might be 1.0124x slower
sparse-conditional 1.7617+-0.0591 1.7247+-0.0674 might be 1.0215x faster
splice-to-remove 19.3740+-0.4099 ? 19.4282+-0.3897 ?
string-char-code-at 20.2340+-0.3546 ? 20.4597+-0.4211 ? might be 1.0112x slower
string-concat-object 3.0804+-0.1520 ? 3.1559+-0.2780 ? might be 1.0245x slower
string-concat-pair-object 3.1973+-0.3670 ? 3.2776+-0.5712 ? might be 1.0251x slower
string-concat-pair-simple 16.4532+-0.2753 ? 16.8273+-0.4268 ? might be 1.0227x slower
string-concat-simple 17.1302+-0.2733 17.0754+-0.2276
string-cons-repeat 10.6773+-0.3595 ? 11.0948+-0.4536 ? might be 1.0391x slower
string-cons-tower 10.2848+-0.1581 ? 10.3610+-0.3745 ?
string-equality 21.7126+-0.1496 ? 21.9532+-0.3876 ? might be 1.0111x slower
string-get-by-val-big-char 10.0490+-0.1254 10.0023+-0.4743
string-get-by-val-out-of-bounds-insane 5.2590+-0.2229 ? 5.3862+-0.1892 ? might be 1.0242x slower
string-get-by-val-out-of-bounds 7.1464+-0.1624 ? 7.2068+-0.2292 ?
string-get-by-val 4.7917+-0.0569 ? 4.8239+-0.1096 ?
string-hash 2.7605+-0.2240 ? 2.7938+-0.1950 ? might be 1.0121x slower
string-long-ident-equality 17.8384+-0.2092 ? 17.8799+-0.2846 ?
string-out-of-bounds 18.3049+-0.4735 18.1622+-0.4944
string-repeat-arith 42.9844+-0.6000 ? 43.5773+-0.3102 ? might be 1.0138x slower
string-sub 83.1382+-1.7331 ? 83.6303+-1.3284 ?
string-test 4.3893+-0.1275 4.3191+-0.1713 might be 1.0163x faster
string-var-equality 58.0057+-2.1510 57.7563+-1.3119
structure-hoist-over-transitions 3.7261+-0.1110 3.5363+-0.2063 might be 1.0537x faster
substring-concat-weird 57.8778+-0.6721 57.5803+-0.4848
substring-concat 62.9575+-1.2210 62.8000+-0.8354
substring 68.9705+-1.0684 ? 69.3724+-1.1392 ?
switch-char-constant 3.4149+-0.1785 3.4055+-0.0449
switch-char 7.9844+-0.1109 7.9273+-0.0954
switch-constant 10.8530+-0.2543 ? 10.9650+-0.4122 ? might be 1.0103x slower
switch-string-basic-big-var 32.4445+-1.1210 ? 32.8615+-0.2657 ? might be 1.0129x slower
switch-string-basic-big 24.0043+-2.6799 23.9440+-0.7564
switch-string-basic-var 31.1492+-0.7383 ? 31.6539+-0.8241 ? might be 1.0162x slower
switch-string-basic 19.4895+-0.2728 ? 19.6692+-0.3980 ?
switch-string-big-length-tower-var 27.8477+-0.2533 ? 27.9973+-0.4179 ?
switch-string-length-tower-var 21.0109+-0.5697 20.4600+-0.1604 might be 1.0269x faster
switch-string-length-tower 15.0373+-0.2367 14.8991+-0.4807
switch-string-short 15.4006+-1.0349 14.9617+-0.3680 might be 1.0293x faster
switch 15.2067+-0.4234 ? 15.2610+-0.6598 ?
tear-off-arguments-simple 4.3414+-0.2207 ? 4.4305+-0.2040 ? might be 1.0205x slower
tear-off-arguments 6.1068+-0.2501 ? 6.2754+-0.5947 ? might be 1.0276x slower
temporal-structure 17.2863+-0.1451 ? 17.7263+-0.8057 ? might be 1.0255x slower
to-int32-boolean 20.5172+-0.2551 20.3916+-0.0693
try-catch-get-by-val-cloned-arguments 20.5646+-0.5122 ? 21.1485+-0.5862 ? might be 1.0284x slower
try-catch-get-by-val-direct-arguments 9.3717+-0.4897 9.2588+-0.1561 might be 1.0122x faster
try-catch-get-by-val-scoped-arguments 10.8785+-0.3245 ? 10.9254+-0.3944 ?
typed-array-get-set-by-val-profiling 38.7723+-2.6927 36.8466+-4.0883 might be 1.0523x faster
undefined-property-access 457.2129+-1.7109 ? 457.6590+-3.8175 ?
undefined-test 4.4434+-0.1290 4.4350+-0.1362
unprofiled-licm 28.5782+-1.3192 ? 28.7718+-0.7783 ?
varargs-call 18.0337+-0.5452 17.7856+-0.2607 might be 1.0139x faster
varargs-construct-inline 37.4577+-0.2933 ? 37.5870+-0.2524 ?
varargs-construct 30.5790+-0.6985 ? 30.7068+-0.4164 ?
varargs-inline 11.4510+-0.2759 11.2527+-0.1883 might be 1.0176x faster
varargs-strict-mode 13.2001+-0.1470 13.1055+-0.3059
varargs 13.3032+-0.2276 ? 13.3486+-0.2960 ?
weird-inlining-const-prop 3.0400+-0.2184 ? 3.0494+-0.3200 ?
<geometric> 11.5936+-0.0241 ? 11.6044+-0.0436 ? might be 1.0009x slower
Conf#1 Conf#2
AsmBench:
bigfib.cpp 675.1662+-20.0359 ? 687.8543+-8.8076 ? might be 1.0188x slower
cray.c 630.7591+-5.3183 630.0542+-4.3589
dry.c 649.3080+-27.0975 ? 657.5900+-1.6403 ? might be 1.0128x slower
FloatMM.c 914.6072+-1.9265 ? 914.8857+-1.5510 ?
gcc-loops.cpp 5915.6310+-19.7154 5902.3281+-18.0942
n-body.c 1673.1592+-1.8106 ? 1673.2680+-5.1556 ?
Quicksort.c 573.3643+-4.0996 568.9533+-8.8464
stepanov_container.cpp 4906.5717+-70.8814 ? 4907.2338+-36.5477 ?
Towers.c 381.1053+-5.3566 ? 385.2407+-3.0688 ? might be 1.0109x slower
<geometric> 1115.8817+-6.2704 ? 1119.8371+-1.8141 ? might be 1.0035x slower
Conf#1 Conf#2
CompressionBench:
huffman 79.1904+-3.0202 78.7522+-2.5757
arithmetic-simple 432.7852+-1.1907 ? 433.1183+-2.0611 ?
arithmetic-precise 362.8991+-2.4463 ? 365.2471+-2.1638 ?
arithmetic-complex-precise 362.5283+-0.9336 361.9175+-6.2496
arithmetic-precise-order-0 446.4127+-0.9046 445.4664+-1.0449
arithmetic-precise-order-1 424.2969+-1.7938 ? 426.9127+-1.9588 ?
arithmetic-precise-order-2 498.8552+-10.4078 492.1649+-7.7838 might be 1.0136x faster
arithmetic-simple-order-1 504.3336+-1.1539 ? 504.3896+-1.8974 ?
arithmetic-simple-order-2 575.7477+-12.0423 569.9174+-1.6031 might be 1.0102x faster
lz-string 418.5870+-7.7481 411.3253+-6.1849 might be 1.0177x faster
<geometric> 372.7365+-1.1920 371.3632+-2.0338 might be 1.0037x faster
Conf#1 Conf#2
Geomean of preferred means:
<scaled-result> 79.5155+-0.1377 79.4912+-0.2766 might be 1.0003x faster
Comment on attachment 259056 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=259056&action=review > Source/JavaScriptCore/ChangeLog:8 > + Comparing null and undefined to themself or eachoter is always true. themselves or each other Comment on attachment 259056 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=259056&action=review I don't completely object to this optimization being done in FixupPhase, but it seems like the kind of thing that belongs in AbstractInterpreter so that it can fully participate in the constant folding fixpoint. > Source/JavaScriptCore/dfg/DFGFixupPhase.cpp:379 > + if (node->child1()->shouldSpeculateOther() && node->child2()->shouldSpeculateOther()) { > + m_insertionSet.insertNode(m_indexInBlock, SpecNone, Check, node->origin, > + Edge(node->child1().node(), OtherUse)); > + m_insertionSet.insertNode(m_indexInBlock, SpecNone, Check, node->origin, > + Edge(node->child2().node(), OtherUse)); > + m_graph.convertToConstant(node, jsBoolean(true)); > + } Why not do this in AbstractInterpreter? > Source/JavaScriptCore/dfg/DFGFixupPhase.cpp:453 > + if (node->child1()->shouldSpeculateOther() && node->child2()->shouldSpeculateOther()) { > + m_insertionSet.insertNode(m_indexInBlock, SpecNone, Check, node->origin, > + Edge(node->child1().node(), OtherUse)); > + m_insertionSet.insertNode(m_indexInBlock, SpecNone, Check, node->origin, > + Edge(node->child2().node(), OtherUse)); > + m_graph.convertToConstant(node, jsBoolean(true)); > + break; > + } Ditto. *** This bug has been marked as a duplicate of bug 148157 *** |