Mark File/Directory.fromRawPath as an entry point

Fixes https://github.com/flutter/flutter/issues/21242

Change-Id: Ibc100bbdaffd41a1f91a13087a0f12bc1849fc6f
Reviewed-on: https://dart-review.googlesource.com/72920
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
diff --git a/runtime/bin/dart_io_entries.txt b/runtime/bin/dart_io_entries.txt
index c642194..b21ec2d 100644
--- a/runtime/bin/dart_io_entries.txt
+++ b/runtime/bin/dart_io_entries.txt
@@ -10,7 +10,9 @@
 dart:io,::,_getWatchSignalInternal
 dart:io,CertificateException,CertificateException.
 dart:io,Directory,Directory.
+dart:io,Directory,Directory.fromRawPath
 dart:io,File,File.
+dart:io,File,File.fromRawPath
 dart:io,FileSystemException,FileSystemException.
 dart:io,HandshakeException,HandshakeException.
 dart:io,Link,Link.
diff --git a/sdk/lib/io/directory.dart b/sdk/lib/io/directory.dart
index bdd4af1..2fc0930 100644
--- a/sdk/lib/io/directory.dart
+++ b/sdk/lib/io/directory.dart
@@ -135,6 +135,7 @@
     return overrides.createDirectory(path);
   }
 
+  @pragma("vm:entry-point")
   factory Directory.fromRawPath(Uint8List path) {
     // TODO(bkonyi): Handle overrides.
     return new _Directory.fromRawPath(path);
diff --git a/sdk/lib/io/file.dart b/sdk/lib/io/file.dart
index e34008c..6fe447f 100644
--- a/sdk/lib/io/file.dart
+++ b/sdk/lib/io/file.dart
@@ -267,6 +267,7 @@
    * Creates a File object from a raw path, that is, a sequence of bytes
    * as represented by the OS.
    */
+  @pragma("vm:entry-point")
   factory File.fromRawPath(Uint8List rawPath) {
     // TODO(bkonyi): Handle overrides.
     return new _File.fromRawPath(rawPath);