srdjan@google.com
42ddbe7ff0
Fix simarm64 build on Mac OS X
...
Review URL: https://codereview.chromium.org//229383006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34856 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 23:58:23 +00:00
srdjan@google.com
3658a1a6de
Fixes issue 18099: missed type guard dependency in implicit getters.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//229353002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34855 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 23:56:49 +00:00
hausner@google.com
625b564a4b
Fix instance method resolution with abstract accessors and methods
...
Fix issue 18082
R=gbracha@google.com , regis@google.com
Review URL: https://codereview.chromium.org//227703010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34845 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 22:14:24 +00:00
johnmccutchan@google.com
1eb7046d00
Restore WritableRegister input LiveRange shape
...
BUG=
R=zra@google.com
Review URL: https://codereview.chromium.org//229143002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34838 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 20:25:22 +00:00
johnmccutchan@google.com
3834c9a869
Support for multiple register values
...
- Adds a PairLocation type (Location is still a single word but now has two tags one for constants and one for pairs).
- New representations: kPairOfTagged & kPairOfUnboxedDouble.
- Register allocator uses second SSA index for Definitions that use two registers.
- Fix LiveRange shape for kWritableRegister inputs.
- Updated MergedMathInstr that returns a kPairOfTagged or kPairOfUnboxedDouble (depending on the merged math kind).
- A new instruction (ExtractNthOutput) for extracting a single register from an instruction that has a output register pair.
Open issues that need to be addressed in a follow up CL:
- Adjust PhiInstr and handling of PhiInstr in the register allocator to work with output pairs (once unboxed mints are in GPRs).
R=fschneider@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//215363004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34833 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 16:13:43 +00:00
zra@google.com
5ed6eb4cb4
Adds ldr and str to arm64.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//227593012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34831 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 15:43:16 +00:00
lrn@google.com
49853292aa
Add crash expectation for test in debug mode due to Issue 17857.
...
Review URL: https://codereview.chromium.org//225023037
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34815 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 09:19:13 +00:00
lrn@google.com
88ba8efed9
Optimize one-byte string's toUpperCase.
...
R=ajohnsen@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//213293002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34812 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 07:19:33 +00:00
iposva@google.com
bf47f476ad
- Ensure the Null class is recognized when writing snapshots.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//225023033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34806 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 00:34:14 +00:00
hausner@google.com
83f80fe560
Add const static field optimization that got lost in last checkin
...
My last change list accidentally got rid of an optimization where the parser replaces const static field references with the value of the field. This causes many more compile-time “execute once” calls. This change adds back the special case.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//227863002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34798 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-07 21:30:54 +00:00
koda@google.com
6721f81926
Reset growth control state after isolate initialization.
...
(a) When enabling the growth control, e.g. after isolate
initialization, the current usage should be the new basis for
growth control. This is consistent with the behavior before
r34747.
(b) Advise GC only when the number of allowed pages has been
(strictly) exceeded, rather than met. This is consistent with
the behavior before r34747.
Part (a) fixes the Havlak performance regression (3%).
R=iposva@google.com
Review URL: https://codereview.chromium.org//227683004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34793 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-07 18:40:45 +00:00
zra@google.com
01ac0b3dc9
Removes stub from arm64 to fix build.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//227563003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34787 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-07 17:56:59 +00:00
hausner@google.com
2b4e3c7c99
Implement deferred constant support
...
Compile time constants lose their const-ness if they are referred
to through a deferred prefix. This CL adds a flag to some ast node
types that remembers whether a field or closure was referred to
via a deferred prefix. If so, the compile-time const analysis flags
the value as non-const.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//226953002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34785 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-07 17:31:32 +00:00
fschneider@google.com
61b0757d05
Fix bug in closure call stub.
...
Since closure calls and method calls both use the same lazy-compile stub,
we need a GC-safe value in the IC data register also at closure calls.
TBR=srdjan@google.com
Review URL: https://codereview.chromium.org//224723017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34777 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-07 11:47:13 +00:00
fschneider@google.com
9ed4cf1cb6
Simplify and improve handling of IC and megamorphic cache miss handling.
...
Instead of going back and forth from stub code to C++, perform
only the lookup in C++ and call target functions only from
stub code.
noSuchMethod and implicit closure invocations are now also work with
the megamorphic cache. Before they would go slow-case in the megamorphic case.
This CL eliminates the InstanceFunctionLookup stub that was previously
used to handle noSuchMethod and implicit closure invocations.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//221173011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34774 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-07 09:27:43 +00:00
koda@google.com
b3535bf501
Extend Timer to track longest contiguous interval, and add GC timer.
...
R=turnidge@google.com
Review URL: https://codereview.chromium.org//215893006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34749 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-04 22:13:59 +00:00
koda@google.com
5e4d540c27
Corrected resubmssion of r34736.
...
Fix: Division by page size in NeedsGarbageCollection.
Original description:
Generalize the interface of page space controller.
Gather used/capacity/external into SpaceUsage object,
and use it for testing whether GC is needed before or
after an allocation.
This refactor does not affect policy, but prepares for:
1. Replacing promotion failure check/tracking.
2. Better growth control for external allocation.
TBR=iposva@google.com
Review URL: https://codereview.chromium.org//225303006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34747 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-04 21:04:48 +00:00
koda@google.com
09b1d66049
Revert r34736 due to slowdown.
...
TBR=sra@google.com
Review URL: https://codereview.chromium.org//225023011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34741 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-04 18:39:10 +00:00
regis@google.com
91388a5f79
Simplify and fix instantiation of recursive types.
...
Add tests for non-contractive types.
Cleanup language tests status file.
Enhance tracing of type finalization.
R=hausner@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//224793002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34739 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-04 18:27:53 +00:00
turnidge@google.com
d358d84eb7
Begin implementing flag --deoptimize-filter=FUNC for ia32.
...
Currently not functional - committing so that srdjan can investigate
why it doesn't work.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//226303002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34737 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-04 18:05:37 +00:00
koda@google.com
00445b37ea
Generalize the interface of page space controller.
...
Gather used/capacity/external into SpaceUsage object,
and use it for testing whether GC is needed before or
after an allocation.
This refactor does not affect policy, but prepares for:
1. Replacing promotion failure check/tracking.
2. Better growth control for external allocation.
R=iposva@google.com
Review URL: https://codereview.chromium.org//220723010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34736 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-04 17:46:15 +00:00
srdjan@google.com
6d56854a9a
Add optimization for pow(base, 0.5) to the other architectures as well.
...
R=zra@google.com
Review URL: https://codereview.chromium.org//220723017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34717 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-03 19:44:18 +00:00
zra@google.com
dcc2284689
Adds subract, move wide immediate instructions to ARM64.
...
Also adds tests for move, add shift, add extended.
R=regis@google.com
Review URL: https://codereview.chromium.org//214233006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34715 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-03 18:26:11 +00:00
iposva@google.com
dd7d6dd375
- Handle doubles transferred in message snapshots specially.
...
- Do not encode doubles using integer compression.
R=asiva@google.com
Review URL: https://codereview.chromium.org//221973004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34681 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-03 00:58:14 +00:00
johnmccutchan@google.com
431761e878
Miscellaneous Observatory UI improvements
...
Update cursor over expander in profiler
Ressurect json-view
Show arrow in profiler tree
Clicking on <code-ref> link in profiler doesn't expand tree
<code-ref> only shows a link for Dart code
Port script-view to use script-inset
Add function source to function view
Add counters to isolate view
Add counters to isolate summary
R=turnidge@google.com
Review URL: https://codereview.chromium.org//221263002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34661 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-02 18:30:01 +00:00
srdjan@google.com
58f2385da4
Add flag --inlining-callee-size-threshold (80), that prevents inlining too large functions. 'Accidentally' restores performance of NBody. Improves compilation speed (dart analyzer and stress6 test)
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//222553002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34657 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-02 18:03:37 +00:00
zra@google.com
2fe51715e5
Begins work on ARM64, first assembler test.
...
Most new code is in constants_arm64.h and
{assembler,disassembler,simulator}_arm64.{h,cc}
The rest of the CL just #def's out tests, modifies status files,
and adds UNIMPLEMENTED functions, etc.
R=regis@google.com
Review URL: https://codereview.chromium.org//221133002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34654 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-02 17:39:32 +00:00
ajohnsen@google.com
a3e5a06a90
Speed up snapshots of *int8lists, by using memmove.
...
BUG=https://code.google.com/p/dart/issues/detail?id=17951
R=asiva@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//221943002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34649 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-02 15:53:23 +00:00
ajohnsen@google.com
37994d7588
Trigger old-space GC when scavange made the external heap of old-space larger than max old-space size.
...
BUG=
R=koda@google.com
Review URL: https://codereview.chromium.org//220113004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34647 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-02 14:24:53 +00:00
fschneider@google.com
cc9e3b8068
Introduce a lazy-compile stub for functions.
...
The function's code pointer is either a lazy-compile stub
or the compiled code. The function is compiled on invocation.
There is no need to check for null when invoking a function. This means
one check less when invoking functions via a stub. For this I added a LazyCompile
stub.
Additional cleanup in Stackmap and PcDescriptors (remove unused code pointer,
and changed smi-lengh into a raw integer).
R=zra@google.com
Review URL: https://codereview.chromium.org//203523011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34643 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-02 12:37:48 +00:00
srdjan@google.com
883486f303
Fix builds for finicky compilers.
...
Review URL: https://codereview.chromium.org//221623002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34625 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-01 23:39:56 +00:00
srdjan@google.com
4fed01aef9
Optimize pow(x, 0.5) to use sqrt instead.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//221433002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34624 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-01 23:25:06 +00:00
johnmccutchan@google.com
ab19ef4f31
Redo allocationprofile options
...
BUG=
R=turnidge@google.com
Review URL: https://codereview.chromium.org//217323006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34620 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-01 22:05:39 +00:00
turnidge@google.com
cc82321046
Add <eval-link> - a custom element for evaluating an expression.
...
Use <eval-link> to add a convenience toString() link for instances.
In the future I plan to use <eval-link> to provide easy access to getters.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//213853004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34616 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-01 20:18:17 +00:00
turnidge@google.com
b373e6c423
Change how we provide value previews in the vm service.
...
Rename the 'preview' property to 'valueAsString'.
Rework printing so that we only add 'valueAsString' when we need it
(num, String, etc.).
Change ToUserCString to be a String-only method. Drop ToUserCString
for lists -- it was hokey and unused. Max string length is now 1024
instead of 40.
Update tests.
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//219333011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34612 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-01 19:45:57 +00:00
turnidge@google.com
bb6003d9b7
Fix line number table generation for multiline strings with interpolation.
...
Share the line number table generation code between debugger and vm service.
R=hausner@google.com
Review URL: https://codereview.chromium.org//219993004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34606 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-01 18:16:27 +00:00
hausner@google.com
b36457263a
Deferred prefix support in metadata
...
Deferred prefixes are never ok in metadata, since metadata is required
to be compile time constant.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//219473007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34601 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-01 16:11:28 +00:00
ajohnsen@google.com
59fcec073c
Don't make the signal-pipe non-blocking.
...
This is an attempt to make it run on MIPS. The non-blocking is not
needed here.
BUG=https://code.google.com/p/dart/issues/detail?id=17826
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//220863003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34594 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-01 12:15:21 +00:00
ajohnsen@google.com
45d35b1588
Make non-copying version of BytesBuidler and make file-reads faster.
...
The non-copying version is internally, as this is always the behaviour
we want, when receiving data from the system.
File-reads are also further improved, by only reading data in chunks, if
initial length is 0. This is a special case where the file can be a
character device. Overall improvement is around a factor of 6.
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//218493012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34589 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-01 10:56:19 +00:00
hausner@google.com
6daac5a3e2
Fix code invalidation for deferred code
...
Review URL: https://codereview.chromium.org//217483008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34545 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-29 00:25:16 +00:00
iposva@google.com
e78cc1544d
- Make ports be less predictable.
...
- Limit the range of port numbers to 30-bits.
- Parse the ports as 64-bit values when reading from the wire in the debugger protocol.
R=hausner@google.com
Review URL: https://codereview.chromium.org//217693002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34542 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-28 23:39:36 +00:00
rmacnak@google.com
f0626388f5
VM: Evaluate metadata on a class in the scope of its library not the scope of the class.
...
BUG=http://dartbug.com/17795
R=gbracha@google.com , hausner@google.com
Review URL: https://codereview.chromium.org//217543004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34537 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-28 22:38:32 +00:00
turnidge@google.com
9b814028a3
Minor fix in isolate-view.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//217473004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34530 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-28 22:09:53 +00:00
turnidge@google.com
3e86631f02
Use tokenPos instead of line/col in the vm service.
...
Add line number information to the Script response.
Parse line number information in the observatory.
Update <script-ref> to take a pos argument
Add a new <script-inset> element which shows a code snippet.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//216883008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34528 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-28 21:24:24 +00:00
turnidge@google.com
3adcbe1071
Rework the <field-view> page.
...
Give fields/functions a consistent notion of ownership.
Add field's script to the JSON.
Make page reload work again.
Fixup closure printing a bit.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//215213003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34520 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-28 20:21:09 +00:00
rmacnak@google.com
9c105f7c9c
Handle creating ParameterMirrors for the parameters of forwarding constructors.
...
BUG=http://dartbug.com/17823
R=hausner@google.com , regis@google.com
Review URL: https://codereview.chromium.org//212883009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34494 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-28 01:22:03 +00:00
asiva@google.com
db11f77af7
Use ASSERT instead of CHECK_ISOLATE in cases where we derive the isolate from the native Arguments structure.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//215293002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34488 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-27 23:05:57 +00:00
koda@google.com
79725661a7
Reduce GC from external allocation.
...
Before, external allocs artificially reduced new space capacity.
Now, we separately limit on total external size in new space.
Makes scavenges less frequent, while still limiting total footprint.
R=iposva@google.com
Review URL: https://codereview.chromium.org//211593004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34485 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-27 22:11:39 +00:00
hausner@google.com
ed24226376
Support deferred library prefix syntax
...
First step towards deferred library support:
- Parse the “deferred as” import clause.
- Implement p.loadLibrary() which returns a future that
completes when the library is loaded.
- Treat type annotations of deferred types as malformed.
- Throw NoSuchMethodError when calling functions from
unloaded libraries.
- Libraries are still read synchronously, but items in the
library won’t be visible through the deferred prefix until
the future returned by loadLibrary() completes.
Review URL: https://codereview.chromium.org//208323015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34481 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-27 21:20:47 +00:00
srdjan@google.com
36d8c9a39c
Fix bug in divpd x64.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//213193009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34475 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-27 16:43:40 +00:00