Commit Graph

13143 Commits

Author SHA1 Message Date
srdjan@google.com 09d1bbde1a Use fingerprint to detect changes in methods that are intrinsified.
Make sure that the fingerprints are portable across 32 and 64 bit platforms.
Review URL: https://codereview.chromium.org//11421024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15217 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-21 19:15:54 +00:00
hausner@google.com 65bf9cbb2a Remove abstract from class members in dart libraries
Add VM flag to produce compile error for explicitly
defined abstract class members.
Review URL: https://codereview.chromium.org//11299121

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15210 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-21 17:23:35 +00:00
ager@google.com 28775e1c98 Intrinsify ExternalUint8Array.[].
This helps the HTTP parser quite a bit. I was playing around with
it and thought I might as well upload it for review. Feel free
to take over the changelist if I'm doing this wrong. In that
case you should see this as a request for intrinsification of
ExternalUint8Arrays. :-)

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15200 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-21 15:35:15 +00:00
cshapiro@google.com d8a8d10b58 Resolve C++11 narrowing conversion errors when compiling with GCC 4.7.
BUG=4495

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15189 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-21 01:05:52 +00:00
cshapiro@google.com 979571d3ee Use a signed 32-bit integer for representing code points.
Review URL: https://codereview.chromium.org//11419086

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15188 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-21 00:30:27 +00:00
cshapiro@google.com 1548e5b934 Use the code point iterator in equality comparisons to C strings.
Review URL: https://codereview.chromium.org//11418095

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15185 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-20 23:46:05 +00:00
srdjan@google.com 0cc2b949d8 Add source fingerprint computation to function. Will be used to detect unexpected changes of functions in internal library (e.g, the ones used for intrinsification)
Review URL: https://codereview.chromium.org//11416120

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15182 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-20 23:00:32 +00:00
regis@google.com d529fe1eea Address review comments of https://codereview.chromium.org/11299020/
Review URL: https://codereview.chromium.org//11418098

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15178 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-20 19:55:05 +00:00
cshapiro@google.com 84aee71eca Use the Equals method for C strings when comparing against C strings.
Review URL: https://codereview.chromium.org//11416094

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15166 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-20 18:08:17 +00:00
johnmccutchan@google.com 92d6c1e317 Add support for XMM8..XMM15
Review URL: https://codereview.chromium.org//11358262

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15162 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-20 17:37:07 +00:00
erikcorry@google.com 84da84c22d Revert "Add some support for the code-point code-unit distinction."
This reverts commit r15150

R=karlklose@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15152 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-20 15:23:41 +00:00
erikcorry@google.com 547cbf9da6 Add some support for the code-point code-unit distinction.
Adds String.fromCodeUnits and String.codeUnitAt, and modifies
String.fromCodePoints and String.codePointAt to actually use code points.
Fixes String.charCodes to use code points and adds String.codeUnits.
Reenables some tests, and adds new ones for non-BMP characters.
Fixes issues 6418, 6501 and 1357.

R=floitsch@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15150 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-20 14:51:25 +00:00
lrn@google.com 22309b260c Remove NullPointerException.
Accessing non-existing members on null now throws NoSuchMethodError.
Throwing a null value fails by throwing a NullThrownError.
Methods checking for null now generally throw new ArgumentError(null).

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15136 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-20 09:21:52 +00:00
cshapiro@google.com bad7873c6a Correct a misnomer regarding supplementary code points.
The supplementary multilingual plane (SMP) code points were assumed to
be equivalent supplementary code points.  In fact, smp code points are
a small subset of all supplementary code points.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15128 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-20 02:37:21 +00:00
srdjan@google.com 637c7a8b1f Remove loading of function object in static calls.
Review URL: https://codereview.chromium.org//11419073

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15126 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-20 00:04:08 +00:00
hausner@google.com f116c93cf9 Proper reporting of illegal characters in source code
Fixes bug 6778.
Review URL: https://codereview.chromium.org//11417074

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15122 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 23:46:23 +00:00
hausner@google.com a6fe1b05cc Fix bug 6713
Ensure that we find the correct closure type class when re-parsing
a nested function or closure.
Review URL: https://codereview.chromium.org//11420066

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15113 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 21:34:53 +00:00
cshapiro@google.com 26a4c5ae66 Provide a code point iterator to the String class to simplify iteration.
Review URL: https://codereview.chromium.org//11416054

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15109 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 20:57:14 +00:00
srdjan@google.com 7c6a68f2a4 Simplify CodePatcher::GetStaticCallAt.
Review URL: https://codereview.chromium.org//11411072

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15101 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 19:17:02 +00:00
srdjan@google.com a6dae8cd4a First part of static call cleanup: store static call targets into code object, referenced by code-offset.
Review URL: https://codereview.chromium.org//11418046

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15091 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 16:39:07 +00:00
fschneider@google.com ecda9dd804 Add one-char string table for faster String.charAt to the VM.
This is used for a fast lookup when executing String.charAt.
Currently it is only used in the C-runtime, but the plan is to
generate optimized code for the table lookup for speeding up
String.charAt.
Review URL: https://codereview.chromium.org//11369259

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15088 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 16:06:19 +00:00
sgjesse@google.com 2411e399ad Always zero-initialize array used for mapping VM symbols to Dart_CObject
NULL pointer checks are used to check for valid entries.

TBR=ager@google.com

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15086 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 14:58:26 +00:00
sgjesse@google.com d1076bd12b Deserialize same symbol as same Dart_CObject
When symbols are deserialized as part of a Dart_CObject the same
symbols are now turned into the same Dart_CObject objects.

R=ager@google.com

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15082 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 14:02:25 +00:00
lrn@google.com 0c8dce77f1 Revert "Remove NullPointerException."
Crashes in the x64 VM.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15065 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 09:59:59 +00:00
lrn@google.com e211c2f0ee Remove NullPointerException.
Accessing non-existing members on null now throws NoSuchMethodError.
Throwing a null value fails by throwing a NullThrownError.
Methods checking for null now generally throw new ArgumentError(null).

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15061 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 08:51:49 +00:00
iposva@google.com 332bfdc7d6 - Remove obsolete random number generator from the VM code.
Review URL: https://codereview.chromium.org//11417049

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15058 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 06:12:32 +00:00
asiva@google.com 58be6c9a96 Change the library directive syntax in the VM unit tests,
to the new format.
Review URL: https://codereview.chromium.org//11412048

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15048 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-17 01:48:45 +00:00
iposva@google.com 7ae807a19c - Move MathNatives from dart:core to dart:math.
- Split out double and integer parsing from MathNatives.
Review URL: https://codereview.chromium.org//11316031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15032 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-16 19:42:02 +00:00
regis@google.com 01a31275bd Make creation of list literal more resilient to changes in the underlying
dart implementation of List in the core library.
Do the same for map literal creation.
Review URL: https://codereview.chromium.org//11299020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14997 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-16 01:31:15 +00:00
hausner@google.com f9ab2fdf78 Disallow const native factories
We removed the only user of const native factory methods, so remove
the hack in the VM.

Issue 6662.
Review URL: https://codereview.chromium.org//11414019

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14993 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-16 00:57:09 +00:00
asiva@google.com e1adedb421 Revert OneByteString back to ISO Latin-1 instead of ASCII
as webkit supports ISO Latin-1 and UTF-16 encodings for strings.
Review URL: https://codereview.chromium.org//11365243

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14989 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-16 00:13:18 +00:00
asiva@google.com 271a1f96ae - Add functionality to morph a string into an external string
- Add Dart API call Dart_MakeExternalString
Review URL: https://codereview.chromium.org//11360114

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14978 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-15 21:37:26 +00:00
ager@google.com 7d834933c3 Don't copy Int8Arrays when passing them in as lists of bytes and don't
call from C to Dart to get the values either.

Just copying the values over as is will behave the same as it does
now and will be a lot faster.

R=sgjesse@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14951 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-15 11:03:02 +00:00
iposva@google.com a5917a585b - Make sure to add predefined symbols into the current symbol table after growth.
Review URL: https://codereview.chromium.org//11308032

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14948 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-15 09:15:14 +00:00
sgjesse@google.com a64fd270bd Address comments to r14887
TBR=iposva@google.com

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14943 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-15 08:16:27 +00:00
asiva@google.com 67e8d8e460 Fix build failure on linux.
Review URL: https://codereview.chromium.org//11366257

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14939 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-15 01:51:50 +00:00
srdjan@google.com 99ff4cef45 Address Florian's comments: use restricted lazy deoptimization, fix typo.
Review URL: https://codereview.chromium.org//11364245

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14938 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-15 01:36:04 +00:00
hausner@google.com 7eb3efc2ba Fix native argument handling
Native functions need to fetch arguments differently if they are
called through a closure.

fixes issue 6696.
Review URL: https://codereview.chromium.org//11293290

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14937 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-15 01:14:01 +00:00
asiva@google.com bb1039f8be Do not try to write ContextScope into a snapshot.
(partially addresses issue 6358).
Review URL: https://codereview.chromium.org//11275336

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14936 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-15 01:14:07 +00:00
cshapiro@google.com b477e4dec2 Fail new space promotions only when old space is truly exhausted.
Review URL: https://codereview.chromium.org//11363226

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14935 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-15 01:05:48 +00:00
srdjan@google.com fc4f5c093d Upon script loading deoptimize only functions whose owener has been subclassed, as that is the only CHA optimizations being applied to the code at the moment.
Review URL: https://codereview.chromium.org//11365273

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14934 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-15 00:41:53 +00:00
asiva@google.com 4027860e52 Throw illegal argument exception when
- objects which extend NativeWrapper are passed in isolate messages
- closure objects are passed in isolate messages
(issues 6108, 6312)
Review URL: https://codereview.chromium.org//11293163

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14926 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-14 23:14:41 +00:00
regis@google.com 8af5f5e418 Fix result type checking of redirecting factory in checked mode (issue 6596).
Review URL: https://codereview.chromium.org//11404004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14916 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-14 19:56:39 +00:00
regis@google.com 1d760bc36b Never compile a redirecting factory (issue 6697).
Review URL: https://codereview.chromium.org//11377164

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14905 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-14 17:33:50 +00:00
sgjesse@google.com cde0bb06dd Add support for non ASCII strings when communicating with native ports
The string representation in a Dart_CObject strructure is now
UTF8. All strings read are now converted to UTF8 from either ASCII or
UTF16 serialization. All strings posted should be valid UTF8 and are
serialized as either ASCII or UTF16 depending on the content.

Proper andling of surrogate pairs is missing, but will be added when
https://codereview.chromium.org/11368138/ lands.

R=ager@google.com, erikcorry@google.com, asiva@google.com

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14887 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-14 13:01:57 +00:00
regis@google.com 02a8df0c83 Remove private class helping the parser to construct literal lists and maps.
Patch List and Map (implementation) classes with literal factories.
Review URL: https://codereview.chromium.org//11369234

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14873 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-14 04:28:02 +00:00
fschneider@google.com 59a1f747f4 Enable inlining of functions containing instance-of.
The corresponding issues have been fixed and all tests pass now.

BUG=dart:5216,dart:5217
Review URL: https://codereview.chromium.org//11369230

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14872 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-13 23:45:23 +00:00
srdjan@google.com 439110bf48 Move lazy deoptimization of all optimized code from top level parsing to end of class finalization (after installing new classes, and --use_cha, we need to invalidate some optimzied code)
Review URL: https://codereview.chromium.org//11370008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14871 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-13 23:31:07 +00:00
vegorov@google.com b38ad8f4fb Count per check hits in ICData.
R=srdjan@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14870 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-13 23:21:02 +00:00
regis@google.com ebc3402925 Create symbols for string constants.
Review URL: https://codereview.chromium.org//11360231

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14866 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-13 21:05:55 +00:00