Commit Graph

2395 Commits

Author SHA1 Message Date
lrn@google.com 9f32f0674a Add "contains" method to Collection.
This versions does not implement "contains" on DOM lists.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13806 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-19 06:58:19 +00:00
lrn@google.com ae9664a9cc Revert "Add "contains" method to Collection."
Review URL: https://codereview.chromium.org//11186045

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13769 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-18 10:55:02 +00:00
lrn@google.com c3c2ae61c6 Add "contains" method to Collection.
Also added a Sequence interface to capture things with a length and
integer indexing. List and String implement that interface, and
there is a base skeleton class for collections that are Sequences.

BUG=1030

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13766 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-18 08:48:11 +00:00
lrn@google.com 5a4236c0af Change sort on scalar arrays to take optional comparison function.
TBR=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13720 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-17 08:05:49 +00:00
lrn@google.com cd5be325f8 Make argument of List.sort optional with default Comparable.compare.
BUG=1235

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13718 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-17 07:39:12 +00:00
tball@google.com 2cd8436c5a Changed StackZone and ApiZone to be containers for Zone.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13707 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-16 22:05:40 +00:00
regis@google.com adb534674c Change core lib, dart2js, and more for new optional parameters syntax and semantics (new semantics is not enforced yet).
Review URL: https://codereview.chromium.org//11090016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13684 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-16 16:03:47 +00:00
iposva@google.com 90b7c3f801 Fix bug 5002:
- Add the necessary Dart_EnterScope/Dart_ExitScope calls to
  the mirror native code.
Review URL: https://codereview.chromium.org//11141020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13648 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-15 08:05:02 +00:00
hausner@google.com 1811a6b913 Support for type dynamic in VM
Old name Dynamic is supported, and automatically converted to
lower-case dynamic when parsed.

VM flag --warn_legacy_dynamic prints warnings when Dynamic
is found.
Review URL: https://codereview.chromium.org//11125005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13637 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-12 22:40:24 +00:00
asiva@google.com 1bf642129d - Get rid of RawClosure class and use RawInstance for closures.
- Simplify SetRaw to not require an access to the Current Isolate.
Review URL: https://codereview.chromium.org//11087070

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13581 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-11 20:34:08 +00:00
lrn@google.com fbc14bdfdb Fix bug in ByteArray.subByteArray implementation for omitted length.
If length is omitted, it defaulted to the length of the byte array,
even if the start was greater than zero. It now subtracts the start
from the length to get "the length of the rest of the byte array".

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13522 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-11 08:26:01 +00:00
srdjan@google.com 5158c55cce Trace intrinsified native calls for doubles.
Review URL: https://codereview.chromium.org//11087061

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13494 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-10 20:15:48 +00:00
regis@google.com 06aa06f542 Include method name in NoSuchMethodError.toString().
Review URL: https://codereview.chromium.org//11092014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13382 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-08 23:21:16 +00:00
ager@google.com 70216ab4cd Hide internal details of VM string implementation.
R=lrn@google.com,srdjan@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13352 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-08 13:00:33 +00:00
efortuna@google.com 2262eaa5ed Reapply r13292 WITH a fix to dartc test status for apply_test.dart
Review URL: https://codereview.chromium.org//11035069

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13335 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-05 23:42:27 +00:00
efortuna@google.com 461f7fb95e Revert r13292. This is when the first failure showed up on dartc, but dartc
didn't actually turn red. Investigating why.
Review URL: https://codereview.chromium.org//11081002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13330 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-05 23:05:20 +00:00
tball@google.com 76d7c9b105 Renamed Zone->StackZone, BaseZone->Zone, in preparation for changing isolate->get_zone() to return what was called the BaseZone instead of its wrapper. The GetBaseZone() methods were not renamed, to help the next CL.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13314 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-05 19:52:55 +00:00
lrn@google.com 181dc5d3b4 Add apply method signature to Function class.
This does not include an implementation for any backend. The
current implementation throws a NotImplementedException when
called.

BUG=5419

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13292 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-05 12:57:51 +00:00
regis@google.com 1b8e614d7d Change compile-time errors into dynamic errors in instance creation expression
(issue 3085).
Change compile-time errors into dynamic errors in static getter and setter
calls (issues 3088, 3094).
Fix a crash in flow graph builder for missing static getter (issue 4360).
Add support in VM for NoSuchMethodError.
Remove support in VM for StaticResolutionException.
Add, remove, update related language tests.
Triage related co19 tests.
Review URL: https://codereview.chromium.org//11049038

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13208 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-04 00:15:38 +00:00
ager@google.com 35e073bf80 Minor style and comment fixes from review comments.
R=iposva@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13161 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-03 08:08:34 +00:00
ager@google.com 7ce8d31093 Cleaning up in VM number hierarchy which was exposing a bunch
of implementation details as public methods.

The only remaining thing is that int and double have a pow
method in the VM which is not officially a part of corelib.
Maybe it should be so I have left that out of this change
and maybe we should add it to num and implement in dart2js
too?

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13066 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-01 13:31:18 +00:00
lrn@google.com 6f2cf94aa8 Rename CastException to CastError.
Review URL: https://codereview.chromium.org//10977078

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13009 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-28 12:13:58 +00:00
ager@google.com abee5139e5 Reapply change to hide VM-only List implementation classes.
The performance issue was that I had not updated the method
recognizer.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13003 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-28 11:08:38 +00:00
iposva@google.com b85f604f66 - Implement first class types in the VM.
- Make AbstractType a subclass of Instance and map it and its subclasses
  to private Dart classes in dart:core implementing the Type interface.
- Avoid dispatching through statics in Object if not strictly needed.
Review URL: https://codereview.chromium.org//10979058

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12981 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 21:19:00 +00:00
ager@google.com fe66a0af1a Revert hiding of VM-only coreimpl list implementation types. While I
investigate performance regression (even after fixing constructors
in the intrinsifier).

R=iposva@google.com,srdjan@google.com,fschneider@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12963 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 14:07:56 +00:00
ager@google.com 8e6a2c8345 Hide VM-only coreimpl List implementation types. These should not be
exposed as visible parts of coreimpl.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12952 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 12:37:30 +00:00
lrn@google.com ae0d6fca62 Ensure that hashCode and runtimeType work on null.
BUG=5510

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12948 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 11:38:16 +00:00
ager@google.com 81e81825c9 Make data setter private on GrowableObjectArray.
There is no data setter on Lists. Additionally, this allows to
create buffer overflows.

R=vegorov@google.com,iposva@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12941 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 06:21:07 +00:00
ager@google.com 7977b42215 Update all occurrences of raw strings.
R=hausner@google.com,kasperl@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12893 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-26 06:01:23 +00:00
lrn@google.com a1faa6f135 Change IllegalArgumentException to ArgumentError.
Review URL: https://codereview.chromium.org//10989013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12841 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-25 12:27:52 +00:00
srdjan@google.com 7e0a30ee00 Remove unnecessary throws in growablearray.
Review URL: https://codereview.chromium.org//10987004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12815 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-24 22:37:03 +00:00
kmillikin@google.com c70bcfcfa3 Support constant folding of instructions with constant smi values.
In sparse conditional constant propagation, replace instructions with
constant smi values with their constant value.  Extend the analysis to
understant shift and bitwise binary operations.

R=fschneider@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12778 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-24 13:14:54 +00:00
ager@google.com 02b566ee62 Add documentation to the Object class in the core library.
R=lrn@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12770 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-24 11:07:34 +00:00
iposva@google.com eee4bbc1ef - Add definition of "int hashCode()" to Object.
- Implement hashCode in the VM.
- Mark hashCode as unimplemented in dart2js.
- Update test using the identity hashcode.
Review URL: https://codereview.chromium.org//10956026

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12669 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-21 00:32:58 +00:00
lrn@google.com c0f42d2748 Made removeAt errors consistent between dart2js and VM.
Reneabled test for VM.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12632 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-20 12:52:54 +00:00
lrn@google.com eeeab5f0ad Add list.removeAt method.
Review URL: https://codereview.chromium.org//10970009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12627 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-20 10:50:00 +00:00
kmillikin@google.com 67021511ca Make some static helpers into member functions.
Four helper functions that moved from lib/integers.cc to vm/object.cc so
they could be used during constant folding are more properly member
functions than static functions.

R=srdjan@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12620 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-20 08:38:33 +00:00
ager@google.com e676e88f81 Introduce a VM-only dart:scalarlist library for byte arrays.
Include it in the SDK so users can use it. Create a dummy
implementation and patch file for the library for dart2js so it can be
documented. Johnni, can you think of a nicer way of making
documentation generation work for a VM only library? Also, it seems that
patching kills the documentation comments and they do not show up in
the generated docs.

R=iposva@google.com,johnniwinther@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12616 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-20 07:08:10 +00:00
ahe@google.com 3f1932a563 Handle backslashes and newlines when escaping strings.
Review URL: https://codereview.chromium.org//10943027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12568 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-19 15:43:41 +00:00
ager@google.com 576532edcc Bug cleanup: unify on allowing radices from 2 to 36 in
num.toRadixString. Add test and documentation.

R=lrn@google.com,floitsch@google.com
BUG=dartbug.com/461

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12562 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-19 14:15:39 +00:00
kmillikin@google.com be0492a8a8 Reapply "Initial implementation of sparse conditional constant propagation."
With a fix for compilation on Mac.  GrowableArray is DISALLOW_COPY_AND_ASSIGN,
so we can't create a temporary one to be ignored and have to pass one in to be
ignored.

R=fschneider@google.com,zerny@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12561 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-19 14:10:14 +00:00
kmillikin@google.com 5e449aea52 Revert "Initial implementation of sparse conditional constant propagation."
Revert due to compilation failures on Mac.

TBR=fschneider@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12552 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-19 11:04:36 +00:00
kmillikin@google.com ae9efbfab0 Initial implementation of sparse conditional constant propagation.
Use the results of SCC to eliminate unreachable code.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12549 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-19 10:34:14 +00:00
ahe@google.com d0f3e48063 Work around for bug 4995 to unbreak VM build.
Review URL: https://codereview.chromium.org//10947026

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12541 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-19 09:00:38 +00:00
ahe@google.com 34c503ae73 Don't invoke user-defined code in NoSuchMethodError.toString.
Review URL: https://codereview.chromium.org//10939020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12533 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-19 07:55:50 +00:00
iposva@google.com 820d2b33d5 - Fix the implementation of Random.nextBool() and add test.
Review URL: https://codereview.chromium.org//10919323

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12458 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-17 21:33:39 +00:00
lrn@google.com 26fab5183a Move parseInt parseDouble to int/double classes as a static method.
Remove math dependency from core/coreimpl in dart2js.
The existing Math.parseInt and Math.parseDouble are kept *for now*, but
simply redirect to the static methods.
They will be removed in time (when library code is ready for it).

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12417 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-17 07:25:38 +00:00
cshapiro@google.com ffa3604282 Eliminate the const constructor from the Expando class.
Review URL: https://codereview.chromium.org//10909209

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12354 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-13 21:26:01 +00:00
turnidge@google.com a28d475ff3 Implement more of the mirrors library, primarily stuff to do with types.
Highlights:

- Implement FunctionClassMirror, used to reflect on the class of
  function objects.

- Implement TypeVariableMirror, used to reflect on type variables.

- Implement TypedefMirror, used to reflect on typedefs.

- Implement returnType for MethodMirror

- Implement type for VariableMirror/ParameterMirror

- Added supporting functions to the dart embedding api:
  - Dart_ClassIsTypedef
  - Dart_ClassGetTypedefReferent
  - Dart_ClassIsFunctionClass
  - Dart_ClassGetFunctionClassSignature
  - Dart_FunctionReturnType
  - Dart_FunctionParameterType
  - Dart_VariableType
  - Dart_GetTypeVariableNames
  - Dart_LookupTypeVariable
  - Dart_IsTypeVariable
  - Dart_TypeVariableOwner
  - Dart_TypeVariableUpperBound

Other stuff:

- Fixed bug in Function::NumberOfImplicitParameters for signature
  functions.

- Chnaged the default upper bound for type variables to Object from
  Dynamic.  Discussed this with Gilad and Regis.

- Fixed some smaller problems in mirrors_impl.dart.
Review URL: https://chromiumcodereview.appspot.com//10916252

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12342 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-13 17:47:25 +00:00
iposva@google.com 2f455ce6a4 - Move double and int implementations into dart:core and make them private.
Review URL: https://codereview.chromium.org//10918213

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12330 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-13 14:13:55 +00:00