diff --git a/dev/core/test/com/google/gwt/dev/CompilerTest.java b/dev/core/test/com/google/gwt/dev/CompilerTest.java
index 2883ded..88fce34 100644
--- a/dev/core/test/com/google/gwt/dev/CompilerTest.java
+++ b/dev/core/test/com/google/gwt/dev/CompilerTest.java
@@ -2746,6 +2746,8 @@
     // always traversed fully and polute the tests, so they will be removed from stale type
     // comparisons.
     staleTypeNames.removeAll(Arrays.asList(
+        "java.io.HasSerializableTypeMarker",
+        "java.io.Serializable",
         "java.lang.Boolean",
         "java.lang.CharSequence",
         "java.lang.Comparable",
diff --git a/user/super/com/google/gwt/emul/java/io/HasSerializableTypeMarker.java b/user/super/com/google/gwt/emul/java/io/HasSerializableTypeMarker.java
new file mode 100644
index 0000000..9de7ab1
--- /dev/null
+++ b/user/super/com/google/gwt/emul/java/io/HasSerializableTypeMarker.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2018 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package java.io;
+
+import jsinterop.annotations.JsPackage;
+import jsinterop.annotations.JsProperty;
+import jsinterop.annotations.JsType;
+
+@JsType(isNative = true, name = "*", namespace = JsPackage.GLOBAL)
+interface HasSerializableTypeMarker {
+  @JsProperty(name = "$implements__java_io_Serializable")
+  boolean getTypeMarker();
+}
diff --git a/user/super/com/google/gwt/emul/java/io/Serializable.java b/user/super/com/google/gwt/emul/java/io/Serializable.java
index 72e5f30..f47aa5d 100644
--- a/user/super/com/google/gwt/emul/java/io/Serializable.java
+++ b/user/super/com/google/gwt/emul/java/io/Serializable.java
@@ -1,12 +1,12 @@
 /*
  * Copyright 2007 Google Inc.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  * use this file except in compliance with the License. You may obtain a copy of
  * the License at
- * 
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -15,10 +15,28 @@
  */
 package java.io;
 
+import javaemul.internal.JsUtils;
+import jsinterop.annotations.JsMethod;
+
 /**
  * Provided for interoperability; RPC treats this interface synonymously with
  * {@link com.google.gwt.user.client.rpc.IsSerializable IsSerializable}.
  * The Java serialization protocol is explicitly not supported.
  */
 public interface Serializable {
+  // CHECKSTYLE_OFF: Utility methods.
+  @JsMethod
+  static boolean $isInstance(HasSerializableTypeMarker instance) {
+    if (instance == null) {
+      return false;
+    }
+
+    String type = JsUtils.typeOf(instance);
+    return type.equals("boolean")
+        || type.equals("number")
+        || type.equals("string")
+        || instance.getTypeMarker()
+        || instance.getClass().isArray();
+  }
+  // CHECKSTYLE_ON: end utility methods
 }
