Commit Graph

15405 Commits

Author SHA1 Message Date
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
sgjesse@google.com b52a27889d Use a pool of native ports for directory operations
Each directory object creates a new service port which will start a
new thread. As these service ports are currently never closed this is
a huge problem causing the standalone VM to fail when running out of
threads.

This change uses a pool of native ports for directory operations. This
still ensures that the operations for each directory object are
serialized and limits the number of native ports allocated and thus
threads started.

Even when closing of native ports is possible we might want to keep
some kind of pool like this. The reason for this is that to actually
determine when the native port is not needed any more we need a
finalizer callback on the directory object.

R=ager@google.com

BUG=none
TEST=tests/standalone/src/ManyDirectoryOperationsTest.dart

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4795 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-01 14:29:12 +00:00
sgjesse@google.com 9091eeff05 Missing handling of default arguments in socket stream readInto
Also made it a bit easier to write a socket connection test.

R=ager@google.com

BUG=dart:1925
TEST=tests/standalone/src/Regress-1925.dart

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4793 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-01 12:32:52 +00:00
ager@google.com 242bba108b Reapply dart:io API changes.
R=sgjesse@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4790 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-01 10:07:35 +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
ager@google.com fd31551ca4 Revert "Rename blahHandler to onBlah throughout dart:io."
D'oh! I need to update the test binaries as well. Reverting, building
and putting back in again.

R=sgjesse@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4785 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-01 09:43:15 +00:00
ager@google.com 40e0bceab5 Rename blahHandler to onBlah throughout dart:io.
Additionally, change all single-shot methods to take their callback as an argument instead of registering it on the object.

I have attempted to find all uses in the repo but there might
be some firefighting to do when this lands.

R=sgjesse@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4784 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-01 09:36:04 +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
ager@google.com f1b2e219ce Fix close callback on FileInputStreams.
Not waiting for the underlying file to actually close before
setting streamMarkedClosed can lead to too early close callbacks.

R=sgjesse@google.com
BUG=dart:1922
TEST=standalone/FileTest.dart

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4754 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-29 15:42:19 +00:00
sgjesse@google.com 1ae77db2aa Add statusCode and reasonPhrase getters and setters to the HttpResponse interface
These where missing in the interface.

R=ager@google.com

BUG=dart:1919
TEST=tests/standalone/src/HttpTest.dart

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4750 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-29 12:59:44 +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
sigmund@google.com 643b772a61 isolates: remove Isolate2 interface, add the top-level spawning functions, add more comments, adapt tests to this API.
Review URL: https://chromiumcodereview.appspot.com//9521007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4729 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-29 00:54:15 +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
sgjesse@google.com 17abda51e5 Include HTTP library in the standalone VM
HTTP support is part of library dart:io.

The current interface is defined in runtime/bin/http.dart

R=ager@google.com

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4692 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 15:11:34 +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
sgjesse@google.com d7c1a2835f Prepare the HTTP library for inclusion in the standalone VM (step 2)
Change the handling of the received data on HTTPRequest and
HTTPClientResponse to use the InputStream interface instead of
dataReceived and dataEnd handlers.

We should probably do something to make the following serer side and
client side patterns simpler:

void handler(HTTPRequest request, HTTPResponse response) {
  ...
  StringBuffer body = new StringBuffer();
  StringInputStream input = new StringInputStream(request.inputStream);
  input.dataHandler = () => body.add(input.read());
  input.closeHandler = () {
    String data = body.toString();
    ...
  }
}

HTTPClientConnection conn = ...
  conn.responseHandler = (HTTPClientResponse r) {
  ...
  StringBuffer body = new StringBuffer();
  StringInputStream input = new StringInputStream(request.inputStream);
  input.dataHandler = () => body.add(input.read());
  input.closeHandler = () {
    String data = body.toString();
    ...
  }
}

R=ager@google.com,ajohnsen@google.com

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4679 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 13:04:04 +00:00
ager@google.com 4d94b5c4d9 Move back to having File.open{Input,Output}Stream return the stream directly.
R=sgjesse@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4677 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 12:28:42 +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
whesse@google.com 87466eccdd Fix type warnings in dart:io library.
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4672 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 11:09:41 +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
ager@google.com acc7252c25 Fix type warning.
R=sgjesse@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4663 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 08:51:07 +00:00
ager@google.com 103804d7f2 Make FileInputStream and FileOutputStream actually asynchronous.
Use the async API of the underlying file.

This also means that openInputStream and openOutputStream can
directly return the stream without performing IO. I'll do that
change as a follow-up.

R=sgjesse@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4662 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-28 08:38:25 +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 1fae7e102b Disable breakpoint tests until I figure out why they fail on Linux
Review URL: https://chromiumcodereview.appspot.com//9479024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4649 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-27 23:34:53 +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
kmillikin@google.com 3fb8b5985e Ensure that outgoing constant arguments will be materialized.
This keeps the IL simple for the benefit of the optimizing compiler.
It intentionally relies on a particular temporary allocation strategy
for the non-optimizing compiler.

For the dart function

main() {
  var x = 2;
  hukairs(1, x, 3);
}

The flow graph is:

 0: [target]
    StoreLocal(x, #2)
    t0 <-#1
    t1 <-LoadLocal(x)
    t2 <-#3
    StaticCall(hukairs, t0, t1, t2)
    return #null

R=srdjan@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4600 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-27 08:04:24 +00:00
kmillikin@google.com 7fd32d779b Incorporate some review comments.
Clean up a couple of style TODOs from an earlier review.

R=srdjan@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4599 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-27 07:56:37 +00:00
hausner@google.com eff1a31d6f Fixing bugs: 1612, 1843, 1847
- Fix error location when referring to types in object allocation.
- Handle CR/LF correctly at beginning of source.
- Detect duplicate identifier in typedef declaration.
Review URL: https://chromiumcodereview.appspot.com//9466030

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4584 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-25 00:47:06 +00:00
srdjan@google.com a343a49338 Do not count invocations but usage of a function, i.e., increment a function's counter at IC calls and at return operations in unoptimized code. (TODO: increment count at static calls as well). There is no checking at method entry any more. The function counter reporting is not measuring the invocation count but much more how much time we spend in a method. Removed counter at backward branches.
Renamed flags to:
--optimization_counter_threshold (default 2000)
--report_usage_count
Review URL: https://chromiumcodereview.appspot.com//9460015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4583 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-25 00:33:25 +00:00
srdjan@google.com 1eaef108b9 Move CodeGenerator::DescriptorList into shared part.
Review URL: https://chromiumcodereview.appspot.com//9465028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4582 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 23:27:24 +00:00
srdjan@google.com 397f15c454 Added LoadLiteralComp, StrictCompareComp; implement InstanceCallNode.
Review URL: https://chromiumcodereview.appspot.com//9456033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4580 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 22:37:57 +00:00