iposva@google.com
d078d62165
Fix issue 1023:
...
- Throw OutOfMemoryException when allocation fails.
Review URL: http://codereview.chromium.org//9030013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2931 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-04 01:27:57 +00:00
iposva@google.com
7d5e5ec8a2
- Promote objects from new gen to old space if they survived a scavenge.
...
- Properly initialize the tags in intrinsified allocation.
- Check for valid tag bits.
Review URL: http://codereview.chromium.org//9027017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2796 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-23 00:14:05 +00:00
hausner@google.com
44376ee4a5
Retrieve value of local variables in stack frames.
...
Works for stack-based variables. Need more work to distinguish between
stack and context (captured) variables.
Review URL: http://codereview.chromium.org//9019029
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2736 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-22 00:17:15 +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
77dba39e63
Add Double::NewCanonical and Mint::NewCanonical so that it is possible to
...
canonicalize double and mint constants without having to create an object first.
Review URL: http://codereview.chromium.org//8963001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2496 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-16 00:31:33 +00:00
asiva@google.com
79857c7d20
Changes to set up the object tag bits
...
- sets up canonical
- sets up created from a snapshot
Added code to capture the tag bits during snapshot generation.
Review URL: http://codereview.chromium.org//8879063
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2436 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-14 18:09:18 +00:00
srdjan@google.com
46748dc6b1
Allocate double temporaries in old space, because they belong there. Canonicalize more double literals.
...
Review URL: http://codereview.chromium.org//8921012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2351 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-12 18:59:20 +00:00
hausner@google.com
75918306af
First debugger API unit test
...
Add unit test file, expose more debugger functionality in the API.
Review URL: http://codereview.chromium.org//8872049
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2320 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-09 19:29:37 +00:00
regis@google.com
dd32effb72
Adjust index of type parameters at finalization time (fix issue 718).
...
Add test.
Review URL: http://codereview.chromium.org//8872037
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2286 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 23:00:55 +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
srdjan@google.com
f98993384f
Canonicalize TypeArguments.
...
Review URL: http://codereview.chromium.org//8773026
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2133 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-06 17:47:47 +00:00
hausner@google.com
f296131d32
Fix linux build
...
Mac doesn't care when you compare signed and unsigned values it seems...
Review URL: http://codereview.chromium.org//8803025
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2091 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-05 21:40:44 +00:00
srdjan@google.com
d07087ce77
Ongoing renaming of type classes:
...
TypeArguments -> AbstractTypeArguments
TypeArray -> TypeArguments
Review URL: http://codereview.chromium.org//8776020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2002 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-01 23:19:59 +00:00
srdjan@google.com
2ff4d8a207
Address Regis' comments, replace AbstractType with Type where possible.
...
Review URL: http://codereview.chromium.org//8772009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1992 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-01 21:14:48 +00:00
srdjan@google.com
17552e9a3c
Renaming type classes as discussed:
...
Type -> AbstractType
ParameterizedType -> Type
TODO:
TypeArguments -> AbstractTypeArguments
TypeArray -> TypeArguments
Review URL: http://codereview.chromium.org//8761011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1987 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-01 16:54:52 +00:00
srdjan@google.com
fbd0212a89
Better fix for printing (after discussing it with Ivan and Regis)
...
Review URL: http://codereview.chromium.org//8761004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1952 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-30 23:10:39 +00:00
srdjan@google.com
a0371264a9
Fix breakage in printing.
...
Review URL: http://codereview.chromium.org//8761003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1950 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-30 21:55:22 +00:00
srdjan@google.com
0063555050
Use ParametrizedType instead of Type where appropriate. Expand ToCString of type related classes. Do not instantiate abtract classes Type and TypeArguments (e.g., through Type::null());
...
Review URL: http://codereview.chromium.org//8742028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1941 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-30 21:14:22 +00:00
regis@google.com
f43ffceffd
Update function type checking in VM after spec change (issue 444):
...
- the return types must be covariant or contravariant (an earlier version of the
guide specified contravariance only).
- the names of optional parameters must match in the same order (an earlier
version of the spec specified that any subset was allowed, no order required).
Review URL: http://codereview.chromium.org//8664015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1898 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-29 17:00:16 +00:00
regis@google.com
9f230a34c6
Implement type checking of list literals (issue 220).
...
Remove expose_core_impl flag.
Add tests.
Fix tests.
Cleanup type checking of map literals.
Review URL: http://codereview.chromium.org//8676001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1809 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-23 19:34:23 +00:00
regis@google.com
42ac60faf3
null is an instance of Dynamic (fix issue 443).
...
Review URL: http://codereview.chromium.org//8592004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1715 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-21 19:35:53 +00:00
cshapiro@google.com
1cff31c3d0
Implement external strings.
...
External strings refer to character data in memory located outside of
the managed heap. This memory is considered to be owned by the
embedding application. To help with the management of external
memory, the virtual machine allows the embedding application to
register for a "death notice" when an external string object is
garbage collected. A death notice takes the form of a callback
invoked by the garbage collector with the address of the external
memory. Death notices will be implemented in the garbage collector by
future commit.
Review URL: http://codereview.chromium.org//8383029
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1679 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-19 00:33:23 +00:00
asiva@google.com
5e6441a5cd
Change loaded_ flag in RawLibrary to load_state_ in order to register different
...
states of the load process.
This state can then be used to ensure we report errors on duplicate loads.
Review URL: http://codereview.chromium.org//8520030
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1643 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-18 00:09:13 +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
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
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
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
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
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
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
srdjan@google.com
6b6d16a41e
Add type check tracing (--trace_type_checks). Inline type checks with class types that have only Dynamic type arguments (or none) and with List<Dynamic> interface.
...
Review URL: http://codereview.chromium.org//8503034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1372 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-09 21:36:32 +00:00
srdjan@google.com
d052449ae8
Fix issue 5564152 (VM crash): stack at exit of method was incorrect. Smi equality with Mint was calling operator ==, the result was pushed instead of evaluated to either push a boolean object or to jump to a label.
...
Review URL: http://codereview.chromium.org//8451010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1167 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-03 21:45:00 +00:00
regis@google.com
23552a0e14
Perform type canonicalization as part of type finalization.
...
Remove signature type cache from signature classes, since type canonicalization
has the same effect.
Review URL: http://codereview.chromium.org//8437028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1064 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-02 01:40:34 +00:00
srdjan@google.com
4ebee97585
Print Bigints in decimal format.
...
Review URL: http://codereview.chromium.org//8351050
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1058 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-02 00:36:10 +00:00
regis@google.com
4bc0c5eecc
Simplify canonicalization of constants and types.
...
Review URL: http://codereview.chromium.org//8442001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1053 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-01 23:38:09 +00:00
regis@google.com
3125475ef8
Canonicalize types.
...
Review URL: http://codereview.chromium.org//8372041
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1045 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-01 22:00:06 +00:00
srdjan@google.com
24b14c7e53
Fix for bug 5270133 by preventing wrong canonicalization. Fixes problem of sporadic Dart failures when running in checked mode. Fixed wrong tests.
...
Review URL: http://codereview.chromium.org//8432016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@983 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-01 00:12:12 +00:00
asiva@google.com
b94e5d20ad
Enhance the array access API to deal with any objct that implements the list interface.
...
A future change will consider making the growable array a first class VM object so that access to growable array would be more efficient through the API.
Review URL: http://codereview.chromium.org//8417003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@972 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-31 21:08:39 +00:00
regis@google.com
d104e34a9f
Add support for 'Dynamic' type in the VM.
...
Add a test and disable if for dartc.
Review URL: http://codereview.chromium.org//8403005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@862 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-28 00:00:31 +00:00
regis@google.com
1df8ca858e
Rename the VM internal 'var' type to 'Dynamic' type.
...
This change does not implement support for the built-in identifier 'Dynamic'.
Review URL: http://codereview.chromium.org//8403003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@779 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-26 20:58:34 +00:00
regis@google.com
ee7aca7f5b
Fix type tests involving an implicit closure of a non-parameterized class
...
extending a parameterized class.
Add corresponding test.
Disable new test for dartc (filed new issue 5516001).
Review URL: http://codereview.chromium.org//8393033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@771 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-26 19:03:29 +00:00
srdjan@google.com
ffaec5255d
Store IC data instead of array of classes in AST node, so that we can easier access targets and future multi-check IC data.
...
Review URL: http://codereview.chromium.org//8394061
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@770 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-26 18:47:17 +00:00
regis@google.com
57cf4c0e46
Fix issue 235.
...
Add test.
Disable new test for dartc.
Review URL: http://codereview.chromium.org//8394057
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@766 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-26 17:59:55 +00:00
regis@google.com
0b98430a58
Cleanups.
...
Review URL: http://codereview.chromium.org//8390021
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@726 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-25 23:16:16 +00:00
regis@google.com
d03b6815fe
Complete generic closure type checking.
...
Disable a bad test in co19 (issue 5512850).
Replace workaround by permanent fix for issue 5474672.
Review URL: http://codereview.chromium.org//8391007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@713 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-25 20:21:22 +00:00
srdjan@google.com
5f43c05de7
Implement new inline cache. Delete a lot of unused code (most of change).
...
Review URL: http://codereview.chromium.org//8379013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@706 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-25 18:35:49 +00:00
regis@google.com
d2e9c47e77
Fix wrong detection of duplicate definition of function types (issue 187).
...
Duplicate import of a function type alias must be detected, but duplicate
import of a compiler generated canonical function type is necessary for proper
class resolution and is permitted.
Add tests.
Review URL: http://codereview.chromium.org//8375033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@658 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-24 22:31:30 +00:00