dart-sdk/sdk/lib
Alexander Markov 35d8630176 [vm] Make String.codeUnitAt monomorphic
The new implementation of String.codeUnitAt is always inlined and
doesn't depend on the polymorphic inlining of recognized methods.

String.codeUnitAt now has a custom body in the flow graph builder
which  performs non-speculative bounds check and then branches between
OneByteString and TwoByteString. Corresponding graph intrinsic and
native method are removed.

This change also fixes passing of unboxed arguments to runtime
in the slow path of GenericCheckBound instruction in JIT mode
(when shared stubs are not used).

TEST=ci

Change-Id: Iab2805fc752df84c37089165f828e31aca5f043f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/359000
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2024-03-24 14:50:17 +00:00
..
_http [dart:developer][VM/Service] Add APIs to dart:developer for recording HTTP profiling information, and for later retrieving that information 2024-02-15 18:56:08 +00:00
_internal [vm] Make String.codeUnitAt monomorphic 2024-03-24 14:50:17 +00:00
_wasm [dart2wasm] Refactor and optimize dart2wasm hash map/set types 2024-03-05 16:00:39 +00:00
async Expand docs around error zones 2024-02-29 01:49:08 +00:00
cli [vm] Remove dart:cli from dartdoc 2024-02-29 13:57:27 +00:00
collection [collection] Update example code in dartdoc 2023-12-28 23:37:27 +00:00
convert Remove Utf8Decoder._convertIntercepted hook 2023-11-23 12:25:26 +00:00
core Fix bug in Uri.resolve with IPv6 addresses. 2024-03-11 14:48:24 +00:00
developer [dart:developer][VM/Service] Add APIs to dart:developer for recording HTTP profiling information, and for later retrieving that information 2024-02-15 18:56:08 +00:00
ffi [vm/ffi] Unify TypedDataBase wrappers 2024-02-09 21:27:29 +00:00
html [sdk/js_interop] Clean up and add a few minimal API docs 2024-02-12 14:44:54 +00:00
indexed_db [sdk/js_interop] Clean up and add a few minimal API docs 2024-02-12 14:44:54 +00:00
internal [sdk/lib] Update SystemHash.smear for improved parameters 2024-02-15 15:06:58 +00:00
io [doc, io] Document the error behavior for File.openRead/file.openWrite 2024-03-14 22:43:32 +00:00
isolate Refer to unnamed constructors in doc comments with '.new' 2023-10-17 14:42:38 +00:00
js Update JSExport docs to refer to createJSInteropWrapper 2024-02-14 00:36:25 +00:00
js_interop [dart:js_interop] Fix comparison operator return types 2024-03-04 21:10:02 +00:00
js_interop_unsafe [dart:js_interop/_unsafe] Clean up API docs 2024-02-29 04:15:49 +00:00
js_util [sdk/js_interop] Clean up and add a few minimal API docs 2024-02-12 14:44:54 +00:00
math [sdk/math] Mark Point, Rectangle, and MutableRectangle as legacy 2024-02-14 18:35:17 +00:00
mirrors [vm] Add minimal support for mirrors of extension type members 2023-12-07 21:48:50 +00:00
svg [sdk/js_interop] Clean up and add a few minimal API docs 2024-02-12 14:44:54 +00:00
typed_data Reapply "[typed_data] Deprecate unmodifiable views" 2024-02-06 23:30:49 +00:00
vmservice [VM / vmservice] Run service isolate in sound null safe mode (JIT) 2024-03-13 17:56:49 +00:00
web_audio [sdk/js_interop] Clean up and add a few minimal API docs 2024-02-12 14:44:54 +00:00
web_gl [sdk/js_interop] Clean up and add a few minimal API docs 2024-02-12 14:44:54 +00:00
web_sql [docs] update dart:html template files 2024-01-12 18:17:13 +00:00
libraries.json revert dart:_macros, going with SDK vendored package 2024-03-21 02:40:58 +00:00
libraries.yaml revert dart:_macros, going with SDK vendored package 2024-03-21 02:40:58 +00:00
PRESUBMIT.py [build] Python 3.12 compatibility. 2023-12-12 18:19:35 +00:00
vmservice_libraries.json [Core Libraries] Eliminate the fork in the core libraries. 2020-06-16 23:37:36 +00:00
vmservice_libraries.yaml update the tooling to generate libraries.json from libraries.yaml 2021-07-27 23:02:50 +00:00