v8/test
Dan Elphick b097a8e5de [api] Create v8::String::NewFromLiteral that returns Local<String>
String::NewFromLiteral is a templated function that takes a char[N]
argument that can be used as an alternative to String::NewFromUtf8 and
returns a Local<String> rather than a MaybeLocal<String> reducing the
number of ToLocalChecked() or other checks.

Since the string length is known at compile time, it can statically
assert that the length is less than String::kMaxLength, which means that
it can never fail at runtime.

This also converts all found uses of NewFromUtf8 taking a string literal
or a variable initialized from a string literal to use the new API. In
some cases the types of stored string literals are changed from const
char* to const char[] to ensure the size is retained.

This API does introduce a small difference compared to NewFromUtf8. For
a case like "abc\0def", NewFromUtf8 (using length -1 to infer length)
would treat this as a 3 character string, whereas the new API will treat
it as a 7 character string.

As a drive-by fix, this also fixes all redundant uses of
v8::NewStringType::kNormal when passed to any of the String::New*
functions.

Change-Id: Id96a44bc068d9c4eaa634aea688e024675a0e5b3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2089935
Commit-Queue: Dan Elphick <delphick@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66622}
2020-03-09 12:02:07 +00:00
..
benchmarks Create master files per benchmark in csuite 2020-02-26 10:37:33 +00:00
cctest [api] Create v8::String::NewFromLiteral that returns Local<String> 2020-03-09 12:02:07 +00:00
common [wasm][cleanup] Avoid passing non-const FunctionSig* 2020-02-27 09:44:42 +00:00
debugger [wasm] Keep new module in tiered down upon "debugger.enable" 2020-02-18 19:52:18 +00:00
debugging Add initial support for Wasm debugging with LLDB: implements a GDB-remote stub 2020-02-20 22:27:58 +00:00
fuzzer [api] Create v8::String::NewFromLiteral that returns Local<String> 2020-03-09 12:02:07 +00:00
inspector [api] Create v8::String::NewFromLiteral that returns Local<String> 2020-03-09 12:02:07 +00:00
intl Fix format of -NAN in toLocaleString() 2020-02-24 17:11:26 +00:00
js-perf-test [cleanup][test] Fix typo in js-perf-test/Scope/with.js 2020-02-12 10:59:54 +00:00
memory
message [weakrefs] Rename FinalizationGroup to FinalizationRegistry for JS 2020-02-25 22:53:20 +00:00
mjsunit [wasm][arm] Skip failing SIMD test 2020-03-06 12:05:13 +00:00
mkgrokdump [heap] Enable Verify for RO_SPACE when it is shared 2019-11-04 09:55:45 +00:00
mozilla Remove and update some outdated TODO(mstarzinger). 2019-12-13 10:18:04 +00:00
test262 [test] Skip test262 test blocking the V8 DEPS roll 2020-03-09 10:37:17 +00:00
torque [torque] Generate GC object visitors for Torque classes 2020-03-09 11:37:37 +00:00
unittests [api] Create v8::String::NewFromLiteral that returns Local<String> 2020-03-09 12:02:07 +00:00
wasm-api-tests [wasm] Clean up WASM_CALL_INDIRECT macros 2019-11-28 14:44:06 +00:00
wasm-js [test] Skip wasm limits test on ARM hardware 2020-02-27 11:02:42 +00:00
wasm-spec-tests [wasm][reference-types] Check type on Table.Init & Table.Copy 2020-02-26 09:29:43 +00:00
webkit [class] Improve error message for calling anonymous class constructors 2019-12-05 21:13:07 +00:00
BUILD.gn [preparser] deprecate stand-alone "preparser" test-suite 2019-11-20 08:52:59 +00:00
OWNERS