Samir Jindel
6aaa7251c3
[vm] Fix missing check for ForceOptimize in DeoptimizeWorld.
...
Change-Id: Iaad543e02b480bfa03b3856dc8d119a23a3255bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106910
Reviewed-by: Samir Jindel <sjindel@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-06-24 16:57:29 +00:00
Clement Skau
5b113ee193
Adds external CodeObserver callback to the VM.
...
This enables external (such as by the embedder) accounting of the code objects for resolving stack traces.
Bug: b/117752777
Change-Id: I824fb9b27e9aa97373b155cf07e9e8f17722ba07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/85360
Commit-Queue: Clement Skau <cskau@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-06-24 15:42:43 +00:00
Samir Jindel
f03ddc496b
[vm/ffi] Don't make force-optimized code masquerade as unoptimized code.
...
Instead, we set a bit on force-optimized code so that deoptimization knows to skip it and exception
handling will execute catch-entry moves.
In addition we don't throw away deoptimization info for these codes, so that exception handling
works.
Bug: dartbug.com/37311
Change-Id: If5bcff41a98c0053c581648a9ee22b3302ceea04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106740
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-06-24 15:25:53 +00:00
Aart Bik
56a1cfe7aa
[dart/vm] Fix bug in new lazy tear of construction
...
Rationale:
As shown in the comment, I was already not sure about
what argument to use. Clearly one of the two type
arguments is not needed. This fixes the
language_2/const_inference_test failure that
was temporarily approved.
https://github.com/dart-lang/sdk/issues/36220
Change-Id: I3dd8ddf0e3cf0e992164c005b08ffd59306041f7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107064
Reviewed-by: Aart Bik <ajcbik@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
Auto-Submit: Aart Bik <ajcbik@google.com >
2019-06-22 01:45:51 +00:00
Aart Bik
63e0bcf077
[dart/vm] allow class loading while loading class
...
Rationale:
Due to the cycle breaking reading of VM annotations,
we should be prepared to see a class loaded inside
class loading wrap-up.
https://github.com/dart-lang/sdk/issues/36220
Change-Id: I46665989e489ada8ed2414a57a789b9c2d9c9f7a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107000
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
2019-06-21 22:31:48 +00:00
Alexander Markov
9b5718ca7e
[vm/bytecode] Cleanup support for bytecode formats older than v7
...
Bytecode format v7 was introduced 2019 May 08,
in 68de477535 .
Change-Id: I79d94f7153d66d418088707c3658d928a3ec41ad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106969
Reviewed-by: Régis Crelier <regis@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2019-06-21 21:38:09 +00:00
Ben Konyi
27d0731ca5
[ VM / Service ] s/boolean/bool/ in service.md
...
Change-Id: I62a25b21da7072041b972518794994d5ea1617b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106983
Reviewed-by: Ben Konyi <bkonyi@google.com >
2019-06-21 19:45:24 +00:00
Matthew Dempsky
929c45afc7
[vm] Use std::unique_ptr for kernel::Program
...
Updates #37244 .
Change-Id: I994298162966eca9cf5217cad2ae0aae4f438b4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106950
Reviewed-by: Régis Crelier <regis@google.com >
Commit-Queue: Matthew Dempsky <mdempsky@google.com >
2019-06-21 19:41:08 +00:00
Aart Bik
b32d196f00
[dart/vm] Replaces eager with lazy reading of constants table
...
Rationale:
Previously all constants were read from the constants table,
whether they were needed (at that point or at all) or not. This
CL replaces that eager reading with a lazy reading that makes
the raw bytes of the constants table available through
KernelProgramInfo and attaches a hashmap to KernelProgramInfo,
which maps offsets into the constant table to evaluated constants.
The maps starts empty and on a miss, the constant is evaluated,
but no sooner than when it it needed.
https://github.com/dart-lang/sdk/issues/36220
Change-Id: Ief4df3d70c950c4beb61d896632ce06cfd12d525
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99088
Commit-Queue: Aart Bik <ajcbik@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-06-21 17:32:17 +00:00
Zichang Guo
2bc78f171f
[vm/kernel] Fix reading of type parameters in factory constructors
...
VM will crash when factory constructor was passed typedef with type arguments. procedure_type_parameter_count should not include type argument for factory function, as factory function share the same type argument with class.
Bug: https://github.com/dart-lang/sdk/issues/37264
Change-Id: I358c6d35cf217162d2b89f7d8fa9d303f981b713
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106563
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Zichang Guo <zichangguo@google.com >
2019-06-21 16:48:47 +00:00
Liam Appelbe
a6eb2cd309
[vm] Support for simarm_x64
...
Third sub-CL of https://dart-review.googlesource.com/c/sdk/+/100644
The first was here https://dart-review.googlesource.com/c/sdk/+/103487
The second was here https://dart-review.googlesource.com/c/sdk/+/104286
This is the last major CL to support simarm_x64. Now that the other two
CLs have put the required infrastructure in place, this CL actually
adds the new mode..
Bug: https://github.com/dart-lang/sdk/issues/36839
Change-Id: Ie2f850bf33544f2462f37854e762191c78b1bde6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105500
Commit-Queue: Liam Appelbe <liama@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2019-06-21 04:00:35 +00:00
Alexander Markov
5042ff97c7
[vm/bytecode] Add async/async*/sync* attributes to closures
...
Change-Id: Ibb0f202ada840ee112f46d5db3d8f9459817c358
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106730
Reviewed-by: Régis Crelier <regis@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2019-06-20 20:23:37 +00:00
Samir Jindel
0f636f1bc7
[vm/arm/arm64] Remove unpredictable (and sometimes illegal) instructions on ARM[64].
...
Also strengthen asserts to avoid regression.
Change-Id: I93ed9dac5cda9a01eba6ecdd19f78b11ed584114
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106904
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-06-20 19:53:54 +00:00
Alexander Markov
da8cb470cc
[vm/bytecode] Represent classes, libraries, scripts and recursive types in bytecode
...
Size of a large application:
Before: 26628600
After: 21480120 (-19.3%)
Size of snapshots:
isolate_snapshot_framework.bin
Before: 9322496
After: 6782976 (-27.2%)
isolate_snapshot_product_framework.bin
Before: 9166848
After: 6602752 (-27.9%)
Regressions in tests:
1) Test language_2/type_alias_equality_test/04 fails similarly to default mode, as VM
does not implement comparison of function types according to the specification.
Previously this test was passing as function types were canonicalized in bytecode,
which was not always correct. This CL fixes the problem with canonicalization of
function types in bytecode and the test starts failing again.
2) Tests standalone_2/entrypoints_verification_test, standalone_2/io/test_extension_test,
standalone_2/io/test_extension_fail_test fail as native extensions are not supported
in bytecode yet. These tests start passing after df5e7aac17 ,
which switched bytecode tests to kernel service (on x64), because kernel service doesn't
drop ASTs. This CL switches from reading AST library declarations to bytecode even if
AST is not removed, so tests fail again.
Change-Id: I8b7ba44bfa49d0b1599b2509553ff7c831a4e244
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104700
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2019-06-20 18:27:21 +00:00
Régis Crelier
97a997d865
[vm/bytecode] Various fixes and work in progress in bytecode debugger.
...
Fix logic searching for innermost closure after bytecode loading notification.
Implement computation of token position and try index of async closure.
Remove more obsolete code related to non-kernel scripts.
Change-Id: I9974cb46dd520adbf218744ba72e0ad2fa57dcd0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106860
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Régis Crelier <regis@google.com >
2019-06-20 17:49:01 +00:00
Ryan Macnak
c8030238ef
[vm] Reference ./tools/run_offsets_extractor.sh when offset checks fail.
...
Change-Id: I1eb0110d643b7125e5192b38210bcf0e18d4b3e4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106729
Reviewed-by: Liam Appelbe <liama@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-06-20 16:40:00 +00:00
Zichang Guo
f22e0825bf
[vm] debugger print incomplete async stacktrace
...
With --trace-debugger-stacktrace being set, debugger will print the stack trace for both async and sync cases. But for async stacktrace, awaiters return call stack are missing from printing.
Change-Id: I2a81ead25bcad5b3b25da4666940f631237352d1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106441
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Zichang Guo <zichangguo@google.com >
2019-06-20 14:28:30 +00:00
Ben Konyi
6af218685e
[ VM / Service ] Add getInstances and InstanceSet to the service protocol.
...
Change-Id: Ia5aab0f1bbdb99a7690a107eeef08de6a1f33656
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106561
Commit-Queue: Ben Konyi <bkonyi@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2019-06-19 23:59:32 +00:00
Régis Crelier
4403c58640
[vm] Delete obsolete await_token_positions_ from Code object and flow graph.
...
Change-Id: I80fff049c8d0b45ec7276b1d0ae71f492ad97b9a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106564
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Régis Crelier <regis@google.com >
2019-06-19 23:38:02 +00:00
Ryan Macnak
240f25a940
[vm] Add --disassemble-relative to use PC offsets instead of absolute PCs in --disassemble's output.
...
Makes it much easier to compare the output when making VM changes.
--disassemble:
;; Invocation Count Check
0x7f82b8900320 498b7c2437 movq rdi,[r12+0x37]
0x7f82b8900325 ff8783000000 incl [rdi+0x83]
0x7f82b890032b 81bf8300000030750000 cmpl [rdi+0x83],0x7530
0x7f82b8900335 7c07 jl 0x00007f82b890033e
0x7f82b8900337 41ffa6b8010000 jmp [thr+0x1b8]
--disassemble --disassemble-relative:
;; Invocation Count Check
0x0 498b7c2437 movq rdi,[r12+0x37]
0x5 ff8783000000 incl [rdi+0x83]
0xb 81bf8300000030750000 cmpl [rdi+0x83],0x7530
0x15 7c07 jl +9
0x17 41ffa6b8010000 jmp [thr+0x1b8]
Change-Id: Ie05c532f830027b928d7d1d57509eb237157a127
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106600
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
Reviewed-by: Aart Bik <ajcbik@google.com >
2019-06-19 22:36:00 +00:00
Ryan Macnak
54b197ccc2
[vm] Prevent GC when there are outstanding pointers from Dart_TypedDataAcquireData.
...
Bug: https://github.com/dart-lang/sdk/issues/37256
Change-Id: I1dcd2e32d8308c5a7169731169a048b8f1bfcc79
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106023
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-06-19 21:31:31 +00:00
Ryan Macnak
92701dfa48
[vm] Document clock compatibility between Timeline.now and Dart_TimelineGetMicros.
...
Change-Id: Ife4b5360b9c42221b9dac84014d072f60cd8f11c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106720
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2019-06-19 21:17:51 +00:00
Aart Bik
a421022b77
[dart/vm] fix crash in DBC register allocation
...
Rationale:
Code had no guard on running out of registers
https://github.com/dart-lang/sdk/issues/36977
Change-Id: Ifec1b7ef626e6a8720c437f0f25d119956dfb63a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106429
Commit-Queue: Aart Bik <ajcbik@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2019-06-19 17:24:16 +00:00
Ben Konyi
a75ded625e
[ VM / Service ] Made VM timeline functionality public through the service API.
...
Change-Id: I8228f0417047af53edc6f570940d452da3155bbd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106061
Reviewed-by: Siva Annamalai <asiva@google.com >
2019-06-19 16:06:12 +00:00
Ryan Macnak
24cd83904a
[vm] Fix regression in protobuf_encode benchmark.
...
Regression introduced in 1e24fe7d69 .
Change-Id: I3a396058d2a2a30bef40b458c0f6bf1ba4fdbb54
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106540
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-06-19 00:44:21 +00:00
Ryan Macnak
f925cd4422
[vm, elf] Speculatively align section header table.
...
Change-Id: Iec820e4fe0df691e914d593ffce13bcc8e5cddf5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106485
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-06-18 22:04:29 +00:00
Régis Crelier
c6c0e5bf40
[vm/debugger] Make use of variable descriptors in bytecode debugger.
...
Change-Id: Ibf4c8f638065c8173c5c21c8fa9c40ee5cecb587
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106427
Commit-Queue: Régis Crelier <regis@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-06-18 19:47:27 +00:00
Matthew Dempsky
d2caa7f8b1
[vm] Document why we don't use thread_local on iOS
...
For more background, see:
https://stackoverflow.com/a/29929949
https://github.com/abseil/abseil-cpp/blob/8f117240/absl/base/config.h#L142
Change-Id: I604bfcc0bac9fe5f59340e668fe01aeecdea8073
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106433
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-06-18 18:03:45 +00:00
Matthew Dempsky
303dfdf9b5
[vm] Use std::unique_ptr for ThreadPool::Task
...
Updates #37244 .
Change-Id: I32a5180a17fe43be5e18367d784cf756dffc6aeb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106009
Commit-Queue: Matthew Dempsky <mdempsky@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
2019-06-18 17:51:10 +00:00
Ryan Macnak
6ab173a68d
[vm, elf] Add a terminating DT_NULL to .dynamic.
...
gold appears to assume shared libraries have one, though it has no effect during loading.
Bug: b/135481201
Change-Id: I6da4f829d0ab9a8e6174ddd39db6c206794f8d4e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106431
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-06-18 17:45:45 +00:00
Ryan Macnak
9ac3a733d2
[vm, elf] Eliminate diff of readelf -a between a binary that has and has not been processed by strip.
...
- Place program table in the first file page along with the ELF header, instead of a separate page.
- Load program table into the first memory page, instead of after all other segments.
- Place section table at the end, instead of after the program table.
- Sort .hash .dynsym .dystr in the same order as strip.
- Don't mark .shstrtab as allocated.
- Populate unused physical address fields.
The issue on Android seems to be due to the program table placement.
Bug: https://github.com/flutter/flutter/issues/34308
Change-Id: I337dbdc76553e85eca7156256b97c99592011612
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106440
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-06-18 17:34:25 +00:00
Samir Jindel
48f19ef961
[vm/ffi] Fix snapshot serialization of FFI objects.
...
Change-Id: I78557211da79f5282339fbcf30b3f81ab56cb361
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106345
Commit-Queue: Samir Jindel <sjindel@google.com >
Auto-Submit: Samir Jindel <sjindel@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-06-18 13:17:14 +00:00
Teagan Strickland
99e785024c
[vm/compiler] Update outdated comment.
...
Also outline a possible optimization here, with an corresponding
issue filed to later do that work.
Change-Id: I353cab8842cbbc0e2e15e127e45e736884d3c51e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106343
Commit-Queue: Teagan Strickland <sstrickl@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-06-18 10:30:18 +00:00
Matthew Dempsky
8fc98147e6
[vm] Replace MessageHandler::task_ with task_running_
...
MessageHandler doesn't actually need a reference to the
ThreadPool::Task, it just wants to know if one is running or not.
Replacing it with a simple boolean will simplify switching
ThreadPool::Task to use std::unique_ptr.
Updates #37244 .
Change-Id: Ie69ec38523f009ba559678fd544efa4cc8ead7dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106008
Reviewed-by: Régis Crelier <regis@google.com >
Commit-Queue: Matthew Dempsky <mdempsky@google.com >
2019-06-18 00:14:28 +00:00
Ryan Macnak
8be1d13af7
[vm, compiler] Implicit accessor intrinsics don't need a regular function body.
...
Change-Id: I24ed366bb065c602f06a0ecf6853ffbba43f44a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103942
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Aart Bik <ajcbik@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-06-18 00:13:18 +00:00
Matthew Dempsky
aafc6b7d5b
[vm] Use std::unique_ptr for IsolateSpawnState
...
Updates #37244 .
Change-Id: I03b4f0b291bd4e4e9cde5de31ec80da2b8b6c6cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101740
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Matthew Dempsky <mdempsky@google.com >
2019-06-17 23:03:18 +00:00
Aart Bik
c549f96ef1
[dart/vm] simplified inlining heuristics
...
Rationale:
Less special casing, more informed decisions
https://github.com/dart-lang/sdk/issues/37126
Change-Id: I3415f52cf38ed6110ebe16c44a719f6081f24dbf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106182
Commit-Queue: Aart Bik <ajcbik@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-06-17 17:38:41 +00:00
Samir Jindel
8d39e3456f
[vm/aot] Minor improvements to make snapshot profiles more useful.
...
Change-Id: I614d0af3fb3b2bcb642f13d767c385d255b43d5c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105580
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2019-06-17 13:09:50 +00:00
Samir Jindel
43382ded6d
[vm/ffi] Regression test for dartbug.com/37133
...
Also removed some redundant test code.
Change-Id: Idbb343d35592816814d473de2317324029481c6f
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-kernel-mac-debug-x64-try,vm-kernel-reload-mac-debug-simdbc64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105590
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-06-17 10:47:00 +00:00
Samir Jindel
d0447ee0da
[vm/ffi] Fix ADR usage in FfiCallInstr::EmitNativeCode.
...
Props to Daco for identifying the stackmap issue!
Change-Id: I9a54b9db864c86e069e2fcf84b6ba71719d76a09
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106086
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-06-14 16:54:23 +00:00
Samir Jindel
0460503057
[vm/ffi] Fix safepoint implementation in ARM64 assembler.
...
Fixes #37180
Change-Id: I4be04fbd98be2c724218da89fbd2bea78cda0c26
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106081
Auto-Submit: Samir Jindel <sjindel@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2019-06-14 13:25:27 +00:00
Ryan Macnak
d47bb87a51
[vm, compiler] Disable unopt megamorphic call specialization.
...
Bug: https://github.com/dart-lang/sdk/issues/37260
Change-Id: I66a1661da9483529dc96be804863224d9afb9c48
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106006
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-06-14 01:17:30 +00:00
Ben Konyi
74af4a00b2
[ VM / Service ] Created public implementation of getAllocationProfile RPC
...
Change-Id: I8c8cb4d47466ae6a298961652eeded762c769568
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105730
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
2019-06-13 23:45:52 +00:00
Ryan Macnak
112dbabc10
[vm] Update Megamorphic::filled_entry_count_ under the megamorphic lock.
...
Otherwise the background compiler may see 0 when the mutator grows the megamorphic cache.
Bug: https://github.com/dart-lang/sdk/issues/37257
Change-Id: I64a31937391ad6c0f086f8f175501ca4ef06c305
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105969
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-06-13 21:13:15 +00:00
Liam Appelbe
0f91731f98
Add Thread::optimize_(stub|entry) to runtime_api.h
...
Bug: https://github.com/dart-lang/sdk/issues/36839
Change-Id: Iab35c6bb322492872577545aaacc5147a76f2708
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105920
Auto-Submit: Liam Appelbe <liama@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2019-06-13 19:57:35 +00:00
Ryan Macnak
d6eac664ee
[vm] Hoist zone access in function name printing.
...
Change-Id: I97166486514044d0a8396cbc6bf92ae391ac4437
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97276
Reviewed-by: Régis Crelier <regis@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-06-13 19:24:16 +00:00
Régis Crelier
24c6c6f996
[vm/fuchsia] Make use of the new alignment flags when allocating memory.
...
Change-Id: I05994746156b35ad29d311461933359922de9959
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105545
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Régis Crelier <regis@google.com >
2019-06-13 18:25:40 +00:00
Daco Harkes
04c1a2886f
[vm/ffi] SimDBC64 align stack frame
...
And regression test for dartbug.com/37069
Fixes: https://github.com/dart-lang/sdk/issues/37176
Follow up of: https://dart-review.googlesource.com/c/sdk/+/103814
Bug: https://github.com/dart-lang/sdk/issues/37069
Change-Id: I066561b487c691952496e2ca6878ac82cee0e02e
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-mac-debug-simdbc64-try,vm-kernel-reload-mac-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105941
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
2019-06-13 16:26:40 +00:00
Aske Simon Christensen
50efd7f187
[Kernel] Add list of unused arguments to InstanceCreation nodes.
...
During constant evaluation, unused arguments to a const constructor are
thrown away after evaluation, since their values do not affect the
resulting instance constant. If such an unused argument ends up
unevaluated, any errors that would arise in the final evaluation are
not reported.
This CL adds space in the Kernel AST for saving these unevaluated
expressions so they can be checked during final constant evaluation.
Even though this is an incompatible change, no update is needed to the
VM code (except for the version bump), since the VM does not support
InstanceCreation nodes in the first place.
Change-Id: I4752562c1164efbba79eb018c15b07ed8354ce5f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105761
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Aske Simon Christensen <askesc@google.com >
2019-06-13 09:42:26 +00:00
Samir Jindel
68b2d53da5
Revert "[vm/ffi] SimDBC64 align stack frame"
...
This reverts commit f1038ee771 .
Reason for revert: breaks function_gc_test on ARM64
Original change's description:
> [vm/ffi] SimDBC64 align stack frame
>
> And regression test for dartbug.com/37069
>
> Fixes: https://github.com/dart-lang/sdk/issues/37176
> Follow up of: https://dart-review.googlesource.com/c/sdk/+/103814
> Bug: https://github.com/dart-lang/sdk/issues/37069
> Change-Id: I2c791271f936580d66a48485a60ab6cddb1ba4f8
> Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-mac-debug-simdbc64-try,vm-kernel-reload-mac-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104824
> Commit-Queue: Daco Harkes <dacoharkes@google.com >
> Reviewed-by: Samir Jindel <sjindel@google.com >
TBR=sjindel@google.com ,dacoharkes@google.com
Change-Id: Ibefa2e854f4a58b41384aca73a3bbbe86d75bf80
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/37069
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-linux-debug-ia32-try, vm-dartkb-linux-debug-simarm64-try, vm-kernel-win-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105840
Reviewed-by: Samir Jindel <sjindel@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-06-12 22:31:11 +00:00