John McCutchan
f6b570aa2a
Include thread CPU time in Timeline.
...
- [x] Refactor old OSThread interface for querying thread CPU time into OS::GetCurrentThreadCPUMicros.
- [x] Add data to TimelineEvent to track thread CPU time.
- [x] Include "tts" and "tdur" properties when converting the timeline to JSON
Fixes #26396
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1960483002 .
2016-05-05 16:34:09 -07:00
Vyacheslav Egorov
ee0f608ce4
Dart Byte Code interpreter.
...
This version is Clang/GCC only and does not support Windows because it uses computed goto's.
Only unoptimized mode is supported.
Architecture is described in constants_dbc.h and stack_frame_dbc.h.
R=fschneider@google.com , zra@google.com
Review URL: https://codereview.chromium.org/1858283002 .
2016-04-18 23:02:01 +02:00
Siva Annamalai
f7d2b2e31e
- Fix for issue 25950 (add registration of a thread exit callback)
...
- Moved some of the file and entropy callbacks to class Dart from
class Isolate as they are not isolate specific.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/1807293002 .
2016-03-17 13:40:20 -07:00
John McCutchan
fda3a9bc2b
Remove more things
...
(stripped) dart_product before: 5307888
(stripped) dart_product after: 5275088
Reduction in size: 32800 bytes.
Removed entirely:
- debuginfo*
- elfgen*
- gdbjit*
- TraceBuffer
- vtune support
Removed in product:
- Compiler stats
- Code observers
R=asiva@google.com
Review URL: https://codereview.chromium.org/1711163002 .
2016-02-22 08:53:11 -08:00
John McCutchan
dd4ef29098
Refactor monotonic clock interface and use raw tick values in stopwatch
...
- Split interface to provide direct access to raw clock value and clock frequency.
- Update Stopwatch to use raw clock value and clock frequency instead of microseconds.
- Fix possible initialization race on OSX
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1563473002 .
2016-01-05 11:22:20 -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
John McCutchan
3d0c4bf586
Make timeline use the same clock source as mojo's tracing infrastructure
...
- This ensures that we have consistent timestamps across processes.
- This is necessary to properly support mojo.
- Add new public API to query timeline clock.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1367973004 .
2015-09-25 10:04:23 -07:00
Zachary Anderson
16393ee9c6
Uses SNPRINT macro where possible. Otherwise uses #define for format.
...
I was able to convert 49 SNPrint(NULL, 0, ...) patterns to use the
macro. I had to use a #define for the format string 5 times due to
uses that didn't fit the macro.
2 occurences of SNPrint(NULL, 0, ...) had >=2 possibilities for the
format string based on runtime values, and I didn't try to convert
them.
Fixed ~10 format strings.
BUG=
R=iposva@google.com
Review URL: https://codereview.chromium.org//1331623002 .
2015-09-11 00:18:14 -07:00
Daniel Andersson
c089a152ac
Migrate most uses of Isolate::current_zone to Thread::zone.
...
After https://codereview.chromium.org/1204303003/ is submitted, the last remaining uses can go.
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//1220193009 .
2015-07-08 09:59:32 -07:00
Ivan Posva
8f1506e817
- Determine whether the simulator is being used in globals.h
...
- Make sure to switch on HOST_ARCH_ and on USING_SIMULATOR
where appropriate.
- Avoid allocating in new generation when running in the VM isolate.
BUG=
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1156053006
2015-05-29 14:35:29 -07:00
zra@google.com
b253b7c2ba
A few fixes for ARMv5TE.
...
This CL:
- Adds SupportsHardwareDivision() to FlowGraphCompiler.
In FlowGraphOptimizer, if SupportsHardwareDivision()
is false, Smi and Mint division operations are not
inlined.
- Reduces the supported addressing modes for ldrd, strd.
For ARMv6 and up, the address only needs to be 4-byte
aligned, for ARMv5TE and below the address must be
8-byte aligned. So, on ARMv5TE, we can split these
each into two instructions, which is easier to do if
the addressing modes are restricted to base + offset,
which is all we were using anyway.
- Uses the smull instruction on ARMv5TE and ARMv6. I don't
remember why it was disabled, and the docs say
it is supported. Verified working on ARMv5TE hardware.
- Fixes a bug in OSR frame entry caused by the
difference between the PC read offset in store vs.
other instructions.
- Fixes assembler tests that have a float return for
targets without vfp.
R=regis@google.com
Review URL: https://codereview.chromium.org//1043943002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44788 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-30 20:46:52 +00:00
koda@google.com
c7e9e048ed
Rename Thread -> OSThread.
...
It's a collection of static utility methods for primitive operations on OS threads.
Make room in the namespace for upcoming class that will represent all the complex state of a VM thread.
Review URL: https://codereview.chromium.org//796063006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42895 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-15 02:30:07 +00:00
johnmccutchan@google.com
fbb31fb54d
Tweaks to perf jitdump support
...
BUG=
R=asiva@google.com , vegorov@google.com
Review URL: https://codereview.chromium.org//489923002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39427 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-20 20:43:54 +00:00
johnmccutchan@google.com
c1a7a9b1d2
Update to latest jitdump file format
...
BUG=
R=vegorov@google.com
Review URL: https://codereview.chromium.org//493493003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39384 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-19 21:28:40 +00:00
iposva@google.com
865f0b13a7
- Need MutexLockers in os_linux.cc.
...
Review URL: https://codereview.chromium.org//468653002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39176 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-12 23:39:00 +00:00
iposva@google.com
28c8553cb6
- Fix a lot of warnings generated by -Wshorten-64-to-32
...
when compiling for ia32 on Mac.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//415513002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38499 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-23 14:10:13 +00:00
iposva@google.com
9f6006f8c8
Fix dartbug.com/19998
...
- Do not attempt to interact with files if hooks are not installed.
- Remove obsolete code observers.
- Remove obsolete API functions.
R=asiva@google.com , fschneider@google.com
Review URL: https://codereview.chromium.org//390043002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38226 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 09:14:40 +00:00
johnmccutchan@google.com
ef2adfc5c6
Allow StackFrameIterator to be used on a different thread than the isolate whose stack frames are being iterated over.
...
This is necessary to be able to use this in the profiler.
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//354063004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37886 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-01 17:38:13 +00:00
zra@google.com
9c73009ff9
Prepares for arm64 cross-build.
...
With this change, the cross-build succeeds with the Linaro arm64 toolchain.
R=regis@google.com
Review URL: https://codereview.chromium.org//303443010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36698 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-27 18:05:20 +00:00
zra@google.com
2fe51715e5
Begins work on ARM64, first assembler test.
...
Most new code is in constants_arm64.h and
{assembler,disassembler,simulator}_arm64.{h,cc}
The rest of the CL just #def's out tests, modifies status files,
and adds UNIMPLEMENTED functions, etc.
R=regis@google.com
Review URL: https://codereview.chromium.org//221133002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34654 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-02 17:39:32 +00:00
johnmccutchan@google.com
472bdeca7e
Disable jit dump output by default
...
BUG=
Review URL: https://codereview.chromium.org//181593006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33101 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-26 23:36:39 +00:00
johnmccutchan@google.com
85887b1cf5
Add support for dumping code in jitdump file format
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//23437046
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33098 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-26 22:30:25 +00:00
johnmccutchan@google.com
919dc2d6eb
* Introduce ThreadInterrupter which calls a TLS set callback when thread is interrupted.
...
* Threads can only register and unregister themselves with ThreadInterrupter.
* Profiler is no longer involved in interrupting threads. It's just a callback and the buffer.
* Profiler operates lock free using an atomic operation to reserve sample in sample buffer.
* Linux, Mac, and Windows done.
R=asiva@google.com
Review URL: https://codereview.chromium.org//109803002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31170 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 18:52:15 +00:00
srdjan@google.com
3a8252f90d
Cleanups: int -> intptr_t for "array" lengths, memory sizes.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//26294002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28324 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-07 20:19:37 +00:00
fschneider@google.com
24053973c6
Fix Linux perf profiling support.
...
This was broken after r27726 because Isolate::Current() is
NULL when the PerfCodeObserver is initialized.
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//24364002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27760 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-23 13:17:39 +00:00
iposva@google.com
d0b681f354
- Write the coverage data to a file instead of printing to stdout.
...
- Explicitly include lines with zero hits.
R=asiva@google.com , mlippautz@google.com
Review URL: https://codereview.chromium.org//24255013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27726 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-20 21:37:48 +00:00
regis@google.com
93059fe3cf
More cleanup related to malformed and malbounded types.
...
Remove support for warnings in parser and related flags.
Rename flag --error-on-malformed-type to --error-on-bad-type, since it covers
both malformed and malbounded types (also closer to --error-on-bad-override).
R=hausner@google.com
Review URL: https://codereview.chromium.org//23465004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26677 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-26 23:24:01 +00:00
jacobr@google.com
605b33c1bc
fix cpp11 compile errors
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//23072026
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26387 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-20 20:24:11 +00:00
iposva@google.com
c3c942407b
Fix dartbug.com/10415:
...
- Append 'on "$os_$arch"' to the version string on the VM.
Review URL: https://codereview.chromium.org//14593004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22452 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-07 07:59:03 +00:00
asiva@google.com
ea5a3919c5
Resubmit 22380 after fixing the windows build.
...
R=hausner@google.com
Review URL: https://codereview.chromium.org//14645025
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22396 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-03 22:50:26 +00:00
asiva@google.com
dab8758e7a
Revert 22380 to investigate windows build break.
...
Review URL: https://codereview.chromium.org//14927003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22382 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-03 18:26:34 +00:00
asiva@google.com
27e78fb6f8
Second step towards loading core library scripts directly from the sources
...
- Modify the library source generator to generate a source mapping array
The generated array is of the following format:
const char* dart::Bootstrap::corelib_source_paths_[] = {
"dart:core", "/workspace1/dart-all/dart/sdk/lib/core/core.dart",
"bool.dart", "/workspace1/dart-all/dart/sdk/lib/core/bool.dart",
...
...
};
- Read the source file using the source mapping array instead of relying on
a generated buffer containing the sources
- Modify the gyp files to ensure that all libraries are read directly
from the sources. This CL does not change the patch part yet.
Remove the source concatentation step in the gypi files for all the core
libraries.
R=hausner@google.com , iposva@google.com
Review URL: https://codereview.chromium.org//14786012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22380 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-03 18:12:24 +00:00
vegorov@google.com
1a286becba
Align code by 32 bytes to reduce benchmark flakiness on Intel CPUs.
...
R=iposva@google.com
BUG=
Review URL: https://codereview.chromium.org//14158012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22110 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-29 10:49:58 +00:00
iposva@google.com
0d8ff3ef16
- Add OS::StrNDup instead of redefining it when needed.
...
Review URL: https://codereview.chromium.org//13994008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21368 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-12 16:19:10 +00:00
vegorov@google.com
70ccbd02aa
Repair compilation with VTune support.
...
R=fschneider@google.com
Review URL: https://codereview.chromium.org//14063008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21215 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-10 16:10:46 +00:00
fschneider@google.com
0237bbfb41
Support instruction-level perf event profiling to Dart VM using V8's ll_prof.py.
...
Usage:
1) perf record -g out/ReleaseIA32/dart --ll-prof example.dart
2) third_party/v8/tools/ll_prof.py --disasm-top=3
This will produce a per-function and a per-instruction profile with
disassembly for the top 3 function in the profile.
Currently only available on Linux.
Review URL: https://codereview.chromium.org//12342012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19044 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-26 14:38:03 +00:00
iposva@google.com
9046a44a37
Prepare for removal of source_filter.gypi:
...
- Guard OS-dependent source files with #if TARGET_OS_* in a similar
fashion to the architecture dependent sources.
Review URL: https://codereview.chromium.org//12282051
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18786 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-20 21:17:38 +00:00
regis@google.com
cd746c8172
Initial revision of ARM simulator and (empty) MIPS simulator.
...
Review URL: https://codereview.chromium.org//12041056
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17623 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-25 01:16:35 +00:00
podivilov@google.com
ea4ea079b5
Fix use after free bug in PprofCodeObserver.
...
TBR=asiva@google.com
Review URL: https://codereview.chromium.org//12026036
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17379 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-22 09:32:38 +00:00
regis@google.com
be9555b2e1
Mofify vm code base so that it can be built for --arch=simmips.
...
Review URL: https://codereview.chromium.org//12018023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17321 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-18 21:46:58 +00:00
meh@google.com
121c85b7ca
Fix pprof VM flag description
...
BUG=
Review URL: https://codereview.chromium.org//11695007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16593 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-03 02:11:03 +00:00
antonm@google.com
b395961a8d
Fix a warning.
...
Most probably description needs some love too.
TBR=meh@google.com
Review URL: https://codereview.chromium.org//11692009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16538 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-28 10:00:26 +00:00
meh@google.com
432978367e
Clean up CodeObservers
...
Move CodeObserver registration to the OS abstraction.
Move Pprof logic to the OS abstraction.
Remove pprof from VM tests because now pprof logic is in the VM itself.
Add DISALLOW and AllStatic to Code Observers where appropriate.
Previous review: https://codereview.chromium.org/11572032/
BUG=7321
Review URL: https://codereview.chromium.org//11660011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16462 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-22 00:23:25 +00:00
meh@google.com
ef737f105d
Revert "Clean up CodeObservers"
...
This reverts commit 43e5ada2fba69c7d5c009b5bf70a234f12941617.
BUG=
Review URL: https://codereview.chromium.org//11644074
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16446 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-21 17:45:36 +00:00
meh@google.com
6fbf9f1c2e
Clean up CodeObservers
...
Move CodeObserver registration to the OS abstraction
Move Pprof logic to the OS abstraction
Add DISALLOW and AllStatic to Code Observers where appropriate
BUG=7321
Committed: https://code.google.com/p/dart/source/detail?r=16273
Review URL: https://codereview.chromium.org//11572032
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16445 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-21 17:37:59 +00:00
meh@google.com
b406d5cb4e
Revert "Cleanup CodeObservers (and update build file)"
...
This reverts commit b528d673e762b0db88b902ec2e45f917e21d8a67.
BUG=
Review URL: https://codereview.chromium.org//11638002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16285 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 19:59:30 +00:00
meh@google.com
cc626035f1
Cleanup CodeObservers (and update build file)
...
- Move CodeObserver registration to the OS abstraction
- Add DISALLOW and AllStatic to Code Observers where appropriate
The builds for Mac and Windows broke when I submitted the earlier CL (11572032). This CL removes obselete files from the .gypi build file.
BUG=7321
Review URL: https://codereview.chromium.org//11630007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16284 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 19:54:12 +00:00
meh@google.com
4264ab7907
Revert "Cleanup CodeObservers"
...
This reverts commit 16a9677a8a8f0fb8f91c9e6348e188aa167b36c7.
BUG=
Review URL: https://codereview.chromium.org//11607022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16277 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 19:11:09 +00:00
meh@google.com
6adb8b3e6d
Cleanup CodeObservers
...
Move CodeObserver registration to the OS abstraction
Add DISALLOW and AllStatic to Code Observers where appropriate
BUG=7321
Review URL: https://codereview.chromium.org//11572032
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16273 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 18:54:30 +00:00
johnmccutchan@google.com
5642ee09f1
Expose transferable constructor to Int8List
...
Review URL: https://codereview.chromium.org//11414211
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15598 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-30 20:35:22 +00:00