koda@google.com
2d67774537
Avoid redundant allocation of accessor names.
...
Support prefixed lookup in symbol table.
Startup new gen usage after "hello world" startup is reduced by ~15%.
R=iposva@google.com
Review URL: https://codereview.chromium.org//442483002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38884 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-04 23:04:52 +00:00
whesse@google.com
19beb61abc
Update mips test status.
...
R=ricow@google.com
Review URL: https://codereview.chromium.org//439283002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38861 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-04 15:19:10 +00:00
lrn@google.com
ca66944f5a
Performance tweak on int.parse.
...
Slower for strings with trailing, but no leading,
whitespace, but significantly faster for strings with no whitespace,
which is presumed to be the most common case.
R=floitsch@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//398813002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38848 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-04 07:56:18 +00:00
rmacnak@google.com
e803f27641
Make Dart_LoadLibrary and Dart_LoadSource take line and column offsets like Dart_LoadScript.
...
BUG=http://dartbug.com/13460
R=hausner@google.com
Review URL: https://codereview.chromium.org//429013002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38801 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-31 21:25:23 +00:00
hausner@google.com
4258c115b4
Handle load errors in deferred code
...
IO errors on the URL of a deferred library are forwarded to the Future
that handles the deferred load. Syntax errors and finalization errors
are lethal, killing the isolate.
Review URL: https://codereview.chromium.org//419103003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38800 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-31 21:09:33 +00:00
koda@google.com
50bb605a6a
Handle-like interface for HashTable.
...
A combination of two independent interface changes:
1. Constructor takes a RawArray* and allocates its own Array handle.
2. Release provides access to the entire handle, rather than just the raw.
This results in a very clean usage pattern, like:
FooTable table(get_foo_table());
table.Insert(obj);
...
set_foo_table(table.Release());
Having the isolate inside HashTable also allows faster allocation of temporary handles.
R=iposva@google.com
Review URL: https://codereview.chromium.org//428273002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38794 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-31 19:50:23 +00:00
johnmccutchan@google.com
2e59674838
Initial backend for metrics in Observatory.
...
Two types of metrics:
* Counter - a measured value
* Gauge - A measured value with a min and max
Follow up CLs for the backend:
* Support for internal VM metrics (implemented in C++ but visible over the service).
Follow up CLs for the frontend:
* Query list of metrics
* Get latest value of a metric
* Collect values over time and graph them.
I'd like some feedback on the API and the data reported.
R=koda@google.com
Review URL: https://codereview.chromium.org//409213004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38793 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-31 18:27:38 +00:00
iposva@google.com
b70da362b9
- Make sure to be able to deal with unaligned snapshot buffers
...
for length and kind.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//417093005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38759 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 22:52:08 +00:00
srdjan@google.com
00891583b0
Minor cleanup: remove unnecessary argument.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//422893003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38758 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 22:50:38 +00:00
mlippautz@google.com
6dd6e6343b
Fix usage of empty array while parsing array literals.
...
BUG=
R=srdjan@google.com
Review URL: https://codereview.chromium.org//430873002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38738 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 17:19:57 +00:00
srdjan@google.com
43832bf84f
Remove flag enable_debugger as current debugging code has a very minor influence on unoptimzied code performance.
...
R=hausner@google.com
Review URL: https://codereview.chromium.org//426083004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38737 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 16:32:04 +00:00
mlippautz@google.com
0e5fd6081a
Resize async function modifier bits
...
BUG=
R=iposva@google.com
Review URL: https://codereview.chromium.org//425163002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38717 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 00:27:23 +00:00
mlippautz@google.com
47c8f8b3e2
Reland transformation of async functions.
...
Reland https://codereview.chromium.org/362153002/
Additions:
* Fixes for parsing async "keyword".
* Further tests.
BUG=
R=hausner@google.com
Review URL: https://codereview.chromium.org//423213005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38715 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 23:50:33 +00:00
johnmccutchan@google.com
ae9b2a9dd5
Add build configuration variable 'c_frame_pointers' to control whether or not frame pointers are included and which stack walker the profiler uses.
...
BUG=
R=iposva@google.com
Review URL: https://codereview.chromium.org//414303004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38711 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 22:48:57 +00:00
koda@google.com
3ddcda9ab8
Reimplement Symbols using hash table template.
...
In the process, add hash table support for materializing an Object key from a lookup key on demand.
Also use this to simplify CompressedTokenStream.
R=iposva@google.com
Review URL: https://codereview.chromium.org//397413002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38710 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 22:47:56 +00:00
srdjan@google.com
77538d6abe
Use (more) xor on FP register to load it with 0.0.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//425083003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38706 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 22:11:35 +00:00
iposva@google.com
f34efcd2a2
- Force growth when allocating objects from a snapshot.
...
- Remove unused Code::ObjectExistsInArea.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//423193003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38698 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 20:56:26 +00:00
mlippautz@google.com
be3e426f27
Revert async changes.
...
Revert "Transform functions marked as async"
This reverts commit 79cbaaf60143babcb29bb0ed74a0da87fd998c39.
Revert "Fix snapshot test"
This reverts commit ee892aa105daccc74c734eb18934814b76a415bb.
BUG=
Review URL: https://codereview.chromium.org//428993002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38690 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 18:42:53 +00:00
turnidge@google.com
57a043903c
Remove stray debug output.
...
R=koda@google.com
Review URL: https://codereview.chromium.org//426993003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38682 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 17:33:21 +00:00
mlippautz@google.com
dfc33496a4
Transform functions marked as async
...
In a nutshell:
foo(params) async { <body> return result; }
transforms to
foo(params) async {
var c = new Completer();
var async_body = () { <body> completer.complete(result); }
new Future(async_body);
return c.future;
}
BUG=
R=hausner@google.com
Review URL: https://codereview.chromium.org//362153002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38681 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 17:16:00 +00:00
ajohnsen@google.com
d3e183b91a
Be sure we don't delete a ClientSocket, until 'connect' is completed.
...
BUG=
Review URL: https://codereview.chromium.org//426923003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38671 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 13:40:51 +00:00
ajohnsen@google.com
1984326985
In Socket:connect, start connecting to next address, after 250 (25 for loopback).
...
BUG=https://code.google.com/p/dart/issues/detail?id=19871
R=whesse@google.com
Review URL: https://codereview.chromium.org//429543002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38662 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 11:26:49 +00:00
ajohnsen@google.com
343ee141f2
Don't print errors to stderr in socket_*.
...
BUG=https://code.google.com/p/dart/issues/detail?id=20070
R=ricow@google.com
Review URL: https://codereview.chromium.org//426833004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38660 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 07:13:58 +00:00
koda@google.com
1efe114f05
Enable using the service library from dart:io applications.
...
Handle WebSocket differences between dart:html and dart:io.
Create simple command-line shell as an example.
This will enable standalone unit tests that use the service library.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//428613002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38655 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-29 00:44:28 +00:00
turnidge@google.com
7595f9e69e
Add breakpoints and single-stepping to Observatory.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//381383010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38654 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-28 23:08:47 +00:00
srdjan@google.com
79f2ca4896
Fix issue 20190: Mark Uint32/Int32 typed data load to produce a Mint always on 32-bit architectures, but also to have a deopt_id associates in case we may be able to optimize it to allow Smi as result. No deopt-id needs to be provided/allocated on 64-bit architectures.
...
R=vegorov@google.com
Review URL: https://codereview.chromium.org//414163003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38635 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-28 18:11:54 +00:00
ajohnsen@google.com
f560436366
Fix two other issues, with my previous commit.
...
BUG=
Review URL: https://codereview.chromium.org//425733002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38619 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-28 13:12:22 +00:00
ajohnsen@google.com
d56b11bf59
Compute absolute script path at isolate startup.
...
BUG=https://code.google.com/p/dart/issues/detail?id=20119
R=whesse@google.com
Review URL: https://codereview.chromium.org//423843002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38616 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-28 12:31:29 +00:00
ajohnsen@google.com
d481c8b61c
Start accepting incoming sockets earlier on Windows, to associate a at AcceptEx error to 'ServerSocket.bind'.
...
Note that I have not been able to reproduce the error, thus no test is added for this case.
BUG=http://code.google.com/p/dart/issues/detail?id=19815
R=whesse@google.com
Review URL: https://codereview.chromium.org//426613002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38606 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-28 11:36:35 +00:00
whesse@google.com
000f84c16d
Remove new check that crashes on android.
...
Check was added in r38499
BUG=dartbug.com/20181
R=ricow@google.com
Review URL: https://codereview.chromium.org//424693002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38603 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-28 09:15:55 +00:00
koda@google.com
1cdcb12b4e
Add VM class for Map/LinkedHashMap.
...
Introduces a new internal class for the most common case, the default Map.
Passes all functionality tests.
Slow: Dart side simply calls into runtime for now.
Hidden behind "--use_internal_hash_map".
Add copies of hash map tests to exercise this implementation.
R=asiva@google.com
Review URL: https://codereview.chromium.org//380333002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38588 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-25 20:04:11 +00:00
rmacnak@google.com
9c2b650c15
Increase the size of the getter/setter closure caches.
...
TBR=asiva@google.com
BUG=http://dartbug.com/20196
Review URL: https://codereview.chromium.org//416283002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38568 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-25 00:55:52 +00:00
vegorov@google.com
36cddbd749
Use shorter TryAllocate instruction sequence on ARM/ARM64/MIPS.
...
On these architectures it's preferable to load Scavenger address into the register and then access top/end fields through this register instead of loading addresses of those fields as immediates --- which takes either two instructions or a memory load through a pool pointer.
Cleanup boxing slow-paths in the optimizing compiler. We had tons of duplicated code that was essentially doing the same thing.
BUG=
R=johnmccutchan@google.com , regis@google.com
Review URL: https://codereview.chromium.org//410333003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38539 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-24 12:04:21 +00:00
johnmccutchan@google.com
6f0b2bb2a9
Profiler tweaks
...
* Rename Script tag to Dart tag.
* Respect ignore bit on samples.
* Mark samples collected with an exit frame.
* Don't give exclusive CPU ticks to top frame on samples collected from an exit frame (because CPU usage is in the native code we've called out to not the function waiting to return).
R=asiva@google.com
Review URL: https://codereview.chromium.org//418433002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38522 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-23 21:09:25 +00:00
asiva@google.com
d63cc843b6
Fix invalid handle scope error when Dart_IsClosure is used.
...
dart/runtime/vm/handles_impl.h:98: error: expected: isolate->top_handle_scope() != NULL
R=srdjan@google.com
Review URL: https://codereview.chromium.org//416663003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38520 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-23 20:32:07 +00:00
asiva@google.com
bba79810d5
Fix for the load error that is happening with dart_no_snapshot.
...
R=hausner@google.com
Review URL: https://codereview.chromium.org//411793003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38519 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-23 20:31:23 +00:00
iposva@google.com
ced3bc242c
- Fix build.
...
Review URL: https://codereview.chromium.org//413723002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38503 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-23 14:43:36 +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
zra@google.com
b73310c2c2
Adds intrinsics for Float64Array [] and []=.
...
Improves performance in unoptimized code.
R=regis@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//408373002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38483 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-22 23:16:07 +00:00
asiva@google.com
e921f8c416
Fix dartium build break.
...
R=hausner@google.com
Review URL: https://codereview.chromium.org//407073005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38479 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-22 22:45:38 +00:00
johnmccutchan@google.com
2abbaca938
Add Dart stack walker that relies on frame pointers.
...
* It is used only when we don't have a top exit frame and we have the script tag set.
* Steps across exit frames and only collects Dart frames.
R=asiva@google.com
Review URL: https://codereview.chromium.org//408663004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38475 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-22 21:08:22 +00:00
asiva@google.com
97b903c665
Fix for issue 19817
...
- do not try to finalize classes on every Dart API call which could
potentially result in calls to dart code
- Invoke Dart_FinalizeLoading after all loads are done to ensure that
classes are finalized
R=hausner@google.com
Review URL: https://codereview.chromium.org//411633002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38471 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-22 20:08:15 +00:00
regis@google.com
7800e258ca
Finalize the redirection type of a redirecting factory when the class of the
...
factory is finalized.
R=asiva@google.com
Review URL: https://codereview.chromium.org//412543003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38468 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-22 18:17:24 +00:00
srdjan@google.com
32e259a8af
In code comments print also deopt reason for deoptimization stubs.
...
R=zra@google.com
Review URL: https://codereview.chromium.org//409183003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38467 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-22 18:16:22 +00:00
asiva@google.com
a8195aeb5c
Change the Dart API call Dart_FInalizeLoading to accept an additional argument
...
which makes completion of deferred library futures optional.
R=hausner@google.com
Review URL: https://codereview.chromium.org//407143004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38463 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-22 16:56:14 +00:00
koda@google.com
aca839c54f
Allocate fewer empty arrays.
...
Use VM isolate's canonical, untyped, empty array when possible.
Takes Dart2JS benchmark from ~9000 empty arrays to ~200.
R=asiva@google.com
Review URL: https://codereview.chromium.org//381483002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38435 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-21 16:41:05 +00:00
srdjan@google.com
599da188a7
Small tuning of unboxing heuristic.
...
Review URL: https://codereview.chromium.org//403043002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38414 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-18 22:42:28 +00:00
johnmccutchan@google.com
98a959ff35
Really fix the build
...
BUG=
Review URL: https://codereview.chromium.org//408493004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38412 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-18 21:11:45 +00:00
johnmccutchan@google.com
597caa1754
Fix build breakage introduced in r38409
...
BUG=
Review URL: https://codereview.chromium.org//403003003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38411 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-18 21:04:36 +00:00
johnmccutchan@google.com
86bf7bb898
Profiler cleanup
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//397163002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38409 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-18 20:55:24 +00:00