inlined the get_length operation

This commit is contained in:
Fabrice Bellard
2025-10-16 15:10:58 +02:00
parent c720e35d26
commit 3e5f2bbe69
2 changed files with 47 additions and 17 deletions

View File

@@ -425,6 +425,21 @@ function array_slice(n)
return len * n;
}
function array_length_read(n)
{
var tab, sum, j;
tab = [1, 2, 3];
sum = 0;
for(j = 0; j < n; j++) {
sum += tab.length;
sum += tab.length;
sum += tab.length;
sum += tab.length;
}
global_res = sum;
return n * 4;
}
function array_length_decr(n)
{
var tab, ref, i, j, len;
@@ -929,6 +944,21 @@ function regexp_utf16(n)
return n * 1000;
}
function string_length(n)
{
var str, sum, j;
str = "abcde";
sum = 0;
for(j = 0; j < n; j++) {
sum += str.length;
sum += str.length;
sum += str.length;
sum += str.length;
}
global_res = sum;
return n * 4;
}
/* incremental string contruction as local var */
function string_build1(n)
{
@@ -1382,6 +1412,7 @@ function main(argc, argv, g)
array_update,
array_prop_create,
array_slice,
array_length_read,
array_length_decr,
array_hole_length_decr,
array_push,
@@ -1411,6 +1442,7 @@ function main(argc, argv, g)
math_min,
regexp_ascii,
regexp_utf16,
string_length,
string_build1,
string_build1x,
string_build2c,