Ryan Macnak
b68351fbc3
[vm] Update NULL to nullptr in runtime/bin.
...
TEST=build
Change-Id: Ie3be570c274b0275a995a0f54b5e6ccdfc77ccd3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/292287
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Brian Quinlan <bquinlan@google.com >
2023-04-12 01:11:05 +00:00
Martin Kustermann
d511d177b3
[vm] Use atomic to avoid racy resolved platform string initialization
...
Issue https://github.com/dart-lang/sdk/issues/46626
TEST=This fixes TSAN reports on iso-stress builder.
Change-Id: I6797ff11f4d9b44ea72b2bb7beac715e2828f3a6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/207024
Reviewed-by: Alexander Aprelev <aam@google.com >
Reviewed-by: Tess Strickland <sstrickl@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2021-07-15 15:26:55 +00:00
Ben Konyi
c4b7097e97
[ VM ] Migrate VM tests to support null safety and return errors from Dart_GetType and Dart_NewListOf when --null-safety is enabled
...
These methods return legacy types, which aren't valid with null safety
enabled.
Fixes https://github.com/dart-lang/sdk/issues/41154
Change-Id: I1181f0f3b9a8df156dea4dc4c82fef8afdf97ab9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148685
Commit-Queue: Ben Konyi <bkonyi@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2020-05-26 22:40:52 +00:00
Zach Anderson
27c79f9459
[vm] Propagate more UTF8 conversion errors
...
Change-Id: I8d4f3a892a51bed8b922961bd74bcad727f66508
Reviewed-on: https://dart-review.googlesource.com/73280
Commit-Queue: Zach Anderson <zra@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-09-06 02:23:21 +00:00
Ryan Macnak
d528e1651f
Reapply "Misc "strong" mode fixes for dart:io."
...
Remove changes to Socket.flush and Socket.done.
Split socket_test and socket_exceptions_test so we can minimize suppressions.
Bug: https://github.com/dart-lang/sdk/issues/31587
Bug: https://github.com/dart-lang/sdk/issues/31685
Bug: https://github.com/dart-lang/sdk/issues/27453
Change-Id: I3c44223480554f57d66be048c0361f6d0c699be2
Reviewed-on: https://dart-review.googlesource.com/30389
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2017-12-19 21:41:47 +00:00
Ryan Macnak
a51b45870c
Revert "Misc "strong" mode fixes for dart:io."
...
This reverts commit c6f1ce24f3 .
Reason for revert: standalone_2/io/socket_exception_test failing
Original change's description:
> Misc "strong" mode fixes for dart:io.
>
> Bug: https://github.com/dart-lang/sdk/issues/31587
> Change-Id: I032be8e25aa8d6a851f0bf00ec12b1a3578308c6
> Reviewed-on: https://dart-review.googlesource.com/30080
> Reviewed-by: Zach Anderson <zra@google.com >
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
TBR=rmacnak@google.com ,zra@google.com ,asiva@google.com
Change-Id: I9af0570577009b54e3a43f083008d65c4c3f9ba3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/31587
Reviewed-on: https://dart-review.googlesource.com/30420
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2017-12-19 00:04:10 +00:00
Ryan Macnak
c6f1ce24f3
Misc "strong" mode fixes for dart:io.
...
Bug: https://github.com/dart-lang/sdk/issues/31587
Change-Id: I032be8e25aa8d6a851f0bf00ec12b1a3578308c6
Reviewed-on: https://dart-review.googlesource.com/30080
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2017-12-18 22:15:06 +00:00
Zachary Anderson
e2bce948ed
[dart:io] Adds Platform.operatingSystemVersion
...
fixes #30018
R=rmacnak@google.com
Review-Url: https://codereview.chromium.org/3006873002 .
2017-09-01 22:08:48 -07:00
Zachary Anderson
747868f2b1
[dart:io] Remove DART_IO_DISABLED
...
This was only used by Dartium.
Review-Url: https://codereview.chromium.org/3009523002 .
2017-08-24 11:17:52 -07:00
Zachary Anderson
6cd8a79078
VM: Re-format to use at most one newline between functions
...
R=asiva@google.com
Review-Url: https://codereview.chromium.org/2974233002 .
2017-07-13 08:08:37 -07:00
Zach Anderson
bc923bed16
[dart:io] Reland: Adds Platform.localeName
...
The Mac OS build broke because a typedef wasn't added until 10.12.
related #29126
Review-Url: https://codereview.chromium.org/2786183003 .
2017-03-30 13:51:46 -07:00
Zachary Anderson
e75df3cce3
Revert "[dart:io] Adds Platform.localeName"
...
This reverts commit ae6d854ec6 .
The build failed on the mac build bots. Need to investigate.
Review-Url: https://codereview.chromium.org/2791453002 .
2017-03-30 13:35:02 -07:00
Zachary Anderson
ae6d854ec6
[dart:io] Adds Platform.localeName
...
related #29126
R=fschneider@google.com
Review-Url: https://codereview.chromium.org/2785073002 .
2017-03-30 13:31:11 -07:00
Zach Anderson
b3093ecee6
[dart:io] Move Platform.ansiSupported to {Stdin,Stdout}.supportsAnsiEscapes
...
On Windows, some Windows 10 builds support only ANSI output, but not
input, so these need to be separated.
I'm also improving the detection on Mac and Linux to avoid hardcoding
the result. Instead, supportsAnsiEscapes will be true if isatty() and
the TERM environment variable contains the string 'xterm'.
related #28614
R=lrn@google.com
Review-Url: https://codereview.chromium.org/2753233002 .
2017-03-17 12:35:36 -07:00
Zach Anderson
a8bf498e56
[dart:io] Adds Platform.ansiSupported
...
This is so that flutter_tool can determine whether it can print
ANSI codes to the terminal on windows.
fixes #28614,#28984
R=asiva@google.com
Review-Url: https://codereview.chromium.org/2739683005 .
2017-03-15 08:51:50 -07:00
Ryan Macnak
646de0b77e
Re-enable Platform.executable under precompilation.
...
Because the snapshot is passed explicitly, there is no longer the risk of a test that is valid running as a script becoming a fork-bomb when running as an AOT snapshot.
Fixes #26417
R=asiva@google.com
Review URL: https://codereview.chromium.org/2487363003 .
2016-11-11 16:19:02 -08:00
Zachary Anderson
479a97b129
clang-format runtime/bin
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2480793002 .
2016-11-04 12:30:56 -07:00
Ryan Macnak
0c3773fd71
Allow Platform.executable for JIT app snapshots.
...
Because they run on a VM that can also run from source, they don't have the same fork-bomb problem we have when running with AOT.
Related to #26417
R=asiva@google.com
Review URL: https://codereview.chromium.org/2466363003 .
2016-11-02 16:28:09 -07:00
Zachary Anderson
57bff322cd
Ignore non-UTF8 strings in the environment
...
R=asiva@google.com
Review URL: https://codereview.chromium.org/2273053002 .
2016-08-24 10:10:41 -07:00
Jason Simmons
7eb43c2134
Return a null Platform.executable and resolvedExecutable on Android
...
See https://github.com/flutter/flutter/issues/3648
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1953333002 .
2016-05-06 14:29:53 -07:00
Zachary Anderson
7308e58c3f
Really remove io support when dart:io is unsupported.
...
Previously we would compile in implementaitions of native calls for
IO functions that would never be used. This CL provides implementations
that throw a Dart exception if they're called by mistake. It also uses
a DART_IO_DISABLED preprocessor define to clean up the build files and
check that we're not including code we shouldn't.
R=iposva@google.com , johnmccutchan@google.com
Review URL: https://codereview.chromium.org/1839463002 .
2016-03-29 11:22:03 -07:00
Zachary Anderson
078d89ef5c
Fix dangling pointer
...
The resolved executable path is returned to the static in Platform as
a scope allocated string. This change strdups it when it is cached in
a static for return on subsequent calls. Previously, the memory would
be deallocated on exit from the scope.
fixes #26031
R=asiva@google.com
Review URL: https://codereview.chromium.org/1813943004 .
2016-03-18 08:34:23 -07:00
Zachary Anderson
c75a817ee0
Fixes some memory leaks in //runtime/bin
...
Also some style cleanups.
Decided to fix these leaks by using Dart_ScopeAllocate
instead of malloc and new. Leaks are noted in the CL.
I haven't finished looking over all the code in
//runtime/bin yet, but this CL was getting big.
Review URL: https://codereview.chromium.org/1781883002 .
2016-03-14 11:08:52 -07:00
Ryan Macnak
6b964b83ac
Add ./tools/test.py -c precompiler -r dart_precompiled.
...
- Make --gen/run-precompiled-snapshot take a directory to use for the snapshot pieces.
- Throw on Platform.executeable to prevent tests from becoming fork-bombs.
- Update status files so 'dart_precompiled' is generally expected to behave the same as 'vm'.
Currently multitests will fail unless run with --jobs=1 because the test harness assigns them the same temporary directory.
Running this also requires a great deal of space. My out directory is 380G.
BUG=http://dartbug.com/24975
R=fschneider@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org/1507943002 .
2015-12-18 12:08:10 -08:00
Ivan Posva
e651452759
- Make sure that externals are patched for dart2js.
...
- Remove unneeded native entry points.
BUG=
Review URL: https://codereview.chromium.org/1535743002 .
2015-12-17 08:26:07 -08:00
Søren Gjesse
c05c8c6606
Revert change to Platform.excutable and add Platform.resolvedExecutable
...
The change to Platform.excutable in
e03ab17437 was a breaking change and it
has been reverted.
A new getter Platform.resolvedExecutable has been added to provide the
the fully qualified path of the executable.
BUG=https://github.com/dart-lang/sdk/issues/16994
R=lrn@google.com , kustermann@google.com , len@google.com
Review URL: https://codereview.chromium.org//1180623006 .
2015-06-15 10:13:21 +02:00
Søren Gjesse
e03ab17437
Make Platform.executable return the fully qualified path of the executable
...
BUG=http://dartbug.com/16994
R=kustermann@google.com , lrn@google.com
Review URL: https://codereview.chromium.org//1145053002
2015-05-20 13:14:51 +02:00
whesse@google.com
9de122a462
Add Platform.packageRoot and Platform.executableArguments to dart:io.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//22999033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26432 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-21 15:21:55 +00:00
sgjesse@google.com
a1158d6c50
Make the values of Platform.executable and Platform.script available to all isolates
...
BUG=http://dartbug.com/12258
R=iposva@google.com
Review URL: https://codereview.chromium.org//22565003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25913 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-08 07:19:21 +00:00
asiva@google.com
b4d9e0d620
Auto create ApiLocalScope before calling native functions, this ensures that
...
native functions do not have to call Dart_EnterScope/Dart_ExitScope
when they callback into the VM.
Remove Dart_EnterScope/Dart_ExitScope calls around native functions in 'bin'
directory.
R=regis@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//22303002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25827 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-06 19:27:48 +00:00
sgjesse@google.com
887c8e7596
Move getters from Options to Platform
...
The getters for executable, script and version are now statics on
Platform. I kept them on Options for now, but updated most tests to
use Platform.
R=ajohnsen@google.com , floitsch@google.com , iposva@google.com
BUG=
Review URL: https://codereview.chromium.org//17406010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24401 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 12:56:23 +00:00
asiva@google.com
89ef11e004
Final step towards loading core library scripts directly from the sources
...
- Modify bin.gypi to ensure that the io library and patch files are read
directly from the sources. Remove the source buffer generation step in
the gypi files for all the io library and patch files.
- Restructure the code a bit to eliminate some code duplication.
- Delete runtime/tools/concat_library.py
R=ager@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//14752008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22514 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-08 16:42:46 +00:00
smok@google.com
ebbc2020a2
Put everything in runtime/bin into '::dart::bin' namespace.
...
Review URL: https://codereview.chromium.org//14341015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22032 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-25 14:22:30 +00:00
ager@google.com
28b43144e5
Update dart:io to convert strings between UTF8 and current code page
...
when interacting with the system.
What we get from and need to hand to the VM is utf8. What we
get from and need to hand to the system is in the current
code page.
R=sgjesse@google.com
BUG=
Review URL: https://codereview.chromium.org//11275281
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14851 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-13 15:03:23 +00:00
asiva@google.com
ebbb7c4134
- Represent strings internally in UTF-16 format, this makes it
...
compatible with webkit and will allow for easy externalization of
strings. One byte strings are retained for pure ASCII strings.
(The language specification was changed recently to reflect this as
follows "A string is a sequence of UTF-16 code units").
- Remove four byte string class and all references to it.
- Rename some of the string functions in Dart API to make them
consistent and better describe the underlying functionality
Dart_NewString => Dart_NewStringFromCString
Dart_NewString8 => Dart_NewStringFromUTF8
Dart_NewString16 => Dart_NewStringFromUTF16
Dart_NewString32 => Dart_NewStringFromUTF32
Dart_NewExternalString8 => Dart_NewExternalUTF8String
Dart_NewExternalString16 => Dart_NewExternalUTF16String
Dart_NewExternalString32 => Dart_NewExternalUTF32String
Dart_StringGet8 => Dart_StringToUTF8
Dart_StringGet16 => Dart_StringToUTF16
Dart_StringToCString => Dart_StringToCString
Dart_IsString8 => Removed
Dart_IsString16 -> Removed
Dart_StringToBytes -> Removed
Dart_StringGet32 -> Removed
Review URL: https://codereview.chromium.org//11318018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14357 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-31 17:56:46 +00:00
ager@google.com
758943e32a
Add read-only environment variable access.
...
Map<String, String> env = new Platform().environment();
Unfortunately, this is a bit hard to test at this point. I
will move on to implement support for providing an environment
to processes that are started. At that point we can test it
properly.
Another follow-up change will be to remove the instantiation
for Platform. I would like this to be just
Map<String, String> env = Platform.environment();
R=sgjesse@google.com
BUG=dartbug.com/752
TEST=
Review URL: https://chromiumcodereview.appspot.com//10112002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6646 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-17 16:20:28 +00:00
ajohnsen@google.com
d480a1eeef
Add member localHostname() to the Dart IO Platform class.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10050011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6409 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-11 12:27:55 +00:00
ager@google.com
ec697c8481
Implementation of Platform class that exposes information about the machine and the OS.
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8492007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1260 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-07 15:04:42 +00:00