Commit Graph

3014 Commits

Author SHA1 Message Date
asiva@google.com 2c6de68680 Changed the API in DartEntry for invoking dart code from C++ to make it more compatible with the requirements of the runtime.
Deleted all the code duplication that was added to circumvent the old DartEntry API requirements.
Review URL: https://codereview.chromium.org//11613009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16288 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 21:36:01 +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
srdjan@google.com 1601d234c5 Fix build.
Review URL: https://codereview.chromium.org//11607021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16274 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 18:57:05 +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
srdjan@google.com 18b376a8ad Add DoubleToSmi optimistically, preventing boxing/unboxing of doubles and propagate smi-nessof the result.
Review URL: https://codereview.chromium.org//11568044

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16272 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 18:43:29 +00:00
srdjan@google.com 5a698bba3d Use call counts to prevent cold calls from being inlined.
Review URL: https://codereview.chromium.org//11541002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16269 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 18:15:41 +00:00
iposva@google.com 391cefa02e - Consider the growth policy even when allocating large pages.
Review URL: https://codereview.chromium.org//11434056

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16267 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 17:45:55 +00:00
lrn@google.com e33455dd1f Revert "Switch libraries to using new tags."
Still errs in the editor.

TBR=danrubel@google.com

Review URL: https://codereview.chromium.org//11612020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16257 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 14:01:28 +00:00
sgjesse@google.com 310225aabf Revert "Fixes to eventhandler and HTTP"
This reverts commit 21994e29d17b686d71432dfac3bc59e5f2238aa1.

TBR=ager@google.com

BUG=

Review URL: https://codereview.chromium.org//11614028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16256 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 13:21:12 +00:00
lrn@google.com a9b64329c0 Switch libraries to using new tags.
Committed: https://code.google.com/p/dart/source/detail?r=15499

Review URL: https://codereview.chromium.org//11419032

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16255 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 13:09:57 +00:00
sgjesse@google.com e107943e70 Fixes to eventhandler and HTTP
1. Improve error handling in Windows event handler

Whenever an error happens on an IO operation this
generates an error event and the handle is marked as having has
an error.

The test http_shutdown_test have been fixed to check for error as well
as succesful request when the server is closing the connection due to
closing the output stream before the input have been read. The test
have also been extended to have the client send more request data to
get more errors.

2. Disable event handler events until re-enabled from Dart

When an eventhandle event is posted to Dart this event is now
disabled in the eventhandler until re-enabled from Dart.

On Linux and Mac OS this was already the case as the file
descriptor for which the event(s) was posted was removed from
epoll/kqueue when events was posted.

On Windows this is now changed so that after an event is posted
it needs to be re-enabled from Dart code like on Linux and Mac
OS.

Changed the Dart event handler code to avoid posting disabling of
the out handler as the C++ code is already doing this on all
platforms.

3. Cancel HTTP parser when a connection is closing

When a HTTP connection is closing and moved to the close queue
there should be no more envents from the HTTP parser for whatever
data is still buffered.

R=ager@google.com

BUG=7294

Review URL: https://codereview.chromium.org//11623004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16252 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 12:32:35 +00:00
johnniwinther@google.com 672d09149b Revert "Clean up the patch file for the isolate library by introducing a new builtin library: isolate_helper.dart."
This reverts commit r16029.

BUG=http://dartbug.com/7448

Review URL: https://codereview.chromium.org//11573063

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16250 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 10:26:18 +00:00
ager@google.com abb1941544 Fix closing of process stdin on Process.run.
R=sgjesse@google.com
BUG=dartbug/7473

Review URL: https://codereview.chromium.org//11614024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16244 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 06:18:54 +00:00
regis@google.com 6665f3c92c Include super type in interface list for cycle detection (issue 4318).
Report an error if a type appears in both extends clause and implements clause.
Add language test.
Close old pending issue 4905685.
Review URL: https://codereview.chromium.org//11613007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16237 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 00:13:33 +00:00
regis@google.com aef9047742 Invoke noSuchMethod instead of immediately throwing NoSuchMethodError when
invoking a non-closure as a closure (reopened issue 3326).
Address comments of last cl.
Review URL: https://codereview.chromium.org//11612002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16220 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-17 19:35:16 +00:00
vegorov@google.com 9fc1b54794 Store optimized flow graph statistics on the function itself.
This gives a good estimate for an early bailout from the inlining attempt.

BUG=

Review URL: https://codereview.chromium.org//11567012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16212 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-17 15:22:16 +00:00
johnniwinther@google.com 6cf3513d36 Revert "Mirrors implemented via patches."
This reverts commit r16204, 16206, and r16210.

Review URL: https://codereview.chromium.org//11595007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16211 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-17 14:58:12 +00:00
johnniwinther@google.com b8c038d809 Mirrors implemented via patches.
Review URL: https://codereview.chromium.org//11591015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16204 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-17 13:24:29 +00:00
asiva@google.com 8a1b4167bc Changed the test a bit to ensure dart:io is not included as dartium cannot import dart:io
Review URL: https://codereview.chromium.org//11596002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16200 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-15 20:46:26 +00:00
cshapiro@google.com 49f6f9f36d Merge the Merlin heap tracing to top-of-trunk.
Review URL: https://codereview.chromium.org//11428067

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16199 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-15 19:58:45 +00:00
asiva@google.com 482b4dfdc3 Forgot this test in the previous change list.
Review URL: https://codereview.chromium.org//11591004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16198 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-15 19:08:51 +00:00
asiva@google.com 1e665120cc Fix new isolate_unhandled_exception tests to make them compatible for dartium testing.
Review URL: https://codereview.chromium.org//11595002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16197 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-15 18:43:17 +00:00
tball@google.com 3e59a633d0 Suppressed isolate uncaught exception handling tests for non-VM builds.
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16188 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-15 00:38:11 +00:00
regis@google.com 3ae792bbf4 Implement InvocationMirror.invokeOn method in the vm (issue 7227).
Review URL: https://codereview.chromium.org//11570042

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16187 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-15 00:28:41 +00:00
tball@google.com 3282ae3f72 Second version of support for specifying an unhandled exception callback
in Dart.  Isolate.spawnFunction optionally takes a callback parameter,
which is not resolved until an unhandled exception occurs.  If a callback
wasn't specified, the VM will then call an "_unhandledExceptionCallback"
function if it is defined in the isolate's source file. If no callback
is provided, the error is logged as the isolate is closed.
Review URL: https://codereview.chromium.org//11558034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16186 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-15 00:20:07 +00:00
regis@google.com 849585ef7c Implement Function.apply in vm (issue 5670).
Fix a closure parameter count check bug (unveiled by an apply test).
Review URL: https://codereview.chromium.org//11564029

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16175 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-14 19:04:01 +00:00
kasperl@google.com 0486a35522 Revert "Wat if you closure identical?"
Revert "Update comment suggested by Kasper."

This reverts r16112 and r16113.

R=ngeoffray@google.com
BUG=

Review URL: https://codereview.chromium.org//11578029

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16161 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-14 13:44:45 +00:00
asiva@google.com e2e6ae3437 Fix windows build.
Review URL: https://codereview.chromium.org//11566025

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16152 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-14 07:17:27 +00:00
asiva@google.com d3dcb3a952 Fix build break.
Review URL: https://codereview.chromium.org//11565028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16150 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-14 06:59:26 +00:00
asiva@google.com 0a5bf36268 Changes per discussion with Anton
- Add a new API call Dart_StringTolatin1 so that the contents of a
  string object that satisfies Dart_IsStringLatin1 can be gotten
- Tweak Dart_MakeExternalString to copy out the contents of the string
  for valid string objects that can not be externalized by the VM
  (e.g strings in the VM isolate)
Review URL: https://codereview.chromium.org//11580003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16149 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-14 06:44:26 +00:00
srdjan@google.com 27296584c2 Increase optimziation counter threshold to 3000, improves dart2js preformance.
Review URL: https://codereview.chromium.org//11442059

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16127 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 16:27:09 +00:00
ager@google.com 1fe5a6d631 Complete the transition to unicode APIs on Windows.
Define _UNICODE and UNICODE so that we do not add accidental
dependencies on non-unicode APIs.

Reapply the change without the completely broken code in
socket_win.cc. Instead use 'A' versions explicitly.

R=sgjesse@google.com,antonm@google.com

Review URL: https://codereview.chromium.org//11564017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16122 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 15:51:48 +00:00
vegorov@google.com 6586895d5f Implement store to load forwarding.
Implementation is done on top of load to load forwarding. In addition to killing loads stores now generate values for corresponding load ids.

To find load expression id corresponding to a store we change KeyValueTrait of the map used for load numbering. New trait allows to lookup a load by store.

R=fschneider@google.com
BUG=

Review URL: https://codereview.chromium.org//11568011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16119 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 15:31:29 +00:00
fschneider@google.com 9e77dd7986 Store canonical type argments in a hash table instead of linear list.
The code closely follows the symbol table implementation, but adjusted 
for use with TypeArguments objects.
Review URL: https://codereview.chromium.org//11474056

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16117 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 15:24:32 +00:00
vegorov@google.com a3cf827526 Never try to add 0 bytes to free list.
R=iposva@google.com
BUG=dart:7288

Review URL: https://codereview.chromium.org//11564015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16114 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 14:48:30 +00:00
ngeoffray@google.com c8ee314f0a Wat if you closure identical?
Review URL: https://codereview.chromium.org//11564013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16112 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 14:25:06 +00:00
vegorov@google.com 1ee5f51793 Improve redundant load elimination.
Previously it incorrectly computed OUT sets during the fix point iteration: did not propagate changed from IN to OUT.

However just computing bitset representation of IN set was actually not enough because different values might be coming in from different predecessors.

This algorithm inserts phis at merge points.

R=fschneider@google.com
BUG=

Review URL: https://codereview.chromium.org//11505002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16109 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 14:10:38 +00:00
ager@google.com 0952f0a37f Revert last unicode change. Causes Pub issues.
R=sgjesse@google.com
BUG=

Review URL: https://codereview.chromium.org//11570006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16105 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 12:56:02 +00:00
ager@google.com 2a3c575b79 Complete the transition to unicode APIs on Windows.
Define _UNICODE and UNICODE so that we do not add accidental
dependencies on non-unicode APIs.

Anton, this could have an influence on Dartium builds as well?

R=sgjesse@google.com,antonm@google.com
BUG=

Review URL: https://codereview.chromium.org//11567010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16104 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 12:43:01 +00:00
whesse@google.com ff80433b70 Add client certificates to HttpsServer and HttpClient.
BUG=

Review URL: https://codereview.chromium.org//11553027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16097 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 10:10:17 +00:00
ager@google.com 2a1c56378d Fix extraction of error messages on Windows from getaddrinfo.
Use WSAGetLastError which is thread safe. This also means
lets us use the unicode support for normal error messages.

R=sgjesse@google.com
BUG=

Review URL: https://codereview.chromium.org//11566007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16096 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 10:09:52 +00:00
ager@google.com 8d523fead9 Use unicode versions of process APIs on Windows. Additionally,
retrieve the arguments to dart as unicode strings.

R=sgjesse@google.com
BUG=

Review URL: https://codereview.chromium.org//11565008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16093 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 09:24:05 +00:00
meh@google.com 1125aff405 Move generate_perf_events_symbols flag to VM (new issue with @google address)
Changes reviewed and approved here:
https://chromiumcodereview.appspot.com/11490026

Created a new issue using meh@google.com instead of meh@chromium.org so I can commit to trunk.

BUG=

Committed: https://code.google.com/p/dart/source/detail?r=16016

Review URL: https://codereview.chromium.org//11549011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16084 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 00:42:19 +00:00
iposva@google.com d66477ee50 - Remove duplicate declaration of flag.
Review URL: https://codereview.chromium.org//11548048

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16083 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 00:39:12 +00:00
cshapiro@google.com fecbb84b10 Fix format type specifier discrepancies on 64-bit targets.
Review URL: https://codereview.chromium.org//11555032

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16075 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 23:05:51 +00:00
cshapiro@google.com 716c14a2a2 Improve the reporting of scavenger and free list reports.
The scavenger now reports survival and promotion statistics.

The statistics for the large free list are now reported.  Previously,
only information about the small free list was printed.  Each report
indicates whether the data is from before or after a garbage collection,
each row of a report is preceded by the free list type (small or large),
and cumulative bytes are reported for the free list type.

Review URL: https://codereview.chromium.org//11416384

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16074 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 22:58:24 +00:00
regis@google.com c195fc9e92 Fix type test for callable objects (issue 7338).
Review URL: https://codereview.chromium.org//11549027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16069 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 22:33:15 +00:00
kmillikin@google.com 1610d7d2ac Refactor the InstanceFunctionLookupStub.
The stub is used in the case that an IC miss handler cannot find a
cacheable target.  It handles implicit closures, calls to instance
fields, and no such method.

Refactor the stub to make a single call into the runtime.

BUG=

Review URL: https://codereview.chromium.org//11316353

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16057 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 19:52:47 +00:00