John Messerly
5c67ae3bcc
Use trackCacheDependencies for performance speedup
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/2059253003 .
2016-06-13 11:27:03 -07:00
John Messerly
1c0759a60b
DDC changes for Analyzer src/task/strong/info.dart refactor
...
Review CL: https://codereview.chromium.org/2057373003/
2016-06-13 10:37:12 -07:00
Priscilla Lee
5016cbce59
Fixed type error in MapEntry and added keyToStringConfig to display the toString() of a key in a MapEntry preview.
...
BUG=
R=jacobr@google.com
Review URL: https://codereview.chromium.org/2033433007 .
2016-06-08 10:12:53 -07:00
Stephen Adams
68f90ac82b
Refactoring assignment
...
The idea is to have more _emitXXX methods, so that different paths for
the same semantic action (e.g. implicit vs explicit 'this') call the
same _emitXXX method.
This is the first (simplest) step: assignments.
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/2039173005 .
2016-06-07 17:09:46 -07:00
Stephen Adams
e68cee47a1
Handle more boolean conversion cases.
...
We were missing boolean conversion checks on logical operators in a
value context.
TBR=jmesserly@google.com
Review URL: https://codereview.chromium.org/2042883004 .
2016-06-06 19:51:58 -07:00
John Messerly
ec945eed6f
enable compatiblity with 1.18 SDKs
...
fixes #584 , works around analyzer message #583
R=leafp@google.com
Review URL: https://codereview.chromium.org/2048463002 .
2016-06-06 17:29:02 -07:00
John Messerly
0ec17d170f
Fixes #586 - enums should now work in SDK libs
...
R=jacobr@google.com
Review URL: https://codereview.chromium.org/2045783002 .
2016-06-06 16:08:58 -07:00
Stephen Adams
aea2fa1291
Update Symbol.hashCode
...
New dart2js version avoids inefficient String.hashCode
TBR=vsm@google.com
Review URL: https://codereview.chromium.org/2040963005 .
2016-06-06 12:34:59 -07:00
Stephen Adams
5fd923523b
Faster type tests
...
Put type tests (is, as, type assertion) on the types as 'is', 'as' and '_check' methods.
The check
dart.check(x, core.String);
becomes
core.String._check(x);
which is more concise and allows the test to be specialized.
In one scrolling action, 224ms in dart.as and dart.check is replaced by 89ms of checks across the specializations.
R=vsm@google.com
Review URL: https://codereview.chromium.org/2012153002 .
2016-06-03 15:35:42 -07:00
Stephen Adams
6ab35de1cf
Further bitop optimizations
...
- avoid unsigned coercion when result is compared with constant
- avoid unsigned coercion when result is shifted right unsigned
- avoid call when right shift result has bits affected by sign bit masked out
- use values of named constants
R=vsm@google.com
Review URL: https://codereview.chromium.org/1950583002 .
2016-06-03 14:29:07 -07:00
Jacob Richman
fb20c9d6a4
Switch how we track whether trackDdcProfile is set to reduce the performance impact. sra was seeing this call hit 14% usage in the chrome profile.
...
Fill in whitelist call ist and add support for list of whitelists that apply to calls only.
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/2032903003 .
2016-06-02 16:59:33 -07:00
Jacob Richman
61a1d8c9c8
Fix a few cases were obj and name were used instead of $obj and $name. remove ProfileEntry class as sadly defining a class in operations.dart appears to have an ordering issue which causes two tests to fail.
...
Review URL: https://codereview.chromium.org/2035583004 .
2016-06-02 13:07:51 -07:00
Jacob Richman
314bd180a2
Profile dynamic calls.
...
Debug logic
BUG=
patch from issue 2012423005 at patchset 1 (http://crrev.com/2012423005#ps1 )
R=jacobr@google.com , leafp@google.com
Review URL: https://codereview.chromium.org/2024353002 .
2016-06-02 09:59:23 -07:00
Leaf Petersen
59abfdb121
Fix bot, law of the excluded middle still holds
...
TBR=jacobr@google.com
BUG=
Review URL: https://codereview.chromium.org/2037503002 .
2016-06-01 20:58:44 -07:00
Leaf Petersen
de24eea382
Check for extension methods when using whitelist
...
BUG=
R=jacobr@google.com
Review URL: https://codereview.chromium.org/2037473002 .
2016-06-01 20:45:21 -07:00
Leaf Petersen
40c7ac9038
Wire up class hierarchy for recursive inheritance
...
BUG=
R=jacobr@google.com
Review URL: https://codereview.chromium.org/2033543002 .
2016-06-01 19:21:45 -07:00
Leaf Petersen
ae4341cf8a
Make whitelist check per element
...
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/2021553002 .
2016-06-01 13:12:41 -07:00
Stephen Adams
73479a600c
Throw TypeError instead of CastError for type coercions.
...
Added 'tag' type StrongModeError, implemented by all errors that are
specific to strong mode semantics.
Failed casts throw CastError(Implementation) or StrongModeCastError.
Failed type assertions and reified coercions throw TypeError or
StrongModeTypeError.
Triaged some tests. Some pass due to now throwing a TypeError, many
pass for unknown reasons.
R=leafp@google.com
Review URL: https://codereview.chromium.org/2026133002 .
2016-06-01 10:18:17 -07:00
Stephen Adams
562f01e4d1
_visitTest should look through parentheses
...
We were missing using dart.test on expressions like
a && (b || c)
TBR=vsm@google.com
Review URL: https://codereview.chromium.org/2022213002 .
2016-05-31 10:34:28 -07:00
John Messerly
f0517c4deb
Enable strong mode in DDC, fix all warnings/errors
...
R=leafp@google.com
Review URL: https://codereview.chromium.org/2016483002 .
2016-05-26 11:13:32 -07:00
Leaf Petersen
834c1bf764
Angular template workarounds
...
BUG=
R=jacobr@google.com
Review URL: https://codereview.chromium.org/2015753002 .
2016-05-25 22:43:59 -07:00
Leaf Petersen
70698bacf0
Short circuit for 'as dynamic'
...
BUG=
R=jacobr@google.com
Review URL: https://codereview.chromium.org/2007423003 .
2016-05-25 21:44:34 -07:00
Stephen Adams
a7174ce8c2
Tweak _checkPrimitiveType
...
V8 does better with typeof x == 'string'
TBR=vsm@google.com
Review URL: https://codereview.chromium.org/2015513005 .
2016-05-25 20:23:43 -07:00
Stephen Adams
d094888eec
Use factory constructor for list literals
...
The list literal `<int>[1, 2, 3]` was
dart.list([1, 2, 3], core.int)
now becomes
JSArrayOfInt().of([1, 2, 3])
R=leafp@google.com
Review URL: https://codereview.chromium.org/2006443002 .
2016-05-25 17:40:46 -07:00
Stephen Adams
cb1cafcaff
More consistent order of type caches
...
R=leafp@google.com
BUG=
Review URL: https://codereview.chromium.org/2002153006 .
2016-05-25 17:29:14 -07:00
Alan Knight
451478b208
Add types for valueFromDecomposedDate
...
BUG=
R=sra@google.com
Review URL: https://codereview.chromium.org/2010873002 .
2016-05-25 16:09:36 -07:00
Leaf Petersen
3e9ed11db6
Name and hoist types
...
Adds infrastructure for naming and hoisting types in various ways. Makes an initial cut at how to slice the naming, but we will want to adjust.
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1988023008 .
2016-05-25 11:07:38 -07:00
Jacob Richman
d4dd53ede6
Add generic types to Sort and Comparable. Fix crasher bug in codegen.
...
BUG=
R=leafp@google.com
Review URL: https://codereview.chromium.org/2011973002 .
2016-05-25 10:42:23 -07:00
Alan Knight
fb363715f3
Add a type on lazyAsJsDate
...
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/2010693002 .
2016-05-24 17:35:10 -07:00
Stephen Adams
c74d092ba2
Name loader functions.
...
This helps when looking at profiles.
R=vsm@google.com
Review URL: https://codereview.chromium.org/2006353002 .
2016-05-24 13:28:17 -07:00
Vijay Menon
10dc45de2d
Disable mirrors metadata gen by default
...
This is not used by most apps.
R=het@google.com
Review URL: https://codereview.chromium.org/2000243002 .
2016-05-23 10:52:27 -07:00
John Messerly
17298f330d
upgrade to Analyzer with speed improvements
...
Review URL: https://codereview.chromium.org/2003073002 .
2016-05-23 09:48:05 -07:00
John Messerly
e3836901c3
Make DateTime use in the SDK typed
...
R=leafp@google.com
Review URL: https://codereview.chromium.org/2004463004 .
2016-05-23 09:17:03 -07:00
Leaf Petersen
e6e5635a83
Optimize const construction
...
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1998113004 .
2016-05-20 17:53:28 -07:00
John Messerly
1e0295d4a5
fix performance of setType
...
it was mutating the class (e.g. JSArray<int>) every time an instance was constructed (!)
R=leafp@google.com
Review URL: https://codereview.chromium.org/1999273002 .
2016-05-20 17:46:13 -07:00
John Messerly
31e9d9983d
Simplify ordering of top-level declarations.
...
We had some leftover complexity that could be refactored away. This doesn't fix anything yet, but simplifying the foundation may help with recursive generic types. Removes "customEmitDeclaration" too.
R=vsm@google.com
Review URL: https://codereview.chromium.org/1992373002 .
2016-05-20 12:32:46 -07:00
Jacob Richman
41bac633e1
Fix debugger
...
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/1997473007 .
2016-05-20 11:11:43 -07:00
Leaf Petersen
2e5e9fea63
Flatten _Future at runtime as well
...
Fixes #551
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/1998843002 .
2016-05-19 15:33:32 -07:00
John Messerly
f950e422b8
fix #577 - correctly toString ES Symbols
...
R=sra@google.com
Review URL: https://codereview.chromium.org/1993293002 .
2016-05-19 12:33:06 -07:00
Stephen Adams
ed77841603
Better boolean conversion tests.
...
- Same errors as VM & Dartium
- Failed assertion: boolean expression must not be null
- type 'int' is not a subtype of type 'bool' in boolean expression
- All boolean conversion contexts use the same logic
- No false positives from combining null and as-bool checks in other contexts
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1993023003 .
2016-05-19 12:04:59 -07:00
Harry Terkelsen
e105544411
implement top-level JS annotated getters
...
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1993813003 .
2016-05-19 11:10:24 -07:00
Sigmund Cherem
73a7eb71ac
Support @JS with path expressions.
...
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/1998473002 .
2016-05-19 09:23:32 -07:00
Bob Nystrom
f7ffb1a9c4
Check in a lockfile.
...
This should ensure we all use the same versions of dev_compiler's deps
when we hack on it.
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1988213003 .
2016-05-18 16:51:16 -07:00
Leaf Petersen
220553b7e7
Future flattening at runtime.
...
This implements basic one-level future flattening of the runtime
types.
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1997473002 .
2016-05-18 15:47:26 -07:00
Stephen Adams
0235eba4b9
Updates to collection_patch.dart
...
BUG=
R=leafp@google.com
Review URL: https://codereview.chromium.org/1987043002 .
2016-05-18 15:10:40 -07:00
Bob Nystrom
1e5b3af2e0
Move generated files to gen/.
...
- The generated SDK goes into gen/patched_sdk.
- Expanded multitests go into gen/codegen_tests.
- Compiled tests go into gen/codegen_output.
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1988503002 .
2016-05-18 13:48:10 -07:00
Stephen Adams
4cf7ee3332
Use _extensionType for detecting prototype inheritance.
...
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1988683004 .
2016-05-18 11:14:26 -07:00
Jacob MacDonald
e18b291acd
fix worker mode memory leak ( #575 )
2016-05-18 10:59:14 -07:00
Stephen Adams
5ed8b5ecab
Misc doc-only updatee, rerun build_sdk.
...
TBR=vsm@google.com
Review URL: https://codereview.chromium.org/1994473002 .
2016-05-17 20:51:53 -07:00
Stephen Adams
69d11e8df8
Misc updates (mostly doc)
...
TBR=vsm@google.com
Review URL: https://codereview.chromium.org/1987963003 .
2016-05-17 20:27:23 -07:00