Siva Annamalai
956d02f22d
Make no_handle_scope_depth_ an int32_t field as that is what the accessor returns and there is check to ensure it;s value is < INT_MAX.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/1530543002 .
2015-12-14 17:28:03 -08:00
John McCutchan
a1ed9c6d17
Remove public dart:isolate dependency from dart:developer
...
- Move code from sdk/lib into runtime/lib.
- Remove dependency on dart:isolate from dart:developer.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1522203002 .
2015-12-14 13:26:05 -08:00
John McCutchan
cc9b72411d
Add TimelineBeginEndScope helper class
...
- Refactor TimelineDurationScope into TimelineEventScope.
- Reintroduce TimelineDurationScope based on TimelineEventScope.
- Add TimelineBeginEndScope.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1529613002 .
2015-12-14 12:45:39 -08:00
Regis Crelier
1c7f0a4d60
Finalizing an upper bound during a compile-time type test may lead to cycles.
...
Fail the test instead, requiring a runtime test.
This was introduced last week as https://codereview.chromium.org/1513493002/
in order to fix #25122 .
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1528523002 .
2015-12-14 11:38:19 -08:00
Zachary Anderson
fa8a0613a3
Fold ApiObjectConverter use into ApiMessageReader
...
TODO from change on Friday.
R=turnidge@google.com
Review URL: https://codereview.chromium.org/1523013002 .
2015-12-14 11:12:25 -08:00
Todd Turnidge
08ce763e26
Update observatory_pub_packages_rev.
...
I want to pick up the new version of charted to drop some build warnings.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1519183003 .
2015-12-14 10:36:40 -08:00
Ryan Macnak
1481dde862
No gcc, please don't optimize away the stack overflow check.
...
Fixes language/issue22159_test for release + noopt.
BUG=http://dartbug.com/24659
R=regis@google.com
Review URL: https://codereview.chromium.org/1518253002 .
2015-12-14 09:20:10 -08:00
Zachary Anderson
ad0e9622e9
Fix build
...
TBR
Review URL: https://codereview.chromium.org/1519333002 .
2015-12-11 19:45:17 -08:00
Ryan Macnak
2bfdde5c36
Also adjust the event handler's timer_fd to the monotonic clock.
...
Should fix timeouts on pkg-linux-debug-be.
Cf. 9387fead15 .
BUG=http://dartbug.com/25055
BUG=http://dartbug.com/25216
TBR=iposva@google.com
Review URL: https://codereview.chromium.org/1513843007 .
2015-12-11 17:37:35 -08:00
Zachary Anderson
a0970835f0
Adds a special case for sending an int over a port with the native API.
...
This improves dart <=> C++ IPC round-trip-times for Mojo by 10-20%.
BUG=
Review URL: https://codereview.chromium.org/1499853004 .
2015-12-11 16:07:16 -08:00
Ryan Macnak
1a333dcdd2
Also copy the fallback code.
...
Review URL: https://codereview.chromium.org/1519073003 .
2015-12-11 13:35:06 -08:00
Ivan Posva
6d0453594a
- Prevent running of the dart_bootstrap script by default.
...
- Fix argument handling in Python: argparse does not properly handle booleans.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1519063004 .
2015-12-11 13:23:12 -08:00
Ryan Macnak
fc551b6f33
Remove stray copy of OS::AlignedAllocate.
...
Review URL: https://codereview.chromium.org/1518113002 .
2015-12-11 13:13:52 -08:00
Ryan Macnak
9387fead15
Use a monotonic clock in the implementation of Timer.
...
Ask the embedder for the current time, since it is the embedder who later compares the deadline with current time when deciding when to send a wake up message.
BUG=http://dartbug.com/25055
BUG=http://dartbug.com/25216
R=iposva@google.com , zra@google.com
Review URL: https://codereview.chromium.org/1519563003 .
2015-12-11 12:39:56 -08:00
Ryan Macnak
5111482ab9
Fix stack overflow check in InvokeClosure.
...
Isolate::saved_stack_limit() answers the limit of the Dart stack, which
is different from the C stack when using the simulators. Since we are
recursing in C, we want to check against the C stack's limit.
This overflow check is only needed to support --no-lazy-dispatchers,
which is part of precompilation.
BUG=http://dartbug.com/24659
R=regis@google.com
Review URL: https://codereview.chromium.org/1513993004 .
2015-12-10 14:06:19 -08:00
Florian Schneider
12155b1920
VM: Add missing source line info in await-for statements.
...
When an exception occurs in the constructor of the steam iterator, the
stack trace was missing the source position.
BUG=#24084
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1516493002 .
2015-12-10 18:58:12 +01:00
Ryan Macnak
dfa715727b
Record OSThread::trace_id() instead of OSThread::id() in profile samples.
...
The profiler only uses the thread id to check if two samples with the
same timestamp belong to the same thread. Using trace_id() allows
profile samples to be correctly grouped with timeline events.
R=iposva@google.com
Review URL: https://codereview.chromium.org/1508233003 .
2015-12-10 09:46:42 -08:00
Ivan Posva
f887b03b5b
- Assert that we do not hold the timeline lock while entering
...
potential safepoints.
- Enable timeline for existing test as a regression test.
- Fix allocation with timeline lock held during deoptimization to
prevent deadlock.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1514653002 .
2015-12-09 13:41:42 -08:00
Zachary Anderson
bd20ef507f
Load Observatory assets lazily
...
BUG=
R=turnidge@google.com
Review URL: https://codereview.chromium.org/1500073003 .
2015-12-09 10:09:45 -08:00
Florian Schneider
12b0aa1ba8
VM: Don't inline array allocation in precompiled code
...
This reduces generated code size by around 3-4% on ARM and x64.
Performance impact is mostly neutral because precompiled code is generally
dominated by other factors, and especially ARM often benefits from smaller
generated code.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1512513002 .
2015-12-09 11:40:32 +01:00
Florian Loitsch
6c84c42e67
Add microsecond support to DateTime.
...
R=iposva@google.com , lrn@google.com
Review URL: https://codereview.chromium.org/1493033003 .
2015-12-09 00:46:46 +01:00
Matthias Hausner
d68a7de36a
Fix mismatched parenthesis error message
...
'file:xxxx.dart': error: line 2 pos 4: unterminated '('
foo(state { // <= missing closing parenthesis
^
Also include a couple of postscripts from previous change.
BUG=5830
R=iposva@google.com
Review URL: https://codereview.chromium.org/1504313003 .
2015-12-08 15:36:10 -08:00
Ryan Macnak
bf1724948f
Add timeline events for CompileClass and CompileTopLevel.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org/1513503003 .
2015-12-08 15:26:07 -08:00
Ryan Macnak
3c3d3e23af
Update standalone help message for removed legacy debugger protocol options.
...
Cf. 6249c2bcf3
R=hausner@google.com
Review URL: https://codereview.chromium.org/1505253003 .
2015-12-08 14:48:50 -08:00
Regis Crelier
173c1aed51
Improve upper bound finalization in VM and fix #25122 .
...
Add regression test.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1513493002 .
2015-12-08 14:38:27 -08:00
Ryan Macnak
4d9a399f53
Standalone: Null out _packagesPort after close.
...
Fixes crash in precompilation attempting to serialize a receive port.
BUG=http://dartbug.com/25075
R=iposva@google.com
Review URL: https://codereview.chromium.org/1505193003 .
2015-12-08 10:53:21 -08:00
Ryan Macnak
c99df050b1
Use a monotonic clock in the implementation of Stopwatch.
...
Rename OS::GetCurrentTraceMicros() to OS::GetCurrentMonotonicMicros().
BUG=http://dartbug.com/477
BUG=http://dartbug.com/12383
R=iposva@google.com
Review URL: https://codereview.chromium.org/1504523002 .
2015-12-08 10:12:05 -08:00
Ivan Posva
5805cba963
- Make sure the tar file for Observatory resources only contains
...
forward slashes.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1507923002 .
2015-12-07 15:27:28 -08:00
Matthias Hausner
23bfa8163d
Strip meta-data when VM runs with --enable-mirrors=false
...
When the mirrors system is unavailable, there is no need to create the fields for metadata annotations in code.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1504673004 .
2015-12-07 12:49:08 -08:00
Srdjan Mitrovic
a9ea73b60b
--collect_dynamic_function_names (default false): find unique virtual function names and use them to populate ICData (precompilation only) Measured some performance improvement, some performance loss. Next: tune inlining of getters/setters, check heuristics.
...
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1496713002 .
2015-12-04 13:19:00 -08:00
Matthias Hausner
0bbfe1e23b
There are about 60 patch classes in the libraries. Running dart2js causes about 25 of them to be compiled and applied, so we get rid of 25 of 60 Class objects.
...
Review URL: https://codereview.chromium.org/1498933002 .
2015-12-04 13:11:25 -08:00
Ryan Macnak
688d5cfcc3
Precompilation/mips: Fix SwitchableCalls to use patchable object pool entries for the lookup stubs.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org/1500083002 .
2015-12-04 12:40:25 -08:00
Ryan Macnak
f380c23711
Throw an exception when attempting to use Isolate.spawnUri under precompilation.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org/1502473002 .
2015-12-04 10:13:15 -08:00
Ryan Macnak
3e7212e194
Reapply "Precompilation/x64: Load float vector constants via Thread."
...
Fix unbalanced Enter/LeaveTestFrame in TestObjectCompare. Crashed on release + clang with the original change, and was failing on ASAN before that.
BUG=http://dartbug.com/24450
BUG=http://dartbug.com/25002
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1499763002 .
2015-12-04 09:46:21 -08:00
Florian Schneider
eee0e6d8c3
Fix optimizations on static fields in precompiled code.
...
Don't perform LICM / or load elimination of static fields in precompiled
code since they may not be initialized and we don't record an explicit
dependency between the initialization and the load of a static field.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1497783002 .
2015-12-04 12:42:39 +01:00
Ivan Posva
6249c2bcf3
- Remove the legacy debug protocol.
...
BUG=
R=hausner@google.com
Review URL: https://codereview.chromium.org/1497033003 .
2015-12-03 17:46:02 -08:00
Ryan Macnak
7dfb517618
Revert "Precompilation/x64: Load float vector constants via Thread."
...
This reverts commit 9cf30c9697 .
Review URL: https://codereview.chromium.org/1494323002 .
2015-12-03 14:19:21 -08:00
Ryan Macnak
9cf30c9697
Precompilation/x64: Load float vector constants via Thread.
...
Cannot put these in the object pool because some of these instructions
are used in intrinsics.
BUG=http://dartbug.com/24450
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1488403002 .
2015-12-03 13:35:31 -08:00
Florian Schneider
d9b1301821
VM: Fix crash in profile signal handler.
...
The profile signal handler may interrupt when the current Thread
is in an inconsistent state.
Members of the Thread that is unscheduled are NULLed out before
OSThread::SetCurrent sets a new current Thread. Fix this by resetting
the current Thread's fields after a new Thread is set as current.
BUG=#25702
R=iposva@google.com
Review URL: https://codereview.chromium.org/1491283002 .
2015-12-03 22:00:24 +01:00
Florian Schneider
dff13bef8d
VM: Fix bug in type propagation at conditionals.
...
Propagating type/cid at conditional branches is not possible because
it may cause invalid code motion.
For this to be safe we need to explicitly represent the dependency
between checks eliminated in a branch and the condition that constrains the type/cid.
BUG=
R=vegorov@google.com
Review URL: https://codereview.chromium.org/1491373005 .
2015-12-03 21:14:35 +01:00
Ryan Macnak
d94b68cb41
Precompilation: Don't drop an uncompiled function if it has a compiled implicit closure function.
...
This ensures the implicit closure function is enumerated in later steps. Fixes crash in co19 test reducible as
import 'dart:math';
main() {
print(const [1, 2.0, "3"].fold(0, max));
}
Also enumerate invocation dispatchers to avoid a similar situation there, though I cannot find a crashing example involving them.
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1489203004 .
2015-12-03 11:03:23 -08:00
Matthias Hausner
4733386ca8
Reset top-level class finalization
...
BUG=
R=regis@google.com
Review URL: https://codereview.chromium.org/1493533002 .
2015-12-02 09:59:32 -08:00
Ryan Macnak
56239b1476
Use the same clock for the profiler samples and timeline events.
...
Preparation for overlaying samples in the timeline.
BUG=
R=iposva@google.com
Review URL: https://codereview.chromium.org/1492653002 .
2015-12-02 09:37:23 -08:00
Srdjan Mitrovic
abef5cb3ed
Correct overflow check; signed integer overflow is undefined in C++.
...
BUG=
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1490853002 .
2015-12-02 08:45:41 -08:00
Florian Schneider
46f3e7bfe7
VM: Reduce size of AST-nodes vtables.
...
Make Is## methods of AST nodes non-virtual, like we do for IL instruction nodes.
This saves around 10k in vtables on ia32.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1482153006 .
2015-12-02 13:38:26 +01:00
Florian Schneider
dd095404b7
Fix Windows SDK build.
...
TBR=srdjan@google.com
BUG=
Review URL: https://codereview.chromium.org/1493703002 .
2015-12-02 13:18:06 +01:00
Florian Schneider
59fd6c8397
VM: Small clean up and const-ness fix for Thread/OSThread constants.
...
BUG=
R=srdjan@google.com
Review URL: https://codereview.chromium.org/1482243006 .
2015-12-02 12:30:12 +01:00
Florian Schneider
5f073e7be0
VM: More read-only handles for constant null-objects/-instances.
...
Use Object::null_## for null-constants where possible.
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org/1488773004 .
2015-12-02 11:36:30 +01:00
Ryan Macnak
6fc5018282
Standalone: Use new support in dart:core for decoding data uris.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org/1489603002 .
2015-12-01 13:46:20 -08:00
Matthias Hausner
1df143b6b6
Removing an assert that trips after the TL class removal.
...
I will look into why the assertion fails in a follow-on change.
Review URL: https://codereview.chromium.org/1486923005 .
2015-12-01 13:04:32 -08:00