Closes https://github.com/dart-lang/sdk/pull/50922

GitOrigin-RevId: 58fd7cfd5ef470a65a52ea28e0407244d853c917
Change-Id: I2e5a5ed991cb05270170a18b8f0169daa9eabdb7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278537
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
This commit is contained in:
Josh Soref 2023-01-24 18:00:25 +00:00 committed by Commit Queue
parent 501d0591b0
commit f7a2ea5e06
75 changed files with 110 additions and 110 deletions

View file

@ -5,11 +5,11 @@
import("build/config/gclient_args.gni")
import("sdk_args.gni")
targetting_fuchsia = target_os == "fuchsia"
targeting_fuchsia = target_os == "fuchsia"
# This target will be built if no target is specified when invoking ninja.
group("default") {
if (targetting_fuchsia) {
if (targeting_fuchsia) {
# Fuchsia has run_vm_tests marked testonly.
testonly = true
}
@ -18,7 +18,7 @@ group("default") {
group("most") {
import("runtime/runtime_args.gni")
if (targetting_fuchsia) {
if (targeting_fuchsia) {
# Fuchsia has run_vm_tests marked testonly.
testonly = true
}
@ -35,7 +35,7 @@ group("most") {
group("runtime") {
import("runtime/runtime_args.gni")
if (targetting_fuchsia) {
if (targeting_fuchsia) {
# Fuchsia has run_vm_tests marked testonly.
testonly = true
}

View file

@ -648,7 +648,7 @@ them, you must set the lower bound on the SDK constraint for your package to
```
This change is needed to fix [#36453][] where the dart programs not caring
about the terminal settings can inadverently corrupt the terminal settings
about the terminal settings can inadvertently corrupt the terminal settings
when e.g. piping into less.
Furthermore the `echoMode` setting now only controls the `echo` local mode
@ -1078,7 +1078,7 @@ them, you must set the lower bound on the SDK constraint for your package to
- **Breaking change** [#46100](https://github.com/dart-lang/sdk/issues/46100):
The standalone `dartdevc` tool has been marked deprecated as previously
announced and will be deleted in a future Dart stable relase. This tool
announced and will be deleted in a future Dart stable release. This tool
was intended for use only by build systems like bazel, `build_web_compilers`
and `flutter_tools`. The functionality remains available for those systems,
but it is no longer exposed as a command-line tool in the SDK.
@ -1867,7 +1867,7 @@ This is a patch release that fixes:
`a.toUnsigned(32) >>> b` on the VM.
- Prior to Dart 2.14, metadata (annotations) were not permitted to be specified
with generic type arguments. This restriction is lifted in Dart Dart 2.14.
with generic type arguments. This restriction is lifted in Dart 2.14.
```dart
class C<T> {
@ -2648,7 +2648,7 @@ This is a patch release that fixes the following issues:
- compiler error causing incorrect use of positional parameters when named
parameters should be used instead (issues [flutter/flutter#65324][] and
[flutter/flutter#68092][]).
- crashes and/or undefined behavor in AOT compiled code (issues [#43770][] and
- crashes and/or undefined behavior in AOT compiled code (issues [#43770][] and
[#43786][]).
- AOT compilation of classes with more than 64 unboxed fields (issue
[flutter/flutter#67803][]).

View file

@ -172,7 +172,7 @@ config("dart_config") {
lib_dirs = [ root_out_dir + "/lib" ]
}
if (using_fuchsia_gn_sdk || using_fuchsia_sdk) {
# TODO(chinmaygarde): Currenty these targets need to be build in the
# TODO(chinmaygarde): Currently these targets need to be build in the
# Fuchsia tree as well as outside it using the SDK. However, not all
# Fuchsia features are available in the SDK. As these features are added,
# the guards can be removed. Eventually, only SDK builds will be present.

View file

@ -36,7 +36,7 @@ VM will keep trying to inline the function in new contexts, not giving up after
## Annotations for return types and field types
The VM is not able to see across method calls (apart from inlining) and
therefore does not know anything about the return'ed values of calls, except for
therefore does not know anything about the returned values of calls, except for
the interface type of the signature.
To improve this we have two types of additional information sources the VM

View file

@ -4,7 +4,7 @@ This page describes how type testing stubs (TTS) are implemented.
### Type Tests
Explicit `<obj> as <desination-type>` checks in Dart code (also generated implicitly in CFE) compile
Explicit `<obj> as <destination-type>` checks in Dart code (also generated implicitly in CFE) compile
in the Dart VM's IL to the `AssertAssignable` instruction.
### Type Testing Stubs
@ -25,7 +25,7 @@ The TTS has a special calling convention which accepts:
This calling convention is the same as for the SubtypeTestCache-based implementation.
We distuinguish between different type tests (based on the `<destination-type>`):
We distinguish between different type tests (based on the `<destination-type>`):
#### Simple Subtype ClassId-based range checks

View file

@ -189,7 +189,7 @@ We can eliminate these checks when the compiler can prove these cases cannot hap
* `container` is the same object as `value`. The GC never needs to retain an additional object if it sees a self-reference, so ignoring a self-reference cannot cause us to free a reachable object.
* `container` is known to be a new object or known to be an old object that is in the remembered set and is marked if marking is in progress.
We can know that `container` meets the last property if `container` is the result of an allocation (instead of a heap load), and there is no instruction that can trigger a GC between the allocation and the store. This is because the allocation stubs ensure the result of AllocateObject is either a new-space object (common case, bump pointer allocation succeeds), or has been pre-emptively added to the remembered set and marking worklist (uncommon case, entered runtime to allocate object, possibly triggering GC).
We can know that `container` meets the last property if `container` is the result of an allocation (instead of a heap load), and there is no instruction that can trigger a GC between the allocation and the store. This is because the allocation stubs ensure the result of AllocateObject is either a new-space object (common case, bump pointer allocation succeeds), or has been preemptively added to the remembered set and marking worklist (uncommon case, entered runtime to allocate object, possibly triggering GC).
```
container <- AllocateObject
@ -197,7 +197,7 @@ container <- AllocateObject
StoreInstanceField(container, value, NoBarrier)
```
We can further eliminate barriers when `container` is the result of an allocation, and there is no instruction that can create an additional Dart frame between the allocation and the store. This is because after a GC, any old-space objects in the frames below an exit frame will be pre-emptively added to the remembered set and marking worklist (Thread::RestoreWriteBarrierInvariant).
We can further eliminate barriers when `container` is the result of an allocation, and there is no instruction that can create an additional Dart frame between the allocation and the store. This is because after a GC, any old-space objects in the frames below an exit frame will be preemptively added to the remembered set and marking worklist (Thread::RestoreWriteBarrierInvariant).
```
container <- AllocateObject

View file

@ -116,7 +116,7 @@ A set of isolates that are sharing the same program and the same heap. Isolates
## Out-of-band message, OOB message
A message that is deliveried at any interrupt check, such as at function entry or the back-edge of a loop, rather than only when returning to the message loop.
A message that is delivered at any interrupt check, such as at function entry or the back-edge of a loop, rather than only when returning to the message loop.
## [Hot reload](https://github.com/dart-lang/sdk/wiki/Hot-reload)

View file

@ -214,7 +214,7 @@ void printAnimal(obj) {
print('}');
}
// Call printAnimal(...) a lot of times with an intance of Cat.
// Call printAnimal(...) a lot of times with an instance of Cat.
// As a result printAnimal(...) will be optimized under the
// assumption that obj is always a Cat.
for (var i = 0; i < 50000; i++)

View file

@ -1711,8 +1711,8 @@ DART_EXPORT DART_WARN_UNUSED_RESULT Dart_Handle Dart_RunLoop(void);
* \param error A non-NULL pointer which will hold an error message if the call
* fails. The error has to be free()ed by the caller.
*
* \return If successful the VM takes owernship of the isolate and takes care
* of its message loop. If not successful the caller retains owernship of the
* \return If successful the VM takes ownership of the isolate and takes care
* of its message loop. If not successful the caller retains ownership of the
* isolate.
*/
DART_EXPORT DART_WARN_UNUSED_RESULT bool Dart_RunLoopAsync(
@ -3504,7 +3504,7 @@ DART_EXPORT Dart_Handle Dart_SetRootLibrary(Dart_Handle library);
* \param number_of_type_arguments Number of type arguments.
* For non parametric types the number of type arguments would be 0.
* \param type_arguments Pointer to an array of type arguments.
* For non parameteric types a NULL would be passed in for this argument.
* For non parametric types a NULL would be passed in for this argument.
*
* \return If no error occurs, the type is returned.
* Otherwise an error handle is returned.
@ -3523,7 +3523,7 @@ DART_EXPORT Dart_Handle Dart_GetType(Dart_Handle library,
* \param number_of_type_arguments Number of type arguments.
* For non parametric types the number of type arguments would be 0.
* \param type_arguments Pointer to an array of type arguments.
* For non parameteric types a NULL would be passed in for this argument.
* For non parametric types a NULL would be passed in for this argument.
*
* \return If no error occurs, the type is returned.
* Otherwise an error handle is returned.
@ -3542,7 +3542,7 @@ DART_EXPORT Dart_Handle Dart_GetNullableType(Dart_Handle library,
* \param number_of_type_arguments Number of type arguments.
* For non parametric types the number of type arguments would be 0.
* \param type_arguments Pointer to an array of type arguments.
* For non parameteric types a NULL would be passed in for this argument.
* For non parametric types a NULL would be passed in for this argument.
*
* \return If no error occurs, the type is returned.
* Otherwise an error handle is returned.

View file

@ -364,7 +364,7 @@ DART_EXPORT bool Dart_IsReloading();
* "Embedder" - Execution of Dart embedder code
* "GC" - Execution of Dart Garbage Collector
* "Isolate" - Dart Isolate lifecycle execution
* "VM" - Excution in Dart VM runtime code
* "VM" - Execution in Dart VM runtime code
* "" - None
*
* When "all" is specified all the categories are enabled.
@ -518,7 +518,7 @@ typedef void (*Dart_TimelineRecorderCallback)(
* will be remembered. Providing a NULL callback will clear the registration
* (i.e., a NULL callback produced a no-op instead of a crash).
*
* Setting a callback is insuffient to receive events through the callback. The
* Setting a callback is insufficient to receive events through the callback. The
* VM flag `timeline_recorder` must also be set to `callback`.
*/
DART_EXPORT void Dart_SetTimelineRecorderCallback(

View file

@ -87,15 +87,15 @@ static void* LoadDynamicLibrary(const char* library_file,
// On windows, nullptr signals trying a lookup in all loaded modules.
const nullptr_t kWindowsDynamicLibraryProcessPtr = nullptr;
void* co_task_mem_alloced = nullptr;
void* co_task_mem_allocated = nullptr;
// If an error occurs populates |error| with an error message
// (caller must free this message when it is no longer needed).
void* LookupSymbolInProcess(const char* symbol, char** error) {
// Force loading ole32.dll.
if (co_task_mem_alloced == nullptr) {
co_task_mem_alloced = CoTaskMemAlloc(sizeof(intptr_t));
CoTaskMemFree(co_task_mem_alloced);
if (co_task_mem_allocated == nullptr) {
co_task_mem_allocated = CoTaskMemAlloc(sizeof(intptr_t));
CoTaskMemFree(co_task_mem_allocated);
}
HANDLE current_process =

View file

@ -1267,7 +1267,7 @@ DEFINE_NATIVE_ENTRY(TransferableTypedData_materialize, 0, 1) {
{
NoSafepointScope no_safepoint;
peer = thread->heap()->GetPeer(t.ptr());
// Assume that object's Peer is only used to track transferrability state.
// Assume that object's Peer is only used to track transferability state.
ASSERT(peer != nullptr);
}

View file

@ -903,7 +903,7 @@ class ScriptInsetElement extends CustomElement implements Renderable {
var position = 0;
consumeUntil(var stop) {
if (stop <= position) {
return null; // Empty gap between annotations/boundries.
return null; // Empty gap between annotations/boundaries.
}
if (stop > line.text.length) {
// Approximated token length can run past the end of the line.

View file

@ -901,7 +901,7 @@ class ScriptInsetElement extends CustomElement implements Renderable {
var position = 0;
consumeUntil(var stop) {
if (stop <= position) {
return null; // Empty gap between annotations/boundries.
return null; // Empty gap between annotations/boundaries.
}
if (stop > line.text.length) {
// Approximated token length can run past the end of the line.

View file

@ -34,7 +34,7 @@ double atan2_ieee(double x, double y) {
if (((cls_x & (_FPCLASS_PINF | _FPCLASS_NINF)) != 0) &&
((cls_y & (_FPCLASS_PINF | _FPCLASS_NINF)) != 0)) {
// atan2 values at infinities listed above are the same as values
// at (+/-1, +/-1). index_x is 0, when x is +infinty, 1 when x is -infinty.
// at (+/-1, +/-1). index_x is 0, when x is +infinity, 1 when x is -infinity.
// Same is with index_y.
int index_x = (cls_x & _FPCLASS_PINF) != 0 ? 0 : 1;
int index_y = (cls_y & _FPCLASS_PINF) != 0 ? 0 : 1;

View file

@ -250,7 +250,7 @@ struct simd128_value_t {
#error Automatic compiler detection failed.
#endif
// LIKELY/UNLIKELY give the compiler branch preditions that may affect block
// LIKELY/UNLIKELY give the compiler branch predictions that may affect block
// scheduling.
#ifdef __GNUC__
#define LIKELY(cond) __builtin_expect((cond), 1)

View file

@ -86,7 +86,7 @@ uint32_t Utils::ReverseBits32(uint32_t x) {
}
// Implementation according to H.S.Warren's "Hacker's Delight"
// (Addison Wesley, 2002) Chapter 10 and T.Grablund, P.L.Montogomery's
// (Addison Wesley, 2002) Chapter 10 and T.Grablund, P.L.Montgomery's
// "Division by Invariant Integers Using Multiplication" (PLDI 1994).
void Utils::CalculateMagicAndShiftForDivRem(int64_t divisor,
int64_t* magic,

View file

@ -284,7 +284,7 @@ Future<void> doTestAwaitThen(Future f(), List<String> expectedStack,
// Caller catches but a then is set.
try {
// Passing (e) {} to then() can cause the closure instructions to be
// dedupped, changing the stack trace to the dedupped owner, so we
// deduped, changing the stack trace to the deduped owner, so we
// duplicate the Expect.fail() call in the closure.
await f().then((e) => Expect.fail('No exception thrown!'));
Expect.fail('No exception thrown!');

View file

@ -4,7 +4,7 @@
// VMOptions=--enable-mirrors=false
// Verfies that '--enable-mirrors=false' affects conditional imports and
// Verifies that '--enable-mirrors=false' affects conditional imports and
// constant bool.fromEnvironment.
import "package:expect/expect.dart";

View file

@ -50,7 +50,7 @@ class Foo {
}
// The TypeArgumentVector will be at an offset that cannot be loaded from via
// normal addresing mode on ARM64.
// normal addressing mode on ARM64.
class GenericFoo<T> extends Foo {}
final l = <dynamic>[GenericFoo<int>(), null, 1, 1.0];

View file

@ -18,7 +18,7 @@ main() async {
VMInternalsForTesting.writeHeapSnapshotToFile(file);
final snapshot = loadHeapSnapshotFromFile(file);
for (final klass in snapshot.classes) {
// Ensure field indices are unique, densly numbered from 0.
// Ensure field indices are unique, densely numbered from 0.
final fields = klass.fields.toList()..sort((a, b) => a.index - b.index);
for (int i = 0; i < fields.length; ++i) {
Expect.equals(i, fields[i].index);

View file

@ -116,7 +116,7 @@ Future withPeerPointer(fun(Pointer<Void> peer)) async {
// we can validate that a->x has been changed.
Expect.isTrue(peer.cast<Utf8>().toDartString().startsWith('xb'));
// The cleanup callback is called after after notifying exit listeners. So we
// The cleanup callback is called after notifying exit listeners. So we
// wait a little here to ensure the write of the callback has arrived.
await Future.delayed(const Duration(milliseconds: 100));
Expect.equals('xbz', peer.cast<Utf8>().toDartString());

View file

@ -8,7 +8,7 @@
//
// Here, all phi nodes generated within the try block are kept alive, and one of
// the phi nodes within toList (which gets inlined) uses the value of an
// instance call to setLength. Inlining setLength wthin toList replaced the
// instance call to setLength. Inlining setLength within toList replaced the
// (binding) InstanceCall instruction with a (non-binding) StoreInstanceField
// instruction, which caused the phi node to have an invalid SSA index argument.

View file

@ -48,8 +48,8 @@ class Payload {
this.right = right;
}
// This ordering of fields is delibrate: one key is visited before the expando
// and one after.
// This ordering of fields is deliberate: one key is visited before the
// expando and one after.
final leftKey = new Object();
final expando = new Expando();
final rightKey = new Object();
@ -69,8 +69,8 @@ class Payload {
class EphemeronNode extends Node {
EphemeronNode(num key, Object? value) : super(key, value);
// This ordering of fields is delibrate: one key is visited before the expando
// and one after.
// This ordering of fields is deliberate: one key is visited before the
// expando and one after.
final leftKey = new Object();
final expando = new Expando<Node>();
final rightKey = new Object();

View file

@ -46,7 +46,7 @@ class Payload {
this.right = right;
}
// This ordering of fields is delibrate: one strong reference visited before
// This ordering of fields is deliberate: one strong reference visited before
// the weak reference and one after.
var leftWeak;
@pragma("vm:entry-point") // TODO(50571): Remove illegal optimization.
@ -78,7 +78,7 @@ class Payload {
class WeakNode extends Node {
WeakNode(num key, Object? value) : super(key, value);
// This ordering of fields is delibrate: one strong reference visited before
// This ordering of fields is deliberate: one strong reference visited before
// the weak reference and one after.
var leftWeak;
@pragma("vm:entry-point") // TODO(50571): Remove illegal optimization.

View file

@ -66,7 +66,7 @@ void receiver(final transferable) {
transferable.materialize();
}
throwsIfCummulativeListIsTooLargeOn32bitPlatform() {
throwsIfCumulativeListIsTooLargeOn32bitPlatform() {
try {
int maxUint8ListSize = pow(2, 30) as int;
// Check whether we are on 32-bit or 64-bit platform.
@ -96,7 +96,7 @@ main() async {
await throwsIfSendMoreThanOnce();
throwsIfMaterializeMoreThanOnce();
await throwsIfReceiverMaterializesMoreThanOnce();
throwsIfCummulativeListIsTooLargeOn32bitPlatform();
throwsIfCumulativeListIsTooLargeOn32bitPlatform();
dynamic myNull;
if (hasUnsoundNullSafety) {

View file

@ -286,7 +286,7 @@ Future<void> doTestAwaitThen(Future f(), List<String> expectedStack,
// Caller catches but a then is set.
try {
// Passing (e) {} to then() can cause the closure instructions to be
// dedupped, changing the stack trace to the dedupped owner, so we
// deduped, changing the stack trace to the deduped owner, so we
// duplicate the Expect.fail() call in the closure.
await f().then((e) => Expect.fail('No exception thrown!'));
Expect.fail('No exception thrown!');

View file

@ -4,7 +4,7 @@
// VMOptions=--enable-mirrors=false
// Verfies that '--enable-mirrors=false' affects conditional imports and
// Verifies that '--enable-mirrors=false' affects conditional imports and
// constant bool.fromEnvironment.
// @dart = 2.9

View file

@ -52,7 +52,7 @@ class Foo {
}
// The TypeArgumentVector will be at an offset that cannot be loaded from via
// normal addresing mode on ARM64.
// normal addressing mode on ARM64.
class GenericFoo<T> extends Foo {}
final l = <dynamic>[GenericFoo<int>(), null, 1, 1.0];

View file

@ -20,7 +20,7 @@ main() async {
VMInternalsForTesting.writeHeapSnapshotToFile(file);
final snapshot = loadHeapSnapshotFromFile(file);
for (final klass in snapshot.classes) {
// Ensure field indices are unique, densly numbered from 0.
// Ensure field indices are unique, densely numbered from 0.
final fields = klass.fields.toList()..sort((a, b) => a.index - b.index);
for (int i = 0; i < fields.length; ++i) {
Expect.equals(i, fields[i].index);

View file

@ -118,7 +118,7 @@ Future withPeerPointer(fun(Pointer<Void> peer)) async {
// we can validate that a->x has been changed.
Expect.isTrue(peer.cast<Utf8>().toDartString().startsWith('xb'));
// The cleanup callback is called after after notifying exit listeners. So we
// The cleanup callback is called after notifying exit listeners. So we
// wait a little here to ensure the write of the callback has arrived.
await Future.delayed(const Duration(milliseconds: 100));
Expect.equals('xbz', peer.cast<Utf8>().toDartString());

View file

@ -10,7 +10,7 @@
//
// Here, all phi nodes generated within the try block are kept alive, and one of
// the phi nodes within toList (which gets inlined) uses the value of an
// instance call to setLength. Inlining setLength wthin toList replaced the
// instance call to setLength. Inlining setLength within toList replaced the
// (binding) InstanceCall instruction with a (non-binding) StoreInstanceField
// instruction, which caused the phi node to have an invalid SSA index argument.

View file

@ -52,8 +52,8 @@ class Payload {
this.right = right;
}
// This ordering of fields is delibrate: one key is visited before the expando
// and one after.
// This ordering of fields is deliberate: one key is visited before the
// expando and one after.
final leftKey = new Object();
final expando = new Expando();
final rightKey = new Object();
@ -73,8 +73,8 @@ class Payload {
class EphemeronNode extends Node {
EphemeronNode(num key, Object value) : super(key, value);
// This ordering of fields is delibrate: one key is visited before the expando
// and one after.
// This ordering of fields is deliberate: one key is visited before the
// expando and one after.
final leftKey = new Object();
final expando = new Expando<Node>();
final rightKey = new Object();

View file

@ -50,7 +50,7 @@ class Payload {
this.right = right;
}
// This ordering of fields is delibrate: one strong reference visited before
// This ordering of fields is deliberate: one strong reference visited before
// the weak reference and one after.
var leftWeak;
@pragma("vm:entry-point") // TODO(50571): Remove illegal optimization.
@ -82,7 +82,7 @@ class Payload {
class WeakNode extends Node {
WeakNode(num key, Object value) : super(key, value);
// This ordering of fields is delibrate: one strong reference visited before
// This ordering of fields is deliberate: one strong reference visited before
// the weak reference and one after.
var leftWeak;
@pragma("vm:entry-point") // TODO(50571): Remove illegal optimization.

View file

@ -68,7 +68,7 @@ void receiver(final transferable) {
transferable.materialize();
}
throwsIfCummulativeListIsTooLargeOn32bitPlatform() {
throwsIfCumulativeListIsTooLargeOn32bitPlatform() {
try {
int maxUint8ListSize = pow(2, 30);
// Check whether we are on 32-bit or 64-bit platform.
@ -98,7 +98,7 @@ main() async {
await throwsIfSendMoreThanOnce();
throwsIfMaterializeMoreThanOnce();
await throwsIfReceiverMaterializesMoreThanOnce();
throwsIfCummulativeListIsTooLargeOn32bitPlatform();
throwsIfCumulativeListIsTooLargeOn32bitPlatform();
Expect.throwsArgumentError(() => TransferableTypedData.fromList(null));
Expect.throwsArgumentError(() => TransferableTypedData.fromList([null]));

View file

@ -244,7 +244,7 @@ dart_2/optimized_stacktrace_line_and_column_test: SkipByDesign # Looks for filen
dart_2/optimized_stacktrace_line_test: SkipByDesign # Looks for filenames in stacktrace output
dart_2/regress_37382_test: SkipByDesign # Matches the type arguments names
# Enabling of dartk for sim{arm,arm64} revelaed these test failures, which
# Enabling of dartk for sim{arm,arm64} revealed these test failures, which
# are to be triaged. Isolate tests are skipped on purpose due to the usage of
# batch mode.
[ $compiler == dartk && $mode == debug && ($arch == simarm || $arch == simarm64 || $arch == simarm64c || $arch == simriscv32 || $arch == simriscv64) ]
@ -391,7 +391,7 @@ dart/isolates/dart_api_create_lightweight_isolate_test: SkipByDesign # https://d
dart/isolates/thread_pool_test: SkipByDesign # https://dartbug.com/37299 Test uses dart:ffi which is not supported on simulators.
dart/regress_41971_test: SkipByDesign # https://dartbug.com/37299 dart:ffi is not supported on simulator
dart/sdk_hash_test: SkipSlow # gen_kernel is slow to run on simarm
dart/splay_c_finalizer_test: SkipByDesign # No FFI on simualtors
dart/splay_c_finalizer_test: SkipByDesign # No FFI on simulators
dart/unboxed_param_args_descriptor_test: SkipByDesign # https://dartbug.com/37299 FFI helper not supported on simulator
dart/unboxed_param_tear_off_test: SkipByDesign # https://dartbug.com/37299 FFI helper not supported on simulator
dart/unboxed_param_test: SkipByDesign # https://dartbug.com/37299 FFI helper not supported on simulator
@ -399,7 +399,7 @@ dart_2/isolates/dart_api_create_lightweight_isolate_test: SkipByDesign # https:/
dart_2/isolates/thread_pool_test: SkipByDesign # https://dartbug.com/37299 Test uses dart:ffi which is not supported on simulators.
dart_2/regress_41971_test: SkipByDesign # https://dartbug.com/37299 dart:ffi is not supported on simulator
dart_2/sdk_hash_test: SkipSlow # gen_kernel is slow to run on simarm
dart_2/splay_c_finalizer_test: SkipByDesign # No FFI on simualtors
dart_2/splay_c_finalizer_test: SkipByDesign # No FFI on simulators
dart_2/unboxed_param_args_descriptor_test: SkipByDesign # https://dartbug.com/37299 FFI helper not supported on simulator
dart_2/unboxed_param_tear_off_test: SkipByDesign # https://dartbug.com/37299 FFI helper not supported on simulator
dart_2/unboxed_param_test: SkipByDesign # https://dartbug.com/37299 FFI helper not supported on simulator

View file

@ -445,7 +445,7 @@ void Bignum::AssignPowerUInt16(uint16_t base, int power_exponent) {
mask >>= 2;
uint64_t this_value = base;
bool delayed_multipliciation = false;
bool delayed_multiplication = false;
const uint64_t max_32bits = 0xFFFFFFFF;
while (mask != 0 && this_value <= max_32bits) {
this_value = this_value * this_value;
@ -458,13 +458,13 @@ void Bignum::AssignPowerUInt16(uint16_t base, int power_exponent) {
if (high_bits_zero) {
this_value *= base;
} else {
delayed_multipliciation = true;
delayed_multiplication = true;
}
}
mask >>= 1;
}
AssignUInt64(this_value);
if (delayed_multipliciation) {
if (delayed_multiplication) {
MultiplyByUInt32(base);
}

View file

@ -138,7 +138,7 @@ class DoubleToStringConverter {
// Example with decimal_in_shortest_low = -6,
// decimal_in_shortest_high = 21,
// EMIT_POSITIVE_EXPONENT_SIGN activated, and
// EMIT_TRAILING_DECIMAL_POINT deactived:
// EMIT_TRAILING_DECIMAL_POINT deactivated:
// ToShortest(0.000001) -> "0.000001"
// ToShortest(0.0000001) -> "1e-7"
// ToShortest(111111111111111111111.0) -> "111111111111111110000"

View file

@ -565,7 +565,7 @@ static bool Grisu3(double v,
// the difference between w and boundary_minus/plus (a power of 2) and to
// compute scaled_boundary_minus/plus by subtracting/adding from
// scaled_w. However the code becomes much less readable and the speed
// enhancements are not terriffic.
// enhancements are not terrific.
DiyFp scaled_boundary_minus = DiyFp::Times(boundary_minus, ten_mk);
DiyFp scaled_boundary_plus = DiyFp::Times(boundary_plus, ten_mk);

View file

@ -394,7 +394,7 @@ bool FastFixedDtoa(double v,
TrimZeros(buffer, length, decimal_point);
buffer[*length] = '\0';
if ((*length) == 0) {
// The string is empty and the decimal_point thus has no importance. Mimick
// The string is empty and the decimal_point thus has no importance. Mimic
// Gay's dtoa and and set it to -fractional_count.
*decimal_point = -fractional_count;
}

View file

@ -497,7 +497,7 @@ float Strtof(Vector<const char> buffer, int exponent) {
// low-precision (3 digits):
// when read from input: 123
// when rounded from high precision: 124.
// To do this we simply look at the neigbors of the correct result and see
// To do this we simply look at the neighbors of the correct result and see
// if they would round to the same float. If the guess is not correct we have
// to look at four values (since two different doubles could be the correct
// double).

View file

@ -90,7 +90,7 @@ def GenerateFileFromTemplate(output_file, input_cc_file, vm_isolate_input_file,
isolate_input_file):
"""Generates C++ file based on a input_cc_file template and two binary files
Template is expected to have two %s placehoders which would be filled
Template is expected to have two %s placeholders which would be filled
with binary contents of the given files each formatted as a comma separated
list of integers.
"""

View file

@ -1763,7 +1763,7 @@ class DartFuzz {
} else if (dartType.constructors(tp).isNotEmpty) {
// Constructors serve as literals for non trivially constructable types.
// Important note: We have to test for existence of a non trivial
// constructor before testing for list type assiciation, since some types
// constructor before testing for list type association, since some types
// like ListInt32 are of list type but can not be constructed
// from a literal.
emitConstructorOrLiteral(depth + 1, tp, rhsFilter: rhsFilter);

View file

@ -476,7 +476,7 @@ class DartFuzzTest {
if (numOutputLines > 0) {
// Only report the actual output divergence details up to
// numOutputLines, since this output may be lengthy and should be
// reproducable anyway.
// reproducible anyway.
print('\nout1:\n');
printDivergenceOutput(result1.output, numOutputLines);
print('\nout2:\n');

View file

@ -688,7 +688,7 @@ enum Restriction {
/// Class that represents Dart library methods.
///
/// The invididual lists are organized by return type.
/// The individual lists are organized by return type.
/// Proto is a list of DartTypes whose first element is the type of the
/// DartType of the receiver (DartType.VOID if none). The remaining elements are
/// DartTypes of the parameters. The second element is DartType.VOID if there

View file

@ -895,7 +895,7 @@ Set<List<String>> filterOperator(Set<List<String>> op) {
return newOp;
}
// See comment on filterOpterator.
// See comment on filterOperator.
void filterOperators(Set<InterfaceType> allTypes) {
for (var tp in allTypes) {
var typName = typeConstName(tp);

View file

@ -310,7 +310,7 @@ Graph.prototype.loadDartHeapSnapshot = function(data) {
//
// If `rewriteForOwners` is true, for each vertex that has an "owner" edge,
// replace all edges to the vertex with an edge from the owner to the vertex.
// This can be the graph more hierachical and reveal more structure in the
// This can be the graph more hierarchical and reveal more structure in the
// dominator tree.
Graph.prototype.compute = function(rewriteForOwners) {
this.computePredecessors();

View file

@ -546,7 +546,7 @@ class Analysis {
// lost after reading. Can we preserve it somewhere on
// `HeapSnapshotGraph`?
//
// The approximation is based on knowning the header size of a string:
// The approximation is based on knowing the header size of a string:
// - String has: header, length (hash - on 32-bit platforms) + payload
final fixedSize =
_headerSize + _wordSize * (_arch == _Arch.arch32 ? 2 : 1);

View file

@ -37,7 +37,7 @@ abstract class Command {
final args = allArgs.skip(startOfRest).toList();
await executeInternal(state, options, args);
} catch (e, s) {
state.output.print('An error occured: $e\n$s');
state.output.print('An error occurred: $e\n$s');
printUsage(state);
}
}

View file

@ -93,7 +93,7 @@ class Testee {
final exitCode = await _process.exitCode;
print('child-exitcode: $exitCode');
if (exitCode != 0) {
throw 'Child process terminated unsucessfully';
throw 'Child process terminated unsuccessfully';
}
}
}

View file

@ -3366,7 +3366,7 @@ void Precompiler::Obfuscate() {
Library::RegisterLibraries(T, libraries_);
}
// Obfuscation is done. Move obfuscation map into malloced memory.
// Obfuscation is done. Move obfuscation map into mallocated memory.
IG->set_obfuscation_map(Obfuscator::SerializeMap(T));
// Discard obfuscation mappings to avoid including them into snapshot.

View file

@ -498,7 +498,7 @@ class Obfuscator : public ValueObject {
// Note: this operation is not optimized because is very infrequent.
static void Deobfuscate(Thread* thread, const GrowableObjectArray& pieces);
// Serialize renaming map as a malloced array of strings.
// Serialize renaming map as a mallocated array of strings.
static const char** SerializeMap(Thread* thread);
void PreventRenaming(const char* name);

View file

@ -1015,7 +1015,7 @@ class FlowGraphCompiler : public ValueObject {
friend class StoreIndexedInstr; // For AddPcRelativeCallStubTarget().
friend class StoreFieldInstr; // For AddPcRelativeCallStubTarget().
friend class CheckStackOverflowSlowPath; // For pending_deoptimization_env_.
friend class GraphInstrinsicCodeGenScope; // For optimizing_.
friend class GraphIntrinsicCodeGenScope; // For optimizing_.
// Architecture specific implementation of simple native moves.
void EmitNativeMoveArchitecture(const compiler::ffi::NativeLocation& dst,

View file

@ -787,7 +787,7 @@ LocationSummary* AssertAssignableInstr::MakeLocationSummary(Zone* zone,
// We invoke a stub that can potentially clobber any CPU register
// but can only clobber FPU registers on the slow path when
// entering runtime. Preserve all FPU registers that are
// not guarateed to be preserved by the ABI.
// not guaranteed to be preserved by the ABI.
const intptr_t kCpuRegistersToPreserve =
kDartAvailableCpuRegs & ~kNonChangeableInputRegs;
const intptr_t kFpuRegistersToPreserve =

View file

@ -661,7 +661,7 @@ LocationSummary* AssertAssignableInstr::MakeLocationSummary(Zone* zone,
// We invoke a stub that can potentially clobber any CPU register
// but can only clobber FPU registers on the slow path when
// entering runtime. Preserve all FPU registers that are
// not guarateed to be preserved by the ABI.
// not guaranteed to be preserved by the ABI.
const intptr_t kCpuRegistersToPreserve =
kDartAvailableCpuRegs & ~kNonChangeableInputRegs;
const intptr_t kFpuRegistersToPreserve =

View file

@ -1058,7 +1058,7 @@ class CallSiteInliner : public ValueObject {
// to reduce code size and make sure we use the intrinsic code.
if (CompilerState::Current().is_aot() && function.is_intrinsic() &&
!inliner_->AlwaysInline(function)) {
TRACE_INLINING(THR_Print(" Bailout: intrinisic\n"));
TRACE_INLINING(THR_Print(" Bailout: intrinsic\n"));
PRINT_INLINING_TREE("intrinsic", &call_data->caller, &function,
call_data->call);
return false;

View file

@ -23,13 +23,13 @@ namespace dart {
DECLARE_FLAG(bool, print_flow_graph);
DECLARE_FLAG(bool, print_flow_graph_optimized);
class GraphInstrinsicCodeGenScope {
class GraphIntrinsicCodeGenScope {
public:
explicit GraphInstrinsicCodeGenScope(FlowGraphCompiler* compiler)
explicit GraphIntrinsicCodeGenScope(FlowGraphCompiler* compiler)
: compiler_(compiler), old_is_optimizing_(compiler->is_optimizing()) {
compiler_->is_optimizing_ = true;
}
~GraphInstrinsicCodeGenScope() {
~GraphIntrinsicCodeGenScope() {
compiler_->is_optimizing_ = old_is_optimizing_;
}
@ -44,7 +44,7 @@ static void EmitCodeFor(FlowGraphCompiler* compiler, FlowGraph* graph) {
// For graph intrinsics we run the linearscan register allocator, which will
// pass opt=true for MakeLocationSummary. We therefore also have to ensure
// `compiler->is_optimizing()` is set to true during EmitNativeCode.
GraphInstrinsicCodeGenScope optimizing_scope(compiler);
GraphIntrinsicCodeGenScope optimizing_scope(compiler);
compiler->assembler()->Comment("Graph intrinsic begin");
for (intptr_t i = 0; i < graph->reverse_postorder().length(); i++) {

View file

@ -162,7 +162,7 @@ struct IntrinsicDesc {
const char* function_name;
};
struct LibraryInstrinsicsDesc {
struct LibraryIntrinsicsDesc {
Library& library;
const IntrinsicDesc* intrinsics;
};
@ -205,7 +205,7 @@ void Intrinsifier::InitializeState() {
Error& error = Error::Handle(zone);
static const intptr_t kNumLibs = 4;
const LibraryInstrinsicsDesc intrinsics[kNumLibs] = {
const LibraryIntrinsicsDesc intrinsics[kNumLibs] = {
{Library::Handle(zone, Library::CoreLibrary()), core_intrinsics},
{Library::Handle(zone, Library::TypedDataLibrary()),
typed_data_intrinsics},

View file

@ -2946,7 +2946,7 @@ void StubCodeCompiler::GenerateJumpToFrameStub(Assembler* assembler) {
Register tmp1 = R0, tmp2 = R1;
// Check if we exited generated from FFI. If so do transition - this is needed
// because normally runtime calls transition back to generated via destructor
// of TransititionGeneratedToVM/Native that is part of runtime boilerplate
// of TransitionGeneratedToVM/Native that is part of runtime boilerplate
// code (see DEFINE_RUNTIME_ENTRY_IMPL in runtime_entry.h). Ffi calls don't
// have this boilerplate, don't have this stack resource, have to transition
// explicitly.

View file

@ -3257,7 +3257,7 @@ void StubCodeCompiler::GenerateJumpToFrameStub(Assembler* assembler) {
Register tmp1 = R0, tmp2 = R1;
// Check if we exited generated from FFI. If so do transition - this is needed
// because normally runtime calls transition back to generated via destructor
// of TransititionGeneratedToVM/Native that is part of runtime boilerplate
// of TransitionGeneratedToVM/Native that is part of runtime boilerplate
// code (see DEFINE_RUNTIME_ENTRY_IMPL in runtime_entry.h). Ffi calls don't
// have this boilerplate, don't have this stack resource, have to transition
// explicitly.

View file

@ -2617,7 +2617,7 @@ void StubCodeCompiler::GenerateJumpToFrameStub(Assembler* assembler) {
Label exit_through_non_ffi;
// Check if we exited generated from FFI. If so do transition - this is needed
// because normally runtime calls transition back to generated via destructor
// of TransititionGeneratedToVM/Native that is part of runtime boilerplate
// of TransitionGeneratedToVM/Native that is part of runtime boilerplate
// code (see DEFINE_RUNTIME_ENTRY_IMPL in runtime_entry.h). Ffi calls don't
// have this boilerplate, don't have this stack resource, have to transition
// explicitly.

View file

@ -3046,7 +3046,7 @@ void StubCodeCompiler::GenerateJumpToFrameStub(Assembler* assembler) {
Label exit_through_non_ffi;
// Check if we exited generated from FFI. If so do transition - this is needed
// because normally runtime calls transition back to generated via destructor
// of TransititionGeneratedToVM/Native that is part of runtime boilerplate
// of TransitionGeneratedToVM/Native that is part of runtime boilerplate
// code (see DEFINE_RUNTIME_ENTRY_IMPL in runtime_entry.h). Ffi calls don't
// have this boilerplate, don't have this stack resource, have to transition
// explicitly.

View file

@ -3180,7 +3180,7 @@ void StubCodeCompiler::GenerateJumpToFrameStub(Assembler* assembler) {
Label exit_through_non_ffi;
// Check if we exited generated from FFI. If so do transition - this is needed
// because normally runtime calls transition back to generated via destructor
// of TransititionGeneratedToVM/Native that is part of runtime boilerplate
// of TransitionGeneratedToVM/Native that is part of runtime boilerplate
// code (see DEFINE_RUNTIME_ENTRY_IMPL in runtime_entry.h). Ffi calls don't
// have this boilerplate, don't have this stack resource, have to transition
// explicitly.

View file

@ -1569,7 +1569,7 @@ static constexpr ExtensionSet RV_G = RV_I | RV_M | RV_A | RV_F | RV_D;
static constexpr ExtensionSet RV_GC = RV_G | RV_C;
static constexpr Extension RV_Zba(6); // Address generation
static constexpr Extension RV_Zbb(7); // Basic bit-manipulation
static constexpr Extension RV_Zbc(8); // Carry-less multiplicatio
static constexpr Extension RV_Zbc(8); // Carry-less multiplication
static constexpr Extension RV_Zbs(9); // Single-bit instructions
static constexpr ExtensionSet RV_B = RV_Zba | RV_Zbb | RV_Zbc | RV_Zbs;
static constexpr ExtensionSet RV_GCB = RV_GC | RV_B;

View file

@ -5098,7 +5098,7 @@ TEST_CASE(DartAPI_SetStickyError) {
EXPECT(Dart_GetStickyError() == Dart_Null());
}
TEST_CASE(DartAPI_TypeGetNonParamtericTypes) {
TEST_CASE(DartAPI_TypeGetNonParametricTypes) {
const char* kScriptChars =
"class MyClass0 {\n"
"}\n"

View file

@ -94,7 +94,7 @@ FOR_EACH_SECTION_TYPE(DECLARE_SECTION_TYPE_CLASS)
class BitsContainer;
class Segment;
// Align note sections and segments to 4 byte boundries.
// Align note sections and segments to 4 byte boundaries.
static constexpr intptr_t kNoteAlignment = 4;
class Section : public ZoneAllocated {

View file

@ -244,7 +244,7 @@ class CatchEntryMove {
// at the catch entry.
// Note: this is a deserialized representation that is used by the runtime
// system as a temporary representation and for caching. That is why this
// object is allocated in the malloced heap and not in the Dart heap.
// object is allocated in the mallocated heap and not in the Dart heap.
class CatchEntryMoves {
public:
static CatchEntryMoves* Allocate(intptr_t num_moves) {

View file

@ -2395,7 +2395,7 @@ FunctionPtr CreateFieldInitializerFunction(Thread* thread,
init_name = Symbols::FromConcat(thread, Symbols::InitPrefix(), init_name);
// Static field initializers are not added as members of their owning class,
// so they must be pre-emptively given a patch class to avoid the meaning of
// so they must be preemptively given a patch class to avoid the meaning of
// their kernel/token position changing during a reload. Compare
// Class::PatchFieldsAndFunctions().
// This might also be necessary for lazy computation of local var descriptors.

View file

@ -1900,7 +1900,7 @@ class TransferableTypedDataMessageSerializationCluster
objects_.Add(transferable);
void* peer = s->thread()->heap()->GetPeer(transferable->ptr());
// Assume that object's Peer is only used to track transferrability state.
// Assume that object's Peer is only used to track transferability state.
ASSERT(peer != nullptr);
TransferableTypedDataPeer* tpeer =
reinterpret_cast<TransferableTypedDataPeer*>(peer);
@ -1918,7 +1918,7 @@ class TransferableTypedDataMessageSerializationCluster
s->AssignRef(transferable);
void* peer = s->thread()->heap()->GetPeer(transferable->ptr());
// Assume that object's Peer is only used to track transferrability state.
// Assume that object's Peer is only used to track transferability state.
ASSERT(peer != nullptr);
TransferableTypedDataPeer* tpeer =
reinterpret_cast<TransferableTypedDataPeer*>(peer);

View file

@ -15560,7 +15560,7 @@ void PcDescriptors::SetLength(intptr_t value) const {
void PcDescriptors::CopyData(const void* bytes, intptr_t size) {
NoSafepointScope no_safepoint;
uint8_t* data = UnsafeMutableNonPointer(&untag()->data()[0]);
// We're guaranted these memory spaces do not overlap.
// We're guaranteed these memory spaces do not overlap.
memcpy(data, bytes, size); // NOLINT
}

View file

@ -3873,7 +3873,7 @@ class Function : public Object {
// dispatchers is not visible. Synthetic code that can trigger
// exceptions such as the outer async functions that create Futures
// is visible.
// instrinsic: Has a hand-written assembly prologue.
// intrinsic: Has a hand-written assembly prologue.
// inlinable: Candidate for inlining. False for functions with features we
// don't support during inlining (e.g., optional parameters),
// functions which are too big, etc.

View file

@ -219,7 +219,7 @@ class OSThread : public BaseThread {
static bool Compare(ThreadId a, ThreadId b);
// This function can be called only once per OSThread, and should only be
// called when the retunred id will eventually be passed to OSThread::Join().
// called when the returned id will eventually be passed to OSThread::Join().
static ThreadJoinId GetCurrentThreadJoinId(OSThread* thread);
// Called at VM startup and shutdown.

View file

@ -82,7 +82,7 @@ static ArrayPtr Eval(Dart_Handle lib, const char* expr) {
const String& dummy_isolate_id = String::Handle(String::New("isolateId"));
Dart_Handle expr_val;
{
TransitionVMToNative transiton(Thread::Current());
TransitionVMToNative transition(Thread::Current());
expr_val = Dart_EvaluateStaticExpr(lib, NewString(expr));
EXPECT_VALID(expr_val);
}

View file

@ -44,7 +44,7 @@ source_set("binaryen_sources") {
# We avoid listing all sources manually, this means when updating
# binaryen in DEPS (or manually editing) one has to ensure to
# re-run GN in DEPS to ensure new dependencies are picked up.
# (this lowers the maintainaince burden of GN build support for binaryen)
# (this lowers the maintenance burden of GN build support for binaryen)
sources = exec_script("list_sources.py",
src_dirs,
"list lines",

View file

@ -27,7 +27,7 @@ library PegParser;
* sequence is value-generating if any of the subrules are value-generating or
* if there is a reducing function. If no reducing function is given, the value
* returned depends on the number of value-generating subrules. If there is
* only one value generating subrule, that provideds the value for the sequence.
* only one value generating subrule, that provides the value for the sequence.
* If there are more, then the value is a list of the values of the
* value-generating subrules.
*/