[vm/precomp] Remove part of the generated entry points JSON list.

Change-Id: I2ae71b0ef35e8e009d1ff4d5917974748dfd6f05
Cq-Include-Trybots: luci.dart.try:vm-kernel-win-release-x64-try,vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/69961
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
diff --git a/runtime/lib/array.dart b/runtime/lib/array.dart
index b6b5508..66aab66 100644
--- a/runtime/lib/array.dart
+++ b/runtime/lib/array.dart
@@ -4,6 +4,7 @@
 
 // part of "core_patch.dart";
 
+@pragma("vm.entry-point")
 class _List<E> extends FixedLengthListBase<E> {
   factory _List(length) native "List_allocate";
 
diff --git a/runtime/lib/bool_patch.dart b/runtime/lib/bool_patch.dart
index bfa18bb..aded25c 100644
--- a/runtime/lib/bool_patch.dart
+++ b/runtime/lib/bool_patch.dart
@@ -5,6 +5,7 @@
 // part of "core_patch.dart";
 
 @patch
+@pragma("vm.entry-point")
 class bool {
   @patch
   const factory bool.fromEnvironment(String name, {bool defaultValue: false})
diff --git a/runtime/lib/compact_hash.dart b/runtime/lib/compact_hash.dart
index 6f7737e..8ed8af6 100644
--- a/runtime/lib/compact_hash.dart
+++ b/runtime/lib/compact_hash.dart
@@ -131,6 +131,7 @@
 }
 
 // VM-internalized implementation of a default-constructed LinkedHashMap.
+@pragma("vm.entry-point")
 class _InternalLinkedHashMap<K, V> extends _HashVMBase
     with
         MapMixin<K, V>,
diff --git a/runtime/lib/double.dart b/runtime/lib/double.dart
index 151bf24..aa2da6b 100644
--- a/runtime/lib/double.dart
+++ b/runtime/lib/double.dart
@@ -4,6 +4,7 @@
 
 // part of "core_patch.dart";
 
+@pragma("vm.entry-point")
 class _Double implements double {
   factory _Double.fromInteger(int value) native "Double_doubleFromInteger";
 
diff --git a/runtime/lib/function.dart b/runtime/lib/function.dart
index 2882d36..2707cf7 100644
--- a/runtime/lib/function.dart
+++ b/runtime/lib/function.dart
@@ -4,6 +4,7 @@
 
 // part of "core_patch.dart";
 
+@pragma("vm.entry-point")
 class _Closure implements Function {
   bool operator ==(Object other) native "Closure_equals";
 
diff --git a/runtime/lib/growable_array.dart b/runtime/lib/growable_array.dart
index 7252478..c38af29 100644
--- a/runtime/lib/growable_array.dart
+++ b/runtime/lib/growable_array.dart
@@ -4,6 +4,7 @@
 
 // part of "core_patch.dart";
 
+@pragma("vm.entry-point")
 class _GrowableList<T> extends ListBase<T> {
   void insert(int index, T element) {
     if ((index < 0) || (index > length)) {
diff --git a/runtime/lib/integers.dart b/runtime/lib/integers.dart
index eb2d165..457c834 100644
--- a/runtime/lib/integers.dart
+++ b/runtime/lib/integers.dart
@@ -451,6 +451,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Smi extends _IntegerImplementation implements _int64 {
   factory _Smi._uninstantiable() {
     throw new UnsupportedError("_Smi can only be allocated by the VM");
@@ -649,6 +650,7 @@
 }
 
 // Represents integers that cannot be represented by Smi but fit into 64bits.
+@pragma("vm.entry-point")
 class _Mint extends _IntegerImplementation implements _int64 {
   factory _Mint._uninstantiable() {
     throw new UnsupportedError("_Mint can only be allocated by the VM");
diff --git a/runtime/lib/isolate_patch.dart b/runtime/lib/isolate_patch.dart
index 7569397..7ee29d8 100644
--- a/runtime/lib/isolate_patch.dart
+++ b/runtime/lib/isolate_patch.dart
@@ -34,6 +34,7 @@
   factory Capability() => new _CapabilityImpl();
 }
 
+@pragma("vm.entry-point")
 class _CapabilityImpl implements Capability {
   factory _CapabilityImpl() native "CapabilityImpl_factory";
 
@@ -128,6 +129,7 @@
   return _isolateScheduleImmediate;
 }
 
+@pragma("vm.entry-point")
 class _RawReceivePortImpl implements RawReceivePort {
   factory _RawReceivePortImpl() native "RawReceivePortImpl_factory";
 
@@ -192,6 +194,7 @@
   static final Map _handlerMap = _initHandlerMap();
 }
 
+@pragma("vm.entry-point")
 class _SendPortImpl implements SendPort {
   /*--- public interface ---*/
   @pragma("vm.entry-point")
diff --git a/runtime/lib/lib_prefix.dart b/runtime/lib/lib_prefix.dart
index aae8c85..de00fcd 100644
--- a/runtime/lib/lib_prefix.dart
+++ b/runtime/lib/lib_prefix.dart
@@ -5,6 +5,7 @@
 // part of "core_patch.dart";
 
 // This type corresponds to the VM-internal class LibraryPrefix.
+@pragma("vm.entry-point")
 class _LibraryPrefix {
   bool _load() native "LibraryPrefix_load";
   Object _loadError() native "LibraryPrefix_loadError";
diff --git a/runtime/lib/mirror_reference.dart b/runtime/lib/mirror_reference.dart
index 4510497..8b31670 100644
--- a/runtime/lib/mirror_reference.dart
+++ b/runtime/lib/mirror_reference.dart
@@ -4,6 +4,7 @@
 
 // part of "mirrors_patch.dart";
 
+@pragma("vm.entry-point")
 class _MirrorReference {
   factory _MirrorReference._uninstantiable() {
     throw new UnsupportedError("class _MirrorReference cannot be instantiated");
diff --git a/runtime/lib/null_patch.dart b/runtime/lib/null_patch.dart
index a8da2ea..08b55bb 100644
--- a/runtime/lib/null_patch.dart
+++ b/runtime/lib/null_patch.dart
@@ -5,6 +5,7 @@
 // part of "core_patch.dart";
 
 @patch
+@pragma("vm.entry-point")
 class Null {
   static const _HASH_CODE = 2011; // The year Dart was announced and a prime.
 
diff --git a/runtime/lib/object_patch.dart b/runtime/lib/object_patch.dart
index 50f279a..8a743ba 100644
--- a/runtime/lib/object_patch.dart
+++ b/runtime/lib/object_patch.dart
@@ -8,6 +8,7 @@
 void _setHash(obj, hash) native "Object_setHash";
 
 @patch
+@pragma("vm.entry-point")
 class Object {
   // The VM has its own implementation of equals.
   @patch
diff --git a/runtime/lib/profiler.dart b/runtime/lib/profiler.dart
index 40295a4..7814d69 100644
--- a/runtime/lib/profiler.dart
+++ b/runtime/lib/profiler.dart
@@ -14,6 +14,7 @@
   static UserTag get defaultTag => _getDefaultTag();
 }
 
+@pragma("vm.entry-point")
 class _UserTag implements UserTag {
   factory _UserTag(String label) native "UserTag_new";
   String get label native "UserTag_label";
diff --git a/runtime/lib/regexp_patch.dart b/runtime/lib/regexp_patch.dart
index b7e0f46..f24cdeb 100644
--- a/runtime/lib/regexp_patch.dart
+++ b/runtime/lib/regexp_patch.dart
@@ -182,6 +182,7 @@
   static const int _MATCH_PAIR = 2;
 }
 
+@pragma("vm.entry-point")
 class _RegExp implements RegExp {
   factory _RegExp(String pattern,
       {bool multiLine: false,
diff --git a/runtime/lib/stacktrace.dart b/runtime/lib/stacktrace.dart
index 2022923..ca29353 100644
--- a/runtime/lib/stacktrace.dart
+++ b/runtime/lib/stacktrace.dart
@@ -5,6 +5,7 @@
 // part of "core_patch.dart";
 
 /// VM internal StackTrace implementation.
+@pragma("vm.entry-point")
 class _StackTrace implements StackTrace {
   // toString() is overridden on the C++ side.
 }
diff --git a/runtime/lib/string_patch.dart b/runtime/lib/string_patch.dart
index cc503ff..2757b76 100644
--- a/runtime/lib/string_patch.dart
+++ b/runtime/lib/string_patch.dart
@@ -923,6 +923,7 @@
       native "String_concatRange";
 }
 
+@pragma("vm.entry-point")
 class _OneByteString extends _StringBase {
   factory _OneByteString._uninstantiable() {
     throw new UnsupportedError(
@@ -1226,6 +1227,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _TwoByteString extends _StringBase {
   factory _TwoByteString._uninstantiable() {
     throw new UnsupportedError(
@@ -1246,6 +1248,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ExternalOneByteString extends _StringBase {
   factory _ExternalOneByteString._uninstantiable() {
     throw new UnsupportedError(
@@ -1263,6 +1266,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ExternalTwoByteString extends _StringBase {
   factory _ExternalTwoByteString._uninstantiable() {
     throw new UnsupportedError(
diff --git a/runtime/lib/type_patch.dart b/runtime/lib/type_patch.dart
index 7551055..95defc8 100644
--- a/runtime/lib/type_patch.dart
+++ b/runtime/lib/type_patch.dart
@@ -12,18 +12,23 @@
 }
 
 // Equivalent of RawType.
+@pragma("vm.entry-point")
 class _Type extends _AbstractType {
   int get hashCode native "Type_getHashCode";
 }
 
 // Equivalent of RawTypeRef.
+@pragma("vm.entry-point")
 class _TypeRef extends _AbstractType {}
 
 // Equivalent of RawTypeParameter.
+@pragma("vm.entry-point")
 class _TypeParameter extends _AbstractType {}
 
 // Equivalent of RawBoundedType.
+@pragma("vm.entry-point")
 class _BoundedType extends _AbstractType {}
 
 // Equivalent of RawMixinAppType.
+@pragma("vm.entry-point")
 class _MixinAppType extends _AbstractType {}
diff --git a/runtime/lib/typed_data_patch.dart b/runtime/lib/typed_data_patch.dart
index 7c58712..8c7a1e5 100644
--- a/runtime/lib/typed_data_patch.dart
+++ b/runtime/lib/typed_data_patch.dart
@@ -1897,6 +1897,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ByteBuffer implements ByteBuffer {
   final _TypedList _data;
 
@@ -2122,6 +2123,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Int8List extends _TypedList with _IntListMixin implements Int8List {
   // Method(s) implementing List interface.
   int operator [](int index) {
@@ -2161,6 +2163,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Uint8List extends _TypedList with _IntListMixin implements Uint8List {
   // Methods implementing List interface.
   int operator [](int index) {
@@ -2200,6 +2203,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Uint8ClampedList extends _TypedList
     with _IntListMixin
     implements Uint8ClampedList {
@@ -2241,6 +2245,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Int16List extends _TypedList with _IntListMixin implements Int16List {
   // Method(s) implementing List interface.
   int operator [](int index) {
@@ -2299,6 +2304,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Uint16List extends _TypedList with _IntListMixin implements Uint16List {
   // Method(s) implementing the List interface.
   int operator [](int index) {
@@ -2357,6 +2363,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Int32List extends _TypedList with _IntListMixin implements Int32List {
   // Method(s) implementing the List interface.
   int operator [](int index) {
@@ -2404,6 +2411,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Uint32List extends _TypedList with _IntListMixin implements Uint32List {
   // Method(s) implementing the List interface.
   int operator [](int index) {
@@ -2451,6 +2459,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Int64List extends _TypedList with _IntListMixin implements Int64List {
   // Method(s) implementing the List interface.
   int operator [](int index) {
@@ -2498,6 +2507,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Uint64List extends _TypedList with _IntListMixin implements Uint64List {
   // Method(s) implementing the List interface.
   int operator [](int index) {
@@ -2545,6 +2555,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Float32List extends _TypedList
     with _DoubleListMixin
     implements Float32List {
@@ -2594,6 +2605,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Float64List extends _TypedList
     with _DoubleListMixin
     implements Float64List {
@@ -2643,6 +2655,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Float32x4List extends _TypedList
     with _Float32x4ListMixin
     implements Float32x4List {
@@ -2691,6 +2704,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Int32x4List extends _TypedList
     with _Int32x4ListMixin
     implements Int32x4List {
@@ -2739,6 +2753,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Float64x2List extends _TypedList
     with _Float64x2ListMixin
     implements Float64x2List {
@@ -2775,6 +2790,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ExternalInt8Array extends _TypedList
     with _IntListMixin
     implements Int8List {
@@ -2804,6 +2820,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ExternalUint8Array extends _TypedList
     with _IntListMixin
     implements Uint8List {
@@ -2833,6 +2850,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ExternalUint8ClampedArray extends _TypedList
     with _IntListMixin
     implements Uint8ClampedList {
@@ -2862,6 +2880,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ExternalInt16Array extends _TypedList
     with _IntListMixin
     implements Int16List {
@@ -2900,6 +2919,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ExternalUint16Array extends _TypedList
     with _IntListMixin
     implements Uint16List {
@@ -2938,6 +2958,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ExternalInt32Array extends _TypedList
     with _IntListMixin
     implements Int32List {
@@ -2975,6 +2996,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ExternalUint32Array extends _TypedList
     with _IntListMixin
     implements Uint32List {
@@ -3013,6 +3035,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ExternalInt64Array extends _TypedList
     with _IntListMixin
     implements Int64List {
@@ -3051,6 +3074,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ExternalUint64Array extends _TypedList
     with _IntListMixin
     implements Uint64List {
@@ -3089,6 +3113,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ExternalFloat32Array extends _TypedList
     with _DoubleListMixin
     implements Float32List {
@@ -3127,6 +3152,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ExternalFloat64Array extends _TypedList
     with _DoubleListMixin
     implements Float64List {
@@ -3165,6 +3191,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ExternalFloat32x4Array extends _TypedList
     with _Float32x4ListMixin
     implements Float32x4List {
@@ -3203,6 +3230,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ExternalInt32x4Array extends _TypedList
     with _Int32x4ListMixin
     implements Int32x4List {
@@ -3241,6 +3269,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ExternalFloat64x2Array extends _TypedList
     with _Float64x2ListMixin
     implements Float64x2List {
@@ -3298,6 +3327,7 @@
   factory Float32x4.fromFloat64x2(Float64x2 v) native "Float32x4_fromFloat64x2";
 }
 
+@pragma("vm.entry-point")
 class _Float32x4 implements Float32x4 {
   Float32x4 operator +(Float32x4 other) native "Float32x4_add";
   Float32x4 operator -() native "Float32x4_negate";
@@ -3348,6 +3378,7 @@
       native "Int32x4_fromFloat32x4Bits";
 }
 
+@pragma("vm.entry-point")
 class _Int32x4 implements Int32x4 {
   Int32x4 operator |(Int32x4 other) native "Int32x4_or";
   Int32x4 operator &(Int32x4 other) native "Int32x4_and";
@@ -3392,6 +3423,7 @@
   factory Float64x2.fromFloat32x4(Float32x4 v) native "Float64x2_fromFloat32x4";
 }
 
+@pragma("vm.entry-point")
 class _Float64x2 implements Float64x2 {
   Float64x2 operator +(Float64x2 other) native "Float64x2_add";
   Float64x2 operator -() native "Float64x2_negate";
@@ -3461,6 +3493,7 @@
   final int length;
 }
 
+@pragma("vm.entry-point")
 class _Int8ArrayView extends _TypedListView
     with _IntListMixin
     implements Int8List {
@@ -3505,6 +3538,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Uint8ArrayView extends _TypedListView
     with _IntListMixin
     implements Uint8List {
@@ -3549,6 +3583,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Uint8ClampedArrayView extends _TypedListView
     with _IntListMixin
     implements Uint8ClampedList {
@@ -3594,6 +3629,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Int16ArrayView extends _TypedListView
     with _IntListMixin
     implements Int16List {
@@ -3651,6 +3687,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Uint16ArrayView extends _TypedListView
     with _IntListMixin
     implements Uint16List {
@@ -3709,6 +3746,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Int32ArrayView extends _TypedListView
     with _IntListMixin
     implements Int32List {
@@ -3754,6 +3792,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Uint32ArrayView extends _TypedListView
     with _IntListMixin
     implements Uint32List {
@@ -3799,6 +3838,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Int64ArrayView extends _TypedListView
     with _IntListMixin
     implements Int64List {
@@ -3844,6 +3884,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Uint64ArrayView extends _TypedListView
     with _IntListMixin
     implements Uint64List {
@@ -3889,6 +3930,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Float32ArrayView extends _TypedListView
     with _DoubleListMixin
     implements Float32List {
@@ -3934,6 +3976,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Float64ArrayView extends _TypedListView
     with _DoubleListMixin
     implements Float64List {
@@ -3979,6 +4022,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Float32x4ArrayView extends _TypedListView
     with _Float32x4ListMixin
     implements Float32x4List {
@@ -4024,6 +4068,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Int32x4ArrayView extends _TypedListView
     with _Int32x4ListMixin
     implements Int32x4List {
@@ -4069,6 +4114,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _Float64x2ArrayView extends _TypedListView
     with _Float64x2ListMixin
     implements Float64x2List {
@@ -4114,6 +4160,7 @@
   }
 }
 
+@pragma("vm.entry-point")
 class _ByteDataView implements ByteData {
   _ByteDataView(_TypedList typedData, int _offsetInBytes, int _lengthInBytes)
       : _typedData = typedData,
diff --git a/runtime/lib/weak_property.dart b/runtime/lib/weak_property.dart
index d4d5699..28a4352 100644
--- a/runtime/lib/weak_property.dart
+++ b/runtime/lib/weak_property.dart
@@ -4,6 +4,7 @@
 
 // part of "core_patch.dart";
 
+@pragma("vm.entry-point")
 class _WeakProperty {
   factory _WeakProperty(key, value) => _new(key, value);
 
diff --git a/runtime/vm/compiler/aot/precompiler.cc b/runtime/vm/compiler/aot/precompiler.cc
index 952d27c..841c1b8 100644
--- a/runtime/vm/compiler/aot/precompiler.cc
+++ b/runtime/vm/compiler/aot/precompiler.cc
@@ -701,23 +701,6 @@
 
   AddSelector(Symbols::Call());  // For speed, not correctness.
 
-  // Allocated from C++.
-  Class& cls = Class::Handle(Z);
-  for (intptr_t cid = kInstanceCid; cid < kNumPredefinedCids; cid++) {
-    ASSERT(isolate()->class_table()->IsValidIndex(cid));
-    if (!isolate()->class_table()->HasValidClassAt(cid)) {
-      continue;
-    }
-    if ((cid == kTypeArgumentsCid) || (cid == kDynamicCid) ||
-        (cid == kVoidCid) || (cid == kFreeListElement) ||
-        (cid == kForwardingCorpse)) {
-      continue;
-    }
-    cls = isolate()->class_table()->At(cid);
-    AddInstantiatedClass(cls);
-    entry_points_printer.AddInstantiatedClass(cls);
-  }
-
   AddEntryPoints(vm_entry_points, &entry_points_printer);
   AddEntryPoints(embedder_entry_points, &entry_points_printer);
 
@@ -1523,7 +1506,7 @@
       if (cls.has_pragma()) {
         // Check for @pragma on the class itself.
         metadata ^= lib.GetMetadata(cls);
-        if (metadata_defines_entrypoint() != EntryPointPragma::kAlways) {
+        if (metadata_defines_entrypoint() == EntryPointPragma::kAlways) {
           AddInstantiatedClass(cls);
         }
 
diff --git a/runtime/vm/isolate_reload_test.cc b/runtime/vm/isolate_reload_test.cc
index 0873b0e..9f56a44 100644
--- a/runtime/vm/isolate_reload_test.cc
+++ b/runtime/vm/isolate_reload_test.cc
@@ -1633,7 +1633,7 @@
         "Tried calling: C.foo()\n"
         "Found: C.foo(dynamic) => dynamic\n"
         "#0      Object.noSuchMethod "
-        "(dart:core/runtime/libobject_patch.dart:47:5)\n"
+        "(dart:core/runtime/libobject_patch.dart:48:5)\n"
         "#1      main (file:///test-lib:8:12)";
   } else {
     error =
@@ -1643,7 +1643,7 @@
         "Tried calling: C.foo()\n"
         "Found: C.foo(dynamic) => dynamic\n"
         "#0      Object.noSuchMethod "
-        "(dart:core-patch/dart:core/object_patch.dart:47)\n"
+        "(dart:core-patch/dart:core/object_patch.dart:48)\n"
         "#1      main (test-lib:8:12)";
   }
   EXPECT_ERROR(error_handle, error);
diff --git a/sdk/lib/core/bool.dart b/sdk/lib/core/bool.dart
index 6660b76..6dfdb74 100644
--- a/sdk/lib/core/bool.dart
+++ b/sdk/lib/core/bool.dart
@@ -11,6 +11,7 @@
  * It is a compile-time error for a class to attempt to extend or implement
  * bool.
  */
+@pragma("vm.entry-point")
 class bool {
   /**
    * Returns the boolean value of the environment declaration [name].
diff --git a/sdk/lib/core/null.dart b/sdk/lib/core/null.dart
index f408dc2..bf955a5 100644
--- a/sdk/lib/core/null.dart
+++ b/sdk/lib/core/null.dart
@@ -11,6 +11,7 @@
  * It is a compile-time error for a class to attempt to extend or implement
  * Null.
  */
+@pragma("vm.entry-point")
 class Null {
   factory Null._uninstantiable() {
     throw new UnsupportedError('class Null cannot be instantiated');
diff --git a/sdk/lib/core/object.dart b/sdk/lib/core/object.dart
index 38d6e27..c384735 100644
--- a/sdk/lib/core/object.dart
+++ b/sdk/lib/core/object.dart
@@ -18,6 +18,7 @@
  * section of the [library
  * tour](http://www.dartlang.org/docs/dart-up-and-running/contents/ch03.html).
  */
+@pragma("vm.entry-point")
 class Object {
   /**
    * Creates a new [Object] instance.