Commit 51fb9bc
committed
[JSC][FTL] FTL should support Arrayify
https://bugs.webkit.org/show_bug.cgi?id=169596
Reviewed by Saam Barati.
JSTests:
* stress/arrayify.js: Added.
(arrayifyInt32):
(arrayifyDouble):
(arrayifyContiguous):
Source/JavaScriptCore:
This patch simply expands the coverage of FTL by supporting Arrayify.
While ArrayifyToStructure is already supported, Arrayify is not supported
in FTL. While supporting Arrayify in FTL itself does not offer so much
performance difference from DFG's one, no FTL support for Arrayify
prevents us applying FTL to the code including Arrayify.
* dfg/DFGArrayMode.cpp:
(JSC::DFG::toIndexingShape):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileArrayify):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckArray):
(JSC::FTL::DFG::LowerDFGToB3::isArrayTypeForArrayify):
(JSC::FTL::DFG::LowerDFGToB3::isArrayTypeForCheckArray):
(JSC::FTL::DFG::LowerDFGToB3::compileArrayifyToStructure): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::isArrayType): Deleted.
Canonical link: https://commits.webkit.org/188004@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215600 268f45cc-cd09-0410-ab3c-d52691b4dbfc1 parent 4df2c9b commit 51fb9bcCopy full SHA for 51fb9bc
7 files changed
+133-30Lines changed: 133 additions & 30 deletions
File tree
Expand file treeCollapse file tree
Open diff view settings
Filter options
- JSTests
- stress
- Source/JavaScriptCore
- dfg
- ftl
Expand file treeCollapse file tree
Open diff view settings
Collapse file
+12Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | + |
1 | 13 | |
2 | 14 | |
3 | 15 | |
|
Collapse file
JSTests/stress/arrayify.js
Copy file name to clipboard+41Lines changed: 41 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | + |
| 24 | + |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | + |
| 29 | + |
| 30 | + |
| 31 | + |
| 32 | + |
| 33 | + |
| 34 | + |
| 35 | + |
| 36 | + |
| 37 | + |
| 38 | + |
| 39 | + |
| 40 | + |
| 41 | + |
Collapse file
Source/JavaScriptCore/ChangeLog
Copy file name to clipboardExpand all lines: Source/JavaScriptCore/ChangeLog+28Lines changed: 28 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | + |
| 24 | + |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | + |
1 | 29 | |
2 | 30 | |
3 | 31 | |
|
Collapse file
Source/JavaScriptCore/dfg/DFGArrayMode.cpp
Copy file name to clipboardExpand all lines: Source/JavaScriptCore/dfg/DFGArrayMode.cpp+2Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
623 | 623 | |
624 | 624 | |
625 | 625 | |
| 626 | + |
| 627 | + |
626 | 628 | |
627 | 629 | |
628 | 630 | |
|
Collapse file
Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
Copy file name to clipboardExpand all lines: Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp+1-7Lines changed: 1 addition & 7 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
762 | 762 | |
763 | 763 | |
764 | 764 | |
765 | | - |
766 | | - |
767 | 765 | |
768 | | - |
769 | | - |
770 | 766 | |
771 | | - |
772 | | - |
773 | 767 | |
774 | | - |
| 768 | + |
775 | 769 | |
776 | 770 | |
777 | 771 | |
|
Collapse file
Source/JavaScriptCore/ftl/FTLCapabilities.cpp
Copy file name to clipboardExpand all lines: Source/JavaScriptCore/ftl/FTLCapabilities.cpp+10Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
305 | 305 | |
306 | 306 | |
307 | 307 | |
| 308 | + |
| 309 | + |
| 310 | + |
| 311 | + |
| 312 | + |
| 313 | + |
| 314 | + |
| 315 | + |
| 316 | + |
| 317 | + |
308 | 318 | |
309 | 319 | |
310 | 320 | |
|
Collapse file
Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
Copy file name to clipboardExpand all lines: Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp+39-23Lines changed: 39 additions & 23 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
623 | 623 | |
624 | 624 | |
625 | 625 | |
| 626 | + |
626 | 627 | |
627 | | - |
| 628 | + |
628 | 629 | |
629 | 630 | |
630 | 631 | |
| ||
2767 | 2768 | |
2768 | 2769 | |
2769 | 2770 | |
2770 | | - |
| 2771 | + |
2771 | 2772 | |
2772 | 2773 | |
2773 | 2774 | |
2774 | 2775 | |
2775 | 2776 | |
2776 | 2777 | |
2777 | 2778 | |
2778 | | - |
2779 | | - |
2780 | | - |
2781 | | - |
2782 | | - |
2783 | | - |
| 2779 | + |
| 2780 | + |
| 2781 | + |
| 2782 | + |
| 2783 | + |
| 2784 | + |
| 2785 | + |
| 2786 | + |
| 2787 | + |
| 2788 | + |
2784 | 2789 | |
2785 | 2790 | |
2786 | 2791 | |
| ||
2816 | 2821 | |
2817 | 2822 | |
2818 | 2823 | |
2819 | | - |
2820 | | - |
2821 | | - |
2822 | | - |
| 2824 | + |
2823 | 2825 | |
2824 | 2826 | |
2825 | 2827 | |
| ||
3307 | 3309 | |
3308 | 3310 | |
3309 | 3311 | |
3310 | | - |
| 3312 | + |
3311 | 3313 | |
3312 | 3314 | |
3313 | 3315 | |
| ||
13024 | 13026 | |
13025 | 13027 | |
13026 | 13028 | |
13027 | | - |
| 13029 | + |
13028 | 13030 | |
13029 | 13031 | |
13030 | 13032 | |
13031 | 13033 | |
13032 | 13034 | |
| 13035 | + |
13033 | 13036 | |
13034 | | - |
| 13037 | + |
13035 | 13038 | |
13036 | 13039 | |
13037 | 13040 | |
13038 | 13041 | |
13039 | | - |
| 13042 | + |
13040 | 13043 | |
13041 | 13044 | |
13042 | 13045 | |
13043 | | - |
13044 | | - |
| 13046 | + |
| 13047 | + |
13045 | 13048 | |
13046 | 13049 | |
13047 | 13050 | |
13048 | 13051 | |
13049 | | - |
13050 | | - |
| 13052 | + |
| 13053 | + |
13051 | 13054 | |
13052 | 13055 | |
13053 | 13056 | |
13054 | | - |
| 13057 | + |
13055 | 13058 | |
13056 | | - |
13057 | | - |
| 13059 | + |
| 13060 | + |
| 13061 | + |
| 13062 | + |
| 13063 | + |
13058 | 13064 | |
| 13065 | + |
| 13066 | + |
| 13067 | + |
| 13068 | + |
| 13069 | + |
| 13070 | + |
| 13071 | + |
| 13072 | + |
| 13073 | + |
| 13074 | + |
13059 | 13075 | |
13060 | 13076 | |
13061 | 13077 | |
|
0 commit comments