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
ager@google.com
e286176171
Implement File.{readAsBytes, readAsText, readAsLines}.
...
Convenience methods to use if all you care about is getting the
entire contents of a file.
R=sgjesse@google.com
BUG=1579
TEST=standalone/FileTest
Review URL: https://chromiumcodereview.appspot.com//9452014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4568 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 13:31:38 +00:00
asiva@google.com
dfdbec210a
Fix build break.
...
TBR=srdjan
Review URL: https://chromiumcodereview.appspot.com//9455032
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4556 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 23:43:14 +00:00
asiva@google.com
26d2689283
Change the generated dart test in CodeIndexTableTest so that it does not induce a deep recursion in the dart code generator.
...
Review URL: https://chromiumcodereview.appspot.com//9454024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4555 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 23:01:45 +00:00
srdjan@google.com
e8114222fe
New compiler, intermediate language, type testing and casting changes as agreed with Kevin.
...
Review URL: https://chromiumcodereview.appspot.com//9454022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4554 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 22:51:18 +00:00
srdjan@google.com
e6d87ec63f
When tracing type checks in runtime, also print the method where the type check occured.
...
Review URL: https://chromiumcodereview.appspot.com//9447028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4551 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 20:03:02 +00:00
hausner@google.com
1ecc0a9e97
Fix handling of unresolved names
...
Fixes issue 1805 (http://code.google.com/p/dart/issues/detail?id=1805 )
The VM didn't turn unresolved identifiers into instance getter calls in all cases. Refactored the code that handles primary expressions.
Review URL: https://chromiumcodereview.appspot.com//9453020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4550 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 19:55:57 +00:00
srdjan@google.com
e3c98a5e19
Enable new compiler in x64 mode (bail-out all the time, but we can use automated testing).
...
Disable CodeIndexTable test inde debug x64. This CL includes a pending CL from Kevin (will wait for it to be submitted).
Review URL: https://chromiumcodereview.appspot.com//9443021
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4549 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 19:24:14 +00:00
srdjan@google.com
00ae8f2985
Fix issue 1741: add map to immutable list.
...
Review URL: https://chromiumcodereview.appspot.com//9456017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4548 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 19:23:41 +00:00
kmillikin@google.com
023b02d54c
Implement a simple InstructionVisitor class.
...
The instruction visitor visits each block and for each block each
instruction. Rewrite the instruction printing code to use this new
visitor.
R=srdjan@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9453014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4547 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 18:29:58 +00:00
kmillikin@google.com
164832b3a3
Add type testing and casting support.
...
Introduce a virtual tag() function to Instruction classes, use it to
implement type testing and casting. Use type testing and casting to
eliminate some virtual functions on the instruction classes.
R=srdjan@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9454012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4546 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 18:15:11 +00:00
kmillikin@google.com
131632ab24
Fix a pair of bugs in the translation of 'if' nodes.
...
The condition graph fragment was appended twice, and the join did not
properly handle the case of nonlocal exits from the arms of the 'if'.
R=srdjan@google.com
BUG=
TEST=all tests pass in x64 release mode with --use_new_compiler
Review URL: https://chromiumcodereview.appspot.com//9456009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4545 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 18:09:44 +00:00
srdjan@google.com
d89a53417b
Added LongJump for bailout. When trying to fix all crashes, CHECK_ALIVE did not scale well as bailing out mechanism.
...
Implemented UnaryOpNode. Fix crashes.
(this CL also includes the patches from https://chromiumcodereview.appspot.com/9429056/ , will remove them once syncing with submitted 9429056)
Review URL: https://chromiumcodereview.appspot.com//9443002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4541 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 16:14:01 +00:00
ager@google.com
e92d0eab5a
Reimplement Windows Monitors.
...
Now using an event object per thread which is linked into a list
of waiters for the monitor.
Notify takes the first element of the list and notifies (FIFO order).
Notify all extracts the entire list and notifies each of them. This
avoids the issues with fairness and correctness of the previous version.
The MonitorWaitData object holding the event and a pointer to the
next waiter is stored in thread local storage and lazily initialized.
R=sgjesse@google.com ,asiva@google.com
BUG=1614
TEST=
Review URL: https://chromiumcodereview.appspot.com//9424050
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4537 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 15:24:18 +00:00
whesse@google.com
f3ab33610d
Use correct format for gyp file when adding -ldl linker flag.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9452013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4536 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 14:52:40 +00:00
whesse@google.com
47f51c1053
Add -ldl linker flag to libdart_builtin link step.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9447018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4532 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 14:25:52 +00:00
whesse@google.com
33acdc584a
Add -ldl linker flag to Dart shell extensions test shared library link.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9442016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4530 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 13:46:36 +00:00
whesse@google.com
0e40002890
Add native extensions to the Dart shell, on the linux platform.
...
BUG=
TEST=standalone/TestExtensionTest
Review URL: https://chromiumcodereview.appspot.com//9430051
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4529 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 13:25:11 +00:00
sgjesse@google.com
e07a1f818e
Fix bug in Directory after porting to using native ports
...
The full path was no longer provided to the directory handler
R=ager@google.com
TEST=tests/standalone/src/DirectoryTest.dart
BUG=
Review URL: https://chromiumcodereview.appspot.com//9452009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4521 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 11:13:35 +00:00
sgjesse@google.com
5a38a88099
Port async file operations to be using native ports instead or an isolate
...
R=ager@google.com
Review URL: https://chromiumcodereview.appspot.com//9415043
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4520 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 11:11:48 +00:00
kmillikin@google.com
392cdd56ef
Recognize basic block entries in the flow graph.
...
Also, instead of keeping a list of all instructions, keep a list of only
block entries. The printing implementation is changed (for the better) to
use the new representation. With --use_new_compiler and --print_flow_graph
the function:
main() {
var f = 1;
var n = 5;
while (n > 0) {
f = f * n;
n = n - 1;
}
print(f);
}
prints as:
0: [target]
StoreLocal(f, #1 )
StoreLocal(n, #5 ) goto 1
1: [join]
t0 <-LoadLocal(n)
t0 <-InstanceCall(>, t0, #0 )
if t0 goto(2, 3)
2: [target]
t0 <-LoadLocal(f)
t1 <-LoadLocal(n)
t0 <-InstanceCall(*, t0, t1)
StoreLocal(f, t0)
t0 <-LoadLocal(n)
t0 <-InstanceCall(-, t0, #1 )
StoreLocal(n, t0) goto 1
3: [target]
t0 <-LoadLocal(f)
StaticCall(print, t0)
return #null
R=srdjan@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9429056
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4515 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 09:09:45 +00:00
srdjan@google.com
a396e575ee
Fix Issue 1804: Forgot to rename one virtual function.
...
Review URL: https://chromiumcodereview.appspot.com//9429072
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4503 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 22:41:56 +00:00
iposva@google.com
f0c1954e9b
Fix issue 732:
...
- Add handling for #resource library tags: Ignore at runtime, they are only used
by the Dart Editor at the moment.
Review URL: https://chromiumcodereview.appspot.com//9431038
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4493 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 21:40:07 +00:00
regis@google.com
1442b01a25
Fix typo in --verify_implements functionality (issue 1291).
...
Review URL: https://chromiumcodereview.appspot.com//9433047
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4481 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 18:42:09 +00:00
srdjan@google.com
251439618f
Disable invocation of otpimizing compiler on x64 regardless of optimization_invocation_threshold value.
...
Review URL: https://chromiumcodereview.appspot.com//9431036
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4478 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 17:54:57 +00:00
regis@google.com
25fcaf5044
Generic bound errors are static type errors not to be reported by the VM.
...
Review URL: https://chromiumcodereview.appspot.com//9428015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4476 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 17:48:05 +00:00
srdjan@google.com
ab73a42f2d
List.add is void (returns null). Fix issue 1213.
...
Review URL: https://chromiumcodereview.appspot.com//9431024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4475 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 17:46:38 +00:00
kmillikin@google.com
552825c221
Required rename on x64 platform.
...
Due to a name clash, rename class Instruction => InstructionPattern.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9429055
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4466 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 16:38:56 +00:00
ager@google.com
7e4a36278f
Implement File.directory() and File.directorySync() to get
...
containing directory for a file.
BUG=dart:1618
TEST=standalone/FileTest
Review URL: https://chromiumcodereview.appspot.com//9416096
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4464 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 16:18:39 +00:00
srdjan@google.com
7e24821862
Implement more missing pieces in VM's core library. Although it does not seem to make sense to have toStringAsFixed, toStringAsExponential and toStringAsPrecision in integers, the interface 'num' specifies them, most likely because of troubles in Javascript versions.
...
Note that Double_toStringAsExponential and Double_toStringAsPrecision are still unimplemented in C++. Instead of crashing, throw an exception. Also fix argument passing.
Review URL: https://chromiumcodereview.appspot.com//9416084
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4463 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 15:31:08 +00:00
kmillikin@google.com
41e77a0a9e
Initial implementation of a flow-graph builder for Dart's AST.
...
Visit the AST and generate an instruction (ie, not basic-block) flow
graph.
The flow graph for the simple function:
main() {
var f = 1;
var n = 5;
while (n > 0) {
f = f * n;
n = n - 1;
}
print(f);
}
is:
1: StoreLocal(f, #1 )
2: StoreLocal(n, #5 )
3: [join]
4: t0 <-LoadLocal(n)
5: t0 <-InstanceCall(>, t0, #0 )
6: if t0 goto(7, 15)
7: [target]
8: t0 <-LoadLocal(f)
9: t1 <-LoadLocal(n)
10: t0 <-InstanceCall(*, t0, t1)
11: StoreLocal(f, t0)
12: t0 <-LoadLocal(n)
13: t0 <-InstanceCall(-, t0, #1 )
14: StoreLocal(n, t0) goto 3
15: [target]
16: t0 <-LoadLocal(f)
17: StaticCall(print, t0)
18: return #null
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9414003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4460 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 15:20:13 +00:00
sgjesse@google.com
46e44ecba1
Add both sync and async methods for getting streams for a File
...
The File class used to have two synchronous methods
openInputStream and openOutputStream for getting streams for a
file. These have now been changed to work asynchronously by the
associated callback inputStreamHandler or outputStreamHandler
when the stream is opened and available.
To support the synchronous API two new methods
openInputStreamSync and openOutputStreamSync which returns the
stream directly as before have been added.
The actual implemnetation of the file streams still uses the
synchronous file API internally. However this change
adds "simulated" handling of noPendingWriteHandler and
closeHandler for file output stream.
R=ager@google.com
BUG=dart:1784
TEST=
Review URL: https://chromiumcodereview.appspot.com//9432023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4452 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 14:11:04 +00:00
cshapiro@google.com
fb485357cb
Thread the weak persistent handle free-list through the raw_ field.
...
As free-list pointers are either the address of the next free handle
or NULL, raw_ fields should conveniently appear as a smi and be
ignored during weak reference processing. Ordinary persistent handles
already reuse the raw_ field for this purpose and rely on confusing
free-list links with tagged smi values.
Of course, nothing strictly requires that the addresses of handles be
aligned in just the right way. So, just in case, new asserts check
that raw_ field values are not confusable with tagged heap addresses.
Review URL: https://chromiumcodereview.appspot.com//9413003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4423 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 03:52:12 +00:00
jjb@google.com
a2f2769ec3
Wrote functions to convert collections and maps to strings and invoked
...
these functions from the toString methods of all built-in Collection
and Map implementations. Wrote smoke tests and basher tests.
Review URL: https://chromiumcodereview.appspot.com//9431015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4421 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 02:28:01 +00:00
srdjan@google.com
c8fa1ae3b4
Fix for 1267: Implement (partially) Math.pow for integers.
...
Review URL: https://chromiumcodereview.appspot.com//9372078
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4419 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 01:41:13 +00:00
srdjan@google.com
a54f33bf92
ICData is now a wrapper object that refers to the calling function, target name, ic data array, etc. The old ICData C++ class that wrapped around an Array is removed. The advantage is that the ICData object remains the same, only its ic_data array object is being modified as classes are added..
...
TODO: store ICData-s into function so that the type feedback can be easily extracted (currently must traverse the unoptimized code).
Review URL: https://chromiumcodereview.appspot.com//9395016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4417 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 00:40:03 +00:00
iposva@google.com
a68ea7e455
- Windows only: Move the BN library link dependency into the standalone binaries.
...
Review URL: https://chromiumcodereview.appspot.com//9433021
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4416 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 00:36:14 +00:00
srdjan@google.com
87089f37f1
Fix cacthing exception object: a null exception is always caught.
...
Review URL: https://chromiumcodereview.appspot.com//9416067
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4411 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-21 22:07:59 +00:00
srdjan@google.com
acb395f713
Fix issue 979: operator arity must be verified.
...
Review URL: https://chromiumcodereview.appspot.com//9414005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4401 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-21 17:34:00 +00:00
sgjesse@google.com
18df1964f7
Fix bug from r4390 on Windows
...
The file handler did not pass the full path.
R=ager@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9428002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4391 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-21 13:29:52 +00:00
sgjesse@google.com
9390f1577a
Run all directory async operations on a separate thread using native ports
...
R=ager@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9310082
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4390 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-21 11:35:42 +00:00
sgjesse@google.com
f02c9e45d6
Add utility functions for creating and accessing Dart_CObject structures
...
All allocation is done using Dart_ScopeAllocate, so no explicit feeing
is required. This also means that these utilities require an active
ApiZone.
R=ager@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9403012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4388 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-21 08:59:41 +00:00
ager@google.com
e2c233c750
Disallow opening of directories as files.
...
R=sgjesse@google.com
BUG=1614
TEST=tests/standalone/src/FileTest.dart
Review URL: https://chromiumcodereview.appspot.com//9427014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4387 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-21 07:22:20 +00:00