johnmccutchan@google.com
727d29d6b6
Refactor VM service IDs:
...
- IDs are strings which can be concatenated together like paths.
- Isolate ID is now "/isolates/XXX"
- Function, field, class, library, and script IDs are now stable.
- Introduce <type-ref> tags.
R=turnidge@google.com
Review URL: https://codereview.chromium.org//98253009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31358 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 22:35:55 +00:00
turnidge@google.com
383468782e
Keep track of current "pause" event in the debugger.
...
This will allow us (later) to make nice descriptions of the state of
an isolate, e.g. "isolate 7112 is paused due to breakpoint 2" or
"isolate 7112 is paused due to interrupt" or "isolate 7112 is
running".
Use a new Pause() function to call the event handler during a pause.
It does some shared checking, setup, teardown.
Minor change in isolate interrupt handling - before we were not
setting 'in_event_handler_' in this case. Now we set 'pause_event_'
here, which will guard against recursive pauses in this case.
Reviewer: not sure what I think about all the names I used here.
"pause_event_" is very similar to PausedEvent but means something
different, as it includes pauses, interrupts, and (maybe) exceptions.
Dunno.
R=hausner@google.com
Review URL: https://codereview.chromium.org//118603002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31356 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 22:30:23 +00:00
srdjan@google.com
cd92319223
Optimize string length one comparisons by comparing char codes only. Implemented for one byte strings only at the moment. Will add other string types/mixed compares later.
...
R=fschneider@google.com
Review URL: https://codereview.chromium.org//105143011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31347 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 20:11:38 +00:00
zra@google.com
3508d336dd
Simplifies standalone VM Android build.
...
This change also avoids the need to
do another 'gclient runhooks' when switching
between Android and Linux builds, and between
IA32 and ARM Android builds.
gyp does not allow 'libraries' sections inside of
configurations. Therefore, since some architecture
specific paths, libraries, etc. must be specified
on the Android NDK's linker command line, to avoid
re-gyping when switching between Android IA32 and ARM,
this change moves the architecture specific linker
flags to a script, android_link.py.
To avoid re-gyping when swtiching between Linux and
Android, this change creates new configurations
that specify the target OS as well as the the target
architecture, e.g. ReleaseLinuxARM or ReleaseAndroidARM
instead of ReleaseARM.
This change also adds a --toolchain flag to build.py,
and removes obsoleted logic for setting up the Android
build.
R=iposva@google.com
Review URL: https://codereview.chromium.org//105223002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31340 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 17:51:34 +00:00
regis@google.com
3bdeaf9813
Add missing ResolveType call (fix issue 15738).
...
Remove unused parameter from ResolveType.
Review URL: https://codereview.chromium.org//113163008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31336 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 14:26:53 +00:00
fschneider@google.com
e994d8b697
Revert r31326.
...
TBR=johnmccutchan@google.com ,
Review URL: https://codereview.chromium.org//118133004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31332 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 12:21:09 +00:00
fschneider@google.com
fe726e1971
Use parallel move resolver for optimized try-catch.
...
This CL has no change in functionality and is purely clean up and
refactoring. Instead of manually generating the moves at throwing
instructions in try-catch, construct a parallel move and use the resolver
to emit the native code. This eliminates a lot of duplicated code
from all platforms.
It will also allow to re-use stack space that is currently allocated
separately for each individual try-catch in a function.
I added a few more unrelated minor changes in various parts of the VM
* Simpilify guard code generation
* Resolve refactoring TODO in deoptimization
* Improve names
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//119213002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31326 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 09:41:42 +00:00
regis@google.com
b5a2dea566
Convert InstantiatedTypeArguments to TypeArguments upon canonicalization.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//106793007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31325 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 09:20:55 +00:00
fschneider@google.com
21d0b251e0
Update double unboxing heuristic.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//119103002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31324 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 09:18:40 +00:00
asiva@google.com
491035987f
Change Dart_GetNativeBooleanArgument to use class Ids and direct
...
pointer comparision of the singleton objects to determine value.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//113763004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31311 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 00:15:13 +00:00
asiva@google.com
a576fec3c0
Allow the native resolver to setup whether it needs the Dart API scope to
...
be setup automatically or not when a native function is invoked.
This would allow the embedder to treat some native functions as leaf
functions whose invocation can be very light.
R=hausner@google.com , zra@google.com
Review URL: https://codereview.chromium.org//117723002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31286 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 17:47:56 +00:00
johnmccutchan@google.com
50ef680923
Bucket unknown symbols by PC and demangle native symbols
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//100133004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31247 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 00:29:51 +00:00
johnmccutchan@google.com
397a9a56e5
Add flag to control profiler rate
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//118673002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31244 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 23:11:20 +00:00
iposva@google.com
bceaf4b1eb
- Promote objects early when a large percentage is being
...
copied during a scavenge.
R=zra@google.com
Review URL: https://codereview.chromium.org//98693010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31238 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 20:52:35 +00:00
turnidge@google.com
b640712e6b
Handle vmservice messages while at breakpoint.
...
Allow rudimentary inspection of breakpoints from vmservice.
R=hausner@google.com , johnmccutchan@google.com
Review URL: https://codereview.chromium.org//113513004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31233 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 17:45:17 +00:00
srdjan@google.com
761d4d04cd
Constant propagation in LoadIndexed when inputs are array/string and index constants.
...
R=fschneider@google.com , johnmccutchan@google.com
Review URL: https://codereview.chromium.org//102973007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31230 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 16:55:12 +00:00
fschneider@google.com
f7149b05c8
Fix bug in double unboxing.
...
The state bit that record if a field is unboxed or not has to be checked
in unoptimized code as well, since that code does not change when deoptimizing.
I also compacted the kind_bits bit field in the Field class to start from bit 0.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//106623006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31229 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 15:46:39 +00:00
fschneider@google.com
16098ce25a
Fix invalid aliasing in type propagation of AssertAssignable.
...
We have to create a copy when computing the initial type for AssertAssignable
instead of using the CompileType of the input operand. Aliasing can cause
invalid elimination of checks after strengthening of asserts.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//102283004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31227 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 15:30:07 +00:00
zra@google.com
aa4c080b5c
Adds CPU message type to vm service.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//98253007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31209 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 22:22:12 +00:00
asiva@google.com
64a261fbbd
Changes to interpret the optimizable bit based on whether the function
...
is native or not.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//101753005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31207 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 22:07:41 +00:00
iposva@google.com
1e8061f060
- Remove the reply_port from the VM internal message object.
...
- Adjust all the uses of this API.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//93873015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31205 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 21:11:18 +00:00
rmacnak@google.com
7809fb4276
Remove dead isLocalPort from the VM mirrors implementation.
...
Review URL: https://codereview.chromium.org//115153007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31199 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 18:02:14 +00:00
iposva@google.com
f39a3dc75f
- Use named constant kNullable instead of true.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//105403008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31198 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 17:42:26 +00:00
zra@google.com
2d5603c93b
Fixes Unimplemented crasher on MIPS.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//108533005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31197 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 17:34:09 +00:00
iposva@google.com
e100129f8e
- Use canonicalized type of non-parameterized classes when
...
available.
- Do not attempt to make types for objects of Context.
R=fschneider@google.com , regis@google.com
Review URL: https://codereview.chromium.org//102053010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31194 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 16:59:14 +00:00
johnmccutchan@google.com
a961710bfa
Fix signed unsigned comparison error
...
BUG=
Review URL: https://codereview.chromium.org//98333008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31193 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 16:57:18 +00:00
johnmccutchan@google.com
dc217a8aa0
Fix crash walking call stack on Linux.
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//116703003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31192 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 16:48:55 +00:00
johnmccutchan@google.com
4a65b869d0
Only interrupt thread don't record sample. Narrowing in on flaky crash on Linux.
...
TBR
Review URL: https://codereview.chromium.org//113133010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31175 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 22:35:55 +00:00
johnmccutchan@google.com
cd10e1cc75
Remove reference to ucontext_t until other Signal related functions on Android are implemented.
...
Review URL: https://codereview.chromium.org//103403007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31173 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 20:54:19 +00:00
srdjan@google.com
92e7e69b46
The name of InternalError class has changed to _InternalError.
...
Review URL: https://codereview.chromium.org//102763003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31172 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 20:05:00 +00:00
johnmccutchan@google.com
dafc13d57f
Add missing include file for Android build
...
Review URL: https://codereview.chromium.org//116013003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31171 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 19:54:46 +00:00
johnmccutchan@google.com
919dc2d6eb
* Introduce ThreadInterrupter which calls a TLS set callback when thread is interrupted.
...
* Threads can only register and unregister themselves with ThreadInterrupter.
* Profiler is no longer involved in interrupting threads. It's just a callback and the buffer.
* Profiler operates lock free using an atomic operation to reserve sample in sample buffer.
* Linux, Mac, and Windows done.
R=asiva@google.com
Review URL: https://codereview.chromium.org//109803002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31170 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 18:52:15 +00:00
fschneider@google.com
6abd6e326e
Add mutable double boxes for fields.
...
This allows the optimizing compiler to generate unboxed loads/stores
to fields containing double values. The double value is stored
in a reusable double object.
Unboxed loads/stores are generated for optimized code. Unoptimized code
allocates a new double on loads. To avoid performance regressions
for fields that are only written few times (e.g. only in the constructor)
I put a heuristic in place that
compares the usage count of setters and getters. Unboxed operations
are only generated if the setter is invoked a significant amount of
times (threshold is 10% of getter invocations).
The CL is so big because it changes the way LocationSummmary
is allocated: We now have a bit to generate different summaries
for optimized and unoptimized code.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//99573005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31164 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 15:11:31 +00:00
ajohnsen@google.com
7d4e2f9ac8
Alternative Timer implementation using simply list-based priority heap.
...
The current implementation is not memory-optimized yet, to make it
easier to review.
BUG=
R=fschneider@google.com , lrn@google.com , sgjesse@google.com
Committed: https://code.google.com/p/dart/source/detail?r=31132
Review URL: https://codereview.chromium.org//99203010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31158 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 12:56:37 +00:00
turnidge@google.com
365cde2ecb
Add GrowableObjectArray::ToUserCString().
...
Prints a decent representation of a list, subject to length
constraints. Prints the length of the list if it is truncated.
e.g.
[]
[1,2,3]
["0123456789",...](length:4)
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//100603011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31144 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-13 19:36:40 +00:00
rmacnak@google.com
e5d7ada6e9
VM: Support calling through getters in InstanceMirror.delegate.
...
Implement without accessing private members of dart:core. Fix language test expecting wrong return value.
BUG=http://dartbug.com/15138
R=fschneider@google.com
Review URL: https://codereview.chromium.org//114713002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31140 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-13 18:33:45 +00:00
srdjan@google.com
98a1355ef9
Restoring the remaining CL 104893003. For instance call representing numerical comparisons and binary operations (double and Smi supported for now) that were never visited before optimization occurs, we guess the cids if one of the argument cids is known, e.g. ‘a == 1’ we guess that a is also going to be 1 thus avoiding emitting an IC-call in optimized code and propagating the type accordingly.
...
Remove AssertAssignableInstr::RecomputeType as it may cause incorrect behavior: it changes the type of its value based on input, the graph below will then incorrectly remove CheckSmi.
v27 <- BinaryMintOp:14(..
v28 <- AssertAssignable(v27)
CheckSmi(v28)
v17 <- BinarySmiOp:86(+, v28, v12)
R=fschneider@google.com
Review URL: https://codereview.chromium.org//114543004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31137 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-13 17:15:05 +00:00
floitsch@google.com
0c8ac24661
Isolate.spawn{Uri} only reports errors asynchronously.
...
It is generally considered bad style to throw synchronous and asynchronous errors. This CL catches all synchronous errors and reports them in the asynchronous future that is returned.
R=iposva@google.com , lrn@google.com
Review URL: https://codereview.chromium.org//88783002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31131 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-13 13:05:28 +00:00
turnidge@google.com
7781fd4759
Remove old stack-walking code. The new code seems to be doing fine.
...
R=hausner@google.com
Review URL: https://codereview.chromium.org//113953003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31111 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-12 21:33:25 +00:00
regis@google.com
fb6d24945f
Introduce class TypeRef in the VM to fully support recursive types.
...
Fix issues 15244, 15148, 14869, 14000, and 13688 (was closed, but fragile).
Note that the current solution is not final as it may not be correct in more
complex cases not yet covered by language tests.
The final solution will require a 'trail' instead of a simple mark bit to
prevent operations involving recursive types to diverge.
R=asiva@google.com
Review URL: https://codereview.chromium.org//103913005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31087 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-11 22:51:19 +00:00
srdjan@google.com
d1485f3058
Some cleanups, fixes. Parts of the cid guessing CL that was revrted.
...
R=fschneider@google.com
Review URL: https://codereview.chromium.org//112243002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31085 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-11 22:25:38 +00:00
turnidge@google.com
21b867f851
Add an instance view page to the vmservice.
...
We can use this view to browse the field values of objects and explore
the heap a bit.
----------
Add field lists to the class and instance view pages.
Add field-ref and instance-ref elements.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//110703002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31074 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-11 18:03:42 +00:00
srdjan@google.com
92c6188860
Revert r31036, because of bit redness.
...
Review URL: https://codereview.chromium.org//101373006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31039 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-10 21:16:02 +00:00
srdjan@google.com
07775d340e
For instance call representing numerical comparisons and binary operations (double and Smi supported for now) that were never visited before optimization occurs, we guess the cids if one of the argument cids is known, e.g. ‘a == 1’ we guess that a is also going to be 1 thus avoiding emitting an IC-call in optimized code and propagating the type accordingly.
...
R=fschneider@google.com
Review URL: https://codereview.chromium.org//104893003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31036 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-10 19:09:44 +00:00
hausner@google.com
55c283a672
Transmit breakpoint id on paused event
...
Breakpoint callback get an additional parameter to receive the id of the breakpoint that was hit, or 0 if the debugger pauses due to stepping.
R=turnidge@google.com
Review URL: https://codereview.chromium.org//110913002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31029 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-10 17:41:05 +00:00
zra@google.com
3fd0e585d3
Fixes bug in far branches on MIPS.
...
Also increases test coverage of far branches on
ARM and MIPS.
R=regis@google.com
Review URL: https://codereview.chromium.org//107293008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31024 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-10 16:43:06 +00:00
fschneider@google.com
be4ffc62d6
VM: Generalize using propagated cids for to >1 arguments.
...
When ic-data are missing (optimized code that was not executed yet),
the compiler tries to fill in information calculated with type propagation.
The approach was only used for calls with 1 tested argument. This
enables it for all calls where we want to use propagated type
information if ic-data are missing.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//110703004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31020 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-10 15:23:14 +00:00
turnidge@google.com
29b080a4b1
Add Instance::ToUserCString.
...
-----
Often ToCString returns a representation which would be weighty or
unsightly to users. Instance::ToUserCString tries to return a
representation that will be more familiar to end users.
ToUserCString will be used in the vmservice to produce interesting
instance preview strings w/o calling toString. No doubt we will find
other uses for it too.
For example, strings are represented more as they would be in a user
program, with quotes and escapes: ("this\nis\ta\n\ntest") instead of (this
is a
test).
I intend to add better representations for short lists and maps
later, e.g. ([1,2]) instead of (Instance(length:2) of '_GrowableList').
I've added some tests to track current behavior.
Fix a problem where the vm internal names for private classes were
leaking out through ToCString. This is problematic because Dart's
default toString relies on ToCString (which surprised me). This fix
will be user-visible and, darn it, it's the right thing to do. For
example, before toString (in Dart) might yield:
Instance of '_MyPrivateClass@43df89GARBAGE4389'
Now it will yield:
Instance of '_MyPrivateClass'
(as an aside, do those single-quotes around the class name add any
meaning here?)
Massage the output of ToString for GrowableObjectArray to be more
consistent with other instance ToString output. This should not be user
visible, as lists define a reasonable toString.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//100833005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30996 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-09 19:47:23 +00:00
hausner@google.com
00589271c5
Fix source location of mixins in stack trace
...
We need to use the origin library, not the owner library,
for the source location of functions. This fixes issue 15185.
R=turnidge@google.com
Review URL: https://codereview.chromium.org//108903002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30970 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-06 22:06:15 +00:00
hausner@google.com
cea1acc8a1
Fix assignable syntax analysis
...
My previous change has a bug in it that I didn’t trip over
because I ran test with a version that masked the assertion with
a compilation error.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//107023002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30909 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-05 19:15:00 +00:00