Port straightforward JS string construction sites to Utf16StringBuilder. Make ASCII appends explicit with append_ascii(), and leave byte-output, formatted-output, and printer plumbing on StringBuilder where that API still matches the caller. Add a small checked JS string length product helper. Use it for String.prototype.repeat() before constructing the repeated result. Keep the maximum string length policy in LibJS while allowing the UTF-16 builder to remain purpose-built and infallible. Cover overflow from the final repeated code-unit length in the repeat tests. |
||
|---|---|---|
| .. | ||
| AST | ||
| Bytecode | ||
| Runtime | ||
| CMakeLists.txt | ||
| test-bytecode-cache.cpp | ||
| test-js-ast.py | ||
| test-js-bytecode.py | ||
| test-js.cpp | ||
| test-primitive-string.cpp | ||
| test-value-js.cpp | ||