Commit Graph

48 Commits

Author SHA1 Message Date
regis@google.com 9efad2644b Re-enable checking of native resolvers.
Review URL: https://chromiumcodereview.appspot.com//10882007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11206 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-23 03:26:20 +00:00
regis@google.com 3e6596ba22 Temporarily disable checking of native resolvers to make Dartium build green.
A more permanent fix will follow.
Review URL: https://chromiumcodereview.appspot.com//10869024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11200 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-23 01:01:14 +00:00
asiva@google.com 630474f412 Update status file.
Review URL: https://chromiumcodereview.appspot.com//10832437

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11111 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 22:59:04 +00:00
asiva@google.com d3bf4f62b6 Turn off SNPrintf_BadArgs on linux and windows.
Review URL: https://chromiumcodereview.appspot.com//10860056

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11108 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 22:35:06 +00:00
dgrove@google.com bacdd20e96 Continued deletion of frog.
Review URL: https://chromiumcodereview.appspot.com//10860071

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11098 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 21:09:52 +00:00
turnidge@google.com 2803d78dfd Change the zone allocation api.
Instead of passing a size in bytes to the allocation function, we now
have a templatized Alloc function:

  zone->Alloc<Type>(len)

This is better for security, as we can check for integer overflow in
the size computation before performing the allocation.  Before, we
often failed to check this.
Review URL: https://chromiumcodereview.appspot.com//10836061

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10254 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-03 21:51:44 +00:00
turnidge@google.com 8b68d343c7 Enforce length/size limits for variable size heap object in order to
avoid overflow.

For each variable size heap object, compute the maximum number of
elements and use that in the ::New functions to avoid overflow.  If a
bad length/size reaches a ::New function, that is a FATAL error -- the
problem should have been caught earlier by the dart api or by the
library code.

Add "border guards" in the dart api and in library calls which cause
new variable size heap objects to be allocated.  We check for invalid
length/size and throw explanatory error messages.
Review URL: https://chromiumcodereview.appspot.com//10782016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10130 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-01 18:22:30 +00:00
smok@google.com 4412f8653f dart2dart Skip non-language tests, leave yaml too.
Review URL: https://chromiumcodereview.appspot.com//10823079

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10014 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-30 13:50:54 +00:00
regis@google.com af26648b46 Fix Function::NumberOfImplicitParameters() for closure functions.
Related to cl 10831021.
Review URL: https://chromiumcodereview.appspot.com//10829041

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9957 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-26 18:45:54 +00:00
rmacnak@google.com 6d56bfd545 Added a test of Dart_FunctionParameterCounts against a closure inside of an
instance method. It currently gives the wrong answer for the fixed parameter
count because the closure's function is identified as non-static => instance
=> one implicit parameter (receiver) in Function::NumberOfImplicitParameters.
Review URL: https://chromiumcodereview.appspot.com//10831021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9956 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-26 18:30:40 +00:00
antonm@google.com 74d17a16f9 dart2dart compiler support.
R=whesse@google.com

Review URL: https://chromiumcodereview.appspot.com//10809069

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9880 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-25 11:20:41 +00:00
turnidge@google.com 9cbae35238 Don't allow OS::SNPrint or OS::VSNPrint to return negative values.
If we encounter conditions that would have caused vsnprintf to return
a negative value, then something pretty wild is going on.  We choose
to terminate the vm when this occurs.

This fixes security bug 1745.
Review URL: https://chromiumcodereview.appspot.com//10696165

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9558 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-11 17:54:24 +00:00
vsm@google.com 129369184a Skip failing test on DRT
TBR=turnidge

Review URL: https://chromiumcodereview.appspot.com//10443102

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8139 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 05:08:40 +00:00
turnidge@google.com ec36e02c28 Remove the partially completed code for remote IsolateMirrors and
replace it with the beginnings of a local (same isolate) IsolateMirror
implementation.

Removed old mirror tests and added two new mirror tests.

Even though mirrors.cc is part of the vm, I chose to implement most of
it using the dart embedding interface instead of our internal
interfaces because the embedding interface was more convenient.
mirrors.cc is basically all new in this CL -- don't pay any attention
to diffs for that file.

Added dart embedding functions required for the functionality in this
CL: Dart_DebugName, Dart_GetNativeInstanceFieldCount,
Dart_RootLibrary, Dart_RegisteredLibraryUrls, and Dart_LibraryName.

Extended or modified some existing dart api functions, primarily to
make them propagate error handles properly.

Added tests for new dart embedding api functionality.

Added the ability to determine if a port is local to the current isolate.

Extended NotImplementedException to accept an optional string
argument.  I wanted to give more descriptive error messages.
Review URL: https://chromiumcodereview.appspot.com//10416050

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8117 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 17:07:19 +00:00
turnidge@google.com d28858f799 Skip some tests that are causing trouble on dartium. I am deleting
these tests (and the code they test) entirely in a different CL, so I
don't see the point in fixing them.
Review URL: https://chromiumcodereview.appspot.com//10383310

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7919 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-23 19:12:44 +00:00
cshapiro@google.com 4ad6942ef1 Fix breakage in the JavaScript compilers.
This change adds a mock "Uint8List" to dart2js, suppresses the new byte
array test on Frog, and renames interface parameters for dartc.

Review URL: https://chromiumcodereview.appspot.com//10383023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7355 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-05 00:07:25 +00:00
asiva@google.com ae552ba870 Fix build break.
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7266 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 01:45:31 +00:00
asiva@google.com 601d6ba9e4 Canonicalize the reference_dir also when canonicalizing a path
Review URL: https://chromiumcodereview.appspot.com//10344010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7265 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 01:01:47 +00:00
sigmund@google.com e14efee078 fix vm test configuration to specify vm/cc
Review URL: https://chromiumcodereview.appspot.com//10335002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7254 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-02 20:35:01 +00:00
sigmund@google.com 6e745950f8 fixes .status of compilers against vm tests.
Review URL: https://chromiumcodereview.appspot.com//10326002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7246 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-02 16:56:59 +00:00
sigmund@google.com 5b8ad6bfab test rename overhaul: step 14 - vm tests
Review URL: https://chromiumcodereview.appspot.com//10271014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7245 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-02 16:46:16 +00:00
asiva@google.com 13a9d3a9ee Skip dart2js compile all benchmark on windows.
Review URL: https://chromiumcodereview.appspot.com//10288007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7209 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-01 22:55:37 +00:00
kmillikin@google.com 1c06eed2b6 Implement branching control flow in the non-optimizing graph compiler.
Bind a label on block entry, implement branching.

R=srdjan@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9623005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5159 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-08 10:00:26 +00:00
mattsh@google.com d8af601ce4 removed unused 'prefix' line from status files
Review URL: https://chromiumcodereview.appspot.com//9621003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5101 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-07 16:10:57 +00:00
hausner@google.com 4be3dd1f7e Fix debugger stepping on Linux
Missing instance field initialization. Bah!

TBR=regis
Review URL: https://chromiumcodereview.appspot.com//9513005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4721 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 19:35:45 +00:00
hausner@google.com 1fae7e102b Disable breakpoint tests until I figure out why they fail on Linux
Review URL: https://chromiumcodereview.appspot.com//9479024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4649 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-27 23:34:53 +00:00
asiva@google.com 26d2689283 Change the generated dart test in CodeIndexTableTest so that it does not induce a deep recursion in the dart code generator.
Review URL: https://chromiumcodereview.appspot.com//9454024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4555 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 23:01:45 +00:00
srdjan@google.com e3c98a5e19 Enable new compiler in x64 mode (bail-out all the time, but we can use automated testing).
Disable CodeIndexTable test inde debug x64. This CL includes a pending CL from Kevin (will wait for it to be submitted).
Review URL: https://chromiumcodereview.appspot.com//9443021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4549 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 19:24:14 +00:00
ager@google.com e92d0eab5a Reimplement Windows Monitors.
Now using an event object per thread which is linked into a list
of waiters for the monitor.

Notify takes the first element of the list and notifies (FIFO order).

Notify all extracts the entire list and notifies each of them. This
avoids the issues with fairness and correctness of the previous version.

The MonitorWaitData object holding the event and a pointer to the
next waiter is stored in thread local storage and lazily initialized.

R=sgjesse@google.com,asiva@google.com
BUG=1614
TEST=

Review URL: https://chromiumcodereview.appspot.com//9424050

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4537 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 15:24:18 +00:00
sgjesse@google.com 85e0084bd9 Disable all thread pool tests on Windows
The thread pool is actually implemented on Windows, but the current
monitor implementation has some know issues.

R=ricow@google.com

BUG=dart:1673

TEST=

Review URL: https://chromiumcodereview.appspot.com//9363039

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4208 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-14 08:53:34 +00:00
sgjesse@google.com a6071e0880 Thread pool changes
Make one global thread pool instead of a thread pool for each
eventhandler (i.e. isolate).

Also:

* Added handler function for thread pool tasks.
* Added thread pool shutdown.
* Added a simple test.

R=ager@google.com

BUG=
TEST=

Review URL: http://codereview.chromium.org//9112013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3079 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-09 07:38:30 +00:00
hausner@google.com 503e2219b8 First part of inspecting local variables
This change introduces variable descriptors that describe the name, stack slot index, and source code stretch in which a variable is valid.

Activation frames in the stack trace now can enumerate the variables that are active in that frame.

Next step: fetch the value of variables from the stack.
Review URL: http://codereview.chromium.org//8992020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2671 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-20 21:40:28 +00:00
asiva@google.com bde808f44b Changes to create an application snapshot which can be layered on top
after an isolate is created and initialized.

Added an option --use_script_snapshot which creates a snapshot of the specified script in an isolate, shuts that down and restarts on a new isolate and loads the script from the snapshot buffer and executes it.
Review URL: http://codereview.chromium.org//8970004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2609 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-20 02:04:24 +00:00
turnidge@google.com 0b833d4977 Add support for interrupting an isolate in the vm. Interrupts are
implemented by extending the existing support for stack overflow
checking in the vm.  When an interrupt is scheduled for an isolate, we
overwrite the isolate's stack limit with a value guaranteed to cause a
stack overflow.

We support multiple kinds of interrupts, encoded in the low bits of
the stack limit.

Add Dart_InterruptIsolate and Dart_InterruptIsolateCallback to the
dart embedding api to allow the embedder to request and handle
interrupts.

Add EXPECT_SUBSTRING(needle, haystack) testing macro.
Review URL: http://codereview.chromium.org//8851008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2529 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-16 18:41:20 +00:00
iposva@google.com 5e1e9534db - Implement the old sweeper.
Review URL: http://codereview.chromium.org//8898034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2485 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-15 22:37:35 +00:00
turnidge@google.com 3b9026f21d If an unhandled exception occurs in Dart_RunLoop, pass it out to the caller.
Review URL: http://codereview.chromium.org//8918028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2438 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-14 18:27:58 +00:00
asiva@google.com 566ff2b3cf Add a tags field to RawObject so that we can tag objects with certain values,
e.g:
- object is canonical
- object was created from snapshot
etc.

Once we have class Ids implemented the current class_ and flags_ words can be
compressed into a single header word.
Review URL: http://codereview.chromium.org//8827016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2211 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 00:43:06 +00:00
asiva@google.com 660b5719bf Add test to expose bug in initialization of objects with native fields in the inline allocation stub. The tests are skipped as another CL fixes the bug.
Review URL: http://codereview.chromium.org//8875001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2209 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 00:23:21 +00:00
asiva@google.com 7ddd0f0b89 First step towards generation of application script snapshots
- Introduce 3 kinds of snapshots (full, application script and messages)
- Added a dart API function to be used for generating an application snapshot
  and for loading the script from an application snapshot.

Next step is to introduce special handling in the WriteTo and ReadFrom
snapshot functions for 'kind == Snapshot::kScript'
Review URL: http://codereview.chromium.org//8772061

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2105 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-06 00:34:49 +00:00
iposva@google.com 3117f4cbfc - Implement a simple old-generation marker.
Review URL: http://codereview.chromium.org//8761006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1962 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-01 02:11:40 +00:00
turnidge@google.com 932628e0fd Add Dart API scoping around the call to Dart_HandleMessage. This
allows us to print the error message in the case that there is an uncaught
exception while handling an inter-isolate message.


Add a couple of unit tests that exercise
Dart_RunLoop/Dart_HandleMessage a bit.
Review URL: http://codereview.chromium.org//8659012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1904 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-29 21:41:00 +00:00
turnidge@google.com 804becb850 Deleting the wrong message in FlushAll...
Review URL: http://codereview.chromium.org//8347010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@535 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 21:23:06 +00:00
turnidge@google.com 002eacd251 Fix race.
Review URL: http://codereview.chromium.org//8344017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@534 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 21:19:27 +00:00
turnidge@google.com 44720be924 Mark MessageQueue_WaitNotify flaky again.
Review URL: http://codereview.chromium.org//8349014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@528 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 20:55:54 +00:00
turnidge@google.com bbedbbbc49 Turn the MessageQueue_WaitNotify test back on.
My expectation is that this will turn the mac release tests red.  I
will then follow up with a possible fix.

Can't reproduce the problem locally, so using the buildbot as my testbed :-/.
Review URL: http://codereview.chromium.org//8344014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@524 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 20:18:06 +00:00
iposva@google.com ed7a54dc74 - Flaky on all architectures.
Review URL: http://codereview.chromium.org//8345005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@520 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 18:26:21 +00:00
iposva@google.com d4e000eda7 - Update vm.status file while we figure out crashes.
Review URL: http://codereview.chromium.org//8342005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@518 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 18:20:15 +00:00
dgrove@google.com 4c0f559d23 Initial checkin.
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-05 05:20:07 +00:00