lrn@google.com
29dd07f51a
Add Capability class.
...
Currently throws UnimplementedError in constructor patches. All implementation is still missing.
R=floitsch@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//148883009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32274 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-04 09:23:38 +00:00
asiva@google.com
732d1a44de
Add a UpdatedGuardedCidBit to Class object so that we don't have
...
to iterate over all the classes and it's fields to update the
GuardedCid value on each call to Dart_Allocate.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//153103004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32271 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-04 01:12:55 +00:00
rmacnak@google.com
509556a094
Fix handling of CRLF line endings in Script::GetSnippet.
...
BUG=http://dartbug.com/16098
R=hausner@google.com
Review URL: https://codereview.chromium.org//132773006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32254 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-03 18:11:57 +00:00
fschneider@google.com
baa148b853
Fix wrongly recorded uses after polymorphic inlining.
...
When inlining function bodies at a polymorphic site, uses at the
callee graph entry need to be removed since this block
is removed in the process of inlining.
BUG=dartbug.com/16404
TEST=pkgbuild/samples/searchable_list
R=srdjan@google.com
Review URL: https://codereview.chromium.org//151653002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32237 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-03 09:46:18 +00:00
srdjan@google.com
18bf9aa52b
Fix issue 16375: disallow marking null-constant types as non-nullable. The issue occurs for strict equal comparisons, with both inputs being null.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//151833002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32227 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-01 00:49:32 +00:00
rmacnak@google.com
2da8c830a3
Fix non-specific type parameter in member maps.
...
BUG=http://dartbug.com/14972
R=regis@google.com
Review URL: https://codereview.chromium.org//140313005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32225 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-31 23:52:15 +00:00
johnmccutchan@google.com
59f671c9d9
Add LL suffix to 64-bit integer constants
...
BUG=
Review URL: https://codereview.chromium.org//137893029
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32205 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-31 18:09:12 +00:00
johnmccutchan@google.com
15090664ba
Refactor unboxed fields code in preparation of reusable SIMD boxes.
...
R=fschneider@google.com
Review URL: https://codereview.chromium.org//136753012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32199 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-31 16:45:23 +00:00
johnmccutchan@google.com
9d80608b9c
Add Float64x2, Float64x2List, etc... with runtime and dart2js implementations
...
R=sra@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//148043003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32196 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-31 15:28:05 +00:00
fschneider@google.com
bb4869e3bb
Inline recognized List factory in the flow graph optimizer.
...
The call to the native List factory is lowered into IL instructions if
the length is known to be a valid smi.
This is mostly performance neutral. The acutal allocation now takes place
in the array allocation stub instead of the intrinsic code (and the runtime
List_allocate in case the fast case path fails).
This is a preparation for enabling allocation sinking for arrays and will
be extended to handle type list allocation as well. This way the allocation
site is explicitly represented as a CreateArrayInstr, instead of just being
a static call.
Another benefit is that this allows to simplify the special handling of
recognized factory calls in the optimizer once all array types are handled
this way.
R=johnmccutchan@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//138523004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32194 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-31 13:26:48 +00:00
lrn@google.com
d0651286c6
Make _Utf8Encoder create its buffer through an external function.
...
This allows the VM to use a Uint8List, where dart2js still has to use a plain List (due to versions of IE not supporting typed data).
R=floitsch@google.com
Review URL: https://codereview.chromium.org//144473004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32193 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-31 13:11:25 +00:00
hausner@google.com
936b51821c
Prevent accidental breakpoints in non-debuggable code
...
Prevent setting accidental breakpoints in implicit getter
and setter functions, and in initializer expressions that
are inlined in field declarations.
R=regis@google.com
Review URL: https://codereview.chromium.org//147353005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32183 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-30 23:38:35 +00:00
hausner@google.com
f9089a3ca5
Find all compiled copies of a function when setting breakpoint
...
Fixes a bug where the debugger did not find a compiled implicit
closure if the non-closureized version had not been compiled yet,
thus failing to set a breakpoint.
R=regis@google.com
Review URL: https://codereview.chromium.org//149853004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32165 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-30 18:08:02 +00:00
fschneider@google.com
6ffa061fdf
Fix stack height assertion code and free up a bit in the Function tag bits.
...
The bit has_finally was only used to skip the checking of the stack height
at return statements: There was an unused value floating on top of the
expression stack in unoptimized code if the finally block preceded a normal
return statement. Normallyi, that does not cause harm. Optimized code is not
affected since it has a fixed stack size for expression evaluation.
This CL fixes the stack height for functions with try-finally by introducing
a temporary local where the return value is saved before an inlined
finally-block.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//149603003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32157 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-30 12:12:31 +00:00
johnmccutchan@google.com
ebf1703052
Setup valid pool pointer in assembler tests
...
Review URL: https://codereview.chromium.org//148523014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32151 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-30 00:26:03 +00:00
hausner@google.com
ed8ea2e281
Handle all debugger stepping with the isolate single step flag
...
Eliminate stepping with “internal” breakpoints. We can now handle
stepping in recursive functions properly. On the other hand, code
does not run at full speed between step commands, since a runtime
call to the debugger is necessary at each safe point.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//149123003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32150 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-29 23:47:23 +00:00
johnmccutchan@google.com
2b15eed5bd
IA32 and X64 assembler Float64x2 additions
...
BUG=
R=srdjan@google.com
Review URL: https://codereview.chromium.org//130803013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32148 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-29 23:13:24 +00:00
zra@google.com
48017a73cc
Fixes ABI bug in MIPS.
...
Adds test for native extensions with autoscoping set to false.
R=asiva@google.com
Review URL: https://codereview.chromium.org//131103025
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32147 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-29 23:07:50 +00:00
johnmccutchan@google.com
8c7020e422
Add Google Charts to Observatory and use it in allocation profiler
...
R=turnidge@google.com
Review URL: https://codereview.chromium.org//148153007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32142 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-29 21:51:25 +00:00
regis@google.com
8aac3612cf
Share the same type parameters of a mixin application class to propagate
...
identical type arguments to the super type and to the mixin type, thereby
allowing for further optimizations, such as instantiator vector reuse or
sharing of type arguments with the super class.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//149723002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32140 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-29 21:10:53 +00:00
turnidge@google.com
b891e78325
Post-meetup feature extravaganza.
...
Remodel the top-level isolate summary page.
Add variables to stack frames in the stack trace.
Stop putting small integers and bools in the object id ring.
Rework how we pass down null references (and null-like references like
uninitialized values).
Collect all isolate timers by default.
Change the lifetime of IsolateSpawnState so that we can refer to it
later to know how an isolate started up. Stop pretending that
IsolateSpawnState is a void*. Clean up vestigial IsolateStartData.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//145323002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32128 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-29 18:40:12 +00:00
ajohnsen@google.com
89957d4117
Mark simd128_value_t as able to containing both float and int32_t.
...
This fixes a bug when compiled with MSVC, where some values (I suspect NANs) can be changed when passed to functions.
BUG=
R=kasperl@google.com
Review URL: https://codereview.chromium.org//138203003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32121 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-29 14:21:45 +00:00
whesse@google.com
64600f4e8e
Fix native extensions located in packages on Windows.
...
BUG=dartbug.com/16205
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//135403007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32102 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-29 05:07:29 +00:00
hausner@google.com
e2f1ed3b2f
Fix debugger stepping
...
Recently I eliminated PC descriptors for some calls. This change
makes sure we handle single stepping on those call sites properly.
R=regis@google.com
Review URL: https://codereview.chromium.org//148783002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32071 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-28 16:36:42 +00:00
fschneider@google.com
02cd176e23
Fix bug in iteration over DelaySet.
...
The set may be modfied while iterating over it. I create
a temporary vector with a copy of the iterator range for
iteration.
This seems to fix the frequent crash with certain Polymer apps
in Dartium
BUG=dartbug.com/16231
R=iposva@google.com
Committed: https://code.google.com/p/dart/source/detail?r=32063
Review URL: https://codereview.chromium.org//132903009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32070 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-28 15:31:25 +00:00
fschneider@google.com
7426c47cb6
Revert r32064, r32064 to fix Windows build.
...
TBR=ricow@google.com
Review URL: https://codereview.chromium.org//148263011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32065 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-28 12:12:29 +00:00
fschneider@google.com
cfd7065e41
Attempt to fix windows VM build.
...
TBR=srdjan@google.com
Review URL: https://codereview.chromium.org//142043011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32064 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-28 12:00:31 +00:00
fschneider@google.com
791f292858
Fix bug in iteration over DelaySet.
...
The set may be modfied while iterating over it. I create
a temporary vector with a copy of the iterator range for
iteration.
This seems to fix the frequent crash with certain Polymer apps
in Dartium
BUG=dartbug.com/16231
R=iposva@google.com
Review URL: https://codereview.chromium.org//132903009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32063 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-28 10:25:58 +00:00
whesse@google.com
04d76d43cc
Fix error in processing dart-ext urls with a relative path.
...
BUG=dartbug.com/16205
R=sgjesse@google.com
Committed: https://code.google.com/p/dart/source/detail?r=32031
Review URL: https://codereview.chromium.org//134753005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32046 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-28 00:33:14 +00:00
rmacnak@google.com
2808e02ca0
VM: Fix crash when a type error is encountered while evaluating metadata in checked mode.
...
BUG=http://dartbug.com/16321
R=hausner@google.com
Review URL: https://codereview.chromium.org//148263007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32042 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-27 23:50:45 +00:00
whesse@google.com
ea1f835463
Fix error in processing dart-ext urls with a relative path.
...
BUG=dartbug.com/16205
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//134753005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32031 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-27 21:58:19 +00:00
johnmccutchan@google.com
fcb2a50bb3
Use portable stack slot constants in profiler
...
R=zra@google.com
Review URL: https://codereview.chromium.org//148433002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32022 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-27 16:55:38 +00:00
fschneider@google.com
dfa664dbe4
Fix bug in aliasing computation for constant index.
...
R=vegorov@google.com
Review URL: https://codereview.chromium.org//148273002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32016 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-27 12:02:37 +00:00
fschneider@google.com
21214c0f16
Improve aliasing info for load elimination of array loads.
...
The optimizer can now track side effects to array locations
at a constant index when eliminating array loads. Stores to
arrays with a constant index affect loads from arrays
at the same constant index _and_ loads from an unknown (non-constant)
index. Stores to an array with an unknown index affect all array loads.
For instance code like
var a = new List(2);
a[0] = 123;
a[1] = 456;
print(a[0] + a[1]);
we can now eliminate both loads from a[0] and a[1], where before
only the loads from a[1] was eliminated.
I changed the internal encoding of Alias to use BitField instead of
plain integers. This makes it a little easire to extend.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//145133009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32014 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-27 11:06:48 +00:00
hausner@google.com
682855e8cc
Ensure the debugger keeps a reference to code objects
...
Keep the code object in a breakpoint object rather than the
function object. This ensures that the GC can’t collect the
code object while there are breakpoints for the function.
R=zra@google.com
Review URL: https://codereview.chromium.org//143263012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32006 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-24 23:55:11 +00:00
hausner@google.com
dff049ab71
Don’t call toString from debugger
...
Debugger no longer calls toString on objects. It continues to do so
on known basic types like numbers, booleans, strings. This is necessary
because toString() may have side effects. See issue 16229 for example.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//146833007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32003 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-24 23:14:15 +00:00
srdjan@google.com
9c16a399ca
Cleanups.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//146843008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32000 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-24 22:00:04 +00:00
johnmccutchan@google.com
9ca09b50e7
Track live instance and allocation counts for classes.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//51653006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31978 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-22 19:21:22 +00:00
johnmccutchan@google.com
7f75b32faa
Mark Service_Coverage as Skip on SIMMIPS
...
BUG=
Review URL: https://codereview.chromium.org//140253010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31976 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-22 16:39:22 +00:00
johnmccutchan@google.com
a6399981e6
Code coverage in Observatory
...
R=turnidge@google.com
Review URL: https://codereview.chromium.org//143973005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31970 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-22 00:46:30 +00:00
hausner@google.com
0c434b3073
Rename kDummyTokenIndex to kNoSourcePos
...
Addresses comment to previous change list.
R=regis@google.com
Review URL: https://codereview.chromium.org//144343002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31969 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-21 23:46:26 +00:00
hausner@google.com
baf16bac5e
Make safe points in generated code invisible to the debugger
...
- remove some PC descriptors that are part of implicit, synthesized
code, e.g. generated null checks in == methods, implicit constructors,
implicitly generated code in user constructors, etc.
- ignore single step callbacks on PC descriptors that are part of
synthesized code.
R=regis@google.com
Review URL: https://codereview.chromium.org//137003006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31966 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-21 21:49:42 +00:00
regis@google.com
926315dba6
Relax assert in case a type is first canonicalized at run time (issue 16239).
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//143893006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31965 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-21 20:54:21 +00:00
srdjan@google.com
7629f40adb
Be more aggressive when inlining getters and setters (we assume they are typically simple, efficient functions). +15% on Box2D.
...
R=fschneider@google.com
Review URL: https://codereview.chromium.org//143643002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31961 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-21 17:44:29 +00:00
johnmccutchan@google.com
6b0e0df7ba
Adds an empty PcDescriptors instance to the VM-isolate.
...
All newly created code objects point to the empty PcDescriptors instance.
R=iposva@google.com
Review URL: https://codereview.chromium.org//142233002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31958 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-21 16:42:35 +00:00
fschneider@google.com
bfcb5174a5
Fix bug in flow-graph loop detection.
...
With OSR there can be multiple loops that share one common loop header.
These loops must be treated as one loop, otherwise
side effects are not correctly computed.
BUG=dartbug.com/16151
TEST=language/osr_test
R=srdjan@google.com
Review URL: https://codereview.chromium.org//144053002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31956 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-21 16:02:12 +00:00
fschneider@google.com
893b25e5b4
Revert r31601 (Use constants from the frame at OSR entry...).
...
Because this CL also changed the way spill slots are allocated for
catch entry blocks it caused invalid code for optimized try-catch
under certain conditions.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//141163009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31948 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-20 10:43:41 +00:00
regis@google.com
5832bdbbb3
Handle wrong method invocation of a type parameter (fix issue 13134).
...
Add test.
R=gbracha@google.com , hausner@google.com
Review URL: https://codereview.chromium.org//134083005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31944 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-18 01:03:22 +00:00
hausner@google.com
a65c571f18
Get rid of dynamic call debug stub
...
This leaves only one debugger stub function. Yay.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//140743010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31932 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-17 21:32:58 +00:00
johnmccutchan@google.com
d41a2106c2
Change Code object serialization format to use 50% less space.
...
Update observatory to support new format
Cache code objects inside observatory isolate
Profiler updates cache of code objects
Profiler can display annotated disassembly objects
Code objects now display sample ticks
Fix error viewer
Start using the logging package.
R=turnidge@google.com
Review URL: https://codereview.chromium.org//135843006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31931 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-17 21:16:44 +00:00