Commit 2e8ce65
committed
[K/JS] Optimize copyOf(newSize) function for primitive arrays
All primitive arrays - apart from LongArray and BooleanArray - are
compiled to JS TypedArrays. This means that instead of iterating all
indexes we can simply use TypedArray.set or TypedArray.slice depending
on the inputted new size.
^KT-776461 parent 7f600d7 commit 2e8ce65
File tree
2 files changed
+73
-14
lines changed- libraries
- stdlib/js/src/generated
- tools/kotlin-stdlib-gen/src/templates
2 files changed
+73
-14
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
940 | 940 | | |
941 | 941 | | |
942 | 942 | | |
943 | | - | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
944 | 950 | | |
945 | 951 | | |
946 | 952 | | |
| |||
954 | 960 | | |
955 | 961 | | |
956 | 962 | | |
957 | | - | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
958 | 970 | | |
959 | 971 | | |
960 | 972 | | |
| |||
968 | 980 | | |
969 | 981 | | |
970 | 982 | | |
971 | | - | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
972 | 990 | | |
973 | 991 | | |
974 | 992 | | |
| |||
996 | 1014 | | |
997 | 1015 | | |
998 | 1016 | | |
999 | | - | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
1000 | 1024 | | |
1001 | 1025 | | |
1002 | 1026 | | |
| |||
1010 | 1034 | | |
1011 | 1035 | | |
1012 | 1036 | | |
1013 | | - | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
| 1043 | + | |
1014 | 1044 | | |
1015 | 1045 | | |
1016 | 1046 | | |
| |||
1038 | 1068 | | |
1039 | 1069 | | |
1040 | 1070 | | |
1041 | | - | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
1042 | 1079 | | |
1043 | 1080 | | |
1044 | 1081 | | |
| |||
Lines changed: 30 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1076 | 1076 | | |
1077 | 1077 | | |
1078 | 1078 | | |
1079 | | - | |
1080 | | - | |
1081 | | - | |
1082 | | - | |
1083 | | - | |
1084 | | - | |
1085 | | - | |
1086 | | - | |
| 1079 | + | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
1087 | 1109 | | |
1088 | 1110 | | |
1089 | 1111 | | |
| |||
0 commit comments