Commit Graph

13143 Commits

Author SHA1 Message Date
floitsch@google.com 5f5f63ff1c Implement BigintOperations::ToDecimalCString.
Review URL: https://chromiumcodereview.appspot.com//9536016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5068 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-07 08:25:32 +00:00
regis@google.com f4ddc43cdf Generate dynamic type errors according to spec.
Fix a few bad tests.
Turn a couple negative tests in multi-tests.
Triage a few co19 failing tests.

Still to do:
Check bounds of generic types at runtime in checked mode.
Stop reporting bounds error in new operator as a compile time error.
Review URL: https://chromiumcodereview.appspot.com//9615035

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5064 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-07 02:23:12 +00:00
srdjan@google.com d6abdfb6b8 Eliminate IncrOpStaticFieldNode, replace a set of nodes.
Review URL: https://chromiumcodereview.appspot.com//9592031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5063 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-07 00:40:48 +00:00
iposva@google.com 5ac44be67f - Fix new/free mismatch.
Review URL: https://chromiumcodereview.appspot.com//9618034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5062 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-07 00:28:36 +00:00
srdjan@google.com 28aa93c232 Implement DoWhile.
Review URL: https://chromiumcodereview.appspot.com//9553008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5055 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-06 21:02:56 +00:00
kmillikin@google.com 0a9194319d Implement postfix indexed increment.
Chosen because of its wartiness.  A pair of new computations are introduced
to allow the IL to express duplication of temporaries and storing to
temporaries.  These will be translated away by the optimizing compiler, but
allow the instruction stream to represent exactly the deoptimization state
we are intereseted in (with at most one deopt point per instruction).

Translation of:

test(a, i) {
  return a[i]++;
}

is

 0: [target]
    t0 <-#0
    t1 <-LoadLocal(a)
    t2 <-LoadLocal(i)
    t3 <-CopyTemp(-1)
    t4 <-CopyTemp(-1)
    t3 <-InstanceCall([], t3, t4)
    SetTemp(-3)
    t4 <-#1
    t3 <-InstanceCall(+, t3, t4)
    InstanceCall([]=, t1, t2, t3)
    return t0

R=srdjan@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9601011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5012 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-06 09:49:21 +00:00
hausner@google.com 5f72e92b4e Re-introduce string concatenation
This change re-introduces concatenation of adjacent
string literals, i.e. the compiler concatenates "abc" "123"
into the literal "abc123" at compile time. If the literals
contain interpolations, the concatenation happens at
runtime.

The change also re-introduces interpolated compile-time
string literal constants, but the feature is disabled because
several tests need to be changed.
Review URL: https://chromiumcodereview.appspot.com//9582040

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4991 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-05 23:47:34 +00:00
iposva@google.com d8c7e85a30 - Reintroduce a library privacy disabling option.
Review URL: https://chromiumcodereview.appspot.com//9594040

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4987 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-05 22:54:02 +00:00
srdjan@google.com fcebdcf28a Add Load/Store Static/Instance fields.
Review URL: https://chromiumcodereview.appspot.com//9586024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4972 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-05 19:07:08 +00:00
kmillikin@google.com 6f1fc66fdd Remove an unneeded temp in instance setters and indexed stores.
R=srdjan@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9588001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4938 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-05 10:26:07 +00:00
cshapiro@google.com 05fc273cfa Implement weak references sets and provide an embedding API.
Weak reference sets are similar to "populations" or "weak pairs".
Like these structures, objects in a key set preserve members of an
associated value set.  Unlike these structures, a weak reference set
is not a general associative container.  Weak reference sets exist
for the duration of a garbage collection.

Weak reference sets are proceesed iteratively allowing values of one
weak reference to be keys of a other weak reference sets.  The garbage
collector will process weak reference sets iteratively, revisiting all
unmarked weak reference sets if any one weak reference set is marked.
This process repeates until a fixed-point is reached.

Review URL: https://chromiumcodereview.appspot.com//9531001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4917 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-03 02:30:20 +00:00
asiva@google.com 4f7f9021c5 - Always write a Null Object for Code objects
- Do not populate the FunctionsCache array as it causes the function cache
  to become inconsistent if we execute some dart code before capturing a
  snapshot.
- Allow preallocation of objects even when generating snapshot and remove the
  flag preallocate_objects_called_ (use a null test instead).
Review URL: https://chromiumcodereview.appspot.com//9580036

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4915 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-03 01:53:26 +00:00
hausner@google.com 4e88231326 Fix bug 1557
Better handling of malformed library tags.

TBR=iposva
Review URL: https://chromiumcodereview.appspot.com//9582036

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4912 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-03 00:39:04 +00:00
hausner@google.com 661d0195fa Support breakpoints in closures
Properly set breakpoints in the code of closure functions.
Fix bug 1894.

Also renaming StackTrace to DebuggerStackTrace since we already have a class Stacktrace in the VM.
Review URL: https://chromiumcodereview.appspot.com//9572022

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4910 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-02 23:43:34 +00:00
srdjan@google.com 923ed6eb53 It is the setter that can have a result, but not the StoreInstanceFieldNode.
Review URL: https://chromiumcodereview.appspot.com//9581016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4902 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-02 21:52:03 +00:00
hausner@google.com 0428eb229e Placate Windows compiler
Review URL: https://chromiumcodereview.appspot.com//9580014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4893 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-02 18:08:56 +00:00
hausner@google.com e58b6e4d4c Splitting debugger breakpoints into two parts
Splitting breakpoints into SourceBreakpoint that represent
a user-defined source location of a breakpoint, and
CodeBreakpoint, which represents a code location. There can
be more than one CodeBreakpoint per SourceBreakpoint, e.g.
for functions that are also called as closures (and are thus
compiled twice.)

Functions are no longer compiled as a side effect of setting
a breakpoint. When they eventually get compiled, the previously
recorded SourceBreakpoint is found and a CodeBreakpoint is set.
Review URL: https://chromiumcodereview.appspot.com//9581013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4891 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-02 18:01:38 +00:00
srdjan@google.com e2ab4d25fd Added stack overflow checks at backward branches in order to allow interrupting endless loops. Better code will detect if the loop calready contains calls and therefore can omit the extra check (in next compiler).
Review URL: https://chromiumcodereview.appspot.com//9562045

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4889 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-02 17:53:28 +00:00
kmillikin@google.com 0930238061 Support instance getters and setters, indexed loads and stores.
These can be supported as instance calls.  In the case of instance
setters and indexed stores, there is a new computation type because of
the semantics of preserving the value.  For the example program:

void test(e) {
  print(e.forty_two);
  print(e.forty_two = 41);
}

we generate the graph:

 0: [target]
    t0 <-LoadLocal(e)
    t0 <-InstanceCall(get:forty_two, t0)
    StaticCall(print, t0)
    t0 <-#0
    t1 <-LoadLocal(e)
    t2 <-#41
    t0 <-InstanceSetter(t0, t1, t2)
    StaticCall(print, t0)
    return #null

and emit the correct code.

R=srdjan@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9570015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4861 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-02 09:47:49 +00:00
kmillikin@google.com 9058b2b8f3 Implement StaticCall and InstanceCall in the new code generator.
1. Introduce a value visitor for argument values.

2. Add enough information to StaticCallComp and InstanceCallComp IL
computations so that we can generate code.

3. Enable code generation for them.

R=srdjan@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9564006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4859 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-02 09:03:45 +00:00
cshapiro@google.com 0d4375b68e Check array bounds using an overflow-safe comparison.
Review URL: https://chromiumcodereview.appspot.com//9569044

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4850 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-02 01:27:27 +00:00
turnidge@google.com e2a88a357a Revert my last change. Odd test failures that I will investigate tomorrow.
Review URL: https://chromiumcodereview.appspot.com//9570051

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4846 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-02 00:38:18 +00:00
turnidge@google.com cdf40e7b15 Make the message queue private in the message handler.
Move locking up from the message queue to the message handler.
Review URL: https://chromiumcodereview.appspot.com//9570046

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4842 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-01 23:57:49 +00:00
srdjan@google.com 17537cf230 Fix crash in inline cache: forgot to GC properly RawICData. Various cleanups.
Review URL: https://chromiumcodereview.appspot.com//9567023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4832 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-01 22:02:41 +00:00
regis@google.com 72529efec7 Check type argument bounds of interfaces in type tests (work in progress).
Add a new test.
Fix broken tests.
Review URL: https://chromiumcodereview.appspot.com//9565016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4819 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-01 19:54:19 +00:00
srdjan@google.com efbfa66368 Adding Native Call node : a native function consists of that node, it does call into C runtime. In this case I am not sure if we should copy all fields from AstNode to Computation node or should we store the AstNode and access data indirectly.
Review URL: https://chromiumcodereview.appspot.com//9559012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4809 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-01 17:43:27 +00:00
srdjan@google.com 673589f920 Get rid of CHECK_ALIVE, test only is_open during sequence node traversal.
Review URL: https://chromiumcodereview.appspot.com//9538017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4804 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-01 17:03:52 +00:00
kmillikin@google.com 6d46c13c8d Remove non-useful duplicated code from the flow graph builder.
For most AST nodes, there is a core of the translation that is shared
for all contexts and only the handling of the final computation
differs.  Make this last part virtual and the visit functions
non-virtual by default.

We can still override visit functions if we want truly different
translations.

R=srdjan@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9540008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4786 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-01 09:49:13 +00:00
srdjan@google.com a53b86a6bd Fix Issue 1844: Throw exception instead of crashing if the size of allocated array is too large (or negative).
Review URL: https://chromiumcodereview.appspot.com//9549008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4774 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-01 00:03:03 +00:00
srdjan@google.com 1d7321e3f2 Fix Issue 1846: Improve error reporting in presence of imports. With this CL:
'/Users/srdjan/bdartall/dart/runtime/bug3.dart': Error: line 2 pos 1: unexpected token 'abstract'
abstract class A { }
^
'/Users/srdjan/bdartall/dart/runtime/bug2.dart': Error: line 2 pos 1: library handler failed
#import("bug3.dart");
^
'/Users/srdjan/bdartall/dart/runtime/bug1.dart': Error: line 2 pos 1: library handler failed
#import("bug2.dart");
^
Review URL: https://chromiumcodereview.appspot.com//9559001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4773 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-29 23:53:07 +00:00
cshapiro@google.com cbe6cf6b0c Guard calls to ByteAddr when a ByteArray copy length is 0.
It is permitted to specify a start index equal to the array length
when the copy length is 0.  This runs afoul of an assertion in
ByteAddr that validates 0 <= index < length.  Consistent with other
methods to retrieve a raw element address, we now guard this call with
an implicit check for this boundary condition by ensuring length is
greater than zero.

In addition, some simple unit tests for ByteArray::Copy have been added.

BUG=1891

Review URL: https://chromiumcodereview.appspot.com//9560001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4772 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-29 23:51:01 +00:00
asiva@google.com 33d2e2fe26 Changes to shrink the token stream representation from two words to one word.
On standalone dartium which has about 50000 tokens in the libraries (core, coreimpl, builtin, io etc.) this reduces the heap size by about 180kb. The size of the standalone snapshot buffer reduces by about 72kb.

Also moved the keyword symbol table to the object store so that it does not have to repopulated on every script compilation. Should benefit regular user script load times.
Review URL: https://chromiumcodereview.appspot.com//9462003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4734 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-29 02:46:29 +00:00
regis@google.com 47724a8491 Add support for malformed types and postpone some related errors from compile
time to execution time.

Still to do (once spec is clarified):
- properly handle generic type bounds errors
- properly handle 'instance of' type checks involving malformed types
- fix bad tests
Review URL: https://chromiumcodereview.appspot.com//9515011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4732 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-29 02:14:18 +00:00
srdjan@google.com ab3736b98d Fix issue 1845: Mint BIT_AND Smi was incorrect for negative Smi-s. Jump to slow case on negative Smi since the result will be Mint anyway.
Review URL: https://chromiumcodereview.appspot.com//9526001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4730 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-29 01:08:19 +00:00
hausner@google.com eb6fe72a42 Teach the flow graph compiler to play nice with the debugger
Add PC descriptors for return statements. Fixing blood red build bot.
Review URL: https://chromiumcodereview.appspot.com//9523001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4725 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 21:53:35 +00:00
hausner@google.com 4be3dd1f7e Fix debugger stepping on Linux
Missing instance field initialization. Bah!

TBR=regis
Review URL: https://chromiumcodereview.appspot.com//9513005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4721 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 19:35:45 +00:00
asiva@google.com 738f458956 Changes to get rid of dependency on openssl in the dart VM.
(This will enable dartium to be built on the windows platform).
Review URL: https://chromiumcodereview.appspot.com//9481019

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4717 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 18:36:39 +00:00
asiva@google.com 77b50977be Allow Dart_Null to be passed in for the import map in Dart_LoadLibrary and Dart_LoadScript.
Review URL: https://chromiumcodereview.appspot.com//9447041

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4716 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 18:21:57 +00:00
kmillikin@google.com 888a35df7f Add a stubbed-out implementation of FlowGraphCompiler for ia32 and arm.
It bails out if FlowGraphCompiler::CompileGraph is called, all other public
API functions are UNIMPLEMENTED.

R=srdjan@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9479004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4685 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 14:17:17 +00:00
floitsch@google.com 3c2b298a75 Implement Double.{toString, toStringAsExponential, toStringAsPrecision}
Also switch to -0.0.

Review URL: https://chromiumcodereview.appspot.com//9113043

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4681 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 13:19:50 +00:00
kmillikin@google.com 66d243ea7d Allocate and finalize a code object on x64 if the new compiler succeeds.
If the new compiler completed, use the code that it produced.

R=srdjan@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9474001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4674 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 11:34:27 +00:00
kmillikin@google.com 013864dcec Implement x64 compilation for loading and storing local variables.
Continue to bailout on optional parameters and context-allocated local
variables.

Implement compilation of Bind and Do instructions, LoadLocal and StoreLocal
computations, and temporary values.  Temporary allocation assumes they obey
a stack-discipline and have a single use---so any use is always the last
use.  Temporaries can then be allocated via push and used via pop.  This
dart function:

hukairs(a) {
  var b, c;
  c = b = a;
  return c;
}

compiles to this annotated generated code snippet:

	;; StoreLocal(b, #null)
  66:	mov    $0x7f99303c0021,%rax
  70:	mov    %rax,-0x8(%rbp)
	;; StoreLocal(c, #null)
  74:	mov    $0x7f99303c0021,%rax
  7e:	mov    %rax,-0x10(%rbp)
	;; t0 <-LoadLocal(a)
  82:	mov    0x10(%rbp),%ax
  86:	push   %rax
	;; t0 <-StoreLocal(b, t0)
  87:	pop    %rax
  88:	mov    %rax,-0x8(%rbp)
  8c:	push   %rax
	;; StoreLocal(c, t0)
  8d:	pop    %rax
  8e:	mov    %rax,-0x10(%rbp)
	;; t0 <-LoadLocal(c)
  92:	mov    -0x10(%rbp),%ax
  96:	push   %rax
	;; return t0
  97:	pop    %rax
	;; ...
  bf:	mov    %rbp,%rsp
  c2:	pop    %rbp
  c3:	retq

R=srdjan@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9447102

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4666 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 09:11:18 +00:00
kmillikin@google.com b565b15849 Expand the instruction visitor to visit computations and values.
For compilation passes we will want a visitor that can reach computations
and values, rather than virtual functions in the computation/value classes.
Implement the visitor signature and double dispatching.  Use it to remove
the virtual Print functions.

R=srdjan@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9471010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4664 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 08:58:49 +00:00
srdjan@google.com f6dfa63c9a Cleaned up usage of Function::code, since it may be misunderstood that it points to the only Code object that belongs to that function. That is not the case, there can be several Code object generated for the same function. "Renamed" "code()" to "CurrentCode()", use unoptimized_code where it is clear that we are using unoptimized code only. If compiled, there is a 1:1 correspondence between function and unoptimized code.
Review URL: https://chromiumcodereview.appspot.com//9475031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4656 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 01:31:44 +00:00
hausner@google.com 3161ad5dda Print more info in debugger tests
Review URL: https://chromiumcodereview.appspot.com//9475030

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4648 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-27 23:03:19 +00:00
sigmund@google.com ee6a907611 isolates refactor: this change introduces 'dart:isolate' as a library. This is a
big global change, so let me explain in more detail. This refactoring CL does
the following:
- moves all the dart code for isolates in a common library (lib/isolate)

- changes frog to understand 'dart:isolate' imoprts by loading the code from the
  location above.

- changes the vm to undernstand 'dart:isolate' imports by creating a separate
  library that is part of the bootstrap. This follows the same code-structure
  that Todd suggested in his CL introducing the mirror library

- changes dartc to use the shared isolate library as the source of truth for
  type checking. I left around some of the internal js code in dartc so that the
  backend continues to work for apps that don't use isolates.

- changes all tests that use isolates to import the library explicitly (this is a large bulk of the files in this CL)

- changes test status for tests we can't fix in this repo (e.g. co19)

- splits the isolate library code to make it possible to preserve some tests
  without exposing internal types (e.g. tests about
  serialization/deserialization)

- changes the create_sdk script to copy the isolate library to the sdk

- includes the isolate library in dartdoc

I'll wait for at least one lgtm from each area (dartc, vm, frog, sdk)

There is one important pending thing this CL doesn't do:
- update test_runner.dart: This should be updated next time we upload the new
  binaries to tool/testing/bin
- dartium specific changes: Vijay, is there anything I need to do for dartium?

Review URL: https://chromiumcodereview.appspot.com//9422019

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4647 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-27 22:50:44 +00:00
hausner@google.com e74d822b1d Fix merge error, Debug_StepInto test
Review URL: https://chromiumcodereview.appspot.com//9481018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4641 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-27 22:18:00 +00:00
hausner@google.com 6d9abc5e3b StepOver, StepInto, StepOut
Implement single stepping in the debugger.
- Add PC descriptors for function return
- functions to set temporary breakpoints on all
  locations in a function.
- patching/restoring of function return code pattern
- determine call target of instance calls
Review URL: https://chromiumcodereview.appspot.com//9484002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4639 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-27 22:00:28 +00:00
srdjan@google.com 70c2a65acd Fix issue 1857: code lookup was wrong when searching for exception handler.
(TODO: reevaluate who is using the function's code reference).
Review URL: https://chromiumcodereview.appspot.com//9480006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4633 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-27 18:41:57 +00:00
kmillikin@google.com 862dc2f03c Add enough compiler support to compile empty functions on x64.
Implement a simple compilation visitor for the intermediate language.  Copy
code from the x64 code generator to support compilation of functions with no
arguments, no locals, and that return a literal.

Compiled code is not used, but it can be disassembled and visually checked
against the code from the old code generator.

R=srdjan@google.com
BUG=
TEST=expected to pass all tests on x64

Review URL: https://chromiumcodereview.appspot.com//9464009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4601 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-27 08:28:51 +00:00