Commit Graph

15405 Commits

Author SHA1 Message Date
asiva@google.com 2d88131bfe Fix prototype of Dart_Initialize.
Review URL: http://codereview.chromium.org//8574075

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1635 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-17 21:59:38 +00:00
regis@google.com 80d89cc93b Fix parsing of factory calls (issue 500).
Add test.
Fix test.
Adjust co19 status file.
Review URL: http://codereview.chromium.org//8591025

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1633 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-17 21:42:55 +00:00
asiva@google.com 804c3c4ace When URL mapping was specified, library loads where not being called for the URLs that were mapped.
Review URL: http://codereview.chromium.org//8588016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1632 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-17 21:26:02 +00:00
asiva@google.com 9f49e2bf74 Implement automatic loading of dart:core_native_fields library
with predefined classes having native fields.
Classes that need native fields in them can import this library and
extend these predefined classes.
Review URL: http://codereview.chromium.org//8537023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1629 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-17 21:04:43 +00:00
asiva@google.com d15e57879e Fix assertion during throwing an exception.
We could be throwing an exception from a stub frame and not have any dart frames at all, just treat the stack trace as empty in this case and go with an unhandled exception.
Review URL: http://codereview.chromium.org//8587041

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1626 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-17 20:53:35 +00:00
hausner@google.com 98ca000f01 Will be used by the debugger to find static calls in Dart code.
Review URL: http://codereview.chromium.org//8588014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1621 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-17 18:53:16 +00:00
iposva@google.com d0ef98bc71 - Allocate instantiated type arguments in new gen.
Review URL: http://codereview.chromium.org//8588027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1605 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-17 08:41:42 +00:00
ager@google.com 7124c5046b Test for immutable Lists in ListSet API methods.
Using the file and socket API it was possible to modify immutable
arrays.

R=sgjesse@google.com,turnidge@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1604 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-17 06:57:39 +00:00
cshapiro@google.com 1309ebd16e Add an external array type to support typed arrays.
Review URL: http://codereview.chromium.org//8429027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1601 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-17 03:18:52 +00:00
regis@google.com 3c64ffe9a3 Support correct factory syntax in the VM as decribed in the spec.
Change the default value of --silent_warnings from true to false, so that
warnings are visible when legacy factory syntax is used.

In order to facilitate transition of libraries and user programs, legacy factory
syntax is still supported by 2 workarounds, but warnings are printed.

The first workaround allows the factory clause to omit the type
parameter list, which otherwise has to match exactly with the list of
type parameters in the factory class declaration.

The second workaround allows a factory method to omit the type
parameter list. In that case, the type parameter list of the enclosing
class is used instead.

Workarounds will be removed to enforce correct factory syntax at a later time.
Review URL: http://codereview.chromium.org//8585004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1595 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-16 23:49:04 +00:00
srdjan@google.com 7397762688 Better tracing of deoptimization (added a reason id and printing of source). Fix a bug with excessive deoptimization for null receiver -- caused by (null).toString().
Review URL: http://codereview.chromium.org//8588002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1593 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-16 23:38:05 +00:00
srdjan@google.com 778e4bf21f Fix integer's % operation; fix parsing of doubles; update co19 tests.
Review URL: http://codereview.chromium.org//8468025

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1589 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-16 22:52:56 +00:00
asiva@google.com ac82be41eb Report an error when Dart_ListGetAsBytes does not get an integer list.
Review URL: http://codereview.chromium.org//8523036

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1585 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-16 21:12:38 +00:00
ager@google.com dbe72d6a24 Fix Windows build.
R=sgjesse@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1574 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-16 15:53:29 +00:00
ager@google.com c4fb2b2f4d Implement setPosition on File to seek to a byte position.
R=sgjesse@google.com
BUG=dart:263
TEST=standalone/FileTest

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1573 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-16 15:50:55 +00:00
turnidge@google.com 548cced243 Provide better error messages when we fail to build the builtin lib.
Review URL: http://codereview.chromium.org//8571020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1554 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-16 00:18:03 +00:00
asiva@google.com aaffbd2561 Support command line parameters to specify a url to file name mapping. This is used during snapshot generation so that a URL is mapped to a physical file name.
Review URL: http://codereview.chromium.org//8439061

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1550 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-15 21:19:27 +00:00
srdjan@google.com 92f177896b Fix throwing ObjectNotClosure instead of null exception if closure is null.
Fix integer compareTo if other is a double NaN.
Fix Expect.stringEqual to accept null as arguments.
Update co19 status file.
Review URL: http://codereview.chromium.org//8528050

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1539 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-15 18:02:12 +00:00
iposva@google.com 0c9902ca67 - Avoid allocating variable length arrays on the stack.
- Fix C++ warning about copying vtables.
- Use correct delete for PortMap entries.
Review URL: http://codereview.chromium.org//8555024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1538 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-15 17:47:21 +00:00
sgjesse@google.com 670196a286 Remove invalid assert
TBR=ager@google.com

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1535 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-15 14:14:16 +00:00
sgjesse@google.com 04bc611751 Handle stdin/stdout/stderr on Windows
Create handle objects for stdin/stdout/stderr. For Mac OS and
Linus the file descriptor numbers are used but on Windows the
handles are wrapped in an object.

The system handles for stdin/stdout/stderr on Windows does not
support overlapped IO. To mittigate this the write calls are
performed synchronously and the read calls are preformed in a
thread which posts the result through the completion potr where
it is handled as if it originated from overlapped IO through the
completion port. For now each call to read starts a new thread.

R=ager@google.com

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1533 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-15 13:19:07 +00:00
sgjesse@google.com a0d0bd8899 Rephrase some comments.
R=whesse@google.com

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1532 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-15 12:41:14 +00:00
cshapiro@google.com cce17823db Wait on the monotonic clock to guard against changes to the system clock.
Review URL: http://codereview.chromium.org//8463032

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1522 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-14 22:25:07 +00:00
srdjan@google.com 22ea3cf225 Fix String.trim implementation (follow spec).
Fix Queue.every, Queue.some, Queue.filter, ..
Adapt co19 status files.
Review URL: http://codereview.chromium.org//8510066

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1521 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-14 22:23:41 +00:00
cshapiro@google.com eccf8cdae6 Use a common subroutine for the snapshot reading and writing of strings.
Review URL: http://codereview.chromium.org//8340017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1517 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-14 18:03:02 +00:00
sgjesse@google.com 5950638350 Better handling of stdin/stdout/stderr
When using stdout/stderr it is no longer necessary to explicitly
close the streams for the program to terminate. The automatic
close is handled by always closing the associated receive port
for write only streams when not waiting for any events. If a
close or error handler is installed for stdout/stderr these will
still keep the program alive.

For stdin better handling of the difference between sockets and
pipes have been immplemented. As a special case for stdin when
reading from a terminal the a POLLIN signal with 0 available
bytes is treated as end-of-file. This will trigger when pressing
ctrl-d in a terminal as POLLHUP is not set in that situation.

R=ager@google.com

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1507 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-14 14:47:58 +00:00
asiva@google.com 5cf3ad018a Changes to pass the current isolate to all runtime and native calls.
Review URL: http://codereview.chromium.org//8528010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1499 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-12 05:55:22 +00:00
cshapiro@google.com 4ad48f74e5 Add methods for creating Bigint objects from unsigned 64-bit integers.
Review URL: http://codereview.chromium.org//8539034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1495 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-12 01:54:18 +00:00
hausner@google.com a17bea5481 More info in disassembled code
Print out first 5 elements of an array object, rather than
just 'Array'. This helps in particular in disassembled
method and stub calls which now print the content of the
IC cache and ArgumentsDescriptor arrays. E.g.:

0x7404a5    ff7508            push [ebp+0x8]
0x7404a8    ff750c            push [ebp+0xc]
0x7404ab    b9012f7000        mov ecx,0x702f01  Array[bitAndFromInteger, 1, null, null]
0x7404b0    bafd050003        mov edx,0x30005fd  Array[2, 2, null]
0x7404b5    e8b6fcffff        call 0x740170  [stub: InlineCache]
0x7404ba    83c408            add esp,0x8
Review URL: http://codereview.chromium.org//8491061

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1493 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-12 00:45:17 +00:00
hausner@google.com 87ba9c00b5 Nix obsolete function prototype
Review URL: http://codereview.chromium.org//8536038

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1488 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-12 00:10:28 +00:00
srdjan@google.com 1ea6e2e0de Stop building blind: report errors with factories and parametrized types.
Enable test. This CL expects the frog/leg changes to be submitted first.
Review URL: http://codereview.chromium.org//8511070

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1479 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-11 22:23:45 +00:00
regis@google.com 8b9ebb3528 Second attempt at finalizing all classes in the VM (fix issue 364).
Review URL: http://codereview.chromium.org//8491055

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1475 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-11 21:38:49 +00:00
turnidge@google.com 8c64adf13e Deal with unhandled exceptions the same way in all Dart api functions.
--

Terminology change: invalid handles are now called error handles.

Unhandled exceptions used to be a kind of valid handle.  Now they are
a kind of error handle.

For the Dart_Invoke* functions, this means that the standard
error-checking blob drops from two tests to one test and is
harder to mess up.

Many other Dart api functions (Dart_ToString, for example) previously
dealt with unhandled exceptions by turning them into terse error
messages.  Now these functions preserve information about the
exceptions and generate better error messages.

Changed Dart_HandleMessage to return success/failure.  It seemed to fit.

--

Details:

Dart_IsValid becomes Dart_IsError (negated sense).

Dart_GetError now knows how to print a stack trace semi-nicely.

Dart_ExceptionOccurred -> Dart_IsUnhandledException.

Renamed ApiFailure class to ApiError to fit better.

ApiError now has a "data" pointer that points to either an error
message string or to an unhandled exception object.

Documentation changes aplenty.
Review URL: http://codereview.chromium.org//8501034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1470 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-11 19:31:04 +00:00
srdjan@google.com 81be68ae18 Giving up on the change to report errors with factories and generic types.
This means that you will continue to have crashes in Debug mode, but you will be able to "run" in Release mode. Best solution is to get rid of generic types in Link until factories and generic types have been fully implemented. Until then we do not know what can happen when running in release mode.

Still trying to figure out how to test frog and leg correctly.
Review URL: http://codereview.chromium.org//8540013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1469 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-11 18:52:53 +00:00
srdjan@google.com 6ff41ed334 Require legacy form of type parameters in factories and report errors if a factory class does not have a required parametrized type (fixes crashes in VM). Fix frog code, however, there are frogs problem with --compileall:
leg/util/link_implementation.dart:38:12: error: wrong number of arguments, expected 0 but found 2
    return new Link<T>(element, this);
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
Review URL: http://codereview.chromium.org//8515024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1464 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-11 17:04:00 +00:00
sgjesse@google.com 38b2b0d5d8 Provide access to stdin, stdout and stderr
R=ager@google.com, iposva@google.com

BUG=dart:402
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1456 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-11 11:45:53 +00:00
asiva@google.com 2d388b751f Cache isolate in the StackTrace object to that we don't call
Isolate::Current in the destructor, HandleScope and Zone.
TBR=iposva (already reviewed change on other client).
Review URL: http://codereview.chromium.org//8523013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1427 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-10 21:08:18 +00:00
turnidge@google.com 309d4efee7 Windows produces different output for __FUNCTION__. Canonicalize.
Review URL: http://codereview.chromium.org//8524006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1423 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-10 19:48:55 +00:00
turnidge@google.com ff7a5f4786 Try __func__ -> __FUNCTION__
Review URL: http://codereview.chromium.org//8515007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1420 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-10 19:34:54 +00:00
srdjan@google.com dcdbc97919 Intrinsify StringBase.isEmpty and inline StringBase.get:length.
Review URL: http://codereview.chromium.org//8526005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1419 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-10 19:33:25 +00:00
turnidge@google.com 43e5bf131b Give up on using va_copy for now and get the build working.
Review URL: http://codereview.chromium.org//8469004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1418 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-10 19:29:02 +00:00
turnidge@google.com bd63578bb4 Include <stdarg.h>
Review URL: http://codereview.chromium.org//8524004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1416 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-10 19:18:25 +00:00
turnidge@google.com 47dff8904d Here's a template for how I plan on doing error-checking on inputs for
dart api functions.

Any comments before I change everything?

Any way I could get away without creating the extra Object handle by
doing sneaky tricks?
Review URL: http://codereview.chromium.org//8507035

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1415 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-10 19:10:53 +00:00
srdjan@google.com da9092146b Implement %= and assign a couple of tests.
Review URL: http://codereview.chromium.org//8509032

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1411 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-10 18:04:42 +00:00
srdjan@google.com af451865ed For instanceof inline check against right hand class id possible and interface String for OneByteString (positive checks only). Improves frog runtime by about 20%. Future work will be based on collecting types and using that data in optimized code. Add tracing of instance of type checks.
Review URL: http://codereview.chromium.org//8508035

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1408 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-10 17:28:11 +00:00
sgjesse@google.com 6efd258f7c Set closed for read state on a socket when indicated by the system
Without setting this state sockets would not always be closed
automatically when the input stream is read to the end and the output
stream is closed.

R=ager@google.com

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1406 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-10 16:35:55 +00:00
regis@google.com a6282231eb Revert r1380 that is breaking frog.
Review URL: http://codereview.chromium.org//8509031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1382 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-10 01:39:06 +00:00
iposva@google.com 1e203b2dc9 - Move the RuntimeOptions implementation into the shared library
code. It has no dependency on the VM.
Review URL: http://codereview.chromium.org//8505043

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1381 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-10 01:28:51 +00:00
regis@google.com 8dd26ba9f6 Finalize all classes (fix issue 364).
Review URL: http://codereview.chromium.org//8506001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1380 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-09 23:33:48 +00:00
srdjan@google.com acbaabe398 Update tests, fix printing of doubles.
Review URL: http://codereview.chromium.org//8505026

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1373 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-09 22:27:43 +00:00