Commit Graph

904 Commits

Author SHA1 Message Date
Zach Anderson bbb5a5e828 [Windows] Mark CodeImmutability Crash, Timeout
related #30202

R=alexmarkov@google.com

Review-Url: https://codereview.chromium.org/2981273002 .
2017-07-19 09:32:31 -07:00
Ryan Macnak f20b32b793 [vm] Enable mirrors in product mode. Allows building a product mode SDK.
Fixes https://github.com/dart-lang/sdk/issues/29972

R=zra@google.com

Review-Url: https://codereview.chromium.org/2972883002 .
2017-07-12 12:55:58 -07:00
Alexander Markov 47ad7a82b3 Silence truncating_ints_test in dart2js & dartium modes
Dart2js does not support --limit-ints-to-64-bits option which is
required by this test.
Dartium does not support VMOptions specification in the test.

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2974843002 .
2017-07-10 17:33:01 -07:00
Siva Chandra f0ef900fd3 Fix setting breakpoints in parts of a library.
This fixes the regression caused by
1eaa3dd84b and reported in #29988.

When picking a class to set a breakpoint, instead of rejecting classes
not defined in the script, we now reject classes which do not belong to
the library to which the script belongs.

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2965673004 .
2017-07-10 17:20:26 -07:00
Alexander Markov 7a20b6b8d8 Option to truncate integers to 64 bits, part 1 (core VM changes)
This changeset revises --limit-ints-to-64-bits option to
change range of integers from unlimited to int64.
On overflow, integer arithmetic operations silently wrap around and
discard extra bits. No Bigints are allocated in case of overflow.

This changeset is the 1st part in the series of changes, it revises the implementation of integer arithmetic operations. More changes will follow.

R=regis@google.com, zra@google.com

Issue: https://github.com/dart-lang/sdk/issues/30103
Review-Url: https://codereview.chromium.org/2974633003 .
2017-07-10 15:16:40 -07:00
Zachary Anderson e7c96cae8c [Fuchsia] Implements NetworkInterface.list()
US-241

R=rmacnak@google.com, tkilbourn@google.com

Review-Url: https://codereview.chromium.org/2962383002 .
2017-06-30 10:54:08 -07:00
Alexander Markov 499a587003 Fix incorrect DBC code generation of range-based CheckClassId
CheckClassId IL instructions with ranges of Cids were incorrectly
generated to DBC: instead of embedding range length directly into the Nop,
a constant was added into an object pool and index of the constant was
stored in Nop.

Closes https://github.com/dart-lang/sdk/issues/29846

R=zra@google.com

Review-Url: https://codereview.chromium.org/2964583003 .
2017-06-29 15:32:44 -07:00
Zachary Anderson 50475dd351 [Fuchsia] Fix test image. Update status files for vm and language suites
IN-70

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2957233003 .
2017-06-29 07:45:19 -07:00
Siva Chandra a23178ee77 Load vmservice from a .dill file when generating AOT snapshots.
This will happen only if --dfe option is specified along with the
--kernel-binaries option.

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2949323002 .
2017-06-23 09:39:18 -07:00
Jens Johansen ccf5c13127 [kernel] Update vm.status file for mac
4b9f8eb460 didn't update the status file properly.

BUG=

Review-Url: https://codereview.chromium.org/2945253002 .
2017-06-21 10:34:30 +02:00
Jens Johansen 4b9f8eb460 [kernel] Add TokenPosition to AllocateObject, fix some cc tests
- Add TokenPosition to AllocateObject
  meaning that kernel more often has a TokenPosition available.
  This might influence profiling, especially it influences some
  of the vm/cc/Profiler* tests.

- Update profiler_service to also be able to find the current token
  via kernel (as opposed to either returning NULL or crashing).
  This makes use of the source code included in the kernel file.

BUG=
R=kmillikin@google.com, vegorov@google.com

Review-Url: https://codereview.chromium.org/2944433003 .
2017-06-21 09:41:16 +02:00
Siva Annamalai 8b7af73daa 1. Dynamically compute the main closure that needs to be run by the main isolate
2. Get rid of _getMainClosure()
3. Adjust the AOT compiler to ensure it retains the function associated with
   the main closure without having to include '_getMainClosure()' in the list
   of embedder specified entry points
4. Get rid of the hack in kernel reader to do a delayed patch of
   '_getMainClosure()' in the builtin library.

BUG=
R=aam@google.com, rmacnak@google.com

Review-Url: https://codereview.chromium.org/2933603002 .
2017-06-15 10:40:45 -07:00
Peter von der Ahé f71e6fd49b [gardening] Update status file for vm tests that crash in debug mode.
Review-Url: https://codereview.chromium.org/2934423002 .
2017-06-15 14:10:08 +02:00
Peter von der Ahé fc2f27b52f [gardening] Undo accidental skip.
Review-Url: https://codereview.chromium.org/2937023002 .
2017-06-14 14:04:48 +02:00
Peter von der Ahé a14d98ecf5 [gardening] Skip flaky vm tests.
Review-Url: https://codereview.chromium.org/2941733002 .
2017-06-14 13:34:37 +02:00
Peter von der Ahé 3c17c44d52 Implement metadata on methods and fields.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2935993002 .
2017-06-14 08:25:17 +02:00
Karl Klose ffa2713cfc [Gardening] Mark vm/cc/ScriptSnapshotsUpdateSubclasses as crashing on dartk
R=dmitryas@google.com

Review-Url: https://codereview.chromium.org/2934033002 .
2017-06-13 10:25:29 +02:00
Bob Nystrom e5263f0c40 Removed uses of removed negated status variables.
R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2935883002 .
2017-06-12 16:04:18 -07:00
Peter von der Ahé 96e494d534 Complain about external methods with a body.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2930093002 .
2017-06-10 10:13:04 +02:00
Ryan Macnak 3b7b05eaa9 [hot reload] Ensure we free the old class table even when there are no shape changes.
Issue #28349

R=regis@google.com

Review-Url: https://codereview.chromium.org/2925303002 .
2017-06-08 14:13:29 -07:00
Vyacheslav Egorov 681138e882 Gardening: Mark cc/IsolateReload_TypedefAddParameter as failing with ASAN.
R=rmacnak@google.com
BUG=https://github.com/dart-lang/sdk/issues/28349

Review-Url: https://codereview.chromium.org/2931823002 .
2017-06-08 14:03:43 +02:00
Peter von der Ahé f73e2ecf28 Clean up status files.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2928903002 .
2017-06-08 13:50:30 +02:00
Vyacheslav Egorov 47b1473cbe Gardening: Mark new IsolateReload tests failing in with -c dartk.
Also fix spelling s/IsolateREload/IsolateReload/g

TBR=rmacnak@google.com
BUG=

Review-Url: https://codereview.chromium.org/2924253003 .
2017-06-08 10:33:40 +02:00
Martin Kustermann 31d0a74616 Update vm.status to get new vm-kernel-macos builders green
BUG=
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2931573002 .
2017-06-07 11:01:57 +02:00
Alexander Aprelev 6573c74301 Reenable vm tests with -cdartk DFE parser.
This was accidentally disabled in 7e2d9ac85d.

BUG=#28264
R=asiva@google.com

Review-Url: https://codereview.chromium.org/2920733004 .
2017-06-02 09:34:11 -07:00
Siva Chandra a5aaa7f5eb Update test failures after 3b9cf73.
BUG=
TBR=aam

Review-Url: https://codereview.chromium.org/2907003002 .
2017-05-26 22:57:24 -07:00
Bob Nystrom c296f75d10 Revert "Revert "Revert "Revert "Refactor test option parsing code.""""
This reverts commit 02547656cc.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2904313002 .
2017-05-26 15:04:55 -07:00
Bob Nystrom 02547656cc Revert "Revert "Revert "Refactor test option parsing code."""
This reverts commit 79af418430.

Review-Url: https://codereview.chromium.org/2912563002 .
2017-05-26 14:46:04 -07:00
Bob Nystrom 79af418430 Revert "Revert "Refactor test option parsing code.""
This reverts commit d03835783c.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2908833002 .
2017-05-26 14:18:13 -07:00
Bob Nystrom d03835783c Revert "Refactor test option parsing code."
This reverts commit 9c2dff8ebc.

R=nweiz@google.com

Review-Url: https://codereview.chromium.org/2909723002 .
2017-05-26 13:51:26 -07:00
Bob Nystrom 9c2dff8ebc Refactor test option parsing code.
This doesn’t touch the resulting configuration map, which is what this
is leading up to, but it cleans up the specification and parsing of the
options and removes a lot of redundancy.

Behavior should be the same as it was before, except that all options
now allow both their underscore-separated and hyphen-separated names.
So this is now valid:

test.py --hot_reload --append-logs

Where before, you use to have to do --hot-reload (OK) and
--append_logs (bad, since almost all other options expect hyphens).

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2902023002 .
2017-05-26 13:36:44 -07:00
Alexander Aprelev b44ae265f7 Update failing mac kernel test status.
This is caused by vm switch to DFE kernel parser in https://github.com/dart-lang/sdk/commit/16c0db1022ff3294678479e60e3deee2e96dff05.

BUG=https://github.com/dart-lang/sdk/issues/29723
R=asiva@google.com

Review-Url: https://codereview.chromium.org/2908623002 .
2017-05-26 12:59:58 -07:00
Alexander Aprelev 1333f97b9a Mark more dartk tests as failing with vm switched to DFE parser
TBR=siva

BUG=https://github.com/dart-lang/sdk/issues/28264

Review-Url: https://codereview.chromium.org/2901103006 .
2017-05-24 21:54:59 -07:00
Alexander Aprelev 16c0db1022 Revert "Revert "With this change 'tools/test.py -cdartk vm' will run vm tests with Dart Frontend parser.""
This reverts commit e0cdea811a.

Update status of vm tests, that don't work with DFE yet.

BUG=https://github.com/dart-lang/sdk/issues/28264
R=asiva@google.com

Review-Url: https://codereview.chromium.org/2895153005 .
2017-05-24 20:16:48 -07:00
Vyacheslav Egorov 0eb44ec68f Use same range info when emitting code and computing if instruction can deopt.
For BinarySmiOpInstr and ShiftMintOpInstr we use range information to both
decide if instruction can deopt and decide which checks should be emitted
when emitting native code for this instruction.

However because range information is attached to the definition and not
uses it often gets out of sync as we mutate the graph. For example we might
first make a decision that an instruction can't deoptimize based on more
precise range information but then use less precise information in the
backend for deciding which parts of the instruction to emit (because
redifinition or a phi-instruction was removed from the graph). This mismatch
can lead to a crash if less precise information tells backend that one of the
inputs need to be checked - because there is no deoptimization label to jump
to.

This CL is addressing this problem by ensuring that range information is
cached at the use and both ComputeCanDeoptimize() and backend use the same
range information.

Additionally this CL kills overly generic MergedMath instruction and replaces it
with TruncDivModInstr.

BUG=https://github.com/dart-lang/sdk/issues/29620
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2891113002 .
2017-05-21 19:01:49 +02:00
Zachary Anderson 7fb361907b [infra] Make gclient runhooks gn for Android on supported platforms
Make GN run for Android configurations on supported host platforms
on a gclient runhooks. This should fix the vm-precomp-android-* bots

Review-Url: https://codereview.chromium.org/2861363002 .
2017-05-06 23:52:26 -07:00
Zachary Anderson 1f5a55cb77 Update ASAN status for clang roll
IsolateReload tests that were failing on x64 asan are now also failing
on ia32 asan.

related #28349

Review-Url: https://codereview.chromium.org/2869583002 .
2017-05-06 23:05:35 -07:00
Zachary Anderson 4b4b8e8783 [Fuchsia] Allows non-regular files to be opened.
Fuchsia has lots of different file types that aren't covered by all of
the things that stat() understands, so we have to switch to
blacklisting directories.

See the discussion on https://codereview.chromium.org/2844493004/

R=abarth@google.com

Review-Url: https://codereview.chromium.org/2856913004 .
2017-05-02 14:47:33 -07:00
Erik Corry aa6353b6da Dart SDK Spelling b, c, and d.
R=kmillikin@google.com
BUG=

Review-Url: https://codereview.chromium.org/2850783002 .
2017-05-01 08:28:10 +02:00
Kevin Millikin d562f7ced5 Remove definitions from Kernel canonical names.
Before: Canonical names contained pointers to the corresponding Kernel
tree which assumed that the whole tree was in memory whenever the
canonical names were.

Now: Canonical names do not contain these pointers.  They were only
really used to perform name-based lookup in the VM's heap so the
canonical name itself is enough.

If we later find that we need to get from a canonical name to its
Kernel tree we can add an offset in the binary (for instance) to the
canonical name or in a separate mapping on the side.

BUG=
R=asgerf@google.com, jensj@google.com, vegorov@google.com

Committed: https://github.com/dart-lang/sdk/commit/ed77783cd32d55fdad61bf9bc749030847ba9384
Review-Url: https://codereview.chromium.org/2781893004 .
2017-03-30 09:31:31 +02:00
Vyacheslav Egorov 536c610fd2 Update status files for all test suites for -c dartk / -c dartkp configuration.
We are going to switch to testing all testsuites instead of just limiting ourselves to

co19 language kernel service

BUG=
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2780943004 .
2017-03-29 13:18:57 +02:00
Jacob Richman 4360e99d18 Revert "Fix observatory tests broken by running dartfmt."
This reverts commit b1f7e6d94673b098c93c187fe3efc45c15f27edc.

BUG=

Committed: https://github.com/dart-lang/sdk/commit/62be0eacfbb36bdc92a05c7c35bb4506621b6a3a
Review-Url: https://codereview.chromium.org/2767533002 .
2017-03-21 10:07:26 -07:00
Jacob Richman 62be0eacfb Revert "Fix observatory tests broken by running dartfmt."
This reverts commit b1f7e6d94673b098c93c187fe3efc45c15f27edc.

BUG=

Review-Url: https://codereview.chromium.org/2767533002 .
2017-03-20 22:19:22 -07:00
Jacob Richman 88f8aacd5f Re-apply rolled back CL to apply dartfmt to runtime.
Fix observatory tests broken by running dartfmt due to line and column changes.
Temporarily reverted formatting for evaluate_activation_test.dart as dartfmt doesn't yet handle multitests.

BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2759973004 .
2017-03-20 21:44:59 -07:00
Ryan Macnak ea4744a06f Revert "Run dartfmt on all files under runtime."
This reverts commit 15f393f189.

The change caused many service test failures due to changed line numbers.

TBR=jacobr@google.com

Review-Url: https://codereview.chromium.org/2762583003 .
2017-03-20 13:42:55 -07:00
Jacob Richman 15f393f189 Run dartfmt on all files under runtime.
I've omitted files where the formatter output is significantly uglier
than the original code and I'll send those files in a separate CL
with options for how to make the code look reasonable while still
taking advantage of the formatter.

BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2751423005 .
2017-03-20 13:13:50 -07:00
Todd Turnidge 7d6ba6bf1f Make rewind work on DBC
Closes #27878

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2636443004 .
2017-03-08 13:15:54 -08:00
Ryan Macnak cfe5e5f075 Include metadata in AOT to expand inline frames in stack traces and provide line numbers.
Also fix stack trace collection to always include invisible frames. It can happen that a visible function is inlined into an invisible function, and we don't expand inlined frames until we print a stack trace.

dart2js product x64:
compile time: 12.459s
VMIsolate(CodeSize): 152292
Isolate(CodeSize): 3343117
ReadOnlyData(CodeSize): 3728928
Instructions(CodeSize): 8677600
Total(CodeSize): 15901937
->
compile time: 14.195s (+13%)
VMIsolate(CodeSize): 174034
Isolate(CodeSize): 3892418 (+16%)
ReadOnlyData(CodeSize): 5036320 (+35%)
Instructions(CodeSize): 8682624
Total(CodeSize): 17785396 (+12%)

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2687143005 .
2017-02-13 10:27:36 -08:00
Matthias Hausner 74da383d6f Delete Breakpoint objects, fixing memory leak
Delete Breakpoint objects from the C heap when they are no longer needed.
Also delete inactive code breakpoint objects more aggressively.

This should fix the memory leaks reported in #28348.

General cleanup of breakpoint handling code and comments.

BUG=#28348
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2689623002 .
2017-02-10 10:43:24 -08:00
Ryan Macnak b15b98bcc3 Reapply "Use CodeSourceMap for stack traces (still JIT only)."
- Fix missing null termination in initialization of ZoneTextBuffer.
 - Merge with John's async stack trace changes.

R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2686813006 .
2017-02-09 18:03:41 -08:00