Find a file
Alexander Markov 28258e54fd Revert "[vm/compiler] Move handling of recognized methods from inliner to call specializer"
This reverts commit eebc219bab.

Reason for revert: performance regressions

Original change's description:
> [vm/compiler] Move handling of recognized methods from inliner to call specializer
>
> This refactoring reduces number of places where recognized methods are
> handled and cleans up general-purpose inliner pass.
>
> The code is mostly moved as is to simplify reviewing, with a notable
> exception: in a few places handling of recognized method calls is
> removed as it duplicates handling performed during call specialization
> passes (ApplyClassIds and ApplyICData) which run both before and after
> inlining.
>
> TEST=ci
>
> Change-Id: I8d53d23587beb09e6edf64ee95524f6ad3e060de
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/358221
> Reviewed-by: Slava Egorov <vegorov@google.com>
> Commit-Queue: Alexander Markov <alexmarkov@google.com>

Change-Id: I9576bc4b385b5d0e0b728556defedb4962ec0a8a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/359842
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2024-03-26 14:25:38 +00:00
.dart_tool
.github Bump actions/checkout from 4.1.1 to 4.1.2 2024-03-19 10:07:23 +00:00
benchmarks [benchmarks] Fix benchmarks warming up incorrectly. 2024-02-22 14:38:19 +00:00
build [infra] Update alpine sysroot 2024-03-21 10:43:15 +00:00
docs Add requirement to fix downstream repositories 2024-03-13 14:13:49 +00:00
pkg Add code block type to MdCodeBlock. 2024-03-26 06:57:47 +00:00
runtime Revert "[vm/compiler] Move handling of recognized methods from inliner to call specializer" 2024-03-26 14:25:38 +00:00
samples fix use of deprecated members in ffi samples 2024-01-31 22:31:59 +00:00
sdk Revert "[io] Fix a bug where Process.stdin.add exceptions could not be caught" 2024-03-25 21:03:12 +00:00
tests [vm] Split DartReturnInstr and NativeReturnInstr 2024-03-26 11:12:38 +00:00
third_party [dds/dap] Bump package:dap and the version used by DDS 2024-02-29 19:22:19 +00:00
tools [infra] Fail hard if starting RBE fails. 2024-03-26 11:10:48 +00:00
utils [ VM / DDS ] Add --print-dtd-uri flag and launch DTD from the correct snapshot for AOT 2024-03-21 19:50:46 +00:00
.clang-format
.gitattributes Fix allowing Windows newlines in sh files. 2024-03-19 11:27:14 +00:00
.gitconfig
.gitignore [infra] Support testing with RBE on Windows. 2024-02-29 10:33:09 +00:00
.gn
.mailmap
.style.yapf
AUTHORS
BUILD.gn [vm] Do not bundle dart.lib in the Dart SDK 2024-02-15 14:09:37 +00:00
CHANGELOG.md [dart:js_interop] Change several operators back to JSBoolean 2024-03-25 17:05:36 +00:00
codereview.settings
CONTRIBUTING.md
DEPS Bump pub to 3f0df78417f7c112b933fbcdc1c5c87bde680cb1 2024-03-25 15:19:58 +00:00
LICENSE
OWNERS [infra] Remove .packages OWNERS rule. 2024-03-25 15:43:48 +00:00
PATENT_GRANT
PRESUBMIT.py [presubmit] Force read files as UTF-8 2024-03-05 14:25:09 +00:00
README.dart-sdk
README.md Update readme content 2023-12-18 15:30:58 +00:00
sdk.code-workspace
sdk_args.gni [gn] Add an option to specify the sdk_hash 2024-03-07 04:11:48 +00:00
SECURITY.md
WATCHLISTS

Dart

An approachable, portable, and productive language for high-quality apps on any platform

Dart is:

  • Approachable: Develop with a strongly typed programming language that is consistent, concise, and offers modern language features like null safety and patterns.

  • Portable: Compile to ARM, x64, or RISC-V machine code for mobile, desktop, and backend. Compile to JavaScript or WebAssembly for the web.

  • Productive: Make changes iteratively: use hot reload to see the result instantly in your running app. Diagnose app issues using DevTools.

Dart's flexible compiler technology lets you run Dart code in different ways, depending on your target platform and goals:

  • Dart Native: For programs targeting devices (mobile, desktop, server, and more), Dart Native includes both a Dart VM with JIT (just-in-time) compilation and an AOT (ahead-of-time) compiler for producing machine code.

  • Dart Web: For programs targeting the web, Dart Web includes both a development time compiler (dartdevc) and a production time compiler (dart2js).

Dart platforms illustration

License & patents

Dart is free and open source.

See LICENSE and PATENT_GRANT.

Using Dart

Visit dart.dev to learn more about the language, tools, and to find codelabs.

Browse pub.dev for more packages and libraries contributed by the community and the Dart team.

Our API reference documentation is published at api.dart.dev, based on the stable release. (We also publish docs from our beta and dev channels, as well as from the primary development branch).

Building Dart

If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building.

There are more documents on our wiki.

Contributing to Dart

The easiest way to contribute to Dart is to file issues.

You can also contribute patches, as described in Contributing.