Ryan Macnak
f9a6a5bdd2
[vm] Update NULL to nullptr in runtime/vm.
...
TEST=build
Change-Id: I2834ef7cf7cb7c8770f8167a2438cbedcee5c623
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/292063
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Alexander Aprelev <aam@google.com >
2023-04-10 18:15:12 +00:00
Ryan Macnak
e31c3713bf
Reland "[build, vm] Access TLS with less code."
...
- Avoid TLS initialization checks by using inline initialization.
- Avoid global offset table indirection by reducing -fPIC to -fPIE.
out/ReleaseXARM64/exe.stripped/dart_precompiled_runtime
11137992 -> 11274776 (-1.21%)
We still need -fPIC in some places because we build a few shared libraries for FFI, so copy some of Fuchsia's GN setup to use -fPIE or -fPIC as appropriate.
Account for older gcc that does not default to -fpie.
TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/51602
Change-Id: I85072153cb1aef9047c1adbf36c7496fbeb11e10
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286221
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2023-03-02 23:07:16 +00:00
William Hesse
ec53fdd0bf
Revert "[build, vm] Access TLS with less code."
...
This reverts commit aa79cf2708 .
Reason for revert: -fPIC is needed in more places than the CL adds it to, see CI builds at https://ci.chromium.org/ui/p/dart-internal/builders/ci/dart-sdk-linux-riscv64-dev/405/overview
Original change's description:
> [build, vm] Access TLS with less code.
>
> - Avoid TLS initialization checks by using inline initialization.
> - Avoid global offset table indirection by reducing -fPIC to -fPIE.
>
> out/ReleaseXARM64/exe.stripped/dart_precompiled_runtime
> 11137992 -> 11274776 (-1.21%)
>
> We still need -fPIC in some places because we build a few shared libraries for FFI, so copy some of Fuchsia's GN setup to use -fPIE or -fPIC as appropriate.
>
> TEST=ci
> Change-Id: I6402fce3366a9c4b2741ffb4811562292b8ecb71
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285704
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
> Reviewed-by: Daco Harkes <dacoharkes@google.com >
Change-Id: Idacb7869e9fa9ad0f7ed7b0caa2bae19deece7d0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286144
Reviewed-by: Martin Kustermann <kustermann@google.com >
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com >
Auto-Submit: William Hesse <whesse@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2023-03-01 12:19:07 +00:00
Ryan Macnak
aa79cf2708
[build, vm] Access TLS with less code.
...
- Avoid TLS initialization checks by using inline initialization.
- Avoid global offset table indirection by reducing -fPIC to -fPIE.
out/ReleaseXARM64/exe.stripped/dart_precompiled_runtime
11137992 -> 11274776 (-1.21%)
We still need -fPIC in some places because we build a few shared libraries for FFI, so copy some of Fuchsia's GN setup to use -fPIE or -fPIC as appropriate.
TEST=ci
Change-Id: I6402fce3366a9c4b2741ffb4811562292b8ecb71
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285704
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2023-03-01 01:21:55 +00:00
Ryan Macnak
347c49354e
[vm] Lock-free management of the profiler's sample blocks.
...
Add asserts against using mutexes or monitors during the signal handler or suspended thread scopes. Poison use of Thread::Current during these scopes.
TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/51124
Change-Id: If1df06520114105b2b4d8c81b4650bdb4efeaf50
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283703
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2023-02-21 19:07:57 +00:00
asiva
7ef8c77ad2
[VM/Runtime] Fuse the shutdown and initialization states in the timeline
...
recorder under a single synchronization scope.
TEST=ci
Change-Id: Iff41297427674b307a8ed0cdef9c3010a15ca03e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283481
Reviewed-by: Derek Xu <derekx@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2023-02-17 00:23:18 +00:00
Derek Xu
52a5f4d9cd
[VM/Timeline] Prevent races between reading / modifying the value of Timeline::recorder_
...
TEST=Checked that the problem described in the GitHub issue has been resolved.
Fixes https://github.com/dart-lang/sdk/issues/51408
Change-Id: I688d32a7cdd81b4f877e212d4f1376735013175c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283141
Commit-Queue: Derek Xu <derekx@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
2023-02-15 17:52:59 +00:00
Derek Xu
ec876310e0
[VM/Timeline] Rename RecorderLock to RecorderShutdownSynchronizationLock to make its purpose clearer
...
TEST=CI
Change-Id: I433bf456fd6f86a76469cb0f0b1f5156871b2edb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283140
Reviewed-by: Ben Konyi <bkonyi@google.com >
2023-02-15 17:52:59 +00:00
Derek Xu
94f9fba3ce
Reland "[VM/Timeline] Add test that makes TSAN check the track metadata map"
...
TEST=MSVC tryjob
This is a reland of commit d9f1aefe9e
Original change's description:
> Reland "[VM/Timeline] Add test that makes TSAN check the track metadata map"
>
> This is a reland of commit 8a39d781ce
>
> Fixed by changing accidental usages of `kInvalidThreadId` to
> `kInvalidThreadJoinId`.
>
> TEST=Windows tryjobs
>
> Original change's description:
> > [VM/Timeline] Add test that makes TSAN check the track metadata map
> >
> > TEST=CI
> >
> > Change-Id: I9e4fa4bbc08e77a1365e84f2d048384d7f0b1350
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281720
> > Reviewed-by: Ben Konyi <bkonyi@google.com >
> > Commit-Queue: Derek Xu <derekx@google.com >
>
> Fixes https://github.com/dart-lang/sdk/issues/51328
> Change-Id: I9219ed9bee212ecb50e3d0a0ed639d3ac8676238
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281920
> Reviewed-by: Ben Konyi <bkonyi@google.com >
> Commit-Queue: Derek Xu <derekx@google.com >
Change-Id: I6bcc9e02c1ac1e35ba08559d3098ba0cf69b7eba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282360
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Derek Xu <derekx@google.com >
2023-02-10 18:05:00 +00:00
Derek Xu
41d6db8ce5
Revert "Reland "[VM/Timeline] Add test that makes TSAN check the track metadata map""
...
This reverts commit d9f1aefe9e .
Reason for revert: broke vm-kernel-msvc-windows
Original change's description:
> Reland "[VM/Timeline] Add test that makes TSAN check the track metadata map"
>
> This is a reland of commit 8a39d781ce
>
> Fixed by changing accidental usages of `kInvalidThreadId` to
> `kInvalidThreadJoinId`.
>
> TEST=Windows tryjobs
>
> Original change's description:
> > [VM/Timeline] Add test that makes TSAN check the track metadata map
> >
> > TEST=CI
> >
> > Change-Id: I9e4fa4bbc08e77a1365e84f2d048384d7f0b1350
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281720
> > Reviewed-by: Ben Konyi <bkonyi@google.com >
> > Commit-Queue: Derek Xu <derekx@google.com >
>
> Fixes https://github.com/dart-lang/sdk/issues/51328
> Change-Id: I9219ed9bee212ecb50e3d0a0ed639d3ac8676238
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281920
> Reviewed-by: Ben Konyi <bkonyi@google.com >
> Commit-Queue: Derek Xu <derekx@google.com >
TBR=bkonyi@google.com ,derekx@google.com ,dart-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: Iea36a34a392a51b53699527a7af36b93f924057f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282340
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com >
Commit-Queue: Derek Xu <derekx@google.com >
2023-02-10 13:49:06 +00:00
Derek Xu
d9f1aefe9e
Reland "[VM/Timeline] Add test that makes TSAN check the track metadata map"
...
This is a reland of commit 8a39d781ce
Fixed by changing accidental usages of `kInvalidThreadId` to
`kInvalidThreadJoinId`.
TEST=Windows tryjobs
Original change's description:
> [VM/Timeline] Add test that makes TSAN check the track metadata map
>
> TEST=CI
>
> Change-Id: I9e4fa4bbc08e77a1365e84f2d048384d7f0b1350
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281720
> Reviewed-by: Ben Konyi <bkonyi@google.com >
> Commit-Queue: Derek Xu <derekx@google.com >
Fixes https://github.com/dart-lang/sdk/issues/51328
Change-Id: I9219ed9bee212ecb50e3d0a0ed639d3ac8676238
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281920
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Derek Xu <derekx@google.com >
2023-02-09 16:25:14 +00:00
Alexander Aprelev
ec6712542c
Revert "[VM/Timeline] Add test that makes TSAN check the track metadata map"
...
This reverts commit 8a39d781ce .
Reason for revert: https://github.com/dart-lang/sdk/issues/51328 - breaks windows buildbot
Original change's description:
> [VM/Timeline] Add test that makes TSAN check the track metadata map
>
> TEST=CI
>
> Change-Id: I9e4fa4bbc08e77a1365e84f2d048384d7f0b1350
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281720
> Reviewed-by: Ben Konyi <bkonyi@google.com >
> Commit-Queue: Derek Xu <derekx@google.com >
TBR=bkonyi@google.com ,derekx@google.com ,dart-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: I1228676f3a6a3e622b47a3e15f2b40b2e68fe676
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281865
Reviewed-by: Alexander Aprelev <aam@google.com >
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
2023-02-08 21:55:43 +00:00
Derek Xu
8a39d781ce
[VM/Timeline] Add test that makes TSAN check the track metadata map
...
TEST=CI
Change-Id: I9e4fa4bbc08e77a1365e84f2d048384d7f0b1350
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281720
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Derek Xu <derekx@google.com >
2023-02-08 19:57:48 +00:00
Derek Xu
e6d5d32d3b
Reland "[VM/Timeline] Improve handling of track metadata"
...
This is a reland of commit 3787601dd0
TEST=CI, TSAN, ASAN, and I manually checked that more track names are
populated when the changes in this CL are applied.
Original change's description:
> [VM/Timeline] Improve handling of track metadata
>
> The track information that we send over the service is currently
> incomplete. Since we only iterate over the threads that exist at the
> time when getVMTimeline is called, we're missing information about any
> threads that were joined before that. This CL fixes this issue.
>
> TEST=CI, ASAN, and I manually checked that more track names are
> populated when the changes in this CL are applied.
>
> Change-Id: Ic4edc9910884c3f4743dc0ca65aa7d2a695ff09d
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280058
> Reviewed-by: Ben Konyi <bkonyi@google.com >
> Commit-Queue: Derek Xu <derekx@google.com >
Change-Id: I5e56d8cff6a6d641bc9a7ac51f8df4cdf78082c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281200
Reviewed-by: Ben Konyi <bkonyi@google.com >
2023-02-08 19:57:48 +00:00
Derek Xu
5577eafdba
[VM] Add OSThread::GetCurrentThreadName() method
...
Some fields of `OSThread` are initialized by retrieving information by
calling OS functions. For example, `trace_id_` is initialized by calling
`OSThread::GetCurrentThreadTraceId()`. Similarly, this CL adds the
`OSThread::GetCurrentThreadName()` method and uses it to initialize
`name_`.
TEST=CI
Change-Id: Iee121d71e660be01ff684a298144fa7d59e3b61d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278662
Commit-Queue: Derek Xu <derekx@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
2023-01-31 22:37:30 +00:00
Josh Soref
0633041729
Spelling runtime vm
...
Closes https://github.com/dart-lang/sdk/pull/50786
TEST=ci
GitOrigin-RevId: 781a38e2925ba505f0223ecd578faa9be8e1485c
Change-Id: Ia3c615012d1bac3f0cf64dc01c2ceb40d50d1193
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/276684
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2022-12-29 10:18:02 +00:00
Ryan Macnak
700969604a
[vm] Require C11 thread_local support.
...
Thus requiring iOS 9+.
TEST=build
Change-Id: I40062753ae030231d4e4ae428c9145f4370cb9a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/213283
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Chinmay Garde <chinmaygarde@google.com >
2021-09-13 19:30:30 +00:00
Alexander Aprelev
8ce78ca107
[vm/msan] Fix msan error triggered when building debug gen_snapshot.
...
Fixes https://github.com/dart-lang/sdk/issues/43433 .
Change-Id: Ia7558251ab7a6115c3e0092ad57011e7e1f42340
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/163722
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
2020-09-21 19:42:42 +00:00
Martin Kustermann
3d53df52af
Revert "[vm] Call OSThread::Cleanup() during VM shutdown (as with all other Init/Cleanup functions)"
...
See b/157883819: Custom embedder doesn't correctly join threads that
interacted with Dart API, which causes us to hit the newly added
RELEASE_ASSERT.
This reverts commit ea4b17533c .
Change-Id: I9fec45196646f67ae46efccc2f83a43e8941a626
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149592
Reviewed-by: David Morgan <davidmorgan@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2020-06-02 13:25:01 +00:00
Martin Kustermann
ea4b17533c
[vm] Call OSThread::Cleanup() during VM shutdown (as with all other Init/Cleanup functions)
...
Change-Id: I3cfa51714247a62fe39951636ca1a75c34f6c95b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149293
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2020-05-29 08:02:59 +00:00
Ryan Macnak
16253c0a54
[vm] Fix LSAN when used without ASAN.
...
Mostly interesting on Mac, where ASAN does not include LSAN.
Bug: https://github.com/dart-lang/sdk/issues/41811
Change-Id: Icbbe57946a6d3b3406a9e3a6541b6c4958cbfa91
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147685
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2020-05-12 17:38:19 +00:00
Ryan Macnak
c873220e43
[vm, arm64] Adjust CSP during the invocation stub instead of each function prologue.
...
Since 6e2c4636cd , we have more reliable information about the stack limit.
This saves 8 bytes from each function.
Flutter Gallery:
Instructions(CodeSize): 6491472 -> 6375472 (-1.79%)
Total(CodeSize): 10375882 -> 10258802 (-1.13%)
Bug: https://github.com/dart-lang/sdk/issues/26472
Bug: https://github.com/dart-lang/sdk/issues/39083
Change-Id: I1d8e4c4bfd858eca1d0e4e5640faae15f4dbbe8e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122845
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-10-25 19:21:56 +00:00
Ryan Macnak
86af66a3ee
Revert "[vm, arm64] Adjust CSP during the invocation stub instead of each function prologue."
...
This reverts commit b5b322962a .
Reason for revert: low frequency of crashes in service tests
Original change's description:
> [vm, arm64] Adjust CSP during the invocation stub instead of each function prologue.
>
> Since 6e2c4636cd , we have more reliable information about the stack limit.
>
> This saves 8 bytes from each function.
>
> Flutter Gallery:
> Instructions(CodeSize): 6491472 -> 6375472 (-1.79%)
> Total(CodeSize): 10375882 -> 10258802 (-1.13%)
>
> Bug: http://dartbug.com/26472
> Change-Id: Ief1ddd25eecd32a8314c71fdb470dd73046e5dc0
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122408
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
> Reviewed-by: Alexander Markov <alexmarkov@google.com >
TBR=rmacnak@google.com ,alexmarkov@google.com ,ajcbik@google.com
Change-Id: I0b45e1c81c1534e123dd85d27b7af27217e08795
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: http://dartbug.com/26472
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122725
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-10-24 04:12:16 +00:00
Ryan Macnak
b5b322962a
[vm, arm64] Adjust CSP during the invocation stub instead of each function prologue.
...
Since 6e2c4636cd , we have more reliable information about the stack limit.
This saves 8 bytes from each function.
Flutter Gallery:
Instructions(CodeSize): 6491472 -> 6375472 (-1.79%)
Total(CodeSize): 10375882 -> 10258802 (-1.13%)
Bug: http://dartbug.com/26472
Change-Id: Ief1ddd25eecd32a8314c71fdb470dd73046e5dc0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122408
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-10-24 02:40:43 +00:00
Ryan Macnak
f4f0831c69
[vm] Fix TSAN failures related to object headers and GC task phases.
...
Change-Id: I15078e845712e8e712e2cb0a044fc7550127ea36
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120629
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2019-10-09 21:48:20 +00:00
Matthew Dempsky
6d5f763952
[vm] Eliminate Mutex/Monitor indirection where possible
...
In many cases, the Mutexes and Monitors have to be marked "mutable"
because they're used to synchronize const accessor methods.
Small text segment improvement for Product builds:
$ size dart.{arm,x64}.{before,after}
text data bss dec hex filename
19726069 409960 392332 20528361 1393ce9 dart.arm.before
19725525 409960 392332 20527817 1393ac9 dart.arm.after
22576021 600376 1782824 24959221 17cd8f5 dart.x64.before
22574821 600376 1782824 24958021 17cd445 dart.x64.after
Change-Id: I68f5cd5ad452044df8bfebd160910496036a3e6b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101745
Commit-Queue: Matthew Dempsky <mdempsky@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2019-05-13 21:17:51 +00:00
Liam Appelbe
924a934fe1
Shrink the stack headroom if the stack is very small
...
Bug: https://github.com/dart-lang/sdk/issues/36100
Change-Id: I9d887e74c7f888dbeebaf02556522d375e30b97f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95703
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Liam Appelbe <liama@google.com >
2019-03-07 17:32:59 +00:00
Liam Appelbe
df59b09756
Fail early if a thread has no stack headroom
...
Bug: https://github.com/dart-lang/sdk/issues/35745
Change-Id: I6a9dff8608385d4dde74a16b6d4dea42fe91460f
Reviewed-on: https://dart-review.googlesource.com/c/95041
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Liam Appelbe <liama@google.com >
2019-03-01 22:34:21 +00:00
Ryan Macnak
06a1e6e9e3
[vm] Enable timeline on Fuchsia even in product mode.
...
On Fuchsia, the timeline is accessed without involving the service isolate or vm-service.
Change-Id: Ia0d4e1ca252604e8fcef466a31e3d2a8b0912251
Reviewed-on: https://dart-review.googlesource.com/c/90100
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-01-18 00:06:10 +00:00
Ryan Macnak
07f95e7761
Revert "[vm] Enable timeline on Fuchsia even in product mode."
...
This reverts commit 3f7b371f2c .
Reason for revert: Some modes failing to find new constant?
Original change's description:
> [vm] Enable timeline on Fuchsia even in product mode.
>
> On Fuchsia, the timeline is accessed without involving the service isolate or vm-service.
>
> Change-Id: I0d2351dcadcfc47835732235e1b8fafa8212f883
> Reviewed-on: https://dart-review.googlesource.com/c/89880
> Reviewed-by: Zach Anderson <zra@google.com >
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
TBR=rmacnak@google.com ,alexmarkov@google.com ,zra@google.com ,asiva@google.com
Change-Id: Ic03a78d14821e0361d54587f1f7510bc9ebfef1c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/89942
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-01-17 00:39:39 +00:00
Ryan Macnak
3f7b371f2c
[vm] Enable timeline on Fuchsia even in product mode.
...
On Fuchsia, the timeline is accessed without involving the service isolate or vm-service.
Change-Id: I0d2351dcadcfc47835732235e1b8fafa8212f883
Reviewed-on: https://dart-review.googlesource.com/c/89880
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-01-16 22:55:51 +00:00
Vyacheslav Egorov
a9ce969e53
[vm] Decouple growable_array.h and zone.h from thread.h
...
- Introduce a slimmed down version of thread.h, which just depends on the
Zone and StackResource.
- Introduce a layering check that would prevent the coupling in the future.
This is the first step towards decoupling compiler from runtime.
There are multiple reasons to introduce the decoupling but the main
reason currently is to introduce a controlled surface through which
compiler reaches into runtime to catch any places where runtime word size
might influence the compiler and then enable building compiler that
targets 32-bit runtime but is embedded into a 64-bit runtime.
Issue https://github.com/dart-lang/sdk/issues/31709
Change-Id: Id63ebbaddca55dd097298e51c90d957a73fa476e
Reviewed-on: https://dart-review.googlesource.com/c/87182
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-01-11 20:47:10 +00:00
Ben Konyi
07852532e3
[ VM ] Additional cleanup in Dart_Initialize and Dart_Cleanup
...
Change-Id: I6dc02b3d9de16cc176eb97613bc0c7f0bb9b16eb
Reviewed-on: https://dart-review.googlesource.com/77013
Commit-Queue: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Auto-Submit: Ben Konyi <bkonyi@google.com >
2018-09-28 23:18:59 +00:00
Ben Konyi
3c4c62d79a
Reland "[VM] Dart_Initialize no longer crashes after Dart_Cleanup"
...
This is a reland of 519ee905f9
Original change's description:
> [VM] Dart_Initialize no longer crashes after Dart_Cleanup
>
> Change-Id: I3cfdab9553aad045f024b6f9aec0b40b08234007
> Reviewed-on: https://dart-review.googlesource.com/75786
> Reviewed-by: Ryan Macnak <rmacnak@google.com >
> Commit-Queue: Ben Konyi <bkonyi@google.com >
Change-Id: Icdd901bf1ab0b675cc5f1497061a2b7b8a05d956
Reviewed-on: https://dart-review.googlesource.com/76561
Commit-Queue: Ben Konyi <bkonyi@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2018-09-26 17:54:45 +00:00
Ben Konyi
b6284b41e3
Revert "[VM] Dart_Initialize no longer crashes after Dart_Cleanup"
...
This reverts commit 519ee905f9 .
Reason for revert: Seeing multiple crashes on Windows
Original change's description:
> [VM] Dart_Initialize no longer crashes after Dart_Cleanup
>
> Change-Id: I3cfdab9553aad045f024b6f9aec0b40b08234007
> Reviewed-on: https://dart-review.googlesource.com/75786
> Reviewed-by: Ryan Macnak <rmacnak@google.com >
> Commit-Queue: Ben Konyi <bkonyi@google.com >
TBR=bkonyi@google.com ,rmacnak@google.com ,zra@google.com
Change-Id: I33ad79dbc3fcf44f93612ff63bd2d8431f6067c8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/76342
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
2018-09-25 02:17:37 +00:00
Ben Konyi
519ee905f9
[VM] Dart_Initialize no longer crashes after Dart_Cleanup
...
Change-Id: I3cfdab9553aad045f024b6f9aec0b40b08234007
Reviewed-on: https://dart-review.googlesource.com/75786
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
2018-09-25 01:20:24 +00:00
Ryan Macnak
c2628192a2
[vm] Use C++11 thread_local instead of platform TLS for Thread::Current().
...
Allows the C compiler more freedom to optimize.
Change-Id: I274f5b6c4f7bfb152ba9d3432c9ae7ecc550c6d9
Reviewed-on: https://dart-review.googlesource.com/63270
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-07-11 23:52:43 +00:00
Ryan Macnak
265ab831b6
[vm] Partial fixes for LTO.
...
Change-Id: Ic867777a7fc5df6631ce11030195d1323d7111ed
Reviewed-on: https://dart-review.googlesource.com/52983
Reviewed-by: Zach Anderson <zra@google.com >
2018-04-30 19:23:58 +00:00
Ryan Macnak
d9c3190e44
[vm] Remove some bin -> vm includes.
...
Change-Id: Id304de9618a299a201b946a901a54352772f56fb
Reviewed-on: https://dart-review.googlesource.com/48704
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-03-28 23:16:09 +00:00
Ryan Macnak
bd06ffc2c6
[vm] Check for mis-matched thread type in OSThread TLS destructor.
...
Change-Id: I1d878d4d31877749cf47ddd3ef973386592fd714
Reviewed-on: https://dart-review.googlesource.com/42104
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
2018-02-16 23:20:37 +00:00
Ryan Macnak
d01d0ea8e6
[vm] Check for stack headroom before starting a hot reload.
...
Split up the StackOverflow runtime entry.
Bug: https://github.com/dart-lang/sdk/issues/31578
Change-Id: Ibe26101db1651d6e776c3da5fde6b44fd27cd00e
Reviewed-on: https://dart-review.googlesource.com/27414
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2017-12-08 18:07:31 +00:00
Ryan Macnak
b85a7fecd0
Reapply "[vm] Prefer stack bounds from the system thread library for overflow checks."
...
Mark some profiler tests on Windows as failing.
Bug: https://github.com/dart-lang/sdk/issues/31137
Change-Id: I46a5d4838443e5cfdac6043ea8dcfeb3d05d4823
Reviewed-on: https://dart-review.googlesource.com/14920
Reviewed-by: Zach Anderson <zra@google.com >
2017-10-18 21:15:49 +00:00
Dmitry Stefantsov
a227b168da
Revert "Reapply "[vm] Prefer stack bounds from the system thread library for overflow checks.""
...
This reverts commit 5a022b9db6 .
The reverted CL caused some redness on some vm and vm-precomp bots.
TBR=rmacnak@google.com
Change-Id: I9be670f3c3e341ec6d95082f288bc569834e38c7
Reviewed-on: https://dart-review.googlesource.com/13460
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Karl Klose <karlklose@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2017-10-12 07:32:30 +00:00
Ryan Macnak
5a022b9db6
Reapply "[vm] Prefer stack bounds from the system thread library for overflow checks."
...
Fix accounting of guard pages to move the stack limit up instead of down.
Change-Id: I2f6577a12cf95707c186884f0bd3def03eac12ed
Reviewed-on: https://dart-review.googlesource.com/13381
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2017-10-12 02:17:11 +00:00
Ryan Macnak
6ecf6dd0a3
Revert "[vm] Prefer stack bounds from the system thread library for overflow checks."
...
This reverts commit af251ddfec .
Reason for revert: Crashes on Windows.
Original change's description:
> [vm] Prefer stack bounds from the system thread library for overflow checks.
>
> Before this change, we would assume all stacks have the size the VM specifies for threads it creates, but this won't be accurate for the initial thread or threads created by the embedder.
>
> Change-Id: I6605a88d6666a6f9d47fbe047d3fdd02aa22c80a
> Reviewed-on: https://dart-review.googlesource.com/10209
> Reviewed-by: Zach Anderson <zra@google.com >
TBR=rmacnak@google.com ,zra@google.com
Change-Id: I96eaccdc8edf6e3d319827a63d168534bad0518e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/13106
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2017-10-11 21:17:28 +00:00
Ryan Macnak
af251ddfec
[vm] Prefer stack bounds from the system thread library for overflow checks.
...
Before this change, we would assume all stacks have the size the VM specifies for threads it creates, but this won't be accurate for the initial thread or threads created by the embedder.
Change-Id: I6605a88d6666a6f9d47fbe047d3fdd02aa22c80a
Reviewed-on: https://dart-review.googlesource.com/10209
Reviewed-by: Zach Anderson <zra@google.com >
2017-10-11 19:35:44 +00: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
Zachary Anderson
a1bcf051d8
clang-format runtime/vm
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2481873005 .
2016-11-08 13:54:47 -08:00
Florian Schneider
8cd73fd94c
Revert "Add new atomic operations and use them in two places."
...
This reverts commit 27863288db .
Cross ARM and Windows build failing.
TBR=rmacnak@google.com ,
Review URL: https://codereview.chromium.org/2178693002 .
2016-07-22 15:54:24 -07:00
Florian Schneider
27863288db
Add new atomic operations and use them in two places.
...
1. Setting the IC data array. This may have caused corrupt IC data seen by the
background compiler when cloning IC data.
2. Reading the thread_interrupt_disabled_ flag. This was reported as a race with TSAN.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/2176803003 .
2016-07-22 15:40:54 -07:00