- Make a folder somewhere that will contain engine and framework checkouts. The rest of instructions assumes that
$fltpoints to that folder. - Into
$flt/fluttergetflutterby$ cd $flt $ git clone https://github.com/flutter/flutter
- Add
$flt/flutter/binto your path, runflutter doctorand fix issues if any are reported. - Into
$flt/enginegetenginecheckout following these instructions. Make sure to run dependency installation scripts as described there. - In
$flt/engine/src/third_party/dartswitch tomasterand pull uptoHEAD
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/SuperPi_flutter/lib/pi_calculator.dart b/SuperPi_flutter/lib/pi_calculator.dart | |
| index 39faf59..b519f6a 100644 | |
| --- a/SuperPi_flutter/lib/pi_calculator.dart | |
| +++ b/SuperPi_flutter/lib/pi_calculator.dart | |
| @@ -30,7 +30,7 @@ class PiCalculator { | |
| double yk1 ; | |
| for (int i = 0; i < k; i++) { | |
| yk1 = (1 - math.pow((1 - yk * yk * yk * yk),(0.25)))/(1 + math.pow((1 - yk * yk * yk * yk),(0.25))); | |
| - ak1 = ak * math.pow((1 + yk1), 4) - math.pow(2, 2 * i + 3) * yk1 * (1 + yk1 + yk1 * yk1); | |
| + ak1 = ak * math.pow((1 + yk1), 4.0) - math.pow(2.0, (2 * i + 3) + 0.0) * yk1 * (1 + yk1 + yk1 * yk1); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include <stdio.h> // for fprintf() | |
| #include <fcntl.h> | |
| #include <unistd.h> // for close(), read() | |
| #include <sys/epoll.h> // for epoll_create1(), epoll_ctl(), struct epoll_event | |
| #include <string.h> // for strncmp | |
| #include <errno.h> | |
| const int kMaxEvents = 5; | |
| const int kReadSize = 5; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Future<void> f() async { | |
| print("f invoked"); | |
| await Future.value(10); | |
| print("f continued"); | |
| } | |
| Future<void> g() async { | |
| print("g invoked"); | |
| await Future.value(10); | |
| print("g continued"); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/runtime/tests/vm/dart/regress_33999_test.dart b/runtime/tests/vm/dart/regress_33999_test.dart | |
| index 933d2e0bef..21c3930afd 100644 | |
| --- a/runtime/tests/vm/dart/regress_33999_test.dart | |
| +++ b/runtime/tests/vm/dart/regress_33999_test.dart | |
| @@ -8,12 +8,14 @@ | |
| // Class with two type parameters. | |
| class A<U, T> { | |
| - T field; | |
| + T field1; |
The aim of Dart FFI project (tracked as Issue #34452) is to provide a low boilerplate, low ceremony & low overhead way of interoperating with native C/C++ code.
The motivation behind this project is twofold:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function createSlowObject() { | |
| let obj = {}; | |
| for (let i = 0; i < 100; i++) { | |
| obj['f' + i] = i; | |
| } | |
| return obj; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/third_party/gtest/BUILD.gn b/third_party/gtest/BUILD.gn | |
| index db5f4a56..f47d0437 100644 | |
| --- a/third_party/gtest/BUILD.gn | |
| +++ b/third_party/gtest/BUILD.gn | |
| @@ -41,7 +41,7 @@ if (crashpad_is_in_chromium) { | |
| "//third_party/googletest:gmock", | |
| ] | |
| } | |
| -} else if (crashpad_is_standalone) { | |
| +} else if (crashpad_is_external || crashpad_is_standalone) { |
- Make a folder somewhere that will contain engine and framework checkouts. The rest of instructions assumes that
$fltpoints to that folder. - Into
$flt/fluttergetflutterby$ cd $flt $ git clone https://github.com/flutter/flutter
- Add
$flt/flutter/binto your path, runflutter doctorand fix issues if any are reported. - Into
$flt/enginegetenginecheckout following these instructions. Make sure to run dependency installation scripts as described there. - In
$flt/engine/src/third_party/dartswitch tomasterand pull uptoHEAD
Closures (unlike other methods) can be invoked with mismatched arguments, which
then should result in Object.noSuchMethod invocation.
We implement it by tail-calling
to the CallClosureNoSuchMethod stub if we discover
an arity mismatch or a unmatched named argument. The stub gets original arguments
and original argument descriptor and simply redirects to runtime function
InvokeClosureNoSuchMethod which does all the heavy lifting related to