Version 1.21.0-dev.6.0

Merge 6689fb80cd376ee63d526a132d4ae35da344182e into dev
diff --git a/.gitattributes b/.gitattributes
index 7e5534c..0f5ea98 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,8 +1,10 @@
+# Source files should not be normalized to avoid confusing clang-format-diff.py
+*.c text eol=lf
+*.cc text eol=lf
+*.cpp text eol=lf
+*.h text eol=lf
+
 # Explicitly declare text files we want to be normalized.
-*.c text
-*.cc text
-*.cpp text
-*.h text
 *.gyp text
 *.gypi text
 *.dart text
diff --git a/DEPS b/DEPS
index 32fb239..ef26510 100644
--- a/DEPS
+++ b/DEPS
@@ -32,6 +32,7 @@
 
   # Revisions of GN related dependencies.
   "buildtools_revision": "@39b1db2ab4aa4b2ccaa263c29bdf63e7c1ee28aa",
+  "clang_format_rev": "@0ed791d1387a3c9146ea6c453c646f3c0fc97784",
 
   "gperftools_revision": "@02eeed29df112728564a5dde6417fa4622b57a06",
 
@@ -56,7 +57,7 @@
   "csslib_tag" : "@0.13.2",
   "dart2js_info_tag" : "@0.5.0",
   "dart_services_rev" : "@7aea2574e6f3924bf409a80afb8ad52aa2be4f97",
-  "dart_style_tag": "@v0.2.11+1",
+  "dart_style_rev": "@a2b84e46a9e4044e61e3cc130087c18da40b9665",
   "dartdoc_tag" : "@v0.9.7+6",
   "fixnum_tag": "@0.10.5",
   "func_tag": "@0.1.0",
@@ -134,6 +135,9 @@
   Var("dart_root") + "/buildtools":
      Var('chromium_git') + '/chromium/buildtools.git' +
      Var('buildtools_revision'),
+  Var("dart_root") + "/buildtools/clang_format/script":
+    Var("chromium_git") + "/chromium/llvm-project/cfe/tools/clang-format.git" +
+    Var("clang_format_rev"),
 
   Var("dart_root") + "/tests/co19/src":
       (Var("github_mirror") % "co19") + Var("co19_rev"),
@@ -201,7 +205,7 @@
       (Var("github_mirror") % "dart-services") +
       Var("dart_services_rev"),
   Var("dart_root") + "/third_party/pkg_tested/dart_style":
-      (Var("github_mirror") % "dart_style") + Var("dart_style_tag"),
+      (Var("github_mirror") % "dart_style") + Var("dart_style_rev"),
   Var("dart_root") + "/third_party/pkg/dart2js_info":
       (Var("github_mirror") % "dart2js_info") + Var("dart2js_info_tag"),
   Var("dart_root") + "/third_party/pkg/dartdoc":
@@ -406,6 +410,21 @@
   },
   # Pull clang-format binaries using checked-in hashes.
   {
+    'name': 'clang_format_win',
+    'pattern': '.',
+    'action': [
+      'download_from_google_storage',
+      '--no_auth',
+      '--no_resume',
+      '--quiet',
+      '--platform=win32',
+      '--bucket',
+      'chromium-clang-format',
+      '-s',
+      Var('dart_root') + '/buildtools/win/clang-format.exe.sha1',
+    ],
+  },
+  {
     'name': 'clang_format_linux',
     'pattern': '.',
     'action': [
diff --git a/build/compiled_action.gni b/build/compiled_action.gni
index b6d0c4d..e4e999a 100644
--- a/build/compiled_action.gni
+++ b/build/compiled_action.gni
@@ -72,6 +72,8 @@
   _host_executable_suffix = ""
 }
 
+_dart_root = rebase_path("..")
+
 template("compiled_action") {
   assert(defined(invoker.tool), "tool must be defined for $target_name")
   assert(defined(invoker.outputs), "outputs must be defined for $target_name")
@@ -85,7 +87,7 @@
       visibility = invoker.visibility
     }
 
-    script = "//build/gn_run_binary.py"
+    script = "$_dart_root/build/gn_run_binary.py"
 
     if (defined(invoker.inputs)) {
       inputs = invoker.inputs
@@ -118,7 +120,10 @@
 
     # The script takes as arguments the binary to run, and then the arguments
     # to pass it.
-    args = [ rebase_path(host_executable, root_build_dir) ] + invoker.args
+    args = [
+      "compiled_action",
+      rebase_path(host_executable, root_build_dir)
+    ] + invoker.args
   }
 }
 
@@ -134,7 +139,7 @@
       visibility = invoker.visibility
     }
 
-    script = "//build/gn_run_binary.py"
+    script = "$_dart_root/build/gn_run_binary.py"
     sources = invoker.sources
 
     if (defined(invoker.inputs)) {
@@ -168,6 +173,9 @@
 
     # The script takes as arguments the binary to run, and then the arguments
     # to pass it.
-    args = [ rebase_path(host_executable, root_build_dir) ] + invoker.args
+    args = [
+      "compiled_action",
+      rebase_path(host_executable, root_build_dir)
+    ] + invoker.args
   }
 }
diff --git a/build/executable_suffix.gni b/build/executable_suffix.gni
new file mode 100644
index 0000000..e2b0dd8
--- /dev/null
+++ b/build/executable_suffix.gni
@@ -0,0 +1,9 @@
+# Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+# for details. All rights reserved. Use of this source code is governed by a
+# BSD-style license that can be found in the LICENSE file.
+
+if (defined(is_win) && is_win) {
+  executable_suffix = ".exe"
+} else {
+  executable_suffix = ""
+}
diff --git a/build/gn_run_binary.py b/build/gn_run_binary.py
old mode 100644
new mode 100755
index 7d83f61..76d1992
--- a/build/gn_run_binary.py
+++ b/build/gn_run_binary.py
@@ -1,3 +1,4 @@
+#!/usr/bin/env python
 # Copyright 2014 The Chromium Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
@@ -5,18 +6,56 @@
 """Helper script for GN to run an arbitrary binary. See compiled_action.gni.
 
 Run with:
-  python gn_run_binary.py <binary_name> [args ...]
+  python gn_run_binary.py <invoker> <binary_name> [args ...]
+
+Where <invoker> is either "compiled_action" or "exec_script". If it is
+"compiled_action" the script has a non-zero exit code on a failure. If it is
+"exec_script" the script has no output on success and produces output otherwise,
+but always has an exit code of 0.
 """
 
+import os
 import sys
 import subprocess
 
-# This script is designed to run binaries produced by the current build. We
-# always prefix it with "./" to avoid picking up system versions that might
-# also be on the path.
-path = './' + sys.argv[1]
+# Run a command, swallowing the output unless there is an error.
+def run_command(command):
+  try:
+    subprocess.check_output(command, stderr=subprocess.STDOUT)
+    return 0
+  except subprocess.CalledProcessError as e:
+    return ("Command failed: " + ' '.join(command) + "\n" +
+            "output: " + e.output)
 
-# The rest of the arguements are passed directly to the executable.
-args = [path] + sys.argv[2:]
+def main(argv):
+  error_exit = 0
+  if argv[1] == "compiled_action":
+    error_exit = 1
+  elif argv[1] != "exec_script":
+    print ("The first argument should be either "
+           "'compiled_action' or 'exec_script")
+    return 1
 
-sys.exit(subprocess.call(args))
+  # Unless the path is absolute, this script is designed to run binaries
+  # produced by the current build. We always prefix it with "./" to avoid
+  # picking up system versions that might also be on the path.
+  if os.path.isabs(argv[2]):
+    path = argv[2]
+  else:
+    path = './' + argv[2]
+
+  if not os.path.isfile(path):
+    print "Binary not found: " + path
+    return error_exit
+
+  # The rest of the arguements are passed directly to the executable.
+  args = [path] + argv[3:]
+
+  result = run_command(args)
+  if result != 0:
+    print result
+    return error_exit
+  return 0
+
+if __name__ == '__main__':
+  sys.exit(main(sys.argv))
diff --git a/build/prebuilt_dart_sdk.gni b/build/prebuilt_dart_sdk.gni
new file mode 100644
index 0000000..1a3299a
--- /dev/null
+++ b/build/prebuilt_dart_sdk.gni
@@ -0,0 +1,18 @@
+# Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+# for details. All rights reserved. Use of this source code is governed by a
+# BSD-style license that can be found in the LICENSE file.
+
+import("executable_suffix.gni")
+
+_dart_root = rebase_path("..")
+
+_prebuilt_dart_exe = "$_dart_root/tools/sdks/$host_os/dart-sdk/bin/dart"
+
+# Our gn_run_binary swallows output unless there is an error.
+_prebuilt_dart_exe_trial = exec_script("gn_run_binary.py",
+    ["exec_script", _prebuilt_dart_exe, "--version"], "string")
+if (_prebuilt_dart_exe_trial == "") {
+  prebuilt_dart_exe_works = true
+} else {
+  prebuilt_dart_exe_works = false
+}
diff --git a/build/toolchain/linux/BUILD.gn b/build/toolchain/linux/BUILD.gn
index 265eea9..3c51133 100644
--- a/build/toolchain/linux/BUILD.gn
+++ b/build/toolchain/linux/BUILD.gn
@@ -88,7 +88,6 @@
   nm = "nm"
   ar = "ar"
   ld = cxx
-  strip = "strip"
 
   toolchain_cpu = "x64"
   toolchain_os = "linux"
diff --git a/docs/language/dart.sty b/docs/language/dart.sty
index 6b21815..d22dde6 100644
--- a/docs/language/dart.sty
+++ b/docs/language/dart.sty
@@ -7,95 +7,75 @@
 \def\gt{$>$}
 \def\<{$\langle$}
 \def\>{$\rangle$}
-
-  \def\ABSTRACT{\builtinId{abstract}}
-  \def\AS{\builtinId{as}}  
-  \def\ASSERT{\keyword{assert}}
-  \def\ASYNC{\keyword{async}}
-  \def\AWAIT{\keyword{await}}
-  \def\BOOLEAN{\keyword{boolean}}
-  \def\BREAK{\keyword{break}}
-  \def\CASE{\keyword{case}}
-  \def\CLASS{\keyword{class}}
-   \def\CALL{\keyword{call}}
-  \def\CATCH{\keyword{catch}}
-  \def\CONST{\keyword{const}}
-  \def\CONTINUE{\keyword{continue}}
-  \def\DEFAULT{\keyword{default}}
-  \def\DEFERRED{\keyword{deferred}}
-  \def\DYNAMIC{\builtinId{dynamic}}
-  \def\DO{\keyword{do}}
-  \def\ELSE{\keyword{else}}
-  \def\ENUM{\keyword{enum}}
-  \def\EQUALS{\keyword{equals}}
-  \def\EXPORT{\builtinId{export}}
-  \def\EXTENDS{\keyword{extends}}
-  \def\EXTERNAL{\builtinId{external}}
-  \def\FACTORY{\builtinId{factory}}  
-  \def\FALSE{\keyword{false}}  
-  \def\FINAL{\keyword{final}} 
-  \def\FINALLY{\keyword{finally}}
-  \def\FOR{\keyword{for}}
-  \def\GET{\builtinId{get}}  
-  \def\HIDE{\keyword{hide}}
-  \def\IF{\keyword{if}}  
-  \def\IMPLEMENTS{\builtinId{implements}}
-  \def\IMPORT{\builtinId{import}}
-  \def\IN{\keyword{in}}
-  \def\INT{\keyword{int}}
-  \def\INTERFACE{\keyword{interface}}
-  \def\IS{\keyword{is}}
-  \def\LIBRARY{\builtinId{library}}
-  \def\NATIVE{\keyword{native}}  
-  \def\NEGATE{\keyword{negate}}  
-  \def\NEW{\keyword{new}}      
-  \def\NULL{\keyword{null}}
-  \def\ON{\keyword{on}}  
-  \def\OF{\keyword{of}}  
-  \def\OPERATOR{\builtinId{operator}}
-  \def\PART{\builtinId{part}} 
-  \def\PRIVATE{\keyword{private}}
-  \def\RETHROW{\keyword{rethrow}}
-  \def\RETURN{\keyword{return}}
-  \def\SET{\builtinId{set}} 
-  \def\SHOW{\keyword{show}} 
-  \def\SOURCE{\keyword{source}}  
-  \def\STATIC{\builtinId{static}}
-  \def\SUPER{\keyword{super}}  
-  \def\SWITCH{\keyword{switch}}  
-  \def\SYNC{\keyword{sync}}  
-  \def\THIS{\keyword{this}}
-  \def\THROW{\keyword{throw}}
-  \def\TRUE{\keyword{true}}
-  \def\TRY{\keyword{try}}
-  \def\TYPEDEF{\builtinId{typedef}}
-  \def\THIS{\keyword{this}}
-  \def\VAR{\keyword{var}}  
-  \def\VOID{\keyword{void}}
-  \def\WHILE{\keyword{while}}
-  \def\WITH{\keyword{with}}
-  \def\YIELD{\keyword{yield}} 
-
-
-
- 
- % \def\PUBLIC{\keyword{public}}
-
-  %\def\PROTECTED{\keyword{protected}}
-
-
-
-
-    
-
- 
-
-
-
- % \def\OUTER{\keyword{outer}}
-
-  \def\TRUE{\keyword{true}}
-
+\def\metavar#1{\ensuremath{\mathit{#1}}}
+\def\ABSTRACT{\builtinId{abstract}}
+\def\AS{\builtinId{as}}
+\def\ASSERT{\keyword{assert}}
+\def\ASYNC{\keyword{async}}
+\def\AWAIT{\keyword{await}}
+\def\BOOLEAN{\keyword{boolean}}
+\def\BREAK{\keyword{break}}
+\def\CASE{\keyword{case}}
+\def\CLASS{\keyword{class}}
+\def\CALL{\keyword{call}}
+\def\CATCH{\keyword{catch}}
+\def\CONST{\keyword{const}}
+\def\CONTINUE{\keyword{continue}}
+\def\DEFAULT{\keyword{default}}
+\def\DEFERRED{\keyword{deferred}}
+\def\DYNAMIC{\builtinId{dynamic}}
+\def\DO{\keyword{do}}
+\def\ELSE{\keyword{else}}
+\def\ENUM{\keyword{enum}}
+\def\EQUALS{\keyword{equals}}
+\def\EXPORT{\builtinId{export}}
+\def\EXTENDS{\keyword{extends}}
+\def\EXTERNAL{\builtinId{external}}
+\def\FACTORY{\builtinId{factory}}
+\def\FALSE{\keyword{false}}
+\def\FINAL{\keyword{final}}
+\def\FINALLY{\keyword{finally}}
+\def\FOR{\keyword{for}}
+\def\GET{\builtinId{get}}
+\def\HIDE{\keyword{hide}}
+\def\IF{\keyword{if}}
+\def\IMPLEMENTS{\builtinId{implements}}
+\def\IMPORT{\builtinId{import}}
+\def\IN{\keyword{in}}
+\def\INT{\keyword{int}}
+\def\INTERFACE{\keyword{interface}}
+\def\IS{\keyword{is}}
+\def\LIBRARY{\builtinId{library}}
+\def\NATIVE{\keyword{native}}
+\def\NEGATE{\keyword{negate}}
+\def\NEW{\keyword{new}}
+\def\NULL{\keyword{null}}
+\def\ON{\keyword{on}}
+\def\OF{\keyword{of}}
+\def\OPERATOR{\builtinId{operator}}
+\def\PART{\builtinId{part}}
+\def\PRIVATE{\keyword{private}}
+\def\RETHROW{\keyword{rethrow}}
+\def\RETURN{\keyword{return}}
+\def\SET{\builtinId{set}}
+\def\SHOW{\keyword{show}}
+\def\SOURCE{\keyword{source}}
+\def\STATIC{\builtinId{static}}
+\def\SUPER{\keyword{super}}
+\def\SWITCH{\keyword{switch}}
+\def\SYNC{\keyword{sync}}
+\def\THIS{\keyword{this}}
+\def\THROW{\keyword{throw}}
+\def\TRUE{\keyword{true}}
+\def\TRY{\keyword{try}}
+\def\TYPEDEF{\builtinId{typedef}}
+\def\THIS{\keyword{this}}
+\def\VAR{\keyword{var}}
+\def\VOID{\keyword{void}}
+\def\WHILE{\keyword{while}}
+\def\WITH{\keyword{with}}
+\def\YIELD{\keyword{yield}}
+\def\TRUE{\keyword{true}}
 
 \newenvironment{Q}[1]{{\bf #1}}
 
@@ -114,7 +94,6 @@
   %\end{verbatim}
 }
 
-
 % ----------------------------------------------------------------------
 % Support for hash valued Location Markers
 
@@ -144,4 +123,3 @@
   \vspace{-\baselineskip}\hspace{0pt}\OriginalLMHash{\raisebox{10ex}{#1}}%
   \label{#1}}
 % ----------------------------------------------------------------------
-
diff --git a/docs/language/dartLangSpec.tex b/docs/language/dartLangSpec.tex
index 5e009e6..4e37d5d 100644
--- a/docs/language/dartLangSpec.tex
+++ b/docs/language/dartLangSpec.tex
@@ -5,6 +5,7 @@
 \usepackage{bnf}
 \usepackage{hyperref}
 \usepackage{lmodern}
+\usepackage[T1]{fontenc}
 \newcommand{\code}[1]{{\sf #1}}
 \title{Dart Programming Language  Specification  \\
 {4th edition draft}\\
@@ -214,7 +215,7 @@
 
 \begin{dartCode}
 \CLASS{} HighlyStrung \{
-  String() $=>$ "?";
+  String() => "?";
 \}
 \end{dartCode}
 
@@ -233,15 +234,15 @@
 
 \LIBRARY{} L2;
 \IMPORT{} `L1.dart';
-foo() =$>$ 42;
-\CLASS{} C \EXTENDS{} S\{ bar() =$>$ foo();\}
+foo() => 42;
+\CLASS{} C \EXTENDS{} S\{ bar() => foo();\}
 \end{dartCode}
 
 \rationale{Now assume a method \code{foo()} is added to \code{S}. }
 
 \begin{dartCode}
 \LIBRARY{} L1;
-\CLASS{} S \{foo() =$>$ 91;\}
+\CLASS{} S \{foo() => 91;\}
 \end{dartCode}
 
 \rationale{
@@ -570,7 +571,7 @@
 }
 
 OR
-\item of the form   \code{=$>$ $e$} which is equivalent to a body of the form \code{\{\RETURN{} $e$;\}} or the form \code{\ASYNC{} =$>$ $e$} which is equivalent to a body of the form \code{\ASYNC{} \{\RETURN{} $e$;\}}. \rationale{The other modifiers do not apply here, because they apply only to generators, discussed below, and generators do not allow the form \code{\RETURN{} $e$}; values are added to the generated stream or iterable using \YIELD{} instead.}
+\item of the form   \code{=> $e$} which is equivalent to a body of the form \code{\{\RETURN{} $e$;\}} or the form \code{\ASYNC{} => $e$} which is equivalent to a body of the form \code{\ASYNC{} \{\RETURN{} $e$;\}}. \rationale{The other modifiers do not apply here, because they apply only to generators, discussed below, and generators do not allow the form \code{\RETURN{} $e$}; values are added to the generated stream or iterable using \YIELD{} instead.}
 
 \end{itemize}
 
@@ -592,9 +593,9 @@
 One could allow modifiers for factories. A factory for \code{Future} could be modified by \ASYNC{}, a factory for \code{Stream} could be modified by \ASYNC* and a factory for \code{Iterable} could be modified by \SYNC*. No other scenario makes sense because the object returned by the factory would be of the wrong type. This situation is very unusual so it is not worth making an exception to the general rule for constructors in order to allow it.
 }
 \LMHash{}
-It is a static warning if the declared return type of a function marked \ASYNC{} is not a supertype of \code{Future$<$\mbox{$T$}$>$} for some type $T$.
-It is a static warning if the declared return type of a function marked \SYNC* is not a supertype of \code{Iterable$<$\mbox{$T$}$>$} for some type $T$.
-It is a static warning if the declared return type of a function marked \ASYNC* is not a supertype of \code{Stream$<$\mbox{$T$}$>$} for some type $T$.
+It is a static warning if the declared return type of a function marked \ASYNC{} is not a supertype of \code{Future<\mbox{$T$}>} for some type $T$.
+It is a static warning if the declared return type of a function marked \SYNC* is not a supertype of \code{Iterable<\mbox{$T$}>} for some type $T$.
+It is a static warning if the declared return type of a function marked \ASYNC* is not a supertype of \code{Stream<\mbox{$T$}>} for some type $T$.
 
 \subsection{Function Declarations}
 \LMLabel{functionDeclarations}
@@ -876,6 +877,7 @@
 \LMHash{}
 A class has constructors,  instance members and static members. The instance members of a class are its instance methods, getters, setters and instance variables. The static members of a class are its static methods, getters, setters and static variables. The members of a class are its static and instance members.
 
+\LMHash{}
 A class has several scopes:
 \begin{itemize}
 \item A {\em type-parameter scope}, which is empty if the class is not generic (\ref{generics}).  The enclosing scope of the type-parameter scope of a class is the enclosing scope of the class declaration.
@@ -884,8 +886,10 @@
 The enclosing scope of a class' instance scope is the class' static scope.
 \end{itemize}
 
+\LMHash{}
 The enclosing scope of an instance member declaration is the instance scope of the class in which it is declared.
 
+\LMHash{}
 The enclosing scope of a static member declaration is the static scope of the class in which it is declared.
 
 
@@ -928,7 +932,7 @@
 \CLASS{} A \{
   \VAR{} i = 0;
   \VAR{} j;
-  f(x) =$>$ 3;
+  f(x) => 3;
 \}
 
 \CLASS{} B \EXTENDS{} A \{
@@ -937,7 +941,7 @@
   //instance getter \& setter
 
   /* compile-time error: static method conflicts with instance method */
-  \STATIC{} f(x) =$>$ 3;
+  \STATIC{} f(x) => 3;
 \}
 \end{dartCode}
 
@@ -993,11 +997,11 @@
 An operator declaration is identified using the built-in identifier (\ref{identifierReference}) \OPERATOR{}.
 
 \LMHash{}
-The following names are allowed for user-defined operators: \code{$<$, $>$, $<$=, $>$=, ==,  -, +, /, \~{}/, *, \%, $|$, \^{}, \&, $<<$, $>>$,  []=, [], \~{}.}
+The following names are allowed for user-defined operators: \code{<, >, <=, >=, ==,  -, +, /, \~{}/, *, \%, $|$, \^{}, \&, $<<$, $>>$,  []=, [], \~{}.}
 
 
 \LMHash{}
-It is a compile-time error if the arity of the user-declared operator \code{[]=} is not 2. It is a compile-time error if the arity of a user-declared operator with one of the names:  \code{ $<$, $>$, $<$=, $>$=, ==, -, +,  \~{}/, /, *, \%, $|$, \^{}, \&, $<<$, $>>$, []} is not 1. It is a compile-time error if the arity of the user-declared operator  \code{-} is not 0 or 1.
+It is a compile-time error if the arity of the user-declared operator \code{[]=} is not 2. It is a compile-time error if the arity of a user-declared operator with one of the names:  \code{ <, >, <=, >=, ==, -, +,  \~{}/, /, *, \%, $|$, \^{}, \&, $<<$, $>>$, []} is not 1. It is a compile-time error if the arity of the user-declared operator  \code{-} is not 0 or 1.
 
 \commentary{
 The \code{-} operator is unique in that two overloaded versions are permitted. If the operator has no arguments, it denotes unary minus. If it has an argument, it denotes binary subtraction.
@@ -1142,12 +1146,12 @@
 
 \begin{dartCode}
  class Base \{
-    int get one =$>$ 1;
+    int get one => 1;
  \}
 
  abstract class Mix \{
     int get one;
-    int get two =$>$ one + one;
+    int get two => one + one;
  \}
 
  class C extends Base with Mix \{ \}
@@ -1234,7 +1238,7 @@
  \end{grammar}
 
 \LMHash{}
-A {\em constructor parameter list} is a parenthesized, comma-separated list of formal constructor parameters. A {\em formal constructor parameter} is either a formal parameter (\ref{formalParameters}) or an initializing formal. An {\em initializing formal} has the form \code{\THIS{}.id}, where \code{id} is the name of an instance variable of the immediately enclosing class.  It is a compile-time error if \code{id} is not an instance variable of the immediately enclosing class. It is a compile-time error if an initializing formal is used by a function other than a non-redirecting generative constructor.
+A {\em constructor parameter list} is a parenthesized, comma-separated list of formal constructor parameters. A {\em formal constructor parameter} is either a formal parameter (\ref{formalParameters}) or an initializing formal. An {\em initializing formal} has the form \code{\THIS{}.$id$}, where $id$ is the name of an instance variable of the immediately enclosing class.  It is a compile-time error if \code{id} is not an instance variable of the immediately enclosing class. It is a compile-time error if an initializing formal is used by a function other than a non-redirecting generative constructor.
 
 \LMHash{}
 If an explicit type is attached to the initializing formal, that is its static type. Otherwise, the type of an initializing formal named \code{id} is $T_{id}$, where $T_{id}$ is the type of the field named \code{id} in the immediately enclosing class. It is a static warning if the static type of \code{id} is not assignable to $T_{id}$.
@@ -1497,25 +1501,25 @@
 
 
 %\begin{dartCode}
-%\CLASS{} W$<$T$>$ \IMPLEMENTS{} A$<$T$>$ { W(w) {...} ...}
-%\CLASS{} X$<$T$>$ \IMPLEMENTS{} A$<$T$>$ { X(x) {...} ...}
-%\CLASS{} Y$<$T$>$ \IMPLEMENTS{} A$<$T$>$ { Y(y) {...} ...}
-%\CLASS{} Z$<$T$>$ \IMPLEMENTS{} A$<$T$>$ { Z(z) {...} ...}
+%\CLASS{} W<T> \IMPLEMENTS{} A<T> { W(w) {...} ...}
+%\CLASS{} X<T> \IMPLEMENTS{} A<T> { X(x) {...} ...}
+%\CLASS{} Y<T> \IMPLEMENTS{} A<T> { Y(y) {...} ...}
+%\CLASS{} Z<T> \IMPLEMENTS{} A<T> { Z(z) {...} ...}
 
 
-%\CLASS{} F$<$T$>$ { // note that F does not implement A
-%  \STATIC{} F$<$T$>$ idw(w) $=>$ \NEW{}  W$<$T$>$(w); // illegal - T not in scope in idw
-%  \FACTORY{} F.idx(x) $=>$ \NEW{} X$<$T$>$(x);
-%  \FACTORY{} F.idy(y) $=>$ \NEW{} Y$<$T$>$(y);
-%  \STATIC{} F idz(z) $=>$ \NEW{}  Z(z); // does not capture the type argument
+%\CLASS{} F<T> { // note that F does not implement A
+%  \STATIC{} F<T> idw(w) => \NEW{}  W<T>(w); // illegal - T not in scope in idw
+%  \FACTORY{} F.idx(x) => \NEW{} X<T>(x);
+%  \FACTORY{} F.idy(y) => \NEW{} Y<T>(y);
+%  \STATIC{} F idz(z) => \NEW{}  Z(z); // does not capture the type argument
 %}
 
-%\CLASS{} A$<$T$>${
-%  \FACTORY{} A.idw(w) $=>$ F$<$T$>$.idw(w);
+%\CLASS{} A<T>{
+%  \FACTORY{} A.idw(w) => F<T>.idw(w);
 %// illegal - cannot pass type parameter to static method
-%  \FACTORY{} A.idx(x) $=> \NEW{} $F$<$T$>$.idx(x); // works, but allocates a gratuitous instance of F
-%  \FACTORY{} A.idy(y) = Y$<$T$>$; // works
-%  \FACTORY{} A.idz(z) $=>$ F.idz(z); // wrong - returns Z$<$Dynamic$>$; no way to pass type argument
+%  \FACTORY{} A.idx(x) $=> \NEW{} $F<T>.idx(x); // works, but allocates a gratuitous instance of F
+%  \FACTORY{} A.idy(y) = Y<T>; // works
+%  \FACTORY{} A.idz(z) => F.idz(z); // wrong - returns Z<Dynamic>; no way to pass type argument
 }
 %\end{dartCode}
 
@@ -1753,7 +1757,7 @@
 class T \{\}
 
 /* Compilation error: Attempt to subclass a type parameter */
-class G$<$T$>$ extends T \{\}
+class G<T> extends T \{\}
 
 \end{dartCode}
 
@@ -2169,8 +2173,8 @@
   \STATIC{} \CONST{} E id$_0$ = \CONST{} E(0);
   $\ldots$
   \STATIC{} \CONST{} E id$_{n-1}$ = const E(n - 1);
-  \STATIC{} \CONST{} List$<$E$>$ values = const $<$E$>$[id$_0 \ldots $ id$_{n-1}$];
-  String toString() =$>$ \{ 0: `E.id$_0$', $\ldots$, n-1: `E.id$_{n-1}$'\}[index]
+  \STATIC{} \CONST{} List<E> values = const <E>[id$_0 \ldots $ id$_{n-1}$];
+  String toString() => \{ 0: `E.id$_0$', $\ldots$, n-1: `E.id$_{n-1}$'\}[index]
 \}
 \end{dartCode}
 
@@ -2210,12 +2214,12 @@
 }
 
 \begin{dartCode}
-\INTERFACE{} Ordered$<$T$>$ \{
-  operator $>$ (T x);
+\INTERFACE{} Ordered<T> \{
+  operator > (T x);
 \}
 
-\CLASS{} Sorter$<$T \EXTENDS{} Ordered$<$T$>>$ \{
-   sort(List$<$T$>$ l) {... l[n] $<$ l[n+1] ...}
+\CLASS{} Sorter<T \EXTENDS{} Ordered<T$>>$ \{
+   sort(List<T> l) {... l[n] < l[n+1] ...}
 \}
 
 \end{dartCode}
@@ -2242,23 +2246,23 @@
 %\rationale {A typical recursive type declaration such as}
 
 %\begin{dartCode}
-%\CLASS{} B$<$S$>$ \{\}
-%\CLASS{} D$<$T$>$ \EXTENDS{} B$<$D$<$T$>>$ \{\}
+%\CLASS{} B<S> \{\}
+%\CLASS{} D<T> \EXTENDS{} B<D<T$>>$ \{\}
 %\end{dartCode}
 
 %\rationale{
-%poses no problem under this rule. The instantiation \cd{D$<$T$>$} has an induced
-%set consisting of: \cd{B$<$D$<$T$>>$, Object, D$<$T$>$, T}. However, the following variant
+%poses no problem under this rule. The instantiation \cd{D<T>} has an induced
+%set consisting of: \cd{B<D<T$>>$, Object, D<T>, T}. However, the following variant
 %}
 
 %\begin{dartCode}
-%\CLASS{} B$<$S$>$ \{\}
-%\CLASS{} D$<$T$>$ \EXTENDS{} B$<$D$<$D$<$T$>>>$ \{\}
+%\CLASS{} B<S> \{\}
+%\CLASS{} D<T> \EXTENDS{} B<D<D<T$>>>$ \{\}
 %\end{dartCode}
 
 %\rationale{
-%is disallowed. Consider again the instantiation \cd{D$<$T$>$}. It leads to the
-%superclass \cd{B$<$D$<$D$<$T$>>>$}, and so adds \cd{D$<$D$< $T$>>$} to the induced set. The latter in turn leads to  \cd{B$<$D$<$D$<$D$<$T$>>>>$} and \cd{D$<$D$<$D$<$T$>>>$}
+%is disallowed. Consider again the instantiation \cd{D<T>}. It leads to the
+%superclass \cd{B<D<D<T$>>>$}, and so adds \cd{D<D$< $T$>>$} to the induced set. The latter in turn leads to  \cd{B<D<D<D<T$>>>>$} and \cd{D<D<D<T$>>>$}
 %and so on ad infinitum.}
 
 %\commentary{
@@ -2457,7 +2461,7 @@
 \item An expression of one of the forms \code{!$e$}, \code{$e_1$ \&\& $e_2$} or \code{$e_1 || e_2$}, where  $e$, $e_1$ and $e_2$ are constant expressions that evaluate to a boolean value.
 \item An expression of one of the forms \~{}$e$, $e_1$ \^{} $e_2$, \code{$e_1$ \& $e_2$}, $e_1 | e_2$, $e_1 >> e_2$ or $e_1 <<  e_2$, where  $e$, $e_1$ and $e_2$ are constant expressions that evaluate to an integer value  or to \NULL{}.
 \item An expression of the form \code{$e_1 + e_2$} where $e_1$ and $e_2$ are constant expressions that evaluate to a numeric or string value or to \NULL{}.
-\item An expression of one of the forms \code{$-e$}, \code{$e_1$ - $e_2$}, \code{$e_1$ * $e_2$}, \code{$e_1$ / $e_2$,} \code{$e_1$ \~{}/ $e_2$},  \code{$e_1  >  e_2$}, \code{$e_1  <  e_2$}, \code{$e_1$ $>$= $e_2$}, \code{$e_1$ $<$= $e_2$} or \code{$e_1$ \% $e_2$},  where $e$, $e_1$ and $e_2$ are constant expressions that evaluate to a numeric value  or to \NULL{}.
+\item An expression of one of the forms \code{$-e$}, \code{$e_1$ - $e_2$}, \code{$e_1$ * $e_2$}, \code{$e_1$ / $e_2$,} \code{$e_1$ \~{}/ $e_2$},  \code{$e_1  >  e_2$}, \code{$e_1  <  e_2$}, \code{$e_1$ >= $e_2$}, \code{$e_1$ <= $e_2$} or \code{$e_1$ \% $e_2$},  where $e$, $e_1$ and $e_2$ are constant expressions that evaluate to a numeric value  or to \NULL{}.
 \item An expression of the form \code{$e_1$?$e_2$:$e3$} where $e_1$, $e_2$ and $e_3$ are constant expressions and $e_1$ evaluates to a boolean value.
 \item An expression of the form \code{$e_1 ?? e_2$} where $e_1$ and $e_2$ are constant expressions.
 \item An expression of the form \code{$e$.length} where $e$ is a constant expression that evaluates to a string value.
@@ -2880,10 +2884,10 @@
 \end{grammar}
 
 \LMHash{}
-A symbol literal \code{\#id} where \code{id} does not begin with an underscore ('\code{\_}')  is equivalent to the expression \code{\CONST{} Symbol('id')}.
+A symbol literal \code{\#$id$} where $id$ does not begin with an underscore ('\code{\_}')  is equivalent to the expression \code{\CONST{} Symbol('$id$')}.
 
 \LMHash{}
-A symbol literal \code{\#\_id} evaluates to the object that would be returned by the call \code{MirrorSystem.getSymbol("\_id", libraryMirror)} where \code{libraryMirror} is an instance of the class \code{LibraryMirror} defined in the library \code{dart:mirrors}, reflecting the current library.
+A symbol literal \code{\#\_$id$} evaluates to the object that would be returned by the call \code{MirrorSystem.getSymbol("\_$id$", \metavar{libraryMirror})} where \metavar{libraryMirror} is an instance of the class \code{LibraryMirror} defined in the library \code{dart:mirrors}, reflecting the current library.
 
 \rationale{
 One may well ask what is the motivation for introducing literal symbols? In some languages, symbols are canonicalized whereas strings are not. However literal strings are already canonicalized in Dart.  Symbols are slightly easier to type compared to strings and their use can become strangely addictive, but this is not nearly sufficient justification for adding a literal form to the language. The primary motivation is related to the use of reflection and a web specific practice known as minification.
@@ -3150,7 +3154,7 @@
 
 The  exception to that would be a type $X$ that extended or implemented \code{Future}. In that case, only one unwrapping takes place. As an example of why this is done, consider
 
-\cd{\CLASS{} C$<$T$>$  \IMPLEMENTS{}  Future$<$C$<$C$<$T$>>>$ \ldots }
+\cd{\CLASS{} C<T>  \IMPLEMENTS{}  Future<C<C<T$>>>$ \ldots }
 
 Here, a naive definition of $flatten$ diverges; there is not even a fixed point. A more sophisticated definition of $flatten$ is possible, but the existing rule deals with most realistic examples while remaining relatively simple to understand.
 
@@ -3509,7 +3513,7 @@
  \CONST{} IntPair(\THIS{}.x, \THIS{}.y);
  \FINAL{} int x;
  \FINAL{} int y;
- \OPERATOR *(v) $=>$ \NEW{} IntPair(x*v, y*v);
+ \OPERATOR *(v) => \NEW{} IntPair(x*v, y*v);
 \}
 
 \CONST{} A(\CONST{} IntPair(1,2)); // compile-time error: illegal in a subtler way
@@ -3821,36 +3825,41 @@
 An ordinary method invocation can be {\em conditional} or {\em unconditional}.
 
 \LMHash{}
-Evaluation of a {\em conditional ordinary method invocation} $e$ of the form
+Evaluation of a {\em conditional ordinary method invocation} $i$ of the form
 
 \LMHash{}
-$o?.m(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$
+$e?.m(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$
 
 \LMHash{}
-is equivalent to the evaluation of the expression
+proceeds as follows:
 
 \LMHash{}
-$((x) => x == \NULL ? \NULL : x.m(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k}))(o)$.
-
-unless $o$ is  a type literal, in which case it is equivalent to $o.m(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$.
+If $e$ is a type literal, $i$ is equivalent to \code{$e$.$m$($a_1$, \ldots , $a_n$, $x_{n+1}$: $a_{n+1}$, \ldots , $x_{n+k}$: $a_{n+k}$)}.
 
 \LMHash{}
-The static type of $e$ is the same as the static type of $o.m(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$. Exactly the same static warnings that would be caused by $o.m(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$ are also generated in the case of $o?.m(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$.
+Otherwise, evaluate $e$ to an object $o$.
+If $o$ is the null value, $i$ evaluates to the null value.
+Otherwise let $v$ be a fresh variable bound to $o$ and evaluate
+\code{$v$.$m$($a_1$, $\ldots$ , $a_n$, $x_{n+1}$: $a_{n+1}$, $\ldots$ , $x_{n+k}$: $a_{n+k}$))} to a value $r$, and then $e$ evaluates to $r$.
+
+
+\LMHash{}
+The static type of $i$ is the same as the static type of $e.m(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$. Exactly the same static warnings that would be caused by $e.m(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$ are also generated in the case of $e?.m(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$.
 
 \LMHash{}
 An {\em unconditional ordinary method invocation} $i$ has the form
 
-$o.m(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$.
+$e.m(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$.
 
 \LMHash{}
 Evaluation of an unconditional ordinary method invocation $i$ of the form
 
-$o.m(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$
+$e.m(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$
 
 proceeds as follows:
 
 \LMHash{}
-First, the expression $o$ is evaluated to a value $v_o$. Next, the argument list $(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$ is evaluated yielding actual argument objects $o_1, \ldots , o_{n+k}$. Let $f$ be the result of looking up (\ref{methodLookup}) method $m$  in $v_o$ with respect to the current library $L$.
+First, the expression $e$ is evaluated to a value $o$. Next, the argument list $(a_1, \ldots , a_n, x_{n+1}: a_{n+1}, \ldots , x_{n+k}: a_{n+k})$ is evaluated yielding actual argument objects $o_1, \ldots , o_{n+k}$. Let $f$ be the result of looking up (\ref{methodLookup}) method $m$  in $o$ with respect to the current library $L$.
 
 \LMHash{}
 Let $p_1 \ldots p_h$ be the required parameters of $f$,  let $p_1 \ldots p_m$ be the positional parameters of $f$ and let $p_{h+1}, \ldots, p_{h+l}$ be the optional parameters declared by $f$.
@@ -3860,15 +3869,15 @@
 }
 
 \LMHash{}
-If  $n < h$, or $n > m$, the method lookup has failed. Furthermore, each $x_i, n+1 \le i \le n+k$,  must have a corresponding named parameter in the set $\{p_{m+1}, \ldots, p_{h+l}\}$ or the method lookup also fails.  If $v_o$ is an instance of \code{Type} but $o$ is not a constant type literal, then if $m$ is a method that forwards (\ref{functionDeclarations}) to a static method, method lookup fails. Otherwise method lookup has succeeded.
+If  $n < h$, or $n > m$, the method lookup has failed. Furthermore, each $x_i, n+1 \le i \le n+k$,  must have a corresponding named parameter in the set $\{p_{m+1}, \ldots, p_{h+l}\}$ or the method lookup also fails.  If $o$ is an instance of \code{Type} but $e$ is not a constant type literal, then if $m$ is a method that forwards (\ref{functionDeclarations}) to a static method, method lookup fails. Otherwise method lookup has succeeded.
 
 \LMHash{}
-If the method lookup succeeded, the body of $f$ is executed with respect to the bindings that resulted from the evaluation of the argument list, and with \THIS{} bound to $v_o$. The value of $i$ is the value returned after $f$ is executed.
+If the method lookup succeeded, the body of $f$ is executed with respect to the bindings that resulted from the evaluation of the argument list, and with \THIS{} bound to $o$. The value of $i$ is the value returned after $f$ is executed.
 
 \LMHash{}
-If the method lookup has failed, then let $g$ be the result of looking up getter (\ref{getterAndSetterLookup}) $m$ in $v_o$ with respect to $L$.
-If $v_o$ is an instance of \code{Type} but $o$ is not a constant type literal, then if $g$ is a getter that forwards to a static getter, getter lookup fails.
-If the getter lookup succeeded, let $v_g$ be the value of the getter invocation $o.m$. Then the value of $i$ is the result of invoking
+If the method lookup has failed, then let $g$ be the result of looking up getter (\ref{getterAndSetterLookup}) $m$ in $o$ with respect to $L$.
+If $o$ is an instance of \code{Type} but $e$ is not a constant type literal, then if $g$ is a getter that forwards to a static getter, getter lookup fails.
+If the getter lookup succeeded, let $v_g$ be the value of the getter invocation $e.m$. Then the value of $i$ is the result of invoking
 the static method \code{Function.apply()} with arguments $v.g, [o_1, \ldots , o_n], \{\#x_{n+1}: o_{n+1}, \ldots , \#x_{n+k}: o_{n+k}\}$.
 
 \LMHash{}
@@ -3896,7 +3905,7 @@
 
 \begin{code}
 \CLASS{} Perverse \{
-    noSuchMethod(x,y) =$>$ x + y;
+    noSuchMethod(x,y) => x + y;
 \}
 
 \NEW{} Perverse.unknownMethod();
@@ -3925,8 +3934,8 @@
 \LMLabel{cascadedInvocations}
 
 \LMHash{}
-A {\em cascaded method invocation} has the form {\em e..suffix}
-where $e$ is an expression and {\em suffix} is a sequence of operator, method, getter or setter invocations.
+A {\em cascaded method invocation} has the form \code{$e$..\metavar{suffix}}
+where $e$ is an expression and \metavar{suffix} is a sequence of operator, method, getter or setter invocations.
 
 \begin{grammar}
 {\bf cascadeSection:}
@@ -3939,10 +3948,15 @@
 \end{grammar}
 
 \LMHash{}
-A cascaded method invocation expression of the form {\em e..suffix} is equivalent to the expression \code{(t)\{t.{\em suffix}; \RETURN{} t;\}($e$)}.
+Evaluation of a cascaded method invocation expression $e$ of the form \code{$e$..\metavar{suffix}} proceeds as follows:
+
+Evaluate $e$ to an object $o$.
+Let $t$ be a fresh variable bound to $o$.
+Evaluate \code{$t$.\metavar{suffix}} to an object.
+Then $e$ evaluates to $o$.
 
 \rationale{
-With the introduction of null-aware conditional assignable expressions (\ref{assignableExpressions}), it would make sense to extend cascades with a null-aware conditional form as well. One might define {\em e?..suffix}  to be equivalent to the expression \code{(t)\{t?.{\em suffix}; \RETURN{} t;\}($e$)}.
+With the introduction of null-aware conditional assignable expressions (\ref{assignableExpressions}), it would make sense to extend cascades with a null-aware conditional form as well. One might define \code{$e$?..\metavar{suffix}} to be equivalent to the expression \code{$t$ == null ? null : $t$.\metavar{suffix}} where $t$ is a fresh variable bound to the value of $e$.
 
 The present specification has not added such a construct, in the interests of simplicity and rapid language evolution. However, Dart implementations may experiment with such constructs, as noted in section \ref{ecmaConformance}.
 }
@@ -4029,10 +4043,22 @@
 
 Property extraction can be either {\em conditional} or {\em unconditional}.
 
-Evaluation of a {\em conditional property extraction expression} $e$ of the form $e_1?.id$  is equivalent to the evaluation of the expression  $((x) => x == \NULL ? \NULL : x.id)(e_1)$.
-unless $e_1$ is  a type literal, in which case it is equivalent to $e_1.m$.
+\LMHash{}
+Evaluation of a {\em conditional property extraction expression} $e$
+of the form \code{$e_1$?.\metavar{id}} proceeds as follows:
 
-The static type of $e$ is the same as the static type of $e_1.id$. Let $T$ be the static type of $e_1$ and let $y$ be a fresh variable of type $T$. Exactly the same static warnings that would be caused by $y.id$ are also generated in the case of $e_1?.id$.
+\LMHash{}
+If $e_1$ is a type literal, $e$ is equivalent to \code{$e_1$.$m$}.
+
+\LMHash{}
+Otherwise evaluate $e_1$ to an object $o$.
+If $o$ is the null value, $e$ evaluates to the null value.
+Otherwise let $x$ be a fresh variable bound to $o$
+and evaluate \code{$x$.\metavar{id}} to a value $r$.
+Then $e$ evaluates to $r$.
+
+
+The static type of $e$ is the same as the static type of \code{$e_1$.\metavar{id}}. Let $T$ be the static type of $e_1$ and let $y$ be a fresh variable of type $T$. Exactly the same static warnings that would be caused by \code{$y$.\metavar{id}} are also generated in the case of \code{$e_1$?.\metavar{id}}.
 
 \LMHash{}
 Unconditional property extraction has one of two syntactic forms: $e.m$ (\ref{getterAccessAndMethodExtraction}) or $\SUPER.m$ (\ref{superGetterAccessAndMethodClosurization}), where $e$ is an expression and $m$ is an identifier.
@@ -4145,7 +4171,7 @@
 Let $o$ be an object, and let $u$ be a fresh final variable bound to $o$.
 The {\em closurization of method $f$ on object $o$} is defined to be equivalent to:
 \begin{itemize}
-%\item $(a) \{\RETURN{}$ $u$ $op$ $a;$\} if $f$ is named $op$ and $op$ is one of  \code{$<$, $>$, $<$=, $>$=, ==,  -, +, /, \~{}/, *, \%, $|$, \^{}, \&, $<<$, $>>$} (this precludes closurization of unary -).
+%\item $(a) \{\RETURN{}$ $u$ $op$ $a;$\} if $f$ is named $op$ and $op$ is one of  \code{<, >, <=, >=, ==,  -, +, /, \~{}/, *, \%, $|$, \^{}, \&, $<<$, $>>$} (this precludes closurization of unary -).
 %\item $() \{\RETURN{}$ \~{} $u;$\} if $f$ is named \~{}.
 %\item $(a) \{\RETURN{}$ $u[a];$\} if $f$ is named $[]$.
 %\item $(a, b) \{\RETURN{}$ $u[a] = b;$\} if $f$ is named $[]=$.
@@ -4163,7 +4189,7 @@
 \}
 \end{dartCode}
 if $f$ is named $m$ and has required parameters $r_1, \ldots, r_n$, and optional positional parameters $p_1, \ldots, p_k$ with defaults $d_1, \ldots, d_k$.
-%\end{itemize}
+\end{itemize}
 
 \LMHash{}
 Except that iff  \code{identical($o_1, o_2$)}  then \cd{$o_1.m$ == $o_2.m$}.
@@ -4186,7 +4212,7 @@
 
 \LMHash{}
 \begin{itemize}
-%\item $(a) \{\RETURN{}$ \SUPER{} $op$ $a;$\} if $f$ is named $op$ and $op$ is one of  \code{$<$, $>$, $<$=, $>$=, ==,  -, +, /, \~{}/, *, \%, $|$, \^{}, \&, $<<$, $>>$}.
+%\item $(a) \{\RETURN{}$ \SUPER{} $op$ $a;$\} if $f$ is named $op$ and $op$ is one of  \code{<, >, <=, >=, ==,  -, +, /, \~{}/, *, \%, $|$, \^{}, \&, $<<$, $>>$}.
 %\item $() \{\RETURN{}$ \~{}\SUPER;\} if $f$ is named \~{}.
 %\item $(a) \{\RETURN{}$ $\SUPER[a];$\} if $f$ is named $[]$.
 %\item $(a, b) \{\RETURN{}$ $\SUPER[a] = b;$\} if $f$ is named $[]=$.
@@ -4263,12 +4289,24 @@
 It is a static type warning if the static type of $e$ may not be assigned to the static type of $v$. The static type of the expression $v$ \code{=} $e$ is the static type of $e$.
 
 \LMHash{}
-Evaluation of an assignment $a$ of the form $e_1?.v$ \code{=} $e_2$ is equivalent to the evaluation of the expression $((x) => x == \NULL? \NULL: x.v = e_2)(e_1)$
- unless $e_1$ is  a type literal, in which case it is equivalent to $e_1.v$ \code{=} $e_2$.
-. The static type of $a$ is the static type of $e_2$. Let $T$ be the static type of $e_1$ and let $y$ be a fresh variable of type $T$. Exactly the same static warnings that would be caused by $y.v = e_2$ are also generated in the case of $e_1?.v$ \code{=} $e_2$.
+Evaluation of an assignment $a$ of the form \code{$e_1$?.$v$ = $e_2$}
+proceeds as follows:
+
+\LMHash
+If $e_1$ is a type literal, $a$ is equivalent to \code{$e_1$.$v$ = $e_2$}.
 
 \LMHash{}
-Evaluation of an assignment of the form $e_1.v$ \code{=} $e_2$ proceeds as follows:
+Otherwise evaluate $e_1$ to an object $o$.
+If $o$ is the null value, $a$ evaluates to the null value.
+Otherwise let $x$ be a fresh variable bound to $o$
+and evaluate \code{$x$.$v$ = $e_2$} to an object $r$.
+Then $a$ evaluates to $r$.
+
+\LMHash{}
+The static type of $a$ is the static type of $e_2$. Let $T$ be the static type of $e_1$ and let $y$ be a fresh variable of type $T$. Exactly the same static warnings that would be caused by \code{$y$.$v$ = $e_2$} are also generated in the case of \code{$e_1$?.$v$ = $e_2$}.
+
+\LMHash{}
+Evaluation of an assignment of the form \code{$e_1$.$v$ = $e_2$} proceeds as follows:
 
 \LMHash{}
 The expression $e_1$ is evaluated to an object $o_1$. Then, the expression $e_2$  is evaluated to an object $o_2$. Then, the setter $v=$ is looked up (\ref{getterAndSetterLookup}) in $o_1$ with respect to the current library.  If $o_1$ is an instance of \code{Type} but $e_1$ is not a constant type literal, then if $v=$ is a setter that forwards (\ref{functionDeclarations}) to a static setter, setter lookup fails. Otherwise, the body  of $v=$ is executed with its formal parameter bound to $o_2$ and \THIS{} bound to $o_1$.
@@ -4348,16 +4386,20 @@
 \LMHash{}
 It is a static type warning if the static type of $e$ may not be assigned to the static type of the formal parameter of the setter $v=$.   The static type of the expression $\SUPER.v$ \code{=} $e$ is the static type of $e$.
 
-
-
-
-
+\LMHash{}
+Evaluation of an assignment $e$ of the form \code{$e_1$[$e_2$] = $e_3$}
+proceeds as follows:
 
 \LMHash{}
-Evaluation of an assignment of the form $e_1[e_2]$ \code{=} $e_3$ is equivalent to the evaluation of the expression \code{(a, i, e)\{a.[]=(i, e); \RETURN{} e; \} ($e_1, e_2, e_3$)}.  The static type of the expression $e_1[e_2]$ \code{=} $e_3$ is the static type of $e_3$.
+Evaluate $e_1$ to an object $a$, then evaluate $e_2$ to an object $i$, and finally evaluate $e_3$ to an object $v$.
+Call the method \code{[]=} on $a$ with $i$ as first argument and $v$ as second argument.
+Then $e$ evaluates to $v$.
 
 \LMHash{}
-An assignment of the form $\SUPER[e_1]$ \code{=} $e_2$ is equivalent to the expression $\SUPER.[e_1]$ \code{=} $e_2$.  The static type of the expression $\SUPER[e_1]$ \code{=} $e_2$ is the static type of $e_2$.
+The static type of the expression \code{$e_1$[$e_2$] = $e_3$} is the static type of $e_3$.
+
+\LMHash{}
+An assignment of the form \code{\SUPER[$e_1$] = $e_2$} is equivalent to the expression \code{\SUPER.[$e_1$] = $e_2$}.  The static type of the expression \code{\SUPER[$e_1$] = $e_2$} is the static type of $e_2$.
 
 
 % Should we add: It is a dynamic error if $e_1$ evaluates to an  constant list or map.
@@ -4374,27 +4416,71 @@
 \LMLabel{compoundAssignment}
 
 \LMHash{}
-Evaluation of a compound assignment of the form $v$ {\em ??=} $e$ is equivalent to the evaluation of the expression  $((x) => x == \NULL{}$ ?  $v=e : x)(v)$ where $x$ is a fresh variable that is not used in $e$.
+Evaluation of a compound assignment $a$ of the form \code{$v$ ??= $e$}
+proceeds as follows:
+
+Evaluate $v$ to an object $o$.
+If $o$ is not the null value, $a$ evaluates to $o$.
+Otherwise evaluate \code{$v$ = $e$} to a value $r$,
+and then $a$ evaluates to $r$.
 
 \LMHash{}
-Evaluation of a compound assignment of the form $C.v$ {\em ??=} $e$, where $C$ is a type literal, is equivalent to the evaluation of the expression  $((x) => x == \NULL{}$?  $C.v=e: x)(C.v)$ where $x$ is a fresh variable that is not used in $e$.
+Evaluation of a compound assignment, $a$ of the form \code{$C$.$v$ ??= $e$}, where $C$ is a type literal, proceeds as follow:
+
+Evaluate \code{$C$.$v$} to an object $o$.
+If $o$ is not the null value, $a$ evaluates to $o$.
+Otherwise evaluate \code{$C$.$v$ = $e$} to a value $r$,
+and then $a$ evaluates to $r$.
 
 \commentary {
 The two rules above also apply when the variable v or the type C is prefixed.
 }
 
 \LMHash{}
-Evaluation of a compound assignment of the form $e_1.v$ {\em ??=} $e_2$ is equivalent to the evaluation of the expression  $((x) =>((y) => y == \NULL{}$ ? $ x.v = e_2: y)(x.v))(e_1)$ where $x$ and $y$ are distinct fresh variables that are not used in $e_2$.
+Evaluation of a compound assignment $a$ of the form \code{$e_1$.$v$ ??= $e_2$}
+proceeds as follows:
 
 \LMHash{}
-Evaluation of a compound assignment of the form  $e_1[e_2]$  {\em ??=} $e_3$ is equivalent to the evaluation of the expression
-$((a, i) => ((x) => x == \NULL{}$ ?  $a[i] = e_3: x)(a[i]))(e_1, e_2)$ where $x$, $a$ and $i$ are distinct fresh variables that are not used in $e_3$.
+Evaluate $e_1$ to an object $u$.
+Let $x$ be a fresh variable bound to $u$.
+Evalute \code{$x$.$v$} to an object $o$.
+If $o$ is not the null value, $a$ evaluates to $o$.
+Otherwise evaluate \code{$x$.$v$ = $e_2$} to an object $r$,
+and then $a$ evaluates to $r$.
 
 \LMHash{}
-Evaluation of a compound assignment of the form $\SUPER.v$  {\em ??=} $e$ is equivalent to the evaluation of the expression  $((x) => x == \NULL{}$ ? $\SUPER.v = e: x)(\SUPER.v)$ where $x$ is a fresh variable that is not used in $e$.
+Evaluation of a compound assignment $a$ of the form \code{$e_1$[$e_2$] ??= $e_3$}
+proceeds as follows:
 
 \LMHash{}
-Evaluation of a compound assignment of the form $e_1?.v$  {\em ??=} $e_2$ is equivalent to the evaluation of the expression \code{((x) $=>$ x == \NULL{} ?  \NULL: $x.v ??=  e_2$)($e_1$)} where $x$ is a variable that is not used in $e_2$.
+Evaluate $e_1$ to an object $u$ and then evaluate $e_2$ to an object $i$.
+Call the \code{[]} method on $u$ with argument $i$, and let $o$ be the returned value.
+If $o$ is not the null value, $a$ evaluates to $o$.
+Otherwise evaluate $e_3$ to an object $v$
+and then call the \code{[]=} method on $u$ with $i$ as first argument and $v$ as second argument.
+Then $a$ evaluates to $v$.
+
+\LMHash{}
+Evaluation of a compound assignment $a$ of the form \code{\SUPER.$v$ ??= $e$}
+proceeds as follows:
+
+\LMHash{}
+Evaluate \code{\SUPER.$v$} to an object $o$.
+If $o$ is not the null value then $a$ evaluats to $o$.
+Otherwise evaluate \code{\SUPER.$v$ = $e$} to an object $r$,
+and then $a$ evaluates to $r$.
+
+\LMHash{}
+Evaluation of a compound assignment $a$ of the form \code{$e_1$?.$v$ ??= $e_2$}
+proceeds as follows:
+
+\LMHash{}
+Evaluate $e_1$ to an object $u$ and let $x$ be a fresh variable bound to $u$.
+Evaluate \code{$x$.$v$} to an object $o$.
+If $o$ is not the null value then $a$ evaluates to $o$.
+Otherwise evaluate \code{$x$.$v$ = $e_2$} to an object $r$,
+and then $a$ evaluates to $r$.
+
 % But what about C?.v ??= e
 
 \LMHash{}
@@ -4403,7 +4489,6 @@
 \LMHash{}
 The static type of a compound assignment of the form $v$ {\em ??=} $e$ is the least upper bound of the static type of $v$ and the static type of $e$.  Exactly the same static warnings that would be caused by $v = e$ are also generated in the case of $v$ {\em ??=} $e$.
 
-
 \LMHash{}
 The static type of a compound assignment of the form  $C.v$ {\em ??=} $e$  is the least upper bound of the static type of $C.v$ and the static type of $e$.  Exactly the same static warnings that would be caused by $C.v = e$ are also generated in the case of $C.v$ {\em ??=} $e$.
 
@@ -4417,11 +4502,33 @@
 The static type of a compound assignment of the form $\SUPER.v$  {\em ??=} $e$  is the least upper bound of the static type of $\SUPER.v$ and the static type of $e$. Exactly the same static warnings that would be caused by $\SUPER.v = e$ are also generated in the case of $\SUPER.v$  {\em ??=} $e$.
 
 \LMHash{}
-For any other valid operator $op$, a compound assignment of the form $v$ $op\code{=} e$ is equivalent to $v \code{=} v$ $op$ $e$. A compound assignment of the form $C.v$ $op \code{=} e$ is equivalent to $C.v \code{=} C.v$ $op$ $e$. A compound assignment of the form $e_1.v$ $op = e_2$ is equivalent to \code{((x) $=>$ x.v = x.v $op$ $e_2$)($e_1$)} where $x$ is a variable that is not used in $e_2$. A compound assignment of the form  $e_1[e_2]$ $op\code{=} e_3$ is equivalent to
-\code{((a, i) $=>$ a[i] = a[i] $op$ $e_3$)($e_1, e_2$)} where $a$ and $i$ are a variables that are not used in $e_3$.
+For any other valid operator $op$, a compound assignment of the form \code{$v$ $op$= $e$} is equivalent to \code{$v$ = $v$ $op$ $e$}. A compound assignment of the form \code{$C$.$v$ $op$= $e$} is equivalent to \code{$C$.$v$ = $C$.$v$ $op$ $e$}.
 
 \LMHash{}
-Evaluation of a compound assignment of the form $e_1?.v$ $op = e_2$ is equivalent to \code{((x) $=>$ x?.v = x.v $op$ $e_2$)($e_1$)} where $x$ is a variable that is not used in $e_2$. The static type of $e_1?.v$ $op = e_2$ is the static type of $e_1.v$ $op$ $e_2$. Exactly the same static warnings that would be caused by $e_1.v$ $op = e_2$ are also generated in the case of $e_1?.v$ $op = e_2$.
+Evaluation of a compound assignment $a$ of the form \code{$e_1$.$v$ $op$= $e_2$} proceeds as follows:
+Evaluate $e_1$ to an object $u$ and let $x$ be a fresh variable bound to $u$.
+Evaluate \code{$x$.$v$ = $x$.$v$ $op$ $e_2$} to an object $r$
+and then $a$ evaluates to $r$.
+
+\LMHash{}
+Evaluation of s compound assignment $a$ of the form \code{$e_1$[$e_2$] $op$= $e_3$} proceeds as follows:
+Evaluate $e_1$ to an object $u$ and evaluate $e_2$ to an object $v$.
+Let $a$ and $i$ be fresh variables bound to $u$ and $v$ respectively.
+Evaluate \code{$a$[$i$] = $a$[$i$] $op$ $e_3$} to an object $r$,
+and then $a$ evaluates to $r$.
+
+\LMHash{}
+Evaluation of a compound assignment $a$ of the form \code{$e_1$?.$v$ $op$ = $e_2$} proceeds as follows:
+
+\LMHash{}
+Evaluate $e_1$ to an object $u$.
+If $u$ is the null value, then $a$ evaluates to the null value.
+Otherwise let $x$ be a fresh variable bound to $u$.
+Evaluate \code{$x$.$v$ $op$= $e_2$} to an object $r$.
+Then $a$ evaluates to $r$.
+
+\LMHash{}
+The static type of \code{$e_1$?.$v$ $op$= $e_2$} is the static type of \code{$e_1$.$v$ $op$ $e_2$}. Exactly the same static warnings that would be caused by \code{$e_1$.$v$ $op$= $e_2$} are also generated in the case of \code{$e_1$?.$v$ $op$= $e_2$}.
 
 \LMHash{}
 A compound assignment of the form $C?.v$ $op = e_2$ is equivalent to the expression
@@ -4489,7 +4596,17 @@
 \end{grammar}
 
 \LMHash{}
-Evaluation of an if-null expression $e$ of the form $e_1??e_2 $ is equivalent to the evaluation of the expression $((x) => x == \NULL? e_2: x)(e_1)$. The static type of $e$ is least upper bound (\ref{leastUpperBounds}) of the static type of $e_1$ and the static type of $e_2$.
+Evaluation of an if-null expression $e$ of the form \code{$e_1$ ?? $e_2$}
+proceeds as follows:
+
+\LMHash{}
+Evaluate $e_1$ to an object $o$.
+If $o$ is not the null value, then $e$ evaluates to $o$.
+Otherwise evaluate $e_2$ to an object $r$,
+and then $e$ evaluates to $r$.
+
+\LMHash{}
+The static type of $e$ is the least upper bound (\ref{leastUpperBounds}) of the static type of $e_1$ and the static type of $e_2$.
 
 
 \subsection{ Logical Boolean Expressions}
@@ -4860,7 +4977,12 @@
  A {\em postfix expression} is either a primary expression, a function, method or getter invocation, or an invocation of a postfix operator on an expression $e$.
 
 \LMHash{}
-Execution of a postfix expression of the form \code{$v$++}, where $v$ is an identifier, is equivalent to executing \code{()\{\VAR{} r = $v$; $v$ = r + 1; \RETURN{} r\}()}.
+Evaluation of a postfix expression $e$ of the form \code{$v$++}, where $v$ is an identifier, proceeds as follows:
+
+\LMHash{}
+Evaluate $v$ to an object $r$ and let $y$ be a fresh variable bound to $r$.
+Evaluate \code{$v$ = $y$ + 1}.
+Then $e$ evaluates to $r$.
 
 \LMHash{}
 The static type of such an expression is the static type of $v$.
@@ -4870,86 +4992,140 @@
 }
 
 \LMHash{}
-Execution of a postfix expression of the form \code{$C.v$ ++} is equivalent to executing
-
-\code{()\{\VAR{} r = $C.v$; $C.v$ = r + 1; \RETURN{} r\}()}.
+Evaluation of a postfix expression $e$ of the form \code{$C$.$v$++}
+proceeds as follows:
 
 \LMHash{}
-The static type of such an expression is the static type of $C.v$.
+Evaluate \code{$C$.$v$} to a value $r$
+and let $y$ be a fresh variable bound to $r$.
+Evaluate \code{$C$.$v$ = $y$ + 1}.
+Then $e$ evaluates to $r$.
+
+\LMHash{}
+The static type of such an expression is the static type of \code{$C$.$v$}.
 
 
 \LMHash{}
-Execution of a postfix expression of the form \code{$e_1.v$++} is equivalent to executing
-
-\code{(x)\{\VAR{} r = x.v; x.v = r + 1; \RETURN{} r\}($e_1$)}.
+Evaluation of a postfix expression $e$ of the form \code{$e_1$.$v$++}
+proceeds as follows:
 
 \LMHash{}
-The static type of such an expression is the static type of $e_1.v$.
+Evaluate $e_1$ to an object $u$ and let $x$ be a fresh variable bound to $u$.
+Evaluate \code{$x$.$v$} to a value $r$
+and let $y$ be a fresh variable bound to $r$.
+Evaluate \code{$x$.$v$ = $y$ + 1}.
+Then $e$ evaluates to $r$.
+
+\LMHash{}
+The static type of such an expression is the static type of \code{$e_1$.$v$}.
 
 
 \LMHash{}
-Execution of a postfix expression of the form \code{$e_1[e_2]$++},  is equivalent to executing
-
-\code{(a, i)\{\VAR{} r = a[i]; a[i] = r + 1; \RETURN{} r\}($e_1$, $e_2$)}.
+Evaluation of a postfix expression $e$ of the form \code{$e_1$[$e_2$]++}
+proceeds as follows:
 
 \LMHash{}
-The static type of such an expression is the static type of $e_1[e_2]$.
+Evaluate $e_1$ to an object $u$ and $e_2$ to an object $v$.
+Let $a$ and $i$ be fresh variables bound to $u$ and $v$ respectively.
+Evaluate \code{$a$[$i$]} to an object $r$
+and let $y$ be a fresh variable bound to $r$.
+Evaluate \code{$a$[$i$] = $y$ + 1}.
+Then $e$ evaluates to $r$.
+
+\LMHash{}
+The static type of such an expression is the static type of \code{$e_1$[$e_2$]}.
 
 
 \LMHash{}
-Execution of a postfix expression of the form \code{$v$-{}-}, where $v$ is an identifier, is equivalent to executing
+Evaluation of a postfix expression $e$ of the form \code{$v$-{}-}, where $v$ is an identifier, proceeds as follows:
 
-\code{()\{\VAR{} r = $v$; $v$ = r - 1; \RETURN{} r\}()}.
+\LMHash{}
+Evaluate the expression $v$ to an object $r$
+and let $y$ be a fresh variable bound to $r$.
+Evaluate \code{$v$ = $y$ - 1}.
+Then $e$ evaluates to $r$.
 
 \LMHash{}
 The static type of such an expression is the static type of $v$.
 
 
 \LMHash{}
-Execution of a postfix expression of the form \code{$C.v$-{}-} is equivalent to executing
-
-\code{()\{\VAR{} r = $C.v$; $C.v$ = r - 1; \RETURN{} r\}()}.
+Evaluation of a postfix expression $e$ of the form \code{$C$.$v$-{}-}
+proceeds as follows:
 
 \LMHash{}
-The static type of such an expression is the static type of $C.v$.
+Evaluate \code{$C$.$v$} to a value $r$
+and let $y$ be a fresh variable bound to $r$.
+Evaluate \code{$C$.$v$ = $y$ - 1}.
+Then $e$ evaluates to $r$.
+
+\LMHash{}
+The static type of such an expression is the static type of \code{$C$.$v$}.
 
 
 \LMHash{}
-Execution of a postfix expression of the form \code{$e_1.v$-{}-} is equivalent to executing
-
-\code{(x)\{\VAR{} r = x.v; x.v = r - 1; \RETURN{} r\}($e_1$)}.
+Evaluation of a postfix expression of the form \code{$e_1$.$v$-{}-}
+proceeds as follows:
 
 \LMHash{}
-The static type of such an expression is the static type of $e_1.v$.
+Evaluate $e_1$ to an object $u$ and let $x$ be a fresh variable bound to $u$.
+Evaluate \code{$x$.$v$} to a value $r$
+and let $y$ be a fresh variable bound to $r$.
+Evaluate \code{$x$.$v$ = $y$ - 1}.
+Then $e$ evaluates to $r$.
 
 
 \LMHash{}
-Execution of a postfix expression of the form \code{$e_1[e_2]$-{}-},  is equivalent to executing
+The static type of such an expression is the static type of \code{$e_1$.$v$}.
 
-\code{(a, i)\{\VAR{} r = a[i]; a[i] = r - 1; \RETURN{} r\}($e_1$, $e_2$)}.
 
 \LMHash{}
-The static type of such an expression is the static type of $e_1[e_2]$.
+Evaluation of a postfix expression $e$ of the form \code{$e_1$[$e_2$]-{}-}
+proceeds as follows:
 
 \LMHash{}
-Execution of a postfix expression of the form \code{$e_1?.v$++} is equivalent to executing
-
-\code{((x) =$>$ x == \NULL? \NULL : x.v++)($e_1$)}
-unless $e_1$ is a type literal, in which case it is equivalent to \code{$e_1.v$++}
-.
+Evaluate $e_1$ to an object $u$ and $e_2$ to an object $v$.
+Let $a$ and $i$ be fresh variables bound to $u$ and $v$ respectively.
+Evaluate \code{$a$[$i$]} to an object $r$
+and let $y$ be a fresh variable bound to $r$.
+Evaluate \code{$a$[$i$] = $y$ - 1}.
+Then $e$ evaluates to $r$.
 
 \LMHash{}
-The static type of such an expression is the static type of $e_1.v$.
+The static type of such an expression is the static type of \code{$e_1$[$e_2$]}.
 
 \LMHash{}
-Execution of a postfix expression of the form \code{$e_1?.v$-{}-} is equivalent to executing
-
-\code{((x) =$>$ x == \NULL? \NULL : x.v-{}-)($e_1$)}
-unless $e_1$ is a type literal, in which case it is equivalent to \code{$e_1.v$-{}-}
-.
+Evaluation of a postfix expression $e$ of the form \code{$e_1$?.$v$++}
+where $e_1$ is not a type literal, proceeds as follows:
 
 \LMHash{}
-The static type of such an expression is the static type of $e_1.v$.
+If $e_1$ is a type literal, $e$ is equivalent to \code{$e_1$.$v$++}.
+
+\LMHash{}
+Otherwise evaluate $e_1$ to an object $u$.
+if $u$ is the null value, $e$ evaluates to the null value.
+Otherwise let $x$ be a fresh variable bound to $u$.
+Evaluate \code{$x$.$v$++} to an object $o$.
+Then $e$ evaluates to $o$.
+
+\LMHash{}
+The static type of such an expression is the static type of \code{$e_1$.$v$}.
+
+\LMHash{}
+Evaluation of a postfix expression $e$ of the form \code{$e_1$?.$v$-{}-}
+where $e_1$ is not a type literal, proceeds as follows:
+
+If $e_1$ is a type literal, $e$ is equivalent to \code{$e_1$.$v$-{}-}.
+
+Otherwise evaluate $e_1$ to an object $u$.
+If $u$ is the null value, $e$ evalkuates to the null value.
+Otherwise let $x$ be a fresh variable bound to $u$.
+Evaluate \code{$x$.$v$-{}-} to an object $o$.
+Then $e$ evaluates to $o$.
+
+
+\LMHash{}
+The static type of such an expression is the static type of \code{$e_1$.$v$}.
 
 
 \subsection{ Assignable Expressions}
@@ -5217,7 +5393,6 @@
 \LMHash{}
 The static type of a cast expression  \code{$e$ \AS{} $T$}  is $T$.
 
-
 \section{Statements}
 \LMLabel{statements}
 
@@ -5313,7 +5488,7 @@
  A variable declaration statement of the form \VAR{} $v;$ is equivalent to \VAR{} $v = \NULL{};$. A variable declaration statement of the form $T$ $v;$ is equivalent to $T$ $v = \NULL{};$.
 
 \commentary{
-This holds regardless of the type $T$. For example, \code{int i;} does not cause \code{i} to be initialized to zero. Instead, \code{i} is initialized to \NULL{}, just as if we had written \VAR{} \code{i;} or \code{Object i;} or \code{Collection$<$String$>$ i;}.
+This holds regardless of the type $T$. For example, \code{int i;} does not cause \code{i} to be initialized to zero. Instead, \code{i} is initialized to \NULL{}, just as if we had written \VAR{} \code{i;} or \code{Object i;} or \code{Collection<String> i;}.
 }
 
 \rationale{
@@ -5353,19 +5528,19 @@
 }
 
 \begin{dartCode}
-f(x) =$>$ x++;  // a top level function
+f(x) => x++;  // a top level function
 top() \{ // another top level function
   f(3); // illegal
-  f(x) $=>$ x $>$ 0? x*f(x-1): 1;  // recursion is legal
-  g1(x) $=>$ h(x, 1); // error: h is not declared yet
-  h(x, n) $=>$ x $>$ 1? h(x-1, n*x): n; // again, recursion is fine
-  g2(x) $=>$ h(x, 1); // legal
+  f(x) => x > 0? x*f(x-1): 1;  // recursion is legal
+  g1(x) => h(x, 1); // error: h is not declared yet
+  h(x, n) => x > 1? h(x-1, n*x): n; // again, recursion is fine
+  g2(x) => h(x, 1); // legal
 
-  p1(x) $=>$ q(x,x); // illegal
-  q1(a, b)$ =>$ a $>$ 0 ? p1(a-1): b; // fine
+  p1(x) => q(x,x); // illegal
+  q1(a, b)$ =>$ a > 0 ? p1(a-1): b; // fine
 
-  q2(a, b) $=>$ a $>$ 0 ? p2(a-1): b; // illegal
-  p1(x) $=>$ q2(x,x); // fine
+  q2(a, b) => a > 0 ? p2(a-1): b; // illegal
+  p1(x) => q2(x,x); // fine
 \}
 \end{dartCode}
 
@@ -5376,8 +5551,8 @@
 \begin{dartCode}
 top2() \{ // a top level function
  \VAR{} p, q;
-  p = (x) $=>$ q(x,x);
-  q = (a, b) $=>$ a $>$ 0 ? p(a-1): b;
+  p = (x) => q(x,x);
+  q = (a, b) => a > 0 ? p(a-1): b;
 
 \}
 \end{dartCode}
@@ -5949,7 +6124,8 @@
 Otherwise, execution resumes at the end of the try statement.
 
 \LMHash{}
-Execution of an \ON{}-\CATCH{} clause \code{\ON{} $T$ \CATCH{} ($p_1$, $p_2$)} $s$ of a try statement $t$ proceeds as follows: The statement $s$ is executed in the dynamic scope of the exception handler defined by the finally clause of $t$. Then, the current exception and active stack trace both become undefined.
+Execution of an \ON{}-\CATCH{} clause \code{\ON{} $T$ \CATCH{} ($p_1$, $p_2$)} $s$ of a try statement $t$ proceeds as follows:
+The statement $s$ is executed in the dynamic scope of the exception handler defined by the finally clause of $t$. Then, the current exception and active stack trace both become undefined.
 
 \LMHash{}
 Execution of a \FINALLY{} clause \FINALLY{} $s$ of a try statement proceeds as follows:
@@ -6023,12 +6199,12 @@
 Let $T$ be the static type of $e$ and let $f$ be the immediately enclosing function.
 
 \LMHash{}
-It is a static type warning if the body of $f$ is marked \ASYNC{} and the type \code{Future$<$flatten(T)$>$} (\ref{functionExpressions}) may not be assigned to the declared return type of $f$.    Otherwise, it is a static type warning if $T$ may not be assigned to the declared return type of $f$.
+It is a static type warning if the body of $f$ is marked \ASYNC{} and the type \code{Future<flatten(T)>} (\ref{functionExpressions}) may not be assigned to the declared return type of $f$.    Otherwise, it is a static type warning if $T$ may not be assigned to the declared return type of $f$.
 
 \LMHash{}
 Let $S$ be the runtime type of $o$. In checked mode:
 \begin{itemize}
-\item  If the body of $f$ is marked \ASYNC{} (\ref{functions}) it is a dynamic type error if $o$ is not \NULL{} (\ref{null}) and \code{Future$<$flatten(S)$>$} is not a subtype of the actual return type  (\ref{actualTypeOfADeclaration}) of $f$.
+\item  If the body of $f$ is marked \ASYNC{} (\ref{functions}) it is a dynamic type error if $o$ is not \NULL{} (\ref{null}) and \code{Future<flatten(S)>} is not a subtype of the actual return type  (\ref{actualTypeOfADeclaration}) of $f$.
 \item Otherwise, it is a dynamic type error if $o$ is not \NULL{} and the runtime type of $o$ is not a subtype of the actual return type of $f$.
 \end{itemize}
 
@@ -6050,15 +6226,15 @@
 Let $f$ be the function immediately enclosing a return statement of the form \RETURN{}; It is a static warning  $f$ is neither a generator nor a generative constructor and either:
 \begin{itemize}
 \item  $f$ is synchronous and the return type of $f$ may not be assigned to \VOID{} (\ref{typeVoid}) or,
-\item  $f$ is asynchronous and the return type of $f$ may not be assigned to \code{Future$<$Null$>$}.
+\item  $f$ is asynchronous and the return type of $f$ may not be assigned to \code{Future<Null>}.
 \end{itemize}
 
  \commentary{
-Hence, a static warning will not be issued if $f$ has no declared return type, since the return type would be  \DYNAMIC{} and  \DYNAMIC{} may be assigned to \VOID{} and to \code{Future$<$Null$>$}. However, any synchronous non-generator function that declares a return type must return an expression explicitly.
+Hence, a static warning will not be issued if $f$ has no declared return type, since the return type would be  \DYNAMIC{} and  \DYNAMIC{} may be assigned to \VOID{} and to \code{Future<Null>}. However, any synchronous non-generator function that declares a return type must return an expression explicitly.
 }
 \rationale{This helps catch situations where users forget to return a value in a return statement.}
 
-\rationale{ An asynchronous non-generator always returns a future of some sort. If no expression is given, the future will be completed with \NULL{} and this motivates the requirement above.} \commentary{Leaving the return type of a function marked \ASYNC{}  blank will be interpreted as \DYNAMIC{} as always, and cause no type error. Using \code{Future} or \code{Future$<$Object$>$} is acceptable as well, but any other type will cause a warning, since \NULL{} has no subtypes.}
+\rationale{ An asynchronous non-generator always returns a future of some sort. If no expression is given, the future will be completed with \NULL{} and this motivates the requirement above.} \commentary{Leaving the return type of a function marked \ASYNC{}  blank will be interpreted as \DYNAMIC{} as always, and cause no type error. Using \code{Future} or \code{Future<Object>} is acceptable as well, but any other type will cause a warning, since \NULL{} has no subtypes.}
 
 \LMHash{}
 A return statement with no expression, \code{\RETURN;} is executed as follows:
@@ -6218,9 +6394,9 @@
 Let $T$ be the static type of $e$ and let $f$ be the immediately enclosing function.  It is a static type warning if either:
 \begin{itemize}
 \item
- the body of $f$ is marked \ASYNC* and the type \code{Stream$<$T$>$} may not be assigned to the declared return type of $f$.
+ the body of $f$ is marked \ASYNC* and the type \code{Stream<T>} may not be assigned to the declared return type of $f$.
  \item
- the body of $f$ is marked \SYNC* and the type \code{Iterable$<$T$>$} may not be assigned to the declared return type of $f$.
+ the body of $f$ is marked \SYNC* and the type \code{Iterable<T>} may not be assigned to the declared return type of $f$.
  \end{itemize}
 
 
@@ -6753,9 +6929,9 @@
 A script $S$ may be executed as follows:
 
 \LMHash{}
-First, $S$ is compiled as a library as specified above. Then, the top-level function \code{main} that is in the exported namespace of $S$ is invoked. If \code{main} has no positional parameters, it is invoked with no arguments. Otherwise if \code{main} has exactly one positional parameter, it is invoked with a single actual argument whose runtime type implements \code{List$<$String$>$}.  Otherwise \code{main} is invoked with the following two actual arguments:
+First, $S$ is compiled as a library as specified above. Then, the top-level function \code{main} that is in the exported namespace of $S$ is invoked. If \code{main} has no positional parameters, it is invoked with no arguments. Otherwise if \code{main} has exactly one positional parameter, it is invoked with a single actual argument whose runtime type implements \code{List<String>}.  Otherwise \code{main} is invoked with the following two actual arguments:
 \begin{enumerate}
-\item An object whose runtime type implements \code{List$<$String$>$}.
+\item An object whose runtime type implements \code{List<String>}.
 \item The initial message of the current isolate $i$ as determined by the invocation of \code{Isolate.spawnUri} that spawned $i$.
 \end{enumerate}
 
@@ -6929,7 +7105,7 @@
 
 \begin{dartCode}
 \TYPEDEF{} F(bool x);
-f(foo x) $=>$ x;
+f(foo x) => x;
 main() \{
   if (f is F) \{
     print("yoyoma");
@@ -6961,10 +7137,10 @@
 }
 
 \begin{dartCode}
-\CLASS{} I$<$T \EXTENDS{} num$>$ \{\}
+\CLASS{} I<T \EXTENDS{} num> \{\}
 \CLASS{} J \{\}
 
-\CLASS{} A$<$T$>$ \IMPLEMENTS{} J,  I$<$T$>$ // type warning: T is not a subtype of num
+\CLASS{} A<T> \IMPLEMENTS{} J,  I<T> // type warning: T is not a subtype of num
 \{ ...
 \}
 \end{dartCode}
@@ -6972,24 +7148,24 @@
 \commentary{Given the declarations above, the following}
 
 \begin{dartCode}
-I x = \NEW{} A$<$String$>$();
+I x = \NEW{} A<String>();
 \end{dartCode}
 
 \commentary{
-will cause a dynamic type error in checked mode, because the assignment requires a subtype test A$<$String$>$ $<$: I. To show that this holds, we need to show that A$<$String$>$  $<<$ I$<$String$>$, but I$<$String$>$ is a malbounded type, causing the dynamic error.  No error is thrown in production mode. Note that
+will cause a dynamic type error in checked mode, because the assignment requires a subtype test A<String> <: I. To show that this holds, we need to show that A<String>  $<<$ I<String>, but I<String> is a malbounded type, causing the dynamic error.  No error is thrown in production mode. Note that
 }
 
 \begin{dartCode}
-J x = \NEW{} A$<$String$>$();
+J x = \NEW{} A<String>();
 \end{dartCode}
 
 \commentary{
-does not cause a dynamic error, as there is no need to test against \code{I$<$String$>$} in this case.
+does not cause a dynamic error, as there is no need to test against \code{I<String>} in this case.
 Similarly, in production mode
 }
 
 \begin{dartCode}
-A x = \NEW{} A$<$String$>$();
+A x = \NEW{} A<String>();
 bool b = x is I;
 \end{dartCode}
 
@@ -7514,7 +7690,7 @@
 \hline
 Bitwise Or &  $|$ & Left & 9\\
 \hline
-Relational & $<$, $>$, $<=$, $>=$, \AS{}, \IS{}, \IS{}! &  None & 8\\
+Relational & <, >, $<=$, $>=$, \AS{}, \IS{}, \IS{}! &  None & 8\\
 \hline
 Equality &  ==, != & None & 7\\
 \hline
diff --git a/pkg/analysis_server/lib/src/analysis_server.dart b/pkg/analysis_server/lib/src/analysis_server.dart
index 99f3724..391a76a 100644
--- a/pkg/analysis_server/lib/src/analysis_server.dart
+++ b/pkg/analysis_server/lib/src/analysis_server.dart
@@ -37,6 +37,7 @@
 import 'package:analyzer/src/dart/analysis/driver.dart' as nd;
 import 'package:analyzer/src/dart/analysis/file_byte_store.dart';
 import 'package:analyzer/src/dart/analysis/file_state.dart' as nd;
+import 'package:analyzer/src/dart/analysis/status.dart' as nd;
 import 'package:analyzer/src/dart/ast/utilities.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/sdk.dart';
@@ -317,7 +318,9 @@
    */
   PubSummaryManager pubSummaryManager;
 
+  nd.PerformanceLog _analysisPerformanceLogger;
   ByteStore byteStore;
+  nd.AnalysisDriverScheduler analysisDriverScheduler;
 
   /**
    * The set of the files that are currently priority.
@@ -363,10 +366,15 @@
         options.finerGrainedInvalidation;
     defaultContextOptions.generateImplicitErrors = false;
     operationQueue = new ServerOperationQueue();
+    _analysisPerformanceLogger = new nd.PerformanceLog(io.stdout);
     byteStore = new MemoryCachingByteStore(
         new FileByteStore(
             resourceProvider.getStateLocation('.analysis-driver')),
-        1024);
+        64 * 1024 * 1024);
+    analysisDriverScheduler =
+        new nd.AnalysisDriverScheduler(_analysisPerformanceLogger);
+    analysisDriverScheduler.status.listen(sendStatusNotificationNew);
+    analysisDriverScheduler.start();
     if (useSingleContextManager) {
       contextManager = new SingleContextManager(resourceProvider, sdkManager,
           packageResolverProvider, analyzedFilesGlobs, defaultContextOptions);
@@ -576,7 +584,7 @@
   nd.AnalysisDriver getAnalysisDriver(String path) {
     Iterable<nd.AnalysisDriver> drivers = driverMap.values;
     if (drivers.isNotEmpty) {
-      return drivers.firstWhere((driver) => driver.isAddedFile(path),
+      return drivers.firstWhere((driver) => driver.knownFiles.contains(path),
           orElse: () => drivers.first);
     }
     return null;
@@ -1119,6 +1127,25 @@
   }
 
   /**
+   * Send status notification to the client. The `operation` is the operation
+   * being performed or `null` if analysis is complete.
+   */
+  void sendStatusNotificationNew(nd.AnalysisStatus status) {
+    // Only send status when subscribed.
+    if (!serverServices.contains(ServerService.STATUS)) {
+      return;
+    }
+    // Only send status when it changes
+    if (statusAnalyzing == status.isAnalyzing) {
+      return;
+    }
+    statusAnalyzing = status.isAnalyzing;
+    AnalysisStatus analysis = new AnalysisStatus(status.isAnalyzing);
+    channel.sendNotification(
+        new ServerStatusParams(analysis: analysis).toNotification());
+  }
+
+  /**
    * Implementation for `analysis.setAnalysisRoots`.
    *
    * TODO(scheglov) implement complete projects/contexts semantics.
@@ -1153,7 +1180,7 @@
             subscriptions.values.expand((files) => files).toSet();
         for (String file in allNewFiles) {
           nd.AnalysisDriver driver = drivers.firstWhere(
-              (driver) => driver.isAddedFile(file),
+              (driver) => driver.addedFiles.contains(file),
               orElse: () => drivers.first);
           // The result will be produced by the "results" stream with
           // the fully resolved unit, and processed with sending analysis
@@ -1748,7 +1775,8 @@
       context.dispose();
     }
     nd.AnalysisDriver analysisDriver = new nd.AnalysisDriver(
-        new nd.PerformanceLog(io.stdout),
+        analysisServer.analysisDriverScheduler,
+        analysisServer._analysisPerformanceLogger,
         resourceProvider,
         analysisServer.byteStore,
         analysisServer.fileContentOverlay,
@@ -1765,25 +1793,30 @@
       _runDelayed(() {
         new_sendErrorNotification(analysisServer, result);
       });
+      String path = result.path;
       CompilationUnit unit = result.unit;
       if (unit != null) {
         if (analysisServer._hasAnalysisServiceSubscription(
-            AnalysisService.HIGHLIGHTS, result.path)) {
+            AnalysisService.HIGHLIGHTS, path)) {
           _runDelayed(() {
-            sendAnalysisNotificationHighlights(
-                analysisServer, result.path, unit);
+            sendAnalysisNotificationHighlights(analysisServer, path, unit);
           });
         }
         if (analysisServer._hasAnalysisServiceSubscription(
-            AnalysisService.NAVIGATION, result.path)) {
+            AnalysisService.NAVIGATION, path)) {
           _runDelayed(() {
             new_sendDartNotificationNavigation(analysisServer, result);
           });
         }
+        if (analysisServer._hasAnalysisServiceSubscription(
+            AnalysisService.OVERRIDES, path)) {
+          _runDelayed(() {
+            sendAnalysisNotificationOverrides(analysisServer, path, unit);
+          });
+        }
       }
       // TODO(scheglov) Implement more notifications.
       // IMPLEMENTED
-      // OVERRIDES
       // OCCURRENCES (not used in IDEA)
       // OUTLINE (not used in IDEA)
     });
@@ -1879,15 +1912,21 @@
 
   @override
   void removeContext(Folder folder, List<String> flushedFiles) {
-    AnalysisContext context = analysisServer.folderMap.remove(folder);
-    sendAnalysisNotificationFlushResults(analysisServer, flushedFiles);
+    if (analysisServer.options.enableNewAnalysisDriver) {
+      sendAnalysisNotificationFlushResults(analysisServer, flushedFiles);
+      nd.AnalysisDriver driver = analysisServer.driverMap.remove(folder);
+      driver.dispose();
+    } else {
+      AnalysisContext context = analysisServer.folderMap.remove(folder);
+      sendAnalysisNotificationFlushResults(analysisServer, flushedFiles);
 
-    analysisServer.operationQueue.contextRemoved(context);
-    analysisServer._onContextsChangedController
-        .add(new ContextsChangedEvent(removed: [context]));
-    analysisServer.sendContextAnalysisDoneNotifications(
-        context, AnalysisDoneReason.CONTEXT_REMOVED);
-    context.dispose();
+      analysisServer.operationQueue.contextRemoved(context);
+      analysisServer._onContextsChangedController
+          .add(new ContextsChangedEvent(removed: [context]));
+      analysisServer.sendContextAnalysisDoneNotifications(
+          context, AnalysisDoneReason.CONTEXT_REMOVED);
+      context.dispose();
+    }
   }
 
   @override
diff --git a/pkg/analysis_server/lib/src/context_manager.dart b/pkg/analysis_server/lib/src/context_manager.dart
index a543ad5..083874b 100644
--- a/pkg/analysis_server/lib/src/context_manager.dart
+++ b/pkg/analysis_server/lib/src/context_manager.dart
@@ -949,20 +949,31 @@
    * file.)
    */
   List<String> _computeFlushedFiles(ContextInfo info) {
-    AnalysisContext context = info.context;
-    HashSet<String> flushedFiles = new HashSet<String>();
-    for (Source source in context.sources) {
-      flushedFiles.add(source.fullName);
-    }
-    for (ContextInfo contextInfo in rootInfo.descendants) {
-      AnalysisContext contextN = contextInfo.context;
-      if (context != contextN) {
-        for (Source source in contextN.sources) {
-          flushedFiles.remove(source.fullName);
+    if (enableNewAnalysisDriver) {
+      Set<String> flushedFiles = info.analysisDriver.knownFiles.toSet();
+      for (ContextInfo contextInfo in rootInfo.descendants) {
+        AnalysisDriver other = contextInfo.analysisDriver;
+        if (other != info.analysisDriver) {
+          flushedFiles.removeAll(other.knownFiles);
         }
       }
+      return flushedFiles.toList(growable: false);
+    } else {
+      AnalysisContext context = info.context;
+      HashSet<String> flushedFiles = new HashSet<String>();
+      for (Source source in context.sources) {
+        flushedFiles.add(source.fullName);
+      }
+      for (ContextInfo contextInfo in rootInfo.descendants) {
+        AnalysisContext contextN = contextInfo.context;
+        if (context != contextN) {
+          for (Source source in contextN.sources) {
+            flushedFiles.remove(source.fullName);
+          }
+        }
+      }
+      return flushedFiles.toList(growable: false);
     }
-    return flushedFiles.toList(growable: false);
   }
 
   /**
@@ -1440,7 +1451,9 @@
         break;
       case ChangeType.MODIFY:
         if (enableNewAnalysisDriver) {
-          info.analysisDriver.changeFile(path);
+          for (AnalysisDriver driver in driverMap.values) {
+            driver.changeFile(path);
+          }
         } else {
           List<Source> sources = info.context.getSourcesWithFullName(path);
           if (!sources.isEmpty) {
diff --git a/pkg/analysis_server/lib/src/edit/edit_domain.dart b/pkg/analysis_server/lib/src/edit/edit_domain.dart
index 6d3bec4..3ab679a 100644
--- a/pkg/analysis_server/lib/src/edit/edit_domain.dart
+++ b/pkg/analysis_server/lib/src/edit/edit_domain.dart
@@ -250,7 +250,8 @@
       } else if (requestName == EDIT_GET_REFACTORING) {
         return _getRefactoring(request);
       } else if (requestName == EDIT_ORGANIZE_DIRECTIVES) {
-        return organizeDirectives(request);
+        organizeDirectives(request);
+        return Response.DELAYED_RESPONSE;
       } else if (requestName == EDIT_SORT_MEMBERS) {
         sortMembers(request);
         return Response.DELAYED_RESPONSE;
@@ -261,36 +262,58 @@
     return null;
   }
 
-  Response organizeDirectives(Request request) {
+  Future<Null> organizeDirectives(Request request) async {
     var params = new EditOrganizeDirectivesParams.fromRequest(request);
     // prepare file
     String file = params.file;
     if (!engine.AnalysisEngine.isDartFileName(file)) {
-      return new Response.fileNotAnalyzed(request, file);
+      server.sendResponse(new Response.fileNotAnalyzed(request, file));
+      return;
     }
-    // prepare resolved units
-    List<CompilationUnit> units = server.getResolvedCompilationUnits(file);
-    if (units.isEmpty) {
-      return new Response.fileNotAnalyzed(request, file);
+    // Prepare the file information.
+    int fileStamp;
+    String code;
+    CompilationUnit unit;
+    List<engine.AnalysisError> errors;
+    if (server.options.enableNewAnalysisDriver) {
+      AnalysisResult result = await server.getAnalysisResult(file);
+      if (result == null) {
+        server.sendResponse(new Response.fileNotAnalyzed(request, file));
+        return;
+      }
+      fileStamp = -1;
+      code = result.content;
+      unit = result.unit;
+      errors = result.errors;
+    } else {
+      // prepare resolved units
+      List<CompilationUnit> units = server.getResolvedCompilationUnits(file);
+      if (units.isEmpty) {
+        server.sendResponse(new Response.fileNotAnalyzed(request, file));
+        return;
+      }
+      // prepare context
+      unit = units.first;
+      engine.AnalysisContext context = unit.element.context;
+      Source source = unit.element.source;
+      errors = context.computeErrors(source);
+      // prepare code
+      fileStamp = context.getModificationStamp(source);
+      code = context.getContents(source).data;
     }
-    // prepare context
-    CompilationUnit unit = units.first;
-    engine.AnalysisContext context = unit.element.context;
-    Source source = unit.element.source;
-    List<engine.AnalysisError> errors = context.computeErrors(source);
     // check if there are scan/parse errors in the file
     int numScanParseErrors = _getNumberOfScanParseErrors(errors);
     if (numScanParseErrors != 0) {
-      return new Response.organizeDirectivesError(
-          request, 'File has $numScanParseErrors scan/parse errors.');
+      server.sendResponse(new Response.organizeDirectivesError(
+          request, 'File has $numScanParseErrors scan/parse errors.'));
+      return;
     }
     // do organize
-    int fileStamp = context.getModificationStamp(source);
-    String code = context.getContents(source).data;
     DirectiveOrganizer sorter = new DirectiveOrganizer(code, unit, errors);
     List<SourceEdit> edits = sorter.organize();
     SourceFileEdit fileEdit = new SourceFileEdit(file, fileStamp, edits: edits);
-    return new EditOrganizeDirectivesResult(fileEdit).toResponse(request.id);
+    server.sendResponse(
+        new EditOrganizeDirectivesResult(fileEdit).toResponse(request.id));
   }
 
   Future<Null> sortMembers(Request request) async {
@@ -299,6 +322,7 @@
     String file = params.file;
     if (!engine.AnalysisEngine.isDartFileName(file)) {
       server.sendResponse(new Response.sortMembersInvalidFile(request));
+      return;
     }
     // Prepare the file information.
     int fileStamp;
@@ -308,6 +332,10 @@
     if (server.options.enableNewAnalysisDriver) {
       AnalysisDriver driver = server.getAnalysisDriver(file);
       ParseResult result = await driver.parseFile(file);
+      if (result == null) {
+        server.sendResponse(new Response.fileNotAnalyzed(request, file));
+        return;
+      }
       fileStamp = -1;
       code = result.content;
       unit = result.unit;
diff --git a/pkg/analysis_server/lib/src/provisional/completion/dart/completion_dart.dart b/pkg/analysis_server/lib/src/provisional/completion/dart/completion_dart.dart
index b25375ad..bec47b4 100644
--- a/pkg/analysis_server/lib/src/provisional/completion/dart/completion_dart.dart
+++ b/pkg/analysis_server/lib/src/provisional/completion/dart/completion_dart.dart
@@ -100,6 +100,11 @@
   DartType get objectType;
 
   /**
+   * Return the [SourceFactory] of the request.
+   */
+  SourceFactory get sourceFactory;
+
+  /**
    * Return the completion target.  This determines what part of the parse tree
    * will receive the newly inserted text.
    * At a minimum, all declarations in the completion scope in [target.unit]
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart b/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart
index 069b071..ea320be 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart
@@ -177,8 +177,11 @@
 
   @override
   LibraryElement get coreLib {
-    if (_coreLib == null) {
-      Source coreUri = context.sourceFactory.forUri('dart:core');
+    if (result != null) {
+      AnalysisContext context = result.unit.element.context;
+      _coreLib = context.typeProvider.objectType.element.library;
+    } else {
+      Source coreUri = sourceFactory.forUri('dart:core');
       _coreLib = context.computeLibraryElement(coreUri);
     }
     return _coreLib;
@@ -222,6 +225,11 @@
     return _opType;
   }
 
+  @override
+  SourceFactory get sourceFactory {
+    return context?.sourceFactory ?? result.sourceFactory;
+  }
+
   /**
    * Throw [AbortCompletion] if the completion request has been aborted.
    */
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/uri_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/uri_contributor.dart
index 7b99353..802beae 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/uri_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/uri_contributor.dart
@@ -77,8 +77,7 @@
             }
           }
         }
-      }
-      else if (offset == start && offset == end) {
+      } else if (offset == start && offset == end) {
         String data = request.source.contents.data;
         if (end == data.length) {
           String ch = data[end - 1];
@@ -112,7 +111,7 @@
 
   void _addDartSuggestions() {
     _addSuggestion('dart:');
-    SourceFactory factory = request.context.sourceFactory;
+    SourceFactory factory = request.sourceFactory;
     for (SdkLibrary lib in factory.dartSdk.sdkLibraries) {
       if (!lib.isInternal && !lib.isImplementation) {
         if (!lib.shortName.startsWith('dart:_')) {
@@ -192,7 +191,7 @@
   }
 
   void _addPackageSuggestions(String partial) {
-    SourceFactory factory = request.context.sourceFactory;
+    SourceFactory factory = request.sourceFactory;
     Map<String, List<Folder>> packageMap = factory.packageMap;
     if (packageMap != null) {
       _addSuggestion('package:');
diff --git a/pkg/analysis_server/lib/src/status/get_handler.dart b/pkg/analysis_server/lib/src/status/get_handler.dart
index c89a26f..32ba194 100644
--- a/pkg/analysis_server/lib/src/status/get_handler.dart
+++ b/pkg/analysis_server/lib/src/status/get_handler.dart
@@ -413,7 +413,7 @@
    */
   String _encodeSdkDescriptor(SdkDescription descriptor) {
     StringBuffer buffer = new StringBuffer();
-    buffer.write(descriptor.options.encodeCrossContextOptions());
+    buffer.write(descriptor.options.encodeCrossContextOptions().join(','));
     for (String path in descriptor.paths) {
       buffer.write('+');
       buffer.write(path);
diff --git a/pkg/analysis_server/test/edit/organize_directives_test.dart b/pkg/analysis_server/test/edit/organize_directives_test.dart
index 89b8c30..d35439a 100644
--- a/pkg/analysis_server/test/edit/organize_directives_test.dart
+++ b/pkg/analysis_server/test/edit/organize_directives_test.dart
@@ -38,7 +38,7 @@
     await waitForTasksFinished();
     Request request =
         new EditOrganizeDirectivesParams('/no/such/file.dart').toRequest('0');
-    Response response = handler.handleRequest(request);
+    Response response = await waitResponse(request);
     expect(
         response, isResponseFailure('0', RequestErrorCode.FILE_NOT_ANALYZED));
   }
@@ -51,7 +51,7 @@
 ''');
     await waitForTasksFinished();
     Request request = new EditOrganizeDirectivesParams(testFile).toRequest('0');
-    Response response = handler.handleRequest(request);
+    Response response = await waitResponse(request);
     expect(response,
         isResponseFailure('0', RequestErrorCode.ORGANIZE_DIRECTIVES_ERROR));
   }
@@ -60,7 +60,7 @@
     await waitForTasksFinished();
     Request request =
         new EditOrganizeDirectivesParams('/not-a-Dart-file.txt').toRequest('0');
-    Response response = handler.handleRequest(request);
+    Response response = await waitResponse(request);
     expect(
         response, isResponseFailure('0', RequestErrorCode.FILE_NOT_ANALYZED));
   }
@@ -158,14 +158,14 @@
 
   Future _assertOrganized(String expectedCode) async {
     await waitForTasksFinished();
-    _requestOrganize();
+    await _requestOrganize();
     String resultCode = SourceEdit.applySequence(testCode, fileEdit.edits);
     expect(resultCode, expectedCode);
   }
 
-  void _requestOrganize() {
+  Future _requestOrganize() async {
     Request request = new EditOrganizeDirectivesParams(testFile).toRequest('0');
-    Response response = handleSuccessfulRequest(request);
+    Response response = await waitResponse(request);
     var result = new EditOrganizeDirectivesResult.fromResponse(response);
     fileEdit = result.edit;
   }
diff --git a/pkg/analyzer/BUILD.gn b/pkg/analyzer/BUILD.gn
index 1f39031..7db0a5e 100644
--- a/pkg/analyzer/BUILD.gn
+++ b/pkg/analyzer/BUILD.gn
@@ -10,6 +10,7 @@
   source_dir = "lib"
 
   deps = [
+    "//dart/pkg/front_end",
     "//third_party/dart-pkg/pub/args",
     "//third_party/dart-pkg/pub/charcode",
     "//third_party/dart-pkg/pub/crypto",
diff --git a/pkg/analyzer/lib/dart/ast/ast.dart b/pkg/analyzer/lib/dart/ast/ast.dart
index 7ec7be4..b027e4c 100644
--- a/pkg/analyzer/lib/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/dart/ast/ast.dart
@@ -323,29 +323,35 @@
 }
 
 /**
- * An assert statement.
+ * An assert in the initializer list of a constructor.
  *
- *    assertStatement ::=
- *        'assert' '(' [Expression] ')' ';'
+ *    assertInitializer ::=
+ *        'assert' '(' [Expression] (',' [Expression])? ')'
  *
  * Clients may not extend, implement or mix-in this class.
  */
-abstract class AssertStatement extends Statement {
+abstract class AssertInitializer implements Assertion, ConstructorInitializer {
   /**
-   * Initialize a newly created assert statement. The [comma] and [message] can
-   * be `null` if there is no message.
+   * Initialize a newly created assert initializer. The [comma] and [message]
+   * can be `null` if there is no message.
    */
-  factory AssertStatement(
+  factory AssertInitializer(
           Token assertKeyword,
           Token leftParenthesis,
           Expression condition,
           Token comma,
           Expression message,
-          Token rightParenthesis,
-          Token semicolon) =>
-      new AssertStatementImpl(assertKeyword, leftParenthesis, condition, comma,
-          message, rightParenthesis, semicolon);
+          Token rightParenthesis) =>
+      new AssertInitializerImpl(assertKeyword, leftParenthesis, condition,
+          comma, message, rightParenthesis);
+}
 
+/**
+ * An assertion, either in a block or in the initializer list of a constructor.
+ *
+ * Clients may not extend, implement or mix-in this class.
+ */
+abstract class Assertion implements AstNode {
   /**
    * Return the token representing the 'assert' keyword.
    */
@@ -363,7 +369,8 @@
   Token get comma;
 
   /**
-   * Set the comma between the [condition] and the [message] to the given [token].
+   * Set the comma between the [condition] and the [message] to the given
+   * [token].
    */
   void set comma(Token token);
 
@@ -409,6 +416,31 @@
    *  Set the right parenthesis to the given [token].
    */
   void set rightParenthesis(Token token);
+}
+
+/**
+ * An assert statement.
+ *
+ *    assertStatement ::=
+ *        'assert' '(' [Expression] (',' [Expression])? ')' ';'
+ *
+ * Clients may not extend, implement or mix-in this class.
+ */
+abstract class AssertStatement implements Assertion, Statement {
+  /**
+   * Initialize a newly created assert statement. The [comma] and [message] can
+   * be `null` if there is no message.
+   */
+  factory AssertStatement(
+          Token assertKeyword,
+          Token leftParenthesis,
+          Expression condition,
+          Token comma,
+          Expression message,
+          Token rightParenthesis,
+          Token semicolon) =>
+      new AssertStatementImpl(assertKeyword, leftParenthesis, condition, comma,
+          message, rightParenthesis, semicolon);
 
   /**
    * Return the semicolon terminating the statement.
@@ -638,6 +670,8 @@
 
   R visitAsExpression(AsExpression node);
 
+  R visitAssertInitializer(AssertInitializer node);
+
   R visitAssertStatement(AssertStatement assertStatement);
 
   R visitAssignmentExpression(AssignmentExpression node);
diff --git a/pkg/analyzer/lib/dart/ast/syntactic_entity.dart b/pkg/analyzer/lib/dart/ast/syntactic_entity.dart
index bc8271a..5ab6c78 100644
--- a/pkg/analyzer/lib/dart/ast/syntactic_entity.dart
+++ b/pkg/analyzer/lib/dart/ast/syntactic_entity.dart
@@ -4,25 +4,5 @@
 
 library analyzer.dart.ast.syntactic_entity;
 
-/**
- * Interface representing a syntactic entity (either a token or an AST node)
- * which has a location and extent in the source file.
- */
-abstract class SyntacticEntity {
-  /**
-   * Return the offset from the beginning of the file to the character after the
-   * last character of the syntactic entity.
-   */
-  int get end;
-
-  /**
-   * Return the number of characters in the syntactic entity's source range.
-   */
-  int get length;
-
-  /**
-   * Return the offset from the beginning of the file to the first character in
-   * the syntactic entity.
-   */
-  int get offset;
-}
+export 'package:front_end/src/scanner/syntactic_entity.dart'
+    show SyntacticEntity;
diff --git a/pkg/analyzer/lib/dart/ast/token.dart b/pkg/analyzer/lib/dart/ast/token.dart
index fce7f24..a361c5ab 100644
--- a/pkg/analyzer/lib/dart/ast/token.dart
+++ b/pkg/analyzer/lib/dart/ast/token.dart
@@ -8,737 +8,5 @@
  */
 library analyzer.dart.ast.token;
 
-import 'dart:collection';
-
-import 'package:analyzer/dart/ast/syntactic_entity.dart';
-import 'package:analyzer/src/dart/ast/token.dart' show SimpleToken, TokenClass;
-
-/**
- * The keywords in the Dart programming language.
- *
- * Clients may not extend, implement or mix-in this class.
- */
-class Keyword {
-  static const Keyword ABSTRACT = const Keyword._('ABSTRACT', "abstract", true);
-
-  static const Keyword AS = const Keyword._('AS', "as", true);
-
-  static const Keyword ASSERT = const Keyword._('ASSERT', "assert");
-
-  static const Keyword BREAK = const Keyword._('BREAK', "break");
-
-  static const Keyword CASE = const Keyword._('CASE', "case");
-
-  static const Keyword CATCH = const Keyword._('CATCH', "catch");
-
-  static const Keyword CLASS = const Keyword._('CLASS', "class");
-
-  static const Keyword CONST = const Keyword._('CONST', "const");
-
-  static const Keyword CONTINUE = const Keyword._('CONTINUE', "continue");
-
-  static const Keyword DEFAULT = const Keyword._('DEFAULT', "default");
-
-  static const Keyword DEFERRED = const Keyword._('DEFERRED', "deferred", true);
-
-  static const Keyword DO = const Keyword._('DO', "do");
-
-  static const Keyword DYNAMIC = const Keyword._('DYNAMIC', "dynamic", true);
-
-  static const Keyword ELSE = const Keyword._('ELSE', "else");
-
-  static const Keyword ENUM = const Keyword._('ENUM', "enum");
-
-  static const Keyword EXPORT = const Keyword._('EXPORT', "export", true);
-
-  static const Keyword EXTENDS = const Keyword._('EXTENDS', "extends");
-
-  static const Keyword EXTERNAL = const Keyword._('EXTERNAL', "external", true);
-
-  static const Keyword FACTORY = const Keyword._('FACTORY', "factory", true);
-
-  static const Keyword FALSE = const Keyword._('FALSE', "false");
-
-  static const Keyword FINAL = const Keyword._('FINAL', "final");
-
-  static const Keyword FINALLY = const Keyword._('FINALLY', "finally");
-
-  static const Keyword FOR = const Keyword._('FOR', "for");
-
-  static const Keyword GET = const Keyword._('GET', "get", true);
-
-  static const Keyword IF = const Keyword._('IF', "if");
-
-  static const Keyword IMPLEMENTS =
-      const Keyword._('IMPLEMENTS', "implements", true);
-
-  static const Keyword IMPORT = const Keyword._('IMPORT', "import", true);
-
-  static const Keyword IN = const Keyword._('IN', "in");
-
-  static const Keyword IS = const Keyword._('IS', "is");
-
-  static const Keyword LIBRARY = const Keyword._('LIBRARY', "library", true);
-
-  static const Keyword NEW = const Keyword._('NEW', "new");
-
-  static const Keyword NULL = const Keyword._('NULL', "null");
-
-  static const Keyword OPERATOR = const Keyword._('OPERATOR', "operator", true);
-
-  static const Keyword PART = const Keyword._('PART', "part", true);
-
-  static const Keyword RETHROW = const Keyword._('RETHROW', "rethrow");
-
-  static const Keyword RETURN = const Keyword._('RETURN', "return");
-
-  static const Keyword SET = const Keyword._('SET', "set", true);
-
-  static const Keyword STATIC = const Keyword._('STATIC', "static", true);
-
-  static const Keyword SUPER = const Keyword._('SUPER', "super");
-
-  static const Keyword SWITCH = const Keyword._('SWITCH', "switch");
-
-  static const Keyword THIS = const Keyword._('THIS', "this");
-
-  static const Keyword THROW = const Keyword._('THROW', "throw");
-
-  static const Keyword TRUE = const Keyword._('TRUE', "true");
-
-  static const Keyword TRY = const Keyword._('TRY', "try");
-
-  static const Keyword TYPEDEF = const Keyword._('TYPEDEF', "typedef", true);
-
-  static const Keyword VAR = const Keyword._('VAR', "var");
-
-  static const Keyword VOID = const Keyword._('VOID', "void");
-
-  static const Keyword WHILE = const Keyword._('WHILE', "while");
-
-  static const Keyword WITH = const Keyword._('WITH', "with");
-
-  static const List<Keyword> values = const <Keyword>[
-    ABSTRACT,
-    AS,
-    ASSERT,
-    BREAK,
-    CASE,
-    CATCH,
-    CLASS,
-    CONST,
-    CONTINUE,
-    DEFAULT,
-    DEFERRED,
-    DO,
-    DYNAMIC,
-    ELSE,
-    ENUM,
-    EXPORT,
-    EXTENDS,
-    EXTERNAL,
-    FACTORY,
-    FALSE,
-    FINAL,
-    FINALLY,
-    FOR,
-    GET,
-    IF,
-    IMPLEMENTS,
-    IMPORT,
-    IN,
-    IS,
-    LIBRARY,
-    NEW,
-    NULL,
-    OPERATOR,
-    PART,
-    RETHROW,
-    RETURN,
-    SET,
-    STATIC,
-    SUPER,
-    SWITCH,
-    THIS,
-    THROW,
-    TRUE,
-    TRY,
-    TYPEDEF,
-    VAR,
-    VOID,
-    WHILE,
-    WITH,
-  ];
-
-  /**
-   * A table mapping the lexemes of keywords to the corresponding keyword.
-   */
-  static final Map<String, Keyword> keywords = _createKeywordMap();
-
-  /**
-   * The name of the keyword type.
-   */
-  final String name;
-
-  /**
-   * The lexeme for the keyword.
-   */
-  final String syntax;
-
-  /**
-   * A flag indicating whether the keyword is a pseudo-keyword. Pseudo keywords
-   * can be used as identifiers.
-   */
-  final bool isPseudoKeyword;
-
-  /**
-   * Initialize a newly created keyword to have the given [name] and [syntax].
-   * The keyword is a pseudo-keyword if the [isPseudoKeyword] flag is `true`.
-   */
-  const Keyword._(this.name, this.syntax, [this.isPseudoKeyword = false]);
-
-  @override
-  String toString() => name;
-
-  /**
-   * Create a table mapping the lexemes of keywords to the corresponding keyword
-   * and return the table that was created.
-   */
-  static Map<String, Keyword> _createKeywordMap() {
-    LinkedHashMap<String, Keyword> result =
-        new LinkedHashMap<String, Keyword>();
-    for (Keyword keyword in values) {
-      result[keyword.syntax] = keyword;
-    }
-    return result;
-  }
-}
-
-/**
- * A token that was scanned from the input. Each token knows which tokens
- * precede and follow it, acting as a link in a doubly linked list of tokens.
- *
- * Clients may not extend, implement or mix-in this class.
- */
-abstract class Token implements SyntacticEntity {
-  /**
-   * Initialize a newly created token to have the given [type] and [offset].
-   */
-  factory Token(TokenType type, int offset) = SimpleToken;
-
-  @override
-  int get end;
-
-  /**
-   * Return `true` if this token represents an operator.
-   */
-  bool get isOperator;
-
-  /**
-   * Return `true` if this token is a synthetic token. A synthetic token is a
-   * token that was introduced by the parser in order to recover from an error
-   * in the code.
-   */
-  bool get isSynthetic;
-
-  /**
-   * Return `true` if this token represents an operator that can be defined by
-   * users.
-   */
-  bool get isUserDefinableOperator;
-
-  /**
-   * Return the keyword, if a keyword token, or `null` otherwise.
-   */
-  Keyword get keyword;
-
-  @override
-  int get length;
-
-  /**
-   * Return the lexeme that represents this token.
-   */
-  String get lexeme;
-
-  /**
-   * Return the next token in the token stream.
-   */
-  Token get next;
-
-  @override
-  int get offset;
-
-  /**
-   * Set the offset from the beginning of the file to the first character in
-   * the token to the given [offset].
-   */
-  void set offset(int offset);
-
-  /**
-   * Return the first comment in the list of comments that precede this token,
-   * or `null` if there are no comments preceding this token. Additional
-   * comments can be reached by following the token stream using [next] until
-   * `null` is returned.
-   *
-   * For example, if the original contents were `/* one */ /* two */ id`, then
-   * the first preceding comment token will have a lexeme of `/* one */` and
-   * the next comment token will have a lexeme of `/* two */`.
-   */
-  Token get precedingComments;
-
-  /**
-   * Return the previous token in the token stream.
-   */
-  Token get previous;
-
-  /**
-   * Set the previous token in the token stream to the given [token].
-   */
-  void set previous(Token token);
-
-  /**
-   * Return the type of the token.
-   */
-  TokenType get type;
-
-  /**
-   * Apply (add) the given [delta] to this token's offset.
-   */
-  void applyDelta(int delta);
-
-  /**
-   * Return a newly created token that is a copy of this token but that is not a
-   * part of any token stream.
-   */
-  Token copy();
-
-  /**
-   * Copy a linked list of comment tokens identical to the given comment tokens.
-   */
-  Token copyComments(Token token);
-
-  /**
-   * Return `true` if this token has any one of the given [types].
-   */
-  bool matchesAny(List<TokenType> types);
-
-  /**
-   * Set the next token in the token stream to the given [token]. This has the
-   * side-effect of setting this token to be the previous token for the given
-   * token. Return the token that was passed in.
-   */
-  Token setNext(Token token);
-
-  /**
-   * Set the next token in the token stream to the given token without changing
-   * which token is the previous token for the given token. Return the token
-   * that was passed in.
-   */
-  Token setNextWithoutSettingPrevious(Token token);
-
-  /**
-   * Return the value of this token. For keyword tokens, this is the keyword
-   * associated with the token, for other tokens it is the lexeme associated
-   * with the token.
-   */
-  Object value();
-
-  /**
-   * Compare the given [tokens] to find the token that appears first in the
-   * source being parsed. That is, return the left-most of all of the tokens.
-   * The list must be non-`null`, but the elements of the list are allowed to be
-   * `null`. Return the token with the smallest offset, or `null` if the list is
-   * empty or if all of the elements of the list are `null`.
-   */
-  static Token lexicallyFirst(List<Token> tokens) {
-    Token first = null;
-    int offset = -1;
-    int length = tokens.length;
-    for (int i = 0; i < length; i++) {
-      Token token = tokens[i];
-      if (token != null && (offset < 0 || token.offset < offset)) {
-        first = token;
-        offset = token.offset;
-      }
-    }
-    return first;
-  }
-}
-
-/**
- * The types of tokens that can be returned by the scanner.
- *
- * Clients may not extend, implement or mix-in this class.
- */
-class TokenType {
-  /**
-   * The type of the token that marks the start or end of the input.
-   */
-  static const TokenType EOF = const _EndOfFileTokenType();
-
-  static const TokenType DOUBLE = const TokenType._('DOUBLE');
-
-  static const TokenType HEXADECIMAL = const TokenType._('HEXADECIMAL');
-
-  static const TokenType IDENTIFIER = const TokenType._('IDENTIFIER');
-
-  static const TokenType INT = const TokenType._('INT');
-
-  static const TokenType KEYWORD = const TokenType._('KEYWORD');
-
-  static const TokenType MULTI_LINE_COMMENT =
-      const TokenType._('MULTI_LINE_COMMENT');
-
-  static const TokenType SCRIPT_TAG = const TokenType._('SCRIPT_TAG');
-
-  static const TokenType SINGLE_LINE_COMMENT =
-      const TokenType._('SINGLE_LINE_COMMENT');
-
-  static const TokenType STRING = const TokenType._('STRING');
-
-  static const TokenType AMPERSAND =
-      const TokenType._('AMPERSAND', TokenClass.BITWISE_AND_OPERATOR, '&');
-
-  static const TokenType AMPERSAND_AMPERSAND = const TokenType._(
-      'AMPERSAND_AMPERSAND', TokenClass.LOGICAL_AND_OPERATOR, '&&');
-
-  static const TokenType AMPERSAND_AMPERSAND_EQ = const TokenType._(
-      'AMPERSAND_AMPERSAND_EQ', TokenClass.ASSIGNMENT_OPERATOR, '&&=');
-
-  static const TokenType AMPERSAND_EQ =
-      const TokenType._('AMPERSAND_EQ', TokenClass.ASSIGNMENT_OPERATOR, '&=');
-
-  static const TokenType AT = const TokenType._('AT', TokenClass.NO_CLASS, '@');
-
-  static const TokenType BANG =
-      const TokenType._('BANG', TokenClass.UNARY_PREFIX_OPERATOR, '!');
-
-  static const TokenType BANG_EQ =
-      const TokenType._('BANG_EQ', TokenClass.EQUALITY_OPERATOR, '!=');
-
-  static const TokenType BAR =
-      const TokenType._('BAR', TokenClass.BITWISE_OR_OPERATOR, '|');
-
-  static const TokenType BAR_BAR =
-      const TokenType._('BAR_BAR', TokenClass.LOGICAL_OR_OPERATOR, '||');
-
-  static const TokenType BAR_BAR_EQ =
-      const TokenType._('BAR_BAR_EQ', TokenClass.ASSIGNMENT_OPERATOR, '||=');
-
-  static const TokenType BAR_EQ =
-      const TokenType._('BAR_EQ', TokenClass.ASSIGNMENT_OPERATOR, '|=');
-
-  static const TokenType COLON =
-      const TokenType._('COLON', TokenClass.NO_CLASS, ':');
-
-  static const TokenType COMMA =
-      const TokenType._('COMMA', TokenClass.NO_CLASS, ',');
-
-  static const TokenType CARET =
-      const TokenType._('CARET', TokenClass.BITWISE_XOR_OPERATOR, '^');
-
-  static const TokenType CARET_EQ =
-      const TokenType._('CARET_EQ', TokenClass.ASSIGNMENT_OPERATOR, '^=');
-
-  static const TokenType CLOSE_CURLY_BRACKET =
-      const TokenType._('CLOSE_CURLY_BRACKET', TokenClass.NO_CLASS, '}');
-
-  static const TokenType CLOSE_PAREN =
-      const TokenType._('CLOSE_PAREN', TokenClass.NO_CLASS, ')');
-
-  static const TokenType CLOSE_SQUARE_BRACKET =
-      const TokenType._('CLOSE_SQUARE_BRACKET', TokenClass.NO_CLASS, ']');
-
-  static const TokenType EQ =
-      const TokenType._('EQ', TokenClass.ASSIGNMENT_OPERATOR, '=');
-
-  static const TokenType EQ_EQ =
-      const TokenType._('EQ_EQ', TokenClass.EQUALITY_OPERATOR, '==');
-
-  static const TokenType FUNCTION =
-      const TokenType._('FUNCTION', TokenClass.NO_CLASS, '=>');
-
-  static const TokenType GT =
-      const TokenType._('GT', TokenClass.RELATIONAL_OPERATOR, '>');
-
-  static const TokenType GT_EQ =
-      const TokenType._('GT_EQ', TokenClass.RELATIONAL_OPERATOR, '>=');
-
-  static const TokenType GT_GT =
-      const TokenType._('GT_GT', TokenClass.SHIFT_OPERATOR, '>>');
-
-  static const TokenType GT_GT_EQ =
-      const TokenType._('GT_GT_EQ', TokenClass.ASSIGNMENT_OPERATOR, '>>=');
-
-  static const TokenType HASH =
-      const TokenType._('HASH', TokenClass.NO_CLASS, '#');
-
-  static const TokenType INDEX =
-      const TokenType._('INDEX', TokenClass.UNARY_POSTFIX_OPERATOR, '[]');
-
-  static const TokenType INDEX_EQ =
-      const TokenType._('INDEX_EQ', TokenClass.UNARY_POSTFIX_OPERATOR, '[]=');
-
-  static const TokenType IS =
-      const TokenType._('IS', TokenClass.RELATIONAL_OPERATOR, 'is');
-
-  static const TokenType LT =
-      const TokenType._('LT', TokenClass.RELATIONAL_OPERATOR, '<');
-
-  static const TokenType LT_EQ =
-      const TokenType._('LT_EQ', TokenClass.RELATIONAL_OPERATOR, '<=');
-
-  static const TokenType LT_LT =
-      const TokenType._('LT_LT', TokenClass.SHIFT_OPERATOR, '<<');
-
-  static const TokenType LT_LT_EQ =
-      const TokenType._('LT_LT_EQ', TokenClass.ASSIGNMENT_OPERATOR, '<<=');
-
-  static const TokenType MINUS =
-      const TokenType._('MINUS', TokenClass.ADDITIVE_OPERATOR, '-');
-
-  static const TokenType MINUS_EQ =
-      const TokenType._('MINUS_EQ', TokenClass.ASSIGNMENT_OPERATOR, '-=');
-
-  static const TokenType MINUS_MINUS =
-      const TokenType._('MINUS_MINUS', TokenClass.UNARY_PREFIX_OPERATOR, '--');
-
-  static const TokenType OPEN_CURLY_BRACKET =
-      const TokenType._('OPEN_CURLY_BRACKET', TokenClass.NO_CLASS, '{');
-
-  static const TokenType OPEN_PAREN =
-      const TokenType._('OPEN_PAREN', TokenClass.UNARY_POSTFIX_OPERATOR, '(');
-
-  static const TokenType OPEN_SQUARE_BRACKET = const TokenType._(
-      'OPEN_SQUARE_BRACKET', TokenClass.UNARY_POSTFIX_OPERATOR, '[');
-
-  static const TokenType PERCENT =
-      const TokenType._('PERCENT', TokenClass.MULTIPLICATIVE_OPERATOR, '%');
-
-  static const TokenType PERCENT_EQ =
-      const TokenType._('PERCENT_EQ', TokenClass.ASSIGNMENT_OPERATOR, '%=');
-
-  static const TokenType PERIOD =
-      const TokenType._('PERIOD', TokenClass.UNARY_POSTFIX_OPERATOR, '.');
-
-  static const TokenType PERIOD_PERIOD =
-      const TokenType._('PERIOD_PERIOD', TokenClass.CASCADE_OPERATOR, '..');
-
-  static const TokenType PLUS =
-      const TokenType._('PLUS', TokenClass.ADDITIVE_OPERATOR, '+');
-
-  static const TokenType PLUS_EQ =
-      const TokenType._('PLUS_EQ', TokenClass.ASSIGNMENT_OPERATOR, '+=');
-
-  static const TokenType PLUS_PLUS =
-      const TokenType._('PLUS_PLUS', TokenClass.UNARY_PREFIX_OPERATOR, '++');
-
-  static const TokenType QUESTION =
-      const TokenType._('QUESTION', TokenClass.CONDITIONAL_OPERATOR, '?');
-
-  static const TokenType QUESTION_PERIOD = const TokenType._(
-      'QUESTION_PERIOD', TokenClass.UNARY_POSTFIX_OPERATOR, '?.');
-
-  static const TokenType QUESTION_QUESTION =
-      const TokenType._('QUESTION_QUESTION', TokenClass.IF_NULL_OPERATOR, '??');
-
-  static const TokenType QUESTION_QUESTION_EQ = const TokenType._(
-      'QUESTION_QUESTION_EQ', TokenClass.ASSIGNMENT_OPERATOR, '??=');
-
-  static const TokenType SEMICOLON =
-      const TokenType._('SEMICOLON', TokenClass.NO_CLASS, ';');
-
-  static const TokenType SLASH =
-      const TokenType._('SLASH', TokenClass.MULTIPLICATIVE_OPERATOR, '/');
-
-  static const TokenType SLASH_EQ =
-      const TokenType._('SLASH_EQ', TokenClass.ASSIGNMENT_OPERATOR, '/=');
-
-  static const TokenType STAR =
-      const TokenType._('STAR', TokenClass.MULTIPLICATIVE_OPERATOR, '*');
-
-  static const TokenType STAR_EQ =
-      const TokenType._('STAR_EQ', TokenClass.ASSIGNMENT_OPERATOR, "*=");
-
-  static const TokenType STRING_INTERPOLATION_EXPRESSION = const TokenType._(
-      'STRING_INTERPOLATION_EXPRESSION', TokenClass.NO_CLASS, '\${');
-
-  static const TokenType STRING_INTERPOLATION_IDENTIFIER = const TokenType._(
-      'STRING_INTERPOLATION_IDENTIFIER', TokenClass.NO_CLASS, '\$');
-
-  static const TokenType TILDE =
-      const TokenType._('TILDE', TokenClass.UNARY_PREFIX_OPERATOR, '~');
-
-  static const TokenType TILDE_SLASH = const TokenType._(
-      'TILDE_SLASH', TokenClass.MULTIPLICATIVE_OPERATOR, '~/');
-
-  static const TokenType TILDE_SLASH_EQ = const TokenType._(
-      'TILDE_SLASH_EQ', TokenClass.ASSIGNMENT_OPERATOR, '~/=');
-
-  static const TokenType BACKPING =
-      const TokenType._('BACKPING', TokenClass.NO_CLASS, '`');
-
-  static const TokenType BACKSLASH =
-      const TokenType._('BACKSLASH', TokenClass.NO_CLASS, '\\');
-
-  static const TokenType PERIOD_PERIOD_PERIOD =
-      const TokenType._('PERIOD_PERIOD_PERIOD', TokenClass.NO_CLASS, '...');
-
-  static const TokenType GENERIC_METHOD_TYPE_LIST =
-      const TokenType._('GENERIC_METHOD_TYPE_LIST');
-
-  static const TokenType GENERIC_METHOD_TYPE_ASSIGN =
-      const TokenType._('GENERIC_METHOD_TYPE_ASSIGN');
-
-  /**
-   * The class of the token.
-   */
-  final TokenClass _tokenClass;
-
-  /**
-   * The name of the token type.
-   */
-  final String name;
-
-  /**
-   * The lexeme that defines this type of token, or `null` if there is more than
-   * one possible lexeme for this type of token.
-   */
-  final String lexeme;
-
-  /**
-   * Initialize a newly created token type to have the given [name],
-   * [_tokenClass] and [lexeme].
-   */
-  const TokenType._(this.name,
-      [this._tokenClass = TokenClass.NO_CLASS, this.lexeme = null]);
-
-  /**
-   * Return `true` if this type of token represents an additive operator.
-   */
-  bool get isAdditiveOperator => _tokenClass == TokenClass.ADDITIVE_OPERATOR;
-
-  /**
-   * Return `true` if this type of token represents an assignment operator.
-   */
-  bool get isAssignmentOperator =>
-      _tokenClass == TokenClass.ASSIGNMENT_OPERATOR;
-
-  /**
-   * Return `true` if this type of token represents an associative operator. An
-   * associative operator is an operator for which the following equality is
-   * true: `(a * b) * c == a * (b * c)`. In other words, if the result of
-   * applying the operator to multiple operands does not depend on the order in
-   * which those applications occur.
-   *
-   * Note: This method considers the logical-and and logical-or operators to be
-   * associative, even though the order in which the application of those
-   * operators can have an effect because evaluation of the right-hand operand
-   * is conditional.
-   */
-  bool get isAssociativeOperator =>
-      this == AMPERSAND ||
-      this == AMPERSAND_AMPERSAND ||
-      this == BAR ||
-      this == BAR_BAR ||
-      this == CARET ||
-      this == PLUS ||
-      this == STAR;
-
-  /**
-   * Return `true` if this type of token represents an equality operator.
-   */
-  bool get isEqualityOperator => _tokenClass == TokenClass.EQUALITY_OPERATOR;
-
-  /**
-   * Return `true` if this type of token represents an increment operator.
-   */
-  bool get isIncrementOperator =>
-      identical(lexeme, '++') || identical(lexeme, '--');
-
-  /**
-   * Return `true` if this type of token represents a multiplicative operator.
-   */
-  bool get isMultiplicativeOperator =>
-      _tokenClass == TokenClass.MULTIPLICATIVE_OPERATOR;
-
-  /**
-   * Return `true` if this token type represents an operator.
-   */
-  bool get isOperator =>
-      _tokenClass != TokenClass.NO_CLASS &&
-      this != OPEN_PAREN &&
-      this != OPEN_SQUARE_BRACKET &&
-      this != PERIOD;
-
-  /**
-   * Return `true` if this type of token represents a relational operator.
-   */
-  bool get isRelationalOperator =>
-      _tokenClass == TokenClass.RELATIONAL_OPERATOR;
-
-  /**
-   * Return `true` if this type of token represents a shift operator.
-   */
-  bool get isShiftOperator => _tokenClass == TokenClass.SHIFT_OPERATOR;
-
-  /**
-   * Return `true` if this type of token represents a unary postfix operator.
-   */
-  bool get isUnaryPostfixOperator =>
-      _tokenClass == TokenClass.UNARY_POSTFIX_OPERATOR;
-
-  /**
-   * Return `true` if this type of token represents a unary prefix operator.
-   */
-  bool get isUnaryPrefixOperator =>
-      _tokenClass == TokenClass.UNARY_PREFIX_OPERATOR;
-
-  /**
-   * Return `true` if this token type represents an operator that can be defined
-   * by users.
-   */
-  bool get isUserDefinableOperator =>
-      identical(lexeme, '==') ||
-      identical(lexeme, '~') ||
-      identical(lexeme, '[]') ||
-      identical(lexeme, '[]=') ||
-      identical(lexeme, '*') ||
-      identical(lexeme, '/') ||
-      identical(lexeme, '%') ||
-      identical(lexeme, '~/') ||
-      identical(lexeme, '+') ||
-      identical(lexeme, '-') ||
-      identical(lexeme, '<<') ||
-      identical(lexeme, '>>') ||
-      identical(lexeme, '>=') ||
-      identical(lexeme, '>') ||
-      identical(lexeme, '<=') ||
-      identical(lexeme, '<') ||
-      identical(lexeme, '&') ||
-      identical(lexeme, '^') ||
-      identical(lexeme, '|');
-
-  /**
-   * Return the precedence of the token, or `0` if the token does not represent
-   * an operator.
-   */
-  int get precedence => _tokenClass.precedence;
-
-  @override
-  String toString() => name;
-}
-
-/**
- * A token representing the end (either the head or the tail) of a stream of
- * tokens.
- */
-class _EndOfFileTokenType extends TokenType {
-  /**
-   * Initialize a newly created token.
-   */
-  const _EndOfFileTokenType() : super._('EOF', TokenClass.NO_CLASS, '');
-
-  @override
-  String toString() => '-eof-';
-}
+export 'package:front_end/src/scanner/token.dart'
+    show Keyword, Token, TokenType;
diff --git a/pkg/analyzer/lib/dart/ast/visitor.dart b/pkg/analyzer/lib/dart/ast/visitor.dart
index d3e55d3..ad96bed 100644
--- a/pkg/analyzer/lib/dart/ast/visitor.dart
+++ b/pkg/analyzer/lib/dart/ast/visitor.dart
@@ -165,6 +165,9 @@
   R visitAsExpression(AsExpression node) => visitExpression(node);
 
   @override
+  R visitAssertInitializer(AssertInitializer node) => visitNode(node);
+
+  @override
   R visitAssertStatement(AssertStatement node) => visitStatement(node);
 
   @override
@@ -323,7 +326,7 @@
 
   @override
   R visitFunctionExpressionInvocation(FunctionExpressionInvocation node) =>
-      visitExpression(node);
+      visitInvocationExpression(node);
 
   @override
   R visitFunctionTypeAlias(FunctionTypeAlias node) => visitTypeAlias(node);
@@ -366,6 +369,9 @@
   R visitInterpolationString(InterpolationString node) =>
       visitInterpolationElement(node);
 
+  R visitInvocationExpression(InvocationExpression node) =>
+      visitExpression(node);
+
   @override
   R visitIsExpression(IsExpression node) => visitExpression(node);
 
@@ -396,7 +402,8 @@
   R visitMethodDeclaration(MethodDeclaration node) => visitClassMember(node);
 
   @override
-  R visitMethodInvocation(MethodInvocation node) => visitExpression(node);
+  R visitMethodInvocation(MethodInvocation node) =>
+      visitInvocationExpression(node);
 
   R visitNamedCompilationUnitMember(NamedCompilationUnitMember node) =>
       visitCompilationUnitMember(node);
@@ -597,6 +604,12 @@
   }
 
   @override
+  R visitAssertInitializer(AssertInitializer node) {
+    node.visitChildren(this);
+    return null;
+  }
+
+  @override
   R visitAssertStatement(AssertStatement node) {
     node.visitChildren(this);
     return null;
@@ -1244,6 +1257,9 @@
   R visitAsExpression(AsExpression node) => null;
 
   @override
+  R visitAssertInitializer(AssertInitializer node) => null;
+
+  @override
   R visitAssertStatement(AssertStatement node) => null;
 
   @override
@@ -1616,6 +1632,14 @@
   }
 
   @override
+  T visitAssertInitializer(AssertInitializer node) {
+    stopwatch.start();
+    T result = _baseVisitor.visitAssertInitializer(node);
+    stopwatch.stop();
+    return result;
+  }
+
+  @override
   T visitAssertStatement(AssertStatement node) {
     stopwatch.start();
     T result = _baseVisitor.visitAssertStatement(node);
@@ -2475,6 +2499,9 @@
   R visitAsExpression(AsExpression node) => visitNode(node);
 
   @override
+  R visitAssertInitializer(AssertInitializer node) => visitNode(node);
+
+  @override
   R visitAssertStatement(AssertStatement node) => visitNode(node);
 
   @override
diff --git a/pkg/analyzer/lib/error/error.dart b/pkg/analyzer/lib/error/error.dart
index ce8b384..388e0c8 100644
--- a/pkg/analyzer/lib/error/error.dart
+++ b/pkg/analyzer/lib/error/error.dart
@@ -13,6 +13,628 @@
 import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/parser.dart' show ParserErrorCode;
 import 'package:analyzer/src/generated/source.dart';
+import 'package:front_end/src/scanner/errors.dart';
+
+export 'package:front_end/src/scanner/errors.dart'
+    show ErrorCode, ErrorSeverity, ErrorType;
+
+const List<ErrorCode> errorCodeValues = const [
+  //
+  // Manually generated. You can mostly reproduce this list by running the
+  // following command from the root of the analyzer package:
+  //
+  // > cat
+  //       lib/src/analysis_options/error/option_codes.dart';
+  //       lib/src/dart/error/hint_codes.dart';
+  //       lib/src/dart/error/lint_codes.dart';
+  //       lib/src/dart/error/todo_codes.dart';
+  //       lib/src/html/error/html_codes.dart';
+  //       lib/src/dart/error/syntactic_errors.dart
+  //       lib/src/error/codes.dart
+  //       ../front_end/lib/src/scanner/errors.dart |
+  //     grep 'static const .*Code' |
+  //     awk '{print $3"."$4","}' |
+  //     sort > codes.txt
+  //
+  // There are a few error codes that are wrapped such that the name of the
+  // error code in on the line following the pattern we're grepping for. Those
+  // need to be filled in by hand.
+  //
+  AnalysisOptionsErrorCode.PARSE_ERROR,
+  AnalysisOptionsWarningCode.UNRECOGNIZED_ERROR_CODE,
+  AnalysisOptionsWarningCode.UNSUPPORTED_OPTION_WITH_LEGAL_VALUE,
+  AnalysisOptionsWarningCode.UNSUPPORTED_OPTION_WITH_LEGAL_VALUES,
+  AnalysisOptionsWarningCode.UNSUPPORTED_VALUE,
+  CheckedModeCompileTimeErrorCode.CONST_CONSTRUCTOR_FIELD_TYPE_MISMATCH,
+  CheckedModeCompileTimeErrorCode.CONST_CONSTRUCTOR_PARAM_TYPE_MISMATCH,
+  CheckedModeCompileTimeErrorCode.CONST_FIELD_INITIALIZER_NOT_ASSIGNABLE,
+  CheckedModeCompileTimeErrorCode.LIST_ELEMENT_TYPE_NOT_ASSIGNABLE,
+  CheckedModeCompileTimeErrorCode.MAP_KEY_TYPE_NOT_ASSIGNABLE,
+  CheckedModeCompileTimeErrorCode.MAP_VALUE_TYPE_NOT_ASSIGNABLE,
+  CheckedModeCompileTimeErrorCode.VARIABLE_TYPE_MISMATCH,
+  CompileTimeErrorCode.ACCESS_PRIVATE_ENUM_FIELD,
+  CompileTimeErrorCode.AMBIGUOUS_EXPORT,
+  CompileTimeErrorCode.ANNOTATION_WITH_NON_CLASS,
+  CompileTimeErrorCode.ARGUMENT_DEFINITION_TEST_NON_PARAMETER,
+  CompileTimeErrorCode.ASYNC_FOR_IN_WRONG_CONTEXT,
+  CompileTimeErrorCode.AWAIT_IN_WRONG_CONTEXT,
+  CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPE,
+  CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPEDEF_NAME,
+  CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPE_NAME,
+  CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPE_PARAMETER_NAME,
+  CompileTimeErrorCode.CASE_EXPRESSION_TYPE_IMPLEMENTS_EQUALS,
+  CompileTimeErrorCode.CONFLICTING_CONSTRUCTOR_NAME_AND_FIELD,
+  CompileTimeErrorCode.CONFLICTING_CONSTRUCTOR_NAME_AND_METHOD,
+  CompileTimeErrorCode.CONFLICTING_GETTER_AND_METHOD,
+  CompileTimeErrorCode.CONFLICTING_METHOD_AND_GETTER,
+  CompileTimeErrorCode.CONFLICTING_TYPE_VARIABLE_AND_CLASS,
+  CompileTimeErrorCode.CONFLICTING_TYPE_VARIABLE_AND_MEMBER,
+  CompileTimeErrorCode.CONST_CONSTRUCTOR_THROWS_EXCEPTION,
+  CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_FIELD_INITIALIZED_BY_NON_CONST,
+  CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_MIXIN,
+  CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_NON_CONST_SUPER,
+  CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_NON_FINAL_FIELD,
+  CompileTimeErrorCode.CONST_DEFERRED_CLASS,
+  CompileTimeErrorCode.CONST_EVAL_THROWS_EXCEPTION,
+  CompileTimeErrorCode.CONST_EVAL_THROWS_IDBZE,
+  CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL,
+  CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL_NUM_STRING,
+  CompileTimeErrorCode.CONST_EVAL_TYPE_INT,
+  CompileTimeErrorCode.CONST_EVAL_TYPE_NUM,
+  CompileTimeErrorCode.CONST_FORMAL_PARAMETER,
+  CompileTimeErrorCode.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE,
+  CompileTimeErrorCode
+      .CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE_FROM_DEFERRED_LIBRARY,
+  CompileTimeErrorCode.CONST_INSTANCE_FIELD,
+  CompileTimeErrorCode.CONST_MAP_KEY_EXPRESSION_TYPE_IMPLEMENTS_EQUALS,
+  CompileTimeErrorCode.CONST_NOT_INITIALIZED,
+  CompileTimeErrorCode.CONST_WITH_INVALID_TYPE_PARAMETERS,
+  CompileTimeErrorCode.CONST_WITH_NON_CONST,
+  CompileTimeErrorCode.CONST_WITH_NON_CONSTANT_ARGUMENT,
+  CompileTimeErrorCode.CONST_WITH_NON_TYPE,
+  CompileTimeErrorCode.CONST_WITH_TYPE_PARAMETERS,
+  CompileTimeErrorCode.CONST_WITH_UNDEFINED_CONSTRUCTOR,
+  CompileTimeErrorCode.CONST_WITH_UNDEFINED_CONSTRUCTOR_DEFAULT,
+  CompileTimeErrorCode.DEFAULT_VALUE_IN_FUNCTION_TYPED_PARAMETER,
+  CompileTimeErrorCode.DEFAULT_VALUE_IN_FUNCTION_TYPE_ALIAS,
+  CompileTimeErrorCode.DEFAULT_VALUE_IN_REDIRECTING_FACTORY_CONSTRUCTOR,
+  CompileTimeErrorCode.DUPLICATE_CONSTRUCTOR_DEFAULT,
+  CompileTimeErrorCode.DUPLICATE_CONSTRUCTOR_NAME,
+  CompileTimeErrorCode.DUPLICATE_DEFINITION,
+  CompileTimeErrorCode.DUPLICATE_DEFINITION_INHERITANCE,
+  CompileTimeErrorCode.DUPLICATE_NAMED_ARGUMENT,
+  CompileTimeErrorCode.DUPLICATE_PART,
+  CompileTimeErrorCode.EXPORT_INTERNAL_LIBRARY,
+  CompileTimeErrorCode.EXPORT_OF_NON_LIBRARY,
+  CompileTimeErrorCode.EXTENDS_DEFERRED_CLASS,
+  CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS,
+  CompileTimeErrorCode.EXTENDS_ENUM,
+  CompileTimeErrorCode.EXTENDS_NON_CLASS,
+  CompileTimeErrorCode.EXTRA_ARGUMENT_TO_ASSERT,
+  CompileTimeErrorCode.EXTRA_POSITIONAL_ARGUMENTS,
+  CompileTimeErrorCode.FIELD_INITIALIZED_BY_MULTIPLE_INITIALIZERS,
+  CompileTimeErrorCode.FIELD_INITIALIZED_IN_PARAMETER_AND_INITIALIZER,
+  CompileTimeErrorCode.FIELD_INITIALIZER_FACTORY_CONSTRUCTOR,
+  CompileTimeErrorCode.FIELD_INITIALIZER_OUTSIDE_CONSTRUCTOR,
+  CompileTimeErrorCode.FIELD_INITIALIZER_REDIRECTING_CONSTRUCTOR,
+  CompileTimeErrorCode.FINAL_INITIALIZED_MULTIPLE_TIMES,
+  CompileTimeErrorCode.GETTER_AND_METHOD_WITH_SAME_NAME,
+  CompileTimeErrorCode.IMPLEMENTS_DEFERRED_CLASS,
+  CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS,
+  CompileTimeErrorCode.IMPLEMENTS_DYNAMIC,
+  CompileTimeErrorCode.IMPLEMENTS_ENUM,
+  CompileTimeErrorCode.IMPLEMENTS_NON_CLASS,
+  CompileTimeErrorCode.IMPLEMENTS_REPEATED,
+  CompileTimeErrorCode.IMPLEMENTS_SUPER_CLASS,
+  CompileTimeErrorCode.IMPLICIT_THIS_REFERENCE_IN_INITIALIZER,
+  CompileTimeErrorCode.IMPORT_INTERNAL_LIBRARY,
+  CompileTimeErrorCode.IMPORT_OF_NON_LIBRARY,
+  CompileTimeErrorCode.INCONSISTENT_CASE_EXPRESSION_TYPES,
+  CompileTimeErrorCode.INITIALIZER_FOR_NON_EXISTENT_FIELD,
+  CompileTimeErrorCode.INITIALIZER_FOR_STATIC_FIELD,
+  CompileTimeErrorCode.INITIALIZING_FORMAL_FOR_NON_EXISTENT_FIELD,
+  CompileTimeErrorCode.INITIALIZING_FORMAL_FOR_STATIC_FIELD,
+  CompileTimeErrorCode.INSTANCE_MEMBER_ACCESS_FROM_FACTORY,
+  CompileTimeErrorCode.INSTANCE_MEMBER_ACCESS_FROM_STATIC,
+  CompileTimeErrorCode.INSTANTIATE_ENUM,
+  CompileTimeErrorCode.INVALID_ANNOTATION,
+  CompileTimeErrorCode.INVALID_ANNOTATION_FROM_DEFERRED_LIBRARY,
+  CompileTimeErrorCode.INVALID_CONSTANT,
+  CompileTimeErrorCode.INVALID_CONSTRUCTOR_NAME,
+  CompileTimeErrorCode.INVALID_FACTORY_NAME_NOT_A_CLASS,
+  CompileTimeErrorCode.INVALID_IDENTIFIER_IN_ASYNC,
+  CompileTimeErrorCode.INVALID_MODIFIER_ON_CONSTRUCTOR,
+  CompileTimeErrorCode.INVALID_MODIFIER_ON_SETTER,
+  CompileTimeErrorCode.INVALID_REFERENCE_TO_THIS,
+  CompileTimeErrorCode.INVALID_TYPE_ARGUMENT_IN_CONST_LIST,
+  CompileTimeErrorCode.INVALID_TYPE_ARGUMENT_IN_CONST_MAP,
+  CompileTimeErrorCode.INVALID_URI,
+  CompileTimeErrorCode.LABEL_IN_OUTER_SCOPE,
+  CompileTimeErrorCode.LABEL_UNDEFINED,
+  CompileTimeErrorCode.MEMBER_WITH_CLASS_NAME,
+  CompileTimeErrorCode.METHOD_AND_GETTER_WITH_SAME_NAME,
+  CompileTimeErrorCode.MISSING_CONST_IN_LIST_LITERAL,
+  CompileTimeErrorCode.MISSING_CONST_IN_MAP_LITERAL,
+  CompileTimeErrorCode.MIXIN_DECLARES_CONSTRUCTOR,
+  CompileTimeErrorCode.MIXIN_DEFERRED_CLASS,
+  CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS,
+  CompileTimeErrorCode.MIXIN_INHERITS_FROM_NOT_OBJECT,
+  CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS,
+  CompileTimeErrorCode.MIXIN_OF_ENUM,
+  CompileTimeErrorCode.MIXIN_OF_NON_CLASS,
+  CompileTimeErrorCode.MIXIN_REFERENCES_SUPER,
+  CompileTimeErrorCode.MIXIN_WITH_NON_CLASS_SUPERCLASS,
+  CompileTimeErrorCode.MULTIPLE_REDIRECTING_CONSTRUCTOR_INVOCATIONS,
+  CompileTimeErrorCode.MULTIPLE_SUPER_INITIALIZERS,
+  CompileTimeErrorCode.NON_CONSTANT_ANNOTATION_CONSTRUCTOR,
+  CompileTimeErrorCode.NON_CONSTANT_CASE_EXPRESSION,
+  CompileTimeErrorCode.NON_CONSTANT_CASE_EXPRESSION_FROM_DEFERRED_LIBRARY,
+  CompileTimeErrorCode.NON_CONSTANT_DEFAULT_VALUE,
+  CompileTimeErrorCode.NON_CONSTANT_DEFAULT_VALUE_FROM_DEFERRED_LIBRARY,
+  CompileTimeErrorCode.NON_CONSTANT_LIST_ELEMENT,
+  CompileTimeErrorCode.NON_CONSTANT_LIST_ELEMENT_FROM_DEFERRED_LIBRARY,
+  CompileTimeErrorCode.NON_CONSTANT_MAP_KEY,
+  CompileTimeErrorCode.NON_CONSTANT_MAP_KEY_FROM_DEFERRED_LIBRARY,
+  CompileTimeErrorCode.NON_CONSTANT_MAP_VALUE,
+  CompileTimeErrorCode.NON_CONSTANT_MAP_VALUE_FROM_DEFERRED_LIBRARY,
+  CompileTimeErrorCode.NON_CONSTANT_VALUE_IN_INITIALIZER,
+  CompileTimeErrorCode.NON_CONSTANT_VALUE_IN_INITIALIZER_FROM_DEFERRED_LIBRARY,
+  CompileTimeErrorCode.NON_CONST_MAP_AS_EXPRESSION_STATEMENT,
+  CompileTimeErrorCode.NON_GENERATIVE_CONSTRUCTOR,
+  CompileTimeErrorCode.NOT_ENOUGH_REQUIRED_ARGUMENTS,
+  CompileTimeErrorCode.NO_ANNOTATION_CONSTRUCTOR_ARGUMENTS,
+  CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_EXPLICIT,
+  CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT,
+  CompileTimeErrorCode.OBJECT_CANNOT_EXTEND_ANOTHER_CLASS,
+  CompileTimeErrorCode.OPTIONAL_PARAMETER_IN_OPERATOR,
+  CompileTimeErrorCode.PART_OF_NON_PART,
+  CompileTimeErrorCode.PREFIX_COLLIDES_WITH_TOP_LEVEL_MEMBER,
+  CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT,
+  CompileTimeErrorCode.PRIVATE_OPTIONAL_PARAMETER,
+  CompileTimeErrorCode.RECURSIVE_COMPILE_TIME_CONSTANT,
+  CompileTimeErrorCode.RECURSIVE_CONSTRUCTOR_REDIRECT,
+  CompileTimeErrorCode.RECURSIVE_FACTORY_REDIRECT,
+  CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE,
+  CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_BASE_CASE_EXTENDS,
+  CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_BASE_CASE_IMPLEMENTS,
+  CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_BASE_CASE_WITH,
+  CompileTimeErrorCode.REDIRECT_GENERATIVE_TO_MISSING_CONSTRUCTOR,
+  CompileTimeErrorCode.REDIRECT_GENERATIVE_TO_NON_GENERATIVE_CONSTRUCTOR,
+  CompileTimeErrorCode.REDIRECT_TO_MISSING_CONSTRUCTOR,
+  CompileTimeErrorCode.REDIRECT_TO_NON_CLASS,
+  CompileTimeErrorCode.REDIRECT_TO_NON_CONST_CONSTRUCTOR,
+  CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION,
+  CompileTimeErrorCode.RETHROW_OUTSIDE_CATCH,
+  CompileTimeErrorCode.RETURN_IN_GENERATIVE_CONSTRUCTOR,
+  CompileTimeErrorCode.RETURN_IN_GENERATOR,
+  CompileTimeErrorCode.SHARED_DEFERRED_PREFIX,
+  CompileTimeErrorCode.SUPER_INITIALIZER_IN_OBJECT,
+  CompileTimeErrorCode.SUPER_IN_INVALID_CONTEXT,
+  CompileTimeErrorCode.SUPER_IN_REDIRECTING_CONSTRUCTOR,
+  CompileTimeErrorCode.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF,
+  CompileTimeErrorCode.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS,
+  CompileTimeErrorCode.UNDEFINED_CLASS,
+  CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER,
+  CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER_DEFAULT,
+  CompileTimeErrorCode.UNDEFINED_NAMED_PARAMETER,
+  CompileTimeErrorCode.URI_DOES_NOT_EXIST,
+  CompileTimeErrorCode.URI_HAS_NOT_BEEN_GENERATED,
+  CompileTimeErrorCode.URI_WITH_INTERPOLATION,
+  CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_OPERATOR,
+  CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_OPERATOR_MINUS,
+  CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER,
+  CompileTimeErrorCode.YIELD_EACH_IN_NON_GENERATOR,
+  CompileTimeErrorCode.YIELD_IN_NON_GENERATOR,
+  HintCode.ABSTRACT_SUPER_MEMBER_REFERENCE,
+  HintCode.ARGUMENT_TYPE_NOT_ASSIGNABLE,
+  HintCode.CAN_BE_NULL_AFTER_NULL_AWARE,
+  HintCode.DEAD_CODE,
+  HintCode.DEAD_CODE_CATCH_FOLLOWING_CATCH,
+  HintCode.DEAD_CODE_ON_CATCH_SUBTYPE,
+  HintCode.DEPRECATED_MEMBER_USE,
+  HintCode.DIVISION_OPTIMIZATION,
+  HintCode.DUPLICATE_IMPORT,
+  HintCode.FILE_IMPORT_INSIDE_LIB_REFERENCES_FILE_OUTSIDE,
+  HintCode.FILE_IMPORT_OUTSIDE_LIB_REFERENCES_FILE_INSIDE,
+  HintCode.IMPORT_DEFERRED_LIBRARY_WITH_LOAD_FUNCTION,
+  HintCode.INVALID_ASSIGNMENT,
+  HintCode.INVALID_FACTORY_ANNOTATION,
+  HintCode.INVALID_FACTORY_METHOD_DECL,
+  HintCode.INVALID_FACTORY_METHOD_IMPL,
+  HintCode.INVALID_METHOD_OVERRIDE_TYPE_PARAMETERS,
+  HintCode.INVALID_METHOD_OVERRIDE_TYPE_PARAMETER_BOUND,
+  HintCode.INVALID_USE_OF_PROTECTED_MEMBER,
+  HintCode.IS_DOUBLE,
+  HintCode.IS_INT,
+  HintCode.IS_NOT_DOUBLE,
+  HintCode.IS_NOT_INT,
+  HintCode.MISSING_JS_LIB_ANNOTATION,
+  HintCode.MISSING_REQUIRED_PARAM,
+  HintCode.MISSING_REQUIRED_PARAM_WITH_DETAILS,
+  HintCode.MISSING_RETURN,
+  HintCode.MUST_CALL_SUPER,
+  HintCode.NULL_AWARE_IN_CONDITION,
+  HintCode.OVERRIDE_EQUALS_BUT_NOT_HASH_CODE,
+  HintCode.OVERRIDE_ON_NON_OVERRIDING_FIELD,
+  HintCode.OVERRIDE_ON_NON_OVERRIDING_GETTER,
+  HintCode.OVERRIDE_ON_NON_OVERRIDING_METHOD,
+  HintCode.OVERRIDE_ON_NON_OVERRIDING_SETTER,
+  HintCode.PACKAGE_IMPORT_CONTAINS_DOT_DOT,
+  HintCode.TYPE_CHECK_IS_NOT_NULL,
+  HintCode.TYPE_CHECK_IS_NULL,
+  HintCode.UNDEFINED_GETTER,
+  HintCode.UNDEFINED_HIDDEN_NAME,
+  HintCode.UNDEFINED_METHOD,
+  HintCode.UNDEFINED_OPERATOR,
+  HintCode.UNDEFINED_SETTER,
+  HintCode.UNDEFINED_SHOWN_NAME,
+  HintCode.UNNECESSARY_CAST,
+  HintCode.UNNECESSARY_NO_SUCH_METHOD,
+  HintCode.UNNECESSARY_TYPE_CHECK_FALSE,
+  HintCode.UNNECESSARY_TYPE_CHECK_TRUE,
+  HintCode.UNUSED_CATCH_CLAUSE,
+  HintCode.UNUSED_CATCH_STACK,
+  HintCode.UNUSED_ELEMENT,
+  HintCode.UNUSED_FIELD,
+  HintCode.UNUSED_IMPORT,
+  HintCode.UNUSED_LOCAL_VARIABLE,
+  HintCode.UNUSED_SHOWN_NAME,
+  HintCode.USE_OF_VOID_RESULT,
+  HintCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS_METHOD,
+  HtmlErrorCode.PARSE_ERROR,
+  HtmlWarningCode.INVALID_URI,
+  HtmlWarningCode.URI_DOES_NOT_EXIST,
+  ParserErrorCode.ABSTRACT_CLASS_MEMBER,
+  ParserErrorCode.ABSTRACT_ENUM,
+  ParserErrorCode.ABSTRACT_STATIC_METHOD,
+  ParserErrorCode.ABSTRACT_TOP_LEVEL_FUNCTION,
+  ParserErrorCode.ABSTRACT_TOP_LEVEL_VARIABLE,
+  ParserErrorCode.ABSTRACT_TYPEDEF,
+  ParserErrorCode.ANNOTATION_ON_ENUM_CONSTANT,
+  ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER,
+  ParserErrorCode.BREAK_OUTSIDE_OF_LOOP,
+  ParserErrorCode.CLASS_IN_CLASS,
+  ParserErrorCode.COLON_IN_PLACE_OF_IN,
+  ParserErrorCode.CONSTRUCTOR_WITH_RETURN_TYPE,
+  ParserErrorCode.CONST_AND_FINAL,
+  ParserErrorCode.CONST_AND_VAR,
+  ParserErrorCode.CONST_CLASS,
+  ParserErrorCode.CONST_CONSTRUCTOR_WITH_BODY,
+  ParserErrorCode.CONST_ENUM,
+  ParserErrorCode.CONST_FACTORY,
+  ParserErrorCode.CONST_METHOD,
+  ParserErrorCode.CONST_TYPEDEF,
+  ParserErrorCode.CONTINUE_OUTSIDE_OF_LOOP,
+  ParserErrorCode.CONTINUE_WITHOUT_LABEL_IN_CASE,
+  ParserErrorCode.DEPRECATED_CLASS_TYPE_ALIAS,
+  ParserErrorCode.DIRECTIVE_AFTER_DECLARATION,
+  ParserErrorCode.DUPLICATED_MODIFIER,
+  ParserErrorCode.DUPLICATE_LABEL_IN_SWITCH_STATEMENT,
+  ParserErrorCode.EMPTY_ENUM_BODY,
+  ParserErrorCode.ENUM_IN_CLASS,
+  ParserErrorCode.EQUALITY_CANNOT_BE_EQUALITY_OPERAND,
+  ParserErrorCode.EXPECTED_CASE_OR_DEFAULT,
+  ParserErrorCode.EXPECTED_CLASS_MEMBER,
+  ParserErrorCode.EXPECTED_EXECUTABLE,
+  ParserErrorCode.EXPECTED_LIST_OR_MAP_LITERAL,
+  ParserErrorCode.EXPECTED_STRING_LITERAL,
+  ParserErrorCode.EXPECTED_TOKEN,
+  ParserErrorCode.EXPECTED_TYPE_NAME,
+  ParserErrorCode.EXPORT_DIRECTIVE_AFTER_PART_DIRECTIVE,
+  ParserErrorCode.EXTERNAL_AFTER_CONST,
+  ParserErrorCode.EXTERNAL_AFTER_FACTORY,
+  ParserErrorCode.EXTERNAL_AFTER_STATIC,
+  ParserErrorCode.EXTERNAL_CLASS,
+  ParserErrorCode.EXTERNAL_CONSTRUCTOR_WITH_BODY,
+  ParserErrorCode.EXTERNAL_ENUM,
+  ParserErrorCode.EXTERNAL_FIELD,
+  ParserErrorCode.EXTERNAL_GETTER_WITH_BODY,
+  ParserErrorCode.EXTERNAL_METHOD_WITH_BODY,
+  ParserErrorCode.EXTERNAL_OPERATOR_WITH_BODY,
+  ParserErrorCode.EXTERNAL_SETTER_WITH_BODY,
+  ParserErrorCode.EXTERNAL_TYPEDEF,
+  ParserErrorCode.FACTORY_TOP_LEVEL_DECLARATION,
+  ParserErrorCode.FACTORY_WITHOUT_BODY,
+  ParserErrorCode.FACTORY_WITH_INITIALIZERS,
+  ParserErrorCode.FIELD_INITIALIZER_OUTSIDE_CONSTRUCTOR,
+  ParserErrorCode.FINAL_AND_VAR,
+  ParserErrorCode.FINAL_CLASS,
+  ParserErrorCode.FINAL_CONSTRUCTOR,
+  ParserErrorCode.FINAL_ENUM,
+  ParserErrorCode.FINAL_METHOD,
+  ParserErrorCode.FINAL_TYPEDEF,
+  ParserErrorCode.FUNCTION_TYPED_PARAMETER_VAR,
+  ParserErrorCode.GETTER_IN_FUNCTION,
+  ParserErrorCode.GETTER_WITH_PARAMETERS,
+  ParserErrorCode.ILLEGAL_ASSIGNMENT_TO_NON_ASSIGNABLE,
+  ParserErrorCode.IMPLEMENTS_BEFORE_EXTENDS,
+  ParserErrorCode.IMPLEMENTS_BEFORE_WITH,
+  ParserErrorCode.IMPORT_DIRECTIVE_AFTER_PART_DIRECTIVE,
+  ParserErrorCode.INITIALIZED_VARIABLE_IN_FOR_EACH,
+  ParserErrorCode.INVALID_AWAIT_IN_FOR,
+  ParserErrorCode.INVALID_CODE_POINT,
+  ParserErrorCode.INVALID_COMMENT_REFERENCE,
+  ParserErrorCode.INVALID_HEX_ESCAPE,
+  ParserErrorCode.INVALID_LITERAL_IN_CONFIGURATION,
+  ParserErrorCode.INVALID_OPERATOR,
+  ParserErrorCode.INVALID_OPERATOR_FOR_SUPER,
+  ParserErrorCode.INVALID_STAR_AFTER_ASYNC,
+  ParserErrorCode.INVALID_SYNC,
+  ParserErrorCode.INVALID_UNICODE_ESCAPE,
+  ParserErrorCode.LIBRARY_DIRECTIVE_NOT_FIRST,
+  ParserErrorCode.LOCAL_FUNCTION_DECLARATION_MODIFIER,
+  ParserErrorCode.MISSING_ASSIGNABLE_SELECTOR,
+  ParserErrorCode.MISSING_ASSIGNMENT_IN_INITIALIZER,
+  ParserErrorCode.MISSING_CATCH_OR_FINALLY,
+  ParserErrorCode.MISSING_CLASS_BODY,
+  ParserErrorCode.MISSING_CLOSING_PARENTHESIS,
+  ParserErrorCode.MISSING_CONST_FINAL_VAR_OR_TYPE,
+  ParserErrorCode.MISSING_ENUM_BODY,
+  ParserErrorCode.MISSING_EXPRESSION_IN_INITIALIZER,
+  ParserErrorCode.MISSING_EXPRESSION_IN_THROW,
+  ParserErrorCode.MISSING_FUNCTION_BODY,
+  ParserErrorCode.MISSING_FUNCTION_PARAMETERS,
+  ParserErrorCode.MISSING_GET,
+  ParserErrorCode.MISSING_IDENTIFIER,
+  ParserErrorCode.MISSING_INITIALIZER,
+  ParserErrorCode.MISSING_KEYWORD_OPERATOR,
+  ParserErrorCode.MISSING_METHOD_PARAMETERS,
+  ParserErrorCode.MISSING_NAME_IN_LIBRARY_DIRECTIVE,
+  ParserErrorCode.MISSING_NAME_IN_PART_OF_DIRECTIVE,
+  ParserErrorCode.MISSING_PREFIX_IN_DEFERRED_IMPORT,
+  ParserErrorCode.MISSING_STAR_AFTER_SYNC,
+  ParserErrorCode.MISSING_STATEMENT,
+  ParserErrorCode.MISSING_TERMINATOR_FOR_PARAMETER_GROUP,
+  ParserErrorCode.MISSING_TYPEDEF_PARAMETERS,
+  ParserErrorCode.MISSING_VARIABLE_IN_FOR_EACH,
+  ParserErrorCode.MIXED_PARAMETER_GROUPS,
+  ParserErrorCode.MULTIPLE_EXTENDS_CLAUSES,
+  ParserErrorCode.MULTIPLE_IMPLEMENTS_CLAUSES,
+  ParserErrorCode.MULTIPLE_LIBRARY_DIRECTIVES,
+  ParserErrorCode.MULTIPLE_NAMED_PARAMETER_GROUPS,
+  ParserErrorCode.MULTIPLE_PART_OF_DIRECTIVES,
+  ParserErrorCode.MULTIPLE_POSITIONAL_PARAMETER_GROUPS,
+  ParserErrorCode.MULTIPLE_VARIABLES_IN_FOR_EACH,
+  ParserErrorCode.MULTIPLE_WITH_CLAUSES,
+  ParserErrorCode.NAMED_FUNCTION_EXPRESSION,
+  ParserErrorCode.NAMED_PARAMETER_OUTSIDE_GROUP,
+  ParserErrorCode.NATIVE_CLAUSE_IN_NON_SDK_CODE,
+  ParserErrorCode.NATIVE_FUNCTION_BODY_IN_NON_SDK_CODE,
+  ParserErrorCode.NON_CONSTRUCTOR_FACTORY,
+  ParserErrorCode.NON_IDENTIFIER_LIBRARY_NAME,
+  ParserErrorCode.NON_PART_OF_DIRECTIVE_IN_PART,
+  ParserErrorCode.NON_STRING_LITERAL_AS_URI,
+  ParserErrorCode.NON_USER_DEFINABLE_OPERATOR,
+  ParserErrorCode.NORMAL_BEFORE_OPTIONAL_PARAMETERS,
+  ParserErrorCode.NULLABLE_TYPE_IN_EXTENDS,
+  ParserErrorCode.NULLABLE_TYPE_IN_IMPLEMENTS,
+  ParserErrorCode.NULLABLE_TYPE_IN_WITH,
+  ParserErrorCode.NULLABLE_TYPE_PARAMETER,
+  ParserErrorCode.POSITIONAL_AFTER_NAMED_ARGUMENT,
+  ParserErrorCode.POSITIONAL_PARAMETER_OUTSIDE_GROUP,
+  ParserErrorCode.REDIRECTING_CONSTRUCTOR_WITH_BODY,
+  ParserErrorCode.REDIRECTION_IN_NON_FACTORY_CONSTRUCTOR,
+  ParserErrorCode.SETTER_IN_FUNCTION,
+  ParserErrorCode.STATIC_AFTER_CONST,
+  ParserErrorCode.STATIC_AFTER_FINAL,
+  ParserErrorCode.STATIC_AFTER_VAR,
+  ParserErrorCode.STATIC_CONSTRUCTOR,
+  ParserErrorCode.STATIC_GETTER_WITHOUT_BODY,
+  ParserErrorCode.STATIC_OPERATOR,
+  ParserErrorCode.STATIC_SETTER_WITHOUT_BODY,
+  ParserErrorCode.STATIC_TOP_LEVEL_DECLARATION,
+  ParserErrorCode.SWITCH_HAS_CASE_AFTER_DEFAULT_CASE,
+  ParserErrorCode.SWITCH_HAS_MULTIPLE_DEFAULT_CASES,
+  ParserErrorCode.TOP_LEVEL_OPERATOR,
+  ParserErrorCode.TYPEDEF_IN_CLASS,
+  ParserErrorCode.UNEXPECTED_TERMINATOR_FOR_PARAMETER_GROUP,
+  ParserErrorCode.UNEXPECTED_TOKEN,
+  ParserErrorCode.VAR_AND_TYPE,
+  ParserErrorCode.VAR_AS_TYPE_NAME,
+  ParserErrorCode.VAR_CLASS,
+  ParserErrorCode.VAR_ENUM,
+  ParserErrorCode.VAR_RETURN_TYPE,
+  ParserErrorCode.VAR_TYPEDEF,
+  ParserErrorCode.VOID_PARAMETER,
+  ParserErrorCode.VOID_VARIABLE,
+  ParserErrorCode.WITH_BEFORE_EXTENDS,
+  ParserErrorCode.WITH_WITHOUT_EXTENDS,
+  ParserErrorCode.WRONG_SEPARATOR_FOR_POSITIONAL_PARAMETER,
+  ParserErrorCode.WRONG_TERMINATOR_FOR_PARAMETER_GROUP,
+  ScannerErrorCode.ILLEGAL_CHARACTER,
+  ScannerErrorCode.MISSING_DIGIT,
+  ScannerErrorCode.MISSING_HEX_DIGIT,
+  ScannerErrorCode.MISSING_QUOTE,
+  ScannerErrorCode.UNABLE_GET_CONTENT,
+  ScannerErrorCode.UNTERMINATED_MULTI_LINE_COMMENT,
+  ScannerErrorCode.UNTERMINATED_STRING_LITERAL,
+  StaticTypeWarningCode.EXPECTED_ONE_LIST_TYPE_ARGUMENTS,
+  StaticTypeWarningCode.EXPECTED_TWO_MAP_TYPE_ARGUMENTS,
+  StaticTypeWarningCode.FOR_IN_OF_INVALID_ELEMENT_TYPE,
+  StaticTypeWarningCode.FOR_IN_OF_INVALID_TYPE,
+  StaticTypeWarningCode.ILLEGAL_ASYNC_GENERATOR_RETURN_TYPE,
+  StaticTypeWarningCode.ILLEGAL_ASYNC_RETURN_TYPE,
+  StaticTypeWarningCode.ILLEGAL_SYNC_GENERATOR_RETURN_TYPE,
+  StaticTypeWarningCode.INCONSISTENT_METHOD_INHERITANCE,
+  StaticTypeWarningCode.INSTANCE_ACCESS_TO_STATIC_MEMBER,
+  StaticTypeWarningCode.INVALID_ASSIGNMENT,
+  StaticTypeWarningCode.INVOCATION_OF_NON_FUNCTION,
+  StaticTypeWarningCode.INVOCATION_OF_NON_FUNCTION_EXPRESSION,
+  StaticTypeWarningCode.NON_BOOL_CONDITION,
+  StaticTypeWarningCode.NON_BOOL_EXPRESSION,
+  StaticTypeWarningCode.NON_BOOL_NEGATION_EXPRESSION,
+  StaticTypeWarningCode.NON_BOOL_OPERAND,
+  StaticTypeWarningCode.NON_NULLABLE_FIELD_NOT_INITIALIZED,
+  StaticTypeWarningCode.NON_TYPE_AS_TYPE_ARGUMENT,
+  StaticTypeWarningCode.RETURN_OF_INVALID_TYPE,
+  StaticTypeWarningCode.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS,
+  StaticTypeWarningCode.TYPE_PARAMETER_SUPERTYPE_OF_ITS_BOUND,
+  StaticTypeWarningCode.UNDEFINED_ENUM_CONSTANT,
+  StaticTypeWarningCode.UNDEFINED_FUNCTION,
+  StaticTypeWarningCode.UNDEFINED_GETTER,
+  StaticTypeWarningCode.UNDEFINED_METHOD,
+  StaticTypeWarningCode.UNDEFINED_METHOD_WITH_CONSTRUCTOR,
+  StaticTypeWarningCode.UNDEFINED_OPERATOR,
+  StaticTypeWarningCode.UNDEFINED_SETTER,
+  StaticTypeWarningCode.UNDEFINED_SUPER_GETTER,
+  StaticTypeWarningCode.UNDEFINED_SUPER_METHOD,
+  StaticTypeWarningCode.UNDEFINED_SUPER_OPERATOR,
+  StaticTypeWarningCode.UNDEFINED_SUPER_SETTER,
+  StaticTypeWarningCode.UNQUALIFIED_REFERENCE_TO_NON_LOCAL_STATIC_MEMBER,
+  StaticTypeWarningCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS,
+  StaticTypeWarningCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS_METHOD,
+  StaticTypeWarningCode.YIELD_OF_INVALID_TYPE,
+  StaticWarningCode.AMBIGUOUS_IMPORT,
+  StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE,
+  StaticWarningCode.ASSIGNMENT_TO_CONST,
+  StaticWarningCode.ASSIGNMENT_TO_FINAL,
+  StaticWarningCode.ASSIGNMENT_TO_FINAL_NO_SETTER,
+  StaticWarningCode.ASSIGNMENT_TO_FUNCTION,
+  StaticWarningCode.ASSIGNMENT_TO_METHOD,
+  StaticWarningCode.ASSIGNMENT_TO_TYPE,
+  StaticWarningCode.CASE_BLOCK_NOT_TERMINATED,
+  StaticWarningCode.CAST_TO_NON_TYPE,
+  StaticWarningCode.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER,
+  StaticWarningCode.CONFLICTING_DART_IMPORT,
+  StaticWarningCode.CONFLICTING_INSTANCE_GETTER_AND_SUPERCLASS_MEMBER,
+  StaticWarningCode.CONFLICTING_INSTANCE_METHOD_SETTER,
+  StaticWarningCode.CONFLICTING_INSTANCE_METHOD_SETTER2,
+  StaticWarningCode.CONFLICTING_INSTANCE_SETTER_AND_SUPERCLASS_MEMBER,
+  StaticWarningCode.CONFLICTING_STATIC_GETTER_AND_INSTANCE_SETTER,
+  StaticWarningCode.CONFLICTING_STATIC_SETTER_AND_INSTANCE_MEMBER,
+  StaticWarningCode.CONST_WITH_ABSTRACT_CLASS,
+  StaticWarningCode.EQUAL_KEYS_IN_MAP,
+  StaticWarningCode.EXPORT_DUPLICATED_LIBRARY_NAMED,
+  StaticWarningCode.EXTRA_POSITIONAL_ARGUMENTS,
+  StaticWarningCode.FIELD_INITIALIZED_IN_INITIALIZER_AND_DECLARATION,
+  StaticWarningCode.FINAL_INITIALIZED_IN_DECLARATION_AND_CONSTRUCTOR,
+  StaticWarningCode.FIELD_INITIALIZER_NOT_ASSIGNABLE,
+  StaticWarningCode.FIELD_INITIALIZING_FORMAL_NOT_ASSIGNABLE,
+  StaticWarningCode.FINAL_NOT_INITIALIZED,
+  StaticWarningCode.FINAL_NOT_INITIALIZED_CONSTRUCTOR_1,
+  StaticWarningCode.FINAL_NOT_INITIALIZED_CONSTRUCTOR_2,
+  StaticWarningCode.FINAL_NOT_INITIALIZED_CONSTRUCTOR_3_PLUS,
+  StaticWarningCode.FUNCTION_WITHOUT_CALL,
+  StaticWarningCode.IMPORT_DUPLICATED_LIBRARY_NAMED,
+  StaticWarningCode.IMPORT_OF_NON_LIBRARY,
+  StaticWarningCode.INCONSISTENT_METHOD_INHERITANCE_GETTER_AND_METHOD,
+  StaticWarningCode.INSTANCE_METHOD_NAME_COLLIDES_WITH_SUPERCLASS_STATIC,
+  StaticWarningCode.INVALID_GETTER_OVERRIDE_RETURN_TYPE,
+  StaticWarningCode.INVALID_METHOD_OVERRIDE_NAMED_PARAM_TYPE,
+  StaticWarningCode.INVALID_METHOD_OVERRIDE_NORMAL_PARAM_TYPE,
+  StaticWarningCode.INVALID_METHOD_OVERRIDE_OPTIONAL_PARAM_TYPE,
+  StaticWarningCode.INVALID_METHOD_OVERRIDE_RETURN_TYPE,
+  StaticWarningCode.INVALID_METHOD_OVERRIDE_TYPE_PARAMETERS,
+  StaticWarningCode.INVALID_METHOD_OVERRIDE_TYPE_PARAMETER_BOUND,
+  StaticWarningCode.INVALID_OVERRIDE_DIFFERENT_DEFAULT_VALUES_NAMED,
+  StaticWarningCode.INVALID_OVERRIDE_DIFFERENT_DEFAULT_VALUES_POSITIONAL,
+  StaticWarningCode.INVALID_OVERRIDE_NAMED,
+  StaticWarningCode.INVALID_OVERRIDE_POSITIONAL,
+  StaticWarningCode.INVALID_OVERRIDE_REQUIRED,
+  StaticWarningCode.INVALID_SETTER_OVERRIDE_NORMAL_PARAM_TYPE,
+  StaticWarningCode.LIST_ELEMENT_TYPE_NOT_ASSIGNABLE,
+  StaticWarningCode.MAP_KEY_TYPE_NOT_ASSIGNABLE,
+  StaticWarningCode.MAP_VALUE_TYPE_NOT_ASSIGNABLE,
+  StaticWarningCode.MISMATCHED_GETTER_AND_SETTER_TYPES,
+  StaticWarningCode.MISMATCHED_GETTER_AND_SETTER_TYPES_FROM_SUPERTYPE,
+  StaticWarningCode.MISSING_ENUM_CONSTANT_IN_SWITCH,
+  StaticWarningCode.MIXED_RETURN_TYPES,
+  StaticWarningCode.NEW_WITH_ABSTRACT_CLASS,
+  StaticWarningCode.NEW_WITH_INVALID_TYPE_PARAMETERS,
+  StaticWarningCode.NEW_WITH_NON_TYPE,
+  StaticWarningCode.NEW_WITH_UNDEFINED_CONSTRUCTOR,
+  StaticWarningCode.NEW_WITH_UNDEFINED_CONSTRUCTOR_DEFAULT,
+  StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_FIVE_PLUS,
+  StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_FOUR,
+  StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE,
+  StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_THREE,
+  StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_TWO,
+  StaticWarningCode.NON_TYPE_IN_CATCH_CLAUSE,
+  StaticWarningCode.NON_VOID_RETURN_FOR_OPERATOR,
+  StaticWarningCode.NON_VOID_RETURN_FOR_SETTER,
+  StaticWarningCode.NOT_A_TYPE,
+  StaticWarningCode.NOT_ENOUGH_REQUIRED_ARGUMENTS,
+  StaticWarningCode.PART_OF_DIFFERENT_LIBRARY,
+  StaticWarningCode.REDIRECT_TO_INVALID_FUNCTION_TYPE,
+  StaticWarningCode.REDIRECT_TO_INVALID_RETURN_TYPE,
+  StaticWarningCode.REDIRECT_TO_MISSING_CONSTRUCTOR,
+  StaticWarningCode.REDIRECT_TO_NON_CLASS,
+  StaticWarningCode.RETURN_WITHOUT_VALUE,
+  StaticWarningCode.STATIC_ACCESS_TO_INSTANCE_MEMBER,
+  StaticWarningCode.SWITCH_EXPRESSION_NOT_ASSIGNABLE,
+  StaticWarningCode.TYPE_ANNOTATION_DEFERRED_CLASS,
+  StaticWarningCode.TYPE_PARAMETER_REFERENCED_BY_STATIC,
+  StaticWarningCode.TYPE_TEST_WITH_NON_TYPE,
+  StaticWarningCode.TYPE_TEST_WITH_UNDEFINED_NAME,
+  StaticWarningCode.UNDEFINED_CLASS,
+  StaticWarningCode.UNDEFINED_CLASS_BOOLEAN,
+  StaticWarningCode.UNDEFINED_GETTER,
+  StaticWarningCode.UNDEFINED_IDENTIFIER,
+  StaticWarningCode.UNDEFINED_IDENTIFIER_AWAIT,
+  StaticWarningCode.UNDEFINED_NAMED_PARAMETER,
+  StaticWarningCode.UNDEFINED_SETTER,
+  StaticWarningCode.UNDEFINED_STATIC_METHOD_OR_GETTER,
+  StaticWarningCode.UNDEFINED_SUPER_GETTER,
+  StaticWarningCode.UNDEFINED_SUPER_SETTER,
+  StaticWarningCode.VOID_RETURN_FOR_GETTER,
+  StrongModeCode.ASSIGNMENT_CAST,
+  StrongModeCode.COULD_NOT_INFER,
+  StrongModeCode.DOWN_CAST_COMPOSITE,
+  StrongModeCode.DOWN_CAST_IMPLICIT,
+  StrongModeCode.DOWN_CAST_IMPLICIT_ASSIGN,
+  StrongModeCode.DYNAMIC_CAST,
+  StrongModeCode.DYNAMIC_INVOKE,
+  StrongModeCode.IMPLICIT_DYNAMIC_FIELD,
+  StrongModeCode.IMPLICIT_DYNAMIC_FUNCTION,
+  StrongModeCode.IMPLICIT_DYNAMIC_INVOKE,
+  StrongModeCode.IMPLICIT_DYNAMIC_LIST_LITERAL,
+  StrongModeCode.IMPLICIT_DYNAMIC_MAP_LITERAL,
+  StrongModeCode.IMPLICIT_DYNAMIC_METHOD,
+  StrongModeCode.IMPLICIT_DYNAMIC_PARAMETER,
+  StrongModeCode.IMPLICIT_DYNAMIC_RETURN,
+  StrongModeCode.IMPLICIT_DYNAMIC_TYPE,
+  StrongModeCode.IMPLICIT_DYNAMIC_VARIABLE,
+  StrongModeCode.INFERRED_TYPE,
+  StrongModeCode.INFERRED_TYPE_ALLOCATION,
+  StrongModeCode.INFERRED_TYPE_CLOSURE,
+  StrongModeCode.INFERRED_TYPE_LITERAL,
+  StrongModeCode.INVALID_CAST_LITERAL,
+  StrongModeCode.INVALID_CAST_LITERAL_LIST,
+  StrongModeCode.INVALID_CAST_LITERAL_MAP,
+  StrongModeCode.INVALID_CAST_FUNCTION_EXPR,
+  StrongModeCode.INVALID_CAST_NEW_EXPR,
+  StrongModeCode.INVALID_CAST_METHOD,
+  StrongModeCode.INVALID_CAST_FUNCTION,
+  StrongModeCode.INVALID_FIELD_OVERRIDE,
+  StrongModeCode.INVALID_METHOD_OVERRIDE,
+  StrongModeCode.INVALID_METHOD_OVERRIDE_FROM_BASE,
+  StrongModeCode.INVALID_METHOD_OVERRIDE_FROM_MIXIN,
+  StrongModeCode.INVALID_PARAMETER_DECLARATION,
+  StrongModeCode.INVALID_SUPER_INVOCATION,
+  StrongModeCode.NON_GROUND_TYPE_CHECK_INFO,
+  StrongModeCode.UNSAFE_BLOCK_CLOSURE_INFERENCE,
+  TodoCode.TODO,
+];
+
+/**
+ * The lazy initialized map from [ErrorCode.uniqueName] to the [ErrorCode]
+ * instance.
+ */
+HashMap<String, ErrorCode> _uniqueNameToCodeMap;
+
+/**
+ * Return the [ErrorCode] with the given [uniqueName], or `null` if not
+ * found.
+ */
+ErrorCode errorCodeByUniqueName(String uniqueName) {
+  if (_uniqueNameToCodeMap == null) {
+    _uniqueNameToCodeMap = new HashMap<String, ErrorCode>();
+    for (ErrorCode errorCode in errorCodeValues) {
+      _uniqueNameToCodeMap[errorCode.uniqueName] = errorCode;
+    }
+  }
+  return _uniqueNameToCodeMap[uniqueName];
+}
 
 /**
  * An error discovered during the analysis of some Dart code.
@@ -231,732 +853,6 @@
 }
 
 /**
- * An error code associated with an [AnalysisError].
- *
- * Generally, we want to provide messages that consist of three sentences. From
- * the user's perspective these sentences should explain:
- *
- * 1. what is wrong,
- * 2. why is it wrong, and
- * 3. how do I fix it.
- *
- * However, we combine the first two in the [message] and the last in the
- * [correction].
- *
- * When composing messages (including correction messages) keep the following
- * guidelines in mind.
- *
- * 1. The message should be a complete sentence starting with an uppercase
- * letter, and ending with a period.
- *
- * 2. Reserved words and embedded identifiers should be in single quotes, so
- * prefer double quotes for the complete message. For example,
- * ```
- * "The class '{0}' can't use 'super'."
- * ```
- * Notice that the word 'class' in the preceding message is not quoted as it
- * refers to the concept 'class', not the reserved word. On the other hand,
- * 'super' refers to the reserved word. Do not quote 'null' and numeric literals.
- *
- * 3. Do not try to compose messages, as it can make translating them hard.
- *
- * 4. Try to keep the error messages short, but informative.
- *
- * 5. Use simple words and terminology, assume the reader of the message doesn't
- * have an advanced degree in math, and that English is not the reader's native
- * language. Do not assume any formal computer science training. For example, do
- * not use Latin abbreviations (prefer "that is" over "i.e.", and "for example"
- * over "e.g."). Also avoid phrases such as "if and only if" and "iff"; that
- * level of precision is unnecessary.
- *
- * 6. Prefer contractions when they are in common use, for example, prefer
- * "can't" over "cannot". Using "cannot", "must not", "shall not", etc. is
- * off-putting to people new to programming.
- *
- * 7. Use common terminology, preferably from the Dart Language Specification.
- * This increases the user's chance of finding a good explanation on the web.
- *
- * 8. Do not try to be cute or funny. It is extremely frustrating to work on a
- * product that crashes with a "tongue-in-cheek" message, especially if you did
- * not want to use this product to begin with.
- *
- * 9. Do not lie, that is, do not write error messages containing phrases like
- * "can't happen".  If the user ever saw this message, it would be a lie. Prefer
- * messages like: "Internal error: This function should not be called when 'x'
- * is null.".
- *
- * 10. Prefer to not use the imperative tone. That is, the message should not
- * sound accusing or like it is ordering the user around. The computer should
- * describe the problem, not criticize the user for violating the specification.
- */
-abstract class ErrorCode {
-  /**
-   * Engine error code values.
-   */
-  static const List<ErrorCode> values = const [
-    //
-    // Manually generated. You can mostly reproduce this list by running the
-    // following command from the root of the analyzer package:
-    //
-    // > cat
-    //       lib/src/analysis_options/error/option_codes.dart';
-    //       lib/src/dart/error/hint_codes.dart';
-    //       lib/src/dart/error/lint_codes.dart';
-    //       lib/src/dart/error/todo_codes.dart';
-    //       lib/src/html/error/html_codes.dart';
-    //       lib/src/dart/error/syntactic_errors.dart
-    //       lib/src/error/codes.dart |
-    //     grep 'static const .*Code' |
-    //     awk '{print $3"."$4","}' |
-    //     sort > codes.txt
-    //
-    // There are a few error codes that are wrapped such that the name of the
-    // error code in on the line following the pattern we're grepping for. Those
-    // need to be filled in by hand.
-    //
-    AnalysisOptionsErrorCode.PARSE_ERROR,
-    AnalysisOptionsWarningCode.UNRECOGNIZED_ERROR_CODE,
-    AnalysisOptionsWarningCode.UNSUPPORTED_OPTION_WITH_LEGAL_VALUE,
-    AnalysisOptionsWarningCode.UNSUPPORTED_OPTION_WITH_LEGAL_VALUES,
-    AnalysisOptionsWarningCode.UNSUPPORTED_VALUE,
-    CheckedModeCompileTimeErrorCode.CONST_CONSTRUCTOR_FIELD_TYPE_MISMATCH,
-    CheckedModeCompileTimeErrorCode.CONST_CONSTRUCTOR_PARAM_TYPE_MISMATCH,
-    CheckedModeCompileTimeErrorCode.CONST_FIELD_INITIALIZER_NOT_ASSIGNABLE,
-    CheckedModeCompileTimeErrorCode.LIST_ELEMENT_TYPE_NOT_ASSIGNABLE,
-    CheckedModeCompileTimeErrorCode.MAP_KEY_TYPE_NOT_ASSIGNABLE,
-    CheckedModeCompileTimeErrorCode.MAP_VALUE_TYPE_NOT_ASSIGNABLE,
-    CheckedModeCompileTimeErrorCode.VARIABLE_TYPE_MISMATCH,
-    CompileTimeErrorCode.ACCESS_PRIVATE_ENUM_FIELD,
-    CompileTimeErrorCode.AMBIGUOUS_EXPORT,
-    CompileTimeErrorCode.ANNOTATION_WITH_NON_CLASS,
-    CompileTimeErrorCode.ARGUMENT_DEFINITION_TEST_NON_PARAMETER,
-    CompileTimeErrorCode.ASYNC_FOR_IN_WRONG_CONTEXT,
-    CompileTimeErrorCode.AWAIT_IN_WRONG_CONTEXT,
-    CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPE,
-    CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPEDEF_NAME,
-    CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPE_NAME,
-    CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPE_PARAMETER_NAME,
-    CompileTimeErrorCode.CASE_EXPRESSION_TYPE_IMPLEMENTS_EQUALS,
-    CompileTimeErrorCode.CONFLICTING_CONSTRUCTOR_NAME_AND_FIELD,
-    CompileTimeErrorCode.CONFLICTING_CONSTRUCTOR_NAME_AND_METHOD,
-    CompileTimeErrorCode.CONFLICTING_GETTER_AND_METHOD,
-    CompileTimeErrorCode.CONFLICTING_METHOD_AND_GETTER,
-    CompileTimeErrorCode.CONFLICTING_TYPE_VARIABLE_AND_CLASS,
-    CompileTimeErrorCode.CONFLICTING_TYPE_VARIABLE_AND_MEMBER,
-    CompileTimeErrorCode.CONST_CONSTRUCTOR_THROWS_EXCEPTION,
-    CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_FIELD_INITIALIZED_BY_NON_CONST,
-    CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_MIXIN,
-    CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_NON_CONST_SUPER,
-    CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_NON_FINAL_FIELD,
-    CompileTimeErrorCode.CONST_DEFERRED_CLASS,
-    CompileTimeErrorCode.CONST_EVAL_THROWS_EXCEPTION,
-    CompileTimeErrorCode.CONST_EVAL_THROWS_IDBZE,
-    CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL,
-    CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL_NUM_STRING,
-    CompileTimeErrorCode.CONST_EVAL_TYPE_INT,
-    CompileTimeErrorCode.CONST_EVAL_TYPE_NUM,
-    CompileTimeErrorCode.CONST_FORMAL_PARAMETER,
-    CompileTimeErrorCode.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE,
-    CompileTimeErrorCode
-        .CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE_FROM_DEFERRED_LIBRARY,
-    CompileTimeErrorCode.CONST_INSTANCE_FIELD,
-    CompileTimeErrorCode.CONST_MAP_KEY_EXPRESSION_TYPE_IMPLEMENTS_EQUALS,
-    CompileTimeErrorCode.CONST_NOT_INITIALIZED,
-    CompileTimeErrorCode.CONST_WITH_INVALID_TYPE_PARAMETERS,
-    CompileTimeErrorCode.CONST_WITH_NON_CONST,
-    CompileTimeErrorCode.CONST_WITH_NON_CONSTANT_ARGUMENT,
-    CompileTimeErrorCode.CONST_WITH_NON_TYPE,
-    CompileTimeErrorCode.CONST_WITH_TYPE_PARAMETERS,
-    CompileTimeErrorCode.CONST_WITH_UNDEFINED_CONSTRUCTOR,
-    CompileTimeErrorCode.CONST_WITH_UNDEFINED_CONSTRUCTOR_DEFAULT,
-    CompileTimeErrorCode.DEFAULT_VALUE_IN_FUNCTION_TYPED_PARAMETER,
-    CompileTimeErrorCode.DEFAULT_VALUE_IN_FUNCTION_TYPE_ALIAS,
-    CompileTimeErrorCode.DEFAULT_VALUE_IN_REDIRECTING_FACTORY_CONSTRUCTOR,
-    CompileTimeErrorCode.DUPLICATE_CONSTRUCTOR_DEFAULT,
-    CompileTimeErrorCode.DUPLICATE_CONSTRUCTOR_NAME,
-    CompileTimeErrorCode.DUPLICATE_DEFINITION,
-    CompileTimeErrorCode.DUPLICATE_DEFINITION_INHERITANCE,
-    CompileTimeErrorCode.DUPLICATE_NAMED_ARGUMENT,
-    CompileTimeErrorCode.DUPLICATE_PART,
-    CompileTimeErrorCode.EXPORT_INTERNAL_LIBRARY,
-    CompileTimeErrorCode.EXPORT_OF_NON_LIBRARY,
-    CompileTimeErrorCode.EXTENDS_DEFERRED_CLASS,
-    CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS,
-    CompileTimeErrorCode.EXTENDS_ENUM,
-    CompileTimeErrorCode.EXTENDS_NON_CLASS,
-    CompileTimeErrorCode.EXTRA_ARGUMENT_TO_ASSERT,
-    CompileTimeErrorCode.EXTRA_POSITIONAL_ARGUMENTS,
-    CompileTimeErrorCode.FIELD_INITIALIZED_BY_MULTIPLE_INITIALIZERS,
-    CompileTimeErrorCode.FIELD_INITIALIZED_IN_PARAMETER_AND_INITIALIZER,
-    CompileTimeErrorCode.FIELD_INITIALIZER_FACTORY_CONSTRUCTOR,
-    CompileTimeErrorCode.FIELD_INITIALIZER_OUTSIDE_CONSTRUCTOR,
-    CompileTimeErrorCode.FIELD_INITIALIZER_REDIRECTING_CONSTRUCTOR,
-    CompileTimeErrorCode.FINAL_INITIALIZED_MULTIPLE_TIMES,
-    CompileTimeErrorCode.GETTER_AND_METHOD_WITH_SAME_NAME,
-    CompileTimeErrorCode.IMPLEMENTS_DEFERRED_CLASS,
-    CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS,
-    CompileTimeErrorCode.IMPLEMENTS_DYNAMIC,
-    CompileTimeErrorCode.IMPLEMENTS_ENUM,
-    CompileTimeErrorCode.IMPLEMENTS_NON_CLASS,
-    CompileTimeErrorCode.IMPLEMENTS_REPEATED,
-    CompileTimeErrorCode.IMPLEMENTS_SUPER_CLASS,
-    CompileTimeErrorCode.IMPLICIT_THIS_REFERENCE_IN_INITIALIZER,
-    CompileTimeErrorCode.IMPORT_INTERNAL_LIBRARY,
-    CompileTimeErrorCode.IMPORT_OF_NON_LIBRARY,
-    CompileTimeErrorCode.INCONSISTENT_CASE_EXPRESSION_TYPES,
-    CompileTimeErrorCode.INITIALIZER_FOR_NON_EXISTENT_FIELD,
-    CompileTimeErrorCode.INITIALIZER_FOR_STATIC_FIELD,
-    CompileTimeErrorCode.INITIALIZING_FORMAL_FOR_NON_EXISTENT_FIELD,
-    CompileTimeErrorCode.INITIALIZING_FORMAL_FOR_STATIC_FIELD,
-    CompileTimeErrorCode.INSTANCE_MEMBER_ACCESS_FROM_FACTORY,
-    CompileTimeErrorCode.INSTANCE_MEMBER_ACCESS_FROM_STATIC,
-    CompileTimeErrorCode.INSTANTIATE_ENUM,
-    CompileTimeErrorCode.INVALID_ANNOTATION,
-    CompileTimeErrorCode.INVALID_ANNOTATION_FROM_DEFERRED_LIBRARY,
-    CompileTimeErrorCode.INVALID_CONSTANT,
-    CompileTimeErrorCode.INVALID_CONSTRUCTOR_NAME,
-    CompileTimeErrorCode.INVALID_FACTORY_NAME_NOT_A_CLASS,
-    CompileTimeErrorCode.INVALID_IDENTIFIER_IN_ASYNC,
-    CompileTimeErrorCode.INVALID_MODIFIER_ON_CONSTRUCTOR,
-    CompileTimeErrorCode.INVALID_MODIFIER_ON_SETTER,
-    CompileTimeErrorCode.INVALID_REFERENCE_TO_THIS,
-    CompileTimeErrorCode.INVALID_TYPE_ARGUMENT_IN_CONST_LIST,
-    CompileTimeErrorCode.INVALID_TYPE_ARGUMENT_IN_CONST_MAP,
-    CompileTimeErrorCode.INVALID_URI,
-    CompileTimeErrorCode.LABEL_IN_OUTER_SCOPE,
-    CompileTimeErrorCode.LABEL_UNDEFINED,
-    CompileTimeErrorCode.MEMBER_WITH_CLASS_NAME,
-    CompileTimeErrorCode.METHOD_AND_GETTER_WITH_SAME_NAME,
-    CompileTimeErrorCode.MISSING_CONST_IN_LIST_LITERAL,
-    CompileTimeErrorCode.MISSING_CONST_IN_MAP_LITERAL,
-    CompileTimeErrorCode.MIXIN_DECLARES_CONSTRUCTOR,
-    CompileTimeErrorCode.MIXIN_DEFERRED_CLASS,
-    CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS,
-    CompileTimeErrorCode.MIXIN_INHERITS_FROM_NOT_OBJECT,
-    CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS,
-    CompileTimeErrorCode.MIXIN_OF_ENUM,
-    CompileTimeErrorCode.MIXIN_OF_NON_CLASS,
-    CompileTimeErrorCode.MIXIN_REFERENCES_SUPER,
-    CompileTimeErrorCode.MIXIN_WITH_NON_CLASS_SUPERCLASS,
-    CompileTimeErrorCode.MULTIPLE_REDIRECTING_CONSTRUCTOR_INVOCATIONS,
-    CompileTimeErrorCode.MULTIPLE_SUPER_INITIALIZERS,
-    CompileTimeErrorCode.NON_CONSTANT_ANNOTATION_CONSTRUCTOR,
-    CompileTimeErrorCode.NON_CONSTANT_CASE_EXPRESSION,
-    CompileTimeErrorCode.NON_CONSTANT_CASE_EXPRESSION_FROM_DEFERRED_LIBRARY,
-    CompileTimeErrorCode.NON_CONSTANT_DEFAULT_VALUE,
-    CompileTimeErrorCode.NON_CONSTANT_DEFAULT_VALUE_FROM_DEFERRED_LIBRARY,
-    CompileTimeErrorCode.NON_CONSTANT_LIST_ELEMENT,
-    CompileTimeErrorCode.NON_CONSTANT_LIST_ELEMENT_FROM_DEFERRED_LIBRARY,
-    CompileTimeErrorCode.NON_CONSTANT_MAP_KEY,
-    CompileTimeErrorCode.NON_CONSTANT_MAP_KEY_FROM_DEFERRED_LIBRARY,
-    CompileTimeErrorCode.NON_CONSTANT_MAP_VALUE,
-    CompileTimeErrorCode.NON_CONSTANT_MAP_VALUE_FROM_DEFERRED_LIBRARY,
-    CompileTimeErrorCode.NON_CONSTANT_VALUE_IN_INITIALIZER,
-    CompileTimeErrorCode
-        .NON_CONSTANT_VALUE_IN_INITIALIZER_FROM_DEFERRED_LIBRARY,
-    CompileTimeErrorCode.NON_CONST_MAP_AS_EXPRESSION_STATEMENT,
-    CompileTimeErrorCode.NON_GENERATIVE_CONSTRUCTOR,
-    CompileTimeErrorCode.NOT_ENOUGH_REQUIRED_ARGUMENTS,
-    CompileTimeErrorCode.NO_ANNOTATION_CONSTRUCTOR_ARGUMENTS,
-    CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_EXPLICIT,
-    CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT,
-    CompileTimeErrorCode.OBJECT_CANNOT_EXTEND_ANOTHER_CLASS,
-    CompileTimeErrorCode.OPTIONAL_PARAMETER_IN_OPERATOR,
-    CompileTimeErrorCode.PART_OF_NON_PART,
-    CompileTimeErrorCode.PREFIX_COLLIDES_WITH_TOP_LEVEL_MEMBER,
-    CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT,
-    CompileTimeErrorCode.PRIVATE_OPTIONAL_PARAMETER,
-    CompileTimeErrorCode.RECURSIVE_COMPILE_TIME_CONSTANT,
-    CompileTimeErrorCode.RECURSIVE_CONSTRUCTOR_REDIRECT,
-    CompileTimeErrorCode.RECURSIVE_FACTORY_REDIRECT,
-    CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE,
-    CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_BASE_CASE_EXTENDS,
-    CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_BASE_CASE_IMPLEMENTS,
-    CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_BASE_CASE_WITH,
-    CompileTimeErrorCode.REDIRECT_GENERATIVE_TO_MISSING_CONSTRUCTOR,
-    CompileTimeErrorCode.REDIRECT_GENERATIVE_TO_NON_GENERATIVE_CONSTRUCTOR,
-    CompileTimeErrorCode.REDIRECT_TO_MISSING_CONSTRUCTOR,
-    CompileTimeErrorCode.REDIRECT_TO_NON_CLASS,
-    CompileTimeErrorCode.REDIRECT_TO_NON_CONST_CONSTRUCTOR,
-    CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION,
-    CompileTimeErrorCode.RETHROW_OUTSIDE_CATCH,
-    CompileTimeErrorCode.RETURN_IN_GENERATIVE_CONSTRUCTOR,
-    CompileTimeErrorCode.RETURN_IN_GENERATOR,
-    CompileTimeErrorCode.SHARED_DEFERRED_PREFIX,
-    CompileTimeErrorCode.SUPER_INITIALIZER_IN_OBJECT,
-    CompileTimeErrorCode.SUPER_IN_INVALID_CONTEXT,
-    CompileTimeErrorCode.SUPER_IN_REDIRECTING_CONSTRUCTOR,
-    CompileTimeErrorCode.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF,
-    CompileTimeErrorCode.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS,
-    CompileTimeErrorCode.UNDEFINED_CLASS,
-    CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER,
-    CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER_DEFAULT,
-    CompileTimeErrorCode.UNDEFINED_NAMED_PARAMETER,
-    CompileTimeErrorCode.URI_DOES_NOT_EXIST,
-    CompileTimeErrorCode.URI_HAS_NOT_BEEN_GENERATED,
-    CompileTimeErrorCode.URI_WITH_INTERPOLATION,
-    CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_OPERATOR,
-    CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_OPERATOR_MINUS,
-    CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER,
-    CompileTimeErrorCode.YIELD_EACH_IN_NON_GENERATOR,
-    CompileTimeErrorCode.YIELD_IN_NON_GENERATOR,
-    HintCode.ABSTRACT_SUPER_MEMBER_REFERENCE,
-    HintCode.ARGUMENT_TYPE_NOT_ASSIGNABLE,
-    HintCode.CAN_BE_NULL_AFTER_NULL_AWARE,
-    HintCode.DEAD_CODE,
-    HintCode.DEAD_CODE_CATCH_FOLLOWING_CATCH,
-    HintCode.DEAD_CODE_ON_CATCH_SUBTYPE,
-    HintCode.DEPRECATED_MEMBER_USE,
-    HintCode.DIVISION_OPTIMIZATION,
-    HintCode.DUPLICATE_IMPORT,
-    HintCode.FILE_IMPORT_INSIDE_LIB_REFERENCES_FILE_OUTSIDE,
-    HintCode.FILE_IMPORT_OUTSIDE_LIB_REFERENCES_FILE_INSIDE,
-    HintCode.IMPORT_DEFERRED_LIBRARY_WITH_LOAD_FUNCTION,
-    HintCode.INVALID_ASSIGNMENT,
-    HintCode.INVALID_FACTORY_ANNOTATION,
-    HintCode.INVALID_FACTORY_METHOD_DECL,
-    HintCode.INVALID_FACTORY_METHOD_IMPL,
-    HintCode.INVALID_USE_OF_PROTECTED_MEMBER,
-    HintCode.IS_DOUBLE,
-    HintCode.IS_INT,
-    HintCode.IS_NOT_DOUBLE,
-    HintCode.IS_NOT_INT,
-    HintCode.MISSING_JS_LIB_ANNOTATION,
-    HintCode.MISSING_REQUIRED_PARAM,
-    HintCode.MISSING_REQUIRED_PARAM_WITH_DETAILS,
-    HintCode.MISSING_RETURN,
-    HintCode.MUST_CALL_SUPER,
-    HintCode.NULL_AWARE_IN_CONDITION,
-    HintCode.OVERRIDE_EQUALS_BUT_NOT_HASH_CODE,
-    HintCode.OVERRIDE_ON_NON_OVERRIDING_FIELD,
-    HintCode.OVERRIDE_ON_NON_OVERRIDING_GETTER,
-    HintCode.OVERRIDE_ON_NON_OVERRIDING_METHOD,
-    HintCode.OVERRIDE_ON_NON_OVERRIDING_SETTER,
-    HintCode.PACKAGE_IMPORT_CONTAINS_DOT_DOT,
-    HintCode.TYPE_CHECK_IS_NOT_NULL,
-    HintCode.TYPE_CHECK_IS_NULL,
-    HintCode.UNDEFINED_GETTER,
-    HintCode.UNDEFINED_HIDDEN_NAME,
-    HintCode.UNDEFINED_METHOD,
-    HintCode.UNDEFINED_OPERATOR,
-    HintCode.UNDEFINED_SETTER,
-    HintCode.UNDEFINED_SHOWN_NAME,
-    HintCode.UNNECESSARY_CAST,
-    HintCode.UNNECESSARY_NO_SUCH_METHOD,
-    HintCode.UNNECESSARY_TYPE_CHECK_FALSE,
-    HintCode.UNNECESSARY_TYPE_CHECK_TRUE,
-    HintCode.UNUSED_CATCH_CLAUSE,
-    HintCode.UNUSED_CATCH_STACK,
-    HintCode.UNUSED_ELEMENT,
-    HintCode.UNUSED_FIELD,
-    HintCode.UNUSED_IMPORT,
-    HintCode.UNUSED_LOCAL_VARIABLE,
-    HintCode.UNUSED_SHOWN_NAME,
-    HintCode.USE_OF_VOID_RESULT,
-    HtmlErrorCode.PARSE_ERROR,
-    HtmlWarningCode.INVALID_URI,
-    HtmlWarningCode.URI_DOES_NOT_EXIST,
-    ParserErrorCode.ABSTRACT_CLASS_MEMBER,
-    ParserErrorCode.ABSTRACT_ENUM,
-    ParserErrorCode.ABSTRACT_STATIC_METHOD,
-    ParserErrorCode.ABSTRACT_TOP_LEVEL_FUNCTION,
-    ParserErrorCode.ABSTRACT_TOP_LEVEL_VARIABLE,
-    ParserErrorCode.ABSTRACT_TYPEDEF,
-    ParserErrorCode.ANNOTATION_ON_ENUM_CONSTANT,
-    ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER,
-    ParserErrorCode.BREAK_OUTSIDE_OF_LOOP,
-    ParserErrorCode.CLASS_IN_CLASS,
-    ParserErrorCode.COLON_IN_PLACE_OF_IN,
-    ParserErrorCode.CONSTRUCTOR_WITH_RETURN_TYPE,
-    ParserErrorCode.CONST_AND_FINAL,
-    ParserErrorCode.CONST_AND_VAR,
-    ParserErrorCode.CONST_CLASS,
-    ParserErrorCode.CONST_CONSTRUCTOR_WITH_BODY,
-    ParserErrorCode.CONST_ENUM,
-    ParserErrorCode.CONST_FACTORY,
-    ParserErrorCode.CONST_METHOD,
-    ParserErrorCode.CONST_TYPEDEF,
-    ParserErrorCode.CONTINUE_OUTSIDE_OF_LOOP,
-    ParserErrorCode.CONTINUE_WITHOUT_LABEL_IN_CASE,
-    ParserErrorCode.DEPRECATED_CLASS_TYPE_ALIAS,
-    ParserErrorCode.DIRECTIVE_AFTER_DECLARATION,
-    ParserErrorCode.DUPLICATED_MODIFIER,
-    ParserErrorCode.DUPLICATE_LABEL_IN_SWITCH_STATEMENT,
-    ParserErrorCode.EMPTY_ENUM_BODY,
-    ParserErrorCode.ENUM_IN_CLASS,
-    ParserErrorCode.EQUALITY_CANNOT_BE_EQUALITY_OPERAND,
-    ParserErrorCode.EXPECTED_CASE_OR_DEFAULT,
-    ParserErrorCode.EXPECTED_CLASS_MEMBER,
-    ParserErrorCode.EXPECTED_EXECUTABLE,
-    ParserErrorCode.EXPECTED_LIST_OR_MAP_LITERAL,
-    ParserErrorCode.EXPECTED_STRING_LITERAL,
-    ParserErrorCode.EXPECTED_TOKEN,
-    ParserErrorCode.EXPECTED_TYPE_NAME,
-    ParserErrorCode.EXPORT_DIRECTIVE_AFTER_PART_DIRECTIVE,
-    ParserErrorCode.EXTERNAL_AFTER_CONST,
-    ParserErrorCode.EXTERNAL_AFTER_FACTORY,
-    ParserErrorCode.EXTERNAL_AFTER_STATIC,
-    ParserErrorCode.EXTERNAL_CLASS,
-    ParserErrorCode.EXTERNAL_CONSTRUCTOR_WITH_BODY,
-    ParserErrorCode.EXTERNAL_ENUM,
-    ParserErrorCode.EXTERNAL_FIELD,
-    ParserErrorCode.EXTERNAL_GETTER_WITH_BODY,
-    ParserErrorCode.EXTERNAL_METHOD_WITH_BODY,
-    ParserErrorCode.EXTERNAL_OPERATOR_WITH_BODY,
-    ParserErrorCode.EXTERNAL_SETTER_WITH_BODY,
-    ParserErrorCode.EXTERNAL_TYPEDEF,
-    ParserErrorCode.FACTORY_TOP_LEVEL_DECLARATION,
-    ParserErrorCode.FACTORY_WITHOUT_BODY,
-    ParserErrorCode.FACTORY_WITH_INITIALIZERS,
-    ParserErrorCode.FIELD_INITIALIZER_OUTSIDE_CONSTRUCTOR,
-    ParserErrorCode.FINAL_AND_VAR,
-    ParserErrorCode.FINAL_CLASS,
-    ParserErrorCode.FINAL_CONSTRUCTOR,
-    ParserErrorCode.FINAL_ENUM,
-    ParserErrorCode.FINAL_METHOD,
-    ParserErrorCode.FINAL_TYPEDEF,
-    ParserErrorCode.FUNCTION_TYPED_PARAMETER_VAR,
-    ParserErrorCode.GETTER_IN_FUNCTION,
-    ParserErrorCode.GETTER_WITH_PARAMETERS,
-    ParserErrorCode.ILLEGAL_ASSIGNMENT_TO_NON_ASSIGNABLE,
-    ParserErrorCode.IMPLEMENTS_BEFORE_EXTENDS,
-    ParserErrorCode.IMPLEMENTS_BEFORE_WITH,
-    ParserErrorCode.IMPORT_DIRECTIVE_AFTER_PART_DIRECTIVE,
-    ParserErrorCode.INITIALIZED_VARIABLE_IN_FOR_EACH,
-    ParserErrorCode.INVALID_AWAIT_IN_FOR,
-    ParserErrorCode.INVALID_CODE_POINT,
-    ParserErrorCode.INVALID_COMMENT_REFERENCE,
-    ParserErrorCode.INVALID_HEX_ESCAPE,
-    ParserErrorCode.INVALID_LITERAL_IN_CONFIGURATION,
-    ParserErrorCode.INVALID_OPERATOR,
-    ParserErrorCode.INVALID_OPERATOR_FOR_SUPER,
-    ParserErrorCode.INVALID_STAR_AFTER_ASYNC,
-    ParserErrorCode.INVALID_SYNC,
-    ParserErrorCode.INVALID_UNICODE_ESCAPE,
-    ParserErrorCode.LIBRARY_DIRECTIVE_NOT_FIRST,
-    ParserErrorCode.LOCAL_FUNCTION_DECLARATION_MODIFIER,
-    ParserErrorCode.MISSING_ASSIGNABLE_SELECTOR,
-    ParserErrorCode.MISSING_ASSIGNMENT_IN_INITIALIZER,
-    ParserErrorCode.MISSING_CATCH_OR_FINALLY,
-    ParserErrorCode.MISSING_CLASS_BODY,
-    ParserErrorCode.MISSING_CLOSING_PARENTHESIS,
-    ParserErrorCode.MISSING_CONST_FINAL_VAR_OR_TYPE,
-    ParserErrorCode.MISSING_ENUM_BODY,
-    ParserErrorCode.MISSING_EXPRESSION_IN_INITIALIZER,
-    ParserErrorCode.MISSING_EXPRESSION_IN_THROW,
-    ParserErrorCode.MISSING_FUNCTION_BODY,
-    ParserErrorCode.MISSING_FUNCTION_PARAMETERS,
-    ParserErrorCode.MISSING_GET,
-    ParserErrorCode.MISSING_IDENTIFIER,
-    ParserErrorCode.MISSING_INITIALIZER,
-    ParserErrorCode.MISSING_KEYWORD_OPERATOR,
-    ParserErrorCode.MISSING_METHOD_PARAMETERS,
-    ParserErrorCode.MISSING_NAME_IN_LIBRARY_DIRECTIVE,
-    ParserErrorCode.MISSING_NAME_IN_PART_OF_DIRECTIVE,
-    ParserErrorCode.MISSING_PREFIX_IN_DEFERRED_IMPORT,
-    ParserErrorCode.MISSING_STAR_AFTER_SYNC,
-    ParserErrorCode.MISSING_STATEMENT,
-    ParserErrorCode.MISSING_TERMINATOR_FOR_PARAMETER_GROUP,
-    ParserErrorCode.MISSING_TYPEDEF_PARAMETERS,
-    ParserErrorCode.MISSING_VARIABLE_IN_FOR_EACH,
-    ParserErrorCode.MIXED_PARAMETER_GROUPS,
-    ParserErrorCode.MULTIPLE_EXTENDS_CLAUSES,
-    ParserErrorCode.MULTIPLE_IMPLEMENTS_CLAUSES,
-    ParserErrorCode.MULTIPLE_LIBRARY_DIRECTIVES,
-    ParserErrorCode.MULTIPLE_NAMED_PARAMETER_GROUPS,
-    ParserErrorCode.MULTIPLE_PART_OF_DIRECTIVES,
-    ParserErrorCode.MULTIPLE_POSITIONAL_PARAMETER_GROUPS,
-    ParserErrorCode.MULTIPLE_VARIABLES_IN_FOR_EACH,
-    ParserErrorCode.MULTIPLE_WITH_CLAUSES,
-    ParserErrorCode.NAMED_FUNCTION_EXPRESSION,
-    ParserErrorCode.NAMED_PARAMETER_OUTSIDE_GROUP,
-    ParserErrorCode.NATIVE_CLAUSE_IN_NON_SDK_CODE,
-    ParserErrorCode.NATIVE_FUNCTION_BODY_IN_NON_SDK_CODE,
-    ParserErrorCode.NON_CONSTRUCTOR_FACTORY,
-    ParserErrorCode.NON_IDENTIFIER_LIBRARY_NAME,
-    ParserErrorCode.NON_PART_OF_DIRECTIVE_IN_PART,
-    ParserErrorCode.NON_STRING_LITERAL_AS_URI,
-    ParserErrorCode.NON_USER_DEFINABLE_OPERATOR,
-    ParserErrorCode.NORMAL_BEFORE_OPTIONAL_PARAMETERS,
-    ParserErrorCode.NULLABLE_TYPE_IN_EXTENDS,
-    ParserErrorCode.NULLABLE_TYPE_IN_IMPLEMENTS,
-    ParserErrorCode.NULLABLE_TYPE_IN_WITH,
-    ParserErrorCode.NULLABLE_TYPE_PARAMETER,
-    ParserErrorCode.POSITIONAL_AFTER_NAMED_ARGUMENT,
-    ParserErrorCode.POSITIONAL_PARAMETER_OUTSIDE_GROUP,
-    ParserErrorCode.REDIRECTING_CONSTRUCTOR_WITH_BODY,
-    ParserErrorCode.REDIRECTION_IN_NON_FACTORY_CONSTRUCTOR,
-    ParserErrorCode.SETTER_IN_FUNCTION,
-    ParserErrorCode.STATIC_AFTER_CONST,
-    ParserErrorCode.STATIC_AFTER_FINAL,
-    ParserErrorCode.STATIC_AFTER_VAR,
-    ParserErrorCode.STATIC_CONSTRUCTOR,
-    ParserErrorCode.STATIC_GETTER_WITHOUT_BODY,
-    ParserErrorCode.STATIC_OPERATOR,
-    ParserErrorCode.STATIC_SETTER_WITHOUT_BODY,
-    ParserErrorCode.STATIC_TOP_LEVEL_DECLARATION,
-    ParserErrorCode.SWITCH_HAS_CASE_AFTER_DEFAULT_CASE,
-    ParserErrorCode.SWITCH_HAS_MULTIPLE_DEFAULT_CASES,
-    ParserErrorCode.TOP_LEVEL_OPERATOR,
-    ParserErrorCode.TYPEDEF_IN_CLASS,
-    ParserErrorCode.UNEXPECTED_TERMINATOR_FOR_PARAMETER_GROUP,
-    ParserErrorCode.UNEXPECTED_TOKEN,
-    ParserErrorCode.VAR_AND_TYPE,
-    ParserErrorCode.VAR_AS_TYPE_NAME,
-    ParserErrorCode.VAR_CLASS,
-    ParserErrorCode.VAR_ENUM,
-    ParserErrorCode.VAR_RETURN_TYPE,
-    ParserErrorCode.VAR_TYPEDEF,
-    ParserErrorCode.VOID_PARAMETER,
-    ParserErrorCode.VOID_VARIABLE,
-    ParserErrorCode.WITH_BEFORE_EXTENDS,
-    ParserErrorCode.WITH_WITHOUT_EXTENDS,
-    ParserErrorCode.WRONG_SEPARATOR_FOR_POSITIONAL_PARAMETER,
-    ParserErrorCode.WRONG_TERMINATOR_FOR_PARAMETER_GROUP,
-    ScannerErrorCode.ILLEGAL_CHARACTER,
-    ScannerErrorCode.MISSING_DIGIT,
-    ScannerErrorCode.MISSING_HEX_DIGIT,
-    ScannerErrorCode.MISSING_QUOTE,
-    ScannerErrorCode.UNABLE_GET_CONTENT,
-    ScannerErrorCode.UNTERMINATED_MULTI_LINE_COMMENT,
-    ScannerErrorCode.UNTERMINATED_STRING_LITERAL,
-    StaticTypeWarningCode.EXPECTED_ONE_LIST_TYPE_ARGUMENTS,
-    StaticTypeWarningCode.EXPECTED_TWO_MAP_TYPE_ARGUMENTS,
-    StaticTypeWarningCode.FOR_IN_OF_INVALID_ELEMENT_TYPE,
-    StaticTypeWarningCode.FOR_IN_OF_INVALID_TYPE,
-    StaticTypeWarningCode.ILLEGAL_ASYNC_GENERATOR_RETURN_TYPE,
-    StaticTypeWarningCode.ILLEGAL_ASYNC_RETURN_TYPE,
-    StaticTypeWarningCode.ILLEGAL_SYNC_GENERATOR_RETURN_TYPE,
-    StaticTypeWarningCode.INCONSISTENT_METHOD_INHERITANCE,
-    StaticTypeWarningCode.INSTANCE_ACCESS_TO_STATIC_MEMBER,
-    StaticTypeWarningCode.INVALID_ASSIGNMENT,
-    StaticTypeWarningCode.INVOCATION_OF_NON_FUNCTION,
-    StaticTypeWarningCode.INVOCATION_OF_NON_FUNCTION_EXPRESSION,
-    StaticTypeWarningCode.NON_BOOL_CONDITION,
-    StaticTypeWarningCode.NON_BOOL_EXPRESSION,
-    StaticTypeWarningCode.NON_BOOL_NEGATION_EXPRESSION,
-    StaticTypeWarningCode.NON_BOOL_OPERAND,
-    StaticTypeWarningCode.NON_NULLABLE_FIELD_NOT_INITIALIZED,
-    StaticTypeWarningCode.NON_TYPE_AS_TYPE_ARGUMENT,
-    StaticTypeWarningCode.RETURN_OF_INVALID_TYPE,
-    StaticTypeWarningCode.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS,
-    StaticTypeWarningCode.TYPE_PARAMETER_SUPERTYPE_OF_ITS_BOUND,
-    StaticTypeWarningCode.UNDEFINED_ENUM_CONSTANT,
-    StaticTypeWarningCode.UNDEFINED_FUNCTION,
-    StaticTypeWarningCode.UNDEFINED_GETTER,
-    StaticTypeWarningCode.UNDEFINED_METHOD,
-    StaticTypeWarningCode.UNDEFINED_METHOD_WITH_CONSTRUCTOR,
-    StaticTypeWarningCode.UNDEFINED_OPERATOR,
-    StaticTypeWarningCode.UNDEFINED_SETTER,
-    StaticTypeWarningCode.UNDEFINED_SUPER_GETTER,
-    StaticTypeWarningCode.UNDEFINED_SUPER_METHOD,
-    StaticTypeWarningCode.UNDEFINED_SUPER_OPERATOR,
-    StaticTypeWarningCode.UNDEFINED_SUPER_SETTER,
-    StaticTypeWarningCode.UNQUALIFIED_REFERENCE_TO_NON_LOCAL_STATIC_MEMBER,
-    StaticTypeWarningCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS,
-    StaticTypeWarningCode.YIELD_OF_INVALID_TYPE,
-    StaticWarningCode.AMBIGUOUS_IMPORT,
-    StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE,
-    StaticWarningCode.ASSIGNMENT_TO_CONST,
-    StaticWarningCode.ASSIGNMENT_TO_FINAL,
-    StaticWarningCode.ASSIGNMENT_TO_FINAL_NO_SETTER,
-    StaticWarningCode.ASSIGNMENT_TO_FUNCTION,
-    StaticWarningCode.ASSIGNMENT_TO_METHOD,
-    StaticWarningCode.ASSIGNMENT_TO_TYPE,
-    StaticWarningCode.CASE_BLOCK_NOT_TERMINATED,
-    StaticWarningCode.CAST_TO_NON_TYPE,
-    StaticWarningCode.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER,
-    StaticWarningCode.CONFLICTING_DART_IMPORT,
-    StaticWarningCode.CONFLICTING_INSTANCE_GETTER_AND_SUPERCLASS_MEMBER,
-    StaticWarningCode.CONFLICTING_INSTANCE_METHOD_SETTER,
-    StaticWarningCode.CONFLICTING_INSTANCE_METHOD_SETTER2,
-    StaticWarningCode.CONFLICTING_INSTANCE_SETTER_AND_SUPERCLASS_MEMBER,
-    StaticWarningCode.CONFLICTING_STATIC_GETTER_AND_INSTANCE_SETTER,
-    StaticWarningCode.CONFLICTING_STATIC_SETTER_AND_INSTANCE_MEMBER,
-    StaticWarningCode.CONST_WITH_ABSTRACT_CLASS,
-    StaticWarningCode.EQUAL_KEYS_IN_MAP,
-    StaticWarningCode.EXPORT_DUPLICATED_LIBRARY_NAMED,
-    StaticWarningCode.EXTRA_POSITIONAL_ARGUMENTS,
-    StaticWarningCode.FIELD_INITIALIZED_IN_INITIALIZER_AND_DECLARATION,
-    StaticWarningCode.FINAL_INITIALIZED_IN_DECLARATION_AND_CONSTRUCTOR,
-    StaticWarningCode.FIELD_INITIALIZER_NOT_ASSIGNABLE,
-    StaticWarningCode.FIELD_INITIALIZING_FORMAL_NOT_ASSIGNABLE,
-    StaticWarningCode.FINAL_NOT_INITIALIZED,
-    StaticWarningCode.FINAL_NOT_INITIALIZED_CONSTRUCTOR_1,
-    StaticWarningCode.FINAL_NOT_INITIALIZED_CONSTRUCTOR_2,
-    StaticWarningCode.FINAL_NOT_INITIALIZED_CONSTRUCTOR_3_PLUS,
-    StaticWarningCode.FUNCTION_WITHOUT_CALL,
-    StaticWarningCode.IMPORT_DUPLICATED_LIBRARY_NAMED,
-    StaticWarningCode.IMPORT_OF_NON_LIBRARY,
-    StaticWarningCode.INCONSISTENT_METHOD_INHERITANCE_GETTER_AND_METHOD,
-    StaticWarningCode.INSTANCE_METHOD_NAME_COLLIDES_WITH_SUPERCLASS_STATIC,
-    StaticWarningCode.INVALID_GETTER_OVERRIDE_RETURN_TYPE,
-    StaticWarningCode.INVALID_METHOD_OVERRIDE_NAMED_PARAM_TYPE,
-    StaticWarningCode.INVALID_METHOD_OVERRIDE_NORMAL_PARAM_TYPE,
-    StaticWarningCode.INVALID_METHOD_OVERRIDE_OPTIONAL_PARAM_TYPE,
-    StaticWarningCode.INVALID_METHOD_OVERRIDE_RETURN_TYPE,
-    StaticWarningCode.INVALID_METHOD_OVERRIDE_TYPE_PARAMETERS,
-    StaticWarningCode.INVALID_METHOD_OVERRIDE_TYPE_PARAMETER_BOUND,
-    StaticWarningCode.INVALID_OVERRIDE_DIFFERENT_DEFAULT_VALUES_NAMED,
-    StaticWarningCode.INVALID_OVERRIDE_DIFFERENT_DEFAULT_VALUES_POSITIONAL,
-    StaticWarningCode.INVALID_OVERRIDE_NAMED,
-    StaticWarningCode.INVALID_OVERRIDE_POSITIONAL,
-    StaticWarningCode.INVALID_OVERRIDE_REQUIRED,
-    StaticWarningCode.INVALID_SETTER_OVERRIDE_NORMAL_PARAM_TYPE,
-    StaticWarningCode.LIST_ELEMENT_TYPE_NOT_ASSIGNABLE,
-    StaticWarningCode.MAP_KEY_TYPE_NOT_ASSIGNABLE,
-    StaticWarningCode.MAP_VALUE_TYPE_NOT_ASSIGNABLE,
-    StaticWarningCode.MISMATCHED_GETTER_AND_SETTER_TYPES,
-    StaticWarningCode.MISMATCHED_GETTER_AND_SETTER_TYPES_FROM_SUPERTYPE,
-    StaticWarningCode.MISSING_ENUM_CONSTANT_IN_SWITCH,
-    StaticWarningCode.MIXED_RETURN_TYPES,
-    StaticWarningCode.NEW_WITH_ABSTRACT_CLASS,
-    StaticWarningCode.NEW_WITH_INVALID_TYPE_PARAMETERS,
-    StaticWarningCode.NEW_WITH_NON_TYPE,
-    StaticWarningCode.NEW_WITH_UNDEFINED_CONSTRUCTOR,
-    StaticWarningCode.NEW_WITH_UNDEFINED_CONSTRUCTOR_DEFAULT,
-    StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_FIVE_PLUS,
-    StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_FOUR,
-    StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE,
-    StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_THREE,
-    StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_TWO,
-    StaticWarningCode.NON_TYPE_IN_CATCH_CLAUSE,
-    StaticWarningCode.NON_VOID_RETURN_FOR_OPERATOR,
-    StaticWarningCode.NON_VOID_RETURN_FOR_SETTER,
-    StaticWarningCode.NOT_A_TYPE,
-    StaticWarningCode.NOT_ENOUGH_REQUIRED_ARGUMENTS,
-    StaticWarningCode.PART_OF_DIFFERENT_LIBRARY,
-    StaticWarningCode.REDIRECT_TO_INVALID_FUNCTION_TYPE,
-    StaticWarningCode.REDIRECT_TO_INVALID_RETURN_TYPE,
-    StaticWarningCode.REDIRECT_TO_MISSING_CONSTRUCTOR,
-    StaticWarningCode.REDIRECT_TO_NON_CLASS,
-    StaticWarningCode.RETURN_WITHOUT_VALUE,
-    StaticWarningCode.STATIC_ACCESS_TO_INSTANCE_MEMBER,
-    StaticWarningCode.SWITCH_EXPRESSION_NOT_ASSIGNABLE,
-    StaticWarningCode.TYPE_ANNOTATION_DEFERRED_CLASS,
-    StaticWarningCode.TYPE_PARAMETER_REFERENCED_BY_STATIC,
-    StaticWarningCode.TYPE_TEST_WITH_NON_TYPE,
-    StaticWarningCode.TYPE_TEST_WITH_UNDEFINED_NAME,
-    StaticWarningCode.UNDEFINED_CLASS,
-    StaticWarningCode.UNDEFINED_CLASS_BOOLEAN,
-    StaticWarningCode.UNDEFINED_GETTER,
-    StaticWarningCode.UNDEFINED_IDENTIFIER,
-    StaticWarningCode.UNDEFINED_IDENTIFIER_AWAIT,
-    StaticWarningCode.UNDEFINED_NAMED_PARAMETER,
-    StaticWarningCode.UNDEFINED_SETTER,
-    StaticWarningCode.UNDEFINED_STATIC_METHOD_OR_GETTER,
-    StaticWarningCode.UNDEFINED_SUPER_GETTER,
-    StaticWarningCode.UNDEFINED_SUPER_SETTER,
-    StaticWarningCode.VOID_RETURN_FOR_GETTER,
-    StrongModeCode.ASSIGNMENT_CAST,
-    StrongModeCode.COULD_NOT_INFER,
-    StrongModeCode.DOWN_CAST_COMPOSITE,
-    StrongModeCode.DOWN_CAST_IMPLICIT,
-    StrongModeCode.DOWN_CAST_IMPLICIT_ASSIGN,
-    StrongModeCode.DYNAMIC_CAST,
-    StrongModeCode.DYNAMIC_INVOKE,
-    StrongModeCode.IMPLICIT_DYNAMIC_FIELD,
-    StrongModeCode.IMPLICIT_DYNAMIC_FUNCTION,
-    StrongModeCode.IMPLICIT_DYNAMIC_INVOKE,
-    StrongModeCode.IMPLICIT_DYNAMIC_LIST_LITERAL,
-    StrongModeCode.IMPLICIT_DYNAMIC_MAP_LITERAL,
-    StrongModeCode.IMPLICIT_DYNAMIC_METHOD,
-    StrongModeCode.IMPLICIT_DYNAMIC_PARAMETER,
-    StrongModeCode.IMPLICIT_DYNAMIC_RETURN,
-    StrongModeCode.IMPLICIT_DYNAMIC_TYPE,
-    StrongModeCode.IMPLICIT_DYNAMIC_VARIABLE,
-    StrongModeCode.INFERRED_TYPE,
-    StrongModeCode.INFERRED_TYPE_ALLOCATION,
-    StrongModeCode.INFERRED_TYPE_CLOSURE,
-    StrongModeCode.INFERRED_TYPE_LITERAL,
-    StrongModeCode.INVALID_CAST_LITERAL,
-    StrongModeCode.INVALID_CAST_LITERAL_LIST,
-    StrongModeCode.INVALID_CAST_LITERAL_MAP,
-    StrongModeCode.INVALID_CAST_FUNCTION_EXPR,
-    StrongModeCode.INVALID_CAST_NEW_EXPR,
-    StrongModeCode.INVALID_CAST_METHOD,
-    StrongModeCode.INVALID_CAST_FUNCTION,
-    StrongModeCode.INVALID_FIELD_OVERRIDE,
-    StrongModeCode.INVALID_METHOD_OVERRIDE,
-    StrongModeCode.INVALID_METHOD_OVERRIDE_FROM_BASE,
-    StrongModeCode.INVALID_METHOD_OVERRIDE_FROM_MIXIN,
-    StrongModeCode.INVALID_PARAMETER_DECLARATION,
-    StrongModeCode.INVALID_SUPER_INVOCATION,
-    StrongModeCode.NON_GROUND_TYPE_CHECK_INFO,
-    StrongModeCode.UNSAFE_BLOCK_CLOSURE_INFERENCE,
-    TodoCode.TODO,
-  ];
-
-  /**
-   * The lazy initialized map from [uniqueName] to the [ErrorCode] instance.
-   */
-  static HashMap<String, ErrorCode> _uniqueNameToCodeMap;
-
-  /**
-   * An empty list of error codes.
-   */
-  static const List<ErrorCode> EMPTY_LIST = const <ErrorCode>[];
-
-  /**
-   * The name of the error code.
-   */
-  final String name;
-
-  /**
-   * The template used to create the message to be displayed for this error. The
-   * message should indicate what is wrong and why it is wrong.
-   */
-  final String message;
-
-  /**
-   * The template used to create the correction to be displayed for this error,
-   * or `null` if there is no correction information for this error. The
-   * correction should indicate how the user can fix the error.
-   */
-  final String correction;
-
-  /**
-   * Initialize a newly created error code to have the given [name]. The message
-   * associated with the error will be created from the given [message]
-   * template. The correction associated with the error will be created from the
-   * given [correction] template.
-   */
-  const ErrorCode(this.name, this.message, [this.correction]);
-
-  /**
-   * The severity of the error.
-   */
-  ErrorSeverity get errorSeverity;
-
-  /**
-   * The type of the error.
-   */
-  ErrorType get type;
-
-  /**
-   * The unique name of this error code.
-   */
-  String get uniqueName => "$runtimeType.$name";
-
-  @override
-  String toString() => uniqueName;
-
-  /**
-   * Return the [ErrorCode] with the given [uniqueName], or `null` if not
-   * found.
-   */
-  static ErrorCode byUniqueName(String uniqueName) {
-    if (_uniqueNameToCodeMap == null) {
-      _uniqueNameToCodeMap = new HashMap<String, ErrorCode>();
-      for (ErrorCode errorCode in values) {
-        _uniqueNameToCodeMap[errorCode.uniqueName] = errorCode;
-      }
-    }
-    return _uniqueNameToCodeMap[uniqueName];
-  }
-}
-
-/**
  * The properties that can be associated with an [AnalysisError].
  */
 class ErrorProperty<V> implements Comparable<ErrorProperty> {
@@ -1009,177 +905,3 @@
   @override
   String toString() => name;
 }
-
-/**
- * The severity of an [ErrorCode].
- */
-class ErrorSeverity implements Comparable<ErrorSeverity> {
-  /**
-   * The severity representing a non-error. This is never used for any error
-   * code, but is useful for clients.
-   */
-  static const ErrorSeverity NONE = const ErrorSeverity('NONE', 0, " ", "none");
-
-  /**
-   * The severity representing an informational level analysis issue.
-   */
-  static const ErrorSeverity INFO = const ErrorSeverity('INFO', 1, "I", "info");
-
-  /**
-   * The severity representing a warning. Warnings can become errors if the `-Werror` command
-   * line flag is specified.
-   */
-  static const ErrorSeverity WARNING =
-      const ErrorSeverity('WARNING', 2, "W", "warning");
-
-  /**
-   * The severity representing an error.
-   */
-  static const ErrorSeverity ERROR =
-      const ErrorSeverity('ERROR', 3, "E", "error");
-
-  static const List<ErrorSeverity> values = const [NONE, INFO, WARNING, ERROR];
-
-  /**
-   * The name of this error code.
-   */
-  final String name;
-
-  /**
-   * The ordinal value of the error code.
-   */
-  final int ordinal;
-
-  /**
-   * The name of the severity used when producing machine output.
-   */
-  final String machineCode;
-
-  /**
-   * The name of the severity used when producing readable output.
-   */
-  final String displayName;
-
-  /**
-   * Initialize a newly created severity with the given names.
-   */
-  const ErrorSeverity(
-      this.name, this.ordinal, this.machineCode, this.displayName);
-
-  @override
-  int get hashCode => ordinal;
-
-  @override
-  int compareTo(ErrorSeverity other) => ordinal - other.ordinal;
-
-  /**
-   * Return the severity constant that represents the greatest severity.
-   */
-  ErrorSeverity max(ErrorSeverity severity) =>
-      this.ordinal >= severity.ordinal ? this : severity;
-
-  @override
-  String toString() => name;
-}
-
-/**
- * The type of an [ErrorCode].
- */
-class ErrorType implements Comparable<ErrorType> {
-  /**
-   * Task (todo) comments in user code.
-   */
-  static const ErrorType TODO = const ErrorType('TODO', 0, ErrorSeverity.INFO);
-
-  /**
-   * Extra analysis run over the code to follow best practices, which are not in
-   * the Dart Language Specification.
-   */
-  static const ErrorType HINT = const ErrorType('HINT', 1, ErrorSeverity.INFO);
-
-  /**
-   * Compile-time errors are errors that preclude execution. A compile time
-   * error must be reported by a Dart compiler before the erroneous code is
-   * executed.
-   */
-  static const ErrorType COMPILE_TIME_ERROR =
-      const ErrorType('COMPILE_TIME_ERROR', 2, ErrorSeverity.ERROR);
-
-  /**
-   * Checked mode compile-time errors are errors that preclude execution in
-   * checked mode.
-   */
-  static const ErrorType CHECKED_MODE_COMPILE_TIME_ERROR = const ErrorType(
-      'CHECKED_MODE_COMPILE_TIME_ERROR', 3, ErrorSeverity.ERROR);
-
-  /**
-   * Static warnings are those warnings reported by the static checker. They
-   * have no effect on execution. Static warnings must be provided by Dart
-   * compilers used during development.
-   */
-  static const ErrorType STATIC_WARNING =
-      const ErrorType('STATIC_WARNING', 4, ErrorSeverity.WARNING);
-
-  /**
-   * Many, but not all, static warnings relate to types, in which case they are
-   * known as static type warnings.
-   */
-  static const ErrorType STATIC_TYPE_WARNING =
-      const ErrorType('STATIC_TYPE_WARNING', 5, ErrorSeverity.WARNING);
-
-  /**
-   * Syntactic errors are errors produced as a result of input that does not
-   * conform to the grammar.
-   */
-  static const ErrorType SYNTACTIC_ERROR =
-      const ErrorType('SYNTACTIC_ERROR', 6, ErrorSeverity.ERROR);
-
-  /**
-   * Lint warnings describe style and best practice recommendations that can be
-   * used to formalize a project's style guidelines.
-   */
-  static const ErrorType LINT = const ErrorType('LINT', 7, ErrorSeverity.INFO);
-
-  static const List<ErrorType> values = const [
-    TODO,
-    HINT,
-    COMPILE_TIME_ERROR,
-    CHECKED_MODE_COMPILE_TIME_ERROR,
-    STATIC_WARNING,
-    STATIC_TYPE_WARNING,
-    SYNTACTIC_ERROR,
-    LINT
-  ];
-
-  /**
-   * The name of this error type.
-   */
-  final String name;
-
-  /**
-   * The ordinal value of the error type.
-   */
-  final int ordinal;
-
-  /**
-   * The severity of this type of error.
-   */
-  final ErrorSeverity severity;
-
-  /**
-   * Initialize a newly created error type to have the given [name] and
-   * [severity].
-   */
-  const ErrorType(this.name, this.ordinal, this.severity);
-
-  String get displayName => name.toLowerCase().replaceAll('_', ' ');
-
-  @override
-  int get hashCode => ordinal;
-
-  @override
-  int compareTo(ErrorType other) => ordinal - other.ordinal;
-
-  @override
-  String toString() => name;
-}
diff --git a/pkg/analyzer/lib/file_system/file_system.dart b/pkg/analyzer/lib/file_system/file_system.dart
index ac8c0db..139330b 100644
--- a/pkg/analyzer/lib/file_system/file_system.dart
+++ b/pkg/analyzer/lib/file_system/file_system.dart
@@ -21,8 +21,14 @@
   Stream<WatchEvent> get changes;
 
   /**
+   * Synchronously get the length of the file.
+   * Throws a [FileSystemException] if the operation fails.
+   */
+  int get lengthSync;
+
+  /**
    * Return the last-modified stamp of the file.
-   * Throws [FileSystemException] if the file does not exist.
+   * Throws a [FileSystemException] if the file does not exist.
    */
   int get modificationStamp;
 
diff --git a/pkg/analyzer/lib/file_system/memory_file_system.dart b/pkg/analyzer/lib/file_system/memory_file_system.dart
index 44f8a06..42731be 100644
--- a/pkg/analyzer/lib/file_system/memory_file_system.dart
+++ b/pkg/analyzer/lib/file_system/memory_file_system.dart
@@ -306,6 +306,11 @@
   bool get exists => false;
 
   @override
+  int get lengthSync {
+    throw new FileSystemException(path, 'File could not be read');
+  }
+
+  @override
   int get modificationStamp {
     int stamp = _provider._pathToTimestamp[path];
     if (stamp == null) {
@@ -371,6 +376,11 @@
   bool get exists => _provider._pathToResource[path] is _MemoryFile;
 
   @override
+  int get lengthSync {
+    return readAsBytesSync().length;
+  }
+
+  @override
   int get modificationStamp {
     int stamp = _provider._pathToTimestamp[path];
     if (stamp == null) {
diff --git a/pkg/analyzer/lib/file_system/physical_file_system.dart b/pkg/analyzer/lib/file_system/physical_file_system.dart
index a9cf94b..411d0d1 100644
--- a/pkg/analyzer/lib/file_system/physical_file_system.dart
+++ b/pkg/analyzer/lib/file_system/physical_file_system.dart
@@ -127,6 +127,15 @@
   Stream<WatchEvent> get changes => new FileWatcher(_entry.path).events;
 
   @override
+  int get lengthSync {
+    try {
+      return _file.lengthSync();
+    } on io.FileSystemException catch (exception) {
+      throw new FileSystemException(exception.path, exception.message);
+    }
+  }
+
+  @override
   int get modificationStamp {
     try {
       return _file.lastModifiedSync().millisecondsSinceEpoch;
diff --git a/pkg/analyzer/lib/src/context/context.dart b/pkg/analyzer/lib/src/context/context.dart
index d0a2104..c09171c 100644
--- a/pkg/analyzer/lib/src/context/context.dart
+++ b/pkg/analyzer/lib/src/context/context.dart
@@ -307,7 +307,8 @@
         this._options.enableStrictCallChecks !=
             options.enableStrictCallChecks ||
         this._options.enableGenericMethods != options.enableGenericMethods ||
-        this._options.enableSuperMixins != options.enableSuperMixins;
+        this._options.enableSuperMixins != options.enableSuperMixins ||
+        this._options.patchPlatform != options.patchPlatform;
     this._options.analyzeFunctionBodiesPredicate =
         options.analyzeFunctionBodiesPredicate;
     this._options.generateImplicitErrors = options.generateImplicitErrors;
@@ -336,6 +337,7 @@
     this._options.trackCacheDependencies = options.trackCacheDependencies;
     this._options.disableCacheFlushing = options.disableCacheFlushing;
     this._options.finerGrainedInvalidation = options.finerGrainedInvalidation;
+    this._options.patchPlatform = options.patchPlatform;
     if (options is AnalysisOptionsImpl) {
       this._options.strongModeHints = options.strongModeHints;
       this._options.implicitCasts = options.implicitCasts;
@@ -720,6 +722,12 @@
     CacheEntry entry = getCacheEntry(target);
     CacheState state = entry.getState(descriptor);
     if (state == CacheState.FLUSHED || state == CacheState.INVALID) {
+      // Check the result provider.
+      bool success = aboutToComputeResult(entry, descriptor);
+      if (success) {
+        return entry.getValue(descriptor);
+      }
+      // Compute the result.
       driver.computeResult(target, descriptor);
       entry = getCacheEntry(target);
     }
diff --git a/pkg/analyzer/lib/src/dart/analysis/byte_store.dart b/pkg/analyzer/lib/src/dart/analysis/byte_store.dart
index fb07ac0..e8079ee 100644
--- a/pkg/analyzer/lib/src/dart/analysis/byte_store.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/byte_store.dart
@@ -30,40 +30,65 @@
 }
 
 /**
- * A wrapper around [ByteStore] which adds an in-memory LRU cache to it.
- *
- * TODO(scheglov) Consider implementing size and/or time eviction policies.
+ * [ByteStore] which stores data only in memory.
  */
-class MemoryCachingByteStore implements ByteStore {
-  final ByteStore store;
-  final int maxEntries;
-
-  final _map = <String, List<int>>{};
-  final _keys = new LinkedHashSet<String>();
-
-  MemoryCachingByteStore(this.store, this.maxEntries);
+class MemoryByteStore implements ByteStore {
+  final Map<String, List<int>> _map = {};
 
   @override
   List<int> get(String key) {
-    _keys.remove(key);
-    _keys.add(key);
-    _evict();
-    return _map.putIfAbsent(key, () => store.get(key));
+    return _map[key];
   }
 
   @override
   void put(String key, List<int> bytes) {
-    store.put(key, bytes);
     _map[key] = bytes;
-    _keys.add(key);
+  }
+}
+
+/**
+ * A wrapper around [ByteStore] which adds an in-memory LRU cache to it.
+ */
+class MemoryCachingByteStore implements ByteStore {
+  final ByteStore _store;
+  final int _maxSizeBytes;
+
+  final _map = new LinkedHashMap<String, List<int>>();
+  int _currentSizeBytes = 0;
+
+  MemoryCachingByteStore(this._store, this._maxSizeBytes);
+
+  @override
+  List<int> get(String key) {
+    List<int> bytes = _map.remove(key);
+    if (bytes == null) {
+      bytes = _store.get(key);
+      _map[key] = bytes;
+      _currentSizeBytes += bytes?.length ?? 0;
+      _evict();
+    } else {
+      _map[key] = bytes;
+    }
+    return bytes;
+  }
+
+  @override
+  void put(String key, List<int> bytes) {
+    _store.put(key, bytes);
+    _currentSizeBytes -= _map[key]?.length ?? 0;
+    _map[key] = bytes;
+    _currentSizeBytes += bytes.length;
     _evict();
   }
 
   void _evict() {
-    if (_keys.length > maxEntries) {
-      String key = _keys.first;
-      _keys.remove(key);
-      _map.remove(key);
+    while (_currentSizeBytes > _maxSizeBytes) {
+      if (_map.isEmpty) {
+        break;
+      }
+      String key = _map.keys.first;
+      List<int> bytes = _map.remove(key);
+      _currentSizeBytes -= bytes.length;
     }
   }
 }
diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart
index ee355c4..f18e767 100644
--- a/pkg/analyzer/lib/src/dart/analysis/driver.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart
@@ -13,6 +13,7 @@
 import 'package:analyzer/src/context/context.dart';
 import 'package:analyzer/src/dart/analysis/byte_store.dart';
 import 'package:analyzer/src/dart/analysis/file_state.dart';
+import 'package:analyzer/src/dart/analysis/status.dart';
 import 'package:analyzer/src/generated/engine.dart'
     show AnalysisContext, AnalysisEngine, AnalysisOptions, ChangeSet;
 import 'package:analyzer/src/generated/source.dart';
@@ -66,9 +67,22 @@
   /**
    * The version of data format, should be incremented on every format change.
    */
-  static const int DATA_VERSION = 1;
+  static const int DATA_VERSION = 5;
 
+  /**
+   * The name of the driver, e.g. the name of the folder.
+   */
   String name;
+
+  /**
+   * The scheduler that schedules analysis work in this, and possibly other
+   * analysis drivers.
+   */
+  final AnalysisDriverScheduler _scheduler;
+
+  /**
+   * The logger to write performed operations and performance to.
+   */
   final PerformanceLog _logger;
 
   /**
@@ -103,7 +117,8 @@
   /**
    * The salt to mix into all hashes used as keys for serialized data.
    */
-  final Uint32List _salt = new Uint32List(2);
+  final Uint32List _salt =
+      new Uint32List(1 + AnalysisOptions.crossContextOptionsLength);
 
   /**
    * The current file system state.
@@ -144,24 +159,31 @@
   final _filesToAnalyze = new LinkedHashSet<String>();
 
   /**
+   * The mapping from the files for which analysis was requested using
+   * [getResult], and which were found to be parts without known libraries,
+   * to the [Completer]s to report the result.
+   */
+  final _requestedParts = <String, List<Completer<AnalysisResult>>>{};
+
+  /**
+   * The set of part files that are currently scheduled for analysis.
+   */
+  final _partsToAnalyze = new LinkedHashSet<String>();
+
+  /**
+   * The controller for the [results] stream.
+   */
+  final _resultController = new StreamController<AnalysisResult>();
+
+  /**
    * Mapping from library URIs to the dependency signature of the library.
    */
   final _dependencySignatureMap = <Uri, String>{};
 
   /**
-   * The monitor that is signalled when there is work to do.
+   * The instance of the status helper.
    */
-  final _Monitor _hasWork = new _Monitor();
-
-  /**
-   * The controller for the [status] stream.
-   */
-  final _statusController = new StreamController<AnalysisStatus>();
-
-  /**
-   * The last status sent to the [status] stream.
-   */
-  AnalysisStatus _currentStatus = AnalysisStatus.IDLE;
+  final StatusSupport _statusSupport = new StatusSupport();
 
   /**
    * Create a new instance of [AnalysisDriver].
@@ -169,16 +191,33 @@
    * The given [SourceFactory] is cloned to ensure that it does not contain a
    * reference to a [AnalysisContext] in which it could have been used.
    */
-  AnalysisDriver(this._logger, this._resourceProvider, this._byteStore,
-      this._contentOverlay, SourceFactory sourceFactory, this._analysisOptions)
+  AnalysisDriver(
+      this._scheduler,
+      this._logger,
+      this._resourceProvider,
+      this._byteStore,
+      this._contentOverlay,
+      SourceFactory sourceFactory,
+      this._analysisOptions)
       : _sourceFactory = sourceFactory.clone() {
     _fillSalt();
     _sdkBundle = sourceFactory.dartSdk.getLinkedBundle();
     _fsState = new FileSystemState(_logger, _byteStore, _contentOverlay,
         _resourceProvider, _sourceFactory, _analysisOptions, _salt);
+    _scheduler._add(this);
   }
 
   /**
+   * Return the set of files added to analysis using [addFile].
+   */
+  Set<String> get addedFiles => _explicitFiles;
+
+  /**
+   * Return the set of files that are known, i.e. added or used implicitly.
+   */
+  Set<String> get knownFiles => _fsState.knownFiles;
+
+  /**
    * Set the list of files that the driver should try to analyze sooner.
    *
    * Every path in the list must be absolute and normalized.
@@ -190,20 +229,19 @@
   void set priorityFiles(List<String> priorityPaths) {
     _priorityFiles.clear();
     _priorityFiles.addAll(priorityPaths);
-    _transitionToAnalyzing();
-    _hasWork.notify();
+    _statusSupport.transitionToAnalyzing();
+    _scheduler._notify(this);
   }
 
   /**
    * Return the [Stream] that produces [AnalysisResult]s for added files.
    *
-   * Analysis starts when the client starts listening to the stream, and stops
-   * when the client cancels the subscription. Note that the stream supports
-   * only one single subscriber.
+   * Note that the stream supports only one single subscriber.
    *
-   * When the client starts listening, the analysis state transitions to
-   * "analyzing" and an analysis result is produced for every added file prior
-   * to the next time the analysis state transitions to "idle".
+   * Analysis starts when the [AnalysisDriverScheduler] is started and the
+   * driver is added to it. The analysis state transitions to "analyzing" and
+   * an analysis result is produced for every added file prior to the next time
+   * the analysis state transitions to "idle".
    *
    * At least one analysis result is produced for every file passed to
    * [addFile] or [changeFile] prior to the next time the analysis state
@@ -217,95 +255,39 @@
    * Results might be produced even for files that have never been added
    * using [addFile], for example when [getResult] was called for a file.
    */
-  Stream<AnalysisResult> get results async* {
-    try {
-      PerformanceLogSection analysisSection = null;
-      while (true) {
-        // Pump the event queue to allow IO and other asynchronous data
-        // processing while analysis is active. For example Analysis Server
-        // needs to be able to process `updateContent` or `setPriorityFiles`
-        // requests while background analysis is in progress.
-        //
-        // The number of pumpings is arbitrary, might be changed if we see that
-        // analysis or other data processing tasks are starving. Ideally we
-        // would need to be able to set priority of (continuous) asynchronous
-        // tasks.
-        await _pumpEventQueue(128);
-
-        await _hasWork.signal;
-
-        if (analysisSection == null) {
-          analysisSection = _logger.enter('Analyzing');
-        }
-
-        // Verify all changed files one at a time.
-        if (_changedFiles.isNotEmpty) {
-          String path = _removeFirst(_changedFiles);
-          _verifyApiSignature(path);
-          // Repeat the processing loop.
-          _hasWork.notify();
-          continue;
-        }
-
-        // Analyze a requested file.
-        if (_requestedFiles.isNotEmpty) {
-          String path = _requestedFiles.keys.first;
-          AnalysisResult result = _computeAnalysisResult(path, withUnit: true);
-          // Notify the completers.
-          _requestedFiles.remove(path).forEach((completer) {
-            completer.complete(result);
-          });
-          // Remove from to be analyzed and produce it now.
-          _filesToAnalyze.remove(path);
-          yield result;
-          // Repeat the processing loop.
-          _hasWork.notify();
-          continue;
-        }
-
-        // Analyze a priority file.
-        if (_priorityFiles.isNotEmpty) {
-          bool analyzed = false;
-          for (String path in _priorityFiles) {
-            if (_filesToAnalyze.remove(path)) {
-              analyzed = true;
-              AnalysisResult result =
-                  _computeAnalysisResult(path, withUnit: true);
-              yield result;
-              break;
-            }
-          }
-          // Repeat the processing loop.
-          if (analyzed) {
-            _hasWork.notify();
-            continue;
-          }
-        }
-
-        // Analyze a general file.
-        if (_filesToAnalyze.isNotEmpty) {
-          String path = _removeFirst(_filesToAnalyze);
-          AnalysisResult result = _computeAnalysisResult(path, withUnit: false);
-          yield result;
-          // Repeat the processing loop.
-          _hasWork.notify();
-          continue;
-        }
-
-        // There is nothing to do.
-        analysisSection.exit();
-        analysisSection = null;
-        _transitionToIdle();
-      }
-    } finally {
-      print('The stream was cancelled.');
-    }
-  }
+  Stream<AnalysisResult> get results => _resultController.stream;
 
   /**
    * Return the stream that produces [AnalysisStatus] events.
    */
-  Stream<AnalysisStatus> get status => _statusController.stream;
+  Stream<AnalysisStatus> get status => _statusSupport.stream;
+
+  /**
+   * Return the priority of work that the driver needs to perform.
+   */
+  AnalysisDriverPriority get _workPriority {
+    if (_requestedFiles.isNotEmpty) {
+      return AnalysisDriverPriority.interactive;
+    }
+    if (_priorityFiles.isNotEmpty) {
+      for (String path in _priorityFiles) {
+        if (_filesToAnalyze.contains(path)) {
+          return AnalysisDriverPriority.priority;
+        }
+      }
+    }
+    if (_filesToAnalyze.isNotEmpty) {
+      return AnalysisDriverPriority.general;
+    }
+    if (_changedFiles.isNotEmpty) {
+      return AnalysisDriverPriority.general;
+    }
+    if (_requestedParts.isNotEmpty || _partsToAnalyze.isNotEmpty) {
+      return AnalysisDriverPriority.general;
+    }
+    _statusSupport.transitionToIdle();
+    return AnalysisDriverPriority.nothing;
+  }
 
   /**
    * Add the file with the given [path] to the set of files to analyze.
@@ -319,8 +301,8 @@
       _explicitFiles.add(path);
       _filesToAnalyze.add(path);
     }
-    _transitionToAnalyzing();
-    _hasWork.notify();
+    _statusSupport.transitionToAnalyzing();
+    _scheduler._notify(this);
   }
 
   /**
@@ -348,8 +330,15 @@
         _filesToAnalyze.add(path);
       }
     }
-    _transitionToAnalyzing();
-    _hasWork.notify();
+    _statusSupport.transitionToAnalyzing();
+    _scheduler._notify(this);
+  }
+
+  /**
+   * Notify the driver that the client is going to stop using it.
+   */
+  void dispose() {
+    _scheduler._remove(this);
   }
 
   /**
@@ -371,20 +360,12 @@
     _requestedFiles
         .putIfAbsent(path, () => <Completer<AnalysisResult>>[])
         .add(completer);
-    _transitionToAnalyzing();
-    _hasWork.notify();
+    _statusSupport.transitionToAnalyzing();
+    _scheduler._notify(this);
     return completer.future;
   }
 
   /**
-   * Return `true` if the file with the given [path] was explicitly added
-   * to analysis using [addFile].
-   */
-  bool isAddedFile(String path) {
-    return _explicitFiles.contains(path);
-  }
-
-  /**
    * Return the [Future] that completes with a [ParseResult] for the file
    * with the given [path].
    *
@@ -447,19 +428,45 @@
    *
    * The result will have the fully resolved unit and will always be newly
    * compute only if [withUnit] is `true`.
+   *
+   * Return `null` if the file is a part of an unknown library, so cannot be
+   * analyzed yet. But [asIsIfPartWithoutLibrary] is `true`, then the file is
+   * analyzed anyway, even without a library.
    */
-  AnalysisResult _computeAnalysisResult(String path, {bool withUnit: false}) {
+  AnalysisResult _computeAnalysisResult(String path,
+      {bool withUnit: false, bool asIsIfPartWithoutLibrary: false}) {
+    /**
+     * If the [file] is a library, return the [file] itself.
+     * If the [file] is a part, return a library it is known to be a part of.
+     * If there is no such library, return `null`.
+     */
+    FileState getLibraryFile(FileState file) {
+      FileState libraryFile = file.isPart ? file.library : file;
+      if (libraryFile == null && asIsIfPartWithoutLibrary) {
+        libraryFile = file;
+      }
+      return libraryFile;
+    }
+
     // If we don't need the fully resolved unit, check for the cached result.
     if (!withUnit) {
       FileState file = _fsState.getFileForPath(path);
+
+      // Prepare the library file - the file itself, or the known library.
+      FileState libraryFile = getLibraryFile(file);
+      if (libraryFile == null) {
+        return null;
+      }
+
       // Prepare the key for the cached result.
-      String key = _getResolvedUnitKey(file);
+      String key = _getResolvedUnitKey(libraryFile, file);
       if (key == null) {
         _logger.run('Compute the dependency hash for $path', () {
-          _createLibraryContext(file);
-          key = _getResolvedUnitKey(file);
+          _createLibraryContext(libraryFile);
+          key = _getResolvedUnitKey(libraryFile, file);
         });
       }
+
       // Check for the cached result.
       AnalysisResult result = _getCachedAnalysisResult(file, key);
       if (result != null) {
@@ -469,15 +476,22 @@
 
     // We need the fully resolved unit, or the result is not cached.
     return _logger.run('Compute analysis result for $path', () {
-      // Still no result, compute and store it.
       FileState file = _verifyApiSignature(path);
-      _LibraryContext libraryContext = _createLibraryContext(file);
+
+      // Prepare the library file - the file itself, or the known library.
+      FileState libraryFile = getLibraryFile(file);
+      if (libraryFile == null) {
+        return null;
+      }
+
+      _LibraryContext libraryContext = _createLibraryContext(libraryFile);
       AnalysisContext analysisContext = _createAnalysisContext(libraryContext);
       try {
         analysisContext.setContents(file.source, file.content);
         // TODO(scheglov) Add support for parts.
         CompilationUnit resolvedUnit = withUnit
-            ? analysisContext.resolveCompilationUnit2(file.source, file.source)
+            ? analysisContext.resolveCompilationUnit2(
+                file.source, libraryFile.source)
             : null;
         List<AnalysisError> errors = analysisContext.computeErrors(file.source);
 
@@ -493,13 +507,14 @@
                           correction: error.correction))
                       .toList())
               .toBuffer();
-          String key = _getResolvedUnitKey(file);
+          String key = _getResolvedUnitKey(libraryFile, file);
           _byteStore.put(key, bytes);
         }
 
         // Return the result, full or partial.
         _logger.writeln('Computed new analysis result.');
         return new AnalysisResult(
+            _sourceFactory,
             file.path,
             file.uri,
             withUnit ? file.content : null,
@@ -629,10 +644,14 @@
    * Fill [_salt] with data.
    */
   void _fillSalt() {
-    int analysisOptionsSalt = 0;
-    analysisOptionsSalt |= _analysisOptions.strongMode ? (1 << 0) : 0;
     _salt[0] = DATA_VERSION;
-    _salt[1] = analysisOptionsSalt;
+    List<int> crossContextOptions =
+        _analysisOptions.encodeCrossContextOptions();
+    assert(crossContextOptions.length ==
+        AnalysisOptions.crossContextOptionsLength);
+    for (int i = 0; i < crossContextOptions.length; i++) {
+      _salt[i + 1] = crossContextOptions[i];
+    }
   }
 
   /**
@@ -648,22 +667,23 @@
               file.source,
               error.offset,
               error.length,
-              ErrorCode.byUniqueName(error.uniqueName),
+              errorCodeByUniqueName(error.uniqueName),
               error.message,
               error.correction))
           .toList();
-      return new AnalysisResult(file.path, file.uri, null, file.contentHash,
-          file.lineInfo, null, errors);
+      return new AnalysisResult(_sourceFactory, file.path, file.uri, null,
+          file.contentHash, file.lineInfo, null, errors);
     }
     return null;
   }
 
   /**
-   * Return the key to store fully resolved results for the [file] into the
-   * cache. Return `null` if the dependency signature is not known yet.
+   * Return the key to store fully resolved results for the [file] in the
+   * [library] into the cache. Return `null` if the dependency signature is
+   * not known yet.
    */
-  String _getResolvedUnitKey(FileState file) {
-    String dependencyHash = _dependencySignatureMap[file.uri];
+  String _getResolvedUnitKey(FileState library, FileState file) {
+    String dependencyHash = _dependencySignatureMap[library.uri];
     if (dependencyHash != null) {
       ApiSignature signature = new ApiSignature();
       signature.addUint32List(_salt);
@@ -675,31 +695,93 @@
   }
 
   /**
-   * Send a notifications to the [status] stream that the driver started
-   * analyzing.
+   * Perform a single chunk of work and produce [results].
    */
-  void _transitionToAnalyzing() {
-    if (_currentStatus != AnalysisStatus.ANALYZING) {
-      _currentStatus = AnalysisStatus.ANALYZING;
-      _statusController.add(AnalysisStatus.ANALYZING);
+  Future<Null> _performWork() async {
+    // Verify all changed files one at a time.
+    if (_changedFiles.isNotEmpty) {
+      String path = _removeFirst(_changedFiles);
+      _verifyApiSignature(path);
+      return;
     }
-  }
 
-  /**
-   * Send a notifications to the [status] stream that the driver is idle.
-   */
-  void _transitionToIdle() {
-    if (_currentStatus != AnalysisStatus.IDLE) {
-      _currentStatus = AnalysisStatus.IDLE;
-      _statusController.add(AnalysisStatus.IDLE);
+    // Analyze a requested file.
+    if (_requestedFiles.isNotEmpty) {
+      String path = _requestedFiles.keys.first;
+      AnalysisResult result = _computeAnalysisResult(path, withUnit: true);
+      // If a part without a library, delay its analysis.
+      if (result == null) {
+        _requestedParts
+            .putIfAbsent(path, () => [])
+            .addAll(_requestedFiles.remove(path));
+        return;
+      }
+      // Notify the completers.
+      _requestedFiles.remove(path).forEach((completer) {
+        completer.complete(result);
+      });
+      // Remove from to be analyzed and produce it now.
+      _filesToAnalyze.remove(path);
+      _resultController.add(result);
+      return;
+    }
+
+    // Analyze a priority file.
+    if (_priorityFiles.isNotEmpty) {
+      for (String path in _priorityFiles) {
+        if (_filesToAnalyze.remove(path)) {
+          AnalysisResult result = _computeAnalysisResult(path, withUnit: true);
+          if (result == null) {
+            _partsToAnalyze.add(path);
+          } else {
+            _resultController.add(result);
+          }
+          return;
+        }
+      }
+    }
+
+    // Analyze a general file.
+    if (_filesToAnalyze.isNotEmpty) {
+      String path = _removeFirst(_filesToAnalyze);
+      AnalysisResult result = _computeAnalysisResult(path, withUnit: false);
+      if (result == null) {
+        _partsToAnalyze.add(path);
+      } else {
+        _resultController.add(result);
+      }
+      return;
+    }
+
+    // Analyze a requested part file.
+    if (_requestedParts.isNotEmpty) {
+      String path = _requestedParts.keys.first;
+      AnalysisResult result = _computeAnalysisResult(path,
+          withUnit: true, asIsIfPartWithoutLibrary: true);
+      // Notify the completers.
+      _requestedParts.remove(path).forEach((completer) {
+        completer.complete(result);
+      });
+      // Remove from to be analyzed and produce it now.
+      _filesToAnalyze.remove(path);
+      _resultController.add(result);
+      return;
+    }
+
+    // Analyze a general part.
+    if (_partsToAnalyze.isNotEmpty) {
+      String path = _removeFirst(_partsToAnalyze);
+      AnalysisResult result = _computeAnalysisResult(path,
+          withUnit: _priorityFiles.contains(path),
+          asIsIfPartWithoutLibrary: true);
+      _resultController.add(result);
+      return;
     }
   }
 
   /**
    * Verify the API signature for the file with the given [path], and decide
    * which linked libraries should be invalidated, and files reanalyzed.
-   *
-   * TODO(scheglov) I see that adding a local var changes (full) API signature.
    */
   FileState _verifyApiSignature(String path) {
     return _logger.run('Verify API signature of $path', () {
@@ -721,6 +803,133 @@
   }
 
   /**
+   * Remove and return the first item in the given [set].
+   */
+  static Object/*=T*/ _removeFirst/*<T>*/(LinkedHashSet<Object/*=T*/ > set) {
+    Object/*=T*/ element = set.first;
+    set.remove(element);
+    return element;
+  }
+}
+
+/**
+ * Priorities of [AnalysisDriver] work. The farther a priority to the beginning
+ * of the list, the earlier the corresponding [AnalysisDriver] should be asked
+ * to perform work.
+ */
+enum AnalysisDriverPriority { nothing, general, priority, interactive }
+
+/**
+ * Instances of this class schedule work in multiple [AnalysisDriver]s so that
+ * work with the highest priority is performed first.
+ */
+class AnalysisDriverScheduler {
+  final PerformanceLog _logger;
+  final List<AnalysisDriver> _drivers = [];
+  final Monitor _hasWork = new Monitor();
+  final StatusSupport _statusSupport = new StatusSupport();
+
+  bool _started = false;
+
+  AnalysisDriverScheduler(this._logger);
+
+  /**
+   * Return the stream that produces [AnalysisStatus] events.
+   */
+  Stream<AnalysisStatus> get status => _statusSupport.stream;
+
+  /**
+   * Start the scheduler, so that any [AnalysisDriver] created before or
+   * after will be asked to perform work.
+   */
+  void start() {
+    if (_started) {
+      throw new StateError('The scheduler has already been started.');
+    }
+    _started = true;
+    _run();
+  }
+
+  /**
+   * Add the given [driver] and schedule it to perform its work.
+   */
+  void _add(AnalysisDriver driver) {
+    _drivers.add(driver);
+    _statusSupport.transitionToAnalyzing();
+    _hasWork.notify();
+  }
+
+  /**
+   * Notify that there is a change to the [driver], it it might need to
+   * perform some work.
+   */
+  void _notify(AnalysisDriver driver) {
+    _statusSupport.transitionToAnalyzing();
+    _hasWork.notify();
+  }
+
+  /**
+   * Remove the given [driver] from the scheduler, so that it will not be
+   * asked to perform any new work.
+   */
+  void _remove(AnalysisDriver driver) {
+    _drivers.remove(driver);
+    _statusSupport.transitionToAnalyzing();
+    _hasWork.notify();
+  }
+
+  /**
+   * Run infinitely analysis cycle, selecting the drivers with the highest
+   * priority first.
+   */
+  Future<Null> _run() async {
+    PerformanceLogSection analysisSection;
+    while (true) {
+      // Pump the event queue to allow IO and other asynchronous data
+      // processing while analysis is active. For example Analysis Server
+      // needs to be able to process `updateContent` or `setPriorityFiles`
+      // requests while background analysis is in progress.
+      //
+      // The number of pumpings is arbitrary, might be changed if we see that
+      // analysis or other data processing tasks are starving. Ideally we
+      // would need to be able to set priority of (continuous) asynchronous
+      // tasks.
+      await _pumpEventQueue(128);
+
+      await _hasWork.signal;
+
+      if (analysisSection == null) {
+        analysisSection = _logger.enter('Analyzing');
+      }
+
+      // Find the driver with the highest priority.
+      AnalysisDriver bestDriver;
+      AnalysisDriverPriority bestPriority = AnalysisDriverPriority.nothing;
+      for (AnalysisDriver driver in _drivers) {
+        AnalysisDriverPriority priority = driver._workPriority;
+        if (bestPriority == null || priority.index > bestPriority.index) {
+          bestDriver = driver;
+          bestPriority = priority;
+        }
+      }
+
+      // Continue to sleep if no work to do.
+      if (bestPriority == AnalysisDriverPriority.nothing) {
+        analysisSection.exit();
+        analysisSection = null;
+        _statusSupport.transitionToIdle();
+        continue;
+      }
+
+      // Ask the driver to perform a chunk of work.
+      await bestDriver._performWork();
+
+      // Schedule one more cycle.
+      _hasWork.notify();
+    }
+  }
+
+  /**
    * Returns a [Future] that completes after performing [times] pumpings of
    * the event queue.
    */
@@ -730,15 +939,6 @@
     }
     return new Future.delayed(Duration.ZERO, () => _pumpEventQueue(times - 1));
   }
-
-  /**
-   * Remove and return the first item in the given [set].
-   */
-  static Object/*=T*/ _removeFirst/*<T>*/(LinkedHashSet<Object/*=T*/ > set) {
-    Object/*=T*/ element = set.first;
-    set.remove(element);
-    return element;
-  }
 }
 
 /**
@@ -754,6 +954,11 @@
  */
 class AnalysisResult {
   /**
+   * The [SourceFactory] with which the file was analyzed.
+   */
+  final SourceFactory sourceFactory;
+
+  /**
    * The path of the analysed file, absolute and normalized.
    */
   final String path;
@@ -790,30 +995,8 @@
    */
   final List<AnalysisError> errors;
 
-  AnalysisResult(this.path, this.uri, this.content, this.contentHash,
-      this.lineInfo, this.unit, this.errors);
-}
-
-/**
- * The status of [AnalysisDriver]
- */
-class AnalysisStatus {
-  static const IDLE = const AnalysisStatus._(false);
-  static const ANALYZING = const AnalysisStatus._(true);
-
-  final bool _analyzing;
-
-  const AnalysisStatus._(this._analyzing);
-
-  /**
-   * Return `true` is the driver is analyzing.
-   */
-  bool get isAnalyzing => _analyzing;
-
-  /**
-   * Return `true` is the driver is idle.
-   */
-  bool get isIdle => !_analyzing;
+  AnalysisResult(this.sourceFactory, this.path, this.uri, this.content,
+      this.contentHash, this.lineInfo, this.unit, this.errors);
 }
 
 /**
@@ -1000,32 +1183,3 @@
   @override
   String toString() => uri.toString();
 }
-
-/**
- * [_Monitor] can be used to wait for a signal.
- *
- * Signals are not queued, the client will receive exactly one signal
- * regardless of the number of [notify] invocations. The [signal] is reset
- * after completion and will not complete until [notify] is called next time.
- */
-class _Monitor {
-  Completer<Null> _completer = new Completer<Null>();
-
-  /**
-   * Return a [Future] that completes when [notify] is called at least once.
-   */
-  Future<Null> get signal async {
-    await _completer.future;
-    _completer = new Completer<Null>();
-  }
-
-  /**
-   * Complete the [signal] future if it is not completed yet. It is safe to
-   * call this method multiple times, but the [signal] will complete only once.
-   */
-  void notify() {
-    if (!_completer.isCompleted) {
-      _completer.complete(null);
-    }
-  }
-}
diff --git a/pkg/analyzer/lib/src/dart/analysis/file_state.dart b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
index 3df2b1a..89a3d7b 100644
--- a/pkg/analyzer/lib/src/dart/analysis/file_state.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
@@ -128,6 +128,25 @@
   List<FileState> get importedFiles => _importedFiles;
 
   /**
+   * Return `true` if the file has a `part of` directive, so is probably a part.
+   */
+  bool get isPart => _unlinked.isPartOf;
+
+  /**
+   * If the file [isPart], return a currently know library the file is a part
+   * of. Return `null` if a library is not known, for example because we have
+   * not processed a library file yet.
+   */
+  FileState get library {
+    List<FileState> libraries = _fsState._partToLibraries[this];
+    if (libraries == null || libraries.isEmpty) {
+      return null;
+    } else {
+      return libraries.first;
+    }
+  }
+
+  /**
    * Return information about line in the file.
    */
   LineInfo get lineInfo => _lineInfo;
@@ -226,6 +245,13 @@
         !_equalByteLists(_apiSignature, newApiSignature);
     _apiSignature = newApiSignature;
 
+    // This file is potentially not a library for its previous parts anymore.
+    if (_partedFiles != null) {
+      for (FileState part in _partedFiles) {
+        _fsState._partToLibraries[part]?.remove(this);
+      }
+    }
+
     // Build the graph.
     _importedFiles = <FileState>[];
     _exportedFiles = <FileState>[];
@@ -255,6 +281,10 @@
         FileState file = _fileForRelativeUri(uri);
         if (file != null) {
           _partedFiles.add(file);
+          // TODO(scheglov) Sort for stable results?
+          _fsState._partToLibraries
+              .putIfAbsent(file, () => <FileState>[])
+              .add(this);
         }
       }
     }
@@ -333,6 +363,11 @@
    */
   final Map<String, FileState> _pathToCanonicalFile = {};
 
+  /**
+   * Mapping from a part to the libraries it is a part of.
+   */
+  final Map<FileState, List<FileState>> _partToLibraries = {};
+
   FileSystemState(
       this._logger,
       this._byteStore,
@@ -343,6 +378,11 @@
       this._salt);
 
   /**
+   * Return the set of known files.
+   */
+  Set<String> get knownFiles => _pathToFiles.keys.toSet();
+
+  /**
    * Return the canonical [FileState] for the given absolute [path]. The
    * returned file has the last known state since if was last refreshed.
    *
diff --git a/pkg/analyzer/lib/src/dart/analysis/status.dart b/pkg/analyzer/lib/src/dart/analysis/status.dart
new file mode 100644
index 0000000..3e2d79c
--- /dev/null
+++ b/pkg/analyzer/lib/src/dart/analysis/status.dart
@@ -0,0 +1,96 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'dart:async';
+
+/**
+ * The status of analysis.
+ */
+class AnalysisStatus {
+  static const IDLE = const AnalysisStatus._(false);
+  static const ANALYZING = const AnalysisStatus._(true);
+
+  final bool _analyzing;
+
+  const AnalysisStatus._(this._analyzing);
+
+  /**
+   * Return `true` is the driver is analyzing.
+   */
+  bool get isAnalyzing => _analyzing;
+
+  /**
+   * Return `true` is the driver is idle.
+   */
+  bool get isIdle => !_analyzing;
+}
+
+/**
+ * [Monitor] can be used to wait for a signal.
+ *
+ * Signals are not queued, the client will receive exactly one signal
+ * regardless of the number of [notify] invocations. The [signal] is reset
+ * after completion and will not complete until [notify] is called next time.
+ */
+class Monitor {
+  Completer<Null> _completer = new Completer<Null>();
+
+  /**
+   * Return a [Future] that completes when [notify] is called at least once.
+   */
+  Future<Null> get signal async {
+    await _completer.future;
+    _completer = new Completer<Null>();
+  }
+
+  /**
+   * Complete the [signal] future if it is not completed yet. It is safe to
+   * call this method multiple times, but the [signal] will complete only once.
+   */
+  void notify() {
+    if (!_completer.isCompleted) {
+      _completer.complete(null);
+    }
+  }
+}
+
+/**
+ * Helper for managing transitioning [AnalysisStatus].
+ */
+class StatusSupport {
+  /**
+   * The controller for the [stream].
+   */
+  final _statusController = new StreamController<AnalysisStatus>();
+
+  /**
+   * The last status sent to the [stream].
+   */
+  AnalysisStatus _currentStatus = AnalysisStatus.IDLE;
+
+  /**
+   * Return the stream that produces [AnalysisStatus] events.
+   */
+  Stream<AnalysisStatus> get stream => _statusController.stream;
+
+  /**
+   * Send a notifications to the [stream] that the driver started analyzing.
+   */
+  void transitionToAnalyzing() {
+    if (_currentStatus != AnalysisStatus.ANALYZING) {
+      _currentStatus = AnalysisStatus.ANALYZING;
+      _statusController.add(AnalysisStatus.ANALYZING);
+    }
+  }
+
+  /**
+   * Send a notifications to the [stream] stream that the driver is idle.
+   */
+  void transitionToIdle() {
+    if (_currentStatus != AnalysisStatus.IDLE) {
+      _currentStatus = AnalysisStatus.IDLE;
+      _statusController.add(AnalysisStatus.IDLE);
+    }
+  }
+}
diff --git a/pkg/analyzer/lib/src/dart/ast/ast.dart b/pkg/analyzer/lib/src/dart/ast/ast.dart
index 930cebf..4d388d2 100644
--- a/pkg/analyzer/lib/src/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/src/dart/ast/ast.dart
@@ -558,21 +558,16 @@
 }
 
 /**
- * An assert statement.
+ * An assert in the initializer list of a constructor.
  *
- *    assertStatement ::=
- *        'assert' '(' [Expression] ')' ';'
+ *    assertInitializer ::=
+ *        'assert' '(' [Expression] (',' [Expression])? ')'
  */
-class AssertStatementImpl extends StatementImpl implements AssertStatement {
-  /**
-   * The token representing the 'assert' keyword.
-   */
+class AssertInitializerImpl extends ConstructorInitializerImpl
+    implements AssertInitializer {
   @override
   Token assertKeyword;
 
-  /**
-   * The left parenthesis.
-   */
   @override
   Token leftParenthesis;
 
@@ -581,27 +576,104 @@
    */
   Expression _condition;
 
-  /**
-   * The comma, if a message expression was supplied.  Otherwise `null`.
-   */
   @override
   Token comma;
 
   /**
-   * The message to report if the assertion fails.  `null` if no message was
+   * The message to report if the assertion fails, or `null` if no message was
    * supplied.
    */
   Expression _message;
 
-  /**
-   * The right parenthesis.
-   */
   @override
   Token rightParenthesis;
 
   /**
-   * The semicolon terminating the statement.
+   * Initialize a newly created assert initializer.
    */
+  AssertInitializerImpl(
+      this.assertKeyword,
+      this.leftParenthesis,
+      ExpressionImpl condition,
+      this.comma,
+      ExpressionImpl message,
+      this.rightParenthesis) {
+    _condition = _becomeParentOf(condition);
+    _message = _becomeParentOf(message);
+  }
+
+  @override
+  Token get beginToken => assertKeyword;
+
+  @override
+  Iterable<SyntacticEntity> get childEntities => new ChildEntities()
+    ..add(assertKeyword)
+    ..add(leftParenthesis)
+    ..add(_condition)
+    ..add(comma)
+    ..add(_message)
+    ..add(rightParenthesis);
+
+  @override
+  Expression get condition => _condition;
+
+  @override
+  void set condition(Expression condition) {
+    _condition = _becomeParentOf(condition as AstNodeImpl);
+  }
+
+  @override
+  Token get endToken => rightParenthesis;
+
+  @override
+  Expression get message => _message;
+
+  @override
+  void set message(Expression expression) {
+    _message = _becomeParentOf(expression as AstNodeImpl);
+  }
+
+  @override
+  dynamic/*=E*/ accept/*<E>*/(AstVisitor/*<E>*/ visitor) =>
+      visitor.visitAssertInitializer(this);
+
+  @override
+  void visitChildren(AstVisitor visitor) {
+    _condition?.accept(visitor);
+    message?.accept(visitor);
+  }
+}
+
+/**
+ * An assert statement.
+ *
+ *    assertStatement ::=
+ *        'assert' '(' [Expression] ')' ';'
+ */
+class AssertStatementImpl extends StatementImpl implements AssertStatement {
+  @override
+  Token assertKeyword;
+
+  @override
+  Token leftParenthesis;
+
+  /**
+   * The condition that is being asserted to be `true`.
+   */
+  Expression _condition;
+
+  @override
+  Token comma;
+
+  /**
+   * The message to report if the assertion fails, or `null` if no message was
+   * supplied.
+   */
+  Expression _message;
+
+  @override
+  Token rightParenthesis;
+
   @override
   Token semicolon;
 
diff --git a/pkg/analyzer/lib/src/dart/ast/token.dart b/pkg/analyzer/lib/src/dart/ast/token.dart
index baae1b8..ee5df9f 100644
--- a/pkg/analyzer/lib/src/dart/ast/token.dart
+++ b/pkg/analyzer/lib/src/dart/ast/token.dart
@@ -4,400 +4,21 @@
 
 library analyzer.src.dart.ast.token;
 
-import 'package:analyzer/dart/ast/token.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
+import 'package:front_end/src/scanner/token.dart';
 
-/**
- * The opening half of a grouping pair of tokens. This is used for curly
- * brackets ('{'), parentheses ('('), and square brackets ('[').
- */
-class BeginToken extends SimpleToken {
-  /**
-   * The token that corresponds to this token.
-   */
-  Token endToken;
-
-  /**
-   * Initialize a newly created token to have the given [type] at the given
-   * [offset].
-   */
-  BeginToken(TokenType type, int offset) : super(type, offset) {
-    assert(type == TokenType.OPEN_CURLY_BRACKET ||
-        type == TokenType.OPEN_PAREN ||
-        type == TokenType.OPEN_SQUARE_BRACKET ||
-        type == TokenType.STRING_INTERPOLATION_EXPRESSION);
-  }
-
-  @override
-  Token copy() => new BeginToken(type, offset);
-}
-
-/**
- * A begin token that is preceded by comments.
- */
-class BeginTokenWithComment extends BeginToken implements TokenWithComment {
-  /**
-   * The first comment in the list of comments that precede this token.
-   */
-  @override
-  CommentToken _precedingComment;
-
-  /**
-   * Initialize a newly created token to have the given [type] at the given
-   * [offset] and to be preceded by the comments reachable from the given
-   * [_precedingComment].
-   */
-  BeginTokenWithComment(TokenType type, int offset, this._precedingComment)
-      : super(type, offset) {
-    _setCommentParent(_precedingComment);
-  }
-
-  @override
-  CommentToken get precedingComments => _precedingComment;
-
-  @override
-  void set precedingComments(CommentToken comment) {
-    _precedingComment = comment;
-    _setCommentParent(_precedingComment);
-  }
-
-  @override
-  void applyDelta(int delta) {
-    super.applyDelta(delta);
-    Token token = precedingComments;
-    while (token != null) {
-      token.applyDelta(delta);
-      token = token.next;
-    }
-  }
-
-  @override
-  Token copy() =>
-      new BeginTokenWithComment(type, offset, copyComments(precedingComments));
-}
-
-/**
- * A token representing a comment.
- */
-class CommentToken extends StringToken {
-  /**
-   * The token that contains this comment.
-   */
-  TokenWithComment parent;
-
-  /**
-   * Initialize a newly created token to represent a token of the given [type]
-   * with the given [value] at the given [offset].
-   */
-  CommentToken(TokenType type, String value, int offset)
-      : super(type, value, offset);
-
-  @override
-  CommentToken copy() => new CommentToken(type, _value, offset);
-
-  /**
-   * Remove this comment token from the list.
-   *
-   * This is used when we decide to interpret the comment as syntax.
-   */
-  void remove() {
-    if (previous != null) {
-      previous.setNextWithoutSettingPrevious(next);
-      next?.previous = previous;
-    } else {
-      assert(parent.precedingComments == this);
-      parent.precedingComments = next;
-    }
-  }
-}
-
-/**
- * A documentation comment token.
- */
-class DocumentationCommentToken extends CommentToken {
-  /**
-   * The references embedded within the documentation comment.
-   * This list will be empty unless this is a documentation comment that has
-   * references embedded within it.
-   */
-  final List<Token> references = <Token>[];
-
-  /**
-   * Initialize a newly created token to represent a token of the given [type]
-   * with the given [value] at the given [offset].
-   */
-  DocumentationCommentToken(TokenType type, String value, int offset)
-      : super(type, value, offset);
-
-  @override
-  CommentToken copy() {
-    DocumentationCommentToken copy =
-        new DocumentationCommentToken(type, _value, offset);
-    references.forEach((ref) => copy.references.add(ref.copy()));
-    return copy;
-  }
-}
-
-/**
- * A token representing a keyword in the language.
- */
-class KeywordToken extends SimpleToken {
-  @override
-  final Keyword keyword;
-
-  /**
-   * Initialize a newly created token to represent the given [keyword] at the
-   * given [offset].
-   */
-  KeywordToken(this.keyword, int offset) : super(TokenType.KEYWORD, offset);
-
-  @override
-  String get lexeme => keyword.syntax;
-
-  @override
-  Token copy() => new KeywordToken(keyword, offset);
-
-  @override
-  Keyword value() => keyword;
-}
-
-/**
- * A keyword token that is preceded by comments.
- */
-class KeywordTokenWithComment extends KeywordToken implements TokenWithComment {
-  /**
-   * The first comment in the list of comments that precede this token.
-   */
-  @override
-  CommentToken _precedingComment;
-
-  /**
-   * Initialize a newly created token to to represent the given [keyword] at the
-   * given [offset] and to be preceded by the comments reachable from the given
-   * [_precedingComment].
-   */
-  KeywordTokenWithComment(Keyword keyword, int offset, this._precedingComment)
-      : super(keyword, offset) {
-    _setCommentParent(_precedingComment);
-  }
-
-  @override
-  CommentToken get precedingComments => _precedingComment;
-
-  void set precedingComments(CommentToken comment) {
-    _precedingComment = comment;
-    _setCommentParent(_precedingComment);
-  }
-
-  @override
-  void applyDelta(int delta) {
-    super.applyDelta(delta);
-    Token token = precedingComments;
-    while (token != null) {
-      token.applyDelta(delta);
-      token = token.next;
-    }
-  }
-
-  @override
-  Token copy() => new KeywordTokenWithComment(
-      keyword, offset, copyComments(precedingComments));
-}
-
-/**
- * A token that was scanned from the input. Each token knows which tokens
- * precede and follow it, acting as a link in a doubly linked list of tokens.
- */
-class SimpleToken implements Token {
-  /**
-   * The type of the token.
-   */
-  @override
-  final TokenType type;
-
-  /**
-   * The offset from the beginning of the file to the first character in the
-   * token.
-   */
-  @override
-  int offset = 0;
-
-  /**
-   * The previous token in the token stream.
-   */
-  @override
-  Token previous;
-
-  /**
-   * The next token in the token stream.
-   */
-  Token _next;
-
-  /**
-   * Initialize a newly created token to have the given [type] and [offset].
-   */
-  SimpleToken(this.type, this.offset);
-
-  @override
-  int get end => offset + length;
-
-  @override
-  bool get isOperator => type.isOperator;
-
-  @override
-  bool get isSynthetic => length == 0;
-
-  @override
-  bool get isUserDefinableOperator => type.isUserDefinableOperator;
-
-  @override
-  Keyword get keyword => null;
-
-  @override
-  int get length => lexeme.length;
-
-  @override
-  String get lexeme => type.lexeme;
-
-  @override
-  Token get next => _next;
-
-  @override
-  CommentToken get precedingComments => null;
-
-  @override
-  void applyDelta(int delta) {
-    offset += delta;
-  }
-
-  @override
-  Token copy() => new Token(type, offset);
-
-  @override
-  Token copyComments(Token token) {
-    if (token == null) {
-      return null;
-    }
-    Token head = token.copy();
-    Token tail = head;
-    token = token.next;
-    while (token != null) {
-      tail = tail.setNext(token.copy());
-      token = token.next;
-    }
-    return head;
-  }
-
-  @override
-  bool matchesAny(List<TokenType> types) {
-    for (TokenType type in types) {
-      if (this.type == type) {
-        return true;
-      }
-    }
-    return false;
-  }
-
-  @override
-  Token setNext(Token token) {
-    _next = token;
-    token.previous = this;
-    return token;
-  }
-
-  @override
-  Token setNextWithoutSettingPrevious(Token token) {
-    _next = token;
-    return token;
-  }
-
-  @override
-  String toString() => lexeme;
-
-  @override
-  Object value() => type.lexeme;
-
-  /**
-   * Sets the `parent` property to `this` for the given [comment] and all the
-   * next tokens.
-   */
-  void _setCommentParent(CommentToken comment) {
-    while (comment != null) {
-      comment.parent = this;
-      comment = comment.next;
-    }
-  }
-}
-
-/**
- * A token whose value is independent of it's type.
- */
-class StringToken extends SimpleToken {
-  /**
-   * The lexeme represented by this token.
-   */
-  String _value;
-
-  /**
-   * Initialize a newly created token to represent a token of the given [type]
-   * with the given [value] at the given [offset].
-   */
-  StringToken(TokenType type, String value, int offset) : super(type, offset) {
-    this._value = StringUtilities.intern(value);
-  }
-
-  @override
-  String get lexeme => _value;
-
-  @override
-  Token copy() => new StringToken(type, _value, offset);
-
-  @override
-  String value() => _value;
-}
-
-/**
- * A string token that is preceded by comments.
- */
-class StringTokenWithComment extends StringToken implements TokenWithComment {
-  /**
-   * The first comment in the list of comments that precede this token.
-   */
-  CommentToken _precedingComment;
-
-  /**
-   * Initialize a newly created token to have the given [type] at the given
-   * [offset] and to be preceded by the comments reachable from the given
-   * [comment].
-   */
-  StringTokenWithComment(
-      TokenType type, String value, int offset, this._precedingComment)
-      : super(type, value, offset) {
-    _setCommentParent(_precedingComment);
-  }
-
-  @override
-  CommentToken get precedingComments => _precedingComment;
-
-  void set precedingComments(CommentToken comment) {
-    _precedingComment = comment;
-    _setCommentParent(_precedingComment);
-  }
-
-  @override
-  void applyDelta(int delta) {
-    super.applyDelta(delta);
-    Token token = precedingComments;
-    while (token != null) {
-      token.applyDelta(delta);
-      token = token.next;
-    }
-  }
-
-  @override
-  Token copy() => new StringTokenWithComment(
-      type, lexeme, offset, copyComments(precedingComments));
-}
+export 'package:front_end/src/scanner/token.dart'
+    show
+        BeginToken,
+        BeginTokenWithComment,
+        CommentToken,
+        DocumentationCommentToken,
+        KeywordToken,
+        KeywordTokenWithComment,
+        SimpleToken,
+        StringToken,
+        StringTokenWithComment,
+        TokenClass,
+        TokenWithComment;
 
 /**
  * A token whose value is independent of it's type.
@@ -413,162 +34,3 @@
   @override
   bool get isSynthetic => true;
 }
-
-/**
- * The classes (or groups) of tokens with a similar use.
- */
-class TokenClass {
-  /**
-   * A value used to indicate that the token type is not part of any specific
-   * class of token.
-   */
-  static const TokenClass NO_CLASS = const TokenClass('NO_CLASS');
-
-  /**
-   * A value used to indicate that the token type is an additive operator.
-   */
-  static const TokenClass ADDITIVE_OPERATOR =
-      const TokenClass('ADDITIVE_OPERATOR', 13);
-
-  /**
-   * A value used to indicate that the token type is an assignment operator.
-   */
-  static const TokenClass ASSIGNMENT_OPERATOR =
-      const TokenClass('ASSIGNMENT_OPERATOR', 1);
-
-  /**
-   * A value used to indicate that the token type is a bitwise-and operator.
-   */
-  static const TokenClass BITWISE_AND_OPERATOR =
-      const TokenClass('BITWISE_AND_OPERATOR', 11);
-
-  /**
-   * A value used to indicate that the token type is a bitwise-or operator.
-   */
-  static const TokenClass BITWISE_OR_OPERATOR =
-      const TokenClass('BITWISE_OR_OPERATOR', 9);
-
-  /**
-   * A value used to indicate that the token type is a bitwise-xor operator.
-   */
-  static const TokenClass BITWISE_XOR_OPERATOR =
-      const TokenClass('BITWISE_XOR_OPERATOR', 10);
-
-  /**
-   * A value used to indicate that the token type is a cascade operator.
-   */
-  static const TokenClass CASCADE_OPERATOR =
-      const TokenClass('CASCADE_OPERATOR', 2);
-
-  /**
-   * A value used to indicate that the token type is a conditional operator.
-   */
-  static const TokenClass CONDITIONAL_OPERATOR =
-      const TokenClass('CONDITIONAL_OPERATOR', 3);
-
-  /**
-   * A value used to indicate that the token type is an equality operator.
-   */
-  static const TokenClass EQUALITY_OPERATOR =
-      const TokenClass('EQUALITY_OPERATOR', 7);
-
-  /**
-   * A value used to indicate that the token type is an if-null operator.
-   */
-  static const TokenClass IF_NULL_OPERATOR =
-      const TokenClass('IF_NULL_OPERATOR', 4);
-
-  /**
-   * A value used to indicate that the token type is a logical-and operator.
-   */
-  static const TokenClass LOGICAL_AND_OPERATOR =
-      const TokenClass('LOGICAL_AND_OPERATOR', 6);
-
-  /**
-   * A value used to indicate that the token type is a logical-or operator.
-   */
-  static const TokenClass LOGICAL_OR_OPERATOR =
-      const TokenClass('LOGICAL_OR_OPERATOR', 5);
-
-  /**
-   * A value used to indicate that the token type is a multiplicative operator.
-   */
-  static const TokenClass MULTIPLICATIVE_OPERATOR =
-      const TokenClass('MULTIPLICATIVE_OPERATOR', 14);
-
-  /**
-   * A value used to indicate that the token type is a relational operator.
-   */
-  static const TokenClass RELATIONAL_OPERATOR =
-      const TokenClass('RELATIONAL_OPERATOR', 8);
-
-  /**
-   * A value used to indicate that the token type is a shift operator.
-   */
-  static const TokenClass SHIFT_OPERATOR =
-      const TokenClass('SHIFT_OPERATOR', 12);
-
-  /**
-   * A value used to indicate that the token type is a unary operator.
-   */
-  static const TokenClass UNARY_POSTFIX_OPERATOR =
-      const TokenClass('UNARY_POSTFIX_OPERATOR', 16);
-
-  /**
-   * A value used to indicate that the token type is a unary operator.
-   */
-  static const TokenClass UNARY_PREFIX_OPERATOR =
-      const TokenClass('UNARY_PREFIX_OPERATOR', 15);
-
-  /**
-   * The name of the token class.
-   */
-  final String name;
-
-  /**
-   * The precedence of tokens of this class, or `0` if the such tokens do not
-   * represent an operator.
-   */
-  final int precedence;
-
-  /**
-   * Initialize a newly created class of tokens to have the given [name] and
-   * [precedence].
-   */
-  const TokenClass(this.name, [this.precedence = 0]);
-
-  @override
-  String toString() => name;
-}
-
-/**
- * A normal token that is preceded by comments.
- */
-class TokenWithComment extends SimpleToken {
-  /**
-   * The first comment in the list of comments that precede this token.
-   */
-  CommentToken _precedingComment;
-
-  /**
-   * Initialize a newly created token to have the given [type] at the given
-   * [offset] and to be preceded by the comments reachable from the given
-   * [comment].
-   */
-  TokenWithComment(TokenType type, int offset, this._precedingComment)
-      : super(type, offset) {
-    _setCommentParent(_precedingComment);
-  }
-
-  @override
-  CommentToken get precedingComments => _precedingComment;
-
-  void set precedingComments(CommentToken comment) {
-    _precedingComment = comment;
-    _setCommentParent(_precedingComment);
-  }
-
-  @override
-  Token copy() =>
-      new TokenWithComment(type, offset, copyComments(precedingComments));
-}
diff --git a/pkg/analyzer/lib/src/dart/ast/utilities.dart b/pkg/analyzer/lib/src/dart/ast/utilities.dart
index 654772c..8e45f3c 100644
--- a/pkg/analyzer/lib/src/dart/ast/utilities.dart
+++ b/pkg/analyzer/lib/src/dart/ast/utilities.dart
@@ -143,6 +143,16 @@
       cloneNode(node.type));
 
   @override
+  AstNode visitAssertInitializer(AssertInitializer node) =>
+      new AssertInitializer(
+          cloneToken(node.assertKeyword),
+          cloneToken(node.leftParenthesis),
+          cloneNode(node.condition),
+          cloneToken(node.comma),
+          cloneNode(node.message),
+          cloneToken(node.rightParenthesis));
+
+  @override
   AstNode visitAssertStatement(AssertStatement node) => new AssertStatement(
       cloneToken(node.assertKeyword),
       cloneToken(node.leftParenthesis),
@@ -1116,6 +1126,17 @@
   }
 
   @override
+  bool visitAssertInitializer(AssertInitializer node) {
+    AssertStatement other = _other as AssertStatement;
+    return isEqualTokens(node.assertKeyword, other.assertKeyword) &&
+        isEqualTokens(node.leftParenthesis, other.leftParenthesis) &&
+        isEqualNodes(node.condition, other.condition) &&
+        isEqualTokens(node.comma, other.comma) &&
+        isEqualNodes(node.message, other.message) &&
+        isEqualTokens(node.rightParenthesis, other.rightParenthesis);
+  }
+
+  @override
   bool visitAssertStatement(AssertStatement node) {
     AssertStatement other = _other as AssertStatement;
     return isEqualTokens(node.assertKeyword, other.assertKeyword) &&
@@ -2763,6 +2784,16 @@
   }
 
   @override
+  AstNode visitAssertInitializer(AssertInitializer node) =>
+      new AssertInitializer(
+          _mapToken(node.assertKeyword),
+          _mapToken(node.leftParenthesis),
+          _cloneNode(node.condition),
+          _mapToken(node.comma),
+          _cloneNode(node.message),
+          _mapToken(node.rightParenthesis));
+
+  @override
   AstNode visitAssertStatement(AssertStatement node) => new AssertStatement(
       _mapToken(node.assertKeyword),
       _mapToken(node.leftParenthesis),
@@ -4043,6 +4074,19 @@
   }
 
   @override
+  bool visitAssertInitializer(AssertInitializer node) {
+    if (identical(node.condition, _oldNode)) {
+      node.condition = _newNode as Expression;
+      return true;
+    }
+    if (identical(node.message, _oldNode)) {
+      node.message = _newNode as Expression;
+      return true;
+    }
+    return visitNode(node);
+  }
+
+  @override
   bool visitAssertStatement(AssertStatement node) {
     if (identical(node.condition, _oldNode)) {
       node.condition = _newNode as Expression;
@@ -5221,6 +5265,18 @@
   }
 
   @override
+  bool visitAssertInitializer(AssertInitializer node) {
+    AssertInitializer toNode = this._toNode as AssertInitializer;
+    return _and(
+        _isEqualTokens(node.assertKeyword, toNode.assertKeyword),
+        _isEqualTokens(node.leftParenthesis, toNode.leftParenthesis),
+        _isEqualNodes(node.condition, toNode.condition),
+        _isEqualTokens(node.comma, toNode.comma),
+        _isEqualNodes(node.message, toNode.message),
+        _isEqualTokens(node.rightParenthesis, toNode.rightParenthesis));
+  }
+
+  @override
   bool visitAssertStatement(AssertStatement node) {
     AssertStatement toNode = this._toNode as AssertStatement;
     return _and(
@@ -6817,6 +6873,18 @@
   }
 
   @override
+  bool visitAssertInitializer(AssertInitializer node) {
+    _writer.print("assert (");
+    _visitNode(node.condition);
+    if (node.message != null) {
+      _writer.print(', ');
+      _visitNode(node.message);
+    }
+    _writer.print(")");
+    return null;
+  }
+
+  @override
   Object visitAssertStatement(AssertStatement node) {
     _writer.print("assert (");
     _visitNode(node.condition);
@@ -8092,6 +8160,18 @@
   }
 
   @override
+  bool visitAssertInitializer(AssertInitializer node) {
+    sink.write("assert (");
+    safelyVisitNode(node.condition);
+    if (node.message != null) {
+      sink.write(', ');
+      safelyVisitNode(node.message);
+    }
+    sink.write(");");
+    return null;
+  }
+
+  @override
   Object visitAssertStatement(AssertStatement node) {
     sink.write("assert (");
     safelyVisitNode(node.condition);
diff --git a/pkg/analyzer/lib/src/dart/element/builder.dart b/pkg/analyzer/lib/src/dart/element/builder.dart
index b421e75..17af70d 100644
--- a/pkg/analyzer/lib/src/dart/element/builder.dart
+++ b/pkg/analyzer/lib/src/dart/element/builder.dart
@@ -155,7 +155,7 @@
     element.labels = holder.labels;
     element.localVariables = holder.localVariables;
     element.parameters = holder.parameters;
-    element.const2 = node.constKeyword != null;
+    element.isConst = node.constKeyword != null;
     if (body.isAsynchronous) {
       element.asynchronous = true;
     }
@@ -198,8 +198,8 @@
       SimpleIdentifier constantName = constant.name;
       FieldElementImpl constantField =
           new ConstFieldElementImpl.forNode(constantName);
-      constantField.static = true;
-      constantField.const3 = true;
+      constantField.isStatic = true;
+      constantField.isConst = true;
       constantField.type = enumType;
       setElementDocumentationComment(constantField, constant);
       fields.add(constantField);
@@ -235,8 +235,8 @@
       FieldFormalParameterElementImpl parameter =
           new FieldFormalParameterElementImpl.forNode(parameterName);
       _setCodeRange(parameter, node);
-      parameter.const3 = node.isConst;
-      parameter.final2 = node.isFinal;
+      parameter.isConst = node.isConst;
+      parameter.isFinal = node.isFinal;
       parameter.parameterKind = node.kind;
       if (field != null) {
         parameter.field = field;
@@ -304,8 +304,8 @@
             .getTopLevelVariable(propertyName) as TopLevelVariableElementImpl;
         if (variable == null) {
           variable = new TopLevelVariableElementImpl(node.name.name, -1);
-          variable.final2 = true;
-          variable.synthetic = true;
+          variable.isFinal = true;
+          variable.isSynthetic = true;
           _currentHolder.addTopLevelVariable(variable);
         }
         if (node.isGetter) {
@@ -328,7 +328,7 @@
           }
           getter.variable = variable;
           getter.getter = true;
-          getter.static = true;
+          getter.isStatic = true;
           variable.getter = getter;
           if (node.returnType == null) {
             getter.hasImplicitReturnType = true;
@@ -357,12 +357,12 @@
           }
           setter.variable = variable;
           setter.setter = true;
-          setter.static = true;
+          setter.isStatic = true;
           if (node.returnType == null) {
             setter.hasImplicitReturnType = true;
           }
           variable.setter = setter;
-          variable.final2 = false;
+          variable.isFinal = false;
           _currentHolder.addAccessor(setter);
           expression.element = setter;
           propertyNameNode.staticElement = setter;
@@ -471,7 +471,7 @@
         element.labels = holder.labels;
         element.localVariables = holder.localVariables;
         element.parameters = holder.parameters;
-        element.static = isStatic;
+        element.isStatic = isStatic;
         element.typeParameters = holder.typeParameters;
         if (body.isAsynchronous) {
           element.asynchronous = true;
@@ -491,9 +491,9 @@
             synthetic: true) as FieldElementImpl;
         if (field == null) {
           field = new FieldElementImpl(node.name.name, -1);
-          field.final2 = true;
-          field.static = isStatic;
-          field.synthetic = true;
+          field.isFinal = true;
+          field.isStatic = isStatic;
+          field.isSynthetic = true;
           _currentHolder.addField(field);
         }
         if (node.isGetter) {
@@ -517,7 +517,7 @@
           getter.variable = field;
           getter.abstract = node.isAbstract;
           getter.getter = true;
-          getter.static = isStatic;
+          getter.isStatic = isStatic;
           field.getter = getter;
           if (node.returnType == null) {
             getter.hasImplicitReturnType = true;
@@ -546,12 +546,12 @@
           setter.variable = field;
           setter.abstract = node.isAbstract;
           setter.setter = true;
-          setter.static = isStatic;
+          setter.isStatic = isStatic;
           if (node.returnType == null) {
             setter.hasImplicitReturnType = true;
           }
           field.setter = setter;
-          field.final2 = false;
+          field.isFinal = false;
           _currentHolder.addAccessor(setter);
           propertyNameNode.staticElement = setter;
         }
@@ -621,7 +621,7 @@
         field = new FieldElementImpl.forNode(fieldName);
       }
       element = field;
-      field.static = fieldNode.isStatic;
+      field.isStatic = fieldNode.isStatic;
       _setCodeRange(element, node);
       setElementDocumentationComment(element, fieldNode);
       field.hasImplicitType = varList.type == null;
@@ -644,8 +644,8 @@
       _currentHolder.addTopLevelVariable(variable);
       variableName.staticElement = element;
     }
-    element.const3 = isConst;
-    element.final2 = isFinal;
+    element.isConst = isConst;
+    element.isFinal = isFinal;
     if (element is PropertyInducingElementImpl) {
       PropertyAccessorElementImpl_ImplicitGetter getter =
           new PropertyAccessorElementImpl_ImplicitGetter(element);
@@ -699,7 +699,7 @@
       ClassElementImpl definingClass) {
     ConstructorElementImpl constructor =
         new ConstructorElementImpl.forNode(null);
-    constructor.synthetic = true;
+    constructor.isSynthetic = true;
     constructor.enclosingElement = definingClass;
     return <ConstructorElement>[constructor];
   }
@@ -867,7 +867,7 @@
     if (!explicitlyImportsCore && coreLibrarySource != librarySource) {
       ImportElementImpl importElement = new ImportElementImpl(-1);
       importElement.importedLibrary = importLibraryMap[coreLibrarySource];
-      importElement.synthetic = true;
+      importElement.isSynthetic = true;
       imports.add(importElement);
     }
     //
@@ -1137,8 +1137,8 @@
     element.metadata = _createElementAnnotations(node.metadata);
     ForEachStatement statement = node.parent as ForEachStatement;
     element.setVisibleRange(statement.offset, statement.length);
-    element.const3 = node.isConst;
-    element.final2 = node.isFinal;
+    element.isConst = node.isConst;
+    element.isFinal = node.isFinal;
     if (node.type == null) {
       element.hasImplicitType = true;
     }
@@ -1283,8 +1283,8 @@
     element.hasImplicitType = varList.type == null;
     _currentHolder.addLocalVariable(element);
     variableName.staticElement = element;
-    element.const3 = isConst;
-    element.final2 = isFinal;
+    element.isConst = isConst;
+    element.isFinal = isFinal;
     buildVariableInitializer(element, initializerNode);
     return null;
   }
@@ -1344,7 +1344,7 @@
       initializer.labels = holder.labels;
       initializer.localVariables = holder.localVariables;
       initializer.parameters = holder.parameters;
-      initializer.synthetic = true;
+      initializer.isSynthetic = true;
       initializer.type = new FunctionTypeImpl(initializer);
       parameter.initializer = initializer;
       parameter.defaultValueCode = defaultValue.toSource();
@@ -1367,7 +1367,7 @@
       initializerElement.functions = holder.functions;
       initializerElement.labels = holder.labels;
       initializerElement.localVariables = holder.localVariables;
-      initializerElement.synthetic = true;
+      initializerElement.isSynthetic = true;
       initializerElement.type = new FunctionTypeImpl(initializerElement);
       variable.initializer = initializerElement;
       holder.validate();
@@ -1388,8 +1388,8 @@
       parameter = new DefaultParameterElementImpl.forNode(parameterName);
     }
     _setCodeRange(parameter, node);
-    parameter.const3 = node.isConst;
-    parameter.final2 = node.isFinal;
+    parameter.isConst = node.isConst;
+    parameter.isFinal = node.isFinal;
     parameter.parameterKind = node.kind;
     // visible range
     _setParameterVisibleRange(node, parameter);
@@ -1436,8 +1436,8 @@
       ParameterElementImpl parameter =
           new ParameterElementImpl.forNode(parameterName);
       _setCodeRange(parameter, node);
-      parameter.const3 = node.isConst;
-      parameter.final2 = node.isFinal;
+      parameter.isConst = node.isConst;
+      parameter.isFinal = node.isFinal;
       parameter.parameterKind = node.kind;
       _setParameterVisibleRange(node, parameter);
       if (node.type == null) {
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 3e29c82..dbb50df 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -546,7 +546,7 @@
       // Ensure at least implicit default constructor.
       if (_constructors.isEmpty) {
         ConstructorElementImpl constructor = new ConstructorElementImpl('', -1);
-        constructor.synthetic = true;
+        constructor.isSynthetic = true;
         constructor.enclosingElement = this;
         _constructors = <ConstructorElement>[constructor];
       }
@@ -1149,7 +1149,7 @@
         .map((ConstructorElement superclassConstructor) {
       ConstructorElementImpl implicitConstructor =
           new ConstructorElementImpl(superclassConstructor.name, -1);
-      implicitConstructor.synthetic = true;
+      implicitConstructor.isSynthetic = true;
       implicitConstructor.redirectedConstructor = superclassConstructor;
       List<ParameterElement> superParameters = superclassConstructor.parameters;
       int count = superParameters.length;
@@ -1160,10 +1160,10 @@
           ParameterElement superParameter = superParameters[i];
           ParameterElementImpl implicitParameter =
               new ParameterElementImpl(superParameter.name, -1);
-          implicitParameter.const3 = superParameter.isConst;
-          implicitParameter.final2 = superParameter.isFinal;
+          implicitParameter.isConst = superParameter.isConst;
+          implicitParameter.isFinal = superParameter.isFinal;
           implicitParameter.parameterKind = superParameter.parameterKind;
-          implicitParameter.synthetic = true;
+          implicitParameter.isSynthetic = true;
           implicitParameter.type =
               superParameter.type.substitute2(argumentTypes, parameterTypes);
           implicitParameters[i] = implicitParameter;
@@ -1221,12 +1221,12 @@
           field = new FieldElementImpl(fieldName, -1);
           implicitFields[fieldName] = field;
           field.enclosingElement = this;
-          field.synthetic = true;
-          field.final2 = e.kind == UnlinkedExecutableKind.getter;
+          field.isSynthetic = true;
+          field.isFinal = e.kind == UnlinkedExecutableKind.getter;
           field.type = fieldType;
-          field.static = e.isStatic;
+          field.isStatic = e.isStatic;
         } else {
-          field.final2 = false;
+          field.isFinal = false;
         }
         accessor.variable = field;
         if (e.kind == UnlinkedExecutableKind.getter) {
@@ -1857,7 +1857,7 @@
 class ConstFieldElementImpl_EnumValues extends ConstFieldElementImpl_ofEnum {
   ConstFieldElementImpl_EnumValues(EnumElementImpl enumElement)
       : super(enumElement) {
-    synthetic = true;
+    isSynthetic = true;
   }
 
   @override
@@ -1899,28 +1899,28 @@
   }
 
   @override
-  void set const3(bool isConst) {
-    assert(false);
-  }
-
-  @override
   void set evaluationResult(_) {
     assert(false);
   }
 
   @override
-  void set final2(bool isFinal) {
-    assert(false);
-  }
-
-  @override
   bool get isConst => true;
 
   @override
+  void set isConst(bool isConst) {
+    assert(false);
+  }
+
+  @override
+  void set isFinal(bool isFinal) {
+    assert(false);
+  }
+
+  @override
   bool get isStatic => true;
 
   @override
-  void set static(bool isStatic) {
+  void set isStatic(bool isStatic) {
     assert(false);
   }
 
@@ -2005,14 +2005,6 @@
       UnlinkedExecutable serializedExecutable, ClassElementImpl enclosingClass)
       : super.forSerialized(serializedExecutable, enclosingClass);
 
-  /**
-   * Set whether this constructor represents a 'const' constructor.
-   */
-  void set const2(bool isConst) {
-    _assertNotResynthesized(serializedExecutable);
-    setModifier(Modifier.CONST, isConst);
-  }
-
   List<ConstructorInitializer> get constantInitializers {
     if (serializedExecutable != null && _constantInitializers == null) {
       _constantInitializers ??= serializedExecutable.constantInitializers
@@ -2052,6 +2044,14 @@
     return hasModifier(Modifier.CONST);
   }
 
+  /**
+   * Set whether this constructor represents a 'const' constructor.
+   */
+  void set isConst(bool isConst) {
+    _assertNotResynthesized(serializedExecutable);
+    setModifier(Modifier.CONST, isConst);
+  }
+
   bool get isCycleFree {
     if (serializedExecutable != null) {
       return serializedExecutable.isConst &&
@@ -2888,6 +2888,13 @@
   @override
   bool get isSynthetic => hasModifier(Modifier.SYNTHETIC);
 
+  /**
+   * Set whether this element is synthetic.
+   */
+  void set isSynthetic(bool isSynthetic) {
+    setModifier(Modifier.SYNTHETIC, isSynthetic);
+  }
+
   @override
   LibraryElement get library =>
       getAncestor((element) => element is LibraryElement);
@@ -2952,13 +2959,6 @@
   }
 
   /**
-   * Set whether this element is synthetic.
-   */
-  void set synthetic(bool isSynthetic) {
-    setModifier(Modifier.SYNTHETIC, isSynthetic);
-  }
-
-  /**
    * Return the context to resolve type parameters in, or `null` if neither this
    * element nor any of its ancestors is of a kind that can declare type
    * parameters.
@@ -3519,8 +3519,8 @@
     // Build the 'index' field.
     fields.add(new FieldElementImpl('index', -1)
       ..enclosingElement = this
-      ..synthetic = true
-      ..final2 = true
+      ..isSynthetic = true
+      ..isFinal = true
       ..type = context.typeProvider.intType);
     // Build the 'values' field.
     fields.add(new ConstFieldElementImpl_EnumValues(this));
@@ -4220,6 +4220,14 @@
     return hasModifier(Modifier.STATIC);
   }
 
+  /**
+   * Set whether this field is static.
+   */
+  void set isStatic(bool isStatic) {
+    _assertNotResynthesized(_unlinkedVariable);
+    setModifier(Modifier.STATIC, isStatic);
+  }
+
   @override
   bool get isVirtual {
     for (ElementAnnotationImpl annotation in metadata) {
@@ -4233,14 +4241,6 @@
   @override
   ElementKind get kind => ElementKind.FIELD;
 
-  /**
-   * Set whether this field is static.
-   */
-  void set static(bool isStatic) {
-    _assertNotResynthesized(_unlinkedVariable);
-    setModifier(Modifier.STATIC, isStatic);
-  }
-
   @override
   accept(ElementVisitor visitor) => visitor.visitFieldElement(this);
 
@@ -4370,7 +4370,7 @@
   FunctionElementImpl.synthetic(
       List<ParameterElement> parameters, DartType returnType)
       : super("", -1) {
-    synthetic = true;
+    isSynthetic = true;
     this.returnType = returnType;
     this.parameters = parameters;
 
@@ -5461,14 +5461,20 @@
           _unlinkedDefiningUnit.exports.length == unlinkedPublicExports.length);
       int length = unlinkedNonPublicExports.length;
       if (length != 0) {
-        List<ExportElement> exports = new List<ExportElement>(length);
+        List<ExportElement> exports = new List<ExportElement>();
         for (int i = 0; i < length; i++) {
           UnlinkedExportPublic serializedExportPublic =
               unlinkedPublicExports[i];
-          UnlinkedExportNonPublic serializedExportNonPublic =
-              unlinkedNonPublicExports[i];
-          exports[i] = new ExportElementImpl.forSerialized(
-              serializedExportPublic, serializedExportNonPublic, library);
+          LibraryElement exportedLibrary = resynthesizerContext
+              .buildExportedLibrary(serializedExportPublic.uri);
+          if (exportedLibrary != null) {
+            UnlinkedExportNonPublic serializedExportNonPublic =
+                unlinkedNonPublicExports[i];
+            ExportElementImpl exportElement =
+                new ExportElementImpl.forSerialized(
+                    serializedExportPublic, serializedExportNonPublic, library);
+            exports.add(exportElement);
+          }
         }
         _exports = exports;
       } else {
@@ -5534,11 +5540,18 @@
       List<UnlinkedImport> unlinkedImports = _unlinkedDefiningUnit.imports;
       int length = unlinkedImports.length;
       if (length != 0) {
-        List<ImportElement> imports = new List<ImportElement>(length);
+        List<ImportElement> imports = new List<ImportElement>();
         LinkedLibrary linkedLibrary = resynthesizerContext.linkedLibrary;
         for (int i = 0; i < length; i++) {
-          imports[i] = new ImportElementImpl.forSerialized(
-              unlinkedImports[i], linkedLibrary.importDependencies[i], library);
+          int dependency = linkedLibrary.importDependencies[i];
+          LibraryElement importedLibrary =
+              resynthesizerContext.buildImportedLibrary(dependency);
+          if (importedLibrary != null) {
+            ImportElementImpl importElement =
+                new ImportElementImpl.forSerialized(
+                    unlinkedImports[i], dependency, library);
+            imports.add(importElement);
+          }
         }
         _imports = imports;
       } else {
@@ -5784,7 +5797,7 @@
   void createLoadLibraryFunction(TypeProvider typeProvider) {
     FunctionElementImpl function =
         new FunctionElementImpl(FunctionElement.LOAD_LIBRARY_NAME, -1);
-    function.synthetic = true;
+    function.isSynthetic = true;
     function.enclosingElement = this;
     function.returnType = typeProvider.futureDynamicType;
     function.type = new FunctionTypeImpl(function);
@@ -6164,6 +6177,14 @@
     return hasModifier(Modifier.STATIC);
   }
 
+  /**
+   * Set whether this method is static.
+   */
+  void set isStatic(bool isStatic) {
+    _assertNotResynthesized(serializedExecutable);
+    setModifier(Modifier.STATIC, isStatic);
+  }
+
   @override
   ElementKind get kind => ElementKind.METHOD;
 
@@ -6176,14 +6197,6 @@
     return super.name;
   }
 
-  /**
-   * Set whether this method is static.
-   */
-  void set static(bool isStatic) {
-    _assertNotResynthesized(serializedExecutable);
-    setModifier(Modifier.STATIC, isStatic);
-  }
-
   @override
   accept(ElementVisitor visitor) => visitor.visitMethodElement(this);
 
@@ -6593,7 +6606,7 @@
   List<ExecutableElement> _elements = MethodElement.EMPTY_LIST;
 
   MultiplyInheritedMethodElementImpl(Identifier name) : super.forNode(name) {
-    synthetic = true;
+    isSynthetic = true;
   }
 
   @override
@@ -6619,7 +6632,7 @@
 
   MultiplyInheritedPropertyAccessorElementImpl(Identifier name)
       : super.forNode(name) {
-    synthetic = true;
+    isSynthetic = true;
   }
 
   @override
@@ -6681,12 +6694,6 @@
   }
 
   @override
-  void set const3(bool isConst) {
-    _assertNotResynthesized(_unlinkedVariable);
-    super.const3 = isConst;
-  }
-
-  @override
   String get documentationComment {
     if (_unlinkedVariable != null) {
       return _unlinkedVariable?.documentationComment?.text;
@@ -6695,12 +6702,6 @@
   }
 
   @override
-  void set final2(bool isFinal) {
-    _assertNotResynthesized(_unlinkedVariable);
-    super.final2 = isFinal;
-  }
-
-  @override
   bool get hasImplicitType {
     if (_unlinkedVariable != null) {
       return _unlinkedVariable.type == null;
@@ -6720,7 +6721,7 @@
       UnlinkedExecutable unlinkedInitializer = _unlinkedVariable.initializer;
       if (unlinkedInitializer != null) {
         _initializer = new FunctionElementImpl.forSerialized(
-            unlinkedInitializer, this)..synthetic = true;
+            unlinkedInitializer, this)..isSynthetic = true;
       } else {
         return null;
       }
@@ -6746,6 +6747,12 @@
   }
 
   @override
+  void set isConst(bool isConst) {
+    _assertNotResynthesized(_unlinkedVariable);
+    super.isConst = isConst;
+  }
+
+  @override
   bool get isFinal {
     if (_unlinkedVariable != null) {
       return _unlinkedVariable.isFinal;
@@ -6754,6 +6761,12 @@
   }
 
   @override
+  void set isFinal(bool isFinal) {
+    _assertNotResynthesized(_unlinkedVariable);
+    super.isFinal = isFinal;
+  }
+
+  @override
   List<ElementAnnotation> get metadata {
     if (_unlinkedVariable != null) {
       return _metadata ??=
@@ -6895,7 +6908,7 @@
             unlinkedParameter, enclosingElement);
       }
     }
-    element.synthetic = synthetic;
+    element.isSynthetic = synthetic;
     return element;
   }
 
@@ -6906,7 +6919,7 @@
       String name, DartType type, ParameterKind kind) {
     ParameterElementImpl element = new ParameterElementImpl(name, -1);
     element.type = type;
-    element.synthetic = true;
+    element.isSynthetic = true;
     element.parameterKind = kind;
     return element;
   }
@@ -6928,12 +6941,6 @@
   }
 
   @override
-  void set const3(bool isConst) {
-    _assertNotResynthesized(_unlinkedParam);
-    super.const3 = isConst;
-  }
-
-  @override
   String get defaultValueCode {
     if (_unlinkedParam != null) {
       if (_unlinkedParam.initializer?.bodyExpr == null) {
@@ -6953,12 +6960,6 @@
   }
 
   @override
-  void set final2(bool isFinal) {
-    _assertNotResynthesized(_unlinkedParam);
-    super.final2 = isFinal;
-  }
-
-  @override
   bool get hasImplicitType {
     if (_unlinkedParam != null) {
       return _unlinkedParam.type == null;
@@ -7000,7 +7001,7 @@
       UnlinkedExecutable unlinkedInitializer = _unlinkedParam.initializer;
       if (unlinkedInitializer != null) {
         _initializer = new FunctionElementImpl.forSerialized(
-            unlinkedInitializer, this)..synthetic = true;
+            unlinkedInitializer, this)..isSynthetic = true;
       } else {
         return null;
       }
@@ -7026,6 +7027,12 @@
   }
 
   @override
+  void set isConst(bool isConst) {
+    _assertNotResynthesized(_unlinkedParam);
+    super.isConst = isConst;
+  }
+
+  @override
   bool get isCovariant {
     if (inheritsCovariant) {
       return true;
@@ -7047,6 +7054,12 @@
   }
 
   @override
+  void set isFinal(bool isFinal) {
+    _assertNotResynthesized(_unlinkedParam);
+    super.isFinal = isFinal;
+  }
+
+  @override
   bool get isInitializingFormal => false;
 
   @override
@@ -7291,7 +7304,7 @@
       : setter = setter,
         super('_${setter.variable.name}', setter.variable.nameOffset) {
     enclosingElement = setter;
-    synthetic = true;
+    isSynthetic = true;
     parameterKind = ParameterKind.REQUIRED;
   }
 
@@ -7453,8 +7466,8 @@
   PropertyAccessorElementImpl.forVariable(PropertyInducingElementImpl variable)
       : super(variable.name, variable.nameOffset) {
     this.variable = variable;
-    static = variable.isStatic;
-    synthetic = true;
+    isStatic = variable.isStatic;
+    isSynthetic = true;
   }
 
   /**
@@ -7544,6 +7557,14 @@
     return hasModifier(Modifier.STATIC);
   }
 
+  /**
+   * Set whether this accessor is static.
+   */
+  void set isStatic(bool isStatic) {
+    _assertNotResynthesized(serializedExecutable);
+    setModifier(Modifier.STATIC, isStatic);
+  }
+
   @override
   ElementKind get kind {
     if (isGetter) {
@@ -7571,14 +7592,6 @@
     setModifier(Modifier.SETTER, isSetter);
   }
 
-  /**
-   * Set whether this accessor is static.
-   */
-  void set static(bool isStatic) {
-    _assertNotResynthesized(serializedExecutable);
-    setModifier(Modifier.STATIC, isStatic);
-  }
-
   @override
   accept(ElementVisitor visitor) => visitor.visitPropertyAccessorElement(this);
 
@@ -7988,7 +8001,7 @@
       : _unlinkedTypeParam = null,
         nestingLevel = null,
         super(name, -1) {
-    synthetic = true;
+    isSynthetic = true;
   }
 
   DartType get bound {
@@ -8344,13 +8357,6 @@
       : super.forSerialized(enclosingElement);
 
   /**
-   * Set whether this variable is const.
-   */
-  void set const3(bool isConst) {
-    setModifier(Modifier.CONST, isConst);
-  }
-
-  /**
    * If this element represents a constant variable, and it has an initializer,
    * a copy of the initializer for the constant.  Otherwise `null`.
    *
@@ -8388,13 +8394,6 @@
         "Invalid attempt to set a compile-time constant result");
   }
 
-  /**
-   * Set whether this variable is final.
-   */
-  void set final2(bool isFinal) {
-    setModifier(Modifier.FINAL, isFinal);
-  }
-
   @override
   bool get hasImplicitType {
     return hasModifier(Modifier.IMPLICIT_TYPE);
@@ -8426,11 +8425,25 @@
     return hasModifier(Modifier.CONST);
   }
 
+  /**
+   * Set whether this variable is const.
+   */
+  void set isConst(bool isConst) {
+    setModifier(Modifier.CONST, isConst);
+  }
+
   @override
   bool get isFinal {
     return hasModifier(Modifier.FINAL);
   }
 
+  /**
+   * Set whether this variable is final.
+   */
+  void set isFinal(bool isFinal) {
+    setModifier(Modifier.FINAL, isFinal);
+  }
+
   @override
   bool get isPotentiallyMutatedInClosure => false;
 
diff --git a/pkg/analyzer/lib/src/dart/error/hint_codes.dart b/pkg/analyzer/lib/src/dart/error/hint_codes.dart
index 011b842..d9914a2 100644
--- a/pkg/analyzer/lib/src/dart/error/hint_codes.dart
+++ b/pkg/analyzer/lib/src/dart/error/hint_codes.dart
@@ -95,12 +95,6 @@
       "Try replacing the use of the deprecated member with the replacement.");
 
   /**
-   * Duplicate imports.
-   */
-  static const HintCode DUPLICATE_IMPORT = const HintCode('DUPLICATE_IMPORT',
-      "Duplicate import.", "Try removing all but one import of the library.");
-
-  /**
    * Hint to use the ~/ operator.
    */
   static const HintCode DIVISION_OPTIMIZATION = const HintCode(
@@ -109,40 +103,39 @@
       "Try re-writing the expression to use the '~/' operator.");
 
   /**
-   * Hint for the `x is double` type checks.
+   * Duplicate imports.
    */
-  static const HintCode IS_DOUBLE = const HintCode(
-      'IS_DOUBLE',
-      "When compiled to JS, this test might return true when the left hand "
-      "side is an int.",
-      "Try testing for 'num' instead.");
+  static const HintCode DUPLICATE_IMPORT = const HintCode('DUPLICATE_IMPORT',
+      "Duplicate import.", "Try removing all but one import of the library.");
 
   /**
-   * Hint for the `x is int` type checks.
+   * It is a bad practice for a source file in a package "lib" directory
+   * hierarchy to traverse outside that directory hierarchy. For example, a
+   * source file in the "lib" directory should not contain a directive such as
+   * `import '../web/some.dart'` which references a file outside the lib
+   * directory.
    */
-  static const HintCode IS_INT = const HintCode(
-      'IS_INT',
-      "When compiled to JS, this test might return true when the left hand "
-      "side is a double.",
-      "Try testing for 'num' instead.");
+  static const HintCode FILE_IMPORT_INSIDE_LIB_REFERENCES_FILE_OUTSIDE =
+  const HintCode(
+      'FILE_IMPORT_INSIDE_LIB_REFERENCES_FILE_OUTSIDE',
+      "A file in the 'lib' directory shouldn't import a file outside the "
+          "'lib' directory.",
+      "Try removing the import, or "
+          "moving the imported file inside the 'lib' directory.");
 
   /**
-   * Hint for the `x is! double` type checks.
+   * It is a bad practice for a source file ouside a package "lib" directory
+   * hierarchy to traverse into that directory hierarchy. For example, a source
+   * file in the "web" directory should not contain a directive such as
+   * `import '../lib/some.dart'` which references a file inside the lib
+   * directory.
    */
-  static const HintCode IS_NOT_DOUBLE = const HintCode(
-      'IS_NOT_DOUBLE',
-      "When compiled to JS, this test might return false when the left hand "
-      "side is an int.",
-      "Try testing for 'num' instead.");
-
-  /**
-   * Hint for the `x is! int` type checks.
-   */
-  static const HintCode IS_NOT_INT = const HintCode(
-      'IS_NOT_INT',
-      "When compiled to JS, this test might return false when the left hand "
-      "side is a double.",
-      "Try testing for 'num' instead.");
+  static const HintCode FILE_IMPORT_OUTSIDE_LIB_REFERENCES_FILE_INSIDE =
+  const HintCode(
+      'FILE_IMPORT_OUTSIDE_LIB_REFERENCES_FILE_INSIDE',
+      "A file outside the 'lib' directory shouldn't reference a file "
+          "inside the 'lib' directory using a relative path.",
+      "Try using a package: URI instead.");
 
   /**
    * Deferred libraries shouldn't define a top level function 'loadLibrary'.
@@ -199,6 +192,40 @@
       "Factory method '{0}' doesn't return a newly allocated object.");
 
   /**
+   * Generic Method DEP: number of type parameters must match.
+   * <https://github.com/leafpetersen/dep-generic-methods/blob/master/proposal.md#function-subtyping>
+   *
+   * Parameters:
+   * 0: the number of type parameters in the method
+   * 1: the number of type parameters in the overridden method
+   * 2: the name of the class where the overridden method is declared
+   */
+  static const HintCode INVALID_METHOD_OVERRIDE_TYPE_PARAMETERS =
+  const HintCode(
+      'INVALID_METHOD_OVERRIDE_TYPE_PARAMETERS',
+      "The method has {0} type parameters, but it is overriding a method "
+          "with {1} type parameters from '{2}'.",
+      "Try changing the number of type parameters so that they are the same.");
+
+  /**
+   * Generic Method DEP: bounds of type parameters must be compatible.
+   * <https://github.com/leafpetersen/dep-generic-methods/blob/master/proposal.md#function-subtyping>
+   *
+   * Parameters:
+   * 0: the type parameter name
+   * 1: the type parameter bound
+   * 2: the overridden type parameter name
+   * 3: the overridden type parameter bound
+   * 4: the name of the class where the overridden method is declared
+   */
+  static const HintCode INVALID_METHOD_OVERRIDE_TYPE_PARAMETER_BOUND =
+  const HintCode(
+      'INVALID_METHOD_OVERRIDE_TYPE_PARAMETER_BOUND',
+      "The type parameter '{0}' extends '{1}', but that is stricter than "
+          "'{2}' extends '{3}' in the overridden method from '{4}'.",
+      "Try changing the bounds on the type parameters so that they are compatible.");
+
+  /**
    * This hint is generated anywhere where a member annotated with `@protected`
    * is used outside an instance member of a subclass.
    *
@@ -212,6 +239,52 @@
       "of '{1}'.");
 
   /**
+   * Hint for the `x is double` type checks.
+   */
+  static const HintCode IS_DOUBLE = const HintCode(
+      'IS_DOUBLE',
+      "When compiled to JS, this test might return true when the left hand "
+          "side is an int.",
+      "Try testing for 'num' instead.");
+
+  /**
+   * Hint for the `x is int` type checks.
+   */
+  static const HintCode IS_INT = const HintCode(
+      'IS_INT',
+      "When compiled to JS, this test might return true when the left hand "
+          "side is a double.",
+      "Try testing for 'num' instead.");
+
+  /**
+   * Hint for the `x is! double` type checks.
+   */
+  static const HintCode IS_NOT_DOUBLE = const HintCode(
+      'IS_NOT_DOUBLE',
+      "When compiled to JS, this test might return false when the left hand "
+          "side is an int.",
+      "Try testing for 'num' instead.");
+
+  /**
+   * Hint for the `x is! int` type checks.
+   */
+  static const HintCode IS_NOT_INT = const HintCode(
+      'IS_NOT_INT',
+      "When compiled to JS, this test might return false when the left hand "
+          "side is a double.",
+      "Try testing for 'num' instead.");
+
+  /**
+   * Generate a hint for an element that is annotated with `@JS(...)` whose
+   * library declaration is not similarly annotated.
+   */
+  static const HintCode MISSING_JS_LIB_ANNOTATION = const HintCode(
+      'MISSING_JS_LIB_ANNOTATION',
+      "The @JS() annotation can only be used if it is also declared on the "
+          "library directive.",
+      "Try adding the annotation to the library directive.");
+
+  /**
    * Generate a hint for a constructor, function or method invocation where a
    * required parameter is missing.
    *
@@ -234,16 +307,6 @@
       "The parameter '{0}' is required. {1}.");
 
   /**
-   * Generate a hint for an element that is annotated with `@JS(...)` whose
-   * library declaration is not similarly annotated.
-   */
-  static const HintCode MISSING_JS_LIB_ANNOTATION = const HintCode(
-      'MISSING_JS_LIB_ANNOTATION',
-      "The @JS() annotation can only be used if it is also declared on the "
-      "library directive.",
-      "Try adding the annotation to the library directive.");
-
-  /**
    * Generate a hint for methods or functions that have a return type, but do
    * not have a non-void return statement on all branches. At the end of methods
    * or functions with no return, Dart implicitly returns `null`, avoiding these
@@ -282,6 +345,17 @@
       "necessary.");
 
   /**
+   * Hint for classes that override equals, but not hashCode.
+   *
+   * Parameters:
+   * 0: the name of the current class
+   */
+  static const HintCode OVERRIDE_EQUALS_BUT_NOT_HASH_CODE = const HintCode(
+      'OVERRIDE_EQUALS_BUT_NOT_HASH_CODE',
+      "The class '{0}' overrides 'operator==', but not 'get hashCode'.",
+      "Try implementing 'hashCode'.");
+
+  /**
    * A getter with the override annotation does not override an existing getter.
    */
   static const HintCode OVERRIDE_ON_NON_OVERRIDING_GETTER = const HintCode(
@@ -318,15 +392,14 @@
       "removing the override annotation.");
 
   /**
-   * Hint for classes that override equals, but not hashCode.
-   *
-   * Parameters:
-   * 0: the name of the current class
+   * It is a bad practice for a package import to reference anything outside the
+   * given package, or more generally, it is bad practice for a package import
+   * to contain a "..". For example, a source file should not contain a
+   * directive such as `import 'package:foo/../some.dart'`.
    */
-  static const HintCode OVERRIDE_EQUALS_BUT_NOT_HASH_CODE = const HintCode(
-      'OVERRIDE_EQUALS_BUT_NOT_HASH_CODE',
-      "The class '{0}' overrides 'operator==', but not 'get hashCode'.",
-      "Try implementing 'hashCode'.");
+  static const HintCode PACKAGE_IMPORT_CONTAINS_DOT_DOT = const HintCode(
+      'PACKAGE_IMPORT_CONTAINS_DOT_DOT',
+      "A package import shouldn't contain '..'.");
 
   /**
    * Type checks of the type `x is! Null` should be done with `x != null`.
@@ -450,6 +523,25 @@
       "Try correcting the type check, or removing the type check.");
 
   /**
+   * Unused catch exception variables.
+   */
+  static const HintCode UNUSED_CATCH_CLAUSE = const HintCode(
+      'UNUSED_CATCH_CLAUSE',
+      "The exception variable '{0}' isn't used, so the 'catch' clause can be removed.",
+  // TODO(brianwilkerson) Split this error code so that we can differentiate
+  // between removing the catch clause and replacing the catch clause with
+  // an on clause.
+      "Try removing the catch clause.");
+
+  /**
+   * Unused catch stack trace variables.
+   */
+  static const HintCode UNUSED_CATCH_STACK = const HintCode(
+      'UNUSED_CATCH_STACK',
+      "The stack trace variable '{0}' isn't used and can be removed.",
+      "Try removing the stack trace variable, or using it.");
+
+  /**
    * See [Modifier.IS_USED_IN_LIBRARY].
    */
   static const HintCode UNUSED_ELEMENT = const HintCode('UNUSED_ELEMENT',
@@ -470,25 +562,6 @@
       'UNUSED_IMPORT', "Unused import.", "Try removing the import directive.");
 
   /**
-   * Unused catch exception variables.
-   */
-  static const HintCode UNUSED_CATCH_CLAUSE = const HintCode(
-      'UNUSED_CATCH_CLAUSE',
-      "The exception variable '{0}' isn't used, so the 'catch' clause can be removed.",
-      // TODO(brianwilkerson) Split this error code so that we can differentiate
-      // between removing the catch clause and replacing the catch clause with
-      // an on clause.
-      "Try removing the catch clause.");
-
-  /**
-   * Unused catch stack trace variables.
-   */
-  static const HintCode UNUSED_CATCH_STACK = const HintCode(
-      'UNUSED_CATCH_STACK',
-      "The stack trace variable '{0}' isn't used and can be removed.",
-      "Try removing the stack trace variable, or using it.");
-
-  /**
    * Unused local variables are local variables which are never read.
    */
   static const HintCode UNUSED_LOCAL_VARIABLE = const HintCode(
@@ -516,43 +589,20 @@
       "The result of '{0}' is being used, even though it is declared to be 'void'.");
 
   /**
-   * It is a bad practice for a source file in a package "lib" directory
-   * hierarchy to traverse outside that directory hierarchy. For example, a
-   * source file in the "lib" directory should not contain a directive such as
-   * `import '../web/some.dart'` which references a file outside the lib
-   * directory.
+   * It will be a static type warning if <i>m</i> is not a generic method with
+   * exactly <i>n</i> type parameters.
+   *
+   * Parameters:
+   * 0: the name of the method being referenced (<i>G</i>)
+   * 1: the number of type parameters that were declared
+   * 2: the number of type arguments provided
    */
-  static const HintCode FILE_IMPORT_INSIDE_LIB_REFERENCES_FILE_OUTSIDE =
-      const HintCode(
-          'FILE_IMPORT_INSIDE_LIB_REFERENCES_FILE_OUTSIDE',
-          "A file in the 'lib' directory shouldn't import a file outside the "
-          "'lib' directory.",
-          "Try removing the import, or "
-          "moving the imported file inside the 'lib' directory.");
-
-  /**
-   * It is a bad practice for a source file ouside a package "lib" directory
-   * hierarchy to traverse into that directory hierarchy. For example, a source
-   * file in the "web" directory should not contain a directive such as
-   * `import '../lib/some.dart'` which references a file inside the lib
-   * directory.
-   */
-  static const HintCode FILE_IMPORT_OUTSIDE_LIB_REFERENCES_FILE_INSIDE =
-      const HintCode(
-          'FILE_IMPORT_OUTSIDE_LIB_REFERENCES_FILE_INSIDE',
-          "A file outside the 'lib' directory shouldn't reference a file "
-          "inside the 'lib' directory using a relative path.",
-          "Try using a package: URI instead.");
-
-  /**
-   * It is a bad practice for a package import to reference anything outside the
-   * given package, or more generally, it is bad practice for a package import
-   * to contain a "..". For example, a source file should not contain a
-   * directive such as `import 'package:foo/../some.dart'`.
-   */
-  static const HintCode PACKAGE_IMPORT_CONTAINS_DOT_DOT = const HintCode(
-      'PACKAGE_IMPORT_CONTAINS_DOT_DOT',
-      "A package import shouldn't contain '..'.");
+  static const HintCode WRONG_NUMBER_OF_TYPE_ARGUMENTS_METHOD =
+  const HintCode(
+      'WRONG_NUMBER_OF_TYPE_ARGUMENTS_METHOD',
+      "The method '{0}' is declared with {1} type parameters, "
+          "but {2} type arguments were given.",
+      "Try adjusting the number of type arguments.");
 
   /**
    * Initialize a newly created error code to have the given [name]. The message
diff --git a/pkg/analyzer/lib/src/dart/error/syntactic_errors.dart b/pkg/analyzer/lib/src/dart/error/syntactic_errors.dart
index ffc9fab..74d54d7 100644
--- a/pkg/analyzer/lib/src/dart/error/syntactic_errors.dart
+++ b/pkg/analyzer/lib/src/dart/error/syntactic_errors.dart
@@ -9,6 +9,8 @@
 
 import 'package:analyzer/error/error.dart';
 
+export 'package:front_end/src/scanner/errors.dart' show ScannerErrorCode;
+
 /**
  * The error codes used for errors detected by the parser. The convention for
  * this class is for the name of the error code to indicate the problem that
@@ -939,57 +941,3 @@
   @override
   ErrorType get type => ErrorType.SYNTACTIC_ERROR;
 }
-
-/**
- * The error codes used for errors detected by the scanner.
- */
-class ScannerErrorCode extends ErrorCode {
-  /**
-   * Parameters:
-   * 0: the illegal character
-   */
-  static const ScannerErrorCode ILLEGAL_CHARACTER =
-      const ScannerErrorCode('ILLEGAL_CHARACTER', "Illegal character '{0}'.");
-
-  static const ScannerErrorCode MISSING_DIGIT =
-      const ScannerErrorCode('MISSING_DIGIT', "Decimal digit expected.");
-
-  static const ScannerErrorCode MISSING_HEX_DIGIT = const ScannerErrorCode(
-      'MISSING_HEX_DIGIT', "Hexidecimal digit expected.");
-
-  static const ScannerErrorCode MISSING_QUOTE =
-      const ScannerErrorCode('MISSING_QUOTE', "Expected quote (' or \").");
-
-  /**
-   * Parameters:
-   * 0: the path of the file that cannot be read
-   */
-  static const ScannerErrorCode UNABLE_GET_CONTENT = const ScannerErrorCode(
-      'UNABLE_GET_CONTENT', "Unable to get content of '{0}'.");
-
-  static const ScannerErrorCode UNTERMINATED_MULTI_LINE_COMMENT =
-      const ScannerErrorCode(
-          'UNTERMINATED_MULTI_LINE_COMMENT',
-          "Unterminated multi-line comment.",
-          "Try terminating the comment with '*/', or "
-          "removing any unbalanced occurances of '/*' (because comments nest in Dart).");
-
-  static const ScannerErrorCode UNTERMINATED_STRING_LITERAL =
-      const ScannerErrorCode(
-          'UNTERMINATED_STRING_LITERAL', "Unterminated string literal.");
-
-  /**
-   * Initialize a newly created error code to have the given [name]. The message
-   * associated with the error will be created from the given [message]
-   * template. The correction associated with the error will be created from the
-   * given [correction] template.
-   */
-  const ScannerErrorCode(String name, String message, [String correction])
-      : super(name, message, correction);
-
-  @override
-  ErrorSeverity get errorSeverity => ErrorSeverity.ERROR;
-
-  @override
-  ErrorType get type => ErrorType.SYNTACTIC_ERROR;
-}
diff --git a/pkg/analyzer/lib/src/dart/scanner/reader.dart b/pkg/analyzer/lib/src/dart/scanner/reader.dart
index 81f506e..54f367b 100644
--- a/pkg/analyzer/lib/src/dart/scanner/reader.dart
+++ b/pkg/analyzer/lib/src/dart/scanner/reader.dart
@@ -4,6 +4,10 @@
 
 library analyzer.src.dart.scanner.reader;
 
+import 'package:front_end/src/scanner/reader.dart';
+
+export 'package:front_end/src/scanner/reader.dart' show CharacterReader;
+
 /**
  * A [CharacterReader] that reads a range of characters from another character
  * reader.
@@ -57,47 +61,6 @@
 }
 
 /**
- * An object used by the scanner to read the characters to be scanned.
- */
-abstract class CharacterReader {
-  /**
-   * The current offset relative to the beginning of the source. Return the
-   * initial offset if the scanner has not yet scanned the source code, and one
-   * (1) past the end of the source code if the entire source code has been
-   * scanned.
-   */
-  int get offset;
-
-  /**
-   * Set the current offset relative to the beginning of the source to the given
-   * [offset]. The new offset must be between the initial offset and one (1)
-   * past the end of the source code.
-   */
-  void set offset(int offset);
-
-  /**
-   * Advance the current position and return the character at the new current
-   * position.
-   */
-  int advance();
-
-  /**
-   * Return the substring of the source code between the [start] offset and the
-   * modified current position. The current position is modified by adding the
-   * [endDelta], which is the number of characters after the current location to
-   * be included in the string, or the number of characters before the current
-   * location to be excluded if the offset is negative.
-   */
-  String getString(int start, int endDelta);
-
-  /**
-   * Return the character at the current position without changing the current
-   * position.
-   */
-  int peek();
-}
-
-/**
  * A [CharacterReader] that reads characters from a character sequence.
  */
 class CharSequenceReader implements CharacterReader {
diff --git a/pkg/analyzer/lib/src/dart/scanner/scanner.dart b/pkg/analyzer/lib/src/dart/scanner/scanner.dart
index 3c74e78..3f87b84 100644
--- a/pkg/analyzer/lib/src/dart/scanner/scanner.dart
+++ b/pkg/analyzer/lib/src/dart/scanner/scanner.dart
@@ -4,123 +4,15 @@
 
 library analyzer.src.dart.scanner.scanner;
 
-import 'package:analyzer/dart/ast/token.dart';
 import 'package:analyzer/error/error.dart';
 import 'package:analyzer/error/listener.dart';
-import 'package:analyzer/src/dart/ast/token.dart';
 import 'package:analyzer/src/dart/error/syntactic_errors.dart';
 import 'package:analyzer/src/dart/scanner/reader.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/source.dart';
-import 'package:charcode/ascii.dart';
+import 'package:front_end/src/scanner/scanner.dart' as fe;
 
 export 'package:analyzer/src/dart/error/syntactic_errors.dart';
-
-/**
- * A state in a state machine used to scan keywords.
- */
-class KeywordState {
-  /**
-   * An empty transition table used by leaf states.
-   */
-  static List<KeywordState> _EMPTY_TABLE = new List<KeywordState>(26);
-
-  /**
-   * The initial state in the state machine.
-   */
-  static final KeywordState KEYWORD_STATE = _createKeywordStateTable();
-
-  /**
-   * A table mapping characters to the states to which those characters will
-   * transition. (The index into the array is the offset from the character
-   * `'a'` to the transitioning character.)
-   */
-  final List<KeywordState> _table;
-
-  /**
-   * The keyword that is recognized by this state, or `null` if this state is
-   * not a terminal state.
-   */
-  Keyword _keyword;
-
-  /**
-   * Initialize a newly created state to have the given transitions and to
-   * recognize the keyword with the given [syntax].
-   */
-  KeywordState(this._table, String syntax) {
-    this._keyword = (syntax == null) ? null : Keyword.keywords[syntax];
-  }
-
-  /**
-   * Return the keyword that was recognized by this state, or `null` if this
-   * state does not recognized a keyword.
-   */
-  Keyword keyword() => _keyword;
-
-  /**
-   * Return the state that follows this state on a transition of the given
-   * [character], or `null` if there is no valid state reachable from this state
-   * with such a transition.
-   */
-  KeywordState next(int character) => _table[character - $a];
-
-  /**
-   * Create the next state in the state machine where we have already recognized
-   * the subset of strings in the given array of [strings] starting at the given
-   * [offset] and having the given [length]. All of these strings have a common
-   * prefix and the next character is at the given [start] index.
-   */
-  static KeywordState _computeKeywordStateTable(
-      int start, List<String> strings, int offset, int length) {
-    List<KeywordState> result = new List<KeywordState>(26);
-    assert(length != 0);
-    int chunk = $nul;
-    int chunkStart = -1;
-    bool isLeaf = false;
-    for (int i = offset; i < offset + length; i++) {
-      if (strings[i].length == start) {
-        isLeaf = true;
-      }
-      if (strings[i].length > start) {
-        int c = strings[i].codeUnitAt(start);
-        if (chunk != c) {
-          if (chunkStart != -1) {
-            result[chunk - $a] = _computeKeywordStateTable(
-                start + 1, strings, chunkStart, i - chunkStart);
-          }
-          chunkStart = i;
-          chunk = c;
-        }
-      }
-    }
-    if (chunkStart != -1) {
-      assert(result[chunk - $a] == null);
-      result[chunk - $a] = _computeKeywordStateTable(
-          start + 1, strings, chunkStart, offset + length - chunkStart);
-    } else {
-      assert(length == 1);
-      return new KeywordState(_EMPTY_TABLE, strings[offset]);
-    }
-    if (isLeaf) {
-      return new KeywordState(result, strings[offset]);
-    } else {
-      return new KeywordState(result, null);
-    }
-  }
-
-  /**
-   * Create and return the initial state in the state machine.
-   */
-  static KeywordState _createKeywordStateTable() {
-    List<Keyword> values = Keyword.values;
-    List<String> strings = new List<String>(values.length);
-    for (int i = 0; i < values.length; i++) {
-      strings[i] = values[i].syntax;
-    }
-    strings.sort();
-    return _computeKeywordStateTable(0, strings, 0, strings.length);
-  }
-}
+export 'package:front_end/src/scanner/scanner.dart' show KeywordState;
 
 /**
  * The class `Scanner` implements a scanner for Dart code.
@@ -132,1224 +24,31 @@
  * any context, so it always resolves such conflicts by scanning the longest
  * possible token.
  */
-class Scanner {
+class Scanner extends fe.Scanner {
   /**
    * The source being scanned.
    */
   final Source source;
 
   /**
-   * The reader used to access the characters in the source.
-   */
-  final CharacterReader _reader;
-
-  /**
    * The error listener that will be informed of any errors that are found
    * during the scan.
    */
   final AnalysisErrorListener _errorListener;
 
   /**
-   * The flag specifying whether documentation comments should be parsed.
-   */
-  bool _preserveComments = true;
-
-  /**
-   * The token pointing to the head of the linked list of tokens.
-   */
-  Token _tokens;
-
-  /**
-   * The last token that was scanned.
-   */
-  Token _tail;
-
-  /**
-   * The first token in the list of comment tokens found since the last
-   * non-comment token.
-   */
-  Token _firstComment;
-
-  /**
-   * The last token in the list of comment tokens found since the last
-   * non-comment token.
-   */
-  Token _lastComment;
-
-  /**
-   * The index of the first character of the current token.
-   */
-  int _tokenStart = 0;
-
-  /**
-   * A list containing the offsets of the first character of each line in the
-   * source code.
-   */
-  List<int> _lineStarts = new List<int>();
-
-  /**
-   * A list, treated something like a stack, of tokens representing the
-   * beginning of a matched pair. It is used to pair the end tokens with the
-   * begin tokens.
-   */
-  List<BeginToken> _groupingStack = new List<BeginToken>();
-
-  /**
-   * The index of the last item in the [_groupingStack], or `-1` if the stack is
-   * empty.
-   */
-  int _stackEnd = -1;
-
-  /**
-   * A flag indicating whether any unmatched groups were found during the parse.
-   */
-  bool _hasUnmatchedGroups = false;
-
-  /**
-   * A flag indicating whether to parse generic method comments, of the form
-   * `/*=T*/` and `/*<T>*/`.
-   */
-  bool scanGenericMethodComments = false;
-
-  /**
-   * A flag indicating whether the lazy compound assignment operators '&&=' and
-   * '||=' are enabled.
-   */
-  bool scanLazyAssignmentOperators = false;
-
-  /**
    * Initialize a newly created scanner to scan characters from the given
-   * [source]. The given character [_reader] will be used to read the characters
+   * [source]. The given character [reader] will be used to read the characters
    * in the source. The given [_errorListener] will be informed of any errors
    * that are found.
    */
-  Scanner(this.source, this._reader, this._errorListener) {
-    _tokens = new Token(TokenType.EOF, -1);
-    _tokens.setNext(_tokens);
-    _tail = _tokens;
-    _tokenStart = -1;
-    _lineStarts.add(0);
-  }
+  Scanner(this.source, CharacterReader reader, this._errorListener)
+      : super(reader);
 
-  /**
-   * Return the first token in the token stream that was scanned.
-   */
-  Token get firstToken => _tokens.next;
-
-  /**
-   * Return `true` if any unmatched groups were found during the parse.
-   */
-  bool get hasUnmatchedGroups => _hasUnmatchedGroups;
-
-  /**
-   * Return an array containing the offsets of the first character of each line
-   * in the source code.
-   */
-  List<int> get lineStarts => _lineStarts;
-
-  /**
-   * Set whether documentation tokens should be preserved.
-   */
-  void set preserveComments(bool preserveComments) {
-    this._preserveComments = preserveComments;
-  }
-
-  /**
-   * Return the last token that was scanned.
-   */
-  Token get tail => _tail;
-
-  /**
-   * Append the given [token] to the end of the token stream being scanned. This
-   * method is intended to be used by subclasses that copy existing tokens and
-   * should not normally be used because it will fail to correctly associate any
-   * comments with the token being passed in.
-   */
-  void appendToken(Token token) {
-    _tail = _tail.setNext(token);
-  }
-
-  int bigSwitch(int next) {
-    _beginToken();
-    if (next == $cr) {
-      // '\r'
-      next = _reader.advance();
-      if (next == $lf) {
-        // '\n'
-        next = _reader.advance();
-      }
-      recordStartOfLine();
-      return next;
-    } else if (next == $lf) {
-      // '\n'
-      next = _reader.advance();
-      recordStartOfLine();
-      return next;
-    } else if (next == $tab || next == $space) {
-      // '\t' || ' '
-      return _reader.advance();
-    }
-    if (next == $r) {
-      // 'r'
-      int peek = _reader.peek();
-      if (peek == $double_quote || peek == $single_quote) {
-        // '"' || "'"
-        int start = _reader.offset;
-        return _tokenizeString(_reader.advance(), start, true);
-      }
-    }
-    if ($a <= next && next <= $z) {
-      // 'a'-'z'
-      return _tokenizeKeywordOrIdentifier(next, true);
-    }
-    if (($A <= next && next <= $Z) || next == $_ || next == $$) {
-      // 'A'-'Z' || '_' || '$'
-      return _tokenizeIdentifier(next, _reader.offset, true);
-    }
-    if (next == $lt) {
-      // '<'
-      return _tokenizeLessThan(next);
-    }
-    if (next == $gt) {
-      // '>'
-      return _tokenizeGreaterThan(next);
-    }
-    if (next == $equal) {
-      // '='
-      return _tokenizeEquals(next);
-    }
-    if (next == $exclamation) {
-      // '!'
-      return _tokenizeExclamation(next);
-    }
-    if (next == $plus) {
-      // '+'
-      return _tokenizePlus(next);
-    }
-    if (next == $minus) {
-      // '-'
-      return _tokenizeMinus(next);
-    }
-    if (next == $asterisk) {
-      // '*'
-      return _tokenizeMultiply(next);
-    }
-    if (next == $percent) {
-      // '%'
-      return _tokenizePercent(next);
-    }
-    if (next == $ampersand) {
-      // '&'
-      return _tokenizeAmpersand(next);
-    }
-    if (next == $bar) {
-      // '|'
-      return _tokenizeBar(next);
-    }
-    if (next == $caret) {
-      // '^'
-      return _tokenizeCaret(next);
-    }
-    if (next == $open_bracket) {
-      // '['
-      return _tokenizeOpenSquareBracket(next);
-    }
-    if (next == $tilde) {
-      // '~'
-      return _tokenizeTilde(next);
-    }
-    if (next == $backslash) {
-      // '\\'
-      _appendTokenOfType(TokenType.BACKSLASH);
-      return _reader.advance();
-    }
-    if (next == $hash) {
-      // '#'
-      return _tokenizeTag(next);
-    }
-    if (next == $open_paren) {
-      // '('
-      _appendBeginToken(TokenType.OPEN_PAREN);
-      return _reader.advance();
-    }
-    if (next == $close_paren) {
-      // ')'
-      _appendEndToken(TokenType.CLOSE_PAREN, TokenType.OPEN_PAREN);
-      return _reader.advance();
-    }
-    if (next == $comma) {
-      // ','
-      _appendTokenOfType(TokenType.COMMA);
-      return _reader.advance();
-    }
-    if (next == $colon) {
-      // ':'
-      _appendTokenOfType(TokenType.COLON);
-      return _reader.advance();
-    }
-    if (next == $semicolon) {
-      // ';'
-      _appendTokenOfType(TokenType.SEMICOLON);
-      return _reader.advance();
-    }
-    if (next == $question) {
-      // '?'
-      return _tokenizeQuestion();
-    }
-    if (next == $close_bracket) {
-      // ']'
-      _appendEndToken(
-          TokenType.CLOSE_SQUARE_BRACKET, TokenType.OPEN_SQUARE_BRACKET);
-      return _reader.advance();
-    }
-    if (next == $backquote) {
-      // '`'
-      _appendTokenOfType(TokenType.BACKPING);
-      return _reader.advance();
-    }
-    if (next == $lbrace) {
-      // '{'
-      _appendBeginToken(TokenType.OPEN_CURLY_BRACKET);
-      return _reader.advance();
-    }
-    if (next == $rbrace) {
-      // '}'
-      _appendEndToken(
-          TokenType.CLOSE_CURLY_BRACKET, TokenType.OPEN_CURLY_BRACKET);
-      return _reader.advance();
-    }
-    if (next == $slash) {
-      // '/'
-      return _tokenizeSlashOrComment(next);
-    }
-    if (next == $at) {
-      // '@'
-      _appendTokenOfType(TokenType.AT);
-      return _reader.advance();
-    }
-    if (next == $double_quote || next == $single_quote) {
-      // '"' || "'"
-      return _tokenizeString(next, _reader.offset, false);
-    }
-    if (next == $dot) {
-      // '.'
-      return _tokenizeDotOrNumber(next);
-    }
-    if (next == $0) {
-      // '0'
-      return _tokenizeHexOrNumber(next);
-    }
-    if ($1 <= next && next <= $9) {
-      // '1'-'9'
-      return _tokenizeNumber(next);
-    }
-    if (next == -1) {
-      // EOF
-      return -1;
-    }
-    _reportError(ScannerErrorCode.ILLEGAL_CHARACTER, [next]);
-    return _reader.advance();
-  }
-
-  /**
-   * Record the fact that we are at the beginning of a new line in the source.
-   */
-  void recordStartOfLine() {
-    _lineStarts.add(_reader.offset);
-  }
-
-  /**
-   * Record that the source begins on the given [line] and [column] at the
-   * current offset as given by the reader. Both the line and the column are
-   * one-based indexes. The line starts for lines before the given line will not
-   * be correct.
-   *
-   * This method must be invoked at most one time and must be invoked before
-   * scanning begins. The values provided must be sensible. The results are
-   * undefined if these conditions are violated.
-   */
-  void setSourceStart(int line, int column) {
-    int offset = _reader.offset;
-    if (line < 1 || column < 1 || offset < 0 || (line + column - 2) >= offset) {
-      return;
-    }
-    for (int i = 2; i < line; i++) {
-      _lineStarts.add(1);
-    }
-    _lineStarts.add(offset - column + 1);
-  }
-
-  /**
-   * Scan the source code to produce a list of tokens representing the source,
-   * and return the first token in the list of tokens that were produced.
-   */
-  Token tokenize() {
-    int next = _reader.advance();
-    while (next != -1) {
-      next = bigSwitch(next);
-    }
-    _appendEofToken();
-    return firstToken;
-  }
-
-  void _appendBeginToken(TokenType type) {
-    BeginToken token;
-    if (_firstComment == null) {
-      token = new BeginToken(type, _tokenStart);
-    } else {
-      token = new BeginTokenWithComment(type, _tokenStart, _firstComment);
-      _firstComment = null;
-      _lastComment = null;
-    }
-    _tail = _tail.setNext(token);
-    _groupingStack.add(token);
-    _stackEnd++;
-  }
-
-  void _appendCommentToken(TokenType type, String value) {
-    CommentToken token = null;
-    TokenType genericComment = _matchGenericMethodCommentType(value);
-    if (genericComment != null) {
-      token = new CommentToken(genericComment, value, _tokenStart);
-    } else if (!_preserveComments) {
-      // Ignore comment tokens if client specified that it doesn't need them.
-      return;
-    } else {
-      // OK, remember comment tokens.
-      if (_isDocumentationComment(value)) {
-        token = new DocumentationCommentToken(type, value, _tokenStart);
-      } else {
-        token = new CommentToken(type, value, _tokenStart);
-      }
-    }
-    if (_firstComment == null) {
-      _firstComment = token;
-      _lastComment = _firstComment;
-    } else {
-      _lastComment = _lastComment.setNext(token);
-    }
-  }
-
-  void _appendEndToken(TokenType type, TokenType beginType) {
-    Token token;
-    if (_firstComment == null) {
-      token = new Token(type, _tokenStart);
-    } else {
-      token = new TokenWithComment(type, _tokenStart, _firstComment);
-      _firstComment = null;
-      _lastComment = null;
-    }
-    _tail = _tail.setNext(token);
-    if (_stackEnd >= 0) {
-      BeginToken begin = _groupingStack[_stackEnd];
-      if (begin.type == beginType) {
-        begin.endToken = token;
-        _groupingStack.removeAt(_stackEnd--);
-      }
-    }
-  }
-
-  void _appendEofToken() {
-    Token eofToken;
-    if (_firstComment == null) {
-      eofToken = new Token(TokenType.EOF, _reader.offset + 1);
-    } else {
-      eofToken = new TokenWithComment(
-          TokenType.EOF, _reader.offset + 1, _firstComment);
-      _firstComment = null;
-      _lastComment = null;
-    }
-    // The EOF token points to itself so that there is always infinite
-    // look-ahead.
-    eofToken.setNext(eofToken);
-    _tail = _tail.setNext(eofToken);
-    if (_stackEnd >= 0) {
-      _hasUnmatchedGroups = true;
-      // TODO(brianwilkerson) Fix the ungrouped tokens?
-    }
-  }
-
-  void _appendKeywordToken(Keyword keyword) {
-    if (_firstComment == null) {
-      _tail = _tail.setNext(new KeywordToken(keyword, _tokenStart));
-    } else {
-      _tail = _tail.setNext(
-          new KeywordTokenWithComment(keyword, _tokenStart, _firstComment));
-      _firstComment = null;
-      _lastComment = null;
-    }
-  }
-
-  void _appendStringToken(TokenType type, String value) {
-    if (_firstComment == null) {
-      _tail = _tail.setNext(new StringToken(type, value, _tokenStart));
-    } else {
-      _tail = _tail.setNext(
-          new StringTokenWithComment(type, value, _tokenStart, _firstComment));
-      _firstComment = null;
-      _lastComment = null;
-    }
-  }
-
-  void _appendStringTokenWithOffset(TokenType type, String value, int offset) {
-    if (_firstComment == null) {
-      _tail = _tail.setNext(new StringToken(type, value, _tokenStart + offset));
-    } else {
-      _tail = _tail.setNext(new StringTokenWithComment(
-          type, value, _tokenStart + offset, _firstComment));
-      _firstComment = null;
-      _lastComment = null;
-    }
-  }
-
-  void _appendTokenOfType(TokenType type) {
-    if (_firstComment == null) {
-      _tail = _tail.setNext(new Token(type, _tokenStart));
-    } else {
-      _tail =
-          _tail.setNext(new TokenWithComment(type, _tokenStart, _firstComment));
-      _firstComment = null;
-      _lastComment = null;
-    }
-  }
-
-  void _appendTokenOfTypeWithOffset(TokenType type, int offset) {
-    if (_firstComment == null) {
-      _tail = _tail.setNext(new Token(type, offset));
-    } else {
-      _tail = _tail.setNext(new TokenWithComment(type, offset, _firstComment));
-      _firstComment = null;
-      _lastComment = null;
-    }
-  }
-
-  void _beginToken() {
-    _tokenStart = _reader.offset;
-  }
-
-  /**
-   * Return the beginning token corresponding to a closing brace that was found
-   * while scanning inside a string interpolation expression. Tokens that cannot
-   * be matched with the closing brace will be dropped from the stack.
-   */
-  BeginToken _findTokenMatchingClosingBraceInInterpolationExpression() {
-    while (_stackEnd >= 0) {
-      BeginToken begin = _groupingStack[_stackEnd];
-      if (begin.type == TokenType.OPEN_CURLY_BRACKET ||
-          begin.type == TokenType.STRING_INTERPOLATION_EXPRESSION) {
-        return begin;
-      }
-      _hasUnmatchedGroups = true;
-      _groupingStack.removeAt(_stackEnd--);
-    }
-    //
-    // We should never get to this point because we wouldn't be inside a string
-    // interpolation expression unless we had previously found the start of the
-    // expression.
-    //
-    return null;
-  }
-
-  /**
-   * Checks if [value] is the start of a generic method type annotation comment.
-   *
-   * This can either be of the form `/*<T>*/` or `/*=T*/`. The token type is
-   * returned, or null if it was not a generic method comment.
-   */
-  TokenType _matchGenericMethodCommentType(String value) {
-    if (scanGenericMethodComments) {
-      // Match /*< and >*/
-      if (StringUtilities.startsWith3(value, 0, $slash, $asterisk, $lt) &&
-          StringUtilities.endsWith3(value, $gt, $asterisk, $slash)) {
-        return TokenType.GENERIC_METHOD_TYPE_LIST;
-      }
-      // Match /*=
-      if (StringUtilities.startsWith3(value, 0, $slash, $asterisk, $equal)) {
-        return TokenType.GENERIC_METHOD_TYPE_ASSIGN;
-      }
-    }
-    return null;
-  }
-
-  /**
-   * Report an error at the current offset. The [errorCode] is the error code
-   * indicating the nature of the error. The [arguments] are any arguments
-   * needed to complete the error message
-   */
-  void _reportError(ScannerErrorCode errorCode, [List<Object> arguments]) {
-    _errorListener.onError(
-        new AnalysisError(source, _reader.offset, 1, errorCode, arguments));
-  }
-
-  int _select(int choice, TokenType yesType, TokenType noType) {
-    int next = _reader.advance();
-    if (next == choice) {
-      _appendTokenOfType(yesType);
-      return _reader.advance();
-    } else {
-      _appendTokenOfType(noType);
-      return next;
-    }
-  }
-
-  int _selectWithOffset(
-      int choice, TokenType yesType, TokenType noType, int offset) {
-    int next = _reader.advance();
-    if (next == choice) {
-      _appendTokenOfTypeWithOffset(yesType, offset);
-      return _reader.advance();
-    } else {
-      _appendTokenOfTypeWithOffset(noType, offset);
-      return next;
-    }
-  }
-
-  int _tokenizeAmpersand(int next) {
-    // &&= && &= &
-    next = _reader.advance();
-    if (next == $ampersand) {
-      next = _reader.advance();
-      if (scanLazyAssignmentOperators && next == $equal) {
-        _appendTokenOfType(TokenType.AMPERSAND_AMPERSAND_EQ);
-        return _reader.advance();
-      }
-      _appendTokenOfType(TokenType.AMPERSAND_AMPERSAND);
-      return next;
-    } else if (next == $equal) {
-      _appendTokenOfType(TokenType.AMPERSAND_EQ);
-      return _reader.advance();
-    } else {
-      _appendTokenOfType(TokenType.AMPERSAND);
-      return next;
-    }
-  }
-
-  int _tokenizeBar(int next) {
-    // ||= || |= |
-    next = _reader.advance();
-    if (next == $bar) {
-      next = _reader.advance();
-      if (scanLazyAssignmentOperators && next == $equal) {
-        _appendTokenOfType(TokenType.BAR_BAR_EQ);
-        return _reader.advance();
-      }
-      _appendTokenOfType(TokenType.BAR_BAR);
-      return next;
-    } else if (next == $equal) {
-      _appendTokenOfType(TokenType.BAR_EQ);
-      return _reader.advance();
-    } else {
-      _appendTokenOfType(TokenType.BAR);
-      return next;
-    }
-  }
-
-  int _tokenizeCaret(int next) =>
-      _select($equal, TokenType.CARET_EQ, TokenType.CARET);
-
-  int _tokenizeDotOrNumber(int next) {
-    int start = _reader.offset;
-    next = _reader.advance();
-    if ($0 <= next && next <= $9) {
-      return _tokenizeFractionPart(next, start);
-    } else if ($dot == next) {
-      return _select(
-          $dot, TokenType.PERIOD_PERIOD_PERIOD, TokenType.PERIOD_PERIOD);
-    } else {
-      _appendTokenOfType(TokenType.PERIOD);
-      return next;
-    }
-  }
-
-  int _tokenizeEquals(int next) {
-    // = == =>
-    next = _reader.advance();
-    if (next == $equal) {
-      _appendTokenOfType(TokenType.EQ_EQ);
-      return _reader.advance();
-    } else if (next == $gt) {
-      _appendTokenOfType(TokenType.FUNCTION);
-      return _reader.advance();
-    }
-    _appendTokenOfType(TokenType.EQ);
-    return next;
-  }
-
-  int _tokenizeExclamation(int next) {
-    // ! !=
-    next = _reader.advance();
-    if (next == $equal) {
-      _appendTokenOfType(TokenType.BANG_EQ);
-      return _reader.advance();
-    }
-    _appendTokenOfType(TokenType.BANG);
-    return next;
-  }
-
-  int _tokenizeExponent(int next) {
-    if (next == $plus || next == $minus) {
-      next = _reader.advance();
-    }
-    bool hasDigits = false;
-    while (true) {
-      if ($0 <= next && next <= $9) {
-        hasDigits = true;
-      } else {
-        if (!hasDigits) {
-          _reportError(ScannerErrorCode.MISSING_DIGIT);
-        }
-        return next;
-      }
-      next = _reader.advance();
-    }
-  }
-
-  int _tokenizeFractionPart(int next, int start) {
-    bool done = false;
-    bool hasDigit = false;
-    LOOP:
-    while (!done) {
-      if ($0 <= next && next <= $9) {
-        hasDigit = true;
-      } else if ($e == next || $E == next) {
-        hasDigit = true;
-        next = _tokenizeExponent(_reader.advance());
-        done = true;
-        continue LOOP;
-      } else {
-        done = true;
-        continue LOOP;
-      }
-      next = _reader.advance();
-    }
-    if (!hasDigit) {
-      _appendStringToken(TokenType.INT, _reader.getString(start, -2));
-      if ($dot == next) {
-        return _selectWithOffset($dot, TokenType.PERIOD_PERIOD_PERIOD,
-            TokenType.PERIOD_PERIOD, _reader.offset - 1);
-      }
-      _appendTokenOfTypeWithOffset(TokenType.PERIOD, _reader.offset - 1);
-      return bigSwitch(next);
-    }
-    _appendStringToken(
-        TokenType.DOUBLE, _reader.getString(start, next < 0 ? 0 : -1));
-    return next;
-  }
-
-  int _tokenizeGreaterThan(int next) {
-    // > >= >> >>=
-    next = _reader.advance();
-    if ($equal == next) {
-      _appendTokenOfType(TokenType.GT_EQ);
-      return _reader.advance();
-    } else if ($gt == next) {
-      next = _reader.advance();
-      if ($equal == next) {
-        _appendTokenOfType(TokenType.GT_GT_EQ);
-        return _reader.advance();
-      } else {
-        _appendTokenOfType(TokenType.GT_GT);
-        return next;
-      }
-    } else {
-      _appendTokenOfType(TokenType.GT);
-      return next;
-    }
-  }
-
-  int _tokenizeHex(int next) {
-    int start = _reader.offset - 1;
-    bool hasDigits = false;
-    while (true) {
-      next = _reader.advance();
-      if (($0 <= next && next <= $9) ||
-          ($A <= next && next <= $F) ||
-          ($a <= next && next <= $f)) {
-        hasDigits = true;
-      } else {
-        if (!hasDigits) {
-          _reportError(ScannerErrorCode.MISSING_HEX_DIGIT);
-        }
-        _appendStringToken(
-            TokenType.HEXADECIMAL, _reader.getString(start, next < 0 ? 0 : -1));
-        return next;
-      }
-    }
-  }
-
-  int _tokenizeHexOrNumber(int next) {
-    int x = _reader.peek();
-    if (x == $x || x == $X) {
-      _reader.advance();
-      return _tokenizeHex(x);
-    }
-    return _tokenizeNumber(next);
-  }
-
-  int _tokenizeIdentifier(int next, int start, bool allowDollar) {
-    while (($a <= next && next <= $z) ||
-        ($A <= next && next <= $Z) ||
-        ($0 <= next && next <= $9) ||
-        next == $_ ||
-        (next == $$ && allowDollar)) {
-      next = _reader.advance();
-    }
-    _appendStringToken(
-        TokenType.IDENTIFIER, _reader.getString(start, next < 0 ? 0 : -1));
-    return next;
-  }
-
-  int _tokenizeInterpolatedExpression(int next, int start) {
-    _appendBeginToken(TokenType.STRING_INTERPOLATION_EXPRESSION);
-    next = _reader.advance();
-    while (next != -1) {
-      if (next == $rbrace) {
-        BeginToken begin =
-            _findTokenMatchingClosingBraceInInterpolationExpression();
-        if (begin == null) {
-          _beginToken();
-          _appendTokenOfType(TokenType.CLOSE_CURLY_BRACKET);
-          next = _reader.advance();
-          _beginToken();
-          return next;
-        } else if (begin.type == TokenType.OPEN_CURLY_BRACKET) {
-          _beginToken();
-          _appendEndToken(
-              TokenType.CLOSE_CURLY_BRACKET, TokenType.OPEN_CURLY_BRACKET);
-          next = _reader.advance();
-          _beginToken();
-        } else if (begin.type == TokenType.STRING_INTERPOLATION_EXPRESSION) {
-          _beginToken();
-          _appendEndToken(TokenType.CLOSE_CURLY_BRACKET,
-              TokenType.STRING_INTERPOLATION_EXPRESSION);
-          next = _reader.advance();
-          _beginToken();
-          return next;
-        }
-      } else {
-        next = bigSwitch(next);
-      }
-    }
-    return next;
-  }
-
-  int _tokenizeInterpolatedIdentifier(int next, int start) {
-    _appendStringTokenWithOffset(
-        TokenType.STRING_INTERPOLATION_IDENTIFIER, "\$", 0);
-    if (($A <= next && next <= $Z) ||
-        ($a <= next && next <= $z) ||
-        next == $_) {
-      _beginToken();
-      next = _tokenizeKeywordOrIdentifier(next, false);
-    }
-    _beginToken();
-    return next;
-  }
-
-  int _tokenizeKeywordOrIdentifier(int next, bool allowDollar) {
-    KeywordState state = KeywordState.KEYWORD_STATE;
-    int start = _reader.offset;
-    while (state != null && $a <= next && next <= $z) {
-      state = state.next(next);
-      next = _reader.advance();
-    }
-    if (state == null || state.keyword() == null) {
-      return _tokenizeIdentifier(next, start, allowDollar);
-    }
-    if (($A <= next && next <= $Z) ||
-        ($0 <= next && next <= $9) ||
-        next == $_ ||
-        next == $$) {
-      return _tokenizeIdentifier(next, start, allowDollar);
-    } else if (next < 128) {
-      _appendKeywordToken(state.keyword());
-      return next;
-    } else {
-      return _tokenizeIdentifier(next, start, allowDollar);
-    }
-  }
-
-  int _tokenizeLessThan(int next) {
-    // < <= << <<=
-    next = _reader.advance();
-    if ($equal == next) {
-      _appendTokenOfType(TokenType.LT_EQ);
-      return _reader.advance();
-    } else if ($lt == next) {
-      return _select($equal, TokenType.LT_LT_EQ, TokenType.LT_LT);
-    } else {
-      _appendTokenOfType(TokenType.LT);
-      return next;
-    }
-  }
-
-  int _tokenizeMinus(int next) {
-    // - -- -=
-    next = _reader.advance();
-    if (next == $minus) {
-      _appendTokenOfType(TokenType.MINUS_MINUS);
-      return _reader.advance();
-    } else if (next == $equal) {
-      _appendTokenOfType(TokenType.MINUS_EQ);
-      return _reader.advance();
-    } else {
-      _appendTokenOfType(TokenType.MINUS);
-      return next;
-    }
-  }
-
-  int _tokenizeMultiLineComment(int next) {
-    int nesting = 1;
-    next = _reader.advance();
-    while (true) {
-      if (-1 == next) {
-        _reportError(ScannerErrorCode.UNTERMINATED_MULTI_LINE_COMMENT);
-        _appendCommentToken(
-            TokenType.MULTI_LINE_COMMENT, _reader.getString(_tokenStart, 0));
-        return next;
-      } else if ($asterisk == next) {
-        next = _reader.advance();
-        if ($slash == next) {
-          --nesting;
-          if (0 == nesting) {
-            _appendCommentToken(TokenType.MULTI_LINE_COMMENT,
-                _reader.getString(_tokenStart, 0));
-            return _reader.advance();
-          } else {
-            next = _reader.advance();
-          }
-        }
-      } else if ($slash == next) {
-        next = _reader.advance();
-        if ($asterisk == next) {
-          next = _reader.advance();
-          ++nesting;
-        }
-      } else if (next == $cr) {
-        next = _reader.advance();
-        if (next == $lf) {
-          next = _reader.advance();
-        }
-        recordStartOfLine();
-      } else if (next == $lf) {
-        next = _reader.advance();
-        recordStartOfLine();
-      } else {
-        next = _reader.advance();
-      }
-    }
-  }
-
-  int _tokenizeMultiLineRawString(int quoteChar, int start) {
-    int next = _reader.advance();
-    outer:
-    while (next != -1) {
-      while (next != quoteChar) {
-        if (next == -1) {
-          break outer;
-        } else if (next == $cr) {
-          next = _reader.advance();
-          if (next == $lf) {
-            next = _reader.advance();
-          }
-          recordStartOfLine();
-        } else if (next == $lf) {
-          next = _reader.advance();
-          recordStartOfLine();
-        } else {
-          next = _reader.advance();
-        }
-      }
-      next = _reader.advance();
-      if (next == quoteChar) {
-        next = _reader.advance();
-        if (next == quoteChar) {
-          _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
-          return _reader.advance();
-        }
-      }
-    }
-    _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL);
-    _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
-    return _reader.advance();
-  }
-
-  int _tokenizeMultiLineString(int quoteChar, int start, bool raw) {
-    if (raw) {
-      return _tokenizeMultiLineRawString(quoteChar, start);
-    }
-    int next = _reader.advance();
-    while (next != -1) {
-      if (next == $$) {
-        _appendStringToken(TokenType.STRING, _reader.getString(start, -1));
-        next = _tokenizeStringInterpolation(start);
-        _beginToken();
-        start = _reader.offset;
-        continue;
-      }
-      if (next == quoteChar) {
-        next = _reader.advance();
-        if (next == quoteChar) {
-          next = _reader.advance();
-          if (next == quoteChar) {
-            _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
-            return _reader.advance();
-          }
-        }
-        continue;
-      }
-      if (next == $backslash) {
-        next = _reader.advance();
-        if (next == -1) {
-          break;
-        }
-        if (next == $cr) {
-          next = _reader.advance();
-          if (next == $lf) {
-            next = _reader.advance();
-          }
-          recordStartOfLine();
-        } else if (next == $lf) {
-          recordStartOfLine();
-          next = _reader.advance();
-        } else {
-          next = _reader.advance();
-        }
-      } else if (next == $cr) {
-        next = _reader.advance();
-        if (next == $lf) {
-          next = _reader.advance();
-        }
-        recordStartOfLine();
-      } else if (next == $lf) {
-        recordStartOfLine();
-        next = _reader.advance();
-      } else {
-        next = _reader.advance();
-      }
-    }
-    _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL);
-    if (start == _reader.offset) {
-      _appendStringTokenWithOffset(TokenType.STRING, "", 1);
-    } else {
-      _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
-    }
-    return _reader.advance();
-  }
-
-  int _tokenizeMultiply(int next) =>
-      _select($equal, TokenType.STAR_EQ, TokenType.STAR);
-
-  int _tokenizeNumber(int next) {
-    int start = _reader.offset;
-    while (true) {
-      next = _reader.advance();
-      if ($0 <= next && next <= $9) {
-        continue;
-      } else if (next == $dot) {
-        return _tokenizeFractionPart(_reader.advance(), start);
-      } else if (next == $e || next == $E) {
-        return _tokenizeFractionPart(next, start);
-      } else {
-        _appendStringToken(
-            TokenType.INT, _reader.getString(start, next < 0 ? 0 : -1));
-        return next;
-      }
-    }
-  }
-
-  int _tokenizeOpenSquareBracket(int next) {
-    // [ []  []=
-    next = _reader.advance();
-    if (next == $close_bracket) {
-      return _select($equal, TokenType.INDEX_EQ, TokenType.INDEX);
-    } else {
-      _appendBeginToken(TokenType.OPEN_SQUARE_BRACKET);
-      return next;
-    }
-  }
-
-  int _tokenizePercent(int next) =>
-      _select($equal, TokenType.PERCENT_EQ, TokenType.PERCENT);
-
-  int _tokenizePlus(int next) {
-    // + ++ +=
-    next = _reader.advance();
-    if ($plus == next) {
-      _appendTokenOfType(TokenType.PLUS_PLUS);
-      return _reader.advance();
-    } else if ($equal == next) {
-      _appendTokenOfType(TokenType.PLUS_EQ);
-      return _reader.advance();
-    } else {
-      _appendTokenOfType(TokenType.PLUS);
-      return next;
-    }
-  }
-
-  int _tokenizeQuestion() {
-    // ? ?. ?? ??=
-    int next = _reader.advance();
-    if (next == $dot) {
-      // '.'
-      _appendTokenOfType(TokenType.QUESTION_PERIOD);
-      return _reader.advance();
-    } else if (next == $question) {
-      // '?'
-      next = _reader.advance();
-      if (next == $equal) {
-        // '='
-        _appendTokenOfType(TokenType.QUESTION_QUESTION_EQ);
-        return _reader.advance();
-      } else {
-        _appendTokenOfType(TokenType.QUESTION_QUESTION);
-        return next;
-      }
-    } else {
-      _appendTokenOfType(TokenType.QUESTION);
-      return next;
-    }
-  }
-
-  int _tokenizeSingleLineComment(int next) {
-    while (true) {
-      next = _reader.advance();
-      if (-1 == next) {
-        _appendCommentToken(
-            TokenType.SINGLE_LINE_COMMENT, _reader.getString(_tokenStart, 0));
-        return next;
-      } else if ($lf == next || $cr == next) {
-        _appendCommentToken(
-            TokenType.SINGLE_LINE_COMMENT, _reader.getString(_tokenStart, -1));
-        return next;
-      }
-    }
-  }
-
-  int _tokenizeSingleLineRawString(int next, int quoteChar, int start) {
-    next = _reader.advance();
-    while (next != -1) {
-      if (next == quoteChar) {
-        _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
-        return _reader.advance();
-      } else if (next == $cr || next == $lf) {
-        _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL);
-        _appendStringToken(TokenType.STRING, _reader.getString(start, -1));
-        return _reader.advance();
-      }
-      next = _reader.advance();
-    }
-    _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL);
-    _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
-    return _reader.advance();
-  }
-
-  int _tokenizeSingleLineString(int next, int quoteChar, int start) {
-    while (next != quoteChar) {
-      if (next == $backslash) {
-        next = _reader.advance();
-      } else if (next == $$) {
-        _appendStringToken(TokenType.STRING, _reader.getString(start, -1));
-        next = _tokenizeStringInterpolation(start);
-        _beginToken();
-        start = _reader.offset;
-        continue;
-      }
-      if (next <= $cr && (next == $lf || next == $cr || next == -1)) {
-        _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL);
-        if (start == _reader.offset) {
-          _appendStringTokenWithOffset(TokenType.STRING, "", 1);
-        } else if (next == -1) {
-          _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
-        } else {
-          _appendStringToken(TokenType.STRING, _reader.getString(start, -1));
-        }
-        return _reader.advance();
-      }
-      next = _reader.advance();
-    }
-    _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
-    return _reader.advance();
-  }
-
-  int _tokenizeSlashOrComment(int next) {
-    next = _reader.advance();
-    if ($asterisk == next) {
-      return _tokenizeMultiLineComment(next);
-    } else if ($slash == next) {
-      return _tokenizeSingleLineComment(next);
-    } else if ($equal == next) {
-      _appendTokenOfType(TokenType.SLASH_EQ);
-      return _reader.advance();
-    } else {
-      _appendTokenOfType(TokenType.SLASH);
-      return next;
-    }
-  }
-
-  int _tokenizeString(int next, int start, bool raw) {
-    int quoteChar = next;
-    next = _reader.advance();
-    if (quoteChar == next) {
-      next = _reader.advance();
-      if (quoteChar == next) {
-        // Multiline string.
-        return _tokenizeMultiLineString(quoteChar, start, raw);
-      } else {
-        // Empty string.
-        _appendStringToken(TokenType.STRING, _reader.getString(start, -1));
-        return next;
-      }
-    }
-    if (raw) {
-      return _tokenizeSingleLineRawString(next, quoteChar, start);
-    } else {
-      return _tokenizeSingleLineString(next, quoteChar, start);
-    }
-  }
-
-  int _tokenizeStringInterpolation(int start) {
-    _beginToken();
-    int next = _reader.advance();
-    if (next == $lbrace) {
-      return _tokenizeInterpolatedExpression(next, start);
-    } else {
-      return _tokenizeInterpolatedIdentifier(next, start);
-    }
-  }
-
-  int _tokenizeTag(int next) {
-    // # or #!.*[\n\r]
-    if (_reader.offset == 0) {
-      if (_reader.peek() == $exclamation) {
-        do {
-          next = _reader.advance();
-        } while (next != $lf && next != $cr && next > 0);
-        _appendStringToken(
-            TokenType.SCRIPT_TAG, _reader.getString(_tokenStart, 0));
-        return next;
-      }
-    }
-    _appendTokenOfType(TokenType.HASH);
-    return _reader.advance();
-  }
-
-  int _tokenizeTilde(int next) {
-    // ~ ~/ ~/=
-    next = _reader.advance();
-    if (next == $slash) {
-      return _select($equal, TokenType.TILDE_SLASH_EQ, TokenType.TILDE_SLASH);
-    } else {
-      _appendTokenOfType(TokenType.TILDE);
-      return next;
-    }
-  }
-
-  /**
-   * Checks if [value] is a single-line or multi-line comment.
-   */
-  static bool _isDocumentationComment(String value) {
-    return StringUtilities.startsWith3(value, 0, $slash, $slash, $slash) ||
-        StringUtilities.startsWith3(value, 0, $slash, $asterisk, $asterisk);
+  @override
+  void reportError(
+      ScannerErrorCode errorCode, int offset, List<Object> arguments) {
+    _errorListener
+        .onError(new AnalysisError(source, offset, 1, errorCode, arguments));
   }
 }
diff --git a/pkg/analyzer/lib/src/error/codes.dart b/pkg/analyzer/lib/src/error/codes.dart
index 48702e6..c73de06 100644
--- a/pkg/analyzer/lib/src/error/codes.dart
+++ b/pkg/analyzer/lib/src/error/codes.dart
@@ -3086,6 +3086,22 @@
           "Try adjusting the number of type arguments.");
 
   /**
+   * It will be a static type warning if <i>m</i> is not a generic method with
+   * exactly <i>n</i> type parameters.
+   *
+   * Parameters:
+   * 0: the name of the method being referenced (<i>G</i>)
+   * 1: the number of type parameters that were declared
+   * 2: the number of type arguments provided
+   */
+  static const StaticTypeWarningCode WRONG_NUMBER_OF_TYPE_ARGUMENTS_METHOD =
+      const StaticTypeWarningCode(
+          'WRONG_NUMBER_OF_TYPE_ARGUMENTS_METHOD',
+          "The method '{0}' is declared with {1} type parameters, "
+          "but {2} type arguments were given.",
+          "Try adjusting the number of type arguments.");
+
+  /**
    * 17.16.1 Yield: Let T be the static type of e [the expression to the right
    * of "yield"] and let f be the immediately enclosing function.  It is a
    * static type warning if either:
@@ -4421,6 +4437,19 @@
           "changing the import to not be deferred.");
 
   /**
+   * Not yet spec'd.
+   *
+   * Parameters:
+   * 0: the name of the generic function's type parameter that is being used in
+   *    an `is` expression
+   */
+  static const StaticWarningCode TYPE_ANNOTATION_GENERIC_FUNCTION_PARAMETER =
+      const StaticWarningCode(
+          'TYPE_ANNOTATION_GENERIC_FUNCTION_PARAMETER',
+          "The type parameter '{0}' can't be used in a type test.",
+          "Try using a different type.");
+
+  /**
    * 12.31 Type Test: It is a static warning if <i>T</i> does not denote a type
    * available in the current lexical scope.
    */
diff --git a/pkg/analyzer/lib/src/generated/declaration_resolver.dart b/pkg/analyzer/lib/src/generated/declaration_resolver.dart
index e1b68a8..595acb9 100644
--- a/pkg/analyzer/lib/src/generated/declaration_resolver.dart
+++ b/pkg/analyzer/lib/src/generated/declaration_resolver.dart
@@ -64,6 +64,17 @@
   }
 
   @override
+  Object visitBlockFunctionBody(BlockFunctionBody node) {
+    if (_isBodyToCreateElementsFor(node)) {
+      _walker.consumeLocalElements();
+      node.accept(_walker.elementBuilder);
+      return null;
+    } else {
+      return super.visitBlockFunctionBody(node);
+    }
+  }
+
+  @override
   Object visitCatchClause(CatchClause node) {
     _walker.elementBuilder.buildCatchVariableElements(node);
     return super.visitCatchClause(node);
@@ -149,6 +160,17 @@
   }
 
   @override
+  Object visitExpressionFunctionBody(ExpressionFunctionBody node) {
+    if (_isBodyToCreateElementsFor(node)) {
+      _walker.consumeLocalElements();
+      node.accept(_walker.elementBuilder);
+      return null;
+    } else {
+      return super.visitExpressionFunctionBody(node);
+    }
+  }
+
+  @override
   Object visitFieldDeclaration(FieldDeclaration node) {
     super.visitFieldDeclaration(node);
     _resolveMetadata(node, node.metadata, node.fields.variables[0].element);
@@ -189,6 +211,7 @@
       }
     }
     node.functionExpression.element = element;
+    _walker._elementHolder?.addFunction(element);
     _walk(new ElementWalker.forExecutable(element, _enclosingUnit), () {
       super.visitFunctionDeclaration(node);
     });
@@ -202,6 +225,7 @@
       FunctionElement element = _walker.getFunction();
       _matchOffset(element, node.offset);
       node.element = element;
+      _walker._elementHolder.addFunction(element);
       _walk(new ElementWalker.forExecutable(element, _enclosingUnit), () {
         super.visitFunctionExpression(node);
       });
@@ -461,6 +485,14 @@
     walker.validate();
     _walker = outerWalker;
   }
+
+  static bool _isBodyToCreateElementsFor(FunctionBody node) {
+    AstNode parent = node.parent;
+    return parent is ConstructorDeclaration ||
+        parent is MethodDeclaration ||
+        parent.parent is FunctionDeclaration &&
+            parent.parent.parent is CompilationUnit;
+  }
 }
 
 /**
@@ -569,6 +601,10 @@
         _parameters = element.parameters,
         _typeParameters = element.typeParameters;
 
+  void consumeLocalElements() {
+    _functionIndex = _functions.length;
+  }
+
   /**
    * Returns the next non-synthetic child of [element] which is an accessor;
    * throws an [IndexError] if there are no more.
@@ -649,6 +685,7 @@
     check(_variables, _variableIndex);
     Element element = this.element;
     if (element is ExecutableElementImpl) {
+      element.functions = _elementHolder.functions;
       element.labels = _elementHolder.labels;
       element.localVariables = _elementHolder.localVariables;
     }
diff --git a/pkg/analyzer/lib/src/generated/element_resolver.dart b/pkg/analyzer/lib/src/generated/element_resolver.dart
index d3fdd99..5c44f86 100644
--- a/pkg/analyzer/lib/src/generated/element_resolver.dart
+++ b/pkg/analyzer/lib/src/generated/element_resolver.dart
@@ -1577,11 +1577,17 @@
 
       NodeList<TypeName> arguments = typeArguments?.arguments;
       if (arguments != null && arguments.length != parameters.length) {
-        _resolver.errorReporter.reportErrorForNode(
-            StaticTypeWarningCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS,
-            node,
-            [invokeType, parameters.length, arguments?.length ?? 0]);
-
+        if (_resolver.strongMode) {
+          _resolver.errorReporter.reportErrorForNode(
+              StaticTypeWarningCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS_METHOD,
+              node,
+              [invokeType, parameters.length, arguments?.length ?? 0]);
+        } else {
+          _resolver.errorReporter.reportErrorForNode(
+              HintCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS_METHOD,
+              node,
+              [invokeType, parameters.length, arguments?.length ?? 0]);
+        }
         // Wrong number of type arguments. Ignore them.
         arguments = null;
       }
diff --git a/pkg/analyzer/lib/src/generated/engine.dart b/pkg/analyzer/lib/src/generated/engine.dart
index fedd2e4..a33beba 100644
--- a/pkg/analyzer/lib/src/generated/engine.dart
+++ b/pkg/analyzer/lib/src/generated/engine.dart
@@ -1055,6 +1055,11 @@
  */
 abstract class AnalysisOptions {
   /**
+   * The length of the list returned by [encodeCrossContextOptions].
+   */
+  static const int crossContextOptionsLength = 2;
+
+  /**
    * Function that returns `true` if analysis is to parse and analyze function
    * bodies for a given source.
    */
@@ -1191,6 +1196,12 @@
   bool get lint;
 
   /**
+   * Return the "platform" bit mask which should be used to apply patch files,
+   * or `0` if no patch files should be applied.
+   */
+  int get patchPlatform;
+
+  /**
    * Return `true` if analysis is to parse comments.
    */
   bool get preserveComments;
@@ -1209,17 +1220,37 @@
   bool get trackCacheDependencies;
 
   /**
-   * Return an integer encoding of the values of the options that need to be the
-   * same across all of the contexts associated with partitions that are to be
-   * shared by a single analysis context.
+   * Return a list of integers encoding of the values of the options that need
+   * to be the same across all of the contexts associated with partitions that
+   * are to be shared by a single analysis context.
+   *
+   * The length of the list is guaranteed to equal [crossContextOptionsLength].
    */
-  int encodeCrossContextOptions();
+  List<int> encodeCrossContextOptions();
 
   /**
    * Set the values of the cross-context options to match those in the given set
    * of [options].
    */
   void setCrossContextOptionsFrom(AnalysisOptions options);
+
+  /**
+   * Determine whether two lists returned by [encodeCrossContextOptions] are
+   * equal.
+   */
+  static bool crossContextOptionsEqual(List<int> a, List<int> b) {
+    assert(a.length == crossContextOptionsLength);
+    assert(b.length == crossContextOptionsLength);
+    if (a.length != b.length) {
+      return false;
+    }
+    for (int i = 0; i < a.length; i++) {
+      if (a[i] != b[i]) {
+        return false;
+      }
+    }
+    return true;
+  }
 }
 
 /**
@@ -1308,6 +1339,9 @@
   bool lint = false;
 
   @override
+  int patchPlatform = 0;
+
+  @override
   bool preserveComments = true;
 
   @override
@@ -1395,6 +1429,7 @@
     trackCacheDependencies = options.trackCacheDependencies;
     disableCacheFlushing = options.disableCacheFlushing;
     finerGrainedInvalidation = options.finerGrainedInvalidation;
+    patchPlatform = options.patchPlatform;
   }
 
   bool get analyzeFunctionBodies {
@@ -1443,14 +1478,16 @@
   void set enableConditionalDirectives(_) {}
 
   @override
-  int encodeCrossContextOptions() =>
-      (enableAssertMessage ? ENABLE_ASSERT_FLAG : 0) |
-      (enableGenericMethods ? ENABLE_GENERIC_METHODS_FLAG : 0) |
-      (enableLazyAssignmentOperators ? ENABLE_LAZY_ASSIGNMENT_OPERATORS : 0) |
-      (enableStrictCallChecks ? ENABLE_STRICT_CALL_CHECKS_FLAG : 0) |
-      (enableSuperMixins ? ENABLE_SUPER_MIXINS_FLAG : 0) |
-      (strongMode ? ENABLE_STRONG_MODE_FLAG : 0) |
-      (strongModeHints ? ENABLE_STRONG_MODE_HINTS_FLAG : 0);
+  List<int> encodeCrossContextOptions() {
+    int flags = (enableAssertMessage ? ENABLE_ASSERT_FLAG : 0) |
+        (enableGenericMethods ? ENABLE_GENERIC_METHODS_FLAG : 0) |
+        (enableLazyAssignmentOperators ? ENABLE_LAZY_ASSIGNMENT_OPERATORS : 0) |
+        (enableStrictCallChecks ? ENABLE_STRICT_CALL_CHECKS_FLAG : 0) |
+        (enableSuperMixins ? ENABLE_SUPER_MIXINS_FLAG : 0) |
+        (strongMode ? ENABLE_STRONG_MODE_FLAG : 0) |
+        (strongModeHints ? ENABLE_STRONG_MODE_HINTS_FLAG : 0);
+    return <int>[flags, patchPlatform];
+  }
 
   @override
   void setCrossContextOptionsFrom(AnalysisOptions options) {
@@ -1463,6 +1500,7 @@
     if (options is AnalysisOptionsImpl) {
       strongModeHints = options.strongModeHints;
     }
+    patchPlatform = options.patchPlatform;
   }
 
   /**
@@ -1470,42 +1508,39 @@
    * encoded in the given [encoding], presumably from invoking the method
    * [encodeCrossContextOptions].
    */
-  static String decodeCrossContextOptions(int encoding) {
-    if (encoding == 0) {
+  static String decodeCrossContextOptions(List<int> encoding) {
+    List<String> parts = [];
+    int flags = encoding[0];
+    if (flags & ENABLE_ASSERT_FLAG > 0) {
+      parts.add('assert');
+    }
+    if (flags & ENABLE_GENERIC_METHODS_FLAG > 0) {
+      parts.add('genericMethods');
+    }
+    if (flags & ENABLE_LAZY_ASSIGNMENT_OPERATORS > 0) {
+      parts.add('lazyAssignmentOperators');
+    }
+    if (flags & ENABLE_STRICT_CALL_CHECKS_FLAG > 0) {
+      parts.add('strictCallChecks');
+    }
+    if (flags & ENABLE_SUPER_MIXINS_FLAG > 0) {
+      parts.add('superMixins');
+    }
+    if (flags & ENABLE_STRONG_MODE_FLAG > 0) {
+      parts.add('strongMode');
+    }
+    if (flags & ENABLE_STRONG_MODE_HINTS_FLAG > 0) {
+      parts.add('strongModeHints');
+    }
+    int patchPlatform = encoding[1];
+    if (patchPlatform != 0) {
+      parts.add('patchPlatform=$patchPlatform');
+    }
+    if (parts.isEmpty) {
       return 'none';
+    } else {
+      return parts.join(', ');
     }
-    StringBuffer buffer = new StringBuffer();
-    bool needsSeparator = false;
-    void add(String optionName) {
-      if (needsSeparator) {
-        buffer.write(', ');
-      }
-      buffer.write(optionName);
-      needsSeparator = true;
-    }
-
-    if (encoding & ENABLE_ASSERT_FLAG > 0) {
-      add('assert');
-    }
-    if (encoding & ENABLE_GENERIC_METHODS_FLAG > 0) {
-      add('genericMethods');
-    }
-    if (encoding & ENABLE_LAZY_ASSIGNMENT_OPERATORS > 0) {
-      add('lazyAssignmentOperators');
-    }
-    if (encoding & ENABLE_STRICT_CALL_CHECKS_FLAG > 0) {
-      add('strictCallChecks');
-    }
-    if (encoding & ENABLE_SUPER_MIXINS_FLAG > 0) {
-      add('superMixins');
-    }
-    if (encoding & ENABLE_STRONG_MODE_FLAG > 0) {
-      add('strongMode');
-    }
-    if (encoding & ENABLE_STRONG_MODE_HINTS_FLAG > 0) {
-      add('strongModeHints');
-    }
-    return buffer.toString();
   }
 
   /**
diff --git a/pkg/analyzer/lib/src/generated/error_verifier.dart b/pkg/analyzer/lib/src/generated/error_verifier.dart
index a74fd36..30a50cc 100644
--- a/pkg/analyzer/lib/src/generated/error_verifier.dart
+++ b/pkg/analyzer/lib/src/generated/error_verifier.dart
@@ -347,6 +347,13 @@
   }
 
   @override
+  Object visitAssertInitializer(AssertInitializer node) {
+    _checkForNonBoolExpression(node);
+    _checkAssertMessage(node);
+    return super.visitAssertInitializer(node);
+  }
+
+  @override
   Object visitAssertStatement(AssertStatement node) {
     _checkForNonBoolExpression(node);
     _checkAssertMessage(node);
@@ -924,6 +931,7 @@
   @override
   Object visitIsExpression(IsExpression node) {
     _checkForTypeAnnotationDeferredClass(node.type);
+    _checkForTypeAnnotationGenericFunctionParameter(node.type);
     return super.visitIsExpression(node);
   }
 
@@ -1294,11 +1302,11 @@
   }
 
   /**
-   * If the given assert [statement] specifies a message, verify that support
+   * If the given [assertion] specifies a message, verify that support
    * for assertions with messages is enabled.
    */
-  void _checkAssertMessage(AssertStatement statement) {
-    Expression expression = statement.message;
+  void _checkAssertMessage(Assertion assertion) {
+    Expression expression = assertion.message;
     if (expression != null && !enableAssertMessage) {
       _errorReporter.reportErrorForNode(
           CompileTimeErrorCode.EXTRA_ARGUMENT_TO_ASSERT, expression);
@@ -1754,7 +1762,7 @@
         int count = params1.length;
         if (params2.length != count) {
           _errorReporter.reportErrorForNode(
-              StaticWarningCode.INVALID_METHOD_OVERRIDE_TYPE_PARAMETERS,
+              HintCode.INVALID_METHOD_OVERRIDE_TYPE_PARAMETERS,
               errorNameTarget, [
             count,
             params2.length,
@@ -1788,7 +1796,7 @@
           pFresh.bound = bound2;
           if (!_typeSystem.isSubtypeOf(bound2, bound1)) {
             _errorReporter.reportErrorForNode(
-                StaticWarningCode.INVALID_METHOD_OVERRIDE_TYPE_PARAMETER_BOUND,
+                HintCode.INVALID_METHOD_OVERRIDE_TYPE_PARAMETER_BOUND,
                 errorNameTarget, [
               p1.displayName,
               p1.bound,
@@ -2610,8 +2618,7 @@
       // terminated with 'throw' expression
       if (statement is ExpressionStatement) {
         Expression expression = statement.expression;
-        if (expression is ThrowExpression ||
-            expression is RethrowExpression) {
+        if (expression is ThrowExpression || expression is RethrowExpression) {
           return;
         }
       }
@@ -5163,13 +5170,13 @@
   }
 
   /**
-   * Verify that the given assert [statement] has either a 'bool' or
-   * '() -> bool' input.
+   * Verify that the given [assertion] has either a 'bool' or '() -> bool'
+   * condition.
    *
    * See [StaticTypeWarningCode.NON_BOOL_EXPRESSION].
    */
-  void _checkForNonBoolExpression(AssertStatement statement) {
-    Expression expression = statement.condition;
+  void _checkForNonBoolExpression(Assertion assertion) {
+    Expression expression = assertion.condition;
     DartType type = getStaticType(expression);
     if (type is InterfaceType) {
       if (!_typeSystem.isAssignableTo(type, _boolType)) {
@@ -5690,6 +5697,29 @@
   }
 
   /**
+   * Verify that the given type [name] is not a type parameter in a generic
+   * method.
+   *
+   * See [StaticWarningCode.TYPE_ANNOTATION_GENERIC_FUNCTION_PARAMETER].
+   */
+  void _checkForTypeAnnotationGenericFunctionParameter(TypeName typeName) {
+    if (typeName == null) {
+      return;
+    }
+    Identifier name = typeName.name;
+    if (name is SimpleIdentifier) {
+      Element element = name.staticElement;
+      if (element is TypeParameterElement &&
+          element.enclosingElement is ExecutableElement) {
+        _errorReporter.reportErrorForNode(
+            StaticWarningCode.TYPE_ANNOTATION_GENERIC_FUNCTION_PARAMETER,
+            name,
+            [name.name]);
+      }
+    }
+  }
+
+  /**
    * Verify that the type arguments in the given [typeName] are all within
    * their bounds.
    *
diff --git a/pkg/analyzer/lib/src/generated/interner.dart b/pkg/analyzer/lib/src/generated/interner.dart
index 9741f28..7bb6e5b 100644
--- a/pkg/analyzer/lib/src/generated/interner.dart
+++ b/pkg/analyzer/lib/src/generated/interner.dart
@@ -6,17 +6,10 @@
 
 import 'dart:collection';
 
-/**
- * The interface `Interner` defines the behavior of objects that can intern
- * strings.
- */
-abstract class Interner {
-  /**
-   * Return a string that is identical to all of the other strings that have
-   * been interned that are equal to the given [string].
-   */
-  String intern(String string);
-}
+import 'package:front_end/src/scanner/interner.dart';
+
+export 'package:front_end/src/scanner/interner.dart'
+    show Interner, NullInterner;
 
 /**
  * The class `MappedInterner` implements an interner that uses a map to manage
@@ -38,12 +31,3 @@
     return original;
   }
 }
-
-/**
- * The class `NullInterner` implements an interner that does nothing (does not
- * actually intern any strings).
- */
-class NullInterner implements Interner {
-  @override
-  String intern(String string) => string;
-}
diff --git a/pkg/analyzer/lib/src/generated/package.dart b/pkg/analyzer/lib/src/generated/package.dart
index b715e3b..dddce5a 100644
--- a/pkg/analyzer/lib/src/generated/package.dart
+++ b/pkg/analyzer/lib/src/generated/package.dart
@@ -157,7 +157,10 @@
 
   @override
   int get hashCode {
-    int hashCode = options.encodeCrossContextOptions();
+    int hashCode = 0;
+    for (int value in options.encodeCrossContextOptions()) {
+      hashCode = JenkinsSmiHash.combine(hashCode, value);
+    }
     hashCode = JenkinsSmiHash.combine(hashCode, id.hashCode);
     hashCode = JenkinsSmiHash.combine(hashCode, sdk.hashCode);
     return JenkinsSmiHash.finish(hashCode);
@@ -167,8 +170,9 @@
   bool operator ==(Object other) {
     return other is PackageDescription &&
         other.sdk == sdk &&
-        other.options.encodeCrossContextOptions() ==
-            options.encodeCrossContextOptions() &&
+        AnalysisOptions.crossContextOptionsEqual(
+            other.options.encodeCrossContextOptions(),
+            options.encodeCrossContextOptions()) &&
         other.id == id;
   }
 }
diff --git a/pkg/analyzer/lib/src/generated/parser.dart b/pkg/analyzer/lib/src/generated/parser.dart
index e325da2..a608bad 100644
--- a/pkg/analyzer/lib/src/generated/parser.dart
+++ b/pkg/analyzer/lib/src/generated/parser.dart
@@ -5981,9 +5981,7 @@
    *     assertInitializer ::=
    *         'assert' '(' expression [',' expression] ')'
    */
-  void _parseAssertInitializer() {
-    // TODO(brianwilkerson) Capture the syntax in the AST using a new class,
-    // such as AssertInitializer
+  AssertInitializer _parseAssertInitializer() {
     Token keyword = getAndAdvance();
     Token leftParen = _expect(TokenType.OPEN_PAREN);
     Expression expression = parseExpression2();
@@ -5994,8 +5992,8 @@
       message = parseExpression2();
     }
     Token rightParen = _expect(TokenType.CLOSE_PAREN);
-//    return new AssertInitializer(
-//        keyword, leftParen, expression, comma, message, rightParen);
+    return new AssertInitializer(
+        keyword, leftParen, expression, comma, message, rightParen);
   }
 
   /**
@@ -6230,7 +6228,7 @@
           _reportErrorForCurrentToken(ParserErrorCode.MISSING_INITIALIZER);
         } else if (_enableAssertInitializer &&
             _matchesKeyword(Keyword.ASSERT)) {
-          _parseAssertInitializer();
+          initializers.add(_parseAssertInitializer());
         } else {
           initializers.add(parseConstructorFieldInitializer(false));
         }
diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart
index 9941049..7a36d85 100644
--- a/pkg/analyzer/lib/src/generated/resolver.dart
+++ b/pkg/analyzer/lib/src/generated/resolver.dart
@@ -136,6 +136,12 @@
   }
 
   @override
+  Object visitAssertInitializer(AssertInitializer node) {
+    _checkForPossibleNullCondition(node.condition);
+    return super.visitAssertInitializer(node);
+  }
+
+  @override
   Object visitAssertStatement(AssertStatement node) {
     _checkForPossibleNullCondition(node.condition);
     return super.visitAssertStatement(node);
@@ -1637,25 +1643,28 @@
   }
 
   /**
-   * Validates that the expressions of the given initializers (of a constant constructor) are all
-   * compile time constants.
-   *
-   * @param constructor the constant constructor declaration to validate
+   * Validates that the expressions of the initializers of the given constant
+   * [constructor] are all compile time constants.
    */
   void _validateConstructorInitializers(ConstructorDeclaration constructor) {
     List<ParameterElement> parameterElements =
         constructor.parameters.parameterElements;
     NodeList<ConstructorInitializer> initializers = constructor.initializers;
     for (ConstructorInitializer initializer in initializers) {
-      if (initializer is ConstructorFieldInitializer) {
+      if (initializer is AssertInitializer) {
+        _validateInitializerExpression(
+            parameterElements, initializer.condition);
+        Expression message = initializer.message;
+        if (message != null) {
+          _validateInitializerExpression(parameterElements, message);
+        }
+      } else if (initializer is ConstructorFieldInitializer) {
         _validateInitializerExpression(
             parameterElements, initializer.expression);
-      }
-      if (initializer is RedirectingConstructorInvocation) {
+      } else if (initializer is RedirectingConstructorInvocation) {
         _validateInitializerInvocationArguments(
             parameterElements, initializer.argumentList);
-      }
-      if (initializer is SuperConstructorInvocation) {
+      } else if (initializer is SuperConstructorInvocation) {
         _validateInitializerInvocationArguments(
             parameterElements, initializer.argumentList);
       }
@@ -2711,15 +2720,15 @@
     InterfaceType intType = _typeProvider.intType;
     String indexFieldName = "index";
     FieldElementImpl indexField = new FieldElementImpl(indexFieldName, -1);
-    indexField.final2 = true;
-    indexField.synthetic = true;
+    indexField.isFinal = true;
+    indexField.isSynthetic = true;
     indexField.type = intType;
     fields.add(indexField);
     getters.add(_createGetter(indexField));
     ConstFieldElementImpl valuesField = new ConstFieldElementImpl("values", -1);
-    valuesField.static = true;
-    valuesField.const3 = true;
-    valuesField.synthetic = true;
+    valuesField.isStatic = true;
+    valuesField.isConst = true;
+    valuesField.isSynthetic = true;
     valuesField.type = _typeProvider.listType.instantiate(<DartType>[enumType]);
     fields.add(valuesField);
     getters.add(_createGetter(valuesField));
@@ -2799,6 +2808,9 @@
   bool visitAsExpression(AsExpression node) => _nodeExits(node.expression);
 
   @override
+  bool visitAssertInitializer(AssertInitializer node) => false;
+
+  @override
   bool visitAssertStatement(AssertStatement node) => false;
 
   @override
@@ -5784,8 +5796,7 @@
     }
     // Clone the ASTs for default formal parameters, so that we can use them
     // during constant evaluation.
-    if (!LibraryElementImpl.hasResolutionCapability(
-        definingLibrary, LibraryResolutionCapability.constantExpressions)) {
+    if (!_hasSerializedConstantInitializer(element)) {
       (element as ConstVariableElement).constantInitializer =
           new ConstantAstCloner().cloneNode(node.defaultValue);
     }
@@ -6643,6 +6654,25 @@
     return null;
   }
 
+  /**
+   * Return `true` if the given [parameter] element of the AST being resolved
+   * is resynthesized and is an API-level, not local, so has its initializer
+   * serialized.
+   */
+  bool _hasSerializedConstantInitializer(ParameterElement parameter) {
+    if (LibraryElementImpl.hasResolutionCapability(
+        definingLibrary, LibraryResolutionCapability.constantExpressions)) {
+      Element executable = parameter.enclosingElement;
+      if (executable is MethodElement) {
+        return true;
+      }
+      if (executable is FunctionElement) {
+        return executable.enclosingElement is CompilationUnitElement;
+      }
+    }
+    return false;
+  }
+
   void _inferArgumentTypesFromContext(InvocationExpression node) {
     if (!strongMode) {
       // Use propagated type inference for lambdas if not in strong mode.
@@ -9761,6 +9791,14 @@
       AnalysisEngine.instance.logger.logError(buffer.toString(),
           new CaughtException(new AnalysisException(), null));
     }
+
+    // When the library is resynthesized, types of all of its elements are
+    // already set - statically or inferred. We don't want to overwrite them.
+    if (LibraryElementImpl.hasResolutionCapability(
+        definingLibrary, LibraryResolutionCapability.resolvedTypeNames)) {
+      return null;
+    }
+
     element.declaredReturnType = _computeReturnType(node.returnType);
     element.type = new FunctionTypeImpl(element);
     _inferSetterReturnType(element);
@@ -9777,6 +9815,7 @@
         }
       }
     }
+
     return null;
   }
 
@@ -9947,7 +9986,6 @@
     var variableList = node.parent as VariableDeclarationList;
     // When the library is resynthesized, the types of field elements are
     // already set - statically or inferred. We don't want to overwrite them.
-    // See also dartbug.com/27482 for separating static and inferred types.
     if (variableList.parent is FieldDeclaration &&
         LibraryElementImpl.hasResolutionCapability(
             definingLibrary, LibraryResolutionCapability.resolvedTypeNames)) {
@@ -10183,7 +10221,7 @@
       TypeName returnType, FormalParameterList parameterList) {
     List<ParameterElement> parameters = _getElements(parameterList);
     FunctionElementImpl functionElement = new FunctionElementImpl.forNode(null);
-    functionElement.synthetic = true;
+    functionElement.isSynthetic = true;
     functionElement.shareParameters(parameters);
     functionElement.declaredReturnType = _computeReturnType(returnType);
     functionElement.enclosingElement = element;
diff --git a/pkg/analyzer/lib/src/generated/sdk.dart b/pkg/analyzer/lib/src/generated/sdk.dart
index c3e8e65..a03afbe 100644
--- a/pkg/analyzer/lib/src/generated/sdk.dart
+++ b/pkg/analyzer/lib/src/generated/sdk.dart
@@ -212,7 +212,10 @@
 
   @override
   int get hashCode {
-    int hashCode = options.encodeCrossContextOptions();
+    int hashCode = 0;
+    for (int value in options.encodeCrossContextOptions()) {
+      hashCode = JenkinsSmiHash.combine(hashCode, value);
+    }
     for (String path in paths) {
       hashCode = JenkinsSmiHash.combine(hashCode, path.hashCode);
     }
@@ -222,8 +225,9 @@
   @override
   bool operator ==(Object other) {
     if (other is SdkDescription) {
-      if (options.encodeCrossContextOptions() !=
-          other.options.encodeCrossContextOptions()) {
+      if (!AnalysisOptions.crossContextOptionsEqual(
+          options.encodeCrossContextOptions(),
+          other.options.encodeCrossContextOptions())) {
         return false;
       }
       int length = paths.length;
diff --git a/pkg/analyzer/lib/src/generated/static_type_analyzer.dart b/pkg/analyzer/lib/src/generated/static_type_analyzer.dart
index 47e5599..53745d2 100644
--- a/pkg/analyzer/lib/src/generated/static_type_analyzer.dart
+++ b/pkg/analyzer/lib/src/generated/static_type_analyzer.dart
@@ -1630,7 +1630,7 @@
     type = type.substitute2(freshTypeVars, typeVars);
 
     var function = new FunctionElementImpl("", -1);
-    function.synthetic = true;
+    function.isSynthetic = true;
     function.returnType = type.returnType;
     function.typeParameters = freshVarElements;
     function.shareParameters(type.parameters);
@@ -2002,7 +2002,7 @@
 
             // Adjust the expected parameter type to have this return type.
             var function = new FunctionElementImpl(firstParamType.name, -1)
-              ..synthetic = true
+              ..isSynthetic = true
               ..shareParameters(firstParamType.parameters)
               ..returnType = paramReturnType;
             function.type = new FunctionTypeImpl(function);
diff --git a/pkg/analyzer/lib/src/generated/testing/element_factory.dart b/pkg/analyzer/lib/src/generated/testing/element_factory.dart
index 2075999..4147e5a 100644
--- a/pkg/analyzer/lib/src/generated/testing/element_factory.dart
+++ b/pkg/analyzer/lib/src/generated/testing/element_factory.dart
@@ -98,8 +98,8 @@
         constructor.nameEnd = definingClass.name.length + name.length + 1;
       }
     }
-    constructor.synthetic = name == null;
-    constructor.const2 = isConst;
+    constructor.isSynthetic = name == null;
+    constructor.isConst = isConst;
     if (argumentTypes != null) {
       int count = argumentTypes.length;
       List<ParameterElement> parameters = new List<ParameterElement>(count);
@@ -140,17 +140,17 @@
     InterfaceType stringType = typeProvider.stringType;
     String indexFieldName = "index";
     FieldElementImpl indexField = new FieldElementImpl(indexFieldName, -1);
-    indexField.final2 = true;
+    indexField.isFinal = true;
     indexField.type = intType;
     fields.add(indexField);
     String nameFieldName = "_name";
     FieldElementImpl nameField = new FieldElementImpl(nameFieldName, -1);
-    nameField.final2 = true;
+    nameField.isFinal = true;
     nameField.type = stringType;
     fields.add(nameField);
     FieldElementImpl valuesField = new FieldElementImpl("values", -1);
-    valuesField.static = true;
-    valuesField.const3 = true;
+    valuesField.isStatic = true;
+    valuesField.isConst = true;
     valuesField.type = typeProvider.listType.instantiate(<DartType>[enumType]);
     fields.add(valuesField);
     //
@@ -162,8 +162,8 @@
         String constantName = constantNames[i];
         FieldElementImpl constantElement =
             new ConstFieldElementImpl(constantName, -1);
-        constantElement.static = true;
-        constantElement.const3 = true;
+        constantElement.isStatic = true;
+        constantElement.isConst = true;
         constantElement.type = enumType;
         HashMap<String, DartObjectImpl> fieldMap =
             new HashMap<String, DartObjectImpl>();
@@ -199,9 +199,9 @@
     FieldElementImpl field = isConst
         ? new ConstFieldElementImpl(name, 0)
         : new FieldElementImpl(name, 0);
-    field.const3 = isConst;
-    field.final2 = isFinal;
-    field.static = isStatic;
+    field.isConst = isConst;
+    field.isFinal = isFinal;
+    field.isStatic = isStatic;
     field.type = type;
     if (isConst) {
       (field as ConstFieldElementImpl).constantInitializer = initializer;
@@ -391,17 +391,17 @@
   static PropertyAccessorElementImpl getterElement(
       String name, bool isStatic, DartType type) {
     FieldElementImpl field = new FieldElementImpl(name, -1);
-    field.static = isStatic;
-    field.synthetic = true;
+    field.isStatic = isStatic;
+    field.isSynthetic = true;
     field.type = type;
-    field.final2 = true;
+    field.isFinal = true;
     PropertyAccessorElementImpl getter =
         new PropertyAccessorElementImpl(name, 0);
-    getter.synthetic = false;
+    getter.isSynthetic = false;
     getter.getter = true;
     getter.variable = field;
     getter.returnType = type;
-    getter.static = isStatic;
+    getter.isStatic = isStatic;
     field.getter = getter;
     FunctionTypeImpl getterType = new FunctionTypeImpl(getter);
     getter.type = getterType;
@@ -526,8 +526,8 @@
   static PropertyAccessorElementImpl setterElement(
       String name, bool isStatic, DartType type) {
     FieldElementImpl field = new FieldElementImpl(name, -1);
-    field.static = isStatic;
-    field.synthetic = true;
+    field.isStatic = isStatic;
+    field.isSynthetic = true;
     field.type = type;
     PropertyAccessorElementImpl getter =
         new PropertyAccessorElementImpl(name, -1);
@@ -541,7 +541,7 @@
     PropertyAccessorElementImpl setter =
         new PropertyAccessorElementImpl(name, -1);
     setter.setter = true;
-    setter.synthetic = true;
+    setter.isSynthetic = true;
     setter.variable = field;
     setter.parameters = <ParameterElement>[parameter];
     setter.returnType = VoidTypeImpl.instance;
@@ -576,9 +576,9 @@
     } else {
       variable = new TopLevelVariableElementImpl(name, -1);
     }
-    variable.const3 = isConst;
-    variable.final2 = isFinal;
-    variable.synthetic = false;
+    variable.isConst = isConst;
+    variable.isFinal = isFinal;
+    variable.isSynthetic = false;
     variable.type = type;
     new PropertyAccessorElementImpl_ImplicitGetter(variable);
     if (!isConst && !isFinal) {
diff --git a/pkg/analyzer/lib/src/generated/testing/test_type_provider.dart b/pkg/analyzer/lib/src/generated/testing/test_type_provider.dart
index 6a36a8b..5e4e43d 100644
--- a/pkg/analyzer/lib/src/generated/testing/test_type_provider.dart
+++ b/pkg/analyzer/lib/src/generated/testing/test_type_provider.dart
@@ -516,7 +516,7 @@
       ClassElementImpl typeClass = ElementFactory.classElement2("Type");
       typeClass.constructors = <ConstructorElement>[
         ElementFactory.constructorElement(typeClass, null, false)
-          ..synthetic = true
+          ..isSynthetic = true
       ];
       _typeType = typeClass.type;
     }
@@ -611,12 +611,12 @@
     fromEnvironment.isCycleFree = true;
     numElement.constructors = <ConstructorElement>[
       ElementFactory.constructorElement(numElement, null, false)
-        ..synthetic = true
+        ..isSynthetic = true
     ];
     intElement.constructors = <ConstructorElement>[fromEnvironment];
     doubleElement.constructors = <ConstructorElement>[
       ElementFactory.constructorElement(doubleElement, null, false)
-        ..synthetic = true
+        ..isSynthetic = true
     ];
     ConstFieldElementImpl varINFINITY = ElementFactory.fieldElement(
         "INFINITY", true, false, true, _doubleType,
diff --git a/pkg/analyzer/lib/src/generated/type_system.dart b/pkg/analyzer/lib/src/generated/type_system.dart
index 5d08b0a..2f42296 100644
--- a/pkg/analyzer/lib/src/generated/type_system.dart
+++ b/pkg/analyzer/lib/src/generated/type_system.dart
@@ -219,7 +219,7 @@
 
     List<ParameterElement> parameters = t.parameters.map(shave).toList();
     FunctionElementImpl function = new FunctionElementImpl("", -1);
-    function.synthetic = true;
+    function.isSynthetic = true;
     function.returnType = t.returnType;
     function.shareTypeParameters(t.typeFormals);
     function.shareParameters(parameters);
diff --git a/pkg/analyzer/lib/src/summary/link.dart b/pkg/analyzer/lib/src/summary/link.dart
index ea25920..87828c3 100644
--- a/pkg/analyzer/lib/src/summary/link.dart
+++ b/pkg/analyzer/lib/src/summary/link.dart
@@ -3104,8 +3104,10 @@
    * Store the results of type inference for this function in [compilationUnit].
    */
   void link(CompilationUnitElementInBuildUnit compilationUnit) {
-    compilationUnit._storeLinkedType(
-        _unlinkedExecutable.inferredReturnTypeSlot, inferredReturnType, this);
+    if (_unlinkedExecutable.returnType == null) {
+      compilationUnit._storeLinkedType(
+          _unlinkedExecutable.inferredReturnTypeSlot, inferredReturnType, this);
+    }
     for (FunctionElementForLink_Local_NonSynthetic function in functions) {
       function.link(compilationUnit);
     }
diff --git a/pkg/analyzer/lib/src/summary/package_bundle_reader.dart b/pkg/analyzer/lib/src/summary/package_bundle_reader.dart
index c60f8ba..23645da 100644
--- a/pkg/analyzer/lib/src/summary/package_bundle_reader.dart
+++ b/pkg/analyzer/lib/src/summary/package_bundle_reader.dart
@@ -174,6 +174,23 @@
       return true;
     }
     AnalysisTarget target = entry.target;
+
+    // LINE_INFO can be provided using just the UnlinkedUnit.
+    if (target is Source && result == LINE_INFO) {
+      String uriString = target.uri.toString();
+      UnlinkedUnit unlinkedUnit = _dataStore.unlinkedMap[uriString];
+      if (unlinkedUnit != null) {
+        List<int> lineStarts = unlinkedUnit.lineStarts;
+        if (lineStarts.isNotEmpty) {
+          LineInfo lineInfo = new LineInfo(lineStarts);
+          entry.setValue(result as ResultDescriptor<LineInfo>, lineInfo,
+              TargetedResult.EMPTY_LIST);
+          return true;
+        }
+      }
+      return false;
+    }
+
     // Check whether there are results for the source.
     if (!hasResultsForSource(target.librarySource ?? target.source)) {
       return false;
@@ -239,16 +256,6 @@
           return true;
         }
         return false;
-      } else if (result == LINE_INFO) {
-        UnlinkedUnit unlinkedUnit = _dataStore.unlinkedMap[uriString];
-        List<int> lineStarts = unlinkedUnit.lineStarts;
-        if (lineStarts.isNotEmpty) {
-          LineInfo lineInfo = new LineInfo(lineStarts);
-          entry.setValue(result as ResultDescriptor<LineInfo>, lineInfo,
-              TargetedResult.EMPTY_LIST);
-          return true;
-        }
-        return false;
       }
     } else if (target is LibrarySpecificUnit) {
       if (result == CREATED_RESOLVED_UNIT1 ||
diff --git a/pkg/analyzer/lib/src/summary/resynthesize.dart b/pkg/analyzer/lib/src/summary/resynthesize.dart
index d8f0ce2..0baf656 100644
--- a/pkg/analyzer/lib/src/summary/resynthesize.dart
+++ b/pkg/analyzer/lib/src/summary/resynthesize.dart
@@ -19,10 +19,8 @@
 import 'package:analyzer/src/generated/source_io.dart';
 import 'package:analyzer/src/generated/testing/ast_factory.dart';
 import 'package:analyzer/src/generated/testing/token_factory.dart';
-import 'package:analyzer/src/generated/utilities_dart.dart';
 import 'package:analyzer/src/summary/format.dart';
 import 'package:analyzer/src/summary/idl.dart';
-import 'package:analyzer/src/util/fast_uri.dart';
 
 /**
  * Implementation of [ElementResynthesizer] used when resynthesizing an element
@@ -213,13 +211,13 @@
       if (serializedLibrary == null) {
         LibraryElementImpl libraryElement =
             new LibraryElementImpl(context, '', -1, 0);
-        libraryElement.synthetic = true;
+        libraryElement.isSynthetic = true;
         CompilationUnitElementImpl unitElement =
             new CompilationUnitElementImpl(librarySource.shortName);
         libraryElement.definingCompilationUnit = unitElement;
         unitElement.source = librarySource;
         unitElement.librarySource = librarySource;
-        return libraryElement..synthetic = true;
+        return libraryElement..isSynthetic = true;
       }
       UnlinkedUnit unlinkedSummary = _getUnlinkedSummaryOrNull(uri);
       if (unlinkedSummary == null) {
@@ -1162,9 +1160,12 @@
   }
 
   LibraryElementHandle _getLibraryByRelativeUri(String depUri) {
-    String absoluteUri = resolveRelativeUri(
-            resynthesizer.librarySource.uri, FastUri.parse(depUri))
-        .toString();
+    Source source = resynthesizer.summaryResynthesizer.sourceFactory
+        .resolveUri(resynthesizer.librarySource, depUri);
+    if (source == null) {
+      return null;
+    }
+    String absoluteUri = source.uri.toString();
     return new LibraryElementHandle(resynthesizer.summaryResynthesizer,
         new ElementLocationImpl.con3(<String>[absoluteUri]));
   }
@@ -1644,10 +1645,10 @@
           variable.enclosingElement = unit;
           implicitVariables[name] = variable;
           accessorsData.implicitVariables.add(variable);
-          variable.synthetic = true;
-          variable.final2 = kind == UnlinkedExecutableKind.getter;
+          variable.isSynthetic = true;
+          variable.isFinal = kind == UnlinkedExecutableKind.getter;
         } else {
-          variable.final2 = false;
+          variable.isFinal = false;
         }
         accessor.variable = variable;
         // link
diff --git a/pkg/analyzer/lib/src/summary/summarize_ast.dart b/pkg/analyzer/lib/src/summary/summarize_ast.dart
index 646eed8..b81fe88 100644
--- a/pkg/analyzer/lib/src/summary/summarize_ast.dart
+++ b/pkg/analyzer/lib/src/summary/summarize_ast.dart
@@ -624,7 +624,8 @@
       NodeList<Annotation> annotations,
       TypeParameterList typeParameters,
       bool isExternal,
-      bool serializeBodyExpr) {
+      bool serializeBodyExpr,
+      bool serializeBody) {
     int oldScopesLength = scopes.length;
     _TypeParameterScope typeParameterScope = new _TypeParameterScope();
     scopes.add(typeParameterScope);
@@ -682,7 +683,7 @@
       _parameterNames.addAll(formalParameters.parameters
           .map((FormalParameter p) => p.identifier.name));
     }
-    serializeFunctionBody(b, null, body, serializeBodyExpr);
+    serializeFunctionBody(b, null, body, serializeBodyExpr, serializeBody);
     _parameterNames = oldParameterNames;
     scopes.removeLast();
     assert(scopes.length == oldScopesLength);
@@ -709,7 +710,8 @@
       UnlinkedExecutableBuilder b,
       List<ConstructorInitializer> initializers,
       AstNode body,
-      bool serializeBodyExpr) {
+      bool serializeBodyExpr,
+      bool serializeBody) {
     if (body is BlockFunctionBody || body is ExpressionFunctionBody) {
       for (UnlinkedParamBuilder parameter in b.parameters) {
         parameter.visibleOffset = body.offset;
@@ -731,7 +733,9 @@
         initializer.accept(this);
       }
     }
-    body.accept(this);
+    if (serializeBody) {
+      body.accept(this);
+    }
     if (serializeBodyExpr) {
       if (body is Expression) {
         b.bodyExpr =
@@ -787,7 +791,8 @@
     }
     UnlinkedExecutableBuilder initializer =
         new UnlinkedExecutableBuilder(nameOffset: expression.offset);
-    serializeFunctionBody(initializer, null, expression, serializeBodyExpr);
+    serializeFunctionBody(
+        initializer, null, expression, serializeBodyExpr, true);
     initializer.inferredReturnTypeSlot = assignSlot();
     return initializer;
   }
@@ -1096,7 +1101,7 @@
     b.annotations = serializeAnnotations(node.metadata);
     b.codeRange = serializeCodeRange(node);
     Map<int, int> localClosureIndexMap = serializeFunctionBody(
-        b, node.initializers, node.body, node.constKeyword != null);
+        b, node.initializers, node.body, node.constKeyword != null, false);
     if (node.constKeyword != null) {
       Set<String> constructorParameterNames =
           node.parameters.parameters.map((p) => p.identifier.name).toSet();
@@ -1214,7 +1219,8 @@
         node.metadata,
         node.functionExpression.typeParameters,
         node.externalKeyword != null,
-        false));
+        false,
+        node.parent is FunctionDeclarationStatement));
   }
 
   @override
@@ -1238,7 +1244,8 @@
           null,
           node.typeParameters,
           false,
-          _serializeClosureBodyExprs));
+          _serializeClosureBodyExprs,
+          true));
     }
   }
 
@@ -1339,6 +1346,7 @@
         node.metadata,
         node.typeParameters,
         node.externalKeyword != null,
+        false,
         false));
   }
 
diff --git a/pkg/analyzer/lib/src/summary/summary_sdk.dart b/pkg/analyzer/lib/src/summary/summary_sdk.dart
index 5857d8b..3142b29 100644
--- a/pkg/analyzer/lib/src/summary/summary_sdk.dart
+++ b/pkg/analyzer/lib/src/summary/summary_sdk.dart
@@ -48,7 +48,7 @@
 
   @override
   bool hasResultsForSource(Source source) {
-    return source.source != null && source.isInSystemLibrary;
+    return source != null && source.isInSystemLibrary;
   }
 
   void _buildAsyncLibrary() {
diff --git a/pkg/analyzer/lib/src/task/dart.dart b/pkg/analyzer/lib/src/task/dart.dart
index 56595c4..dbbd1a6 100644
--- a/pkg/analyzer/lib/src/task/dart.dart
+++ b/pkg/analyzer/lib/src/task/dart.dart
@@ -23,6 +23,7 @@
 import 'package:analyzer/src/dart/resolver/inheritance_manager.dart';
 import 'package:analyzer/src/dart/scanner/reader.dart';
 import 'package:analyzer/src/dart/scanner/scanner.dart';
+import 'package:analyzer/src/dart/sdk/patch.dart';
 import 'package:analyzer/src/error/codes.dart';
 import 'package:analyzer/src/error/pending_error.dart';
 import 'package:analyzer/src/generated/constant.dart';
@@ -1626,7 +1627,7 @@
     if (libraryElement == null) {
       libraryElement =
           new LibraryElementImpl.forNode(owningContext, libraryNameNode);
-      libraryElement.synthetic = modificationTime < 0;
+      libraryElement.isSynthetic = modificationTime < 0;
       libraryElement.definingCompilationUnit = definingCompilationUnitElement;
       libraryElement.entryPoint = entryPoint;
       libraryElement.parts = sourcedCompilationUnits;
@@ -4024,6 +4025,11 @@
     CompilationUnit unit = parser.parseCompilationUnit(tokenStream);
     unit.lineInfo = lineInfo;
 
+    if (options.patchPlatform != 0 && _source.uri.scheme == 'dart') {
+      new SdkPatcher().patch(context.sourceFactory.dartSdk,
+          options.patchPlatform, errorListener, _source, unit);
+    }
+
     bool hasNonPartOfDirective = false;
     bool hasPartOfDirective = false;
     HashSet<Source> explicitlyImportedSourceSet = new HashSet<Source>();
diff --git a/pkg/analyzer/lib/src/task/incremental_element_builder.dart b/pkg/analyzer/lib/src/task/incremental_element_builder.dart
index 6ae19ff..bbb460e 100644
--- a/pkg/analyzer/lib/src/task/incremental_element_builder.dart
+++ b/pkg/analyzer/lib/src/task/incremental_element_builder.dart
@@ -382,7 +382,7 @@
     if (classElement.constructors.isEmpty) {
       ConstructorElementImpl constructor =
           new ConstructorElementImpl.forNode(null);
-      constructor.synthetic = true;
+      constructor.isSynthetic = true;
       classElement.constructors = <ConstructorElement>[constructor];
       classDelta.addedConstructors.add(constructor);
     }
diff --git a/pkg/analyzer/lib/src/task/options.dart b/pkg/analyzer/lib/src/task/options.dart
index 4047b3b..60a6dbc 100644
--- a/pkg/analyzer/lib/src/task/options.dart
+++ b/pkg/analyzer/lib/src/task/options.dart
@@ -173,7 +173,7 @@
     if (_errorCodes == null) {
       _errorCodes = new HashSet<String>();
       // Engine codes.
-      _errorCodes.addAll(ErrorCode.values.map((ErrorCode code) => code.name));
+      _errorCodes.addAll(errorCodeValues.map((ErrorCode code) => code.name));
     }
     return _errorCodes;
   }
diff --git a/pkg/analyzer/pubspec.yaml b/pkg/analyzer/pubspec.yaml
index 0c265d5..eebe9df 100644
--- a/pkg/analyzer/pubspec.yaml
+++ b/pkg/analyzer/pubspec.yaml
@@ -9,6 +9,7 @@
   args: '>=0.12.1 <0.14.0'
   charcode: ^1.1.0
   crypto: '>=1.1.1 <3.0.0'
+  front_end: 0.1.0-alpha.0
   glob: ^1.0.3
   html: '>=0.12.0 <1.14.0'
   isolate: ^0.2.2
diff --git a/pkg/analyzer/test/file_system/memory_file_system_test.dart b/pkg/analyzer/test/file_system/memory_file_system_test.dart
index abc373f..cb39b49 100644
--- a/pkg/analyzer/test/file_system/memory_file_system_test.dart
+++ b/pkg/analyzer/test/file_system/memory_file_system_test.dart
@@ -111,6 +111,20 @@
     expect(file.isOrContains(provider.convertPath('/foo/bar')), isFalse);
   }
 
+  void test_lengthSync_doesNotExist() {
+    File file = provider.getResource(provider.convertPath('/test.txt'));
+    expect(() {
+      file.lengthSync;
+    }, throwsA(_isFileSystemException));
+  }
+
+  void test_lengthSync_exists() {
+    List<int> bytes = <int>[1, 2, 3, 4, 5];
+    File file =
+        provider.newFileWithBytes(provider.convertPath('/file.bin'), bytes);
+    expect(file.lengthSync, bytes.length);
+  }
+
   void test_modificationStamp_doesNotExist() {
     String path = provider.convertPath('/foo/bar/file.txt');
     File file = provider.newFile(path, 'qwerty');
diff --git a/pkg/analyzer/test/file_system/physical_resource_provider_test.dart b/pkg/analyzer/test/file_system/physical_resource_provider_test.dart
index 39ac5dc..62b4bba 100644
--- a/pkg/analyzer/test/file_system/physical_resource_provider_test.dart
+++ b/pkg/analyzer/test/file_system/physical_resource_provider_test.dart
@@ -97,6 +97,19 @@
     expect(file.isOrContains('foo'), isFalse);
   }
 
+  void test_lengthSync_doesNotExist() {
+    File file = PhysicalResourceProvider.INSTANCE.getResource(path);
+    expect(() {
+      file.lengthSync;
+    }, throwsA(_isFileSystemException));
+  }
+
+  void test_lengthSync_exists() {
+    List<int> bytes = <int>[1, 2, 3, 4, 5];
+    new io.File(path).writeAsBytesSync(bytes);
+    expect(file.lengthSync, bytes.length);
+  }
+
   void test_modificationStamp_doesNotExist() {
     File file = PhysicalResourceProvider.INSTANCE.getResource(path);
     expect(() {
diff --git a/pkg/analyzer/test/generated/analysis_context_factory.dart b/pkg/analyzer/test/generated/analysis_context_factory.dart
index b2c1975..fe3c66a 100644
--- a/pkg/analyzer/test/generated/analysis_context_factory.dart
+++ b/pkg/analyzer/test/generated/analysis_context_factory.dart
@@ -209,7 +209,7 @@
     }
     FunctionElementImpl thenOnValue = ElementFactory.functionElement3('onValue',
         DynamicElementImpl.instance, [futureElement.typeParameters[0]], null);
-    thenOnValue.synthetic = true;
+    thenOnValue.isSynthetic = true;
 
     DartType futureRType = futureElement.type.instantiate([futureThenR.type]);
     MethodElementImpl thenMethod = ElementFactory
@@ -248,7 +248,7 @@
         VoidTypeImpl.instance.element,
         <TypeDefiningElement>[streamElement.typeParameters[0]],
         null);
-    listenOnData.synthetic = true;
+    listenOnData.isSynthetic = true;
     List<DartType> parameterTypes = <DartType>[
       listenOnData.type,
     ];
diff --git a/pkg/analyzer/test/generated/compile_time_error_code_test.dart b/pkg/analyzer/test/generated/compile_time_error_code_test.dart
index 35dea2a..4b4bf3d 100644
--- a/pkg/analyzer/test/generated/compile_time_error_code_test.dart
+++ b/pkg/analyzer/test/generated/compile_time_error_code_test.dart
@@ -4596,6 +4596,32 @@
     ]);
   }
 
+  void test_nonConstValueInInitializer_assert_condition() {
+    resetWithOptions(new AnalysisOptionsImpl()..enableAssertInitializer = true);
+    Source source = addSource(r'''
+class A {
+  const A(int i) : assert(i.isNegative);
+}''');
+    computeLibrarySourceErrors(source);
+    assertErrors(
+        source, [CompileTimeErrorCode.NON_CONSTANT_VALUE_IN_INITIALIZER]);
+    verify([source]);
+  }
+
+  void test_nonConstValueInInitializer_assert_message() {
+    resetWithOptions(new AnalysisOptionsImpl()
+      ..enableAssertInitializer = true
+      ..enableAssertMessage = true);
+    Source source = addSource(r'''
+class A {
+  const A(int i) : assert(i < 0, 'isNegative = ${i.isNegative}');
+}''');
+    computeLibrarySourceErrors(source);
+    assertErrors(
+        source, [CompileTimeErrorCode.NON_CONSTANT_VALUE_IN_INITIALIZER]);
+    verify([source]);
+  }
+
   void test_nonConstValueInInitializer_binary_notBool_left() {
     Source source = addSource(r'''
 class A {
diff --git a/pkg/analyzer/test/generated/declaration_resolver_test.dart b/pkg/analyzer/test/generated/declaration_resolver_test.dart
index 32927b0..869d7e0 100644
--- a/pkg/analyzer/test/generated/declaration_resolver_test.dart
+++ b/pkg/analyzer/test/generated/declaration_resolver_test.dart
@@ -382,9 +382,11 @@
 
   void test_invalid_functionDeclaration_getter_inFunction() {
     String code = r'''
-main() {
-  int get zzz => 42;
-}
+var v = (() {
+  main() {
+    int get zzz => 42;
+  }
+});
 ''';
     CompilationUnit unit = resolveSource(code);
     FunctionElement getterElement =
@@ -397,9 +399,11 @@
 
   void test_invalid_functionDeclaration_setter_inFunction() {
     String code = r'''
-main() {
-  set zzz(x) {}
-}
+var v = (() {
+  main() {
+    set zzz(x) {}
+  }
+});
 ''';
     CompilationUnit unit = resolveSource(code);
     FunctionElement setterElement =
diff --git a/pkg/analyzer/test/generated/inheritance_manager_test.dart b/pkg/analyzer/test/generated/inheritance_manager_test.dart
index 5b3ba8e..1216101 100644
--- a/pkg/analyzer/test/generated/inheritance_manager_test.dart
+++ b/pkg/analyzer/test/generated/inheritance_manager_test.dart
@@ -968,7 +968,7 @@
     String methodName = "m";
     MethodElement methodM =
         ElementFactory.methodElement(methodName, _typeProvider.intType);
-    (methodM as MethodElementImpl).static = true;
+    (methodM as MethodElementImpl).isStatic = true;
     classA.methods = <MethodElement>[methodM];
     ClassElementImpl classB = ElementFactory.classElement2("B");
     classB.interfaces = <InterfaceType>[classA.type];
@@ -1064,7 +1064,7 @@
     String methodName = "m";
     MethodElement methodM =
         ElementFactory.methodElement(methodName, _typeProvider.intType);
-    (methodM as MethodElementImpl).static = true;
+    (methodM as MethodElementImpl).isStatic = true;
     classA.methods = <MethodElement>[methodM];
     ClassElementImpl classB = ElementFactory.classElement2("B");
     classB.mixins = <InterfaceType>[classA.type];
@@ -1140,7 +1140,7 @@
     String methodName = "m";
     MethodElement methodM =
         ElementFactory.methodElement(methodName, _typeProvider.intType);
-    (methodM as MethodElementImpl).static = true;
+    (methodM as MethodElementImpl).isStatic = true;
     classA.methods = <MethodElement>[methodM];
     ClassElementImpl classB = ElementFactory.classElement("B", classA.type);
     expect(_inheritanceManager.lookupInheritance(classB, methodName), isNull);
@@ -1183,7 +1183,7 @@
     String methodName = "m";
     MethodElement methodM =
         ElementFactory.methodElement(methodName, _typeProvider.intType);
-    (methodM as MethodElementImpl).static = true;
+    (methodM as MethodElementImpl).isStatic = true;
     classA.methods = <MethodElement>[methodM];
     expect(_inheritanceManager.lookupMember(classA, methodName), isNull);
     _assertNoErrors(classA);
@@ -1286,7 +1286,7 @@
   }
 
   void _assertErrors(ClassElement classElt,
-      [List<ErrorCode> expectedErrorCodes = ErrorCode.EMPTY_LIST]) {
+      [List<ErrorCode> expectedErrorCodes = const <ErrorCode>[]]) {
     GatheringErrorListener errorListener = new GatheringErrorListener();
     HashSet<AnalysisError> actualErrors =
         _inheritanceManager.getErrors(classElt);
diff --git a/pkg/analyzer/test/generated/non_hint_code_test.dart b/pkg/analyzer/test/generated/non_hint_code_test.dart
index 2890551..eda3e13 100644
--- a/pkg/analyzer/test/generated/non_hint_code_test.dart
+++ b/pkg/analyzer/test/generated/non_hint_code_test.dart
@@ -392,7 +392,7 @@
 library root;
 import 'lib1.dart' deferred as lib1;
 main() { lib1.f(); }'''
-    ], ErrorCode.EMPTY_LIST);
+    ], const <ErrorCode>[]);
   }
 
   void test_issue20904BuggyTypePromotionAtIfJoin_1() {
diff --git a/pkg/analyzer/test/generated/parser_test.dart b/pkg/analyzer/test/generated/parser_test.dart
index a7638b8..550b854 100644
--- a/pkg/analyzer/test/generated/parser_test.dart
+++ b/pkg/analyzer/test/generated/parser_test.dart
@@ -2937,7 +2937,7 @@
    * match those that are expected, or if the result would have been `null`.
    */
   CompilationUnit parseCompilationUnitWithOptions(String source,
-      [List<ErrorCode> errorCodes = ErrorCode.EMPTY_LIST]) {
+      [List<ErrorCode> errorCodes = const <ErrorCode>[]]) {
     createParser(source);
     CompilationUnit unit = parser.parseCompilationUnit2();
     expect(unit, isNotNull);
@@ -2955,7 +2955,7 @@
    *           not match those that are expected, or if the result would have been `null`
    */
   Expression parseExpression(String source,
-      [List<ErrorCode> errorCodes = ErrorCode.EMPTY_LIST]) {
+      [List<ErrorCode> errorCodes = const <ErrorCode>[]]) {
     createParser(source);
     Expression expression = parser.parseExpression2();
     expectNotNullIfNoErrors(expression);
@@ -2979,7 +2979,7 @@
    *           not match those that are expected, or if the result would have been `null`
    */
   static CompilationUnit parseCompilationUnit(String source,
-      [List<ErrorCode> errorCodes = ErrorCode.EMPTY_LIST]) {
+      [List<ErrorCode> errorCodes = const <ErrorCode>[]]) {
     GatheringErrorListener listener = new GatheringErrorListener();
     Scanner scanner =
         new Scanner(null, new CharSequenceReader(source), listener);
@@ -3014,7 +3014,7 @@
    * should be enabled.
    */
   static Statement parseStatement(String source,
-      [List<ErrorCode> errorCodes = ErrorCode.EMPTY_LIST,
+      [List<ErrorCode> errorCodes = const <ErrorCode>[],
       bool enableLazyAssignmentOperators]) {
     GatheringErrorListener listener = new GatheringErrorListener();
     Scanner scanner =
@@ -3041,7 +3041,7 @@
    *           are expected, or if the result would have been `null`
    */
   static List<Statement> parseStatements(String source, int expectedCount,
-      [List<ErrorCode> errorCodes = ErrorCode.EMPTY_LIST]) {
+      [List<ErrorCode> errorCodes = const <ErrorCode>[]]) {
     GatheringErrorListener listener = new GatheringErrorListener();
     Scanner scanner =
         new Scanner(null, new CharSequenceReader(source), listener);
@@ -7846,7 +7846,12 @@
     expect(member, new isInstanceOf<ConstructorDeclaration>());
     ConstructorDeclaration constructor = member as ConstructorDeclaration;
     NodeList<ConstructorInitializer> initializers = constructor.initializers;
-    expect(initializers, hasLength(2));
+    expect(initializers, hasLength(3));
+    ConstructorInitializer initializer = initializers[1];
+    expect(initializer, new isInstanceOf<AssertInitializer>());
+    AssertInitializer assertInitializer = initializer;
+    expect(assertInitializer.condition, isNotNull);
+    expect(assertInitializer.message, isNull);
   }
 
   void test_parseConstructor_with_pseudo_function_literal() {
@@ -13472,7 +13477,7 @@
    *           not match those that are expected, or if the result would have been `null`
    */
   CompilationUnit _parseDirectives(String source,
-      [List<ErrorCode> errorCodes = ErrorCode.EMPTY_LIST]) {
+      [List<ErrorCode> errorCodes = const <ErrorCode>[]]) {
     createParser(source);
     CompilationUnit unit = parser.parseDirectives2();
     expect(unit, isNotNull);
diff --git a/pkg/analyzer/test/generated/resolver_test_case.dart b/pkg/analyzer/test/generated/resolver_test_case.dart
index 1997423..32b42e9 100644
--- a/pkg/analyzer/test/generated/resolver_test_case.dart
+++ b/pkg/analyzer/test/generated/resolver_test_case.dart
@@ -369,7 +369,7 @@
    *           expected
    */
   void assertErrors(Source source,
-      [List<ErrorCode> expectedErrorCodes = ErrorCode.EMPTY_LIST]) {
+      [List<ErrorCode> expectedErrorCodes = const <ErrorCode>[]]) {
     GatheringErrorListener errorListener = new GatheringErrorListener();
     for (AnalysisError error in analysisContext2.computeErrors(source)) {
       expect(error.source, source);
diff --git a/pkg/analyzer/test/generated/static_type_warning_code_test.dart b/pkg/analyzer/test/generated/static_type_warning_code_test.dart
index 45dbadc..82b972c 100644
--- a/pkg/analyzer/test/generated/static_type_warning_code_test.dart
+++ b/pkg/analyzer/test/generated/static_type_warning_code_test.dart
@@ -2431,7 +2431,7 @@
 ''');
     computeLibrarySourceErrors(source);
     assertErrors(
-        source, [StaticTypeWarningCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS]);
+        source, [StaticTypeWarningCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS_METHOD]);
     for (AnalysisError error in analysisContext2.computeErrors(source)) {
       if (error.errorCode ==
           StaticTypeWarningCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS) {
diff --git a/pkg/analyzer/test/generated/static_warning_code_test.dart b/pkg/analyzer/test/generated/static_warning_code_test.dart
index 0a7087d..ae8bdca 100644
--- a/pkg/analyzer/test/generated/static_warning_code_test.dart
+++ b/pkg/analyzer/test/generated/static_warning_code_test.dart
@@ -3373,6 +3373,48 @@
     ]);
   }
 
+  void test_typeAnnotationGenericFunctionParameter_localFunction() {
+    resetWithOptions(new AnalysisOptionsImpl()..enableGenericMethods = true);
+    Source source = addSource(r'''
+class A {
+  void method() {
+    T local<T>(Object t) {
+      return (t is T) ? t : null;
+    }
+  }
+}''');
+    computeLibrarySourceErrors(source);
+    assertErrors(
+        source, [StaticWarningCode.TYPE_ANNOTATION_GENERIC_FUNCTION_PARAMETER]);
+    verify([source]);
+  }
+
+  void test_typeAnnotationGenericFunctionParameter_method() {
+    resetWithOptions(new AnalysisOptionsImpl()..enableGenericMethods = true);
+    Source source = addSource(r'''
+class A {
+  T method<T>(Object t) {
+    return (t is T) ? t : null;
+  }
+}''');
+    computeLibrarySourceErrors(source);
+    assertErrors(
+        source, [StaticWarningCode.TYPE_ANNOTATION_GENERIC_FUNCTION_PARAMETER]);
+    verify([source]);
+  }
+
+  void test_typeAnnotationGenericFunctionParameter_topLevelFunction() {
+    resetWithOptions(new AnalysisOptionsImpl()..enableGenericMethods = true);
+    Source source = addSource(r'''
+T function<T>(Object t) {
+  return (t is T) ? t : null;
+}''');
+    computeLibrarySourceErrors(source);
+    assertErrors(
+        source, [StaticWarningCode.TYPE_ANNOTATION_GENERIC_FUNCTION_PARAMETER]);
+    verify([source]);
+  }
+
   void test_typeParameterReferencedByStatic_field() {
     Source source = addSource(r'''
 class A<K> {
diff --git a/pkg/analyzer/test/generated/test_support.dart b/pkg/analyzer/test/generated/test_support.dart
index 6ec7c36..ce0b3f0 100644
--- a/pkg/analyzer/test/generated/test_support.dart
+++ b/pkg/analyzer/test/generated/test_support.dart
@@ -242,7 +242,7 @@
    *           expected
    */
   void assertErrorsWithCodes(
-      [List<ErrorCode> expectedErrorCodes = ErrorCode.EMPTY_LIST]) {
+      [List<ErrorCode> expectedErrorCodes = const <ErrorCode>[]]) {
     StringBuffer buffer = new StringBuffer();
     //
     // Verify that the expected error codes have a non-empty message.
diff --git a/pkg/analyzer/test/src/context/context_test.dart b/pkg/analyzer/test/src/context/context_test.dart
index 54f5619..13a5526 100644
--- a/pkg/analyzer/test/src/context/context_test.dart
+++ b/pkg/analyzer/test/src/context/context_test.dart
@@ -5395,8 +5395,7 @@
   @override
   void visitElement(Element element) {
     Element previousElement = previousElements[element];
-    bool expectIdentical = element is! LocalVariableElement;
-    bool ok = expectIdentical
+    bool ok = _expectedIdentical(element)
         ? identical(previousElement, element)
         : previousElement == element;
     if (!ok) {
@@ -5414,6 +5413,23 @@
     }
     super.visitElement(element);
   }
+
+  /**
+   * Return `true` if the given [element] should be the same as the previous
+   * element at the same position in the element model.
+   */
+  static bool _expectedIdentical(Element element) {
+    while (element != null) {
+      if (element is ConstructorElement ||
+          element is MethodElement ||
+          element is FunctionElement &&
+              element.enclosingElement is CompilationUnitElement) {
+        return false;
+      }
+      element = element.enclosingElement;
+    }
+    return true;
+  }
 }
 
 /**
diff --git a/pkg/analyzer/test/src/dart/analysis/byte_store_test.dart b/pkg/analyzer/test/src/dart/analysis/byte_store_test.dart
new file mode 100644
index 0000000..2099863
--- /dev/null
+++ b/pkg/analyzer/test/src/dart/analysis/byte_store_test.dart
@@ -0,0 +1,79 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:analyzer/src/dart/analysis/byte_store.dart';
+import 'package:test/test.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+import 'package:typed_mock/typed_mock.dart';
+
+main() {
+  defineReflectiveSuite(() {
+    defineReflectiveTests(MemoryCachingByteStoreTest);
+  });
+}
+
+@reflectiveTest
+class MemoryCachingByteStoreTest {
+  test_get_put_evict() {
+    var store = new _TestByteStore();
+    var cachingStore = new MemoryCachingByteStore(store, 100);
+
+    // Keys: [1, 2].
+    cachingStore.put('1', _b(40));
+    cachingStore.put('2', _b(50));
+
+    // Request '1', so now it is the most recently used.
+    // Keys: [2, 1].
+    cachingStore.get('1');
+
+    // 40 + 50 + 30 > 100
+    // So, '2' is evicted.
+    cachingStore.put('3', _b(30));
+    expect(cachingStore.get('1'), hasLength(40));
+    expect(cachingStore.get('2'), isNull);
+    expect(cachingStore.get('3'), hasLength(30));
+  }
+
+  test_put_evict_first() {
+    var store = new _TestByteStore();
+    var cachingStore = new MemoryCachingByteStore(store, 100);
+
+    // 40 + 50 < 100
+    cachingStore.put('1', _b(40));
+    cachingStore.put('2', _b(50));
+    expect(cachingStore.get('1'), hasLength(40));
+    expect(cachingStore.get('2'), hasLength(50));
+
+    // 40 + 50 + 30 > 100
+    // So, '1' is evicted.
+    cachingStore.put('3', _b(30));
+    expect(cachingStore.get('1'), isNull);
+    expect(cachingStore.get('2'), hasLength(50));
+    expect(cachingStore.get('3'), hasLength(30));
+  }
+
+  test_put_evict_firstAndSecond() {
+    var store = new _TestByteStore();
+    var cachingStore = new MemoryCachingByteStore(store, 100);
+
+    // 10 + 80 < 100
+    cachingStore.put('1', _b(10));
+    cachingStore.put('2', _b(80));
+    expect(cachingStore.get('1'), hasLength(10));
+    expect(cachingStore.get('2'), hasLength(80));
+
+    // 10 + 80 + 30 > 100
+    // So, '1' and '2' are evicted.
+    cachingStore.put('3', _b(30));
+    expect(cachingStore.get('1'), isNull);
+    expect(cachingStore.get('2'), isNull);
+    expect(cachingStore.get('3'), hasLength(30));
+  }
+
+  static List<int> _b(int length) {
+    return new List<int>(length);
+  }
+}
+
+class _TestByteStore extends TypedMock implements ByteStore {}
diff --git a/pkg/analyzer/test/src/dart/analysis/driver_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_test.dart
index 7ce9f31..3b7d74d 100644
--- a/pkg/analyzer/test/src/dart/analysis/driver_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/driver_test.dart
@@ -16,6 +16,7 @@
 import 'package:analyzer/src/dart/analysis/byte_store.dart';
 import 'package:analyzer/src/dart/analysis/driver.dart';
 import 'package:analyzer/src/dart/analysis/file_state.dart';
+import 'package:analyzer/src/dart/analysis/status.dart';
 import 'package:analyzer/src/error/codes.dart';
 import 'package:analyzer/src/generated/engine.dart' show AnalysisOptionsImpl;
 import 'package:analyzer/src/generated/source.dart';
@@ -28,7 +29,8 @@
 
 main() {
   defineReflectiveSuite(() {
-    defineReflectiveTests(DriverTest);
+    defineReflectiveTests(AnalysisDriverTest);
+    defineReflectiveTests(AnalysisDriverSchedulerTest);
   });
 }
 
@@ -47,14 +49,184 @@
 }
 
 @reflectiveTest
-class DriverTest {
+class AnalysisDriverSchedulerTest {
   static final MockSdk sdk = new MockSdk();
 
   final MemoryResourceProvider provider = new MemoryResourceProvider();
-  final ByteStore byteStore = new _TestByteStore();
+  final ByteStore byteStore = new MemoryByteStore();
   final FileContentOverlay contentOverlay = new FileContentOverlay();
-  final StringBuffer logBuffer = new StringBuffer();
 
+  final StringBuffer logBuffer = new StringBuffer();
+  PerformanceLog logger;
+
+  AnalysisDriverScheduler scheduler;
+
+  List<AnalysisResult> allResults = [];
+
+  AnalysisDriver newDriver() {
+    AnalysisDriver driver = new AnalysisDriver(
+        scheduler,
+        logger,
+        provider,
+        byteStore,
+        contentOverlay,
+        new SourceFactory(
+            [new DartUriResolver(sdk), new ResourceUriResolver(provider)],
+            null,
+            provider),
+        new AnalysisOptionsImpl()..strongMode = true);
+    driver.results.forEach(allResults.add);
+    return driver;
+  }
+
+  void setUp() {
+    logger = new PerformanceLog(logBuffer);
+    scheduler = new AnalysisDriverScheduler(logger);
+    scheduler.start();
+  }
+
+  test_priorities_getResult_beforePriority() async {
+    AnalysisDriver driver1 = newDriver();
+    AnalysisDriver driver2 = newDriver();
+
+    String a = _p('/a.dart');
+    String b = _p('/b.dart');
+    String c = _p('/c.dart');
+    provider.newFile(a, 'class A {}');
+    provider.newFile(b, 'class B {}');
+    provider.newFile(c, 'class C {}');
+    driver1.addFile(a);
+    driver2.addFile(b);
+    driver2.addFile(c);
+    driver1.priorityFiles = [a];
+    driver2.priorityFiles = [a];
+
+    AnalysisResult result = await driver2.getResult(b);
+    expect(result.path, b);
+
+    await driver1.status.firstWhere((status) => status.isIdle);
+    await driver2.status.firstWhere((status) => status.isIdle);
+
+    expect(allResults, hasLength(3));
+    expect(allResults[0].path, b);
+    expect(allResults[1].path, a);
+    expect(allResults[2].path, c);
+  }
+
+  test_priorities_priorityBeforeGeneral1() async {
+    AnalysisDriver driver1 = newDriver();
+    AnalysisDriver driver2 = newDriver();
+
+    String a = _p('/a.dart');
+    String b = _p('/b.dart');
+    provider.newFile(a, 'class A {}');
+    provider.newFile(b, 'class B {}');
+    driver1.addFile(a);
+    driver2.addFile(b);
+    driver1.priorityFiles = [a];
+    driver2.priorityFiles = [a];
+
+    await driver1.status.firstWhere((status) => status.isIdle);
+    await driver2.status.firstWhere((status) => status.isIdle);
+
+    expect(allResults, hasLength(2));
+    expect(allResults[0].path, a);
+    expect(allResults[1].path, b);
+  }
+
+  test_priorities_priorityBeforeGeneral2() async {
+    AnalysisDriver driver1 = newDriver();
+    AnalysisDriver driver2 = newDriver();
+
+    String a = _p('/a.dart');
+    String b = _p('/b.dart');
+    provider.newFile(a, 'class A {}');
+    provider.newFile(b, 'class B {}');
+    driver1.addFile(a);
+    driver2.addFile(b);
+    driver1.priorityFiles = [b];
+    driver2.priorityFiles = [b];
+
+    await driver1.status.firstWhere((status) => status.isIdle);
+    await driver2.status.firstWhere((status) => status.isIdle);
+
+    expect(allResults, hasLength(2));
+    expect(allResults[0].path, b);
+    expect(allResults[1].path, a);
+  }
+
+  test_priorities_priorityBeforeGeneral3() async {
+    AnalysisDriver driver1 = newDriver();
+    AnalysisDriver driver2 = newDriver();
+
+    String a = _p('/a.dart');
+    String b = _p('/b.dart');
+    String c = _p('/c.dart');
+    provider.newFile(a, 'class A {}');
+    provider.newFile(b, 'class B {}');
+    provider.newFile(c, 'class C {}');
+    driver1.addFile(a);
+    driver1.addFile(b);
+    driver2.addFile(c);
+    driver1.priorityFiles = [a, c];
+    driver2.priorityFiles = [a, c];
+
+    await driver1.status.firstWhere((status) => status.isIdle);
+    await driver2.status.firstWhere((status) => status.isIdle);
+
+    expect(allResults, hasLength(3));
+    expect(allResults[0].path, a);
+    expect(allResults[1].path, c);
+    expect(allResults[2].path, b);
+  }
+
+  test_status() async {
+    AnalysisDriver driver1 = newDriver();
+    AnalysisDriver driver2 = newDriver();
+
+    String a = _p('/a.dart');
+    String b = _p('/b.dart');
+    String c = _p('/c.dart');
+    provider.newFile(a, 'class A {}');
+    provider.newFile(b, 'class B {}');
+    provider.newFile(c, 'class C {}');
+    driver1.addFile(a);
+    driver2.addFile(b);
+    driver2.addFile(c);
+
+    Monitor idleStatusMonitor = new Monitor();
+    List<AnalysisStatus> allStatuses = [];
+    scheduler.status.forEach((status) {
+      allStatuses.add(status);
+      if (status.isIdle) {
+        idleStatusMonitor.notify();
+      }
+    });
+
+    await idleStatusMonitor.signal;
+
+    expect(allStatuses, hasLength(2));
+    expect(allStatuses[0].isAnalyzing, isTrue);
+    expect(allStatuses[1].isAnalyzing, isFalse);
+
+    expect(allResults, hasLength(3));
+  }
+
+  String _p(String path) => provider.convertPath(path);
+}
+
+@reflectiveTest
+class AnalysisDriverTest {
+  static final MockSdk sdk = new MockSdk();
+
+  final MemoryResourceProvider provider = new MemoryResourceProvider();
+  final ByteStore byteStore = new MemoryByteStore();
+  final FileContentOverlay contentOverlay = new FileContentOverlay();
+
+  final StringBuffer logBuffer = new StringBuffer();
+  PerformanceLog logger;
+
+  AnalysisDriverScheduler scheduler;
   AnalysisDriver driver;
   final _Monitor idleStatusMonitor = new _Monitor();
   final List<AnalysisStatus> allStatuses = <AnalysisStatus>[];
@@ -67,8 +239,11 @@
     new MockSdk();
     testProject = _p('/test/lib');
     testFile = _p('/test/lib/test.dart');
+    logger = new PerformanceLog(logBuffer);
+    scheduler = new AnalysisDriverScheduler(logger);
     driver = new AnalysisDriver(
-        new PerformanceLog(logBuffer),
+        scheduler,
+        logger,
         provider,
         byteStore,
         contentOverlay,
@@ -80,6 +255,7 @@
           new ResourceUriResolver(provider)
         ], null, provider),
         new AnalysisOptionsImpl()..strongMode = true);
+    scheduler.start();
     driver.status.lastWhere((status) {
       allStatuses.add(status);
       if (status.isIdle) {
@@ -89,6 +265,19 @@
     driver.results.listen(allResults.add);
   }
 
+  test_addedFiles() async {
+    var a = _p('/test/lib/a.dart');
+    var b = _p('/test/lib/b.dart');
+
+    driver.addFile(a);
+    expect(driver.addedFiles, contains(a));
+    expect(driver.addedFiles, isNot(contains(b)));
+
+    driver.removeFile(a);
+    expect(driver.addedFiles, isNot(contains(a)));
+    expect(driver.addedFiles, isNot(contains(b)));
+  }
+
   test_addFile_thenRemove() async {
     var a = _p('/test/lib/a.dart');
     var b = _p('/test/lib/b.dart');
@@ -258,6 +447,27 @@
     expect(allResults, [result]);
   }
 
+  test_getResult_constants_defaultParameterValue_localFunction() async {
+    var a = _p('/test/bin/a.dart');
+    var b = _p('/test/bin/b.dart');
+    provider.newFile(a, 'const C = 42;');
+    provider.newFile(
+        b,
+        r'''
+import 'a.dart';
+main() {
+  foo({int p: C}) {}
+  foo();
+}
+''');
+    driver.addFile(a);
+    driver.addFile(b);
+    await _waitForIdle();
+
+    AnalysisResult result = await driver.getResult(b);
+    expect(result.errors, isEmpty);
+  }
+
   test_getResult_errors() async {
     String content = 'main() { int vv; }';
     _addTestFile(content, priority: true);
@@ -289,41 +499,56 @@
     expect(_getClassFieldType(result.unit, 'C', 'f'), 'int');
   }
 
-  test_getResult_sameFile_twoUris() async {
-    var a = _p('/test/lib/a.dart');
-    var b = _p('/test/lib/b.dart');
-    var c = _p('/test/test/c.dart');
-    provider.newFile(a, 'class A<T> {}');
-    provider.newFile(
-        b,
+  test_getResult_inferTypes_instanceMethod() async {
+    _addTestFile(
         r'''
-import 'a.dart';
-var VB = new A<int>();
-''');
-    provider.newFile(
-        c,
-        r'''
-import '../lib/a.dart';
-var VC = new A<double>();
-''');
-
-    driver.addFile(a);
-    driver.addFile(b);
+class A {
+  int m(double p) => 1;
+}
+class B extends A {
+  m(double p) => 2;
+}
+''',
+        priority: true);
     await _waitForIdle();
 
-    {
-      AnalysisResult result = await driver.getResult(b);
-      expect(_getImportSource(result.unit, 0).uri.toString(),
-          'package:test/a.dart');
-      expect(_getTopLevelVarType(result.unit, 'VB'), 'A<int>');
-    }
+    AnalysisResult result = await driver.getResult(testFile);
+    expect(_getClassMethodReturnType(result.unit, 'A', 'm'), 'int');
+    expect(_getClassMethodReturnType(result.unit, 'B', 'm'), 'int');
+  }
 
-    {
-      AnalysisResult result = await driver.getResult(c);
-      expect(_getImportSource(result.unit, 0).uri,
-          provider.pathContext.toUri(_p('/test/lib/a.dart')));
-      expect(_getTopLevelVarType(result.unit, 'VC'), 'A<double>');
-    }
+  test_getResult_invalidUri_exports_dart() async {
+    String content = r'''
+export 'dart:async';
+export 'dart:noSuchLib';
+export 'dart:math';
+''';
+    _addTestFile(content, priority: true);
+
+    AnalysisResult result = await driver.getResult(testFile);
+    expect(result.path, testFile);
+    // Has only exports for valid URIs.
+    List<ExportElement> imports = result.unit.element.library.exports;
+    expect(
+        imports.map((import) => import.exportedLibrary.source.uri.toString()),
+        unorderedEquals(['dart:async', 'dart:math']));
+  }
+
+  test_getResult_invalidUri_imports_dart() async {
+    String content = r'''
+import 'dart:async';
+import 'dart:noSuchLib';
+import 'dart:math';
+''';
+    _addTestFile(content, priority: true);
+
+    AnalysisResult result = await driver.getResult(testFile);
+    expect(result.path, testFile);
+    // Has only imports for valid URIs.
+    List<ImportElement> imports = result.unit.element.library.imports;
+    expect(
+        imports.map((import) => import.importedLibrary.source.uri.toString()),
+        unorderedEquals(['dart:async', 'dart:math', 'dart:core']));
   }
 
   test_getResult_mix_fileAndPackageUris() async {
@@ -377,6 +602,43 @@
     }
   }
 
+  test_getResult_sameFile_twoUris() async {
+    var a = _p('/test/lib/a.dart');
+    var b = _p('/test/lib/b.dart');
+    var c = _p('/test/test/c.dart');
+    provider.newFile(a, 'class A<T> {}');
+    provider.newFile(
+        b,
+        r'''
+import 'a.dart';
+var VB = new A<int>();
+''');
+    provider.newFile(
+        c,
+        r'''
+import '../lib/a.dart';
+var VC = new A<double>();
+''');
+
+    driver.addFile(a);
+    driver.addFile(b);
+    await _waitForIdle();
+
+    {
+      AnalysisResult result = await driver.getResult(b);
+      expect(_getImportSource(result.unit, 0).uri.toString(),
+          'package:test/a.dart');
+      expect(_getTopLevelVarType(result.unit, 'VB'), 'A<int>');
+    }
+
+    {
+      AnalysisResult result = await driver.getResult(c);
+      expect(_getImportSource(result.unit, 0).uri,
+          provider.pathContext.toUri(_p('/test/lib/a.dart')));
+      expect(_getTopLevelVarType(result.unit, 'VC'), 'A<double>');
+    }
+  }
+
   test_getResult_selfConsistent() async {
     var a = _p('/test/lib/a.dart');
     var b = _p('/test/lib/b.dart');
@@ -404,7 +666,7 @@
       expect(_getTopLevelVarType(result.unit, 'A2'), 'int');
     }
 
-    // Update "a" that that "A1" is now "double".
+    // Update "a" so that "A1" is now "double".
     // Get result for "a".
     //
     // Even though we have not notified the driver about the change,
@@ -455,17 +717,278 @@
     expect(result1.unit, isNotNull);
   }
 
-  test_isAddedFile() async {
+  test_knownFiles() async {
     var a = _p('/test/lib/a.dart');
     var b = _p('/test/lib/b.dart');
 
+    provider.newFile(
+        a,
+        r'''
+import 'b.dart';
+''');
+
     driver.addFile(a);
-    expect(driver.isAddedFile(a), isTrue);
-    expect(driver.isAddedFile(b), isFalse);
+    await _waitForIdle();
+
+    expect(driver.knownFiles, contains(a));
+    expect(driver.knownFiles, contains(b));
 
     driver.removeFile(a);
-    expect(driver.isAddedFile(a), isFalse);
-    expect(driver.isAddedFile(b), isFalse);
+
+    // a.dart was removed, but we don't clean up the file state state yet.
+    expect(driver.knownFiles, contains(a));
+    expect(driver.knownFiles, contains(b));
+  }
+
+  test_part_getResult_afterLibrary() async {
+    var a = _p('/test/lib/a.dart');
+    var b = _p('/test/lib/b.dart');
+    var c = _p('/test/lib/c.dart');
+    provider.newFile(
+        a,
+        r'''
+library a;
+import 'b.dart';
+part 'c.dart';
+class A {}
+var c = new C();
+''');
+    provider.newFile(b, 'class B {}');
+    provider.newFile(
+        c,
+        r'''
+part of a;
+class C {}
+var a = new A();
+var b = new B();
+''');
+
+    driver.addFile(a);
+    driver.addFile(b);
+    driver.addFile(c);
+
+    // Process a.dart so that we know that it's a library for c.dart later.
+    {
+      AnalysisResult result = await driver.getResult(a);
+      expect(result.errors, isEmpty);
+      expect(_getTopLevelVarType(result.unit, 'c'), 'C');
+    }
+
+    // Now c.dart can be resolved without errors in the context of a.dart
+    {
+      AnalysisResult result = await driver.getResult(c);
+      expect(result.errors, isEmpty);
+      expect(_getTopLevelVarType(result.unit, 'a'), 'A');
+      expect(_getTopLevelVarType(result.unit, 'b'), 'B');
+    }
+  }
+
+  test_part_getResult_beforeLibrary() async {
+    var a = _p('/test/lib/a.dart');
+    var b = _p('/test/lib/b.dart');
+    var c = _p('/test/lib/c.dart');
+    provider.newFile(
+        a,
+        r'''
+library a;
+import 'b.dart';
+part 'c.dart';
+class A {}
+var c = new C();
+''');
+    provider.newFile(b, 'class B {}');
+    provider.newFile(
+        c,
+        r'''
+part of a;
+class C {}
+var a = new A();
+var b = new B();
+''');
+
+    driver.addFile(a);
+    driver.addFile(b);
+    driver.addFile(c);
+
+    // b.dart will be analyzed after a.dart is analyzed.
+    // So, A and B references are resolved.
+    AnalysisResult result = await driver.getResult(c);
+    expect(result.errors, isEmpty);
+    expect(_getTopLevelVarType(result.unit, 'a'), 'A');
+    expect(_getTopLevelVarType(result.unit, 'b'), 'B');
+  }
+
+  test_part_getResult_noLibrary() async {
+    var c = _p('/test/lib/c.dart');
+    provider.newFile(
+        c,
+        r'''
+part of a;
+class C {}
+var a = new A();
+var b = new B();
+''');
+
+    driver.addFile(c);
+
+    // There is no library which c.dart is a part of, so it has unresolved
+    // A and B references.
+    AnalysisResult result = await driver.getResult(c);
+    expect(result.errors, isNotEmpty);
+    expect(result.unit, isNotNull);
+  }
+
+  test_part_results_afterLibrary() async {
+    var a = _p('/test/lib/a.dart');
+    var b = _p('/test/lib/b.dart');
+    var c = _p('/test/lib/c.dart');
+    provider.newFile(
+        a,
+        r'''
+library a;
+import 'b.dart';
+part 'c.dart';
+class A {}
+var c = new C();
+''');
+    provider.newFile(b, 'class B {}');
+    provider.newFile(
+        c,
+        r'''
+part of a;
+class C {}
+var a = new A();
+var b = new B();
+''');
+
+    // The order is important for creating the test case.
+    driver.addFile(a);
+    driver.addFile(b);
+    driver.addFile(c);
+
+    {
+      await _waitForIdle();
+
+      // c.dart was added after a.dart, so it is analyzed after a.dart,
+      // so we know that a.dart is the library of c.dart, so no errors.
+      AnalysisResult result = allResults.lastWhere((r) => r.path == c);
+      expect(result.errors, isEmpty);
+      expect(result.unit, isNull);
+    }
+
+    // Update a.dart so that c.dart is not a part.
+    {
+      provider.updateFile(a, '// does not use c.dart anymore');
+      driver.changeFile(a);
+      await _waitForIdle();
+
+      // Now c.dart does not have a library context, so A and B cannot be
+      // resolved, so there are errors.
+      AnalysisResult result = allResults.lastWhere((r) => r.path == c);
+      expect(result.errors, isNotEmpty);
+      expect(result.unit, isNull);
+    }
+  }
+
+  test_part_results_beforeLibrary() async {
+    var a = _p('/test/lib/a.dart');
+    var b = _p('/test/lib/b.dart');
+    var c = _p('/test/lib/c.dart');
+    provider.newFile(
+        a,
+        r'''
+library a;
+import 'b.dart';
+part 'c.dart';
+class A {}
+var c = new C();
+''');
+    provider.newFile(b, 'class B {}');
+    provider.newFile(
+        c,
+        r'''
+part of a;
+class C {}
+var a = new A();
+var b = new B();
+''');
+
+    // The order is important for creating the test case.
+    driver.addFile(c);
+    driver.addFile(a);
+    driver.addFile(b);
+
+    await _waitForIdle();
+
+    // c.dart was added before a.dart, so we attempt to analyze it before
+    // a.dart, but we cannot find the library for it, so we delay analysis
+    // until all other files are analyzed, including a.dart, after which we
+    // analyze the delayed parts.
+    AnalysisResult result = allResults.lastWhere((r) => r.path == c);
+    expect(result.errors, isEmpty);
+    expect(result.unit, isNull);
+  }
+
+  test_part_results_noLibrary() async {
+    var c = _p('/test/lib/c.dart');
+    provider.newFile(
+        c,
+        r'''
+part of a;
+class C {}
+var a = new A();
+var b = new B();
+''');
+
+    driver.addFile(c);
+
+    await _waitForIdle();
+
+    // There is no library which c.dart is a part of, so it has unresolved
+    // A and B references.
+    AnalysisResult result = allResults.lastWhere((r) => r.path == c);
+    expect(result.errors, isNotEmpty);
+    expect(result.unit, isNull);
+  }
+
+  test_part_results_priority_beforeLibrary() async {
+    var a = _p('/test/lib/a.dart');
+    var b = _p('/test/lib/b.dart');
+    var c = _p('/test/lib/c.dart');
+    provider.newFile(
+        a,
+        r'''
+library a;
+import 'b.dart';
+part 'c.dart';
+class A {}
+var c = new C();
+''');
+    provider.newFile(b, 'class B {}');
+    provider.newFile(
+        c,
+        r'''
+part of a;
+class C {}
+var a = new A();
+var b = new B();
+''');
+
+    // The order is important for creating the test case.
+    driver.priorityFiles = [c];
+    driver.addFile(c);
+    driver.addFile(a);
+    driver.addFile(b);
+
+    await _waitForIdle();
+
+    // c.dart was added before a.dart, so we attempt to analyze it before
+    // a.dart, but we cannot find the library for it, so we delay analysis
+    // until all other files are analyzed, including a.dart, after which we
+    // analyze the delayed parts.
+    AnalysisResult result = allResults.lastWhere((r) => r.path == c);
+    expect(result.errors, isEmpty);
+    expect(result.unit, isNotNull);
   }
 
   test_removeFile_changeFile_implicitlyAnalyzed() async {
@@ -639,6 +1162,29 @@
     return _getClassField(unit, className, fieldName).element.type.toString();
   }
 
+  MethodDeclaration _getClassMethod(
+      CompilationUnit unit, String className, String methodName) {
+    ClassDeclaration classDeclaration = _getClass(unit, className);
+    for (ClassMember declaration in classDeclaration.members) {
+      if (declaration is MethodDeclaration &&
+          declaration.name.name == methodName) {
+        return declaration;
+      }
+    }
+    fail('Cannot find the method $methodName in the class $className in\n'
+        '$unit');
+    return null;
+  }
+
+  String _getClassMethodReturnType(
+      CompilationUnit unit, String className, String fieldName) {
+    return _getClassMethod(unit, className, fieldName)
+        .element
+        .type
+        .returnType
+        .toString();
+  }
+
   ImportElement _getImportElement(CompilationUnit unit, int directiveIndex) {
     var import = unit.directives[directiveIndex] as ImportDirective;
     return import.element as ImportElement;
@@ -694,17 +1240,3 @@
     }
   }
 }
-
-class _TestByteStore implements ByteStore {
-  final map = <String, List<int>>{};
-
-  @override
-  List<int> get(String key) {
-    return map[key];
-  }
-
-  @override
-  void put(String key, List<int> bytes) {
-    map[key] = bytes;
-  }
-}
diff --git a/pkg/analyzer/test/src/dart/analysis/test_all.dart b/pkg/analyzer/test/src/dart/analysis/test_all.dart
index fa508e7..346ac5a 100644
--- a/pkg/analyzer/test/src/dart/analysis/test_all.dart
+++ b/pkg/analyzer/test/src/dart/analysis/test_all.dart
@@ -6,11 +6,13 @@
 
 import 'package:test_reflective_loader/test_reflective_loader.dart';
 
+import 'byte_store_test.dart' as byte_store;
 import 'driver_test.dart' as driver;
 
 /// Utility for manually running all tests.
 main() {
   defineReflectiveSuite(() {
+    byte_store.main();
     driver.main();
   }, name: 'analysis');
 }
diff --git a/pkg/analyzer/test/src/dart/constant/evaluation_test.dart b/pkg/analyzer/test/src/dart/constant/evaluation_test.dart
index 39ded27..47ed912 100644
--- a/pkg/analyzer/test/src/dart/constant/evaluation_test.dart
+++ b/pkg/analyzer/test/src/dart/constant/evaluation_test.dart
@@ -1196,7 +1196,7 @@
   }
 
   void _assertProperDependencies(String sourceText,
-      [List<ErrorCode> expectedErrorCodes = ErrorCode.EMPTY_LIST]) {
+      [List<ErrorCode> expectedErrorCodes = const <ErrorCode>[]]) {
     Source source = addSource(sourceText);
     LibraryElement element = resolve2(source);
     CompilationUnit unit =
diff --git a/pkg/analyzer/test/src/dart/constant/utilities_test.dart b/pkg/analyzer/test/src/dart/constant/utilities_test.dart
index 6da39c1..b2e83e5 100644
--- a/pkg/analyzer/test/src/dart/constant/utilities_test.dart
+++ b/pkg/analyzer/test/src/dart/constant/utilities_test.dart
@@ -344,7 +344,7 @@
     ConstLocalVariableElementImpl variableElement =
         ElementFactory.constLocalVariableElement(name);
     _tail = variableElement;
-    variableElement.const3 = isConst;
+    variableElement.isConst = isConst;
     AstFactory.variableDeclarationList2(
         isConst ? Keyword.CONST : Keyword.VAR, [variableDeclaration]);
     SimpleIdentifier identifier = AstFactory.identifier3(name);
diff --git a/pkg/analyzer/test/src/dart/element/element_test.dart b/pkg/analyzer/test/src/dart/element/element_test.dart
index 394fcd5..f659b07 100644
--- a/pkg/analyzer/test/src/dart/element/element_test.dart
+++ b/pkg/analyzer/test/src/dart/element/element_test.dart
@@ -282,7 +282,7 @@
         ElementFactory.getterElement("foo", false, null);
     classA.accessors = <PropertyAccessorElement>[getter];
     // "foo" is static
-    getter.static = true;
+    getter.isStatic = true;
     expect(classA.hasStaticMember, isTrue);
   }
 
@@ -291,7 +291,7 @@
     MethodElementImpl method = ElementFactory.methodElement("foo", null);
     classA.methods = <MethodElement>[method];
     // "foo" is static
-    method.static = true;
+    method.isStatic = true;
     expect(classA.hasStaticMember, isTrue);
   }
 
@@ -301,7 +301,7 @@
         ElementFactory.setterElement("foo", false, null);
     classA.accessors = <PropertyAccessorElement>[setter];
     // "foo" is static
-    setter.static = true;
+    setter.isStatic = true;
     expect(classA.hasStaticMember, isTrue);
   }
 
@@ -1942,7 +1942,7 @@
     // the user (and hence can't participate in circularities).
     FunctionTypeAliasElementImpl f =
         ElementFactory.functionTypeAliasElement('f');
-    f.synthetic = true;
+    f.isSynthetic = true;
     FunctionTypeImpl type = f.type;
     expect(type.newPrune, isNull);
   }
diff --git a/pkg/analyzer/test/src/summary/summary_common.dart b/pkg/analyzer/test/src/summary/summary_common.dart
index c86f547..8b90c3c 100644
--- a/pkg/analyzer/test/src/summary/summary_common.dart
+++ b/pkg/analyzer/test/src/summary/summary_common.dart
@@ -849,6 +849,109 @@
     expect(signature3, isNot(signature1));
   }
 
+  test_apiSignature_excludeBody_constructor() {
+    List<int> signature1;
+    List<int> signature2;
+    List<int> signature3;
+    {
+      serializeLibraryText(r'''
+class A {
+  A() {
+  }
+}
+''');
+      signature1 = unlinkedUnits[0].apiSignature;
+    }
+    {
+      serializeLibraryText(r'''
+class A {
+  A() {
+    int v1;
+    f() {
+      double v2;
+    }
+  }
+}
+''');
+      signature2 = unlinkedUnits[0].apiSignature;
+    }
+    {
+      serializeLibraryText(r'''
+class A {
+  A(int p) {
+  }
+}
+''');
+    }
+    expect(signature2, signature1);
+    expect(signature3, isNot(signature1));
+  }
+
+  test_apiSignature_excludeBody_method() {
+    List<int> signature1;
+    List<int> signature2;
+    List<int> signature3;
+    {
+      serializeLibraryText(r'''
+class A {
+  m() {
+  }
+}
+''');
+      signature1 = unlinkedUnits[0].apiSignature;
+    }
+    {
+      serializeLibraryText(r'''
+class A {
+  m() {
+    int v1;
+    f() {
+      double v2;
+    }
+  }
+}
+''');
+      signature2 = unlinkedUnits[0].apiSignature;
+    }
+    {
+      serializeLibraryText(r'''
+class A {
+  m(p) {
+  }
+}
+''');
+    }
+    expect(signature2, signature1);
+    expect(signature3, isNot(signature1));
+  }
+
+  test_apiSignature_excludeBody_topLevelFunction() {
+    List<int> signature1;
+    List<int> signature2;
+    List<int> signature3;
+    {
+      serializeLibraryText('main() {}');
+      signature1 = unlinkedUnits[0].apiSignature;
+    }
+    {
+      serializeLibraryText(r'''
+main() {
+  int v1 = 1;
+  f() {
+    int v2 = 2;
+  }
+}
+''');
+      signature2 = unlinkedUnits[0].apiSignature;
+    }
+    {
+      serializeLibraryText('main(p) {}');
+      signature3 = unlinkedUnits[0].apiSignature;
+    }
+    expect(signature2, signature1);
+    expect(signature3, isNot(signature1));
+  }
+
   test_bottom_reference_shared() {
     if (skipFullyLinkedData) {
       return;
@@ -1353,21 +1456,22 @@
   }
 
   test_closure_executable_with_bottom_return_type() {
-    UnlinkedExecutable executable =
-        serializeExecutableText('f() { print((() => null)()); }');
-    expect(executable.localFunctions, hasLength(1));
-    expect(executable.localFunctions[0].returnType, isNull);
+    UnlinkedVariable variable = serializeVariableText('var v = (() => null);');
+    UnlinkedExecutable closure;
+    {
+      UnlinkedExecutable executable = variable.initializer;
+      expect(executable.localFunctions, hasLength(1));
+      expect(executable.localFunctions[0].returnType, isNull);
+      closure = executable.localFunctions[0];
+    }
     if (strongMode) {
       // Strong mode infers a type for the closure of `() => dynamic`, so the
       // inferred return type slot should be empty.
-      expect(
-          getTypeRefForSlot(
-              executable.localFunctions[0].inferredReturnTypeSlot),
-          isNull);
+      expect(getTypeRefForSlot(closure.inferredReturnTypeSlot), isNull);
     } else {
       // Spec mode infers a type for the closure of `() => Bottom`.
-      checkInferredTypeSlot(executable.localFunctions[0].inferredReturnTypeSlot,
-          null, null, '*bottom*',
+      checkInferredTypeSlot(
+          closure.inferredReturnTypeSlot, null, null, '*bottom*',
           onlyInStrongMode: false);
     }
   }
@@ -1376,8 +1480,12 @@
     addNamedSource('/a.dart', 'class C { D d; } class D {}');
     // The closure has type `() => D`; `D` is defined in a library that is
     // imported.
-    UnlinkedExecutable executable = serializeExecutableText(
-        'import "a.dart"; f() { print((() => new C().d)()); }');
+    UnlinkedExecutable executable = serializeVariableText(r'''
+import "a.dart";
+var v = (() {
+  print((() => new C().d)());
+});
+''').initializer.localFunctions[0];
     expect(executable.localFunctions, hasLength(1));
     expect(executable.localFunctions[0].returnType, isNull);
     checkInferredTypeSlot(executable.localFunctions[0].inferredReturnTypeSlot,
@@ -1420,8 +1528,12 @@
     addNamedSource('/b.dart', 'class D {}');
     // The closure has type `() => D`; `D` is defined in a library that is not
     // imported.
-    UnlinkedExecutable executable = serializeExecutableText(
-        'import "a.dart"; f() { print((() => new C().d)()); }');
+    UnlinkedExecutable executable = serializeVariableText(r'''
+import "a.dart";
+var v = (() {
+  print((() => new C().d)());
+});
+''').initializer.localFunctions[0];
     expect(executable.localFunctions, hasLength(1));
     expect(executable.localFunctions[0].returnType, isNull);
     checkInferredTypeSlot(executable.localFunctions[0].inferredReturnTypeSlot,
@@ -5046,24 +5158,16 @@
 
   test_executable_localFunctions() {
     String code = r'''
-f() { // 1
+f() {
   f1() {}
-  { // 2
+  {
     f2() {}
-  } // 3
-} // 4
+  }
+}
 ''';
     UnlinkedExecutable executable = serializeExecutableText(code);
     List<UnlinkedExecutable> functions = executable.localFunctions;
-    expect(functions, hasLength(2));
-    {
-      UnlinkedExecutable f1 = functions.singleWhere((v) => v.name == 'f1');
-      _assertExecutableVisible(code, f1, '{ // 1', '} // 4');
-    }
-    {
-      UnlinkedExecutable f2 = functions.singleWhere((v) => v.name == 'f2');
-      _assertExecutableVisible(code, f2, '{ // 2', '} // 3');
-    }
+    expect(functions, isEmpty);
   }
 
   test_executable_localLabels_inMethod() {
@@ -5078,19 +5182,7 @@
     UnlinkedExecutable executable =
         findExecutable('m', executables: serializeClassText(code).executables);
     List<UnlinkedLabel> labels = executable.localLabels;
-    expect(labels, hasLength(2));
-    {
-      UnlinkedLabel aaa = labels.singleWhere((l) => l.name == 'aaa');
-      expect(aaa, isNotNull);
-      expect(aaa.isOnSwitchMember, isFalse);
-      expect(aaa.isOnSwitchStatement, isFalse);
-    }
-    {
-      UnlinkedLabel bbb = labels.singleWhere((l) => l.name == 'bbb');
-      expect(bbb, isNotNull);
-      expect(bbb.isOnSwitchMember, isFalse);
-      expect(bbb.isOnSwitchStatement, isFalse);
-    }
+    expect(labels, isEmpty);
   }
 
   test_executable_localLabels_inTopLevelFunction() {
@@ -5107,31 +5199,7 @@
 ''';
     UnlinkedExecutable executable = serializeExecutableText(code);
     List<UnlinkedLabel> labels = executable.localLabels;
-    expect(labels, hasLength(4));
-    {
-      UnlinkedLabel aaa = labels.singleWhere((l) => l.name == 'aaa');
-      expect(aaa, isNotNull);
-      expect(aaa.isOnSwitchMember, isFalse);
-      expect(aaa.isOnSwitchStatement, isFalse);
-    }
-    {
-      UnlinkedLabel bbb = labels.singleWhere((l) => l.name == 'bbb');
-      expect(bbb, isNotNull);
-      expect(bbb.isOnSwitchMember, isFalse);
-      expect(bbb.isOnSwitchStatement, isTrue);
-    }
-    {
-      UnlinkedLabel ccc = labels.singleWhere((l) => l.name == 'ccc');
-      expect(ccc, isNotNull);
-      expect(ccc.isOnSwitchMember, isTrue);
-      expect(ccc.isOnSwitchStatement, isFalse);
-    }
-    {
-      UnlinkedLabel ccc = labels.singleWhere((l) => l.name == 'ddd');
-      expect(ccc, isNotNull);
-      expect(ccc.isOnSwitchMember, isTrue);
-      expect(ccc.isOnSwitchStatement, isFalse);
-    }
+    expect(labels, isEmpty);
   }
 
   test_executable_localLabels_inTopLevelGetter() {
@@ -5144,19 +5212,7 @@
     UnlinkedExecutable executable =
         serializeExecutableText(code, executableName: 'g');
     List<UnlinkedLabel> labels = executable.localLabels;
-    expect(labels, hasLength(2));
-    {
-      UnlinkedLabel aaa = labels.singleWhere((l) => l.name == 'aaa');
-      expect(aaa, isNotNull);
-      expect(aaa.isOnSwitchMember, isFalse);
-      expect(aaa.isOnSwitchStatement, isFalse);
-    }
-    {
-      UnlinkedLabel bbb = labels.singleWhere((l) => l.name == 'bbb');
-      expect(bbb, isNotNull);
-      expect(bbb.isOnSwitchMember, isFalse);
-      expect(bbb.isOnSwitchStatement, isFalse);
-    }
+    expect(labels, isEmpty);
   }
 
   test_executable_localLabels_namedExpressionLabel() {
@@ -5173,16 +5229,19 @@
 
   test_executable_localVariables_catch() {
     String code = r'''
-f() { // 1
-  try {
-    throw 42;
-  } on int catch (e, st) { // 2
-    print(e);
-    print(st);
-  } // 3
-} // 4
+var v = (
+  () { // 1
+    try {
+      throw 42;
+    } on int catch (e, st) { // 2
+      print(e);
+      print(st);
+    } // 3
+  } // 4
+);
 ''';
-    UnlinkedExecutable executable = serializeExecutableText(code);
+    UnlinkedExecutable executable =
+        serializeVariableText(code).initializer.localFunctions[0];
     List<UnlinkedVariable> variables = executable.localVariables;
     expect(variables, hasLength(2));
     {
@@ -5219,13 +5278,18 @@
 
   test_executable_localVariables_forEachLoop() {
     String code = r'''
-f() { // 1
-  for (int i in <int>[]) { // 2
-    print(i);
-  } // 3
-} // 4
+var v = (() {
+  f() { // 1
+    for (int i in <int>[]) { // 2
+      print(i);
+    } // 3
+  } // 4
+});
 ''';
-    UnlinkedExecutable executable = serializeExecutableText(code);
+    UnlinkedExecutable executable = serializeVariableText(code)
+        .initializer
+        .localFunctions[0]
+        .localFunctions[0];
     List<UnlinkedVariable> variables = executable.localVariables;
     expect(variables, hasLength(1));
     {
@@ -5237,14 +5301,19 @@
 
   test_executable_localVariables_forEachLoop_outside() {
     String code = r'''
-f() { // 1
-  int i;
-  for (i in <int>[]) {
-    print(i);
-  }
-} // 4
+var v = (() {
+  f() { // 1
+    int i;
+    for (i in <int>[]) {
+      print(i);
+    }
+  } // 4
+});
 ''';
-    UnlinkedExecutable executable = serializeExecutableText(code);
+    UnlinkedExecutable executable = serializeVariableText(code)
+        .initializer
+        .localFunctions[0]
+        .localFunctions[0];
     List<UnlinkedVariable> variables = executable.localVariables;
     expect(variables, hasLength(1));
     {
@@ -5256,13 +5325,18 @@
 
   test_executable_localVariables_forLoop() {
     String code = r'''
-f() { // 1
-  for (int i = 0, j = 0; i < 10; i++, j++) { // 2
-    print(i);
-  } // 3
-} // 4
+var v = (() {
+  f() { // 1
+    for (int i = 0, j = 0; i < 10; i++, j++) { // 2
+      print(i);
+    } // 3
+  } // 4
+});
 ''';
-    UnlinkedExecutable executable = serializeExecutableText(code);
+    UnlinkedExecutable executable = serializeVariableText(code)
+        .initializer
+        .localFunctions[0]
+        .localFunctions[0];
     List<UnlinkedVariable> variables = executable.localVariables;
     expect(variables, hasLength(2));
     {
@@ -5279,11 +5353,16 @@
 
   test_executable_localVariables_forLoop_noVariables() {
     String code = r'''
-f() {
-  for (; true;) {}
-}
+var v = (() {
+  f() {
+    for (; true;) {}
+  }
+});
 ''';
-    UnlinkedExecutable executable = serializeExecutableText(code);
+    UnlinkedExecutable executable = serializeVariableText(code)
+        .initializer
+        .localFunctions[0]
+        .localFunctions[0];
     List<UnlinkedVariable> variables = executable.localVariables;
     expect(variables, isEmpty);
   }
@@ -5291,37 +5370,37 @@
   test_executable_localVariables_inConstructor() {
     String code = r'''
 class C {
-  C() { // 1
+  C() {
     int v;
-  } // 2
+  }
 }
 ''';
     UnlinkedExecutable executable =
         findExecutable('', executables: serializeClassText(code).executables);
     List<UnlinkedVariable> variables = executable.localVariables;
-    expect(variables, hasLength(1));
-    {
-      UnlinkedVariable v = variables.singleWhere((v) => v.name == 'v');
-      _assertVariableVisible(code, v, '{ // 1', '} // 2');
-      checkTypeRef(v.type, 'dart:core', 'dart:core', 'int');
-    }
+    expect(variables, isEmpty);
   }
 
   test_executable_localVariables_inLocalFunctions() {
     String code = r'''
-f() {
-  f1() { // 1
-    int v1 = 1;
-  } // 2
-  f2() { // 3
-    int v1 = 1;
-    f3() { // 4
-      int v2 = 1;
-    } // 5
-  } // 6
-} // 7
+var v = (() {
+  f() {
+    f1() { // 1
+      int v1 = 1;
+    } // 2
+    f2() { // 3
+      int v1 = 1;
+      f3() { // 4
+        int v2 = 1;
+      } // 5
+    } // 6
+  } // 7
+});
 ''';
-    UnlinkedExecutable executable = serializeExecutableText(code);
+    UnlinkedExecutable executable = serializeVariableText(code)
+        .initializer
+        .localFunctions[0]
+        .localFunctions[0];
     List<UnlinkedExecutable> functions = executable.localFunctions;
     expect(functions, hasLength(2));
     // f - f1
@@ -5362,57 +5441,31 @@
   test_executable_localVariables_inMethod() {
     String code = r'''
 class C {
-  m() { // 1
+  m() {
     int v;
     f() {}
-  } // 2
+  }
 }
 ''';
     UnlinkedExecutable executable =
         findExecutable('m', executables: serializeClassText(code).executables);
-    {
-      List<UnlinkedExecutable> functions = executable.localFunctions;
-      expect(functions, hasLength(1));
-      UnlinkedExecutable f = functions.singleWhere((v) => v.name == 'f');
-      _assertExecutableVisible(code, f, '{ // 1', '} // 2');
-    }
-    {
-      List<UnlinkedVariable> variables = executable.localVariables;
-      expect(variables, hasLength(1));
-      UnlinkedVariable v = variables.singleWhere((v) => v.name == 'v');
-      _assertVariableVisible(code, v, '{ // 1', '} // 2');
-      checkTypeRef(v.type, 'dart:core', 'dart:core', 'int');
-    }
+    expect(executable.localFunctions, isEmpty);
+    expect(executable.localVariables, isEmpty);
   }
 
   test_executable_localVariables_inTopLevelFunction() {
     String code = r'''
-f() { // 1
+f() {
   int v1 = 1;
-  { // 2
+  {
     int v2 = 2;
-  } // 3
+  }
   var v3 = 3;
-} // 4
+}
 ''';
     UnlinkedExecutable executable = serializeExecutableText(code);
     List<UnlinkedVariable> variables = executable.localVariables;
-    expect(variables, hasLength(3));
-    {
-      UnlinkedVariable v1 = variables.singleWhere((v) => v.name == 'v1');
-      _assertVariableVisible(code, v1, '{ // 1', '} // 4');
-      checkTypeRef(v1.type, 'dart:core', 'dart:core', 'int');
-    }
-    {
-      UnlinkedVariable v2 = variables.singleWhere((v) => v.name == 'v2');
-      _assertVariableVisible(code, v2, '{ // 2', '} // 3');
-      checkTypeRef(v2.type, 'dart:core', 'dart:core', 'int');
-    }
-    {
-      UnlinkedVariable v3 = variables.singleWhere((v) => v.name == 'v3');
-      _assertVariableVisible(code, v3, '{ // 1', '} // 4');
-      expect(v3.type, isNull);
-    }
+    expect(variables, isEmpty);
   }
 
   test_executable_localVariables_inTopLevelGetter() {
@@ -5424,19 +5477,8 @@
 ''';
     UnlinkedExecutable executable =
         serializeExecutableText(code, executableName: 'g');
-    {
-      List<UnlinkedExecutable> functions = executable.localFunctions;
-      expect(functions, hasLength(1));
-      UnlinkedExecutable f = functions.singleWhere((v) => v.name == 'f');
-      _assertExecutableVisible(code, f, '{ // 1', '} // 2');
-    }
-    {
-      List<UnlinkedVariable> variables = executable.localVariables;
-      expect(variables, hasLength(1));
-      UnlinkedVariable v = variables.singleWhere((v) => v.name == 'v');
-      _assertVariableVisible(code, v, '{ // 1', '} // 2');
-      checkTypeRef(v.type, 'dart:core', 'dart:core', 'int');
-    }
+    expect(executable.localFunctions, isEmpty);
+    expect(executable.localVariables, isEmpty);
   }
 
   test_executable_member_function() {
@@ -5825,14 +5867,6 @@
     expect(executable.parameters[0].inheritsCovariantSlot, 0);
   }
 
-  test_executable_param_of_local_function_no_covariance() {
-    UnlinkedExecutable executable =
-        serializeClassText('class C { m() { f(x) {} } }')
-            .executables[0]
-            .localFunctions[0];
-    expect(executable.parameters[0].inheritsCovariantSlot, 0);
-  }
-
   test_executable_param_of_method_covariance() {
     UnlinkedExecutable executable =
         serializeClassText('class C { m(x) {} }').executables[0];
@@ -7773,25 +7807,6 @@
     expect(f.inferredReturnTypeSlot, 0);
   }
 
-  test_generic_gClass_gMethodStatic() {
-    UnlinkedClass cls = serializeClassText('''
-class C<T, U> {
-  static void m<V, W>(V v, W w) {
-    void f<X, Y>(V v, W w, X x, Y y) {
-    }
-  }
-}
-''');
-    UnlinkedExecutable m = cls.executables[0];
-    UnlinkedExecutable f = m.localFunctions[0];
-    checkParamTypeRef(m.parameters[0].type, 2);
-    checkParamTypeRef(m.parameters[1].type, 1);
-    checkParamTypeRef(f.parameters[0].type, 4);
-    checkParamTypeRef(f.parameters[1].type, 3);
-    checkParamTypeRef(f.parameters[2].type, 2);
-    checkParamTypeRef(f.parameters[3].type, 1);
-  }
-
   test_generic_method_in_generic_class() {
     UnlinkedClass cls = serializeClassText(
         'class C<T, U> { void m<V, W>(T t, U u, V v, W w) {} }');
@@ -9153,20 +9168,22 @@
   }
 
   test_nested_generic_functions() {
-    UnlinkedExecutable executable = serializeExecutableText('''
-void f<T, U>() {
-  void g<V, W>() {
-    void h<X, Y>() {
-      T t;
-      U u;
-      V v;
-      W w;
-      X x;
-      Y y;
+    UnlinkedExecutable executable = serializeVariableText('''
+var v = (() {
+  void f<T, U>() {
+    void g<V, W>() {
+      void h<X, Y>() {
+        T t;
+        U u;
+        V v;
+        W w;
+        X x;
+        Y y;
+      }
     }
   }
-}
-''');
+});
+''').initializer.localFunctions[0].localFunctions[0];
     expect(executable.typeParameters, hasLength(2));
     expect(executable.localFunctions[0].typeParameters, hasLength(2));
     expect(executable.localFunctions[0].localFunctions[0].typeParameters,
@@ -9181,34 +9198,6 @@
     checkParamTypeRef(findVariable('y', variables: localVariables).type, 1);
   }
 
-  test_nested_generic_functions_in_generic_class() {
-    UnlinkedClass cls = serializeClassText('''
-class C<T, U> {
-  void g<V, W>() {
-    void h<X, Y>() {
-      T t;
-      U u;
-      V v;
-      W w;
-      X x;
-      Y y;
-    }
-  }
-}
-''');
-    expect(cls.typeParameters, hasLength(2));
-    expect(cls.executables[0].typeParameters, hasLength(2));
-    expect(cls.executables[0].localFunctions[0].typeParameters, hasLength(2));
-    List<UnlinkedVariable> localVariables =
-        cls.executables[0].localFunctions[0].localVariables;
-    checkParamTypeRef(findVariable('t', variables: localVariables).type, 6);
-    checkParamTypeRef(findVariable('u', variables: localVariables).type, 5);
-    checkParamTypeRef(findVariable('v', variables: localVariables).type, 4);
-    checkParamTypeRef(findVariable('w', variables: localVariables).type, 3);
-    checkParamTypeRef(findVariable('x', variables: localVariables).type, 2);
-    checkParamTypeRef(findVariable('y', variables: localVariables).type, 1);
-  }
-
   test_parameter_visibleRange_abstractMethod() {
     UnlinkedExecutable m = findExecutable('m',
         executables:
@@ -9219,12 +9208,15 @@
 
   test_parameter_visibleRange_function_blockBody() {
     String text = r'''
-f(x) { // 1
-  f2(y) { // 2
-  } // 3
-} // 4
+var v = (() {
+  f(x) { // 1
+    f2(y) { // 2
+    } // 3
+  } // 4
+});
 ''';
-    UnlinkedExecutable f = serializeExecutableText(text);
+    var closure = serializeVariableText(text).initializer.localFunctions[0];
+    UnlinkedExecutable f = closure.localFunctions[0];
     UnlinkedExecutable f2 = f.localFunctions[0];
     _assertParameterVisible(text, f.parameters[0], '{ // 1', '} // 4');
     _assertParameterVisible(text, f2.parameters[0], '{ // 2', '} // 3');
@@ -9270,6 +9262,13 @@
     expect(unlinkedUnits[0].parts[0].uriEnd, text.indexOf('; // <-part'));
   }
 
+  test_part_isPartOf() {
+    addNamedSource('/a.dart', 'part of foo; class C {}');
+    serializeLibraryText('library foo; part "a.dart";');
+    expect(unlinkedUnits[0].isPartOf, isFalse);
+    expect(unlinkedUnits[1].isPartOf, isTrue);
+  }
+
   test_parts_defining_compilation_unit() {
     serializeLibraryText('');
     expect(linked.units, hasLength(1));
@@ -9294,13 +9293,6 @@
     expect(unlinkedUnits[1].publicNamespace.names[0].name, 'C');
   }
 
-  test_part_isPartOf() {
-    addNamedSource('/a.dart', 'part of foo; class C {}');
-    serializeLibraryText('library foo; part "a.dart";');
-    expect(unlinkedUnits[0].isPartOf, isFalse);
-    expect(unlinkedUnits[1].isPartOf, isTrue);
-  }
-
   test_reference_zero() {
     // Element zero of the references table should be populated in a standard
     // way.
diff --git a/pkg/analyzer/test/src/task/strong/inferred_type_test.dart b/pkg/analyzer/test/src/task/strong/inferred_type_test.dart
index dc4fe36..f38f362 100644
--- a/pkg/analyzer/test/src/task/strong/inferred_type_test.dart
+++ b/pkg/analyzer/test/src/task/strong/inferred_type_test.dart
@@ -1883,7 +1883,7 @@
 /*error:INVALID_METHOD_OVERRIDE*/m(x) => x;
 }
 main() {
-  int y = /*info:DYNAMIC_CAST*/new D()./*error:WRONG_NUMBER_OF_TYPE_ARGUMENTS*/m/*<int>*/(42);
+  int y = /*info:DYNAMIC_CAST*/new D()./*error:WRONG_NUMBER_OF_TYPE_ARGUMENTS_METHOD*/m/*<int>*/(42);
   print(y);
 }
 ''');
diff --git a/pkg/compiler/lib/src/closure.dart b/pkg/compiler/lib/src/closure.dart
index e0c6826..f9885ba 100644
--- a/pkg/compiler/lib/src/closure.dart
+++ b/pkg/compiler/lib/src/closure.dart
@@ -19,7 +19,6 @@
 import 'resolution/tree_elements.dart' show TreeElements;
 import 'tokens/token.dart' show Token;
 import 'tree/tree.dart';
-import 'universe/world_builder.dart' show CodegenWorldBuilder;
 import 'util/util.dart';
 
 class ClosureTask extends CompilerTask {
@@ -122,7 +121,7 @@
       throw new SpannableAssertionFailure(
           closure, 'Not a closure: $closure (${closure.runtimeType}).');
     }
-    compiler.enqueuer.codegen.forgetElement(cls);
+    compiler.enqueuer.codegen.forgetElement(cls, compiler);
   }
 }
 
diff --git a/pkg/compiler/lib/src/common/backend_api.dart b/pkg/compiler/lib/src/common/backend_api.dart
index b8944a1..f58ef31 100644
--- a/pkg/compiler/lib/src/common/backend_api.dart
+++ b/pkg/compiler/lib/src/common/backend_api.dart
@@ -83,20 +83,20 @@
 
   void initializeHelperClasses() {}
 
-  void enqueueHelpers(ResolutionEnqueuer world, Registry registry);
+  void enqueueHelpers(ResolutionEnqueuer world);
 
   /// Creates an [Enqueuer] for code generation specific to this backend.
-  Enqueuer createCodegenEnqueuer(Compiler compiler);
+  Enqueuer createCodegenEnqueuer(CompilerTask task, Compiler compiler);
 
   WorldImpact codegen(CodegenWorkItem work);
 
   // The backend determines the native resolution enqueuer, with a no-op
   // default, so tools like dart2dart can ignore the native classes.
-  native.NativeEnqueuer nativeResolutionEnqueuer(world) {
+  native.NativeEnqueuer nativeResolutionEnqueuer() {
     return new native.NativeEnqueuer();
   }
 
-  native.NativeEnqueuer nativeCodegenEnqueuer(world) {
+  native.NativeEnqueuer nativeCodegenEnqueuer() {
     return new native.NativeEnqueuer();
   }
 
@@ -117,7 +117,8 @@
 
   /// Enable deferred loading. Returns `true` if the backend supports deferred
   /// loading.
-  bool enableDeferredLoadingIfSupported(Spannable node, Registry registry);
+  bool enableDeferredLoadingIfSupported(
+      ResolutionEnqueuer enqueuer, Spannable node);
 
   /// Called during codegen when [constant] has been used.
   void computeImpactForCompileTimeConstant(ConstantValue constant,
@@ -126,22 +127,15 @@
   /// Called to notify to the backend that a class is being instantiated.
   // TODO(johnniwinther): Remove this. It's only called once for each [cls] and
   // only with [Compiler.globalDependencies] as [registry].
-  void registerInstantiatedClass(
-      ClassElement cls, Enqueuer enqueuer, Registry registry) {}
+  void registerInstantiatedClass(ClassElement cls, Enqueuer enqueuer) {}
 
   /// Called to notify to the backend that a class is implemented by an
   /// instantiated class.
-  void registerImplementedClass(
-      ClassElement cls, Enqueuer enqueuer, Registry registry) {}
+  void registerImplementedClass(ClassElement cls, Enqueuer enqueuer) {}
 
   /// Called to instruct to the backend register [type] as instantiated on
   /// [enqueuer].
-  void registerInstantiatedType(
-      InterfaceType type, Enqueuer enqueuer, Registry registry,
-      {bool mirrorUsage: false}) {
-    registry.registerDependency(type.element);
-    enqueuer.registerInstantiatedType(type, mirrorUsage: mirrorUsage);
-  }
+  void registerInstantiatedType(InterfaceType type) {}
 
   /// Register a runtime type variable bound tests between [typeArgument] and
   /// [bound].
@@ -153,12 +147,12 @@
    * method.
    */
   void registerCallMethodWithFreeTypeVariables(
-      Element callMethod, Enqueuer enqueuer, Registry registry) {}
+      Element callMethod, Enqueuer enqueuer) {}
 
   /// Called to instruct the backend to register that a closure exists for a
   /// function on an instantiated generic class.
   void registerClosureWithFreeTypeVariables(
-      Element closure, Enqueuer enqueuer, Registry registry) {}
+      Element closure, Enqueuer enqueuer) {}
 
   /// Call this to register that a member has been closurized.
   void registerBoundClosure(Enqueuer enqueuer) {}
@@ -169,7 +163,7 @@
   /**
    * Call this to register that the [:runtimeType:] property has been accessed.
    */
-  void registerRuntimeType(Enqueuer enqueuer, Registry registry) {}
+  void registerRuntimeType(Enqueuer enqueuer) {}
 
   /// Call this to register a `noSuchMethod` implementation.
   void registerNoSuchMethod(FunctionElement noSuchMethodElement) {}
@@ -213,7 +207,7 @@
     return false;
   }
 
-  void registerStaticUse(Element element, {bool forResolution}) {}
+  void registerStaticUse(Enqueuer enqueuer, Element element) {}
 
   /// This method is called immediately after the [LibraryElement] [library] has
   /// been created.
@@ -368,7 +362,8 @@
 class ImpactTransformer {
   /// Transform the [ResolutionImpact] into a [WorldImpact] adding the
   /// backend dependencies for features used in [worldImpact].
-  WorldImpact transformResolutionImpact(ResolutionImpact worldImpact) {
+  WorldImpact transformResolutionImpact(
+      ResolutionEnqueuer enqueuer, ResolutionImpact worldImpact) {
     return worldImpact;
   }
 
diff --git a/pkg/compiler/lib/src/common/resolution.dart b/pkg/compiler/lib/src/common/resolution.dart
index 538692a..aeec588 100644
--- a/pkg/compiler/lib/src/common/resolution.dart
+++ b/pkg/compiler/lib/src/common/resolution.dart
@@ -158,6 +158,9 @@
   /// Resolve [element] if it has not already been resolved.
   void ensureResolved(Element element);
 
+  /// Ensure the resolution of all members of [element].
+  void ensureClassMembers(ClassElement element);
+
   /// Registers that [element] has a compile time error.
   ///
   /// The error itself is given in [message].
diff --git a/pkg/compiler/lib/src/compiler.dart b/pkg/compiler/lib/src/compiler.dart
index 536a279..c2f91fe 100644
--- a/pkg/compiler/lib/src/compiler.dart
+++ b/pkg/compiler/lib/src/compiler.dart
@@ -76,7 +76,12 @@
 import 'universe/world_builder.dart'
     show ResolutionWorldBuilder, CodegenWorldBuilder;
 import 'universe/use.dart' show StaticUse;
-import 'universe/world_impact.dart' show ImpactStrategy, WorldImpact;
+import 'universe/world_impact.dart'
+    show
+        ImpactStrategy,
+        WorldImpact,
+        WorldImpactBuilder,
+        WorldImpactBuilderImpl;
 import 'util/util.dart' show Link, Setlet;
 import 'world.dart' show ClosedWorld, ClosedWorldRefiner, OpenWorld, WorldImpl;
 
@@ -89,7 +94,7 @@
   Measurer get measurer;
 
   final IdGenerator idGenerator = new IdGenerator();
-  WorldImpl _world;
+  WorldImpl get _world => resolverWorld.openWorld;
   Types types;
   _CompilerCoreTypes _coreTypes;
   CompilerDiagnosticReporter _reporter;
@@ -114,16 +119,6 @@
    */
   GlobalDependencyRegistry globalDependencies;
 
-  /**
-   * Dependencies that are only included due to mirrors.
-   *
-   * We should get rid of this and ensure that all dependencies are
-   * associated with a particular element.
-   */
-  // TODO(johnniwinther): This should not be a [ResolutionRegistry].
-  final Registry mirrorDependencies =
-      new ResolutionRegistry(null, new TreeElementMapping(null));
-
   /// Options provided from command-line arguments.
   final CompilerOptions options;
 
@@ -149,7 +144,6 @@
   CommonElements get commonElements => _coreTypes;
   CoreClasses get coreClasses => _coreTypes;
   CoreTypes get coreTypes => _coreTypes;
-  CommonMasks get commonMasks => globalInference.masks;
   Resolution get resolution => _resolution;
   ParsingContext get parsingContext => _parsingContext;
 
@@ -194,10 +188,8 @@
   /// A customizable filter that is applied to enqueued work items.
   QueueFilter enqueuerFilter = new QueueFilter();
 
-  bool enabledRuntimeType = false;
-  bool enabledFunctionApply = false;
-  bool enabledInvokeOn = false;
-  bool hasIsolateSupport = false;
+  bool get hasFunctionApplySupport => resolverWorld.hasFunctionApplySupport;
+  bool get hasIsolateSupport => resolverWorld.hasIsolateSupport;
 
   bool get hasCrashed => _reporter.hasCrashed;
 
@@ -226,7 +218,6 @@
         this.userOutputProvider = outputProvider == null
             ? const NullCompilerOutput()
             : outputProvider {
-    _world = new WorldImpl(this);
     if (makeReporter != null) {
       _reporter = makeReporter(this, options);
     } else {
@@ -258,6 +249,7 @@
           useKernel: options.useKernel);
       backend = jsBackend;
     }
+    enqueuer = backend.makeEnqueuer();
 
     if (options.dumpInfo && options.useStartupEmitter) {
       throw new ArgumentError(
@@ -289,7 +281,9 @@
       constants = backend.constantCompilerTask,
       deferredLoadTask = new DeferredLoadTask(this),
       mirrorUsageAnalyzerTask = new MirrorUsageAnalyzerTask(this),
-      enqueuer = backend.makeEnqueuer(),
+      // [enqueuer] is created earlier because it contains the resolution world
+      // objects needed by other tasks.
+      enqueuer,
       dumpInfoTask = new DumpInfoTask(this),
       selfTask = new GenericTask('self', measurer),
     ];
@@ -656,7 +650,7 @@
         // something to the resolution queue.  So we cannot wait with
         // this until after the resolution queue is processed.
         deferredLoadTask.beforeResolution(this);
-        impactStrategy = backend.createImpactStrategy(
+        ImpactStrategy impactStrategy = backend.createImpactStrategy(
             supportDeferredLoad: deferredLoadTask.isProgramSplit,
             supportDumpInfo: options.dumpInfo,
             supportSerialization: serialization.supportSerialization);
@@ -687,7 +681,7 @@
         }
         // Elements required by enqueueHelpers are global dependencies
         // that are not pulled in by a particular element.
-        backend.enqueueHelpers(enqueuer.resolution, globalDependencies);
+        backend.enqueueHelpers(enqueuer.resolution);
         resolveLibraryMetadata();
         reporter.log('Resolving...');
         processQueue(enqueuer.resolution, mainFunction);
@@ -737,7 +731,6 @@
         reporter.log('Compiling...');
         phase = PHASE_COMPILING;
         backend.onCodegenStart();
-        // TODO(johnniwinther): Move these to [CodegenEnqueuer].
         if (hasIsolateSupport) {
           backend.enableIsolateSupport(enqueuer.codegen);
         }
@@ -765,7 +758,7 @@
   void closeResolution() {
     phase = PHASE_DONE_RESOLVING;
 
-    openWorld.closeWorld();
+    openWorld.closeWorld(reporter);
     // Compute whole-program-knowledge that the backend needs. (This might
     // require the information computed in [world.closeWorld].)
     backend.onResolutionComplete();
@@ -817,7 +810,7 @@
       ClassElement cls = element;
       cls.ensureResolved(resolution);
       cls.forEachLocalMember(enqueuer.resolution.addToWorkList);
-      backend.registerInstantiatedType(cls.rawType, world, globalDependencies);
+      world.registerInstantiatedType(cls.rawType);
     } else {
       world.addToWorkList(element);
     }
@@ -837,59 +830,60 @@
   }
 
   /**
-   * Empty the [world] queue.
+   * Empty the [enqueuer] queue.
    */
-  void emptyQueue(Enqueuer world) =>
-      selfTask.measureSubtask("Compiler.emptyQueue", () {
-        world.forEach((WorkItem work) {
-          reporter.withCurrentElement(
-              work.element,
-              () => selfTask.measureSubtask("world.applyImpact", () {
-                    world.applyImpact(
-                        selfTask.measureSubtask(
-                            "work.run", () => work.run(this, world)),
-                        impactSource: work.element);
-                  }));
-        });
+  void emptyQueue(Enqueuer enqueuer) {
+    selfTask.measureSubtask("Compiler.emptyQueue", () {
+      enqueuer.forEach((WorkItem work) {
+        reporter.withCurrentElement(
+            work.element,
+            () => selfTask.measureSubtask("world.applyImpact", () {
+                  enqueuer.applyImpact(
+                      impactStrategy,
+                      selfTask.measureSubtask(
+                          "work.run", () => work.run(this, enqueuer)),
+                      impactSource: work.element);
+                }));
       });
+    });
+  }
 
-  void processQueue(Enqueuer world, Element main) =>
-      selfTask.measureSubtask("Compiler.processQueue", () {
-        world.nativeEnqueuer.processNativeClasses(libraryLoader.libraries);
-        if (main != null && !main.isMalformed) {
-          FunctionElement mainMethod = main;
-          mainMethod.computeType(resolution);
-          if (mainMethod.functionSignature.parameterCount != 0) {
-            // The first argument could be a list of strings.
-            backend.backendClasses.listImplementation
-                .ensureResolved(resolution);
-            backend.registerInstantiatedType(
-                backend.backendClasses.listImplementation.rawType,
-                world,
-                globalDependencies);
-            backend.backendClasses.stringImplementation
-                .ensureResolved(resolution);
-            backend.registerInstantiatedType(
-                backend.backendClasses.stringImplementation.rawType,
-                world,
-                globalDependencies);
+  void processQueue(Enqueuer enqueuer, Element main) {
+    selfTask.measureSubtask("Compiler.processQueue", () {
+      WorldImpactBuilderImpl nativeImpact = new WorldImpactBuilderImpl();
+      enqueuer.nativeEnqueuer
+          .processNativeClasses(nativeImpact, libraryLoader.libraries);
+      enqueuer.applyImpact(impactStrategy, nativeImpact);
+      if (main != null && !main.isMalformed) {
+        FunctionElement mainMethod = main;
+        mainMethod.computeType(resolution);
+        if (mainMethod.functionSignature.parameterCount != 0) {
+          // The first argument could be a list of strings.
+          backend.backendClasses.listImplementation.ensureResolved(resolution);
+          enqueuer.registerInstantiatedType(
+              backend.backendClasses.listImplementation.rawType);
+          backend.backendClasses.stringImplementation
+              .ensureResolved(resolution);
+          enqueuer.registerInstantiatedType(
+              backend.backendClasses.stringImplementation.rawType);
 
-            backend.registerMainHasArguments(world);
-          }
-          world.addToWorkList(main);
+          backend.registerMainHasArguments(enqueuer);
         }
-        if (options.verbose) {
-          progress.reset();
-        }
-        emptyQueue(world);
-        world.queueIsClosed = true;
-        // Notify the impact strategy impacts are no longer needed for this
-        // enqueuer.
-        impactStrategy.onImpactUsed(world.impactUse);
-        backend.onQueueClosed();
-        assert(
-            compilationFailed || world.checkNoEnqueuedInvokedInstanceMethods());
-      });
+        enqueuer.addToWorkList(main);
+      }
+      if (options.verbose) {
+        progress.reset();
+      }
+      emptyQueue(enqueuer);
+      enqueuer.queueIsClosed = true;
+      // Notify the impact strategy impacts are no longer needed for this
+      // enqueuer.
+      impactStrategy.onImpactUsed(enqueuer.impactUse);
+      backend.onQueueClosed();
+      assert(compilationFailed ||
+          enqueuer.checkNoEnqueuedInvokedInstanceMethods());
+    });
+  }
 
   /**
    * Perform various checks of the queues. This includes checking that
@@ -2050,6 +2044,13 @@
   }
 
   @override
+  void ensureClassMembers(ClassElement element) {
+    if (!compiler.serialization.isDeserialized(element)) {
+      compiler.resolver.checkClass(element);
+    }
+  }
+
+  @override
   void registerCompileTimeError(Element element, DiagnosticMessage message) =>
       compiler.registerCompileTimeError(element, message);
 
@@ -2150,7 +2151,8 @@
   WorldImpact transformResolutionImpact(
       Element element, ResolutionImpact resolutionImpact) {
     WorldImpact worldImpact = compiler.backend.impactTransformer
-        .transformResolutionImpact(resolutionImpact);
+        .transformResolutionImpact(
+            compiler.enqueuer.resolution, resolutionImpact);
     _worldImpactCache[element] = worldImpact;
     return worldImpact;
   }
diff --git a/pkg/compiler/lib/src/deferred_load.dart b/pkg/compiler/lib/src/deferred_load.dart
index 6c93804..b29dae6 100644
--- a/pkg/compiler/lib/src/deferred_load.dart
+++ b/pkg/compiler/lib/src/deferred_load.dart
@@ -346,6 +346,8 @@
                   }
                   break;
                 case TypeUseKind.INSTANTIATION:
+                case TypeUseKind.MIRROR_INSTANTIATION:
+                case TypeUseKind.NATIVE_INSTANTIATION:
                 case TypeUseKind.IS_CHECK:
                 case TypeUseKind.AS_CAST:
                 case TypeUseKind.CATCH_TYPE:
@@ -842,7 +844,7 @@
     }
     if (isProgramSplit) {
       isProgramSplit = compiler.backend.enableDeferredLoadingIfSupported(
-          lastDeferred, compiler.globalDependencies);
+          compiler.enqueuer.resolution, lastDeferred);
     }
   }
 
diff --git a/pkg/compiler/lib/src/dump_info.dart b/pkg/compiler/lib/src/dump_info.dart
index 4b5d1a7..db6a13a 100644
--- a/pkg/compiler/lib/src/dump_info.dart
+++ b/pkg/compiler/lib/src/dump_info.dart
@@ -115,8 +115,10 @@
     return info;
   }
 
+  _resultOf(e) => compiler.globalInference.results.resultOf(e);
+
   FieldInfo visitFieldElement(FieldElement element, _) {
-    TypeMask inferredType = compiler.globalInference.results.typeOf(element);
+    TypeMask inferredType = _resultOf(element).type;
     // If a field has an empty inferred type it is never used.
     if (inferredType == null || inferredType.isEmpty) return null;
 
@@ -249,10 +251,8 @@
     if (element.hasFunctionSignature) {
       FunctionSignature signature = element.functionSignature;
       signature.forEachParameter((parameter) {
-        parameters.add(new ParameterInfo(
-            parameter.name,
-            '${compiler.globalInference.results.typeOf(parameter)}',
-            '${parameter.node.type}'));
+        parameters.add(new ParameterInfo(parameter.name,
+            '${_resultOf(parameter).type}', '${parameter.node.type}'));
       });
     }
 
@@ -263,8 +263,7 @@
         compiler.closedWorld.allFunctions.contains(element)) {
       returnType = '${element.type.returnType}';
     }
-    String inferredReturnType =
-        '${compiler.globalInference.results.returnTypeOf(element)}';
+    String inferredReturnType = '${_resultOf(element).returnType}';
     String sideEffects =
         '${compiler.closedWorld.getSideEffectsOfElement(element)}';
 
@@ -421,7 +420,9 @@
 
   final Map<Element, Set<Element>> _dependencies = {};
   void registerDependency(Element source, Element target) {
-    _dependencies.putIfAbsent(source, () => new Set()).add(target);
+    if (compiler.options.dumpInfo) {
+      _dependencies.putIfAbsent(source, () => new Set()).add(target);
+    }
   }
 
   void registerImpact(Element element, WorldImpact impact) {
diff --git a/pkg/compiler/lib/src/enqueue.dart b/pkg/compiler/lib/src/enqueue.dart
index b254e0d..66c3260 100644
--- a/pkg/compiler/lib/src/enqueue.dart
+++ b/pkg/compiler/lib/src/enqueue.dart
@@ -6,29 +6,29 @@
 
 import 'dart:collection' show Queue;
 
+import 'cache_strategy.dart';
+import 'common/backend_api.dart' show Backend;
 import 'common/names.dart' show Identifiers;
-import 'common/resolution.dart' show Resolution;
-import 'common/resolution.dart' show ResolutionWorkItem;
+import 'common/resolution.dart' show Resolution, ResolutionWorkItem;
+import 'common/registry.dart' show Registry;
 import 'common/tasks.dart' show CompilerTask;
 import 'common/work.dart' show WorkItem;
 import 'common.dart';
-import 'compiler.dart' show Compiler;
+import 'compiler.dart' show Compiler, GlobalDependencyRegistry;
+import 'core_types.dart' show CommonElements;
+import 'options.dart';
 import 'dart_types.dart' show DartType, InterfaceType;
 import 'elements/elements.dart'
     show
         AnalyzableElement,
         AstElement,
         ClassElement,
-        ConstructorElement,
         Element,
-        Elements,
         Entity,
         FunctionElement,
         LibraryElement,
-        Member,
-        Name,
-        TypedElement,
-        TypedefElement;
+        LocalFunctionElement,
+        TypedElement;
 import 'native/native.dart' as native;
 import 'types/types.dart' show TypeMaskStrategy;
 import 'universe/selector.dart' show Selector;
@@ -36,44 +36,49 @@
 import 'universe/use.dart'
     show DynamicUse, StaticUse, StaticUseKind, TypeUse, TypeUseKind;
 import 'universe/world_impact.dart'
-    show ImpactUseCase, WorldImpact, WorldImpactVisitor;
+    show ImpactStrategy, ImpactUseCase, WorldImpact, WorldImpactVisitor;
 import 'util/util.dart' show Setlet;
+import 'world.dart' show OpenWorld;
 
 class EnqueueTask extends CompilerTask {
-  final ResolutionEnqueuer resolution;
-  final Enqueuer codegen;
+  ResolutionEnqueuer _resolution;
+  Enqueuer _codegen;
   final Compiler compiler;
 
   String get name => 'Enqueue';
 
   EnqueueTask(Compiler compiler)
-      : compiler = compiler,
-        resolution = new ResolutionEnqueuer(
-            compiler,
-            compiler.options.analyzeOnly && compiler.options.analyzeMain
-                ? const EnqueuerStrategy()
-                : const TreeShakingEnqueuerStrategy()),
-        codegen = compiler.backend.createCodegenEnqueuer(compiler),
+      : this.compiler = compiler,
         super(compiler.measurer) {
-    codegen.task = this;
-    resolution.task = this;
-
-    codegen.nativeEnqueuer = compiler.backend.nativeCodegenEnqueuer(codegen);
-    resolution.nativeEnqueuer =
-        compiler.backend.nativeResolutionEnqueuer(resolution);
+    _resolution = new ResolutionEnqueuer(
+        this,
+        compiler.options,
+        compiler.resolution,
+        compiler.enqueuerFilter,
+        compiler.options.analyzeOnly && compiler.options.analyzeMain
+            ? const EnqueuerStrategy()
+            : const TreeShakingEnqueuerStrategy(),
+        compiler.globalDependencies,
+        compiler.backend,
+        compiler.coreClasses,
+        compiler.cacheStrategy);
+    _codegen = compiler.backend.createCodegenEnqueuer(this, compiler);
   }
 
+  ResolutionEnqueuer get resolution => _resolution;
+  Enqueuer get codegen => _codegen;
+
   void forgetElement(Element element) {
-    resolution.forgetElement(element);
-    codegen.forgetElement(element);
+    resolution.forgetElement(element, compiler);
+    codegen.forgetElement(element, compiler);
   }
 }
 
 abstract class Enqueuer {
-  EnqueueTask task;
+  CompilerTask get task;
   WorldBuilder get universe;
-  native.NativeEnqueuer nativeEnqueuer; // Set by EnqueueTask
-  void forgetElement(Element element);
+  native.NativeEnqueuer get nativeEnqueuer;
+  void forgetElement(Element element, Compiler compiler);
   void processInstantiatedClassMembers(ClassElement cls);
   void processInstantiatedClassMember(ClassElement cls, Element member);
   void handleUnseenSelectorInternal(DynamicUse dynamicUse);
@@ -100,21 +105,14 @@
 
   void enableIsolateSupport();
 
-  /// Enqueue the static fields that have been marked as used by reflective
-  /// usage through `MirrorsUsed`.
-  void enqueueReflectiveStaticFields(Iterable<Element> elements);
-
-  /// Enqueue all elements that are matched by the mirrors used
-  /// annotation or, in lack thereof, all elements.
-  void enqueueReflectiveElements(Iterable<ClassElement> recents);
-
-  void registerInstantiatedType(InterfaceType type, {bool mirrorUsage: false});
+  void registerInstantiatedType(InterfaceType type);
   void forEach(void f(WorkItem work));
 
   /// Apply the [worldImpact] to this enqueuer. If the [impactSource] is provided
   /// the impact strategy will remove it from the element impact cache, if it is
   /// no longer needed.
-  void applyImpact(WorldImpact worldImpact, {Element impactSource});
+  void applyImpact(ImpactStrategy impactStrategy, WorldImpact worldImpact,
+      {Element impactSource});
   bool checkNoEnqueuedInvokedInstanceMethods();
   void logSummary(log(message));
 
@@ -122,12 +120,22 @@
   bool isProcessed(Element member);
 
   Iterable<Entity> get processedEntities;
+
+  Iterable<ClassElement> get processedClasses;
 }
 
 /// [Enqueuer] which is specific to resolution.
 class ResolutionEnqueuer extends Enqueuer {
+  final CompilerTask task;
   final String name;
-  final Compiler compiler; // TODO(ahe): Remove this dependency.
+  final Resolution resolution;
+  final QueueFilter filter;
+  final CompilerOptions options;
+  final Backend backend;
+  final GlobalDependencyRegistry globalDependencies;
+  final CommonElements commonElements;
+  final native.NativeEnqueuer nativeEnqueuer;
+
   final EnqueuerStrategy strategy;
   final Map<String, Set<Element>> instanceMembersByName =
       new Map<String, Set<Element>>();
@@ -135,37 +143,43 @@
       new Map<String, Set<Element>>();
   final Set<ClassElement> _processedClasses = new Set<ClassElement>();
   Set<ClassElement> recentClasses = new Setlet<ClassElement>();
-  final ResolutionWorldBuilderImpl _universe =
-      new ResolutionWorldBuilderImpl(const TypeMaskStrategy());
-
-  static final TRACE_MIRROR_ENQUEUING =
-      const bool.fromEnvironment("TRACE_MIRROR_ENQUEUING");
+  final ResolutionWorldBuilderImpl _universe;
 
   bool queueIsClosed = false;
 
-  bool hasEnqueuedReflectiveElements = false;
-  bool hasEnqueuedReflectiveStaticFields = false;
-
   WorldImpactVisitor impactVisitor;
 
-  ResolutionEnqueuer(Compiler compiler, this.strategy)
+  ImpactStrategy impactStrategy;
+
+  ResolutionEnqueuer(
+      this.task,
+      this.options,
+      this.resolution,
+      this.filter,
+      this.strategy,
+      this.globalDependencies,
+      Backend backend,
+      CommonElements commonElements,
+      CacheStrategy cacheStrategy)
       : this.name = 'resolution enqueuer',
-        this.compiler = compiler,
+        this.backend = backend,
+        this.commonElements = commonElements,
+        this.nativeEnqueuer = backend.nativeResolutionEnqueuer(),
         processedElements = new Set<AstElement>(),
         queue = new Queue<ResolutionWorkItem>(),
-        deferredQueue = new Queue<_DeferredAction>() {
+        deferredQueue = new Queue<_DeferredAction>(),
+        _universe = new ResolutionWorldBuilderImpl(
+            backend, commonElements, cacheStrategy, const TypeMaskStrategy()) {
     impactVisitor = new _EnqueuerImpactVisitor(this);
   }
 
-  Resolution get resolution => compiler.resolution;
-
   ResolutionWorldBuilder get universe => _universe;
 
+  OpenWorld get openWorld => universe.openWorld;
+
   bool get queueIsEmpty => queue.isEmpty;
 
-  QueueFilter get filter => compiler.enqueuerFilter;
-
-  DiagnosticReporter get reporter => compiler.reporter;
+  DiagnosticReporter get reporter => resolution.reporter;
 
   bool isClassProcessed(ClassElement cls) => _processedClasses.contains(cls);
 
@@ -178,30 +192,39 @@
    */
   void addToWorkList(Element element) {
     assert(invariant(element, element.isDeclaration));
-    if (internalAddToWorkList(element) && compiler.options.dumpInfo) {
-      // TODO(sigmund): add other missing dependencies (internals, selectors
-      // enqueued after allocations), also enable only for the codegen enqueuer.
-      compiler.dumpInfoTask
-          .registerDependency(compiler.currentElement, element);
-    }
+    internalAddToWorkList(element);
   }
 
-  void applyImpact(WorldImpact worldImpact, {Element impactSource}) {
-    compiler.impactStrategy
-        .visitImpact(impactSource, worldImpact, impactVisitor, impactUse);
+  void applyImpact(ImpactStrategy impactStrategy, WorldImpact worldImpact,
+      {Element impactSource}) {
+    impactStrategy.visitImpact(
+        impactSource, worldImpact, impactVisitor, impactUse);
   }
 
-  void registerInstantiatedType(InterfaceType type, {bool mirrorUsage: false}) {
+  void registerInstantiatedType(InterfaceType type) {
+    _registerInstantiatedType(type, globalDependency: true);
+  }
+
+  void _registerInstantiatedType(InterfaceType type,
+      {bool mirrorUsage: false,
+      bool nativeUsage: false,
+      bool globalDependency: false}) {
     task.measure(() {
       ClassElement cls = type.element;
       cls.ensureResolved(resolution);
-      bool isNative = compiler.backend.isNative(cls);
+      bool isNative = backend.isNative(cls);
       _universe.registerTypeInstantiation(type,
           isNative: isNative,
           byMirrors: mirrorUsage, onImplemented: (ClassElement cls) {
-        compiler.backend
-            .registerImplementedClass(cls, this, compiler.globalDependencies);
+        backend.registerImplementedClass(cls, this);
       });
+      if (globalDependency && !mirrorUsage) {
+        globalDependencies.registerDependency(type.element);
+      }
+      if (nativeUsage) {
+        nativeEnqueuer.onInstantiatedType(type);
+      }
+      backend.registerInstantiatedType(type);
       // TODO(johnniwinther): Share this reasoning with [Universe].
       if (!cls.isAbstract || isNative || mirrorUsage) {
         processInstantiatedClass(cls);
@@ -231,14 +254,14 @@
       // its metadata parsed and analyzed.
       // Note: this assumes that there are no non-native fields on native
       // classes, which may not be the case when a native class is subclassed.
-      if (compiler.backend.isNative(cls)) {
-        compiler.openWorld.registerUsedElement(member);
-        if (_universe.hasInvokedGetter(member, compiler.openWorld) ||
-            _universe.hasInvocation(member, compiler.openWorld)) {
+      if (backend.isNative(cls)) {
+        openWorld.registerUsedElement(member);
+        if (_universe.hasInvokedGetter(member, openWorld) ||
+            _universe.hasInvocation(member, openWorld)) {
           addToWorkList(member);
           return;
         }
-        if (_universe.hasInvokedSetter(member, compiler.openWorld)) {
+        if (_universe.hasInvokedSetter(member, openWorld)) {
           addToWorkList(member);
           return;
         }
@@ -262,7 +285,7 @@
       }
       // If there is a property access with the same name as a method we
       // need to emit the method.
-      if (_universe.hasInvokedGetter(function, compiler.openWorld)) {
+      if (_universe.hasInvokedGetter(function, openWorld)) {
         registerClosurizedMember(function);
         addToWorkList(function);
         return;
@@ -272,27 +295,27 @@
       instanceFunctionsByName
           .putIfAbsent(memberName, () => new Set<Element>())
           .add(member);
-      if (_universe.hasInvocation(function, compiler.openWorld)) {
+      if (_universe.hasInvocation(function, openWorld)) {
         addToWorkList(function);
         return;
       }
     } else if (member.isGetter) {
       FunctionElement getter = member;
       getter.computeType(resolution);
-      if (_universe.hasInvokedGetter(getter, compiler.openWorld)) {
+      if (_universe.hasInvokedGetter(getter, openWorld)) {
         addToWorkList(getter);
         return;
       }
       // We don't know what selectors the returned closure accepts. If
       // the set contains any selector we have to assume that it matches.
-      if (_universe.hasInvocation(getter, compiler.openWorld)) {
+      if (_universe.hasInvocation(getter, openWorld)) {
         addToWorkList(getter);
         return;
       }
     } else if (member.isSetter) {
       FunctionElement setter = member;
       setter.computeType(resolution);
-      if (_universe.hasInvokedSetter(setter, compiler.openWorld)) {
+      if (_universe.hasInvokedSetter(setter, openWorld)) {
         addToWorkList(setter);
         return;
       }
@@ -319,14 +342,11 @@
         recentClasses.add(superclass);
         superclass.ensureResolved(resolution);
         superclass.implementation.forEachMember(processInstantiatedClassMember);
-        if (!compiler.serialization.isDeserialized(superclass)) {
-          compiler.resolver.checkClass(superclass);
-        }
+        resolution.ensureClassMembers(superclass);
         // We only tell the backend once that [superclass] was instantiated, so
         // any additional dependencies must be treated as global
         // dependencies.
-        compiler.backend.registerInstantiatedClass(
-            superclass, this, compiler.globalDependencies);
+        backend.registerInstantiatedClass(superclass, this);
       }
 
       ClassElement superclass = cls;
@@ -345,172 +365,6 @@
     });
   }
 
-  void logEnqueueReflectiveAction(action, [msg = ""]) {
-    if (TRACE_MIRROR_ENQUEUING) {
-      print("MIRROR_ENQUEUE (R): $action $msg");
-    }
-  }
-
-  /// Enqeue the constructor [ctor] if it is required for reflection.
-  ///
-  /// [enclosingWasIncluded] provides a hint whether the enclosing element was
-  /// needed for reflection.
-  void enqueueReflectiveConstructor(
-      ConstructorElement ctor, bool enclosingWasIncluded) {
-    if (shouldIncludeElementDueToMirrors(ctor,
-        includedEnclosing: enclosingWasIncluded)) {
-      logEnqueueReflectiveAction(ctor);
-      ClassElement cls = ctor.declaration.enclosingClass;
-      compiler.backend.registerInstantiatedType(
-          cls.rawType, this, compiler.mirrorDependencies,
-          mirrorUsage: true);
-      registerStaticUse(new StaticUse.foreignUse(ctor.declaration));
-    }
-  }
-
-  /// Enqeue the member [element] if it is required for reflection.
-  ///
-  /// [enclosingWasIncluded] provides a hint whether the enclosing element was
-  /// needed for reflection.
-  void enqueueReflectiveMember(Element element, bool enclosingWasIncluded) {
-    if (shouldIncludeElementDueToMirrors(element,
-        includedEnclosing: enclosingWasIncluded)) {
-      logEnqueueReflectiveAction(element);
-      if (element.isTypedef) {
-        TypedefElement typedef = element;
-        typedef.ensureResolved(resolution);
-      } else if (Elements.isStaticOrTopLevel(element)) {
-        registerStaticUse(new StaticUse.foreignUse(element.declaration));
-      } else if (element.isInstanceMember) {
-        // We need to enqueue all members matching this one in subclasses, as
-        // well.
-        // TODO(herhut): Use TypedSelector.subtype for enqueueing
-        DynamicUse dynamicUse =
-            new DynamicUse(new Selector.fromElement(element), null);
-        registerDynamicUse(dynamicUse);
-        if (element.isField) {
-          DynamicUse dynamicUse = new DynamicUse(
-              new Selector.setter(
-                  new Name(element.name, element.library, isSetter: true)),
-              null);
-          registerDynamicUse(dynamicUse);
-        }
-      }
-    }
-  }
-
-  /// Enqeue the member [element] if it is required for reflection.
-  ///
-  /// [enclosingWasIncluded] provides a hint whether the enclosing element was
-  /// needed for reflection.
-  void enqueueReflectiveElementsInClass(ClassElement cls,
-      Iterable<ClassElement> recents, bool enclosingWasIncluded) {
-    if (cls.library.isInternalLibrary || cls.isInjected) return;
-    bool includeClass = shouldIncludeElementDueToMirrors(cls,
-        includedEnclosing: enclosingWasIncluded);
-    if (includeClass) {
-      logEnqueueReflectiveAction(cls, "register");
-      ClassElement decl = cls.declaration;
-      decl.ensureResolved(resolution);
-      compiler.backend.registerInstantiatedType(
-          decl.rawType, this, compiler.mirrorDependencies,
-          mirrorUsage: true);
-    }
-    // If the class is never instantiated, we know nothing of it can possibly
-    // be reflected upon.
-    // TODO(herhut): Add a warning if a mirrors annotation cannot hit.
-    if (recents.contains(cls.declaration)) {
-      logEnqueueReflectiveAction(cls, "members");
-      cls.constructors.forEach((Element element) {
-        enqueueReflectiveConstructor(element, includeClass);
-      });
-      cls.forEachClassMember((Member member) {
-        enqueueReflectiveMember(member.element, includeClass);
-      });
-    }
-  }
-
-  /// Enqeue special classes that might not be visible by normal means or that
-  /// would not normally be enqueued:
-  ///
-  /// [Closure] is treated specially as it is the superclass of all closures.
-  /// Although it is in an internal library, we mark it as reflectable. Note
-  /// that none of its methods are reflectable, unless reflectable by
-  /// inheritance.
-  void enqueueReflectiveSpecialClasses() {
-    Iterable<ClassElement> classes =
-        compiler.backend.classesRequiredForReflection;
-    for (ClassElement cls in classes) {
-      if (compiler.backend.referencedFromMirrorSystem(cls)) {
-        logEnqueueReflectiveAction(cls);
-        cls.ensureResolved(resolution);
-        compiler.backend.registerInstantiatedType(
-            cls.rawType, this, compiler.mirrorDependencies,
-            mirrorUsage: true);
-      }
-    }
-  }
-
-  /// Enqeue all local members of the library [lib] if they are required for
-  /// reflection.
-  void enqueueReflectiveElementsInLibrary(
-      LibraryElement lib, Iterable<ClassElement> recents) {
-    bool includeLibrary =
-        shouldIncludeElementDueToMirrors(lib, includedEnclosing: false);
-    lib.forEachLocalMember((Element member) {
-      if (member.isInjected) return;
-      if (member.isClass) {
-        enqueueReflectiveElementsInClass(member, recents, includeLibrary);
-      } else {
-        enqueueReflectiveMember(member, includeLibrary);
-      }
-    });
-  }
-
-  /// Enqueue all elements that are matched by the mirrors used
-  /// annotation or, in lack thereof, all elements.
-  void enqueueReflectiveElements(Iterable<ClassElement> recents) {
-    if (!hasEnqueuedReflectiveElements) {
-      logEnqueueReflectiveAction("!START enqueueAll");
-      // First round of enqueuing, visit everything that is visible to
-      // also pick up static top levels, etc.
-      // Also, during the first round, consider all classes that have been seen
-      // as recently seen, as we do not know how many rounds of resolution might
-      // have run before tree shaking is disabled and thus everything is
-      // enqueued.
-      recents = _processedClasses.toSet();
-      reporter.log('Enqueuing everything');
-      for (LibraryElement lib in compiler.libraryLoader.libraries) {
-        enqueueReflectiveElementsInLibrary(lib, recents);
-      }
-      enqueueReflectiveSpecialClasses();
-      hasEnqueuedReflectiveElements = true;
-      hasEnqueuedReflectiveStaticFields = true;
-      logEnqueueReflectiveAction("!DONE enqueueAll");
-    } else if (recents.isNotEmpty) {
-      // Keep looking at new classes until fixpoint is reached.
-      logEnqueueReflectiveAction("!START enqueueRecents");
-      recents.forEach((ClassElement cls) {
-        enqueueReflectiveElementsInClass(
-            cls,
-            recents,
-            shouldIncludeElementDueToMirrors(cls.library,
-                includedEnclosing: false));
-      });
-      logEnqueueReflectiveAction("!DONE enqueueRecents");
-    }
-  }
-
-  /// Enqueue the static fields that have been marked as used by reflective
-  /// usage through `MirrorsUsed`.
-  void enqueueReflectiveStaticFields(Iterable<Element> elements) {
-    if (hasEnqueuedReflectiveStaticFields) return;
-    hasEnqueuedReflectiveStaticFields = true;
-    for (Element element in elements) {
-      enqueueReflectiveMember(element, true);
-    }
-  }
-
   void processSet(
       Map<String, Set<Element>> map, String memberName, bool f(Element e)) {
     Set<Element> members = map[memberName];
@@ -542,7 +396,7 @@
     Selector selector = dynamicUse.selector;
     String methodName = selector.name;
     processInstanceMembers(methodName, (Element member) {
-      if (dynamicUse.appliesUnnamed(member, compiler.openWorld)) {
+      if (dynamicUse.appliesUnnamed(member, openWorld)) {
         if (member.isFunction && selector.isGetter) {
           registerClosurizedMember(member);
         }
@@ -553,7 +407,7 @@
     });
     if (selector.isGetter) {
       processInstanceFunctions(methodName, (Element member) {
-        if (dynamicUse.appliesUnnamed(member, compiler.openWorld)) {
+        if (dynamicUse.appliesUnnamed(member, openWorld)) {
           registerClosurizedMember(member);
           return true;
         }
@@ -576,11 +430,11 @@
     assert(invariant(element, element.isDeclaration,
         message: "Element ${element} is not the declaration."));
     _universe.registerStaticUse(staticUse);
-    compiler.backend.registerStaticUse(element, forResolution: true);
+    backend.registerStaticUse(this, element);
     bool addElement = true;
     switch (staticUse.kind) {
       case StaticUseKind.STATIC_TEAR_OFF:
-        compiler.backend.registerGetOfStaticFunction(this);
+        backend.registerGetOfStaticFunction(this);
         break;
       case StaticUseKind.FIELD_GET:
       case StaticUseKind.FIELD_SET:
@@ -589,6 +443,10 @@
         // [FIELD_SET] contains [BoxFieldElement]s which we cannot enqueue.
         // Also [CLOSURE] contains [LocalFunctionElement] which we cannot
         // enqueue.
+        LocalFunctionElement closure = staticUse.element;
+        if (closure.type.containsTypeVariables) {
+          universe.closuresWithFreeTypeVariables.add(closure);
+        }
         addElement = false;
         break;
       case StaticUseKind.SUPER_FIELD_SET:
@@ -613,7 +471,15 @@
     DartType type = typeUse.type;
     switch (typeUse.kind) {
       case TypeUseKind.INSTANTIATION:
-        registerInstantiatedType(type);
+        _registerInstantiatedType(type, globalDependency: false);
+        break;
+      case TypeUseKind.MIRROR_INSTANTIATION:
+        _registerInstantiatedType(type,
+            mirrorUsage: true, globalDependency: false);
+        break;
+      case TypeUseKind.NATIVE_INSTANTIATION:
+        _registerInstantiatedType(type,
+            nativeUsage: true, globalDependency: true);
         break;
       case TypeUseKind.IS_CHECK:
       case TypeUseKind.AS_CAST:
@@ -621,7 +487,7 @@
         _registerIsCheck(type);
         break;
       case TypeUseKind.CHECKED_MODE_CHECK:
-        if (compiler.options.enableTypeAssertions) {
+        if (options.enableTypeAssertions) {
           _registerIsCheck(type);
         }
         break;
@@ -631,7 +497,7 @@
   }
 
   void _registerIsCheck(DartType type) {
-    type = _universe.registerIsCheck(type, compiler);
+    type = _universe.registerIsCheck(type, resolution);
     // Even in checked mode, type annotations for return type and argument
     // types do not imply type checks, so there should never be a check
     // against the type variable of a typedef.
@@ -639,19 +505,17 @@
   }
 
   void registerCallMethodWithFreeTypeVariables(Element element) {
-    compiler.backend.registerCallMethodWithFreeTypeVariables(
-        element, this, compiler.globalDependencies);
+    backend.registerCallMethodWithFreeTypeVariables(element, this);
     _universe.callMethodsWithFreeTypeVariables.add(element);
   }
 
   void registerClosurizedMember(TypedElement element) {
     assert(element.isInstanceMember);
     if (element.computeType(resolution).containsTypeVariables) {
-      compiler.backend.registerClosureWithFreeTypeVariables(
-          element, this, compiler.globalDependencies);
+      backend.registerClosureWithFreeTypeVariables(element, this);
       _universe.closuresWithFreeTypeVariables.add(element);
     }
-    compiler.backend.registerBoundClosure(this);
+    backend.registerBoundClosure(this);
     _universe.closurizedMembers.add(element);
   }
 
@@ -702,21 +566,7 @@
   /// Registers [element] as processed by the resolution enqueuer.
   void registerProcessedElement(AstElement element) {
     processedElements.add(element);
-    compiler.backend.onElementResolved(element);
-  }
-
-  /**
-   * Decides whether an element should be included to satisfy requirements
-   * of the mirror system.
-   *
-   * During resolution, we have to resort to matching elements against the
-   * [MirrorsUsed] pattern, as we do not have a complete picture of the world,
-   * yet.
-   */
-  bool shouldIncludeElementDueToMirrors(Element element,
-      {bool includedEnclosing}) {
-    return includedEnclosing ||
-        compiler.backend.requiredByMirrorSystem(element);
+    backend.onElementResolved(element);
   }
 
   /**
@@ -735,16 +585,16 @@
           element, "Resolution work list is closed. Trying to add $element.");
     }
 
-    compiler.openWorld.registerUsedElement(element);
+    openWorld.registerUsedElement(element);
 
-    ResolutionWorkItem workItem = compiler.resolution.createWorkItem(element);
+    ResolutionWorkItem workItem = resolution.createWorkItem(element);
     queue.add(workItem);
 
     // Enable isolate support if we start using something from the isolate
     // library, or timers for the async library.  We exclude constant fields,
     // which are ending here because their initializing expression is compiled.
     LibraryElement library = element.library;
-    if (!compiler.hasIsolateSupport && (!element.isField || !element.isConst)) {
+    if (!universe.hasIsolateSupport && (!element.isField || !element.isConst)) {
       String uri = library.canonicalUri.toString();
       if (uri == 'dart:isolate') {
         enableIsolateSupport();
@@ -763,23 +613,23 @@
       // We have to enable runtime type before hitting the codegen, so
       // that constructors know whether they need to generate code for
       // runtime type.
-      compiler.enabledRuntimeType = true;
+      _universe.hasRuntimeTypeSupport = true;
       // TODO(ahe): Record precise dependency here.
-      compiler.backend.registerRuntimeType(this, compiler.globalDependencies);
-    } else if (compiler.commonElements.isFunctionApplyMethod(element)) {
-      compiler.enabledFunctionApply = true;
+      backend.registerRuntimeType(this);
+    } else if (commonElements.isFunctionApplyMethod(element)) {
+      _universe.hasFunctionApplySupport = true;
     }
 
     return true;
   }
 
   void registerNoSuchMethod(Element element) {
-    compiler.backend.registerNoSuchMethod(element);
+    backend.registerNoSuchMethod(element);
   }
 
   void enableIsolateSupport() {
-    compiler.hasIsolateSupport = true;
-    compiler.backend.enableIsolateSupport(this);
+    _universe.hasIsolateSupport = true;
+    backend.enableIsolateSupport(this);
   }
 
   /**
@@ -809,7 +659,7 @@
   bool onQueueEmpty(Iterable<ClassElement> recentClasses) {
     _emptyDeferredQueue();
 
-    return compiler.backend.onQueueEmpty(this, recentClasses);
+    return backend.onQueueEmpty(this, recentClasses);
   }
 
   void emptyDeferredQueueForTesting() => _emptyDeferredQueue();
@@ -821,7 +671,7 @@
     }
   }
 
-  void forgetElement(Element element) {
+  void forgetElement(Element element, Compiler compiler) {
     _universe.forgetElement(element, compiler);
     _processedClasses.remove(element);
     instanceMembersByName[element.name]?.remove(element);
diff --git a/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart b/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart
index f2f8e0b..4e96cd6 100644
--- a/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart
+++ b/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart
@@ -18,7 +18,7 @@
 import '../resolution/operators.dart' as op;
 import '../resolution/tree_elements.dart' show TreeElements;
 import '../tree/tree.dart' as ast;
-import '../types/types.dart' show TypeMask;
+import '../types/types.dart' show TypeMask, GlobalTypeInferenceElementData;
 import '../universe/call_structure.dart' show CallStructure;
 import '../universe/selector.dart' show Selector;
 import '../universe/side_effects.dart' show SideEffects;
@@ -39,6 +39,11 @@
   final Map<ast.Node, T> concreteTypes = new Map<ast.Node, T>();
   final Set<Element> generativeConstructorsExposingThis = new Set<Element>();
 
+  /// Data computed internally within elements, like the type-mask of a send a
+  /// list allocation, or a for-in loop.
+  final Map<Element, GlobalTypeInferenceElementData> inTreeData =
+      new Map<Element, GlobalTypeInferenceElementData>();
+
   InferrerEngine(Compiler compiler, this.types)
       : this.compiler = compiler,
         this.closedWorld = compiler.closedWorld;
@@ -181,6 +186,9 @@
     }
   }
 
+  GlobalTypeInferenceElementData _dataOf(AstElement element) => inTreeData
+      .putIfAbsent(element, () => new GlobalTypeInferenceElementData());
+
   /**
    * Update [sideEffects] with the side effects of [callee] being
    * called with [selector].
@@ -261,27 +269,27 @@
   void updateSelectorInTree(
       AstElement owner, Spannable node, Selector selector, TypeMask mask) {
     ast.Node astNode = node;
-    TreeElements elements = owner.resolvedAst.elements;
+    GlobalTypeInferenceElementData data = _dataOf(owner);
     if (astNode.asSendSet() != null) {
       if (selector.isSetter || selector.isIndexSet) {
-        elements.setTypeMask(node, mask);
+        data.setTypeMask(node, mask);
       } else if (selector.isGetter || selector.isIndex) {
-        elements.setGetterTypeMaskInComplexSendSet(node, mask);
+        data.setGetterTypeMaskInComplexSendSet(node, mask);
       } else {
         assert(selector.isOperator);
-        elements.setOperatorTypeMaskInComplexSendSet(node, mask);
+        data.setOperatorTypeMaskInComplexSendSet(node, mask);
       }
     } else if (astNode.asSend() != null) {
-      elements.setTypeMask(node, mask);
+      data.setTypeMask(node, mask);
     } else {
       assert(astNode.asForIn() != null);
       if (selector == Selectors.iterator) {
-        elements.setIteratorTypeMask(node, mask);
+        data.setIteratorTypeMask(node, mask);
       } else if (selector == Selectors.current) {
-        elements.setCurrentTypeMask(node, mask);
+        data.setCurrentTypeMask(node, mask);
       } else {
         assert(selector == Selectors.moveNext);
-        elements.setMoveNextTypeMask(node, mask);
+        data.setMoveNextTypeMask(node, mask);
       }
     }
   }
@@ -324,6 +332,7 @@
   final Element outermostElement;
   final InferrerEngine<T, TypeSystem<T>> inferrer;
   final Setlet<Entity> capturedVariables = new Setlet<Entity>();
+  final GlobalTypeInferenceElementData inTreeData;
 
   SimpleTypeInferrerVisitor.internal(
       AstElement analyzedElement,
@@ -334,7 +343,8 @@
       locals)
       : super(analyzedElement, resolvedAst, inferrer, inferrer.types, compiler,
             locals),
-        this.inferrer = inferrer {
+        this.inferrer = inferrer,
+        this.inTreeData = inferrer._dataOf(analyzedElement) {
     assert(outermostElement != null);
   }
 
@@ -693,10 +703,10 @@
     }
 
     Selector getterSelector = elements.getGetterSelectorInComplexSendSet(node);
-    TypeMask getterMask = elements.getGetterTypeMaskInComplexSendSet(node);
-    TypeMask operatorMask = elements.getOperatorTypeMaskInComplexSendSet(node);
+    TypeMask getterMask = inTreeData.typeOfGetter(node);
+    TypeMask operatorMask = inTreeData.typeOfOperator(node);
     Selector setterSelector = elements.getSelector(node);
-    TypeMask setterMask = elements.getTypeMask(node);
+    TypeMask setterMask = inTreeData.typeOfSend(node);
 
     String op = node.assignmentOperator.source;
     bool isIncrementOrDecrement = op == '++' || op == '--';
@@ -806,12 +816,13 @@
   T handleCompoundIndexSet(
       ast.SendSet node, T receiverType, T indexType, T rhsType) {
     Selector getterSelector = elements.getGetterSelectorInComplexSendSet(node);
-    TypeMask getterMask = elements.getGetterTypeMaskInComplexSendSet(node);
+
+    TypeMask getterMask = inTreeData.typeOfGetter(node);
     Selector operatorSelector =
         elements.getOperatorSelectorInComplexSendSet(node);
-    TypeMask operatorMask = elements.getOperatorTypeMaskInComplexSendSet(node);
+    TypeMask operatorMask = inTreeData.typeOfOperator(node);
     Selector setterSelector = elements.getSelector(node);
-    TypeMask setterMask = elements.getTypeMask(node);
+    TypeMask setterMask = inTreeData.typeOfSend(node);
 
     T getterType = handleDynamicSend(node, getterSelector, getterMask,
         receiverType, new ArgumentsTypes<T>([indexType], null));
@@ -906,9 +917,10 @@
   T _handleSuperCompoundIndexSet(ast.SendSet node, Element getter,
       Element setter, T indexType, T rhsType) {
     Selector getterSelector = elements.getGetterSelectorInComplexSendSet(node);
-    TypeMask getterMask = elements.getGetterTypeMaskInComplexSendSet(node);
+
+    TypeMask getterMask = inTreeData.typeOfGetter(node);
     Selector setterSelector = elements.getSelector(node);
-    TypeMask setterMask = elements.getTypeMask(node);
+    TypeMask setterMask = inTreeData.typeOfSend(node);
 
     T getterType = handleSuperSend(node, getterSelector, getterMask, getter,
         new ArgumentsTypes<T>([indexType], null));
@@ -919,8 +931,7 @@
     } else {
       Selector operatorSelector =
           elements.getOperatorSelectorInComplexSendSet(node);
-      TypeMask operatorMask =
-          elements.getOperatorTypeMaskInComplexSendSet(node);
+      TypeMask operatorMask = inTreeData.typeOfOperator(node);
       returnType = handleDynamicSend(node, operatorSelector, operatorMask,
           getterType, new ArgumentsTypes<T>([rhsType], null));
     }
@@ -1268,9 +1279,9 @@
   T _handleSuperCompound(
       ast.SendSet node, Element getter, Element setter, T rhsType) {
     Selector getterSelector = elements.getGetterSelectorInComplexSendSet(node);
-    TypeMask getterMask = elements.getGetterTypeMaskInComplexSendSet(node);
+    TypeMask getterMask = inTreeData.typeOfGetter(node);
     Selector setterSelector = elements.getSelector(node);
-    TypeMask setterMask = elements.getTypeMask(node);
+    TypeMask setterMask = inTreeData.typeOfSend(node);
 
     T getterType =
         handleSuperSend(node, getterSelector, getterMask, getter, null);
@@ -1281,8 +1292,7 @@
     } else {
       Selector operatorSelector =
           elements.getOperatorSelectorInComplexSendSet(node);
-      TypeMask operatorMask =
-          elements.getOperatorTypeMaskInComplexSendSet(node);
+      TypeMask operatorMask = inTreeData.typeOfOperator(node);
       returnType = handleDynamicSend(node, operatorSelector, operatorMask,
           getterType, new ArgumentsTypes<T>([rhsType], null));
     }
@@ -1295,7 +1305,7 @@
   /// Handle index set, like `foo[0] = 42`.
   T handleIndexSet(ast.SendSet node, T receiverType, T indexType, T rhsType) {
     Selector setterSelector = elements.getSelector(node);
-    TypeMask setterMask = elements.getTypeMask(node);
+    TypeMask setterMask = inTreeData.typeOfSend(node);
     handleDynamicSend(node, setterSelector, setterMask, receiverType,
         new ArgumentsTypes<T>([indexType, rhsType], null));
     return rhsType;
@@ -1316,7 +1326,7 @@
     T indexType = visit(index);
     T rhsType = visit(rhs);
     Selector setterSelector = elements.getSelector(node);
-    TypeMask setterMask = elements.getTypeMask(node);
+    TypeMask setterMask = inTreeData.typeOfSend(node);
     handleStaticSend(node, setterSelector, setterMask, element,
         new ArgumentsTypes<T>([indexType, rhsType], null));
     return rhsType;
@@ -1392,7 +1402,7 @@
     ArgumentsTypes arguments =
         node.isPropertyAccess ? null : analyzeArguments(node.arguments);
     Selector selector = elements.getSelector(node);
-    TypeMask mask = elements.getTypeMask(node);
+    TypeMask mask = inTreeData.typeOfSend(node);
     // TODO(herhut): We could do better here if we knew what we
     // are calling does not expose this.
     // TODO(johnniwinther): Do we still need this when calling directly?
@@ -1419,7 +1429,7 @@
       ast.Send node, Element element, ast.NodeList arguments) {
     ArgumentsTypes argumentTypes = analyzeArguments(arguments.nodes);
     Selector selector = elements.getSelector(node);
-    TypeMask mask = elements.getTypeMask(node);
+    TypeMask mask = inTreeData.typeOfSend(node);
     // TODO(herhut): We could do better here if we knew what we
     // are calling does not expose this.
     isThisExposed = true;
@@ -1441,7 +1451,7 @@
     // are calling does not expose this.
     isThisExposed = true;
     Selector selector = elements.getSelector(node);
-    TypeMask mask = elements.getTypeMask(node);
+    TypeMask mask = inTreeData.typeOfSend(node);
     return handleStaticSend(node, selector, mask, method, arguments);
   }
 
@@ -1451,7 +1461,7 @@
     // are calling does not expose this.
     isThisExposed = true;
     Selector selector = elements.getSelector(node);
-    TypeMask mask = elements.getTypeMask(node);
+    TypeMask mask = inTreeData.typeOfSend(node);
     return handleStaticSend(node, selector, mask, element, null);
   }
 
@@ -1462,7 +1472,7 @@
     // are calling does not expose this.
     isThisExposed = true;
     Selector selector = elements.getSelector(node);
-    TypeMask mask = elements.getTypeMask(node);
+    TypeMask mask = inTreeData.typeOfSend(node);
     return handleStaticSend(
         node, selector, mask, element, new ArgumentsTypes<T>([rhsType], null));
   }
@@ -1674,7 +1684,7 @@
       return handleForeignSend(node, target);
     }
     Selector selector = elements.getSelector(node);
-    TypeMask mask = elements.getTypeMask(node);
+    TypeMask mask = inTreeData.typeOfSend(node);
     // In erroneous code the number of arguments in the selector might not
     // match the function element.
     // TODO(polux): return nonNullEmpty and check it doesn't break anything
@@ -1733,7 +1743,7 @@
   T handleStaticFieldOrGetterInvoke(ast.Send node, Element element) {
     ArgumentsTypes arguments = analyzeArguments(node.arguments);
     Selector selector = elements.getSelector(node);
-    TypeMask mask = elements.getTypeMask(node);
+    TypeMask mask = inTreeData.typeOfSend(node);
     handleStaticSend(node, selector, mask, element, arguments);
     return inferrer.registerCalledClosure(
         node,
@@ -1753,7 +1763,7 @@
     }
     ArgumentsTypes arguments = analyzeArguments(node.arguments);
     Selector selector = elements.getSelector(node);
-    TypeMask mask = elements.getTypeMask(node);
+    TypeMask mask = inTreeData.typeOfSend(node);
     return handleStaticSend(node, selector, mask, function, arguments);
   }
 
@@ -1837,7 +1847,7 @@
   T handleForeignSend(ast.Send node, Element element) {
     ArgumentsTypes arguments = analyzeArguments(node.arguments);
     Selector selector = elements.getSelector(node);
-    TypeMask mask = elements.getTypeMask(node);
+    TypeMask mask = inTreeData.typeOfSend(node);
     String name = element.name;
     handleStaticSend(node, selector, mask, element, arguments);
     if (name == BackendHelpers.JS ||
@@ -1882,21 +1892,21 @@
   /// Read a static or top level field.
   T handleStaticFieldGet(ast.Send node, FieldElement field) {
     Selector selector = elements.getSelector(node);
-    TypeMask mask = elements.getTypeMask(node);
+    TypeMask mask = inTreeData.typeOfSend(node);
     return handleStaticSend(node, selector, mask, field, null);
   }
 
   /// Invoke a static or top level getter.
   T handleStaticGetterGet(ast.Send node, MethodElement getter) {
     Selector selector = elements.getSelector(node);
-    TypeMask mask = elements.getTypeMask(node);
+    TypeMask mask = inTreeData.typeOfSend(node);
     return handleStaticSend(node, selector, mask, getter, null);
   }
 
   /// Closurize a static or top level function.
   T handleStaticFunctionGet(ast.Send node, MethodElement function) {
     Selector selector = elements.getSelector(node);
-    TypeMask mask = elements.getTypeMask(node);
+    TypeMask mask = inTreeData.typeOfSend(node);
     return handleStaticSend(node, selector, mask, function, null);
   }
 
@@ -1980,7 +1990,7 @@
   T handleCallInvoke(ast.Send node, T closure) {
     ArgumentsTypes arguments = analyzeArguments(node.arguments);
     Selector selector = elements.getSelector(node);
-    TypeMask mask = elements.getTypeMask(node);
+    TypeMask mask = inTreeData.typeOfSend(node);
     return inferrer.registerCalledClosure(node, selector, mask, closure,
         outermostElement, arguments, sideEffects, inLoop);
   }
@@ -2014,7 +2024,7 @@
       ast.NodeList arguments, CallStructure callStructure, _) {
     ArgumentsTypes argumentTypes = analyzeArguments(node.arguments);
     Selector selector = elements.getSelector(node);
-    TypeMask mask = elements.getTypeMask(node);
+    TypeMask mask = inTreeData.typeOfSend(node);
     // This only works for function statements. We need a
     // more sophisticated type system with function types to support
     // more.
@@ -2100,7 +2110,7 @@
     }
 
     Selector selector = elements.getSelector(node);
-    TypeMask mask = elements.getTypeMask(node);
+    TypeMask mask = inTreeData.typeOfSend(node);
     if (!isThisExposed && isCallOnThis) {
       checkIfExposesThis(selector, types.newTypedSelector(receiverType, mask));
     }
@@ -2195,7 +2205,7 @@
     ast.Node identifier = node.declaredIdentifier;
     Element element = elements.getForInVariable(node);
     Selector selector = elements.getSelector(identifier);
-    TypeMask mask = elements.getTypeMask(identifier);
+    TypeMask mask = inTreeData.typeOfSend(identifier);
 
     T receiverType;
     if (element != null && element.isInstanceMember) {
@@ -2215,9 +2225,9 @@
     T expressionType = visit(node.expression);
 
     Selector currentSelector = Selectors.current;
-    TypeMask currentMask = elements.getCurrentTypeMask(node);
+    TypeMask currentMask = inTreeData.typeOfIteratorCurrent(node);
     Selector moveNextSelector = Selectors.moveNext;
-    TypeMask moveNextMask = elements.getMoveNextTypeMask(node);
+    TypeMask moveNextMask = inTreeData.typeOfIteratorMoveNext(node);
 
     js.JavaScriptBackend backend = compiler.backend;
     Element ctor = backend.helpers.streamIteratorConstructor;
@@ -2233,11 +2243,11 @@
   T visitSyncForIn(ast.SyncForIn node) {
     T expressionType = visit(node.expression);
     Selector iteratorSelector = Selectors.iterator;
-    TypeMask iteratorMask = elements.getIteratorTypeMask(node);
+    TypeMask iteratorMask = inTreeData.typeOfIterator(node);
     Selector currentSelector = Selectors.current;
-    TypeMask currentMask = elements.getCurrentTypeMask(node);
+    TypeMask currentMask = inTreeData.typeOfIteratorCurrent(node);
     Selector moveNextSelector = Selectors.moveNext;
-    TypeMask moveNextMask = elements.getMoveNextTypeMask(node);
+    TypeMask moveNextMask = inTreeData.typeOfIteratorMoveNext(node);
 
     T iteratorType = handleDynamicSend(node, iteratorSelector, iteratorMask,
         expressionType, new ArgumentsTypes<T>.empty());
diff --git a/pkg/compiler/lib/src/inferrer/type_graph_nodes.dart b/pkg/compiler/lib/src/inferrer/type_graph_nodes.dart
index ddca262..7e3bbd6 100644
--- a/pkg/compiler/lib/src/inferrer/type_graph_nodes.dart
+++ b/pkg/compiler/lib/src/inferrer/type_graph_nodes.dart
@@ -12,6 +12,7 @@
 import '../constants/values.dart';
 import '../dart_types.dart' show DartType, FunctionType, TypeKind;
 import '../elements/elements.dart';
+import '../js_backend/backend.dart';
 import '../tree/dartstring.dart' show DartString;
 import '../tree/tree.dart' as ast show Node, LiteralBool, Send;
 import '../types/masks.dart'
@@ -521,13 +522,13 @@
       return mask;
     }
     if (element.isField) {
-      return _narrowType(compiler, mask, element.type);
+      return _narrowType(compiler.closedWorld, mask, element.type);
     }
     assert(
         element.isFunction || element.isGetter || element.isFactoryConstructor);
 
     FunctionType type = element.type;
-    return _narrowType(compiler, mask, type.returnType);
+    return _narrowType(compiler.closedWorld, mask, type.returnType);
   }
 
   TypeMask computeType(TypeGraphInferrerEngine inferrer) {
@@ -668,7 +669,7 @@
     // ignore type annotations to ensure that the checks are actually inserted
     // into the function body and retained until runtime.
     assert(!compiler.options.enableTypeAssertions);
-    return _narrowType(compiler, mask, element.type);
+    return _narrowType(compiler.closedWorld, mask, element.type);
   }
 
   TypeMask computeType(TypeGraphInferrerEngine inferrer) {
@@ -970,9 +971,10 @@
     inferrer.updateSelectorInTree(caller, call, selector, typeMask);
 
     Compiler compiler = inferrer.compiler;
+    JavaScriptBackend backend = compiler.backend;
     TypeMask maskToUse =
         compiler.closedWorld.extendMaskIfReachesAll(selector, typeMask);
-    bool canReachAll = compiler.enabledInvokeOn && (maskToUse != typeMask);
+    bool canReachAll = backend.hasInvokeOnSupport && (maskToUse != typeMask);
 
     // If this call could potentially reach all methods that satisfy
     // the untyped selector (through noSuchMethod's `Invocation`
@@ -1724,24 +1726,24 @@
   T visitAwaitTypeInformation(AwaitTypeInformation info);
 }
 
-TypeMask _narrowType(Compiler compiler, TypeMask type, DartType annotation,
+TypeMask _narrowType(
+    ClosedWorld closedWorld, TypeMask type, DartType annotation,
     {bool isNullable: true}) {
   if (annotation.treatAsDynamic) return type;
   if (annotation.isObject) return type;
   TypeMask otherType;
   if (annotation.isTypedef || annotation.isFunctionType) {
-    otherType = compiler.commonMasks.functionType;
+    otherType = closedWorld.commonMasks.functionType;
   } else if (annotation.isTypeVariable) {
     // TODO(ngeoffray): Narrow to bound.
     return type;
   } else if (annotation.isVoid) {
-    otherType = compiler.commonMasks.nullType;
+    otherType = closedWorld.commonMasks.nullType;
   } else {
     assert(annotation.isInterfaceType);
-    otherType =
-        new TypeMask.nonNullSubtype(annotation.element, compiler.closedWorld);
+    otherType = new TypeMask.nonNullSubtype(annotation.element, closedWorld);
   }
   if (isNullable) otherType = otherType.nullable();
   if (type == null) return otherType;
-  return type.intersection(otherType, compiler.closedWorld);
+  return type.intersection(otherType, closedWorld);
 }
diff --git a/pkg/compiler/lib/src/js_backend/backend.dart b/pkg/compiler/lib/src/js_backend/backend.dart
index 48f7139..56e8e89 100644
--- a/pkg/compiler/lib/src/js_backend/backend.dart
+++ b/pkg/compiler/lib/src/js_backend/backend.dart
@@ -74,6 +74,7 @@
 import 'js_interop_analysis.dart' show JsInteropAnalysis;
 import '../kernel/task.dart';
 import 'lookup_map_analysis.dart' show LookupMapAnalysis;
+import 'mirrors_analysis.dart';
 import 'namer.dart';
 import 'native_data.dart' show NativeData;
 import 'no_such_method_registry.dart';
@@ -336,18 +337,19 @@
       TRACE_METHOD == 'post' || TRACE_METHOD == 'console';
   MethodElement traceHelper;
 
-  TypeMask get stringType => compiler.commonMasks.stringType;
-  TypeMask get doubleType => compiler.commonMasks.doubleType;
-  TypeMask get intType => compiler.commonMasks.intType;
-  TypeMask get uint32Type => compiler.commonMasks.uint32Type;
-  TypeMask get uint31Type => compiler.commonMasks.uint31Type;
-  TypeMask get positiveIntType => compiler.commonMasks.positiveIntType;
-  TypeMask get numType => compiler.commonMasks.numType;
-  TypeMask get boolType => compiler.commonMasks.boolType;
-  TypeMask get dynamicType => compiler.commonMasks.dynamicType;
-  TypeMask get nullType => compiler.commonMasks.nullType;
+  TypeMask get stringType => compiler.closedWorld.commonMasks.stringType;
+  TypeMask get doubleType => compiler.closedWorld.commonMasks.doubleType;
+  TypeMask get intType => compiler.closedWorld.commonMasks.intType;
+  TypeMask get uint32Type => compiler.closedWorld.commonMasks.uint32Type;
+  TypeMask get uint31Type => compiler.closedWorld.commonMasks.uint31Type;
+  TypeMask get positiveIntType =>
+      compiler.closedWorld.commonMasks.positiveIntType;
+  TypeMask get numType => compiler.closedWorld.commonMasks.numType;
+  TypeMask get boolType => compiler.closedWorld.commonMasks.boolType;
+  TypeMask get dynamicType => compiler.closedWorld.commonMasks.dynamicType;
+  TypeMask get nullType => compiler.closedWorld.commonMasks.nullType;
   TypeMask get emptyType => const TypeMask.nonNullEmpty();
-  TypeMask get nonNullType => compiler.commonMasks.nonNullType;
+  TypeMask get nonNullType => compiler.closedWorld.commonMasks.nonNullType;
 
   TypeMask _indexablePrimitiveTypeCache;
   TypeMask get indexablePrimitiveType {
@@ -518,6 +520,9 @@
   /// True when we enqueue the loadLibrary code.
   bool isLoadLibraryFunctionResolved = false;
 
+  /// `true` if access to [BackendHelpers.invokeOnMethod] is supported.
+  bool hasInvokeOnSupport = false;
+
   /// List of constants from metadata.  If metadata must be preserved,
   /// these constants must be registered.
   final List<Dependency> metadataConstants = <Dependency>[];
@@ -572,6 +577,9 @@
   /// Support for classifying `noSuchMethod` implementations.
   NoSuchMethodRegistry noSuchMethodRegistry;
 
+  /// Resolution and codegen support for computing reflectable elements.
+  MirrorsAnalysis mirrorsAnalysis;
+
   /// Builds kernel representation for the program.
   KernelTask kernelTask;
 
@@ -628,6 +636,7 @@
     customElementsAnalysis = new CustomElementsAnalysis(this);
     lookupMapAnalysis = new LookupMapAnalysis(this, reporter);
     jsInteropAnalysis = new JsInteropAnalysis(this);
+    mirrorsAnalysis = new MirrorsAnalysis(this, compiler.resolution);
 
     noSuchMethodRegistry = new NoSuchMethodRegistry(this);
     kernelTask = new KernelTask(compiler);
@@ -1053,7 +1062,7 @@
     }
   }
 
-  void addInterceptors(ClassElement cls, Enqueuer enqueuer, Registry registry) {
+  void addInterceptors(ClassElement cls, Enqueuer enqueuer) {
     if (enqueuer.isResolutionQueue) {
       _interceptedClasses.add(helpers.jsInterceptorClass);
       _interceptedClasses.add(cls);
@@ -1066,7 +1075,7 @@
         set.add(member);
       }, includeSuperAndInjectedMembers: true);
     }
-    enqueueClass(enqueuer, cls, registry);
+    enqueueClass(enqueuer, cls);
   }
 
   Set<ClassElement> get interceptedClasses {
@@ -1159,20 +1168,17 @@
     }
   }
 
-  void registerInstantiatedClass(
-      ClassElement cls, Enqueuer enqueuer, Registry registry) {
-    _processClass(cls, enqueuer, registry);
+  void registerInstantiatedClass(ClassElement cls, Enqueuer enqueuer) {
+    _processClass(cls, enqueuer);
   }
 
-  void registerImplementedClass(
-      ClassElement cls, Enqueuer enqueuer, Registry registry) {
-    _processClass(cls, enqueuer, registry);
+  void registerImplementedClass(ClassElement cls, Enqueuer enqueuer) {
+    _processClass(cls, enqueuer);
   }
 
-  void _processClass(ClassElement cls, Enqueuer enqueuer, Registry registry) {
+  void _processClass(ClassElement cls, Enqueuer enqueuer) {
     if (!cls.typeVariables.isEmpty) {
-      typeVariableHandler.registerClassWithTypeVariables(
-          cls, enqueuer, registry);
+      typeVariableHandler.registerClassWithTypeVariables(cls, enqueuer);
     }
 
     // Register any helper that will be needed by the backend.
@@ -1182,33 +1188,32 @@
           cls == coreClasses.numClass) {
         // The backend will try to optimize number operations and use the
         // `iae` helper directly.
-        enqueue(enqueuer, helpers.throwIllegalArgumentException, registry);
+        enqueue(enqueuer, helpers.throwIllegalArgumentException);
       } else if (cls == coreClasses.listClass ||
           cls == coreClasses.stringClass) {
         // The backend will try to optimize array and string access and use the
         // `ioore` and `iae` helpers directly.
-        enqueue(enqueuer, helpers.throwIndexOutOfRangeException, registry);
-        enqueue(enqueuer, helpers.throwIllegalArgumentException, registry);
+        enqueue(enqueuer, helpers.throwIndexOutOfRangeException);
+        enqueue(enqueuer, helpers.throwIllegalArgumentException);
       } else if (cls == coreClasses.functionClass) {
-        enqueueClass(enqueuer, helpers.closureClass, registry);
+        enqueueClass(enqueuer, helpers.closureClass);
       } else if (cls == coreClasses.mapClass) {
         // The backend will use a literal list to initialize the entries
         // of the map.
-        enqueueClass(enqueuer, coreClasses.listClass, registry);
-        enqueueClass(enqueuer, helpers.mapLiteralClass, registry);
+        enqueueClass(enqueuer, coreClasses.listClass);
+        enqueueClass(enqueuer, helpers.mapLiteralClass);
         // For map literals, the dependency between the implementation class
         // and [Map] is not visible, so we have to add it manually.
         rti.registerRtiDependency(helpers.mapLiteralClass, cls);
       } else if (cls == helpers.boundClosureClass) {
         // TODO(johnniwinther): Is this a noop?
-        enqueueClass(enqueuer, helpers.boundClosureClass, registry);
+        enqueueClass(enqueuer, helpers.boundClosureClass);
       } else if (isNativeOrExtendsNative(cls)) {
-        enqueue(enqueuer, helpers.getNativeInterceptorMethod, registry);
-        enqueueClass(
-            enqueuer, helpers.jsInterceptorClass, compiler.globalDependencies);
-        enqueueClass(enqueuer, helpers.jsJavaScriptObjectClass, registry);
-        enqueueClass(enqueuer, helpers.jsPlainJavaScriptObjectClass, registry);
-        enqueueClass(enqueuer, helpers.jsJavaScriptFunctionClass, registry);
+        enqueue(enqueuer, helpers.getNativeInterceptorMethod);
+        enqueueClass(enqueuer, helpers.jsInterceptorClass);
+        enqueueClass(enqueuer, helpers.jsJavaScriptObjectClass);
+        enqueueClass(enqueuer, helpers.jsPlainJavaScriptObjectClass);
+        enqueueClass(enqueuer, helpers.jsJavaScriptFunctionClass);
       } else if (cls == helpers.mapLiteralClass) {
         // For map literals, the dependency between the implementation class
         // and [Map] is not visible, so we have to add it manually.
@@ -1245,70 +1250,71 @@
 
         helpers.mapLiteralConstructor = getFactory('_literal', 1);
         helpers.mapLiteralConstructorEmpty = getFactory('_empty', 0);
-        enqueueInResolution(helpers.mapLiteralConstructor, registry);
-        enqueueInResolution(helpers.mapLiteralConstructorEmpty, registry);
+        enqueue(enqueuer, helpers.mapLiteralConstructor);
+        enqueue(enqueuer, helpers.mapLiteralConstructorEmpty);
 
         helpers.mapLiteralUntypedMaker = getMember('_makeLiteral');
         helpers.mapLiteralUntypedEmptyMaker = getMember('_makeEmpty');
-        enqueueInResolution(helpers.mapLiteralUntypedMaker, registry);
-        enqueueInResolution(helpers.mapLiteralUntypedEmptyMaker, registry);
+        enqueue(enqueuer, helpers.mapLiteralUntypedMaker);
+        enqueue(enqueuer, helpers.mapLiteralUntypedEmptyMaker);
       }
     }
     if (cls == helpers.closureClass) {
-      enqueue(enqueuer, helpers.closureFromTearOff, registry);
+      enqueue(enqueuer, helpers.closureFromTearOff);
     }
     if (cls == coreClasses.stringClass || cls == helpers.jsStringClass) {
-      addInterceptors(helpers.jsStringClass, enqueuer, registry);
+      addInterceptors(helpers.jsStringClass, enqueuer);
     } else if (cls == coreClasses.listClass ||
         cls == helpers.jsArrayClass ||
         cls == helpers.jsFixedArrayClass ||
         cls == helpers.jsExtendableArrayClass ||
         cls == helpers.jsUnmodifiableArrayClass) {
-      addInterceptors(helpers.jsArrayClass, enqueuer, registry);
-      addInterceptors(helpers.jsMutableArrayClass, enqueuer, registry);
-      addInterceptors(helpers.jsFixedArrayClass, enqueuer, registry);
-      addInterceptors(helpers.jsExtendableArrayClass, enqueuer, registry);
-      addInterceptors(helpers.jsUnmodifiableArrayClass, enqueuer, registry);
-      // Literal lists can be translated into calls to these functions:
-      enqueueInResolution(helpers.jsArrayTypedConstructor, registry);
-      enqueueInResolution(helpers.setRuntimeTypeInfo, registry);
-      enqueueInResolution(helpers.getTypeArgumentByIndex, registry);
+      addInterceptors(helpers.jsArrayClass, enqueuer);
+      addInterceptors(helpers.jsMutableArrayClass, enqueuer);
+      addInterceptors(helpers.jsFixedArrayClass, enqueuer);
+      addInterceptors(helpers.jsExtendableArrayClass, enqueuer);
+      addInterceptors(helpers.jsUnmodifiableArrayClass, enqueuer);
+      if (enqueuer.isResolutionQueue) {
+        // Literal lists can be translated into calls to these functions:
+        enqueue(enqueuer, helpers.jsArrayTypedConstructor);
+        enqueue(enqueuer, helpers.setRuntimeTypeInfo);
+        enqueue(enqueuer, helpers.getTypeArgumentByIndex);
+      }
     } else if (cls == coreClasses.intClass || cls == helpers.jsIntClass) {
-      addInterceptors(helpers.jsIntClass, enqueuer, registry);
-      addInterceptors(helpers.jsPositiveIntClass, enqueuer, registry);
-      addInterceptors(helpers.jsUInt32Class, enqueuer, registry);
-      addInterceptors(helpers.jsUInt31Class, enqueuer, registry);
-      addInterceptors(helpers.jsNumberClass, enqueuer, registry);
+      addInterceptors(helpers.jsIntClass, enqueuer);
+      addInterceptors(helpers.jsPositiveIntClass, enqueuer);
+      addInterceptors(helpers.jsUInt32Class, enqueuer);
+      addInterceptors(helpers.jsUInt31Class, enqueuer);
+      addInterceptors(helpers.jsNumberClass, enqueuer);
     } else if (cls == coreClasses.doubleClass || cls == helpers.jsDoubleClass) {
-      addInterceptors(helpers.jsDoubleClass, enqueuer, registry);
-      addInterceptors(helpers.jsNumberClass, enqueuer, registry);
+      addInterceptors(helpers.jsDoubleClass, enqueuer);
+      addInterceptors(helpers.jsNumberClass, enqueuer);
     } else if (cls == coreClasses.boolClass || cls == helpers.jsBoolClass) {
-      addInterceptors(helpers.jsBoolClass, enqueuer, registry);
+      addInterceptors(helpers.jsBoolClass, enqueuer);
     } else if (cls == coreClasses.nullClass || cls == helpers.jsNullClass) {
-      addInterceptors(helpers.jsNullClass, enqueuer, registry);
+      addInterceptors(helpers.jsNullClass, enqueuer);
     } else if (cls == coreClasses.numClass || cls == helpers.jsNumberClass) {
-      addInterceptors(helpers.jsIntClass, enqueuer, registry);
-      addInterceptors(helpers.jsPositiveIntClass, enqueuer, registry);
-      addInterceptors(helpers.jsUInt32Class, enqueuer, registry);
-      addInterceptors(helpers.jsUInt31Class, enqueuer, registry);
-      addInterceptors(helpers.jsDoubleClass, enqueuer, registry);
-      addInterceptors(helpers.jsNumberClass, enqueuer, registry);
+      addInterceptors(helpers.jsIntClass, enqueuer);
+      addInterceptors(helpers.jsPositiveIntClass, enqueuer);
+      addInterceptors(helpers.jsUInt32Class, enqueuer);
+      addInterceptors(helpers.jsUInt31Class, enqueuer);
+      addInterceptors(helpers.jsDoubleClass, enqueuer);
+      addInterceptors(helpers.jsNumberClass, enqueuer);
     } else if (cls == helpers.jsJavaScriptObjectClass) {
-      addInterceptors(helpers.jsJavaScriptObjectClass, enqueuer, registry);
+      addInterceptors(helpers.jsJavaScriptObjectClass, enqueuer);
     } else if (cls == helpers.jsPlainJavaScriptObjectClass) {
-      addInterceptors(helpers.jsPlainJavaScriptObjectClass, enqueuer, registry);
+      addInterceptors(helpers.jsPlainJavaScriptObjectClass, enqueuer);
     } else if (cls == helpers.jsUnknownJavaScriptObjectClass) {
-      addInterceptors(
-          helpers.jsUnknownJavaScriptObjectClass, enqueuer, registry);
+      addInterceptors(helpers.jsUnknownJavaScriptObjectClass, enqueuer);
     } else if (cls == helpers.jsJavaScriptFunctionClass) {
-      addInterceptors(helpers.jsJavaScriptFunctionClass, enqueuer, registry);
+      addInterceptors(helpers.jsJavaScriptFunctionClass, enqueuer);
     } else if (isNativeOrExtendsNative(cls)) {
       addInterceptorsForNativeClassMembers(cls, enqueuer);
     } else if (cls == helpers.jsIndexingBehaviorInterface) {
       // These two helpers are used by the emitter and the codegen.
       // Because we cannot enqueue elements at the time of emission,
       // we make sure they are always generated.
-      enqueue(enqueuer, helpers.isJsIndexable, registry);
+      enqueue(enqueuer, helpers.isJsIndexable);
     }
 
     customElementsAnalysis.registerInstantiatedClass(cls,
@@ -1318,27 +1324,23 @@
     }
   }
 
-  void registerInstantiatedType(
-      InterfaceType type, Enqueuer enqueuer, Registry registry,
-      {bool mirrorUsage: false}) {
+  void registerInstantiatedType(InterfaceType type) {
     lookupMapAnalysis.registerInstantiatedType(type);
-    super.registerInstantiatedType(type, enqueuer, registry,
-        mirrorUsage: mirrorUsage);
   }
 
-  void enqueueHelpers(ResolutionEnqueuer world, Registry registry) {
+  void enqueueHelpers(ResolutionEnqueuer enqueuer) {
     assert(helpers.interceptorsLibrary != null);
     // TODO(ngeoffray): Not enqueuing those two classes currently make
     // the compiler potentially crash. However, any reasonable program
     // will instantiate those two classes.
-    addInterceptors(helpers.jsBoolClass, world, registry);
-    addInterceptors(helpers.jsNullClass, world, registry);
+    addInterceptors(helpers.jsBoolClass, enqueuer);
+    addInterceptors(helpers.jsNullClass, enqueuer);
     if (compiler.options.enableTypeAssertions) {
       // Unconditionally register the helper that checks if the
       // expression in an if/while/for is a boolean.
       // TODO(ngeoffray): Should we have the resolver register those instead?
       Element e = helpers.boolConversionCheck;
-      if (e != null) enqueue(world, e, registry);
+      if (e != null) enqueue(enqueuer, e);
     }
 
     if (TRACE_CALLS) {
@@ -1346,10 +1348,10 @@
           ? helpers.consoleTraceHelper
           : helpers.postTraceHelper;
       assert(traceHelper != null);
-      enqueueInResolution(traceHelper, registry);
+      enqueue(enqueuer, traceHelper);
     }
-    enqueueInResolution(helpers.assertUnreachableMethod, registry);
-    registerCheckedModeHelpers(registry);
+    enqueue(enqueuer, helpers.assertUnreachableMethod);
+    registerCheckedModeHelpers(enqueuer);
   }
 
   onResolutionComplete() {
@@ -1364,53 +1366,47 @@
     noSuchMethodRegistry.onTypeInferenceComplete();
   }
 
-  void registerGetRuntimeTypeArgument(Registry registry) {
-    enqueueImpact(
-        compiler.enqueuer.resolution, impacts.getRuntimeTypeArgument, registry);
+  void registerGetRuntimeTypeArgument() {
+    enqueueImpact(compiler.enqueuer.resolution, impacts.getRuntimeTypeArgument);
   }
 
   void registerCallMethodWithFreeTypeVariables(
-      Element callMethod, Enqueuer enqueuer, Registry registry) {
+      Element callMethod, Enqueuer enqueuer) {
     if (enqueuer.isResolutionQueue || methodNeedsRti(callMethod)) {
-      registerComputeSignature(enqueuer, registry);
+      registerComputeSignature(enqueuer);
     }
   }
 
   void registerClosureWithFreeTypeVariables(
-      Element closure, Enqueuer enqueuer, Registry registry) {
+      Element closure, Enqueuer enqueuer) {
     if (enqueuer.isResolutionQueue || methodNeedsRti(closure)) {
-      registerComputeSignature(enqueuer, registry);
+      registerComputeSignature(enqueuer);
     }
   }
 
   void registerBoundClosure(Enqueuer enqueuer) {
     helpers.boundClosureClass.ensureResolved(resolution);
-    registerInstantiatedType(
-        helpers.boundClosureClass.rawType,
-        enqueuer,
-        // Precise dependency is not important here.
-        compiler.globalDependencies);
+    enqueuer.registerInstantiatedType(helpers.boundClosureClass.rawType);
   }
 
   void registerGetOfStaticFunction(Enqueuer enqueuer) {
     helpers.closureClass.ensureResolved(resolution);
-    registerInstantiatedType(
-        helpers.closureClass.rawType, enqueuer, compiler.globalDependencies);
+    enqueuer.registerInstantiatedType(helpers.closureClass.rawType);
   }
 
-  void registerComputeSignature(Enqueuer enqueuer, Registry registry) {
+  void registerComputeSignature(Enqueuer enqueuer) {
     // Calls to [:computeSignature:] are generated by the emitter and we
     // therefore need to enqueue the used elements in the codegen enqueuer as
     // well as in the resolution enqueuer.
-    enqueueImpact(enqueuer, impacts.computeSignature, registry);
+    enqueueImpact(enqueuer, impacts.computeSignature);
   }
 
-  void registerRuntimeType(Enqueuer enqueuer, Registry registry) {
-    registerComputeSignature(enqueuer, registry);
-    enqueueInResolution(helpers.setRuntimeTypeInfo, registry);
-    registerGetRuntimeTypeArgument(registry);
-    enqueueInResolution(helpers.getRuntimeTypeInfo, registry);
-    enqueueClass(enqueuer, coreClasses.listClass, registry);
+  void registerRuntimeType(ResolutionEnqueuer enqueuer) {
+    registerComputeSignature(enqueuer);
+    enqueue(enqueuer, helpers.setRuntimeTypeInfo);
+    registerGetRuntimeTypeArgument();
+    enqueue(enqueuer, helpers.getRuntimeTypeInfo);
+    enqueueClass(enqueuer, coreClasses.listClass);
   }
 
   void registerTypeVariableBoundsSubtypeCheck(
@@ -1418,11 +1414,10 @@
     rti.registerTypeVariableBoundsSubtypeCheck(typeArgument, bound);
   }
 
-  void registerCheckDeferredIsLoaded(Registry registry) {
-    enqueueInResolution(helpers.checkDeferredIsLoaded, registry);
+  void registerCheckDeferredIsLoaded(ResolutionEnqueuer enqueuer) {
+    enqueue(enqueuer, helpers.checkDeferredIsLoaded);
     // Also register the types of the arguments passed to this method.
-    enqueueClass(
-        compiler.enqueuer.resolution, coreClasses.stringClass, registry);
+    enqueueClass(enqueuer, coreClasses.stringClass);
   }
 
   void registerNoSuchMethod(FunctionElement noSuchMethod) {
@@ -1464,7 +1459,7 @@
   }
 
   void enableNoSuchMethod(Enqueuer world) {
-    enqueue(world, helpers.createInvocationMirror, compiler.globalDependencies);
+    enqueue(world, helpers.createInvocationMirror);
     world.registerDynamicUse(new DynamicUse(Selectors.noSuchMethod_, null));
   }
 
@@ -1498,13 +1493,13 @@
   }
 
   bool classNeedsRti(ClassElement cls) {
-    if (compiler.enabledRuntimeType) return true;
+    if (compiler.resolverWorld.hasRuntimeTypeSupport) return true;
     return rti.classesNeedingRti.contains(cls.declaration);
   }
 
   bool classNeedsRtiField(ClassElement cls) {
     if (cls.rawType.typeArguments.isEmpty) return false;
-    if (compiler.enabledRuntimeType) return true;
+    if (compiler.resolverWorld.hasRuntimeTypeSupport) return true;
     return rti.classesNeedingRti.contains(cls.declaration);
   }
 
@@ -1521,32 +1516,23 @@
 
   bool methodNeedsRti(FunctionElement function) {
     return rti.methodsNeedingRti.contains(function) ||
-        compiler.enabledRuntimeType;
+        compiler.resolverWorld.hasRuntimeTypeSupport;
   }
 
   /// Enqueue [e] in [enqueuer].
   ///
   /// This method calls [registerBackendUse].
-  void enqueue(Enqueuer enqueuer, Element e, Registry registry) {
+  void enqueue(Enqueuer enqueuer, Element e) {
     if (e == null) return;
     registerBackendUse(e);
     enqueuer.addToWorkList(e);
-    registry.registerDependency(e);
-  }
-
-  /// Enqueue [e] in the resolution enqueuer.
-  ///
-  /// This method calls [registerBackendUse].
-  void enqueueInResolution(Element e, Registry registry) {
-    if (e == null) return;
-    ResolutionEnqueuer enqueuer = compiler.enqueuer.resolution;
-    enqueue(enqueuer, e, registry);
+    compiler.globalDependencies.registerDependency(e);
   }
 
   /// Register instantiation of [cls] in [enqueuer].
   ///
   /// This method calls [registerBackendUse].
-  void enqueueClass(Enqueuer enqueuer, ClassElement cls, Registry registry) {
+  void enqueueClass(Enqueuer enqueuer, ClassElement cls) {
     if (cls == null) return;
     registerBackendUse(cls);
     helpersUsed.add(cls.declaration);
@@ -1554,13 +1540,13 @@
       helpersUsed.add(cls.implementation);
     }
     cls.ensureResolved(resolution);
-    registerInstantiatedType(cls.rawType, enqueuer, registry);
+    enqueuer.registerInstantiatedType(cls.rawType);
   }
 
   /// Register instantiation of [type] in [enqueuer].
   ///
   /// This method calls [registerBackendUse].
-  void enqueueType(Enqueuer enqueuer, InterfaceType type, Registry registry) {
+  void enqueueType(Enqueuer enqueuer, InterfaceType type) {
     if (type == null) return;
     ClassElement cls = type.element;
     registerBackendUse(cls);
@@ -1569,29 +1555,29 @@
       helpersUsed.add(cls.implementation);
     }
     cls.ensureResolved(resolution);
-    registerInstantiatedType(type, enqueuer, registry);
+    enqueuer.registerInstantiatedType(type);
   }
 
-  void enqueueImpact(
-      Enqueuer enqueuer, BackendImpact impact, Registry registry) {
+  void enqueueImpact(Enqueuer enqueuer, BackendImpact impact) {
     for (Element staticUse in impact.staticUses) {
-      enqueue(enqueuer, staticUse, registry);
+      enqueue(enqueuer, staticUse);
     }
     for (InterfaceType type in impact.instantiatedTypes) {
-      enqueueType(enqueuer, type, registry);
+      enqueueType(enqueuer, type);
     }
     for (ClassElement cls in impact.instantiatedClasses) {
-      enqueueClass(enqueuer, cls, registry);
+      enqueueClass(enqueuer, cls);
     }
     for (BackendImpact otherImpact in impact.otherImpacts) {
-      enqueueImpact(enqueuer, otherImpact, registry);
+      enqueueImpact(enqueuer, otherImpact);
     }
   }
 
   CodegenEnqueuer get codegenEnqueuer => compiler.enqueuer.codegen;
 
-  CodegenEnqueuer createCodegenEnqueuer(Compiler compiler) {
-    return new CodegenEnqueuer(compiler, const TreeShakingEnqueuerStrategy());
+  CodegenEnqueuer createCodegenEnqueuer(CompilerTask task, Compiler compiler) {
+    return new CodegenEnqueuer(
+        task, compiler, const TreeShakingEnqueuerStrategy());
   }
 
   WorldImpact codegen(CodegenWorkItem work) {
@@ -1665,12 +1651,12 @@
     return worldImpact;
   }
 
-  native.NativeEnqueuer nativeResolutionEnqueuer(Enqueuer world) {
-    return new native.NativeResolutionEnqueuer(world, compiler);
+  native.NativeEnqueuer nativeResolutionEnqueuer() {
+    return new native.NativeResolutionEnqueuer(compiler);
   }
 
-  native.NativeEnqueuer nativeCodegenEnqueuer(Enqueuer world) {
-    return new native.NativeCodegenEnqueuer(world, compiler, emitter);
+  native.NativeEnqueuer nativeCodegenEnqueuer() {
+    return new native.NativeCodegenEnqueuer(compiler, emitter);
   }
 
   ClassElement defaultSuperclass(ClassElement element) {
@@ -1870,11 +1856,11 @@
     }
   }
 
-  void registerCheckedModeHelpers(Registry registry) {
+  void registerCheckedModeHelpers(ResolutionEnqueuer enqueuer) {
     // We register all the helpers in the resolution queue.
     // TODO(13155): Find a way to register fewer helpers.
     for (CheckedModeHelper helper in checkedModeHelpers) {
-      enqueueInResolution(helper.getStaticUse(compiler).element, registry);
+      enqueue(enqueuer, helper.getStaticUse(compiler).element);
     }
   }
 
@@ -1906,7 +1892,7 @@
     return compiler.closedWorld.hasOnlySubclasses(classElement);
   }
 
-  void registerStaticUse(Element element, {bool forResolution}) {
+  void registerStaticUse(Enqueuer enqueuer, Element element) {
     if (element == helpers.disableTreeShakingMarker) {
       isTreeShakingDisabled = true;
     } else if (element == helpers.preserveNamesMarker) {
@@ -1923,14 +1909,15 @@
       // TODO(sigurdm): Create a function registerLoadLibraryAccess.
       if (!isLoadLibraryFunctionResolved) {
         isLoadLibraryFunctionResolved = true;
-        enqueueInResolution(
-            helpers.loadLibraryWrapper, compiler.globalDependencies);
+        if (enqueuer.isResolutionQueue) {
+          enqueue(enqueuer, helpers.loadLibraryWrapper);
+        }
       }
     } else if (element == helpers.requiresPreambleMarker) {
       requiresPreamble = true;
     }
     customElementsAnalysis.registerStaticUse(element,
-        forResolution: forResolution);
+        forResolution: enqueuer.isResolutionQueue);
   }
 
   /// Called when [:const Symbol(name):] is seen.
@@ -2360,11 +2347,13 @@
     //
     // Return early if any elements are added to avoid counting the elements as
     // due to mirrors.
-    enqueuer.applyImpact(customElementsAnalysis.flush(
-        forResolution: enqueuer.isResolutionQueue));
     enqueuer.applyImpact(
+        compiler.impactStrategy,
+        customElementsAnalysis.flush(
+            forResolution: enqueuer.isResolutionQueue));
+    enqueuer.applyImpact(compiler.impactStrategy,
         lookupMapAnalysis.flush(forResolution: enqueuer.isResolutionQueue));
-    enqueuer.applyImpact(
+    enqueuer.applyImpact(compiler.impactStrategy,
         typeVariableHandler.flush(forResolution: enqueuer.isResolutionQueue));
 
     if (!enqueuer.queueIsEmpty) return false;
@@ -2395,12 +2384,14 @@
     }
 
     if (isTreeShakingDisabled) {
-      enqueuer.enqueueReflectiveElements(recentClasses);
+      mirrorsAnalysis.enqueueReflectiveElements(
+          enqueuer, recentClasses, compiler.libraryLoader.libraries);
     } else if (!targetsUsed.isEmpty && enqueuer.isResolutionQueue) {
       // Add all static elements (not classes) that have been requested for
       // reflection. If there is no mirror-usage these are probably not
       // necessary, but the backend relies on them being resolved.
-      enqueuer.enqueueReflectiveStaticFields(_findStaticFieldTargets());
+      mirrorsAnalysis.enqueueReflectiveStaticFields(
+          enqueuer, _findStaticFieldTargets());
     }
 
     if (mustPreserveNames) reporter.log('Preserving names.');
@@ -2436,7 +2427,7 @@
         }
         metadataConstants.clear();
       }
-      enqueuer.applyImpact(impactBuilder.flush());
+      enqueuer.applyImpact(compiler.impactStrategy, impactBuilder.flush());
     }
     return true;
   }
@@ -2561,7 +2552,7 @@
           "@NoSideEffects() should always be combined with @NoInline.");
     }
     if (element == helpers.invokeOnMethod) {
-      compiler.enabledInvokeOn = true;
+      hasInvokeOnSupport = true;
     }
   }
 
@@ -2607,8 +2598,9 @@
   }
 
   @override
-  bool enableDeferredLoadingIfSupported(Spannable node, Registry registry) {
-    registerCheckDeferredIsLoaded(registry);
+  bool enableDeferredLoadingIfSupported(
+      ResolutionEnqueuer enqueuer, Spannable node) {
+    registerCheckDeferredIsLoaded(enqueuer);
     return true;
   }
 
@@ -2792,13 +2784,9 @@
 
   BackendImpacts get impacts => backend.impacts;
 
-  // TODO(johnniwinther): Avoid this dependency.
-  ResolutionEnqueuer get resolutionEnqueuer {
-    return backend.compiler.enqueuer.resolution;
-  }
-
   @override
-  WorldImpact transformResolutionImpact(ResolutionImpact worldImpact) {
+  WorldImpact transformResolutionImpact(
+      ResolutionEnqueuer enqueuer, ResolutionImpact worldImpact) {
     TransformedWorldImpact transformed =
         new TransformedWorldImpact(worldImpact);
     for (Feature feature in worldImpact.features) {
@@ -2885,6 +2873,8 @@
       DartType type = typeUse.type;
       switch (typeUse.kind) {
         case TypeUseKind.INSTANTIATION:
+        case TypeUseKind.MIRROR_INSTANTIATION:
+        case TypeUseKind.NATIVE_INSTANTIATION:
           registerRequiredType(type);
           break;
         case TypeUseKind.IS_CHECK:
@@ -2965,8 +2955,6 @@
           registerBackendImpact(transformed, impacts.closure);
           LocalFunctionElement closure = staticUse.element;
           if (closure.type.containsTypeVariables) {
-            resolutionEnqueuer.universe.closuresWithFreeTypeVariables
-                .add(closure);
             registerBackendImpact(transformed, impacts.computeSignature);
           }
           break;
@@ -3002,8 +2990,8 @@
     }
 
     for (native.NativeBehavior behavior in worldImpact.nativeData) {
-      resolutionEnqueuer.nativeEnqueuer
-          .registerNativeBehavior(behavior, worldImpact);
+      enqueuer.nativeEnqueuer
+          .registerNativeBehavior(transformed, behavior, worldImpact);
     }
 
     return transformed;
@@ -3103,8 +3091,8 @@
     // need to register checked mode helpers.
     if (inCheckedMode) {
       // All helpers are added to resolution queue in enqueueHelpers. These
-      // calls to enqueueInResolution serve as assertions that the helper was
-      // in fact added.
+      // calls to [enqueue] with the resolution enqueuer serve as assertions
+      // that the helper was in fact added.
       // TODO(13155): Find a way to enqueue helpers lazily.
       CheckedModeHelper helper =
           backend.getCheckedModeHelper(type, typeCast: false);
diff --git a/pkg/compiler/lib/src/js_backend/enqueuer.dart b/pkg/compiler/lib/src/js_backend/enqueuer.dart
index a9736b8..c169537 100644
--- a/pkg/compiler/lib/src/js_backend/enqueuer.dart
+++ b/pkg/compiler/lib/src/js_backend/enqueuer.dart
@@ -10,6 +10,7 @@
 import '../common/codegen.dart' show CodegenWorkItem;
 import '../common/registry.dart' show Registry;
 import '../common/names.dart' show Identifiers;
+import '../common/tasks.dart' show CompilerTask;
 import '../common/work.dart' show WorkItem;
 import '../common.dart';
 import '../compiler.dart' show Compiler;
@@ -39,7 +40,7 @@
 import '../universe/use.dart'
     show DynamicUse, StaticUse, StaticUseKind, TypeUse, TypeUseKind;
 import '../universe/world_impact.dart'
-    show ImpactUseCase, WorldImpact, WorldImpactVisitor;
+    show ImpactUseCase, ImpactStrategy, WorldImpact, WorldImpactVisitor;
 import '../util/util.dart' show Setlet;
 import '../world.dart';
 
@@ -58,22 +59,17 @@
   final CodegenWorldBuilderImpl _universe =
       new CodegenWorldBuilderImpl(const TypeMaskStrategy());
 
-  static final TRACE_MIRROR_ENQUEUING =
-      const bool.fromEnvironment("TRACE_MIRROR_ENQUEUING");
-
   bool queueIsClosed = false;
-  EnqueueTask task;
-  native.NativeEnqueuer nativeEnqueuer; // Set by EnqueueTask
-
-  bool hasEnqueuedReflectiveElements = false;
-  bool hasEnqueuedReflectiveStaticFields = false;
+  final CompilerTask task;
+  final native.NativeEnqueuer nativeEnqueuer;
 
   WorldImpactVisitor impactVisitor;
 
-  CodegenEnqueuer(Compiler compiler, this.strategy)
+  CodegenEnqueuer(this.task, Compiler compiler, this.strategy)
       : queue = new Queue<CodegenWorkItem>(),
         newlyEnqueuedElements = compiler.cacheStrategy.newSet(),
         newlySeenSelectors = compiler.cacheStrategy.newSet(),
+        nativeEnqueuer = compiler.backend.nativeCodegenEnqueuer(),
         this.name = 'codegen enqueuer',
         this._compiler = compiler {
     impactVisitor = new _EnqueuerImpactVisitor(this);
@@ -85,10 +81,6 @@
 
   CompilerOptions get options => _compiler.options;
 
-  Registry get globalDependencies => _compiler.globalDependencies;
-
-  Registry get mirrorDependencies => _compiler.mirrorDependencies;
-
   ClosedWorld get _world => _compiler.closedWorld;
 
   bool get queueIsEmpty => queue.isEmpty;
@@ -127,28 +119,36 @@
           element, "Codegen work list is closed. Trying to add $element");
     }
     queue.add(new CodegenWorkItem(_compiler, element));
-    if (options.dumpInfo) {
-      // TODO(sigmund): add other missing dependencies (internals, selectors
-      // enqueued after allocations), also enable only for the codegen enqueuer.
-      _compiler.dumpInfoTask
-          .registerDependency(_compiler.currentElement, element);
-    }
+    // TODO(sigmund): add other missing dependencies (internals, selectors
+    // enqueued after allocations).
+    _compiler.dumpInfoTask
+        .registerDependency(_compiler.currentElement, element);
   }
 
-  void applyImpact(WorldImpact worldImpact, {Element impactSource}) {
-    _compiler.impactStrategy
-        .visitImpact(impactSource, worldImpact, impactVisitor, impactUse);
+  void applyImpact(ImpactStrategy impactStrategy, WorldImpact worldImpact,
+      {Element impactSource}) {
+    impactStrategy.visitImpact(
+        impactSource, worldImpact, impactVisitor, impactUse);
   }
 
-  void registerInstantiatedType(InterfaceType type, {bool mirrorUsage: false}) {
+  void registerInstantiatedType(InterfaceType type) {
+    _registerInstantiatedType(type);
+  }
+
+  void _registerInstantiatedType(InterfaceType type,
+      {bool mirrorUsage: false, bool nativeUsage: false}) {
     task.measure(() {
       ClassElement cls = type.element;
       bool isNative = backend.isNative(cls);
       _universe.registerTypeInstantiation(type,
           isNative: isNative,
           byMirrors: mirrorUsage, onImplemented: (ClassElement cls) {
-        backend.registerImplementedClass(cls, this, globalDependencies);
+        backend.registerImplementedClass(cls, this);
       });
+      if (nativeUsage) {
+        nativeEnqueuer.onInstantiatedType(type);
+      }
+      backend.registerInstantiatedType(type);
       // TODO(johnniwinther): Share this reasoning with [Universe].
       if (!cls.isAbstract || isNative || mirrorUsage) {
         processInstantiatedClass(cls);
@@ -274,7 +274,7 @@
         // We only tell the backend once that [superclass] was instantiated, so
         // any additional dependencies must be treated as global
         // dependencies.
-        backend.registerInstantiatedClass(superclass, this, globalDependencies);
+        backend.registerInstantiatedClass(superclass, this);
       }
 
       ClassElement superclass = cls;
@@ -293,165 +293,6 @@
     });
   }
 
-  void logEnqueueReflectiveAction(action, [msg = ""]) {
-    if (TRACE_MIRROR_ENQUEUING) {
-      print("MIRROR_ENQUEUE (C): $action $msg");
-    }
-  }
-
-  /// Enqeue the constructor [ctor] if it is required for reflection.
-  ///
-  /// [enclosingWasIncluded] provides a hint whether the enclosing element was
-  /// needed for reflection.
-  void enqueueReflectiveConstructor(
-      ConstructorElement ctor, bool enclosingWasIncluded) {
-    if (shouldIncludeElementDueToMirrors(ctor,
-        includedEnclosing: enclosingWasIncluded)) {
-      logEnqueueReflectiveAction(ctor);
-      ClassElement cls = ctor.declaration.enclosingClass;
-      backend.registerInstantiatedType(cls.rawType, this, mirrorDependencies,
-          mirrorUsage: true);
-      registerStaticUse(new StaticUse.foreignUse(ctor.declaration));
-    }
-  }
-
-  /// Enqeue the member [element] if it is required for reflection.
-  ///
-  /// [enclosingWasIncluded] provides a hint whether the enclosing element was
-  /// needed for reflection.
-  void enqueueReflectiveMember(Element element, bool enclosingWasIncluded) {
-    if (shouldIncludeElementDueToMirrors(element,
-        includedEnclosing: enclosingWasIncluded)) {
-      logEnqueueReflectiveAction(element);
-      if (element.isTypedef) {
-        // Do nothing.
-      } else if (Elements.isStaticOrTopLevel(element)) {
-        registerStaticUse(new StaticUse.foreignUse(element.declaration));
-      } else if (element.isInstanceMember) {
-        // We need to enqueue all members matching this one in subclasses, as
-        // well.
-        // TODO(herhut): Use TypedSelector.subtype for enqueueing
-        DynamicUse dynamicUse =
-            new DynamicUse(new Selector.fromElement(element), null);
-        registerDynamicUse(dynamicUse);
-        if (element.isField) {
-          DynamicUse dynamicUse = new DynamicUse(
-              new Selector.setter(
-                  new Name(element.name, element.library, isSetter: true)),
-              null);
-          registerDynamicUse(dynamicUse);
-        }
-      }
-    }
-  }
-
-  /// Enqeue the member [element] if it is required for reflection.
-  ///
-  /// [enclosingWasIncluded] provides a hint whether the enclosing element was
-  /// needed for reflection.
-  void enqueueReflectiveElementsInClass(ClassElement cls,
-      Iterable<ClassElement> recents, bool enclosingWasIncluded) {
-    if (cls.library.isInternalLibrary || cls.isInjected) return;
-    bool includeClass = shouldIncludeElementDueToMirrors(cls,
-        includedEnclosing: enclosingWasIncluded);
-    if (includeClass) {
-      logEnqueueReflectiveAction(cls, "register");
-      ClassElement decl = cls.declaration;
-      backend.registerInstantiatedType(decl.rawType, this, mirrorDependencies,
-          mirrorUsage: true);
-    }
-    // If the class is never instantiated, we know nothing of it can possibly
-    // be reflected upon.
-    // TODO(herhut): Add a warning if a mirrors annotation cannot hit.
-    if (recents.contains(cls.declaration)) {
-      logEnqueueReflectiveAction(cls, "members");
-      cls.constructors.forEach((Element element) {
-        enqueueReflectiveConstructor(element, includeClass);
-      });
-      cls.forEachClassMember((Member member) {
-        enqueueReflectiveMember(member.element, includeClass);
-      });
-    }
-  }
-
-  /// Enqeue special classes that might not be visible by normal means or that
-  /// would not normally be enqueued:
-  ///
-  /// [Closure] is treated specially as it is the superclass of all closures.
-  /// Although it is in an internal library, we mark it as reflectable. Note
-  /// that none of its methods are reflectable, unless reflectable by
-  /// inheritance.
-  void enqueueReflectiveSpecialClasses() {
-    Iterable<ClassElement> classes = backend.classesRequiredForReflection;
-    for (ClassElement cls in classes) {
-      if (backend.referencedFromMirrorSystem(cls)) {
-        logEnqueueReflectiveAction(cls);
-        backend.registerInstantiatedType(cls.rawType, this, mirrorDependencies,
-            mirrorUsage: true);
-      }
-    }
-  }
-
-  /// Enqeue all local members of the library [lib] if they are required for
-  /// reflection.
-  void enqueueReflectiveElementsInLibrary(
-      LibraryElement lib, Iterable<ClassElement> recents) {
-    bool includeLibrary =
-        shouldIncludeElementDueToMirrors(lib, includedEnclosing: false);
-    lib.forEachLocalMember((Element member) {
-      if (member.isInjected) return;
-      if (member.isClass) {
-        enqueueReflectiveElementsInClass(member, recents, includeLibrary);
-      } else {
-        enqueueReflectiveMember(member, includeLibrary);
-      }
-    });
-  }
-
-  /// Enqueue all elements that are matched by the mirrors used
-  /// annotation or, in lack thereof, all elements.
-  void enqueueReflectiveElements(Iterable<ClassElement> recents) {
-    if (!hasEnqueuedReflectiveElements) {
-      logEnqueueReflectiveAction("!START enqueueAll");
-      // First round of enqueuing, visit everything that is visible to
-      // also pick up static top levels, etc.
-      // Also, during the first round, consider all classes that have been seen
-      // as recently seen, as we do not know how many rounds of resolution might
-      // have run before tree shaking is disabled and thus everything is
-      // enqueued.
-      recents = _processedClasses.toSet();
-      reporter.log('Enqueuing everything');
-      for (LibraryElement lib in _compiler.libraryLoader.libraries) {
-        enqueueReflectiveElementsInLibrary(lib, recents);
-      }
-      enqueueReflectiveSpecialClasses();
-      hasEnqueuedReflectiveElements = true;
-      hasEnqueuedReflectiveStaticFields = true;
-      logEnqueueReflectiveAction("!DONE enqueueAll");
-    } else if (recents.isNotEmpty) {
-      // Keep looking at new classes until fixpoint is reached.
-      logEnqueueReflectiveAction("!START enqueueRecents");
-      recents.forEach((ClassElement cls) {
-        enqueueReflectiveElementsInClass(
-            cls,
-            recents,
-            shouldIncludeElementDueToMirrors(cls.library,
-                includedEnclosing: false));
-      });
-      logEnqueueReflectiveAction("!DONE enqueueRecents");
-    }
-  }
-
-  /// Enqueue the static fields that have been marked as used by reflective
-  /// usage through `MirrorsUsed`.
-  void enqueueReflectiveStaticFields(Iterable<Element> elements) {
-    if (hasEnqueuedReflectiveStaticFields) return;
-    hasEnqueuedReflectiveStaticFields = true;
-    for (Element element in elements) {
-      enqueueReflectiveMember(element, true);
-    }
-  }
-
   void processSet(
       Map<String, Set<Element>> map, String memberName, bool f(Element e)) {
     Set<Element> members = map[memberName];
@@ -517,7 +358,7 @@
     assert(invariant(element, element.isDeclaration,
         message: "Element ${element} is not the declaration."));
     _universe.registerStaticUse(staticUse);
-    backend.registerStaticUse(element, forResolution: false);
+    backend.registerStaticUse(this, element);
     bool addElement = true;
     switch (staticUse.kind) {
       case StaticUseKind.STATIC_TEAR_OFF:
@@ -553,7 +394,13 @@
     DartType type = typeUse.type;
     switch (typeUse.kind) {
       case TypeUseKind.INSTANTIATION:
-        registerInstantiatedType(type);
+        _registerInstantiatedType(type);
+        break;
+      case TypeUseKind.MIRROR_INSTANTIATION:
+        _registerInstantiatedType(type, mirrorUsage: true);
+        break;
+      case TypeUseKind.NATIVE_INSTANTIATION:
+        _registerInstantiatedType(type, nativeUsage: true);
         break;
       case TypeUseKind.IS_CHECK:
       case TypeUseKind.AS_CAST:
@@ -571,7 +418,7 @@
   }
 
   void _registerIsCheck(DartType type) {
-    type = _universe.registerIsCheck(type, _compiler);
+    type = _universe.registerIsCheck(type, _compiler.resolution);
     // Even in checked mode, type annotations for return type and argument
     // types do not imply type checks, so there should never be a check
     // against the type variable of a typedef.
@@ -579,15 +426,13 @@
   }
 
   void registerCallMethodWithFreeTypeVariables(Element element) {
-    backend.registerCallMethodWithFreeTypeVariables(
-        element, this, globalDependencies);
+    backend.registerCallMethodWithFreeTypeVariables(element, this);
   }
 
   void registerClosurizedMember(TypedElement element) {
     assert(element.isInstanceMember);
     if (element.type.containsTypeVariables) {
-      backend.registerClosureWithFreeTypeVariables(
-          element, this, globalDependencies);
+      backend.registerClosureWithFreeTypeVariables(element, this);
     }
     backend.registerBoundClosure(this);
   }
@@ -645,18 +490,6 @@
   bool isProcessed(Element member) =>
       member.isAbstract || generatedCode.containsKey(member);
 
-  /**
-   * Decides whether an element should be included to satisfy requirements
-   * of the mirror system.
-   *
-   * For code generation, we rely on the precomputed set of elements that takes
-   * subtyping constraints into account.
-   */
-  bool shouldIncludeElementDueToMirrors(Element element,
-      {bool includedEnclosing}) {
-    return backend.isAccessibleByReflection(element);
-  }
-
   void registerNoSuchMethod(Element element) {
     if (!enabledNoSuchMethod && backend.enabledNoSuchMethod) {
       backend.enableNoSuchMethod(this);
@@ -668,7 +501,7 @@
     log('Compiled ${generatedCode.length} methods.');
   }
 
-  void forgetElement(Element element) {
+  void forgetElement(Element element, Compiler compiler) {
     _forgetElement(element);
     generatedCode.remove(element);
     if (element is MemberElement) {
@@ -689,6 +522,9 @@
 
   @override
   Iterable<Entity> get processedEntities => generatedCode.keys;
+
+  @override
+  Iterable<ClassElement> get processedClasses => _processedClasses;
 }
 
 void removeFromSet(Map<String, Set<Element>> map, Element element) {
diff --git a/pkg/compiler/lib/src/js_backend/mirrors_analysis.dart b/pkg/compiler/lib/src/js_backend/mirrors_analysis.dart
new file mode 100644
index 0000000..930dba3
--- /dev/null
+++ b/pkg/compiler/lib/src/js_backend/mirrors_analysis.dart
@@ -0,0 +1,243 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library dart2js.mirrors_handler;
+
+import '../common/resolution.dart';
+import '../diagnostics/diagnostic_listener.dart';
+import '../elements/elements.dart';
+import '../enqueue.dart';
+import '../universe/selector.dart';
+import '../universe/use.dart';
+import 'backend.dart';
+
+class MirrorsAnalysis {
+  final MirrorsHandler resolutionHandler;
+  final MirrorsHandler codegenHandler;
+
+  MirrorsAnalysis(JavaScriptBackend backend, Resolution resolution)
+      : resolutionHandler = new MirrorsHandler(backend, resolution),
+        codegenHandler = new MirrorsHandler(backend, resolution);
+
+  /// Enqueue all elements that are matched by the mirrors used
+  /// annotation or, in lack thereof, all elements.
+  // TODO(johnniwinther): Compute [WorldImpact] instead of enqueuing directly.
+  void enqueueReflectiveElements(
+      Enqueuer enqueuer,
+      Iterable<ClassElement> recents,
+      Iterable<LibraryElement> loadedLibraries) {
+    MirrorsHandler handler =
+        enqueuer.isResolutionQueue ? resolutionHandler : codegenHandler;
+    handler.enqueueReflectiveElements(enqueuer, recents, loadedLibraries);
+  }
+
+  /// Enqueue the static fields that have been marked as used by reflective
+  /// usage through `MirrorsUsed`.
+  // TODO(johnniwinther): Compute [WorldImpact] instead of enqueuing directly.
+  void enqueueReflectiveStaticFields(
+      Enqueuer enqueuer, Iterable<Element> elements) {
+    MirrorsHandler handler =
+        enqueuer.isResolutionQueue ? resolutionHandler : codegenHandler;
+    handler.enqueueReflectiveStaticFields(enqueuer, elements);
+  }
+}
+
+class MirrorsHandler {
+  static final TRACE_MIRROR_ENQUEUING =
+      const bool.fromEnvironment("TRACE_MIRROR_ENQUEUING");
+
+  final JavaScriptBackend _backend;
+  final Resolution _resolution;
+
+  bool hasEnqueuedReflectiveElements = false;
+  bool hasEnqueuedReflectiveStaticFields = false;
+
+  MirrorsHandler(this._backend, this._resolution);
+
+  DiagnosticReporter get _reporter => _resolution.reporter;
+
+  void _logEnqueueReflectiveAction(action, [msg = ""]) {
+    if (TRACE_MIRROR_ENQUEUING) {
+      print("MIRROR_ENQUEUE (R): $action $msg");
+    }
+  }
+
+  /**
+   * Decides whether an element should be included to satisfy requirements
+   * of the mirror system.
+   *
+   * During resolution, we have to resort to matching elements against the
+   * [MirrorsUsed] pattern, as we do not have a complete picture of the world,
+   * yet.
+   */
+  bool _shouldIncludeElementDueToMirrors(Element element,
+      {bool includedEnclosing}) {
+    return includedEnclosing || _backend.requiredByMirrorSystem(element);
+  }
+
+  /// Enqeue the constructor [ctor] if it is required for reflection.
+  ///
+  /// [enclosingWasIncluded] provides a hint whether the enclosing element was
+  /// needed for reflection.
+  void _enqueueReflectiveConstructor(
+      Enqueuer enqueuer, ConstructorElement constructor,
+      {bool enclosingWasIncluded}) {
+    if (_shouldIncludeElementDueToMirrors(constructor,
+        includedEnclosing: enclosingWasIncluded)) {
+      _logEnqueueReflectiveAction(constructor);
+      ClassElement cls = constructor.declaration.enclosingClass;
+      enqueuer.registerTypeUse(new TypeUse.mirrorInstantiation(cls.rawType));
+      enqueuer
+          .registerStaticUse(new StaticUse.foreignUse(constructor.declaration));
+    }
+  }
+
+  /// Enqeue the member [element] if it is required for reflection.
+  ///
+  /// [enclosingWasIncluded] provides a hint whether the enclosing element was
+  /// needed for reflection.
+  void _enqueueReflectiveMember(
+      Enqueuer enqueuer, Element element, bool enclosingWasIncluded) {
+    if (_shouldIncludeElementDueToMirrors(element,
+        includedEnclosing: enclosingWasIncluded)) {
+      _logEnqueueReflectiveAction(element);
+      if (element.isTypedef) {
+        TypedefElement typedef = element;
+        typedef.ensureResolved(_resolution);
+      } else if (Elements.isStaticOrTopLevel(element)) {
+        enqueuer
+            .registerStaticUse(new StaticUse.foreignUse(element.declaration));
+      } else if (element.isInstanceMember) {
+        // We need to enqueue all members matching this one in subclasses, as
+        // well.
+        // TODO(herhut): Use TypedSelector.subtype for enqueueing
+        DynamicUse dynamicUse =
+            new DynamicUse(new Selector.fromElement(element), null);
+        enqueuer.registerDynamicUse(dynamicUse);
+        if (element.isField) {
+          DynamicUse dynamicUse = new DynamicUse(
+              new Selector.setter(
+                  new Name(element.name, element.library, isSetter: true)),
+              null);
+          enqueuer.registerDynamicUse(dynamicUse);
+        }
+      }
+    }
+  }
+
+  /// Enqeue the member [element] if it is required for reflection.
+  ///
+  /// [enclosingWasIncluded] provides a hint whether the enclosing element was
+  /// needed for reflection.
+  void _enqueueReflectiveElementsInClass(
+      Enqueuer enqueuer, ClassElement cls, Iterable<ClassElement> recents,
+      {bool enclosingWasIncluded}) {
+    if (cls.library.isInternalLibrary || cls.isInjected) return;
+    bool includeClass = _shouldIncludeElementDueToMirrors(cls,
+        includedEnclosing: enclosingWasIncluded);
+    if (includeClass) {
+      _logEnqueueReflectiveAction(cls, "register");
+      ClassElement declaration = cls.declaration;
+      declaration.ensureResolved(_resolution);
+      enqueuer.registerTypeUse(
+          new TypeUse.mirrorInstantiation(declaration.rawType));
+    }
+    // If the class is never instantiated, we know nothing of it can possibly
+    // be reflected upon.
+    // TODO(herhut): Add a warning if a mirrors annotation cannot hit.
+    if (recents.contains(cls.declaration)) {
+      _logEnqueueReflectiveAction(cls, "members");
+      cls.constructors.forEach((Element element) {
+        _enqueueReflectiveConstructor(enqueuer, element,
+            enclosingWasIncluded: includeClass);
+      });
+      cls.forEachClassMember((Member member) {
+        _enqueueReflectiveMember(enqueuer, member.element, includeClass);
+      });
+    }
+  }
+
+  /// Enqeue special classes that might not be visible by normal means or that
+  /// would not normally be enqueued:
+  ///
+  /// [Closure] is treated specially as it is the superclass of all closures.
+  /// Although it is in an internal library, we mark it as reflectable. Note
+  /// that none of its methods are reflectable, unless reflectable by
+  /// inheritance.
+  void _enqueueReflectiveSpecialClasses(Enqueuer enqueuer) {
+    Iterable<ClassElement> classes = _backend.classesRequiredForReflection;
+    for (ClassElement cls in classes) {
+      if (_backend.referencedFromMirrorSystem(cls)) {
+        _logEnqueueReflectiveAction(cls);
+        cls.ensureResolved(_resolution);
+        enqueuer.registerTypeUse(new TypeUse.mirrorInstantiation(cls.rawType));
+      }
+    }
+  }
+
+  /// Enqeue all local members of the library [lib] if they are required for
+  /// reflection.
+  void _enqueueReflectiveElementsInLibrary(
+      Enqueuer enqueuer, LibraryElement lib, Iterable<ClassElement> recents) {
+    bool includeLibrary =
+        _shouldIncludeElementDueToMirrors(lib, includedEnclosing: false);
+    lib.forEachLocalMember((Element member) {
+      if (member.isInjected) return;
+      if (member.isClass) {
+        _enqueueReflectiveElementsInClass(enqueuer, member, recents,
+            enclosingWasIncluded: includeLibrary);
+      } else {
+        _enqueueReflectiveMember(enqueuer, member, includeLibrary);
+      }
+    });
+  }
+
+  /// Enqueue all elements that are matched by the mirrors used
+  /// annotation or, in lack thereof, all elements.
+  // TODO(johnniwinther): Compute [WorldImpact] instead of enqueuing directly.
+  void enqueueReflectiveElements(
+      Enqueuer enqueuer,
+      Iterable<ClassElement> recents,
+      Iterable<LibraryElement> loadedLibraries) {
+    if (!hasEnqueuedReflectiveElements) {
+      _logEnqueueReflectiveAction("!START enqueueAll");
+      // First round of enqueuing, visit everything that is visible to
+      // also pick up static top levels, etc.
+      // Also, during the first round, consider all classes that have been seen
+      // as recently seen, as we do not know how many rounds of resolution might
+      // have run before tree shaking is disabled and thus everything is
+      // enqueued.
+      recents = enqueuer.processedClasses.toSet();
+      _reporter.log('Enqueuing everything');
+      for (LibraryElement lib in loadedLibraries) {
+        _enqueueReflectiveElementsInLibrary(enqueuer, lib, recents);
+      }
+      _enqueueReflectiveSpecialClasses(enqueuer);
+      hasEnqueuedReflectiveElements = true;
+      hasEnqueuedReflectiveStaticFields = true;
+      _logEnqueueReflectiveAction("!DONE enqueueAll");
+    } else if (recents.isNotEmpty) {
+      // Keep looking at new classes until fixpoint is reached.
+      _logEnqueueReflectiveAction("!START enqueueRecents");
+      recents.forEach((ClassElement cls) {
+        _enqueueReflectiveElementsInClass(enqueuer, cls, recents,
+            enclosingWasIncluded: _shouldIncludeElementDueToMirrors(cls.library,
+                includedEnclosing: false));
+      });
+      _logEnqueueReflectiveAction("!DONE enqueueRecents");
+    }
+  }
+
+  /// Enqueue the static fields that have been marked as used by reflective
+  /// usage through `MirrorsUsed`.
+  // TODO(johnniwinther): Compute [WorldImpact] instead of enqueuing directly.
+  void enqueueReflectiveStaticFields(
+      Enqueuer enqueuer, Iterable<Element> elements) {
+    if (hasEnqueuedReflectiveStaticFields) return;
+    hasEnqueuedReflectiveStaticFields = true;
+    for (Element element in elements) {
+      _enqueueReflectiveMember(enqueuer, element, true);
+    }
+  }
+}
diff --git a/pkg/compiler/lib/src/js_backend/no_such_method_registry.dart b/pkg/compiler/lib/src/js_backend/no_such_method_registry.dart
index 1b88780..9956a18 100644
--- a/pkg/compiler/lib/src/js_backend/no_such_method_registry.dart
+++ b/pkg/compiler/lib/src/js_backend/no_such_method_registry.dart
@@ -124,7 +124,7 @@
   }
 
   _subcategorizeOther(FunctionElement element) {
-    if (_compiler.globalInference.results.throwsAlways(element)) {
+    if (_compiler.globalInference.results.resultOf(element).throwsAlways) {
       complexNoReturnImpls.add(element);
     } else {
       complexReturningImpls.add(element);
diff --git a/pkg/compiler/lib/src/js_backend/runtime_types.dart b/pkg/compiler/lib/src/js_backend/runtime_types.dart
index d3adc4b..23740b3 100644
--- a/pkg/compiler/lib/src/js_backend/runtime_types.dart
+++ b/pkg/compiler/lib/src/js_backend/runtime_types.dart
@@ -181,7 +181,7 @@
         InterfaceType interface = type;
         do {
           for (DartType argument in interface.typeArguments) {
-            universe.registerIsCheck(argument, compiler);
+            universe.registerIsCheck(argument, compiler.resolution);
           }
           interface = interface.element.supertype;
         } while (interface != null && !instantiatedTypes.contains(interface));
@@ -204,7 +204,7 @@
             InterfaceType instance = current.asInstanceOf(cls);
             if (instance == null) break;
             for (DartType argument in instance.typeArguments) {
-              universe.registerIsCheck(argument, compiler);
+              universe.registerIsCheck(argument, compiler.resolution);
             }
             current = current.element.supertype;
           } while (current != null && !instantiatedTypes.contains(current));
diff --git a/pkg/compiler/lib/src/js_backend/type_variable_handler.dart b/pkg/compiler/lib/src/js_backend/type_variable_handler.dart
index 595da95..97c6011 100644
--- a/pkg/compiler/lib/src/js_backend/type_variable_handler.dart
+++ b/pkg/compiler/lib/src/js_backend/type_variable_handler.dart
@@ -64,13 +64,12 @@
     return impactBuilder.flush();
   }
 
-  void registerClassWithTypeVariables(
-      ClassElement cls, Enqueuer enqueuer, Registry registry) {
+  void registerClassWithTypeVariables(ClassElement cls, Enqueuer enqueuer) {
     if (enqueuer.isResolutionQueue) {
       // On first encounter, we have to ensure that the support classes get
       // resolved.
       if (!_seenClassesWithTypeVariables) {
-        _backend.enqueueClass(enqueuer, _typeVariableClass, registry);
+        _backend.enqueueClass(enqueuer, _typeVariableClass);
         _typeVariableClass.ensureResolved(_compiler.resolution);
         Link constructors = _typeVariableClass.constructors;
         if (constructors.isEmpty && constructors.tail.isEmpty) {
@@ -78,9 +77,8 @@
               "Class '$_typeVariableClass' should only have one constructor");
         }
         _typeVariableConstructor = _typeVariableClass.constructors.head;
-        _backend.enqueueInResolution(_typeVariableConstructor, registry);
-        _backend.registerInstantiatedType(
-            _typeVariableClass.rawType, enqueuer, registry);
+        _backend.enqueue(enqueuer, _typeVariableConstructor);
+        enqueuer.registerInstantiatedType(_typeVariableClass.rawType);
         enqueuer.registerStaticUse(new StaticUse.staticInvoke(
             _backend.registerBackendUse(_backend.helpers.createRuntimeType),
             CallStructure.ONE_ARG));
diff --git a/pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart b/pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart
index 06f8203..a5e7b4c 100644
--- a/pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart
@@ -1152,7 +1152,7 @@
         .add(new jsAst.FunctionDeclaration(constructorName, constructorAst));
 
     String fieldNamesProperty = FIELD_NAMES_PROPERTY_NAME;
-    bool hasIsolateSupport = compiler.hasIsolateSupport;
+    bool hasIsolateSupport = compiler.resolverWorld.hasIsolateSupport;
     jsAst.Node fieldNamesArray;
     if (hasIsolateSupport) {
       fieldNamesArray =
diff --git a/pkg/compiler/lib/src/js_emitter/full_emitter/interceptor_emitter.dart b/pkg/compiler/lib/src/js_emitter/full_emitter/interceptor_emitter.dart
index 51f06f8..0da9ca3 100644
--- a/pkg/compiler/lib/src/js_emitter/full_emitter/interceptor_emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/full_emitter/interceptor_emitter.dart
@@ -76,7 +76,7 @@
     // We could also generate the list of intercepted names at
     // runtime, by running through the subclasses of Interceptor
     // (which can easily be identified).
-    if (!compiler.enabledInvokeOn) return null;
+    if (!backend.hasInvokeOnSupport) return null;
 
     Iterable<jsAst.Name> invocationNames = interceptorInvocationNames.toList()
       ..sort();
diff --git a/pkg/compiler/lib/src/js_emitter/full_emitter/setup_program_builder.dart b/pkg/compiler/lib/src/js_emitter/full_emitter/setup_program_builder.dart
index 56b1e29..feaee8e 100644
--- a/pkg/compiler/lib/src/js_emitter/full_emitter/setup_program_builder.dart
+++ b/pkg/compiler/lib/src/js_emitter/full_emitter/setup_program_builder.dart
@@ -103,7 +103,7 @@
     'staticsPropertyNameString': js.quoteName(namer.staticsPropertyName),
     'typeInformation': typeInformationAccess,
     'globalFunctions': globalFunctionsAccess,
-    'enabledInvokeOn': compiler.enabledInvokeOn,
+    'enabledInvokeOn': backend.hasInvokeOnSupport,
     'interceptedNames': interceptedNamesAccess,
     'interceptedNamesSet': emitter.generateInterceptedNamesSet(),
     'notInCspMode': !compiler.options.useContentSecurityPolicy,
@@ -138,7 +138,7 @@
         js.quoteName(namer.runtimeTypeName(compiler.coreClasses.objectClass)),
     'needsStructuredMemberInfo': emitter.needsStructuredMemberInfo,
     'usesMangledNames': compiler.commonElements.mirrorsLibrary != null ||
-        compiler.enabledFunctionApply,
+        compiler.hasFunctionApplySupport,
     'tearOffCode': buildTearOffCode(backend),
     'nativeInfoHandler': nativeInfoHandler,
     'operatorIsPrefix': js.string(namer.operatorIsPrefix),
diff --git a/pkg/compiler/lib/src/js_emitter/main_call_stub_generator.dart b/pkg/compiler/lib/src/js_emitter/main_call_stub_generator.dart
index b38e403..55824e8 100644
--- a/pkg/compiler/lib/src/js_emitter/main_call_stub_generator.dart
+++ b/pkg/compiler/lib/src/js_emitter/main_call_stub_generator.dart
@@ -28,7 +28,7 @@
   jsAst.Statement generateInvokeMain() {
     Element main = compiler.mainFunction;
     jsAst.Expression mainCallClosure = null;
-    if (compiler.hasIsolateSupport) {
+    if (compiler.resolverWorld.hasIsolateSupport) {
       Element isolateMain =
           helpers.isolateHelperLibrary.find(BackendHelpers.START_ROOT_ISOLATE);
       mainCallClosure = _buildIsolateSetupClosure(main, isolateMain);
diff --git a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
index 9c2971b..3fac271 100644
--- a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
+++ b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
@@ -675,7 +675,7 @@
   }
 
   bool _methodCanBeApplied(FunctionElement method) {
-    return _compiler.enabledFunctionApply &&
+    return _compiler.hasFunctionApplySupport &&
         _compiler.closedWorld.getMightBePassedToApply(method);
   }
 
diff --git a/pkg/compiler/lib/src/kernel/kernel.dart b/pkg/compiler/lib/src/kernel/kernel.dart
index 53ca782..a4da817 100644
--- a/pkg/compiler/lib/src/kernel/kernel.dart
+++ b/pkg/compiler/lib/src/kernel/kernel.dart
@@ -207,9 +207,13 @@
           if (member.enclosingClass.declaration != cls) {
             // TODO(het): figure out why impact_test triggers this
             //internalError(cls, "`$member` isn't mine.");
-          } else if (member.isFunction ||
-              member.isAccessor ||
-              member.isConstructor) {
+          } else if (member.isConstructor) {
+            ConstructorElement constructor = member;
+            ir.Member memberNode = functionToIr(member);
+            if (!constructor.isRedirectingFactory) {
+              classNode.addMember(memberNode);
+            }
+          } else if (member.isFunction || member.isAccessor) {
             classNode.addMember(functionToIr(member));
           } else if (member.isField) {
             classNode.addMember(fieldToIr(member));
@@ -220,7 +224,9 @@
         classNode.typeParameters.addAll(typeVariablesToIr(cls.typeVariables));
         for (ir.InterfaceType interface
             in typesToIr(cls.interfaces.reverse().toList())) {
-          classNode.implementedTypes.add(interface);
+          if (interface != classNode.mixedInType) {
+            classNode.implementedTypes.add(interface);
+          }
         }
         addWork(cls, () {
           addDefaultInstanceFieldInitializers(classNode);
diff --git a/pkg/compiler/lib/src/kernel/kernel_debug.dart b/pkg/compiler/lib/src/kernel/kernel_debug.dart
index d723354..261aa09 100644
--- a/pkg/compiler/lib/src/kernel/kernel_debug.dart
+++ b/pkg/compiler/lib/src/kernel/kernel_debug.dart
@@ -6,7 +6,7 @@
 
 library kernel.debug;
 
-import 'package:kernel/kernel.dart';
+import 'package:kernel/ast.dart';
 import 'package:kernel/visitor.dart';
 
 import '../util/util.dart' show Indentation, Tagging;
diff --git a/pkg/compiler/lib/src/kernel/kernel_visitor.dart b/pkg/compiler/lib/src/kernel/kernel_visitor.dart
index e6ed1e4..39a1a8d 100644
--- a/pkg/compiler/lib/src/kernel/kernel_visitor.dart
+++ b/pkg/compiler/lib/src/kernel/kernel_visitor.dart
@@ -1158,13 +1158,8 @@
 
   ir.Expression buildConstructorInvoke(NewExpression node, {bool isConst}) {
     ConstructorElement constructor = elements[node.send];
-    ConstructorTarget target;
-    if (isConst) {
-      target =
-          kernel.computeEffectiveTarget(constructor, elements.getType(node));
-    } else {
-      target = new ConstructorTarget(constructor, elements.getType(node));
-    }
+    ConstructorTarget target =
+        kernel.computeEffectiveTarget(constructor, elements.getType(node));
     NodeList arguments = node.send.argumentsNode;
     if (kernel.isSyntheticError(target.element)) {
       return new ir.MethodInvocation(new ir.InvalidExpression(),
diff --git a/pkg/compiler/lib/src/native/enqueue.dart b/pkg/compiler/lib/src/native/enqueue.dart
index 7c3f125..44d3be3 100644
--- a/pkg/compiler/lib/src/native/enqueue.dart
+++ b/pkg/compiler/lib/src/native/enqueue.dart
@@ -21,18 +21,25 @@
 import '../tokens/token.dart' show BeginGroupToken, Token;
 import '../tokens/token_constants.dart' as Tokens show EOF_TOKEN;
 import '../tree/tree.dart';
+import '../universe/use.dart' show StaticUse, TypeUse;
+import '../universe/world_impact.dart' show WorldImpactBuilder;
 import 'behavior.dart';
 
 /**
  * This could be an abstract class but we use it as a stub for the dart_backend.
  */
 class NativeEnqueuer {
+  /// Called when a [type] has been instantiated natively.
+  void onInstantiatedType(InterfaceType type) {}
+
   /// Initial entry point to native enqueuer.
-  void processNativeClasses(Iterable<LibraryElement> libraries) {}
+  void processNativeClasses(
+      WorldImpactBuilder impactBuilder, Iterable<LibraryElement> libraries) {}
 
   /// Registers the [nativeBehavior]. Adds the liveness of its instantiated
   /// types to the world.
-  void registerNativeBehavior(NativeBehavior nativeBehavior, cause) {}
+  void registerNativeBehavior(
+      WorldImpactBuilder impactBuilder, NativeBehavior nativeBehavior, cause) {}
 
   // TODO(johnniwinther): Move [handleFieldAnnotations] and
   // [handleMethodAnnotations] to [JavaScriptBackend] or [NativeData].
@@ -86,12 +93,6 @@
    */
   final Set matchedTypeConstraints = new Set();
 
-  /// Pending actions.  Classes in [pendingClasses] have action thunks in
-  /// [queue] to register the class.
-  final queue = new Queue();
-  bool flushing = false;
-
-  final Enqueuer world;
   final Compiler compiler;
   final bool enableLiveTypeAnalysis;
 
@@ -100,7 +101,7 @@
   ClassElement _annotationJsNameClass;
 
   /// Subclasses of [NativeEnqueuerBase] are constructed by the backend.
-  NativeEnqueuerBase(this.world, Compiler compiler, this.enableLiveTypeAnalysis)
+  NativeEnqueuerBase(Compiler compiler, this.enableLiveTypeAnalysis)
       : this.compiler = compiler,
         processedLibraries = compiler.cacheStrategy.newSet();
 
@@ -111,7 +112,14 @@
   DiagnosticReporter get reporter => compiler.reporter;
   CoreTypes get coreTypes => compiler.coreTypes;
 
-  void processNativeClasses(Iterable<LibraryElement> libraries) {
+  void onInstantiatedType(InterfaceType type) {
+    if (unusedClasses.remove(type.element)) {
+      registeredClasses.add(type.element);
+    }
+  }
+
+  void processNativeClasses(
+      WorldImpactBuilder impactBuilder, Iterable<LibraryElement> libraries) {
     if (compiler.options.hasIncrementalSupport) {
       // Since [Set.add] returns bool if an element was added, this restricts
       // [libraries] to ones that haven't already been processed. This saves
@@ -124,8 +132,7 @@
     }
     processSubclassesOfNativeClasses(libraries);
     if (!enableLiveTypeAnalysis) {
-      nativeClasses.forEach((c) => enqueueClass(c, 'forced'));
-      flushQueue();
+      _registerTypeUses(impactBuilder, nativeClasses, 'forced');
     }
   }
 
@@ -333,40 +340,19 @@
     return name;
   }
 
-  enqueueClass(ClassElement classElement, cause) {
-    assert(unusedClasses.contains(classElement));
-    unusedClasses.remove(classElement);
-    pendingClasses.add(classElement);
-    queue.add(() {
-      processClass(classElement, cause);
-    });
-  }
-
-  void flushQueue() {
-    if (flushing) return;
-    flushing = true;
-    while (!queue.isEmpty) {
-      (queue.removeFirst())();
-    }
-    flushing = false;
-  }
-
-  processClass(ClassElement classElement, cause) {
-    // TODO(ahe): Fix this assertion to work in incremental compilation.
-    assert(compiler.options.hasIncrementalSupport ||
-        !registeredClasses.contains(classElement));
-
-    bool firstTime = registeredClasses.isEmpty;
-    pendingClasses.remove(classElement);
-    registeredClasses.add(classElement);
-
-    // TODO(ahe): Is this really a global dependency?
-    classElement.ensureResolved(resolution);
-    compiler.backend.registerInstantiatedType(
-        classElement.rawType, world, compiler.globalDependencies);
-
-    if (firstTime) {
-      queue.add(onFirstNativeClass);
+  /// Register [classes] as natively instantiated in [impactBuilder].
+  void _registerTypeUses(
+      WorldImpactBuilder impactBuilder, Set<ClassElement> classes, cause) {
+    for (ClassElement cls in classes) {
+      if (!unusedClasses.contains(cls)) {
+        // No need to add [classElement] to [impactBuilder]: it has already been
+        // instantiated and we don't track origins of native instantiations
+        // precisely.
+        continue;
+      }
+      cls.ensureResolved(resolution);
+      impactBuilder
+          .registerTypeUse(new TypeUse.nativeInstantiation(cls.rawType));
     }
   }
 
@@ -449,43 +435,45 @@
     });
   }
 
-  void registerNativeBehavior(NativeBehavior nativeBehavior, cause) {
-    processNativeBehavior(nativeBehavior, cause);
-    flushQueue();
+  void registerNativeBehavior(
+      WorldImpactBuilder impactBuilder, NativeBehavior nativeBehavior, cause) {
+    _processNativeBehavior(impactBuilder, nativeBehavior, cause);
   }
 
-  processNativeBehavior(NativeBehavior behavior, cause) {
-    // TODO(ahe): Is this really a global dependency?
-    Registry registry = compiler.globalDependencies;
-    bool allUsedBefore = unusedClasses.isEmpty;
+  void _processNativeBehavior(
+      WorldImpactBuilder impactBuilder, NativeBehavior behavior, cause) {
+    void registerInstantiation(InterfaceType type) {
+      impactBuilder.registerTypeUse(new TypeUse.nativeInstantiation(type));
+    }
+
+    int unusedBefore = unusedClasses.length;
+    Set<ClassElement> matchingClasses = new Set<ClassElement>();
     for (var type in behavior.typesInstantiated) {
       if (matchedTypeConstraints.contains(type)) continue;
       matchedTypeConstraints.add(type);
       if (type is SpecialType) {
         if (type == SpecialType.JsObject) {
-          backend.registerInstantiatedType(
-              compiler.coreTypes.objectType, world, registry);
+          registerInstantiation(compiler.coreTypes.objectType);
         }
         continue;
       }
       if (type is InterfaceType) {
         if (type == coreTypes.intType) {
-          backend.registerInstantiatedType(type, world, registry);
+          registerInstantiation(type);
         } else if (type == coreTypes.doubleType) {
-          backend.registerInstantiatedType(type, world, registry);
+          registerInstantiation(type);
         } else if (type == coreTypes.numType) {
-          backend.registerInstantiatedType(
-              coreTypes.doubleType, world, registry);
-          backend.registerInstantiatedType(coreTypes.intType, world, registry);
+          registerInstantiation(coreTypes.doubleType);
+          registerInstantiation(coreTypes.intType);
         } else if (type == coreTypes.stringType) {
-          backend.registerInstantiatedType(type, world, registry);
+          registerInstantiation(type);
         } else if (type == coreTypes.nullType) {
-          backend.registerInstantiatedType(type, world, registry);
+          registerInstantiation(type);
         } else if (type == coreTypes.boolType) {
-          backend.registerInstantiatedType(type, world, registry);
+          registerInstantiation(type);
         } else if (compiler.types.isSubtype(
             type, backend.backendClasses.listImplementation.rawType)) {
-          backend.registerInstantiatedType(type, world, registry);
+          registerInstantiation(type);
         }
         // TODO(johnniwinther): Improve spec string precision to handle type
         // arguments and implements relations that preserve generics. Currently
@@ -494,60 +482,66 @@
         // any native subclasses of generic classes.
         // TODO(johnniwinther,sra): Find and replace uses of `List` with the
         // actual implementation classes such as `JSArray` et al.
-        enqueueUnusedClassesMatching((ClassElement nativeClass) {
+        matchingClasses
+            .addAll(_findUnusedClassesMatching((ClassElement nativeClass) {
           InterfaceType nativeType = nativeClass.thisType;
           InterfaceType specType = type.element.thisType;
           return compiler.types.isSubtype(nativeType, specType);
-        }, cause, 'subtypeof($type)');
+        }));
       } else if (type.isDynamic) {
-        enqueueUnusedClassesMatching((_) => true, cause, 'subtypeof($type)');
+        matchingClasses.addAll(unusedClasses);
       } else {
         assert(type is VoidType);
       }
     }
+    if (matchingClasses.isNotEmpty && registeredClasses.isEmpty) {
+      matchingClasses.addAll(_onFirstNativeClass(impactBuilder));
+    }
+    _registerTypeUses(impactBuilder, matchingClasses, cause);
 
     // Give an info so that library developers can compile with -v to find why
     // all the native classes are included.
-    if (unusedClasses.isEmpty && !allUsedBefore) {
+    if (unusedBefore == matchingClasses.length) {
       reporter.log('All native types marked as used due to $cause.');
     }
   }
 
-  enqueueUnusedClassesMatching(bool predicate(classElement), cause,
-      [String reason]) {
-    Iterable matches = unusedClasses.where(predicate);
-    matches.toList().forEach((c) => enqueueClass(c, cause));
+  Iterable<ClassElement> _findUnusedClassesMatching(
+      bool predicate(classElement)) {
+    return unusedClasses.where(predicate);
   }
 
-  onFirstNativeClass() {
-    staticUse(name) {
-      backend.enqueue(
-          world, helpers.findHelper(name), compiler.globalDependencies);
+  Iterable<ClassElement> _onFirstNativeClass(WorldImpactBuilder impactBuilder) {
+    void staticUse(name) {
+      Element element = helpers.findHelper(name);
+      impactBuilder.registerStaticUse(new StaticUse.foreignUse(element));
+      backend.registerBackendUse(element);
+      compiler.globalDependencies.registerDependency(element);
     }
 
     staticUse('defineProperty');
     staticUse('toStringForNativeObject');
     staticUse('hashCodeForNativeObject');
     staticUse('convertDartClosureToJS');
-    addNativeExceptions();
+    return _findNativeExceptions();
   }
 
-  addNativeExceptions() {
-    enqueueUnusedClassesMatching((classElement) {
+  Iterable<ClassElement> _findNativeExceptions() {
+    return _findUnusedClassesMatching((classElement) {
       // TODO(sra): Annotate exception classes in dart:html.
       String name = classElement.name;
       if (name.contains('Exception')) return true;
       if (name.contains('Error')) return true;
       return false;
-    }, 'native exception');
+    });
   }
 }
 
 class NativeResolutionEnqueuer extends NativeEnqueuerBase {
   Map<String, ClassElement> tagOwner = new Map<String, ClassElement>();
 
-  NativeResolutionEnqueuer(Enqueuer world, Compiler compiler)
-      : super(world, compiler, compiler.options.enableNativeLiveTypeAnalysis);
+  NativeResolutionEnqueuer(Compiler compiler)
+      : super(compiler, compiler.options.enableNativeLiveTypeAnalysis);
 
   void processNativeClass(ClassElement classElement) {
     super.processNativeClass(classElement);
@@ -623,37 +617,46 @@
 
   final Set<ClassElement> doneAddSubtypes = new Set<ClassElement>();
 
-  NativeCodegenEnqueuer(Enqueuer world, Compiler compiler, this.emitter)
-      : super(world, compiler, compiler.options.enableNativeLiveTypeAnalysis);
+  NativeCodegenEnqueuer(Compiler compiler, this.emitter)
+      : super(compiler, compiler.options.enableNativeLiveTypeAnalysis);
 
-  void processNativeClasses(Iterable<LibraryElement> libraries) {
-    super.processNativeClasses(libraries);
+  void processNativeClasses(
+      WorldImpactBuilder impactBuilder, Iterable<LibraryElement> libraries) {
+    super.processNativeClasses(impactBuilder, libraries);
 
     // HACK HACK - add all the resolved classes.
     NativeEnqueuerBase enqueuer = compiler.enqueuer.resolution.nativeEnqueuer;
+    Set<ClassElement> matchingClasses = new Set<ClassElement>();
     for (final classElement in enqueuer.registeredClasses) {
       if (unusedClasses.contains(classElement)) {
-        enqueueClass(classElement, 'was resolved');
+        matchingClasses.add(classElement);
       }
     }
-    flushQueue();
+    if (matchingClasses.isNotEmpty && registeredClasses.isEmpty) {
+      matchingClasses.addAll(_onFirstNativeClass(impactBuilder));
+    }
+    _registerTypeUses(impactBuilder, matchingClasses, 'was resolved');
   }
 
-  processClass(ClassElement classElement, cause) {
-    super.processClass(classElement, cause);
-    // Add the information that this class is a subtype of its supertypes.  The
-    // code emitter and the ssa builder use that information.
-    addSubtypes(classElement, emitter.nativeEmitter);
+  void _registerTypeUses(
+      WorldImpactBuilder impactBuilder, Set<ClassElement> classes, cause) {
+    super._registerTypeUses(impactBuilder, classes, cause);
+
+    for (ClassElement classElement in classes) {
+      // Add the information that this class is a subtype of its supertypes. The
+      // code emitter and the ssa builder use that information.
+      _addSubtypes(classElement, emitter.nativeEmitter);
+    }
   }
 
-  void addSubtypes(ClassElement cls, NativeEmitter emitter) {
+  void _addSubtypes(ClassElement cls, NativeEmitter emitter) {
     if (!backend.isNative(cls)) return;
     if (doneAddSubtypes.contains(cls)) return;
     doneAddSubtypes.add(cls);
 
     // Walk the superclass chain since classes on the superclass chain might not
     // be instantiated (abstract or simply unused).
-    addSubtypes(cls.superclass, emitter);
+    _addSubtypes(cls.superclass, emitter);
 
     for (DartType type in cls.allSupertypes) {
       List<Element> subtypes =
diff --git a/pkg/compiler/lib/src/resolution/tree_elements.dart b/pkg/compiler/lib/src/resolution/tree_elements.dart
index bae0857..fd0080f 100644
--- a/pkg/compiler/lib/src/resolution/tree_elements.dart
+++ b/pkg/compiler/lib/src/resolution/tree_elements.dart
@@ -10,7 +10,6 @@
 import '../diagnostics/source_span.dart';
 import '../elements/elements.dart';
 import '../tree/tree.dart';
-import '../types/types.dart' show TypeMask;
 import '../universe/selector.dart' show Selector;
 import '../util/util.dart';
 import 'secret_tree_element.dart' show getTreeElement, setTreeElement;
@@ -36,21 +35,9 @@
   Selector getGetterSelectorInComplexSendSet(SendSet node);
   Selector getOperatorSelectorInComplexSendSet(SendSet node);
   DartType getType(Node node);
-  TypeMask getTypeMask(Node node);
-  TypeMask getGetterTypeMaskInComplexSendSet(SendSet node);
-  TypeMask getOperatorTypeMaskInComplexSendSet(SendSet node);
-  void setTypeMask(Node node, TypeMask mask);
-  void setGetterTypeMaskInComplexSendSet(SendSet node, TypeMask mask);
-  void setOperatorTypeMaskInComplexSendSet(SendSet node, TypeMask mask);
 
   /// Returns the for-in loop variable for [node].
   Element getForInVariable(ForIn node);
-  TypeMask getIteratorTypeMask(ForIn node);
-  TypeMask getMoveNextTypeMask(ForIn node);
-  TypeMask getCurrentTypeMask(ForIn node);
-  void setIteratorTypeMask(ForIn node, TypeMask mask);
-  void setMoveNextTypeMask(ForIn node, TypeMask mask);
-  void setCurrentTypeMask(ForIn node, TypeMask mask);
   void setConstant(Node node, ConstantExpression constant);
   ConstantExpression getConstant(Node node);
 
@@ -107,7 +94,6 @@
 class TreeElementMapping extends TreeElements {
   final AnalyzableElement analyzedElement;
   Map<Spannable, Selector> _selectors;
-  Map<Spannable, TypeMask> _typeMasks;
   Map<Node, DartType> _types;
 
   Map<Node, DartType> _typesCache;
@@ -442,79 +428,6 @@
     return _targetLabels != null ? _targetLabels[node] : null;
   }
 
-  TypeMask _getTypeMask(Spannable node) {
-    return _typeMasks != null ? _typeMasks[node] : null;
-  }
-
-  void _setTypeMask(Spannable node, TypeMask mask) {
-    if (_typeMasks == null) {
-      _typeMasks = new Maplet<Spannable, TypeMask>();
-    }
-    _typeMasks[node] = mask;
-  }
-
-  @override
-  void setTypeMask(Node node, TypeMask mask) {
-    _setTypeMask(node, mask);
-  }
-
-  @override
-  TypeMask getTypeMask(Node node) => _getTypeMask(node);
-
-  @override
-  void setGetterTypeMaskInComplexSendSet(SendSet node, TypeMask mask) {
-    _setTypeMask(node.selector, mask);
-  }
-
-  @override
-  TypeMask getGetterTypeMaskInComplexSendSet(SendSet node) {
-    return _getTypeMask(node.selector);
-  }
-
-  @override
-  void setOperatorTypeMaskInComplexSendSet(SendSet node, TypeMask mask) {
-    _setTypeMask(node.assignmentOperator, mask);
-  }
-
-  @override
-  TypeMask getOperatorTypeMaskInComplexSendSet(SendSet node) {
-    return _getTypeMask(node.assignmentOperator);
-  }
-
-  // The following methods set selectors on the "for in" node. Since
-  // we're using three selectors, we need to use children of the node,
-  // and we arbitrarily choose which ones.
-
-  @override
-  void setIteratorTypeMask(ForIn node, TypeMask mask) {
-    _setTypeMask(node, mask);
-  }
-
-  @override
-  TypeMask getIteratorTypeMask(ForIn node) {
-    return _getTypeMask(node);
-  }
-
-  @override
-  void setMoveNextTypeMask(ForIn node, TypeMask mask) {
-    _setTypeMask(node.forToken, mask);
-  }
-
-  @override
-  TypeMask getMoveNextTypeMask(ForIn node) {
-    return _getTypeMask(node.forToken);
-  }
-
-  @override
-  void setCurrentTypeMask(ForIn node, TypeMask mask) {
-    _setTypeMask(node.inToken, mask);
-  }
-
-  @override
-  TypeMask getCurrentTypeMask(ForIn node) {
-    return _getTypeMask(node.inToken);
-  }
-
   void registerNativeData(Node node, dynamic nativeData) {
     if (_nativeData == null) {
       _nativeData = <Node, dynamic>{};
diff --git a/pkg/compiler/lib/src/ssa/builder.dart b/pkg/compiler/lib/src/ssa/builder.dart
index f2def5c..abf9afa 100644
--- a/pkg/compiler/lib/src/ssa/builder.dart
+++ b/pkg/compiler/lib/src/ssa/builder.dart
@@ -142,7 +142,16 @@
   // used only for codegen, but currently we want to experiment using it for
   // code-analysis too.
   final CodegenRegistry registry;
+
+  /// All results from the global type-inference analysis.
   final GlobalTypeInferenceResults inferenceResults;
+
+  /// Results from the global type-inference analysis corresponding to the
+  /// current element being visited.
+  ///
+  /// Invariant: this property is updated together with [resolvedAst].
+  GlobalTypeInferenceElementResult elementInferenceResults;
+
   final JavaScriptBackend backend;
   final ConstantSystem constantSystem;
   final RuntimeTypes rti;
@@ -194,6 +203,8 @@
         this.inferenceResults = backend.compiler.globalInference.results {
     assert(target.isImplementation);
     compiler = backend.compiler;
+    elementInferenceResults = _resultOf(target);
+    assert(elementInferenceResults != null);
     graph.element = target;
     sourceElementStack.add(target);
     sourceInformationBuilder =
@@ -235,6 +246,17 @@
   // implementation/declaration distinction.
   Element get sourceElement => sourceElementStack.last;
 
+  /// Helper to retrieve global inference results for [element] with special
+  /// care for `ConstructorBodyElement`s which don't exist at the time the
+  /// global analysis run.
+  ///
+  /// Note: this helper is used selectively. When we know that we are in a
+  /// context were we don't expect to see a constructor body element, we
+  /// directly fetch the data from the global inference results.
+  GlobalTypeInferenceElementResult _resultOf(AstElement element) =>
+      inferenceResults.resultOf(
+          element is ConstructorBodyElementX ? element.constructor : element);
+
   bool get _checkOrTrustTypes =>
       compiler.options.enableTypeAssertions ||
       compiler.options.trustTypeAnnotations;
@@ -378,7 +400,7 @@
     // TODO(johnniwinther): Register this on the [registry]. Currently the
     // [CodegenRegistry] calls the enqueuer, but [element] should _not_ be
     // enqueued.
-    backend.registerStaticUse(element, forResolution: false);
+    backend.registerStaticUse(compiler.enqueuer.codegen, element);
 
     if (backend.isJsInterop(element) && !element.isFactoryConstructor) {
       // We only inline factory JavaScript interop constructors.
@@ -437,7 +459,7 @@
       // A generative constructor body is not seen by global analysis,
       // so we should not query for its type.
       if (!element.isGenerativeConstructorBody) {
-        if (inferenceResults.throwsAlways(element)) {
+        if (inferenceResults.resultOf(element).throwsAlways) {
           isReachable = false;
           return false;
         }
@@ -569,12 +591,10 @@
     return inliningStack.isEmpty || inliningStack.last.allFunctionsCalledOnce;
   }
 
-  bool isFunctionCalledOnce(Element element) {
-    if (element is ConstructorBodyElement) {
-      // ConstructorBodyElements are not in the type inference graph.
-      return false;
-    }
-    return inferenceResults.isCalledOnce(element);
+  bool isFunctionCalledOnce(element) {
+    // ConstructorBodyElements are not in the type inference graph.
+    if (element is ConstructorBodyElement) return false;
+    return inferenceResults.resultOf(element).isCalledOnce;
   }
 
   bool isCalledOnce(Element element) {
@@ -869,6 +889,7 @@
     returnLocal = state.oldReturnLocal;
     inTryStatement = state.inTryStatement;
     resolvedAst = state.oldResolvedAst;
+    elementInferenceResults = state.oldElementInferenceResults;
     returnType = state.oldReturnType;
     assert(stack.isEmpty);
     stack = state.oldStack;
@@ -1001,6 +1022,8 @@
       // Build the initializers in the context of the new constructor.
       ResolvedAst oldResolvedAst = resolvedAst;
       resolvedAst = callee.resolvedAst;
+      final oldElementInferenceResults = elementInferenceResults;
+      elementInferenceResults = inferenceResults.resultOf(callee);
       ClosureClassMap oldClosureData = localsHandler.closureData;
       ClosureClassMap newClosureData =
           compiler.closureToClassMapper.getClosureToClassMapping(resolvedAst);
@@ -1011,6 +1034,7 @@
       buildInitializers(callee, constructorResolvedAsts, fieldValues);
       localsHandler.closureData = oldClosureData;
       resolvedAst = oldResolvedAst;
+      elementInferenceResults = oldElementInferenceResults;
     });
   }
 
@@ -1173,11 +1197,14 @@
           ast.Node right = initializer;
           ResolvedAst savedResolvedAst = resolvedAst;
           resolvedAst = fieldResolvedAst;
+          final oldElementInferenceResults = elementInferenceResults;
+          elementInferenceResults = inferenceResults.resultOf(member);
           // In case the field initializer uses closures, run the
           // closure to class mapper.
           compiler.closureToClassMapper.getClosureToClassMapping(resolvedAst);
           inlinedFrom(fieldResolvedAst, () => right.accept(this));
           resolvedAst = savedResolvedAst;
+          elementInferenceResults = oldElementInferenceResults;
           fieldValues[member] = pop();
         }
       });
@@ -2070,7 +2097,7 @@
     }
 
     pushInvokeDynamic(node, elements.getSelector(node),
-        inferenceResults.typeOfSend(node, elements), [operand],
+        elementInferenceResults.typeOfSend(node), [operand],
         sourceInformation: sourceInformationBuilder.buildGeneric(node));
   }
 
@@ -2101,7 +2128,7 @@
         visitAndPop(left),
         visitAndPop(right),
         elements.getSelector(node),
-        inferenceResults.typeOfSend(node, elements),
+        elementInferenceResults.typeOfSend(node),
         node,
         sourceInformation:
             sourceInformationBuilder.buildGeneric(node.selector));
@@ -2264,7 +2291,7 @@
   void generateDynamicGet(ast.Send node) {
     HInstruction receiver = generateInstanceSendReceiver(node);
     generateInstanceGetterWithCompiledReceiver(node, elements.getSelector(node),
-        inferenceResults.typeOfSend(node, elements), receiver);
+        elementInferenceResults.typeOfSend(node), receiver);
   }
 
   /// Generate a closurization of the static or top level [method].
@@ -2314,7 +2341,7 @@
           generateInstanceGetterWithCompiledReceiver(
               node,
               elements.getSelector(node),
-              inferenceResults.typeOfSend(node, elements),
+              elementInferenceResults.typeOfSend(node),
               expression);
         });
   }
@@ -2379,7 +2406,7 @@
     if (selector == null) {
       assert(send != null);
       selector = elements.getSelector(send);
-      mask ??= inferenceResults.typeOfSend(send, elements);
+      mask ??= elementInferenceResults.typeOfSend(send);
     }
     if (location == null) {
       assert(send != null);
@@ -2650,7 +2677,7 @@
 
   void _generateDynamicSend(ast.Send node, HInstruction receiver) {
     Selector selector = elements.getSelector(node);
-    TypeMask mask = inferenceResults.typeOfSend(node, elements);
+    TypeMask mask = elementInferenceResults.typeOfSend(node);
     SourceInformation sourceInformation =
         sourceInformationBuilder.buildCall(node, node.selector);
 
@@ -3134,7 +3161,7 @@
     if (!Selectors.noSuchMethod_.signatureApplies(element)) {
       element = coreClasses.objectClass.lookupMember(Identifiers.noSuchMethod_);
     }
-    if (compiler.enabledInvokeOn && !element.enclosingClass.isObject) {
+    if (backend.hasInvokeOnSupport && !element.enclosingClass.isObject) {
       // Register the call as dynamic if [noSuchMethod] on the super
       // class is _not_ the default implementation from [Object], in
       // case the [noSuchMethod] implementation calls
@@ -4430,7 +4457,7 @@
         receiver,
         rhs,
         elements.getOperatorSelectorInComplexSendSet(node),
-        inferenceResults.typeOfOperator(node, elements),
+        elementInferenceResults.typeOfOperator(node),
         node,
         sourceInformation:
             sourceInformationBuilder.buildGeneric(node.assignmentOperator));
@@ -4793,7 +4820,7 @@
       }
 
       pushInvokeDynamic(node, elements.getGetterSelectorInComplexSendSet(node),
-          inferenceResults.typeOfGetter(node, elements), [receiver, index]);
+          elementInferenceResults.typeOfGetter(node), [receiver, index]);
       HInstruction getterInstruction = pop();
       if (node.isIfNullAssignment) {
         // Compile x[i] ??= e as:
@@ -4808,7 +4835,7 @@
           pushInvokeDynamic(
               node,
               elements.getSelector(node),
-              inferenceResults.typeOfSend(node, elements),
+              elementInferenceResults.typeOfSend(node),
               [receiver, index, value]);
           pop();
           stack.add(value);
@@ -4816,11 +4843,8 @@
       } else {
         handleComplexOperatorSend(node, getterInstruction, arguments);
         HInstruction value = pop();
-        pushInvokeDynamic(
-            node,
-            elements.getSelector(node),
-            inferenceResults.typeOfSend(node, elements),
-            [receiver, index, value]);
+        pushInvokeDynamic(node, elements.getSelector(node),
+            elementInferenceResults.typeOfSend(node), [receiver, index, value]);
         pop();
         if (node.isPostfix) {
           stack.add(getterInstruction);
@@ -5024,7 +5048,7 @@
         generateInstanceGetterWithCompiledReceiver(
             node,
             elements.getGetterSelectorInComplexSendSet(node),
-            inferenceResults.typeOfGetter(node, elements),
+            elementInferenceResults.typeOfGetter(node),
             receiver);
         HInstruction getterInstruction = pop();
         if (node.isIfNullAssignment) {
@@ -5487,8 +5511,8 @@
   }
 
   _inferredTypeOfNewList(ast.Node node) =>
-      inferenceResults.typeOfNewList(sourceElement, node) ??
-      compiler.commonMasks.dynamicType;
+      _resultOf(sourceElement).typeOfNewList(node) ??
+      compiler.closedWorld.commonMasks.dynamicType;
 
   visitConditional(ast.Conditional node) {
     SsaBranchBuilder brancher = new SsaBranchBuilder(this, compiler, node);
@@ -5583,7 +5607,7 @@
 
     HInstruction buildCondition() {
       Selector selector = Selectors.moveNext;
-      TypeMask mask = inferenceResults.typeOfIteratorMoveNext(node, elements);
+      TypeMask mask = elementInferenceResults.typeOfIteratorMoveNext(node);
       pushInvokeDynamic(node, selector, mask, [streamIterator]);
       HInstruction future = pop();
       push(new HAwait(
@@ -5595,8 +5619,7 @@
 
     void buildBody() {
       Selector call = Selectors.current;
-      TypeMask callMask =
-          inferenceResults.typeOfIteratorCurrent(node, elements);
+      TypeMask callMask = elementInferenceResults.typeOfIteratorCurrent(node);
       pushInvokeDynamic(node, call, callMask, [streamIterator]);
 
       ast.Node identifier = node.declaredIdentifier;
@@ -5605,7 +5628,7 @@
       HInstruction value = pop();
       if (identifier.asSend() != null &&
           Elements.isInstanceSend(identifier, elements)) {
-        TypeMask mask = inferenceResults.typeOfSend(identifier, elements);
+        TypeMask mask = elementInferenceResults.typeOfSend(identifier);
         HInstruction receiver = generateInstanceSendReceiver(identifier);
         assert(receiver != null);
         generateInstanceSetterWithCompiledReceiver(null, receiver, value,
@@ -5644,7 +5667,7 @@
     // method is inlined.  We would require full scalar replacement in that
     // case.
 
-    TypeMask mask = inferenceResults.typeOfIterator(node, elements);
+    TypeMask mask = elementInferenceResults.typeOfIterator(node);
 
     ClosedWorld closedWorld = compiler.closedWorld;
     if (mask != null &&
@@ -5669,7 +5692,7 @@
 
     void buildInitializer() {
       Selector selector = Selectors.iterator;
-      TypeMask mask = inferenceResults.typeOfIterator(node, elements);
+      TypeMask mask = elementInferenceResults.typeOfIterator(node);
       visit(node.expression);
       HInstruction receiver = pop();
       pushInvokeDynamic(node, selector, mask, [receiver]);
@@ -5678,14 +5701,14 @@
 
     HInstruction buildCondition() {
       Selector selector = Selectors.moveNext;
-      TypeMask mask = inferenceResults.typeOfIteratorMoveNext(node, elements);
+      TypeMask mask = elementInferenceResults.typeOfIteratorMoveNext(node);
       pushInvokeDynamic(node, selector, mask, [iterator]);
       return popBoolified();
     }
 
     void buildBody() {
       Selector call = Selectors.current;
-      TypeMask mask = inferenceResults.typeOfIteratorCurrent(node, elements);
+      TypeMask mask = elementInferenceResults.typeOfIteratorCurrent(node);
       pushInvokeDynamic(node, call, mask, [iterator]);
       buildAssignLoopVariable(node, pop());
       visit(node.body);
@@ -5702,7 +5725,7 @@
 
     if (identifier.asSend() != null &&
         Elements.isInstanceSend(identifier, elements)) {
-      TypeMask mask = inferenceResults.typeOfSend(identifier, elements);
+      TypeMask mask = elementInferenceResults.typeOfSend(identifier);
       HInstruction receiver = generateInstanceSendReceiver(identifier);
       assert(receiver != null);
       generateInstanceSetterWithCompiledReceiver(null, receiver, value,
@@ -6641,8 +6664,10 @@
         stack,
         localsHandler,
         inTryStatement,
-        allInlinedFunctionsCalledOnce && isFunctionCalledOnce(function));
+        isCalledOnce(function),
+        elementInferenceResults);
     resolvedAst = functionResolvedAst;
+    elementInferenceResults = _resultOf(function);
     inliningStack.add(state);
 
     // Setting up the state of the (AST) builder is performed even when the
@@ -6963,6 +6988,7 @@
   final LocalsHandler oldLocalsHandler;
   final bool inTryStatement;
   final bool allFunctionsCalledOnce;
+  final GlobalTypeInferenceElementResult oldElementInferenceResults;
 
   AstInliningState(
       FunctionElement function,
@@ -6972,7 +6998,8 @@
       this.oldStack,
       this.oldLocalsHandler,
       this.inTryStatement,
-      this.allFunctionsCalledOnce)
+      this.allFunctionsCalledOnce,
+      this.oldElementInferenceResults)
       : super(function);
 }
 
diff --git a/pkg/compiler/lib/src/ssa/codegen.dart b/pkg/compiler/lib/src/ssa/codegen.dart
index 968f9e0..5248f91 100644
--- a/pkg/compiler/lib/src/ssa/codegen.dart
+++ b/pkg/compiler/lib/src/ssa/codegen.dart
@@ -1933,7 +1933,8 @@
   void registerForeignTypes(HForeign node) {
     native.NativeBehavior nativeBehavior = node.nativeBehavior;
     if (nativeBehavior == null) return;
-    nativeEnqueuer.registerNativeBehavior(nativeBehavior, node);
+    nativeEnqueuer.registerNativeBehavior(
+        registry.worldImpact, nativeBehavior, node);
   }
 
   visitForeignCode(HForeignCode node) {
diff --git a/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart b/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart
index ae86379..1ba818c 100644
--- a/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart
+++ b/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart
@@ -63,9 +63,11 @@
 
   Compiler get _compiler => _backend.compiler;
   TreeElements get elements => _resolvedAst.elements;
-  GlobalTypeInferenceResults get _inferenceResults =>
-      _compiler.globalInference.results;
   DiagnosticReporter get reporter => _compiler.reporter;
+  Element get _target => _resolvedAst.element;
+
+  GlobalTypeInferenceElementResult _resultOf(Element e) =>
+      _compiler.globalInference.results.resultOf(e);
 
   ConstantValue getConstantForSymbol(ir.SymbolLiteral node) {
     ast.Node astNode = getNode(node);
@@ -163,35 +165,33 @@
   }
 
   TypeMask typeOfInvocation(ir.Expression send) {
-    return _inferenceResults.typeOfSend(getNode(send), elements);
+    return _resultOf(_target).typeOfSend(getNode(send));
   }
 
   TypeMask typeOfGet(ir.PropertyGet getter) {
-    return _inferenceResults.typeOfSend(getNode(getter), elements);
+    return _resultOf(_target).typeOfSend(getNode(getter));
   }
 
   TypeMask typeOfSend(ir.Expression send) {
     assert(send is ir.InvocationExpression || send is ir.PropertyGet);
-    return _inferenceResults.typeOfSend(getNode(send), elements);
+    return _resultOf(_target).typeOfSend(getNode(send));
   }
 
   TypeMask typeOfNewList(Element owner, ir.ListLiteral listLiteral) {
-    return _inferenceResults.typeOfNewList(owner, getNode(listLiteral)) ??
-        _compiler.commonMasks.dynamicType;
+    return _resultOf(owner).typeOfNewList(getNode(listLiteral)) ??
+        _compiler.closedWorld.commonMasks.dynamicType;
   }
 
   TypeMask typeOfIterator(ir.ForInStatement forInStatement) {
-    return _inferenceResults.typeOfIterator(getNode(forInStatement), elements);
+    return _resultOf(_target).typeOfIterator(getNode(forInStatement));
   }
 
   TypeMask typeOfIteratorCurrent(ir.ForInStatement forInStatement) {
-    return _inferenceResults.typeOfIteratorCurrent(
-        getNode(forInStatement), elements);
+    return _resultOf(_target).typeOfIteratorCurrent(getNode(forInStatement));
   }
 
   TypeMask typeOfIteratorMoveNext(ir.ForInStatement forInStatement) {
-    return _inferenceResults.typeOfIteratorMoveNext(
-        getNode(forInStatement), elements);
+    return _resultOf(_target).typeOfIteratorMoveNext(getNode(forInStatement));
   }
 
   bool isJsIndexableIterator(ir.ForInStatement forInStatement) {
diff --git a/pkg/compiler/lib/src/ssa/types.dart b/pkg/compiler/lib/src/ssa/types.dart
index 18ed76c..f145aff 100644
--- a/pkg/compiler/lib/src/ssa/types.dart
+++ b/pkg/compiler/lib/src/ssa/types.dart
@@ -14,46 +14,46 @@
 class TypeMaskFactory {
   static TypeMask inferredReturnTypeForElement(
       Element element, Compiler compiler) {
-    return compiler.globalInference.results.returnTypeOf(element) ??
-        compiler.commonMasks.dynamicType;
+    return compiler.globalInference.results.resultOf(element).returnType ??
+        compiler.closedWorld.commonMasks.dynamicType;
   }
 
   static TypeMask inferredTypeForElement(Element element, Compiler compiler) {
-    return compiler.globalInference.results.typeOf(element) ??
-        compiler.commonMasks.dynamicType;
+    return compiler.globalInference.results.resultOf(element).type ??
+        compiler.closedWorld.commonMasks.dynamicType;
   }
 
   static TypeMask inferredTypeForSelector(
       Selector selector, TypeMask mask, Compiler compiler) {
     return compiler.globalInference.results.typeOfSelector(selector, mask) ??
-        compiler.commonMasks.dynamicType;
+        compiler.closedWorld.commonMasks.dynamicType;
   }
 
   static TypeMask fromNativeBehavior(
       native.NativeBehavior nativeBehavior, Compiler compiler) {
+    ClosedWorld closedWorld = compiler.closedWorld;
+    CommonMasks commonMasks = closedWorld.commonMasks;
     var typesReturned = nativeBehavior.typesReturned;
-    if (typesReturned.isEmpty) return compiler.commonMasks.dynamicType;
+    if (typesReturned.isEmpty) return commonMasks.dynamicType;
 
-    ClosedWorld world = compiler.closedWorld;
-    CommonMasks commonMasks = compiler.commonMasks;
-    CoreClasses coreClasses = compiler.coreClasses;
+    CoreClasses coreClasses = closedWorld.coreClasses;
 
     // [type] is either an instance of [DartType] or special objects
     // like [native.SpecialType.JsObject].
     TypeMask fromNativeType(dynamic type) {
       if (type == native.SpecialType.JsObject) {
-        return new TypeMask.nonNullExact(coreClasses.objectClass, world);
+        return new TypeMask.nonNullExact(coreClasses.objectClass, closedWorld);
       }
 
       if (type.isVoid) return commonMasks.nullType;
       if (type.element == coreClasses.nullClass) return commonMasks.nullType;
       if (type.treatAsDynamic) return commonMasks.dynamicType;
-      return new TypeMask.nonNullSubtype(type.element, world);
+      return new TypeMask.nonNullSubtype(type.element, closedWorld);
     }
 
     TypeMask result = typesReturned
         .map(fromNativeType)
-        .reduce((t1, t2) => t1.union(t2, compiler.closedWorld));
+        .reduce((t1, t2) => t1.union(t2, closedWorld));
     assert(!result.isEmpty);
     return result;
   }
diff --git a/pkg/compiler/lib/src/types/constants.dart b/pkg/compiler/lib/src/types/constants.dart
index 8c3f6b7..60dbd90 100644
--- a/pkg/compiler/lib/src/types/constants.dart
+++ b/pkg/compiler/lib/src/types/constants.dart
@@ -22,7 +22,7 @@
   TypeMask visitConstructed(
       ConstructedConstantValue constant, Compiler compiler) {
     if (compiler.backend.isInterceptorClass(constant.type.element)) {
-      return compiler.commonMasks.nonNullType;
+      return compiler.closedWorld.commonMasks.nonNullType;
     }
     return new TypeMask.nonNullExact(
         constant.type.element, compiler.closedWorld);
@@ -38,13 +38,13 @@
     // We have to recognize double constants that are 'is int'.
     if (compiler.backend.constantSystem.isInt(constant)) {
       if (constant.isMinusZero) {
-        return compiler.commonMasks.uint31Type;
+        return compiler.closedWorld.commonMasks.uint31Type;
       } else {
         assert(constant.isPositiveInfinity || constant.isNegativeInfinity);
-        return compiler.commonMasks.intType;
+        return compiler.closedWorld.commonMasks.intType;
       }
     }
-    return compiler.commonMasks.doubleType;
+    return compiler.closedWorld.commonMasks.doubleType;
   }
 
   @override
@@ -55,9 +55,9 @@
       case SyntheticConstantKind.EMPTY_VALUE:
         return constant.payload;
       case SyntheticConstantKind.TYPEVARIABLE_REFERENCE:
-        return compiler.commonMasks.intType;
+        return compiler.closedWorld.commonMasks.intType;
       case SyntheticConstantKind.NAME:
-        return compiler.commonMasks.stringType;
+        return compiler.closedWorld.commonMasks.stringType;
       default:
         DiagnosticReporter reporter = compiler.reporter;
         reporter.internalError(
@@ -68,55 +68,56 @@
 
   @override
   TypeMask visitBool(BoolConstantValue constant, Compiler compiler) {
-    return compiler.commonMasks.boolType;
+    return compiler.closedWorld.commonMasks.boolType;
   }
 
   @override
   TypeMask visitFunction(FunctionConstantValue constant, Compiler compiler) {
-    return compiler.commonMasks.functionType;
+    return compiler.closedWorld.commonMasks.functionType;
   }
 
   @override
   TypeMask visitInt(IntConstantValue constant, Compiler compiler) {
-    if (constant.isUInt31()) return compiler.commonMasks.uint31Type;
-    if (constant.isUInt32()) return compiler.commonMasks.uint32Type;
-    if (constant.isPositive()) return compiler.commonMasks.positiveIntType;
-    return compiler.commonMasks.intType;
+    if (constant.isUInt31()) return compiler.closedWorld.commonMasks.uint31Type;
+    if (constant.isUInt32()) return compiler.closedWorld.commonMasks.uint32Type;
+    if (constant.isPositive())
+      return compiler.closedWorld.commonMasks.positiveIntType;
+    return compiler.closedWorld.commonMasks.intType;
   }
 
   @override
   TypeMask visitInterceptor(
       InterceptorConstantValue constant, Compiler compiler) {
-    return compiler.commonMasks.nonNullType;
+    return compiler.closedWorld.commonMasks.nonNullType;
   }
 
   @override
   TypeMask visitList(ListConstantValue constant, Compiler compiler) {
-    return compiler.commonMasks.constListType;
+    return compiler.closedWorld.commonMasks.constListType;
   }
 
   @override
   TypeMask visitMap(MapConstantValue constant, Compiler compiler) {
-    return compiler.commonMasks.constMapType;
+    return compiler.closedWorld.commonMasks.constMapType;
   }
 
   @override
   TypeMask visitNull(NullConstantValue constant, Compiler compiler) {
-    return compiler.commonMasks.nullType;
+    return compiler.closedWorld.commonMasks.nullType;
   }
 
   @override
   TypeMask visitNonConstant(NonConstantValue constant, Compiler compiler) {
-    return compiler.commonMasks.nullType;
+    return compiler.closedWorld.commonMasks.nullType;
   }
 
   @override
   TypeMask visitString(StringConstantValue constant, Compiler compiler) {
-    return compiler.commonMasks.stringType;
+    return compiler.closedWorld.commonMasks.stringType;
   }
 
   @override
   TypeMask visitType(TypeConstantValue constant, Compiler compiler) {
-    return compiler.commonMasks.typeType;
+    return compiler.closedWorld.commonMasks.typeType;
   }
 }
diff --git a/pkg/compiler/lib/src/types/flat_type_mask.dart b/pkg/compiler/lib/src/types/flat_type_mask.dart
index ce6cd55..b93b1e6 100644
--- a/pkg/compiler/lib/src/types/flat_type_mask.dart
+++ b/pkg/compiler/lib/src/types/flat_type_mask.dart
@@ -573,10 +573,9 @@
             : (isSubclass ? ClassQuery.SUBCLASS : ClassQuery.SUBTYPE));
   }
 
-  Element locateSingleElement(Selector selector, Compiler compiler) {
+  Element locateSingleElement(Selector selector, ClosedWorld closedWorld) {
     if (isEmptyOrNull) return null;
-    Iterable<Element> targets =
-        compiler.closedWorld.allFunctions.filter(selector, this);
+    Iterable<Element> targets = closedWorld.allFunctions.filter(selector, this);
     if (targets.length != 1) return null;
     Element result = targets.first;
     ClassElement enclosing = result.enclosingClass.declaration;
@@ -584,7 +583,6 @@
     // all classes in the receiver type [this]. It could be found only in a
     // subclass or in an inheritance-wise unrelated class in case of subtype
     // selectors.
-    ClosedWorld closedWorld = compiler.closedWorld;
     if (isSubtype) {
       // if (closedWorld.isUsedAsMixin(enclosing)) {
       if (closedWorld.everySubtypeIsSubclassOfOrMixinUseOf(base, enclosing)) {
diff --git a/pkg/compiler/lib/src/types/forwarding_type_mask.dart b/pkg/compiler/lib/src/types/forwarding_type_mask.dart
index f285a59..775fee0 100644
--- a/pkg/compiler/lib/src/types/forwarding_type_mask.dart
+++ b/pkg/compiler/lib/src/types/forwarding_type_mask.dart
@@ -101,8 +101,8 @@
     return forwardTo.canHit(element, selector, closedWorld);
   }
 
-  Element locateSingleElement(Selector selector, Compiler compiler) {
-    return forwardTo.locateSingleElement(selector, compiler);
+  Element locateSingleElement(Selector selector, ClosedWorld closedWorld) {
+    return forwardTo.locateSingleElement(selector, closedWorld);
   }
 
   bool equalsDisregardNull(other) {
diff --git a/pkg/compiler/lib/src/types/masks.dart b/pkg/compiler/lib/src/types/masks.dart
index 8577558..5cbc4c0 100644
--- a/pkg/compiler/lib/src/types/masks.dart
+++ b/pkg/compiler/lib/src/types/masks.dart
@@ -33,11 +33,9 @@
 class CommonMasks {
   // TODO(sigmund): once we split out the backend common elements, depend
   // directly on those instead.
-  final Compiler compiler;
+  final ClosedWorld closedWorld;
 
-  CommonMasks(this.compiler);
-
-  ClosedWorld get closedWorld => compiler.closedWorld;
+  CommonMasks(this.closedWorld);
 
   BackendClasses get backendClasses => closedWorld.backendClasses;
 
diff --git a/pkg/compiler/lib/src/types/type_mask.dart b/pkg/compiler/lib/src/types/type_mask.dart
index a3ba10d..c91fac6 100644
--- a/pkg/compiler/lib/src/types/type_mask.dart
+++ b/pkg/compiler/lib/src/types/type_mask.dart
@@ -356,5 +356,5 @@
    * on this mask. Returns null if there is none.
    */
   // TODO(johnniwinther): Move this method to [World].
-  Element locateSingleElement(Selector selector, Compiler compiler);
+  Element locateSingleElement(Selector selector, ClosedWorld closedWorld);
 }
diff --git a/pkg/compiler/lib/src/types/types.dart b/pkg/compiler/lib/src/types/types.dart
index ad890dc..c078298 100644
--- a/pkg/compiler/lib/src/types/types.dart
+++ b/pkg/compiler/lib/src/types/types.dart
@@ -4,17 +4,165 @@
 
 library types;
 
+import '../closure.dart' show SynthesizedCallMethodElementX;
+import '../common.dart' show invariant;
 import '../common/tasks.dart' show CompilerTask;
 import '../compiler.dart' show Compiler;
 import '../elements/elements.dart';
-import '../inferrer/type_graph_inferrer.dart' show TypeGraphInferrer;
+import '../inferrer/type_graph_inferrer.dart'
+    show TypeGraphInferrer, TypeInformationSystem;
 import '../tree/tree.dart';
-import '../resolution/tree_elements.dart';
 import '../universe/selector.dart' show Selector;
+import '../util/util.dart' show Maplet;
 
 import 'masks.dart';
 export 'masks.dart';
 
+/// Results about a single element (e.g. a method, parameter, or field)
+/// produced by the global type-inference algorithm.
+///
+/// All queries in this class may contain results that assume whole-program
+/// closed-world semantics. Any [TypeMask] for an element or node that we return
+/// was inferred to be a "guaranteed type", that means, it is a type that we
+/// can prove to be correct for all executions of the program.  A trivial
+/// implementation would return false on all boolean properties (giving no
+/// guarantees) and the `subclass of Object or null` type mask for the type
+/// based queries (the runtime value could be anything).
+abstract class GlobalTypeInferenceElementResult {
+  /// Whether the method element associated with this result always throws.
+  bool get throwsAlways;
+
+  /// Whether the element associated with this result is only called once in one
+  /// location in the entire program.
+  bool get isCalledOnce;
+
+  /// The inferred type when this result belongs to a parameter or field
+  /// element, null otherwise.
+  TypeMask get type;
+
+  /// The inferred return type when this result belongs to a function element.
+  TypeMask get returnType;
+
+  /// Returns the type of a list allocation [node] (which can be a list
+  /// literal or a list new expression).
+  TypeMask typeOfNewList(Node node);
+
+  /// Returns the type of a send [node].
+  TypeMask typeOfSend(Node node);
+
+  /// Returns the type of the operator of a complex send-set [node], for
+  /// example, the type of `+` in `a += b`.
+  TypeMask typeOfGetter(SendSet node);
+
+  /// Returns the type of the getter in a complex send-set [node], for example,
+  /// the type of the `a.f` getter in `a.f += b`.
+  TypeMask typeOfOperator(SendSet node);
+
+  /// Returns the type of the iterator in a [loop].
+  TypeMask typeOfIterator(ForIn node);
+
+  /// Returns the type of the `moveNext` call of an iterator in a [loop].
+  TypeMask typeOfIteratorMoveNext(ForIn node);
+
+  /// Returns the type of the `current` getter of an iterator in a [loop].
+  TypeMask typeOfIteratorCurrent(ForIn node);
+}
+
+class GlobalTypeInferenceElementResultImpl
+    implements GlobalTypeInferenceElementResult {
+  // TODO(sigmund): delete, store data directly here.
+  final Element _owner;
+
+  // TODO(sigmund): split - stop using _data after inference is done.
+  final GlobalTypeInferenceElementData _data;
+
+  // TODO(sigmund): store relevant data & drop reference to inference engine.
+  final TypesInferrer _inferrer;
+  final bool _isJsInterop;
+  final TypeMask _dynamic;
+
+  GlobalTypeInferenceElementResultImpl(this._owner, this._data, this._inferrer,
+      this._isJsInterop, this._dynamic);
+
+  bool get isCalledOnce => _inferrer.isCalledOnce(_owner);
+
+  TypeMask get returnType =>
+      _isJsInterop ? _dynamic : _inferrer.getReturnTypeOfElement(_owner);
+
+  TypeMask get type =>
+      _isJsInterop ? _dynamic : _inferrer.getTypeOfElement(_owner);
+
+  bool get throwsAlways {
+    TypeMask mask = this.returnType;
+    // Always throws if the return type was inferred to be non-null empty.
+    return mask != null && mask.isEmpty;
+  }
+
+  TypeMask typeOfNewList(Node node) =>
+      _inferrer.getTypeForNewList(_owner, node);
+
+  TypeMask typeOfSend(Node node) => _data?.typeOfSend(node);
+  TypeMask typeOfGetter(SendSet node) => _data?.typeOfGetter(node);
+  TypeMask typeOfOperator(SendSet node) => _data?.typeOfOperator(node);
+  TypeMask typeOfIterator(ForIn node) => _data?.typeOfIterator(node);
+  TypeMask typeOfIteratorMoveNext(ForIn node) =>
+      _data?.typeOfIteratorMoveNext(node);
+  TypeMask typeOfIteratorCurrent(ForIn node) =>
+      _data?.typeOfIteratorCurrent(node);
+}
+
+/// Internal data used during type-inference to store intermediate results about
+/// a single element.
+class GlobalTypeInferenceElementData {
+  Map<Object, TypeMask> _typeMasks;
+
+  TypeMask _get(Object node) => _typeMasks != null ? _typeMasks[node] : null;
+  void _set(Object node, TypeMask mask) {
+    _typeMasks ??= new Maplet<Object, TypeMask>();
+    _typeMasks[node] = mask;
+  }
+
+  TypeMask typeOfSend(Node node) => _get(node);
+  TypeMask typeOfGetter(SendSet node) => _get(node.selector);
+  TypeMask typeOfOperator(SendSet node) => _get(node.assignmentOperator);
+
+  void setTypeMask(Node node, TypeMask mask) {
+    _set(node, mask);
+  }
+
+  void setGetterTypeMaskInComplexSendSet(SendSet node, TypeMask mask) {
+    _set(node.selector, mask);
+  }
+
+  void setOperatorTypeMaskInComplexSendSet(SendSet node, TypeMask mask) {
+    _set(node.assignmentOperator, mask);
+  }
+
+  // TODO(sigmund): clean up. We store data about 3 selectors for "for in"
+  // nodes: the iterator, move-next, and current element. Because our map keys
+  // are nodes, we need to fabricate different keys to keep these selectors
+  // separate. The current implementation does this by using
+  // children of the for-in node (these children were picked arbitrarily).
+
+  TypeMask typeOfIterator(ForIn node) => _get(node);
+
+  TypeMask typeOfIteratorMoveNext(ForIn node) => _get(node.forToken);
+
+  TypeMask typeOfIteratorCurrent(ForIn node) => _get(node.inToken);
+
+  void setIteratorTypeMask(ForIn node, TypeMask mask) {
+    _set(node, mask);
+  }
+
+  void setMoveNextTypeMask(ForIn node, TypeMask mask) {
+    _set(node.forToken, mask);
+  }
+
+  void setCurrentTypeMask(ForIn node, TypeMask mask) {
+    _set(node.inToken, mask);
+  }
+}
+
 /// API to interact with the global type-inference engine.
 abstract class TypesInferrer {
   void analyzeMain(Element element);
@@ -35,91 +183,48 @@
 /// can prove to be correct for all executions of the program.
 class GlobalTypeInferenceResults {
   // TODO(sigmund): store relevant data & drop reference to inference engine.
-  final TypesInferrer _inferrer;
+  final TypeGraphInferrer _inferrer;
   final Compiler compiler;
   final TypeMask dynamicType;
+  final Map<Element, GlobalTypeInferenceElementResult> _elementResults = {};
 
-  GlobalTypeInferenceResults(this._inferrer, this.compiler, CommonMasks masks)
+  // TODO(sigmund,johnniwinther): compute result objects eagerly and make it an
+  // error to query for results that don't exist.
+  GlobalTypeInferenceElementResult resultOf(AstElement element) {
+    assert(invariant(element, !element.isGenerativeConstructorBody,
+        message: "unexpected input: ConstructorBodyElements are created"
+            " after global type inference, no data is avaiable for them."));
+
+    // TODO(sigmund): store closure data directly in the closure element and
+    // not in the context of the enclosing method?
+    var key = (element is SynthesizedCallMethodElementX)
+        ? element.memberContext
+        : element;
+    return _elementResults.putIfAbsent(
+        element,
+        () => new GlobalTypeInferenceElementResultImpl(
+            element,
+            _inferrer.inferrer.inTreeData[key],
+            _inferrer,
+            compiler.backend.isJsInterop(element),
+            dynamicType));
+  }
+
+  GlobalTypeInferenceResults(this._inferrer, this.compiler, CommonMasks masks,
+      TypeInformationSystem types)
       : dynamicType = masks.dynamicType;
 
-  /// Returns the type of a parameter or field [element], if any.
-  TypeMask typeOf(Element element) {
-    // TODO(24489): trust some JsInterop types.
-    if (compiler.backend.isJsInterop(element)) return dynamicType;
-    return _inferrer.getTypeOfElement(element);
-  }
-
-  /// Returns the return type of a method or function [element].
-  TypeMask returnTypeOf(Element element) {
-    // TODO(24489): trust some JsInterop types.
-    if (compiler.backend.isJsInterop(element)) return dynamicType;
-    return _inferrer.getReturnTypeOfElement(element);
-  }
-
   /// Returns the type of a [selector] when applied to a receiver with the given
   /// type [mask].
   TypeMask typeOfSelector(Selector selector, TypeMask mask) =>
       _inferrer.getTypeOfSelector(selector, mask);
 
-  /// Returns whether the method [element] always throws.
-  bool throwsAlways(Element element) {
-    // We know the element always throws if the return type was inferred to be
-    // non-null empty.
-    TypeMask returnType = returnTypeOf(element);
-    return returnType != null && returnType.isEmpty;
-  }
-
-  /// Returns whether [element] is only called once in the entire program.
-  bool isCalledOnce(Element element) => _inferrer.isCalledOnce(element);
-
-  // TODO(sigmund): introduce a new class [ElementInferenceResult] that can be
-  // used to collect any information that is specific about the body within a
-  // single element (basically everything below this line). We could consider
-  // moving some of the functions above too, for example:
-  //    results.throwsAlways(element)
-  // could become:
-  //    results[element].alwaysThrows;
-  //
-
-  /// Returns the type of a list allocation [node] occuring within [owner].
-  ///
-  /// [node] can be a list literal or a list new expression.
-  TypeMask typeOfNewList(Element owner, Node node) =>
-      _inferrer.getTypeForNewList(owner, node);
-
   /// Returns whether a fixed-length constructor call goes through a growable
   /// check.
+  // TODO(sigmund): move into the result of the element containing such
+  // constructor call.
   bool isFixedArrayCheckedForGrowable(Node ctorCall) =>
       _inferrer.isFixedArrayCheckedForGrowable(ctorCall);
-
-  /// Returns the type of a send [node].
-  TypeMask typeOfSend(
-          Node node,
-          // TODO(sigmund): move inference data out of TreeElements
-          TreeElements elements) =>
-      elements.getTypeMask(node);
-
-  /// Returns the type of the operator of a complex send-set [node], for
-  /// example, the type of `+` in `a += b`.
-  TypeMask typeOfOperator(Send node, TreeElements elements) =>
-      elements.getOperatorTypeMaskInComplexSendSet(node);
-
-  /// Returns the type of the getter in a complex send-set [node], for example,
-  /// the type of the `a.f` getter in `a.f += b`.
-  TypeMask typeOfGetter(node, elements) =>
-      elements.getGetterTypeMaskInComplexSendSet(node);
-
-  /// Returns the type of the iterator in a [loop].
-  TypeMask typeOfIterator(ForIn loop, elements) =>
-      elements.getIteratorTypeMask(loop);
-
-  /// Returns the type of the `moveNext` call of an iterator in a [loop].
-  TypeMask typeOfIteratorMoveNext(ForIn loop, elements) =>
-      elements.getMoveNextTypeMask(loop);
-
-  /// Returns the type of the `current` getter of an iterator in a [loop].
-  TypeMask typeOfIteratorCurrent(ForIn node, elements) =>
-      elements.getCurrentTypeMask(node);
 }
 
 /// Global analysis that infers concrete types.
@@ -128,23 +233,26 @@
   final String name = 'Type inference';
 
   final Compiler compiler;
-  TypesInferrer typesInferrer;
-  CommonMasks masks;
+
+  /// The [TypeGraphInferrer] used by the global type inference. This should by
+  /// accessed from outside this class for testing only.
+  TypeGraphInferrer typesInferrerInternal;
+
   GlobalTypeInferenceResults results;
 
   GlobalTypeInferenceTask(Compiler compiler)
-      : masks = new CommonMasks(compiler),
-        compiler = compiler,
-        super(compiler.measurer) {
-    typesInferrer = new TypeGraphInferrer(compiler, masks);
-  }
+      : compiler = compiler,
+        super(compiler.measurer);
 
   /// Runs the global type-inference algorithm once.
   void runGlobalTypeInference(Element mainElement) {
     measure(() {
-      typesInferrer.analyzeMain(mainElement);
-      typesInferrer.clear();
-      results = new GlobalTypeInferenceResults(typesInferrer, compiler, masks);
+      CommonMasks masks = compiler.closedWorld.commonMasks;
+      typesInferrerInternal ??= new TypeGraphInferrer(compiler, masks);
+      typesInferrerInternal.analyzeMain(mainElement);
+      typesInferrerInternal.clear();
+      results = new GlobalTypeInferenceResults(
+          typesInferrerInternal, compiler, masks, typesInferrerInternal.inferrer.types);
     });
   }
 }
diff --git a/pkg/compiler/lib/src/types/union_type_mask.dart b/pkg/compiler/lib/src/types/union_type_mask.dart
index 49f9b44..eada935 100644
--- a/pkg/compiler/lib/src/types/union_type_mask.dart
+++ b/pkg/compiler/lib/src/types/union_type_mask.dart
@@ -334,10 +334,10 @@
     return disjointMasks.any((e) => e.canHit(element, selector, closedWorld));
   }
 
-  Element locateSingleElement(Selector selector, Compiler compiler) {
+  Element locateSingleElement(Selector selector, ClosedWorld closedWorld) {
     Element candidate;
     for (FlatTypeMask mask in disjointMasks) {
-      Element current = mask.locateSingleElement(selector, compiler);
+      Element current = mask.locateSingleElement(selector, closedWorld);
       if (current == null) {
         return null;
       } else if (candidate == null) {
diff --git a/pkg/compiler/lib/src/universe/function_set.dart b/pkg/compiler/lib/src/universe/function_set.dart
index 677ffc5..0fb0018 100644
--- a/pkg/compiler/lib/src/universe/function_set.dart
+++ b/pkg/compiler/lib/src/universe/function_set.dart
@@ -17,11 +17,9 @@
 // too and stricly they aren't functions. Maybe this needs a better
 // name -- something like ElementSet seems a bit too generic.
 class FunctionSet {
-  final Compiler compiler;
+  final ClosedWorld closedWorld;
   final Map<String, FunctionSetNode> nodes = new Map<String, FunctionSetNode>();
-  FunctionSet(this.compiler);
-
-  ClosedWorld get closedWorld => compiler.closedWorld;
+  FunctionSet(this.closedWorld);
 
   FunctionSetNode newNode(String name) => new FunctionSetNode(name);
 
diff --git a/pkg/compiler/lib/src/universe/use.dart b/pkg/compiler/lib/src/universe/use.dart
index 7cb642e..5876a18 100644
--- a/pkg/compiler/lib/src/universe/use.dart
+++ b/pkg/compiler/lib/src/universe/use.dart
@@ -323,6 +323,8 @@
   CATCH_TYPE,
   TYPE_LITERAL,
   INSTANTIATION,
+  MIRROR_INSTANTIATION,
+  NATIVE_INSTANTIATION,
 }
 
 /// Use of a [DartType].
@@ -366,6 +368,16 @@
     return new TypeUse.internal(type, TypeUseKind.INSTANTIATION);
   }
 
+  /// [type] used in an instantiation through mirrors.
+  factory TypeUse.mirrorInstantiation(InterfaceType type) {
+    return new TypeUse.internal(type, TypeUseKind.MIRROR_INSTANTIATION);
+  }
+
+  /// [type] used in a native instantiation.
+  factory TypeUse.nativeInstantiation(InterfaceType type) {
+    return new TypeUse.internal(type, TypeUseKind.NATIVE_INSTANTIATION);
+  }
+
   bool operator ==(other) {
     if (identical(this, other)) return true;
     if (other is! TypeUse) return false;
diff --git a/pkg/compiler/lib/src/universe/world_builder.dart b/pkg/compiler/lib/src/universe/world_builder.dart
index 470adf3..fa4108a 100644
--- a/pkg/compiler/lib/src/universe/world_builder.dart
+++ b/pkg/compiler/lib/src/universe/world_builder.dart
@@ -6,14 +6,19 @@
 
 import 'dart:collection';
 
+import '../cache_strategy.dart';
 import '../common.dart';
+import '../common/backend_api.dart' show Backend;
+import '../common/resolution.dart' show Resolution;
 import '../compiler.dart' show Compiler;
+import '../core_types.dart' show CoreClasses;
 import '../dart_types.dart';
 import '../elements/elements.dart';
+import '../types/masks.dart' show CommonMasks;
 import '../universe/class_set.dart' show Instantiation;
 import '../util/enumset.dart';
 import '../util/util.dart';
-import '../world.dart' show World, ClosedWorld, OpenWorld;
+import '../world.dart' show World, ClosedWorld, OpenWorld, WorldImpl;
 import 'selector.dart' show Selector;
 import 'use.dart' show DynamicUse, DynamicUseKind, StaticUse, StaticUseKind;
 
@@ -120,7 +125,7 @@
 
   /// Registers that [type] is checked in this universe. The unaliased type is
   /// returned.
-  DartType registerIsCheck(DartType type, Compiler compiler);
+  DartType registerIsCheck(DartType type, Resolution resolution);
 
   /// All directly instantiated types, that is, the types of the directly
   /// instantiated classes.
@@ -162,6 +167,19 @@
   /// Call [f] for all directly or abstractly instantiated classes.
   void forEachInstantiatedClass(
       f(ClassElement cls, EnumSet<Instantiation> instantiations));
+
+  /// `true` of `Object.runtimeType` is supported.
+  bool get hasRuntimeTypeSupport;
+
+  /// `true` of use of the `dart:isolate` library is supported.
+  bool get hasIsolateSupport;
+
+  /// `true` of `Function.apply` is supported.
+  bool get hasFunctionApplySupport;
+
+  /// The [OpenWorld] being created by this world builder.
+  // TODO(johnniwinther): Merge this with [ResolutionWorldBuilder].
+  OpenWorld get openWorld;
 }
 
 class ResolutionWorldBuilderImpl implements ResolutionWorldBuilder {
@@ -236,7 +254,18 @@
 
   final SelectorConstraintsStrategy selectorConstraintsStrategy;
 
-  ResolutionWorldBuilderImpl(this.selectorConstraintsStrategy);
+  bool hasRuntimeTypeSupport = false;
+  bool hasIsolateSupport = false;
+  bool hasFunctionApplySupport = false;
+
+  OpenWorld _openWorld;
+
+  ResolutionWorldBuilderImpl(Backend backend, CoreClasses coreClasses,
+      CacheStrategy cacheStrategy, this.selectorConstraintsStrategy) {
+    _openWorld = new WorldImpl(this, backend, coreClasses, cacheStrategy);
+  }
+
+  OpenWorld get openWorld => _openWorld;
 
   /// All directly instantiated classes, that is, classes with a generative
   /// constructor that has been called directly and not only through a
@@ -365,8 +394,8 @@
     return constraints.addReceiverConstraint(mask);
   }
 
-  DartType registerIsCheck(DartType type, Compiler compiler) {
-    type.computeUnaliased(compiler.resolution);
+  DartType registerIsCheck(DartType type, Resolution resolution) {
+    type.computeUnaliased(resolution);
     type = type.unaliased;
     // Even in checked mode, type annotations for return type and argument
     // types do not imply type checks, so there should never be a check
@@ -644,8 +673,7 @@
     _invokedSetters.forEach(f);
   }
 
-  DartType registerIsCheck(DartType type, Compiler compiler) {
-    type.computeUnaliased(compiler.resolution);
+  DartType registerIsCheck(DartType type, Resolution resolution) {
     type = type.unaliased;
     // Even in checked mode, type annotations for return type and argument
     // types do not imply type checks, so there should never be a check
diff --git a/pkg/compiler/lib/src/world.dart b/pkg/compiler/lib/src/world.dart
index 014b16e..dd786a4 100644
--- a/pkg/compiler/lib/src/world.dart
+++ b/pkg/compiler/lib/src/world.dart
@@ -4,10 +4,10 @@
 
 library dart2js.world;
 
+import 'cache_strategy.dart';
 import 'closure.dart' show SynthesizedCallMethodElementX;
 import 'common/backend_api.dart' show BackendClasses;
 import 'common.dart';
-import 'compiler.dart' show Compiler;
 import 'core_types.dart' show CoreClasses;
 import 'dart_types.dart';
 import 'elements/elements.dart'
@@ -25,6 +25,7 @@
 import 'universe/function_set.dart' show FunctionSet;
 import 'universe/selector.dart' show Selector;
 import 'universe/side_effects.dart' show SideEffects;
+import 'universe/world_builder.dart' show ResolutionWorldBuilder;
 import 'util/enumset.dart';
 import 'util/util.dart' show Link;
 
@@ -46,6 +47,8 @@
   /// Access to core classes used in the Dart language.
   CoreClasses get coreClasses;
 
+  CommonMasks get commonMasks;
+
   /// Returns `true` if [cls] is either directly or indirectly instantiated.
   bool isInstantiated(ClassElement cls);
 
@@ -334,7 +337,7 @@
   void registerUsedElement(Element element);
   void registerTypedef(TypedefElement typedef);
 
-  ClosedWorld closeWorld();
+  ClosedWorld closeWorld(DiagnosticReporter reporter);
 
   /// Returns an iterable over all mixin applications that mixin [cls].
   Iterable<MixinApplicationElement> allMixinUsesOf(ClassElement cls);
@@ -437,7 +440,7 @@
   /// Returns `true` if [cls] is implemented by an instantiated class.
   bool isImplemented(ClassElement cls) {
     assert(isClosed);
-    return _compiler.resolverWorld.isImplemented(cls);
+    return resolverWorld.isImplemented(cls);
   }
 
   /// Returns an iterable over the directly instantiated classes that extend
@@ -836,11 +839,9 @@
     }
   }
 
-  final Compiler _compiler;
+  final JavaScriptBackend _backend;
   BackendClasses get backendClasses => _backend.backendClasses;
-  JavaScriptBackend get _backend => _compiler.backend;
-  CommonMasks get commonMasks => _compiler.commonMasks;
-  final FunctionSet allFunctions;
+  FunctionSet _allFunctions;
   final Set<Element> functionsCalledInLoop = new Set<Element>();
   final Map<Element, SideEffects> sideEffects = new Map<Element, SideEffects>();
 
@@ -871,20 +872,33 @@
 
   final Set<Element> alreadyPopulated;
 
+  CommonMasks _commonMasks;
+
+  final CoreClasses coreClasses;
+
+  final CacheStrategy cacheStrategy;
+
+  final ResolutionWorldBuilder resolverWorld;
+
   bool get isClosed => _closed;
 
   Set<ClassElement> typesImplementedBySubclassesOf(ClassElement cls) {
     return _typesImplementedBySubclasses[cls.declaration];
   }
 
-  WorldImpl(Compiler compiler)
-      : allFunctions = new FunctionSet(compiler),
-        this._compiler = compiler,
-        alreadyPopulated = compiler.cacheStrategy.newSet();
+  WorldImpl(this.resolverWorld, this._backend, this.coreClasses,
+      CacheStrategy cacheStrategy)
+      : this.cacheStrategy = cacheStrategy,
+        alreadyPopulated = cacheStrategy.newSet() {
+    _allFunctions = new FunctionSet(this);
+  }
 
-  CoreClasses get coreClasses => _compiler.coreClasses;
+  FunctionSet get allFunctions => _allFunctions;
 
-  DiagnosticReporter get reporter => _compiler.reporter;
+  CommonMasks get commonMasks {
+    assert(isClosed);
+    return _commonMasks;
+  }
 
   /// Called to add [cls] to the set of known classes.
   ///
@@ -979,7 +993,7 @@
 
   void _updateClassHierarchyNodeForClass(ClassElement cls,
       {bool directlyInstantiated: false, bool abstractlyInstantiated: false}) {
-    ClassHierarchyNode node = getClassHierarchyNode(cls);
+    ClassHierarchyNode node = _ensureClassHierarchyNode(cls);
     _updateSuperClassHierarchyNodeForClass(node);
     if (directlyInstantiated) {
       node.isDirectlyInstantiated = true;
@@ -989,13 +1003,12 @@
     }
   }
 
-  ClosedWorld closeWorld() {
+  ClosedWorld closeWorld(DiagnosticReporter reporter) {
     /// Updates the `isDirectlyInstantiated` and `isIndirectlyInstantiated`
     /// properties of the [ClassHierarchyNode] for [cls].
 
     void addSubtypes(ClassElement cls, EnumSet<Instantiation> instantiations) {
-      if (_compiler.options.hasIncrementalSupport &&
-          !alreadyPopulated.add(cls)) {
+      if (cacheStrategy.hasIncrementalSupport && !alreadyPopulated.add(cls)) {
         return;
       }
       assert(cls.isDeclaration);
@@ -1027,9 +1040,10 @@
     // classes: if the superclass of these classes require RTI, then
     // they also need RTI, so that a constructor passes the type
     // variables to the super constructor.
-    _compiler.resolverWorld.forEachInstantiatedClass(addSubtypes);
+    resolverWorld.forEachInstantiatedClass(addSubtypes);
 
     _closed = true;
+    _commonMasks = new CommonMasks(this);
     return this;
   }
 
@@ -1072,14 +1086,16 @@
   }
 
   Element locateSingleElement(Selector selector, TypeMask mask) {
+    assert(isClosed);
     mask ??= commonMasks.dynamicType;
-    return mask.locateSingleElement(selector, _compiler);
+    return mask.locateSingleElement(selector, this);
   }
 
   TypeMask extendMaskIfReachesAll(Selector selector, TypeMask mask) {
+    assert(isClosed);
     bool canReachAll = true;
     if (mask != null) {
-      canReachAll = _compiler.enabledInvokeOn &&
+      canReachAll = _backend.hasInvokeOnSupport &&
           mask.needsNoSuchMethodHandling(selector, this);
     }
     return canReachAll ? commonMasks.dynamicType : mask;
@@ -1107,8 +1123,8 @@
       return true;
     }
     if (element.isInstanceMember) {
-      return !_compiler.resolverWorld.hasInvokedSetter(element, this) &&
-          !_compiler.resolverWorld.fieldSetters.contains(element);
+      return !resolverWorld.hasInvokedSetter(element, this) &&
+          !resolverWorld.fieldSetters.contains(element);
     }
     return false;
   }
diff --git a/pkg/compiler/tool/perf.dart b/pkg/compiler/tool/perf.dart
index 2cd9d0c3..348570d 100644
--- a/pkg/compiler/tool/perf.dart
+++ b/pkg/compiler/tool/perf.dart
@@ -382,7 +382,7 @@
           fullyEnqueueLibrary(library, enqueuer.resolution);
         });
 
-        backend.enqueueHelpers(enqueuer.resolution, globalDependencies);
+        backend.enqueueHelpers(enqueuer.resolution);
         resolveLibraryMetadata();
         reporter.log('Resolving...');
         processQueue(enqueuer.resolution, mainFunction);
diff --git a/pkg/dart2js_incremental/lib/caching_compiler.dart b/pkg/dart2js_incremental/lib/caching_compiler.dart
index 5582bab..34f67c64 100644
--- a/pkg/dart2js_incremental/lib/caching_compiler.dart
+++ b/pkg/dart2js_incremental/lib/caching_compiler.dart
@@ -35,17 +35,19 @@
     environment = {};
   }
   CompilerImpl compiler = cachedCompiler;
+  JavaScriptBackend backend = compiler?.backend;
   if (compiler == null ||
       compiler.libraryRoot != libraryRoot ||
       !compiler.options.hasIncrementalSupport ||
       compiler.hasCrashed ||
-      compiler.enqueuer.resolution.hasEnqueuedReflectiveElements ||
+      backend.mirrorsAnalysis.resolutionHandler.hasEnqueuedReflectiveElements ||
       compiler.deferredLoadTask.isProgramSplit) {
     if (compiler != null && compiler.options.hasIncrementalSupport) {
       print('***FLUSH***');
       if (compiler.hasCrashed) {
         print('Unable to reuse compiler due to crash.');
-      } else if (compiler.enqueuer.resolution.hasEnqueuedReflectiveElements) {
+      } else if (backend.mirrorsAnalysis.resolutionHandler
+                     .hasEnqueuedReflectiveElements) {
         print('Unable to reuse compiler due to dart:mirrors.');
       } else if (compiler.deferredLoadTask.isProgramSplit) {
         print('Unable to reuse compiler due to deferred loading.');
@@ -64,7 +66,7 @@
             packageConfig: packageConfig,
             options: options,
             environment: environment));
-    JavaScriptBackend backend = compiler.backend;
+    backend = compiler.backend;
 
     full.Emitter emitter = backend.emitter.emitter;
 
@@ -82,9 +84,8 @@
       return compiler.libraryLoader.loadLibrary(core).then((_) {
         // Likewise, always be prepared for runtimeType support.
         // TODO(johnniwinther): Add global switch to force RTI.
-        compiler.enabledRuntimeType = true;
-        backend.registerRuntimeType(
-            compiler.enqueuer.resolution, compiler.globalDependencies);
+        compiler.resolverWorld.hasRuntimeTypeSupport = true;
+        backend.registerRuntimeType(compiler.enqueuer.resolution);
         return compiler;
       });
     });
diff --git a/pkg/dev_compiler/lib/js/amd/dart_sdk.js b/pkg/dev_compiler/lib/js/amd/dart_sdk.js
index 2049dda..8d7c71e 100644
--- a/pkg/dev_compiler/lib/js/amd/dart_sdk.js
+++ b/pkg/dev_compiler/lib/js/amd/dart_sdk.js
@@ -1074,6 +1074,15 @@
     ctor.prototype = clazz.prototype;
     dart.defineProperty(clazz, name, {value: ctor, configurable: true});
   };
+  dart.defineEnumValues = function(enumClass, names) {
+    let values = [];
+    for (var i = 0; i < names.length; i++) {
+      let value = dart.const(new enumClass(i));
+      values.push(value);
+      Object.defineProperty(enumClass, names[i], {value: value, configurable: true});
+    }
+    enumClass.values = dart.constList(values, enumClass);
+  };
   dart.fn = function(closure, t) {
     if (t == null) {
       t = dart.definiteFunctionType(dart.dynamic, Array(closure.length).fill(dart.dynamic), void 0);
diff --git a/pkg/dev_compiler/lib/js/common/dart_sdk.js b/pkg/dev_compiler/lib/js/common/dart_sdk.js
index 6f93ee1..f5370bd 100644
--- a/pkg/dev_compiler/lib/js/common/dart_sdk.js
+++ b/pkg/dev_compiler/lib/js/common/dart_sdk.js
@@ -1074,6 +1074,15 @@
     ctor.prototype = clazz.prototype;
     dart.defineProperty(clazz, name, {value: ctor, configurable: true});
   };
+  dart.defineEnumValues = function(enumClass, names) {
+    let values = [];
+    for (var i = 0; i < names.length; i++) {
+      let value = dart.const(new enumClass(i));
+      values.push(value);
+      Object.defineProperty(enumClass, names[i], {value: value, configurable: true});
+    }
+    enumClass.values = dart.constList(values, enumClass);
+  };
   dart.fn = function(closure, t) {
     if (t == null) {
       t = dart.definiteFunctionType(dart.dynamic, Array(closure.length).fill(dart.dynamic), void 0);
diff --git a/pkg/dev_compiler/lib/js/es6/dart_sdk.js b/pkg/dev_compiler/lib/js/es6/dart_sdk.js
index 8bb83db..44083b7 100644
--- a/pkg/dev_compiler/lib/js/es6/dart_sdk.js
+++ b/pkg/dev_compiler/lib/js/es6/dart_sdk.js
@@ -1072,6 +1072,15 @@
   ctor.prototype = clazz.prototype;
   dart.defineProperty(clazz, name, {value: ctor, configurable: true});
 };
+dart.defineEnumValues = function(enumClass, names) {
+  let values = [];
+  for (var i = 0; i < names.length; i++) {
+    let value = dart.const(new enumClass(i));
+    values.push(value);
+    Object.defineProperty(enumClass, names[i], {value: value, configurable: true});
+  }
+  enumClass.values = dart.constList(values, enumClass);
+};
 dart.fn = function(closure, t) {
   if (t == null) {
     t = dart.definiteFunctionType(dart.dynamic, Array(closure.length).fill(dart.dynamic), void 0);
diff --git a/pkg/dev_compiler/lib/js/legacy/dart_sdk.js b/pkg/dev_compiler/lib/js/legacy/dart_sdk.js
index c1fe1c2..4f8489f 100644
--- a/pkg/dev_compiler/lib/js/legacy/dart_sdk.js
+++ b/pkg/dev_compiler/lib/js/legacy/dart_sdk.js
@@ -1075,6 +1075,15 @@
     ctor.prototype = clazz.prototype;
     dart.defineProperty(clazz, name, {value: ctor, configurable: true});
   };
+  dart.defineEnumValues = function(enumClass, names) {
+    let values = [];
+    for (var i = 0; i < names.length; i++) {
+      let value = dart.const(new enumClass(i));
+      values.push(value);
+      Object.defineProperty(enumClass, names[i], {value: value, configurable: true});
+    }
+    enumClass.values = dart.constList(values, enumClass);
+  };
   dart.fn = function(closure, t) {
     if (t == null) {
       t = dart.definiteFunctionType(dart.dynamic, Array(closure.length).fill(dart.dynamic), void 0);
diff --git a/pkg/dev_compiler/lib/sdk/ddc_sdk.sum b/pkg/dev_compiler/lib/sdk/ddc_sdk.sum
index 9e1cea1..80408b8 100644
--- a/pkg/dev_compiler/lib/sdk/ddc_sdk.sum
+++ b/pkg/dev_compiler/lib/sdk/ddc_sdk.sum
Binary files differ
diff --git a/pkg/dev_compiler/lib/src/compiler/code_generator.dart b/pkg/dev_compiler/lib/src/compiler/code_generator.dart
index 19e46d4..98afa9f 100644
--- a/pkg/dev_compiler/lib/src/compiler/code_generator.dart
+++ b/pkg/dev_compiler/lib/src/compiler/code_generator.dart
@@ -1096,12 +1096,12 @@
         element.fields.where((f) => f.type == type));
 
     // Create toString() method
-    var properties = new List<JS.Property>();
+    var nameProperties = new List<JS.Property>(fields.length);
     for (var i = 0; i < fields.length; ++i) {
-      properties.add(new JS.Property(
-          js.number(i), js.string('${type.name}.${fields[i].name}')));
+      nameProperties[i] = new JS.Property(
+          js.number(i), js.string('${type.name}.${fields[i].name}'));
     }
-    var nameMap = new JS.ObjectInitializer(properties, multiline: true);
+    var nameMap = new JS.ObjectInitializer(nameProperties, multiline: true);
     var toStringF = new JS.Method(js.string('toString'),
         js.call('function() { return #[this.index]; }', nameMap) as JS.Fun);
 
@@ -1113,21 +1113,16 @@
       js.statement('# = #', [id, classExpr])
     ];
 
-    // Create static fields for each enum value
-    for (var i = 0; i < fields.length; ++i) {
-      result.add(js.statement('#.# = #.const(new #(#));',
-          [id, fields[i].name, _runtimeModule, id, js.number(i)]));
-    }
-
-    // Create static values list
-    var values = new JS.ArrayInitializer(new List<JS.Expression>.from(
-        fields.map((f) => js.call('#.#', [id, f.name]))));
-
-    // dart.constList helper internally depends on _interceptors.JSArray.
+    // defineEnumValues internally depends on dart.constList which uses
+    // _interceptors.JSArray.
     _declareBeforeUse(_jsArray);
 
-    result.add(js.statement('#.values = #.constList(#, #);',
-        [id, _runtimeModule, values, _emitType(type)]));
+    // Create static fields for each enum value, and the "values" getter
+    result.add(_callHelperStatement('defineEnumValues(#, #);', [
+      id,
+      new JS.ArrayInitializer(fields.map((f) => _propertyName(f.name)).toList(),
+          multiline: true)
+    ]));
 
     return _statement(result);
   }
@@ -2486,7 +2481,7 @@
       JS.Block block = body;
       if (block.statements.length == 1) {
         JS.Statement s = block.statements[0];
-        if (s is JS.Return) body = s.value;
+        if (s is JS.Return && s.value != null) body = s.value;
       }
     }
 
@@ -3077,9 +3072,9 @@
             l,
             l,
             _runtimeModule,
-            name,
             _extensionSymbolsModule,
             name,
+            name,
             _visit(rhs)
           ])
         ]);
@@ -3376,9 +3371,9 @@
             l,
             l,
             _runtimeModule,
-            memberName,
             _extensionSymbolsModule,
             memberName,
+            memberName,
             l
           ])
         ]);
@@ -4755,9 +4750,9 @@
             l,
             l,
             _runtimeModule,
-            memberName,
             _extensionSymbolsModule,
             memberName,
+            memberName,
             l,
             _visitList(args)
           ])
diff --git a/pkg/dev_compiler/lib/src/compiler/command.dart b/pkg/dev_compiler/lib/src/compiler/command.dart
index 87b2a57..7d5e212 100644
--- a/pkg/dev_compiler/lib/src/compiler/command.dart
+++ b/pkg/dev_compiler/lib/src/compiler/command.dart
@@ -170,6 +170,7 @@
       var file = new File(summaryPath);
       if (!file.existsSync() ||
           _changed(file.readAsBytesSync(), module.summaryBytes)) {
+        if (!file.parent.existsSync()) file.parent.createSync(recursive: true);
         file.writeAsBytesSync(module.summaryBytes);
       }
     }
diff --git a/pkg/dev_compiler/lib/src/compiler/compiler.dart b/pkg/dev_compiler/lib/src/compiler/compiler.dart
index d2eeca4..92cfc59 100644
--- a/pkg/dev_compiler/lib/src/compiler/compiler.dart
+++ b/pkg/dev_compiler/lib/src/compiler/compiler.dart
@@ -502,13 +502,19 @@
       c += '\n//# sourceURL=${name.replaceAll("/", ".")}.js\n';
       c = 'eval(${JSON.encode(c)});\n';
     }
-    new File(jsPath).writeAsStringSync(c);
+
+    var file = new File(jsPath);
+    if (!file.parent.existsSync()) file.parent.createSync(recursive: true);
+    file.writeAsStringSync(c);
+
     // TODO(jacobr): it is a bit strange we are writing the source map to a file
     // even when options.inlineSourceMap is true. To be consistent perhaps we
     // should also write a copy of the source file without a sourcemap even when
     // inlineSourceMap is true.
     if (code.sourceMap != null) {
-      new File(mapPath).writeAsStringSync(JSON.encode(code.sourceMap));
+      file = new File(mapPath);
+      if (!file.parent.existsSync()) file.parent.createSync(recursive: true);
+      file.writeAsStringSync(JSON.encode(code.sourceMap));
     }
   }
 }
diff --git a/pkg/dev_compiler/test/codegen/closure.dart b/pkg/dev_compiler/test/codegen/closure.dart
index 2754282..ad2e3ab 100644
--- a/pkg/dev_compiler/test/codegen/closure.dart
+++ b/pkg/dev_compiler/test/codegen/closure.dart
@@ -61,6 +61,8 @@
 
 void main(args) {}
 
+var closure = () { return; };
+
 const String some_top_level_constant = "abc";
 final String some_top_level_final = "abc";
 String some_top_level_var = "abc";
diff --git a/pkg/dev_compiler/test/codegen/language/enum_value_name_test.dart b/pkg/dev_compiler/test/codegen/language/enum_value_name_test.dart
new file mode 100644
index 0000000..2b73f17
--- /dev/null
+++ b/pkg/dev_compiler/test/codegen/language/enum_value_name_test.dart
@@ -0,0 +1,13 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// SharedOptions=--enable-enum
+
+import 'package:expect/expect.dart';
+
+enum ErrorContext { general, name, description, targets }
+
+void main() {
+  Expect.equals(ErrorContext.name, ErrorContext.name);
+}
diff --git a/pkg/dev_compiler/test/codegen_expected/closure.js b/pkg/dev_compiler/test/codegen_expected/closure.js
index ebfd865..698b90f 100644
--- a/pkg/dev_compiler/test/codegen_expected/closure.js
+++ b/pkg/dev_compiler/test/codegen_expected/closure.js
@@ -10,6 +10,7 @@
 let Foo = () => (Foo = dart.constFn(closure.Foo$()))();
 let ListOfTAndTToListOfT = () => (ListOfTAndTToListOfT = dart.constFn(dart.definiteFunctionType(T => [core.List$(T), [core.List$(T), T]])))();
 let dynamicTovoid = () => (dynamicTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [dart.dynamic])))();
+let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))();
 closure.generic_function = function(T) {
   return (items: core.List<T>, seed: T): core.List<T> => {
     let strings = items[dartx.map](core.String)(dart.fn((i: T): string => dart.str`${i}`, dart.definiteFunctionType(core.String, [T])))[dartx.toList]();
@@ -116,6 +117,14 @@
 closure.main = function(args): void {
 };
 dart.fn(closure.main, dynamicTovoid());
+dart.defineLazy(closure, {
+  get closure() {
+    return dart.fn(() => {
+      return;
+    }, VoidTodynamic());
+  },
+  set closure(_) {}
+});
 /** @final {string} */
 closure.some_top_level_constant = "abc";
 /** @final {string} */
diff --git a/pkg/dev_compiler/test/worker/worker_test.dart b/pkg/dev_compiler/test/worker/worker_test.dart
index 6ad4c05..daa1841 100644
--- a/pkg/dev_compiler/test/worker/worker_test.dart
+++ b/pkg/dev_compiler/test/worker/worker_test.dart
@@ -16,7 +16,7 @@
   group('Hello World', () {
     final argsFile = new File('test/worker/hello_world.args').absolute;
     final inputDartFile = new File('test/worker/hello_world.dart').absolute;
-    final outputJsFile = new File('test/worker/hello_world.js').absolute;
+    final outputJsFile = new File('test/worker/out/hello_world.js').absolute;
     final dartSdkSummary = new File('lib/sdk/ddc_sdk.sum').absolute;
     final executableArgs = ['bin/dartdevc.dart'];
     final compilerArgs = [
@@ -36,7 +36,9 @@
 
     tearDown(() {
       if (inputDartFile.existsSync()) inputDartFile.deleteSync();
-      if (outputJsFile.existsSync()) outputJsFile.deleteSync();
+      if (outputJsFile.parent.existsSync()) {
+        outputJsFile.parent.deleteSync(recursive: true);
+      }
       if (argsFile.existsSync()) argsFile.deleteSync();
     });
 
diff --git a/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/classes.dart b/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/classes.dart
index 87ed08b..1c77871 100644
--- a/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/classes.dart
+++ b/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/classes.dart
@@ -540,3 +540,16 @@
   // like `caller` and `arguments`.
   $defineProperty($clazz, $name, { value: ctor, configurable: true });
 })()''');
+
+defineEnumValues(enumClass, names) => JS(
+    '',
+    '''(() => {
+  let values = [];
+  for (var i = 0; i < $names.length; i++) {
+    let value = $const_(new $enumClass(i));
+    values.push(value);
+    Object.defineProperty($enumClass, $names[i],
+        { value: value, configurable: true });
+  }
+  $enumClass.values = $constList(values, $enumClass);
+})()''');
diff --git a/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/operations.dart b/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/operations.dart
index c4a1d776..392abf0 100644
--- a/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/operations.dart
+++ b/pkg/dev_compiler/tool/input_sdk/private/ddc_runtime/operations.dart
@@ -706,8 +706,7 @@
 ///
 /// Canonicalize a constant list
 ///
-@JSExportName('constList')
-constList_(elements, elementType) => JS(
+constList(elements, elementType) => JS(
     '',
     '''(() => {
   function lookupNonTerminal(map, key) {
diff --git a/pkg/front_end/.analysis_options b/pkg/front_end/.analysis_options
new file mode 100644
index 0000000..a10d4c5
--- /dev/null
+++ b/pkg/front_end/.analysis_options
@@ -0,0 +1,2 @@
+analyzer:
+  strong-mode: true
diff --git a/pkg/front_end/BUILD.gn b/pkg/front_end/BUILD.gn
new file mode 100644
index 0000000..2ad4e93
--- /dev/null
+++ b/pkg/front_end/BUILD.gn
@@ -0,0 +1,16 @@
+# Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+# for details. All rights reserved. Use of this source code is governed by a
+# BSD-style license that can be found in the LICENSE file.
+
+import("//build/dart/dart_package.gni")
+
+dart_package("front_end") {
+  package_name = "front_end"
+
+  source_dir = "lib"
+
+  deps = [
+    "//third_party/dart-pkg/pub/path",
+    "//third_party/dart-pkg/pub/source_span",
+  ]
+}
diff --git a/pkg/front_end/lib/src/scanner/errors.dart b/pkg/front_end/lib/src/scanner/errors.dart
new file mode 100644
index 0000000..e5f66de
--- /dev/null
+++ b/pkg/front_end/lib/src/scanner/errors.dart
@@ -0,0 +1,336 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/**
+ * An error code associated with an [AnalysisError].
+ *
+ * Generally, we want to provide messages that consist of three sentences. From
+ * the user's perspective these sentences should explain:
+ *
+ * 1. what is wrong,
+ * 2. why is it wrong, and
+ * 3. how do I fix it.
+ *
+ * However, we combine the first two in the [message] and the last in the
+ * [correction].
+ *
+ * When composing messages (including correction messages) keep the following
+ * guidelines in mind.
+ *
+ * 1. The message should be a complete sentence starting with an uppercase
+ * letter, and ending with a period.
+ *
+ * 2. Reserved words and embedded identifiers should be in single quotes, so
+ * prefer double quotes for the complete message. For example,
+ * ```
+ * "The class '{0}' can't use 'super'."
+ * ```
+ * Notice that the word 'class' in the preceding message is not quoted as it
+ * refers to the concept 'class', not the reserved word. On the other hand,
+ * 'super' refers to the reserved word. Do not quote 'null' and numeric literals.
+ *
+ * 3. Do not try to compose messages, as it can make translating them hard.
+ *
+ * 4. Try to keep the error messages short, but informative.
+ *
+ * 5. Use simple words and terminology, assume the reader of the message doesn't
+ * have an advanced degree in math, and that English is not the reader's native
+ * language. Do not assume any formal computer science training. For example, do
+ * not use Latin abbreviations (prefer "that is" over "i.e.", and "for example"
+ * over "e.g."). Also avoid phrases such as "if and only if" and "iff"; that
+ * level of precision is unnecessary.
+ *
+ * 6. Prefer contractions when they are in common use, for example, prefer
+ * "can't" over "cannot". Using "cannot", "must not", "shall not", etc. is
+ * off-putting to people new to programming.
+ *
+ * 7. Use common terminology, preferably from the Dart Language Specification.
+ * This increases the user's chance of finding a good explanation on the web.
+ *
+ * 8. Do not try to be cute or funny. It is extremely frustrating to work on a
+ * product that crashes with a "tongue-in-cheek" message, especially if you did
+ * not want to use this product to begin with.
+ *
+ * 9. Do not lie, that is, do not write error messages containing phrases like
+ * "can't happen".  If the user ever saw this message, it would be a lie. Prefer
+ * messages like: "Internal error: This function should not be called when 'x'
+ * is null.".
+ *
+ * 10. Prefer to not use the imperative tone. That is, the message should not
+ * sound accusing or like it is ordering the user around. The computer should
+ * describe the problem, not criticize the user for violating the specification.
+ */
+abstract class ErrorCode {
+  /**
+   * The name of the error code.
+   */
+  final String name;
+
+  /**
+   * The template used to create the message to be displayed for this error. The
+   * message should indicate what is wrong and why it is wrong.
+   */
+  final String message;
+
+  /**
+   * The template used to create the correction to be displayed for this error,
+   * or `null` if there is no correction information for this error. The
+   * correction should indicate how the user can fix the error.
+   */
+  final String correction;
+
+  /**
+   * Initialize a newly created error code to have the given [name]. The message
+   * associated with the error will be created from the given [message]
+   * template. The correction associated with the error will be created from the
+   * given [correction] template.
+   */
+  const ErrorCode(this.name, this.message, [this.correction]);
+
+  /**
+   * The severity of the error.
+   */
+  ErrorSeverity get errorSeverity;
+
+  /**
+   * The type of the error.
+   */
+  ErrorType get type;
+
+  /**
+   * The unique name of this error code.
+   */
+  String get uniqueName => "$runtimeType.$name";
+
+  @override
+  String toString() => uniqueName;
+}
+
+/**
+ * The severity of an [ErrorCode].
+ */
+class ErrorSeverity implements Comparable<ErrorSeverity> {
+  /**
+   * The severity representing a non-error. This is never used for any error
+   * code, but is useful for clients.
+   */
+  static const ErrorSeverity NONE = const ErrorSeverity('NONE', 0, " ", "none");
+
+  /**
+   * The severity representing an informational level analysis issue.
+   */
+  static const ErrorSeverity INFO = const ErrorSeverity('INFO', 1, "I", "info");
+
+  /**
+   * The severity representing a warning. Warnings can become errors if the `-Werror` command
+   * line flag is specified.
+   */
+  static const ErrorSeverity WARNING =
+      const ErrorSeverity('WARNING', 2, "W", "warning");
+
+  /**
+   * The severity representing an error.
+   */
+  static const ErrorSeverity ERROR =
+      const ErrorSeverity('ERROR', 3, "E", "error");
+
+  static const List<ErrorSeverity> values = const [NONE, INFO, WARNING, ERROR];
+
+  /**
+   * The name of this error code.
+   */
+  final String name;
+
+  /**
+   * The ordinal value of the error code.
+   */
+  final int ordinal;
+
+  /**
+   * The name of the severity used when producing machine output.
+   */
+  final String machineCode;
+
+  /**
+   * The name of the severity used when producing readable output.
+   */
+  final String displayName;
+
+  /**
+   * Initialize a newly created severity with the given names.
+   */
+  const ErrorSeverity(
+      this.name, this.ordinal, this.machineCode, this.displayName);
+
+  @override
+  int get hashCode => ordinal;
+
+  @override
+  int compareTo(ErrorSeverity other) => ordinal - other.ordinal;
+
+  /**
+   * Return the severity constant that represents the greatest severity.
+   */
+  ErrorSeverity max(ErrorSeverity severity) =>
+      this.ordinal >= severity.ordinal ? this : severity;
+
+  @override
+  String toString() => name;
+}
+
+/**
+ * The type of an [ErrorCode].
+ */
+class ErrorType implements Comparable<ErrorType> {
+  /**
+   * Task (todo) comments in user code.
+   */
+  static const ErrorType TODO = const ErrorType('TODO', 0, ErrorSeverity.INFO);
+
+  /**
+   * Extra analysis run over the code to follow best practices, which are not in
+   * the Dart Language Specification.
+   */
+  static const ErrorType HINT = const ErrorType('HINT', 1, ErrorSeverity.INFO);
+
+  /**
+   * Compile-time errors are errors that preclude execution. A compile time
+   * error must be reported by a Dart compiler before the erroneous code is
+   * executed.
+   */
+  static const ErrorType COMPILE_TIME_ERROR =
+      const ErrorType('COMPILE_TIME_ERROR', 2, ErrorSeverity.ERROR);
+
+  /**
+   * Checked mode compile-time errors are errors that preclude execution in
+   * checked mode.
+   */
+  static const ErrorType CHECKED_MODE_COMPILE_TIME_ERROR = const ErrorType(
+      'CHECKED_MODE_COMPILE_TIME_ERROR', 3, ErrorSeverity.ERROR);
+
+  /**
+   * Static warnings are those warnings reported by the static checker. They
+   * have no effect on execution. Static warnings must be provided by Dart
+   * compilers used during development.
+   */
+  static const ErrorType STATIC_WARNING =
+      const ErrorType('STATIC_WARNING', 4, ErrorSeverity.WARNING);
+
+  /**
+   * Many, but not all, static warnings relate to types, in which case they are
+   * known as static type warnings.
+   */
+  static const ErrorType STATIC_TYPE_WARNING =
+      const ErrorType('STATIC_TYPE_WARNING', 5, ErrorSeverity.WARNING);
+
+  /**
+   * Syntactic errors are errors produced as a result of input that does not
+   * conform to the grammar.
+   */
+  static const ErrorType SYNTACTIC_ERROR =
+      const ErrorType('SYNTACTIC_ERROR', 6, ErrorSeverity.ERROR);
+
+  /**
+   * Lint warnings describe style and best practice recommendations that can be
+   * used to formalize a project's style guidelines.
+   */
+  static const ErrorType LINT = const ErrorType('LINT', 7, ErrorSeverity.INFO);
+
+  static const List<ErrorType> values = const [
+    TODO,
+    HINT,
+    COMPILE_TIME_ERROR,
+    CHECKED_MODE_COMPILE_TIME_ERROR,
+    STATIC_WARNING,
+    STATIC_TYPE_WARNING,
+    SYNTACTIC_ERROR,
+    LINT
+  ];
+
+  /**
+   * The name of this error type.
+   */
+  final String name;
+
+  /**
+   * The ordinal value of the error type.
+   */
+  final int ordinal;
+
+  /**
+   * The severity of this type of error.
+   */
+  final ErrorSeverity severity;
+
+  /**
+   * Initialize a newly created error type to have the given [name] and
+   * [severity].
+   */
+  const ErrorType(this.name, this.ordinal, this.severity);
+
+  String get displayName => name.toLowerCase().replaceAll('_', ' ');
+
+  @override
+  int get hashCode => ordinal;
+
+  @override
+  int compareTo(ErrorType other) => ordinal - other.ordinal;
+
+  @override
+  String toString() => name;
+}
+
+/**
+ * The error codes used for errors detected by the scanner.
+ */
+class ScannerErrorCode extends ErrorCode {
+  /**
+   * Parameters:
+   * 0: the illegal character
+   */
+  static const ScannerErrorCode ILLEGAL_CHARACTER =
+      const ScannerErrorCode('ILLEGAL_CHARACTER', "Illegal character '{0}'.");
+
+  static const ScannerErrorCode MISSING_DIGIT =
+      const ScannerErrorCode('MISSING_DIGIT', "Decimal digit expected.");
+
+  static const ScannerErrorCode MISSING_HEX_DIGIT = const ScannerErrorCode(
+      'MISSING_HEX_DIGIT', "Hexidecimal digit expected.");
+
+  static const ScannerErrorCode MISSING_QUOTE =
+      const ScannerErrorCode('MISSING_QUOTE', "Expected quote (' or \").");
+
+  /**
+   * Parameters:
+   * 0: the path of the file that cannot be read
+   */
+  static const ScannerErrorCode UNABLE_GET_CONTENT = const ScannerErrorCode(
+      'UNABLE_GET_CONTENT', "Unable to get content of '{0}'.");
+
+  static const ScannerErrorCode UNTERMINATED_MULTI_LINE_COMMENT =
+      const ScannerErrorCode(
+          'UNTERMINATED_MULTI_LINE_COMMENT',
+          "Unterminated multi-line comment.",
+          "Try terminating the comment with '*/', or "
+          "removing any unbalanced occurances of '/*' (because comments nest in Dart).");
+
+  static const ScannerErrorCode UNTERMINATED_STRING_LITERAL =
+      const ScannerErrorCode(
+          'UNTERMINATED_STRING_LITERAL', "Unterminated string literal.");
+
+  /**
+   * Initialize a newly created error code to have the given [name]. The message
+   * associated with the error will be created from the given [message]
+   * template. The correction associated with the error will be created from the
+   * given [correction] template.
+   */
+  const ScannerErrorCode(String name, String message, [String correction])
+      : super(name, message, correction);
+
+  @override
+  ErrorSeverity get errorSeverity => ErrorSeverity.ERROR;
+
+  @override
+  ErrorType get type => ErrorType.SYNTACTIC_ERROR;
+}
diff --git a/pkg/front_end/lib/src/scanner/interner.dart b/pkg/front_end/lib/src/scanner/interner.dart
new file mode 100644
index 0000000..9f248c9
--- /dev/null
+++ b/pkg/front_end/lib/src/scanner/interner.dart
@@ -0,0 +1,24 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/**
+ * The interface `Interner` defines the behavior of objects that can intern
+ * strings.
+ */
+abstract class Interner {
+  /**
+   * Return a string that is identical to all of the other strings that have
+   * been interned that are equal to the given [string].
+   */
+  String intern(String string);
+}
+
+/**
+ * The class `NullInterner` implements an interner that does nothing (does not
+ * actually intern any strings).
+ */
+class NullInterner implements Interner {
+  @override
+  String intern(String string) => string;
+}
diff --git a/pkg/front_end/lib/src/scanner/reader.dart b/pkg/front_end/lib/src/scanner/reader.dart
new file mode 100644
index 0000000..ee9d6c0
--- /dev/null
+++ b/pkg/front_end/lib/src/scanner/reader.dart
@@ -0,0 +1,44 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/**
+ * An object used by the scanner to read the characters to be scanned.
+ */
+abstract class CharacterReader {
+  /**
+   * The current offset relative to the beginning of the source. Return the
+   * initial offset if the scanner has not yet scanned the source code, and one
+   * (1) past the end of the source code if the entire source code has been
+   * scanned.
+   */
+  int get offset;
+
+  /**
+   * Set the current offset relative to the beginning of the source to the given
+   * [offset]. The new offset must be between the initial offset and one (1)
+   * past the end of the source code.
+   */
+  void set offset(int offset);
+
+  /**
+   * Advance the current position and return the character at the new current
+   * position.
+   */
+  int advance();
+
+  /**
+   * Return the substring of the source code between the [start] offset and the
+   * modified current position. The current position is modified by adding the
+   * [endDelta], which is the number of characters after the current location to
+   * be included in the string, or the number of characters before the current
+   * location to be excluded if the offset is negative.
+   */
+  String getString(int start, int endDelta);
+
+  /**
+   * Return the character at the current position without changing the current
+   * position.
+   */
+  int peek();
+}
diff --git a/pkg/front_end/lib/src/scanner/scanner.dart b/pkg/front_end/lib/src/scanner/scanner.dart
new file mode 100644
index 0000000..be259fc
--- /dev/null
+++ b/pkg/front_end/lib/src/scanner/scanner.dart
@@ -0,0 +1,1341 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:charcode/ascii.dart';
+import 'package:front_end/src/scanner/errors.dart';
+import 'package:front_end/src/scanner/reader.dart';
+import 'package:front_end/src/scanner/string_utilities.dart';
+import 'package:front_end/src/scanner/token.dart';
+
+/**
+ * A state in a state machine used to scan keywords.
+ */
+class KeywordState {
+  /**
+   * An empty transition table used by leaf states.
+   */
+  static List<KeywordState> _EMPTY_TABLE = new List<KeywordState>(26);
+
+  /**
+   * The initial state in the state machine.
+   */
+  static final KeywordState KEYWORD_STATE = _createKeywordStateTable();
+
+  /**
+   * A table mapping characters to the states to which those characters will
+   * transition. (The index into the array is the offset from the character
+   * `'a'` to the transitioning character.)
+   */
+  final List<KeywordState> _table;
+
+  /**
+   * The keyword that is recognized by this state, or `null` if this state is
+   * not a terminal state.
+   */
+  Keyword _keyword;
+
+  /**
+   * Initialize a newly created state to have the given transitions and to
+   * recognize the keyword with the given [syntax].
+   */
+  KeywordState(this._table, String syntax) {
+    this._keyword = (syntax == null) ? null : Keyword.keywords[syntax];
+  }
+
+  /**
+   * Return the keyword that was recognized by this state, or `null` if this
+   * state does not recognized a keyword.
+   */
+  Keyword keyword() => _keyword;
+
+  /**
+   * Return the state that follows this state on a transition of the given
+   * [character], or `null` if there is no valid state reachable from this state
+   * with such a transition.
+   */
+  KeywordState next(int character) => _table[character - $a];
+
+  /**
+   * Create the next state in the state machine where we have already recognized
+   * the subset of strings in the given array of [strings] starting at the given
+   * [offset] and having the given [length]. All of these strings have a common
+   * prefix and the next character is at the given [start] index.
+   */
+  static KeywordState _computeKeywordStateTable(
+      int start, List<String> strings, int offset, int length) {
+    List<KeywordState> result = new List<KeywordState>(26);
+    assert(length != 0);
+    int chunk = $nul;
+    int chunkStart = -1;
+    bool isLeaf = false;
+    for (int i = offset; i < offset + length; i++) {
+      if (strings[i].length == start) {
+        isLeaf = true;
+      }
+      if (strings[i].length > start) {
+        int c = strings[i].codeUnitAt(start);
+        if (chunk != c) {
+          if (chunkStart != -1) {
+            result[chunk - $a] = _computeKeywordStateTable(
+                start + 1, strings, chunkStart, i - chunkStart);
+          }
+          chunkStart = i;
+          chunk = c;
+        }
+      }
+    }
+    if (chunkStart != -1) {
+      assert(result[chunk - $a] == null);
+      result[chunk - $a] = _computeKeywordStateTable(
+          start + 1, strings, chunkStart, offset + length - chunkStart);
+    } else {
+      assert(length == 1);
+      return new KeywordState(_EMPTY_TABLE, strings[offset]);
+    }
+    if (isLeaf) {
+      return new KeywordState(result, strings[offset]);
+    } else {
+      return new KeywordState(result, null);
+    }
+  }
+
+  /**
+   * Create and return the initial state in the state machine.
+   */
+  static KeywordState _createKeywordStateTable() {
+    List<Keyword> values = Keyword.values;
+    List<String> strings = new List<String>(values.length);
+    for (int i = 0; i < values.length; i++) {
+      strings[i] = values[i].syntax;
+    }
+    strings.sort();
+    return _computeKeywordStateTable(0, strings, 0, strings.length);
+  }
+}
+
+/**
+ * The class `Scanner` implements a scanner for Dart code.
+ *
+ * The lexical structure of Dart is ambiguous without knowledge of the context
+ * in which a token is being scanned. For example, without context we cannot
+ * determine whether source of the form "<<" should be scanned as a single
+ * left-shift operator or as two left angle brackets. This scanner does not have
+ * any context, so it always resolves such conflicts by scanning the longest
+ * possible token.
+ */
+abstract class Scanner {
+  /**
+   * The reader used to access the characters in the source.
+   */
+  final CharacterReader _reader;
+
+  /**
+   * The flag specifying whether documentation comments should be parsed.
+   */
+  bool _preserveComments = true;
+
+  /**
+   * The token pointing to the head of the linked list of tokens.
+   */
+  Token _tokens;
+
+  /**
+   * The last token that was scanned.
+   */
+  Token _tail;
+
+  /**
+   * The first token in the list of comment tokens found since the last
+   * non-comment token.
+   */
+  Token _firstComment;
+
+  /**
+   * The last token in the list of comment tokens found since the last
+   * non-comment token.
+   */
+  Token _lastComment;
+
+  /**
+   * The index of the first character of the current token.
+   */
+  int _tokenStart = 0;
+
+  /**
+   * A list containing the offsets of the first character of each line in the
+   * source code.
+   */
+  List<int> _lineStarts = new List<int>();
+
+  /**
+   * A list, treated something like a stack, of tokens representing the
+   * beginning of a matched pair. It is used to pair the end tokens with the
+   * begin tokens.
+   */
+  List<BeginToken> _groupingStack = new List<BeginToken>();
+
+  /**
+   * The index of the last item in the [_groupingStack], or `-1` if the stack is
+   * empty.
+   */
+  int _stackEnd = -1;
+
+  /**
+   * A flag indicating whether any unmatched groups were found during the parse.
+   */
+  bool _hasUnmatchedGroups = false;
+
+  /**
+   * A flag indicating whether to parse generic method comments, of the form
+   * `/*=T*/` and `/*<T>*/`.
+   */
+  bool scanGenericMethodComments = false;
+
+  /**
+   * A flag indicating whether the lazy compound assignment operators '&&=' and
+   * '||=' are enabled.
+   */
+  bool scanLazyAssignmentOperators = false;
+
+  /**
+   * Initialize a newly created scanner to scan characters from the given
+   * character [_reader].
+   */
+  Scanner(this._reader) {
+    _tokens = new Token(TokenType.EOF, -1);
+    _tokens.setNext(_tokens);
+    _tail = _tokens;
+    _tokenStart = -1;
+    _lineStarts.add(0);
+  }
+
+  /**
+   * Return the first token in the token stream that was scanned.
+   */
+  Token get firstToken => _tokens.next;
+
+  /**
+   * Return `true` if any unmatched groups were found during the parse.
+   */
+  bool get hasUnmatchedGroups => _hasUnmatchedGroups;
+
+  /**
+   * Return an array containing the offsets of the first character of each line
+   * in the source code.
+   */
+  List<int> get lineStarts => _lineStarts;
+
+  /**
+   * Set whether documentation tokens should be preserved.
+   */
+  void set preserveComments(bool preserveComments) {
+    this._preserveComments = preserveComments;
+  }
+
+  /**
+   * Return the last token that was scanned.
+   */
+  Token get tail => _tail;
+
+  /**
+   * Append the given [token] to the end of the token stream being scanned. This
+   * method is intended to be used by subclasses that copy existing tokens and
+   * should not normally be used because it will fail to correctly associate any
+   * comments with the token being passed in.
+   */
+  void appendToken(Token token) {
+    _tail = _tail.setNext(token);
+  }
+
+  int bigSwitch(int next) {
+    _beginToken();
+    if (next == $cr) {
+      // '\r'
+      next = _reader.advance();
+      if (next == $lf) {
+        // '\n'
+        next = _reader.advance();
+      }
+      recordStartOfLine();
+      return next;
+    } else if (next == $lf) {
+      // '\n'
+      next = _reader.advance();
+      recordStartOfLine();
+      return next;
+    } else if (next == $tab || next == $space) {
+      // '\t' || ' '
+      return _reader.advance();
+    }
+    if (next == $r) {
+      // 'r'
+      int peek = _reader.peek();
+      if (peek == $double_quote || peek == $single_quote) {
+        // '"' || "'"
+        int start = _reader.offset;
+        return _tokenizeString(_reader.advance(), start, true);
+      }
+    }
+    if ($a <= next && next <= $z) {
+      // 'a'-'z'
+      return _tokenizeKeywordOrIdentifier(next, true);
+    }
+    if (($A <= next && next <= $Z) || next == $_ || next == $$) {
+      // 'A'-'Z' || '_' || '$'
+      return _tokenizeIdentifier(next, _reader.offset, true);
+    }
+    if (next == $lt) {
+      // '<'
+      return _tokenizeLessThan(next);
+    }
+    if (next == $gt) {
+      // '>'
+      return _tokenizeGreaterThan(next);
+    }
+    if (next == $equal) {
+      // '='
+      return _tokenizeEquals(next);
+    }
+    if (next == $exclamation) {
+      // '!'
+      return _tokenizeExclamation(next);
+    }
+    if (next == $plus) {
+      // '+'
+      return _tokenizePlus(next);
+    }
+    if (next == $minus) {
+      // '-'
+      return _tokenizeMinus(next);
+    }
+    if (next == $asterisk) {
+      // '*'
+      return _tokenizeMultiply(next);
+    }
+    if (next == $percent) {
+      // '%'
+      return _tokenizePercent(next);
+    }
+    if (next == $ampersand) {
+      // '&'
+      return _tokenizeAmpersand(next);
+    }
+    if (next == $bar) {
+      // '|'
+      return _tokenizeBar(next);
+    }
+    if (next == $caret) {
+      // '^'
+      return _tokenizeCaret(next);
+    }
+    if (next == $open_bracket) {
+      // '['
+      return _tokenizeOpenSquareBracket(next);
+    }
+    if (next == $tilde) {
+      // '~'
+      return _tokenizeTilde(next);
+    }
+    if (next == $backslash) {
+      // '\\'
+      _appendTokenOfType(TokenType.BACKSLASH);
+      return _reader.advance();
+    }
+    if (next == $hash) {
+      // '#'
+      return _tokenizeTag(next);
+    }
+    if (next == $open_paren) {
+      // '('
+      _appendBeginToken(TokenType.OPEN_PAREN);
+      return _reader.advance();
+    }
+    if (next == $close_paren) {
+      // ')'
+      _appendEndToken(TokenType.CLOSE_PAREN, TokenType.OPEN_PAREN);
+      return _reader.advance();
+    }
+    if (next == $comma) {
+      // ','
+      _appendTokenOfType(TokenType.COMMA);
+      return _reader.advance();
+    }
+    if (next == $colon) {
+      // ':'
+      _appendTokenOfType(TokenType.COLON);
+      return _reader.advance();
+    }
+    if (next == $semicolon) {
+      // ';'
+      _appendTokenOfType(TokenType.SEMICOLON);
+      return _reader.advance();
+    }
+    if (next == $question) {
+      // '?'
+      return _tokenizeQuestion();
+    }
+    if (next == $close_bracket) {
+      // ']'
+      _appendEndToken(
+          TokenType.CLOSE_SQUARE_BRACKET, TokenType.OPEN_SQUARE_BRACKET);
+      return _reader.advance();
+    }
+    if (next == $backquote) {
+      // '`'
+      _appendTokenOfType(TokenType.BACKPING);
+      return _reader.advance();
+    }
+    if (next == $lbrace) {
+      // '{'
+      _appendBeginToken(TokenType.OPEN_CURLY_BRACKET);
+      return _reader.advance();
+    }
+    if (next == $rbrace) {
+      // '}'
+      _appendEndToken(
+          TokenType.CLOSE_CURLY_BRACKET, TokenType.OPEN_CURLY_BRACKET);
+      return _reader.advance();
+    }
+    if (next == $slash) {
+      // '/'
+      return _tokenizeSlashOrComment(next);
+    }
+    if (next == $at) {
+      // '@'
+      _appendTokenOfType(TokenType.AT);
+      return _reader.advance();
+    }
+    if (next == $double_quote || next == $single_quote) {
+      // '"' || "'"
+      return _tokenizeString(next, _reader.offset, false);
+    }
+    if (next == $dot) {
+      // '.'
+      return _tokenizeDotOrNumber(next);
+    }
+    if (next == $0) {
+      // '0'
+      return _tokenizeHexOrNumber(next);
+    }
+    if ($1 <= next && next <= $9) {
+      // '1'-'9'
+      return _tokenizeNumber(next);
+    }
+    if (next == -1) {
+      // EOF
+      return -1;
+    }
+    _reportError(ScannerErrorCode.ILLEGAL_CHARACTER, [next]);
+    return _reader.advance();
+  }
+
+  /**
+   * Record the fact that we are at the beginning of a new line in the source.
+   */
+  void recordStartOfLine() {
+    _lineStarts.add(_reader.offset);
+  }
+
+  /**
+   * Report an error at the given offset. The [errorCode] is the error code
+   * indicating the nature of the error. The [arguments] are any arguments
+   * needed to complete the error message
+   */
+  void reportError(
+      ScannerErrorCode errorCode, int offset, List<Object> arguments);
+
+  /**
+   * Record that the source begins on the given [line] and [column] at the
+   * current offset as given by the reader. Both the line and the column are
+   * one-based indexes. The line starts for lines before the given line will not
+   * be correct.
+   *
+   * This method must be invoked at most one time and must be invoked before
+   * scanning begins. The values provided must be sensible. The results are
+   * undefined if these conditions are violated.
+   */
+  void setSourceStart(int line, int column) {
+    int offset = _reader.offset;
+    if (line < 1 || column < 1 || offset < 0 || (line + column - 2) >= offset) {
+      return;
+    }
+    for (int i = 2; i < line; i++) {
+      _lineStarts.add(1);
+    }
+    _lineStarts.add(offset - column + 1);
+  }
+
+  /**
+   * Scan the source code to produce a list of tokens representing the source,
+   * and return the first token in the list of tokens that were produced.
+   */
+  Token tokenize() {
+    int next = _reader.advance();
+    while (next != -1) {
+      next = bigSwitch(next);
+    }
+    _appendEofToken();
+    return firstToken;
+  }
+
+  void _appendBeginToken(TokenType type) {
+    BeginToken token;
+    if (_firstComment == null) {
+      token = new BeginToken(type, _tokenStart);
+    } else {
+      token = new BeginTokenWithComment(type, _tokenStart, _firstComment);
+      _firstComment = null;
+      _lastComment = null;
+    }
+    _tail = _tail.setNext(token);
+    _groupingStack.add(token);
+    _stackEnd++;
+  }
+
+  void _appendCommentToken(TokenType type, String value) {
+    CommentToken token = null;
+    TokenType genericComment = _matchGenericMethodCommentType(value);
+    if (genericComment != null) {
+      token = new CommentToken(genericComment, value, _tokenStart);
+    } else if (!_preserveComments) {
+      // Ignore comment tokens if client specified that it doesn't need them.
+      return;
+    } else {
+      // OK, remember comment tokens.
+      if (_isDocumentationComment(value)) {
+        token = new DocumentationCommentToken(type, value, _tokenStart);
+      } else {
+        token = new CommentToken(type, value, _tokenStart);
+      }
+    }
+    if (_firstComment == null) {
+      _firstComment = token;
+      _lastComment = _firstComment;
+    } else {
+      _lastComment = _lastComment.setNext(token);
+    }
+  }
+
+  void _appendEndToken(TokenType type, TokenType beginType) {
+    Token token;
+    if (_firstComment == null) {
+      token = new Token(type, _tokenStart);
+    } else {
+      token = new TokenWithComment(type, _tokenStart, _firstComment);
+      _firstComment = null;
+      _lastComment = null;
+    }
+    _tail = _tail.setNext(token);
+    if (_stackEnd >= 0) {
+      BeginToken begin = _groupingStack[_stackEnd];
+      if (begin.type == beginType) {
+        begin.endToken = token;
+        _groupingStack.removeAt(_stackEnd--);
+      }
+    }
+  }
+
+  void _appendEofToken() {
+    Token eofToken;
+    if (_firstComment == null) {
+      eofToken = new Token(TokenType.EOF, _reader.offset + 1);
+    } else {
+      eofToken = new TokenWithComment(
+          TokenType.EOF, _reader.offset + 1, _firstComment);
+      _firstComment = null;
+      _lastComment = null;
+    }
+    // The EOF token points to itself so that there is always infinite
+    // look-ahead.
+    eofToken.setNext(eofToken);
+    _tail = _tail.setNext(eofToken);
+    if (_stackEnd >= 0) {
+      _hasUnmatchedGroups = true;
+      // TODO(brianwilkerson) Fix the ungrouped tokens?
+    }
+  }
+
+  void _appendKeywordToken(Keyword keyword) {
+    if (_firstComment == null) {
+      _tail = _tail.setNext(new KeywordToken(keyword, _tokenStart));
+    } else {
+      _tail = _tail.setNext(
+          new KeywordTokenWithComment(keyword, _tokenStart, _firstComment));
+      _firstComment = null;
+      _lastComment = null;
+    }
+  }
+
+  void _appendStringToken(TokenType type, String value) {
+    if (_firstComment == null) {
+      _tail = _tail.setNext(new StringToken(type, value, _tokenStart));
+    } else {
+      _tail = _tail.setNext(
+          new StringTokenWithComment(type, value, _tokenStart, _firstComment));
+      _firstComment = null;
+      _lastComment = null;
+    }
+  }
+
+  void _appendStringTokenWithOffset(TokenType type, String value, int offset) {
+    if (_firstComment == null) {
+      _tail = _tail.setNext(new StringToken(type, value, _tokenStart + offset));
+    } else {
+      _tail = _tail.setNext(new StringTokenWithComment(
+          type, value, _tokenStart + offset, _firstComment));
+      _firstComment = null;
+      _lastComment = null;
+    }
+  }
+
+  void _appendTokenOfType(TokenType type) {
+    if (_firstComment == null) {
+      _tail = _tail.setNext(new Token(type, _tokenStart));
+    } else {
+      _tail =
+          _tail.setNext(new TokenWithComment(type, _tokenStart, _firstComment));
+      _firstComment = null;
+      _lastComment = null;
+    }
+  }
+
+  void _appendTokenOfTypeWithOffset(TokenType type, int offset) {
+    if (_firstComment == null) {
+      _tail = _tail.setNext(new Token(type, offset));
+    } else {
+      _tail = _tail.setNext(new TokenWithComment(type, offset, _firstComment));
+      _firstComment = null;
+      _lastComment = null;
+    }
+  }
+
+  void _beginToken() {
+    _tokenStart = _reader.offset;
+  }
+
+  /**
+   * Return the beginning token corresponding to a closing brace that was found
+   * while scanning inside a string interpolation expression. Tokens that cannot
+   * be matched with the closing brace will be dropped from the stack.
+   */
+  BeginToken _findTokenMatchingClosingBraceInInterpolationExpression() {
+    while (_stackEnd >= 0) {
+      BeginToken begin = _groupingStack[_stackEnd];
+      if (begin.type == TokenType.OPEN_CURLY_BRACKET ||
+          begin.type == TokenType.STRING_INTERPOLATION_EXPRESSION) {
+        return begin;
+      }
+      _hasUnmatchedGroups = true;
+      _groupingStack.removeAt(_stackEnd--);
+    }
+    //
+    // We should never get to this point because we wouldn't be inside a string
+    // interpolation expression unless we had previously found the start of the
+    // expression.
+    //
+    return null;
+  }
+
+  /**
+   * Checks if [value] is the start of a generic method type annotation comment.
+   *
+   * This can either be of the form `/*<T>*/` or `/*=T*/`. The token type is
+   * returned, or null if it was not a generic method comment.
+   */
+  TokenType _matchGenericMethodCommentType(String value) {
+    if (scanGenericMethodComments) {
+      // Match /*< and >*/
+      if (StringUtilities.startsWith3(value, 0, $slash, $asterisk, $lt) &&
+          StringUtilities.endsWith3(value, $gt, $asterisk, $slash)) {
+        return TokenType.GENERIC_METHOD_TYPE_LIST;
+      }
+      // Match /*=
+      if (StringUtilities.startsWith3(value, 0, $slash, $asterisk, $equal)) {
+        return TokenType.GENERIC_METHOD_TYPE_ASSIGN;
+      }
+    }
+    return null;
+  }
+
+  /**
+   * Report an error at the current offset. The [errorCode] is the error code
+   * indicating the nature of the error. The [arguments] are any arguments
+   * needed to complete the error message
+   */
+  void _reportError(ScannerErrorCode errorCode, [List<Object> arguments]) {
+    reportError(errorCode, _reader.offset, arguments);
+  }
+
+  int _select(int choice, TokenType yesType, TokenType noType) {
+    int next = _reader.advance();
+    if (next == choice) {
+      _appendTokenOfType(yesType);
+      return _reader.advance();
+    } else {
+      _appendTokenOfType(noType);
+      return next;
+    }
+  }
+
+  int _selectWithOffset(
+      int choice, TokenType yesType, TokenType noType, int offset) {
+    int next = _reader.advance();
+    if (next == choice) {
+      _appendTokenOfTypeWithOffset(yesType, offset);
+      return _reader.advance();
+    } else {
+      _appendTokenOfTypeWithOffset(noType, offset);
+      return next;
+    }
+  }
+
+  int _tokenizeAmpersand(int next) {
+    // &&= && &= &
+    next = _reader.advance();
+    if (next == $ampersand) {
+      next = _reader.advance();
+      if (scanLazyAssignmentOperators && next == $equal) {
+        _appendTokenOfType(TokenType.AMPERSAND_AMPERSAND_EQ);
+        return _reader.advance();
+      }
+      _appendTokenOfType(TokenType.AMPERSAND_AMPERSAND);
+      return next;
+    } else if (next == $equal) {
+      _appendTokenOfType(TokenType.AMPERSAND_EQ);
+      return _reader.advance();
+    } else {
+      _appendTokenOfType(TokenType.AMPERSAND);
+      return next;
+    }
+  }
+
+  int _tokenizeBar(int next) {
+    // ||= || |= |
+    next = _reader.advance();
+    if (next == $bar) {
+      next = _reader.advance();
+      if (scanLazyAssignmentOperators && next == $equal) {
+        _appendTokenOfType(TokenType.BAR_BAR_EQ);
+        return _reader.advance();
+      }
+      _appendTokenOfType(TokenType.BAR_BAR);
+      return next;
+    } else if (next == $equal) {
+      _appendTokenOfType(TokenType.BAR_EQ);
+      return _reader.advance();
+    } else {
+      _appendTokenOfType(TokenType.BAR);
+      return next;
+    }
+  }
+
+  int _tokenizeCaret(int next) =>
+      _select($equal, TokenType.CARET_EQ, TokenType.CARET);
+
+  int _tokenizeDotOrNumber(int next) {
+    int start = _reader.offset;
+    next = _reader.advance();
+    if ($0 <= next && next <= $9) {
+      return _tokenizeFractionPart(next, start);
+    } else if ($dot == next) {
+      return _select(
+          $dot, TokenType.PERIOD_PERIOD_PERIOD, TokenType.PERIOD_PERIOD);
+    } else {
+      _appendTokenOfType(TokenType.PERIOD);
+      return next;
+    }
+  }
+
+  int _tokenizeEquals(int next) {
+    // = == =>
+    next = _reader.advance();
+    if (next == $equal) {
+      _appendTokenOfType(TokenType.EQ_EQ);
+      return _reader.advance();
+    } else if (next == $gt) {
+      _appendTokenOfType(TokenType.FUNCTION);
+      return _reader.advance();
+    }
+    _appendTokenOfType(TokenType.EQ);
+    return next;
+  }
+
+  int _tokenizeExclamation(int next) {
+    // ! !=
+    next = _reader.advance();
+    if (next == $equal) {
+      _appendTokenOfType(TokenType.BANG_EQ);
+      return _reader.advance();
+    }
+    _appendTokenOfType(TokenType.BANG);
+    return next;
+  }
+
+  int _tokenizeExponent(int next) {
+    if (next == $plus || next == $minus) {
+      next = _reader.advance();
+    }
+    bool hasDigits = false;
+    while (true) {
+      if ($0 <= next && next <= $9) {
+        hasDigits = true;
+      } else {
+        if (!hasDigits) {
+          _reportError(ScannerErrorCode.MISSING_DIGIT);
+        }
+        return next;
+      }
+      next = _reader.advance();
+    }
+  }
+
+  int _tokenizeFractionPart(int next, int start) {
+    bool done = false;
+    bool hasDigit = false;
+    LOOP:
+    while (!done) {
+      if ($0 <= next && next <= $9) {
+        hasDigit = true;
+      } else if ($e == next || $E == next) {
+        hasDigit = true;
+        next = _tokenizeExponent(_reader.advance());
+        done = true;
+        continue LOOP;
+      } else {
+        done = true;
+        continue LOOP;
+      }
+      next = _reader.advance();
+    }
+    if (!hasDigit) {
+      _appendStringToken(TokenType.INT, _reader.getString(start, -2));
+      if ($dot == next) {
+        return _selectWithOffset($dot, TokenType.PERIOD_PERIOD_PERIOD,
+            TokenType.PERIOD_PERIOD, _reader.offset - 1);
+      }
+      _appendTokenOfTypeWithOffset(TokenType.PERIOD, _reader.offset - 1);
+      return bigSwitch(next);
+    }
+    _appendStringToken(
+        TokenType.DOUBLE, _reader.getString(start, next < 0 ? 0 : -1));
+    return next;
+  }
+
+  int _tokenizeGreaterThan(int next) {
+    // > >= >> >>=
+    next = _reader.advance();
+    if ($equal == next) {
+      _appendTokenOfType(TokenType.GT_EQ);
+      return _reader.advance();
+    } else if ($gt == next) {
+      next = _reader.advance();
+      if ($equal == next) {
+        _appendTokenOfType(TokenType.GT_GT_EQ);
+        return _reader.advance();
+      } else {
+        _appendTokenOfType(TokenType.GT_GT);
+        return next;
+      }
+    } else {
+      _appendTokenOfType(TokenType.GT);
+      return next;
+    }
+  }
+
+  int _tokenizeHex(int next) {
+    int start = _reader.offset - 1;
+    bool hasDigits = false;
+    while (true) {
+      next = _reader.advance();
+      if (($0 <= next && next <= $9) ||
+          ($A <= next && next <= $F) ||
+          ($a <= next && next <= $f)) {
+        hasDigits = true;
+      } else {
+        if (!hasDigits) {
+          _reportError(ScannerErrorCode.MISSING_HEX_DIGIT);
+        }
+        _appendStringToken(
+            TokenType.HEXADECIMAL, _reader.getString(start, next < 0 ? 0 : -1));
+        return next;
+      }
+    }
+  }
+
+  int _tokenizeHexOrNumber(int next) {
+    int x = _reader.peek();
+    if (x == $x || x == $X) {
+      _reader.advance();
+      return _tokenizeHex(x);
+    }
+    return _tokenizeNumber(next);
+  }
+
+  int _tokenizeIdentifier(int next, int start, bool allowDollar) {
+    while (($a <= next && next <= $z) ||
+        ($A <= next && next <= $Z) ||
+        ($0 <= next && next <= $9) ||
+        next == $_ ||
+        (next == $$ && allowDollar)) {
+      next = _reader.advance();
+    }
+    _appendStringToken(
+        TokenType.IDENTIFIER, _reader.getString(start, next < 0 ? 0 : -1));
+    return next;
+  }
+
+  int _tokenizeInterpolatedExpression(int next, int start) {
+    _appendBeginToken(TokenType.STRING_INTERPOLATION_EXPRESSION);
+    next = _reader.advance();
+    while (next != -1) {
+      if (next == $rbrace) {
+        BeginToken begin =
+            _findTokenMatchingClosingBraceInInterpolationExpression();
+        if (begin == null) {
+          _beginToken();
+          _appendTokenOfType(TokenType.CLOSE_CURLY_BRACKET);
+          next = _reader.advance();
+          _beginToken();
+          return next;
+        } else if (begin.type == TokenType.OPEN_CURLY_BRACKET) {
+          _beginToken();
+          _appendEndToken(
+              TokenType.CLOSE_CURLY_BRACKET, TokenType.OPEN_CURLY_BRACKET);
+          next = _reader.advance();
+          _beginToken();
+        } else if (begin.type == TokenType.STRING_INTERPOLATION_EXPRESSION) {
+          _beginToken();
+          _appendEndToken(TokenType.CLOSE_CURLY_BRACKET,
+              TokenType.STRING_INTERPOLATION_EXPRESSION);
+          next = _reader.advance();
+          _beginToken();
+          return next;
+        }
+      } else {
+        next = bigSwitch(next);
+      }
+    }
+    return next;
+  }
+
+  int _tokenizeInterpolatedIdentifier(int next, int start) {
+    _appendStringTokenWithOffset(
+        TokenType.STRING_INTERPOLATION_IDENTIFIER, "\$", 0);
+    if (($A <= next && next <= $Z) ||
+        ($a <= next && next <= $z) ||
+        next == $_) {
+      _beginToken();
+      next = _tokenizeKeywordOrIdentifier(next, false);
+    }
+    _beginToken();
+    return next;
+  }
+
+  int _tokenizeKeywordOrIdentifier(int next, bool allowDollar) {
+    KeywordState state = KeywordState.KEYWORD_STATE;
+    int start = _reader.offset;
+    while (state != null && $a <= next && next <= $z) {
+      state = state.next(next);
+      next = _reader.advance();
+    }
+    if (state == null || state.keyword() == null) {
+      return _tokenizeIdentifier(next, start, allowDollar);
+    }
+    if (($A <= next && next <= $Z) ||
+        ($0 <= next && next <= $9) ||
+        next == $_ ||
+        next == $$) {
+      return _tokenizeIdentifier(next, start, allowDollar);
+    } else if (next < 128) {
+      _appendKeywordToken(state.keyword());
+      return next;
+    } else {
+      return _tokenizeIdentifier(next, start, allowDollar);
+    }
+  }
+
+  int _tokenizeLessThan(int next) {
+    // < <= << <<=
+    next = _reader.advance();
+    if ($equal == next) {
+      _appendTokenOfType(TokenType.LT_EQ);
+      return _reader.advance();
+    } else if ($lt == next) {
+      return _select($equal, TokenType.LT_LT_EQ, TokenType.LT_LT);
+    } else {
+      _appendTokenOfType(TokenType.LT);
+      return next;
+    }
+  }
+
+  int _tokenizeMinus(int next) {
+    // - -- -=
+    next = _reader.advance();
+    if (next == $minus) {
+      _appendTokenOfType(TokenType.MINUS_MINUS);
+      return _reader.advance();
+    } else if (next == $equal) {
+      _appendTokenOfType(TokenType.MINUS_EQ);
+      return _reader.advance();
+    } else {
+      _appendTokenOfType(TokenType.MINUS);
+      return next;
+    }
+  }
+
+  int _tokenizeMultiLineComment(int next) {
+    int nesting = 1;
+    next = _reader.advance();
+    while (true) {
+      if (-1 == next) {
+        _reportError(ScannerErrorCode.UNTERMINATED_MULTI_LINE_COMMENT);
+        _appendCommentToken(
+            TokenType.MULTI_LINE_COMMENT, _reader.getString(_tokenStart, 0));
+        return next;
+      } else if ($asterisk == next) {
+        next = _reader.advance();
+        if ($slash == next) {
+          --nesting;
+          if (0 == nesting) {
+            _appendCommentToken(TokenType.MULTI_LINE_COMMENT,
+                _reader.getString(_tokenStart, 0));
+            return _reader.advance();
+          } else {
+            next = _reader.advance();
+          }
+        }
+      } else if ($slash == next) {
+        next = _reader.advance();
+        if ($asterisk == next) {
+          next = _reader.advance();
+          ++nesting;
+        }
+      } else if (next == $cr) {
+        next = _reader.advance();
+        if (next == $lf) {
+          next = _reader.advance();
+        }
+        recordStartOfLine();
+      } else if (next == $lf) {
+        next = _reader.advance();
+        recordStartOfLine();
+      } else {
+        next = _reader.advance();
+      }
+    }
+  }
+
+  int _tokenizeMultiLineRawString(int quoteChar, int start) {
+    int next = _reader.advance();
+    outer:
+    while (next != -1) {
+      while (next != quoteChar) {
+        if (next == -1) {
+          break outer;
+        } else if (next == $cr) {
+          next = _reader.advance();
+          if (next == $lf) {
+            next = _reader.advance();
+          }
+          recordStartOfLine();
+        } else if (next == $lf) {
+          next = _reader.advance();
+          recordStartOfLine();
+        } else {
+          next = _reader.advance();
+        }
+      }
+      next = _reader.advance();
+      if (next == quoteChar) {
+        next = _reader.advance();
+        if (next == quoteChar) {
+          _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
+          return _reader.advance();
+        }
+      }
+    }
+    _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL);
+    _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
+    return _reader.advance();
+  }
+
+  int _tokenizeMultiLineString(int quoteChar, int start, bool raw) {
+    if (raw) {
+      return _tokenizeMultiLineRawString(quoteChar, start);
+    }
+    int next = _reader.advance();
+    while (next != -1) {
+      if (next == $$) {
+        _appendStringToken(TokenType.STRING, _reader.getString(start, -1));
+        next = _tokenizeStringInterpolation(start);
+        _beginToken();
+        start = _reader.offset;
+        continue;
+      }
+      if (next == quoteChar) {
+        next = _reader.advance();
+        if (next == quoteChar) {
+          next = _reader.advance();
+          if (next == quoteChar) {
+            _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
+            return _reader.advance();
+          }
+        }
+        continue;
+      }
+      if (next == $backslash) {
+        next = _reader.advance();
+        if (next == -1) {
+          break;
+        }
+        if (next == $cr) {
+          next = _reader.advance();
+          if (next == $lf) {
+            next = _reader.advance();
+          }
+          recordStartOfLine();
+        } else if (next == $lf) {
+          recordStartOfLine();
+          next = _reader.advance();
+        } else {
+          next = _reader.advance();
+        }
+      } else if (next == $cr) {
+        next = _reader.advance();
+        if (next == $lf) {
+          next = _reader.advance();
+        }
+        recordStartOfLine();
+      } else if (next == $lf) {
+        recordStartOfLine();
+        next = _reader.advance();
+      } else {
+        next = _reader.advance();
+      }
+    }
+    _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL);
+    if (start == _reader.offset) {
+      _appendStringTokenWithOffset(TokenType.STRING, "", 1);
+    } else {
+      _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
+    }
+    return _reader.advance();
+  }
+
+  int _tokenizeMultiply(int next) =>
+      _select($equal, TokenType.STAR_EQ, TokenType.STAR);
+
+  int _tokenizeNumber(int next) {
+    int start = _reader.offset;
+    while (true) {
+      next = _reader.advance();
+      if ($0 <= next && next <= $9) {
+        continue;
+      } else if (next == $dot) {
+        return _tokenizeFractionPart(_reader.advance(), start);
+      } else if (next == $e || next == $E) {
+        return _tokenizeFractionPart(next, start);
+      } else {
+        _appendStringToken(
+            TokenType.INT, _reader.getString(start, next < 0 ? 0 : -1));
+        return next;
+      }
+    }
+  }
+
+  int _tokenizeOpenSquareBracket(int next) {
+    // [ []  []=
+    next = _reader.advance();
+    if (next == $close_bracket) {
+      return _select($equal, TokenType.INDEX_EQ, TokenType.INDEX);
+    } else {
+      _appendBeginToken(TokenType.OPEN_SQUARE_BRACKET);
+      return next;
+    }
+  }
+
+  int _tokenizePercent(int next) =>
+      _select($equal, TokenType.PERCENT_EQ, TokenType.PERCENT);
+
+  int _tokenizePlus(int next) {
+    // + ++ +=
+    next = _reader.advance();
+    if ($plus == next) {
+      _appendTokenOfType(TokenType.PLUS_PLUS);
+      return _reader.advance();
+    } else if ($equal == next) {
+      _appendTokenOfType(TokenType.PLUS_EQ);
+      return _reader.advance();
+    } else {
+      _appendTokenOfType(TokenType.PLUS);
+      return next;
+    }
+  }
+
+  int _tokenizeQuestion() {
+    // ? ?. ?? ??=
+    int next = _reader.advance();
+    if (next == $dot) {
+      // '.'
+      _appendTokenOfType(TokenType.QUESTION_PERIOD);
+      return _reader.advance();
+    } else if (next == $question) {
+      // '?'
+      next = _reader.advance();
+      if (next == $equal) {
+        // '='
+        _appendTokenOfType(TokenType.QUESTION_QUESTION_EQ);
+        return _reader.advance();
+      } else {
+        _appendTokenOfType(TokenType.QUESTION_QUESTION);
+        return next;
+      }
+    } else {
+      _appendTokenOfType(TokenType.QUESTION);
+      return next;
+    }
+  }
+
+  int _tokenizeSingleLineComment(int next) {
+    while (true) {
+      next = _reader.advance();
+      if (-1 == next) {
+        _appendCommentToken(
+            TokenType.SINGLE_LINE_COMMENT, _reader.getString(_tokenStart, 0));
+        return next;
+      } else if ($lf == next || $cr == next) {
+        _appendCommentToken(
+            TokenType.SINGLE_LINE_COMMENT, _reader.getString(_tokenStart, -1));
+        return next;
+      }
+    }
+  }
+
+  int _tokenizeSingleLineRawString(int next, int quoteChar, int start) {
+    next = _reader.advance();
+    while (next != -1) {
+      if (next == quoteChar) {
+        _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
+        return _reader.advance();
+      } else if (next == $cr || next == $lf) {
+        _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL);
+        _appendStringToken(TokenType.STRING, _reader.getString(start, -1));
+        return _reader.advance();
+      }
+      next = _reader.advance();
+    }
+    _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL);
+    _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
+    return _reader.advance();
+  }
+
+  int _tokenizeSingleLineString(int next, int quoteChar, int start) {
+    while (next != quoteChar) {
+      if (next == $backslash) {
+        next = _reader.advance();
+      } else if (next == $$) {
+        _appendStringToken(TokenType.STRING, _reader.getString(start, -1));
+        next = _tokenizeStringInterpolation(start);
+        _beginToken();
+        start = _reader.offset;
+        continue;
+      }
+      if (next <= $cr && (next == $lf || next == $cr || next == -1)) {
+        _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL);
+        if (start == _reader.offset) {
+          _appendStringTokenWithOffset(TokenType.STRING, "", 1);
+        } else if (next == -1) {
+          _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
+        } else {
+          _appendStringToken(TokenType.STRING, _reader.getString(start, -1));
+        }
+        return _reader.advance();
+      }
+      next = _reader.advance();
+    }
+    _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
+    return _reader.advance();
+  }
+
+  int _tokenizeSlashOrComment(int next) {
+    next = _reader.advance();
+    if ($asterisk == next) {
+      return _tokenizeMultiLineComment(next);
+    } else if ($slash == next) {
+      return _tokenizeSingleLineComment(next);
+    } else if ($equal == next) {
+      _appendTokenOfType(TokenType.SLASH_EQ);
+      return _reader.advance();
+    } else {
+      _appendTokenOfType(TokenType.SLASH);
+      return next;
+    }
+  }
+
+  int _tokenizeString(int next, int start, bool raw) {
+    int quoteChar = next;
+    next = _reader.advance();
+    if (quoteChar == next) {
+      next = _reader.advance();
+      if (quoteChar == next) {
+        // Multiline string.
+        return _tokenizeMultiLineString(quoteChar, start, raw);
+      } else {
+        // Empty string.
+        _appendStringToken(TokenType.STRING, _reader.getString(start, -1));
+        return next;
+      }
+    }
+    if (raw) {
+      return _tokenizeSingleLineRawString(next, quoteChar, start);
+    } else {
+      return _tokenizeSingleLineString(next, quoteChar, start);
+    }
+  }
+
+  int _tokenizeStringInterpolation(int start) {
+    _beginToken();
+    int next = _reader.advance();
+    if (next == $lbrace) {
+      return _tokenizeInterpolatedExpression(next, start);
+    } else {
+      return _tokenizeInterpolatedIdentifier(next, start);
+    }
+  }
+
+  int _tokenizeTag(int next) {
+    // # or #!.*[\n\r]
+    if (_reader.offset == 0) {
+      if (_reader.peek() == $exclamation) {
+        do {
+          next = _reader.advance();
+        } while (next != $lf && next != $cr && next > 0);
+        _appendStringToken(
+            TokenType.SCRIPT_TAG, _reader.getString(_tokenStart, 0));
+        return next;
+      }
+    }
+    _appendTokenOfType(TokenType.HASH);
+    return _reader.advance();
+  }
+
+  int _tokenizeTilde(int next) {
+    // ~ ~/ ~/=
+    next = _reader.advance();
+    if (next == $slash) {
+      return _select($equal, TokenType.TILDE_SLASH_EQ, TokenType.TILDE_SLASH);
+    } else {
+      _appendTokenOfType(TokenType.TILDE);
+      return next;
+    }
+  }
+
+  /**
+   * Checks if [value] is a single-line or multi-line comment.
+   */
+  static bool _isDocumentationComment(String value) {
+    return StringUtilities.startsWith3(value, 0, $slash, $slash, $slash) ||
+        StringUtilities.startsWith3(value, 0, $slash, $asterisk, $asterisk);
+  }
+}
diff --git a/pkg/front_end/lib/src/scanner/string_utilities.dart b/pkg/front_end/lib/src/scanner/string_utilities.dart
new file mode 100644
index 0000000..8387923
--- /dev/null
+++ b/pkg/front_end/lib/src/scanner/string_utilities.dart
@@ -0,0 +1,26 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:front_end/src/scanner/interner.dart';
+
+class StringUtilities {
+  static Interner INTERNER = new NullInterner();
+
+  static bool endsWith3(String str, int c1, int c2, int c3) {
+    var length = str.length;
+    return length >= 3 &&
+        str.codeUnitAt(length - 3) == c1 &&
+        str.codeUnitAt(length - 2) == c2 &&
+        str.codeUnitAt(length - 1) == c3;
+  }
+
+  static String intern(String string) => INTERNER.intern(string);
+
+  static bool startsWith3(String str, int start, int c1, int c2, int c3) {
+    return str.length - start >= 3 &&
+        str.codeUnitAt(start) == c1 &&
+        str.codeUnitAt(start + 1) == c2 &&
+        str.codeUnitAt(start + 2) == c3;
+  }
+}
diff --git a/pkg/front_end/lib/src/scanner/syntactic_entity.dart b/pkg/front_end/lib/src/scanner/syntactic_entity.dart
new file mode 100644
index 0000000..b21a503
--- /dev/null
+++ b/pkg/front_end/lib/src/scanner/syntactic_entity.dart
@@ -0,0 +1,26 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/**
+ * Interface representing a syntactic entity (either a token or an AST node)
+ * which has a location and extent in the source file.
+ */
+abstract class SyntacticEntity {
+  /**
+   * Return the offset from the beginning of the file to the character after the
+   * last character of the syntactic entity.
+   */
+  int get end;
+
+  /**
+   * Return the number of characters in the syntactic entity's source range.
+   */
+  int get length;
+
+  /**
+   * Return the offset from the beginning of the file to the first character in
+   * the syntactic entity.
+   */
+  int get offset;
+}
diff --git a/pkg/front_end/lib/src/scanner/token.dart b/pkg/front_end/lib/src/scanner/token.dart
new file mode 100644
index 0000000..10d4924
--- /dev/null
+++ b/pkg/front_end/lib/src/scanner/token.dart
@@ -0,0 +1,1294 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/**
+ * Defines the tokens that are produced by the scanner, used by the parser, and
+ * referenced from the [AST structure](ast.dart).
+ */
+
+import 'dart:collection';
+
+import 'package:front_end/src/scanner/string_utilities.dart';
+import 'package:front_end/src/scanner/syntactic_entity.dart';
+
+/**
+ * The opening half of a grouping pair of tokens. This is used for curly
+ * brackets ('{'), parentheses ('('), and square brackets ('[').
+ */
+class BeginToken extends SimpleToken {
+  /**
+   * The token that corresponds to this token.
+   */
+  Token endToken;
+
+  /**
+   * Initialize a newly created token to have the given [type] at the given
+   * [offset].
+   */
+  BeginToken(TokenType type, int offset) : super(type, offset) {
+    assert(type == TokenType.OPEN_CURLY_BRACKET ||
+        type == TokenType.OPEN_PAREN ||
+        type == TokenType.OPEN_SQUARE_BRACKET ||
+        type == TokenType.STRING_INTERPOLATION_EXPRESSION);
+  }
+
+  @override
+  Token copy() => new BeginToken(type, offset);
+}
+
+/**
+ * A begin token that is preceded by comments.
+ */
+class BeginTokenWithComment extends BeginToken implements TokenWithComment {
+  /**
+   * The first comment in the list of comments that precede this token.
+   */
+  @override
+  CommentToken _precedingComment;
+
+  /**
+   * Initialize a newly created token to have the given [type] at the given
+   * [offset] and to be preceded by the comments reachable from the given
+   * [_precedingComment].
+   */
+  BeginTokenWithComment(TokenType type, int offset, this._precedingComment)
+      : super(type, offset) {
+    _setCommentParent(_precedingComment);
+  }
+
+  @override
+  CommentToken get precedingComments => _precedingComment;
+
+  @override
+  void set precedingComments(CommentToken comment) {
+    _precedingComment = comment;
+    _setCommentParent(_precedingComment);
+  }
+
+  @override
+  void applyDelta(int delta) {
+    super.applyDelta(delta);
+    Token token = precedingComments;
+    while (token != null) {
+      token.applyDelta(delta);
+      token = token.next;
+    }
+  }
+
+  @override
+  Token copy() =>
+      new BeginTokenWithComment(type, offset, copyComments(precedingComments));
+}
+
+/**
+ * A token representing a comment.
+ */
+class CommentToken extends StringToken {
+  /**
+   * The token that contains this comment.
+   */
+  TokenWithComment parent;
+
+  /**
+   * Initialize a newly created token to represent a token of the given [type]
+   * with the given [value] at the given [offset].
+   */
+  CommentToken(TokenType type, String value, int offset)
+      : super(type, value, offset);
+
+  @override
+  CommentToken copy() => new CommentToken(type, _value, offset);
+
+  /**
+   * Remove this comment token from the list.
+   *
+   * This is used when we decide to interpret the comment as syntax.
+   */
+  void remove() {
+    if (previous != null) {
+      previous.setNextWithoutSettingPrevious(next);
+      next?.previous = previous;
+    } else {
+      assert(parent.precedingComments == this);
+      parent.precedingComments = next;
+    }
+  }
+}
+
+/**
+ * A documentation comment token.
+ */
+class DocumentationCommentToken extends CommentToken {
+  /**
+   * The references embedded within the documentation comment.
+   * This list will be empty unless this is a documentation comment that has
+   * references embedded within it.
+   */
+  final List<Token> references = <Token>[];
+
+  /**
+   * Initialize a newly created token to represent a token of the given [type]
+   * with the given [value] at the given [offset].
+   */
+  DocumentationCommentToken(TokenType type, String value, int offset)
+      : super(type, value, offset);
+
+  @override
+  CommentToken copy() {
+    DocumentationCommentToken copy =
+        new DocumentationCommentToken(type, _value, offset);
+    references.forEach((ref) => copy.references.add(ref.copy()));
+    return copy;
+  }
+}
+
+/**
+ * The keywords in the Dart programming language.
+ *
+ * Clients may not extend, implement or mix-in this class.
+ */
+class Keyword {
+  static const Keyword ABSTRACT = const Keyword._('ABSTRACT', "abstract", true);
+
+  static const Keyword AS = const Keyword._('AS', "as", true);
+
+  static const Keyword ASSERT = const Keyword._('ASSERT', "assert");
+
+  static const Keyword BREAK = const Keyword._('BREAK', "break");
+
+  static const Keyword CASE = const Keyword._('CASE', "case");
+
+  static const Keyword CATCH = const Keyword._('CATCH', "catch");
+
+  static const Keyword CLASS = const Keyword._('CLASS', "class");
+
+  static const Keyword CONST = const Keyword._('CONST', "const");
+
+  static const Keyword CONTINUE = const Keyword._('CONTINUE', "continue");
+
+  static const Keyword DEFAULT = const Keyword._('DEFAULT', "default");
+
+  static const Keyword DEFERRED = const Keyword._('DEFERRED', "deferred", true);
+
+  static const Keyword DO = const Keyword._('DO', "do");
+
+  static const Keyword DYNAMIC = const Keyword._('DYNAMIC', "dynamic", true);
+
+  static const Keyword ELSE = const Keyword._('ELSE', "else");
+
+  static const Keyword ENUM = const Keyword._('ENUM', "enum");
+
+  static const Keyword EXPORT = const Keyword._('EXPORT', "export", true);
+
+  static const Keyword EXTENDS = const Keyword._('EXTENDS', "extends");
+
+  static const Keyword EXTERNAL = const Keyword._('EXTERNAL', "external", true);
+
+  static const Keyword FACTORY = const Keyword._('FACTORY', "factory", true);
+
+  static const Keyword FALSE = const Keyword._('FALSE', "false");
+
+  static const Keyword FINAL = const Keyword._('FINAL', "final");
+
+  static const Keyword FINALLY = const Keyword._('FINALLY', "finally");
+
+  static const Keyword FOR = const Keyword._('FOR', "for");
+
+  static const Keyword GET = const Keyword._('GET', "get", true);
+
+  static const Keyword IF = const Keyword._('IF', "if");
+
+  static const Keyword IMPLEMENTS =
+      const Keyword._('IMPLEMENTS', "implements", true);
+
+  static const Keyword IMPORT = const Keyword._('IMPORT', "import", true);
+
+  static const Keyword IN = const Keyword._('IN', "in");
+
+  static const Keyword IS = const Keyword._('IS', "is");
+
+  static const Keyword LIBRARY = const Keyword._('LIBRARY', "library", true);
+
+  static const Keyword NEW = const Keyword._('NEW', "new");
+
+  static const Keyword NULL = const Keyword._('NULL', "null");
+
+  static const Keyword OPERATOR = const Keyword._('OPERATOR', "operator", true);
+
+  static const Keyword PART = const Keyword._('PART', "part", true);
+
+  static const Keyword RETHROW = const Keyword._('RETHROW', "rethrow");
+
+  static const Keyword RETURN = const Keyword._('RETURN', "return");
+
+  static const Keyword SET = const Keyword._('SET', "set", true);
+
+  static const Keyword STATIC = const Keyword._('STATIC', "static", true);
+
+  static const Keyword SUPER = const Keyword._('SUPER', "super");
+
+  static const Keyword SWITCH = const Keyword._('SWITCH', "switch");
+
+  static const Keyword THIS = const Keyword._('THIS', "this");
+
+  static const Keyword THROW = const Keyword._('THROW', "throw");
+
+  static const Keyword TRUE = const Keyword._('TRUE', "true");
+
+  static const Keyword TRY = const Keyword._('TRY', "try");
+
+  static const Keyword TYPEDEF = const Keyword._('TYPEDEF', "typedef", true);
+
+  static const Keyword VAR = const Keyword._('VAR', "var");
+
+  static const Keyword VOID = const Keyword._('VOID', "void");
+
+  static const Keyword WHILE = const Keyword._('WHILE', "while");
+
+  static const Keyword WITH = const Keyword._('WITH', "with");
+
+  static const List<Keyword> values = const <Keyword>[
+    ABSTRACT,
+    AS,
+    ASSERT,
+    BREAK,
+    CASE,
+    CATCH,
+    CLASS,
+    CONST,
+    CONTINUE,
+    DEFAULT,
+    DEFERRED,
+    DO,
+    DYNAMIC,
+    ELSE,
+    ENUM,
+    EXPORT,
+    EXTENDS,
+    EXTERNAL,
+    FACTORY,
+    FALSE,
+    FINAL,
+    FINALLY,
+    FOR,
+    GET,
+    IF,
+    IMPLEMENTS,
+    IMPORT,
+    IN,
+    IS,
+    LIBRARY,
+    NEW,
+    NULL,
+    OPERATOR,
+    PART,
+    RETHROW,
+    RETURN,
+    SET,
+    STATIC,
+    SUPER,
+    SWITCH,
+    THIS,
+    THROW,
+    TRUE,
+    TRY,
+    TYPEDEF,
+    VAR,
+    VOID,
+    WHILE,
+    WITH,
+  ];
+
+  /**
+   * A table mapping the lexemes of keywords to the corresponding keyword.
+   */
+  static final Map<String, Keyword> keywords = _createKeywordMap();
+
+  /**
+   * The name of the keyword type.
+   */
+  final String name;
+
+  /**
+   * The lexeme for the keyword.
+   */
+  final String syntax;
+
+  /**
+   * A flag indicating whether the keyword is a pseudo-keyword. Pseudo keywords
+   * can be used as identifiers.
+   */
+  final bool isPseudoKeyword;
+
+  /**
+   * Initialize a newly created keyword to have the given [name] and [syntax].
+   * The keyword is a pseudo-keyword if the [isPseudoKeyword] flag is `true`.
+   */
+  const Keyword._(this.name, this.syntax, [this.isPseudoKeyword = false]);
+
+  @override
+  String toString() => name;
+
+  /**
+   * Create a table mapping the lexemes of keywords to the corresponding keyword
+   * and return the table that was created.
+   */
+  static Map<String, Keyword> _createKeywordMap() {
+    LinkedHashMap<String, Keyword> result =
+        new LinkedHashMap<String, Keyword>();
+    for (Keyword keyword in values) {
+      result[keyword.syntax] = keyword;
+    }
+    return result;
+  }
+}
+
+/**
+ * A token representing a keyword in the language.
+ */
+class KeywordToken extends SimpleToken {
+  @override
+  final Keyword keyword;
+
+  /**
+   * Initialize a newly created token to represent the given [keyword] at the
+   * given [offset].
+   */
+  KeywordToken(this.keyword, int offset) : super(TokenType.KEYWORD, offset);
+
+  @override
+  String get lexeme => keyword.syntax;
+
+  @override
+  Token copy() => new KeywordToken(keyword, offset);
+
+  @override
+  Keyword value() => keyword;
+}
+
+/**
+ * A keyword token that is preceded by comments.
+ */
+class KeywordTokenWithComment extends KeywordToken implements TokenWithComment {
+  /**
+   * The first comment in the list of comments that precede this token.
+   */
+  @override
+  CommentToken _precedingComment;
+
+  /**
+   * Initialize a newly created token to to represent the given [keyword] at the
+   * given [offset] and to be preceded by the comments reachable from the given
+   * [_precedingComment].
+   */
+  KeywordTokenWithComment(Keyword keyword, int offset, this._precedingComment)
+      : super(keyword, offset) {
+    _setCommentParent(_precedingComment);
+  }
+
+  @override
+  CommentToken get precedingComments => _precedingComment;
+
+  void set precedingComments(CommentToken comment) {
+    _precedingComment = comment;
+    _setCommentParent(_precedingComment);
+  }
+
+  @override
+  void applyDelta(int delta) {
+    super.applyDelta(delta);
+    Token token = precedingComments;
+    while (token != null) {
+      token.applyDelta(delta);
+      token = token.next;
+    }
+  }
+
+  @override
+  Token copy() => new KeywordTokenWithComment(
+      keyword, offset, copyComments(precedingComments));
+}
+
+/**
+ * A token that was scanned from the input. Each token knows which tokens
+ * precede and follow it, acting as a link in a doubly linked list of tokens.
+ */
+class SimpleToken implements Token {
+  /**
+   * The type of the token.
+   */
+  @override
+  final TokenType type;
+
+  /**
+   * The offset from the beginning of the file to the first character in the
+   * token.
+   */
+  @override
+  int offset = 0;
+
+  /**
+   * The previous token in the token stream.
+   */
+  @override
+  Token previous;
+
+  /**
+   * The next token in the token stream.
+   */
+  Token _next;
+
+  /**
+   * Initialize a newly created token to have the given [type] and [offset].
+   */
+  SimpleToken(this.type, this.offset);
+
+  @override
+  int get end => offset + length;
+
+  @override
+  bool get isOperator => type.isOperator;
+
+  @override
+  bool get isSynthetic => length == 0;
+
+  @override
+  bool get isUserDefinableOperator => type.isUserDefinableOperator;
+
+  @override
+  Keyword get keyword => null;
+
+  @override
+  int get length => lexeme.length;
+
+  @override
+  String get lexeme => type.lexeme;
+
+  @override
+  Token get next => _next;
+
+  @override
+  CommentToken get precedingComments => null;
+
+  @override
+  void applyDelta(int delta) {
+    offset += delta;
+  }
+
+  @override
+  Token copy() => new Token(type, offset);
+
+  @override
+  Token copyComments(Token token) {
+    if (token == null) {
+      return null;
+    }
+    Token head = token.copy();
+    Token tail = head;
+    token = token.next;
+    while (token != null) {
+      tail = tail.setNext(token.copy());
+      token = token.next;
+    }
+    return head;
+  }
+
+  @override
+  bool matchesAny(List<TokenType> types) {
+    for (TokenType type in types) {
+      if (this.type == type) {
+        return true;
+      }
+    }
+    return false;
+  }
+
+  @override
+  Token setNext(Token token) {
+    _next = token;
+    token.previous = this;
+    return token;
+  }
+
+  @override
+  Token setNextWithoutSettingPrevious(Token token) {
+    _next = token;
+    return token;
+  }
+
+  @override
+  String toString() => lexeme;
+
+  @override
+  Object value() => type.lexeme;
+
+  /**
+   * Sets the `parent` property to `this` for the given [comment] and all the
+   * next tokens.
+   */
+  void _setCommentParent(CommentToken comment) {
+    while (comment != null) {
+      comment.parent = this;
+      comment = comment.next;
+    }
+  }
+}
+
+/**
+ * A token whose value is independent of it's type.
+ */
+class StringToken extends SimpleToken {
+  /**
+   * The lexeme represented by this token.
+   */
+  String _value;
+
+  /**
+   * Initialize a newly created token to represent a token of the given [type]
+   * with the given [value] at the given [offset].
+   */
+  StringToken(TokenType type, String value, int offset) : super(type, offset) {
+    this._value = StringUtilities.intern(value);
+  }
+
+  @override
+  String get lexeme => _value;
+
+  @override
+  Token copy() => new StringToken(type, _value, offset);
+
+  @override
+  String value() => _value;
+}
+
+/**
+ * A string token that is preceded by comments.
+ */
+class StringTokenWithComment extends StringToken implements TokenWithComment {
+  /**
+   * The first comment in the list of comments that precede this token.
+   */
+  CommentToken _precedingComment;
+
+  /**
+   * Initialize a newly created token to have the given [type] at the given
+   * [offset] and to be preceded by the comments reachable from the given
+   * [comment].
+   */
+  StringTokenWithComment(
+      TokenType type, String value, int offset, this._precedingComment)
+      : super(type, value, offset) {
+    _setCommentParent(_precedingComment);
+  }
+
+  @override
+  CommentToken get precedingComments => _precedingComment;
+
+  void set precedingComments(CommentToken comment) {
+    _precedingComment = comment;
+    _setCommentParent(_precedingComment);
+  }
+
+  @override
+  void applyDelta(int delta) {
+    super.applyDelta(delta);
+    Token token = precedingComments;
+    while (token != null) {
+      token.applyDelta(delta);
+      token = token.next;
+    }
+  }
+
+  @override
+  Token copy() => new StringTokenWithComment(
+      type, lexeme, offset, copyComments(precedingComments));
+}
+
+/**
+ * A token that was scanned from the input. Each token knows which tokens
+ * precede and follow it, acting as a link in a doubly linked list of tokens.
+ *
+ * Clients may not extend, implement or mix-in this class.
+ */
+abstract class Token implements SyntacticEntity {
+  /**
+   * Initialize a newly created token to have the given [type] and [offset].
+   */
+  factory Token(TokenType type, int offset) = SimpleToken;
+
+  @override
+  int get end;
+
+  /**
+   * Return `true` if this token represents an operator.
+   */
+  bool get isOperator;
+
+  /**
+   * Return `true` if this token is a synthetic token. A synthetic token is a
+   * token that was introduced by the parser in order to recover from an error
+   * in the code.
+   */
+  bool get isSynthetic;
+
+  /**
+   * Return `true` if this token represents an operator that can be defined by
+   * users.
+   */
+  bool get isUserDefinableOperator;
+
+  /**
+   * Return the keyword, if a keyword token, or `null` otherwise.
+   */
+  Keyword get keyword;
+
+  @override
+  int get length;
+
+  /**
+   * Return the lexeme that represents this token.
+   */
+  String get lexeme;
+
+  /**
+   * Return the next token in the token stream.
+   */
+  Token get next;
+
+  @override
+  int get offset;
+
+  /**
+   * Set the offset from the beginning of the file to the first character in
+   * the token to the given [offset].
+   */
+  void set offset(int offset);
+
+  /**
+   * Return the first comment in the list of comments that precede this token,
+   * or `null` if there are no comments preceding this token. Additional
+   * comments can be reached by following the token stream using [next] until
+   * `null` is returned.
+   *
+   * For example, if the original contents were `/* one */ /* two */ id`, then
+   * the first preceding comment token will have a lexeme of `/* one */` and
+   * the next comment token will have a lexeme of `/* two */`.
+   */
+  Token get precedingComments;
+
+  /**
+   * Return the previous token in the token stream.
+   */
+  Token get previous;
+
+  /**
+   * Set the previous token in the token stream to the given [token].
+   */
+  void set previous(Token token);
+
+  /**
+   * Return the type of the token.
+   */
+  TokenType get type;
+
+  /**
+   * Apply (add) the given [delta] to this token's offset.
+   */
+  void applyDelta(int delta);
+
+  /**
+   * Return a newly created token that is a copy of this token but that is not a
+   * part of any token stream.
+   */
+  Token copy();
+
+  /**
+   * Copy a linked list of comment tokens identical to the given comment tokens.
+   */
+  Token copyComments(Token token);
+
+  /**
+   * Return `true` if this token has any one of the given [types].
+   */
+  bool matchesAny(List<TokenType> types);
+
+  /**
+   * Set the next token in the token stream to the given [token]. This has the
+   * side-effect of setting this token to be the previous token for the given
+   * token. Return the token that was passed in.
+   */
+  Token setNext(Token token);
+
+  /**
+   * Set the next token in the token stream to the given token without changing
+   * which token is the previous token for the given token. Return the token
+   * that was passed in.
+   */
+  Token setNextWithoutSettingPrevious(Token token);
+
+  /**
+   * Return the value of this token. For keyword tokens, this is the keyword
+   * associated with the token, for other tokens it is the lexeme associated
+   * with the token.
+   */
+  Object value();
+
+  /**
+   * Compare the given [tokens] to find the token that appears first in the
+   * source being parsed. That is, return the left-most of all of the tokens.
+   * The list must be non-`null`, but the elements of the list are allowed to be
+   * `null`. Return the token with the smallest offset, or `null` if the list is
+   * empty or if all of the elements of the list are `null`.
+   */
+  static Token lexicallyFirst(List<Token> tokens) {
+    Token first = null;
+    int offset = -1;
+    int length = tokens.length;
+    for (int i = 0; i < length; i++) {
+      Token token = tokens[i];
+      if (token != null && (offset < 0 || token.offset < offset)) {
+        first = token;
+        offset = token.offset;
+      }
+    }
+    return first;
+  }
+}
+
+/**
+ * The classes (or groups) of tokens with a similar use.
+ */
+class TokenClass {
+  /**
+   * A value used to indicate that the token type is not part of any specific
+   * class of token.
+   */
+  static const TokenClass NO_CLASS = const TokenClass('NO_CLASS');
+
+  /**
+   * A value used to indicate that the token type is an additive operator.
+   */
+  static const TokenClass ADDITIVE_OPERATOR =
+      const TokenClass('ADDITIVE_OPERATOR', 13);
+
+  /**
+   * A value used to indicate that the token type is an assignment operator.
+   */
+  static const TokenClass ASSIGNMENT_OPERATOR =
+      const TokenClass('ASSIGNMENT_OPERATOR', 1);
+
+  /**
+   * A value used to indicate that the token type is a bitwise-and operator.
+   */
+  static const TokenClass BITWISE_AND_OPERATOR =
+      const TokenClass('BITWISE_AND_OPERATOR', 11);
+
+  /**
+   * A value used to indicate that the token type is a bitwise-or operator.
+   */
+  static const TokenClass BITWISE_OR_OPERATOR =
+      const TokenClass('BITWISE_OR_OPERATOR', 9);
+
+  /**
+   * A value used to indicate that the token type is a bitwise-xor operator.
+   */
+  static const TokenClass BITWISE_XOR_OPERATOR =
+      const TokenClass('BITWISE_XOR_OPERATOR', 10);
+
+  /**
+   * A value used to indicate that the token type is a cascade operator.
+   */
+  static const TokenClass CASCADE_OPERATOR =
+      const TokenClass('CASCADE_OPERATOR', 2);
+
+  /**
+   * A value used to indicate that the token type is a conditional operator.
+   */
+  static const TokenClass CONDITIONAL_OPERATOR =
+      const TokenClass('CONDITIONAL_OPERATOR', 3);
+
+  /**
+   * A value used to indicate that the token type is an equality operator.
+   */
+  static const TokenClass EQUALITY_OPERATOR =
+      const TokenClass('EQUALITY_OPERATOR', 7);
+
+  /**
+   * A value used to indicate that the token type is an if-null operator.
+   */
+  static const TokenClass IF_NULL_OPERATOR =
+      const TokenClass('IF_NULL_OPERATOR', 4);
+
+  /**
+   * A value used to indicate that the token type is a logical-and operator.
+   */
+  static const TokenClass LOGICAL_AND_OPERATOR =
+      const TokenClass('LOGICAL_AND_OPERATOR', 6);
+
+  /**
+   * A value used to indicate that the token type is a logical-or operator.
+   */
+  static const TokenClass LOGICAL_OR_OPERATOR =
+      const TokenClass('LOGICAL_OR_OPERATOR', 5);
+
+  /**
+   * A value used to indicate that the token type is a multiplicative operator.
+   */
+  static const TokenClass MULTIPLICATIVE_OPERATOR =
+      const TokenClass('MULTIPLICATIVE_OPERATOR', 14);
+
+  /**
+   * A value used to indicate that the token type is a relational operator.
+   */
+  static const TokenClass RELATIONAL_OPERATOR =
+      const TokenClass('RELATIONAL_OPERATOR', 8);
+
+  /**
+   * A value used to indicate that the token type is a shift operator.
+   */
+  static const TokenClass SHIFT_OPERATOR =
+      const TokenClass('SHIFT_OPERATOR', 12);
+
+  /**
+   * A value used to indicate that the token type is a unary operator.
+   */
+  static const TokenClass UNARY_POSTFIX_OPERATOR =
+      const TokenClass('UNARY_POSTFIX_OPERATOR', 16);
+
+  /**
+   * A value used to indicate that the token type is a unary operator.
+   */
+  static const TokenClass UNARY_PREFIX_OPERATOR =
+      const TokenClass('UNARY_PREFIX_OPERATOR', 15);
+
+  /**
+   * The name of the token class.
+   */
+  final String name;
+
+  /**
+   * The precedence of tokens of this class, or `0` if the such tokens do not
+   * represent an operator.
+   */
+  final int precedence;
+
+  /**
+   * Initialize a newly created class of tokens to have the given [name] and
+   * [precedence].
+   */
+  const TokenClass(this.name, [this.precedence = 0]);
+
+  @override
+  String toString() => name;
+}
+
+/**
+ * The types of tokens that can be returned by the scanner.
+ *
+ * Clients may not extend, implement or mix-in this class.
+ */
+class TokenType {
+  /**
+   * The type of the token that marks the start or end of the input.
+   */
+  static const TokenType EOF = const _EndOfFileTokenType();
+
+  static const TokenType DOUBLE = const TokenType._('DOUBLE');
+
+  static const TokenType HEXADECIMAL = const TokenType._('HEXADECIMAL');
+
+  static const TokenType IDENTIFIER = const TokenType._('IDENTIFIER');
+
+  static const TokenType INT = const TokenType._('INT');
+
+  static const TokenType KEYWORD = const TokenType._('KEYWORD');
+
+  static const TokenType MULTI_LINE_COMMENT =
+      const TokenType._('MULTI_LINE_COMMENT');
+
+  static const TokenType SCRIPT_TAG = const TokenType._('SCRIPT_TAG');
+
+  static const TokenType SINGLE_LINE_COMMENT =
+      const TokenType._('SINGLE_LINE_COMMENT');
+
+  static const TokenType STRING = const TokenType._('STRING');
+
+  static const TokenType AMPERSAND =
+      const TokenType._('AMPERSAND', TokenClass.BITWISE_AND_OPERATOR, '&');
+
+  static const TokenType AMPERSAND_AMPERSAND = const TokenType._(
+      'AMPERSAND_AMPERSAND', TokenClass.LOGICAL_AND_OPERATOR, '&&');
+
+  static const TokenType AMPERSAND_AMPERSAND_EQ = const TokenType._(
+      'AMPERSAND_AMPERSAND_EQ', TokenClass.ASSIGNMENT_OPERATOR, '&&=');
+
+  static const TokenType AMPERSAND_EQ =
+      const TokenType._('AMPERSAND_EQ', TokenClass.ASSIGNMENT_OPERATOR, '&=');
+
+  static const TokenType AT = const TokenType._('AT', TokenClass.NO_CLASS, '@');
+
+  static const TokenType BANG =
+      const TokenType._('BANG', TokenClass.UNARY_PREFIX_OPERATOR, '!');
+
+  static const TokenType BANG_EQ =
+      const TokenType._('BANG_EQ', TokenClass.EQUALITY_OPERATOR, '!=');
+
+  static const TokenType BAR =
+      const TokenType._('BAR', TokenClass.BITWISE_OR_OPERATOR, '|');
+
+  static const TokenType BAR_BAR =
+      const TokenType._('BAR_BAR', TokenClass.LOGICAL_OR_OPERATOR, '||');
+
+  static const TokenType BAR_BAR_EQ =
+      const TokenType._('BAR_BAR_EQ', TokenClass.ASSIGNMENT_OPERATOR, '||=');
+
+  static const TokenType BAR_EQ =
+      const TokenType._('BAR_EQ', TokenClass.ASSIGNMENT_OPERATOR, '|=');
+
+  static const TokenType COLON =
+      const TokenType._('COLON', TokenClass.NO_CLASS, ':');
+
+  static const TokenType COMMA =
+      const TokenType._('COMMA', TokenClass.NO_CLASS, ',');
+
+  static const TokenType CARET =
+      const TokenType._('CARET', TokenClass.BITWISE_XOR_OPERATOR, '^');
+
+  static const TokenType CARET_EQ =
+      const TokenType._('CARET_EQ', TokenClass.ASSIGNMENT_OPERATOR, '^=');
+
+  static const TokenType CLOSE_CURLY_BRACKET =
+      const TokenType._('CLOSE_CURLY_BRACKET', TokenClass.NO_CLASS, '}');
+
+  static const TokenType CLOSE_PAREN =
+      const TokenType._('CLOSE_PAREN', TokenClass.NO_CLASS, ')');
+
+  static const TokenType CLOSE_SQUARE_BRACKET =
+      const TokenType._('CLOSE_SQUARE_BRACKET', TokenClass.NO_CLASS, ']');
+
+  static const TokenType EQ =
+      const TokenType._('EQ', TokenClass.ASSIGNMENT_OPERATOR, '=');
+
+  static const TokenType EQ_EQ =
+      const TokenType._('EQ_EQ', TokenClass.EQUALITY_OPERATOR, '==');
+
+  static const TokenType FUNCTION =
+      const TokenType._('FUNCTION', TokenClass.NO_CLASS, '=>');
+
+  static const TokenType GT =
+      const TokenType._('GT', TokenClass.RELATIONAL_OPERATOR, '>');
+
+  static const TokenType GT_EQ =
+      const TokenType._('GT_EQ', TokenClass.RELATIONAL_OPERATOR, '>=');
+
+  static const TokenType GT_GT =
+      const TokenType._('GT_GT', TokenClass.SHIFT_OPERATOR, '>>');
+
+  static const TokenType GT_GT_EQ =
+      const TokenType._('GT_GT_EQ', TokenClass.ASSIGNMENT_OPERATOR, '>>=');
+
+  static const TokenType HASH =
+      const TokenType._('HASH', TokenClass.NO_CLASS, '#');
+
+  static const TokenType INDEX =
+      const TokenType._('INDEX', TokenClass.UNARY_POSTFIX_OPERATOR, '[]');
+
+  static const TokenType INDEX_EQ =
+      const TokenType._('INDEX_EQ', TokenClass.UNARY_POSTFIX_OPERATOR, '[]=');
+
+  static const TokenType IS =
+      const TokenType._('IS', TokenClass.RELATIONAL_OPERATOR, 'is');
+
+  static const TokenType LT =
+      const TokenType._('LT', TokenClass.RELATIONAL_OPERATOR, '<');
+
+  static const TokenType LT_EQ =
+      const TokenType._('LT_EQ', TokenClass.RELATIONAL_OPERATOR, '<=');
+
+  static const TokenType LT_LT =
+      const TokenType._('LT_LT', TokenClass.SHIFT_OPERATOR, '<<');
+
+  static const TokenType LT_LT_EQ =
+      const TokenType._('LT_LT_EQ', TokenClass.ASSIGNMENT_OPERATOR, '<<=');
+
+  static const TokenType MINUS =
+      const TokenType._('MINUS', TokenClass.ADDITIVE_OPERATOR, '-');
+
+  static const TokenType MINUS_EQ =
+      const TokenType._('MINUS_EQ', TokenClass.ASSIGNMENT_OPERATOR, '-=');
+
+  static const TokenType MINUS_MINUS =
+      const TokenType._('MINUS_MINUS', TokenClass.UNARY_PREFIX_OPERATOR, '--');
+
+  static const TokenType OPEN_CURLY_BRACKET =
+      const TokenType._('OPEN_CURLY_BRACKET', TokenClass.NO_CLASS, '{');
+
+  static const TokenType OPEN_PAREN =
+      const TokenType._('OPEN_PAREN', TokenClass.UNARY_POSTFIX_OPERATOR, '(');
+
+  static const TokenType OPEN_SQUARE_BRACKET = const TokenType._(
+      'OPEN_SQUARE_BRACKET', TokenClass.UNARY_POSTFIX_OPERATOR, '[');
+
+  static const TokenType PERCENT =
+      const TokenType._('PERCENT', TokenClass.MULTIPLICATIVE_OPERATOR, '%');
+
+  static const TokenType PERCENT_EQ =
+      const TokenType._('PERCENT_EQ', TokenClass.ASSIGNMENT_OPERATOR, '%=');
+
+  static const TokenType PERIOD =
+      const TokenType._('PERIOD', TokenClass.UNARY_POSTFIX_OPERATOR, '.');
+
+  static const TokenType PERIOD_PERIOD =
+      const TokenType._('PERIOD_PERIOD', TokenClass.CASCADE_OPERATOR, '..');
+
+  static const TokenType PLUS =
+      const TokenType._('PLUS', TokenClass.ADDITIVE_OPERATOR, '+');
+
+  static const TokenType PLUS_EQ =
+      const TokenType._('PLUS_EQ', TokenClass.ASSIGNMENT_OPERATOR, '+=');
+
+  static const TokenType PLUS_PLUS =
+      const TokenType._('PLUS_PLUS', TokenClass.UNARY_PREFIX_OPERATOR, '++');
+
+  static const TokenType QUESTION =
+      const TokenType._('QUESTION', TokenClass.CONDITIONAL_OPERATOR, '?');
+
+  static const TokenType QUESTION_PERIOD = const TokenType._(
+      'QUESTION_PERIOD', TokenClass.UNARY_POSTFIX_OPERATOR, '?.');
+
+  static const TokenType QUESTION_QUESTION =
+      const TokenType._('QUESTION_QUESTION', TokenClass.IF_NULL_OPERATOR, '??');
+
+  static const TokenType QUESTION_QUESTION_EQ = const TokenType._(
+      'QUESTION_QUESTION_EQ', TokenClass.ASSIGNMENT_OPERATOR, '??=');
+
+  static const TokenType SEMICOLON =
+      const TokenType._('SEMICOLON', TokenClass.NO_CLASS, ';');
+
+  static const TokenType SLASH =
+      const TokenType._('SLASH', TokenClass.MULTIPLICATIVE_OPERATOR, '/');
+
+  static const TokenType SLASH_EQ =
+      const TokenType._('SLASH_EQ', TokenClass.ASSIGNMENT_OPERATOR, '/=');
+
+  static const TokenType STAR =
+      const TokenType._('STAR', TokenClass.MULTIPLICATIVE_OPERATOR, '*');
+
+  static const TokenType STAR_EQ =
+      const TokenType._('STAR_EQ', TokenClass.ASSIGNMENT_OPERATOR, "*=");
+
+  static const TokenType STRING_INTERPOLATION_EXPRESSION = const TokenType._(
+      'STRING_INTERPOLATION_EXPRESSION', TokenClass.NO_CLASS, '\${');
+
+  static const TokenType STRING_INTERPOLATION_IDENTIFIER = const TokenType._(
+      'STRING_INTERPOLATION_IDENTIFIER', TokenClass.NO_CLASS, '\$');
+
+  static const TokenType TILDE =
+      const TokenType._('TILDE', TokenClass.UNARY_PREFIX_OPERATOR, '~');
+
+  static const TokenType TILDE_SLASH = const TokenType._(
+      'TILDE_SLASH', TokenClass.MULTIPLICATIVE_OPERATOR, '~/');
+
+  static const TokenType TILDE_SLASH_EQ = const TokenType._(
+      'TILDE_SLASH_EQ', TokenClass.ASSIGNMENT_OPERATOR, '~/=');
+
+  static const TokenType BACKPING =
+      const TokenType._('BACKPING', TokenClass.NO_CLASS, '`');
+
+  static const TokenType BACKSLASH =
+      const TokenType._('BACKSLASH', TokenClass.NO_CLASS, '\\');
+
+  static const TokenType PERIOD_PERIOD_PERIOD =
+      const TokenType._('PERIOD_PERIOD_PERIOD', TokenClass.NO_CLASS, '...');
+
+  static const TokenType GENERIC_METHOD_TYPE_LIST =
+      const TokenType._('GENERIC_METHOD_TYPE_LIST');
+
+  static const TokenType GENERIC_METHOD_TYPE_ASSIGN =
+      const TokenType._('GENERIC_METHOD_TYPE_ASSIGN');
+
+  /**
+   * The class of the token.
+   */
+  final TokenClass _tokenClass;
+
+  /**
+   * The name of the token type.
+   */
+  final String name;
+
+  /**
+   * The lexeme that defines this type of token, or `null` if there is more than
+   * one possible lexeme for this type of token.
+   */
+  final String lexeme;
+
+  /**
+   * Initialize a newly created token type to have the given [name],
+   * [_tokenClass] and [lexeme].
+   */
+  const TokenType._(this.name,
+      [this._tokenClass = TokenClass.NO_CLASS, this.lexeme = null]);
+
+  /**
+   * Return `true` if this type of token represents an additive operator.
+   */
+  bool get isAdditiveOperator => _tokenClass == TokenClass.ADDITIVE_OPERATOR;
+
+  /**
+   * Return `true` if this type of token represents an assignment operator.
+   */
+  bool get isAssignmentOperator =>
+      _tokenClass == TokenClass.ASSIGNMENT_OPERATOR;
+
+  /**
+   * Return `true` if this type of token represents an associative operator. An
+   * associative operator is an operator for which the following equality is
+   * true: `(a * b) * c == a * (b * c)`. In other words, if the result of
+   * applying the operator to multiple operands does not depend on the order in
+   * which those applications occur.
+   *
+   * Note: This method considers the logical-and and logical-or operators to be
+   * associative, even though the order in which the application of those
+   * operators can have an effect because evaluation of the right-hand operand
+   * is conditional.
+   */
+  bool get isAssociativeOperator =>
+      this == AMPERSAND ||
+      this == AMPERSAND_AMPERSAND ||
+      this == BAR ||
+      this == BAR_BAR ||
+      this == CARET ||
+      this == PLUS ||
+      this == STAR;
+
+  /**
+   * Return `true` if this type of token represents an equality operator.
+   */
+  bool get isEqualityOperator => _tokenClass == TokenClass.EQUALITY_OPERATOR;
+
+  /**
+   * Return `true` if this type of token represents an increment operator.
+   */
+  bool get isIncrementOperator =>
+      identical(lexeme, '++') || identical(lexeme, '--');
+
+  /**
+   * Return `true` if this type of token represents a multiplicative operator.
+   */
+  bool get isMultiplicativeOperator =>
+      _tokenClass == TokenClass.MULTIPLICATIVE_OPERATOR;
+
+  /**
+   * Return `true` if this token type represents an operator.
+   */
+  bool get isOperator =>
+      _tokenClass != TokenClass.NO_CLASS &&
+      this != OPEN_PAREN &&
+      this != OPEN_SQUARE_BRACKET &&
+      this != PERIOD;
+
+  /**
+   * Return `true` if this type of token represents a relational operator.
+   */
+  bool get isRelationalOperator =>
+      _tokenClass == TokenClass.RELATIONAL_OPERATOR;
+
+  /**
+   * Return `true` if this type of token represents a shift operator.
+   */
+  bool get isShiftOperator => _tokenClass == TokenClass.SHIFT_OPERATOR;
+
+  /**
+   * Return `true` if this type of token represents a unary postfix operator.
+   */
+  bool get isUnaryPostfixOperator =>
+      _tokenClass == TokenClass.UNARY_POSTFIX_OPERATOR;
+
+  /**
+   * Return `true` if this type of token represents a unary prefix operator.
+   */
+  bool get isUnaryPrefixOperator =>
+      _tokenClass == TokenClass.UNARY_PREFIX_OPERATOR;
+
+  /**
+   * Return `true` if this token type represents an operator that can be defined
+   * by users.
+   */
+  bool get isUserDefinableOperator =>
+      identical(lexeme, '==') ||
+      identical(lexeme, '~') ||
+      identical(lexeme, '[]') ||
+      identical(lexeme, '[]=') ||
+      identical(lexeme, '*') ||
+      identical(lexeme, '/') ||
+      identical(lexeme, '%') ||
+      identical(lexeme, '~/') ||
+      identical(lexeme, '+') ||
+      identical(lexeme, '-') ||
+      identical(lexeme, '<<') ||
+      identical(lexeme, '>>') ||
+      identical(lexeme, '>=') ||
+      identical(lexeme, '>') ||
+      identical(lexeme, '<=') ||
+      identical(lexeme, '<') ||
+      identical(lexeme, '&') ||
+      identical(lexeme, '^') ||
+      identical(lexeme, '|');
+
+  /**
+   * Return the precedence of the token, or `0` if the token does not represent
+   * an operator.
+   */
+  int get precedence => _tokenClass.precedence;
+
+  @override
+  String toString() => name;
+}
+
+/**
+ * A normal token that is preceded by comments.
+ */
+class TokenWithComment extends SimpleToken {
+  /**
+   * The first comment in the list of comments that precede this token.
+   */
+  CommentToken _precedingComment;
+
+  /**
+   * Initialize a newly created token to have the given [type] at the given
+   * [offset] and to be preceded by the comments reachable from the given
+   * [comment].
+   */
+  TokenWithComment(TokenType type, int offset, this._precedingComment)
+      : super(type, offset) {
+    _setCommentParent(_precedingComment);
+  }
+
+  @override
+  CommentToken get precedingComments => _precedingComment;
+
+  void set precedingComments(CommentToken comment) {
+    _precedingComment = comment;
+    _setCommentParent(_precedingComment);
+  }
+
+  @override
+  Token copy() =>
+      new TokenWithComment(type, offset, copyComments(precedingComments));
+}
+
+/**
+ * A token representing the end (either the head or the tail) of a stream of
+ * tokens.
+ */
+class _EndOfFileTokenType extends TokenType {
+  /**
+   * Initialize a newly created token.
+   */
+  const _EndOfFileTokenType() : super._('EOF', TokenClass.NO_CLASS, '');
+
+  @override
+  String toString() => '-eof-';
+}
diff --git a/pkg/front_end/pubspec.yaml b/pkg/front_end/pubspec.yaml
index 58c4bb1..8b75e23 100644
--- a/pkg/front_end/pubspec.yaml
+++ b/pkg/front_end/pubspec.yaml
@@ -1,5 +1,5 @@
 name: front_end
-version: 0.1.0
+version: 0.1.0-alpha.0
 author: Dart Team <misc@dartlang.org>
 description: Front end for compilation of Dart code.
 homepage: https://github.com/dart-lang/sdk/tree/master/pkg/front_end
@@ -16,6 +16,3 @@
   package_config: '^1.0.0'
   test: ^0.12.0
   test_reflective_loader: ^0.1.0
-# TODO(sigmund): remove once kernel is moved into the sdk repo.
-dependency_overrides:
-  analyzer: '^0.29.0'
diff --git a/pkg/front_end/test/physical_file_system_test.dart b/pkg/front_end/test/physical_file_system_test.dart
index 5c07a8c..859e998 100644
--- a/pkg/front_end/test/physical_file_system_test.dart
+++ b/pkg/front_end/test/physical_file_system_test.dart
@@ -5,6 +5,7 @@
 
 library front_end.test.physical_file_system_test;
 
+import 'dart:async';
 import 'dart:convert';
 import 'dart:io' as io;
 
@@ -206,7 +207,15 @@
     tempPath = tempDirectory.absolute.path;
   }
 
-  tearDown() {
-    tempDirectory.deleteSync(recursive: true);
+  tearDown() async {
+    try {
+      tempDirectory.deleteSync(recursive: true);
+    } on io.FileSystemException {
+      // Sometimes on Windows the delete fails with errno 32
+      // (ERROR_SHARING_VIOLATION: The process cannot access the file because it
+      // is being used by another process).  Wait 1 second and try again.
+      await new Future.delayed(new Duration(seconds: 1));
+      tempDirectory.deleteSync(recursive: true);
+    }
   }
 }
diff --git a/pkg/front_end/tool/perf.dart b/pkg/front_end/tool/perf.dart
index e8d50a8..ec306ca 100644
--- a/pkg/front_end/tool/perf.dart
+++ b/pkg/front_end/tool/perf.dart
@@ -74,7 +74,7 @@
   if (handler == null) {
     // TODO(sigmund): implement the remaining benchmarks.
     print('unsupported bench-id: $bench. Please specify one of the following: '
-        '${handler.keys.join(", ")}');
+        '${handlers.keys.join(", ")}');
     exit(1);
   }
   await handler();
diff --git a/pkg/meta/lib/meta.dart b/pkg/meta/lib/meta.dart
index 7fa20e1..44f71b8 100644
--- a/pkg/meta/lib/meta.dart
+++ b/pkg/meta/lib/meta.dart
@@ -117,9 +117,21 @@
 ///   corresponding to a named parameter that has this annotation.
 const Required required = const Required();
 
-/// Used to annotate a field is allowed to be overridden in Strong Mode.
+/// Used to annotate a field that is allowed to be overridden in Strong Mode.
 const _Virtual virtual = const _Virtual();
 
+/// Used to annotate an instance member that was made public so that it could be
+/// overridden but that is not intended to be referenced from outside the
+/// defining library.
+///
+/// Tools, such as the analyzer, can provide feedback if
+///
+/// * the annotation is associated with a declaration other than a public
+///   instance member in a class, or
+/// * the member is referenced outside of the defining library.
+const _VisibleForOverriding visibleForOverriding =
+    const _VisibleForOverriding();
+
 /// Used to annotate a declaration was made public, so that it is more visible
 /// than otherwise necessary, to make code testable.
 ///
@@ -190,6 +202,10 @@
   const _Virtual();
 }
 
+class _VisibleForOverriding {
+  const _VisibleForOverriding();
+}
+
 class _VisibleForTesting {
   const _VisibleForTesting();
 }
diff --git a/runtime/CPPLINT.cfg b/runtime/CPPLINT.cfg
index 64aa482..c9f2821 100644
--- a/runtime/CPPLINT.cfg
+++ b/runtime/CPPLINT.cfg
@@ -4,4 +4,7 @@
 
 # Do not limit function size. For example parts of
 # the simulator are really large.
-filter=-readability/fn_size
+#
+# Do not complain about whitespace. That is handled
+# by the clang format presubmit check.
+filter=-readability/fn_size,-whitespace/indent
diff --git a/runtime/PRESUBMIT.py b/runtime/PRESUBMIT.py
index 946f54f..0170f2f9 100644
--- a/runtime/PRESUBMIT.py
+++ b/runtime/PRESUBMIT.py
@@ -48,11 +48,17 @@
   return input_api.canned_checks.CheckGNFormatted(input_api, output_api)
 
 
+def CheckFormatted(input_api, output_api):
+  return input_api.canned_checks.CheckPatchFormatted(input_api, output_api)
+
+
 def CheckChangeOnUpload(input_api, output_api):
   return (RunLint(input_api, output_api) +
-          CheckGn(input_api, output_api))
+          CheckGn(input_api, output_api) +
+          CheckFormatted(input_api, output_api))
 
 
 def CheckChangeOnCommit(input_api, output_api):
   return (RunLint(input_api, output_api) +
-          CheckGn(input_api, output_api))
+          CheckGn(input_api, output_api) +
+          CheckFormatted(input_api, output_api))
diff --git a/runtime/bin/BUILD.gn b/runtime/bin/BUILD.gn
index 2a2d17b..56bb53a 100644
--- a/runtime/bin/BUILD.gn
+++ b/runtime/bin/BUILD.gn
@@ -2,6 +2,8 @@
 # for details. All rights reserved. Use of this source code is governed by a
 # BSD-style license that can be found in the LICENSE file.
 
+import("gypi_contents.gni")
+
 declare_args() {
   # Whether to fall back to built-in root certificates when they cannot be
   # verified at the operating system level.
@@ -18,12 +20,6 @@
   dart_use_tcmalloc = false
 }
 
-resources_sources_gypi =
-    exec_script("../../tools/gypi_to_gn.py",
-                [ rebase_path("vmservice/vmservice_sources.gypi") ],
-                "scope",
-                [ "vmservice/vmservice_sources.gypi" ])
-
 # Generate a resources.cc file for the service isolate without Observatory.
 action("gen_resources_cc") {
   visibility = [ ":*" ]  # Only targets in this file can see this.
@@ -34,7 +30,7 @@
 
   # The path below is hard coded for the Mojo and Flutter trees. When moving
   # the Dart runtime to gn, this path might need to be updated.
-  sources = rebase_path(resources_sources_gypi.sources, "", "../bin/vmservice/")
+  sources = rebase_path(resources_sources_gypi, "", "../bin/vmservice/")
   outputs = [
     "$target_gen_dir/resources_gen.cc",
   ]
@@ -86,15 +82,10 @@
   }
 }
 
-builtin_sources_gypi = exec_script("../../tools/gypi_to_gn.py",
-                                   [ rebase_path("builtin_sources.gypi") ],
-                                   "scope",
-                                   [ "builtin_sources.gypi" ])
-
 gen_library_src_path("generate_builtin_cc_file") {
   name = "_builtin"
   kind = "source"
-  sources = builtin_sources_gypi.sources
+  sources = builtin_sources_gypi
   output = "$target_gen_dir/builtin_gen.cc"
 }
 
@@ -113,15 +104,10 @@
   output = "$target_gen_dir/io_gen.cc"
 }
 
-io_sources_gypi = exec_script("../../tools/gypi_to_gn.py",
-                              [ rebase_path("io_sources.gypi") ],
-                              "scope",
-                              [ "io_sources.gypi" ])
-
 gen_library_src_path("generate_io_patch_cc_file") {
   name = "io"
   kind = "patch"
-  sources = io_sources_gypi.sources
+  sources = io_sources_gypi
   output = "$target_gen_dir/io_patch_gen.cc"
 }
 
@@ -253,12 +239,6 @@
   }
 }
 
-builtin_impl_sources_gypi =
-    exec_script("../../tools/gypi_to_gn.py",
-                [ rebase_path("builtin_impl_sources.gypi") ],
-                "scope",
-                [ "builtin_impl_sources.gypi" ])
-
 static_library("libdart_builtin") {
   configs += [
     "..:dart_config",
@@ -293,14 +273,9 @@
               "log_linux.cc",
               "log_macos.cc",
               "log_win.cc",
-            ] + builtin_impl_sources_gypi.sources
+            ] + builtin_impl_sources_gypi
 }
 
-io_impl_sources_gypi = exec_script("../../tools/gypi_to_gn.py",
-                                   [ rebase_path("io_impl_sources.gypi") ],
-                                   "scope",
-                                   [ "io_impl_sources.gypi" ])
-
 executable("gen_snapshot") {
   configs += [
     "..:dart_config",
@@ -386,7 +361,7 @@
 
   defines = [ "DART_IO_SECURE_SOCKET_DISABLED" ]
 
-  sources = io_impl_sources_gypi.sources + builtin_impl_sources_gypi.sources
+  sources = io_impl_sources_gypi + builtin_impl_sources_gypi
   sources += [
     "io_natives.cc",
     "io_natives.h",
@@ -452,7 +427,7 @@
       ]
     }
 
-    sources = io_impl_sources_gypi.sources + builtin_impl_sources_gypi.sources
+    sources = io_impl_sources_gypi + builtin_impl_sources_gypi
     sources += [
                  "builtin_natives.cc",
                  "io_natives.cc",
@@ -810,30 +785,12 @@
 
   # The VM sources are already included in libdart, so we just want to add in
   # the tests here.
-  vm_tests_list = exec_script("../../tools/gypi_to_gn.py",
-                              [
-                                rebase_path("../vm/vm_sources.gypi"),
-                                "--keep_only=_test.cc",
-                                "--keep_only=_test.h",
-                              ],
-                              "scope",
-                              [ "../vm/vm_sources.gypi" ])
-  vm_tests = rebase_path(vm_tests_list.sources, ".", "../vm")
-
-  builtin_impl_tests_list =
-      exec_script("../../tools/gypi_to_gn.py",
-                  [
-                    rebase_path("builtin_impl_sources.gypi"),
-                    "--keep_only=_test.cc",
-                    "--keep_only=_test.h",
-                  ],
-                  "scope",
-                  [ "builtin_impl_sources.gypi" ])
+  vm_tests = rebase_path(vm_tests_list, ".", "../vm")
 
   sources = [
               "builtin_nolib.cc",
               "run_vm_tests.cc",
-            ] + builtin_impl_tests_list.sources + vm_tests
+            ] + builtin_impl_tests_list + vm_tests
 
   if (!is_win) {
     ldflags = [ "-rdynamic" ]
diff --git a/runtime/bin/eventhandler_android.cc b/runtime/bin/eventhandler_android.cc
index c3f6836..c9c4b0d 100644
--- a/runtime/bin/eventhandler_android.cc
+++ b/runtime/bin/eventhandler_android.cc
@@ -86,18 +86,26 @@
   if (result != 0) {
     FATAL("Pipe creation failed");
   }
-  FDUtils::SetNonBlocking(interrupt_fds_[0]);
-  FDUtils::SetCloseOnExec(interrupt_fds_[0]);
-  FDUtils::SetCloseOnExec(interrupt_fds_[1]);
+  if (!FDUtils::SetNonBlocking(interrupt_fds_[0])) {
+    FATAL("Failed to set pipe fd non blocking\n");
+  }
+  if (!FDUtils::SetCloseOnExec(interrupt_fds_[0])) {
+    FATAL("Failed to set pipe fd close on exec\n");
+  }
+  if (!FDUtils::SetCloseOnExec(interrupt_fds_[1])) {
+    FATAL("Failed to set pipe fd close on exec\n");
+  }
   shutdown_ = false;
-  // The initial size passed to epoll_create is ignore on newer (>=
-  // 2.6.8) Linux versions
+  // The initial size passed to epoll_create is ignored on newer (>= 2.6.8)
+  // Linux versions
   static const int kEpollInitialSize = 64;
   epoll_fd_ = NO_RETRY_EXPECTED(epoll_create(kEpollInitialSize));
   if (epoll_fd_ == -1) {
     FATAL1("Failed creating epoll file descriptor: %i", errno);
   }
-  FDUtils::SetCloseOnExec(epoll_fd_);
+  if (!FDUtils::SetCloseOnExec(epoll_fd_)) {
+    FATAL("Failed to set epoll fd close on exec\n");
+  }
   // Register the interrupt_fd with the epoll instance.
   struct epoll_event event;
   event.events = EPOLLIN;
diff --git a/runtime/bin/eventhandler_linux.cc b/runtime/bin/eventhandler_linux.cc
index fd410fe..8b35818 100644
--- a/runtime/bin/eventhandler_linux.cc
+++ b/runtime/bin/eventhandler_linux.cc
@@ -80,9 +80,15 @@
   if (result != 0) {
     FATAL("Pipe creation failed");
   }
-  FDUtils::SetNonBlocking(interrupt_fds_[0]);
-  FDUtils::SetCloseOnExec(interrupt_fds_[0]);
-  FDUtils::SetCloseOnExec(interrupt_fds_[1]);
+  if (!FDUtils::SetNonBlocking(interrupt_fds_[0])) {
+    FATAL("Failed to set pipe fd non blocking\n");
+  }
+  if (!FDUtils::SetCloseOnExec(interrupt_fds_[0])) {
+    FATAL("Failed to set pipe fd close on exec\n");
+  }
+  if (!FDUtils::SetCloseOnExec(interrupt_fds_[1])) {
+    FATAL("Failed to set pipe fd close on exec\n");
+  }
   shutdown_ = false;
   // The initial size passed to epoll_create is ignore on newer (>=
   // 2.6.8) Linux versions
@@ -91,7 +97,9 @@
   if (epoll_fd_ == -1) {
     FATAL1("Failed creating epoll file descriptor: %i", errno);
   }
-  FDUtils::SetCloseOnExec(epoll_fd_);
+  if (!FDUtils::SetCloseOnExec(epoll_fd_)) {
+    FATAL("Failed to set epoll fd close on exec\n");
+  }
   // Register the interrupt_fd with the epoll instance.
   struct epoll_event event;
   event.events = EPOLLIN;
diff --git a/runtime/bin/eventhandler_macos.cc b/runtime/bin/eventhandler_macos.cc
index 1e0fa94..640f05a 100644
--- a/runtime/bin/eventhandler_macos.cc
+++ b/runtime/bin/eventhandler_macos.cc
@@ -105,16 +105,24 @@
   if (result != 0) {
     FATAL("Pipe creation failed");
   }
-  FDUtils::SetNonBlocking(interrupt_fds_[0]);
-  FDUtils::SetCloseOnExec(interrupt_fds_[0]);
-  FDUtils::SetCloseOnExec(interrupt_fds_[1]);
+  if (!FDUtils::SetNonBlocking(interrupt_fds_[0])) {
+    FATAL("Failed to set pipe fd non-blocking\n");
+  }
+  if (!FDUtils::SetCloseOnExec(interrupt_fds_[0])) {
+    FATAL("Failed to set pipe fd close on exec\n");
+  }
+  if (!FDUtils::SetCloseOnExec(interrupt_fds_[1])) {
+    FATAL("Failed to set pipe fd close on exec\n");
+  }
   shutdown_ = false;
 
   kqueue_fd_ = NO_RETRY_EXPECTED(kqueue());
   if (kqueue_fd_ == -1) {
     FATAL("Failed creating kqueue");
   }
-  FDUtils::SetCloseOnExec(kqueue_fd_);
+  if (!FDUtils::SetCloseOnExec(kqueue_fd_)) {
+    FATAL("Failed to set kqueue fd close on exec\n");
+  }
   // Register the interrupt_fd with the kqueue.
   struct kevent event;
   EV_SET(&event, interrupt_fds_[0], EVFILT_READ, EV_ADD, 0, 0, NULL);
diff --git a/runtime/bin/fdutils_android.cc b/runtime/bin/fdutils_android.cc
index e61a2e1..5d8a8e0 100644
--- a/runtime/bin/fdutils_android.cc
+++ b/runtime/bin/fdutils_android.cc
@@ -21,10 +21,12 @@
   intptr_t status;
   status = NO_RETRY_EXPECTED(fcntl(fd, F_GETFD));
   if (status < 0) {
+    perror("fcntl(F_GETFD) failed");
     return false;
   }
   status |= FD_CLOEXEC;
   if (NO_RETRY_EXPECTED(fcntl(fd, F_SETFD, status)) < 0) {
+    perror("fcntl(F_SETFD, FD_CLOEXEC) failed");
     return false;
   }
   return true;
@@ -35,10 +37,12 @@
   intptr_t status;
   status = NO_RETRY_EXPECTED(fcntl(fd, F_GETFL));
   if (status < 0) {
+    perror("fcntl(F_GETFL) failed");
     return false;
   }
   status = blocking ? (status & ~O_NONBLOCK) : (status | O_NONBLOCK);
   if (NO_RETRY_EXPECTED(fcntl(fd, F_SETFL, status)) < 0) {
+    perror("fcntl(F_SETFL, O_NONBLOCK) failed");
     return false;
   }
   return true;
diff --git a/runtime/bin/fdutils_linux.cc b/runtime/bin/fdutils_linux.cc
index a76fcdb..5a174ee 100644
--- a/runtime/bin/fdutils_linux.cc
+++ b/runtime/bin/fdutils_linux.cc
@@ -21,10 +21,12 @@
   intptr_t status;
   status = NO_RETRY_EXPECTED(fcntl(fd, F_GETFD));
   if (status < 0) {
+    perror("fcntl(F_GETFD) failed");
     return false;
   }
   status |= FD_CLOEXEC;
   if (NO_RETRY_EXPECTED(fcntl(fd, F_SETFD, status)) < 0) {
+    perror("fcntl(F_SETFD, FD_CLOEXEC) failed");
     return false;
   }
   return true;
@@ -35,10 +37,12 @@
   intptr_t status;
   status = NO_RETRY_EXPECTED(fcntl(fd, F_GETFL));
   if (status < 0) {
+    perror("fcntl(F_GETFL) failed");
     return false;
   }
   status = blocking ? (status & ~O_NONBLOCK) : (status | O_NONBLOCK);
   if (NO_RETRY_EXPECTED(fcntl(fd, F_SETFL, status)) < 0) {
+    perror("fcntl(F_SETFL, O_NONBLOCK) failed");
     return false;
   }
   return true;
diff --git a/runtime/bin/fdutils_macos.cc b/runtime/bin/fdutils_macos.cc
index 25495da..ab1a603 100644
--- a/runtime/bin/fdutils_macos.cc
+++ b/runtime/bin/fdutils_macos.cc
@@ -21,10 +21,12 @@
   intptr_t status;
   status = NO_RETRY_EXPECTED(fcntl(fd, F_GETFD));
   if (status < 0) {
+    perror("fcntl(F_GETFD) failed");
     return false;
   }
   status |= FD_CLOEXEC;
   if (NO_RETRY_EXPECTED(fcntl(fd, F_SETFD, status)) < 0) {
+    perror("fcntl(F_SETFD, FD_CLOEXEC) failed");
     return false;
   }
   return true;
@@ -35,10 +37,12 @@
   intptr_t status;
   status = NO_RETRY_EXPECTED(fcntl(fd, F_GETFL));
   if (status < 0) {
+    perror("fcntl(F_GETFL) failed");
     return false;
   }
   status = blocking ? (status & ~O_NONBLOCK) : (status | O_NONBLOCK);
   if (NO_RETRY_EXPECTED(fcntl(fd, F_SETFL, status)) < 0) {
+    perror("fcntl(F_SETFL, O_NONBLOCK) failed");
     return false;
   }
   return true;
diff --git a/runtime/bin/gypi_contents.gni b/runtime/bin/gypi_contents.gni
new file mode 100644
index 0000000..34fc269
--- /dev/null
+++ b/runtime/bin/gypi_contents.gni
@@ -0,0 +1,43 @@
+# Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+# for details. All rights reserved. Use of this source code is governed by a
+# BSD-style license that can be found in the LICENSE file.
+
+_gypi_files = [
+  "builtin_sources.gypi",
+  "builtin_impl_sources.gypi",
+  "vmservice/vmservice_sources.gypi",
+  "io_sources.gypi",
+  "io_impl_sources.gypi",
+]
+
+_gypi_contents = exec_script("../../tools/gypi_to_gn.py",
+                             rebase_path(_gypi_files) + [ "--prefix" ],
+                             "scope",
+                             _gypi_files)
+
+resources_sources_gypi = _gypi_contents.vmservice_sources_sources
+
+builtin_sources_gypi = _gypi_contents.builtin_sources_sources
+builtin_impl_sources_gypi = _gypi_contents.builtin_impl_sources_sources
+
+io_sources_gypi = _gypi_contents.io_sources_sources
+io_impl_sources_gypi = _gypi_contents.io_impl_sources_sources
+
+_test_gypi_files = [
+  "../vm/vm_sources.gypi",
+  "builtin_impl_sources.gypi",
+]
+
+_test_only_gypi_contents = exec_script("../../tools/gypi_to_gn.py",
+                                       rebase_path(_test_gypi_files) + [
+                                             "--keep_only=_test.cc",
+                                             "--keep_only=_test.h",
+                                             "--prefix",
+                                           ],
+                                       "scope",
+                                       _test_gypi_files)
+
+# The VM sources are already included in libdart, so we just want to add in
+# the tests here.
+vm_tests_list = _test_only_gypi_contents.vm_sources_sources
+builtin_impl_tests_list = _test_only_gypi_contents.builtin_impl_sources_sources
diff --git a/runtime/bin/loader.cc b/runtime/bin/loader.cc
index c94a21f..fdeae6c 100644
--- a/runtime/bin/loader.cc
+++ b/runtime/bin/loader.cc
@@ -449,7 +449,7 @@
 }
 
 
-#define RETURN_ERROR(result) \
+#define RETURN_ERROR(result)                                                   \
   if (Dart_IsError(result)) return result;
 
 Dart_Handle Loader::ReloadNativeExtensions() {
diff --git a/runtime/bin/platform.cc b/runtime/bin/platform.cc
index 15bfe3d..e8b7849 100644
--- a/runtime/bin/platform.cc
+++ b/runtime/bin/platform.cc
@@ -40,16 +40,6 @@
 
 
 void FUNCTION_NAME(Platform_ExecutableName)(Dart_NativeArguments args) {
-  if (Dart_IsPrecompiledRuntime()) {
-    // This is a work-around to be able to use most of the existing test suite
-    // for precompilation. Many tests do something like Process.run(
-    // Platform.executable, some_other_script.dart). But with precompilation
-    // the script is already fixed, so the spawned process runs the same script
-    // again and we have a fork-bomb.
-    Dart_ThrowException(Dart_NewStringFromCString(
-        "Platform.executable not supported under precompilation"));
-    UNREACHABLE();
-  }
   if (Platform::GetExecutableName() != NULL) {
     Dart_SetReturnValue(
         args, Dart_NewStringFromCString(Platform::GetExecutableName()));
@@ -60,12 +50,6 @@
 
 
 void FUNCTION_NAME(Platform_ResolvedExecutableName)(Dart_NativeArguments args) {
-  if (Dart_IsPrecompiledRuntime()) {
-    Dart_ThrowException(Dart_NewStringFromCString(
-        "Platform.resolvedExecutable not supported under precompilation"));
-    UNREACHABLE();
-  }
-
   if (Platform::GetResolvedExecutableName() != NULL) {
     Dart_SetReturnValue(
         args, Dart_NewStringFromCString(Platform::GetResolvedExecutableName()));
diff --git a/runtime/bin/socket_android.cc b/runtime/bin/socket_android.cc
index ae83b47..07e6894 100644
--- a/runtime/bin/socket_android.cc
+++ b/runtime/bin/socket_android.cc
@@ -25,6 +25,13 @@
 namespace dart {
 namespace bin {
 
+static void SaveErrorAndClose(intptr_t fd) {
+  int err = errno;
+  VOID_TEMP_FAILURE_RETRY(close(fd));
+  errno = err;
+}
+
+
 SocketAddress::SocketAddress(struct sockaddr* sa) {
   ASSERT(INET6_ADDRSTRLEN >= INET_ADDRSTRLEN);
   if (!Socket::FormatNumericAddress(*reinterpret_cast<RawAddr*>(sa), as_string_,
@@ -55,7 +62,10 @@
   if (fd < 0) {
     return -1;
   }
-  FDUtils::SetCloseOnExec(fd);
+  if (!FDUtils::SetCloseOnExec(fd)) {
+    SaveErrorAndClose(fd);
+    return -1;
+  }
   return fd;
 }
 
@@ -66,7 +76,7 @@
   if ((result == 0) || (errno == EINPROGRESS)) {
     return fd;
   }
-  VOID_TEMP_FAILURE_RETRY(close(fd));
+  SaveErrorAndClose(fd);
   return -1;
 }
 
@@ -77,8 +87,10 @@
     return fd;
   }
 
-  FDUtils::SetNonBlocking(fd);
-
+  if (!FDUtils::SetNonBlocking(fd)) {
+    SaveErrorAndClose(fd);
+    return -1;
+  }
   return Connect(fd, addr);
 }
 
@@ -93,7 +105,7 @@
   intptr_t result = TEMP_FAILURE_RETRY(
       bind(fd, &source_addr.addr, SocketAddress::GetAddrLength(source_addr)));
   if ((result != 0) && (errno != EINPROGRESS)) {
-    VOID_TEMP_FAILURE_RETRY(close(fd));
+    SaveErrorAndClose(fd);
     return -1;
   }
 
@@ -310,7 +322,10 @@
     return -1;
   }
 
-  FDUtils::SetCloseOnExec(fd);
+  if (!FDUtils::SetCloseOnExec(fd)) {
+    SaveErrorAndClose(fd);
+    return -1;
+  }
 
   if (reuseAddress) {
     int optval = 1;
@@ -320,11 +335,14 @@
 
   if (NO_RETRY_EXPECTED(
           bind(fd, &addr.addr, SocketAddress::GetAddrLength(addr))) < 0) {
-    VOID_TEMP_FAILURE_RETRY(close(fd));
+    SaveErrorAndClose(fd);
     return -1;
   }
 
-  FDUtils::SetNonBlocking(fd);
+  if (!FDUtils::SetNonBlocking(fd)) {
+    SaveErrorAndClose(fd);
+    return -1;
+  }
   return fd;
 }
 
@@ -358,7 +376,10 @@
     return -1;
   }
 
-  FDUtils::SetCloseOnExec(fd);
+  if (!FDUtils::SetCloseOnExec(fd)) {
+    SaveErrorAndClose(fd);
+    return -1;
+  }
 
   int optval = 1;
   VOID_NO_RETRY_EXPECTED(
@@ -372,7 +393,7 @@
 
   if (NO_RETRY_EXPECTED(
           bind(fd, &addr.addr, SocketAddress::GetAddrLength(addr))) < 0) {
-    VOID_TEMP_FAILURE_RETRY(close(fd));
+    SaveErrorAndClose(fd);
     return -1;
   }
 
@@ -382,18 +403,19 @@
     // Don't close the socket until we have created a new socket, ensuring
     // that we do not get the bad port number again.
     intptr_t new_fd = CreateBindListen(addr, backlog, v6_only);
-    int err = errno;
-    VOID_TEMP_FAILURE_RETRY(close(fd));
-    errno = err;
+    SaveErrorAndClose(fd);
     return new_fd;
   }
 
   if (NO_RETRY_EXPECTED(listen(fd, backlog > 0 ? backlog : SOMAXCONN)) != 0) {
-    VOID_TEMP_FAILURE_RETRY(close(fd));
+    SaveErrorAndClose(fd);
     return -1;
   }
 
-  FDUtils::SetNonBlocking(fd);
+  if (!FDUtils::SetNonBlocking(fd)) {
+    SaveErrorAndClose(fd);
+    return -1;
+  }
   return fd;
 }
 
@@ -428,8 +450,14 @@
       socket = kTemporaryFailure;
     }
   } else {
-    FDUtils::SetCloseOnExec(socket);
-    FDUtils::SetNonBlocking(socket);
+    if (!FDUtils::SetCloseOnExec(socket)) {
+      SaveErrorAndClose(socket);
+      return -1;
+    }
+    if (!FDUtils::SetNonBlocking(socket)) {
+      SaveErrorAndClose(socket);
+      return -1;
+    }
   }
   return socket;
 }
diff --git a/runtime/bin/socket_linux.cc b/runtime/bin/socket_linux.cc
index 2950728..e3d3103 100644
--- a/runtime/bin/socket_linux.cc
+++ b/runtime/bin/socket_linux.cc
@@ -28,6 +28,13 @@
 namespace dart {
 namespace bin {
 
+static void SaveErrorAndClose(intptr_t fd) {
+  int err = errno;
+  VOID_TEMP_FAILURE_RETRY(close(fd));
+  errno = err;
+}
+
+
 SocketAddress::SocketAddress(struct sockaddr* sa) {
   ASSERT(INET6_ADDRSTRLEN >= INET_ADDRSTRLEN);
   if (!Socket::FormatNumericAddress(*reinterpret_cast<RawAddr*>(sa), as_string_,
@@ -69,7 +76,7 @@
   if ((result == 0) || (errno == EINPROGRESS)) {
     return fd;
   }
-  VOID_TEMP_FAILURE_RETRY(close(fd));
+  SaveErrorAndClose(fd);
   return -1;
 }
 
@@ -93,7 +100,7 @@
   intptr_t result = TEMP_FAILURE_RETRY(
       bind(fd, &source_addr.addr, SocketAddress::GetAddrLength(source_addr)));
   if ((result != 0) && (errno != EINPROGRESS)) {
-    VOID_TEMP_FAILURE_RETRY(close(fd));
+    SaveErrorAndClose(fd);
     return -1;
   }
 
@@ -322,7 +329,7 @@
 
   if (NO_RETRY_EXPECTED(
           bind(fd, &addr.addr, SocketAddress::GetAddrLength(addr))) < 0) {
-    VOID_TEMP_FAILURE_RETRY(close(fd));
+    SaveErrorAndClose(fd);
     return -1;
   }
   return fd;
@@ -408,7 +415,7 @@
 
   if (NO_RETRY_EXPECTED(
           bind(fd, &addr.addr, SocketAddress::GetAddrLength(addr))) < 0) {
-    VOID_TEMP_FAILURE_RETRY(close(fd));
+    SaveErrorAndClose(fd);
     return -1;
   }
 
@@ -418,14 +425,12 @@
     // Don't close the socket until we have created a new socket, ensuring
     // that we do not get the bad port number again.
     intptr_t new_fd = CreateBindListen(addr, backlog, v6_only);
-    int err = errno;
-    VOID_TEMP_FAILURE_RETRY(close(fd));
-    errno = err;
+    SaveErrorAndClose(fd);
     return new_fd;
   }
 
   if (NO_RETRY_EXPECTED(listen(fd, backlog > 0 ? backlog : SOMAXCONN)) != 0) {
-    VOID_TEMP_FAILURE_RETRY(close(fd));
+    SaveErrorAndClose(fd);
     return -1;
   }
 
@@ -463,8 +468,14 @@
       socket = kTemporaryFailure;
     }
   } else {
-    FDUtils::SetCloseOnExec(socket);
-    FDUtils::SetNonBlocking(socket);
+    if (!FDUtils::SetCloseOnExec(socket)) {
+      SaveErrorAndClose(socket);
+      return -1;
+    }
+    if (!FDUtils::SetNonBlocking(socket)) {
+      SaveErrorAndClose(socket);
+      return -1;
+    }
   }
   return socket;
 }
diff --git a/runtime/bin/socket_macos.cc b/runtime/bin/socket_macos.cc
index 3e082eb..4d0f53d 100644
--- a/runtime/bin/socket_macos.cc
+++ b/runtime/bin/socket_macos.cc
@@ -27,6 +27,13 @@
 namespace dart {
 namespace bin {
 
+static void SaveErrorAndClose(intptr_t fd) {
+  int err = errno;
+  VOID_TEMP_FAILURE_RETRY(close(fd));
+  errno = err;
+}
+
+
 SocketAddress::SocketAddress(struct sockaddr* sa) {
   ASSERT(INET6_ADDRSTRLEN >= INET_ADDRSTRLEN);
   if (!Socket::FormatNumericAddress(*reinterpret_cast<RawAddr*>(sa), as_string_,
@@ -57,8 +64,14 @@
   if (fd < 0) {
     return -1;
   }
-  FDUtils::SetCloseOnExec(fd);
-  FDUtils::SetNonBlocking(fd);
+  if (!FDUtils::SetCloseOnExec(fd)) {
+    SaveErrorAndClose(fd);
+    return -1;
+  }
+  if (!FDUtils::SetNonBlocking(fd)) {
+    SaveErrorAndClose(fd);
+    return -1;
+  }
   return fd;
 }
 
@@ -69,7 +82,7 @@
   if ((result == 0) || (errno == EINPROGRESS)) {
     return fd;
   }
-  VOID_TEMP_FAILURE_RETRY(close(fd));
+  SaveErrorAndClose(fd);
   return -1;
 }
 
@@ -94,7 +107,7 @@
   intptr_t result = TEMP_FAILURE_RETRY(
       bind(fd, &source_addr.addr, SocketAddress::GetAddrLength(source_addr)));
   if ((result != 0) && (errno != EINPROGRESS)) {
-    VOID_TEMP_FAILURE_RETRY(close(fd));
+    SaveErrorAndClose(fd);
     return -1;
   }
 
@@ -304,7 +317,10 @@
     return -1;
   }
 
-  FDUtils::SetCloseOnExec(fd);
+  if (!FDUtils::SetCloseOnExec(fd)) {
+    SaveErrorAndClose(fd);
+    return -1;
+  }
 
   if (reuseAddress) {
     int optval = 1;
@@ -314,11 +330,14 @@
 
   if (NO_RETRY_EXPECTED(
           bind(fd, &addr.addr, SocketAddress::GetAddrLength(addr))) < 0) {
-    VOID_TEMP_FAILURE_RETRY(close(fd));
+    SaveErrorAndClose(fd);
     return -1;
   }
 
-  FDUtils::SetNonBlocking(fd);
+  if (!FDUtils::SetNonBlocking(fd)) {
+    SaveErrorAndClose(fd);
+    return -1;
+  }
   return fd;
 }
 
@@ -357,7 +376,9 @@
 
   intptr_t count = 0;
   for (struct ifaddrs* ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) {
-    if (ShouldIncludeIfaAddrs(ifa, lookup_family)) count++;
+    if (ShouldIncludeIfaAddrs(ifa, lookup_family)) {
+      count++;
+    }
   }
 
   AddressList<InterfaceSocketAddress>* addresses =
@@ -387,7 +408,10 @@
     return -1;
   }
 
-  FDUtils::SetCloseOnExec(fd);
+  if (!FDUtils::SetCloseOnExec(fd)) {
+    SaveErrorAndClose(fd);
+    return -1;
+  }
 
   int optval = 1;
   VOID_NO_RETRY_EXPECTED(
@@ -401,7 +425,7 @@
 
   if (NO_RETRY_EXPECTED(
           bind(fd, &addr.addr, SocketAddress::GetAddrLength(addr))) < 0) {
-    VOID_TEMP_FAILURE_RETRY(close(fd));
+    SaveErrorAndClose(fd);
     return -1;
   }
 
@@ -411,18 +435,19 @@
     // Don't close the socket until we have created a new socket, ensuring
     // that we do not get the bad port number again.
     intptr_t new_fd = CreateBindListen(addr, backlog, v6_only);
-    int err = errno;
-    VOID_TEMP_FAILURE_RETRY(close(fd));
-    errno = err;
+    SaveErrorAndClose(fd);
     return new_fd;
   }
 
   if (NO_RETRY_EXPECTED(listen(fd, backlog > 0 ? backlog : SOMAXCONN)) != 0) {
-    VOID_TEMP_FAILURE_RETRY(close(fd));
+    SaveErrorAndClose(fd);
     return -1;
   }
 
-  FDUtils::SetNonBlocking(fd);
+  if (!FDUtils::SetNonBlocking(fd)) {
+    SaveErrorAndClose(fd);
+    return -1;
+  }
   return fd;
 }
 
@@ -447,8 +472,14 @@
       socket = kTemporaryFailure;
     }
   } else {
-    FDUtils::SetCloseOnExec(socket);
-    FDUtils::SetNonBlocking(socket);
+    if (!FDUtils::SetCloseOnExec(socket)) {
+      SaveErrorAndClose(socket);
+      return -1;
+    }
+    if (!FDUtils::SetNonBlocking(socket)) {
+      SaveErrorAndClose(socket);
+      return -1;
+    }
   }
   return socket;
 }
diff --git a/runtime/bin/vmservice/server.dart b/runtime/bin/vmservice/server.dart
index 69f0728..8262053 100644
--- a/runtime/bin/vmservice/server.dart
+++ b/runtime/bin/vmservice/server.dart
@@ -338,7 +338,7 @@
     }
 
     // Shutdown HTTP server and subscription.
-    String oldServerAddress = serverAddress;
+    Uri oldServerAddress = serverAddress;
     return cleanup(forced).then((_) {
       print('Observatory no longer listening on $oldServerAddress');
       _server = null;
diff --git a/runtime/include/dart_api.h b/runtime/include/dart_api.h
old mode 100755
new mode 100644
index bc60b3b..652c7913
--- a/runtime/include/dart_api.h
+++ b/runtime/include/dart_api.h
@@ -54,8 +54,8 @@
 #include <stdbool.h>
 #if __GNUC__ >= 4
 #if defined(DART_SHARED_LIB)
-#define DART_EXPORT DART_EXTERN_C __attribute__ ((visibility("default"))) \
-    __attribute((used))
+#define DART_EXPORT                                                            \
+  DART_EXTERN_C __attribute__((visibility("default"))) __attribute((used))
 #else
 #define DART_EXPORT DART_EXTERN_C
 #endif
@@ -418,10 +418,10 @@
   {                                                                            \
     Dart_Handle __handle = handle;                                             \
     if (Dart_IsError((__handle))) {                                            \
-      _Dart_ReportErrorHandle(__FILE__, __LINE__,                              \
-                              #handle, Dart_GetError(__handle));               \
+      _Dart_ReportErrorHandle(__FILE__, __LINE__, #handle,                     \
+                              Dart_GetError(__handle));                        \
     }                                                                          \
-  }                                                                            \
+  }
 
 /**
  * Converts an object to a string.
@@ -467,8 +467,8 @@
 /**
  * Allocates a handle in the current scope from a weak persistent handle.
  */
-DART_EXPORT Dart_Handle Dart_HandleFromWeakPersistent(
-    Dart_WeakPersistentHandle object);
+DART_EXPORT Dart_Handle
+Dart_HandleFromWeakPersistent(Dart_WeakPersistentHandle object);
 
 /**
  * Allocates a persistent handle for an object.
@@ -532,11 +532,11 @@
  * \return The weak persistent handle or NULL. NULL is returned in case of bad
  *   parameters.
  */
-DART_EXPORT Dart_WeakPersistentHandle Dart_NewWeakPersistentHandle(
-    Dart_Handle object,
-    void* peer,
-    intptr_t external_allocation_size,
-    Dart_WeakPersistentHandleFinalizer callback);
+DART_EXPORT Dart_WeakPersistentHandle
+Dart_NewWeakPersistentHandle(Dart_Handle object,
+                             void* peer,
+                             intptr_t external_allocation_size,
+                             Dart_WeakPersistentHandleFinalizer callback);
 
 DART_EXPORT void Dart_DeleteWeakPersistentHandle(
     Dart_Isolate isolate,
@@ -582,9 +582,9 @@
  * \return Success if the callbacks were added.  Otherwise, returns an
  *   error handle.
  */
-DART_EXPORT Dart_Handle Dart_SetGcCallbacks(
-    Dart_GcPrologueCallback prologue_callback,
-    Dart_GcEpilogueCallback epilogue_callback);
+DART_EXPORT Dart_Handle
+Dart_SetGcCallbacks(Dart_GcPrologueCallback prologue_callback,
+                    Dart_GcEpilogueCallback epilogue_callback);
 
 
 /*
@@ -793,19 +793,19 @@
  *    See Dart_GetVMServiceAssetsArchive.
  */
 typedef struct {
-    int32_t version;
-    const uint8_t* vm_isolate_snapshot;
-    const uint8_t* instructions_snapshot;
-    const uint8_t* data_snapshot;
-    Dart_IsolateCreateCallback create;
-    Dart_IsolateShutdownCallback shutdown;
-    Dart_ThreadExitCallback thread_exit;
-    Dart_FileOpenCallback file_open;
-    Dart_FileReadCallback file_read;
-    Dart_FileWriteCallback file_write;
-    Dart_FileCloseCallback file_close;
-    Dart_EntropySource entropy_source;
-    Dart_GetVMServiceAssetsArchive get_service_assets;
+  int32_t version;
+  const uint8_t* vm_isolate_snapshot;
+  const uint8_t* instructions_snapshot;
+  const uint8_t* data_snapshot;
+  Dart_IsolateCreateCallback create;
+  Dart_IsolateShutdownCallback shutdown;
+  Dart_ThreadExitCallback thread_exit;
+  Dart_FileOpenCallback file_open;
+  Dart_FileReadCallback file_read;
+  Dart_FileWriteCallback file_write;
+  Dart_FileCloseCallback file_close;
+  Dart_EntropySource entropy_source;
+  Dart_GetVMServiceAssetsArchive get_service_assets;
 } Dart_InitializeParams;
 
 /**
@@ -854,7 +854,9 @@
  *
  * A snapshot can be used to restore the VM quickly to a saved state
  * and is useful for fast startup. If snapshot data is provided, the
- * isolate will be started using that snapshot data.
+ * isolate will be started using that snapshot data. Requires a core snapshot or
+ * an app snapshot created by Dart_CreateSnapshot or
+ * Dart_CreatePrecompiledSnapshot* from a VM with the same version.
  *
  * Requires there to be no current isolate.
  *
@@ -977,11 +979,11 @@
  *
  * \return A valid handle if no error occurs during the operation.
  */
-DART_EXPORT Dart_Handle Dart_CreateSnapshot(
-    uint8_t** vm_isolate_snapshot_buffer,
-    intptr_t* vm_isolate_snapshot_size,
-    uint8_t** isolate_snapshot_buffer,
-    intptr_t* isolate_snapshot_size);
+DART_EXPORT Dart_Handle
+Dart_CreateSnapshot(uint8_t** vm_isolate_snapshot_buffer,
+                    intptr_t* vm_isolate_snapshot_size,
+                    uint8_t** isolate_snapshot_buffer,
+                    intptr_t* isolate_snapshot_size);
 
 /**
  * Creates a snapshot of the application script loaded in the isolate.
@@ -1062,7 +1064,7 @@
  * ILLEGAL_PORT is a port number guaranteed never to be associated with a valid
  * port.
  */
-#define ILLEGAL_PORT ((Dart_Port) 0)
+#define ILLEGAL_PORT ((Dart_Port)0)
 
 /**
  * A message notification callback.
@@ -1432,7 +1434,7 @@
 DART_EXPORT bool Dart_IsDouble(Dart_Handle object);
 DART_EXPORT bool Dart_IsBoolean(Dart_Handle object);
 DART_EXPORT bool Dart_IsString(Dart_Handle object);
-DART_EXPORT bool Dart_IsStringLatin1(Dart_Handle object);  /* (ISO-8859-1) */
+DART_EXPORT bool Dart_IsStringLatin1(Dart_Handle object); /* (ISO-8859-1) */
 DART_EXPORT bool Dart_IsExternalString(Dart_Handle object);
 DART_EXPORT bool Dart_IsList(Dart_Handle object);
 DART_EXPORT bool Dart_IsMap(Dart_Handle object);
@@ -1716,11 +1718,11 @@
  * \return The String object if no error occurs. Otherwise returns
  *   an error handle.
  */
-DART_EXPORT Dart_Handle Dart_NewExternalLatin1String(
-    const uint8_t* latin1_array,
-    intptr_t length,
-    void* peer,
-    Dart_PeerFinalizer cback);
+DART_EXPORT Dart_Handle
+Dart_NewExternalLatin1String(const uint8_t* latin1_array,
+                             intptr_t length,
+                             void* peer,
+                             Dart_PeerFinalizer cback);
 
 /**
  * Returns a String which references an external array of UTF-16 encoded
@@ -1838,12 +1840,12 @@
  *  result = Dart_MakeExternalString(str, data, size, NULL, NULL);
  *
  */
-DART_EXPORT Dart_Handle Dart_MakeExternalString(
-    Dart_Handle str,
-    void* array,
-    intptr_t external_allocation_size,
-    void* peer,
-    Dart_PeerFinalizer cback);
+DART_EXPORT Dart_Handle
+Dart_MakeExternalString(Dart_Handle str,
+                        void* array,
+                        intptr_t external_allocation_size,
+                        void* peer,
+                        Dart_PeerFinalizer cback);
 
 /**
  * Retrieves some properties associated with a String.
@@ -1905,8 +1907,7 @@
  * \return The Object in the List at the specified index if no error
  *   occurs. Otherwise returns an error handle.
  */
-DART_EXPORT Dart_Handle Dart_ListGetAt(Dart_Handle list,
-                                       intptr_t index);
+DART_EXPORT Dart_Handle Dart_ListGetAt(Dart_Handle list, intptr_t index);
 
 /**
 * Gets a range of Objects from a List.
@@ -2042,8 +2043,8 @@
  * \return kInvalid if the object is not an external TypedData object or
  *   the appropriate Dart_TypedData_Type.
  */
-DART_EXPORT Dart_TypedData_Type Dart_GetTypeOfExternalTypedData(
-    Dart_Handle object);
+DART_EXPORT Dart_TypedData_Type
+Dart_GetTypeOfExternalTypedData(Dart_Handle object);
 
 /**
  * Returns a TypedData object of the desired length and type.
@@ -2181,10 +2182,10 @@
  * \return The new object. If an error occurs during execution, then an
  *   error handle is returned.
  */
-DART_EXPORT Dart_Handle Dart_AllocateWithNativeFields(
-    Dart_Handle type,
-    intptr_t num_native_fields,
-    const intptr_t* native_fields);
+DART_EXPORT Dart_Handle
+Dart_AllocateWithNativeFields(Dart_Handle type,
+                              intptr_t num_native_fields,
+                              const intptr_t* native_fields);
 
 /**
  * Invokes a method or function.
@@ -2273,8 +2274,7 @@
  * \return If no error occurs, then the value of the field is
  *   returned. Otherwise an error handle is returned.
  */
-DART_EXPORT Dart_Handle Dart_GetField(Dart_Handle container,
-                                      Dart_Handle name);
+DART_EXPORT Dart_Handle Dart_GetField(Dart_Handle container, Dart_Handle name);
 
 /**
  * Sets the value of a field.
@@ -2446,7 +2446,7 @@
 #define BITMASK(size) ((1 << size) - 1)
 #define DART_NATIVE_ARG_DESCRIPTOR(type, position)                             \
   (((type & BITMASK(kNativeArgTypeSize)) << kNativeArgTypePos) |               \
-    (position & BITMASK(kNativeArgNumberSize)))
+   (position & BITMASK(kNativeArgNumberSize)))
 
 /**
  * Gets the native arguments based on the types passed in and populates
@@ -2469,11 +2469,11 @@
  *   returns an error handle if there were any errors while extracting the
  *   arguments (mismatched number of arguments, incorrect types, etc.).
  */
-DART_EXPORT Dart_Handle Dart_GetNativeArguments(
-    Dart_NativeArguments args,
-    int num_arguments,
-    const Dart_NativeArgument_Descriptor* arg_descriptors,
-    Dart_NativeArgument_Value* arg_values);
+DART_EXPORT Dart_Handle
+Dart_GetNativeArguments(Dart_NativeArguments args,
+                        int num_arguments,
+                        const Dart_NativeArgument_Descriptor* arg_descriptors,
+                        Dart_NativeArgument_Value* arg_values);
 
 
 /**
@@ -2500,11 +2500,11 @@
  *   null object then 0 is copied as the native field values into the
  *   'field_values' array.
  */
-DART_EXPORT Dart_Handle Dart_GetNativeFieldsOfArgument(
-    Dart_NativeArguments args,
-    int arg_index,
-    int num_fields,
-    intptr_t* field_values);
+DART_EXPORT Dart_Handle
+Dart_GetNativeFieldsOfArgument(Dart_NativeArguments args,
+                               int arg_index,
+                               int num_fields,
+                               intptr_t* field_values);
 
 /**
  * Gets the native field of the receiver.
@@ -2657,8 +2657,8 @@
  * the const constructors bool.fromEnvironment, int.fromEnvironment
  * and String.fromEnvironment.
  */
-DART_EXPORT Dart_Handle Dart_SetEnvironmentCallback(
-    Dart_EnvironmentCallback callback);
+DART_EXPORT Dart_Handle
+Dart_SetEnvironmentCallback(Dart_EnvironmentCallback callback);
 
 /**
  * Sets the callback used to resolve native functions for a library.
@@ -2668,10 +2668,10 @@
  *
  * \return A valid handle if the native resolver was set successfully.
  */
-DART_EXPORT Dart_Handle Dart_SetNativeResolver(
-    Dart_Handle library,
-    Dart_NativeEntryResolver resolver,
-    Dart_NativeEntrySymbol symbol);
+DART_EXPORT Dart_Handle
+Dart_SetNativeResolver(Dart_Handle library,
+                       Dart_NativeEntryResolver resolver,
+                       Dart_NativeEntrySymbol symbol);
 /* TODO(turnidge): Rename to Dart_LibrarySetNativeResolver? */
 
 
@@ -2742,8 +2742,8 @@
  *
  * TODO(turnidge): Document.
  */
-DART_EXPORT Dart_Handle Dart_SetLibraryTagHandler(
-    Dart_LibraryTagHandler handler);
+DART_EXPORT Dart_Handle
+Dart_SetLibraryTagHandler(Dart_LibraryTagHandler handler);
 
 /**
  * Canonicalizes a url with respect to some library.
@@ -2795,7 +2795,9 @@
                                         intptr_t col_offset);
 
 /**
- * Loads the root script for current isolate from a snapshot.
+ * Loads the root script for current isolate from a script snapshot. The
+ * snapshot must have been created by Dart_CreateScriptSnapshot from a VM with
+ * the same version.
  *
  * \param buffer A buffer which contains a snapshot of the script.
  * \param buffer_len Length of the passed in buffer.
@@ -3115,9 +3117,8 @@
  * \return An error handle if a compilation error or runtime error running const
  * constructors was encountered.
  */
-DART_EXPORT Dart_Handle Dart_Precompile(
-    Dart_QualifiedFunctionName entry_points[],
-    bool reset_fields);
+DART_EXPORT Dart_Handle
+Dart_Precompile(Dart_QualifiedFunctionName entry_points[], bool reset_fields);
 
 
 /**
@@ -3139,9 +3140,9 @@
  *
  * \return A valid handle if no error occurs during the operation.
  */
-DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshotAssembly(
-    uint8_t** assembly_buffer,
-    intptr_t* assembly_size);
+DART_EXPORT Dart_Handle
+Dart_CreatePrecompiledSnapshotAssembly(uint8_t** assembly_buffer,
+                                       intptr_t* assembly_size);
 
 
 /**
@@ -3150,15 +3151,15 @@
  *  load with mmap. The instructions piece must be loaded with read and
  *  execute permissions; the rodata piece may be loaded as read-only.
  */
-DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshotBlob(
-    uint8_t** vm_isolate_snapshot_buffer,
-    intptr_t* vm_isolate_snapshot_size,
-    uint8_t** isolate_snapshot_buffer,
-    intptr_t* isolate_snapshot_size,
-    uint8_t** instructions_blob_buffer,
-    intptr_t* instructions_blob_size,
-    uint8_t** rodata_blob_buffer,
-    intptr_t* rodata_blob_size);
+DART_EXPORT Dart_Handle
+Dart_CreatePrecompiledSnapshotBlob(uint8_t** vm_isolate_snapshot_buffer,
+                                   intptr_t* vm_isolate_snapshot_size,
+                                   uint8_t** isolate_snapshot_buffer,
+                                   intptr_t* isolate_snapshot_size,
+                                   uint8_t** instructions_blob_buffer,
+                                   intptr_t* instructions_blob_size,
+                                   uint8_t** rodata_blob_buffer,
+                                   intptr_t* rodata_blob_size);
 
 
 DART_EXPORT Dart_Handle Dart_PrecompileJIT();
@@ -3187,15 +3188,15 @@
  *
  * \return A valid handle if no error occurs during the operation.
  */
-DART_EXPORT Dart_Handle Dart_CreateAppJITSnapshot(
-    uint8_t** vm_isolate_snapshot_buffer,
-    intptr_t* vm_isolate_snapshot_size,
-    uint8_t** isolate_snapshot_buffer,
-    intptr_t* isolate_snapshot_size,
-    uint8_t** instructions_blob_buffer,
-    intptr_t* instructions_blob_size,
-    uint8_t** rodata_blob_buffer,
-    intptr_t* rodata_blob_size);
+DART_EXPORT Dart_Handle
+Dart_CreateAppJITSnapshot(uint8_t** vm_isolate_snapshot_buffer,
+                          intptr_t* vm_isolate_snapshot_size,
+                          uint8_t** isolate_snapshot_buffer,
+                          intptr_t* isolate_snapshot_size,
+                          uint8_t** instructions_blob_buffer,
+                          intptr_t* instructions_blob_size,
+                          uint8_t** rodata_blob_buffer,
+                          intptr_t* rodata_blob_size);
 
 
 /**
@@ -3205,4 +3206,4 @@
  */
 DART_EXPORT bool Dart_IsPrecompiledRuntime();
 
-#endif  /* INCLUDE_DART_API_H_ */  /* NOLINT */
+#endif /* INCLUDE_DART_API_H_ */ /* NOLINT */
diff --git a/runtime/include/dart_mirrors_api.h b/runtime/include/dart_mirrors_api.h
index e0f57e0..517adb9 100644
--- a/runtime/include/dart_mirrors_api.h
+++ b/runtime/include/dart_mirrors_api.h
@@ -139,4 +139,4 @@
 DART_EXPORT Dart_Handle Dart_ClosureFunction(Dart_Handle closure);
 
 
-#endif  /* INCLUDE_DART_MIRRORS_API_H_ */  /* NOLINT */
+#endif /* INCLUDE_DART_MIRRORS_API_H_ */ /* NOLINT */
diff --git a/runtime/include/dart_native_api.h b/runtime/include/dart_native_api.h
index f1e0ca1..fd0e0fb 100644
--- a/runtime/include/dart_native_api.h
+++ b/runtime/include/dart_native_api.h
@@ -176,4 +176,4 @@
  */
 DART_EXPORT Dart_Handle Dart_ParseAll();
 
-#endif  /* INCLUDE_DART_NATIVE_API_H_ */  /* NOLINT */
+#endif /* INCLUDE_DART_NATIVE_API_H_ */ /* NOLINT */
diff --git a/runtime/include/dart_tools_api.h b/runtime/include/dart_tools_api.h
index 73c923e..bfd8f89 100644
--- a/runtime/include/dart_tools_api.h
+++ b/runtime/include/dart_tools_api.h
@@ -18,7 +18,7 @@
  */
 
 
- /*
+/*
   * ========
   * Debugger
   * ========
@@ -155,9 +155,8 @@
  * \return A handle to string containing the source text if no error
  * occurs.
  */
-DART_EXPORT Dart_Handle Dart_ScriptGetSource(
-                            intptr_t library_id,
-                            Dart_Handle script_url_in);
+DART_EXPORT Dart_Handle Dart_ScriptGetSource(intptr_t library_id,
+                                             Dart_Handle script_url_in);
 
 
 /**
@@ -177,9 +176,8 @@
  *
  * \return A handle to an array or an error object.
  */
-DART_EXPORT Dart_Handle Dart_ScriptGetTokenInfo(
-                            intptr_t library_id,
-                            Dart_Handle script_url_in);
+DART_EXPORT Dart_Handle Dart_ScriptGetTokenInfo(intptr_t library_id,
+                                                Dart_Handle script_url_in);
 
 
 /**
@@ -205,9 +203,8 @@
  * \return A handle containing the breakpoint id, which is an integer
  * value, or an error object if a breakpoint could not be set.
  */
-DART_EXPORT Dart_Handle Dart_SetBreakpoint(
-                            Dart_Handle script_url,
-                            intptr_t line_number);
+DART_EXPORT Dart_Handle Dart_SetBreakpoint(Dart_Handle script_url,
+                                           intptr_t line_number);
 
 /**
  * Deletes the breakpoint with the given id \pb_id.
@@ -251,10 +248,9 @@
  * \return A handle containing the breakpoint id, which is an integer
  * value, or an error object if a breakpoint could not be set.
  */
-DART_EXPORT Dart_Handle Dart_SetBreakpointAtEntry(
-                            Dart_Handle library,
-                            Dart_Handle class_name,
-                            Dart_Handle function_name);
+DART_EXPORT Dart_Handle Dart_SetBreakpointAtEntry(Dart_Handle library,
+                                                  Dart_Handle class_name,
+                                                  Dart_Handle function_name);
 
 
 /**
@@ -266,10 +262,9 @@
  *
  * \return A handle to the True object if no error occurs.
  */
-DART_EXPORT Dart_Handle Dart_OneTimeBreakAtEntry(
-                            Dart_Handle library,
-                            Dart_Handle class_name,
-                            Dart_Handle function_name);
+DART_EXPORT Dart_Handle Dart_OneTimeBreakAtEntry(Dart_Handle library,
+                                                 Dart_Handle class_name,
+                                                 Dart_Handle function_name);
 
 
 /**
@@ -305,8 +300,7 @@
  *
  * Requires there to be a current isolate.
  */
-DART_EXPORT void Dart_SetPausedEventHandler(
-                            Dart_PausedEventHandler handler);
+DART_EXPORT void Dart_SetPausedEventHandler(Dart_PausedEventHandler handler);
 
 
 /**
@@ -316,7 +310,7 @@
  * Requires there to be a current isolate.
  */
 DART_EXPORT void Dart_SetBreakpointResolvedHandler(
-                            Dart_BreakpointResolvedHandler handler);
+    Dart_BreakpointResolvedHandler handler);
 
 /**
  * Installs a callback function that gets called by the VM when
@@ -325,7 +319,7 @@
  * Requires there to be a current isolate.
  */
 DART_EXPORT void Dart_SetExceptionThrownHandler(
-                            Dart_ExceptionThrownHandler handler);
+    Dart_ExceptionThrownHandler handler);
 
 /**
  * Installs a callback function that gets called by the VM when
@@ -349,8 +343,8 @@
  *
  * Requires there to be a current isolate.
  */
-DART_EXPORT Dart_Handle Dart_SetExceptionPauseInfo(
-                            Dart_ExceptionPauseInfo pause_info);
+DART_EXPORT Dart_Handle
+Dart_SetExceptionPauseInfo(Dart_ExceptionPauseInfo pause_info);
 
 
 /**
@@ -390,9 +384,8 @@
  *
  * \return A handle to the True object if no error occurs.
  */
-DART_EXPORT Dart_Handle Dart_StackTraceLength(
-                            Dart_StackTrace trace,
-                            intptr_t* length);
+DART_EXPORT Dart_Handle Dart_StackTraceLength(Dart_StackTrace trace,
+                                              intptr_t* length);
 
 
 /**
@@ -403,10 +396,9 @@
  *
  * \return A handle to the True object if no error occurs.
  */
-DART_EXPORT Dart_Handle Dart_GetActivationFrame(
-                            Dart_StackTrace trace,
-                            int frame_index,
-                            Dart_ActivationFrame* frame);
+DART_EXPORT Dart_Handle Dart_GetActivationFrame(Dart_StackTrace trace,
+                                                int frame_index,
+                                                Dart_ActivationFrame* frame);
 
 
 /**
@@ -425,12 +417,12 @@
  *
  * \return A valid handle if no error occurs during the operation.
  */
-DART_EXPORT Dart_Handle Dart_ActivationFrameInfo(
-                            Dart_ActivationFrame activation_frame,
-                            Dart_Handle* function_name,
-                            Dart_Handle* script_url,
-                            intptr_t* line_number,
-                            intptr_t* column_number);
+DART_EXPORT Dart_Handle
+Dart_ActivationFrameInfo(Dart_ActivationFrame activation_frame,
+                         Dart_Handle* function_name,
+                         Dart_Handle* script_url,
+                         intptr_t* line_number,
+                         intptr_t* column_number);
 
 
 /**
@@ -456,11 +448,11 @@
  *         A handle to the False object if there is no text
  *         position for the frame.
  */
-DART_EXPORT Dart_Handle Dart_ActivationFrameGetLocation(
-                            Dart_ActivationFrame activation_frame,
-                            Dart_Handle* function_name,
-                            Dart_Handle* function,
-                            Dart_CodeLocation* location);
+DART_EXPORT Dart_Handle
+Dart_ActivationFrameGetLocation(Dart_ActivationFrame activation_frame,
+                                Dart_Handle* function_name,
+                                Dart_Handle* function,
+                                Dart_CodeLocation* location);
 
 /**
  * Returns frame pointer of the given activation frame.
@@ -471,9 +463,9 @@
  *
  * \return A handle to the True object if no error occurs.
  */
-DART_EXPORT Dart_Handle Dart_ActivationFrameGetFramePointer(
-                            Dart_ActivationFrame activation_frame,
-                            uintptr_t* frame_pointer);
+DART_EXPORT Dart_Handle
+Dart_ActivationFrameGetFramePointer(Dart_ActivationFrame activation_frame,
+                                    uintptr_t* frame_pointer);
 
 /**
  * Returns an array containing all the local variable names and values of
@@ -486,8 +478,8 @@
  * no variables. If non-empty, variable names are at array offsets 2*n,
  * values at offset 2*n+1.
  */
-DART_EXPORT Dart_Handle Dart_GetLocalVariables(
-                            Dart_ActivationFrame activation_frame);
+DART_EXPORT Dart_Handle
+Dart_GetLocalVariables(Dart_ActivationFrame activation_frame);
 
 
 /**
@@ -519,9 +511,9 @@
  * Execute the expression given in string \expr in the context
  * of stack frame \activation_frame.
  */
-DART_EXPORT Dart_Handle Dart_ActivationFrameEvaluate(
-                            Dart_ActivationFrame activation_frame,
-                            Dart_Handle expr_in);
+DART_EXPORT Dart_Handle
+Dart_ActivationFrameEvaluate(Dart_ActivationFrame activation_frame,
+                             Dart_Handle expr_in);
 
 
 /**
@@ -542,8 +534,7 @@
  * the compilation of the expression fails, or if the evaluation throws
  * an error.
  */
-DART_EXPORT Dart_Handle Dart_EvaluateExpr(Dart_Handle target,
-                                          Dart_Handle expr);
+DART_EXPORT Dart_Handle Dart_EvaluateExpr(Dart_Handle target, Dart_Handle expr);
 
 
 /**
@@ -783,13 +774,12 @@
  * \return True if the result is a regular JSON-RPC response, false if the
  *   result is a JSON-RPC error.
  */
-typedef bool (*Dart_ServiceRequestCallback)(
-    const char* method,
-    const char** param_keys,
-    const char** param_values,
-    intptr_t num_params,
-    void* user_data,
-    const char** json_object);
+typedef bool (*Dart_ServiceRequestCallback)(const char* method,
+                                            const char** param_keys,
+                                            const char** param_values,
+                                            intptr_t num_params,
+                                            void* user_data,
+                                            const char** json_object);
 
 
 /**
@@ -913,8 +903,8 @@
  */
 typedef bool (*Dart_FileModifiedCallback)(const char* url, int64_t since);
 
-DART_EXPORT Dart_Handle Dart_SetFileModifiedCallback(
-    Dart_FileModifiedCallback file_modified_callback);
+DART_EXPORT Dart_Handle
+Dart_SetFileModifiedCallback(Dart_FileModifiedCallback file_modified_callback);
 
 /*
  * ========
@@ -948,14 +938,11 @@
 #define DART_TIMELINE_STREAM_VM (1 << 7)
 
 /** All timeline streams */
-#define DART_TIMELINE_STREAM_ALL (DART_TIMELINE_STREAM_API |                   \
-                                  DART_TIMELINE_STREAM_COMPILER |              \
-                                  DART_TIMELINE_STREAM_DART |                  \
-                                  DART_TIMELINE_STREAM_DEBUGGER |              \
-                                  DART_TIMELINE_STREAM_EMBEDDER |              \
-                                  DART_TIMELINE_STREAM_GC |                    \
-                                  DART_TIMELINE_STREAM_ISOLATE |               \
-                                  DART_TIMELINE_STREAM_VM)
+#define DART_TIMELINE_STREAM_ALL                                               \
+  (DART_TIMELINE_STREAM_API | DART_TIMELINE_STREAM_COMPILER |                  \
+   DART_TIMELINE_STREAM_DART | DART_TIMELINE_STREAM_DEBUGGER |                 \
+   DART_TIMELINE_STREAM_EMBEDDER | DART_TIMELINE_STREAM_GC |                   \
+   DART_TIMELINE_STREAM_ISOLATE | DART_TIMELINE_STREAM_VM)
 
 /** Disable all timeline stream recording */
 #define DART_TIMELINE_STREAM_DISABLE 0
@@ -1001,12 +988,11 @@
  * At the end of each stream state will be DART_STREAM_CONSUMER_STATE_FINISH
  * and buffer will be NULL.
  */
-typedef void (*Dart_StreamConsumer)(
-    Dart_StreamConsumer_State state,
-    const char* stream_name,
-    const uint8_t* buffer,
-    intptr_t buffer_length,
-    void* stream_callback_data);
+typedef void (*Dart_StreamConsumer)(Dart_StreamConsumer_State state,
+                                    const char* stream_name,
+                                    const uint8_t* buffer,
+                                    intptr_t buffer_length,
+                                    void* stream_callback_data);
 
 /**
  * Get the timeline for entire VM (including all isolates).
diff --git a/runtime/lib/double.dart b/runtime/lib/double.dart
index 2fd2e97..6a532ef 100644
--- a/runtime/lib/double.dart
+++ b/runtime/lib/double.dart
@@ -275,11 +275,4 @@
       return LESS;
     }
   }
-
-  static const int _FRACTIONAL_BITS = // Bits to keep after the decimal point.
-      const int.fromEnvironment("doubleFractionalBits", defaultValue: 20);
-  static const double _BIAS = 1.5 * (1 << (52 - _FRACTIONAL_BITS));
-
-  // Returns this with only _FRACTIONAL_BITS bits after the decimal point.
-  double get p => this + _BIAS - _BIAS;
 }
diff --git a/runtime/observatory/BUILD.gn b/runtime/observatory/BUILD.gn
index 4978c1a..d4c736c 100644
--- a/runtime/observatory/BUILD.gn
+++ b/runtime/observatory/BUILD.gn
@@ -2,7 +2,8 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-import("../../utils/invoke_dart.gni")
+import("../../build/executable_suffix.gni")
+import("../../build/prebuilt_dart_sdk.gni")
 
 # Currently paths here are hard coded for convenience in building Mojo/Flutter.
 declare_args() {
@@ -29,19 +30,20 @@
     "--pub-executable",
     dart_host_pub_exe,
   ]
-} else {
+} else if (!prebuilt_dart_exe_works) {
   pub_build_deps += [ "../bin:dart_bootstrap($host_toolchain)" ]
 
   dart_out_dir =
       get_label_info("../bin:dart_bootstrap($host_toolchain)", "root_out_dir")
-  dart_bootstrap =
-      rebase_path("$dart_out_dir/dart_bootstrap$dart_executable_suffix")
+  dart_bootstrap = rebase_path("$dart_out_dir/dart_bootstrap$executable_suffix")
 
   pub_build_args = [
     "--sdk=True",
     "--dart-executable",
     dart_bootstrap,
   ]
+} else {
+  pub_build_args = [ "--sdk=True" ]
 }
 
 current_dir = rebase_path(".", "//")
diff --git a/runtime/observatory/tests/service/auth_token1_test.dart b/runtime/observatory/tests/service/auth_token1_test.dart
new file mode 100644
index 0000000..5afb263
--- /dev/null
+++ b/runtime/observatory/tests/service/auth_token1_test.dart
@@ -0,0 +1,49 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+// VMOptions=--error_on_bad_type --error_on_bad_override
+
+import 'dart:async';
+import 'dart:developer';
+import 'dart:io' as io;
+import 'package:observatory/service_io.dart';
+import 'package:unittest/unittest.dart';
+import 'test_helper.dart';
+
+Future<Null> testeeBefore() async {
+  print('testee before');
+  print(await Service.getInfo());
+  // Start the web server.
+  ServiceProtocolInfo info = await Service.controlWebServer(enable: true);
+  expect(info.serverUri, isNotNull);
+  // Ensure that we have no auth token in the path segments.
+  expect(info.serverUri.pathSegments.length, equals(0));
+
+  // Try connecting to the server without the auth token, it should succeed.
+  var port = info.serverUri.port;
+  var url = Uri.parse('http://127.0.0.1:$port');
+  var httpClient = new io.HttpClient();
+  try {
+    var request = await httpClient.getUrl(url);
+    expect(true, true);
+  } catch (e) {
+    expect(true, false);
+  }
+}
+
+var tests = [
+(Isolate isolate) async {
+  await isolate.reload();
+  // Just getting here means that the testee enabled the service protocol
+  // web server.
+  expect(true, true);
+}
+];
+
+main(args) => runIsolateTests(args,
+                              tests,
+                              testeeBefore: testeeBefore,
+                              // the testee is responsible for starting the
+                              // web server.
+                              testeeControlsServer: true,
+                              useAuthToken: false);
diff --git a/runtime/observatory/tests/service/auth_token_test.dart b/runtime/observatory/tests/service/auth_token_test.dart
index ce75e4f..6d38fca 100644
--- a/runtime/observatory/tests/service/auth_token_test.dart
+++ b/runtime/observatory/tests/service/auth_token_test.dart
@@ -1,10 +1,11 @@
-// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--error_on_bad_type --error_on_bad_override
 
 import 'dart:async';
 import 'dart:developer';
+import 'dart:io' as io;
 import 'package:observatory/service_io.dart';
 import 'package:unittest/unittest.dart';
 import 'test_helper.dart';
@@ -19,6 +20,26 @@
   expect(info.serverUri.pathSegments.length, greaterThan(1));
   // Sanity check the length of the auth token.
   expect(info.serverUri.pathSegments[0].length, greaterThan(8));
+
+  // Try connecting to the server without the auth token, it should throw
+  // an exception.
+  var port = info.serverUri.port;
+  var url = Uri.parse('http://127.0.0.1:$port');
+  var httpClient = new io.HttpClient();
+  try {
+    var request = await httpClient.getUrl(url);
+    expect(true, false);
+  } catch (e) {
+    expect(true, true);
+  }
+
+  // Try connecting to the server with the auth token, it should succeed.
+  try {
+    var request = await httpClient.getUrl(info.serverUri);
+    expect(true, true);
+  } catch (e) {
+    expect(true, false);
+  }
 }
 
 var tests = [
diff --git a/runtime/observatory/tests/service/developer_server_control_test.dart b/runtime/observatory/tests/service/developer_server_control_test.dart
index fc1e940..400796b 100644
--- a/runtime/observatory/tests/service/developer_server_control_test.dart
+++ b/runtime/observatory/tests/service/developer_server_control_test.dart
@@ -9,12 +9,63 @@
 import 'package:unittest/unittest.dart';
 import 'test_helper.dart';
 
+int majorVersion;
+int minorVersion;
+Uri serverUri;
+
 Future<Null> testeeBefore() async {
   print('testee before');
-  print(await Service.getInfo());
-  // Start the web server.
-  ServiceProtocolInfo info = await Service.controlWebServer(enable: true);
-  print(info);
+  // First grab the URL where the observatory is listening on and the
+  // service protocol version numbers. We expect the URL to be null as
+  // the server has not been started yet.
+  ServiceProtocolInfo info = await Service.getInfo();
+  majorVersion = info.majorVersion;
+  minorVersion = info.minorVersion;
+  serverUri = info.serverUri;
+  expect(info.serverUri, isNull);
+  {
+    // Now, start the web server and store the URI which is expected to be
+    // non NULL in the top level variable.
+    ServiceProtocolInfo info = await Service.controlWebServer(enable: true);
+    expect(info.majorVersion, equals(majorVersion));
+    expect(info.minorVersion, equals(minorVersion));
+    expect(info.serverUri, isNotNull);
+    serverUri = info.serverUri;
+  }
+  {
+    // Now try starting the web server again, this should just return the
+    // existing state without any change (port number does not change).
+    ServiceProtocolInfo info = await Service.controlWebServer(enable: true);
+    expect(info.majorVersion, equals(majorVersion));
+    expect(info.minorVersion, equals(minorVersion));
+    expect(info.serverUri, equals(serverUri));
+  }
+  {
+    // Try turning off the web server, this should turn off the server and
+    // the Uri returned should be null.
+    ServiceProtocolInfo info = await Service.controlWebServer(enable: false);
+    expect(info.majorVersion, equals(majorVersion));
+    expect(info.minorVersion, equals(minorVersion));
+    expect(info.serverUri, isNull);
+  }
+  {
+    // Try turning off the web server again, this should be a nop
+    // and the Uri returned should be null.
+    ServiceProtocolInfo info = await Service.controlWebServer(enable: false);
+    expect(info.majorVersion, equals(majorVersion));
+    expect(info.minorVersion, equals(minorVersion));
+    expect(info.serverUri, isNull);
+  }
+  {
+    // Start the web server again for the test below.
+    ServiceProtocolInfo info = await Service.controlWebServer(enable: true);
+    majorVersion = info.majorVersion;
+    minorVersion = info.minorVersion;
+    serverUri = info.serverUri;
+    expect(info.majorVersion, equals(majorVersion));
+    expect(info.minorVersion, equals(minorVersion));
+    expect(info.serverUri, equals(serverUri));
+  }
 }
 
 var tests = [
diff --git a/runtime/observatory/tests/service/service.status b/runtime/observatory/tests/service/service.status
index 6810137..8cdaef3 100644
--- a/runtime/observatory/tests/service/service.status
+++ b/runtime/observatory/tests/service/service.status
@@ -41,7 +41,6 @@
 *: Skip # Issue 24651
 
 [ $runtime == vm ]
-coverage_test: Pass, Slow
 developer_extension_test: Pass, Fail # Issue 27225
 
 # Service protocol is not supported in product mode.
diff --git a/runtime/platform/globals.h b/runtime/platform/globals.h
index cd74901..231464c 100644
--- a/runtime/platform/globals.h
+++ b/runtime/platform/globals.h
@@ -128,15 +128,15 @@
 
 #if defined(PRODUCT)
 #define NOT_IN_PRODUCT(code)
-#define DEBUG_ONLY(code)
 #else  // defined(PRODUCT)
 #define NOT_IN_PRODUCT(code) code
+#endif  // defined(PRODUCT)
+
 #if defined(DEBUG)
 #define DEBUG_ONLY(code) code
 #else  // defined(DEBUG)
 #define DEBUG_ONLY(code)
 #endif  // defined(DEBUG)
-#endif  // defined(PRODUCT)
 
 #if defined(DART_PRECOMPILED_RUNTIME) && defined(DART_PRECOMPILER)
 #error DART_PRECOMPILED_RUNTIME and DART_PRECOMPILER are mutually exclusive
diff --git a/runtime/tests/vm/vm.status b/runtime/tests/vm/vm.status
index d58bdef..7ff1030 100644
--- a/runtime/tests/vm/vm.status
+++ b/runtime/tests/vm/vm.status
@@ -8,6 +8,7 @@
 cc/IsolateReload_PendingConstructorCall_ConcreteToAbstract: Fail, Crash
 cc/IsolateReload_PendingStaticCall_DefinedToNSM: Fail, Crash
 cc/IsolateReload_PendingStaticCall_NSMToDefined: Fail, Crash
+cc/IsolateReload_EnumDelete: Skip # Issue 27802
 
 # These tests are expected to crash on all platforms.
 cc/ArrayNew_Overflow_Crash: Crash, Timeout
@@ -160,9 +161,6 @@
 # This test is meaningless for DBC as allocation stubs are not used.
 cc/RegenerateAllocStubs: Skip
 
-[ ($arch == simdbc || $arch == simdbc64) && $checked ]
-dart/optimized_stacktrace_test: RuntimeError # Issue 27732
-
 [ $hot_reload || $hot_reload_rollback ]
 dart/spawn_shutdown_test: Skip # We can shutdown an isolate before it reloads.
 dart/spawn_infinite_loop_test: Skip # We can shutdown an isolate before it reloads.
diff --git a/runtime/vm/BUILD.gn b/runtime/vm/BUILD.gn
index 7922cf0..e0eab68 100644
--- a/runtime/vm/BUILD.gn
+++ b/runtime/vm/BUILD.gn
@@ -2,7 +2,9 @@
 # for details. All rights reserved. Use of this source code is governed by a
 # BSD-style license that can be found in the LICENSE file.
 
-import("../../utils/invoke_dart.gni")
+import("../../build/executable_suffix.gni")
+import("../../build/prebuilt_dart_sdk.gni")
+import("gypi_contents.gni")
 
 config("libdart_vm_config") {
   if (defined(is_fuchsia) && is_fuchsia) {
@@ -31,30 +33,12 @@
   ]
   public_configs = [ ":libdart_vm_config" ]
 
-  platform_headers_gypi =
-      exec_script("../../tools/gypi_to_gn.py",
-                  [ rebase_path("../platform/platform_headers.gypi") ],
-                  "scope",
-                  [ "../platform/platform_headers.gypi" ])
-  platform_headers =
-      rebase_path(platform_headers_gypi.sources, ".", "../platform")
+  sources = rebase_path(processed_gypis.platform_sources, ".", "../platform")
 
-  platform_sources_gypi =
-      exec_script("../../tools/gypi_to_gn.py",
-                  [ rebase_path("../platform/platform_sources.gypi") ],
-                  "scope",
-                  [ "../platform/platform_sources.gypi" ])
-  platform_sources =
-      rebase_path(platform_sources_gypi.sources, ".", "../platform")
-
-  sources = platform_headers + platform_sources
   include_dirs = [ ".." ]
 }
 
-vm_sources_list = exec_script("../../tools/gypi_to_gn.py",
-                              [ rebase_path("vm_sources.gypi") ],
-                              "scope",
-                              [ "vm_sources.gypi" ])
+vm_sources_list = processed_gypis.vm_sources
 
 static_library("libdart_vm") {
   configs += [
@@ -67,7 +51,7 @@
                                   "*_test.cc",
                                   "*_test.h",
                                 ])
-  sources = vm_sources_list.sources
+  sources = vm_sources_list
   include_dirs = [ ".." ]
 }
 
@@ -83,7 +67,7 @@
                                   "*_test.cc",
                                   "*_test.h",
                                 ])
-  sources = vm_sources_list.sources
+  sources = vm_sources_list
   include_dirs = [ ".." ]
 }
 
@@ -98,7 +82,7 @@
                                   "*_test.cc",
                                   "*_test.h",
                                 ])
-  sources = vm_sources_list.sources
+  sources = vm_sources_list
   include_dirs = [ ".." ]
 }
 
@@ -114,7 +98,7 @@
                                   "*_test.cc",
                                   "*_test.h",
                                 ])
-  sources = vm_sources_list.sources
+  sources = vm_sources_list
   include_dirs = [ ".." ]
 }
 
@@ -130,7 +114,7 @@
                                   "*_test.cc",
                                   "*_test.h",
                                 ])
-  sources = vm_sources_list.sources
+  sources = vm_sources_list
   include_dirs = [ ".." ]
 }
 
@@ -146,53 +130,41 @@
                                   "*_test.cc",
                                   "*_test.h",
                                 ])
-  sources = vm_sources_list.sources
+  sources = vm_sources_list
   include_dirs = [ ".." ]
 }
 
 template("process_library_source") {
-  assert(defined(invoker.filename), "Need filename in $target_name")
+  assert(defined(invoker.libsources), "Need libsources in $target_name")
   assert(defined(invoker.output), "Need output in $target_name")
-  assert(defined(invoker.path), "Need path in $target_name")
   action(target_name) {
     visibility = [ ":*" ]  # Only targets in this file can see this.
-    filename = invoker.filename
-    path = invoker.path
-
-    lib_sources_gypi =
-        exec_script("../../tools/gypi_to_gn.py",
-                    [ rebase_path("${path}/${filename}_sources.gypi") ],
-                    "scope",
-                    [ "${path}/${filename}_sources.gypi" ])
-    lib_sources = rebase_path(lib_sources_gypi.sources, ".", path)
+    libsources = invoker.libsources
 
     script = invoker.script
-    inputs = invoker.inputs + [ script ]
-    inputs += lib_sources
+    inputs = invoker.inputs + libsources
     outputs = [
       invoker.output,
     ]
-    args = invoker.args + rebase_path(lib_sources, root_build_dir)
+    args = invoker.args + rebase_path(libsources, root_build_dir)
   }
 }
 
 template("generate_library_source") {
   assert(defined(invoker.libname), "Need libname in $target_name")
-  assert(defined(invoker.filename), "Need a filename in $target_name")
+  assert(defined(invoker.libsources), "Need libsources in $target_name")
   assert(defined(invoker.kind), "Need kind in $target_name")
   assert(defined(invoker.output), "Need output in $target_name")
-  assert(defined(invoker.path), "Need path in $target_name")
 
   process_library_source(target_name) {
     libname = invoker.libname
-    filename = invoker.filename
+    libsources = invoker.libsources
     kind = invoker.kind
-    output = invoker.output
-    path = invoker.path
     script = "../tools/gen_library_src_paths.py"
     inputs = [
       "../lib/libgen_in.cc",
     ]
+    output = invoker.output
     args = [
       "--output",
       rebase_path(invoker.output, root_build_dir),
@@ -208,51 +180,45 @@
   }
 }
 
-# This templates expects invoker.sources to be a list of pairs of strings.
-# The pairs of strings mean the following.
-# library name, file name
-# e.g. for the "internal" library named "dart:_internal",
-# with sources listed at sdk/lib/internal/internal_sources.gypi and
-# lib/internal_sources.gypi, we have: ["_internal", "internal"]
+# This templates expects invoker.sources to be a list of lists.
+# The lists contain the following information about each library:
+#   library name (string)
+#   library sources (list of strings)
+#   library source base path (string)
+#   filename (string)
+#   do_patch (boolean)
+#
+# If do_patch is true, the lists additionally contains
+#   patch sources (list of strings)
+#   patch source base path (string)
 #
 # The template iterates over the list, and generates generate_library_source
 # actions for each. After that, it generates targets to compile the generated
-# sources to make libdart_lib_nosnapshot and libdart_lib.
+# sources to make libdart_lib_*.
 template("generate_core_libraries") {
   assert(defined(invoker.sources), "Need sources in $target_name")
+  assert(defined(invoker.allsources), "Need allsources in $target_name")
   liboutputs = []
-  libsources = []
   libdeps = []
   foreach(lib, invoker.sources) {
     libname = lib[0]
-    filename = lib[1]
-    do_patch = lib[2]
-    source_path = lib[3]
+    filename = lib[3]
+    do_patch = lib[4]
     generate_library_source("generate_${filename}_cc_file") {
       libname = libname
-      filename = filename
+      libsources = rebase_path(lib[1], ".", lib[2])
       kind = "source"
-      path = source_path
       output = "$target_gen_dir/${filename}_gen.cc"
     }
     if (do_patch) {
-      patch_path = lib[4]
       generate_library_source("generate_${filename}_patch_cc_file") {
         libname = libname
-        filename = filename
+        libsources = rebase_path(lib[5], ".", lib[6])
         kind = "patch"
-        path = patch_path
         output = "$target_gen_dir/${filename}_patch_gen.cc"
       }
     }
-    lib_sources_gypi = {
-    }
-    lib_sources_gypi =
-        exec_script("../../tools/gypi_to_gn.py",
-                    [ rebase_path("../lib/${filename}_sources.gypi") ],
-                    "scope",
-                    [ "../lib/${filename}_sources.gypi" ])
-    libsources += rebase_path(lib_sources_gypi.sources, ".", "../lib")
+
     liboutputs += [ "$target_gen_dir/${filename}_gen.cc" ]
     libdeps += [ ":generate_${filename}_cc_file" ]
     if (do_patch) {
@@ -261,6 +227,8 @@
     }
   }
 
+  all_libsources = rebase_path(invoker.allsources, ".", "../lib")
+
   static_library("libdart_lib_nosnapshot") {
     configs += [
       "..:dart_config",
@@ -268,7 +236,7 @@
       "..:dart_maybe_precompiled_runtime_config",
     ]
     deps = libdeps
-    sources = libsources + [ "bootstrap.cc" ] + liboutputs
+    sources = all_libsources + [ "bootstrap.cc" ] + liboutputs
     include_dirs = [ ".." ]
   }
   static_library("libdart_lib_nosnapshot_precompiled_runtime") {
@@ -278,7 +246,7 @@
       "..:dart_precompiled_runtime_config",
     ]
     deps = libdeps
-    sources = libsources + [ "bootstrap.cc" ] + liboutputs
+    sources = all_libsources + [ "bootstrap.cc" ] + liboutputs
     include_dirs = [ ".." ]
   }
   static_library("libdart_lib_nosnapshot_with_precompiler") {
@@ -288,7 +256,7 @@
       "..:dart_precompiler_config",
     ]
     deps = libdeps
-    sources = libsources + [ "bootstrap.cc" ] + liboutputs
+    sources = all_libsources + [ "bootstrap.cc" ] + liboutputs
     include_dirs = [ ".." ]
   }
   static_library("libdart_lib") {
@@ -297,7 +265,7 @@
       "..:dart_maybe_product_config",
       "..:dart_maybe_precompiled_runtime_config",
     ]
-    sources = libsources + [ "bootstrap_nocore.cc" ]
+    sources = all_libsources + [ "bootstrap_nocore.cc" ]
     include_dirs = [ ".." ]
   }
   static_library("libdart_lib_precompiled_runtime") {
@@ -306,7 +274,7 @@
       "..:dart_maybe_product_config",
       "..:dart_precompiled_runtime_config",
     ]
-    sources = libsources + [ "bootstrap_nocore.cc" ]
+    sources = all_libsources + [ "bootstrap_nocore.cc" ]
     include_dirs = [ ".." ]
   }
 }
@@ -315,104 +283,125 @@
   sources = [
     [
       "async",
+      processed_gypis.async_sdk_sources,
+      "../../sdk/lib/async",
       "async",
       true,
-      "../../sdk/lib/async",
+      processed_gypis.async_runtime_sources,
       "../lib",
     ],
     [
       "core",
-      "core",
-      true,
+      processed_gypis.core_sdk_sources,
       "../../sdk/lib/core",
+      "core",
+      true,
+      processed_gypis.core_runtime_sources,
       "../lib",
     ],
     [
       "collection",
-      "collection",
-      true,
+      processed_gypis.collection_sdk_sources,
       "../../sdk/lib/collection",
+      "collection",
+      true,
+      processed_gypis.collection_runtime_sources,
       "../lib",
     ],
     [
       "convert",
-      "convert",
-      true,
+      processed_gypis.convert_sdk_sources,
       "../../sdk/lib/convert",
+      "convert",
+      true,
+      processed_gypis.convert_runtime_sources,
       "../lib",
     ],
     [
       "developer",
+      processed_gypis.developer_sdk_sources,
+      "../../sdk/lib/developer",
       "developer",
       true,
-      "../../sdk/lib/developer",
+      processed_gypis.developer_runtime_sources,
       "../lib",
     ],
     [
       "_internal",
+      processed_gypis.internal_sdk_sources,
+      "../../sdk/lib/internal",
       "internal",
       true,
-      "../../sdk/lib/internal",
+      processed_gypis.internal_runtime_sources,
       "../lib",
     ],
     [
       "isolate",
-      "isolate",
-      true,
+      processed_gypis.isolate_sdk_sources,
       "../../sdk/lib/isolate",
+      "isolate",
+      true,
+      processed_gypis.isolate_runtime_sources,
       "../lib",
     ],
     [
       "math",
-      "math",
-      true,
+      processed_gypis.math_sdk_sources,
       "../../sdk/lib/math",
+      "math",
+      true,
+      processed_gypis.math_runtime_sources,
       "../lib",
     ],
     [
       "mirrors",
+      processed_gypis.mirrors_sdk_sources,
+      "../../sdk/lib/mirrors",
       "mirrors",
       true,
-      "../../sdk/lib/mirrors",
+      processed_gypis.mirrors_runtime_sources,
       "../lib",
     ],
     [
       "profiler",
-      "profiler",
-      false,
+      processed_gypis.profiler_sdk_sources,
       "../../sdk/lib/profiler",
+      "profiler",
+      false,
     ],
     [
       "typed_data",
+      processed_gypis.typed_data_runtime_sources,
+      "../lib",
       "typed_data",
       false,
-      "../lib",
     ],
     [
       "_vmservice",
+      processed_gypis.vmservice_sdk_sources,
+      "../../sdk/lib/vmservice",
       "vmservice",
       true,
-      "../../sdk/lib/vmservice",
+      processed_gypis.vmservice_runtime_sources,
       "../lib",
     ],
   ]
+  allsources = processed_gypis.allsources
 }
 
 template("concatenate_patch") {
-  assert(defined(invoker.libname), "Need a name in $target_name")
-  assert(defined(invoker.dir), "Need a dir in $target_name")
+  assert(defined(invoker.libsources), "Need a sources in $target_name")
   assert(defined(invoker.output), "Need an output in $target_name")
 
   process_library_source(target_name) {
+    libsources = invoker.libsources
+    inputs = []
     output = invoker.output
-    path = "../${invoker.dir}"
-    filename = invoker.libname
     script = "../tools/concatenate_patches.py"
     args = [
       "--output",
       rebase_path(output, root_build_dir),
     ]
-    inputs = []
   }
 }
 
@@ -425,12 +414,11 @@
 
     # Concatenate vm library patches.
     foreach(library, invoker.libraries) {
-      name = library[1]
+      name = library[0]
 
       target_output = "$target_gen_dir/patches/${name}_patch.dart"
       concatenate_patch("concatenate_${name}_patch") {
-        libname = name
-        dir = library[0]
+        libsources = rebase_path(library[1], ".", library[2])
         output = target_output
       }
       concatenation_target_names += [ ":concatenate_${name}_patch" ]
@@ -440,8 +428,10 @@
     # Build the patched sdk out of the concatenated patches and the special
     # libraries.
     action(target_name) {
-      deps = [ "../bin:dart_bootstrap($host_toolchain)" ] +
-             concatenation_target_names
+      deps = concatenation_target_names
+      if (!prebuilt_dart_exe_works) {
+        deps += [ "../bin:dart_bootstrap($host_toolchain)" ]
+      }
 
       patches_dir = "$target_gen_dir/patches"
       patched_sdk_dir = "$root_out_dir/patched_sdk"
@@ -481,14 +471,18 @@
         "${patched_sdk_dir}/lib/core/core.dart",
       ]
 
-      dart_out_dir = get_label_info("../bin:dart_bootstrap($host_toolchain)",
-                                    "root_out_dir")
-      dart_bootstrap =
-          rebase_path("$dart_out_dir/dart_bootstrap$dart_executable_suffix")
-
-      args = [
-        "--dart-executable",
-        dart_bootstrap,
+      args = []
+      if (!prebuilt_dart_exe_works) {
+        dart_out_dir = get_label_info("../bin:dart_bootstrap($host_toolchain)",
+                                      "root_out_dir")
+        dart_bootstrap =
+            rebase_path("$dart_out_dir/dart_bootstrap$executable_suffix")
+        args += [
+          "--dart-executable",
+          dart_bootstrap,
+        ]
+      }
+      args += [
         "vm",
         rebase_path("../../sdk"),
         rebase_path(patches_dir, root_build_dir),
@@ -500,52 +494,64 @@
   generate_patched_sdk("patched_sdk") {
     libraries = [
       [
-        "lib",
         "async",
+        processed_gypis.async_runtime_sources,
+        "../lib",
       ],
       [
-        "lib",
         "collection",
+        processed_gypis.collection_runtime_sources,
+        "../lib",
       ],
       [
-        "lib",
         "convert",
+        processed_gypis.convert_runtime_sources,
+        "../lib",
       ],
       [
-        "lib",
         "core",
+        processed_gypis.core_runtime_sources,
+        "../lib",
       ],
       [
-        "lib",
         "developer",
+        processed_gypis.developer_runtime_sources,
+        "../lib",
       ],
       [
-        "lib",
         "internal",
+        processed_gypis.internal_runtime_sources,
+        "../lib",
       ],
       [
-        "lib",
         "isolate",
+        processed_gypis.isolate_runtime_sources,
+        "../lib",
       ],
       [
-        "lib",
         "math",
+        processed_gypis.math_runtime_sources,
+        "../lib",
       ],
       [
-        "lib",
         "mirrors",
+        processed_gypis.mirrors_runtime_sources,
+        "../lib",
       ],
       [
-        "lib",
         "profiler",
+        processed_gypis.profiler_runtime_sources,
+        "../lib",
       ],
       [
-        "lib",
         "vmservice",
+        processed_gypis.vmservice_runtime_sources,
+        "../lib",
       ],
       [
-        "bin",
         "io",
+        processed_gypis.bin_io_sources,
+        "../bin",
       ],
     ]
   }
diff --git a/runtime/vm/allocation.h b/runtime/vm/allocation.h
index 448176d..16c7075 100644
--- a/runtime/vm/allocation.h
+++ b/runtime/vm/allocation.h
@@ -21,8 +21,8 @@
 // program control flow.
 class ValueObject {
  public:
-  ValueObject() { }
-  ~ValueObject() { }
+  ValueObject() {}
+  ~ValueObject() {}
 
  private:
   DISALLOW_ALLOCATION();
@@ -79,7 +79,7 @@
 // goes out of scope to reclaim memory.
 class ZoneAllocated {
  public:
-  ZoneAllocated() { }
+  ZoneAllocated() {}
 
   // Implicitly allocate the object in the current zone.
   void* operator new(uword size);
@@ -102,7 +102,6 @@
 };
 
 
-
 // Within a NoSafepointScope, the thread must not reach any safepoint. Used
 // around code that manipulates raw object pointers directly without handles.
 #if defined(DEBUG)
@@ -110,13 +109,15 @@
  public:
   NoSafepointScope();
   ~NoSafepointScope();
+
  private:
   DISALLOW_COPY_AND_ASSIGN(NoSafepointScope);
 };
-#else  // defined(DEBUG)
+#else   // defined(DEBUG)
 class NoSafepointScope : public ValueObject {
  public:
   NoSafepointScope() {}
+
  private:
   DISALLOW_COPY_AND_ASSIGN(NoSafepointScope);
 };
diff --git a/runtime/vm/allocation_test.cc b/runtime/vm/allocation_test.cc
index 63b91f6..146f7f6 100644
--- a/runtime/vm/allocation_test.cc
+++ b/runtime/vm/allocation_test.cc
@@ -88,9 +88,8 @@
   TestValueObject stacked(ptr);
   EXPECT_EQ(2, *ptr);
   *ptr = 3;
-  const Error& error =
-      Error::Handle(LanguageError::New(
-          String::Handle(String::New("StackAllocatedLongJump"))));
+  const Error& error = Error::Handle(LanguageError::New(
+      String::Handle(String::New("StackAllocatedLongJump"))));
   jump->Jump(1, error);
   UNREACHABLE();
 }
@@ -135,9 +134,8 @@
   TestStackedStackResource stacked(ptr);
   EXPECT_EQ(4, *ptr);
   *ptr = 5;
-  const Error& error =
-      Error::Handle(LanguageError::New(
-          String::Handle(String::New("StackedStackResourceLongJump"))));
+  const Error& error = Error::Handle(LanguageError::New(
+      String::Handle(String::New("StackedStackResourceLongJump"))));
   jump->Jump(1, error);
   UNREACHABLE();
 }
diff --git a/runtime/vm/aot_optimizer.cc b/runtime/vm/aot_optimizer.cc
index c1d1b8f..168471c 100644
--- a/runtime/vm/aot_optimizer.cc
+++ b/runtime/vm/aot_optimizer.cc
@@ -29,7 +29,9 @@
 
 namespace dart {
 
-DEFINE_FLAG(int, max_exhaustive_polymorphic_checks, 5,
+DEFINE_FLAG(int,
+            max_exhaustive_polymorphic_checks,
+            5,
             "If a call receiver is known to be of at most this many classes, "
             "generate exhaustive class tests instead of a megamorphic call");
 
@@ -68,7 +70,7 @@
   ASSERT(fname.IsSymbol());
   *function = functions_set.GetOrNull(fname);
   ASSERT(functions_set.Release().raw() ==
-      isolate->object_store()->unique_dynamic_targets());
+         isolate->object_store()->unique_dynamic_targets());
 }
 
 
@@ -85,8 +87,8 @@
   ASSERT(!use_speculative_inlining || (inlining_black_list != NULL));
   Function& target_function = Function::Handle();
   if (isolate()->object_store()->unique_dynamic_targets() != Array::null()) {
-    GetUniqueDynamicTarget(
-        isolate(), Symbols::NoSuchMethod(), &target_function);
+    GetUniqueDynamicTarget(isolate(), Symbols::NoSuchMethod(),
+                           &target_function);
     has_unique_no_such_method_ = !target_function.IsNull();
   }
 }
@@ -101,22 +103,20 @@
 void AotOptimizer::PopulateWithICData() {
   ASSERT(current_iterator_ == NULL);
   for (BlockIterator block_it = flow_graph_->reverse_postorder_iterator();
-       !block_it.Done();
-       block_it.Advance()) {
+       !block_it.Done(); block_it.Advance()) {
     ForwardInstructionIterator it(block_it.Current());
     for (; !it.Done(); it.Advance()) {
       Instruction* instr = it.Current();
       if (instr->IsInstanceCall()) {
         InstanceCallInstr* call = instr->AsInstanceCall();
         if (!call->HasICData()) {
-          const Array& arguments_descriptor =
-              Array::Handle(zone(),
-                  ArgumentsDescriptor::New(call->ArgumentCount(),
-                                           call->argument_names()));
-          const ICData& ic_data = ICData::ZoneHandle(zone(), ICData::New(
-              function(), call->function_name(),
-              arguments_descriptor, call->deopt_id(),
-              call->checked_argument_count(), false));
+          const Array& arguments_descriptor = Array::Handle(
+              zone(), ArgumentsDescriptor::New(call->ArgumentCount(),
+                                               call->argument_names()));
+          const ICData& ic_data = ICData::ZoneHandle(
+              zone(), ICData::New(function(), call->function_name(),
+                                  arguments_descriptor, call->deopt_id(),
+                                  call->checked_argument_count(), false));
           call->set_ic_data(&ic_data);
         }
       }
@@ -138,29 +138,23 @@
   // There is only a single function Object.get:runtimeType that can be invoked
   // by this call. Convert dynamic invocation to a static one.
   const Class& cls = Class::Handle(Z, I->object_store()->object_class());
-  const Array& args_desc_array = Array::Handle(Z,
-      ArgumentsDescriptor::New(call->ArgumentCount(),
-                               call->argument_names()));
+  const Array& args_desc_array = Array::Handle(
+      Z,
+      ArgumentsDescriptor::New(call->ArgumentCount(), call->argument_names()));
   ArgumentsDescriptor args_desc(args_desc_array);
-  const Function& function = Function::Handle(Z,
-      Resolver::ResolveDynamicForReceiverClass(
-          cls,
-          call->function_name(),
-          args_desc));
+  const Function& function =
+      Function::Handle(Z, Resolver::ResolveDynamicForReceiverClass(
+                              cls, call->function_name(), args_desc));
   ASSERT(!function.IsNull());
 
   ZoneGrowableArray<PushArgumentInstr*>* args =
-      new (Z) ZoneGrowableArray<PushArgumentInstr*>(
-          call->ArgumentCount());
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(call->ArgumentCount());
   for (intptr_t i = 0; i < call->ArgumentCount(); i++) {
     args->Add(call->PushArgumentAt(i));
   }
   StaticCallInstr* static_call = new (Z) StaticCallInstr(
-      call->token_pos(),
-      Function::ZoneHandle(Z, function.raw()),
-      call->argument_names(),
-      args,
-      call->deopt_id());
+      call->token_pos(), Function::ZoneHandle(Z, function.raw()),
+      call->argument_names(), args, call->deopt_id());
   static_call->set_result_cid(kTypeCid);
   call->ReplaceWith(static_call, current_iterator());
   return true;
@@ -176,8 +170,7 @@
 void AotOptimizer::ApplyClassIds() {
   ASSERT(current_iterator_ == NULL);
   for (BlockIterator block_it = flow_graph_->reverse_postorder_iterator();
-       !block_it.Done();
-       block_it.Advance()) {
+       !block_it.Done(); block_it.Advance()) {
     ForwardInstructionIterator it(block_it.Current());
     current_iterator_ = &it;
     for (; !it.Done(); it.Advance()) {
@@ -216,12 +209,16 @@
   }
 
   const Token::Kind op_kind = call->token_kind();
-  if (Token::IsRelationalOperator(op_kind) ||
-      Token::IsEqualityOperator(op_kind) ||
-      Token::IsBinaryOperator(op_kind)) {
-    // Guess cid: if one of the inputs is a number assume that the other
-    // is a number of same type.
-    if (FLAG_guess_icdata_cid) {
+  if (FLAG_guess_icdata_cid) {
+    if (Token::IsBinaryBitwiseOperator(op_kind)) {
+      class_ids[0] = kSmiCid;
+      class_ids[1] = kSmiCid;
+    }
+    if (Token::IsRelationalOperator(op_kind) ||
+        Token::IsEqualityOperator(op_kind) ||
+        Token::IsBinaryOperator(op_kind)) {
+      // Guess cid: if one of the inputs is a number assume that the other
+      // is a number of same type.
       const intptr_t cid_0 = class_ids[0];
       const intptr_t cid_1 = class_ids[1];
       if ((cid_0 == kDynamicCid) && (IsNumberCid(cid_1))) {
@@ -242,23 +239,21 @@
   }
 
   if (all_cids_known) {
-    const Class& receiver_class = Class::Handle(Z,
-        isolate()->class_table()->At(class_ids[0]));
+    const Class& receiver_class =
+        Class::Handle(Z, isolate()->class_table()->At(class_ids[0]));
     if (!receiver_class.is_finalized()) {
       // Do not eagerly finalize classes. ResolveDynamicForReceiverClass can
       // cause class finalization, since callee's receiver class may not be
       // finalized yet.
       return false;
     }
-    const Array& args_desc_array = Array::Handle(Z,
-        ArgumentsDescriptor::New(call->ArgumentCount(),
-                                 call->argument_names()));
+    const Array& args_desc_array =
+        Array::Handle(Z, ArgumentsDescriptor::New(call->ArgumentCount(),
+                                                  call->argument_names()));
     ArgumentsDescriptor args_desc(args_desc_array);
-    const Function& function = Function::Handle(Z,
-        Resolver::ResolveDynamicForReceiverClass(
-            receiver_class,
-            call->function_name(),
-            args_desc));
+    const Function& function = Function::Handle(
+        Z, Resolver::ResolveDynamicForReceiverClass(
+               receiver_class, call->function_name(), args_desc));
     if (function.IsNull()) {
       return false;
     }
@@ -267,8 +262,8 @@
     // since it is attached to the assembly instruction itself.
     // TODO(srdjan): Prevent modification of ICData object that is
     // referenced in assembly code.
-    const ICData& ic_data = ICData::ZoneHandle(Z,
-        ICData::NewFrom(*call->ic_data(), class_ids.length()));
+    const ICData& ic_data = ICData::ZoneHandle(
+        Z, ICData::NewFrom(*call->ic_data(), class_ids.length()));
     if (class_ids.length() > 1) {
       ic_data.AddCheck(class_ids, function);
     } else {
@@ -290,8 +285,8 @@
                                                /* error_message = */ NULL)) {
       const Class& cls = Class::Handle(Z, target_function.Owner());
       if (!CHA::IsImplemented(cls) && !CHA::HasSubclasses(cls)) {
-        const ICData& ic_data = ICData::ZoneHandle(Z,
-            ICData::NewFrom(*call->ic_data(), 1));
+        const ICData& ic_data =
+            ICData::ZoneHandle(Z, ICData::NewFrom(*call->ic_data(), 1));
         ic_data.AddReceiverCheck(cls.id(), target_function);
         call->set_ic_data(&ic_data);
         if (has_unique_no_such_method_) {
@@ -319,12 +314,11 @@
   // TODO(fschneider): Try looking up the function on the class if it is
   // not found in the ICData.
   if (!function.IsNull()) {
-    const ICData& new_ic_data = ICData::ZoneHandle(Z, ICData::New(
-        Function::Handle(Z, ic_data.Owner()),
-        String::Handle(Z, ic_data.target_name()),
-        Object::empty_array(),  // Dummy argument descriptor.
-        ic_data.deopt_id(),
-        ic_data.NumArgsTested(), false));
+    const ICData& new_ic_data = ICData::ZoneHandle(
+        Z, ICData::New(Function::Handle(Z, ic_data.Owner()),
+                       String::Handle(Z, ic_data.target_name()),
+                       Object::empty_array(),  // Dummy argument descriptor.
+                       ic_data.deopt_id(), ic_data.NumArgsTested(), false));
     new_ic_data.SetDeoptReasons(ic_data.DeoptReasons());
     new_ic_data.AddReceiverCheck(cid, function);
     return new_ic_data;
@@ -394,19 +388,19 @@
 
 
 static bool HasOnlyOneSmi(const ICData& ic_data) {
-  return (ic_data.NumberOfUsedChecks() == 1)
-      && ic_data.HasReceiverClassId(kSmiCid);
+  return (ic_data.NumberOfUsedChecks() == 1) &&
+         ic_data.HasReceiverClassId(kSmiCid);
 }
 
 
 static bool HasOnlySmiOrMint(const ICData& ic_data) {
   if (ic_data.NumberOfUsedChecks() == 1) {
-    return ic_data.HasReceiverClassId(kSmiCid)
-        || ic_data.HasReceiverClassId(kMintCid);
+    return ic_data.HasReceiverClassId(kSmiCid) ||
+           ic_data.HasReceiverClassId(kMintCid);
   }
-  return (ic_data.NumberOfUsedChecks() == 2)
-      && ic_data.HasReceiverClassId(kSmiCid)
-      && ic_data.HasReceiverClassId(kMintCid);
+  return (ic_data.NumberOfUsedChecks() == 2) &&
+         ic_data.HasReceiverClassId(kSmiCid) &&
+         ic_data.HasReceiverClassId(kMintCid);
 }
 
 
@@ -449,8 +443,8 @@
 
 
 static bool HasOnlyOneDouble(const ICData& ic_data) {
-  return (ic_data.NumberOfUsedChecks() == 1)
-      && ic_data.HasReceiverClassId(kDoubleCid);
+  return (ic_data.NumberOfUsedChecks() == 1) &&
+         ic_data.HasReceiverClassId(kDoubleCid);
 }
 
 
@@ -470,8 +464,7 @@
 }
 
 
-void AotOptimizer::ReplaceCall(Definition* call,
-                               Definition* replacement) {
+void AotOptimizer::ReplaceCall(Definition* call, Definition* replacement) {
   // Remove the original push arguments.
   for (intptr_t i = 0; i < call->ArgumentCount(); ++i) {
     PushArgumentInstr* push = call->PushArgumentAt(i);
@@ -488,11 +481,9 @@
                                Instruction* insert_before) {
   if (to_check->Type()->ToCid() != kSmiCid) {
     InsertBefore(insert_before,
-                 new(Z) CheckSmiInstr(new(Z) Value(to_check),
-                                      deopt_id,
-                                      insert_before->token_pos()),
-                 deopt_environment,
-                 FlowGraph::kEffect);
+                 new (Z) CheckSmiInstr(new (Z) Value(to_check), deopt_id,
+                                       insert_before->token_pos()),
+                 deopt_environment, FlowGraph::kEffect);
   }
 }
 
@@ -503,12 +494,10 @@
                                          TokenPosition token_pos) {
   if ((unary_checks.NumberOfUsedChecks() == 1) &&
       unary_checks.HasReceiverClassId(kSmiCid)) {
-    return new(Z) CheckSmiInstr(new(Z) Value(to_check),
-                                deopt_id,
-                                token_pos);
+    return new (Z) CheckSmiInstr(new (Z) Value(to_check), deopt_id, token_pos);
   }
-  return new(Z) CheckClassInstr(
-      new(Z) Value(to_check), deopt_id, unary_checks, token_pos);
+  return new (Z) CheckClassInstr(new (Z) Value(to_check), deopt_id,
+                                 unary_checks, token_pos);
 }
 
 
@@ -518,8 +507,8 @@
                                  Environment* deopt_environment,
                                  Instruction* insert_before) {
   // Type propagation has not run yet, we cannot eliminate the check.
-  Instruction* check = GetCheckClass(
-      to_check, unary_checks, deopt_id, insert_before->token_pos());
+  Instruction* check = GetCheckClass(to_check, unary_checks, deopt_id,
+                                     insert_before->token_pos());
   InsertBefore(insert_before, check, deopt_environment, FlowGraph::kEffect);
 }
 
@@ -527,9 +516,7 @@
 void AotOptimizer::AddReceiverCheck(InstanceCallInstr* call) {
   AddCheckClass(call->ArgumentAt(0),
                 ICData::ZoneHandle(Z, call->ic_data()->AsUnaryClassChecks()),
-                call->deopt_id(),
-                call->env(),
-                call);
+                call->deopt_id(), call->env(), call);
 }
 
 
@@ -607,12 +594,12 @@
       ASSERT(str.Length() == 1);
       ConstantInstr* char_code_left = flow_graph()->GetConstant(
           Smi::ZoneHandle(Z, Smi::New(static_cast<intptr_t>(str.CharAt(0)))));
-      left_val = new(Z) Value(char_code_left);
+      left_val = new (Z) Value(char_code_left);
     } else if (left->IsOneByteStringFromCharCode()) {
       // Use input of string-from-charcode as left value.
       OneByteStringFromCharCodeInstr* instr =
           left->AsOneByteStringFromCharCode();
-      left_val = new(Z) Value(instr->char_code()->definition());
+      left_val = new (Z) Value(instr->char_code()->definition());
       to_remove_left = instr;
     } else {
       // IsLengthOneString(left) should have been false.
@@ -625,32 +612,24 @@
       // Skip string-from-char-code, and use its input as right value.
       OneByteStringFromCharCodeInstr* right_instr =
           right->AsOneByteStringFromCharCode();
-      right_val = new(Z) Value(right_instr->char_code()->definition());
+      right_val = new (Z) Value(right_instr->char_code()->definition());
       to_remove_right = right_instr;
     } else {
       const ICData& unary_checks_1 =
           ICData::ZoneHandle(Z, call->ic_data()->AsUnaryClassChecksForArgNr(1));
-      AddCheckClass(right,
-                    unary_checks_1,
-                    call->deopt_id(),
-                    call->env(),
-                    call);
+      AddCheckClass(right, unary_checks_1, call->deopt_id(), call->env(), call);
       // String-to-char-code instructions returns -1 (illegal charcode) if
       // string is not of length one.
-      StringToCharCodeInstr* char_code_right =
-          new(Z) StringToCharCodeInstr(new(Z) Value(right), kOneByteStringCid);
+      StringToCharCodeInstr* char_code_right = new (Z)
+          StringToCharCodeInstr(new (Z) Value(right), kOneByteStringCid);
       InsertBefore(call, char_code_right, call->env(), FlowGraph::kValue);
-      right_val = new(Z) Value(char_code_right);
+      right_val = new (Z) Value(char_code_right);
     }
 
     // Comparing char-codes instead of strings.
     EqualityCompareInstr* comp =
-        new(Z) EqualityCompareInstr(call->token_pos(),
-                                    op_kind,
-                                    left_val,
-                                    right_val,
-                                    kSmiCid,
-                                    call->deopt_id());
+        new (Z) EqualityCompareInstr(call->token_pos(), op_kind, left_val,
+                                     right_val, kSmiCid, call->deopt_id());
     ReplaceCall(call, comp);
 
     // Remove dead instructions.
@@ -670,14 +649,15 @@
 }
 
 
-static bool SmiFitsInDouble() { return kSmiBits < 53; }
+static bool SmiFitsInDouble() {
+  return kSmiBits < 53;
+}
 
 
 static bool IsGetRuntimeType(Definition* defn) {
   StaticCallInstr* call = defn->AsStaticCall();
-  return (call != NULL) &&
-      (call->function().recognized_kind() ==
-          MethodRecognizer::kObjectRuntimeType);
+  return (call != NULL) && (call->function().recognized_kind() ==
+                            MethodRecognizer::kObjectRuntimeType);
 }
 
 
@@ -695,26 +675,24 @@
   if (IsGetRuntimeType(left) && left->input_use_list()->IsSingleUse() &&
       IsGetRuntimeType(right) && right->input_use_list()->IsSingleUse()) {
     const Class& cls = Class::Handle(Z, I->object_store()->object_class());
-    const Function& have_same_runtime_type = Function::ZoneHandle(Z,
+    const Function& have_same_runtime_type = Function::ZoneHandle(
+        Z,
         cls.LookupStaticFunctionAllowPrivate(Symbols::HaveSameRuntimeType()));
     ASSERT(!have_same_runtime_type.IsNull());
 
     ZoneGrowableArray<PushArgumentInstr*>* args =
         new (Z) ZoneGrowableArray<PushArgumentInstr*>(2);
-    PushArgumentInstr* arg = new (Z) PushArgumentInstr(
-        new (Z) Value(left->ArgumentAt(0)));
+    PushArgumentInstr* arg =
+        new (Z) PushArgumentInstr(new (Z) Value(left->ArgumentAt(0)));
     InsertBefore(call, arg, NULL, FlowGraph::kEffect);
     args->Add(arg);
-    arg = new (Z) PushArgumentInstr(
-         new (Z) Value(right->ArgumentAt(0)));
+    arg = new (Z) PushArgumentInstr(new (Z) Value(right->ArgumentAt(0)));
     InsertBefore(call, arg, NULL, FlowGraph::kEffect);
     args->Add(arg);
-    StaticCallInstr* static_call = new (Z) StaticCallInstr(
-        call->token_pos(),
-        have_same_runtime_type,
-        Object::null_array(),  // argument_names
-        args,
-        call->deopt_id());
+    StaticCallInstr* static_call =
+        new (Z) StaticCallInstr(call->token_pos(), have_same_runtime_type,
+                                Object::null_array(),  // argument_names
+                                args, call->deopt_id());
     static_call->set_result_cid(kBoolCid);
     ReplaceCall(call, static_call);
     return true;
@@ -738,17 +716,13 @@
     return TryStringLengthOneEquality(call, op_kind);
   } else if (HasOnlyTwoOf(ic_data, kSmiCid)) {
     InsertBefore(call,
-                 new(Z) CheckSmiInstr(new(Z) Value(left),
-                                      call->deopt_id(),
-                                      call->token_pos()),
-                 call->env(),
-                 FlowGraph::kEffect);
+                 new (Z) CheckSmiInstr(new (Z) Value(left), call->deopt_id(),
+                                       call->token_pos()),
+                 call->env(), FlowGraph::kEffect);
     InsertBefore(call,
-                 new(Z) CheckSmiInstr(new(Z) Value(right),
-                                      call->deopt_id(),
-                                      call->token_pos()),
-                 call->env(),
-                 FlowGraph::kEffect);
+                 new (Z) CheckSmiInstr(new (Z) Value(right), call->deopt_id(),
+                                       call->token_pos()),
+                 call->env(), FlowGraph::kEffect);
     cid = kSmiCid;
   } else if (HasTwoMintOrSmi(ic_data) &&
              FlowGraphCompiler::SupportsUnboxedMints()) {
@@ -763,13 +737,10 @@
         // call.
         return false;
       } else {
-        InsertBefore(call,
-                     new(Z) CheckEitherNonSmiInstr(
-                         new(Z) Value(left),
-                         new(Z) Value(right),
-                         call->deopt_id()),
-                     call->env(),
-                     FlowGraph::kEffect);
+        InsertBefore(call, new (Z) CheckEitherNonSmiInstr(new (Z) Value(left),
+                                                          new (Z) Value(right),
+                                                          call->deopt_id()),
+                     call->env(), FlowGraph::kEffect);
         cid = kDoubleCid;
       }
     }
@@ -780,24 +751,15 @@
     GrowableArray<intptr_t> smi_or_null(2);
     smi_or_null.Add(kSmiCid);
     smi_or_null.Add(kNullCid);
-    if (ICDataHasOnlyReceiverArgumentClassIds(ic_data,
-                                              smi_or_null,
+    if (ICDataHasOnlyReceiverArgumentClassIds(ic_data, smi_or_null,
                                               smi_or_null)) {
       const ICData& unary_checks_0 =
           ICData::ZoneHandle(Z, call->ic_data()->AsUnaryClassChecks());
-      AddCheckClass(left,
-                    unary_checks_0,
-                    call->deopt_id(),
-                    call->env(),
-                    call);
+      AddCheckClass(left, unary_checks_0, call->deopt_id(), call->env(), call);
 
       const ICData& unary_checks_1 =
           ICData::ZoneHandle(Z, call->ic_data()->AsUnaryClassChecksForArgNr(1));
-      AddCheckClass(right,
-                    unary_checks_1,
-                    call->deopt_id(),
-                    call->env(),
-                    call);
+      AddCheckClass(right, unary_checks_1, call->deopt_id(), call->env(), call);
       cid = kSmiCid;
     } else {
       // Shortcut for equality with null.
@@ -807,12 +769,10 @@
       ConstantInstr* left_const = left->AsConstant();
       if ((right_const != NULL && right_const->value().IsNull()) ||
           (left_const != NULL && left_const->value().IsNull())) {
-        StrictCompareInstr* comp =
-            new(Z) StrictCompareInstr(call->token_pos(),
-                                      Token::kEQ_STRICT,
-                                      new(Z) Value(left),
-                                      new(Z) Value(right),
-                                      false);  // No number check.
+        StrictCompareInstr* comp = new (Z)
+            StrictCompareInstr(call->token_pos(), Token::kEQ_STRICT,
+                               new (Z) Value(left), new (Z) Value(right),
+                               false);  // No number check.
         ReplaceCall(call, comp);
         return true;
       }
@@ -820,12 +780,9 @@
     }
   }
   ASSERT(cid != kIllegalCid);
-  EqualityCompareInstr* comp = new(Z) EqualityCompareInstr(call->token_pos(),
-                                                           op_kind,
-                                                           new(Z) Value(left),
-                                                           new(Z) Value(right),
-                                                           cid,
-                                                           call->deopt_id());
+  EqualityCompareInstr* comp = new (Z)
+      EqualityCompareInstr(call->token_pos(), op_kind, new (Z) Value(left),
+                           new (Z) Value(right), cid, call->deopt_id());
   ReplaceCall(call, comp);
   return true;
 }
@@ -843,17 +800,13 @@
   intptr_t cid = kIllegalCid;
   if (HasOnlyTwoOf(ic_data, kSmiCid)) {
     InsertBefore(call,
-                 new(Z) CheckSmiInstr(new(Z) Value(left),
-                                      call->deopt_id(),
-                                      call->token_pos()),
-                 call->env(),
-                 FlowGraph::kEffect);
+                 new (Z) CheckSmiInstr(new (Z) Value(left), call->deopt_id(),
+                                       call->token_pos()),
+                 call->env(), FlowGraph::kEffect);
     InsertBefore(call,
-                 new(Z) CheckSmiInstr(new(Z) Value(right),
-                                      call->deopt_id(),
-                                      call->token_pos()),
-                 call->env(),
-                 FlowGraph::kEffect);
+                 new (Z) CheckSmiInstr(new (Z) Value(right), call->deopt_id(),
+                                       call->token_pos()),
+                 call->env(), FlowGraph::kEffect);
     cid = kSmiCid;
   } else if (HasTwoMintOrSmi(ic_data) &&
              FlowGraphCompiler::SupportsUnboxedMints()) {
@@ -868,13 +821,10 @@
         // call.
         return false;
       } else {
-        InsertBefore(call,
-                     new(Z) CheckEitherNonSmiInstr(
-                         new(Z) Value(left),
-                         new(Z) Value(right),
-                         call->deopt_id()),
-                     call->env(),
-                     FlowGraph::kEffect);
+        InsertBefore(call, new (Z) CheckEitherNonSmiInstr(new (Z) Value(left),
+                                                          new (Z) Value(right),
+                                                          call->deopt_id()),
+                     call->env(), FlowGraph::kEffect);
         cid = kDoubleCid;
       }
     }
@@ -882,12 +832,9 @@
     return false;
   }
   ASSERT(cid != kIllegalCid);
-  RelationalOpInstr* comp = new(Z) RelationalOpInstr(call->token_pos(),
-                                                     op_kind,
-                                                     new(Z) Value(left),
-                                                     new(Z) Value(right),
-                                                     cid,
-                                                     call->deopt_id());
+  RelationalOpInstr* comp =
+      new (Z) RelationalOpInstr(call->token_pos(), op_kind, new (Z) Value(left),
+                                new (Z) Value(right), cid, call->deopt_id());
   ReplaceCall(call, comp);
   return true;
 }
@@ -906,8 +853,8 @@
         // Don't generate smi code if the IC data is marked because
         // of an overflow.
         operands_type = ic_data.HasDeoptReason(ICData::kDeoptBinarySmiOp)
-            ? kMintCid
-            : kSmiCid;
+                            ? kMintCid
+                            : kSmiCid;
       } else if (HasTwoMintOrSmi(ic_data) &&
                  FlowGraphCompiler::SupportsUnboxedMints()) {
         // Don't generate mint code if the IC data is marked because of an
@@ -963,11 +910,11 @@
           return false;
         }
         operands_type = ic_data.HasDeoptReason(ICData::kDeoptBinarySmiOp)
-            ? kMintCid
-            : kSmiCid;
+                            ? kMintCid
+                            : kSmiCid;
       } else if (HasTwoMintOrSmi(ic_data) &&
-                 HasOnlyOneSmi(ICData::Handle(Z,
-                     ic_data.AsUnaryClassChecksForArgNr(1)))) {
+                 HasOnlyOneSmi(ICData::Handle(
+                     Z, ic_data.AsUnaryClassChecksForArgNr(1)))) {
         // Don't generate mint code if the IC data is marked because of an
         // overflow.
         if (ic_data.HasDeoptReason(ICData::kDeoptBinaryMintOp)) {
@@ -1006,34 +953,25 @@
     // binary operation with two smis is a smi not a double, except '/' which
     // returns a double for two smis.
     if (op_kind != Token::kDIV) {
-      InsertBefore(call,
-                   new(Z) CheckEitherNonSmiInstr(
-                       new(Z) Value(left),
-                       new(Z) Value(right),
-                       call->deopt_id()),
-                   call->env(),
-                   FlowGraph::kEffect);
+      InsertBefore(call, new (Z) CheckEitherNonSmiInstr(new (Z) Value(left),
+                                                        new (Z) Value(right),
+                                                        call->deopt_id()),
+                   call->env(), FlowGraph::kEffect);
     }
 
-    BinaryDoubleOpInstr* double_bin_op =
-        new(Z) BinaryDoubleOpInstr(op_kind,
-                                   new(Z) Value(left),
-                                   new(Z) Value(right),
-                                   call->deopt_id(), call->token_pos());
+    BinaryDoubleOpInstr* double_bin_op = new (Z)
+        BinaryDoubleOpInstr(op_kind, new (Z) Value(left), new (Z) Value(right),
+                            call->deopt_id(), call->token_pos());
     ReplaceCall(call, double_bin_op);
   } else if (operands_type == kMintCid) {
     if (!FlowGraphCompiler::SupportsUnboxedMints()) return false;
     if ((op_kind == Token::kSHR) || (op_kind == Token::kSHL)) {
-      ShiftMintOpInstr* shift_op =
-          new(Z) ShiftMintOpInstr(
-              op_kind, new(Z) Value(left), new(Z) Value(right),
-              call->deopt_id());
+      ShiftMintOpInstr* shift_op = new (Z) ShiftMintOpInstr(
+          op_kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
       ReplaceCall(call, shift_op);
     } else {
-      BinaryMintOpInstr* bin_op =
-          new(Z) BinaryMintOpInstr(
-              op_kind, new(Z) Value(left), new(Z) Value(right),
-              call->deopt_id());
+      BinaryMintOpInstr* bin_op = new (Z) BinaryMintOpInstr(
+          op_kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
       ReplaceCall(call, bin_op);
     }
   } else if (operands_type == kFloat32x4Cid) {
@@ -1050,19 +988,14 @@
         // Insert smi check and attach a copy of the original environment
         // because the smi operation can still deoptimize.
         InsertBefore(call,
-                     new(Z) CheckSmiInstr(new(Z) Value(left),
-                                          call->deopt_id(),
-                                          call->token_pos()),
-                     call->env(),
-                     FlowGraph::kEffect);
-        ConstantInstr* constant =
-            flow_graph()->GetConstant(Smi::Handle(Z,
-                Smi::New(Smi::Cast(obj).Value() - 1)));
+                     new (Z) CheckSmiInstr(new (Z) Value(left),
+                                           call->deopt_id(), call->token_pos()),
+                     call->env(), FlowGraph::kEffect);
+        ConstantInstr* constant = flow_graph()->GetConstant(
+            Smi::Handle(Z, Smi::New(Smi::Cast(obj).Value() - 1)));
         BinarySmiOpInstr* bin_op =
-            new(Z) BinarySmiOpInstr(Token::kBIT_AND,
-                                    new(Z) Value(left),
-                                    new(Z) Value(constant),
-                                    call->deopt_id());
+            new (Z) BinarySmiOpInstr(Token::kBIT_AND, new (Z) Value(left),
+                                     new (Z) Value(constant), call->deopt_id());
         ReplaceCall(call, bin_op);
         return true;
       }
@@ -1071,11 +1004,8 @@
     // environment because the smi operation can still deoptimize.
     AddCheckSmi(left, call->deopt_id(), call->env(), call);
     AddCheckSmi(right, call->deopt_id(), call->env(), call);
-    BinarySmiOpInstr* bin_op =
-        new(Z) BinarySmiOpInstr(op_kind,
-                                new(Z) Value(left),
-                                new(Z) Value(right),
-                                call->deopt_id());
+    BinarySmiOpInstr* bin_op = new (Z) BinarySmiOpInstr(
+        op_kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
     ReplaceCall(call, bin_op);
   } else {
     ASSERT(operands_type == kSmiCid);
@@ -1090,12 +1020,8 @@
       left = right;
       right = temp;
     }
-    BinarySmiOpInstr* bin_op =
-        new(Z) BinarySmiOpInstr(
-            op_kind,
-            new(Z) Value(left),
-            new(Z) Value(right),
-            call->deopt_id());
+    BinarySmiOpInstr* bin_op = new (Z) BinarySmiOpInstr(
+        op_kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
     ReplaceCall(call, bin_op);
   }
   return true;
@@ -1109,24 +1035,21 @@
   Definition* unary_op = NULL;
   if (HasOnlyOneSmi(*call->ic_data())) {
     InsertBefore(call,
-                 new(Z) CheckSmiInstr(new(Z) Value(input),
-                                      call->deopt_id(),
-                                      call->token_pos()),
-                 call->env(),
-                 FlowGraph::kEffect);
-    unary_op = new(Z) UnarySmiOpInstr(
-        op_kind, new(Z) Value(input), call->deopt_id());
+                 new (Z) CheckSmiInstr(new (Z) Value(input), call->deopt_id(),
+                                       call->token_pos()),
+                 call->env(), FlowGraph::kEffect);
+    unary_op = new (Z)
+        UnarySmiOpInstr(op_kind, new (Z) Value(input), call->deopt_id());
   } else if ((op_kind == Token::kBIT_NOT) &&
              HasOnlySmiOrMint(*call->ic_data()) &&
              FlowGraphCompiler::SupportsUnboxedMints()) {
-    unary_op = new(Z) UnaryMintOpInstr(
-        op_kind, new(Z) Value(input), call->deopt_id());
+    unary_op = new (Z)
+        UnaryMintOpInstr(op_kind, new (Z) Value(input), call->deopt_id());
   } else if (HasOnlyOneDouble(*call->ic_data()) &&
-             (op_kind == Token::kNEGATE) &&
-             CanUnboxDouble()) {
+             (op_kind == Token::kNEGATE) && CanUnboxDouble()) {
     AddReceiverCheck(call);
-    unary_op = new(Z) UnaryDoubleOpInstr(
-        Token::kNEGATE, new(Z) Value(input), call->deopt_id());
+    unary_op = new (Z) UnaryDoubleOpInstr(Token::kNEGATE, new (Z) Value(input),
+                                          call->deopt_id());
   } else {
     return false;
   }
@@ -1137,8 +1060,7 @@
 
 
 // Using field class
-RawField* AotOptimizer::GetField(intptr_t class_id,
-                                 const String& field_name) {
+RawField* AotOptimizer::GetField(intptr_t class_id, const String& field_name) {
   Class& cls = Class::Handle(Z, isolate()->class_table()->At(class_id));
   Field& field = Field::Handle(Z);
   while (!cls.IsNull()) {
@@ -1162,19 +1084,16 @@
   // Inline implicit instance getter.
   const String& field_name =
       String::Handle(Z, Field::NameFromGetter(call->function_name()));
-  const Field& field =
-      Field::ZoneHandle(Z, GetField(class_ids[0], field_name));
+  const Field& field = Field::ZoneHandle(Z, GetField(class_ids[0], field_name));
   ASSERT(!field.IsNull());
 
-  if (flow_graph()->InstanceCallNeedsClassCheck(
-          call, RawFunction::kImplicitGetter)) {
+  if (flow_graph()->InstanceCallNeedsClassCheck(call,
+                                                RawFunction::kImplicitGetter)) {
     return false;
   }
-  LoadFieldInstr* load = new(Z) LoadFieldInstr(
-      new(Z) Value(call->ArgumentAt(0)),
-      &field,
-      AbstractType::ZoneHandle(Z, field.type()),
-      call->token_pos());
+  LoadFieldInstr* load = new (Z) LoadFieldInstr(
+      new (Z) Value(call->ArgumentAt(0)), &field,
+      AbstractType::ZoneHandle(Z, field.type()), call->token_pos());
   load->set_is_immutable(field.is_final());
 
   // Discard the environment from the original instruction because the load
@@ -1184,9 +1103,7 @@
 
   if (load->result_cid() != kDynamicCid) {
     // Reset value types if guarded_cid was used.
-    for (Value::Iterator it(load->input_use_list());
-         !it.Done();
-         it.Advance()) {
+    for (Value::Iterator it(load->input_use_list()); !it.Done(); it.Advance()) {
       it.Current()->SetReachingType(NULL);
     }
   }
@@ -1203,24 +1120,16 @@
   Definition* left = call->ArgumentAt(0);
   Definition* right = call->ArgumentAt(1);
   // Type check left.
-  AddCheckClass(left,
-                ICData::ZoneHandle(
-                    Z, call->ic_data()->AsUnaryClassChecksForArgNr(0)),
-                call->deopt_id(),
-                call->env(),
-                call);
+  AddCheckClass(left, ICData::ZoneHandle(
+                          Z, call->ic_data()->AsUnaryClassChecksForArgNr(0)),
+                call->deopt_id(), call->env(), call);
   // Type check right.
-  AddCheckClass(right,
-                ICData::ZoneHandle(
-                    Z, call->ic_data()->AsUnaryClassChecksForArgNr(1)),
-                call->deopt_id(),
-                call->env(),
-                call);
+  AddCheckClass(right, ICData::ZoneHandle(
+                           Z, call->ic_data()->AsUnaryClassChecksForArgNr(1)),
+                call->deopt_id(), call->env(), call);
   // Replace call.
-  BinaryFloat32x4OpInstr* float32x4_bin_op =
-      new(Z) BinaryFloat32x4OpInstr(
-          op_kind, new(Z) Value(left), new(Z) Value(right),
-          call->deopt_id());
+  BinaryFloat32x4OpInstr* float32x4_bin_op = new (Z) BinaryFloat32x4OpInstr(
+      op_kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
   ReplaceCall(call, float32x4_bin_op);
 
   return true;
@@ -1236,24 +1145,16 @@
   Definition* left = call->ArgumentAt(0);
   Definition* right = call->ArgumentAt(1);
   // Type check left.
-  AddCheckClass(left,
-                ICData::ZoneHandle(
-                    Z, call->ic_data()->AsUnaryClassChecksForArgNr(0)),
-                call->deopt_id(),
-                call->env(),
-                call);
+  AddCheckClass(left, ICData::ZoneHandle(
+                          Z, call->ic_data()->AsUnaryClassChecksForArgNr(0)),
+                call->deopt_id(), call->env(), call);
   // Type check right.
-  AddCheckClass(right,
-                ICData::ZoneHandle(Z,
-                    call->ic_data()->AsUnaryClassChecksForArgNr(1)),
-                call->deopt_id(),
-                call->env(),
-                call);
+  AddCheckClass(right, ICData::ZoneHandle(
+                           Z, call->ic_data()->AsUnaryClassChecksForArgNr(1)),
+                call->deopt_id(), call->env(), call);
   // Replace call.
-  BinaryInt32x4OpInstr* int32x4_bin_op =
-      new(Z) BinaryInt32x4OpInstr(
-          op_kind, new(Z) Value(left), new(Z) Value(right),
-          call->deopt_id());
+  BinaryInt32x4OpInstr* int32x4_bin_op = new (Z) BinaryInt32x4OpInstr(
+      op_kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
   ReplaceCall(call, int32x4_bin_op);
   return true;
 }
@@ -1268,24 +1169,16 @@
   Definition* left = call->ArgumentAt(0);
   Definition* right = call->ArgumentAt(1);
   // Type check left.
-  AddCheckClass(left,
-                ICData::ZoneHandle(
-                    call->ic_data()->AsUnaryClassChecksForArgNr(0)),
-                call->deopt_id(),
-                call->env(),
-                call);
+  AddCheckClass(
+      left, ICData::ZoneHandle(call->ic_data()->AsUnaryClassChecksForArgNr(0)),
+      call->deopt_id(), call->env(), call);
   // Type check right.
-  AddCheckClass(right,
-                ICData::ZoneHandle(
-                    call->ic_data()->AsUnaryClassChecksForArgNr(1)),
-                call->deopt_id(),
-                call->env(),
-                call);
+  AddCheckClass(
+      right, ICData::ZoneHandle(call->ic_data()->AsUnaryClassChecksForArgNr(1)),
+      call->deopt_id(), call->env(), call);
   // Replace call.
-  BinaryFloat64x2OpInstr* float64x2_bin_op =
-      new(Z) BinaryFloat64x2OpInstr(
-          op_kind, new(Z) Value(left), new(Z) Value(right),
-          call->deopt_id());
+  BinaryFloat64x2OpInstr* float64x2_bin_op = new (Z) BinaryFloat64x2OpInstr(
+      op_kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
   ReplaceCall(call, float64x2_bin_op);
   return true;
 }
@@ -1321,15 +1214,12 @@
     MethodRecognizer::Kind recognized_kind) {
   AddReceiverCheck(call);
   ZoneGrowableArray<Value*>* args =
-      new(Z) ZoneGrowableArray<Value*>(call->ArgumentCount());
+      new (Z) ZoneGrowableArray<Value*>(call->ArgumentCount());
   for (intptr_t i = 0; i < call->ArgumentCount(); i++) {
-    args->Add(new(Z) Value(call->ArgumentAt(i)));
+    args->Add(new (Z) Value(call->ArgumentAt(i)));
   }
-  InvokeMathCFunctionInstr* invoke =
-      new(Z) InvokeMathCFunctionInstr(args,
-                                      call->deopt_id(),
-                                      recognized_kind,
-                                      call->token_pos());
+  InvokeMathCFunctionInstr* invoke = new (Z) InvokeMathCFunctionInstr(
+      args, call->deopt_id(), recognized_kind, call->token_pos());
   ReplaceCall(call, invoke);
 }
 
@@ -1354,15 +1244,14 @@
     if (class_ids[0] == kSmiCid) {
       AddReceiverCheck(call);
       ReplaceCall(call,
-                  new(Z) SmiToDoubleInstr(
-                      new(Z) Value(call->ArgumentAt(0)),
-                      call->token_pos()));
+                  new (Z) SmiToDoubleInstr(new (Z) Value(call->ArgumentAt(0)),
+                                           call->token_pos()));
       return true;
     } else if ((class_ids[0] == kMintCid) && CanConvertUnboxedMintToDouble()) {
       AddReceiverCheck(call);
       ReplaceCall(call,
-                  new(Z) MintToDoubleInstr(new(Z) Value(call->ArgumentAt(0)),
-                                           call->deopt_id()));
+                  new (Z) MintToDoubleInstr(new (Z) Value(call->ArgumentAt(0)),
+                                            call->deopt_id()));
       return true;
     }
   }
@@ -1380,12 +1269,11 @@
         Definition* d2i_instr = NULL;
         if (ic_data.HasDeoptReason(ICData::kDeoptDoubleToSmi)) {
           // Do not repeatedly deoptimize because result didn't fit into Smi.
-          d2i_instr =  new(Z) DoubleToIntegerInstr(
-              new(Z) Value(input), call);
+          d2i_instr = new (Z) DoubleToIntegerInstr(new (Z) Value(input), call);
         } else {
           // Optimistically assume result fits into Smi.
-          d2i_instr = new(Z) DoubleToSmiInstr(
-              new(Z) Value(input), call->deopt_id());
+          d2i_instr =
+              new (Z) DoubleToSmiInstr(new (Z) Value(input), call->deopt_id());
         }
         ReplaceCall(call, d2i_instr);
         return true;
@@ -1402,8 +1290,8 @@
         } else {
           AddReceiverCheck(call);
           DoubleToDoubleInstr* d2d_instr =
-              new(Z) DoubleToDoubleInstr(new(Z) Value(call->ArgumentAt(0)),
-                                         recognized_kind, call->deopt_id());
+              new (Z) DoubleToDoubleInstr(new (Z) Value(call->ArgumentAt(0)),
+                                          recognized_kind, call->deopt_id());
           ReplaceCall(call, d2d_instr);
         }
         return true;
@@ -1444,7 +1332,7 @@
     const TypeArguments& type_arguments =
         TypeArguments::Handle(Z, type.arguments());
     const bool is_raw_type = type_arguments.IsNull() ||
-        type_arguments.IsRaw(from_index, num_type_params);
+                             type_arguments.IsRaw(from_index, num_type_params);
     if (!is_raw_type) {
       // Unknown result.
       return Bool::null();
@@ -1461,13 +1349,9 @@
     if (cls.NumTypeArguments() > 0) {
       return Bool::null();
     }
-    const bool is_subtype = cls.IsSubtypeOf(
-        TypeArguments::Handle(Z),
-        type_class,
-        TypeArguments::Handle(Z),
-        NULL,
-        NULL,
-        Heap::kOld);
+    const bool is_subtype =
+        cls.IsSubtypeOf(TypeArguments::Handle(Z), type_class,
+                        TypeArguments::Handle(Z), NULL, NULL, Heap::kOld);
     results->Add(cls.id());
     results->Add(is_subtype);
     if (prev.IsNull()) {
@@ -1478,7 +1362,7 @@
       }
     }
   }
-  return results_differ ?  Bool::null() : prev.raw();
+  return results_differ ? Bool::null() : prev.raw();
 }
 
 
@@ -1501,7 +1385,8 @@
   if (!type_class.IsPrivate()) {
     if (isolate()->all_classes_finalized()) {
       if (FLAG_trace_cha) {
-        THR_Print("  **(CHA) Typecheck as class equality since no "
+        THR_Print(
+            "  **(CHA) Typecheck as class equality since no "
             "subclasses: %s\n",
             type_class.ToCString());
       }
@@ -1519,7 +1404,7 @@
     const TypeArguments& type_arguments =
         TypeArguments::Handle(type.arguments());
     const bool is_raw_type = type_arguments.IsNull() ||
-        type_arguments.IsRaw(from_index, num_type_params);
+                             type_arguments.IsRaw(from_index, num_type_params);
     return is_raw_type;
   }
   return true;
@@ -1555,12 +1440,9 @@
   if ((*results)[0] != kSmiCid) {
     const Class& cls = Class::Handle(class_table.At(kSmiCid));
     const Class& type_class = Class::Handle(type.type_class());
-    const bool smi_is_subtype = cls.IsSubtypeOf(TypeArguments::Handle(),
-                                                type_class,
-                                                TypeArguments::Handle(),
-                                                NULL,
-                                                NULL,
-                                                Heap::kOld);
+    const bool smi_is_subtype =
+        cls.IsSubtypeOf(TypeArguments::Handle(), type_class,
+                        TypeArguments::Handle(), NULL, NULL, Heap::kOld);
     results->Add((*results)[results->length() - 2]);
     results->Add((*results)[results->length() - 2]);
     for (intptr_t i = results->length() - 3; i > 1; --i) {
@@ -1627,30 +1509,31 @@
       } else {
         UNIMPLEMENTED();
       }
-      negate = Bool::Cast(call->ArgumentAt(1)->OriginalDefinition()
-                          ->AsConstant()->value()).value();
+      negate =
+          Bool::Cast(
+              call->ArgumentAt(1)->OriginalDefinition()->AsConstant()->value())
+              .value();
     }
   } else {
     type_args = call->ArgumentAt(1);
     type = AbstractType::Cast(call->ArgumentAt(2)->AsConstant()->value()).raw();
-    negate = Bool::Cast(call->ArgumentAt(3)->OriginalDefinition()
-        ->AsConstant()->value()).value();
+    negate =
+        Bool::Cast(
+            call->ArgumentAt(3)->OriginalDefinition()->AsConstant()->value())
+            .value();
   }
 
   if (TypeCheckAsClassEquality(type)) {
-    LoadClassIdInstr* left_cid = new(Z) LoadClassIdInstr(new(Z) Value(left));
+    LoadClassIdInstr* left_cid = new (Z) LoadClassIdInstr(new (Z) Value(left));
     InsertBefore(call, left_cid, NULL, FlowGraph::kValue);
     const intptr_t type_cid = Class::Handle(Z, type.type_class()).id();
     ConstantInstr* cid =
         flow_graph()->GetConstant(Smi::Handle(Z, Smi::New(type_cid)));
 
-    StrictCompareInstr* check_cid =
-        new(Z) StrictCompareInstr(
-            call->token_pos(),
-            negate ? Token::kNE_STRICT : Token::kEQ_STRICT,
-            new(Z) Value(left_cid),
-            new(Z) Value(cid),
-            false);  // No number check.
+    StrictCompareInstr* check_cid = new (Z) StrictCompareInstr(
+        call->token_pos(), negate ? Token::kNE_STRICT : Token::kEQ_STRICT,
+        new (Z) Value(left_cid), new (Z) Value(cid),
+        false);  // No number check.
     ReplaceCall(call, check_cid);
     return;
   }
@@ -1662,7 +1545,7 @@
     // left.instanceof(type) =>
     //     _classRangeCheck(left.cid, lower_limit, upper_limit)
 
-    LoadClassIdInstr* left_cid = new(Z) LoadClassIdInstr(new(Z) Value(left));
+    LoadClassIdInstr* left_cid = new (Z) LoadClassIdInstr(new (Z) Value(left));
     InsertBefore(call, left_cid, NULL, FlowGraph::kValue);
     ConstantInstr* lower_cid =
         flow_graph()->GetConstant(Smi::Handle(Z, Smi::New(lower_limit)));
@@ -1670,7 +1553,7 @@
         flow_graph()->GetConstant(Smi::Handle(Z, Smi::New(upper_limit)));
 
     ZoneGrowableArray<PushArgumentInstr*>* args =
-        new(Z) ZoneGrowableArray<PushArgumentInstr*>(3);
+        new (Z) ZoneGrowableArray<PushArgumentInstr*>(3);
     PushArgumentInstr* arg = new (Z) PushArgumentInstr(new (Z) Value(left_cid));
     InsertBefore(call, arg, NULL, FlowGraph::kEffect);
     args->Add(arg);
@@ -1685,17 +1568,15 @@
         Library::Handle(Z, Library::InternalLibrary());
     const String& target_name = negate ? Symbols::_classRangeCheckNegative()
                                        : Symbols::_classRangeCheck();
-    const Function& target = Function::ZoneHandle(Z,
-        dart_internal.LookupFunctionAllowPrivate(target_name));
+    const Function& target = Function::ZoneHandle(
+        Z, dart_internal.LookupFunctionAllowPrivate(target_name));
     ASSERT(!target.IsNull());
     ASSERT(target.IsRecognized() && target.always_inline());
 
-    StaticCallInstr* new_call = new (Z) StaticCallInstr(
-        call->token_pos(),
-        target,
-        Object::null_array(),  // argument_names
-        args,
-        call->deopt_id());
+    StaticCallInstr* new_call =
+        new (Z) StaticCallInstr(call->token_pos(), target,
+                                Object::null_array(),  // argument_names
+                                args, call->deopt_id());
     ReplaceCall(call, new_call);
     return;
   }
@@ -1705,7 +1586,7 @@
   if ((unary_checks.NumberOfChecks() > 0) &&
       (unary_checks.NumberOfChecks() <= FLAG_max_polymorphic_checks)) {
     ZoneGrowableArray<intptr_t>* results =
-        new(Z) ZoneGrowableArray<intptr_t>(unary_checks.NumberOfChecks() * 2);
+        new (Z) ZoneGrowableArray<intptr_t>(unary_checks.NumberOfChecks() * 2);
     InstanceOfAsBool(unary_checks, type, results);
     if (results->length() == unary_checks.NumberOfChecks() * 2) {
       const bool can_deopt = TryExpandTestCidsResult(results, type);
@@ -1713,25 +1594,19 @@
         // Guard against repeated speculative inlining.
         return;
       }
-      TestCidsInstr* test_cids = new(Z) TestCidsInstr(
-          call->token_pos(),
-          negate ? Token::kISNOT : Token::kIS,
-          new(Z) Value(left),
-          *results,
-          can_deopt ? call->deopt_id() : Thread::kNoDeoptId);
+      TestCidsInstr* test_cids = new (Z)
+          TestCidsInstr(call->token_pos(), negate ? Token::kISNOT : Token::kIS,
+                        new (Z) Value(left), *results,
+                        can_deopt ? call->deopt_id() : Thread::kNoDeoptId);
       // Remove type.
       ReplaceCall(call, test_cids);
       return;
     }
   }
 
-  InstanceOfInstr* instance_of =
-      new(Z) InstanceOfInstr(call->token_pos(),
-                             new(Z) Value(left),
-                             new(Z) Value(type_args),
-                             type,
-                             negate,
-                             call->deopt_id());
+  InstanceOfInstr* instance_of = new (Z)
+      InstanceOfInstr(call->token_pos(), new (Z) Value(left),
+                      new (Z) Value(type_args), type, negate, call->deopt_id());
   ReplaceCall(call, instance_of);
 }
 
@@ -1749,9 +1624,9 @@
   if ((unary_checks.NumberOfChecks() > 0) &&
       (unary_checks.NumberOfChecks() <= FLAG_max_polymorphic_checks)) {
     ZoneGrowableArray<intptr_t>* results =
-        new(Z) ZoneGrowableArray<intptr_t>(unary_checks.NumberOfChecks() * 2);
-    const Bool& as_bool = Bool::ZoneHandle(Z,
-        InstanceOfAsBool(unary_checks, type, results));
+        new (Z) ZoneGrowableArray<intptr_t>(unary_checks.NumberOfChecks() * 2);
+    const Bool& as_bool =
+        Bool::ZoneHandle(Z, InstanceOfAsBool(unary_checks, type, results));
     if (as_bool.raw() == Bool::True().raw()) {
       // Guard against repeated speculative inlining.
       if (!IsAllowedForInlining(call->deopt_id())) {
@@ -1771,13 +1646,9 @@
       return;
     }
   }
-  AssertAssignableInstr* assert_as =
-      new(Z) AssertAssignableInstr(call->token_pos(),
-                                   new(Z) Value(left),
-                                   new(Z) Value(type_args),
-                                   type,
-                                   Symbols::InTypeCast(),
-                                   call->deopt_id());
+  AssertAssignableInstr* assert_as = new (Z) AssertAssignableInstr(
+      call->token_pos(), new (Z) Value(left), new (Z) Value(type_args), type,
+      Symbols::InTypeCast(), call->deopt_id());
   ReplaceCall(call, assert_as);
 }
 
@@ -1818,8 +1689,7 @@
 
   const ICData& unary_checks =
       ICData::Handle(Z, call->ic_data()->AsUnaryClassChecks());
-  if ((unary_checks.NumberOfChecks() > 0) &&
-      (op_kind == Token::kSET) &&
+  if ((unary_checks.NumberOfChecks() > 0) && (op_kind == Token::kSET) &&
       TryInlineInstanceSetter(call, unary_checks)) {
     return true;
   }
@@ -1896,8 +1766,7 @@
   if (has_one_target) {
     // Check if the single target is a polymorphic target, if it is,
     // we don't have one target.
-    const Function& target =
-        Function::Handle(Z, unary_checks.GetTargetAt(0));
+    const Function& target = Function::Handle(Z, unary_checks.GetTargetAt(0));
     const bool polymorphic_target = MethodRecognizer::PolymorphicTarget(target);
     has_one_target = !polymorphic_target;
   }
@@ -1905,12 +1774,11 @@
   if (has_one_target) {
     RawFunction::Kind function_kind =
         Function::Handle(Z, unary_checks.GetTargetAt(0)).kind();
-    if (!flow_graph()->InstanceCallNeedsClassCheck(
-            instr, function_kind)) {
+    if (!flow_graph()->InstanceCallNeedsClassCheck(instr, function_kind)) {
       PolymorphicInstanceCallInstr* call =
-          new(Z) PolymorphicInstanceCallInstr(instr, unary_checks,
-                                              /* with_checks = */ false,
-                                              /* complete = */ true);
+          new (Z) PolymorphicInstanceCallInstr(instr, unary_checks,
+                                               /* with_checks = */ false,
+                                               /* complete = */ true);
       instr->ReplaceWith(call, current_iterator());
       return;
     }
@@ -1925,16 +1793,16 @@
           HasLikelySmiOperand(instr)) {
         Definition* left = instr->ArgumentAt(0);
         Definition* right = instr->ArgumentAt(1);
-        CheckedSmiComparisonInstr* smi_op =
-            new(Z) CheckedSmiComparisonInstr(instr->token_kind(),
-                                             new(Z) Value(left),
-                                             new(Z) Value(right),
-                                             instr);
+        CheckedSmiComparisonInstr* smi_op = new (Z)
+            CheckedSmiComparisonInstr(instr->token_kind(), new (Z) Value(left),
+                                      new (Z) Value(right), instr);
         ReplaceCall(instr, smi_op);
         return;
       }
       break;
     }
+    case Token::kSHL:
+    case Token::kSHR:
     case Token::kBIT_OR:
     case Token::kBIT_XOR:
     case Token::kBIT_AND:
@@ -1946,10 +1814,8 @@
         Definition* left = instr->ArgumentAt(0);
         Definition* right = instr->ArgumentAt(1);
         CheckedSmiOpInstr* smi_op =
-            new(Z) CheckedSmiOpInstr(instr->token_kind(),
-                                     new(Z) Value(left),
-                                     new(Z) Value(right),
-                                     instr);
+            new (Z) CheckedSmiOpInstr(instr->token_kind(), new (Z) Value(left),
+                                      new (Z) Value(right), instr);
 
         ReplaceCall(instr, smi_op);
         return;
@@ -1964,31 +1830,26 @@
   const intptr_t receiver_cid =
       instr->PushArgumentAt(0)->value()->Type()->ToCid();
   if (receiver_cid != kDynamicCid) {
-    const Class& receiver_class = Class::Handle(Z,
-        isolate()->class_table()->At(receiver_cid));
+    const Class& receiver_class =
+        Class::Handle(Z, isolate()->class_table()->At(receiver_cid));
 
-    const Array& args_desc_array = Array::Handle(Z,
-        ArgumentsDescriptor::New(instr->ArgumentCount(),
-                                 instr->argument_names()));
+    const Array& args_desc_array =
+        Array::Handle(Z, ArgumentsDescriptor::New(instr->ArgumentCount(),
+                                                  instr->argument_names()));
     ArgumentsDescriptor args_desc(args_desc_array);
-    const Function& function = Function::Handle(Z,
-        Resolver::ResolveDynamicForReceiverClass(
-            receiver_class,
-            instr->function_name(),
-            args_desc));
+    const Function& function = Function::Handle(
+        Z, Resolver::ResolveDynamicForReceiverClass(
+               receiver_class, instr->function_name(), args_desc));
     if (!function.IsNull()) {
       const ICData& ic_data = ICData::Handle(
-          ICData::New(flow_graph_->function(),
-                      instr->function_name(),
-                      args_desc_array,
-                      Thread::kNoDeoptId,
-                      /* args_tested = */ 1,
-                      false));
+          ICData::New(flow_graph_->function(), instr->function_name(),
+                      args_desc_array, Thread::kNoDeoptId,
+                      /* args_tested = */ 1, false));
       ic_data.AddReceiverCheck(receiver_class.id(), function);
       PolymorphicInstanceCallInstr* call =
-          new(Z) PolymorphicInstanceCallInstr(instr, ic_data,
-                                              /* with_checks = */ false,
-                                              /* complete = */ true);
+          new (Z) PolymorphicInstanceCallInstr(instr, ic_data,
+                                               /* with_checks = */ false,
+                                               /* complete = */ true);
       instr->ReplaceWith(call, current_iterator());
       return;
     }
@@ -2011,9 +1872,9 @@
       Function& single_target = Function::Handle(Z);
       ICData& ic_data = ICData::Handle(Z);
 
-      const Array& args_desc_array = Array::Handle(Z,
-          ArgumentsDescriptor::New(instr->ArgumentCount(),
-                                   instr->argument_names()));
+      const Array& args_desc_array =
+          Array::Handle(Z, ArgumentsDescriptor::New(instr->ArgumentCount(),
+                                                    instr->argument_names()));
       ArgumentsDescriptor args_desc(args_desc_array);
 
       Function& target = Function::Handle(Z);
@@ -2022,9 +1883,7 @@
         const intptr_t cid = class_ids[i];
         cls = isolate()->class_table()->At(cid);
         target = Resolver::ResolveDynamicForReceiverClass(
-            cls,
-            instr->function_name(),
-            args_desc);
+            cls, instr->function_name(), args_desc);
 
         if (target.IsNull()) {
           // Can't resolve the target. It might be a noSuchMethod,
@@ -2051,10 +1910,8 @@
 
           // Create an ICData and map all previously seen classes (< i) to
           // the computed single_target.
-          ic_data = ICData::New(function,
-                                instr->function_name(),
-                                args_desc_array,
-                                Thread::kNoDeoptId,
+          ic_data = ICData::New(function, instr->function_name(),
+                                args_desc_array, Thread::kNoDeoptId,
                                 /* args_tested = */ 1, false);
           for (intptr_t j = 0; j < i; j++) {
             ic_data.AddReceiverCheck(class_ids[j], single_target);
@@ -2074,12 +1931,9 @@
         if ((op_kind == Token::kGET) || (op_kind == Token::kSET)) {
           // Create fake IC data with the resolved target.
           const ICData& ic_data = ICData::Handle(
-              ICData::New(flow_graph_->function(),
-                          instr->function_name(),
-                          args_desc_array,
-                          Thread::kNoDeoptId,
-                          /* args_tested = */ 1,
-                          false));
+              ICData::New(flow_graph_->function(), instr->function_name(),
+                          args_desc_array, Thread::kNoDeoptId,
+                          /* args_tested = */ 1, false));
           cls = single_target.Owner();
           ic_data.AddReceiverCheck(cls.id(), single_target);
           instr->set_ic_data(&ic_data);
@@ -2091,26 +1945,22 @@
 
         // We have computed that there is only a single target for this call
         // within the whole hierarchy. Replace InstanceCall with StaticCall.
-        ZoneGrowableArray<PushArgumentInstr*>* args =
-            new (Z) ZoneGrowableArray<PushArgumentInstr*>(
-                instr->ArgumentCount());
+        ZoneGrowableArray<PushArgumentInstr*>* args = new (Z)
+            ZoneGrowableArray<PushArgumentInstr*>(instr->ArgumentCount());
         for (intptr_t i = 0; i < instr->ArgumentCount(); i++) {
           args->Add(instr->PushArgumentAt(i));
         }
         StaticCallInstr* call = new (Z) StaticCallInstr(
-            instr->token_pos(),
-            Function::ZoneHandle(Z, single_target.raw()),
-            instr->argument_names(),
-            args,
-            instr->deopt_id());
+            instr->token_pos(), Function::ZoneHandle(Z, single_target.raw()),
+            instr->argument_names(), args, instr->deopt_id());
         instr->ReplaceWith(call, current_iterator());
         return;
       } else if ((ic_data.raw() != ICData::null()) &&
                  (ic_data.NumberOfChecks() > 0)) {
         PolymorphicInstanceCallInstr* call =
-            new(Z) PolymorphicInstanceCallInstr(instr, ic_data,
-                                                /* with_checks = */ true,
-                                                /* complete = */ true);
+            new (Z) PolymorphicInstanceCallInstr(instr, ic_data,
+                                                 /* with_checks = */ true,
+                                                 /* complete = */ true);
         instr->ReplaceWith(call, current_iterator());
         return;
       }
@@ -2124,9 +1974,9 @@
     // OK to use checks with PolymorphicInstanceCallInstr since no
     // deoptimization is allowed.
     PolymorphicInstanceCallInstr* call =
-        new(Z) PolymorphicInstanceCallInstr(instr, unary_checks,
-                                            /* with_checks = */ true,
-                                            /* complete = */ false);
+        new (Z) PolymorphicInstanceCallInstr(instr, unary_checks,
+                                             /* with_checks = */ true,
+                                             /* complete = */ false);
     instr->ReplaceWith(call, current_iterator());
     return;
   }
@@ -2139,18 +1989,17 @@
     const intptr_t receiver_cid =
         call->PushArgumentAt(0)->value()->Type()->ToCid();
     if (receiver_cid != kDynamicCid) {
-      const Class& receiver_class = Class::Handle(Z,
-          isolate()->class_table()->At(receiver_cid));
+      const Class& receiver_class =
+          Class::Handle(Z, isolate()->class_table()->At(receiver_cid));
 
-      const Array& args_desc_array = Array::Handle(Z,
-          ArgumentsDescriptor::New(call->ArgumentCount(),
-                                   call->instance_call()->argument_names()));
+      const Array& args_desc_array = Array::Handle(
+          Z, ArgumentsDescriptor::New(call->ArgumentCount(),
+                                      call->instance_call()->argument_names()));
       ArgumentsDescriptor args_desc(args_desc_array);
-      const Function& function = Function::Handle(Z,
-          Resolver::ResolveDynamicForReceiverClass(
-              receiver_class,
-              call->instance_call()->function_name(),
-              args_desc));
+      const Function& function = Function::Handle(
+          Z, Resolver::ResolveDynamicForReceiverClass(
+                 receiver_class, call->instance_call()->function_name(),
+                 args_desc));
       if (!function.IsNull()) {
         call->set_with_checks(false);
       }
@@ -2195,37 +2044,27 @@
     case MethodRecognizer::kMathMax: {
       // We can handle only monomorphic min/max call sites with both arguments
       // being either doubles or smis.
-      if (CanUnboxDouble() &&
-          call->HasICData() &&
+      if (CanUnboxDouble() && call->HasICData() &&
           (call->ic_data()->NumberOfChecks() == 1)) {
         const ICData& ic_data = *call->ic_data();
         intptr_t result_cid = kIllegalCid;
-        if (ICDataHasReceiverArgumentClassIds(ic_data,
-                                              kDoubleCid, kDoubleCid)) {
+        if (ICDataHasReceiverArgumentClassIds(ic_data, kDoubleCid,
+                                              kDoubleCid)) {
           result_cid = kDoubleCid;
-        } else if (ICDataHasReceiverArgumentClassIds(ic_data,
-                                                     kSmiCid, kSmiCid)) {
+        } else if (ICDataHasReceiverArgumentClassIds(ic_data, kSmiCid,
+                                                     kSmiCid)) {
           result_cid = kSmiCid;
         }
         if (result_cid != kIllegalCid) {
-          MathMinMaxInstr* min_max = new(Z) MathMinMaxInstr(
-              recognized_kind,
-              new(Z) Value(call->ArgumentAt(0)),
-              new(Z) Value(call->ArgumentAt(1)),
-              call->deopt_id(),
-              result_cid);
+          MathMinMaxInstr* min_max = new (Z) MathMinMaxInstr(
+              recognized_kind, new (Z) Value(call->ArgumentAt(0)),
+              new (Z) Value(call->ArgumentAt(1)), call->deopt_id(), result_cid);
           const ICData& unary_checks =
               ICData::ZoneHandle(Z, ic_data.AsUnaryClassChecks());
-          AddCheckClass(min_max->left()->definition(),
-                        unary_checks,
-                        call->deopt_id(),
-                        call->env(),
-                        call);
-          AddCheckClass(min_max->right()->definition(),
-                        unary_checks,
-                        call->deopt_id(),
-                        call->env(),
-                        call);
+          AddCheckClass(min_max->left()->definition(), unary_checks,
+                        call->deopt_id(), call->env(), call);
+          AddCheckClass(min_max->right()->definition(), unary_checks,
+                        call->deopt_id(), call->env(), call);
           ReplaceCall(call, min_max);
         }
       }
@@ -2238,15 +2077,13 @@
           if (ArgIsAlways(kSmiCid, ic_data, 1)) {
             Definition* arg = call->ArgumentAt(1);
             AddCheckSmi(arg, call->deopt_id(), call->env(), call);
-            ReplaceCall(call,
-                        new(Z) SmiToDoubleInstr(new(Z) Value(arg),
-                                                call->token_pos()));
+            ReplaceCall(call, new (Z) SmiToDoubleInstr(new (Z) Value(arg),
+                                                       call->token_pos()));
           } else if (ArgIsAlways(kMintCid, ic_data, 1) &&
                      CanConvertUnboxedMintToDouble()) {
             Definition* arg = call->ArgumentAt(1);
-            ReplaceCall(call,
-                        new(Z) MintToDoubleInstr(new(Z) Value(arg),
-                                                 call->deopt_id()));
+            ReplaceCall(call, new (Z) MintToDoubleInstr(new (Z) Value(arg),
+                                                        call->deopt_id()));
           }
         }
       }
@@ -2259,10 +2096,9 @@
 
 
 void AotOptimizer::VisitLoadCodeUnits(LoadCodeUnitsInstr* instr) {
-  // TODO(zerny): Use kUnboxedUint32 once it is fully supported/optimized.
+// TODO(zerny): Use kUnboxedUint32 once it is fully supported/optimized.
 #if defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_ARM)
-  if (!instr->can_pack_into_smi())
-    instr->set_representation(kUnboxedMint);
+  if (!instr->can_pack_into_smi()) instr->set_representation(kUnboxedMint);
 #endif
 }
 
@@ -2270,7 +2106,7 @@
 bool AotOptimizer::TryInlineInstanceSetter(InstanceCallInstr* instr,
                                            const ICData& unary_ic_data) {
   ASSERT((unary_ic_data.NumberOfChecks() > 0) &&
-      (unary_ic_data.NumArgsTested() == 1));
+         (unary_ic_data.NumArgsTested() == 1));
   if (I->type_checks()) {
     // Checked mode setters are inlined like normal methods by conventional
     // inlining.
@@ -2297,22 +2133,19 @@
   // Inline implicit instance setter.
   const String& field_name =
       String::Handle(Z, Field::NameFromSetter(instr->function_name()));
-  const Field& field =
-      Field::ZoneHandle(Z, GetField(class_id, field_name));
+  const Field& field = Field::ZoneHandle(Z, GetField(class_id, field_name));
   ASSERT(!field.IsNull());
 
-  if (flow_graph()->InstanceCallNeedsClassCheck(
-          instr, RawFunction::kImplicitSetter)) {
+  if (flow_graph()->InstanceCallNeedsClassCheck(instr,
+                                                RawFunction::kImplicitSetter)) {
     return false;
   }
 
   // Field guard was detached.
-  StoreInstanceFieldInstr* store = new(Z) StoreInstanceFieldInstr(
-      field,
-      new(Z) Value(instr->ArgumentAt(0)),
-      new(Z) Value(instr->ArgumentAt(1)),
-      kEmitStoreBarrier,
-      instr->token_pos());
+  StoreInstanceFieldInstr* store = new (Z)
+      StoreInstanceFieldInstr(field, new (Z) Value(instr->ArgumentAt(0)),
+                              new (Z) Value(instr->ArgumentAt(1)),
+                              kEmitStoreBarrier, instr->token_pos());
 
   // No unboxed stores in precompiled code.
   ASSERT(!store->IsUnboxedStore());
@@ -2327,19 +2160,17 @@
 
 void AotOptimizer::ReplaceArrayBoundChecks() {
   for (BlockIterator block_it = flow_graph_->reverse_postorder_iterator();
-       !block_it.Done();
-       block_it.Advance()) {
+       !block_it.Done(); block_it.Advance()) {
     ForwardInstructionIterator it(block_it.Current());
     current_iterator_ = &it;
     for (; !it.Done(); it.Advance()) {
       CheckArrayBoundInstr* check = it.Current()->AsCheckArrayBound();
       if (check != NULL) {
-        GenericCheckBoundInstr* new_check = new(Z) GenericCheckBoundInstr(
-            new(Z) Value(check->length()->definition()),
-            new(Z) Value(check->index()->definition()),
-            check->deopt_id());
-        flow_graph_->InsertBefore(check, new_check,
-                                  check->env(), FlowGraph::kEffect);
+        GenericCheckBoundInstr* new_check = new (Z) GenericCheckBoundInstr(
+            new (Z) Value(check->length()->definition()),
+            new (Z) Value(check->index()->definition()), check->deopt_id());
+        flow_graph_->InsertBefore(check, new_check, check->env(),
+                                  FlowGraph::kEffect);
         current_iterator()->RemoveCurrentFromGraph();
       }
     }
diff --git a/runtime/vm/aot_optimizer.h b/runtime/vm/aot_optimizer.h
index 01a81ca2..16e879e 100644
--- a/runtime/vm/aot_optimizer.h
+++ b/runtime/vm/aot_optimizer.h
@@ -11,7 +11,8 @@
 namespace dart {
 
 class CSEInstructionMap;
-template <typename T> class GrowableArray;
+template <typename T>
+class GrowableArray;
 class ParsedFunction;
 class Precompiler;
 class RawBool;
@@ -110,12 +111,9 @@
   bool InstanceCallNeedsClassCheck(InstanceCallInstr* call,
                                    RawFunction::Kind kind) const;
 
-  bool InlineFloat32x4BinaryOp(InstanceCallInstr* call,
-                               Token::Kind op_kind);
-  bool InlineInt32x4BinaryOp(InstanceCallInstr* call,
-                              Token::Kind op_kind);
-  bool InlineFloat64x2BinaryOp(InstanceCallInstr* call,
-                               Token::Kind op_kind);
+  bool InlineFloat32x4BinaryOp(InstanceCallInstr* call, Token::Kind op_kind);
+  bool InlineInt32x4BinaryOp(InstanceCallInstr* call, Token::Kind op_kind);
+  bool InlineFloat64x2BinaryOp(InstanceCallInstr* call, Token::Kind op_kind);
   bool InlineImplicitInstanceGetter(InstanceCallInstr* call);
 
   RawBool* InstanceOfAsBool(const ICData& ic_data,
diff --git a/runtime/vm/assembler.cc b/runtime/vm/assembler.cc
index 8bb29ca..4edcedd 100644
--- a/runtime/vm/assembler.cc
+++ b/runtime/vm/assembler.cc
@@ -13,13 +13,19 @@
 
 namespace dart {
 
-DEFINE_FLAG(bool, check_code_pointer, false,
+DEFINE_FLAG(bool,
+            check_code_pointer,
+            false,
             "Verify instructions offset in code object."
             "NOTE: This breaks the profiler.");
-DEFINE_FLAG(bool, code_comments, false,
+DEFINE_FLAG(bool,
+            code_comments,
+            false,
             "Include comments into code and disassembly");
 #if defined(TARGET_ARCH_ARM) || defined(TARGET_ARCH_MIPS)
-DEFINE_FLAG(bool, use_far_branches, false,
+DEFINE_FLAG(bool,
+            use_far_branches,
+            false,
             "Enable far branches for ARM and MIPS");
 #endif
 
@@ -82,8 +88,7 @@
 }
 
 
-AssemblerBuffer::~AssemblerBuffer() {
-}
+AssemblerBuffer::~AssemblerBuffer() {}
 
 
 void AssemblerBuffer::ProcessFixups(const MemoryRegion& region) {
@@ -120,8 +125,7 @@
   // Allocate the new data area and copy contents of the old one to it.
   uword new_contents = NewContents(new_capacity);
   memmove(reinterpret_cast<void*>(new_contents),
-          reinterpret_cast<void*>(contents_),
-          old_size);
+          reinterpret_cast<void*>(contents_), old_size);
 
   // Compute the relocation delta and switch to the new contents area.
   intptr_t delta = new_contents - contents_;
@@ -141,8 +145,7 @@
  public:
   PatchCodeWithHandle(ZoneGrowableArray<intptr_t>* pointer_offsets,
                       const Object& object)
-      : pointer_offsets_(pointer_offsets), object_(object) {
-  }
+      : pointer_offsets_(pointer_offsets), object_(object) {}
 
   void Process(const MemoryRegion& region, intptr_t position) {
     // Patch the handle into the code. Once the instructions are installed into
@@ -218,9 +221,9 @@
     OS::VSNPrint(buffer, sizeof(buffer), format, args);
     va_end(args);
 
-    comments_.Add(new CodeComment(buffer_.GetPosition(),
-                                  String::ZoneHandle(String::New(buffer,
-                                                                 Heap::kOld))));
+    comments_.Add(
+        new CodeComment(buffer_.GetPosition(),
+                        String::ZoneHandle(String::New(buffer, Heap::kOld))));
   }
 }
 
@@ -304,9 +307,9 @@
 
 intptr_t ObjectPoolWrapper::FindNativeEntry(const ExternalLabel* label,
                                             Patchability patchable) {
-  return FindObject(ObjectPoolWrapperEntry(label->address(),
-                                           ObjectPool::kNativeEntry),
-                    patchable);
+  return FindObject(
+      ObjectPoolWrapperEntry(label->address(), ObjectPool::kNativeEntry),
+      patchable);
 }
 
 
diff --git a/runtime/vm/assembler.h b/runtime/vm/assembler.h
index f722d09..87d3a1e 100644
--- a/runtime/vm/assembler.h
+++ b/runtime/vm/assembler.h
@@ -14,8 +14,7 @@
 
 namespace dart {
 
-#if defined(TARGET_ARCH_ARM) ||                                                \
-    defined(TARGET_ARCH_ARM64) ||                                              \
+#if defined(TARGET_ARCH_ARM) || defined(TARGET_ARCH_ARM64) ||                  \
     defined(TARGET_ARCH_MIPS)
 DECLARE_FLAG(bool, use_far_branches);
 #endif
@@ -78,29 +77,31 @@
   ~AssemblerBuffer();
 
   // Basic support for emitting, loading, and storing.
-  template<typename T> void Emit(T value) {
+  template <typename T>
+  void Emit(T value) {
     ASSERT(HasEnsuredCapacity());
     *reinterpret_cast<T*>(cursor_) = value;
     cursor_ += sizeof(T);
   }
 
-  template<typename T> void Remit() {
+  template <typename T>
+  void Remit() {
     ASSERT(Size() >= static_cast<intptr_t>(sizeof(T)));
     cursor_ -= sizeof(T);
   }
 
   // Return address to code at |position| bytes.
-  uword Address(intptr_t position) {
-    return contents_ + position;
-  }
+  uword Address(intptr_t position) { return contents_ + position; }
 
-  template<typename T> T Load(intptr_t position) {
+  template <typename T>
+  T Load(intptr_t position) {
     ASSERT(position >= 0 &&
            position <= (Size() - static_cast<intptr_t>(sizeof(T))));
     return *reinterpret_cast<T*>(contents_ + position);
   }
 
-  template<typename T> void Store(intptr_t position, T value) {
+  template <typename T>
+  void Store(intptr_t position, T value) {
     ASSERT(position >= 0 &&
            position <= (Size() - static_cast<intptr_t>(sizeof(T))));
     *reinterpret_cast<T*>(contents_ + position) = value;
@@ -135,13 +136,13 @@
   // and apply all fixups.
   void FinalizeInstructions(const MemoryRegion& region);
 
-  // To emit an instruction to the assembler buffer, the EnsureCapacity helper
-  // must be used to guarantee that the underlying data area is big enough to
-  // hold the emitted instruction. Usage:
-  //
-  //     AssemblerBuffer buffer;
-  //     AssemblerBuffer::EnsureCapacity ensured(&buffer);
-  //     ... emit bytes for single instruction ...
+// To emit an instruction to the assembler buffer, the EnsureCapacity helper
+// must be used to guarantee that the underlying data area is big enough to
+// hold the emitted instruction. Usage:
+//
+//     AssemblerBuffer buffer;
+//     AssemblerBuffer::EnsureCapacity ensured(&buffer);
+//     ... emit bytes for single instruction ...
 
 #if defined(DEBUG)
   class EnsureCapacity : public ValueObject {
@@ -215,14 +216,13 @@
 
 
 struct ObjectPoolWrapperEntry {
-  ObjectPoolWrapperEntry()
-    : raw_value_(), type_(), equivalence_() { }
+  ObjectPoolWrapperEntry() : raw_value_(), type_(), equivalence_() {}
   explicit ObjectPoolWrapperEntry(const Object* obj)
-    : obj_(obj), type_(ObjectPool::kTaggedObject), equivalence_(obj) { }
+      : obj_(obj), type_(ObjectPool::kTaggedObject), equivalence_(obj) {}
   explicit ObjectPoolWrapperEntry(const Object* obj, const Object* eqv)
-    : obj_(obj), type_(ObjectPool::kTaggedObject), equivalence_(eqv) { }
+      : obj_(obj), type_(ObjectPool::kTaggedObject), equivalence_(eqv) {}
   ObjectPoolWrapperEntry(uword value, ObjectPool::EntryType info)
-    : raw_value_(value), type_(info), equivalence_() { }
+      : raw_value_(value), type_(info), equivalence_() {}
 
   union {
     const Object* obj_;
@@ -243,8 +243,9 @@
 
   static const intptr_t kNoIndex = -1;
 
-  ObjIndexPair() : key_(static_cast<uword>(NULL), ObjectPool::kTaggedObject),
-                   value_(kNoIndex) { }
+  ObjIndexPair()
+      : key_(static_cast<uword>(NULL), ObjectPool::kTaggedObject),
+        value_(kNoIndex) {}
 
   ObjIndexPair(Key key, Value value) : value_(value) {
     key_.type_ = key.type_;
@@ -298,17 +299,14 @@
 
 class ObjectPoolWrapper : public ValueObject {
  public:
-  intptr_t AddObject(const Object& obj,
-                     Patchability patchable = kNotPatchable);
+  intptr_t AddObject(const Object& obj, Patchability patchable = kNotPatchable);
   intptr_t AddImmediate(uword imm);
 
   intptr_t FindObject(const Object& obj,
                       Patchability patchable = kNotPatchable);
-  intptr_t FindObject(const Object& obj,
-                      const Object& equivalence);
+  intptr_t FindObject(const Object& obj, const Object& equivalence);
   intptr_t FindImmediate(uword imm);
-  intptr_t FindNativeEntry(const ExternalLabel* label,
-                           Patchability patchable);
+  intptr_t FindNativeEntry(const ExternalLabel* label, Patchability patchable);
 
   RawObjectPool* MakeObjectPool();
 
@@ -324,10 +322,7 @@
 };
 
 
-enum RestorePP {
-  kRestoreCallerPP,
-  kKeepCalleePP
-};
+enum RestorePP { kRestoreCallerPP, kKeepCalleePP };
 
 }  // namespace dart
 
diff --git a/runtime/vm/assembler_arm.cc b/runtime/vm/assembler_arm.cc
index 89977e4..3618bce 100644
--- a/runtime/vm/assembler_arm.cc
+++ b/runtime/vm/assembler_arm.cc
@@ -14,7 +14,7 @@
 #include "vm/stub_code.h"
 
 // An extra check since we are assuming the existence of /proc/cpuinfo below.
-#if !defined(USING_SIMULATOR) && !defined(__linux__) && !defined(ANDROID) && \
+#if !defined(USING_SIMULATOR) && !defined(__linux__) && !defined(ANDROID) &&   \
     !TARGET_OS_IOS
 #error ARM cross-compile only supported on Linux
 #endif
@@ -28,8 +28,8 @@
   if (kind_ == Immediate) {
     uint32_t offset = encoding_ & kOffset12Mask;
     ASSERT(offset < 256);
-    return (encoding_ & ~kOffset12Mask) | B22 |
-           ((offset & 0xf0) << 4) | (offset & 0xf);
+    return (encoding_ & ~kOffset12Mask) | B22 | ((offset & 0xf0) << 4) |
+           (offset & 0xf);
   }
   ASSERT(kind_ == IndexRegister);
   return encoding_;
@@ -39,9 +39,9 @@
 uint32_t Address::vencoding() const {
   ASSERT(kind_ == Immediate);
   uint32_t offset = encoding_ & kOffset12Mask;
-  ASSERT(offset < (1 << 10));  // In the range 0 to +1020.
+  ASSERT(offset < (1 << 10));           // In the range 0 to +1020.
   ASSERT(Utils::IsAligned(offset, 4));  // Multiple of 4.
-  int mode = encoding_ & ((8|4|1) << 21);
+  int mode = encoding_ & ((8 | 4 | 1) << 21);
   ASSERT((mode == Offset) || (mode == NegOffset));
   uint32_t vencoding = (encoding_ & (0xf << kRnShift)) | (offset >> 2);
   if (mode == Offset) {
@@ -80,10 +80,8 @@
   int32_t encoding = static_cast<int32_t>(cond) << kConditionShift |
                      type << kTypeShift |
                      static_cast<int32_t>(opcode) << kOpcodeShift |
-                     set_cc << kSShift |
-                     static_cast<int32_t>(rn) << kRnShift |
-                     static_cast<int32_t>(rd) << kRdShift |
-                     o.encoding();
+                     set_cc << kSShift | static_cast<int32_t>(rn) << kRnShift |
+                     static_cast<int32_t>(rd) << kRdShift | o.encoding();
   Emit(encoding);
 }
 
@@ -91,8 +89,7 @@
 void Assembler::EmitType5(Condition cond, int32_t offset, bool link) {
   ASSERT(cond != kNoCondition);
   int32_t encoding = static_cast<int32_t>(cond) << kConditionShift |
-                     5 << kTypeShift |
-                     (link ? 1 : 0) << kLinkShift;
+                     5 << kTypeShift | (link ? 1 : 0) << kLinkShift;
   Emit(Assembler::EncodeBranchOffset(offset, encoding));
 }
 
@@ -106,12 +103,10 @@
   ASSERT(cond != kNoCondition);
   ASSERT(!ad.has_writeback() || (ad.rn() != rd));  // Unpredictable.
 
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B26 | (ad.kind() == Address::Immediate ? 0 : B25) |
-                     (load ? L : 0) |
-                     (byte ? B : 0) |
-                     (static_cast<int32_t>(rd) << kRdShift) |
-                     ad.encoding();
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B26 |
+                     (ad.kind() == Address::Immediate ? 0 : B25) |
+                     (load ? L : 0) | (byte ? B : 0) |
+                     (static_cast<int32_t>(rd) << kRdShift) | ad.encoding();
   Emit(encoding);
 }
 
@@ -122,10 +117,8 @@
                                       Address ad) {
   ASSERT(rd != kNoRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     mode |
-                     (static_cast<int32_t>(rd) << kRdShift) |
-                     ad.encoding3();
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | mode |
+                     (static_cast<int32_t>(rd) << kRdShift) | ad.encoding3();
   Emit(encoding);
 }
 
@@ -137,12 +130,9 @@
                                RegList regs) {
   ASSERT(base != kNoRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 |
-                     am |
-                     (load ? L : 0) |
-                     (static_cast<int32_t>(base) << kRnShift) |
-                     regs;
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B27 |
+                     am | (load ? L : 0) |
+                     (static_cast<int32_t>(base) << kRnShift) | regs;
   Emit(encoding);
 }
 
@@ -154,12 +144,11 @@
                                    Operand o) {
   ASSERT(cond != kNoCondition);
   ASSERT(o.type() == 1);
-  int32_t encoding = static_cast<int32_t>(cond) << kConditionShift |
-                     static_cast<int32_t>(MOV) << kOpcodeShift |
-                     static_cast<int32_t>(rd) << kRdShift |
-                     o.encoding() << kShiftImmShift |
-                     static_cast<int32_t>(opcode) << kShiftShift |
-                     static_cast<int32_t>(rm);
+  int32_t encoding =
+      static_cast<int32_t>(cond) << kConditionShift |
+      static_cast<int32_t>(MOV) << kOpcodeShift |
+      static_cast<int32_t>(rd) << kRdShift | o.encoding() << kShiftImmShift |
+      static_cast<int32_t>(opcode) << kShiftShift | static_cast<int32_t>(rm);
   Emit(encoding);
 }
 
@@ -175,8 +164,7 @@
                      static_cast<int32_t>(MOV) << kOpcodeShift |
                      static_cast<int32_t>(rd) << kRdShift |
                      o.encoding() << kShiftRegisterShift |
-                     static_cast<int32_t>(opcode) << kShiftShift |
-                     B4 |
+                     static_cast<int32_t>(opcode) << kShiftShift | B4 |
                      static_cast<int32_t>(rm);
   Emit(encoding);
 }
@@ -311,18 +299,18 @@
   ASSERT(cond != kNoCondition);
   ASSERT(rd != PC);
   ASSERT(rm != PC);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B24 | B22 | B21 | (0xf << 16) |
-                     (static_cast<int32_t>(rd) << kRdShift) |
-                     (0xf << 8) | B4 | static_cast<int32_t>(rm);
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B24 |
+                     B22 | B21 | (0xf << 16) |
+                     (static_cast<int32_t>(rd) << kRdShift) | (0xf << 8) | B4 |
+                     static_cast<int32_t>(rm);
   Emit(encoding);
 }
 
 
 void Assembler::movw(Register rd, uint16_t imm16, Condition cond) {
   ASSERT(cond != kNoCondition);
-  int32_t encoding = static_cast<int32_t>(cond) << kConditionShift |
-                     B25 | B24 | ((imm16 >> 12) << 16) |
+  int32_t encoding = static_cast<int32_t>(cond) << kConditionShift | B25 | B24 |
+                     ((imm16 >> 12) << 16) |
                      static_cast<int32_t>(rd) << kRdShift | (imm16 & 0xfff);
   Emit(encoding);
 }
@@ -330,28 +318,29 @@
 
 void Assembler::movt(Register rd, uint16_t imm16, Condition cond) {
   ASSERT(cond != kNoCondition);
-  int32_t encoding = static_cast<int32_t>(cond) << kConditionShift |
-                     B25 | B24 | B22 | ((imm16 >> 12) << 16) |
+  int32_t encoding = static_cast<int32_t>(cond) << kConditionShift | B25 | B24 |
+                     B22 | ((imm16 >> 12) << 16) |
                      static_cast<int32_t>(rd) << kRdShift | (imm16 & 0xfff);
   Emit(encoding);
 }
 
 
-void Assembler::EmitMulOp(Condition cond, int32_t opcode,
-                          Register rd, Register rn,
-                          Register rm, Register rs) {
+void Assembler::EmitMulOp(Condition cond,
+                          int32_t opcode,
+                          Register rd,
+                          Register rn,
+                          Register rm,
+                          Register rs) {
   ASSERT(rd != kNoRegister);
   ASSERT(rn != kNoRegister);
   ASSERT(rm != kNoRegister);
   ASSERT(rs != kNoRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = opcode |
-      (static_cast<int32_t>(cond) << kConditionShift) |
-      (static_cast<int32_t>(rn) << kRnShift) |
-      (static_cast<int32_t>(rd) << kRdShift) |
-      (static_cast<int32_t>(rs) << kRsShift) |
-      B7 | B4 |
-      (static_cast<int32_t>(rm) << kRmShift);
+  int32_t encoding = opcode | (static_cast<int32_t>(cond) << kConditionShift) |
+                     (static_cast<int32_t>(rn) << kRnShift) |
+                     (static_cast<int32_t>(rd) << kRdShift) |
+                     (static_cast<int32_t>(rs) << kRsShift) | B7 | B4 |
+                     (static_cast<int32_t>(rm) << kRmShift);
   Emit(encoding);
 }
 
@@ -368,16 +357,22 @@
 }
 
 
-void Assembler::mla(Register rd, Register rn,
-                    Register rm, Register ra, Condition cond) {
+void Assembler::mla(Register rd,
+                    Register rn,
+                    Register rm,
+                    Register ra,
+                    Condition cond) {
   // rd <- ra + rn * rm.
   // Assembler registers rd, rn, rm, ra are encoded as rn, rm, rs, rd.
   EmitMulOp(cond, B21, ra, rd, rn, rm);
 }
 
 
-void Assembler::mls(Register rd, Register rn,
-                    Register rm, Register ra, Condition cond) {
+void Assembler::mls(Register rd,
+                    Register rn,
+                    Register rm,
+                    Register ra,
+                    Condition cond) {
   // rd <- ra - rn * rm.
   if (TargetCPUFeatures::arm_version() == ARMv7) {
     // Assembler registers rd, rn, rm, ra are encoded as rn, rm, rs, rd.
@@ -389,29 +384,40 @@
 }
 
 
-void Assembler::smull(Register rd_lo, Register rd_hi,
-                      Register rn, Register rm, Condition cond) {
+void Assembler::smull(Register rd_lo,
+                      Register rd_hi,
+                      Register rn,
+                      Register rm,
+                      Condition cond) {
   // Assembler registers rd_lo, rd_hi, rn, rm are encoded as rd, rn, rm, rs.
   EmitMulOp(cond, B23 | B22, rd_lo, rd_hi, rn, rm);
 }
 
 
-void Assembler::umull(Register rd_lo, Register rd_hi,
-                      Register rn, Register rm, Condition cond) {
+void Assembler::umull(Register rd_lo,
+                      Register rd_hi,
+                      Register rn,
+                      Register rm,
+                      Condition cond) {
   // Assembler registers rd_lo, rd_hi, rn, rm are encoded as rd, rn, rm, rs.
   EmitMulOp(cond, B23, rd_lo, rd_hi, rn, rm);
 }
 
 
-void Assembler::umlal(Register rd_lo, Register rd_hi,
-                      Register rn, Register rm, Condition cond) {
+void Assembler::umlal(Register rd_lo,
+                      Register rd_hi,
+                      Register rn,
+                      Register rm,
+                      Condition cond) {
   // Assembler registers rd_lo, rd_hi, rn, rm are encoded as rd, rn, rm, rs.
   EmitMulOp(cond, B23 | B21, rd_lo, rd_hi, rn, rm);
 }
 
 
-void Assembler::umaal(Register rd_lo, Register rd_hi,
-                      Register rn, Register rm) {
+void Assembler::umaal(Register rd_lo,
+                      Register rd_hi,
+                      Register rn,
+                      Register rm) {
   ASSERT(rd_lo != IP);
   ASSERT(rd_hi != IP);
   ASSERT(rn != IP);
@@ -428,19 +434,20 @@
 }
 
 
-void Assembler::EmitDivOp(Condition cond, int32_t opcode,
-                          Register rd, Register rn, Register rm) {
+void Assembler::EmitDivOp(Condition cond,
+                          int32_t opcode,
+                          Register rd,
+                          Register rn,
+                          Register rm) {
   ASSERT(TargetCPUFeatures::integer_division_supported());
   ASSERT(rd != kNoRegister);
   ASSERT(rn != kNoRegister);
   ASSERT(rm != kNoRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = opcode |
-    (static_cast<int32_t>(cond) << kConditionShift) |
-    (static_cast<int32_t>(rn) << kDivRnShift) |
-    (static_cast<int32_t>(rd) << kDivRdShift) |
-    B26 | B25 | B24 | B20 | B4 |
-    (static_cast<int32_t>(rm) << kDivRmShift);
+  int32_t encoding = opcode | (static_cast<int32_t>(cond) << kConditionShift) |
+                     (static_cast<int32_t>(rn) << kDivRnShift) |
+                     (static_cast<int32_t>(rd) << kDivRdShift) | B26 | B25 |
+                     B24 | B20 | B4 | (static_cast<int32_t>(rm) << kDivRmShift);
   Emit(encoding);
 }
 
@@ -451,7 +458,7 @@
 
 
 void Assembler::udiv(Register rd, Register rn, Register rm, Condition cond) {
-  EmitDivOp(cond, B21 , rd, rn, rm);
+  EmitDivOp(cond, B21, rd, rn, rm);
 }
 
 
@@ -495,7 +502,10 @@
 }
 
 
-void Assembler::ldrd(Register rd, Register rd2, Register rn, int32_t offset,
+void Assembler::ldrd(Register rd,
+                     Register rd2,
+                     Register rn,
+                     int32_t offset,
                      Condition cond) {
   ASSERT((rd % 2) == 0);
   ASSERT(rd2 == rd + 1);
@@ -508,7 +518,10 @@
 }
 
 
-void Assembler::strd(Register rd, Register rd2, Register rn, int32_t offset,
+void Assembler::strd(Register rd,
+                     Register rd2,
+                     Register rn,
+                     int32_t offset,
                      Condition cond) {
   ASSERT((rd % 2) == 0);
   ASSERT(rd2 == rd + 1);
@@ -521,14 +534,18 @@
 }
 
 
-void Assembler::ldm(BlockAddressMode am, Register base, RegList regs,
+void Assembler::ldm(BlockAddressMode am,
+                    Register base,
+                    RegList regs,
                     Condition cond) {
   ASSERT(regs != 0);
   EmitMultiMemOp(cond, am, true, base, regs);
 }
 
 
-void Assembler::stm(BlockAddressMode am, Register base, RegList regs,
+void Assembler::stm(BlockAddressMode am,
+                    Register base,
+                    RegList regs,
                     Condition cond) {
   ASSERT(regs != 0);
   EmitMultiMemOp(cond, am, false, base, regs);
@@ -540,13 +557,10 @@
   ASSERT(rn != kNoRegister);
   ASSERT(rt != kNoRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B24 |
-                     B23 |
-                     L   |
-                     (static_cast<int32_t>(rn) << kLdExRnShift) |
-                     (static_cast<int32_t>(rt) << kLdExRtShift) |
-                     B11 | B10 | B9 | B8 | B7 | B4 | B3 | B2 | B1 | B0;
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B24 |
+                     B23 | L | (static_cast<int32_t>(rn) << kLdExRnShift) |
+                     (static_cast<int32_t>(rt) << kLdExRtShift) | B11 | B10 |
+                     B9 | B8 | B7 | B4 | B3 | B2 | B1 | B0;
   Emit(encoding);
 }
 
@@ -557,12 +571,10 @@
   ASSERT(rd != kNoRegister);
   ASSERT(rt != kNoRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B24 |
-                     B23 |
-                     (static_cast<int32_t>(rn) << kStrExRnShift) |
-                     (static_cast<int32_t>(rd) << kStrExRdShift) |
-                     B11 | B10 | B9 | B8 | B7 | B4 |
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B24 |
+                     B23 | (static_cast<int32_t>(rn) << kStrExRnShift) |
+                     (static_cast<int32_t>(rd) << kStrExRdShift) | B11 | B10 |
+                     B9 | B8 | B7 | B4 |
                      (static_cast<int32_t>(rt) << kStrExRtShift);
   Emit(encoding);
 }
@@ -570,16 +582,16 @@
 
 void Assembler::clrex() {
   ASSERT(TargetCPUFeatures::arm_version() != ARMv5TE);
-  int32_t encoding = (kSpecialCondition << kConditionShift) |
-                     B26 | B24 | B22 | B21 | B20 | (0xff << 12) | B4 | 0xf;
+  int32_t encoding = (kSpecialCondition << kConditionShift) | B26 | B24 | B22 |
+                     B21 | B20 | (0xff << 12) | B4 | 0xf;
   Emit(encoding);
 }
 
 
 void Assembler::nop(Condition cond) {
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B25 | B24 | B21 | (0xf << 12);
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B25 |
+                     B24 | B21 | (0xf << 12);
   Emit(encoding);
 }
 
@@ -591,11 +603,10 @@
   ASSERT(rt != SP);
   ASSERT(rt != PC);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B25 |
-                     ((static_cast<int32_t>(sn) >> 1)*B16) |
-                     (static_cast<int32_t>(rt)*B12) | B11 | B9 |
-                     ((static_cast<int32_t>(sn) & 1)*B7) | B4;
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B27 |
+                     B26 | B25 | ((static_cast<int32_t>(sn) >> 1) * B16) |
+                     (static_cast<int32_t>(rt) * B12) | B11 | B9 |
+                     ((static_cast<int32_t>(sn) & 1) * B7) | B4;
   Emit(encoding);
 }
 
@@ -607,16 +618,17 @@
   ASSERT(rt != SP);
   ASSERT(rt != PC);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B25 | B20 |
-                     ((static_cast<int32_t>(sn) >> 1)*B16) |
-                     (static_cast<int32_t>(rt)*B12) | B11 | B9 |
-                     ((static_cast<int32_t>(sn) & 1)*B7) | B4;
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B27 |
+                     B26 | B25 | B20 | ((static_cast<int32_t>(sn) >> 1) * B16) |
+                     (static_cast<int32_t>(rt) * B12) | B11 | B9 |
+                     ((static_cast<int32_t>(sn) & 1) * B7) | B4;
   Emit(encoding);
 }
 
 
-void Assembler::vmovsrr(SRegister sm, Register rt, Register rt2,
+void Assembler::vmovsrr(SRegister sm,
+                        Register rt,
+                        Register rt2,
                         Condition cond) {
   ASSERT(TargetCPUFeatures::vfp_supported());
   ASSERT(sm != kNoSRegister);
@@ -628,17 +640,18 @@
   ASSERT(rt2 != SP);
   ASSERT(rt2 != PC);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B22 |
-                     (static_cast<int32_t>(rt2)*B16) |
-                     (static_cast<int32_t>(rt)*B12) | B11 | B9 |
-                     ((static_cast<int32_t>(sm) & 1)*B5) | B4 |
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B27 |
+                     B26 | B22 | (static_cast<int32_t>(rt2) * B16) |
+                     (static_cast<int32_t>(rt) * B12) | B11 | B9 |
+                     ((static_cast<int32_t>(sm) & 1) * B5) | B4 |
                      (static_cast<int32_t>(sm) >> 1);
   Emit(encoding);
 }
 
 
-void Assembler::vmovrrs(Register rt, Register rt2, SRegister sm,
+void Assembler::vmovrrs(Register rt,
+                        Register rt2,
+                        SRegister sm,
                         Condition cond) {
   ASSERT(TargetCPUFeatures::vfp_supported());
   ASSERT(sm != kNoSRegister);
@@ -651,11 +664,10 @@
   ASSERT(rt2 != PC);
   ASSERT(rt != rt2);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B22 | B20 |
-                     (static_cast<int32_t>(rt2)*B16) |
-                     (static_cast<int32_t>(rt)*B12) | B11 | B9 |
-                     ((static_cast<int32_t>(sm) & 1)*B5) | B4 |
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B27 |
+                     B26 | B22 | B20 | (static_cast<int32_t>(rt2) * B16) |
+                     (static_cast<int32_t>(rt) * B12) | B11 | B9 |
+                     ((static_cast<int32_t>(sm) & 1) * B5) | B4 |
                      (static_cast<int32_t>(sm) >> 1);
   Emit(encoding);
 }
@@ -669,17 +681,17 @@
   ASSERT(rt != PC);
   ASSERT(dn != kNoDRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B25 |
-                     (i*B21) |
-                     (static_cast<int32_t>(rt)*B12) | B11 | B9 | B8 |
-                     ((static_cast<int32_t>(dn) >> 4)*B7) |
-                     ((static_cast<int32_t>(dn) & 0xf)*B16) | B4;
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B27 |
+                     B26 | B25 | (i * B21) | (static_cast<int32_t>(rt) * B12) |
+                     B11 | B9 | B8 | ((static_cast<int32_t>(dn) >> 4) * B7) |
+                     ((static_cast<int32_t>(dn) & 0xf) * B16) | B4;
   Emit(encoding);
 }
 
 
-void Assembler::vmovdrr(DRegister dm, Register rt, Register rt2,
+void Assembler::vmovdrr(DRegister dm,
+                        Register rt,
+                        Register rt2,
                         Condition cond) {
   ASSERT(TargetCPUFeatures::vfp_supported());
   ASSERT(dm != kNoDRegister);
@@ -690,17 +702,18 @@
   ASSERT(rt2 != SP);
   ASSERT(rt2 != PC);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B22 |
-                     (static_cast<int32_t>(rt2)*B16) |
-                     (static_cast<int32_t>(rt)*B12) | B11 | B9 | B8 |
-                     ((static_cast<int32_t>(dm) >> 4)*B5) | B4 |
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B27 |
+                     B26 | B22 | (static_cast<int32_t>(rt2) * B16) |
+                     (static_cast<int32_t>(rt) * B12) | B11 | B9 | B8 |
+                     ((static_cast<int32_t>(dm) >> 4) * B5) | B4 |
                      (static_cast<int32_t>(dm) & 0xf);
   Emit(encoding);
 }
 
 
-void Assembler::vmovrrd(Register rt, Register rt2, DRegister dm,
+void Assembler::vmovrrd(Register rt,
+                        Register rt2,
+                        DRegister dm,
                         Condition cond) {
   ASSERT(TargetCPUFeatures::vfp_supported());
   ASSERT(dm != kNoDRegister);
@@ -712,11 +725,10 @@
   ASSERT(rt2 != PC);
   ASSERT(rt != rt2);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B22 | B20 |
-                     (static_cast<int32_t>(rt2)*B16) |
-                     (static_cast<int32_t>(rt)*B12) | B11 | B9 | B8 |
-                     ((static_cast<int32_t>(dm) >> 4)*B5) | B4 |
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B27 |
+                     B26 | B22 | B20 | (static_cast<int32_t>(rt2) * B16) |
+                     (static_cast<int32_t>(rt) * B12) | B11 | B9 | B8 |
+                     ((static_cast<int32_t>(dm) >> 4) * B5) | B4 |
                      (static_cast<int32_t>(dm) & 0xf);
   Emit(encoding);
 }
@@ -726,11 +738,10 @@
   ASSERT(TargetCPUFeatures::vfp_supported());
   ASSERT(sd != kNoSRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B24 | B20 |
-                     ((static_cast<int32_t>(sd) & 1)*B22) |
-                     ((static_cast<int32_t>(sd) >> 1)*B12) |
-                     B11 | B9 | ad.vencoding();
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B27 |
+                     B26 | B24 | B20 | ((static_cast<int32_t>(sd) & 1) * B22) |
+                     ((static_cast<int32_t>(sd) >> 1) * B12) | B11 | B9 |
+                     ad.vencoding();
   Emit(encoding);
 }
 
@@ -740,11 +751,10 @@
   ASSERT(static_cast<Register>(ad.encoding_ & (0xf << kRnShift)) != PC);
   ASSERT(sd != kNoSRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B24 |
-                     ((static_cast<int32_t>(sd) & 1)*B22) |
-                     ((static_cast<int32_t>(sd) >> 1)*B12) |
-                     B11 | B9 | ad.vencoding();
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B27 |
+                     B26 | B24 | ((static_cast<int32_t>(sd) & 1) * B22) |
+                     ((static_cast<int32_t>(sd) >> 1) * B12) | B11 | B9 |
+                     ad.vencoding();
   Emit(encoding);
 }
 
@@ -753,11 +763,10 @@
   ASSERT(TargetCPUFeatures::vfp_supported());
   ASSERT(dd != kNoDRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B24 | B20 |
-                     ((static_cast<int32_t>(dd) >> 4)*B22) |
-                     ((static_cast<int32_t>(dd) & 0xf)*B12) |
-                     B11 | B9 | B8 | ad.vencoding();
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B27 |
+                     B26 | B24 | B20 | ((static_cast<int32_t>(dd) >> 4) * B22) |
+                     ((static_cast<int32_t>(dd) & 0xf) * B12) | B11 | B9 | B8 |
+                     ad.vencoding();
   Emit(encoding);
 }
 
@@ -767,44 +776,40 @@
   ASSERT(static_cast<Register>(ad.encoding_ & (0xf << kRnShift)) != PC);
   ASSERT(dd != kNoDRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B24 |
-                     ((static_cast<int32_t>(dd) >> 4)*B22) |
-                     ((static_cast<int32_t>(dd) & 0xf)*B12) |
-                     B11 | B9 | B8 | ad.vencoding();
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B27 |
+                     B26 | B24 | ((static_cast<int32_t>(dd) >> 4) * B22) |
+                     ((static_cast<int32_t>(dd) & 0xf) * B12) | B11 | B9 | B8 |
+                     ad.vencoding();
   Emit(encoding);
 }
 
 void Assembler::EmitMultiVSMemOp(Condition cond,
-                                BlockAddressMode am,
-                                bool load,
-                                Register base,
-                                SRegister start,
-                                uint32_t count) {
+                                 BlockAddressMode am,
+                                 bool load,
+                                 Register base,
+                                 SRegister start,
+                                 uint32_t count) {
   ASSERT(TargetCPUFeatures::vfp_supported());
   ASSERT(base != kNoRegister);
   ASSERT(cond != kNoCondition);
   ASSERT(start != kNoSRegister);
   ASSERT(static_cast<int32_t>(start) + count <= kNumberOfSRegisters);
 
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B11 | B9 |
-                     am |
-                     (load ? L : 0) |
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B27 |
+                     B26 | B11 | B9 | am | (load ? L : 0) |
                      (static_cast<int32_t>(base) << kRnShift) |
                      ((static_cast<int32_t>(start) & 0x1) ? D : 0) |
-                     ((static_cast<int32_t>(start) >> 1) << 12) |
-                     count;
+                     ((static_cast<int32_t>(start) >> 1) << 12) | count;
   Emit(encoding);
 }
 
 
 void Assembler::EmitMultiVDMemOp(Condition cond,
-                                BlockAddressMode am,
-                                bool load,
-                                Register base,
-                                DRegister start,
-                                int32_t count) {
+                                 BlockAddressMode am,
+                                 bool load,
+                                 Register base,
+                                 DRegister start,
+                                 int32_t count) {
   ASSERT(TargetCPUFeatures::vfp_supported());
   ASSERT(base != kNoRegister);
   ASSERT(cond != kNoCondition);
@@ -812,36 +817,42 @@
   ASSERT(static_cast<int32_t>(start) + count <= kNumberOfDRegisters);
   const int armv5te = TargetCPUFeatures::arm_version() == ARMv5TE ? 1 : 0;
 
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B11 | B9 | B8 |
-                     am |
-                     (load ? L : 0) |
-                     (static_cast<int32_t>(base) << kRnShift) |
-                     ((static_cast<int32_t>(start) & 0x10) ? D : 0) |
-                     ((static_cast<int32_t>(start) & 0xf) << 12) |
-                     (count << 1) | armv5te;
+  int32_t encoding =
+      (static_cast<int32_t>(cond) << kConditionShift) | B27 | B26 | B11 | B9 |
+      B8 | am | (load ? L : 0) | (static_cast<int32_t>(base) << kRnShift) |
+      ((static_cast<int32_t>(start) & 0x10) ? D : 0) |
+      ((static_cast<int32_t>(start) & 0xf) << 12) | (count << 1) | armv5te;
   Emit(encoding);
 }
 
 
-void Assembler::vldms(BlockAddressMode am, Register base,
-                      SRegister first, SRegister last, Condition cond) {
+void Assembler::vldms(BlockAddressMode am,
+                      Register base,
+                      SRegister first,
+                      SRegister last,
+                      Condition cond) {
   ASSERT((am == IA) || (am == IA_W) || (am == DB_W));
   ASSERT(last > first);
   EmitMultiVSMemOp(cond, am, true, base, first, last - first + 1);
 }
 
 
-void Assembler::vstms(BlockAddressMode am, Register base,
-                      SRegister first, SRegister last, Condition cond) {
+void Assembler::vstms(BlockAddressMode am,
+                      Register base,
+                      SRegister first,
+                      SRegister last,
+                      Condition cond) {
   ASSERT((am == IA) || (am == IA_W) || (am == DB_W));
   ASSERT(last > first);
   EmitMultiVSMemOp(cond, am, false, base, first, last - first + 1);
 }
 
 
-void Assembler::vldmd(BlockAddressMode am, Register base,
-                      DRegister first, intptr_t count, Condition cond) {
+void Assembler::vldmd(BlockAddressMode am,
+                      Register base,
+                      DRegister first,
+                      intptr_t count,
+                      Condition cond) {
   ASSERT((am == IA) || (am == IA_W) || (am == DB_W));
   ASSERT(count <= 16);
   ASSERT(first + count <= kNumberOfDRegisters);
@@ -849,8 +860,11 @@
 }
 
 
-void Assembler::vstmd(BlockAddressMode am, Register base,
-                      DRegister first, intptr_t count, Condition cond) {
+void Assembler::vstmd(BlockAddressMode am,
+                      Register base,
+                      DRegister first,
+                      intptr_t count,
+                      Condition cond) {
   ASSERT((am == IA) || (am == IA_W) || (am == DB_W));
   ASSERT(count <= 16);
   ASSERT(first + count <= kNumberOfDRegisters);
@@ -858,40 +872,44 @@
 }
 
 
-void Assembler::EmitVFPsss(Condition cond, int32_t opcode,
-                           SRegister sd, SRegister sn, SRegister sm) {
+void Assembler::EmitVFPsss(Condition cond,
+                           int32_t opcode,
+                           SRegister sd,
+                           SRegister sn,
+                           SRegister sm) {
   ASSERT(TargetCPUFeatures::vfp_supported());
   ASSERT(sd != kNoSRegister);
   ASSERT(sn != kNoSRegister);
   ASSERT(sm != kNoSRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B25 | B11 | B9 | opcode |
-                     ((static_cast<int32_t>(sd) & 1)*B22) |
-                     ((static_cast<int32_t>(sn) >> 1)*B16) |
-                     ((static_cast<int32_t>(sd) >> 1)*B12) |
-                     ((static_cast<int32_t>(sn) & 1)*B7) |
-                     ((static_cast<int32_t>(sm) & 1)*B5) |
-                     (static_cast<int32_t>(sm) >> 1);
+  int32_t encoding =
+      (static_cast<int32_t>(cond) << kConditionShift) | B27 | B26 | B25 | B11 |
+      B9 | opcode | ((static_cast<int32_t>(sd) & 1) * B22) |
+      ((static_cast<int32_t>(sn) >> 1) * B16) |
+      ((static_cast<int32_t>(sd) >> 1) * B12) |
+      ((static_cast<int32_t>(sn) & 1) * B7) |
+      ((static_cast<int32_t>(sm) & 1) * B5) | (static_cast<int32_t>(sm) >> 1);
   Emit(encoding);
 }
 
 
-void Assembler::EmitVFPddd(Condition cond, int32_t opcode,
-                           DRegister dd, DRegister dn, DRegister dm) {
+void Assembler::EmitVFPddd(Condition cond,
+                           int32_t opcode,
+                           DRegister dd,
+                           DRegister dn,
+                           DRegister dm) {
   ASSERT(TargetCPUFeatures::vfp_supported());
   ASSERT(dd != kNoDRegister);
   ASSERT(dn != kNoDRegister);
   ASSERT(dm != kNoDRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B25 | B11 | B9 | B8 | opcode |
-                     ((static_cast<int32_t>(dd) >> 4)*B22) |
-                     ((static_cast<int32_t>(dn) & 0xf)*B16) |
-                     ((static_cast<int32_t>(dd) & 0xf)*B12) |
-                     ((static_cast<int32_t>(dn) >> 4)*B7) |
-                     ((static_cast<int32_t>(dm) >> 4)*B5) |
-                     (static_cast<int32_t>(dm) & 0xf);
+  int32_t encoding =
+      (static_cast<int32_t>(cond) << kConditionShift) | B27 | B26 | B25 | B11 |
+      B9 | B8 | opcode | ((static_cast<int32_t>(dd) >> 4) * B22) |
+      ((static_cast<int32_t>(dn) & 0xf) * B16) |
+      ((static_cast<int32_t>(dd) & 0xf) * B12) |
+      ((static_cast<int32_t>(dn) >> 4) * B7) |
+      ((static_cast<int32_t>(dm) >> 4) * B5) | (static_cast<int32_t>(dm) & 0xf);
   Emit(encoding);
 }
 
@@ -913,11 +931,11 @@
   uint32_t imm32 = bit_cast<uint32_t, float>(s_imm);
   if (((imm32 & ((1 << 19) - 1)) == 0) &&
       ((((imm32 >> 25) & ((1 << 6) - 1)) == (1 << 5)) ||
-       (((imm32 >> 25) & ((1 << 6) - 1)) == ((1 << 5) -1)))) {
+       (((imm32 >> 25) & ((1 << 6) - 1)) == ((1 << 5) - 1)))) {
     uint8_t imm8 = ((imm32 >> 31) << 7) | (((imm32 >> 29) & 1) << 6) |
-        ((imm32 >> 19) & ((1 << 6) -1));
-    EmitVFPsss(cond, B23 | B21 | B20 | ((imm8 >> 4)*B16) | (imm8 & 0xf),
-               sd, S0, S0);
+                   ((imm32 >> 19) & ((1 << 6) - 1));
+    EmitVFPsss(cond, B23 | B21 | B20 | ((imm8 >> 4) * B16) | (imm8 & 0xf), sd,
+               S0, S0);
     return true;
   }
   return false;
@@ -931,10 +949,10 @@
   uint64_t imm64 = bit_cast<uint64_t, double>(d_imm);
   if (((imm64 & ((1LL << 48) - 1)) == 0) &&
       ((((imm64 >> 54) & ((1 << 9) - 1)) == (1 << 8)) ||
-       (((imm64 >> 54) & ((1 << 9) - 1)) == ((1 << 8) -1)))) {
+       (((imm64 >> 54) & ((1 << 9) - 1)) == ((1 << 8) - 1)))) {
     uint8_t imm8 = ((imm64 >> 63) << 7) | (((imm64 >> 61) & 1) << 6) |
-        ((imm64 >> 48) & ((1 << 6) -1));
-    EmitVFPddd(cond, B23 | B21 | B20 | ((imm8 >> 4)*B16) | B8 | (imm8 & 0xf),
+                   ((imm64 >> 48) & ((1 << 6) - 1));
+    EmitVFPddd(cond, B23 | B21 | B20 | ((imm8 >> 4) * B16) | B8 | (imm8 & 0xf),
                dd, D0, D0);
     return true;
   }
@@ -942,73 +960,97 @@
 }
 
 
-void Assembler::vadds(SRegister sd, SRegister sn, SRegister sm,
+void Assembler::vadds(SRegister sd,
+                      SRegister sn,
+                      SRegister sm,
                       Condition cond) {
   EmitVFPsss(cond, B21 | B20, sd, sn, sm);
 }
 
 
-void Assembler::vaddd(DRegister dd, DRegister dn, DRegister dm,
+void Assembler::vaddd(DRegister dd,
+                      DRegister dn,
+                      DRegister dm,
                       Condition cond) {
   EmitVFPddd(cond, B21 | B20, dd, dn, dm);
 }
 
 
-void Assembler::vsubs(SRegister sd, SRegister sn, SRegister sm,
+void Assembler::vsubs(SRegister sd,
+                      SRegister sn,
+                      SRegister sm,
                       Condition cond) {
   EmitVFPsss(cond, B21 | B20 | B6, sd, sn, sm);
 }
 
 
-void Assembler::vsubd(DRegister dd, DRegister dn, DRegister dm,
+void Assembler::vsubd(DRegister dd,
+                      DRegister dn,
+                      DRegister dm,
                       Condition cond) {
   EmitVFPddd(cond, B21 | B20 | B6, dd, dn, dm);
 }
 
 
-void Assembler::vmuls(SRegister sd, SRegister sn, SRegister sm,
+void Assembler::vmuls(SRegister sd,
+                      SRegister sn,
+                      SRegister sm,
                       Condition cond) {
   EmitVFPsss(cond, B21, sd, sn, sm);
 }
 
 
-void Assembler::vmuld(DRegister dd, DRegister dn, DRegister dm,
+void Assembler::vmuld(DRegister dd,
+                      DRegister dn,
+                      DRegister dm,
                       Condition cond) {
   EmitVFPddd(cond, B21, dd, dn, dm);
 }
 
 
-void Assembler::vmlas(SRegister sd, SRegister sn, SRegister sm,
+void Assembler::vmlas(SRegister sd,
+                      SRegister sn,
+                      SRegister sm,
                       Condition cond) {
   EmitVFPsss(cond, 0, sd, sn, sm);
 }
 
 
-void Assembler::vmlad(DRegister dd, DRegister dn, DRegister dm,
+void Assembler::vmlad(DRegister dd,
+                      DRegister dn,
+                      DRegister dm,
                       Condition cond) {
   EmitVFPddd(cond, 0, dd, dn, dm);
 }
 
 
-void Assembler::vmlss(SRegister sd, SRegister sn, SRegister sm,
+void Assembler::vmlss(SRegister sd,
+                      SRegister sn,
+                      SRegister sm,
                       Condition cond) {
   EmitVFPsss(cond, B6, sd, sn, sm);
 }
 
 
-void Assembler::vmlsd(DRegister dd, DRegister dn, DRegister dm,
+void Assembler::vmlsd(DRegister dd,
+                      DRegister dn,
+                      DRegister dm,
                       Condition cond) {
   EmitVFPddd(cond, B6, dd, dn, dm);
 }
 
 
-void Assembler::vdivs(SRegister sd, SRegister sn, SRegister sm,
+void Assembler::vdivs(SRegister sd,
+                      SRegister sn,
+                      SRegister sm,
                       Condition cond) {
   EmitVFPsss(cond, B23, sd, sn, sm);
 }
 
 
-void Assembler::vdivd(DRegister dd, DRegister dn, DRegister dm,
+void Assembler::vdivd(DRegister dd,
+                      DRegister dn,
+                      DRegister dm,
                       Condition cond) {
   EmitVFPddd(cond, B23, dd, dn, dm);
 }
@@ -1043,34 +1085,36 @@
 }
 
 
-void Assembler::EmitVFPsd(Condition cond, int32_t opcode,
-                          SRegister sd, DRegister dm) {
+void Assembler::EmitVFPsd(Condition cond,
+                          int32_t opcode,
+                          SRegister sd,
+                          DRegister dm) {
   ASSERT(TargetCPUFeatures::vfp_supported());
   ASSERT(sd != kNoSRegister);
   ASSERT(dm != kNoDRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B25 | B11 | B9 | opcode |
-                     ((static_cast<int32_t>(sd) & 1)*B22) |
-                     ((static_cast<int32_t>(sd) >> 1)*B12) |
-                     ((static_cast<int32_t>(dm) >> 4)*B5) |
-                     (static_cast<int32_t>(dm) & 0xf);
+  int32_t encoding =
+      (static_cast<int32_t>(cond) << kConditionShift) | B27 | B26 | B25 | B11 |
+      B9 | opcode | ((static_cast<int32_t>(sd) & 1) * B22) |
+      ((static_cast<int32_t>(sd) >> 1) * B12) |
+      ((static_cast<int32_t>(dm) >> 4) * B5) | (static_cast<int32_t>(dm) & 0xf);
   Emit(encoding);
 }
 
 
-void Assembler::EmitVFPds(Condition cond, int32_t opcode,
-                          DRegister dd, SRegister sm) {
+void Assembler::EmitVFPds(Condition cond,
+                          int32_t opcode,
+                          DRegister dd,
+                          SRegister sm) {
   ASSERT(TargetCPUFeatures::vfp_supported());
   ASSERT(dd != kNoDRegister);
   ASSERT(sm != kNoSRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B25 | B11 | B9 | opcode |
-                     ((static_cast<int32_t>(dd) >> 4)*B22) |
-                     ((static_cast<int32_t>(dd) & 0xf)*B12) |
-                     ((static_cast<int32_t>(sm) & 1)*B5) |
-                     (static_cast<int32_t>(sm) >> 1);
+  int32_t encoding =
+      (static_cast<int32_t>(cond) << kConditionShift) | B27 | B26 | B25 | B11 |
+      B9 | opcode | ((static_cast<int32_t>(dd) >> 4) * B22) |
+      ((static_cast<int32_t>(dd) & 0xf) * B12) |
+      ((static_cast<int32_t>(sm) & 1) * B5) | (static_cast<int32_t>(sm) >> 1);
   Emit(encoding);
 }
 
@@ -1148,10 +1192,9 @@
 void Assembler::vmrs(Register rd, Condition cond) {
   ASSERT(TargetCPUFeatures::vfp_supported());
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B27 | B26 | B25 | B23 | B22 | B21 | B20 | B16 |
-                     (static_cast<int32_t>(rd)*B12) |
-                     B11 | B9 | B4;
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B27 |
+                     B26 | B25 | B23 | B22 | B21 | B20 | B16 |
+                     (static_cast<int32_t>(rd) * B12) | B11 | B9 | B4;
   Emit(encoding);
 }
 
@@ -1187,38 +1230,40 @@
 }
 
 
-void Assembler::EmitSIMDqqq(int32_t opcode, OperandSize size,
-                            QRegister qd, QRegister qn, QRegister qm) {
+void Assembler::EmitSIMDqqq(int32_t opcode,
+                            OperandSize size,
+                            QRegister qd,
+                            QRegister qn,
+                            QRegister qm) {
   ASSERT(TargetCPUFeatures::neon_supported());
   int sz = ShiftOfOperandSize(size);
   int32_t encoding =
-      (static_cast<int32_t>(kSpecialCondition) << kConditionShift) |
-      B25 | B6 |
+      (static_cast<int32_t>(kSpecialCondition) << kConditionShift) | B25 | B6 |
       opcode | ((sz & 0x3) * B20) |
-      ((static_cast<int32_t>(qd * 2) >> 4)*B22) |
-      ((static_cast<int32_t>(qn * 2) & 0xf)*B16) |
-      ((static_cast<int32_t>(qd * 2) & 0xf)*B12) |
-      ((static_cast<int32_t>(qn * 2) >> 4)*B7) |
-      ((static_cast<int32_t>(qm * 2) >> 4)*B5) |
+      ((static_cast<int32_t>(qd * 2) >> 4) * B22) |
+      ((static_cast<int32_t>(qn * 2) & 0xf) * B16) |
+      ((static_cast<int32_t>(qd * 2) & 0xf) * B12) |
+      ((static_cast<int32_t>(qn * 2) >> 4) * B7) |
+      ((static_cast<int32_t>(qm * 2) >> 4) * B5) |
       (static_cast<int32_t>(qm * 2) & 0xf);
   Emit(encoding);
 }
 
 
-void Assembler::EmitSIMDddd(int32_t opcode, OperandSize size,
-                            DRegister dd, DRegister dn, DRegister dm) {
+void Assembler::EmitSIMDddd(int32_t opcode,
+                            OperandSize size,
+                            DRegister dd,
+                            DRegister dn,
+                            DRegister dm) {
   ASSERT(TargetCPUFeatures::neon_supported());
   int sz = ShiftOfOperandSize(size);
   int32_t encoding =
-      (static_cast<int32_t>(kSpecialCondition) << kConditionShift) |
-      B25 |
-      opcode | ((sz & 0x3) * B20) |
-      ((static_cast<int32_t>(dd) >> 4)*B22) |
-      ((static_cast<int32_t>(dn) & 0xf)*B16) |
-      ((static_cast<int32_t>(dd) & 0xf)*B12) |
-      ((static_cast<int32_t>(dn) >> 4)*B7) |
-      ((static_cast<int32_t>(dm) >> 4)*B5) |
-      (static_cast<int32_t>(dm) & 0xf);
+      (static_cast<int32_t>(kSpecialCondition) << kConditionShift) | B25 |
+      opcode | ((sz & 0x3) * B20) | ((static_cast<int32_t>(dd) >> 4) * B22) |
+      ((static_cast<int32_t>(dn) & 0xf) * B16) |
+      ((static_cast<int32_t>(dd) & 0xf) * B12) |
+      ((static_cast<int32_t>(dn) >> 4) * B7) |
+      ((static_cast<int32_t>(dm) >> 4) * B5) | (static_cast<int32_t>(dm) & 0xf);
   Emit(encoding);
 }
 
@@ -1229,7 +1274,9 @@
 
 
 void Assembler::vaddqi(OperandSize sz,
-                       QRegister qd, QRegister qn, QRegister qm) {
+                       QRegister qd,
+                       QRegister qn,
+                       QRegister qm) {
   EmitSIMDqqq(B11, sz, qd, qn, qm);
 }
 
@@ -1240,7 +1287,9 @@
 
 
 void Assembler::vsubqi(OperandSize sz,
-                       QRegister qd, QRegister qn, QRegister qm) {
+                       QRegister qd,
+                       QRegister qn,
+                       QRegister qm) {
   EmitSIMDqqq(B24 | B11, sz, qd, qn, qm);
 }
 
@@ -1251,7 +1300,9 @@
 
 
 void Assembler::vmulqi(OperandSize sz,
-                       QRegister qd, QRegister qn, QRegister qm) {
+                       QRegister qd,
+                       QRegister qn,
+                       QRegister qm) {
   EmitSIMDqqq(B11 | B8 | B4, sz, qd, qn, qm);
 }
 
@@ -1262,13 +1313,17 @@
 
 
 void Assembler::vshlqi(OperandSize sz,
-                       QRegister qd, QRegister qm, QRegister qn) {
+                       QRegister qd,
+                       QRegister qm,
+                       QRegister qn) {
   EmitSIMDqqq(B25 | B10, sz, qd, qn, qm);
 }
 
 
 void Assembler::vshlqu(OperandSize sz,
-                       QRegister qd, QRegister qm, QRegister qn) {
+                       QRegister qd,
+                       QRegister qm,
+                       QRegister qn) {
   EmitSIMDqqq(B25 | B24 | B10, sz, qd, qn, qm);
 }
 
@@ -1309,8 +1364,8 @@
 
 
 void Assembler::vabsqs(QRegister qd, QRegister qm) {
-  EmitSIMDqqq(B24 | B23 | B21 | B20 | B19 | B16 | B10 | B9 | B8, kSWord,
-              qd, Q0, qm);
+  EmitSIMDqqq(B24 | B23 | B21 | B20 | B19 | B16 | B10 | B9 | B8, kSWord, qd, Q0,
+              qm);
 }
 
 
@@ -1321,8 +1376,8 @@
 
 
 void Assembler::vrecpeqs(QRegister qd, QRegister qm) {
-  EmitSIMDqqq(B24 | B23 | B21 | B20 | B19 | B17 | B16 | B10 | B8, kSWord,
-              qd, Q0, qm);
+  EmitSIMDqqq(B24 | B23 | B21 | B20 | B19 | B17 | B16 | B10 | B8, kSWord, qd,
+              Q0, qm);
 }
 
 
@@ -1332,8 +1387,8 @@
 
 
 void Assembler::vrsqrteqs(QRegister qd, QRegister qm) {
-  EmitSIMDqqq(B24 | B23 | B21 | B20 | B19 | B17 | B16 | B10 | B8 | B7,
-              kSWord, qd, Q0, qm);
+  EmitSIMDqqq(B24 | B23 | B21 | B20 | B19 | B17 | B16 | B10 | B8 | B7, kSWord,
+              qd, Q0, qm);
 }
 
 
@@ -1365,15 +1420,12 @@
       code = 4 | (idx << 3);
       break;
     }
-    default: {
-      break;
-    }
+    default: { break; }
   }
 
   EmitSIMDddd(B24 | B23 | B11 | B10 | B6, kWordPair,
               static_cast<DRegister>(qd * 2),
-              static_cast<DRegister>(code & 0xf),
-              dm);
+              static_cast<DRegister>(code & 0xf), dm);
 }
 
 
@@ -1389,7 +1441,9 @@
 
 
 void Assembler::vceqqi(OperandSize sz,
-                      QRegister qd, QRegister qn, QRegister qm) {
+                       QRegister qd,
+                       QRegister qn,
+                       QRegister qm) {
   EmitSIMDqqq(B24 | B11 | B4, sz, qd, qn, qm);
 }
 
@@ -1400,13 +1454,17 @@
 
 
 void Assembler::vcgeqi(OperandSize sz,
-                      QRegister qd, QRegister qn, QRegister qm) {
+                       QRegister qd,
+                       QRegister qn,
+                       QRegister qm) {
   EmitSIMDqqq(B9 | B8 | B4, sz, qd, qn, qm);
 }
 
 
 void Assembler::vcugeqi(OperandSize sz,
-                      QRegister qd, QRegister qn, QRegister qm) {
+                        QRegister qd,
+                        QRegister qn,
+                        QRegister qm) {
   EmitSIMDqqq(B24 | B9 | B8 | B4, sz, qd, qn, qm);
 }
 
@@ -1417,13 +1475,17 @@
 
 
 void Assembler::vcgtqi(OperandSize sz,
-                      QRegister qd, QRegister qn, QRegister qm) {
+                       QRegister qd,
+                       QRegister qn,
+                       QRegister qm) {
   EmitSIMDqqq(B9 | B8, sz, qd, qn, qm);
 }
 
 
 void Assembler::vcugtqi(OperandSize sz,
-                      QRegister qd, QRegister qn, QRegister qm) {
+                        QRegister qd,
+                        QRegister qn,
+                        QRegister qm) {
   EmitSIMDqqq(B24 | B9 | B8, sz, qd, qn, qm);
 }
 
@@ -1451,8 +1513,8 @@
 void Assembler::bx(Register rm, Condition cond) {
   ASSERT(rm != kNoRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B24 | B21 | (0xfff << 8) | B4 |
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B24 |
+                     B21 | (0xfff << 8) | B4 |
                      (static_cast<int32_t>(rm) << kRmShift);
   Emit(encoding);
 }
@@ -1461,8 +1523,8 @@
 void Assembler::blx(Register rm, Condition cond) {
   ASSERT(rm != kNoRegister);
   ASSERT(cond != kNoCondition);
-  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) |
-                     B24 | B21 | (0xfff << 8) | B5 | B4 |
+  int32_t encoding = (static_cast<int32_t>(cond) << kConditionShift) | B24 |
+                     B21 | (0xfff << 8) | B5 | B4 |
                      (static_cast<int32_t>(rm) << kRmShift);
   Emit(encoding);
 }
@@ -1530,7 +1592,7 @@
   Bind(&cid_ok);
 
   const intptr_t offset = CodeSize() + Instr::kPCReadOffset +
-      Instructions::HeaderSize() - kHeapObjectTag;
+                          Instructions::HeaderSize() - kHeapObjectTag;
   mov(R0, Operand(PC));
   AddImmediate(R0, R0, -offset);
   ldr(IP, FieldAddress(CODE_REG, Code::saved_instructions_offset()));
@@ -1595,8 +1657,8 @@
     // Make sure that class CallPattern is able to decode this load from the
     // object pool.
     const int32_t offset = ObjectPool::element_offset(
-       is_unique ? object_pool_wrapper_.AddObject(object)
-                 : object_pool_wrapper_.FindObject(object));
+        is_unique ? object_pool_wrapper_.AddObject(object)
+                  : object_pool_wrapper_.FindObject(object));
     LoadWordFromPoolOffset(rd, offset - kHeapObjectTag, pp, cond);
   } else {
     UNREACHABLE();
@@ -1700,9 +1762,11 @@
 
 Register AllocateRegister(RegList* used) {
   const RegList free = ~*used;
-  return (free == 0) ?
-      kNoRegister :
-      UseRegister(static_cast<Register>(Utils::CountTrailingZeros(free)), used);
+  return (free == 0)
+             ? kNoRegister
+             : UseRegister(
+                   static_cast<Register>(Utils::CountTrailingZeros(free)),
+                   used);
 }
 
 
@@ -1741,8 +1805,8 @@
                                       bool can_value_be_smi) {
   int32_t ignored = 0;
   if (Address::CanHoldStoreOffset(kWord, offset - kHeapObjectTag, &ignored)) {
-    StoreIntoObject(
-        object, FieldAddress(object, offset), value, can_value_be_smi);
+    StoreIntoObject(object, FieldAddress(object, offset), value,
+                    can_value_be_smi);
   } else {
     AddImmediate(IP, object, offset - kHeapObjectTag);
     StoreIntoObject(object, Address(IP), value, can_value_be_smi);
@@ -1845,7 +1909,7 @@
   intptr_t current_offset = begin_offset;
   while (current_offset + kWordSize < end_offset) {
     strd(value_even, value_odd, base, current_offset);
-    current_offset += 2*kWordSize;
+    current_offset += 2 * kWordSize;
   }
   while (current_offset < end_offset) {
     str(value_even, Address(base, current_offset));
@@ -1877,8 +1941,8 @@
 void Assembler::LoadClassId(Register result, Register object, Condition cond) {
   ASSERT(RawObject::kClassIdTagPos == 16);
   ASSERT(RawObject::kClassIdTagSize == 16);
-  const intptr_t class_id_offset = Object::tags_offset() +
-      RawObject::kClassIdTagPos / kBitsPerByte;
+  const intptr_t class_id_offset =
+      Object::tags_offset() + RawObject::kClassIdTagPos / kBitsPerByte;
   ldrh(result, FieldAddress(object, class_id_offset), cond);
 }
 
@@ -1933,8 +1997,7 @@
 
   if (!CanEncodeBranchOffset(offset)) {
     ASSERT(!use_far_branches());
-    Thread::Current()->long_jump_base()->Jump(
-        1, Object::branch_offset_error());
+    Thread::Current()->long_jump_base()->Jump(1, Object::branch_offset_error());
   }
 
   // Properly preserve only the bits supported in the instruction.
@@ -1960,8 +2023,10 @@
 }
 
 
-static int32_t DecodeARMv6LoadImmediate(int32_t mov, int32_t or1,
-                                        int32_t or2, int32_t or3) {
+static int32_t DecodeARMv6LoadImmediate(int32_t mov,
+                                        int32_t or1,
+                                        int32_t or2,
+                                        int32_t or3) {
   int32_t offset = 0;
   offset |= (mov & 0xff) << 24;
   offset |= (or1 & 0xff) << 16;
@@ -1988,10 +2053,10 @@
  private:
   void ProcessARMv6(const MemoryRegion& region, intptr_t position) {
     const int32_t mov = region.Load<int32_t>(position);
-    const int32_t or1 = region.Load<int32_t>(position + 1*Instr::kInstrSize);
-    const int32_t or2 = region.Load<int32_t>(position + 2*Instr::kInstrSize);
-    const int32_t or3 = region.Load<int32_t>(position + 3*Instr::kInstrSize);
-    const int32_t bx = region.Load<int32_t>(position + 4*Instr::kInstrSize);
+    const int32_t or1 = region.Load<int32_t>(position + 1 * Instr::kInstrSize);
+    const int32_t or2 = region.Load<int32_t>(position + 2 * Instr::kInstrSize);
+    const int32_t or3 = region.Load<int32_t>(position + 3 * Instr::kInstrSize);
+    const int32_t bx = region.Load<int32_t>(position + 4 * Instr::kInstrSize);
 
     if (((mov & 0xffffff00) == 0xe3a0c400) &&  // mov IP, (byte3 rot 4)
         ((or1 & 0xffffff00) == 0xe38cc800) &&  // orr IP, IP, (byte2 rot 8)
@@ -2018,10 +2083,8 @@
     // If the offset loading instructions aren't there, we must have replaced
     // the far branch with a near one, and so these instructions
     // should be NOPs.
-    ASSERT((or1 == Instr::kNopInstruction) &&
-           (or2 == Instr::kNopInstruction) &&
-           (or3 == Instr::kNopInstruction) &&
-           (bx == Instr::kNopInstruction));
+    ASSERT((or1 == Instr::kNopInstruction) && (or2 == Instr::kNopInstruction) &&
+           (or3 == Instr::kNopInstruction) && (bx == Instr::kNopInstruction));
   }
 
 
@@ -2031,7 +2094,7 @@
     const int32_t bx = region.Load<int32_t>(position + 2 * Instr::kInstrSize);
 
     if (((movt & 0xfff0f000) == 0xe340c000) &&  // movt IP, high
-        ((movw & 0xfff0f000) == 0xe300c000)) {   // movw IP, low
+        ((movw & 0xfff0f000) == 0xe300c000)) {  // movw IP, low
       const int32_t offset = DecodeARMv7LoadImmediate(movt, movw);
       const int32_t dest = region.start() + offset;
       const uint16_t dest_high = Utils::High16Bits(dest);
@@ -2049,8 +2112,7 @@
     // If the offset loading instructions aren't there, we must have replaced
     // the far branch with a near one, and so these instructions
     // should be NOPs.
-    ASSERT((movt == Instr::kNopInstruction) &&
-           (bx == Instr::kNopInstruction));
+    ASSERT((movt == Instr::kNopInstruction) && (bx == Instr::kNopInstruction));
   }
 
   virtual bool IsPointerOffset() const { return false; }
@@ -2100,8 +2162,7 @@
       // Far branches are enabled and we can't encode the branch offset.
 
       // Grab instructions that load the offset.
-      const int32_t mov =
-          buffer_.Load<int32_t>(position);
+      const int32_t mov = buffer_.Load<int32_t>(position);
       const int32_t or1 =
           buffer_.Load<int32_t>(position + 1 * Instr::kInstrSize);
       const int32_t or2 =
@@ -2129,8 +2190,7 @@
       label->position_ = DecodeARMv6LoadImmediate(mov, or1, or2, or3);
     } else if (use_far_branches() && CanEncodeBranchOffset(dest)) {
       // Grab instructions that load the offset, and the branch.
-      const int32_t mov =
-          buffer_.Load<int32_t>(position);
+      const int32_t mov = buffer_.Load<int32_t>(position);
       const int32_t or1 =
           buffer_.Load<int32_t>(position + 1 * Instr::kInstrSize);
       const int32_t or2 =
@@ -2151,13 +2211,13 @@
       // Write the encoded branch instruction followed by two nops.
       buffer_.Store<int32_t>(position, encoded);
       buffer_.Store<int32_t>(position + 1 * Instr::kInstrSize,
-          Instr::kNopInstruction);
+                             Instr::kNopInstruction);
       buffer_.Store<int32_t>(position + 2 * Instr::kInstrSize,
-          Instr::kNopInstruction);
+                             Instr::kNopInstruction);
       buffer_.Store<int32_t>(position + 3 * Instr::kInstrSize,
-          Instr::kNopInstruction);
+                             Instr::kNopInstruction);
       buffer_.Store<int32_t>(position + 4 * Instr::kInstrSize,
-          Instr::kNopInstruction);
+                             Instr::kNopInstruction);
 
       label->position_ = DecodeARMv6LoadImmediate(mov, or1, or2, or3);
     } else {
@@ -2220,12 +2280,11 @@
       const int32_t encoded = EncodeBranchOffset(dest, new_branch);
 
       // Write the encoded branch instruction followed by two nops.
-      buffer_.Store<int32_t>(position + 0 * Instr::kInstrSize,
-          encoded);
+      buffer_.Store<int32_t>(position + 0 * Instr::kInstrSize, encoded);
       buffer_.Store<int32_t>(position + 1 * Instr::kInstrSize,
-          Instr::kNopInstruction);
+                             Instr::kNopInstruction);
       buffer_.Store<int32_t>(position + 2 * Instr::kInstrSize,
-          Instr::kNopInstruction);
+                             Instr::kNopInstruction);
 
       label->position_ = DecodeARMv7LoadImmediate(movt, movw);
     } else {
@@ -2368,8 +2427,9 @@
 }
 
 
-bool Address::CanHoldImmediateOffset(
-    bool is_load, intptr_t cid, int64_t offset) {
+bool Address::CanHoldImmediateOffset(bool is_load,
+                                     intptr_t cid,
+                                     int64_t offset) {
   int32_t offset_mask = 0;
   if (is_load) {
     return CanHoldLoadOffset(OperandSizeFor(cid), offset, &offset_mask);
@@ -2406,7 +2466,9 @@
 }
 
 
-void Assembler::Lsl(Register rd, Register rm, const Operand& shift_imm,
+void Assembler::Lsl(Register rd,
+                    Register rm,
+                    const Operand& shift_imm,
                     Condition cond) {
   ASSERT(shift_imm.type() == 1);
   ASSERT(shift_imm.encoding() != 0);  // Do not use Lsl if no shift is wanted.
@@ -2419,7 +2481,9 @@
 }
 
 
-void Assembler::Lsr(Register rd, Register rm, const Operand& shift_imm,
+void Assembler::Lsr(Register rd,
+                    Register rm,
+                    const Operand& shift_imm,
                     Condition cond) {
   ASSERT(shift_imm.type() == 1);
   uint32_t shift = shift_imm.encoding();
@@ -2436,7 +2500,9 @@
 }
 
 
-void Assembler::Asr(Register rd, Register rm, const Operand& shift_imm,
+void Assembler::Asr(Register rd,
+                    Register rm,
+                    const Operand& shift_imm,
                     Condition cond) {
   ASSERT(shift_imm.type() == 1);
   uint32_t shift = shift_imm.encoding();
@@ -2448,7 +2514,9 @@
 }
 
 
-void Assembler::Asrs(Register rd, Register rm, const Operand& shift_imm,
+void Assembler::Asrs(Register rd,
+                     Register rm,
+                     const Operand& shift_imm,
                      Condition cond) {
   ASSERT(shift_imm.type() == 1);
   uint32_t shift = shift_imm.encoding();
@@ -2465,7 +2533,9 @@
 }
 
 
-void Assembler::Ror(Register rd, Register rm, const Operand& shift_imm,
+void Assembler::Ror(Register rd,
+                    Register rm,
+                    const Operand& shift_imm,
                     Condition cond) {
   ASSERT(shift_imm.type() == 1);
   ASSERT(shift_imm.encoding() != 0);  // Use Rrx instruction.
@@ -2510,9 +2580,9 @@
   vrsqrteqs(qd, qm);
   // 2 Newton-Raphson steps. xn+1 = xn * (3 - Q1*xn^2) / 2.
   // First step.
-  vmulqs(QTMP, qd, qd);  // QTMP <- xn^2
+  vmulqs(QTMP, qd, qd);       // QTMP <- xn^2
   vrsqrtsqs(QTMP, qm, QTMP);  // QTMP <- (3 - Q1*QTMP) / 2.
-  vmulqs(qd, qd, QTMP);  // xn+1 <- xn * QTMP
+  vmulqs(qd, qd, QTMP);       // xn+1 <- xn * QTMP
   // Second step.
   vmulqs(QTMP, qd, qd);
   vrsqrtsqs(QTMP, qm, QTMP);
@@ -2625,8 +2695,9 @@
 }
 
 
-void Assembler::LoadPatchableImmediate(
-    Register rd, int32_t value, Condition cond) {
+void Assembler::LoadPatchableImmediate(Register rd,
+                                       int32_t value,
+                                       Condition cond) {
   const ARMVersion version = TargetCPUFeatures::arm_version();
   if ((version == ARMv5TE) || (version == ARMv6)) {
     // This sequence is patched in a few places, and should remain fixed.
@@ -2648,8 +2719,9 @@
 }
 
 
-void Assembler::LoadDecodableImmediate(
-    Register rd, int32_t value, Condition cond) {
+void Assembler::LoadDecodableImmediate(Register rd,
+                                       int32_t value,
+                                       Condition cond) {
   const ARMVersion version = TargetCPUFeatures::arm_version();
   if ((version == ARMv5TE) || (version == ARMv6)) {
     if (constant_pool_allowed()) {
@@ -2853,78 +2925,93 @@
 }
 
 
-void Assembler::CopyDoubleField(
-    Register dst, Register src, Register tmp1, Register tmp2, DRegister dtmp) {
+void Assembler::CopyDoubleField(Register dst,
+                                Register src,
+                                Register tmp1,
+                                Register tmp2,
+                                DRegister dtmp) {
   if (TargetCPUFeatures::vfp_supported()) {
     LoadDFromOffset(dtmp, src, Double::value_offset() - kHeapObjectTag);
     StoreDToOffset(dtmp, dst, Double::value_offset() - kHeapObjectTag);
   } else {
-    LoadFromOffset(kWord, tmp1, src,
-        Double::value_offset() - kHeapObjectTag);
+    LoadFromOffset(kWord, tmp1, src, Double::value_offset() - kHeapObjectTag);
     LoadFromOffset(kWord, tmp2, src,
-        Double::value_offset() + kWordSize - kHeapObjectTag);
-    StoreToOffset(kWord, tmp1, dst,
-        Double::value_offset() - kHeapObjectTag);
+                   Double::value_offset() + kWordSize - kHeapObjectTag);
+    StoreToOffset(kWord, tmp1, dst, Double::value_offset() - kHeapObjectTag);
     StoreToOffset(kWord, tmp2, dst,
-        Double::value_offset() + kWordSize - kHeapObjectTag);
+                  Double::value_offset() + kWordSize - kHeapObjectTag);
   }
 }
 
 
-void Assembler::CopyFloat32x4Field(
-    Register dst, Register src, Register tmp1, Register tmp2, DRegister dtmp) {
+void Assembler::CopyFloat32x4Field(Register dst,
+                                   Register src,
+                                   Register tmp1,
+                                   Register tmp2,
+                                   DRegister dtmp) {
   if (TargetCPUFeatures::neon_supported()) {
     LoadMultipleDFromOffset(dtmp, 2, src,
-        Float32x4::value_offset() - kHeapObjectTag);
+                            Float32x4::value_offset() - kHeapObjectTag);
     StoreMultipleDToOffset(dtmp, 2, dst,
-        Float32x4::value_offset() - kHeapObjectTag);
+                           Float32x4::value_offset() - kHeapObjectTag);
   } else {
-    LoadFromOffset(kWord, tmp1, src,
+    LoadFromOffset(
+        kWord, tmp1, src,
         (Float32x4::value_offset() + 0 * kWordSize) - kHeapObjectTag);
-    LoadFromOffset(kWord, tmp2, src,
+    LoadFromOffset(
+        kWord, tmp2, src,
         (Float32x4::value_offset() + 1 * kWordSize) - kHeapObjectTag);
     StoreToOffset(kWord, tmp1, dst,
-        (Float32x4::value_offset() + 0 * kWordSize) - kHeapObjectTag);
+                  (Float32x4::value_offset() + 0 * kWordSize) - kHeapObjectTag);
     StoreToOffset(kWord, tmp2, dst,
-        (Float32x4::value_offset() + 1 * kWordSize) - kHeapObjectTag);
+                  (Float32x4::value_offset() + 1 * kWordSize) - kHeapObjectTag);
 
-    LoadFromOffset(kWord, tmp1, src,
+    LoadFromOffset(
+        kWord, tmp1, src,
         (Float32x4::value_offset() + 2 * kWordSize) - kHeapObjectTag);
-    LoadFromOffset(kWord, tmp2, src,
+    LoadFromOffset(
+        kWord, tmp2, src,
         (Float32x4::value_offset() + 3 * kWordSize) - kHeapObjectTag);
     StoreToOffset(kWord, tmp1, dst,
-        (Float32x4::value_offset() + 2 * kWordSize) - kHeapObjectTag);
+                  (Float32x4::value_offset() + 2 * kWordSize) - kHeapObjectTag);
     StoreToOffset(kWord, tmp2, dst,
-        (Float32x4::value_offset() + 3 * kWordSize) - kHeapObjectTag);
+                  (Float32x4::value_offset() + 3 * kWordSize) - kHeapObjectTag);
   }
 }
 
 
-void Assembler::CopyFloat64x2Field(
-    Register dst, Register src, Register tmp1, Register tmp2, DRegister dtmp) {
+void Assembler::CopyFloat64x2Field(Register dst,
+                                   Register src,
+                                   Register tmp1,
+                                   Register tmp2,
+                                   DRegister dtmp) {
   if (TargetCPUFeatures::neon_supported()) {
     LoadMultipleDFromOffset(dtmp, 2, src,
-        Float64x2::value_offset() - kHeapObjectTag);
+                            Float64x2::value_offset() - kHeapObjectTag);
     StoreMultipleDToOffset(dtmp, 2, dst,
-        Float64x2::value_offset() - kHeapObjectTag);
+                           Float64x2::value_offset() - kHeapObjectTag);
   } else {
-    LoadFromOffset(kWord, tmp1, src,
+    LoadFromOffset(
+        kWord, tmp1, src,
         (Float64x2::value_offset() + 0 * kWordSize) - kHeapObjectTag);
-    LoadFromOffset(kWord, tmp2, src,
+    LoadFromOffset(
+        kWord, tmp2, src,
         (Float64x2::value_offset() + 1 * kWordSize) - kHeapObjectTag);
     StoreToOffset(kWord, tmp1, dst,
-        (Float64x2::value_offset() + 0 * kWordSize) - kHeapObjectTag);
+                  (Float64x2::value_offset() + 0 * kWordSize) - kHeapObjectTag);
     StoreToOffset(kWord, tmp2, dst,
-        (Float64x2::value_offset() + 1 * kWordSize) - kHeapObjectTag);
+                  (Float64x2::value_offset() + 1 * kWordSize) - kHeapObjectTag);
 
-    LoadFromOffset(kWord, tmp1, src,
+    LoadFromOffset(
+        kWord, tmp1, src,
         (Float64x2::value_offset() + 2 * kWordSize) - kHeapObjectTag);
-    LoadFromOffset(kWord, tmp2, src,
+    LoadFromOffset(
+        kWord, tmp2, src,
         (Float64x2::value_offset() + 3 * kWordSize) - kHeapObjectTag);
     StoreToOffset(kWord, tmp1, dst,
-        (Float64x2::value_offset() + 2 * kWordSize) - kHeapObjectTag);
+                  (Float64x2::value_offset() + 2 * kWordSize) - kHeapObjectTag);
     StoreToOffset(kWord, tmp2, dst,
-        (Float64x2::value_offset() + 3 * kWordSize) - kHeapObjectTag);
+                  (Float64x2::value_offset() + 3 * kWordSize) - kHeapObjectTag);
   }
 }
 
@@ -2934,7 +3021,9 @@
 }
 
 
-void Assembler::AddImmediate(Register rd, Register rn, int32_t value,
+void Assembler::AddImmediate(Register rd,
+                             Register rn,
+                             int32_t value,
                              Condition cond) {
   if (value == 0) {
     if (rd != rn) {
@@ -2966,7 +3055,9 @@
 }
 
 
-void Assembler::AddImmediateSetFlags(Register rd, Register rn, int32_t value,
+void Assembler::AddImmediateSetFlags(Register rd,
+                                     Register rn,
+                                     int32_t value,
                                      Condition cond) {
   Operand o;
   if (Operand::CanHold(value, &o)) {
@@ -2992,8 +3083,10 @@
 }
 
 
-void Assembler::SubImmediateSetFlags(Register rd, Register rn, int32_t value,
-                                    Condition cond) {
+void Assembler::SubImmediateSetFlags(Register rd,
+                                     Register rn,
+                                     int32_t value,
+                                     Condition cond) {
   Operand o;
   if (Operand::CanHold(value, &o)) {
     // Handles value == kMinInt32.
@@ -3018,7 +3111,9 @@
 }
 
 
-void Assembler::AndImmediate(Register rd, Register rs, int32_t imm,
+void Assembler::AndImmediate(Register rd,
+                             Register rs,
+                             int32_t imm,
                              Condition cond) {
   Operand o;
   if (Operand::CanHold(imm, &o)) {
@@ -3052,8 +3147,11 @@
   }
 }
 
-void Assembler::IntegerDivide(Register result, Register left, Register right,
-                              DRegister tmpl, DRegister tmpr) {
+void Assembler::IntegerDivide(Register result,
+                              Register left,
+                              Register right,
+                              DRegister tmpl,
+                              DRegister tmpr) {
   ASSERT(tmpl != tmpr);
   if (TargetCPUFeatures::integer_division_supported()) {
     sdiv(result, left, right);
@@ -3151,8 +3249,9 @@
   // and ensure proper alignment of the stack frame.
   // We need to restore it before restoring registers.
   const intptr_t kPushedFpuRegisterSize =
-      TargetCPUFeatures::vfp_supported() ?
-      kDartVolatileFpuRegCount * kFpuRegisterSize : 0;
+      TargetCPUFeatures::vfp_supported()
+          ? kDartVolatileFpuRegCount * kFpuRegisterSize
+          : 0;
 
   COMPILE_ASSERT(PP < FP);
   COMPILE_ASSERT((kDartVolatileCpuRegs & (1 << PP)) == 0);
@@ -3282,8 +3381,7 @@
 }
 
 
-void Assembler::LoadAllocationStatsAddress(Register dest,
-                                           intptr_t cid) {
+void Assembler::LoadAllocationStatsAddress(Register dest, intptr_t cid) {
   ASSERT(dest != kNoRegister);
   ASSERT(dest != TMP);
   ASSERT(cid > 0);
@@ -3302,9 +3400,10 @@
   ASSERT(stats_addr_reg != kNoRegister);
   ASSERT(stats_addr_reg != TMP);
   ASSERT(cid > 0);
-  const uword count_field_offset = (space == Heap::kNew) ?
-    ClassHeapStats::allocated_since_gc_new_space_offset() :
-    ClassHeapStats::allocated_since_gc_old_space_offset();
+  const uword count_field_offset =
+      (space == Heap::kNew)
+          ? ClassHeapStats::allocated_since_gc_new_space_offset()
+          : ClassHeapStats::allocated_since_gc_old_space_offset();
   const Address& count_address = Address(stats_addr_reg, count_field_offset);
   ldr(TMP, count_address);
   AddImmediate(TMP, 1);
@@ -3317,12 +3416,14 @@
                                                  Heap::Space space) {
   ASSERT(stats_addr_reg != kNoRegister);
   ASSERT(stats_addr_reg != TMP);
-  const uword count_field_offset = (space == Heap::kNew) ?
-    ClassHeapStats::allocated_since_gc_new_space_offset() :
-    ClassHeapStats::allocated_since_gc_old_space_offset();
-  const uword size_field_offset = (space == Heap::kNew) ?
-    ClassHeapStats::allocated_size_since_gc_new_space_offset() :
-    ClassHeapStats::allocated_size_since_gc_old_space_offset();
+  const uword count_field_offset =
+      (space == Heap::kNew)
+          ? ClassHeapStats::allocated_since_gc_new_space_offset()
+          : ClassHeapStats::allocated_since_gc_old_space_offset();
+  const uword size_field_offset =
+      (space == Heap::kNew)
+          ? ClassHeapStats::allocated_size_since_gc_new_space_offset()
+          : ClassHeapStats::allocated_size_since_gc_old_space_offset();
   const Address& count_address = Address(stats_addr_reg, count_field_offset);
   const Address& size_address = Address(stats_addr_reg, size_field_offset);
   ldr(TMP, count_address);
@@ -3348,8 +3449,7 @@
     // If this allocation is traced, program will jump to failure path
     // (i.e. the allocation stub) which will allocate the object and trace the
     // allocation call site.
-    NOT_IN_PRODUCT(
-      MaybeTraceAllocation(cls.id(), temp_reg, failure));
+    NOT_IN_PRODUCT(MaybeTraceAllocation(cls.id(), temp_reg, failure));
     Heap::Space space = Heap::kNew;
     ldr(temp_reg, Address(THR, Thread::heap_offset()));
     ldr(instance_reg, Address(temp_reg, Heap::TopOffset(space)));
@@ -3462,8 +3562,8 @@
                                              Register temp) {
   const int64_t offset_base =
       (is_external ? 0 : (Instance::DataOffsetFor(cid) - kHeapObjectTag));
-  const int64_t offset = offset_base +
-      static_cast<int64_t>(index) * index_scale;
+  const int64_t offset =
+      offset_base + static_cast<int64_t>(index) * index_scale;
   ASSERT(Utils::IsInt(32, offset));
 
   if (Address::CanHoldImmediateOffset(is_load, cid, offset)) {
@@ -3485,8 +3585,8 @@
                                               intptr_t index) {
   const int64_t offset_base =
       (is_external ? 0 : (Instance::DataOffsetFor(cid) - kHeapObjectTag));
-  const int64_t offset = offset_base +
-      static_cast<int64_t>(index) * index_scale;
+  const int64_t offset =
+      offset_base + static_cast<int64_t>(index) * index_scale;
   ASSERT(Utils::IsInt(32, offset));
   AddImmediate(address, array, offset);
 }
@@ -3506,8 +3606,8 @@
   ASSERT(array != IP);
   ASSERT(index != IP);
   const Register base = is_load ? IP : index;
-  if ((offset != 0) ||
-      (size == kSWord) || (size == kDWord) || (size == kRegList)) {
+  if ((offset != 0) || (size == kSWord) || (size == kDWord) ||
+      (size == kRegList)) {
     if (shift < 0) {
       ASSERT(shift == -1);
       add(base, array, Operand(index, ASR, 1));
@@ -3523,12 +3623,8 @@
     }
   }
   int32_t offset_mask = 0;
-  if ((is_load && !Address::CanHoldLoadOffset(size,
-                                              offset,
-                                              &offset_mask)) ||
-      (!is_load && !Address::CanHoldStoreOffset(size,
-                                                offset,
-                                                &offset_mask))) {
+  if ((is_load && !Address::CanHoldLoadOffset(size, offset, &offset_mask)) ||
+      (!is_load && !Address::CanHoldStoreOffset(size, offset, &offset_mask))) {
     AddImmediate(base, offset & ~offset_mask);
     offset = offset & offset_mask;
   }
@@ -3612,8 +3708,8 @@
 
 
 static const char* cpu_reg_names[kNumberOfCpuRegisters] = {
-  "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
-  "r8", "ctx", "pp", "fp", "ip", "sp", "lr", "pc",
+    "r0", "r1",  "r2", "r3", "r4", "r5", "r6", "r7",
+    "r8", "ctx", "pp", "fp", "ip", "sp", "lr", "pc",
 };
 
 
@@ -3624,9 +3720,9 @@
 
 
 static const char* fpu_reg_names[kNumberOfFpuRegisters] = {
-  "q0", "q1", "q2", "q3", "q4", "q5", "q6", "q7",
+    "q0", "q1", "q2",  "q3",  "q4",  "q5",  "q6",  "q7",
 #if defined(VFPv3_D32)
-  "q8", "q9", "q10", "q11", "q12", "q13", "q14", "q15",
+    "q8", "q9", "q10", "q11", "q12", "q13", "q14", "q15",
 #endif
 };
 
diff --git a/runtime/vm/assembler_arm.h b/runtime/vm/assembler_arm.h
index 735a5f7..049d769 100644
--- a/runtime/vm/assembler_arm.h
+++ b/runtime/vm/assembler_arm.h
@@ -26,17 +26,17 @@
 
 // Instruction encoding bits.
 enum {
-  H   = 1 << 5,   // halfword (or byte)
-  L   = 1 << 20,  // load (or store)
-  S   = 1 << 20,  // set condition code (or leave unchanged)
-  W   = 1 << 21,  // writeback base register (or leave unchanged)
-  A   = 1 << 21,  // accumulate in multiply instruction (or not)
-  B   = 1 << 22,  // unsigned byte (or word)
-  D   = 1 << 22,  // high/lo bit of start of s/d register range
-  N   = 1 << 22,  // long (or short)
-  U   = 1 << 23,  // positive (or negative) offset/index
-  P   = 1 << 24,  // offset/pre-indexed addressing (or post-indexed addressing)
-  I   = 1 << 25,  // immediate shifter operand (or not)
+  H = 1 << 5,   // halfword (or byte)
+  L = 1 << 20,  // load (or store)
+  S = 1 << 20,  // set condition code (or leave unchanged)
+  W = 1 << 21,  // writeback base register (or leave unchanged)
+  A = 1 << 21,  // accumulate in multiply instruction (or not)
+  B = 1 << 22,  // unsigned byte (or word)
+  D = 1 << 22,  // high/lo bit of start of s/d register range
+  N = 1 << 22,  // long (or short)
+  U = 1 << 23,  // positive (or negative) offset/index
+  P = 1 << 24,  // offset/pre-indexed addressing (or post-indexed addressing)
+  I = 1 << 25,  // immediate shifter operand (or not)
 
   B0 = 1,
   B1 = 1 << 1,
@@ -68,7 +68,7 @@
 
 class Label : public ValueObject {
  public:
-  Label() : position_(0) { }
+  Label() : position_(0) {}
 
   ~Label() {
     // Assert if label is being destroyed with unresolved branches pending.
@@ -89,9 +89,7 @@
  private:
   intptr_t position_;
 
-  void Reinitialize() {
-    position_ = 0;
-  }
+  void Reinitialize() { position_ = 0; }
 
   void BindTo(intptr_t position) {
     ASSERT(!IsBound());
@@ -114,11 +112,11 @@
 class Operand : public ValueObject {
  public:
   // Data-processing operands - Uninitialized.
-  Operand() : type_(-1), encoding_(-1) { }
+  Operand() : type_(-1), encoding_(-1) {}
 
   // Data-processing operands - Copy constructor.
   Operand(const Operand& other)
-      : ValueObject(), type_(other.type_), encoding_(other.encoding_) { }
+      : ValueObject(), type_(other.type_), encoding_(other.encoding_) {}
 
   // Data-processing operands - Assignment operator.
   Operand& operator=(const Operand& other) {
@@ -173,7 +171,7 @@
     }
     // Note that immediate must be unsigned for the test to work correctly.
     for (int rot = 0; rot < 16; rot++) {
-      uint32_t imm8 = (immediate << 2*rot) | (immediate >> (32 - 2*rot));
+      uint32_t imm8 = (immediate << 2 * rot) | (immediate >> (32 - 2 * rot));
       if (imm8 < (1 << kImmed8Bits)) {
         o->type_ = 1;
         o->encoding_ = (rot << kRotateShift) | (imm8 << kImmed8Shift);
@@ -221,14 +219,14 @@
 // Load/store multiple addressing mode.
 enum BlockAddressMode {
   // bit encoding P U W
-  DA           = (0|0|0) << 21,  // decrement after
-  IA           = (0|4|0) << 21,  // increment after
-  DB           = (8|0|0) << 21,  // decrement before
-  IB           = (8|4|0) << 21,  // increment before
-  DA_W         = (0|0|1) << 21,  // decrement after with writeback to base
-  IA_W         = (0|4|1) << 21,  // increment after with writeback to base
-  DB_W         = (8|0|1) << 21,  // decrement before with writeback to base
-  IB_W         = (8|4|1) << 21   // increment before with writeback to base
+  DA = (0 | 0 | 0) << 21,    // decrement after
+  IA = (0 | 4 | 0) << 21,    // increment after
+  DB = (8 | 0 | 0) << 21,    // decrement before
+  IB = (8 | 4 | 0) << 21,    // increment before
+  DA_W = (0 | 0 | 1) << 21,  // decrement after with writeback to base
+  IA_W = (0 | 4 | 1) << 21,  // increment after with writeback to base
+  DB_W = (8 | 0 | 1) << 21,  // decrement before with writeback to base
+  IB_W = (8 | 4 | 1) << 21   // increment before with writeback to base
 };
 
 
@@ -242,19 +240,18 @@
 
   // Memory operand addressing mode
   enum Mode {
-    kModeMask    = (8|4|1) << 21,
+    kModeMask = (8 | 4 | 1) << 21,
     // bit encoding P U W
-    Offset       = (8|4|0) << 21,  // offset (w/o writeback to base)
-    PreIndex     = (8|4|1) << 21,  // pre-indexed addressing with writeback
-    PostIndex    = (0|4|0) << 21,  // post-indexed addressing with writeback
-    NegOffset    = (8|0|0) << 21,  // negative offset (w/o writeback to base)
-    NegPreIndex  = (8|0|1) << 21,  // negative pre-indexed with writeback
-    NegPostIndex = (0|0|0) << 21   // negative post-indexed with writeback
+    Offset = (8 | 4 | 0) << 21,       // offset (w/o writeback to base)
+    PreIndex = (8 | 4 | 1) << 21,     // pre-indexed addressing with writeback
+    PostIndex = (0 | 4 | 0) << 21,    // post-indexed addressing with writeback
+    NegOffset = (8 | 0 | 0) << 21,    // negative offset (w/o writeback to base)
+    NegPreIndex = (8 | 0 | 1) << 21,  // negative pre-indexed with writeback
+    NegPostIndex = (0 | 0 | 0) << 21  // negative post-indexed with writeback
   };
 
   Address(const Address& other)
-      : ValueObject(), encoding_(other.encoding_), kind_(other.kind_) {
-  }
+      : ValueObject(), encoding_(other.encoding_), kind_(other.kind_) {}
 
   Address& operator=(const Address& other) {
     encoding_ = other.encoding_;
@@ -281,8 +278,11 @@
   // shifted register case below should be used.
   Address(Register rn, Register r, Mode am);
 
-  Address(Register rn, Register rm,
-          Shift shift = LSL, uint32_t shift_imm = 0, Mode am = Offset) {
+  Address(Register rn,
+          Register rm,
+          Shift shift = LSL,
+          uint32_t shift_imm = 0,
+          Mode am = Offset) {
     Operand o(rm, shift, shift_imm);
 
     if ((shift == LSL) && (shift_imm == 0)) {
@@ -314,9 +314,9 @@
   }
 
   Register rm() const {
-    return ((kind() == IndexRegister) || (kind() == ScaledIndexRegister)) ?
-        Instr::At(reinterpret_cast<uword>(&encoding_))->RmField() :
-        kNoRegister;
+    return ((kind() == IndexRegister) || (kind() == ScaledIndexRegister))
+               ? Instr::At(reinterpret_cast<uword>(&encoding_))->RmField()
+               : kNoRegister;
   }
 
   Mode mode() const { return static_cast<Mode>(encoding() & kModeMask); }
@@ -347,12 +347,12 @@
 class FieldAddress : public Address {
  public:
   FieldAddress(Register base, int32_t disp)
-      : Address(base, disp - kHeapObjectTag) { }
+      : Address(base, disp - kHeapObjectTag) {}
 
   // This addressing mode does not exist.
   FieldAddress(Register base, Register r);
 
-  FieldAddress(const FieldAddress& other) : Address(other) { }
+  FieldAddress(const FieldAddress& other) : Address(other) {}
 
   FieldAddress& operator=(const FieldAddress& other) {
     Address::operator=(other);
@@ -369,10 +369,9 @@
         has_single_entry_point_(true),
         use_far_branches_(use_far_branches),
         comments_(),
-        constant_pool_allowed_(false) {
-  }
+        constant_pool_allowed_(false) {}
 
-  ~Assembler() { }
+  ~Assembler() {}
 
   void PopRegister(Register r) { Pop(r); }
 
@@ -406,9 +405,7 @@
 #if defined(TESTING) || defined(DEBUG)
   // Used in unit tests and to ensure predictable verification code size in
   // FlowGraphCompiler::EmitEdgeCounter.
-  void set_use_far_branches(bool b) {
-    use_far_branches_ = b;
-  }
+  void set_use_far_branches(bool b) { use_far_branches_ = b; }
 #endif  // TESTING || DEBUG
 
   void FinalizeInstructions(const MemoryRegion& region) {
@@ -483,17 +480,35 @@
   // Multiply instructions.
   void mul(Register rd, Register rn, Register rm, Condition cond = AL);
   void muls(Register rd, Register rn, Register rm, Condition cond = AL);
-  void mla(Register rd, Register rn, Register rm, Register ra,
+  void mla(Register rd,
+           Register rn,
+           Register rm,
+           Register ra,
            Condition cond = AL);
-  void mls(Register rd, Register rn, Register rm, Register ra,
+  void mls(Register rd,
+           Register rn,
+           Register rm,
+           Register ra,
            Condition cond = AL);
-  void smull(Register rd_lo, Register rd_hi, Register rn, Register rm,
+  void smull(Register rd_lo,
+             Register rd_hi,
+             Register rn,
+             Register rm,
              Condition cond = AL);
-  void umull(Register rd_lo, Register rd_hi, Register rn, Register rm,
+  void umull(Register rd_lo,
+             Register rd_hi,
+             Register rn,
+             Register rm,
              Condition cond = AL);
-  void smlal(Register rd_lo, Register rd_hi, Register rn, Register rm,
+  void smlal(Register rd_lo,
+             Register rd_hi,
+             Register rn,
+             Register rm,
              Condition cond = AL);
-  void umlal(Register rd_lo, Register rd_hi, Register rn, Register rm,
+  void umlal(Register rd_lo,
+             Register rd_hi,
+             Register rn,
+             Register rm,
              Condition cond = AL);
 
   // Emulation of this instruction uses IP and the condition codes. Therefore,
@@ -522,15 +537,25 @@
   // we don't use them, and we need to split them up into two instructions for
   // ARMv5TE, so we only support the base + offset mode.
   // rd must be an even register and rd2 must be rd + 1.
-  void ldrd(Register rd, Register rd2, Register rn, int32_t offset,
+  void ldrd(Register rd,
+            Register rd2,
+            Register rn,
+            int32_t offset,
             Condition cond = AL);
-  void strd(Register rd, Register rd2, Register rn, int32_t offset,
+  void strd(Register rd,
+            Register rd2,
+            Register rn,
+            int32_t offset,
             Condition cond = AL);
 
-  void ldm(BlockAddressMode am, Register base,
-           RegList regs, Condition cond = AL);
-  void stm(BlockAddressMode am, Register base,
-           RegList regs, Condition cond = AL);
+  void ldm(BlockAddressMode am,
+           Register base,
+           RegList regs,
+           Condition cond = AL);
+  void stm(BlockAddressMode am,
+           Register base,
+           RegList regs,
+           Condition cond = AL);
 
   void ldrex(Register rd, Register rn, Condition cond = AL);
   void strex(Register rd, Register rt, Register rn, Condition cond = AL);
@@ -544,13 +569,11 @@
 
   static int32_t BkptEncoding(uint16_t imm16) {
     // bkpt requires that the cond field is AL.
-    return (AL << kConditionShift) | B24 | B21 |
-           ((imm16 >> 4) << 8) | B6 | B5 | B4 | (imm16 & 0xf);
+    return (AL << kConditionShift) | B24 | B21 | ((imm16 >> 4) << 8) | B6 | B5 |
+           B4 | (imm16 & 0xf);
   }
 
-  static uword GetBreakInstructionFiller() {
-    return BkptEncoding(0);
-  }
+  static uword GetBreakInstructionFiller() { return BkptEncoding(0); }
 
   // Floating point instructions (VFPv3-D16 and VFPv3-D32 profiles).
   void vmovsr(SRegister sn, Register rt, Condition cond = AL);
@@ -573,15 +596,27 @@
   void vldrd(DRegister dd, Address ad, Condition cond = AL);
   void vstrd(DRegister dd, Address ad, Condition cond = AL);
 
-  void vldms(BlockAddressMode am, Register base,
-             SRegister first, SRegister last, Condition cond = AL);
-  void vstms(BlockAddressMode am, Register base,
-             SRegister first, SRegister last, Condition cond = AL);
+  void vldms(BlockAddressMode am,
+             Register base,
+             SRegister first,
+             SRegister last,
+             Condition cond = AL);
+  void vstms(BlockAddressMode am,
+             Register base,
+             SRegister first,
+             SRegister last,
+             Condition cond = AL);
 
-  void vldmd(BlockAddressMode am, Register base,
-             DRegister first, intptr_t count, Condition cond = AL);
-  void vstmd(BlockAddressMode am, Register base,
-             DRegister first, intptr_t count, Condition cond = AL);
+  void vldmd(BlockAddressMode am,
+             Register base,
+             DRegister first,
+             intptr_t count,
+             Condition cond = AL);
+  void vstmd(BlockAddressMode am,
+             Register base,
+             DRegister first,
+             intptr_t count,
+             Condition cond = AL);
 
   void vadds(SRegister sd, SRegister sn, SRegister sm, Condition cond = AL);
   void vaddd(DRegister dd, DRegister dn, DRegister dm, Condition cond = AL);
@@ -694,11 +729,17 @@
 
   // Add signed immediate value to rd. May clobber IP.
   void AddImmediate(Register rd, int32_t value, Condition cond = AL);
-  void AddImmediate(Register rd, Register rn, int32_t value,
+  void AddImmediate(Register rd,
+                    Register rn,
+                    int32_t value,
                     Condition cond = AL);
-  void AddImmediateSetFlags(Register rd, Register rn, int32_t value,
+  void AddImmediateSetFlags(Register rd,
+                            Register rn,
+                            int32_t value,
                             Condition cond = AL);
-  void SubImmediateSetFlags(Register rd, Register rn, int32_t value,
+  void SubImmediateSetFlags(Register rd,
+                            Register rn,
+                            int32_t value,
                             Condition cond = AL);
   void AndImmediate(Register rd, Register rs, int32_t imm, Condition cond = AL);
 
@@ -713,8 +754,11 @@
   // division is supported. If not, uses the FPU for division with
   // temporary registers tmpl and tmpr. tmpl and tmpr must be different
   // registers.
-  void IntegerDivide(Register result, Register left, Register right,
-                     DRegister tmpl, DRegister tmpr);
+  void IntegerDivide(Register result,
+                     Register left,
+                     Register right,
+                     DRegister tmpl,
+                     DRegister tmpr);
 
   // Load and Store.
   // These three do not clobber IP.
@@ -723,8 +767,10 @@
   void LoadImmediate(Register rd, int32_t value, Condition cond = AL);
   // These two may clobber IP.
   void LoadSImmediate(SRegister sd, float value, Condition cond = AL);
-  void LoadDImmediate(DRegister dd, double value,
-                      Register scratch, Condition cond = AL);
+  void LoadDImmediate(DRegister dd,
+                      double value,
+                      Register scratch,
+                      Condition cond = AL);
 
   void MarkExceptionHandler(Label* label);
 
@@ -747,9 +793,9 @@
   void PushObject(const Object& object);
   void CompareObject(Register rn, const Object& object);
 
-  void StoreIntoObject(Register object,  // Object we are storing into.
+  void StoreIntoObject(Register object,      // Object we are storing into.
                        const Address& dest,  // Where we are storing into.
-                       Register value,  // Value we are storing.
+                       Register value,       // Value we are storing.
                        bool can_value_be_smi = true);
   void StoreIntoObjectOffset(Register object,
                              int32_t offset,
@@ -842,12 +888,21 @@
                               Register base,
                               int32_t offset);
 
-  void CopyDoubleField(Register dst, Register src,
-                       Register tmp1, Register tmp2, DRegister dtmp);
-  void CopyFloat32x4Field(Register dst, Register src,
-                          Register tmp1, Register tmp2, DRegister dtmp);
-  void CopyFloat64x2Field(Register dst, Register src,
-                          Register tmp1, Register tmp2, DRegister dtmp);
+  void CopyDoubleField(Register dst,
+                       Register src,
+                       Register tmp1,
+                       Register tmp2,
+                       DRegister dtmp);
+  void CopyFloat32x4Field(Register dst,
+                          Register src,
+                          Register tmp1,
+                          Register tmp2,
+                          DRegister dtmp);
+  void CopyFloat64x2Field(Register dst,
+                          Register src,
+                          Register tmp1,
+                          Register tmp2,
+                          DRegister dtmp);
 
   void Push(Register rd, Condition cond = AL);
   void Pop(Register rd, Condition cond = AL);
@@ -859,18 +914,28 @@
 
   // Convenience shift instructions. Use mov instruction with shifter operand
   // for variants setting the status flags.
-  void Lsl(Register rd, Register rm, const Operand& shift_imm,
+  void Lsl(Register rd,
+           Register rm,
+           const Operand& shift_imm,
            Condition cond = AL);
   void Lsl(Register rd, Register rm, Register rs, Condition cond = AL);
-  void Lsr(Register rd, Register rm, const Operand& shift_imm,
+  void Lsr(Register rd,
+           Register rm,
+           const Operand& shift_imm,
            Condition cond = AL);
   void Lsr(Register rd, Register rm, Register rs, Condition cond = AL);
-  void Asr(Register rd, Register rm, const Operand& shift_imm,
+  void Asr(Register rd,
+           Register rm,
+           const Operand& shift_imm,
            Condition cond = AL);
   void Asr(Register rd, Register rm, Register rs, Condition cond = AL);
-  void Asrs(Register rd, Register rm, const Operand& shift_imm,
+  void Asrs(Register rd,
+            Register rm,
+            const Operand& shift_imm,
             Condition cond = AL);
-  void Ror(Register rd, Register rm, const Operand& shift_imm,
+  void Ror(Register rd,
+           Register rm,
+           const Operand& shift_imm,
            Condition cond = AL);
   void Ror(Register rd, Register rm, Register rs, Condition cond = AL);
   void Rrx(Register rd, Register rm, Condition cond = AL);
@@ -954,8 +1019,7 @@
   // IncrementAllocationStats(WithSize) as stats_addr_reg to update the
   // allocation stats. These are separate assembler macros so we can
   // avoid a dependent load too nearby the load of the table address.
-  void LoadAllocationStatsAddress(Register dest,
-                                  intptr_t cid);
+  void LoadAllocationStatsAddress(Register dest, intptr_t cid);
   void IncrementAllocationStats(Register stats_addr,
                                 intptr_t cid,
                                 Heap::Space space);
@@ -1002,9 +1066,7 @@
 
   // If allocation tracing for |cid| is enabled, will jump to |trace| label,
   // which will allocate in the runtime where tracing occurs.
-  void MaybeTraceAllocation(intptr_t cid,
-                            Register temp_reg,
-                            Label* trace);
+  void MaybeTraceAllocation(intptr_t cid, Register temp_reg, Label* trace);
 
   // Inlined allocation of an instance of class 'cls', code has no runtime
   // calls. Jump to 'failure' if the instance cannot be allocated here.
@@ -1031,12 +1093,8 @@
   static bool IsSafe(const Object& object) { return true; }
   static bool IsSafeSmi(const Object& object) { return object.IsSmi(); }
 
-  bool constant_pool_allowed() const {
-    return constant_pool_allowed_;
-  }
-  void set_constant_pool_allowed(bool b) {
-    constant_pool_allowed_ = b;
-  }
+  bool constant_pool_allowed() const { return constant_pool_allowed_; }
+  void set_constant_pool_allowed(bool b) { constant_pool_allowed_ = b; }
 
  private:
   AssemblerBuffer buffer_;  // Contains position independent code.
@@ -1063,7 +1121,7 @@
   class CodeComment : public ZoneAllocated {
    public:
     CodeComment(intptr_t pc_offset, const String& comment)
-        : pc_offset_(pc_offset), comment_(comment) { }
+        : pc_offset_(pc_offset), comment_(comment) {}
 
     intptr_t pc_offset() const { return pc_offset_; }
     const String& comment() const { return comment_; }
@@ -1095,11 +1153,7 @@
 
   void EmitType5(Condition cond, int32_t offset, bool link);
 
-  void EmitMemOp(Condition cond,
-                 bool load,
-                 bool byte,
-                 Register rd,
-                 Address ad);
+  void EmitMemOp(Condition cond, bool load, bool byte, Register rd, Address ad);
 
   void EmitMemOpAddressMode3(Condition cond,
                              int32_t mode,
@@ -1163,21 +1217,21 @@
                   DRegister dn,
                   DRegister dm);
 
-  void EmitVFPsd(Condition cond,
-                 int32_t opcode,
-                 SRegister sd,
-                 DRegister dm);
+  void EmitVFPsd(Condition cond, int32_t opcode, SRegister sd, DRegister dm);
 
-  void EmitVFPds(Condition cond,
-                 int32_t opcode,
-                 DRegister dd,
-                 SRegister sm);
+  void EmitVFPds(Condition cond, int32_t opcode, DRegister dd, SRegister sm);
 
-  void EmitSIMDqqq(int32_t opcode, OperandSize sz,
-                   QRegister qd, QRegister qn, QRegister qm);
+  void EmitSIMDqqq(int32_t opcode,
+                   OperandSize sz,
+                   QRegister qd,
+                   QRegister qn,
+                   QRegister qm);
 
-  void EmitSIMDddd(int32_t opcode, OperandSize sz,
-                   DRegister dd, DRegister dn, DRegister dm);
+  void EmitSIMDddd(int32_t opcode,
+                   OperandSize sz,
+                   DRegister dd,
+                   DRegister dn,
+                   DRegister dm);
 
   void EmitFarBranch(Condition cond, int32_t offset, bool link);
   void EmitBranch(Condition cond, Label* label, bool link);
diff --git a/runtime/vm/assembler_arm64.cc b/runtime/vm/assembler_arm64.cc
index e7cab40..8f3dc14 100644
--- a/runtime/vm/assembler_arm64.cc
+++ b/runtime/vm/assembler_arm64.cc
@@ -27,8 +27,7 @@
       has_single_entry_point_(true),
       use_far_branches_(use_far_branches),
       comments_(),
-      constant_pool_allowed_(false) {
-}
+      constant_pool_allowed_(false) {}
 
 
 void Assembler::InitializeMemoryWithBreakpoints(uword data, intptr_t length) {
@@ -49,10 +48,9 @@
 
 
 static const char* cpu_reg_names[kNumberOfCpuRegisters] = {
-  "r0",  "r1",  "r2",  "r3",  "r4",  "r5",  "r6",  "r7",
-  "r8",  "r9",  "r10", "r11", "r12", "r13", "r14", "r15",
-  "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
-  "r24", "ip0", "ip1", "pp",  "ctx", "fp",  "lr",  "r31",
+    "r0",  "r1",  "r2",  "r3",  "r4",  "r5",  "r6",  "r7",  "r8",  "r9",  "r10",
+    "r11", "r12", "r13", "r14", "r15", "r16", "r17", "r18", "r19", "r20", "r21",
+    "r22", "r23", "r24", "ip0", "ip1", "pp",  "ctx", "fp",  "lr",  "r31",
 };
 
 
@@ -63,10 +61,9 @@
 
 
 static const char* fpu_reg_names[kNumberOfFpuRegisters] = {
-  "v0",  "v1",  "v2",  "v3",  "v4",  "v5",  "v6",  "v7",
-  "v8",  "v9",  "v10", "v11", "v12", "v13", "v14", "v15",
-  "v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23",
-  "v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31",
+    "v0",  "v1",  "v2",  "v3",  "v4",  "v5",  "v6",  "v7",  "v8",  "v9",  "v10",
+    "v11", "v12", "v13", "v14", "v15", "v16", "v17", "v18", "v19", "v20", "v21",
+    "v22", "v23", "v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31",
 };
 
 
@@ -136,14 +133,14 @@
       int32_t encoded_guard_branch =
           EncodeImm19BranchOffset(dest, guard_branch);
       const Condition c = DecodeImm19BranchCondition(encoded_guard_branch);
-      encoded_guard_branch = EncodeImm19BranchCondition(
-          InvertCondition(c), encoded_guard_branch);
+      encoded_guard_branch =
+          EncodeImm19BranchCondition(InvertCondition(c), encoded_guard_branch);
 
       // Write back the re-encoded instructions. The far branch becomes a nop.
-      buffer_.Store<int32_t>(
-          position + 0 * Instr::kInstrSize, encoded_guard_branch);
-      buffer_.Store<int32_t>(
-          position + 1 * Instr::kInstrSize, Instr::kNopInstruction);
+      buffer_.Store<int32_t>(position + 0 * Instr::kInstrSize,
+                             encoded_guard_branch);
+      buffer_.Store<int32_t>(position + 1 * Instr::kInstrSize,
+                             Instr::kNopInstruction);
       label->position_ = next;
     } else {
       const int32_t next = buffer_.Load<int32_t>(position);
@@ -184,7 +181,7 @@
 
 static int CountOneBits(uint64_t value, int width) {
   // Mask out unused bits to ensure that they are not counted.
-  value &= (0xffffffffffffffffUL >> (64-width));
+  value &= (0xffffffffffffffffUL >> (64 - width));
 
   value = ((value >> 1) & 0x5555555555555555) + (value & 0x5555555555555555);
   value = ((value >> 2) & 0x3333333333333333) + (value & 0x3333333333333333);
@@ -382,8 +379,7 @@
 }
 
 
-void Assembler::LoadNativeEntry(Register dst,
-                                const ExternalLabel* label) {
+void Assembler::LoadNativeEntry(Register dst, const ExternalLabel* label) {
   const int32_t offset = ObjectPool::element_offset(
       object_pool_wrapper_.FindNativeEntry(label, kNotPatchable));
   LoadWordFromPoolOffset(dst, offset);
@@ -741,8 +737,10 @@
 }
 
 
-void Assembler::LoadFromOffset(
-    Register dest, Register base, int32_t offset, OperandSize sz) {
+void Assembler::LoadFromOffset(Register dest,
+                               Register base,
+                               int32_t offset,
+                               OperandSize sz) {
   if (Address::CanHoldOffset(offset, Address::Offset, sz)) {
     ldr(dest, Address(base, offset, Address::Offset, sz), sz);
   } else {
@@ -775,8 +773,10 @@
 }
 
 
-void Assembler::StoreToOffset(
-    Register src, Register base, int32_t offset, OperandSize sz) {
+void Assembler::StoreToOffset(Register src,
+                              Register base,
+                              int32_t offset,
+                              OperandSize sz) {
   ASSERT(base != TMP2);
   if (Address::CanHoldOffset(offset, Address::Offset, sz)) {
     str(src, Address(base, offset, Address::Offset, sz), sz);
@@ -832,9 +832,9 @@
   vrsqrtes(vd, vn);
   // 2 Newton-Raphson steps. xn+1 = xn * (3 - V1*xn^2) / 2.
   // First step.
-  vmuls(VTMP, vd, vd);  // VTMP <- xn^2
+  vmuls(VTMP, vd, vd);       // VTMP <- xn^2
   vrsqrtss(VTMP, vn, VTMP);  // VTMP <- (3 - V1*VTMP) / 2.
-  vmuls(vd, vd, VTMP);  // xn+1 <- xn * VTMP
+  vmuls(vd, vd, VTMP);       // xn+1 <- xn * VTMP
   // Second step.
   vmuls(VTMP, vd, vd);
   vrsqrtss(VTMP, vn, VTMP);
@@ -842,7 +842,6 @@
 }
 
 
-
 // Store into object.
 // Preserves object and value registers.
 void Assembler::StoreIntoObjectFilterNoSmi(Register object,
@@ -880,8 +879,8 @@
                                       Register value,
                                       bool can_value_be_smi) {
   if (Address::CanHoldOffset(offset - kHeapObjectTag)) {
-    StoreIntoObject(
-        object, FieldAddress(object, offset), value, can_value_be_smi);
+    StoreIntoObject(object, FieldAddress(object, offset), value,
+                    can_value_be_smi);
   } else {
     AddImmediate(TMP, object, offset - kHeapObjectTag);
     StoreIntoObject(object, Address(TMP), value, can_value_be_smi);
@@ -976,8 +975,8 @@
 void Assembler::LoadClassId(Register result, Register object) {
   ASSERT(RawObject::kClassIdTagPos == kBitsPerInt32);
   ASSERT(RawObject::kClassIdTagSize == kBitsPerInt32);
-  const intptr_t class_id_offset = Object::tags_offset() +
-      RawObject::kClassIdTagPos / kBitsPerByte;
+  const intptr_t class_id_offset =
+      Object::tags_offset() + RawObject::kClassIdTagPos / kBitsPerByte;
   LoadFromOffset(result, object, class_id_offset - kHeapObjectTag,
                  kUnsignedWord);
 }
@@ -1290,8 +1289,7 @@
 }
 
 
-void Assembler::UpdateAllocationStats(intptr_t cid,
-                                      Heap::Space space) {
+void Assembler::UpdateAllocationStats(intptr_t cid, Heap::Space space) {
   ASSERT(cid > 0);
   intptr_t counter_offset =
       ClassTable::CounterOffsetFor(cid, space == Heap::kNew);
@@ -1311,12 +1309,14 @@
                                               Heap::Space space) {
   ASSERT(cid > 0);
   const uword class_offset = ClassTable::ClassOffsetFor(cid);
-  const uword count_field_offset = (space == Heap::kNew) ?
-    ClassHeapStats::allocated_since_gc_new_space_offset() :
-    ClassHeapStats::allocated_since_gc_old_space_offset();
-  const uword size_field_offset = (space == Heap::kNew) ?
-    ClassHeapStats::allocated_size_since_gc_new_space_offset() :
-    ClassHeapStats::allocated_size_since_gc_old_space_offset();
+  const uword count_field_offset =
+      (space == Heap::kNew)
+          ? ClassHeapStats::allocated_since_gc_new_space_offset()
+          : ClassHeapStats::allocated_since_gc_old_space_offset();
+  const uword size_field_offset =
+      (space == Heap::kNew)
+          ? ClassHeapStats::allocated_size_since_gc_new_space_offset()
+          : ClassHeapStats::allocated_size_since_gc_old_space_offset();
   LoadIsolate(TMP2);
   intptr_t table_offset =
       Isolate::class_table_offset() + ClassTable::TableOffsetFor(cid);
@@ -1360,8 +1360,7 @@
     str(instance_reg, Address(temp_reg, Heap::TopOffset(space)));
 
     ASSERT(instance_size >= kHeapObjectTag);
-    AddImmediate(
-        instance_reg, instance_reg, -instance_size + kHeapObjectTag);
+    AddImmediate(instance_reg, instance_reg, -instance_size + kHeapObjectTag);
     NOT_IN_PRODUCT(UpdateAllocationStats(cls.id(), space));
 
     uword tags = 0;
@@ -1427,7 +1426,8 @@
                                              intptr_t index_scale,
                                              Register array,
                                              intptr_t index) const {
-  const int64_t offset = index * index_scale +
+  const int64_t offset =
+      index * index_scale +
       (is_external ? 0 : (Instance::DataOffsetFor(cid) - kHeapObjectTag));
   ASSERT(Utils::IsInt(32, offset));
   const OperandSize size = Address::OperandSizeFor(cid);
@@ -1442,7 +1442,8 @@
                                               intptr_t index_scale,
                                               Register array,
                                               intptr_t index) {
-  const int64_t offset = index * index_scale +
+  const int64_t offset =
+      index * index_scale +
       (is_external ? 0 : (Instance::DataOffsetFor(cid) - kHeapObjectTag));
   AddImmediate(address, array, offset);
 }
@@ -1500,7 +1501,9 @@
 }
 
 
-void Assembler::LoadUnaligned(Register dst, Register addr, Register tmp,
+void Assembler::LoadUnaligned(Register dst,
+                              Register addr,
+                              Register tmp,
                               OperandSize sz) {
   ASSERT(dst != addr);
   ldr(dst, Address(addr, 0), kUnsignedByte);
@@ -1541,7 +1544,9 @@
 }
 
 
-void Assembler::StoreUnaligned(Register src, Register addr, Register tmp,
+void Assembler::StoreUnaligned(Register src,
+                               Register addr,
+                               Register tmp,
                                OperandSize sz) {
   str(src, Address(addr, 0), kUnsignedByte);
   LsrImmediate(tmp, src, 8);
diff --git a/runtime/vm/assembler_arm64.h b/runtime/vm/assembler_arm64.h
index 4ef4f95..f87f76d 100644
--- a/runtime/vm/assembler_arm64.h
+++ b/runtime/vm/assembler_arm64.h
@@ -25,9 +25,9 @@
 
 class Immediate : public ValueObject {
  public:
-  explicit Immediate(int64_t value) : value_(value) { }
+  explicit Immediate(int64_t value) : value_(value) {}
 
-  Immediate(const Immediate& other) : ValueObject(), value_(other.value_) { }
+  Immediate(const Immediate& other) : ValueObject(), value_(other.value_) {}
   Immediate& operator=(const Immediate& other) {
     value_ = other.value_;
     return *this;
@@ -44,7 +44,7 @@
 
 class Label : public ValueObject {
  public:
-  Label() : position_(0) { }
+  Label() : position_(0) {}
 
   ~Label() {
     // Assert if label is being destroyed with unresolved branches pending.
@@ -65,9 +65,7 @@
  private:
   intptr_t position_;
 
-  void Reinitialize() {
-    position_ = 0;
-  }
+  void Reinitialize() { position_ = 0; }
 
   void BindTo(intptr_t position) {
     ASSERT(!IsBound());
@@ -92,8 +90,7 @@
       : ValueObject(),
         encoding_(other.encoding_),
         type_(other.type_),
-        base_(other.base_) {
-  }
+        base_(other.base_) {}
 
   Address& operator=(const Address& other) {
     encoding_ = other.encoding_;
@@ -118,31 +115,26 @@
   // operand size, and assert that offset is aligned accordingly.
   // For the smaller signed imm9 case, the offset is the number of bytes, but
   // is unscaled.
-  Address(Register rn, int32_t offset = 0, AddressType at = Offset,
+  Address(Register rn,
+          int32_t offset = 0,
+          AddressType at = Offset,
           OperandSize sz = kDoubleWord) {
     ASSERT((rn != kNoRegister) && (rn != R31) && (rn != ZR));
     ASSERT(CanHoldOffset(offset, at, sz));
     const Register crn = ConcreteRegister(rn);
     const int32_t scale = Log2OperandSizeBytes(sz);
-    if ((at == Offset) &&
-         Utils::IsUint(12 + scale, offset) &&
+    if ((at == Offset) && Utils::IsUint(12 + scale, offset) &&
         (offset == ((offset >> scale) << scale))) {
-      encoding_ =
-          B24 |
-          ((offset >> scale) << kImm12Shift) |
-          (static_cast<int32_t>(crn) << kRnShift);
-    } else if ((at == Offset) &&
-               Utils::IsInt(9, offset)) {
-      encoding_ =
-          ((offset & 0x1ff) << kImm9Shift) |
-          (static_cast<int32_t>(crn) << kRnShift);
+      encoding_ = B24 | ((offset >> scale) << kImm12Shift) |
+                  (static_cast<int32_t>(crn) << kRnShift);
+    } else if ((at == Offset) && Utils::IsInt(9, offset)) {
+      encoding_ = ((offset & 0x1ff) << kImm9Shift) |
+                  (static_cast<int32_t>(crn) << kRnShift);
     } else if ((at == PreIndex) || (at == PostIndex)) {
       ASSERT(Utils::IsInt(9, offset));
       int32_t idx = (at == PostIndex) ? B10 : (B11 | B10);
-      encoding_ =
-          idx |
-          ((offset & 0x1ff) << kImm9Shift) |
-          (static_cast<int32_t>(crn) << kRnShift);
+      encoding_ = idx | ((offset & 0x1ff) << kImm9Shift) |
+                  (static_cast<int32_t>(crn) << kRnShift);
     } else {
       ASSERT((at == PairOffset) || (at == PairPreIndex) ||
              (at == PairPostIndex));
@@ -150,25 +142,34 @@
              (offset == ((offset >> scale) << scale)));
       int32_t idx = 0;
       switch (at) {
-        case PairPostIndex: idx = B23; break;
-        case PairPreIndex: idx = B24 | B23; break;
-        case PairOffset: idx = B24; break;
-        default: UNREACHABLE(); break;
+        case PairPostIndex:
+          idx = B23;
+          break;
+        case PairPreIndex:
+          idx = B24 | B23;
+          break;
+        case PairOffset:
+          idx = B24;
+          break;
+        default:
+          UNREACHABLE();
+          break;
       }
-      encoding_ =
-        idx |
-        (((offset >> scale) << kImm7Shift) & kImm7Mask) |
-        (static_cast<int32_t>(crn) << kRnShift);
+      encoding_ = idx | (((offset >> scale) << kImm7Shift) & kImm7Mask) |
+                  (static_cast<int32_t>(crn) << kRnShift);
     }
     type_ = at;
     base_ = crn;
   }
 
   // This addressing mode does not exist.
-  Address(Register rn, Register offset, AddressType at,
+  Address(Register rn,
+          Register offset,
+          AddressType at,
           OperandSize sz = kDoubleWord);
 
-  static bool CanHoldOffset(int32_t offset, AddressType at = Offset,
+  static bool CanHoldOffset(int32_t offset,
+                            AddressType at = Offset,
                             OperandSize sz = kDoubleWord) {
     if (at == Offset) {
       // Offset fits in 12 bit unsigned and has right alignment for sz,
@@ -178,8 +179,7 @@
               (offset == ((offset >> scale) << scale))) ||
              (Utils::IsInt(9, offset));
     } else if (at == PCOffset) {
-      return Utils::IsInt(21, offset) &&
-             (offset == ((offset >> 2) << 2));
+      return Utils::IsInt(21, offset) && (offset == ((offset >> 2) << 2));
     } else if ((at == PreIndex) || (at == PostIndex)) {
       return Utils::IsInt(9, offset);
     } else {
@@ -219,8 +219,10 @@
   // Base register rn with offset rm. rm is sign-extended according to ext.
   // If ext is UXTX, rm may be optionally scaled by the
   // Log2OperandSize (specified by the instruction).
-  Address(Register rn, Register rm,
-          Extend ext = UXTX, Scaling scale = Unscaled) {
+  Address(Register rn,
+          Register rm,
+          Extend ext = UXTX,
+          Scaling scale = Unscaled) {
     ASSERT((rn != R31) && (rn != ZR));
     ASSERT((rm != R31) && (rm != CSP));
     // Can only scale when ext = UXTX.
@@ -229,11 +231,9 @@
     const Register crn = ConcreteRegister(rn);
     const Register crm = ConcreteRegister(rm);
     const int32_t s = (scale == Scaled) ? B12 : 0;
-    encoding_ =
-        B21 | B11 | s |
-        (static_cast<int32_t>(crn) << kRnShift) |
-        (static_cast<int32_t>(crm) << kRmShift) |
-        (static_cast<int32_t>(ext) << kExtendTypeShift);
+    encoding_ = B21 | B11 | s | (static_cast<int32_t>(crn) << kRnShift) |
+                (static_cast<int32_t>(crm) << kRmShift) |
+                (static_cast<int32_t>(ext) << kExtendTypeShift);
     type_ = Reg;
     base_ = crn;
   }
@@ -303,12 +303,12 @@
 class FieldAddress : public Address {
  public:
   FieldAddress(Register base, int32_t disp, OperandSize sz = kDoubleWord)
-      : Address(base, disp - kHeapObjectTag, Offset, sz) { }
+      : Address(base, disp - kHeapObjectTag, Offset, sz) {}
 
   // This addressing mode does not exist.
   FieldAddress(Register base, Register disp, OperandSize sz = kDoubleWord);
 
-  FieldAddress(const FieldAddress& other) : Address(other) { }
+  FieldAddress(const FieldAddress& other) : Address(other) {}
 
   FieldAddress& operator=(const FieldAddress& other) {
     Address::operator=(other);
@@ -328,11 +328,11 @@
   };
 
   // Data-processing operand - Uninitialized.
-  Operand() : encoding_(-1), type_(Unknown) { }
+  Operand() : encoding_(-1), type_(Unknown) {}
 
   // Data-processing operands - Copy constructor.
   Operand(const Operand& other)
-      : ValueObject(), encoding_(other.encoding_), type_(other.type_) { }
+      : ValueObject(), encoding_(other.encoding_), type_(other.type_) {}
 
   Operand& operator=(const Operand& other) {
     type_ = other.type_;
@@ -351,10 +351,8 @@
     ASSERT(Utils::IsUint(6, imm));
     ASSERT((rm != R31) && (rm != CSP));
     const Register crm = ConcreteRegister(rm);
-    encoding_ =
-        (imm << kImm6Shift) |
-        (static_cast<int32_t>(crm) << kRmShift) |
-        (static_cast<int32_t>(shift) << kShiftTypeShift);
+    encoding_ = (imm << kImm6Shift) | (static_cast<int32_t>(crm) << kRmShift) |
+                (static_cast<int32_t>(shift) << kShiftTypeShift);
     type_ = Shifted;
   }
 
@@ -365,11 +363,9 @@
     ASSERT(Utils::IsUint(3, imm));
     ASSERT((rm != R31) && (rm != CSP));
     const Register crm = ConcreteRegister(rm);
-    encoding_ =
-        B21 |
-        (static_cast<int32_t>(crm) << kRmShift) |
-        (static_cast<int32_t>(extend) << kExtendTypeShift) |
-        ((imm & 0x7) << kImm3Shift);
+    encoding_ = B21 | (static_cast<int32_t>(crm) << kRmShift) |
+                (static_cast<int32_t>(extend) << kExtendTypeShift) |
+                ((imm & 0x7) << kImm3Shift);
     type_ = Extended;
   }
 
@@ -395,10 +391,9 @@
     ASSERT((n == 1) || (n == 0));
     ASSERT(Utils::IsUint(6, imm_s) && Utils::IsUint(6, imm_r));
     type_ = BitfieldImm;
-    encoding_ =
-      (static_cast<int32_t>(n) << kNShift) |
-      (static_cast<int32_t>(imm_s) << kImmSShift) |
-      (static_cast<int32_t>(imm_r) << kImmRShift);
+    encoding_ = (static_cast<int32_t>(n) << kNShift) |
+                (static_cast<int32_t>(imm_s) << kImmSShift) |
+                (static_cast<int32_t>(imm_r) << kImmRShift);
   }
 
   // Test if a given value can be encoded in the immediate field of a logical
@@ -434,12 +429,8 @@
   }
 
  private:
-  uint32_t encoding() const {
-    return encoding_;
-  }
-  OperandType type() const {
-    return type_;
-  }
+  uint32_t encoding() const { return encoding_; }
+  OperandType type() const { return type_; }
 
   uint32_t encoding_;
   OperandType type_;
@@ -451,11 +442,9 @@
 class Assembler : public ValueObject {
  public:
   explicit Assembler(bool use_far_branches = false);
-  ~Assembler() { }
+  ~Assembler() {}
 
-  void PopRegister(Register r) {
-    Pop(r);
-  }
+  void PopRegister(Register r) { Pop(r); }
 
   void Drop(intptr_t stack_elements) {
     add(SP, SP, Operand(stack_elements * kWordSize));
@@ -488,9 +477,7 @@
     return FLAG_use_far_branches || use_far_branches_;
   }
 
-  void set_use_far_branches(bool b) {
-    use_far_branches_ = b;
-  }
+  void set_use_far_branches(bool b) { use_far_branches_ = b; }
 
   void FinalizeInstructions(const MemoryRegion& region) {
     buffer_.FinalizeInstructions(region);
@@ -592,9 +579,7 @@
   }
 
   // PC relative immediate add. imm is in bytes.
-  void adr(Register rd, const Immediate& imm) {
-    EmitPCRelOp(ADR, rd, imm);
-  }
+  void adr(Register rd, const Immediate& imm) { EmitPCRelOp(ADR, rd, imm); }
 
   // Logical immediate operations.
   void andi(Register rd, Register rn, const Immediate& imm) {
@@ -800,13 +785,9 @@
   // rn cmp o.
   // For add and sub, to use CSP for rn, o must be of type Operand::Extend.
   // For an unmodified rm in this case, use Operand(rm, UXTX, 0);
-  void cmp(Register rn, Operand o) {
-    subs(ZR, rn, o);
-  }
+  void cmp(Register rn, Operand o) { subs(ZR, rn, o); }
   // rn cmp -o.
-  void cmn(Register rn, Operand o) {
-    adds(ZR, rn, o);
-  }
+  void cmn(Register rn, Operand o) { adds(ZR, rn, o); }
 
   void CompareRegisters(Register rn, Register rm) {
     if (rn == CSP) {
@@ -823,12 +804,8 @@
     EmitConditionalBranch(BCOND, cond, label);
   }
 
-  void b(int32_t offset) {
-    EmitUnconditionalBranchOp(B, offset);
-  }
-  void bl(int32_t offset) {
-    EmitUnconditionalBranchOp(BL, offset);
-  }
+  void b(int32_t offset) { EmitUnconditionalBranchOp(B, offset); }
+  void bl(int32_t offset) { EmitUnconditionalBranchOp(BL, offset); }
 
   void cbz(Label* label, Register rt, OperandSize sz = kDoubleWord) {
     EmitCompareAndBranch(CBZ, rt, label, sz);
@@ -839,20 +816,12 @@
   }
 
   // Branch, link, return.
-  void br(Register rn) {
-    EmitUnconditionalBranchRegOp(BR, rn);
-  }
-  void blr(Register rn) {
-    EmitUnconditionalBranchRegOp(BLR, rn);
-  }
-  void ret(Register rn = R30) {
-    EmitUnconditionalBranchRegOp(RET, rn);
-  }
+  void br(Register rn) { EmitUnconditionalBranchRegOp(BR, rn); }
+  void blr(Register rn) { EmitUnconditionalBranchRegOp(BLR, rn); }
+  void ret(Register rn = R30) { EmitUnconditionalBranchRegOp(RET, rn); }
 
   // Breakpoint.
-  void brk(uint16_t imm) {
-    EmitExceptionGenOp(BRK, imm);
-  }
+  void brk(uint16_t imm) { EmitExceptionGenOp(BRK, imm); }
 
   static uword GetBreakInstructionFiller() {
     const intptr_t encoding = ExceptionGenOpEncoding(BRK, 0);
@@ -904,24 +873,12 @@
     const Register crd = ConcreteRegister(rd);
     EmitFPIntCvtOp(FCVTZDS, crd, static_cast<Register>(vn));
   }
-  void fmovdd(VRegister vd, VRegister vn) {
-    EmitFPOneSourceOp(FMOVDD, vd, vn);
-  }
-  void fabsd(VRegister vd, VRegister vn) {
-    EmitFPOneSourceOp(FABSD, vd, vn);
-  }
-  void fnegd(VRegister vd, VRegister vn) {
-    EmitFPOneSourceOp(FNEGD, vd, vn);
-  }
-  void fsqrtd(VRegister vd, VRegister vn) {
-    EmitFPOneSourceOp(FSQRTD, vd, vn);
-  }
-  void fcvtsd(VRegister vd, VRegister vn) {
-    EmitFPOneSourceOp(FCVTSD, vd, vn);
-  }
-  void fcvtds(VRegister vd, VRegister vn) {
-    EmitFPOneSourceOp(FCVTDS, vd, vn);
-  }
+  void fmovdd(VRegister vd, VRegister vn) { EmitFPOneSourceOp(FMOVDD, vd, vn); }
+  void fabsd(VRegister vd, VRegister vn) { EmitFPOneSourceOp(FABSD, vd, vn); }
+  void fnegd(VRegister vd, VRegister vn) { EmitFPOneSourceOp(FNEGD, vd, vn); }
+  void fsqrtd(VRegister vd, VRegister vn) { EmitFPOneSourceOp(FSQRTD, vd, vn); }
+  void fcvtsd(VRegister vd, VRegister vn) { EmitFPOneSourceOp(FCVTSD, vd, vn); }
+  void fcvtds(VRegister vd, VRegister vn) { EmitFPOneSourceOp(FCVTDS, vd, vn); }
   void fldrq(VRegister vt, Address a) {
     ASSERT(a.type() != Address::PCOffset);
     EmitLoadStoreReg(FLDRQ, static_cast<Register>(vt), a, kByte);
@@ -946,12 +903,8 @@
     ASSERT(a.type() != Address::PCOffset);
     EmitLoadStoreReg(FSTR, static_cast<Register>(vt), a, kSWord);
   }
-  void fcmpd(VRegister vn, VRegister vm) {
-    EmitFPCompareOp(FCMPD, vn, vm);
-  }
-  void fcmpdz(VRegister vn) {
-    EmitFPCompareOp(FCMPZD, vn, V0);
-  }
+  void fcmpd(VRegister vn, VRegister vm) { EmitFPCompareOp(FCMPD, vn, vm); }
+  void fcmpdz(VRegister vn) { EmitFPCompareOp(FCMPZD, vn, V0); }
   void fmuld(VRegister vd, VRegister vn, VRegister vm) {
     EmitFPTwoSourceOp(FMULD, vd, vn, vm);
   }
@@ -1047,27 +1000,13 @@
   void vrsqrtss(VRegister vd, VRegister vn, VRegister vm) {
     EmitSIMDThreeSameOp(VRSQRTSS, vd, vn, vm);
   }
-  void vnot(VRegister vd, VRegister vn) {
-    EmitSIMDTwoRegOp(VNOT, vd, vn);
-  }
-  void vabss(VRegister vd, VRegister vn) {
-    EmitSIMDTwoRegOp(VABSS, vd, vn);
-  }
-  void vabsd(VRegister vd, VRegister vn) {
-    EmitSIMDTwoRegOp(VABSD, vd, vn);
-  }
-  void vnegs(VRegister vd, VRegister vn) {
-    EmitSIMDTwoRegOp(VNEGS, vd, vn);
-  }
-  void vnegd(VRegister vd, VRegister vn) {
-    EmitSIMDTwoRegOp(VNEGD, vd, vn);
-  }
-  void vsqrts(VRegister vd, VRegister vn) {
-    EmitSIMDTwoRegOp(VSQRTS, vd, vn);
-  }
-  void vsqrtd(VRegister vd, VRegister vn) {
-    EmitSIMDTwoRegOp(VSQRTD, vd, vn);
-  }
+  void vnot(VRegister vd, VRegister vn) { EmitSIMDTwoRegOp(VNOT, vd, vn); }
+  void vabss(VRegister vd, VRegister vn) { EmitSIMDTwoRegOp(VABSS, vd, vn); }
+  void vabsd(VRegister vd, VRegister vn) { EmitSIMDTwoRegOp(VABSD, vd, vn); }
+  void vnegs(VRegister vd, VRegister vn) { EmitSIMDTwoRegOp(VNEGS, vd, vn); }
+  void vnegd(VRegister vd, VRegister vn) { EmitSIMDTwoRegOp(VNEGD, vd, vn); }
+  void vsqrts(VRegister vd, VRegister vn) { EmitSIMDTwoRegOp(VSQRTS, vd, vn); }
+  void vsqrtd(VRegister vd, VRegister vn) { EmitSIMDTwoRegOp(VSQRTD, vd, vn); }
   void vrecpes(VRegister vd, VRegister vn) {
     EmitSIMDTwoRegOp(VRECPES, vd, vn);
   }
@@ -1119,21 +1058,11 @@
       orr(rd, ZR, Operand(rn));
     }
   }
-  void vmov(VRegister vd, VRegister vn) {
-    vorr(vd, vn, vn);
-  }
-  void mvn(Register rd, Register rm) {
-    orn(rd, ZR, Operand(rm));
-  }
-  void neg(Register rd, Register rm) {
-    sub(rd, ZR, Operand(rm));
-  }
-  void negs(Register rd, Register rm) {
-    subs(rd, ZR, Operand(rm));
-  }
-  void mul(Register rd, Register rn, Register rm) {
-    madd(rd, rn, rm, ZR);
-  }
+  void vmov(VRegister vd, VRegister vn) { vorr(vd, vn, vn); }
+  void mvn(Register rd, Register rm) { orn(rd, ZR, Operand(rm)); }
+  void neg(Register rd, Register rm) { sub(rd, ZR, Operand(rm)); }
+  void negs(Register rd, Register rm) { subs(rd, ZR, Operand(rm)); }
+  void mul(Register rd, Register rn, Register rm) { madd(rd, rn, rm, ZR); }
   void Push(Register reg) {
     ASSERT(reg != PP);  // Only push PP with TagAndPushPP().
     str(reg, Address(SP, -1 * kWordSize, Address::PreIndex));
@@ -1177,8 +1106,7 @@
     COMPILE_ASSERT(CODE_REG != TMP2);
     // Add the heap object tag back to PP before putting it on the stack.
     add(TMP2, PP, Operand(kHeapObjectTag));
-    stp(TMP2, CODE_REG,
-        Address(SP, -2 * kWordSize, Address::PairPreIndex));
+    stp(TMP2, CODE_REG, Address(SP, -2 * kWordSize, Address::PairPreIndex));
   }
   void PopAndUntagPP() {
     ldr(PP, Address(SP, 1 * kWordSize, Address::PostIndex));
@@ -1186,12 +1114,8 @@
     // The caller of PopAndUntagPP() must explicitly allow use of popped PP.
     set_constant_pool_allowed(false);
   }
-  void tst(Register rn, Operand o) {
-    ands(ZR, rn, o);
-  }
-  void tsti(Register rn, const Immediate& imm) {
-    andis(ZR, rn, imm);
-  }
+  void tst(Register rn, Operand o) { ands(ZR, rn, o); }
+  void tsti(Register rn, const Immediate& imm) { andis(ZR, rn, imm); }
 
   void LslImmediate(Register rd, Register rn, int shift) {
     add(rd, ZR, Operand(rn, LSL, shift));
@@ -1206,15 +1130,11 @@
   void VRecps(VRegister vd, VRegister vn);
   void VRSqrts(VRegister vd, VRegister vn);
 
-  void SmiUntag(Register reg) {
-    AsrImmediate(reg, reg, kSmiTagSize);
-  }
+  void SmiUntag(Register reg) { AsrImmediate(reg, reg, kSmiTagSize); }
   void SmiUntag(Register dst, Register src) {
     AsrImmediate(dst, src, kSmiTagSize);
   }
-  void SmiTag(Register reg) {
-    LslImmediate(reg, reg, kSmiTagSize);
-  }
+  void SmiTag(Register reg) { LslImmediate(reg, reg, kSmiTagSize); }
   void SmiTag(Register dst, Register src) {
     LslImmediate(dst, src, kSmiTagSize);
   }
@@ -1253,9 +1173,13 @@
   void TestImmediate(Register rn, int64_t imm);
   void CompareImmediate(Register rn, int64_t imm);
 
-  void LoadFromOffset(Register dest, Register base, int32_t offset,
+  void LoadFromOffset(Register dest,
+                      Register base,
+                      int32_t offset,
                       OperandSize sz = kDoubleWord);
-  void LoadFieldFromOffset(Register dest, Register base, int32_t offset,
+  void LoadFieldFromOffset(Register dest,
+                           Register base,
+                           int32_t offset,
                            OperandSize sz = kDoubleWord) {
     LoadFromOffset(dest, base, offset - kHeapObjectTag, sz);
   }
@@ -1268,9 +1192,13 @@
     LoadQFromOffset(dest, base, offset - kHeapObjectTag);
   }
 
-  void StoreToOffset(Register src, Register base, int32_t offset,
+  void StoreToOffset(Register src,
+                     Register base,
+                     int32_t offset,
                      OperandSize sz = kDoubleWord);
-  void StoreFieldToOffset(Register src, Register base, int32_t offset,
+  void StoreFieldToOffset(Register src,
+                          Register base,
+                          int32_t offset,
                           OperandSize sz = kDoubleWord) {
     StoreToOffset(src, base, offset - kHeapObjectTag, sz);
   }
@@ -1308,12 +1236,8 @@
   // Object pool, loading from pool, etc.
   void LoadPoolPointer(Register pp = PP);
 
-  bool constant_pool_allowed() const {
-    return constant_pool_allowed_;
-  }
-  void set_constant_pool_allowed(bool b) {
-    constant_pool_allowed_ = b;
-  }
+  bool constant_pool_allowed() const { return constant_pool_allowed_; }
+  void set_constant_pool_allowed(bool b) { constant_pool_allowed_ = b; }
 
   intptr_t FindImmediate(int64_t imm);
   bool CanLoadFromObjectPool(const Object& object) const;
@@ -1366,8 +1290,7 @@
 
   void MonomorphicCheckedEntry();
 
-  void UpdateAllocationStats(intptr_t cid,
-                             Heap::Space space);
+  void UpdateAllocationStats(intptr_t cid, Heap::Space space);
 
   void UpdateAllocationStatsWithSize(intptr_t cid,
                                      Register size_reg,
@@ -1375,9 +1298,7 @@
 
   // If allocation tracing for |cid| is enabled, will jump to |trace| label,
   // which will allocate in the runtime where tracing occurs.
-  void MaybeTraceAllocation(intptr_t cid,
-                            Register temp_reg,
-                            Label* trace);
+  void MaybeTraceAllocation(intptr_t cid, Register temp_reg, Label* trace);
 
   // Inlined allocation of an instance of class 'cls', code has no runtime
   // calls. Jump to 'failure' if the instance cannot be allocated here.
@@ -1421,9 +1342,10 @@
                                      Register array,
                                      Register index);
 
-  void LoadUnaligned(Register dst, Register addr, Register tmp,
-                     OperandSize sz);
-  void StoreUnaligned(Register src, Register addr, Register tmp,
+  void LoadUnaligned(Register dst, Register addr, Register tmp, OperandSize sz);
+  void StoreUnaligned(Register src,
+                      Register addr,
+                      Register tmp,
                       OperandSize sz);
 
  private:
@@ -1436,7 +1358,7 @@
   class CodeComment : public ZoneAllocated {
    public:
     CodeComment(intptr_t pc_offset, const String& comment)
-        : pc_offset_(pc_offset), comment_(comment) { }
+        : pc_offset_(pc_offset), comment_(comment) {}
 
     intptr_t pc_offset() const { return pc_offset_; }
     const String& comment() const { return comment_; }
@@ -1457,8 +1379,12 @@
 
   void LoadObjectHelper(Register dst, const Object& obj, bool is_unique);
 
-  void AddSubHelper(OperandSize os, bool set_flags, bool subtract,
-                    Register rd, Register rn, Operand o) {
+  void AddSubHelper(OperandSize os,
+                    bool set_flags,
+                    bool subtract,
+                    Register rd,
+                    Register rn,
+                    Operand o) {
     ASSERT((rd != R31) && (rn != R31));
     const Register crd = ConcreteRegister(rd);
     const Register crn = ConcreteRegister(rn);
@@ -1475,8 +1401,12 @@
     }
   }
 
-  void AddSubWithCarryHelper(OperandSize sz, bool set_flags, bool subtract,
-                             Register rd, Register rn, Register rm) {
+  void AddSubWithCarryHelper(OperandSize sz,
+                             bool set_flags,
+                             bool subtract,
+                             Register rd,
+                             Register rn,
+                             Register rm) {
     ASSERT((rd != R31) && (rn != R31) && (rm != R31));
     ASSERT((rd != CSP) && (rn != CSP) && (rm != CSP));
     const Register crd = ConcreteRegister(rd);
@@ -1485,48 +1415,53 @@
     const int32_t size = (sz == kDoubleWord) ? B31 : 0;
     const int32_t s = set_flags ? B29 : 0;
     const int32_t op = subtract ? SBC : ADC;
-    const int32_t encoding =
-        op | size | s |
-        (static_cast<int32_t>(crd) << kRdShift) |
-        (static_cast<int32_t>(crn) << kRnShift) |
-        (static_cast<int32_t>(crm) << kRmShift);
+    const int32_t encoding = op | size | s |
+                             (static_cast<int32_t>(crd) << kRdShift) |
+                             (static_cast<int32_t>(crn) << kRnShift) |
+                             (static_cast<int32_t>(crm) << kRmShift);
     Emit(encoding);
   }
 
-  void EmitAddSubImmOp(AddSubImmOp op, Register rd, Register rn,
-                       Operand o, OperandSize sz, bool set_flags) {
+  void EmitAddSubImmOp(AddSubImmOp op,
+                       Register rd,
+                       Register rn,
+                       Operand o,
+                       OperandSize sz,
+                       bool set_flags) {
     ASSERT((sz == kDoubleWord) || (sz == kWord) || (sz == kUnsignedWord));
     const int32_t size = (sz == kDoubleWord) ? B31 : 0;
     const int32_t s = set_flags ? B29 : 0;
     const int32_t encoding =
-        op | size | s |
-        (static_cast<int32_t>(rd) << kRdShift) |
-        (static_cast<int32_t>(rn) << kRnShift) |
-        o.encoding();
+        op | size | s | (static_cast<int32_t>(rd) << kRdShift) |
+        (static_cast<int32_t>(rn) << kRnShift) | o.encoding();
     Emit(encoding);
   }
 
-  void EmitLogicalImmOp(LogicalImmOp op, Register rd, Register rn,
-                        Operand o, OperandSize sz) {
+  void EmitLogicalImmOp(LogicalImmOp op,
+                        Register rd,
+                        Register rn,
+                        Operand o,
+                        OperandSize sz) {
     ASSERT((sz == kDoubleWord) || (sz == kWord) || (sz == kUnsignedWord));
     ASSERT((rd != R31) && (rn != R31));
     ASSERT(rn != CSP);
-    ASSERT((op == ANDIS) || (rd != ZR));  // op != ANDIS => rd != ZR.
+    ASSERT((op == ANDIS) || (rd != ZR));   // op != ANDIS => rd != ZR.
     ASSERT((op != ANDIS) || (rd != CSP));  // op == ANDIS => rd != CSP.
     ASSERT(o.type() == Operand::BitfieldImm);
     const int32_t size = (sz == kDoubleWord) ? B31 : 0;
     const Register crd = ConcreteRegister(rd);
     const Register crn = ConcreteRegister(rn);
     const int32_t encoding =
-        op | size |
-        (static_cast<int32_t>(crd) << kRdShift) |
-        (static_cast<int32_t>(crn) << kRnShift) |
-        o.encoding();
+        op | size | (static_cast<int32_t>(crd) << kRdShift) |
+        (static_cast<int32_t>(crn) << kRnShift) | o.encoding();
     Emit(encoding);
   }
 
   void EmitLogicalShiftOp(LogicalShiftOp op,
-                          Register rd, Register rn, Operand o, OperandSize sz) {
+                          Register rd,
+                          Register rn,
+                          Operand o,
+                          OperandSize sz) {
     ASSERT((sz == kDoubleWord) || (sz == kWord) || (sz == kUnsignedWord));
     ASSERT((rd != R31) && (rn != R31));
     ASSERT((rd != CSP) && (rn != CSP));
@@ -1535,32 +1470,31 @@
     const Register crd = ConcreteRegister(rd);
     const Register crn = ConcreteRegister(rn);
     const int32_t encoding =
-        op | size |
-        (static_cast<int32_t>(crd) << kRdShift) |
-        (static_cast<int32_t>(crn) << kRnShift) |
-        o.encoding();
+        op | size | (static_cast<int32_t>(crd) << kRdShift) |
+        (static_cast<int32_t>(crn) << kRnShift) | o.encoding();
     Emit(encoding);
   }
 
   void EmitAddSubShiftExtOp(AddSubShiftExtOp op,
-                            Register rd, Register rn, Operand o,
-                            OperandSize sz, bool set_flags) {
+                            Register rd,
+                            Register rn,
+                            Operand o,
+                            OperandSize sz,
+                            bool set_flags) {
     ASSERT((sz == kDoubleWord) || (sz == kWord) || (sz == kUnsignedWord));
     const int32_t size = (sz == kDoubleWord) ? B31 : 0;
     const int32_t s = set_flags ? B29 : 0;
     const int32_t encoding =
-        op | size | s |
-        (static_cast<int32_t>(rd) << kRdShift) |
-        (static_cast<int32_t>(rn) << kRnShift) |
-        o.encoding();
+        op | size | s | (static_cast<int32_t>(rd) << kRdShift) |
+        (static_cast<int32_t>(rn) << kRnShift) | o.encoding();
     Emit(encoding);
   }
 
   int32_t EncodeImm19BranchOffset(int64_t imm, int32_t instr) {
     if (!CanEncodeImm19BranchOffset(imm)) {
       ASSERT(!use_far_branches());
-      Thread::Current()->long_jump_base()->Jump(
-          1, Object::branch_offset_error());
+      Thread::Current()->long_jump_base()->Jump(1,
+                                                Object::branch_offset_error());
     }
     const int32_t imm32 = static_cast<int32_t>(imm);
     const int32_t off = (((imm32 >> 2) << kImm19Shift) & kImm19Mask);
@@ -1610,7 +1544,9 @@
     return static_cast<int64_t>(off);
   }
 
-  void EmitCompareAndBranchOp(CompareAndBranchOp op, Register rt, int64_t imm,
+  void EmitCompareAndBranchOp(CompareAndBranchOp op,
+                              Register rt,
+                              int64_t imm,
                               OperandSize sz) {
     ASSERT((sz == kDoubleWord) || (sz == kWord) || (sz == kUnsignedWord));
     ASSERT(Utils::IsInt(21, imm) && ((imm & 0x3) == 0));
@@ -1619,19 +1555,16 @@
     const int32_t size = (sz == kDoubleWord) ? B31 : 0;
     const int32_t encoded_offset = EncodeImm19BranchOffset(imm, 0);
     const int32_t encoding =
-        op | size |
-        (static_cast<int32_t>(crt) << kRtShift) |
-        encoded_offset;
+        op | size | (static_cast<int32_t>(crt) << kRtShift) | encoded_offset;
     Emit(encoding);
   }
 
-  void EmitConditionalBranchOp(ConditionalBranchOp op, Condition cond,
+  void EmitConditionalBranchOp(ConditionalBranchOp op,
+                               Condition cond,
                                int64_t imm) {
     const int32_t off = EncodeImm19BranchOffset(imm, 0);
     const int32_t encoding =
-        op |
-        (static_cast<int32_t>(cond) << kCondShift) |
-        off;
+        op | (static_cast<int32_t>(cond) << kCondShift) | off;
     Emit(encoding);
   }
 
@@ -1640,7 +1573,8 @@
     return Utils::IsInt(21, offset);
   }
 
-  void EmitConditionalBranch(ConditionalBranchOp op, Condition cond,
+  void EmitConditionalBranch(ConditionalBranchOp op,
+                             Condition cond,
                              Label* label) {
     if (label->IsBound()) {
       const int64_t dest = label->Position() - buffer_.Size();
@@ -1650,8 +1584,8 @@
           // no need for a guard branch.
           b(dest);
         } else {
-          EmitConditionalBranchOp(
-              op, InvertCondition(cond), 2 * Instr::kInstrSize);
+          EmitConditionalBranchOp(op, InvertCondition(cond),
+                                  2 * Instr::kInstrSize);
           b(dest);
         }
       } else {
@@ -1663,8 +1597,8 @@
         // When cond is AL, this guard branch will be rewritten as a nop when
         // the label is bound. We don't write it as a nop initially because it
         // makes the decoding code in Bind simpler.
-        EmitConditionalBranchOp(
-            op, InvertCondition(cond), 2 * Instr::kInstrSize);
+        EmitConditionalBranchOp(op, InvertCondition(cond),
+                                2 * Instr::kInstrSize);
         b(label->position_);
       } else {
         EmitConditionalBranchOp(op, cond, label->position_);
@@ -1673,22 +1607,24 @@
     }
   }
 
-  void EmitCompareAndBranch(CompareAndBranchOp op, Register rt,
-                            Label* label, OperandSize sz) {
+  void EmitCompareAndBranch(CompareAndBranchOp op,
+                            Register rt,
+                            Label* label,
+                            OperandSize sz) {
     if (label->IsBound()) {
       const int64_t dest = label->Position() - buffer_.Size();
       if (use_far_branches() && !CanEncodeImm19BranchOffset(dest)) {
-          EmitCompareAndBranchOp(
-              op == CBZ ? CBNZ : CBZ, rt, 2 * Instr::kInstrSize, sz);
-          b(dest);
+        EmitCompareAndBranchOp(op == CBZ ? CBNZ : CBZ, rt,
+                               2 * Instr::kInstrSize, sz);
+        b(dest);
       } else {
         EmitCompareAndBranchOp(op, rt, dest, sz);
       }
     } else {
       const int64_t position = buffer_.Size();
       if (use_far_branches()) {
-        EmitCompareAndBranchOp(
-            op == CBZ ? CBNZ : CBZ, rt, 2 * Instr::kInstrSize, sz);
+        EmitCompareAndBranchOp(op == CBZ ? CBNZ : CBZ, rt,
+                               2 * Instr::kInstrSize, sz);
         b(label->position_);
       } else {
         EmitCompareAndBranchOp(op, rt, label->position_, sz);
@@ -1712,8 +1648,7 @@
   void EmitUnconditionalBranchRegOp(UnconditionalBranchRegOp op, Register rn) {
     ASSERT((rn != CSP) && (rn != R31));
     const Register crn = ConcreteRegister(rn);
-    const int32_t encoding =
-        op | (static_cast<int32_t>(crn) << kRnShift);
+    const int32_t encoding = op | (static_cast<int32_t>(crn) << kRnShift);
     Emit(encoding);
   }
 
@@ -1725,21 +1660,26 @@
     Emit(ExceptionGenOpEncoding(op, imm));
   }
 
-  void EmitMoveWideOp(MoveWideOp op, Register rd, const Immediate& imm,
-                      int hw_idx, OperandSize sz) {
+  void EmitMoveWideOp(MoveWideOp op,
+                      Register rd,
+                      const Immediate& imm,
+                      int hw_idx,
+                      OperandSize sz) {
     ASSERT((hw_idx >= 0) && (hw_idx <= 3));
     ASSERT((sz == kDoubleWord) || (sz == kWord) || (sz == kUnsignedWord));
     const int32_t size = (sz == kDoubleWord) ? B31 : 0;
     const int32_t encoding =
-        op | size |
-        (static_cast<int32_t>(rd) << kRdShift) |
+        op | size | (static_cast<int32_t>(rd) << kRdShift) |
         (static_cast<int32_t>(hw_idx) << kHWShift) |
         (static_cast<int32_t>(imm.value() & 0xffff) << kImm16Shift);
     Emit(encoding);
   }
 
-  void EmitLoadStoreExclusive(LoadStoreExclusiveOp op, Register rs, Register rn,
-                              Register rt, OperandSize sz = kDoubleWord) {
+  void EmitLoadStoreExclusive(LoadStoreExclusiveOp op,
+                              Register rs,
+                              Register rn,
+                              Register rt,
+                              OperandSize sz = kDoubleWord) {
     ASSERT(sz == kDoubleWord);
     const int32_t size = B31 | B30;
 
@@ -1748,40 +1688,42 @@
     ASSERT((rt != kNoRegister) && (rt != ZR));
 
     const int32_t encoding =
-        op | size |
-        (static_cast<int32_t>(ConcreteRegister(rs)) << kRsShift) |
+        op | size | (static_cast<int32_t>(ConcreteRegister(rs)) << kRsShift) |
         (static_cast<int32_t>(ConcreteRegister(rn)) << kRnShift) |
         (static_cast<int32_t>(ConcreteRegister(rt)) << kRtShift);
 
     Emit(encoding);
   }
 
-  void EmitLoadStoreReg(LoadStoreRegOp op, Register rt, Address a,
+  void EmitLoadStoreReg(LoadStoreRegOp op,
+                        Register rt,
+                        Address a,
                         OperandSize sz) {
     const Register crt = ConcreteRegister(rt);
     const int32_t size = Log2OperandSizeBytes(sz);
-    const int32_t encoding =
-        op | ((size & 0x3) << kSzShift) |
-        (static_cast<int32_t>(crt) << kRtShift) |
-        a.encoding();
+    const int32_t encoding = op | ((size & 0x3) << kSzShift) |
+                             (static_cast<int32_t>(crt) << kRtShift) |
+                             a.encoding();
     Emit(encoding);
   }
 
-  void EmitLoadRegLiteral(LoadRegLiteralOp op, Register rt, Address a,
+  void EmitLoadRegLiteral(LoadRegLiteralOp op,
+                          Register rt,
+                          Address a,
                           OperandSize sz) {
     ASSERT((sz == kDoubleWord) || (sz == kWord) || (sz == kUnsignedWord));
     ASSERT((rt != CSP) && (rt != R31));
     const Register crt = ConcreteRegister(rt);
     const int32_t size = (sz == kDoubleWord) ? B30 : 0;
     const int32_t encoding =
-        op | size |
-        (static_cast<int32_t>(crt) << kRtShift) |
-        a.encoding();
+        op | size | (static_cast<int32_t>(crt) << kRtShift) | a.encoding();
     Emit(encoding);
   }
 
   void EmitLoadStoreRegPair(LoadStoreRegPairOp op,
-                            Register rt, Register rt2, Address a,
+                            Register rt,
+                            Register rt2,
+                            Address a,
                             OperandSize sz) {
     ASSERT((sz == kDoubleWord) || (sz == kWord) || (sz == kUnsignedWord));
     ASSERT((rt != CSP) && (rt != R31));
@@ -1790,16 +1732,22 @@
     const Register crt2 = ConcreteRegister(rt2);
     int32_t opc = 0;
     switch (sz) {
-      case kDoubleWord: opc = B31; break;
-      case kWord: opc = B30; break;
-      case kUnsignedWord: opc = 0; break;
-      default: UNREACHABLE(); break;
+      case kDoubleWord:
+        opc = B31;
+        break;
+      case kWord:
+        opc = B30;
+        break;
+      case kUnsignedWord:
+        opc = 0;
+        break;
+      default:
+        UNREACHABLE();
+        break;
     }
     const int32_t encoding =
-      opc | op |
-      (static_cast<int32_t>(crt) << kRtShift) |
-      (static_cast<int32_t>(crt2) << kRt2Shift) |
-      a.encoding();
+        opc | op | (static_cast<int32_t>(crt) << kRtShift) |
+        (static_cast<int32_t>(crt2) << kRt2Shift) | a.encoding();
     Emit(encoding);
   }
 
@@ -1810,28 +1758,29 @@
     const int32_t loimm = (imm.value() & 0x3) << 29;
     const int32_t hiimm = ((imm.value() >> 2) << kImm19Shift) & kImm19Mask;
     const int32_t encoding =
-        op | loimm | hiimm |
-        (static_cast<int32_t>(crd) << kRdShift);
+        op | loimm | hiimm | (static_cast<int32_t>(crd) << kRdShift);
     Emit(encoding);
   }
 
   void EmitMiscDP1Source(MiscDP1SourceOp op,
-                         Register rd, Register rn,
+                         Register rd,
+                         Register rn,
                          OperandSize sz) {
     ASSERT((rd != CSP) && (rn != CSP));
     ASSERT((sz == kDoubleWord) || (sz == kWord) || (sz == kUnsignedWord));
     const Register crd = ConcreteRegister(rd);
     const Register crn = ConcreteRegister(rn);
     const int32_t size = (sz == kDoubleWord) ? B31 : 0;
-    const int32_t encoding =
-        op | size |
-        (static_cast<int32_t>(crd) << kRdShift) |
-        (static_cast<int32_t>(crn) << kRnShift);
+    const int32_t encoding = op | size |
+                             (static_cast<int32_t>(crd) << kRdShift) |
+                             (static_cast<int32_t>(crn) << kRnShift);
     Emit(encoding);
   }
 
   void EmitMiscDP2Source(MiscDP2SourceOp op,
-                         Register rd, Register rn, Register rm,
+                         Register rd,
+                         Register rn,
+                         Register rm,
                          OperandSize sz) {
     ASSERT((rd != CSP) && (rn != CSP) && (rm != CSP));
     ASSERT((sz == kDoubleWord) || (sz == kWord) || (sz == kUnsignedWord));
@@ -1839,16 +1788,18 @@
     const Register crn = ConcreteRegister(rn);
     const Register crm = ConcreteRegister(rm);
     const int32_t size = (sz == kDoubleWord) ? B31 : 0;
-    const int32_t encoding =
-        op | size |
-        (static_cast<int32_t>(crd) << kRdShift) |
-        (static_cast<int32_t>(crn) << kRnShift) |
-        (static_cast<int32_t>(crm) << kRmShift);
+    const int32_t encoding = op | size |
+                             (static_cast<int32_t>(crd) << kRdShift) |
+                             (static_cast<int32_t>(crn) << kRnShift) |
+                             (static_cast<int32_t>(crm) << kRmShift);
     Emit(encoding);
   }
 
   void EmitMiscDP3Source(MiscDP3SourceOp op,
-                         Register rd, Register rn, Register rm, Register ra,
+                         Register rd,
+                         Register rn,
+                         Register rm,
+                         Register ra,
                          OperandSize sz) {
     ASSERT((rd != CSP) && (rn != CSP) && (rm != CSP) && (ra != CSP));
     ASSERT((sz == kDoubleWord) || (sz == kWord) || (sz == kUnsignedWord));
@@ -1857,108 +1808,101 @@
     const Register crm = ConcreteRegister(rm);
     const Register cra = ConcreteRegister(ra);
     const int32_t size = (sz == kDoubleWord) ? B31 : 0;
-    const int32_t encoding =
-        op | size |
-        (static_cast<int32_t>(crd) << kRdShift) |
-        (static_cast<int32_t>(crn) << kRnShift) |
-        (static_cast<int32_t>(crm) << kRmShift) |
-        (static_cast<int32_t>(cra) << kRaShift);
+    const int32_t encoding = op | size |
+                             (static_cast<int32_t>(crd) << kRdShift) |
+                             (static_cast<int32_t>(crn) << kRnShift) |
+                             (static_cast<int32_t>(crm) << kRmShift) |
+                             (static_cast<int32_t>(cra) << kRaShift);
     Emit(encoding);
   }
 
   void EmitConditionalSelect(ConditionalSelectOp op,
-                             Register rd, Register rn, Register rm,
-                             Condition cond, OperandSize sz) {
+                             Register rd,
+                             Register rn,
+                             Register rm,
+                             Condition cond,
+                             OperandSize sz) {
     ASSERT((rd != CSP) && (rn != CSP) && (rm != CSP));
     ASSERT((sz == kDoubleWord) || (sz == kWord) || (sz == kUnsignedWord));
     const Register crd = ConcreteRegister(rd);
     const Register crn = ConcreteRegister(rn);
     const Register crm = ConcreteRegister(rm);
     const int32_t size = (sz == kDoubleWord) ? B31 : 0;
-    const int32_t encoding =
-        op | size |
-        (static_cast<int32_t>(crd) << kRdShift) |
-        (static_cast<int32_t>(crn) << kRnShift) |
-        (static_cast<int32_t>(crm) << kRmShift) |
-        (static_cast<int32_t>(cond) << kSelCondShift);
+    const int32_t encoding = op | size |
+                             (static_cast<int32_t>(crd) << kRdShift) |
+                             (static_cast<int32_t>(crn) << kRnShift) |
+                             (static_cast<int32_t>(crm) << kRmShift) |
+                             (static_cast<int32_t>(cond) << kSelCondShift);
     Emit(encoding);
   }
 
   void EmitFPImm(FPImmOp op, VRegister vd, uint8_t imm8) {
     const int32_t encoding =
-        op |
-        (static_cast<int32_t>(vd) << kVdShift) |
-        (imm8 << kImm8Shift);
+        op | (static_cast<int32_t>(vd) << kVdShift) | (imm8 << kImm8Shift);
     Emit(encoding);
   }
 
-  void EmitFPIntCvtOp(FPIntCvtOp op, Register rd, Register rn,
+  void EmitFPIntCvtOp(FPIntCvtOp op,
+                      Register rd,
+                      Register rn,
                       OperandSize sz = kDoubleWord) {
     ASSERT((sz == kDoubleWord) || (sz == kWord));
     const int32_t sfield = (sz == kDoubleWord) ? B31 : 0;
-    const int32_t encoding =
-        op |
-        (static_cast<int32_t>(rd) << kRdShift) |
-        (static_cast<int32_t>(rn) << kRnShift) |
-        sfield;
+    const int32_t encoding = op | (static_cast<int32_t>(rd) << kRdShift) |
+                             (static_cast<int32_t>(rn) << kRnShift) | sfield;
     Emit(encoding);
   }
 
   void EmitFPOneSourceOp(FPOneSourceOp op, VRegister vd, VRegister vn) {
-    const int32_t encoding =
-        op |
-        (static_cast<int32_t>(vd) << kVdShift) |
-        (static_cast<int32_t>(vn) << kVnShift);
+    const int32_t encoding = op | (static_cast<int32_t>(vd) << kVdShift) |
+                             (static_cast<int32_t>(vn) << kVnShift);
     Emit(encoding);
   }
 
   void EmitFPTwoSourceOp(FPTwoSourceOp op,
-                         VRegister vd, VRegister vn, VRegister vm) {
-    const int32_t encoding =
-        op |
-        (static_cast<int32_t>(vd) << kVdShift) |
-        (static_cast<int32_t>(vn) << kVnShift) |
-        (static_cast<int32_t>(vm) << kVmShift);
+                         VRegister vd,
+                         VRegister vn,
+                         VRegister vm) {
+    const int32_t encoding = op | (static_cast<int32_t>(vd) << kVdShift) |
+                             (static_cast<int32_t>(vn) << kVnShift) |
+                             (static_cast<int32_t>(vm) << kVmShift);
     Emit(encoding);
   }
 
   void EmitFPCompareOp(FPCompareOp op, VRegister vn, VRegister vm) {
-    const int32_t encoding =
-        op |
-        (static_cast<int32_t>(vn) << kVnShift) |
-        (static_cast<int32_t>(vm) << kVmShift);
+    const int32_t encoding = op | (static_cast<int32_t>(vn) << kVnShift) |
+                             (static_cast<int32_t>(vm) << kVmShift);
     Emit(encoding);
   }
 
   void EmitSIMDThreeSameOp(SIMDThreeSameOp op,
-                           VRegister vd, VRegister vn, VRegister vm) {
-    const int32_t encoding =
-        op |
-        (static_cast<int32_t>(vd) << kVdShift) |
-        (static_cast<int32_t>(vn) << kVnShift) |
-        (static_cast<int32_t>(vm) << kVmShift);
+                           VRegister vd,
+                           VRegister vn,
+                           VRegister vm) {
+    const int32_t encoding = op | (static_cast<int32_t>(vd) << kVdShift) |
+                             (static_cast<int32_t>(vn) << kVnShift) |
+                             (static_cast<int32_t>(vm) << kVmShift);
     Emit(encoding);
   }
 
-  void EmitSIMDCopyOp(SIMDCopyOp op, VRegister vd, VRegister vn, OperandSize sz,
-                      int32_t idx4, int32_t idx5) {
+  void EmitSIMDCopyOp(SIMDCopyOp op,
+                      VRegister vd,
+                      VRegister vn,
+                      OperandSize sz,
+                      int32_t idx4,
+                      int32_t idx5) {
     const int32_t shift = Log2OperandSizeBytes(sz);
     const int32_t imm5 = ((idx5 << (shift + 1)) | (1 << shift)) & 0x1f;
     const int32_t imm4 = (idx4 << shift) & 0xf;
-    const int32_t encoding =
-        op |
-        (imm5 << kImm5Shift) |
-        (imm4 << kImm4Shift) |
-        (static_cast<int32_t>(vd) << kVdShift) |
-        (static_cast<int32_t>(vn) << kVnShift);
+    const int32_t encoding = op | (imm5 << kImm5Shift) | (imm4 << kImm4Shift) |
+                             (static_cast<int32_t>(vd) << kVdShift) |
+                             (static_cast<int32_t>(vn) << kVnShift);
     Emit(encoding);
   }
 
   void EmitSIMDTwoRegOp(SIMDTwoRegOp op, VRegister vd, VRegister vn) {
-    const int32_t encoding =
-        op |
-        (static_cast<int32_t>(vd) << kVdShift) |
-        (static_cast<int32_t>(vn) << kVnShift);
+    const int32_t encoding = op | (static_cast<int32_t>(vd) << kVdShift) |
+                             (static_cast<int32_t>(vn) << kVnShift);
     Emit(encoding);
   }
 
diff --git a/runtime/vm/assembler_arm64_test.cc b/runtime/vm/assembler_arm64_test.cc
index ea2d2df..1bd0644 100644
--- a/runtime/vm/assembler_arm64_test.cc
+++ b/runtime/vm/assembler_arm64_test.cc
@@ -137,8 +137,8 @@
 
 ASSEMBLER_TEST_RUN(Movk0, test) {
   typedef int64_t (*Int64Return)() DART_UNUSED;
-  EXPECT_EQ(
-      42LL | (1LL << 48), EXECUTE_TEST_CODE_INT64(Int64Return, test->entry()));
+  EXPECT_EQ(42LL | (1LL << 48),
+            EXECUTE_TEST_CODE_INT64(Int64Return, test->entry()));
 }
 
 
@@ -151,8 +151,8 @@
 
 ASSEMBLER_TEST_RUN(Movk1, test) {
   typedef int64_t (*Int64Return)() DART_UNUSED;
-  EXPECT_EQ(
-      (42LL << 16) | 1, EXECUTE_TEST_CODE_INT64(Int64Return, test->entry()));
+  EXPECT_EQ((42LL << 16) | 1,
+            EXECUTE_TEST_CODE_INT64(Int64Return, test->entry()));
 }
 
 
@@ -165,8 +165,8 @@
 
 ASSEMBLER_TEST_RUN(Movk2, test) {
   typedef int64_t (*Int64Return)() DART_UNUSED;
-  EXPECT_EQ(
-      (42LL << 32) | 1, EXECUTE_TEST_CODE_INT64(Int64Return, test->entry()));
+  EXPECT_EQ((42LL << 32) | 1,
+            EXECUTE_TEST_CODE_INT64(Int64Return, test->entry()));
 }
 
 
@@ -179,8 +179,8 @@
 
 ASSEMBLER_TEST_RUN(Movk3, test) {
   typedef int64_t (*Int64Return)() DART_UNUSED;
-  EXPECT_EQ(
-      (42LL << 48) | 1, EXECUTE_TEST_CODE_INT64(Int64Return, test->entry()));
+  EXPECT_EQ((42LL << 48) | 1,
+            EXECUTE_TEST_CODE_INT64(Int64Return, test->entry()));
 }
 
 
@@ -255,7 +255,7 @@
 
 ASSEMBLER_TEST_GENERATE(AddASRNegReg, assembler) {
   __ movz(R0, Immediate(43), 0);
-  __ movn(R1, Immediate(0), 0);  // R1 <- -1
+  __ movn(R1, Immediate(0), 0);         // R1 <- -1
   __ add(R1, ZR, Operand(R1, LSL, 3));  // R1 <- -8
   __ add(R0, R0, Operand(R1, ASR, 3));  // R0 <- 43 + (-8 >> 3)
   __ ret();
@@ -272,7 +272,7 @@
 ASSEMBLER_TEST_GENERATE(AddExtReg, assembler) {
   __ movz(R0, Immediate(43), 0);
   __ movz(R1, Immediate(0xffff), 0);
-  __ movk(R1, Immediate(0xffff), 1);  // R1 <- -1 (32-bit)
+  __ movk(R1, Immediate(0xffff), 1);     // R1 <- -1 (32-bit)
   __ add(R0, R0, Operand(R1, SXTW, 0));  // R0 <- R0 + (sign extended R1)
   __ ret();
 }
@@ -289,8 +289,8 @@
   __ LoadImmediate(R1, 1);
   __ LoadImmediate(R0, 0);
   __ adds(IP0, R2, Operand(R1));  // c_out = 1.
-  __ adcs(IP0, R2, R0);  // c_in = 1, c_out = 1.
-  __ adc(R0, R0, R0);  // c_in = 1.
+  __ adcs(IP0, R2, R0);           // c_in = 1, c_out = 1.
+  __ adc(R0, R0, R0);             // c_in = 1.
   __ ret();
 }
 
@@ -305,8 +305,8 @@
   __ LoadImmediate(R1, 1);
   __ LoadImmediate(R0, 0);
   __ subs(IP0, R0, Operand(R1));  // c_out = 1.
-  __ sbcs(IP0, R0, R0);  // c_in = 1, c_out = 1.
-  __ sbc(R0, R0, R0);  // c_in = 1.
+  __ sbcs(IP0, R0, R0);           // c_in = 1, c_out = 1.
+  __ sbc(R0, R0, R0);             // c_in = 1.
   __ ret();
 }
 
@@ -323,8 +323,8 @@
   __ LoadImmediate(R2, 0xFFFFFFFFFFFFFFFF);
   __ LoadImmediate(R3, 0x7FFFFFFFFFFFFFFF);
   __ adds(IP0, R2, Operand(R1));  // c_out = 1.
-  __ adcs(IP0, R3, R0);  // c_in = 1, c_out = 1, v = 1.
-  __ csinc(R0, R0, R0, VS);  // R0 = v ? R0 : R0 + 1.
+  __ adcs(IP0, R3, R0);           // c_in = 1, c_out = 1, v = 1.
+  __ csinc(R0, R0, R0, VS);       // R0 = v ? R0 : R0 + 1.
   __ ret();
 }
 
@@ -340,8 +340,8 @@
   __ LoadImmediate(R1, 1);
   __ LoadImmediate(R0, 0);
   __ addsw(IP0, R2, Operand(R1));  // c_out = 1.
-  __ adcsw(IP0, R2, R0);  // c_in = 1, c_out = 1.
-  __ adcw(R0, R0, R0);  // c_in = 1.
+  __ adcsw(IP0, R2, R0);           // c_in = 1, c_out = 1.
+  __ adcw(R0, R0, R0);             // c_in = 1.
   __ ret();
 }
 
@@ -356,8 +356,8 @@
   __ LoadImmediate(R1, 1);
   __ LoadImmediate(R0, 0);
   __ subsw(IP0, R0, Operand(R1));  // c_out = 1.
-  __ sbcsw(IP0, R0, R0);  // c_in = 1, c_out = 1.
-  __ sbcw(R0, R0, R0);  // c_in = 1.
+  __ sbcsw(IP0, R0, R0);           // c_in = 1, c_out = 1.
+  __ sbcw(R0, R0, R0);             // c_in = 1.
   __ ret();
 }
 
@@ -374,8 +374,8 @@
   __ LoadImmediate(R2, 0xFFFFFFFF);
   __ LoadImmediate(R3, 0x7FFFFFFF);
   __ addsw(IP0, R2, Operand(R1));  // c_out = 1.
-  __ adcsw(IP0, R3, R0);  // c_in = 1, c_out = 1, v = 1.
-  __ csinc(R0, R0, R0, VS);  // R0 = v ? R0 : R0 + 1.
+  __ adcsw(IP0, R3, R0);           // c_in = 1, c_out = 1, v = 1.
+  __ csinc(R0, R0, R0, VS);        // R0 = v ? R0 : R0 + 1.
   __ ret();
 }
 
@@ -391,8 +391,8 @@
   __ SetupDartSP();
   __ movz(R0, Immediate(43), 0);
   __ movz(R1, Immediate(42), 0);
-  __ str(R1, Address(SP, -1*kWordSize, Address::PreIndex));
-  __ ldr(R0, Address(SP, 1*kWordSize, Address::PostIndex));
+  __ str(R1, Address(SP, -1 * kWordSize, Address::PreIndex));
+  __ ldr(R0, Address(SP, 1 * kWordSize, Address::PostIndex));
   __ RestoreCSP();
   __ ret();
 }
@@ -427,9 +427,9 @@
   __ movz(R0, Immediate(43), 0);
   __ movz(R1, Immediate(42), 0);
   // Largest negative offset that can fit in the signed 9-bit immediate field.
-  __ str(R1, Address(SP, -32*kWordSize, Address::PreIndex));
+  __ str(R1, Address(SP, -32 * kWordSize, Address::PreIndex));
   // Largest positive kWordSize aligned offset that we can fit.
-  __ ldr(R0, Address(SP, 31*kWordSize, Address::PostIndex));
+  __ ldr(R0, Address(SP, 31 * kWordSize, Address::PostIndex));
   // Correction.
   __ add(SP, SP, Operand(kWordSize));  // Restore SP.
   __ RestoreCSP();
@@ -447,9 +447,9 @@
   __ SetupDartSP();
   __ movz(R0, Immediate(43), 0);
   __ movz(R1, Immediate(42), 0);
-  __ sub(SP, SP, Operand(512*kWordSize));
-  __ str(R1, Address(SP, 512*kWordSize, Address::Offset));
-  __ add(SP, SP, Operand(512*kWordSize));
+  __ sub(SP, SP, Operand(512 * kWordSize));
+  __ str(R1, Address(SP, 512 * kWordSize, Address::Offset));
+  __ add(SP, SP, Operand(512 * kWordSize));
   __ ldr(R0, Address(SP));
   __ RestoreCSP();
   __ ret();
@@ -490,11 +490,11 @@
   __ movz(R0, Immediate(43), 0);
   __ movz(R1, Immediate(42), 0);
   __ movz(R2, Immediate(10), 0);
-  __ sub(SP, SP, Operand(10*kWordSize));
+  __ sub(SP, SP, Operand(10 * kWordSize));
   // Store R1 into SP + R2 * kWordSize.
   __ str(R1, Address(SP, R2, UXTX, Address::Scaled));
   __ ldr(R0, Address(SP, R2, UXTX, Address::Scaled));
-  __ add(SP, SP, Operand(10*kWordSize));
+  __ add(SP, SP, Operand(10 * kWordSize));
   __ RestoreCSP();
   __ ret();
 }
@@ -527,8 +527,8 @@
   __ SetupDartSP();
   __ LoadImmediate(R2, 43);
   __ LoadImmediate(R3, 42);
-  __ stp(R2, R3, Address(SP, -2*kWordSize, Address::PairPreIndex));
-  __ ldp(R0, R1, Address(SP, 2*kWordSize, Address::PairPostIndex));
+  __ stp(R2, R3, Address(SP, -2 * kWordSize, Address::PairPreIndex));
+  __ ldp(R0, R1, Address(SP, 2 * kWordSize, Address::PairPostIndex));
   __ sub(R0, R0, Operand(R1));
   __ RestoreCSP();
   __ ret();
@@ -572,7 +572,7 @@
   __ stxr(TMP, R1, SP);  // IP == 0, success
   __ cmp(TMP, Operand(0));
   __ b(&retry, NE);  // NE if context switch occurred between ldrex and strex.
-  __ Pop(R0);  // 42
+  __ Pop(R0);        // 42
   __ RestoreCSP();
   __ ret();
 }
@@ -591,9 +591,9 @@
   __ movz(R1, Immediate(42), 0);
   __ Push(R0);
   __ ldxr(R0, SP);
-  __ clrex();  // Simulate a context switch.
+  __ clrex();            // Simulate a context switch.
   __ stxr(TMP, R1, SP);  // IP == 1, failure
-  __ Pop(R0);  // 40
+  __ Pop(R0);            // 40
   __ add(R0, R0, Operand(TMP));
   __ RestoreCSP();
   __ ret();
@@ -666,7 +666,7 @@
 
 ASSEMBLER_TEST_GENERATE(OrnRegs, assembler) {
   __ movz(R1, Immediate(32), 0);
-  __ movn(R2, Immediate(0), 0);  // R2 <- 0xffffffffffffffff.
+  __ movn(R2, Immediate(0), 0);       // R2 <- 0xffffffffffffffff.
   __ movk(R2, Immediate(0xffd5), 0);  // R2 <- 0xffffffffffffffe5.
   __ orn(R0, R1, Operand(R2));
   __ ret();
@@ -1396,7 +1396,7 @@
 
 ASSEMBLER_TEST_GENERATE(Udiv_corner, assembler) {
   __ movz(R0, Immediate(0x8000), 3);  // R0 <- 0x8000000000000000
-  __ movn(R1, Immediate(0), 0);  // R1 <- 0xffffffffffffffff
+  __ movn(R1, Immediate(0), 0);       // R1 <- 0xffffffffffffffff
   __ udiv(R2, R0, R1);
   __ mov(R0, R2);
   __ ret();
@@ -1412,7 +1412,7 @@
 
 ASSEMBLER_TEST_GENERATE(Sdiv_corner, assembler) {
   __ movz(R3, Immediate(0x8000), 3);  // R0 <- 0x8000000000000000
-  __ movn(R1, Immediate(0), 0);  // R1 <- 0xffffffffffffffff
+  __ movn(R1, Immediate(0), 0);       // R1 <- 0xffffffffffffffff
   __ sdiv(R2, R3, R1);
   __ mov(R0, R2);
   __ ret();
@@ -1545,8 +1545,8 @@
 
 ASSEMBLER_TEST_GENERATE(Umulh, assembler) {
   __ movz(R1, Immediate(-1), 3);  // 0xffff000000000000
-  __ movz(R2, Immediate(7), 3);  // 0x0007000000000000
-  __ umulh(R0, R1, R2);  // 0x0006fff900000000
+  __ movz(R2, Immediate(7), 3);   // 0x0007000000000000
+  __ umulh(R0, R1, R2);           // 0x0006fff900000000
   __ ret();
 }
 
@@ -1562,7 +1562,7 @@
   __ movn(R1, Immediate(0), 0);  // W1 = 0xffffffff.
   __ movz(R2, Immediate(7), 0);  // W2 = 7.
   __ movz(R3, Immediate(8), 0);  // X3 = 8.
-  __ umaddl(R0, R1, R2, R3);  // X0 = W1*W2 + X3 = 0x700000001.
+  __ umaddl(R0, R1, R2, R3);     // X0 = W1*W2 + X3 = 0x700000001.
   __ ret();
 }
 
@@ -1606,8 +1606,8 @@
 
 ASSEMBLER_TEST_RUN(LoadImmediateMed2, test) {
   typedef int64_t (*Int64Return)() DART_UNUSED;
-  EXPECT_EQ(
-      0x4321f1234123, EXECUTE_TEST_CODE_INT64(Int64Return, test->entry()));
+  EXPECT_EQ(0x4321f1234123,
+            EXECUTE_TEST_CODE_INT64(Int64Return, test->entry()));
 }
 
 
@@ -1695,19 +1695,17 @@
   EXPECT(test != NULL);
   typedef intptr_t (*LoadHalfWordUnaligned)(intptr_t) DART_UNUSED;
   uint8_t buffer[4] = {
-    0x89, 0xAB, 0xCD, 0xEF,
+      0x89, 0xAB, 0xCD, 0xEF,
   };
 
-  EXPECT_EQ(static_cast<int16_t>(static_cast<uint16_t>(0xAB89)),
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadHalfWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[0])));
-  EXPECT_EQ(static_cast<int16_t>(static_cast<uint16_t>(0xCDAB)),
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadHalfWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[1])));
+  EXPECT_EQ(
+      static_cast<int16_t>(static_cast<uint16_t>(0xAB89)),
+      EXECUTE_TEST_CODE_INTPTR_INTPTR(LoadHalfWordUnaligned, test->entry(),
+                                      reinterpret_cast<intptr_t>(&buffer[0])));
+  EXPECT_EQ(
+      static_cast<int16_t>(static_cast<uint16_t>(0xCDAB)),
+      EXECUTE_TEST_CODE_INTPTR_INTPTR(LoadHalfWordUnaligned, test->entry(),
+                                      reinterpret_cast<intptr_t>(&buffer[1])));
 }
 
 
@@ -1722,19 +1720,15 @@
   EXPECT(test != NULL);
   typedef intptr_t (*LoadHalfWordUnsignedUnaligned)(intptr_t) DART_UNUSED;
   uint8_t buffer[4] = {
-    0x89, 0xAB, 0xCD, 0xEF,
+      0x89, 0xAB, 0xCD, 0xEF,
   };
 
-  EXPECT_EQ(0xAB89,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadHalfWordUnsignedUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[0])));
-  EXPECT_EQ(0xCDAB,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                 LoadHalfWordUnsignedUnaligned,
-                 test->entry(),
-                 reinterpret_cast<intptr_t>(&buffer[1])));
+  EXPECT_EQ(0xAB89, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                        LoadHalfWordUnsignedUnaligned, test->entry(),
+                        reinterpret_cast<intptr_t>(&buffer[0])));
+  EXPECT_EQ(0xCDAB, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                        LoadHalfWordUnsignedUnaligned, test->entry(),
+                        reinterpret_cast<intptr_t>(&buffer[1])));
 }
 
 
@@ -1750,23 +1744,19 @@
   EXPECT(test != NULL);
   typedef intptr_t (*StoreHalfWordUnaligned)(intptr_t) DART_UNUSED;
   uint8_t buffer[4] = {
-    0, 0, 0, 0,
+      0, 0, 0, 0,
   };
 
-  EXPECT_EQ(0xABCD,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreHalfWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[0])));
+  EXPECT_EQ(0xABCD, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                        StoreHalfWordUnaligned, test->entry(),
+                        reinterpret_cast<intptr_t>(&buffer[0])));
   EXPECT_EQ(0xCD, buffer[0]);
   EXPECT_EQ(0xAB, buffer[1]);
   EXPECT_EQ(0, buffer[2]);
 
-  EXPECT_EQ(0xABCD,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreHalfWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[1])));
+  EXPECT_EQ(0xABCD, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                        StoreHalfWordUnaligned, test->entry(),
+                        reinterpret_cast<intptr_t>(&buffer[1])));
   EXPECT_EQ(0xCD, buffer[1]);
   EXPECT_EQ(0xAB, buffer[2]);
   EXPECT_EQ(0, buffer[3]);
@@ -1783,31 +1773,24 @@
 ASSEMBLER_TEST_RUN(LoadWordUnaligned, test) {
   EXPECT(test != NULL);
   typedef int32_t (*LoadWordUnaligned)(intptr_t) DART_UNUSED;
-  uint8_t buffer[8] = {
-    0x12, 0x34, 0x56, 0x78,
-    0x9A, 0xBC, 0xDE, 0xF0
-  };
+  uint8_t buffer[8] = {0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0};
 
-  EXPECT_EQ(static_cast<int32_t>(0x78563412),
-            EXECUTE_TEST_CODE_INT32_INTPTR(
-                LoadWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[0])));
-  EXPECT_EQ(static_cast<int32_t>(0x9A785634),
-            EXECUTE_TEST_CODE_INT32_INTPTR(
-                LoadWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[1])));
-  EXPECT_EQ(static_cast<int32_t>(0xBC9A7856),
-            EXECUTE_TEST_CODE_INT32_INTPTR(
-                LoadWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[2])));
-  EXPECT_EQ(static_cast<int32_t>(0xDEBC9A78),
-            EXECUTE_TEST_CODE_INT32_INTPTR(
-                LoadWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[3])));
+  EXPECT_EQ(
+      static_cast<int32_t>(0x78563412),
+      EXECUTE_TEST_CODE_INT32_INTPTR(LoadWordUnaligned, test->entry(),
+                                     reinterpret_cast<intptr_t>(&buffer[0])));
+  EXPECT_EQ(
+      static_cast<int32_t>(0x9A785634),
+      EXECUTE_TEST_CODE_INT32_INTPTR(LoadWordUnaligned, test->entry(),
+                                     reinterpret_cast<intptr_t>(&buffer[1])));
+  EXPECT_EQ(
+      static_cast<int32_t>(0xBC9A7856),
+      EXECUTE_TEST_CODE_INT32_INTPTR(LoadWordUnaligned, test->entry(),
+                                     reinterpret_cast<intptr_t>(&buffer[2])));
+  EXPECT_EQ(
+      static_cast<int32_t>(0xDEBC9A78),
+      EXECUTE_TEST_CODE_INT32_INTPTR(LoadWordUnaligned, test->entry(),
+                                     reinterpret_cast<intptr_t>(&buffer[3])));
 }
 
 
@@ -1822,46 +1805,35 @@
 ASSEMBLER_TEST_RUN(StoreWordUnaligned, test) {
   EXPECT(test != NULL);
   typedef intptr_t (*StoreWordUnaligned)(intptr_t) DART_UNUSED;
-  uint8_t buffer[8] = {
-    0, 0, 0, 0,
-    0, 0, 0, 0
-  };
+  uint8_t buffer[8] = {0, 0, 0, 0, 0, 0, 0, 0};
 
-  EXPECT_EQ(0x12345678,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[0])));
+  EXPECT_EQ(0x12345678, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                            StoreWordUnaligned, test->entry(),
+                            reinterpret_cast<intptr_t>(&buffer[0])));
   EXPECT_EQ(0x78, buffer[0]);
   EXPECT_EQ(0x56, buffer[1]);
   EXPECT_EQ(0x34, buffer[2]);
   EXPECT_EQ(0x12, buffer[3]);
 
-  EXPECT_EQ(0x12345678,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[1])));
+  EXPECT_EQ(0x12345678, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                            StoreWordUnaligned, test->entry(),
+                            reinterpret_cast<intptr_t>(&buffer[1])));
   EXPECT_EQ(0x78, buffer[1]);
   EXPECT_EQ(0x56, buffer[2]);
   EXPECT_EQ(0x34, buffer[3]);
   EXPECT_EQ(0x12, buffer[4]);
 
-  EXPECT_EQ(0x12345678,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[2])));
+  EXPECT_EQ(0x12345678, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                            StoreWordUnaligned, test->entry(),
+                            reinterpret_cast<intptr_t>(&buffer[2])));
   EXPECT_EQ(0x78, buffer[2]);
   EXPECT_EQ(0x56, buffer[3]);
   EXPECT_EQ(0x34, buffer[4]);
   EXPECT_EQ(0x12, buffer[5]);
 
-  EXPECT_EQ(0x12345678,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[3])));
+  EXPECT_EQ(0x12345678, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                            StoreWordUnaligned, test->entry(),
+                            reinterpret_cast<intptr_t>(&buffer[3])));
   EXPECT_EQ(0x78, buffer[3]);
   EXPECT_EQ(0x56, buffer[4]);
   EXPECT_EQ(0x34, buffer[5]);
@@ -2108,7 +2080,8 @@
 ASSEMBLER_TEST_RUN(Fmovdi2, test) {
   typedef double (*DoubleReturn)() DART_UNUSED;
   EXPECT_FLOAT_EQ(123412983.1324524315,
-      EXECUTE_TEST_CODE_DOUBLE(DoubleReturn, test->entry()), 0.0001f);
+                  EXECUTE_TEST_CODE_DOUBLE(DoubleReturn, test->entry()),
+                  0.0001f);
 }
 
 
@@ -2143,8 +2116,8 @@
 ASSEMBLER_TEST_GENERATE(FldrdFstrdPrePostIndex, assembler) {
   __ SetupDartSP();
   __ LoadDImmediate(V1, 42.0);
-  __ fstrd(V1, Address(SP, -1*kWordSize, Address::PreIndex));
-  __ fldrd(V0, Address(SP, 1*kWordSize, Address::PostIndex));
+  __ fstrd(V1, Address(SP, -1 * kWordSize, Address::PreIndex));
+  __ fldrd(V0, Address(SP, 1 * kWordSize, Address::PostIndex));
   __ RestoreCSP();
   __ ret();
 }
@@ -2160,8 +2133,8 @@
   __ SetupDartSP();
   __ LoadDImmediate(V1, 42.0);
   __ fcvtsd(V2, V1);
-  __ fstrs(V2, Address(SP, -1*kWordSize, Address::PreIndex));
-  __ fldrs(V3, Address(SP, 1*kWordSize, Address::PostIndex));
+  __ fstrs(V2, Address(SP, -1 * kWordSize, Address::PreIndex));
+  __ fldrs(V3, Address(SP, 1 * kWordSize, Address::PostIndex));
   __ fcvtds(V0, V3);
   __ RestoreCSP();
   __ ret();
@@ -2385,9 +2358,9 @@
   __ LoadDImmediate(V0, 43.0);
   __ LoadDImmediate(V1, 42.0);
   // Largest negative offset that can fit in the signed 9-bit immediate field.
-  __ fstrd(V1, Address(SP, -32*kWordSize, Address::PreIndex));
+  __ fstrd(V1, Address(SP, -32 * kWordSize, Address::PreIndex));
   // Largest positive kWordSize aligned offset that we can fit.
-  __ fldrd(V0, Address(SP, 31*kWordSize, Address::PostIndex));
+  __ fldrd(V0, Address(SP, 31 * kWordSize, Address::PostIndex));
   // Correction.
   __ add(SP, SP, Operand(kWordSize));  // Restore SP.
   __ RestoreCSP();
@@ -2405,9 +2378,9 @@
   __ SetupDartSP();
   __ LoadDImmediate(V0, 43.0);
   __ LoadDImmediate(V1, 42.0);
-  __ sub(SP, SP, Operand(512*kWordSize));
-  __ fstrd(V1, Address(SP, 512*kWordSize, Address::Offset));
-  __ add(SP, SP, Operand(512*kWordSize));
+  __ sub(SP, SP, Operand(512 * kWordSize));
+  __ fstrd(V1, Address(SP, 512 * kWordSize, Address::Offset));
+  __ add(SP, SP, Operand(512 * kWordSize));
   __ fldrd(V0, Address(SP));
   __ RestoreCSP();
   __ ret();
@@ -2448,11 +2421,11 @@
   __ LoadDImmediate(V0, 43.0);
   __ LoadDImmediate(V1, 42.0);
   __ movz(R2, Immediate(10), 0);
-  __ sub(SP, SP, Operand(10*kWordSize));
+  __ sub(SP, SP, Operand(10 * kWordSize));
   // Store V1 into SP + R2 * kWordSize.
   __ fstrd(V1, Address(SP, R2, UXTX, Address::Scaled));
   __ fldrd(V0, Address(SP, R2, UXTX, Address::Scaled));
-  __ add(SP, SP, Operand(10*kWordSize));
+  __ add(SP, SP, Operand(10 * kWordSize));
   __ RestoreCSP();
   __ ret();
 }
@@ -3578,9 +3551,12 @@
 // This is the same function as in the Simulator.
 static float arm_recip_estimate(float a) {
   // From the ARM Architecture Reference Manual A2-85.
-  if (isinf(a) || (fabs(a) >= exp2f(126))) return 0.0;
-  else if (a == 0.0) return kPosInfinity;
-  else if (isnan(a)) return a;
+  if (isinf(a) || (fabs(a) >= exp2f(126)))
+    return 0.0;
+  else if (a == 0.0)
+    return kPosInfinity;
+  else if (isnan(a))
+    return a;
 
   uint32_t a_bits = bit_cast<uint32_t, float>(a);
   // scaled = '0011 1111 1110' : a<22:0> : Zeros(29)
@@ -3600,7 +3576,7 @@
   // r in units of 1/256 rounded to nearest.
   int32_t s = static_cast<int32_t>(256.0 * r + 0.5);
   double estimate = static_cast<double>(s) / 256.0;
-  ASSERT((estimate >= 1.0) && (estimate <= (511.0/256.0)));
+  ASSERT((estimate >= 1.0) && (estimate <= (511.0 / 256.0)));
 
   // result = sign : result_exp<7:0> : estimate<51:29>
   int32_t result_bits =
@@ -3687,9 +3663,12 @@
 
 static float arm_reciprocal_sqrt_estimate(float a) {
   // From the ARM Architecture Reference Manual A2-87.
-  if (isinf(a) || (fabs(a) >= exp2f(126))) return 0.0;
-  else if (a == 0.0) return kPosInfinity;
-  else if (isnan(a)) return a;
+  if (isinf(a) || (fabs(a) >= exp2f(126)))
+    return 0.0;
+  else if (a == 0.0)
+    return kPosInfinity;
+  else if (isnan(a))
+    return a;
 
   uint32_t a_bits = bit_cast<uint32_t, float>(a);
   uint64_t scaled;
@@ -3727,10 +3706,11 @@
   // r in units of 1/256 rounded to nearest.
   int32_t s = static_cast<int>(256.0 * r + 0.5);
   double estimate = static_cast<double>(s) / 256.0;
-  ASSERT((estimate >= 1.0) && (estimate <= (511.0/256.0)));
+  ASSERT((estimate >= 1.0) && (estimate <= (511.0 / 256.0)));
 
   // result = 0 : result_exp<7:0> : estimate<51:29>
-  int32_t result_bits = ((result_exp & 0xff) << 23) |
+  int32_t result_bits =
+      ((result_exp & 0xff) << 23) |
       ((bit_cast<uint64_t, double>(estimate) >> 29) & 0x7fffff);
   return bit_cast<float, int32_t>(result_bits);
 }
@@ -3756,16 +3736,16 @@
 
 
 ASSEMBLER_TEST_GENERATE(Vrsqrtss, assembler) {
-    __ LoadDImmediate(V1, 5.0);
-    __ LoadDImmediate(V2, 10.0);
+  __ LoadDImmediate(V1, 5.0);
+  __ LoadDImmediate(V2, 10.0);
 
-    __ fcvtsd(V1, V1);
-    __ fcvtsd(V2, V2);
+  __ fcvtsd(V1, V1);
+  __ fcvtsd(V2, V2);
 
-    __ vrsqrtss(V0, V1, V2);
+  __ vrsqrtss(V0, V1, V2);
 
-    __ fcvtds(V0, V0);
-    __ ret();
+  __ fcvtds(V0, V0);
+  __ ret();
 }
 
 
@@ -3773,18 +3753,18 @@
   EXPECT(test != NULL);
   typedef double (*DoubleReturn)() DART_UNUSED;
   double res = EXECUTE_TEST_CODE_DOUBLE(DoubleReturn, test->entry());
-  EXPECT_FLOAT_EQ((3.0 - 10.0 * 5.0)/2.0, res, 0.0001);
+  EXPECT_FLOAT_EQ((3.0 - 10.0 * 5.0) / 2.0, res, 0.0001);
 }
 
 
 ASSEMBLER_TEST_GENERATE(ReciprocalSqrt, assembler) {
-    __ LoadDImmediate(V1, 147000.0);
-    __ fcvtsd(V1, V1);
+  __ LoadDImmediate(V1, 147000.0);
+  __ fcvtsd(V1, V1);
 
-    __ VRSqrts(V0, V1);
+  __ VRSqrts(V0, V1);
 
-    __ fcvtds(V0, V0);
-    __ ret();
+  __ fcvtds(V0, V0);
+  __ ret();
 }
 
 
@@ -3792,7 +3772,7 @@
   EXPECT(test != NULL);
   typedef double (*DoubleReturn)() DART_UNUSED;
   double res = EXECUTE_TEST_CODE_DOUBLE(DoubleReturn, test->entry());
-  EXPECT_FLOAT_EQ(1.0/sqrt(147000.0), res, 0.0001);
+  EXPECT_FLOAT_EQ(1.0 / sqrt(147000.0), res, 0.0001);
 }
 
 
@@ -3807,8 +3787,7 @@
   __ Push(THR);
   __ Push(LR);
   __ mov(THR, R2);
-  __ StoreIntoObject(R1,
-                     FieldAddress(R1, GrowableObjectArray::data_offset()),
+  __ StoreIntoObject(R1, FieldAddress(R1, GrowableObjectArray::data_offset()),
                      R0);
   __ Pop(LR);
   __ Pop(THR);
diff --git a/runtime/vm/assembler_arm_test.cc b/runtime/vm/assembler_arm_test.cc
index 8fe9960..e424b6a 100644
--- a/runtime/vm/assembler_arm_test.cc
+++ b/runtime/vm/assembler_arm_test.cc
@@ -108,19 +108,17 @@
   EXPECT(test != NULL);
   typedef intptr_t (*LoadHalfWordUnaligned)(intptr_t) DART_UNUSED;
   uint8_t buffer[4] = {
-    0x89, 0xAB, 0xCD, 0xEF,
+      0x89, 0xAB, 0xCD, 0xEF,
   };
 
-  EXPECT_EQ(static_cast<int16_t>(static_cast<uint16_t>(0xAB89)),
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadHalfWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[0])));
-  EXPECT_EQ(static_cast<int16_t>(static_cast<uint16_t>(0xCDAB)),
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadHalfWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[1])));
+  EXPECT_EQ(
+      static_cast<int16_t>(static_cast<uint16_t>(0xAB89)),
+      EXECUTE_TEST_CODE_INTPTR_INTPTR(LoadHalfWordUnaligned, test->entry(),
+                                      reinterpret_cast<intptr_t>(&buffer[0])));
+  EXPECT_EQ(
+      static_cast<int16_t>(static_cast<uint16_t>(0xCDAB)),
+      EXECUTE_TEST_CODE_INTPTR_INTPTR(LoadHalfWordUnaligned, test->entry(),
+                                      reinterpret_cast<intptr_t>(&buffer[1])));
 }
 
 
@@ -135,19 +133,15 @@
   EXPECT(test != NULL);
   typedef intptr_t (*LoadHalfWordUnsignedUnaligned)(intptr_t) DART_UNUSED;
   uint8_t buffer[4] = {
-    0x89, 0xAB, 0xCD, 0xEF,
+      0x89, 0xAB, 0xCD, 0xEF,
   };
 
-  EXPECT_EQ(0xAB89,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadHalfWordUnsignedUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[0])));
-  EXPECT_EQ(0xCDAB,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadHalfWordUnsignedUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[1])));
+  EXPECT_EQ(0xAB89, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                        LoadHalfWordUnsignedUnaligned, test->entry(),
+                        reinterpret_cast<intptr_t>(&buffer[0])));
+  EXPECT_EQ(0xCDAB, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                        LoadHalfWordUnsignedUnaligned, test->entry(),
+                        reinterpret_cast<intptr_t>(&buffer[1])));
 }
 
 
@@ -163,23 +157,19 @@
   EXPECT(test != NULL);
   typedef intptr_t (*StoreHalfWordUnaligned)(intptr_t) DART_UNUSED;
   uint8_t buffer[4] = {
-    0, 0, 0, 0,
+      0, 0, 0, 0,
   };
 
-  EXPECT_EQ(0xABCD,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreHalfWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[0])));
+  EXPECT_EQ(0xABCD, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                        StoreHalfWordUnaligned, test->entry(),
+                        reinterpret_cast<intptr_t>(&buffer[0])));
   EXPECT_EQ(0xCD, buffer[0]);
   EXPECT_EQ(0xAB, buffer[1]);
   EXPECT_EQ(0, buffer[2]);
 
-  EXPECT_EQ(0xABCD,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreHalfWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[1])));
+  EXPECT_EQ(0xABCD, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                        StoreHalfWordUnaligned, test->entry(),
+                        reinterpret_cast<intptr_t>(&buffer[1])));
   EXPECT_EQ(0xCD, buffer[1]);
   EXPECT_EQ(0xAB, buffer[2]);
   EXPECT_EQ(0, buffer[3]);
@@ -196,31 +186,24 @@
 ASSEMBLER_TEST_RUN(LoadWordUnaligned, test) {
   EXPECT(test != NULL);
   typedef intptr_t (*LoadWordUnaligned)(intptr_t) DART_UNUSED;
-  uint8_t buffer[8] = {
-    0x12, 0x34, 0x56, 0x78,
-    0x9A, 0xBC, 0xDE, 0xF0
-  };
+  uint8_t buffer[8] = {0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0};
 
-  EXPECT_EQ(0x78563412,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[0])));
-  EXPECT_EQ(0x9A785634,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[1])));
-  EXPECT_EQ(0xBC9A7856,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[2])));
-  EXPECT_EQ(0xDEBC9A78,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[3])));
+  EXPECT_EQ(
+      static_cast<intptr_t>(0x78563412),
+      EXECUTE_TEST_CODE_INTPTR_INTPTR(LoadWordUnaligned, test->entry(),
+                                      reinterpret_cast<intptr_t>(&buffer[0])));
+  EXPECT_EQ(
+      static_cast<intptr_t>(0x9A785634),
+      EXECUTE_TEST_CODE_INTPTR_INTPTR(LoadWordUnaligned, test->entry(),
+                                      reinterpret_cast<intptr_t>(&buffer[1])));
+  EXPECT_EQ(
+      static_cast<intptr_t>(0xBC9A7856),
+      EXECUTE_TEST_CODE_INTPTR_INTPTR(LoadWordUnaligned, test->entry(),
+                                      reinterpret_cast<intptr_t>(&buffer[2])));
+  EXPECT_EQ(
+      static_cast<intptr_t>(0xDEBC9A78),
+      EXECUTE_TEST_CODE_INTPTR_INTPTR(LoadWordUnaligned, test->entry(),
+                                      reinterpret_cast<intptr_t>(&buffer[3])));
 }
 
 
@@ -235,46 +218,35 @@
 ASSEMBLER_TEST_RUN(StoreWordUnaligned, test) {
   EXPECT(test != NULL);
   typedef intptr_t (*StoreWordUnaligned)(intptr_t) DART_UNUSED;
-  uint8_t buffer[8] = {
-    0, 0, 0, 0,
-    0, 0, 0, 0
-  };
+  uint8_t buffer[8] = {0, 0, 0, 0, 0, 0, 0, 0};
 
-  EXPECT_EQ(0x12345678,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[0])));
+  EXPECT_EQ(0x12345678, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                            StoreWordUnaligned, test->entry(),
+                            reinterpret_cast<intptr_t>(&buffer[0])));
   EXPECT_EQ(0x78, buffer[0]);
   EXPECT_EQ(0x56, buffer[1]);
   EXPECT_EQ(0x34, buffer[2]);
   EXPECT_EQ(0x12, buffer[3]);
 
-  EXPECT_EQ(0x12345678,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[1])));
+  EXPECT_EQ(0x12345678, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                            StoreWordUnaligned, test->entry(),
+                            reinterpret_cast<intptr_t>(&buffer[1])));
   EXPECT_EQ(0x78, buffer[1]);
   EXPECT_EQ(0x56, buffer[2]);
   EXPECT_EQ(0x34, buffer[3]);
   EXPECT_EQ(0x12, buffer[4]);
 
-  EXPECT_EQ(0x12345678,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[2])));
+  EXPECT_EQ(0x12345678, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                            StoreWordUnaligned, test->entry(),
+                            reinterpret_cast<intptr_t>(&buffer[2])));
   EXPECT_EQ(0x78, buffer[2]);
   EXPECT_EQ(0x56, buffer[3]);
   EXPECT_EQ(0x34, buffer[4]);
   EXPECT_EQ(0x12, buffer[5]);
 
-  EXPECT_EQ(0x12345678,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[3])));
+  EXPECT_EQ(0x12345678, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                            StoreWordUnaligned, test->entry(),
+                            reinterpret_cast<intptr_t>(&buffer[3])));
   EXPECT_EQ(0x78, buffer[3]);
   EXPECT_EQ(0x56, buffer[4]);
   EXPECT_EQ(0x34, buffer[5]);
@@ -286,14 +258,14 @@
   if (TargetCPUFeatures::vfp_supported()) {
     __ mov(R3, Operand(43));
     __ mov(R1, Operand(41));
-    __ vmovsrr(S1, R1, R3);  // S1:S2 = 41:43
-    __ vmovs(S0, S2);  // S0 = S2, S0:S1 == 43:41
-    __ vmovd(D2, D0);  // D2 = D0, S4:S5 == 43:41
-    __ vmovrs(R3, S5);  // R3 = S5, R3 == 41
-    __ vmovrrs(R1, R2, S4);  // R1:R2 = S4:S5, R1:R2 == 43:41
-    __ vmovdrr(D3, R3, R2);  // D3 = R3:R2, S6:S7 == 41:41
-    __ vmovdr(D3, 1, R1);  // D3[1] == S7 = R1, S6:S7 == 41:43
-    __ vmovrrd(R0, R1, D3);  // R0:R1 = D3, R0:R1 == 41:43
+    __ vmovsrr(S1, R1, R3);       // S1:S2 = 41:43
+    __ vmovs(S0, S2);             // S0 = S2, S0:S1 == 43:41
+    __ vmovd(D2, D0);             // D2 = D0, S4:S5 == 43:41
+    __ vmovrs(R3, S5);            // R3 = S5, R3 == 41
+    __ vmovrrs(R1, R2, S4);       // R1:R2 = S4:S5, R1:R2 == 43:41
+    __ vmovdrr(D3, R3, R2);       // D3 = R3:R2, S6:S7 == 41:41
+    __ vmovdr(D3, 1, R1);         // D3[1] == S7 = R1, S6:S7 == 41:43
+    __ vmovrrd(R0, R1, D3);       // R0:R1 = D3, R0:R1 == 41:43
     __ sub(R0, R1, Operand(R0));  // 43-41
   }
   __ bx(LR);
@@ -328,7 +300,7 @@
   if (TargetCPUFeatures::vfp_supported()) {
     typedef float (*SingleVLoadStore)() DART_UNUSED;
     float res = EXECUTE_TEST_CODE_FLOAT(SingleVLoadStore, test->entry());
-    EXPECT_FLOAT_EQ(2*12.3f, res, 0.001f);
+    EXPECT_FLOAT_EQ(2 * 12.3f, res, 0.001f);
   }
 }
 
@@ -357,7 +329,7 @@
   if (TargetCPUFeatures::vfp_supported()) {
     typedef float (*SingleVLoadStore)() DART_UNUSED;
     float res = EXECUTE_TEST_CODE_FLOAT(SingleVLoadStore, test->entry());
-    EXPECT_FLOAT_EQ(2*12.3f, res, 0.001f);
+    EXPECT_FLOAT_EQ(2 * 12.3f, res, 0.001f);
   }
 }
 
@@ -385,7 +357,7 @@
   if (TargetCPUFeatures::vfp_supported()) {
     typedef double (*DoubleVLoadStore)() DART_UNUSED;
     float res = EXECUTE_TEST_CODE_DOUBLE(DoubleVLoadStore, test->entry());
-    EXPECT_FLOAT_EQ(2*12.3f, res, 0.001f);
+    EXPECT_FLOAT_EQ(2 * 12.3f, res, 0.001f);
   }
 }
 
@@ -394,13 +366,13 @@
   if (TargetCPUFeatures::vfp_supported()) {
     __ LoadSImmediate(S0, 12.3f);
     __ LoadSImmediate(S1, 3.4f);
-    __ vnegs(S0, S0);  // -12.3f
-    __ vabss(S0, S0);  // 12.3f
+    __ vnegs(S0, S0);      // -12.3f
+    __ vabss(S0, S0);      // 12.3f
     __ vadds(S0, S0, S1);  // 15.7f
     __ vmuls(S0, S0, S1);  // 53.38f
     __ vsubs(S0, S0, S1);  // 49.98f
     __ vdivs(S0, S0, S1);  // 14.7f
-    __ vsqrts(S0, S0);  // 3.8340579f
+    __ vsqrts(S0, S0);     // 3.8340579f
   }
   __ bx(LR);
 }
@@ -420,13 +392,13 @@
   if (TargetCPUFeatures::vfp_supported()) {
     __ LoadDImmediate(D0, 12.3, R0);
     __ LoadDImmediate(D1, 3.4, R0);
-    __ vnegd(D0, D0);  // -12.3
-    __ vabsd(D0, D0);  // 12.3
+    __ vnegd(D0, D0);      // -12.3
+    __ vabsd(D0, D0);      // 12.3
     __ vaddd(D0, D0, D1);  // 15.7
     __ vmuld(D0, D0, D1);  // 53.38
     __ vsubd(D0, D0, D1);  // 49.98
     __ vdivd(D0, D0, D1);  // 14.7
-    __ vsqrtd(D0, D0);  // 3.8340579
+    __ vsqrtd(D0, D0);     // 3.8340579
   }
   __ bx(LR);
 }
@@ -479,8 +451,8 @@
   EXPECT(test != NULL);
   if (TargetCPUFeatures::vfp_supported()) {
     typedef double (*IntToDoubleConversionCode)() DART_UNUSED;
-    double res = EXECUTE_TEST_CODE_DOUBLE(IntToDoubleConversionCode,
-                                          test->entry());
+    double res =
+        EXECUTE_TEST_CODE_DOUBLE(IntToDoubleConversionCode, test->entry());
     EXPECT_FLOAT_EQ(6.0, res, 0.001);
   }
 }
@@ -506,8 +478,8 @@
   EXPECT(test != NULL);
   if (TargetCPUFeatures::vfp_supported()) {
     typedef double (*LongToDoubleConversionCode)() DART_UNUSED;
-    double res = EXECUTE_TEST_CODE_DOUBLE(LongToDoubleConversionCode,
-                                          test->entry());
+    double res =
+        EXECUTE_TEST_CODE_DOUBLE(LongToDoubleConversionCode, test->entry());
     EXPECT_FLOAT_EQ(60000000000.0, res, 0.001);
   }
 }
@@ -527,8 +499,8 @@
   EXPECT(test != NULL);
   if (TargetCPUFeatures::vfp_supported()) {
     typedef float (*IntToFloatConversionCode)() DART_UNUSED;
-    float res = EXECUTE_TEST_CODE_FLOAT(IntToFloatConversionCode,
-                                        test->entry());
+    float res =
+        EXECUTE_TEST_CODE_FLOAT(IntToFloatConversionCode, test->entry());
     EXPECT_FLOAT_EQ(6.0, res, 0.001);
   }
 }
@@ -547,15 +519,12 @@
   EXPECT(test != NULL);
   if (TargetCPUFeatures::vfp_supported()) {
     typedef int (*FloatToIntConversion)(float arg) DART_UNUSED;
-    EXPECT_EQ(12,
-              EXECUTE_TEST_CODE_INT32_F(FloatToIntConversion, test->entry(),
-                                        12.8f));
-    EXPECT_EQ(INT_MIN,
-              EXECUTE_TEST_CODE_INT32_F(FloatToIntConversion, test->entry(),
-                                        -FLT_MAX));
-    EXPECT_EQ(INT_MAX,
-              EXECUTE_TEST_CODE_INT32_F(FloatToIntConversion, test->entry(),
-                                        FLT_MAX));
+    EXPECT_EQ(12, EXECUTE_TEST_CODE_INT32_F(FloatToIntConversion, test->entry(),
+                                            12.8f));
+    EXPECT_EQ(INT_MIN, EXECUTE_TEST_CODE_INT32_F(FloatToIntConversion,
+                                                 test->entry(), -FLT_MAX));
+    EXPECT_EQ(INT_MAX, EXECUTE_TEST_CODE_INT32_F(FloatToIntConversion,
+                                                 test->entry(), FLT_MAX));
   }
 }
 
@@ -573,15 +542,12 @@
   if (TargetCPUFeatures::vfp_supported()) {
     typedef int (*DoubleToIntConversion)(double arg) DART_UNUSED;
     EXPECT(test != NULL);
-    EXPECT_EQ(12,
-              EXECUTE_TEST_CODE_INT32_D(DoubleToIntConversion, test->entry(),
-                                        12.8));
-    EXPECT_EQ(INT_MIN,
-              EXECUTE_TEST_CODE_INT32_D(DoubleToIntConversion, test->entry(),
-                                        -DBL_MAX));
-    EXPECT_EQ(INT_MAX,
-              EXECUTE_TEST_CODE_INT32_D(DoubleToIntConversion, test->entry(),
-                                        DBL_MAX));
+    EXPECT_EQ(12, EXECUTE_TEST_CODE_INT32_D(DoubleToIntConversion,
+                                            test->entry(), 12.8));
+    EXPECT_EQ(INT_MIN, EXECUTE_TEST_CODE_INT32_D(DoubleToIntConversion,
+                                                 test->entry(), -DBL_MAX));
+    EXPECT_EQ(INT_MAX, EXECUTE_TEST_CODE_INT32_D(DoubleToIntConversion,
+                                                 test->entry(), DBL_MAX));
   }
 }
 
@@ -599,8 +565,8 @@
   if (TargetCPUFeatures::vfp_supported()) {
     typedef double (*FloatToDoubleConversionCode)() DART_UNUSED;
     EXPECT(test != NULL);
-    double res = EXECUTE_TEST_CODE_DOUBLE(FloatToDoubleConversionCode,
-                                          test->entry());
+    double res =
+        EXECUTE_TEST_CODE_DOUBLE(FloatToDoubleConversionCode, test->entry());
     EXPECT_FLOAT_EQ(12.8, res, 0.001);
   }
 }
@@ -619,8 +585,8 @@
   EXPECT(test != NULL);
   if (TargetCPUFeatures::vfp_supported()) {
     typedef float (*DoubleToFloatConversionCode)() DART_UNUSED;
-    float res = EXECUTE_TEST_CODE_FLOAT(DoubleToFloatConversionCode,
-                                        test->entry());
+    float res =
+        EXECUTE_TEST_CODE_FLOAT(DoubleToFloatConversionCode, test->entry());
     EXPECT_FLOAT_EQ(12.8, res, 0.001);
   }
 }
@@ -807,7 +773,7 @@
     __ strex(IP, R1, SP);  // IP == 0, success
     __ tst(IP, Operand(0));
     __ b(&retry, NE);  // NE if context switch occurred between ldrex and strex.
-    __ Pop(R0);  // 42
+    __ Pop(R0);        // 42
   }
   __ bx(LR);
 }
@@ -828,9 +794,9 @@
     __ mov(R1, Operand(42));
     __ Push(R0);
     __ ldrex(R0, SP);
-    __ clrex();  // Simulate a context switch.
+    __ clrex();            // Simulate a context switch.
     __ strex(IP, R1, SP);  // IP == 1, failure
-    __ Pop(R0);  // 40
+    __ Pop(R0);            // 40
     __ add(R0, R0, Operand(IP));
   }
   __ bx(LR);
@@ -886,7 +852,7 @@
   __ mov(R0, Operand(0));
   __ adds(IP, R2, Operand(R1));  // c_out = 1.
   __ adcs(IP, R2, Operand(R0));  // c_in = 1, c_out = 1.
-  __ adc(R0, R0, Operand(R0));  // c_in = 1.
+  __ adc(R0, R0, Operand(R0));   // c_in = 1.
   __ bx(LR);
 }
 
@@ -920,7 +886,7 @@
   __ mov(R0, Operand(0));
   __ subs(IP, R0, Operand(R1));  // c_out = 1.
   __ sbcs(IP, R0, Operand(R0));  // c_in = 1, c_out = 1.
-  __ sbc(R0, R0, Operand(R0));  // c_in = 1.
+  __ sbc(R0, R0, Operand(R0));   // c_in = 1.
   __ bx(LR);
 }
 
@@ -968,7 +934,7 @@
 
 ASSEMBLER_TEST_GENERATE(Orrs, assembler) {
   __ mov(R0, Operand(0));
-  __ tst(R0, Operand(R1));  // Set zero-flag.
+  __ tst(R0, Operand(R1));      // Set zero-flag.
   __ orrs(R0, R0, Operand(1));  // Clear zero-flag.
   __ bx(LR, EQ);
   __ mov(R0, Operand(42));
@@ -1009,7 +975,7 @@
     __ vcvtdi(D2, S4);
     __ vdivd(D0, D1, D2);
     __ vcvtid(S0, D0);
-    __ vmovrs(R1, S0);  // r1 = r0/r2
+    __ vmovrs(R1, S0);       // r1 = r0/r2
     __ mls(R0, R1, R2, R0);  // r0 = r0 - r1*r2
   }
   __ bx(LR);
@@ -1019,8 +985,8 @@
 ASSEMBLER_TEST_RUN(QuotientRemainder, test) {
   EXPECT(test != NULL);
   if (TargetCPUFeatures::vfp_supported()) {
-    typedef int64_t (*QuotientRemainder)
-        (int64_t dividend, int64_t divisor) DART_UNUSED;
+    typedef int64_t (*QuotientRemainder)(int64_t dividend, int64_t divisor)
+        DART_UNUSED;
     EXPECT_EQ(0x1000400000da8LL,
               EXECUTE_TEST_CODE_INT64_LL(QuotientRemainder, test->entry(),
                                          0x12345678, 0x1234));
@@ -1042,8 +1008,8 @@
 
 ASSEMBLER_TEST_RUN(Multiply64To64, test) {
   EXPECT(test != NULL);
-  typedef int64_t (*Multiply64To64)
-      (int64_t operand0, int64_t operand1) DART_UNUSED;
+  typedef int64_t (*Multiply64To64)(int64_t operand0, int64_t operand1)
+      DART_UNUSED;
   EXPECT_EQ(6,
             EXECUTE_TEST_CODE_INT64_LL(Multiply64To64, test->entry(), -3, -2));
 }
@@ -1057,8 +1023,8 @@
 
 ASSEMBLER_TEST_RUN(Multiply32To64, test) {
   EXPECT(test != NULL);
-  typedef int64_t (*Multiply32To64)
-      (int64_t operand0, int64_t operand1) DART_UNUSED;
+  typedef int64_t (*Multiply32To64)(int64_t operand0, int64_t operand1)
+      DART_UNUSED;
   EXPECT_EQ(6,
             EXECUTE_TEST_CODE_INT64_LL(Multiply32To64, test->entry(), -3, -2));
 }
@@ -1072,8 +1038,8 @@
 
 ASSEMBLER_TEST_RUN(MultiplyAccumAccum32To64, test) {
   EXPECT(test != NULL);
-  typedef int64_t (*MultiplyAccumAccum32To64)
-      (int64_t operand0, int64_t operand1) DART_UNUSED;
+  typedef int64_t (*MultiplyAccumAccum32To64)(int64_t operand0,
+                                              int64_t operand1) DART_UNUSED;
   EXPECT_EQ(3 + 7 + 5 * 11,
             EXECUTE_TEST_CODE_INT64_LL(MultiplyAccumAccum32To64, test->entry(),
                                        (3LL << 32) + 7, (5LL << 32) + 11));
@@ -1334,12 +1300,12 @@
 
 ASSEMBLER_TEST_GENERATE(Ldrd, assembler) {
   __ mov(IP, Operand(SP));
-  __ sub(SP, SP, Operand(kWordSize*30));
+  __ sub(SP, SP, Operand(kWordSize * 30));
   __ strd(R2, R3, SP, 0);
-  __ strd(R0, R1, IP, (-kWordSize*28));
-  __ ldrd(R2, R3, IP, (-kWordSize*28));
+  __ strd(R0, R1, IP, (-kWordSize * 28));
+  __ ldrd(R2, R3, IP, (-kWordSize * 28));
   __ ldrd(R0, R1, SP, 0);
-  __ add(SP, SP, Operand(kWordSize*30));
+  __ add(SP, SP, Operand(kWordSize * 30));
   __ sub(R0, R0, Operand(R2));
   __ add(R1, R1, Operand(R3));
   __ bx(LR);
@@ -1349,8 +1315,9 @@
 ASSEMBLER_TEST_RUN(Ldrd, test) {
   EXPECT(test != NULL);
   typedef int64_t (*Tst)(int64_t r0r1, int64_t r2r3) DART_UNUSED;
-  EXPECT_EQ(0x0000444400002222LL, EXECUTE_TEST_CODE_INT64_LL(
-      Tst, test->entry(), 0x0000111100000000LL, 0x0000333300002222LL));
+  EXPECT_EQ(0x0000444400002222LL,
+            EXECUTE_TEST_CODE_INT64_LL(Tst, test->entry(), 0x0000111100000000LL,
+                                       0x0000333300002222LL));
 }
 
 
@@ -1369,23 +1336,23 @@
   __ str(R2, Address(SP));                 // Should be a free slot.
   __ ldr(R9, Address(SP, 1 * kWordSize));  // R0.  R9 = +1.
   __ ldr(IP, Address(SP, 2 * kWordSize));  // R1.
-  __ sub(R9, R9, Operand(IP));      // -R1. R9 = -6.
+  __ sub(R9, R9, Operand(IP));             // -R1. R9 = -6.
   __ ldr(IP, Address(SP, 3 * kWordSize));  // R2.
-  __ add(R9, R9, Operand(IP));      // +R2. R9 = +5.
+  __ add(R9, R9, Operand(IP));             // +R2. R9 = +5.
   __ ldr(IP, Address(SP, 4 * kWordSize));  // R3.
-  __ sub(R9, R9, Operand(IP));      // -R3. R9 = -26.
+  __ sub(R9, R9, Operand(IP));             // -R3. R9 = -26.
   __ ldm(IB_W, SP, (1 << R0 | 1 << R1 | 1 << R2 | 1 << R3));
   // Same operations again. But this time from the restore registers.
   __ add(R9, R9, Operand(R0));
   __ sub(R9, R9, Operand(R1));
   __ add(R9, R9, Operand(R2));
   __ sub(R0, R9, Operand(R3));  // R0 = result = -52.
-  __ Pop(R1);  // Remove storage slot.
-  __ Pop(R9);  // Restore R9.
-  __ Pop(R9);  // Restore R9.
-  __ Pop(R9);  // Restore R9.
-  __ Pop(R9);  // Restore R9.
-  __ Pop(R9);  // Restore R9.
+  __ Pop(R1);                   // Remove storage slot.
+  __ Pop(R9);                   // Restore R9.
+  __ Pop(R9);                   // Restore R9.
+  __ Pop(R9);                   // Restore R9.
+  __ Pop(R9);                   // Restore R9.
+  __ Pop(R9);                   // Restore R9.
   __ bx(LR);
 }
 
@@ -3164,10 +3131,10 @@
 ASSEMBLER_TEST_GENERATE(Vmvnq, assembler) {
   if (TargetCPUFeatures::neon_supported()) {
     __ LoadImmediate(R1, 42);  // R1 <- 42.
-    __ vmovsr(S2, R1);  // S2 <- R1.
-    __ vmvnq(Q1, Q0);  // Q1 <- ~Q0.
-    __ vmvnq(Q2, Q1);  // Q2 <- ~Q1.
-    __ vmovrs(R0, S10);  // Now R0 should be 42 again.
+    __ vmovsr(S2, R1);         // S2 <- R1.
+    __ vmvnq(Q1, Q0);          // Q1 <- ~Q0.
+    __ vmvnq(Q2, Q1);          // Q2 <- ~Q1.
+    __ vmovrs(R0, S10);        // Now R0 should be 42 again.
   }
   __ bx(LR);
 }
@@ -3702,9 +3669,12 @@
 // This is the same function as in the Simulator.
 static float arm_recip_estimate(float a) {
   // From the ARM Architecture Reference Manual A2-85.
-  if (isinf(a) || (fabs(a) >= exp2f(126))) return 0.0;
-  else if (a == 0.0) return kPosInfinity;
-  else if (isnan(a)) return a;
+  if (isinf(a) || (fabs(a) >= exp2f(126)))
+    return 0.0;
+  else if (a == 0.0)
+    return kPosInfinity;
+  else if (isnan(a))
+    return a;
 
   uint32_t a_bits = bit_cast<uint32_t, float>(a);
   // scaled = '0011 1111 1110' : a<22:0> : Zeros(29)
@@ -3724,7 +3694,7 @@
   // r in units of 1/256 rounded to nearest.
   int32_t s = static_cast<int32_t>(256.0 * r + 0.5);
   double estimate = static_cast<double>(s) / 256.0;
-  ASSERT((estimate >= 1.0) && (estimate <= (511.0/256.0)));
+  ASSERT((estimate >= 1.0) && (estimate <= (511.0 / 256.0)));
 
   // result = sign : result_exp<7:0> : estimate<51:29>
   int32_t result_bits =
@@ -3808,16 +3778,19 @@
   if (TargetCPUFeatures::neon_supported()) {
     typedef float (*Reciprocal)() DART_UNUSED;
     float res = EXECUTE_TEST_CODE_FLOAT(Reciprocal, test->entry());
-    EXPECT_FLOAT_EQ(1.0/147000.0, res, 0.0001f);
+    EXPECT_FLOAT_EQ(1.0 / 147000.0, res, 0.0001f);
   }
 }
 
 
 static float arm_reciprocal_sqrt_estimate(float a) {
   // From the ARM Architecture Reference Manual A2-87.
-  if (isinf(a) || (fabs(a) >= exp2f(126))) return 0.0;
-  else if (a == 0.0) return kPosInfinity;
-  else if (isnan(a)) return a;
+  if (isinf(a) || (fabs(a) >= exp2f(126)))
+    return 0.0;
+  else if (a == 0.0)
+    return kPosInfinity;
+  else if (isnan(a))
+    return a;
 
   uint32_t a_bits = bit_cast<uint32_t, float>(a);
   uint64_t scaled;
@@ -3855,10 +3828,11 @@
   // r in units of 1/256 rounded to nearest.
   int32_t s = static_cast<int>(256.0 * r + 0.5);
   double estimate = static_cast<double>(s) / 256.0;
-  ASSERT((estimate >= 1.0) && (estimate <= (511.0/256.0)));
+  ASSERT((estimate >= 1.0) && (estimate <= (511.0 / 256.0)));
 
   // result = 0 : result_exp<7:0> : estimate<51:29>
-  int32_t result_bits = ((result_exp & 0xff) << 23) |
+  int32_t result_bits =
+      ((result_exp & 0xff) << 23) |
       ((bit_cast<uint64_t, double>(estimate) >> 29) & 0x7fffff);
   return bit_cast<float, int32_t>(result_bits);
 }
@@ -3910,7 +3884,7 @@
   if (TargetCPUFeatures::neon_supported()) {
     typedef float (*Vrsqrtsqs)() DART_UNUSED;
     float res = EXECUTE_TEST_CODE_FLOAT(Vrsqrtsqs, test->entry());
-    EXPECT_FLOAT_EQ((3.0 - 10.0 * 5.0)/2.0, res, 0.0001f);
+    EXPECT_FLOAT_EQ((3.0 - 10.0 * 5.0) / 2.0, res, 0.0001f);
   }
 }
 
@@ -3926,9 +3900,9 @@
     __ vrsqrteqs(Q0, Q1);
     // 2 Newton-Raphson steps. xn+1 = xn * (3 - Q1*xn^2) / 2.
     // First step.
-    __ vmulqs(Q2, Q0, Q0);  // Q2 <- xn^2
+    __ vmulqs(Q2, Q0, Q0);     // Q2 <- xn^2
     __ vrsqrtsqs(Q2, Q1, Q2);  // Q2 <- (3 - Q1*Q2) / 2.
-    __ vmulqs(Q0, Q0, Q2);  // xn+1 <- xn * Q2
+    __ vmulqs(Q0, Q0, Q2);     // xn+1 <- xn * Q2
     // Second step.
     __ vmulqs(Q2, Q0, Q0);
     __ vrsqrtsqs(Q2, Q1, Q2);
@@ -3943,7 +3917,7 @@
   if (TargetCPUFeatures::neon_supported()) {
     typedef float (*ReciprocalSqrt)() DART_UNUSED;
     float res = EXECUTE_TEST_CODE_FLOAT(ReciprocalSqrt, test->entry());
-    EXPECT_FLOAT_EQ(1.0/sqrt(147000.0), res, 0.0001f);
+    EXPECT_FLOAT_EQ(1.0 / sqrt(147000.0), res, 0.0001f);
   }
 }
 
@@ -3959,9 +3933,9 @@
     __ vrsqrteqs(Q0, Q1);
     // 2 Newton-Raphson steps. xn+1 = xn * (3 - Q1*xn^2) / 2.
     // First step.
-    __ vmulqs(Q2, Q0, Q0);  // Q2 <- xn^2
+    __ vmulqs(Q2, Q0, Q0);     // Q2 <- xn^2
     __ vrsqrtsqs(Q2, Q1, Q2);  // Q2 <- (3 - Q1*Q2) / 2.
-    __ vmulqs(Q0, Q0, Q2);  // xn+1 <- xn * Q2
+    __ vmulqs(Q0, Q0, Q2);     // xn+1 <- xn * Q2
     // Second step.
     __ vmulqs(Q2, Q0, Q0);
     __ vrsqrtsqs(Q2, Q1, Q2);
@@ -4002,9 +3976,9 @@
     __ vrsqrteqs(Q0, Q1);
     // 2 Newton-Raphson steps. xn+1 = xn * (3 - Q1*xn^2) / 2.
     // First step.
-    __ vmulqs(Q2, Q0, Q0);  // Q2 <- xn^2
+    __ vmulqs(Q2, Q0, Q0);     // Q2 <- xn^2
     __ vrsqrtsqs(Q2, Q1, Q2);  // Q2 <- (3 - Q1*Q2) / 2.
-    __ vmulqs(Q0, Q0, Q2);  // xn+1 <- xn * Q2
+    __ vmulqs(Q0, Q0, Q2);     // xn+1 <- xn * Q2
     // Second step.
     __ vmulqs(Q2, Q0, Q0);
     __ vrsqrtsqs(Q2, Q1, Q2);
@@ -4139,8 +4113,7 @@
 ASSEMBLER_TEST_GENERATE(StoreIntoObject, assembler) {
   __ PushList((1 << LR) | (1 << THR));
   __ mov(THR, Operand(R2));
-  __ StoreIntoObject(R1,
-                     FieldAddress(R1, GrowableObjectArray::data_offset()),
+  __ StoreIntoObject(R1, FieldAddress(R1, GrowableObjectArray::data_offset()),
                      R0);
   __ PopList((1 << LR) | (1 << THR));
   __ Ret();
diff --git a/runtime/vm/assembler_dbc.cc b/runtime/vm/assembler_dbc.cc
index f35d1d5..73beb06 100644
--- a/runtime/vm/assembler_dbc.cc
+++ b/runtime/vm/assembler_dbc.cc
@@ -26,11 +26,10 @@
   }
 }
 
-#define DEFINE_EMIT(Name, Signature, Fmt0, Fmt1, Fmt2)  \
-  void Assembler::Name(PARAMS_##Signature) {            \
-    Emit(Bytecode::FENCODE_##Signature(                 \
-        Bytecode::k##Name ENCODE_##Signature));         \
-  }                                                     \
+#define DEFINE_EMIT(Name, Signature, Fmt0, Fmt1, Fmt2)                         \
+  void Assembler::Name(PARAMS_##Signature) {                                   \
+    Emit(Bytecode::FENCODE_##Signature(Bytecode::k##Name ENCODE_##Signature)); \
+  }
 
 
 #define PARAMS_0
@@ -131,8 +130,7 @@
 
 
 intptr_t Assembler::AddConstant(const Object& obj) {
-  return object_pool_wrapper().FindObject(
-      Object::ZoneHandle(obj.raw()));
+  return object_pool_wrapper().FindObject(Object::ZoneHandle(obj.raw()));
 }
 
 
diff --git a/runtime/vm/assembler_dbc.h b/runtime/vm/assembler_dbc.h
index d956f70..dbe8216 100644
--- a/runtime/vm/assembler_dbc.h
+++ b/runtime/vm/assembler_dbc.h
@@ -29,7 +29,7 @@
 
 class Label : public ValueObject {
  public:
-  Label() : position_(0) { }
+  Label() : position_(0) {}
 
   ~Label() {
     // Assert if label is being destroyed with unresolved branches pending.
@@ -50,9 +50,7 @@
  private:
   intptr_t position_;
 
-  void Reinitialize() {
-    position_ = 0;
-  }
+  void Reinitialize() { position_ = 0; }
 
   void BindTo(intptr_t position) {
     ASSERT(!IsBound());
@@ -73,12 +71,9 @@
 
 class Assembler : public ValueObject {
  public:
-  explicit Assembler(bool use_far_branches = false)
-      : buffer_(),
-        comments_() {
-  }
+  explicit Assembler(bool use_far_branches = false) : buffer_(), comments_() {}
 
-  ~Assembler() { }
+  ~Assembler() {}
 
   void Bind(Label* label);
   void Jump(Label* label);
@@ -122,20 +117,16 @@
 
   static const char* RegisterName(Register reg);
 
-  static const char* FpuRegisterName(FpuRegister reg) {
-    return "?";
-  }
+  static const char* FpuRegisterName(FpuRegister reg) { return "?"; }
 
-  static uword GetBreakInstructionFiller() {
-    return Bytecode::kTrap;
-  }
+  static uword GetBreakInstructionFiller() { return Bytecode::kTrap; }
 
   static bool IsSafe(const Object& value) { return true; }
   static bool IsSafeSmi(const Object& value) { return false; }
 
-  // Bytecodes.
+// Bytecodes.
 
-#define DECLARE_EMIT(Name, Signature, Fmt0, Fmt1, Fmt2) \
+#define DECLARE_EMIT(Name, Signature, Fmt0, Fmt1, Fmt2)                        \
   void Name(PARAMS_##Signature);
 
 #define PARAMS_0
@@ -176,7 +167,7 @@
   class CodeComment : public ZoneAllocated {
    public:
     CodeComment(intptr_t pc_offset, const String& comment)
-        : pc_offset_(pc_offset), comment_(comment) { }
+        : pc_offset_(pc_offset), comment_(comment) {}
 
     intptr_t pc_offset() const { return pc_offset_; }
     const String& comment() const { return comment_; }
diff --git a/runtime/vm/assembler_dbc_test.cc b/runtime/vm/assembler_dbc_test.cc
index 254f638..a8d2fdf 100644
--- a/runtime/vm/assembler_dbc_test.cc
+++ b/runtime/vm/assembler_dbc_test.cc
@@ -14,22 +14,19 @@
 static RawObject* ExecuteTest(const Code& code) {
   Thread* thread = Thread::Current();
   TransitionToGenerated transition(thread);
-  return Simulator::Current()->Call(
-      code,
-      Array::Handle(ArgumentsDescriptor::New(0)),
-      Array::Handle(Array::New(0)),
-      thread);
+  return Simulator::Current()->Call(code,
+                                    Array::Handle(ArgumentsDescriptor::New(0)),
+                                    Array::Handle(Array::New(0)), thread);
 }
 
 
 #define EXECUTE_TEST_CODE_INTPTR(code)                                         \
-    Smi::Value(Smi::RawCast(ExecuteTest(code)))
+  Smi::Value(Smi::RawCast(ExecuteTest(code)))
 #define EXECUTE_TEST_CODE_BOOL(code)                                           \
-    (Bool::RawCast(ExecuteTest(code)) == Bool::True().raw())
-#define EXECUTE_TEST_CODE_OBJECT(code)                                         \
-    Object::Handle(ExecuteTest(code))
+  (Bool::RawCast(ExecuteTest(code)) == Bool::True().raw())
+#define EXECUTE_TEST_CODE_OBJECT(code) Object::Handle(ExecuteTest(code))
 #define EXECUTE_TEST_CODE_DOUBLE(code)                                         \
-    bit_cast<double, RawObject*>(ExecuteTest(code))
+  bit_cast<double, RawObject*>(ExecuteTest(code))
 
 #define __ assembler->
 
@@ -55,12 +52,11 @@
   const Script& script = Script::Handle();
   const Class& owner_class =
       Class::Handle(CreateDummyClass(class_name, script));
-  const Library& owner_library =
-      Library::Handle(CreateDummyLibrary(lib_name));
+  const Library& owner_library = Library::Handle(CreateDummyLibrary(lib_name));
   owner_class.set_library(owner_library);
   const String& function_name = String::ZoneHandle(Symbols::New(thread, name));
-  return Function::New(function_name, RawFunction::kRegularFunction,
-                       true, false, false, false, false, owner_class,
+  return Function::New(function_name, RawFunction::kRegularFunction, true,
+                       false, false, false, false, owner_class,
                        TokenPosition::kMinSource);
 }
 
@@ -86,11 +82,8 @@
   const Array& dummy_arguments_descriptor =
       Array::Handle(ArgumentsDescriptor::New(2));
   const ICData& ic_data = ICData::Handle(ICData::New(
-      dummy_instance_function,
-      String::Handle(dummy_instance_function.name()),
-      dummy_arguments_descriptor,
-      Thread::kNoDeoptId,
-      2,
+      dummy_instance_function, String::Handle(dummy_instance_function.name()),
+      dummy_arguments_descriptor, Thread::kNoDeoptId, 2,
       /* is_static_call= */ false));
 
   // Wire up the Function in the ICData.
@@ -1736,7 +1729,6 @@
 }
 
 
-
 //  - CheckSmi rA
 //
 //    If FP[rA] is a Smi, then skip the next instruction.
diff --git a/runtime/vm/assembler_ia32.cc b/runtime/vm/assembler_ia32.cc
index bb57905..713365d 100644
--- a/runtime/vm/assembler_ia32.cc
+++ b/runtime/vm/assembler_ia32.cc
@@ -35,8 +35,8 @@
 
 int32_t Assembler::jit_cookie() {
   if (jit_cookie_ == 0) {
-    jit_cookie_ = static_cast<int32_t>(
-        Isolate::Current()->random()->NextUInt32());
+    jit_cookie_ =
+        static_cast<int32_t>(Isolate::Current()->random()->NextUInt32());
   }
   return jit_cookie_;
 }
@@ -666,10 +666,8 @@
     uint32_t b;
     uint32_t c;
     uint32_t d;
-  } float_not_constant =
-      { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF };
-  xorps(dst,
-    Address::Absolute(reinterpret_cast<uword>(&float_not_constant)));
+  } float_not_constant = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF};
+  xorps(dst, Address::Absolute(reinterpret_cast<uword>(&float_not_constant)));
 }
 
 
@@ -679,8 +677,7 @@
     uint32_t b;
     uint32_t c;
     uint32_t d;
-  } float_negate_constant =
-      { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
+  } float_negate_constant = {0x80000000, 0x80000000, 0x80000000, 0x80000000};
   xorps(dst,
         Address::Absolute(reinterpret_cast<uword>(&float_negate_constant)));
 }
@@ -692,8 +689,7 @@
     uint32_t b;
     uint32_t c;
     uint32_t d;
-  } float_absolute_constant =
-      { 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF };
+  } float_absolute_constant = {0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF};
   andps(dst,
         Address::Absolute(reinterpret_cast<uword>(&float_absolute_constant)));
 }
@@ -705,8 +701,7 @@
     uint32_t b;
     uint32_t c;
     uint32_t d;
-  } float_zerow_constant =
-      { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000 };
+  } float_zerow_constant = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000};
   andps(dst, Address::Absolute(reinterpret_cast<uword>(&float_zerow_constant)));
 }
 
@@ -872,8 +867,7 @@
   static const struct ALIGN16 {
     uint64_t a;
     uint64_t b;
-  } double_negate_constant =
-      { 0x8000000000000000LL, 0x8000000000000000LL };
+  } double_negate_constant = {0x8000000000000000LL, 0x8000000000000000LL};
   xorpd(dst,
         Address::Absolute(reinterpret_cast<uword>(&double_negate_constant)));
 }
@@ -910,8 +904,7 @@
   static const struct ALIGN16 {
     uint64_t a;
     uint64_t b;
-  } double_absolute_constant =
-      { 0x7FFFFFFFFFFFFFFFLL, 0x7FFFFFFFFFFFFFFFLL };
+  } double_absolute_constant = {0x7FFFFFFFFFFFFFFFLL, 0x7FFFFFFFFFFFFFFFLL};
   andpd(dst,
         Address::Absolute(reinterpret_cast<uword>(&double_absolute_constant)));
 }
@@ -2252,9 +2245,8 @@
   // Mask out higher, uninteresting bits which were polluted by dest.
   andl(value, Immediate(kObjectAlignment - 1));
   // Compare with the expected bit pattern.
-  cmpl(value, Immediate(
-      (kNewObjectAlignmentOffset >> 1) + kHeapObjectTag +
-      kOldObjectAlignmentOffset + kHeapObjectTag));
+  cmpl(value, Immediate((kNewObjectAlignmentOffset >> 1) + kHeapObjectTag +
+                        kOldObjectAlignmentOffset + kHeapObjectTag));
   j(NOT_ZERO, no_update, Assembler::kNearJump);
 }
 
@@ -2373,8 +2365,7 @@
     uint32_t b;
     uint32_t c;
     uint32_t d;
-  } float_negate_constant =
-      { 0x80000000, 0x00000000, 0x80000000, 0x00000000 };
+  } float_negate_constant = {0x80000000, 0x00000000, 0x80000000, 0x00000000};
   xorps(f, Address::Absolute(reinterpret_cast<uword>(&float_negate_constant)));
 }
 
@@ -2383,8 +2374,7 @@
   static const struct ALIGN16 {
     uint64_t a;
     uint64_t b;
-  } double_negate_constant =
-      {0x8000000000000000LL, 0x8000000000000000LL};
+  } double_negate_constant = {0x8000000000000000LL, 0x8000000000000000LL};
   xorpd(d, Address::Absolute(reinterpret_cast<uword>(&double_negate_constant)));
 }
 
@@ -2393,8 +2383,7 @@
   static const struct ALIGN16 {
     uint64_t a;
     uint64_t b;
-  } double_abs_constant =
-      {0x7FFFFFFFFFFFFFFFLL, 0x7FFFFFFFFFFFFFFFLL};
+  } double_abs_constant = {0x7FFFFFFFFFFFFFFFLL, 0x7FFFFFFFFFFFFFFFLL};
   andpd(reg, Address::Absolute(reinterpret_cast<uword>(&double_abs_constant)));
 }
 
@@ -2438,14 +2427,12 @@
 
 static const intptr_t kNumberOfVolatileCpuRegisters = 3;
 static const Register volatile_cpu_registers[kNumberOfVolatileCpuRegisters] = {
-    EAX, ECX, EDX
-};
+    EAX, ECX, EDX};
 
 
 // XMM0 is used only as a scratch register in the optimized code. No need to
 // save it.
-static const intptr_t kNumberOfVolatileXmmRegisters =
-    kNumberOfXmmRegisters - 1;
+static const intptr_t kNumberOfVolatileXmmRegisters = kNumberOfXmmRegisters - 1;
 
 
 void Assembler::EnterCallRuntimeFrame(intptr_t frame_space) {
@@ -2546,7 +2533,7 @@
   if (bytes_needed) {
     nop(bytes_needed);
   }
-  ASSERT(((offset + buffer_.GetPosition()) & (alignment-1)) == 0);
+  ASSERT(((offset + buffer_.GetPosition()) & (alignment - 1)) == 0);
 }
 
 
@@ -2642,7 +2629,7 @@
     // (i.e. the allocation stub) which will allocate the object and trace the
     // allocation call site.
     NOT_IN_PRODUCT(
-      MaybeTraceAllocation(cls.id(), temp_reg, failure, near_jump));
+        MaybeTraceAllocation(cls.id(), temp_reg, failure, near_jump));
     const intptr_t instance_size = cls.instance_size();
     Heap::Space space = Heap::kNew;
     movl(temp_reg, Address(THR, Thread::heap_offset()));
@@ -2760,7 +2747,7 @@
     pushl(EAX);  // Preserve EAX.
     movl(EAX, Immediate(reinterpret_cast<int32_t>(message)));
     Call(*StubCode::PrintStopMessage_entry());  // Passing message in EAX.
-    popl(EAX);  // Restore EAX.
+    popl(EAX);                                  // Restore EAX.
   } else {
     // Emit the message address as immediate operand in the test instruction.
     testl(EAX, Immediate(reinterpret_cast<int32_t>(message)));
@@ -2837,9 +2824,7 @@
 }
 
 
-void Assembler::EmitGenericShift(int rm,
-                                 Register reg,
-                                 const Immediate& imm) {
+void Assembler::EmitGenericShift(int rm, Register reg, const Immediate& imm) {
   AssemblerBuffer::EnsureCapacity ensured(&buffer_);
   ASSERT(imm.is_int8());
   if (imm.value() == 1) {
@@ -2866,8 +2851,8 @@
 void Assembler::LoadClassId(Register result, Register object) {
   ASSERT(RawObject::kClassIdTagPos == 16);
   ASSERT(RawObject::kClassIdTagSize == 16);
-  const intptr_t class_id_offset = Object::tags_offset() +
-      RawObject::kClassIdTagPos / kBitsPerByte;
+  const intptr_t class_id_offset =
+      Object::tags_offset() + RawObject::kClassIdTagPos / kBitsPerByte;
   movzxw(result, FieldAddress(object, class_id_offset));
 }
 
@@ -2904,8 +2889,8 @@
   ASSERT(kSmiTagShift == 1);
   ASSERT(RawObject::kClassIdTagPos == 16);
   ASSERT(RawObject::kClassIdTagSize == 16);
-  const intptr_t class_id_offset = Object::tags_offset() +
-      RawObject::kClassIdTagPos / kBitsPerByte;
+  const intptr_t class_id_offset =
+      Object::tags_offset() + RawObject::kClassIdTagPos / kBitsPerByte;
 
   // Untag optimistically. Tag bit is shifted into the CARRY.
   SmiUntag(object);
@@ -2950,7 +2935,7 @@
     return Address(array, index * index_scale);
   } else {
     const int64_t disp = static_cast<int64_t>(index) * index_scale +
-        Instance::DataOffsetFor(cid);
+                         Instance::DataOffsetFor(cid);
     ASSERT(Utils::IsInt(32, disp));
     return FieldAddress(array, static_cast<int32_t>(disp));
   }
@@ -2963,11 +2948,16 @@
   // expected to be untagged before accessing.
   ASSERT(kSmiTagShift == 1);
   switch (index_scale) {
-    case 1: return TIMES_1;
-    case 2: return TIMES_1;
-    case 4: return TIMES_2;
-    case 8: return TIMES_4;
-    case 16: return TIMES_8;
+    case 1:
+      return TIMES_1;
+    case 2:
+      return TIMES_1;
+    case 4:
+      return TIMES_2;
+    case 8:
+      return TIMES_4;
+    case 16:
+      return TIMES_8;
     default:
       UNREACHABLE();
       return TIMES_1;
@@ -2976,24 +2966,21 @@
 
 
 Address Assembler::ElementAddressForRegIndex(bool is_external,
-                                            intptr_t cid,
-                                            intptr_t index_scale,
-                                            Register array,
-                                            Register index) {
+                                             intptr_t cid,
+                                             intptr_t index_scale,
+                                             Register array,
+                                             Register index) {
   if (is_external) {
     return Address(array, index, ToScaleFactor(index_scale), 0);
   } else {
-    return FieldAddress(array,
-                        index,
-                        ToScaleFactor(index_scale),
+    return FieldAddress(array, index, ToScaleFactor(index_scale),
                         Instance::DataOffsetFor(cid));
   }
 }
 
 
 static const char* cpu_reg_names[kNumberOfCpuRegisters] = {
-  "eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi"
-};
+    "eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi"};
 
 
 const char* Assembler::RegisterName(Register reg) {
@@ -3003,8 +2990,7 @@
 
 
 static const char* xmm_reg_names[kNumberOfXmmRegisters] = {
-  "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7"
-};
+    "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7"};
 
 
 const char* Assembler::FpuRegisterName(FpuRegister reg) {
diff --git a/runtime/vm/assembler_ia32.h b/runtime/vm/assembler_ia32.h
index d49e844..90214f5 100644
--- a/runtime/vm/assembler_ia32.h
+++ b/runtime/vm/assembler_ia32.h
@@ -21,9 +21,9 @@
 
 class Immediate : public ValueObject {
  public:
-  explicit Immediate(int32_t value) : value_(value) { }
+  explicit Immediate(int32_t value) : value_(value) {}
 
-  Immediate(const Immediate& other) : ValueObject(), value_(other.value_) { }
+  Immediate(const Immediate& other) : ValueObject(), value_(other.value_) {}
 
   int32_t value() const { return value_; }
 
@@ -42,13 +42,9 @@
 
 class Operand : public ValueObject {
  public:
-  uint8_t mod() const {
-    return (encoding_at(0) >> 6) & 3;
-  }
+  uint8_t mod() const { return (encoding_at(0) >> 6) & 3; }
 
-  Register rm() const {
-    return static_cast<Register>(encoding_at(0) & 7);
-  }
+  Register rm() const { return static_cast<Register>(encoding_at(0) & 7); }
 
   ScaleFactor scale() const {
     return static_cast<ScaleFactor>((encoding_at(1) >> 6) & 3);
@@ -58,9 +54,7 @@
     return static_cast<Register>((encoding_at(1) >> 3) & 7);
   }
 
-  Register base() const {
-    return static_cast<Register>(encoding_at(1) & 7);
-  }
+  Register base() const { return static_cast<Register>(encoding_at(1) & 7); }
 
   int8_t disp8() const {
     ASSERT(length_ >= 2);
@@ -91,7 +85,7 @@
   }
 
  protected:
-  Operand() : length_(0) { }  // Needed by subclass Address.
+  Operand() : length_(0) {}  // Needed by subclass Address.
 
   void SetModRM(int mod, Register rm) {
     ASSERT((mod & ~3) == 0);
@@ -135,7 +129,7 @@
   // disguise. Used from the assembler to generate better encodings.
   bool IsRegister(Register reg) const {
     return ((encoding_[0] & 0xF8) == 0xC0)  // Addressing mode is register only.
-        && ((encoding_[0] & 0x07) == reg);  // Register codes match.
+           && ((encoding_[0] & 0x07) == reg);  // Register codes match.
   }
 
   friend class Assembler;
@@ -188,7 +182,7 @@
   // This addressing mode does not exist.
   Address(Register base, Register index, ScaleFactor scale, Register r);
 
-  Address(const Address& other) : Operand(other) { }
+  Address(const Address& other) : Operand(other) {}
 
   Address& operator=(const Address& other) {
     Operand::operator=(other);
@@ -203,25 +197,25 @@
   }
 
  private:
-  Address() { }  // Needed by Address::Absolute.
+  Address() {}  // Needed by Address::Absolute.
 };
 
 
 class FieldAddress : public Address {
  public:
   FieldAddress(Register base, int32_t disp)
-      : Address(base, disp - kHeapObjectTag) { }
+      : Address(base, disp - kHeapObjectTag) {}
 
   // This addressing mode does not exist.
   FieldAddress(Register base, Register r);
 
   FieldAddress(Register base, Register index, ScaleFactor scale, int32_t disp)
-      : Address(base, index, scale, disp - kHeapObjectTag) { }
+      : Address(base, index, scale, disp - kHeapObjectTag) {}
 
   // This addressing mode does not exist.
   FieldAddress(Register base, Register index, ScaleFactor scale, Register r);
 
-  FieldAddress(const FieldAddress& other) : Address(other) { }
+  FieldAddress(const FieldAddress& other) : Address(other) {}
 
   FieldAddress& operator=(const FieldAddress& other) {
     Address::operator=(other);
@@ -310,7 +304,7 @@
     // This mode is only needed and implemented for MIPS and ARM.
     ASSERT(!use_far_branches);
   }
-  ~Assembler() { }
+  ~Assembler() {}
 
   static const bool kNearJump = true;
   static const bool kFarJump = false;
@@ -498,9 +492,9 @@
 
   enum RoundingMode {
     kRoundToNearest = 0x0,
-    kRoundDown      = 0x1,
-    kRoundUp        = 0x2,
-    kRoundToZero    = 0x3
+    kRoundDown = 0x1,
+    kRoundUp = 0x2,
+    kRoundToZero = 0x3
   };
   void roundsd(XmmRegister dst, XmmRegister src, RoundingMode mode);
 
@@ -632,9 +626,7 @@
   void int3();
   void hlt();
 
-  static uword GetBreakInstructionFiller() {
-    return 0xCCCCCCCC;
-  }
+  static uword GetBreakInstructionFiller() { return 0xCCCCCCCC; }
 
   void j(Condition condition, Label* label, bool near = kFarJump);
   void j(Condition condition, const ExternalLabel* label);
@@ -675,9 +667,9 @@
   void CompareObject(Register reg, const Object& object);
   void LoadDoubleConstant(XmmRegister dst, double value);
 
-  void StoreIntoObject(Register object,  // Object we are storing into.
+  void StoreIntoObject(Register object,      // Object we are storing into.
                        const Address& dest,  // Where we are storing into.
-                       Register value,  // Value we are storing.
+                       Register value,       // Value we are storing.
                        bool can_value_be_smi = true);
 
   void StoreIntoObjectNoBarrier(Register object,
@@ -759,13 +751,9 @@
   /*
    * Misc. functionality
    */
-  void SmiTag(Register reg) {
-    addl(reg, reg);
-  }
+  void SmiTag(Register reg) { addl(reg, reg); }
 
-  void SmiUntag(Register reg) {
-    sarl(reg, Immediate(kSmiTagSize));
-  }
+  void SmiUntag(Register reg) { sarl(reg, Immediate(kSmiTagSize)); }
 
   void BranchIfNotSmi(Register reg, Label* label) {
     testl(reg, Immediate(kSmiTagMask));
@@ -777,9 +765,7 @@
   void Jump(Label* label) { jmp(label); }
 
   // Address of code at offset.
-  uword CodeAddress(intptr_t offset) {
-    return buffer_.Address(offset);
-  }
+  uword CodeAddress(intptr_t offset) { return buffer_.Address(offset); }
 
   intptr_t CodeSize() const { return buffer_.Size(); }
   intptr_t prologue_offset() const { return prologue_offset_; }
@@ -787,9 +773,7 @@
 
   // Count the fixups that produce a pointer offset, without processing
   // the fixups.
-  intptr_t CountPointerOffsets() const {
-    return buffer_.CountPointerOffsets();
-  }
+  intptr_t CountPointerOffsets() const { return buffer_.CountPointerOffsets(); }
   const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const {
     return buffer_.pointer_offsets();
   }
@@ -932,9 +916,7 @@
     return !object.IsSmi() || IsSafeSmi(object);
   }
 
-  void set_code_object(const Code& code) {
-    code_ ^= code.raw();
-  }
+  void set_code_object(const Code& code) { code_ ^= code.raw(); }
 
   void PushCodeObject();
 
@@ -942,7 +924,7 @@
   class CodeComment : public ZoneAllocated {
    public:
     CodeComment(intptr_t pc_offset, const String& comment)
-        : pc_offset_(pc_offset), comment_(comment) { }
+        : pc_offset_(pc_offset), comment_(comment) {}
 
     intptr_t pc_offset() const { return pc_offset_; }
     const String& comment() const { return comment_; }
diff --git a/runtime/vm/assembler_ia32_test.cc b/runtime/vm/assembler_ia32_test.cc
index 116cc9e..4ea1c65 100644
--- a/runtime/vm/assembler_ia32_test.cc
+++ b/runtime/vm/assembler_ia32_test.cc
@@ -107,8 +107,7 @@
 ASSEMBLER_TEST_GENERATE(JumpAroundCrash, assembler) {
   Label done;
   // Make sure all the condition jumps work.
-  for (Condition condition = OVERFLOW;
-       condition <= GREATER;
+  for (Condition condition = OVERFLOW; condition <= GREATER;
        condition = static_cast<Condition>(condition + 1)) {
     __ j(condition, &done);
   }
@@ -136,8 +135,7 @@
 ASSEMBLER_TEST_GENERATE(NearJumpAroundCrash, assembler) {
   Label done;
   // Make sure all the condition jumps work.
-  for (Condition condition = OVERFLOW;
-       condition <= GREATER;
+  for (Condition condition = OVERFLOW; condition <= GREATER;
        condition = static_cast<Condition>(condition + 1)) {
     __ j(condition, &done, Assembler::kNearJump);
   }
@@ -359,7 +357,7 @@
 ASSEMBLER_TEST_GENERATE(MoveExtend, assembler) {
   __ pushl(EBX);  // preserve EBX.
   __ movl(EDX, Immediate(0x1234ffff));
-  __ movzxb(EAX, DL);  // EAX = 0xff
+  __ movzxb(EAX, DL);   // EAX = 0xff
   __ movsxw(EBX, EDX);  // EBX = -1
   __ movzxw(ECX, EDX);  // ECX = 0xffff
   __ addl(EBX, ECX);
@@ -409,16 +407,16 @@
   __ andl(ECX, EAX);  // 0x740.
   __ pushl(Immediate(0xF6FF));
   __ andl(ECX, Address(ESP, 0));  // 0x640.
-  __ popl(EAX);  // Discard.
+  __ popl(EAX);                   // Discard.
   __ movl(EAX, Immediate(1));
   __ orl(ECX, EAX);  // 0x641.
   __ pushl(Immediate(0x7));
   __ orl(ECX, Address(ESP, 0));  // 0x647.
-  __ popl(EAX);  // Discard.
-  __ xorl(ECX, Immediate(0));  // 0x647.
+  __ popl(EAX);                  // Discard.
+  __ xorl(ECX, Immediate(0));    // 0x647.
   __ pushl(Immediate(0x1C));
   __ xorl(ECX, Address(ESP, 0));  // 0x65B.
-  __ popl(EAX);  // Discard.
+  __ popl(EAX);                   // Discard.
   __ movl(EAX, Address(ESP, kWordSize));
   __ movl(EDX, Immediate(0xB0));
   __ orl(Address(EAX, 0), EDX);
@@ -776,8 +774,9 @@
 
 static int ComputeStackSpaceReservation(int needed, int fixed) {
   return (OS::ActivationFrameAlignment() > 1)
-      ? Utils::RoundUp(needed + fixed, OS::ActivationFrameAlignment()) - fixed
-      : needed;
+             ? Utils::RoundUp(needed + fixed, OS::ActivationFrameAlignment()) -
+                   fixed
+             : needed;
 }
 
 
@@ -880,7 +879,6 @@
 }
 
 
-
 ASSEMBLER_TEST_GENERATE(SingleFPMoves2, assembler) {
   __ pushl(EBX);  // preserve EBX.
   __ pushl(ECX);  // preserve ECX.
@@ -955,10 +953,10 @@
   __ movl(EAX, Immediate(bit_cast<int32_t, float>(3.4f)));
   __ movd(XMM1, EAX);
   __ shufps(XMM1, XMM1, Immediate(0x0));
-  __ addps(XMM0, XMM1);  // 15.7f
-  __ mulps(XMM0, XMM1);  // 53.38f
-  __ subps(XMM0, XMM1);  // 49.98f
-  __ divps(XMM0, XMM1);  // 14.7f
+  __ addps(XMM0, XMM1);                    // 15.7f
+  __ mulps(XMM0, XMM1);                    // 53.38f
+  __ subps(XMM0, XMM1);                    // 49.98f
+  __ divps(XMM0, XMM1);                    // 14.7f
   __ shufps(XMM0, XMM0, Immediate(0x55));  // Copy second lane into all 4 lanes.
   __ pushl(EAX);
   // Copy the low lane at ESP.
@@ -1006,11 +1004,11 @@
   __ movd(XMM0, EAX);
   __ shufps(XMM0, XMM0, Immediate(0x0));
 
-  __ movaps(XMM1, XMM0);  // Copy XMM0
-  __ reciprocalps(XMM1);  // 0.25
-  __ sqrtps(XMM1);  // 0.5
-  __ rsqrtps(XMM0);  // ~0.5
-  __ subps(XMM0, XMM1);  // ~0.0
+  __ movaps(XMM1, XMM0);                   // Copy XMM0
+  __ reciprocalps(XMM1);                   // 0.25
+  __ sqrtps(XMM1);                         // 0.5
+  __ rsqrtps(XMM0);                        // ~0.5
+  __ subps(XMM0, XMM1);                    // ~0.0
   __ shufps(XMM0, XMM0, Immediate(0x00));  // Copy second lane into all 4 lanes.
   __ pushl(EAX);
   // Copy the low lane at ESP.
@@ -1258,15 +1256,13 @@
     uint32_t b;
     uint32_t c;
     uint32_t d;
-  } constant1 =
-      { 0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0 };
+  } constant1 = {0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0};
   static const struct ALIGN16 {
     uint32_t a;
     uint32_t b;
     uint32_t c;
     uint32_t d;
-  } constant2 =
-      { 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F };
+  } constant2 = {0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F};
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant1)));
   __ movups(XMM1, Address::Absolute(reinterpret_cast<uword>(&constant2)));
   __ orps(XMM0, XMM1);
@@ -1292,15 +1288,13 @@
     uint32_t b;
     uint32_t c;
     uint32_t d;
-  } constant1 =
-      { 0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0 };
+  } constant1 = {0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0};
   static const struct ALIGN16 {
     uint32_t a;
     uint32_t b;
     uint32_t c;
     uint32_t d;
-  } constant2 =
-      { 0x0F0FFF0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F };
+  } constant2 = {0x0F0FFF0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F};
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant1)));
   __ andps(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant2)));
   // Copy the low lane at ESP.
@@ -1325,8 +1319,7 @@
     uint32_t b;
     uint32_t c;
     uint32_t d;
-  } constant1 =
-      { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF };
+  } constant1 = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF};
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant1)));
   __ notps(XMM0);
   // Copy the low lane at ESP.
@@ -1351,13 +1344,13 @@
     float b;
     float c;
     float d;
-  } constant0 = { 1.0, 2.0, 3.0, 4.0 };
+  } constant0 = {1.0, 2.0, 3.0, 4.0};
   static const struct ALIGN16 {
     float a;
     float b;
     float c;
     float d;
-  } constant1 = { 5.0, 6.0, 7.0, 8.0 };
+  } constant1 = {5.0, 6.0, 7.0, 8.0};
   // XMM0 = 1.0f, 2.0f, 3.0f, 4.0f.
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   // XMM1 = 5.0f, 6.0f, 7.0f, 8.0f.
@@ -1369,7 +1362,7 @@
   __ movaps(XMM1, XMM0);
   __ shufps(XMM0, XMM0, Immediate(0x00));  // 7.0f.
   __ shufps(XMM1, XMM1, Immediate(0x55));  // 8.0f.
-  __ addss(XMM0, XMM1);  // 15.0f.
+  __ addss(XMM0, XMM1);                    // 15.0f.
   __ pushl(EAX);
   __ movss(Address(ESP, 0), XMM0);
   __ flds(Address(ESP, 0));
@@ -1391,13 +1384,13 @@
     float b;
     float c;
     float d;
-  } constant0 = { 1.0, 2.0, 3.0, 4.0 };
+  } constant0 = {1.0, 2.0, 3.0, 4.0};
   static const struct ALIGN16 {
     float a;
     float b;
     float c;
     float d;
-  } constant1 = { 5.0, 6.0, 7.0, 8.0 };
+  } constant1 = {5.0, 6.0, 7.0, 8.0};
   // XMM0 = 1.0f, 2.0f, 3.0f, 4.0f.
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   // XMM1 = 5.0f, 6.0f, 7.0f, 8.0f.
@@ -1409,7 +1402,7 @@
   __ movaps(XMM1, XMM0);
   __ shufps(XMM0, XMM0, Immediate(0xAA));  // 5.0f.
   __ shufps(XMM1, XMM1, Immediate(0xFF));  // 6.0f.
-  __ addss(XMM0, XMM1);  // 11.0f.
+  __ addss(XMM0, XMM1);                    // 11.0f.
   __ pushl(EAX);
   __ movss(Address(ESP, 0), XMM0);
   __ flds(Address(ESP, 0));
@@ -1431,13 +1424,13 @@
     float b;
     float c;
     float d;
-  } constant0 = { 1.0, 2.0, 3.0, 4.0 };
+  } constant0 = {1.0, 2.0, 3.0, 4.0};
   static const struct ALIGN16 {
     float a;
     float b;
     float c;
     float d;
-  } constant1 = { 5.0, 6.0, 7.0, 8.0 };
+  } constant1 = {5.0, 6.0, 7.0, 8.0};
   // XMM0 = 1.0f, 2.0f, 3.0f, 4.0f.
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   // XMM1 = 5.0f, 6.0f, 7.0f, 8.0f.
@@ -1470,13 +1463,13 @@
     float b;
     float c;
     float d;
-  } constant0 = { 1.0, 2.0, 3.0, 4.0 };
+  } constant0 = {1.0, 2.0, 3.0, 4.0};
   static const struct ALIGN16 {
     float a;
     float b;
     float c;
     float d;
-  } constant1 = { 5.0, 6.0, 7.0, 8.0 };
+  } constant1 = {5.0, 6.0, 7.0, 8.0};
   // XMM0 = 1.0f, 2.0f, 3.0f, 4.0f.
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   // XMM1 = 5.0f, 6.0f, 7.0f, 8.0f.
@@ -1509,13 +1502,13 @@
     float b;
     float c;
     float d;
-  } constant0 = { 1.0, 2.0, 3.0, 4.0 };
+  } constant0 = {1.0, 2.0, 3.0, 4.0};
   static const struct ALIGN16 {
     float a;
     float b;
     float c;
     float d;
-  } constant1 = { 5.0, 6.0, 7.0, 8.0 };
+  } constant1 = {5.0, 6.0, 7.0, 8.0};
   // XMM0 = 1.0f, 2.0f, 3.0f, 4.0f.
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   // XMM1 = 5.0f, 6.0f, 7.0f, 8.0f.
@@ -1548,13 +1541,13 @@
     float b;
     float c;
     float d;
-  } constant0 = { 1.0, 2.0, 3.0, 4.0 };
+  } constant0 = {1.0, 2.0, 3.0, 4.0};
   static const struct ALIGN16 {
     float a;
     float b;
     float c;
     float d;
-  } constant1 = { 5.0, 6.0, 7.0, 8.0 };
+  } constant1 = {5.0, 6.0, 7.0, 8.0};
   // XMM0 = 1.0f, 2.0f, 3.0f, 4.0f.
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   // XMM1 = 5.0f, 6.0f, 7.0f, 8.0f.
@@ -1585,11 +1578,11 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 1.0, 2.0 };
+  } constant0 = {1.0, 2.0};
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant1 = { 3.0, 4.0 };
+  } constant1 = {3.0, 4.0};
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM1, Address::Absolute(reinterpret_cast<uword>(&constant1)));
   __ addpd(XMM0, XMM1);
@@ -1614,11 +1607,11 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 1.0, 2.0 };
+  } constant0 = {1.0, 2.0};
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant1 = { 3.0, 4.0 };
+  } constant1 = {3.0, 4.0};
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM1, Address::Absolute(reinterpret_cast<uword>(&constant1)));
   __ subpd(XMM0, XMM1);
@@ -1643,7 +1636,7 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 1.0, 2.0 };
+  } constant0 = {1.0, 2.0};
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   __ negatepd(XMM0);
   __ pushl(EAX);
@@ -1667,7 +1660,7 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { -1.0, 2.0 };
+  } constant0 = {-1.0, 2.0};
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   __ abspd(XMM0);
   __ pushl(EAX);
@@ -1691,11 +1684,11 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 3.0, 2.0 };
+  } constant0 = {3.0, 2.0};
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant1 = { 3.0, 4.0 };
+  } constant1 = {3.0, 4.0};
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM1, Address::Absolute(reinterpret_cast<uword>(&constant1)));
   __ mulpd(XMM0, XMM1);
@@ -1720,11 +1713,11 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 9.0, 2.0 };
+  } constant0 = {9.0, 2.0};
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant1 = { 3.0, 4.0 };
+  } constant1 = {3.0, 4.0};
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM1, Address::Absolute(reinterpret_cast<uword>(&constant1)));
   __ divpd(XMM0, XMM1);
@@ -1749,7 +1742,7 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 16.0, 2.0 };
+  } constant0 = {16.0, 2.0};
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   __ sqrtpd(XMM0);
   __ pushl(EAX);
@@ -1773,11 +1766,11 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 9.0, 2.0 };
+  } constant0 = {9.0, 2.0};
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant1 = { 3.0, 4.0 };
+  } constant1 = {3.0, 4.0};
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM1, Address::Absolute(reinterpret_cast<uword>(&constant1)));
   __ minpd(XMM0, XMM1);
@@ -1802,11 +1795,11 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 9.0, 2.0 };
+  } constant0 = {9.0, 2.0};
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant1 = { 3.0, 4.0 };
+  } constant1 = {3.0, 4.0};
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM1, Address::Absolute(reinterpret_cast<uword>(&constant1)));
   __ maxpd(XMM0, XMM1);
@@ -1831,7 +1824,7 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 2.0, 9.0 };
+  } constant0 = {2.0, 9.0};
   __ movups(XMM0, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   // Splat Y across all lanes.
   __ shufpd(XMM0, XMM0, Immediate(0x33));
@@ -1859,7 +1852,7 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 9.0, 2.0 };
+  } constant0 = {9.0, 2.0};
   __ movups(XMM1, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   __ cvtpd2ps(XMM0, XMM1);
   __ pushl(EAX);
@@ -1883,7 +1876,7 @@
     float b;
     float c;
     float d;
-  } constant0 = { 9.0f, 2.0f, 3.0f, 4.0f };
+  } constant0 = {9.0f, 2.0f, 3.0f, 4.0f};
   __ movups(XMM1, Address::Absolute(reinterpret_cast<uword>(&constant0)));
   __ cvtps2pd(XMM0, XMM1);
   __ pushl(EAX);
@@ -2635,7 +2628,7 @@
   a = 4021288948u;
   b = 13;
   res = reinterpret_cast<LongUnsignedMulRegCode>(test->entry())(a, b);
-  mul_res =  static_cast<uint64_t>(a) * static_cast<uint64_t>(b);
+  mul_res = static_cast<uint64_t>(a) * static_cast<uint64_t>(b);
   EXPECT_EQ(mul_res, res);
 }
 
@@ -2658,7 +2651,7 @@
   a = 4294967284u;
   b = 13;
   res = reinterpret_cast<LongUnsignedMulAddressCode>(test->entry())(a, b);
-  mul_res =  static_cast<uint64_t>(a) * static_cast<uint64_t>(b);
+  mul_res = static_cast<uint64_t>(a) * static_cast<uint64_t>(b);
   EXPECT_EQ(mul_res, res);
 }
 
@@ -3084,10 +3077,10 @@
 ASSEMBLER_TEST_RUN(DoubleAbs, test) {
   typedef double (*DoubleAbsCode)(double d);
   double val = -12.45;
-  double res =  reinterpret_cast<DoubleAbsCode>(test->entry())(val);
+  double res = reinterpret_cast<DoubleAbsCode>(test->entry())(val);
   EXPECT_FLOAT_EQ(-val, res, 0.001);
   val = 12.45;
-  res =  reinterpret_cast<DoubleAbsCode>(test->entry())(val);
+  res = reinterpret_cast<DoubleAbsCode>(test->entry())(val);
   EXPECT_FLOAT_EQ(val, res, 0.001);
 }
 
@@ -3153,8 +3146,8 @@
 
 ASSEMBLER_TEST_RUN(ConditionalMovesNoOverflow, test) {
   typedef int (*ConditionalMovesNoOverflowCode)(int i, int j);
-  int res = reinterpret_cast<ConditionalMovesNoOverflowCode>(
-      test->entry())(0x7fffffff, 2);
+  int res = reinterpret_cast<ConditionalMovesNoOverflowCode>(test->entry())(
+      0x7fffffff, 2);
   EXPECT_EQ(1, res);
   res = reinterpret_cast<ConditionalMovesNoOverflowCode>(test->entry())(1, 1);
   EXPECT_EQ(0, res);
@@ -3202,7 +3195,7 @@
 
 
 ASSEMBLER_TEST_GENERATE(ConditionalMovesCompare, assembler) {
-  __ movl(EDX, Immediate(1));  // Greater equal.
+  __ movl(EDX, Immediate(1));   // Greater equal.
   __ movl(ECX, Immediate(-1));  // Less
   __ movl(EAX, Address(ESP, 1 * kWordSize));
   __ cmpl(EAX, Address(ESP, 2 * kWordSize));
@@ -3387,7 +3380,7 @@
   for (int i = 0; i < 10; i++) {
     EXPECT_EQ(from[i], to[i]);
   }
-  delete [] to;
+  delete[] to;
 }
 
 
@@ -3398,8 +3391,7 @@
   __ movl(ECX, Address(ESP, 3 * kWordSize));
   __ movl(THR, Address(ESP, 4 * kWordSize));
   __ pushl(EAX);
-  __ StoreIntoObject(ECX,
-                     FieldAddress(ECX, GrowableObjectArray::data_offset()),
+  __ StoreIntoObject(ECX, FieldAddress(ECX, GrowableObjectArray::data_offset()),
                      EAX);
   __ popl(EAX);
   __ popl(THR);
diff --git a/runtime/vm/assembler_mips.cc b/runtime/vm/assembler_mips.cc
index dcf1473..00ebd25 100644
--- a/runtime/vm/assembler_mips.cc
+++ b/runtime/vm/assembler_mips.cc
@@ -52,8 +52,7 @@
 int32_t Assembler::EncodeBranchOffset(int32_t offset, int32_t instr) {
   if (!CanEncodeBranchOffset(offset)) {
     ASSERT(!use_far_branches());
-    Thread::Current()->long_jump_base()->Jump(
-        1, Object::branch_offset_error());
+    Thread::Current()->long_jump_base()->Jump(1, Object::branch_offset_error());
   }
 
   // Properly preserve only the bits supported in the instruction.
@@ -71,7 +70,7 @@
 
 static int32_t DecodeLoadImmediate(int32_t ori_instr, int32_t lui_instr) {
   return (((lui_instr & kBranchOffsetMask) << 16) |
-           (ori_instr & kBranchOffsetMask));
+          (ori_instr & kBranchOffsetMask));
 }
 
 
@@ -95,8 +94,7 @@
       // Change the offset to the absolute value.
       const int32_t encoded_low =
           EncodeLoadImmediate(dest & kBranchOffsetMask, low);
-      const int32_t encoded_high =
-          EncodeLoadImmediate(dest >> 16, high);
+      const int32_t encoded_high = EncodeLoadImmediate(dest >> 16, high);
 
       region.Store<int32_t>(position, encoded_high);
       region.Store<int32_t>(position + Instr::kInstrSize, encoded_low);
@@ -129,14 +127,22 @@
 
 static Opcode OppositeBranchOpcode(Opcode b) {
   switch (b) {
-    case BEQ: return BNE;
-    case BNE: return BEQ;
-    case BGTZ: return BLEZ;
-    case BLEZ: return BGTZ;
-    case BEQL: return BNEL;
-    case BNEL: return BEQL;
-    case BGTZL: return BLEZL;
-    case BLEZL: return BGTZL;
+    case BEQ:
+      return BNE;
+    case BNE:
+      return BEQ;
+    case BGTZ:
+      return BLEZ;
+    case BLEZ:
+      return BGTZ;
+    case BEQL:
+      return BNEL;
+    case BNEL:
+      return BEQL;
+    case BGTZL:
+      return BLEZL;
+    case BLEZL:
+      return BGTZL;
     default:
       UNREACHABLE();
       break;
@@ -145,7 +151,9 @@
 }
 
 
-void Assembler::EmitFarBranch(Opcode b, Register rs, Register rt,
+void Assembler::EmitFarBranch(Opcode b,
+                              Register rs,
+                              Register rt,
                               int32_t offset) {
   ASSERT(!in_delay_slot_);
   EmitIType(b, rs, rt, 4);
@@ -156,10 +164,14 @@
 
 static RtRegImm OppositeBranchNoLink(RtRegImm b) {
   switch (b) {
-    case BLTZ: return BGEZ;
-    case BGEZ: return BLTZ;
-    case BLTZAL: return BGEZ;
-    case BGEZAL: return BLTZ;
+    case BLTZ:
+      return BGEZ;
+    case BGEZ:
+      return BLTZ;
+    case BLTZAL:
+      return BGEZ;
+    case BGEZAL:
+      return BLTZ;
     default:
       UNREACHABLE();
       break;
@@ -237,7 +249,7 @@
 }
 
 
-void Assembler::EmitFpuBranch(bool kind, Label *label) {
+void Assembler::EmitFpuBranch(bool kind, Label* label) {
   ASSERT(!in_delay_slot_);
   const int32_t b16 = kind ? (1 << 16) : 0;  // Bit 16 set for branch on true.
   if (label->IsBound()) {
@@ -248,10 +260,7 @@
       EmitFarFpuBranch(kind, label->Position());
     } else {
       const uint16_t dest_off = EncodeBranchOffset(dest, 0);
-      Emit(COP1 << kOpcodeShift |
-           COP1_BC << kCop1SubShift |
-           b16 |
-           dest_off);
+      Emit(COP1 << kOpcodeShift | COP1_BC << kCop1SubShift | b16 | dest_off);
     }
   } else {
     const intptr_t position = buffer_.Size();
@@ -260,10 +269,7 @@
       EmitFarFpuBranch(kind, dest_off);
     } else {
       const uint16_t dest_off = EncodeBranchOffset(label->position_, 0);
-      Emit(COP1 << kOpcodeShift |
-           COP1_BC << kCop1SubShift |
-           b16 |
-           dest_off);
+      Emit(COP1 << kOpcodeShift | COP1_BC << kCop1SubShift | b16 | dest_off);
     }
     label->LinkTo(position);
   }
@@ -309,8 +315,7 @@
       dest = buffer_.Size();
       const int32_t encoded_low =
           EncodeLoadImmediate(dest & kBranchOffsetMask, low);
-      const int32_t encoded_high =
-          EncodeLoadImmediate(dest >> 16, high);
+      const int32_t encoded_high = EncodeLoadImmediate(dest >> 16, high);
 
       // Skip the unconditional far jump if the test fails by flipping the
       // sense of the branch instruction.
@@ -334,7 +339,7 @@
       // Clear out the old (far) branch.
       for (int i = 0; i < 5; i++) {
         buffer_.Store<int32_t>(position + i * Instr::kInstrSize,
-            Instr::kNopInstruction);
+                               Instr::kNopInstruction);
       }
 
       // Calculate the new offset.
@@ -377,8 +382,11 @@
 }
 
 
-void Assembler::AdduDetectOverflow(Register rd, Register rs, Register rt,
-                                   Register ro, Register scratch) {
+void Assembler::AdduDetectOverflow(Register rd,
+                                   Register rs,
+                                   Register rt,
+                                   Register ro,
+                                   Register scratch) {
   ASSERT(!in_delay_slot_);
   ASSERT(rd != ro);
   ASSERT(rd != TMP);
@@ -398,14 +406,14 @@
   }
 
   if (rd == rs) {
-    mov(TMP, rs);  // Preserve rs.
-    addu(rd, rs, rt);  // rs is overwritten.
+    mov(TMP, rs);        // Preserve rs.
+    addu(rd, rs, rt);    // rs is overwritten.
     xor_(TMP, rd, TMP);  // Original rs.
     xor_(ro, rd, rt);
     and_(ro, ro, TMP);
   } else if (rd == rt) {
-    mov(TMP, rt);  // Preserve rt.
-    addu(rd, rs, rt);  // rt is overwritten.
+    mov(TMP, rt);        // Preserve rt.
+    addu(rd, rs, rt);    // rt is overwritten.
     xor_(TMP, rd, TMP);  // Original rt.
     xor_(ro, rd, rs);
     and_(ro, ro, TMP);
@@ -418,7 +426,9 @@
 }
 
 
-void Assembler::SubuDetectOverflow(Register rd, Register rs, Register rt,
+void Assembler::SubuDetectOverflow(Register rd,
+                                   Register rs,
+                                   Register rt,
                                    Register ro) {
   ASSERT(!in_delay_slot_);
   ASSERT(rd != ro);
@@ -438,13 +448,13 @@
   }
 
   if (rd == rs) {
-    mov(TMP, rs);  // Preserve left.
-    subu(rd, rs, rt);  // Left is overwritten.
-    xor_(ro, rd, TMP);  // scratch is original left.
+    mov(TMP, rs);        // Preserve left.
+    subu(rd, rs, rt);    // Left is overwritten.
+    xor_(ro, rd, TMP);   // scratch is original left.
     xor_(TMP, TMP, rs);  // scratch is original left.
     and_(ro, TMP, ro);
   } else if (rd == rt) {
-    mov(TMP, rt);  // Preserve right.
+    mov(TMP, rt);      // Preserve right.
     subu(rd, rs, rt);  // Right is overwritten.
     xor_(ro, rd, rs);
     xor_(TMP, rs, TMP);  // Original right.
@@ -473,7 +483,7 @@
   Bind(&cid_ok);
   GetNextPC(CMPRES1, TMP);
   const intptr_t entry_offset = CodeSize() - Instr::kInstrSize +
-      Instructions::HeaderSize() - kHeapObjectTag;
+                                Instructions::HeaderSize() - kHeapObjectTag;
   AddImmediate(CMPRES1, CMPRES1, -entry_offset);
   lw(CMPRES2, FieldAddress(CODE_REG, Code::saved_instructions_offset()));
   BranchEqual(CMPRES1, CMPRES2, &instructions_ok);
@@ -711,8 +721,8 @@
                                       Register value,
                                       bool can_value_be_smi) {
   if (Address::CanHoldOffset(offset - kHeapObjectTag)) {
-    StoreIntoObject(
-        object, FieldAddress(object, offset), value, can_value_be_smi);
+    StoreIntoObject(object, FieldAddress(object, offset), value,
+                    can_value_be_smi);
   } else {
     AddImmediate(TMP, object, offset - kHeapObjectTag);
     StoreIntoObject(object, Address(TMP), value, can_value_be_smi);
@@ -781,8 +791,8 @@
 void Assembler::LoadClassId(Register result, Register object) {
   ASSERT(RawObject::kClassIdTagPos == 16);
   ASSERT(RawObject::kClassIdTagSize == 16);
-  const intptr_t class_id_offset = Object::tags_offset() +
-      RawObject::kClassIdTagPos / kBitsPerByte;
+  const intptr_t class_id_offset =
+      Object::tags_offset() + RawObject::kClassIdTagPos / kBitsPerByte;
   lhu(result, FieldAddress(object, class_id_offset));
 }
 
@@ -896,7 +906,7 @@
   intptr_t state_offset = ClassTable::StateOffsetFor(cid);
   LoadIsolate(temp_reg);
   intptr_t table_offset =
-    Isolate::class_table_offset() + ClassTable::TableOffsetFor(cid);
+      Isolate::class_table_offset() + ClassTable::TableOffsetFor(cid);
   lw(temp_reg, Address(temp_reg, table_offset));
   AddImmediate(temp_reg, state_offset);
   lw(temp_reg, Address(temp_reg, 0));
@@ -934,12 +944,14 @@
   ASSERT(cid > 0);
   ASSERT(temp_reg != TMP);
   const uword class_offset = ClassTable::ClassOffsetFor(cid);
-  const uword count_field_offset = (space == Heap::kNew) ?
-    ClassHeapStats::allocated_since_gc_new_space_offset() :
-    ClassHeapStats::allocated_since_gc_old_space_offset();
-  const uword size_field_offset = (space == Heap::kNew) ?
-    ClassHeapStats::allocated_size_since_gc_new_space_offset() :
-    ClassHeapStats::allocated_size_since_gc_old_space_offset();
+  const uword count_field_offset =
+      (space == Heap::kNew)
+          ? ClassHeapStats::allocated_since_gc_new_space_offset()
+          : ClassHeapStats::allocated_since_gc_old_space_offset();
+  const uword size_field_offset =
+      (space == Heap::kNew)
+          ? ClassHeapStats::allocated_size_since_gc_new_space_offset()
+          : ClassHeapStats::allocated_size_since_gc_old_space_offset();
   LoadIsolate(temp_reg);
   intptr_t table_offset =
       Isolate::class_table_offset() + ClassTable::TableOffsetFor(cid);
@@ -1137,10 +1149,9 @@
 
 void Assembler::EnterCallRuntimeFrame(intptr_t frame_space) {
   ASSERT(!in_delay_slot_);
-  const intptr_t kPushedRegistersSize =
-      kDartVolatileCpuRegCount * kWordSize +
-      3 * kWordSize +  // PP, FP and RA.
-      kDartVolatileFpuRegCount * kWordSize;
+  const intptr_t kPushedRegistersSize = kDartVolatileCpuRegCount * kWordSize +
+                                        3 * kWordSize +  // PP, FP and RA.
+                                        kDartVolatileFpuRegCount * kWordSize;
 
   SetPrologueOffset();
 
@@ -1183,10 +1194,9 @@
 
 void Assembler::LeaveCallRuntimeFrame() {
   ASSERT(!in_delay_slot_);
-  const intptr_t kPushedRegistersSize =
-      kDartVolatileCpuRegCount * kWordSize +
-      3 * kWordSize +  // FP and RA.
-      kDartVolatileFpuRegCount * kWordSize;
+  const intptr_t kPushedRegistersSize = kDartVolatileCpuRegCount * kWordSize +
+                                        3 * kWordSize +  // FP and RA.
+                                        kDartVolatileFpuRegCount * kWordSize;
 
   Comment("LeaveCallRuntimeFrame");
 
@@ -1221,7 +1231,8 @@
                                              intptr_t index_scale,
                                              Register array,
                                              intptr_t index) const {
-  const int64_t offset = index * index_scale +
+  const int64_t offset =
+      index * index_scale +
       (is_external ? 0 : (Instance::DataOffsetFor(cid) - kHeapObjectTag));
   ASSERT(Utils::IsInt(32, offset));
   ASSERT(Address::CanHoldOffset(offset));
@@ -1235,7 +1246,8 @@
                                               intptr_t index_scale,
                                               Register array,
                                               intptr_t index) {
-  const int64_t offset = index * index_scale +
+  const int64_t offset =
+      index * index_scale +
       (is_external ? 0 : (Instance::DataOffsetFor(cid) - kHeapObjectTag));
   AddImmediate(address, array, offset);
 }
@@ -1356,10 +1368,9 @@
 
 
 static const char* cpu_reg_names[kNumberOfCpuRegisters] = {
-  "zr", "tmp", "v0", "v1", "a0", "a1", "a2", "a3",
-  "t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7",
-  "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7",
-  "t8", "t9", "k0", "k1", "gp", "sp", "fp", "ra",
+    "zr", "tmp", "v0", "v1", "a0", "a1", "a2", "a3", "t0", "t1", "t2",
+    "t3", "t4",  "t5", "t6", "t7", "s0", "s1", "s2", "s3", "s4", "s5",
+    "s6", "s7",  "t8", "t9", "k0", "k1", "gp", "sp", "fp", "ra",
 };
 
 
@@ -1370,8 +1381,8 @@
 
 
 static const char* fpu_reg_names[kNumberOfFpuRegisters] = {
-  "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7",
-  "d8", "d9", "d10", "d11", "d12", "d13", "d14", "d15",
+    "d0", "d1", "d2",  "d3",  "d4",  "d5",  "d6",  "d7",
+    "d8", "d9", "d10", "d11", "d12", "d13", "d14", "d15",
 };
 
 
diff --git a/runtime/vm/assembler_mips.h b/runtime/vm/assembler_mips.h
index 4abaa23..379ebba 100644
--- a/runtime/vm/assembler_mips.h
+++ b/runtime/vm/assembler_mips.h
@@ -30,9 +30,9 @@
 
 class Immediate : public ValueObject {
  public:
-  explicit Immediate(int32_t value) : value_(value) { }
+  explicit Immediate(int32_t value) : value_(value) {}
 
-  Immediate(const Immediate& other) : ValueObject(), value_(other.value_) { }
+  Immediate(const Immediate& other) : ValueObject(), value_(other.value_) {}
   Immediate& operator=(const Immediate& other) {
     value_ = other.value_;
     return *this;
@@ -50,13 +50,13 @@
 class Address : public ValueObject {
  public:
   explicit Address(Register base, int32_t offset = 0)
-      : ValueObject(), base_(base), offset_(offset) { }
+      : ValueObject(), base_(base), offset_(offset) {}
 
   // This addressing mode does not exist.
   Address(Register base, Register offset);
 
   Address(const Address& other)
-      : ValueObject(), base_(other.base_), offset_(other.offset_) { }
+      : ValueObject(), base_(other.base_), offset_(other.offset_) {}
   Address& operator=(const Address& other) {
     base_ = other.base_;
     offset_ = other.offset_;
@@ -85,9 +85,9 @@
 class FieldAddress : public Address {
  public:
   FieldAddress(Register base, int32_t disp)
-      : Address(base, disp - kHeapObjectTag) { }
+      : Address(base, disp - kHeapObjectTag) {}
 
-  FieldAddress(const FieldAddress& other) : Address(other) { }
+  FieldAddress(const FieldAddress& other) : Address(other) {}
 
   FieldAddress& operator=(const FieldAddress& other) {
     Address::operator=(other);
@@ -98,7 +98,7 @@
 
 class Label : public ValueObject {
  public:
-  Label() : position_(0) { }
+  Label() : position_(0) {}
 
   ~Label() {
     // Assert if label is being destroyed with unresolved branches pending.
@@ -119,9 +119,7 @@
  private:
   intptr_t position_;
 
-  void Reinitialize() {
-    position_ = 0;
-  }
+  void Reinitialize() { position_ = 0; }
 
   void BindTo(intptr_t position) {
     ASSERT(!IsBound());
@@ -160,8 +158,8 @@
 
   class LeftBits : public BitField<uword, Register, kLeftPos, kLeftSize> {};
   class RightBits : public BitField<uword, Register, kRightPos, kRightSize> {};
-  class RelOpBits :
-      public BitField<uword, RelationOperator, kRelOpPos, kRelOpSize> {};
+  class RelOpBits
+      : public BitField<uword, RelationOperator, kRelOpPos, kRelOpSize> {};
   class ImmBits : public BitField<uword, uint16_t, kImmPos, kImmSize> {};
 
   Register left() const { return LeftBits::decode(bits_); }
@@ -180,10 +178,10 @@
   }
 
   // Uninitialized condition.
-  Condition() : ValueObject(), bits_(0) { }
+  Condition() : ValueObject(), bits_(0) {}
 
   // Copy constructor.
-  Condition(const Condition& other) : ValueObject(), bits_(other.bits_) { }
+  Condition(const Condition& other) : ValueObject(), bits_(other.bits_) {}
 
   // Copy assignment operator.
   Condition& operator=(const Condition& other) {
@@ -244,9 +242,8 @@
         delay_slot_available_(false),
         in_delay_slot_(false),
         comments_(),
-        constant_pool_allowed_(true) {
-  }
-  ~Assembler() { }
+        constant_pool_allowed_(true) {}
+  ~Assembler() {}
 
   void PopRegister(Register r) { Pop(r); }
 
@@ -260,9 +257,7 @@
 
   // Count the fixups that produce a pointer offset, without processing
   // the fixups.
-  intptr_t CountPointerOffsets() const {
-    return buffer_.CountPointerOffsets();
-  }
+  intptr_t CountPointerOffsets() const { return buffer_.CountPointerOffsets(); }
 
   const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const {
     return buffer_.pointer_offsets();
@@ -282,9 +277,7 @@
     return FLAG_use_far_branches || use_far_branches_;
   }
 
-  void set_use_far_branches(bool b) {
-    use_far_branches_ = b;
-  }
+  void set_use_far_branches(bool b) { use_far_branches_ = b; }
 
   void EnterFrame();
   void LeaveFrameAndReturn();
@@ -309,9 +302,7 @@
                                      Heap::Space space);
 
 
-  void MaybeTraceAllocation(intptr_t cid,
-                            Register temp_reg,
-                            Label* trace);
+  void MaybeTraceAllocation(intptr_t cid, Register temp_reg, Label* trace);
 
   // Inlined allocation of an instance of class 'cls', code has no runtime
   // calls. Jump to 'failure' if the instance cannot be allocated here.
@@ -357,7 +348,7 @@
   Assembler* delay_slot() {
     ASSERT(delay_slot_available_);
     ASSERT(buffer_.Load<int32_t>(buffer_.GetPosition() - sizeof(int32_t)) ==
-        Instr::kNopInstruction);
+           Instr::kNopInstruction);
     buffer_.Remit<int32_t>();
     delay_slot_available_ = false;
     in_delay_slot_ = true;
@@ -394,11 +385,9 @@
   }
 
   // Unconditional branch.
-  void b(Label* l) {
-    beq(R0, R0, l);
-  }
+  void b(Label* l) { beq(R0, R0, l); }
 
-  void bal(Label *l) {
+  void bal(Label* l) {
     ASSERT(!in_delay_slot_);
     EmitRegImmBranch(BGEZAL, R0, l);
     EmitBranchDelayNop();
@@ -508,19 +497,14 @@
 
   static int32_t BreakEncoding(int32_t code) {
     ASSERT(Utils::IsUint(20, code));
-    return SPECIAL << kOpcodeShift |
-           code << kBreakCodeShift |
+    return SPECIAL << kOpcodeShift | code << kBreakCodeShift |
            BREAK << kFunctionShift;
   }
 
 
-  void break_(int32_t code) {
-    Emit(BreakEncoding(code));
-  }
+  void break_(int32_t code) { Emit(BreakEncoding(code)); }
 
-  static uword GetBreakInstructionFiller() {
-    return BreakEncoding(0);
-  }
+  static uword GetBreakInstructionFiller() { return BreakEncoding(0); }
 
   // FPU compare, always false.
   void cfd(DRegister ds, DRegister dt) {
@@ -610,9 +594,7 @@
     EmitFpuRType(COP1, FMT_D, F0, fs, fd, COP1_CVT_S);
   }
 
-  void div(Register rs, Register rt) {
-    EmitRType(SPECIAL, rs, rt, R0, 0, DIV);
-  }
+  void div(Register rs, Register rt) { EmitRType(SPECIAL, rs, rt, R0, 0, DIV); }
 
   void divd(DRegister dd, DRegister ds, DRegister dt) {
     FRegister fd = static_cast<FRegister>(dd * 2);
@@ -638,30 +620,20 @@
     EmitBranchDelayNop();
   }
 
-  void lb(Register rt, const Address& addr) {
-    EmitLoadStore(LB, rt, addr);
-  }
+  void lb(Register rt, const Address& addr) { EmitLoadStore(LB, rt, addr); }
 
-  void lbu(Register rt, const Address& addr) {
-    EmitLoadStore(LBU, rt, addr);
-  }
+  void lbu(Register rt, const Address& addr) { EmitLoadStore(LBU, rt, addr); }
 
   void ldc1(DRegister dt, const Address& addr) {
     FRegister ft = static_cast<FRegister>(dt * 2);
     EmitFpuLoadStore(LDC1, ft, addr);
   }
 
-  void lh(Register rt, const Address& addr) {
-    EmitLoadStore(LH, rt, addr);
-  }
+  void lh(Register rt, const Address& addr) { EmitLoadStore(LH, rt, addr); }
 
-  void lhu(Register rt, const Address& addr) {
-    EmitLoadStore(LHU, rt, addr);
-  }
+  void lhu(Register rt, const Address& addr) { EmitLoadStore(LHU, rt, addr); }
 
-  void ll(Register rt, const Address& addr) {
-    EmitLoadStore(LL, rt, addr);
-  }
+  void ll(Register rt, const Address& addr) { EmitLoadStore(LL, rt, addr); }
 
   void lui(Register rt, const Immediate& imm) {
     ASSERT(Utils::IsUint(kImmBits, imm.value()));
@@ -669,9 +641,7 @@
     EmitIType(LUI, R0, rt, imm_value);
   }
 
-  void lw(Register rt, const Address& addr) {
-    EmitLoadStore(LW, rt, addr);
-  }
+  void lw(Register rt, const Address& addr) { EmitLoadStore(LW, rt, addr); }
 
   void lwc1(FRegister ft, const Address& addr) {
     EmitFpuLoadStore(LWC1, ft, addr);
@@ -686,23 +656,15 @@
   }
 
   void mfc1(Register rt, FRegister fs) {
-    Emit(COP1 << kOpcodeShift |
-         COP1_MF << kCop1SubShift |
-         rt << kRtShift |
+    Emit(COP1 << kOpcodeShift | COP1_MF << kCop1SubShift | rt << kRtShift |
          fs << kFsShift);
   }
 
-  void mfhi(Register rd) {
-    EmitRType(SPECIAL, R0, R0, rd, 0, MFHI);
-  }
+  void mfhi(Register rd) { EmitRType(SPECIAL, R0, R0, rd, 0, MFHI); }
 
-  void mflo(Register rd) {
-    EmitRType(SPECIAL, R0, R0, rd, 0, MFLO);
-  }
+  void mflo(Register rd) { EmitRType(SPECIAL, R0, R0, rd, 0, MFLO); }
 
-  void mov(Register rd, Register rs) {
-    or_(rd, rs, ZR);
-  }
+  void mov(Register rd, Register rs) { or_(rd, rs, ZR); }
 
   void movd(DRegister dd, DRegister ds) {
     FRegister fd = static_cast<FRegister>(dd * 2);
@@ -734,19 +696,13 @@
   }
 
   void mtc1(Register rt, FRegister fs) {
-    Emit(COP1 << kOpcodeShift |
-         COP1_MT << kCop1SubShift |
-         rt << kRtShift |
+    Emit(COP1 << kOpcodeShift | COP1_MT << kCop1SubShift | rt << kRtShift |
          fs << kFsShift);
   }
 
-  void mthi(Register rs) {
-    EmitRType(SPECIAL, rs, R0, R0, 0, MTHI);
-  }
+  void mthi(Register rs) { EmitRType(SPECIAL, rs, R0, R0, 0, MTHI); }
 
-  void mtlo(Register rs) {
-    EmitRType(SPECIAL, rs, R0, R0, 0, MTLO);
-  }
+  void mtlo(Register rs) { EmitRType(SPECIAL, rs, R0, R0, 0, MTLO); }
 
   void muld(DRegister dd, DRegister ds, DRegister dt) {
     FRegister fd = static_cast<FRegister>(dd * 2);
@@ -769,9 +725,7 @@
     EmitFpuRType(COP1, FMT_D, F0, fs, fd, COP1_NEG);
   }
 
-  void nop() {
-    Emit(Instr::kNopInstruction);
-  }
+  void nop() { Emit(Instr::kNopInstruction); }
 
   void nor(Register rd, Register rs, Register rt) {
     EmitRType(SPECIAL, rs, rt, rd, 0, NOR);
@@ -787,23 +741,17 @@
     EmitIType(ORI, rs, rt, imm_value);
   }
 
-  void sb(Register rt, const Address& addr) {
-    EmitLoadStore(SB, rt, addr);
-  }
+  void sb(Register rt, const Address& addr) { EmitLoadStore(SB, rt, addr); }
 
   // rt = 1 on success, 0 on failure.
-  void sc(Register rt, const Address& addr) {
-    EmitLoadStore(SC, rt, addr);
-  }
+  void sc(Register rt, const Address& addr) { EmitLoadStore(SC, rt, addr); }
 
   void sdc1(DRegister dt, const Address& addr) {
     FRegister ft = static_cast<FRegister>(dt * 2);
     EmitFpuLoadStore(SDC1, ft, addr);
   }
 
-  void sh(Register rt, const Address& addr) {
-    EmitLoadStore(SH, rt, addr);
-  }
+  void sh(Register rt, const Address& addr) { EmitLoadStore(SH, rt, addr); }
 
   void sll(Register rd, Register rt, int sa) {
     EmitRType(SPECIAL, R0, rt, rd, sa, SLL);
@@ -869,9 +817,7 @@
     EmitRType(SPECIAL, rs, rt, rd, 0, SUBU);
   }
 
-  void sw(Register rt, const Address& addr) {
-    EmitLoadStore(SW, rt, addr);
-  }
+  void sw(Register rt, const Address& addr) { EmitLoadStore(SW, rt, addr); }
 
   void swc1(FRegister ft, const Address& addr) {
     EmitFpuLoadStore(SWC1, ft, addr);
@@ -895,15 +841,21 @@
   // ro must be different from all the other registers.
   // If rd, rs, and rt are the same register, then a scratch register different
   // from the other registers is needed.
-  void AdduDetectOverflow(Register rd, Register rs, Register rt, Register ro,
+  void AdduDetectOverflow(Register rd,
+                          Register rs,
+                          Register rt,
+                          Register ro,
                           Register scratch = kNoRegister);
 
   // ro must be different from rd and rs.
   // rd and ro must not be TMP.
   // If rd and rs are the same, a scratch register different from the other
   // registers is needed.
-  void AddImmediateDetectOverflow(Register rd, Register rs, int32_t imm,
-                                  Register ro, Register scratch = kNoRegister) {
+  void AddImmediateDetectOverflow(Register rd,
+                                  Register rs,
+                                  int32_t imm,
+                                  Register ro,
+                                  Register scratch = kNoRegister) {
     ASSERT(!in_delay_slot_);
     LoadImmediate(rd, imm);
     AdduDetectOverflow(rd, rs, rd, ro, scratch);
@@ -917,7 +869,9 @@
 
   // ro must be different from rd and rs.
   // None of rd, rs, rt, or ro may be TMP.
-  void SubImmediateDetectOverflow(Register rd, Register rs, int32_t imm,
+  void SubImmediateDetectOverflow(Register rd,
+                                  Register rs,
+                                  int32_t imm,
                                   Register ro) {
     ASSERT(!in_delay_slot_);
     LoadImmediate(rd, imm);
@@ -1087,8 +1041,11 @@
     Register right = cond.right();
     RelationOperator rel_op = cond.rel_op();
     switch (rel_op) {
-      case NV: return;
-      case AL: b(l); return;
+      case NV:
+        return;
+      case AL:
+        b(l);
+        return;
       case EQ:  // fall through.
       case NE: {
         if (left == IMM) {
@@ -1228,9 +1185,7 @@
     }
   }
 
-  void BranchEqual(Register rd, Register rn, Label* l) {
-    beq(rd, rn, l);
-  }
+  void BranchEqual(Register rd, Register rn, Label* l) { beq(rd, rn, l); }
 
   void BranchEqual(Register rd, const Immediate& imm, Label* l) {
     ASSERT(!in_delay_slot_);
@@ -1250,9 +1205,7 @@
     beq(rd, CMPRES2, l);
   }
 
-  void BranchNotEqual(Register rd, Register rn, Label* l) {
-    bne(rd, rn, l);
-  }
+  void BranchNotEqual(Register rd, Register rn, Label* l) { bne(rd, rn, l); }
 
   void BranchNotEqual(Register rd, const Immediate& imm, Label* l) {
     ASSERT(!in_delay_slot_);
@@ -1319,7 +1272,7 @@
   void BranchSignedGreaterEqual(Register rd, Register rs, Label* l) {
     ASSERT(!in_delay_slot_);
     slt(CMPRES2, rd, rs);  // CMPRES2 = rd < rs ? 1 : 0.
-    beq(CMPRES2, ZR, l);  // If CMPRES2 = 0, then rd >= rs.
+    beq(CMPRES2, ZR, l);   // If CMPRES2 = 0, then rd >= rs.
   }
 
   void BranchSignedGreaterEqual(Register rd, const Immediate& imm, Label* l) {
@@ -1456,25 +1409,15 @@
     addiu(SP, SP, Immediate(kWordSize));
   }
 
-  void Ret() {
-    jr(RA);
-  }
+  void Ret() { jr(RA); }
 
-  void SmiTag(Register reg) {
-    sll(reg, reg, kSmiTagSize);
-  }
+  void SmiTag(Register reg) { sll(reg, reg, kSmiTagSize); }
 
-  void SmiTag(Register dst, Register src) {
-    sll(dst, src, kSmiTagSize);
-  }
+  void SmiTag(Register dst, Register src) { sll(dst, src, kSmiTagSize); }
 
-  void SmiUntag(Register reg) {
-    sra(reg, reg, kSmiTagSize);
-  }
+  void SmiUntag(Register reg) { sra(reg, reg, kSmiTagSize); }
 
-  void SmiUntag(Register dst, Register src) {
-    sra(dst, src, kSmiTagSize);
-  }
+  void SmiUntag(Register dst, Register src) { sra(dst, src, kSmiTagSize); }
 
   void BranchIfNotSmi(Register reg, Label* label) {
     andi(CMPRES1, reg, Immediate(kSmiTagMask));
@@ -1558,9 +1501,9 @@
   void LoadClassIdMayBeSmi(Register result, Register object);
   void LoadTaggedClassIdMayBeSmi(Register result, Register object);
 
-  void StoreIntoObject(Register object,  // Object we are storing into.
+  void StoreIntoObject(Register object,      // Object we are storing into.
                        const Address& dest,  // Where we are storing into.
-                       Register value,  // Value we are storing.
+                       Register value,       // Value we are storing.
                        bool can_value_be_smi = true);
   void StoreIntoObjectOffset(Register object,
                              int32_t offset,
@@ -1634,12 +1577,8 @@
   static bool IsSafe(const Object& object) { return true; }
   static bool IsSafeSmi(const Object& object) { return object.IsSmi(); }
 
-  bool constant_pool_allowed() const {
-    return constant_pool_allowed_;
-  }
-  void set_constant_pool_allowed(bool b) {
-    constant_pool_allowed_ = b;
-  }
+  bool constant_pool_allowed() const { return constant_pool_allowed_; }
+  void set_constant_pool_allowed(bool b) { constant_pool_allowed_ = b; }
 
  private:
   AssemblerBuffer buffer_;
@@ -1654,7 +1593,7 @@
   class CodeComment : public ZoneAllocated {
    public:
     CodeComment(intptr_t pc_offset, const String& comment)
-        : pc_offset_(pc_offset), comment_(comment) { }
+        : pc_offset_(pc_offset), comment_(comment) {}
 
     intptr_t pc_offset() const { return pc_offset_; }
     const String& comment() const { return comment_; }
@@ -1688,43 +1627,23 @@
 
   // Encode CPU instructions according to the types specified in
   // Figures 4-1, 4-2 and 4-3 in VolI-A.
-  void EmitIType(Opcode opcode,
-                 Register rs,
-                 Register rt,
-                 uint16_t imm) {
-    Emit(opcode << kOpcodeShift |
-         rs << kRsShift |
-         rt << kRtShift |
-         imm);
+  void EmitIType(Opcode opcode, Register rs, Register rt, uint16_t imm) {
+    Emit(opcode << kOpcodeShift | rs << kRsShift | rt << kRtShift | imm);
   }
 
-  void EmitLoadStore(Opcode opcode, Register rt,
-                     const Address &addr) {
-    Emit(opcode << kOpcodeShift |
-         rt << kRtShift |
-         addr.encoding());
+  void EmitLoadStore(Opcode opcode, Register rt, const Address& addr) {
+    Emit(opcode << kOpcodeShift | rt << kRtShift | addr.encoding());
   }
 
-  void EmitFpuLoadStore(Opcode opcode, FRegister ft,
-                        const Address &addr) {
-    Emit(opcode << kOpcodeShift |
-         ft << kFtShift |
-         addr.encoding());
+  void EmitFpuLoadStore(Opcode opcode, FRegister ft, const Address& addr) {
+    Emit(opcode << kOpcodeShift | ft << kFtShift | addr.encoding());
   }
 
-  void EmitRegImmType(Opcode opcode,
-                      Register rs,
-                      RtRegImm code,
-                      uint16_t imm) {
-    Emit(opcode << kOpcodeShift |
-         rs << kRsShift |
-         code << kRtShift |
-         imm);
+  void EmitRegImmType(Opcode opcode, Register rs, RtRegImm code, uint16_t imm) {
+    Emit(opcode << kOpcodeShift | rs << kRsShift | code << kRtShift | imm);
   }
 
-  void EmitJType(Opcode opcode, uint32_t destination) {
-    UNIMPLEMENTED();
-  }
+  void EmitJType(Opcode opcode, uint32_t destination) { UNIMPLEMENTED(); }
 
   void EmitRType(Opcode opcode,
                  Register rs,
@@ -1733,12 +1652,8 @@
                  int sa,
                  SpecialFunction func) {
     ASSERT(Utils::IsUint(5, sa));
-    Emit(opcode << kOpcodeShift |
-         rs << kRsShift |
-         rt << kRtShift |
-         rd << kRdShift |
-         sa << kSaShift |
-         func << kFunctionShift);
+    Emit(opcode << kOpcodeShift | rs << kRsShift | rt << kRtShift |
+         rd << kRdShift | sa << kSaShift | func << kFunctionShift);
   }
 
   void EmitFpuRType(Opcode opcode,
@@ -1747,12 +1662,8 @@
                     FRegister fs,
                     FRegister fd,
                     Cop1Function func) {
-    Emit(opcode << kOpcodeShift |
-         fmt << kFmtShift |
-         ft << kFtShift |
-         fs << kFsShift |
-         fd << kFdShift |
-         func << kCop1FnShift);
+    Emit(opcode << kOpcodeShift | fmt << kFmtShift | ft << kFtShift |
+         fs << kFsShift | fd << kFdShift | func << kCop1FnShift);
   }
 
   int32_t EncodeBranchOffset(int32_t offset, int32_t instr);
@@ -1763,7 +1674,7 @@
   void EmitFarFpuBranch(bool kind, int32_t offset);
   void EmitBranch(Opcode b, Register rs, Register rt, Label* label);
   void EmitRegImmBranch(RtRegImm b, Register rs, Label* label);
-  void EmitFpuBranch(bool kind, Label *label);
+  void EmitFpuBranch(bool kind, Label* label);
 
   void EmitBranchDelayNop() {
     Emit(Instr::kNopInstruction);  // Branch delay NOP.
diff --git a/runtime/vm/assembler_mips_test.cc b/runtime/vm/assembler_mips_test.cc
index f34b79cb..44c633f 100644
--- a/runtime/vm/assembler_mips_test.cc
+++ b/runtime/vm/assembler_mips_test.cc
@@ -330,19 +330,17 @@
   EXPECT(test != NULL);
   typedef intptr_t (*LoadHalfWordUnaligned)(intptr_t) DART_UNUSED;
   uint8_t buffer[4] = {
-    0x89, 0xAB, 0xCD, 0xEF,
+      0x89, 0xAB, 0xCD, 0xEF,
   };
 
-  EXPECT_EQ(static_cast<int16_t>(static_cast<uint16_t>(0xAB89)),
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadHalfWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[0])));
-  EXPECT_EQ(static_cast<int16_t>(static_cast<uint16_t>(0xCDAB)),
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadHalfWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[1])));
+  EXPECT_EQ(
+      static_cast<int16_t>(static_cast<uint16_t>(0xAB89)),
+      EXECUTE_TEST_CODE_INTPTR_INTPTR(LoadHalfWordUnaligned, test->entry(),
+                                      reinterpret_cast<intptr_t>(&buffer[0])));
+  EXPECT_EQ(
+      static_cast<int16_t>(static_cast<uint16_t>(0xCDAB)),
+      EXECUTE_TEST_CODE_INTPTR_INTPTR(LoadHalfWordUnaligned, test->entry(),
+                                      reinterpret_cast<intptr_t>(&buffer[1])));
 }
 
 
@@ -356,19 +354,15 @@
   EXPECT(test != NULL);
   typedef intptr_t (*LoadHalfWordUnsignedUnaligned)(intptr_t) DART_UNUSED;
   uint8_t buffer[4] = {
-    0x89, 0xAB, 0xCD, 0xEF,
+      0x89, 0xAB, 0xCD, 0xEF,
   };
 
-  EXPECT_EQ(0xAB89,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadHalfWordUnsignedUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[0])));
-  EXPECT_EQ(0xCDAB,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadHalfWordUnsignedUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[1])));
+  EXPECT_EQ(0xAB89, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                        LoadHalfWordUnsignedUnaligned, test->entry(),
+                        reinterpret_cast<intptr_t>(&buffer[0])));
+  EXPECT_EQ(0xCDAB, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                        LoadHalfWordUnsignedUnaligned, test->entry(),
+                        reinterpret_cast<intptr_t>(&buffer[1])));
 }
 
 
@@ -384,23 +378,19 @@
   EXPECT(test != NULL);
   typedef intptr_t (*StoreHalfWordUnaligned)(intptr_t) DART_UNUSED;
   uint8_t buffer[4] = {
-    0, 0, 0, 0,
+      0, 0, 0, 0,
   };
 
-  EXPECT_EQ(0xABCD,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreHalfWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[0])));
+  EXPECT_EQ(0xABCD, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                        StoreHalfWordUnaligned, test->entry(),
+                        reinterpret_cast<intptr_t>(&buffer[0])));
   EXPECT_EQ(0xCD, buffer[0]);
   EXPECT_EQ(0xAB, buffer[1]);
   EXPECT_EQ(0, buffer[2]);
 
-  EXPECT_EQ(0xABCD,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreHalfWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[1])));
+  EXPECT_EQ(0xABCD, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                        StoreHalfWordUnaligned, test->entry(),
+                        reinterpret_cast<intptr_t>(&buffer[1])));
   EXPECT_EQ(0xCD, buffer[1]);
   EXPECT_EQ(0xAB, buffer[2]);
   EXPECT_EQ(0, buffer[3]);
@@ -416,31 +406,24 @@
 ASSEMBLER_TEST_RUN(LoadWordUnaligned, test) {
   EXPECT(test != NULL);
   typedef intptr_t (*LoadWordUnaligned)(intptr_t) DART_UNUSED;
-  uint8_t buffer[8] = {
-    0x12, 0x34, 0x56, 0x78,
-    0x9A, 0xBC, 0xDE, 0xF0
-  };
+  uint8_t buffer[8] = {0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0};
 
-  EXPECT_EQ(0x78563412,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[0])));
-  EXPECT_EQ(0x9A785634,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[1])));
-  EXPECT_EQ(0xBC9A7856,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[2])));
-  EXPECT_EQ(0xDEBC9A78,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                LoadWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[3])));
+  EXPECT_EQ(
+      static_cast<intptr_t>(0x78563412),
+      EXECUTE_TEST_CODE_INTPTR_INTPTR(LoadWordUnaligned, test->entry(),
+                                      reinterpret_cast<intptr_t>(&buffer[0])));
+  EXPECT_EQ(
+      static_cast<intptr_t>(0x9A785634),
+      EXECUTE_TEST_CODE_INTPTR_INTPTR(LoadWordUnaligned, test->entry(),
+                                      reinterpret_cast<intptr_t>(&buffer[1])));
+  EXPECT_EQ(
+      static_cast<intptr_t>(0xBC9A7856),
+      EXECUTE_TEST_CODE_INTPTR_INTPTR(LoadWordUnaligned, test->entry(),
+                                      reinterpret_cast<intptr_t>(&buffer[2])));
+  EXPECT_EQ(
+      static_cast<intptr_t>(0xDEBC9A78),
+      EXECUTE_TEST_CODE_INTPTR_INTPTR(LoadWordUnaligned, test->entry(),
+                                      reinterpret_cast<intptr_t>(&buffer[3])));
 }
 
 
@@ -455,46 +438,35 @@
 ASSEMBLER_TEST_RUN(StoreWordUnaligned, test) {
   EXPECT(test != NULL);
   typedef intptr_t (*StoreWordUnaligned)(intptr_t) DART_UNUSED;
-  uint8_t buffer[8] = {
-    0, 0, 0, 0,
-    0, 0, 0, 0
-  };
+  uint8_t buffer[8] = {0, 0, 0, 0, 0, 0, 0, 0};
 
-  EXPECT_EQ(0x12345678,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[0])));
+  EXPECT_EQ(0x12345678, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                            StoreWordUnaligned, test->entry(),
+                            reinterpret_cast<intptr_t>(&buffer[0])));
   EXPECT_EQ(0x78, buffer[0]);
   EXPECT_EQ(0x56, buffer[1]);
   EXPECT_EQ(0x34, buffer[2]);
   EXPECT_EQ(0x12, buffer[3]);
 
-  EXPECT_EQ(0x12345678,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[1])));
+  EXPECT_EQ(0x12345678, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                            StoreWordUnaligned, test->entry(),
+                            reinterpret_cast<intptr_t>(&buffer[1])));
   EXPECT_EQ(0x78, buffer[1]);
   EXPECT_EQ(0x56, buffer[2]);
   EXPECT_EQ(0x34, buffer[3]);
   EXPECT_EQ(0x12, buffer[4]);
 
-  EXPECT_EQ(0x12345678,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[2])));
+  EXPECT_EQ(0x12345678, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                            StoreWordUnaligned, test->entry(),
+                            reinterpret_cast<intptr_t>(&buffer[2])));
   EXPECT_EQ(0x78, buffer[2]);
   EXPECT_EQ(0x56, buffer[3]);
   EXPECT_EQ(0x34, buffer[4]);
   EXPECT_EQ(0x12, buffer[5]);
 
-  EXPECT_EQ(0x12345678,
-            EXECUTE_TEST_CODE_INTPTR_INTPTR(
-                StoreWordUnaligned,
-                test->entry(),
-                reinterpret_cast<intptr_t>(&buffer[3])));
+  EXPECT_EQ(0x12345678, EXECUTE_TEST_CODE_INTPTR_INTPTR(
+                            StoreWordUnaligned, test->entry(),
+                            reinterpret_cast<intptr_t>(&buffer[3])));
   EXPECT_EQ(0x78, buffer[3]);
   EXPECT_EQ(0x56, buffer[4]);
   EXPECT_EQ(0x34, buffer[5]);
@@ -818,7 +790,7 @@
 ASSEMBLER_TEST_GENERATE(Slti, assembler) {
   __ LoadImmediate(T1, -2);
   __ slti(A0, T1, Immediate(-1));  // -2 < -1 -> 1.
-  __ slti(A1, T1, Immediate(0));  // -2 < 0 -> 1.
+  __ slti(A1, T1, Immediate(0));   // -2 < 0 -> 1.
   __ and_(V0, A0, A1);
   __ jr(RA);
 }
@@ -834,7 +806,7 @@
   __ LoadImmediate(T1, -1);
   __ LoadImmediate(T2, 0x10000);
   __ sltiu(A0, T1, Immediate(-2));  // 0xffffffffUL < 0xfffffffeUL -> 0.
-  __ sltiu(A1, T1, Immediate(0));  // 0xffffffffUL < 0 -> 0.
+  __ sltiu(A1, T1, Immediate(0));   // 0xffffffffUL < 0 -> 0.
   __ sltiu(A2, T2, Immediate(-2));  // 0x10000UL < 0xfffffffeUL -> 1.
   __ addiu(A2, A2, Immediate(-1));
   __ or_(V0, A0, A1);
@@ -2224,7 +2196,7 @@
 
 
 ASSEMBLER_TEST_GENERATE(Cop1TruncWD_Overflow, assembler) {
-  __ LoadImmediate(D1, 2.0*kMaxInt32);
+  __ LoadImmediate(D1, 2.0 * kMaxInt32);
   __ truncwd(F0, D1);
   __ mfc1(V0, F0);
   __ Ret();
@@ -2239,7 +2211,7 @@
 
 
 ASSEMBLER_TEST_GENERATE(Cop1TruncWD_Underflow, assembler) {
-  __ LoadImmediate(D1, 2.0*kMinInt32);
+  __ LoadImmediate(D1, 2.0 * kMinInt32);
   __ truncwd(F0, D1);
   __ mfc1(V0, F0);
   __ Ret();
@@ -2312,8 +2284,7 @@
   __ sw(THR, Address(SP, 1 * kWordSize));
   __ sw(RA, Address(SP, 0 * kWordSize));
   __ mov(THR, A2);
-  __ StoreIntoObject(A1,
-                     FieldAddress(A1, GrowableObjectArray::data_offset()),
+  __ StoreIntoObject(A1, FieldAddress(A1, GrowableObjectArray::data_offset()),
                      A0);
   __ lw(RA, Address(SP, 0 * kWordSize));
   __ lw(THR, Address(SP, 1 * kWordSize));
@@ -2335,7 +2306,7 @@
   __ sc(T2, Address(SP));  // T1 == 1, success
   __ LoadImmediate(T3, 1);
   __ bne(T2, T3, &retry);  // NE if context switch occurred between ll and sc
-  __ Pop(V0);  // 42
+  __ Pop(V0);              // 42
   __ LeaveFrameAndReturn();
 }
 
diff --git a/runtime/vm/assembler_test.cc b/runtime/vm/assembler_test.cc
index fbbd994..be5b7c3 100644
--- a/runtime/vm/assembler_test.cc
+++ b/runtime/vm/assembler_test.cc
@@ -15,8 +15,8 @@
 
 ASSEMBLER_TEST_RUN(StoreIntoObject, test) {
 #define TEST_CODE(value, growable_array, thread)                               \
-  test->Invoke<void, RawObject*, RawObject*, Thread*>(                         \
-  value, growable_array, thread)
+  test->Invoke<void, RawObject*, RawObject*, Thread*>(value, growable_array,   \
+                                                      thread)
 
   const Array& old_array = Array::Handle(Array::New(3, Heap::kOld));
   const Array& new_array = Array::Handle(Array::New(3, Heap::kNew));
diff --git a/runtime/vm/assembler_x64.cc b/runtime/vm/assembler_x64.cc
index a1b6695..20541ef 100644
--- a/runtime/vm/assembler_x64.cc
+++ b/runtime/vm/assembler_x64.cc
@@ -487,7 +487,6 @@
 }
 
 
-
 void Assembler::movss(XmmRegister dst, const Address& src) {
   ASSERT(dst <= XMM15);
   AssemblerBuffer::EnsureCapacity ensured(&buffer_);
@@ -2792,9 +2791,8 @@
   if (Thread::CanLoadFromThread(object)) {
     movq(dst, Address(THR, Thread::OffsetFromThread(object)));
   } else if (CanLoadFromObjectPool(object)) {
-    const intptr_t idx =
-        is_unique ? object_pool_wrapper_.AddObject(object)
-                  : object_pool_wrapper_.FindObject(object);
+    const intptr_t idx = is_unique ? object_pool_wrapper_.AddObject(object)
+                                   : object_pool_wrapper_.FindObject(object);
     const int32_t offset = ObjectPool::element_offset(idx);
     LoadWordFromPoolOffset(dst, offset - kHeapObjectTag);
   } else {
@@ -2863,12 +2861,11 @@
     cmpq(reg, Address(THR, Thread::OffsetFromThread(object)));
   } else if (CanLoadFromObjectPool(object)) {
     const intptr_t idx = object_pool_wrapper_.FindObject(object, kNotPatchable);
-    const int32_t offset =  ObjectPool::element_offset(idx);
-    cmpq(reg, Address(PP, offset-kHeapObjectTag));
+    const int32_t offset = ObjectPool::element_offset(idx);
+    cmpq(reg, Address(PP, offset - kHeapObjectTag));
   } else {
     ASSERT(object.IsSmi());
-    CompareImmediate(
-        reg, Immediate(reinterpret_cast<int64_t>(object.raw())));
+    CompareImmediate(reg, Immediate(reinterpret_cast<int64_t>(object.raw())));
   }
 }
 
@@ -2932,9 +2929,8 @@
   // Mask out higher, uninteresting bits which were polluted by dest.
   andl(value, Immediate(kObjectAlignment - 1));
   // Compare with the expected bit pattern.
-  cmpl(value, Immediate(
-      (kNewObjectAlignmentOffset >> 1) + kHeapObjectTag +
-      kOldObjectAlignmentOffset + kHeapObjectTag));
+  cmpl(value, Immediate((kNewObjectAlignmentOffset >> 1) + kHeapObjectTag +
+                        kOldObjectAlignmentOffset + kHeapObjectTag));
   j(NOT_ZERO, no_update, Assembler::kNearJump);
 }
 
@@ -3372,8 +3368,7 @@
 }
 
 
-void Assembler::UpdateAllocationStats(intptr_t cid,
-                                      Heap::Space space) {
+void Assembler::UpdateAllocationStats(intptr_t cid, Heap::Space space) {
   ASSERT(cid > 0);
   intptr_t counter_offset =
       ClassTable::CounterOffsetFor(cid, space == Heap::kNew);
@@ -3507,7 +3502,7 @@
   if (bytes_needed) {
     nop(bytes_needed);
   }
-  ASSERT(((offset + buffer_.GetPosition()) & (alignment-1)) == 0);
+  ASSERT(((offset + buffer_.GetPosition()) & (alignment - 1)) == 0);
 }
 
 
@@ -3632,8 +3627,8 @@
   ASSERT(RawObject::kClassIdTagPos == kBitsPerInt32);
   ASSERT(RawObject::kClassIdTagSize == kBitsPerInt32);
   ASSERT(sizeof(classid_t) == sizeof(uint32_t));
-  const intptr_t class_id_offset = Object::tags_offset() +
-      RawObject::kClassIdTagPos / kBitsPerByte;
+  const intptr_t class_id_offset =
+      Object::tags_offset() + RawObject::kClassIdTagPos / kBitsPerByte;
   movl(result, FieldAddress(object, class_id_offset));
 }
 
@@ -3667,8 +3662,8 @@
   ASSERT(RawObject::kClassIdTagPos == kBitsPerInt32);
   ASSERT(RawObject::kClassIdTagSize == kBitsPerInt32);
   ASSERT(sizeof(classid_t) == sizeof(uint32_t));
-  const intptr_t class_id_offset = Object::tags_offset() +
-      RawObject::kClassIdTagPos / kBitsPerByte;
+  const intptr_t class_id_offset =
+      Object::tags_offset() + RawObject::kClassIdTagPos / kBitsPerByte;
 
   // Untag optimistically. Tag bit is shifted into the CARRY.
   SmiUntag(object);
@@ -3716,7 +3711,7 @@
     return Address(array, index * index_scale);
   } else {
     const int64_t disp = static_cast<int64_t>(index) * index_scale +
-        Instance::DataOffsetFor(cid);
+                         Instance::DataOffsetFor(cid);
     ASSERT(Utils::IsInt(32, disp));
     return FieldAddress(array, static_cast<int32_t>(disp));
   }
@@ -3729,11 +3724,16 @@
   // expected to be untagged before accessing.
   ASSERT(kSmiTagShift == 1);
   switch (index_scale) {
-    case 1: return TIMES_1;
-    case 2: return TIMES_1;
-    case 4: return TIMES_2;
-    case 8: return TIMES_4;
-    case 16: return TIMES_8;
+    case 1:
+      return TIMES_1;
+    case 2:
+      return TIMES_1;
+    case 4:
+      return TIMES_2;
+    case 8:
+      return TIMES_4;
+    case 16:
+      return TIMES_8;
     default:
       UNREACHABLE();
       return TIMES_1;
@@ -3749,18 +3749,15 @@
   if (is_external) {
     return Address(array, index, ToScaleFactor(index_scale), 0);
   } else {
-    return FieldAddress(array,
-                        index,
-                        ToScaleFactor(index_scale),
+    return FieldAddress(array, index, ToScaleFactor(index_scale),
                         Instance::DataOffsetFor(cid));
   }
 }
 
 
 static const char* cpu_reg_names[kNumberOfCpuRegisters] = {
-  "rax", "rcx", "rdx", "rbx", "rsp", "rbp", "rsi", "rdi",
-  "r8", "r9", "r10", "r11", "r12", "r13", "thr", "pp"
-};
+    "rax", "rcx", "rdx", "rbx", "rsp", "rbp", "rsi", "rdi",
+    "r8",  "r9",  "r10", "r11", "r12", "r13", "thr", "pp"};
 
 
 const char* Assembler::RegisterName(Register reg) {
@@ -3770,9 +3767,8 @@
 
 
 static const char* xmm_reg_names[kNumberOfXmmRegisters] = {
-  "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7",
-  "xmm8", "xmm9", "xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15"
-};
+    "xmm0", "xmm1", "xmm2",  "xmm3",  "xmm4",  "xmm5",  "xmm6",  "xmm7",
+    "xmm8", "xmm9", "xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15"};
 
 
 const char* Assembler::FpuRegisterName(FpuRegister reg) {
diff --git a/runtime/vm/assembler_x64.h b/runtime/vm/assembler_x64.h
index b6db263..77f3bb9 100644
--- a/runtime/vm/assembler_x64.h
+++ b/runtime/vm/assembler_x64.h
@@ -23,9 +23,9 @@
 
 class Immediate : public ValueObject {
  public:
-  explicit Immediate(int64_t value) : value_(value) { }
+  explicit Immediate(int64_t value) : value_(value) {}
 
-  Immediate(const Immediate& other) : ValueObject(), value_(other.value_) { }
+  Immediate(const Immediate& other) : ValueObject(), value_(other.value_) {}
 
   int64_t value() const { return value_; }
 
@@ -45,13 +45,9 @@
 
 class Operand : public ValueObject {
  public:
-  uint8_t rex() const {
-    return rex_;
-  }
+  uint8_t rex() const { return rex_; }
 
-  uint8_t mod() const {
-    return (encoding_at(0) >> 6) & 3;
-  }
+  uint8_t mod() const { return (encoding_at(0) >> 6) & 3; }
 
   Register rm() const {
     int rm_rex = (rex_ & REX_B) << 3;
@@ -104,7 +100,7 @@
   }
 
  protected:
-  Operand() : length_(0), rex_(REX_NONE) { }  // Needed by subclass Address.
+  Operand() : length_(0), rex_(REX_NONE) {}  // Needed by subclass Address.
 
   void SetModRM(int mod, Register rm) {
     ASSERT((mod & ~3) == 0);
@@ -155,8 +151,8 @@
   // disguise. Used from the assembler to generate better encodings.
   bool IsRegister(Register reg) const {
     return ((reg > 7 ? 1 : 0) == (rex_ & REX_B))  // REX.B match.
-        && ((encoding_at(0) & 0xF8) == 0xC0)  // Addressing mode is register.
-        && ((encoding_at(0) & 0x07) == reg);  // Register codes match.
+           && ((encoding_at(0) & 0xF8) == 0xC0)  // Addressing mode is register.
+           && ((encoding_at(0) & 0x07) == reg);  // Register codes match.
   }
 
   friend class Assembler;
@@ -218,7 +214,7 @@
   // This addressing mode does not exist.
   Address(Register base, Register index, ScaleFactor scale, Register r);
 
-  Address(const Address& other) : Operand(other) { }
+  Address(const Address& other) : Operand(other) {}
 
   Address& operator=(const Address& other) {
     Operand::operator=(other);
@@ -246,7 +242,7 @@
   }
 
   struct RIPRelativeDisp {
-    explicit RIPRelativeDisp(int32_t disp) : disp_(disp) { }
+    explicit RIPRelativeDisp(int32_t disp) : disp_(disp) {}
     const int32_t disp_;
   };
 
@@ -260,18 +256,18 @@
 class FieldAddress : public Address {
  public:
   FieldAddress(Register base, int32_t disp)
-      : Address(base, disp - kHeapObjectTag) { }
+      : Address(base, disp - kHeapObjectTag) {}
 
   // This addressing mode does not exist.
   FieldAddress(Register base, Register r);
 
   FieldAddress(Register base, Register index, ScaleFactor scale, int32_t disp)
-      : Address(base, index, scale, disp - kHeapObjectTag) { }
+      : Address(base, index, scale, disp - kHeapObjectTag) {}
 
   // This addressing mode does not exist.
   FieldAddress(Register base, Register index, ScaleFactor scale, Register r);
 
-  FieldAddress(const FieldAddress& other) : Address(other) { }
+  FieldAddress(const FieldAddress& other) : Address(other) {}
 
   FieldAddress& operator=(const FieldAddress& other) {
     Address::operator=(other);
@@ -353,7 +349,7 @@
  public:
   explicit Assembler(bool use_far_branches = false);
 
-  ~Assembler() { }
+  ~Assembler() {}
 
   static const bool kNearJump = true;
   static const bool kFarJump = false;
@@ -503,9 +499,9 @@
 
   enum RoundingMode {
     kRoundToNearest = 0x0,
-    kRoundDown      = 0x1,
-    kRoundUp        = 0x2,
-    kRoundToZero    = 0x3
+    kRoundDown = 0x1,
+    kRoundUp = 0x2,
+    kRoundToZero = 0x3
   };
   void roundsd(XmmRegister dst, XmmRegister src, RoundingMode mode);
 
@@ -682,9 +678,7 @@
   void int3();
   void hlt();
 
-  static uword GetBreakInstructionFiller() {
-    return 0xCCCCCCCCCCCCCCCC;
-  }
+  static uword GetBreakInstructionFiller() { return 0xCCCCCCCCCCCCCCCC; }
 
   void j(Condition condition, Label* label, bool near = kFarJump);
 
@@ -749,12 +743,8 @@
 
   void Drop(intptr_t stack_elements, Register tmp = TMP);
 
-  bool constant_pool_allowed() const {
-    return constant_pool_allowed_;
-  }
-  void set_constant_pool_allowed(bool b) {
-    constant_pool_allowed_ = b;
-  }
+  bool constant_pool_allowed() const { return constant_pool_allowed_; }
+  void set_constant_pool_allowed(bool b) { constant_pool_allowed_ = b; }
 
   void LoadImmediate(Register reg, const Immediate& imm);
   void LoadIsolate(Register dst);
@@ -783,9 +773,9 @@
   void CompareObject(Register reg, const Object& object);
 
   // Destroys value.
-  void StoreIntoObject(Register object,  // Object we are storing into.
+  void StoreIntoObject(Register object,      // Object we are storing into.
                        const Address& dest,  // Where we are storing into.
-                       Register value,  // Value we are storing.
+                       Register value,       // Value we are storing.
                        bool can_value_be_smi = true);
 
   void StoreIntoObjectNoBarrier(Register object,
@@ -853,13 +843,9 @@
   /*
    * Misc. functionality.
    */
-  void SmiTag(Register reg) {
-    addq(reg, reg);
-  }
+  void SmiTag(Register reg) { addq(reg, reg); }
 
-  void SmiUntag(Register reg) {
-    sarq(reg, Immediate(kSmiTagSize));
-  }
+  void SmiUntag(Register reg) { sarq(reg, Immediate(kSmiTagSize)); }
 
   void BranchIfNotSmi(Register reg, Label* label) {
     testq(reg, Immediate(kSmiTagMask));
@@ -876,9 +862,7 @@
   const Code::Comments& GetCodeComments() const;
 
   // Address of code at offset.
-  uword CodeAddress(intptr_t offset) {
-    return buffer_.Address(offset);
-  }
+  uword CodeAddress(intptr_t offset) { return buffer_.Address(offset); }
 
   intptr_t CodeSize() const { return buffer_.Size(); }
   intptr_t prologue_offset() const { return prologue_offset_; }
@@ -886,9 +870,7 @@
 
   // Count the fixups that produce a pointer offset, without processing
   // the fixups.
-  intptr_t CountPointerOffsets() const {
-    return buffer_.CountPointerOffsets();
-  }
+  intptr_t CountPointerOffsets() const { return buffer_.CountPointerOffsets(); }
 
   const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const {
     return buffer_.pointer_offsets();
@@ -952,8 +934,7 @@
 
   void MonomorphicCheckedEntry();
 
-  void UpdateAllocationStats(intptr_t cid,
-                             Heap::Space space);
+  void UpdateAllocationStats(intptr_t cid, Heap::Space space);
 
   void UpdateAllocationStatsWithSize(intptr_t cid,
                                      Register size_reg,
@@ -964,9 +945,7 @@
 
   // If allocation tracing for |cid| is enabled, will jump to |trace| label,
   // which will allocate in the runtime where tracing occurs.
-  void MaybeTraceAllocation(intptr_t cid,
-                            Label* trace,
-                            bool near_jump);
+  void MaybeTraceAllocation(intptr_t cid, Label* trace, bool near_jump);
 
   // Inlined allocation of an instance of class 'cls', code has no runtime
   // calls. Jump to 'failure' if the instance cannot be allocated here.
@@ -1029,7 +1008,7 @@
   class CodeComment : public ZoneAllocated {
    public:
     CodeComment(intptr_t pc_offset, const String& comment)
-        : pc_offset_(pc_offset), comment_(comment) { }
+        : pc_offset_(pc_offset), comment_(comment) {}
 
     intptr_t pc_offset() const { return pc_offset_; }
     const String& comment() const { return comment_; }
@@ -1146,18 +1125,14 @@
 }
 
 
-inline void Assembler::EmitREX_RB(XmmRegister reg,
-                                  Register base,
-                                  uint8_t rex) {
+inline void Assembler::EmitREX_RB(XmmRegister reg, Register base, uint8_t rex) {
   if (reg > 7) rex |= REX_R;
   if (base > 7) rex |= REX_B;
   if (rex != REX_NONE) EmitUint8(REX_PREFIX | rex);
 }
 
 
-inline void Assembler::EmitREX_RB(Register reg,
-                                  XmmRegister base,
-                                  uint8_t rex) {
+inline void Assembler::EmitREX_RB(Register reg, XmmRegister base, uint8_t rex) {
   if (reg > 7) rex |= REX_R;
   if (base > 7) rex |= REX_B;
   if (rex != REX_NONE) EmitUint8(REX_PREFIX | rex);
diff --git a/runtime/vm/assembler_x64_test.cc b/runtime/vm/assembler_x64_test.cc
index 4193276..8816dd0 100644
--- a/runtime/vm/assembler_x64_test.cc
+++ b/runtime/vm/assembler_x64_test.cc
@@ -233,8 +233,7 @@
 ASSEMBLER_TEST_GENERATE(JumpAroundCrash, assembler) {
   Label done;
   // Make sure all the condition jumps work.
-  for (Condition condition = OVERFLOW;
-       condition <= GREATER;
+  for (Condition condition = OVERFLOW; condition <= GREATER;
        condition = static_cast<Condition>(condition + 1)) {
     __ j(condition, &done);
   }
@@ -413,8 +412,8 @@
 ASSEMBLER_TEST_GENERATE(UnsignedMultiply, assembler) {
   __ movl(RAX, Immediate(-1));  // RAX = 0xFFFFFFFF
   __ movl(RCX, Immediate(16));  // RCX = 0x10
-  __ mull(RCX);  // RDX:RAX = RAX * RCX = 0x0FFFFFFFF0
-  __ movq(RAX, RDX);  // Return high32(0x0FFFFFFFF0) == 0x0F
+  __ mull(RCX);                 // RDX:RAX = RAX * RCX = 0x0FFFFFFFF0
+  __ movq(RAX, RDX);            // Return high32(0x0FFFFFFFF0) == 0x0F
   __ ret();
 }
 
@@ -534,8 +533,8 @@
 ASSEMBLER_TEST_GENERATE(UnsignedMultiplyLong, assembler) {
   __ movq(RAX, Immediate(-1));  // RAX = 0xFFFFFFFFFFFFFFFF
   __ movq(RCX, Immediate(16));  // RCX = 0x10
-  __ mulq(RCX);  // RDX:RAX = RAX * RCX = 0x0FFFFFFFFFFFFFFFF0
-  __ movq(RAX, RDX);  // Return high64(0x0FFFFFFFFFFFFFFFF0) == 0x0F
+  __ mulq(RCX);                 // RDX:RAX = RAX * RCX = 0x0FFFFFFFFFFFFFFFF0
+  __ movq(RAX, RDX);            // Return high64(0x0FFFFFFFFFFFFFFFF0) == 0x0F
   __ ret();
 }
 
@@ -801,8 +800,8 @@
   __ pushq(CallingConventions::kArg1Reg);
   __ movl(RAX, Address(RSP, 0));  // left low.
   __ movl(RDX, Address(RSP, 4));  // left high.
-  __ addl(RAX, Immediate(12));  // right low immediate.
-  __ adcl(RDX, Immediate(11));  // right high immediate.
+  __ addl(RAX, Immediate(12));    // right low immediate.
+  __ adcl(RDX, Immediate(11));    // right high immediate.
   // Result is in RAX/RDX.
   __ movl(Address(RSP, 0), RAX);  // result low.
   __ movl(Address(RSP, 4), RDX);  // result high.
@@ -826,9 +825,9 @@
 ASSEMBLER_TEST_GENERATE(LongAddAddress, assembler) {
   __ pushq(CallingConventions::kArg2Reg);
   __ pushq(CallingConventions::kArg1Reg);
-  __ movl(RAX, Address(RSP, 0));  // left low.
-  __ movl(RDX, Address(RSP, 4));  // left high.
-  __ addl(RAX, Address(RSP, 8));  // low.
+  __ movl(RAX, Address(RSP, 0));   // left low.
+  __ movl(RDX, Address(RSP, 4));   // left high.
+  __ addl(RAX, Address(RSP, 8));   // low.
   __ adcl(RDX, Address(RSP, 12));  // high.
   // Result is in RAX/RDX.
   __ movl(Address(RSP, 0), RAX);  // result low.
@@ -887,8 +886,8 @@
   __ pushq(CallingConventions::kArg1Reg);
   __ movl(RAX, Address(RSP, 0));  // left low.
   __ movl(RDX, Address(RSP, 4));  // left high.
-  __ subl(RAX, Immediate(12));  // right low immediate.
-  __ sbbl(RDX, Immediate(11));  // right high immediate.
+  __ subl(RAX, Immediate(12));    // right low immediate.
+  __ sbbl(RDX, Immediate(11));    // right high immediate.
   // Result is in RAX/RDX.
   __ movl(Address(RSP, 0), RAX);  // result low.
   __ movl(Address(RSP, 4), RDX);  // result high.
@@ -912,9 +911,9 @@
 ASSEMBLER_TEST_GENERATE(LongSubAddress, assembler) {
   __ pushq(CallingConventions::kArg2Reg);
   __ pushq(CallingConventions::kArg1Reg);
-  __ movl(RAX, Address(RSP, 0));  // left low.
-  __ movl(RDX, Address(RSP, 4));  // left high.
-  __ subl(RAX, Address(RSP, 8));  // low.
+  __ movl(RAX, Address(RSP, 0));   // left low.
+  __ movl(RDX, Address(RSP, 4));   // left high.
+  __ subl(RAX, Address(RSP, 8));   // low.
   __ sbbl(RDX, Address(RSP, 12));  // high.
   // Result is in RAX/RDX.
   __ movl(Address(RSP, 0), RAX);  // result low.
@@ -964,9 +963,9 @@
 
 ASSEMBLER_TEST_GENERATE(AddImmediate, assembler) {
   __ movq(R10, CallingConventions::kArg1Reg);  // al.
-  __ addq(R10, Immediate(13));  // bl.
+  __ addq(R10, Immediate(13));                 // bl.
   __ movq(RAX, CallingConventions::kArg2Reg);  // ah.
-  __ adcq(RAX, Immediate(14));  // bh.
+  __ adcq(RAX, Immediate(14));                 // bh.
   // RAX = high64(ah:al + bh:bl).
   __ ret();
 }
@@ -1040,9 +1039,9 @@
 
 ASSEMBLER_TEST_GENERATE(SubImmediate, assembler) {
   __ movq(R10, CallingConventions::kArg1Reg);  // al.
-  __ subq(R10, Immediate(12));  // bl.
+  __ subq(R10, Immediate(12));                 // bl.
   __ movq(RAX, CallingConventions::kArg2Reg);  // ah.
-  __ sbbq(RAX, Immediate(11));  // bh.
+  __ sbbq(RAX, Immediate(11));                 // bh.
   // RAX = high64(ah:al - bh:bl).
   __ ret();
 }
@@ -1811,8 +1810,9 @@
 
 static int ComputeStackSpaceReservation(int needed, int fixed) {
   return (OS::ActivationFrameAlignment() > 1)
-      ? Utils::RoundUp(needed + fixed, OS::ActivationFrameAlignment()) - fixed
-      : needed;
+             ? Utils::RoundUp(needed + fixed, OS::ActivationFrameAlignment()) -
+                   fixed
+             : needed;
 }
 
 
@@ -1972,11 +1972,11 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 1.0, 2.0 };
+  } constant0 = {1.0, 2.0};
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant1 = { 3.0, 4.0 };
+  } constant1 = {3.0, 4.0};
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM10, Address(RAX, 0));
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant1)));
@@ -1998,11 +1998,11 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 1.0, 2.0 };
+  } constant0 = {1.0, 2.0};
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant1 = { 3.0, 4.0 };
+  } constant1 = {3.0, 4.0};
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM10, Address(RAX, 0));
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant1)));
@@ -2046,7 +2046,7 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 1.0, 2.0 };
+  } constant0 = {1.0, 2.0};
   EnterTestFrame(assembler);
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM10, Address(RAX, 0));
@@ -2067,7 +2067,7 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { -1.0, 2.0 };
+  } constant0 = {-1.0, 2.0};
   EnterTestFrame(assembler);
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM10, Address(RAX, 0));
@@ -2088,11 +2088,11 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 3.0, 2.0 };
+  } constant0 = {3.0, 2.0};
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant1 = { 3.0, 4.0 };
+  } constant1 = {3.0, 4.0};
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM10, Address(RAX, 0));
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant1)));
@@ -2114,11 +2114,11 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 9.0, 2.0 };
+  } constant0 = {9.0, 2.0};
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant1 = { 3.0, 4.0 };
+  } constant1 = {3.0, 4.0};
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM10, Address(RAX, 0));
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant1)));
@@ -2140,7 +2140,7 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 16.0, 2.0 };
+  } constant0 = {16.0, 2.0};
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM10, Address(RAX, 0));
   __ sqrtpd(XMM10);
@@ -2160,11 +2160,11 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 9.0, 2.0 };
+  } constant0 = {9.0, 2.0};
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant1 = { 3.0, 4.0 };
+  } constant1 = {3.0, 4.0};
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM10, Address(RAX, 0));
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant1)));
@@ -2186,11 +2186,11 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 9.0, 2.0 };
+  } constant0 = {9.0, 2.0};
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant1 = { 3.0, 4.0 };
+  } constant1 = {3.0, 4.0};
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM10, Address(RAX, 0));
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant1)));
@@ -2212,7 +2212,7 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 2.0, 9.0 };
+  } constant0 = {2.0, 9.0};
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM10, Address(RAX, 0));
   // Splat Y across all lanes.
@@ -2236,7 +2236,7 @@
   static const struct ALIGN16 {
     double a;
     double b;
-  } constant0 = { 9.0, 2.0 };
+  } constant0 = {9.0, 2.0};
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM11, Address(RAX, 0));
   __ cvtpd2ps(XMM10, XMM11);
@@ -2258,7 +2258,7 @@
     float b;
     float c;
     float d;
-  } constant0 = { 9.0f, 2.0f, 3.0f, 4.0f };
+  } constant0 = {9.0f, 2.0f, 3.0f, 4.0f};
   __ movq(RAX, Immediate(reinterpret_cast<uword>(&constant0)));
   __ movups(XMM11, Address(RAX, 0));
   __ cvtps2pd(XMM10, XMM11);
@@ -2387,11 +2387,11 @@
   __ movd(XMM0, RAX);
   __ shufps(XMM0, XMM0, Immediate(0x0));
 
-  __ movaps(XMM11, XMM0);  // Copy XMM0
-  __ reciprocalps(XMM11);  // 0.25
-  __ sqrtps(XMM11);  // 0.5
-  __ rsqrtps(XMM0);  // ~0.5
-  __ subps(XMM0, XMM11);  // ~0.0
+  __ movaps(XMM11, XMM0);                  // Copy XMM0
+  __ reciprocalps(XMM11);                  // 0.25
+  __ sqrtps(XMM11);                        // 0.5
+  __ rsqrtps(XMM0);                        // ~0.5
+  __ subps(XMM0, XMM11);                   // ~0.0
   __ shufps(XMM0, XMM0, Immediate(0x00));  // Copy second lane into all 4 lanes.
   __ ret();
 }
@@ -2600,15 +2600,13 @@
     uint32_t b;
     uint32_t c;
     uint32_t d;
-  } constant1 =
-      { 0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0 };
+  } constant1 = {0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0};
   static const struct ALIGN16 {
     uint32_t a;
     uint32_t b;
     uint32_t c;
     uint32_t d;
-  } constant2 =
-      { 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F };
+  } constant2 = {0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F};
   __ movq(RAX, Immediate(reinterpret_cast<intptr_t>(&constant1)));
   __ movups(XMM0, Address(RAX, 0));
   __ movq(RAX, Immediate(reinterpret_cast<intptr_t>(&constant2)));
@@ -2634,15 +2632,13 @@
     uint32_t b;
     uint32_t c;
     uint32_t d;
-  } constant1 =
-      { 0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0 };
+  } constant1 = {0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0};
   static const struct ALIGN16 {
     uint32_t a;
     uint32_t b;
     uint32_t c;
     uint32_t d;
-  } constant2 =
-      { 0x0F0FFF0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F };
+  } constant2 = {0x0F0FFF0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F};
   __ movq(RAX, Immediate(reinterpret_cast<intptr_t>(&constant1)));
   __ movups(XMM0, Address(RAX, 0));
   __ movq(RAX, Immediate(reinterpret_cast<intptr_t>(&constant2)));
@@ -2667,8 +2663,7 @@
     uint32_t b;
     uint32_t c;
     uint32_t d;
-  } constant1 =
-      { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF };
+  } constant1 = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF};
   EnterTestFrame(assembler);
   __ LoadImmediate(RAX, Immediate(reinterpret_cast<intptr_t>(&constant1)));
   __ movups(XMM9, Address(RAX, 0));
@@ -2694,13 +2689,13 @@
     float b;
     float c;
     float d;
-  } constant0 = { 1.0, 2.0, 3.0, 4.0 };
+  } constant0 = {1.0, 2.0, 3.0, 4.0};
   static const struct ALIGN16 {
     float a;
     float b;
     float c;
     float d;
-  } constant1 = { 5.0, 6.0, 7.0, 8.0 };
+  } constant1 = {5.0, 6.0, 7.0, 8.0};
   // XMM9 = 1.0f, 2.0f, 3.0f, 4.0f.
   __ movq(RAX, Immediate(reinterpret_cast<intptr_t>(&constant0)));
   __ movups(XMM9, Address(RAX, 0));
@@ -2714,7 +2709,7 @@
   __ movaps(XMM1, XMM9);
   __ shufps(XMM9, XMM9, Immediate(0x00));  // 7.0f.
   __ shufps(XMM1, XMM1, Immediate(0x55));  // 8.0f.
-  __ addss(XMM9, XMM1);  // 15.0f.
+  __ addss(XMM9, XMM1);                    // 15.0f.
   __ movaps(XMM0, XMM9);
   __ ret();
 }
@@ -2733,13 +2728,13 @@
     float b;
     float c;
     float d;
-  } constant0 = { 1.0, 2.0, 3.0, 4.0 };
+  } constant0 = {1.0, 2.0, 3.0, 4.0};
   static const struct ALIGN16 {
     float a;
     float b;
     float c;
     float d;
-  } constant1 = { 5.0, 6.0, 7.0, 8.0 };
+  } constant1 = {5.0, 6.0, 7.0, 8.0};
   // XMM9 = 1.0f, 2.0f, 3.0f, 4.0f.
   __ movq(RAX, Immediate(reinterpret_cast<intptr_t>(&constant0)));
   __ movups(XMM9, Address(RAX, 0));
@@ -2753,7 +2748,7 @@
   __ movaps(XMM1, XMM9);
   __ shufps(XMM9, XMM9, Immediate(0xAA));  // 5.0f.
   __ shufps(XMM1, XMM1, Immediate(0xFF));  // 6.0f.
-  __ addss(XMM9, XMM1);  // 11.0f.
+  __ addss(XMM9, XMM1);                    // 11.0f.
   __ movaps(XMM0, XMM9);
   __ ret();
 }
@@ -2772,13 +2767,13 @@
     float b;
     float c;
     float d;
-  } constant0 = { 1.0, 2.0, 3.0, 4.0 };
+  } constant0 = {1.0, 2.0, 3.0, 4.0};
   static const struct ALIGN16 {
     float a;
     float b;
     float c;
     float d;
-  } constant1 = { 5.0, 6.0, 7.0, 8.0 };
+  } constant1 = {5.0, 6.0, 7.0, 8.0};
   // XMM9 = 1.0f, 2.0f, 3.0f, 4.0f.
   __ movq(RAX, Immediate(reinterpret_cast<intptr_t>(&constant0)));
   __ movups(XMM9, Address(RAX, 0));
@@ -2810,13 +2805,13 @@
     float b;
     float c;
     float d;
-  } constant0 = { 1.0, 2.0, 3.0, 4.0 };
+  } constant0 = {1.0, 2.0, 3.0, 4.0};
   static const struct ALIGN16 {
     float a;
     float b;
     float c;
     float d;
-  } constant1 = { 5.0, 6.0, 7.0, 8.0 };
+  } constant1 = {5.0, 6.0, 7.0, 8.0};
   // XMM9 = 1.0f, 2.0f, 3.0f, 4.0f.
   __ movq(RAX, Immediate(reinterpret_cast<intptr_t>(&constant0)));
   __ movups(XMM9, Address(RAX, 0));
@@ -2848,13 +2843,13 @@
     float b;
     float c;
     float d;
-  } constant0 = { 1.0, 2.0, 3.0, 4.0 };
+  } constant0 = {1.0, 2.0, 3.0, 4.0};
   static const struct ALIGN16 {
     float a;
     float b;
     float c;
     float d;
-  } constant1 = { 5.0, 6.0, 7.0, 8.0 };
+  } constant1 = {5.0, 6.0, 7.0, 8.0};
   // XMM9 = 1.0f, 2.0f, 3.0f, 4.0f.
   __ movq(RAX, Immediate(reinterpret_cast<intptr_t>(&constant0)));
   __ movups(XMM9, Address(RAX, 0));
@@ -2886,13 +2881,13 @@
     float b;
     float c;
     float d;
-  } constant0 = { 1.0, 2.0, 3.0, 4.0 };
+  } constant0 = {1.0, 2.0, 3.0, 4.0};
   static const struct ALIGN16 {
     float a;
     float b;
     float c;
     float d;
-  } constant1 = { 5.0, 6.0, 7.0, 8.0 };
+  } constant1 = {5.0, 6.0, 7.0, 8.0};
   // XMM9 = 1.0f, 2.0f, 3.0f, 4.0f.
   __ movq(RAX, Immediate(reinterpret_cast<intptr_t>(&constant0)));
   __ movups(XMM9, Address(RAX, 0));
@@ -2975,8 +2970,8 @@
 
 ASSEMBLER_TEST_RUN(DoubleFPMoves, test) {
   typedef double (*DoubleFPMovesCode)();
-  EXPECT_FLOAT_EQ(1024.67,
-                  reinterpret_cast<DoubleFPMovesCode>(test->entry())(), 0.001);
+  EXPECT_FLOAT_EQ(1024.67, reinterpret_cast<DoubleFPMovesCode>(test->entry())(),
+                  0.001);
 }
 
 
@@ -2994,12 +2989,12 @@
   __ divsd(XMM8, XMM12);  // 14.7
   __ sqrtsd(XMM8, XMM8);  // 3.834
   __ movsd(XMM1, Address(RSP, 0));
-  __ addsd(XMM0, XMM1);  // 15.7
-  __ mulsd(XMM0, XMM1);  // 53.38
-  __ subsd(XMM0, XMM1);  // 49.98
-  __ divsd(XMM0, XMM1);  // 14.7
+  __ addsd(XMM0, XMM1);   // 15.7
+  __ mulsd(XMM0, XMM1);   // 53.38
+  __ subsd(XMM0, XMM1);   // 49.98
+  __ divsd(XMM0, XMM1);   // 14.7
   __ sqrtsd(XMM0, XMM0);  // 3.834057902
-  __ addsd(XMM0, XMM8);  // 7.6681
+  __ addsd(XMM0, XMM8);   // 7.6681
   __ popq(RAX);
   __ ret();
 }
@@ -3035,7 +3030,7 @@
   __ movq(RDX, Immediate(12LL << 32));
   __ cvtsi2sdq(XMM0, RDX);
   __ movsd(XMM15, XMM0);  // Move to high register
-  __ addsd(XMM0, XMM0);  // Stomp XMM0
+  __ addsd(XMM0, XMM0);   // Stomp XMM0
   __ movsd(XMM0, XMM15);  // Move back to XMM0
   __ ret();
 }
@@ -3435,7 +3430,7 @@
 
 ASSEMBLER_TEST_RUN(DoubleAbs, test) {
   double val = -12.45;
-  double res =  test->InvokeWithCodeAndThread<double, double>(val);
+  double res = test->InvokeWithCodeAndThread<double, double>(val);
   EXPECT_FLOAT_EQ(-val, res, 0.001);
   val = 12.45;
   res = test->InvokeWithCodeAndThread<double, double>(val);
@@ -3479,9 +3474,9 @@
 ASSEMBLER_TEST_GENERATE(TestRepMovsBytes, assembler) {
   __ pushq(RSI);
   __ pushq(RDI);
-  __ pushq(CallingConventions::kArg1Reg);  // from.
-  __ pushq(CallingConventions::kArg2Reg);  // to.
-  __ pushq(CallingConventions::kArg3Reg);  // count.
+  __ pushq(CallingConventions::kArg1Reg);     // from.
+  __ pushq(CallingConventions::kArg2Reg);     // to.
+  __ pushq(CallingConventions::kArg3Reg);     // count.
   __ movq(RSI, Address(RSP, 2 * kWordSize));  // from.
   __ movq(RDI, Address(RSP, 1 * kWordSize));  // to.
   __ movq(RCX, Address(RSP, 0 * kWordSize));  // count.
@@ -3505,13 +3500,13 @@
   for (int i = 0; i < 10; i++) {
     EXPECT_EQ(from[i], to[i]);
   }
-  delete [] to;
+  delete[] to;
 }
 
 
 ASSEMBLER_TEST_GENERATE(ConditionalMovesCompare, assembler) {
   __ cmpq(CallingConventions::kArg1Reg, CallingConventions::kArg2Reg);
-  __ movq(RDX, Immediate(1));  // Greater equal.
+  __ movq(RDX, Immediate(1));   // Greater equal.
   __ movq(RCX, Immediate(-1));  // Less
   __ cmovlessq(RAX, RCX);
   __ cmovgeq(RAX, RDX);
@@ -3582,8 +3577,8 @@
 
 ASSEMBLER_TEST_RUN(ConditionalMovesNoOverflow, test) {
   typedef int (*ConditionalMovesNoOverflowCode)(int64_t i, int64_t j);
-  int res = reinterpret_cast<ConditionalMovesNoOverflowCode>(
-      test->entry())(0x7fffffffffffffff, 2);
+  int res = reinterpret_cast<ConditionalMovesNoOverflowCode>(test->entry())(
+      0x7fffffffffffffff, 2);
   EXPECT_EQ(1, res);
   res = reinterpret_cast<ConditionalMovesNoOverflowCode>(test->entry())(1, 1);
   EXPECT_EQ(0, res);
diff --git a/runtime/vm/ast.cc b/runtime/vm/ast.cc
index cfe1637..69fb0d3 100644
--- a/runtime/vm/ast.cc
+++ b/runtime/vm/ast.cc
@@ -14,18 +14,16 @@
 namespace dart {
 
 #define DEFINE_VISIT_FUNCTION(BaseName)                                        \
-void BaseName##Node::Visit(AstNodeVisitor* visitor) {                          \
-  visitor->Visit##BaseName##Node(this);                                        \
-}
+  void BaseName##Node::Visit(AstNodeVisitor* visitor) {                        \
+    visitor->Visit##BaseName##Node(this);                                      \
+  }
 
 FOR_EACH_NODE(DEFINE_VISIT_FUNCTION)
 #undef DEFINE_VISIT_FUNCTION
 
 
 #define DEFINE_NAME_FUNCTION(BaseName)                                         \
-const char* BaseName##Node::Name() const {                                     \
-  return #BaseName;                                                            \
-}
+  const char* BaseName##Node::Name() const { return #BaseName; }
 
 FOR_EACH_NODE(DEFINE_NAME_FUNCTION)
 #undef DEFINE_NAME_FUNCTION
@@ -46,8 +44,7 @@
 // array.
 class AstNodeCollector : public AstNodeVisitor {
  public:
-  explicit AstNodeCollector(GrowableArray<AstNode*>* nodes)
-    : nodes_(nodes) { }
+  explicit AstNodeCollector(GrowableArray<AstNode*>* nodes) : nodes_(nodes) {}
 
 #define DEFINE_VISITOR_FUNCTION(BaseName)                                      \
   virtual void Visit##BaseName##Node(BaseName##Node* node) {                   \
@@ -55,7 +52,7 @@
     node->VisitChildren(this);                                                 \
   }
 
-FOR_EACH_NODE(DEFINE_VISITOR_FUNCTION)
+  FOR_EACH_NODE(DEFINE_VISITOR_FUNCTION)
 #undef DEFINE_VISITOR_FUNCTION
 
  private:
@@ -85,8 +82,7 @@
 }
 
 
-void PrimaryNode::VisitChildren(AstNodeVisitor* visitor) const {
-}
+void PrimaryNode::VisitChildren(AstNodeVisitor* visitor) const {}
 
 
 void ArgumentListNode::VisitChildren(AstNodeVisitor* visitor) const {
@@ -97,10 +93,7 @@
 
 
 LetNode::LetNode(TokenPosition token_pos)
-  : AstNode(token_pos),
-    vars_(1),
-    initializers_(1),
-    nodes_(1) { }
+    : AstNode(token_pos), vars_(1), initializers_(1), nodes_(1) {}
 
 
 LocalVariable* LetNode::AddInitializer(AstNode* node) {
@@ -108,11 +101,10 @@
   Zone* zone = thread->zone();
   initializers_.Add(node);
   char name[64];
-  OS::SNPrint(name, sizeof(name), ":lt%s_%" Pd "",
-      token_pos().ToCString(), vars_.length());
+  OS::SNPrint(name, sizeof(name), ":lt%s_%" Pd "", token_pos().ToCString(),
+              vars_.length());
   LocalVariable* temp_var =
-      new LocalVariable(TokenPosition::kNoSource,
-                        token_pos(),
+      new LocalVariable(TokenPosition::kNoSource, token_pos(),
                         String::ZoneHandle(zone, Symbols::New(thread, name)),
                         Object::dynamic_type());
   vars_.Add(temp_var);
@@ -233,10 +225,9 @@
 
 
 bool ComparisonNode::IsKindValid() const {
-  return Token::IsRelationalOperator(kind_)
-      || Token::IsEqualityOperator(kind_)
-      || Token::IsTypeTestOperator(kind_)
-      || Token::IsTypeCastOperator(kind_);
+  return Token::IsRelationalOperator(kind_) ||
+         Token::IsEqualityOperator(kind_) || Token::IsTypeTestOperator(kind_) ||
+         Token::IsTypeCastOperator(kind_);
 }
 
 
@@ -256,7 +247,7 @@
     case Token::kEQ_STRICT:
     case Token::kNE_STRICT:
       return this->left()->IsPotentiallyConst() &&
-          this->right()->IsPotentiallyConst();
+             this->right()->IsPotentiallyConst();
     default:
       return false;
   }
@@ -286,14 +277,10 @@
     case Token::kNE:
       // The comparison is a compile time const if both operands are either a
       // number, string, or boolean value (but not necessarily the same type).
-      if ((left_val->IsNumber() ||
-          left_val->IsString() ||
-          left_val->IsBool() ||
-          left_val->IsNull()) &&
-          (right_val->IsNumber() ||
-          right_val->IsString() ||
-          right_val->IsBool() ||
-          right_val->IsNull())) {
+      if ((left_val->IsNumber() || left_val->IsString() || left_val->IsBool() ||
+           left_val->IsNull()) &&
+          (right_val->IsNumber() || right_val->IsString() ||
+           right_val->IsBool() || right_val->IsNull())) {
         return &Bool::False();
       }
       return NULL;
@@ -309,7 +296,6 @@
 }
 
 
-
 bool BinaryOpNode::IsKindValid() const {
   switch (kind_) {
     case Token::kADD:
@@ -350,7 +336,7 @@
           this->right()->AsLiteralNode()->literal().IsNull()) {
         return false;
       }
-      // Fall-through intentional.
+    // Fall-through intentional.
     case Token::kADD:
     case Token::kSUB:
     case Token::kMUL:
@@ -364,7 +350,7 @@
     case Token::kSHR:
     case Token::kIFNULL:
       return this->left()->IsPotentiallyConst() &&
-          this->right()->IsPotentiallyConst();
+             this->right()->IsPotentiallyConst();
     default:
       UNREACHABLE();
       return false;
@@ -390,7 +376,7 @@
       if (left_val->IsString()) {
         return right_val->IsString() ? left_val : NULL;
       }
-      // Fall-through intentional.
+    // Fall-through intentional.
     case Token::kSUB:
     case Token::kMUL:
     case Token::kDIV:
@@ -402,8 +388,7 @@
         } else if (right_val->IsNumber()) {
           return right_val;
         }
-      } else if (left_val->IsNumber() &&
-                 right_val->IsNumber()) {
+      } else if (left_val->IsNumber() && right_val->IsNumber()) {
         return left_val;
       }
       return NULL;
@@ -412,8 +397,7 @@
     case Token::kBIT_AND:
     case Token::kSHL:
     case Token::kSHR:
-      if (left_val->IsInteger() &&
-          right_val->IsInteger()) {
+      if (left_val->IsInteger() && right_val->IsInteger()) {
         return right_val;
       }
       return NULL;
@@ -488,15 +472,14 @@
 
 bool ConditionalExprNode::IsPotentiallyConst() const {
   return this->condition()->IsPotentiallyConst() &&
-    this->true_expr()->IsPotentiallyConst() &&
-    this->false_expr()->IsPotentiallyConst();
+         this->true_expr()->IsPotentiallyConst() &&
+         this->false_expr()->IsPotentiallyConst();
 }
 
 
 const Instance* ConditionalExprNode::EvalConstExpr() const {
   const Instance* cond = this->condition()->EvalConstExpr();
-  if ((cond != NULL) &&
-      cond->IsBool() &&
+  if ((cond != NULL) && cond->IsBool() &&
       (this->true_expr()->EvalConstExpr() != NULL) &&
       (this->false_expr()->EvalConstExpr() != NULL)) {
     return cond;
@@ -514,8 +497,7 @@
 
 
 const Instance* ClosureNode::EvalConstExpr() const {
-  if (!is_deferred_reference_ &&
-      function().IsImplicitStaticClosureFunction()) {
+  if (!is_deferred_reference_ && function().IsImplicitStaticClosureFunction()) {
     // Return a value that represents an instance. Only the type is relevant.
     return &Instance::Handle();
   }
@@ -528,11 +510,9 @@
     // This is an implicit closure node created because a static getter was not
     // found. Change the getter into a setter. If it does not exist,
     // noSuchMethod will be called.
-    return new StaticSetterNode(token_pos(),
-                                receiver(),
+    return new StaticSetterNode(token_pos(), receiver(),
                                 Class::ZoneHandle(function().Owner()),
-                                String::ZoneHandle(function().name()),
-                                rhs);
+                                String::ZoneHandle(function().name()), rhs);
   }
   return NULL;
 }
@@ -579,30 +559,24 @@
     return NULL;
   }
   if (Isolate::Current()->type_checks()) {
-    rhs = new AssignableNode(
-        field().token_pos(),
-        rhs,
-        AbstractType::ZoneHandle(field().type()),
-        String::ZoneHandle(field().name()));
+    rhs = new AssignableNode(field().token_pos(), rhs,
+                             AbstractType::ZoneHandle(field().type()),
+                             String::ZoneHandle(field().name()));
   }
-  return new StoreStaticFieldNode(
-      token_pos(), Field::ZoneHandle(field().Original()), rhs);
+  return new StoreStaticFieldNode(token_pos(),
+                                  Field::ZoneHandle(field().Original()), rhs);
 }
 
 
 AstNode* InstanceGetterNode::MakeAssignmentNode(AstNode* rhs) {
-  return new InstanceSetterNode(token_pos(),
-                                receiver(),
-                                field_name(),
-                                rhs,
+  return new InstanceSetterNode(token_pos(), receiver(), field_name(), rhs,
                                 is_conditional());
 }
 
 
 bool InstanceGetterNode::IsPotentiallyConst() const {
-  return field_name().Equals(Symbols::Length()) &&
-    !is_conditional() &&
-    receiver()->IsPotentiallyConst();
+  return field_name().Equals(Symbols::Length()) && !is_conditional() &&
+         receiver()->IsPotentiallyConst();
 }
 
 
@@ -618,8 +592,8 @@
 
 
 AstNode* LoadIndexedNode::MakeAssignmentNode(AstNode* rhs) {
-  return new StoreIndexedNode(token_pos(), array(), index_expr(),
-                              rhs, super_class());
+  return new StoreIndexedNode(token_pos(), array(), index_expr(), rhs,
+                              super_class());
 }
 
 
@@ -638,16 +612,10 @@
     if (setter.IsNull() || setter.is_abstract()) {
       // No instance setter found in super class chain,
       // noSuchMethod will be called at runtime.
-      return new StaticSetterNode(token_pos(),
-                                  receiver(),
-                                  cls(),
-                                  field_name_,
+      return new StaticSetterNode(token_pos(), receiver(), cls(), field_name_,
                                   rhs);
     }
-    return new StaticSetterNode(token_pos(),
-                                receiver(),
-                                field_name_,
-                                setter,
+    return new StaticSetterNode(token_pos(), receiver(), field_name_, setter,
                                 rhs);
   }
 
@@ -668,8 +636,7 @@
       const Field& field = Field::ZoneHandle(zone, Field::Cast(obj).raw());
       if (!field.is_final()) {
         if (isolate->type_checks()) {
-          rhs = new AssignableNode(field.token_pos(),
-                                   rhs,
+          rhs = new AssignableNode(field.token_pos(), rhs,
                                    AbstractType::ZoneHandle(zone, field.type()),
                                    field_name_);
         }
@@ -679,15 +646,15 @@
 
     // No field found in prefix. Look for a setter function.
     const String& setter_name =
-         String::Handle(zone, Field::LookupSetterSymbol(field_name_));
+        String::Handle(zone, Field::LookupSetterSymbol(field_name_));
     if (!setter_name.IsNull()) {
       obj = prefix.LookupObject(setter_name);
       if (obj.IsFunction()) {
         const Function& setter =
             Function::ZoneHandle(zone, Function::Cast(obj).raw());
         ASSERT(setter.is_static() && setter.IsSetterFunction());
-        return new StaticSetterNode(
-            token_pos(), NULL, field_name_, setter, rhs);
+        return new StaticSetterNode(token_pos(), NULL, field_name_, setter,
+                                    rhs);
       }
     }
 
@@ -703,8 +670,7 @@
       const Field& field = Field::ZoneHandle(zone, Field::Cast(obj).raw());
       if (!field.is_final()) {
         if (isolate->type_checks()) {
-          rhs = new AssignableNode(field.token_pos(),
-                                   rhs,
+          rhs = new AssignableNode(field.token_pos(), rhs,
                                    AbstractType::ZoneHandle(zone, field.type()),
                                    field_name_);
         }
@@ -721,8 +687,8 @@
         const Function& setter =
             Function::ZoneHandle(zone, Function::Cast(obj).raw());
         ASSERT(setter.is_static() && setter.IsSetterFunction());
-        return
-            new StaticSetterNode(token_pos(), NULL, field_name_, setter, rhs);
+        return new StaticSetterNode(token_pos(), NULL, field_name_, setter,
+                                    rhs);
       }
     }
 
@@ -740,8 +706,8 @@
   // Access to a lazily initialized static field that has not yet been
   // initialized is compiled to a static implicit getter.
   // A setter may not exist for such a field.
-  const Field& field = Field::ZoneHandle(zone,
-                                         cls().LookupStaticField(field_name_));
+  const Field& field =
+      Field::ZoneHandle(zone, cls().LookupStaticField(field_name_));
   if (!field.IsNull()) {
     if (field.is_final()) {
       // Attempting to assign to a final variable will cause a NoSuchMethodError
@@ -759,11 +725,9 @@
            (getter.kind() == RawFunction::kImplicitStaticFinalGetter));
 #endif
     if (isolate->type_checks()) {
-      rhs = new AssignableNode(
-          field.token_pos(),
-          rhs,
-          AbstractType::ZoneHandle(zone, field.type()),
-          String::ZoneHandle(zone, field.name()));
+      rhs = new AssignableNode(field.token_pos(), rhs,
+                               AbstractType::ZoneHandle(zone, field.type()),
+                               String::ZoneHandle(zone, field.name()));
     }
     return new StoreStaticFieldNode(token_pos(), field, rhs);
   }
diff --git a/runtime/vm/ast.h b/runtime/vm/ast.h
index 8fa533b..ef26563 100644
--- a/runtime/vm/ast.h
+++ b/runtime/vm/ast.h
@@ -64,7 +64,7 @@
   V(TryCatch)                                                                  \
   V(Throw)                                                                     \
   V(InlinedFinally)                                                            \
-  V(StringInterpolate)                                                         \
+  V(StringInterpolate)
 
 
 #define FORWARD_DECLARATION(BaseName) class BaseName##Node;
@@ -79,7 +79,7 @@
   virtual ~AstNodeVisitor() {}
 
 #define DEFINE_VISITOR_FUNCTION(BaseName)                                      \
-  virtual void Visit##BaseName##Node(BaseName##Node* node) { }
+  virtual void Visit##BaseName##Node(BaseName##Node* node) {}
 
   FOR_EACH_NODE(DEFINE_VISITOR_FUNCTION)
 #undef DEFINE_VISITOR_FUNCTION
@@ -97,12 +97,11 @@
 
 class AstNode : public ZoneAllocated {
  public:
-  explicit AstNode(TokenPosition token_pos)
-      : token_pos_(token_pos) {
+  explicit AstNode(TokenPosition token_pos) : token_pos_(token_pos) {
     ASSERT(!token_pos_.IsClassifying() ||
            (token_pos_ == TokenPosition::kMethodExtractor));
   }
-  virtual ~AstNode() { }
+  virtual ~AstNode() {}
 
   TokenPosition token_pos() const { return token_pos_; }
 
@@ -126,9 +125,7 @@
   }
 
   // Return NULL if 'unary_op_kind' can't be applied.
-  virtual AstNode* ApplyUnaryOp(Token::Kind unary_op_kind) {
-    return NULL;
-  }
+  virtual AstNode* ApplyUnaryOp(Token::Kind unary_op_kind) { return NULL; }
 
   // Returns true if this node can be a compile-time constant, assuming
   // that all nodes it depends on are also compile-time constants of
@@ -171,17 +168,15 @@
             LocalVariable* outer_saved_try_ctx,
             LocalVariable* outer_async_saved_try_ctx,
             LocalScope* scope)
-    : AstNode(token_pos),
-      expr_(expr),
-      saved_try_ctx_(saved_try_ctx),
-      async_saved_try_ctx_(async_saved_try_ctx),
-      outer_saved_try_ctx_(outer_saved_try_ctx),
-      outer_async_saved_try_ctx_(outer_async_saved_try_ctx),
-      scope_(scope) { }
+      : AstNode(token_pos),
+        expr_(expr),
+        saved_try_ctx_(saved_try_ctx),
+        async_saved_try_ctx_(async_saved_try_ctx),
+        outer_saved_try_ctx_(outer_saved_try_ctx),
+        outer_async_saved_try_ctx_(outer_async_saved_try_ctx),
+        scope_(scope) {}
 
-  void VisitChildren(AstNodeVisitor* visitor) const {
-    expr_->Visit(visitor);
-  }
+  void VisitChildren(AstNodeVisitor* visitor) const { expr_->Visit(visitor); }
 
   AstNode* expr() const { return expr_; }
   LocalVariable* saved_try_ctx() const { return saved_try_ctx_; }
@@ -220,15 +215,15 @@
   AwaitMarkerNode(LocalScope* async_scope,
                   LocalScope* await_scope,
                   TokenPosition token_pos)
-    : AstNode(token_pos),
-      async_scope_(async_scope),
-      await_scope_(await_scope) {
+      : AstNode(token_pos),
+        async_scope_(async_scope),
+        await_scope_(await_scope) {
     ASSERT(async_scope != NULL);
     ASSERT(await_scope != NULL);
     await_scope->CaptureLocalVariables(async_scope);
   }
 
-  void VisitChildren(AstNodeVisitor* visitor) const { }
+  void VisitChildren(AstNodeVisitor* visitor) const {}
 
   LocalScope* async_scope() const { return async_scope_; }
   LocalScope* await_scope() const { return await_scope_; }
@@ -246,11 +241,7 @@
 class SequenceNode : public AstNode {
  public:
   SequenceNode(TokenPosition token_pos, LocalScope* scope)
-    : AstNode(token_pos),
-      scope_(scope),
-      nodes_(4),
-      label_(NULL) {
-  }
+      : AstNode(token_pos), scope_(scope), nodes_(4), label_(NULL) {}
 
   LocalScope* scope() const { return scope_; }
 
@@ -280,11 +271,9 @@
 
 class CloneContextNode : public AstNode {
  public:
-  explicit CloneContextNode(TokenPosition token_pos)
-    : AstNode(token_pos) {
-  }
+  explicit CloneContextNode(TokenPosition token_pos) : AstNode(token_pos) {}
 
-  virtual void VisitChildren(AstNodeVisitor* visitor) const { }
+  virtual void VisitChildren(AstNodeVisitor* visitor) const {}
 
   DECLARE_COMMON_NODE_FUNCTIONS(CloneContextNode);
 
@@ -296,23 +285,16 @@
 class ArgumentListNode : public AstNode {
  public:
   explicit ArgumentListNode(TokenPosition token_pos)
-     : AstNode(token_pos),
-       nodes_(4),
-       names_(Array::ZoneHandle()) {
-  }
+      : AstNode(token_pos), nodes_(4), names_(Array::ZoneHandle()) {}
 
   void VisitChildren(AstNodeVisitor* visitor) const;
 
-  void Add(AstNode* node) {
-    nodes_.Add(node);
-  }
+  void Add(AstNode* node) { nodes_.Add(node); }
   intptr_t length() const { return nodes_.length(); }
   AstNode* NodeAt(intptr_t index) const { return nodes_[index]; }
   void SetNodeAt(intptr_t index, AstNode* node) { nodes_[index] = node; }
   const Array& names() const { return names_; }
-  void set_names(const Array& names) {
-    names_ = names.raw();
-  }
+  void set_names(const Array& names) { names_ = names.raw(); }
   const GrowableArray<AstNode*>& nodes() const { return nodes_; }
 
   DECLARE_COMMON_NODE_FUNCTIONS(ArgumentListNode);
@@ -341,9 +323,7 @@
 
   void AddNode(AstNode* node) { nodes_.Add(node); }
 
-  intptr_t num_temps() const {
-    return vars_.length();
-  }
+  intptr_t num_temps() const { return vars_.length(); }
 
   void VisitChildren(AstNodeVisitor* visitor) const;
 
@@ -361,17 +341,13 @@
 class ArrayNode : public AstNode {
  public:
   ArrayNode(TokenPosition token_pos, const AbstractType& type)
-      : AstNode(token_pos),
-        type_(type),
-        elements_() {
+      : AstNode(token_pos), type_(type), elements_() {
     CheckFields();
   }
   ArrayNode(TokenPosition token_pos,
             const AbstractType& type,
             const GrowableArray<AstNode*>& elements)
-      : AstNode(token_pos),
-        type_(type),
-        elements_(elements.length()) {
+      : AstNode(token_pos), type_(type), elements_(elements.length()) {
     CheckFields();
     for (intptr_t i = 0; i < elements.length(); i++) {
       elements_.Add(elements[i]);
@@ -412,7 +388,7 @@
 class StringInterpolateNode : public AstNode {
  public:
   StringInterpolateNode(TokenPosition token_pos, ArrayNode* value)
-      : AstNode(token_pos), value_(value) { }
+      : AstNode(token_pos), value_(value) {}
 
   virtual void VisitChildren(AstNodeVisitor* visitor) const {
     value_->Visit(visitor);
@@ -450,11 +426,9 @@
   const Instance& literal() const { return literal_; }
 
   virtual bool IsPotentiallyConst() const;
-  virtual const Instance* EvalConstExpr() const {
-    return &literal();
-  }
+  virtual const Instance* EvalConstExpr() const { return &literal(); }
 
-  virtual void VisitChildren(AstNodeVisitor* visitor) const { }
+  virtual void VisitChildren(AstNodeVisitor* visitor) const {}
 
   virtual AstNode* ApplyUnaryOp(Token::Kind unary_op_kind);
 
@@ -475,8 +449,7 @@
     ASSERT(!type_.IsNull());
     ASSERT(type_.IsFinalized());
     // A wellformed literal Type must be canonical.
-    ASSERT(!type_.IsType() ||
-           type_.IsMalformedOrMalbounded() ||
+    ASSERT(!type_.IsType() || type_.IsMalformedOrMalbounded() ||
            type_.IsCanonical());
   }
 
@@ -491,7 +464,7 @@
     return &type();
   }
 
-  virtual void VisitChildren(AstNodeVisitor* visitor) const { }
+  virtual void VisitChildren(AstNodeVisitor* visitor) const {}
 
   DECLARE_COMMON_NODE_FUNCTIONS(TypeNode);
 
@@ -591,9 +564,7 @@
 class PrimaryNode : public AstNode {
  public:
   PrimaryNode(TokenPosition token_pos, const Object& primary)
-      : AstNode(token_pos),
-        primary_(primary),
-        is_deferred_reference_(false) {
+      : AstNode(token_pos), primary_(primary), is_deferred_reference_(false) {
     ASSERT(primary_.IsNotTemporaryScopedHandle());
   }
 
@@ -629,21 +600,16 @@
 // In synchronous functions, return nodes are always of type'kRegular'
 class ReturnNode : public AstNode {
  public:
-  enum ReturnType {
-    kRegular,
-    kContinuation,
-    kContinuationTarget
-  };
+  enum ReturnType { kRegular, kContinuation, kContinuationTarget };
 
   // Return from a void function returns the null object.
   explicit ReturnNode(TokenPosition token_pos)
       : AstNode(token_pos),
         value_(new LiteralNode(token_pos, Instance::ZoneHandle())),
         inlined_finally_list_(),
-        return_type_(kRegular) { }
+        return_type_(kRegular) {}
   // Return from a non-void function.
-  ReturnNode(TokenPosition token_pos,
-             AstNode* value)
+  ReturnNode(TokenPosition token_pos, AstNode* value)
       : AstNode(token_pos),
         value_(value),
         inlined_finally_list_(),
@@ -693,7 +659,7 @@
                  Token::Kind kind,
                  AstNode* left,
                  AstNode* right)
-  : AstNode(token_pos), kind_(kind), left_(left), right_(right) {
+      : AstNode(token_pos), kind_(kind), left_(left), right_(right) {
     ASSERT(left_ != NULL);
     ASSERT(right_ != NULL);
     ASSERT(IsKindValid());
@@ -775,9 +741,7 @@
   static AstNode* UnaryOpOrLiteral(TokenPosition token_pos,
                                    Token::Kind kind,
                                    AstNode* operand);
-  UnaryOpNode(TokenPosition token_pos,
-              Token::Kind kind,
-              AstNode* operand)
+  UnaryOpNode(TokenPosition token_pos, Token::Kind kind, AstNode* operand)
       : AstNode(token_pos), kind_(kind), operand_(operand) {
     ASSERT(operand_ != NULL);
     ASSERT(IsKindValid());
@@ -816,9 +780,9 @@
         condition_(condition),
         true_expr_(true_expr),
         false_expr_(false_expr) {
-      ASSERT(condition_ != NULL);
-      ASSERT(true_expr_ != NULL);
-      ASSERT(false_expr_ != NULL);
+    ASSERT(condition_ != NULL);
+    ASSERT(true_expr_ != NULL);
+    ASSERT(false_expr_ != NULL);
   }
 
   AstNode* condition() const { return condition_; }
@@ -864,7 +828,7 @@
         condition_(condition),
         true_branch_(true_branch),
         false_branch_(false_branch) {
-      ASSERT(condition_ != NULL);
+    ASSERT(condition_ != NULL);
   }
 
   AstNode* condition() const { return condition_; }
@@ -898,12 +862,12 @@
            bool contains_default,
            LocalVariable* switch_expr_value,
            SequenceNode* statements)
-    : AstNode(token_pos),
-      label_(label),
-      case_expressions_(case_expressions),
-      contains_default_(contains_default),
-      switch_expr_value_(switch_expr_value),
-      statements_(statements) {
+      : AstNode(token_pos),
+        label_(label),
+        case_expressions_(case_expressions),
+        contains_default_(contains_default),
+        switch_expr_value_(switch_expr_value),
+        statements_(statements) {
     // label may be NULL.
     ASSERT(case_expressions_ != NULL);
     ASSERT(switch_expr_value_ != NULL);
@@ -936,12 +900,8 @@
 
 class SwitchNode : public AstNode {
  public:
-  SwitchNode(TokenPosition token_pos,
-             SourceLabel* label,
-             SequenceNode* body)
-    : AstNode(token_pos),
-      label_(label),
-      body_(body) {
+  SwitchNode(TokenPosition token_pos, SourceLabel* label, SequenceNode* body)
+      : AstNode(token_pos), label_(label), body_(body) {
     ASSERT(label_ != NULL);
     ASSERT(body_ != NULL);
   }
@@ -970,11 +930,11 @@
             AstNode* condition,
             SequenceNode* condition_preamble,
             SequenceNode* body)
-    : AstNode(token_pos),
-      label_(label),
-      condition_(condition),
-      condition_preamble_(condition_preamble),
-      body_(body) {
+      : AstNode(token_pos),
+        label_(label),
+        condition_(condition),
+        condition_preamble_(condition_preamble),
+        body_(body) {
     ASSERT(label_ != NULL);
     ASSERT(condition_ != NULL);
     ASSERT(body_ != NULL);
@@ -1011,10 +971,7 @@
               SourceLabel* label,
               AstNode* condition,
               SequenceNode* body)
-    : AstNode(token_pos),
-      label_(label),
-      condition_(condition),
-      body_(body) {
+      : AstNode(token_pos), label_(label), condition_(condition), body_(body) {
     ASSERT(label_ != NULL);
     ASSERT(condition_ != NULL);
     ASSERT(body_ != NULL);
@@ -1050,13 +1007,13 @@
           SequenceNode* condition_preamble,
           SequenceNode* increment,
           SequenceNode* body)
-    : AstNode(token_pos),
-      label_(label),
-      initializer_(initializer),
-      condition_(condition),
-      condition_preamble_(condition_preamble),
-      increment_(increment),
-      body_(body) {
+      : AstNode(token_pos),
+        label_(label),
+        initializer_(initializer),
+        condition_(condition),
+        condition_preamble_(condition_preamble),
+        increment_(increment),
+        body_(body) {
     ASSERT(label_ != NULL);
     ASSERT(initializer_ != NULL);
     ASSERT(increment_ != NULL);
@@ -1099,13 +1056,11 @@
 
 class JumpNode : public AstNode {
  public:
-  JumpNode(TokenPosition token_pos,
-           Token::Kind kind,
-           SourceLabel* label)
-    : AstNode(token_pos),
-      kind_(kind),
-      label_(label),
-      inlined_finally_list_() {
+  JumpNode(TokenPosition token_pos, Token::Kind kind, SourceLabel* label)
+      : AstNode(token_pos),
+        kind_(kind),
+        label_(label),
+        inlined_finally_list_() {
     ASSERT(label_ != NULL);
     ASSERT(kind_ == Token::kBREAK || kind_ == Token::kCONTINUE);
   }
@@ -1125,7 +1080,7 @@
 
   const char* TokenName() const;
 
-  virtual void VisitChildren(AstNodeVisitor* visitor) const { }
+  virtual void VisitChildren(AstNodeVisitor* visitor) const {}
 
   DECLARE_COMMON_NODE_FUNCTIONS(JumpNode);
 
@@ -1141,14 +1096,13 @@
 class StopNode : public AstNode {
  public:
   StopNode(TokenPosition token_pos, const char* message)
-      : AstNode(token_pos),
-        message_(message) {
+      : AstNode(token_pos), message_(message) {
     ASSERT(message != NULL);
   }
 
   const char* message() const { return message_; }
 
-  virtual void VisitChildren(AstNodeVisitor* visitor) const { }
+  virtual void VisitChildren(AstNodeVisitor* visitor) const {}
 
   DECLARE_COMMON_NODE_FUNCTIONS(StopNode);
 
@@ -1168,7 +1122,7 @@
 
   const LocalVariable& local() const { return local_; }
 
-  virtual void VisitChildren(AstNodeVisitor* visitor) const { }
+  virtual void VisitChildren(AstNodeVisitor* visitor) const {}
 
   virtual const Instance* EvalConstExpr() const;
   virtual bool IsPotentiallyConst() const;
@@ -1188,7 +1142,7 @@
   StoreLocalNode(TokenPosition token_pos,
                  const LocalVariable* local,
                  AstNode* value)
-      : AstNode(token_pos),  local_(*local), value_(value) {
+      : AstNode(token_pos), local_(*local), value_(value) {
     ASSERT(local != NULL);
     ASSERT(value_ != NULL);
   }
@@ -1215,8 +1169,7 @@
   LoadInstanceFieldNode(TokenPosition token_pos,
                         AstNode* instance,
                         const Field& field)
-      : AstNode(token_pos), instance_(instance),
-        field_(*MayCloneField(field)) {
+      : AstNode(token_pos), instance_(instance), field_(*MayCloneField(field)) {
     ASSERT(instance_ != NULL);
     ASSERT(field_.IsZoneHandle());
   }
@@ -1290,19 +1243,17 @@
   void set_is_deferred(bool value) { is_deferred_reference_ = value; }
   bool is_deferred_reference() const { return is_deferred_reference_; }
 
-  virtual void VisitChildren(AstNodeVisitor* visitor) const { }
+  virtual void VisitChildren(AstNodeVisitor* visitor) const {}
 
   virtual AstNode* MakeAssignmentNode(AstNode* rhs);
 
-  virtual bool IsPotentiallyConst() const {
-    return field_.is_const();
-  }
+  virtual bool IsPotentiallyConst() const { return field_.is_const(); }
 
   virtual const Instance* EvalConstExpr() const {
     ASSERT(field_.is_static());
     return !is_deferred_reference_ && field_.is_const()
-        ? &Instance::ZoneHandle(field_.StaticValue())
-        : NULL;
+               ? &Instance::ZoneHandle(field_.StaticValue())
+               : NULL;
   }
 
   DECLARE_COMMON_NODE_FUNCTIONS(LoadStaticFieldNode);
@@ -1320,9 +1271,7 @@
   StoreStaticFieldNode(TokenPosition token_pos,
                        const Field& field,
                        AstNode* value)
-      : AstNode(token_pos),
-        field_(*MayCloneField(field)),
-        value_(value) {
+      : AstNode(token_pos), field_(*MayCloneField(field)), value_(value) {
     ASSERT(field_.IsZoneHandle());
     ASSERT(value_ != NULL);
   }
@@ -1388,11 +1337,11 @@
                    AstNode* index,
                    AstNode* value,
                    const Class& super_class)
-    : AstNode(token_pos),
-      array_(array),
-      index_expr_(index),
-      value_(value),
-      super_class_(super_class) {
+      : AstNode(token_pos),
+        array_(array),
+        index_expr_(index),
+        value_(value),
+        super_class_(super_class) {
     ASSERT(array_ != NULL);
     ASSERT(index_expr_ != NULL);
     ASSERT(value_ != NULL);
@@ -1544,14 +1493,13 @@
 class InitStaticFieldNode : public AstNode {
  public:
   InitStaticFieldNode(TokenPosition token_pos, const Field& field)
-      : AstNode(token_pos),
-        field_(*MayCloneField(field)) {
+      : AstNode(token_pos), field_(*MayCloneField(field)) {
     ASSERT(field_.IsZoneHandle());
   }
 
   const Field& field() const { return field_; }
 
-  virtual void VisitChildren(AstNodeVisitor* visitor) const { }
+  virtual void VisitChildren(AstNodeVisitor* visitor) const {}
 
   DECLARE_COMMON_NODE_FUNCTIONS(InitStaticFieldNode);
 
@@ -1598,7 +1546,7 @@
   bool is_super_getter() const { return receiver_ != NULL; }
   void set_is_deferred(bool value) { is_deferred_reference_ = value; }
 
-  virtual void VisitChildren(AstNodeVisitor* visitor) const { }
+  virtual void VisitChildren(AstNodeVisitor* visitor) const {}
 
   virtual AstNode* MakeAssignmentNode(AstNode* rhs);
 
@@ -1644,12 +1592,12 @@
                    const Class& cls,
                    const String& field_name,
                    AstNode* value)
-  : AstNode(token_pos),
-  receiver_(receiver),
-  cls_(cls),
-  field_name_(field_name),
-  function_(Function::ZoneHandle()),
-  value_(value) {
+      : AstNode(token_pos),
+        receiver_(receiver),
+        cls_(cls),
+        field_name_(field_name),
+        function_(Function::ZoneHandle()),
+        value_(value) {
     ASSERT(cls_.IsZoneHandle());
     ASSERT(field_name_.IsZoneHandle());
     ASSERT(value_ != NULL);
@@ -1686,9 +1634,7 @@
   StaticCallNode(TokenPosition token_pos,
                  const Function& function,
                  ArgumentListNode* arguments)
-      : AstNode(token_pos),
-        function_(function),
-        arguments_(arguments) {
+      : AstNode(token_pos), function_(function), arguments_(arguments) {
     ASSERT(function_.IsZoneHandle());
     ASSERT(arguments_ != NULL);
   }
@@ -1717,9 +1663,7 @@
   ClosureCallNode(TokenPosition token_pos,
                   AstNode* closure,
                   ArgumentListNode* arguments)
-      : AstNode(token_pos),
-        closure_(closure),
-        arguments_(arguments) {
+      : AstNode(token_pos), closure_(closure), arguments_(arguments) {
     ASSERT(closure_ != NULL);
     ASSERT(arguments_ != NULL);
   }
@@ -1783,9 +1727,7 @@
     ASSERT(arguments_ != NULL);
   }
 
-  const TypeArguments& type_arguments() const {
-    return type_arguments_;
-  }
+  const TypeArguments& type_arguments() const { return type_arguments_; }
   const Function& constructor() const { return constructor_; }
   ArgumentListNode* arguments() const { return arguments_; }
 
@@ -1830,7 +1772,7 @@
 
   bool link_lazily() const { return link_lazily_; }
 
-  virtual void VisitChildren(AstNodeVisitor* visitor) const { }
+  virtual void VisitChildren(AstNodeVisitor* visitor) const {}
 
   DECLARE_COMMON_NODE_FUNCTIONS(NativeBodyNode);
 
@@ -1881,10 +1823,10 @@
   const LocalVariable& exception_var() const { return exception_var_; }
   const LocalVariable& stacktrace_var() const { return stacktrace_var_; }
   const LocalVariable& rethrow_exception_var() const {
-      return rethrow_exception_var_;
+    return rethrow_exception_var_;
   }
   const LocalVariable& rethrow_stacktrace_var() const {
-      return rethrow_stacktrace_var_;
+    return rethrow_stacktrace_var_;
   }
   intptr_t catch_handler_index() const { return catch_handler_index_; }
   bool needs_stacktrace() const { return needs_stacktrace_; }
diff --git a/runtime/vm/ast_printer.cc b/runtime/vm/ast_printer.cc
index 6b47267..e196109 100644
--- a/runtime/vm/ast_printer.cc
+++ b/runtime/vm/ast_printer.cc
@@ -15,11 +15,10 @@
 namespace dart {
 
 AstPrinter::AstPrinter(bool log)
-    : indent_(0),
-      logger_(log ? Log::Current() : Log::NoOpLog()) { }
+    : indent_(0), logger_(log ? Log::Current() : Log::NoOpLog()) {}
 
 
-AstPrinter::~AstPrinter() { }
+AstPrinter::~AstPrinter() {}
 
 
 void AstPrinter::VisitGenericAstNode(AstNode* node) {
@@ -34,14 +33,11 @@
   LocalScope* scope = node->scope();
   logger_->Print("(%s (scope \"%p\"", node->Name(), scope);
   if (scope != NULL) {
-    logger_->Print(" (%s-%s) loop %d",
-              scope->begin_token_pos().ToCString(),
-              scope->end_token_pos().ToCString(),
-              scope->loop_level());
+    logger_->Print(" (%s-%s) loop %d", scope->begin_token_pos().ToCString(),
+                   scope->end_token_pos().ToCString(), scope->loop_level());
     if (scope->HasContextLevel()) {
-      logger_->Print(" context %d captures %d",
-                scope->context_level(),
-                scope->num_context_variables());
+      logger_->Print(" context %d captures %d", scope->context_level(),
+                     scope->num_context_variables());
     } else {
       ASSERT(scope->num_context_variables() == 0);
     }
@@ -93,15 +89,12 @@
 
 void AstPrinter::VisitGenericLocalNode(AstNode* node,
                                        const LocalVariable& var) {
-  logger_->Print("(%s %s%s \"%s\"",
-            node->Name(),
-            var.is_final() ? "final " : "",
-            String::Handle(var.type().Name()).ToCString(),
-            var.name().ToCString());
+  logger_->Print(
+      "(%s %s%s \"%s\"", node->Name(), var.is_final() ? "final " : "",
+      String::Handle(var.type().Name()).ToCString(), var.name().ToCString());
   if (var.HasIndex()) {
     if (var.is_captured()) {
-      logger_->Print(" (context %d %d)",
-                     var.owner()->context_level(),
+      logger_->Print(" (context %d %d)", var.owner()->context_level(),
                      var.index());
     } else {
       logger_->Print(" (stack %d)", var.index());
@@ -124,12 +117,10 @@
 
 
 void AstPrinter::VisitGenericFieldNode(AstNode* node, const Field& field) {
-  logger_->Print("(%s %s%s \"%s\" ",
-            node->Name(),
-            field.is_final() ? "final " : "",
-            String::Handle(AbstractType::Handle(field.type()).Name()).
-                ToCString(),
-            String::Handle(field.name()).ToCString());
+  logger_->Print(
+      "(%s %s%s \"%s\" ", node->Name(), field.is_final() ? "final " : "",
+      String::Handle(AbstractType::Handle(field.type()).Name()).ToCString(),
+      String::Handle(field.name()).ToCString());
   node->VisitChildren(this);
   logger_->Print(")");
 }
@@ -178,19 +169,16 @@
 
 void AstPrinter::VisitTypeNode(TypeNode* node) {
   const AbstractType& type = node->type();
-  logger_->Print("(%s \"%s\")",
-            node->Name(),
-            String::Handle(type.Name()).ToCString());
+  logger_->Print("(%s \"%s\")", node->Name(),
+                 String::Handle(type.Name()).ToCString());
 }
 
 
 void AstPrinter::VisitAssignableNode(AssignableNode* node) {
   const AbstractType& type = node->type();
   const String& dst_name = node->dst_name();
-  logger_->Print("(%s (type \"%s\") (of \"%s\") ",
-            node->Name(),
-            String::Handle(type.Name()).ToCString(),
-            dst_name.ToCString());
+  logger_->Print("(%s (type \"%s\") (of \"%s\") ", node->Name(),
+                 String::Handle(type.Name()).ToCString(), dst_name.ToCString());
   node->VisitChildren(this);
   logger_->Print(")");
 }
@@ -204,17 +192,14 @@
 
 
 void AstPrinter::VisitAwaitMarkerNode(AwaitMarkerNode* node) {
-  logger_->Print("(%s (async_scope \"%p\" await_scope \"%p\"))",
-            node->Name(),
-            node->async_scope(),
-            node->await_scope());
+  logger_->Print("(%s (async_scope \"%p\" await_scope \"%p\"))", node->Name(),
+                 node->async_scope(), node->await_scope());
 }
 
 
 void AstPrinter::VisitPrimaryNode(PrimaryNode* node) {
-  logger_->Print("(*****%s***** \"%s\")",
-            node->Name(),
-            node->primary().ToCString());
+  logger_->Print("(*****%s***** \"%s\")", node->Name(),
+                 node->primary().ToCString());
 }
 
 
@@ -296,18 +281,14 @@
 
 
 void AstPrinter::VisitJumpNode(JumpNode* node) {
-  logger_->Print("(%s %s %s (scope \"%p\"))",
-            node->Name(),
-            node->TokenName(),
-            node->label()->name().ToCString(),
-            node->label()->owner());
+  logger_->Print("(%s %s %s (scope \"%p\"))", node->Name(), node->TokenName(),
+                 node->label()->name().ToCString(), node->label()->owner());
 }
 
 
 void AstPrinter::VisitInstanceCallNode(InstanceCallNode* node) {
-  logger_->Print("(%s \"%s\" ",
-            node->Name(),
-            node->function_name().ToCString());
+  logger_->Print("(%s \"%s\" ", node->Name(),
+                 node->function_name().ToCString());
   node->VisitChildren(this);
   logger_->Print(")");
 }
@@ -356,27 +337,22 @@
 
 
 void AstPrinter::VisitInitStaticFieldNode(InitStaticFieldNode* node) {
-  logger_->Print("(%s \"%s\")",
-            node->Name(),
-            String::Handle(node->field().name()).ToCString());
+  logger_->Print("(%s \"%s\")", node->Name(),
+                 String::Handle(node->field().name()).ToCString());
 }
 
 
 void AstPrinter::VisitStaticGetterNode(StaticGetterNode* node) {
   String& class_name = String::Handle(node->cls().Name());
-  logger_->Print("(%s \"%s.%s\")",
-            node->Name(),
-            class_name.ToCString(),
-            node->field_name().ToCString());
+  logger_->Print("(%s \"%s.%s\")", node->Name(), class_name.ToCString(),
+                 node->field_name().ToCString());
 }
 
 
 void AstPrinter::VisitStaticSetterNode(StaticSetterNode* node) {
   String& class_name = String::Handle(node->cls().Name());
-  logger_->Print("(%s \"%s.%s\" ",
-            node->Name(),
-            class_name.ToCString(),
-            node->field_name().ToCString());
+  logger_->Print("(%s \"%s.%s\" ", node->Name(), class_name.ToCString(),
+                 node->field_name().ToCString());
   node->VisitChildren(this);
   logger_->Print(")");
 }
@@ -397,10 +373,10 @@
 
 
 void AstPrinter::VisitNativeBodyNode(NativeBodyNode* node) {
-  logger_->Print("(%s \"%s\" (%" Pd " args))",
-            node->Name(),
-            node->native_c_function_name().ToCString(),
-            NativeArguments::ParameterCountForResolution(node->function()));
+  logger_->Print(
+      "(%s \"%s\" (%" Pd " args))", node->Name(),
+      node->native_c_function_name().ToCString(),
+      NativeArguments::ParameterCountForResolution(node->function()));
 }
 
 
@@ -458,10 +434,9 @@
   ASSERT(scope != NULL);
   ASSERT(var != NULL);
   IndentN(indent);
-  logger_->Print("(%s%s '%s'",
-            var->is_final() ? "final " : "",
-            String::Handle(var->type().Name()).ToCString(),
-            var->name().ToCString());
+  logger_->Print("(%s%s '%s'", var->is_final() ? "final " : "",
+                 String::Handle(var->type().Name()).ToCString(),
+                 var->name().ToCString());
   if (var->owner() != scope) {
     logger_->Print(" alias");
   }
@@ -473,9 +448,8 @@
   } else if (var->owner()->function_level() != 0) {
     logger_->Print(" lev %d", var->owner()->function_level());
   }
-  logger_->Print(" valid %s-%s)\n",
-            var->token_pos().ToCString(),
-            scope->end_token_pos().ToCString());
+  logger_->Print(" valid %s-%s)\n", var->token_pos().ToCString(),
+                 scope->end_token_pos().ToCString());
 }
 
 
@@ -492,9 +466,8 @@
     IndentN(indent);
     logger_->Print("{scope %p ", child);
     if (child->HasContextLevel()) {
-      logger_->Print("ctx %d numctxvar %d ",
-                child->context_level(),
-                child->num_context_variables());
+      logger_->Print("ctx %d numctxvar %d ", child->context_level(),
+                     child->num_context_variables());
     }
     logger_->Print("llev %d\n", child->loop_level());
     PrintLocalScope(child, 0, indent + kScopeIndent);
@@ -515,9 +488,8 @@
   const char* function_name = function.ToFullyQualifiedCString();
   logger_->Print("Scope for function '%s'\n{scope %p ", function_name, scope);
   if (scope->HasContextLevel()) {
-    logger_->Print("ctx %d numctxvar %d ",
-              scope->context_level(),
-              scope->num_context_variables());
+    logger_->Print("ctx %d numctxvar %d ", scope->context_level(),
+                   scope->num_context_variables());
   }
   logger_->Print("llev %d\n", scope->loop_level());
   const int num_fixed_params = function.num_fixed_parameters();
@@ -530,10 +502,9 @@
     LocalVariable* param = scope->VariableAt(pos);
     ASSERT(param->owner() == scope);  // No aliases should precede parameters.
     IndentN(indent);
-    logger_->Print("(param %s%s '%s'",
-              param->is_final() ? "final " : "",
-              String::Handle(param->type().Name()).ToCString(),
-              param->name().ToCString());
+    logger_->Print("(param %s%s '%s'", param->is_final() ? "final " : "",
+                   String::Handle(param->type().Name()).ToCString(),
+                   param->name().ToCString());
     // Print the default value if the parameter is optional.
     if (pos >= num_fixed_params && pos < num_params) {
       const Instance& default_parameter_value =
@@ -546,9 +517,8 @@
         logger_->Print(" ctx %d", param->owner()->context_level());
       }
     }
-    logger_->Print(" valid %s-%s)\n",
-              param->token_pos().ToCString(),
-              scope->end_token_pos().ToCString());
+    logger_->Print(" valid %s-%s)\n", param->token_pos().ToCString(),
+                   scope->end_token_pos().ToCString());
     pos++;
   }
   // Visit remaining non-parameter variables and children scopes.
diff --git a/runtime/vm/ast_printer_test.cc b/runtime/vm/ast_printer_test.cc
index f3f7fd6..5ea05a4 100644
--- a/runtime/vm/ast_printer_test.cc
+++ b/runtime/vm/ast_printer_test.cc
@@ -16,11 +16,9 @@
 
 TEST_CASE(AstPrinter) {
   const TokenPosition kPos = TokenPosition::kNoSource;
-  LocalVariable* v =
-      new LocalVariable(kPos,
-                        kPos,
-                        String::ZoneHandle(Symbols::New(thread, "wurscht")),
-                        Type::ZoneHandle(Type::DynamicType()));
+  LocalVariable* v = new LocalVariable(
+      kPos, kPos, String::ZoneHandle(Symbols::New(thread, "wurscht")),
+      Type::ZoneHandle(Type::DynamicType()));
   v->set_index(5);
   AstPrinter ast_printer;
   LoadLocalNode* ll = new LoadLocalNode(kPos, v);
@@ -33,10 +31,9 @@
 
   ast_printer.PrintNode(new ReturnNode(kPos));
 
-  ast_printer.PrintNode(new BinaryOpNode(kPos,
-                        Token::kADD,
-                        new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(3))),
-                        new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(5)))));
+  ast_printer.PrintNode(new BinaryOpNode(
+      kPos, Token::kADD, new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(3))),
+      new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(5)))));
   ast_printer.PrintNode(new UnaryOpNode(kPos, Token::kNEGATE, ll));
 }
 
diff --git a/runtime/vm/ast_test.cc b/runtime/vm/ast_test.cc
index 7b49c9c..0de9984 100644
--- a/runtime/vm/ast_test.cc
+++ b/runtime/vm/ast_test.cc
@@ -13,11 +13,10 @@
 namespace dart {
 
 TEST_CASE(Ast) {
-  LocalVariable* v = new LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      String::ZoneHandle(Symbols::New(thread, "v")),
-      Type::ZoneHandle(Type::DynamicType()));
+  LocalVariable* v =
+      new LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                        String::ZoneHandle(Symbols::New(thread, "v")),
+                        Type::ZoneHandle(Type::DynamicType()));
   AstNode* ll = new LoadLocalNode(TokenPosition::kNoSource, v);
   EXPECT(ll->IsLoadLocalNode());
   EXPECT(!ll->IsLiteralNode());
@@ -26,11 +25,10 @@
   v->set_index(1);
   EXPECT_EQ(1, v->index());
 
-  LocalVariable* p = new LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      String::ZoneHandle(Symbols::New(thread, "p")),
-      Type::ZoneHandle(Type::DynamicType()));
+  LocalVariable* p =
+      new LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                        String::ZoneHandle(Symbols::New(thread, "p")),
+                        Type::ZoneHandle(Type::DynamicType()));
   EXPECT(!p->HasIndex());
   p->set_index(-1);
   EXPECT(p->HasIndex());
@@ -39,8 +37,8 @@
   ReturnNode* r = new ReturnNode(TokenPosition::kNoSource, lln);
   EXPECT_EQ(lln, r->value());
 
-  LiteralNode* l = new LiteralNode(TokenPosition::kNoSource,
-                                   Smi::ZoneHandle(Smi::New(3)));
+  LiteralNode* l =
+      new LiteralNode(TokenPosition::kNoSource, Smi::ZoneHandle(Smi::New(3)));
   EXPECT(l->literal().IsSmi());
   EXPECT_EQ(Smi::New(3), l->literal().raw());
 
@@ -50,17 +48,15 @@
   EXPECT_EQ(l, b->left());
   EXPECT_EQ(lln, b->right());
 
-  UnaryOpNode* u =
-      new UnaryOpNode(TokenPosition::kNoSource, Token::kNEGATE, b);
+  UnaryOpNode* u = new UnaryOpNode(TokenPosition::kNoSource, Token::kNEGATE, b);
   EXPECT_EQ(Token::kNEGATE, u->kind());
   EXPECT_EQ(b, u->operand());
 
   SequenceNode* sequence_node =
       new SequenceNode(TokenPosition(1), new LocalScope(NULL, 0, 0));
   LiteralNode* literal_node =
-      new LiteralNode(TokenPosition(2),  Smi::ZoneHandle(Smi::New(3)));
-  ReturnNode* return_node =
-      new ReturnNode(TokenPosition(3), literal_node);
+      new LiteralNode(TokenPosition(2), Smi::ZoneHandle(Smi::New(3)));
+  ReturnNode* return_node = new ReturnNode(TokenPosition(3), literal_node);
   sequence_node->Add(return_node);
   GrowableArray<AstNode*> nodes;
   sequence_node->CollectAllNodes(&nodes);
diff --git a/runtime/vm/ast_transformer.cc b/runtime/vm/ast_transformer.cc
index a137674..c731c33 100644
--- a/runtime/vm/ast_transformer.cc
+++ b/runtime/vm/ast_transformer.cc
@@ -44,9 +44,9 @@
   V(While)
 
 #define DEFINE_UNREACHABLE(BaseName)                                           \
-void AwaitTransformer::Visit##BaseName##Node(BaseName##Node* node) {           \
-  UNREACHABLE();                                                               \
-}
+  void AwaitTransformer::Visit##BaseName##Node(BaseName##Node* node) {         \
+    UNREACHABLE();                                                             \
+  }
 
 FOR_EACH_UNREACHABLE_NODE(DEFINE_UNREACHABLE)
 #undef DEFINE_UNREACHABLE
@@ -76,11 +76,9 @@
   LocalVariable* await_tmp = async_temp_scope_->LocalLookupVariable(symbol);
   if (await_tmp == NULL) {
     // We need a new temp variable; add it to the function's top scope.
-    await_tmp = new(Z) LocalVariable(
-        TokenPosition::kNoSource,
-        TokenPosition::kNoSource,
-        symbol,
-        Object::dynamic_type());
+    await_tmp = new (Z)
+        LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                      symbol, Object::dynamic_type());
     async_temp_scope_->AddVariable(await_tmp);
     // After adding it to the top scope, we can look it up from the preamble.
     // The following call includes an ASSERT check.
@@ -103,7 +101,7 @@
     TokenPosition token_pos) {
   LocalVariable* tmp_var = EnsureCurrentTempVar();
   ASSERT(token_pos.IsSynthetic() || token_pos.IsNoSource());
-  preamble_->Add(new(Z) StoreLocalNode(token_pos, tmp_var, node));
+  preamble_->Add(new (Z) StoreLocalNode(token_pos, tmp_var, node));
   NextTempVar();
   return tmp_var;
 }
@@ -111,7 +109,7 @@
 
 LoadLocalNode* AwaitTransformer::MakeName(AstNode* node) {
   LocalVariable* temp = AddNewTempVarToPreamble(node, ST(node->token_pos()));
-  return new(Z) LoadLocalNode(ST(node->token_pos()), temp);
+  return new (Z) LoadLocalNode(ST(node->token_pos()), temp);
 }
 
 
@@ -121,7 +119,7 @@
 
 
 void AwaitTransformer::VisitTypeNode(TypeNode* node) {
-  result_ = new(Z) TypeNode(node->token_pos(), node->type());
+  result_ = new (Z) TypeNode(node->token_pos(), node->type());
 }
 
 
@@ -138,25 +136,25 @@
   //   :await_temp_var_(X+1) = :result_param;
 
   const TokenPosition token_pos = ST(node->token_pos());
-  LocalVariable* async_op = GetVariableInScope(
-      preamble_->scope(), Symbols::AsyncOperation());
-  LocalVariable* async_then_callback = GetVariableInScope(
-      preamble_->scope(), Symbols::AsyncThenCallback());
+  LocalVariable* async_op =
+      GetVariableInScope(preamble_->scope(), Symbols::AsyncOperation());
+  LocalVariable* async_then_callback =
+      GetVariableInScope(preamble_->scope(), Symbols::AsyncThenCallback());
   LocalVariable* async_catch_error_callback = GetVariableInScope(
       preamble_->scope(), Symbols::AsyncCatchErrorCallback());
-  LocalVariable* result_param = GetVariableInScope(
-      preamble_->scope(), Symbols::AsyncOperationParam());
+  LocalVariable* result_param =
+      GetVariableInScope(preamble_->scope(), Symbols::AsyncOperationParam());
   LocalVariable* error_param = GetVariableInScope(
       preamble_->scope(), Symbols::AsyncOperationErrorParam());
   LocalVariable* stack_trace_param = GetVariableInScope(
       preamble_->scope(), Symbols::AsyncOperationStackTraceParam());
 
   AstNode* transformed_expr = Transform(node->expr());
-  LocalVariable* await_temp = AddNewTempVarToPreamble(transformed_expr,
-                                                      ST(node->token_pos()));
+  LocalVariable* await_temp =
+      AddNewTempVarToPreamble(transformed_expr, ST(node->token_pos()));
 
   AwaitMarkerNode* await_marker =
-      new(Z) AwaitMarkerNode(async_temp_scope_, node->scope(), token_pos);
+      new (Z) AwaitMarkerNode(async_temp_scope_, node->scope(), token_pos);
   preamble_->Add(await_marker);
 
   // :result_param = _awaitHelper(
@@ -166,22 +164,19 @@
       Z, async_lib.LookupFunctionAllowPrivate(Symbols::AsyncAwaitHelper()));
   ASSERT(!async_await_helper.IsNull());
   ArgumentListNode* async_await_helper_args =
-      new(Z) ArgumentListNode(token_pos);
+      new (Z) ArgumentListNode(token_pos);
+  async_await_helper_args->Add(new (Z) LoadLocalNode(token_pos, await_temp));
   async_await_helper_args->Add(
-      new(Z) LoadLocalNode(token_pos, await_temp));
+      new (Z) LoadLocalNode(token_pos, async_then_callback));
   async_await_helper_args->Add(
-      new(Z) LoadLocalNode(token_pos, async_then_callback));
-  async_await_helper_args->Add(
-      new(Z) LoadLocalNode(token_pos, async_catch_error_callback));
-  StaticCallNode* await_helper_call = new(Z) StaticCallNode(
-      node->token_pos(),
-      async_await_helper,
-      async_await_helper_args);
+      new (Z) LoadLocalNode(token_pos, async_catch_error_callback));
+  StaticCallNode* await_helper_call = new (Z) StaticCallNode(
+      node->token_pos(), async_await_helper, async_await_helper_args);
 
-  preamble_->Add(new(Z) StoreLocalNode(
-      token_pos, result_param, await_helper_call));
+  preamble_->Add(
+      new (Z) StoreLocalNode(token_pos, result_param, await_helper_call));
 
-  ReturnNode* continuation_return = new(Z) ReturnNode(token_pos);
+  ReturnNode* continuation_return = new (Z) ReturnNode(token_pos);
   continuation_return->set_return_type(ReturnNode::kContinuationTarget);
   preamble_->Add(continuation_return);
 
@@ -189,17 +184,13 @@
   // restoring the saved try context that lives on the stack and possibly the
   // saved try context of the outer try block.
   if (node->saved_try_ctx() != NULL) {
-    preamble_->Add(new(Z) StoreLocalNode(
-        token_pos,
-        node->saved_try_ctx(),
-        new(Z) LoadLocalNode(token_pos,
-                             node->async_saved_try_ctx())));
+    preamble_->Add(new (Z) StoreLocalNode(
+        token_pos, node->saved_try_ctx(),
+        new (Z) LoadLocalNode(token_pos, node->async_saved_try_ctx())));
     if (node->outer_saved_try_ctx() != NULL) {
-      preamble_->Add(new(Z) StoreLocalNode(
-          token_pos,
-          node->outer_saved_try_ctx(),
-          new(Z) LoadLocalNode(token_pos,
-                               node->outer_async_saved_try_ctx())));
+      preamble_->Add(new (Z) StoreLocalNode(
+          token_pos, node->outer_saved_try_ctx(),
+          new (Z) LoadLocalNode(token_pos, node->outer_async_saved_try_ctx())));
     }
   } else {
     ASSERT(node->outer_saved_try_ctx() == NULL);
@@ -207,33 +198,26 @@
 
   // Load the async_op variable. It is unused, but the observatory uses it
   // to determine if a breakpoint is inside an asynchronous function.
-  LoadLocalNode* load_async_op = new(Z) LoadLocalNode(token_pos, async_op);
+  LoadLocalNode* load_async_op = new (Z) LoadLocalNode(token_pos, async_op);
   preamble_->Add(load_async_op);
 
-  LoadLocalNode* load_error_param = new(Z) LoadLocalNode(
-      token_pos, error_param);
-  LoadLocalNode* load_stack_trace_param = new(Z) LoadLocalNode(
-      token_pos, stack_trace_param);
-  SequenceNode* error_ne_null_branch = new(Z) SequenceNode(
-      token_pos, ChainNewScope(preamble_->scope()));
-  error_ne_null_branch->Add(new(Z) ThrowNode(
-      token_pos,
-      load_error_param,
-      load_stack_trace_param));
-  preamble_->Add(new(Z) IfNode(
-      token_pos,
-      new(Z) ComparisonNode(
-          token_pos,
-          Token::kNE,
-          load_error_param,
-          new(Z) LiteralNode(token_pos,
-                              Object::null_instance())),
-          error_ne_null_branch,
-          NULL));
+  LoadLocalNode* load_error_param =
+      new (Z) LoadLocalNode(token_pos, error_param);
+  LoadLocalNode* load_stack_trace_param =
+      new (Z) LoadLocalNode(token_pos, stack_trace_param);
+  SequenceNode* error_ne_null_branch =
+      new (Z) SequenceNode(token_pos, ChainNewScope(preamble_->scope()));
+  error_ne_null_branch->Add(
+      new (Z) ThrowNode(token_pos, load_error_param, load_stack_trace_param));
+  preamble_->Add(new (Z) IfNode(
+      token_pos, new (Z) ComparisonNode(
+                     token_pos, Token::kNE, load_error_param,
+                     new (Z) LiteralNode(token_pos, Object::null_instance())),
+      error_ne_null_branch, NULL));
 
-  LocalVariable* result = AddNewTempVarToPreamble(new(Z) LoadLocalNode(
-      token_pos, result_param), ST(node->token_pos()));
-  result_ = new(Z) LoadLocalNode(token_pos, result);
+  LocalVariable* result = AddNewTempVarToPreamble(
+      new (Z) LoadLocalNode(token_pos, result_param), ST(node->token_pos()));
+  result_ = new (Z) LoadLocalNode(token_pos, result);
 }
 
 
@@ -257,31 +241,28 @@
                                          AstNode* right) {
   ASSERT(logical_op == Token::kAND || logical_op == Token::kOR);
   AstNode* result = NULL;
-  const Token::Kind compare_logical_op = (logical_op == Token::kAND) ?
-      Token::kEQ : Token::kNE;
-  SequenceNode* eval = new(Z) SequenceNode(
-      ST(new_left->token_pos()), ChainNewScope(preamble_->scope()));
+  const Token::Kind compare_logical_op =
+      (logical_op == Token::kAND) ? Token::kEQ : Token::kNE;
+  SequenceNode* eval = new (Z) SequenceNode(ST(new_left->token_pos()),
+                                            ChainNewScope(preamble_->scope()));
   SequenceNode* saved_preamble = preamble_;
   preamble_ = eval;
   result = Transform(right);
   preamble_ = saved_preamble;
-  IfNode* right_body = new(Z) IfNode(
-      ST(new_left->token_pos()),
-      new(Z) ComparisonNode(
-          ST(new_left->token_pos()),
-          compare_logical_op,
-          new_left,
-          new(Z) LiteralNode(ST(new_left->token_pos()), Bool::True())),
-      eval,
-      NULL);
+  IfNode* right_body = new (Z)
+      IfNode(ST(new_left->token_pos()),
+             new (Z) ComparisonNode(
+                 ST(new_left->token_pos()), compare_logical_op, new_left,
+                 new (Z) LiteralNode(ST(new_left->token_pos()), Bool::True())),
+             eval, NULL);
   preamble_->Add(right_body);
   return result;
 }
 
 
 LocalScope* AwaitTransformer::ChainNewScope(LocalScope* parent) {
-  return new(Z) LocalScope(
-      parent, parent->function_level(), parent->loop_level());
+  return new (Z)
+      LocalScope(parent, parent->function_level(), parent->loop_level());
 }
 
 
@@ -294,28 +275,23 @@
   } else {
     new_right = Transform(node->right());
   }
-  result_ = MakeName(new(Z) BinaryOpNode(node->token_pos(),
-      node->kind(),
-      new_left,
-      new_right));
+  result_ = MakeName(new (Z) BinaryOpNode(node->token_pos(), node->kind(),
+                                          new_left, new_right));
 }
 
 
 void AwaitTransformer::VisitComparisonNode(ComparisonNode* node) {
   AstNode* new_left = Transform(node->left());
   AstNode* new_right = Transform(node->right());
-  result_ = MakeName(new(Z) ComparisonNode(node->token_pos(),
-      node->kind(),
-      new_left,
-      new_right));
+  result_ = MakeName(new (Z) ComparisonNode(node->token_pos(), node->kind(),
+                                            new_left, new_right));
 }
 
 
 void AwaitTransformer::VisitUnaryOpNode(UnaryOpNode* node) {
   AstNode* new_operand = Transform(node->operand());
-  result_ = MakeName(new(Z) UnaryOpNode(node->token_pos(),
-      node->kind(),
-      new_operand));
+  result_ = MakeName(
+      new (Z) UnaryOpNode(node->token_pos(), node->kind(), new_operand));
 }
 
 
@@ -323,30 +299,26 @@
 //
 void AwaitTransformer::VisitConditionalExprNode(ConditionalExprNode* node) {
   AstNode* new_condition = Transform(node->condition());
-  SequenceNode* new_true = new(Z) SequenceNode(
+  SequenceNode* new_true = new (Z) SequenceNode(
       ST(node->true_expr()->token_pos()), ChainNewScope(preamble_->scope()));
   SequenceNode* saved_preamble = preamble_;
   preamble_ = new_true;
   AstNode* new_true_result = Transform(node->true_expr());
-  SequenceNode* new_false = new(Z) SequenceNode(
+  SequenceNode* new_false = new (Z) SequenceNode(
       ST(node->false_expr()->token_pos()), ChainNewScope(preamble_->scope()));
   preamble_ = new_false;
   AstNode* new_false_result = Transform(node->false_expr());
   preamble_ = saved_preamble;
-  IfNode* new_if = new(Z) IfNode(ST(node->token_pos()),
-                                 new_condition,
-                                 new_true,
-                                 new_false);
+  IfNode* new_if =
+      new (Z) IfNode(ST(node->token_pos()), new_condition, new_true, new_false);
   preamble_->Add(new_if);
-  result_ = MakeName(new(Z) ConditionalExprNode(ST(node->token_pos()),
-      new_condition,
-      new_true_result,
-      new_false_result));
+  result_ = MakeName(new (Z) ConditionalExprNode(
+      ST(node->token_pos()), new_condition, new_true_result, new_false_result));
 }
 
 
 void AwaitTransformer::VisitArgumentListNode(ArgumentListNode* node) {
-  ArgumentListNode* new_args = new(Z) ArgumentListNode(node->token_pos());
+  ArgumentListNode* new_args = new (Z) ArgumentListNode(node->token_pos());
   for (intptr_t i = 0; i < node->length(); i++) {
     new_args->Add(Transform(node->NodeAt(i)));
   }
@@ -360,14 +332,14 @@
   for (intptr_t i = 0; i < node->length(); i++) {
     new_elements.Add(Transform(node->ElementAt(i)));
   }
-  result_ = new(Z) ArrayNode(node->token_pos(), node->type(), new_elements);
+  result_ = new (Z) ArrayNode(node->token_pos(), node->type(), new_elements);
 }
 
 
 void AwaitTransformer::VisitStringInterpolateNode(StringInterpolateNode* node) {
   ArrayNode* new_value = Transform(node->value())->AsArrayNode();
-  result_ = MakeName(new(Z) StringInterpolateNode(node->token_pos(),
-      new_value));
+  result_ =
+      MakeName(new (Z) StringInterpolateNode(node->token_pos(), new_value));
 }
 
 
@@ -376,10 +348,8 @@
   if (new_receiver != NULL) {
     new_receiver = Transform(new_receiver);
   }
-  result_ = MakeName(new(Z) ClosureNode(node->token_pos(),
-      node->function(),
-      new_receiver,
-      node->scope()));
+  result_ = MakeName(new (Z) ClosureNode(node->token_pos(), node->function(),
+                                         new_receiver, node->scope()));
 }
 
 
@@ -387,39 +357,34 @@
   AstNode* new_receiver = Transform(node->receiver());
   ArgumentListNode* new_args =
       Transform(node->arguments())->AsArgumentListNode();
-  result_ = MakeName(new(Z) InstanceCallNode(node->token_pos(),
-      new_receiver,
-      node->function_name(),
-      new_args,
-      node->is_conditional()));
+  result_ = MakeName(new (Z) InstanceCallNode(node->token_pos(), new_receiver,
+                                              node->function_name(), new_args,
+                                              node->is_conditional()));
 }
 
 
 void AwaitTransformer::VisitStaticCallNode(StaticCallNode* node) {
   ArgumentListNode* new_args =
       Transform(node->arguments())->AsArgumentListNode();
-  result_ = MakeName(new(Z) StaticCallNode(node->token_pos(),
-      node->function(),
-      new_args));
+  result_ = MakeName(
+      new (Z) StaticCallNode(node->token_pos(), node->function(), new_args));
 }
 
 
 void AwaitTransformer::VisitConstructorCallNode(ConstructorCallNode* node) {
   ArgumentListNode* new_args =
       Transform(node->arguments())->AsArgumentListNode();
-  result_ = MakeName(new(Z) ConstructorCallNode(node->token_pos(),
-      node->type_arguments(),
-      node->constructor(),
-      new_args));
+  result_ = MakeName(
+      new (Z) ConstructorCallNode(node->token_pos(), node->type_arguments(),
+                                  node->constructor(), new_args));
 }
 
 
 void AwaitTransformer::VisitInstanceGetterNode(InstanceGetterNode* node) {
   AstNode* new_receiver = Transform(node->receiver());
-  result_ = MakeName(new(Z) InstanceGetterNode(node->token_pos(),
-      new_receiver,
-      node->field_name(),
-      node->is_conditional()));
+  result_ = MakeName(new (Z) InstanceGetterNode(node->token_pos(), new_receiver,
+                                                node->field_name(),
+                                                node->is_conditional()));
 }
 
 
@@ -429,11 +394,9 @@
     new_receiver = Transform(new_receiver);
   }
   AstNode* new_value = Transform(node->value());
-  result_ = MakeName(new(Z) InstanceSetterNode(node->token_pos(),
-      new_receiver,
-      node->field_name(),
-      new_value,
-      node->is_conditional()));
+  result_ = MakeName(new (Z) InstanceSetterNode(node->token_pos(), new_receiver,
+                                                node->field_name(), new_value,
+                                                node->is_conditional()));
 }
 
 
@@ -442,11 +405,8 @@
   if (new_receiver != NULL) {
     new_receiver = Transform(new_receiver);
   }
-  StaticGetterNode* new_getter =
-      new(Z) StaticGetterNode(node->token_pos(),
-                              new_receiver,
-                              node->cls(),
-                              node->field_name());
+  StaticGetterNode* new_getter = new (Z) StaticGetterNode(
+      node->token_pos(), new_receiver, node->cls(), node->field_name());
   new_getter->set_owner(node->owner());
   result_ = MakeName(new_getter);
 }
@@ -460,16 +420,11 @@
   AstNode* new_value = Transform(node->value());
   StaticSetterNode* new_setter =
       node->function().IsNull()
-      ? new(Z) StaticSetterNode(node->token_pos(),
-                                new_receiver,
-                                node->cls(),
-                                node->field_name(),
-                                new_value)
-      : new(Z) StaticSetterNode(node->token_pos(),
-                                new_receiver,
-                                node->field_name(),
-                                node->function(),
-                                new_value);
+          ? new (Z) StaticSetterNode(node->token_pos(), new_receiver,
+                                     node->cls(), node->field_name(), new_value)
+          : new (Z) StaticSetterNode(node->token_pos(), new_receiver,
+                                     node->field_name(), node->function(),
+                                     new_value);
 
   result_ = MakeName(new_setter);
 }
@@ -482,9 +437,8 @@
 
 void AwaitTransformer::VisitStoreLocalNode(StoreLocalNode* node) {
   AstNode* new_value = Transform(node->value());
-  result_ = MakeName(new(Z) StoreLocalNode(node->token_pos(),
-      &node->local(),
-      new_value));
+  result_ = MakeName(
+      new (Z) StoreLocalNode(node->token_pos(), &node->local(), new_value));
 }
 
 
@@ -495,8 +449,8 @@
 
 void AwaitTransformer::VisitStoreStaticFieldNode(StoreStaticFieldNode* node) {
   AstNode* new_value = Transform(node->value());
-  result_ = MakeName(new(Z) StoreStaticFieldNode(node->token_pos(),
-      Field::ZoneHandle(Z, node->field().Original()),
+  result_ = MakeName(new (Z) StoreStaticFieldNode(
+      node->token_pos(), Field::ZoneHandle(Z, node->field().Original()),
       new_value));
 }
 
@@ -504,10 +458,8 @@
 void AwaitTransformer::VisitLoadIndexedNode(LoadIndexedNode* node) {
   AstNode* new_array = Transform(node->array());
   AstNode* new_index = Transform(node->index_expr());
-  result_ = MakeName(new(Z) LoadIndexedNode(node->token_pos(),
-      new_array,
-      new_index,
-      node->super_class()));
+  result_ = MakeName(new (Z) LoadIndexedNode(node->token_pos(), new_array,
+                                             new_index, node->super_class()));
 }
 
 
@@ -515,20 +467,15 @@
   AstNode* new_array = Transform(node->array());
   AstNode* new_index = Transform(node->index_expr());
   AstNode* new_value = Transform(node->value());
-  result_ = MakeName(new(Z) StoreIndexedNode(node->token_pos(),
-      new_array,
-      new_index,
-      new_value,
-      node->super_class()));
+  result_ = MakeName(new (Z) StoreIndexedNode(
+      node->token_pos(), new_array, new_index, new_value, node->super_class()));
 }
 
 
 void AwaitTransformer::VisitAssignableNode(AssignableNode* node) {
   AstNode* new_expr = Transform(node->expr());
-  result_ = MakeName(new(Z) AssignableNode(node->token_pos(),
-      new_expr,
-      node->type(),
-      node->dst_name()));
+  result_ = MakeName(new (Z) AssignableNode(node->token_pos(), new_expr,
+                                            node->type(), node->dst_name()));
 }
 
 
@@ -541,9 +488,8 @@
   for (intptr_t i = 0; i < node->num_temps(); i++) {
     async_temp_scope_->AddVariable(node->TempAt(i));
     AstNode* new_init_val = Transform(node->InitializerAt(i));
-    preamble_->Add(new(Z) StoreLocalNode(node->token_pos(),
-                                         node->TempAt(i),
-                                         new_init_val));
+    preamble_->Add(new (Z) StoreLocalNode(node->token_pos(), node->TempAt(i),
+                                          new_init_val));
   }
 
   // Add all expressions but the last to the preamble. We must do
@@ -565,9 +511,8 @@
 
 void AwaitTransformer::VisitThrowNode(ThrowNode* node) {
   AstNode* new_exception = Transform(node->exception());
-  result_ = MakeName(new(Z) ThrowNode(node->token_pos(),
-      new_exception,
-      node->stacktrace()));
+  result_ = MakeName(
+      new (Z) ThrowNode(node->token_pos(), new_exception, node->stacktrace()));
 }
 
 }  // namespace dart
diff --git a/runtime/vm/atomic.h b/runtime/vm/atomic.h
index 75d0b84..c66c2cf 100644
--- a/runtime/vm/atomic.h
+++ b/runtime/vm/atomic.h
@@ -48,8 +48,9 @@
   //
   // NOTE: OK to use with memory locations that are accessed by generated code
   static uword CompareAndSwapWord(uword* ptr, uword old_value, uword new_value);
-  static uint32_t CompareAndSwapUint32(
-      uint32_t* ptr, uint32_t old_value, uint32_t new_value);
+  static uint32_t CompareAndSwapUint32(uint32_t* ptr,
+                                       uint32_t old_value,
+                                       uint32_t new_value);
 
   // Performs a load of a word from 'ptr', but without any guarantees about
   // memory order (i.e., no load barriers/fences).
diff --git a/runtime/vm/atomic_test.cc b/runtime/vm/atomic_test.cc
index 262a328..3a95a64 100644
--- a/runtime/vm/atomic_test.cc
+++ b/runtime/vm/atomic_test.cc
@@ -65,8 +65,8 @@
 TEST_CASE(CompareAndSwapWord) {
   uword old_value = 42;
   uword new_value = 100;
-  uword result = AtomicOperations::CompareAndSwapWord(
-      &old_value, old_value, new_value);
+  uword result =
+      AtomicOperations::CompareAndSwapWord(&old_value, old_value, new_value);
   EXPECT_EQ(static_cast<uword>(42), result);
 }
 
@@ -74,8 +74,8 @@
 TEST_CASE(CompareAndSwapUint32) {
   uint32_t old_value = 42;
   uint32_t new_value = 100;
-  uint32_t result = AtomicOperations::CompareAndSwapUint32(
-      &old_value, old_value, new_value);
+  uint32_t result =
+      AtomicOperations::CompareAndSwapUint32(&old_value, old_value, new_value);
   EXPECT_EQ(static_cast<uint32_t>(42), result);
 }
 
diff --git a/runtime/vm/atomic_win.h b/runtime/vm/atomic_win.h
index 7abf59e..398ed43 100644
--- a/runtime/vm/atomic_win.h
+++ b/runtime/vm/atomic_win.h
@@ -18,10 +18,12 @@
 inline uintptr_t AtomicOperations::FetchAndIncrement(uintptr_t* p) {
 #if defined(HOST_ARCH_X64)
   return static_cast<uintptr_t>(
-      InterlockedIncrement64(reinterpret_cast<LONGLONG*>(p))) - 1;
+             InterlockedIncrement64(reinterpret_cast<LONGLONG*>(p))) -
+         1;
 #elif defined(HOST_ARCH_IA32)
   return static_cast<uintptr_t>(
-      InterlockedIncrement(reinterpret_cast<LONG*>(p))) - 1;
+             InterlockedIncrement(reinterpret_cast<LONG*>(p))) -
+         1;
 #else
 #error Unsupported host architecture.
 #endif
@@ -31,10 +33,12 @@
 inline intptr_t AtomicOperations::FetchAndIncrement(intptr_t* p) {
 #if defined(HOST_ARCH_X64)
   return static_cast<intptr_t>(
-      InterlockedIncrement64(reinterpret_cast<LONGLONG*>(p))) - 1;
+             InterlockedIncrement64(reinterpret_cast<LONGLONG*>(p))) -
+         1;
 #elif defined(HOST_ARCH_IA32)
   return static_cast<intptr_t>(
-      InterlockedIncrement(reinterpret_cast<LONG*>(p))) - 1;
+             InterlockedIncrement(reinterpret_cast<LONG*>(p))) -
+         1;
 #else
 #error Unsupported host architecture.
 #endif
@@ -46,8 +50,7 @@
   InterlockedExchangeAdd64(reinterpret_cast<LONGLONG*>(p),
                            static_cast<LONGLONG>(value));
 #elif defined(HOST_ARCH_IA32)
-  InterlockedExchangeAdd(reinterpret_cast<LONG*>(p),
-                         static_cast<LONG>(value));
+  InterlockedExchangeAdd(reinterpret_cast<LONG*>(p), static_cast<LONG>(value));
 #else
 #error Unsupported host architecture.
 #endif
@@ -67,10 +70,12 @@
 inline uintptr_t AtomicOperations::FetchAndDecrement(uintptr_t* p) {
 #if defined(HOST_ARCH_X64)
   return static_cast<uintptr_t>(
-      InterlockedDecrement64(reinterpret_cast<LONGLONG*>(p))) + 1;
+             InterlockedDecrement64(reinterpret_cast<LONGLONG*>(p))) +
+         1;
 #elif defined(HOST_ARCH_IA32)
   return static_cast<uintptr_t>(
-      InterlockedDecrement(reinterpret_cast<LONG*>(p))) + 1;
+             InterlockedDecrement(reinterpret_cast<LONG*>(p))) +
+         1;
 #else
 #error Unsupported host architecture.
 #endif
@@ -80,10 +85,12 @@
 inline intptr_t AtomicOperations::FetchAndDecrement(intptr_t* p) {
 #if defined(HOST_ARCH_X64)
   return static_cast<intptr_t>(
-      InterlockedDecrement64(reinterpret_cast<LONGLONG*>(p))) + 1;
+             InterlockedDecrement64(reinterpret_cast<LONGLONG*>(p))) +
+         1;
 #elif defined(HOST_ARCH_IA32)
   return static_cast<intptr_t>(
-      InterlockedDecrement(reinterpret_cast<LONG*>(p))) + 1;
+             InterlockedDecrement(reinterpret_cast<LONG*>(p))) +
+         1;
 #else
 #error Unsupported host architecture.
 #endif
@@ -95,8 +102,7 @@
   InterlockedExchangeAdd64(reinterpret_cast<LONGLONG*>(p),
                            static_cast<LONGLONG>(-value));
 #elif defined(HOST_ARCH_IA32)
-  InterlockedExchangeAdd(reinterpret_cast<LONG*>(p),
-                         static_cast<LONG>(-value));
+  InterlockedExchangeAdd(reinterpret_cast<LONG*>(p), static_cast<LONG>(-value));
 #else
 #error Unsupported host architecture.
 #endif
@@ -108,15 +114,13 @@
                                                   uword old_value,
                                                   uword new_value) {
 #if defined(HOST_ARCH_X64)
-  return static_cast<uword>(
-      InterlockedCompareExchange64(reinterpret_cast<LONGLONG*>(ptr),
-                                   static_cast<LONGLONG>(new_value),
-                                   static_cast<LONGLONG>(old_value)));
+  return static_cast<uword>(InterlockedCompareExchange64(
+      reinterpret_cast<LONGLONG*>(ptr), static_cast<LONGLONG>(new_value),
+      static_cast<LONGLONG>(old_value)));
 #elif defined(HOST_ARCH_IA32)
-  return static_cast<uword>(
-      InterlockedCompareExchange(reinterpret_cast<LONG*>(ptr),
-                                 static_cast<LONG>(new_value),
-                                 static_cast<LONG>(old_value)));
+  return static_cast<uword>(InterlockedCompareExchange(
+      reinterpret_cast<LONG*>(ptr), static_cast<LONG>(new_value),
+      static_cast<LONG>(old_value)));
 #else
 #error Unsupported host architecture.
 #endif
@@ -125,10 +129,9 @@
                                                        uint32_t old_value,
                                                        uint32_t new_value) {
 #if (defined(HOST_ARCH_X64) || defined(HOST_ARCH_IA32))
-  return static_cast<uint32_t>(
-      InterlockedCompareExchange(reinterpret_cast<LONG*>(ptr),
-                                 static_cast<LONG>(new_value),
-                                 static_cast<LONG>(old_value)));
+  return static_cast<uint32_t>(InterlockedCompareExchange(
+      reinterpret_cast<LONG*>(ptr), static_cast<LONG>(new_value),
+      static_cast<LONG>(old_value)));
 #else
 #error Unsupported host architecture.
 #endif
diff --git a/runtime/vm/base_isolate.h b/runtime/vm/base_isolate.h
index bd76b90..5449880 100644
--- a/runtime/vm/base_isolate.h
+++ b/runtime/vm/base_isolate.h
@@ -31,9 +31,7 @@
 #endif
 
  protected:
-  BaseIsolate()
-      : mutator_thread_(NULL) {
-  }
+  BaseIsolate() : mutator_thread_(NULL) {}
 
   ~BaseIsolate() {
     // Do not delete stack resources: top_resource_ and current_zone_.
diff --git a/runtime/vm/become.cc b/runtime/vm/become.cc
index 5424805..0fddef2 100644
--- a/runtime/vm/become.cc
+++ b/runtime/vm/become.cc
@@ -62,8 +62,8 @@
   const intptr_t size_before = before_obj->Size();
 
   uword corpse_addr = reinterpret_cast<uword>(before_obj) - kHeapObjectTag;
-  ForwardingCorpse* forwarder = ForwardingCorpse::AsForwarder(corpse_addr,
-                                                              size_before);
+  ForwardingCorpse* forwarder =
+      ForwardingCorpse::AsForwarder(corpse_addr, size_before);
   forwarder->set_target(after_obj);
   if (!IsForwardingObject(before_obj)) {
     FATAL("become: ForwardObjectTo failure.");
@@ -79,7 +79,7 @@
 class ForwardPointersVisitor : public ObjectPointerVisitor {
  public:
   explicit ForwardPointersVisitor(Isolate* isolate)
-      : ObjectPointerVisitor(isolate), visiting_object_(NULL), count_(0) { }
+      : ObjectPointerVisitor(isolate), visiting_object_(NULL), count_(0) {}
 
   virtual void VisitPointers(RawObject** first, RawObject** last) {
     for (RawObject** p = first; p <= last; p++) {
@@ -111,7 +111,7 @@
 class ForwardHeapPointersVisitor : public ObjectVisitor {
  public:
   explicit ForwardHeapPointersVisitor(ForwardPointersVisitor* pointer_visitor)
-      : pointer_visitor_(pointer_visitor) { }
+      : pointer_visitor_(pointer_visitor) {}
 
   virtual void VisitObject(RawObject* obj) {
     pointer_visitor_->VisitingObject(obj);
@@ -128,7 +128,7 @@
 class ForwardHeapPointersHandleVisitor : public HandleVisitor {
  public:
   ForwardHeapPointersHandleVisitor()
-      : HandleVisitor(Thread::Current()), count_(0) { }
+      : HandleVisitor(Thread::Current()), count_(0) {}
 
   virtual void VisitHandle(uword addr) {
     FinalizablePersistentHandle* handle =
@@ -173,8 +173,8 @@
 #else
 class WritableCodeLiteralsScope : public ValueObject {
  public:
-  explicit WritableCodeLiteralsScope(Heap* heap) { }
-  ~WritableCodeLiteralsScope() { }
+  explicit WritableCodeLiteralsScope(Heap* heap) {}
+  ~WritableCodeLiteralsScope() {}
 };
 #endif
 
@@ -291,7 +291,7 @@
 
 #if !defined(PRODUCT)
     tds.SetNumArguments(2);
-    tds.FormatArgument(0, "Remapped objects", "%" Pd,  before.Length());
+    tds.FormatArgument(0, "Remapped objects", "%" Pd, before.Length());
     tds.FormatArgument(1, "Remapped references", "%" Pd,
                        pointer_visitor.count() + handle_visitor.count());
 #endif
diff --git a/runtime/vm/become.h b/runtime/vm/become.h
index 0bee126..1784d22 100644
--- a/runtime/vm/become.h
+++ b/runtime/vm/become.h
@@ -22,12 +22,8 @@
 // representation as a FreeListElement.
 class ForwardingCorpse {
  public:
-  RawObject* target() const {
-    return target_;
-  }
-  void set_target(RawObject* target) {
-    target_ = target;
-  }
+  RawObject* target() const { return target_; }
+  void set_target(RawObject* target) { target_ = target; }
 
   intptr_t Size() {
     intptr_t size = RawObject::SizeTag::decode(tags_);
@@ -42,7 +38,7 @@
   // Used to allocate class for forwarding corpses in Object::InitOnce.
   class FakeInstance {
    public:
-    FakeInstance() { }
+    FakeInstance() {}
     static cpp_vtable vtable() { return 0; }
     static intptr_t InstanceSize() { return 0; }
     static intptr_t NextFieldOffset() { return -kWordSize; }
diff --git a/runtime/vm/benchmark_test.cc b/runtime/vm/benchmark_test.cc
index 0dcfa2b..db3bfc4 100644
--- a/runtime/vm/benchmark_test.cc
+++ b/runtime/vm/benchmark_test.cc
@@ -32,20 +32,14 @@
 static char* ComputeDart2JSPath(const char* arg) {
   char buffer[2048];
   char* dart2js_path = strdup(File::GetCanonicalPath(arg));
-  const char* compiler_path =
-      "%s%spkg%scompiler%slib%scompiler.dart";
+  const char* compiler_path = "%s%spkg%scompiler%slib%scompiler.dart";
   const char* path_separator = File::PathSeparator();
   ASSERT(path_separator != NULL && strlen(path_separator) == 1);
   char* ptr = strrchr(dart2js_path, *path_separator);
   while (ptr != NULL) {
     *ptr = '\0';
-    OS::SNPrint(buffer, 2048, compiler_path,
-                dart2js_path,
-                path_separator,
-                path_separator,
-                path_separator,
-                path_separator,
-                path_separator);
+    OS::SNPrint(buffer, 2048, compiler_path, dart2js_path, path_separator,
+                path_separator, path_separator, path_separator, path_separator);
     if (File::Exists(buffer)) {
       break;
     }
@@ -59,8 +53,7 @@
 }
 
 
-static void func(Dart_NativeArguments args) {
-}
+static void func(Dart_NativeArguments args) {}
 
 
 static Dart_NativeFunction NativeResolver(Dart_Handle name,
@@ -85,8 +78,8 @@
       strdup(File::GetCanonicalPath(Benchmark::Executable()));
   const char* packages_path = "%s%s..%spackages";
   const char* path_separator = File::PathSeparator();
-  OS::SNPrint(buffer, 2048, packages_path,
-              executable_path, path_separator, path_separator);
+  OS::SNPrint(buffer, 2048, packages_path, executable_path, path_separator,
+              path_separator);
   result = bin::DartUtils::SetupPackageRoot(buffer, NULL);
   DART_CHECK_VALID(result);
 }
@@ -163,11 +156,10 @@
   char* script = NULL;
   if (dart_root != NULL) {
     HANDLESCOPE(thread);
-    script = OS::SCreate(NULL,
-        "import '%s/pkg/compiler/lib/compiler.dart';", dart_root);
+    script = OS::SCreate(NULL, "import '%s/pkg/compiler/lib/compiler.dart';",
+                         dart_root);
     Dart_Handle lib = TestCase::LoadTestScript(
-        script,
-        reinterpret_cast<Dart_NativeEntryResolver>(NativeResolver));
+        script, reinterpret_cast<Dart_NativeEntryResolver>(NativeResolver));
     EXPECT_VALID(lib);
   } else {
     Dart_Handle lib = TestCase::LoadTestScript(
@@ -301,14 +293,12 @@
       "}\n";
 
   Dart_Handle lib = TestCase::LoadTestScript(
-      kScriptChars,
-      reinterpret_cast<Dart_NativeEntryResolver>(bm_uda_lookup),
-      USER_TEST_URI,
-      false);
+      kScriptChars, reinterpret_cast<Dart_NativeEntryResolver>(bm_uda_lookup),
+      USER_TEST_URI, false);
 
   // Create a native wrapper class with native fields.
-  Dart_Handle result = Dart_CreateNativeWrapperClass(
-      lib, NewString("NativeFieldsWrapper"), 1);
+  Dart_Handle result =
+      Dart_CreateNativeWrapperClass(lib, NewString("NativeFieldsWrapper"), 1);
   EXPECT_VALID(result);
   result = Dart_FinalizeLoading(false);
   EXPECT_VALID(result);
@@ -338,7 +328,7 @@
   Dart_EnterScope();
 
   // Create strings.
-  uint8_t data8[] = { 'o', 'n', 'e', 0xFF };
+  uint8_t data8[] = {'o', 'n', 'e', 0xFF};
   int external_peer_data = 123;
   intptr_t char_size;
   intptr_t str_len;
@@ -353,9 +343,7 @@
     EXPECT_VALID(external_string);
     EXPECT(Dart_IsExternalString(external_string));
     void* external_peer = NULL;
-    EXPECT_VALID(Dart_StringGetProperties(external_string,
-                                          &char_size,
-                                          &str_len,
+    EXPECT_VALID(Dart_StringGetProperties(external_string, &char_size, &str_len,
                                           &external_peer));
     EXPECT_EQ(1, char_size);
     EXPECT_EQ(4, str_len);
@@ -377,11 +365,10 @@
   char* script = NULL;
   if (dart_root != NULL) {
     HANDLESCOPE(thread);
-    script = OS::SCreate(NULL,
-        "import '%s/pkg/compiler/lib/compiler.dart';", dart_root);
+    script = OS::SCreate(NULL, "import '%s/pkg/compiler/lib/compiler.dart';",
+                         dart_root);
     Dart_Handle lib = TestCase::LoadTestScript(
-        script,
-        reinterpret_cast<Dart_NativeEntryResolver>(NativeResolver));
+        script, reinterpret_cast<Dart_NativeEntryResolver>(NativeResolver));
     EXPECT_VALID(lib);
   } else {
     Dart_Handle lib = TestCase::LoadTestScript(
@@ -498,8 +485,9 @@
 }
 
 
-static uint8_t* malloc_allocator(
-    uint8_t* ptr, intptr_t old_size, intptr_t new_size) {
+static uint8_t* malloc_allocator(uint8_t* ptr,
+                                 intptr_t old_size,
+                                 intptr_t new_size) {
   return reinterpret_cast<uint8_t*>(realloc(ptr, new_size));
 }
 
@@ -525,10 +513,8 @@
   Api::CheckAndFinalizePendingClasses(thread);
 
   // Write snapshot with object content.
-  FullSnapshotWriter writer(Snapshot::kCore,
-                            &vm_isolate_snapshot_buffer,
-                            &isolate_snapshot_buffer,
-                            &malloc_allocator,
+  FullSnapshotWriter writer(Snapshot::kCore, &vm_isolate_snapshot_buffer,
+                            &isolate_snapshot_buffer, &malloc_allocator,
                             NULL /* instructions_writer */);
   writer.WriteFullSnapshot();
   const Snapshot* snapshot = Snapshot::SetupFromBuffer(isolate_snapshot_buffer);
@@ -561,10 +547,8 @@
   Api::CheckAndFinalizePendingClasses(thread);
 
   // Write snapshot with object content.
-  FullSnapshotWriter writer(Snapshot::kCore,
-                            &vm_isolate_snapshot_buffer,
-                            &isolate_snapshot_buffer,
-                            &malloc_allocator,
+  FullSnapshotWriter writer(Snapshot::kCore, &vm_isolate_snapshot_buffer,
+                            &isolate_snapshot_buffer, &malloc_allocator,
                             NULL /* instructions_writer */);
   writer.WriteFullSnapshot();
   const Snapshot* snapshot = Snapshot::SetupFromBuffer(isolate_snapshot_buffer);
@@ -613,8 +597,9 @@
 
 
 static uint8_t message_buffer[64];
-static uint8_t* message_allocator(
-    uint8_t* ptr, intptr_t old_size, intptr_t new_size) {
+static uint8_t* message_allocator(uint8_t* ptr,
+                                  intptr_t old_size,
+                                  intptr_t new_size) {
   return message_buffer;
 }
 
@@ -632,9 +617,7 @@
     intptr_t buffer_len = writer.BytesWritten();
 
     // Read object back from the snapshot.
-    MessageSnapshotReader reader(buffer,
-                                 buffer_len,
-                                 thread);
+    MessageSnapshotReader reader(buffer, buffer_len, thread);
     reader.ReadObject();
   }
   timer.Stop();
@@ -656,9 +639,7 @@
     intptr_t buffer_len = writer.BytesWritten();
 
     // Read object back from the snapshot.
-    MessageSnapshotReader reader(buffer,
-                                 buffer_len,
-                                 thread);
+    MessageSnapshotReader reader(buffer, buffer_len, thread);
     reader.ReadObject();
   }
   timer.Stop();
@@ -683,9 +664,7 @@
     intptr_t buffer_len = writer.BytesWritten();
 
     // Read object back from the snapshot.
-    MessageSnapshotReader reader(buffer,
-                                 buffer_len,
-                                 thread);
+    MessageSnapshotReader reader(buffer, buffer_len, thread);
     reader.ReadObject();
     free(buffer);
   }
@@ -719,9 +698,7 @@
     intptr_t buffer_len = writer.BytesWritten();
 
     // Read object back from the snapshot.
-    MessageSnapshotReader reader(buffer,
-                                 buffer_len,
-                                 thread);
+    MessageSnapshotReader reader(buffer, buffer_len, thread);
     reader.ReadObject();
     free(buffer);
   }
diff --git a/runtime/vm/benchmark_test.h b/runtime/vm/benchmark_test.h
index db0c1f6..b51c64c 100644
--- a/runtime/vm/benchmark_test.h
+++ b/runtime/vm/benchmark_test.h
@@ -34,7 +34,8 @@
 #define BENCHMARK_HELPER(name, kind)                                           \
   void Dart_Benchmark##name(Benchmark* benchmark);                             \
   static Benchmark kRegister##name(Dart_Benchmark##name, #name, kind);         \
-  static void Dart_BenchmarkHelper##name(Benchmark* benchmark, Thread* thread);\
+  static void Dart_BenchmarkHelper##name(Benchmark* benchmark,                 \
+                                         Thread* thread);                      \
   void Dart_Benchmark##name(Benchmark* benchmark) {                            \
     FLAG_old_gen_growth_space_ratio = 100;                                     \
     BenchmarkIsolateScope __isolate__(benchmark);                              \
@@ -57,15 +58,15 @@
 
 class Benchmark {
  public:
-  typedef void (RunEntry)(Benchmark* benchmark);
+  typedef void(RunEntry)(Benchmark* benchmark);
 
-  Benchmark(RunEntry* run, const char* name, const char* score_kind) :
-      run_(run),
-      name_(name),
-      score_kind_(score_kind),
-      score_(0),
-      isolate_(NULL),
-      next_(NULL) {
+  Benchmark(RunEntry* run, const char* name, const char* score_kind)
+      : run_(run),
+        name_(name),
+        score_kind_(score_kind),
+        score_(0),
+        isolate_(NULL),
+        next_(NULL) {
     if (first_ == NULL) {
       first_ = this;
     } else {
diff --git a/runtime/vm/bigint_test.cc b/runtime/vm/bigint_test.cc
index 21ba79b..22300f4 100644
--- a/runtime/vm/bigint_test.cc
+++ b/runtime/vm/bigint_test.cc
@@ -153,8 +153,7 @@
   EXPECT_EQ(4.1909428413307135e+24, bigint.AsDoubleValue());
 
   // Reduced precision.
-  bigint = Bigint::NewFromCString(
-      "9876543210987654321098765432109876543210");
+  bigint = Bigint::NewFromCString("9876543210987654321098765432109876543210");
   EXPECT_EQ(9.8765432109876546e+39, bigint.AsDoubleValue());
 
   bigint = Bigint::NewFromCString(
@@ -169,7 +168,7 @@
       "12345678901234567890123456789012345678901234567890"
       "12345678901234567890123456789012345678901234567890");
   double zero = 0.0;
-  EXPECT_EQ(1.0/zero, bigint.AsDoubleValue());
+  EXPECT_EQ(1.0 / zero, bigint.AsDoubleValue());
 
   bigint = Bigint::NewFromCString(
       "17976931348623157081452742373170435679807056752584"
@@ -189,7 +188,7 @@
       "29520850057688381506823424628814739131105408272371"
       "63350510684586298239947245938479716304835356329624"
       "224137216");
-  EXPECT_EQ(1.0/zero, bigint.AsDoubleValue());
+  EXPECT_EQ(1.0 / zero, bigint.AsDoubleValue());
 
   bigint = Bigint::NewFromCString(
       "17976931348623158079372897140530341507993413271003"
@@ -199,7 +198,7 @@
       "57302700698555713669596228429148198608349364752927"
       "19074168444365510704342711559699508093042880177904"
       "174497792");
-  EXPECT_EQ(1.0/zero, bigint.AsDoubleValue());
+  EXPECT_EQ(1.0 / zero, bigint.AsDoubleValue());
 
   bigint = Bigint::NewFromCString(
       "17976931348623158079372897140530341507993413271003"
@@ -218,12 +217,12 @@
   EXPECT_EQ(1.0000000000000001e+23, bigint.AsDoubleValue());
 
   // Same but shifted 64 bits to the left.
-  bigint = Bigint::NewFromCString(
-      "1844674407370955161600000000000000000000000");
+  bigint =
+      Bigint::NewFromCString("1844674407370955161600000000000000000000000");
   EXPECT_EQ(1.844674407370955e+42, bigint.AsDoubleValue());
 
-  bigint = Bigint::NewFromCString(
-      "1844674407370955161600000000000000000000001");
+  bigint =
+      Bigint::NewFromCString("1844674407370955161600000000000000000000001");
   EXPECT_EQ(1.8446744073709553e+42, bigint.AsDoubleValue());
 }
 
@@ -327,22 +326,22 @@
   }
 
   {
-    const Bigint& bigint = Bigint::Handle(
-        Bigint::NewFromCString("0x000000123"));
+    const Bigint& bigint =
+        Bigint::Handle(Bigint::NewFromCString("0x000000123"));
     const char* str = bigint.ToHexCString(zone);
     EXPECT_STREQ("0x123", str);
   }
 
   {
-    const Bigint& bigint = Bigint::Handle(
-        Bigint::NewFromCString("0x0000aBcEf"));
+    const Bigint& bigint =
+        Bigint::Handle(Bigint::NewFromCString("0x0000aBcEf"));
     const char* str = bigint.ToHexCString(zone);
     EXPECT_STREQ("0xABCEF", str);
   }
 
   {
     const char* in = "0x00000000000000000000000000000000000000000000123456789";
-    const char* out =                                            "0x123456789";
+    const char* out = "0x123456789";
     const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in));
     const char* str = bigint.ToHexCString(zone);
     EXPECT_STREQ(out, str);
@@ -350,36 +349,36 @@
 
   {
     const char* in = "0x00000123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0";
-    const char* out =     "0x123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0";
+    const char* out = "0x123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0";
     const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in));
     const char* str = bigint.ToHexCString(zone);
     EXPECT_STREQ(out, str);
   }
 
   {
-    const Bigint& bigint = Bigint::Handle(
-        Bigint::NewFromCString("-0x00000123"));
+    const Bigint& bigint =
+        Bigint::Handle(Bigint::NewFromCString("-0x00000123"));
     EXPECT(bigint.FitsIntoSmi());
     EXPECT_EQ(-0x123, bigint.AsInt64Value());
   }
 
   {
-    const Bigint& bigint = Bigint::Handle(
-        Bigint::NewFromCString("-0x00000123"));
+    const Bigint& bigint =
+        Bigint::Handle(Bigint::NewFromCString("-0x00000123"));
     const char* str = bigint.ToHexCString(zone);
     EXPECT_STREQ("-0x123", str);
   }
 
   {
-    const Bigint& bigint = Bigint::Handle(
-        Bigint::NewFromCString("-0x000aBcEf"));
+    const Bigint& bigint =
+        Bigint::Handle(Bigint::NewFromCString("-0x000aBcEf"));
     const char* str = bigint.ToHexCString(zone);
     EXPECT_STREQ("-0xABCEF", str);
   }
 
   {
     const char* in = "-0x00000000000000000000000000000000000000000000123456789";
-    const char* out =                                            "-0x123456789";
+    const char* out = "-0x123456789";
     const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in));
     const char* str = bigint.ToHexCString(zone);
     EXPECT_STREQ(out, str);
@@ -387,7 +386,7 @@
 
   {
     const char* in = "-0x0000123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0";
-    const char* out =    "-0x123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0";
+    const char* out = "-0x123456789ABCDEF01234567890ABCDEF0123456789ABCDEF0";
     const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in));
     const char* str = bigint.ToHexCString(zone);
     EXPECT_STREQ(out, str);
@@ -395,8 +394,7 @@
   {
     const char* test = "12345678901234567890";
     const char* out = "0xAB54A98CEB1F0AD2";
-    const Bigint& bigint = Bigint::Handle(
-        Bigint::NewFromCString(test));
+    const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(test));
     const char* str = bigint.ToHexCString(zone);
     EXPECT_STREQ(out, str);
   }
@@ -456,7 +454,7 @@
     const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in));
     const char* str = bigint.ToDecCString(zone);
     EXPECT_STREQ("7141946863373290020600059860922167424469804758405880798960",
-        str);
+                 str);
   }
 
   {
@@ -489,7 +487,7 @@
     const Bigint& bigint = Bigint::Handle(Bigint::NewFromCString(in));
     const char* str = bigint.ToDecCString(zone);
     EXPECT_STREQ("-7141946863373290020600059860922167424469804758405880798960",
-        str);
+                 str);
   }
 
   {
@@ -499,8 +497,8 @@
   }
 
   {
-    const Bigint& bigint = Bigint::Handle(
-        Bigint::NewFromCString("0x000000123"));
+    const Bigint& bigint =
+        Bigint::Handle(Bigint::NewFromCString("0x000000123"));
     const char* str = bigint.ToDecCString(zone);
     EXPECT_STREQ("291", str);
   }
@@ -643,8 +641,8 @@
   }
 
   {
-    const Bigint& bigint = Bigint::Handle(
-        Bigint::NewFromCString("-1311768467463790320"));
+    const Bigint& bigint =
+        Bigint::Handle(Bigint::NewFromCString("-1311768467463790320"));
     const char* str = bigint.ToHexCString(zone);
     EXPECT_STREQ("-0x123456789ABCDEF0", str);
   }
diff --git a/runtime/vm/bit_set.h b/runtime/vm/bit_set.h
index 2735a72..4e716c1 100644
--- a/runtime/vm/bit_set.h
+++ b/runtime/vm/bit_set.h
@@ -12,12 +12,10 @@
 
 // Just like its namesake in the STL, a BitSet object contains a fixed
 // length sequence of bits.
-template<intptr_t N>
+template <intptr_t N>
 class BitSet {
  public:
-  BitSet() {
-    Reset();
-  }
+  BitSet() { Reset(); }
 
   void Set(intptr_t i, bool value) {
     ASSERT(i >= 0);
@@ -85,13 +83,9 @@
     }
   }
 
-  void Reset() {
-    memset(data_, 0, sizeof(data_));
-  }
+  void Reset() { memset(data_, 0, sizeof(data_)); }
 
-  intptr_t Size() const {
-    return N;
-  }
+  intptr_t Size() const { return N; }
 
  private:
   static const int kLengthInWords = 1 + ((N - 1) / kBitsPerWord);
diff --git a/runtime/vm/bit_set_test.cc b/runtime/vm/bit_set_test.cc
index 426ed4f5..432d086 100644
--- a/runtime/vm/bit_set_test.cc
+++ b/runtime/vm/bit_set_test.cc
@@ -8,7 +8,7 @@
 
 namespace dart {
 
-template<intptr_t Size>
+template <intptr_t Size>
 void TestBitSet() {
   BitSet<Size> set;
   EXPECT_EQ(-1, set.Last());
diff --git a/runtime/vm/bit_vector.h b/runtime/vm/bit_vector.h
index e1c133a..b04c6ec 100644
--- a/runtime/vm/bit_vector.h
+++ b/runtime/vm/bit_vector.h
@@ -25,7 +25,7 @@
       ASSERT(target->data_length_ > 0);
       Advance();
     }
-    ~Iterator() { }
+    ~Iterator() {}
 
     bool Done() const { return word_index_ >= target_->data_length_; }
     void Advance();
diff --git a/runtime/vm/bit_vector_test.cc b/runtime/vm/bit_vector_test.cc
index d2b7d1a..bcf0c91 100644
--- a/runtime/vm/bit_vector_test.cc
+++ b/runtime/vm/bit_vector_test.cc
@@ -11,11 +11,13 @@
 #define Z (thread->zone())
 
 TEST_CASE(BitVector) {
-  { BitVector* v = new BitVector(Z, 15);
+  {
+    BitVector* v = new BitVector(Z, 15);
     v->Add(1);
     EXPECT_EQ(true, v->Contains(1));
     EXPECT_EQ(false, v->Contains(0));
-    { BitVector::Iterator iter(v);
+    {
+      BitVector::Iterator iter(v);
       EXPECT_EQ(1, iter.Current());
       iter.Advance();
       EXPECT(iter.Done());
@@ -24,7 +26,8 @@
     v->Add(1);
     EXPECT_EQ(true, v->Contains(0));
     EXPECT_EQ(true, v->Contains(1));
-    { BitVector::Iterator iter(v);
+    {
+      BitVector::Iterator iter(v);
       EXPECT_EQ(0, iter.Current());
       iter.Advance();
       EXPECT_EQ(1, iter.Current());
@@ -33,7 +36,8 @@
     }
   }
 
-  { BitVector* v = new BitVector(Z, 128);
+  {
+    BitVector* v = new BitVector(Z, 128);
     v->Add(49);
     v->Add(62);
     v->Add(63);
@@ -55,7 +59,8 @@
     EXPECT(iter.Done());
   }
 
-  { BitVector* a = new BitVector(Z, 128);
+  {
+    BitVector* a = new BitVector(Z, 128);
     BitVector* b = new BitVector(Z, 128);
     BitVector* c = new BitVector(Z, 128);
     b->Add(0);
@@ -86,7 +91,8 @@
     EXPECT_EQ(false, a->Contains(96));
   }
 
-  { BitVector* a = new BitVector(Z, 34);
+  {
+    BitVector* a = new BitVector(Z, 34);
     BitVector* b = new BitVector(Z, 34);
     a->SetAll();
     b->Add(0);
@@ -97,7 +103,8 @@
     EXPECT_EQ(true, a->Equals(*b));
   }
 
-  { BitVector* a = new BitVector(Z, 2);
+  {
+    BitVector* a = new BitVector(Z, 2);
     BitVector* b = new BitVector(Z, 2);
     a->SetAll();
     a->Remove(0);
@@ -105,7 +112,8 @@
     EXPECT_EQ(true, a->Equals(*b));
   }
 
-  { BitVector* a = new BitVector(Z, 128);
+  {
+    BitVector* a = new BitVector(Z, 128);
     BitVector* b = new BitVector(Z, 128);
     b->Add(0);
     b->Add(32);
diff --git a/runtime/vm/bitfield.h b/runtime/vm/bitfield.h
index eba83fee..e17ffcf 100644
--- a/runtime/vm/bitfield.h
+++ b/runtime/vm/bitfield.h
@@ -11,7 +11,7 @@
 
 // BitField is a template for encoding and decoding a value of type T
 // inside a storage of type S.
-template<typename S, typename T, int position, int size>
+template <typename S, typename T, int position, int size>
 class BitField {
  public:
   static const intptr_t kNextBit = position + size;
@@ -22,26 +22,18 @@
   }
 
   // Returns a S mask of the bit field.
-  static S mask() {
-    return (kUwordOne << size) - 1;
-  }
+  static S mask() { return (kUwordOne << size) - 1; }
 
   // Returns a S mask of the bit field which can be applied directly to
   // to the raw unshifted bits.
-  static S mask_in_place() {
-    return ((kUwordOne << size) - 1) << position;
-  }
+  static S mask_in_place() { return ((kUwordOne << size) - 1) << position; }
 
   // Returns the shift count needed to right-shift the bit field to
   // the least-significant bits.
-  static int shift() {
-    return position;
-  }
+  static int shift() { return position; }
 
   // Returns the size of the bit field.
-  static int bitsize() {
-    return size;
-  }
+  static int bitsize() { return size; }
 
   // Returns an S with the bit field value encoded.
   static S encode(T value) {
@@ -60,8 +52,7 @@
   // will be changed.
   static S update(T value, S original) {
     ASSERT(is_valid(value));
-    return (static_cast<S>(value) << position) |
-        (~mask_in_place() & original);
+    return (static_cast<S>(value) << position) | (~mask_in_place() & original);
   }
 };
 
diff --git a/runtime/vm/bitmap.cc b/runtime/vm/bitmap.cc
index ae091ae..f4d35b4 100644
--- a/runtime/vm/bitmap.cc
+++ b/runtime/vm/bitmap.cc
@@ -54,8 +54,7 @@
       data_size_in_bytes_ =
           Utils::RoundUp(byte_offset + 1, kIncrementSizeInBytes);
       ASSERT(data_size_in_bytes_ > 0);
-      data_ = Thread::Current()->zone()->Alloc<uint8_t>(
-          data_size_in_bytes_);
+      data_ = Thread::Current()->zone()->Alloc<uint8_t>(data_size_in_bytes_);
       ASSERT(data_ != NULL);
       memmove(data_, old_data, old_size);
       memset(&data_[old_size], 0, (data_size_in_bytes_ - old_size));
@@ -98,8 +97,10 @@
 
 void BitmapBuilder::SetBit(intptr_t bit_offset, bool value) {
   if (!InRange(bit_offset)) {
-    FATAL1("Fatal error in BitmapBuilder::SetBit :"
-           " invalid bit_offset, %" Pd "\n", bit_offset);
+    FATAL1(
+        "Fatal error in BitmapBuilder::SetBit :"
+        " invalid bit_offset, %" Pd "\n",
+        bit_offset);
   }
   intptr_t byte_offset = bit_offset >> kBitsPerByteLog2;
   ASSERT(byte_offset < data_size_in_bytes_);
diff --git a/runtime/vm/bitmap.h b/runtime/vm/bitmap.h
index 20c1983..657bd24 100644
--- a/runtime/vm/bitmap.h
+++ b/runtime/vm/bitmap.h
@@ -24,8 +24,7 @@
   BitmapBuilder()
       : length_(0),
         data_size_in_bytes_(kInitialSizeInBytes),
-        data_(Thread::Current()->zone()->Alloc<uint8_t>(
-            kInitialSizeInBytes)) {
+        data_(Thread::Current()->zone()->Alloc<uint8_t>(kInitialSizeInBytes)) {
     memset(data_, 0, kInitialSizeInBytes);
   }
 
@@ -55,8 +54,10 @@
 
   bool InRange(intptr_t offset) const {
     if (offset < 0) {
-      FATAL1("Fatal error in BitmapBuilder::InRange :"
-             " invalid bit_offset, %" Pd "\n", offset);
+      FATAL1(
+          "Fatal error in BitmapBuilder::InRange :"
+          " invalid bit_offset, %" Pd "\n",
+          offset);
     }
     return (offset < length_);
   }
diff --git a/runtime/vm/block_scheduler.cc b/runtime/vm/block_scheduler.cc
index d792551..7411fcc 100644
--- a/runtime/vm/block_scheduler.cc
+++ b/runtime/vm/block_scheduler.cc
@@ -40,8 +40,7 @@
   } else {
     GotoInstr* jump = block->last_instruction()->AsGoto();
     if (jump != NULL) {
-      intptr_t count =
-          GetEdgeCount(edge_counters, block->preorder_number());
+      intptr_t count = GetEdgeCount(edge_counters, block->preorder_number());
       if ((count >= 0) && (entry_count != 0)) {
         double weight =
             static_cast<double>(count) / static_cast<double>(entry_count);
@@ -57,12 +56,13 @@
     return;
   }
 
-  const Array& ic_data_array = Array::Handle(flow_graph()->zone(),
-      flow_graph()->parsed_function().function().ic_data_array());
+  const Array& ic_data_array =
+      Array::Handle(flow_graph()->zone(),
+                    flow_graph()->parsed_function().function().ic_data_array());
   if (Compiler::IsBackgroundCompilation() && ic_data_array.IsNull()) {
     // Deferred loading cleared ic_data_array.
-    Compiler::AbortBackgroundCompilation(Thread::kNoDeoptId,
-        "BlockScheduler: ICData array cleared");
+    Compiler::AbortBackgroundCompilation(
+        Thread::kNoDeoptId, "BlockScheduler: ICData array cleared");
   }
   if (ic_data_array.IsNull()) {
     ASSERT(Isolate::Current()->HasAttemptedReload());
@@ -77,8 +77,7 @@
   flow_graph()->graph_entry()->set_entry_count(entry_count);
 
   for (BlockIterator it = flow_graph()->reverse_postorder_iterator();
-       !it.Done();
-       it.Advance()) {
+       !it.Done(); it.Advance()) {
     BlockEntryInstr* block = it.Current();
     Instruction* last = block->last_instruction();
     for (intptr_t i = 0; i < last->SuccessorCount(); ++i) {
@@ -92,7 +91,7 @@
 // A weighted control-flow graph edge.
 struct Edge {
   Edge(BlockEntryInstr* source, BlockEntryInstr* target, double weight)
-      : source(source), target(target), weight(weight) { }
+      : source(source), target(target), weight(weight) {}
 
   static int LowestWeightFirst(const Edge* a, const Edge* b);
 
@@ -104,7 +103,7 @@
 
 // A linked list node in a chain of blocks.
 struct Link : public ZoneAllocated {
-  Link(BlockEntryInstr* block, Link* next) : block(block), next(next) { }
+  Link(BlockEntryInstr* block, Link* next) : block(block), next(next) {}
 
   BlockEntryInstr* block;
   Link* next;
@@ -115,7 +114,7 @@
 // a length to support adding a shorter chain's links to a longer chain.
 struct Chain : public ZoneAllocated {
   explicit Chain(BlockEntryInstr* block)
-      : first(new Link(block, NULL)), last(first), length(1) { }
+      : first(new Link(block, NULL)), last(first), length(1) {}
 
   Link* first;
   Link* last;
@@ -168,8 +167,7 @@
   // shared ones).  Find(n) is simply chains[n].
   GrowableArray<Chain*> chains(block_count);
 
-  for (BlockIterator it = flow_graph()->postorder_iterator();
-       !it.Done();
+  for (BlockIterator it = flow_graph()->postorder_iterator(); !it.Done();
        it.Advance()) {
     BlockEntryInstr* block = it.Current();
     chains.Add(new Chain(block));
diff --git a/runtime/vm/block_scheduler.h b/runtime/vm/block_scheduler.h
index 94982d3..8a5cada 100644
--- a/runtime/vm/block_scheduler.h
+++ b/runtime/vm/block_scheduler.h
@@ -13,7 +13,7 @@
 
 class BlockScheduler : public ValueObject {
  public:
-  explicit BlockScheduler(FlowGraph* flow_graph) : flow_graph_(flow_graph) { }
+  explicit BlockScheduler(FlowGraph* flow_graph) : flow_graph_(flow_graph) {}
 
   FlowGraph* flow_graph() const { return flow_graph_; }
 
diff --git a/runtime/vm/boolfield.h b/runtime/vm/boolfield.h
index 6cd45ba..fe20f5b 100644
--- a/runtime/vm/boolfield.h
+++ b/runtime/vm/boolfield.h
@@ -11,7 +11,7 @@
 
 // BoolField is a template for encoding and decoding a bit inside an
 // unsigned machine word.
-template<int position>
+template <int position>
 class BoolField {
  public:
   // Returns a uword with the bool value encoded.
diff --git a/runtime/vm/bootstrap.cc b/runtime/vm/bootstrap.cc
index ed97340..d242edab 100644
--- a/runtime/vm/bootstrap.cc
+++ b/runtime/vm/bootstrap.cc
@@ -16,18 +16,14 @@
 
 namespace dart {
 
-#define INIT_LIBRARY(index, name, source, patch)                               \
-  { index,                                                                     \
-    "dart:"#name, source,                                                      \
-    "dart:"#name"-patch", patch }                                              \
 
-typedef struct {
-  ObjectStore::BootstrapLibraryId index_;
-  const char* uri_;
-  const char** source_paths_;
-  const char* patch_uri_;
-  const char** patch_paths_;
-} bootstrap_lib_props;
+struct BootstrapLibProps {
+  ObjectStore::BootstrapLibraryId index;
+  const char* uri;
+  const char** source_paths;
+  const char* patch_uri;
+  const char** patch_paths;
+};
 
 
 enum {
@@ -38,81 +34,31 @@
 };
 
 
-static bootstrap_lib_props bootstrap_libraries[] = {
-  INIT_LIBRARY(ObjectStore::kCore,
-               core,
-               Bootstrap::core_source_paths_,
-               Bootstrap::core_patch_paths_),
-  INIT_LIBRARY(ObjectStore::kAsync,
-               async,
-               Bootstrap::async_source_paths_,
-               Bootstrap::async_patch_paths_),
-  INIT_LIBRARY(ObjectStore::kConvert,
-               convert,
-               Bootstrap::convert_source_paths_,
-               Bootstrap::convert_patch_paths_),
-  INIT_LIBRARY(ObjectStore::kCollection,
-               collection,
-               Bootstrap::collection_source_paths_,
-               Bootstrap::collection_patch_paths_),
-  INIT_LIBRARY(ObjectStore::kDeveloper,
-               developer,
-               Bootstrap::developer_source_paths_,
-               Bootstrap::developer_patch_paths_),
-  INIT_LIBRARY(ObjectStore::kInternal,
-               _internal,
-               Bootstrap::_internal_source_paths_,
-               Bootstrap::_internal_patch_paths_),
-  INIT_LIBRARY(ObjectStore::kIsolate,
-               isolate,
-               Bootstrap::isolate_source_paths_,
-               Bootstrap::isolate_patch_paths_),
-  INIT_LIBRARY(ObjectStore::kMath,
-               math,
-               Bootstrap::math_source_paths_,
-               Bootstrap::math_patch_paths_),
-  INIT_LIBRARY(ObjectStore::kMirrors,
-               mirrors,
-               Bootstrap::mirrors_source_paths_,
-               Bootstrap::mirrors_patch_paths_),
-  INIT_LIBRARY(ObjectStore::kProfiler,
-               profiler,
-               Bootstrap::profiler_source_paths_,
-               NULL),
-  INIT_LIBRARY(ObjectStore::kTypedData,
-               typed_data,
-               Bootstrap::typed_data_source_paths_,
-               NULL),
-  INIT_LIBRARY(ObjectStore::kVMService,
-               _vmservice,
-               Bootstrap::_vmservice_source_paths_,
-               Bootstrap::_vmservice_patch_paths_),
-  { ObjectStore::kNone, NULL, NULL, NULL, NULL }
-};
+const char** Bootstrap::profiler_patch_paths_ = NULL;
+const char** Bootstrap::typed_data_patch_paths_ = NULL;
 
 
-static RawString* GetLibrarySource(const Library& lib,
-                                   const String& uri,
-                                   bool patch) {
-  // First check if this is a valid bootstrap library and find it's index
-  // in the 'bootstrap_libraries' table above.
-  intptr_t index;
-  const String& lib_uri = String::Handle(lib.url());
-  for (index = 0;
-       bootstrap_libraries[index].index_ != ObjectStore::kNone;
-       ++index) {
-    if (lib_uri.Equals(bootstrap_libraries[index].uri_)) {
-      break;
-    }
-  }
-  if (bootstrap_libraries[index].index_ == ObjectStore::kNone) {
-    return String::null();  // Library is not a bootstrap library.
-  }
+#define MAKE_PROPERTIES(CamelName, name)                                       \
+  {ObjectStore::k##CamelName, "dart:" #name, Bootstrap::name##_source_paths_,  \
+   "dart:" #name "-patch", Bootstrap::name##_patch_paths_},
+
+static const BootstrapLibProps bootstrap_libraries[] = {
+    FOR_EACH_BOOTSTRAP_LIBRARY(MAKE_PROPERTIES)};
+
+#undef MAKE_PROPERTIES
+
+
+static const intptr_t kBootstrapLibraryCount = ARRAY_SIZE(bootstrap_libraries);
+
+
+static RawString* GetLibrarySourceByIndex(intptr_t index,
+                                          const String& uri,
+                                          bool patch) {
+  ASSERT(index >= 0 && index < kBootstrapLibraryCount);
 
   // Try to read the source using the path specified for the uri.
-  const char** source_paths = patch ?
-      bootstrap_libraries[index].patch_paths_ :
-      bootstrap_libraries[index].source_paths_;
+  const char** source_paths = patch ? bootstrap_libraries[index].patch_paths
+                                    : bootstrap_libraries[index].source_paths;
   if (source_paths == NULL) {
     return String::null();  // No path mapping information exists for library.
   }
@@ -157,6 +103,26 @@
 }
 
 
+static RawString* GetLibrarySource(const Library& lib,
+                                   const String& uri,
+                                   bool patch) {
+  // First check if this is a valid bootstrap library and find its index in
+  // the 'bootstrap_libraries' table above.
+  intptr_t index;
+  const String& lib_uri = String::Handle(lib.url());
+  for (index = 0; index < kBootstrapLibraryCount; ++index) {
+    if (lib_uri.Equals(bootstrap_libraries[index].uri)) {
+      break;
+    }
+  }
+  if (index == kBootstrapLibraryCount) {
+    return String::null();  // The library is not a bootstrap library.
+  }
+
+  return GetLibrarySourceByIndex(index, uri, patch);
+}
+
+
 static RawError* Compile(const Library& library, const Script& script) {
   bool update_lib_status = (script.kind() == RawScript::kScriptTag ||
                             script.kind() == RawScript::kLibraryTag);
@@ -181,8 +147,8 @@
                                   const Library& lib,
                                   const String& uri) {
   Zone* zone = thread->zone();
-  const String& part_source = String::Handle(
-      zone, GetLibrarySource(lib, uri, false));
+  const String& part_source =
+      String::Handle(zone, GetLibrarySource(lib, uri, false));
   const String& lib_uri = String::Handle(zone, lib.url());
   if (part_source.IsNull()) {
     return Api::NewError("Unable to read part file '%s' of library '%s'",
@@ -240,10 +206,15 @@
 }
 
 
-static RawError* LoadPatchFiles(Zone* zone,
+static RawError* LoadPatchFiles(Thread* thread,
                                 const Library& lib,
-                                const String& patch_uri,
-                                const char** patch_files) {
+                                intptr_t index) {
+  const char** patch_files = bootstrap_libraries[index].patch_paths;
+  if (patch_files == NULL) return Error::null();
+
+  Zone* zone = thread->zone();
+  String& patch_uri = String::Handle(
+      zone, Symbols::New(thread, bootstrap_libraries[index].patch_uri));
   String& patch_file_uri = String::Handle(zone);
   String& source = String::Handle(zone);
   Script& script = Script::Handle(zone);
@@ -253,7 +224,7 @@
   strings.SetAt(1, Symbols::Slash());
   for (intptr_t j = 0; patch_files[j] != NULL; j += kPathsEntryLength) {
     patch_file_uri = String::New(patch_files[j + kPathsUriOffset]);
-    source = GetLibrarySource(lib, patch_file_uri, true);
+    source = GetLibrarySourceByIndex(index, patch_file_uri, true);
     if (source.IsNull()) {
       const String& message = String::Handle(
           String::NewFormatted("Unable to find dart patch source for %s",
@@ -273,61 +244,31 @@
 }
 
 
-RawError* Bootstrap::LoadandCompileScripts() {
-  Thread* thread = Thread::Current();
+static RawError* BootstrapFromSource(Thread* thread) {
   Isolate* isolate = thread->isolate();
   Zone* zone = thread->zone();
   String& uri = String::Handle(zone);
-  String& patch_uri = String::Handle(zone);
   String& source = String::Handle(zone);
   Script& script = Script::Handle(zone);
   Library& lib = Library::Handle(zone);
   Error& error = Error::Handle(zone);
-  Dart_LibraryTagHandler saved_tag_handler = isolate->library_tag_handler();
 
   // Set the library tag handler for the isolate to the bootstrap
   // library tag handler so that we can load all the bootstrap libraries.
+  Dart_LibraryTagHandler saved_tag_handler = isolate->library_tag_handler();
   isolate->set_library_tag_handler(BootstrapLibraryTagHandler);
 
-  HANDLESCOPE(thread);
-
-  // Create library objects for all the bootstrap libraries.
-  for (intptr_t i = 0;
-       bootstrap_libraries[i].index_ != ObjectStore::kNone;
-       ++i) {
-#ifdef PRODUCT
-    if (bootstrap_libraries[i].index_ == ObjectStore::kMirrors) {
-      continue;
-    }
-#endif  // !PRODUCT
-    uri = Symbols::New(thread, bootstrap_libraries[i].uri_);
-    lib = Library::LookupLibrary(thread, uri);
-    if (lib.IsNull()) {
-      lib = Library::NewLibraryHelper(uri, false);
-      lib.SetLoadRequested();
-      lib.Register(thread);
-    }
-    isolate->object_store()->set_bootstrap_library(
-        bootstrap_libraries[i].index_, lib);
-  }
-
   // Load, compile and patch bootstrap libraries.
-  for (intptr_t i = 0;
-       bootstrap_libraries[i].index_ != ObjectStore::kNone;
-       ++i) {
-#ifdef PRODUCT
-    if (bootstrap_libraries[i].index_ == ObjectStore::kMirrors) {
-      continue;
-    }
-#endif  // PRODUCT
-    uri = Symbols::New(thread, bootstrap_libraries[i].uri_);
-    lib = Library::LookupLibrary(thread, uri);
+  for (intptr_t i = 0; i < kBootstrapLibraryCount; ++i) {
+    ObjectStore::BootstrapLibraryId id = bootstrap_libraries[i].index;
+    uri = Symbols::New(thread, bootstrap_libraries[i].uri);
+    lib = isolate->object_store()->bootstrap_library(id);
     ASSERT(!lib.IsNull());
-    source = GetLibrarySource(lib, uri, false);
+    ASSERT(lib.raw() == Library::LookupLibrary(thread, uri));
+    source = GetLibrarySourceByIndex(i, uri, false);
     if (source.IsNull()) {
-      const String& message = String::Handle(
-          String::NewFormatted("Unable to find dart source for %s",
-                               uri.ToCString()));
+      const String& message = String::Handle(String::NewFormatted(
+          "Unable to find dart source for %s", uri.ToCString()));
       error ^= ApiError::New(message);
       break;
     }
@@ -337,26 +278,20 @@
       break;
     }
     // If a patch exists, load and patch the script.
-    if (bootstrap_libraries[i].patch_paths_ != NULL) {
-      patch_uri = Symbols::New(thread, bootstrap_libraries[i].patch_uri_);
-      error = LoadPatchFiles(zone,
-                             lib,
-                             patch_uri,
-                             bootstrap_libraries[i].patch_paths_);
-      if (!error.IsNull()) {
-        break;
-      }
+    error = LoadPatchFiles(thread, lib, i);
+    if (!error.IsNull()) {
+      break;
     }
   }
+
   if (error.IsNull()) {
-    SetupNativeResolver();
+    Bootstrap::SetupNativeResolver();
     ClassFinalizer::ProcessPendingClasses();
 
     // Eagerly compile the _Closure class as it is the class of all closure
     // instances. This allows us to just finalize function types
     // without going through the hoops of trying to compile their scope class.
-    Class& cls =
-        Class::Handle(zone, isolate->object_store()->closure_class());
+    Class& cls = Class::Handle(zone, isolate->object_store()->closure_class());
     Compiler::CompileClass(cls);
     // Eagerly compile Bool class, bool constants are used from within compiler.
     cls = isolate->object_store()->bool_class();
@@ -369,4 +304,31 @@
   return error.raw();
 }
 
+
+RawError* Bootstrap::DoBootstrapping() {
+  Thread* thread = Thread::Current();
+  Isolate* isolate = thread->isolate();
+  Zone* zone = thread->zone();
+  String& uri = String::Handle(zone);
+  Library& lib = Library::Handle(zone);
+
+  HANDLESCOPE(thread);
+
+  // Ensure there are library objects for all the bootstrap libraries.
+  for (intptr_t i = 0; i < kBootstrapLibraryCount; ++i) {
+    ObjectStore::BootstrapLibraryId id = bootstrap_libraries[i].index;
+    uri = Symbols::New(thread, bootstrap_libraries[i].uri);
+    lib = isolate->object_store()->bootstrap_library(id);
+    ASSERT(lib.raw() == Library::LookupLibrary(thread, uri));
+    if (lib.IsNull()) {
+      lib = Library::NewLibraryHelper(uri, false);
+      lib.SetLoadRequested();
+      lib.Register(thread);
+      isolate->object_store()->set_bootstrap_library(id, lib);
+    }
+  }
+
+  return BootstrapFromSource(thread);
+}
+
 }  // namespace dart
diff --git a/runtime/vm/bootstrap.h b/runtime/vm/bootstrap.h
index 7c5ab0e..0c2d912 100644
--- a/runtime/vm/bootstrap.h
+++ b/runtime/vm/bootstrap.h
@@ -15,7 +15,7 @@
 
 class Bootstrap : public AllStatic {
  public:
-  static RawError* LoadandCompileScripts();
+  static RawError* DoBootstrapping();
   static void SetupNativeResolver();
   static bool IsBootstapResolver(Dart_NativeEntryResolver resolver);
 
@@ -45,9 +45,11 @@
   static const char* isolate_patch_paths_[];
   static const char* math_patch_paths_[];
   static const char* mirrors_patch_paths_[];
-  static const char* profiler_patch_paths_[];
-  static const char* typed_data_patch_paths_[];
   static const char* _vmservice_patch_paths_[];
+
+  // NULL patch paths for libraries that do not have patch files.
+  static const char** profiler_patch_paths_;
+  static const char** typed_data_patch_paths_;
 };
 
 }  // namespace dart
diff --git a/runtime/vm/bootstrap_natives.cc b/runtime/vm/bootstrap_natives.cc
index 7e1ea34..ef4b92f 100644
--- a/runtime/vm/bootstrap_natives.cc
+++ b/runtime/vm/bootstrap_natives.cc
@@ -16,7 +16,7 @@
 
 // Helper macros for declaring and defining native entries.
 #define REGISTER_NATIVE_ENTRY(name, count)                                     \
-  { ""#name, BootstrapNatives::DN_##name, count },
+  {"" #name, BootstrapNatives::DN_##name, count},
 
 
 // List all native functions implemented in the vm or core bootstrap dart
@@ -26,10 +26,9 @@
   const char* name_;
   Dart_NativeFunction function_;
   int argument_count_;
-} BootStrapEntries[] = {
-  BOOTSTRAP_NATIVE_LIST(REGISTER_NATIVE_ENTRY)
+} BootStrapEntries[] = {BOOTSTRAP_NATIVE_LIST(REGISTER_NATIVE_ENTRY)
 #ifndef PRODUCT
-  MIRRORS_BOOTSTRAP_NATIVE_LIST(REGISTER_NATIVE_ENTRY)
+                            MIRRORS_BOOTSTRAP_NATIVE_LIST(REGISTER_NATIVE_ENTRY)
 #endif  // !PRODUCT
 };
 
@@ -76,8 +75,7 @@
       reinterpret_cast<Dart_NativeEntryResolver>(BootstrapNatives::Lookup);
 
   Dart_NativeEntrySymbol symbol_resolver =
-      reinterpret_cast<Dart_NativeEntrySymbol>(
-          BootstrapNatives::Symbol);
+      reinterpret_cast<Dart_NativeEntrySymbol>(BootstrapNatives::Symbol);
 
   library = Library::AsyncLibrary();
   ASSERT(!library.IsNull());
@@ -119,11 +117,12 @@
   library.set_native_entry_resolver(resolver);
   library.set_native_entry_symbol_resolver(symbol_resolver);
 
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
   library = Library::MirrorsLibrary();
   ASSERT(!library.IsNull());
   library.set_native_entry_resolver(resolver);
-  library.set_native_entry_symbol_resolver(symbol_resolver));
+  library.set_native_entry_symbol_resolver(symbol_resolver);
+#endif  // !defined(PRODUCT)
 
   library = Library::ProfilerLibrary();
   ASSERT(!library.IsNull());
diff --git a/runtime/vm/bootstrap_natives.h b/runtime/vm/bootstrap_natives.h
index cad4e67..559f44a 100644
--- a/runtime/vm/bootstrap_natives.h
+++ b/runtime/vm/bootstrap_natives.h
@@ -356,7 +356,7 @@
   V(VMService_CancelStream, 1)                                                 \
   V(VMService_RequestAssets, 0)                                                \
   V(VMService_DecodeAssets, 1)                                                 \
-  V(VMService_spawnUriNotify, 2)                                               \
+  V(VMService_spawnUriNotify, 2)
 
 // List of bootstrap native entry points used in the dart:mirror library.
 #define MIRRORS_BOOTSTRAP_NATIVE_LIST(V)                                       \
@@ -408,7 +408,7 @@
   V(ParameterMirror_type, 3)                                                   \
   V(TypedefMirror_referent, 1)                                                 \
   V(TypedefMirror_declaration, 1)                                              \
-  V(VariableMirror_type, 2)                                                    \
+  V(VariableMirror_type, 2)
 
 class BootstrapNatives : public AllStatic {
  public:
diff --git a/runtime/vm/bootstrap_nocore.cc b/runtime/vm/bootstrap_nocore.cc
index d2aa1e3..64db0eb 100644
--- a/runtime/vm/bootstrap_nocore.cc
+++ b/runtime/vm/bootstrap_nocore.cc
@@ -11,9 +11,10 @@
 namespace dart {
 
 
-RawError* Bootstrap::LoadandCompileScripts() {
+RawError* Bootstrap::DoBootstrapping() {
   UNREACHABLE();
   return Error::null();
 }
 
+
 }  // namespace dart
diff --git a/runtime/vm/branch_optimizer.cc b/runtime/vm/branch_optimizer.cc
index 567a2bf..62fdb47 100644
--- a/runtime/vm/branch_optimizer.cc
+++ b/runtime/vm/branch_optimizer.cc
@@ -18,8 +18,7 @@
   }
 
   BlockEntryInstr* block = phi->block();
-  for (Value* env_use = phi->env_use_list();
-       env_use != NULL;
+  for (Value* env_use = phi->env_use_list(); env_use != NULL;
        env_use = env_use->next_use()) {
     if ((env_use->instruction() != block) &&
         (env_use->instruction() != use->instruction())) {
@@ -55,12 +54,9 @@
   Value* right = comparison->right();
   ConstantInstr* constant =
       (right == NULL) ? NULL : right->definition()->AsConstant();
-  return (phi != NULL) &&
-      (constant != NULL) &&
-      (phi->GetBlock() == block) &&
-      PhiHasSingleUse(phi, left) &&
-      (block->next() == branch) &&
-      (block->phis()->length() == 1);
+  return (phi != NULL) && (constant != NULL) && (phi->GetBlock() == block) &&
+         PhiHasSingleUse(phi, left) && (block->next() == branch) &&
+         (block->phis()->length() == 1);
 }
 
 
@@ -70,7 +66,7 @@
   // so the former true and false targets become joins of the control flows
   // from all the duplicated branches.
   JoinEntryInstr* join =
-      new(zone) JoinEntryInstr(target->block_id(), target->try_index());
+      new (zone) JoinEntryInstr(target->block_id(), target->try_index());
   join->InheritDeoptTarget(zone, target);
   join->LinkTo(target->next());
   join->set_last_instruction(target->last_instruction());
@@ -86,7 +82,7 @@
   ComparisonInstr* comparison = branch->comparison();
   ComparisonInstr* new_comparison =
       comparison->CopyWithNewOperands(new_left, new_right);
-  BranchInstr* new_branch = new(zone) BranchInstr(new_comparison);
+  BranchInstr* new_branch = new (zone) BranchInstr(new_comparison);
   new_branch->set_is_checked(branch->is_checked());
   return new_branch;
 }
@@ -134,10 +130,8 @@
       // worklist.
       BranchInstr* branch = block->last_instruction()->AsBranch();
       ASSERT(branch != NULL);
-      JoinEntryInstr* join_true =
-          ToJoinEntry(zone, branch->true_successor());
-      JoinEntryInstr* join_false =
-          ToJoinEntry(zone, branch->false_successor());
+      JoinEntryInstr* join_true = ToJoinEntry(zone, branch->true_successor());
+      JoinEntryInstr* join_false = ToJoinEntry(zone, branch->false_successor());
 
       ComparisonInstr* comparison = branch->comparison();
       PhiInstr* phi = comparison->left()->definition()->AsPhi();
@@ -152,7 +146,7 @@
         // Replace the goto in each predecessor with a rewritten branch,
         // rewritten to use the corresponding phi input instead of the phi.
         Value* new_left = phi->InputAt(i)->Copy(zone);
-        Value* new_right = new(zone) Value(constant);
+        Value* new_right = new (zone) Value(constant);
         BranchInstr* new_branch =
             CloneBranch(zone, branch, new_left, new_right);
         if (branch->env() == NULL) {
@@ -166,8 +160,7 @@
           new_branch->comparison()->SetDeoptId(*comparison);
           // The phi can be used in the branch's environment.  Rename such
           // uses.
-          for (Environment::DeepIterator it(new_branch->env());
-               !it.Done();
+          for (Environment::DeepIterator it(new_branch->env()); !it.Done();
                it.Advance()) {
             Value* use = it.CurrentValue();
             if (use->definition() == phi) {
@@ -191,22 +184,20 @@
 
         // Connect the branch to the true and false joins, via empty target
         // blocks.
-        TargetEntryInstr* true_target =
-            new(zone) TargetEntryInstr(flow_graph->max_block_id() + 1,
-                                          block->try_index());
+        TargetEntryInstr* true_target = new (zone) TargetEntryInstr(
+            flow_graph->max_block_id() + 1, block->try_index());
         true_target->InheritDeoptTarget(zone, join_true);
-        TargetEntryInstr* false_target =
-            new(zone) TargetEntryInstr(flow_graph->max_block_id() + 2,
-                                          block->try_index());
+        TargetEntryInstr* false_target = new (zone) TargetEntryInstr(
+            flow_graph->max_block_id() + 2, block->try_index());
         false_target->InheritDeoptTarget(zone, join_false);
         flow_graph->set_max_block_id(flow_graph->max_block_id() + 2);
         *new_branch->true_successor_address() = true_target;
         *new_branch->false_successor_address() = false_target;
-        GotoInstr* goto_true = new(zone) GotoInstr(join_true);
+        GotoInstr* goto_true = new (zone) GotoInstr(join_true);
         goto_true->InheritDeoptTarget(zone, join_true);
         true_target->LinkTo(goto_true);
         true_target->set_last_instruction(goto_true);
-        GotoInstr* goto_false = new(zone) GotoInstr(join_false);
+        GotoInstr* goto_false = new (zone) GotoInstr(join_false);
         goto_false->InheritDeoptTarget(zone, join_false);
         false_target->LinkTo(goto_false);
         false_target->set_last_instruction(goto_false);
@@ -231,8 +222,9 @@
 
 static bool IsTrivialBlock(BlockEntryInstr* block, Definition* defn) {
   return (block->IsTargetEntry() && (block->PredecessorCount() == 1)) &&
-    ((block->next() == block->last_instruction()) ||
-     ((block->next() == defn) && (defn->next() == block->last_instruction())));
+         ((block->next() == block->last_instruction()) ||
+          ((block->next() == defn) &&
+           (defn->next() == block->last_instruction())));
 }
 
 
@@ -279,10 +271,8 @@
     // Ba:
     //   v3 = IfThenElse(COMP ? v1 : v2)
     //
-    if ((join != NULL) &&
-        (join->phis() != NULL) &&
-        (join->phis()->length() == 1) &&
-        (block->PredecessorCount() == 2)) {
+    if ((join != NULL) && (join->phis() != NULL) &&
+        (join->phis()->length() == 1) && (block->PredecessorCount() == 2)) {
       BlockEntryInstr* pred1 = block->PredecessorAt(0);
       BlockEntryInstr* pred2 = block->PredecessorAt(1);
 
@@ -304,17 +294,11 @@
           Value* if_true = (pred1 == branch->true_successor()) ? v1 : v2;
           Value* if_false = (pred2 == branch->true_successor()) ? v1 : v2;
 
-          ComparisonInstr* new_comparison =
-              comparison->CopyWithNewOperands(
-                  comparison->left()->Copy(zone),
-                  comparison->right()->Copy(zone));
-          IfThenElseInstr* if_then_else = new(zone) IfThenElseInstr(
-              new_comparison,
-              if_true->Copy(zone),
-              if_false->Copy(zone));
-          flow_graph->InsertBefore(branch,
-                                   if_then_else,
-                                   NULL,
+          ComparisonInstr* new_comparison = comparison->CopyWithNewOperands(
+              comparison->left()->Copy(zone), comparison->right()->Copy(zone));
+          IfThenElseInstr* if_then_else = new (zone) IfThenElseInstr(
+              new_comparison, if_true->Copy(zone), if_false->Copy(zone));
+          flow_graph->InsertBefore(branch, if_then_else, NULL,
                                    FlowGraph::kValue);
 
           phi->ReplaceUsesWith(if_then_else);
diff --git a/runtime/vm/branch_optimizer.h b/runtime/vm/branch_optimizer.h
index caef6a7..5758a7c 100644
--- a/runtime/vm/branch_optimizer.h
+++ b/runtime/vm/branch_optimizer.h
@@ -26,8 +26,7 @@
   // Replace a target entry instruction with a join entry instruction.  Does
   // not update the original target's predecessors to point to the new block
   // and does not replace the target in already computed block order lists.
-  static JoinEntryInstr* ToJoinEntry(Zone* zone,
-                                     TargetEntryInstr* target);
+  static JoinEntryInstr* ToJoinEntry(Zone* zone, TargetEntryInstr* target);
 
  private:
   // Match an instance of the pattern to rewrite.  See the implementation
diff --git a/runtime/vm/cha.cc b/runtime/vm/cha.cc
index 6a0a16d..83a2bc5 100644
--- a/runtime/vm/cha.cc
+++ b/runtime/vm/cha.cc
@@ -18,10 +18,8 @@
       return;
     }
   }
-  GuardedClassInfo info = {
-    &Class::ZoneHandle(thread_->zone(), cls.raw()),
-    subclass_count
-  };
+  GuardedClassInfo info = {&Class::ZoneHandle(thread_->zone(), cls.raw()),
+                           subclass_count};
   guarded_classes_.Add(info);
   return;
 }
@@ -62,7 +60,7 @@
 
 
 bool CHA::ConcreteSubclasses(const Class& cls,
-                             GrowableArray<intptr_t> *class_ids) {
+                             GrowableArray<intptr_t>* class_ids) {
   if (cls.InVMHeap()) return false;
   if (cls.IsObjectClass()) return false;
 
@@ -161,7 +159,7 @@
     }
 
     if (direct_subclass.LookupDynamicFunction(function_name) !=
-            Function::null()) {
+        Function::null()) {
       return true;
     }
 
diff --git a/runtime/vm/cha.h b/runtime/vm/cha.h
index 5bd7796..63072d2 100644
--- a/runtime/vm/cha.h
+++ b/runtime/vm/cha.h
@@ -13,7 +13,8 @@
 
 class Class;
 class Function;
-template <typename T> class ZoneGrowableArray;
+template <typename T>
+class ZoneGrowableArray;
 class String;
 
 class CHA : public StackResource {
@@ -38,7 +39,7 @@
   // Collect the concrete subclasses of 'cls' into 'class_ids'. Return true if
   // the result is valid (may be invalid because we don't track the subclasses
   // of classes allocated in the VM isolate or class Object).
-  bool ConcreteSubclasses(const Class& cls, GrowableArray<intptr_t> *class_ids);
+  bool ConcreteSubclasses(const Class& cls, GrowableArray<intptr_t>* class_ids);
 
   // Return true if the class is implemented by some other class.
   static bool IsImplemented(const Class& cls);
diff --git a/runtime/vm/cha_test.cc b/runtime/vm/cha_test.cc
index 107c233..873840c 100644
--- a/runtime/vm/cha_test.cc
+++ b/runtime/vm/cha_test.cc
@@ -34,20 +34,20 @@
   const Library& lib = Library::Handle(Library::LookupLibrary(thread, name));
   EXPECT(!lib.IsNull());
 
-  const Class& class_a = Class::Handle(
-      lib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
+  const Class& class_a =
+      Class::Handle(lib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
   EXPECT(!class_a.IsNull());
 
-  const Class& class_b = Class::Handle(
-      lib.LookupClass(String::Handle(Symbols::New(thread, "B"))));
+  const Class& class_b =
+      Class::Handle(lib.LookupClass(String::Handle(Symbols::New(thread, "B"))));
   EXPECT(!class_b.IsNull());
 
-  const Class& class_c = Class::Handle(
-      lib.LookupClass(String::Handle(Symbols::New(thread, "C"))));
+  const Class& class_c =
+      Class::Handle(lib.LookupClass(String::Handle(Symbols::New(thread, "C"))));
   EXPECT(!class_c.IsNull());
 
-  const Class& class_d = Class::Handle(
-      lib.LookupClass(String::Handle(Symbols::New(thread, "D"))));
+  const Class& class_d =
+      Class::Handle(lib.LookupClass(String::Handle(Symbols::New(thread, "D"))));
   EXPECT(!class_d.IsNull());
 
   const String& function_foo_name = String::Handle(String::New("foo"));
diff --git a/runtime/vm/class_finalizer.cc b/runtime/vm/class_finalizer.cc
index 8d9c266..98d74ff 100644
--- a/runtime/vm/class_finalizer.cc
+++ b/runtime/vm/class_finalizer.cc
@@ -78,7 +78,8 @@
 // Use array instead of set since we expect very few subclassed classes
 // to occur.
 static void CollectFinalizedSuperClasses(
-    const Class& cls_, GrowableArray<intptr_t>* finalized_super_classes) {
+    const Class& cls_,
+    GrowableArray<intptr_t>* finalized_super_classes) {
   Class& cls = Class::Handle(cls_.raw());
   AbstractType& super_type = Type::Handle();
   super_type = cls.super_type();
@@ -93,8 +94,8 @@
 }
 
 
-static void CollectImmediateSuperInterfaces(
-    const Class& cls, GrowableArray<intptr_t>* cids) {
+static void CollectImmediateSuperInterfaces(const Class& cls,
+                                            GrowableArray<intptr_t>* cids) {
   const Array& interfaces = Array::Handle(cls.interfaces());
   Class& ifc = Class::Handle();
   AbstractType& type = AbstractType::Handle();
@@ -172,8 +173,8 @@
 
 // Adds all interfaces of cls into 'collected'. Duplicate entries may occur.
 // No cycles are allowed.
-void ClassFinalizer::CollectInterfaces(
-    const Class& cls, GrowableArray<const Class*>* collected) {
+void ClassFinalizer::CollectInterfaces(const Class& cls,
+                                       GrowableArray<const Class*>* collected) {
   Zone* zone = Thread::Current()->zone();
   const Array& interface_array = Array::Handle(zone, cls.interfaces());
   AbstractType& interface = AbstractType::Handle(zone);
@@ -270,8 +271,8 @@
 
 // Resolve unresolved_class in the library of cls, or return null.
 RawClass* ClassFinalizer::ResolveClass(
-      const Class& cls,
-      const UnresolvedClass& unresolved_class) {
+    const Class& cls,
+    const UnresolvedClass& unresolved_class) {
   const String& class_name = String::Handle(unresolved_class.ident());
   Library& lib = Library::Handle();
   Class& resolved_class = Class::Handle();
@@ -289,7 +290,6 @@
 }
 
 
-
 void ClassFinalizer::ResolveRedirectingFactory(const Class& cls,
                                                const Function& factory) {
   const Function& target = Function::Handle(factory.RedirectionTarget());
@@ -354,19 +354,18 @@
   ASSERT(!type.IsTypeParameter());  // Resolved in parser.
   if (type.IsDynamicType()) {
     // Replace the type with a malformed type and compile a throw when called.
-    type = NewFinalizedMalformedType(
-        Error::Handle(),  // No previous error.
-        Script::Handle(cls.script()),
-        factory.token_pos(),
-        "factory may not redirect to 'dynamic'");
+    type = NewFinalizedMalformedType(Error::Handle(),  // No previous error.
+                                     Script::Handle(cls.script()),
+                                     factory.token_pos(),
+                                     "factory may not redirect to 'dynamic'");
     factory.SetRedirectionType(type);
     ASSERT(factory.RedirectionTarget() == Function::null());
     return;
   }
   const Class& target_class = Class::Handle(type.type_class());
   String& target_class_name = String::Handle(target_class.Name());
-  String& target_name = String::Handle(
-      String::Concat(target_class_name, Symbols::Dot()));
+  String& target_name =
+      String::Handle(String::Concat(target_class_name, Symbols::Dot()));
   const String& identifier = String::Handle(factory.RedirectionIdentifier());
   if (!identifier.IsNull()) {
     target_name = String::Concat(target_name, identifier);
@@ -383,11 +382,9 @@
     // Replace the type with a malformed type and compile a throw when called.
     type = NewFinalizedMalformedType(
         Error::Handle(),  // No previous error.
-        Script::Handle(target_class.script()),
-        factory.token_pos(),
+        Script::Handle(target_class.script()), factory.token_pos(),
         "class '%s' has no constructor or factory named '%s'",
-        target_class_name.ToCString(),
-        user_visible_target_name.ToCString());
+        target_class_name.ToCString(), user_visible_target_name.ToCString());
     factory.SetRedirectionType(type);
     ASSERT(factory.RedirectionTarget() == Function::null());
     return;
@@ -441,8 +438,8 @@
     if (!target_type.IsInstantiated()) {
       const TypeArguments& type_args = TypeArguments::Handle(type.arguments());
       Error& bound_error = Error::Handle();
-      target_type ^= target_type.InstantiateFrom(
-          type_args, &bound_error, NULL, NULL, Heap::kOld);
+      target_type ^= target_type.InstantiateFrom(type_args, &bound_error, NULL,
+                                                 NULL, Heap::kOld);
       if (bound_error.IsNull()) {
         target_type ^= FinalizeType(cls, target_type, kCanonicalize);
       } else {
@@ -484,13 +481,11 @@
     type_class = ResolveClass(cls, unresolved_class);
     if (type_class.IsNull()) {
       // The type class could not be resolved. The type is malformed.
-      FinalizeMalformedType(
-          Error::Handle(),  // No previous error.
-          Script::Handle(cls.script()),
-          type,
-          "cannot resolve class '%s' from '%s'",
-          String::Handle(unresolved_class.Name()).ToCString(),
-          String::Handle(cls.Name()).ToCString());
+      FinalizeMalformedType(Error::Handle(),  // No previous error.
+                            Script::Handle(cls.script()), type,
+                            "cannot resolve class '%s' from '%s'",
+                            String::Handle(unresolved_class.Name()).ToCString(),
+                            String::Handle(cls.Name()).ToCString());
       return;
     }
     // Replace unresolved class with resolved type class.
@@ -499,8 +494,7 @@
   // Promote the type to a function type in case its type class is a typedef.
   // Note that the type may already be a function type if it was parsed as a
   // formal parameter function type.
-  if (!type.IsFunctionType() &&
-      type_class.IsTypedefClass() &&
+  if (!type.IsFunctionType() && type_class.IsTypedefClass() &&
       !type.IsMalformedOrMalbounded()) {
     type.set_signature(Function::Handle(type_class.signature_function()));
   }
@@ -549,9 +543,8 @@
 }
 
 
-void ClassFinalizer::FinalizeTypeParameters(
-    const Class& cls,
-    PendingTypes* pending_types) {
+void ClassFinalizer::FinalizeTypeParameters(const Class& cls,
+                                            PendingTypes* pending_types) {
   if (FLAG_trace_type_finalization) {
     THR_Print("Finalizing type parameters of '%s'\n",
               String::Handle(cls.Name()).ToCString());
@@ -569,8 +562,8 @@
     const intptr_t num_types = type_parameters.Length();
     for (intptr_t i = 0; i < num_types; i++) {
       type_parameter ^= type_parameters.TypeAt(i);
-      type_parameter ^= FinalizeType(
-          cls, type_parameter, kFinalize, pending_types);
+      type_parameter ^=
+          FinalizeType(cls, type_parameter, kFinalize, pending_types);
       type_parameters.SetTypeAt(i, type_parameter);
     }
   }
@@ -593,8 +586,7 @@
   Zone* zone = Thread::Current()->zone();
   if (FLAG_trace_type_finalization) {
     THR_Print("Checking recursive type '%s': %s\n",
-              String::Handle(type.Name()).ToCString(),
-              type.ToCString());
+              String::Handle(type.Name()).ToCString(), type.ToCString());
   }
   const Class& type_cls = Class::Handle(zone, type.type_class());
   const TypeArguments& arguments =
@@ -626,19 +618,17 @@
                 String::Handle(pending_type.Name()).ToCString(),
                 pending_type.ToCString());
     }
-    if ((pending_type.raw() != type.raw()) &&
-        pending_type.IsType() &&
+    if ((pending_type.raw() != type.raw()) && pending_type.IsType() &&
         (pending_type.type_class() == type_cls.raw())) {
       pending_arguments = pending_type.arguments();
-      if (!pending_arguments.IsSubvectorEquivalent(arguments,
-                                                   first_type_param,
+      if (!pending_arguments.IsSubvectorEquivalent(arguments, first_type_param,
                                                    num_type_params) &&
           !pending_arguments.IsSubvectorInstantiated(first_type_param,
                                                      num_type_params)) {
         // Reject the non-contractive recursive type.
         const String& type_name = String::Handle(zone, type.Name());
-        ReportError(cls, type.token_pos(),
-                    "illegal recursive type '%s'", type_name.ToCString());
+        ReportError(cls, type.token_pos(), "illegal recursive type '%s'",
+                    type_name.ToCString());
       }
     }
   }
@@ -710,8 +700,7 @@
       // Copy the parsed type arguments at the correct offset in the full type
       // argument vector.
       const intptr_t offset = num_type_arguments - num_type_parameters;
-      AbstractType& type_arg =
-          AbstractType::Handle(zone, Type::DynamicType());
+      AbstractType& type_arg = AbstractType::Handle(zone, Type::DynamicType());
       // Leave the temporary type arguments at indices [0..offset[ as null.
       for (intptr_t i = 0; i < num_type_parameters; i++) {
         // If no type parameters were provided, a raw type is desired, so we
@@ -745,8 +734,8 @@
       if (offset > 0) {
         TrailPtr instantiation_trail = new Trail(zone, 4);
         Error& bound_error = Error::Handle(zone);
-        FinalizeTypeArguments(type_class, full_arguments, offset,
-                              &bound_error, pending_types, instantiation_trail);
+        FinalizeTypeArguments(type_class, full_arguments, offset, &bound_error,
+                              pending_types, instantiation_trail);
       }
       if (full_arguments.IsRaw(0, num_type_arguments)) {
         // The parameterized_type is raw. Set its argument vector to null, which
@@ -809,13 +798,12 @@
 // same time. Canonicalization happens when pending types are processed.
 // The trail is required to correctly instantiate a recursive type argument
 // of the super type.
-void ClassFinalizer::FinalizeTypeArguments(
-    const Class& cls,
-    const TypeArguments& arguments,
-    intptr_t num_uninitialized_arguments,
-    Error* bound_error,
-    PendingTypes* pending_types,
-    TrailPtr instantiation_trail) {
+void ClassFinalizer::FinalizeTypeArguments(const Class& cls,
+                                           const TypeArguments& arguments,
+                                           intptr_t num_uninitialized_arguments,
+                                           Error* bound_error,
+                                           PendingTypes* pending_types,
+                                           TrailPtr instantiation_trail) {
   ASSERT(arguments.Length() >= cls.NumTypeArguments());
   if (!cls.is_type_finalized()) {
     FinalizeTypeParameters(cls, pending_types);
@@ -829,12 +817,11 @@
     ASSERT(num_super_type_args ==
            (cls.NumTypeArguments() - cls.NumOwnTypeArguments()));
     if (!super_type.IsFinalized() && !super_type.IsBeingFinalized()) {
-      super_type ^= FinalizeType(
-          cls, super_type, kFinalize, pending_types);
+      super_type ^= FinalizeType(cls, super_type, kFinalize, pending_types);
       cls.set_super_type(super_type);
     }
-    TypeArguments& super_type_args = TypeArguments::Handle(
-        super_type.arguments());
+    TypeArguments& super_type_args =
+        TypeArguments::Handle(super_type.arguments());
     // Offset of super type's type parameters in cls' type argument vector.
     const intptr_t super_offset = num_super_type_args - num_super_type_params;
     AbstractType& super_type_arg = AbstractType::Handle(Type::DynamicType());
@@ -854,8 +841,8 @@
             super_type_args.SetTypeAt(i, super_type_arg);
           } else {
             if (!super_type_arg.IsFinalized()) {
-              super_type_arg ^= FinalizeType(
-                  cls, super_type_arg, kFinalize, pending_types);
+              super_type_arg ^=
+                  FinalizeType(cls, super_type_arg, kFinalize, pending_types);
               super_type_args.SetTypeAt(i, super_type_arg);
               // Note that super_type_arg may still not be finalized here, in
               // which case it is a TypeRef to a legal recursive type.
@@ -865,13 +852,13 @@
         // Instantiate super_type_arg with the current argument vector.
         if (!super_type_arg.IsInstantiated()) {
           if (FLAG_trace_type_finalization && super_type_arg.IsTypeRef()) {
-            AbstractType& ref_type = AbstractType::Handle(
-                TypeRef::Cast(super_type_arg).type());
-            THR_Print("Instantiating TypeRef '%s': '%s'\n"
-                      "  instantiator: '%s'\n",
-                      String::Handle(super_type_arg.Name()).ToCString(),
-                      ref_type.ToCString(),
-                      arguments.ToCString());
+            AbstractType& ref_type =
+                AbstractType::Handle(TypeRef::Cast(super_type_arg).type());
+            THR_Print(
+                "Instantiating TypeRef '%s': '%s'\n"
+                "  instantiator: '%s'\n",
+                String::Handle(super_type_arg.Name()).ToCString(),
+                ref_type.ToCString(), arguments.ToCString());
           }
           Error& error = Error::Handle();
           super_type_arg = super_type_arg.InstantiateFrom(
@@ -897,20 +884,17 @@
             pending_types->Add(super_type_arg);
             const Class& cls = Class::Handle(super_type_arg.type_class());
             FinalizeTypeArguments(
-                cls,
-                TypeArguments::Handle(super_type_arg.arguments()),
-                cls.NumTypeArguments() - cls.NumTypeParameters(),
-                bound_error,
-                pending_types,
-                instantiation_trail);
+                cls, TypeArguments::Handle(super_type_arg.arguments()),
+                cls.NumTypeArguments() - cls.NumTypeParameters(), bound_error,
+                pending_types, instantiation_trail);
             Type::Cast(super_type_arg).SetIsFinalized();
           }
         }
       }
       arguments.SetTypeAt(i, super_type_arg);
     }
-    FinalizeTypeArguments(super_class, arguments, super_offset,
-                          bound_error, pending_types, instantiation_trail);
+    FinalizeTypeArguments(super_class, arguments, super_offset, bound_error,
+                          pending_types, instantiation_trail);
   }
 }
 
@@ -1000,8 +984,8 @@
         if (type_arg.IsTypeParameter()) {
           const Class& type_arg_cls = Class::Handle(
               TypeParameter::Cast(type_arg).parameterized_class());
-          AbstractType& bound = AbstractType::Handle(
-              TypeParameter::Cast(type_arg).bound());
+          AbstractType& bound =
+              AbstractType::Handle(TypeParameter::Cast(type_arg).bound());
           if (!bound.IsFinalized() && !bound.IsBeingFinalized()) {
             bound = FinalizeType(type_arg_cls, bound, kCanonicalize);
             TypeParameter::Cast(type_arg).set_bound(bound);
@@ -1009,8 +993,8 @@
         }
         // This may be called only if type needs to be finalized, therefore
         // seems OK to allocate finalized types in old space.
-        if (!type_param.CheckBound(type_arg, instantiated_bound,
-                                   &error, NULL, Heap::kOld) &&
+        if (!type_param.CheckBound(type_arg, instantiated_bound, &error, NULL,
+                                   Heap::kOld) &&
             error.IsNull()) {
           // The bound cannot be checked at compile time; postpone to run time.
           type_arg = BoundedType::New(type_arg, instantiated_bound, type_param);
@@ -1056,11 +1040,9 @@
     if (!bound_error.IsNull()) {
       // No compile-time error during finalization.
       const String& type_name = String::Handle(zone, type.UserVisibleName());
-      FinalizeMalboundedType(bound_error,
-                             Script::Handle(zone, cls.script()),
-                             type,
-                             "type '%s' has an out of bound type argument",
-                             type_name.ToCString());
+      FinalizeMalboundedType(
+          bound_error, Script::Handle(zone, cls.script()), type,
+          "type '%s' has an out of bound type argument", type_name.ToCString());
       if (FLAG_trace_type_finalization) {
         THR_Print("Marking type '%s' as malbounded: %s\n",
                   String::Handle(zone, type.Name()).ToCString(),
@@ -1070,27 +1052,23 @@
   }
   if (FLAG_trace_type_finalization) {
     THR_Print("Done checking bounds of type '%s': %s\n",
-              String::Handle(zone, type.Name()).ToCString(),
-              type.ToCString());
+              String::Handle(zone, type.Name()).ToCString(), type.ToCString());
   }
 }
 
 
-RawAbstractType* ClassFinalizer::FinalizeType(
-    const Class& cls,
-    const AbstractType& type,
-    FinalizationKind finalization,
-    PendingTypes* pending_types) {
+RawAbstractType* ClassFinalizer::FinalizeType(const Class& cls,
+                                              const AbstractType& type,
+                                              FinalizationKind finalization,
+                                              PendingTypes* pending_types) {
   // Only the 'root' type of the graph can be canonicalized, after all depending
   // types have been bound checked.
   ASSERT((pending_types == NULL) || (finalization < kCanonicalize));
   if (type.IsFinalized()) {
     // Ensure type is canonical if canonicalization is requested, unless type is
     // malformed.
-    if ((finalization >= kCanonicalize) &&
-        !type.IsMalformed() &&
-        !type.IsCanonical() &&
-        type.IsType()) {
+    if ((finalization >= kCanonicalize) && !type.IsMalformed() &&
+        !type.IsCanonical() && type.IsType()) {
       CheckTypeBounds(cls, type);
       return type.Canonicalize();
     }
@@ -1199,8 +1177,7 @@
   if (FLAG_trace_type_finalization) {
     THR_Print("Done finalizing type '%s' with %" Pd " type args: %s\n",
               String::Handle(zone, type.Name()).ToCString(),
-              num_expanded_type_arguments,
-              type.ToCString());
+              num_expanded_type_arguments, type.ToCString());
   }
 
   if (finalization >= kCanonicalize) {
@@ -1297,8 +1274,7 @@
   super_class = cls.SuperClass();
   while (!super_class.IsNull()) {
     function = super_class.LookupFunction(name);
-    if (!function.IsNull() &&
-        !function.is_static() &&
+    if (!function.IsNull() && !function.is_static() &&
         !function.IsMethodExtractor()) {
       return super_class.raw();
     }
@@ -1397,9 +1373,7 @@
         ReportError(cls, field.token_pos(),
                     "static field '%s' of class '%s' conflicts with "
                     "instance member '%s' of super class '%s'",
-                    name.ToCString(),
-                    class_name.ToCString(),
-                    name.ToCString(),
+                    name.ToCString(), class_name.ToCString(), name.ToCString(),
                     super_cls_name.ToCString());
       }
       // An implicit setter is not generated for a static field, therefore, we
@@ -1413,9 +1387,7 @@
         ReportError(cls, field.token_pos(),
                     "static field '%s' of class '%s' conflicts with "
                     "instance setter '%s=' of super class '%s'",
-                    name.ToCString(),
-                    class_name.ToCString(),
-                    name.ToCString(),
+                    name.ToCString(), class_name.ToCString(), name.ToCString(),
                     super_cls_name.ToCString());
       }
 
@@ -1429,14 +1401,11 @@
         ReportError(cls, field.token_pos(),
                     "field '%s' of class '%s' conflicts with method '%s' "
                     "of super class '%s'",
-                    name.ToCString(),
-                    class_name.ToCString(),
-                    name.ToCString(),
+                    name.ToCString(), class_name.ToCString(), name.ToCString(),
                     super_cls_name.ToCString());
       }
     }
-    if (field.is_static() &&
-        (field.StaticValue() != Object::null()) &&
+    if (field.is_static() && (field.StaticValue() != Object::null()) &&
         (field.StaticValue() != Object::sentinel().raw())) {
       // The parser does not preset the value if the type is a type parameter or
       // is parameterized unless the value is null.
@@ -1446,25 +1415,22 @@
       } else {
         ASSERT(type.IsInstantiated());
       }
-      const Instance& const_value =
-          Instance::Handle(zone, field.StaticValue());
+      const Instance& const_value = Instance::Handle(zone, field.StaticValue());
       if (!error.IsNull() ||
           (!type.IsDynamicType() &&
-           !const_value.IsInstanceOf(type,
-                                     Object::null_type_arguments(),
+           !const_value.IsInstanceOf(type, Object::null_type_arguments(),
                                      &error))) {
         if (Isolate::Current()->error_on_bad_type()) {
-          const AbstractType& const_value_type = AbstractType::Handle(
-              zone, const_value.GetType());
-          const String& const_value_type_name = String::Handle(
-              zone, const_value_type.UserVisibleName());
-          const String& type_name = String::Handle(
-              zone, type.UserVisibleName());
+          const AbstractType& const_value_type =
+              AbstractType::Handle(zone, const_value.GetType());
+          const String& const_value_type_name =
+              String::Handle(zone, const_value_type.UserVisibleName());
+          const String& type_name =
+              String::Handle(zone, type.UserVisibleName());
           ReportErrors(error, cls, field.token_pos(),
                        "error initializing static %s field '%s': "
                        "type '%s' is not a subtype of type '%s'",
-                       field.is_const() ? "const" : "final",
-                       name.ToCString(),
+                       field.is_const() ? "const" : "final", name.ToCString(),
                        const_value_type_name.ToCString(),
                        type_name.ToCString());
         } else {
@@ -1477,16 +1443,13 @@
           // we create an implicit static final getter and reset the field value
           // to the sentinel value.
           const Function& getter = Function::Handle(
-              zone,
-              Function::New(getter_name,
-                            RawFunction::kImplicitStaticFinalGetter,
-                            /* is_static = */ true,
-                            /* is_const = */ field.is_const(),
-                            /* is_abstract = */ false,
-                            /* is_external = */ false,
-                            /* is_native = */ false,
-                            cls,
-                            field.token_pos()));
+              zone, Function::New(
+                        getter_name, RawFunction::kImplicitStaticFinalGetter,
+                        /* is_static = */ true,
+                        /* is_const = */ field.is_const(),
+                        /* is_abstract = */ false,
+                        /* is_external = */ false,
+                        /* is_native = */ false, cls, field.token_pos()));
           getter.set_result_type(type);
           getter.set_is_debuggable(false);
           cls.AddFunction(getter);
@@ -1517,8 +1480,8 @@
     FinalizeSignature(cls, function);
     name = function.name();
     // Report signature conflicts only.
-    if (Isolate::Current()->error_on_bad_override() &&
-        !function.is_static() && !function.IsGenerativeConstructor()) {
+    if (Isolate::Current()->error_on_bad_override() && !function.is_static() &&
+        !function.IsGenerativeConstructor()) {
       // A constructor cannot override anything.
       for (intptr_t i = 0; i < interfaces.length(); i++) {
         const Class* super_class = interfaces.At(i);
@@ -1535,8 +1498,7 @@
           ReportErrors(error, cls, function.token_pos(),
                        "class '%s' overrides method '%s' of super "
                        "class '%s' with incompatible parameters",
-                       class_name.ToCString(),
-                       name.ToCString(),
+                       class_name.ToCString(), name.ToCString(),
                        super_cls_name.ToCString());
         }
       }
@@ -1551,10 +1513,8 @@
           ReportError(cls, function.token_pos(),
                       "static setter '%s=' of class '%s' conflicts with "
                       "instance setter '%s=' of super class '%s'",
-                      name.ToCString(),
-                      class_name.ToCString(),
-                      name.ToCString(),
-                      super_cls_name.ToCString());
+                      name.ToCString(), class_name.ToCString(),
+                      name.ToCString(), super_cls_name.ToCString());
         }
       }
       continue;
@@ -1570,15 +1530,15 @@
       if (!super_class.IsNull()) {
         const String& class_name = String::Handle(zone, cls.Name());
         const String& super_cls_name = String::Handle(zone, super_class.Name());
-        ReportError(cls, function.token_pos(),
-                    "static %s '%s' of class '%s' conflicts with "
-                    "instance member '%s' of super class '%s'",
-                    (function.IsGetterFunction() ||
-                     function.IsImplicitGetterFunction()) ? "getter" : "method",
-                    name.ToCString(),
-                    class_name.ToCString(),
-                    name.ToCString(),
-                    super_cls_name.ToCString());
+        ReportError(
+            cls, function.token_pos(),
+            "static %s '%s' of class '%s' conflicts with "
+            "instance member '%s' of super class '%s'",
+            (function.IsGetterFunction() || function.IsImplicitGetterFunction())
+                ? "getter"
+                : "method",
+            name.ToCString(), class_name.ToCString(), name.ToCString(),
+            super_cls_name.ToCString());
       }
       if (function.IsRedirectingFactory()) {
         // The function may be a still unresolved redirecting factory. Do not
@@ -1601,9 +1561,7 @@
         ReportError(cls, function.token_pos(),
                     "getter '%s' of class '%s' conflicts with "
                     "method '%s' of super class '%s'",
-                    name.ToCString(),
-                    class_name.ToCString(),
-                    name.ToCString(),
+                    name.ToCString(), class_name.ToCString(), name.ToCString(),
                     super_cls_name.ToCString());
       }
     } else if (!function.IsSetterFunction() &&
@@ -1617,9 +1575,7 @@
         ReportError(cls, function.token_pos(),
                     "method '%s' of class '%s' conflicts with "
                     "getter '%s' of super class '%s'",
-                    name.ToCString(),
-                    class_name.ToCString(),
-                    name.ToCString(),
+                    name.ToCString(), class_name.ToCString(), name.ToCString(),
                     super_cls_name.ToCString());
       }
     }
@@ -1649,8 +1605,8 @@
   ASSERT(mixin_app_class.type_parameters() == TypeArguments::null());
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
-  const AbstractType& super_type = AbstractType::Handle(zone,
-      mixin_app_class.super_type());
+  const AbstractType& super_type =
+      AbstractType::Handle(zone, mixin_app_class.super_type());
   ASSERT(super_type.IsResolved());
   const Class& super_class = Class::Handle(zone, super_type.type_class());
   const intptr_t num_super_type_params = super_class.NumTypeParameters();
@@ -1686,7 +1642,8 @@
       }
     }
 
-    const TypeArguments& cloned_type_params = TypeArguments::Handle(zone,
+    const TypeArguments& cloned_type_params = TypeArguments::Handle(
+        zone,
         TypeArguments::New((share_type_params ? 0 : num_super_type_params) +
                            num_mixin_type_params));
     TypeParameter& param = TypeParameter::Handle(zone);
@@ -1702,8 +1659,8 @@
     if (!share_type_params && (num_super_type_params > 0)) {
       const TypeArguments& super_type_params =
           TypeArguments::Handle(zone, super_class.type_parameters());
-      const TypeArguments& super_type_args = TypeArguments::Handle(zone,
-          TypeArguments::New(num_super_type_params));
+      const TypeArguments& super_type_args = TypeArguments::Handle(
+          zone, TypeArguments::New(num_super_type_params));
       // The cloned super class type parameters do not need to repeat their
       // bounds, since the bound checks will be performed at the super class
       // level. As a consequence, if this mixin application is used itself as a
@@ -1716,14 +1673,11 @@
       for (intptr_t i = 0; i < num_super_type_params; i++) {
         param ^= super_type_params.TypeAt(i);
         param_name = param.name();
-        param_name = Symbols::FromConcat(thread,
-                                         param_name, Symbols::Backtick());
-        cloned_param = TypeParameter::New(mixin_app_class,
-                                          null_function,
-                                          cloned_index,
-                                          param_name,
-                                          param_bound,
-                                          param.token_pos());
+        param_name =
+            Symbols::FromConcat(thread, param_name, Symbols::Backtick());
+        cloned_param =
+            TypeParameter::New(mixin_app_class, null_function, cloned_index,
+                               param_name, param_bound, param.token_pos());
         cloned_type_params.SetTypeAt(cloned_index, cloned_param);
         // Change the type arguments of the super type to refer to the
         // cloned type parameters of the mixin application class.
@@ -1746,8 +1700,8 @@
           TypeArguments::Handle(zone, mixin_class.type_parameters());
       const intptr_t offset =
           mixin_class.NumTypeArguments() - mixin_class.NumTypeParameters();
-      const TypeArguments& mixin_type_args = TypeArguments::Handle(zone,
-          TypeArguments::New(num_mixin_type_params));
+      const TypeArguments& mixin_type_args = TypeArguments::Handle(
+          zone, TypeArguments::New(num_mixin_type_params));
       instantiator ^= TypeArguments::New(offset + num_mixin_type_params);
       bool has_uninstantiated_bounds = false;
       for (intptr_t i = 0; i < num_mixin_type_params; i++) {
@@ -1757,12 +1711,10 @@
         if (!param_bound.IsInstantiated()) {
           has_uninstantiated_bounds = true;
         }
-        cloned_param = TypeParameter::New(mixin_app_class,
-                                          null_function,
-                                          cloned_index,  // Unfinalized index.
-                                          param_name,
-                                          param_bound,
-                                          param.token_pos());
+        cloned_param =
+            TypeParameter::New(mixin_app_class, null_function,
+                               cloned_index,  // Unfinalized index.
+                               param_name, param_bound, param.token_pos());
         cloned_type_params.SetTypeAt(cloned_index, cloned_param);
         mixin_type_args.SetTypeAt(i, cloned_param);  // Unfinalized length.
         instantiator.SetTypeAt(offset + i, cloned_param);  // Finalized length.
@@ -1785,8 +1737,7 @@
           param_bound = param.bound();
           if (!param_bound.IsInstantiated()) {
             // Make sure the bound is finalized before instantiating it.
-            if (!param_bound.IsFinalized() &&
-                !param_bound.IsBeingFinalized()) {
+            if (!param_bound.IsFinalized() && !param_bound.IsBeingFinalized()) {
               param_bound =
                   FinalizeType(mixin_app_class, param_bound, kCanonicalize);
               param.set_bound(param_bound);  // In case part of recursive type.
@@ -1902,34 +1853,34 @@
   // The mixin type may or may not be finalized yet.
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
-  AbstractType& super_type = AbstractType::Handle(zone,
-                                                  mixin_app_class.super_type());
+  AbstractType& super_type =
+      AbstractType::Handle(zone, mixin_app_class.super_type());
   const Type& mixin_type = Type::Handle(zone, mixin_app_class.mixin());
   const Class& mixin_class = Class::Handle(zone, mixin_type.type_class());
   ASSERT(mixin_class.is_mixin_app_alias());
-  const Class& aliased_mixin_app_class = Class::Handle(zone,
-      mixin_class.SuperClass());
+  const Class& aliased_mixin_app_class =
+      Class::Handle(zone, mixin_class.SuperClass());
   // Note that the super class of aliased_mixin_app_class can itself be a
   // mixin application class (this happens if the alias is mixing more than one
   // type). Instead of trying to recursively insert yet another class as the
   // super class of this inserted class, we apply the composition rules of the
   // spec and only mixin the members of aliased_mixin_app_class, not those of
   // its super class. In other words, we only mixin the last mixin of the alias.
-  const Type& aliased_mixin_type = Type::Handle(zone,
-      aliased_mixin_app_class.mixin());
+  const Type& aliased_mixin_type =
+      Type::Handle(zone, aliased_mixin_app_class.mixin());
   // The name of the inserted mixin application class is the name of mixin
   // class name with a backtick added.
   String& inserted_class_name = String::Handle(zone, mixin_app_class.Name());
-  inserted_class_name = String::Concat(inserted_class_name,
-                                       Symbols::Backtick());
+  inserted_class_name =
+      String::Concat(inserted_class_name, Symbols::Backtick());
   const Library& library = Library::Handle(zone, mixin_app_class.library());
-  Class& inserted_class = Class::Handle(zone,
-      library.LookupLocalClass(inserted_class_name));
+  Class& inserted_class =
+      Class::Handle(zone, library.LookupLocalClass(inserted_class_name));
   if (inserted_class.IsNull()) {
     inserted_class_name = Symbols::New(thread, inserted_class_name);
     const Script& script = Script::Handle(zone, mixin_app_class.script());
-    inserted_class = Class::New(
-        library, inserted_class_name, script, mixin_app_class.token_pos());
+    inserted_class = Class::New(library, inserted_class_name, script,
+                                mixin_app_class.token_pos());
     inserted_class.set_is_synthesized_class();
     library.AddClass(inserted_class);
 
@@ -1952,10 +1903,10 @@
     // After FinalizeTypesInClass, if the mixin type and interface type are
     // generic, their type arguments will refer to the type parameters of
     // inserted_class.
-    const Type& inserted_class_mixin_type = Type::Handle(zone,
-        Type::New(Class::Handle(zone, aliased_mixin_type.type_class()),
-                  Object::null_type_arguments(),
-                  aliased_mixin_type.token_pos()));
+    const Type& inserted_class_mixin_type = Type::Handle(
+        zone, Type::New(Class::Handle(zone, aliased_mixin_type.type_class()),
+                        Object::null_type_arguments(),
+                        aliased_mixin_type.token_pos()));
     inserted_class.set_mixin(inserted_class_mixin_type);
     // Add the mixin type to the list of interfaces that the mixin application
     // class implements. This is necessary so that cycle check work at
@@ -1995,8 +1946,8 @@
   // will finalize mixin_class_super_type.
   // The aliased_mixin_type does not need to be finalized, but only resolved.
   ASSERT(aliased_mixin_type.IsResolved());
-  const Class& aliased_mixin_type_class = Class::Handle(zone,
-      aliased_mixin_type.type_class());
+  const Class& aliased_mixin_type_class =
+      Class::Handle(zone, aliased_mixin_type.type_class());
   FinalizeTypesInClass(mixin_class);
   const intptr_t num_aliased_mixin_type_params =
       aliased_mixin_type_class.NumTypeParameters();
@@ -2032,15 +1983,15 @@
           // BoundedType objects, so no bound error may occur.
           ASSERT(bound_error.IsNull());
           upper_bound = BoundedType::Cast(type).bound();
-          upper_bound = upper_bound.InstantiateFrom(
-              instantiator, &bound_error, NULL, NULL, Heap::kOld);
+          upper_bound = upper_bound.InstantiateFrom(instantiator, &bound_error,
+                                                    NULL, NULL, Heap::kOld);
           ASSERT(bound_error.IsNull());
           type_parameter = BoundedType::Cast(type).type_parameter();
           // The type parameter that declared the bound does not change.
           type = BoundedType::New(bounded_type, upper_bound, type_parameter);
         } else {
-          type = type.InstantiateFrom(
-              instantiator, &bound_error, NULL, NULL, Heap::kOld);
+          type = type.InstantiateFrom(instantiator, &bound_error, NULL, NULL,
+                                      Heap::kOld);
           ASSERT(bound_error.IsNull());
         }
       }
@@ -2066,8 +2017,7 @@
       new_super_type_args.SetTypeAt(num_super_type_params + i, type);
     }
   }
-  super_type = Type::New(inserted_class,
-                         new_super_type_args,
+  super_type = Type::New(inserted_class, new_super_type_args,
                          mixin_app_class.token_pos());
   mixin_app_class.set_super_type(super_type);
 
@@ -2076,18 +2026,18 @@
   ASSERT(!mixin_app_class.is_type_finalized());
   ASSERT(!mixin_app_class.is_mixin_type_applied());
   if (FLAG_trace_class_finalization) {
-    THR_Print("Inserting class '%s' %s\n"
-              "  as super type '%s' with %" Pd " type args: %s\n"
-              "  of mixin application alias '%s' %s\n",
-              String::Handle(inserted_class.Name()).ToCString(),
-              TypeArguments::Handle(
-                  inserted_class.type_parameters()).ToCString(),
-              String::Handle(zone, super_type.Name()).ToCString(),
-              num_super_type_params + num_aliased_mixin_type_params,
-              super_type.ToCString(),
-              String::Handle(mixin_app_class.Name()).ToCString(),
-              TypeArguments::Handle(
-                  mixin_app_class.type_parameters()).ToCString());
+    THR_Print(
+        "Inserting class '%s' %s\n"
+        "  as super type '%s' with %" Pd
+        " type args: %s\n"
+        "  of mixin application alias '%s' %s\n",
+        String::Handle(inserted_class.Name()).ToCString(),
+        TypeArguments::Handle(inserted_class.type_parameters()).ToCString(),
+        String::Handle(zone, super_type.Name()).ToCString(),
+        num_super_type_params + num_aliased_mixin_type_params,
+        super_type.ToCString(),
+        String::Handle(mixin_app_class.Name()).ToCString(),
+        TypeArguments::Handle(mixin_app_class.type_parameters()).ToCString());
   }
 }
 
@@ -2127,12 +2077,12 @@
   ResolveSuperTypeAndInterfaces(mixin_app_class, &visited_interfaces);
 
   if (FLAG_trace_class_finalization) {
-    THR_Print("Done applying mixin type '%s' to class '%s' %s extending '%s'\n",
-              String::Handle(mixin_type.Name()).ToCString(),
-              String::Handle(mixin_app_class.Name()).ToCString(),
-              TypeArguments::Handle(
-                  mixin_app_class.type_parameters()).ToCString(),
-              AbstractType::Handle(mixin_app_class.super_type()).ToCString());
+    THR_Print(
+        "Done applying mixin type '%s' to class '%s' %s extending '%s'\n",
+        String::Handle(mixin_type.Name()).ToCString(),
+        String::Handle(mixin_app_class.Name()).ToCString(),
+        TypeArguments::Handle(mixin_app_class.type_parameters()).ToCString(),
+        AbstractType::Handle(mixin_app_class.super_type()).ToCString());
   }
   // Mark the application class as having been applied its mixin type in order
   // to avoid cycles while finalizing its mixin type.
@@ -2169,13 +2119,12 @@
       // Build constructor name from mixin application class name
       // and name of cloned super class constructor.
       const String& ctor_name = String::Handle(Z, func.name());
-      String& clone_name = String::Handle(Z,
-          String::SubString(ctor_name, super_name.Length()));
+      String& clone_name =
+          String::Handle(Z, String::SubString(ctor_name, super_name.Length()));
       clone_name = Symbols::FromConcat(T, mixin_name, clone_name);
 
       if (FLAG_trace_class_finalization) {
-        THR_Print("Cloning constructor '%s' as '%s'\n",
-                  ctor_name.ToCString(),
+        THR_Print("Cloning constructor '%s' as '%s'\n", ctor_name.ToCString(),
                   clone_name.ToCString());
       }
 
@@ -2185,16 +2134,13 @@
       const PatchClass& owner =
           PatchClass::Handle(Z, PatchClass::New(mixin_app, mixin_cls));
 
-      const Function& clone = Function::Handle(Z,
-          Function::New(clone_name,
-                        func.kind(),
-                        func.is_static(),
-                        false,  // Not const.
-                        false,  // Not abstract.
-                        false,  // Not external.
-                        false,  // Not native.
-                        owner,
-                        mixin_cls.token_pos()));
+      const Function& clone = Function::Handle(
+          Z, Function::New(clone_name, func.kind(), func.is_static(),
+                           false,  // Not const.
+                           false,  // Not abstract.
+                           false,  // Not external.
+                           false,  // Not native.
+                           owner, mixin_cls.token_pos()));
       clone.set_num_fixed_parameters(func.num_fixed_parameters());
       clone.SetNumOptionalParameters(func.NumOptionalParameters(),
                                      func.HasOptionalPositionalParameters());
@@ -2236,8 +2182,7 @@
 
   if (FLAG_trace_class_finalization) {
     THR_Print("Applying mixin members of %s to %s at pos %s\n",
-              mixin_cls.ToCString(),
-              cls.ToCString(),
+              mixin_cls.ToCString(), cls.ToCString(),
               cls.token_pos().ToCString());
   }
 
@@ -2259,13 +2204,12 @@
       // A mixin class must not have explicit constructors.
       if (!func.IsImplicitConstructor()) {
         const Script& script = Script::Handle(cls.script());
-        const Error& error = Error::Handle(
-            LanguageError::NewFormatted(Error::Handle(),
-                script, func.token_pos(), Report::AtLocation,
-                Report::kError, Heap::kNew,
-                "constructor '%s' is illegal in mixin class %s",
-                String::Handle(func.UserVisibleName()).ToCString(),
-                String::Handle(zone, mixin_cls.Name()).ToCString()));
+        const Error& error = Error::Handle(LanguageError::NewFormatted(
+            Error::Handle(), script, func.token_pos(), Report::AtLocation,
+            Report::kError, Heap::kNew,
+            "constructor '%s' is illegal in mixin class %s",
+            String::Handle(func.UserVisibleName()).ToCString(),
+            String::Handle(zone, mixin_cls.Name()).ToCString()));
 
         ReportErrors(error, cls, cls.token_pos(),
                      "mixin class '%s' must not have constructors",
@@ -2273,10 +2217,8 @@
       }
       continue;  // Skip the implicit constructor.
     }
-    if (!func.is_static() &&
-        !func.IsMethodExtractor() &&
-        !func.IsNoSuchMethodDispatcher() &&
-        !func.IsInvokeFieldDispatcher()) {
+    if (!func.is_static() && !func.IsMethodExtractor() &&
+        !func.IsNoSuchMethodDispatcher() && !func.IsInvokeFieldDispatcher()) {
       func = func.Clone(cls);
       cloned_funcs.Add(func);
     }
@@ -2304,8 +2246,7 @@
 
   if (FLAG_trace_class_finalization) {
     THR_Print("Done applying mixin members of %s to %s\n",
-              mixin_cls.ToCString(),
-              cls.ToCString());
+              mixin_cls.ToCString(), cls.ToCString());
   }
 }
 
@@ -2368,8 +2309,7 @@
     if (!IsTypedefCycleFree(cls, type, &visited_aliases)) {
       const String& name = String::Handle(cls.Name());
       ReportError(cls, cls.token_pos(),
-                  "typedef '%s' illegally refers to itself",
-                  name.ToCString());
+                  "typedef '%s' illegally refers to itself", name.ToCString());
     }
     cls.set_is_type_finalized();
 
@@ -2497,8 +2437,7 @@
   }
   // Every class should have at least a constructor, unless it is a top level
   // class or a typedef class.
-  ASSERT(cls.IsTopLevel() ||
-         cls.IsTypedefClass() ||
+  ASSERT(cls.IsTopLevel() || cls.IsTypedefClass() ||
          (Array::Handle(cls.functions()).Length() > 0));
   // Resolve and finalize all member types.
   ResolveAndFinalizeMemberTypes(cls);
@@ -2530,15 +2469,15 @@
   const Field& index_field =
       Field::Handle(zone, enum_cls.LookupInstanceField(Symbols::Index()));
   ASSERT(!index_field.IsNull());
-  const Field& name_field = Field::Handle(zone,
-        enum_cls.LookupInstanceFieldAllowPrivate(Symbols::_name()));
+  const Field& name_field = Field::Handle(
+      zone, enum_cls.LookupInstanceFieldAllowPrivate(Symbols::_name()));
   ASSERT(!name_field.IsNull());
   const Field& values_field =
       Field::Handle(zone, enum_cls.LookupStaticField(Symbols::Values()));
   ASSERT(!values_field.IsNull());
   ASSERT(Instance::Handle(zone, values_field.StaticValue()).IsArray());
-  Array& values_list = Array::Handle(
-      zone, Array::RawCast(values_field.StaticValue()));
+  Array& values_list =
+      Array::Handle(zone, Array::RawCast(values_field.StaticValue()));
 
   const Array& fields = Array::Handle(zone, enum_cls.fields());
   Field& field = Field::Handle(zone);
@@ -2592,8 +2531,8 @@
   Class& test2 = Class::Handle(cls.SuperClass());
   // A finalized class has been checked for cycles.
   // Using the hare and tortoise algorithm for locating cycles.
-  while (!test1.is_type_finalized() &&
-         !test2.IsNull() && !test2.is_type_finalized()) {
+  while (!test1.is_type_finalized() && !test2.IsNull() &&
+         !test2.is_type_finalized()) {
     if (test1.raw() == test2.raw()) {
       // Found a cycle.
       return false;
@@ -2626,8 +2565,7 @@
       // function used in a formal parameter type of the typedef signature, but
       // not the typedef signature function itself, thus not qualifying as an
       // illegal self reference.
-      if (!scope_class.is_type_finalized() &&
-          scope_class.IsTypedefClass() &&
+      if (!scope_class.is_type_finalized() && scope_class.IsTypedefClass() &&
           (scope_class.signature_function() == signature_function.raw())) {
         checking_typedef = true;
         const intptr_t scope_class_id = scope_class.id();
@@ -2775,8 +2713,7 @@
     ReportError(Error::Handle(zone, mixin_super_type.error()));
   }
   if (mixin_super_type.IsDynamicType()) {
-    ReportError(cls, cls.token_pos(),
-                "class '%s' may not extend 'dynamic'",
+    ReportError(cls, cls.token_pos(), "class '%s' may not extend 'dynamic'",
                 String::Handle(zone, cls.Name()).ToCString());
   }
   // The super type may have a BoundedType as type argument, but cannot be
@@ -2804,7 +2741,7 @@
     // thereby allowing for further optimizations, such as instantiator vector
     // reuse or sharing of type arguments with the super class.
     bool share_type_params = (num_super_type_args > 0) &&
-        (type_args.Length() == 2*num_super_type_args);
+                             (type_args.Length() == 2 * num_super_type_args);
     if (share_type_params) {
       for (intptr_t i = 0; i < num_super_type_args; i++) {
         super_type_arg ^= type_args.At(i);
@@ -2823,31 +2760,28 @@
     // The name of the mixin application class is a combination of
     // the super class name and mixin class name.
     mixin_app_class_name = mixin_super_type.ClassName();
-    mixin_app_class_name = String::Concat(mixin_app_class_name,
-                                          Symbols::Ampersand());
+    mixin_app_class_name =
+        String::Concat(mixin_app_class_name, Symbols::Ampersand());
     // If the type parameters are shared between the super type and the mixin
     // type, use two ampersand symbols, so that the class has a different name
     // and is not reused in a context where this optimization is not possible.
     if (share_type_params) {
-      mixin_app_class_name = String::Concat(mixin_app_class_name,
-                                            Symbols::Ampersand());
+      mixin_app_class_name =
+          String::Concat(mixin_app_class_name, Symbols::Ampersand());
     }
     mixin_type_class_name = mixin_type.ClassName();
-    mixin_app_class_name = String::Concat(mixin_app_class_name,
-                                          mixin_type_class_name);
+    mixin_app_class_name =
+        String::Concat(mixin_app_class_name, mixin_type_class_name);
     mixin_app_class = library.LookupLocalClass(mixin_app_class_name);
     if (mixin_app_class.IsNull()) {
       mixin_app_class_name = Symbols::New(thread, mixin_app_class_name);
-      mixin_app_class = Class::New(library,
-                                   mixin_app_class_name,
-                                   script,
+      mixin_app_class = Class::New(library, mixin_app_class_name, script,
                                    mixin_type.token_pos());
       mixin_app_class.set_super_type(mixin_super_type);
       mixin_type_class = mixin_type.type_class();
-      const Type& generic_mixin_type = Type::Handle(zone,
-          Type::New(mixin_type_class,
-                    Object::null_type_arguments(),
-                    mixin_type.token_pos()));
+      const Type& generic_mixin_type = Type::Handle(
+          zone, Type::New(mixin_type_class, Object::null_type_arguments(),
+                          mixin_type.token_pos()));
       mixin_app_class.set_mixin(generic_mixin_type);
       // Add the mixin type to the list of interfaces that the mixin application
       // class implements. This is necessary so that cycle check work at
@@ -2870,8 +2804,7 @@
     // This mixin application class becomes the type class of the super type of
     // the next mixin application class. It is however too early to provide the
     // correct super type arguments. We use the raw type for now.
-    mixin_super_type = Type::New(mixin_app_class,
-                                 Object::null_type_arguments(),
+    mixin_super_type = Type::New(mixin_app_class, Object::null_type_arguments(),
                                  mixin_type.token_pos());
   }
   TypeArguments& mixin_app_args = TypeArguments::Handle(zone);
@@ -2905,7 +2838,8 @@
 // graph. If we visit an interface a second time on a given path,
 // we found a loop.
 void ClassFinalizer::ResolveSuperTypeAndInterfaces(
-    const Class& cls, GrowableArray<intptr_t>* visited) {
+    const Class& cls,
+    GrowableArray<intptr_t>* visited) {
   if (cls.is_cycle_free()) {
     return;
   }
@@ -2919,8 +2853,7 @@
     if ((*visited)[i] == cls_index) {
       // We have already visited class 'cls'. We found a cycle.
       const String& class_name = String::Handle(zone, cls.Name());
-      ReportError(cls, cls.token_pos(),
-                  "cyclic reference found for class '%s'",
+      ReportError(cls, cls.token_pos(), "cyclic reference found for class '%s'",
                   class_name.ToCString());
     }
   }
@@ -2960,8 +2893,7 @@
     ReportError(Error::Handle(zone, super_type.error()));
   }
   if (super_type.IsDynamicType()) {
-    ReportError(cls, cls.token_pos(),
-                "class '%s' may not extend 'dynamic'",
+    ReportError(cls, cls.token_pos(), "class '%s' may not extend 'dynamic'",
                 String::Handle(zone, cls.Name()).ToCString());
   }
   interface_class = super_type.type_class();
@@ -2969,12 +2901,10 @@
     ReportError(cls, cls.token_pos(),
                 "class '%s' may not extend function type alias '%s'",
                 String::Handle(zone, cls.Name()).ToCString(),
-                String::Handle(zone,
-                               super_type.UserVisibleName()).ToCString());
+                String::Handle(zone, super_type.UserVisibleName()).ToCString());
   }
   if (interface_class.is_enum_class()) {
-    ReportError(cls, cls.token_pos(),
-                "class '%s' may not extend enum '%s'",
+    ReportError(cls, cls.token_pos(), "class '%s' may not extend enum '%s'",
                 String::Handle(zone, cls.Name()).ToCString(),
                 String::Handle(zone, interface_class.Name()).ToCString());
   }
@@ -3001,10 +2931,10 @@
       case kImmutableArrayCid:
       case kGrowableObjectArrayCid:
 #define DO_NOT_EXTEND_TYPED_DATA_CLASSES(clazz)                                \
-      case kTypedData##clazz##Cid:                                             \
-      case kTypedData##clazz##ViewCid:                                         \
-      case kExternalTypedData##clazz##Cid:
-      CLASS_LIST_TYPED_DATA(DO_NOT_EXTEND_TYPED_DATA_CLASSES)
+  case kTypedData##clazz##Cid:                                                 \
+  case kTypedData##clazz##ViewCid:                                             \
+  case kExternalTypedData##clazz##Cid:
+        CLASS_LIST_TYPED_DATA(DO_NOT_EXTEND_TYPED_DATA_CLASSES)
 #undef DO_NOT_EXTEND_TYPED_DATA_CLASSES
       case kByteDataViewCid:
       case kWeakPropertyCid:
@@ -3012,8 +2942,7 @@
         break;
       default: {
         // Special case: classes for which we don't have a known class id.
-        if (super_type.IsDoubleType() ||
-            super_type.IsIntType() ||
+        if (super_type.IsDoubleType() || super_type.IsIntType() ||
             super_type.IsStringType()) {
           is_error = true;
         }
@@ -3021,10 +2950,9 @@
       }
     }
     if (is_error) {
-      const String& interface_name = String::Handle(zone,
-                                                    interface_class.Name());
-      ReportError(cls, cls.token_pos(),
-                  "'%s' is not allowed to extend '%s'",
+      const String& interface_name =
+          String::Handle(zone, interface_class.Name());
+      ReportError(cls, cls.token_pos(), "'%s' is not allowed to extend '%s'",
                   String::Handle(zone, cls.Name()).ToCString(),
                   interface_name.ToCString());
     }
@@ -3047,15 +2975,15 @@
     }
     interface_class = interface.type_class();
     if (interface_class.IsTypedefClass()) {
-      const String& interface_name = String::Handle(zone,
-                                                    interface_class.Name());
+      const String& interface_name =
+          String::Handle(zone, interface_class.Name());
       ReportError(cls, cls.token_pos(),
                   "function type alias '%s' may not be used as interface",
                   interface_name.ToCString());
     }
     if (interface_class.is_enum_class()) {
-      const String& interface_name = String::Handle(zone,
-                                                    interface_class.Name());
+      const String& interface_name =
+          String::Handle(zone, interface_class.Name());
       ReportError(cls, cls.token_pos(),
                   "enum '%s' may not be used as interface",
                   interface_name.ToCString());
@@ -3063,18 +2991,14 @@
     // Verify that unless cls belongs to core lib, it cannot extend, implement,
     // or mixin any of Null, bool, num, int, double, String, dynamic.
     if (!cls_belongs_to_core_lib) {
-      if (interface.IsBoolType() ||
-          interface.IsNullType() ||
-          interface.IsNumberType() ||
-          interface.IsIntType() ||
-          interface.IsDoubleType() ||
-          interface.IsStringType() ||
+      if (interface.IsBoolType() || interface.IsNullType() ||
+          interface.IsNumberType() || interface.IsIntType() ||
+          interface.IsDoubleType() || interface.IsStringType() ||
           interface.IsDynamicType()) {
-        const String& interface_name = String::Handle(zone,
-                                                      interface_class.Name());
+        const String& interface_name =
+            String::Handle(zone, interface_class.Name());
         if (cls.IsMixinApplication()) {
-          ReportError(cls, cls.token_pos(),
-                      "illegal mixin of '%s'",
+          ReportError(cls, cls.token_pos(), "illegal mixin of '%s'",
                       interface_name.ToCString());
         } else {
           ReportError(cls, cls.token_pos(),
@@ -3121,8 +3045,7 @@
   THR_Print("class '%s'", class_name.ToCString());
   const Library& library = Library::Handle(cls.library());
   if (!library.IsNull()) {
-    THR_Print(" library '%s%s':\n",
-              String::Handle(library.url()).ToCString(),
+    THR_Print(" library '%s%s':\n", String::Handle(library.url()).ToCString(),
               String::Handle(library.private_key()).ToCString());
   } else {
     THR_Print(" (null library):\n");
@@ -3167,11 +3090,9 @@
                                        const Type& type,
                                        const char* format,
                                        va_list args) {
-  LanguageError& error = LanguageError::Handle(
-      LanguageError::NewFormattedV(
-          prev_error, script, type.token_pos(), Report::AtLocation,
-          Report::kMalformedType, Heap::kOld,
-          format, args));
+  LanguageError& error = LanguageError::Handle(LanguageError::NewFormattedV(
+      prev_error, script, type.token_pos(), Report::AtLocation,
+      Report::kMalformedType, Heap::kOld, format, args));
   if (Isolate::Current()->error_on_bad_type()) {
     ReportError(error);
   }
@@ -3194,13 +3115,13 @@
 RawType* ClassFinalizer::NewFinalizedMalformedType(const Error& prev_error,
                                                    const Script& script,
                                                    TokenPosition type_pos,
-                                                   const char* format, ...) {
+                                                   const char* format,
+                                                   ...) {
   va_list args;
   va_start(args, format);
-  const UnresolvedClass& unresolved_class = UnresolvedClass::Handle(
-      UnresolvedClass::New(LibraryPrefix::Handle(),
-                           Symbols::Empty(),
-                           type_pos));
+  const UnresolvedClass& unresolved_class =
+      UnresolvedClass::Handle(UnresolvedClass::New(LibraryPrefix::Handle(),
+                                                   Symbols::Empty(), type_pos));
   const Type& type = Type::Handle(
       Type::New(unresolved_class, TypeArguments::Handle(), type_pos));
   MarkTypeMalformed(prev_error, script, type, format, args);
@@ -3214,7 +3135,8 @@
 void ClassFinalizer::FinalizeMalformedType(const Error& prev_error,
                                            const Script& script,
                                            const Type& type,
-                                           const char* format, ...) {
+                                           const char* format,
+                                           ...) {
   va_list args;
   va_start(args, format);
   MarkTypeMalformed(prev_error, script, type, format, args);
@@ -3225,14 +3147,13 @@
 void ClassFinalizer::FinalizeMalboundedType(const Error& prev_error,
                                             const Script& script,
                                             const AbstractType& type,
-                                            const char* format, ...) {
+                                            const char* format,
+                                            ...) {
   va_list args;
   va_start(args, format);
-  LanguageError& error = LanguageError::Handle(
-      LanguageError::NewFormattedV(
-          prev_error, script, type.token_pos(), Report::AtLocation,
-          Report::kMalboundedType, Heap::kOld,
-          format, args));
+  LanguageError& error = LanguageError::Handle(LanguageError::NewFormattedV(
+      prev_error, script, type.token_pos(), Report::AtLocation,
+      Report::kMalboundedType, Heap::kOld, format, args));
   va_end(args);
   if (Isolate::Current()->error_on_bad_type()) {
     ReportError(error);
@@ -3254,7 +3175,8 @@
 void ClassFinalizer::ReportErrors(const Error& prev_error,
                                   const Class& cls,
                                   TokenPosition token_pos,
-                                  const char* format, ...) {
+                                  const char* format,
+                                  ...) {
   va_list args;
   va_start(args, format);
   const Script& script = Script::Handle(cls.script());
@@ -3266,12 +3188,13 @@
 
 void ClassFinalizer::ReportError(const Class& cls,
                                  TokenPosition token_pos,
-                                 const char* format, ...) {
+                                 const char* format,
+                                 ...) {
   va_list args;
   va_start(args, format);
   const Script& script = Script::Handle(cls.script());
-  Report::MessageV(Report::kError,
-                   script, token_pos, Report::AtLocation, format, args);
+  Report::MessageV(Report::kError, script, token_pos, Report::AtLocation,
+                   format, args);
   va_end(args);
   UNREACHABLE();
 }
@@ -3292,8 +3215,7 @@
 
   // First verify field offsets of all the TypedDataView classes.
   for (intptr_t cid = kTypedDataInt8ArrayViewCid;
-       cid <= kTypedDataFloat32x4ArrayViewCid;
-       cid++) {
+       cid <= kTypedDataFloat32x4ArrayViewCid; cid++) {
     cls = class_table.At(cid);  // Get the TypedDataView class.
     error = cls.EnsureIsFinalized(thread);
     ASSERT(error.IsNull());
diff --git a/runtime/vm/class_finalizer.h b/runtime/vm/class_finalizer.h
index 16a19f8..5bcfc6b 100644
--- a/runtime/vm/class_finalizer.h
+++ b/runtime/vm/class_finalizer.h
@@ -19,22 +19,21 @@
 
   // Modes for type resolution and finalization. The ordering is relevant.
   enum FinalizationKind {
-    kIgnore,                   // Type is ignored and replaced by dynamic.
-    kDoNotResolve,             // Type resolution is postponed.
-    kResolveTypeParameters,    // Resolve type parameters only.
-    kFinalize,                 // Type resolution and finalization are required.
-    kCanonicalize,             // Same as kFinalize, but with canonicalization.
-    kCanonicalizeWellFormed    // Error-free resolution, finalization, and
-                               // canonicalization are required.
+    kIgnore,                 // Type is ignored and replaced by dynamic.
+    kDoNotResolve,           // Type resolution is postponed.
+    kResolveTypeParameters,  // Resolve type parameters only.
+    kFinalize,               // Type resolution and finalization are required.
+    kCanonicalize,           // Same as kFinalize, but with canonicalization.
+    kCanonicalizeWellFormed  // Error-free resolution, finalization, and
+                             // canonicalization are required.
   };
 
   // Finalize given type while parsing class cls.
   // Also canonicalize type if applicable.
-  static RawAbstractType* FinalizeType(
-      const Class& cls,
-      const AbstractType& type,
-      FinalizationKind finalization,
-      PendingTypes* pending_types = NULL);
+  static RawAbstractType* FinalizeType(const Class& cls,
+                                       const AbstractType& type,
+                                       FinalizationKind finalization,
+                                       PendingTypes* pending_types = NULL);
 
   // Allocate, finalize, and return a new malformed type as if it was declared
   // in class cls at the given token position.
@@ -43,8 +42,8 @@
   static RawType* NewFinalizedMalformedType(const Error& prev_error,
                                             const Script& script,
                                             TokenPosition type_pos,
-                                            const char* format, ...)
-       PRINTF_ATTRIBUTE(4, 5);
+                                            const char* format,
+                                            ...) PRINTF_ATTRIBUTE(4, 5);
 
   // Mark the given type as malformed.
   // If not null, prepend prev_error to the error message built from the format
@@ -52,8 +51,8 @@
   static void FinalizeMalformedType(const Error& prev_error,
                                     const Script& script,
                                     const Type& type,
-                                    const char* format, ...)
-       PRINTF_ATTRIBUTE(4, 5);
+                                    const char* format,
+                                    ...) PRINTF_ATTRIBUTE(4, 5);
 
   // Mark the given type as malbounded.
   // If not null, prepend prev_error to the error message built from the format
@@ -61,8 +60,8 @@
   static void FinalizeMalboundedType(const Error& prev_error,
                                      const Script& script,
                                      const AbstractType& type,
-                                     const char* format, ...)
-       PRINTF_ATTRIBUTE(4, 5);
+                                     const char* format,
+                                     ...) PRINTF_ATTRIBUTE(4, 5);
 
   // Return false if we still have classes pending to be finalized.
   static bool AllClassesFinalized();
@@ -156,8 +155,8 @@
   static void FinalizeSignature(const Class& cls, const Function& function);
   static void ResolveAndFinalizeMemberTypes(const Class& cls);
   static void PrintClassInformation(const Class& cls);
-  static void CollectInterfaces(
-      const Class& cls, GrowableArray<const Class*>* collected);
+  static void CollectInterfaces(const Class& cls,
+                                GrowableArray<const Class*>* collected);
 
   static void MarkTypeMalformed(const Error& prev_error,
                                 const Script& script,
@@ -167,11 +166,13 @@
   static void ReportError(const Error& error);
   static void ReportError(const Class& cls,
                           TokenPosition token_pos,
-                          const char* format, ...) PRINTF_ATTRIBUTE(3, 4);
+                          const char* format,
+                          ...) PRINTF_ATTRIBUTE(3, 4);
   static void ReportErrors(const Error& prev_error,
                            const Class& cls,
                            TokenPosition token_pos,
-                           const char* format, ...) PRINTF_ATTRIBUTE(4, 5);
+                           const char* format,
+                           ...) PRINTF_ATTRIBUTE(4, 5);
 
   // Verify implicit offsets recorded in the VM for direct access to fields of
   // Dart instances (e.g: _TypedListView, _ByteDataView).
diff --git a/runtime/vm/class_finalizer_test.cc b/runtime/vm/class_finalizer_test.cc
index 8de73e5..d2acc4a 100644
--- a/runtime/vm/class_finalizer_test.cc
+++ b/runtime/vm/class_finalizer_test.cc
@@ -11,12 +11,11 @@
 
 
 static RawClass* CreateTestClass(const char* name) {
-  const String& class_name = String::Handle(Symbols::New(Thread::Current(),
-                                                         name));
+  const String& class_name =
+      String::Handle(Symbols::New(Thread::Current(), name));
   const Script& script = Script::Handle();
-  const Class& cls = Class::Handle(
-      Class::New(Library::Handle(), class_name, script,
-                 TokenPosition::kNoSource));
+  const Class& cls = Class::Handle(Class::New(
+      Library::Handle(), class_name, script, TokenPosition::kNoSource));
   cls.set_interfaces(Object::empty_array());
   cls.SetFunctions(Object::empty_array());
   cls.SetFields(Object::empty_array());
@@ -95,15 +94,13 @@
   lib.AddClass(rhb);
   lib.AddClass(sbb);
   const String& superclass_name = String::Handle(sbb.Name());
-  const UnresolvedClass& unresolved = UnresolvedClass::Handle(
-      UnresolvedClass::New(LibraryPrefix::Handle(),
-                           superclass_name,
-                           TokenPosition::kNoSource));
+  const UnresolvedClass& unresolved =
+      UnresolvedClass::Handle(UnresolvedClass::New(
+          LibraryPrefix::Handle(), superclass_name, TokenPosition::kNoSource));
   const TypeArguments& type_arguments = TypeArguments::Handle();
-  rhb.set_super_type(Type::Handle(
-      Type::New(Object::Handle(unresolved.raw()),
-                type_arguments,
-                TokenPosition::kNoSource)));
+  rhb.set_super_type(
+      Type::Handle(Type::New(Object::Handle(unresolved.raw()), type_arguments,
+                             TokenPosition::kNoSource)));
   EXPECT(ClassFinalizer::ProcessPendingClasses());
 }
 
diff --git a/runtime/vm/class_table.cc b/runtime/vm/class_table.cc
index 989bf9c..4ceeb60 100644
--- a/runtime/vm/class_table.cc
+++ b/runtime/vm/class_table.cc
@@ -18,7 +18,9 @@
 DEFINE_FLAG(bool, print_class_table, false, "Print initial class table.");
 
 ClassTable::ClassTable()
-    : top_(kNumPredefinedCids), capacity_(0), table_(NULL),
+    : top_(kNumPredefinedCids),
+      capacity_(0),
+      table_(NULL),
       old_tables_(new MallocGrowableArray<RawClass**>()) {
   NOT_IN_PRODUCT(class_heap_stats_table_ = NULL);
   NOT_IN_PRODUCT(predefined_class_heap_stats_table_ = NULL);
@@ -50,7 +52,7 @@
   }
 #ifndef PRODUCT
   predefined_class_heap_stats_table_ = reinterpret_cast<ClassHeapStats*>(
-        calloc(kNumPredefinedCids, sizeof(ClassHeapStats)));  // NOLINT
+      calloc(kNumPredefinedCids, sizeof(ClassHeapStats)));  // NOLINT
   for (intptr_t i = 0; i < kNumPredefinedCids; i++) {
     predefined_class_heap_stats_table_[i].Initialize();
   }
@@ -122,8 +124,8 @@
     // Add the vtable for this predefined class into the static vtable registry
     // if it has not been setup yet.
     cpp_vtable cls_vtable = cls.handle_vtable();
-    AtomicOperations::CompareAndSwapWord(
-        &(Object::builtin_vtables_[index]), 0, cls_vtable);
+    AtomicOperations::CompareAndSwapWord(&(Object::builtin_vtables_[index]), 0,
+                                         cls_vtable);
     ASSERT(Object::builtin_vtables_[index] == cls_vtable);
   } else {
     if (top_ == capacity_) {
@@ -436,10 +438,8 @@
 
 
 ClassHeapStats* ClassTable::StatsWithUpdatedSize(intptr_t cid) {
-  if (!HasValidClassAt(cid) ||
-      (cid == kFreeListElement) ||
-      (cid == kForwardingCorpse) ||
-      (cid == kSmiCid)) {
+  if (!HasValidClassAt(cid) || (cid == kFreeListElement) ||
+      (cid == kForwardingCorpse) || (cid == kSmiCid)) {
     return NULL;
   }
   Class& cls = Class::Handle(At(cid));
@@ -487,16 +487,15 @@
 
 
 ClassHeapStats** ClassTable::TableAddressFor(intptr_t cid) {
-  return (cid < kNumPredefinedCids)
-      ? &predefined_class_heap_stats_table_
-      : &class_heap_stats_table_;
+  return (cid < kNumPredefinedCids) ? &predefined_class_heap_stats_table_
+                                    : &class_heap_stats_table_;
 }
 
 
 intptr_t ClassTable::TableOffsetFor(intptr_t cid) {
   return (cid < kNumPredefinedCids)
-      ? OFFSET_OF(ClassTable, predefined_class_heap_stats_table_)
-      : OFFSET_OF(ClassTable, class_heap_stats_table_);
+             ? OFFSET_OF(ClassTable, predefined_class_heap_stats_table_)
+             : OFFSET_OF(ClassTable, class_heap_stats_table_);
 }
 
 
@@ -507,9 +506,9 @@
 
 intptr_t ClassTable::CounterOffsetFor(intptr_t cid, bool is_new_space) {
   const intptr_t class_offset = ClassOffsetFor(cid);
-  const intptr_t count_field_offset = is_new_space
-      ? ClassHeapStats::allocated_since_gc_new_space_offset()
-      : ClassHeapStats::allocated_since_gc_old_space_offset();
+  const intptr_t count_field_offset =
+      is_new_space ? ClassHeapStats::allocated_since_gc_new_space_offset()
+                   : ClassHeapStats::allocated_since_gc_old_space_offset();
   return class_offset + count_field_offset;
 }
 
@@ -521,9 +520,9 @@
 
 intptr_t ClassTable::SizeOffsetFor(intptr_t cid, bool is_new_space) {
   const uword class_offset = ClassOffsetFor(cid);
-  const uword size_field_offset = is_new_space
-      ? ClassHeapStats::allocated_size_since_gc_new_space_offset()
-      : ClassHeapStats::allocated_size_since_gc_old_space_offset();
+  const uword size_field_offset =
+      is_new_space ? ClassHeapStats::allocated_size_since_gc_new_space_offset()
+                   : ClassHeapStats::allocated_size_since_gc_old_space_offset();
   return class_offset + size_field_offset;
 }
 
@@ -540,25 +539,18 @@
   obj.AddProperty("type", "AllocationProfile");
   if (isolate->last_allocationprofile_accumulator_reset_timestamp() != 0) {
     obj.AddPropertyF(
-        "dateLastAccumulatorReset",
-        "%" Pd64 "",
+        "dateLastAccumulatorReset", "%" Pd64 "",
         isolate->last_allocationprofile_accumulator_reset_timestamp());
   }
   if (isolate->last_allocationprofile_gc_timestamp() != 0) {
-    obj.AddPropertyF(
-        "dateLastServiceGC",
-        "%" Pd64 "",
-        isolate->last_allocationprofile_gc_timestamp());
+    obj.AddPropertyF("dateLastServiceGC", "%" Pd64 "",
+                     isolate->last_allocationprofile_gc_timestamp());
   }
 
   {
     JSONObject heaps(&obj, "heaps");
-    {
-      heap->PrintToJSONObject(Heap::kNew, &heaps);
-    }
-    {
-      heap->PrintToJSONObject(Heap::kOld, &heaps);
-    }
+    { heap->PrintToJSONObject(Heap::kNew, &heaps); }
+    { heap->PrintToJSONObject(Heap::kOld, &heaps); }
   }
   {
     JSONArray arr(&obj, "members");
diff --git a/runtime/vm/class_table.h b/runtime/vm/class_table.h
index 1ffee71..b1721ed 100644
--- a/runtime/vm/class_table.h
+++ b/runtime/vm/class_table.h
@@ -16,12 +16,13 @@
 class JSONArray;
 class JSONObject;
 class JSONStream;
-template<typename T> class MallocGrowableArray;
+template <typename T>
+class MallocGrowableArray;
 class ObjectPointerVisitor;
 class RawClass;
 
 #ifndef PRODUCT
-template<typename T>
+template <typename T>
 class AllocStats {
  public:
   T new_count;
@@ -104,12 +105,8 @@
     return OFFSET_OF(ClassHeapStats, recent) +
            OFFSET_OF(AllocStats<intptr_t>, old_size);
   }
-  static intptr_t state_offset() {
-    return OFFSET_OF(ClassHeapStats, state_);
-  }
-  static intptr_t TraceAllocationMask() {
-    return (1 << kTraceAllocationBit);
-  }
+  static intptr_t state_offset() { return OFFSET_OF(ClassHeapStats, state_); }
+  static intptr_t TraceAllocationMask() { return (1 << kTraceAllocationBit); }
 
   void Initialize();
   void ResetAtNewGC();
@@ -122,9 +119,7 @@
 #endif
   void Verify();
 
-  bool trace_allocation() const {
-    return TraceAllocationBit::decode(state_);
-  }
+  bool trace_allocation() const { return TraceAllocationBit::decode(state_); }
 
   void set_trace_allocation(bool trace_allocation) {
     state_ = TraceAllocationBit::update(trace_allocation, state_);
@@ -135,8 +130,8 @@
     kTraceAllocationBit = 0,
   };
 
-  class TraceAllocationBit :
-      public BitField<intptr_t, bool, kTraceAllocationBit, 1> {};
+  class TraceAllocationBit
+      : public BitField<intptr_t, bool, kTraceAllocationBit, 1> {};
 
   // Recent old at start of last new GC (used to compute promoted_*).
   intptr_t old_pre_new_gc_count_;
@@ -160,9 +155,7 @@
     return table_[index];
   }
 
-  void SetAt(intptr_t index, RawClass* raw_cls) {
-    table_[index] = raw_cls;
-  }
+  void SetAt(intptr_t index, RawClass* raw_cls) { table_[index] = raw_cls; }
 
   bool IsValidIndex(intptr_t index) const {
     return (index > 0) && (index < top_);
@@ -202,9 +195,7 @@
   void Print();
 
   // Used by the generated code.
-  static intptr_t table_offset() {
-    return OFFSET_OF(ClassTable, table_);
-  }
+  static intptr_t table_offset() { return OFFSET_OF(ClassTable, table_); }
 
   // Used by the generated code.
   static intptr_t ClassOffsetFor(intptr_t cid);
diff --git a/runtime/vm/clustered_snapshot.cc b/runtime/vm/clustered_snapshot.cc
index baff543..396e6ad 100644
--- a/runtime/vm/clustered_snapshot.cc
+++ b/runtime/vm/clustered_snapshot.cc
@@ -25,8 +25,8 @@
 
 static RawObject* AllocateUninitialized(PageSpace* old_space, intptr_t size) {
   ASSERT(Utils::IsAligned(size, kObjectAlignment));
-  uword address = old_space->TryAllocateDataBumpLocked(size,
-                                                       PageSpace::kForceGrowth);
+  uword address =
+      old_space->TryAllocateDataBumpLocked(size, PageSpace::kForceGrowth);
   if (address == 0) {
     OUT_OF_MEMORY();
   }
@@ -52,9 +52,9 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class ClassSerializationCluster : public SerializationCluster {
  public:
-  explicit ClassSerializationCluster(intptr_t num_cids) :
-      predefined_(kNumPredefinedCids), objects_(num_cids) { }
-  virtual ~ClassSerializationCluster() { }
+  explicit ClassSerializationCluster(intptr_t num_cids)
+      : predefined_(kNumPredefinedCids), objects_(num_cids) {}
+  virtual ~ClassSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawClass* cls = Class::RawCast(object);
@@ -134,8 +134,8 @@
 
 class ClassDeserializationCluster : public DeserializationCluster {
  public:
-  ClassDeserializationCluster() { }
-  virtual ~ClassDeserializationCluster() { }
+  ClassDeserializationCluster() {}
+  virtual ~ClassDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     predefined_start_index_ = d->next_index();
@@ -154,8 +154,7 @@
     start_index_ = d->next_index();
     count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         Class::InstanceSize()));
+      d->AssignRef(AllocateUninitialized(old_space, Class::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -165,8 +164,7 @@
     bool is_vm_object = d->isolate() == Dart::vm_isolate();
     ClassTable* table = d->isolate()->class_table();
 
-    for (intptr_t id = predefined_start_index_;
-         id < predefined_stop_index_;
+    for (intptr_t id = predefined_start_index_; id < predefined_stop_index_;
          id++) {
       RawClass* cls = reinterpret_cast<RawClass*>(d->Ref(id));
       RawObject** from = cls->from();
@@ -228,12 +226,11 @@
   }
 
   void PostLoad(const Array& refs, Snapshot::Kind kind, Zone* zone) {
-    NOT_IN_PRODUCT(TimelineDurationScope tds(Thread::Current(),
-        Timeline::GetIsolateStream(), "PostLoadClass"));
+    NOT_IN_PRODUCT(TimelineDurationScope tds(
+        Thread::Current(), Timeline::GetIsolateStream(), "PostLoadClass"));
 
     Class& cls = Class::Handle(zone);
-    for (intptr_t i = predefined_start_index_;
-         i < predefined_stop_index_;
+    for (intptr_t i = predefined_start_index_; i < predefined_stop_index_;
          i++) {
       cls ^= refs.At(i);
       cls.RehashConstants(zone);
@@ -253,8 +250,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class UnresolvedClassSerializationCluster : public SerializationCluster {
  public:
-  UnresolvedClassSerializationCluster() { }
-  virtual ~UnresolvedClassSerializationCluster() { }
+  UnresolvedClassSerializationCluster() {}
+  virtual ~UnresolvedClassSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawUnresolvedClass* cls = UnresolvedClass::RawCast(object);
@@ -299,16 +296,16 @@
 
 class UnresolvedClassDeserializationCluster : public DeserializationCluster {
  public:
-  UnresolvedClassDeserializationCluster() { }
-  virtual ~UnresolvedClassDeserializationCluster() { }
+  UnresolvedClassDeserializationCluster() {}
+  virtual ~UnresolvedClassDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         UnresolvedClass::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, UnresolvedClass::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -336,8 +333,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class TypeArgumentsSerializationCluster : public SerializationCluster {
  public:
-  TypeArgumentsSerializationCluster() { }
-  virtual ~TypeArgumentsSerializationCluster() { }
+  TypeArgumentsSerializationCluster() {}
+  virtual ~TypeArgumentsSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawTypeArguments* type_args = TypeArguments::RawCast(object);
@@ -386,8 +383,8 @@
 
 class TypeArgumentsDeserializationCluster : public DeserializationCluster {
  public:
-  TypeArgumentsDeserializationCluster() { }
-  virtual ~TypeArgumentsDeserializationCluster() { }
+  TypeArgumentsDeserializationCluster() {}
+  virtual ~TypeArgumentsDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -428,8 +425,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class PatchClassSerializationCluster : public SerializationCluster {
  public:
-  PatchClassSerializationCluster() { }
-  virtual ~PatchClassSerializationCluster() { }
+  PatchClassSerializationCluster() {}
+  virtual ~PatchClassSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawPatchClass* cls = PatchClass::RawCast(object);
@@ -472,16 +469,16 @@
 
 class PatchClassDeserializationCluster : public DeserializationCluster {
  public:
-  PatchClassDeserializationCluster() { }
-  virtual ~PatchClassDeserializationCluster() { }
+  PatchClassDeserializationCluster() {}
+  virtual ~PatchClassDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         PatchClass::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, PatchClass::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -506,8 +503,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class FunctionSerializationCluster : public SerializationCluster {
  public:
-  FunctionSerializationCluster() { }
-  virtual ~FunctionSerializationCluster() { }
+  FunctionSerializationCluster() {}
+  virtual ~FunctionSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawFunction* func = Function::RawCast(object);
@@ -590,16 +587,15 @@
 
 class FunctionDeserializationCluster : public DeserializationCluster {
  public:
-  FunctionDeserializationCluster() { }
-  virtual ~FunctionDeserializationCluster() { }
+  FunctionDeserializationCluster() {}
+  virtual ~FunctionDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         Function::InstanceSize()));
+      d->AssignRef(AllocateUninitialized(old_space, Function::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -625,7 +621,7 @@
         func->ptr()->code_ = reinterpret_cast<RawCode*>(d->ReadRef());
       } else if (kind == Snapshot::kAppWithJIT) {
         NOT_IN_PRECOMPILED(func->ptr()->unoptimized_code_ =
-            reinterpret_cast<RawCode*>(d->ReadRef()));
+                               reinterpret_cast<RawCode*>(d->ReadRef()));
         func->ptr()->code_ = reinterpret_cast<RawCode*>(d->ReadRef());
         func->ptr()->ic_data_array_ = reinterpret_cast<RawArray*>(d->ReadRef());
       }
@@ -657,8 +653,8 @@
   }
 
   void PostLoad(const Array& refs, Snapshot::Kind kind, Zone* zone) {
-    NOT_IN_PRODUCT(TimelineDurationScope tds(Thread::Current(),
-        Timeline::GetIsolateStream(), "PostLoadFunction"));
+    NOT_IN_PRODUCT(TimelineDurationScope tds(
+        Thread::Current(), Timeline::GetIsolateStream(), "PostLoadFunction"));
 
     if (kind == Snapshot::kAppNoJIT) {
       Function& func = Function::Handle(zone);
@@ -699,8 +695,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class ClosureDataSerializationCluster : public SerializationCluster {
  public:
-  ClosureDataSerializationCluster() { }
-  virtual ~ClosureDataSerializationCluster() { }
+  ClosureDataSerializationCluster() {}
+  virtual ~ClosureDataSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawClosureData* data = ClosureData::RawCast(object);
@@ -745,16 +741,16 @@
 
 class ClosureDataDeserializationCluster : public DeserializationCluster {
  public:
-  ClosureDataDeserializationCluster() { }
-  virtual ~ClosureDataDeserializationCluster() { }
+  ClosureDataDeserializationCluster() {}
+  virtual ~ClosureDataDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         ClosureData::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, ClosureData::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -765,8 +761,7 @@
     for (intptr_t id = start_index_; id < stop_index_; id++) {
       RawClosureData* data = reinterpret_cast<RawClosureData*>(d->Ref(id));
       Deserializer::InitializeHeader(data, kClosureDataCid,
-                                     ClosureData::InstanceSize(),
-                                     is_vm_object);
+                                     ClosureData::InstanceSize(), is_vm_object);
       if (d->kind() == Snapshot::kAppNoJIT) {
         data->ptr()->context_scope_ = ContextScope::null();
       } else {
@@ -784,8 +779,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class RedirectionDataSerializationCluster : public SerializationCluster {
  public:
-  RedirectionDataSerializationCluster() { }
-  virtual ~RedirectionDataSerializationCluster() { }
+  RedirectionDataSerializationCluster() {}
+  virtual ~RedirectionDataSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawRedirectionData* data = RedirectionData::RawCast(object);
@@ -828,16 +823,16 @@
 
 class RedirectionDataDeserializationCluster : public DeserializationCluster {
  public:
-  RedirectionDataDeserializationCluster() { }
-  virtual ~RedirectionDataDeserializationCluster() { }
+  RedirectionDataDeserializationCluster() {}
+  virtual ~RedirectionDataDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         RedirectionData::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, RedirectionData::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -864,8 +859,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class FieldSerializationCluster : public SerializationCluster {
  public:
-  FieldSerializationCluster() { }
-  virtual ~FieldSerializationCluster() { }
+  FieldSerializationCluster() {}
+  virtual ~FieldSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawField* field = Field::RawCast(object);
@@ -973,8 +968,8 @@
 
 class FieldDeserializationCluster : public DeserializationCluster {
  public:
-  FieldDeserializationCluster() { }
-  virtual ~FieldDeserializationCluster() { }
+  FieldDeserializationCluster() {}
+  virtual ~FieldDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -992,8 +987,8 @@
 
     for (intptr_t id = start_index_; id < stop_index_; id++) {
       RawField* field = reinterpret_cast<RawField*>(d->Ref(id));
-      Deserializer::InitializeHeader(field, kFieldCid,
-                                     Field::InstanceSize(), is_vm_object);
+      Deserializer::InitializeHeader(field, kFieldCid, Field::InstanceSize(),
+                                     is_vm_object);
       RawObject** from = field->from();
       RawObject** to_snapshot = field->to_snapshot(kind);
       RawObject** to = field->to();
@@ -1014,8 +1009,8 @@
   }
 
   void PostLoad(const Array& refs, Snapshot::Kind kind, Zone* zone) {
-    NOT_IN_PRODUCT(TimelineDurationScope tds(Thread::Current(),
-        Timeline::GetIsolateStream(), "PostLoadField"));
+    NOT_IN_PRODUCT(TimelineDurationScope tds(
+        Thread::Current(), Timeline::GetIsolateStream(), "PostLoadField"));
 
     Field& field = Field::Handle(zone);
     if (!FLAG_use_field_guards) {
@@ -1040,8 +1035,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class LiteralTokenSerializationCluster : public SerializationCluster {
  public:
-  LiteralTokenSerializationCluster() { }
-  virtual ~LiteralTokenSerializationCluster() { }
+  LiteralTokenSerializationCluster() {}
+  virtual ~LiteralTokenSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawLiteralToken* token = LiteralToken::RawCast(object);
@@ -1085,16 +1080,16 @@
 
 class LiteralTokenDeserializationCluster : public DeserializationCluster {
  public:
-  LiteralTokenDeserializationCluster() { }
-  virtual ~LiteralTokenDeserializationCluster() { }
+  LiteralTokenDeserializationCluster() {}
+  virtual ~LiteralTokenDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         LiteralToken::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, LiteralToken::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -1104,9 +1099,8 @@
 
     for (intptr_t id = start_index_; id < stop_index_; id++) {
       RawLiteralToken* token = reinterpret_cast<RawLiteralToken*>(d->Ref(id));
-      Deserializer::InitializeHeader(token, kLiteralTokenCid,
-                                     LiteralToken::InstanceSize(),
-                                     is_vm_object);
+      Deserializer::InitializeHeader(
+          token, kLiteralTokenCid, LiteralToken::InstanceSize(), is_vm_object);
       RawObject** from = token->from();
       RawObject** to = token->to();
       for (RawObject** p = from; p <= to; p++) {
@@ -1121,8 +1115,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class TokenStreamSerializationCluster : public SerializationCluster {
  public:
-  TokenStreamSerializationCluster() { }
-  virtual ~TokenStreamSerializationCluster() { }
+  TokenStreamSerializationCluster() {}
+  virtual ~TokenStreamSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawTokenStream* stream = TokenStream::RawCast(object);
@@ -1165,16 +1159,16 @@
 
 class TokenStreamDeserializationCluster : public DeserializationCluster {
  public:
-  TokenStreamDeserializationCluster() { }
-  virtual ~TokenStreamDeserializationCluster() { }
+  TokenStreamDeserializationCluster() {}
+  virtual ~TokenStreamDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         TokenStream::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, TokenStream::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -1199,8 +1193,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class ScriptSerializationCluster : public SerializationCluster {
  public:
-  ScriptSerializationCluster() { }
-  virtual ~ScriptSerializationCluster() { }
+  ScriptSerializationCluster() {}
+  virtual ~ScriptSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawScript* script = Script::RawCast(object);
@@ -1248,8 +1242,8 @@
 
 class ScriptDeserializationCluster : public DeserializationCluster {
  public:
-  ScriptDeserializationCluster() { }
-  virtual ~ScriptDeserializationCluster() { }
+  ScriptDeserializationCluster() {}
+  virtual ~ScriptDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -1267,8 +1261,8 @@
 
     for (intptr_t id = start_index_; id < stop_index_; id++) {
       RawScript* script = reinterpret_cast<RawScript*>(d->Ref(id));
-      Deserializer::InitializeHeader(script, kScriptCid,
-                                     Script::InstanceSize(), is_vm_object);
+      Deserializer::InitializeHeader(script, kScriptCid, Script::InstanceSize(),
+                                     is_vm_object);
       RawObject** from = script->from();
       RawObject** to_snapshot = script->to_snapshot(kind);
       RawObject** to = script->to();
@@ -1291,8 +1285,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class LibrarySerializationCluster : public SerializationCluster {
  public:
-  LibrarySerializationCluster() { }
-  virtual ~LibrarySerializationCluster() { }
+  LibrarySerializationCluster() {}
+  virtual ~LibrarySerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawLibrary* lib = Library::RawCast(object);
@@ -1342,8 +1336,8 @@
 
 class LibraryDeserializationCluster : public DeserializationCluster {
  public:
-  LibraryDeserializationCluster() { }
-  virtual ~LibraryDeserializationCluster() { }
+  LibraryDeserializationCluster() {}
+  virtual ~LibraryDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -1360,8 +1354,8 @@
 
     for (intptr_t id = start_index_; id < stop_index_; id++) {
       RawLibrary* lib = reinterpret_cast<RawLibrary*>(d->Ref(id));
-      Deserializer::InitializeHeader(lib, kLibraryCid,
-                                     Library::InstanceSize(), is_vm_object);
+      Deserializer::InitializeHeader(lib, kLibraryCid, Library::InstanceSize(),
+                                     is_vm_object);
       RawObject** from = lib->from();
       RawObject** to_snapshot = lib->to_snapshot();
       RawObject** to = lib->to();
@@ -1388,8 +1382,8 @@
     // TODO(rmacnak): This is surprisingly slow, roughly 20% of deserialization
     // time for the JIT. Maybe make the lookups happy with a null?
 
-    NOT_IN_PRODUCT(TimelineDurationScope tds(Thread::Current(),
-        Timeline::GetIsolateStream(), "PostLoadLibrary"));
+    NOT_IN_PRODUCT(TimelineDurationScope tds(
+        Thread::Current(), Timeline::GetIsolateStream(), "PostLoadLibrary"));
 
     Library& lib = Library::Handle(zone);
     for (intptr_t i = start_index_; i < stop_index_; i++) {
@@ -1404,8 +1398,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class NamespaceSerializationCluster : public SerializationCluster {
  public:
-  NamespaceSerializationCluster() { }
-  virtual ~NamespaceSerializationCluster() { }
+  NamespaceSerializationCluster() {}
+  virtual ~NamespaceSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawNamespace* ns = Namespace::RawCast(object);
@@ -1448,8 +1442,8 @@
 
 class NamespaceDeserializationCluster : public DeserializationCluster {
  public:
-  NamespaceDeserializationCluster() { }
-  virtual ~NamespaceDeserializationCluster() { }
+  NamespaceDeserializationCluster() {}
+  virtual ~NamespaceDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -1481,8 +1475,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class CodeSerializationCluster : public SerializationCluster {
  public:
-  CodeSerializationCluster() { }
-  virtual ~CodeSerializationCluster() { }
+  CodeSerializationCluster() {}
+  virtual ~CodeSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawCode* code = Code::RawCast(object);
@@ -1525,8 +1519,8 @@
       }
       if (kind == Snapshot::kAppNoJIT) {
         // No disabled code in precompilation.
-        NOT_IN_PRECOMPILED(ASSERT(
-            code->ptr()->instructions_ == code->ptr()->active_instructions_));
+        NOT_IN_PRECOMPILED(ASSERT(code->ptr()->instructions_ ==
+                                  code->ptr()->active_instructions_));
       }
 
       RawInstructions* instr = code->ptr()->instructions_;
@@ -1566,8 +1560,8 @@
 
 class CodeDeserializationCluster : public DeserializationCluster {
  public:
-  CodeDeserializationCluster() { }
-  virtual ~CodeDeserializationCluster() { }
+  CodeDeserializationCluster() {}
+  virtual ~CodeDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -1584,8 +1578,8 @@
 
     for (intptr_t id = start_index_; id < stop_index_; id++) {
       RawCode* code = reinterpret_cast<RawCode*>(d->Ref(id));
-      Deserializer::InitializeHeader(code, kCodeCid,
-                                     Code::InstanceSize(0), is_vm_object);
+      Deserializer::InitializeHeader(code, kCodeCid, Code::InstanceSize(0),
+                                     is_vm_object);
 
       int32_t text_offset = d->Read<int32_t>();
       RawInstructions* instr = reinterpret_cast<RawInstructions*>(
@@ -1616,8 +1610,7 @@
           reinterpret_cast<RawExceptionHandlers*>(d->ReadRef());
       code->ptr()->pc_descriptors_ =
           reinterpret_cast<RawPcDescriptors*>(d->ReadRef());
-      code->ptr()->stackmaps_ =
-          reinterpret_cast<RawArray*>(d->ReadRef());
+      code->ptr()->stackmaps_ = reinterpret_cast<RawArray*>(d->ReadRef());
 
 #if !defined(DART_PRECOMPILED_RUNTIME)
       if (d->kind() == Snapshot::kAppWithJIT) {
@@ -1656,8 +1649,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class ObjectPoolSerializationCluster : public SerializationCluster {
  public:
-  ObjectPoolSerializationCluster() { }
-  virtual ~ObjectPoolSerializationCluster() { }
+  ObjectPoolSerializationCluster() {}
+  virtual ~ObjectPoolSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawObjectPool* pool = ObjectPool::RawCast(object);
@@ -1713,22 +1706,22 @@
               break;
             }
 #endif
-          s->WriteRef(entry.raw_obj_);
-          break;
-        }
-        case ObjectPool::kImmediate: {
-          s->Write<intptr_t>(entry.raw_value_);
-          break;
-        }
-        case ObjectPool::kNativeEntry: {
-          // Write nothing. Will initialize with the lazy link entry.
+            s->WriteRef(entry.raw_obj_);
+            break;
+          }
+          case ObjectPool::kImmediate: {
+            s->Write<intptr_t>(entry.raw_value_);
+            break;
+          }
+          case ObjectPool::kNativeEntry: {
+// Write nothing. Will initialize with the lazy link entry.
 #if defined(TARGET_ARCH_DBC)
-          UNREACHABLE();   // DBC does not support lazy native call linking.
+            UNREACHABLE();  // DBC does not support lazy native call linking.
 #endif
-          break;
-        }
-        default:
-          UNREACHABLE();
+            break;
+          }
+          default:
+            UNREACHABLE();
         }
       }
     }
@@ -1742,8 +1735,8 @@
 
 class ObjectPoolDeserializationCluster : public DeserializationCluster {
  public:
-  ObjectPoolDeserializationCluster() { }
-  virtual ~ObjectPoolDeserializationCluster() { }
+  ObjectPoolDeserializationCluster() {}
+  virtual ~ObjectPoolDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -1751,8 +1744,8 @@
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
       intptr_t length = d->Read<int32_t>();
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         ObjectPool::InstanceSize(length)));
+      d->AssignRef(
+          AllocateUninitialized(old_space, ObjectPool::InstanceSize(length)));
     }
     stop_index_ = d->next_index();
   }
@@ -1769,9 +1762,8 @@
                                      is_vm_object);
       info_array->ptr()->length_ = Smi::New(length);
       RawObjectPool* pool = reinterpret_cast<RawObjectPool*>(d->Ref(id + 0));
-      Deserializer::InitializeHeader(pool, kObjectPoolCid,
-                                     ObjectPool::InstanceSize(length),
-                                     is_vm_object);
+      Deserializer::InitializeHeader(
+          pool, kObjectPoolCid, ObjectPool::InstanceSize(length), is_vm_object);
       pool->ptr()->length_ = length;
       pool->ptr()->info_array_ = info_array;
       for (intptr_t j = 0; j < length; j++) {
@@ -1809,8 +1801,8 @@
 // PcDescriptor, Stackmap, OneByteString, TwoByteString
 class RODataSerializationCluster : public SerializationCluster {
  public:
-  explicit RODataSerializationCluster(intptr_t cid) : cid_(cid) { }
-  virtual ~RODataSerializationCluster() { }
+  explicit RODataSerializationCluster(intptr_t cid) : cid_(cid) {}
+  virtual ~RODataSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     objects_.Add(object);
@@ -1820,8 +1812,8 @@
     if (cid_ == kOneByteStringCid) {
       RawOneByteString* str = static_cast<RawOneByteString*>(object);
       if (str->ptr()->hash_ == Smi::New(0)) {
-        intptr_t hash = String::Hash(str->ptr()->data(),
-                                     Smi::Value(str->ptr()->length_));
+        intptr_t hash =
+            String::Hash(str->ptr()->data(), Smi::Value(str->ptr()->length_));
         str->ptr()->hash_ = Smi::New(hash);
       }
       ASSERT(str->ptr()->hash_ != Smi::New(0));
@@ -1861,8 +1853,8 @@
 
 class RODataDeserializationCluster : public DeserializationCluster {
  public:
-  RODataDeserializationCluster() { }
-  virtual ~RODataDeserializationCluster() { }
+  RODataDeserializationCluster() {}
+  virtual ~RODataDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     intptr_t count = d->Read<int32_t>();
@@ -1881,8 +1873,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class ExceptionHandlersSerializationCluster : public SerializationCluster {
  public:
-  ExceptionHandlersSerializationCluster() { }
-  virtual ~ExceptionHandlersSerializationCluster() { }
+  ExceptionHandlersSerializationCluster() {}
+  virtual ~ExceptionHandlersSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawExceptionHandlers* handlers = ExceptionHandlers::RawCast(object);
@@ -1926,8 +1918,8 @@
 
 class ExceptionHandlersDeserializationCluster : public DeserializationCluster {
  public:
-  ExceptionHandlersDeserializationCluster() { }
-  virtual ~ExceptionHandlersDeserializationCluster() { }
+  ExceptionHandlersDeserializationCluster() {}
+  virtual ~ExceptionHandlersDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -1935,8 +1927,8 @@
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
       intptr_t length = d->Read<int32_t>();
-      d->AssignRef(AllocateUninitialized(old_space,
-          ExceptionHandlers::InstanceSize(length)));
+      d->AssignRef(AllocateUninitialized(
+          old_space, ExceptionHandlers::InstanceSize(length)));
     }
     stop_index_ = d->next_index();
   }
@@ -1966,8 +1958,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class ContextSerializationCluster : public SerializationCluster {
  public:
-  ContextSerializationCluster() { }
-  virtual ~ContextSerializationCluster() { }
+  ContextSerializationCluster() {}
+  virtual ~ContextSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawContext* context = Context::RawCast(object);
@@ -2013,8 +2005,8 @@
 
 class ContextDeserializationCluster : public DeserializationCluster {
  public:
-  ContextDeserializationCluster() { }
-  virtual ~ContextDeserializationCluster() { }
+  ContextDeserializationCluster() {}
+  virtual ~ContextDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -2022,8 +2014,8 @@
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
       intptr_t length = d->Read<int32_t>();
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         Context::InstanceSize(length)));
+      d->AssignRef(
+          AllocateUninitialized(old_space, Context::InstanceSize(length)));
     }
     stop_index_ = d->next_index();
   }
@@ -2034,9 +2026,8 @@
     for (intptr_t id = start_index_; id < stop_index_; id++) {
       RawContext* context = reinterpret_cast<RawContext*>(d->Ref(id));
       intptr_t length = d->Read<int32_t>();
-      Deserializer::InitializeHeader(context, kContextCid,
-                                     Context::InstanceSize(length),
-                                     is_vm_object);
+      Deserializer::InitializeHeader(
+          context, kContextCid, Context::InstanceSize(length), is_vm_object);
       context->ptr()->num_variables_ = length;
       context->ptr()->parent_ = reinterpret_cast<RawContext*>(d->ReadRef());
       for (intptr_t j = 0; j < length; j++) {
@@ -2050,8 +2041,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class ContextScopeSerializationCluster : public SerializationCluster {
  public:
-  ContextScopeSerializationCluster() { }
-  virtual ~ContextScopeSerializationCluster() { }
+  ContextScopeSerializationCluster() {}
+  virtual ~ContextScopeSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawContextScope* scope = ContextScope::RawCast(object);
@@ -2100,8 +2091,8 @@
 
 class ContextScopeDeserializationCluster : public DeserializationCluster {
  public:
-  ContextScopeDeserializationCluster() { }
-  virtual ~ContextScopeDeserializationCluster() { }
+  ContextScopeDeserializationCluster() {}
+  virtual ~ContextScopeDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -2109,8 +2100,8 @@
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
       intptr_t length = d->Read<int32_t>();
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         ContextScope::InstanceSize(length)));
+      d->AssignRef(
+          AllocateUninitialized(old_space, ContextScope::InstanceSize(length)));
     }
     stop_index_ = d->next_index();
   }
@@ -2139,8 +2130,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class UnlinkedCallSerializationCluster : public SerializationCluster {
  public:
-  UnlinkedCallSerializationCluster() { }
-  virtual ~UnlinkedCallSerializationCluster() { }
+  UnlinkedCallSerializationCluster() {}
+  virtual ~UnlinkedCallSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawUnlinkedCall* unlinked = UnlinkedCall::RawCast(object);
@@ -2183,16 +2174,16 @@
 
 class UnlinkedCallDeserializationCluster : public DeserializationCluster {
  public:
-  UnlinkedCallDeserializationCluster() { }
-  virtual ~UnlinkedCallDeserializationCluster() { }
+  UnlinkedCallDeserializationCluster() {}
+  virtual ~UnlinkedCallDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         UnlinkedCall::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, UnlinkedCall::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -2219,8 +2210,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class ICDataSerializationCluster : public SerializationCluster {
  public:
-  ICDataSerializationCluster() { }
-  virtual ~ICDataSerializationCluster() { }
+  ICDataSerializationCluster() {}
+  virtual ~ICDataSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawICData* ic = ICData::RawCast(object);
@@ -2271,8 +2262,8 @@
 
 class ICDataDeserializationCluster : public DeserializationCluster {
  public:
-  ICDataDeserializationCluster() { }
-  virtual ~ICDataDeserializationCluster() { }
+  ICDataDeserializationCluster() {}
+  virtual ~ICDataDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -2290,8 +2281,8 @@
 
     for (intptr_t id = start_index_; id < stop_index_; id++) {
       RawICData* ic = reinterpret_cast<RawICData*>(d->Ref(id));
-      Deserializer::InitializeHeader(ic, kICDataCid,
-                                     ICData::InstanceSize(), is_vm_object);
+      Deserializer::InitializeHeader(ic, kICDataCid, ICData::InstanceSize(),
+                                     is_vm_object);
       RawObject** from = ic->from();
       RawObject** to_snapshot = ic->to_snapshot(kind);
       RawObject** to = ic->to();
@@ -2314,8 +2305,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class MegamorphicCacheSerializationCluster : public SerializationCluster {
  public:
-  MegamorphicCacheSerializationCluster() { }
-  virtual ~MegamorphicCacheSerializationCluster() { }
+  MegamorphicCacheSerializationCluster() {}
+  virtual ~MegamorphicCacheSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawMegamorphicCache* cache = MegamorphicCache::RawCast(object);
@@ -2359,16 +2350,16 @@
 
 class MegamorphicCacheDeserializationCluster : public DeserializationCluster {
  public:
-  MegamorphicCacheDeserializationCluster() { }
-  virtual ~MegamorphicCacheDeserializationCluster() { }
+  MegamorphicCacheDeserializationCluster() {}
+  virtual ~MegamorphicCacheDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         MegamorphicCache::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, MegamorphicCache::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -2378,7 +2369,7 @@
 
     for (intptr_t id = start_index_; id < stop_index_; id++) {
       RawMegamorphicCache* cache =
-            reinterpret_cast<RawMegamorphicCache*>(d->Ref(id));
+          reinterpret_cast<RawMegamorphicCache*>(d->Ref(id));
       Deserializer::InitializeHeader(cache, kMegamorphicCacheCid,
                                      MegamorphicCache::InstanceSize(),
                                      is_vm_object);
@@ -2396,8 +2387,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class SubtypeTestCacheSerializationCluster : public SerializationCluster {
  public:
-  SubtypeTestCacheSerializationCluster() { }
-  virtual ~SubtypeTestCacheSerializationCluster() { }
+  SubtypeTestCacheSerializationCluster() {}
+  virtual ~SubtypeTestCacheSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawSubtypeTestCache* cache = SubtypeTestCache::RawCast(object);
@@ -2431,16 +2422,16 @@
 
 class SubtypeTestCacheDeserializationCluster : public DeserializationCluster {
  public:
-  SubtypeTestCacheDeserializationCluster() { }
-  virtual ~SubtypeTestCacheDeserializationCluster() { }
+  SubtypeTestCacheDeserializationCluster() {}
+  virtual ~SubtypeTestCacheDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         SubtypeTestCache::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, SubtypeTestCache::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -2463,8 +2454,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class LanguageErrorSerializationCluster : public SerializationCluster {
  public:
-  LanguageErrorSerializationCluster() { }
-  virtual ~LanguageErrorSerializationCluster() { }
+  LanguageErrorSerializationCluster() {}
+  virtual ~LanguageErrorSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawLanguageError* error = LanguageError::RawCast(object);
@@ -2510,16 +2501,16 @@
 
 class LanguageErrorDeserializationCluster : public DeserializationCluster {
  public:
-  LanguageErrorDeserializationCluster() { }
-  virtual ~LanguageErrorDeserializationCluster() { }
+  LanguageErrorDeserializationCluster() {}
+  virtual ~LanguageErrorDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         LanguageError::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, LanguageError::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -2548,8 +2539,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class UnhandledExceptionSerializationCluster : public SerializationCluster {
  public:
-  UnhandledExceptionSerializationCluster() { }
-  virtual ~UnhandledExceptionSerializationCluster() { }
+  UnhandledExceptionSerializationCluster() {}
+  virtual ~UnhandledExceptionSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawUnhandledException* exception = UnhandledException::RawCast(object);
@@ -2592,16 +2583,16 @@
 
 class UnhandledExceptionDeserializationCluster : public DeserializationCluster {
  public:
-  UnhandledExceptionDeserializationCluster() { }
-  virtual ~UnhandledExceptionDeserializationCluster() { }
+  UnhandledExceptionDeserializationCluster() {}
+  virtual ~UnhandledExceptionDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         UnhandledException::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, UnhandledException::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -2635,7 +2626,7 @@
     ASSERT(next_field_offset_in_words_ > 0);
     ASSERT(instance_size_in_words_ > 0);
   }
-  virtual ~InstanceSerializationCluster() { }
+  virtual ~InstanceSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawInstance* instance = Instance::RawCast(object);
@@ -2692,8 +2683,8 @@
 
 class InstanceDeserializationCluster : public DeserializationCluster {
  public:
-  explicit InstanceDeserializationCluster(intptr_t cid) : cid_(cid) { }
-  virtual ~InstanceDeserializationCluster() { }
+  explicit InstanceDeserializationCluster(intptr_t cid) : cid_(cid) {}
+  virtual ~InstanceDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -2718,8 +2709,7 @@
     for (intptr_t id = start_index_; id < stop_index_; id++) {
       RawInstance* instance = reinterpret_cast<RawInstance*>(d->Ref(id));
       bool is_canonical = d->Read<bool>();
-      Deserializer::InitializeHeader(instance, cid_,
-                                     instance_size,
+      Deserializer::InitializeHeader(instance, cid_, instance_size,
                                      is_vm_object, is_canonical);
       intptr_t offset = Instance::NextFieldOffset();
       while (offset < next_field_offset) {
@@ -2748,8 +2738,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class LibraryPrefixSerializationCluster : public SerializationCluster {
  public:
-  LibraryPrefixSerializationCluster() { }
-  virtual ~LibraryPrefixSerializationCluster() { }
+  LibraryPrefixSerializationCluster() {}
+  virtual ~LibraryPrefixSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawLibraryPrefix* prefix = LibraryPrefix::RawCast(object);
@@ -2794,16 +2784,16 @@
 
 class LibraryPrefixDeserializationCluster : public DeserializationCluster {
  public:
-  LibraryPrefixDeserializationCluster() { }
-  virtual ~LibraryPrefixDeserializationCluster() { }
+  LibraryPrefixDeserializationCluster() {}
+  virtual ~LibraryPrefixDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         LibraryPrefix::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, LibraryPrefix::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -2833,8 +2823,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class TypeSerializationCluster : public SerializationCluster {
  public:
-  TypeSerializationCluster() { }
-  virtual ~TypeSerializationCluster() { }
+  TypeSerializationCluster() {}
+  virtual ~TypeSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawType* type = Type::RawCast(object);
@@ -2911,8 +2901,8 @@
 
 class TypeDeserializationCluster : public DeserializationCluster {
  public:
-  TypeDeserializationCluster() { }
-  virtual ~TypeDeserializationCluster() { }
+  TypeDeserializationCluster() {}
+  virtual ~TypeDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     canonical_start_index_ = d->next_index();
@@ -2934,12 +2924,11 @@
   void ReadFill(Deserializer* d) {
     bool is_vm_object = d->isolate() == Dart::vm_isolate();
 
-    for (intptr_t id = canonical_start_index_;
-         id < canonical_stop_index_;
+    for (intptr_t id = canonical_start_index_; id < canonical_stop_index_;
          id++) {
       RawType* type = reinterpret_cast<RawType*>(d->Ref(id));
-      Deserializer::InitializeHeader(type, kTypeCid,
-                                     Type::InstanceSize(), is_vm_object, true);
+      Deserializer::InitializeHeader(type, kTypeCid, Type::InstanceSize(),
+                                     is_vm_object, true);
       RawObject** from = type->from();
       RawObject** to = type->to();
       for (RawObject** p = from; p <= to; p++) {
@@ -2951,8 +2940,8 @@
 
     for (intptr_t id = start_index_; id < stop_index_; id++) {
       RawType* type = reinterpret_cast<RawType*>(d->Ref(id));
-      Deserializer::InitializeHeader(type, kTypeCid,
-                                     Type::InstanceSize(), is_vm_object);
+      Deserializer::InitializeHeader(type, kTypeCid, Type::InstanceSize(),
+                                     is_vm_object);
       RawObject** from = type->from();
       RawObject** to = type->to();
       for (RawObject** p = from; p <= to; p++) {
@@ -2972,8 +2961,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class TypeRefSerializationCluster : public SerializationCluster {
  public:
-  TypeRefSerializationCluster() { }
-  virtual ~TypeRefSerializationCluster() { }
+  TypeRefSerializationCluster() {}
+  virtual ~TypeRefSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawTypeRef* type = TypeRef::RawCast(object);
@@ -3016,8 +3005,8 @@
 
 class TypeRefDeserializationCluster : public DeserializationCluster {
  public:
-  TypeRefDeserializationCluster() { }
-  virtual ~TypeRefDeserializationCluster() { }
+  TypeRefDeserializationCluster() {}
+  virtual ~TypeRefDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -3034,8 +3023,8 @@
 
     for (intptr_t id = start_index_; id < stop_index_; id++) {
       RawTypeRef* type = reinterpret_cast<RawTypeRef*>(d->Ref(id));
-      Deserializer::InitializeHeader(type, kTypeRefCid,
-                                     TypeRef::InstanceSize(), is_vm_object);
+      Deserializer::InitializeHeader(type, kTypeRefCid, TypeRef::InstanceSize(),
+                                     is_vm_object);
       RawObject** from = type->from();
       RawObject** to = type->to();
       for (RawObject** p = from; p <= to; p++) {
@@ -3049,8 +3038,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class TypeParameterSerializationCluster : public SerializationCluster {
  public:
-  TypeParameterSerializationCluster() { }
-  virtual ~TypeParameterSerializationCluster() { }
+  TypeParameterSerializationCluster() {}
+  virtual ~TypeParameterSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawTypeParameter* type = TypeParameter::RawCast(object);
@@ -3099,16 +3088,16 @@
 
 class TypeParameterDeserializationCluster : public DeserializationCluster {
  public:
-  TypeParameterDeserializationCluster() { }
-  virtual ~TypeParameterDeserializationCluster() { }
+  TypeParameterDeserializationCluster() {}
+  virtual ~TypeParameterDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         TypeParameter::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, TypeParameter::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -3118,9 +3107,8 @@
 
     for (intptr_t id = start_index_; id < stop_index_; id++) {
       RawTypeParameter* type = reinterpret_cast<RawTypeParameter*>(d->Ref(id));
-      Deserializer::InitializeHeader(type, kTypeParameterCid,
-                                     TypeParameter::InstanceSize(),
-                                     is_vm_object);
+      Deserializer::InitializeHeader(
+          type, kTypeParameterCid, TypeParameter::InstanceSize(), is_vm_object);
       RawObject** from = type->from();
       RawObject** to = type->to();
       for (RawObject** p = from; p <= to; p++) {
@@ -3139,8 +3127,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class BoundedTypeSerializationCluster : public SerializationCluster {
  public:
-  BoundedTypeSerializationCluster() { }
-  virtual ~BoundedTypeSerializationCluster() { }
+  BoundedTypeSerializationCluster() {}
+  virtual ~BoundedTypeSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawBoundedType* type = BoundedType::RawCast(object);
@@ -3183,16 +3171,16 @@
 
 class BoundedTypeDeserializationCluster : public DeserializationCluster {
  public:
-  BoundedTypeDeserializationCluster() { }
-  virtual ~BoundedTypeDeserializationCluster() { }
+  BoundedTypeDeserializationCluster() {}
+  virtual ~BoundedTypeDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         BoundedType::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, BoundedType::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -3217,8 +3205,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class ClosureSerializationCluster : public SerializationCluster {
  public:
-  ClosureSerializationCluster() { }
-  virtual ~ClosureSerializationCluster() { }
+  ClosureSerializationCluster() {}
+  virtual ~ClosureSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawClosure* closure = Closure::RawCast(object);
@@ -3262,8 +3250,8 @@
 
 class ClosureDeserializationCluster : public DeserializationCluster {
  public:
-  ClosureDeserializationCluster() { }
-  virtual ~ClosureDeserializationCluster() { }
+  ClosureDeserializationCluster() {}
+  virtual ~ClosureDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -3282,8 +3270,8 @@
       RawClosure* closure = reinterpret_cast<RawClosure*>(d->Ref(id));
       bool is_canonical = d->Read<bool>();
       Deserializer::InitializeHeader(closure, kClosureCid,
-                                     Closure::InstanceSize(),
-                                     is_vm_object, is_canonical);
+                                     Closure::InstanceSize(), is_vm_object,
+                                     is_canonical);
       RawObject** from = closure->from();
       RawObject** to = closure->to();
       for (RawObject** p = from; p <= to; p++) {
@@ -3297,8 +3285,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class MintSerializationCluster : public SerializationCluster {
  public:
-  MintSerializationCluster() { }
-  virtual ~MintSerializationCluster() { }
+  MintSerializationCluster() {}
+  virtual ~MintSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     if (!object->IsHeapObject()) {
@@ -3328,7 +3316,7 @@
     }
   }
 
-  void WriteFill(Serializer* s) { }
+  void WriteFill(Serializer* s) {}
 
  private:
   GrowableArray<RawSmi*> smis_;
@@ -3339,8 +3327,8 @@
 
 class MintDeserializationCluster : public DeserializationCluster {
  public:
-  MintDeserializationCluster() { }
-  virtual ~MintDeserializationCluster() { }
+  MintDeserializationCluster() {}
+  virtual ~MintDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     PageSpace* old_space = d->heap()->old_space();
@@ -3356,8 +3344,7 @@
       } else {
         RawMint* mint = static_cast<RawMint*>(
             AllocateUninitialized(old_space, Mint::InstanceSize()));
-        Deserializer::InitializeHeader(mint, kMintCid,
-                                       Mint::InstanceSize(),
+        Deserializer::InitializeHeader(mint, kMintCid, Mint::InstanceSize(),
                                        is_vm_object, is_canonical);
         mint->ptr()->value_ = value;
         d->AssignRef(mint);
@@ -3366,11 +3353,11 @@
     stop_index_ = d->next_index();
   }
 
-  void ReadFill(Deserializer* d) { }
+  void ReadFill(Deserializer* d) {}
 
   void PostLoad(const Array& refs, Snapshot::Kind kind, Zone* zone) {
-    NOT_IN_PRODUCT(TimelineDurationScope tds(Thread::Current(),
-        Timeline::GetIsolateStream(), "PostLoadMint"));
+    NOT_IN_PRODUCT(TimelineDurationScope tds(
+        Thread::Current(), Timeline::GetIsolateStream(), "PostLoadMint"));
 
     const GrowableObjectArray& new_constants =
         GrowableObjectArray::Handle(zone, GrowableObjectArray::New());
@@ -3383,8 +3370,8 @@
     }
     const Array& constants_array =
         Array::Handle(zone, Array::MakeArray(new_constants));
-    const Class& mint_cls = Class::Handle(zone,
-        Isolate::Current()->object_store()->mint_class());
+    const Class& mint_cls =
+        Class::Handle(zone, Isolate::Current()->object_store()->mint_class());
     mint_cls.set_constants(constants_array);
   }
 };
@@ -3393,8 +3380,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class BigintSerializationCluster : public SerializationCluster {
  public:
-  BigintSerializationCluster() { }
-  virtual ~BigintSerializationCluster() { }
+  BigintSerializationCluster() {}
+  virtual ~BigintSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawBigint* bigint = Bigint::RawCast(object);
@@ -3438,8 +3425,8 @@
 
 class BigintDeserializationCluster : public DeserializationCluster {
  public:
-  BigintDeserializationCluster() { }
-  virtual ~BigintDeserializationCluster() { }
+  BigintDeserializationCluster() {}
+  virtual ~BigintDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -3457,8 +3444,7 @@
     for (intptr_t id = start_index_; id < stop_index_; id++) {
       RawBigint* bigint = reinterpret_cast<RawBigint*>(d->Ref(id));
       bool is_canonical = d->Read<bool>();
-      Deserializer::InitializeHeader(bigint, kBigintCid,
-                                     Bigint::InstanceSize(),
+      Deserializer::InitializeHeader(bigint, kBigintCid, Bigint::InstanceSize(),
                                      is_vm_object, is_canonical);
       RawObject** from = bigint->from();
       RawObject** to = bigint->to();
@@ -3473,8 +3459,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class DoubleSerializationCluster : public SerializationCluster {
  public:
-  DoubleSerializationCluster() { }
-  virtual ~DoubleSerializationCluster() { }
+  DoubleSerializationCluster() {}
+  virtual ~DoubleSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawDouble* dbl = Double::RawCast(object);
@@ -3508,8 +3494,8 @@
 
 class DoubleDeserializationCluster : public DeserializationCluster {
  public:
-  DoubleDeserializationCluster() { }
-  virtual ~DoubleDeserializationCluster() { }
+  DoubleDeserializationCluster() {}
+  virtual ~DoubleDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -3527,8 +3513,7 @@
     for (intptr_t id = start_index_; id < stop_index_; id++) {
       RawDouble* dbl = reinterpret_cast<RawDouble*>(d->Ref(id));
       bool is_canonical = d->Read<bool>();
-      Deserializer::InitializeHeader(dbl, kDoubleCid,
-                                     Double::InstanceSize(),
+      Deserializer::InitializeHeader(dbl, kDoubleCid, Double::InstanceSize(),
                                      is_vm_object, is_canonical);
       dbl->ptr()->value_ = d->Read<double>();
     }
@@ -3539,8 +3524,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class GrowableObjectArraySerializationCluster : public SerializationCluster {
  public:
-  GrowableObjectArraySerializationCluster() { }
-  virtual ~GrowableObjectArraySerializationCluster() { }
+  GrowableObjectArraySerializationCluster() {}
+  virtual ~GrowableObjectArraySerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawGrowableObjectArray* array = GrowableObjectArray::RawCast(object);
@@ -3585,8 +3570,8 @@
 class GrowableObjectArrayDeserializationCluster
     : public DeserializationCluster {
  public:
-  GrowableObjectArrayDeserializationCluster() { }
-  virtual ~GrowableObjectArrayDeserializationCluster() { }
+  GrowableObjectArrayDeserializationCluster() {}
+  virtual ~GrowableObjectArrayDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -3622,8 +3607,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class TypedDataSerializationCluster : public SerializationCluster {
  public:
-  explicit TypedDataSerializationCluster(intptr_t cid) : cid_(cid) { }
-  virtual ~TypedDataSerializationCluster() { }
+  explicit TypedDataSerializationCluster(intptr_t cid) : cid_(cid) {}
+  virtual ~TypedDataSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawTypedData* data = TypedData::RawCast(object);
@@ -3664,8 +3649,8 @@
 
 class TypedDataDeserializationCluster : public DeserializationCluster {
  public:
-  explicit TypedDataDeserializationCluster(intptr_t cid) : cid_(cid) { }
-  virtual ~TypedDataDeserializationCluster() { }
+  explicit TypedDataDeserializationCluster(intptr_t cid) : cid_(cid) {}
+  virtual ~TypedDataDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -3674,8 +3659,8 @@
     intptr_t element_size = TypedData::ElementSizeInBytes(cid_);
     for (intptr_t i = 0; i < count; i++) {
       intptr_t length = d->Read<int32_t>();
-      d->AssignRef(AllocateUninitialized(old_space,
-          TypedData::InstanceSize(length * element_size)));
+      d->AssignRef(AllocateUninitialized(
+          old_space, TypedData::InstanceSize(length * element_size)));
     }
     stop_index_ = d->next_index();
   }
@@ -3706,8 +3691,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class ExternalTypedDataSerializationCluster : public SerializationCluster {
  public:
-  explicit ExternalTypedDataSerializationCluster(intptr_t cid) : cid_(cid) { }
-  virtual ~ExternalTypedDataSerializationCluster() { }
+  explicit ExternalTypedDataSerializationCluster(intptr_t cid) : cid_(cid) {}
+  virtual ~ExternalTypedDataSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawExternalTypedData* data = ExternalTypedData::RawCast(object);
@@ -3746,16 +3731,16 @@
 
 class ExternalTypedDataDeserializationCluster : public DeserializationCluster {
  public:
-  explicit ExternalTypedDataDeserializationCluster(intptr_t cid) : cid_(cid) { }
-  virtual ~ExternalTypedDataDeserializationCluster() { }
+  explicit ExternalTypedDataDeserializationCluster(intptr_t cid) : cid_(cid) {}
+  virtual ~ExternalTypedDataDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         ExternalTypedData::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, ExternalTypedData::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -3768,9 +3753,8 @@
       RawExternalTypedData* data =
           reinterpret_cast<RawExternalTypedData*>(d->Ref(id));
       intptr_t length = d->Read<int32_t>();
-      Deserializer::InitializeHeader(data, cid_,
-                                     ExternalTypedData::InstanceSize(),
-                                     is_vm_object);
+      Deserializer::InitializeHeader(
+          data, cid_, ExternalTypedData::InstanceSize(), is_vm_object);
       data->ptr()->length_ = Smi::New(length);
       data->ptr()->data_ = const_cast<uint8_t*>(d->CurrentBufferAddress());
       d->Advance(length * element_size);
@@ -3786,8 +3770,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class StacktraceSerializationCluster : public SerializationCluster {
  public:
-  StacktraceSerializationCluster() { }
-  virtual ~StacktraceSerializationCluster() { }
+  StacktraceSerializationCluster() {}
+  virtual ~StacktraceSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawStacktrace* trace = Stacktrace::RawCast(object);
@@ -3830,16 +3814,16 @@
 
 class StacktraceDeserializationCluster : public DeserializationCluster {
  public:
-  StacktraceDeserializationCluster() { }
-  virtual ~StacktraceDeserializationCluster() { }
+  StacktraceDeserializationCluster() {}
+  virtual ~StacktraceDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         Stacktrace::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, Stacktrace::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -3864,8 +3848,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class RegExpSerializationCluster : public SerializationCluster {
  public:
-  RegExpSerializationCluster() { }
-  virtual ~RegExpSerializationCluster() { }
+  RegExpSerializationCluster() {}
+  virtual ~RegExpSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawRegExp* regexp = RegExp::RawCast(object);
@@ -3911,16 +3895,15 @@
 
 class RegExpDeserializationCluster : public DeserializationCluster {
  public:
-  RegExpDeserializationCluster() { }
-  virtual ~RegExpDeserializationCluster() { }
+  RegExpDeserializationCluster() {}
+  virtual ~RegExpDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         RegExp::InstanceSize()));
+      d->AssignRef(AllocateUninitialized(old_space, RegExp::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -3930,8 +3913,8 @@
 
     for (intptr_t id = start_index_; id < stop_index_; id++) {
       RawRegExp* regexp = reinterpret_cast<RawRegExp*>(d->Ref(id));
-      Deserializer::InitializeHeader(regexp, kRegExpCid,
-                                     RegExp::InstanceSize(), is_vm_object);
+      Deserializer::InitializeHeader(regexp, kRegExpCid, RegExp::InstanceSize(),
+                                     is_vm_object);
       RawObject** from = regexp->from();
       RawObject** to = regexp->to();
       for (RawObject** p = from; p <= to; p++) {
@@ -3948,8 +3931,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class WeakPropertySerializationCluster : public SerializationCluster {
  public:
-  WeakPropertySerializationCluster() { }
-  virtual ~WeakPropertySerializationCluster() { }
+  WeakPropertySerializationCluster() {}
+  virtual ~WeakPropertySerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawWeakProperty* property = WeakProperty::RawCast(object);
@@ -3992,16 +3975,16 @@
 
 class WeakPropertyDeserializationCluster : public DeserializationCluster {
  public:
-  WeakPropertyDeserializationCluster() { }
-  virtual ~WeakPropertyDeserializationCluster() { }
+  WeakPropertyDeserializationCluster() {}
+  virtual ~WeakPropertyDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         WeakProperty::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, WeakProperty::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -4028,8 +4011,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class LinkedHashMapSerializationCluster : public SerializationCluster {
  public:
-  LinkedHashMapSerializationCluster() { }
-  virtual ~LinkedHashMapSerializationCluster() { }
+  LinkedHashMapSerializationCluster() {}
+  virtual ~LinkedHashMapSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawLinkedHashMap* map = LinkedHashMap::RawCast(object);
@@ -4096,16 +4079,16 @@
 
 class LinkedHashMapDeserializationCluster : public DeserializationCluster {
  public:
-  LinkedHashMapDeserializationCluster() { }
-  virtual ~LinkedHashMapDeserializationCluster() { }
+  LinkedHashMapDeserializationCluster() {}
+  virtual ~LinkedHashMapDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
     PageSpace* old_space = d->heap()->old_space();
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         LinkedHashMap::InstanceSize()));
+      d->AssignRef(
+          AllocateUninitialized(old_space, LinkedHashMap::InstanceSize()));
     }
     stop_index_ = d->next_index();
   }
@@ -4156,8 +4139,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class ArraySerializationCluster : public SerializationCluster {
  public:
-  explicit ArraySerializationCluster(intptr_t cid) : cid_(cid) { }
-  virtual ~ArraySerializationCluster() { }
+  explicit ArraySerializationCluster(intptr_t cid) : cid_(cid) {}
+  virtual ~ArraySerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawArray* array = Array::RawCast(object);
@@ -4205,8 +4188,8 @@
 
 class ArrayDeserializationCluster : public DeserializationCluster {
  public:
-  explicit ArrayDeserializationCluster(intptr_t cid) : cid_(cid) { }
-  virtual ~ArrayDeserializationCluster() { }
+  explicit ArrayDeserializationCluster(intptr_t cid) : cid_(cid) {}
+  virtual ~ArrayDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -4214,8 +4197,8 @@
     intptr_t count = d->Read<int32_t>();
     for (intptr_t i = 0; i < count; i++) {
       intptr_t length = d->Read<int32_t>();
-      d->AssignRef(AllocateUninitialized(old_space,
-                                         Array::InstanceSize(length)));
+      d->AssignRef(
+          AllocateUninitialized(old_space, Array::InstanceSize(length)));
     }
     stop_index_ = d->next_index();
   }
@@ -4227,8 +4210,7 @@
       RawArray* array = reinterpret_cast<RawArray*>(d->Ref(id));
       intptr_t length = d->Read<int32_t>();
       bool is_canonical = d->Read<bool>();
-      Deserializer::InitializeHeader(array, cid_,
-                                     Array::InstanceSize(length),
+      Deserializer::InitializeHeader(array, cid_, Array::InstanceSize(length),
                                      is_vm_object, is_canonical);
       array->ptr()->type_arguments_ =
           reinterpret_cast<RawTypeArguments*>(d->ReadRef());
@@ -4247,8 +4229,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class OneByteStringSerializationCluster : public SerializationCluster {
  public:
-  OneByteStringSerializationCluster() { }
-  virtual ~OneByteStringSerializationCluster() { }
+  OneByteStringSerializationCluster() {}
+  virtual ~OneByteStringSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawOneByteString* str = reinterpret_cast<RawOneByteString*>(object);
@@ -4288,8 +4270,8 @@
 
 class OneByteStringDeserializationCluster : public DeserializationCluster {
  public:
-  OneByteStringDeserializationCluster() { }
-  virtual ~OneByteStringDeserializationCluster() { }
+  OneByteStringDeserializationCluster() {}
+  virtual ~OneByteStringDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -4326,8 +4308,8 @@
 #if !defined(DART_PRECOMPILED_RUNTIME)
 class TwoByteStringSerializationCluster : public SerializationCluster {
  public:
-  TwoByteStringSerializationCluster() { }
-  virtual ~TwoByteStringSerializationCluster() { }
+  TwoByteStringSerializationCluster() {}
+  virtual ~TwoByteStringSerializationCluster() {}
 
   void Trace(Serializer* s, RawObject* object) {
     RawTwoByteString* str = reinterpret_cast<RawTwoByteString*>(object);
@@ -4367,8 +4349,8 @@
 
 class TwoByteStringDeserializationCluster : public DeserializationCluster {
  public:
-  TwoByteStringDeserializationCluster() { }
-  virtual ~TwoByteStringDeserializationCluster() { }
+  TwoByteStringDeserializationCluster() {}
+  virtual ~TwoByteStringDeserializationCluster() {}
 
   void ReadAlloc(Deserializer* d) {
     start_index_ = d->next_index();
@@ -4386,8 +4368,7 @@
     bool is_vm_object = d->isolate() == Dart::vm_isolate();
 
     for (intptr_t id = start_index_; id < stop_index_; id++) {
-      RawTwoByteString* str =
-          reinterpret_cast<RawTwoByteString*>(d->Ref(id));
+      RawTwoByteString* str = reinterpret_cast<RawTwoByteString*>(d->Ref(id));
       intptr_t length = d->Read<int32_t>();
       bool is_canonical = d->Read<bool>();
       Deserializer::InitializeHeader(str, kTwoByteStringCid,
@@ -4439,8 +4420,7 @@
   return NULL;
 #else
   Zone* Z = zone_;
-  if ((cid >= kNumPredefinedCids) ||
-      (cid == kInstanceCid) ||
+  if ((cid >= kNumPredefinedCids) || (cid == kInstanceCid) ||
       RawObject::IsTypedDataViewClassId(cid)) {
     Push(isolate()->class_table()->At(cid));
     return new (Z) InstanceSerializationCluster(cid);
@@ -4453,33 +4433,50 @@
   }
 
   switch (cid) {
-    case kClassCid: return new (Z) ClassSerializationCluster(num_cids_);
+    case kClassCid:
+      return new (Z) ClassSerializationCluster(num_cids_);
     case kUnresolvedClassCid:
       return new (Z) UnresolvedClassSerializationCluster();
-    case kTypeArgumentsCid: return new (Z) TypeArgumentsSerializationCluster();
-    case kPatchClassCid: return new (Z) PatchClassSerializationCluster();
-    case kFunctionCid: return new (Z) FunctionSerializationCluster();
-    case kClosureDataCid: return new (Z) ClosureDataSerializationCluster();
+    case kTypeArgumentsCid:
+      return new (Z) TypeArgumentsSerializationCluster();
+    case kPatchClassCid:
+      return new (Z) PatchClassSerializationCluster();
+    case kFunctionCid:
+      return new (Z) FunctionSerializationCluster();
+    case kClosureDataCid:
+      return new (Z) ClosureDataSerializationCluster();
     case kRedirectionDataCid:
       return new (Z) RedirectionDataSerializationCluster();
-    case kFieldCid: return new (Z) FieldSerializationCluster();
-    case kLiteralTokenCid: return new (Z) LiteralTokenSerializationCluster();
-    case kTokenStreamCid: return new (Z) TokenStreamSerializationCluster();
-    case kScriptCid: return new (Z) ScriptSerializationCluster();
-    case kLibraryCid: return new (Z) LibrarySerializationCluster();
-    case kNamespaceCid: return new (Z) NamespaceSerializationCluster();
-    case kCodeCid: return new (Z) CodeSerializationCluster();
-    case kObjectPoolCid: return new (Z) ObjectPoolSerializationCluster();
+    case kFieldCid:
+      return new (Z) FieldSerializationCluster();
+    case kLiteralTokenCid:
+      return new (Z) LiteralTokenSerializationCluster();
+    case kTokenStreamCid:
+      return new (Z) TokenStreamSerializationCluster();
+    case kScriptCid:
+      return new (Z) ScriptSerializationCluster();
+    case kLibraryCid:
+      return new (Z) LibrarySerializationCluster();
+    case kNamespaceCid:
+      return new (Z) NamespaceSerializationCluster();
+    case kCodeCid:
+      return new (Z) CodeSerializationCluster();
+    case kObjectPoolCid:
+      return new (Z) ObjectPoolSerializationCluster();
     case kPcDescriptorsCid:
       return new (Z) RODataSerializationCluster(kPcDescriptorsCid);
     case kStackmapCid:
       return new (Z) RODataSerializationCluster(kStackmapCid);
     case kExceptionHandlersCid:
       return new (Z) ExceptionHandlersSerializationCluster();
-    case kContextCid: return new (Z) ContextSerializationCluster();
-    case kContextScopeCid: return new (Z) ContextScopeSerializationCluster();
-    case kUnlinkedCallCid: return new (Z) UnlinkedCallSerializationCluster();
-    case kICDataCid: return new (Z) ICDataSerializationCluster();
+    case kContextCid:
+      return new (Z) ContextSerializationCluster();
+    case kContextScopeCid:
+      return new (Z) ContextScopeSerializationCluster();
+    case kUnlinkedCallCid:
+      return new (Z) UnlinkedCallSerializationCluster();
+    case kICDataCid:
+      return new (Z) ICDataSerializationCluster();
     case kMegamorphicCacheCid:
       return new (Z) MegamorphicCacheSerializationCluster();
     case kSubtypeTestCacheCid:
@@ -4488,21 +4485,34 @@
       return new (Z) LanguageErrorSerializationCluster();
     case kUnhandledExceptionCid:
       return new (Z) UnhandledExceptionSerializationCluster();
-    case kLibraryPrefixCid: return new (Z) LibraryPrefixSerializationCluster();
-    case kTypeCid: return new (Z) TypeSerializationCluster();
-    case kTypeRefCid: return new (Z) TypeRefSerializationCluster();
-    case kTypeParameterCid: return new (Z) TypeParameterSerializationCluster();
-    case kBoundedTypeCid: return new (Z) BoundedTypeSerializationCluster();
-    case kClosureCid: return new (Z) ClosureSerializationCluster();
-    case kMintCid: return new (Z) MintSerializationCluster();
-    case kBigintCid: return new (Z) BigintSerializationCluster();
-    case kDoubleCid: return new (Z) DoubleSerializationCluster();
+    case kLibraryPrefixCid:
+      return new (Z) LibraryPrefixSerializationCluster();
+    case kTypeCid:
+      return new (Z) TypeSerializationCluster();
+    case kTypeRefCid:
+      return new (Z) TypeRefSerializationCluster();
+    case kTypeParameterCid:
+      return new (Z) TypeParameterSerializationCluster();
+    case kBoundedTypeCid:
+      return new (Z) BoundedTypeSerializationCluster();
+    case kClosureCid:
+      return new (Z) ClosureSerializationCluster();
+    case kMintCid:
+      return new (Z) MintSerializationCluster();
+    case kBigintCid:
+      return new (Z) BigintSerializationCluster();
+    case kDoubleCid:
+      return new (Z) DoubleSerializationCluster();
     case kGrowableObjectArrayCid:
       return new (Z) GrowableObjectArraySerializationCluster();
-    case kStacktraceCid: return new (Z) StacktraceSerializationCluster();
-    case kRegExpCid: return new (Z) RegExpSerializationCluster();
-    case kWeakPropertyCid: return new (Z) WeakPropertySerializationCluster();
-    case kLinkedHashMapCid: return new (Z) LinkedHashMapSerializationCluster();
+    case kStacktraceCid:
+      return new (Z) StacktraceSerializationCluster();
+    case kRegExpCid:
+      return new (Z) RegExpSerializationCluster();
+    case kWeakPropertyCid:
+      return new (Z) WeakPropertySerializationCluster();
+    case kLinkedHashMapCid:
+      return new (Z) LinkedHashMapSerializationCluster();
     case kArrayCid:
       return new (Z) ArraySerializationCluster(kArrayCid);
     case kImmutableArrayCid:
@@ -4521,7 +4531,8 @@
         return new (Z) TwoByteStringSerializationCluster();
       }
     }
-    default: break;
+    default:
+      break;
   }
 
   FATAL1("No cluster defined for cid %" Pd, cid);
@@ -4764,8 +4775,7 @@
   intptr_t cid = ReadCid();
 
   Zone* Z = zone_;
-  if ((cid >= kNumPredefinedCids) ||
-      (cid == kInstanceCid) ||
+  if ((cid >= kNumPredefinedCids) || (cid == kInstanceCid) ||
       RawObject::IsTypedDataViewClassId(cid)) {
     return new (Z) InstanceDeserializationCluster(cid);
   }
@@ -4777,33 +4787,49 @@
   }
 
   switch (cid) {
-    case kClassCid: return new (Z) ClassDeserializationCluster();
+    case kClassCid:
+      return new (Z) ClassDeserializationCluster();
     case kUnresolvedClassCid:
       return new (Z) UnresolvedClassDeserializationCluster();
     case kTypeArgumentsCid:
       return new (Z) TypeArgumentsDeserializationCluster();
-    case kPatchClassCid: return new (Z) PatchClassDeserializationCluster();
-    case kFunctionCid: return new (Z) FunctionDeserializationCluster();
-    case kClosureDataCid: return new (Z) ClosureDataDeserializationCluster();
+    case kPatchClassCid:
+      return new (Z) PatchClassDeserializationCluster();
+    case kFunctionCid:
+      return new (Z) FunctionDeserializationCluster();
+    case kClosureDataCid:
+      return new (Z) ClosureDataDeserializationCluster();
     case kRedirectionDataCid:
       return new (Z) RedirectionDataDeserializationCluster();
-    case kFieldCid: return new (Z) FieldDeserializationCluster();
-    case kLiteralTokenCid: return new (Z) LiteralTokenDeserializationCluster();
-    case kTokenStreamCid: return new (Z) TokenStreamDeserializationCluster();
-    case kScriptCid: return new (Z) ScriptDeserializationCluster();
-    case kLibraryCid: return new (Z) LibraryDeserializationCluster();
-    case kNamespaceCid: return new (Z) NamespaceDeserializationCluster();
-    case kCodeCid: return new (Z) CodeDeserializationCluster();
-    case kObjectPoolCid: return new (Z) ObjectPoolDeserializationCluster();
+    case kFieldCid:
+      return new (Z) FieldDeserializationCluster();
+    case kLiteralTokenCid:
+      return new (Z) LiteralTokenDeserializationCluster();
+    case kTokenStreamCid:
+      return new (Z) TokenStreamDeserializationCluster();
+    case kScriptCid:
+      return new (Z) ScriptDeserializationCluster();
+    case kLibraryCid:
+      return new (Z) LibraryDeserializationCluster();
+    case kNamespaceCid:
+      return new (Z) NamespaceDeserializationCluster();
+    case kCodeCid:
+      return new (Z) CodeDeserializationCluster();
+    case kObjectPoolCid:
+      return new (Z) ObjectPoolDeserializationCluster();
     case kPcDescriptorsCid:
     case kStackmapCid:
       return new (Z) RODataDeserializationCluster();
     case kExceptionHandlersCid:
       return new (Z) ExceptionHandlersDeserializationCluster();
-    case kContextCid: return new (Z) ContextDeserializationCluster();
-    case kContextScopeCid: return new (Z) ContextScopeDeserializationCluster();
-    case kUnlinkedCallCid: return new (Z) UnlinkedCallDeserializationCluster();
-    case kICDataCid: return new (Z) ICDataDeserializationCluster();
+    case kContextCid:
+      return new (Z) ContextDeserializationCluster();
+    case kContextScopeCid:
+      return new (Z) ContextScopeDeserializationCluster();
+    case kUnlinkedCallCid:
+      return new (Z) UnlinkedCallDeserializationCluster();
+    case kICDataCid:
+      return new (Z) ICDataDeserializationCluster();
     case kMegamorphicCacheCid:
       return new (Z) MegamorphicCacheDeserializationCluster();
     case kSubtypeTestCacheCid:
@@ -4814,20 +4840,30 @@
       return new (Z) UnhandledExceptionDeserializationCluster();
     case kLibraryPrefixCid:
       return new (Z) LibraryPrefixDeserializationCluster();
-    case kTypeCid: return new (Z) TypeDeserializationCluster();
-    case kTypeRefCid: return new (Z) TypeRefDeserializationCluster();
+    case kTypeCid:
+      return new (Z) TypeDeserializationCluster();
+    case kTypeRefCid:
+      return new (Z) TypeRefDeserializationCluster();
     case kTypeParameterCid:
       return new (Z) TypeParameterDeserializationCluster();
-    case kBoundedTypeCid: return new (Z) BoundedTypeDeserializationCluster();
-    case kClosureCid: return new (Z) ClosureDeserializationCluster();
-    case kMintCid: return new (Z) MintDeserializationCluster();
-    case kBigintCid: return new (Z) BigintDeserializationCluster();
-    case kDoubleCid: return new (Z) DoubleDeserializationCluster();
+    case kBoundedTypeCid:
+      return new (Z) BoundedTypeDeserializationCluster();
+    case kClosureCid:
+      return new (Z) ClosureDeserializationCluster();
+    case kMintCid:
+      return new (Z) MintDeserializationCluster();
+    case kBigintCid:
+      return new (Z) BigintDeserializationCluster();
+    case kDoubleCid:
+      return new (Z) DoubleDeserializationCluster();
     case kGrowableObjectArrayCid:
       return new (Z) GrowableObjectArrayDeserializationCluster();
-    case kStacktraceCid: return new (Z) StacktraceDeserializationCluster();
-    case kRegExpCid: return new (Z) RegExpDeserializationCluster();
-    case kWeakPropertyCid: return new (Z) WeakPropertyDeserializationCluster();
+    case kStacktraceCid:
+      return new (Z) StacktraceDeserializationCluster();
+    case kRegExpCid:
+      return new (Z) RegExpDeserializationCluster();
+    case kWeakPropertyCid:
+      return new (Z) WeakPropertyDeserializationCluster();
     case kLinkedHashMapCid:
       return new (Z) LinkedHashMapDeserializationCluster();
     case kArrayCid:
@@ -4848,7 +4884,8 @@
         return new (Z) TwoByteStringDeserializationCluster();
       }
     }
-    default: break;
+    default:
+      break;
   }
   FATAL1("No cluster defined for cid %" Pd, cid);
   return NULL;
@@ -4865,8 +4902,7 @@
   if (PendingBytes() < version_len) {
     const intptr_t kMessageBufferSize = 128;
     char message_buffer[kMessageBufferSize];
-    OS::SNPrint(message_buffer,
-                kMessageBufferSize,
+    OS::SNPrint(message_buffer, kMessageBufferSize,
                 "No full snapshot version found, expected '%s'",
                 expected_version);
     // This can also fail while bringing up the VM isolate, so make sure to
@@ -4881,11 +4917,9 @@
     const intptr_t kMessageBufferSize = 256;
     char message_buffer[kMessageBufferSize];
     char* actual_version = OS::StrNDup(version, version_len);
-    OS::SNPrint(message_buffer,
-                kMessageBufferSize,
+    OS::SNPrint(message_buffer, kMessageBufferSize,
                 "Wrong %s snapshot version, expected '%s' found '%s'",
-                (Snapshot::IsFull(kind_)) ? "full" : "script",
-                expected_version,
+                (Snapshot::IsFull(kind_)) ? "full" : "script", expected_version,
                 actual_version);
     free(actual_version);
     // This can also fail while bringing up the VM isolate, so make sure to
@@ -4906,13 +4940,11 @@
       strncmp(features, expected_features, expected_len)) {
     const intptr_t kMessageBufferSize = 256;
     char message_buffer[kMessageBufferSize];
-    char* actual_features = OS::StrNDup(features, buffer_len < 128 ? buffer_len
-                                                                   : 128);
-    OS::SNPrint(message_buffer,
-                kMessageBufferSize,
+    char* actual_features =
+        OS::StrNDup(features, buffer_len < 128 ? buffer_len : 128);
+    OS::SNPrint(message_buffer, kMessageBufferSize,
                 "Wrong features in snapshot, expected '%s' found '%s'",
-                expected_features,
-                actual_features);
+                expected_features, actual_features);
     free(const_cast<char*>(expected_features));
     free(actual_features);
     // This can also fail while bringing up the VM isolate, so make sure to
@@ -4939,8 +4971,8 @@
   // TODO(rmacnak): Verify num of base objects.
 
   {
-    NOT_IN_PRODUCT(TimelineDurationScope tds(thread(),
-        Timeline::GetIsolateStream(), "ReadAlloc"));
+    NOT_IN_PRODUCT(TimelineDurationScope tds(
+        thread(), Timeline::GetIsolateStream(), "ReadAlloc"));
     for (intptr_t i = 0; i < num_clusters_; i++) {
       clusters_[i] = ReadCluster();
       clusters_[i]->ReadAlloc(this);
@@ -4955,8 +4987,8 @@
   ASSERT((next_ref_index_ - 1) == num_objects_);
 
   {
-    NOT_IN_PRODUCT(TimelineDurationScope tds(thread(),
-        Timeline::GetIsolateStream(), "ReadFill"));
+    NOT_IN_PRODUCT(TimelineDurationScope tds(
+        thread(), Timeline::GetIsolateStream(), "ReadFill"));
     for (intptr_t i = 0; i < num_clusters_; i++) {
       clusters_[i]->ReadFill(this);
 #if defined(DEBUG)
@@ -4971,11 +5003,9 @@
  public:
   HeapLocker(Thread* thread, PageSpace* page_space)
       : StackResource(thread), page_space_(page_space) {
-        page_space_->AcquireDataLock();
+    page_space_->AcquireDataLock();
   }
-  ~HeapLocker() {
-    page_space_->ReleaseDataLock();
-  }
+  ~HeapLocker() { page_space_->ReleaseDataLock(); }
 
  private:
   PageSpace* page_space_;
@@ -5100,8 +5130,8 @@
 #endif
 
   {
-    NOT_IN_PRODUCT(TimelineDurationScope tds(thread(),
-        Timeline::GetIsolateStream(), "PostLoad"));
+    NOT_IN_PRODUCT(TimelineDurationScope tds(
+        thread(), Timeline::GetIsolateStream(), "PostLoad"));
     for (intptr_t i = 0; i < num_clusters_; i++) {
       clusters_[i]->PostLoad(refs, kind_, zone_);
     }
@@ -5118,15 +5148,15 @@
 // they will be shared across all isolates.
 class SnapshotTokenStreamVisitor : public ObjectVisitor {
  public:
-  explicit SnapshotTokenStreamVisitor(Thread* thread) :
-      objHandle_(Object::Handle(thread->zone())),
-      count_(0),
-      token_streams_(NULL) {}
+  explicit SnapshotTokenStreamVisitor(Thread* thread)
+      : objHandle_(Object::Handle(thread->zone())),
+        count_(0),
+        token_streams_(NULL) {}
 
-  SnapshotTokenStreamVisitor(Thread* thread, const Array* token_streams) :
-      objHandle_(Object::Handle(thread->zone())),
-      count_(0),
-      token_streams_(token_streams) {}
+  SnapshotTokenStreamVisitor(Thread* thread, const Array* token_streams)
+      : objHandle_(Object::Handle(thread->zone())),
+        count_(0),
+        token_streams_(token_streams) {}
 
   void VisitObject(RawObject* obj) {
     if (obj->IsTokenStream()) {
@@ -5180,8 +5210,8 @@
   ASSERT(isolate()->background_compiler() == NULL);
 
   if (vm_isolate_snapshot_buffer != NULL) {
-    NOT_IN_PRODUCT(TimelineDurationScope tds(thread(),
-        Timeline::GetIsolateStream(), "PrepareNewVMIsolate"));
+    NOT_IN_PRODUCT(TimelineDurationScope tds(
+        thread(), Timeline::GetIsolateStream(), "PrepareNewVMIsolate"));
 
     // Collect all the token stream objects into an array so that we can write
     // it out as part of the VM isolate snapshot. We first count the number of
@@ -5224,16 +5254,12 @@
 
 
 intptr_t FullSnapshotWriter::WriteVmIsolateSnapshot() {
-  NOT_IN_PRODUCT(TimelineDurationScope tds(thread(),
-      Timeline::GetIsolateStream(), "WriteVmIsolateSnapshot"));
+  NOT_IN_PRODUCT(TimelineDurationScope tds(
+      thread(), Timeline::GetIsolateStream(), "WriteVmIsolateSnapshot"));
 
   ASSERT(vm_isolate_snapshot_buffer_ != NULL);
-  Serializer serializer(thread(),
-                        kind_,
-                        vm_isolate_snapshot_buffer_,
-                        alloc_,
-                        kInitialSize,
-                        instructions_writer_);
+  Serializer serializer(thread(), kind_, vm_isolate_snapshot_buffer_, alloc_,
+                        kInitialSize, instructions_writer_);
 
   serializer.ReserveHeader();
   serializer.WriteVersionAndFeatures();
@@ -5243,8 +5269,8 @@
    * - all the token streams
    * - the stub code (precompiled snapshots only)
    **/
-  intptr_t num_objects = serializer.WriteVMSnapshot(new_vm_symbol_table_,
-                                                    token_streams_);
+  intptr_t num_objects =
+      serializer.WriteVMSnapshot(new_vm_symbol_table_, token_streams_);
   serializer.FillHeader(serializer.kind());
 
   vm_isolate_snapshot_size_ = serializer.bytes_written();
@@ -5252,17 +5278,12 @@
 }
 
 
-void FullSnapshotWriter::WriteIsolateFullSnapshot(
-    intptr_t num_base_objects) {
-  NOT_IN_PRODUCT(TimelineDurationScope tds(thread(),
-      Timeline::GetIsolateStream(), "WriteIsolateFullSnapshot"));
+void FullSnapshotWriter::WriteIsolateFullSnapshot(intptr_t num_base_objects) {
+  NOT_IN_PRODUCT(TimelineDurationScope tds(
+      thread(), Timeline::GetIsolateStream(), "WriteIsolateFullSnapshot"));
 
-  Serializer serializer(thread(),
-                        kind_,
-                        isolate_snapshot_buffer_,
-                        alloc_,
-                        kInitialSize,
-                        instructions_writer_);
+  Serializer serializer(thread(), kind_, isolate_snapshot_buffer_, alloc_,
+                        kInitialSize, instructions_writer_);
   ObjectStore* object_store = isolate()->object_store();
   ASSERT(object_store != NULL);
 
@@ -5287,10 +5308,9 @@
   WriteIsolateFullSnapshot(num_base_objects);
 
   if (Snapshot::IncludesCode(kind_)) {
-    instructions_writer_->Write(*vm_isolate_snapshot_buffer_,
-                                vm_isolate_snapshot_size_,
-                                *isolate_snapshot_buffer_,
-                                isolate_snapshot_size_);
+    instructions_writer_->Write(
+        *vm_isolate_snapshot_buffer_, vm_isolate_snapshot_size_,
+        *isolate_snapshot_buffer_, isolate_snapshot_size_);
 
     OS::Print("VMIsolate(CodeSize): %" Pd "\n", VmIsolateSnapshotSize());
     OS::Print("Isolate(CodeSize): %" Pd "\n", IsolateSnapshotSize());
@@ -5298,8 +5318,7 @@
               instructions_writer_->data_size());
     OS::Print("Instructions(CodeSize): %" Pd "\n",
               instructions_writer_->text_size());
-    intptr_t total = VmIsolateSnapshotSize() +
-                     IsolateSnapshotSize() +
+    intptr_t total = VmIsolateSnapshotSize() + IsolateSnapshotSize() +
                      instructions_writer_->data_size() +
                      instructions_writer_->text_size();
     OS::Print("Total(CodeSize): %" Pd "\n", total);
@@ -5308,12 +5327,8 @@
 
 
 RawApiError* IsolateSnapshotReader::ReadFullSnapshot() {
-  Deserializer deserializer(thread_,
-                            kind_,
-                            buffer_,
-                            size_,
-                            instructions_buffer_,
-                            data_buffer_);
+  Deserializer deserializer(thread_, kind_, buffer_, size_,
+                            instructions_buffer_, data_buffer_);
 
   RawApiError* error = deserializer.VerifyVersionAndFeatures();
   if (error != ApiError::null()) {
@@ -5327,12 +5342,8 @@
 
 
 RawApiError* VmIsolateSnapshotReader::ReadVmIsolateSnapshot() {
-  Deserializer deserializer(thread_,
-                            kind_,
-                            buffer_,
-                            size_,
-                            instructions_buffer_,
-                            data_buffer_);
+  Deserializer deserializer(thread_, kind_, buffer_, size_,
+                            instructions_buffer_, data_buffer_);
 
   RawApiError* error = deserializer.VerifyVersionAndFeatures();
   if (error != ApiError::null()) {
diff --git a/runtime/vm/clustered_snapshot.h b/runtime/vm/clustered_snapshot.h
index 8aba9e1..21fc29c 100644
--- a/runtime/vm/clustered_snapshot.h
+++ b/runtime/vm/clustered_snapshot.h
@@ -46,7 +46,7 @@
 
 class SerializationCluster : public ZoneAllocated {
  public:
-  virtual ~SerializationCluster() { }
+  virtual ~SerializationCluster() {}
 
   // Add [object] to the cluster and push its outgoing references.
   virtual void Trace(Serializer* serializer, RawObject* object) = 0;
@@ -63,8 +63,8 @@
 
 class DeserializationCluster : public ZoneAllocated {
  public:
-  DeserializationCluster() : start_index_(-1), stop_index_(-1) { }
-  virtual ~DeserializationCluster() { }
+  DeserializationCluster() : start_index_(-1), stop_index_(-1) {}
+  virtual ~DeserializationCluster() {}
 
   // Allocate memory for all objects in the cluster and write their addresses
   // into the ref array. Do not touch this memory.
@@ -75,7 +75,7 @@
 
   // Complete any action that requires the full graph to be deserialized, such
   // as rehashing.
-  virtual void PostLoad(const Array& refs, Snapshot::Kind kind, Zone* zone) { }
+  virtual void PostLoad(const Array& refs, Snapshot::Kind kind, Zone* zone) {}
 
  protected:
   // The range of the ref array that belongs to this cluster.
@@ -86,7 +86,7 @@
 
 class SmiObjectIdPair {
  public:
-  SmiObjectIdPair() : smi_(NULL), id_(0) { }
+  SmiObjectIdPair() : smi_(NULL), id_(0) {}
   RawSmi* smi_;
   intptr_t id_;
 
@@ -186,9 +186,7 @@
     }
   }
 
-  void AddUntracedRef() {
-    num_written_objects_++;
-  }
+  void AddUntracedRef() { num_written_objects_++; }
 
   void Trace(RawObject* object);
 
@@ -314,25 +312,17 @@
     return ReadStream::Raw<sizeof(T), T>::Read(&stream_);
   }
 
-  void ReadBytes(uint8_t* addr, intptr_t len) {
-    stream_.ReadBytes(addr, len);
-  }
+  void ReadBytes(uint8_t* addr, intptr_t len) { stream_.ReadBytes(addr, len); }
 
   const uint8_t* CurrentBufferAddress() const {
     return stream_.AddressOfCurrentPosition();
   }
 
-  void Advance(intptr_t value) {
-    stream_.Advance(value);
-  }
+  void Advance(intptr_t value) { stream_.Advance(value); }
 
-  intptr_t PendingBytes() const {
-    return stream_.PendingBytes();
-  }
+  intptr_t PendingBytes() const { return stream_.PendingBytes(); }
 
-  void AddBaseObject(RawObject* base_object) {
-    AssignRef(base_object);
-  }
+  void AddBaseObject(RawObject* base_object) { AssignRef(base_object); }
 
   void AssignRef(RawObject* object) {
     ASSERT(next_ref_index_ <= num_objects_);
@@ -407,9 +397,7 @@
     return vm_isolate_snapshot_buffer_;
   }
 
-  uint8_t** isolate_snapshot_buffer() const {
-    return isolate_snapshot_buffer_;
-  }
+  uint8_t** isolate_snapshot_buffer() const { return isolate_snapshot_buffer_; }
 
   Thread* thread() const { return thread_; }
   Zone* zone() const { return thread_->zone(); }
@@ -419,12 +407,8 @@
   // Writes a full snapshot of the Isolate.
   void WriteFullSnapshot();
 
-  intptr_t VmIsolateSnapshotSize() const {
-    return vm_isolate_snapshot_size_;
-  }
-  intptr_t IsolateSnapshotSize() const {
-    return isolate_snapshot_size_;
-  }
+  intptr_t VmIsolateSnapshotSize() const { return vm_isolate_snapshot_size_; }
+  intptr_t IsolateSnapshotSize() const { return isolate_snapshot_size_; }
 
  private:
   // Writes a snapshot of the VM Isolate.
@@ -457,17 +441,17 @@
                           intptr_t size,
                           const uint8_t* instructions_buffer,
                           const uint8_t* data_buffer,
-                          Thread* thread) :
-      kind_(kind),
-      thread_(thread),
-      buffer_(buffer),
-      size_(size),
-      instructions_buffer_(instructions_buffer),
-      data_buffer_(data_buffer) {
+                          Thread* thread)
+      : kind_(kind),
+        thread_(thread),
+        buffer_(buffer),
+        size_(size),
+        instructions_buffer_(instructions_buffer),
+        data_buffer_(data_buffer) {
     thread->isolate()->set_compilation_allowed(kind != Snapshot::kAppNoJIT);
   }
 
-  ~VmIsolateSnapshotReader() { }
+  ~VmIsolateSnapshotReader() {}
 
   RawApiError* ReadVmIsolateSnapshot();
 
@@ -490,13 +474,13 @@
                         intptr_t size,
                         const uint8_t* instructions_buffer,
                         const uint8_t* data_buffer,
-                        Thread* thread) :
-      kind_(kind),
-      thread_(thread),
-      buffer_(buffer),
-      size_(size),
-      instructions_buffer_(instructions_buffer),
-      data_buffer_(data_buffer) {
+                        Thread* thread)
+      : kind_(kind),
+        thread_(thread),
+        buffer_(buffer),
+        size_(size),
+        instructions_buffer_(instructions_buffer),
+        data_buffer_(data_buffer) {
     thread->isolate()->set_compilation_allowed(kind != Snapshot::kAppNoJIT);
   }
 
diff --git a/runtime/vm/code_descriptors.cc b/runtime/vm/code_descriptors.cc
index b7b4326..ece0fd8 100644
--- a/runtime/vm/code_descriptors.cc
+++ b/runtime/vm/code_descriptors.cc
@@ -41,7 +41,6 @@
 }
 
 
-
 void CodeSourceMapBuilder::AddEntry(intptr_t pc_offset,
                                     TokenPosition token_pos) {
   // Require pc offset to monotonically increase.
@@ -119,19 +118,13 @@
       // Check it is uninitialized.
       ASSERT((list_[i].outer_try_index == -1) &&
              (list_[i].pc_offset == ExceptionHandlers::kInvalidPcOffset));
-      handlers.SetHandlerInfo(i,
-                              list_[i].outer_try_index,
-                              list_[i].pc_offset,
-                              list_[i].needs_stacktrace,
-                              has_catch_all);
+      handlers.SetHandlerInfo(i, list_[i].outer_try_index, list_[i].pc_offset,
+                              list_[i].needs_stacktrace, has_catch_all);
       handlers.SetHandledTypes(i, Array::empty_array());
     } else {
       const bool has_catch_all = ContainsDynamic(*list_[i].handler_types);
-      handlers.SetHandlerInfo(i,
-                              list_[i].outer_try_index,
-                              list_[i].pc_offset,
-                              list_[i].needs_stacktrace,
-                              has_catch_all);
+      handlers.SetHandlerInfo(i, list_[i].outer_try_index, list_[i].pc_offset,
+                              list_[i].needs_stacktrace, has_catch_all);
       handlers.SetHandledTypes(i, *list_[i].handler_types);
     }
   }
diff --git a/runtime/vm/code_descriptors.h b/runtime/vm/code_descriptors.h
index ef56938..58f1af7 100644
--- a/runtime/vm/code_descriptors.h
+++ b/runtime/vm/code_descriptors.h
@@ -16,12 +16,12 @@
 class DescriptorList : public ZoneAllocated {
  public:
   explicit DescriptorList(intptr_t initial_capacity)
-    : encoded_data_(initial_capacity),
-      prev_pc_offset(0),
-      prev_deopt_id(0),
-      prev_token_pos(0) {}
+      : encoded_data_(initial_capacity),
+        prev_pc_offset(0),
+        prev_deopt_id(0),
+        prev_token_pos(0) {}
 
-  ~DescriptorList() { }
+  ~DescriptorList() {}
 
   void AddDescriptor(RawPcDescriptors::Kind kind,
                      intptr_t pc_offset,
@@ -45,11 +45,9 @@
 class CodeSourceMapBuilder : public ZoneAllocated {
  public:
   explicit CodeSourceMapBuilder(intptr_t initial_capacity = 64)
-    : encoded_data_(initial_capacity),
-      prev_pc_offset(0),
-      prev_token_pos(0) {}
+      : encoded_data_(initial_capacity), prev_pc_offset(0), prev_token_pos(0) {}
 
-  ~CodeSourceMapBuilder() { }
+  ~CodeSourceMapBuilder() {}
 
   void AddEntry(intptr_t pc_offset, TokenPosition token_pos);
 
@@ -70,8 +68,8 @@
   StackmapTableBuilder()
       : stack_map_(Stackmap::ZoneHandle()),
         list_(GrowableObjectArray::ZoneHandle(
-            GrowableObjectArray::New(Heap::kOld))) { }
-  ~StackmapTableBuilder() { }
+            GrowableObjectArray::New(Heap::kOld))) {}
+  ~StackmapTableBuilder() {}
 
   void AddEntry(intptr_t pc_offset,
                 BitmapBuilder* bitmap,
@@ -94,17 +92,15 @@
 class ExceptionHandlerList : public ZoneAllocated {
  public:
   struct HandlerDesc {
-    intptr_t outer_try_index;  // Try block in which this try block is nested.
-    intptr_t pc_offset;        // Handler PC offset value.
-    const Array* handler_types;   // Catch clause guards.
+    intptr_t outer_try_index;    // Try block in which this try block is nested.
+    intptr_t pc_offset;          // Handler PC offset value.
+    const Array* handler_types;  // Catch clause guards.
     bool needs_stacktrace;
   };
 
   ExceptionHandlerList() : list_() {}
 
-  intptr_t Length() const {
-    return list_.length();
-  }
+  intptr_t Length() const { return list_.length(); }
 
   void AddPlaceHolder() {
     struct HandlerDesc data;
diff --git a/runtime/vm/code_descriptors_test.cc b/runtime/vm/code_descriptors_test.cc
index 99b5b57..ec481fb 100644
--- a/runtime/vm/code_descriptors_test.cc
+++ b/runtime/vm/code_descriptors_test.cc
@@ -56,7 +56,7 @@
     stack_bitmap->SetLength(kStackSlotCount);
     EXPECT_EQ(kStackSlotCount, stack_bitmap->Length());
 
-    bool expectation0[kStackSlotCount] = { true };
+    bool expectation0[kStackSlotCount] = {true};
     for (intptr_t i = 0; i < kStackSlotCount; ++i) {
       EXPECT_EQ(expectation0[i], stack_bitmap->Get(i));
     }
@@ -73,7 +73,7 @@
     stack_bitmap->SetLength(kStackSlotCount);
     EXPECT_EQ(kStackSlotCount, stack_bitmap->Length());
 
-    bool expectation1[kStackSlotCount] = { true, false, true };
+    bool expectation1[kStackSlotCount] = {true, false, true};
     for (intptr_t i = 0; i < kStackSlotCount; ++i) {
       EXPECT_EQ(expectation1[i], stack_bitmap->Get(i));
     }
@@ -91,8 +91,7 @@
     stack_bitmap->SetLength(kStackSlotCount);
     EXPECT_EQ(kStackSlotCount, stack_bitmap->Length());
 
-    bool expectation2[kStackSlotCount] =
-        { true, false, true, true, true, true };
+    bool expectation2[kStackSlotCount] = {true, false, true, true, true, true};
     for (intptr_t i = 0; i < kStackSlotCount; ++i) {
       EXPECT_EQ(expectation2[i], stack_bitmap->Get(i));
     }
@@ -112,9 +111,8 @@
     stack_bitmap->SetLength(kStackSlotCount);
     EXPECT_EQ(kStackSlotCount, stack_bitmap->Length());
 
-    bool expectation3[kStackSlotCount] =
-        { true, false, true, true, true, true, false, false,
-          false, false, true };
+    bool expectation3[kStackSlotCount] = {
+        true, false, true, true, true, true, false, false, false, false, true};
     for (intptr_t i = 0; i < kStackSlotCount; ++i) {
       EXPECT_EQ(expectation3[i], stack_bitmap->Get(i));
     }
@@ -220,8 +218,8 @@
   const String& name = String::Handle(String::New(TestCase::url()));
   const Library& lib = Library::Handle(Library::LookupLibrary(thread, name));
   EXPECT(!lib.IsNull());
-  Class& cls = Class::Handle(
-      lib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
+  Class& cls =
+      Class::Handle(lib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
   EXPECT(!cls.IsNull());
 
   // Now compile the two functions 'A.foo' and 'A.moo'
@@ -244,17 +242,16 @@
   BitmapBuilder* stack_bitmap = new BitmapBuilder();
   EXPECT(stack_bitmap != NULL);
   stack_bitmap->Set(0, false);  // var i.
-  stack_bitmap->Set(1, true);  // var s1.
+  stack_bitmap->Set(1, true);   // var s1.
   stack_bitmap->Set(2, false);  // var k.
-  stack_bitmap->Set(3, true);  // var s2.
-  stack_bitmap->Set(4, true);  // var s3.
+  stack_bitmap->Set(3, true);   // var s2.
+  stack_bitmap->Set(4, true);   // var s3.
   const Code& code = Code::Handle(function_foo.unoptimized_code());
   // Search for the pc of the call to 'func'.
   const PcDescriptors& descriptors =
       PcDescriptors::Handle(code.pc_descriptors());
   int call_count = 0;
-  PcDescriptors::Iterator iter(descriptors,
-                               RawPcDescriptors::kUnoptStaticCall);
+  PcDescriptors::Iterator iter(descriptors, RawPcDescriptors::kUnoptStaticCall);
   while (iter.MoveNext()) {
     stackmap_table_builder->AddEntry(iter.PcOffset(), stack_bitmap, 0);
     ++call_count;
@@ -279,22 +276,22 @@
   DescriptorList* descriptors = new DescriptorList(64);
   ASSERT(descriptors != NULL);
   const intptr_t token_positions[] = {
-    kMinInt32,
-    5,
-    13,
-    13,
-    13,
-    13,
-    31,
-    23,
-    23,
-    23,
-    33,
-    33,
-    5,
-    5,
-    TokenPosition::kMinSourcePos,
-    TokenPosition::kMaxSourcePos,
+      kMinInt32,
+      5,
+      13,
+      13,
+      13,
+      13,
+      31,
+      23,
+      23,
+      23,
+      33,
+      33,
+      5,
+      5,
+      TokenPosition::kMinSourcePos,
+      TokenPosition::kMaxSourcePos,
   };
   const intptr_t num_token_positions =
       sizeof(token_positions) / sizeof(token_positions[0]);
@@ -314,8 +311,8 @@
   intptr_t i = 0;
   while (it.MoveNext()) {
     if (token_positions[i] != it.TokenPos().value()) {
-      OS::Print("[%" Pd "]: Expected: %" Pd " != %" Pd "\n",
-                i, token_positions[i], it.TokenPos().value());
+      OS::Print("[%" Pd "]: Expected: %" Pd " != %" Pd "\n", i,
+                token_positions[i], it.TokenPos().value());
     }
     EXPECT(token_positions[i] == it.TokenPos().value());
     i++;
@@ -325,22 +322,22 @@
 
 TEST_CASE(CodeSourceMap_TokenPositions) {
   const intptr_t token_positions[] = {
-    kMinInt32,
-    5,
-    13,
-    13,
-    13,
-    13,
-    31,
-    23,
-    23,
-    23,
-    33,
-    33,
-    5,
-    5,
-    TokenPosition::kMinSourcePos,
-    TokenPosition::kMaxSourcePos,
+      kMinInt32,
+      5,
+      13,
+      13,
+      13,
+      13,
+      31,
+      23,
+      23,
+      23,
+      33,
+      33,
+      5,
+      5,
+      TokenPosition::kMinSourcePos,
+      TokenPosition::kMaxSourcePos,
   };
   const intptr_t num_token_positions =
       sizeof(token_positions) / sizeof(token_positions[0]);
@@ -362,8 +359,8 @@
   while (it.MoveNext()) {
     EXPECT(it.PcOffset() == i);
     if (token_positions[i] != it.TokenPos().value()) {
-      OS::Print("[%" Pd "]: Expected: %" Pd " != %" Pd "\n",
-                i, token_positions[i], it.TokenPos().value());
+      OS::Print("[%" Pd "]: Expected: %" Pd " != %" Pd "\n", i,
+                token_positions[i], it.TokenPos().value());
     }
     EXPECT(token_positions[i] == it.TokenPos().value());
     i++;
diff --git a/runtime/vm/code_generator.cc b/runtime/vm/code_generator.cc
index 0c3b3a1..ef90b54 100644
--- a/runtime/vm/code_generator.cc
+++ b/runtime/vm/code_generator.cc
@@ -28,20 +28,34 @@
 
 namespace dart {
 
-DEFINE_FLAG(int, max_subtype_cache_entries, 100,
+DEFINE_FLAG(
+    int,
+    max_subtype_cache_entries,
+    100,
     "Maximum number of subtype cache entries (number of checks cached).");
-DEFINE_FLAG(int, regexp_optimization_counter_threshold, 1000,
+DEFINE_FLAG(
+    int,
+    regexp_optimization_counter_threshold,
+    1000,
     "RegExp's usage-counter value before it is optimized, -1 means never");
-DEFINE_FLAG(int, reoptimization_counter_threshold, 4000,
-    "Counter threshold before a function gets reoptimized.");
+DEFINE_FLAG(int,
+            reoptimization_counter_threshold,
+            4000,
+            "Counter threshold before a function gets reoptimized.");
 DEFINE_FLAG(bool, trace_deoptimization, false, "Trace deoptimization");
-DEFINE_FLAG(bool, trace_deoptimization_verbose, false,
-    "Trace deoptimization verbose");
+DEFINE_FLAG(bool,
+            trace_deoptimization_verbose,
+            false,
+            "Trace deoptimization verbose");
 DEFINE_FLAG(bool, trace_ic, false, "Trace IC handling");
-DEFINE_FLAG(bool, trace_ic_miss_in_optimized, false,
-    "Trace IC miss in optimized code");
-DEFINE_FLAG(bool, trace_optimized_ic_calls, false,
-    "Trace IC calls in optimized code.");
+DEFINE_FLAG(bool,
+            trace_ic_miss_in_optimized,
+            false,
+            "Trace IC miss in optimized code");
+DEFINE_FLAG(bool,
+            trace_optimized_ic_calls,
+            false,
+            "Trace IC calls in optimized code.");
 DEFINE_FLAG(bool, trace_patching, false, "Trace patching of code.");
 DEFINE_FLAG(bool, trace_runtime_calls, false, "Trace runtime calls");
 DEFINE_FLAG(bool, trace_type_checks, false, "Trace runtime type checks.");
@@ -54,11 +68,17 @@
 
 DEFINE_FLAG(bool, trace_osr, false, "Trace attempts at on-stack replacement.");
 
-DEFINE_FLAG(int, stacktrace_every, 0,
+DEFINE_FLAG(int,
+            stacktrace_every,
+            0,
             "Compute debugger stacktrace on every N stack overflow checks");
-DEFINE_FLAG(charp, stacktrace_filter, NULL,
+DEFINE_FLAG(charp,
+            stacktrace_filter,
+            NULL,
             "Compute stacktrace in named function on stack overflow checks");
-DEFINE_FLAG(charp, deoptimize_filter, NULL,
+DEFINE_FLAG(charp,
+            deoptimize_filter,
+            NULL,
             "Deoptimize in named function on stack overflow checks");
 
 DECLARE_FLAG(int, reload_every);
@@ -66,7 +86,9 @@
 DECLARE_FLAG(bool, reload_every_back_off);
 
 #ifdef DEBUG
-DEFINE_FLAG(charp, gc_at_instance_allocation, NULL,
+DEFINE_FLAG(charp,
+            gc_at_instance_allocation,
+            NULL,
             "Perform a GC before allocation of instances of "
             "the specified class");
 #endif
@@ -76,8 +98,8 @@
   const String& function_name = String::Handle(function.name());
   const String& class_name =
       String::Handle(Class::Handle(function.Owner()).Name());
-  OS::PrintErr("> Entering '%s.%s'\n",
-      class_name.ToCString(), function_name.ToCString());
+  OS::PrintErr("> Entering '%s.%s'\n", class_name.ToCString(),
+               function_name.ToCString());
 }
 
 
@@ -86,8 +108,8 @@
   const String& function_name = String::Handle(function.name());
   const String& class_name =
       String::Handle(Class::Handle(function.Owner()).Name());
-  OS::PrintErr("< Exiting '%s.%s'\n",
-      class_name.ToCString(), function_name.ToCString());
+  OS::PrintErr("< Exiting '%s.%s'\n", class_name.ToCString(),
+               function_name.ToCString());
 }
 
 
@@ -225,11 +247,11 @@
   if (!bound_error.IsNull()) {
     // Throw a dynamic type error.
     const TokenPosition location = GetCallerLocation();
-    String& bound_error_message =  String::Handle(
-        zone, String::New(bound_error.ToErrorCString()));
-    Exceptions::CreateAndThrowTypeError(
-        location, AbstractType::Handle(zone), AbstractType::Handle(zone),
-        Symbols::Empty(), bound_error_message);
+    String& bound_error_message =
+        String::Handle(zone, String::New(bound_error.ToErrorCString()));
+    Exceptions::CreateAndThrowTypeError(location, AbstractType::Handle(zone),
+                                        AbstractType::Handle(zone),
+                                        Symbols::Empty(), bound_error_message);
     UNREACHABLE();
   }
   if (type.IsTypeRef()) {
@@ -258,14 +280,13 @@
   ASSERT(instantiator.IsNull() || !type_arguments.IsUninstantiatedIdentity());
   if (isolate->type_checks()) {
     Error& bound_error = Error::Handle(zone);
-    type_arguments =
-        type_arguments.InstantiateAndCanonicalizeFrom(instantiator,
-                                                      &bound_error);
+    type_arguments = type_arguments.InstantiateAndCanonicalizeFrom(
+        instantiator, &bound_error);
     if (!bound_error.IsNull()) {
       // Throw a dynamic type error.
       const TokenPosition location = GetCallerLocation();
-      String& bound_error_message =  String::Handle(
-          zone, String::New(bound_error.ToErrorCString()));
+      String& bound_error_message =
+          String::Handle(zone, String::New(bound_error.ToErrorCString()));
       Exceptions::CreateAndThrowTypeError(
           location, AbstractType::Handle(zone), AbstractType::Handle(zone),
           Symbols::Empty(), bound_error_message);
@@ -308,12 +329,11 @@
 
 
 // Helper routine for tracing a type check.
-static void PrintTypeCheck(
-    const char* message,
-    const Instance& instance,
-    const AbstractType& type,
-    const TypeArguments& instantiator_type_arguments,
-    const Bool& result) {
+static void PrintTypeCheck(const char* message,
+                           const Instance& instance,
+                           const AbstractType& type,
+                           const TypeArguments& instantiator_type_arguments,
+                           const Bool& result) {
   DartFrameIterator iterator;
   StackFrame* caller_frame = iterator.NextFrame();
   ASSERT(caller_frame != NULL);
@@ -321,33 +341,29 @@
   const AbstractType& instance_type = AbstractType::Handle(instance.GetType());
   ASSERT(instance_type.IsInstantiated());
   if (type.IsInstantiated()) {
-    OS::PrintErr("%s: '%s' %" Pd " %s '%s' %" Pd " (pc: %#" Px ").\n",
-                 message,
+    OS::PrintErr("%s: '%s' %" Pd " %s '%s' %" Pd " (pc: %#" Px ").\n", message,
                  String::Handle(instance_type.Name()).ToCString(),
                  Class::Handle(instance_type.type_class()).id(),
                  (result.raw() == Bool::True().raw()) ? "is" : "is !",
                  String::Handle(type.Name()).ToCString(),
-                 Class::Handle(type.type_class()).id(),
-                 caller_frame->pc());
+                 Class::Handle(type.type_class()).id(), caller_frame->pc());
   } else {
     // Instantiate type before printing.
     Error& bound_error = Error::Handle();
-    const AbstractType& instantiated_type = AbstractType::Handle(
-        type.InstantiateFrom(instantiator_type_arguments, &bound_error,
-                             NULL, NULL, Heap::kOld));
+    const AbstractType& instantiated_type =
+        AbstractType::Handle(type.InstantiateFrom(
+            instantiator_type_arguments, &bound_error, NULL, NULL, Heap::kOld));
     OS::PrintErr("%s: '%s' %s '%s' instantiated from '%s' (pc: %#" Px ").\n",
-                 message,
-                 String::Handle(instance_type.Name()).ToCString(),
+                 message, String::Handle(instance_type.Name()).ToCString(),
                  (result.raw() == Bool::True().raw()) ? "is" : "is !",
                  String::Handle(instantiated_type.Name()).ToCString(),
-                 String::Handle(type.Name()).ToCString(),
-                 caller_frame->pc());
+                 String::Handle(type.Name()).ToCString(), caller_frame->pc());
     if (!bound_error.IsNull()) {
       OS::Print("  bound error: %s\n", bound_error.ToErrorCString());
     }
   }
-  const Function& function = Function::Handle(
-      caller_frame->LookupDartFunction());
+  const Function& function =
+      Function::Handle(caller_frame->LookupDartFunction());
   OS::PrintErr(" -> Function %s\n", function.ToFullyQualifiedCString());
 }
 
@@ -406,12 +422,9 @@
   TypeArguments& last_instantiator_type_arguments = TypeArguments::Handle();
   Bool& last_result = Bool::Handle();
   for (intptr_t i = 0; i < len; ++i) {
-    new_cache.GetCheck(
-        i,
-        &last_instance_class_id_or_function,
-        &last_instance_type_arguments,
-        &last_instantiator_type_arguments,
-        &last_result);
+    new_cache.GetCheck(i, &last_instance_class_id_or_function,
+                       &last_instance_type_arguments,
+                       &last_instantiator_type_arguments, &last_result);
     if ((last_instance_class_id_or_function.raw() ==
          instance_class_id_or_function.raw()) &&
         (last_instance_type_arguments.raw() == instance_type_arguments.raw()) &&
@@ -419,46 +432,41 @@
          instantiator_type_arguments.raw())) {
       OS::PrintErr("  Error in test cache %p ix: %" Pd ",", new_cache.raw(), i);
       PrintTypeCheck(" duplicate cache entry", instance, type,
-          instantiator_type_arguments, result);
+                     instantiator_type_arguments, result);
       UNREACHABLE();
       return;
     }
   }
 #endif
-  new_cache.AddCheck(instance_class_id_or_function,
-                     instance_type_arguments,
-                     instantiator_type_arguments,
-                     result);
+  new_cache.AddCheck(instance_class_id_or_function, instance_type_arguments,
+                     instantiator_type_arguments, result);
   if (FLAG_trace_type_checks) {
     AbstractType& test_type = AbstractType::Handle(type.raw());
     if (!test_type.IsInstantiated()) {
       Error& bound_error = Error::Handle();
       test_type = type.InstantiateFrom(instantiator_type_arguments,
-                                       &bound_error,
-                                       NULL, NULL, Heap::kNew);
+                                       &bound_error, NULL, NULL, Heap::kNew);
       ASSERT(bound_error.IsNull());  // Malbounded types are not optimized.
     }
-    OS::PrintErr("  Updated test cache %p ix: %" Pd " with "
+    OS::PrintErr(
+        "  Updated test cache %p ix: %" Pd
+        " with "
         "(cid-or-fun: %p, type-args: %p, instantiator: %p, result: %s)\n"
-        "    instance  [class: (%p '%s' cid: %" Pd "),    type-args: %p %s]\n"
+        "    instance  [class: (%p '%s' cid: %" Pd
+        "),    type-args: %p %s]\n"
         "    test-type [class: (%p '%s' cid: %" Pd "), in-type-args: %p %s]\n",
-        new_cache.raw(),
-        len,
+        new_cache.raw(), len,
 
-        instance_class_id_or_function.raw(),
-        instance_type_arguments.raw(),
-        instantiator_type_arguments.raw(),
-        result.ToCString(),
+        instance_class_id_or_function.raw(), instance_type_arguments.raw(),
+        instantiator_type_arguments.raw(), result.ToCString(),
 
-        instance_class.raw(),
-        String::Handle(instance_class.Name()).ToCString(),
-        instance_class.id(),
-        instance_type_arguments.raw(),
+        instance_class.raw(), String::Handle(instance_class.Name()).ToCString(),
+        instance_class.id(), instance_type_arguments.raw(),
         instance_type_arguments.ToCString(),
 
         test_type.type_class(),
-        String::Handle(Class::Handle(test_type.type_class()).Name()).
-            ToCString(),
+        String::Handle(Class::Handle(test_type.type_class()).Name())
+            .ToCString(),
         Class::Handle(test_type.type_class()).id(),
         instantiator_type_arguments.raw(),
         instantiator_type_arguments.ToCString());
@@ -482,30 +490,28 @@
   const SubtypeTestCache& cache =
       SubtypeTestCache::CheckedHandle(zone, arguments.ArgAt(3));
   ASSERT(type.IsFinalized());
-  ASSERT(!type.IsMalformed());  // Already checked in code generator.
-  ASSERT(!type.IsMalbounded());  // Already checked in code generator.
+  ASSERT(!type.IsMalformed());    // Already checked in code generator.
+  ASSERT(!type.IsMalbounded());   // Already checked in code generator.
   ASSERT(!type.IsDynamicType());  // No need to check assignment.
   Error& bound_error = Error::Handle(zone);
-  const Bool& result =
-      Bool::Get(instance.IsInstanceOf(type,
-                                      instantiator_type_arguments,
-                                      &bound_error));
+  const Bool& result = Bool::Get(
+      instance.IsInstanceOf(type, instantiator_type_arguments, &bound_error));
   if (FLAG_trace_type_checks) {
-    PrintTypeCheck("InstanceOf",
-        instance, type, instantiator_type_arguments, result);
+    PrintTypeCheck("InstanceOf", instance, type, instantiator_type_arguments,
+                   result);
   }
   if (!result.value() && !bound_error.IsNull()) {
     // Throw a dynamic type error only if the instanceof test fails.
     const TokenPosition location = GetCallerLocation();
-    String& bound_error_message =  String::Handle(
-        zone, String::New(bound_error.ToErrorCString()));
-    Exceptions::CreateAndThrowTypeError(
-        location, AbstractType::Handle(zone), AbstractType::Handle(zone),
-        Symbols::Empty(), bound_error_message);
+    String& bound_error_message =
+        String::Handle(zone, String::New(bound_error.ToErrorCString()));
+    Exceptions::CreateAndThrowTypeError(location, AbstractType::Handle(zone),
+                                        AbstractType::Handle(zone),
+                                        Symbols::Empty(), bound_error_message);
     UNREACHABLE();
   }
-  UpdateTypeTestCache(
-      instance, type, instantiator_type_arguments, result, cache);
+  UpdateTypeTestCache(instance, type, instantiator_type_arguments, result,
+                      cache);
   arguments.SetReturn(result);
 }
 
@@ -528,19 +534,18 @@
   const String& dst_name = String::CheckedHandle(zone, arguments.ArgAt(3));
   const SubtypeTestCache& cache =
       SubtypeTestCache::CheckedHandle(zone, arguments.ArgAt(4));
-  ASSERT(!dst_type.IsMalformed());  // Already checked in code generator.
-  ASSERT(!dst_type.IsMalbounded());  // Already checked in code generator.
+  ASSERT(!dst_type.IsMalformed());    // Already checked in code generator.
+  ASSERT(!dst_type.IsMalbounded());   // Already checked in code generator.
   ASSERT(!dst_type.IsDynamicType());  // No need to check assignment.
-  ASSERT(!src_instance.IsNull());  // Already checked in inlined code.
+  ASSERT(!src_instance.IsNull());     // Already checked in inlined code.
 
   Error& bound_error = Error::Handle(zone);
   const bool is_instance_of = src_instance.IsInstanceOf(
       dst_type, instantiator_type_arguments, &bound_error);
 
   if (FLAG_trace_type_checks) {
-    PrintTypeCheck("TypeCheck",
-                   src_instance, dst_type, instantiator_type_arguments,
-                   Bool::Get(is_instance_of));
+    PrintTypeCheck("TypeCheck", src_instance, dst_type,
+                   instantiator_type_arguments, Bool::Get(is_instance_of));
   }
   if (!is_instance_of) {
     // Throw a dynamic type error.
@@ -553,17 +558,17 @@
                                           NULL, NULL, Heap::kNew);
       // Note that instantiated dst_type may be malbounded.
     }
-    String& bound_error_message =  String::Handle(zone);
+    String& bound_error_message = String::Handle(zone);
     if (!bound_error.IsNull()) {
       ASSERT(isolate->type_checks());
       bound_error_message = String::New(bound_error.ToErrorCString());
     }
-    Exceptions::CreateAndThrowTypeError(location, src_type, dst_type,
-                                        dst_name, bound_error_message);
+    Exceptions::CreateAndThrowTypeError(location, src_type, dst_type, dst_name,
+                                        bound_error_message);
     UNREACHABLE();
   }
-  UpdateTypeTestCache(
-      src_instance, dst_type, instantiator_type_arguments, Bool::True(), cache);
+  UpdateTypeTestCache(src_instance, dst_type, instantiator_type_arguments,
+                      Bool::True(), cache);
   arguments.SetReturn(src_instance);
 }
 
@@ -580,8 +585,11 @@
 
   if (src_instance.IsNull()) {
     const Array& args = Array::Handle(zone, Array::New(4));
-    args.SetAt(0, String::Handle(zone,
-        String::New("Failed assertion: boolean expression must not be null")));
+    args.SetAt(
+        0, String::Handle(
+               zone,
+               String::New(
+                   "Failed assertion: boolean expression must not be null")));
 
     // No source code for this assertion, set url to null.
     args.SetAt(1, String::Handle(zone, String::null()));
@@ -617,22 +625,20 @@
       AbstractType::CheckedHandle(zone, arguments.ArgAt(2));
   const AbstractType& src_type =
       AbstractType::Handle(zone, src_value.GetType());
-  Exceptions::CreateAndThrowTypeError(
-      location, src_type, dst_type, dst_name, String::Handle(zone));
+  Exceptions::CreateAndThrowTypeError(location, src_type, dst_type, dst_name,
+                                      String::Handle(zone));
   UNREACHABLE();
 }
 
 
 DEFINE_RUNTIME_ENTRY(Throw, 1) {
-  const Instance& exception =
-      Instance::CheckedHandle(zone, arguments.ArgAt(0));
+  const Instance& exception = Instance::CheckedHandle(zone, arguments.ArgAt(0));
   Exceptions::Throw(thread, exception);
 }
 
 
 DEFINE_RUNTIME_ENTRY(ReThrow, 2) {
-  const Instance& exception =
-      Instance::CheckedHandle(zone, arguments.ArgAt(0));
+  const Instance& exception = Instance::CheckedHandle(zone, arguments.ArgAt(0));
   const Instance& stacktrace =
       Instance::CheckedHandle(zone, arguments.ArgAt(1));
   Exceptions::ReThrow(thread, exception, stacktrace);
@@ -662,17 +668,15 @@
   // target.
   ASSERT(target_code.raw() !=
          CodePatcher::GetStaticCallTargetAt(caller_frame->pc(), caller_code));
-  CodePatcher::PatchStaticCallAt(caller_frame->pc(),
-                                 caller_code,
-                                 target_code);
+  CodePatcher::PatchStaticCallAt(caller_frame->pc(), caller_code, target_code);
   caller_code.SetStaticCallTargetCodeAt(caller_frame->pc(), target_code);
   if (FLAG_trace_patching) {
-    THR_Print("PatchStaticCall: patching caller pc %#" Px ""
-        " to '%s' new entry point %#" Px " (%s)\n",
-        caller_frame->pc(),
-        target_function.ToFullyQualifiedCString(),
-        target_code.UncheckedEntryPoint(),
-        target_code.is_optimized() ? "optimized" : "unoptimized");
+    THR_Print("PatchStaticCall: patching caller pc %#" Px
+              ""
+              " to '%s' new entry point %#" Px " (%s)\n",
+              caller_frame->pc(), target_function.ToFullyQualifiedCString(),
+              target_code.UncheckedEntryPoint(),
+              target_code.is_optimized() ? "optimized" : "unoptimized");
   }
   arguments.SetReturn(target_code);
 }
@@ -752,24 +756,21 @@
   const int kNumArguments = 1;
   ArgumentsDescriptor args_desc(
       Array::Handle(ArgumentsDescriptor::New(kNumArguments)));
-  const Function& getter = Function::Handle(
-      Resolver::ResolveDynamicForReceiverClass(receiver_class,
-                                               getter_name,
-                                               args_desc));
+  const Function& getter =
+      Function::Handle(Resolver::ResolveDynamicForReceiverClass(
+          receiver_class, getter_name, args_desc));
   if (getter.IsNull() || getter.IsMethodExtractor()) {
     return false;
   }
   const Function& target_function =
       Function::Handle(receiver_class.GetInvocationDispatcher(
-          target_name,
-          arguments_descriptor,
-          RawFunction::kInvokeFieldDispatcher,
-          FLAG_lazy_dispatchers));
+          target_name, arguments_descriptor,
+          RawFunction::kInvokeFieldDispatcher, FLAG_lazy_dispatchers));
   ASSERT(!target_function.IsNull() || !FLAG_lazy_dispatchers);
   if (FLAG_trace_ic) {
-    OS::PrintErr("InvokeField IC miss: adding <%s> id:%" Pd " -> <%s>\n",
-        Class::Handle(receiver.clazz()).ToCString(),
-        receiver.GetClassId(),
+    OS::PrintErr(
+        "InvokeField IC miss: adding <%s> id:%" Pd " -> <%s>\n",
+        Class::Handle(receiver.clazz()).ToCString(), receiver.GetClassId(),
         target_function.IsNull() ? "null" : target_function.ToCString());
   }
   *result = target_function.raw();
@@ -778,29 +779,23 @@
 
 
 // Handle other invocations (implicit closures, noSuchMethod).
-RawFunction* InlineCacheMissHelper(
-    const Instance& receiver,
-    const Array& args_descriptor,
-    const String& target_name) {
+RawFunction* InlineCacheMissHelper(const Instance& receiver,
+                                   const Array& args_descriptor,
+                                   const String& target_name) {
   const Class& receiver_class = Class::Handle(receiver.clazz());
 
   Function& result = Function::Handle();
-  if (!ResolveCallThroughGetter(receiver,
-                                receiver_class,
-                                target_name,
-                                args_descriptor,
-                                &result)) {
+  if (!ResolveCallThroughGetter(receiver, receiver_class, target_name,
+                                args_descriptor, &result)) {
     ArgumentsDescriptor desc(args_descriptor);
     const Function& target_function =
         Function::Handle(receiver_class.GetInvocationDispatcher(
-            target_name,
-            args_descriptor,
-            RawFunction::kNoSuchMethodDispatcher,
+            target_name, args_descriptor, RawFunction::kNoSuchMethodDispatcher,
             FLAG_lazy_dispatchers));
     if (FLAG_trace_ic) {
-      OS::PrintErr("NoSuchMethod IC miss: adding <%s> id:%" Pd " -> <%s>\n",
-          Class::Handle(receiver.clazz()).ToCString(),
-          receiver.GetClassId(),
+      OS::PrintErr(
+          "NoSuchMethod IC miss: adding <%s> id:%" Pd " -> <%s>\n",
+          Class::Handle(receiver.clazz()).ToCString(), receiver.GetClassId(),
           target_function.IsNull() ? "null" : target_function.ToCString());
     }
     result = target_function.raw();
@@ -821,10 +816,9 @@
   bool result = receiver.IsInstanceOf(type, checked_type_arguments, &error);
   ASSERT(error.IsNull());
   ObjectStore* store = Isolate::Current()->object_store();
-  const Function& target
-      = Function::Handle(result
-                         ? store->simple_instance_of_true_function()
-                         : store->simple_instance_of_false_function());
+  const Function& target =
+      Function::Handle(result ? store->simple_instance_of_true_function()
+                              : store->simple_instance_of_false_function());
   ASSERT(!target.IsNull());
   return target.raw();
 }
@@ -834,8 +828,8 @@
     const GrowableArray<const Instance*>& args,
     const ICData& ic_data) {
   const Instance& receiver = *args[0];
-  ArgumentsDescriptor
-      arguments_descriptor(Array::Handle(ic_data.arguments_descriptor()));
+  ArgumentsDescriptor arguments_descriptor(
+      Array::Handle(ic_data.arguments_descriptor()));
   String& function_name = String::Handle(ic_data.target_name());
   ASSERT(function_name.IsSymbol());
 
@@ -846,8 +840,8 @@
   if (target_function.raw() == store->simple_instance_of_function()) {
     // Replace the target function with constant function.
     const AbstractType& type = AbstractType::Cast(*args[1]);
-    target_function
-        = ComputeTypeCheckTarget(receiver, type, arguments_descriptor);
+    target_function =
+        ComputeTypeCheckTarget(receiver, type, arguments_descriptor);
   }
   if (target_function.IsNull()) {
     if (FLAG_trace_ic) {
@@ -858,9 +852,8 @@
     const Array& args_descriptor =
         Array::Handle(ic_data.arguments_descriptor());
     const String& target_name = String::Handle(ic_data.target_name());
-    target_function = InlineCacheMissHelper(receiver,
-                                            args_descriptor,
-                                            target_name);
+    target_function =
+        InlineCacheMissHelper(receiver, args_descriptor, target_name);
   }
   if (target_function.IsNull()) {
     ASSERT(!FLAG_lazy_dispatchers);
@@ -884,18 +877,17 @@
       const Code& caller = Code::Handle(Code::LookupCode(caller_frame->pc()));
       if (caller.is_optimized()) {
         OS::PrintErr("IC miss in optimized code; call %s -> %s\n",
-            Function::Handle(caller.function()).ToCString(),
-            target_function.ToCString());
+                     Function::Handle(caller.function()).ToCString(),
+                     target_function.ToCString());
       }
     }
     if (FLAG_trace_ic) {
-      OS::PrintErr("InlineCacheMissHandler %" Pd " call at %#" Px "' "
+      OS::PrintErr("InlineCacheMissHandler %" Pd " call at %#" Px
+                   "' "
                    "adding <%s> id:%" Pd " -> <%s>\n",
-          args.length(),
-          caller_frame->pc(),
-          Class::Handle(receiver.clazz()).ToCString(),
-          receiver.GetClassId(),
-          target_function.ToCString());
+                   args.length(), caller_frame->pc(),
+                   Class::Handle(receiver.clazz()).ToCString(),
+                   receiver.GetClassId(), target_function.ToCString());
     }
   }
   return target_function.raw();
@@ -970,8 +962,8 @@
   ASSERT(ic_data.NumberOfChecks() == 1);
   const Function& target = Function::Handle(ic_data.GetTargetAt(0));
   if (!target.HasCode()) {
-    const Error& error = Error::Handle(Compiler::CompileFunction(thread,
-                                                                 target));
+    const Error& error =
+        Error::Handle(Compiler::CompileFunction(thread, target));
     if (!error.IsNull()) {
       Exceptions::PropagateError(error);
     }
@@ -982,8 +974,7 @@
     DartFrameIterator iterator;
     StackFrame* caller_frame = iterator.NextFrame();
     ASSERT(caller_frame != NULL);
-    OS::PrintErr("StaticCallMissHandler at %#" Px
-                 " target %s (%" Pd ")\n",
+    OS::PrintErr("StaticCallMissHandler at %#" Px " target %s (%" Pd ")\n",
                  caller_frame->pc(), target.ToCString(), arg.GetClassId());
   }
   arguments.SetReturn(target);
@@ -1003,8 +994,8 @@
   ASSERT(ic_data.NumberOfChecks() > 0);
   const Function& target = Function::Handle(ic_data.GetTargetAt(0));
   if (!target.HasCode()) {
-    const Error& error = Error::Handle(Compiler::CompileFunction(thread,
-                                                                 target));
+    const Error& error =
+        Error::Handle(Compiler::CompileFunction(thread, target));
     if (!error.IsNull()) {
       Exceptions::PropagateError(error);
     }
@@ -1018,8 +1009,8 @@
     DartFrameIterator iterator;
     StackFrame* caller_frame = iterator.NextFrame();
     ASSERT(caller_frame != NULL);
-    OS::PrintErr("StaticCallMissHandler at %#" Px
-                 " target %s (%" Pd ", %" Pd ")\n",
+    OS::PrintErr("StaticCallMissHandler at %#" Px " target %s (%" Pd ", %" Pd
+                 ")\n",
                  caller_frame->pc(), target.ToCString(), cids[0], cids[1]);
   }
   arguments.SetReturn(target);
@@ -1041,8 +1032,8 @@
     cls = table->At(cid);
     if (cls.is_abstract()) continue;
     if (!cls.is_allocated()) continue;
-    other_target = Resolver::ResolveDynamicAnyArgs(zone, cls, name,
-                                                   false /* allow_add */);
+    other_target =
+        Resolver::ResolveDynamicAnyArgs(zone, cls, name, false /* allow_add */);
     if (other_target.raw() != target.raw()) {
       return false;
     }
@@ -1070,8 +1061,8 @@
       Function::Handle(zone, caller_frame->LookupDartFunction());
 
   SingleTargetCache& cache = SingleTargetCache::Handle(zone);
-  cache ^= CodePatcher::GetSwitchableCallDataAt(caller_frame->pc(),
-                                                caller_code);
+  cache ^=
+      CodePatcher::GetSwitchableCallDataAt(caller_frame->pc(), caller_code);
   Code& old_target_code = Code::Handle(zone, cache.target());
   Function& old_target = Function::Handle(zone);
   old_target ^= old_target_code.owner();
@@ -1079,23 +1070,18 @@
   // We lost the original ICData when we patched to the monomorphic case.
   const String& name = String::Handle(zone, old_target.name());
   ASSERT(!old_target.HasOptionalParameters());
-  const Array& descriptor = Array::Handle(zone,
-      ArgumentsDescriptor::New(old_target.num_fixed_parameters()));
+  const Array& descriptor = Array::Handle(
+      zone, ArgumentsDescriptor::New(old_target.num_fixed_parameters()));
   const ICData& ic_data =
-      ICData::Handle(zone, ICData::New(caller_function,
-                                       name,
-                                       descriptor,
-                                       Thread::kNoDeoptId,
-                                       1, /* args_tested */
+      ICData::Handle(zone, ICData::New(caller_function, name, descriptor,
+                                       Thread::kNoDeoptId, 1, /* args_tested */
                                        false /* static_call */));
 
   // Maybe add the new target.
   Class& cls = Class::Handle(zone, receiver.clazz());
   ArgumentsDescriptor args_desc(descriptor);
-  Function& target_function = Function::Handle(zone,
-      Resolver::ResolveDynamicForReceiverClass(cls,
-                                               name,
-                                               args_desc));
+  Function& target_function = Function::Handle(
+      zone, Resolver::ResolveDynamicForReceiverClass(cls, name, args_desc));
   if (target_function.IsNull()) {
     target_function = InlineCacheMissHelper(receiver, descriptor, name);
   }
@@ -1134,9 +1120,7 @@
   const Code& stub =
       Code::Handle(zone, StubCode::ICCallThroughCode_entry()->code());
   ASSERT(!Isolate::Current()->compilation_allowed());
-  CodePatcher::PatchSwitchableCallAt(caller_frame->pc(),
-                                     caller_code,
-                                     ic_data,
+  CodePatcher::PatchSwitchableCallAt(caller_frame->pc(), caller_code, ic_data,
                                      stub);
 
   // Return the ICData. The single target stub will jump to continue in the
@@ -1158,27 +1142,21 @@
   DartFrameIterator iterator;
   StackFrame* caller_frame = iterator.NextFrame();
   ASSERT(caller_frame->IsDartFrame());
-  const Code& caller_code =
-      Code::Handle(zone, caller_frame->LookupDartCode());
+  const Code& caller_code = Code::Handle(zone, caller_frame->LookupDartCode());
   const Function& caller_function =
       Function::Handle(zone, caller_frame->LookupDartFunction());
 
   const String& name = String::Handle(zone, unlinked.target_name());
   const Array& descriptor = Array::Handle(zone, unlinked.args_descriptor());
   const ICData& ic_data =
-      ICData::Handle(zone, ICData::New(caller_function,
-                                       name,
-                                       descriptor,
-                                       Thread::kNoDeoptId,
-                                       1, /* args_tested */
+      ICData::Handle(zone, ICData::New(caller_function, name, descriptor,
+                                       Thread::kNoDeoptId, 1, /* args_tested */
                                        false /* static_call */));
 
   Class& cls = Class::Handle(zone, receiver.clazz());
   ArgumentsDescriptor args_desc(descriptor);
-  Function& target_function = Function::Handle(zone,
-      Resolver::ResolveDynamicForReceiverClass(cls,
-                                               name,
-                                               args_desc));
+  Function& target_function = Function::Handle(
+      zone, Resolver::ResolveDynamicForReceiverClass(cls, name, args_desc));
   if (target_function.IsNull()) {
     target_function = InlineCacheMissHelper(receiver, descriptor, name);
   }
@@ -1188,12 +1166,10 @@
     ic_data.AddReceiverCheck(receiver.GetClassId(), target_function);
   }
 
-  if (!target_function.IsNull() &&
-      !target_function.HasOptionalParameters()) {
+  if (!target_function.IsNull() && !target_function.HasOptionalParameters()) {
     // Patch to monomorphic call.
     ASSERT(target_function.HasCode());
-    const Code& target_code =
-        Code::Handle(zone, target_function.CurrentCode());
+    const Code& target_code = Code::Handle(zone, target_function.CurrentCode());
     const Smi& expected_cid =
         Smi::Handle(zone, Smi::New(receiver.GetClassId()));
     CodePatcher::PatchSwitchableCallAt(caller_frame->pc(), caller_code,
@@ -1209,9 +1185,7 @@
   const Code& stub =
       Code::Handle(zone, StubCode::ICCallThroughCode_entry()->code());
   ASSERT(!Isolate::Current()->compilation_allowed());
-  CodePatcher::PatchSwitchableCallAt(caller_frame->pc(),
-                                     caller_code,
-                                     ic_data,
+  CodePatcher::PatchSwitchableCallAt(caller_frame->pc(), caller_code, ic_data,
                                      stub);
 
   // Return the ICData. The miss stub will jump to continue in the IC lookup
@@ -1239,25 +1213,21 @@
       Function::Handle(zone, caller_frame->LookupDartFunction());
 
   Smi& old_expected_cid = Smi::Handle(zone);
-  old_expected_cid ^= CodePatcher::GetSwitchableCallDataAt(caller_frame->pc(),
-                                                          caller_code);
-  const Code& old_target_code =
-      Code::Handle(CodePatcher::GetSwitchableCallTargetAt(caller_frame->pc(),
-                                                          caller_code));
+  old_expected_cid ^=
+      CodePatcher::GetSwitchableCallDataAt(caller_frame->pc(), caller_code);
+  const Code& old_target_code = Code::Handle(
+      CodePatcher::GetSwitchableCallTargetAt(caller_frame->pc(), caller_code));
   Function& old_target = Function::Handle(zone);
   old_target ^= old_target_code.owner();
 
   // We lost the original ICData when we patched to the monomorphic case.
   const String& name = String::Handle(zone, old_target.name());
   ASSERT(!old_target.HasOptionalParameters());
-  const Array& descriptor = Array::Handle(zone,
-      ArgumentsDescriptor::New(old_target.num_fixed_parameters()));
+  const Array& descriptor = Array::Handle(
+      zone, ArgumentsDescriptor::New(old_target.num_fixed_parameters()));
   const ICData& ic_data =
-      ICData::Handle(zone, ICData::New(caller_function,
-                                       name,
-                                       descriptor,
-                                       Thread::kNoDeoptId,
-                                       1, /* args_tested */
+      ICData::Handle(zone, ICData::New(caller_function, name, descriptor,
+                                       Thread::kNoDeoptId, 1, /* args_tested */
                                        false /* static_call */));
 
   // Add the first target.
@@ -1266,10 +1236,8 @@
   // Maybe add the new target.
   Class& cls = Class::Handle(zone, receiver.clazz());
   ArgumentsDescriptor args_desc(descriptor);
-  Function& target_function = Function::Handle(zone,
-      Resolver::ResolveDynamicForReceiverClass(cls,
-                                               name,
-                                               args_desc));
+  Function& target_function = Function::Handle(
+      zone, Resolver::ResolveDynamicForReceiverClass(cls, name, args_desc));
   if (target_function.IsNull()) {
     target_function = InlineCacheMissHelper(receiver, descriptor, name);
   }
@@ -1297,11 +1265,9 @@
       cache.set_entry_point(code.UncheckedEntryPoint());
       cache.set_lower_limit(lower);
       cache.set_upper_limit(upper);
-      const Code& stub = Code::Handle(zone,
-          StubCode::SingleTargetCall_entry()->code());
-      CodePatcher::PatchSwitchableCallAt(caller_frame->pc(),
-                                         caller_code,
-                                         cache,
+      const Code& stub =
+          Code::Handle(zone, StubCode::SingleTargetCall_entry()->code());
+      CodePatcher::PatchSwitchableCallAt(caller_frame->pc(), caller_code, cache,
                                          stub);
       // Return the ICData. The miss stub will jump to continue in the IC call
       // stub.
@@ -1314,9 +1280,7 @@
   const Code& stub =
       Code::Handle(zone, StubCode::ICCallThroughCode_entry()->code());
   ASSERT(!Isolate::Current()->compilation_allowed());
-  CodePatcher::PatchSwitchableCallAt(caller_frame->pc(),
-                                     caller_code,
-                                     ic_data,
+  CodePatcher::PatchSwitchableCallAt(caller_frame->pc(), caller_code, ic_data,
                                      stub);
 
   // Return the ICData. The miss stub will jump to continue in the IC lookup
@@ -1354,10 +1318,8 @@
   }
 
   ArgumentsDescriptor args_desc(descriptor);
-  Function& target_function = Function::Handle(zone,
-      Resolver::ResolveDynamicForReceiverClass(cls,
-                                               name,
-                                               args_desc));
+  Function& target_function = Function::Handle(
+      zone, Resolver::ResolveDynamicForReceiverClass(cls, name, args_desc));
   if (target_function.IsNull()) {
     target_function = InlineCacheMissHelper(receiver, descriptor, name);
   }
@@ -1382,7 +1344,7 @@
 
       if (!target_function.HasCode()) {
         const Error& error =
-          Error::Handle(Compiler::CompileFunction(thread, target_function));
+            Error::Handle(Compiler::CompileFunction(thread, target_function));
         if (!error.IsNull()) {
           Exceptions::PropagateError(error);
         }
@@ -1406,8 +1368,8 @@
       ic_data.AddReceiverCheck(receiver.GetClassId(), target_function);
       if (ic_data.NumberOfChecks() > FLAG_max_polymorphic_checks) {
         // Switch to megamorphic call.
-        const MegamorphicCache& cache = MegamorphicCache::Handle(zone,
-            MegamorphicCacheTable::Lookup(isolate, name, descriptor));
+        const MegamorphicCache& cache = MegamorphicCache::Handle(
+            zone, MegamorphicCacheTable::Lookup(isolate, name, descriptor));
         DartFrameIterator iterator;
         StackFrame* miss_function_frame = iterator.NextFrame();
         ASSERT(miss_function_frame->IsDartFrame());
@@ -1457,26 +1419,24 @@
   Class& cls = Class::Handle(zone, receiver.clazz());
   Function& function = Function::Handle(zone);
 
-  // Dart distinguishes getters and regular methods and allows their calls
-  // to mix with conversions, and its selectors are independent of arity. So do
-  // a zigzagged lookup to see if this call failed because of an arity mismatch,
-  // need for conversion, or there really is no such method.
+// Dart distinguishes getters and regular methods and allows their calls
+// to mix with conversions, and its selectors are independent of arity. So do
+// a zigzagged lookup to see if this call failed because of an arity mismatch,
+// need for conversion, or there really is no such method.
 
 #define NO_SUCH_METHOD()                                                       \
-  const Object& result = Object::Handle(zone,                                  \
-      DartEntry::InvokeNoSuchMethod(receiver,                                  \
-                                    target_name,                               \
-                                    orig_arguments,                            \
-                                    orig_arguments_desc));                     \
+  const Object& result = Object::Handle(                                       \
+      zone, DartEntry::InvokeNoSuchMethod(                                     \
+                receiver, target_name, orig_arguments, orig_arguments_desc));  \
   CheckResultError(result);                                                    \
-  arguments.SetReturn(result);                                                 \
+  arguments.SetReturn(result);
 
 #define CLOSURIZE(some_function)                                               \
   const Function& closure_function =                                           \
       Function::Handle(zone, some_function.ImplicitClosureFunction());         \
-  const Object& result =                                                       \
-      Object::Handle(zone, closure_function.ImplicitInstanceClosure(receiver));\
-  arguments.SetReturn(result);                                                 \
+  const Object& result = Object::Handle(                                       \
+      zone, closure_function.ImplicitInstanceClosure(receiver));               \
+  arguments.SetReturn(result);
 
   const bool is_getter = Field::IsGetterName(target_name);
   if (is_getter) {
@@ -1536,9 +1496,8 @@
       // Special case: closures are implemented with a call getter instead of a
       // call method and with lazy dispatchers the field-invocation-dispatcher
       // would perform the closure call.
-      const Object& result =
-        Object::Handle(zone, DartEntry::InvokeClosure(orig_arguments,
-                                                      orig_arguments_desc));
+      const Object& result = Object::Handle(
+          zone, DartEntry::InvokeClosure(orig_arguments, orig_arguments_desc));
       CheckResultError(result);
       arguments.SetReturn(result);
       return;
@@ -1557,16 +1516,15 @@
       if (!function.IsNull()) {
         const Array& getter_arguments = Array::Handle(Array::New(1));
         getter_arguments.SetAt(0, receiver);
-        const Object& getter_result =
-          Object::Handle(zone, DartEntry::InvokeFunction(function,
-                                                         getter_arguments));
+        const Object& getter_result = Object::Handle(
+            zone, DartEntry::InvokeFunction(function, getter_arguments));
         CheckResultError(getter_result);
         ASSERT(getter_result.IsNull() || getter_result.IsInstance());
 
         orig_arguments.SetAt(0, getter_result);
-        const Object& call_result =
-          Object::Handle(zone, DartEntry::InvokeClosure(orig_arguments,
-                                                        orig_arguments_desc));
+        const Object& call_result = Object::Handle(
+            zone,
+            DartEntry::InvokeClosure(orig_arguments, orig_arguments_desc));
         CheckResultError(call_result);
         arguments.SetReturn(call_result);
         return;
@@ -1582,7 +1540,6 @@
 }
 
 
-
 // Invoke appropriate noSuchMethod function.
 // Arg0: receiver (closure object)
 // Arg1: arguments descriptor array.
@@ -1598,11 +1555,8 @@
   const Function& function = Function::Handle(receiver.function());
   const String& original_function_name =
       String::Handle(function.QualifiedUserVisibleName());
-  const Object& result = Object::Handle(
-      DartEntry::InvokeNoSuchMethod(receiver,
-                                    original_function_name,
-                                    orig_arguments,
-                                    orig_arguments_desc));
+  const Object& result = Object::Handle(DartEntry::InvokeNoSuchMethod(
+      receiver, original_function_name, orig_arguments, orig_arguments_desc));
   CheckResultError(result);
   arguments.SetReturn(result);
 }
@@ -1638,29 +1592,24 @@
   bool do_reload = false;
   const intptr_t isolate_reload_every =
       isolate->reload_every_n_stack_overflow_checks();
-  if ((FLAG_deoptimize_every > 0) ||
-      (FLAG_stacktrace_every > 0) ||
+  if ((FLAG_deoptimize_every > 0) || (FLAG_stacktrace_every > 0) ||
       (isolate_reload_every > 0)) {
     // TODO(turnidge): To make --deoptimize_every and
     // --stacktrace-every faster we could move this increment/test to
     // the generated code.
     int32_t count = thread->IncrementAndGetStackOverflowCount();
-    if (FLAG_deoptimize_every > 0 &&
-        (count % FLAG_deoptimize_every) == 0) {
+    if (FLAG_deoptimize_every > 0 && (count % FLAG_deoptimize_every) == 0) {
       do_deopt = true;
     }
-    if (FLAG_stacktrace_every > 0 &&
-        (count % FLAG_stacktrace_every) == 0) {
+    if (FLAG_stacktrace_every > 0 && (count % FLAG_stacktrace_every) == 0) {
       do_stacktrace = true;
     }
-    if ((isolate_reload_every > 0) &&
-        (count % isolate_reload_every) == 0) {
+    if ((isolate_reload_every > 0) && (count % isolate_reload_every) == 0) {
       do_reload = isolate->CanReload();
     }
   }
-  if ((FLAG_deoptimize_filter != NULL) ||
-      (FLAG_stacktrace_filter != NULL) ||
-       FLAG_reload_every_optimized) {
+  if ((FLAG_deoptimize_filter != NULL) || (FLAG_stacktrace_filter != NULL) ||
+      FLAG_reload_every_optimized) {
     DartFrameIterator iterator;
     StackFrame* frame = iterator.NextFrame();
     ASSERT(frame != NULL);
@@ -1674,8 +1623,7 @@
       // Don't do the reload if we aren't inside optimized code.
       do_reload = false;
     }
-    if (code.is_optimized() &&
-        FLAG_deoptimize_filter != NULL &&
+    if (code.is_optimized() && FLAG_deoptimize_filter != NULL &&
         strstr(function_name, FLAG_deoptimize_filter) != NULL) {
       OS::PrintErr("*** Forcing deoptimization (%s)\n",
                    function.ToFullyQualifiedCString());
@@ -1725,7 +1673,7 @@
 #endif
       // Variable locations and number are unknown when precompiling.
       const int num_vars =
-         FLAG_precompiled_runtime ? 0 : frame->NumLocalVariables();
+          FLAG_precompiled_runtime ? 0 : frame->NumLocalVariables();
       TokenPosition unused = TokenPosition::kNoSource;
       for (intptr_t v = 0; v < num_vars; v++) {
         frame->VariableAt(v, &var_name, &unused, &unused, &unused, &var_value);
@@ -1775,8 +1723,7 @@
     ASSERT(osr_id != Compiler::kNoOSRDeoptId);
     if (FLAG_trace_osr) {
       OS::Print("Attempting OSR for %s at id=%" Pd ", count=%" Pd "\n",
-                function.ToFullyQualifiedCString(),
-                osr_id,
+                function.ToFullyQualifiedCString(), osr_id,
                 function.usage_counter());
     }
 
@@ -1784,8 +1731,8 @@
     // Since the code is referenced from the frame and the ZoneHandle,
     // it cannot have been removed from the function.
     ASSERT(!original_code.IsNull());
-    const Error& error = Error::Handle(Compiler::CompileOptimizedFunction(
-        thread, function, osr_id));
+    const Error& error = Error::Handle(
+        Compiler::CompileOptimizedFunction(thread, function, osr_id));
     if (!error.IsNull()) {
       Exceptions::PropagateError(error);
     }
@@ -1814,12 +1761,9 @@
   StackFrame* frame = iterator.NextFrame();
   ASSERT(frame != NULL);
   OS::PrintErr("IC call @%#" Px ": ICData: %p cnt:%" Pd " nchecks: %" Pd
-      " %s\n",
-      frame->pc(),
-      ic_data.raw(),
-      function.usage_counter(),
-      ic_data.NumberOfChecks(),
-      function.ToFullyQualifiedCString());
+               " %s\n",
+               frame->pc(), ic_data.raw(), function.usage_counter(),
+               ic_data.NumberOfChecks(), function.ToFullyQualifiedCString());
 }
 
 
@@ -1828,8 +1772,7 @@
 // Returns the Code object where to continue execution.
 DEFINE_RUNTIME_ENTRY(OptimizeInvokedFunction, 1) {
 #if !defined(DART_PRECOMPILED_RUNTIME)
-  const Function& function = Function::CheckedHandle(zone,
-                                                     arguments.ArgAt(0));
+  const Function& function = Function::CheckedHandle(zone, arguments.ArgAt(0));
   ASSERT(!function.IsNull());
   ASSERT(function.HasCode());
 
@@ -1914,25 +1857,23 @@
   const Function& target_function = Function::Handle(
       zone, caller_code.GetStaticCallTargetFunctionAt(frame->pc()));
   if (!target_function.HasCode()) {
-    const Error& error = Error::Handle(
-        zone, Compiler::CompileFunction(thread, target_function));
+    const Error& error =
+        Error::Handle(zone, Compiler::CompileFunction(thread, target_function));
     if (!error.IsNull()) {
       Exceptions::PropagateError(error);
     }
   }
   ASSERT(target_function.HasCode());
 
-  const Code& current_target_code = Code::Handle(
-      zone, target_function.CurrentCode());
-  CodePatcher::PatchStaticCallAt(frame->pc(),
-                                 caller_code,
-                                 current_target_code);
+  const Code& current_target_code =
+      Code::Handle(zone, target_function.CurrentCode());
+  CodePatcher::PatchStaticCallAt(frame->pc(), caller_code, current_target_code);
   caller_code.SetStaticCallTargetCodeAt(frame->pc(), current_target_code);
   if (FLAG_trace_patching) {
-    OS::PrintErr("FixCallersTarget: caller %#" Px " "
+    OS::PrintErr("FixCallersTarget: caller %#" Px
+                 " "
                  "target '%s' -> %#" Px "\n",
-                 frame->pc(),
-                 target_function.ToFullyQualifiedCString(),
+                 frame->pc(), target_function.ToFullyQualifiedCString(),
                  current_target_code.UncheckedEntryPoint());
   }
   ASSERT(!current_target_code.IsDisabled());
@@ -1967,16 +1908,14 @@
     alloc_stub = StubCode::GetAllocationStubForClass(alloc_class);
     ASSERT(!alloc_stub.IsDisabled());
   }
-  CodePatcher::PatchStaticCallAt(frame->pc(),
-                                 caller_code,
-                                 alloc_stub);
+  CodePatcher::PatchStaticCallAt(frame->pc(), caller_code, alloc_stub);
   caller_code.SetStubCallTargetCodeAt(frame->pc(), alloc_stub);
   if (FLAG_trace_patching) {
-    OS::PrintErr("FixAllocationStubTarget: caller %#" Px " alloc-class %s "
-        " -> %#" Px "\n",
-        frame->pc(),
-        alloc_class.ToCString(),
-        alloc_stub.UncheckedEntryPoint());
+    OS::PrintErr("FixAllocationStubTarget: caller %#" Px
+                 " alloc-class %s "
+                 " -> %#" Px "\n",
+                 frame->pc(), alloc_class.ToCString(),
+                 alloc_stub.UncheckedEntryPoint());
   }
   arguments.SetReturn(alloc_stub);
 #else
@@ -1987,8 +1926,10 @@
 
 const char* DeoptReasonToCString(ICData::DeoptReasonId deopt_reason) {
   switch (deopt_reason) {
-#define DEOPT_REASON_TO_TEXT(name) case ICData::kDeopt##name: return #name;
-DEOPT_REASONS(DEOPT_REASON_TO_TEXT)
+#define DEOPT_REASON_TO_TEXT(name)                                             \
+  case ICData::kDeopt##name:                                                   \
+    return #name;
+    DEOPT_REASONS(DEOPT_REASON_TO_TEXT)
 #undef DEOPT_REASON_TO_TEXT
     default:
       UNREACHABLE();
@@ -2019,13 +1960,12 @@
   const Instructions& instrs =
       Instructions::Handle(zone, optimized_code.instructions());
   {
-    WritableInstructionsScope writable(instrs.PayloadStart(), instrs.size());
+    WritableInstructionsScope writable(instrs.PayloadStart(), instrs.Size());
     CodePatcher::InsertDeoptimizationCallAt(frame->pc());
     if (FLAG_trace_patching) {
       const String& name = String::Handle(function.name());
-      OS::PrintErr(
-          "InsertDeoptimizationCallAt: 0x%" Px " for %s\n",
-          frame->pc(), name.ToCString());
+      OS::PrintErr("InsertDeoptimizationCallAt: 0x%" Px " for %s\n",
+                   frame->pc(), name.ToCString());
     }
     const ExceptionHandlers& handlers =
         ExceptionHandlers::Handle(zone, optimized_code.exception_handlers());
@@ -2126,7 +2066,8 @@
 // The calling code must be optimized, but its function may not have
 // have optimized code if the code is OSR code, or if the code was invalidated
 // through class loading/finalization or field guard.
-DEFINE_LEAF_RUNTIME_ENTRY(intptr_t, DeoptimizeCopyFrame,
+DEFINE_LEAF_RUNTIME_ENTRY(intptr_t,
+                          DeoptimizeCopyFrame,
                           2,
                           uword saved_registers_address,
                           uword is_lazy_deopt) {
@@ -2137,10 +2078,10 @@
   HANDLESCOPE(thread);
 
   // All registers have been saved below last-fp as if they were locals.
-  const uword last_fp = saved_registers_address
-                        + (kNumberOfSavedCpuRegisters * kWordSize)
-                        + (kNumberOfSavedFpuRegisters * kFpuRegisterSize)
-                        - ((kFirstLocalSlotFromFp + 1) * kWordSize);
+  const uword last_fp = saved_registers_address +
+                        (kNumberOfSavedCpuRegisters * kWordSize) +
+                        (kNumberOfSavedFpuRegisters * kFpuRegisterSize) -
+                        ((kFirstLocalSlotFromFp + 1) * kWordSize);
 
   // Get optimized code and frame that need to be deoptimized.
   DartFrameIterator iterator(last_fp);
@@ -2155,17 +2096,17 @@
   if (FLAG_trace_deoptimization) {
     const Function& function = Function::Handle(optimized_code.function());
     THR_Print("== Deoptimizing code for '%s', %s, %s\n",
-       function.ToFullyQualifiedCString(),
-       deoptimizing_code ? "code & frame" : "frame",
-       is_lazy_deopt ? "lazy-deopt" : "");
+              function.ToFullyQualifiedCString(),
+              deoptimizing_code ? "code & frame" : "frame",
+              is_lazy_deopt ? "lazy-deopt" : "");
   }
 
 #if !defined(TARGET_ARCH_DBC)
   if (is_lazy_deopt) {
     uword deopt_pc = isolate->FindPendingDeopt(caller_frame->fp());
     if (FLAG_trace_deoptimization) {
-      THR_Print("Lazy deopt fp=%" Pp " pc=%" Pp "\n",
-                caller_frame->fp(), deopt_pc);
+      THR_Print("Lazy deopt fp=%" Pp " pc=%" Pp "\n", caller_frame->fp(),
+                deopt_pc);
     }
 
     // N.B.: Update frame before updating pending deopt table. The profiler
@@ -2176,8 +2117,8 @@
     isolate->ClearPendingDeoptsAtOrBelow(caller_frame->fp());
   } else {
     if (FLAG_trace_deoptimization) {
-      THR_Print("Eager deopt fp=%" Pp " pc=%" Pp "\n",
-                caller_frame->fp(), caller_frame->pc());
+      THR_Print("Eager deopt fp=%" Pp " pc=%" Pp "\n", caller_frame->fp(),
+                caller_frame->pc());
     }
   }
 #endif  // !DBC
@@ -2188,14 +2129,9 @@
   CopySavedRegisters(saved_registers_address, &fpu_registers, &cpu_registers);
 
   // Create the DeoptContext.
-  DeoptContext* deopt_context =
-      new DeoptContext(caller_frame,
-                       optimized_code,
-                       DeoptContext::kDestIsOriginalFrame,
-                       fpu_registers,
-                       cpu_registers,
-                       is_lazy_deopt != 0,
-                       deoptimizing_code);
+  DeoptContext* deopt_context = new DeoptContext(
+      caller_frame, optimized_code, DeoptContext::kDestIsOriginalFrame,
+      fpu_registers, cpu_registers, is_lazy_deopt != 0, deoptimizing_code);
   isolate->set_deopt_context(deopt_context);
 
   // Stack size (FP - SP) in bytes.
diff --git a/runtime/vm/code_generator.h b/runtime/vm/code_generator.h
index d188504..65b8ca1 100644
--- a/runtime/vm/code_generator.h
+++ b/runtime/vm/code_generator.h
@@ -11,7 +11,8 @@
 namespace dart {
 
 class Array;
-template <typename T> class GrowableArray;
+template <typename T>
+class GrowableArray;
 class ICData;
 class Instance;
 
diff --git a/runtime/vm/code_generator_test.cc b/runtime/vm/code_generator_test.cc
index df97482..609debf 100644
--- a/runtime/vm/code_generator_test.cc
+++ b/runtime/vm/code_generator_test.cc
@@ -47,8 +47,8 @@
 
 // Helper to allocate and return a LocalVariable.
 static LocalVariable* NewTestLocalVariable(const char* name) {
-  const String& variable_name = String::ZoneHandle(
-      Symbols::New(Thread::Current(), name));
+  const String& variable_name =
+      String::ZoneHandle(Symbols::New(Thread::Current(), name));
   const Type& variable_type = Type::ZoneHandle(Type::DynamicType());
   return new LocalVariable(kPos, kPos, variable_name, variable_type);
 }
@@ -73,8 +73,8 @@
   SequenceNode* node_seq = test->node_sequence();
   ArgumentListNode* arguments = new ArgumentListNode(kPos);
   arguments->Add(new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(3))));
-  node_seq->Add(new ReturnNode(kPos,
-                               new StaticCallNode(kPos, function, arguments)));
+  node_seq->Add(
+      new ReturnNode(kPos, new StaticCallNode(kPos, function, arguments)));
 }
 CODEGEN_TEST2_RUN(StaticCallReturnParameterCodegen,
                   ReturnParameterCodegen,
@@ -96,10 +96,9 @@
   const Function& function = test->function();
   function.set_num_fixed_parameters(num_params);
   ASSERT(!function.HasOptionalParameters());
-  BinaryOpNode* add = new BinaryOpNode(kPos,
-                                       Token::kADD,
-                                       new LoadLocalNode(kPos, param1),
-                                       new LoadLocalNode(kPos, param2));
+  BinaryOpNode* add =
+      new BinaryOpNode(kPos, Token::kADD, new LoadLocalNode(kPos, param1),
+                       new LoadLocalNode(kPos, param2));
   node_seq->Add(new StoreLocalNode(kPos, sum, add));
   node_seq->Add(new ReturnNode(kPos, new LoadLocalNode(kPos, sum)));
 }
@@ -111,12 +110,10 @@
   ArgumentListNode* arguments = new ArgumentListNode(kPos);
   arguments->Add(new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(3))));
   arguments->Add(new LiteralNode(kPos, Smi::ZoneHandle(Smi::New(2))));
-  node_seq->Add(new ReturnNode(kPos,
-                               new StaticCallNode(kPos, function, arguments)));
+  node_seq->Add(
+      new ReturnNode(kPos, new StaticCallNode(kPos, function, arguments)));
 }
-CODEGEN_TEST2_RUN(StaticCallSmiParamSumCodegen,
-                  SmiParamSumCodegen,
-                  Smi::New(5))
+CODEGEN_TEST2_RUN(StaticCallSmiParamSumCodegen, SmiParamSumCodegen, Smi::New(5))
 
 
 CODEGEN_TEST_GENERATE(SmiAddCodegen, test) {
@@ -221,16 +218,16 @@
   lib.Register(thread);
   Library& core_lib = Library::Handle(zone, Library::CoreLibrary());
   ASSERT(!core_lib.IsNull());
-  const Namespace& core_ns = Namespace::Handle(zone,
-      Namespace::New(core_lib, Array::Handle(zone), Array::Handle(zone)));
+  const Namespace& core_ns = Namespace::Handle(
+      zone, Namespace::New(core_lib, Array::Handle(zone), Array::Handle(zone)));
   lib.AddImport(core_ns);
   return lib;
 }
 
 
 static RawClass* LookupClass(const Library& lib, const char* name) {
-  const String& cls_name = String::ZoneHandle(Symbols::New(Thread::Current(),
-                                                           name));
+  const String& cls_name =
+      String::ZoneHandle(Symbols::New(Thread::Current(), name));
   return lib.LookupClass(cls_name);
 }
 
@@ -244,9 +241,8 @@
 
   String& url = String::Handle(String::New("dart-test:CompileScript"));
   String& source = String::Handle(String::New(kScriptChars));
-  Script& script = Script::Handle(Script::New(url,
-                                              source,
-                                              RawScript::kScriptTag));
+  Script& script =
+      Script::Handle(Script::New(url, source, RawScript::kScriptTag));
   Library& lib = MakeTestLibrary("TestLib");
   EXPECT(CompilerTest::TestCompileScript(lib, script));
   EXPECT(ClassFinalizer::ProcessPendingClasses());
@@ -291,9 +287,8 @@
 
   String& url = String::Handle(String::New("dart-test:CompileScript"));
   String& source = String::Handle(String::New(kScriptChars));
-  Script& script = Script::Handle(Script::New(url,
-                                              source,
-                                              RawScript::kScriptTag));
+  Script& script =
+      Script::Handle(Script::New(url, source, RawScript::kScriptTag));
   Library& lib = MakeTestLibrary("TestLib");
   EXPECT(CompilerTest::TestCompileScript(lib, script));
   EXPECT(ClassFinalizer::ProcessPendingClasses());
@@ -306,16 +301,14 @@
   EXPECT(!constructor.IsNull());
 
   // The unit test creates an instance of class A and calls function 'bar'.
-  String& function_bar_name = String::ZoneHandle(Symbols::New(Thread::Current(),
-                                                              "bar"));
+  String& function_bar_name =
+      String::ZoneHandle(Symbols::New(Thread::Current(), "bar"));
   ArgumentListNode* no_arguments = new ArgumentListNode(kPos);
   const TypeArguments& no_type_arguments = TypeArguments::ZoneHandle();
   InstanceCallNode* call_bar = new InstanceCallNode(
-      kPos,
-      new ConstructorCallNode(
-          kPos, no_type_arguments, constructor, no_arguments),
-      function_bar_name,
-      no_arguments);
+      kPos, new ConstructorCallNode(kPos, no_type_arguments, constructor,
+                                    no_arguments),
+      function_bar_name, no_arguments);
 
   test->node_sequence()->Add(new ReturnNode(kPos, call_bar));
 }
@@ -332,9 +325,8 @@
 
   String& url = String::Handle(String::New("dart-test:CompileScript"));
   String& source = String::Handle(String::New(kScriptChars));
-  Script& script = Script::Handle(Script::New(url,
-                                              source,
-                                              RawScript::kScriptTag));
+  Script& script =
+      Script::Handle(Script::New(url, source, RawScript::kScriptTag));
   Library& lib = MakeTestLibrary("TestLib");
   EXPECT(CompilerTest::TestCompileScript(lib, script));
   EXPECT(ClassFinalizer::ProcessPendingClasses());
@@ -348,8 +340,9 @@
 
   const TypeArguments& no_type_arguments = TypeArguments::ZoneHandle();
   ArgumentListNode* no_arguments = new ArgumentListNode(kPos);
-  test->node_sequence()->Add(new ReturnNode(kPos, new ConstructorCallNode(
-      kPos, no_type_arguments, constructor, no_arguments)));
+  test->node_sequence()->Add(
+      new ReturnNode(kPos, new ConstructorCallNode(kPos, no_type_arguments,
+                                                   constructor, no_arguments)));
 }
 
 
@@ -357,7 +350,7 @@
   const Object& result = Object::Handle(
       DartEntry::InvokeFunction(function, Object::empty_array()));
   EXPECT(!result.IsError());
-  const GrowableObjectArray& libs =  GrowableObjectArray::Handle(
+  const GrowableObjectArray& libs = GrowableObjectArray::Handle(
       Isolate::Current()->object_store()->libraries());
   ASSERT(!libs.IsNull());
   // App lib is the last one that was loaded.
@@ -365,9 +358,8 @@
   Library& app_lib = Library::Handle();
   app_lib ^= libs.At(num_libs - 1);
   ASSERT(!app_lib.IsNull());
-  const Class& cls = Class::Handle(
-      app_lib.LookupClass(String::Handle(Symbols::New(Thread::Current(),
-                                                      "A"))));
+  const Class& cls = Class::Handle(app_lib.LookupClass(
+      String::Handle(Symbols::New(Thread::Current(), "A"))));
   EXPECT_EQ(cls.raw(), result.clazz());
 }
 
diff --git a/runtime/vm/code_observers.h b/runtime/vm/code_observers.h
index 66794d9..1718d39 100644
--- a/runtime/vm/code_observers.h
+++ b/runtime/vm/code_observers.h
@@ -18,9 +18,9 @@
 // debuggers to map address ranges to function names.
 class CodeObserver {
  public:
-  CodeObserver() { }
+  CodeObserver() {}
 
-  virtual ~CodeObserver() { }
+  virtual ~CodeObserver() {}
 
   // Returns true if this observer is active and should be notified
   // about newly created code objects.
@@ -57,9 +57,7 @@
 
   static void DeleteAll();
 
-  static Mutex* mutex() {
-    return mutex_;
-  }
+  static Mutex* mutex() { return mutex_; }
 
  private:
   static Mutex* mutex_;
diff --git a/runtime/vm/code_patcher.cc b/runtime/vm/code_patcher.cc
index c62be00..0c46d74 100644
--- a/runtime/vm/code_patcher.cc
+++ b/runtime/vm/code_patcher.cc
@@ -17,8 +17,7 @@
                                                      intptr_t size)
     : address_(address), size_(size) {
   if (FLAG_write_protect_code) {
-    bool status = VirtualMemory::Protect(reinterpret_cast<void*>(address),
-                                         size,
+    bool status = VirtualMemory::Protect(reinterpret_cast<void*>(address), size,
                                          VirtualMemory::kReadWrite);
     ASSERT(status);
   }
@@ -28,8 +27,7 @@
 WritableInstructionsScope::~WritableInstructionsScope() {
   if (FLAG_write_protect_code) {
     bool status = VirtualMemory::Protect(reinterpret_cast<void*>(address_),
-                                         size_,
-                                         VirtualMemory::kReadExecute);
+                                         size_, VirtualMemory::kReadExecute);
     ASSERT(status);
   }
 }
diff --git a/runtime/vm/code_patcher_arm.cc b/runtime/vm/code_patcher_arm.cc
index 7640a5f..70507f8 100644
--- a/runtime/vm/code_patcher_arm.cc
+++ b/runtime/vm/code_patcher_arm.cc
@@ -54,8 +54,9 @@
 }
 
 
-RawFunction* CodePatcher::GetUnoptimizedStaticCallAt(
-    uword return_address, const Code& code, ICData* ic_data_result) {
+RawFunction* CodePatcher::GetUnoptimizedStaticCallAt(uword return_address,
+                                                     const Code& code,
+                                                     ICData* ic_data_result) {
   ASSERT(code.ContainsInstructionAt(return_address));
   CallPattern static_call(return_address, code);
   ICData& ic_data = ICData::Handle();
@@ -106,8 +107,8 @@
 
 
 RawCode* CodePatcher::GetNativeCallAt(uword return_address,
-                                     const Code& code,
-                                     NativeFunction* target) {
+                                      const Code& code,
+                                      NativeFunction* target) {
   ASSERT(code.ContainsInstructionAt(return_address));
   NativeCallPattern call(return_address, code);
   *target = call.native_function();
diff --git a/runtime/vm/code_patcher_arm64.cc b/runtime/vm/code_patcher_arm64.cc
index 658f406..b64b21d 100644
--- a/runtime/vm/code_patcher_arm64.cc
+++ b/runtime/vm/code_patcher_arm64.cc
@@ -15,17 +15,14 @@
 class PoolPointerCall : public ValueObject {
  public:
   PoolPointerCall(uword pc, const Code& code)
-      : end_(pc),
-        object_pool_(ObjectPool::Handle(code.GetObjectPool())) {
+      : end_(pc), object_pool_(ObjectPool::Handle(code.GetObjectPool())) {
     // Last instruction: blr ip0.
     ASSERT(*(reinterpret_cast<uint32_t*>(end_) - 1) == 0xd63f0200);
-    InstructionPattern::DecodeLoadWordFromPool(
-        end_ - 2 * Instr::kInstrSize, &reg_, &index_);
+    InstructionPattern::DecodeLoadWordFromPool(end_ - 2 * Instr::kInstrSize,
+                                               &reg_, &index_);
   }
 
-  intptr_t pp_index() const {
-    return index_;
-  }
+  intptr_t pp_index() const { return index_; }
 
   RawCode* Target() const {
     return reinterpret_cast<RawCode*>(object_pool_.ObjectAt(pp_index()));
@@ -94,8 +91,9 @@
 }
 
 
-RawFunction* CodePatcher::GetUnoptimizedStaticCallAt(
-    uword return_address, const Code& code, ICData* ic_data_result) {
+RawFunction* CodePatcher::GetUnoptimizedStaticCallAt(uword return_address,
+                                                     const Code& code,
+                                                     ICData* ic_data_result) {
   ASSERT(code.ContainsInstructionAt(return_address));
   CallPattern static_call(return_address, code);
   ICData& ic_data = ICData::Handle();
diff --git a/runtime/vm/code_patcher_arm64_test.cc b/runtime/vm/code_patcher_arm64_test.cc
index af3417f..ce077b6 100644
--- a/runtime/vm/code_patcher_arm64_test.cc
+++ b/runtime/vm/code_patcher_arm64_test.cc
@@ -26,22 +26,17 @@
   const Script& script = Script::Handle();
   const Class& owner_class = Class::Handle(Class::New(
       Library::Handle(), class_name, script, TokenPosition::kNoSource));
-  const String& function_name = String::Handle(Symbols::New(thread,
-                                                            "callerFunction"));
-  const Function& function = Function::Handle(
-      Function::New(function_name, RawFunction::kRegularFunction,
-                    true, false, false, false, false, owner_class,
-                    TokenPosition::kNoSource));
+  const String& function_name =
+      String::Handle(Symbols::New(thread, "callerFunction"));
+  const Function& function = Function::Handle(Function::New(
+      function_name, RawFunction::kRegularFunction, true, false, false, false,
+      false, owner_class, TokenPosition::kNoSource));
 
   const String& target_name = String::Handle(String::New("targetFunction"));
   const Array& args_descriptor =
       Array::Handle(ArgumentsDescriptor::New(1, Object::null_array()));
-  const ICData& ic_data = ICData::ZoneHandle(ICData::New(function,
-                                                         target_name,
-                                                         args_descriptor,
-                                                         15,
-                                                         1,
-                                                         false));
+  const ICData& ic_data = ICData::ZoneHandle(
+      ICData::New(function, target_name, args_descriptor, 15, 1, false));
 
   // Code accessing pp is generated, but not executed. Uninitialized pp is OK.
   __ set_constant_pool_allowed(true);
@@ -58,7 +53,7 @@
   ICData& ic_data = ICData::Handle();
   CodePatcher::GetInstanceCallAt(return_address, test->code(), &ic_data);
   EXPECT_STREQ("targetFunction",
-      String::Handle(ic_data.target_name()).ToCString());
+               String::Handle(ic_data.target_name()).ToCString());
   EXPECT_EQ(1, ic_data.NumArgsTested());
   EXPECT_EQ(0, ic_data.NumberOfChecks());
 }
diff --git a/runtime/vm/code_patcher_arm_test.cc b/runtime/vm/code_patcher_arm_test.cc
index f63c546..c3dce93 100644
--- a/runtime/vm/code_patcher_arm_test.cc
+++ b/runtime/vm/code_patcher_arm_test.cc
@@ -26,22 +26,17 @@
   const Script& script = Script::Handle();
   const Class& owner_class = Class::Handle(Class::New(
       Library::Handle(), class_name, script, TokenPosition::kNoSource));
-  const String& function_name = String::Handle(Symbols::New(thread,
-                                                            "callerFunction"));
-  const Function& function = Function::Handle(
-      Function::New(function_name, RawFunction::kRegularFunction,
-                    true, false, false, false, false, owner_class,
-                    TokenPosition::kNoSource));
+  const String& function_name =
+      String::Handle(Symbols::New(thread, "callerFunction"));
+  const Function& function = Function::Handle(Function::New(
+      function_name, RawFunction::kRegularFunction, true, false, false, false,
+      false, owner_class, TokenPosition::kNoSource));
 
   const String& target_name = String::Handle(String::New("targetFunction"));
   const Array& args_descriptor =
       Array::Handle(ArgumentsDescriptor::New(1, Object::null_array()));
-  const ICData& ic_data = ICData::ZoneHandle(ICData::New(function,
-                                                         target_name,
-                                                         args_descriptor,
-                                                         15,
-                                                         1,
-                                                         false));
+  const ICData& ic_data = ICData::ZoneHandle(
+      ICData::New(function, target_name, args_descriptor, 15, 1, false));
 
   // Code accessing pp is generated, but not executed. Uninitialized pp is OK.
   __ set_constant_pool_allowed(true);
@@ -58,7 +53,7 @@
   ICData& ic_data = ICData::Handle();
   CodePatcher::GetInstanceCallAt(return_address, test->code(), &ic_data);
   EXPECT_STREQ("targetFunction",
-      String::Handle(ic_data.target_name()).ToCString());
+               String::Handle(ic_data.target_name()).ToCString());
   EXPECT_EQ(1, ic_data.NumArgsTested());
   EXPECT_EQ(0, ic_data.NumberOfChecks());
 }
diff --git a/runtime/vm/code_patcher_dbc.cc b/runtime/vm/code_patcher_dbc.cc
index b24c32f..60cc9d6 100644
--- a/runtime/vm/code_patcher_dbc.cc
+++ b/runtime/vm/code_patcher_dbc.cc
@@ -53,8 +53,9 @@
 }
 
 
-RawFunction* CodePatcher::GetUnoptimizedStaticCallAt(
-    uword return_address, const Code& code, ICData* ic_data_result) {
+RawFunction* CodePatcher::GetUnoptimizedStaticCallAt(uword return_address,
+                                                     const Code& code,
+                                                     ICData* ic_data_result) {
   ASSERT(code.ContainsInstructionAt(return_address));
   CallPattern static_call(return_address, code);
   ICData& ic_data = ICData::Handle();
@@ -105,8 +106,8 @@
 
 
 RawCode* CodePatcher::GetNativeCallAt(uword return_address,
-                                     const Code& code,
-                                     NativeFunction* target) {
+                                      const Code& code,
+                                      NativeFunction* target) {
   ASSERT(code.ContainsInstructionAt(return_address));
   NativeCallPattern call(return_address, code);
   *target = call.native_function();
diff --git a/runtime/vm/code_patcher_ia32.cc b/runtime/vm/code_patcher_ia32.cc
index de3f74c..d0b0a3e 100644
--- a/runtime/vm/code_patcher_ia32.cc
+++ b/runtime/vm/code_patcher_ia32.cc
@@ -44,13 +44,9 @@
            (code_bytes[2 * kMovInstructionSize] == 0xFF);
   }
 
-  uword return_address() const {
-    return start_ + kPatternSize;
-  }
+  uword return_address() const { return start_ + kPatternSize; }
 
-  uword call_address() const {
-    return start_ + 2 * kMovInstructionSize;
-  }
+  uword call_address() const { return start_ + 2 * kMovInstructionSize; }
 
  protected:
   uword start_;
@@ -62,8 +58,7 @@
 
 class NativeCall : public UnoptimizedCall {
  public:
-  explicit NativeCall(uword return_address) : UnoptimizedCall(return_address) {
-  }
+  explicit NativeCall(uword return_address) : UnoptimizedCall(return_address) {}
 
   NativeFunction native_function() const {
     return *reinterpret_cast<NativeFunction*>(start_ + 1);
@@ -145,12 +140,10 @@
 
  private:
   uword return_address() const {
-    return start_ + kMovInstructionSize +  kCallInstructionSize;
+    return start_ + kMovInstructionSize + kCallInstructionSize;
   }
 
-  uword call_address() const {
-    return start_ + kMovInstructionSize;
-  }
+  uword call_address() const { return start_ + kMovInstructionSize; }
 
   uword start_;
 
@@ -170,7 +163,7 @@
                                     const Code& code,
                                     const Code& new_target) {
   const Instructions& instrs = Instructions::Handle(code.instructions());
-  WritableInstructionsScope writable(instrs.PayloadStart(), instrs.size());
+  WritableInstructionsScope writable(instrs.PayloadStart(), instrs.Size());
   ASSERT(code.ContainsInstructionAt(return_address));
   StaticCall call(return_address);
   call.set_target(new_target);
@@ -182,8 +175,9 @@
 }
 
 
-RawCode* CodePatcher::GetInstanceCallAt(
-    uword return_address, const Code& code, ICData* ic_data) {
+RawCode* CodePatcher::GetInstanceCallAt(uword return_address,
+                                        const Code& code,
+                                        ICData* ic_data) {
   ASSERT(code.ContainsInstructionAt(return_address));
   InstanceCall call(return_address);
   if (ic_data != NULL) {
@@ -193,8 +187,9 @@
 }
 
 
-RawFunction* CodePatcher::GetUnoptimizedStaticCallAt(
-    uword return_address, const Code& code, ICData* ic_data_result) {
+RawFunction* CodePatcher::GetUnoptimizedStaticCallAt(uword return_address,
+                                                     const Code& code,
+                                                     ICData* ic_data_result) {
   ASSERT(code.ContainsInstructionAt(return_address));
   UnoptimizedStaticCall static_call(return_address);
   ICData& ic_data = ICData::Handle();
@@ -247,7 +242,6 @@
 }
 
 
-
 intptr_t CodePatcher::InstanceCallSizeInBytes() {
   return InstanceCall::kPatternSize;
 }
diff --git a/runtime/vm/code_patcher_ia32_test.cc b/runtime/vm/code_patcher_ia32_test.cc
index e7a6fab..b3cf0cf 100644
--- a/runtime/vm/code_patcher_ia32_test.cc
+++ b/runtime/vm/code_patcher_ia32_test.cc
@@ -26,22 +26,17 @@
   const Script& script = Script::Handle();
   const Class& owner_class = Class::Handle(Class::New(
       Library::Handle(), class_name, script, TokenPosition::kNoSource));
-  const String& function_name = String::Handle(Symbols::New(thread,
-                                                            "callerFunction"));
-  const Function& function = Function::Handle(
-      Function::New(function_name, RawFunction::kRegularFunction,
-                    true, false, false, false, false, owner_class,
-                    TokenPosition::kNoSource));
+  const String& function_name =
+      String::Handle(Symbols::New(thread, "callerFunction"));
+  const Function& function = Function::Handle(Function::New(
+      function_name, RawFunction::kRegularFunction, true, false, false, false,
+      false, owner_class, TokenPosition::kNoSource));
 
   const String& target_name = String::Handle(String::New("targetFunction"));
   const Array& args_descriptor =
       Array::Handle(ArgumentsDescriptor::New(1, Object::null_array()));
-  const ICData& ic_data = ICData::ZoneHandle(ICData::New(function,
-                                                         target_name,
-                                                         args_descriptor,
-                                                         15,
-                                                         1,
-                                                         false));
+  const ICData& ic_data = ICData::ZoneHandle(
+      ICData::New(function, target_name, args_descriptor, 15, 1, false));
 
   __ LoadObject(ECX, ic_data);
   __ Call(*StubCode::OneArgCheckInlineCache_entry());
@@ -54,7 +49,7 @@
   ICData& ic_data = ICData::Handle();
   CodePatcher::GetInstanceCallAt(return_address, test->code(), &ic_data);
   EXPECT_STREQ("targetFunction",
-      String::Handle(ic_data.target_name()).ToCString());
+               String::Handle(ic_data.target_name()).ToCString());
   EXPECT_EQ(1, ic_data.NumArgsTested());
   EXPECT_EQ(0, ic_data.NumberOfChecks());
 }
diff --git a/runtime/vm/code_patcher_mips.cc b/runtime/vm/code_patcher_mips.cc
index 3ed9af3..a6dab70 100644
--- a/runtime/vm/code_patcher_mips.cc
+++ b/runtime/vm/code_patcher_mips.cc
@@ -53,8 +53,9 @@
 }
 
 
-RawFunction* CodePatcher::GetUnoptimizedStaticCallAt(
-    uword return_address, const Code& code, ICData* ic_data_result) {
+RawFunction* CodePatcher::GetUnoptimizedStaticCallAt(uword return_address,
+                                                     const Code& code,
+                                                     ICData* ic_data_result) {
   ASSERT(code.ContainsInstructionAt(return_address));
   CallPattern static_call(return_address, code);
   ICData& ic_data = ICData::Handle();
diff --git a/runtime/vm/code_patcher_mips_test.cc b/runtime/vm/code_patcher_mips_test.cc
index 8e07b77..61bba69 100644
--- a/runtime/vm/code_patcher_mips_test.cc
+++ b/runtime/vm/code_patcher_mips_test.cc
@@ -26,22 +26,17 @@
   const Script& script = Script::Handle();
   const Class& owner_class = Class::Handle(Class::New(
       Library::Handle(), class_name, script, TokenPosition::kNoSource));
-  const String& function_name = String::Handle(Symbols::New(thread,
-                                                            "callerFunction"));
-  const Function& function = Function::Handle(
-      Function::New(function_name, RawFunction::kRegularFunction,
-                    true, false, false, false, false, owner_class,
-                    TokenPosition::kNoSource));
+  const String& function_name =
+      String::Handle(Symbols::New(thread, "callerFunction"));
+  const Function& function = Function::Handle(Function::New(
+      function_name, RawFunction::kRegularFunction, true, false, false, false,
+      false, owner_class, TokenPosition::kNoSource));
 
   const String& target_name = String::Handle(String::New("targetFunction"));
   const Array& args_descriptor =
       Array::Handle(ArgumentsDescriptor::New(1, Object::null_array()));
-  const ICData& ic_data = ICData::ZoneHandle(ICData::New(function,
-                                                         target_name,
-                                                         args_descriptor,
-                                                         15,
-                                                         1,
-                                                         false));
+  const ICData& ic_data = ICData::ZoneHandle(
+      ICData::New(function, target_name, args_descriptor, 15, 1, false));
 
   __ LoadObject(S5, ic_data);
   __ BranchLinkPatchable(*StubCode::OneArgCheckInlineCache_entry());
@@ -55,7 +50,7 @@
   ICData& ic_data = ICData::Handle();
   CodePatcher::GetInstanceCallAt(return_address, test->code(), &ic_data);
   EXPECT_STREQ("targetFunction",
-      String::Handle(ic_data.target_name()).ToCString());
+               String::Handle(ic_data.target_name()).ToCString());
   EXPECT_EQ(1, ic_data.NumArgsTested());
   EXPECT_EQ(0, ic_data.NumberOfChecks());
 }
diff --git a/runtime/vm/code_patcher_x64.cc b/runtime/vm/code_patcher_x64.cc
index 0426ae7..4b79751 100644
--- a/runtime/vm/code_patcher_x64.cc
+++ b/runtime/vm/code_patcher_x64.cc
@@ -54,21 +54,17 @@
 
   bool IsValid() const {
     static int16_t pattern[kCallPatternSize] = {
-      0x49, 0x8b, 0x9f, -1, -1, -1, -1,  // movq RBX, [PP + offs]
-      0x4d, 0x8b, 0xa7, -1, -1, -1, -1,  // movq CR, [PP + offs]
-      0x4d, 0x8b, 0x5c, 0x24, 0x07,      // movq TMP, [CR + entry_point_offs]
-      0x41, 0xff, 0xd3                   // callq TMP
+        0x49, 0x8b, 0x9f, -1,   -1,   -1, -1,  // movq RBX, [PP + offs]
+        0x4d, 0x8b, 0xa7, -1,   -1,   -1, -1,  // movq CR, [PP + offs]
+        0x4d, 0x8b, 0x5c, 0x24, 0x07,  // movq TMP, [CR + entry_point_offs]
+        0x41, 0xff, 0xd3               // callq TMP
     };
     return MatchesPattern(start_, pattern, kCallPatternSize);
   }
 
-  intptr_t argument_index() const {
-    return IndexFromPPLoad(start_ + 3);
-  }
+  intptr_t argument_index() const { return IndexFromPPLoad(start_ + 3); }
 
-  RawObject* ic_data() const {
-    return object_pool_.ObjectAt(argument_index());
-  }
+  RawObject* ic_data() const { return object_pool_.ObjectAt(argument_index()); }
 
   RawCode* target() const {
     intptr_t index = IndexFromPPLoad(start_ + 10);
@@ -95,8 +91,7 @@
 class NativeCall : public UnoptimizedCall {
  public:
   NativeCall(uword return_address, const Code& code)
-      : UnoptimizedCall(return_address, code) {
-  }
+      : UnoptimizedCall(return_address, code) {}
 
   NativeFunction native_function() const {
     return reinterpret_cast<NativeFunction>(
@@ -104,8 +99,7 @@
   }
 
   void set_native_function(NativeFunction func) const {
-    object_pool_.SetRawValueAt(argument_index(),
-        reinterpret_cast<uword>(func));
+    object_pool_.SetRawValueAt(argument_index(), reinterpret_cast<uword>(func));
   }
 
  private:
@@ -159,16 +153,14 @@
 
   bool IsValid() const {
     static int16_t pattern[kCallPatternSize] = {
-      0x4d, 0x8b, 0xa7,   -1,   -1, -1, -1,  // movq CR, [PP + offs]
-      0x4d, 0x8b, 0x5c, 0x24, 0x07,          // movq TMP, [CR + entry_point_off]
-      0x41, 0xff, 0xd3                       // callq TMP
+        0x4d, 0x8b, 0xa7, -1,   -1,   -1, -1,  // movq CR, [PP + offs]
+        0x4d, 0x8b, 0x5c, 0x24, 0x07,  // movq TMP, [CR + entry_point_off]
+        0x41, 0xff, 0xd3               // callq TMP
     };
     return MatchesPattern(start_, pattern, kCallPatternSize);
   }
 
-  intptr_t pp_index() const {
-    return IndexFromPPLoad(start_ + 3);
-  }
+  intptr_t pp_index() const { return IndexFromPPLoad(start_ + 3); }
 
   RawCode* Target() const {
     Code& code = Code::Handle();
@@ -207,25 +199,19 @@
 
   bool IsValid() const {
     static int16_t pattern[kCallPatternSize] = {
-      0x4d, 0x8b, 0xa7, -1, -1, -1, -1,  // movq r12, [PP + code_offs]
-      0x49, 0x8b, 0x4c, 0x24, 0x0f,      // movq rcx, [r12 + entrypoint_off]
-      0x49, 0x8b, 0x9f, -1, -1, -1, -1,  // movq rbx, [PP + cache_offs]
-      0xff, 0xd1,                        // call rcx
+        0x4d, 0x8b, 0xa7, -1,   -1,   -1, -1,  // movq r12, [PP + code_offs]
+        0x49, 0x8b, 0x4c, 0x24, 0x0f,  // movq rcx, [r12 + entrypoint_off]
+        0x49, 0x8b, 0x9f, -1,   -1,   -1, -1,  // movq rbx, [PP + cache_offs]
+        0xff, 0xd1,                            // call rcx
     };
     ASSERT(ARRAY_SIZE(pattern) == kCallPatternSize);
     return MatchesPattern(start_, pattern, kCallPatternSize);
   }
 
-  intptr_t data_index() const {
-    return IndexFromPPLoad(start_ + 15);
-  }
-  intptr_t target_index() const {
-    return IndexFromPPLoad(start_ + 3);
-  }
+  intptr_t data_index() const { return IndexFromPPLoad(start_ + 15); }
+  intptr_t target_index() const { return IndexFromPPLoad(start_ + 3); }
 
-  RawObject* data() const {
-    return object_pool_.ObjectAt(data_index());
-  }
+  RawObject* data() const { return object_pool_.ObjectAt(data_index()); }
   RawCode* target() const {
     return reinterpret_cast<RawCode*>(object_pool_.ObjectAt(target_index()));
   }
@@ -251,7 +237,6 @@
 };
 
 
-
 RawCode* CodePatcher::GetStaticCallTargetAt(uword return_address,
                                             const Code& code) {
   ASSERT(code.ContainsInstructionAt(return_address));
@@ -298,8 +283,9 @@
 }
 
 
-RawFunction* CodePatcher::GetUnoptimizedStaticCallAt(
-    uword return_address, const Code& code, ICData* ic_data_result) {
+RawFunction* CodePatcher::GetUnoptimizedStaticCallAt(uword return_address,
+                                                     const Code& code,
+                                                     ICData* ic_data_result) {
   ASSERT(code.ContainsInstructionAt(return_address));
   UnoptimizedStaticCall static_call(return_address, code);
   ICData& ic_data = ICData::Handle();
diff --git a/runtime/vm/code_patcher_x64_test.cc b/runtime/vm/code_patcher_x64_test.cc
index c6e88c2..c82dc7e 100644
--- a/runtime/vm/code_patcher_x64_test.cc
+++ b/runtime/vm/code_patcher_x64_test.cc
@@ -26,21 +26,17 @@
   const Script& script = Script::Handle();
   const Class& owner_class = Class::Handle(Class::New(
       Library::Handle(), class_name, script, TokenPosition::kNoSource));
-  const String& function_name = String::Handle(Symbols::New(thread,
-                                                            "callerFunction"));
-  const Function& function = Function::Handle(
-      Function::New(function_name, RawFunction::kRegularFunction,
-                    true, false, false, false, false, owner_class,
-                    TokenPosition::kNoSource));
+  const String& function_name =
+      String::Handle(Symbols::New(thread, "callerFunction"));
+  const Function& function = Function::Handle(Function::New(
+      function_name, RawFunction::kRegularFunction, true, false, false, false,
+      false, owner_class, TokenPosition::kNoSource));
 
   const String& target_name = String::Handle(String::New("targetFunction"));
   const Array& args_descriptor =
       Array::Handle(ArgumentsDescriptor::New(1, Object::null_array()));
-  const ICData& ic_data = ICData::ZoneHandle(ICData::New(function,
-                                                         target_name,
-                                                         args_descriptor,
-                                                         15,
-                                                         1, false));
+  const ICData& ic_data = ICData::ZoneHandle(
+      ICData::New(function, target_name, args_descriptor, 15, 1, false));
 
   // Code accessing pp is generated, but not executed. Uninitialized pp is OK.
   __ set_constant_pool_allowed(true);
@@ -56,7 +52,7 @@
   ICData& ic_data = ICData::Handle();
   CodePatcher::GetInstanceCallAt(return_address, test->code(), &ic_data);
   EXPECT_STREQ("targetFunction",
-      String::Handle(ic_data.target_name()).ToCString());
+               String::Handle(ic_data.target_name()).ToCString());
   EXPECT_EQ(1, ic_data.NumArgsTested());
   EXPECT_EQ(0, ic_data.NumberOfChecks());
 }
diff --git a/runtime/vm/compiler.cc b/runtime/vm/compiler.cc
index 298fac3..545e001 100644
--- a/runtime/vm/compiler.cc
+++ b/runtime/vm/compiler.cc
@@ -47,37 +47,63 @@
 
 namespace dart {
 
-DEFINE_FLAG(bool, allocation_sinking, true,
-    "Attempt to sink temporary allocations to side exits");
-DEFINE_FLAG(bool, common_subexpression_elimination, true,
-    "Do common subexpression elimination.");
-DEFINE_FLAG(bool, constant_propagation, true,
+DEFINE_FLAG(bool,
+            allocation_sinking,
+            true,
+            "Attempt to sink temporary allocations to side exits");
+DEFINE_FLAG(bool,
+            common_subexpression_elimination,
+            true,
+            "Do common subexpression elimination.");
+DEFINE_FLAG(
+    bool,
+    constant_propagation,
+    true,
     "Do conditional constant propagation/unreachable code elimination.");
-DEFINE_FLAG(int, max_deoptimization_counter_threshold, 16,
+DEFINE_FLAG(
+    int,
+    max_deoptimization_counter_threshold,
+    16,
     "How many times we allow deoptimization before we disallow optimization.");
-DEFINE_FLAG(bool, loop_invariant_code_motion, true,
-    "Do loop invariant code motion.");
+DEFINE_FLAG(bool,
+            loop_invariant_code_motion,
+            true,
+            "Do loop invariant code motion.");
 DEFINE_FLAG(charp, optimization_filter, NULL, "Optimize only named function");
 DEFINE_FLAG(bool, print_flow_graph, false, "Print the IR flow graph.");
-DEFINE_FLAG(bool, print_flow_graph_optimized, false,
-    "Print the IR flow graph when optimizing.");
-DEFINE_FLAG(bool, print_ic_data_map, false,
-    "Print the deopt-id to ICData map in optimizing compiler.");
+DEFINE_FLAG(bool,
+            print_flow_graph_optimized,
+            false,
+            "Print the IR flow graph when optimizing.");
+DEFINE_FLAG(bool,
+            print_ic_data_map,
+            false,
+            "Print the deopt-id to ICData map in optimizing compiler.");
 DEFINE_FLAG(bool, print_code_source_map, false, "Print code source map.");
 DEFINE_FLAG(bool, range_analysis, true, "Enable range analysis");
-DEFINE_FLAG(bool, stress_test_background_compilation, false,
-    "Keep background compiler running all the time");
-DEFINE_FLAG(bool, stop_on_excessive_deoptimization, false,
-    "Debugging: stops program if deoptimizing same function too often");
+DEFINE_FLAG(bool,
+            stress_test_background_compilation,
+            false,
+            "Keep background compiler running all the time");
+DEFINE_FLAG(bool,
+            stop_on_excessive_deoptimization,
+            false,
+            "Debugging: stops program if deoptimizing same function too often");
 DEFINE_FLAG(bool, trace_compiler, false, "Trace compiler operations.");
-DEFINE_FLAG(bool, trace_failed_optimization_attempts, false,
-    "Traces all failed optimization attempts");
-DEFINE_FLAG(bool, trace_optimizing_compiler, false,
-    "Trace only optimizing compiler operations.");
+DEFINE_FLAG(bool,
+            trace_failed_optimization_attempts,
+            false,
+            "Traces all failed optimization attempts");
+DEFINE_FLAG(bool,
+            trace_optimizing_compiler,
+            false,
+            "Trace only optimizing compiler operations.");
 DEFINE_FLAG(bool, trace_bailout, false, "Print bailout from ssa compiler.");
 DEFINE_FLAG(bool, use_inlining, true, "Enable call-site inlining");
-DEFINE_FLAG(bool, verify_compiler, false,
-    "Enable compiler verification assertions");
+DEFINE_FLAG(bool,
+            verify_compiler,
+            false,
+            "Enable compiler verification assertions");
 
 DECLARE_FLAG(bool, huge_method_cutoff_in_code_size);
 DECLARE_FLAG(bool, trace_failed_optimization_attempts);
@@ -111,14 +137,13 @@
   if (UseKernelFrontEndFor(parsed_function)) {
     kernel::TreeNode* node = static_cast<kernel::TreeNode*>(
         parsed_function->function().kernel_function());
-    kernel::FlowGraphBuilder builder(
-        node, parsed_function, ic_data_array, NULL, osr_id);
+    kernel::FlowGraphBuilder builder(node, parsed_function, ic_data_array, NULL,
+                                     osr_id);
     FlowGraph* graph = builder.BuildGraph();
     ASSERT(graph != NULL);
     return graph;
   }
-  FlowGraphBuilder builder(*parsed_function,
-                           ic_data_array,
+  FlowGraphBuilder builder(*parsed_function, ic_data_array,
                            NULL,  // NULL = not inlining.
                            osr_id);
 
@@ -126,7 +151,7 @@
 }
 
 
-void DartCompilationPipeline::FinalizeCompilation(FlowGraph* flow_graph) { }
+void DartCompilationPipeline::FinalizeCompilation(FlowGraph* flow_graph) {}
 
 
 void IrregexpCompilationPipeline::ParseFunction(
@@ -142,24 +167,20 @@
     const ZoneGrowableArray<const ICData*>& ic_data_array,
     intptr_t osr_id) {
   // Compile to the dart IR.
-  RegExpEngine::CompilationResult result =
-      RegExpEngine::CompileIR(parsed_function->regexp_compile_data(),
-                              parsed_function,
-                              ic_data_array);
+  RegExpEngine::CompilationResult result = RegExpEngine::CompileIR(
+      parsed_function->regexp_compile_data(), parsed_function, ic_data_array);
   backtrack_goto_ = result.backtrack_goto;
 
   // Allocate variables now that we know the number of locals.
   parsed_function->AllocateIrregexpVariables(result.num_stack_locals);
 
   // Build the flow graph.
-  FlowGraphBuilder builder(*parsed_function,
-                           ic_data_array,
+  FlowGraphBuilder builder(*parsed_function, ic_data_array,
                            NULL,  // NULL = not inlining.
                            osr_id);
 
-  return new(zone) FlowGraph(*parsed_function,
-                             result.graph_entry,
-                             result.num_blocks);
+  return new (zone)
+      FlowGraph(*parsed_function, result.graph_entry, result.num_blocks);
 }
 
 
@@ -171,9 +192,9 @@
 CompilationPipeline* CompilationPipeline::New(Zone* zone,
                                               const Function& function) {
   if (function.IsIrregexpFunction()) {
-    return new(zone) IrregexpCompilationPipeline();
+    return new (zone) IrregexpCompilationPipeline();
   } else {
-    return new(zone) DartCompilationPipeline();
+    return new (zone) DartCompilationPipeline();
   }
 }
 
@@ -211,7 +232,7 @@
     if (FLAG_trace_failed_optimization_attempts ||
         FLAG_stop_on_excessive_deoptimization) {
       THR_Print("Too many deoptimizations: %s\n",
-          function.ToFullyQualifiedCString());
+                function.ToFullyQualifiedCString());
       if (FLAG_stop_on_excessive_deoptimization) {
         FATAL("Stop on excessive deoptimization");
       }
@@ -352,8 +373,8 @@
   // compile it. Just finalize it directly.
   if (cls.IsTypedefClass()) {
 #if defined(DEBUG)
-    const Class& closure_cls = Class::Handle(
-        Isolate::Current()->object_store()->closure_class());
+    const Class& closure_cls =
+        Class::Handle(Isolate::Current()->object_store()->closure_class());
     ASSERT(closure_cls.is_finalized());
 #endif
     LongJumpScope jump;
@@ -371,16 +392,15 @@
 
   Thread* const thread = Thread::Current();
   StackZone zone(thread);
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
   VMTagScope tagScope(thread, VMTag::kCompileClassTagId);
-  TimelineDurationScope tds(thread,
-                            Timeline::GetCompilerStream(),
+  TimelineDurationScope tds(thread, Timeline::GetCompilerStream(),
                             "CompileClass");
   if (tds.enabled()) {
     tds.SetNumArguments(1);
     tds.CopyArgument(0, "class", cls.ToCString());
   }
-)  // !PRODUCT
+#endif  // !defined(PRODUCT)
 
   // We remember all the classes that are being compiled in these lists. This
   // also allows us to reset the marked_for_parsing state in case we see an
@@ -412,7 +432,7 @@
     }
 
     // Parse all the classes that have been added above.
-    for (intptr_t i = (parse_list.length() - 1); i >=0 ; i--) {
+    for (intptr_t i = (parse_list.length() - 1); i >= 0; i--) {
       const Class& parse_class = parse_list.At(i);
       ASSERT(!parse_class.IsNull());
       Parser::ParseClass(parse_class);
@@ -426,13 +446,13 @@
     }
 
     // Finalize these classes.
-    for (intptr_t i = (parse_list.length() - 1); i >=0 ; i--) {
+    for (intptr_t i = (parse_list.length() - 1); i >= 0; i--) {
       const Class& parse_class = parse_list.At(i);
       ASSERT(!parse_class.IsNull());
       ClassFinalizer::FinalizeClass(parse_class);
       parse_class.reset_is_marked_for_parsing();
     }
-    for (intptr_t i = (patch_list.length() - 1); i >=0 ; i--) {
+    for (intptr_t i = (patch_list.length() - 1); i >= 0; i--) {
       const Class& parse_class = patch_list.At(i);
       ASSERT(!parse_class.IsNull());
       ClassFinalizer::FinalizeClass(parse_class);
@@ -474,8 +494,7 @@
         osr_id_(osr_id),
         thread_(Thread::Current()),
         loading_invalidation_gen_at_start_(
-            isolate()->loading_invalidation_gen()) {
-  }
+            isolate()->loading_invalidation_gen()) {}
 
   bool Compile(CompilationPipeline* pipeline);
 
@@ -520,8 +539,8 @@
            deopt_info_array.Length() * sizeof(uword));
   // Allocates instruction object. Since this occurs only at safepoint,
   // there can be no concurrent access to the instruction page.
-  const Code& code = Code::Handle(
-      Code::FinalizeCode(function, assembler, optimized()));
+  const Code& code =
+      Code::Handle(Code::FinalizeCode(function, assembler, optimized()));
   code.set_is_optimized(optimized());
   code.set_owner(function);
   if (!function.IsOptimizable()) {
@@ -531,8 +550,7 @@
   }
 
   const Array& intervals = graph_compiler->inlined_code_intervals();
-  INC_STAT(thread(), total_code_size,
-           intervals.Length() * sizeof(uword));
+  INC_STAT(thread(), total_code_size, intervals.Length() * sizeof(uword));
   code.SetInlinedIntervals(intervals);
 
   const Array& inlined_id_array =
@@ -561,18 +579,17 @@
   graph_compiler->FinalizeExceptionHandlers(code);
   graph_compiler->FinalizeStaticCallTargetsTable(code);
 
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
   // Set the code source map after setting the inlined information because
   // we use the inlined information when printing.
-  const CodeSourceMap& code_source_map =
-      CodeSourceMap::Handle(
-          zone,
-          graph_compiler->code_source_map_builder()->Finalize());
+  const CodeSourceMap& code_source_map = CodeSourceMap::Handle(
+      zone, graph_compiler->code_source_map_builder()->Finalize());
   code.set_code_source_map(code_source_map);
   if (FLAG_print_code_source_map) {
     CodeSourceMap::Dump(code_source_map, code, function);
   }
-);
+#endif  // !defined(PRODUCT)
+
   if (optimized()) {
     bool code_was_installed = false;
     // Installs code while at safepoint.
@@ -675,8 +692,8 @@
   ASSERT(Compiler::IsBackgroundCompilation());
   if (!isolate()->background_compiler()->is_running()) {
     // The background compiler is being stopped.
-    Compiler::AbortBackgroundCompilation(Thread::kNoDeoptId,
-        "Background compilation is being stopped");
+    Compiler::AbortBackgroundCompilation(
+        Thread::kNoDeoptId, "Background compilation is being stopped");
   }
 }
 
@@ -692,8 +709,8 @@
   }
   bool is_compiled = false;
   Zone* const zone = thread()->zone();
-  NOT_IN_PRODUCT(
-      TimelineStream* compiler_timeline = Timeline::GetCompilerStream());
+  NOT_IN_PRODUCT(TimelineStream* compiler_timeline =
+                     Timeline::GetCompilerStream());
   CSTAT_TIMER_SCOPE(thread(), codegen_timer);
   HANDLESCOPE(thread());
 
@@ -725,7 +742,7 @@
       {
         CSTAT_TIMER_SCOPE(thread(), graphbuilder_timer);
         ZoneGrowableArray<const ICData*>* ic_data_array =
-            new(zone) ZoneGrowableArray<const ICData*>();
+            new (zone) ZoneGrowableArray<const ICData*>();
         if (optimized()) {
           // Extract type feedback before the graph is built, as the graph
           // builder uses it to attach it to nodes.
@@ -734,7 +751,7 @@
           // already reached the limit.
           ASSERT(Compiler::IsBackgroundCompilation() ||
                  (function.deoptimization_counter() <
-                     FLAG_max_deoptimization_counter_threshold));
+                  FLAG_max_deoptimization_counter_threshold));
 
           // 'Freeze' ICData in background compilation so that it does not
           // change while compiling.
@@ -743,8 +760,8 @@
 
           if (Compiler::IsBackgroundCompilation() &&
               (function.ic_data_array() == Array::null())) {
-            Compiler::AbortBackgroundCompilation(Thread::kNoDeoptId,
-                "RestoreICDataMap: ICData array cleared.");
+            Compiler::AbortBackgroundCompilation(
+                Thread::kNoDeoptId, "RestoreICDataMap: ICData array cleared.");
           }
           if (FLAG_print_ic_data_map) {
             for (intptr_t i = 0; i < ic_data_array->length(); i++) {
@@ -756,13 +773,10 @@
           }
         }
 
-        NOT_IN_PRODUCT(TimelineDurationScope tds(thread(),
-                                                 compiler_timeline,
-                                                 "BuildFlowGraph");)
-        flow_graph = pipeline->BuildFlowGraph(zone,
-                                              parsed_function(),
-                                              *ic_data_array,
-                                              osr_id());
+        NOT_IN_PRODUCT(TimelineDurationScope tds(thread(), compiler_timeline,
+                                                 "BuildFlowGraph"));
+        flow_graph = pipeline->BuildFlowGraph(zone, parsed_function(),
+                                              *ic_data_array, osr_id());
       }
 
       const bool print_flow_graph =
@@ -788,8 +802,7 @@
       }
 
       if (optimized()) {
-        NOT_IN_PRODUCT(TimelineDurationScope tds(thread(),
-                                                 compiler_timeline,
+        NOT_IN_PRODUCT(TimelineDurationScope tds(thread(), compiler_timeline,
                                                  "ComputeSSA"));
         CSTAT_TIMER_SCOPE(thread(), ssa_timer);
         // Transform to SSA (virtual register 0 and no inlining arguments).
@@ -811,8 +824,7 @@
       // have non-generic type feedback attached to them that can
       // potentially affect optimizations.
       if (optimized()) {
-        NOT_IN_PRODUCT(TimelineDurationScope tds(thread(),
-                                                 compiler_timeline,
+        NOT_IN_PRODUCT(TimelineDurationScope tds(thread(), compiler_timeline,
                                                  "OptimizationPasses"));
         inline_id_to_function.Add(&function);
         // We do not add the token position now because we don't know the
@@ -838,8 +850,7 @@
 
         // Inlining (mutates the flow graph)
         if (FLAG_use_inlining) {
-          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(),
-                                                    compiler_timeline,
+          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(), compiler_timeline,
                                                     "Inlining"));
           CSTAT_TIMER_SCOPE(thread(), graphinliner_timer);
           // Propagate types to create more inlining opportunities.
@@ -850,13 +861,11 @@
           optimizer.ApplyClassIds();
           DEBUG_ASSERT(flow_graph->VerifyUseLists());
 
-          FlowGraphInliner inliner(flow_graph,
-                                   &inline_id_to_function,
-                                   &inline_id_to_token_pos,
-                                   &caller_inline_id,
+          FlowGraphInliner inliner(flow_graph, &inline_id_to_function,
+                                   &inline_id_to_token_pos, &caller_inline_id,
                                    use_speculative_inlining,
-                                   /*inlining_black_list=*/ NULL,
-                                   /*precompiler=*/ NULL);
+                                   /*inlining_black_list=*/NULL,
+                                   /*precompiler=*/NULL);
           inliner.Inline();
           // Use lists are maintained and validated by the inliner.
           DEBUG_ASSERT(flow_graph->VerifyUseLists());
@@ -867,8 +876,7 @@
         DEBUG_ASSERT(flow_graph->VerifyUseLists());
 
         {
-          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(),
-                                                    compiler_timeline,
+          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(), compiler_timeline,
                                                     "ApplyClassIds"));
           // Use propagated class-ids to optimize further.
           optimizer.ApplyClassIds();
@@ -889,8 +897,7 @@
         DEBUG_ASSERT(flow_graph->VerifyUseLists());
 
         {
-          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(),
-                                                    compiler_timeline,
+          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(), compiler_timeline,
                                                     "BranchSimplifier"));
           BranchSimplifier::Simplify(flow_graph);
           DEBUG_ASSERT(flow_graph->VerifyUseLists());
@@ -900,10 +907,9 @@
         }
 
         if (FLAG_constant_propagation) {
-          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(),
-                                                    compiler_timeline,
+          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(), compiler_timeline,
                                                     "ConstantPropagation");
-          ConstantPropagator::Optimize(flow_graph));
+                         ConstantPropagator::Optimize(flow_graph));
           DEBUG_ASSERT(flow_graph->VerifyUseLists());
           // A canonicalization pass to remove e.g. smi checks on smi constants.
           flow_graph->Canonicalize();
@@ -929,8 +935,7 @@
         DEBUG_ASSERT(flow_graph->VerifyUseLists());
 
         {
-          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(),
-                                                    compiler_timeline,
+          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(), compiler_timeline,
                                                     "SelectRepresentations"));
           // Where beneficial convert Smi operations into Int32 operations.
           // Only meanigful for 32bit platforms right now.
@@ -983,15 +988,13 @@
         DEBUG_ASSERT(flow_graph->VerifyUseLists());
 
         {
-          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(),
-                                                    compiler_timeline,
+          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(), compiler_timeline,
                                                     "DeadStoreElimination"));
           DeadStoreElimination::Optimize(flow_graph);
         }
 
         if (FLAG_range_analysis) {
-          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(),
-                                                    compiler_timeline,
+          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(), compiler_timeline,
                                                     "RangeAnalysis"));
           // Propagate types after store-load-forwarding. Some phis may have
           // become smi phis that can be processed by range analysis.
@@ -1035,8 +1038,7 @@
         flow_graph->EliminateEnvironments();
 
         {
-          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(),
-                                                    compiler_timeline,
+          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(), compiler_timeline,
                                                     "EliminateDeadPhis"));
           DeadCodeElimination::EliminateDeadPhis(flow_graph);
           DEBUG_ASSERT(flow_graph->VerifyUseLists());
@@ -1066,8 +1068,7 @@
         DEBUG_ASSERT(flow_graph->VerifyUseLists());
 
         {
-          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(),
-                                                    compiler_timeline,
+          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(), compiler_timeline,
                                                     "SelectRepresentations"));
           // Ensure that all phis inserted by optimization passes have
           // consistent representations.
@@ -1100,8 +1101,7 @@
         FlowGraphInliner::CollectGraphInfo(flow_graph, true);
 
         {
-          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(),
-                                                    compiler_timeline,
+          NOT_IN_PRODUCT(TimelineDurationScope tds2(thread(), compiler_timeline,
                                                     "AllocateRegisters"));
           // Perform register allocation on the SSA graph.
           FlowGraphAllocator allocator(*flow_graph);
@@ -1121,22 +1121,18 @@
 
       ASSERT(inline_id_to_function.length() == caller_inline_id.length());
       Assembler assembler(use_far_branches);
-      FlowGraphCompiler graph_compiler(&assembler, flow_graph,
-                                       *parsed_function(), optimized(),
-                                       inline_id_to_function,
-                                       inline_id_to_token_pos,
-                                       caller_inline_id);
+      FlowGraphCompiler graph_compiler(
+          &assembler, flow_graph, *parsed_function(), optimized(),
+          inline_id_to_function, inline_id_to_token_pos, caller_inline_id);
       {
         CSTAT_TIMER_SCOPE(thread(), graphcompiler_timer);
-        NOT_IN_PRODUCT(TimelineDurationScope tds(thread(),
-                                                 compiler_timeline,
+        NOT_IN_PRODUCT(TimelineDurationScope tds(thread(), compiler_timeline,
                                                  "CompileGraph"));
         graph_compiler.CompileGraph();
         pipeline->FinalizeCompilation(flow_graph);
       }
       {
-        NOT_IN_PRODUCT(TimelineDurationScope tds(thread(),
-                                                 compiler_timeline,
+        NOT_IN_PRODUCT(TimelineDurationScope tds(thread(), compiler_timeline,
                                                  "FinalizeCompilation"));
         if (thread()->IsMutatorThread()) {
           FinalizeCompilation(&assembler, &graph_compiler, flow_graph);
@@ -1209,7 +1205,7 @@
 }
 
 
-DEBUG_ONLY(
+#if defined(DEBUG)
 // Verifies that the inliner is always in the list of inlined functions.
 // If this fails run with --trace-inlining-intervals to get more information.
 static void CheckInliningIntervals(const Function& function) {
@@ -1227,7 +1223,7 @@
            function.raw());
   }
 }
-)
+#endif  // defined(DEBUG)
 
 static RawError* CompileFunctionHelper(CompilationPipeline* pipeline,
                                        const Function& function,
@@ -1242,23 +1238,21 @@
     StackZone stack_zone(thread);
     Zone* const zone = stack_zone.GetZone();
     const bool trace_compiler =
-        FLAG_trace_compiler ||
-        (FLAG_trace_optimizing_compiler && optimized);
+        FLAG_trace_compiler || (FLAG_trace_optimizing_compiler && optimized);
     Timer per_compile_timer(trace_compiler, "Compilation time");
     per_compile_timer.Start();
 
-    ParsedFunction* parsed_function = new(zone) ParsedFunction(
-        thread, Function::ZoneHandle(zone, function.raw()));
+    ParsedFunction* parsed_function = new (zone)
+        ParsedFunction(thread, Function::ZoneHandle(zone, function.raw()));
     if (trace_compiler) {
-      const intptr_t token_size = function.end_token_pos().Pos() -
-                                  function.token_pos().Pos();
+      const intptr_t token_size =
+          function.end_token_pos().Pos() - function.token_pos().Pos();
       THR_Print("Compiling %s%sfunction %s: '%s' @ token %s, size %" Pd "\n",
                 (osr_id == Compiler::kNoOSRDeoptId ? "" : "osr "),
                 (optimized ? "optimized " : ""),
                 (Compiler::IsBackgroundCompilation() ? "(background)" : ""),
                 function.ToFullyQualifiedCString(),
-                function.token_pos().ToCString(),
-                token_size);
+                function.token_pos().ToCString(), token_size);
     }
     INC_STAT(thread, num_functions_compiled, 1);
     if (optimized) {
@@ -1272,8 +1266,7 @@
       const int64_t num_tokens_before = STAT_VALUE(thread, num_tokens_consumed);
       pipeline->ParseFunction(parsed_function);
       const int64_t num_tokens_after = STAT_VALUE(thread, num_tokens_consumed);
-      INC_STAT(thread,
-               num_func_tokens_compiled,
+      INC_STAT(thread, num_func_tokens_compiled,
                num_tokens_after - num_tokens_before);
     }
 
@@ -1281,11 +1274,12 @@
 
     if (Compiler::IsBackgroundCompilation()) {
       if (isolate->IsTopLevelParsing() ||
-              (loading_invalidation_gen_at_start !=
-               isolate->loading_invalidation_gen())) {
+          (loading_invalidation_gen_at_start !=
+           isolate->loading_invalidation_gen())) {
         // Loading occured while parsing. We need to abort here because state
         // changed while compiling.
-        Compiler::AbortBackgroundCompilation(Thread::kNoDeoptId,
+        Compiler::AbortBackgroundCompilation(
+            Thread::kNoDeoptId,
             "Invalidated state during parsing because of script loading");
       }
     }
@@ -1302,7 +1296,7 @@
           // state change during compilation.
           if (FLAG_trace_compiler) {
             THR_Print("Aborted background compilation: %s\n",
-                function.ToFullyQualifiedCString());
+                      function.ToFullyQualifiedCString());
           }
           {
             // If it was a bailout, then disable optimization.
@@ -1364,8 +1358,7 @@
 
     if (FLAG_disassemble && FlowGraphPrinter::ShouldPrint(function)) {
       Disassembler::DisassembleCode(function, optimized);
-    } else if (FLAG_disassemble_optimized &&
-               optimized &&
+    } else if (FLAG_disassemble_optimized && optimized &&
                FlowGraphPrinter::ShouldPrint(function)) {
       Disassembler::DisassembleCode(function, true);
     }
@@ -1384,7 +1377,7 @@
       // Exit compilation, retry it later.
       if (FLAG_trace_bailout) {
         THR_Print("Aborted background compilation: %s\n",
-            function.ToFullyQualifiedCString());
+                  function.ToFullyQualifiedCString());
       }
       return Error::null();
     }
@@ -1409,26 +1402,24 @@
     StackZone stack_zone(thread);
     Zone* const zone = stack_zone.GetZone();
     const bool trace_compiler =
-        FLAG_trace_compiler ||
-        (FLAG_trace_optimizing_compiler && optimized);
+        FLAG_trace_compiler || (FLAG_trace_optimizing_compiler && optimized);
 
     if (trace_compiler) {
-      const intptr_t token_size = function.end_token_pos().Pos() -
-                                  function.token_pos().Pos();
+      const intptr_t token_size =
+          function.end_token_pos().Pos() - function.token_pos().Pos();
       THR_Print("Parsing %s%sfunction %s: '%s' @ token %s, size %" Pd "\n",
                 (osr_id == Compiler::kNoOSRDeoptId ? "" : "osr "),
                 (optimized ? "optimized " : ""),
                 (Compiler::IsBackgroundCompilation() ? "(background)" : ""),
                 function.ToFullyQualifiedCString(),
-                function.token_pos().ToCString(),
-                token_size);
+                function.token_pos().ToCString(), token_size);
     }
-    ParsedFunction* parsed_function = new(zone) ParsedFunction(
-        thread, Function::ZoneHandle(zone, function.raw()));
+    ParsedFunction* parsed_function = new (zone)
+        ParsedFunction(thread, Function::ZoneHandle(zone, function.raw()));
     pipeline->ParseFunction(parsed_function);
-    // For now we just walk thru the AST nodes and in DEBUG mode we print
-    // them otherwise just skip through them, this will be need to be
-    // wired to generate the IR format.
+// For now we just walk thru the AST nodes and in DEBUG mode we print
+// them otherwise just skip through them, this will be need to be
+// wired to generate the IR format.
 #if !defined(PRODUCT)
 #if defined(DEBUG)
     AstPrinter ast_printer(true);
@@ -1456,19 +1447,20 @@
 }
 
 
-RawError* Compiler::CompileFunction(Thread* thread,
-                                    const Function& function) {
+RawError* Compiler::CompileFunction(Thread* thread, const Function& function) {
 #ifdef DART_PRECOMPILER
   if (FLAG_precompiled_mode) {
     return Precompiler::CompileFunction(
         /* precompiler = */ NULL, thread, thread->zone(), function);
   }
 #endif
+
   Isolate* isolate = thread->isolate();
-NOT_IN_PRODUCT(
+
+#if !defined(PRODUCT)
   VMTagScope tagScope(thread, VMTag::kCompileUnoptimizedTagId);
   TIMELINE_FUNCTION_COMPILATION_DURATION(thread, "CompileFunction", function);
-)  // !PRODUCT
+#endif  // !defined(PRODUCT)
 
   if (!isolate->compilation_allowed()) {
     FATAL3("Precompilation missed function %s (%s, %s)\n",
@@ -1480,20 +1472,17 @@
   CompilationPipeline* pipeline =
       CompilationPipeline::New(thread->zone(), function);
 
-  return CompileFunctionHelper(pipeline,
-                               function,
-                               /* optimized = */ false,
-                               kNoOSRDeoptId);
+  return CompileFunctionHelper(pipeline, function,
+                               /* optimized = */ false, kNoOSRDeoptId);
 }
 
 
-RawError* Compiler::ParseFunction(Thread* thread,
-                                  const Function& function) {
+RawError* Compiler::ParseFunction(Thread* thread, const Function& function) {
   Isolate* isolate = thread->isolate();
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
   VMTagScope tagScope(thread, VMTag::kCompileUnoptimizedTagId);
   TIMELINE_FUNCTION_COMPILATION_DURATION(thread, "ParseFunction", function);
-)  // !PRODUCT
+#endif  // !defined(PRODUCT)
 
   if (!isolate->compilation_allowed()) {
     FATAL3("Precompilation missed function %s (%s, %s)\n",
@@ -1505,10 +1494,8 @@
   CompilationPipeline* pipeline =
       CompilationPipeline::New(thread->zone(), function);
 
-  return ParseFunctionHelper(pipeline,
-                             function,
-                             /* optimized = */ false,
-                             kNoOSRDeoptId);
+  return ParseFunctionHelper(pipeline, function,
+                             /* optimized = */ false, kNoOSRDeoptId);
 }
 
 
@@ -1524,9 +1511,7 @@
   CompilationPipeline* pipeline =
       CompilationPipeline::New(thread->zone(), function);
   const Error& error = Error::Handle(
-      CompileFunctionHelper(pipeline,
-                            function,
-                            false,  /* not optimized */
+      CompileFunctionHelper(pipeline, function, false, /* not optimized */
                             kNoOSRDeoptId));
   if (!error.IsNull()) {
     return error.raw();
@@ -1548,7 +1533,7 @@
 RawError* Compiler::CompileOptimizedFunction(Thread* thread,
                                              const Function& function,
                                              intptr_t osr_id) {
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
   VMTagScope tagScope(thread, VMTag::kCompileOptimizedTagId);
   const char* event_name;
   if (osr_id != kNoOSRDeoptId) {
@@ -1559,26 +1544,22 @@
     event_name = "CompileFunctionOptimized";
   }
   TIMELINE_FUNCTION_COMPILATION_DURATION(thread, event_name, function);
-)  // !PRODUCT
+#endif  // !defined(PRODUCT)
 
   // If we are in the optimizing in the mutator/Dart thread, then
   // this is either an OSR compilation or background compilation is
   // not currently allowed.
-  ASSERT(!thread->IsMutatorThread() ||
-         (osr_id != kNoOSRDeoptId) ||
+  ASSERT(!thread->IsMutatorThread() || (osr_id != kNoOSRDeoptId) ||
          !FLAG_background_compilation || BackgroundCompiler::IsDisabled());
   CompilationPipeline* pipeline =
       CompilationPipeline::New(thread->zone(), function);
-  return CompileFunctionHelper(pipeline,
-                               function,
-                               true,  /* optimized */
+  return CompileFunctionHelper(pipeline, function, true, /* optimized */
                                osr_id);
 }
 
 
 // This is only used from unit tests.
-RawError* Compiler::CompileParsedFunction(
-    ParsedFunction* parsed_function) {
+RawError* Compiler::CompileParsedFunction(ParsedFunction* parsed_function) {
   LongJumpScope jump;
   if (setjmp(*jump.Set()) == 0) {
     // Non-optimized code generator.
@@ -1643,8 +1624,7 @@
   for (int i = 0; i < functions.Length(); i++) {
     func ^= functions.At(i);
     ASSERT(!func.IsNull());
-    if (!func.HasCode() &&
-        !func.is_abstract() &&
+    if (!func.HasCode() && !func.is_abstract() &&
         !func.IsRedirectingFactory()) {
       if ((cls.is_mixin_app_alias() || cls.IsMixinApplication()) &&
           func.HasOptionalParameters()) {
@@ -1717,15 +1697,15 @@
     ASSERT(!field.HasPrecompiledInitializer());
     Function& initializer = Function::Handle(thread->zone());
     {
-      NOT_IN_PRODUCT(
-        VMTagScope tagScope(thread, VMTag::kCompileUnoptimizedTagId);
-        TimelineDurationScope tds(thread, Timeline::GetCompilerStream(),
-                                  "CompileStaticInitializer");
-        if (tds.enabled()) {
-          tds.SetNumArguments(1);
-          tds.CopyArgument(0, "field", field.ToCString());
-        }
-      )
+#if !defined(PRODUCT)
+      VMTagScope tagScope(thread, VMTag::kCompileUnoptimizedTagId);
+      TimelineDurationScope tds(thread, Timeline::GetCompilerStream(),
+                                "CompileStaticInitializer");
+      if (tds.enabled()) {
+        tds.SetNumArguments(1);
+        tds.CopyArgument(0, "field", field.ToCString());
+      }
+#endif  // !defined(PRODUCT)
 
       StackZone stack_zone(thread);
       Zone* zone = stack_zone.GetZone();
@@ -1737,28 +1717,26 @@
         // kImplicitStaticFinalGetter is used for both implicit static getters
         // and static initializers.  The Kernel graph builder will tell the
         // difference by pattern matching on the name.
-        const String& name = String::Handle(zone,
-            Symbols::FromConcat(thread,
-                Symbols::InitPrefix(), String::Handle(zone, field.name())));
+        const String& name = String::Handle(
+            zone, Symbols::FromConcat(thread, Symbols::InitPrefix(),
+                                      String::Handle(zone, field.name())));
         const Script& script = Script::Handle(zone, field.Script());
         Object& owner = Object::Handle(zone, field.Owner());
         owner = PatchClass::New(Class::Cast(owner), script);
-        const Function& function = Function::ZoneHandle(zone,
-            Function::New(name,
-                          RawFunction::kImplicitStaticFinalGetter,
-                          true,  // is_static
-                          false,  // is_const
-                          false,  // is_abstract
-                          false,  // is_external
-                          false,  // is_native
-                          owner,
-                          TokenPosition::kNoSource));
+        const Function& function = Function::ZoneHandle(
+            zone, Function::New(name, RawFunction::kImplicitStaticFinalGetter,
+                                true,   // is_static
+                                false,  // is_const
+                                false,  // is_abstract
+                                false,  // is_external
+                                false,  // is_native
+                                owner, TokenPosition::kNoSource));
         function.set_kernel_function(field.kernel_field());
         function.set_result_type(AbstractType::Handle(zone, field.type()));
         function.set_is_reflectable(false);
         function.set_is_debuggable(false);
         function.set_is_inlinable(false);
-        parsed_function = new(zone) ParsedFunction(thread, function);
+        parsed_function = new (zone) ParsedFunction(thread, function);
       } else {
         parsed_function = Parser::ParseStaticFieldInitializer(field);
         parsed_function->AllocateVariables();
@@ -1769,8 +1747,8 @@
       CompileParsedFunctionHelper helper(parsed_function, false, kNoOSRDeoptId);
       helper.Compile(&pipeline);
       initializer = parsed_function->function().raw();
-      Code::Handle(initializer.unoptimized_code()).set_var_descriptors(
-          Object::empty_var_descriptors());
+      Code::Handle(initializer.unoptimized_code())
+          .set_var_descriptors(Object::empty_var_descriptors());
     }
     // Invoke the function to evaluate the expression.
     return DartEntry::InvokeFunction(initializer, Object::empty_array());
@@ -1786,7 +1764,6 @@
 }
 
 
-
 RawObject* Compiler::ExecuteOnce(SequenceNode* fragment) {
 #ifdef DART_PRECOMPILER
   if (FLAG_precompiled_mode) {
@@ -1819,7 +1796,7 @@
     const Function& func = Function::ZoneHandle(Function::New(
         String::Handle(Symbols::New(thread, kEvalConst)),
         RawFunction::kRegularFunction,
-        true,  // static function
+        true,   // static function
         false,  // not const function
         false,  // not abstract
         false,  // not external
@@ -1840,16 +1817,15 @@
     ParsedFunction* parsed_function = new ParsedFunction(thread, func);
     parsed_function->SetNodeSequence(fragment);
     fragment->scope()->AddVariable(parsed_function->EnsureExpressionTemp());
-    fragment->scope()->AddVariable(
-        parsed_function->current_context_var());
+    fragment->scope()->AddVariable(parsed_function->current_context_var());
     parsed_function->AllocateVariables();
 
     // Non-optimized code generator.
     DartCompilationPipeline pipeline;
     CompileParsedFunctionHelper helper(parsed_function, false, kNoOSRDeoptId);
     helper.Compile(&pipeline);
-    Code::Handle(func.unoptimized_code()).set_var_descriptors(
-        Object::empty_var_descriptors());
+    Code::Handle(func.unoptimized_code())
+        .set_var_descriptors(Object::empty_var_descriptors());
 
     const Object& result = PassiveObject::Handle(
         DartEntry::InvokeFunction(func, Object::empty_array()));
@@ -1869,7 +1845,7 @@
   if (FLAG_trace_compiler) {
     THR_Print("ABORT background compilation: %s\n", msg);
   }
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
   TimelineStream* stream = Timeline::GetCompilerStream();
   ASSERT(stream != NULL);
   TimelineEvent* event = stream->StartEvent();
@@ -1879,7 +1855,7 @@
     event->CopyArgument(0, "reason", msg);
     event->Complete();
   }
-)  // !PRODUCT
+#endif  // !defined(PRODUCT)
   ASSERT(Compiler::IsBackgroundCompilation());
   Thread::Current()->long_jump_base()->Jump(
       deopt_id, Object::background_compilation_error());
@@ -1890,9 +1866,7 @@
 class QueueElement {
  public:
   explicit QueueElement(const Function& function)
-      : next_(NULL),
-        function_(function.raw()) {
-  }
+      : next_(NULL), function_(function.raw()) {}
 
   virtual ~QueueElement() {
     next_ = NULL;
@@ -1923,9 +1897,7 @@
 class BackgroundCompilationQueue {
  public:
   BackgroundCompilationQueue() : first_(NULL), last_(NULL) {}
-  virtual ~BackgroundCompilationQueue() {
-    Clear();
-  }
+  virtual ~BackgroundCompilationQueue() { Clear(); }
 
   void VisitObjectPointers(ObjectPointerVisitor* visitor) {
     ASSERT(visitor != NULL);
@@ -1952,9 +1924,7 @@
     ASSERT(first_ != NULL && last_ != NULL);
   }
 
-  QueueElement* Peek() const {
-    return first_;
-  }
+  QueueElement* Peek() const { return first_; }
 
   RawFunction* PeekFunction() const {
     QueueElement* e = Peek();
@@ -2003,8 +1973,11 @@
 
 
 BackgroundCompiler::BackgroundCompiler(Isolate* isolate)
-    : isolate_(isolate), running_(true), done_(new bool()),
-      queue_monitor_(new Monitor()), done_monitor_(new Monitor()),
+    : isolate_(isolate),
+      running_(true),
+      done_(new bool()),
+      queue_monitor_(new Monitor()),
+      done_monitor_(new Monitor()),
       function_queue_(new BackgroundCompilationQueue()) {
   *done_ = false;
 }
@@ -2033,14 +2006,14 @@
       Zone* zone = stack_zone.GetZone();
       HANDLESCOPE(thread);
       Function& function = Function::Handle(zone);
-      { MonitorLocker ml(queue_monitor_);
+      {
+        MonitorLocker ml(queue_monitor_);
         function = function_queue()->PeekFunction();
       }
       while (running_ && !function.IsNull() && !isolate_->IsTopLevelParsing()) {
         // Check that we have aggregated and cleared the stats.
         ASSERT(thread->compiler_stats()->IsCleared());
-        Compiler::CompileOptimizedFunction(thread,
-                                           function,
+        Compiler::CompileOptimizedFunction(thread, function,
                                            Compiler::kNoOSRDeoptId);
 #ifndef PRODUCT
         Isolate* isolate = thread->isolate();
@@ -2049,7 +2022,8 @@
 #endif  // PRODUCT
 
         QueueElement* qelem = NULL;
-        { MonitorLocker ml(queue_monitor_);
+        {
+          MonitorLocker ml(queue_monitor_);
           if (function_queue()->IsEmpty()) {
             // We are shutting down, queue was cleared.
             function = Function::null();
@@ -2057,7 +2031,7 @@
             qelem = function_queue()->Remove();
             const Function& old = Function::Handle(qelem->Function());
             if ((!old.HasOptimizedCode() && old.IsOptimizable()) ||
-                 FLAG_stress_test_background_compilation) {
+                FLAG_stress_test_background_compilation) {
               if (Compiler::CanOptimizeFunction(thread, old)) {
                 QueueElement* repeat_qelem = new QueueElement(old);
                 function_queue()->Add(repeat_qelem);
@@ -2075,8 +2049,8 @@
     {
       // Wait to be notified when the work queue is not empty.
       MonitorLocker ml(queue_monitor_);
-      while ((function_queue()->IsEmpty() || isolate_->IsTopLevelParsing())
-              && running_) {
+      while ((function_queue()->IsEmpty() || isolate_->IsTopLevelParsing()) &&
+             running_) {
         ml.Wait();
       }
     }
@@ -2134,7 +2108,7 @@
     function_queue->Clear();
     // 'task' will be deleted by thread pool.
     task = NULL;
-    ml.Notify();   // Stop waiting for the queue.
+    ml.Notify();  // Stop waiting for the queue.
   }
 
   {
@@ -2190,11 +2164,10 @@
   ASSERT(thread->IsMutatorThread());
   // Finalize NoSuchMethodError, _Mint; occasionally needed in optimized
   // compilation.
-  Class& cls = Class::Handle(thread->zone(),
-      Library::LookupCoreClass(Symbols::NoSuchMethodError()));
+  Class& cls = Class::Handle(
+      thread->zone(), Library::LookupCoreClass(Symbols::NoSuchMethodError()));
   ASSERT(!cls.IsNull());
-  Error& error = Error::Handle(thread->zone(),
-      cls.EnsureIsFinalized(thread));
+  Error& error = Error::Handle(thread->zone(), cls.EnsureIsFinalized(thread));
   ASSERT(error.IsNull());
   cls = Library::LookupCoreClass(Symbols::_Mint());
   ASSERT(!cls.IsNull());
@@ -2265,15 +2238,13 @@
 }
 
 
-RawError* Compiler::CompileFunction(Thread* thread,
-                                    const Function& function) {
+RawError* Compiler::CompileFunction(Thread* thread, const Function& function) {
   UNREACHABLE();
   return Error::null();
 }
 
 
-RawError* Compiler::ParseFunction(Thread* thread,
-                                  const Function& function) {
+RawError* Compiler::ParseFunction(Thread* thread, const Function& function) {
   UNREACHABLE();
   return Error::null();
 }
@@ -2294,8 +2265,7 @@
 }
 
 
-RawError* Compiler::CompileParsedFunction(
-    ParsedFunction* parsed_function) {
+RawError* Compiler::CompileParsedFunction(ParsedFunction* parsed_function) {
   UNREACHABLE();
   return Error::null();
 }
diff --git a/runtime/vm/compiler.h b/runtime/vm/compiler.h
index 5182364..e278a57 100644
--- a/runtime/vm/compiler.h
+++ b/runtime/vm/compiler.h
@@ -40,7 +40,7 @@
       const ZoneGrowableArray<const ICData*>& ic_data_array,
       intptr_t osr_id) = 0;
   virtual void FinalizeCompilation(FlowGraph* flow_graph) = 0;
-  virtual ~CompilationPipeline() { }
+  virtual ~CompilationPipeline() {}
 };
 
 
@@ -60,7 +60,7 @@
 
 class IrregexpCompilationPipeline : public CompilationPipeline {
  public:
-  IrregexpCompilationPipeline() : backtrack_goto_(NULL) { }
+  IrregexpCompilationPipeline() : backtrack_goto_(NULL) {}
 
   virtual void ParseFunction(ParsedFunction* parsed_function);
 
@@ -112,10 +112,9 @@
   // Returns Error::null() if there is no compilation error.
   // If 'result_code' is not NULL, then the generated code is returned but
   // not installed.
-  static RawError* CompileOptimizedFunction(
-      Thread* thread,
-      const Function& function,
-      intptr_t osr_id = kNoOSRDeoptId);
+  static RawError* CompileOptimizedFunction(Thread* thread,
+                                            const Function& function,
+                                            intptr_t osr_id = kNoOSRDeoptId);
 
   // Generates code for given parsed function (without parsing it again) and
   // sets its code field.
@@ -190,8 +189,8 @@
   virtual void Run();
 
   Isolate* isolate_;
-  bool running_;       // While true, will try to read queue and compile.
-  bool* done_;         // True if the thread is done.
+  bool running_;            // While true, will try to read queue and compile.
+  bool* done_;              // True if the thread is done.
   Monitor* queue_monitor_;  // Controls access to the queue.
   Monitor* done_monitor_;   // Notify/wait that the thread is done.
 
diff --git a/runtime/vm/compiler_stats.cc b/runtime/vm/compiler_stats.cc
index 38afef2..6448c44 100644
--- a/runtime/vm/compiler_stats.cc
+++ b/runtime/vm/compiler_stats.cc
@@ -14,16 +14,16 @@
 namespace dart {
 
 DEFINE_FLAG(bool, compiler_stats, false, "Compiler stat counters.");
-DEFINE_FLAG(bool, compiler_benchmark, false,
+DEFINE_FLAG(bool,
+            compiler_benchmark,
+            false,
             "Compiler stat counters for benchmark.");
 
 
 class TokenStreamVisitor : public ObjectVisitor {
  public:
   explicit TokenStreamVisitor(CompilerStats* compiler_stats)
-      : obj_(Object::Handle()),
-        stats_(compiler_stats) {
-  }
+      : obj_(Object::Handle()), stats_(compiler_stats) {}
 
   void VisitObject(RawObject* raw_obj) {
     if (raw_obj->IsPseudoObject()) {
@@ -31,10 +31,9 @@
     }
     obj_ = raw_obj;
     if (obj_.GetClassId() == TokenStream::kClassId) {
-      TokenStream::Iterator tkit(Thread::Current()->zone(),
-                                 TokenStream::Cast(obj_),
-                                 TokenPosition::kMinSource,
-                                 TokenStream::Iterator::kNoNewlines);
+      TokenStream::Iterator tkit(
+          Thread::Current()->zone(), TokenStream::Cast(obj_),
+          TokenPosition::kMinSource, TokenStream::Iterator::kNoNewlines);
       Token::Kind kind = tkit.CurrentTokenKind();
       while (kind != Token::kEOS) {
         ++stats_->num_tokens_total;
@@ -52,16 +51,14 @@
 
 CompilerStats::CompilerStats(Isolate* isolate)
     : isolate_(isolate),
-#define INITIALIZE_TIMER(timer_name, description)                              \
-      timer_name(true, description),
-STAT_TIMERS(INITIALIZE_TIMER)
+#define INITIALIZE_TIMER(timer_name, description) timer_name(true, description),
+      STAT_TIMERS(INITIALIZE_TIMER)
 #undef INITIALIZE_TIMER
 
-#define INITIALIZE_COUNTERS(counter_name)                                      \
-      counter_name(0),
-STAT_COUNTERS(INITIALIZE_COUNTERS)
+#define INITIALIZE_COUNTERS(counter_name) counter_name(0),
+          STAT_COUNTERS(INITIALIZE_COUNTERS)
 #undef INITIALIZE_COUNTERS
-      text(NULL),
+              text(NULL),
       use_benchmark_output(false) {
 }
 
@@ -71,8 +68,7 @@
 
 // Used to aggregate stats. Must be atomic.
 void CompilerStats::Add(const CompilerStats& other) {
-#define ADD_TOTAL(timer_name, literal)                                         \
-  timer_name.AddTotal(other.timer_name);
+#define ADD_TOTAL(timer_name, literal) timer_name.AddTotal(other.timer_name);
 
   STAT_TIMERS(ADD_TOTAL)
 #undef ADD_TOTAL
@@ -86,14 +82,12 @@
 
 
 void CompilerStats::Clear() {
-#define CLEAR_TIMER(timer_name, literal)                                       \
-  timer_name.Reset();
+#define CLEAR_TIMER(timer_name, literal) timer_name.Reset();
 
   STAT_TIMERS(CLEAR_TIMER)
 #undef CLEAR_TIMER
 
-#define CLEAR_COUNTER(counter_name)                                            \
-  counter_name = 0;
+#define CLEAR_COUNTER(counter_name) counter_name = 0;
 
   STAT_COUNTERS(CLEAR_COUNTER)
 #undef CLEAR_COUNTER
@@ -191,8 +185,10 @@
 
   log.Print("CompilerSpeed: %" Pd64 " tokens/ms\n", compile_speed);
   log.Print("CodeSize: %" Pd64 " KB\n", total_code_size / 1024);
-  int64_t code_density = total_instr_size > 0 ?
-      (num_func_tokens_compiled * 1024) / total_instr_size : 0;
+  int64_t code_density =
+      total_instr_size > 0
+          ? (num_func_tokens_compiled * 1024) / total_instr_size
+          : 0;
 
   log.Print("CodeDensity: %" Pd64 " tokens/KB\n", code_density);
   log.Print("InstrSize: %" Pd64 " KB\n", total_instr_size / 1024);
@@ -221,8 +217,9 @@
   log.Print("Source length:           %" Pd64 " characters\n", src_length);
   log.Print("Number of source tokens: %" Pd64 "\n", num_tokens_scanned);
 
-  int64_t num_local_functions = GrowableObjectArray::Handle(
-      isolate_->object_store()->closure_functions()).Length();
+  int64_t num_local_functions =
+      GrowableObjectArray::Handle(isolate_->object_store()->closure_functions())
+          .Length();
 
   log.Print("==== Parser stats:\n");
   log.Print("Total tokens consumed:   %" Pd64 "\n", num_tokens_consumed);
@@ -246,8 +243,7 @@
   int64_t parse_speed =
       parse_usecs > 0 ? 1000 * num_tokens_consumed / parse_usecs : 0;
   log.Print("Parser time:             %" Pd64 " ms\n", parse_usecs / 1000);
-  log.Print("Parser speed:            %" Pd64 " tokens/ms\n",
-             parse_speed);
+  log.Print("Parser speed:            %" Pd64 " tokens/ms\n", parse_speed);
 
   int64_t codegen_usecs = codegen_timer.TotalElapsedTime();
 
@@ -292,20 +288,21 @@
 
   log.Print("==== Compiled code stats:\n");
   int64_t compile_usecs = scan_usecs + parse_usecs + codegen_usecs;
-  int64_t compile_speed = compile_usecs > 0 ?
-      (1000 * num_func_tokens_compiled / compile_usecs) : 0;
+  int64_t compile_speed =
+      compile_usecs > 0 ? (1000 * num_func_tokens_compiled / compile_usecs) : 0;
   log.Print("Functions parsed:        %" Pd64 "\n", num_functions_parsed);
   log.Print("Functions compiled:      %" Pd64 "\n", num_functions_compiled);
   log.Print("  optimized:             %" Pd64 "\n", num_functions_optimized);
   log.Print("Compiler time:           %" Pd64 " ms\n", compile_usecs / 1000);
   log.Print("Tokens compiled:         %" Pd64 "\n", num_func_tokens_compiled);
   log.Print("Compilation speed:       %" Pd64 " tokens/ms\n", compile_speed);
-  int64_t code_density = total_instr_size > 0 ?
-      (num_func_tokens_compiled * 1024) / total_instr_size : 0;
+  int64_t code_density =
+      total_instr_size > 0
+          ? (num_func_tokens_compiled * 1024) / total_instr_size
+          : 0;
   log.Print("Code density:            %" Pd64 " tokens per KB\n", code_density);
   log.Print("Code size:               %" Pd64 " KB\n", total_code_size / 1024);
-  log.Print("  Instr size:            %" Pd64 " KB\n",
-            total_instr_size / 1024);
+  log.Print("  Instr size:            %" Pd64 " KB\n", total_instr_size / 1024);
   log.Print("  Pc Desc size:          %" Pd64 " KB\n", pc_desc_size / 1024);
   log.Print("  VarDesc size:          %" Pd64 " KB\n", vardesc_size / 1024);
   log.Flush();
diff --git a/runtime/vm/compiler_stats.h b/runtime/vm/compiler_stats.h
index 7c1f39f..6575133 100644
--- a/runtime/vm/compiler_stats.h
+++ b/runtime/vm/compiler_stats.h
@@ -32,7 +32,7 @@
   V(graphinliner_subst_timer, "inliner substitution timer")                    \
   V(graphoptimizer_timer, "flow graph optimizer timer")                        \
   V(graphcompiler_timer, "flow graph compiler timer")                          \
-  V(codefinalizer_timer, "code finalization timer")                            \
+  V(codefinalizer_timer, "code finalization timer")
 
 
 #define STAT_COUNTERS(V)                                                       \
@@ -54,23 +54,23 @@
   V(total_code_size)                                                           \
   V(total_instr_size)                                                          \
   V(pc_desc_size)                                                              \
-  V(vardesc_size)                                                              \
+  V(vardesc_size)
 
 class CompilerStats {
  public:
   explicit CompilerStats(Isolate* isolate);
-  ~CompilerStats() { }
+  ~CompilerStats() {}
 
   Isolate* isolate_;
 
   // We could use STAT_TIMERS and STAT_COUNTERS to declare fields, but then
   // we would be losing the comments.
-  Timer parser_timer;         // Cumulative runtime of parser.
-  Timer scanner_timer;        // Cumulative runtime of scanner.
-  Timer codegen_timer;        // Cumulative runtime of code generator.
-  Timer graphbuilder_timer;   // Included in codegen_timer.
-  Timer ssa_timer;            // Included in codegen_timer.
-  Timer graphinliner_timer;   // Included in codegen_timer.
+  Timer parser_timer;              // Cumulative runtime of parser.
+  Timer scanner_timer;             // Cumulative runtime of scanner.
+  Timer codegen_timer;             // Cumulative runtime of code generator.
+  Timer graphbuilder_timer;        // Included in codegen_timer.
+  Timer ssa_timer;                 // Included in codegen_timer.
+  Timer graphinliner_timer;        // Included in codegen_timer.
   Timer graphinliner_parse_timer;  // Included in codegen_timer.
   Timer graphinliner_build_timer;  // Included in codegen_timer.
   Timer graphinliner_ssa_timer;    // Included in codegen_timer.
@@ -81,7 +81,7 @@
   Timer graphcompiler_timer;   // Included in codegen_timer.
   Timer codefinalizer_timer;   // Included in codegen_timer.
 
-  int64_t num_tokens_total;    // Isolate + VM isolate
+  int64_t num_tokens_total;  // Isolate + VM isolate
   int64_t num_tokens_scanned;
   int64_t num_tokens_consumed;
   int64_t num_cached_consts;
@@ -90,16 +90,16 @@
 
   int64_t num_classes_parsed;
   int64_t num_class_tokens;
-  int64_t num_functions_parsed;      // Num parsed functions.
-  int64_t num_functions_compiled;    // Num unoptimized compilations.
-  int64_t num_functions_optimized;   // Num optimized compilations.
+  int64_t num_functions_parsed;     // Num parsed functions.
+  int64_t num_functions_compiled;   // Num unoptimized compilations.
+  int64_t num_functions_optimized;  // Num optimized compilations.
   int64_t num_func_tokens_compiled;
   int64_t num_implicit_final_getters;
   int64_t num_method_extractors;
 
-  int64_t src_length;          // Total number of characters in source.
-  int64_t total_code_size;     // Bytes allocated for code and meta info.
-  int64_t total_instr_size;    // Total size of generated code in bytes.
+  int64_t src_length;        // Total number of characters in source.
+  int64_t total_code_size;   // Bytes allocated for code and meta info.
+  int64_t total_instr_size;  // Total size of generated code in bytes.
   int64_t pc_desc_size;
   int64_t vardesc_size;
   char* text;
@@ -125,19 +125,21 @@
 // other thread.
 #define INC_STAT(thread, counter, incr)                                        \
   if (FLAG_support_compiler_stats && FLAG_compiler_stats) {                    \
-    AtomicOperations::IncrementInt64By(                                        \
-        &(thread)->compiler_stats()->counter, (incr));                         \
+    AtomicOperations::IncrementInt64By(&(thread)->compiler_stats()->counter,   \
+                                       (incr));                                \
   }
 
 #define STAT_VALUE(thread, counter)                                            \
-  ((FLAG_support_compiler_stats && FLAG_compiler_stats) ?                      \
-      (thread)->compiler_stats()->counter : 0)
+  ((FLAG_support_compiler_stats && FLAG_compiler_stats)                        \
+       ? (thread)->compiler_stats()->counter                                   \
+       : 0)
 
 #define CSTAT_TIMER_SCOPE(thr, t)                                              \
-  TimerScope timer(FLAG_support_compiler_stats && FLAG_compiler_stats,         \
-      (FLAG_support_compiler_stats && FLAG_compiler_stats) ?                   \
-      &((thr)->compiler_stats()->t) : NULL,                                    \
-      thr);
+  TimerScope timer(FLAG_support_compiler_stats&& FLAG_compiler_stats,          \
+                   (FLAG_support_compiler_stats && FLAG_compiler_stats)        \
+                       ? &((thr)->compiler_stats()->t)                         \
+                       : NULL,                                                 \
+                   thr);
 
 
 }  // namespace dart
diff --git a/runtime/vm/compiler_test.cc b/runtime/vm/compiler_test.cc
index f2e138c..5225c53 100644
--- a/runtime/vm/compiler_test.cc
+++ b/runtime/vm/compiler_test.cc
@@ -22,9 +22,8 @@
       "}\n";
   String& url = String::Handle(String::New("dart-test:CompileScript"));
   String& source = String::Handle(String::New(kScriptChars));
-  Script& script = Script::Handle(Script::New(url,
-                                              source,
-                                              RawScript::kScriptTag));
+  Script& script =
+      Script::Handle(Script::New(url, source, RawScript::kScriptTag));
   Library& lib = Library::Handle(Library::CoreLibrary());
   EXPECT(CompilerTest::TestCompileScript(lib, script));
 }
@@ -32,22 +31,21 @@
 
 VM_TEST_CASE(CompileFunction) {
   const char* kScriptChars =
-            "class A {\n"
-            "  static foo() { return 42; }\n"
-            "  static moo() {\n"
-            "    // A.foo();\n"
-            "  }\n"
-            "}\n";
+      "class A {\n"
+      "  static foo() { return 42; }\n"
+      "  static moo() {\n"
+      "    // A.foo();\n"
+      "  }\n"
+      "}\n";
   String& url = String::Handle(String::New("dart-test:CompileFunction"));
   String& source = String::Handle(String::New(kScriptChars));
-  Script& script = Script::Handle(Script::New(url,
-                                              source,
-                                              RawScript::kScriptTag));
+  Script& script =
+      Script::Handle(Script::New(url, source, RawScript::kScriptTag));
   Library& lib = Library::Handle(Library::CoreLibrary());
   EXPECT(CompilerTest::TestCompileScript(lib, script));
   EXPECT(ClassFinalizer::ProcessPendingClasses());
-  Class& cls = Class::Handle(
-      lib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
+  Class& cls =
+      Class::Handle(lib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
   EXPECT(!cls.IsNull());
   String& function_foo_name = String::Handle(String::New("foo"));
   Function& function_foo =
@@ -74,20 +72,19 @@
 VM_TEST_CASE(CompileFunctionOnHelperThread) {
   // Create a simple function and compile it without optimization.
   const char* kScriptChars =
-            "class A {\n"
-            "  static foo() { return 42; }\n"
-            "}\n";
+      "class A {\n"
+      "  static foo() { return 42; }\n"
+      "}\n";
   String& url =
       String::Handle(String::New("dart-test:CompileFunctionOnHelperThread"));
   String& source = String::Handle(String::New(kScriptChars));
-  Script& script = Script::Handle(Script::New(url,
-                                              source,
-                                              RawScript::kScriptTag));
+  Script& script =
+      Script::Handle(Script::New(url, source, RawScript::kScriptTag));
   Library& lib = Library::Handle(Library::CoreLibrary());
   EXPECT(CompilerTest::TestCompileScript(lib, script));
   EXPECT(ClassFinalizer::ProcessPendingClasses());
-  Class& cls = Class::Handle(
-      lib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
+  Class& cls =
+      Class::Handle(lib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
   EXPECT(!cls.IsNull());
   String& function_foo_name = String::Handle(String::New("foo"));
   Function& func =
@@ -115,13 +112,13 @@
 
 TEST_CASE(RegenerateAllocStubs) {
   const char* kScriptChars =
-            "class A {\n"
-            "}\n"
-            "unOpt() => new A(); \n"
-            "optIt() => new A(); \n"
-            "A main() {\n"
-            "  return unOpt();\n"
-            "}\n";
+      "class A {\n"
+      "}\n"
+      "unOpt() => new A(); \n"
+      "optIt() => new A(); \n"
+      "A main() {\n"
+      "  return unOpt();\n"
+      "}\n";
 
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
   Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
@@ -133,8 +130,8 @@
   EXPECT(!cls.IsNull());
 
   Zone* zone = thread->zone();
-  const Code& stub = Code::Handle(zone,
-                                  StubCode::GetAllocationStubForClass(cls));
+  const Code& stub =
+      Code::Handle(zone, StubCode::GetAllocationStubForClass(cls));
   Class& owner = Class::Handle();
   owner ^= stub.owner();
   owner.DisableAllocationStub();
@@ -163,7 +160,7 @@
 
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
   Dart_Handle obj_handle =
-      Dart_Invoke(lib, Dart_NewStringFromCString("makeObj"), 0,  NULL);
+      Dart_Invoke(lib, Dart_NewStringFromCString("makeObj"), 0, NULL);
   EXPECT(!Dart_IsNull(obj_handle));
   EXPECT(!Dart_IsError(obj_handle));
   TransitionNativeToVM transition(thread);
@@ -175,10 +172,8 @@
   expr_text = String::New("apa + ' ${calc(10)}' + dot");
   Object& val = Object::Handle();
   const Class& receiver_cls = Class::Handle(obj.clazz());
-  val = Instance::Cast(obj).Evaluate(receiver_cls,
-                                     expr_text,
-                                     Array::empty_array(),
-                                     Array::empty_array());
+  val = Instance::Cast(obj).Evaluate(
+      receiver_cls, expr_text, Array::empty_array(), Array::empty_array());
   EXPECT(!val.IsNull());
   EXPECT(!val.IsError());
   EXPECT(val.IsString());
@@ -189,8 +184,8 @@
 VM_TEST_CASE(EvalExpressionWithLazyCompile) {
   Library& lib = Library::Handle(Library::CoreLibrary());
 
-  const String& expression = String::Handle(String::New(
-      "(){ return (){ return (){ return 3 + 4; }(); }(); }()"));
+  const String& expression = String::Handle(
+      String::New("(){ return (){ return (){ return 3 + 4; }(); }(); }()"));
   Object& val = Object::Handle();
   val = lib.Evaluate(expression, Array::empty_array(), Array::empty_array());
 
diff --git a/runtime/vm/constant_propagator.cc b/runtime/vm/constant_propagator.cc
index b63f849..9d2bc11 100644
--- a/runtime/vm/constant_propagator.cc
+++ b/runtime/vm/constant_propagator.cc
@@ -16,8 +16,10 @@
 namespace dart {
 
 DEFINE_FLAG(bool, remove_redundant_phis, true, "Remove redundant phis.");
-DEFINE_FLAG(bool, trace_constant_propagation, false,
-    "Print constant propagation and useless code elimination.");
+DEFINE_FLAG(bool,
+            trace_constant_propagation,
+            false,
+            "Print constant propagation and useless code elimination.");
 
 // Quick access to the current zone and isolate.
 #define I (isolate())
@@ -31,10 +33,8 @@
       graph_(graph),
       unknown_(Object::unknown_constant()),
       non_constant_(Object::non_constant()),
-      reachable_(new(Z) BitVector(
-          Z, graph->preorder().length())),
-      marked_phis_(new(Z) BitVector(
-          Z, graph->max_virtual_register_number())),
+      reachable_(new (Z) BitVector(Z, graph->preorder().length())),
+      marked_phis_(new (Z) BitVector(Z, graph->max_virtual_register_number())),
       block_worklist_(),
       definition_worklist_(graph, 10) {}
 
@@ -235,40 +235,40 @@
 // Analysis of non-definition instructions.  They do not have values so they
 // cannot have constant values.
 void ConstantPropagator::VisitCheckStackOverflow(
-    CheckStackOverflowInstr* instr) { }
+    CheckStackOverflowInstr* instr) {}
 
 
-void ConstantPropagator::VisitCheckClass(CheckClassInstr* instr) { }
+void ConstantPropagator::VisitCheckClass(CheckClassInstr* instr) {}
 
 
-void ConstantPropagator::VisitCheckClassId(CheckClassIdInstr* instr) { }
+void ConstantPropagator::VisitCheckClassId(CheckClassIdInstr* instr) {}
 
 
-void ConstantPropagator::VisitGuardFieldClass(GuardFieldClassInstr* instr) { }
+void ConstantPropagator::VisitGuardFieldClass(GuardFieldClassInstr* instr) {}
 
 
-void ConstantPropagator::VisitGuardFieldLength(GuardFieldLengthInstr* instr) { }
+void ConstantPropagator::VisitGuardFieldLength(GuardFieldLengthInstr* instr) {}
 
 
-void ConstantPropagator::VisitCheckSmi(CheckSmiInstr* instr) { }
+void ConstantPropagator::VisitCheckSmi(CheckSmiInstr* instr) {}
 
 
 void ConstantPropagator::VisitGenericCheckBound(GenericCheckBoundInstr* instr) {
 }
 
 
-void ConstantPropagator::VisitCheckEitherNonSmi(
-    CheckEitherNonSmiInstr* instr) { }
+void ConstantPropagator::VisitCheckEitherNonSmi(CheckEitherNonSmiInstr* instr) {
+}
 
 
-void ConstantPropagator::VisitCheckArrayBound(CheckArrayBoundInstr* instr) { }
+void ConstantPropagator::VisitCheckArrayBound(CheckArrayBoundInstr* instr) {}
 
 
 void ConstantPropagator::VisitDeoptimize(DeoptimizeInstr* instr) {
   // TODO(vegorov) remove all code after DeoptimizeInstr as dead.
 }
 
-void ConstantPropagator::VisitGrowRegExpStack(GrowRegExpStackInstr* instr) { }
+void ConstantPropagator::VisitGrowRegExpStack(GrowRegExpStackInstr* instr) {}
 
 Definition* ConstantPropagator::UnwrapPhi(Definition* defn) {
   if (defn->IsPhi()) {
@@ -309,8 +309,7 @@
   for (intptr_t pred_idx = 0; pred_idx < instr->InputCount(); ++pred_idx) {
     if (reachable_->Contains(
             block->PredecessorAt(pred_idx)->preorder_number())) {
-      Join(&value,
-           instr->InputAt(pred_idx)->definition()->constant_value());
+      Join(&value, instr->InputAt(pred_idx)->definition()->constant_value());
     }
   }
   if (!SetValue(instr, value) &&
@@ -326,8 +325,7 @@
   // are guaranteed to fold away code paths that correspond to non-matching
   // class ids. Otherwise LICM might potentially hoist incorrect code.
   const Object& value = instr->value()->definition()->constant_value();
-  if (IsConstant(value) &&
-      !Field::IsExternalizableCid(value.GetClassId())) {
+  if (IsConstant(value) && !Field::IsExternalizableCid(value.GetClassId())) {
     SetValue(instr, value);
   } else {
     SetValue(instr, non_constant_);
@@ -428,9 +426,8 @@
     ASSERT(!value.IsNull());
     ASSERT(value.IsBool());
     bool result = Bool::Cast(value).value();
-    SetValue(instr,
-             Smi::Handle(Z, Smi::New(
-                 result ? instr->if_true() : instr->if_false())));
+    SetValue(instr, Smi::Handle(Z, Smi::New(result ? instr->if_true()
+                                                   : instr->if_false())));
   }
 }
 
@@ -493,12 +490,18 @@
                             const Integer& right) {
   const int result = left.CompareWith(right);
   switch (kind) {
-    case Token::kEQ: return (result == 0);
-    case Token::kNE: return (result != 0);
-    case Token::kLT: return (result < 0);
-    case Token::kGT: return (result > 0);
-    case Token::kLTE: return (result <= 0);
-    case Token::kGTE: return (result >= 0);
+    case Token::kEQ:
+      return (result == 0);
+    case Token::kNE:
+      return (result != 0);
+    case Token::kLT:
+      return (result < 0);
+    case Token::kGT:
+      return (result > 0);
+    case Token::kLTE:
+      return (result <= 0);
+    case Token::kGTE:
+      return (result >= 0);
     default:
       UNREACHABLE();
       return false;
@@ -515,8 +518,8 @@
     SetValue(instr, non_constant_);
   } else if (IsConstant(left) && IsConstant(right)) {
     // BitOp does not work on Bigints.
-    if (left.IsInteger() && right.IsInteger() &&
-        !left.IsBigint() && !right.IsBigint()) {
+    if (left.IsInteger() && right.IsInteger() && !left.IsBigint() &&
+        !right.IsBigint()) {
       const bool result = CompareIntegers(
           instr->kind(),
           Integer::Handle(Z, Integer::Cast(left).BitOp(Token::kBIT_AND,
@@ -563,8 +566,7 @@
     SetValue(instr, non_constant_);
   } else if (IsConstant(left) && IsConstant(right)) {
     if (left.IsInteger() && right.IsInteger()) {
-      const bool result = CompareIntegers(instr->kind(),
-                                          Integer::Cast(left),
+      const bool result = CompareIntegers(instr->kind(), Integer::Cast(left),
                                           Integer::Cast(right));
       SetValue(instr, Bool::Get(result));
     } else if (left.IsString() && right.IsString()) {
@@ -584,8 +586,7 @@
     SetValue(instr, non_constant_);
   } else if (IsConstant(left) && IsConstant(right)) {
     if (left.IsInteger() && right.IsInteger()) {
-      const bool result = CompareIntegers(instr->kind(),
-                                          Integer::Cast(left),
+      const bool result = CompareIntegers(instr->kind(), Integer::Cast(left),
                                           Integer::Cast(right));
       SetValue(instr, Bool::Get(result));
     } else if (left.IsDouble() && right.IsDouble()) {
@@ -661,8 +662,9 @@
       if (array_obj.IsString()) {
         const String& str = String::Cast(array_obj);
         if (str.Length() > index) {
-          SetValue(instr, Smi::Handle(Z,
-              Smi::New(static_cast<intptr_t>(str.CharAt(index)))));
+          SetValue(instr,
+                   Smi::Handle(
+                       Z, Smi::New(static_cast<intptr_t>(str.CharAt(index)))));
           return;
         }
       } else if (array_obj.IsArray()) {
@@ -764,13 +766,12 @@
       if (instr->instantiator_type_arguments()->BindsToConstantNull()) {
         const TypeArguments& checked_type_arguments = TypeArguments::Handle();
         Error& bound_error = Error::Handle();
-        bool is_instance = instance.IsInstanceOf(checked_type,
-                                                 checked_type_arguments,
-                                                 &bound_error);
+        bool is_instance = instance.IsInstanceOf(
+            checked_type, checked_type_arguments, &bound_error);
         // Can only have bound error with generics.
         ASSERT(bound_error.IsNull());
-        SetValue(instr, Bool::Get(instr->negate_result()
-                                  ? !is_instance : is_instance));
+        SetValue(instr, Bool::Get(instr->negate_result() ? !is_instance
+                                                         : is_instance));
         return;
       }
     }
@@ -817,8 +818,10 @@
   Value* instance = instr->instance();
   if ((instr->recognized_kind() == MethodRecognizer::kObjectArrayLength) &&
       instance->definition()->OriginalDefinition()->IsCreateArray()) {
-    Value* num_elements = instance->definition()->OriginalDefinition()
-        ->AsCreateArray()->num_elements();
+    Value* num_elements = instance->definition()
+                              ->OriginalDefinition()
+                              ->AsCreateArray()
+                              ->num_elements();
     if (num_elements->BindsToConstant() &&
         num_elements->BoundConstant().IsSmi()) {
       intptr_t length = Smi::Cast(num_elements->BoundConstant()).Value();
@@ -833,18 +836,21 @@
         instance->definition()->OriginalDefinition()->AsConstant();
     if (constant != NULL) {
       if (constant->value().IsString()) {
-        SetValue(instr, Smi::ZoneHandle(Z,
-            Smi::New(String::Cast(constant->value()).Length())));
+        SetValue(instr,
+                 Smi::ZoneHandle(
+                     Z, Smi::New(String::Cast(constant->value()).Length())));
         return;
       }
       if (constant->value().IsArray()) {
-        SetValue(instr, Smi::ZoneHandle(Z,
-            Smi::New(Array::Cast(constant->value()).Length())));
+        SetValue(instr,
+                 Smi::ZoneHandle(
+                     Z, Smi::New(Array::Cast(constant->value()).Length())));
         return;
       }
       if (constant->value().IsTypedData()) {
-        SetValue(instr, Smi::ZoneHandle(Z,
-            Smi::New(TypedData::Cast(constant->value()).Length())));
+        SetValue(instr,
+                 Smi::ZoneHandle(
+                     Z, Smi::New(TypedData::Cast(constant->value()).Length())));
         return;
       }
     }
@@ -854,8 +860,7 @@
 
 
 void ConstantPropagator::VisitInstantiateType(InstantiateTypeInstr* instr) {
-  const Object& object =
-      instr->instantiator()->definition()->constant_value();
+  const Object& object = instr->instantiator()->definition()->constant_value();
   if (IsNonConstant(object)) {
     SetValue(instr, non_constant_);
     return;
@@ -876,16 +881,14 @@
 
 void ConstantPropagator::VisitInstantiateTypeArguments(
     InstantiateTypeArgumentsInstr* instr) {
-  const Object& object =
-      instr->instantiator()->definition()->constant_value();
+  const Object& object = instr->instantiator()->definition()->constant_value();
   if (IsNonConstant(object)) {
     SetValue(instr, non_constant_);
     return;
   }
   if (IsConstant(object)) {
     const intptr_t len = instr->type_arguments().Length();
-    if (instr->type_arguments().IsRawInstantiatedRaw(len) &&
-        object.IsNull()) {
+    if (instr->type_arguments().IsRawInstantiatedRaw(len) && object.IsNull()) {
       SetValue(instr, object);
       return;
     }
@@ -993,8 +996,7 @@
   const Object& value = unary_op->value()->definition()->constant_value();
   if (IsConstant(value) && value.IsInteger()) {
     const Integer& value_int = Integer::Cast(value);
-    const Integer& result =
-        Integer::Handle(Z, unary_op->Evaluate(value_int));
+    const Integer& result = Integer::Handle(Z, unary_op->Evaluate(value_int));
     if (!result.IsNull()) {
       SetValue(unary_op, Integer::ZoneHandle(Z, result.raw()));
       return;
@@ -1029,8 +1031,9 @@
 void ConstantPropagator::VisitSmiToDouble(SmiToDoubleInstr* instr) {
   const Object& value = instr->value()->definition()->constant_value();
   if (IsConstant(value) && value.IsInteger()) {
-    SetValue(instr, Double::Handle(Z,
-        Double::New(Integer::Cast(value).AsDoubleValue(), Heap::kOld)));
+    SetValue(instr,
+             Double::Handle(Z, Double::New(Integer::Cast(value).AsDoubleValue(),
+                                           Heap::kOld)));
   } else if (!IsUnknown(value)) {
     SetValue(instr, non_constant_);
   }
@@ -1040,8 +1043,9 @@
 void ConstantPropagator::VisitMintToDouble(MintToDoubleInstr* instr) {
   const Object& value = instr->value()->definition()->constant_value();
   if (IsConstant(value) && value.IsInteger()) {
-    SetValue(instr, Double::Handle(Z,
-        Double::New(Integer::Cast(value).AsDoubleValue(), Heap::kOld)));
+    SetValue(instr,
+             Double::Handle(Z, Double::New(Integer::Cast(value).AsDoubleValue(),
+                                           Heap::kOld)));
   } else if (!IsUnknown(value)) {
     SetValue(instr, non_constant_);
   }
@@ -1051,8 +1055,9 @@
 void ConstantPropagator::VisitInt32ToDouble(Int32ToDoubleInstr* instr) {
   const Object& value = instr->value()->definition()->constant_value();
   if (IsConstant(value) && value.IsInteger()) {
-    SetValue(instr, Double::Handle(Z,
-        Double::New(Integer::Cast(value).AsDoubleValue(), Heap::kOld)));
+    SetValue(instr,
+             Double::Handle(Z, Double::New(Integer::Cast(value).AsDoubleValue(),
+                                           Heap::kOld)));
   } else if (!IsUnknown(value)) {
     SetValue(instr, non_constant_);
   }
@@ -1140,8 +1145,7 @@
 }
 
 
-void ConstantPropagator::VisitBinaryDoubleOp(
-    BinaryDoubleOpInstr* instr) {
+void ConstantPropagator::VisitBinaryDoubleOp(BinaryDoubleOpInstr* instr) {
   const Object& left = instr->left()->definition()->constant_value();
   const Object& right = instr->right()->definition()->constant_value();
   if (IsNonConstant(left) || IsNonConstant(right)) {
@@ -1200,8 +1204,7 @@
 }
 
 
-void ConstantPropagator::VisitBinaryFloat32x4Op(
-    BinaryFloat32x4OpInstr* instr) {
+void ConstantPropagator::VisitBinaryFloat32x4Op(BinaryFloat32x4OpInstr* instr) {
   const Object& left = instr->left()->definition()->constant_value();
   const Object& right = instr->right()->definition()->constant_value();
   if (IsNonConstant(left) || IsNonConstant(right)) {
@@ -1348,14 +1351,12 @@
 }
 
 
-void ConstantPropagator::VisitFloat64x2Zero(
-    Float64x2ZeroInstr* instr) {
+void ConstantPropagator::VisitFloat64x2Zero(Float64x2ZeroInstr* instr) {
   SetValue(instr, non_constant_);
 }
 
 
-void ConstantPropagator::VisitFloat64x2Splat(
-    Float64x2SplatInstr* instr) {
+void ConstantPropagator::VisitFloat64x2Splat(Float64x2SplatInstr* instr) {
   SetValue(instr, non_constant_);
 }
 
@@ -1402,7 +1403,7 @@
 
 
 void ConstantPropagator::VisitCaseInsensitiveCompareUC16(
-    CaseInsensitiveCompareUC16Instr *instr) {
+    CaseInsensitiveCompareUC16Instr* instr) {
   SetValue(instr, non_constant_);
 }
 
@@ -1489,17 +1490,16 @@
 
 static bool IsEmptyBlock(BlockEntryInstr* block) {
   return block->next()->IsGoto() &&
-      (!block->IsJoinEntry() || (block->AsJoinEntry()->phis() == NULL)) &&
-      !block->IsIndirectEntry();
+         (!block->IsJoinEntry() || (block->AsJoinEntry()->phis() == NULL)) &&
+         !block->IsIndirectEntry();
 }
 
 
 // Traverses a chain of empty blocks and returns the first reachable non-empty
 // block that is not dominated by the start block. The empty blocks are added
 // to the supplied bit vector.
-static BlockEntryInstr* FindFirstNonEmptySuccessor(
-    TargetEntryInstr* block,
-    BitVector* empty_blocks) {
+static BlockEntryInstr* FindFirstNonEmptySuccessor(TargetEntryInstr* block,
+                                                   BitVector* empty_blocks) {
   BlockEntryInstr* current = block;
   while (IsEmptyBlock(current) && block->Dominates(current)) {
     ASSERT(!block->IsJoinEntry() || (block->AsJoinEntry()->phis() == NULL));
@@ -1514,11 +1514,8 @@
   // Canonicalize branches that have no side-effects and where true- and
   // false-targets are the same.
   bool changed = false;
-  BitVector* empty_blocks = new(Z) BitVector(Z,
-      graph_->preorder().length());
-  for (BlockIterator b = graph_->postorder_iterator();
-       !b.Done();
-       b.Advance()) {
+  BitVector* empty_blocks = new (Z) BitVector(Z, graph_->preorder().length());
+  for (BlockIterator b = graph_->postorder_iterator(); !b.Done(); b.Advance()) {
     BlockEntryInstr* block = b.Current();
     BranchInstr* branch = block->last_instruction()->AsBranch();
     empty_blocks->Clear();
@@ -1533,7 +1530,7 @@
         // Drop the comparison, which does not have side effects
         JoinEntryInstr* join = if_true->AsJoinEntry();
         if (join->phis() == NULL) {
-          GotoInstr* jump = new(Z) GotoInstr(if_true->AsJoinEntry());
+          GotoInstr* jump = new (Z) GotoInstr(if_true->AsJoinEntry());
           jump->InheritDeoptTarget(Z, branch);
 
           Instruction* previous = branch->previous();
@@ -1579,8 +1576,7 @@
   // instructions, previous pointers, predecessors, etc. after eliminating
   // unreachable code.  We do not maintain those properties during the
   // transformation.
-  for (BlockIterator b = graph_->reverse_postorder_iterator();
-       !b.Done();
+  for (BlockIterator b = graph_->reverse_postorder_iterator(); !b.Done();
        b.Advance()) {
     BlockEntryInstr* block = b.Current();
     if (!reachable_->Contains(block->preorder_number())) {
@@ -1649,18 +1645,14 @@
       // Replace constant-valued instructions without observable side
       // effects.  Do this for smis only to avoid having to copy other
       // objects into the heap's old generation.
-      if ((defn != NULL) &&
-          IsConstant(defn->constant_value()) &&
+      if ((defn != NULL) && IsConstant(defn->constant_value()) &&
           (defn->constant_value().IsSmi() || defn->constant_value().IsOld()) &&
-          !defn->IsConstant() &&
-          !defn->IsPushArgument() &&
-          !defn->IsStoreIndexed() &&
-          !defn->IsStoreInstanceField() &&
+          !defn->IsConstant() && !defn->IsPushArgument() &&
+          !defn->IsStoreIndexed() && !defn->IsStoreInstanceField() &&
           !defn->IsStoreStaticField()) {
         if (FLAG_trace_constant_propagation &&
             FlowGraphPrinter::ShouldPrint(graph_->function())) {
-          THR_Print("Constant v%" Pd " = %s\n",
-                    defn->ssa_temp_index(),
+          THR_Print("Constant v%" Pd " = %s\n", defn->ssa_temp_index(),
                     defn->constant_value().ToCString());
         }
         ConstantInstr* constant = graph_->GetConstant(defn->constant_value());
@@ -1681,16 +1673,16 @@
         ASSERT(reachable_->Contains(if_false->preorder_number()));
         ASSERT(if_false->parallel_move() == NULL);
         ASSERT(if_false->loop_info() == NULL);
-        join = new(Z) JoinEntryInstr(if_false->block_id(),
-                                     if_false->try_index());
+        join =
+            new (Z) JoinEntryInstr(if_false->block_id(), if_false->try_index());
         join->InheritDeoptTarget(Z, if_false);
         if_false->UnuseAllInputs();
         next = if_false->next();
       } else if (!reachable_->Contains(if_false->preorder_number())) {
         ASSERT(if_true->parallel_move() == NULL);
         ASSERT(if_true->loop_info() == NULL);
-        join = new(Z) JoinEntryInstr(if_true->block_id(),
-                                     if_true->try_index());
+        join =
+            new (Z) JoinEntryInstr(if_true->block_id(), if_true->try_index());
         join->InheritDeoptTarget(Z, if_true);
         if_true->UnuseAllInputs();
         next = if_true->next();
@@ -1701,7 +1693,7 @@
         // Drop the comparison, which does not have side effects as long
         // as it is a strict compare (the only one we can determine is
         // constant with the current analysis).
-        GotoInstr* jump = new(Z) GotoInstr(join);
+        GotoInstr* jump = new (Z) GotoInstr(join);
         jump->InheritDeoptTarget(Z, branch);
 
         Instruction* previous = branch->previous();
diff --git a/runtime/vm/constant_propagator.h b/runtime/vm/constant_propagator.h
index 191c6b8..23f5fe9 100644
--- a/runtime/vm/constant_propagator.h
+++ b/runtime/vm/constant_propagator.h
@@ -49,9 +49,7 @@
   // first one.
   void Join(Object* left, const Object& right);
 
-  bool IsUnknown(const Object& value) {
-    return value.raw() == unknown_.raw();
-  }
+  bool IsUnknown(const Object& value) { return value.raw() == unknown_.raw(); }
   bool IsNonConstant(const Object& value) {
     return value.raw() == non_constant_.raw();
   }
diff --git a/runtime/vm/constants_arm.h b/runtime/vm/constants_arm.h
index 764e541..c4213ad 100644
--- a/runtime/vm/constants_arm.h
+++ b/runtime/vm/constants_arm.h
@@ -61,16 +61,16 @@
 
 
 enum Register {
-  R0  =  0,
-  R1  =  1,
-  R2  =  2,
-  R3  =  3,
-  R4  =  4,
-  R5  =  5,  // PP
-  R6  =  6,  // CTX
-  R7  =  7,  // iOS FP
-  R8  =  8,
-  R9  =  9,
+  R0 = 0,
+  R1 = 1,
+  R2 = 2,
+  R3 = 3,
+  R4 = 4,
+  R5 = 5,  // PP
+  R6 = 6,  // CTX
+  R7 = 7,  // iOS FP
+  R8 = 8,
+  R9 = 9,
   R10 = 10,  // THR
   R11 = 11,  // Linux FP
   R12 = 12,  // IP aka TMP
@@ -80,36 +80,36 @@
   kNumberOfCpuRegisters = 16,
   kNoRegister = -1,  // Signals an illegal register.
 
-  // Aliases.
+// Aliases.
 #if defined(TARGET_ABI_IOS)
-  FP   = R7,
+  FP = R7,
   NOTFP = R11,
 #elif defined(TARGET_ABI_EABI)
-  FP   = R11,
+  FP = R11,
   NOTFP = R7,
 #else
 #error Unknown ABI
 #endif
-  IP  = R12,
-  SP  = R13,
-  LR  = R14,
-  PC  = R15,
+  IP = R12,
+  SP = R13,
+  LR = R14,
+  PC = R15,
 };
 
 
 // Values for single-precision floating point registers.
 enum SRegister {
   kNoSRegister = -1,
-  S0  =  0,
-  S1  =  1,
-  S2  =  2,
-  S3  =  3,
-  S4  =  4,
-  S5  =  5,
-  S6  =  6,
-  S7  =  7,
-  S8  =  8,
-  S9  =  9,
+  S0 = 0,
+  S1 = 1,
+  S2 = 2,
+  S3 = 3,
+  S4 = 4,
+  S5 = 5,
+  S6 = 6,
+  S7 = 7,
+  S8 = 8,
+  S9 = 9,
   S10 = 10,
   S11 = 11,
   S12 = 12,
@@ -139,16 +139,16 @@
 // Values for double-precision floating point registers.
 enum DRegister {
   kNoDRegister = -1,
-  D0  =  0,
-  D1  =  1,
-  D2  =  2,
-  D3  =  3,
-  D4  =  4,
-  D5  =  5,
-  D6  =  6,
-  D7  =  7,
-  D8  =  8,
-  D9  =  9,
+  D0 = 0,
+  D1 = 1,
+  D2 = 2,
+  D3 = 3,
+  D4 = 4,
+  D5 = 5,
+  D6 = 6,
+  D7 = 7,
+  D8 = 8,
+  D9 = 9,
   D10 = 10,
   D11 = 11,
   D12 = 12,
@@ -201,18 +201,18 @@
 
 enum QRegister {
   kNoQRegister = -1,
-  Q0  =  0,
-  Q1  =  1,
-  Q2  =  2,
-  Q3  =  3,
-  Q4  =  4,
-  Q5  =  5,
-  Q6  =  6,
-  Q7  =  7,
+  Q0 = 0,
+  Q1 = 1,
+  Q2 = 2,
+  Q3 = 3,
+  Q4 = 4,
+  Q5 = 5,
+  Q6 = 6,
+  Q7 = 7,
 #if defined(VFPv3_D16)
   kNumberOfQRegisters = 8,
-  Q8  = kNoQRegister,
-  Q9  = kNoQRegister,
+  Q8 = kNoQRegister,
+  Q9 = kNoQRegister,
   Q10 = kNoQRegister,
   Q11 = kNoQRegister,
   Q12 = kNoQRegister,
@@ -220,8 +220,8 @@
   Q14 = kNoQRegister,
   Q15 = kNoQRegister,
 #else
-  Q8  =  8,
-  Q9  =  9,
+  Q8 = 8,
+  Q9 = 9,
   Q10 = 10,
   Q11 = 11,
   Q12 = 12,
@@ -260,7 +260,7 @@
 
 
 // Register aliases for floating point scratch registers.
-const QRegister QTMP = Q7;  // Overlaps with DTMP, STMP.
+const QRegister QTMP = Q7;                     // Overlaps with DTMP, STMP.
 const DRegister DTMP = EvenDRegisterOf(QTMP);  // Overlaps with STMP.
 const SRegister STMP = EvenSRegisterOf(DTMP);
 
@@ -272,10 +272,10 @@
 const FpuRegister kNoFpuRegister = kNoQRegister;
 
 // Register aliases.
-const Register TMP = IP;  // Used as scratch register by assembler.
+const Register TMP = IP;            // Used as scratch register by assembler.
 const Register TMP2 = kNoRegister;  // There is no second assembler temporary.
-const Register CTX = R6;  // Location of current context at method entry.
-const Register PP = R5;  // Caches object pool pointer in generated code.
+const Register CTX = R6;    // Location of current context at method entry.
+const Register PP = R5;     // Caches object pool pointer in generated code.
 const Register SPREG = SP;  // Stack pointer register.
 const Register FPREG = FP;  // Frame pointer register.
 const Register LRREG = LR;  // Link register.
@@ -307,13 +307,12 @@
     (1 << R0) | (1 << R1) | (1 << R2) | (1 << R3);
 #if defined(TARGET_ABI_IOS)
 const RegList kAbiPreservedCpuRegs =
-    (1 << R4)  | (1 << R5) | (1 << R6) | (1 << R8) |
-    (1 << R10) | (1 << R11);
+    (1 << R4) | (1 << R5) | (1 << R6) | (1 << R8) | (1 << R10) | (1 << R11);
 const int kAbiPreservedCpuRegCount = 6;
 #elif defined(TARGET_ABI_EABI)
-const RegList kAbiPreservedCpuRegs =
-    (1 << R4) | (1 << R5) | (1 << R6) | (1 << R7) |
-    (1 << R8) | (1 << R9) | (1 << R10);
+const RegList kAbiPreservedCpuRegs = (1 << R4) | (1 << R5) | (1 << R6) |
+                                     (1 << R7) | (1 << R8) | (1 << R9) |
+                                     (1 << R10);
 const int kAbiPreservedCpuRegCount = 7;
 #else
 #error Unknown ABI
@@ -322,13 +321,8 @@
 const QRegister kAbiLastPreservedFpuReg = Q7;
 const int kAbiPreservedFpuRegCount = 4;
 
-const RegList kReservedCpuRegisters =
-    (1 << SPREG) |
-    (1 << FPREG) |
-    (1 << TMP)   |
-    (1 << PP)    |
-    (1 << THR)   |
-    (1 << PC);
+const RegList kReservedCpuRegisters = (1 << SPREG) | (1 << FPREG) | (1 << TMP) |
+                                      (1 << PP) | (1 << THR) | (1 << PC);
 // CPU registers available to Dart allocator.
 const RegList kDartAvailableCpuRegs =
     kAllCpuRegistersList & ~kReservedCpuRegisters;
@@ -348,21 +342,21 @@
 // Values for the condition field as defined in section A3.2.
 enum Condition {
   kNoCondition = -1,
-  EQ =  0,  // equal
-  NE =  1,  // not equal
-  CS =  2,  // carry set/unsigned higher or same
-  CC =  3,  // carry clear/unsigned lower
-  MI =  4,  // minus/negative
-  PL =  5,  // plus/positive or zero
-  VS =  6,  // overflow
-  VC =  7,  // no overflow
-  HI =  8,  // unsigned higher
-  LS =  9,  // unsigned lower or same
-  GE = 10,  // signed greater than or equal
-  LT = 11,  // signed less than
-  GT = 12,  // signed greater than
-  LE = 13,  // signed less than or equal
-  AL = 14,  // always (unconditional)
+  EQ = 0,                  // equal
+  NE = 1,                  // not equal
+  CS = 2,                  // carry set/unsigned higher or same
+  CC = 3,                  // carry clear/unsigned lower
+  MI = 4,                  // minus/negative
+  PL = 5,                  // plus/positive or zero
+  VS = 6,                  // overflow
+  VC = 7,                  // no overflow
+  HI = 8,                  // unsigned higher
+  LS = 9,                  // unsigned lower or same
+  GE = 10,                 // signed greater than or equal
+  LT = 11,                 // signed less than
+  GT = 12,                 // signed greater than
+  LE = 13,                 // signed less than or equal
+  AL = 14,                 // always (unconditional)
   kSpecialCondition = 15,  // special condition (refer to section A3.2.1)
   kMaxCondition = 16,
 };
@@ -372,16 +366,16 @@
 // as defined in section A3.4
 enum Opcode {
   kNoOperand = -1,
-  AND =  0,  // Logical AND
-  EOR =  1,  // Logical Exclusive OR
-  SUB =  2,  // Subtract
-  RSB =  3,  // Reverse Subtract
-  ADD =  4,  // Add
-  ADC =  5,  // Add with Carry
-  SBC =  6,  // Subtract with Carry
-  RSC =  7,  // Reverse Subtract with Carry
-  TST =  8,  // Test
-  TEQ =  9,  // Test Equivalence
+  AND = 0,   // Logical AND
+  EOR = 1,   // Logical Exclusive OR
+  SUB = 2,   // Subtract
+  RSB = 3,   // Reverse Subtract
+  ADD = 4,   // Add
+  ADC = 5,   // Add with Carry
+  SBC = 6,   // Subtract with Carry
+  RSC = 7,   // Reverse Subtract with Carry
+  TST = 8,   // Test
+  TEQ = 9,   // Test Equivalence
   CMP = 10,  // Compare
   CMN = 11,  // Compare Negated
   ORR = 12,  // Logical (inclusive) OR
@@ -495,17 +489,13 @@
 //
 class Instr {
  public:
-  enum {
-    kInstrSize = 4,
-    kInstrSizeLog2 = 2,
-    kPCReadOffset = 8
-  };
+  enum { kInstrSize = 4, kInstrSizeLog2 = 2, kPCReadOffset = 8 };
 
   static const int32_t kNopInstruction =  // nop
       ((AL << kConditionShift) | (0x32 << 20) | (0xf << 12));
 
-  static const int32_t kBreakPointCode = 0xdeb0;  // For breakpoint.
-  static const int32_t kStopMessageCode = 0xdeb1;  // For Stop(message).
+  static const int32_t kBreakPointCode = 0xdeb0;      // For breakpoint.
+  static const int32_t kStopMessageCode = 0xdeb1;     // For Stop(message).
   static const int32_t kSimulatorBreakCode = 0xdeb2;  // For breakpoint in sim.
   static const int32_t kSimulatorRedirectCode = 0xca11;  // For redirection.
 
@@ -535,9 +525,7 @@
   }
 
   // Read one particular bit out of the instruction bits.
-  inline int Bit(int nr) const {
-    return (InstructionBits() >> nr) & 1;
-  }
+  inline int Bit(int nr) const { return (InstructionBits() >> nr) & 1; }
 
   // Read a bit field out of the instruction bits.
   inline int Bits(int shift, int count) const {
@@ -553,10 +541,12 @@
   }
   inline int TypeField() const { return Bits(kTypeShift, kTypeBits); }
 
-  inline Register RnField() const { return static_cast<Register>(
-                                        Bits(kRnShift, kRnBits)); }
-  inline Register RdField() const { return static_cast<Register>(
-                                        Bits(kRdShift, kRdBits)); }
+  inline Register RnField() const {
+    return static_cast<Register>(Bits(kRnShift, kRnBits));
+  }
+  inline Register RdField() const {
+    return static_cast<Register>(Bits(kRdShift, kRdBits));
+  }
 
   // Fields used in Data processing instructions
   inline Opcode OpcodeField() const {
@@ -567,27 +557,30 @@
   inline Register RmField() const {
     return static_cast<Register>(Bits(kRmShift, kRmBits));
   }
-  inline Shift ShiftField() const { return static_cast<Shift>(
-                                        Bits(kShiftShift, kShiftBits)); }
+  inline Shift ShiftField() const {
+    return static_cast<Shift>(Bits(kShiftShift, kShiftBits));
+  }
   inline int RegShiftField() const { return Bit(4); }
   inline Register RsField() const {
     return static_cast<Register>(Bits(kRsShift, kRsBits));
   }
-  inline int ShiftAmountField() const { return Bits(kShiftImmShift,
-                                                    kShiftImmBits); }
+  inline int ShiftAmountField() const {
+    return Bits(kShiftImmShift, kShiftImmBits);
+  }
   // with immediate
   inline int RotateField() const { return Bits(kRotateShift, kRotateBits); }
   inline int Immed8Field() const { return Bits(kImmed8Shift, kImmed8Bits); }
 
   // Fields used in Load/Store instructions
   inline int PUField() const { return Bits(23, 2); }
-  inline int  BField() const { return Bit(22); }
-  inline int  WField() const { return Bit(21); }
-  inline int  LField() const { return Bit(20); }
+  inline int BField() const { return Bit(22); }
+  inline int WField() const { return Bit(21); }
+  inline int LField() const { return Bit(20); }
   // with register uses same fields as Data processing instructions above
   // with immediate
-  inline int Offset12Field() const { return Bits(kOffset12Shift,
-                                                 kOffset12Bits); }
+  inline int Offset12Field() const {
+    return Bits(kOffset12Shift, kOffset12Bits);
+  }
   // multiple
   inline int RlistField() const { return Bits(0, 16); }
   // extra loads and stores
@@ -622,8 +615,8 @@
 
   // Field used in VFP double immediate move instruction
   inline double ImmDoubleField() const {
-    uint64_t imm64 = (Bit(19)*(1LL << 63)) | (((1LL << 8) - Bit(18)) << 54) |
-                     (Bits(16, 2)*(1LL << 52)) | (Bits(0, 4)*(1LL << 48));
+    uint64_t imm64 = (Bit(19) * (1LL << 63)) | (((1LL << 8) - Bit(18)) << 54) |
+                     (Bits(16, 2) * (1LL << 52)) | (Bits(0, 4) * (1LL << 48));
     return bit_cast<double, uint64_t>(imm64);
   }
 
@@ -644,9 +637,9 @@
     ASSERT(ConditionField() != kSpecialCondition);
     ASSERT(Bits(26, 2) == 0);  // Type 0 or 1.
     return ((Bits(20, 5) & 0x19) != 0x10) &&
-      ((Bit(25) == 1) ||  // Data processing immediate.
-       (Bit(4) == 0) ||  // Data processing register.
-       (Bit(7) == 0));  // Data processing register-shifted register.
+           ((Bit(25) == 1) ||  // Data processing immediate.
+            (Bit(4) == 0) ||   // Data processing register.
+            (Bit(7) == 0));    // Data processing register-shifted register.
   }
 
   // Tests for special encodings of type 0 instructions (extra loads and stores,
@@ -706,8 +699,8 @@
   inline bool IsDivision() const {
     ASSERT(ConditionField() != kSpecialCondition);
     ASSERT(TypeField() == 3);
-    return ((Bit(4) == 1) && (Bits(5, 3) == 0) &&
-            (Bit(20) == 1) && (Bits(22, 3) == 4));
+    return ((Bit(4) == 1) && (Bits(5, 3) == 0) && (Bit(20) == 1) &&
+            (Bits(22, 3) == 4));
   }
 
   // Test for VFP data processing or single transfer instructions of type 7.
@@ -753,12 +746,12 @@
   }
 
   // Special accessors that test for existence of a value.
-  inline bool HasS()    const { return SField() == 1; }
-  inline bool HasB()    const { return BField() == 1; }
-  inline bool HasW()    const { return WField() == 1; }
-  inline bool HasL()    const { return LField() == 1; }
+  inline bool HasS() const { return SField() == 1; }
+  inline bool HasB() const { return BField() == 1; }
+  inline bool HasW() const { return WField() == 1; }
+  inline bool HasL() const { return LField() == 1; }
   inline bool HasSign() const { return SignField() == 1; }
-  inline bool HasH()    const { return HField() == 1; }
+  inline bool HasH() const { return HField() == 1; }
   inline bool HasLink() const { return LinkField() == 1; }
 
   // Instructions are read out of a code stream. The only way to get a
diff --git a/runtime/vm/constants_arm64.h b/runtime/vm/constants_arm64.h
index c2d6981..542fd52 100644
--- a/runtime/vm/constants_arm64.h
+++ b/runtime/vm/constants_arm64.h
@@ -10,16 +10,16 @@
 namespace dart {
 
 enum Register {
-  R0  =  0,
-  R1  =  1,
-  R2  =  2,
-  R3  =  3,
-  R4  =  4,
-  R5  =  5,
-  R6  =  6,
-  R7  =  7,
-  R8  =  8,
-  R9  =  9,
+  R0 = 0,
+  R1 = 1,
+  R2 = 2,
+  R3 = 3,
+  R4 = 4,
+  R5 = 5,
+  R6 = 6,
+  R7 = 7,
+  R8 = 8,
+  R9 = 9,
   R10 = 10,
   R11 = 11,
   R12 = 12,
@@ -60,16 +60,16 @@
 
 
 enum VRegister {
-  V0  =  0,
-  V1  =  1,
-  V2  =  2,
-  V3  =  3,
-  V4  =  4,
-  V5  =  5,
-  V6  =  6,
-  V7  =  7,
-  V8  =  8,
-  V9  =  9,
+  V0 = 0,
+  V1 = 1,
+  V2 = 2,
+  V3 = 3,
+  V4 = 4,
+  V5 = 5,
+  V6 = 6,
+  V7 = 7,
+  V8 = 8,
+  V9 = 9,
   V10 = 10,
   V11 = 11,
   V12 = 12,
@@ -109,14 +109,14 @@
 const Register TMP = R16;  // Used as scratch register by assembler.
 const Register TMP2 = R17;
 const Register CTX = R28;  // Location of current context at method entry.
-const Register PP = R27;  // Caches object pool pointer in generated code.
+const Register PP = R27;   // Caches object pool pointer in generated code.
 const Register CODE_REG = R24;
-const Register FPREG = FP;  // Frame pointer register.
-const Register SPREG = R15;  // Stack pointer register.
-const Register LRREG = LR;  // Link register.
-const Register ICREG = R5;  // IC data register.
+const Register FPREG = FP;          // Frame pointer register.
+const Register SPREG = R15;         // Stack pointer register.
+const Register LRREG = LR;          // Link register.
+const Register ICREG = R5;          // IC data register.
 const Register ARGS_DESC_REG = R4;  // Arguments descriptor register.
-const Register THR = R26;  // Caches current thread in generated code.
+const Register THR = R26;           // Caches current thread in generated code.
 const Register CALLEE_SAVED_TEMP = R19;
 const Register CALLEE_SAVED_TEMP2 = R20;
 
@@ -140,13 +140,12 @@
 
 
 // C++ ABI call registers.
-const RegList kAbiArgumentCpuRegs =
-    (1 << R0) | (1 << R1) | (1 << R2) | (1 << R3) |
-    (1 << R4) | (1 << R5) | (1 << R6) | (1 << R7);
+const RegList kAbiArgumentCpuRegs = (1 << R0) | (1 << R1) | (1 << R2) |
+                                    (1 << R3) | (1 << R4) | (1 << R5) |
+                                    (1 << R6) | (1 << R7);
 const RegList kAbiPreservedCpuRegs =
-    (1 << R19) | (1 << R20) | (1 << R21) | (1 << R22) |
-    (1 << R23) | (1 << R24) | (1 << R25) | (1 << R26) |
-    (1 << R27) | (1 << R28);
+    (1 << R19) | (1 << R20) | (1 << R21) | (1 << R22) | (1 << R23) |
+    (1 << R24) | (1 << R25) | (1 << R26) | (1 << R27) | (1 << R28);
 const Register kAbiFirstPreservedCpuReg = R19;
 const Register kAbiLastPreservedCpuReg = R28;
 const int kAbiPreservedCpuRegCount = 10;
@@ -156,16 +155,10 @@
 
 const intptr_t kReservedCpuRegisters =
     (1 << SPREG) |  // Dart SP
-    (1 << FPREG) |
-    (1 << TMP)   |
-    (1 << TMP2)  |
-    (1 << PP)    |
-    (1 << THR)   |
-    (1 << LR)    |
-    (1 << R31)   |  // C++ SP
-    (1 << CTX)   |
-    (1 << R18);     // iOS platform register.
-                    // TODO(rmacnak): Only reserve on Mac & iOS.
+    (1 << FPREG) | (1 << TMP) | (1 << TMP2) | (1 << PP) | (1 << THR) |
+    (1 << LR) | (1 << R31) |  // C++ SP
+    (1 << CTX) | (1 << R18);  // iOS platform register.
+                              // TODO(rmacnak): Only reserve on Mac & iOS.
 // CPU registers available to Dart allocator.
 const RegList kDartAvailableCpuRegs =
     kAllCpuRegistersList & ~kReservedCpuRegisters;
@@ -184,16 +177,16 @@
 // Values for the condition field as defined in section A3.2.
 enum Condition {
   kNoCondition = -1,
-  EQ =  0,  // equal
-  NE =  1,  // not equal
-  CS =  2,  // carry set/unsigned higher or same
-  CC =  3,  // carry clear/unsigned lower
-  MI =  4,  // minus/negative
-  PL =  5,  // plus/positive or zero
-  VS =  6,  // overflow
-  VC =  7,  // no overflow
-  HI =  8,  // unsigned higher
-  LS =  9,  // unsigned lower or same
+  EQ = 0,   // equal
+  NE = 1,   // not equal
+  CS = 2,   // carry set/unsigned higher or same
+  CC = 3,   // carry clear/unsigned lower
+  MI = 4,   // minus/negative
+  PL = 5,   // plus/positive or zero
+  VS = 6,   // overflow
+  VC = 7,   // no overflow
+  HI = 8,   // unsigned higher
+  LS = 9,   // unsigned lower or same
   GE = 10,  // signed greater than or equal
   LT = 11,  // signed less than
   GT = 12,  // signed greater than
@@ -209,14 +202,38 @@
 }
 
 enum Bits {
-  B0  =  (1 << 0), B1  =  (1 << 1), B2  =  (1 << 2), B3  =  (1 << 3),
-  B4  =  (1 << 4), B5  =  (1 << 5), B6  =  (1 << 6), B7  =  (1 << 7),
-  B8  =  (1 << 8), B9  =  (1 << 9), B10 = (1 << 10), B11 = (1 << 11),
-  B12 = (1 << 12), B13 = (1 << 13), B14 = (1 << 14), B15 = (1 << 15),
-  B16 = (1 << 16), B17 = (1 << 17), B18 = (1 << 18), B19 = (1 << 19),
-  B20 = (1 << 20), B21 = (1 << 21), B22 = (1 << 22), B23 = (1 << 23),
-  B24 = (1 << 24), B25 = (1 << 25), B26 = (1 << 26), B27 = (1 << 27),
-  B28 = (1 << 28), B29 = (1 << 29), B30 = (1 << 30), B31 = (1 << 31),
+  B0 = (1 << 0),
+  B1 = (1 << 1),
+  B2 = (1 << 2),
+  B3 = (1 << 3),
+  B4 = (1 << 4),
+  B5 = (1 << 5),
+  B6 = (1 << 6),
+  B7 = (1 << 7),
+  B8 = (1 << 8),
+  B9 = (1 << 9),
+  B10 = (1 << 10),
+  B11 = (1 << 11),
+  B12 = (1 << 12),
+  B13 = (1 << 13),
+  B14 = (1 << 14),
+  B15 = (1 << 15),
+  B16 = (1 << 16),
+  B17 = (1 << 17),
+  B18 = (1 << 18),
+  B19 = (1 << 19),
+  B20 = (1 << 20),
+  B21 = (1 << 21),
+  B22 = (1 << 22),
+  B23 = (1 << 23),
+  B24 = (1 << 24),
+  B25 = (1 << 25),
+  B26 = (1 << 26),
+  B27 = (1 << 27),
+  B28 = (1 << 28),
+  B29 = (1 << 29),
+  B30 = (1 << 30),
+  B31 = (1 << 31),
 };
 
 enum OperandSize {
@@ -331,8 +348,11 @@
   SystemMask = 0xffc00000,
   SystemFixed = CompareBranchFixed | B31 | B30 | B24,
   HINT = SystemFixed | B17 | B16 | B13 | B4 | B3 | B2 | B1 | B0,
-  CLREX = SystemFixed | B17 | B16 | B13 | B12 | B11 | B10 | B9 | B8 |
-      B6 | B4 | B3 | B2 | B1 | B0,
+  CLREX = SystemFixed | B17 | B16 | B13 | B12 | B11 | B10 | B9 | B8 | B6 | B4 |
+          B3 |
+          B2 |
+          B1 |
+          B0,
 };
 
 // C3.2.5
@@ -554,8 +574,8 @@
   VABSD = SIMDTwoRegFixed | B30 | B23 | B22 | B15 | B14 | B13 | B12,
   VNEGD = SIMDTwoRegFixed | B30 | B29 | B23 | B22 | B15 | B14 | B13 | B12,
   VSQRTS = SIMDTwoRegFixed | B30 | B29 | B23 | B16 | B15 | B14 | B13 | B12,
-  VSQRTD = SIMDTwoRegFixed | B30 | B29 | B23 | B22
-                           | B16 | B15 | B14 | B13 | B12,
+  VSQRTD =
+      SIMDTwoRegFixed | B30 | B29 | B23 | B22 | B16 | B15 | B14 | B13 | B12,
   VRECPES = SIMDTwoRegFixed | B30 | B23 | B16 | B15 | B14 | B12,
   VRSQRTES = SIMDTwoRegFixed | B30 | B29 | B23 | B16 | B15 | B14 | B12,
 };
@@ -605,48 +625,48 @@
   FMOVRD = FPIntCvtFixed | B22 | B18 | B17,
   FMOVDR = FPIntCvtFixed | B22 | B18 | B17 | B16,
   FCVTZDS = FPIntCvtFixed | B22 | B20 | B19,
-  SCVTFD = FPIntCvtFixed |  B22 | B17,
+  SCVTFD = FPIntCvtFixed | B22 | B17,
 };
 
 
 #define APPLY_OP_LIST(_V)                                                      \
-_V(DPImmediate)                                                                \
-_V(CompareBranch)                                                              \
-_V(LoadStore)                                                                  \
-_V(DPRegister)                                                                 \
-_V(DPSimd1)                                                                    \
-_V(DPSimd2)                                                                    \
-_V(FP)                                                                         \
-_V(CompareAndBranch)                                                           \
-_V(ConditionalBranch)                                                          \
-_V(ExceptionGen)                                                               \
-_V(System)                                                                     \
-_V(TestAndBranch)                                                              \
-_V(UnconditionalBranch)                                                        \
-_V(UnconditionalBranchReg)                                                     \
-_V(LoadStoreReg)                                                               \
-_V(LoadStoreRegPair)                                                           \
-_V(LoadRegLiteral)                                                             \
-_V(LoadStoreExclusive)                                                         \
-_V(AddSubImm)                                                                  \
-_V(LogicalImm)                                                                 \
-_V(MoveWide)                                                                   \
-_V(PCRel)                                                                      \
-_V(AddSubShiftExt)                                                             \
-_V(AddSubWithCarry)                                                            \
-_V(ConditionalSelect)                                                          \
-_V(MiscDP1Source)                                                              \
-_V(MiscDP2Source)                                                              \
-_V(MiscDP3Source)                                                              \
-_V(LogicalShift)                                                               \
-_V(SIMDCopy)                                                                   \
-_V(SIMDThreeSame)                                                              \
-_V(SIMDTwoReg)                                                                 \
-_V(FPCompare)                                                                  \
-_V(FPOneSource)                                                                \
-_V(FPTwoSource)                                                                \
-_V(FPImm)                                                                      \
-_V(FPIntCvt)                                                                   \
+  _V(DPImmediate)                                                              \
+  _V(CompareBranch)                                                            \
+  _V(LoadStore)                                                                \
+  _V(DPRegister)                                                               \
+  _V(DPSimd1)                                                                  \
+  _V(DPSimd2)                                                                  \
+  _V(FP)                                                                       \
+  _V(CompareAndBranch)                                                         \
+  _V(ConditionalBranch)                                                        \
+  _V(ExceptionGen)                                                             \
+  _V(System)                                                                   \
+  _V(TestAndBranch)                                                            \
+  _V(UnconditionalBranch)                                                      \
+  _V(UnconditionalBranchReg)                                                   \
+  _V(LoadStoreReg)                                                             \
+  _V(LoadStoreRegPair)                                                         \
+  _V(LoadRegLiteral)                                                           \
+  _V(LoadStoreExclusive)                                                       \
+  _V(AddSubImm)                                                                \
+  _V(LogicalImm)                                                               \
+  _V(MoveWide)                                                                 \
+  _V(PCRel)                                                                    \
+  _V(AddSubShiftExt)                                                           \
+  _V(AddSubWithCarry)                                                          \
+  _V(ConditionalSelect)                                                        \
+  _V(MiscDP1Source)                                                            \
+  _V(MiscDP2Source)                                                            \
+  _V(MiscDP3Source)                                                            \
+  _V(LogicalShift)                                                             \
+  _V(SIMDCopy)                                                                 \
+  _V(SIMDThreeSame)                                                            \
+  _V(SIMDTwoReg)                                                               \
+  _V(FPCompare)                                                                \
+  _V(FPOneSource)                                                              \
+  _V(FPTwoSource)                                                              \
+  _V(FPImm)                                                                    \
+  _V(FPIntCvt)
 
 
 enum Shift {
@@ -785,16 +805,18 @@
 
 
 // Helper functions for decoding logical immediates.
-static inline uint64_t RotateRight(
-    uint64_t value, uint8_t rotate, uint8_t width) {
+static inline uint64_t RotateRight(uint64_t value,
+                                   uint8_t rotate,
+                                   uint8_t width) {
   ASSERT(width <= 64);
   rotate &= 63;
   return ((value & ((1UL << rotate) - 1UL)) << (width - rotate)) |
          (value >> rotate);
 }
 
-static inline uint64_t RepeatBitsAcrossReg(
-    uint8_t reg_size, uint64_t value, uint8_t width) {
+static inline uint64_t RepeatBitsAcrossReg(uint8_t reg_size,
+                                           uint64_t value,
+                                           uint8_t width) {
   ASSERT((width == 2) || (width == 4) || (width == 8) || (width == 16) ||
          (width == 32));
   ASSERT((reg_size == kWRegSizeInBits) || (reg_size == kXRegSizeInBits));
@@ -818,17 +840,13 @@
 //
 class Instr {
  public:
-  enum {
-    kInstrSize = 4,
-    kInstrSizeLog2 = 2,
-    kPCReadOffset = 8
-  };
+  enum { kInstrSize = 4, kInstrSizeLog2 = 2, kPCReadOffset = 8 };
 
   static const int32_t kNopInstruction = HINT;  // hint #0 === nop.
 
   // Reserved brk and hlt instruction codes.
-  static const int32_t kBreakPointCode = 0xdeb0;  // For breakpoint.
-  static const int32_t kStopMessageCode = 0xdeb1;  // For Stop(message).
+  static const int32_t kBreakPointCode = 0xdeb0;      // For breakpoint.
+  static const int32_t kStopMessageCode = 0xdeb1;     // For Stop(message).
   static const int32_t kSimulatorBreakCode = 0xdeb2;  // For breakpoint in sim.
   static const int32_t kSimulatorRedirectCode = 0xca11;  // For redirection.
 
@@ -847,9 +865,7 @@
       HLT | (kSimulatorRedirectCode << kImm16Shift);
 
   // Read one particular bit out of the instruction bits.
-  inline int Bit(int nr) const {
-    return (InstructionBits() >> nr) & 1;
-  }
+  inline int Bit(int nr) const { return (InstructionBits() >> nr) & 1; }
 
   // Read a bit field out of the instruction bits.
   inline int Bits(int shift, int count) const {
@@ -866,23 +882,22 @@
     *reinterpret_cast<int32_t*>(this) = value;
   }
 
-  inline void SetMoveWideBits(
-      MoveWideOp op, Register rd, uint16_t imm, int hw, OperandSize sz) {
+  inline void SetMoveWideBits(MoveWideOp op,
+                              Register rd,
+                              uint16_t imm,
+                              int hw,
+                              OperandSize sz) {
     ASSERT((hw >= 0) && (hw <= 3));
     ASSERT((sz == kDoubleWord) || (sz == kWord));
     const int32_t size = (sz == kDoubleWord) ? B31 : 0;
-    SetInstructionBits(
-        op | size |
-        (static_cast<int32_t>(rd) << kRdShift) |
-        (static_cast<int32_t>(hw) << kHWShift) |
-        (static_cast<int32_t>(imm) << kImm16Shift));
+    SetInstructionBits(op | size | (static_cast<int32_t>(rd) << kRdShift) |
+                       (static_cast<int32_t>(hw) << kHWShift) |
+                       (static_cast<int32_t>(imm) << kImm16Shift));
   }
 
-  inline void SetUnconditionalBranchRegBits(
-      UnconditionalBranchRegOp op, Register rn) {
-    SetInstructionBits(
-        op |
-        (static_cast<int32_t>(rn) << kRnShift));
+  inline void SetUnconditionalBranchRegBits(UnconditionalBranchRegOp op,
+                                            Register rn) {
+    SetInstructionBits(op | (static_cast<int32_t>(rn) << kRnShift));
   }
 
   inline void SetImm12Bits(int32_t orig, int32_t imm12) {
@@ -894,29 +909,40 @@
   inline int SField() const { return Bit(kSShift); }
   inline int SFField() const { return Bit(kSFShift); }
   inline int SzField() const { return Bits(kSzShift, kSzBits); }
-  inline Register RdField() const { return static_cast<Register>(
-                                        Bits(kRdShift, kRdBits)); }
-  inline Register RnField() const { return static_cast<Register>(
-                                        Bits(kRnShift, kRnBits)); }
-  inline Register RaField() const { return static_cast<Register>(
-                                        Bits(kRaShift, kRaBits)); }
-  inline Register RmField() const { return static_cast<Register>(
-                                        Bits(kRmShift, kRmBits)); }
-  inline Register RtField() const { return static_cast<Register>(
-                                        Bits(kRtShift, kRtBits)); }
-  inline Register Rt2Field() const { return static_cast<Register>(
-                                        Bits(kRt2Shift, kRt2Bits)); }
-  inline Register RsField() const { return static_cast<Register>(
-                                        Bits(kRsShift, kRsBits)); }
+  inline Register RdField() const {
+    return static_cast<Register>(Bits(kRdShift, kRdBits));
+  }
+  inline Register RnField() const {
+    return static_cast<Register>(Bits(kRnShift, kRnBits));
+  }
+  inline Register RaField() const {
+    return static_cast<Register>(Bits(kRaShift, kRaBits));
+  }
+  inline Register RmField() const {
+    return static_cast<Register>(Bits(kRmShift, kRmBits));
+  }
+  inline Register RtField() const {
+    return static_cast<Register>(Bits(kRtShift, kRtBits));
+  }
+  inline Register Rt2Field() const {
+    return static_cast<Register>(Bits(kRt2Shift, kRt2Bits));
+  }
+  inline Register RsField() const {
+    return static_cast<Register>(Bits(kRsShift, kRsBits));
+  }
 
-  inline VRegister VdField() const { return static_cast<VRegister>(
-                                        Bits(kVdShift, kVdBits)); }
-  inline VRegister VnField() const { return static_cast<VRegister>(
-                                        Bits(kVnShift, kVnBits)); }
-  inline VRegister VmField() const { return static_cast<VRegister>(
-                                        Bits(kVmShift, kVmBits)); }
-  inline VRegister VtField() const { return static_cast<VRegister>(
-                                        Bits(kVtShift, kVtBits)); }
+  inline VRegister VdField() const {
+    return static_cast<VRegister>(Bits(kVdShift, kVdBits));
+  }
+  inline VRegister VnField() const {
+    return static_cast<VRegister>(Bits(kVnShift, kVnBits));
+  }
+  inline VRegister VmField() const {
+    return static_cast<VRegister>(Bits(kVmShift, kVmBits));
+  }
+  inline VRegister VtField() const {
+    return static_cast<VRegister>(Bits(kVtShift, kVtBits));
+  }
 
   // Immediates
   inline int Imm3Field() const { return Bits(kImm3Shift, kImm3Bits); }
@@ -924,16 +950,19 @@
   inline int Imm7Field() const { return Bits(kImm7Shift, kImm7Bits); }
   // Sign-extended Imm7Field()
   inline int64_t SImm7Field() const {
-      return (static_cast<int32_t>(Imm7Field()) << 25) >> 25; }
+    return (static_cast<int32_t>(Imm7Field()) << 25) >> 25;
+  }
   inline int Imm8Field() const { return Bits(kImm8Shift, kImm8Bits); }
   inline int Imm9Field() const { return Bits(kImm9Shift, kImm9Bits); }
   // Sign-extended Imm9Field()
   inline int64_t SImm9Field() const {
-      return (static_cast<int32_t>(Imm9Field()) << 23) >> 23; }
+    return (static_cast<int32_t>(Imm9Field()) << 23) >> 23;
+  }
 
   inline int Imm12Field() const { return Bits(kImm12Shift, kImm12Bits); }
   inline int Imm12ShiftField() const {
-    return Bits(kImm12ShiftShift, kImm12ShiftBits); }
+    return Bits(kImm12ShiftShift, kImm12ShiftBits);
+  }
 
   inline int Imm16Field() const { return Bits(kImm16Shift, kImm16Bits); }
   inline int HWField() const { return Bits(kHWShift, kHWBits); }
@@ -943,13 +972,16 @@
 
   inline int Imm14Field() const { return Bits(kImm14Shift, kImm14Bits); }
   inline int64_t SImm14Field() const {
-      return (static_cast<int32_t>(Imm14Field()) << 18) >> 18; }
+    return (static_cast<int32_t>(Imm14Field()) << 18) >> 18;
+  }
   inline int Imm19Field() const { return Bits(kImm19Shift, kImm19Bits); }
   inline int64_t SImm19Field() const {
-      return (static_cast<int32_t>(Imm19Field()) << 13) >> 13; }
+    return (static_cast<int32_t>(Imm19Field()) << 13) >> 13;
+  }
   inline int Imm26Field() const { return Bits(kImm26Shift, kImm26Bits); }
   inline int64_t SImm26Field() const {
-      return (static_cast<int32_t>(Imm26Field()) << 6) >> 6; }
+    return (static_cast<int32_t>(Imm26Field()) << 6) >> 6;
+  }
 
   inline Condition ConditionField() const {
     return static_cast<Condition>(Bits(kCondShift, kCondBits));
@@ -966,18 +998,21 @@
     return !IsLogicalShiftOp() && (Bit(kAddShiftExtendShift) == 1);
   }
   inline Shift ShiftTypeField() const {
-      return static_cast<Shift>(Bits(kShiftTypeShift, kShiftTypeBits)); }
+    return static_cast<Shift>(Bits(kShiftTypeShift, kShiftTypeBits));
+  }
   inline Extend ExtendTypeField() const {
-      return static_cast<Extend>(Bits(kExtendTypeShift, kExtendTypeBits)); }
+    return static_cast<Extend>(Bits(kExtendTypeShift, kExtendTypeBits));
+  }
   inline int ShiftAmountField() const { return Imm6Field(); }
   inline int ExtShiftAmountField() const { return Imm3Field(); }
 
-  // Instruction identification.
-  #define IS_OP(op)                                                            \
-    inline bool Is##op##Op() const {                                           \
-      return ((InstructionBits() & op##Mask) == (op##Fixed & op##Mask)); }
+// Instruction identification.
+#define IS_OP(op)                                                              \
+  inline bool Is##op##Op() const {                                             \
+    return ((InstructionBits() & op##Mask) == (op##Fixed & op##Mask));         \
+  }
   APPLY_OP_LIST(IS_OP)
-  #undef IS_OP
+#undef IS_OP
 
   inline bool HasS() const { return (SField() == 1); }
 
@@ -1016,8 +1051,7 @@
     //  Add/sub (immediate).
     //  Add/sub (extended).
     // Otherwise, r31 is ZR.
-    if (IsLoadStoreOp() ||
-        IsAddSubImmOp() ||
+    if (IsLoadStoreOp() || IsAddSubImmOp() ||
         (IsAddSubShiftExtOp() && IsExtend())) {
       return R31IsSP;
     }
@@ -1028,8 +1062,7 @@
   // indicate a failure case. Specifically, where the constraints on imm_s are
   // not met.
   uint64_t ImmLogical() {
-    const uint8_t reg_size =
-        SFField() == 1 ? kXRegSizeInBits : kWRegSizeInBits;
+    const uint8_t reg_size = SFField() == 1 ? kXRegSizeInBits : kWRegSizeInBits;
     const int64_t n = NField();
     const int64_t imm_s = ImmSField();
     const int64_t imm_r = ImmRField();
@@ -1067,9 +1100,8 @@
             return 0;
           }
           uint64_t bits = (1UL << ((imm_s & mask) + 1)) - 1;
-          return RepeatBitsAcrossReg(reg_size,
-                                     RotateRight(bits, imm_r & mask, width),
-                                     width);
+          return RepeatBitsAcrossReg(
+              reg_size, RotateRight(bits, imm_r & mask, width), width);
         }
       }
     }
@@ -1078,16 +1110,11 @@
   }
 
   static int64_t VFPExpandImm(uint8_t imm8) {
-    const int64_t sign =
-        static_cast<int64_t>((imm8 & 0x80) >> 7) << 63;
-    const int64_t hi_exp =
-        static_cast<int64_t>(!((imm8 & 0x40) >> 6)) << 62;
-    const int64_t mid_exp =
-        (((imm8 & 0x40) >> 6) == 0) ? 0 : (0xffLL << 54);
-    const int64_t low_exp =
-        static_cast<int64_t>((imm8 & 0x30) >> 4) << 52;
-    const int64_t frac =
-        static_cast<int64_t>(imm8 & 0x0f) << 48;
+    const int64_t sign = static_cast<int64_t>((imm8 & 0x80) >> 7) << 63;
+    const int64_t hi_exp = static_cast<int64_t>(!((imm8 & 0x40) >> 6)) << 62;
+    const int64_t mid_exp = (((imm8 & 0x40) >> 6) == 0) ? 0 : (0xffLL << 54);
+    const int64_t low_exp = static_cast<int64_t>((imm8 & 0x30) >> 4) << 52;
+    const int64_t frac = static_cast<int64_t>(imm8 & 0x0f) << 48;
     return sign | hi_exp | mid_exp | low_exp | frac;
   }
 
diff --git a/runtime/vm/constants_dbc.h b/runtime/vm/constants_dbc.h
index 1c0d1be..cf14318 100644
--- a/runtime/vm/constants_dbc.h
+++ b/runtime/vm/constants_dbc.h
@@ -12,6 +12,7 @@
 
 namespace dart {
 
+// clang-format off
 // List of Dart Bytecode instructions.
 //
 // INTERPRETER STATE
@@ -822,7 +823,9 @@
   V(CheckStack,                      0, ___, ___, ___) \
   V(DebugStep,                       0, ___, ___, ___) \
   V(DebugBreak,                      A, num, ___, ___) \
-  V(Deopt,                         A_D, num, num, ___) \
+  V(Deopt,                         A_D, num, num, ___)
+
+// clang-format on
 
 typedef uint32_t Instr;
 
@@ -830,7 +833,7 @@
  public:
   enum Opcode {
 #define DECLARE_BYTECODE(name, encoding, op1, op2, op3) k##name,
-BYTECODES_LIST(DECLARE_BYTECODE)
+    BYTECODES_LIST(DECLARE_BYTECODE)
 #undef DECLARE_BYTECODE
   };
 
@@ -868,9 +871,7 @@
     return op | (x << kAShift);
   }
 
-  static Instr Encode(Opcode op) {
-    return op;
-  }
+  static Instr Encode(Opcode op) { return op; }
 
   DART_FORCE_INLINE static uint8_t DecodeA(Instr bc) {
     return (bc >> kAShift) & kAMask;
diff --git a/runtime/vm/constants_ia32.h b/runtime/vm/constants_ia32.h
index 5d61a9a..ca449d8 100644
--- a/runtime/vm/constants_ia32.h
+++ b/runtime/vm/constants_ia32.h
@@ -58,16 +58,16 @@
 
 
 // Register aliases.
-const Register TMP = kNoRegister;  // No scratch register used by assembler.
+const Register TMP = kNoRegister;   // No scratch register used by assembler.
 const Register TMP2 = kNoRegister;  // No second assembler scratch register.
 const Register CTX = EDI;  // Location of current context at method entry.
 const Register CODE_REG = EDI;
-const Register PP = kNoRegister;  // No object pool pointer.
-const Register SPREG = ESP;  // Stack pointer register.
-const Register FPREG = EBP;  // Frame pointer register.
-const Register ICREG = ECX;  // IC data register.
+const Register PP = kNoRegister;     // No object pool pointer.
+const Register SPREG = ESP;          // Stack pointer register.
+const Register FPREG = EBP;          // Frame pointer register.
+const Register ICREG = ECX;          // IC data register.
 const Register ARGS_DESC_REG = EDX;  // Arguments descriptor register.
-const Register THR = ESI;  // Caches current thread in generated code.
+const Register THR = ESI;            // Caches current thread in generated code.
 const Register CALLEE_SAVED_TEMP = EBX;
 const Register CALLEE_SAVED_TEMP2 = EDI;
 
@@ -83,10 +83,7 @@
 typedef uint32_t RegList;
 const RegList kAllCpuRegistersList = 0xFF;
 
-const intptr_t kReservedCpuRegisters =
-    (1 << SPREG) |
-    (1 << FPREG) |
-    (1 << THR);
+const intptr_t kReservedCpuRegisters = (1 << SPREG) | (1 << FPREG) | (1 << THR);
 // CPU registers available to Dart allocator.
 const RegList kDartAvailableCpuRegs =
     kAllCpuRegistersList & ~kReservedCpuRegisters;
@@ -103,29 +100,29 @@
 
 
 enum Condition {
-  OVERFLOW      =  0,
-  NO_OVERFLOW   =  1,
-  BELOW         =  2,
-  ABOVE_EQUAL   =  3,
-  EQUAL         =  4,
-  NOT_EQUAL     =  5,
-  BELOW_EQUAL   =  6,
-  ABOVE         =  7,
-  SIGN          =  8,
-  NOT_SIGN      =  9,
-  PARITY_EVEN   = 10,
-  PARITY_ODD    = 11,
-  LESS          = 12,
+  OVERFLOW = 0,
+  NO_OVERFLOW = 1,
+  BELOW = 2,
+  ABOVE_EQUAL = 3,
+  EQUAL = 4,
+  NOT_EQUAL = 5,
+  BELOW_EQUAL = 6,
+  ABOVE = 7,
+  SIGN = 8,
+  NOT_SIGN = 9,
+  PARITY_EVEN = 10,
+  PARITY_ODD = 11,
+  LESS = 12,
   GREATER_EQUAL = 13,
-  LESS_EQUAL    = 14,
-  GREATER       = 15,
+  LESS_EQUAL = 14,
+  GREATER = 15,
 
-  ZERO          = EQUAL,
-  NOT_ZERO      = NOT_EQUAL,
-  NEGATIVE      = SIGN,
-  POSITIVE      = NOT_SIGN,
-  CARRY         = BELOW,
-  NOT_CARRY     = ABOVE_EQUAL
+  ZERO = EQUAL,
+  NOT_ZERO = NOT_EQUAL,
+  NEGATIVE = SIGN,
+  POSITIVE = NOT_SIGN,
+  CARRY = BELOW,
+  NOT_CARRY = ABOVE_EQUAL
 };
 
 
diff --git a/runtime/vm/constants_mips.h b/runtime/vm/constants_mips.h
index 7f53e40..355681d 100644
--- a/runtime/vm/constants_mips.h
+++ b/runtime/vm/constants_mips.h
@@ -10,16 +10,16 @@
 namespace dart {
 
 enum Register {
-  R0  =  0,
-  R1  =  1,  // AT aka TMP
-  R2  =  2,
-  R3  =  3,
-  R4  =  4,
-  R5  =  5,
-  R6  =  6,
-  R7  =  7,
-  R8  =  8,
-  R9  =  9,
+  R0 = 0,
+  R1 = 1,  // AT aka TMP
+  R2 = 2,
+  R3 = 3,
+  R4 = 4,
+  R5 = 5,
+  R6 = 6,
+  R7 = 7,
+  R8 = 8,
+  R9 = 9,
   R10 = 10,
   R11 = 11,
   R12 = 12,
@@ -93,16 +93,16 @@
 // Values for floating point registers.
 // Double-precision values use register pairs.
 enum FRegister {
-  F0  =  0,
-  F1  =  1,
-  F2  =  2,
-  F3  =  3,
-  F4  =  4,
-  F5  =  5,
-  F6  =  6,
-  F7  =  7,
-  F8  =  8,
-  F9  =  9,
+  F0 = 0,
+  F1 = 1,
+  F2 = 2,
+  F3 = 3,
+  F4 = 4,
+  F5 = 5,
+  F6 = 6,
+  F7 = 7,
+  F8 = 8,
+  F9 = 9,
   F10 = 10,
   F11 = 11,
   F12 = 12,
@@ -135,16 +135,16 @@
 // convert to the single precision registers when needed in the mips-specific
 // code.
 enum DRegister {
-  D0  =  0,  // Function return value 1.
-  D1  =  1,  // Function return value 2.
-  D2  =  2,  // Not preserved.
-  D3  =  3,  // Not preserved.
-  D4  =  4,  // Not preserved.
-  D5  =  5,  // Not preserved.
-  D6  =  6,  // Argument 1.
-  D7  =  7,  // Argument 2.
-  D8  =  8,  // Not preserved.
-  D9  =  9,  // Not preserved.
+  D0 = 0,    // Function return value 1.
+  D1 = 1,    // Function return value 2.
+  D2 = 2,    // Not preserved.
+  D3 = 3,    // Not preserved.
+  D4 = 4,    // Not preserved.
+  D5 = 5,    // Not preserved.
+  D6 = 6,    // Argument 1.
+  D7 = 7,    // Argument 2.
+  D8 = 8,    // Not preserved.
+  D9 = 9,    // Not preserved.
   D10 = 10,  // Preserved.
   D11 = 11,  // Preserved.
   D12 = 12,  // Preserved.
@@ -175,11 +175,11 @@
 
 
 // Register aliases.
-const Register TMP = AT;  // Used as scratch register by assembler.
+const Register TMP = AT;            // Used as scratch register by assembler.
 const Register TMP2 = kNoRegister;  // No second assembler scratch register.
 const Register CTX = S6;  // Location of current context at method entry.
 const Register CODE_REG = S6;
-const Register PP = S7;  // Caches object pool pointer in generated code.
+const Register PP = S7;     // Caches object pool pointer in generated code.
 const Register SPREG = SP;  // Stack pointer register.
 const Register FPREG = FP;  // Frame pointer register.
 const Register LRREG = RA;  // Link register.
@@ -209,9 +209,9 @@
 
 const RegList kAbiArgumentCpuRegs =
     (1 << A0) | (1 << A1) | (1 << A2) | (1 << A3);
-const RegList kAbiPreservedCpuRegs =
-    (1 << S0) | (1 << S1) | (1 << S2) | (1 << S3) |
-    (1 << S4) | (1 << S5) | (1 << S6) | (1 << S7);
+const RegList kAbiPreservedCpuRegs = (1 << S0) | (1 << S1) | (1 << S2) |
+                                     (1 << S3) | (1 << S4) | (1 << S5) |
+                                     (1 << S6) | (1 << S7);
 const int kAbiPreservedCpuRegCount = 8;
 
 // FPU registers 20 - 31 are preserved across calls.
@@ -221,19 +221,9 @@
 const int kAbiPreservedFpuRegCount = 12;
 
 const RegList kReservedCpuRegisters =
-    (1 << SPREG)   |
-    (1 << FPREG)   |
-    (1 << TMP)     |
-    (1 << PP)      |
-    (1 << THR)     |
-    (1 << CTX)     |
-    (1 << ZR)      |
-    (1 << CMPRES1) |
-    (1 << CMPRES2) |
-    (1 << K0)      |
-    (1 << K1)      |
-    (1 << GP)      |
-    (1 << RA);
+    (1 << SPREG) | (1 << FPREG) | (1 << TMP) | (1 << PP) | (1 << THR) |
+    (1 << CTX) | (1 << ZR) | (1 << CMPRES1) | (1 << CMPRES2) | (1 << K0) |
+    (1 << K1) | (1 << GP) | (1 << RA);
 // CPU registers available to Dart allocator.
 const RegList kDartAvailableCpuRegs =
     kAllCpuRegistersList & ~kReservedCpuRegisters;
@@ -254,14 +244,14 @@
 // code, type Condition (see assembler_mips.h) represents a pair of operands and
 // a relation operator between them.
 enum RelationOperator {
-  AL,  // always
-  NV,  // never
-  EQ,  // equal
-  NE,  // not equal
-  GT,  // greater than
-  GE,  // greater equal
-  LT,  // less than
-  LE,  // less equal
+  AL,   // always
+  NV,   // never
+  EQ,   // equal
+  NE,   // not equal
+  GT,   // greater than
+  GE,   // greater equal
+  LT,   // less than
+  LE,   // less equal
   UGT,  // unsigned greater than
   UGE,  // unsigned greater equal
   ULT,  // unsigned less than
@@ -479,8 +469,8 @@
   static const int32_t kNopInstruction = 0;
 
   // Reserved break instruction codes.
-  static const int32_t kBreakPointCode = 0xdeb0;  // For breakpoint.
-  static const int32_t kStopMessageCode = 0xdeb1;  // For Stop(message).
+  static const int32_t kBreakPointCode = 0xdeb0;      // For breakpoint.
+  static const int32_t kStopMessageCode = 0xdeb1;     // For Stop(message).
   static const int32_t kSimulatorBreakCode = 0xdeb2;  // For breakpoint in sim.
   static const int32_t kSimulatorRedirectCode = 0xca11;  // For redirection.
 
@@ -511,29 +501,24 @@
     *reinterpret_cast<int32_t*>(this) = value;
   }
 
-  inline void SetImmInstrBits(Opcode op, Register rs, Register rt,
+  inline void SetImmInstrBits(Opcode op,
+                              Register rs,
+                              Register rt,
                               uint16_t imm) {
-    SetInstructionBits(
-        op << kOpcodeShift |
-        rs << kRsShift |
-        rt << kRtShift |
-        imm << kImmShift);
+    SetInstructionBits(op << kOpcodeShift | rs << kRsShift | rt << kRtShift |
+                       imm << kImmShift);
   }
 
   inline void SetSpecialInstrBits(SpecialFunction f,
-                                  Register rs, Register rt, Register rd) {
-    SetInstructionBits(
-        SPECIAL << kOpcodeShift |
-        f << kFunctionShift |
-        rs << kRsShift |
-        rt << kRtShift |
-        rd << kRdShift);
+                                  Register rs,
+                                  Register rt,
+                                  Register rd) {
+    SetInstructionBits(SPECIAL << kOpcodeShift | f << kFunctionShift |
+                       rs << kRsShift | rt << kRtShift | rd << kRdShift);
   }
 
   // Read one particular bit out of the instruction bits.
-  inline int32_t Bit(int nr) const {
-    return (InstructionBits() >> nr) & 1;
-  }
+  inline int32_t Bit(int nr) const { return (InstructionBits() >> nr) & 1; }
 
   // Read a bit field out of the instruction bits.
   inline int32_t Bits(int shift, int count) const {
@@ -575,13 +560,9 @@
     return static_cast<FRegister>(Bits(kFdShift, kFdBits));
   }
 
-  inline int SaField() const {
-    return Bits(kSaShift, kSaBits);
-  }
+  inline int SaField() const { return Bits(kSaShift, kSaBits); }
 
-  inline int32_t UImmField() const {
-    return Bits(kImmShift, kImmBits);
-  }
+  inline int32_t UImmField() const { return Bits(kImmShift, kImmBits); }
 
   inline int32_t SImmField() const {
     // Sign-extend the imm field.
@@ -626,9 +607,7 @@
     return static_cast<Format>(Bits(kFmtShift, kFmtBits));
   }
 
-  inline int32_t FpuCCField() const {
-    return Bits(kFpuCCShift, kFpuCCBits);
-  }
+  inline int32_t FpuCCField() const { return Bits(kFpuCCShift, kFpuCCBits); }
 
   // Instructions are read out of a code stream. The only way to get a
   // reference to an instruction is to convert a pc. There is no way
@@ -637,17 +616,20 @@
   static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); }
 
 #if defined(DEBUG)
-  inline void AssertIsImmInstr(Opcode op, Register rs, Register rt,
-                              int32_t imm) {
+  inline void AssertIsImmInstr(Opcode op,
+                               Register rs,
+                               Register rt,
+                               int32_t imm) {
     ASSERT((OpcodeField() == op) && (RsField() == rs) && (RtField() == rt) &&
            (SImmField() == imm));
   }
 
-  inline void AssertIsSpecialInstr(SpecialFunction f, Register rs, Register rt,
+  inline void AssertIsSpecialInstr(SpecialFunction f,
+                                   Register rs,
+                                   Register rt,
                                    Register rd) {
     ASSERT((OpcodeField() == SPECIAL) && (FunctionField() == f) &&
-           (RsField() == rs) && (RtField() == rt) &&
-           (RdField() == rd));
+           (RsField() == rs) && (RtField() == rt) && (RdField() == rd));
   }
 #endif  // defined(DEBUG)
 
diff --git a/runtime/vm/constants_x64.h b/runtime/vm/constants_x64.h
index a40dd03..3c24e0b 100644
--- a/runtime/vm/constants_x64.h
+++ b/runtime/vm/constants_x64.h
@@ -16,8 +16,8 @@
   RBP = 5,
   RSI = 6,
   RDI = 7,
-  R8  = 8,
-  R9  = 9,
+  R8 = 8,
+  R9 = 9,
   R10 = 10,
   R11 = 11,
   R12 = 12,
@@ -72,11 +72,11 @@
 
 
 enum RexBits {
-  REX_NONE   = 0,
-  REX_B      = 1 << 0,
-  REX_X      = 1 << 1,
-  REX_R      = 1 << 2,
-  REX_W      = 1 << 3,
+  REX_NONE = 0,
+  REX_B = 1 << 0,
+  REX_X = 1 << 1,
+  REX_R = 1 << 2,
+  REX_W = 1 << 3,
   REX_PREFIX = 1 << 6
 };
 
@@ -87,9 +87,9 @@
 const Register CTX = R12;  // Location of current context at method entry.
 // Caches object pool pointer in generated code.
 const Register PP = R15;
-const Register SPREG = RSP;  // Stack pointer register.
-const Register FPREG = RBP;  // Frame pointer register.
-const Register ICREG = RBX;  // IC data register.
+const Register SPREG = RSP;          // Stack pointer register.
+const Register FPREG = RBP;          // Frame pointer register.
+const Register ICREG = RBX;          // IC data register.
 const Register ARGS_DESC_REG = R10;  // Arguments descriptor register.
 const Register CODE_REG = R12;
 const Register THR = R14;  // Caches current thread in generated code.
@@ -108,11 +108,7 @@
 const RegList kAllCpuRegistersList = 0xFFFF;
 
 const RegList kReservedCpuRegisters =
-    (1 << SPREG) |
-    (1 << FPREG) |
-    (1 << TMP)   |
-    (1 << PP)    |
-    (1 << THR);
+    (1 << SPREG) | (1 << FPREG) | (1 << TMP) | (1 << PP) | (1 << THR);
 // CPU registers available to Dart allocator.
 const RegList kDartAvailableCpuRegs =
     kAllCpuRegistersList & ~kReservedCpuRegisters;
@@ -129,29 +125,29 @@
 
 
 enum Condition {
-  OVERFLOW      =  0,
-  NO_OVERFLOW   =  1,
-  BELOW         =  2,
-  ABOVE_EQUAL   =  3,
-  EQUAL         =  4,
-  NOT_EQUAL     =  5,
-  BELOW_EQUAL   =  6,
-  ABOVE         =  7,
-  SIGN          =  8,
-  NOT_SIGN      =  9,
-  PARITY_EVEN   = 10,
-  PARITY_ODD    = 11,
-  LESS          = 12,
+  OVERFLOW = 0,
+  NO_OVERFLOW = 1,
+  BELOW = 2,
+  ABOVE_EQUAL = 3,
+  EQUAL = 4,
+  NOT_EQUAL = 5,
+  BELOW_EQUAL = 6,
+  ABOVE = 7,
+  SIGN = 8,
+  NOT_SIGN = 9,
+  PARITY_EVEN = 10,
+  PARITY_ODD = 11,
+  LESS = 12,
   GREATER_EQUAL = 13,
-  LESS_EQUAL    = 14,
-  GREATER       = 15,
+  LESS_EQUAL = 14,
+  GREATER = 15,
 
-  ZERO          = EQUAL,
-  NOT_ZERO      = NOT_EQUAL,
-  NEGATIVE      = SIGN,
-  POSITIVE      = NOT_SIGN,
-  CARRY         = BELOW,
-  NOT_CARRY     = ABOVE_EQUAL
+  ZERO = EQUAL,
+  NOT_ZERO = NOT_EQUAL,
+  NEGATIVE = SIGN,
+  POSITIVE = NOT_SIGN,
+  CARRY = BELOW,
+  NOT_CARRY = ABOVE_EQUAL
 };
 
 #define R(reg) (1 << (reg))
@@ -193,14 +189,14 @@
   static const Register kArg6Reg = R9;
   static const intptr_t kShadowSpaceBytes = 0;
 
-  static const intptr_t kVolatileCpuRegisters =
-      R(RAX) | R(RCX) | R(RDX) | R(RSI) | R(RDI) |
-      R(R8) | R(R9) | R(R10) | R(R11);
+  static const intptr_t kVolatileCpuRegisters = R(RAX) | R(RCX) | R(RDX) |
+                                                R(RSI) | R(RDI) | R(R8) |
+                                                R(R9) | R(R10) | R(R11);
 
   static const intptr_t kVolatileXmmRegisters =
-      R(XMM0) | R(XMM1) | R(XMM2) | R(XMM3) | R(XMM4) |
-      R(XMM5) | R(XMM6) | R(XMM7) | R(XMM8) | R(XMM9) |
-      R(XMM10) | R(XMM11) | R(XMM12) | R(XMM13) | R(XMM14) | R(XMM15);
+      R(XMM0) | R(XMM1) | R(XMM2) | R(XMM3) | R(XMM4) | R(XMM5) | R(XMM6) |
+      R(XMM7) | R(XMM8) | R(XMM9) | R(XMM10) | R(XMM11) | R(XMM12) | R(XMM13) |
+      R(XMM14) | R(XMM15);
 
   static const intptr_t kCalleeSaveCpuRegisters =
       R(RBX) | R(R12) | R(R13) | R(R14) | R(R15);
diff --git a/runtime/vm/cpu_arm.cc b/runtime/vm/cpu_arm.cc
index a0e31a9..c2b7e76 100644
--- a/runtime/vm/cpu_arm.cc
+++ b/runtime/vm/cpu_arm.cc
@@ -16,8 +16,8 @@
 #include "vm/simulator.h"
 
 #if !defined(USING_SIMULATOR)
-#include <sys/syscall.h>  /* NOLINT */
-#include <unistd.h>  /* NOLINT */
+#include <sys/syscall.h> /* NOLINT */
+#include <unistd.h>      /* NOLINT */
 #endif
 
 // ARM version differences.
@@ -61,17 +61,23 @@
 #if defined(TARGET_ARCH_ARM_5TE)
 DEFINE_FLAG(bool, use_vfp, false, "Use vfp instructions if supported");
 DEFINE_FLAG(bool, use_neon, false, "Use neon instructions if supported");
-DEFINE_FLAG(bool, use_integer_division, false,
+DEFINE_FLAG(bool,
+            use_integer_division,
+            false,
             "Use integer division instruction if supported");
 #elif defined(TARGET_ARCH_ARM_6)
 DEFINE_FLAG(bool, use_vfp, true, "Use vfp instructions if supported");
 DEFINE_FLAG(bool, use_neon, false, "Use neon instructions if supported");
-DEFINE_FLAG(bool, use_integer_division, false,
+DEFINE_FLAG(bool,
+            use_integer_division,
+            false,
             "Use integer division instruction if supported");
 #else
 DEFINE_FLAG(bool, use_vfp, true, "Use vfp instructions if supported");
 DEFINE_FLAG(bool, use_neon, true, "Use neon instructions if supported");
-DEFINE_FLAG(bool, use_integer_division, true,
+DEFINE_FLAG(bool,
+            use_integer_division,
+            true,
             "Use integer division instruction if supported");
 #endif
 
@@ -95,19 +101,19 @@
     return;
   }
 
-  // ARM recommends using the gcc intrinsic __clear_cache on Linux, and the
-  // library call cacheflush from unistd.h on Android:
-  // blogs.arm.com/software-enablement/141-caches-and-self-modifying-code/
-  #if defined(__linux__) && !defined(ANDROID)
-    extern void __clear_cache(char*, char*);
-    char* beg = reinterpret_cast<char*>(start);
-    char* end = reinterpret_cast<char*>(start + size);
-    ::__clear_cache(beg, end);
-  #elif defined(ANDROID)
-    cacheflush(start, start + size, 0);
-  #else
-    #error FlushICache only tested/supported on Linux and Android
-  #endif
+// ARM recommends using the gcc intrinsic __clear_cache on Linux, and the
+// library call cacheflush from unistd.h on Android:
+// blogs.arm.com/software-enablement/141-caches-and-self-modifying-code/
+#if defined(__linux__) && !defined(ANDROID)
+  extern void __clear_cache(char*, char*);
+  char* beg = reinterpret_cast<char*>(start);
+  char* end = reinterpret_cast<char*>(start + size);
+  ::__clear_cache(beg, end);
+#elif defined(ANDROID)
+  cacheflush(start, start + size, 0);
+#else
+#error FlushICache only tested/supported on Linux and Android
+#endif
 #endif
 }
 
@@ -115,9 +121,9 @@
 const char* CPU::Id() {
   return
 #if defined(USING_SIMULATOR)
-  "sim"
+      "sim"
 #endif  // defined(USING_SIMULATOR)
-  "arm";
+      "arm";
 }
 
 
@@ -203,8 +209,7 @@
   bool is_krait = CpuInfo::FieldContains(kCpuInfoHardware, "QCT APQ8064");
   bool is_armada_370xp =
       CpuInfo::FieldContains(kCpuInfoHardware, "Marvell Armada 370/XP");
-  bool is_pixel =
-      CpuInfo::FieldContains(kCpuInfoHardware, "MSM8996pro");
+  bool is_pixel = CpuInfo::FieldContains(kCpuInfoHardware, "MSM8996pro");
   if (is_krait) {
     integer_division_supported_ = FLAG_use_integer_division;
   } else if (is_armada_370xp || is_pixel) {
@@ -218,8 +223,8 @@
       (CpuInfo::FieldContains(kCpuInfoFeatures, "neon") || is_arm64) &&
       FLAG_use_vfp && FLAG_use_neon;
 
-  // Use the cross-compiler's predefined macros to determine whether we should
-  // use the hard or soft float ABI.
+// Use the cross-compiler's predefined macros to determine whether we should
+// use the hard or soft float ABI.
 #if defined(__ARM_PCS_VFP)
   hardfp_supported_ = true;
 #else
diff --git a/runtime/vm/cpu_arm.h b/runtime/vm/cpu_arm.h
index b0e43f7..8e7c4aad 100644
--- a/runtime/vm/cpu_arm.h
+++ b/runtime/vm/cpu_arm.h
@@ -25,7 +25,7 @@
   ARMvUnknown,
 };
 
-class HostCPUFeatures: public AllStatic {
+class HostCPUFeatures : public AllStatic {
  public:
   static void InitOnce();
   static void Cleanup();
@@ -92,36 +92,20 @@
 
 class TargetCPUFeatures : public AllStatic {
  public:
-  static void InitOnce() {
-    HostCPUFeatures::InitOnce();
-  }
-  static void Cleanup() {
-    HostCPUFeatures::Cleanup();
-  }
-  static bool double_truncate_round_supported() {
-    return false;
-  }
+  static void InitOnce() { HostCPUFeatures::InitOnce(); }
+  static void Cleanup() { HostCPUFeatures::Cleanup(); }
+  static bool double_truncate_round_supported() { return false; }
   static bool integer_division_supported() {
     return HostCPUFeatures::integer_division_supported();
   }
-  static bool vfp_supported() {
-    return HostCPUFeatures::vfp_supported();
-  }
+  static bool vfp_supported() { return HostCPUFeatures::vfp_supported(); }
   static bool can_divide() {
     return integer_division_supported() || vfp_supported();
   }
-  static bool neon_supported() {
-    return HostCPUFeatures::neon_supported();
-  }
-  static bool hardfp_supported() {
-    return HostCPUFeatures::hardfp_supported();
-  }
-  static const char* hardware() {
-    return HostCPUFeatures::hardware();
-  }
-  static ARMVersion arm_version() {
-    return HostCPUFeatures::arm_version();
-  }
+  static bool neon_supported() { return HostCPUFeatures::neon_supported(); }
+  static bool hardfp_supported() { return HostCPUFeatures::hardfp_supported(); }
+  static const char* hardware() { return HostCPUFeatures::hardware(); }
+  static ARMVersion arm_version() { return HostCPUFeatures::arm_version(); }
   static intptr_t store_pc_read_offset() {
     return HostCPUFeatures::store_pc_read_offset();
   }
diff --git a/runtime/vm/cpu_arm64.cc b/runtime/vm/cpu_arm64.cc
index e612cce..a5e3049 100644
--- a/runtime/vm/cpu_arm64.cc
+++ b/runtime/vm/cpu_arm64.cc
@@ -12,8 +12,8 @@
 #include "vm/simulator.h"
 
 #if !defined(USING_SIMULATOR)
-#include <sys/syscall.h>  /* NOLINT */
-#include <unistd.h>  /* NOLINT */
+#include <sys/syscall.h> /* NOLINT */
+#include <unistd.h>      /* NOLINT */
 #endif
 
 namespace dart {
@@ -30,18 +30,17 @@
     return;
   }
 
-  // ARM recommends using the gcc intrinsic __clear_cache on Linux and Android.
-  // blogs.arm.com/software-enablement/141-caches-and-self-modifying-code/
-  #if defined(TARGET_OS_ANDROID) || \
-      defined(TARGET_OS_FUCHSIA) || \
-      defined(TARGET_OS_LINUX)
-    extern void __clear_cache(char*, char*);
-    char* beg = reinterpret_cast<char*>(start);
-    char* end = reinterpret_cast<char*>(start + size);
-    ::__clear_cache(beg, end);
-  #else
-    #error FlushICache only tested/supported on Android, Fuchsia, and Linux
-  #endif
+// ARM recommends using the gcc intrinsic __clear_cache on Linux and Android.
+// blogs.arm.com/software-enablement/141-caches-and-self-modifying-code/
+#if defined(TARGET_OS_ANDROID) || defined(TARGET_OS_FUCHSIA) ||                \
+    defined(TARGET_OS_LINUX)
+  extern void __clear_cache(char*, char*);
+  char* beg = reinterpret_cast<char*>(start);
+  char* end = reinterpret_cast<char*>(start + size);
+  ::__clear_cache(beg, end);
+#else
+#error FlushICache only tested/supported on Android, Fuchsia, and Linux
+#endif
 
 #endif
 }
@@ -50,9 +49,9 @@
 const char* CPU::Id() {
   return
 #if defined(USING_SIMULATOR)
-  "sim"
+      "sim"
 #endif  // !defined(HOST_ARCH_ARM64)
-  "arm64";
+      "arm64";
 }
 
 
diff --git a/runtime/vm/cpu_arm64.h b/runtime/vm/cpu_arm64.h
index 89799ea..df920d3 100644
--- a/runtime/vm/cpu_arm64.h
+++ b/runtime/vm/cpu_arm64.h
@@ -18,7 +18,7 @@
 // additionally mock the options needed for the target architecture so that
 // they may be altered for testing.
 
-class HostCPUFeatures: public AllStatic {
+class HostCPUFeatures : public AllStatic {
  public:
   static void InitOnce();
   static void Cleanup();
@@ -36,18 +36,10 @@
 
 class TargetCPUFeatures : public AllStatic {
  public:
-  static void InitOnce() {
-    HostCPUFeatures::InitOnce();
-  }
-  static void Cleanup() {
-    HostCPUFeatures::Cleanup();
-  }
-  static const char* hardware() {
-    return HostCPUFeatures::hardware();
-  }
-  static bool double_truncate_round_supported() {
-    return false;
-  }
+  static void InitOnce() { HostCPUFeatures::InitOnce(); }
+  static void Cleanup() { HostCPUFeatures::Cleanup(); }
+  static const char* hardware() { return HostCPUFeatures::hardware(); }
+  static bool double_truncate_round_supported() { return false; }
 };
 
 }  // namespace dart
diff --git a/runtime/vm/cpu_dbc.h b/runtime/vm/cpu_dbc.h
index e42cc1c..a5cf4ee 100644
--- a/runtime/vm/cpu_dbc.h
+++ b/runtime/vm/cpu_dbc.h
@@ -10,7 +10,7 @@
 
 namespace dart {
 
-class HostCPUFeatures: public AllStatic {
+class HostCPUFeatures : public AllStatic {
  public:
   static void InitOnce();
   static void Cleanup();
@@ -29,20 +29,12 @@
 
 class TargetCPUFeatures : public AllStatic {
  public:
-  static void InitOnce() {
-    HostCPUFeatures::InitOnce();
-  }
-  static void Cleanup() {
-    HostCPUFeatures::Cleanup();
-  }
+  static void InitOnce() { HostCPUFeatures::InitOnce(); }
+  static void Cleanup() { HostCPUFeatures::Cleanup(); }
 
-  static const char* hardware() {
-    return CPU::Id();
-  }
+  static const char* hardware() { return CPU::Id(); }
 
-  static bool double_truncate_round_supported() {
-    return true;
-  }
+  static bool double_truncate_round_supported() { return true; }
 };
 
 }  // namespace dart
diff --git a/runtime/vm/cpu_ia32.cc b/runtime/vm/cpu_ia32.cc
index 441a8ad..a5f02c2 100644
--- a/runtime/vm/cpu_ia32.cc
+++ b/runtime/vm/cpu_ia32.cc
@@ -41,9 +41,8 @@
 
   hardware_ = CpuInfo::GetCpuModel();
   sse2_supported_ = CpuInfo::FieldContains(kCpuInfoFeatures, "sse2");
-  sse4_1_supported_ =
-      CpuInfo::FieldContains(kCpuInfoFeatures, "sse4_1") ||
-      CpuInfo::FieldContains(kCpuInfoFeatures, "sse4.1");
+  sse4_1_supported_ = CpuInfo::FieldContains(kCpuInfoFeatures, "sse4_1") ||
+                      CpuInfo::FieldContains(kCpuInfoFeatures, "sse4.1");
 
 #if defined(DEBUG)
   initialized_ = true;
diff --git a/runtime/vm/cpu_ia32.h b/runtime/vm/cpu_ia32.h
index 3c3d836..3c8d7af 100644
--- a/runtime/vm/cpu_ia32.h
+++ b/runtime/vm/cpu_ia32.h
@@ -42,24 +42,12 @@
 
 class TargetCPUFeatures : public AllStatic {
  public:
-  static void InitOnce() {
-    HostCPUFeatures::InitOnce();
-  }
-  static void Cleanup() {
-    HostCPUFeatures::Cleanup();
-  }
-  static const char* hardware() {
-    return HostCPUFeatures::hardware();
-  }
-  static bool sse2_supported() {
-    return HostCPUFeatures::sse2_supported();
-  }
-  static bool sse4_1_supported() {
-    return HostCPUFeatures::sse4_1_supported();
-  }
-  static bool double_truncate_round_supported() {
-    return sse4_1_supported();
-  }
+  static void InitOnce() { HostCPUFeatures::InitOnce(); }
+  static void Cleanup() { HostCPUFeatures::Cleanup(); }
+  static const char* hardware() { return HostCPUFeatures::hardware(); }
+  static bool sse2_supported() { return HostCPUFeatures::sse2_supported(); }
+  static bool sse4_1_supported() { return HostCPUFeatures::sse4_1_supported(); }
+  static bool double_truncate_round_supported() { return sse4_1_supported(); }
 };
 
 }  // namespace dart
diff --git a/runtime/vm/cpu_mips.cc b/runtime/vm/cpu_mips.cc
index f220706..902f59c 100644
--- a/runtime/vm/cpu_mips.cc
+++ b/runtime/vm/cpu_mips.cc
@@ -14,7 +14,7 @@
 #if !defined(USING_SIMULATOR)
 #include <asm/cachectl.h> /* NOLINT */
 #include <sys/syscall.h>  /* NOLINT */
-#include <unistd.h>  /* NOLINT */
+#include <unistd.h>       /* NOLINT */
 #endif
 
 namespace dart {
@@ -25,9 +25,9 @@
   // See http://www.linux-mips.org/wiki/Cacheflush_Syscall.
   res = syscall(__NR_cacheflush, start, size, ICACHE);
   ASSERT(res == 0);
-#else  // defined(HOST_ARCH_MIPS)
-  // When running in simulated mode we do not need to flush the ICache because
-  // we are not running on the actual hardware.
+#else   // defined(HOST_ARCH_MIPS)
+// When running in simulated mode we do not need to flush the ICache because
+// we are not running on the actual hardware.
 #endif  // defined(HOST_ARCH_MIPS)
 }
 
@@ -35,9 +35,9 @@
 const char* CPU::Id() {
   return
 #if defined(USING_SIMULATOR)
-  "sim"
+      "sim"
 #endif  // !defined(HOST_ARCH_MIPS)
-  "mips";
+      "mips";
 }
 
 
@@ -55,8 +55,8 @@
   // Has a floating point unit.
   ASSERT(CpuInfo::FieldContains(kCpuInfoModel, "FPU"));
 
-  // We want to know the ISA version, but on MIPS, CpuInfo can't tell us, so
-  // we use the same ISA version that Dart's C++ compiler targeted.
+// We want to know the ISA version, but on MIPS, CpuInfo can't tell us, so
+// we use the same ISA version that Dart's C++ compiler targeted.
 #if defined(_MIPS_ARCH_MIPS32R2)
   mips_version_ = MIPS32r2;
 #elif defined(_MIPS_ARCH_MIPS32)
diff --git a/runtime/vm/cpu_mips.h b/runtime/vm/cpu_mips.h
index b9dde4d..8af35b8 100644
--- a/runtime/vm/cpu_mips.h
+++ b/runtime/vm/cpu_mips.h
@@ -23,7 +23,7 @@
   MIPSvUnknown,
 };
 
-class HostCPUFeatures: public AllStatic {
+class HostCPUFeatures : public AllStatic {
  public:
   static void InitOnce();
   static void Cleanup();
@@ -46,21 +46,11 @@
 
 class TargetCPUFeatures : public AllStatic {
  public:
-  static void InitOnce() {
-    HostCPUFeatures::InitOnce();
-  }
-  static void Cleanup() {
-    HostCPUFeatures::Cleanup();
-  }
-  static const char* hardware() {
-    return HostCPUFeatures::hardware();
-  }
-  static bool double_truncate_round_supported() {
-    return false;
-  }
-  static MIPSVersion mips_version() {
-    return HostCPUFeatures::mips_version();
-  }
+  static void InitOnce() { HostCPUFeatures::InitOnce(); }
+  static void Cleanup() { HostCPUFeatures::Cleanup(); }
+  static const char* hardware() { return HostCPUFeatures::hardware(); }
+  static bool double_truncate_round_supported() { return false; }
+  static MIPSVersion mips_version() { return HostCPUFeatures::mips_version(); }
 };
 
 }  // namespace dart
diff --git a/runtime/vm/cpu_test.cc b/runtime/vm/cpu_test.cc
index 7ffbe6f..3b13c0f 100644
--- a/runtime/vm/cpu_test.cc
+++ b/runtime/vm/cpu_test.cc
@@ -17,19 +17,19 @@
 #elif defined(TARGET_ARCH_ARM)
 #if defined(HOST_ARCH_ARM)
   EXPECT_STREQ("arm", CPU::Id());
-#else  // defined(HOST_ARCH_ARM)
+#else   // defined(HOST_ARCH_ARM)
   EXPECT_STREQ("simarm", CPU::Id());
 #endif  // defined(HOST_ARCH_ARM)
 #elif defined(TARGET_ARCH_ARM64)
 #if defined(HOST_ARCH_ARM64)
   EXPECT_STREQ("arm64", CPU::Id());
-#else  // defined(HOST_ARCH_ARM64)
+#else   // defined(HOST_ARCH_ARM64)
   EXPECT_STREQ("simarm64", CPU::Id());
 #endif  // defined(HOST_ARCH_ARM64)
 #elif defined(TARGET_ARCH_MIPS)
 #if defined(HOST_ARCH_MIPS)
   EXPECT_STREQ("mips", CPU::Id());
-#else  // defined(HOST_ARCH_MIPS)
+#else   // defined(HOST_ARCH_MIPS)
   EXPECT_STREQ("simmips", CPU::Id());
 #endif  // defined(HOST_ARCH_MIPS)
 #elif defined(TARGET_ARCH_DBC)
diff --git a/runtime/vm/cpu_x64.cc b/runtime/vm/cpu_x64.cc
index 3ad20d7..72b3478 100644
--- a/runtime/vm/cpu_x64.cc
+++ b/runtime/vm/cpu_x64.cc
@@ -40,9 +40,8 @@
 void HostCPUFeatures::InitOnce() {
   CpuInfo::InitOnce();
   hardware_ = CpuInfo::GetCpuModel();
-  sse4_1_supported_ =
-      CpuInfo::FieldContains(kCpuInfoFeatures, "sse4_1") ||
-      CpuInfo::FieldContains(kCpuInfoFeatures, "sse4.1");
+  sse4_1_supported_ = CpuInfo::FieldContains(kCpuInfoFeatures, "sse4_1") ||
+                      CpuInfo::FieldContains(kCpuInfoFeatures, "sse4.1");
 
 #if defined(DEBUG)
   initialized_ = true;
diff --git a/runtime/vm/cpu_x64.h b/runtime/vm/cpu_x64.h
index c56ee64..3e70fce 100644
--- a/runtime/vm/cpu_x64.h
+++ b/runtime/vm/cpu_x64.h
@@ -42,24 +42,12 @@
 
 class TargetCPUFeatures : public AllStatic {
  public:
-  static void InitOnce() {
-    HostCPUFeatures::InitOnce();
-  }
-  static void Cleanup() {
-    HostCPUFeatures::Cleanup();
-  }
-  static const char* hardware() {
-    return HostCPUFeatures::hardware();
-  }
-  static bool sse2_supported() {
-    return HostCPUFeatures::sse2_supported();
-  }
-  static bool sse4_1_supported() {
-    return HostCPUFeatures::sse4_1_supported();
-  }
-  static bool double_truncate_round_supported() {
-    return false;
-  }
+  static void InitOnce() { HostCPUFeatures::InitOnce(); }
+  static void Cleanup() { HostCPUFeatures::Cleanup(); }
+  static const char* hardware() { return HostCPUFeatures::hardware(); }
+  static bool sse2_supported() { return HostCPUFeatures::sse2_supported(); }
+  static bool sse4_1_supported() { return HostCPUFeatures::sse4_1_supported(); }
+  static bool double_truncate_round_supported() { return false; }
 };
 
 }  // namespace dart
diff --git a/runtime/vm/cpuinfo_fuchsia.cc b/runtime/vm/cpuinfo_fuchsia.cc
index ad9e990..899223e 100644
--- a/runtime/vm/cpuinfo_fuchsia.cc
+++ b/runtime/vm/cpuinfo_fuchsia.cc
@@ -16,7 +16,7 @@
 const char* CpuInfo::fields_[kCpuInfoMax] = {0};
 
 void CpuInfo::InitOnce() {
-  // TODO(zra): Add support for HOST_ARCH_ARM64
+// TODO(zra): Add support for HOST_ARCH_ARM64
 #if defined(HOST_ARCH_IA32) || defined(HOST_ARCH_X64)
   method_ = kCpuInfoCpuId;
 
diff --git a/runtime/vm/cpuinfo_macos.cc b/runtime/vm/cpuinfo_macos.cc
index eef06d9..64e46f3 100644
--- a/runtime/vm/cpuinfo_macos.cc
+++ b/runtime/vm/cpuinfo_macos.cc
@@ -7,8 +7,8 @@
 
 #include "vm/cpuinfo.h"
 
-#include <errno.h>  // NOLINT
-#include <sys/types.h>  // NOLINT
+#include <errno.h>       // NOLINT
+#include <sys/types.h>   // NOLINT
 #include <sys/sysctl.h>  // NOLINT
 
 #include "platform/assert.h"
diff --git a/runtime/vm/custom_isolate_test.cc b/runtime/vm/custom_isolate_test.cc
index 1995ee6..cf4c8fa 100644
--- a/runtime/vm/custom_isolate_test.cc
+++ b/runtime/vm/custom_isolate_test.cc
@@ -99,9 +99,7 @@
 // A simple event queue for our test.
 class EventQueue {
  public:
-  EventQueue() {
-    head_ = NULL;
-  }
+  EventQueue() { head_ = NULL; }
 
   void Add(Event* event) {
     if (head_ == NULL) {
@@ -163,6 +161,7 @@
       : Event(isolate), main_(main) {}
 
   virtual void Process();
+
  private:
   const char* main_;
 };
@@ -193,8 +192,7 @@
  public:
   explicit MessageEvent(Dart_Isolate isolate) : Event(isolate) {}
 
-  ~MessageEvent() {
-  }
+  ~MessageEvent() {}
 
   virtual void Process();
 };
@@ -289,8 +287,8 @@
   // Reload all the test classes here.
   //
   // TODO(turnidge): Use the create isolate callback instead?
-  Dart_Handle lib = TestCase::LoadTestScript(kCustomIsolateScriptChars,
-                                             NativeLookup);
+  Dart_Handle lib =
+      TestCase::LoadTestScript(kCustomIsolateScriptChars, NativeLookup);
   EXPECT_VALID(lib);
 
   Dart_Handle main_send_port = Dart_GetField(lib, NewString("mainSendPort"));
@@ -333,8 +331,8 @@
   Dart_Handle result;
 
   // Create a test library.
-  Dart_Handle lib = TestCase::LoadTestScript(kCustomIsolateScriptChars,
-                                             NativeLookup);
+  Dart_Handle lib =
+      TestCase::LoadTestScript(kCustomIsolateScriptChars, NativeLookup);
   EXPECT_VALID(lib);
 
   // Run main.
diff --git a/runtime/vm/dart.cc b/runtime/vm/dart.cc
index 579691e..bf490bf 100644
--- a/runtime/vm/dart.cc
+++ b/runtime/vm/dart.cc
@@ -39,8 +39,7 @@
 
 DECLARE_FLAG(bool, print_class_table);
 DECLARE_FLAG(bool, trace_time_all);
-DEFINE_FLAG(bool, keep_code, false,
-            "Keep deoptimized code for profiling.");
+DEFINE_FLAG(bool, keep_code, false, "Keep deoptimized code for profiling.");
 DEFINE_FLAG(bool, trace_shutdown, false, "Trace VM shutdown on stderr");
 
 Isolate* Dart::vm_isolate_ = NULL;
@@ -71,7 +70,7 @@
 // have unintended consequences.
 class ReadOnlyHandles {
  public:
-  ReadOnlyHandles() { }
+  ReadOnlyHandles() {}
 
  private:
   VMHandles handles_;
@@ -86,7 +85,7 @@
 #define CHECK_OFFSET(expr, offset)                                             \
   if ((expr) != (offset)) {                                                    \
     FATAL2("%s == %" Pd, #expr, (expr));                                       \
-  }                                                                            \
+  }
 
 #if defined(TARGET_ARCH_ARM)
   // These offsets are embedded in precompiled instructions. We need simarm
@@ -148,8 +147,8 @@
   if (FLAG_support_timeline) {
     Timeline::InitOnce();
   }
-  NOT_IN_PRODUCT(TimelineDurationScope tds(Timeline::GetVMStream(),
-                                           "Dart::InitOnce"));
+  NOT_IN_PRODUCT(
+      TimelineDurationScope tds(Timeline::GetVMStream(), "Dart::InitOnce"));
   Isolate::InitOnce();
   PortMap::InitOnce();
   FreeListElement::InitOnce();
@@ -241,24 +240,23 @@
       } else {
         return strdup("Invalid vm isolate snapshot seen");
       }
-      VmIsolateSnapshotReader reader(snapshot->kind(),
-                                     snapshot->content(),
-                                     snapshot->length(),
-                                     instructions_snapshot,
-                                     data_snapshot,
-                                     T);
+      VmIsolateSnapshotReader reader(snapshot->kind(), snapshot->content(),
+                                     snapshot->length(), instructions_snapshot,
+                                     data_snapshot, T);
       const Error& error = Error::Handle(reader.ReadVmIsolateSnapshot());
       if (!error.IsNull()) {
         // Must copy before leaving the zone.
         return strdup(error.ToErrorCString());
       }
-      NOT_IN_PRODUCT(if (tds.enabled()) {
+#if !defined(PRODUCT)
+      if (tds.enabled()) {
         tds.SetNumArguments(2);
         tds.FormatArgument(0, "snapshotSize", "%" Pd, snapshot->length());
-        tds.FormatArgument(1, "heapSize", "%" Pd64,
-                           vm_isolate_->heap()->UsedInWords(Heap::kOld) *
-                           kWordSize);
-      });
+        tds.FormatArgument(
+            1, "heapSize", "%" Pd64,
+            vm_isolate_->heap()->UsedInWords(Heap::kOld) * kWordSize);
+      }
+#endif  // !defined(PRODUCT)
       if (FLAG_trace_isolates) {
         OS::Print("Size of vm isolate snapshot = %" Pd "\n",
                   snapshot->length());
@@ -355,8 +353,7 @@
   }
 
   if (FLAG_trace_shutdown) {
-    OS::PrintErr("[+%" Pd64 "ms] SHUTDOWN: Starting shutdown\n",
-                 timestamp());
+    OS::PrintErr("[+%" Pd64 "ms] SHUTDOWN: Starting shutdown\n", timestamp());
   }
 
   if (FLAG_profiler) {
@@ -463,8 +460,7 @@
   OSThread::SetCurrent(NULL);
   delete os_thread;
   if (FLAG_trace_shutdown) {
-    OS::PrintErr("[+%" Pd64 "ms] SHUTDOWN: Deleted os_thread\n",
-                 timestamp());
+    OS::PrintErr("[+%" Pd64 "ms] SHUTDOWN: Deleted os_thread\n", timestamp());
   }
 
   if (FLAG_trace_shutdown) {
@@ -499,19 +495,16 @@
   // Initialize the new isolate.
   Thread* T = Thread::Current();
   Isolate* I = T->isolate();
-  NOT_IN_PRODUCT(
-    TimelineDurationScope tds(T,
-                              Timeline::GetIsolateStream(),
-                              "InitializeIsolate");
-    tds.SetNumArguments(1);
-    tds.CopyArgument(0, "isolateName", I->name());
-  )
+  NOT_IN_PRODUCT(TimelineDurationScope tds(T, Timeline::GetIsolateStream(),
+                                           "InitializeIsolate");
+                 tds.SetNumArguments(1);
+                 tds.CopyArgument(0, "isolateName", I->name());)
   ASSERT(I != NULL);
   StackZone zone(T);
   HandleScope handle_scope(T);
   {
-    NOT_IN_PRODUCT(TimelineDurationScope tds(T,
-        Timeline::GetIsolateStream(), "ObjectStore::Init"));
+    NOT_IN_PRODUCT(TimelineDurationScope tds(T, Timeline::GetIsolateStream(),
+                                             "ObjectStore::Init"));
     ObjectStore::Init(I);
   }
 
@@ -521,44 +514,48 @@
   }
   if (snapshot_buffer != NULL) {
     // Read the snapshot and setup the initial state.
-    NOT_IN_PRODUCT(TimelineDurationScope tds(T,
-        Timeline::GetIsolateStream(), "IsolateSnapshotReader"));
+    NOT_IN_PRODUCT(TimelineDurationScope tds(T, Timeline::GetIsolateStream(),
+                                             "IsolateSnapshotReader"));
     // TODO(turnidge): Remove once length is not part of the snapshot.
     const Snapshot* snapshot = Snapshot::SetupFromBuffer(snapshot_buffer);
     if (snapshot == NULL) {
+      const String& message = String::Handle(String::New("Invalid snapshot"));
+      return ApiError::New(message);
+    }
+    if (snapshot->kind() != snapshot_kind_) {
       const String& message = String::Handle(
-          String::New("Invalid snapshot"));
+          String::NewFormatted("Invalid snapshot kind: got '%s', expected '%s'",
+                               Snapshot::KindToCString(snapshot->kind()),
+                               Snapshot::KindToCString(snapshot_kind_)));
       return ApiError::New(message);
     }
     ASSERT(Snapshot::IsFull(snapshot->kind()));
-    ASSERT(snapshot->kind() == snapshot_kind_);
     if (FLAG_trace_isolates) {
       OS::Print("Size of isolate snapshot = %" Pd "\n", snapshot->length());
     }
-    IsolateSnapshotReader reader(snapshot->kind(),
-                                 snapshot->content(),
-                                 snapshot->length(),
-                                 Dart::instructions_snapshot_buffer(),
-                                 Dart::data_snapshot_buffer(),
-                                 T);
+    IsolateSnapshotReader reader(
+        snapshot->kind(), snapshot->content(), snapshot->length(),
+        Dart::instructions_snapshot_buffer(), Dart::data_snapshot_buffer(), T);
     const Error& error = Error::Handle(reader.ReadFullSnapshot());
     if (!error.IsNull()) {
       return error.raw();
     }
-    NOT_IN_PRODUCT(if (tds.enabled()) {
+#if !defined(PRODUCT)
+    if (tds.enabled()) {
       tds.SetNumArguments(2);
       tds.FormatArgument(0, "snapshotSize", "%" Pd, snapshot->length());
       tds.FormatArgument(1, "heapSize", "%" Pd64,
                          I->heap()->UsedInWords(Heap::kOld) * kWordSize);
-    });
+    }
+#endif  // !defined(PRODUCT)
     if (FLAG_trace_isolates) {
       I->heap()->PrintSizes();
       MegamorphicCacheTable::PrintSizes(I);
     }
   } else {
     if (snapshot_kind_ != Snapshot::kNone) {
-      const String& message = String::Handle(
-          String::New("Missing isolate snapshot"));
+      const String& message =
+          String::Handle(String::New("Missing isolate snapshot"));
       return ApiError::New(message);
     }
   }
@@ -567,8 +564,8 @@
   DEBUG_ONLY(I->heap()->Verify(kForbidMarked));
 
   {
-    NOT_IN_PRODUCT(TimelineDurationScope tds(T,
-        Timeline::GetIsolateStream(), "StubCode::Init"));
+    NOT_IN_PRODUCT(TimelineDurationScope tds(T, Timeline::GetIsolateStream(),
+                                             "StubCode::Init"));
     StubCode::Init(I);
   }
 
@@ -602,8 +599,7 @@
   if (!ServiceIsolate::IsServiceIsolate(I)) {
     I->message_handler()->set_should_pause_on_start(
         FLAG_pause_isolates_on_start);
-    I->message_handler()->set_should_pause_on_exit(
-        FLAG_pause_isolates_on_exit);
+    I->message_handler()->set_should_pause_on_exit(FLAG_pause_isolates_on_exit);
   }
   ServiceIsolate::SendIsolateStartupMessage();
   if (FLAG_support_debugger) {
@@ -626,7 +622,7 @@
 const char* Dart::FeaturesString(Snapshot::Kind kind) {
   TextBuffer buffer(64);
 
-  // Different fields are included for DEBUG/RELEASE/PRODUCT.
+// Different fields are included for DEBUG/RELEASE/PRODUCT.
 #if defined(DEBUG)
   buffer.AddString("debug");
 #elif defined(PRODUCT)
@@ -641,7 +637,7 @@
     buffer.AddString(FLAG_enable_type_checks ? " type-checks"
                                              : " no-type-checks");
 
-    // Generated code must match the host architecture and ABI.
+// Generated code must match the host architecture and ABI.
 #if defined(TARGET_ARCH_ARM)
 #if defined(TARGET_ABI_IOS)
     buffer.AddString(" arm-ios");
diff --git a/runtime/vm/dart.h b/runtime/vm/dart.h
index f4e4386..df31995 100644
--- a/runtime/vm/dart.h
+++ b/runtime/vm/dart.h
@@ -21,19 +21,18 @@
 
 class Dart : public AllStatic {
  public:
-  static char* InitOnce(
-      const uint8_t* vm_isolate_snapshot,
-      const uint8_t* instructions_snapshot,
-      const uint8_t* data_snapshot,
-      Dart_IsolateCreateCallback create,
-      Dart_IsolateShutdownCallback shutdown,
-      Dart_ThreadExitCallback thread_exit,
-      Dart_FileOpenCallback file_open,
-      Dart_FileReadCallback file_read,
-      Dart_FileWriteCallback file_write,
-      Dart_FileCloseCallback file_close,
-      Dart_EntropySource entropy_source,
-      Dart_GetVMServiceAssetsArchive get_service_assets);
+  static char* InitOnce(const uint8_t* vm_isolate_snapshot,
+                        const uint8_t* instructions_snapshot,
+                        const uint8_t* data_snapshot,
+                        Dart_IsolateCreateCallback create,
+                        Dart_IsolateShutdownCallback shutdown,
+                        Dart_ThreadExitCallback thread_exit,
+                        Dart_FileOpenCallback file_open,
+                        Dart_FileReadCallback file_read,
+                        Dart_FileWriteCallback file_write,
+                        Dart_FileCloseCallback file_close,
+                        Dart_EntropySource entropy_source,
+                        Dart_GetVMServiceAssetsArchive get_service_assets);
   static const char* Cleanup();
 
   static Isolate* CreateIsolate(const char* name_prefix,
@@ -63,18 +62,14 @@
 
   static const char* FeaturesString(Snapshot::Kind kind);
 
-  static Snapshot::Kind snapshot_kind() {
-    return snapshot_kind_;
-  }
+  static Snapshot::Kind snapshot_kind() { return snapshot_kind_; }
   static const uint8_t* instructions_snapshot_buffer() {
     return instructions_snapshot_buffer_;
   }
   static void set_instructions_snapshot_buffer(const uint8_t* buffer) {
     instructions_snapshot_buffer_ = buffer;
   }
-  static const uint8_t* data_snapshot_buffer() {
-    return data_snapshot_buffer_;
-  }
+  static const uint8_t* data_snapshot_buffer() { return data_snapshot_buffer_; }
   static void set_data_snapshot_buffer(const uint8_t* buffer) {
     data_snapshot_buffer_ = buffer;
   }
diff --git a/runtime/vm/dart_api_impl.cc b/runtime/vm/dart_api_impl.cc
index e1c2aca..0992611 100644
--- a/runtime/vm/dart_api_impl.cc
+++ b/runtime/vm/dart_api_impl.cc
@@ -60,12 +60,18 @@
 DECLARE_FLAG(bool, print_class_table);
 DECLARE_FLAG(bool, verify_handles);
 #if defined(DART_NO_SNAPSHOT)
-DEFINE_FLAG(bool, check_function_fingerprints, true,
+DEFINE_FLAG(bool,
+            check_function_fingerprints,
+            true,
             "Check function fingerprints");
 #endif  // defined(DART_NO_SNAPSHOT).
-DEFINE_FLAG(bool, verify_acquired_data, false,
+DEFINE_FLAG(bool,
+            verify_acquired_data,
+            false,
             "Verify correct API acquire/release of typed data.");
-DEFINE_FLAG(bool, support_externalizable_strings, false,
+DEFINE_FLAG(bool,
+            support_externalizable_strings,
+            false,
             "Support Dart_MakeExternalString.");
 
 
@@ -86,17 +92,19 @@
 
 #ifndef PRODUCT
 #define API_TIMELINE_DURATION                                                  \
-  TimelineDurationScope tds(Thread::Current(),                                 \
-                            Timeline::GetAPIStream(),                          \
+  TimelineDurationScope tds(Thread::Current(), Timeline::GetAPIStream(),       \
                             CURRENT_FUNC)
 
 #define API_TIMELINE_BEGIN_END                                                 \
-  TimelineBeginEndScope tbes(Thread::Current(),                                \
-                             Timeline::GetAPIStream(),                         \
+  TimelineBeginEndScope tbes(Thread::Current(), Timeline::GetAPIStream(),      \
                              CURRENT_FUNC)
 #else
-#define API_TIMELINE_DURATION do { } while (false)
-#define API_TIMELINE_BEGIN_END do { } while (false)
+#define API_TIMELINE_DURATION                                                  \
+  do {                                                                         \
+  } while (false)
+#define API_TIMELINE_BEGIN_END                                                 \
+  do {                                                                         \
+  } while (false)
 #endif  // !PRODUCT
 
 #if defined(DEBUG)
@@ -105,36 +113,27 @@
 // or not. An assertion is raised if a type is not canonicalized.
 class FunctionVisitor : public ObjectVisitor {
  public:
-  explicit FunctionVisitor(Thread* thread) :
-      classHandle_(Class::Handle(thread->zone())),
-      funcHandle_(Function::Handle(thread->zone())),
-      typeHandle_(AbstractType::Handle(thread->zone())) {}
+  explicit FunctionVisitor(Thread* thread)
+      : classHandle_(Class::Handle(thread->zone())),
+        funcHandle_(Function::Handle(thread->zone())),
+        typeHandle_(AbstractType::Handle(thread->zone())) {}
 
   void VisitObject(RawObject* obj) {
     if (obj->IsFunction()) {
       funcHandle_ ^= obj;
-      if (funcHandle_.IsSignatureFunction()) {
-        // TODO(27606): Remove signature function case.
-        return;
-      }
-
       classHandle_ ^= funcHandle_.Owner();
       // Verify that the result type of a function is canonical or a
       // TypeParameter.
       typeHandle_ ^= funcHandle_.result_type();
-      ASSERT(typeHandle_.IsMalformed() ||
-             !typeHandle_.IsResolved() ||
-             typeHandle_.IsTypeParameter() ||
-             typeHandle_.IsCanonical());
+      ASSERT(typeHandle_.IsMalformed() || !typeHandle_.IsResolved() ||
+             typeHandle_.IsTypeParameter() || typeHandle_.IsCanonical());
       // Verify that the types in the function signature are all canonical or
       // a TypeParameter.
       const intptr_t num_parameters = funcHandle_.NumParameters();
       for (intptr_t i = 0; i < num_parameters; i++) {
         typeHandle_ = funcHandle_.ParameterTypeAt(i);
-        ASSERT(typeHandle_.IsMalformed() ||
-               !typeHandle_.IsResolved() ||
-               typeHandle_.IsTypeParameter() ||
-               typeHandle_.IsCanonical());
+        ASSERT(typeHandle_.IsMalformed() || !typeHandle_.IsResolved() ||
+               typeHandle_.IsTypeParameter() || typeHandle_.IsCanonical());
       }
     }
   }
@@ -156,12 +155,9 @@
     const Instance& instance = Instance::Cast(obj);
     const Class& obj_class = Class::Handle(zone, obj.clazz());
     Error& malformed_type_error = Error::Handle(zone);
-    if (obj_class.IsSubtypeOf(Object::null_type_arguments(),
-                              list_class,
+    if (obj_class.IsSubtypeOf(Object::null_type_arguments(), list_class,
                               Object::null_type_arguments(),
-                              &malformed_type_error,
-                              NULL,
-                              Heap::kNew)) {
+                              &malformed_type_error, NULL, Heap::kNew)) {
       ASSERT(malformed_type_error.IsNull());  // Type is a raw List.
       return instance.raw();
     }
@@ -178,12 +174,9 @@
     const Instance& instance = Instance::Cast(obj);
     const Class& obj_class = Class::Handle(zone, obj.clazz());
     Error& malformed_type_error = Error::Handle(zone);
-    if (obj_class.IsSubtypeOf(Object::null_type_arguments(),
-                              map_class,
+    if (obj_class.IsSubtypeOf(Object::null_type_arguments(), map_class,
                               Object::null_type_arguments(),
-                              &malformed_type_error,
-                              NULL,
-                              Heap::kNew)) {
+                              &malformed_type_error, NULL, Heap::kNew)) {
       ASSERT(malformed_type_error.IsNull());  // Type is a raw Map.
       return instance.raw();
     }
@@ -312,9 +305,7 @@
                                              intptr_t* field_values,
                                              const char* current_func) {
   ASSERT(field_values != NULL);
-  if (Api::GetNativeFieldsOfArgument(arguments,
-                                     arg_index,
-                                     num_fields,
+  if (Api::GetNativeFieldsOfArgument(arguments, arg_index, num_fields,
                                      field_values)) {
     return Api::Success();
   }
@@ -330,15 +321,16 @@
   // We did not succeed in extracting the native fields report the
   // appropriate error.
   if (!obj.IsInstance()) {
-    return Api::NewError("%s expects argument at index '%d' to be of"
-                         " type Instance.", current_func, arg_index);
+    return Api::NewError(
+        "%s expects argument at index '%d' to be of"
+        " type Instance.",
+        current_func, arg_index);
   }
   const Instance& instance = Instance::Cast(obj);
   int field_count = instance.NumNativeFields();
   ASSERT(num_fields != field_count);
-  return Api::NewError(
-      "%s: expected %d 'num_fields' but was passed in %d.",
-      current_func, field_count, num_fields);
+  return Api::NewError("%s: expected %d 'num_fields' but was passed in %d.",
+                       current_func, field_count, num_fields);
 }
 
 
@@ -354,13 +346,12 @@
 }
 
 
-static RawObject* Send0Arg(const Instance& receiver,
-                           const String& selector) {
+static RawObject* Send0Arg(const Instance& receiver, const String& selector) {
   const intptr_t kNumArgs = 1;
   ArgumentsDescriptor args_desc(
       Array::Handle(ArgumentsDescriptor::New(kNumArgs)));
-  const Function& function = Function::Handle(
-      Resolver::ResolveDynamic(receiver, selector, args_desc));
+  const Function& function =
+      Function::Handle(Resolver::ResolveDynamic(receiver, selector, args_desc));
   if (function.IsNull()) {
     return ApiError::New(String::Handle(String::New("")));
   }
@@ -376,8 +367,8 @@
   const intptr_t kNumArgs = 2;
   ArgumentsDescriptor args_desc(
       Array::Handle(ArgumentsDescriptor::New(kNumArgs)));
-  const Function& function = Function::Handle(
-      Resolver::ResolveDynamic(receiver, selector, args_desc));
+  const Function& function =
+      Function::Handle(Resolver::ResolveDynamic(receiver, selector, args_desc));
   if (function.IsNull()) {
     return ApiError::New(String::Handle(String::New("")));
   }
@@ -436,25 +427,22 @@
   Thread* thread = Thread::Current();
   ASSERT(thread->IsMutatorThread());
   ASSERT(thread->isolate() != NULL);
-  ASSERT(!FLAG_verify_handles ||
-         thread->IsValidLocalHandle(object) ||
+  ASSERT(!FLAG_verify_handles || thread->IsValidLocalHandle(object) ||
          Dart::IsReadOnlyApiHandle(object));
   ASSERT(FinalizablePersistentHandle::raw_offset() == 0 &&
-         PersistentHandle::raw_offset() == 0 &&
-         LocalHandle::raw_offset() == 0);
+         PersistentHandle::raw_offset() == 0 && LocalHandle::raw_offset() == 0);
 #endif
   return (reinterpret_cast<LocalHandle*>(object))->raw();
 }
 
 
 #define DEFINE_UNWRAP(type)                                                    \
-  const type& Api::Unwrap##type##Handle(Zone* zone,                            \
-                                        Dart_Handle dart_handle) {             \
+  const type& Api::Unwrap##type##Handle(Zone* zone, Dart_Handle dart_handle) { \
     const Object& obj = Object::Handle(zone, Api::UnwrapHandle(dart_handle));  \
     if (obj.Is##type()) {                                                      \
       return type::Cast(obj);                                                  \
     }                                                                          \
-    return type::Handle(zone  );                                               \
+    return type::Handle(zone);                                                 \
   }
 CLASS_LIST_FOR_HANDLES(DEFINE_UNWRAP)
 #undef DEFINE_UNWRAP
@@ -472,7 +460,8 @@
 
 
 const Instance& Api::UnwrapInstanceHandle(
-    const ReusableObjectHandleScope& reuse, Dart_Handle dart_handle) {
+    const ReusableObjectHandleScope& reuse,
+    Dart_Handle dart_handle) {
   Object& ref = reuse.Handle();
   ref = Api::UnwrapHandle(dart_handle);
   if (ref.IsInstance()) {
@@ -646,15 +635,15 @@
   NoSafepointScope no_safepoint_scope;
   RawObject* raw_obj = arguments->NativeArgAt(arg_index);
   if (raw_obj->IsHeapObject()) {
-      intptr_t cid = raw_obj->GetClassId();
-      if (cid == kBoolCid) {
-        *value = (raw_obj == Object::bool_true().raw());
-        return true;
-      }
-      if (cid == kNullCid) {
-        *value = false;
-        return true;
-      }
+    intptr_t cid = raw_obj->GetClassId();
+    if (cid == kBoolCid) {
+      *value = (raw_obj == Object::bool_true().raw());
+      return true;
+    }
+    if (cid == kNullCid) {
+      *value = false;
+      return true;
+    }
   }
   return false;
 }
@@ -717,8 +706,7 @@
       } else if (num_fields == Smi::Value(native_fields->ptr()->length_)) {
         intptr_t* native_values =
             bit_cast<intptr_t*, uint8_t*>(native_fields->ptr()->data());
-        memmove(field_values,
-                native_values,
+        memmove(field_values, native_values,
                 (num_fields * sizeof(field_values[0])));
       }
       return true;
@@ -751,7 +739,8 @@
 
 
 void FinalizablePersistentHandle::Finalize(
-    Isolate* isolate, FinalizablePersistentHandle* handle) {
+    Isolate* isolate,
+    FinalizablePersistentHandle* handle) {
   if (!handle->raw()->IsHeapObject()) {
     return;  // Free handle.
   }
@@ -884,8 +873,7 @@
 DART_EXPORT Dart_Handle Dart_PropagateError(Dart_Handle handle) {
   Thread* thread = Thread::Current();
   TransitionNativeToVM transition(thread);
-  const Object& obj = Object::Handle(thread->zone(),
-                                     Api::UnwrapHandle(handle));
+  const Object& obj = Object::Handle(thread->zone(), Api::UnwrapHandle(handle));
   if (!obj.IsError()) {
     return Api::NewError(
         "%s expects argument 'handle' to be an error handle.  "
@@ -921,8 +909,8 @@
                                          int line,
                                          const char* handle,
                                          const char* message) {
-  fprintf(stderr, "%s:%d: error handle: '%s':\n    '%s'\n",
-          file, line, handle, message);
+  fprintf(stderr, "%s:%d: error handle: '%s':\n    '%s'\n", file, line, handle,
+          message);
   OS::Abort();
 }
 
@@ -970,8 +958,8 @@
   }
 
   const Library& libcore = Library::Handle(Z, Library::CoreLibrary());
-  const String& function_name = String::Handle(Z,
-                                               String::New("identityHashCode"));
+  const String& function_name =
+      String::Handle(Z, String::New("identityHashCode"));
   const Function& function =
       Function::Handle(Z, libcore.LookupFunctionAllowPrivate(function_name));
   if (function.IsNull()) {
@@ -1003,8 +991,8 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_HandleFromPersistent(
-    Dart_PersistentHandle object) {
+DART_EXPORT Dart_Handle
+Dart_HandleFromPersistent(Dart_PersistentHandle object) {
   Thread* thread = Thread::Current();
   Isolate* isolate = thread->isolate();
   CHECK_ISOLATE(isolate);
@@ -1016,8 +1004,8 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_HandleFromWeakPersistent(
-    Dart_WeakPersistentHandle object) {
+DART_EXPORT Dart_Handle
+Dart_HandleFromWeakPersistent(Dart_WeakPersistentHandle object) {
   Thread* thread = Thread::Current();
   Isolate* isolate = thread->isolate();
   CHECK_ISOLATE(isolate);
@@ -1068,31 +1056,25 @@
     return NULL;
   }
   FinalizablePersistentHandle* finalizable_ref =
-      FinalizablePersistentHandle::New(thread->isolate(),
-                                       ref,
-                                       peer,
-                                       callback,
+      FinalizablePersistentHandle::New(thread->isolate(), ref, peer, callback,
                                        external_allocation_size);
   return finalizable_ref->apiHandle();
 }
 
 
-DART_EXPORT Dart_WeakPersistentHandle Dart_NewWeakPersistentHandle(
-    Dart_Handle object,
-    void* peer,
-    intptr_t external_allocation_size,
-    Dart_WeakPersistentHandleFinalizer callback) {
+DART_EXPORT Dart_WeakPersistentHandle
+Dart_NewWeakPersistentHandle(Dart_Handle object,
+                             void* peer,
+                             intptr_t external_allocation_size,
+                             Dart_WeakPersistentHandleFinalizer callback) {
   Thread* thread = Thread::Current();
   CHECK_ISOLATE(thread->isolate());
   if (callback == NULL) {
     return NULL;
   }
   TransitionNativeToVM transition(thread);
-  return AllocateFinalizableHandle(thread,
-                                   object,
-                                   peer,
-                                   external_allocation_size,
-                                   callback);
+  return AllocateFinalizableHandle(thread, object, peer,
+                                   external_allocation_size, callback);
 }
 
 
@@ -1128,9 +1110,9 @@
 
 // --- Garbage Collection Callbacks --
 
-DART_EXPORT Dart_Handle Dart_SetGcCallbacks(
-    Dart_GcPrologueCallback prologue_callback,
-    Dart_GcEpilogueCallback epilogue_callback) {
+DART_EXPORT Dart_Handle
+Dart_SetGcCallbacks(Dart_GcPrologueCallback prologue_callback,
+                    Dart_GcEpilogueCallback epilogue_callback) {
   Thread* thread = Thread::Current();
   Isolate* isolate = thread->isolate();
   CHECK_ISOLATE(isolate);
@@ -1177,27 +1159,23 @@
 
 DART_EXPORT char* Dart_Initialize(Dart_InitializeParams* params) {
   if (params == NULL) {
-    return strdup("Dart_Initialize: "
-                  "Dart_InitializeParams is null.");
+    return strdup(
+        "Dart_Initialize: "
+        "Dart_InitializeParams is null.");
   }
 
   if (params->version != DART_INITIALIZE_PARAMS_CURRENT_VERSION) {
-    return strdup("Dart_Initialize: "
-                  "Invalid Dart_InitializeParams version.");
+    return strdup(
+        "Dart_Initialize: "
+        "Invalid Dart_InitializeParams version.");
   }
 
   return Dart::InitOnce(params->vm_isolate_snapshot,
-                        params->instructions_snapshot,
-                        params->data_snapshot,
-                        params->create,
-                        params->shutdown,
-                        params->thread_exit,
-                        params->file_open,
-                        params->file_read,
-                        params->file_write,
-                        params->file_close,
-                        params->entropy_source,
-                        params->get_service_assets);
+                        params->instructions_snapshot, params->data_snapshot,
+                        params->create, params->shutdown, params->thread_exit,
+                        params->file_open, params->file_read,
+                        params->file_write, params->file_close,
+                        params->entropy_source, params->get_service_assets);
 }
 
 
@@ -1223,8 +1201,7 @@
 
 // --- Isolates ---
 
-static char* BuildIsolateName(const char* script_uri,
-                              const char* main) {
+static char* BuildIsolateName(const char* script_uri, const char* main) {
   if (script_uri == NULL) {
     // Just use the main as the name.
     if (main == NULL) {
@@ -1291,11 +1268,11 @@
     const Error& error_obj =
         Error::Handle(Z, Dart::InitializeIsolate(snapshot, callback_data));
     if (error_obj.IsNull()) {
-  #if defined(DART_NO_SNAPSHOT) && !defined(PRODUCT)
+#if defined(DART_NO_SNAPSHOT) && !defined(PRODUCT)
       if (FLAG_check_function_fingerprints) {
         Library::CheckFunctionFingerprints();
       }
-  #endif  // defined(DART_NO_SNAPSHOT) && !defined(PRODUCT).
+#endif  // defined(DART_NO_SNAPSHOT) && !defined(PRODUCT).
       // We exit the API scope entered above.
       Dart_ExitScope();
       // A Thread structure has been associated to the thread, we do the
@@ -1371,9 +1348,10 @@
   // TODO(16615): Validate isolate parameter.
   Isolate* iso = reinterpret_cast<Isolate*>(isolate);
   if (!Thread::EnterIsolate(iso)) {
-    FATAL("Unable to Enter Isolate : "
-          "Multiple mutators entering an isolate / "
-          "Dart VM is shutting down");
+    FATAL(
+        "Unable to Enter Isolate : "
+        "Multiple mutators entering an isolate / "
+        "Dart VM is shutting down");
   }
   // A Thread structure has been associated to the thread, we do the
   // safepoint transition explicity here instead of using the
@@ -1486,10 +1464,9 @@
   }
   if (!::Dart_IsUnhandledExceptionError(error) && !::Dart_IsNull(error)) {
     FATAL1("%s expects the error to be an unhandled exception error or null.",
-            CURRENT_FUNC);
+           CURRENT_FUNC);
   }
-  isolate->SetStickyError(
-      Api::UnwrapErrorHandle(Z, error).raw());
+  isolate->SetStickyError(Api::UnwrapErrorHandle(Z, error).raw());
 }
 
 
@@ -1508,8 +1485,7 @@
   CHECK_ISOLATE(I);
   NoSafepointScope no_safepoint_scope;
   if (I->sticky_error() != Error::null()) {
-    Dart_Handle error =
-        Api::NewHandle(T, I->sticky_error());
+    Dart_Handle error = Api::NewHandle(T, I->sticky_error());
     return error;
   }
   return Dart_Null();
@@ -1533,16 +1509,17 @@
 static uint8_t* ApiReallocate(uint8_t* ptr,
                               intptr_t old_size,
                               intptr_t new_size) {
-  return Api::TopScope(Thread::Current())->zone()->Realloc<uint8_t>(
-      ptr, old_size, new_size);
+  return Api::TopScope(Thread::Current())
+      ->zone()
+      ->Realloc<uint8_t>(ptr, old_size, new_size);
 }
 
 
-DART_EXPORT Dart_Handle Dart_CreateSnapshot(
-    uint8_t** vm_isolate_snapshot_buffer,
-    intptr_t* vm_isolate_snapshot_size,
-    uint8_t** isolate_snapshot_buffer,
-    intptr_t* isolate_snapshot_size) {
+DART_EXPORT Dart_Handle
+Dart_CreateSnapshot(uint8_t** vm_isolate_snapshot_buffer,
+                    intptr_t* vm_isolate_snapshot_size,
+                    uint8_t** isolate_snapshot_buffer,
+                    intptr_t* isolate_snapshot_size) {
   DARTSCOPE(Thread::Current());
   API_TIMELINE_DURATION;
   Isolate* I = T->isolate();
@@ -1550,8 +1527,7 @@
     return Api::NewError(
         "Creating full snapshots requires --load_deferred_eagerly");
   }
-  if (vm_isolate_snapshot_buffer != NULL &&
-      vm_isolate_snapshot_size == NULL) {
+  if (vm_isolate_snapshot_buffer != NULL && vm_isolate_snapshot_size == NULL) {
     RETURN_NULL_ERROR(vm_isolate_snapshot_size);
   }
   if (isolate_snapshot_buffer == NULL) {
@@ -1573,10 +1549,8 @@
   I->heap()->IterateObjects(&check_canonical);
 #endif  // #if defined(DEBUG)
 
-  FullSnapshotWriter writer(Snapshot::kCore,
-                            vm_isolate_snapshot_buffer,
-                            isolate_snapshot_buffer,
-                            ApiReallocate,
+  FullSnapshotWriter writer(Snapshot::kCore, vm_isolate_snapshot_buffer,
+                            isolate_snapshot_buffer, ApiReallocate,
                             NULL /* instructions_writer */);
   writer.WriteFullSnapshot();
   *vm_isolate_snapshot_size = writer.VmIsolateSnapshotSize();
@@ -1638,7 +1612,7 @@
 
 DART_EXPORT void Dart_InterruptIsolate(Dart_Isolate isolate) {
   if (isolate == NULL) {
-    FATAL1("%s expects argument 'isolate' to be non-null.",  CURRENT_FUNC);
+    FATAL1("%s expects argument 'isolate' to be non-null.", CURRENT_FUNC);
   }
   // TODO(16615): Validate isolate parameter.
   TransitionNativeToVM transition(Thread::Current());
@@ -1651,7 +1625,7 @@
   CHECK_NO_ISOLATE(Isolate::Current());
   API_TIMELINE_DURATION;
   if (isolate == NULL) {
-    FATAL1("%s expects argument 'isolate' to be non-null.",  CURRENT_FUNC);
+    FATAL1("%s expects argument 'isolate' to be non-null.", CURRENT_FUNC);
   }
   // TODO(16615): Validate isolate parameter.
   Isolate* iso = reinterpret_cast<Isolate*>(isolate);
@@ -1715,17 +1689,15 @@
     RunLoopData data;
     data.monitor = &monitor;
     data.done = false;
-    I->message_handler()->Run(
-        Dart::thread_pool(),
-        NULL, RunLoopDone, reinterpret_cast<uword>(&data));
+    I->message_handler()->Run(Dart::thread_pool(), NULL, RunLoopDone,
+                              reinterpret_cast<uword>(&data));
     while (!data.done) {
       ml.Wait();
     }
   }
   ::Dart_EnterIsolate(Api::CastIsolate(I));
   if (I->sticky_error() != Object::null()) {
-    Dart_Handle error =
-        Api::NewHandle(Thread::Current(), I->sticky_error());
+    Dart_Handle error = Api::NewHandle(Thread::Current(), I->sticky_error());
     I->clear_sticky_error();
     return error;
   }
@@ -1817,8 +1789,8 @@
   // Smis and null can be sent without serialization.
   RawObject* raw_obj = Api::UnwrapHandle(handle);
   if (ApiObjectConverter::CanConvert(raw_obj)) {
-    return PortMap::PostMessage(new Message(
-        port_id, raw_obj, Message::kNormalPriority));
+    return PortMap::PostMessage(
+        new Message(port_id, raw_obj, Message::kNormalPriority));
   }
 
   const Object& object = Object::Handle(Z, raw_obj);
@@ -1826,8 +1798,8 @@
   MessageWriter writer(&data, &allocator, false);
   writer.WriteMessage(object);
   intptr_t len = writer.BytesWritten();
-  return PortMap::PostMessage(new Message(
-      port_id, data, len, Message::kNormalPriority));
+  return PortMap::PostMessage(
+      new Message(port_id, data, len, Message::kNormalPriority));
 }
 
 
@@ -1835,8 +1807,7 @@
   DARTSCOPE(Thread::Current());
   CHECK_CALLBACK_STATE(T);
   if (port_id == ILLEGAL_PORT) {
-    return Api::NewError("%s: illegal port_id %" Pd64 ".",
-                         CURRENT_FUNC,
+    return Api::NewError("%s: illegal port_id %" Pd64 ".", CURRENT_FUNC,
                          port_id);
   }
   return Api::NewHandle(T, SendPort::New(port_id));
@@ -1880,8 +1851,7 @@
                                   thread->top_exit_frame_info());
     ASSERT(new_scope != NULL);
   } else {
-    new_scope->Reinit(thread,
-                      thread->api_top_scope(),
+    new_scope->Reinit(thread, thread->api_top_scope(),
                       thread->top_exit_frame_info());
     thread->set_api_reusable_scope(NULL);
   }
@@ -1940,14 +1910,14 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_ObjectEquals(Dart_Handle obj1, Dart_Handle obj2,
+DART_EXPORT Dart_Handle Dart_ObjectEquals(Dart_Handle obj1,
+                                          Dart_Handle obj2,
                                           bool* value) {
   DARTSCOPE(Thread::Current());
   CHECK_CALLBACK_STATE(T);
   const Instance& expected =
       Instance::CheckedHandle(Z, Api::UnwrapHandle(obj1));
-  const Instance& actual =
-      Instance::CheckedHandle(Z, Api::UnwrapHandle(obj2));
+  const Instance& actual = Instance::CheckedHandle(Z, Api::UnwrapHandle(obj2));
   const Object& result =
       Object::Handle(Z, DartLibraryCalls::Equals(expected, actual));
   if (result.IsBool()) {
@@ -1990,8 +1960,7 @@
   }
   CHECK_CALLBACK_STATE(T);
   Error& malformed_type_error = Error::Handle(Z);
-  *value = instance.IsInstanceOf(type_obj,
-                                 Object::null_type_arguments(),
+  *value = instance.IsInstanceOf(type_obj, Object::null_type_arguments(),
                                  &malformed_type_error);
   ASSERT(malformed_type_error.IsNull());  // Type was created from a class.
   return Api::Success();
@@ -2115,12 +2084,9 @@
     ASSERT(!future_class.IsNull());
     const Class& obj_class = Class::Handle(Z, obj.clazz());
     Error& malformed_type_error = Error::Handle(Z);
-    bool is_future = obj_class.IsSubtypeOf(Object::null_type_arguments(),
-                                           future_class,
-                                           Object::null_type_arguments(),
-                                           &malformed_type_error,
-                                           NULL,
-                                           Heap::kNew);
+    bool is_future = obj_class.IsSubtypeOf(
+        Object::null_type_arguments(), future_class,
+        Object::null_type_arguments(), &malformed_type_error, NULL, Heap::kNew);
     ASSERT(malformed_type_error.IsNull());  // Type is a raw Future.
     return is_future;
   }
@@ -2312,8 +2278,8 @@
   }
   Zone* scope_zone = Api::TopScope(Thread::Current())->zone();
   if (int_obj.IsSmi() || int_obj.IsMint()) {
-    const Bigint& bigint = Bigint::Handle(Z,
-        Bigint::NewFromInt64(int_obj.AsInt64Value()));
+    const Bigint& bigint =
+        Bigint::Handle(Z, Bigint::NewFromInt64(int_obj.AsInt64Value()));
     *value = bigint.ToHexCString(scope_zone);
   } else {
     *value = Bigint::Cast(int_obj).ToHexCString(scope_zone);
@@ -2443,11 +2409,11 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_NewExternalLatin1String(
-    const uint8_t* latin1_array,
-    intptr_t length,
-    void* peer,
-    Dart_PeerFinalizer cback) {
+DART_EXPORT Dart_Handle
+Dart_NewExternalLatin1String(const uint8_t* latin1_array,
+                             intptr_t length,
+                             void* peer,
+                             Dart_PeerFinalizer cback) {
   API_TIMELINE_DURATION;
   DARTSCOPE(Thread::Current());
   if (latin1_array == NULL && length != 0) {
@@ -2455,11 +2421,9 @@
   }
   CHECK_LENGTH(length, String::kMaxElements);
   CHECK_CALLBACK_STATE(T);
-  return Api::NewHandle(T, String::NewExternal(latin1_array,
-                                               length,
-                                               peer,
-                                               cback,
-                                               SpaceForExternal(T, length)));
+  return Api::NewHandle(T,
+                        String::NewExternal(latin1_array, length, peer, cback,
+                                            SpaceForExternal(T, length)));
 }
 
 
@@ -2474,10 +2438,7 @@
   CHECK_LENGTH(length, String::kMaxElements);
   CHECK_CALLBACK_STATE(T);
   intptr_t bytes = length * sizeof(*utf16_array);
-  return Api::NewHandle(T, String::NewExternal(utf16_array,
-                                               length,
-                                               peer,
-                                               cback,
+  return Api::NewHandle(T, String::NewExternal(utf16_array, length, peer, cback,
                                                SpaceForExternal(T, bytes)));
 }
 
@@ -2603,8 +2564,9 @@
                                                 Dart_PeerFinalizer cback) {
   DARTSCOPE(Thread::Current());
   if (!FLAG_support_externalizable_strings) {
-    return Api::NewError("Dart_MakeExternalString with "
-                         "--support_externalizable_strings=false");
+    return Api::NewError(
+        "Dart_MakeExternalString with "
+        "--support_externalizable_strings=false");
   }
   const String& str_obj = Api::UnwrapStringHandle(Z, str);
   if (str_obj.IsExternal()) {
@@ -2618,10 +2580,11 @@
   }
   intptr_t str_size = (str_obj.Length() * str_obj.CharSize());
   if ((external_size < str_size) || (external_size > String::kMaxElements)) {
-    return Api::NewError("Dart_MakeExternalString "
-                         "expects argument external_size to be in the range"
-                         "[%" Pd "..%" Pd "].",
-                         str_size, String::kMaxElements);
+    return Api::NewError(
+        "Dart_MakeExternalString "
+        "expects argument external_size to be in the range"
+        "[%" Pd "..%" Pd "].",
+        str_size, String::kMaxElements);
   }
   if (str_obj.InVMHeap()) {
     // Since the string object is read only we do not externalize
@@ -2648,8 +2611,8 @@
     }
     return str;
   }
-  return Api::NewHandle(T, str_obj.MakeExternal(array, external_size,
-                                                peer, cback));
+  return Api::NewHandle(
+      T, str_obj.MakeExternal(array, external_size, peer, cback));
 }
 
 
@@ -2691,7 +2654,7 @@
   type& array = type::Handle(zone);                                            \
   array ^= obj.raw();                                                          \
   *len = array.Length();                                                       \
-  return Api::Success();                                                       \
+  return Api::Success();
 
 
 DART_EXPORT Dart_Handle Dart_ListLength(Dart_Handle list, intptr_t* len) {
@@ -2733,7 +2696,7 @@
   const Array& args = Array::Handle(Z, Array::New(kNumArgs));
   args.SetAt(0, instance);  // Set up the receiver as the first argument.
   const Object& retval =
-    Object::Handle(Z, DartEntry::InvokeFunction(function, args));
+      Object::Handle(Z, DartEntry::InvokeFunction(function, args));
   if (retval.IsSmi()) {
     *len = Smi::Cast(retval).Value();
     return Api::Success();
@@ -2754,8 +2717,9 @@
         }
       }
     }
-    return Api::NewError("Length of List object is greater than the "
-                         "maximum value that 'len' parameter can hold");
+    return Api::NewError(
+        "Length of List object is greater than the "
+        "maximum value that 'len' parameter can hold");
   } else if (retval.IsError()) {
     return Api::NewHandle(T, retval.raw());
   } else {
@@ -2769,7 +2733,7 @@
   if ((index >= 0) && (index < array_obj.Length())) {                          \
     return Api::NewHandle(thread, array_obj.At(index));                        \
   }                                                                            \
-  return Api::NewError("Invalid index passed in to access list element");      \
+  return Api::NewError("Invalid index passed in to access list element");
 
 
 DART_EXPORT Dart_Handle Dart_ListGetAt(Dart_Handle list, intptr_t index) {
@@ -2786,10 +2750,9 @@
     // Check and handle a dart object that implements the List interface.
     const Instance& instance = Instance::Handle(Z, GetListInstance(Z, obj));
     if (!instance.IsNull()) {
-      return Api::NewHandle(T, Send1Arg(
-          instance,
-          Symbols::IndexToken(),
-          Instance::Handle(Z, Integer::New(index))));
+      return Api::NewHandle(T,
+                            Send1Arg(instance, Symbols::IndexToken(),
+                                     Instance::Handle(Z, Integer::New(index))));
     }
     return Api::NewError("Object does not implement the 'List' interface");
   }
@@ -2804,7 +2767,7 @@
     }                                                                          \
     return Api::Success();                                                     \
   }                                                                            \
-  return Api::NewError("Invalid offset/length passed in to access list");      \
+  return Api::NewError("Invalid offset/length passed in to access list");
 
 
 DART_EXPORT Dart_Handle Dart_ListGetRange(Dart_Handle list,
@@ -2830,10 +2793,9 @@
       const intptr_t kNumArgs = 2;
       ArgumentsDescriptor args_desc(
           Array::Handle(ArgumentsDescriptor::New(kNumArgs)));
-      const Function& function = Function::Handle(Z,
-          Resolver::ResolveDynamic(instance,
-                                   Symbols::AssignIndexToken(),
-                                   args_desc));
+      const Function& function = Function::Handle(
+          Z, Resolver::ResolveDynamic(instance, Symbols::AssignIndexToken(),
+                                      args_desc));
       if (!function.IsNull()) {
         const Array& args = Array::Handle(Array::New(kNumArgs));
         args.SetAt(0, instance);
@@ -2841,10 +2803,9 @@
         for (intptr_t i = 0; i < length; ++i) {
           index = Integer::New(i);
           args.SetAt(1, index);
-          Dart_Handle value = Api::NewHandle(
-              T, DartEntry::InvokeFunction(function, args));
-          if (::Dart_IsError(value))
-            return value;
+          Dart_Handle value =
+              Api::NewHandle(T, DartEntry::InvokeFunction(function, args));
+          if (::Dart_IsError(value)) return value;
           result[i] = value;
         }
         return Api::Success();
@@ -2865,7 +2826,7 @@
     array.SetAt(index, value_obj);                                             \
     return Api::Success();                                                     \
   }                                                                            \
-  return Api::NewError("Invalid index passed in to set list element");         \
+  return Api::NewError("Invalid index passed in to set list element");
 
 
 DART_EXPORT Dart_Handle Dart_ListSetAt(Dart_Handle list,
@@ -2890,10 +2851,9 @@
       const intptr_t kNumArgs = 3;
       ArgumentsDescriptor args_desc(
           Array::Handle(ArgumentsDescriptor::New(kNumArgs)));
-      const Function& function = Function::Handle(Z,
-          Resolver::ResolveDynamic(instance,
-                                   Symbols::AssignIndexToken(),
-                                   args_desc));
+      const Function& function = Function::Handle(
+          Z, Resolver::ResolveDynamic(instance, Symbols::AssignIndexToken(),
+                                      args_desc));
       if (!function.IsNull()) {
         const Integer& index_obj = Integer::Handle(Z, Integer::New(index));
         const Object& value_obj = Object::Handle(Z, Api::UnwrapHandle(value));
@@ -2904,8 +2864,7 @@
         args.SetAt(0, instance);
         args.SetAt(1, index_obj);
         args.SetAt(2, value_obj);
-        return Api::NewHandle(
-            T, DartEntry::InvokeFunction(function, args));
+        return Api::NewHandle(T, DartEntry::InvokeFunction(function, args));
       }
     }
     return Api::NewError("Object does not implement the 'List' interface");
@@ -2926,16 +2885,15 @@
   // Lookup the class ArgumentError in dart:core.
   const String& lib_url = String::Handle(String::New("dart:core"));
   const String& class_name = String::Handle(String::New("ArgumentError"));
-  const Library& lib = Library::Handle(zone,
-      Library::LookupLibrary(thread, lib_url));
+  const Library& lib =
+      Library::Handle(zone, Library::LookupLibrary(thread, lib_url));
   if (lib.IsNull()) {
-    const String& message = String::Handle(
-        String::NewFormatted("%s: library '%s' not found.",
-                             CURRENT_FUNC, lib_url.ToCString()));
+    const String& message = String::Handle(String::NewFormatted(
+        "%s: library '%s' not found.", CURRENT_FUNC, lib_url.ToCString()));
     return ApiError::New(message);
   }
-  const Class& cls = Class::Handle(
-      zone, lib.LookupClassAllowPrivate(class_name));
+  const Class& cls =
+      Class::Handle(zone, lib.LookupClassAllowPrivate(class_name));
   ASSERT(!cls.IsNull());
   Object& result = Object::Handle(zone);
   String& dot_name = String::Handle(String::New("."));
@@ -2964,7 +2922,7 @@
     // There are no dart frames on the stack so it would be illegal to
     // throw an exception here.
     const String& message = String::Handle(
-            String::New("No Dart frames on stack, cannot throw exception"));
+        String::New("No Dart frames on stack, cannot throw exception"));
     return ApiError::New(message);
   }
   // Unwind all the API scopes till the exit frame before throwing an
@@ -2977,8 +2935,8 @@
     saved_exception = &Instance::Handle(raw_exception);
   }
   Exceptions::Throw(thread, *saved_exception);
-  const String& message = String::Handle(
-          String::New("Exception was not thrown, internal error"));
+  const String& message =
+      String::Handle(String::New("Exception was not thrown, internal error"));
   return ApiError::New(message);
 }
 
@@ -2992,7 +2950,6 @@
       if (!element.IsInteger()) {                                              \
         return Api::NewHandle(                                                 \
             T, ThrowArgumentError("List contains non-int elements"));          \
-                                                                               \
       }                                                                        \
       const Integer& integer = Integer::Cast(element);                         \
       native_array[i] = static_cast<uint8_t>(integer.AsInt64Value() & 0xff);   \
@@ -3000,17 +2957,16 @@
     }                                                                          \
     return Api::Success();                                                     \
   }                                                                            \
-  return Api::NewError("Invalid length passed in to access array elements");   \
+  return Api::NewError("Invalid length passed in to access array elements");
 
-template<typename T>
+template <typename T>
 static Dart_Handle CopyBytes(const T& array,
                              intptr_t offset,
                              uint8_t* native_array,
                              intptr_t length) {
   ASSERT(array.ElementSizeInBytes() == 1);
   NoSafepointScope no_safepoint;
-  memmove(native_array,
-          reinterpret_cast<uint8_t*>(array.DataAddr(offset)),
+  memmove(native_array, reinterpret_cast<uint8_t*>(array.DataAddr(offset)),
           length);
   return Api::Success();
 }
@@ -3067,8 +3023,8 @@
     GET_LIST_ELEMENT_AS_BYTES(Array, obj, native_array, offset, length);
   }
   if (obj.IsGrowableObjectArray()) {
-    GET_LIST_ELEMENT_AS_BYTES(
-        GrowableObjectArray, obj, native_array, offset, length);
+    GET_LIST_ELEMENT_AS_BYTES(GrowableObjectArray, obj, native_array, offset,
+                              length);
   }
   if (obj.IsError()) {
     return list;
@@ -3076,13 +3032,13 @@
   CHECK_CALLBACK_STATE(T);
 
   // Check and handle a dart object that implements the List interface.
-  const Instance& instance =
-      Instance::Handle(Z, GetListInstance(Z, obj));
+  const Instance& instance = Instance::Handle(Z, GetListInstance(Z, obj));
   if (!instance.IsNull()) {
     const int kNumArgs = 2;
     ArgumentsDescriptor args_desc(
         Array::Handle(ArgumentsDescriptor::New(kNumArgs)));
-    const Function& function = Function::Handle(Z,
+    const Function& function = Function::Handle(
+        Z,
         Resolver::ResolveDynamic(instance, Symbols::IndexToken(), args_desc));
     if (!function.IsNull()) {
       Object& result = Object::Handle(Z);
@@ -3098,8 +3054,10 @@
           return Api::NewHandle(T, result.raw());
         }
         if (!result.IsInteger()) {
-          return Api::NewError("%s expects the argument 'list' to be "
-                               "a List of int", CURRENT_FUNC);
+          return Api::NewError(
+              "%s expects the argument 'list' to be "
+              "a List of int",
+              CURRENT_FUNC);
         }
         const Integer& integer_result = Integer::Cast(result);
         ASSERT(integer_result.AsInt64Value() <= 0xff);
@@ -3125,7 +3083,7 @@
     }                                                                          \
     return Api::Success();                                                     \
   }                                                                            \
-  return Api::NewError("Invalid length passed in to set array elements");      \
+  return Api::NewError("Invalid length passed in to set array elements");
 
 
 DART_EXPORT Dart_Handle Dart_ListSetAsBytes(Dart_Handle list,
@@ -3140,8 +3098,7 @@
       if (Utils::RangeCheck(offset, length, array.Length())) {
         NoSafepointScope no_safepoint;
         memmove(reinterpret_cast<uint8_t*>(array.DataAddr(offset)),
-                native_array,
-                length);
+                native_array, length);
         return Api::Success();
       }
       return Api::NewError("Invalid length passed in to access list elements");
@@ -3153,8 +3110,8 @@
     SET_LIST_ELEMENT_AS_BYTES(Array, obj, native_array, offset, length);
   }
   if (obj.IsGrowableObjectArray()) {
-    SET_LIST_ELEMENT_AS_BYTES(
-        GrowableObjectArray, obj, native_array, offset, length);
+    SET_LIST_ELEMENT_AS_BYTES(GrowableObjectArray, obj, native_array, offset,
+                              length);
   }
   if (obj.IsError()) {
     return list;
@@ -3167,10 +3124,9 @@
     const int kNumArgs = 3;
     ArgumentsDescriptor args_desc(
         Array::Handle(ArgumentsDescriptor::New(kNumArgs)));
-    const Function& function = Function::Handle(Z,
-        Resolver::ResolveDynamic(instance,
-                                 Symbols::AssignIndexToken(),
-                                 args_desc));
+    const Function& function = Function::Handle(
+        Z, Resolver::ResolveDynamic(instance, Symbols::AssignIndexToken(),
+                                    args_desc));
     if (!function.IsNull()) {
       Integer& indexobj = Integer::Handle(Z);
       Integer& valueobj = Integer::Handle(Z);
@@ -3181,8 +3137,8 @@
         valueobj = Integer::New(native_array[i]);
         args.SetAt(1, indexobj);
         args.SetAt(2, valueobj);
-        const Object& result = Object::Handle(Z,
-            DartEntry::InvokeFunction(function, args));
+        const Object& result =
+            Object::Handle(Z, DartEntry::InvokeFunction(function, args));
         if (result.IsError()) {
           return Api::NewHandle(T, result.raw());
         }
@@ -3223,10 +3179,9 @@
     if (!(key_obj.IsInstance() || key_obj.IsNull())) {
       return Api::NewError("Key is not an instance");
     }
-    return Api::NewHandle(T, Send1Arg(
-       instance,
-       String::Handle(Z, String::New("containsKey")),
-       Instance::Cast(key_obj)));
+    return Api::NewHandle(
+        T, Send1Arg(instance, String::Handle(Z, String::New("containsKey")),
+                    Instance::Cast(key_obj)));
   }
   return Api::NewError("Object does not implement the 'Map' interface");
 }
@@ -3238,14 +3193,13 @@
   Object& obj = Object::Handle(Z, Api::UnwrapHandle(map));
   Instance& instance = Instance::Handle(Z, GetMapInstance(Z, obj));
   if (!instance.IsNull()) {
-    const Object& iterator = Object::Handle(Send0Arg(
-        instance, String::Handle(Z, String::New("get:keys"))));
+    const Object& iterator = Object::Handle(
+        Send0Arg(instance, String::Handle(Z, String::New("get:keys"))));
     if (!iterator.IsInstance()) {
       return Api::NewHandle(T, iterator.raw());
     }
-    return Api::NewHandle(T, Send0Arg(
-        Instance::Cast(iterator),
-        String::Handle(String::New("toList"))));
+    return Api::NewHandle(T, Send0Arg(Instance::Cast(iterator),
+                                      String::Handle(String::New("toList"))));
   }
   return Api::NewError("Object does not implement the 'Map' interface");
 }
@@ -3257,67 +3211,67 @@
 static Dart_TypedData_Type GetType(intptr_t class_id) {
   Dart_TypedData_Type type;
   switch (class_id) {
-    case kByteDataViewCid :
+    case kByteDataViewCid:
       type = Dart_TypedData_kByteData;
       break;
-    case kTypedDataInt8ArrayCid :
-    case kTypedDataInt8ArrayViewCid :
-    case kExternalTypedDataInt8ArrayCid :
+    case kTypedDataInt8ArrayCid:
+    case kTypedDataInt8ArrayViewCid:
+    case kExternalTypedDataInt8ArrayCid:
       type = Dart_TypedData_kInt8;
       break;
-    case kTypedDataUint8ArrayCid :
-    case kTypedDataUint8ArrayViewCid :
-    case kExternalTypedDataUint8ArrayCid :
+    case kTypedDataUint8ArrayCid:
+    case kTypedDataUint8ArrayViewCid:
+    case kExternalTypedDataUint8ArrayCid:
       type = Dart_TypedData_kUint8;
       break;
-    case kTypedDataUint8ClampedArrayCid :
-    case kTypedDataUint8ClampedArrayViewCid :
-    case kExternalTypedDataUint8ClampedArrayCid :
+    case kTypedDataUint8ClampedArrayCid:
+    case kTypedDataUint8ClampedArrayViewCid:
+    case kExternalTypedDataUint8ClampedArrayCid:
       type = Dart_TypedData_kUint8Clamped;
       break;
-    case kTypedDataInt16ArrayCid :
-    case kTypedDataInt16ArrayViewCid :
-    case kExternalTypedDataInt16ArrayCid :
+    case kTypedDataInt16ArrayCid:
+    case kTypedDataInt16ArrayViewCid:
+    case kExternalTypedDataInt16ArrayCid:
       type = Dart_TypedData_kInt16;
       break;
-    case kTypedDataUint16ArrayCid :
-    case kTypedDataUint16ArrayViewCid :
-    case kExternalTypedDataUint16ArrayCid :
+    case kTypedDataUint16ArrayCid:
+    case kTypedDataUint16ArrayViewCid:
+    case kExternalTypedDataUint16ArrayCid:
       type = Dart_TypedData_kUint16;
       break;
-    case kTypedDataInt32ArrayCid :
-    case kTypedDataInt32ArrayViewCid :
-    case kExternalTypedDataInt32ArrayCid :
+    case kTypedDataInt32ArrayCid:
+    case kTypedDataInt32ArrayViewCid:
+    case kExternalTypedDataInt32ArrayCid:
       type = Dart_TypedData_kInt32;
       break;
-    case kTypedDataUint32ArrayCid :
-    case kTypedDataUint32ArrayViewCid :
-    case kExternalTypedDataUint32ArrayCid :
+    case kTypedDataUint32ArrayCid:
+    case kTypedDataUint32ArrayViewCid:
+    case kExternalTypedDataUint32ArrayCid:
       type = Dart_TypedData_kUint32;
       break;
-    case kTypedDataInt64ArrayCid :
-    case kTypedDataInt64ArrayViewCid :
-    case kExternalTypedDataInt64ArrayCid :
+    case kTypedDataInt64ArrayCid:
+    case kTypedDataInt64ArrayViewCid:
+    case kExternalTypedDataInt64ArrayCid:
       type = Dart_TypedData_kInt64;
       break;
-    case kTypedDataUint64ArrayCid :
-    case kTypedDataUint64ArrayViewCid :
-    case kExternalTypedDataUint64ArrayCid :
+    case kTypedDataUint64ArrayCid:
+    case kTypedDataUint64ArrayViewCid:
+    case kExternalTypedDataUint64ArrayCid:
       type = Dart_TypedData_kUint64;
       break;
-    case kTypedDataFloat32ArrayCid :
-    case kTypedDataFloat32ArrayViewCid :
-    case kExternalTypedDataFloat32ArrayCid :
+    case kTypedDataFloat32ArrayCid:
+    case kTypedDataFloat32ArrayViewCid:
+    case kExternalTypedDataFloat32ArrayCid:
       type = Dart_TypedData_kFloat32;
       break;
-    case kTypedDataFloat64ArrayCid :
-    case kTypedDataFloat64ArrayViewCid :
-    case kExternalTypedDataFloat64ArrayCid :
+    case kTypedDataFloat64ArrayCid:
+    case kTypedDataFloat64ArrayViewCid:
+    case kExternalTypedDataFloat64ArrayCid:
       type = Dart_TypedData_kFloat64;
       break;
-    case kTypedDataFloat32x4ArrayCid :
-    case kTypedDataFloat32x4ArrayViewCid :
-    case kExternalTypedDataFloat32x4ArrayCid :
+    case kTypedDataFloat32x4ArrayCid:
+    case kTypedDataFloat32x4ArrayViewCid:
+    case kExternalTypedDataFloat32x4ArrayCid:
       type = Dart_TypedData_kFloat32x4;
       break;
     default:
@@ -3339,8 +3293,8 @@
 }
 
 
-DART_EXPORT Dart_TypedData_Type Dart_GetTypeOfExternalTypedData(
-    Dart_Handle object) {
+DART_EXPORT Dart_TypedData_Type
+Dart_GetTypeOfExternalTypedData(Dart_Handle object) {
   API_TIMELINE_DURATION;
   intptr_t class_id = Api::ClassId(object);
   if (RawObject::IsExternalTypedDataClassId(class_id)) {
@@ -3370,11 +3324,8 @@
   const Class& cls = Class::Handle(
       thread->zone(), lib.LookupClassAllowPrivate(Symbols::ByteData()));
   ASSERT(!cls.IsNull());
-  return ResolveConstructor(CURRENT_FUNC,
-                            cls,
-                            Symbols::ByteData(),
-                            constructor_name,
-                            num_args);
+  return ResolveConstructor(CURRENT_FUNC, cls, Symbols::ByteData(),
+                            constructor_name, num_args);
 }
 
 
@@ -3401,31 +3352,29 @@
 }
 
 
-static Dart_Handle NewTypedData(Thread* thread,
-                                intptr_t cid,
-                                intptr_t length) {
+static Dart_Handle NewTypedData(Thread* thread, intptr_t cid, intptr_t length) {
   CHECK_LENGTH(length, TypedData::MaxElements(cid));
   return Api::NewHandle(thread, TypedData::New(cid, length));
 }
 
 
-static Dart_Handle NewExternalTypedData(
-    Thread* thread, intptr_t cid, void* data, intptr_t length) {
+static Dart_Handle NewExternalTypedData(Thread* thread,
+                                        intptr_t cid,
+                                        void* data,
+                                        intptr_t length) {
   CHECK_LENGTH(length, ExternalTypedData::MaxElements(cid));
   Zone* zone = thread->zone();
   intptr_t bytes = length * ExternalTypedData::ElementSizeInBytes(cid);
   const ExternalTypedData& result = ExternalTypedData::Handle(
-      zone,
-      ExternalTypedData::New(cid,
-                             reinterpret_cast<uint8_t*>(data),
-                             length,
-                             SpaceForExternal(thread, bytes)));
+      zone, ExternalTypedData::New(cid, reinterpret_cast<uint8_t*>(data),
+                                   length, SpaceForExternal(thread, bytes)));
   return Api::NewHandle(thread, result.raw());
 }
 
 
-static Dart_Handle NewExternalByteData(
-    Thread* thread, void* data, intptr_t length) {
+static Dart_Handle NewExternalByteData(Thread* thread,
+                                       void* data,
+                                       intptr_t length) {
   Zone* zone = thread->zone();
   Dart_Handle ext_data = NewExternalTypedData(
       thread, kExternalTypedDataUint8ArrayCid, data, length);
@@ -3465,29 +3414,29 @@
   DARTSCOPE(Thread::Current());
   CHECK_CALLBACK_STATE(T);
   switch (type) {
-    case Dart_TypedData_kByteData :
+    case Dart_TypedData_kByteData:
       return NewByteData(T, length);
-    case Dart_TypedData_kInt8 :
+    case Dart_TypedData_kInt8:
       return NewTypedData(T, kTypedDataInt8ArrayCid, length);
-    case Dart_TypedData_kUint8 :
+    case Dart_TypedData_kUint8:
       return NewTypedData(T, kTypedDataUint8ArrayCid, length);
-    case Dart_TypedData_kUint8Clamped :
+    case Dart_TypedData_kUint8Clamped:
       return NewTypedData(T, kTypedDataUint8ClampedArrayCid, length);
-    case Dart_TypedData_kInt16 :
+    case Dart_TypedData_kInt16:
       return NewTypedData(T, kTypedDataInt16ArrayCid, length);
-    case Dart_TypedData_kUint16 :
+    case Dart_TypedData_kUint16:
       return NewTypedData(T, kTypedDataUint16ArrayCid, length);
-    case Dart_TypedData_kInt32 :
+    case Dart_TypedData_kInt32:
       return NewTypedData(T, kTypedDataInt32ArrayCid, length);
-    case Dart_TypedData_kUint32 :
+    case Dart_TypedData_kUint32:
       return NewTypedData(T, kTypedDataUint32ArrayCid, length);
-    case Dart_TypedData_kInt64 :
+    case Dart_TypedData_kInt64:
       return NewTypedData(T, kTypedDataInt64ArrayCid, length);
-    case Dart_TypedData_kUint64 :
+    case Dart_TypedData_kUint64:
       return NewTypedData(T, kTypedDataUint64ArrayCid, length);
-    case Dart_TypedData_kFloat32 :
-      return NewTypedData(T, kTypedDataFloat32ArrayCid,  length);
-    case Dart_TypedData_kFloat64 :
+    case Dart_TypedData_kFloat32:
+      return NewTypedData(T, kTypedDataFloat32ArrayCid, length);
+    case Dart_TypedData_kFloat64:
       return NewTypedData(T, kTypedDataFloat64ArrayCid, length);
     case Dart_TypedData_kFloat32x4:
       return NewTypedData(T, kTypedDataFloat32x4ArrayCid, length);
@@ -3500,10 +3449,9 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_NewExternalTypedData(
-    Dart_TypedData_Type type,
-    void* data,
-    intptr_t length) {
+DART_EXPORT Dart_Handle Dart_NewExternalTypedData(Dart_TypedData_Type type,
+                                                  void* data,
+                                                  intptr_t length) {
   DARTSCOPE(Thread::Current());
   if (data == NULL && length != 0) {
     RETURN_NULL_ERROR(data);
@@ -3513,44 +3461,46 @@
     case Dart_TypedData_kByteData:
       return NewExternalByteData(T, data, length);
     case Dart_TypedData_kInt8:
-      return NewExternalTypedData(
-          T, kExternalTypedDataInt8ArrayCid, data, length);
+      return NewExternalTypedData(T, kExternalTypedDataInt8ArrayCid, data,
+                                  length);
     case Dart_TypedData_kUint8:
-      return NewExternalTypedData(
-          T, kExternalTypedDataUint8ArrayCid, data, length);
+      return NewExternalTypedData(T, kExternalTypedDataUint8ArrayCid, data,
+                                  length);
     case Dart_TypedData_kUint8Clamped:
-      return NewExternalTypedData(
-          T, kExternalTypedDataUint8ClampedArrayCid, data, length);
+      return NewExternalTypedData(T, kExternalTypedDataUint8ClampedArrayCid,
+                                  data, length);
     case Dart_TypedData_kInt16:
-      return NewExternalTypedData(
-          T, kExternalTypedDataInt16ArrayCid, data, length);
+      return NewExternalTypedData(T, kExternalTypedDataInt16ArrayCid, data,
+                                  length);
     case Dart_TypedData_kUint16:
-      return NewExternalTypedData(
-          T, kExternalTypedDataUint16ArrayCid, data, length);
+      return NewExternalTypedData(T, kExternalTypedDataUint16ArrayCid, data,
+                                  length);
     case Dart_TypedData_kInt32:
-      return NewExternalTypedData(
-          T, kExternalTypedDataInt32ArrayCid, data, length);
+      return NewExternalTypedData(T, kExternalTypedDataInt32ArrayCid, data,
+                                  length);
     case Dart_TypedData_kUint32:
-      return NewExternalTypedData(
-          T, kExternalTypedDataUint32ArrayCid, data, length);
+      return NewExternalTypedData(T, kExternalTypedDataUint32ArrayCid, data,
+                                  length);
     case Dart_TypedData_kInt64:
-      return NewExternalTypedData(
-          T, kExternalTypedDataInt64ArrayCid, data, length);
+      return NewExternalTypedData(T, kExternalTypedDataInt64ArrayCid, data,
+                                  length);
     case Dart_TypedData_kUint64:
-      return NewExternalTypedData(
-          T, kExternalTypedDataUint64ArrayCid, data, length);
+      return NewExternalTypedData(T, kExternalTypedDataUint64ArrayCid, data,
+                                  length);
     case Dart_TypedData_kFloat32:
-      return NewExternalTypedData(
-          T, kExternalTypedDataFloat32ArrayCid, data, length);
+      return NewExternalTypedData(T, kExternalTypedDataFloat32ArrayCid, data,
+                                  length);
     case Dart_TypedData_kFloat64:
-      return NewExternalTypedData(
-          T, kExternalTypedDataFloat64ArrayCid, data, length);
+      return NewExternalTypedData(T, kExternalTypedDataFloat64ArrayCid, data,
+                                  length);
     case Dart_TypedData_kFloat32x4:
-      return NewExternalTypedData(
-          T, kExternalTypedDataFloat32x4ArrayCid, data, length);
+      return NewExternalTypedData(T, kExternalTypedDataFloat32x4ArrayCid, data,
+                                  length);
     default:
-      return Api::NewError("%s expects argument 'type' to be of"
-                           " 'external TypedData'", CURRENT_FUNC);
+      return Api::NewError(
+          "%s expects argument 'type' to be of"
+          " 'external TypedData'",
+          CURRENT_FUNC);
   }
   UNREACHABLE();
   return Api::Null();
@@ -3564,13 +3514,10 @@
   const Library& lib =
       Library::Handle(thread->isolate()->object_store()->typed_data_library());
   ASSERT(!lib.IsNull());
-  const Class& cls = Class::Handle(
-      thread->zone(), lib.LookupClassAllowPrivate(class_name));
+  const Class& cls =
+      Class::Handle(thread->zone(), lib.LookupClassAllowPrivate(class_name));
   ASSERT(!cls.IsNull());
-  return ResolveConstructor(CURRENT_FUNC,
-                            cls,
-                            class_name,
-                            constructor_name,
+  return ResolveConstructor(CURRENT_FUNC, cls, class_name, constructor_name,
                             num_args);
 }
 
@@ -3584,10 +3531,8 @@
     RETURN_TYPE_ERROR(Z, typed_data, 'TypedData');
   }
   Object& result = Object::Handle(Z);
-  result = GetByteBufferConstructor(T,
-                                    Symbols::ByteBuffer(),
-                                    Symbols::ByteBufferDot_New(),
-                                    1);
+  result = GetByteBufferConstructor(T, Symbols::ByteBuffer(),
+                                    Symbols::ByteBufferDot_New(), 1);
   ASSERT(!result.IsNull());
   ASSERT(result.IsFunction());
   const Function& factory = Function::Cast(result);
@@ -3795,12 +3740,9 @@
       // the lookup, it can be confusing to the user to figure out
       // what's going on.  Be a little more explicit for these error
       // messages.
-      const String& message = String::Handle(
-          String::NewFormatted(
-              "%s: could not find factory '%s' in class '%s'.",
-              current_func,
-              constr_name.ToCString(),
-              lookup_class_name.ToCString()));
+      const String& message = String::Handle(String::NewFormatted(
+          "%s: could not find factory '%s' in class '%s'.", current_func,
+          constr_name.ToCString(), lookup_class_name.ToCString()));
       return ApiError::New(message);
     } else {
       const String& message = String::Handle(
@@ -3811,15 +3753,12 @@
   }
   int extra_args = 1;
   String& error_message = String::Handle();
-  if (!constructor.AreValidArgumentCounts(num_args + extra_args,
-                                          0,
+  if (!constructor.AreValidArgumentCounts(num_args + extra_args, 0,
                                           &error_message)) {
-    const String& message = String::Handle(
-        String::NewFormatted("%s: wrong argument count for "
-                             "constructor '%s': %s.",
-                             current_func,
-                             constr_name.ToCString(),
-                             error_message.ToCString()));
+    const String& message = String::Handle(String::NewFormatted(
+        "%s: wrong argument count for "
+        "constructor '%s': %s.",
+        current_func, constr_name.ToCString(), error_message.ToCString()));
     return ApiError::New(message);
   }
   return constructor.raw();
@@ -3872,11 +3811,8 @@
   // Resolve the constructor.
   String& constr_name =
       String::Handle(String::Concat(base_constructor_name, dot_name));
-  result = ResolveConstructor("Dart_New",
-                              cls,
-                              base_constructor_name,
-                              constr_name,
-                              number_of_arguments);
+  result = ResolveConstructor("Dart_New", cls, base_constructor_name,
+                              constr_name, number_of_arguments);
   if (result.IsError()) {
     return Api::NewHandle(T, result.raw());
   }
@@ -3898,9 +3834,8 @@
       // The type arguments of the redirection type are instantiated from the
       // type arguments of the type argument.
       Error& bound_error = Error::Handle();
-      redirect_type ^= redirect_type.InstantiateFrom(type_arguments,
-                                                     &bound_error,
-                                                     NULL, NULL, Heap::kNew);
+      redirect_type ^= redirect_type.InstantiateFrom(
+          type_arguments, &bound_error, NULL, NULL, Heap::kNew);
       if (!bound_error.IsNull()) {
         return Api::NewHandle(T, bound_error.raw());
       }
@@ -3948,8 +3883,8 @@
         return Api::NewHandle(T, argument.raw());
       } else {
         return Api::NewError(
-            "%s expects arguments[%d] to be an Instance handle.",
-            CURRENT_FUNC, i);
+            "%s expects arguments[%d] to be an Instance handle.", CURRENT_FUNC,
+            i);
       }
     }
     args.SetAt(arg_index++, argument);
@@ -4022,10 +3957,10 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_AllocateWithNativeFields(
-    Dart_Handle type,
-    intptr_t num_native_fields,
-    const intptr_t* native_fields) {
+DART_EXPORT Dart_Handle
+Dart_AllocateWithNativeFields(Dart_Handle type,
+                              intptr_t num_native_fields,
+                              const intptr_t* native_fields) {
   DARTSCOPE(Thread::Current());
   CHECK_CALLBACK_STATE(T);
 
@@ -4076,8 +4011,8 @@
         return Api::NewHandle(thread, arg.raw());
       } else {
         return Api::NewError(
-            "%s expects arguments[%d] to be an Instance handle.",
-            "Dart_Invoke", i);
+            "%s expects arguments[%d] to be an Instance handle.", "Dart_Invoke",
+            i);
       }
     }
     args->SetAt((i + extra_args), arg);
@@ -4128,10 +4063,8 @@
   const Function& constructor =
       Function::Handle(Z, cls.LookupFunctionAllowPrivate(dot_name));
   const int extra_args = 1;
-  if (!constructor.IsNull() &&
-      constructor.IsGenerativeConstructor() &&
-      constructor.AreValidArgumentCounts(number_of_arguments + extra_args,
-                                         0,
+  if (!constructor.IsNull() && constructor.IsGenerativeConstructor() &&
+      constructor.AreValidArgumentCounts(number_of_arguments + extra_args, 0,
                                          NULL)) {
     // Create the argument list.
     // Constructors get the uninitialized object.
@@ -4144,12 +4077,12 @@
     }
     Dart_Handle result;
     Array& args = Array::Handle(Z);
-    result = SetupArguments(
-        T, number_of_arguments, arguments, extra_args, &args);
+    result =
+        SetupArguments(T, number_of_arguments, arguments, extra_args, &args);
     if (!::Dart_IsError(result)) {
       args.SetAt(0, instance);
-      const Object& retval = Object::Handle(Z,
-          DartEntry::InvokeFunction(constructor, args));
+      const Object& retval =
+          Object::Handle(Z, DartEntry::InvokeFunction(constructor, args));
       if (retval.IsError()) {
         result = Api::NewHandle(T, retval.raw());
       } else {
@@ -4158,9 +4091,8 @@
     }
     return result;
   }
-  return Api::NewError(
-      "%s expects argument 'name' to be a valid constructor.",
-      CURRENT_FUNC);
+  return Api::NewError("%s expects argument 'name' to be a valid constructor.",
+                       CURRENT_FUNC);
 }
 
 
@@ -4195,27 +4127,23 @@
     }
 
     const Class& cls = Class::Handle(Z, Type::Cast(obj).type_class());
-    const Function& function = Function::Handle(Z,
-        Resolver::ResolveStaticAllowPrivate(cls,
-                                            function_name,
-                                            number_of_arguments,
-                                            Object::empty_array()));
+    const Function& function = Function::Handle(
+        Z, Resolver::ResolveStaticAllowPrivate(
+               cls, function_name, number_of_arguments, Object::empty_array()));
     if (function.IsNull()) {
       const String& cls_name = String::Handle(Z, cls.Name());
       return Api::NewError("%s: did not find static method '%s.%s'.",
-                           CURRENT_FUNC,
-                           cls_name.ToCString(),
+                           CURRENT_FUNC, cls_name.ToCString(),
                            function_name.ToCString());
     }
-    NOT_IN_PRODUCT(if (tds.enabled()) {
+#if !defined(PRODUCT)
+    if (tds.enabled()) {
       const String& cls_name = String::Handle(Z, cls.Name());
       tds.SetNumArguments(1);
-      tds.FormatArgument(0,
-                         "name",
-                         "%s.%s",
-                         cls_name.ToCString(),
+      tds.FormatArgument(0, "name", "%s.%s", cls_name.ToCString(),
                          function_name.ToCString());
-    });
+    }
+#endif  // !defined(PRODUCT)
     // Setup args and check for malformed arguments in the arguments list.
     result = SetupArguments(T, number_of_arguments, arguments, 0, &args);
     if (!::Dart_IsError(result)) {
@@ -4230,38 +4158,31 @@
     instance ^= obj.raw();
     ArgumentsDescriptor args_desc(
         Array::Handle(Z, ArgumentsDescriptor::New(number_of_arguments + 1)));
-    const Function& function = Function::Handle(Z,
-        Resolver::ResolveDynamic(instance, function_name, args_desc));
+    const Function& function = Function::Handle(
+        Z, Resolver::ResolveDynamic(instance, function_name, args_desc));
     if (function.IsNull()) {
       // Setup args and check for malformed arguments in the arguments list.
-      result = SetupArguments(T,
-                              number_of_arguments,
-                              arguments,
-                              1,
-                              &args);
+      result = SetupArguments(T, number_of_arguments, arguments, 1, &args);
       if (!::Dart_IsError(result)) {
         args.SetAt(0, instance);
         const Array& args_descriptor =
-          Array::Handle(Z, ArgumentsDescriptor::New(args.Length()));
-        result = Api::NewHandle(T,
-                                DartEntry::InvokeNoSuchMethod(instance,
-                                                              function_name,
-                                                              args,
-                                                              args_descriptor));
+            Array::Handle(Z, ArgumentsDescriptor::New(args.Length()));
+        result = Api::NewHandle(
+            T, DartEntry::InvokeNoSuchMethod(instance, function_name, args,
+                                             args_descriptor));
       }
       return result;
     }
-    NOT_IN_PRODUCT(if (tds.enabled()) {
+#if !defined(PRODUCT)
+    if (tds.enabled()) {
       const Class& cls = Class::Handle(Z, instance.clazz());
       ASSERT(!cls.IsNull());
       const String& cls_name = String::Handle(Z, cls.Name());
       tds.SetNumArguments(1);
-      tds.FormatArgument(0,
-                         "name",
-                         "%s.%s",
-                         cls_name.ToCString(),
+      tds.FormatArgument(0, "name", "%s.%s", cls_name.ToCString(),
                          function_name.ToCString());
-    });
+    }
+#endif  // !defined(PRODUCT)
     // Setup args and check for malformed arguments in the arguments list.
     result = SetupArguments(T, number_of_arguments, arguments, 1, &args);
     if (!::Dart_IsError(result)) {
@@ -4275,38 +4196,33 @@
 
     // Check that the library is loaded.
     if (!lib.Loaded()) {
-      return Api::NewError(
-          "%s expects library argument 'target' to be loaded.",
-          CURRENT_FUNC);
+      return Api::NewError("%s expects library argument 'target' to be loaded.",
+                           CURRENT_FUNC);
     }
 
     const Function& function =
         Function::Handle(Z, lib.LookupFunctionAllowPrivate(function_name));
     if (function.IsNull()) {
       return Api::NewError("%s: did not find top-level function '%s'.",
-                           CURRENT_FUNC,
-                           function_name.ToCString());
+                           CURRENT_FUNC, function_name.ToCString());
     }
 
-    NOT_IN_PRODUCT(if (tds.enabled()) {
+#if !defined(PRODUCT)
+    if (tds.enabled()) {
       const String& lib_name = String::Handle(Z, lib.url());
       tds.SetNumArguments(1);
-      tds.FormatArgument(0,
-                         "name",
-                         "%s.%s",
-                         lib_name.ToCString(),
+      tds.FormatArgument(0, "name", "%s.%s", lib_name.ToCString(),
                          function_name.ToCString());
-    });
+    }
+#endif  // !defined(PRODUCT)
 
     // LookupFunctionAllowPrivate does not check argument arity, so we
     // do it here.
     String& error_message = String::Handle(Z);
-    if (!function.AreValidArgumentCounts(number_of_arguments,
-                                         0,
+    if (!function.AreValidArgumentCounts(number_of_arguments, 0,
                                          &error_message)) {
       return Api::NewError("%s: wrong argument count for function '%s': %s.",
-                           CURRENT_FUNC,
-                           function_name.ToCString(),
+                           CURRENT_FUNC, function_name.ToCString(),
                            error_message.ToCString());
     }
     // Setup args and check for malformed arguments in the arguments list.
@@ -4388,14 +4304,14 @@
       getter = cls.LookupStaticFunctionAllowPrivate(getter_name);
     }
 
-    NOT_IN_PRODUCT(if (tds.enabled()) {
+#if !defined(PRODUCT)
+    if (tds.enabled()) {
       const String& cls_name = String::Handle(cls.Name());
       tds.SetNumArguments(1);
-      tds.FormatArgument(0,
-                         "name",
-                         "%s.%s",
-                         cls_name.ToCString(), field_name.ToCString());
-    });
+      tds.FormatArgument(0, "name", "%s.%s", cls_name.ToCString(),
+                         field_name.ToCString());
+    }
+#endif  // !defined(PRODUCT)
 
     if (!getter.IsNull()) {
       // Invoke the getter and return the result.
@@ -4404,8 +4320,8 @@
     } else if (!field.IsNull()) {
       return Api::NewHandle(T, field.StaticValue());
     } else {
-      return Api::NewError("%s: did not find static field '%s'.",
-                           CURRENT_FUNC, field_name.ToCString());
+      return Api::NewError("%s: did not find static field '%s'.", CURRENT_FUNC,
+                           field_name.ToCString());
     }
 
   } else if (obj.IsInstance()) {
@@ -4423,14 +4339,14 @@
       cls = cls.SuperClass();
     }
 
-    NOT_IN_PRODUCT(if (tds.enabled()) {
+#if !defined(PRODUCT)
+    if (tds.enabled()) {
       const String& cls_name = String::Handle(cls.Name());
       tds.SetNumArguments(1);
-      tds.FormatArgument(0,
-                         "name",
-                         "%s.%s",
-                         cls_name.ToCString(), field_name.ToCString());
-    });
+      tds.FormatArgument(0, "name", "%s.%s", cls_name.ToCString(),
+                         field_name.ToCString());
+    }
+#endif  // !defined(PRODUCT)
 
     // Invoke the getter and return the result.
     const int kNumArgs = 1;
@@ -4439,10 +4355,9 @@
     if (getter.IsNull()) {
       const Array& args_descriptor =
           Array::Handle(Z, ArgumentsDescriptor::New(args.Length()));
-      return Api::NewHandle(T, DartEntry::InvokeNoSuchMethod(instance,
-                                                             getter_name,
-                                                             args,
-                                                             args_descriptor));
+      return Api::NewHandle(
+          T, DartEntry::InvokeNoSuchMethod(instance, getter_name, args,
+                                           args_descriptor));
     }
     return Api::NewHandle(T, DartEntry::InvokeFunction(getter, args));
 
@@ -4466,19 +4381,19 @@
     } else if (!field.IsNull() && field.IsUninitialized()) {
       // A field was found.  Check for a getter in the field's owner classs.
       const Class& cls = Class::Handle(Z, field.Owner());
-      const String& getter_name = String::Handle(Z,
-          Field::GetterName(field_name));
+      const String& getter_name =
+          String::Handle(Z, Field::GetterName(field_name));
       getter = cls.LookupStaticFunctionAllowPrivate(getter_name);
     }
 
-    NOT_IN_PRODUCT(if (tds.enabled()) {
+#if !defined(PRODUCT)
+    if (tds.enabled()) {
       const String& lib_name = String::Handle(lib.url());
       tds.SetNumArguments(1);
-      tds.FormatArgument(0,
-                         "name",
-                         "%s.%s",
-                         lib_name.ToCString(), field_name.ToCString());
-    });
+      tds.FormatArgument(0, "name", "%s.%s", lib_name.ToCString(),
+                         field_name.ToCString());
+    }
+#endif  // !defined(PRODUCT)
 
     if (!getter.IsNull()) {
       // Invoke the getter and return the result.
@@ -4492,7 +4407,7 @@
                          CURRENT_FUNC, field_name.ToCString());
 
   } else if (obj.IsError()) {
-      return container;
+    return container;
   } else {
     return Api::NewError(
         "%s expects argument 'container' to be an object, type, or library.",
@@ -4549,8 +4464,8 @@
       const int kNumArgs = 1;
       const Array& args = Array::Handle(Z, Array::New(kNumArgs));
       args.SetAt(0, value_instance);
-      const Object& result = Object::Handle(Z,
-          DartEntry::InvokeFunction(setter, args));
+      const Object& result =
+          Object::Handle(Z, DartEntry::InvokeFunction(setter, args));
       if (result.IsError()) {
         return Api::NewHandle(T, result.raw());
       } else {
@@ -4558,15 +4473,15 @@
       }
     } else if (!field.IsNull()) {
       if (field.is_final()) {
-        return Api::NewError("%s: cannot set final field '%s'.",
-                             CURRENT_FUNC, field_name.ToCString());
+        return Api::NewError("%s: cannot set final field '%s'.", CURRENT_FUNC,
+                             field_name.ToCString());
       } else {
         field.SetStaticValue(value_instance);
         return Api::Success();
       }
     } else {
-      return Api::NewError("%s: did not find static field '%s'.",
-                           CURRENT_FUNC, field_name.ToCString());
+      return Api::NewError("%s: did not find static field '%s'.", CURRENT_FUNC,
+                           field_name.ToCString());
     }
 
   } else if (obj.IsInstance()) {
@@ -4579,8 +4494,8 @@
     while (!cls.IsNull()) {
       field = cls.LookupInstanceFieldAllowPrivate(field_name);
       if (!field.IsNull() && field.is_final()) {
-        return Api::NewError("%s: cannot set final field '%s'.",
-                             CURRENT_FUNC, field_name.ToCString());
+        return Api::NewError("%s: cannot set final field '%s'.", CURRENT_FUNC,
+                             field_name.ToCString());
       }
       setter = cls.LookupDynamicFunctionAllowPrivate(setter_name);
       if (!setter.IsNull()) {
@@ -4597,10 +4512,9 @@
     if (setter.IsNull()) {
       const Array& args_descriptor =
           Array::Handle(Z, ArgumentsDescriptor::New(args.Length()));
-      return Api::NewHandle(T, DartEntry::InvokeNoSuchMethod(instance,
-                                                             setter_name,
-                                                             args,
-                                                             args_descriptor));
+      return Api::NewHandle(
+          T, DartEntry::InvokeNoSuchMethod(instance, setter_name, args,
+                                           args_descriptor));
     }
     return Api::NewHandle(T, DartEntry::InvokeFunction(setter, args));
 
@@ -4753,8 +4667,8 @@
   CHECK_CALLBACK_STATE(T);
 
   String& cls_symbol = String::Handle(Z, Symbols::New(T, cls_name));
-  const Class& cls = Class::Handle(Z,
-      Class::NewNativeWrapper(lib, cls_symbol, field_count));
+  const Class& cls =
+      Class::Handle(Z, Class::NewNativeWrapper(lib, cls_symbol, field_count));
   if (cls.IsNull()) {
     return Api::NewError(
         "Unable to create native wrapper class : already exists");
@@ -4835,28 +4749,29 @@
   }
   for (int i = 0; i < num_arguments; i++) {
     Dart_NativeArgument_Descriptor desc = argument_descriptors[i];
-    Dart_NativeArgument_Type arg_type = static_cast<Dart_NativeArgument_Type>(
-        desc.type);
+    Dart_NativeArgument_Type arg_type =
+        static_cast<Dart_NativeArgument_Type>(desc.type);
     int arg_index = desc.index;
     ASSERT(arg_index >= 0 && arg_index < arguments->NativeArgCount());
     Dart_NativeArgument_Value* native_value = &(arg_values[i]);
     switch (arg_type) {
       case Dart_NativeArgument_kBool:
-        if (!Api::GetNativeBooleanArgument(arguments,
-                                           arg_index,
+        if (!Api::GetNativeBooleanArgument(arguments, arg_index,
                                            &(native_value->as_bool))) {
-          return Api::NewError("%s: expects argument at index %d to be of"
-                               " type Boolean.", CURRENT_FUNC, i);
+          return Api::NewError(
+              "%s: expects argument at index %d to be of"
+              " type Boolean.",
+              CURRENT_FUNC, i);
         }
         break;
 
       case Dart_NativeArgument_kInt32: {
         int64_t value = 0;
-        if (!GetNativeIntegerArgument(arguments,
-                                      arg_index,
-                                      &value)) {
-          return Api::NewError("%s: expects argument at index %d to be of"
-                               " type Integer.", CURRENT_FUNC, i);
+        if (!GetNativeIntegerArgument(arguments, arg_index, &value)) {
+          return Api::NewError(
+              "%s: expects argument at index %d to be of"
+              " type Integer.",
+              CURRENT_FUNC, i);
         }
         if (value < INT_MIN || value > INT_MAX) {
           return Api::NewError("%s: argument value at index %d is out of range",
@@ -4868,11 +4783,11 @@
 
       case Dart_NativeArgument_kUint32: {
         int64_t value = 0;
-        if (!GetNativeIntegerArgument(arguments,
-                                      arg_index,
-                                      &value)) {
-          return Api::NewError("%s: expects argument at index %d to be of"
-                               " type Integer.", CURRENT_FUNC, i);
+        if (!GetNativeIntegerArgument(arguments, arg_index, &value)) {
+          return Api::NewError(
+              "%s: expects argument at index %d to be of"
+              " type Integer.",
+              CURRENT_FUNC, i);
         }
         if (value < 0 || value > UINT_MAX) {
           return Api::NewError("%s: argument value at index %d is out of range",
@@ -4884,11 +4799,11 @@
 
       case Dart_NativeArgument_kInt64: {
         int64_t value = 0;
-        if (!GetNativeIntegerArgument(arguments,
-                                      arg_index,
-                                      &value)) {
-          return Api::NewError("%s: expects argument at index %d to be of"
-                               " type Integer.", CURRENT_FUNC, i);
+        if (!GetNativeIntegerArgument(arguments, arg_index, &value)) {
+          return Api::NewError(
+              "%s: expects argument at index %d to be of"
+              " type Integer.",
+              CURRENT_FUNC, i);
         }
         native_value->as_int64 = value;
         break;
@@ -4896,42 +4811,41 @@
 
       case Dart_NativeArgument_kUint64: {
         uint64_t value = 0;
-        if (!GetNativeUnsignedIntegerArgument(arguments,
-                                              arg_index,
-                                              &value)) {
-          return Api::NewError("%s: expects argument at index %d to be of"
-                               " type Integer.", CURRENT_FUNC, i);
+        if (!GetNativeUnsignedIntegerArgument(arguments, arg_index, &value)) {
+          return Api::NewError(
+              "%s: expects argument at index %d to be of"
+              " type Integer.",
+              CURRENT_FUNC, i);
         }
         native_value->as_uint64 = value;
         break;
       }
 
       case Dart_NativeArgument_kDouble:
-        if (!GetNativeDoubleArgument(arguments,
-                                     arg_index,
+        if (!GetNativeDoubleArgument(arguments, arg_index,
                                      &(native_value->as_double))) {
-          return Api::NewError("%s: expects argument at index %d to be of"
-                               " type Double.", CURRENT_FUNC, i);
+          return Api::NewError(
+              "%s: expects argument at index %d to be of"
+              " type Double.",
+              CURRENT_FUNC, i);
         }
         break;
 
       case Dart_NativeArgument_kString:
-        if (!GetNativeStringArgument(arguments,
-                                     arg_index,
+        if (!GetNativeStringArgument(arguments, arg_index,
                                      &(native_value->as_string.dart_str),
                                      &(native_value->as_string.peer))) {
-          return Api::NewError("%s: expects argument at index %d to be of"
-                               " type String.", CURRENT_FUNC, i);
+          return Api::NewError(
+              "%s: expects argument at index %d to be of"
+              " type String.",
+              CURRENT_FUNC, i);
         }
         break;
 
       case Dart_NativeArgument_kNativeFields: {
         Dart_Handle result = GetNativeFieldsOfArgument(
-            arguments,
-            arg_index,
-            native_value->as_native_fields.num_fields,
-            native_value->as_native_fields.values,
-            CURRENT_FUNC);
+            arguments, arg_index, native_value->as_native_fields.num_fields,
+            native_value->as_native_fields.values, CURRENT_FUNC);
         if (result != Api::Success()) {
           return result;
         }
@@ -4947,8 +4861,8 @@
       }
 
       default:
-        return Api::NewError("%s: invalid argument type %d.",
-                             CURRENT_FUNC, arg_type);
+        return Api::NewError("%s: invalid argument type %d.", CURRENT_FUNC,
+                             arg_type);
     }
   }
   return Api::Success();
@@ -4963,8 +4877,7 @@
         "%s: argument 'index' out of range. Expected 0..%d but saw %d.",
         CURRENT_FUNC, arguments->NativeArgCount() - 1, index);
   }
-  return Api::NewHandle(arguments->thread(),
-                        arguments->NativeArgAt(index));
+  return Api::NewHandle(arguments->thread(), arguments->NativeArgAt(index));
 }
 
 
@@ -4974,11 +4887,11 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_GetNativeFieldsOfArgument(
-    Dart_NativeArguments args,
-    int arg_index,
-    int num_fields,
-    intptr_t* field_values) {
+DART_EXPORT Dart_Handle
+Dart_GetNativeFieldsOfArgument(Dart_NativeArguments args,
+                               int arg_index,
+                               int num_fields,
+                               intptr_t* field_values) {
   NativeArguments* arguments = reinterpret_cast<NativeArguments*>(args);
   if ((arg_index < 0) || (arg_index >= arguments->NativeArgCount())) {
     return Api::NewError(
@@ -4988,11 +4901,8 @@
   if (field_values == NULL) {
     RETURN_NULL_ERROR(field_values);
   }
-  return GetNativeFieldsOfArgument(arguments,
-                                   arg_index,
-                                   num_fields,
-                                   field_values,
-                                   CURRENT_FUNC);
+  return GetNativeFieldsOfArgument(arguments, arg_index, num_fields,
+                                   field_values, CURRENT_FUNC);
 }
 
 
@@ -5006,8 +4916,10 @@
   if (Api::GetNativeReceiver(arguments, value)) {
     return Api::Success();
   }
-  return Api::NewError("%s expects receiver argument to be non-null and of"
-                       " type Instance.", CURRENT_FUNC);
+  return Api::NewError(
+      "%s expects receiver argument to be non-null and of"
+      " type Instance.",
+      CURRENT_FUNC);
 }
 
 
@@ -5017,8 +4929,10 @@
   NativeArguments* arguments = reinterpret_cast<NativeArguments*>(args);
   Dart_Handle result = Api::Null();
   if (!GetNativeStringArgument(arguments, arg_index, &result, peer)) {
-    return Api::NewError("%s expects argument at %d to be of"
-                         " type String.", CURRENT_FUNC, arg_index);
+    return Api::NewError(
+        "%s expects argument at %d to be of"
+        " type String.",
+        CURRENT_FUNC, arg_index);
   }
   return result;
 }
@@ -5034,8 +4948,10 @@
         CURRENT_FUNC, arguments->NativeArgCount() - 1, index);
   }
   if (!GetNativeIntegerArgument(arguments, index, value)) {
-    return Api::NewError("%s: expects argument at %d to be of"
-                         " type Integer.", CURRENT_FUNC, index);
+    return Api::NewError(
+        "%s: expects argument at %d to be of"
+        " type Integer.",
+        CURRENT_FUNC, index);
   }
   return Api::Success();
 }
@@ -5068,8 +4984,10 @@
         CURRENT_FUNC, arguments->NativeArgCount() - 1, index);
   }
   if (!GetNativeDoubleArgument(arguments, index, value)) {
-    return Api::NewError("%s: expects argument at %d to be of"
-                         " type Double.", CURRENT_FUNC, index);
+    return Api::NewError(
+        "%s: expects argument at %d to be of"
+        " type Double.",
+        CURRENT_FUNC, index);
   }
   return Api::Success();
 }
@@ -5079,8 +4997,7 @@
                                      Dart_Handle retval) {
   NativeArguments* arguments = reinterpret_cast<NativeArguments*>(args);
   ASSERT(arguments->thread()->isolate() == Isolate::Current());
-  if ((retval != Api::Null()) &&
-      !Api::IsInstance(retval) &&
+  if ((retval != Api::Null()) && !Api::IsInstance(retval) &&
       !Api::IsError(retval)) {
     // Print the current stack trace to make the problematic caller
     // easier to find.
@@ -5088,8 +5005,10 @@
     OS::PrintErr("=== Current Trace:\n%s===\n", stacktrace.ToCString());
 
     const Object& ret_obj = Object::Handle(Api::UnwrapHandle(retval));
-    FATAL1("Return value check failed: saw '%s' expected a dart Instance or "
-           "an Error.", ret_obj.ToCString());
+    FATAL1(
+        "Return value check failed: saw '%s' expected a dart Instance or "
+        "an Error.",
+        ret_obj.ToCString());
   }
   ASSERT(retval != 0);
   Api::SetReturnValue(arguments, retval);
@@ -5167,8 +5086,8 @@
     if (::Dart_IsString(response)) {
       result ^= Api::UnwrapHandle(response);
     } else if (::Dart_IsError(response)) {
-      const Object& error = Object::Handle(
-          thread->zone(), Api::UnwrapHandle(response));
+      const Object& error =
+          Object::Handle(thread->zone(), Api::UnwrapHandle(response));
       Exceptions::ThrowArgumentError(
           String::Handle(String::New(Error::Cast(error).ToErrorCString())));
     } else if (!::Dart_IsNull(response)) {
@@ -5181,8 +5100,8 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_SetEnvironmentCallback(
-    Dart_EnvironmentCallback callback) {
+DART_EXPORT Dart_Handle
+Dart_SetEnvironmentCallback(Dart_EnvironmentCallback callback) {
   Isolate* isolate = Isolate::Current();
   CHECK_ISOLATE(isolate);
   isolate->set_environment_callback(callback);
@@ -5224,8 +5143,8 @@
 
 // --- Scripts and Libraries ---
 
-DART_EXPORT Dart_Handle Dart_SetLibraryTagHandler(
-    Dart_LibraryTagHandler handler) {
+DART_EXPORT Dart_Handle
+Dart_SetLibraryTagHandler(Dart_LibraryTagHandler handler) {
   Isolate* isolate = Isolate::Current();
   CHECK_ISOLATE(isolate);
   isolate->set_library_tag_handler(handler);
@@ -5250,8 +5169,8 @@
 
   const char* resolved_uri;
   if (!ResolveUri(uri.ToCString(), base_uri.ToCString(), &resolved_uri)) {
-    return Api::NewError("%s: Unable to canonicalize uri '%s'.",
-                         CURRENT_FUNC, uri.ToCString());
+    return Api::NewError("%s: Unable to canonicalize uri '%s'.", CURRENT_FUNC,
+                         uri.ToCString());
   }
   return Api::NewHandle(T, String::New(resolved_uri));
 }
@@ -5353,12 +5272,16 @@
 
   const Snapshot* snapshot = Snapshot::SetupFromBuffer(buffer);
   if (snapshot == NULL) {
-    return Api::NewError("%s expects parameter 'buffer' to be a script type"
-                         " snapshot with a valid length.", CURRENT_FUNC);
+    return Api::NewError(
+        "%s expects parameter 'buffer' to be a script type"
+        " snapshot with a valid length.",
+        CURRENT_FUNC);
   }
   if (snapshot->kind() != Snapshot::kScript) {
-    return Api::NewError("%s expects parameter 'buffer' to be a script type"
-                         " snapshot.", CURRENT_FUNC);
+    return Api::NewError(
+        "%s expects parameter 'buffer' to be a script type"
+        " snapshot.",
+        CURRENT_FUNC);
   }
   if (snapshot->length() != buffer_len) {
     return Api::NewError("%s: 'buffer_len' of %" Pd " is not equal to %" Pd
@@ -5375,20 +5298,22 @@
   CHECK_COMPILATION_ALLOWED(I);
 
   ASSERT(snapshot->kind() == Snapshot::kScript);
-  NOT_IN_PRODUCT(TimelineDurationScope tds2(T,
-      Timeline::GetIsolateStream(), "ScriptSnapshotReader"));
+  NOT_IN_PRODUCT(TimelineDurationScope tds2(T, Timeline::GetIsolateStream(),
+                                            "ScriptSnapshotReader"));
 
   ScriptSnapshotReader reader(snapshot->content(), snapshot->length(), T);
   const Object& tmp = Object::Handle(Z, reader.ReadScriptSnapshot());
   if (tmp.IsError()) {
     return Api::NewHandle(T, tmp.raw());
   }
-  NOT_IN_PRODUCT(if (tds2.enabled()) {
+#if !defined(PRODUCT)
+  if (tds2.enabled()) {
     tds2.SetNumArguments(2);
     tds2.FormatArgument(0, "snapshotSize", "%" Pd, snapshot->length());
     tds2.FormatArgument(1, "heapSize", "%" Pd64,
                         I->heap()->UsedInWords(Heap::kOld) * kWordSize);
-  });
+  }
+#endif  // !defined(PRODUCT)
   library ^= tmp.raw();
   library.set_debuggable(true);
   I->object_store()->set_root_library(library);
@@ -5486,9 +5411,8 @@
     RETURN_TYPE_ERROR(Z, library, Library);
   }
   if (!lib.Loaded()) {
-    return Api::NewError(
-        "%s expects library argument 'library' to be loaded.",
-        CURRENT_FUNC);
+    return Api::NewError("%s expects library argument 'library' to be loaded.",
+                         CURRENT_FUNC);
   }
   const String& name_str = Api::UnwrapStringHandle(Z, class_name);
   if (name_str.IsNull()) {
@@ -5502,8 +5426,10 @@
   }
   if (cls.NumTypeArguments() == 0) {
     if (number_of_type_arguments != 0) {
-      return Api::NewError("Invalid number of type arguments specified, "
-                           "got %" Pd " expected 0", number_of_type_arguments);
+      return Api::NewError(
+          "Invalid number of type arguments specified, "
+          "got %" Pd " expected 0",
+          number_of_type_arguments);
     }
     return Api::NewHandle(T, Type::NewNonParameterizedType(cls));
   }
@@ -5514,20 +5440,20 @@
       RETURN_NULL_ERROR(type_arguments);
     }
     if (num_expected_type_arguments != number_of_type_arguments) {
-      return Api::NewError("Invalid number of type arguments specified, "
-                           "got %" Pd " expected %" Pd,
-                           number_of_type_arguments,
-                           num_expected_type_arguments);
+      return Api::NewError(
+          "Invalid number of type arguments specified, "
+          "got %" Pd " expected %" Pd,
+          number_of_type_arguments, num_expected_type_arguments);
     }
     const Array& array = Api::UnwrapArrayHandle(Z, *type_arguments);
     if (array.IsNull()) {
       RETURN_TYPE_ERROR(Z, *type_arguments, Array);
     }
     if (array.Length() != num_expected_type_arguments) {
-      return Api::NewError("Invalid type arguments specified, expected an "
-                           "array of len %" Pd " but got an array of len %" Pd,
-                           number_of_type_arguments,
-                           array.Length());
+      return Api::NewError(
+          "Invalid type arguments specified, expected an "
+          "array of len %" Pd " but got an array of len %" Pd,
+          number_of_type_arguments, array.Length());
     }
     // Set up the type arguments array.
     type_args_obj ^= TypeArguments::New(num_expected_type_arguments);
@@ -5539,8 +5465,8 @@
   }
 
   // Construct the type object, canonicalize it and return.
-  Type& instantiated_type = Type::Handle(
-      Type::New(cls, type_args_obj, TokenPosition::kNoSource));
+  Type& instantiated_type =
+      Type::Handle(Type::New(cls, type_args_obj, TokenPosition::kNoSource));
   instantiated_type ^= ClassFinalizer::FinalizeType(
       cls, instantiated_type, ClassFinalizer::kCanonicalize);
   return Api::NewHandle(T, instantiated_type.raw());
@@ -5565,11 +5491,11 @@
   if (url_str.IsNull()) {
     RETURN_TYPE_ERROR(Z, url, String);
   }
-  const Library& library = Library::Handle(Z,
-      Library::LookupLibrary(T, url_str));
+  const Library& library =
+      Library::Handle(Z, Library::LookupLibrary(T, url_str));
   if (library.IsNull()) {
-    return Api::NewError("%s: library '%s' not found.",
-                         CURRENT_FUNC, url_str.ToCString());
+    return Api::NewError("%s: library '%s' not found.", CURRENT_FUNC,
+                         url_str.ToCString());
   } else {
     return Api::NewHandle(T, library.raw());
   }
@@ -5593,7 +5519,7 @@
 
   const GrowableObjectArray& pending_deferred_loads =
       GrowableObjectArray::Handle(Z,
-          I->object_store()->pending_deferred_loads());
+                                  I->object_store()->pending_deferred_loads());
   for (intptr_t i = 0; i < pending_deferred_loads.Length(); i++) {
     if (pending_deferred_loads.At(i) == lib.raw()) {
       lib.SetLoadError(err);
@@ -5644,9 +5570,8 @@
   if (library.IsNull()) {
     library = Library::New(url_str);
     library.Register(T);
-  } else if (library.LoadInProgress() ||
-      library.Loaded() ||
-      library.LoadFailed()) {
+  } else if (library.LoadInProgress() || library.Loaded() ||
+             library.LoadFailed()) {
     // The source for this library has either been loaded or is in the
     // process of loading.  Return an error.
     return Api::NewError("%s: library '%s' has already been loaded.",
@@ -5689,9 +5614,8 @@
     RETURN_TYPE_ERROR(Z, import, Library);
   }
   const Object& prefix_object = Object::Handle(Z, Api::UnwrapHandle(prefix));
-  const String& prefix_vm = prefix_object.IsNull()
-      ? Symbols::Empty()
-      : String::Cast(prefix_object);
+  const String& prefix_vm =
+      prefix_object.IsNull() ? Symbols::Empty() : String::Cast(prefix_object);
   if (prefix_vm.IsNull()) {
     RETURN_TYPE_ERROR(Z, prefix, String);
   }
@@ -5699,8 +5623,8 @@
   CHECK_COMPILATION_ALLOWED(I);
 
   const String& prefix_symbol = String::Handle(Z, Symbols::New(T, prefix_vm));
-  const Namespace& import_ns = Namespace::Handle(Z,
-      Namespace::New(import_vm, Object::null_array(), Object::null_array()));
+  const Namespace& import_ns = Namespace::Handle(
+      Z, Namespace::New(import_vm, Object::null_array(), Object::null_array()));
   if (prefix_vm.Length() == 0) {
     library_vm.AddImport(import_ns);
   } else {
@@ -5828,9 +5752,8 @@
 
   NoHeapGrowthControlScope no_growth_control;
 
-  const Script& script =
-      Script::Handle(Z, Script::New(url_str, url_str, source_str,
-                                    RawScript::kPatchTag));
+  const Script& script = Script::Handle(
+      Z, Script::New(url_str, url_str, source_str, RawScript::kPatchTag));
   Dart_Handle result;
   CompileSource(T, lib, script, &result);
   return result;
@@ -5867,21 +5790,23 @@
     I->debugger()->NotifyDoneLoading();
   }
 
+#if !defined(PRODUCT)
   if (FLAG_enable_mirrors) {
     // Notify mirrors that MirrorSystem.libraries needs to be recomputed.
     const Library& libmirrors = Library::Handle(Z, Library::MirrorsLibrary());
-    const Field& dirty_bit = Field::Handle(Z,
-        libmirrors.LookupLocalField(String::Handle(String::New("dirty"))));
+    const Field& dirty_bit = Field::Handle(
+        Z, libmirrors.LookupLocalField(String::Handle(String::New("dirty"))));
     ASSERT(!dirty_bit.IsNull() && dirty_bit.is_static());
     dirty_bit.SetStaticValue(Bool::True());
   }
+#endif
 
   if (complete_futures) {
     const Library& corelib = Library::Handle(Z, Library::CoreLibrary());
     const String& function_name =
         String::Handle(Z, String::New("_completeDeferredLoads"));
-    const Function& function = Function::Handle(Z,
-        corelib.LookupFunctionAllowPrivate(function_name));
+    const Function& function =
+        Function::Handle(Z, corelib.LookupFunctionAllowPrivate(function_name));
     ASSERT(!function.IsNull());
     const Array& args = Array::empty_array();
 
@@ -5896,10 +5821,10 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_SetNativeResolver(
-    Dart_Handle library,
-    Dart_NativeEntryResolver resolver,
-    Dart_NativeEntrySymbol symbol) {
+DART_EXPORT Dart_Handle
+Dart_SetNativeResolver(Dart_Handle library,
+                       Dart_NativeEntryResolver resolver,
+                       Dart_NativeEntrySymbol symbol) {
   DARTSCOPE(Thread::Current());
   const Library& lib = Api::UnwrapLibraryHandle(Z, library);
   if (lib.IsNull()) {
@@ -6006,8 +5931,8 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_SetFileModifiedCallback(
-    Dart_FileModifiedCallback file_mod_callback) {
+DART_EXPORT Dart_Handle
+Dart_SetFileModifiedCallback(Dart_FileModifiedCallback file_mod_callback) {
   return Api::Success();
 }
 
@@ -6039,7 +5964,7 @@
                                     const char** argument_values) {
   return;
 }
-#else  // defined(PRODUCT)
+#else   // defined(PRODUCT)
 DART_EXPORT void Dart_RegisterIsolateServiceRequestCallback(
     const char* name,
     Dart_ServiceRequestCallback callback,
@@ -6118,14 +6043,13 @@
     return Api::NewError("%s expects argument 'bytes_length' to be >= 0.",
                          CURRENT_FUNC);
   }
-  Service::SendEmbedderEvent(I, stream_id, event_kind,
-                             bytes, bytes_length);
+  Service::SendEmbedderEvent(I, stream_id, event_kind, bytes, bytes_length);
   return Api::Success();
 }
 
 
-DART_EXPORT Dart_Handle Dart_SetFileModifiedCallback(
-    Dart_FileModifiedCallback file_modified_callback) {
+DART_EXPORT Dart_Handle
+Dart_SetFileModifiedCallback(Dart_FileModifiedCallback file_modified_callback) {
   if (!FLAG_support_service) {
     return Api::Success();
   }
@@ -6155,8 +6079,7 @@
   const bool api_enabled = (stream_mask & DART_TIMELINE_STREAM_API) != 0;
   const bool compiler_enabled =
       (stream_mask & DART_TIMELINE_STREAM_COMPILER) != 0;
-  const bool dart_enabled =
-      (stream_mask & DART_TIMELINE_STREAM_DART) != 0;
+  const bool dart_enabled = (stream_mask & DART_TIMELINE_STREAM_DART) != 0;
   const bool debugger_enabled =
       (stream_mask & DART_TIMELINE_STREAM_DEBUGGER) != 0;
   const bool embedder_enabled =
@@ -6164,8 +6087,7 @@
   const bool gc_enabled = (stream_mask & DART_TIMELINE_STREAM_GC) != 0;
   const bool isolate_enabled =
       (stream_mask & DART_TIMELINE_STREAM_ISOLATE) != 0;
-  const bool vm_enabled =
-      (stream_mask & DART_TIMELINE_STREAM_VM) != 0;
+  const bool vm_enabled = (stream_mask & DART_TIMELINE_STREAM_VM) != 0;
   Timeline::SetStreamAPIEnabled(api_enabled);
   Timeline::SetStreamCompilerEnabled(compiler_enabled);
   Timeline::SetStreamDartEnabled(dart_enabled);
@@ -6181,11 +6103,7 @@
                                   void* user_data,
                                   const char* stream_name) {
   // Start stream.
-  consumer(Dart_StreamConsumer_kStart,
-           stream_name,
-           NULL,
-           0,
-           user_data);
+  consumer(Dart_StreamConsumer_kStart, stream_name, NULL, 0, user_data);
 }
 
 
@@ -6193,11 +6111,7 @@
                                    void* user_data,
                                    const char* stream_name) {
   // Finish stream.
-  consumer(Dart_StreamConsumer_kFinish,
-           stream_name,
-           NULL,
-           0,
-           user_data);
+  consumer(Dart_StreamConsumer_kFinish, stream_name, NULL, 0, user_data);
 }
 
 
@@ -6213,20 +6127,16 @@
   intptr_t cursor = 0;
   intptr_t remaining = output_length;
   while (remaining >= kDataSize) {
-    consumer(Dart_StreamConsumer_kData,
-             stream_name,
-             reinterpret_cast<const uint8_t*>(&output[cursor]),
-             kDataSize,
+    consumer(Dart_StreamConsumer_kData, stream_name,
+             reinterpret_cast<const uint8_t*>(&output[cursor]), kDataSize,
              user_data);
     cursor += kDataSize;
     remaining -= kDataSize;
   }
   if (remaining > 0) {
     ASSERT(remaining < kDataSize);
-    consumer(Dart_StreamConsumer_kData,
-             stream_name,
-             reinterpret_cast<const uint8_t*>(&output[cursor]),
-             remaining,
+    consumer(Dart_StreamConsumer_kData, stream_name,
+             reinterpret_cast<const uint8_t*>(&output[cursor]), remaining,
              user_data);
     cursor += remaining;
     remaining -= remaining;
@@ -6259,11 +6169,7 @@
   // We are skipping the '['.
   output_length -= 1;
 
-  DataStreamToConsumer(consumer,
-                       user_data,
-                       start,
-                       output_length,
-                       "timeline");
+  DataStreamToConsumer(consumer, user_data, start, output_length, "timeline");
 
   // We stole the JSONStream's output buffer, free it.
   free(output);
@@ -6340,28 +6246,28 @@
   switch (type) {
     case Dart_Timeline_Event_Begin:
       event->Begin(label, timestamp0);
-    break;
+      break;
     case Dart_Timeline_Event_End:
       event->End(label, timestamp0);
-    break;
+      break;
     case Dart_Timeline_Event_Instant:
       event->Instant(label, timestamp0);
-    break;
+      break;
     case Dart_Timeline_Event_Duration:
       event->Duration(label, timestamp0, timestamp1_or_async_id);
-    break;
+      break;
     case Dart_Timeline_Event_Async_Begin:
       event->AsyncBegin(label, timestamp1_or_async_id, timestamp0);
-    break;
+      break;
     case Dart_Timeline_Event_Async_End:
       event->AsyncEnd(label, timestamp1_or_async_id, timestamp0);
-    break;
+      break;
     case Dart_Timeline_Event_Async_Instant:
       event->AsyncInstant(label, timestamp1_or_async_id, timestamp0);
-    break;
+      break;
     case Dart_Timeline_Event_Counter:
       event->Counter(label, timestamp0);
-    break;
+      break;
     default:
       FATAL("Unknown Dart_Timeline_Event_Type");
   }
@@ -6389,40 +6295,38 @@
 // excluded from dart and dart_precompiled_runtime.
 #if !defined(DART_PRECOMPILER)
 
-DART_EXPORT Dart_Handle Dart_Precompile(
-    Dart_QualifiedFunctionName entry_points[],
-    bool reset_fields) {
+DART_EXPORT Dart_Handle
+Dart_Precompile(Dart_QualifiedFunctionName entry_points[], bool reset_fields) {
   UNREACHABLE();
   return 0;
 }
 
 
-DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshotAssembly(
-    uint8_t** assembly_buffer,
-    intptr_t* assembly_size) {
+DART_EXPORT Dart_Handle
+Dart_CreatePrecompiledSnapshotAssembly(uint8_t** assembly_buffer,
+                                       intptr_t* assembly_size) {
   UNREACHABLE();
   return 0;
 }
 
 
-DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshotBlob(
-    uint8_t** vm_isolate_snapshot_buffer,
-    intptr_t* vm_isolate_snapshot_size,
-    uint8_t** isolate_snapshot_buffer,
-    intptr_t* isolate_snapshot_size,
-    uint8_t** instructions_blob_buffer,
-    intptr_t* instructions_blob_size,
-    uint8_t** rodata_blob_buffer,
-    intptr_t* rodata_blob_size) {
+DART_EXPORT Dart_Handle
+Dart_CreatePrecompiledSnapshotBlob(uint8_t** vm_isolate_snapshot_buffer,
+                                   intptr_t* vm_isolate_snapshot_size,
+                                   uint8_t** isolate_snapshot_buffer,
+                                   intptr_t* isolate_snapshot_size,
+                                   uint8_t** instructions_blob_buffer,
+                                   intptr_t* instructions_blob_size,
+                                   uint8_t** rodata_blob_buffer,
+                                   intptr_t* rodata_blob_size) {
   UNREACHABLE();
   return 0;
 }
 
 #else  // DART_PRECOMPILER
 
-DART_EXPORT Dart_Handle Dart_Precompile(
-    Dart_QualifiedFunctionName entry_points[],
-    bool reset_fields) {
+DART_EXPORT Dart_Handle
+Dart_Precompile(Dart_QualifiedFunctionName entry_points[], bool reset_fields) {
 #if defined(TARGET_ARCH_IA32)
   return Api::NewError("Precompilation is not supported on IA32.");
 #elif defined(TARGET_ARCH_DBC)
@@ -6438,8 +6342,8 @@
     return result;
   }
   CHECK_CALLBACK_STATE(T);
-  const Error& error = Error::Handle(Precompiler::CompileAll(entry_points,
-                                                             reset_fields));
+  const Error& error =
+      Error::Handle(Precompiler::CompileAll(entry_points, reset_fields));
   if (!error.IsNull()) {
     return Api::NewHandle(T, error.raw());
   }
@@ -6448,9 +6352,9 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshotAssembly(
-    uint8_t** assembly_buffer,
-    intptr_t* assembly_size) {
+DART_EXPORT Dart_Handle
+Dart_CreatePrecompiledSnapshotAssembly(uint8_t** assembly_buffer,
+                                       intptr_t* assembly_size) {
 #if defined(TARGET_ARCH_IA32)
   return Api::NewError("Precompilation is not supported on IA32.");
 #elif defined(TARGET_ARCH_DBC)
@@ -6460,8 +6364,9 @@
   DARTSCOPE(Thread::Current());
   Isolate* I = T->isolate();
   if (I->compilation_allowed()) {
-    return Api::NewError("Isolate is not precompiled. "
-                         "Did you forget to call Dart_Precompile?");
+    return Api::NewError(
+        "Isolate is not precompiled. "
+        "Did you forget to call Dart_Precompile?");
   }
   ASSERT(FLAG_load_deferred_eagerly);
   if (assembly_buffer == NULL) {
@@ -6473,15 +6378,12 @@
 
   NOT_IN_PRODUCT(TimelineDurationScope tds2(T, Timeline::GetIsolateStream(),
                                             "WriteAppAOTSnapshot"));
-  AssemblyInstructionsWriter instructions_writer(assembly_buffer,
-                                                 ApiReallocate,
+  AssemblyInstructionsWriter instructions_writer(assembly_buffer, ApiReallocate,
                                                  2 * MB /* initial_size */);
   uint8_t* vm_isolate_snapshot_buffer = NULL;
   uint8_t* isolate_snapshot_buffer = NULL;
-  FullSnapshotWriter writer(Snapshot::kAppNoJIT,
-                            &vm_isolate_snapshot_buffer,
-                            &isolate_snapshot_buffer,
-                            ApiReallocate,
+  FullSnapshotWriter writer(Snapshot::kAppNoJIT, &vm_isolate_snapshot_buffer,
+                            &isolate_snapshot_buffer, ApiReallocate,
                             &instructions_writer);
 
   writer.WriteFullSnapshot();
@@ -6492,15 +6394,15 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshotBlob(
-    uint8_t** vm_isolate_snapshot_buffer,
-    intptr_t* vm_isolate_snapshot_size,
-    uint8_t** isolate_snapshot_buffer,
-    intptr_t* isolate_snapshot_size,
-    uint8_t** instructions_blob_buffer,
-    intptr_t* instructions_blob_size,
-    uint8_t** rodata_blob_buffer,
-    intptr_t* rodata_blob_size) {
+DART_EXPORT Dart_Handle
+Dart_CreatePrecompiledSnapshotBlob(uint8_t** vm_isolate_snapshot_buffer,
+                                   intptr_t* vm_isolate_snapshot_size,
+                                   uint8_t** isolate_snapshot_buffer,
+                                   intptr_t* isolate_snapshot_size,
+                                   uint8_t** instructions_blob_buffer,
+                                   intptr_t* instructions_blob_size,
+                                   uint8_t** rodata_blob_buffer,
+                                   intptr_t* rodata_blob_size) {
 #if defined(TARGET_ARCH_IA32)
   return Api::NewError("Precompilation is not supported on IA32.");
 #elif defined(TARGET_ARCH_DBC)
@@ -6510,8 +6412,9 @@
   DARTSCOPE(Thread::Current());
   Isolate* I = T->isolate();
   if (I->compilation_allowed()) {
-    return Api::NewError("Isolate is not precompiled. "
-                         "Did you forget to call Dart_Precompile?");
+    return Api::NewError(
+        "Isolate is not precompiled. "
+        "Did you forget to call Dart_Precompile?");
   }
   ASSERT(FLAG_load_deferred_eagerly);
   if (vm_isolate_snapshot_buffer == NULL) {
@@ -6542,13 +6445,10 @@
   NOT_IN_PRODUCT(TimelineDurationScope tds2(T, Timeline::GetIsolateStream(),
                                             "WriteAppAOTSnapshot"));
   BlobInstructionsWriter instructions_writer(instructions_blob_buffer,
-                                             rodata_blob_buffer,
-                                             ApiReallocate,
+                                             rodata_blob_buffer, ApiReallocate,
                                              2 * MB /* initial_size */);
-  FullSnapshotWriter writer(Snapshot::kAppNoJIT,
-                            vm_isolate_snapshot_buffer,
-                            isolate_snapshot_buffer,
-                            ApiReallocate,
+  FullSnapshotWriter writer(Snapshot::kAppNoJIT, vm_isolate_snapshot_buffer,
+                            isolate_snapshot_buffer, ApiReallocate,
                             &instructions_writer);
 
   writer.WriteFullSnapshot();
@@ -6595,15 +6495,15 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_CreateAppJITSnapshot(
-    uint8_t** vm_isolate_snapshot_buffer,
-    intptr_t* vm_isolate_snapshot_size,
-    uint8_t** isolate_snapshot_buffer,
-    intptr_t* isolate_snapshot_size,
-    uint8_t** instructions_blob_buffer,
-    intptr_t* instructions_blob_size,
-    uint8_t** rodata_blob_buffer,
-    intptr_t* rodata_blob_size) {
+DART_EXPORT Dart_Handle
+Dart_CreateAppJITSnapshot(uint8_t** vm_isolate_snapshot_buffer,
+                          intptr_t* vm_isolate_snapshot_size,
+                          uint8_t** isolate_snapshot_buffer,
+                          intptr_t* isolate_snapshot_size,
+                          uint8_t** instructions_blob_buffer,
+                          intptr_t* instructions_blob_size,
+                          uint8_t** rodata_blob_buffer,
+                          intptr_t* rodata_blob_size) {
 #if defined(TARGET_ARCH_IA32)
   return Api::NewError("Snapshots with code are not supported on IA32.");
 #elif defined(TARGET_ARCH_DBC)
@@ -6650,13 +6550,10 @@
   NOT_IN_PRODUCT(TimelineDurationScope tds2(T, Timeline::GetIsolateStream(),
                                             "WriteAppJITSnapshot"));
   BlobInstructionsWriter instructions_writer(instructions_blob_buffer,
-                                             rodata_blob_buffer,
-                                             ApiReallocate,
+                                             rodata_blob_buffer, ApiReallocate,
                                              2 * MB /* initial_size */);
-  FullSnapshotWriter writer(Snapshot::kAppWithJIT,
-                            vm_isolate_snapshot_buffer,
-                            isolate_snapshot_buffer,
-                            ApiReallocate,
+  FullSnapshotWriter writer(Snapshot::kAppWithJIT, vm_isolate_snapshot_buffer,
+                            isolate_snapshot_buffer, ApiReallocate,
                             &instructions_writer);
   writer.WriteFullSnapshot();
   *vm_isolate_snapshot_size = writer.VmIsolateSnapshotSize();
diff --git a/runtime/vm/dart_api_impl.h b/runtime/vm/dart_api_impl.h
index 0629b2d..f597ca2 100644
--- a/runtime/vm/dart_api_impl.h
+++ b/runtime/vm/dart_api_impl.h
@@ -27,9 +27,10 @@
 #define CHECK_ISOLATE(isolate)                                                 \
   do {                                                                         \
     if ((isolate) == NULL) {                                                   \
-      FATAL1("%s expects there to be a current isolate. Did you "              \
-             "forget to call Dart_CreateIsolate or Dart_EnterIsolate?",        \
-             CURRENT_FUNC);                                                    \
+      FATAL1(                                                                  \
+          "%s expects there to be a current isolate. Did you "                 \
+          "forget to call Dart_CreateIsolate or Dart_EnterIsolate?",           \
+          CURRENT_FUNC);                                                       \
     }                                                                          \
   } while (0)
 
@@ -37,8 +38,10 @@
 #define CHECK_NO_ISOLATE(isolate)                                              \
   do {                                                                         \
     if ((isolate) != NULL) {                                                   \
-      FATAL1("%s expects there to be no current isolate. Did you "             \
-             "forget to call Dart_ExitIsolate?", CURRENT_FUNC);                \
+      FATAL1(                                                                  \
+          "%s expects there to be no current isolate. Did you "                \
+          "forget to call Dart_ExitIsolate?",                                  \
+          CURRENT_FUNC);                                                       \
     }                                                                          \
   } while (0)
 
@@ -49,10 +52,12 @@
     Isolate* tmpI = tmpT->isolate();                                           \
     CHECK_ISOLATE(tmpI);                                                       \
     if (tmpT->api_top_scope() == NULL) {                                       \
-      FATAL1("%s expects to find a current scope. Did you forget to call "     \
-           "Dart_EnterScope?", CURRENT_FUNC);                                  \
+      FATAL1(                                                                  \
+          "%s expects to find a current scope. Did you forget to call "        \
+          "Dart_EnterScope?",                                                  \
+          CURRENT_FUNC);                                                       \
     }                                                                          \
-  } while (0);                                                                 \
+  } while (0);
 
 #define DARTSCOPE(thread)                                                      \
   Thread* T = (thread);                                                        \
@@ -101,9 +106,7 @@
     explicit Scope(Thread* thread) : StackResource(thread) {
       Dart_EnterScope();
     }
-    ~Scope() {
-      Dart_ExitScope();
-    }
+    ~Scope() { Dart_ExitScope(); }
 
    private:
     DISALLOW_COPY_AND_ASSIGN(Scope);
@@ -115,24 +118,25 @@
   // Unwraps the raw object from the handle.
   static RawObject* UnwrapHandle(Dart_Handle object);
 
-  // Unwraps a raw Type from the handle.  The handle will be null if
-  // the object was not of the requested Type.
+// Unwraps a raw Type from the handle.  The handle will be null if
+// the object was not of the requested Type.
 #define DECLARE_UNWRAP(Type)                                                   \
-  static const Type& Unwrap##Type##Handle(Zone* zone,                          \
-                                          Dart_Handle object);
+  static const Type& Unwrap##Type##Handle(Zone* zone, Dart_Handle object);
   CLASS_LIST_FOR_HANDLES(DECLARE_UNWRAP)
 #undef DECLARE_UNWRAP
 
   // Unwraps the raw object from the handle using a reused handle.
   static const String& UnwrapStringHandle(
-      const ReusableObjectHandleScope& reused, Dart_Handle object);
+      const ReusableObjectHandleScope& reused,
+      Dart_Handle object);
   static const Instance& UnwrapInstanceHandle(
-      const ReusableObjectHandleScope& reused, Dart_Handle object);
+      const ReusableObjectHandleScope& reused,
+      Dart_Handle object);
 
   // Returns an Error handle if isolate is in an inconsistent state
   // or there was an error while finalizing classes.
   // Returns a Success handle when no error condition exists.
-  static Dart_Handle CheckAndFinalizePendingClasses(Thread *thread);
+  static Dart_Handle CheckAndFinalizePendingClasses(Thread* thread);
 
   // Casts the internal Isolate* type to the external Dart_Isolate type.
   static Dart_Isolate CastIsolate(Isolate* isolate);
@@ -187,24 +191,16 @@
   static Dart_Handle NewError(const char* format, ...) PRINTF_ATTRIBUTE(1, 2);
 
   // Gets a handle to Null.
-  static Dart_Handle Null() {
-    return null_handle_;
-  }
+  static Dart_Handle Null() { return null_handle_; }
 
   // Gets a handle to True.
-  static Dart_Handle True() {
-    return true_handle_;
-  }
+  static Dart_Handle True() { return true_handle_; }
 
   // Gets a handle to False.
-  static Dart_Handle False() {
-    return false_handle_;
-  }
+  static Dart_Handle False() { return false_handle_; }
 
   // Gets a handle to EmptyString.
-  static Dart_Handle EmptyString() {
-    return empty_string_handle_;
-  }
+  static Dart_Handle EmptyString() { return empty_string_handle_; }
 
   // Retrieves the top ApiLocalScope.
   static ApiLocalScope* TopScope(Thread* thread);
@@ -279,26 +275,24 @@
 };
 
 // Start a scope in which no Dart API call backs are allowed.
-#define START_NO_CALLBACK_SCOPE(thread)                                        \
-  thread->IncrementNoCallbackScopeDepth()
+#define START_NO_CALLBACK_SCOPE(thread) thread->IncrementNoCallbackScopeDepth()
 
 // End a no Dart API call backs Scope.
-#define END_NO_CALLBACK_SCOPE(thread)                                          \
-  thread->DecrementNoCallbackScopeDepth()
+#define END_NO_CALLBACK_SCOPE(thread) thread->DecrementNoCallbackScopeDepth()
 
 #define CHECK_CALLBACK_STATE(thread)                                           \
   if (thread->no_callback_scope_depth() != 0) {                                \
     return reinterpret_cast<Dart_Handle>(                                      \
         Api::AcquiredError(thread->isolate()));                                \
-  }                                                                            \
+  }
 
 #define CHECK_COMPILATION_ALLOWED(isolate)                                     \
   if (!isolate->compilation_allowed()) {                                       \
     return Api::NewError("%s: Cannot load after Dart_Precompile",              \
                          CURRENT_FUNC);                                        \
-  }                                                                            \
+  }
 
-#define ASSERT_CALLBACK_STATE(thread)                                         \
+#define ASSERT_CALLBACK_STATE(thread)                                          \
   ASSERT(thread->no_callback_scope_depth() == 0)
 
 }  // namespace dart.
diff --git a/runtime/vm/dart_api_impl_test.cc b/runtime/vm/dart_api_impl_test.cc
index d3245c9..7ee03f7 100644
--- a/runtime/vm/dart_api_impl_test.cc
+++ b/runtime/vm/dart_api_impl_test.cc
@@ -37,10 +37,7 @@
 
   Dart_Handle instance = Dart_True();
   Dart_Handle error = Api::NewError("myerror");
-  Dart_Handle exception = Dart_Invoke(lib,
-                                      NewString("testMain"),
-                                      0,
-                                      NULL);
+  Dart_Handle exception = Dart_Invoke(lib, NewString("testMain"), 0, NULL);
 
   EXPECT_VALID(instance);
   EXPECT(Dart_IsError(error));
@@ -97,8 +94,8 @@
   Dart_ActivationFrame frame;
   result = Dart_GetActivationFrame(stacktrace, 0, &frame);
   EXPECT_VALID(result);
-  result = Dart_ActivationFrameInfo(
-      frame, &function_name, &script_url, &line_number, &column_number);
+  result = Dart_ActivationFrameInfo(frame, &function_name, &script_url,
+                                    &line_number, &column_number);
   EXPECT_VALID(result);
   Dart_StringToCString(function_name, &cstr);
   EXPECT_STREQ("bar", cstr);
@@ -109,8 +106,8 @@
 
   result = Dart_GetActivationFrame(stacktrace, 1, &frame);
   EXPECT_VALID(result);
-  result = Dart_ActivationFrameInfo(
-      frame, &function_name, &script_url, &line_number, &column_number);
+  result = Dart_ActivationFrameInfo(frame, &function_name, &script_url,
+                                    &line_number, &column_number);
   EXPECT_VALID(result);
   Dart_StringToCString(function_name, &cstr);
   EXPECT_STREQ("foo", cstr);
@@ -121,8 +118,8 @@
 
   result = Dart_GetActivationFrame(stacktrace, 2, &frame);
   EXPECT_VALID(result);
-  result = Dart_ActivationFrameInfo(
-      frame, &function_name, &script_url, &line_number, &column_number);
+  result = Dart_ActivationFrameInfo(frame, &function_name, &script_url,
+                                    &line_number, &column_number);
   EXPECT_VALID(result);
   Dart_StringToCString(function_name, &cstr);
   EXPECT_STREQ("testMain", cstr);
@@ -171,8 +168,8 @@
   Dart_ActivationFrame frame;
   result = Dart_GetActivationFrame(stacktrace, 0, &frame);
   EXPECT_VALID(result);
-  result = Dart_ActivationFrameInfo(
-      frame, &function_name, &script_url, &line_number, &column_number);
+  result = Dart_ActivationFrameInfo(frame, &function_name, &script_url,
+                                    &line_number, &column_number);
   EXPECT_VALID(result);
   Dart_StringToCString(function_name, &cstr);
   EXPECT_STREQ("foo", cstr);
@@ -182,13 +179,12 @@
   EXPECT_EQ(20, column_number);
 
   // Middle frames positioned at the recursive call.
-  for (intptr_t frame_index = 1;
-       frame_index < (frame_count - 1);
+  for (intptr_t frame_index = 1; frame_index < (frame_count - 1);
        frame_index++) {
     result = Dart_GetActivationFrame(stacktrace, frame_index, &frame);
     EXPECT_VALID(result);
-    result = Dart_ActivationFrameInfo(
-        frame, &function_name, &script_url, &line_number, &column_number);
+    result = Dart_ActivationFrameInfo(frame, &function_name, &script_url,
+                                      &line_number, &column_number);
     EXPECT_VALID(result);
     Dart_StringToCString(function_name, &cstr);
     EXPECT_STREQ("foo", cstr);
@@ -201,8 +197,8 @@
   // Bottom frame positioned at testMain().
   result = Dart_GetActivationFrame(stacktrace, frame_count - 1, &frame);
   EXPECT_VALID(result);
-  result = Dart_ActivationFrameInfo(
-      frame, &function_name, &script_url, &line_number, &column_number);
+  result = Dart_ActivationFrameInfo(frame, &function_name, &script_url,
+                                    &line_number, &column_number);
   EXPECT_VALID(result);
   Dart_StringToCString(function_name, &cstr);
   EXPECT_STREQ("testMain", cstr);
@@ -250,8 +246,8 @@
   Dart_ActivationFrame frame;
   result = Dart_GetActivationFrame(stacktrace, 0, &frame);
   EXPECT_VALID(result);
-  result = Dart_ActivationFrameInfo(
-      frame, &function_name, &script_url, &line_number, &column_number);
+  result = Dart_ActivationFrameInfo(frame, &function_name, &script_url,
+                                    &line_number, &column_number);
   EXPECT_VALID(result);
   Dart_StringToCString(function_name, &cstr);
   EXPECT_STREQ("C.foo", cstr);
@@ -311,8 +307,8 @@
   Dart_ActivationFrame frame;
   result = Dart_GetActivationFrame(stacktrace, 0, &frame);
   EXPECT_VALID(result);
-  result = Dart_ActivationFrameInfo(
-      frame, &function_name, &script_url, &line_number, &column_number);
+  result = Dart_ActivationFrameInfo(frame, &function_name, &script_url,
+                                    &line_number, &column_number);
   EXPECT_VALID(result);
   Dart_StringToCString(function_name, &cstr);
   EXPECT_STREQ("inspectStack", cstr);
@@ -324,8 +320,8 @@
   // Second frame is foo() positioned at call to inspectStack().
   result = Dart_GetActivationFrame(stacktrace, 1, &frame);
   EXPECT_VALID(result);
-  result = Dart_ActivationFrameInfo(
-      frame, &function_name, &script_url, &line_number, &column_number);
+  result = Dart_ActivationFrameInfo(frame, &function_name, &script_url,
+                                    &line_number, &column_number);
   EXPECT_VALID(result);
   Dart_StringToCString(function_name, &cstr);
   EXPECT_STREQ("foo", cstr);
@@ -335,13 +331,12 @@
   EXPECT_EQ(20, column_number);
 
   // Middle frames positioned at the recursive call.
-  for (intptr_t frame_index = 2;
-       frame_index < (frame_count - 1);
+  for (intptr_t frame_index = 2; frame_index < (frame_count - 1);
        frame_index++) {
     result = Dart_GetActivationFrame(stacktrace, frame_index, &frame);
     EXPECT_VALID(result);
-    result = Dart_ActivationFrameInfo(
-        frame, &function_name, &script_url, &line_number, &column_number);
+    result = Dart_ActivationFrameInfo(frame, &function_name, &script_url,
+                                      &line_number, &column_number);
     EXPECT_VALID(result);
     Dart_StringToCString(function_name, &cstr);
     EXPECT_STREQ("foo", cstr);
@@ -354,8 +349,8 @@
   // Bottom frame positioned at testMain().
   result = Dart_GetActivationFrame(stacktrace, frame_count - 1, &frame);
   EXPECT_VALID(result);
-  result = Dart_ActivationFrameInfo(
-      frame, &function_name, &script_url, &line_number, &column_number);
+  result = Dart_ActivationFrameInfo(frame, &function_name, &script_url,
+                                    &line_number, &column_number);
   EXPECT_VALID(result);
   Dart_StringToCString(function_name, &cstr);
   EXPECT_STREQ("testMain", cstr);
@@ -376,7 +371,9 @@
 
 
 static Dart_NativeFunction CurrentStackTraceNativeLookup(
-    Dart_Handle name, int argument_count, bool* auto_setup_scope) {
+    Dart_Handle name,
+    int argument_count,
+    bool* auto_setup_scope) {
   ASSERT(auto_setup_scope != NULL);
   *auto_setup_scope = true;
   return reinterpret_cast<Dart_NativeFunction>(&CurrentStackTraceNative);
@@ -389,8 +386,8 @@
       "foo(n) => n == 1 ? inspectStack() : foo(n-1);\n"
       "testMain() => foo(50);\n";
 
-  Dart_Handle lib = TestCase::LoadTestScript(kScriptChars,
-                                             &CurrentStackTraceNativeLookup);
+  Dart_Handle lib =
+      TestCase::LoadTestScript(kScriptChars, &CurrentStackTraceNativeLookup);
   Dart_Handle result = Dart_Invoke(lib, NewString("testMain"), 0, NULL);
   EXPECT_VALID(result);
   EXPECT(Dart_IsInteger(result));
@@ -461,8 +458,7 @@
   // Test with an API Error.
   const char* kApiError = "Api Error Exception Test.";
   Dart_Handle api_error = Api::NewHandle(
-      thread,
-      ApiError::New(String::Handle(String::New(kApiError))));
+      thread, ApiError::New(String::Handle(String::New(kApiError))));
   Dart_Handle exception_error = Dart_NewUnhandledExceptionError(api_error);
   EXPECT(!Dart_IsApiError(exception_error));
   EXPECT(Dart_IsUnhandledExceptionError(exception_error));
@@ -473,8 +469,7 @@
 
   // Test with a Compilation Error.
   const char* kCompileError = "CompileError Exception Test.";
-  const String& compile_message =
-      String::Handle(String::New(kCompileError));
+  const String& compile_message = String::Handle(String::New(kCompileError));
   Dart_Handle compile_error =
       Api::NewHandle(thread, LanguageError::New(compile_message));
   exception_error = Dart_NewUnhandledExceptionError(compile_error);
@@ -534,7 +529,9 @@
 
 
 static Dart_NativeFunction PropagateError_native_lookup(
-    Dart_Handle name, int argument_count, bool* auto_setup_scope) {
+    Dart_Handle name,
+    int argument_count,
+    bool* auto_setup_scope) {
   ASSERT(auto_setup_scope != NULL);
   *auto_setup_scope = true;
   return reinterpret_cast<Dart_NativeFunction>(&PropagateErrorNative);
@@ -560,8 +557,8 @@
       "void Func2() {\n"
       "  nativeFunc(() => throwException());\n"
       "}\n";
-  Dart_Handle lib = TestCase::LoadTestScript(
-      kScriptChars, &PropagateError_native_lookup);
+  Dart_Handle lib =
+      TestCase::LoadTestScript(kScriptChars, &PropagateError_native_lookup);
   Dart_Handle result;
 
   // Use Dart_PropagateError to propagate the error.
@@ -1046,7 +1043,7 @@
 
 
 TEST_CASE(IsString) {
-  uint8_t latin1[] = { 'o', 'n', 'e', 0xC2, 0xA2 };
+  uint8_t latin1[] = {'o', 'n', 'e', 0xC2, 0xA2};
 
   Dart_Handle latin1str = Dart_NewStringFromUTF8(latin1, ARRAY_SIZE(latin1));
   EXPECT_VALID(latin1str);
@@ -1059,15 +1056,13 @@
   intptr_t char_size;
   intptr_t str_len;
   void* peer;
-  EXPECT_VALID(Dart_StringGetProperties(latin1str,
-                                        &char_size,
-                                        &str_len,
-                                        &peer));
+  EXPECT_VALID(
+      Dart_StringGetProperties(latin1str, &char_size, &str_len, &peer));
   EXPECT_EQ(1, char_size);
   EXPECT_EQ(4, str_len);
   EXPECT(!peer);
 
-  uint8_t data8[] = { 'o', 'n', 'e', 0x7F };
+  uint8_t data8[] = {'o', 'n', 'e', 0x7F};
 
   Dart_Handle str8 = Dart_NewStringFromUTF8(data8, ARRAY_SIZE(data8));
   EXPECT_VALID(str8);
@@ -1085,48 +1080,39 @@
     EXPECT_EQ(data8[i], latin1_array[i]);
   }
 
-  Dart_Handle ext8 = Dart_NewExternalLatin1String(data8, ARRAY_SIZE(data8),
-                                                  data8, NULL);
+  Dart_Handle ext8 =
+      Dart_NewExternalLatin1String(data8, ARRAY_SIZE(data8), data8, NULL);
   EXPECT_VALID(ext8);
   EXPECT(Dart_IsString(ext8));
   EXPECT(Dart_IsExternalString(ext8));
-  EXPECT_VALID(Dart_StringGetProperties(ext8,
-                                        &char_size,
-                                        &str_len,
-                                        &peer));
+  EXPECT_VALID(Dart_StringGetProperties(ext8, &char_size, &str_len, &peer));
   EXPECT_EQ(1, char_size);
   EXPECT_EQ(4, str_len);
   EXPECT_EQ(data8, peer);
 
-  uint16_t data16[] = { 't', 'w', 'o', 0xFFFF };
+  uint16_t data16[] = {'t', 'w', 'o', 0xFFFF};
 
   Dart_Handle str16 = Dart_NewStringFromUTF16(data16, ARRAY_SIZE(data16));
   EXPECT_VALID(str16);
   EXPECT(Dart_IsString(str16));
   EXPECT(!Dart_IsStringLatin1(str16));
   EXPECT(!Dart_IsExternalString(str16));
-  EXPECT_VALID(Dart_StringGetProperties(str16,
-                                        &char_size,
-                                        &str_len,
-                                        &peer));
+  EXPECT_VALID(Dart_StringGetProperties(str16, &char_size, &str_len, &peer));
   EXPECT_EQ(2, char_size);
   EXPECT_EQ(4, str_len);
   EXPECT(!peer);
 
-  Dart_Handle ext16 = Dart_NewExternalUTF16String(data16, ARRAY_SIZE(data16),
-                                                  data16, NULL);
+  Dart_Handle ext16 =
+      Dart_NewExternalUTF16String(data16, ARRAY_SIZE(data16), data16, NULL);
   EXPECT_VALID(ext16);
   EXPECT(Dart_IsString(ext16));
   EXPECT(Dart_IsExternalString(ext16));
-  EXPECT_VALID(Dart_StringGetProperties(ext16,
-                                        &char_size,
-                                        &str_len,
-                                        &peer));
+  EXPECT_VALID(Dart_StringGetProperties(ext16, &char_size, &str_len, &peer));
   EXPECT_EQ(2, char_size);
   EXPECT_EQ(4, str_len);
   EXPECT_EQ(data16, peer);
 
-  int32_t data32[] = { 'f', 'o', 'u', 'r', 0x10FFFF };
+  int32_t data32[] = {'f', 'o', 'u', 'r', 0x10FFFF};
 
   Dart_Handle str32 = Dart_NewStringFromUTF32(data32, ARRAY_SIZE(data32));
   EXPECT_VALID(str32);
@@ -1145,14 +1131,14 @@
   Dart_Handle null_str = NewString(null);
   EXPECT(Dart_IsError(null_str));
 
-  uint8_t data[] = { 0xE4, 0xBA, 0x8c };  // U+4E8C.
+  uint8_t data[] = {0xE4, 0xBA, 0x8c};  // U+4E8C.
   Dart_Handle utf8_str = Dart_NewStringFromUTF8(data, ARRAY_SIZE(data));
   EXPECT_VALID(utf8_str);
   EXPECT(Dart_IsString(utf8_str));
 
-  uint8_t invalid[] = { 0xE4, 0xBA };  // underflow.
-  Dart_Handle invalid_str = Dart_NewStringFromUTF8(invalid,
-                                                   ARRAY_SIZE(invalid));
+  uint8_t invalid[] = {0xE4, 0xBA};  // underflow.
+  Dart_Handle invalid_str =
+      Dart_NewStringFromUTF8(invalid, ARRAY_SIZE(invalid));
   EXPECT(Dart_IsError(invalid_str));
 }
 
@@ -1192,8 +1178,8 @@
   EXPECT_VALID(reversed);  // This is also allowed.
   uint8_t* utf8_encoded_reversed = NULL;
   intptr_t utf8_length_reversed = 0;
-  result = Dart_StringToUTF8(reversed,
-      &utf8_encoded_reversed, &utf8_length_reversed);
+  result = Dart_StringToUTF8(reversed, &utf8_encoded_reversed,
+                             &utf8_length_reversed);
   EXPECT_VALID(result);
   EXPECT_EQ(6, utf8_length_reversed);
   uint8_t expected[6] = {237, 180, 158, 237, 160, 180};
@@ -1237,20 +1223,14 @@
   {
     Dart_EnterScope();
 
-    uint8_t data8[] = { 'h', 'e', 'l', 'l', 'o' };
+    uint8_t data8[] = {'h', 'e', 'l', 'l', 'o'};
     Dart_Handle obj8 = Dart_NewExternalLatin1String(
-        data8,
-        ARRAY_SIZE(data8),
-        &peer8,
-        ExternalStringCallbackFinalizer);
+        data8, ARRAY_SIZE(data8), &peer8, ExternalStringCallbackFinalizer);
     EXPECT_VALID(obj8);
 
-    uint16_t data16[] = { 'h', 'e', 'l', 'l', 'o' };
+    uint16_t data16[] = {'h', 'e', 'l', 'l', 'o'};
     Dart_Handle obj16 = Dart_NewExternalUTF16String(
-        data16,
-        ARRAY_SIZE(data16),
-        &peer16,
-        ExternalStringCallbackFinalizer);
+        data16, ARRAY_SIZE(data16), &peer16, ExternalStringCallbackFinalizer);
     EXPECT_VALID(obj16);
 
     Dart_ExitScope();
@@ -1275,32 +1255,24 @@
 TEST_CASE(ExternalStringPretenure) {
   {
     Dart_EnterScope();
-    static const uint8_t big_data8[16*MB] = {0, };
+    static const uint8_t big_data8[16 * MB] = {
+        0,
+    };
     Dart_Handle big8 = Dart_NewExternalLatin1String(
-        big_data8,
-        ARRAY_SIZE(big_data8),
-        NULL,
-        NULL);
+        big_data8, ARRAY_SIZE(big_data8), NULL, NULL);
     EXPECT_VALID(big8);
-    static const uint16_t big_data16[16*MB/2] = {0, };
+    static const uint16_t big_data16[16 * MB / 2] = {
+        0,
+    };
     Dart_Handle big16 = Dart_NewExternalUTF16String(
-        big_data16,
-        ARRAY_SIZE(big_data16),
-        NULL,
-        NULL);
+        big_data16, ARRAY_SIZE(big_data16), NULL, NULL);
     static const uint8_t small_data8[] = {'f', 'o', 'o'};
     Dart_Handle small8 = Dart_NewExternalLatin1String(
-        small_data8,
-        ARRAY_SIZE(small_data8),
-        NULL,
-        NULL);
+        small_data8, ARRAY_SIZE(small_data8), NULL, NULL);
     EXPECT_VALID(small8);
     static const uint16_t small_data16[] = {'b', 'a', 'r'};
     Dart_Handle small16 = Dart_NewExternalUTF16String(
-        small_data16,
-        ARRAY_SIZE(small_data16),
-        NULL,
-        NULL);
+        small_data16, ARRAY_SIZE(small_data16), NULL, NULL);
     EXPECT_VALID(small16);
     {
       CHECK_API_SCOPE(thread);
@@ -1323,19 +1295,15 @@
 TEST_CASE(ExternalTypedDataPretenure) {
   {
     Dart_EnterScope();
-    static const int kBigLength = 16*MB/8;
+    static const int kBigLength = 16 * MB / 8;
     int64_t* big_data = new int64_t[kBigLength]();
-    Dart_Handle big = Dart_NewExternalTypedData(
-        Dart_TypedData_kInt64,
-        big_data,
-        kBigLength);
+    Dart_Handle big =
+        Dart_NewExternalTypedData(Dart_TypedData_kInt64, big_data, kBigLength);
     EXPECT_VALID(big);
-    static const int kSmallLength = 16*KB/8;
+    static const int kSmallLength = 16 * KB / 8;
     int64_t* small_data = new int64_t[kSmallLength]();
-    Dart_Handle small = Dart_NewExternalTypedData(
-        Dart_TypedData_kInt64,
-        small_data,
-        kSmallLength);
+    Dart_Handle small = Dart_NewExternalTypedData(Dart_TypedData_kInt64,
+                                                  small_data, kSmallLength);
     EXPECT_VALID(small);
     {
       CHECK_API_SCOPE(thread);
@@ -1476,8 +1444,8 @@
   result = Dart_ListGetRange(list_access_test_obj, 8, 4, values);
   EXPECT(Dart_IsError(result));
 
-  result = Dart_ListGetRange(
-      list_access_test_obj, kRangeOffset, kRangeLength, values);
+  result = Dart_ListGetRange(list_access_test_obj, kRangeOffset, kRangeLength,
+                             values);
   EXPECT_VALID(result);
 
   result = Dart_IntegerToInt64(values[0], &value);
@@ -1679,14 +1647,12 @@
 
 
 TEST_CASE(TypedDataAccess) {
-  EXPECT_EQ(Dart_TypedData_kInvalid,
-            Dart_GetTypeOfTypedData(Dart_True()));
+  EXPECT_EQ(Dart_TypedData_kInvalid, Dart_GetTypeOfTypedData(Dart_True()));
   EXPECT_EQ(Dart_TypedData_kInvalid,
             Dart_GetTypeOfExternalTypedData(Dart_False()));
   Dart_Handle byte_array1 = Dart_NewTypedData(Dart_TypedData_kUint8, 10);
   EXPECT_VALID(byte_array1);
-  EXPECT_EQ(Dart_TypedData_kUint8,
-            Dart_GetTypeOfTypedData(byte_array1));
+  EXPECT_EQ(Dart_TypedData_kUint8, Dart_GetTypeOfTypedData(byte_array1));
   EXPECT_EQ(Dart_TypedData_kInvalid,
             Dart_GetTypeOfExternalTypedData(byte_array1));
   EXPECT(Dart_IsList(byte_array1));
@@ -1739,7 +1705,7 @@
     EXPECT(is_equal);
   }
 
-  uint8_t data[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
+  uint8_t data[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
   for (intptr_t i = 0; i < 10; ++i) {
     EXPECT_VALID(Dart_ListSetAt(byte_array1, i, Dart_NewInteger(10 - i)));
   }
@@ -1856,15 +1822,15 @@
 
 
 static const intptr_t kExtLength = 16;
-static int8_t data[kExtLength] = { 0x41, 0x42, 0x41, 0x42,
-                                   0x41, 0x42, 0x41, 0x42,
-                                   0x41, 0x42, 0x41, 0x42,
-                                   0x41, 0x42, 0x41, 0x42, };
+static int8_t data[kExtLength] = {
+    0x41, 0x42, 0x41, 0x42, 0x41, 0x42, 0x41, 0x42,
+    0x41, 0x42, 0x41, 0x42, 0x41, 0x42, 0x41, 0x42,
+};
 
 static void ExternalByteDataNativeFunction(Dart_NativeArguments args) {
   Dart_EnterScope();
-  Dart_Handle external_byte_data = Dart_NewExternalTypedData(
-      Dart_TypedData_kByteData, data, 16);
+  Dart_Handle external_byte_data =
+      Dart_NewExternalTypedData(Dart_TypedData_kByteData, data, 16);
   EXPECT_VALID(external_byte_data);
   EXPECT_EQ(Dart_TypedData_kByteData,
             Dart_GetTypeOfTypedData(external_byte_data));
@@ -1874,7 +1840,9 @@
 
 
 static Dart_NativeFunction ExternalByteDataNativeResolver(
-    Dart_Handle name, int arg_count, bool* auto_setup_scope) {
+    Dart_Handle name,
+    int arg_count,
+    bool* auto_setup_scope) {
   ASSERT(auto_setup_scope != NULL);
   *auto_setup_scope = true;
   return &ExternalByteDataNativeFunction;
@@ -1913,18 +1881,17 @@
   // Create a test library and Load up a test script in it.
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
 
-  Dart_Handle result = Dart_SetNativeResolver(lib,
-                                              &ExternalByteDataNativeResolver,
-                                              NULL);
+  Dart_Handle result =
+      Dart_SetNativeResolver(lib, &ExternalByteDataNativeResolver, NULL);
   EXPECT_VALID(result);
 
   // Invoke 'main' function.
   result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   EXPECT_VALID(result);
 
-  for (intptr_t i = 0; i < kExtLength; i+=2) {
+  for (intptr_t i = 0; i < kExtLength; i += 2) {
     EXPECT_EQ(0x24, data[i]);
-    EXPECT_EQ(0x28, data[i+1]);
+    EXPECT_EQ(0x28, data[i + 1]);
   }
 }
 
@@ -1933,15 +1900,15 @@
 
 
 static const intptr_t kOptExtLength = 16;
-static int8_t opt_data[kOptExtLength] = { 0x01, 0x02, 0x03, 0x04,
-                                          0x05, 0x06, 0x07, 0x08,
-                                          0x09, 0x0a, 0x0b, 0x0c,
-                                          0x0d, 0x0e, 0x0f, 0x10, };
+static int8_t opt_data[kOptExtLength] = {
+    0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
+    0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
+};
 
 static void OptExternalByteDataNativeFunction(Dart_NativeArguments args) {
   Dart_EnterScope();
-  Dart_Handle external_byte_data = Dart_NewExternalTypedData(
-      Dart_TypedData_kByteData, opt_data, 16);
+  Dart_Handle external_byte_data =
+      Dart_NewExternalTypedData(Dart_TypedData_kByteData, opt_data, 16);
   EXPECT_VALID(external_byte_data);
   EXPECT_EQ(Dart_TypedData_kByteData,
             Dart_GetTypeOfTypedData(external_byte_data));
@@ -1951,7 +1918,9 @@
 
 
 static Dart_NativeFunction OptExternalByteDataNativeResolver(
-    Dart_Handle name, int arg_count, bool* auto_setup_scope) {
+    Dart_Handle name,
+    int arg_count,
+    bool* auto_setup_scope) {
   ASSERT(auto_setup_scope != NULL);
   *auto_setup_scope = true;
   return &OptExternalByteDataNativeFunction;
@@ -1987,8 +1956,8 @@
   // Create a test library and Load up a test script in it.
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
 
-  Dart_Handle result = Dart_SetNativeResolver(
-      lib, &OptExternalByteDataNativeResolver, NULL);
+  Dart_Handle result =
+      Dart_SetNativeResolver(lib, &OptExternalByteDataNativeResolver, NULL);
   EXPECT_VALID(result);
 
   // Invoke 'main' function.
@@ -2009,30 +1978,37 @@
   EXPECT_VALID(byte_array);
   Dart_Handle result;
   result = Dart_TypedDataAcquireData(byte_array, NULL, NULL, NULL);
-  EXPECT_ERROR(result, "Dart_TypedDataAcquireData expects argument 'type'"
-                       " to be non-null.");
+  EXPECT_ERROR(result,
+               "Dart_TypedDataAcquireData expects argument 'type'"
+               " to be non-null.");
   Dart_TypedData_Type type;
   result = Dart_TypedDataAcquireData(byte_array, &type, NULL, NULL);
-  EXPECT_ERROR(result, "Dart_TypedDataAcquireData expects argument 'data'"
-                       " to be non-null.");
+  EXPECT_ERROR(result,
+               "Dart_TypedDataAcquireData expects argument 'data'"
+               " to be non-null.");
   void* data;
   result = Dart_TypedDataAcquireData(byte_array, &type, &data, NULL);
-  EXPECT_ERROR(result, "Dart_TypedDataAcquireData expects argument 'len'"
-                       " to be non-null.");
+  EXPECT_ERROR(result,
+               "Dart_TypedDataAcquireData expects argument 'len'"
+               " to be non-null.");
   intptr_t len;
   result = Dart_TypedDataAcquireData(Dart_Null(), &type, &data, &len);
-  EXPECT_ERROR(result, "Dart_TypedDataAcquireData expects argument 'object'"
-                       " to be non-null.");
+  EXPECT_ERROR(result,
+               "Dart_TypedDataAcquireData expects argument 'object'"
+               " to be non-null.");
   result = Dart_TypedDataAcquireData(str, &type, &data, &len);
-  EXPECT_ERROR(result, "Dart_TypedDataAcquireData expects argument 'object'"
-                       " to be of type 'TypedData'.");
+  EXPECT_ERROR(result,
+               "Dart_TypedDataAcquireData expects argument 'object'"
+               " to be of type 'TypedData'.");
 
   result = Dart_TypedDataReleaseData(Dart_Null());
-  EXPECT_ERROR(result, "Dart_TypedDataReleaseData expects argument 'object'"
-                       " to be non-null.");
+  EXPECT_ERROR(result,
+               "Dart_TypedDataReleaseData expects argument 'object'"
+               " to be non-null.");
   result = Dart_TypedDataReleaseData(str);
-  EXPECT_ERROR(result, "Dart_TypedDataReleaseData expects argument 'object'"
-                       " to be of type 'TypedData'.");
+  EXPECT_ERROR(result,
+               "Dart_TypedDataReleaseData expects argument 'object'"
+               " to be of type 'TypedData'.");
 }
 
 
@@ -2134,11 +2110,11 @@
   TestDirectAccess(lib, list_access_test_obj, Dart_TypedData_kInt8, false);
 
   // Test with an external typed data object.
-  uint8_t data[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+  uint8_t data[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   intptr_t data_length = ARRAY_SIZE(data);
   Dart_Handle ext_list_access_test_obj;
-  ext_list_access_test_obj = Dart_NewExternalTypedData(Dart_TypedData_kUint8,
-                                                       data, data_length);
+  ext_list_access_test_obj =
+      Dart_NewExternalTypedData(Dart_TypedData_kUint8, data, data_length);
   EXPECT_VALID(ext_list_access_test_obj);
   TestDirectAccess(lib, ext_list_access_test_obj, Dart_TypedData_kUint8, true);
 }
@@ -2316,28 +2292,28 @@
 
 
 TEST_CASE(ExternalTypedDataAccess) {
-  uint8_t data[] = { 0, 11, 22, 33, 44, 55, 66, 77 };
+  uint8_t data[] = {0, 11, 22, 33, 44, 55, 66, 77};
   intptr_t data_length = ARRAY_SIZE(data);
 
-  Dart_Handle obj = Dart_NewExternalTypedData(
-      Dart_TypedData_kUint8, data, data_length);
+  Dart_Handle obj =
+      Dart_NewExternalTypedData(Dart_TypedData_kUint8, data, data_length);
   ExternalTypedDataAccessTests(obj, Dart_TypedData_kUint8, data, data_length);
 }
 
 
 TEST_CASE(ExternalClampedTypedDataAccess) {
-  uint8_t data[] = { 0, 11, 22, 33, 44, 55, 66, 77 };
+  uint8_t data[] = {0, 11, 22, 33, 44, 55, 66, 77};
   intptr_t data_length = ARRAY_SIZE(data);
 
-  Dart_Handle obj = Dart_NewExternalTypedData(
-      Dart_TypedData_kUint8Clamped, data, data_length);
-  ExternalTypedDataAccessTests(obj, Dart_TypedData_kUint8Clamped,
-                               data, data_length);
+  Dart_Handle obj = Dart_NewExternalTypedData(Dart_TypedData_kUint8Clamped,
+                                              data, data_length);
+  ExternalTypedDataAccessTests(obj, Dart_TypedData_kUint8Clamped, data,
+                               data_length);
 }
 
 
 TEST_CASE(ExternalUint8ClampedArrayAccess) {
-    const char* kScriptChars =
+  const char* kScriptChars =
       "testClamped(List a) {\n"
       "  if (a[1] != 11) return false;\n"
       "  a[1] = 3;\n"
@@ -2349,7 +2325,7 @@
       "  return true;\n"
       "}\n";
 
-  uint8_t data[] = { 0, 11, 22, 33, 44, 55, 66, 77 };
+  uint8_t data[] = {0, 11, 22, 33, 44, 55, 66, 77};
   intptr_t data_length = ARRAY_SIZE(data);
   Dart_Handle obj = Dart_NewExternalTypedData(Dart_TypedData_kUint8Clamped,
                                               data, data_length);
@@ -2373,8 +2349,7 @@
 
 static void NopCallback(void* isolate_callback_data,
                         Dart_WeakPersistentHandle handle,
-                        void* peer) {
-}
+                        void* peer) {}
 
 
 static void UnreachedCallback(void* isolate_callback_data,
@@ -2395,13 +2370,11 @@
   int peer = 0;
   {
     Dart_EnterScope();
-    uint8_t data[] = { 1, 2, 3, 4 };
-    Dart_Handle obj = Dart_NewExternalTypedData(
-        Dart_TypedData_kUint8,
-        data,
-        ARRAY_SIZE(data));
-    Dart_NewWeakPersistentHandle(
-        obj, &peer, sizeof(data), ExternalTypedDataFinalizer);
+    uint8_t data[] = {1, 2, 3, 4};
+    Dart_Handle obj = Dart_NewExternalTypedData(Dart_TypedData_kUint8, data,
+                                                ARRAY_SIZE(data));
+    Dart_NewWeakPersistentHandle(obj, &peer, sizeof(data),
+                                 ExternalTypedDataFinalizer);
     EXPECT_VALID(obj);
     Dart_ExitScope();
   }
@@ -2468,7 +2441,7 @@
 
 
 TEST_CASE(Float32x4List) {
-    const char* kScriptChars =
+  const char* kScriptChars =
       "import 'dart:typed_data';\n"
       "Float32x4List float32x4() {\n"
       "  return new Float32x4List(10);\n"
@@ -2485,18 +2458,18 @@
   CheckFloat32x4Data(obj);
 
   int peer = 0;
-  float data[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
-                   0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
-                   0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
-                   0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
+  float data[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
+                  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
+                  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
+                  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
   // Push a scope so that we can collect the local handle created as part of
   // Dart_NewExternalTypedData.
   Dart_EnterScope();
   {
-    Dart_Handle lcl = Dart_NewExternalTypedData(
-        Dart_TypedData_kFloat32x4, data, 10);
-    Dart_NewWeakPersistentHandle(
-        lcl, &peer, sizeof(data), ExternalTypedDataFinalizer);
+    Dart_Handle lcl =
+        Dart_NewExternalTypedData(Dart_TypedData_kFloat32x4, data, 10);
+    Dart_NewWeakPersistentHandle(lcl, &peer, sizeof(data),
+                                 ExternalTypedDataFinalizer);
     CheckFloat32x4Data(lcl);
   }
   Dart_ExitScope();
@@ -2693,12 +2666,12 @@
 
 TEST_CASE(WeakPersistentHandle) {
   Dart_Handle local_new_ref = Dart_Null();
-  weak_new_ref = Dart_NewWeakPersistentHandle(
-      local_new_ref, NULL, 0, WeakPersistentHandleCallback);
+  weak_new_ref = Dart_NewWeakPersistentHandle(local_new_ref, NULL, 0,
+                                              WeakPersistentHandleCallback);
 
   Dart_Handle local_old_ref = Dart_Null();
-  weak_old_ref = Dart_NewWeakPersistentHandle(
-      local_old_ref, NULL, 0, WeakPersistentHandleCallback);
+  weak_old_ref = Dart_NewWeakPersistentHandle(local_old_ref, NULL, 0,
+                                              WeakPersistentHandleCallback);
 
   {
     Dart_EnterScope();
@@ -2717,17 +2690,13 @@
     }
 
     // Create a weak ref to the new space object.
-    weak_new_ref = Dart_NewWeakPersistentHandle(new_ref,
-                                                NULL,
-                                                0,
+    weak_new_ref = Dart_NewWeakPersistentHandle(new_ref, NULL, 0,
                                                 WeakPersistentHandleCallback);
     EXPECT_VALID(AsHandle(weak_new_ref));
     EXPECT(!Dart_IsNull(AsHandle(weak_new_ref)));
 
     // Create a weak ref to the old space object.
-    weak_old_ref = Dart_NewWeakPersistentHandle(old_ref,
-                                                NULL,
-                                                0,
+    weak_old_ref = Dart_NewWeakPersistentHandle(old_ref, NULL, 0,
                                                 WeakPersistentHandleCallback);
     EXPECT_VALID(AsHandle(weak_old_ref));
     EXPECT(!Dart_IsNull(AsHandle(weak_old_ref)));
@@ -2822,15 +2791,15 @@
   // NULL callback.
   Dart_Handle obj1 = NewString("new string");
   EXPECT_VALID(obj1);
-  Dart_WeakPersistentHandle ref1 = Dart_NewWeakPersistentHandle(
-      obj1, NULL, 0, NULL);
+  Dart_WeakPersistentHandle ref1 =
+      Dart_NewWeakPersistentHandle(obj1, NULL, 0, NULL);
   EXPECT_EQ(ref1, static_cast<void*>(NULL));
 
   // Immediate object.
   Dart_Handle obj2 = Dart_NewInteger(0);
   EXPECT_VALID(obj2);
-  Dart_WeakPersistentHandle ref2 = Dart_NewWeakPersistentHandle(
-      obj2, NULL, 0, WeakPersistentHandleCallback);
+  Dart_WeakPersistentHandle ref2 =
+      Dart_NewWeakPersistentHandle(obj2, NULL, 0, WeakPersistentHandleCallback);
   EXPECT_EQ(ref2, static_cast<void*>(NULL));
 
   Dart_ExitScope();
@@ -2900,9 +2869,7 @@
   Dart_EnterScope();
   Dart_Handle ref = Dart_True();
   int peer = 1234;
-  Dart_NewWeakPersistentHandle(ref,
-                               &peer,
-                               0,
+  Dart_NewWeakPersistentHandle(ref, &peer, 0,
                                WeakPersistentHandlePeerFinalizer);
   Dart_ExitScope();
   Dart_ShutdownIsolate();
@@ -2920,9 +2887,7 @@
     Dart_EnterScope();
     Dart_Handle obj = NewString("weakly referenced string");
     EXPECT_VALID(obj);
-    weak1 = Dart_NewWeakPersistentHandle(obj,
-                                         NULL,
-                                         kWeak1ExternalSize,
+    weak1 = Dart_NewWeakPersistentHandle(obj, NULL, kWeak1ExternalSize,
                                          NopCallback);
     EXPECT_VALID(AsHandle(weak1));
     Dart_ExitScope();
@@ -2935,9 +2900,7 @@
     Dart_Handle obj = NewString("strongly referenced string");
     EXPECT_VALID(obj);
     strong_ref = Dart_NewPersistentHandle(obj);
-    weak2 = Dart_NewWeakPersistentHandle(obj,
-                                         NULL,
-                                         kWeak2ExternalSize,
+    weak2 = Dart_NewWeakPersistentHandle(obj, NULL, kWeak2ExternalSize,
                                          NopCallback);
     EXPECT_VALID(AsHandle(strong_ref));
     Dart_ExitScope();
@@ -2978,16 +2941,14 @@
     Dart_Handle obj = NewString("weakly referenced string");
     EXPECT_VALID(obj);
     // Triggers a scavenge immediately, since kWeak1ExternalSize is above limit.
-    weak1 = Dart_NewWeakPersistentHandle(obj,
-                                         NULL,
-                                         kWeak1ExternalSize,
+    weak1 = Dart_NewWeakPersistentHandle(obj, NULL, kWeak1ExternalSize,
                                          NopCallback);
     EXPECT_VALID(AsHandle(weak1));
     // ... but the object is still alive and not yet promoted, so external size
     // in new space is still above the limit. Thus, even the following tiny
     // external allocation will trigger another scavenge.
     Dart_WeakPersistentHandle trigger =
-      Dart_NewWeakPersistentHandle(obj, NULL, 1, NopCallback);
+        Dart_NewWeakPersistentHandle(obj, NULL, 1, NopCallback);
     EXPECT_VALID(AsHandle(trigger));
     Dart_DeleteWeakPersistentHandle(isolate, trigger);
     // After the two scavenges above, 'obj' should now be promoted, hence its
@@ -3026,9 +2987,7 @@
     Dart_EnterScope();
     Dart_Handle dead = Api::NewHandle(thread, String::New("dead", Heap::kOld));
     EXPECT_VALID(dead);
-    weak = Dart_NewWeakPersistentHandle(dead,
-                                        NULL,
-                                        kSmallExternalSize,
+    weak = Dart_NewWeakPersistentHandle(dead, NULL, kSmallExternalSize,
                                         NopCallback);
     EXPECT_VALID(AsHandle(weak));
     Dart_ExitScope();
@@ -3037,10 +2996,7 @@
             isolate->heap()->ExternalInWords(Heap::kOld) * kWordSize);
   // Large enough to trigger GC in old space. Not actually allocated.
   const intptr_t kHugeExternalSize = (kWordSize == 4) ? 513 * MB : 1025 * MB;
-  Dart_NewWeakPersistentHandle(live,
-                               NULL,
-                               kHugeExternalSize,
-                               NopCallback);
+  Dart_NewWeakPersistentHandle(live, NULL, kHugeExternalSize, NopCallback);
   // Expect small garbage to be collected.
   EXPECT_EQ(kHugeExternalSize,
             isolate->heap()->ExternalInWords(Heap::kOld) * kWordSize);
@@ -3059,13 +3015,13 @@
     Dart_EnterScope();
     Dart_Handle dart_true = Dart_True();  // VM heap object.
     EXPECT_VALID(dart_true);
-    weak1 = Dart_NewWeakPersistentHandle(
-        dart_true, NULL, kWeak1ExternalSize, UnreachedCallback);
+    weak1 = Dart_NewWeakPersistentHandle(dart_true, NULL, kWeak1ExternalSize,
+                                         UnreachedCallback);
     EXPECT_VALID(AsHandle(weak1));
     Dart_Handle zero = Dart_False();  // VM heap object.
     EXPECT_VALID(zero);
-    weak2 = Dart_NewWeakPersistentHandle(
-        zero, NULL, kWeak2ExternalSize, UnreachedCallback);
+    weak2 = Dart_NewWeakPersistentHandle(zero, NULL, kWeak2ExternalSize,
+                                         UnreachedCallback);
     EXPECT_VALID(AsHandle(weak2));
     // Both should be charged to old space.
     EXPECT(heap->ExternalInWords(Heap::kOld) ==
@@ -3111,8 +3067,8 @@
     CHECK_API_SCOPE(thread);
     HANDLESCOPE(thread);
 
-    Dart_Handle local = Api::NewHandle(
-        thread, String::New("strongly reachable", Heap::kOld));
+    Dart_Handle local =
+        Api::NewHandle(thread, String::New("strongly reachable", Heap::kOld));
     strong = Dart_NewPersistentHandle(local);
     strong_weak = Dart_NewWeakPersistentHandle(local, NULL, 0, NopCallback);
 
@@ -3178,8 +3134,8 @@
     CHECK_API_SCOPE(thread);
     HANDLESCOPE(thread);
 
-    Dart_Handle local = Api::NewHandle(
-        thread, String::New("strongly reachable", Heap::kOld));
+    Dart_Handle local =
+        Api::NewHandle(thread, String::New("strongly reachable", Heap::kOld));
     strong = Dart_NewPersistentHandle(local);
     strong_weak = Dart_NewWeakPersistentHandle(local, NULL, 0, NopCallback);
 
@@ -3250,8 +3206,7 @@
 static int global_epilogue_callback_status;
 
 
-static void EpilogueCallbackNOP() {
-}
+static void EpilogueCallbackNOP() {}
 
 
 static void EpilogueCallbackTimes4() {
@@ -3268,16 +3223,16 @@
   // GC callback addition testing.
 
   // Add GC callbacks.
-  EXPECT_VALID(Dart_SetGcCallbacks(&PrologueCallbackTimes2,
-                                   &EpilogueCallbackTimes4));
+  EXPECT_VALID(
+      Dart_SetGcCallbacks(&PrologueCallbackTimes2, &EpilogueCallbackTimes4));
 
   // Add the same callbacks again.  This is an error.
-  EXPECT(Dart_IsError(Dart_SetGcCallbacks(&PrologueCallbackTimes2,
-                                          &EpilogueCallbackTimes4)));
+  EXPECT(Dart_IsError(
+      Dart_SetGcCallbacks(&PrologueCallbackTimes2, &EpilogueCallbackTimes4)));
 
   // Add another callback. This is an error.
-  EXPECT(Dart_IsError(Dart_SetGcCallbacks(&PrologueCallbackTimes3,
-                                          &EpilogueCallbackTimes5)));
+  EXPECT(Dart_IsError(
+      Dart_SetGcCallbacks(&PrologueCallbackTimes3, &EpilogueCallbackTimes5)));
 
   // GC callback removal testing.
 
@@ -3287,8 +3242,8 @@
   // Remove GC callbacks whennone exist.  This is an error.
   EXPECT(Dart_IsError(Dart_SetGcCallbacks(NULL, NULL)));
 
-  EXPECT_VALID(Dart_SetGcCallbacks(&PrologueCallbackTimes2,
-                                   &EpilogueCallbackTimes4));
+  EXPECT_VALID(
+      Dart_SetGcCallbacks(&PrologueCallbackTimes2, &EpilogueCallbackTimes4));
   EXPECT(Dart_IsError(Dart_SetGcCallbacks(&PrologueCallbackTimes2, NULL)));
   EXPECT(Dart_IsError(Dart_SetGcCallbacks(NULL, &EpilogueCallbackTimes4)));
 }
@@ -3296,8 +3251,8 @@
 
 TEST_CASE(SingleGarbageCollectionCallback) {
   // Add a prologue callback.
-  EXPECT_VALID(Dart_SetGcCallbacks(&PrologueCallbackTimes2,
-                                   &EpilogueCallbackNOP));
+  EXPECT_VALID(
+      Dart_SetGcCallbacks(&PrologueCallbackTimes2, &EpilogueCallbackNOP));
 
   {
     TransitionNativeToVM transition(thread);
@@ -3318,13 +3273,12 @@
     EXPECT_EQ(6, global_prologue_callback_status);
     EXPECT_EQ(7, global_epilogue_callback_status);
 
-  // Garbage collect old space ignoring callbacks.  This should invoke
-  // the prologue callback.  The prologue status value should change.
+    // Garbage collect old space ignoring callbacks.  This should invoke
+    // the prologue callback.  The prologue status value should change.
     global_prologue_callback_status = 3;
     global_epilogue_callback_status = 7;
-    Isolate::Current()->heap()->CollectGarbage(Heap::kOld,
-                                               Heap::kIgnoreApiCallbacks,
-                                               Heap::kGCTestCase);
+    Isolate::Current()->heap()->CollectGarbage(
+        Heap::kOld, Heap::kIgnoreApiCallbacks, Heap::kGCTestCase);
     EXPECT_EQ(3, global_prologue_callback_status);
     EXPECT_EQ(7, global_epilogue_callback_status);
 
@@ -3345,8 +3299,8 @@
 
   // Add an epilogue callback.
   EXPECT_VALID(Dart_SetGcCallbacks(NULL, NULL));
-  EXPECT_VALID(Dart_SetGcCallbacks(&PrologueCallbackTimes2,
-                                   &EpilogueCallbackTimes4));
+  EXPECT_VALID(
+      Dart_SetGcCallbacks(&PrologueCallbackTimes2, &EpilogueCallbackTimes4));
 
   {
     TransitionNativeToVM transition(thread);
@@ -3376,9 +3330,8 @@
 
     // Garbage collect old space again without invoking callbacks.
     // Nothing should change.
-    Isolate::Current()->heap()->CollectGarbage(Heap::kOld,
-                                               Heap::kIgnoreApiCallbacks,
-                                               Heap::kGCTestCase);
+    Isolate::Current()->heap()->CollectGarbage(
+        Heap::kOld, Heap::kIgnoreApiCallbacks, Heap::kGCTestCase);
     EXPECT_EQ(6, global_prologue_callback_status);
     EXPECT_EQ(28, global_epilogue_callback_status);
 
@@ -3543,8 +3496,7 @@
   char* err;
   Dart_Isolate isolate =
       Dart_CreateIsolate(NULL, NULL, bin::isolate_snapshot_buffer, NULL,
-                         reinterpret_cast<void*>(mydata),
-                         &err);
+                         reinterpret_cast<void*>(mydata), &err);
   EXPECT(isolate != NULL);
   EXPECT_EQ(mydata, reinterpret_cast<intptr_t>(Dart_CurrentIsolateData()));
   EXPECT_EQ(mydata, reinterpret_cast<intptr_t>(Dart_IsolateData(isolate)));
@@ -3573,10 +3525,8 @@
   api_flags.enable_error_on_bad_override = true;
 
   char* err;
-  Dart_Isolate isolate = Dart_CreateIsolate(NULL, NULL,
-                                            bin::isolate_snapshot_buffer,
-                                            &api_flags,
-                                            NULL, &err);
+  Dart_Isolate isolate = Dart_CreateIsolate(
+      NULL, NULL, bin::isolate_snapshot_buffer, &api_flags, NULL, &err);
   if (isolate == NULL) {
     OS::Print("Creation of isolate failed '%s'\n", err);
     free(err);
@@ -3594,8 +3544,9 @@
     result = Dart_FinalizeLoading(false);
     EXPECT_VALID(result);
     result = Dart_Invoke(lib, NewString("bad1"), 0, NULL);
-    EXPECT_ERROR(result, "Unhandled exception:\n"
-        "type 'String' is not a subtype of type 'int' of 'foo'");
+    EXPECT_ERROR(result,
+                 "Unhandled exception:\n"
+                 "type 'String' is not a subtype of type 'int' of 'foo'");
 
     result = Dart_Invoke(lib, NewString("good1"), 0, NULL);
     EXPECT_VALID(result);
@@ -3616,8 +3567,7 @@
 }
 
 
-static void MyMessageNotifyCallback(Dart_Isolate dest_isolate) {
-}
+static void MyMessageNotifyCallback(Dart_Isolate dest_isolate) {}
 
 
 UNIT_TEST_CASE(SetMessageCallbacks) {
@@ -3630,8 +3580,7 @@
 
 
 TEST_CASE(SetStickyError) {
-    const char* kScriptChars =
-      "main() => throw 'HI';";
+  const char* kScriptChars = "main() => throw 'HI';";
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
   Dart_Handle retobj = Dart_Invoke(lib, NewString("main"), 0, NULL);
   EXPECT(Dart_IsError(retobj));
@@ -3670,7 +3619,7 @@
       "Type getMyClass1Type() { return new MyClass1().runtimeType; }\n"
       "Type getMyClass2Type() { return new MyClass2().runtimeType; }\n";
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
-  bool instanceof = false;
+  bool instanceOf = false;
 
   // First get the type objects of these non parameterized types.
   Dart_Handle type0 = Dart_GetType(lib, NewString("MyClass0"), 0, NULL);
@@ -3689,16 +3638,16 @@
   // MyClass0 type.
   Dart_Handle type0_obj = Dart_Invoke(lib, NewString("getMyClass0"), 0, NULL);
   EXPECT_VALID(type0_obj);
-  EXPECT_VALID(Dart_ObjectIsType(type0_obj, type0, &instanceof));
-  EXPECT(instanceof);
-  EXPECT_VALID(Dart_ObjectIsType(type0_obj, type1, &instanceof));
-  EXPECT(!instanceof);
-  EXPECT_VALID(Dart_ObjectIsType(type0_obj, type2, &instanceof));
-  EXPECT(!instanceof);
-  EXPECT_VALID(Dart_ObjectIsType(type0_obj, type3, &instanceof));
-  EXPECT(!instanceof);
-  EXPECT_VALID(Dart_ObjectIsType(type0_obj, type4, &instanceof));
-  EXPECT(!instanceof);
+  EXPECT_VALID(Dart_ObjectIsType(type0_obj, type0, &instanceOf));
+  EXPECT(instanceOf);
+  EXPECT_VALID(Dart_ObjectIsType(type0_obj, type1, &instanceOf));
+  EXPECT(!instanceOf);
+  EXPECT_VALID(Dart_ObjectIsType(type0_obj, type2, &instanceOf));
+  EXPECT(!instanceOf);
+  EXPECT_VALID(Dart_ObjectIsType(type0_obj, type3, &instanceOf));
+  EXPECT(!instanceOf);
+  EXPECT_VALID(Dart_ObjectIsType(type0_obj, type4, &instanceOf));
+  EXPECT(!instanceOf);
   type0_obj = Dart_Invoke(lib, NewString("getMyClass0Type"), 0, NULL);
   EXPECT_VALID(type0_obj);
   EXPECT(Dart_IdentityEquals(type0, type0_obj));
@@ -3706,16 +3655,16 @@
   // MyClass1 type.
   Dart_Handle type1_obj = Dart_Invoke(lib, NewString("getMyClass1"), 0, NULL);
   EXPECT_VALID(type1_obj);
-  EXPECT_VALID(Dart_ObjectIsType(type1_obj, type1, &instanceof));
-  EXPECT(instanceof);
-  EXPECT_VALID(Dart_ObjectIsType(type1_obj, type0, &instanceof));
-  EXPECT(!instanceof);
-  EXPECT_VALID(Dart_ObjectIsType(type1_obj, type2, &instanceof));
-  EXPECT(!instanceof);
-  EXPECT_VALID(Dart_ObjectIsType(type1_obj, type3, &instanceof));
-  EXPECT(instanceof);
-  EXPECT_VALID(Dart_ObjectIsType(type1_obj, type4, &instanceof));
-  EXPECT(instanceof);
+  EXPECT_VALID(Dart_ObjectIsType(type1_obj, type1, &instanceOf));
+  EXPECT(instanceOf);
+  EXPECT_VALID(Dart_ObjectIsType(type1_obj, type0, &instanceOf));
+  EXPECT(!instanceOf);
+  EXPECT_VALID(Dart_ObjectIsType(type1_obj, type2, &instanceOf));
+  EXPECT(!instanceOf);
+  EXPECT_VALID(Dart_ObjectIsType(type1_obj, type3, &instanceOf));
+  EXPECT(instanceOf);
+  EXPECT_VALID(Dart_ObjectIsType(type1_obj, type4, &instanceOf));
+  EXPECT(instanceOf);
   type1_obj = Dart_Invoke(lib, NewString("getMyClass1Type"), 0, NULL);
   EXPECT_VALID(type1_obj);
   EXPECT(Dart_IdentityEquals(type1, type1_obj));
@@ -3723,16 +3672,16 @@
   // MyClass2 type.
   Dart_Handle type2_obj = Dart_Invoke(lib, NewString("getMyClass2"), 0, NULL);
   EXPECT_VALID(type2_obj);
-  EXPECT_VALID(Dart_ObjectIsType(type2_obj, type2, &instanceof));
-  EXPECT(instanceof);
-  EXPECT_VALID(Dart_ObjectIsType(type2_obj, type0, &instanceof));
-  EXPECT(!instanceof);
-  EXPECT_VALID(Dart_ObjectIsType(type2_obj, type1, &instanceof));
-  EXPECT(!instanceof);
-  EXPECT_VALID(Dart_ObjectIsType(type2_obj, type3, &instanceof));
-  EXPECT(instanceof);
-  EXPECT_VALID(Dart_ObjectIsType(type2_obj, type4, &instanceof));
-  EXPECT(instanceof);
+  EXPECT_VALID(Dart_ObjectIsType(type2_obj, type2, &instanceOf));
+  EXPECT(instanceOf);
+  EXPECT_VALID(Dart_ObjectIsType(type2_obj, type0, &instanceOf));
+  EXPECT(!instanceOf);
+  EXPECT_VALID(Dart_ObjectIsType(type2_obj, type1, &instanceOf));
+  EXPECT(!instanceOf);
+  EXPECT_VALID(Dart_ObjectIsType(type2_obj, type3, &instanceOf));
+  EXPECT(instanceOf);
+  EXPECT_VALID(Dart_ObjectIsType(type2_obj, type4, &instanceOf));
+  EXPECT(instanceOf);
   type2_obj = Dart_Invoke(lib, NewString("getMyClass2Type"), 0, NULL);
   EXPECT_VALID(type2_obj);
   EXPECT(Dart_IdentityEquals(type2, type2_obj));
@@ -3771,7 +3720,7 @@
       "  return new MyClass1<List<int>, List<double>>().runtimeType;\n"
       "}\n";
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
-  bool instanceof = false;
+  bool instanceOf = false;
 
   // First get type objects of some of the basic types used in the test.
   Dart_Handle int_type = Dart_GetType(lib, NewString("int"), 0, NULL);
@@ -3782,10 +3731,8 @@
   EXPECT_VALID(list_type);
   Dart_Handle type_args = Dart_NewList(1);
   EXPECT_VALID(Dart_ListSetAt(type_args, 0, int_type));
-  Dart_Handle list_int_type = Dart_GetType(lib,
-                                           NewString("List"),
-                                           1,
-                                           &type_args);
+  Dart_Handle list_int_type =
+      Dart_GetType(lib, NewString("List"), 1, &type_args);
   EXPECT_VALID(list_int_type);
 
   // Now instantiate MyClass0 and MyClass1 types with the same type arguments
@@ -3793,19 +3740,15 @@
   type_args = Dart_NewList(2);
   EXPECT_VALID(Dart_ListSetAt(type_args, 0, int_type));
   EXPECT_VALID(Dart_ListSetAt(type_args, 1, double_type));
-  Dart_Handle myclass0_type = Dart_GetType(lib,
-                                           NewString("MyClass0"),
-                                           2,
-                                           &type_args);
+  Dart_Handle myclass0_type =
+      Dart_GetType(lib, NewString("MyClass0"), 2, &type_args);
   EXPECT_VALID(myclass0_type);
 
   type_args = Dart_NewList(2);
   EXPECT_VALID(Dart_ListSetAt(type_args, 0, list_int_type));
   EXPECT_VALID(Dart_ListSetAt(type_args, 1, list_type));
-  Dart_Handle myclass1_type = Dart_GetType(lib,
-                                           NewString("MyClass1"),
-                                           2,
-                                           &type_args);
+  Dart_Handle myclass1_type =
+      Dart_GetType(lib, NewString("MyClass1"), 2, &type_args);
   EXPECT_VALID(myclass1_type);
 
   // Now create objects of the type and validate the object type matches
@@ -3814,8 +3757,8 @@
   // MyClass0<int, double> type.
   Dart_Handle type0_obj = Dart_Invoke(lib, NewString("getMyClass0"), 0, NULL);
   EXPECT_VALID(type0_obj);
-  EXPECT_VALID(Dart_ObjectIsType(type0_obj, myclass0_type, &instanceof));
-  EXPECT(instanceof);
+  EXPECT_VALID(Dart_ObjectIsType(type0_obj, myclass0_type, &instanceOf));
+  EXPECT(instanceOf);
   type0_obj = Dart_Invoke(lib, NewString("getMyClass0Type"), 0, NULL);
   EXPECT_VALID(type0_obj);
   EXPECT(Dart_IdentityEquals(type0_obj, myclass0_type));
@@ -3823,8 +3766,8 @@
   // MyClass1<List<int>, List> type.
   Dart_Handle type1_obj = Dart_Invoke(lib, NewString("getMyClass1"), 0, NULL);
   EXPECT_VALID(type1_obj);
-  EXPECT_VALID(Dart_ObjectIsType(type1_obj, myclass1_type, &instanceof));
-  EXPECT(instanceof);
+  EXPECT_VALID(Dart_ObjectIsType(type1_obj, myclass1_type, &instanceOf));
+  EXPECT(instanceOf);
   type1_obj = Dart_Invoke(lib, NewString("getMyClass1Type"), 0, NULL);
   EXPECT_VALID(type1_obj);
   EXPECT(Dart_IdentityEquals(type1_obj, myclass1_type));
@@ -3832,8 +3775,8 @@
   // MyClass0<double, int> type.
   type0_obj = Dart_Invoke(lib, NewString("getMyClass0_1"), 0, NULL);
   EXPECT_VALID(type0_obj);
-  EXPECT_VALID(Dart_ObjectIsType(type0_obj, myclass0_type, &instanceof));
-  EXPECT(!instanceof);
+  EXPECT_VALID(Dart_ObjectIsType(type0_obj, myclass0_type, &instanceOf));
+  EXPECT(!instanceOf);
   type0_obj = Dart_Invoke(lib, NewString("getMyClass0_1Type"), 0, NULL);
   EXPECT_VALID(type0_obj);
   EXPECT(!Dart_IdentityEquals(type0_obj, myclass0_type));
@@ -3841,8 +3784,8 @@
   // MyClass1<List<int>, List<double>> type.
   type1_obj = Dart_Invoke(lib, NewString("getMyClass1_1"), 0, NULL);
   EXPECT_VALID(type1_obj);
-  EXPECT_VALID(Dart_ObjectIsType(type1_obj, myclass1_type, &instanceof));
-  EXPECT(instanceof);
+  EXPECT_VALID(Dart_ObjectIsType(type1_obj, myclass1_type, &instanceOf));
+  EXPECT(instanceOf);
   type1_obj = Dart_Invoke(lib, NewString("getMyClass1_1Type"), 0, NULL);
   EXPECT_VALID(type1_obj);
   EXPECT(!Dart_IdentityEquals(type1_obj, myclass1_type));
@@ -3887,8 +3830,7 @@
 }
 
 
-static void TestFieldNotFound(Dart_Handle container,
-                              Dart_Handle name) {
+static void TestFieldNotFound(Dart_Handle container, Dart_Handle name) {
   EXPECT(Dart_IsError(Dart_GetField(container, name)));
   EXPECT(Dart_IsError(Dart_SetField(container, name, Dart_Null())));
 }
@@ -4147,8 +4089,7 @@
 
 
 TEST_CASE(SetField_FunnyValue) {
-  const char* kScriptChars =
-      "var top;\n";
+  const char* kScriptChars = "var top;\n";
 
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
   Dart_Handle name = NewString("top");
@@ -4213,14 +4154,12 @@
   const int kNumNativeFields = 4;
 
   // Create a test library.
-  Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL,
-                                             USER_TEST_URI, false);
+  Dart_Handle lib =
+      TestCase::LoadTestScript(kScriptChars, NULL, USER_TEST_URI, false);
 
   // Create a native wrapper class with native fields.
-  result = Dart_CreateNativeWrapperClass(
-      lib,
-      NewString("NativeFieldsWrapper"),
-      kNumNativeFields);
+  result = Dart_CreateNativeWrapperClass(lib, NewString("NativeFieldsWrapper"),
+                                         kNumNativeFields);
   EXPECT_VALID(result);
   result = Dart_FinalizeLoading(false);
   EXPECT_VALID(result);
@@ -4242,9 +4181,9 @@
   // We check to make sure the instance size computed by the VM matches
   // our expectations.
   intptr_t header_size = sizeof(RawObject);
-  EXPECT_EQ(Utils::RoundUp(((1 + 2) * kWordSize) + header_size,
-                           kObjectAlignment),
-            cls.instance_size());
+  EXPECT_EQ(
+      Utils::RoundUp(((1 + 2) * kWordSize) + header_size, kObjectAlignment),
+      cls.instance_size());
   EXPECT_EQ(kNumNativeFields, cls.num_native_fields());
 }
 
@@ -4264,8 +4203,8 @@
       "}\n";
   Dart_Handle result;
   // Create a test library and Load up a test script in it.
-  Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL,
-                                             USER_TEST_URI, false);
+  Dart_Handle lib =
+      TestCase::LoadTestScript(kScriptChars, NULL, USER_TEST_URI, false);
 
   // Invoke a function which returns an object of type NativeFields.
   result = Dart_Invoke(lib, NewString("testMain"), 0, NULL);
@@ -4295,8 +4234,7 @@
   const int kNumNativeFields = 2;
 
   // Load up a test script in the test library.
-  Dart_Handle lib = TestCase::LoadTestScript(kScriptChars,
-                                             native_field_lookup);
+  Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, native_field_lookup);
 
   // Invoke a function which returns an object of type NativeFields.
   result = Dart_Invoke(lib, NewString("testMain"), 0, NULL);
@@ -4313,9 +4251,9 @@
   // We check to make sure the instance size computed by the VM matches
   // our expectations.
   intptr_t header_size = sizeof(RawObject);
-  EXPECT_EQ(Utils::RoundUp(((1 + 2) * kWordSize) + header_size,
-                           kObjectAlignment),
-            cls.instance_size());
+  EXPECT_EQ(
+      Utils::RoundUp(((1 + 2) * kWordSize) + header_size, kObjectAlignment),
+      cls.instance_size());
   EXPECT_EQ(kNumNativeFields, cls.num_native_fields());
 }
 
@@ -4369,16 +4307,12 @@
 
 void TestNativeFieldsAccess_access(Dart_NativeArguments args) {
   intptr_t field_values[kTestNumNativeFields];
-  Dart_Handle result = Dart_GetNativeFieldsOfArgument(args,
-                                                      0,
-                                                      kTestNumNativeFields,
-                                                      field_values);
+  Dart_Handle result = Dart_GetNativeFieldsOfArgument(
+      args, 0, kTestNumNativeFields, field_values);
   EXPECT_VALID(result);
   EXPECT_EQ(kNativeField1Value, field_values[0]);
   EXPECT_EQ(kNativeField2Value, field_values[1]);
-  result = Dart_GetNativeFieldsOfArgument(args,
-                                          1,
-                                          kTestNumNativeFields,
+  result = Dart_GetNativeFieldsOfArgument(args, 1, kTestNumNativeFields,
                                           field_values);
   EXPECT_VALID(result);
   EXPECT_EQ(0, field_values[0]);
@@ -4428,8 +4362,8 @@
       "}\n";
 
   // Load up a test script in the test library.
-  Dart_Handle lib = TestCase::LoadTestScript(kScriptChars,
-                                             TestNativeFieldsAccess_lookup);
+  Dart_Handle lib =
+      TestCase::LoadTestScript(kScriptChars, TestNativeFieldsAccess_lookup);
 
   // Invoke a function which returns an object of type NativeFields.
   Dart_Handle result = Dart_Invoke(lib, NewString("testMain"), 0, NULL);
@@ -4483,13 +4417,9 @@
   EXPECT_VALID(result);
   result = Dart_IntegerToInt64(result, &value);
   EXPECT_EQ(20, value);
-  result = Dart_SetField(retobj,
-                         NewString("fld2"),
-                         Dart_NewInteger(40));
+  result = Dart_SetField(retobj, NewString("fld2"), Dart_NewInteger(40));
   EXPECT(Dart_IsError(result));
-  result = Dart_SetField(retobj,
-                         NewString("fld1"),
-                         Dart_NewInteger(40));
+  result = Dart_SetField(retobj, NewString("fld1"), Dart_NewInteger(40));
   EXPECT_VALID(result);
   result = Dart_GetField(retobj, NewString("fld1"));
   EXPECT_VALID(result);
@@ -4564,16 +4494,12 @@
   const int kNumNativeFields = 4;
 
   // Create a test library.
-  Dart_Handle lib = TestCase::LoadTestScript(kScriptChars,
-                                             native_field_lookup,
-                                             USER_TEST_URI,
-                                             false);
+  Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, native_field_lookup,
+                                             USER_TEST_URI, false);
 
   // Create a native wrapper class with native fields.
   Dart_Handle result = Dart_CreateNativeWrapperClass(
-      lib,
-      NewString("NativeFieldsWrapper"),
-      kNumNativeFields);
+      lib, NewString("NativeFieldsWrapper"), kNumNativeFields);
   EXPECT_VALID(result);
   result = Dart_FinalizeLoading(false);
   EXPECT_VALID(result);
@@ -4617,8 +4543,7 @@
       "  return obj;\n"
       "}\n";
   // Load up a test script in the test library.
-  Dart_Handle lib = TestCase::LoadTestScript(kScriptChars,
-                                             native_field_lookup);
+  Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, native_field_lookup);
 
   // Invoke a function which returns an object of type NativeFields.
   Dart_Handle retobj = Dart_Invoke(lib, NewString("testMain"), 0, NULL);
@@ -4770,9 +4695,7 @@
   EXPECT_EQ(11, value);
 
   // Overwrite fld2
-  result = Dart_SetField(type,
-                         NewString("fld2"),
-                         Dart_NewInteger(13));
+  result = Dart_SetField(type, NewString("fld2"), Dart_NewInteger(13));
   EXPECT_VALID(result);
 
   // We now get the new value for fld2, not the initializer
@@ -4871,9 +4794,9 @@
   // Allocate and Invoke the unnamed constructor passing in Dart_Null.
   Dart_Handle result = Dart_New(type, Dart_Null(), 0, NULL);
   EXPECT_VALID(result);
-  bool instanceof = false;
-  EXPECT_VALID(Dart_ObjectIsType(result, type, &instanceof));
-  EXPECT(instanceof);
+  bool instanceOf = false;
+  EXPECT_VALID(Dart_ObjectIsType(result, type, &instanceOf));
+  EXPECT(instanceOf);
   int64_t int_value = 0;
   Dart_Handle foo = Dart_GetField(result, NewString("foo"));
   EXPECT_VALID(Dart_IntegerToInt64(foo, &int_value));
@@ -4882,18 +4805,18 @@
   // Allocate without a constructor.
   Dart_Handle obj = Dart_Allocate(type);
   EXPECT_VALID(obj);
-  instanceof = false;
-  EXPECT_VALID(Dart_ObjectIsType(obj, type, &instanceof));
-  EXPECT(instanceof);
+  instanceOf = false;
+  EXPECT_VALID(Dart_ObjectIsType(obj, type, &instanceOf));
+  EXPECT(instanceOf);
   foo = Dart_GetField(obj, NewString("foo"));
   EXPECT(Dart_IsNull(foo));
 
   // Allocate and Invoke the unnamed constructor passing in an empty string.
   result = Dart_New(type, Dart_EmptyString(), 0, NULL);
   EXPECT_VALID(result);
-  instanceof = false;
-  EXPECT_VALID(Dart_ObjectIsType(result, type, &instanceof));
-  EXPECT(instanceof);
+  instanceOf = false;
+  EXPECT_VALID(Dart_ObjectIsType(result, type, &instanceOf));
+  EXPECT(instanceOf);
   int_value = 0;
   foo = Dart_GetField(result, NewString("foo"));
   EXPECT_VALID(Dart_IntegerToInt64(foo, &int_value));
@@ -4902,9 +4825,9 @@
   // Allocate object and invoke the unnamed constructor with an empty string.
   obj = Dart_Allocate(type);
   EXPECT_VALID(obj);
-  instanceof = false;
-  EXPECT_VALID(Dart_ObjectIsType(obj, type, &instanceof));
-  EXPECT(instanceof);
+  instanceOf = false;
+  EXPECT_VALID(Dart_ObjectIsType(obj, type, &instanceOf));
+  EXPECT(instanceOf);
   // Use the empty string to invoke the unnamed constructor.
   result = Dart_InvokeConstructor(obj, Dart_EmptyString(), 0, NULL);
   EXPECT_VALID(result);
@@ -4923,8 +4846,8 @@
   // Invoke a named constructor.
   result = Dart_New(type, NewString("named"), 1, args);
   EXPECT_VALID(result);
-  EXPECT_VALID(Dart_ObjectIsType(result, type, &instanceof));
-  EXPECT(instanceof);
+  EXPECT_VALID(Dart_ObjectIsType(result, type, &instanceOf));
+  EXPECT(instanceOf);
   int_value = 0;
   foo = Dart_GetField(result, NewString("foo"));
   EXPECT_VALID(Dart_IntegerToInt64(foo, &int_value));
@@ -4933,9 +4856,9 @@
   // Allocate object and invoke a named constructor.
   obj = Dart_Allocate(type);
   EXPECT_VALID(obj);
-  instanceof = false;
-  EXPECT_VALID(Dart_ObjectIsType(obj, type, &instanceof));
-  EXPECT(instanceof);
+  instanceOf = false;
+  EXPECT_VALID(Dart_ObjectIsType(obj, type, &instanceOf));
+  EXPECT(instanceOf);
   result = Dart_InvokeConstructor(obj, NewString("named"), 1, args);
   EXPECT_VALID(result);
   int_value = 0;
@@ -4946,8 +4869,8 @@
   // Invoke a hidden named constructor.
   result = Dart_New(type, NewString("_hidden"), 1, args);
   EXPECT_VALID(result);
-  EXPECT_VALID(Dart_ObjectIsType(result, type, &instanceof));
-  EXPECT(instanceof);
+  EXPECT_VALID(Dart_ObjectIsType(result, type, &instanceOf));
+  EXPECT(instanceOf);
   int_value = 0;
   foo = Dart_GetField(result, NewString("foo"));
   EXPECT_VALID(Dart_IntegerToInt64(foo, &int_value));
@@ -4956,9 +4879,9 @@
   // Allocate object and invoke a hidden named constructor.
   obj = Dart_Allocate(type);
   EXPECT_VALID(obj);
-  instanceof = false;
-  EXPECT_VALID(Dart_ObjectIsType(obj, type, &instanceof));
-  EXPECT(instanceof);
+  instanceOf = false;
+  EXPECT_VALID(Dart_ObjectIsType(obj, type, &instanceOf));
+  EXPECT(instanceOf);
   result = Dart_InvokeConstructor(obj, NewString("_hidden"), 1, args);
   EXPECT_VALID(result);
   int_value = 0;
@@ -4969,17 +4892,17 @@
   // Allocate object and Invoke a constructor which throws an exception.
   obj = Dart_Allocate(type);
   EXPECT_VALID(obj);
-  instanceof = false;
-  EXPECT_VALID(Dart_ObjectIsType(obj, type, &instanceof));
-  EXPECT(instanceof);
+  instanceOf = false;
+  EXPECT_VALID(Dart_ObjectIsType(obj, type, &instanceOf));
+  EXPECT(instanceOf);
   result = Dart_InvokeConstructor(obj, NewString("exception"), 1, args);
   EXPECT_ERROR(result, "ConstructorDeath");
 
   // Invoke a factory constructor.
   result = Dart_New(type, NewString("multiply"), 1, args);
   EXPECT_VALID(result);
-  EXPECT_VALID(Dart_ObjectIsType(result, type, &instanceof));
-  EXPECT(instanceof);
+  EXPECT_VALID(Dart_ObjectIsType(result, type, &instanceOf));
+  EXPECT(instanceOf);
   int_value = 0;
   foo = Dart_GetField(result, NewString("foo"));
   EXPECT_VALID(Dart_IntegerToInt64(foo, &int_value));
@@ -5033,8 +4956,8 @@
   // Invoke two-hop redirecting factory constructor.
   result = Dart_New(intf, NewString("named"), 1, args);
   EXPECT_VALID(result);
-  EXPECT_VALID(Dart_ObjectIsType(result, type, &instanceof));
-  EXPECT(instanceof);
+  EXPECT_VALID(Dart_ObjectIsType(result, type, &instanceOf));
+  EXPECT(instanceOf);
   int_value = 0;
   foo = Dart_GetField(result, NewString("foo"));
   EXPECT_VALID(Dart_IntegerToInt64(foo, &int_value));
@@ -5043,8 +4966,8 @@
   // Invoke one-hop redirecting factory constructor.
   result = Dart_New(intf, NewString("multiply"), 1, args);
   EXPECT_VALID(result);
-  EXPECT_VALID(Dart_ObjectIsType(result, type, &instanceof));
-  EXPECT(instanceof);
+  EXPECT_VALID(Dart_ObjectIsType(result, type, &instanceOf));
+  EXPECT(instanceOf);
   int_value = 0;
   foo = Dart_GetField(result, NewString("foo"));
   EXPECT_VALID(Dart_IntegerToInt64(foo, &int_value));
@@ -5052,14 +4975,13 @@
 
   // Invoke a constructor that is missing in the interface.
   result = Dart_New(intf, Dart_Null(), 0, NULL);
-  EXPECT_ERROR(result,
-               "Dart_New: could not find constructor 'MyInterface.'.");
+  EXPECT_ERROR(result, "Dart_New: could not find constructor 'MyInterface.'.");
 
   // Invoke abstract constructor that is present in the interface.
   result = Dart_New(intf, NewString("notfound"), 1, args);
   EXPECT_VALID(result);
-  EXPECT_VALID(Dart_ObjectIsType(result, type, &instanceof));
-  EXPECT(!instanceof);
+  EXPECT_VALID(Dart_ObjectIsType(result, type, &instanceOf));
+  EXPECT(!instanceOf);
 }
 
 
@@ -5237,8 +5159,7 @@
 
 
 TEST_CASE(Invoke_FunnyArgs) {
-  const char* kScriptChars =
-      "test(arg) => 'hello $arg';\n";
+  const char* kScriptChars = "test(arg) => 'hello $arg';\n";
 
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
   Dart_Handle func_name = NewString("test");
@@ -5260,8 +5181,7 @@
   EXPECT_STREQ("hello null", str);
 
   // Pass an error handle as the target.  The error is propagated.
-  result = Dart_Invoke(Api::NewError("myerror"),
-                       func_name, 1, args);
+  result = Dart_Invoke(Api::NewError("myerror"), func_name, 1, args);
   EXPECT(Dart_IsError(result));
   EXPECT_STREQ("myerror", Dart_GetError(result));
 
@@ -5286,10 +5206,7 @@
 
 
 TEST_CASE(Invoke_Null) {
-  Dart_Handle result = Dart_Invoke(Dart_Null(),
-                                   NewString("toString"),
-                                   0,
-                                   NULL);
+  Dart_Handle result = Dart_Invoke(Dart_Null(), NewString("toString"), 0, NULL);
   EXPECT_VALID(result);
   EXPECT(Dart_IsString(result));
 
@@ -5298,10 +5215,7 @@
   EXPECT_STREQ("null", value);
 
   Dart_Handle function_name = NewString("NoNoNo");
-  result = Dart_Invoke(Dart_Null(),
-                       function_name,
-                       0,
-                       NULL);
+  result = Dart_Invoke(Dart_Null(), function_name, 0, NULL);
   EXPECT(Dart_IsError(result));
   EXPECT(Dart_ErrorHasException(result));
 }
@@ -5495,16 +5409,14 @@
 
 
 TEST_CASE(ThrowException) {
-  const char* kScriptChars =
-      "int test() native \"ThrowException_native\";";
+  const char* kScriptChars = "int test() native \"ThrowException_native\";";
   Dart_Handle result;
   intptr_t size = thread->ZoneSizeInBytes();
   Dart_EnterScope();  // Start a Dart API scope for invoking API functions.
 
   // Load up a test script which extends the native wrapper class.
   Dart_Handle lib = TestCase::LoadTestScript(
-      kScriptChars,
-      reinterpret_cast<Dart_NativeEntryResolver>(native_lookup));
+      kScriptChars, reinterpret_cast<Dart_NativeEntryResolver>(native_lookup));
 
   // Throwing an exception here should result in an error.
   result = Dart_ThrowException(NewString("This doesn't work"));
@@ -5531,14 +5443,11 @@
 
   // Allocate without a constructor.
   const int num_native_fields = 2;
-  const intptr_t native_fields[] = {
-    kNativeArgumentNativeField1Value,
-    kNativeArgumentNativeField2Value
-  };
+  const intptr_t native_fields[] = {kNativeArgumentNativeField1Value,
+                                    kNativeArgumentNativeField2Value};
   // Allocate and Setup native fields.
-  Dart_Handle obj = Dart_AllocateWithNativeFields(type,
-                                                  num_native_fields,
-                                                  native_fields);
+  Dart_Handle obj =
+      Dart_AllocateWithNativeFields(type, num_native_fields, native_fields);
   EXPECT_VALID(obj);
 
   kNativeArgumentNativeField1Value *= 2;
@@ -5556,25 +5465,23 @@
     intptr_t native_fields1[kNumNativeFields];
     intptr_t native_fields2[kNumNativeFields];
     const Dart_NativeArgument_Descriptor arg_descriptors[9] = {
-      { Dart_NativeArgument_kNativeFields, 0 },
-      { Dart_NativeArgument_kInt32, 1 },
-      { Dart_NativeArgument_kUint64, 2 },
-      { Dart_NativeArgument_kBool, 3 },
-      { Dart_NativeArgument_kDouble, 4 },
-      { Dart_NativeArgument_kString, 5 },
-      { Dart_NativeArgument_kString, 6 },
-      { Dart_NativeArgument_kNativeFields, 7 },
-      { Dart_NativeArgument_kInstance, 7 },
+        {Dart_NativeArgument_kNativeFields, 0},
+        {Dart_NativeArgument_kInt32, 1},
+        {Dart_NativeArgument_kUint64, 2},
+        {Dart_NativeArgument_kBool, 3},
+        {Dart_NativeArgument_kDouble, 4},
+        {Dart_NativeArgument_kString, 5},
+        {Dart_NativeArgument_kString, 6},
+        {Dart_NativeArgument_kNativeFields, 7},
+        {Dart_NativeArgument_kInstance, 7},
     };
     Dart_NativeArgument_Value arg_values[9];
     arg_values[0].as_native_fields.num_fields = kNumNativeFields;
     arg_values[0].as_native_fields.values = native_fields1;
     arg_values[7].as_native_fields.num_fields = kNumNativeFields;
     arg_values[7].as_native_fields.values = native_fields2;
-    Dart_Handle result = Dart_GetNativeArguments(args,
-                                                 9,
-                                                 arg_descriptors,
-                                                 arg_values);
+    Dart_Handle result =
+        Dart_GetNativeArguments(args, 9, arg_descriptors, arg_values);
     EXPECT_VALID(result);
 
     EXPECT(arg_values[0].as_native_fields.values[0] == 30);
@@ -5604,48 +5511,44 @@
     EXPECT_VALID(arg_values[8].as_instance);
     EXPECT(Dart_IsInstance(arg_values[8].as_instance));
     int field_count = 0;
-    EXPECT_VALID(Dart_GetNativeInstanceFieldCount(
-        arg_values[8].as_instance, &field_count));
+    EXPECT_VALID(Dart_GetNativeInstanceFieldCount(arg_values[8].as_instance,
+                                                  &field_count));
     EXPECT(field_count == 2);
   }
 
   // Test with an invalid descriptor set (invalid type).
   {
     const Dart_NativeArgument_Descriptor arg_descriptors[8] = {
-      { Dart_NativeArgument_kInt32, 1 },
-      { Dart_NativeArgument_kUint64, 2 },
-      { Dart_NativeArgument_kString, 3 },
-      { Dart_NativeArgument_kDouble, 4 },
-      { Dart_NativeArgument_kString, 5 },
-      { Dart_NativeArgument_kString, 6 },
-      { Dart_NativeArgument_kNativeFields, 0 },
-      { Dart_NativeArgument_kNativeFields, 7 },
+        {Dart_NativeArgument_kInt32, 1},
+        {Dart_NativeArgument_kUint64, 2},
+        {Dart_NativeArgument_kString, 3},
+        {Dart_NativeArgument_kDouble, 4},
+        {Dart_NativeArgument_kString, 5},
+        {Dart_NativeArgument_kString, 6},
+        {Dart_NativeArgument_kNativeFields, 0},
+        {Dart_NativeArgument_kNativeFields, 7},
     };
     Dart_NativeArgument_Value arg_values[8];
-    Dart_Handle result = Dart_GetNativeArguments(args,
-                                                 8,
-                                                 arg_descriptors,
-                                                 arg_values);
+    Dart_Handle result =
+        Dart_GetNativeArguments(args, 8, arg_descriptors, arg_values);
     EXPECT(Dart_IsError(result));
   }
 
   // Test with an invalid range error.
   {
     const Dart_NativeArgument_Descriptor arg_descriptors[8] = {
-      { Dart_NativeArgument_kInt32, 2 },
-      { Dart_NativeArgument_kUint64, 2 },
-      { Dart_NativeArgument_kBool, 3 },
-      { Dart_NativeArgument_kDouble, 4 },
-      { Dart_NativeArgument_kString, 5 },
-      { Dart_NativeArgument_kString, 6 },
-      { Dart_NativeArgument_kNativeFields, 0 },
-      { Dart_NativeArgument_kNativeFields, 7 },
+        {Dart_NativeArgument_kInt32, 2},
+        {Dart_NativeArgument_kUint64, 2},
+        {Dart_NativeArgument_kBool, 3},
+        {Dart_NativeArgument_kDouble, 4},
+        {Dart_NativeArgument_kString, 5},
+        {Dart_NativeArgument_kString, 6},
+        {Dart_NativeArgument_kNativeFields, 0},
+        {Dart_NativeArgument_kNativeFields, 7},
     };
     Dart_NativeArgument_Value arg_values[8];
-    Dart_Handle result = Dart_GetNativeArguments(args,
-                                                 8,
-                                                 arg_descriptors,
-                                                 arg_values);
+    Dart_Handle result =
+        Dart_GetNativeArguments(args, 8, arg_descriptors, arg_values);
     EXPECT(Dart_IsError(result));
   }
 
@@ -5712,11 +5615,8 @@
   EXPECT_VALID(Dart_StringStorageSize(ascii_str, &size));
   uint8_t ext_ascii_str[10];
   Dart_Handle extstr = Dart_MakeExternalString(
-      ascii_str,
-      ext_ascii_str,
-      size,
-      reinterpret_cast<void*>(&native_arg_str_peer),
-      NULL);
+      ascii_str, ext_ascii_str, size,
+      reinterpret_cast<void*>(&native_arg_str_peer), NULL);
 
   Dart_Handle args[1];
   args[0] = extstr;
@@ -5756,8 +5656,7 @@
       "}";
 
   Dart_Handle lib = TestCase::LoadTestScript(
-      kScriptChars,
-      reinterpret_cast<Dart_NativeEntryResolver>(gnac_lookup));
+      kScriptChars, reinterpret_cast<Dart_NativeEntryResolver>(gnac_lookup));
 
   Dart_Handle result = Dart_Invoke(lib, NewString("testMain"), 0, NULL);
   EXPECT_VALID(result);
@@ -5859,8 +5758,7 @@
   EXPECT(!is_instance);
 
   // Check that primitives are not instances of InstanceOfTest class.
-  result = Dart_ObjectIsType(NewString("a string"), otherType,
-                             &is_instance);
+  result = Dart_ObjectIsType(NewString("a string"), otherType, &is_instance);
   EXPECT_VALID(result);
   EXPECT(!is_instance);
 
@@ -5873,10 +5771,7 @@
   EXPECT(!is_instance);
 
   // Check that null is not an instance of InstanceOfTest class.
-  Dart_Handle null = Dart_Invoke(otherType,
-                                 NewString("returnNull"),
-                                 0,
-                                 NULL);
+  Dart_Handle null = Dart_Invoke(otherType, NewString("returnNull"), 0, NULL);
   EXPECT_VALID(null);
 
   result = Dart_ObjectIsType(null, otherType, &is_instance);
@@ -5966,9 +5861,10 @@
   // Further calls to LoadScript are errors.
   result = Dart_LoadScript(url, Dart_Null(), source, 0, 0);
   EXPECT(Dart_IsError(result));
-  EXPECT_STREQ("Dart_LoadScript: "
-               "A script has already been loaded from 'test-lib'.",
-               Dart_GetError(result));
+  EXPECT_STREQ(
+      "Dart_LoadScript: "
+      "A script has already been loaded from 'test-lib'.",
+      Dart_GetError(result));
 }
 
 
@@ -6068,8 +5964,7 @@
 
 
 TEST_CASE(LoadScript_CompileError) {
-  const char* kScriptChars =
-      ")";
+  const char* kScriptChars = ")";
   Dart_Handle url = NewString(TestCase::url());
   Dart_Handle source = NewString(kScriptChars);
   Dart_Handle result = Dart_SetLibraryTagHandler(import_library_handler);
@@ -6128,8 +6023,7 @@
 
 
 TEST_CASE(LibraryName) {
-  const char* kLibrary1Chars =
-      "library library1_name;";
+  const char* kLibrary1Chars = "library library1_name;";
   Dart_Handle url = NewString("library1_url");
   Dart_Handle source = NewString(kLibrary1Chars);
   Dart_Handle lib = Dart_LoadLibrary(url, Dart_Null(), source, 0, 0);
@@ -6164,8 +6058,7 @@
 
 
 TEST_CASE(LibraryId) {
-  const char* kLibrary1Chars =
-      "library library1_name;";
+  const char* kLibrary1Chars = "library library1_name;";
   Dart_Handle url = NewString("library1_url");
   Dart_Handle source = NewString(kLibrary1Chars);
   Dart_Handle lib = Dart_LoadLibrary(url, Dart_Null(), source, 0, 0);
@@ -6204,8 +6097,7 @@
 
 
 TEST_CASE(LibraryUrl) {
-  const char* kLibrary1Chars =
-      "library library1_name;";
+  const char* kLibrary1Chars = "library library1_name;";
   Dart_Handle url = NewString("library1_url");
   Dart_Handle source = NewString(kLibrary1Chars);
   Dart_Handle lib = Dart_LoadLibrary(url, Dart_Null(), source, 0, 0);
@@ -6348,10 +6240,8 @@
 
 
 TEST_CASE(LibraryImportLibrary) {
-  const char* kLibrary1Chars =
-      "library library1_name;";
-  const char* kLibrary2Chars =
-      "library library2_name;";
+  const char* kLibrary1Chars = "library library1_name;";
+  const char* kLibrary2Chars = "library library2_name;";
   Dart_Handle error = Dart_NewApiError("incoming error");
   Dart_Handle result;
 
@@ -6373,9 +6263,10 @@
 
   result = Dart_LibraryImportLibrary(Dart_True(), lib2, Dart_Null());
   EXPECT(Dart_IsError(result));
-  EXPECT_STREQ("Dart_LibraryImportLibrary expects argument 'library' to be of "
-               "type Library.",
-               Dart_GetError(result));
+  EXPECT_STREQ(
+      "Dart_LibraryImportLibrary expects argument 'library' to be of "
+      "type Library.",
+      Dart_GetError(result));
 
   result = Dart_LibraryImportLibrary(error, lib2, Dart_Null());
   EXPECT(Dart_IsError(result));
@@ -6389,9 +6280,10 @@
 
   result = Dart_LibraryImportLibrary(lib1, Dart_True(), Dart_Null());
   EXPECT(Dart_IsError(result));
-  EXPECT_STREQ("Dart_LibraryImportLibrary expects argument 'import' to be of "
-               "type Library.",
-               Dart_GetError(result));
+  EXPECT_STREQ(
+      "Dart_LibraryImportLibrary expects argument 'import' to be of "
+      "type Library.",
+      Dart_GetError(result));
 
   result = Dart_LibraryImportLibrary(lib1, error, Dart_Null());
   EXPECT(Dart_IsError(result));
@@ -6444,10 +6336,8 @@
 }
 
 
-
 TEST_CASE(LoadLibrary) {
-  const char* kLibrary1Chars =
-      "library library1_name;";
+  const char* kLibrary1Chars = "library library1_name;";
   Dart_Handle error = Dart_NewApiError("incoming error");
   Dart_Handle result;
 
@@ -6520,12 +6410,9 @@
 
 
 TEST_CASE(LoadSource) {
-  const char* kLibrary1Chars =
-      "library library1_name;";
-  const char* kSourceChars =
-      "part of library1_name;\n// Something innocuous";
-  const char* kBadSourceChars =
-      ")";
+  const char* kLibrary1Chars = "library library1_name;";
+  const char* kSourceChars = "part of library1_name;\n// Something innocuous";
+  const char* kBadSourceChars = ")";
   Dart_Handle error = Dart_NewApiError("incoming error");
   Dart_Handle result;
 
@@ -6663,13 +6550,11 @@
 
 
 TEST_CASE(LoadPatch) {
-  const char* kLibrary1Chars =
-      "library library1_name;";
+  const char* kLibrary1Chars = "library library1_name;";
   const char* kSourceChars =
       "part of library1_name;\n"
       "external int foo();";
-  const char* kPatchChars =
-      "@patch int foo() => 42;";
+  const char* kPatchChars = "@patch int foo() => 42;";
 
   // Load up a library.
   Dart_Handle url = NewString("library1_url");
@@ -6704,8 +6589,7 @@
   // This tests the sort of APIs with intentional signature mismatches we need
   // for typed Dart-JavaScript interop where we emulated JavaScript semantics
   // for optional arguments.
-  const char* kLibrary1Chars =
-      "library library1_name;";
+  const char* kLibrary1Chars = "library library1_name;";
   const char* kSourceChars =
       "part of library1_name;\n"
       "external int foo([int x]);\n"
@@ -6834,84 +6718,80 @@
 
 TEST_CASE(ParsePatchLibrary) {
   const char* kLibraryChars =
-  "library patched_library;\n"
-  "class A {\n"
-  "  final fvalue;\n"
-  "  var _f;\n"
-  "  callFunc(x, y) => x(y);\n"
-  "  external void method(var value);\n"
-  "  get field => _field;\n"
-  "}\n"
-  "class B {\n"
-  "  var val;\n"
-  "  external B.named(x);\n"
-  "  external B(v);\n"
-  "}\n"
-  "class C {\n"
-  "  external int method();\n"
-  "}\n"
-  "\n"
-  "external int unpatched();\n"
-  "external int topLevel(var value);\n"
-  "external int topLevel2(var value);\n"
-  "external int get topLevelGetter;\n"
-  "external void set topLevelSetter(int value);\n";
+      "library patched_library;\n"
+      "class A {\n"
+      "  final fvalue;\n"
+      "  var _f;\n"
+      "  callFunc(x, y) => x(y);\n"
+      "  external void method(var value);\n"
+      "  get field => _field;\n"
+      "}\n"
+      "class B {\n"
+      "  var val;\n"
+      "  external B.named(x);\n"
+      "  external B(v);\n"
+      "}\n"
+      "class C {\n"
+      "  external int method();\n"
+      "}\n"
+      "\n"
+      "external int unpatched();\n"
+      "external int topLevel(var value);\n"
+      "external int topLevel2(var value);\n"
+      "external int get topLevelGetter;\n"
+      "external void set topLevelSetter(int value);\n";
 
   const char* kPatchChars =
-  "@patch class A {\n"
-  "  var _g;\n"
-  "  A() : fvalue = 13;\n"
-  "  get _field => _g;\n"
-  "  @patch void method(var value) {\n"
-  "    int closeYourEyes(var eggs) { return eggs * -1; }\n"
-  "    value = callFunc(closeYourEyes, value);\n"
-  "    _g = value * 5;\n"
-  "  }\n"
-  "}\n"
-  "@patch class B {\n"
-  "  B._internal(x) : val = x;\n"
-  "  @patch factory B.named(x) { return new B._internal(x); }\n"
-  "  @patch factory B(v) native \"const_B_factory\";\n"
-  "}\n"
-  "var _topLevelValue = -1;\n"
-  "@patch int topLevel(var value) => value * value;\n"
-  "@patch int set topLevelSetter(value) { _topLevelValue = value; }\n"
-  "@patch int get topLevelGetter => 2 * _topLevelValue;\n"
-  // Allow top level methods named patch.
-  "patch(x) => x*3;\n"
-  ;  // NOLINT
+      "@patch class A {\n"
+      "  var _g;\n"
+      "  A() : fvalue = 13;\n"
+      "  get _field => _g;\n"
+      "  @patch void method(var value) {\n"
+      "    int closeYourEyes(var eggs) { return eggs * -1; }\n"
+      "    value = callFunc(closeYourEyes, value);\n"
+      "    _g = value * 5;\n"
+      "  }\n"
+      "}\n"
+      "@patch class B {\n"
+      "  B._internal(x) : val = x;\n"
+      "  @patch factory B.named(x) { return new B._internal(x); }\n"
+      "  @patch factory B(v) native \"const_B_factory\";\n"
+      "}\n"
+      "var _topLevelValue = -1;\n"
+      "@patch int topLevel(var value) => value * value;\n"
+      "@patch int set topLevelSetter(value) { _topLevelValue = value; }\n"
+      "@patch int get topLevelGetter => 2 * _topLevelValue;\n"
+      // Allow top level methods named patch.
+      "patch(x) => x*3;\n";  // NOLINT
 
   const char* kPatchClassOnlyChars =
-  "@patch class C {\n"
-  "  @patch int method() {\n"
-  "    return 42;\n"
-  "  }\n"
-  "}\n"
-  ;  // NOLINT
+      "@patch class C {\n"
+      "  @patch int method() {\n"
+      "    return 42;\n"
+      "  }\n"
+      "}\n";  // NOLINT
 
-  const char* kPatchNoClassChars =
-  "@patch topLevel2(x) => x * 2;\n";
+  const char* kPatchNoClassChars = "@patch topLevel2(x) => x * 2;\n";
 
   const char* kScriptChars =
-  "import 'theLibrary';\n"
-  "e1() => unpatched();\n"
-  "m1() => topLevel(2);\n"
-  "m2() {\n"
-  "  topLevelSetter = 20;\n"
-  "  return topLevelGetter;\n"
-  "}\n"
-  "m3() => patch(7);\n"
-  "m4() {\n"
-  "  var a = new A();\n"
-  "  a.method(5);\n"
-  "  return a.field;\n"
-  "}\n"
-  "m5() => new B(3);\n"
-  "m6() {\n"
-  "  var b = new B.named(8);\n"
-  "  return b.val;\n"
-  "}\n"
-  ;  // NOLINT
+      "import 'theLibrary';\n"
+      "e1() => unpatched();\n"
+      "m1() => topLevel(2);\n"
+      "m2() {\n"
+      "  topLevelSetter = 20;\n"
+      "  return topLevelGetter;\n"
+      "}\n"
+      "m3() => patch(7);\n"
+      "m4() {\n"
+      "  var a = new A();\n"
+      "  a.method(5);\n"
+      "  return a.field;\n"
+      "}\n"
+      "m5() => new B(3);\n"
+      "m6() {\n"
+      "  var b = new B.named(8);\n"
+      "  return b.val;\n"
+      "}\n";  // NOLINT
 
   bin::Builtin::SetNativeResolver(bin::Builtin::kBuiltinLibrary);
   bin::Builtin::SetNativeResolver(bin::Builtin::kIOLibrary);
@@ -6924,12 +6804,10 @@
   result = Dart_LoadLibrary(url, Dart_Null(), source, 0, 0);
   EXPECT_VALID(result);
 
-  const char* patchNames[] = { "main library patch",
-                               "patch class only",
-                               "patch no class" };
-  const char* patches[] = { kPatchChars,
-                            kPatchClassOnlyChars,
-                            kPatchNoClassChars };
+  const char* patchNames[] = {"main library patch", "patch class only",
+                              "patch no class"};
+  const char* patches[] = {kPatchChars, kPatchClassOnlyChars,
+                           kPatchNoClassChars};
   const String& lib_url = String::Handle(String::New("theLibrary"));
 
   const Library& lib = Library::Handle(Library::LookupLibrary(thread, lib_url));
@@ -6937,8 +6815,8 @@
   for (int i = 0; i < 3; i++) {
     const String& patch_url = String::Handle(String::New(patchNames[i]));
     const String& patch_source = String::Handle(String::New(patches[i]));
-    const Script& patch_script = Script::Handle(Script::New(
-        patch_url, patch_source, RawScript::kPatchTag));
+    const Script& patch_script = Script::Handle(
+        Script::New(patch_url, patch_source, RawScript::kPatchTag));
 
     const Error& err = Error::Handle(lib.Patch(patch_script));
     if (!err.IsNull()) {
@@ -7072,9 +6950,10 @@
 
   result = Dart_SetNativeResolver(Dart_True(), &MyNativeResolver1, NULL);
   EXPECT(Dart_IsError(result));
-  EXPECT_STREQ("Dart_SetNativeResolver expects argument 'library' to be of "
-               "type Library.",
-               Dart_GetError(result));
+  EXPECT_STREQ(
+      "Dart_SetNativeResolver expects argument 'library' to be of "
+      "type Library.",
+      Dart_GetError(result));
 
   result = Dart_SetNativeResolver(error, &MyNativeResolver1, NULL);
   EXPECT(Dart_IsError(result));
@@ -7267,8 +7146,7 @@
 }
 
 
-void NewNativePort_send123(Dart_Port dest_port_id,
-                           Dart_CObject *message) {
+void NewNativePort_send123(Dart_Port dest_port_id, Dart_CObject* message) {
   // Gets a send port message.
   EXPECT_NOTNULL(message);
   EXPECT_EQ(Dart_CObject_kArray, message->type);
@@ -7279,13 +7157,12 @@
       reinterpret_cast<Dart_CObject*>(Dart_ScopeAllocate(sizeof(Dart_CObject)));
   response->type = Dart_CObject_kInt32;
   response->value.as_int32 = 123;
-  Dart_PostCObject(
-      message->value.as_array.values[0]->value.as_send_port.id, response);
+  Dart_PostCObject(message->value.as_array.values[0]->value.as_send_port.id,
+                   response);
 }
 
 
-void NewNativePort_send321(Dart_Port dest_port_id,
-                           Dart_CObject* message) {
+void NewNativePort_send321(Dart_Port dest_port_id, Dart_CObject* message) {
   // Gets a null message.
   EXPECT_NOTNULL(message);
   EXPECT_EQ(Dart_CObject_kArray, message->type);
@@ -7296,8 +7173,8 @@
       reinterpret_cast<Dart_CObject*>(Dart_ScopeAllocate(sizeof(Dart_CObject)));
   response->type = Dart_CObject_kInt32;
   response->value.as_int32 = 321;
-  Dart_PostCObject(
-      message->value.as_array.values[0]->value.as_send_port.id, response);
+  Dart_PostCObject(message->value.as_array.values[0]->value.as_send_port.id,
+                   response);
 }
 
 
@@ -7351,8 +7228,7 @@
   // Test first port.
   Dart_Handle dart_args[1];
   dart_args[0] = send_port1;
-  Dart_Handle result =
-      Dart_Invoke(lib, NewString("callPort"), 1, dart_args);
+  Dart_Handle result = Dart_Invoke(lib, NewString("callPort"), 1, dart_args);
   EXPECT_VALID(result);
   result = Dart_RunLoop();
   EXPECT(Dart_IsError(result));
@@ -7377,15 +7253,15 @@
 
 
 void NewNativePort_sendInteger123(Dart_Port dest_port_id,
-                                  Dart_CObject *message) {
+                                  Dart_CObject* message) {
   // Gets a send port message.
   EXPECT_NOTNULL(message);
   EXPECT_EQ(Dart_CObject_kArray, message->type);
   EXPECT_EQ(Dart_CObject_kSendPort, message->value.as_array.values[0]->type);
 
   // Post integer value.
-  Dart_PostInteger(
-      message->value.as_array.values[0]->value.as_send_port.id, 123);
+  Dart_PostInteger(message->value.as_array.values[0]->value.as_send_port.id,
+                   123);
 }
 
 
@@ -7397,8 +7273,8 @@
   EXPECT_EQ(Dart_CObject_kSendPort, message->value.as_array.values[0]->type);
 
   // Post integer value.
-  Dart_PostInteger(
-      message->value.as_array.values[0]->value.as_send_port.id, 321);
+  Dart_PostInteger(message->value.as_array.values[0]->value.as_send_port.id,
+                   321);
 }
 
 
@@ -7430,8 +7306,7 @@
   // Test first port.
   Dart_Handle dart_args[1];
   dart_args[0] = send_port1;
-  Dart_Handle result =
-      Dart_Invoke(lib, NewString("callPort"), 1, dart_args);
+  Dart_Handle result = Dart_Invoke(lib, NewString("callPort"), 1, dart_args);
   EXPECT_VALID(result);
   result = Dart_RunLoop();
   EXPECT(Dart_IsError(result));
@@ -7456,14 +7331,14 @@
 
 
 void NewNativePort_nativeReceiveNull(Dart_Port dest_port_id,
-                                     Dart_CObject *message) {
+                                     Dart_CObject* message) {
   EXPECT_NOTNULL(message);
 
   if ((message->type == Dart_CObject_kArray) &&
       (message->value.as_array.values[0]->type == Dart_CObject_kSendPort)) {
     // Post integer value.
-    Dart_PostInteger(
-        message->value.as_array.values[0]->value.as_send_port.id, 123);
+    Dart_PostInteger(message->value.as_array.values[0]->value.as_send_port.id,
+                     123);
   } else {
     EXPECT_EQ(message->type, Dart_CObject_kNull);
   }
@@ -7494,8 +7369,7 @@
   // Test first port.
   Dart_Handle dart_args[1];
   dart_args[0] = send_port1;
-  Dart_Handle result =
-      Dart_Invoke(lib, NewString("callPort"), 1, dart_args);
+  Dart_Handle result = Dart_Invoke(lib, NewString("callPort"), 1, dart_args);
   EXPECT_VALID(result);
   result = Dart_RunLoop();
   EXPECT(Dart_IsError(result));
@@ -7510,14 +7384,14 @@
 
 
 void NewNativePort_nativeReceiveInteger(Dart_Port dest_port_id,
-                                        Dart_CObject *message) {
+                                        Dart_CObject* message) {
   EXPECT_NOTNULL(message);
 
   if ((message->type == Dart_CObject_kArray) &&
       (message->value.as_array.values[0]->type == Dart_CObject_kSendPort)) {
     // Post integer value.
-    Dart_PostInteger(
-        message->value.as_array.values[0]->value.as_send_port.id, 123);
+    Dart_PostInteger(message->value.as_array.values[0]->value.as_send_port.id,
+                     123);
   } else {
     EXPECT_EQ(message->type, Dart_CObject_kInt32);
     EXPECT_EQ(message->value.as_int32, 321);
@@ -7549,8 +7423,7 @@
   // Test first port.
   Dart_Handle dart_args[1];
   dart_args[0] = send_port1;
-  Dart_Handle result =
-      Dart_Invoke(lib, NewString("callPort"), 1, dart_args);
+  Dart_Handle result = Dart_Invoke(lib, NewString("callPort"), 1, dart_args);
   EXPECT_VALID(result);
   result = Dart_RunLoop();
   EXPECT(Dart_IsError(result));
@@ -7614,8 +7487,8 @@
 static void RunLoopTest(bool throw_exception) {
   Dart_IsolateCreateCallback saved = Isolate::CreateCallback();
   Isolate::SetCreateCallback(RunLoopTestCallback);
-  Dart_Isolate isolate = RunLoopTestCallback(
-      NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+  Dart_Isolate isolate =
+      RunLoopTestCallback(NULL, NULL, NULL, NULL, NULL, NULL, NULL);
 
   Dart_EnterIsolate(isolate);
   Dart_EnterScope();
@@ -7671,7 +7544,9 @@
 
 
 static Dart_NativeFunction IsolateInterruptTestNativeLookup(
-    Dart_Handle name, int argument_count, bool* auto_setup_scope) {
+    Dart_Handle name,
+    int argument_count,
+    bool* auto_setup_scope) {
   ASSERT(auto_setup_scope != NULL);
   *auto_setup_scope = false;
   return reinterpret_cast<Dart_NativeFunction>(&MarkMainEntered);
@@ -7695,10 +7570,8 @@
   {
     MonitorLocker ml(sync);
     char* error = NULL;
-    shared_isolate = Dart_CreateIsolate(NULL, NULL,
-                                        bin::isolate_snapshot_buffer,
-                                        NULL,
-                                        NULL, &error);
+    shared_isolate = Dart_CreateIsolate(
+        NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL, &error);
     EXPECT(shared_isolate != NULL);
     Dart_EnterScope();
     Dart_Handle url = NewString(TestCase::url());
@@ -7719,8 +7592,7 @@
   Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   EXPECT(Dart_IsError(result));
   EXPECT(Dart_ErrorHasException(result));
-  EXPECT_SUBSTRING("Unhandled exception:\nfoo\n",
-                   Dart_GetError(result));
+  EXPECT_SUBSTRING("Unhandled exception:\nfoo\n", Dart_GetError(result));
 
   Dart_ExitScope();
   Dart_ShutdownIsolate();
@@ -7749,10 +7621,8 @@
 
   // Create an isolate.
   char* err;
-  Dart_Isolate isolate = Dart_CreateIsolate(NULL, NULL,
-                                            bin::isolate_snapshot_buffer,
-                                            NULL,
-                                            my_data, &err);
+  Dart_Isolate isolate = Dart_CreateIsolate(
+      NULL, NULL, bin::isolate_snapshot_buffer, NULL, my_data, &err);
   if (isolate == NULL) {
     OS::Print("Creation of isolate failed '%s'\n", err);
     free(err);
@@ -7780,7 +7650,7 @@
   EXPECT_VALID(arg1);
   Dart_Handle arg2 = Dart_NewInteger(9);
   EXPECT_VALID(arg2);
-  Dart_Handle dart_args[2] = { arg1, arg2 };
+  Dart_Handle dart_args[2] = {arg1, arg2};
   Dart_Handle result = Dart_Invoke(lib, NewString("add"), 2, dart_args);
   EXPECT_VALID(result);
   result = Dart_IntegerToInt64(result, &add_result);
@@ -7800,10 +7670,8 @@
 
   // Create an isolate.
   char* err;
-  Dart_Isolate isolate = Dart_CreateIsolate(NULL, NULL,
-                                            bin::isolate_snapshot_buffer,
-                                            NULL,
-                                            NULL, &err);
+  Dart_Isolate isolate = Dart_CreateIsolate(
+      NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL, &err);
   if (isolate == NULL) {
     OS::Print("Creation of isolate failed '%s'\n", err);
     free(err);
@@ -7868,9 +7736,7 @@
   int64_t value = 0;
   EXPECT_VALID(Dart_IntegerToInt64(arg1, &value));
   int64_t integer_value = 0;
-  Dart_Handle result = Dart_GetNativeIntegerArgument(args,
-                                                     1,
-                                                     &integer_value);
+  Dart_Handle result = Dart_GetNativeIntegerArgument(args, 1, &integer_value);
   EXPECT_VALID(result);
   EXPECT_EQ(value, integer_value);
   double double_value;
@@ -7902,9 +7768,8 @@
   Dart_Handle arg1 = Dart_GetNativeArgument(args, 1);
   Dart_Handle arg2 = Dart_GetNativeArgument(args, 2);
   Dart_Handle arg3 = Dart_GetNativeArgument(args, 3);
-  Dart_SetReturnValue(args, Dart_NewInteger(GetValue(arg1) +
-                                            GetValue(arg2) +
-                                            GetValue(arg3)));
+  Dart_SetReturnValue(
+      args, Dart_NewInteger(GetValue(arg1) + GetValue(arg2) + GetValue(arg3)));
   Dart_ExitScope();
 }
 
@@ -8051,15 +7916,16 @@
   Dart_Handle arg1 = Dart_GetNativeArgument(args, 0);
   Dart_Handle arg2 = Dart_GetNativeArgument(args, 1);
   Dart_Handle arg3 = Dart_GetNativeArgument(args, 2);
-  Dart_SetReturnValue(args, Dart_NewInteger(GetValue(arg1) +
-                                            GetValue(arg2) +
-                                            GetValue(arg3)));
+  Dart_SetReturnValue(
+      args, Dart_NewInteger(GetValue(arg1) + GetValue(arg2) + GetValue(arg3)));
   Dart_ExitScope();
 }
 
 
 static Dart_NativeFunction MyStaticNativeClosureResolver(
-    Dart_Handle name, int arg_count, bool* auto_setup_scope) {
+    Dart_Handle name,
+    int arg_count,
+    bool* auto_setup_scope) {
   ASSERT(auto_setup_scope != NULL);
   *auto_setup_scope = false;
   const Object& obj = Object::Handle(Api::UnwrapHandle(name));
@@ -8092,9 +7958,9 @@
       "  static int foo1() native \"StaticNativeFoo1\";\n"
       "  static int foo2(int i) native \"StaticNativeFoo2\";\n"
       "  static int foo3([int k = 10000, int l = 1])"
-            " native \"StaticNativeFoo3\";\n"
+      " native \"StaticNativeFoo3\";\n"
       "  static int foo4(int i, [int j = 10, int k = 1])"
-            " native \"StaticNativeFoo4\";\n"
+      " native \"StaticNativeFoo4\";\n"
       "  int bar1() { var func = foo1; return func(); }\n"
       "  int bar2(int i) { var func = foo2; return func(i); }\n"
       "  int bar30() { var func = foo3; return func(); }\n"
@@ -8170,20 +8036,22 @@
 
   EXPECT_ERROR(Dart_NewList(-1),
                "expects argument 'length' to be in the range");
-  EXPECT_ERROR(Dart_NewList(Array::kMaxElements+1),
+  EXPECT_ERROR(Dart_NewList(Array::kMaxElements + 1),
                "expects argument 'length' to be in the range");
   EXPECT_ERROR(Dart_NewStringFromUTF8(chars8, -1),
                "expects argument 'length' to be in the range");
-  EXPECT_ERROR(Dart_NewStringFromUTF8(chars8, OneByteString::kMaxElements+1),
+  EXPECT_ERROR(Dart_NewStringFromUTF8(chars8, OneByteString::kMaxElements + 1),
                "expects argument 'length' to be in the range");
   EXPECT_ERROR(Dart_NewStringFromUTF16(chars16, -1),
                "expects argument 'length' to be in the range");
-  EXPECT_ERROR(Dart_NewStringFromUTF16(chars16, TwoByteString::kMaxElements+1),
-               "expects argument 'length' to be in the range");
+  EXPECT_ERROR(
+      Dart_NewStringFromUTF16(chars16, TwoByteString::kMaxElements + 1),
+      "expects argument 'length' to be in the range");
   EXPECT_ERROR(Dart_NewStringFromUTF32(chars32, -1),
                "expects argument 'length' to be in the range");
-  EXPECT_ERROR(Dart_NewStringFromUTF32(chars32, TwoByteString::kMaxElements+1),
-               "expects argument 'length' to be in the range");
+  EXPECT_ERROR(
+      Dart_NewStringFromUTF32(chars32, TwoByteString::kMaxElements + 1),
+      "expects argument 'length' to be in the range");
 }
 
 
@@ -8649,39 +8517,26 @@
     Dart_EnterScope();
 
     // First test some negative conditions.
-    uint8_t data8[] = { 'h', 'e', 'l', 'l', 'o' };
+    uint8_t data8[] = {'h', 'e', 'l', 'l', 'o'};
     const char* err = "string";
     Dart_Handle err_str = NewString(err);
-    Dart_Handle ext_err_str = Dart_NewExternalLatin1String(
-        data8, ARRAY_SIZE(data8), NULL, NULL);
-    Dart_Handle result = Dart_MakeExternalString(Dart_Null(),
-                                                 data8,
-                                                 ARRAY_SIZE(data8),
-                                                 NULL,
-                                                 NULL);
+    Dart_Handle ext_err_str =
+        Dart_NewExternalLatin1String(data8, ARRAY_SIZE(data8), NULL, NULL);
+    Dart_Handle result = Dart_MakeExternalString(Dart_Null(), data8,
+                                                 ARRAY_SIZE(data8), NULL, NULL);
     EXPECT(Dart_IsError(result));  // Null string object passed in.
-    result = Dart_MakeExternalString(err_str,
-                                     NULL,
-                                     ARRAY_SIZE(data8),
-                                     NULL,
-                                     NULL);
+    result =
+        Dart_MakeExternalString(err_str, NULL, ARRAY_SIZE(data8), NULL, NULL);
     EXPECT(Dart_IsError(result));  // Null array pointer passed in.
-    result = Dart_MakeExternalString(err_str,
-                                     data8,
-                                     1,
-                                     NULL,
-                                     NULL);
+    result = Dart_MakeExternalString(err_str, data8, 1, NULL, NULL);
     EXPECT(Dart_IsError(result));  // Invalid length passed in.
 
     const intptr_t kLength = 10;
     intptr_t size = 0;
 
     // Test with an external string.
-    result = Dart_MakeExternalString(ext_err_str,
-                                     data8,
-                                     ARRAY_SIZE(data8),
-                                     NULL,
-                                     NULL);
+    result = Dart_MakeExternalString(ext_err_str, data8, ARRAY_SIZE(data8),
+                                     NULL, NULL);
     EXPECT(Dart_IsString(result));
     EXPECT(Dart_IsExternalString(result));
 
@@ -8690,11 +8545,8 @@
     EXPECT(Dart_IsString(empty_str));
     EXPECT(!Dart_IsExternalString(empty_str));
     uint8_t ext_empty_str[kLength];
-    Dart_Handle str = Dart_MakeExternalString(empty_str,
-                                              ext_empty_str,
-                                              kLength,
-                                              NULL,
-                                              NULL);
+    Dart_Handle str =
+        Dart_MakeExternalString(empty_str, ext_empty_str, kLength, NULL, NULL);
     EXPECT(Dart_IsString(str));
     EXPECT(Dart_IsString(empty_str));
     EXPECT(Dart_IsStringLatin1(str));
@@ -8706,16 +8558,13 @@
 
     // Test with single character canonical string, it should not become
     // external string but the peer should be setup for it.
-    Dart_Handle canonical_str = Api::NewHandle(thread, Symbols::New(thread,
-                                                                    "*"));
+    Dart_Handle canonical_str =
+        Api::NewHandle(thread, Symbols::New(thread, "*"));
     EXPECT(Dart_IsString(canonical_str));
     EXPECT(!Dart_IsExternalString(canonical_str));
     uint8_t ext_canonical_str[kLength];
-    str = Dart_MakeExternalString(canonical_str,
-                                  ext_canonical_str,
-                                  kLength,
-                                  &canonical_str_peer,
-                                  MakeExternalCback);
+    str = Dart_MakeExternalString(canonical_str, ext_canonical_str, kLength,
+                                  &canonical_str_peer, MakeExternalCback);
     EXPECT(Dart_IsString(str));
     EXPECT(!Dart_IsExternalString(canonical_str));
     EXPECT_EQ(canonical_str, str);
@@ -8740,10 +8589,7 @@
 
     uint8_t ext_ascii_str[kLength];
     EXPECT_VALID(Dart_StringStorageSize(ascii_str, &size));
-    str = Dart_MakeExternalString(ascii_str,
-                                  ext_ascii_str,
-                                  size,
-                                  &peer8,
+    str = Dart_MakeExternalString(ascii_str, ext_ascii_str, size, &peer8,
                                   MakeExternalCback);
     EXPECT(Dart_IsString(str));
     EXPECT(Dart_IsString(ascii_str));
@@ -8760,7 +8606,7 @@
       EXPECT_EQ(ascii[i], ext_ascii_str[i]);
     }
 
-    uint8_t data[] = { 0xE4, 0xBA, 0x8c };  // U+4E8C.
+    uint8_t data[] = {0xE4, 0xBA, 0x8c};  // U+4E8C.
     expected_length = 1;
     Dart_Handle utf16_str = Dart_NewStringFromUTF8(data, ARRAY_SIZE(data));
     EXPECT_VALID(utf16_str);
@@ -8773,10 +8619,7 @@
     // Test with a two byte string.
     uint16_t ext_utf16_str[kLength];
     EXPECT_VALID(Dart_StringStorageSize(utf16_str, &size));
-    str = Dart_MakeExternalString(utf16_str,
-                                  ext_utf16_str,
-                                  size,
-                                  &peer16,
+    str = Dart_MakeExternalString(utf16_str, ext_utf16_str, size, &peer16,
                                   MakeExternalCback);
     EXPECT(Dart_IsString(str));
     EXPECT(Dart_IsString(utf16_str));
@@ -8797,8 +8640,8 @@
     // Test with a symbol (hash value should be preserved on externalization).
     const char* symbol_ascii = "?unseen";
     expected_length = strlen(symbol_ascii);
-    Dart_Handle symbol_str = Api::NewHandle(thread,
-        Symbols::New(thread, symbol_ascii, expected_length));
+    Dart_Handle symbol_str = Api::NewHandle(
+        thread, Symbols::New(thread, symbol_ascii, expected_length));
     EXPECT_VALID(symbol_str);
     EXPECT(Dart_IsString(symbol_str));
     EXPECT(Dart_IsStringLatin1(symbol_str));
@@ -8809,10 +8652,7 @@
 
     uint8_t ext_symbol_ascii[kLength];
     EXPECT_VALID(Dart_StringStorageSize(symbol_str, &size));
-    str = Dart_MakeExternalString(symbol_str,
-                                  ext_symbol_ascii,
-                                  size,
-                                  &peer8,
+    str = Dart_MakeExternalString(symbol_str, ext_symbol_ascii, size, &peer8,
                                   MakeExternalCback);
     EXPECT(Api::UnwrapStringHandle(zone, str).HasHash());
     EXPECT(Api::UnwrapStringHandle(zone, str).Hash() ==
@@ -8860,18 +8700,12 @@
       "}\n";
 
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("testMain"),
-                                   0,
-                                   NULL);
+  Dart_Handle result = Dart_Invoke(lib, NewString("testMain"), 0, NULL);
   const char* expected_str = "constant string";
   const intptr_t kExpectedLen = 15;
   uint8_t ext_str[kExpectedLen];
-  Dart_Handle str = Dart_MakeExternalString(result,
-                                            ext_str,
-                                            kExpectedLen,
-                                            NULL,
-                                            NULL);
+  Dart_Handle str =
+      Dart_MakeExternalString(result, ext_str, kExpectedLen, NULL, NULL);
 
   EXPECT(Dart_IsExternalString(str));
   for (intptr_t i = 0; i < kExpectedLen; i++) {
@@ -8945,12 +8779,8 @@
   EXPECT_VALID(Dart_StringStorageSize(str_arg, &arg_size));
   EXPECT_EQ(size, arg_size);
   char* str_data = new char[size];
-  Dart_Handle result =
-      Dart_MakeExternalString(str,
-                              str_data,
-                              size,
-                              str_data,
-                              &ExternalStringDeoptimize_Finalize);
+  Dart_Handle result = Dart_MakeExternalString(
+      str, str_data, size, str_data, &ExternalStringDeoptimize_Finalize);
   EXPECT_VALID(result);
   EXPECT(Dart_IsExternalString(result));
   Dart_ExitScope();
@@ -8958,7 +8788,9 @@
 
 
 static Dart_NativeFunction ExternalStringDeoptimize_native_lookup(
-    Dart_Handle name, int argument_count, bool* auto_setup_scope) {
+    Dart_Handle name,
+    int argument_count,
+    bool* auto_setup_scope) {
   ASSERT(auto_setup_scope != NULL);
   *auto_setup_scope = true;
   return reinterpret_cast<Dart_NativeFunction>(&A_change_str_native);
@@ -8995,13 +8827,9 @@
       "}\n"
       "change_str(String s) native 'A_change_str';\n"
       "";
-  Dart_Handle lib =
-      TestCase::LoadTestScript(kScriptChars,
-                               &ExternalStringDeoptimize_native_lookup);
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle lib = TestCase::LoadTestScript(
+      kScriptChars, &ExternalStringDeoptimize_native_lookup);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   int64_t value = 0;
   result = Dart_IntegerToInt64(result, &value);
   EXPECT_VALID(result);
@@ -9035,13 +8863,9 @@
       "  var y = sum_chars(str, true);\n"
       "  return x + y;\n"
       "}\n";
-  Dart_Handle lib =
-      TestCase::LoadTestScript(kScriptChars,
-                               &ExternalStringDeoptimize_native_lookup);
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle lib = TestCase::LoadTestScript(
+      kScriptChars, &ExternalStringDeoptimize_native_lookup);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   int64_t value = 0;
   result = Dart_IntegerToInt64(result, &value);
   EXPECT_VALID(result);
@@ -9075,13 +8899,9 @@
       "  A.change_str(strA);\n"
       "  return compareA('AA' + 'AA');\n"
       "}\n";
-  Dart_Handle lib =
-      TestCase::LoadTestScript(kScriptChars,
-                               &ExternalStringDeoptimize_native_lookup);
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle lib = TestCase::LoadTestScript(
+      kScriptChars, &ExternalStringDeoptimize_native_lookup);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   EXPECT_VALID(result);
   bool value = false;
   result = Dart_BooleanValue(result, &value);
@@ -9110,13 +8930,9 @@
       "  var result = double_char0(externalA);\n"
       "  return result == 130;\n"
       "}\n";
-  Dart_Handle lib =
-      TestCase::LoadTestScript(kScriptChars,
-                               &ExternalStringDeoptimize_native_lookup);
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle lib = TestCase::LoadTestScript(
+      kScriptChars, &ExternalStringDeoptimize_native_lookup);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   EXPECT_VALID(result);
   bool value = false;
   result = Dart_BooleanValue(result, &value);
@@ -9156,13 +8972,9 @@
       "  shouldExternalize = true;\n"
       "  return compareA('AA' + 'AA');\n"
       "}\n";
-  Dart_Handle lib =
-      TestCase::LoadTestScript(kScriptChars,
-                               &ExternalStringDeoptimize_native_lookup);
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle lib = TestCase::LoadTestScript(
+      kScriptChars, &ExternalStringDeoptimize_native_lookup);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   EXPECT_VALID(result);
   bool value = false;
   result = Dart_BooleanValue(result, &value);
@@ -9197,13 +9009,9 @@
       "  A.change_str(G.f);"
       "  return compareA('AA' + 'AA');\n"
       "}\n";
-  Dart_Handle lib =
-      TestCase::LoadTestScript(kScriptChars,
-                               &ExternalStringDeoptimize_native_lookup);
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle lib = TestCase::LoadTestScript(
+      kScriptChars, &ExternalStringDeoptimize_native_lookup);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   EXPECT_VALID(result);
   bool value = false;
   result = Dart_BooleanValue(result, &value);
@@ -9232,13 +9040,9 @@
       "  var y = double.parse(externalTwoByteString);\n"
       "  return ((x + y) * 10).toInt();\n"
       "}\n";
-  Dart_Handle lib =
-      TestCase::LoadTestScript(kScriptChars,
-                               &ExternalStringDeoptimize_native_lookup);
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle lib = TestCase::LoadTestScript(
+      kScriptChars, &ExternalStringDeoptimize_native_lookup);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   int64_t value = 0;
   result = Dart_IntegerToInt64(result, &value);
   EXPECT_VALID(result);
@@ -9266,13 +9070,9 @@
       "  var y = double.parse(externalTwoByteString);\n"
       "  return ((x + y) * 10).toInt();\n"
       "}\n";
-  Dart_Handle lib =
-      TestCase::LoadTestScript(kScriptChars,
-                               &ExternalStringDeoptimize_native_lookup);
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle lib = TestCase::LoadTestScript(
+      kScriptChars, &ExternalStringDeoptimize_native_lookup);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   int64_t value = 0;
   result = Dart_IntegerToInt64(result, &value);
   EXPECT_VALID(result);
@@ -9288,22 +9088,18 @@
       "  var str = 'Hello World';\n"
       "  return str.indexOf(pattern);\n"
       "}\n";
-  Dart_Handle lib =
-      TestCase::LoadTestScript(kScriptChars, NULL);
+  Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
 
-  uint8_t data8[] = { 'W' };
-  Dart_Handle ext8 = Dart_NewExternalLatin1String(data8, ARRAY_SIZE(data8),
-                                                  data8, NULL);
+  uint8_t data8[] = {'W'};
+  Dart_Handle ext8 =
+      Dart_NewExternalLatin1String(data8, ARRAY_SIZE(data8), data8, NULL);
   EXPECT_VALID(ext8);
   EXPECT(Dart_IsString(ext8));
   EXPECT(Dart_IsExternalString(ext8));
 
   Dart_Handle dart_args[1];
   dart_args[0] = ext8;
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   1,
-                                   dart_args);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 1, dart_args);
   int64_t value = 0;
   result = Dart_IntegerToInt64(result, &value);
   EXPECT_VALID(result);
@@ -9313,20 +9109,19 @@
 
 TEST_CASE(StringFromExternalTypedData) {
   const char* kScriptChars =
-    "test(external) {\n"
-    "  var str1 = new String.fromCharCodes(external);\n"
-    "  var str2 = new String.fromCharCodes(new List.from(external));\n"
-    "  if (str2 != str1) throw 'FAIL';\n"
-    "  return str1;\n"
-    "}\n"
-    "testView8(external) {\n"
-    "  return test(external.buffer.asUint8List());\n"
-    "}\n"
-    "testView16(external) {\n"
-    "  return test(external.buffer.asUint16List());\n"
-    "}\n";
-  Dart_Handle lib =
-      TestCase::LoadTestScript(kScriptChars, NULL);
+      "test(external) {\n"
+      "  var str1 = new String.fromCharCodes(external);\n"
+      "  var str2 = new String.fromCharCodes(new List.from(external));\n"
+      "  if (str2 != str1) throw 'FAIL';\n"
+      "  return str1;\n"
+      "}\n"
+      "testView8(external) {\n"
+      "  return test(external.buffer.asUint8List());\n"
+      "}\n"
+      "testView16(external) {\n"
+      "  return test(external.buffer.asUint16List());\n"
+      "}\n";
+  Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
 
   {
     uint8_t data[64];
@@ -9334,22 +9129,16 @@
       data[i] = i * 4;
     }
     // LATIN-1 in external Uint8List.
-    Dart_Handle external = Dart_NewExternalTypedData(
-        Dart_TypedData_kUint8, data, 64);
+    Dart_Handle external =
+        Dart_NewExternalTypedData(Dart_TypedData_kUint8, data, 64);
     EXPECT_VALID(external);
     Dart_Handle dart_args[1];
     dart_args[0] = external;
-    Dart_Handle result = Dart_Invoke(lib,
-                                     NewString("test"),
-                                     1,
-                                     dart_args);
+    Dart_Handle result = Dart_Invoke(lib, NewString("test"), 1, dart_args);
     EXPECT_VALID(result);
     EXPECT(Dart_IsString(result));
 
-    result = Dart_Invoke(lib,
-                         NewString("testView8"),
-                         1,
-                         dart_args);
+    result = Dart_Invoke(lib, NewString("testView8"), 1, dart_args);
     EXPECT_VALID(result);
     EXPECT(Dart_IsString(result));
   }
@@ -9360,22 +9149,16 @@
       data[i] = i * 4;
     }
     // LATIN-1 in external Uint16List.
-    Dart_Handle external = Dart_NewExternalTypedData(
-        Dart_TypedData_kUint16, data, 64);
+    Dart_Handle external =
+        Dart_NewExternalTypedData(Dart_TypedData_kUint16, data, 64);
     EXPECT_VALID(external);
     Dart_Handle dart_args[1];
     dart_args[0] = external;
-    Dart_Handle result = Dart_Invoke(lib,
-                                     NewString("test"),
-                                     1,
-                                     dart_args);
+    Dart_Handle result = Dart_Invoke(lib, NewString("test"), 1, dart_args);
     EXPECT_VALID(result);
     EXPECT(Dart_IsString(result));
 
-    result = Dart_Invoke(lib,
-                         NewString("testView16"),
-                         1,
-                         dart_args);
+    result = Dart_Invoke(lib, NewString("testView16"), 1, dart_args);
     EXPECT_VALID(result);
     EXPECT(Dart_IsString(result));
   }
@@ -9386,22 +9169,16 @@
       data[i] = 0x2000 + i * 4;
     }
     // Non-LATIN-1 in external Uint16List.
-    Dart_Handle external = Dart_NewExternalTypedData(
-        Dart_TypedData_kUint16, data, 64);
+    Dart_Handle external =
+        Dart_NewExternalTypedData(Dart_TypedData_kUint16, data, 64);
     EXPECT_VALID(external);
     Dart_Handle dart_args[1];
     dart_args[0] = external;
-    Dart_Handle result = Dart_Invoke(lib,
-                                     NewString("test"),
-                                     1,
-                                     dart_args);
+    Dart_Handle result = Dart_Invoke(lib, NewString("test"), 1, dart_args);
     EXPECT_VALID(result);
     EXPECT(Dart_IsString(result));
 
-    result = Dart_Invoke(lib,
-                         NewString("testView16"),
-                         1,
-                         dart_args);
+    result = Dart_Invoke(lib, NewString("testView16"), 1, dart_args);
     EXPECT_VALID(result);
     EXPECT(Dart_IsString(result));
   }
@@ -9418,11 +9195,8 @@
   // Make sure it is enabled.
   stream->set_enabled(true);
   // Add a duration event.
-  Dart_TimelineEvent("testDurationEvent",
-                     0,
-                     1,
-                     Dart_Timeline_Event_Duration,
-                     0, NULL, NULL);
+  Dart_TimelineEvent("testDurationEvent", 0, 1, Dart_Timeline_Event_Duration, 0,
+                     NULL, NULL);
   // Check that it is in the output.
   TimelineEventRecorder* recorder = Timeline::recorder();
   Timeline::ReclaimCachedBlocksFromThreads();
@@ -9439,11 +9213,8 @@
   TimelineStream* stream = Timeline::GetEmbedderStream();
   // Make sure it is enabled.
   stream->set_enabled(true);
-  Dart_TimelineEvent("testInstantEvent",
-                     0,
-                     1,
-                     Dart_Timeline_Event_Instant,
-                     0, NULL, NULL);
+  Dart_TimelineEvent("testInstantEvent", 0, 1, Dart_Timeline_Event_Instant, 0,
+                     NULL, NULL);
   // Check that it is in the output.
   TimelineEventRecorder* recorder = Timeline::recorder();
   Timeline::ReclaimCachedBlocksFromThreads();
@@ -9460,11 +9231,8 @@
   // Make sure it is disabled.
   stream->set_enabled(false);
   int64_t async_id = 99;
-  Dart_TimelineEvent("testAsyncEvent",
-                     0,
-                     async_id,
-                     Dart_Timeline_Event_Async_Begin,
-                     0, NULL, NULL);
+  Dart_TimelineEvent("testAsyncEvent", 0, async_id,
+                     Dart_Timeline_Event_Async_Begin, 0, NULL, NULL);
   // Check that testAsync is not in the output.
   TimelineEventRecorder* recorder = Timeline::recorder();
   Timeline::ReclaimCachedBlocksFromThreads();
@@ -9482,11 +9250,8 @@
   // Make sure it is enabled.
   stream->set_enabled(true);
   int64_t async_id = 99;
-  Dart_TimelineEvent("testAsyncEvent",
-                     0,
-                     async_id,
-                     Dart_Timeline_Event_Async_Begin,
-                     0, NULL, NULL);
+  Dart_TimelineEvent("testAsyncEvent", 0, async_id,
+                     Dart_Timeline_Event_Async_Begin, 0, NULL, NULL);
 
   // Check that it is in the output.
   TimelineEventRecorder* recorder = Timeline::recorder();
@@ -9525,9 +9290,7 @@
   data->buffer = reinterpret_cast<uint8_t*>(
       realloc(data->buffer, data->buffer_length + buffer_length));
   // Copy new data.
-  memmove(&data->buffer[data->buffer_length],
-          buffer,
-          buffer_length);
+  memmove(&data->buffer[data->buffer_length], buffer, buffer_length);
   // Update length.
   data->buffer_length += buffer_length;
 }
@@ -9535,11 +9298,10 @@
 
 TEST_CASE(Timeline_Dart_TimelineGetTrace) {
   const char* kScriptChars =
-    "foo() => 'a';\n"
-    "main() => foo();\n";
+      "foo() => 'a';\n"
+      "main() => foo();\n";
 
-  Dart_Handle lib =
-      TestCase::LoadTestScript(kScriptChars, NULL);
+  Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
 
   const char* buffer = NULL;
   intptr_t buffer_length = 0;
@@ -9550,10 +9312,7 @@
 
   // Invoke main, which will be compiled resulting in a compiler event in
   // the timeline.
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   EXPECT_VALID(result);
 
   // Grab the trace.
@@ -9583,15 +9342,14 @@
 
 TEST_CASE(Timeline_Dart_TimelineGetTraceOnlyDartEvents) {
   const char* kScriptChars =
-    "import 'dart:developer';\n"
-    ""
-    "main() {\n"
-    "  Timeline.startSync('DART_NAME');\n"
-    "  Timeline.finishSync();\n"
-    "}\n";
+      "import 'dart:developer';\n"
+      ""
+      "main() {\n"
+      "  Timeline.startSync('DART_NAME');\n"
+      "  Timeline.finishSync();\n"
+      "}\n";
 
-  Dart_Handle lib =
-      TestCase::LoadTestScript(kScriptChars, NULL);
+  Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
 
   const char* buffer = NULL;
   intptr_t buffer_length = 0;
@@ -9601,10 +9359,7 @@
   Dart_GlobalTimelineSetRecordedStreams(DART_TIMELINE_STREAM_DART);
 
   // Invoke main, which will add a new timeline event from Dart.
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   EXPECT_VALID(result);
 
   // Grab the trace.
@@ -9635,15 +9390,14 @@
 
 TEST_CASE(Timeline_Dart_TimelineGetTraceWithDartEvents) {
   const char* kScriptChars =
-    "import 'dart:developer';\n"
-    "\n"
-    "main() {\n"
-    "  Timeline.startSync('DART_NAME');\n"
-    "  Timeline.finishSync();\n"
-    "}\n";
+      "import 'dart:developer';\n"
+      "\n"
+      "main() {\n"
+      "  Timeline.startSync('DART_NAME');\n"
+      "  Timeline.finishSync();\n"
+      "}\n";
 
-  Dart_Handle lib =
-      TestCase::LoadTestScript(kScriptChars, NULL);
+  Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
 
   const char* buffer = NULL;
   intptr_t buffer_length = 0;
@@ -9654,10 +9408,7 @@
 
   // Invoke main, which will be compiled resulting in a compiler event in
   // the timeline.
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   EXPECT_VALID(result);
 
   // Grab the trace.
@@ -9688,11 +9439,10 @@
 
 TEST_CASE(Timeline_Dart_TimelineGetTraceGlobalOverride) {
   const char* kScriptChars =
-    "foo() => 'a';\n"
-    "main() => foo();\n";
+      "foo() => 'a';\n"
+      "main() => foo();\n";
 
-  Dart_Handle lib =
-      TestCase::LoadTestScript(kScriptChars, NULL);
+  Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
 
   const char* buffer = NULL;
   intptr_t buffer_length = 0;
@@ -9703,10 +9453,7 @@
 
   // Invoke main, which will be compiled resulting in a compiler event in
   // the timeline.
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   EXPECT_VALID(result);
 
   // Grab the trace.
@@ -9734,21 +9481,17 @@
 }
 
 
-static const char* arg_names[] = {
-  "arg0"
-};
+static const char* arg_names[] = {"arg0"};
 
 
-static const char* arg_values[] = {
-  "value0"
-};
+static const char* arg_values[] = {"value0"};
 
 
 TEST_CASE(Timeline_Dart_GlobalTimelineGetTrace) {
   const char* kScriptChars =
-    "bar() => 'z';\n"
-    "foo() => 'a';\n"
-    "main() => foo();\n";
+      "bar() => 'z';\n"
+      "foo() => 'a';\n"
+      "main() => foo();\n";
 
   // Enable all streams.
   Dart_GlobalTimelineSetRecordedStreams(DART_TIMELINE_STREAM_ALL |
@@ -9756,37 +9499,24 @@
   Dart_Handle lib;
   {
     // Add something to the VM stream.
-    TimelineDurationScope tds(Timeline::GetVMStream(),
-                              "TestVMDuration");
+    TimelineDurationScope tds(Timeline::GetVMStream(), "TestVMDuration");
     lib = TestCase::LoadTestScript(kScriptChars, NULL);
   }
 
   {
     // Add something to the embedder stream.
-    Dart_TimelineEvent("TRACE_EVENT",
-                       Dart_TimelineGetMicros(),
-                       0,
-                       Dart_Timeline_Event_Begin,
-                       1,
-                       &arg_names[0],
+    Dart_TimelineEvent("TRACE_EVENT", Dart_TimelineGetMicros(), 0,
+                       Dart_Timeline_Event_Begin, 1, &arg_names[0],
                        &arg_values[0]);
     // Add counter to the embedder stream.
-    Dart_TimelineEvent("COUNTER_EVENT",
-                       Dart_TimelineGetMicros(),
-                       0,
-                       Dart_Timeline_Event_Counter,
-                       0,
-                       NULL,
-                       NULL);
+    Dart_TimelineEvent("COUNTER_EVENT", Dart_TimelineGetMicros(), 0,
+                       Dart_Timeline_Event_Counter, 0, NULL, NULL);
     Dart_SetThreadName("CUSTOM THREAD NAME");
   }
 
   // Invoke main, which will be compiled resulting in a compiler event in
   // the timeline.
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   EXPECT_VALID(result);
 
   const char* buffer = NULL;
@@ -9836,14 +9566,10 @@
   // in the resulting trace.
   {
     // Add something to the VM stream.
-    TimelineDurationScope tds(Timeline::GetVMStream(),
-                              "TestVMDuration2");
+    TimelineDurationScope tds(Timeline::GetVMStream(), "TestVMDuration2");
     // Invoke bar, which will be compiled resulting in a compiler event in
     // the timeline.
-    result = Dart_Invoke(lib,
-                         NewString("bar"),
-                         0,
-                         NULL);
+    result = Dart_Invoke(lib, NewString("bar"), 0, NULL);
   }
 
   // Grab the global trace.
@@ -9882,10 +9608,7 @@
 class GlobalTimelineThreadData {
  public:
   GlobalTimelineThreadData()
-      : monitor_(new Monitor()),
-        data_(new AppendData()),
-        running_(true) {
-  }
+      : monitor_(new Monitor()), data_(new AppendData()), running_(true) {}
 
   ~GlobalTimelineThreadData() {
     delete monitor_;
@@ -9935,9 +9658,9 @@
 // Thread object.
 TEST_CASE(Timeline_Dart_GlobalTimelineGetTrace_Threaded) {
   const char* kScriptChars =
-    "bar() => 'z';\n"
-    "foo() => 'a';\n"
-    "main() => foo();\n";
+      "bar() => 'z';\n"
+      "foo() => 'a';\n"
+      "main() => foo();\n";
 
   // Enable all streams.
   Dart_GlobalTimelineSetRecordedStreams(DART_TIMELINE_STREAM_ALL |
@@ -9945,8 +9668,7 @@
   Dart_Handle lib;
   {
     // Add something to the VM stream.
-    TimelineDurationScope tds(Timeline::GetVMStream(),
-                              "TestVMDuration");
+    TimelineDurationScope tds(Timeline::GetVMStream(), "TestVMDuration");
     lib = TestCase::LoadTestScript(kScriptChars, NULL);
   }
 
@@ -9960,8 +9682,8 @@
 
   // Run Dart_GlobalTimelineGetTrace on a fresh thread.
   GlobalTimelineThreadData data;
-  int err = OSThread::Start("Timeline test thread",
-      GlobalTimelineThread, reinterpret_cast<uword>(&data));
+  int err = OSThread::Start("Timeline test thread", GlobalTimelineThread,
+                            reinterpret_cast<uword>(&data));
   EXPECT(err == 0);
   {
     MonitorLocker ml(data.monitor());
@@ -9992,8 +9714,7 @@
   // in the resulting trace.
   {
     // Add something to the VM stream.
-    TimelineDurationScope tds(Timeline::GetVMStream(),
-                              "TestVMDuration2");
+    TimelineDurationScope tds(Timeline::GetVMStream(), "TestVMDuration2");
     // Invoke bar, which will be compiled resulting in a compiler event in
     // the timeline.
     result = Dart_Invoke(lib, NewString("bar"), 0, NULL);
@@ -10001,8 +9722,8 @@
 
   // Grab the global trace.
   GlobalTimelineThreadData data2;
-  err = OSThread::Start("Timeline test thread",
-      GlobalTimelineThread, reinterpret_cast<uword>(&data2));
+  err = OSThread::Start("Timeline test thread", GlobalTimelineThread,
+                        reinterpret_cast<uword>(&data2));
   EXPECT(err == 0);
   {
     MonitorLocker ml(data2.monitor());
@@ -10081,10 +9802,7 @@
       "}\n";
 
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars1, NULL);
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   EXPECT_VALID(result);
   Dart_Handle url = NewString("test-lib-patch");
   Dart_Handle source = NewString(kScriptChars2);
@@ -10092,15 +9810,9 @@
   EXPECT_VALID(result);
   result = Dart_FinalizeLoading(false);
   EXPECT_VALID(result);
-  result = Dart_Invoke(lib,
-                       NewString("foozoo"),
-                       0,
-                       NULL);
+  result = Dart_Invoke(lib, NewString("foozoo"), 0, NULL);
   EXPECT_VALID(result);
-  result = Dart_Invoke(lib,
-                       NewString("foomoo"),
-                       0,
-                       NULL);
+  result = Dart_Invoke(lib, NewString("foomoo"), 0, NULL);
   EXPECT_VALID(result);
 }
 
@@ -10121,10 +9833,7 @@
       "}\n";
 
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars1, NULL);
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   EXPECT_VALID(result);
   Dart_Handle url = NewString("test-lib-patch");
   Dart_Handle source = NewString(kScriptChars2);
@@ -10134,10 +9843,7 @@
   EXPECT_VALID(result);
   result = Dart_FinalizeLoading(false);
   EXPECT_VALID(result);
-  result = Dart_Invoke(lib,
-                       NewString("foozoo"),
-                       0,
-                       NULL);
+  result = Dart_Invoke(lib, NewString("foozoo"), 0, NULL);
   EXPECT(Dart_IsError(result));
 }
 
@@ -10157,10 +9863,7 @@
       "}\n";
 
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars1, NULL);
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   EXPECT_VALID(result);
   Dart_Handle url = NewString("test-lib-patch");
   Dart_Handle source = NewString(kScriptChars2);
@@ -10170,10 +9873,7 @@
   EXPECT_VALID(result);
   result = Dart_FinalizeLoading(false);
   EXPECT_VALID(result);
-  result = Dart_Invoke(lib,
-                       NewString("foozoo"),
-                       0,
-                       NULL);
+  result = Dart_Invoke(lib, NewString("foozoo"), 0, NULL);
   EXPECT(Dart_IsError(result));
   OS::Print("Patched class executed\n");
 }
@@ -10194,16 +9894,10 @@
       "}\n";
 
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars1, NULL);
-  Dart_Handle result = Dart_Invoke(lib,
-                                   NewString("main"),
-                                   0,
-                                   NULL);
+  Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   // We invoke the foozoo method to ensure that code for 'zoo' is generated
   // which throws NoSuchMethod.
-  result = Dart_Invoke(lib,
-                       NewString("foozoo"),
-                       0,
-                       NULL);
+  result = Dart_Invoke(lib, NewString("foozoo"), 0, NULL);
   EXPECT(Dart_IsError(result));
   Dart_Handle url = NewString("test-lib-patch");
   Dart_Handle source = NewString(kScriptChars2);
@@ -10213,10 +9907,7 @@
   EXPECT_VALID(result);
   result = Dart_FinalizeLoading(false);
   EXPECT_VALID(result);
-  result = Dart_Invoke(lib,
-                       NewString("foozoo"),
-                       0,
-                       NULL);
+  result = Dart_Invoke(lib, NewString("foozoo"), 0, NULL);
   EXPECT(Dart_IsError(result));
 }
 
diff --git a/runtime/vm/dart_api_message.cc b/runtime/vm/dart_api_message.cc
index 18fee76..4d3687f3 100644
--- a/runtime/vm/dart_api_message.cc
+++ b/runtime/vm/dart_api_message.cc
@@ -17,8 +17,7 @@
       zone_(NULL),
       backward_references_(kNumInitialReferences),
       vm_isolate_references_(kNumInitialReferences),
-      vm_symbol_references_(NULL) {
-}
+      vm_symbol_references_(NULL) {}
 
 
 ApiMessageReader::ApiMessageReader(Message* msg)
@@ -28,8 +27,7 @@
       zone_(NULL),
       backward_references_(kNumInitialReferences),
       vm_isolate_references_(kNumInitialReferences),
-      vm_symbol_references_(NULL) {
-}
+      vm_symbol_references_(NULL) {}
 
 
 void ApiMessageReader::Init() {
@@ -60,7 +58,7 @@
         reinterpret_cast<const RawObject*>(CurrentBufferAddress());
     ASSERT(ApiObjectConverter::CanConvert(raw_obj));
     Dart_CObject* cobj =
-      reinterpret_cast<Dart_CObject*>(allocator(sizeof(Dart_CObject)));
+        reinterpret_cast<Dart_CObject*>(allocator(sizeof(Dart_CObject)));
     ApiObjectConverter::Convert(raw_obj, cobj);
     return cobj;
   }
@@ -143,9 +141,8 @@
   // Allocate a Dart_CObject structure followed by an array of chars
   // for the string content. The pointer to the string content is set
   // up to this area.
-  Dart_CObject* value =
-      reinterpret_cast<Dart_CObject*>(
-          allocator(sizeof(Dart_CObject) + length + 1));
+  Dart_CObject* value = reinterpret_cast<Dart_CObject*>(
+      allocator(sizeof(Dart_CObject) + length + 1));
   ASSERT(value != NULL);
   value->value.as_string = reinterpret_cast<char*>(value) + sizeof(*value);
   value->type = Dart_CObject_kString;
@@ -179,14 +176,14 @@
 
 
 Dart_CObject* ApiMessageReader::AllocateDartCObjectTypedData(
-    Dart_TypedData_Type type, intptr_t length) {
+    Dart_TypedData_Type type,
+    intptr_t length) {
   // Allocate a Dart_CObject structure followed by an array of bytes
   // for the byte array content. The pointer to the byte array content
   // is set up to this area.
   intptr_t length_in_bytes = GetTypedDataSizeInBytes(type) * length;
-  Dart_CObject* value =
-      reinterpret_cast<Dart_CObject*>(
-          allocator(sizeof(Dart_CObject) + length_in_bytes));
+  Dart_CObject* value = reinterpret_cast<Dart_CObject*>(
+      allocator(sizeof(Dart_CObject) + length_in_bytes));
   ASSERT(value != NULL);
   value->type = Dart_CObject_kTypedData;
   value->value.as_typed_data.type = type;
@@ -205,9 +202,8 @@
   // Allocate a Dart_CObject structure followed by an array of
   // pointers to Dart_CObject structures. The pointer to the array
   // content is set up to this area.
-  Dart_CObject* value =
-      reinterpret_cast<Dart_CObject*>(
-          allocator(sizeof(Dart_CObject) + length * sizeof(value)));
+  Dart_CObject* value = reinterpret_cast<Dart_CObject*>(
+      allocator(sizeof(Dart_CObject) + length * sizeof(value)));
   ASSERT(value != NULL);
   value->type = Dart_CObject_kArray;
   value->value.as_array.length = length;
@@ -261,9 +257,8 @@
 
 Dart_CObject_Internal* ApiMessageReader::AllocateDartCObjectInternal(
     Dart_CObject_Internal::Type type) {
-  Dart_CObject_Internal* value =
-      reinterpret_cast<Dart_CObject_Internal*>(
-          allocator(sizeof(Dart_CObject_Internal)));
+  Dart_CObject_Internal* value = reinterpret_cast<Dart_CObject_Internal*>(
+      allocator(sizeof(Dart_CObject_Internal)));
   ASSERT(value != NULL);
   value->type = static_cast<Dart_CObject_Type>(type);
   return value;
@@ -293,25 +288,24 @@
     const char* name;
     Dart_TypedData_Type type;
   } view_class_names[] = {
-    { "_Int8ArrayView", Dart_TypedData_kInt8 },
-    { "_Uint8ArrayView", Dart_TypedData_kUint8 },
-    { "_Uint8ClampedArrayView", Dart_TypedData_kUint8Clamped },
-    { "_Int16ArrayView", Dart_TypedData_kInt16 },
-    { "_Uint16ArrayView", Dart_TypedData_kUint16 },
-    { "_Int32ArrayView", Dart_TypedData_kInt32 },
-    { "_Uint32ArrayView", Dart_TypedData_kUint32 },
-    { "_Int64ArrayView", Dart_TypedData_kInt64 },
-    { "_Uint64ArrayView", Dart_TypedData_kUint64 },
-    { "_ByteDataView", Dart_TypedData_kUint8 },
-    { "_Float32ArrayView", Dart_TypedData_kFloat32 },
-    { "_Float64ArrayView", Dart_TypedData_kFloat64 },
-    { NULL, Dart_TypedData_kInvalid },
+      {"_Int8ArrayView", Dart_TypedData_kInt8},
+      {"_Uint8ArrayView", Dart_TypedData_kUint8},
+      {"_Uint8ClampedArrayView", Dart_TypedData_kUint8Clamped},
+      {"_Int16ArrayView", Dart_TypedData_kInt16},
+      {"_Uint16ArrayView", Dart_TypedData_kUint16},
+      {"_Int32ArrayView", Dart_TypedData_kInt32},
+      {"_Uint32ArrayView", Dart_TypedData_kUint32},
+      {"_Int64ArrayView", Dart_TypedData_kInt64},
+      {"_Uint64ArrayView", Dart_TypedData_kUint64},
+      {"_ByteDataView", Dart_TypedData_kUint8},
+      {"_Float32ArrayView", Dart_TypedData_kFloat32},
+      {"_Float64ArrayView", Dart_TypedData_kFloat64},
+      {NULL, Dart_TypedData_kInvalid},
   };
 
   int i = 0;
   while (view_class_names[i].name != NULL) {
-    if (strncmp(view_class_names[i].name,
-                class_name,
+    if (strncmp(view_class_names[i].name, class_name,
                 strlen(view_class_names[i].name)) == 0) {
       return view_class_names[i].type;
     }
@@ -342,9 +336,8 @@
       ASSERT(object->cls->type ==
              static_cast<Dart_CObject_Type>(Dart_CObject_Internal::kClass));
     }
-    ASSERT(object->type ==
-           static_cast<Dart_CObject_Type>(
-               Dart_CObject_Internal::kUninitialized));
+    ASSERT(object->type == static_cast<Dart_CObject_Type>(
+                               Dart_CObject_Internal::kUninitialized));
 
     char* library_uri =
         object->cls->internal.as_class.library_url->value.as_string;
@@ -373,8 +366,7 @@
         object->type = Dart_CObject_kTypedData;
         object->value.as_typed_data.type = type;
         object->value.as_typed_data.length =
-            object->internal.as_view.length *
-            GetTypedDataSizeInBytes(type);
+            object->internal.as_view.length * GetTypedDataSizeInBytes(type);
         object->value.as_typed_data.values =
             buffer->value.as_typed_data.values +
             object->internal.as_view.offset_in_bytes;
@@ -428,8 +420,7 @@
   if (vm_symbol_references_ == NULL) {
     intptr_t size =
         (sizeof(*vm_symbol_references_) * Symbols::kMaxPredefinedId);
-    vm_symbol_references_ =
-        reinterpret_cast<Dart_CObject**>(allocator(size));
+    vm_symbol_references_ = reinterpret_cast<Dart_CObject**>(allocator(size));
     memset(vm_symbol_references_, 0, size);
   }
 
@@ -628,7 +619,7 @@
       Dart_CObject* digits = ReadObjectImpl();
       ASSERT(digits->type == Dart_CObject_kTypedData);
       ASSERT(digits->value.as_typed_data.type == Dart_TypedData_kUint32);
-      ASSERT(digits->value.as_typed_data.length >= 4*used);
+      ASSERT(digits->value.as_typed_data.length >= 4 * used);
       // Update the bigint object.
       object->value.as_bigint.neg = neg;
       object->value.as_bigint.used = used;
@@ -642,7 +633,7 @@
     }
     case kOneByteStringCid: {
       intptr_t len = ReadSmiValue();
-      uint8_t *latin1 =
+      uint8_t* latin1 =
           reinterpret_cast<uint8_t*>(allocator(len * sizeof(uint8_t)));
       intptr_t utf8_len = 0;
       for (intptr_t i = 0; i < len; i++) {
@@ -661,8 +652,8 @@
     }
     case kTwoByteStringCid: {
       intptr_t len = ReadSmiValue();
-      uint16_t *utf16 = reinterpret_cast<uint16_t*>(
-          allocator(len * sizeof(uint16_t)));
+      uint16_t* utf16 =
+          reinterpret_cast<uint16_t*>(allocator(len * sizeof(uint16_t)));
       intptr_t utf8_len = 0;
       // Read all the UTF-16 code units.
       for (intptr_t i = 0; i < len; i++) {
@@ -709,24 +700,23 @@
     }
 
 #define READ_TYPED_DATA_HEADER(type)                                           \
-      intptr_t len = ReadSmiValue();                                           \
-      Dart_CObject* object =                                                   \
-          AllocateDartCObjectTypedData(Dart_TypedData_k##type, len);           \
-      AddBackRef(object_id, object, kIsDeserialized);                          \
+  intptr_t len = ReadSmiValue();                                               \
+  Dart_CObject* object =                                                       \
+      AllocateDartCObjectTypedData(Dart_TypedData_k##type, len);               \
+  AddBackRef(object_id, object, kIsDeserialized);
 
 
 #define READ_TYPED_DATA(type, ctype)                                           \
-    {                                                                          \
-      READ_TYPED_DATA_HEADER(type);                                            \
-      if (len > 0) {                                                           \
-        ctype* p =                                                             \
-            reinterpret_cast<ctype*>(object->value.as_typed_data.values);      \
-        for (intptr_t i = 0; i < len; i++) {                                   \
-          p[i] = Read<ctype>();                                                \
-        }                                                                      \
+  {                                                                            \
+    READ_TYPED_DATA_HEADER(type);                                              \
+    if (len > 0) {                                                             \
+      ctype* p = reinterpret_cast<ctype*>(object->value.as_typed_data.values); \
+      for (intptr_t i = 0; i < len; i++) {                                     \
+        p[i] = Read<ctype>();                                                  \
       }                                                                        \
-      return object;                                                           \
     }                                                                          \
+    return object;                                                             \
+  }
 
     case kTypedDataInt8ArrayCid:
     case kExternalTypedDataInt8ArrayCid: {
@@ -829,10 +819,8 @@
 
 
 Dart_CObject* ApiMessageReader::ReadIndexedObject(intptr_t object_id) {
-  if (object_id == kDynamicType ||
-      object_id == kDoubleType ||
-      object_id == kIntType ||
-      object_id == kBoolType ||
+  if (object_id == kDynamicType || object_id == kDoubleType ||
+      object_id == kIntType || object_id == kBoolType ||
       object_id == kStringType) {
     // Always return dynamic type (this is only a marker).
     return &dynamic_type_marker;
@@ -905,7 +893,7 @@
 }
 
 
-void ApiMessageWriter::WriteMessage(intptr_t field_count, intptr_t *data) {
+void ApiMessageWriter::WriteMessage(intptr_t field_count, intptr_t* data) {
   // Write out the serialization header value for this object.
   WriteInlinedObjectHeader(kMaxPredefinedObjectIds);
 
@@ -939,8 +927,8 @@
 
 void ApiMessageWriter::UnmarkCObject(Dart_CObject* object) {
   ASSERT(IsCObjectMarked(object));
-  object->type = static_cast<Dart_CObject_Type>(
-      object->type & kDartCObjectTypeMask);
+  object->type =
+      static_cast<Dart_CObject_Type>(object->type & kDartCObjectTypeMask);
 }
 
 
@@ -1053,8 +1041,7 @@
   Dart_CObject_Type type = object->type;
   if (type == Dart_CObject_kArray) {
     const intptr_t array_length = object->value.as_array.length;
-    if (array_length < 0 ||
-        array_length > Array::kMaxElements) {
+    if (array_length < 0 || array_length > Array::kMaxElements) {
       return false;
     }
 
@@ -1088,8 +1075,7 @@
   Dart_CObject_Type type = object->type;
   if (type == Dart_CObject_kArray) {
     const intptr_t array_length = object->value.as_array.length;
-    if (array_length < 0 ||
-        array_length > Array::kMaxElements) {
+    if (array_length < 0 || array_length > Array::kMaxElements) {
       return false;
     }
     // Write out the serialization header value for this object.
@@ -1113,8 +1099,7 @@
       static_cast<Dart_CObject_Type>(object->type & kDartCObjectTypeMask);
   ASSERT(type == Dart_CObject_kArray);
   const intptr_t array_length = object->value.as_array.length;
-  if (array_length < 0 ||
-      array_length > Array::kMaxElements) {
+  if (array_length < 0 || array_length > Array::kMaxElements) {
     return false;
   }
 
@@ -1203,10 +1188,8 @@
       if (type == Utf8::kLatin1) {
         uint8_t* latin1_str =
             reinterpret_cast<uint8_t*>(::malloc(len * sizeof(uint8_t)));
-        bool success = Utf8::DecodeToLatin1(utf8_str,
-                                            utf8_len,
-                                            latin1_str,
-                                            len);
+        bool success =
+            Utf8::DecodeToLatin1(utf8_str, utf8_len, latin1_str, len);
         ASSERT(success);
         for (intptr_t i = 0; i < len; i++) {
           Write<uint8_t>(latin1_str[i]);
@@ -1245,8 +1228,7 @@
       }
 
       intptr_t len = object->value.as_typed_data.length;
-      if (len < 0 ||
-          len > TypedData::MaxElements(class_id)) {
+      if (len < 0 || len > TypedData::MaxElements(class_id)) {
         return false;
       }
 
@@ -1288,8 +1270,8 @@
       WriteTags(0);
       intptr_t length = object->value.as_external_typed_data.length;
       if (length < 0 ||
-          length > ExternalTypedData::MaxElements(
-              kExternalTypedDataUint8ArrayCid)) {
+          length >
+              ExternalTypedData::MaxElements(kExternalTypedDataUint8ArrayCid)) {
         return false;
       }
       uint8_t* data = object->value.as_external_typed_data.data;
diff --git a/runtime/vm/dart_api_message.h b/runtime/vm/dart_api_message.h
index 7baab59..8e2747a 100644
--- a/runtime/vm/dart_api_message.h
+++ b/runtime/vm/dart_api_message.h
@@ -50,7 +50,7 @@
   // the enclosing ApiNativeScope.
   ApiMessageReader(const uint8_t* buffer, intptr_t length);
   explicit ApiMessageReader(Message* message);
-  ~ApiMessageReader() { }
+  ~ApiMessageReader() {}
 
   Dart_CObject* ReadMessage();
 
@@ -93,8 +93,8 @@
   // Allocates a Dart_CObject object for string data.
   Dart_CObject* AllocateDartCObjectString(intptr_t length);
   // Allocates a C Dart_CObject object for a typed data.
-  Dart_CObject* AllocateDartCObjectTypedData(
-      Dart_TypedData_Type type, intptr_t length);
+  Dart_CObject* AllocateDartCObjectTypedData(Dart_TypedData_Type type,
+                                             intptr_t length);
   // Allocates a C array of Dart_CObject objects.
   Dart_CObject* AllocateDartCObjectArray(intptr_t length);
   // Allocate a C Dart_CObject object for a VM isolate object.
@@ -137,8 +137,7 @@
   }
 
   Dart_CObject* CreateDartCObjectString(RawObject* raw);
-  Dart_CObject* GetCanonicalMintObject(Dart_CObject_Type type,
-                                       int64_t value64);
+  Dart_CObject* GetCanonicalMintObject(Dart_CObject_Type type, int64_t value64);
 
   uint8_t* allocator(intptr_t size) {
     return zone_->Realloc<uint8_t>(NULL, 0, size);
@@ -160,16 +159,16 @@
   static const intptr_t kInitialSize = 512;
   ApiMessageWriter(uint8_t** buffer, ReAlloc alloc)
       : BaseWriter(buffer, alloc, kInitialSize),
-        object_id_(0), forward_list_(NULL),
-        forward_list_length_(0), forward_id_(0) {
+        object_id_(0),
+        forward_list_(NULL),
+        forward_list_length_(0),
+        forward_id_(0) {
     ASSERT(kDartCObjectTypeMask >= Dart_CObject_kNumberOfTypes - 1);
   }
-  ~ApiMessageWriter() {
-    ::free(forward_list_);
-  }
+  ~ApiMessageWriter() { ::free(forward_list_); }
 
   // Writes a message of integers.
-  void WriteMessage(intptr_t field_count, intptr_t *data);
+  void WriteMessage(intptr_t field_count, intptr_t* data);
 
   // Writes a message with a single object.
   bool WriteCMessage(Dart_CObject* object);
diff --git a/runtime/vm/dart_api_state.cc b/runtime/vm/dart_api_state.cc
index 6d0967d..2d1d827 100644
--- a/runtime/vm/dart_api_state.cc
+++ b/runtime/vm/dart_api_state.cc
@@ -15,9 +15,8 @@
 namespace dart {
 
 BackgroundFinalizer::BackgroundFinalizer(Isolate* isolate,
-                                         FinalizationQueue* queue) :
-    isolate_(isolate),
-    queue_(queue) {
+                                         FinalizationQueue* queue)
+    : isolate_(isolate), queue_(queue) {
   ASSERT(FLAG_background_finalization);
   PageSpace* old_space = isolate->heap()->old_space();
   MonitorLocker ml(old_space->tasks_lock());
@@ -26,8 +25,7 @@
 
 
 void BackgroundFinalizer::Run() {
-  bool result = Thread::EnterIsolateAsHelper(isolate_,
-                                             Thread::kFinalizerTask);
+  bool result = Thread::EnterIsolateAsHelper(isolate_, Thread::kFinalizerTask);
   ASSERT(result);
 
   {
diff --git a/runtime/vm/dart_api_state.h b/runtime/vm/dart_api_state.h
index 7b38cb5..1bff38c 100644
--- a/runtime/vm/dart_api_state.h
+++ b/runtime/vm/dart_api_state.h
@@ -32,7 +32,7 @@
 class BackgroundFinalizer : public ThreadPool::Task {
  public:
   BackgroundFinalizer(Isolate* isolate, FinalizationQueue* queue);
-  virtual ~BackgroundFinalizer() { }
+  virtual ~BackgroundFinalizer() {}
 
   void Run();
 
@@ -88,7 +88,9 @@
   // 'ElementType'.  Checks for integer overflow when performing the
   // size computation.
   template <class ElementType>
-  ElementType* Alloc(intptr_t len) { return zone_.Alloc<ElementType>(len); }
+  ElementType* Alloc(intptr_t len) {
+    return zone_.Alloc<ElementType>(len);
+  }
 
   // Allocates an array sized to hold 'len' elements of type
   // 'ElementType'.  The new array is initialized from the memory of
@@ -133,7 +135,8 @@
  private:
   Zone zone_;
 
-  template<typename T> friend class ApiGrowableArray;
+  template <typename T>
+  friend class ApiGrowableArray;
   DISALLOW_COPY_AND_ASSIGN(ApiZone);
 };
 
@@ -148,13 +151,11 @@
   void set_raw(RawObject* raw) { raw_ = raw; }
   static intptr_t raw_offset() { return OFFSET_OF(LocalHandle, raw_); }
 
-  Dart_Handle apiHandle() {
-    return reinterpret_cast<Dart_Handle>(this);
-  }
+  Dart_Handle apiHandle() { return reinterpret_cast<Dart_Handle>(this); }
 
  private:
-  LocalHandle() { }
-  ~LocalHandle() { }
+  LocalHandle() {}
+  ~LocalHandle() {}
 
   RawObject* raw_;
   DISALLOW_ALLOCATION();  // Allocated through AllocateHandle methods.
@@ -188,21 +189,17 @@
  private:
   friend class PersistentHandles;
 
-  PersistentHandle() { }
-  ~PersistentHandle() { }
+  PersistentHandle() {}
+  ~PersistentHandle() {}
 
   // Overload the raw_ field as a next pointer when adding freed
   // handles to the free list.
-  PersistentHandle* Next() {
-    return reinterpret_cast<PersistentHandle*>(raw_);
-  }
+  PersistentHandle* Next() { return reinterpret_cast<PersistentHandle*>(raw_); }
   void SetNext(PersistentHandle* free_list) {
     raw_ = reinterpret_cast<RawObject*>(free_list);
     ASSERT(!raw_->IsHeapObject());
   }
-  void FreeHandle(PersistentHandle* free_list) {
-    SetNext(free_list);
-  }
+  void FreeHandle(PersistentHandle* free_list) { SetNext(free_list); }
 
   RawObject* raw_;
   DISALLOW_ALLOCATION();  // Allocated through AllocateHandle methods.
@@ -293,19 +290,16 @@
                                                   kExternalSizeBitsSize> {};
   // This bit of external_data_ is true if the referent was created in new
   // space and UpdateRelocated has not yet detected any promotion.
-  class ExternalNewSpaceBit :
-      public BitField<uword, bool, kExternalNewSpaceBit, 1> {};
-  class QueuedForFinalizationBit :
-      public BitField<uword, bool, kQueuedForFinalizationBit, 1> {};
+  class ExternalNewSpaceBit
+      : public BitField<uword, bool, kExternalNewSpaceBit, 1> {};
+  class QueuedForFinalizationBit
+      : public BitField<uword, bool, kQueuedForFinalizationBit, 1> {};
 
   friend class FinalizablePersistentHandles;
 
   FinalizablePersistentHandle()
-      : raw_(NULL),
-        peer_(NULL),
-        external_data_(0),
-        callback_(NULL) { }
-  ~FinalizablePersistentHandle() { }
+      : raw_(NULL), peer_(NULL), external_data_(0), callback_(NULL) {}
+  ~FinalizablePersistentHandle() {}
 
   static void Finalize(Isolate* isolate, FinalizablePersistentHandle* handle);
 
@@ -348,8 +342,8 @@
   void set_external_size(intptr_t size) {
     intptr_t size_in_words = Utils::RoundUp(size, kObjectAlignment) / kWordSize;
     ASSERT(ExternalSizeInWordsBits::is_valid(size_in_words));
-    external_data_ = ExternalSizeInWordsBits::update(size_in_words,
-                                                     external_data_);
+    external_data_ =
+        ExternalSizeInWordsBits::update(size_in_words, external_data_);
   }
 
   bool is_queued_for_finalization() const {
@@ -374,8 +368,8 @@
   // Returns the space to charge for the external size.
   Heap::Space SpaceForExternal() const {
     // Non-heap and VM-heap objects count as old space here.
-    return (raw_->IsHeapObject() && raw_->IsNewObject()) ?
-           Heap::kNew : Heap::kOld;
+    return (raw_->IsHeapObject() && raw_->IsNewObject()) ? Heap::kNew
+                                                         : Heap::kOld;
   }
 
   friend class BackgroundFinalizer;
@@ -398,9 +392,10 @@
                              kLocalHandlesPerChunk,
                              kOffsetOfRawPtrInLocalHandle> {
  public:
-  LocalHandles() : Handles<kLocalHandleSizeInWords,
-                           kLocalHandlesPerChunk,
-                           kOffsetOfRawPtrInLocalHandle>() {
+  LocalHandles()
+      : Handles<kLocalHandleSizeInWords,
+                kLocalHandlesPerChunk,
+                kOffsetOfRawPtrInLocalHandle>() {
     if (FLAG_trace_handles) {
       OS::PrintErr("*** Starting a new Local handle block 0x%" Px "\n",
                    reinterpret_cast<intptr_t>(this));
@@ -409,8 +404,7 @@
   ~LocalHandles() {
     if (FLAG_trace_handles) {
       OS::PrintErr("***   Handle Counts for 0x(%" Px "):Scoped = %d\n",
-                   reinterpret_cast<intptr_t>(this),
-                   CountHandles());
+                   reinterpret_cast<intptr_t>(this), CountHandles());
       OS::PrintErr("*** Deleting Local handle block 0x%" Px "\n",
                    reinterpret_cast<intptr_t>(this));
     }
@@ -419,15 +413,13 @@
 
   // Visit all object pointers stored in the various handles.
   void VisitObjectPointers(ObjectPointerVisitor* visitor) {
-    Handles<kLocalHandleSizeInWords,
-            kLocalHandlesPerChunk,
+    Handles<kLocalHandleSizeInWords, kLocalHandlesPerChunk,
             kOffsetOfRawPtrInLocalHandle>::VisitObjectPointers(visitor);
   }
 
   // Reset the local handles block for reuse.
   void Reset() {
-    Handles<kLocalHandleSizeInWords,
-            kLocalHandlesPerChunk,
+    Handles<kLocalHandleSizeInWords, kLocalHandlesPerChunk,
             kOffsetOfRawPtrInLocalHandle>::Reset();
   }
 
@@ -444,9 +436,7 @@
   }
 
   // Returns a count of active handles (used for testing purposes).
-  int CountHandles() const {
-    return CountScopedHandles();
-  }
+  int CountHandles() const { return CountScopedHandles(); }
 
  private:
   DISALLOW_COPY_AND_ASSIGN(LocalHandles);
@@ -462,9 +452,10 @@
                                   kPersistentHandlesPerChunk,
                                   kOffsetOfRawPtrInPersistentHandle> {
  public:
-  PersistentHandles() : Handles<kPersistentHandleSizeInWords,
-                                kPersistentHandlesPerChunk,
-                                kOffsetOfRawPtrInPersistentHandle>(),
+  PersistentHandles()
+      : Handles<kPersistentHandleSizeInWords,
+                kPersistentHandlesPerChunk,
+                kOffsetOfRawPtrInPersistentHandle>(),
         free_list_(NULL) {
     if (FLAG_trace_handles) {
       OS::PrintErr("*** Starting a new Persistent handle block 0x%" Px "\n",
@@ -475,8 +466,7 @@
     free_list_ = NULL;
     if (FLAG_trace_handles) {
       OS::PrintErr("***   Handle Counts for 0x(%" Px "):Scoped = %d\n",
-                   reinterpret_cast<intptr_t>(this),
-                   CountHandles());
+                   reinterpret_cast<intptr_t>(this), CountHandles());
       OS::PrintErr("*** Deleting Persistent handle block 0x%" Px "\n",
                    reinterpret_cast<intptr_t>(this));
     }
@@ -488,15 +478,13 @@
 
   // Visit all object pointers stored in the various handles.
   void VisitObjectPointers(ObjectPointerVisitor* visitor) {
-    Handles<kPersistentHandleSizeInWords,
-            kPersistentHandlesPerChunk,
+    Handles<kPersistentHandleSizeInWords, kPersistentHandlesPerChunk,
             kOffsetOfRawPtrInPersistentHandle>::VisitObjectPointers(visitor);
   }
 
   // Visit all the handles.
   void Visit(HandleVisitor* visitor) {
-    Handles<kPersistentHandleSizeInWords,
-            kPersistentHandlesPerChunk,
+    Handles<kPersistentHandleSizeInWords, kPersistentHandlesPerChunk,
             kOffsetOfRawPtrInPersistentHandle>::Visit(visitor);
   }
 
@@ -525,9 +513,7 @@
   }
 
   // Returns a count of active handles (used for testing purposes).
-  int CountHandles() const {
-    return CountScopedHandles();
-  }
+  int CountHandles() const { return CountScopedHandles(); }
 
  private:
   PersistentHandle* free_list_;
@@ -537,7 +523,7 @@
 
 // Finalizable persistent handles repository structure.
 static const int kFinalizablePersistentHandleSizeInWords =
-     sizeof(FinalizablePersistentHandle) / kWordSize;
+    sizeof(FinalizablePersistentHandle) / kWordSize;
 static const int kFinalizablePersistentHandlesPerChunk = 64;
 static const int kOffsetOfRawPtrInFinalizablePersistentHandle = 0;
 class FinalizablePersistentHandles
@@ -549,7 +535,8 @@
       : Handles<kFinalizablePersistentHandleSizeInWords,
                 kFinalizablePersistentHandlesPerChunk,
                 kOffsetOfRawPtrInFinalizablePersistentHandle>(),
-      free_list_(NULL), mutex_(new Mutex()) { }
+        free_list_(NULL),
+        mutex_(new Mutex()) {}
   ~FinalizablePersistentHandles() {
     free_list_ = NULL;
     delete mutex_;
@@ -564,16 +551,15 @@
   void VisitHandles(HandleVisitor* visitor) {
     Handles<kFinalizablePersistentHandleSizeInWords,
             kFinalizablePersistentHandlesPerChunk,
-            kOffsetOfRawPtrInFinalizablePersistentHandle>::Visit(
-                visitor);
+            kOffsetOfRawPtrInFinalizablePersistentHandle>::Visit(visitor);
   }
 
   // Visit all object pointers stored in the various handles.
   void VisitObjectPointers(ObjectPointerVisitor* visitor) {
     Handles<kFinalizablePersistentHandleSizeInWords,
             kFinalizablePersistentHandlesPerChunk,
-            kOffsetOfRawPtrInFinalizablePersistentHandle>::VisitObjectPointers(
-                visitor);
+            kOffsetOfRawPtrInFinalizablePersistentHandle>::
+        VisitObjectPointers(visitor);
   }
 
   // Allocates a persistent handle, these have to be destroyed explicitly
@@ -590,8 +576,8 @@
       }
     }
 
-    handle = reinterpret_cast<FinalizablePersistentHandle*>(
-          AllocateScopedHandle());
+    handle =
+        reinterpret_cast<FinalizablePersistentHandle*>(AllocateScopedHandle());
     handle->Clear();
     return handle;
   }
@@ -609,9 +595,7 @@
   }
 
   // Returns a count of active handles (used for testing purposes).
-  int CountHandles() const {
-    return CountScopedHandles();
-  }
+  int CountHandles() const { return CountScopedHandles(); }
 
  private:
   FinalizablePersistentHandle* free_list_;
@@ -624,11 +608,9 @@
 // These local scopes manage handles and memory allocated in the scope.
 class ApiLocalScope {
  public:
-  ApiLocalScope(ApiLocalScope* previous, uword stack_marker) :
-      previous_(previous), stack_marker_(stack_marker) { }
-  ~ApiLocalScope() {
-    previous_ = NULL;
-  }
+  ApiLocalScope(ApiLocalScope* previous, uword stack_marker)
+      : previous_(previous), stack_marker_(stack_marker) {}
+  ~ApiLocalScope() { previous_ = NULL; }
 
   // Reinit the ApiLocalScope to new values.
   void Reinit(Thread* thread, ApiLocalScope* previous, uword stack_marker) {
@@ -668,7 +650,7 @@
     // Currently no support for nesting native scopes.
     ASSERT(Current() == NULL);
     OSThread::SetThreadLocal(Api::api_native_key_,
-                                reinterpret_cast<uword>(this));
+                             reinterpret_cast<uword>(this));
   }
 
   ~ApiNativeScope() {
@@ -697,16 +679,14 @@
 // picks the zone from the current isolate if in an isolate
 // environment. When outside an isolate environment it picks the zone
 // from the current native scope.
-template<typename T>
+template <typename T>
 class ApiGrowableArray : public BaseGrowableArray<T, ValueObject> {
  public:
   explicit ApiGrowableArray(int initial_capacity)
-      : BaseGrowableArray<T, ValueObject>(
-          initial_capacity,
-          ApiNativeScope::Current()->zone()) {}
+      : BaseGrowableArray<T, ValueObject>(initial_capacity,
+                                          ApiNativeScope::Current()->zone()) {}
   ApiGrowableArray()
-      : BaseGrowableArray<T, ValueObject>(
-          ApiNativeScope::Current()->zone()) {}
+      : BaseGrowableArray<T, ValueObject>(ApiNativeScope::Current()->zone()) {}
   ApiGrowableArray(intptr_t initial_capacity, Zone* zone)
       : BaseGrowableArray<T, ValueObject>(initial_capacity, zone) {}
 };
@@ -717,12 +697,13 @@
 // basis and destroyed when the isolate is shutdown.
 class ApiState {
  public:
-  ApiState() : persistent_handles_(),
-               weak_persistent_handles_(),
-               null_(NULL),
-               true_(NULL),
-               false_(NULL),
-               acquired_error_(NULL) {}
+  ApiState()
+      : persistent_handles_(),
+        weak_persistent_handles_(),
+        null_(NULL),
+        true_(NULL),
+        false_(NULL),
+        acquired_error_(NULL) {}
   ~ApiState() {
     if (null_ != NULL) {
       persistent_handles().FreeHandle(null_);
diff --git a/runtime/vm/dart_entry.cc b/runtime/vm/dart_entry.cc
index 12567e6..3346bef 100644
--- a/runtime/vm/dart_entry.cc
+++ b/runtime/vm/dart_entry.cc
@@ -71,8 +71,7 @@
 class SuspendLongJumpScope : public StackResource {
  public:
   explicit SuspendLongJumpScope(Thread* thread)
-      : StackResource(thread),
-        saved_long_jump_base_(thread->long_jump_base()) {
+      : StackResource(thread), saved_long_jump_base_(thread->long_jump_base()) {
     thread->set_long_jump_base(NULL);
   }
 
@@ -96,13 +95,13 @@
   Zone* zone = thread->zone();
   ASSERT(thread->IsMutatorThread());
   if (!function.HasCode()) {
-    const Error& error = Error::Handle(
-        zone, Compiler::CompileFunction(thread, function));
+    const Error& error =
+        Error::Handle(zone, Compiler::CompileFunction(thread, function));
     if (!error.IsNull()) {
       return error.raw();
     }
   }
-  // Now Call the invoke stub which will invoke the dart function.
+// Now Call the invoke stub which will invoke the dart function.
 #if !defined(TARGET_ARCH_DBC)
   invokestub entrypoint = reinterpret_cast<invokestub>(
       StubCode::InvokeDartCode_entry()->EntryPoint());
@@ -114,22 +113,16 @@
   SuspendLongJumpScope suspend_long_jump_scope(thread);
   TransitionToGenerated transition(thread);
 #if defined(TARGET_ARCH_DBC)
-  return Simulator::Current()->Call(code,
-                                    arguments_descriptor,
-                                    arguments,
+  return Simulator::Current()->Call(code, arguments_descriptor, arguments,
                                     thread);
 #elif defined(USING_SIMULATOR)
   return bit_copy<RawObject*, int64_t>(Simulator::Current()->Call(
-      reinterpret_cast<intptr_t>(entrypoint),
-      reinterpret_cast<intptr_t>(&code),
+      reinterpret_cast<intptr_t>(entrypoint), reinterpret_cast<intptr_t>(&code),
       reinterpret_cast<intptr_t>(&arguments_descriptor),
       reinterpret_cast<intptr_t>(&arguments),
       reinterpret_cast<intptr_t>(thread)));
 #else
-  return entrypoint(code,
-                    arguments_descriptor,
-                    arguments,
-                    thread);
+  return entrypoint(code, arguments_descriptor, arguments, thread);
 #endif
 }
 
@@ -155,8 +148,7 @@
     // Only invoke the function if its arguments are compatible.
     const ArgumentsDescriptor args_desc(arguments_descriptor);
     if (function.AreValidArgumentCounts(args_desc.Count(),
-                                        args_desc.NamedCount(),
-                                        NULL)) {
+                                        args_desc.NamedCount(), NULL)) {
       // The closure or non-closure object (receiver) is passed as implicit
       // first argument. It is already included in the arguments array.
       return InvokeFunction(function, arguments, arguments_descriptor);
@@ -184,15 +176,14 @@
 
         if (c_stack_pos < c_stack_limit) {
           const Instance& exception =
-            Instance::Handle(zone, isolate->object_store()->stack_overflow());
+              Instance::Handle(zone, isolate->object_store()->stack_overflow());
           return UnhandledException::New(exception, Stacktrace::Handle(zone));
         }
 
         const Array& getter_arguments = Array::Handle(zone, Array::New(1));
         getter_arguments.SetAt(0, instance);
-        const Object& getter_result =
-              Object::Handle(zone, DartEntry::InvokeFunction(function,
-                                                       getter_arguments));
+        const Object& getter_result = Object::Handle(
+            zone, DartEntry::InvokeFunction(function, getter_arguments));
         if (getter_result.IsError()) {
           return getter_result.raw();
         }
@@ -202,8 +193,8 @@
         // This otherwise unnecessary handle is used to prevent clang from
         // doing tail call elimination, which would make the stack overflow
         // check above ineffective.
-        Object& result = Object::Handle(zone,
-            InvokeClosure(arguments, arguments_descriptor));
+        Object& result = Object::Handle(
+            zone, InvokeClosure(arguments, arguments_descriptor));
         return result.raw();
       }
       cls = cls.SuperClass();
@@ -211,9 +202,7 @@
   }
 
   // No compatible method or getter so invoke noSuchMethod.
-  return InvokeNoSuchMethod(instance,
-                            Symbols::Call(),
-                            arguments,
+  return InvokeNoSuchMethod(instance, Symbols::Call(), arguments,
                             arguments_descriptor);
 }
 
@@ -226,9 +215,8 @@
   // Allocate an Invocation object.
   const Library& core_lib = Library::Handle(Library::CoreLibrary());
 
-  Class& invocation_mirror_class = Class::Handle(
-      core_lib.LookupClass(
-          String::Handle(core_lib.PrivateName(Symbols::InvocationMirror()))));
+  Class& invocation_mirror_class = Class::Handle(core_lib.LookupClass(
+      String::Handle(core_lib.PrivateName(Symbols::InvocationMirror()))));
   ASSERT(!invocation_mirror_class.IsNull());
   const String& function_name =
       String::Handle(core_lib.PrivateName(Symbols::AllocateInvocationMirror()));
@@ -241,8 +229,8 @@
   allocation_args.SetAt(1, arguments_descriptor);
   allocation_args.SetAt(2, arguments);
   allocation_args.SetAt(3, Bool::False());  // Not a super invocation.
-  const Object& invocation_mirror = Object::Handle(
-      InvokeFunction(allocation_function, allocation_args));
+  const Object& invocation_mirror =
+      Object::Handle(InvokeFunction(allocation_function, allocation_args));
   if (invocation_mirror.IsError()) {
     Exceptions::PropagateError(Error::Cast(invocation_mirror));
     UNREACHABLE();
@@ -253,9 +241,7 @@
   ArgumentsDescriptor args_desc(
       Array::Handle(ArgumentsDescriptor::New(kNumArguments)));
   Function& function = Function::Handle(
-      Resolver::ResolveDynamic(receiver,
-                               Symbols::NoSuchMethod(),
-                               args_desc));
+      Resolver::ResolveDynamic(receiver, Symbols::NoSuchMethod(), args_desc));
   if (function.IsNull()) {
     ASSERT(!FLAG_lazy_dispatchers);
     // If noSuchMethod(invocation) is not found, call Object::noSuchMethod.
@@ -263,8 +249,7 @@
     function ^= Resolver::ResolveDynamicForReceiverClass(
         Class::Handle(thread->zone(),
                       thread->isolate()->object_store()->object_class()),
-        Symbols::NoSuchMethod(),
-        args_desc);
+        Symbols::NoSuchMethod(), args_desc);
   }
   ASSERT(!function.IsNull());
   const Array& args = Array::Handle(Array::New(kNumArguments));
@@ -274,9 +259,7 @@
 }
 
 
-ArgumentsDescriptor::ArgumentsDescriptor(const Array& array)
-    : array_(array) {
-}
+ArgumentsDescriptor::ArgumentsDescriptor(const Array& array) : array_(array) {}
 
 
 intptr_t ArgumentsDescriptor::Count() const {
@@ -290,9 +273,8 @@
 
 
 RawString* ArgumentsDescriptor::NameAt(intptr_t index) const {
-  const intptr_t offset = kFirstNamedEntryIndex +
-                          (index * kNamedEntrySize) +
-                          kNameOffset;
+  const intptr_t offset =
+      kFirstNamedEntryIndex + (index * kNamedEntrySize) + kNameOffset;
   String& result = String::Handle();
   result ^= array_.At(offset);
   return result.raw();
@@ -300,9 +282,8 @@
 
 
 intptr_t ArgumentsDescriptor::PositionAt(intptr_t index) const {
-  const intptr_t offset = kFirstNamedEntryIndex +
-                          (index * kNamedEntrySize) +
-                          kPositionOffset;
+  const intptr_t offset =
+      kFirstNamedEntryIndex + (index * kNamedEntrySize) + kPositionOffset;
   return Smi::Value(Smi::RawCast(array_.At(offset)));
 }
 
@@ -344,8 +325,8 @@
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
   const intptr_t descriptor_len = LengthFor(num_named_args);
-  Array& descriptor = Array::Handle(
-      zone, Array::New(descriptor_len, Heap::kOld));
+  Array& descriptor =
+      Array::Handle(zone, Array::New(descriptor_len, Heap::kOld));
 
   // Set total number of passed arguments.
   descriptor.SetAt(kCountIndex, Smi::Handle(Smi::New(num_arguments)));
@@ -404,8 +385,8 @@
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
   const intptr_t descriptor_len = LengthFor(0);
-  Array& descriptor = Array::Handle(
-      zone, Array::New(descriptor_len, Heap::kOld));
+  Array& descriptor =
+      Array::Handle(zone, Array::New(descriptor_len, Heap::kOld));
   const Smi& arg_count = Smi::Handle(zone, Smi::New(num_arguments));
 
   // Set total number of passed arguments.
@@ -444,7 +425,7 @@
   const int kNumExtraArgs = 1;  // implicit rcvr arg.
   const Instance& exception_object = Instance::Handle(Instance::New(cls));
   const Array& constructor_arguments =
-    Array::Handle(Array::New(arguments.Length() + kNumExtraArgs));
+      Array::Handle(Array::New(arguments.Length() + kNumExtraArgs));
   constructor_arguments.SetAt(0, exception_object);
   Object& obj = Object::Handle();
   for (intptr_t i = 0; i < arguments.Length(); i++) {
@@ -452,14 +433,13 @@
     constructor_arguments.SetAt((i + kNumExtraArgs), obj);
   }
 
-  const String& function_name = String::Handle(
-      String::Concat(class_name, constructor_name));
+  const String& function_name =
+      String::Handle(String::Concat(class_name, constructor_name));
   const Function& constructor =
       Function::Handle(cls.LookupConstructorAllowPrivate(function_name));
   ASSERT(!constructor.IsNull());
-  const Object& retval =
-    Object::Handle(DartEntry::InvokeFunction(constructor,
-                                             constructor_arguments));
+  const Object& retval = Object::Handle(
+      DartEntry::InvokeFunction(constructor, constructor_arguments));
   ASSERT(retval.IsNull() || retval.IsError());
   if (retval.IsError()) {
     return retval.raw();
@@ -473,14 +453,12 @@
   ArgumentsDescriptor args_desc(
       Array::Handle(ArgumentsDescriptor::New(kNumArguments)));
   const Function& function = Function::Handle(
-      Resolver::ResolveDynamic(receiver,
-                               Symbols::toString(),
-                               args_desc));
+      Resolver::ResolveDynamic(receiver, Symbols::toString(), args_desc));
   ASSERT(!function.IsNull());
   const Array& args = Array::Handle(Array::New(kNumArguments));
   args.SetAt(0, receiver);
-  const Object& result = Object::Handle(DartEntry::InvokeFunction(function,
-                                                                  args));
+  const Object& result =
+      Object::Handle(DartEntry::InvokeFunction(function, args));
   ASSERT(result.IsInstance() || result.IsError());
   return result.raw();
 }
@@ -491,14 +469,12 @@
   ArgumentsDescriptor args_desc(
       Array::Handle(ArgumentsDescriptor::New(kNumArguments)));
   const Function& function = Function::Handle(
-      Resolver::ResolveDynamic(receiver,
-                               Symbols::hashCode(),
-                               args_desc));
+      Resolver::ResolveDynamic(receiver, Symbols::hashCode(), args_desc));
   ASSERT(!function.IsNull());
   const Array& args = Array::Handle(Array::New(kNumArguments));
   args.SetAt(0, receiver);
-  const Object& result = Object::Handle(DartEntry::InvokeFunction(function,
-                                                                  args));
+  const Object& result =
+      Object::Handle(DartEntry::InvokeFunction(function, args));
   ASSERT(result.IsInstance() || result.IsError());
   return result.raw();
 }
@@ -510,16 +486,14 @@
   ArgumentsDescriptor args_desc(
       Array::Handle(ArgumentsDescriptor::New(kNumArguments)));
   const Function& function = Function::Handle(
-      Resolver::ResolveDynamic(left,
-                               Symbols::EqualOperator(),
-                               args_desc));
+      Resolver::ResolveDynamic(left, Symbols::EqualOperator(), args_desc));
   ASSERT(!function.IsNull());
 
   const Array& args = Array::Handle(Array::New(kNumArguments));
   args.SetAt(0, left);
   args.SetAt(1, right);
-  const Object& result = Object::Handle(DartEntry::InvokeFunction(function,
-                                                                  args));
+  const Object& result =
+      Object::Handle(DartEntry::InvokeFunction(function, args));
   ASSERT(result.IsInstance() || result.IsError());
   return result.raw();
 }
@@ -527,8 +501,8 @@
 
 RawObject* DartLibraryCalls::LookupHandler(Dart_Port port_id) {
   Thread* thread = Thread::Current();
-  Function& function = Function::Handle(thread->zone(),
-      thread->isolate()->object_store()->lookup_port_handler());
+  Function& function = Function::Handle(
+      thread->zone(), thread->isolate()->object_store()->lookup_port_handler());
   const int kNumArguments = 1;
   if (function.IsNull()) {
     Library& isolate_lib = Library::Handle(Library::IsolateLibrary());
@@ -537,11 +511,8 @@
         String::Handle(isolate_lib.PrivateName(Symbols::_RawReceivePortImpl()));
     const String& function_name =
         String::Handle(isolate_lib.PrivateName(Symbols::_lookupHandler()));
-    function = Resolver::ResolveStatic(isolate_lib,
-                                       class_name,
-                                       function_name,
-                                       kNumArguments,
-                                       Object::empty_array());
+    function = Resolver::ResolveStatic(isolate_lib, class_name, function_name,
+                                       kNumArguments, Object::empty_array());
     ASSERT(!function.IsNull());
     thread->isolate()->object_store()->set_lookup_port_handler(function);
   }
@@ -558,21 +529,18 @@
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
   Isolate* isolate = thread->isolate();
-  Function& function = Function::Handle(zone,
-      isolate->object_store()->handle_message_function());
+  Function& function = Function::Handle(
+      zone, isolate->object_store()->handle_message_function());
   const int kNumArguments = 2;
   if (function.IsNull()) {
     Library& isolate_lib = Library::Handle(zone, Library::IsolateLibrary());
     ASSERT(!isolate_lib.IsNull());
-    const String& class_name = String::Handle(zone,
-        isolate_lib.PrivateName(Symbols::_RawReceivePortImpl()));
-    const String& function_name = String::Handle(zone,
-        isolate_lib.PrivateName(Symbols::_handleMessage()));
-    function = Resolver::ResolveStatic(isolate_lib,
-                                       class_name,
-                                       function_name,
-                                       kNumArguments,
-                                       Object::empty_array());
+    const String& class_name = String::Handle(
+        zone, isolate_lib.PrivateName(Symbols::_RawReceivePortImpl()));
+    const String& function_name = String::Handle(
+        zone, isolate_lib.PrivateName(Symbols::_handleMessage()));
+    function = Resolver::ResolveStatic(isolate_lib, class_name, function_name,
+                                       kNumArguments, Object::empty_array());
     ASSERT(!function.IsNull());
     isolate->object_store()->set_handle_message_function(function);
   }
@@ -585,8 +553,8 @@
     // at the first location the user is interested in.
     isolate->debugger()->SetSingleStep();
   }
-  const Object& result = Object::Handle(zone,
-      DartEntry::InvokeFunction(function, args));
+  const Object& result =
+      Object::Handle(zone, DartEntry::InvokeFunction(function, args));
   ASSERT(result.IsNull() || result.IsError());
   return result.raw();
 }
@@ -596,11 +564,11 @@
   Zone* zone = Thread::Current()->zone();
   Library& isolate_lib = Library::Handle(zone, Library::IsolateLibrary());
   ASSERT(!isolate_lib.IsNull());
-  Function& function = Function::Handle(zone,
-      isolate_lib.LookupFunctionAllowPrivate(
-          Symbols::_runPendingImmediateCallback()));
-  const Object& result = Object::Handle(zone,
-      DartEntry::InvokeFunction(function, Object::empty_array()));
+  Function& function =
+      Function::Handle(zone, isolate_lib.LookupFunctionAllowPrivate(
+                                 Symbols::_runPendingImmediateCallback()));
+  const Object& result = Object::Handle(
+      zone, DartEntry::InvokeFunction(function, Object::empty_array()));
   ASSERT(result.IsNull() || result.IsError());
   return result.raw();
 }
@@ -613,16 +581,14 @@
   ArgumentsDescriptor args_desc(
       Array::Handle(ArgumentsDescriptor::New(kNumArguments)));
   const Function& function = Function::Handle(
-      Resolver::ResolveDynamic(map,
-                               Symbols::AssignIndexToken(),
-                               args_desc));
+      Resolver::ResolveDynamic(map, Symbols::AssignIndexToken(), args_desc));
   ASSERT(!function.IsNull());
   const Array& args = Array::Handle(Array::New(kNumArguments));
   args.SetAt(0, map);
   args.SetAt(1, key);
   args.SetAt(2, value);
-  const Object& result = Object::Handle(DartEntry::InvokeFunction(function,
-                                                                  args));
+  const Object& result =
+      Object::Handle(DartEntry::InvokeFunction(function, args));
   return result.raw();
 }
 
diff --git a/runtime/vm/dart_entry.h b/runtime/vm/dart_entry.h
index e1d4f1a..2a52eec 100644
--- a/runtime/vm/dart_entry.h
+++ b/runtime/vm/dart_entry.h
@@ -51,8 +51,7 @@
   // Allocate and return an arguments descriptor.  The first
   // (count - optional_arguments_names.Length()) arguments are
   // positional and the remaining ones are named optional arguments.
-  static RawArray* New(intptr_t count,
-                       const Array& optional_arguments_names);
+  static RawArray* New(intptr_t count, const Array& optional_arguments_names);
 
   // Allocate and return an arguments descriptor that has no optional
   // arguments. All arguments are positional.
@@ -61,9 +60,7 @@
   // Initialize the preallocated fixed length arguments descriptors cache.
   static void InitOnce();
 
-  enum {
-    kCachedDescriptorCount = 32
-  };
+  enum { kCachedDescriptorCount = 32 };
 
  private:
   // Absolute indexes into the array.
@@ -89,15 +86,11 @@
 
   // Used by Simulator to parse argument descriptors.
   static intptr_t name_index(intptr_t index) {
-    return kFirstNamedEntryIndex +
-           (index * kNamedEntrySize) +
-           kNameOffset;
+    return kFirstNamedEntryIndex + (index * kNamedEntrySize) + kNameOffset;
   }
 
   static intptr_t position_index(intptr_t index) {
-    return kFirstNamedEntryIndex +
-           (index * kNamedEntrySize) +
-           kPositionOffset;
+    return kFirstNamedEntryIndex + (index * kNamedEntrySize) + kPositionOffset;
   }
 
   const Array& array_;
diff --git a/runtime/vm/dart_entry_test.cc b/runtime/vm/dart_entry_test.cc
index d075819..eb694cf 100644
--- a/runtime/vm/dart_entry_test.cc
+++ b/runtime/vm/dart_entry_test.cc
@@ -23,14 +23,13 @@
       "}\n";
   String& url = String::Handle(String::New("dart-test:DartEntry"));
   String& source = String::Handle(String::New(kScriptChars));
-  Script& script = Script::Handle(Script::New(url,
-                                              source,
-                                              RawScript::kScriptTag));
+  Script& script =
+      Script::Handle(Script::New(url, source, RawScript::kScriptTag));
   Library& lib = Library::Handle(Library::CoreLibrary());
   EXPECT_EQ(true, CompilerTest::TestCompileScript(lib, script));
   EXPECT(ClassFinalizer::ProcessPendingClasses());
-  Class& cls = Class::Handle(
-      lib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
+  Class& cls =
+      Class::Handle(lib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
   EXPECT(!cls.IsNull());  // No ambiguity error expected.
   String& name = String::Handle(String::New("foo"));
   Function& function = Function::Handle(cls.LookupStaticFunction(name));
@@ -51,14 +50,13 @@
       "}\n";
   String& url = String::Handle(String::New("dart-test:DartEntry"));
   String& source = String::Handle(String::New(kScriptChars));
-  Script& script = Script::Handle(Script::New(url,
-                                              source,
-                                              RawScript::kScriptTag));
+  Script& script =
+      Script::Handle(Script::New(url, source, RawScript::kScriptTag));
   Library& lib = Library::Handle(Library::CoreLibrary());
   EXPECT_EQ(true, CompilerTest::TestCompileScript(lib, script));
   EXPECT(ClassFinalizer::ProcessPendingClasses());
-  Class& cls = Class::Handle(
-      lib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
+  Class& cls =
+      Class::Handle(lib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
   EXPECT(!cls.IsNull());  // No ambiguity error expected.
   String& name = String::Handle(String::New("foo"));
   Function& function = Function::Handle(cls.LookupStaticFunction(name));
@@ -77,14 +75,13 @@
       "}\n";
   String& url = String::Handle(String::New("dart-test:DartEntry"));
   String& source = String::Handle(String::New(kScriptChars));
-  Script& script = Script::Handle(Script::New(url,
-                                              source,
-                                              RawScript::kScriptTag));
+  Script& script =
+      Script::Handle(Script::New(url, source, RawScript::kScriptTag));
   Library& lib = Library::Handle(Library::CoreLibrary());
   EXPECT_EQ(true, CompilerTest::TestCompileScript(lib, script));
   EXPECT(ClassFinalizer::ProcessPendingClasses());
-  Class& cls = Class::Handle(
-      lib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
+  Class& cls =
+      Class::Handle(lib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
   EXPECT(!cls.IsNull());  // No ambiguity error expected.
 
   // Invoke the constructor.
@@ -93,7 +90,7 @@
   constructor_arguments.SetAt(0, instance);
   String& constructor_name = String::Handle(Symbols::New(thread, "A."));
   Function& constructor =
-    Function::Handle(cls.LookupConstructor(constructor_name));
+      Function::Handle(cls.LookupConstructor(constructor_name));
   ASSERT(!constructor.IsNull());
   DartEntry::InvokeFunction(constructor, constructor_arguments);
 
@@ -103,8 +100,8 @@
   EXPECT(!function.IsNull());
   const Array& args = Array::Handle(Array::New(1));
   args.SetAt(0, instance);
-  const Object& retval = Object::Handle(DartEntry::InvokeFunction(function,
-                                                                  args));
+  const Object& retval =
+      Object::Handle(DartEntry::InvokeFunction(function, args));
   EXPECT(retval.IsError());
   EXPECT_SUBSTRING("++++", Error::Cast(retval).ToErrorCString());
 }
diff --git a/runtime/vm/datastream.h b/runtime/vm/datastream.h
index ca23535..3b714b7 100644
--- a/runtime/vm/datastream.h
+++ b/runtime/vm/datastream.h
@@ -27,9 +27,8 @@
 // Stream for reading various types from a buffer.
 class ReadStream : public ValueObject {
  public:
-  ReadStream(const uint8_t* buffer, intptr_t size) : buffer_(buffer),
-                                                     current_(buffer),
-                                                     end_(buffer + size)  {}
+  ReadStream(const uint8_t* buffer, intptr_t size)
+      : buffer_(buffer), current_(buffer), end_(buffer + size) {}
 
   void SetStream(const uint8_t* buffer, intptr_t size) {
     buffer_ = buffer;
@@ -37,39 +36,31 @@
     end_ = buffer + size;
   }
 
-  template<int N, typename T>
-  class Raw { };
+  template <int N, typename T>
+  class Raw {};
 
-  template<typename T>
+  template <typename T>
   class Raw<1, T> {
    public:
-    static T Read(ReadStream* st) {
-      return bit_cast<T>(st->ReadByte());
-    }
+    static T Read(ReadStream* st) { return bit_cast<T>(st->ReadByte()); }
   };
 
-  template<typename T>
+  template <typename T>
   class Raw<2, T> {
    public:
-    static T Read(ReadStream* st) {
-      return bit_cast<T>(st->Read16());
-    }
+    static T Read(ReadStream* st) { return bit_cast<T>(st->Read16()); }
   };
 
-  template<typename T>
+  template <typename T>
   class Raw<4, T> {
    public:
-    static T Read(ReadStream* st) {
-      return bit_cast<T>(st->Read32());
-    }
+    static T Read(ReadStream* st) { return bit_cast<T>(st->Read32()); }
   };
 
-  template<typename T>
+  template <typename T>
   class Raw<8, T> {
    public:
-    static T Read(ReadStream* st) {
-      return bit_cast<T>(st->Read64());
-    }
+    static T Read(ReadStream* st) { return bit_cast<T>(st->Read64()); }
   };
 
   // Reads 'len' bytes from the stream.
@@ -79,9 +70,7 @@
     current_ += len;
   }
 
-  intptr_t ReadUnsigned() {
-    return Read<intptr_t>(kEndUnsignedByteMarker);
-  }
+  intptr_t ReadUnsigned() { return Read<intptr_t>(kEndUnsignedByteMarker); }
 
   intptr_t Position() const { return current_ - buffer_; }
 
@@ -90,9 +79,7 @@
     current_ = buffer_ + value;
   }
 
-  const uint8_t* AddressOfCurrentPosition() const {
-    return current_;
-  }
+  const uint8_t* AddressOfCurrentPosition() const { return current_; }
 
   void Advance(intptr_t value) {
     ASSERT((end_ - current_) > value);
@@ -105,24 +92,18 @@
   }
 
  private:
-  template<typename T>
+  template <typename T>
   T Read() {
     return Read<T>(kEndByteMarker);
   }
 
-  int16_t Read16() {
-    return Read16(kEndByteMarker);
-  }
+  int16_t Read16() { return Read16(kEndByteMarker); }
 
-  int32_t Read32() {
-    return Read32(kEndByteMarker);
-  }
+  int32_t Read32() { return Read32(kEndByteMarker); }
 
-  int64_t Read64() {
-    return Read64(kEndByteMarker);
-  }
+  int64_t Read64() { return Read64(kEndByteMarker); }
 
-  template<typename T>
+  template <typename T>
   T Read(uint8_t end_byte_marker) {
     const uint8_t* c = current_;
     ASSERT(c < end_);
@@ -309,18 +290,16 @@
 // Stream for writing various types into a buffer.
 class WriteStream : public ValueObject {
  public:
-  WriteStream(uint8_t** buffer, ReAlloc alloc, intptr_t initial_size) :
-      buffer_(buffer),
-      end_(NULL),
-      current_(NULL),
-      current_size_(0),
-      alloc_(alloc),
-      initial_size_(initial_size) {
+  WriteStream(uint8_t** buffer, ReAlloc alloc, intptr_t initial_size)
+      : buffer_(buffer),
+        end_(NULL),
+        current_(NULL),
+        current_size_(0),
+        alloc_(alloc),
+        initial_size_(initial_size) {
     ASSERT(buffer != NULL);
     ASSERT(alloc != NULL);
-    *buffer_ = reinterpret_cast<uint8_t*>(alloc_(NULL,
-                                                 0,
-                                                 initial_size_));
+    *buffer_ = reinterpret_cast<uint8_t*>(alloc_(NULL, 0, initial_size_));
     if (*buffer_ == NULL) {
       Exceptions::ThrowOOM();
     }
@@ -334,10 +313,10 @@
 
   void set_current(uint8_t* value) { current_ = value; }
 
-  template<int N, typename T>
-  class Raw { };
+  template <int N, typename T>
+  class Raw {};
 
-  template<typename T>
+  template <typename T>
   class Raw<1, T> {
    public:
     static void Write(WriteStream* st, T value) {
@@ -345,7 +324,7 @@
     }
   };
 
-  template<typename T>
+  template <typename T>
   class Raw<2, T> {
    public:
     static void Write(WriteStream* st, T value) {
@@ -353,7 +332,7 @@
     }
   };
 
-  template<typename T>
+  template <typename T>
   class Raw<4, T> {
    public:
     static void Write(WriteStream* st, T value) {
@@ -361,7 +340,7 @@
     }
   };
 
-  template<typename T>
+  template <typename T>
   class Raw<8, T> {
    public:
     static void Write(WriteStream* st, T value) {
@@ -404,11 +383,10 @@
   }
 
  private:
-  template<typename T>
+  template <typename T>
   void Write(T value) {
     T v = value;
-    while (v < kMinDataPerByte ||
-           v > kMaxDataPerByte) {
+    while (v < kMinDataPerByte || v > kMaxDataPerByte) {
       WriteByte(static_cast<uint8_t>(v & kByteMask));
       v = v >> kDataBitsPerByte;
     }
@@ -431,9 +409,8 @@
     }
     intptr_t new_size = current_size_ + increment_size;
     ASSERT(new_size > current_size_);
-    *buffer_ = reinterpret_cast<uint8_t*>(alloc_(*buffer_,
-                                                 current_size_,
-                                                 new_size));
+    *buffer_ =
+        reinterpret_cast<uint8_t*>(alloc_(*buffer_, current_size_, new_size));
     if (*buffer_ == NULL) {
       Exceptions::ThrowOOM();
     }
@@ -459,8 +436,8 @@
     // Print.
     va_list print_args;
     va_copy(print_args, args);
-    OS::VSNPrint(reinterpret_cast<char*>(current_),
-                 len + 1, format, print_args);
+    OS::VSNPrint(reinterpret_cast<char*>(current_), len + 1, format,
+                 print_args);
     va_end(print_args);
     current_ += len;  // Not len + 1 to swallow the terminating NUL.
   }
diff --git a/runtime/vm/debugger.cc b/runtime/vm/debugger.cc
index 5176eff..3cdf810 100644
--- a/runtime/vm/debugger.cc
+++ b/runtime/vm/debugger.cc
@@ -34,12 +34,18 @@
 
 namespace dart {
 
-DEFINE_FLAG(bool, show_invisible_frames, false,
+DEFINE_FLAG(bool,
+            show_invisible_frames,
+            false,
             "Show invisible frames in debugger stack traces");
-DEFINE_FLAG(bool, trace_debugger_stacktrace, false,
+DEFINE_FLAG(bool,
+            trace_debugger_stacktrace,
+            false,
             "Trace debugger stacktrace collection");
 DEFINE_FLAG(bool, verbose_debug, false, "Verbose debugger messages");
-DEFINE_FLAG(bool, steal_breakpoints, false,
+DEFINE_FLAG(bool,
+            steal_breakpoints,
+            false,
             "Intercept breakpoints and other pause events before they "
             "are sent to the embedder and use a generic VM breakpoint "
             "handler instead.  This handler dispatches breakpoints to "
@@ -58,9 +64,7 @@
   explicit RemoteObjectCache(intptr_t initial_size);
   intptr_t AddObject(const Object& obj);
   RawObject* GetObj(intptr_t obj_id) const;
-  bool IsValidId(intptr_t obj_id) const {
-    return obj_id < objs_->Length();
-  }
+  bool IsValidId(intptr_t obj_id) const { return obj_id < objs_->Length(); }
 
  private:
   GrowableObjectArray* objs_;
@@ -205,7 +209,7 @@
 
   Breakpoint* bpt = conditions_;
   while (bpt != NULL) {
-    bpt -> VisitObjectPointers(visitor);
+    bpt->VisitObjectPointers(visitor);
     bpt = bpt->next();
   }
 }
@@ -237,14 +241,15 @@
 }
 
 
-ActivationFrame::ActivationFrame(
-    uword pc,
-    uword fp,
-    uword sp,
-    const Code& code,
-    const Array& deopt_frame,
-    intptr_t deopt_frame_offset)
-    : pc_(pc), fp_(fp), sp_(sp),
+ActivationFrame::ActivationFrame(uword pc,
+                                 uword fp,
+                                 uword sp,
+                                 const Code& code,
+                                 const Array& deopt_frame,
+                                 intptr_t deopt_frame_offset)
+    : pc_(pc),
+      fp_(fp),
+      sp_(sp),
       ctx_(Context::ZoneHandle()),
       code_(Code::ZoneHandle(code.raw())),
       function_(Function::ZoneHandle(code.function())),
@@ -259,8 +264,7 @@
       vars_initialized_(false),
       var_descriptors_(LocalVarDescriptors::ZoneHandle()),
       desc_indices_(8),
-      pc_desc_(PcDescriptors::ZoneHandle()) {
-}
+      pc_desc_(PcDescriptors::ZoneHandle()) {}
 
 
 bool Debugger::NeedsIsolateEvents() {
@@ -273,8 +277,7 @@
 bool Debugger::NeedsDebugEvents() {
   ASSERT(isolate_ != Dart::vm_isolate() &&
          !ServiceIsolate::IsServiceIsolateDescendant(isolate_));
-  return (FLAG_warn_on_pause_with_no_debugger ||
-          (event_handler_ != NULL) ||
+  return (FLAG_warn_on_pause_with_no_debugger || (event_handler_ != NULL) ||
           Service::debug_stream.enabled());
 }
 
@@ -407,10 +410,9 @@
   Class& func_class = Class::Handle(func.Owner());
   String& class_name = String::Handle(func_class.Name());
 
-  return OS::SCreate(Thread::Current()->zone(),
-    "%s%s%s", func_class.IsTopLevel() ? "" : class_name.ToCString(),
-              func_class.IsTopLevel() ? "" : ".",
-              func_name.ToCString());
+  return OS::SCreate(Thread::Current()->zone(), "%s%s%s",
+                     func_class.IsTopLevel() ? "" : class_name.ToCString(),
+                     func_class.IsTopLevel() ? "" : ".", func_name.ToCString());
 }
 
 
@@ -588,8 +590,8 @@
     if (unoptimized_code.IsNull()) {
       Thread* thread = Thread::Current();
       Zone* zone = thread->zone();
-      const Error& error = Error::Handle(zone,
-          Compiler::EnsureUnoptimizedCode(thread, function()));
+      const Error& error = Error::Handle(
+          zone, Compiler::EnsureUnoptimizedCode(thread, function()));
       if (!error.IsNull()) {
         Exceptions::PropagateError(error);
       }
@@ -661,7 +663,7 @@
     if (kind == RawLocalVarDescriptors::kSavedCurrentContext) {
       if (FLAG_trace_debugger_stacktrace) {
         OS::PrintErr("\tFound saved current ctx at index %d\n",
-            var_info.index());
+                     var_info.index());
       }
       ctx_ ^= GetStackVar(var_info.index());
       return ctx_;
@@ -697,9 +699,7 @@
   Array& handled_types = Array::Handle();
   AbstractType& type = Type::Handle();
   const TypeArguments& no_instantiator = TypeArguments::Handle();
-  for (intptr_t frame_index = 0;
-       frame_index < Length();
-       frame_index++) {
+  for (intptr_t frame_index = 0; frame_index < Length(); frame_index++) {
     ActivationFrame* frame = FrameAt(frame_index);
     intptr_t try_index = frame->TryIndex();
     if (try_index < 0) continue;
@@ -826,8 +826,8 @@
     // can be in a number of places in the caller's frame depending on how many
     // were actually supplied at the call site, but they are copied to a fixed
     // place in the callee's frame.
-    return GetVariableValue(LocalVarAddress(fp(),
-                                            (kFirstLocalSlotFromFp - index)));
+    return GetVariableValue(
+        LocalVarAddress(fp(), (kFirstLocalSlotFromFp - index)));
   } else {
     intptr_t reverse_index = num_parameters - index;
     return GetVariableValue(ParamAddress(fp(), reverse_index));
@@ -850,40 +850,43 @@
 }
 
 
-void ActivationFrame::PrintContextMismatchError(
-    intptr_t ctx_slot,
-    intptr_t frame_ctx_level,
-    intptr_t var_ctx_level) {
-  OS::PrintErr("-------------------------\n"
-               "Encountered context mismatch\n"
-               "\tctx_slot: %" Pd "\n"
-               "\tframe_ctx_level: %" Pd "\n"
-               "\tvar_ctx_level: %" Pd "\n\n",
-               ctx_slot,
-               frame_ctx_level,
-               var_ctx_level);
+void ActivationFrame::PrintContextMismatchError(intptr_t ctx_slot,
+                                                intptr_t frame_ctx_level,
+                                                intptr_t var_ctx_level) {
+  OS::PrintErr(
+      "-------------------------\n"
+      "Encountered context mismatch\n"
+      "\tctx_slot: %" Pd
+      "\n"
+      "\tframe_ctx_level: %" Pd
+      "\n"
+      "\tvar_ctx_level: %" Pd "\n\n",
+      ctx_slot, frame_ctx_level, var_ctx_level);
 
-  OS::PrintErr("-------------------------\n"
-               "Current frame:\n%s\n",
-               this->ToCString());
+  OS::PrintErr(
+      "-------------------------\n"
+      "Current frame:\n%s\n",
+      this->ToCString());
 
-  OS::PrintErr("-------------------------\n"
-               "Context contents:\n");
+  OS::PrintErr(
+      "-------------------------\n"
+      "Context contents:\n");
   const Context& ctx = GetSavedCurrentContext();
   ctx.Dump(8);
 
-  OS::PrintErr("-------------------------\n"
-               "Debugger stack trace...\n\n");
-  DebuggerStackTrace* stack =
-      Isolate::Current()->debugger()->StackTrace();
+  OS::PrintErr(
+      "-------------------------\n"
+      "Debugger stack trace...\n\n");
+  DebuggerStackTrace* stack = Isolate::Current()->debugger()->StackTrace();
   intptr_t num_frames = stack->Length();
   for (intptr_t i = 0; i < num_frames; i++) {
     ActivationFrame* frame = stack->FrameAt(i);
     OS::PrintErr("#%04" Pd " %s", i, frame->ToCString());
   }
 
-  OS::PrintErr("-------------------------\n"
-               "All frames...\n\n");
+  OS::PrintErr(
+      "-------------------------\n"
+      "All frames...\n\n");
   StackFrameIterator iterator(false);
   StackFrame* frame = iterator.NextFrame();
   intptr_t num = 0;
@@ -936,8 +939,7 @@
 
   intptr_t level_diff = frame_ctx_level - var_ctx_level;
   if (level_diff == 0) {
-    if ((ctx_slot < 0) ||
-        (ctx_slot >= ctx.num_variables())) {
+    if ((ctx_slot < 0) || (ctx_slot >= ctx.num_variables())) {
       PrintContextMismatchError(ctx_slot, frame_ctx_level, var_ctx_level);
     }
     ASSERT((ctx_slot >= 0) && (ctx_slot < ctx.num_variables()));
@@ -949,8 +951,7 @@
       level_diff--;
       var_ctx = var_ctx.parent();
     }
-    if (var_ctx.IsNull() ||
-        (ctx_slot < 0) ||
+    if (var_ctx.IsNull() || (ctx_slot < 0) ||
         (ctx_slot >= var_ctx.num_variables())) {
       PrintContextMismatchError(ctx_slot, frame_ctx_level, var_ctx_level);
     }
@@ -1026,8 +1027,7 @@
 
   if (function().is_static()) {
     const Class& cls = Class::Handle(function().Owner());
-    return cls.Evaluate(expr,
-                        Array::Handle(Array::MakeArray(param_names)),
+    return cls.Evaluate(expr, Array::Handle(Array::MakeArray(param_names)),
                         Array::Handle(Array::MakeArray(param_values)));
   } else {
     const Object& receiver = Object::Handle(GetReceiver());
@@ -1037,8 +1037,7 @@
       return Object::null();
     }
     const Instance& inst = Instance::Cast(receiver);
-    return inst.Evaluate(method_cls,
-                         expr,
+    return inst.Evaluate(method_cls, expr,
                          Array::Handle(Array::MakeArray(param_names)),
                          Array::Handle(Array::MakeArray(param_values)));
   }
@@ -1051,24 +1050,21 @@
   const String& url = String::Handle(SourceUrl());
   intptr_t line = LineNumber();
   const char* func_name = Debugger::QualifiedFunctionName(function());
-  return Thread::Current()->zone()->
-      PrintToString("[ Frame pc(0x%" Px ") fp(0x%" Px ") sp(0x%" Px ")\n"
-                    "\tfunction = %s\n"
-                    "\turl = %s\n"
-                    "\tline = %" Pd "\n"
-                    "\tcontext = %s\n"
-                    "\tcontext level = %" Pd " ]\n",
-                    pc(), fp(), sp(),
-                    func_name,
-                    url.ToCString(),
-                    line,
-                    ctx_.ToCString(),
-                    ContextLevel());
+  return Thread::Current()->zone()->PrintToString(
+      "[ Frame pc(0x%" Px ") fp(0x%" Px ") sp(0x%" Px
+      ")\n"
+      "\tfunction = %s\n"
+      "\turl = %s\n"
+      "\tline = %" Pd
+      "\n"
+      "\tcontext = %s\n"
+      "\tcontext level = %" Pd " ]\n",
+      pc(), fp(), sp(), func_name, url.ToCString(), line, ctx_.ToCString(),
+      ContextLevel());
 }
 
 
-void ActivationFrame::PrintToJSONObject(JSONObject* jsobj,
-                                        bool full) {
+void ActivationFrame::PrintToJSONObject(JSONObject* jsobj, bool full) {
   const Script& script = Script::Handle(SourceScript());
   jsobj->AddProperty("type", "Frame");
   TokenPosition pos = TokenPos();
@@ -1093,12 +1089,8 @@
       TokenPosition declaration_token_pos;
       TokenPosition visible_start_token_pos;
       TokenPosition visible_end_token_pos;
-      VariableAt(v,
-                 &var_name,
-                 &declaration_token_pos,
-                 &visible_start_token_pos,
-                 &visible_end_token_pos,
-                 &var_value);
+      VariableAt(v, &var_name, &declaration_token_pos, &visible_start_token_pos,
+                 &visible_end_token_pos, &var_value);
       if (var_name.raw() != Symbols::AsyncOperation().raw()) {
         JSONObject jsvar(&jsvars);
         jsvar.AddProperty("type", "BoundVariable");
@@ -1117,7 +1109,6 @@
 }
 
 
-
 void DebuggerStackTrace::AddActivation(ActivationFrame* frame) {
   if (FLAG_show_invisible_frames || frame->function().is_visible()) {
     trace_.Add(frame);
@@ -1125,9 +1116,9 @@
 }
 
 
-const uint8_t kSafepointKind = RawPcDescriptors::kIcCall
-                             | RawPcDescriptors::kUnoptStaticCall
-                             | RawPcDescriptors::kRuntimeCall;
+const uint8_t kSafepointKind = RawPcDescriptors::kIcCall |
+                               RawPcDescriptors::kUnoptStaticCall |
+                               RawPcDescriptors::kRuntimeCall;
 
 
 CodeBreakpoint::CodeBreakpoint(const Code& code,
@@ -1148,7 +1139,7 @@
       saved_value_(Bytecode::kTrap),
       saved_value_fastsmi_(Bytecode::kTrap)
 #endif
-    {
+{
   ASSERT(!code.IsNull());
   ASSERT(token_pos_.IsReal());
   ASSERT(pc_ != 0);
@@ -1159,7 +1150,7 @@
 CodeBreakpoint::~CodeBreakpoint() {
   // Make sure we don't leave patched code behind.
   ASSERT(!IsEnabled());
-  // Poison the data so we catch use after free errors.
+// Poison the data so we catch use after free errors.
 #ifdef DEBUG
   code_ = Code::null();
   pc_ = 0ul;
@@ -1214,8 +1205,8 @@
 
 
 RemoteObjectCache::RemoteObjectCache(intptr_t initial_size) {
-  objs_ = &GrowableObjectArray::ZoneHandle(
-              GrowableObjectArray::New(initial_size));
+  objs_ =
+      &GrowableObjectArray::ZoneHandle(GrowableObjectArray::New(initial_size));
 }
 
 
@@ -1253,8 +1244,7 @@
       stepping_fp_(0),
       skip_next_step_(false),
       synthetic_async_breakpoint_(NULL),
-      exc_pause_info_(kNoPauseOnExceptions) {
-}
+      exc_pause_info_(kNoPauseOnExceptions) {}
 
 
 Debugger::~Debugger() {
@@ -1299,9 +1289,8 @@
 }
 
 
-static RawFunction* ResolveLibraryFunction(
-                        const Library& library,
-                        const String& fname) {
+static RawFunction* ResolveLibraryFunction(const Library& library,
+                                           const String& fname) {
   ASSERT(!library.IsNull());
   const Object& object = Object::Handle(library.ResolveName(fname));
   if (!object.IsNull() && object.IsFunction()) {
@@ -1427,9 +1416,8 @@
                                             const Array& deopt_frame,
                                             intptr_t deopt_frame_offset) {
   ASSERT(code.ContainsInstructionAt(pc));
-  ActivationFrame* activation =
-      new ActivationFrame(pc, frame->fp(), frame->sp(), code,
-                          deopt_frame, deopt_frame_offset);
+  ActivationFrame* activation = new ActivationFrame(
+      pc, frame->fp(), frame->sp(), code, deopt_frame, deopt_frame_offset);
   if (FLAG_trace_debugger_stacktrace) {
     const Context& ctx = activation->GetSavedCurrentContext();
     OS::PrintErr("\tUsing saved context: %s\n", ctx.ToCString());
@@ -1448,18 +1436,14 @@
   Isolate* isolate = thread->isolate();
   // Create the DeoptContext for this deoptimization.
   DeoptContext* deopt_context =
-      new DeoptContext(frame, code,
-                       DeoptContext::kDestIsAllocated,
-                       NULL,
-                       NULL,
-                       true,
-                       false /* deoptimizing_code */);
+      new DeoptContext(frame, code, DeoptContext::kDestIsAllocated, NULL, NULL,
+                       true, false /* deoptimizing_code */);
   isolate->set_deopt_context(deopt_context);
 
   deopt_context->FillDestFrame();
   deopt_context->MaterializeDeferredObjects();
-  const Array& dest_frame = Array::Handle(thread->zone(),
-                                          deopt_context->DestFrameAsArray());
+  const Array& dest_frame =
+      Array::Handle(thread->zone(), deopt_context->DestFrameAsArray());
 
   isolate->set_deopt_context(NULL);
   delete deopt_context;
@@ -1478,8 +1462,7 @@
   Code& inlined_code = Code::Handle(zone);
   Array& deopt_frame = Array::Handle(zone);
 
-  for (StackFrame* frame = iterator.NextFrame();
-       frame != NULL;
+  for (StackFrame* frame = iterator.NextFrame(); frame != NULL;
        frame = iterator.NextFrame()) {
     ASSERT(frame->IsValid());
     if (FLAG_trace_debugger_stacktrace) {
@@ -1490,8 +1473,7 @@
       code = frame->LookupDartCode();
       if (code.is_optimized() && !FLAG_precompiled_runtime) {
         deopt_frame = DeoptimizeToArray(thread, frame, code);
-        for (InlinedFunctionsIterator it(code, frame->pc());
-             !it.Done();
+        for (InlinedFunctionsIterator it(code, frame->pc()); !it.Done();
              it.Advance()) {
           inlined_code = it.code();
           if (FLAG_trace_debugger_stacktrace) {
@@ -1502,20 +1484,13 @@
                          function.ToFullyQualifiedCString());
           }
           intptr_t deopt_frame_offset = it.GetDeoptFpOffset();
-          stack_trace->AddActivation(CollectDartFrame(isolate,
-                                                      it.pc(),
-                                                      frame,
-                                                      inlined_code,
-                                                      deopt_frame,
+          stack_trace->AddActivation(CollectDartFrame(isolate, it.pc(), frame,
+                                                      inlined_code, deopt_frame,
                                                       deopt_frame_offset));
         }
       } else {
-        stack_trace->AddActivation(CollectDartFrame(isolate,
-                                                    frame->pc(),
-                                                    frame,
-                                                    code,
-                                                    Object::null_array(),
-                                                    0));
+        stack_trace->AddActivation(CollectDartFrame(
+            isolate, frame->pc(), frame, code, Object::null_array(), 0));
       }
     }
   }
@@ -1530,9 +1505,8 @@
     frame = iterator.NextFrame();
   }
   Code& code = Code::Handle(frame->LookupDartCode());
-  ActivationFrame* activation =
-      new ActivationFrame(frame->pc(), frame->fp(), frame->sp(), code,
-                          Object::null_array(), 0);
+  ActivationFrame* activation = new ActivationFrame(
+      frame->pc(), frame->fp(), frame->sp(), code, Object::null_array(), 0);
   return activation;
 }
 
@@ -1578,12 +1552,12 @@
           ASSERT(pc < (code.PayloadStart() + code.Size()));
 
           ActivationFrame* activation = new ActivationFrame(
-            pc, fp, sp, code, deopt_frame, deopt_frame_offset);
+              pc, fp, sp, code, deopt_frame, deopt_frame_offset);
           stack_trace->AddActivation(activation);
         }
       } else {
         ActivationFrame* activation = new ActivationFrame(
-          pc, fp, sp, code, deopt_frame, deopt_frame_offset);
+            pc, fp, sp, code, deopt_frame, deopt_frame_offset);
         stack_trace->AddActivation(activation);
       }
     }
@@ -1632,8 +1606,7 @@
   // by the debugger to evaluate variables values, when we see a nested
   // breakpoint or exception event, or if the debugger is not
   // interested in exception events.
-  if (ignore_breakpoints_ ||
-      IsPaused() ||
+  if (ignore_breakpoints_ || IsPaused() ||
       (exc_pause_info_ == kNoPauseOnExceptions)) {
     return;
   }
@@ -1656,9 +1629,7 @@
 static TokenPosition LastTokenOnLine(Zone* zone,
                                      const TokenStream& tokens,
                                      TokenPosition pos) {
-  TokenStream::Iterator iter(zone,
-                             tokens,
-                             pos,
+  TokenStream::Iterator iter(zone, tokens, pos,
                              TokenStream::Iterator::kAllTokens);
   ASSERT(iter.IsValid());
   TokenPosition last_pos = pos;
@@ -1727,11 +1698,10 @@
 // algorithm, which would be simpler.  I believe that it only needs
 // two passes to support the recursive try-the-whole-function case.
 // Rewrite this later, once there are more tests in place.
-TokenPosition Debugger::ResolveBreakpointPos(
-    const Function& func,
-    TokenPosition requested_token_pos,
-    TokenPosition last_token_pos,
-    intptr_t requested_column) {
+TokenPosition Debugger::ResolveBreakpointPos(const Function& func,
+                                             TokenPosition requested_token_pos,
+                                             TokenPosition last_token_pos,
+                                             intptr_t requested_column) {
   ASSERT(func.HasCode());
   ASSERT(!func.HasOptimizedCode());
 
@@ -1755,8 +1725,7 @@
   PcDescriptors::Iterator iter(desc, kSafepointKind);
   while (iter.MoveNext()) {
     const TokenPosition pos = iter.TokenPos();
-    if ((!pos.IsReal()) ||
-        (pos < requested_token_pos) ||
+    if ((!pos.IsReal()) || (pos < requested_token_pos) ||
         (pos > last_token_pos)) {
       // Token is not in the target range.
       continue;
@@ -1802,9 +1771,7 @@
     PcDescriptors::Iterator iter(desc, kSafepointKind);
     while (iter.MoveNext()) {
       const TokenPosition pos = iter.TokenPos();
-      if (!pos.IsReal() ||
-          (pos < begin_pos) ||
-          (pos > end_of_line_pos)) {
+      if (!pos.IsReal() || (pos < begin_pos) || (pos > end_of_line_pos)) {
         // Token is not on same line as best fit.
         continue;
       }
@@ -1869,8 +1836,8 @@
   CodeBreakpoint* code_bpt = GetCodeBreakpoint(lowest_pc);
   if (code_bpt == NULL) {
     // No code breakpoint for this code exists; create one.
-    code_bpt = new CodeBreakpoint(code, loc->token_pos_,
-                                  lowest_pc, lowest_kind);
+    code_bpt =
+        new CodeBreakpoint(code, loc->token_pos_, lowest_pc, lowest_kind);
     RegisterCodeBreakpoint(code_bpt);
   }
   code_bpt->set_bpt_location(loc);
@@ -1895,9 +1862,9 @@
   for (intptr_t pos = 0; pos < num_closures; pos++) {
     function ^= closures.At(pos);
     ASSERT(!function.IsNull());
-    if ((function.token_pos() == start_pos)
-        && (function.end_token_pos() == end_pos)
-        && (function.script() == script.raw())) {
+    if ((function.token_pos() == start_pos) &&
+        (function.end_token_pos() == end_pos) &&
+        (function.script() == script.raw())) {
       if (function.HasCode() && function.is_debuggable()) {
         function_list->Add(function);
       }
@@ -1933,9 +1900,9 @@
           ASSERT(!function.IsNull());
           // Check token position first to avoid unnecessary calls
           // to script() which allocates handles.
-          if ((function.token_pos() == start_pos)
-              && (function.end_token_pos() == end_pos)
-              && (function.script() == script.raw())) {
+          if ((function.token_pos() == start_pos) &&
+              (function.end_token_pos() == end_pos) &&
+              (function.script() == script.raw())) {
             if (function.HasCode() && function.is_debuggable()) {
               function_list->Add(function);
             }
@@ -2041,9 +2008,7 @@
   // function we found.
   GrowableObjectArray& functions =
       GrowableObjectArray::Handle(GrowableObjectArray::New());
-  FindCompiledFunctions(script,
-                        func.token_pos(),
-                        func.end_token_pos(),
+  FindCompiledFunctions(script, func.token_pos(), func.end_token_pos(),
                         &functions);
 
   if (functions.Length() > 0) {
@@ -2076,10 +2041,10 @@
         intptr_t line_number;
         intptr_t column_number;
         script.GetTokenLocation(breakpoint_pos, &line_number, &column_number);
-        OS::Print("Resolved BP for "
-                  "function '%s' at line %" Pd " col %" Pd "\n",
-                  func.ToFullyQualifiedCString(),
-                  line_number, column_number);
+        OS::Print(
+            "Resolved BP for "
+            "function '%s' at line %" Pd " col %" Pd "\n",
+            func.ToFullyQualifiedCString(), line_number, column_number);
       }
       return bpt;
     }
@@ -2090,10 +2055,10 @@
     intptr_t line_number;
     intptr_t column_number;
     script.GetTokenLocation(token_pos, &line_number, &column_number);
-    OS::Print("Registering pending breakpoint for "
-              "uncompiled function '%s' at line %" Pd " col %" Pd "\n",
-              func.ToFullyQualifiedCString(),
-              line_number, column_number);
+    OS::Print(
+        "Registering pending breakpoint for "
+        "uncompiled function '%s' at line %" Pd " col %" Pd "\n",
+        func.ToFullyQualifiedCString(), line_number, column_number);
   }
   BreakpointLocation* bpt =
       GetBreakpointLocation(script, token_pos, requested_column);
@@ -2143,11 +2108,9 @@
     return NULL;
   }
   const Script& script = Script::Handle(target_function.script());
-  BreakpointLocation* bpt_location =
-      SetBreakpoint(script,
-                    target_function.token_pos(),
-                    target_function.end_token_pos(),
-                    -1, -1 /* no requested line/col */);
+  BreakpointLocation* bpt_location = SetBreakpoint(
+      script, target_function.token_pos(), target_function.end_token_pos(), -1,
+      -1 /* no requested line/col */);
   if (single_shot) {
     return bpt_location->AddSingleShot(this);
   } else {
@@ -2156,17 +2119,15 @@
 }
 
 
-Breakpoint* Debugger::SetBreakpointAtActivation(
-    const Instance& closure, bool for_over_await) {
+Breakpoint* Debugger::SetBreakpointAtActivation(const Instance& closure,
+                                                bool for_over_await) {
   if (!closure.IsClosure()) {
     return NULL;
   }
   const Function& func = Function::Handle(Closure::Cast(closure).function());
   const Script& script = Script::Handle(func.script());
-  BreakpointLocation* bpt_location = SetBreakpoint(script,
-                                                   func.token_pos(),
-                                                   func.end_token_pos(),
-                                                   -1, -1 /* no line/col */);
+  BreakpointLocation* bpt_location = SetBreakpoint(
+      script, func.token_pos(), func.end_token_pos(), -1, -1 /* no line/col */);
   return bpt_location->AddPerClosure(this, closure, for_over_await);
 }
 
@@ -2218,9 +2179,8 @@
   // Dart_SetBreakpoint instead.
   ASSERT(Thread::Current()->execution_state() == Thread::kThreadInVM);
 
-  BreakpointLocation* loc = BreakpointLocationAtLineCol(script_url,
-                                                        line_number,
-                                                        column_number);
+  BreakpointLocation* loc =
+      BreakpointLocationAtLineCol(script_url, line_number, column_number);
   if (loc != NULL) {
     return loc->AddRepeated(this);
   }
@@ -2238,7 +2198,7 @@
   const GrowableObjectArray& libs =
       GrowableObjectArray::Handle(isolate_->object_store()->libraries());
   const GrowableObjectArray& scripts =
-    GrowableObjectArray::Handle(zone, GrowableObjectArray::New());
+      GrowableObjectArray::Handle(zone, GrowableObjectArray::New());
   for (intptr_t i = 0; i < libs.Length(); i++) {
     lib ^= libs.At(i);
     script = lib.LookupScript(script_url);
@@ -2249,14 +2209,13 @@
   if (scripts.Length() == 0) {
     // No script found with given url. Create a latent breakpoint which
     // will be set if the url is loaded later.
-    BreakpointLocation* latent_bpt = GetLatentBreakpoint(script_url,
-                                                         line_number,
-                                                         column_number);
+    BreakpointLocation* latent_bpt =
+        GetLatentBreakpoint(script_url, line_number, column_number);
     if (FLAG_verbose_debug) {
-      OS::Print("Set latent breakpoint in url '%s' at "
-                "line %" Pd " col %" Pd "\n",
-                script_url.ToCString(),
-                line_number, column_number);
+      OS::Print(
+          "Set latent breakpoint in url '%s' at "
+          "line %" Pd " col %" Pd "\n",
+          script_url.ToCString(), line_number, column_number);
     }
     return latent_bpt;
   }
@@ -2279,8 +2238,8 @@
   } else if (!last_token_idx.IsReal()) {
     // Line does not contain any tokens.
     if (FLAG_verbose_debug) {
-      OS::Print("No executable code at line %" Pd " in '%s'\n",
-                line_number, script_url.ToCString());
+      OS::Print("No executable code at line %" Pd " in '%s'\n", line_number,
+                script_url.ToCString());
     }
     return NULL;
   }
@@ -2288,13 +2247,13 @@
   BreakpointLocation* bpt = NULL;
   ASSERT(first_token_idx <= last_token_idx);
   while ((bpt == NULL) && (first_token_idx <= last_token_idx)) {
-    bpt = SetBreakpoint(script, first_token_idx, last_token_idx,
-                        line_number, column_number);
+    bpt = SetBreakpoint(script, first_token_idx, last_token_idx, line_number,
+                        column_number);
     first_token_idx.Next();
   }
   if ((bpt == NULL) && FLAG_verbose_debug) {
-    OS::Print("No executable code at line %" Pd " in '%s'\n",
-                line_number, script_url.ToCString());
+    OS::Print("No executable code at line %" Pd " in '%s'\n", line_number,
+              script_url.ToCString());
   }
   return bpt;
 }
@@ -2544,8 +2503,7 @@
   {
     Thread* thread = Thread::Current();
     DisableThreadInterruptsScope dtis(thread);
-    TimelineDurationScope tds(thread,
-                              Timeline::GetDebuggerStream(),
+    TimelineDurationScope tds(thread, Timeline::GetDebuggerStream(),
                               "Debugger Pause");
 
     // Send the pause event.
@@ -2562,10 +2520,8 @@
     }
 
     // Notify the service that we have resumed.
-    const Error& error =
-        Error::Handle(Thread::Current()->sticky_error());
-    ASSERT(error.IsNull() ||
-           error.IsUnwindError() ||
+    const Error& error = Error::Handle(Thread::Current()->sticky_error());
+    ASSERT(error.IsNull() || error.IsUnwindError() ||
            error.IsUnhandledException());
 
     // Only send a resume event when the isolate is not unwinding.
@@ -2577,7 +2533,7 @@
   }
 
   pause_event_ = NULL;
-  obj_cache_ = NULL;    // Zone allocated
+  obj_cache_ = NULL;  // Zone allocated
 }
 
 
@@ -2641,14 +2597,13 @@
 }
 
 
-void Debugger::SignalPausedEvent(ActivationFrame* top_frame,
-                                 Breakpoint* bpt) {
+void Debugger::SignalPausedEvent(ActivationFrame* top_frame, Breakpoint* bpt) {
   resume_action_ = kContinue;
   stepping_fp_ = 0;
   isolate_->set_single_step(false);
   ASSERT(!IsPaused());
   ASSERT(obj_cache_ == NULL);
-  if ((bpt != NULL) && bpt->IsSingleShot())  {
+  if ((bpt != NULL) && bpt->IsSingleShot()) {
     RemoveBreakpoint(bpt->id());
     bpt = NULL;
   }
@@ -2824,11 +2779,11 @@
 
     // Hit a synthetic async breakpoint.
     if (FLAG_verbose_debug) {
-      OS::Print(">>> hit synthetic breakpoint at %s:%" Pd " "
+      OS::Print(">>> hit synthetic breakpoint at %s:%" Pd
+                " "
                 "(token %s) (address %#" Px ")\n",
                 String::Handle(cbpt->SourceUrl()).ToCString(),
-                cbpt->LineNumber(),
-                cbpt->token_pos().ToCString(),
+                cbpt->LineNumber(), cbpt->token_pos().ToCString(),
                 top_frame->pc());
     }
 
@@ -2847,13 +2802,12 @@
   }
 
   if (FLAG_verbose_debug) {
-    OS::Print(">>> hit %s breakpoint at %s:%" Pd " "
+    OS::Print(">>> hit %s breakpoint at %s:%" Pd
+              " "
               "(token %s) (address %#" Px ")\n",
               cbpt->IsInternal() ? "internal" : "user",
-              String::Handle(cbpt->SourceUrl()).ToCString(),
-              cbpt->LineNumber(),
-              cbpt->token_pos().ToCString(),
-              top_frame->pc());
+              String::Handle(cbpt->SourceUrl()).ToCString(), cbpt->LineNumber(),
+              cbpt->token_pos().ToCString(), top_frame->pc());
   }
 
   ASSERT(stack_trace_ == NULL);
@@ -2927,9 +2881,8 @@
                                             TokenPosition token_pos) {
   Zone* zone = Thread::Current()->zone();
   const Script& outer_origin = Script::Handle(zone, function.script());
-  const GrowableObjectArray& closures =
-     GrowableObjectArray::Handle(zone,
-         Isolate::Current()->object_store()->closure_functions());
+  const GrowableObjectArray& closures = GrowableObjectArray::Handle(
+      zone, Isolate::Current()->object_store()->closure_functions());
   const intptr_t num_closures = closures.Length();
   Function& closure = Function::Handle(zone);
   Function& best_fit = Function::Handle(zone);
@@ -2962,9 +2915,8 @@
   // need to be set in the newly compiled function.
   Zone* zone = Thread::Current()->zone();
   Script& script = Script::Handle(zone);
-  for (BreakpointLocation* loc = breakpoint_locations_;
-      loc != NULL;
-      loc = loc->next()) {
+  for (BreakpointLocation* loc = breakpoint_locations_; loc != NULL;
+       loc = loc->next()) {
     script = loc->script();
     if (FunctionContains(func, script, loc->token_pos())) {
       Function& inner_function = Function::Handle(zone);
@@ -3005,16 +2957,15 @@
         Breakpoint* bpt = loc->breakpoints();
         while (bpt != NULL) {
           if (FLAG_verbose_debug) {
-            OS::Print("Resolved BP %" Pd " to pos %s, "
-                      "line %" Pd " col %" Pd ", "
+            OS::Print("Resolved BP %" Pd
+                      " to pos %s, "
+                      "line %" Pd " col %" Pd
+                      ", "
                       "function '%s' (requested range %s-%s, "
                       "requested col %" Pd ")\n",
-                      bpt->id(),
-                      loc->token_pos().ToCString(),
-                      loc->LineNumber(),
-                      loc->ColumnNumber(),
-                      func.ToFullyQualifiedCString(),
-                      requested_pos.ToCString(),
+                      bpt->id(), loc->token_pos().ToCString(),
+                      loc->LineNumber(), loc->ColumnNumber(),
+                      func.ToFullyQualifiedCString(), requested_pos.ToCString(),
                       requested_end_pos.ToCString(),
                       loc->requested_column_number());
           }
@@ -3026,11 +2977,10 @@
       if (FLAG_verbose_debug) {
         Breakpoint* bpt = loc->breakpoints();
         while (bpt != NULL) {
-          OS::Print("Setting breakpoint %" Pd " at line %" Pd " col %" Pd ""
+          OS::Print("Setting breakpoint %" Pd " at line %" Pd " col %" Pd
+                    ""
                     " for %s '%s'\n",
-                    bpt->id(),
-                    loc->LineNumber(),
-                    loc->ColumnNumber(),
+                    bpt->id(), loc->LineNumber(), loc->ColumnNumber(),
                     func.IsClosureFunction() ? "closure" : "function",
                     String::Handle(func.name()).ToCString());
           bpt = bpt->next();
@@ -3085,11 +3035,10 @@
           Breakpoint* bpt = matched_loc->breakpoints();
           while (bpt != NULL) {
             if (FLAG_verbose_debug) {
-              OS::Print("No code found at line %" Pd ": "
+              OS::Print("No code found at line %" Pd
+                        ": "
                         "dropping latent breakpoint %" Pd " in '%s'\n",
-                        line_number,
-                        bpt->id(),
-                        url.ToCString());
+                        line_number, bpt->id(), url.ToCString());
             }
             Breakpoint* prev = bpt;
             bpt = bpt->next();
@@ -3107,8 +3056,7 @@
             // Create and register a new source breakpoint for the
             // latent breakpoint.
             BreakpointLocation* unresolved_loc =
-                new BreakpointLocation(script,
-                                       first_token_pos, last_token_pos,
+                new BreakpointLocation(script, first_token_pos, last_token_pos,
                                        line_number, column_number);
             RegisterBreakpointLocation(unresolved_loc);
 
@@ -3119,11 +3067,10 @@
             while (bpt != NULL) {
               bpt->set_bpt_location(unresolved_loc);
               if (FLAG_verbose_debug) {
-                OS::Print("Converted latent breakpoint "
-                          "%" Pd " in '%s' at line %" Pd " col %" Pd "\n",
-                          bpt->id(),
-                          url.ToCString(),
-                          line_number, column_number);
+                OS::Print(
+                    "Converted latent breakpoint "
+                    "%" Pd " in '%s' at line %" Pd " col %" Pd "\n",
+                    bpt->id(), url.ToCString(), line_number, column_number);
               }
               bpt = bpt->next();
             }
@@ -3148,10 +3095,10 @@
       if (FLAG_verbose_debug) {
         Breakpoint* bpt = loc->breakpoints();
         while (bpt != NULL) {
-          OS::Print("No match found for latent breakpoint id "
-                    "%" Pd " with url '%s'\n",
-                    bpt->id(),
-                    url.ToCString());
+          OS::Print(
+              "No match found for latent breakpoint id "
+              "%" Pd " with url '%s'\n",
+              bpt->id(), url.ToCString());
           bpt = bpt->next();
         }
       }
@@ -3289,8 +3236,7 @@
                                                     intptr_t requested_column) {
   BreakpointLocation* bpt = breakpoint_locations_;
   while (bpt != NULL) {
-    if ((bpt->script_ == script.raw()) &&
-        (bpt->token_pos_ == token_pos) &&
+    if ((bpt->script_ == script.raw()) && (bpt->token_pos_ == token_pos) &&
         (bpt->requested_column_number_ == requested_column)) {
       return bpt;
     }
@@ -3323,8 +3269,7 @@
   String& bpt_url = String::Handle();
   while (bpt != NULL) {
     bpt_url = bpt->url();
-    if (bpt_url.Equals(url) &&
-        (bpt->requested_line_number() == line) &&
+    if (bpt_url.Equals(url) && (bpt->requested_line_number() == line) &&
         (bpt->requested_column_number() == column)) {
       return bpt;
     }
diff --git a/runtime/vm/debugger.h b/runtime/vm/debugger.h
index a903043..7319c8e 100644
--- a/runtime/vm/debugger.h
+++ b/runtime/vm/debugger.h
@@ -27,12 +27,12 @@
 class Breakpoint {
  public:
   Breakpoint(intptr_t id, BreakpointLocation* bpt_location)
-    : id_(id),
-      kind_(Breakpoint::kNone),
-      next_(NULL),
-      closure_(Instance::null()),
-      bpt_location_(bpt_location),
-      is_synthetic_async_(false) {}
+      : id_(id),
+        kind_(Breakpoint::kNone),
+        next_(NULL),
+        closure_(Instance::null()),
+        bpt_location_(bpt_location),
+        is_synthetic_async_(false) {}
 
   intptr_t id() const { return id_; }
   Breakpoint* next() const { return next_; }
@@ -66,9 +66,7 @@
   void set_is_synthetic_async(bool is_synthetic_async) {
     is_synthetic_async_ = is_synthetic_async;
   }
-  bool is_synthetic_async() const {
-    return is_synthetic_async_;
-  }
+  bool is_synthetic_async() const { return is_synthetic_async_; }
 
   void PrintJSON(JSONStream* stream);
 
@@ -247,8 +245,12 @@
 // on the call stack.
 class ActivationFrame : public ZoneAllocated {
  public:
-  ActivationFrame(uword pc, uword fp, uword sp, const Code& code,
-                  const Array& deopt_frame, intptr_t deopt_frame_offset);
+  ActivationFrame(uword pc,
+                  uword fp,
+                  uword sp,
+                  const Code& code,
+                  const Array& deopt_frame,
+                  intptr_t deopt_frame_offset);
 
   uword pc() const { return pc_; }
   uword fp() const { return fp_; }
@@ -352,14 +354,11 @@
 // Array of function activations on the call stack.
 class DebuggerStackTrace : public ZoneAllocated {
  public:
-  explicit DebuggerStackTrace(int capacity)
-      : trace_(capacity) { }
+  explicit DebuggerStackTrace(int capacity) : trace_(capacity) {}
 
   intptr_t Length() const { return trace_.length(); }
 
-  ActivationFrame* FrameAt(int i) const {
-    return trace_[i];
-  }
+  ActivationFrame* FrameAt(int i) const { return trace_[i]; }
 
   ActivationFrame* GetHandlerFrame(const Instance& exc_obj) const;
 
@@ -484,8 +483,7 @@
   RawObject* GetInstanceField(const Class& cls,
                               const String& field_name,
                               const Instance& object);
-  RawObject* GetStaticField(const Class& cls,
-                            const String& field_name);
+  RawObject* GetStaticField(const Class& cls, const String& field_name);
 
   // Pause execution for a breakpoint.  Called from generated code.
   RawError* PauseBreakpoint();
@@ -516,12 +514,7 @@
   intptr_t limitBreakpointId() { return next_id_; }
 
  private:
-  enum ResumeAction {
-    kContinue,
-    kStepOver,
-    kStepOut,
-    kSingleStep
-  };
+  enum ResumeAction { kContinue, kStepOver, kStepOut, kSingleStep };
 
   RawError* PauseRequest(ServiceEvent::EventKind kind);
 
@@ -540,9 +533,9 @@
   RawFunction* FindInnermostClosure(const Function& function,
                                     TokenPosition token_pos);
   TokenPosition ResolveBreakpointPos(const Function& func,
-                                       TokenPosition requested_token_pos,
-                                       TokenPosition last_token_pos,
-                                       intptr_t requested_column);
+                                     TokenPosition requested_token_pos,
+                                     TokenPosition last_token_pos,
+                                     intptr_t requested_column);
   void DeoptimizeWorld();
   BreakpointLocation* SetBreakpoint(const Script& script,
                                     TokenPosition token_pos,
@@ -559,8 +552,7 @@
   BreakpointLocation* GetBreakpointLocation(const Script& script,
                                             TokenPosition token_pos,
                                             intptr_t requested_column);
-  void MakeCodeBreakpointAt(const Function& func,
-                            BreakpointLocation* bpt);
+  void MakeCodeBreakpointAt(const Function& func, BreakpointLocation* bpt);
   // Returns NULL if no breakpoint exists for the given address.
   CodeBreakpoint* GetCodeBreakpoint(uword breakpoint_address);
 
@@ -577,8 +569,7 @@
                                      StackFrame* frame,
                                      const Code& code);
   static DebuggerStackTrace* CollectStackTrace();
-  void SignalPausedEvent(ActivationFrame* top_frame,
-                         Breakpoint* bpt);
+  void SignalPausedEvent(ActivationFrame* top_frame, Breakpoint* bpt);
 
   intptr_t nextId() { return next_id_++; }
 
diff --git a/runtime/vm/debugger_api_impl.cc b/runtime/vm/debugger_api_impl.cc
index 18fb194..f0c5532 100644
--- a/runtime/vm/debugger_api_impl.cc
+++ b/runtime/vm/debugger_api_impl.cc
@@ -76,16 +76,15 @@
   Isolate* I = T->isolate();
   CHECK_DEBUGGER(I);
   if (!I->debugger()->IsValidObjectId(obj_id)) {
-    return Api::NewError("%s: object id %" Pd " is invalid",
-                         CURRENT_FUNC, obj_id);
+    return Api::NewError("%s: object id %" Pd " is invalid", CURRENT_FUNC,
+                         obj_id);
   }
   return Api::NewHandle(T, I->debugger()->GetCachedObject(obj_id));
 }
 
 
-DART_EXPORT Dart_Handle Dart_StackTraceLength(
-                            Dart_StackTrace trace,
-                            intptr_t* length) {
+DART_EXPORT Dart_Handle Dart_StackTraceLength(Dart_StackTrace trace,
+                                              intptr_t* length) {
   DARTSCOPE(Thread::Current());
   CHECK_NOT_NULL(length);
   CHECK_AND_CAST(DebuggerStackTrace, stack_trace, trace);
@@ -94,10 +93,9 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_GetActivationFrame(
-                            Dart_StackTrace trace,
-                            int frame_index,
-                            Dart_ActivationFrame* frame) {
+DART_EXPORT Dart_Handle Dart_GetActivationFrame(Dart_StackTrace trace,
+                                                int frame_index,
+                                                Dart_ActivationFrame* frame) {
   DARTSCOPE(Thread::Current());
   CHECK_NOT_NULL(frame);
   CHECK_AND_CAST(DebuggerStackTrace, stack_trace, trace);
@@ -105,8 +103,8 @@
     return Api::NewError("argument 'frame_index' is out of range for %s",
                          CURRENT_FUNC);
   }
-  *frame = reinterpret_cast<Dart_ActivationFrame>(
-       stack_trace->FrameAt(frame_index));
+  *frame =
+      reinterpret_cast<Dart_ActivationFrame>(stack_trace->FrameAt(frame_index));
   return Api::Success();
 }
 
@@ -141,8 +139,7 @@
              event->kind() == ServiceEvent::kBreakpointResolved) {
     Breakpoint* bpt = event->breakpoint();
     ASSERT(bpt != NULL);
-    if (bp_resolved_handler != NULL &&
-        bpt->bpt_location()->IsResolved() &&
+    if (bp_resolved_handler != NULL && bpt->bpt_location()->IsResolved() &&
         !bpt->IsSingleShot()) {
       Dart_CodeLocation location;
       Zone* zone = thread->zone();
@@ -159,10 +156,9 @@
     // Ignore.
   } else if (event->kind() == ServiceEvent::kPauseException) {
     if (exc_thrown_handler != NULL) {
-      Dart_Handle exception =
-          Api::NewHandle(thread, event->exception()->raw());
+      Dart_Handle exception = Api::NewHandle(thread, event->exception()->raw());
       Dart_StackTrace trace =
-      reinterpret_cast<Dart_StackTrace>(isolate->debugger()->StackTrace());
+          reinterpret_cast<Dart_StackTrace>(isolate->debugger()->StackTrace());
       (*exc_thrown_handler)(isolate_id, exception, trace);
     }
   } else if (event->kind() == ServiceEvent::kIsolateStart) {
@@ -191,14 +187,14 @@
 
 
 DART_EXPORT void Dart_SetBreakpointResolvedHandler(
-                            Dart_BreakpointResolvedHandler handler) {
+    Dart_BreakpointResolvedHandler handler) {
   bp_resolved_handler = handler;
   Debugger::SetEventHandler(DebuggerEventHandler);
 }
 
 
 DART_EXPORT void Dart_SetExceptionThrownHandler(
-                            Dart_ExceptionThrownHandler handler) {
+    Dart_ExceptionThrownHandler handler) {
   exc_thrown_handler = handler;
   Debugger::SetEventHandler(DebuggerEventHandler);
 }
@@ -210,8 +206,8 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_SetExceptionPauseInfo(
-                            Dart_ExceptionPauseInfo pause_info) {
+DART_EXPORT Dart_Handle
+Dart_SetExceptionPauseInfo(Dart_ExceptionPauseInfo pause_info) {
   DARTSCOPE(Thread::Current());
   Isolate* I = T->isolate();
   CHECK_DEBUGGER(I);
@@ -235,8 +231,8 @@
   Isolate* I = T->isolate();
   CHECK_DEBUGGER(I);
   CHECK_NOT_NULL(trace);
-  *trace = reinterpret_cast<Dart_StackTrace>(
-      I->debugger()->CurrentStackTrace());
+  *trace =
+      reinterpret_cast<Dart_StackTrace>(I->debugger()->CurrentStackTrace());
   return Api::Success();
 }
 
@@ -256,22 +252,23 @@
     } else {
       Isolate* I = T->isolate();
       *trace = reinterpret_cast<Dart_StackTrace>(
-        I->debugger()->StackTraceFrom(dart_stacktrace));
+          I->debugger()->StackTraceFrom(dart_stacktrace));
     }
     return Api::Success();
   } else {
-    return Api::NewError("Can only get stacktraces from error handles or "
-                         "instances of Error.");
+    return Api::NewError(
+        "Can only get stacktraces from error handles or "
+        "instances of Error.");
   }
 }
 
 
-DART_EXPORT Dart_Handle Dart_ActivationFrameInfo(
-                            Dart_ActivationFrame activation_frame,
-                            Dart_Handle* function_name,
-                            Dart_Handle* script_url,
-                            intptr_t* line_number,
-                            intptr_t* column_number) {
+DART_EXPORT Dart_Handle
+Dart_ActivationFrameInfo(Dart_ActivationFrame activation_frame,
+                         Dart_Handle* function_name,
+                         Dart_Handle* script_url,
+                         intptr_t* line_number,
+                         intptr_t* column_number) {
   DARTSCOPE(Thread::Current());
   CHECK_AND_CAST(ActivationFrame, frame, activation_frame);
   if (function_name != NULL) {
@@ -290,11 +287,11 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_ActivationFrameGetLocation(
-                            Dart_ActivationFrame activation_frame,
-                            Dart_Handle* function_name,
-                            Dart_Handle* function,
-                            Dart_CodeLocation* location) {
+DART_EXPORT Dart_Handle
+Dart_ActivationFrameGetLocation(Dart_ActivationFrame activation_frame,
+                                Dart_Handle* function_name,
+                                Dart_Handle* function,
+                                Dart_CodeLocation* location) {
   // TODO(hausner): Implement a way to recognize when there
   // is no source code for the code in the frame.
   DARTSCOPE(Thread::Current());
@@ -315,9 +312,9 @@
   return Api::Success();
 }
 
-DART_EXPORT Dart_Handle Dart_ActivationFrameGetFramePointer(
-                            Dart_ActivationFrame activation_frame,
-                            uintptr_t* frame_pointer) {
+DART_EXPORT Dart_Handle
+Dart_ActivationFrameGetFramePointer(Dart_ActivationFrame activation_frame,
+                                    uintptr_t* frame_pointer) {
   DARTSCOPE(Thread::Current());
   CHECK_AND_CAST(ActivationFrame, frame, activation_frame);
 
@@ -340,25 +337,23 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_GetLocalVariables(
-                            Dart_ActivationFrame activation_frame) {
+DART_EXPORT Dart_Handle
+Dart_GetLocalVariables(Dart_ActivationFrame activation_frame) {
   DARTSCOPE(Thread::Current());
   CHECK_AND_CAST(ActivationFrame, frame, activation_frame);
   return Api::NewHandle(T, frame->GetLocalVariables());
 }
 
 
-DART_EXPORT Dart_Handle Dart_SetBreakpoint(
-                            Dart_Handle script_url_in,
-                            intptr_t line_number) {
+DART_EXPORT Dart_Handle Dart_SetBreakpoint(Dart_Handle script_url_in,
+                                           intptr_t line_number) {
   DARTSCOPE(Thread::Current());
   Isolate* I = T->isolate();
   CHECK_DEBUGGER(I);
   UNWRAP_AND_CHECK_PARAM(String, script_url, script_url_in);
 
   Debugger* debugger = I->debugger();
-  Breakpoint* bpt =
-      debugger->SetBreakpointAtLine(script_url, line_number);
+  Breakpoint* bpt = debugger->SetBreakpointAtLine(script_url, line_number);
   if (bpt == NULL) {
     return Api::NewError("%s: could not set breakpoint at line %" Pd " in '%s'",
                          CURRENT_FUNC, line_number, script_url.ToCString());
@@ -376,7 +371,7 @@
   Breakpoint* bpt = debugger->GetBreakpointById(bp_id);
   if (bpt == NULL) {
     return Api::NewError("%s: breakpoint with id %" Pd " does not exist",
-                           CURRENT_FUNC, bp_id);
+                         CURRENT_FUNC, bp_id);
   }
   return Api::NewHandle(T, bpt->bpt_location()->url());
 }
@@ -401,10 +396,10 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_SetBreakpointAtEntry(
-                            Dart_Handle library_in,
-                            Dart_Handle class_name_in,
-                            Dart_Handle function_name_in) {
+DART_EXPORT Dart_Handle
+Dart_SetBreakpointAtEntry(Dart_Handle library_in,
+                          Dart_Handle class_name_in,
+                          Dart_Handle function_name_in) {
   DARTSCOPE(Thread::Current());
   Isolate* I = T->isolate();
   CHECK_DEBUGGER(I);
@@ -415,8 +410,7 @@
   // Ensure that the library is loaded.
   if (!library.Loaded()) {
     return Api::NewError(
-        "%s expects library argument 'library_in' to be loaded.",
-        CURRENT_FUNC);
+        "%s expects library argument 'library_in' to be loaded.", CURRENT_FUNC);
   }
 
   // Resolve the breakpoint target function.
@@ -425,11 +419,9 @@
       debugger->ResolveFunction(library, class_name, function_name));
   if (bp_target.IsNull()) {
     const bool toplevel = class_name.Length() == 0;
-    return Api::NewError("%s: could not find function '%s%s%s'",
-                         CURRENT_FUNC,
+    return Api::NewError("%s: could not find function '%s%s%s'", CURRENT_FUNC,
                          toplevel ? "" : class_name.ToCString(),
-                         toplevel ? "" : ".",
-                         function_name.ToCString());
+                         toplevel ? "" : ".", function_name.ToCString());
   }
 
   Breakpoint* bpt = debugger->SetBreakpointAtEntry(bp_target, false);
@@ -442,10 +434,9 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_OneTimeBreakAtEntry(
-                            Dart_Handle library_in,
-                            Dart_Handle class_name_in,
-                            Dart_Handle function_name_in) {
+DART_EXPORT Dart_Handle Dart_OneTimeBreakAtEntry(Dart_Handle library_in,
+                                                 Dart_Handle class_name_in,
+                                                 Dart_Handle function_name_in) {
   DARTSCOPE(Thread::Current());
   Isolate* I = T->isolate();
   CHECK_DEBUGGER(I);
@@ -456,8 +447,7 @@
   // Ensure that the library is loaded.
   if (!library.Loaded()) {
     return Api::NewError(
-        "%s expects library argument 'library_in' to be loaded.",
-        CURRENT_FUNC);
+        "%s expects library argument 'library_in' to be loaded.", CURRENT_FUNC);
   }
 
   // Resolve the breakpoint target function.
@@ -466,15 +456,13 @@
       debugger->ResolveFunction(library, class_name, function_name));
   if (bp_target.IsNull()) {
     const bool toplevel = class_name.Length() == 0;
-    return Api::NewError("%s: could not find function '%s%s%s'",
-                         CURRENT_FUNC,
+    return Api::NewError("%s: could not find function '%s%s%s'", CURRENT_FUNC,
                          toplevel ? "" : class_name.ToCString(),
-                         toplevel ? "" : ".",
-                         function_name.ToCString());
+                         toplevel ? "" : ".", function_name.ToCString());
   }
 
-  const Error& error = Error::Handle(Z,
-      debugger->OneTimeBreakAtEntry(bp_target));
+  const Error& error =
+      Error::Handle(Z, debugger->OneTimeBreakAtEntry(bp_target));
   if (!error.IsNull()) {
     return Api::NewHandle(T, error.raw());
   }
@@ -545,11 +533,10 @@
   DARTSCOPE(Thread::Current());
   Isolate* I = T->isolate();
   CHECK_DEBUGGER(I);
-  const Library& lib =
-      Library::Handle(Z, Library::GetLibrary(library_id));
+  const Library& lib = Library::Handle(Z, Library::GetLibrary(library_id));
   if (lib.IsNull()) {
-    return Api::NewError("%s: %" Pd " is not a valid library id",
-                         CURRENT_FUNC, library_id);
+    return Api::NewError("%s: %" Pd " is not a valid library id", CURRENT_FUNC,
+                         library_id);
   }
   return Api::NewHandle(T, I->debugger()->GetLibraryFields(lib));
 }
@@ -562,16 +549,16 @@
 
   const Library& lib = Library::Handle(Z, Library::GetLibrary(library_id));
   if (lib.IsNull()) {
-    return Api::NewError("%s: %" Pd " is not a valid library id",
-                         CURRENT_FUNC, library_id);
+    return Api::NewError("%s: %" Pd " is not a valid library id", CURRENT_FUNC,
+                         library_id);
   }
   return Api::NewHandle(T, I->debugger()->GetGlobalFields(lib));
 }
 
 
-DART_EXPORT Dart_Handle Dart_ActivationFrameEvaluate(
-                            Dart_ActivationFrame activation_frame,
-                            Dart_Handle expr_in) {
+DART_EXPORT Dart_Handle
+Dart_ActivationFrameEvaluate(Dart_ActivationFrame activation_frame,
+                             Dart_Handle expr_in) {
   DARTSCOPE(Thread::Current());
   CHECK_DEBUGGER(T->isolate());
   CHECK_AND_CAST(ActivationFrame, frame, activation_frame);
@@ -595,26 +582,22 @@
   // Type extends Instance, must check first.
   if (target.IsType()) {
     const Class& cls = Class::Handle(Z, Type::Cast(target).type_class());
-    return Api::NewHandle(T, cls.Evaluate(expr,
-                                          Array::empty_array(),
-                                          Array::empty_array()));
+    return Api::NewHandle(
+        T, cls.Evaluate(expr, Array::empty_array(), Array::empty_array()));
   } else if (target.IsInstance()) {
     const Instance& inst = Instance::Cast(target);
     const Class& receiver_cls = Class::Handle(Z, inst.clazz());
-    return Api::NewHandle(T, inst.Evaluate(receiver_cls,
-                                           expr,
-                                           Array::empty_array(),
-                                           Array::empty_array()));
+    return Api::NewHandle(
+        T, inst.Evaluate(receiver_cls, expr, Array::empty_array(),
+                         Array::empty_array()));
   } else if (target.IsLibrary()) {
     const Library& lib = Library::Cast(target);
-    return Api::NewHandle(T, lib.Evaluate(expr,
-                                          Array::empty_array(),
-                                          Array::empty_array()));
+    return Api::NewHandle(
+        T, lib.Evaluate(expr, Array::empty_array(), Array::empty_array()));
   } else if (target.IsClass()) {
     const Class& cls = Class::Cast(target);
-    return Api::NewHandle(T, cls.Evaluate(expr,
-                                          Array::empty_array(),
-                                          Array::empty_array()));
+    return Api::NewHandle(
+        T, cls.Evaluate(expr, Array::empty_array(), Array::empty_array()));
   }
   return Api::NewError("%s: unsupported target type", CURRENT_FUNC);
 }
@@ -641,8 +624,8 @@
   DARTSCOPE(Thread::Current());
   Isolate* I = T->isolate();
   if (!I->class_table()->IsValidIndex(class_id)) {
-    return Api::NewError("%s: %" Pd " is not a valid class id",
-                         CURRENT_FUNC, class_id);
+    return Api::NewError("%s: %" Pd " is not a valid class id", CURRENT_FUNC,
+                         class_id);
   }
   return Api::NewHandle(T, I->class_table()->At(class_id));
 }
@@ -694,11 +677,10 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_GetClosureInfo(
-                            Dart_Handle closure,
-                            Dart_Handle* name,
-                            Dart_Handle* signature,
-                            Dart_CodeLocation* location) {
+DART_EXPORT Dart_Handle Dart_GetClosureInfo(Dart_Handle closure,
+                                            Dart_Handle* name,
+                                            Dart_Handle* signature,
+                                            Dart_CodeLocation* location) {
   DARTSCOPE(Thread::Current());
   UNWRAP_AND_CHECK_PARAM(Instance, instance, closure);
   CHECK_NOT_NULL(location);
@@ -737,18 +719,17 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_GetClassInfo(
-                            intptr_t cls_id,
-                            Dart_Handle* class_name,
-                            intptr_t* library_id,
-                            intptr_t* super_class_id,
-                            Dart_Handle* static_fields) {
+DART_EXPORT Dart_Handle Dart_GetClassInfo(intptr_t cls_id,
+                                          Dart_Handle* class_name,
+                                          intptr_t* library_id,
+                                          intptr_t* super_class_id,
+                                          Dart_Handle* static_fields) {
   DARTSCOPE(Thread::Current());
   Isolate* I = T->isolate();
   CHECK_DEBUGGER(I);
   if (!I->class_table()->IsValidIndex(cls_id)) {
-    return Api::NewError("%s: %" Pd " is not a valid class id",
-                         CURRENT_FUNC, cls_id);
+    return Api::NewError("%s: %" Pd " is not a valid class id", CURRENT_FUNC,
+                         cls_id);
   }
   Class& cls = Class::Handle(Z, I->class_table()->At(cls_id));
   if (class_name != NULL) {
@@ -766,21 +747,19 @@
     }
   }
   if (static_fields != NULL) {
-    *static_fields =
-        Api::NewHandle(T, I->debugger()->GetStaticFields(cls));
+    *static_fields = Api::NewHandle(T, I->debugger()->GetStaticFields(cls));
   }
   return Api::Success();
 }
 
 
-DART_EXPORT Dart_Handle Dart_ScriptGetSource(
-                            intptr_t library_id,
-                            Dart_Handle script_url_in) {
+DART_EXPORT Dart_Handle Dart_ScriptGetSource(intptr_t library_id,
+                                             Dart_Handle script_url_in) {
   DARTSCOPE(Thread::Current());
   const Library& lib = Library::Handle(Library::GetLibrary(library_id));
   if (lib.IsNull()) {
-    return Api::NewError("%s: %" Pd " is not a valid library id",
-                         CURRENT_FUNC, library_id);
+    return Api::NewError("%s: %" Pd " is not a valid library id", CURRENT_FUNC,
+                         library_id);
   }
   UNWRAP_AND_CHECK_PARAM(String, script_url, script_url_in);
   const Script& script = Script::Handle(lib.LookupScript(script_url));
@@ -793,14 +772,13 @@
 }
 
 
-DART_EXPORT Dart_Handle Dart_ScriptGetTokenInfo(
-                            intptr_t library_id,
-                            Dart_Handle script_url_in) {
+DART_EXPORT Dart_Handle Dart_ScriptGetTokenInfo(intptr_t library_id,
+                                                Dart_Handle script_url_in) {
   DARTSCOPE(Thread::Current());
   const Library& lib = Library::Handle(Library::GetLibrary(library_id));
   if (lib.IsNull()) {
-    return Api::NewError("%s: %" Pd " is not a valid library id",
-                         CURRENT_FUNC, library_id);
+    return Api::NewError("%s: %" Pd " is not a valid library id", CURRENT_FUNC,
+                         library_id);
   }
   UNWRAP_AND_CHECK_PARAM(String, script_url, script_url_in);
   const Script& script = Script::Handle(lib.LookupScript(script_url));
@@ -822,11 +800,11 @@
   UNWRAP_AND_CHECK_PARAM(String, library_url, library_url_in);
   UNWRAP_AND_CHECK_PARAM(String, script_url, script_url_in);
 
-  const Library& library = Library::Handle(Z,
-      Library::LookupLibrary(T, library_url));
+  const Library& library =
+      Library::Handle(Z, Library::LookupLibrary(T, library_url));
   if (library.IsNull()) {
-    return Api::NewError("%s: library '%s' not found",
-                         CURRENT_FUNC, library_url.ToCString());
+    return Api::NewError("%s: library '%s' not found", CURRENT_FUNC,
+                         library_url.ToCString());
   }
 
   const Script& script = Script::Handle(Z, library.LookupScript(script_url));
@@ -844,11 +822,11 @@
   DARTSCOPE(Thread::Current());
   UNWRAP_AND_CHECK_PARAM(String, library_url, library_url_in);
 
-  const Library& library = Library::Handle(Z,
-      Library::LookupLibrary(T, library_url));
+  const Library& library =
+      Library::Handle(Z, Library::LookupLibrary(T, library_url));
   if (library.IsNull()) {
-    return Api::NewError("%s: library '%s' not found",
-                         CURRENT_FUNC, library_url.ToCString());
+    return Api::NewError("%s: library '%s' not found", CURRENT_FUNC,
+                         library_url.ToCString());
   }
   const Array& loaded_scripts = Array::Handle(Z, library.LoadedScripts());
   ASSERT(!loaded_scripts.IsNull());
@@ -874,7 +852,7 @@
   int num_libs = libs.Length();
 
   // Create new list and populate with the url of loaded libraries.
-  Library &lib = Library::Handle();
+  Library& lib = Library::Handle();
   const Array& library_id_list = Array::Handle(Z, Array::New(num_libs));
   for (int i = 0; i < num_libs; i++) {
     lib ^= libs.At(i);
@@ -890,8 +868,8 @@
   DARTSCOPE(Thread::Current());
   const Library& lib = Library::Handle(Z, Library::GetLibrary(library_id));
   if (lib.IsNull()) {
-    return Api::NewError("%s: %" Pd " is not a valid library id",
-                         CURRENT_FUNC, library_id);
+    return Api::NewError("%s: %" Pd " is not a valid library id", CURRENT_FUNC,
+                         library_id);
   }
   return Api::NewHandle(T, lib.raw());
 }
@@ -916,8 +894,8 @@
   DARTSCOPE(Thread::Current());
   const Library& lib = Library::Handle(Library::GetLibrary(library_id));
   if (lib.IsNull()) {
-    return Api::NewError("%s: %" Pd " is not a valid library id",
-                         CURRENT_FUNC, library_id);
+    return Api::NewError("%s: %" Pd " is not a valid library id", CURRENT_FUNC,
+                         library_id);
   }
   const GrowableObjectArray& import_list =
       GrowableObjectArray::Handle(GrowableObjectArray::New(8));
@@ -953,8 +931,8 @@
   DARTSCOPE(Thread::Current());
   const Library& lib = Library::Handle(Z, Library::GetLibrary(library_id));
   if (lib.IsNull()) {
-    return Api::NewError("%s: %" Pd " is not a valid library id",
-                         CURRENT_FUNC, library_id);
+    return Api::NewError("%s: %" Pd " is not a valid library id", CURRENT_FUNC,
+                         library_id);
   }
   return Api::NewHandle(T, lib.url());
 }
@@ -966,8 +944,8 @@
   CHECK_NOT_NULL(is_debuggable);
   const Library& lib = Library::Handle(Library::GetLibrary(library_id));
   if (lib.IsNull()) {
-    return Api::NewError("%s: %" Pd " is not a valid library id",
-                         CURRENT_FUNC, library_id);
+    return Api::NewError("%s: %" Pd " is not a valid library id", CURRENT_FUNC,
+                         library_id);
   }
   *is_debuggable = lib.IsDebuggable();
   return Api::Success();
@@ -979,8 +957,8 @@
   DARTSCOPE(Thread::Current());
   const Library& lib = Library::Handle(Z, Library::GetLibrary(library_id));
   if (lib.IsNull()) {
-    return Api::NewError("%s: %" Pd " is not a valid library id",
-                         CURRENT_FUNC, library_id);
+    return Api::NewError("%s: %" Pd " is not a valid library id", CURRENT_FUNC,
+                         library_id);
   }
   lib.set_debuggable(is_debuggable);
   return Api::Success();
diff --git a/runtime/vm/debugger_api_impl_test.cc b/runtime/vm/debugger_api_impl_test.cc
index a41d10b..0e7a1d7 100644
--- a/runtime/vm/debugger_api_impl_test.cc
+++ b/runtime/vm/debugger_api_impl_test.cc
@@ -16,7 +16,7 @@
 #ifndef PRODUCT
 
 static bool breakpoint_hit = false;
-static int  breakpoint_hit_counter = 0;
+static int breakpoint_hit_counter = 0;
 static Dart_Handle script_lib = NULL;
 
 static const bool verbose = true;
@@ -31,9 +31,8 @@
   ASSERT(script_lib != NULL);
   ASSERT(!Dart_IsError(script_lib));
   ASSERT(Dart_IsLibrary(script_lib));
-  Dart_Handle res = Dart_SetBreakpointAtEntry(script_lib,
-                        NewString(cname),
-                        NewString(fname));
+  Dart_Handle res =
+      Dart_SetBreakpointAtEntry(script_lib, NewString(cname), NewString(fname));
   EXPECT(Dart_IsInteger(res));
 }
 
@@ -104,8 +103,8 @@
   Dart_Handle url;
   intptr_t line_number = 0;
   intptr_t library_id = 0;
-  res = Dart_ActivationFrameInfo(
-            frame, &func_name, &url, &line_number, &library_id);
+  res = Dart_ActivationFrameInfo(frame, &func_name, &url, &line_number,
+                                 &library_id);
   EXPECT_TRUE(res);
   OS::SNPrint(info_str, sizeof(info_str), "function %s (%s:%" Pd ")",
               ToCString(func_name), ToCString(url), line_number);
@@ -389,10 +388,9 @@
 
   for (intptr_t frame_index = 0; frame_index < trace_len; frame_index++) {
     EXPECT_VALID(Dart_GetActivationFrame(trace, frame_index, &frame));
-    EXPECT_VALID(Dart_ActivationFrameInfo(frame, &func_name,
-                                          NULL, NULL, NULL));
-    int pos = OS::SNPrint(buffer, buffer_size, "[%" Pd "] %s { ",
-                          frame_index, ToCString(func_name));
+    EXPECT_VALID(Dart_ActivationFrameInfo(frame, &func_name, NULL, NULL, NULL));
+    int pos = OS::SNPrint(buffer, buffer_size, "[%" Pd "] %s { ", frame_index,
+                          ToCString(func_name));
     buffer += pos;
     buffer_size -= pos;
 
@@ -415,8 +413,7 @@
       const char* value_cstr = NULL;
       EXPECT_VALID(Dart_StringToCString(name, &name_cstr));
       EXPECT_VALID(Dart_StringToCString(value_str, &value_cstr));
-      pos = OS::SNPrint(buffer, buffer_size, "%s = %s ",
-                        name_cstr, value_cstr);
+      pos = OS::SNPrint(buffer, buffer_size, "%s = %s ", name_cstr, value_cstr);
       buffer += pos;
       buffer_size -= pos;
     }
@@ -493,22 +490,24 @@
   dart_args[1] = Dart_NewInteger(kLowThreshold);
   EXPECT_VALID(Dart_Invoke(script_lib, NewString("test"), 2, dart_args));
   if (optimize) {
-    EXPECT_STREQ("[0] breakpointNow { }\n"
-                 "[1] helper { a = 5 b = 99 stop = <optimized out> }\n"
-                 "[2] anotherMiddleMan { one = <optimized out> "
-                 "two = <optimized out> stop = <optimized out> }\n"
-                 "[3] middleMan { x = 5 limit = 100 stop = true value = 24255"
-                 " i = 99 }\n"
-                 "[4] test { stop = true limit = 100 }\n",
-                 stack_buffer);
+    EXPECT_STREQ(
+        "[0] breakpointNow { }\n"
+        "[1] helper { a = 5 b = 99 stop = <optimized out> }\n"
+        "[2] anotherMiddleMan { one = <optimized out> "
+        "two = <optimized out> stop = <optimized out> }\n"
+        "[3] middleMan { x = 5 limit = 100 stop = true value = 24255"
+        " i = 99 }\n"
+        "[4] test { stop = true limit = 100 }\n",
+        stack_buffer);
   } else {
-    EXPECT_STREQ("[0] breakpointNow { }\n"
-                 "[1] helper { a = 5 b = 99 stop = true }\n"
-                 "[2] anotherMiddleMan { one = 5 two = 99 stop = true }\n"
-                 "[3] middleMan { x = 5 limit = 100 stop = true value = 24255"
-                 " i = 99 }\n"
-                 "[4] test { stop = true limit = 100 }\n",
-                 stack_buffer);
+    EXPECT_STREQ(
+        "[0] breakpointNow { }\n"
+        "[1] helper { a = 5 b = 99 stop = true }\n"
+        "[2] anotherMiddleMan { one = 5 two = 99 stop = true }\n"
+        "[3] middleMan { x = 5 limit = 100 stop = true value = 24255"
+        " i = 99 }\n"
+        "[4] test { stop = true limit = 100 }\n",
+        stack_buffer);
   }
 
   FLAG_optimization_counter_threshold = saved_threshold;
@@ -587,26 +586,28 @@
   dart_args[1] = Dart_NewInteger(kLowThreshold);
   EXPECT_VALID(Dart_Invoke(script_lib, NewString("test"), 2, dart_args));
   if (optimize) {
-    EXPECT_STREQ("[0] breakpointNow { }\n"
-                 "[1] helper { a = 50 b = 99 stop = <optimized out> }\n"
-                 "[2] <anonymous closure> { x = 5 i = 99 stop = true"
-                 " value = <optimized out> }\n"
-                 "[3] anotherMiddleMan { func = <optimized out> }\n"
-                 "[4] middleMan { x = 5 limit = 100 stop = true"
-                 " value = 242550 i = 99 }\n"
-                 "[5] test { stop = true limit = 100 }\n",
-                 stack_buffer);
+    EXPECT_STREQ(
+        "[0] breakpointNow { }\n"
+        "[1] helper { a = 50 b = 99 stop = <optimized out> }\n"
+        "[2] <anonymous closure> { x = 5 i = 99 stop = true"
+        " value = <optimized out> }\n"
+        "[3] anotherMiddleMan { func = <optimized out> }\n"
+        "[4] middleMan { x = 5 limit = 100 stop = true"
+        " value = 242550 i = 99 }\n"
+        "[5] test { stop = true limit = 100 }\n",
+        stack_buffer);
   } else {
-    EXPECT_STREQ("[0] breakpointNow { }\n"
-                 "[1] helper { a = 50 b = 99 stop = true }\n"
-                 "[2] <anonymous closure> { x = 5 i = 99 stop = true"
-                 " value = 10 }\n"
-                 "[3] anotherMiddleMan {"
-                 " func = Closure: (dynamic) => dynamic }\n"
-                 "[4] middleMan { x = 5 limit = 100 stop = true"
-                 " value = 242550 i = 99 }\n"
-                 "[5] test { stop = true limit = 100 }\n",
-                 stack_buffer);
+    EXPECT_STREQ(
+        "[0] breakpointNow { }\n"
+        "[1] helper { a = 50 b = 99 stop = true }\n"
+        "[2] <anonymous closure> { x = 5 i = 99 stop = true"
+        " value = 10 }\n"
+        "[3] anotherMiddleMan {"
+        " func = Closure: (dynamic) => dynamic }\n"
+        "[4] middleMan { x = 5 limit = 100 stop = true"
+        " value = 242550 i = 99 }\n"
+        "[5] test { stop = true limit = 100 }\n",
+        stack_buffer);
   }
 
   FLAG_optimization_counter_threshold = saved_threshold;
@@ -691,22 +692,22 @@
 }
 
 static const char* step_into_expected_bpts[] = {
-    "main",        // entry
-    "main",        // call foo
-      "foo",       // entry
-      "foo",       // call f1
-        "f1",      // entry
-        "f1",      // return
-      "foo",       // call initializer
-      "foo",       // call kvmk
-        "X.kvmk",  // entry
-        "X.kvmk",  // call
-          "f2",    // entry
-          "f2",    // return
-        "X.kvmk",  // call +
-        "X.kvmk",  // return
-      "foo",       // return
-    "main"         // return
+    "main",    // entry
+    "main",    // call foo
+    "foo",     // entry
+    "foo",     // call f1
+    "f1",      // entry
+    "f1",      // return
+    "foo",     // call initializer
+    "foo",     // call kvmk
+    "X.kvmk",  // entry
+    "X.kvmk",  // call
+    "f2",      // entry
+    "f2",      // return
+    "X.kvmk",  // call +
+    "X.kvmk",  // return
+    "foo",     // return
+    "main"     // return
 };
 
 void TestStepIntoHandler(Dart_IsolateId isolate_id,
@@ -785,8 +786,8 @@
   Dart_StackTrace trace;
   Dart_GetStackTrace(&trace);
   if (verbose) {
-    OS::Print(">>> Breakpoint nr. %d in %s <<<\n",
-              breakpoint_hit_counter, BreakpointInfo(trace));
+    OS::Print(">>> Breakpoint nr. %d in %s <<<\n", breakpoint_hit_counter,
+              BreakpointInfo(trace));
     PrintStackTrace(trace);
   }
   breakpoint_hit = true;
@@ -867,8 +868,8 @@
                            const Dart_CodeLocation& location) {
   Dart_StackTrace trace;
   Dart_GetStackTrace(&trace);
-  const char* expected_bpts[] = {
-      "moo", "moo", "foo", "moo", "moo", "foo", "moo", "moo", "foo", "main"};
+  const char* expected_bpts[] = {"moo", "moo", "foo", "moo", "moo",
+                                 "foo", "moo", "moo", "foo", "main"};
   const intptr_t expected_bpts_length = ARRAY_SIZE(expected_bpts);
   intptr_t trace_len;
   Dart_Handle res = Dart_StackTraceLength(trace, &trace_len);
@@ -1086,17 +1087,15 @@
       "}                               \n";
 
   LoadScript(kScriptChars);
-  Dart_Handle result = Dart_SetNativeResolver(script_lib,
-                                              &NoopNativeResolver,
-                                              NULL);
+  Dart_Handle result =
+      Dart_SetNativeResolver(script_lib, &NoopNativeResolver, NULL);
   EXPECT_VALID(result);
   Dart_SetPausedEventHandler(&TestBreakpointHandlerWithVerify);
 
   Dart_Handle script_url = NewString(TestCase::url());
 
   const intptr_t num_breakpoints = 9;
-  intptr_t breakpoint_lines[num_breakpoints] =
-      {5, 6, 7, 8, 9, 10, 11, 12, 13};
+  intptr_t breakpoint_lines[num_breakpoints] = {5, 6, 7, 8, 9, 10, 11, 12, 13};
 
   for (intptr_t i = 0; i < num_breakpoints; i++) {
     result = Dart_SetBreakpoint(script_url, breakpoint_lines[i]);
@@ -1202,14 +1201,12 @@
   struct {
     const char* field_name;
     const char* field_value;
-  } expected[] = {
-    // Expected values at first breakpoint.
-    { "bla", "yada yada yada"},
-    { "u", "null" },
-    // Expected values at second breakpoint.
-    { "bla", "silence is golden" },
-    { "u", "442" }
-  };
+  } expected[] = {// Expected values at first breakpoint.
+                  {"bla", "yada yada yada"},
+                  {"u", "null"},
+                  // Expected values at second breakpoint.
+                  {"bla", "silence is golden"},
+                  {"u", "442"}};
   ASSERT(breakpoint_hit_counter < 2);
   int expected_idx = breakpoint_hit_counter * expected_num_fields;
   breakpoint_hit_counter++;
@@ -1248,19 +1245,19 @@
 
 TEST_CASE(Debug_InspectStaticField) {
   const char* kScriptChars =
-    " class A {                                 \n"
-    "   static var bla = 'yada yada yada';      \n"
-    "   static var u;                           \n"
-    " }                                         \n"
-    "                                           \n"
-    " debugBreak() { }                          \n"
-    " main() {                                  \n"
-    "   var a = new A();                        \n"
-    "   debugBreak();                           \n"
-    "   A.u = 442;                              \n"
-    "   A.bla = 'silence is golden';            \n"
-    "   debugBreak();                           \n"
-    " }                                         \n";
+      " class A {                                 \n"
+      "   static var bla = 'yada yada yada';      \n"
+      "   static var u;                           \n"
+      " }                                         \n"
+      "                                           \n"
+      " debugBreak() { }                          \n"
+      " main() {                                  \n"
+      "   var a = new A();                        \n"
+      "   debugBreak();                           \n"
+      "   A.u = 442;                              \n"
+      "   A.bla = 'silence is golden';            \n"
+      "   debugBreak();                           \n"
+      " }                                         \n";
 
   LoadScript(kScriptChars);
   Dart_SetPausedEventHandler(&InspectStaticFieldHandler);
@@ -1274,18 +1271,18 @@
 
 TEST_CASE(Debug_InspectObject) {
   const char* kScriptChars =
-    " class A {                                 \n"
-    "   var a_field = 'a';                      \n"
-    "   static var bla = 'yada yada yada';      \n"
-    "   static var error = unresolvedName();    \n"
-    "   var d = 42.1;                           \n"
-    " }                                         \n"
-    " class B extends A {                       \n"
-    "   var oneDay = const Duration(hours: 24); \n"
-    "   static var bla = 'blah blah';           \n"
-    " }                                         \n"
-    " get_b() { return new B(); }               \n"
-    " get_int() { return 666; }                 \n";
+      " class A {                                 \n"
+      "   var a_field = 'a';                      \n"
+      "   static var bla = 'yada yada yada';      \n"
+      "   static var error = unresolvedName();    \n"
+      "   var d = 42.1;                           \n"
+      " }                                         \n"
+      " class B extends A {                       \n"
+      "   var oneDay = const Duration(hours: 24); \n"
+      "   static var bla = 'blah blah';           \n"
+      " }                                         \n"
+      " get_b() { return new B(); }               \n"
+      " get_int() { return 666; }                 \n";
 
   // Number of instance fields in an object of class B.
   const intptr_t kNumObjectFields = 3;
@@ -1528,9 +1525,8 @@
   Dart_EnterScope();
   LoadScript(kScriptChars);
 
-  Dart_Handle result = Dart_SetNativeResolver(script_lib,
-                                              &InterruptNativeResolver,
-                                              NULL);
+  Dart_Handle result =
+      Dart_SetNativeResolver(script_lib, &InterruptNativeResolver, NULL);
   EXPECT_VALID(result);
 
   Dart_Handle retval = Invoke("main");
@@ -1590,18 +1586,14 @@
 
 
 static void StackTraceDump1BreakpointHandler(
-                Dart_IsolateId isolate_id,
-                intptr_t bp_id,
-                const Dart_CodeLocation& location) {
+    Dart_IsolateId isolate_id,
+    intptr_t bp_id,
+    const Dart_CodeLocation& location) {
   Dart_StackTrace trace;
   Dart_GetStackTrace(&trace);
   const int kStackTraceLen = 4;
   static const char* expected_trace[kStackTraceLen] = {
-    "local_to_main",
-    "Test.local1_to_func1",
-    "Test.func1",
-    "main"
-  };
+      "local_to_main", "Test.local1_to_func1", "Test.func1", "main"};
 
   intptr_t trace_len;
   Dart_Handle res = Dart_StackTraceLength(trace, &trace_len);
@@ -1672,15 +1664,11 @@
   Dart_ListSetAt(frame3_locals, 12, NewString("main_local"));
   Dart_ListSetAt(frame3_locals, 13, Dart_Null());
 
-  Dart_Handle expected_locals[] = {
-    frame0_locals,
-    frame1_locals,
-    frame2_locals,
-    frame3_locals
-  };
+  Dart_Handle expected_locals[] = {frame0_locals, frame1_locals, frame2_locals,
+                                   frame3_locals};
   breakpoint_hit_counter++;
-  VerifyStackTrace(trace, expected_trace, expected_locals,
-                   kStackTraceLen, true);
+  VerifyStackTrace(trace, expected_trace, expected_locals, kStackTraceLen,
+                   true);
 }
 
 
@@ -1751,12 +1739,8 @@
                                             Dart_StackTrace trace) {
   const int kStackTraceLen = 5;
   static const char* expected_trace[kStackTraceLen] = {
-    "Object._noSuchMethod",
-    "Object.noSuchMethod",
-    "Test.local1_to_func1",
-    "Test.func1",
-    "main"
-  };
+      "Object._noSuchMethod", "Object.noSuchMethod", "Test.local1_to_func1",
+      "Test.func1", "main"};
 
   intptr_t trace_len;
   Dart_Handle res = Dart_StackTraceLength(trace, &trace_len);
@@ -1838,16 +1822,11 @@
   Dart_ListSetAt(frame4_locals, 10, NewString("func1"));
   Dart_ListSetAt(frame4_locals, 11, Dart_Null());
 
-  Dart_Handle expected_locals[] = {
-    frame0_locals,
-    frame1_locals,
-    frame2_locals,
-    frame3_locals,
-    frame4_locals
-  };
+  Dart_Handle expected_locals[] = {frame0_locals, frame1_locals, frame2_locals,
+                                   frame3_locals, frame4_locals};
   breakpoint_hit_counter++;
-  VerifyStackTrace(trace, expected_trace, expected_locals,
-                   kStackTraceLen, true);
+  VerifyStackTrace(trace, expected_trace, expected_locals, kStackTraceLen,
+                   true);
 }
 
 
@@ -2028,7 +2007,7 @@
   closure = Dart_EvaluateExpr(script_lib, NewString("(x) => l.length + x"));
   EXPECT_VALID(closure);
   EXPECT(Dart_IsClosure(closure));
-  Dart_Handle args[1] = { Dart_NewInteger(1) };
+  Dart_Handle args[1] = {Dart_NewInteger(1)};
   len = Dart_InvokeClosure(closure, 1, args);
   EXPECT_VALID(len);
   EXPECT(Dart_IsNumber(len));
@@ -2077,8 +2056,8 @@
   Dart_SetExceptionPauseInfo(kPauseOnAllExceptions);
   breakpoint_hit_counter = 0;
 
-  Dart_Handle result = Dart_EvaluateExpr(script_lib, NewString(
-      "() { var p = new Point(3, 4); throw p; } ())"));
+  Dart_Handle result = Dart_EvaluateExpr(
+      script_lib, NewString("() { var p = new Point(3, 4); throw p; } ())"));
   EXPECT(Dart_IsError(result));
   EXPECT_EQ(1, breakpoint_hit_counter);
 }
@@ -2206,26 +2185,20 @@
   Dart_Handle Test1_type = Dart_GetType(script_lib, Test1_name, 0, NULL);
   Dart_Handle type_args = Dart_NewList(1);
   Dart_ListSetAt(type_args, 0, int_type);
-  Dart_Handle Test2_int_type = Dart_GetType(script_lib,
-                                            Test2_name,
-                                            1,
-                                            &type_args);
+  Dart_Handle Test2_int_type =
+      Dart_GetType(script_lib, Test2_name, 1, &type_args);
   Dart_Handle Test3_type = Dart_GetType(script_lib, Test3_name, 0, NULL);
   type_args = Dart_NewList(2);
   Dart_ListSetAt(type_args, 0, int_type);
   Dart_ListSetAt(type_args, 1, Test_type);
-  Dart_Handle Test4_int_type = Dart_GetType(script_lib,
-                                            Test4_name,
-                                            2,
-                                            &type_args);
+  Dart_Handle Test4_int_type =
+      Dart_GetType(script_lib, Test4_name, 2, &type_args);
   type_args = Dart_NewList(3);
   Dart_ListSetAt(type_args, 0, int_type);
   Dart_ListSetAt(type_args, 1, Test_type);
   Dart_ListSetAt(type_args, 2, int_type);
-  Dart_Handle Test5_int_type = Dart_GetType(script_lib,
-                                            Test5_name,
-                                            3,
-                                            &type_args);
+  Dart_Handle Test5_int_type =
+      Dart_GetType(script_lib, Test5_name, 3, &type_args);
   {
     Dart_Handle super_type = Dart_GetSupertype(object_type);
     EXPECT(super_type == Dart_Null());
diff --git a/runtime/vm/debugger_arm.cc b/runtime/vm/debugger_arm.cc
index 1705b30..c14eb71 100644
--- a/runtime/vm/debugger_arm.cc
+++ b/runtime/vm/debugger_arm.cc
@@ -57,7 +57,7 @@
   is_enabled_ = false;
 }
 
-#endif   // !PRODUCT
+#endif  // !PRODUCT
 
 }  // namespace dart
 
diff --git a/runtime/vm/debugger_arm64.cc b/runtime/vm/debugger_arm64.cc
index b8ab73c..842d1a2 100644
--- a/runtime/vm/debugger_arm64.cc
+++ b/runtime/vm/debugger_arm64.cc
@@ -36,7 +36,7 @@
       UNREACHABLE();
   }
   const Code& code = Code::Handle(code_);
-  saved_value_ =  CodePatcher::GetStaticCallTargetAt(pc_, code);
+  saved_value_ = CodePatcher::GetStaticCallTargetAt(pc_, code);
   CodePatcher::PatchPoolPointerCallAt(pc_, code, stub_target);
   is_enabled_ = true;
 }
@@ -49,8 +49,8 @@
     case RawPcDescriptors::kIcCall:
     case RawPcDescriptors::kUnoptStaticCall:
     case RawPcDescriptors::kRuntimeCall: {
-      CodePatcher::PatchPoolPointerCallAt(
-          pc_, code, Code::Handle(saved_value_));
+      CodePatcher::PatchPoolPointerCallAt(pc_, code,
+                                          Code::Handle(saved_value_));
       break;
     }
     default:
diff --git a/runtime/vm/debugger_dbc.cc b/runtime/vm/debugger_dbc.cc
index ac21678..8304677 100644
--- a/runtime/vm/debugger_dbc.cc
+++ b/runtime/vm/debugger_dbc.cc
@@ -35,7 +35,7 @@
   const Code& code = Code::Handle(code_);
   const Instructions& instrs = Instructions::Handle(code.instructions());
   {
-    WritableInstructionsScope writable(instrs.PayloadStart(), instrs.size());
+    WritableInstructionsScope writable(instrs.PayloadStart(), instrs.Size());
     saved_value_ = *CallInstructionFromReturnAddress(pc_);
     switch (breakpoint_kind_) {
       case RawPcDescriptors::kIcCall:
@@ -43,11 +43,8 @@
         // DebugBreak has an A operand matching the call it replaces.
         // This ensures that Return instructions continue to work - as they
         // look at calls to figure out how many arguments to drop.
-        *CallInstructionFromReturnAddress(pc_) =
-            Bytecode::Encode(Bytecode::kDebugBreak,
-                             Bytecode::DecodeArgc(saved_value_),
-                             0,
-                             0);
+        *CallInstructionFromReturnAddress(pc_) = Bytecode::Encode(
+            Bytecode::kDebugBreak, Bytecode::DecodeArgc(saved_value_), 0, 0);
         break;
       }
 
@@ -80,7 +77,7 @@
   const Code& code = Code::Handle(code_);
   const Instructions& instrs = Instructions::Handle(code.instructions());
   {
-    WritableInstructionsScope writable(instrs.PayloadStart(), instrs.size());
+    WritableInstructionsScope writable(instrs.PayloadStart(), instrs.Size());
     switch (breakpoint_kind_) {
       case RawPcDescriptors::kIcCall:
       case RawPcDescriptors::kUnoptStaticCall:
diff --git a/runtime/vm/debugger_ia32.cc b/runtime/vm/debugger_ia32.cc
index c900f75..83cd02d 100644
--- a/runtime/vm/debugger_ia32.cc
+++ b/runtime/vm/debugger_ia32.cc
@@ -30,7 +30,7 @@
   const Instructions& instrs = Instructions::Handle(code.instructions());
   Code& stub_target = Code::Handle();
   {
-    WritableInstructionsScope writable(instrs.PayloadStart(), instrs.size());
+    WritableInstructionsScope writable(instrs.PayloadStart(), instrs.Size());
     switch (breakpoint_kind_) {
       case RawPcDescriptors::kIcCall:
       case RawPcDescriptors::kUnoptStaticCall: {
@@ -57,7 +57,7 @@
   const Code& code = Code::Handle(code_);
   const Instructions& instrs = Instructions::Handle(code.instructions());
   {
-    WritableInstructionsScope writable(instrs.PayloadStart(), instrs.size());
+    WritableInstructionsScope writable(instrs.PayloadStart(), instrs.Size());
     switch (breakpoint_kind_) {
       case RawPcDescriptors::kIcCall:
       case RawPcDescriptors::kUnoptStaticCall:
diff --git a/runtime/vm/debugger_test.cc b/runtime/vm/debugger_test.cc
index 8b8b84e..6096965 100644
--- a/runtime/vm/debugger_test.cc
+++ b/runtime/vm/debugger_test.cc
@@ -76,14 +76,16 @@
         "\"breakpointNumber\":2,\"resolved\":false,"
         "\"location\":{\"type\":\"UnresolvedSourceLocation\","
         "\"script\":{\"type\":\"@Script\",\"fixedId\":true,"
-        "\"id\":\"libraries\\/%" Pd "\\/scripts\\/test-lib\\/0\","
+        "\"id\":\"libraries\\/%" Pd
+        "\\/scripts\\/test-lib\\/0\","
         "\"uri\":\"test-lib\","
         "\"_kind\":\"script\"},\"line\":3}},"
         "{\"type\":\"Breakpoint\",\"fixedId\":true,\"id\":\"breakpoints\\/1\","
         "\"breakpointNumber\":1,\"resolved\":false,"
         "\"location\":{\"type\":\"UnresolvedSourceLocation\","
         "\"script\":{\"type\":\"@Script\",\"fixedId\":true,"
-        "\"id\":\"libraries\\/%" Pd "\\/scripts\\/test-lib\\/0\","
+        "\"id\":\"libraries\\/%" Pd
+        "\\/scripts\\/test-lib\\/0\","
         "\"uri\":\"test-lib\","
         "\"_kind\":\"script\"},\"line\":2}}]",
         vmlib.index(), vmlib.index());
diff --git a/runtime/vm/debugger_x64.cc b/runtime/vm/debugger_x64.cc
index 7da5fc7..58c45c96 100644
--- a/runtime/vm/debugger_x64.cc
+++ b/runtime/vm/debugger_x64.cc
@@ -37,7 +37,7 @@
       UNREACHABLE();
   }
   const Code& code = Code::Handle(code_);
-  saved_value_ =  CodePatcher::GetStaticCallTargetAt(pc_, code);
+  saved_value_ = CodePatcher::GetStaticCallTargetAt(pc_, code);
   CodePatcher::PatchPoolPointerCallAt(pc_, code, stub_target);
   is_enabled_ = true;
 }
@@ -50,8 +50,8 @@
     case RawPcDescriptors::kIcCall:
     case RawPcDescriptors::kUnoptStaticCall:
     case RawPcDescriptors::kRuntimeCall: {
-      CodePatcher::PatchPoolPointerCallAt(
-          pc_, code, Code::Handle(saved_value_));
+      CodePatcher::PatchPoolPointerCallAt(pc_, code,
+                                          Code::Handle(saved_value_));
       break;
     }
     default:
diff --git a/runtime/vm/deferred_objects.cc b/runtime/vm/deferred_objects.cc
index d3f89c7..f21716a 100644
--- a/runtime/vm/deferred_objects.cc
+++ b/runtime/vm/deferred_objects.cc
@@ -94,8 +94,7 @@
     const Class& cls = Class::Handle(Isolate::Current()->class_table()->At(
         Object::Handle(obj->object()).GetClassId()));
     OS::PrintErr("writing instance of class %s ref at %" Px ".\n",
-                 cls.ToCString(),
-                 reinterpret_cast<uword>(slot()));
+                 cls.ToCString(), reinterpret_cast<uword>(slot()));
   }
 }
 
@@ -105,21 +104,21 @@
   Zone* zone = deopt_context->zone();
   Function& function = Function::Handle(zone);
   function ^= deopt_context->ObjectAt(index_);
-  const Error& error = Error::Handle(zone,
-      Compiler::EnsureUnoptimizedCode(thread, function));
+  const Error& error =
+      Error::Handle(zone, Compiler::EnsureUnoptimizedCode(thread, function));
   if (!error.IsNull()) {
     Exceptions::PropagateError(error);
   }
   const Code& code = Code::Handle(zone, function.unoptimized_code());
-  // Check that deopt_id exists.
-  // TODO(vegorov): verify after deoptimization targets as well.
+// Check that deopt_id exists.
+// TODO(vegorov): verify after deoptimization targets as well.
 #ifdef DEBUG
   ASSERT(Thread::IsDeoptAfter(deopt_id_) ||
          (code.GetPcForDeoptId(deopt_id_, RawPcDescriptors::kDeopt) != 0));
 #endif
 
-  uword continue_at_pc = code.GetPcForDeoptId(deopt_id_,
-                                              RawPcDescriptors::kDeopt);
+  uword continue_at_pc =
+      code.GetPcForDeoptId(deopt_id_, RawPcDescriptors::kDeopt);
   ASSERT(continue_at_pc != 0);
   uword* dest_addr = reinterpret_cast<uword*>(slot());
   *dest_addr = continue_at_pc;
@@ -162,8 +161,8 @@
   Function& function = Function::Handle(zone);
   function ^= deopt_context->ObjectAt(index_);
   ASSERT(!function.IsNull());
-  const Error& error = Error::Handle(zone,
-      Compiler::EnsureUnoptimizedCode(thread, function));
+  const Error& error =
+      Error::Handle(zone, Compiler::EnsureUnoptimizedCode(thread, function));
   if (!error.IsNull()) {
     Exceptions::PropagateError(error);
   }
@@ -174,8 +173,8 @@
 
   if (FLAG_trace_deoptimization_verbose) {
     THR_Print("materializing pc marker at 0x%" Px ": %s, %s\n",
-        reinterpret_cast<uword>(slot()), code.ToCString(),
-        function.ToCString());
+              reinterpret_cast<uword>(slot()), code.ToCString(),
+              function.ToCString());
   }
 
   // Increment the deoptimization counter. This effectively increments each
@@ -185,8 +184,8 @@
   }
   if (FLAG_trace_deoptimization || FLAG_trace_deoptimization_verbose) {
     THR_Print("Deoptimizing '%s' (count %d)\n",
-        function.ToFullyQualifiedCString(),
-        function.deoptimization_counter());
+              function.ToFullyQualifiedCString(),
+              function.deoptimization_counter());
   }
   // Clear invocation counter so that hopefully the function gets reoptimized
   // only after more feedback has been collected.
@@ -203,8 +202,8 @@
   Function& function = Function::Handle(zone);
   function ^= deopt_context->ObjectAt(index_);
   ASSERT(!function.IsNull());
-  const Error& error = Error::Handle(zone,
-      Compiler::EnsureUnoptimizedCode(thread, function));
+  const Error& error =
+      Error::Handle(zone, Compiler::EnsureUnoptimizedCode(thread, function));
   if (!error.IsNull()) {
     Exceptions::PropagateError(error);
   }
@@ -240,19 +239,16 @@
   if (cls.raw() == Object::context_class()) {
     intptr_t num_variables = Smi::Cast(Object::Handle(GetLength())).Value();
     if (FLAG_trace_deoptimization_verbose) {
-      OS::PrintErr(
-          "materializing context of length %" Pd " (%" Px ", %" Pd " vars)\n",
-          num_variables,
-          reinterpret_cast<uword>(args_),
-          field_count_);
+      OS::PrintErr("materializing context of length %" Pd " (%" Px ", %" Pd
+                   " vars)\n",
+                   num_variables, reinterpret_cast<uword>(args_), field_count_);
     }
     object_ = &Context::ZoneHandle(Context::New(num_variables));
 
   } else {
     if (FLAG_trace_deoptimization_verbose) {
       OS::PrintErr("materializing instance of %s (%" Px ", %" Pd " fields)\n",
-                   cls.ToCString(),
-                   reinterpret_cast<uword>(args_),
+                   cls.ToCString(), reinterpret_cast<uword>(args_),
                    field_count_);
     }
 
@@ -289,8 +285,7 @@
         context.set_parent(parent);
         if (FLAG_trace_deoptimization_verbose) {
           OS::PrintErr("    ctx@parent (offset %" Pd ") <- %s\n",
-                       offset.Value(),
-                       value.ToCString());
+                       offset.Value(), value.ToCString());
         }
       } else {
         intptr_t context_index = ToContextIndex(offset.Value());
@@ -298,9 +293,7 @@
         context.SetAt(context_index, value);
         if (FLAG_trace_deoptimization_verbose) {
           OS::PrintErr("    ctx@%" Pd " (offset %" Pd ") <- %s\n",
-                       context_index,
-                       offset.Value(),
-                       value.ToCString());
+                       context_index, offset.Value(), value.ToCString());
         }
       }
     }
@@ -322,8 +315,7 @@
         closure.SetTypeArguments(arguments);
         if (FLAG_trace_deoptimization_verbose) {
           OS::PrintErr("    closure@type_arguments (offset %" Pd ") <- %s\n",
-                       offset.Value(),
-                       value.ToCString());
+                       offset.Value(), value.ToCString());
         }
       } else if (offset.Value() == Closure::function_offset()) {
         Function& function = Function::Handle();
@@ -331,8 +323,7 @@
         closure.set_function(function);
         if (FLAG_trace_deoptimization_verbose) {
           OS::PrintErr("    closure@function (offset %" Pd ") <- %s\n",
-                       offset.Value(),
-                       value.ToCString());
+                       offset.Value(), value.ToCString());
         }
       } else {
         ASSERT(offset.Value() == Closure::context_offset());
@@ -341,8 +332,7 @@
         closure.set_context(context);
         if (FLAG_trace_deoptimization_verbose) {
           OS::PrintErr("    closure@context (offset %" Pd ") <- %s\n",
-                       offset.Value(),
-                       value.ToCString());
+                       offset.Value(), value.ToCString());
         }
       }
     }
@@ -370,8 +360,7 @@
         obj.SetFieldAtOffset(offset.Value(), value);
         if (FLAG_trace_deoptimization_verbose) {
           OS::PrintErr("    null Field @ offset(%" Pd ") <- %s\n",
-                       offset.Value(),
-                       value.ToCString());
+                       offset.Value(), value.ToCString());
         }
       }
     }
diff --git a/runtime/vm/deferred_objects.h b/runtime/vm/deferred_objects.h
index 1c9d436..eb817af 100644
--- a/runtime/vm/deferred_objects.h
+++ b/runtime/vm/deferred_objects.h
@@ -22,8 +22,8 @@
 class DeferredSlot {
  public:
   DeferredSlot(RawObject** slot, DeferredSlot* next)
-      : slot_(slot), next_(next) { }
-  virtual ~DeferredSlot() { }
+      : slot_(slot), next_(next) {}
+  virtual ~DeferredSlot() {}
 
   RawObject** slot() const { return slot_; }
   DeferredSlot* next() const { return next_; }
@@ -41,7 +41,7 @@
 class DeferredDouble : public DeferredSlot {
  public:
   DeferredDouble(double value, RawObject** slot, DeferredSlot* next)
-      : DeferredSlot(slot, next), value_(value) { }
+      : DeferredSlot(slot, next), value_(value) {}
 
   virtual void Materialize(DeoptContext* deopt_context);
 
@@ -57,7 +57,7 @@
 class DeferredMint : public DeferredSlot {
  public:
   DeferredMint(int64_t value, RawObject** slot, DeferredSlot* next)
-      : DeferredSlot(slot, next), value_(value) { }
+      : DeferredSlot(slot, next), value_(value) {}
 
   virtual void Materialize(DeoptContext* deopt_context);
 
@@ -72,9 +72,8 @@
 
 class DeferredFloat32x4 : public DeferredSlot {
  public:
-  DeferredFloat32x4(simd128_value_t value, RawObject** slot,
-                    DeferredSlot* next)
-      : DeferredSlot(slot, next), value_(value) { }
+  DeferredFloat32x4(simd128_value_t value, RawObject** slot, DeferredSlot* next)
+      : DeferredSlot(slot, next), value_(value) {}
 
   virtual void Materialize(DeoptContext* deopt_context);
 
@@ -89,9 +88,8 @@
 
 class DeferredFloat64x2 : public DeferredSlot {
  public:
-  DeferredFloat64x2(simd128_value_t value, RawObject** slot,
-                    DeferredSlot* next)
-      : DeferredSlot(slot, next), value_(value) { }
+  DeferredFloat64x2(simd128_value_t value, RawObject** slot, DeferredSlot* next)
+      : DeferredSlot(slot, next), value_(value) {}
 
   virtual void Materialize(DeoptContext* deopt_context);
 
@@ -106,9 +104,8 @@
 
 class DeferredInt32x4 : public DeferredSlot {
  public:
-  DeferredInt32x4(simd128_value_t value, RawObject** slot,
-                   DeferredSlot* next)
-      : DeferredSlot(slot, next), value_(value) { }
+  DeferredInt32x4(simd128_value_t value, RawObject** slot, DeferredSlot* next)
+      : DeferredSlot(slot, next), value_(value) {}
 
   virtual void Materialize(DeoptContext* deopt_context);
 
@@ -127,7 +124,7 @@
 class DeferredObjectRef : public DeferredSlot {
  public:
   DeferredObjectRef(intptr_t index, RawObject** slot, DeferredSlot* next)
-      : DeferredSlot(slot, next), index_(index) { }
+      : DeferredSlot(slot, next), index_(index) {}
 
   virtual void Materialize(DeoptContext* deopt_context);
 
@@ -146,7 +143,7 @@
                   intptr_t deopt_id,
                   RawObject** slot,
                   DeferredSlot* next)
-      : DeferredSlot(slot, next), index_(index), deopt_id_(deopt_id) { }
+      : DeferredSlot(slot, next), index_(index), deopt_id_(deopt_id) {}
 
   virtual void Materialize(DeoptContext* deopt_context);
 
@@ -163,7 +160,7 @@
 class DeferredPcMarker : public DeferredSlot {
  public:
   DeferredPcMarker(intptr_t index, RawObject** slot, DeferredSlot* next)
-      : DeferredSlot(slot, next), index_(index) { }
+      : DeferredSlot(slot, next), index_(index) {}
 
   virtual void Materialize(DeoptContext* deopt_context);
 
@@ -179,7 +176,7 @@
 class DeferredPp : public DeferredSlot {
  public:
   DeferredPp(intptr_t index, RawObject** slot, DeferredSlot* next)
-      : DeferredSlot(slot, next), index_(index) { }
+      : DeferredSlot(slot, next), index_(index) {}
 
   virtual void Materialize(DeoptContext* deopt_context);
 
@@ -201,7 +198,7 @@
   DeferredObject(intptr_t field_count, intptr_t* args)
       : field_count_(field_count),
         args_(reinterpret_cast<RawObject**>(args)),
-        object_(NULL) { }
+        object_(NULL) {}
 
   intptr_t ArgumentCount() const {
     return kFieldsStartIndex + kFieldEntrySize * field_count_;
@@ -239,13 +236,9 @@
 #endif
   }
 
-  RawObject* GetClass() const {
-    return GetArg(kClassIndex);
-  }
+  RawObject* GetClass() const { return GetArg(kClassIndex); }
 
-  RawObject* GetLength() const {
-    return GetArg(kLengthIndex);
-  }
+  RawObject* GetLength() const { return GetArg(kLengthIndex); }
 
   RawObject* GetFieldOffset(intptr_t index) const {
     return GetArg(kFieldsStartIndex + kFieldEntrySize * index + kOffsetIndex);
diff --git a/runtime/vm/deopt_instructions.cc b/runtime/vm/deopt_instructions.cc
index bc09820..31f08cd 100644
--- a/runtime/vm/deopt_instructions.cc
+++ b/runtime/vm/deopt_instructions.cc
@@ -17,7 +17,9 @@
 
 namespace dart {
 
-DEFINE_FLAG(bool, compress_deopt_info, true,
+DEFINE_FLAG(bool,
+            compress_deopt_info,
+            true,
             "Compress the size of the deoptimization info for optimized code.");
 DECLARE_FLAG(bool, trace_deoptimization);
 DECLARE_FLAG(bool, trace_deoptimization_verbose);
@@ -70,11 +72,11 @@
   num_args_ =
       function.HasOptionalParameters() ? 0 : function.num_fixed_parameters();
 
-  // The fixed size section of the (fake) Dart frame called via a stub by the
-  // optimized function contains FP, PP (ARM and MIPS only), PC-marker and
-  // return-address. This section is copied as well, so that its contained
-  // values can be updated before returning to the deoptimized function.
-  // Note: on DBC stack grows upwards unlike on all other architectures.
+// The fixed size section of the (fake) Dart frame called via a stub by the
+// optimized function contains FP, PP (ARM and MIPS only), PC-marker and
+// return-address. This section is copied as well, so that its contained
+// values can be updated before returning to the deoptimized function.
+// Note: on DBC stack grows upwards unlike on all other architectures.
 #if defined(TARGET_ARCH_DBC)
   ASSERT(frame->sp() >= frame->fp());
   const intptr_t frame_size = (frame->sp() - frame->fp()) / kWordSize;
@@ -83,12 +85,11 @@
   const intptr_t frame_size = (frame->fp() - frame->sp()) / kWordSize;
 #endif
 
-  source_frame_size_ =
-      + kDartFrameFixedSize  // For saved values below sp.
-      + frame_size  // For frame size incl. sp.
-      + 1  // For fp.
-      + kParamEndSlotFromFp  // For saved values above fp.
-      + num_args_;  // For arguments.
+  source_frame_size_ = +kDartFrameFixedSize   // For saved values below sp.
+                       + frame_size           // For frame size incl. sp.
+                       + 1                    // For fp.
+                       + kParamEndSlotFromFp  // For saved values above fp.
+                       + num_args_;           // For arguments.
 
   source_frame_ = FrameBase(frame);
 
@@ -125,11 +126,8 @@
     THR_Print(
         "Deoptimizing (reason %d '%s') at "
         "pc=%" Pp " fp=%" Pp " '%s' (count %d)\n",
-        deopt_reason(),
-        DeoptReasonToCString(deopt_reason()),
-        frame->pc(),
-        frame->fp(),
-        function.ToFullyQualifiedCString(),
+        deopt_reason(), DeoptReasonToCString(deopt_reason()), frame->pc(),
+        frame->fp(), function.ToFullyQualifiedCString(),
         function.deoptimization_counter());
   }
 }
@@ -172,8 +170,7 @@
       const int counter = function.deoptimization_counter();
       TimelineEvent* timeline_event = compiler_stream->StartEvent();
       if (timeline_event != NULL) {
-        timeline_event->Duration("Deoptimize",
-                                 deopt_start_micros_,
+        timeline_event->Duration("Deoptimize", deopt_start_micros_,
                                  OS::GetCurrentMonotonicMicros());
         timeline_event->SetNumArguments(3);
         timeline_event->CopyArgument(0, "function", function_name.ToCString());
@@ -203,9 +200,7 @@
 
 
 intptr_t DeoptContext::DestStackAdjustment() const {
-  return dest_frame_size_
-         - kDartFrameFixedSize
-         - num_args_
+  return dest_frame_size_ - kDartFrameFixedSize - num_args_
 #if !defined(TARGET_ARCH_DBC)
          - 1  // For fp.
 #endif
@@ -219,7 +214,7 @@
                        kParamEndSlotFromFp];
 #else
   return source_frame_[num_args_ + kDartFrameFixedSize +
-      kSavedCallerFpSlotFromFp];
+                       kSavedCallerFpSlotFromFp];
 #endif
 }
 
@@ -241,7 +236,7 @@
   return source_frame_[source_frame_size_ - num_args_ + kSavedPcSlotFromSp];
 #else
   return source_frame_[num_args_ + kDartFrameFixedSize +
-      kSavedCallerPcSlotFromFp];
+                       kSavedCallerPcSlotFromFp];
 #endif
 }
 
@@ -319,8 +314,7 @@
       DeoptInfo::NumMaterializations(deopt_instructions);
   PrepareForDeferredMaterialization(num_materializations);
   for (intptr_t from_index = 0, to_index = kDartFrameFixedSize;
-       from_index < num_materializations;
-       from_index++) {
+       from_index < num_materializations; from_index++) {
     const intptr_t field_count =
         DeoptInstr::GetFieldCount(deopt_instructions[from_index]);
     intptr_t* args = GetDestFrameAddressAt(to_index);
@@ -330,8 +324,7 @@
   }
 
   // Populate stack frames.
-  for (intptr_t to_index = frame_size - 1, from_index = len - 1;
-       to_index >= 0;
+  for (intptr_t to_index = frame_size - 1, from_index = len - 1; to_index >= 0;
        to_index--, from_index--) {
     intptr_t* to_addr = GetDestFrameAddressAt(to_index);
     DeoptInstr* instr = deopt_instructions[from_index];
@@ -345,10 +338,7 @@
   if (FLAG_trace_deoptimization_verbose) {
     for (intptr_t i = 0; i < frame_size; i++) {
       intptr_t* to_addr = GetDestFrameAddressAt(i);
-      THR_Print("*%" Pd ". [%p] 0x%" Px " [%s]\n",
-                i,
-                to_addr,
-                *to_addr,
+      THR_Print("*%" Pd ". [%p] 0x%" Px " [%s]\n", i, to_addr, *to_addr,
                 deopt_instructions[i + (len - frame_size)]->ToCString());
     }
   }
@@ -402,8 +392,8 @@
     String& line_string = String::Handle(script.GetLine(line));
     THR_Print("  Function: %s\n", top_function.ToFullyQualifiedCString());
     char line_buffer[80];
-    OS::SNPrint(line_buffer, sizeof(line_buffer), "  Line %" Pd ": '%s'",
-                line, line_string.ToCString());
+    OS::SNPrint(line_buffer, sizeof(line_buffer), "  Line %" Pd ": '%s'", line,
+                line_string.ToCString());
     THR_Print("%s\n", line_buffer);
     THR_Print("  Deopt args: %" Pd "\n", deopt_arg_count);
   }
@@ -414,8 +404,7 @@
 
 RawArray* DeoptContext::DestFrameAsArray() {
   ASSERT(dest_frame_ != NULL && dest_frame_is_allocated_);
-  const Array& dest_array =
-      Array::Handle(zone(), Array::New(dest_frame_size_));
+  const Array& dest_array = Array::Handle(zone(), Array::New(dest_frame_size_));
   PassiveObject& obj = PassiveObject::Handle(zone());
   for (intptr_t i = 0; i < dest_frame_size_; i++) {
     obj = reinterpret_cast<RawObject*>(dest_frame_[i]);
@@ -437,12 +426,11 @@
 
   explicit DeoptRetAddressInstr(intptr_t source_index)
       : object_table_index_(ObjectTableIndex::decode(source_index)),
-        deopt_id_(DeoptId::decode(source_index)) {
-  }
+        deopt_id_(DeoptId::decode(source_index)) {}
 
   virtual intptr_t source_index() const {
     return ObjectTableIndex::encode(object_table_index_) |
-        DeoptId::encode(deopt_id_);
+           DeoptId::encode(deopt_id_);
   }
 
   virtual DeoptInstr::Kind kind() const { return kRetAddress; }
@@ -454,8 +442,8 @@
 
   void Execute(DeoptContext* deopt_context, intptr_t* dest_addr) {
     *dest_addr = Smi::RawValue(0);
-    deopt_context->DeferRetAddrMaterialization(
-        object_table_index_, deopt_id_, dest_addr);
+    deopt_context->DeferRetAddrMaterialization(object_table_index_, deopt_id_,
+                                               dest_addr);
   }
 
   intptr_t object_table_index() const { return object_table_index_; }
@@ -463,10 +451,10 @@
 
  private:
   static const intptr_t kFieldWidth = kBitsPerWord / 2;
-  class ObjectTableIndex :
-      public BitField<intptr_t, intptr_t, 0, kFieldWidth> { };
-  class DeoptId :
-      public BitField<intptr_t, intptr_t, kFieldWidth, kFieldWidth> { };
+  class ObjectTableIndex : public BitField<intptr_t, intptr_t, 0, kFieldWidth> {
+  };
+  class DeoptId
+      : public BitField<intptr_t, intptr_t, kFieldWidth, kFieldWidth> {};
 
   const intptr_t object_table_index_;
   const intptr_t deopt_id_;
@@ -487,8 +475,8 @@
   virtual DeoptInstr::Kind kind() const { return kConstant; }
 
   virtual const char* ArgumentsToCString() const {
-    return Thread::Current()->zone()->PrintToString(
-        "%" Pd "", object_table_index_);
+    return Thread::Current()->zone()->PrintToString("%" Pd "",
+                                                    object_table_index_);
   }
 
   void Execute(DeoptContext* deopt_context, intptr_t* dest_addr) {
@@ -510,20 +498,16 @@
 // first argument) and accounts for saved return address, frame
 // pointer, pool pointer and pc marker.
 // Deoptimization instruction moving a CPU register.
-class DeoptWordInstr: public DeoptInstr {
+class DeoptWordInstr : public DeoptInstr {
  public:
-  explicit DeoptWordInstr(intptr_t source_index)
-      : source_(source_index) {}
+  explicit DeoptWordInstr(intptr_t source_index) : source_(source_index) {}
 
-  explicit DeoptWordInstr(const CpuRegisterSource& source)
-      : source_(source) {}
+  explicit DeoptWordInstr(const CpuRegisterSource& source) : source_(source) {}
 
   virtual intptr_t source_index() const { return source_.source_index(); }
   virtual DeoptInstr::Kind kind() const { return kWord; }
 
-  virtual const char* ArgumentsToCString() const {
-    return source_.ToCString();
-  }
+  virtual const char* ArgumentsToCString() const { return source_.ToCString(); }
 
   void Execute(DeoptContext* deopt_context, intptr_t* dest_addr) {
     *dest_addr = source_.Value<intptr_t>(deopt_context);
@@ -536,9 +520,9 @@
 };
 
 
-class DeoptIntegerInstrBase: public DeoptInstr {
+class DeoptIntegerInstrBase : public DeoptInstr {
  public:
-  DeoptIntegerInstrBase() { }
+  DeoptIntegerInstrBase() {}
 
   void Execute(DeoptContext* deopt_context, intptr_t* dest_addr) {
     const int64_t value = GetValue(deopt_context);
@@ -558,13 +542,12 @@
 };
 
 
-class DeoptMintPairInstr: public DeoptIntegerInstrBase {
+class DeoptMintPairInstr : public DeoptIntegerInstrBase {
  public:
   explicit DeoptMintPairInstr(intptr_t source_index)
       : DeoptIntegerInstrBase(),
         lo_(LoRegister::decode(source_index)),
-        hi_(HiRegister::decode(source_index)) {
-  }
+        hi_(HiRegister::decode(source_index)) {}
 
   DeoptMintPairInstr(const CpuRegisterSource& lo, const CpuRegisterSource& hi)
       : DeoptIntegerInstrBase(), lo_(lo), hi_(hi) {}
@@ -576,22 +559,20 @@
   virtual DeoptInstr::Kind kind() const { return kMintPair; }
 
   virtual const char* ArgumentsToCString() const {
-    return Thread::Current()->zone()->PrintToString(
-        "%s,%s",
-        lo_.ToCString(),
-        hi_.ToCString());
+    return Thread::Current()->zone()->PrintToString("%s,%s", lo_.ToCString(),
+                                                    hi_.ToCString());
   }
 
   virtual int64_t GetValue(DeoptContext* deopt_context) {
-    return Utils::LowHighTo64Bits(
-        lo_.Value<uint32_t>(deopt_context), hi_.Value<int32_t>(deopt_context));
+    return Utils::LowHighTo64Bits(lo_.Value<uint32_t>(deopt_context),
+                                  hi_.Value<int32_t>(deopt_context));
   }
 
  private:
   static const intptr_t kFieldWidth = kBitsPerWord / 2;
-  class LoRegister : public BitField<intptr_t, intptr_t, 0, kFieldWidth> { };
-  class HiRegister :
-      public BitField<intptr_t, intptr_t, kFieldWidth, kFieldWidth> { };
+  class LoRegister : public BitField<intptr_t, intptr_t, 0, kFieldWidth> {};
+  class HiRegister
+      : public BitField<intptr_t, intptr_t, kFieldWidth, kFieldWidth> {};
 
   const CpuRegisterSource lo_;
   const CpuRegisterSource hi_;
@@ -600,23 +581,19 @@
 };
 
 
-template<DeoptInstr::Kind K, typename T>
+template <DeoptInstr::Kind K, typename T>
 class DeoptIntInstr : public DeoptIntegerInstrBase {
  public:
   explicit DeoptIntInstr(intptr_t source_index)
-      : DeoptIntegerInstrBase(), source_(source_index) {
-  }
+      : DeoptIntegerInstrBase(), source_(source_index) {}
 
   explicit DeoptIntInstr(const CpuRegisterSource& source)
-      : DeoptIntegerInstrBase(), source_(source) {
-  }
+      : DeoptIntegerInstrBase(), source_(source) {}
 
   virtual intptr_t source_index() const { return source_.source_index(); }
   virtual DeoptInstr::Kind kind() const { return K; }
 
-  virtual const char* ArgumentsToCString() const {
-    return source_.ToCString();
-  }
+  virtual const char* ArgumentsToCString() const { return source_.ToCString(); }
 
   virtual int64_t GetValue(DeoptContext* deopt_context) {
     return static_cast<int64_t>(source_.Value<T>(deopt_context));
@@ -634,23 +611,17 @@
 typedef DeoptIntInstr<DeoptInstr::kMint, int64_t> DeoptMintInstr;
 
 
-template<DeoptInstr::Kind K,
-         typename Type,
-         typename RawObjectType>
-class DeoptFpuInstr: public DeoptInstr {
+template <DeoptInstr::Kind K, typename Type, typename RawObjectType>
+class DeoptFpuInstr : public DeoptInstr {
  public:
-  explicit DeoptFpuInstr(intptr_t source_index)
-      : source_(source_index) {}
+  explicit DeoptFpuInstr(intptr_t source_index) : source_(source_index) {}
 
-  explicit DeoptFpuInstr(const FpuRegisterSource& source)
-      : source_(source) {}
+  explicit DeoptFpuInstr(const FpuRegisterSource& source) : source_(source) {}
 
   virtual intptr_t source_index() const { return source_.source_index(); }
   virtual DeoptInstr::Kind kind() const { return K; }
 
-  virtual const char* ArgumentsToCString() const {
-    return source_.ToCString();
-  }
+  virtual const char* ArgumentsToCString() const { return source_.ToCString(); }
 
   void Execute(DeoptContext* deopt_context, intptr_t* dest_addr) {
     *dest_addr = Smi::RawValue(0);
@@ -690,17 +661,18 @@
   virtual DeoptInstr::Kind kind() const { return kPcMarker; }
 
   virtual const char* ArgumentsToCString() const {
-    return Thread::Current()->zone()->PrintToString(
-        "%" Pd "", object_table_index_);
+    return Thread::Current()->zone()->PrintToString("%" Pd "",
+                                                    object_table_index_);
   }
 
   void Execute(DeoptContext* deopt_context, intptr_t* dest_addr) {
     Function& function = Function::Handle(deopt_context->zone());
     function ^= deopt_context->ObjectAt(object_table_index_);
     if (function.IsNull()) {
-      *reinterpret_cast<RawObject**>(dest_addr) = deopt_context->is_lazy_deopt()
-          ? StubCode::DeoptimizeLazyFromReturn_entry()->code()
-          : StubCode::Deoptimize_entry()->code();
+      *reinterpret_cast<RawObject**>(dest_addr) =
+          deopt_context->is_lazy_deopt()
+              ? StubCode::DeoptimizeLazyFromReturn_entry()->code()
+              : StubCode::Deoptimize_entry()->code();
       return;
     }
 
@@ -734,14 +706,14 @@
   virtual DeoptInstr::Kind kind() const { return kPp; }
 
   virtual const char* ArgumentsToCString() const {
-    return Thread::Current()->zone()->PrintToString(
-        "%" Pd "", object_table_index_);
+    return Thread::Current()->zone()->PrintToString("%" Pd "",
+                                                    object_table_index_);
   }
 
   void Execute(DeoptContext* deopt_context, intptr_t* dest_addr) {
     *dest_addr = Smi::RawValue(0);
-    deopt_context->DeferPpMaterialization(object_table_index_,
-        reinterpret_cast<RawObject**>(dest_addr));
+    deopt_context->DeferPpMaterialization(
+        object_table_index_, reinterpret_cast<RawObject**>(dest_addr));
   }
 
  private:
@@ -761,8 +733,8 @@
 
   void Execute(DeoptContext* deopt_context, intptr_t* dest_addr) {
     *dest_addr = deopt_context->GetCallerFp();
-    deopt_context->SetCallerFp(reinterpret_cast<intptr_t>(
-        dest_addr - kSavedCallerFpSlotFromFp));
+    deopt_context->SetCallerFp(
+        reinterpret_cast<intptr_t>(dest_addr - kSavedCallerFpSlotFromFp));
   }
 
  private:
@@ -809,8 +781,7 @@
 // stack slot.
 class DeoptMaterializedObjectRefInstr : public DeoptInstr {
  public:
-  explicit DeoptMaterializedObjectRefInstr(intptr_t index)
-      : index_(index) {
+  explicit DeoptMaterializedObjectRefInstr(intptr_t index) : index_(index) {
     ASSERT(index >= 0);
   }
 
@@ -818,14 +789,12 @@
   virtual DeoptInstr::Kind kind() const { return kMaterializedObjectRef; }
 
   virtual const char* ArgumentsToCString() const {
-    return Thread::Current()->zone()->PrintToString(
-        "#%" Pd "", index_);
+    return Thread::Current()->zone()->PrintToString("#%" Pd "", index_);
   }
 
   void Execute(DeoptContext* deopt_context, intptr_t* dest_addr) {
     *reinterpret_cast<RawSmi**>(dest_addr) = Smi::New(0);
-    deopt_context->DeferMaterializedObjectRef(
-        index_, dest_addr);
+    deopt_context->DeferMaterializedObjectRef(index_, dest_addr);
   }
 
  private:
@@ -849,8 +818,7 @@
   virtual DeoptInstr::Kind kind() const { return kMaterializeObject; }
 
   virtual const char* ArgumentsToCString() const {
-    return Thread::Current()->zone()->PrintToString(
-        "%" Pd "", field_count_);
+    return Thread::Current()->zone()->PrintToString("%" Pd "", field_count_);
   }
 
   void Execute(DeoptContext* deopt_context, intptr_t* dest_addr) {
@@ -880,8 +848,8 @@
   Function& function = Function::Handle(zone);
   function ^= object_table.ObjectAt(ret_address_instr->object_table_index());
   ASSERT(code != NULL);
-  const Error& error = Error::Handle(zone,
-      Compiler::EnsureUnoptimizedCode(thread, function));
+  const Error& error =
+      Error::Handle(zone, Compiler::EnsureUnoptimizedCode(thread, function));
   if (!error.IsNull()) {
     Exceptions::PropagateError(error);
   }
@@ -986,11 +954,11 @@
  public:
   // Construct the root node representing the implicit "shared" terminator
   // at the end of each deopt info.
-  TrieNode() : instruction_(NULL), info_number_(-1), children_(16) { }
+  TrieNode() : instruction_(NULL), info_number_(-1), children_(16) {}
 
   // Construct a node representing a written instruction.
   TrieNode(DeoptInstr* instruction, intptr_t info_number)
-      : instruction_(instruction), info_number_(info_number), children_(4) { }
+      : instruction_(instruction), info_number_(info_number), children_(4) {}
 
   intptr_t info_number() const { return info_number_; }
 
@@ -1008,7 +976,7 @@
 
  private:
   const DeoptInstr* instruction_;  // Instruction that was written.
-  const intptr_t info_number_;  // Index of the deopt info it was written to.
+  const intptr_t info_number_;     // Index of the deopt info it was written to.
 
   GrowableArray<TrieNode*> children_;
 };
@@ -1021,11 +989,10 @@
       instructions_(),
       num_args_(num_args),
       assembler_(assembler),
-      trie_root_(new(zone) TrieNode()),
+      trie_root_(new (zone) TrieNode()),
       current_info_number_(0),
       frame_start_(-1),
-      materializations_() {
-}
+      materializations_() {}
 
 
 intptr_t DeoptInfoBuilder::FindOrAddObjectInTable(const Object& obj) const {
@@ -1035,9 +1002,9 @@
 
 intptr_t DeoptInfoBuilder::CalculateStackIndex(
     const Location& source_loc) const {
-  return source_loc.stack_index() < 0 ?
-            source_loc.stack_index() + num_args_ :
-            source_loc.stack_index() + num_args_ + kDartFrameFixedSize;
+  return source_loc.stack_index() < 0
+             ? source_loc.stack_index() + num_args_
+             : source_loc.stack_index() + num_args_ + kDartFrameFixedSize;
 }
 
 
@@ -1046,15 +1013,15 @@
     return CpuRegisterSource(CpuRegisterSource::kRegister, loc.reg());
   } else {
     ASSERT(loc.IsStackSlot());
-    return CpuRegisterSource(
-        CpuRegisterSource::kStackSlot, CalculateStackIndex(loc));
+    return CpuRegisterSource(CpuRegisterSource::kStackSlot,
+                             CalculateStackIndex(loc));
   }
 }
 
 
 FpuRegisterSource DeoptInfoBuilder::ToFpuRegisterSource(
-  const Location& loc,
-  Location::Kind stack_slot_kind) {
+    const Location& loc,
+    Location::Kind stack_slot_kind) {
   if (loc.IsFpuRegister()) {
     return FpuRegisterSource(FpuRegisterSource::kRegister, loc.fpu_reg());
 #if defined(TARGET_ARCH_DBC)
@@ -1065,8 +1032,8 @@
     ASSERT((stack_slot_kind == Location::kQuadStackSlot) ||
            (stack_slot_kind == Location::kDoubleStackSlot));
     ASSERT(loc.kind() == stack_slot_kind);
-    return FpuRegisterSource(
-        FpuRegisterSource::kStackSlot, CalculateStackIndex(loc));
+    return FpuRegisterSource(FpuRegisterSource::kStackSlot,
+                             CalculateStackIndex(loc));
   }
 }
 
@@ -1075,8 +1042,8 @@
                                         intptr_t dest_index) {
   const intptr_t object_table_index = FindOrAddObjectInTable(function);
   ASSERT(dest_index == FrameSize());
-  instructions_.Add(
-      new(zone()) DeoptRetAddressInstr(object_table_index, deopt_id));
+  instructions_.Add(new (zone())
+                        DeoptRetAddressInstr(object_table_index, deopt_id));
 }
 
 
@@ -1084,15 +1051,14 @@
                                    intptr_t dest_index) {
   intptr_t object_table_index = FindOrAddObjectInTable(function);
   ASSERT(dest_index == FrameSize());
-  instructions_.Add(new(zone()) DeoptPcMarkerInstr(object_table_index));
+  instructions_.Add(new (zone()) DeoptPcMarkerInstr(object_table_index));
 }
 
 
-void DeoptInfoBuilder::AddPp(const Function& function,
-                             intptr_t dest_index) {
+void DeoptInfoBuilder::AddPp(const Function& function, intptr_t dest_index) {
   intptr_t object_table_index = FindOrAddObjectInTable(function);
   ASSERT(dest_index == FrameSize());
-  instructions_.Add(new(zone()) DeoptPpInstr(object_table_index));
+  instructions_.Add(new (zone()) DeoptPpInstr(object_table_index));
 }
 
 
@@ -1102,55 +1068,55 @@
   DeoptInstr* deopt_instr = NULL;
   if (source_loc.IsConstant()) {
     intptr_t object_table_index = FindOrAddObjectInTable(source_loc.constant());
-    deopt_instr = new(zone()) DeoptConstantInstr(object_table_index);
+    deopt_instr = new (zone()) DeoptConstantInstr(object_table_index);
   } else if (source_loc.IsInvalid() &&
              value->definition()->IsMaterializeObject()) {
-    const intptr_t index = FindMaterialization(
-        value->definition()->AsMaterializeObject());
+    const intptr_t index =
+        FindMaterialization(value->definition()->AsMaterializeObject());
     ASSERT(index >= 0);
-    deopt_instr = new(zone()) DeoptMaterializedObjectRefInstr(index);
+    deopt_instr = new (zone()) DeoptMaterializedObjectRefInstr(index);
   } else {
     ASSERT(!source_loc.IsInvalid());
     switch (value->definition()->representation()) {
       case kTagged:
-        deopt_instr = new(zone()) DeoptWordInstr(
-          ToCpuRegisterSource(source_loc));
+        deopt_instr =
+            new (zone()) DeoptWordInstr(ToCpuRegisterSource(source_loc));
         break;
       case kUnboxedMint: {
         if (source_loc.IsPairLocation()) {
           PairLocation* pair = source_loc.AsPairLocation();
-          deopt_instr = new(zone()) DeoptMintPairInstr(
-              ToCpuRegisterSource(pair->At(0)),
-              ToCpuRegisterSource(pair->At(1)));
+          deopt_instr =
+              new (zone()) DeoptMintPairInstr(ToCpuRegisterSource(pair->At(0)),
+                                              ToCpuRegisterSource(pair->At(1)));
         } else {
           ASSERT(!source_loc.IsPairLocation());
-          deopt_instr = new(zone()) DeoptMintInstr(
-              ToCpuRegisterSource(source_loc));
+          deopt_instr =
+              new (zone()) DeoptMintInstr(ToCpuRegisterSource(source_loc));
         }
         break;
       }
       case kUnboxedInt32:
-        deopt_instr = new(zone()) DeoptInt32Instr(
-            ToCpuRegisterSource(source_loc));
+        deopt_instr =
+            new (zone()) DeoptInt32Instr(ToCpuRegisterSource(source_loc));
         break;
       case kUnboxedUint32:
-        deopt_instr = new(zone()) DeoptUint32Instr(
-            ToCpuRegisterSource(source_loc));
+        deopt_instr =
+            new (zone()) DeoptUint32Instr(ToCpuRegisterSource(source_loc));
         break;
       case kUnboxedDouble:
-        deopt_instr = new(zone()) DeoptDoubleInstr(
+        deopt_instr = new (zone()) DeoptDoubleInstr(
             ToFpuRegisterSource(source_loc, Location::kDoubleStackSlot));
         break;
       case kUnboxedFloat32x4:
-        deopt_instr = new(zone()) DeoptFloat32x4Instr(
+        deopt_instr = new (zone()) DeoptFloat32x4Instr(
             ToFpuRegisterSource(source_loc, Location::kQuadStackSlot));
         break;
       case kUnboxedFloat64x2:
-        deopt_instr = new(zone()) DeoptFloat64x2Instr(
+        deopt_instr = new (zone()) DeoptFloat64x2Instr(
             ToFpuRegisterSource(source_loc, Location::kQuadStackSlot));
         break;
       case kUnboxedInt32x4:
-        deopt_instr = new(zone()) DeoptInt32x4Instr(
+        deopt_instr = new (zone()) DeoptInt32x4Instr(
             ToFpuRegisterSource(source_loc, Location::kQuadStackSlot));
         break;
       default:
@@ -1166,26 +1132,26 @@
 
 void DeoptInfoBuilder::AddCallerFp(intptr_t dest_index) {
   ASSERT(dest_index == FrameSize());
-  instructions_.Add(new(zone()) DeoptCallerFpInstr());
+  instructions_.Add(new (zone()) DeoptCallerFpInstr());
 }
 
 
 void DeoptInfoBuilder::AddCallerPp(intptr_t dest_index) {
   ASSERT(dest_index == FrameSize());
-  instructions_.Add(new(zone()) DeoptCallerPpInstr());
+  instructions_.Add(new (zone()) DeoptCallerPpInstr());
 }
 
 
 void DeoptInfoBuilder::AddCallerPc(intptr_t dest_index) {
   ASSERT(dest_index == FrameSize());
-  instructions_.Add(new(zone()) DeoptCallerPcInstr());
+  instructions_.Add(new (zone()) DeoptCallerPcInstr());
 }
 
 
 void DeoptInfoBuilder::AddConstant(const Object& obj, intptr_t dest_index) {
   ASSERT(dest_index == FrameSize());
   intptr_t object_table_index = FindOrAddObjectInTable(obj);
-  instructions_.Add(new(zone()) DeoptConstantInstr(object_table_index));
+  instructions_.Add(new (zone()) DeoptConstantInstr(object_table_index));
 }
 
 
@@ -1206,12 +1172,11 @@
     }
   }
 
-  instructions_.Add(
-      new(zone()) DeoptMaterializeObjectInstr(non_null_fields));
+  instructions_.Add(new (zone()) DeoptMaterializeObjectInstr(non_null_fields));
 
   for (intptr_t i = 0; i < mat->InputCount(); i++) {
-    MaterializeObjectInstr* nested_mat = mat->InputAt(i)->definition()->
-        AsMaterializeObject();
+    MaterializeObjectInstr* nested_mat =
+        mat->InputAt(i)->definition()->AsMaterializeObject();
     if (nested_mat != NULL) {
       AddMaterialization(nested_mat);
     }
@@ -1253,8 +1218,7 @@
 static uint8_t* ZoneReAlloc(uint8_t* ptr,
                             intptr_t old_size,
                             intptr_t new_size) {
-  return Thread::Current()->zone()->Realloc<uint8_t>(
-      ptr, old_size, new_size);
+  return Thread::Current()->zone()->Realloc<uint8_t>(ptr, old_size, new_size);
 }
 
 
@@ -1303,22 +1267,21 @@
     Writer::Write(&stream, instr->kind());
     Writer::Write(&stream, instr->source_index());
 
-    TrieNode* child = new(zone()) TrieNode(instr, current_info_number_);
+    TrieNode* child = new (zone()) TrieNode(instr, current_info_number_);
     node->AddChild(child);
     node = child;
   }
 
-  const TypedData& deopt_info = TypedData::Handle(zone(), TypedData::New(
-      kTypedDataUint8ArrayCid, stream.bytes_written(), Heap::kOld));
+  const TypedData& deopt_info = TypedData::Handle(
+      zone(), TypedData::New(kTypedDataUint8ArrayCid, stream.bytes_written(),
+                             Heap::kOld));
   {
     NoSafepointScope no_safepoint;
-    memmove(deopt_info.DataAddr(0),
-            stream.buffer(),
-            stream.bytes_written());
+    memmove(deopt_info.DataAddr(0), stream.buffer(), stream.bytes_written());
   }
 
-  ASSERT(DeoptInfo::VerifyDecompression(
-      instructions_, deopt_table, deopt_info));
+  ASSERT(
+      DeoptInfo::VerifyDecompression(instructions_, deopt_table, deopt_info));
   instructions_.Clear();
   materializations_.Clear();
   frame_start_ = -1;
diff --git a/runtime/vm/deopt_instructions.h b/runtime/vm/deopt_instructions.h
index ee1a052..01a6974 100644
--- a/runtime/vm/deopt_instructions.h
+++ b/runtime/vm/deopt_instructions.h
@@ -29,8 +29,8 @@
 class DeoptContext {
  public:
   enum DestFrameOptions {
-    kDestIsOriginalFrame,   // Replace the original frame with deopt frame.
-    kDestIsAllocated        // Write deopt frame to a buffer.
+    kDestIsOriginalFrame,  // Replace the original frame with deopt frame.
+    kDestIsAllocated       // Write deopt frame to a buffer.
   };
 
   // If 'deoptimizing_code' is false, only frame is being deoptimized.
@@ -116,8 +116,8 @@
 #if !defined(TARGET_ARCH_DBC)
     // SP of the deoptimization frame is the lowest slot because
     // stack is growing downwards.
-    return reinterpret_cast<intptr_t*>(
-      frame->sp() - (kDartFrameFixedSize * kWordSize));
+    return reinterpret_cast<intptr_t*>(frame->sp() -
+                                       (kDartFrameFixedSize * kWordSize));
 #else
     // First argument is the lowest slot because stack is growing upwards.
     return reinterpret_cast<intptr_t*>(
@@ -163,61 +163,44 @@
 
   void DeferMaterializedObjectRef(intptr_t idx, intptr_t* slot) {
     deferred_slots_ = new DeferredObjectRef(
-        idx,
-        reinterpret_cast<RawObject**>(slot),
-        deferred_slots_);
+        idx, reinterpret_cast<RawObject**>(slot), deferred_slots_);
   }
 
   void DeferMaterialization(double value, RawDouble** slot) {
     deferred_slots_ = new DeferredDouble(
-        value,
-        reinterpret_cast<RawObject**>(slot),
-        deferred_slots_);
+        value, reinterpret_cast<RawObject**>(slot), deferred_slots_);
   }
 
   void DeferMintMaterialization(int64_t value, RawMint** slot) {
     deferred_slots_ = new DeferredMint(
-        value,
-        reinterpret_cast<RawObject**>(slot),
-        deferred_slots_);
+        value, reinterpret_cast<RawObject**>(slot), deferred_slots_);
   }
 
   void DeferMaterialization(simd128_value_t value, RawFloat32x4** slot) {
     deferred_slots_ = new DeferredFloat32x4(
-        value,
-        reinterpret_cast<RawObject**>(slot),
-        deferred_slots_);
+        value, reinterpret_cast<RawObject**>(slot), deferred_slots_);
   }
 
   void DeferMaterialization(simd128_value_t value, RawFloat64x2** slot) {
     deferred_slots_ = new DeferredFloat64x2(
-        value,
-        reinterpret_cast<RawObject**>(slot),
-        deferred_slots_);
+        value, reinterpret_cast<RawObject**>(slot), deferred_slots_);
   }
 
   void DeferMaterialization(simd128_value_t value, RawInt32x4** slot) {
     deferred_slots_ = new DeferredInt32x4(
-        value,
-        reinterpret_cast<RawObject**>(slot),
-        deferred_slots_);
+        value, reinterpret_cast<RawObject**>(slot), deferred_slots_);
   }
 
   void DeferRetAddrMaterialization(intptr_t index,
                                    intptr_t deopt_id,
                                    intptr_t* slot) {
     deferred_slots_ = new DeferredRetAddr(
-        index,
-        deopt_id,
-        reinterpret_cast<RawObject**>(slot),
-        deferred_slots_);
+        index, deopt_id, reinterpret_cast<RawObject**>(slot), deferred_slots_);
   }
 
   void DeferPcMarkerMaterialization(intptr_t index, intptr_t* slot) {
     deferred_slots_ = new DeferredPcMarker(
-        index,
-        reinterpret_cast<RawObject**>(slot),
-        deferred_slots_);
+        index, reinterpret_cast<RawObject**>(slot), deferred_slots_);
   }
 
   void DeferPpMaterialization(intptr_t index, RawObject** slot) {
@@ -257,9 +240,7 @@
     deferred_objects_[idx] = object;
   }
 
-  intptr_t DeferredObjectsCount() const {
-    return deferred_objects_count_;
-  }
+  intptr_t DeferredObjectsCount() const { return deferred_objects_count_; }
 
   RawCode* code_;
   RawObjectPool* object_pool_;
@@ -291,7 +272,6 @@
 };
 
 
-
 // Represents one deopt instruction, e.g, setup return address, store object,
 // store register, etc. The target is defined by instruction's position in
 // the deopt-info array.
@@ -363,9 +343,7 @@
 
   virtual intptr_t source_index() const = 0;
 
-  virtual const char* ArgumentsToCString() const {
-    return NULL;
-  }
+  virtual const char* ArgumentsToCString() const { return NULL; }
 
  private:
   static const char* KindToCString(Kind kind);
@@ -378,17 +356,17 @@
 // the DeoptContext as the specified type.
 // It calls different method depending on which kind of register (cpu/fpu) and
 // destination types are specified.
-template<typename RegisterType, typename DestinationType>
+template <typename RegisterType, typename DestinationType>
 struct RegisterReader;
 
-template<typename T>
+template <typename T>
 struct RegisterReader<Register, T> {
   static intptr_t Read(DeoptContext* context, Register reg) {
     return context->RegisterValue(reg);
   }
 };
 
-template<>
+template <>
 struct RegisterReader<FpuRegister, double> {
   static double Read(DeoptContext* context, FpuRegister reg) {
     return context->FpuRegisterValue(reg);
@@ -396,7 +374,7 @@
 };
 
 
-template<>
+template <>
 struct RegisterReader<FpuRegister, simd128_value_t> {
   static simd128_value_t Read(DeoptContext* context, FpuRegister reg) {
     return context->FpuRegisterValueAsSimd128(reg);
@@ -407,7 +385,7 @@
 // Class that encapsulates reading and writing of values that were either in
 // the registers in the optimized code or were spilled from those registers
 // to the stack.
-template<typename RegisterType>
+template <typename RegisterType>
 class RegisterSource {
  public:
   enum Kind {
@@ -418,20 +396,19 @@
   };
 
   explicit RegisterSource(intptr_t source_index)
-      : source_index_(source_index) { }
+      : source_index_(source_index) {}
 
   RegisterSource(Kind kind, intptr_t index)
-      : source_index_(KindField::encode(kind) | RawIndexField::encode(index)) {
-  }
+      : source_index_(KindField::encode(kind) | RawIndexField::encode(index)) {}
 
-  template<typename T>
+  template <typename T>
   T Value(DeoptContext* context) const {
     if (is_register()) {
-      return static_cast<T>(RegisterReader<RegisterType, T>::Read(
-        context, reg()));
+      return static_cast<T>(
+          RegisterReader<RegisterType, T>::Read(context, reg()));
     } else {
-      return *reinterpret_cast<T*>(context->GetSourceFrameAddressAt(
-          raw_index()));
+      return *reinterpret_cast<T*>(
+          context->GetSourceFrameAddressAt(raw_index()));
     }
   }
 
@@ -441,15 +418,14 @@
     if (is_register()) {
       return Name(reg());
     } else {
-      return Thread::Current()->zone()->PrintToString(
-          "s%" Pd "", raw_index());
+      return Thread::Current()->zone()->PrintToString("s%" Pd "", raw_index());
     }
   }
 
  private:
-  class KindField : public BitField<intptr_t, intptr_t, 0, 1> { };
-  class RawIndexField :
-      public BitField<intptr_t, intptr_t, 1, kBitsPerWord - 1> { };
+  class KindField : public BitField<intptr_t, intptr_t, 0, 1> {};
+  class RawIndexField
+      : public BitField<intptr_t, intptr_t, 1, kBitsPerWord - 1> {};
 
   bool is_register() const {
     return KindField::decode(source_index_) == kRegister;
@@ -458,9 +434,7 @@
 
   RegisterType reg() const { return static_cast<RegisterType>(raw_index()); }
 
-  static const char* Name(Register reg) {
-    return Assembler::RegisterName(reg);
-  }
+  static const char* Name(Register reg) { return Assembler::RegisterName(reg); }
 
   static const char* Name(FpuRegister fpu_reg) {
     return Assembler::FpuRegisterName(fpu_reg);
@@ -525,8 +499,9 @@
   class TrieNode;
 
   CpuRegisterSource ToCpuRegisterSource(const Location& loc);
-  FpuRegisterSource ToFpuRegisterSource(const Location& loc,
-                                      Location::Kind expected_stack_slot_kind);
+  FpuRegisterSource ToFpuRegisterSource(
+      const Location& loc,
+      Location::Kind expected_stack_slot_kind);
 
   intptr_t FindOrAddObjectInTable(const Object& obj) const;
   intptr_t FindMaterialization(MaterializeObjectInstr* mat) const;
@@ -591,13 +566,11 @@
 
   static RawSmi* EncodeReasonAndFlags(ICData::DeoptReasonId reason,
                                       uint32_t flags) {
-    return Smi::New(ReasonField::encode(reason) |
-                    FlagsField::encode(flags));
+    return Smi::New(ReasonField::encode(reason) | FlagsField::encode(flags));
   }
 
-  class ReasonField :
-      public BitField<intptr_t, ICData::DeoptReasonId, 0, 8> { };
-  class FlagsField : public BitField<intptr_t, uint32_t, 8, 8> { };
+  class ReasonField : public BitField<intptr_t, ICData::DeoptReasonId, 0, 8> {};
+  class FlagsField : public BitField<intptr_t, uint32_t, 8, 8> {};
 
  private:
   static const intptr_t kEntrySize = 3;
diff --git a/runtime/vm/disassembler.cc b/runtime/vm/disassembler.cc
index 1b62540..235fcfe 100644
--- a/runtime/vm/disassembler.cc
+++ b/runtime/vm/disassembler.cc
@@ -81,7 +81,7 @@
   va_start(args, format);
   intptr_t len = OS::VSNPrint(NULL, 0, format, args);
   va_end(args);
-  char* p = reinterpret_cast<char*>(malloc(len+1));
+  char* p = reinterpret_cast<char*>(malloc(len + 1));
   va_start(args, format);
   intptr_t len2 = OS::VSNPrint(p, len, format, args);
   va_end(args);
@@ -146,31 +146,25 @@
     }
     int instruction_length;
     Object* object;
-    DecodeInstruction(hex_buffer,
-                      sizeof(hex_buffer),
-                      human_buffer,
-                      sizeof(human_buffer),
-                      &instruction_length, code, &object, pc);
-    formatter->ConsumeInstruction(code,
-                                  hex_buffer,
-                                  sizeof(hex_buffer),
-                                  human_buffer,
-                                  sizeof(human_buffer),
-                                  object,
+    DecodeInstruction(hex_buffer, sizeof(hex_buffer), human_buffer,
+                      sizeof(human_buffer), &instruction_length, code, &object,
+                      pc);
+    formatter->ConsumeInstruction(code, hex_buffer, sizeof(hex_buffer),
+                                  human_buffer, sizeof(human_buffer), object,
                                   pc);
     pc += instruction_length;
   }
 }
 
 
-void Disassembler::DisassembleCodeHelper(
-    const char* function_fullname, const Code& code, bool optimized) {
+void Disassembler::DisassembleCodeHelper(const char* function_fullname,
+                                         const Code& code,
+                                         bool optimized) {
   LocalVarDescriptors& var_descriptors = LocalVarDescriptors::Handle();
   if (FLAG_print_variable_descriptors) {
     var_descriptors = code.GetLocalVarDescriptors();
   }
-  THR_Print("Code for %sfunction '%s' {\n",
-            optimized ? "optimized " : "",
+  THR_Print("Code for %sfunction '%s' {\n", optimized ? "optimized " : "",
             function_fullname);
   code.Disassemble();
   THR_Print("}\n");
@@ -182,8 +176,8 @@
   for (intptr_t i = code.pointer_offsets_length() - 1; i >= 0; i--) {
     const uword addr = code.GetPointerOffsetAt(i) + code.PayloadStart();
     obj = *reinterpret_cast<RawObject**>(addr);
-    THR_Print(" %d : %#" Px " '%s'\n",
-              code.GetPointerOffsetAt(i), addr, obj.ToCString());
+    THR_Print(" %d : %#" Px " '%s'\n", code.GetPointerOffsetAt(i), addr,
+              obj.ToCString());
   }
   THR_Print("}\n");
 #else
@@ -212,12 +206,10 @@
       const intptr_t reason =
           DeoptTable::ReasonField::decode(reason_and_flags.Value());
       ASSERT((0 <= reason) && (reason < ICData::kDeoptNumReasons));
-      THR_Print("%4" Pd ": 0x%" Px "  %s  (%s)\n",
-                i,
-                start + offset.Value(),
-                DeoptInfo::ToCString(deopt_table, info),
-                DeoptReasonToCString(
-                    static_cast<ICData::DeoptReasonId>(reason)));
+      THR_Print(
+          "%4" Pd ": 0x%" Px "  %s  (%s)\n", i, start + offset.Value(),
+          DeoptInfo::ToCString(deopt_table, info),
+          DeoptReasonToCString(static_cast<ICData::DeoptReasonId>(reason)));
     }
     THR_Print("}\n");
   }
@@ -234,8 +226,7 @@
   THR_Print("}\n");
 
   if (FLAG_print_variable_descriptors) {
-    THR_Print("Variable Descriptors for function '%s' {\n",
-              function_fullname);
+    THR_Print("Variable Descriptors for function '%s' {\n", function_fullname);
     intptr_t var_desc_length =
         var_descriptors.IsNull() ? 0 : var_descriptors.Length();
     String& var_name = String::Handle();
@@ -249,17 +240,17 @@
       } else {
         if (kind == RawLocalVarDescriptors::kContextLevel) {
           THR_Print("  context level %d scope %d", var_info.index(),
-              var_info.scope_id);
+                    var_info.scope_id);
         } else if (kind == RawLocalVarDescriptors::kStackVar) {
-          THR_Print("  stack var '%s' offset %d",
-            var_name.ToCString(), var_info.index());
+          THR_Print("  stack var '%s' offset %d", var_name.ToCString(),
+                    var_info.index());
         } else {
           ASSERT(kind == RawLocalVarDescriptors::kContextVar);
           THR_Print("  context var '%s' level %d offset %d",
-              var_name.ToCString(), var_info.scope_id, var_info.index());
+                    var_name.ToCString(), var_info.scope_id, var_info.index());
         }
         THR_Print(" (valid %s-%s)\n", var_info.begin_pos.ToCString(),
-                                      var_info.end_pos.ToCString());
+                  var_info.end_pos.ToCString());
       }
     }
     THR_Print("}\n");
@@ -267,7 +258,7 @@
 
   THR_Print("Exception Handlers for function '%s' {\n", function_fullname);
   const ExceptionHandlers& handlers =
-        ExceptionHandlers::Handle(code.exception_handlers());
+      ExceptionHandlers::Handle(code.exception_handlers());
   THR_Print("%s}\n", handlers.ToCString());
 
   {
@@ -277,7 +268,7 @@
     Function& function = Function::Handle();
     Code& code = Code::Handle();
     for (intptr_t i = 0; i < table.Length();
-        i += Code::kSCallTableEntryLength) {
+         i += Code::kSCallTableEntryLength) {
       offset ^= table.At(i + Code::kSCallTableOffsetEntry);
       function ^= table.At(i + Code::kSCallTableFunctionEntry);
       code ^= table.At(i + Code::kSCallTableCodeEntry);
@@ -285,21 +276,15 @@
         Class& cls = Class::Handle();
         cls ^= code.owner();
         if (cls.IsNull()) {
-          THR_Print("  0x%" Px ": %s, %p\n",
-              start + offset.Value(),
-              code.Name(),
-              code.raw());
+          THR_Print("  0x%" Px ": %s, %p\n", start + offset.Value(),
+                    code.Name(), code.raw());
         } else {
           THR_Print("  0x%" Px ": allocation stub for %s, %p\n",
-              start + offset.Value(),
-              cls.ToCString(),
-              code.raw());
+                    start + offset.Value(), cls.ToCString(), code.raw());
         }
       } else {
-        THR_Print("  0x%" Px ": %s, %p\n",
-            start + offset.Value(),
-            function.ToFullyQualifiedCString(),
-            code.raw());
+        THR_Print("  0x%" Px ": %s, %p\n", start + offset.Value(),
+                  function.ToFullyQualifiedCString(), code.raw());
       }
     }
     THR_Print("}\n");
@@ -317,8 +302,8 @@
 }
 
 
-void Disassembler::DisassembleCodeUnoptimized(
-    const Function& function, bool optimized) {
+void Disassembler::DisassembleCodeUnoptimized(const Function& function,
+                                              bool optimized) {
   const char* function_fullname = function.ToFullyQualifiedCString();
   const Code& code = Code::Handle(function.unoptimized_code());
   DisassembleCodeHelper(function_fullname, code, optimized);
diff --git a/runtime/vm/disassembler.h b/runtime/vm/disassembler.h
index e26a214..283f16e 100644
--- a/runtime/vm/disassembler.h
+++ b/runtime/vm/disassembler.h
@@ -20,8 +20,8 @@
 // disassembled instructions in any desired form.
 class DisassemblyFormatter {
  public:
-  DisassemblyFormatter() { }
-  virtual ~DisassemblyFormatter() { }
+  DisassemblyFormatter() {}
+  virtual ~DisassemblyFormatter() {}
 
   // Consume the decoded instruction at the given pc.
   virtual void ConsumeInstruction(const Code& code,
@@ -41,8 +41,8 @@
 // to stdout.
 class DisassembleToStdout : public DisassemblyFormatter {
  public:
-  DisassembleToStdout() : DisassemblyFormatter() { }
-  ~DisassembleToStdout() { }
+  DisassembleToStdout() : DisassemblyFormatter() {}
+  ~DisassembleToStdout() {}
 
   virtual void ConsumeInstruction(const Code& code,
                                   char* hex_buffer,
@@ -64,8 +64,8 @@
 class DisassembleToJSONStream : public DisassemblyFormatter {
  public:
   explicit DisassembleToJSONStream(const JSONArray& jsarr)
-      : DisassemblyFormatter(), jsarr_(jsarr) { }
-  ~DisassembleToJSONStream() { }
+      : DisassemblyFormatter(), jsarr_(jsarr) {}
+  ~DisassembleToJSONStream() {}
 
   virtual void ConsumeInstruction(const Code& code,
                                   char* hex_buffer,
@@ -101,9 +101,7 @@
     Disassemble(start, end, formatter, Code::Handle());
   }
 
-  static void Disassemble(uword start,
-                          uword end,
-                          const Code& code) {
+  static void Disassemble(uword start, uword end, const Code& code) {
     DisassembleToStdout stdout_formatter;
     LogBlock lb;
     Disassemble(start, end, &stdout_formatter, code);
@@ -119,18 +117,23 @@
   // Writes a hexadecimal representation into the hex_buffer and a
   // human-readable representation into the human_buffer.
   // Writes the length of the decoded instruction in bytes in out_instr_len.
-  static void DecodeInstruction(char* hex_buffer, intptr_t hex_size,
-                                char* human_buffer, intptr_t human_size,
-                                int* out_instr_len, const Code& code,
-                                Object** object, uword pc);
+  static void DecodeInstruction(char* hex_buffer,
+                                intptr_t hex_size,
+                                char* human_buffer,
+                                intptr_t human_size,
+                                int* out_instr_len,
+                                const Code& code,
+                                Object** object,
+                                uword pc);
 
   static void DisassembleCode(const Function& function, bool optimized);
-  static void DisassembleCodeUnoptimized(
-      const Function& function, bool optimized);
+  static void DisassembleCodeUnoptimized(const Function& function,
+                                         bool optimized);
 
  private:
-  static void DisassembleCodeHelper(
-      const char* function_fullname, const Code& code, bool optimized);
+  static void DisassembleCodeHelper(const char* function_fullname,
+                                    const Code& code,
+                                    bool optimized);
 
   static const int kHexadecimalBufferSize = 32;
   static const int kUserReadableBufferSize = 256;
diff --git a/runtime/vm/disassembler_arm.cc b/runtime/vm/disassembler_arm.cc
index 6419c08..8c6d5fd 100644
--- a/runtime/vm/disassembler_arm.cc
+++ b/runtime/vm/disassembler_arm.cc
@@ -17,9 +17,7 @@
 class ARMDecoder : public ValueObject {
  public:
   ARMDecoder(char* buffer, size_t buffer_size)
-      : buffer_(buffer),
-        buffer_size_(buffer_size),
-        buffer_pos_(0) {
+      : buffer_(buffer), buffer_size_(buffer_size), buffer_pos_(0) {
     buffer_[buffer_pos_] = '\0';
   }
 
@@ -71,9 +69,9 @@
   char* current_position_in_buffer() { return buffer_ + buffer_pos_; }
   size_t remaining_size_in_buffer() { return buffer_size_ - buffer_pos_; }
 
-  char* buffer_;  // Decode instructions into this buffer.
+  char* buffer_;        // Decode instructions into this buffer.
   size_t buffer_size_;  // The size of the character buffer.
-  size_t buffer_pos_;  // Current character position in buffer.
+  size_t buffer_pos_;   // Current character position in buffer.
 
   DISALLOW_ALLOCATION();
   DISALLOW_COPY_AND_ASSIGN(ARMDecoder);
@@ -81,7 +79,7 @@
 
 
 // Support for assertions in the ARMDecoder formatting functions.
-#define STRING_STARTS_WITH(string, compare_string) \
+#define STRING_STARTS_WITH(string, compare_string)                             \
   (strncmp(string, compare_string, strlen(compare_string)) == 0)
 
 
@@ -99,8 +97,8 @@
 // These condition names are defined in a way to match the native disassembler
 // formatting. See for example the command "objdump -d <binary file>".
 static const char* cond_names[kMaxCondition] = {
-  "eq", "ne", "cs" , "cc" , "mi" , "pl" , "vs" , "vc" ,
-  "hi", "ls", "ge", "lt", "gt", "le", "", "invalid",
+    "eq", "ne", "cs", "cc", "mi", "pl", "vs", "vc",
+    "hi", "ls", "ge", "lt", "gt", "le", "",   "invalid",
 };
 
 
@@ -115,11 +113,11 @@
 // See for example the command "objdump -d <binary file>".
 static const char* reg_names[kNumberOfCpuRegisters] = {
 #if defined(TARGET_ABI_IOS)
-  "r0", "r1", "r2", "r3", "r4", "pp", "r6", "fp",
-  "r8", "r9", "thr", "r11", "ip", "sp", "lr", "pc",
+    "r0", "r1", "r2",  "r3",  "r4", "pp", "r6", "fp",
+    "r8", "r9", "thr", "r11", "ip", "sp", "lr", "pc",
 #elif defined(TARGET_ABI_EABI)
-  "r0", "r1", "r2", "r3", "r4", "pp", "r6", "r7",
-  "r8", "r9", "thr", "fp", "ip", "sp", "lr", "pc",
+    "r0", "r1", "r2",  "r3", "r4", "pp", "r6", "r7",
+    "r8", "r9", "thr", "fp", "ip", "sp", "lr", "pc",
 #else
 #error Unknown ABI
 #endif
@@ -138,8 +136,7 @@
   ASSERT(0 <= reg);
   ASSERT(reg < kNumberOfSRegisters);
   buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                             remaining_size_in_buffer(),
-                             "s%d", reg);
+                             remaining_size_in_buffer(), "s%d", reg);
 }
 
 
@@ -147,8 +144,7 @@
   ASSERT(0 <= reg);
   ASSERT(reg < kNumberOfDRegisters);
   buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                             remaining_size_in_buffer(),
-                             "d%d", reg);
+                             remaining_size_in_buffer(), "d%d", reg);
 }
 
 
@@ -156,16 +152,13 @@
   ASSERT(0 <= reg);
   ASSERT(reg < kNumberOfQRegisters);
   buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                             remaining_size_in_buffer(),
-                             "q%d", reg);
+                             remaining_size_in_buffer(), "q%d", reg);
 }
 
 
 // These shift names are defined in a way to match the native disassembler
 // formatting. See for example the command "objdump -d <binary file>".
-static const char* shift_names[kMaxShift] = {
-  "lsl", "lsr", "asr", "ror"
-};
+static const char* shift_names[kMaxShift] = {"lsl", "lsr", "asr", "ror"};
 
 
 // Print the register shift operands for the instruction. Generally used for
@@ -189,18 +182,15 @@
     } else if (((shift == LSR) || (shift == ASR)) && (shift_amount == 0)) {
       shift_amount = 32;
     }
-    buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                               remaining_size_in_buffer(),
-                               ", %s #%d",
-                               shift_names[shift],
-                               shift_amount);
+    buffer_pos_ +=
+        OS::SNPrint(current_position_in_buffer(), remaining_size_in_buffer(),
+                    ", %s #%d", shift_names[shift], shift_amount);
   } else {
     // by register
     int rs = instr->RsField();
-    buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                               remaining_size_in_buffer(),
-                              ", %s ",
-                              shift_names[shift]);
+    buffer_pos_ +=
+        OS::SNPrint(current_position_in_buffer(), remaining_size_in_buffer(),
+                    ", %s ", shift_names[shift]);
     PrintRegister(rs);
   }
 }
@@ -213,9 +203,7 @@
   int immed8 = instr->Immed8Field();
   int imm = (immed8 >> rotate) | (immed8 << (32 - rotate));
   buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                             remaining_size_in_buffer(),
-                             "#%d",
-                             imm);
+                             remaining_size_in_buffer(), "#%d", imm);
 }
 
 
@@ -437,10 +425,9 @@
         ASSERT(STRING_STARTS_WITH(format, "dest"));
         int off = (instr->SImmed24Field() << 2) + 8;
         uword destination = reinterpret_cast<uword>(instr) + off;
-        buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "%#" Px "",
-                                   destination);
+        buffer_pos_ +=
+            OS::SNPrint(current_position_in_buffer(),
+                        remaining_size_in_buffer(), "%#" Px "", destination);
         return 4;
       } else {
         return FormatDRegister(instr, format);
@@ -454,15 +441,13 @@
       if (format[3] == 'f') {
         ASSERT(STRING_STARTS_WITH(format, "immf"));
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "%f",
+                                   remaining_size_in_buffer(), "%f",
                                    instr->ImmFloatField());
         return 4;
       } else if (format[3] == 'd') {
         ASSERT(STRING_STARTS_WITH(format, "immd"));
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "%g",
+                                   remaining_size_in_buffer(), "%g",
                                    instr->ImmDoubleField());
         return 4;
       } else if (format[3] == '1') {
@@ -474,13 +459,14 @@
           ASSERT(STRING_STARTS_WITH(format, "imm4_vdup"));
           int32_t idx = -1;
           int32_t imm4 = instr->Bits(16, 4);
-          if ((imm4 & 1) != 0) idx = imm4 >> 1;
-          else if ((imm4 & 2) != 0) idx = imm4 >> 2;
-          else if ((imm4 & 4) != 0) idx = imm4 >> 3;
+          if ((imm4 & 1) != 0)
+            idx = imm4 >> 1;
+          else if ((imm4 & 2) != 0)
+            idx = imm4 >> 2;
+          else if ((imm4 & 4) != 0)
+            idx = imm4 >> 3;
           buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                     remaining_size_in_buffer(),
-                                     "%d",
-                                     idx);
+                                     remaining_size_in_buffer(), "%d", idx);
           return 9;
         } else {
           ASSERT(STRING_STARTS_WITH(format, "imm4_12"));
@@ -488,9 +474,7 @@
         }
       }
       buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                 remaining_size_in_buffer(),
-                                 "0x%x",
-                                 immed16);
+                                 remaining_size_in_buffer(), "0x%x", immed16);
       return 7;
     }
     case 'l': {  // 'l: branch and link
@@ -515,15 +499,13 @@
         if (format[4] == '0') {
           // 'off10: 10-bit offset for VFP load and store instructions
           buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                     remaining_size_in_buffer(),
-                                     "%d",
+                                     remaining_size_in_buffer(), "%d",
                                      instr->Bits(0, 8) << 2);
         } else {
           // 'off12: 12-bit offset for load and store instructions.
           ASSERT(STRING_STARTS_WITH(format, "off12"));
           buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                     remaining_size_in_buffer(),
-                                     "%d",
+                                     remaining_size_in_buffer(), "%d",
                                      instr->Offset12Field());
         }
         return 5;
@@ -532,9 +514,7 @@
       ASSERT(STRING_STARTS_WITH(format, "off8"));
       int offs8 = (instr->ImmedHField() << 4) | instr->ImmedLField();
       buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                 remaining_size_in_buffer(),
-                                 "%d",
-                                 offs8);
+                                 remaining_size_in_buffer(), "%d", offs8);
       return 4;
     }
     case 'p': {  // 'pu: P and U bits for load and store instructions.
@@ -546,7 +526,7 @@
       return FormatRegister(instr, format);
     }
     case 's': {
-      if (format[1] == 'h') {  // 'shift_op or 'shift_rm
+      if (format[1] == 'h') {    // 'shift_op or 'shift_rm
         if (format[6] == 'o') {  // 'shift_op
           ASSERT(STRING_STARTS_WITH(format, "shift_op"));
           if (instr->TypeField() == 0) {
@@ -563,26 +543,33 @@
         }
       } else if (format[1] == 'v') {  // 'svc
         ASSERT(STRING_STARTS_WITH(format, "svc"));
-        buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "0x%x",
-                                   instr->SvcField());
+        buffer_pos_ +=
+            OS::SNPrint(current_position_in_buffer(),
+                        remaining_size_in_buffer(), "0x%x", instr->SvcField());
         return 3;
       } else if (format[1] == 'z') {
         // 'sz: Size field of SIMD instructions.
         int sz = instr->Bits(20, 2);
         char const* sz_str;
         switch (sz) {
-          case 0: sz_str = "b"; break;
-          case 1: sz_str = "h"; break;
-          case 2: sz_str = "w"; break;
-          case 3: sz_str = "l"; break;
-          default: sz_str = "?"; break;
+          case 0:
+            sz_str = "b";
+            break;
+          case 1:
+            sz_str = "h";
+            break;
+          case 2:
+            sz_str = "w";
+            break;
+          case 3:
+            sz_str = "l";
+            break;
+          default:
+            sz_str = "?";
+            break;
         }
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "%s",
-                                   sz_str);
+                                   remaining_size_in_buffer(), "%s", sz_str);
         return 2;
       } else if (format[1] == ' ') {
         // 's: S field of data processing instructions.
@@ -598,9 +585,7 @@
       ASSERT(STRING_STARTS_WITH(format, "target"));
       int off = (instr->SImmed24Field() << 2) + 8;
       buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                 remaining_size_in_buffer(),
-                                 "%+d",
-                                 off);
+                                 remaining_size_in_buffer(), "%+d", off);
       return 6;
     }
     case 'u': {  // 'u: signed or unsigned multiplies.
@@ -654,7 +639,7 @@
     }
     cur = *format++;
   }
-  buffer_[buffer_pos_]  = '\0';
+  buffer_[buffer_pos_] = '\0';
 }
 
 
@@ -695,13 +680,12 @@
             if (instr->BkptField() == Instr::kStopMessageCode) {
               const char* message = *reinterpret_cast<const char**>(
                   reinterpret_cast<intptr_t>(instr) - Instr::kInstrSize);
-              buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                         remaining_size_in_buffer(),
-                                         " ; \"%s\"",
-                                         message);
+              buffer_pos_ +=
+                  OS::SNPrint(current_position_in_buffer(),
+                              remaining_size_in_buffer(), " ; \"%s\"", message);
             }
           } else {
-             // Format(instr, "smc'cond");
+            // Format(instr, "smc'cond");
             Unknown(instr);  // Not used.
           }
           break;
@@ -1064,7 +1048,7 @@
         Format(instr, "vmovdrr'cond 'dm, 'rd, 'rn");
       }
     }
-  } else if (instr-> IsVFPLoadStore()) {
+  } else if (instr->IsVFPLoadStore()) {
     if (instr->Bit(8) == 0) {
       if (instr->Bit(20) == 1) {  // vldrs
         if (instr->Bit(23) == 1) {
@@ -1095,13 +1079,13 @@
       }
     }
   } else if (instr->IsVFPMultipleLoadStore()) {
-    if (instr->HasL()) {  // vldm
+    if (instr->HasL()) {    // vldm
       if (instr->Bit(8)) {  // vldmd
         Format(instr, "vldmd'cond'pu 'rn'w, 'dlist");
       } else {  // vldms
         Format(instr, "vldms'cond'pu 'rn'w, 'slist");
       }
-    } else {  // vstm
+    } else {                // vstm
       if (instr->Bit(8)) {  // vstmd
         Format(instr, "vstmd'cond'pu 'rn'w, 'dlist");
       } else {  // vstms
@@ -1174,7 +1158,7 @@
           }
           break;
         }
-        case 0xb: {  // Other VFP data-processing instructions
+        case 0xb: {                  // Other VFP data-processing instructions
           if (instr->Bit(6) == 0) {  // vmov immediate
             if (instr->Bit(8) == 0) {
               Format(instr, "vmovs'cond 'sd, #'immf");
@@ -1234,8 +1218,8 @@
               }
               break;
             }
-            case 4:  // vcmp, vcmpe
-            case 5: {  // vcmp #0.0, vcmpe #0.0
+            case 4:                      // vcmp, vcmpe
+            case 5: {                    // vcmp #0.0, vcmpe #0.0
               if (instr->Bit(7) == 1) {  // vcmpe
                 Unknown(instr);
               } else {
@@ -1301,9 +1285,9 @@
               }
               break;
             }
-            case 2:  // vcvtb, vcvtt
-            case 3:  // vcvtb, vcvtt
-            case 9:  // undefined
+            case 2:   // vcvtb, vcvtt
+            case 3:   // vcvtb, vcvtt
+            case 9:   // undefined
             case 10:  // vcvt between floating-point and fixed-point
             case 11:  // vcvt between floating-point and fixed-point
             case 14:  // vcvt between floating-point and fixed-point
@@ -1313,8 +1297,7 @@
               break;
             }
           }
-        }
-        break;
+        } break;
       }
     } else {
       // 8, 16, or 32-bit Transfer between ARM Core and VFP
@@ -1532,10 +1515,14 @@
 }
 
 
-void Disassembler::DecodeInstruction(char* hex_buffer, intptr_t hex_size,
-                                     char* human_buffer, intptr_t human_size,
-                                     int* out_instr_size, const Code& code,
-                                     Object** object, uword pc) {
+void Disassembler::DecodeInstruction(char* hex_buffer,
+                                     intptr_t hex_size,
+                                     char* human_buffer,
+                                     intptr_t human_size,
+                                     int* out_instr_size,
+                                     const Code& code,
+                                     Object** object,
+                                     uword pc) {
   ARMDecoder decoder(human_buffer, human_size);
   decoder.InstructionDecode(pc);
   int32_t instruction_bits = Instr::At(pc)->InstructionBits();
diff --git a/runtime/vm/disassembler_arm64.cc b/runtime/vm/disassembler_arm64.cc
index 6bbc3c7..448fda3 100644
--- a/runtime/vm/disassembler_arm64.cc
+++ b/runtime/vm/disassembler_arm64.cc
@@ -16,9 +16,7 @@
 class ARM64Decoder : public ValueObject {
  public:
   ARM64Decoder(char* buffer, size_t buffer_size)
-      : buffer_(buffer),
-        buffer_size_(buffer_size),
-        buffer_pos_(0) {
+      : buffer_(buffer), buffer_size_(buffer_size), buffer_pos_(0) {
     buffer_[buffer_pos_] = '\0';
   }
 
@@ -43,16 +41,15 @@
 
   // Handle formatting of instructions and their options.
   int FormatRegister(Instr* instr, const char* option);
-  int FormatVRegister(Instr*instr, const char* option);
+  int FormatVRegister(Instr* instr, const char* option);
   int FormatOption(Instr* instr, const char* format);
   void Format(Instr* instr, const char* format);
   void Unknown(Instr* instr);
 
-  // Decode instructions.
-  #define DECODE_OP(op)                                                        \
-    void Decode##op(Instr* instr);
+// Decode instructions.
+#define DECODE_OP(op) void Decode##op(Instr* instr);
   APPLY_OP_LIST(DECODE_OP)
-  #undef DECODE_OP
+#undef DECODE_OP
 
 
   // Convenience functions.
@@ -60,9 +57,9 @@
   char* current_position_in_buffer() { return buffer_ + buffer_pos_; }
   size_t remaining_size_in_buffer() { return buffer_size_ - buffer_pos_; }
 
-  char* buffer_;  // Decode instructions into this buffer.
+  char* buffer_;        // Decode instructions into this buffer.
   size_t buffer_size_;  // The size of the character buffer.
-  size_t buffer_pos_;  // Current character position in buffer.
+  size_t buffer_pos_;   // Current character position in buffer.
 
   DISALLOW_ALLOCATION();
   DISALLOW_COPY_AND_ASSIGN(ARM64Decoder);
@@ -70,7 +67,7 @@
 
 
 // Support for assertions in the ARM64Decoder formatting functions.
-#define STRING_STARTS_WITH(string, compare_string) \
+#define STRING_STARTS_WITH(string, compare_string)                             \
   (strncmp(string, compare_string, strlen(compare_string)) == 0)
 
 
@@ -89,10 +86,9 @@
 // formatting, except for register aliases ctx (r9), pp (r10) and sp (r19).
 // See for example the command "objdump -d <binary file>".
 static const char* reg_names[kNumberOfCpuRegisters] = {
-  "r0",  "r1",  "r2",  "r3",  "r4",  "r5",  "r6",  "r7",
-  "r8",  "r9",  "r10", "r11", "r12", "r13", "r14", "r15",
-  "ip0", "ip1", "r18", "sp",  "r20", "r21", "r22", "r23",
-  "r24", "r25", "thr", "pp",  "ctx", "fp",  "lr",  "r31",
+    "r0",  "r1",  "r2",  "r3",  "r4",  "r5",  "r6",  "r7",  "r8", "r9",  "r10",
+    "r11", "r12", "r13", "r14", "r15", "ip0", "ip1", "r18", "sp", "r20", "r21",
+    "r22", "r23", "r24", "r25", "thr", "pp",  "ctx", "fp",  "lr", "r31",
 };
 
 
@@ -113,29 +109,25 @@
   ASSERT(0 <= reg);
   ASSERT(reg < kNumberOfVRegisters);
   buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                             remaining_size_in_buffer(),
-                             "v%d", reg);
+                             remaining_size_in_buffer(), "v%d", reg);
 }
 
 
 // These shift names are defined in a way to match the native disassembler
 // formatting. See for example the command "objdump -d <binary file>".
-static const char* shift_names[kMaxShift] = {
-  "lsl", "lsr", "asr", "ror"
-};
+static const char* shift_names[kMaxShift] = {"lsl", "lsr", "asr", "ror"};
 
 
 static const char* extend_names[kMaxExtend] = {
-  "uxtb", "uxth", "uxtw", "uxtx",
-  "sxtb", "sxth", "sxtw", "sxtx",
+    "uxtb", "uxth", "uxtw", "uxtx", "sxtb", "sxth", "sxtw", "sxtx",
 };
 
 
 // These condition names are defined in a way to match the native disassembler
 // formatting. See for example the command "objdump -d <binary file>".
 static const char* cond_names[kMaxCondition] = {
-  "eq", "ne", "cs" , "cc" , "mi" , "pl" , "vs" , "vc" ,
-  "hi", "ls", "ge", "lt", "gt", "le", "", "invalid",
+    "eq", "ne", "cs", "cc", "mi", "pl", "vs", "vc",
+    "hi", "ls", "ge", "lt", "gt", "le", "",   "invalid",
 };
 
 
@@ -172,25 +164,21 @@
     } else if (((shift == LSR) || (shift == ASR)) && (shift_amount == 0)) {
       shift_amount = 32;
     }
-    buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                               remaining_size_in_buffer(),
-                               " %s #%d",
-                               shift_names[shift],
-                               shift_amount);
+    buffer_pos_ +=
+        OS::SNPrint(current_position_in_buffer(), remaining_size_in_buffer(),
+                    " %s #%d", shift_names[shift], shift_amount);
   } else {
     ASSERT(instr->IsExtend());
     // by register
-    buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                               remaining_size_in_buffer(),
-                               " %s",
-                               extend_names[extend]);
+    buffer_pos_ +=
+        OS::SNPrint(current_position_in_buffer(), remaining_size_in_buffer(),
+                    " %s", extend_names[extend]);
     if (((instr->SFField() == 1) && (extend == UXTX)) ||
         ((instr->SFField() == 0) && (extend == UXTW))) {
       // Shift amount.
-      buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                 remaining_size_in_buffer(),
-                                 " %d",
-                                 extend_shift_amount);
+      buffer_pos_ +=
+          OS::SNPrint(current_position_in_buffer(), remaining_size_in_buffer(),
+                      " %d", extend_shift_amount);
     }
   }
 }
@@ -207,9 +195,7 @@
     PrintRegister(rn, R31IsSP);
     if (off != 0) {
       buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                 remaining_size_in_buffer(),
-                                 ", #%d",
-                                 off);
+                                 remaining_size_in_buffer(), ", #%d", off);
     }
     Print("]");
   } else {
@@ -220,9 +206,7 @@
         Print("[");
         PrintRegister(rn, R31IsSP);
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   ", #%d",
-                                   imm9);
+                                   remaining_size_in_buffer(), ", #%d", imm9);
         Print("]");
         break;
       }
@@ -233,9 +217,7 @@
         PrintRegister(rn, R31IsSP);
         Print("]");
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   ", #%d !",
-                                   imm9);
+                                   remaining_size_in_buffer(), ", #%d !", imm9);
         break;
       }
       case 2: {
@@ -246,10 +228,9 @@
         PrintRegister(rn, R31IsSP);
         Print(", ");
         PrintRegister(rm, R31IsZR);
-        buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   " %s",
-                                   extend_names[ext]);
+        buffer_pos_ +=
+            OS::SNPrint(current_position_in_buffer(),
+                        remaining_size_in_buffer(), " %s", extend_names[ext]);
         if (s == 1) {
           Print(" scaled");
         }
@@ -262,15 +243,11 @@
         Print("[");
         PrintRegister(rn, R31IsSP);
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   ", #%d",
-                                   imm9);
+                                   remaining_size_in_buffer(), ", #%d", imm9);
         Print("] !");
         break;
       }
-      default: {
-        Print("???");
-      }
+      default: { Print("???"); }
     }
   }
 }
@@ -285,24 +262,20 @@
   switch (instr->Bits(23, 3)) {
     case 1:
       // rn + (imm7 << (2 + B31)), post-index, writeback.
-      buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                 remaining_size_in_buffer(),
-                                 "], #%d !",
-                                 offset);
+      buffer_pos_ +=
+          OS::SNPrint(current_position_in_buffer(), remaining_size_in_buffer(),
+                      "], #%d !", offset);
       break;
     case 2:
       // rn + (imm7 << (2 + B31)), pre-index, no writeback.
       buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                 remaining_size_in_buffer(),
-                                 ", #%d ]",
-                                 offset);
+                                 remaining_size_in_buffer(), ", #%d ]", offset);
       break;
     case 3:
       // rn + (imm7 << (2 + B31)), pre-index, writeback.
-      buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                 remaining_size_in_buffer(),
-                                 ", #%d ]!",
-                                 offset);
+      buffer_pos_ +=
+          OS::SNPrint(current_position_in_buffer(), remaining_size_in_buffer(),
+                      ", #%d ]!", offset);
       break;
     default:
       Print(", ???]");
@@ -381,17 +354,13 @@
         ASSERT(STRING_STARTS_WITH(format, "bitimm"));
         const uint64_t imm = instr->ImmLogical();
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "0x%" Px64,
-                                   imm);
+                                   remaining_size_in_buffer(), "0x%" Px64, imm);
         return 6;
       } else {
         ASSERT(STRING_STARTS_WITH(format, "bitpos"));
         int bitpos = instr->Bits(19, 4) | (instr->Bit(31) << 5);
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "#%d",
-                                   bitpos);
+                                   remaining_size_in_buffer(), "#%d", bitpos);
         return 6;
       }
     }
@@ -410,9 +379,7 @@
           typ = "d";
         }
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "%s",
-                                   typ);
+                                   remaining_size_in_buffer(), "%s", typ);
         return 3;
       } else {
         ASSERT(STRING_STARTS_WITH(format, "cond"));
@@ -425,52 +392,55 @@
         ASSERT(STRING_STARTS_WITH(format, "dest26"));
         int64_t off = instr->SImm26Field() << 2;
         uword destination = reinterpret_cast<uword>(instr) + off;
-        buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "%#" Px "",
-                                   destination);
+        buffer_pos_ +=
+            OS::SNPrint(current_position_in_buffer(),
+                        remaining_size_in_buffer(), "%#" Px "", destination);
       } else {
         if (format[5] == '4') {
           ASSERT(STRING_STARTS_WITH(format, "dest14"));
           int64_t off = instr->SImm14Field() << 2;
           uword destination = reinterpret_cast<uword>(instr) + off;
-          buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                     remaining_size_in_buffer(),
-                                     "%#" Px "",
-                                     destination);
+          buffer_pos_ +=
+              OS::SNPrint(current_position_in_buffer(),
+                          remaining_size_in_buffer(), "%#" Px "", destination);
         } else {
           ASSERT(STRING_STARTS_WITH(format, "dest19"));
           int64_t off = instr->SImm19Field() << 2;
           uword destination = reinterpret_cast<uword>(instr) + off;
-          buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                     remaining_size_in_buffer(),
-                                     "%#" Px "",
-                                     destination);
+          buffer_pos_ +=
+              OS::SNPrint(current_position_in_buffer(),
+                          remaining_size_in_buffer(), "%#" Px "", destination);
         }
       }
       return 6;
     }
     case 'f': {
       ASSERT(STRING_STARTS_WITH(format, "fsz"));
-        const int sz = instr->SzField();
-        char const* sz_str;
-        switch (sz) {
-          case 0:
-            if (instr->Bit(23) == 1) {
-              sz_str = "q";
-            } else {
-              sz_str = "b";
-            }
-            break;
-          case 1: sz_str = "h"; break;
-          case 2: sz_str = "s"; break;
-          case 3: sz_str = "d"; break;
-          default: sz_str = "?"; break;
-        }
-        buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "%s",
-                                   sz_str);
+      const int sz = instr->SzField();
+      char const* sz_str;
+      switch (sz) {
+        case 0:
+          if (instr->Bit(23) == 1) {
+            sz_str = "q";
+          } else {
+            sz_str = "b";
+          }
+          break;
+        case 1:
+          sz_str = "h";
+          break;
+        case 2:
+          sz_str = "s";
+          break;
+        case 3:
+          sz_str = "d";
+          break;
+        default:
+          sz_str = "?";
+          break;
+      }
+      buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
+                                 remaining_size_in_buffer(), "%s", sz_str);
       return 3;
     }
     case 'h': {
@@ -478,9 +448,7 @@
       const int shift = instr->HWField() << 4;
       if (shift != 0) {
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "lsl %d",
-                                   shift);
+                                   remaining_size_in_buffer(), "lsl %d", shift);
       }
       return 2;
     }
@@ -509,9 +477,7 @@
           idx = imm >> (shift + 3);
         }
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "[%d]",
-                                   idx);
+                                   remaining_size_in_buffer(), "[%d]", idx);
         return 4;
       } else if (format[3] == '1') {
         uint64_t imm;
@@ -533,18 +499,14 @@
           imm = instr->Imm16Field();
         }
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "0x%" Px64,
-                                   imm);
+                                   remaining_size_in_buffer(), "0x%" Px64, imm);
         return ret;
       } else {
         ASSERT(STRING_STARTS_WITH(format, "immd"));
-        double dimm = bit_cast<double, int64_t>(
-            Instr::VFPExpandImm(instr->Imm8Field()));
+        double dimm =
+            bit_cast<double, int64_t>(Instr::VFPExpandImm(instr->Imm8Field()));
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "%f",
-                                   dimm);
+                                   remaining_size_in_buffer(), "%f", dimm);
         return 4;
       }
     }
@@ -562,19 +524,17 @@
           const int64_t off = (immhi << 2) | immlo;
           const int64_t pc = reinterpret_cast<int64_t>(instr);
           const int64_t dest = pc + off;
-          buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                     remaining_size_in_buffer(),
-                                     "0x%" Px64,
-                                     dest);
+          buffer_pos_ +=
+              OS::SNPrint(current_position_in_buffer(),
+                          remaining_size_in_buffer(), "0x%" Px64, dest);
         } else {
           ASSERT(STRING_STARTS_WITH(format, "pcldr"));
           const int64_t off = instr->SImm19Field() << 2;
           const int64_t pc = reinterpret_cast<int64_t>(instr);
           const int64_t dest = pc + off;
-          buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                     remaining_size_in_buffer(),
-                                     "0x%" Px64,
-                                     dest);
+          buffer_pos_ +=
+              OS::SNPrint(current_position_in_buffer(),
+                          remaining_size_in_buffer(), "0x%" Px64, dest);
         }
         return 5;
       } else {
@@ -592,21 +552,31 @@
         char const* sz_str = NULL;
         if (instr->Bits(14, 2) == 3) {
           switch (instr->Bit(22)) {
-            case 0: sz_str = "s"; break;
-            case 1: sz_str = "d"; break;
-            default: UNREACHABLE(); break;
+            case 0:
+              sz_str = "s";
+              break;
+            case 1:
+              sz_str = "d";
+              break;
+            default:
+              UNREACHABLE();
+              break;
           }
         } else {
           switch (instr->Bit(22)) {
-            case 0: sz_str = "w"; break;
-            case 1: sz_str = "x"; break;
-            default: UNREACHABLE(); break;
+            case 0:
+              sz_str = "w";
+              break;
+            case 1:
+              sz_str = "x";
+              break;
+            default:
+              UNREACHABLE();
+              break;
           }
         }
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "%s",
-                                   sz_str);
+                                   remaining_size_in_buffer(), "%s", sz_str);
         return 3;
       } else {
         return FormatVRegister(instr, format);
@@ -632,16 +602,24 @@
         const int sz = instr->SzField();
         char const* sz_str;
         switch (sz) {
-          case 0: sz_str = "b"; break;
-          case 1: sz_str = "h"; break;
-          case 2: sz_str = "w"; break;
-          case 3: sz_str = "x"; break;
-          default: sz_str = "?"; break;
+          case 0:
+            sz_str = "b";
+            break;
+          case 1:
+            sz_str = "h";
+            break;
+          case 2:
+            sz_str = "w";
+            break;
+          case 3:
+            sz_str = "x";
+            break;
+          default:
+            sz_str = "?";
+            break;
         }
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "%s",
-                                   sz_str);
+                                   remaining_size_in_buffer(), "%s", sz_str);
         return 2;
       } else if (format[1] == ' ') {
         if (instr->HasS()) {
@@ -675,7 +653,7 @@
     }
     cur = *format++;
   }
-  buffer_[buffer_pos_]  = '\0';
+  buffer_[buffer_pos_] = '\0';
 }
 
 
@@ -748,9 +726,7 @@
 
 
 void ARM64Decoder::DecodeLoadStoreExclusive(Instr* instr) {
-  if ((instr->Bit(23) != 0) ||
-      (instr->Bit(21) != 0) ||
-      (instr->Bit(15) != 0)) {
+  if ((instr->Bit(23) != 0) || (instr->Bit(21) != 0) || (instr->Bit(15) != 0)) {
     Unknown(instr);
   }
   const int32_t size = instr->Bits(30, 2);
@@ -859,10 +835,9 @@
     if (instr->Imm16Field() == Instr::kStopMessageCode) {
       const char* message = *reinterpret_cast<const char**>(
           reinterpret_cast<intptr_t>(instr) - 2 * Instr::kInstrSize);
-      buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                 remaining_size_in_buffer(),
-                                 " ; \"%s\"",
-                                 message);
+      buffer_pos_ +=
+          OS::SNPrint(current_position_in_buffer(), remaining_size_in_buffer(),
+                      " ; \"%s\"", message);
     }
   } else if ((instr->Bits(0, 2) == 0) && (instr->Bits(2, 3) == 0) &&
              (instr->Bits(21, 3) == 2)) {
@@ -1187,7 +1162,7 @@
     } else {
       Format(instr, "vmovrd 'rd, 'vn'idx5");
     }
-  } else if ((Q == 1)  && (op == 0) && (imm4 == 0)) {
+  } else if ((Q == 1) && (op == 0) && (imm4 == 0)) {
     Format(instr, "vdup'csz 'vd, 'vn'idx5");
   } else if ((Q == 1) && (op == 0) && (imm4 == 3)) {
     Format(instr, "vins'csz 'vd'idx5, 'rn");
@@ -1487,10 +1462,14 @@
 }
 
 
-void Disassembler::DecodeInstruction(char* hex_buffer, intptr_t hex_size,
-                                     char* human_buffer, intptr_t human_size,
-                                     int* out_instr_size, const Code& code,
-                                     Object** object, uword pc) {
+void Disassembler::DecodeInstruction(char* hex_buffer,
+                                     intptr_t hex_size,
+                                     char* human_buffer,
+                                     intptr_t human_size,
+                                     int* out_instr_size,
+                                     const Code& code,
+                                     Object** object,
+                                     uword pc) {
   ARM64Decoder decoder(human_buffer, human_size);
   decoder.InstructionDecode(pc);
   int32_t instruction_bits = Instr::At(pc)->InstructionBits();
diff --git a/runtime/vm/disassembler_dbc.cc b/runtime/vm/disassembler_dbc.cc
index a2095a0..3759bb9 100644
--- a/runtime/vm/disassembler_dbc.cc
+++ b/runtime/vm/disassembler_dbc.cc
@@ -195,9 +195,9 @@
 }
 
 
-#define BYTECODE_FORMATTER(name, encoding, op1, op2, op3)                     \
-  static void Format##name(char* buf, intptr_t size, uword pc, uint32_t op) { \
-    Format##encoding(buf, size, pc, op, Fmt##op1, Fmt##op2, Fmt##op3);        \
+#define BYTECODE_FORMATTER(name, encoding, op1, op2, op3)                      \
+  static void Format##name(char* buf, intptr_t size, uword pc, uint32_t op) {  \
+    Format##encoding(buf, size, pc, op, Fmt##op1, Fmt##op2, Fmt##op3);         \
   }
 BYTECODES_LIST(BYTECODE_FORMATTER)
 #undef BYTECODE_FORMATTER
diff --git a/runtime/vm/disassembler_ia32.cc b/runtime/vm/disassembler_ia32.cc
index d0252d3..004ed60 100644
--- a/runtime/vm/disassembler_ia32.cc
+++ b/runtime/vm/disassembler_ia32.cc
@@ -18,11 +18,7 @@
 #ifndef PRODUCT
 
 // Tables used for decoding of x86 instructions.
-enum OperandOrder {
-  UNSET_OP_ORDER = 0,
-  REG_OPER_OP_ORDER,
-  OPER_REG_OP_ORDER
-};
+enum OperandOrder { UNSET_OP_ORDER = 0, REG_OPER_OP_ORDER, OPER_REG_OP_ORDER };
 
 
 struct ByteMnemonic {
@@ -33,89 +29,60 @@
 
 
 static ByteMnemonic two_operands_instr[] = {
-  {0x01, "add", OPER_REG_OP_ORDER},
-  {0x03, "add", REG_OPER_OP_ORDER},
-  {0x09, "or", OPER_REG_OP_ORDER},
-  {0x0B, "or", REG_OPER_OP_ORDER},
-  {0x11, "adc", OPER_REG_OP_ORDER},
-  {0x13, "adc", REG_OPER_OP_ORDER},
-  {0x19, "sbb", OPER_REG_OP_ORDER},
-  {0x1B, "sbb", REG_OPER_OP_ORDER},
-  {0x21, "and", OPER_REG_OP_ORDER},
-  {0x23, "and", REG_OPER_OP_ORDER},
-  {0x29, "sub", OPER_REG_OP_ORDER},
-  {0x2B, "sub", REG_OPER_OP_ORDER},
-  {0x31, "xor", OPER_REG_OP_ORDER},
-  {0x33, "xor", REG_OPER_OP_ORDER},
-  {0x39, "cmp", OPER_REG_OP_ORDER},
-  {0x3B, "cmp", REG_OPER_OP_ORDER},
-  {0x85, "test", REG_OPER_OP_ORDER},
-  {0x87, "xchg", REG_OPER_OP_ORDER},
-  {0x8A, "mov_b", REG_OPER_OP_ORDER},
-  {0x8B, "mov", REG_OPER_OP_ORDER},
-  {0x8D, "lea", REG_OPER_OP_ORDER},
-  {-1, "", UNSET_OP_ORDER}
-};
+    {0x01, "add", OPER_REG_OP_ORDER},   {0x03, "add", REG_OPER_OP_ORDER},
+    {0x09, "or", OPER_REG_OP_ORDER},    {0x0B, "or", REG_OPER_OP_ORDER},
+    {0x11, "adc", OPER_REG_OP_ORDER},   {0x13, "adc", REG_OPER_OP_ORDER},
+    {0x19, "sbb", OPER_REG_OP_ORDER},   {0x1B, "sbb", REG_OPER_OP_ORDER},
+    {0x21, "and", OPER_REG_OP_ORDER},   {0x23, "and", REG_OPER_OP_ORDER},
+    {0x29, "sub", OPER_REG_OP_ORDER},   {0x2B, "sub", REG_OPER_OP_ORDER},
+    {0x31, "xor", OPER_REG_OP_ORDER},   {0x33, "xor", REG_OPER_OP_ORDER},
+    {0x39, "cmp", OPER_REG_OP_ORDER},   {0x3B, "cmp", REG_OPER_OP_ORDER},
+    {0x85, "test", REG_OPER_OP_ORDER},  {0x87, "xchg", REG_OPER_OP_ORDER},
+    {0x8A, "mov_b", REG_OPER_OP_ORDER}, {0x8B, "mov", REG_OPER_OP_ORDER},
+    {0x8D, "lea", REG_OPER_OP_ORDER},   {-1, "", UNSET_OP_ORDER}};
 
 
 static ByteMnemonic zero_operands_instr[] = {
-  {0xC3, "ret", UNSET_OP_ORDER},
-  {0xC9, "leave", UNSET_OP_ORDER},
-  {0x90, "nop", UNSET_OP_ORDER},
-  {0xF4, "hlt", UNSET_OP_ORDER},
-  {0xCC, "int3", UNSET_OP_ORDER},
-  {0x60, "pushad", UNSET_OP_ORDER},
-  {0x61, "popad", UNSET_OP_ORDER},
-  {0x9C, "pushfd", UNSET_OP_ORDER},
-  {0x9D, "popfd", UNSET_OP_ORDER},
-  {0x9E, "sahf", UNSET_OP_ORDER},
-  {0x99, "cdq", UNSET_OP_ORDER},
-  {0x9B, "fwait", UNSET_OP_ORDER},
-  {-1, "", UNSET_OP_ORDER}
-};
+    {0xC3, "ret", UNSET_OP_ORDER},   {0xC9, "leave", UNSET_OP_ORDER},
+    {0x90, "nop", UNSET_OP_ORDER},   {0xF4, "hlt", UNSET_OP_ORDER},
+    {0xCC, "int3", UNSET_OP_ORDER},  {0x60, "pushad", UNSET_OP_ORDER},
+    {0x61, "popad", UNSET_OP_ORDER}, {0x9C, "pushfd", UNSET_OP_ORDER},
+    {0x9D, "popfd", UNSET_OP_ORDER}, {0x9E, "sahf", UNSET_OP_ORDER},
+    {0x99, "cdq", UNSET_OP_ORDER},   {0x9B, "fwait", UNSET_OP_ORDER},
+    {-1, "", UNSET_OP_ORDER}};
 
 
-static ByteMnemonic call_jump_instr[] = {
-  {0xE8, "call", UNSET_OP_ORDER},
-  {0xE9, "jmp", UNSET_OP_ORDER},
-  {-1, "", UNSET_OP_ORDER}
-};
+static ByteMnemonic call_jump_instr[] = {{0xE8, "call", UNSET_OP_ORDER},
+                                         {0xE9, "jmp", UNSET_OP_ORDER},
+                                         {-1, "", UNSET_OP_ORDER}};
 
 
 static ByteMnemonic short_immediate_instr[] = {
-  {0x05, "add", UNSET_OP_ORDER},
-  {0x0D, "or", UNSET_OP_ORDER},
-  {0x15, "adc", UNSET_OP_ORDER},
-  {0x25, "and", UNSET_OP_ORDER},
-  {0x2D, "sub", UNSET_OP_ORDER},
-  {0x35, "xor", UNSET_OP_ORDER},
-  {0x3D, "cmp", UNSET_OP_ORDER},
-  {-1, "", UNSET_OP_ORDER}
-};
+    {0x05, "add", UNSET_OP_ORDER}, {0x0D, "or", UNSET_OP_ORDER},
+    {0x15, "adc", UNSET_OP_ORDER}, {0x25, "and", UNSET_OP_ORDER},
+    {0x2D, "sub", UNSET_OP_ORDER}, {0x35, "xor", UNSET_OP_ORDER},
+    {0x3D, "cmp", UNSET_OP_ORDER}, {-1, "", UNSET_OP_ORDER}};
 
 
 static const char* jump_conditional_mnem[] = {
-  /*0*/ "jo", "jno", "jc", "jnc",
-  /*4*/ "jz", "jnz", "jna", "ja",
-  /*8*/ "js", "jns", "jpe", "jpo",
-  /*12*/ "jl", "jnl", "jng", "jg"
-};
+    /*0*/ "jo",  "jno", "jc",  "jnc",
+    /*4*/ "jz",  "jnz", "jna", "ja",
+    /*8*/ "js",  "jns", "jpe", "jpo",
+    /*12*/ "jl", "jnl", "jng", "jg"};
 
 
 static const char* set_conditional_mnem[] = {
-  /*0*/ "seto", "setno", "setc", "setnc",
-  /*4*/ "setz", "setnz", "setna", "seta",
-  /*8*/ "sets", "setns", "setpe", "setpo",
-  /*12*/ "setl", "setnl", "setng", "setg"
-};
+    /*0*/ "seto",  "setno", "setc",  "setnc",
+    /*4*/ "setz",  "setnz", "setna", "seta",
+    /*8*/ "sets",  "setns", "setpe", "setpo",
+    /*12*/ "setl", "setnl", "setng", "setg"};
 
 
 static const char* conditional_move_mnem[] = {
-  /*0*/ "cmovo", "cmovno", "cmovc", "cmovnc",
-  /*4*/ "cmovz", "cmovnz", "cmovna", "cmova",
-  /*8*/ "cmovs", "cmovns", "cmovpe", "cmovpo",
-  /*12*/ "cmovl", "cmovnl", "cmovng", "cmovg"
-};
+    /*0*/ "cmovo",  "cmovno", "cmovc",  "cmovnc",
+    /*4*/ "cmovz",  "cmovnz", "cmovna", "cmova",
+    /*8*/ "cmovs",  "cmovns", "cmovpe", "cmovpo",
+    /*12*/ "cmovl", "cmovnl", "cmovng", "cmovg"};
 
 
 enum InstructionType {
@@ -228,43 +195,78 @@
 // Returns NULL if the instruction is not handled here.
 static const char* F0Mnem(uint8_t f0byte) {
   switch (f0byte) {
-    case 0x12: return "movhlps";
-    case 0x14: return "unpcklps";
-    case 0x15: return "unpckhps";
-    case 0x16: return "movlhps";
-    case 0xA2: return "cpuid";
-    case 0x31: return "rdtsc";
-    case 0xBE: return "movsx_b";
-    case 0xBF: return "movsx_w";
-    case 0xB6: return "movzx_b";
-    case 0xB7: return "movzx_w";
-    case 0xAF: return "imul";
+    case 0x12:
+      return "movhlps";
+    case 0x14:
+      return "unpcklps";
+    case 0x15:
+      return "unpckhps";
+    case 0x16:
+      return "movlhps";
+    case 0xA2:
+      return "cpuid";
+    case 0x31:
+      return "rdtsc";
+    case 0xBE:
+      return "movsx_b";
+    case 0xBF:
+      return "movsx_w";
+    case 0xB6:
+      return "movzx_b";
+    case 0xB7:
+      return "movzx_w";
+    case 0xAF:
+      return "imul";
     case 0xA4:  // Fall through.
-    case 0xA5: return "shld";
+    case 0xA5:
+      return "shld";
     case 0xAC:  // Fall through.
-    case 0xAD: return "shrd";
-    case 0xA3: return "bt";
-    case 0xAB: return "bts";
-    case 0xBD: return "bsr";
-    case 0xB1: return "cmpxchg";
-    case 0x50: return "movmskps";
-    case 0x51: return "sqrtps";
-    case 0x52: return "rqstps";
-    case 0x53: return "rcpps";
-    case 0x54: return "andps";
-    case 0x56: return "orps";
-    case 0x57: return "xorps";
-    case 0x58: return "addps";
-    case 0x59: return "mulps";
-    case 0x5A: return "cvtps2pd";
-    case 0x5C: return "subps";
-    case 0x5D: return "minps";
-    case 0x5E: return "divps";
-    case 0x5F: return "maxps";
-    case 0x28: return "movaps";
-    case 0x10: return "movups";
-    case 0x11: return "movups";
-    default: return NULL;
+    case 0xAD:
+      return "shrd";
+    case 0xA3:
+      return "bt";
+    case 0xAB:
+      return "bts";
+    case 0xBD:
+      return "bsr";
+    case 0xB1:
+      return "cmpxchg";
+    case 0x50:
+      return "movmskps";
+    case 0x51:
+      return "sqrtps";
+    case 0x52:
+      return "rqstps";
+    case 0x53:
+      return "rcpps";
+    case 0x54:
+      return "andps";
+    case 0x56:
+      return "orps";
+    case 0x57:
+      return "xorps";
+    case 0x58:
+      return "addps";
+    case 0x59:
+      return "mulps";
+    case 0x5A:
+      return "cvtps2pd";
+    case 0x5C:
+      return "subps";
+    case 0x5D:
+      return "minps";
+    case 0x5E:
+      return "divps";
+    case 0x5F:
+      return "maxps";
+    case 0x28:
+      return "movaps";
+    case 0x10:
+      return "movups";
+    case 0x11:
+      return "movups";
+    default:
+      return NULL;
   }
 }
 
@@ -287,12 +289,11 @@
 
 
 static bool IsTwoXmmRegInstruction(uint8_t f0byte) {
-  return f0byte == 0x28 || f0byte == 0x11 || f0byte == 0x12 ||
-         f0byte == 0x14 || f0byte == 0x15 || f0byte == 0x16 ||
-         f0byte == 0x51 || f0byte == 0x52 || f0byte == 0x53 ||
-         f0byte == 0x54 || f0byte == 0x56 || f0byte == 0x58 ||
-         f0byte == 0x59 || f0byte == 0x5C || f0byte == 0x5D ||
-         f0byte == 0x5E || f0byte == 0x5F || f0byte == 0x5A;
+  return f0byte == 0x28 || f0byte == 0x11 || f0byte == 0x12 || f0byte == 0x14 ||
+         f0byte == 0x15 || f0byte == 0x16 || f0byte == 0x51 || f0byte == 0x52 ||
+         f0byte == 0x53 || f0byte == 0x54 || f0byte == 0x56 || f0byte == 0x58 ||
+         f0byte == 0x59 || f0byte == 0x5C || f0byte == 0x5D || f0byte == 0x5E ||
+         f0byte == 0x5F || f0byte == 0x5A;
 }
 
 
@@ -300,9 +301,7 @@
 class X86Decoder : public ValueObject {
  public:
   X86Decoder(char* buffer, intptr_t buffer_size)
-      : buffer_(buffer),
-        buffer_size_(buffer_size),
-        buffer_pos_(0) {
+      : buffer_(buffer), buffer_size_(buffer_size), buffer_pos_(0) {
     buffer_[buffer_pos_] = '\0';
   }
 
@@ -386,9 +385,9 @@
   char* current_position_in_buffer() { return buffer_ + buffer_pos_; }
   intptr_t remaining_size_in_buffer() { return buffer_size_ - buffer_pos_; }
 
-  char* buffer_;  // Decode instructions into this buffer.
+  char* buffer_;          // Decode instructions into this buffer.
   intptr_t buffer_size_;  // The size of the buffer_.
-  intptr_t buffer_pos_;  // Current character position in the buffer_.
+  intptr_t buffer_pos_;   // Current character position in the buffer_.
 
   DISALLOW_COPY_AND_ASSIGN(X86Decoder);
 };
@@ -421,19 +420,16 @@
 
 
 static const int kMaxCPURegisters = 8;
-static const char* cpu_regs[kMaxCPURegisters] = {
-  "eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi"
-};
+static const char* cpu_regs[kMaxCPURegisters] = {"eax", "ecx", "edx", "ebx",
+                                                 "esp", "ebp", "esi", "edi"};
 
 static const int kMaxByteCPURegisters = 8;
 static const char* byte_cpu_regs[kMaxByteCPURegisters] = {
-  "al", "cl", "dl", "bl", "ah", "ch", "dh", "bh"
-};
+    "al", "cl", "dl", "bl", "ah", "ch", "dh", "bh"};
 
 static const int kMaxXmmRegisters = 8;
 static const char* xmm_regs[kMaxXmmRegisters] = {
-  "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7"
-};
+    "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7"};
 
 void X86Decoder::PrintCPURegister(int reg) {
   ASSERT(0 <= reg);
@@ -459,8 +455,7 @@
   ASSERT(0 <= comparison);
   ASSERT(comparison < 8);
   static const char* comparisons[8] = {
-    "eq", "lt", "le", "unordered", "not eq", "not lt", "not le", "ordered"
-  };
+      "eq", "lt", "le", "unordered", "not eq", "not lt", "not le", "ordered"};
   Print(comparisons[comparison]);
 }
 
@@ -487,7 +482,7 @@
   switch (mod) {
     case 0:
       if (rm == ebp) {
-        int32_t disp = *reinterpret_cast<int32_t*>(modrmp+1);
+        int32_t disp = *reinterpret_cast<int32_t*>(modrmp + 1);
         Print("[");
         PrintHex(disp);
         Print("]");
@@ -514,7 +509,7 @@
             Print("+");
           }
           PrintHex(disp);
-           Print("]");
+          Print("]");
           return 6;
         } else if (index != esp && base != ebp) {
           // [base+index*scale]
@@ -543,9 +538,8 @@
         uint8_t sib = *(modrmp + 1);
         int scale, index, base;
         GetSib(sib, &scale, &index, &base);
-        int disp = (mod == 2) ?
-                   *reinterpret_cast<int32_t*>(modrmp + 2) :
-                   *reinterpret_cast<int8_t*>(modrmp + 2);
+        int disp = (mod == 2) ? *reinterpret_cast<int32_t*>(modrmp + 2)
+                              : *reinterpret_cast<int8_t*>(modrmp + 2);
         if (index == base && index == rm /*esp*/ && scale == 0 /*times_1*/) {
           Print("[");
           PrintCPURegister(rm);
@@ -576,9 +570,8 @@
         return mod == 2 ? 6 : 3;
       } else {
         // No sib.
-        int disp = (mod == 2) ?
-                   *reinterpret_cast<int32_t*>(modrmp + 1) :
-                   *reinterpret_cast<int8_t*>(modrmp + 1);
+        int disp = (mod == 2) ? *reinterpret_cast<int32_t*>(modrmp + 1)
+                              : *reinterpret_cast<int8_t*>(modrmp + 1);
         Print("[");
         PrintCPURegister(rm);
         if (disp < 0) {
@@ -652,24 +645,41 @@
 
 int X86Decoder::PrintImmediateOp(uint8_t* data, bool size_override) {
   bool sign_extension_bit = (*data & 0x02) != 0;
-  uint8_t modrm = *(data+1);
+  uint8_t modrm = *(data + 1);
   int mod, regop, rm;
   GetModRm(modrm, &mod, &regop, &rm);
   const char* mnem = "Imm???";
   switch (regop) {
-    case 0: mnem = "add"; break;
-    case 1: mnem = "or"; break;
-    case 2: mnem = "adc"; break;
-    case 3: mnem = "sbb"; break;
-    case 4: mnem = "and"; break;
-    case 5: mnem = "sub"; break;
-    case 6: mnem = "xor"; break;
-    case 7: mnem = "cmp"; break;
-    default: UNIMPLEMENTED();
+    case 0:
+      mnem = "add";
+      break;
+    case 1:
+      mnem = "or";
+      break;
+    case 2:
+      mnem = "adc";
+      break;
+    case 3:
+      mnem = "sbb";
+      break;
+    case 4:
+      mnem = "and";
+      break;
+    case 5:
+      mnem = "sub";
+      break;
+    case 6:
+      mnem = "xor";
+      break;
+    case 7:
+      mnem = "cmp";
+      break;
+    default:
+      UNIMPLEMENTED();
   }
   Print(mnem);
   Print(" ");
-  int count = PrintRightOperand(data+1);
+  int count = PrintRightOperand(data + 1);
   Print(",");
   if (size_override) {
     PrintHex(*reinterpret_cast<int16_t*>(data + 1 + count));
@@ -698,7 +708,7 @@
 // Returns number of bytes used, including *data.
 int X86Decoder::JumpShort(uint8_t* data) {
   ASSERT(*data == 0xEB);
-  uint8_t b = *(data+1);
+  uint8_t b = *(data + 1);
   uword dest = reinterpret_cast<uword>(data) + static_cast<int8_t>(b) + 2;
   Print("jmp ");
   PrintAddress(dest);
@@ -709,9 +719,9 @@
 // Returns number of bytes used, including *data.
 int X86Decoder::JumpConditional(uint8_t* data, const char* comment) {
   ASSERT(*data == 0x0F);
-  uint8_t cond = *(data+1) & 0x0F;
-  uword dest = reinterpret_cast<uword>(data) +
-               *reinterpret_cast<int32_t*>(data+2) + 6;
+  uint8_t cond = *(data + 1) & 0x0F;
+  uword dest =
+      reinterpret_cast<uword>(data) + *reinterpret_cast<int32_t*>(data + 2) + 6;
   const char* mnem = jump_conditional_mnem[cond];
   Print(mnem);
   Print(" ");
@@ -727,7 +737,7 @@
 // Returns number of bytes used, including *data.
 int X86Decoder::JumpConditionalShort(uint8_t* data, const char* comment) {
   uint8_t cond = *data & 0x0F;
-  uint8_t b = *(data+1);
+  uint8_t b = *(data + 1);
   uword dest = reinterpret_cast<uword>(data) + static_cast<int8_t>(b) + 2;
   const char* mnem = jump_conditional_mnem[cond];
   Print(mnem);
@@ -744,11 +754,11 @@
 // Returns number of bytes used, including *data.
 int X86Decoder::SetCC(uint8_t* data) {
   ASSERT(*data == 0x0F);
-  uint8_t cond = *(data+1) & 0x0F;
+  uint8_t cond = *(data + 1) & 0x0F;
   const char* mnem = set_conditional_mnem[cond];
   Print(mnem);
   Print(" ");
-  PrintRightByteOperand(data+2);
+  PrintRightByteOperand(data + 2);
   return 3;  // includes 0x0F
 }
 
@@ -767,31 +777,40 @@
   uint8_t op = *data;
   ASSERT(op == 0xD1 || op == 0xD3 || op == 0xC1);
   int mod, regop, rm;
-  GetModRm(*(data+1), &mod, &regop, &rm);
+  GetModRm(*(data + 1), &mod, &regop, &rm);
   int num_bytes = 1;
   const char* mnem = NULL;
   switch (regop) {
-    case 2: mnem = "rcl"; break;
-    case 4: mnem = "shl"; break;
-    case 5: mnem = "shr"; break;
-    case 7: mnem = "sar"; break;
-    default: UNIMPLEMENTED();
+    case 2:
+      mnem = "rcl";
+      break;
+    case 4:
+      mnem = "shl";
+      break;
+    case 5:
+      mnem = "shr";
+      break;
+    case 7:
+      mnem = "sar";
+      break;
+    default:
+      UNIMPLEMENTED();
   }
   ASSERT(mnem != NULL);
   Print(mnem);
   Print(" ");
 
   if (op == 0xD1) {
-    num_bytes += PrintRightOperand(data+1);
+    num_bytes += PrintRightOperand(data + 1);
     Print(", 1");
   } else if (op == 0xC1) {
-    num_bytes += PrintRightOperand(data+1);
+    num_bytes += PrintRightOperand(data + 1);
     Print(", ");
-    PrintInt(*(data+2));
+    PrintInt(*(data + 2));
     num_bytes++;
   } else {
     ASSERT(op == 0xD3);
-    num_bytes += PrintRightOperand(data+1);
+    num_bytes += PrintRightOperand(data + 1);
     Print(", cl");
   }
   return num_bytes;
@@ -799,8 +818,8 @@
 
 
 uint8_t* X86Decoder::F3Instruction(uint8_t* data) {
-  if (*(data+1) == 0x0F) {
-    uint8_t b2 = *(data+2);
+  if (*(data + 1) == 0x0F) {
+    uint8_t b2 = *(data + 2);
     switch (b2) {
       case 0x2C: {
         data += 3;
@@ -861,14 +880,29 @@
         GetModRm(*data, &mod, &regop, &rm);
         const char* mnem = "?? 0xF3";
         switch (b2) {
-          case 0x51: mnem = "sqrtss"; break;
-          case 0x58: mnem = "addss"; break;
-          case 0x59: mnem = "mulss"; break;
-          case 0x5A: mnem = "cvtss2sd"; break;
-          case 0x5C: mnem = "subss"; break;
-          case 0x5E: mnem = "divss"; break;
-          case 0xE6: mnem = "cvtdq2pd"; break;
-          default: UNIMPLEMENTED();
+          case 0x51:
+            mnem = "sqrtss";
+            break;
+          case 0x58:
+            mnem = "addss";
+            break;
+          case 0x59:
+            mnem = "mulss";
+            break;
+          case 0x5A:
+            mnem = "cvtss2sd";
+            break;
+          case 0x5C:
+            mnem = "subss";
+            break;
+          case 0x5E:
+            mnem = "divss";
+            break;
+          case 0xE6:
+            mnem = "cvtdq2pd";
+            break;
+          default:
+            UNIMPLEMENTED();
         }
         Print(mnem);
         Print(" ");
@@ -890,7 +924,7 @@
       default:
         UNIMPLEMENTED();
     }
-  } else if (*(data+1) == 0xA4) {
+  } else if (*(data + 1) == 0xA4) {
     Print("rep_movsb");
     data += 2;
   } else {
@@ -903,26 +937,39 @@
 // Returns number of bytes used, including *data.
 int X86Decoder::F7Instruction(uint8_t* data) {
   ASSERT(*data == 0xF7);
-  uint8_t modrm = *(data+1);
+  uint8_t modrm = *(data + 1);
   int mod, regop, rm;
   GetModRm(modrm, &mod, &regop, &rm);
   if (mod == 3 && regop != 0) {
     const char* mnem = NULL;
     switch (regop) {
-      case 2: mnem = "not"; break;
-      case 3: mnem = "neg"; break;
-      case 4: mnem = "mul"; break;
-      case 5: mnem = "imul"; break;
-      case 6: mnem = "div"; break;
-      case 7: mnem = "idiv"; break;
-      default: UNIMPLEMENTED();
+      case 2:
+        mnem = "not";
+        break;
+      case 3:
+        mnem = "neg";
+        break;
+      case 4:
+        mnem = "mul";
+        break;
+      case 5:
+        mnem = "imul";
+        break;
+      case 6:
+        mnem = "div";
+        break;
+      case 7:
+        mnem = "idiv";
+        break;
+      default:
+        UNIMPLEMENTED();
     }
     Print(mnem);
     Print(" ");
     PrintCPURegister(rm);
     return 2;
   } else if (mod == 3 && regop == eax) {
-    int32_t imm = *reinterpret_cast<int32_t*>(data+2);
+    int32_t imm = *reinterpret_cast<int32_t*>(data + 2);
     Print("test ");
     PrintCPURegister(rm);
     Print(",");
@@ -930,11 +977,11 @@
     return 6;
   } else if (regop == eax) {
     Print("test ");
-    int count = PrintRightOperand(data+1);
-    int32_t imm = *reinterpret_cast<int32_t*>(data+1+count);
+    int count = PrintRightOperand(data + 1);
+    int32_t imm = *reinterpret_cast<int32_t*>(data + 1 + count);
     Print(",");
     PrintHex(imm);
-    return 1+count+4 /*int32_t*/;
+    return 1 + count + 4 /*int32_t*/;
   } else if (regop == 5) {
     Print("imul ");
     int count = PrintRightOperand(data + 1);
@@ -957,18 +1004,42 @@
   if (b1 == 0xD9) {
     const char* mnem = NULL;
     switch (b2) {
-      case 0xE0: mnem = "fchs"; break;
-      case 0xE1: mnem = "fabs"; break;
-      case 0xE4: mnem = "ftst"; break;
-      case 0xE8: mnem = "fld1"; break;
-      case 0xEE: mnem = "fldz"; break;
-      case 0xF2: mnem = "fptan"; break;
-      case 0xF5: mnem = "fprem1"; break;
-      case 0xF8: mnem = "fprem"; break;
-      case 0xF7: mnem = "fincstp"; break;
-      case 0xFB: mnem = "fsincos"; break;
-      case 0xFE: mnem = "fsin"; break;
-      case 0xFF: mnem = "fcos"; break;
+      case 0xE0:
+        mnem = "fchs";
+        break;
+      case 0xE1:
+        mnem = "fabs";
+        break;
+      case 0xE4:
+        mnem = "ftst";
+        break;
+      case 0xE8:
+        mnem = "fld1";
+        break;
+      case 0xEE:
+        mnem = "fldz";
+        break;
+      case 0xF2:
+        mnem = "fptan";
+        break;
+      case 0xF5:
+        mnem = "fprem1";
+        break;
+      case 0xF8:
+        mnem = "fprem";
+        break;
+      case 0xF7:
+        mnem = "fincstp";
+        break;
+      case 0xFB:
+        mnem = "fsincos";
+        break;
+      case 0xFE:
+        mnem = "fsin";
+        break;
+      case 0xFF:
+        mnem = "fcos";
+        break;
     }
     if (mnem != NULL) {
       Print(mnem);
@@ -979,14 +1050,23 @@
       return 2;
     } else {
       int mod, regop, rm;
-      GetModRm(*(data+1), &mod, &regop, &rm);
+      GetModRm(*(data + 1), &mod, &regop, &rm);
       const char* mnem = "? FPU 0xD9";
       switch (regop) {
-        case 0: mnem = "fld_s"; break;
-        case 3: mnem = "fstp_s"; break;
-        case 5: mnem = "fldcw"; break;
-        case 7: mnem = "fnstcw"; break;
-        default: UNIMPLEMENTED();
+        case 0:
+          mnem = "fld_s";
+          break;
+        case 3:
+          mnem = "fstp_s";
+          break;
+        case 5:
+          mnem = "fldcw";
+          break;
+        case 7:
+          mnem = "fnstcw";
+          break;
+        default:
+          UNIMPLEMENTED();
       }
       Print(mnem);
       Print(" ");
@@ -1000,12 +1080,17 @@
       return 2;
     } else {
       int mod, regop, rm;
-      GetModRm(*(data+1), &mod, &regop, &rm);
+      GetModRm(*(data + 1), &mod, &regop, &rm);
       const char* mnem = "? FPU 0xDD";
       switch (regop) {
-        case 0: mnem = "fld_d"; break;
-        case 3: mnem = "fstp_d"; break;
-       default: UNIMPLEMENTED();
+        case 0:
+          mnem = "fld_d";
+          break;
+        case 3:
+          mnem = "fstp_d";
+          break;
+        default:
+          UNIMPLEMENTED();
       }
       Print(mnem);
       Print(" ");
@@ -1014,13 +1099,20 @@
     }
   } else if (b1 == 0xDB) {
     int mod, regop, rm;
-    GetModRm(*(data+1), &mod, &regop, &rm);
+    GetModRm(*(data + 1), &mod, &regop, &rm);
     const char* mnem = "? FPU 0xDB";
     switch (regop) {
-      case 0: mnem = "fild_s"; break;
-      case 2: mnem = "fist_s"; break;
-      case 3: mnem = "fistp_s"; break;
-      default: UNIMPLEMENTED();
+      case 0:
+        mnem = "fild_s";
+        break;
+      case 2:
+        mnem = "fist_s";
+        break;
+      case 3:
+        mnem = "fistp_s";
+        break;
+      default:
+        UNIMPLEMENTED();
     }
     Print(mnem);
     Print(" ");
@@ -1032,12 +1124,17 @@
       return 2;
     }
     int mod, regop, rm;
-    GetModRm(*(data+1), &mod, &regop, &rm);
+    GetModRm(*(data + 1), &mod, &regop, &rm);
     const char* mnem = "? FPU 0xDF";
     switch (regop) {
-      case 5: mnem = "fild_d"; break;
-      case 7: mnem = "fistp_d"; break;
-      default: UNIMPLEMENTED();
+      case 5:
+        mnem = "fild_d";
+        break;
+      case 7:
+        mnem = "fistp_d";
+        break;
+      default:
+        UNIMPLEMENTED();
     }
     Print(mnem);
     Print(" ");
@@ -1051,11 +1148,20 @@
     }
     const char* mnem = "FP0xDC";
     switch (b2 & 0xF8) {
-      case 0xC0: mnem = "fadd"; break;
-      case 0xE8: mnem = "fsub"; break;
-      case 0xC8: mnem = "fmul"; break;
-      case 0xF8: mnem = "fdiv"; break;
-      default: UNIMPLEMENTED();
+      case 0xC0:
+        mnem = "fadd";
+        break;
+      case 0xE8:
+        mnem = "fsub";
+        break;
+      case 0xC8:
+        mnem = "fmul";
+        break;
+      case 0xF8:
+        mnem = "fdiv";
+        break;
+      default:
+        UNIMPLEMENTED();
     }
     Print(mnem);
     Print(is_pop ? "p" : "");
@@ -1072,7 +1178,8 @@
 }
 
 
-uint8_t* X86Decoder::SSEInstruction(uint8_t prefix, uint8_t primary,
+uint8_t* X86Decoder::SSEInstruction(uint8_t prefix,
+                                    uint8_t primary,
                                     uint8_t* data) {
   ASSERT(prefix == 0x0F);
   int mod, regop, rm;
@@ -1104,36 +1211,33 @@
 
 
 int X86Decoder::BitwisePDInstruction(uint8_t* data) {
-  const char* mnem = (*data == 0x57)
-      ? "xorpd"
-      : (*data == 0x56)
-        ? "orpd"
-        : "andpd";
+  const char* mnem =
+      (*data == 0x57) ? "xorpd" : (*data == 0x56) ? "orpd" : "andpd";
   int mod, regop, rm;
-  GetModRm(*(data+1), &mod, &regop, &rm);
+  GetModRm(*(data + 1), &mod, &regop, &rm);
   Print(mnem);
   Print(" ");
   PrintXmmRegister(regop);
   Print(",");
-  return 1 + PrintRightXmmOperand(data+1);
+  return 1 + PrintRightXmmOperand(data + 1);
 }
 
 
 int X86Decoder::Packed660F38Instruction(uint8_t* data) {
-  if (*(data+1) == 0x25) {
+  if (*(data + 1) == 0x25) {
     Print("pmovsxdq ");
     int mod, regop, rm;
-    GetModRm(*(data+2), &mod, &regop, &rm);
+    GetModRm(*(data + 2), &mod, &regop, &rm);
     PrintXmmRegister(regop);
     Print(",");
-    return 2 + PrintRightXmmOperand(data+2);
-  } else if (*(data+1) == 0x29) {
+    return 2 + PrintRightXmmOperand(data + 2);
+  } else if (*(data + 1) == 0x29) {
     Print("pcmpeqq ");
     int mod, regop, rm;
-    GetModRm(*(data+2), &mod, &regop, &rm);
+    GetModRm(*(data + 2), &mod, &regop, &rm);
     PrintXmmRegister(regop);
     Print(",");
-    return 2 + PrintRightXmmOperand(data+2);
+    return 2 + PrintRightXmmOperand(data + 2);
   }
   UNREACHABLE();
   return 1;
@@ -1196,10 +1300,9 @@
       return true;
 
     case MOVE_REG_INSTR: {
-      uword addr = *reinterpret_cast<uword*>(*data+1);
+      uword addr = *reinterpret_cast<uword*>(*data + 1);
       Print("mov ");
-      PrintCPURegister(**data & 0x07),
-      Print(",");
+      PrintCPURegister(**data & 0x07), Print(",");
       PrintAddress(addr);
       (*data) += 5;
       return true;
@@ -1207,7 +1310,7 @@
 
     case CALL_JUMP_INSTR: {
       uword addr = reinterpret_cast<uword>(*data) +
-                   *reinterpret_cast<uword*>(*data+1) + 5;
+                   *reinterpret_cast<uword*>(*data + 1) + 5;
       Print(idesc.mnem);
       Print(" ");
       PrintAddress(addr);
@@ -1216,7 +1319,7 @@
     }
 
     case SHORT_IMMEDIATE_INSTR: {
-      uword addr = *reinterpret_cast<uword*>(*data+1);
+      uword addr = *reinterpret_cast<uword*>(*data + 1);
       Print(idesc.mnem);
       Print(" eax, ");
       PrintAddress(addr);
@@ -1247,16 +1350,16 @@
     switch (*data) {
       case 0xC2:
         Print("ret ");
-        PrintHex(*reinterpret_cast<uint16_t*>(data+1));
+        PrintHex(*reinterpret_cast<uint16_t*>(data + 1));
         data += 3;
         break;
 
       case 0x69:  // fall through
-      case 0x6B:
-      { int mod, regop, rm;
-        GetModRm(*(data+1), &mod, &regop, &rm);
+      case 0x6B: {
+        int mod, regop, rm;
+        GetModRm(*(data + 1), &mod, &regop, &rm);
         int32_t imm =
-        *data == 0x6B ? *(data+2) : *reinterpret_cast<int32_t*>(data+2);
+            *data == 0x6B ? *(data + 2) : *reinterpret_cast<int32_t*>(data + 2);
         Print("imul ");
         PrintCPURegister(regop);
         Print(",");
@@ -1264,17 +1367,16 @@
         Print(",");
         PrintHex(imm);
         data += 2 + (*data == 0x6B ? 1 : 4);
-      }
-        break;
+      } break;
 
-      case 0xF6:
-      { int mod, regop, rm;
-        GetModRm(*(data+1), &mod, &regop, &rm);
+      case 0xF6: {
+        int mod, regop, rm;
+        GetModRm(*(data + 1), &mod, &regop, &rm);
         if ((mod == 3) && (regop == eax)) {
           Print("test_b ");
           PrintCPURegister(rm);
           Print(",");
-          PrintHex(*(data+2));
+          PrintHex(*(data + 2));
           data += 3;
         } else {
           data++;
@@ -1285,16 +1387,15 @@
           PrintHex(imm);
           data++;
         }
-      }
-        break;
+      } break;
 
       case 0x81:  // fall through
       case 0x83:  // 0x81 with sign extension bit set
         data += PrintImmediateOp(data);
         break;
 
-      case 0x0F:
-      { uint8_t f0byte = *(data+1);
+      case 0x0F: {
+        uint8_t f0byte = *(data + 1);
         const char* f0mnem = F0Mnem(f0byte);
         if (f0byte == 0xA2 || f0byte == 0x31) {
           Print(f0mnem);
@@ -1331,30 +1432,24 @@
           PrintXmmRegister(rm);
           data++;
         } else if (f0byte == 0x1F) {
-          if (*(data+2) == 0x00) {
+          if (*(data + 2) == 0x00) {
             Print("nop");
             data += 3;
-          } else if (*(data+2) == 0x40 && *(data+3) == 0x00) {
+          } else if (*(data + 2) == 0x40 && *(data + 3) == 0x00) {
             Print("nop");
             data += 4;
-          } else if (*(data+2) == 0x44 &&
-                     *(data+3) == 0x00 &&
-                     *(data+4) == 0x00) {
+          } else if (*(data + 2) == 0x44 && *(data + 3) == 0x00 &&
+                     *(data + 4) == 0x00) {
             Print("nop");
             data += 5;
-          } else if (*(data+2) == 0x80 &&
-                     *(data+3) == 0x00 &&
-                     *(data+4) == 0x00 &&
-                     *(data+5) == 0x00 &&
-                     *(data+6) == 0x00) {
+          } else if (*(data + 2) == 0x80 && *(data + 3) == 0x00 &&
+                     *(data + 4) == 0x00 && *(data + 5) == 0x00 &&
+                     *(data + 6) == 0x00) {
             Print("nop");
             data += 7;
-          } else if (*(data+2) == 0x84 &&
-                     *(data+3) == 0x00 &&
-                     *(data+4) == 0x00 &&
-                     *(data+5) == 0x00 &&
-                     *(data+6) == 0x00 &&
-                     *(data+7) == 0x00) {
+          } else if (*(data + 2) == 0x84 && *(data + 3) == 0x00 &&
+                     *(data + 4) == 0x00 && *(data + 5) == 0x00 &&
+                     *(data + 6) == 0x00 && *(data + 7) == 0x00) {
             Print("nop");
             data += 8;
           } else {
@@ -1410,42 +1505,51 @@
             UNIMPLEMENTED();
           }
         }
-      }
-        break;
+      } break;
 
-      case 0x8F:
-      { data++;
+      case 0x8F: {
+        data++;
         int mod, regop, rm;
         GetModRm(*data, &mod, &regop, &rm);
         if (regop == eax) {
           Print("pop ");
           data += PrintRightOperand(data);
         }
-      }
-        break;
+      } break;
 
-      case 0xFF:
-      { data++;
+      case 0xFF: {
+        data++;
         int mod, regop, rm;
         GetModRm(*data, &mod, &regop, &rm);
         const char* mnem = NULL;
         switch (regop) {
-          case esi: mnem = "push"; break;
-          case eax: mnem = "inc"; break;
-          case ecx: mnem = "dec"; break;
-          case edx: mnem = "call"; break;
-          case esp: mnem = "jmp"; break;
-          default: mnem = "??? 0xFF";
+          case esi:
+            mnem = "push";
+            break;
+          case eax:
+            mnem = "inc";
+            break;
+          case ecx:
+            mnem = "dec";
+            break;
+          case edx:
+            mnem = "call";
+            break;
+          case esp:
+            mnem = "jmp";
+            break;
+          default:
+            mnem = "??? 0xFF";
         }
         Print(mnem);
         Print(" ");
         data += PrintRightOperand(data);
-      }
-        break;
+      } break;
 
       case 0xC7:  // imm32, fall through
       case 0xC6:  // imm8
-      { bool is_byte = *data == 0xC6;
+      {
+        bool is_byte = *data == 0xC6;
         data++;
         Print(is_byte ? "mov_b" : "mov");
         Print(" ");
@@ -1454,23 +1558,22 @@
         Print(",");
         PrintHex(imm);
         data += is_byte ? 1 : 4;
-      }
-        break;
+      } break;
 
-      case 0x80:
-      { data++;
+      case 0x80: {
+        data++;
         Print("cmpb ");
         data += PrintRightOperand(data);
         int32_t imm = *data;
         Print(",");
         PrintHex(imm);
         data++;
-      }
-        break;
+      } break;
 
       case 0x88:  // 8bit, fall through
       case 0x89:  // 32bit
-      { bool is_byte = *data == 0x88;
+      {
+        bool is_byte = *data == 0x88;
         int mod, regop, rm;
         data++;
         GetModRm(*data, &mod, &regop, &rm);
@@ -1479,8 +1582,7 @@
         data += PrintRightOperand(data);
         Print(",");
         PrintCPURegister(regop);
-      }
-        break;
+      } break;
 
       case 0x66:  // prefix
         data++;
@@ -1525,10 +1627,8 @@
             PrintXmmRegister(regop);
           } else if (*data == 0x57 || *data == 0x56 || *data == 0x54) {
             data += BitwisePDInstruction(data);
-          } else if (*data == 0x1F &&
-                     *(data+1) == 0x44 &&
-                     *(data+2) == 0x00 &&
-                     *(data+3) == 0x00) {
+          } else if (*data == 0x1F && *(data + 1) == 0x44 &&
+                     *(data + 2) == 0x00 && *(data + 3) == 0x00) {
             data += 4;
             Print("nop");
           } else if (*data == 0x50) {
@@ -1539,7 +1639,7 @@
             PrintCPURegister(regop);
             Print(",");
             data += PrintRightXmmOperand(data);
-          } else if (*data == 0x3A && *(data+1) == 0x16) {
+          } else if (*data == 0x3A && *(data + 1) == 0x16) {
             Print("pextrd ");
             data += 2;
             int mod, regop, rm;
@@ -1548,13 +1648,13 @@
             Print(",");
             PrintXmmRegister(regop);
             Print(",");
-            PrintHex(*(data+1));
+            PrintHex(*(data + 1));
             data += 2;
           } else if (*data == 0x38) {
             data += Packed660F38Instruction(data);
           } else if (*data == 0xEF) {
             int mod, regop, rm;
-            GetModRm(*(data+1), &mod, &regop, &rm);
+            GetModRm(*(data + 1), &mod, &regop, &rm);
             Print("pxor ");
             PrintXmmRegister(regop);
             Print(",");
@@ -1578,7 +1678,7 @@
             }
           } else if (*data == 0x14) {
             int mod, regop, rm;
-            GetModRm(*(data+1), &mod, &regop, &rm);
+            GetModRm(*(data + 1), &mod, &regop, &rm);
             Print("unpcklpd ");
             PrintXmmRegister(regop);
             Print(",");
@@ -1586,7 +1686,7 @@
             data += 2;
           } else if (*data == 0x15) {
             int mod, regop, rm;
-            GetModRm(*(data+1), &mod, &regop, &rm);
+            GetModRm(*(data + 1), &mod, &regop, &rm);
             Print("unpckhpd ");
             PrintXmmRegister(regop);
             Print(",");
@@ -1598,7 +1698,7 @@
                      (*data == 0x51) || (*data == 0x5A)) {
             const char* mnemonic = PackedDoubleMnemonic(*data);
             int mod, regop, rm;
-            GetModRm(*(data+1), &mod, &regop, &rm);
+            GetModRm(*(data + 1), &mod, &regop, &rm);
             Print(mnemonic);
             PrintXmmRegister(regop);
             Print(",");
@@ -1646,8 +1746,8 @@
         }
         break;
 
-      case 0xFE:
-      { data++;
+      case 0xFE: {
+        data++;
         int mod, regop, rm;
         GetModRm(*data, &mod, &regop, &rm);
         if (mod == 3 && regop == ecx) {
@@ -1657,12 +1757,11 @@
           UNIMPLEMENTED();
         }
         data++;
-      }
-        break;
+      } break;
 
       case 0x68:
         Print("push ");
-        PrintHex(*reinterpret_cast<int32_t*>(data+1));
+        PrintHex(*reinterpret_cast<int32_t*>(data + 1));
         data += 5;
         break;
 
@@ -1674,13 +1773,13 @@
 
       case 0xA8:
         Print("test al,");
-        PrintHex(*reinterpret_cast<uint8_t*>(data+1));
+        PrintHex(*reinterpret_cast<uint8_t*>(data + 1));
         data += 2;
         break;
 
       case 0xA9:
         Print("test eax,");
-        PrintHex(*reinterpret_cast<int32_t*>(data+1));
+        PrintHex(*reinterpret_cast<int32_t*>(data + 1));
         CheckPrintStop(data);
         data += 5;
         break;
@@ -1709,8 +1808,8 @@
         data = F3Instruction(data);
         break;
       case 0xF2: {
-        if (*(data+1) == 0x0F) {
-          uint8_t b2 = *(data+2);
+        if (*(data + 1) == 0x0F) {
+          uint8_t b2 = *(data + 2);
           if (b2 == 0x11) {
             Print("movsd ");
             data += 3;
@@ -1730,16 +1829,35 @@
           } else {
             const char* mnem = "? 0xF2";
             switch (b2) {
-              case 0x2A: mnem = "cvtsi2sd"; break;
-              case 0x2C: mnem = "cvttsd2si"; break;
-              case 0x2D: mnem = "cvtsd2i"; break;
-              case 0x51: mnem = "sqrtsd"; break;
-              case 0x58: mnem = "addsd"; break;
-              case 0x59: mnem = "mulsd"; break;
-              case 0x5A: mnem = "cvtsd2ss"; break;
-              case 0x5C: mnem = "subsd"; break;
-              case 0x5E: mnem = "divsd"; break;
-              default: UNIMPLEMENTED();
+              case 0x2A:
+                mnem = "cvtsi2sd";
+                break;
+              case 0x2C:
+                mnem = "cvttsd2si";
+                break;
+              case 0x2D:
+                mnem = "cvtsd2i";
+                break;
+              case 0x51:
+                mnem = "sqrtsd";
+                break;
+              case 0x58:
+                mnem = "addsd";
+                break;
+              case 0x59:
+                mnem = "mulsd";
+                break;
+              case 0x5A:
+                mnem = "cvtsd2ss";
+                break;
+              case 0x5C:
+                mnem = "subsd";
+                break;
+              case 0x5E:
+                mnem = "divsd";
+                break;
+              default:
+                UNIMPLEMENTED();
             }
             data += 3;
             int mod, regop, rm;
@@ -1791,10 +1909,14 @@
 }  // NOLINT
 
 
-void Disassembler::DecodeInstruction(char* hex_buffer, intptr_t hex_size,
-                                     char* human_buffer, intptr_t human_size,
-                                     int* out_instr_len, const Code& code,
-                                     Object** object, uword pc) {
+void Disassembler::DecodeInstruction(char* hex_buffer,
+                                     intptr_t hex_size,
+                                     char* human_buffer,
+                                     intptr_t human_size,
+                                     int* out_instr_len,
+                                     const Code& code,
+                                     Object** object,
+                                     uword pc) {
   ASSERT(hex_size > 0);
   ASSERT(human_size > 0);
   X86Decoder decoder(human_buffer, human_size);
diff --git a/runtime/vm/disassembler_mips.cc b/runtime/vm/disassembler_mips.cc
index 49fbb33..23244b3 100644
--- a/runtime/vm/disassembler_mips.cc
+++ b/runtime/vm/disassembler_mips.cc
@@ -16,9 +16,7 @@
 class MIPSDecoder : public ValueObject {
  public:
   MIPSDecoder(char* buffer, size_t buffer_size)
-      : buffer_(buffer),
-        buffer_size_(buffer_size),
-        buffer_pos_(0) {
+      : buffer_(buffer), buffer_size_(buffer_size), buffer_pos_(0) {
     buffer_[buffer_pos_] = '\0';
   }
 
@@ -53,9 +51,9 @@
   char* current_position_in_buffer() { return buffer_ + buffer_pos_; }
   size_t remaining_size_in_buffer() { return buffer_size_ - buffer_pos_; }
 
-  char* buffer_;  // Decode instructions into this buffer.
+  char* buffer_;        // Decode instructions into this buffer.
   size_t buffer_size_;  // The size of the character buffer.
-  size_t buffer_pos_;  // Current character position in buffer.
+  size_t buffer_pos_;   // Current character position in buffer.
 
   DISALLOW_ALLOCATION();
   DISALLOW_COPY_AND_ASSIGN(MIPSDecoder);
@@ -63,7 +61,7 @@
 
 
 // Support for assertions in the MIPSDecoder formatting functions.
-#define STRING_STARTS_WITH(string, compare_string) \
+#define STRING_STARTS_WITH(string, compare_string)                             \
   (strncmp(string, compare_string, strlen(compare_string)) == 0)
 
 
@@ -79,18 +77,16 @@
 
 
 static const char* reg_names[kNumberOfCpuRegisters] = {
-  "zr", "at", "v0", "v1" , "a0", "a1", "a2", "a3",
-  "t0", "t1", "t2", "t3" , "t4", "t5", "t6", "t7",
-  "s0", "s1", "s2", "thr", "s4", "s5", "s6", "pp",
-  "t8", "t9", "k0", "k1" , "gp", "sp", "fp", "ra",
+    "zr", "at", "v0", "v1", "a0", "a1", "a2", "a3", "t0",  "t1", "t2",
+    "t3", "t4", "t5", "t6", "t7", "s0", "s1", "s2", "thr", "s4", "s5",
+    "s6", "pp", "t8", "t9", "k0", "k1", "gp", "sp", "fp",  "ra",
 };
 
 
 static const char* freg_names[kNumberOfFRegisters] = {
-  "f0" , "f1" , "f2" , "f3" , "f4" , "f5" , "f6" , "f7" ,
-  "f8" , "f9" , "f10", "f11", "f12", "f13", "f14", "f15",
-  "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
-  "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
+    "f0",  "f1",  "f2",  "f3",  "f4",  "f5",  "f6",  "f7",  "f8",  "f9",  "f10",
+    "f11", "f12", "f13", "f14", "f15", "f16", "f17", "f18", "f19", "f20", "f21",
+    "f22", "f23", "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
 };
 
 
@@ -152,7 +148,7 @@
 }
 
 
-void MIPSDecoder::PrintFormat(Instr *instr) {
+void MIPSDecoder::PrintFormat(Instr* instr) {
   switch (instr->FormatField()) {
     case FMT_S: {
       Print("s");
@@ -191,10 +187,9 @@
   switch (format[0]) {
     case 'c': {
       ASSERT(STRING_STARTS_WITH(format, "code"));
-      buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                remaining_size_in_buffer(),
-                                "0x%x",
-                                 instr->BreakCodeField());
+      buffer_pos_ +=
+          OS::SNPrint(current_position_in_buffer(), remaining_size_in_buffer(),
+                      "0x%x", instr->BreakCodeField());
       return 4;
     }
     case 'h': {
@@ -203,12 +198,10 @@
         // The high bit of the SA field is the only one that means something for
         // JALR and JR. TODO(zra): Fill in the other cases for PREF if needed.
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   ".hb");
+                                   remaining_size_in_buffer(), ".hb");
       } else if (instr->SaField() != 0) {
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                           remaining_size_in_buffer(),
-                           ".unknown");
+                                   remaining_size_in_buffer(), ".unknown");
       }
       return 4;
     }
@@ -217,10 +210,9 @@
       int off = instr->SImmField() << 2;
       uword destination =
           reinterpret_cast<uword>(instr) + off + Instr::kInstrSize;
-      buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                 remaining_size_in_buffer(),
-                                 "%#" Px "",
-                                 destination);
+      buffer_pos_ +=
+          OS::SNPrint(current_position_in_buffer(), remaining_size_in_buffer(),
+                      "%#" Px "", destination);
       return 4;
     }
     case 'i': {
@@ -228,16 +220,12 @@
       if (format[3] == 'u') {
         int32_t imm = instr->UImmField();
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "0x%x",
-                                   imm);
+                                   remaining_size_in_buffer(), "0x%x", imm);
       } else {
         ASSERT(STRING_STARTS_WITH(format, "imms"));
         int32_t imm = instr->SImmField();
         buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   "%d",
-                                   imm);
+                                   remaining_size_in_buffer(), "%d", imm);
       }
       return 4;
     }
@@ -255,15 +243,12 @@
     }
     case 's': {
       ASSERT(STRING_STARTS_WITH(format, "sa"));
-      buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                 remaining_size_in_buffer(),
-                                 "%d",
-                                 instr->SaField());
+      buffer_pos_ +=
+          OS::SNPrint(current_position_in_buffer(), remaining_size_in_buffer(),
+                      "%d", instr->SaField());
       return 2;
     }
-    default: {
-      UNREACHABLE();
-    }
+    default: { UNREACHABLE(); }
   }
   UNREACHABLE();
   return -1;
@@ -283,7 +268,7 @@
     }
     cur = *format++;
   }
-  buffer_[buffer_pos_]  = '\0';
+  buffer_[buffer_pos_] = '\0';
 }
 
 
@@ -310,10 +295,9 @@
       if (instr->BreakCodeField() == Instr::kStopMessageCode) {
         const char* message = *reinterpret_cast<const char**>(
             reinterpret_cast<intptr_t>(instr) - Instr::kInstrSize);
-        buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
-                                   remaining_size_in_buffer(),
-                                   " ; \"%s\"",
-                                   message);
+        buffer_pos_ +=
+            OS::SNPrint(current_position_in_buffer(),
+                        remaining_size_in_buffer(), " ; \"%s\"", message);
       }
       break;
     }
@@ -390,8 +374,7 @@
       break;
     }
     case SLL: {
-      if ((instr->RdField() == R0) &&
-          (instr->RtField() == R0) &&
+      if ((instr->RdField() == R0) && (instr->RtField() == R0) &&
           (instr->SaField() == 0)) {
         Format(instr, "nop");
       } else {
@@ -777,10 +760,14 @@
 }
 
 
-void Disassembler::DecodeInstruction(char* hex_buffer, intptr_t hex_size,
-                                     char* human_buffer, intptr_t human_size,
-                                     int* out_instr_len, const Code& code,
-                                     Object** object, uword pc) {
+void Disassembler::DecodeInstruction(char* hex_buffer,
+                                     intptr_t hex_size,
+                                     char* human_buffer,
+                                     intptr_t human_size,
+                                     int* out_instr_len,
+                                     const Code& code,
+                                     Object** object,
+                                     uword pc) {
   MIPSDecoder decoder(human_buffer, human_size);
   Instr* instr = Instr::At(pc);
   decoder.InstructionDecode(instr);
diff --git a/runtime/vm/disassembler_x64.cc b/runtime/vm/disassembler_x64.cc
index f389415..fe384dc 100644
--- a/runtime/vm/disassembler_x64.cc
+++ b/runtime/vm/disassembler_x64.cc
@@ -40,97 +40,79 @@
 
 
 static const ByteMnemonic two_operands_instr[] = {
-  { 0x00, BYTE_OPER_REG_OP_ORDER, "add" },
-  { 0x01, OPER_REG_OP_ORDER,      "add" },
-  { 0x02, BYTE_REG_OPER_OP_ORDER, "add" },
-  { 0x03, REG_OPER_OP_ORDER,      "add" },
-  { 0x08, BYTE_OPER_REG_OP_ORDER, "or" },
-  { 0x09, OPER_REG_OP_ORDER,      "or" },
-  { 0x0A, BYTE_REG_OPER_OP_ORDER, "or" },
-  { 0x0B, REG_OPER_OP_ORDER,      "or" },
-  { 0x10, BYTE_OPER_REG_OP_ORDER, "adc" },
-  { 0x11, OPER_REG_OP_ORDER,      "adc" },
-  { 0x12, BYTE_REG_OPER_OP_ORDER, "adc" },
-  { 0x13, REG_OPER_OP_ORDER,      "adc" },
-  { 0x18, BYTE_OPER_REG_OP_ORDER, "sbb" },
-  { 0x19, OPER_REG_OP_ORDER,      "sbb" },
-  { 0x1A, BYTE_REG_OPER_OP_ORDER, "sbb" },
-  { 0x1B, REG_OPER_OP_ORDER,      "sbb" },
-  { 0x20, BYTE_OPER_REG_OP_ORDER, "and" },
-  { 0x21, OPER_REG_OP_ORDER,      "and" },
-  { 0x22, BYTE_REG_OPER_OP_ORDER, "and" },
-  { 0x23, REG_OPER_OP_ORDER,      "and" },
-  { 0x28, BYTE_OPER_REG_OP_ORDER, "sub" },
-  { 0x29, OPER_REG_OP_ORDER,      "sub" },
-  { 0x2A, BYTE_REG_OPER_OP_ORDER, "sub" },
-  { 0x2B, REG_OPER_OP_ORDER,      "sub" },
-  { 0x30, BYTE_OPER_REG_OP_ORDER, "xor" },
-  { 0x31, OPER_REG_OP_ORDER,      "xor" },
-  { 0x32, BYTE_REG_OPER_OP_ORDER, "xor" },
-  { 0x33, REG_OPER_OP_ORDER,      "xor" },
-  { 0x38, BYTE_OPER_REG_OP_ORDER, "cmp" },
-  { 0x39, OPER_REG_OP_ORDER,      "cmp" },
-  { 0x3A, BYTE_REG_OPER_OP_ORDER, "cmp" },
-  { 0x3B, REG_OPER_OP_ORDER,      "cmp" },
-  { 0x63, REG_OPER_OP_ORDER,      "movsxd" },
-  { 0x84, BYTE_REG_OPER_OP_ORDER, "test" },
-  { 0x85, REG_OPER_OP_ORDER,      "test" },
-  { 0x86, BYTE_REG_OPER_OP_ORDER, "xchg" },
-  { 0x87, REG_OPER_OP_ORDER,      "xchg" },
-  { 0x88, BYTE_OPER_REG_OP_ORDER, "mov" },
-  { 0x89, OPER_REG_OP_ORDER,      "mov" },
-  { 0x8A, BYTE_REG_OPER_OP_ORDER, "mov" },
-  { 0x8B, REG_OPER_OP_ORDER,      "mov" },
-  { 0x8D, REG_OPER_OP_ORDER,      "lea" },
-  { -1, UNSET_OP_ORDER, "" }
-};
+    {0x00, BYTE_OPER_REG_OP_ORDER, "add"},
+    {0x01, OPER_REG_OP_ORDER, "add"},
+    {0x02, BYTE_REG_OPER_OP_ORDER, "add"},
+    {0x03, REG_OPER_OP_ORDER, "add"},
+    {0x08, BYTE_OPER_REG_OP_ORDER, "or"},
+    {0x09, OPER_REG_OP_ORDER, "or"},
+    {0x0A, BYTE_REG_OPER_OP_ORDER, "or"},
+    {0x0B, REG_OPER_OP_ORDER, "or"},
+    {0x10, BYTE_OPER_REG_OP_ORDER, "adc"},
+    {0x11, OPER_REG_OP_ORDER, "adc"},
+    {0x12, BYTE_REG_OPER_OP_ORDER, "adc"},
+    {0x13, REG_OPER_OP_ORDER, "adc"},
+    {0x18, BYTE_OPER_REG_OP_ORDER, "sbb"},
+    {0x19, OPER_REG_OP_ORDER, "sbb"},
+    {0x1A, BYTE_REG_OPER_OP_ORDER, "sbb"},
+    {0x1B, REG_OPER_OP_ORDER, "sbb"},
+    {0x20, BYTE_OPER_REG_OP_ORDER, "and"},
+    {0x21, OPER_REG_OP_ORDER, "and"},
+    {0x22, BYTE_REG_OPER_OP_ORDER, "and"},
+    {0x23, REG_OPER_OP_ORDER, "and"},
+    {0x28, BYTE_OPER_REG_OP_ORDER, "sub"},
+    {0x29, OPER_REG_OP_ORDER, "sub"},
+    {0x2A, BYTE_REG_OPER_OP_ORDER, "sub"},
+    {0x2B, REG_OPER_OP_ORDER, "sub"},
+    {0x30, BYTE_OPER_REG_OP_ORDER, "xor"},
+    {0x31, OPER_REG_OP_ORDER, "xor"},
+    {0x32, BYTE_REG_OPER_OP_ORDER, "xor"},
+    {0x33, REG_OPER_OP_ORDER, "xor"},
+    {0x38, BYTE_OPER_REG_OP_ORDER, "cmp"},
+    {0x39, OPER_REG_OP_ORDER, "cmp"},
+    {0x3A, BYTE_REG_OPER_OP_ORDER, "cmp"},
+    {0x3B, REG_OPER_OP_ORDER, "cmp"},
+    {0x63, REG_OPER_OP_ORDER, "movsxd"},
+    {0x84, BYTE_REG_OPER_OP_ORDER, "test"},
+    {0x85, REG_OPER_OP_ORDER, "test"},
+    {0x86, BYTE_REG_OPER_OP_ORDER, "xchg"},
+    {0x87, REG_OPER_OP_ORDER, "xchg"},
+    {0x88, BYTE_OPER_REG_OP_ORDER, "mov"},
+    {0x89, OPER_REG_OP_ORDER, "mov"},
+    {0x8A, BYTE_REG_OPER_OP_ORDER, "mov"},
+    {0x8B, REG_OPER_OP_ORDER, "mov"},
+    {0x8D, REG_OPER_OP_ORDER, "lea"},
+    {-1, UNSET_OP_ORDER, ""}};
 
 
 static const ByteMnemonic zero_operands_instr[] = {
-  { 0xC3, UNSET_OP_ORDER, "ret" },
-  { 0xC9, UNSET_OP_ORDER, "leave" },
-  { 0xF4, UNSET_OP_ORDER, "hlt" },
-  { 0xFC, UNSET_OP_ORDER, "cld" },
-  { 0xCC, UNSET_OP_ORDER, "int3" },
-  { 0x60, UNSET_OP_ORDER, "pushad" },
-  { 0x61, UNSET_OP_ORDER, "popad" },
-  { 0x9C, UNSET_OP_ORDER, "pushfd" },
-  { 0x9D, UNSET_OP_ORDER, "popfd" },
-  { 0x9E, UNSET_OP_ORDER, "sahf" },
-  { 0x99, UNSET_OP_ORDER, "cdq" },
-  { 0x9B, UNSET_OP_ORDER, "fwait" },
-  { 0xA4, UNSET_OP_ORDER, "movs" },
-  { 0xA5, UNSET_OP_ORDER, "movs" },
-  { 0xA6, UNSET_OP_ORDER, "cmps" },
-  { 0xA7, UNSET_OP_ORDER, "cmps" },
-  { -1, UNSET_OP_ORDER, "" }
-};
+    {0xC3, UNSET_OP_ORDER, "ret"},   {0xC9, UNSET_OP_ORDER, "leave"},
+    {0xF4, UNSET_OP_ORDER, "hlt"},   {0xFC, UNSET_OP_ORDER, "cld"},
+    {0xCC, UNSET_OP_ORDER, "int3"},  {0x60, UNSET_OP_ORDER, "pushad"},
+    {0x61, UNSET_OP_ORDER, "popad"}, {0x9C, UNSET_OP_ORDER, "pushfd"},
+    {0x9D, UNSET_OP_ORDER, "popfd"}, {0x9E, UNSET_OP_ORDER, "sahf"},
+    {0x99, UNSET_OP_ORDER, "cdq"},   {0x9B, UNSET_OP_ORDER, "fwait"},
+    {0xA4, UNSET_OP_ORDER, "movs"},  {0xA5, UNSET_OP_ORDER, "movs"},
+    {0xA6, UNSET_OP_ORDER, "cmps"},  {0xA7, UNSET_OP_ORDER, "cmps"},
+    {-1, UNSET_OP_ORDER, ""}};
 
 
-static const ByteMnemonic call_jump_instr[] = {
-  { 0xE8, UNSET_OP_ORDER, "call" },
-  { 0xE9, UNSET_OP_ORDER, "jmp" },
-  { -1, UNSET_OP_ORDER, "" }
-};
+static const ByteMnemonic call_jump_instr[] = {{0xE8, UNSET_OP_ORDER, "call"},
+                                               {0xE9, UNSET_OP_ORDER, "jmp"},
+                                               {-1, UNSET_OP_ORDER, ""}};
 
 
 static const ByteMnemonic short_immediate_instr[] = {
-  { 0x05, UNSET_OP_ORDER, "add" },
-  { 0x0D, UNSET_OP_ORDER, "or" },
-  { 0x15, UNSET_OP_ORDER, "adc" },
-  { 0x1D, UNSET_OP_ORDER, "sbb" },
-  { 0x25, UNSET_OP_ORDER, "and" },
-  { 0x2D, UNSET_OP_ORDER, "sub" },
-  { 0x35, UNSET_OP_ORDER, "xor" },
-  { 0x3D, UNSET_OP_ORDER, "cmp" },
-  { -1, UNSET_OP_ORDER, "" }
-};
+    {0x05, UNSET_OP_ORDER, "add"}, {0x0D, UNSET_OP_ORDER, "or"},
+    {0x15, UNSET_OP_ORDER, "adc"}, {0x1D, UNSET_OP_ORDER, "sbb"},
+    {0x25, UNSET_OP_ORDER, "and"}, {0x2D, UNSET_OP_ORDER, "sub"},
+    {0x35, UNSET_OP_ORDER, "xor"}, {0x3D, UNSET_OP_ORDER, "cmp"},
+    {-1, UNSET_OP_ORDER, ""}};
 
 
 static const char* const conditional_code_suffix[] = {
-  "o", "no", "c", "nc", "z", "nz", "na", "a",
-  "s", "ns", "pe", "po", "l", "ge", "le", "g"
-};
+    "o", "no", "c",  "nc", "z", "nz", "na", "a",
+    "s", "ns", "pe", "po", "l", "ge", "le", "g"};
 
 
 enum InstructionType {
@@ -167,9 +149,7 @@
 class InstructionTable : public ValueObject {
  public:
   InstructionTable();
-  const InstructionDesc& Get(uint8_t x) const {
-    return instructions_[x];
-  }
+  const InstructionDesc& Get(uint8_t x) const { return instructions_[x]; }
 
  private:
   InstructionDesc instructions_[256];
@@ -249,7 +229,7 @@
   for (uint8_t b = 0x70; b <= 0x7F; b++) {
     InstructionDesc* id = &instructions_[b];
     ASSERT(NO_INSTR == id->type);  // Information not already entered
-    id->mnem = NULL;  // Computed depending on condition code.
+    id->mnem = NULL;               // Computed depending on condition code.
     id->type = JUMP_CONDITIONAL_SHORT_INSTR;
   }
 }
@@ -259,23 +239,22 @@
 
 
 static InstructionDesc cmov_instructions[16] = {
-  {"cmovo", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
-  {"cmovno", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
-  {"cmovc", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
-  {"cmovnc", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
-  {"cmovz", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
-  {"cmovnz", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
-  {"cmovna", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
-  {"cmova", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
-  {"cmovs", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
-  {"cmovns", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
-  {"cmovpe", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
-  {"cmovpo", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
-  {"cmovl", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
-  {"cmovge", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
-  {"cmovle", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
-  {"cmovg", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false}
-};
+    {"cmovo", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
+    {"cmovno", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
+    {"cmovc", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
+    {"cmovnc", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
+    {"cmovz", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
+    {"cmovnz", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
+    {"cmovna", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
+    {"cmova", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
+    {"cmovs", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
+    {"cmovns", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
+    {"cmovpe", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
+    {"cmovpo", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
+    {"cmovl", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
+    {"cmovge", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
+    {"cmovle", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
+    {"cmovg", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false}};
 
 
 //-------------------------------------------------
@@ -284,9 +263,8 @@
 
 static const int kMaxXmmRegisters = 16;
 static const char* xmm_regs[kMaxXmmRegisters] = {
-  "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7",
-  "xmm8", "xmm9", "xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15"
-};
+    "xmm0", "xmm1", "xmm2",  "xmm3",  "xmm4",  "xmm5",  "xmm6",  "xmm7",
+    "xmm8", "xmm9", "xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15"};
 
 class DisassemblerX64 : public ValueObject {
  public:
@@ -301,8 +279,7 @@
     buffer_[buffer_pos_] = '\0';
   }
 
-  virtual ~DisassemblerX64() {
-  }
+  virtual ~DisassemblerX64() {}
 
   int InstructionDecode(uword pc);
 
@@ -339,24 +316,16 @@
     return DOUBLEWORD_SIZE;
   }
 
-  char operand_size_code() {
-    return "bwlq"[operand_size()];
-  }
+  char operand_size_code() { return "bwlq"[operand_size()]; }
 
   // Disassembler helper functions.
-  void get_modrm(uint8_t data,
-                 int* mod,
-                 int* regop,
-                 int* rm) {
+  void get_modrm(uint8_t data, int* mod, int* regop, int* rm) {
     *mod = (data >> 6) & 3;
     *regop = ((data & 0x38) >> 3) | (rex_r() ? 8 : 0);
     *rm = (data & 7) | (rex_b() ? 8 : 0);
   }
 
-  void get_sib(uint8_t data,
-               int* scale,
-               int* index,
-               int* base) {
+  void get_sib(uint8_t data, int* scale, int* index, int* base) {
     *scale = (data >> 6) & 3;
     *index = ((data >> 3) & 7) | (rex_x() ? 8 : 0);
     *base = (data & 7) | (rex_b() ? 8 : 0);
@@ -378,9 +347,7 @@
   void Print(const char* format, ...) PRINTF_ATTRIBUTE(2, 3);
   void PrintAddress(uint8_t* addr);
 
-  int PrintOperands(const char* mnem,
-                    OperandType op_order,
-                    uint8_t* data);
+  int PrintOperands(const char* mnem, OperandType op_order, uint8_t* data);
 
   typedef const char* (DisassemblerX64::*RegisterNameMapping)(int reg) const;
 
@@ -408,13 +375,11 @@
 
   bool DecodeInstructionType(uint8_t** data);
 
-  void UnimplementedInstruction() {
-    Print("'Unimplemented Instruction'");
-  }
+  void UnimplementedInstruction() { Print("'Unimplemented Instruction'"); }
 
-  char* buffer_;  // Decode instructions into this buffer.
+  char* buffer_;          // Decode instructions into this buffer.
   intptr_t buffer_size_;  // The size of the buffer_.
-  intptr_t buffer_pos_;  // Current character position in the buffer_.
+  intptr_t buffer_pos_;   // Current character position in the buffer_.
 
   // Prefixes parsed
   uint8_t rex_;
@@ -451,8 +416,8 @@
     RegisterNameMapping direct_register_name) {
   int mod, regop, rm;
   get_modrm(*modrmp, &mod, &regop, &rm);
-  RegisterNameMapping register_name = (mod == 3) ? direct_register_name :
-      &DisassemblerX64::NameOfCPURegister;
+  RegisterNameMapping register_name =
+      (mod == 3) ? direct_register_name : &DisassemblerX64::NameOfCPURegister;
   switch (mod) {
     case 0:
       if ((rm & 7) == 5) {
@@ -478,9 +443,7 @@
           return 6;
         } else if (index != 4 && base != 5) {
           // [base+index*scale]
-          Print("[%s+%s*%d]",
-                NameOfCPURegister(base),
-                NameOfCPURegister(index),
+          Print("[%s+%s*%d]", NameOfCPURegister(base), NameOfCPURegister(index),
                 1 << scale);
           return 2;
         } else {
@@ -504,9 +467,7 @@
           Print("[%s", NameOfCPURegister(base));
           PrintDisp(disp, "]");
         } else {
-          Print("[%s+%s*%d",
-                NameOfCPURegister(base),
-                NameOfCPURegister(index),
+          Print("[%s+%s*%d", NameOfCPURegister(base), NameOfCPURegister(index),
                 1 << scale);
           PrintDisp(disp, "]");
         }
@@ -578,8 +539,6 @@
 }
 
 
-
-
 // Returns number of bytes used by machine instruction, including *data byte.
 // Writes immediate instructions to 'tmp_buffer_'.
 int DisassemblerX64::PrintImmediateOp(uint8_t* data) {
@@ -652,10 +611,7 @@
       default:
         UnimplementedInstruction();
     }
-    Print("%s%c %s",
-          mnem,
-          operand_size_code(),
-          NameOfCPURegister(rm));
+    Print("%s%c %s", mnem, operand_size_code(), NameOfCPURegister(rm));
     return 2;
   } else if (regop == 0) {
     Print("test%c ", operand_size_code());
@@ -720,11 +676,8 @@
     imm8 = *(data + 2);
     num_bytes = 3;
   }
-  Print("%s%c %s,",
-        mnem,
-        operand_size_code(),
-        byte_size_operand_ ? NameOfByteCPURegister(rm)
-                           : NameOfCPURegister(rm));
+  Print("%s%c %s,", mnem, operand_size_code(),
+        byte_size_operand_ ? NameOfByteCPURegister(rm) : NameOfCPURegister(rm));
   if (op == 0xD2) {
     Print("cl");
   } else {
@@ -735,8 +688,7 @@
 
 
 int DisassemblerX64::PrintRightOperand(uint8_t* modrmp) {
-  return PrintRightOperandHelper(modrmp,
-                                 &DisassemblerX64::NameOfCPURegister);
+  return PrintRightOperandHelper(modrmp, &DisassemblerX64::NameOfCPURegister);
 }
 
 
@@ -747,8 +699,7 @@
 
 
 int DisassemblerX64::PrintRightXMMOperand(uint8_t* modrmp) {
-  return PrintRightOperandHelper(modrmp,
-                                 &DisassemblerX64::NameOfXMMRegister);
+  return PrintRightOperandHelper(modrmp, &DisassemblerX64::NameOfXMMRegister);
 }
 
 
@@ -761,9 +712,8 @@
   int mod, regop, rm;
   get_modrm(modrm, &mod, &regop, &rm);
   int advance = 0;
-  const char* register_name =
-      byte_size_operand_ ? NameOfByteCPURegister(regop)
-                         : NameOfCPURegister(regop);
+  const char* register_name = byte_size_operand_ ? NameOfByteCPURegister(regop)
+                                                 : NameOfCPURegister(regop);
   switch (op_order) {
     case REG_OPER_OP_ORDER: {
       Print("%s%c %s,", mnem, operand_size_code(), register_name);
@@ -842,12 +792,12 @@
 int DisassemblerX64::FPUInstruction(uint8_t* data) {
   uint8_t escape_opcode = *data;
   ASSERT(0xD8 == (escape_opcode & 0xF8));
-  uint8_t modrm_byte = *(data+1);
+  uint8_t modrm_byte = *(data + 1);
 
   if (modrm_byte >= 0xC0) {
     return RegisterFPUInstruction(escape_opcode, modrm_byte);
   } else {
-    return MemoryFPUInstruction(escape_opcode, modrm_byte, data+1);
+    return MemoryFPUInstruction(escape_opcode, modrm_byte, data + 1);
   }
 }
 
@@ -858,38 +808,69 @@
   const char* mnem = "?";
   int regop = (modrm_byte >> 3) & 0x7;  // reg/op field of modrm byte.
   switch (escape_opcode) {
-    case 0xD9: switch (regop) {
-        case 0: mnem = "fld_s"; break;
-        case 3: mnem = "fstp_s"; break;
-        case 7: mnem = "fstcw"; break;
-        default: UnimplementedInstruction();
+    case 0xD9:
+      switch (regop) {
+        case 0:
+          mnem = "fld_s";
+          break;
+        case 3:
+          mnem = "fstp_s";
+          break;
+        case 7:
+          mnem = "fstcw";
+          break;
+        default:
+          UnimplementedInstruction();
       }
       break;
 
-    case 0xDB: switch (regop) {
-        case 0: mnem = "fild_s"; break;
-        case 1: mnem = "fisttp_s"; break;
-        case 2: mnem = "fist_s"; break;
-        case 3: mnem = "fistp_s"; break;
-        default: UnimplementedInstruction();
+    case 0xDB:
+      switch (regop) {
+        case 0:
+          mnem = "fild_s";
+          break;
+        case 1:
+          mnem = "fisttp_s";
+          break;
+        case 2:
+          mnem = "fist_s";
+          break;
+        case 3:
+          mnem = "fistp_s";
+          break;
+        default:
+          UnimplementedInstruction();
       }
       break;
 
-    case 0xDD: switch (regop) {
-        case 0: mnem = "fld_d"; break;
-        case 3: mnem = "fstp_d"; break;
-        default: UnimplementedInstruction();
+    case 0xDD:
+      switch (regop) {
+        case 0:
+          mnem = "fld_d";
+          break;
+        case 3:
+          mnem = "fstp_d";
+          break;
+        default:
+          UnimplementedInstruction();
       }
       break;
 
-    case 0xDF: switch (regop) {
-        case 5: mnem = "fild_d"; break;
-        case 7: mnem = "fistp_d"; break;
-        default: UnimplementedInstruction();
+    case 0xDF:
+      switch (regop) {
+        case 5:
+          mnem = "fild_d";
+          break;
+        case 7:
+          mnem = "fistp_d";
+          break;
+        default:
+          UnimplementedInstruction();
       }
       break;
 
-    default: UnimplementedInstruction();
+    default:
+      UnimplementedInstruction();
   }
   Print("%s ", mnem);
   int count = PrintRightOperand(modrm_start);
@@ -918,24 +899,59 @@
           break;
         default:
           switch (modrm_byte) {
-            case 0xE0: mnem = "fchs"; break;
-            case 0xE1: mnem = "fabs"; break;
-            case 0xE3: mnem = "fninit"; break;
-            case 0xE4: mnem = "ftst"; break;
-            case 0xE8: mnem = "fld1"; break;
-            case 0xEB: mnem = "fldpi"; break;
-            case 0xED: mnem = "fldln2"; break;
-            case 0xEE: mnem = "fldz"; break;
-            case 0xF0: mnem = "f2xm1"; break;
-            case 0xF1: mnem = "fyl2x"; break;
-            case 0xF2: mnem = "fptan"; break;
-            case 0xF5: mnem = "fprem1"; break;
-            case 0xF7: mnem = "fincstp"; break;
-            case 0xF8: mnem = "fprem"; break;
-            case 0xFD: mnem = "fscale"; break;
-            case 0xFE: mnem = "fsin"; break;
-            case 0xFF: mnem = "fcos"; break;
-            default: UnimplementedInstruction();
+            case 0xE0:
+              mnem = "fchs";
+              break;
+            case 0xE1:
+              mnem = "fabs";
+              break;
+            case 0xE3:
+              mnem = "fninit";
+              break;
+            case 0xE4:
+              mnem = "ftst";
+              break;
+            case 0xE8:
+              mnem = "fld1";
+              break;
+            case 0xEB:
+              mnem = "fldpi";
+              break;
+            case 0xED:
+              mnem = "fldln2";
+              break;
+            case 0xEE:
+              mnem = "fldz";
+              break;
+            case 0xF0:
+              mnem = "f2xm1";
+              break;
+            case 0xF1:
+              mnem = "fyl2x";
+              break;
+            case 0xF2:
+              mnem = "fptan";
+              break;
+            case 0xF5:
+              mnem = "fprem1";
+              break;
+            case 0xF7:
+              mnem = "fincstp";
+              break;
+            case 0xF8:
+              mnem = "fprem";
+              break;
+            case 0xFD:
+              mnem = "fscale";
+              break;
+            case 0xFE:
+              mnem = "fsin";
+              break;
+            case 0xFF:
+              mnem = "fcos";
+              break;
+            default:
+              UnimplementedInstruction();
           }
       }
       break;
@@ -952,7 +968,7 @@
       if ((modrm_byte & 0xF8) == 0xE8) {
         mnem = "fucomi";
         has_register = true;
-      } else if (modrm_byte  == 0xE2) {
+      } else if (modrm_byte == 0xE2) {
         mnem = "fclex";
       } else {
         UnimplementedInstruction();
@@ -962,34 +978,57 @@
     case 0xDC:
       has_register = true;
       switch (modrm_byte & 0xF8) {
-        case 0xC0: mnem = "fadd"; break;
-        case 0xE8: mnem = "fsub"; break;
-        case 0xC8: mnem = "fmul"; break;
-        case 0xF8: mnem = "fdiv"; break;
-        default: UnimplementedInstruction();
+        case 0xC0:
+          mnem = "fadd";
+          break;
+        case 0xE8:
+          mnem = "fsub";
+          break;
+        case 0xC8:
+          mnem = "fmul";
+          break;
+        case 0xF8:
+          mnem = "fdiv";
+          break;
+        default:
+          UnimplementedInstruction();
       }
       break;
 
     case 0xDD:
       has_register = true;
       switch (modrm_byte & 0xF8) {
-        case 0xC0: mnem = "ffree"; break;
-        case 0xD8: mnem = "fstp"; break;
-        default: UnimplementedInstruction();
+        case 0xC0:
+          mnem = "ffree";
+          break;
+        case 0xD8:
+          mnem = "fstp";
+          break;
+        default:
+          UnimplementedInstruction();
       }
       break;
 
     case 0xDE:
-      if (modrm_byte  == 0xD9) {
+      if (modrm_byte == 0xD9) {
         mnem = "fcompp";
       } else {
         has_register = true;
         switch (modrm_byte & 0xF8) {
-          case 0xC0: mnem = "faddp"; break;
-          case 0xE8: mnem = "fsubp"; break;
-          case 0xC8: mnem = "fmulp"; break;
-          case 0xF8: mnem = "fdivp"; break;
-          default: UnimplementedInstruction();
+          case 0xC0:
+            mnem = "faddp";
+            break;
+          case 0xE8:
+            mnem = "fsubp";
+            break;
+          case 0xC8:
+            mnem = "fmulp";
+            break;
+          case 0xF8:
+            mnem = "fdivp";
+            break;
+          default:
+            UnimplementedInstruction();
         }
       }
       break;
@@ -1003,7 +1042,8 @@
       }
       break;
 
-    default: UnimplementedInstruction();
+    default:
+      UnimplementedInstruction();
   }
 
   if (has_register) {
@@ -1068,16 +1108,12 @@
       break;
 
     case REGISTER_INSTR:
-      Print("%s%c %s",
-            idesc.mnem,
-            operand_size_code(),
+      Print("%s%c %s", idesc.mnem, operand_size_code(),
             NameOfCPURegister(base_reg(current & 0x07)));
       (*data)++;
       break;
     case PUSHPOP_INSTR:
-      Print("%s %s",
-            idesc.mnem,
-            NameOfCPURegister(base_reg(current & 0x07)));
+      Print("%s %s", idesc.mnem, NameOfCPURegister(base_reg(current & 0x07)));
       (*data)++;
       break;
     case MOVE_REG_INSTR: {
@@ -1101,8 +1137,7 @@
         default:
           UNREACHABLE();
       }
-      Print("mov%c %s,",
-            operand_size_code(),
+      Print("mov%c %s,", operand_size_code(),
             NameOfCPURegister(base_reg(current & 0x07)));
       PrintAddress(addr);
       break;
@@ -1164,7 +1199,7 @@
         current += 1;
       } else if (third_byte == 0x0b) {
         get_modrm(*current, &mod, &regop, &rm);
-         // roundsd xmm, xmm/m64, imm8
+        // roundsd xmm, xmm/m64, imm8
         Print("roundsd %s, ", NameOfCPURegister(regop));
         current += PrintRightOperand(current);
         Print(", %d", (*current) & 3);
@@ -1193,17 +1228,13 @@
         current += PrintRightXMMOperand(current);
         Print(", %s", NameOfXMMRegister(regop));
       } else if (opcode == 0x6E) {
-        Print("mov%c %s,",
-              rex_w() ? 'q' : 'd',
-              NameOfXMMRegister(regop));
+        Print("mov%c %s,", rex_w() ? 'q' : 'd', NameOfXMMRegister(regop));
         current += PrintRightOperand(current);
       } else if (opcode == 0x6F) {
-        Print("movdqa %s,",
-              NameOfXMMRegister(regop));
+        Print("movdqa %s,", NameOfXMMRegister(regop));
         current += PrintRightXMMOperand(current);
       } else if (opcode == 0x7E) {
-        Print("mov%c ",
-              rex_w() ? 'q' : 'd');
+        Print("mov%c ", rex_w() ? 'q' : 'd');
         current += PrintRightOperand(current);
         Print(", %s", NameOfXMMRegister(regop));
       } else if (opcode == 0x7F) {
@@ -1225,9 +1256,9 @@
           mnemonic = "unpckhpd";
         } else if (opcode == 0x54) {
           mnemonic = "andpd";
-        } else  if (opcode == 0x56) {
+        } else if (opcode == 0x56) {
           mnemonic = "orpd";
-        } else  if (opcode == 0x57) {
+        } else if (opcode == 0x57) {
           mnemonic = "xorpd";
         } else if (opcode == 0x2E) {
           mnemonic = "ucomisd";
@@ -1286,15 +1317,13 @@
       // Convert with truncation scalar double-precision FP to integer.
       int mod, regop, rm;
       get_modrm(*current, &mod, &regop, &rm);
-      Print("cvttsd2si%c %s,",
-          operand_size_code(), NameOfCPURegister(regop));
+      Print("cvttsd2si%c %s,", operand_size_code(), NameOfCPURegister(regop));
       current += PrintRightXMMOperand(current);
     } else if (opcode == 0x2D) {
       // CVTSD2SI: Convert scalar double-precision FP to integer.
       int mod, regop, rm;
       get_modrm(*current, &mod, &regop, &rm);
-      Print("cvtsd2si%c %s,",
-          operand_size_code(), NameOfCPURegister(regop));
+      Print("cvtsd2si%c %s,", operand_size_code(), NameOfCPURegister(regop));
       current += PrintRightXMMOperand(current);
     } else if ((opcode & 0xF8) == 0x58 || opcode == 0x51) {
       // XMM arithmetic. Mnemonic was retrieved at the start of this function.
@@ -1330,8 +1359,7 @@
       // Convert with truncation scalar single-precision FP to dword integer.
       int mod, regop, rm;
       get_modrm(*current, &mod, &regop, &rm);
-      Print("cvttss2si%c %s,",
-            operand_size_code(), NameOfCPURegister(regop));
+      Print("cvttss2si%c %s,", operand_size_code(), NameOfCPURegister(regop));
       current += PrintRightXMMOperand(current);
     } else if (opcode == 0x5A) {
       // CVTSS2SD:
@@ -1418,24 +1446,59 @@
              opcode == 0x5E || opcode == 0x5F) {
     const char* mnemonic = NULL;
     switch (opcode) {
-      case 0x12: mnemonic = "movhlps"; break;
-      case 0x14: mnemonic = "unpcklps"; break;
-      case 0x15: mnemonic = "unpckhps"; break;
-      case 0x16: mnemonic = "movlhps"; break;
-      case 0x51: mnemonic = "sqrtps"; break;
-      case 0x52: mnemonic = "rsqrtps"; break;
-      case 0x53: mnemonic = "rcpps"; break;
-      case 0x54: mnemonic = "andps"; break;
-      case 0x56: mnemonic = "orps"; break;
-      case 0x57: mnemonic = "xorps"; break;
-      case 0x58: mnemonic = "addps"; break;
-      case 0x59: mnemonic = "mulps"; break;
-      case 0x5A: mnemonic = "cvtsd2ss"; break;
-      case 0x5C: mnemonic = "subps"; break;
-      case 0x5D: mnemonic = "minps"; break;
-      case 0x5E: mnemonic = "divps"; break;
-      case 0x5F: mnemonic = "maxps"; break;
-      default: UNREACHABLE();
+      case 0x12:
+        mnemonic = "movhlps";
+        break;
+      case 0x14:
+        mnemonic = "unpcklps";
+        break;
+      case 0x15:
+        mnemonic = "unpckhps";
+        break;
+      case 0x16:
+        mnemonic = "movlhps";
+        break;
+      case 0x51:
+        mnemonic = "sqrtps";
+        break;
+      case 0x52:
+        mnemonic = "rsqrtps";
+        break;
+      case 0x53:
+        mnemonic = "rcpps";
+        break;
+      case 0x54:
+        mnemonic = "andps";
+        break;
+      case 0x56:
+        mnemonic = "orps";
+        break;
+      case 0x57:
+        mnemonic = "xorps";
+        break;
+      case 0x58:
+        mnemonic = "addps";
+        break;
+      case 0x59:
+        mnemonic = "mulps";
+        break;
+      case 0x5A:
+        mnemonic = "cvtsd2ss";
+        break;
+      case 0x5C:
+        mnemonic = "subps";
+        break;
+      case 0x5D:
+        mnemonic = "minps";
+        break;
+      case 0x5E:
+        mnemonic = "divps";
+        break;
+      case 0x5F:
+        mnemonic = "maxps";
+        break;
+      default:
+        UNREACHABLE();
     }
     int mod, regop, rm;
     get_modrm(*current, &mod, &regop, &rm);
@@ -1562,9 +1625,7 @@
         break;
 
       case 0xC8:
-        Print("enter %d, %d",
-              *reinterpret_cast<uint16_t*>(data + 1),
-              data[3]);
+        Print("enter %d, %d", *reinterpret_cast<uint16_t*>(data + 1), data[3]);
         data += 4;
         break;
 
@@ -1572,11 +1633,9 @@
       case 0x6B: {
         int mod, regop, rm;
         get_modrm(*(data + 1), &mod, &regop, &rm);
-        int32_t imm = *data == 0x6B ? *(data + 2)
-            : *reinterpret_cast<int32_t*>(data + 2);
-        Print("imul%c %s,%s,",
-              operand_size_code(),
-              NameOfCPURegister(regop),
+        int32_t imm =
+            *data == 0x6B ? *(data + 2) : *reinterpret_cast<int32_t*>(data + 2);
+        Print("imul%c %s,%s,", operand_size_code(), NameOfCPURegister(regop),
               NameOfCPURegister(rm));
         PrintImmediateValue(imm);
         data += 2 + (*data == 0x6B ? 1 : 4);
@@ -1600,8 +1659,7 @@
           Print("pop ");
           data += PrintRightOperand(data);
         }
-      }
-        break;
+      } break;
 
       case 0xFF: {
         data++;
@@ -1633,8 +1691,7 @@
           Print("%s ", mnem);
         }
         data += PrintRightOperand(data);
-      }
-        break;
+      } break;
 
       case 0xC7:  // imm32, fall through
       case 0xC6:  // imm8
@@ -1656,8 +1713,7 @@
           PrintImmediateValue(imm);
           data += 4;
         }
-      }
-        break;
+      } break;
 
       case 0x80: {
         data++;
@@ -1667,8 +1723,7 @@
         Print(",");
         PrintImmediateValue(imm);
         data++;
-      }
-        break;
+      } break;
 
       case 0x88:  // 8bit, fall through
       case 0x89:  // 32bit
@@ -1686,8 +1741,7 @@
           data += PrintRightOperand(data);
           Print(",%s", NameOfCPURegister(regop));
         }
-      }
-        break;
+      } break;
 
       case 0x90:
       case 0x91:
@@ -1704,8 +1758,7 @@
           Print("xchg%c rax, %s", operand_size_code(), NameOfCPURegister(reg));
         }
         data++;
-      }
-        break;
+      } break;
       case 0xB0:
       case 0xB1:
       case 0xB2:
@@ -1764,22 +1817,19 @@
       case 0xA3:
         switch (operand_size()) {
           case DOUBLEWORD_SIZE: {
-            PrintAddress(
-                reinterpret_cast<uint8_t*>(
-                    *reinterpret_cast<int32_t*>(data + 1)));
+            PrintAddress(reinterpret_cast<uint8_t*>(
+                *reinterpret_cast<int32_t*>(data + 1)));
             if (*data == 0xA1) {  // Opcode 0xA1
               Print("movzxlq rax,(");
-              PrintAddress(
-                  reinterpret_cast<uint8_t*>(
-                      *reinterpret_cast<int32_t*>(data + 1)));
+              PrintAddress(reinterpret_cast<uint8_t*>(
+                  *reinterpret_cast<int32_t*>(data + 1)));
               Print(")");
             } else {  // Opcode 0xA3
               Print("movzxlq (");
-              PrintAddress(
-                  reinterpret_cast<uint8_t*>(
-                      *reinterpret_cast<int32_t*>(data + 1)));
+              PrintAddress(reinterpret_cast<uint8_t*>(
+                  *reinterpret_cast<int32_t*>(data + 1)));
               Print("),rax");
-           }
+            }
             data += 5;
             break;
           }
@@ -1878,10 +1928,14 @@
 }
 
 
-void Disassembler::DecodeInstruction(char* hex_buffer, intptr_t hex_size,
-                                     char* human_buffer, intptr_t human_size,
-                                     int* out_instr_len, const Code& code,
-                                     Object** object, uword pc) {
+void Disassembler::DecodeInstruction(char* hex_buffer,
+                                     intptr_t hex_size,
+                                     char* human_buffer,
+                                     intptr_t human_size,
+                                     int* out_instr_len,
+                                     const Code& code,
+                                     Object** object,
+                                     uword pc) {
   ASSERT(hex_size > 0);
   ASSERT(human_size > 0);
   DisassemblerX64 decoder(human_buffer, human_size);
diff --git a/runtime/vm/double_conversion.cc b/runtime/vm/double_conversion.cc
index cb3c047..4490d5f 100644
--- a/runtime/vm/double_conversion.cc
+++ b/runtime/vm/double_conversion.cc
@@ -34,16 +34,14 @@
   static const int kConversionFlags =
       double_conversion::DoubleToStringConverter::EMIT_POSITIVE_EXPONENT_SIGN |
       double_conversion::DoubleToStringConverter::EMIT_TRAILING_DECIMAL_POINT |
-     double_conversion::DoubleToStringConverter::EMIT_TRAILING_ZERO_AFTER_POINT;
+      double_conversion::DoubleToStringConverter::
+          EMIT_TRAILING_ZERO_AFTER_POINT;
 
   const double_conversion::DoubleToStringConverter converter(
-      kConversionFlags,
-      kDoubleToStringCommonInfinitySymbol,
-      kDoubleToStringCommonNaNSymbol,
-      kDoubleToStringCommonExponentChar,
-      kDecimalLow,
-      kDecimalHigh,
-      0, 0);  // Last two values are ignored in shortest mode.
+      kConversionFlags, kDoubleToStringCommonInfinitySymbol,
+      kDoubleToStringCommonNaNSymbol, kDoubleToStringCommonExponentChar,
+      kDecimalLow, kDecimalHigh, 0,
+      0);  // Last two values are ignored in shortest mode.
 
   double_conversion::StringBuilder builder(buffer, buffer_size);
   bool status = converter.ToShortest(d, &builder);
@@ -80,11 +78,9 @@
          fraction_digits <= kMaxFractionDigits);
 
   const double_conversion::DoubleToStringConverter converter(
-      kConversionFlags,
-      kDoubleToStringCommonInfinitySymbol,
-      kDoubleToStringCommonNaNSymbol,
-      kDoubleToStringCommonExponentChar,
-      0, 0, 0, 0);  // Last four values are ignored in fixed mode.
+      kConversionFlags, kDoubleToStringCommonInfinitySymbol,
+      kDoubleToStringCommonNaNSymbol, kDoubleToStringCommonExponentChar, 0, 0,
+      0, 0);  // Last four values are ignored in fixed mode.
 
   char* buffer = Thread::Current()->zone()->Alloc<char>(kBufferSize);
   buffer[kBufferSize - 1] = '\0';
@@ -113,11 +109,9 @@
          fraction_digits <= kMaxFractionDigits);
 
   const double_conversion::DoubleToStringConverter converter(
-      kConversionFlags,
-      kDoubleToStringCommonInfinitySymbol,
-      kDoubleToStringCommonNaNSymbol,
-      kDoubleToStringCommonExponentChar,
-      0, 0, 0, 0);  // Last four values are ignored in exponential mode.
+      kConversionFlags, kDoubleToStringCommonInfinitySymbol,
+      kDoubleToStringCommonNaNSymbol, kDoubleToStringCommonExponentChar, 0, 0,
+      0, 0);  // Last four values are ignored in exponential mode.
 
   char* buffer = Thread::Current()->zone()->Alloc<char>(kBufferSize);
   buffer[kBufferSize - 1] = '\0';
@@ -145,18 +139,16 @@
   // plus the \0.
   // Note that padding and exponent are exclusive. We still add them up.
   ASSERT(kBufferSize >= 1 + 1 + 1 + kMaxLeadingPaddingZeroes +
-         kMaxTrailingPaddingZeroes + kMaxPrecisionDigits + 1 + 1 + 3 + 1);
+                            kMaxTrailingPaddingZeroes + kMaxPrecisionDigits +
+                            1 + 1 + 3 + 1);
 
   ASSERT(kMinPrecisionDigits <= precision && precision <= kMaxPrecisionDigits);
 
   const double_conversion::DoubleToStringConverter converter(
-      kConversionFlags,
-      kDoubleToStringCommonInfinitySymbol,
-      kDoubleToStringCommonNaNSymbol,
-      kDoubleToStringCommonExponentChar,
-      0, 0,  // Ignored in precision mode.
-      kMaxLeadingPaddingZeroes,
-      kMaxTrailingPaddingZeroes);
+      kConversionFlags, kDoubleToStringCommonInfinitySymbol,
+      kDoubleToStringCommonNaNSymbol, kDoubleToStringCommonExponentChar, 0,
+      0,  // Ignored in precision mode.
+      kMaxLeadingPaddingZeroes, kMaxTrailingPaddingZeroes);
 
   char* buffer = Thread::Current()->zone()->Alloc<char>(kBufferSize);
   buffer[kBufferSize - 1] = '\0';
@@ -173,16 +165,12 @@
   }
 
   double_conversion::StringToDoubleConverter converter(
-    double_conversion::StringToDoubleConverter::NO_FLAGS,
-    0.0,
-    0.0,
-    kDoubleToStringCommonInfinitySymbol,
-    kDoubleToStringCommonNaNSymbol);
+      double_conversion::StringToDoubleConverter::NO_FLAGS, 0.0, 0.0,
+      kDoubleToStringCommonInfinitySymbol, kDoubleToStringCommonNaNSymbol);
 
   int parsed_count = 0;
-  *result = converter.StringToDouble(str,
-                                     static_cast<int>(length),
-                                     &parsed_count);
+  *result =
+      converter.StringToDouble(str, static_cast<int>(length), &parsed_count);
   return (parsed_count == length);
 }
 
diff --git a/runtime/vm/double_internals.h b/runtime/vm/double_internals.h
index 4a55548..87125be 100644
--- a/runtime/vm/double_internals.h
+++ b/runtime/vm/double_internals.h
@@ -10,7 +10,9 @@
 namespace dart {
 
 // We assume that doubles and uint64_t have the same endianness.
-static uint64_t double_to_uint64(double d) { return bit_cast<uint64_t>(d); }
+static uint64_t double_to_uint64(double d) {
+  return bit_cast<uint64_t>(d);
+}
 
 // Helper functions for doubles.
 class DoubleInternals {
@@ -20,9 +22,7 @@
   explicit DoubleInternals(double d) : d64_(double_to_uint64(d)) {}
 
   // Returns the double's bit as uint64.
-  uint64_t AsUint64() const {
-    return d64_;
-  }
+  uint64_t AsUint64() const { return d64_; }
 
   int Exponent() const {
     if (IsDenormal()) return kDenormalExponent;
@@ -58,7 +58,7 @@
 
   int Sign() const {
     uint64_t d64 = AsUint64();
-    return (d64 & kSignMask) == 0? 1: -1;
+    return (d64 & kSignMask) == 0 ? 1 : -1;
   }
 
  private:
diff --git a/runtime/vm/exceptions.cc b/runtime/vm/exceptions.cc
index a0af67e..4b73efd 100644
--- a/runtime/vm/exceptions.cc
+++ b/runtime/vm/exceptions.cc
@@ -22,14 +22,16 @@
 namespace dart {
 
 DECLARE_FLAG(bool, trace_deoptimization);
-DEFINE_FLAG(bool, print_stacktrace_at_throw, false,
+DEFINE_FLAG(bool,
+            print_stacktrace_at_throw,
+            false,
             "Prints a stack trace everytime a throw occurs.");
 
 
 class StacktraceBuilder : public ValueObject {
  public:
-  StacktraceBuilder() { }
-  virtual ~StacktraceBuilder() { }
+  StacktraceBuilder() {}
+  virtual ~StacktraceBuilder() {}
 
   virtual void AddFrame(const Code& code, const Smi& offset) = 0;
 };
@@ -39,10 +41,10 @@
  public:
   explicit RegularStacktraceBuilder(Zone* zone)
       : code_list_(
-          GrowableObjectArray::Handle(zone, GrowableObjectArray::New())),
+            GrowableObjectArray::Handle(zone, GrowableObjectArray::New())),
         pc_offset_list_(
-          GrowableObjectArray::Handle(zone, GrowableObjectArray::New())) { }
-  ~RegularStacktraceBuilder() { }
+            GrowableObjectArray::Handle(zone, GrowableObjectArray::New())) {}
+  ~RegularStacktraceBuilder() {}
 
   const GrowableObjectArray& code_list() const { return code_list_; }
   const GrowableObjectArray& pc_offset_list() const { return pc_offset_list_; }
@@ -63,13 +65,13 @@
 class PreallocatedStacktraceBuilder : public StacktraceBuilder {
  public:
   explicit PreallocatedStacktraceBuilder(const Instance& stacktrace)
-  : stacktrace_(Stacktrace::Cast(stacktrace)),
+      : stacktrace_(Stacktrace::Cast(stacktrace)),
         cur_index_(0),
         dropped_frames_(0) {
     ASSERT(stacktrace_.raw() ==
            Isolate::Current()->object_store()->preallocated_stack_trace());
   }
-  ~PreallocatedStacktraceBuilder() { }
+  ~PreallocatedStacktraceBuilder() {}
 
   virtual void AddFrame(const Code& code, const Smi& offset);
 
@@ -156,10 +158,8 @@
   uword temp_handler_pc = kUwordMax;
   while (!frame->IsEntryFrame()) {
     if (frame->IsDartFrame()) {
-      if (frame->FindExceptionHandler(thread,
-                                      &temp_handler_pc,
-                                      needs_stacktrace,
-                                      &is_catch_all)) {
+      if (frame->FindExceptionHandler(thread, &temp_handler_pc,
+                                      needs_stacktrace, &is_catch_all)) {
         if (!handler_pc_set) {
           handler_pc_set = true;
           *handler_pc = temp_handler_pc;
@@ -259,9 +259,10 @@
     for (intptr_t i = 0; i < pending_deopts->length(); i++) {
       if ((*pending_deopts)[i].fp() < frame_pointer) {
         if (FLAG_trace_deoptimization) {
-          THR_Print("Lazy deopt skipped due to throw for "
-                    "fp=%" Pp ", pc=%" Pp "\n",
-                    (*pending_deopts)[i].fp(), (*pending_deopts)[i].pc());
+          THR_Print(
+              "Lazy deopt skipped due to throw for "
+              "fp=%" Pp ", pc=%" Pp "\n",
+              (*pending_deopts)[i].fp(), (*pending_deopts)[i].pc());
         }
         pending_deopts->RemoveAt(i);
       }
@@ -303,8 +304,8 @@
   ASAN_UNPOISON(reinterpret_cast<void*>(current_sp),
                 stack_pointer - current_sp);
 
-  func(program_counter, stack_pointer, frame_pointer,
-       raw_exception, raw_stacktrace, thread);
+  func(program_counter, stack_pointer, frame_pointer, raw_exception,
+       raw_stacktrace, thread);
 #endif
   UNREACHABLE();
 }
@@ -318,8 +319,8 @@
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
   Isolate* isolate = thread->isolate();
-  Class& error_class = Class::Handle(zone,
-                                     isolate->object_store()->error_class());
+  Class& error_class =
+      Class::Handle(zone, isolate->object_store()->error_class());
   if (error_class.IsNull()) {
     const Library& core_lib = Library::Handle(zone, Library::CoreLibrary());
     error_class = core_lib.LookupClass(Symbols::Error());
@@ -349,10 +350,10 @@
   BuildStackTrace(&frame_builder);
 
   // Create arrays for code and pc_offset tuples of each frame.
-  const Array& full_code_array = Array::Handle(zone,
-      Array::MakeArray(frame_builder.code_list()));
-  const Array& full_pc_offset_array = Array::Handle(zone,
-      Array::MakeArray(frame_builder.pc_offset_list()));
+  const Array& full_code_array =
+      Array::Handle(zone, Array::MakeArray(frame_builder.code_list()));
+  const Array& full_pc_offset_array =
+      Array::Handle(zone, Array::MakeArray(frame_builder.pc_offset_list()));
   const Stacktrace& full_stacktrace = Stacktrace::Handle(
       Stacktrace::New(full_code_array, full_pc_offset_array));
   return full_stacktrace.raw();
@@ -368,8 +369,8 @@
   bool use_preallocated_stacktrace = false;
   Instance& exception = Instance::Handle(zone, incoming_exception.raw());
   if (exception.IsNull()) {
-    exception ^= Exceptions::Create(Exceptions::kNullThrown,
-                                    Object::empty_array());
+    exception ^=
+        Exceptions::Create(Exceptions::kNullThrown, Object::empty_array());
   } else if (exception.raw() == isolate->object_store()->out_of_memory() ||
              exception.raw() == isolate->object_store()->stack_overflow()) {
     use_preallocated_stacktrace = true;
@@ -383,11 +384,9 @@
   if (use_preallocated_stacktrace) {
     stacktrace ^= isolate->object_store()->preallocated_stack_trace();
     PreallocatedStacktraceBuilder frame_builder(stacktrace);
-    handler_exists = FindExceptionHandler(thread,
-                                          &handler_pc,
-                                          &handler_sp,
-                                          &handler_fp,
-                                          &handler_needs_stacktrace);
+    handler_exists =
+        FindExceptionHandler(thread, &handler_pc, &handler_sp, &handler_fp,
+                             &handler_needs_stacktrace);
     if (handler_pc == 0) {
       // No Dart frame.
       ASSERT(incoming_exception.raw() ==
@@ -408,11 +407,9 @@
 
     // Find the exception handler and determine if the handler needs a
     // stacktrace.
-    handler_exists = FindExceptionHandler(thread,
-                                          &handler_pc,
-                                          &handler_sp,
-                                          &handler_fp,
-                                          &handler_needs_stacktrace);
+    handler_exists =
+        FindExceptionHandler(thread, &handler_pc, &handler_sp, &handler_fp,
+                             &handler_needs_stacktrace);
     if (!existing_stacktrace.IsNull()) {
       // If we have an existing stack trace then this better be a rethrow. The
       // reverse is not necessarily true (e.g. Dart_PropagateError can cause
@@ -445,12 +442,8 @@
   }
   if (handler_exists) {
     // Found a dart handler for the exception, jump to it.
-    JumpToExceptionHandler(thread,
-                           handler_pc,
-                           handler_sp,
-                           handler_fp,
-                           exception,
-                           stacktrace);
+    JumpToExceptionHandler(thread, handler_pc, handler_sp, handler_fp,
+                           exception, stacktrace);
   } else {
     // No dart exception handler found in this invocation sequence,
     // so we create an unhandled exception object and return to the
@@ -462,12 +455,8 @@
     const UnhandledException& unhandled_exception = UnhandledException::Handle(
         zone, UnhandledException::New(exception, stacktrace));
     stacktrace = Stacktrace::null();
-    JumpToExceptionHandler(thread,
-                           handler_pc,
-                           handler_sp,
-                           handler_fp,
-                           unhandled_exception,
-                           stacktrace);
+    JumpToExceptionHandler(thread, handler_pc, handler_sp, handler_fp,
+                           unhandled_exception, stacktrace);
   }
   UNREACHABLE();
 }
@@ -492,8 +481,8 @@
 RawInstance* Exceptions::NewInstance(const char* class_name) {
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
-  const String& cls_name = String::Handle(zone,
-                                          Symbols::New(thread, class_name));
+  const String& cls_name =
+      String::Handle(zone, Symbols::New(thread, class_name));
   const Library& core_lib = Library::Handle(Library::CoreLibrary());
   // No ambiguity error expected: passing NULL.
   Class& cls = Class::Handle(core_lib.LookupClass(cls_name));
@@ -516,7 +505,9 @@
 
   ExceptionType exception_type =
       (bound_error_msg.IsNull() &&
-       (dst_name.raw() == Symbols::InTypeCast().raw())) ? kCast : kType;
+       (dst_name.raw() == Symbols::InTypeCast().raw()))
+          ? kCast
+          : kType;
 
   DartFrameIterator iterator;
   const Script& script = Script::Handle(zone, GetCallerScript(&iterator));
@@ -533,8 +524,8 @@
   args.SetAt(2, Smi::Handle(zone, Smi::New(column)));
 
   // Construct '_errorMsg'.
-  const GrowableObjectArray& pieces = GrowableObjectArray::Handle(zone,
-      GrowableObjectArray::New(20));
+  const GrowableObjectArray& pieces =
+      GrowableObjectArray::Handle(zone, GrowableObjectArray::New(20));
 
   // Print bound error first, if any.
   if (!bound_error_msg.IsNull() && (bound_error_msg.Length() > 0)) {
@@ -619,10 +610,11 @@
     }
   }
   // Null object is a valid exception object.
-  ThrowExceptionHelper(thread, exception,
-      Stacktrace::Handle(thread->zone()), false);
+  ThrowExceptionHelper(thread, exception, Stacktrace::Handle(thread->zone()),
+                       false);
 }
 
+
 void Exceptions::ReThrow(Thread* thread,
                          const Instance& exception,
                          const Instance& stacktrace) {
@@ -797,10 +789,8 @@
       break;
   }
 
-  return DartLibraryCalls::InstanceCreate(library,
-                                          *class_name,
-                                          *constructor_name,
-                                          arguments);
+  return DartLibraryCalls::InstanceCreate(library, *class_name,
+                                          *constructor_name, arguments);
 }
 
 
diff --git a/runtime/vm/exceptions_test.cc b/runtime/vm/exceptions_test.cc
index 355bc01..5fbfaa2 100644
--- a/runtime/vm/exceptions_test.cc
+++ b/runtime/vm/exceptions_test.cc
@@ -11,8 +11,7 @@
 
 
 #define FUNCTION_NAME(name) UnhandledExcp_##name
-#define REGISTER_FUNCTION(name, count)                                         \
-  { ""#name, FUNCTION_NAME(name), count },
+#define REGISTER_FUNCTION(name, count) {"" #name, FUNCTION_NAME(name), count},
 
 
 void FUNCTION_NAME(Unhandled_equals)(Dart_NativeArguments args) {
@@ -20,8 +19,8 @@
   const Instance& expected = Instance::CheckedHandle(arguments->NativeArgAt(0));
   const Instance& actual = Instance::CheckedHandle(arguments->NativeArgAt(1));
   if (!expected.CanonicalizeEquals(actual)) {
-    OS::Print("expected: '%s' actual: '%s'\n",
-        expected.ToCString(), actual.ToCString());
+    OS::Print("expected: '%s' actual: '%s'\n", expected.ToCString(),
+              actual.ToCString());
     FATAL("Unhandled_equals fails.\n");
   }
 }
@@ -30,10 +29,7 @@
 void FUNCTION_NAME(Unhandled_invoke)(Dart_NativeArguments args) {
   // Invoke the specified entry point.
   Dart_Handle cls = Dart_GetClass(TestCase::lib(), NewString("Second"));
-  Dart_Handle result = Dart_Invoke(cls,
-                                   NewString("method2"),
-                                   0,
-                                   NULL);
+  Dart_Handle result = Dart_Invoke(cls, NewString("method2"), 0, NULL);
   ASSERT(Dart_IsError(result));
   ASSERT(Dart_ErrorHasException(result));
   return;
@@ -43,10 +39,7 @@
 void FUNCTION_NAME(Unhandled_invoke2)(Dart_NativeArguments args) {
   // Invoke the specified entry point.
   Dart_Handle cls = Dart_GetClass(TestCase::lib(), NewString("Second"));
-  Dart_Handle result = Dart_Invoke(cls,
-                                   NewString("method2"),
-                                   0,
-                                   NULL);
+  Dart_Handle result = Dart_Invoke(cls, NewString("method2"), 0, NULL);
   ASSERT(Dart_IsError(result));
   ASSERT(Dart_ErrorHasException(result));
   Dart_Handle exception = Dart_ErrorGetException(result);
@@ -63,16 +56,14 @@
 #define UNHANDLED_NATIVE_LIST(V)                                               \
   V(Unhandled_equals, 2)                                                       \
   V(Unhandled_invoke, 0)                                                       \
-  V(Unhandled_invoke2, 0)                                                      \
+  V(Unhandled_invoke2, 0)
 
 
 static struct NativeEntries {
   const char* name_;
   Dart_NativeFunction function_;
   int argument_count_;
-} BuiltinEntries[] = {
-  UNHANDLED_NATIVE_LIST(REGISTER_FUNCTION)
-};
+} BuiltinEntries[] = {UNHANDLED_NATIVE_LIST(REGISTER_FUNCTION)};
 
 
 static Dart_NativeFunction native_lookup(Dart_Handle name,
@@ -127,8 +118,7 @@
       "  UnhandledExceptions.equals(3, Second.method3(1));\n"
       "}";
   Dart_Handle lib = TestCase::LoadTestScript(
-      kScriptChars,
-      reinterpret_cast<Dart_NativeEntryResolver>(native_lookup));
+      kScriptChars, reinterpret_cast<Dart_NativeEntryResolver>(native_lookup));
   EXPECT_VALID(Dart_Invoke(lib, NewString("testMain"), 0, NULL));
 }
 
diff --git a/runtime/vm/find_code_object_test.cc b/runtime/vm/find_code_object_test.cc
index 75ffa2b..a47129e 100644
--- a/runtime/vm/find_code_object_test.cc
+++ b/runtime/vm/find_code_object_test.cc
@@ -48,13 +48,10 @@
   // Load up class A with 1024 functions.
   int written = OS::SNPrint(scriptChars, kScriptSize, "class A {");
   for (int i = 0; i < kNumFunctions; i++) {
-    OS::SNPrint(buffer,
-                256,
+    OS::SNPrint(buffer, 256,
                 "static foo%d([int i=1,int j=2,int k=3]){return i+j+k;}", i);
-    written += OS::SNPrint((scriptChars + written),
-                           (kScriptSize - written),
-                           "%s",
-                           buffer);
+    written += OS::SNPrint((scriptChars + written), (kScriptSize - written),
+                           "%s", buffer);
   }
   OS::SNPrint((scriptChars + written), (kScriptSize - written), "}");
   source = String::New(scriptChars);
@@ -78,32 +75,23 @@
   written = OS::SNPrint(scriptChars, kScriptSize, "class B {");
   // Create one large function.
   OS::SNPrint(buffer, sizeof(buffer), "static moo0([var i=1]) { ");
-  written += OS::SNPrint((scriptChars + written),
-                         (kScriptSize - written),
-                         "%s",
+  written += OS::SNPrint((scriptChars + written), (kScriptSize - written), "%s",
                          buffer);
   // Generate a large function so that the code for this function when
   // compiled will reside in a large page.
   for (int i = 0; i < kLoopCount; i++) {
     OS::SNPrint(buffer, sizeof(buffer), "i = i+i;");
-    written += OS::SNPrint((scriptChars + written),
-                           (kScriptSize - written),
-                           "%s",
-                           buffer);
+    written += OS::SNPrint((scriptChars + written), (kScriptSize - written),
+                           "%s", buffer);
   }
   OS::SNPrint(buffer, sizeof(buffer), "return i; }");
-  written += OS::SNPrint((scriptChars + written),
-                         (kScriptSize - written),
-                         "%s",
+  written += OS::SNPrint((scriptChars + written), (kScriptSize - written), "%s",
                          buffer);
   for (int i = 1; i < kNumFunctions; i++) {
-    OS::SNPrint(buffer,
-                256,
+    OS::SNPrint(buffer, 256,
                 "static moo%d([int i=1,int j=2,int k=3]){return i+j+k;}", i);
-    written += OS::SNPrint((scriptChars + written),
-                           (kScriptSize - written),
-                           "%s",
-                           buffer);
+    written += OS::SNPrint((scriptChars + written), (kScriptSize - written),
+                           "%s", buffer);
   }
   OS::SNPrint((scriptChars + written), (kScriptSize - written), "}");
   url = String::New("dart-test:FindCodeObject");
diff --git a/runtime/vm/flag_list.h b/runtime/vm/flag_list.h
index 6b2e631..94c0425 100644
--- a/runtime/vm/flag_list.h
+++ b/runtime/vm/flag_list.h
@@ -41,164 +41,126 @@
 //   D(name, type, default_value, comment)
 //   C(name, precompiled_value, product_value, type, default_value, comment)
 #define FLAG_LIST(P, R, D, C)                                                  \
-P(background_compilation, bool, USING_MULTICORE,                               \
-  "Run optimizing compilation in background")                                  \
-R(background_compilation_stop_alot, false, bool, false,                        \
-  "Stress test system: stop background compiler often.")                       \
-P(background_finalization, bool, USING_MULTICORE,                              \
-  "Run weak handle finalizers in background")                                  \
-R(break_at_isolate_spawn, false, bool, false,                                  \
-  "Insert a one-time breakpoint at the entrypoint for all spawned isolates")   \
-C(collect_code, false, true, bool, true,                                       \
-  "Attempt to GC infrequently used code.")                                     \
-P(collect_dynamic_function_names, bool, true,                                  \
-  "Collects all dynamic function names to identify unique targets")            \
-R(concurrent_sweep, USING_MULTICORE, bool, USING_MULTICORE,                    \
-  "Concurrent sweep for old generation.")                                      \
-R(dedup_instructions, true, bool, false,                                       \
-  "Canonicalize instructions when precompiling.")                              \
-C(deoptimize_alot, false, false, bool, false,                                  \
-  "Deoptimizes we are about to return to Dart code from native entries.")      \
-C(deoptimize_every, 0, 0, int, 0,                                              \
-  "Deoptimize on every N stack overflow checks")                               \
-R(disable_alloc_stubs_after_gc, false, bool, false,                            \
-  "Stress testing flag.")                                                      \
-R(disassemble, false, bool, false,                                             \
-  "Disassemble dart code.")                                                    \
-R(disassemble_optimized, false, bool, false,                                   \
-  "Disassemble optimized code.")                                               \
-R(dump_megamorphic_stats, false, bool, false,                                  \
-  "Dump megamorphic cache statistics")                                         \
-R(dump_symbol_stats, false, bool, false,                                       \
-  "Dump symbol table statistics")                                              \
-R(enable_asserts, false, bool, false,                                          \
-  "Enable assert statements.")                                                 \
-C(enable_mirrors, false, false, bool, true,                                    \
-  "Disable to make importing dart:mirrors an error.")                          \
-R(enable_type_checks, false, bool, false,                                      \
-  "Enable type checks.")                                                       \
-R(error_on_bad_override, false, bool, false,                                   \
-  "Report error for bad overrides.")                                           \
-R(error_on_bad_type, false, bool, false,                                       \
-  "Report error for malformed types.")                                         \
-P(external_max_size, int, (kWordSize <= 4) ? 512 : 1024,                       \
-  "Max total size of external allocations in MB, or 0 for unlimited,"          \
-  "e.g: --external_max_size=1024 allows up to 1024MB of externals")            \
-P(fields_may_be_reset, bool, false,                                            \
-  "Don't optimize away static field initialization")                           \
-C(force_clone_compiler_objects, false, false, bool, false,                     \
-  "Force cloning of objects needed in compiler (ICData and Field).")           \
-R(gc_at_alloc, false, bool, false,                                             \
-  "GC at every allocation.")                                                   \
-P(getter_setter_ratio, int, 13,                                                \
-  "Ratio of getter/setter usage used for double field unboxing heuristics")    \
-P(guess_icdata_cid, bool, true,                                                \
-  "Artificially create type feedback for arithmetic etc. operations")          \
-P(huge_method_cutoff_in_tokens, int, 20000,                                    \
-  "Huge method cutoff in tokens: Disables optimizations for huge methods.")    \
-P(interpret_irregexp, bool, USING_DBC,                                         \
-  "Use irregexp bytecode interpreter")                                         \
-P(lazy_dispatchers, bool, true,                                                \
-  "Generate dispatchers lazily")                                               \
-P(link_natives_lazily, bool, false,                                            \
-  "Link native calls lazily")                                                  \
-C(load_deferred_eagerly, true, true, bool, false,                              \
-  "Load deferred libraries eagerly.")                                          \
-R(log_marker_tasks, false, bool, false,                                        \
-  "Log debugging information for old gen GC marking tasks.")                   \
-R(marker_tasks, USING_MULTICORE ? 2 : 0, int, USING_MULTICORE ? 2 : 0,         \
-  "The number of tasks to spawn during old gen GC marking (0 means "           \
-  "perform all marking on main thread).")                                      \
-P(max_polymorphic_checks, int, 4,                                              \
-  "Maximum number of polymorphic check, otherwise it is megamorphic.")         \
-P(max_equality_polymorphic_checks, int, 32,                                    \
-  "Maximum number of polymorphic checks in equality operator,")                \
-P(merge_sin_cos, bool, false,                                                  \
-  "Merge sin/cos into sincos")                                                 \
-P(new_gen_ext_limit, int, 64,                                                  \
-  "maximum total external size (MB) in new gen before triggering GC")          \
-P(new_gen_semi_max_size, int, (kWordSize <= 4) ? 16 : 32,                      \
-  "Max size of new gen semi space in MB")                                      \
-P(optimization_counter_threshold, int, 30000,                                  \
-  "Function's usage-counter value before it is optimized, -1 means never")     \
-P(old_gen_heap_size, int, (kWordSize <= 4) ? 1536 : 0,                         \
-  "Max size of old gen heap size in MB, or 0 for unlimited,"                   \
-  "e.g: --old_gen_heap_size=1024 allows up to 1024MB old gen heap")            \
-R(pause_isolates_on_start, false, bool, false,                                 \
-  "Pause isolates before starting.")                                           \
-R(pause_isolates_on_exit, false, bool, false,                                  \
-  "Pause isolates exiting.")                                                   \
-R(pause_isolates_on_unhandled_exceptions, false, bool, false,                  \
-  "Pause isolates on unhandled exceptions.")                                   \
-P(polymorphic_with_deopt, bool, true,                                          \
-  "Polymorphic calls with deoptimization / megamorphic call")                  \
-P(precompiled_mode, bool, false,                                               \
-  "Precompilation compiler mode")                                              \
-C(precompiled_runtime, true, false, bool, false,                               \
-  "Precompiled runtime mode")                                                  \
-R(print_ssa_liveranges, false, bool, false,                                    \
-  "Print live ranges after allocation.")                                       \
-C(print_stop_message, false, false, bool, false,                               \
-  "Print stop message.")                                                       \
-D(print_variable_descriptors, bool, false,                                     \
-  "Print variable descriptors in disassembly.")                                \
-R(profiler, false, bool, !USING_DBC && !USING_FUCHSIA,                         \
-  "Enable the profiler.")                                                      \
-P(reorder_basic_blocks, bool, true,                                            \
-  "Reorder basic blocks")                                                      \
-R(support_ast_printer, false, bool, true,                                      \
-  "Support the AST printer.")                                                  \
-R(support_compiler_stats, false, bool, true,                                   \
-  "Support compiler stats.")                                                   \
-C(support_debugger, false, false, bool, true,                                  \
-  "Support the debugger.")                                                     \
-R(support_disassembler, false, bool, true,                                     \
-  "Support the disassembler.")                                                 \
-R(support_il_printer, false, bool, true,                                       \
-  "Support the IL printer.")                                                   \
-C(support_reload, false, false, bool, true,                                    \
-  "Support isolate reload.")                                                   \
-R(support_service, false, bool, true,                                          \
-  "Support the service protocol.")                                             \
-R(support_timeline, false, bool, true,                                         \
-  "Support timeline.")                                                         \
-D(trace_cha, bool, false,                                                      \
-  "Trace CHA operations")                                                      \
-D(trace_field_guards, bool, false,                                             \
-  "Trace changes in field's cids.")                                            \
-D(trace_isolates, bool, false,                                                 \
-  "Trace isolate creation and shut down.")                                     \
-D(trace_handles, bool, false,                                                  \
-  "Traces allocation of handles.")                                             \
-D(trace_kernel_binary, bool, false,                                            \
-  "Trace Kernel reader/writer.")                                               \
-D(trace_optimization, bool, false,                                             \
-  "Print optimization details.")                                               \
-R(trace_profiler, false, bool, false,                                          \
-  "Profiler trace")                                                            \
-D(trace_profiler_verbose, bool, false,                                         \
-  "Verbose profiler trace")                                                    \
-D(trace_ssa_allocator, bool, false,                                            \
-  "Trace register allocation over SSA.")                                       \
-D(trace_zones, bool, false,                                                    \
-  "Traces allocation sizes in the zone.")                                      \
-P(truncating_left_shift, bool, true,                                           \
-  "Optimize left shift to truncate if possible")                               \
-P(use_cha_deopt, bool, true,                                                   \
-  "Use class hierarchy analysis even if it can cause deoptimization.")         \
-P(use_field_guards, bool, !USING_DBC,                                          \
-  "Use field guards and track field types")                                    \
-C(use_osr, false, true, bool, true,                                            \
-  "Use OSR")                                                                   \
-P(verbose_gc, bool, false,                                                     \
-  "Enables verbose GC.")                                                       \
-P(verbose_gc_hdr, int, 40,                                                     \
-  "Print verbose GC header interval.")                                         \
-R(verify_after_gc, false, bool, false,                                         \
-  "Enables heap verification after GC.")                                       \
-R(verify_before_gc, false, bool, false,                                        \
-  "Enables heap verification before GC.")                                      \
-D(verify_on_transition, bool, false,                                           \
-  "Verify on dart <==> VM.")                                                   \
+  P(background_compilation, bool, USING_MULTICORE,                             \
+    "Run optimizing compilation in background")                                \
+  R(background_compilation_stop_alot, false, bool, false,                      \
+    "Stress test system: stop background compiler often.")                     \
+  P(background_finalization, bool, USING_MULTICORE,                            \
+    "Run weak handle finalizers in background")                                \
+  R(break_at_isolate_spawn, false, bool, false,                                \
+    "Insert a one-time breakpoint at the entrypoint for all spawned isolates") \
+  C(collect_code, false, true, bool, true,                                     \
+    "Attempt to GC infrequently used code.")                                   \
+  P(collect_dynamic_function_names, bool, true,                                \
+    "Collects all dynamic function names to identify unique targets")          \
+  R(concurrent_sweep, USING_MULTICORE, bool, USING_MULTICORE,                  \
+    "Concurrent sweep for old generation.")                                    \
+  R(dedup_instructions, true, bool, false,                                     \
+    "Canonicalize instructions when precompiling.")                            \
+  C(deoptimize_alot, false, false, bool, false,                                \
+    "Deoptimizes we are about to return to Dart code from native entries.")    \
+  C(deoptimize_every, 0, 0, int, 0,                                            \
+    "Deoptimize on every N stack overflow checks")                             \
+  R(disable_alloc_stubs_after_gc, false, bool, false, "Stress testing flag.")  \
+  R(disassemble, false, bool, false, "Disassemble dart code.")                 \
+  R(disassemble_optimized, false, bool, false, "Disassemble optimized code.")  \
+  R(dump_megamorphic_stats, false, bool, false,                                \
+    "Dump megamorphic cache statistics")                                       \
+  R(dump_symbol_stats, false, bool, false, "Dump symbol table statistics")     \
+  R(enable_asserts, false, bool, false, "Enable assert statements.")           \
+  C(enable_mirrors, false, false, bool, true,                                  \
+    "Disable to make importing dart:mirrors an error.")                        \
+  R(enable_type_checks, false, bool, false, "Enable type checks.")             \
+  R(error_on_bad_override, false, bool, false,                                 \
+    "Report error for bad overrides.")                                         \
+  R(error_on_bad_type, false, bool, false,                                     \
+    "Report error for malformed types.")                                       \
+  P(external_max_size, int, (kWordSize <= 4) ? 512 : 1024,                     \
+    "Max total size of external allocations in MB, or 0 for unlimited,"        \
+    "e.g: --external_max_size=1024 allows up to 1024MB of externals")          \
+  P(fields_may_be_reset, bool, false,                                          \
+    "Don't optimize away static field initialization")                         \
+  C(force_clone_compiler_objects, false, false, bool, false,                   \
+    "Force cloning of objects needed in compiler (ICData and Field).")         \
+  R(gc_at_alloc, false, bool, false, "GC at every allocation.")                \
+  P(getter_setter_ratio, int, 13,                                              \
+    "Ratio of getter/setter usage used for double field unboxing heuristics")  \
+  P(guess_icdata_cid, bool, true,                                              \
+    "Artificially create type feedback for arithmetic etc. operations")        \
+  P(huge_method_cutoff_in_tokens, int, 20000,                                  \
+    "Huge method cutoff in tokens: Disables optimizations for huge methods.")  \
+  P(interpret_irregexp, bool, USING_DBC, "Use irregexp bytecode interpreter")  \
+  P(lazy_dispatchers, bool, true, "Generate dispatchers lazily")               \
+  P(link_natives_lazily, bool, false, "Link native calls lazily")              \
+  C(load_deferred_eagerly, true, true, bool, false,                            \
+    "Load deferred libraries eagerly.")                                        \
+  R(log_marker_tasks, false, bool, false,                                      \
+    "Log debugging information for old gen GC marking tasks.")                 \
+  R(marker_tasks, USING_MULTICORE ? 2 : 0, int, USING_MULTICORE ? 2 : 0,       \
+    "The number of tasks to spawn during old gen GC marking (0 means "         \
+    "perform all marking on main thread).")                                    \
+  P(max_polymorphic_checks, int, 4,                                            \
+    "Maximum number of polymorphic check, otherwise it is megamorphic.")       \
+  P(max_equality_polymorphic_checks, int, 32,                                  \
+    "Maximum number of polymorphic checks in equality operator,")              \
+  P(merge_sin_cos, bool, false, "Merge sin/cos into sincos")                   \
+  P(new_gen_ext_limit, int, 64,                                                \
+    "maximum total external size (MB) in new gen before triggering GC")        \
+  P(new_gen_semi_max_size, int, (kWordSize <= 4) ? 16 : 32,                    \
+    "Max size of new gen semi space in MB")                                    \
+  P(optimization_counter_threshold, int, 30000,                                \
+    "Function's usage-counter value before it is optimized, -1 means never")   \
+  P(old_gen_heap_size, int, (kWordSize <= 4) ? 1536 : 0,                       \
+    "Max size of old gen heap size in MB, or 0 for unlimited,"                 \
+    "e.g: --old_gen_heap_size=1024 allows up to 1024MB old gen heap")          \
+  R(pause_isolates_on_start, false, bool, false,                               \
+    "Pause isolates before starting.")                                         \
+  R(pause_isolates_on_exit, false, bool, false, "Pause isolates exiting.")     \
+  R(pause_isolates_on_unhandled_exceptions, false, bool, false,                \
+    "Pause isolates on unhandled exceptions.")                                 \
+  P(polymorphic_with_deopt, bool, true,                                        \
+    "Polymorphic calls with deoptimization / megamorphic call")                \
+  P(precompiled_mode, bool, false, "Precompilation compiler mode")             \
+  C(precompiled_runtime, true, false, bool, false, "Precompiled runtime mode") \
+  R(print_ssa_liveranges, false, bool, false,                                  \
+    "Print live ranges after allocation.")                                     \
+  C(print_stop_message, false, false, bool, false, "Print stop message.")      \
+  D(print_variable_descriptors, bool, false,                                   \
+    "Print variable descriptors in disassembly.")                              \
+  R(profiler, false, bool, !USING_DBC && !USING_FUCHSIA,                       \
+    "Enable the profiler.")                                                    \
+  P(reorder_basic_blocks, bool, true, "Reorder basic blocks")                  \
+  R(support_ast_printer, false, bool, true, "Support the AST printer.")        \
+  R(support_compiler_stats, false, bool, true, "Support compiler stats.")      \
+  C(support_debugger, false, false, bool, true, "Support the debugger.")       \
+  R(support_disassembler, false, bool, true, "Support the disassembler.")      \
+  R(support_il_printer, false, bool, true, "Support the IL printer.")          \
+  C(support_reload, false, false, bool, true, "Support isolate reload.")       \
+  R(support_service, false, bool, true, "Support the service protocol.")       \
+  R(support_timeline, false, bool, true, "Support timeline.")                  \
+  D(trace_cha, bool, false, "Trace CHA operations")                            \
+  D(trace_field_guards, bool, false, "Trace changes in field's cids.")         \
+  D(trace_isolates, bool, false, "Trace isolate creation and shut down.")      \
+  D(trace_handles, bool, false, "Traces allocation of handles.")               \
+  D(trace_kernel_binary, bool, false, "Trace Kernel reader/writer.")           \
+  D(trace_optimization, bool, false, "Print optimization details.")            \
+  R(trace_profiler, false, bool, false, "Profiler trace")                      \
+  D(trace_profiler_verbose, bool, false, "Verbose profiler trace")             \
+  D(trace_ssa_allocator, bool, false, "Trace register allocation over SSA.")   \
+  D(trace_zones, bool, false, "Traces allocation sizes in the zone.")          \
+  P(truncating_left_shift, bool, true,                                         \
+    "Optimize left shift to truncate if possible")                             \
+  P(use_cha_deopt, bool, true,                                                 \
+    "Use class hierarchy analysis even if it can cause deoptimization.")       \
+  P(use_field_guards, bool, !USING_DBC,                                        \
+    "Use field guards and track field types")                                  \
+  C(use_osr, false, true, bool, true, "Use OSR")                               \
+  P(verbose_gc, bool, false, "Enables verbose GC.")                            \
+  P(verbose_gc_hdr, int, 40, "Print verbose GC header interval.")              \
+  R(verify_after_gc, false, bool, false,                                       \
+    "Enables heap verification after GC.")                                     \
+  R(verify_before_gc, false, bool, false,                                      \
+    "Enables heap verification before GC.")                                    \
+  D(verify_on_transition, bool, false, "Verify on dart <==> VM.")
 
 #endif  // RUNTIME_VM_FLAG_LIST_H_
diff --git a/runtime/vm/flags.cc b/runtime/vm/flags.cc
index 8c5a9d8..dad1410 100644
--- a/runtime/vm/flags.cc
+++ b/runtime/vm/flags.cc
@@ -11,21 +11,19 @@
 namespace dart {
 
 DEFINE_FLAG(bool, print_flags, false, "Print flags as they are being parsed.");
-DEFINE_FLAG(bool, ignore_unrecognized_flags, false,
-    "Ignore unrecognized flags.");
+DEFINE_FLAG(bool,
+            ignore_unrecognized_flags,
+            false,
+            "Ignore unrecognized flags.");
 
-#define PRODUCT_FLAG_MARCO(name, type, default_value, comment) \
-  type FLAG_##name = Flags::Register_##type(&FLAG_##name,                      \
-                                            #name,                             \
-                                            default_value,                     \
-                                            comment);
+#define PRODUCT_FLAG_MARCO(name, type, default_value, comment)                 \
+  type FLAG_##name =                                                           \
+      Flags::Register_##type(&FLAG_##name, #name, default_value, comment);
 
 #if defined(DEBUG)
-#define DEBUG_FLAG_MARCO(name, type, default_value, comment) \
-  type FLAG_##name = Flags::Register_##type(&FLAG_##name,                      \
-                                            #name,                             \
-                                            default_value,                     \
-                                            comment);
+#define DEBUG_FLAG_MARCO(name, type, default_value, comment)                   \
+  type FLAG_##name =                                                           \
+      Flags::Register_##type(&FLAG_##name, #name, default_value, comment);
 #else  // defined(DEBUG)
 #define DEBUG_FLAG_MARCO(name, type, default_value, comment)
 #endif  // defined(DEBUG)
@@ -46,26 +44,20 @@
 
 #elif defined(DART_PRECOMPILED_RUNTIME)  // !PRODUCT
 #define RELEASE_FLAG_MARCO(name, product_value, type, default_value, comment)  \
-  type FLAG_##name = Flags::Register_##type(&FLAG_##name,                      \
-                                            #name,                             \
-                                            default_value,                     \
-                                            comment);
+  type FLAG_##name =                                                           \
+      Flags::Register_##type(&FLAG_##name, #name, default_value, comment);
 // Nothing to be done for the precompilation flag definitions.
 #define PRECOMPILE_FLAG_MARCO(name, pre_value, product_value, type,            \
                               default_value, comment)
 
 #else  // !PRODUCT && !PRECOMPILED
 #define RELEASE_FLAG_MARCO(name, product_value, type, default_value, comment)  \
-  type FLAG_##name = Flags::Register_##type(&FLAG_##name,                      \
-                                            #name,                             \
-                                            default_value,                     \
-                                            comment);
+  type FLAG_##name =                                                           \
+      Flags::Register_##type(&FLAG_##name, #name, default_value, comment);
 #define PRECOMPILE_FLAG_MARCO(name, pre_value, product_value, type,            \
                               default_value, comment)                          \
-  type FLAG_##name = Flags::Register_##type(&FLAG_##name,                      \
-                                            #name,                             \
-                                            default_value,                     \
-                                            comment);
+  type FLAG_##name =                                                           \
+      Flags::Register_##type(&FLAG_##name, #name, default_value, comment);
 #endif
 
 
@@ -90,21 +82,12 @@
 
 class Flag {
  public:
-  enum FlagType {
-    kBoolean,
-    kInteger,
-    kUint64,
-    kString,
-    kFunc,
-    kNumFlagTypes
-  };
+  enum FlagType { kBoolean, kInteger, kUint64, kString, kFunc, kNumFlagTypes };
 
   Flag(const char* name, const char* comment, void* addr, FlagType type)
-      : name_(name), comment_(comment), addr_(addr), type_(type) {
-  }
+      : name_(name), comment_(comment), addr_(addr), type_(type) {}
   Flag(const char* name, const char* comment, FlagHandler handler)
-      : name_(name), comment_(comment), handler_(handler), type_(kFunc) {
-  }
+      : name_(name), comment_(comment), handler_(handler), type_(kFunc) {}
 
   void Print() {
     if (IsUnrecognized()) {
@@ -113,8 +96,8 @@
     }
     switch (type_) {
       case kBoolean: {
-        OS::Print("%s: %s (%s)\n",
-            name_, *this->bool_ptr_ ? "true" : "false", comment_);
+        OS::Print("%s: %s (%s)\n", name_, *this->bool_ptr_ ? "true" : "false",
+                  comment_);
         break;
       }
       case kInteger: {
@@ -175,10 +158,8 @@
 
 bool Flags::IsSet(const char* name) {
   Flag* flag = Lookup(name);
-  return (flag != NULL) &&
-         (flag->type_ == Flag::kBoolean) &&
-         (flag->bool_ptr_ != NULL) &&
-         (*flag->bool_ptr_ == true);
+  return (flag != NULL) && (flag->type_ == Flag::kBoolean) &&
+         (flag->bool_ptr_ != NULL) && (*flag->bool_ptr_ == true);
 }
 
 
@@ -194,7 +175,7 @@
       for (intptr_t i = 0; i < num_flags_; i++) {
         new_flags[i] = flags_[i];
       }
-      delete [] flags_;
+      delete[] flags_;
       flags_ = new_flags;
       capacity_ = new_capacity;
     }
@@ -412,8 +393,8 @@
 
 
 int Flags::CompareFlagNames(const void* left, const void* right) {
-  const Flag* left_flag = *reinterpret_cast<const Flag* const *>(left);
-  const Flag* right_flag = *reinterpret_cast<const Flag* const *>(right);
+  const Flag* left_flag = *reinterpret_cast<const Flag* const*>(left);
+  const Flag* right_flag = *reinterpret_cast<const Flag* const*>(right);
   return strcmp(left_flag->name_, right_flag->name_);
 }
 
@@ -463,9 +444,7 @@
   return true;
 }
 
-bool Flags::SetFlag(const char* name,
-                    const char* value,
-                    const char** error) {
+bool Flags::SetFlag(const char* name, const char* value, const char** error) {
   Flag* flag = Lookup(name);
   if (flag == NULL) {
     *error = "Cannot set flag: flag not found";
diff --git a/runtime/vm/flags.h b/runtime/vm/flags.h
index 2d882d0..f5cb8f3 100644
--- a/runtime/vm/flags.h
+++ b/runtime/vm/flags.h
@@ -11,14 +11,11 @@
 
 typedef const char* charp;
 
-#define DECLARE_FLAG(type, name)                                               \
-  extern type FLAG_##name
+#define DECLARE_FLAG(type, name) extern type FLAG_##name
 
 #define DEFINE_FLAG(type, name, default_value, comment)                        \
-  type FLAG_##name = Flags::Register_##type(&FLAG_##name,                      \
-                                            #name,                             \
-                                            default_value,                     \
-                                            comment);
+  type FLAG_##name =                                                           \
+      Flags::Register_##type(&FLAG_##name, #name, default_value, comment);
 
 #define DEFINE_FLAG_HANDLER(handler, name, comment)                            \
   bool DUMMY_##name = Flags::Register_func(handler, #name, comment);
@@ -71,9 +68,7 @@
   static void PrintJSON(JSONStream* js);
 #endif  // !PRODUCT
 
-  static bool SetFlag(const char* name,
-                      const char* value,
-                      const char** error);
+  static bool SetFlag(const char* name, const char* value, const char** error);
 
  private:
   static Flag** flags_;
@@ -103,7 +98,7 @@
   DISALLOW_IMPLICIT_CONSTRUCTORS(Flags);
 };
 
-#define PRODUCT_FLAG_MARCO(name, type, default_value, comment) \
+#define PRODUCT_FLAG_MARCO(name, type, default_value, comment)                 \
   extern type FLAG_##name;
 
 #if defined(DEBUG)
diff --git a/runtime/vm/flow_graph.cc b/runtime/vm/flow_graph.cc
index fc20379..bcc18fb 100644
--- a/runtime/vm/flow_graph.cc
+++ b/runtime/vm/flow_graph.cc
@@ -26,36 +26,34 @@
 FlowGraph::FlowGraph(const ParsedFunction& parsed_function,
                      GraphEntryInstr* graph_entry,
                      intptr_t max_block_id)
-  : thread_(Thread::Current()),
-    parent_(),
-    current_ssa_temp_index_(0),
-    max_block_id_(max_block_id),
-    parsed_function_(parsed_function),
-    num_copied_params_(parsed_function.num_copied_params()),
-    num_non_copied_params_(parsed_function.num_non_copied_params()),
-    graph_entry_(graph_entry),
-    preorder_(),
-    postorder_(),
-    reverse_postorder_(),
-    optimized_block_order_(),
-    constant_null_(NULL),
-    constant_dead_(NULL),
-    constant_empty_context_(NULL),
-    block_effects_(NULL),
-    licm_allowed_(true),
-    loop_headers_(NULL),
-    loop_invariant_loads_(NULL),
-    deferred_prefixes_(parsed_function.deferred_prefixes()),
-    captured_parameters_(new(zone()) BitVector(zone(), variable_count())),
-    inlining_id_(-1) {
+    : thread_(Thread::Current()),
+      parent_(),
+      current_ssa_temp_index_(0),
+      max_block_id_(max_block_id),
+      parsed_function_(parsed_function),
+      num_copied_params_(parsed_function.num_copied_params()),
+      num_non_copied_params_(parsed_function.num_non_copied_params()),
+      graph_entry_(graph_entry),
+      preorder_(),
+      postorder_(),
+      reverse_postorder_(),
+      optimized_block_order_(),
+      constant_null_(NULL),
+      constant_dead_(NULL),
+      constant_empty_context_(NULL),
+      block_effects_(NULL),
+      licm_allowed_(true),
+      loop_headers_(NULL),
+      loop_invariant_loads_(NULL),
+      deferred_prefixes_(parsed_function.deferred_prefixes()),
+      captured_parameters_(new (zone()) BitVector(zone(), variable_count())),
+      inlining_id_(-1) {
   DiscoverBlocks();
 }
 
 
-void FlowGraph::EnsureSSATempIndex(Definition* defn,
-                                   Definition* replacement) {
-  if ((replacement->ssa_temp_index() == -1) &&
-      (defn->ssa_temp_index() != -1)) {
+void FlowGraph::EnsureSSATempIndex(Definition* defn, Definition* replacement) {
+  if ((replacement->ssa_temp_index() == -1) && (defn->ssa_temp_index() != -1)) {
     AllocateSSAIndexes(replacement);
   }
 }
@@ -100,7 +98,7 @@
     ZoneGrowableArray<const LibraryPrefix*>* from) {
   ZoneGrowableArray<const LibraryPrefix*>* to = deferred_prefixes();
   for (intptr_t i = 0; i < from->length(); i++) {
-    const  LibraryPrefix* prefix = (*from)[i];
+    const LibraryPrefix* prefix = (*from)[i];
     for (intptr_t j = 0; j < to->length(); j++) {
       if ((*to)[j]->raw() == prefix->raw()) {
         return;
@@ -113,17 +111,14 @@
 
 bool FlowGraph::ShouldReorderBlocks(const Function& function,
                                     bool is_optimized) {
-  return is_optimized
-      && FLAG_reorder_basic_blocks
-      && !function.is_intrinsic();
+  return is_optimized && FLAG_reorder_basic_blocks && !function.is_intrinsic();
 }
 
 
 GrowableArray<BlockEntryInstr*>* FlowGraph::CodegenBlockOrder(
     bool is_optimized) {
-  return ShouldReorderBlocks(function(), is_optimized)
-      ? &optimized_block_order_
-      : &reverse_postorder_;
+  return ShouldReorderBlocks(function(), is_optimized) ? &optimized_block_order_
+                                                       : &reverse_postorder_;
 }
 
 
@@ -131,8 +126,8 @@
   ConstantInstr* constant = constant_instr_pool_.LookupValue(object);
   if (constant == NULL) {
     // Otherwise, allocate and add it to the pool.
-    constant = new(zone()) ConstantInstr(
-        Object::ZoneHandle(zone(), object.raw()));
+    constant =
+        new (zone()) ConstantInstr(Object::ZoneHandle(zone(), object.raw()));
     constant->set_ssa_temp_index(alloc_ssa_temp_index());
 
     AddToInitialDefinitions(constant);
@@ -195,8 +190,8 @@
 class BlockTraversalState {
  public:
   explicit BlockTraversalState(BlockEntryInstr* block)
-    : block_(block),
-      next_successor_ix_(block->last_instruction()->SuccessorCount() - 1) { }
+      : block_(block),
+        next_successor_ix_(block->last_instruction()->SuccessorCount() - 1) {}
 
   bool HasNextSuccessor() const { return next_successor_ix_ >= 0; }
   BlockEntryInstr* NextSuccessor() {
@@ -227,7 +222,7 @@
   graph_entry_->DiscoverBlock(NULL, &preorder_, &parent_);
   block_stack.Add(BlockTraversalState(graph_entry_));
   while (!block_stack.is_empty()) {
-    BlockTraversalState &state = block_stack.Last();
+    BlockTraversalState& state = block_stack.Last();
     BlockEntryInstr* block = state.block();
     if (state.HasNextSuccessor()) {
       // Process successors one-by-one.
@@ -261,9 +256,8 @@
 
 void FlowGraph::MergeBlocks() {
   bool changed = false;
-  BitVector* merged = new(zone()) BitVector(zone(), postorder().length());
-  for (BlockIterator block_it = reverse_postorder_iterator();
-       !block_it.Done();
+  BitVector* merged = new (zone()) BitVector(zone(), postorder().length());
+  for (BlockIterator block_it = reverse_postorder_iterator(); !block_it.Done();
        block_it.Advance()) {
     BlockEntryInstr* block = block_it.Current();
     if (block->IsGraphEntry()) continue;
@@ -271,8 +265,7 @@
 
     Instruction* last = block->last_instruction();
     BlockEntryInstr* successor = NULL;
-    while ((!last->IsIndirectGoto()) &&
-           (last->SuccessorCount() == 1) &&
+    while ((!last->IsIndirectGoto()) && (last->SuccessorCount() == 1) &&
            (!last->SuccessorAt(0)->IsIndirectEntry()) &&
            (last->SuccessorAt(0)->PredecessorCount() == 1) &&
            (block->try_index() == last->SuccessorAt(0)->try_index())) {
@@ -288,8 +281,7 @@
       merged->Add(successor->postorder_number());
       changed = true;
       if (FLAG_trace_optimization) {
-        OS::Print("Merged blocks B%" Pd " and B%" Pd "\n",
-                  block->block_id(),
+        OS::Print("Merged blocks B%" Pd " and B%" Pd "\n", block->block_id(),
                   successor->block_id());
       }
     }
@@ -321,8 +313,7 @@
   for (intptr_t i = 0; i < instr->InputCount(); ++i) {
     Value* use = instr->InputAt(i);
     ASSERT(use->definition() != NULL);
-    ASSERT((use->definition() != instr) ||
-           use->definition()->IsPhi() ||
+    ASSERT((use->definition() != instr) || use->definition()->IsPhi() ||
            use->definition()->IsMaterializeObject());
     ASSERT(use->instruction() == instr);
     ASSERT(use->use_index() == i);
@@ -381,7 +372,8 @@
 }
 
 void FlowGraph::ComputeIsReceiverRecursive(
-    PhiInstr* phi, GrowableArray<PhiInstr*>* unmark) const {
+    PhiInstr* phi,
+    GrowableArray<PhiInstr*>* unmark) const {
   if (phi->is_receiver() != PhiInstr::kUnknownReceiver) return;
   phi->set_is_receiver(PhiInstr::kReceiver);
   for (intptr_t i = 0; i < phi->InputCount(); ++i) {
@@ -448,14 +440,17 @@
   Definition* callee_receiver = call->ArgumentAt(0);
   ASSERT(callee_receiver != NULL);
   if (function().IsDynamicFunction() && IsReceiver(callee_receiver)) {
-    const String& name = (kind == RawFunction::kMethodExtractor)
-        ? String::Handle(zone(), Field::NameFromGetter(call->function_name()))
-        : call->function_name();
+    const String& name =
+        (kind == RawFunction::kMethodExtractor)
+            ? String::Handle(zone(),
+                             Field::NameFromGetter(call->function_name()))
+            : call->function_name();
     const Class& cls = Class::Handle(zone(), function().Owner());
     intptr_t subclass_count = 0;
     if (!thread()->cha()->HasOverride(cls, name, &subclass_count)) {
       if (FLAG_trace_cha) {
-        THR_Print("  **(CHA) Instance call needs no check, "
+        THR_Print(
+            "  **(CHA) Instance call needs no check, "
             "no overrides of '%s' '%s'\n",
             name.ToCString(), cls.ToCString());
       }
@@ -467,7 +462,6 @@
 }
 
 
-
 bool FlowGraph::VerifyUseLists() {
   // Verify the initial definitions.
   for (intptr_t i = 0; i < graph_entry_->initial_definitions()->length(); ++i) {
@@ -494,15 +488,14 @@
 
 
 LivenessAnalysis::LivenessAnalysis(
-  intptr_t variable_count,
-  const GrowableArray<BlockEntryInstr*>& postorder)
+    intptr_t variable_count,
+    const GrowableArray<BlockEntryInstr*>& postorder)
     : zone_(Thread::Current()->zone()),
       variable_count_(variable_count),
       postorder_(postorder),
       live_out_(postorder.length()),
       kill_(postorder.length()),
-      live_in_(postorder.length()) {
-}
+      live_in_(postorder.length()) {}
 
 
 bool LivenessAnalysis::UpdateLiveOut(const BlockEntryInstr& block) {
@@ -553,9 +546,9 @@
 void LivenessAnalysis::Analyze() {
   const intptr_t block_count = postorder_.length();
   for (intptr_t i = 0; i < block_count; i++) {
-    live_out_.Add(new(zone()) BitVector(zone(), variable_count_));
-    kill_.Add(new(zone()) BitVector(zone(), variable_count_));
-    live_in_.Add(new(zone()) BitVector(zone(), variable_count_));
+    live_out_.Add(new (zone()) BitVector(zone(), variable_count_));
+    kill_.Add(new (zone()) BitVector(zone(), variable_count_));
+    live_in_.Add(new (zone()) BitVector(zone(), variable_count_));
   }
 
   ComputeInitialSets();
@@ -599,7 +592,7 @@
       : LivenessAnalysis(flow_graph->variable_count(), flow_graph->postorder()),
         flow_graph_(flow_graph),
         num_non_copied_params_(flow_graph->num_non_copied_params()),
-        assigned_vars_() { }
+        assigned_vars_() {}
 
   // For every block (in preorder) compute and return set of variables that
   // have new assigned values flowing out of that block.
@@ -672,7 +665,7 @@
 void VariableLivenessAnalysis::ComputeInitialSets() {
   const intptr_t block_count = postorder_.length();
 
-  BitVector* last_loads = new(zone()) BitVector(zone(), variable_count_);
+  BitVector* last_loads = new (zone()) BitVector(zone(), variable_count_);
   for (intptr_t i = 0; i < block_count; i++) {
     BlockEntryInstr* block = postorder_[i];
 
@@ -743,10 +736,8 @@
 
   GrowableArray<PhiInstr*> live_phis;
 
-  InsertPhis(preorder_,
-             variable_liveness.ComputeAssignedVars(),
-             dominance_frontier,
-             &live_phis);
+  InsertPhis(preorder_, variable_liveness.ComputeAssignedVars(),
+             dominance_frontier, &live_phis);
 
 
   // Rename uses to reference inserted phis where appropriate.
@@ -780,8 +771,8 @@
 
   // All arrays are maps between preorder basic-block numbers.
   intptr_t size = parent_.length();
-  GrowableArray<intptr_t> idom(size);  // Immediate dominator.
-  GrowableArray<intptr_t> semi(size);  // Semidominator.
+  GrowableArray<intptr_t> idom(size);   // Immediate dominator.
+  GrowableArray<intptr_t> semi(size);   // Semidominator.
   GrowableArray<intptr_t> label(size);  // Label for link-eval forest.
 
   // 1. First pass: compute semidominators as in Lengauer-Tarjan.
@@ -798,7 +789,7 @@
     idom.Add(parent_[i]);
     semi.Add(i);
     label.Add(i);
-    dominance_frontier->Add(new(zone()) BitVector(zone(), size));
+    dominance_frontier->Add(new (zone()) BitVector(zone(), size));
   }
 
   // Loop over the blocks in reverse preorder (not including the graph
@@ -877,11 +868,10 @@
 }
 
 
-void FlowGraph::InsertPhis(
-    const GrowableArray<BlockEntryInstr*>& preorder,
-    const GrowableArray<BitVector*>& assigned_vars,
-    const GrowableArray<BitVector*>& dom_frontier,
-    GrowableArray<PhiInstr*>* live_phis) {
+void FlowGraph::InsertPhis(const GrowableArray<BlockEntryInstr*>& preorder,
+                           const GrowableArray<BitVector*>& assigned_vars,
+                           const GrowableArray<BitVector*>& dom_frontier,
+                           GrowableArray<PhiInstr*>* live_phis) {
   const intptr_t block_count = preorder.length();
   // Map preorder block number to the highest variable index that has a phi
   // in that block.  Use it to avoid inserting multiple phis for the same
@@ -901,8 +891,8 @@
   // Insert phis for each variable in turn.
   GrowableArray<BlockEntryInstr*> worklist;
   for (intptr_t var_index = 0; var_index < variable_count(); ++var_index) {
-    const bool always_live = !FLAG_prune_dead_locals ||
-        (var_index == CurrentContextEnvIndex());
+    const bool always_live =
+        !FLAG_prune_dead_locals || (var_index == CurrentContextEnvIndex());
     // Add to the worklist each block containing an assignment.
     for (intptr_t block_index = 0; block_index < block_count; ++block_index) {
       if (assigned_vars[block_index]->Contains(var_index)) {
@@ -915,14 +905,13 @@
       BlockEntryInstr* current = worklist.RemoveLast();
       // Ensure a phi for each block in the dominance frontier of current.
       for (BitVector::Iterator it(dom_frontier[current->preorder_number()]);
-           !it.Done();
-           it.Advance()) {
+           !it.Done(); it.Advance()) {
         int index = it.Current();
         if (has_already[index] < var_index) {
           BlockEntryInstr* block = preorder[index];
           ASSERT(block->IsJoinEntry());
-          PhiInstr* phi = block->AsJoinEntry()->InsertPhi(var_index,
-                                                          variable_count());
+          PhiInstr* phi =
+              block->AsJoinEntry()->InsertPhi(var_index, variable_count());
           if (always_live) {
             phi->mark_alive();
             live_phis->Add(phi);
@@ -950,8 +939,8 @@
   // Add global constants to the initial definitions.
   constant_null_ = GetConstant(Object::ZoneHandle());
   constant_dead_ = GetConstant(Symbols::OptimizedOut());
-  constant_empty_context_ = GetConstant(Context::Handle(
-      isolate()->object_store()->empty_context()));
+  constant_empty_context_ =
+      GetConstant(Context::Handle(isolate()->object_store()->empty_context()));
 
   // Add parameters to the initial definitions and renaming environment.
   if (inlining_parameters != NULL) {
@@ -968,7 +957,7 @@
     // are unknown and so treated like parameters.
     intptr_t count = IsCompiledForOsr() ? variable_count() : parameter_count();
     for (intptr_t i = 0; i < count; ++i) {
-      ParameterInstr* param = new(zone()) ParameterInstr(i, entry);
+      ParameterInstr* param = new (zone()) ParameterInstr(i, entry);
       param->set_ssa_temp_index(alloc_ssa_temp_index());  // New SSA temp.
       AddToInitialDefinitions(param);
       env.Add(param);
@@ -1007,13 +996,10 @@
 void FlowGraph::AttachEnvironment(Instruction* instr,
                                   GrowableArray<Definition*>* env) {
   Environment* deopt_env =
-      Environment::From(zone(),
-                        *env,
-                        num_non_copied_params_,
-                        parsed_function_);
+      Environment::From(zone(), *env, num_non_copied_params_, parsed_function_);
   if (instr->IsClosureCall()) {
-    deopt_env = deopt_env->DeepCopy(zone(),
-                                    deopt_env->Length() - instr->InputCount());
+    deopt_env =
+        deopt_env->DeepCopy(zone(), deopt_env->Length() - instr->InputCount());
   }
   instr->SetEnvironment(deopt_env);
   for (Environment::DeepIterator it(deopt_env); !it.Done(); it.Advance()) {
@@ -1054,7 +1040,7 @@
   } else if (block_entry->IsCatchBlockEntry()) {
     // Add real definitions for all locals and parameters.
     for (intptr_t i = 0; i < env->length(); ++i) {
-      ParameterInstr* param = new(zone()) ParameterInstr(i, block_entry);
+      ParameterInstr* param = new (zone()) ParameterInstr(i, block_entry);
       param->set_ssa_temp_index(alloc_ssa_temp_index());  // New SSA temp.
       (*env)[i] = param;
       block_entry->AsCatchBlockEntry()->initial_definitions()->Add(param);
@@ -1067,8 +1053,7 @@
   for (intptr_t i = 0; i < variable_count(); i++) {
     // TODO(fschneider): Make sure that live_in always contains the
     // CurrentContext variable to avoid the special case here.
-    if (FLAG_prune_dead_locals &&
-        !live_in->Contains(i) &&
+    if (FLAG_prune_dead_locals && !live_in->Contains(i) &&
         (i != CurrentContextEnvIndex())) {
       (*env)[i] = constant_dead();
     }
@@ -1099,10 +1084,8 @@
       Definition* reaching_defn = env->RemoveLast();
       Definition* input_defn = v->definition();
       if (input_defn != reaching_defn) {
-        ASSERT(input_defn->IsLoadLocal() ||
-               input_defn->IsStoreLocal() ||
-               input_defn->IsDropTemps() ||
-               input_defn->IsConstant());
+        ASSERT(input_defn->IsLoadLocal() || input_defn->IsStoreLocal() ||
+               input_defn->IsDropTemps() || input_defn->IsConstant());
         // Assert we are not referencing nulls in the initial environment.
         ASSERT(reaching_defn->ssa_temp_index() != -1);
         v->set_definition(reaching_defn);
@@ -1123,9 +1106,7 @@
       StoreLocalInstr* store = definition->AsStoreLocal();
       DropTempsInstr* drop = definition->AsDropTemps();
       ConstantInstr* constant = definition->AsConstant();
-      if ((load != NULL) ||
-          (store != NULL) ||
-          (drop != NULL) ||
+      if ((load != NULL) || (store != NULL) || (drop != NULL) ||
           (constant != NULL)) {
         Definition* result = NULL;
         if (store != NULL) {
@@ -1220,7 +1201,7 @@
         PhiInstr* phi = (*successor->phis())[i];
         if (phi != NULL) {
           // Rename input operand.
-          Value* use = new(zone()) Value((*env)[i]);
+          Value* use = new (zone()) Value((*env)[i]);
           phi->SetInputAt(pred_index, use);
         }
       }
@@ -1238,14 +1219,11 @@
       if (join == NULL) continue;
       for (PhiIterator phi_it(join); !phi_it.Done(); phi_it.Advance()) {
         PhiInstr* phi = phi_it.Current();
-        if (phi == NULL ||
-            phi->is_alive() ||
-            (phi->input_use_list() != NULL) ||
+        if (phi == NULL || phi->is_alive() || (phi->input_use_list() != NULL) ||
             (phi->env_use_list() == NULL)) {
           continue;
         }
-        for (Value::Iterator it(phi->env_use_list());
-             !it.Done();
+        for (Value::Iterator it(phi->env_use_list()); !it.Done();
              it.Advance()) {
           Value* use = it.Current();
           if (use->instruction()->MayThrow() &&
@@ -1280,12 +1258,10 @@
 
 void FlowGraph::RemoveRedefinitions() {
   // Remove redefinition instructions inserted to inhibit hoisting.
-  for (BlockIterator block_it = reverse_postorder_iterator();
-       !block_it.Done();
+  for (BlockIterator block_it = reverse_postorder_iterator(); !block_it.Done();
        block_it.Advance()) {
     for (ForwardInstructionIterator instr_it(block_it.Current());
-         !instr_it.Done();
-         instr_it.Advance()) {
+         !instr_it.Done(); instr_it.Advance()) {
       RedefinitionInstr* redefinition = instr_it.Current()->AsRedefinition();
       if (redefinition != NULL) {
         Definition* original;
@@ -1305,7 +1281,7 @@
 // Design & Implementation" (Muchnick) p192.
 BitVector* FlowGraph::FindLoop(BlockEntryInstr* m, BlockEntryInstr* n) const {
   GrowableArray<BlockEntryInstr*> stack;
-  BitVector* loop = new(zone()) BitVector(zone(), preorder_.length());
+  BitVector* loop = new (zone()) BitVector(zone(), preorder_.length());
 
   loop->Add(n->preorder_number());
   if (n != m) {
@@ -1329,11 +1305,9 @@
 
 ZoneGrowableArray<BlockEntryInstr*>* FlowGraph::ComputeLoops() const {
   ZoneGrowableArray<BlockEntryInstr*>* loop_headers =
-      new(zone()) ZoneGrowableArray<BlockEntryInstr*>();
+      new (zone()) ZoneGrowableArray<BlockEntryInstr*>();
 
-  for (BlockIterator it = postorder_iterator();
-       !it.Done();
-       it.Advance()) {
+  for (BlockIterator it = postorder_iterator(); !it.Done(); it.Advance()) {
     BlockEntryInstr* block = it.Current();
     for (intptr_t i = 0; i < block->PredecessorCount(); ++i) {
       BlockEntryInstr* pred = block->PredecessorAt(i);
@@ -1364,8 +1338,7 @@
     for (intptr_t i = 0; i < loop_headers->length(); ++i) {
       BlockEntryInstr* header = (*loop_headers)[i];
       OS::Print("Loop header B%" Pd "\n", header->block_id());
-      for (BitVector::Iterator it(header->loop_info());
-           !it.Done();
+      for (BitVector::Iterator it(header->loop_info()); !it.Done();
            it.Advance()) {
         OS::Print("  B%" Pd "\n", preorder_[it.Current()]->block_id());
       }
@@ -1379,8 +1352,7 @@
   intptr_t size = 0;
   // Iterate each block, skipping the graph entry.
   for (intptr_t i = 1; i < preorder_.length(); ++i) {
-    for (ForwardInstructionIterator it(preorder_[i]);
-         !it.Done();
+    for (ForwardInstructionIterator it(preorder_[i]); !it.Done();
          it.Advance()) {
       ++size;
     }
@@ -1390,7 +1362,7 @@
 
 
 void FlowGraph::ComputeBlockEffects() {
-  block_effects_ = new(zone()) BlockEffects(this);
+  block_effects_ = new (zone()) BlockEffects(this);
 }
 
 
@@ -1402,7 +1374,7 @@
   const intptr_t block_count = flow_graph->postorder().length();
 
   // Set of blocks that contain side-effects.
-  BitVector* kill = new(zone) BitVector(zone, block_count);
+  BitVector* kill = new (zone) BitVector(zone, block_count);
 
   // Per block available-after sets. Block A is available after the block B if
   // and only if A is either equal to B or A is available at B and B contains no
@@ -1411,16 +1383,13 @@
   GrowableArray<BitVector*> available_after(block_count);
 
   // Discover all blocks with side-effects.
-  for (BlockIterator it = flow_graph->postorder_iterator();
-       !it.Done();
+  for (BlockIterator it = flow_graph->postorder_iterator(); !it.Done();
        it.Advance()) {
     available_at_.Add(NULL);
     available_after.Add(NULL);
 
     BlockEntryInstr* block = it.Current();
-    for (ForwardInstructionIterator it(block);
-         !it.Done();
-         it.Advance()) {
+    for (ForwardInstructionIterator it(block); !it.Done(); it.Advance()) {
       if (!it.Current()->Effects().IsNone()) {
         kill->Add(block->postorder_number());
         break;
@@ -1428,7 +1397,7 @@
     }
   }
 
-  BitVector* temp = new(zone) BitVector(zone, block_count);
+  BitVector* temp = new (zone) BitVector(zone, block_count);
 
   // Recompute available-at based on predecessors' available-after until the fix
   // point is reached.
@@ -1437,8 +1406,7 @@
     changed = false;
 
     for (BlockIterator it = flow_graph->reverse_postorder_iterator();
-         !it.Done();
-         it.Advance()) {
+         !it.Done(); it.Advance()) {
       BlockEntryInstr* block = it.Current();
       const intptr_t block_num = block->postorder_number();
 
@@ -1461,9 +1429,8 @@
         // Available-at changed: update it and recompute available-after.
         if (available_at_[block_num] == NULL) {
           current = available_at_[block_num] =
-              new(zone) BitVector(zone, block_count);
-          available_after[block_num] =
-              new(zone) BitVector(zone, block_count);
+              new (zone) BitVector(zone, block_count);
+          available_after[block_num] = new (zone) BitVector(zone, block_count);
           // Block is always available after itself.
           available_after[block_num]->Add(block_num);
         }
@@ -1483,14 +1450,14 @@
 bool BlockEffects::IsAvailableAt(Instruction* instr,
                                  BlockEntryInstr* block) const {
   return (instr->Dependencies().IsNone()) ||
-      IsSideEffectFreePath(instr->GetBlock(), block);
+         IsSideEffectFreePath(instr->GetBlock(), block);
 }
 
 
 bool BlockEffects::CanBeMovedTo(Instruction* instr,
                                 BlockEntryInstr* block) const {
   return (instr->Dependencies().IsNone()) ||
-      IsSideEffectFreePath(block, instr->GetBlock());
+         IsSideEffectFreePath(block, instr->GetBlock());
 }
 
 
@@ -1511,13 +1478,12 @@
   if (from_rep == to_rep || to_rep == kNoRepresentation) {
     return;
   }
-  InsertConversion(from_rep, to_rep, use, /*is_environment_use=*/ false);
+  InsertConversion(from_rep, to_rep, use, /*is_environment_use=*/false);
 }
 
 
 static bool IsUnboxedInteger(Representation rep) {
-  return (rep == kUnboxedInt32) ||
-         (rep == kUnboxedUint32) ||
+  return (rep == kUnboxedInt32) || (rep == kUnboxedUint32) ||
          (rep == kUnboxedMint);
 }
 
@@ -1556,24 +1522,24 @@
 
   Definition* converted = NULL;
   if (IsUnboxedInteger(from) && IsUnboxedInteger(to)) {
-    const intptr_t deopt_id = (to == kUnboxedInt32) && (deopt_target != NULL) ?
-      deopt_target->DeoptimizationTarget() : Thread::kNoDeoptId;
-    converted = new(Z) UnboxedIntConverterInstr(from,
-                                                to,
-                                                use->CopyWithType(),
-                                                deopt_id);
+    const intptr_t deopt_id = (to == kUnboxedInt32) && (deopt_target != NULL)
+                                  ? deopt_target->DeoptimizationTarget()
+                                  : Thread::kNoDeoptId;
+    converted = new (Z)
+        UnboxedIntConverterInstr(from, to, use->CopyWithType(), deopt_id);
   } else if ((from == kUnboxedInt32) && (to == kUnboxedDouble)) {
     converted = new Int32ToDoubleInstr(use->CopyWithType());
-  } else if ((from == kUnboxedMint) &&
-             (to == kUnboxedDouble) &&
+  } else if ((from == kUnboxedMint) && (to == kUnboxedDouble) &&
              CanConvertUnboxedMintToDouble()) {
-    const intptr_t deopt_id = (deopt_target != NULL) ?
-        deopt_target->DeoptimizationTarget() : Thread::kNoDeoptId;
+    const intptr_t deopt_id = (deopt_target != NULL)
+                                  ? deopt_target->DeoptimizationTarget()
+                                  : Thread::kNoDeoptId;
     ASSERT(CanUnboxDouble());
     converted = new MintToDoubleInstr(use->CopyWithType(), deopt_id);
   } else if ((from == kTagged) && Boxing::Supports(to)) {
-    const intptr_t deopt_id = (deopt_target != NULL) ?
-        deopt_target->DeoptimizationTarget() : Thread::kNoDeoptId;
+    const intptr_t deopt_id = (deopt_target != NULL)
+                                  ? deopt_target->DeoptimizationTarget()
+                                  : Thread::kNoDeoptId;
     converted = UnboxInstr::Create(to, use->CopyWithType(), deopt_id);
   } else if ((to == kTagged) && Boxing::Supports(from)) {
     converted = BoxInstr::Create(from, use->CopyWithType());
@@ -1582,14 +1548,15 @@
     // Insert two "dummy" conversion instructions with the correct
     // "from" and "to" representation. The inserted instructions will
     // trigger a deoptimization if executed. See #12417 for a discussion.
-    const intptr_t deopt_id = (deopt_target != NULL) ?
-        deopt_target->DeoptimizationTarget() : Thread::kNoDeoptId;
+    const intptr_t deopt_id = (deopt_target != NULL)
+                                  ? deopt_target->DeoptimizationTarget()
+                                  : Thread::kNoDeoptId;
     ASSERT(Boxing::Supports(from));
     ASSERT(Boxing::Supports(to));
     Definition* boxed = BoxInstr::Create(from, use->CopyWithType());
     use->BindTo(boxed);
     InsertBefore(insert_before, boxed, NULL, FlowGraph::kValue);
-    converted = UnboxInstr::Create(to, new(Z) Value(boxed), deopt_id);
+    converted = UnboxInstr::Create(to, new (Z) Value(boxed), deopt_id);
   }
   ASSERT(converted != NULL);
   InsertBefore(insert_before, converted, use->instruction()->env(),
@@ -1613,23 +1580,19 @@
   if (from_rep == to_rep) {
     return;
   }
-  InsertConversion(from_rep, to_rep, use, /*is_environment_use=*/ true);
+  InsertConversion(from_rep, to_rep, use, /*is_environment_use=*/true);
 }
 
 
 void FlowGraph::InsertConversionsFor(Definition* def) {
   const Representation from_rep = def->representation();
 
-  for (Value::Iterator it(def->input_use_list());
-       !it.Done();
-       it.Advance()) {
+  for (Value::Iterator it(def->input_use_list()); !it.Done(); it.Advance()) {
     ConvertUse(it.Current(), from_rep);
   }
 
   if (graph_entry()->SuccessorCount() > 1) {
-    for (Value::Iterator it(def->env_use_list());
-         !it.Done();
-         it.Advance()) {
+    for (Value::Iterator it(def->env_use_list()); !it.Done(); it.Advance()) {
       Value* use = it.Current();
       if (use->instruction()->MayThrow() &&
           use->instruction()->GetBlock()->InsideTryBlock()) {
@@ -1668,9 +1631,7 @@
       break;
   }
 
-  if ((kSmiBits < 32) &&
-      (unboxed == kTagged) &&
-      phi->Type()->IsInt() &&
+  if ((kSmiBits < 32) && (unboxed == kTagged) && phi->Type()->IsInt() &&
       RangeUtils::Fits(phi->range(), RangeBoundary::kRangeBoundaryInt64)) {
     // On 32-bit platforms conservatively unbox phis that:
     //   - are proven to be of type Int;
@@ -1695,15 +1656,14 @@
       // We checked inputs. Check if phi is used in at least one unbox
       // operation.
       bool has_unboxed_use = false;
-      for (Value* use = phi->input_use_list();
-           use != NULL;
+      for (Value* use = phi->input_use_list(); use != NULL;
            use = use->next_use()) {
         Instruction* instr = use->instruction();
         if (instr->IsUnbox()) {
           has_unboxed_use = true;
           break;
         } else if (IsUnboxedInteger(
-            instr->RequiredInputRepresentation(use->use_index()))) {
+                       instr->RequiredInputRepresentation(use->use_index()))) {
           has_unboxed_use = true;
           break;
         }
@@ -1717,7 +1677,8 @@
     if (should_unbox) {
       unboxed =
           RangeUtils::Fits(phi->range(), RangeBoundary::kRangeBoundaryInt32)
-          ? kUnboxedInt32 : kUnboxedMint;
+              ? kUnboxedInt32
+              : kUnboxedMint;
     }
   }
 
@@ -1728,8 +1689,7 @@
 void FlowGraph::SelectRepresentations() {
   // Conservatively unbox all phis that were proven to be of Double,
   // Float32x4, or Int32x4 type.
-  for (BlockIterator block_it = reverse_postorder_iterator();
-       !block_it.Done();
+  for (BlockIterator block_it = reverse_postorder_iterator(); !block_it.Done();
        block_it.Advance()) {
     JoinEntryInstr* join_entry = block_it.Current()->AsJoinEntry();
     if (join_entry != NULL) {
@@ -1742,14 +1702,12 @@
 
   // Process all instructions and insert conversions where needed.
   // Visit incoming parameters and constants.
-  for (intptr_t i = 0;
-       i < graph_entry()->initial_definitions()->length();
+  for (intptr_t i = 0; i < graph_entry()->initial_definitions()->length();
        i++) {
     InsertConversionsFor((*graph_entry()->initial_definitions())[i]);
   }
 
-  for (BlockIterator block_it = reverse_postorder_iterator();
-       !block_it.Done();
+  for (BlockIterator block_it = reverse_postorder_iterator(); !block_it.Done();
        block_it.Advance()) {
     BlockEntryInstr* entry = block_it.Current();
     JoinEntryInstr* join_entry = entry->AsJoinEntry();
@@ -1763,8 +1721,7 @@
     }
     CatchBlockEntryInstr* catch_entry = entry->AsCatchBlockEntry();
     if (catch_entry != NULL) {
-      for (intptr_t i = 0;
-           i < catch_entry->initial_definitions()->length();
+      for (intptr_t i = 0; i < catch_entry->initial_definitions()->length();
            i++) {
         InsertConversionsFor((*catch_entry->initial_definitions())[i]);
       }
@@ -1783,8 +1740,7 @@
 // Smi widening pass is only meaningful on platforms where Smi
 // is smaller than 32bit. For now only support it on ARM and ia32.
 static bool CanBeWidened(BinarySmiOpInstr* smi_op) {
-  return BinaryInt32OpInstr::IsSupported(smi_op->op_kind(),
-                                         smi_op->left(),
+  return BinaryInt32OpInstr::IsSupported(smi_op->op_kind(), smi_op->left(),
                                          smi_op->right());
 }
 
@@ -1810,17 +1766,13 @@
 
   // Step 1. Collect all instructions that potentially benefit from widening of
   // their operands (or their result) into int32 range.
-  for (BlockIterator block_it = reverse_postorder_iterator();
-       !block_it.Done();
+  for (BlockIterator block_it = reverse_postorder_iterator(); !block_it.Done();
        block_it.Advance()) {
     for (ForwardInstructionIterator instr_it(block_it.Current());
-         !instr_it.Done();
-         instr_it.Advance()) {
+         !instr_it.Done(); instr_it.Advance()) {
       BinarySmiOpInstr* smi_op = instr_it.Current()->AsBinarySmiOp();
-      if ((smi_op != NULL) &&
-          smi_op->HasSSATemp() &&
-          BenefitsFromWidening(smi_op) &&
-          CanBeWidened(smi_op)) {
+      if ((smi_op != NULL) && smi_op->HasSSATemp() &&
+          BenefitsFromWidening(smi_op) && CanBeWidened(smi_op)) {
         candidates.Add(smi_op);
       }
     }
@@ -1844,8 +1796,7 @@
 
   for (intptr_t loop_id = 0; loop_id < loop_headers.length(); ++loop_id) {
     for (BitVector::Iterator loop_it(loop_headers[loop_id]->loop_info());
-         !loop_it.Done();
-         loop_it.Advance()) {
+         !loop_it.Done(); loop_it.Advance()) {
       loops[loop_it.Current()] = loop_id;
     }
   }
@@ -1858,8 +1809,7 @@
 
   // BitVector containing SSA indexes of all processed definitions. Used to skip
   // those candidates that belong to dependency graph of another candidate.
-  BitVector* processed =
-      new(Z) BitVector(Z, current_ssa_temp_index());
+  BitVector* processed = new (Z) BitVector(Z, current_ssa_temp_index());
 
   // Worklist used to collect dependency graph.
   DefinitionWorklist worklist(this, candidates.length());
@@ -1898,8 +1848,7 @@
       // Process all inputs.
       for (intptr_t k = 0; k < defn->InputCount(); k++) {
         Definition* input = defn->InputAt(k)->definition();
-        if (input->IsBinarySmiOp() &&
-            CanBeWidened(input->AsBinarySmiOp())) {
+        if (input->IsBinarySmiOp() && CanBeWidened(input->AsBinarySmiOp())) {
           worklist.Add(input);
         } else if (input->IsPhi() && (input->Type()->ToCid() == kSmiCid)) {
           worklist.Add(input);
@@ -1924,8 +1873,7 @@
       }
 
       // Process all uses.
-      for (Value* use = defn->input_use_list();
-           use != NULL;
+      for (Value* use = defn->input_use_list(); use != NULL;
            use = use->next_use()) {
         Instruction* instr = use->instruction();
         Definition* use_defn = instr->AsDefinition();
@@ -1935,8 +1883,7 @@
           if (!instr->IsReturn() && !instr->IsPushArgument()) {
             gain--;
             if (FLAG_support_il_printer && FLAG_trace_smi_widening) {
-              THR_Print("v [%" Pd "] (u) %s\n",
-                        gain,
+              THR_Print("v [%" Pd "] (u) %s\n", gain,
                         use->instruction()->ToCString());
             }
           }
@@ -1953,15 +1900,13 @@
           // sign extension operation.
           gain++;
           if (FLAG_support_il_printer && FLAG_trace_smi_widening) {
-            THR_Print("^ [%" Pd "] (u) %s\n",
-                      gain,
+            THR_Print("^ [%" Pd "] (u) %s\n", gain,
                       use->instruction()->ToCString());
           }
         } else if (defn_loop == loops[instr->GetBlock()->preorder_number()]) {
           gain--;
           if (FLAG_support_il_printer && FLAG_trace_smi_widening) {
-            THR_Print("v [%" Pd "] (u) %s\n",
-                      gain,
+            THR_Print("v [%" Pd "] (u) %s\n", gain,
                       use->instruction()->ToCString());
           }
         }
@@ -1983,11 +1928,9 @@
 
         if (defn->IsBinarySmiOp()) {
           BinarySmiOpInstr* smi_op = defn->AsBinarySmiOp();
-          BinaryInt32OpInstr* int32_op = new(Z) BinaryInt32OpInstr(
-            smi_op->op_kind(),
-            smi_op->left()->CopyWithType(),
-            smi_op->right()->CopyWithType(),
-            smi_op->DeoptimizationTarget());
+          BinaryInt32OpInstr* int32_op = new (Z) BinaryInt32OpInstr(
+              smi_op->op_kind(), smi_op->left()->CopyWithType(),
+              smi_op->right()->CopyWithType(), smi_op->DeoptimizationTarget());
 
           smi_op->ReplaceWith(int32_op, NULL);
         } else if (defn->IsPhi()) {
@@ -2013,8 +1956,7 @@
   // that can deoptimize.
 
   disallow_licm();
-  for (BlockIterator block_it = reverse_postorder_iterator();
-       !block_it.Done();
+  for (BlockIterator block_it = reverse_postorder_iterator(); !block_it.Done();
        block_it.Advance()) {
     BlockEntryInstr* block = block_it.Current();
     if (!block->IsCatchBlockEntry()) {
@@ -2039,11 +1981,9 @@
 bool FlowGraph::Canonicalize() {
   bool changed = false;
 
-  for (BlockIterator block_it = reverse_postorder_iterator();
-       !block_it.Done();
+  for (BlockIterator block_it = reverse_postorder_iterator(); !block_it.Done();
        block_it.Advance()) {
-    for (ForwardInstructionIterator it(block_it.Current());
-         !it.Done();
+    for (ForwardInstructionIterator it(block_it.Current()); !it.Done();
          it.Advance()) {
       Instruction* current = it.Current();
       if (current->HasUnmatchedInputRepresentations()) {
@@ -2074,8 +2014,7 @@
   if (!FLAG_truncating_left_shift) return;
   GrowableArray<BinarySmiOpInstr*> div_mod_merge;
   GrowableArray<InvokeMathCFunctionInstr*> sin_cos_merge;
-  for (BlockIterator block_it = reverse_postorder_iterator();
-       !block_it.Done();
+  for (BlockIterator block_it = reverse_postorder_iterator(); !block_it.Done();
        block_it.Advance()) {
     // Merging only per basic-block.
     div_mod_merge.Clear();
@@ -2085,9 +2024,7 @@
       if (it.Current()->IsBinarySmiOp()) {
         BinarySmiOpInstr* binop = it.Current()->AsBinarySmiOp();
         if (binop->op_kind() == Token::kBIT_AND) {
-          OptimizeLeftShiftBitAndSmiOp(&it,
-                                       binop,
-                                       binop->left()->definition(),
+          OptimizeLeftShiftBitAndSmiOp(&it, binop, binop->left()->definition(),
                                        binop->right()->definition());
         } else if ((binop->op_kind() == Token::kTRUNCDIV) ||
                    (binop->op_kind() == Token::kMOD)) {
@@ -2098,8 +2035,7 @@
       } else if (it.Current()->IsBinaryMintOp()) {
         BinaryMintOpInstr* mintop = it.Current()->AsBinaryMintOp();
         if (mintop->op_kind() == Token::kBIT_AND) {
-          OptimizeLeftShiftBitAndSmiOp(&it,
-                                       mintop,
+          OptimizeLeftShiftBitAndSmiOp(&it, mintop,
                                        mintop->left()->definition(),
                                        mintop->right()->definition());
         }
@@ -2167,10 +2103,8 @@
   ASSERT(bit_and_instr->IsBinarySmiOp() || bit_and_instr->IsBinaryMintOp());
   if (bit_and_instr->IsBinaryMintOp()) {
     // Replace Mint op with Smi op.
-    BinarySmiOpInstr* smi_op = new(Z) BinarySmiOpInstr(
-        Token::kBIT_AND,
-        new(Z) Value(left_instr),
-        new(Z) Value(right_instr),
+    BinarySmiOpInstr* smi_op = new (Z) BinarySmiOpInstr(
+        Token::kBIT_AND, new (Z) Value(left_instr), new (Z) Value(right_instr),
         Thread::kNoDeoptId);  // BIT_AND cannot deoptimize.
     bit_and_instr->ReplaceWith(smi_op, current_iterator);
   }
@@ -2209,38 +2143,34 @@
     ASSERT((curr_instr->op_kind() == Token::kTRUNCDIV) ||
            (curr_instr->op_kind() == Token::kMOD));
     // Check if there is kMOD/kTRUNDIV binop with same inputs.
-    const Token::Kind other_kind = (curr_instr->op_kind() == Token::kTRUNCDIV) ?
-        Token::kMOD : Token::kTRUNCDIV;
+    const Token::Kind other_kind = (curr_instr->op_kind() == Token::kTRUNCDIV)
+                                       ? Token::kMOD
+                                       : Token::kTRUNCDIV;
     Definition* left_def = curr_instr->left()->definition();
     Definition* right_def = curr_instr->right()->definition();
     for (intptr_t k = i + 1; k < merge_candidates->length(); k++) {
       BinarySmiOpInstr* other_binop = (*merge_candidates)[k];
       // 'other_binop' can be NULL if it was already merged.
-      if ((other_binop != NULL) &&
-          (other_binop->op_kind() == other_kind) &&
+      if ((other_binop != NULL) && (other_binop->op_kind() == other_kind) &&
           (other_binop->left()->definition() == left_def) &&
           (other_binop->right()->definition() == right_def)) {
         (*merge_candidates)[k] = NULL;  // Clear it.
         ASSERT(curr_instr->HasUses());
         AppendExtractNthOutputForMerged(
-            curr_instr,
-            MergedMathInstr::OutputIndexOf(curr_instr->op_kind()),
+            curr_instr, MergedMathInstr::OutputIndexOf(curr_instr->op_kind()),
             kTagged, kSmiCid);
         ASSERT(other_binop->HasUses());
         AppendExtractNthOutputForMerged(
-            other_binop,
-            MergedMathInstr::OutputIndexOf(other_binop->op_kind()),
+            other_binop, MergedMathInstr::OutputIndexOf(other_binop->op_kind()),
             kTagged, kSmiCid);
 
-        ZoneGrowableArray<Value*>* args = new(Z) ZoneGrowableArray<Value*>(2);
-        args->Add(new(Z) Value(curr_instr->left()->definition()));
-        args->Add(new(Z) Value(curr_instr->right()->definition()));
+        ZoneGrowableArray<Value*>* args = new (Z) ZoneGrowableArray<Value*>(2);
+        args->Add(new (Z) Value(curr_instr->left()->definition()));
+        args->Add(new (Z) Value(curr_instr->right()->definition()));
 
         // Replace with TruncDivMod.
-        MergedMathInstr* div_mod = new(Z) MergedMathInstr(
-            args,
-            curr_instr->deopt_id(),
-            MergedMathInstr::kTruncDivMod);
+        MergedMathInstr* div_mod = new (Z) MergedMathInstr(
+            args, curr_instr->deopt_id(), MergedMathInstr::kTruncDivMod);
         curr_instr->ReplaceWith(div_mod, NULL);
         other_binop->ReplaceUsesWith(div_mod);
         other_binop->RemoveFromGraph();
@@ -2276,8 +2206,8 @@
            (kind == MethodRecognizer::kMathCos));
     // Check if there is sin/cos binop with same inputs.
     const MethodRecognizer::Kind other_kind =
-        (kind == MethodRecognizer::kMathSin)
-        ? MethodRecognizer::kMathCos : MethodRecognizer::kMathSin;
+        (kind == MethodRecognizer::kMathSin) ? MethodRecognizer::kMathCos
+                                             : MethodRecognizer::kMathSin;
     Definition* def = curr_instr->InputAt(0)->definition();
     for (intptr_t k = i + 1; k < merge_candidates->length(); k++) {
       InvokeMathCFunctionInstr* other_op = (*merge_candidates)[k];
@@ -2291,16 +2221,13 @@
                                         kUnboxedDouble, kDoubleCid);
         ASSERT(other_op->HasUses());
         AppendExtractNthOutputForMerged(
-            other_op,
-            MergedMathInstr::OutputIndexOf(other_kind),
+            other_op, MergedMathInstr::OutputIndexOf(other_kind),
             kUnboxedDouble, kDoubleCid);
-        ZoneGrowableArray<Value*>* args = new(Z) ZoneGrowableArray<Value*>(1);
-        args->Add(new(Z) Value(curr_instr->InputAt(0)->definition()));
+        ZoneGrowableArray<Value*>* args = new (Z) ZoneGrowableArray<Value*>(1);
+        args->Add(new (Z) Value(curr_instr->InputAt(0)->definition()));
         // Replace with SinCos.
-        MergedMathInstr* sin_cos =
-            new(Z) MergedMathInstr(args,
-                                   curr_instr->DeoptimizationTarget(),
-                                   MergedMathInstr::kSinCos);
+        MergedMathInstr* sin_cos = new (Z) MergedMathInstr(
+            args, curr_instr->DeoptimizationTarget(), MergedMathInstr::kSinCos);
         curr_instr->ReplaceWith(sin_cos, NULL);
         other_op->ReplaceUsesWith(sin_cos);
         other_op->RemoveFromGraph();
@@ -2319,12 +2246,10 @@
                                                 Representation rep,
                                                 intptr_t cid) {
   ExtractNthOutputInstr* extract =
-      new(Z) ExtractNthOutputInstr(new(Z) Value(instr), index, rep, cid);
+      new (Z) ExtractNthOutputInstr(new (Z) Value(instr), index, rep, cid);
   instr->ReplaceUsesWith(extract);
   InsertAfter(instr, extract, NULL, FlowGraph::kValue);
 }
 
 
-
-
 }  // namespace dart
diff --git a/runtime/vm/flow_graph.h b/runtime/vm/flow_graph.h
index 1b71083..8a1b5c6 100644
--- a/runtime/vm/flow_graph.h
+++ b/runtime/vm/flow_graph.h
@@ -22,12 +22,12 @@
 class BlockIterator : public ValueObject {
  public:
   explicit BlockIterator(const GrowableArray<BlockEntryInstr*>& block_order)
-      : block_order_(block_order), current_(0) { }
+      : block_order_(block_order), current_(0) {}
 
   BlockIterator(const BlockIterator& other)
       : ValueObject(),
         block_order_(other.block_order_),
-        current_(other.current_) { }
+        current_(other.current_) {}
 
   void Advance() {
     ASSERT(!Done());
@@ -49,22 +49,17 @@
   typedef const Object& Key;
   typedef ConstantInstr* Pair;
 
-  static Key KeyOf(Pair kv) {
-    return kv->value();
-  }
+  static Key KeyOf(Pair kv) { return kv->value(); }
 
-  static Value ValueOf(Pair kv) {
-    return kv;
-  }
+  static Value ValueOf(Pair kv) { return kv; }
 
   static inline intptr_t Hashcode(Key key) {
     if (key.IsSmi()) {
       return Smi::Cast(key).Value();
     }
     if (key.IsDouble()) {
-      return static_cast<intptr_t>(
-          bit_cast<int32_t, float>(
-              static_cast<float>(Double::Cast(key).value())));
+      return static_cast<intptr_t>(bit_cast<int32_t, float>(
+          static_cast<float>(Double::Cast(key).value())));
     }
     if (key.IsMint()) {
       return static_cast<intptr_t>(Mint::Cast(key).value());
@@ -89,12 +84,8 @@
             intptr_t max_block_id);
 
   // Function properties.
-  const ParsedFunction& parsed_function() const {
-    return parsed_function_;
-  }
-  const Function& function() const {
-    return parsed_function_.function();
-  }
+  const ParsedFunction& parsed_function() const { return parsed_function_; }
+  const Function& function() const { return parsed_function_.function(); }
   intptr_t parameter_count() const {
     return num_copied_params_ + num_non_copied_params_;
   }
@@ -104,15 +95,9 @@
   intptr_t num_stack_locals() const {
     return parsed_function_.num_stack_locals();
   }
-  intptr_t num_copied_params() const {
-    return num_copied_params_;
-  }
-  intptr_t num_non_copied_params() const {
-    return num_non_copied_params_;
-  }
-  bool IsIrregexpFunction() const {
-    return function().IsIrregexpFunction();
-  }
+  intptr_t num_copied_params() const { return num_copied_params_; }
+  intptr_t num_non_copied_params() const { return num_non_copied_params_; }
+  bool IsIrregexpFunction() const { return function().IsIrregexpFunction(); }
 
   LocalVariable* CurrentContextVar() const {
     return parsed_function().current_context_var();
@@ -124,9 +109,7 @@
   }
 
   // Flow graph orders.
-  const GrowableArray<BlockEntryInstr*>& preorder() const {
-    return preorder_;
-  }
+  const GrowableArray<BlockEntryInstr*>& preorder() const { return preorder_; }
   const GrowableArray<BlockEntryInstr*>& postorder() const {
     return postorder_;
   }
@@ -170,17 +153,11 @@
   void set_max_block_id(intptr_t id) { max_block_id_ = id; }
   intptr_t allocate_block_id() { return ++max_block_id_; }
 
-  GraphEntryInstr* graph_entry() const {
-    return graph_entry_;
-  }
+  GraphEntryInstr* graph_entry() const { return graph_entry_; }
 
-  ConstantInstr* constant_null() const {
-    return constant_null_;
-  }
+  ConstantInstr* constant_null() const { return constant_null_; }
 
-  ConstantInstr* constant_dead() const {
-    return constant_dead_;
-  }
+  ConstantInstr* constant_dead() const { return constant_dead_; }
 
   ConstantInstr* constant_empty_context() const {
     return constant_empty_context_;
@@ -286,9 +263,7 @@
     return deferred_prefixes_;
   }
 
-  BitVector* captured_parameters() const {
-    return captured_parameters_;
-  }
+  BitVector* captured_parameters() const { return captured_parameters_; }
 
   intptr_t inlining_id() const { return inlining_id_; }
   void set_inlining_id(intptr_t value) { inlining_id_ = value; }
@@ -319,28 +294,25 @@
   // SSA transformation methods and fields.
   void ComputeDominators(GrowableArray<BitVector*>* dominance_frontier);
 
-  void CompressPath(
-      intptr_t start_index,
-      intptr_t current_index,
-      GrowableArray<intptr_t>* parent,
-      GrowableArray<intptr_t>* label);
+  void CompressPath(intptr_t start_index,
+                    intptr_t current_index,
+                    GrowableArray<intptr_t>* parent,
+                    GrowableArray<intptr_t>* label);
 
   void Rename(GrowableArray<PhiInstr*>* live_phis,
               VariableLivenessAnalysis* variable_liveness,
               ZoneGrowableArray<Definition*>* inlining_parameters);
-  void RenameRecursive(
-      BlockEntryInstr* block_entry,
-      GrowableArray<Definition*>* env,
-      GrowableArray<PhiInstr*>* live_phis,
-      VariableLivenessAnalysis* variable_liveness);
+  void RenameRecursive(BlockEntryInstr* block_entry,
+                       GrowableArray<Definition*>* env,
+                       GrowableArray<PhiInstr*>* live_phis,
+                       VariableLivenessAnalysis* variable_liveness);
 
   void AttachEnvironment(Instruction* instr, GrowableArray<Definition*>* env);
 
-  void InsertPhis(
-      const GrowableArray<BlockEntryInstr*>& preorder,
-      const GrowableArray<BitVector*>& assigned_vars,
-      const GrowableArray<BitVector*>& dom_frontier,
-      GrowableArray<PhiInstr*>* live_phis);
+  void InsertPhis(const GrowableArray<BlockEntryInstr*>& preorder,
+                  const GrowableArray<BitVector*>& assigned_vars,
+                  const GrowableArray<BitVector*>& dom_frontier,
+                  GrowableArray<PhiInstr*>* live_phis);
 
   void RemoveDeadPhis(GrowableArray<PhiInstr*>* live_phis);
 
@@ -376,8 +348,10 @@
   void TryMergeMathUnary(
       GrowableArray<InvokeMathCFunctionInstr*>* merge_candidates);
 
-  void AppendExtractNthOutputForMerged(Definition* instr, intptr_t ix,
-                                       Representation rep, intptr_t cid);
+  void AppendExtractNthOutputForMerged(Definition* instr,
+                                       intptr_t ix,
+                                       Representation rep,
+                                       intptr_t cid);
 
   Thread* thread_;
 
@@ -422,7 +396,7 @@
 
   void Analyze();
 
-  virtual ~LivenessAnalysis() { }
+  virtual ~LivenessAnalysis() {}
 
   BitVector* GetLiveInSetAt(intptr_t postorder_number) const {
     return live_in_[postorder_number];
@@ -520,13 +494,10 @@
 
 class DefinitionWorklist : public ValueObject {
  public:
-  DefinitionWorklist(FlowGraph* flow_graph,
-                     intptr_t initial_capacity)
+  DefinitionWorklist(FlowGraph* flow_graph, intptr_t initial_capacity)
       : defs_(initial_capacity),
-        contains_vector_(
-            new BitVector(flow_graph->zone(),
-                          flow_graph->current_ssa_temp_index())) {
-  }
+        contains_vector_(new BitVector(flow_graph->zone(),
+                                       flow_graph->current_ssa_temp_index())) {}
 
   void Add(Definition* defn) {
     if (!Contains(defn)) {
@@ -537,12 +508,10 @@
 
   bool Contains(Definition* defn) const {
     return (defn->ssa_temp_index() >= 0) &&
-        contains_vector_->Contains(defn->ssa_temp_index());
+           contains_vector_->Contains(defn->ssa_temp_index());
   }
 
-  bool IsEmpty() const {
-    return defs_.is_empty();
-  }
+  bool IsEmpty() const { return defs_.is_empty(); }
 
   Definition* RemoveLast() {
     Definition* defn = defs_.RemoveLast();
diff --git a/runtime/vm/flow_graph_allocator.cc b/runtime/vm/flow_graph_allocator.cc
index 423e6c1..9010074 100644
--- a/runtime/vm/flow_graph_allocator.cc
+++ b/runtime/vm/flow_graph_allocator.cc
@@ -69,23 +69,23 @@
 
 FlowGraphAllocator::FlowGraphAllocator(const FlowGraph& flow_graph,
                                        bool intrinsic_mode)
-  : flow_graph_(flow_graph),
-    reaching_defs_(flow_graph),
-    value_representations_(flow_graph.max_virtual_register_number()),
-    block_order_(flow_graph.reverse_postorder()),
-    postorder_(flow_graph.postorder()),
-    liveness_(flow_graph),
-    vreg_count_(flow_graph.max_virtual_register_number()),
-    live_ranges_(flow_graph.max_virtual_register_number()),
-    cpu_regs_(),
-    fpu_regs_(),
-    blocked_cpu_registers_(),
-    blocked_fpu_registers_(),
-    number_of_registers_(0),
-    registers_(),
-    blocked_registers_(),
-    cpu_spill_slot_count_(0),
-    intrinsic_mode_(intrinsic_mode) {
+    : flow_graph_(flow_graph),
+      reaching_defs_(flow_graph),
+      value_representations_(flow_graph.max_virtual_register_number()),
+      block_order_(flow_graph.reverse_postorder()),
+      postorder_(flow_graph.postorder()),
+      liveness_(flow_graph),
+      vreg_count_(flow_graph.max_virtual_register_number()),
+      live_ranges_(flow_graph.max_virtual_register_number()),
+      cpu_regs_(),
+      fpu_regs_(),
+      blocked_cpu_registers_(),
+      blocked_fpu_registers_(),
+      number_of_registers_(0),
+      registers_(),
+      blocked_registers_(),
+      cpu_spill_slot_count_(0),
+      intrinsic_mode_(intrinsic_mode) {
   for (intptr_t i = 0; i < vreg_count_; i++) {
     live_ranges_.Add(NULL);
   }
@@ -196,8 +196,7 @@
       // Add non-argument uses from the deoptimization environment (pushed
       // arguments are not allocated by the register allocator).
       if (current->env() != NULL) {
-        for (Environment::DeepIterator env_it(current->env());
-             !env_it.Done();
+        for (Environment::DeepIterator env_it(current->env()); !env_it.Done();
              env_it.Advance()) {
           Definition* defn = env_it.CurrentValue()->definition();
           if (defn->IsMaterializeObject()) {
@@ -249,8 +248,7 @@
     } else if (block->IsCatchBlockEntry()) {
       // Process initial definitions.
       CatchBlockEntryInstr* catch_entry = block->AsCatchBlockEntry();
-      for (intptr_t i = 0;
-           i < catch_entry->initial_definitions()->length();
+      for (intptr_t i = 0; i < catch_entry->initial_definitions()->length();
            i++) {
         Definition* def = (*catch_entry->initial_definitions())[i];
         const intptr_t vreg = def->ssa_temp_index();
@@ -275,8 +273,7 @@
   ASSERT((first_use_interval_->start_ <= pos) &&
          (pos <= first_use_interval_->end_));
   if (uses_ != NULL) {
-    if ((uses_->pos() == pos) &&
-        (uses_->location_slot() == location_slot)) {
+    if ((uses_->pos() == pos) && (uses_->location_slot() == location_slot)) {
       return uses_;
     } else if (uses_->pos() < pos) {
       // If an instruction at position P is using the same value both as
@@ -443,8 +440,8 @@
   if (loc.IsRegister()) {
     BlockRegisterLocation(loc, from, to, blocked_cpu_registers_, cpu_regs_);
 #if defined(TARGET_ARCH_DBC)
-    last_used_register_ = Utils::Maximum(last_used_register_,
-                                         loc.register_code());
+    last_used_register_ =
+        Utils::Maximum(last_used_register_, loc.register_code());
 #endif
   } else if (loc.IsFpuRegister()) {
     BlockRegisterLocation(loc, from, to, blocked_fpu_registers_, fpu_regs_);
@@ -459,9 +456,8 @@
     return;
   }
 
-  THR_Print("  live range v%" Pd " [%" Pd ", %" Pd ") in ", vreg(),
-                                                            Start(),
-                                                            End());
+  THR_Print("  live range v%" Pd " [%" Pd ", %" Pd ") in ", vreg(), Start(),
+            End());
   assigned_location().Print();
   if (spill_slot_.HasStackIndex()) {
     intptr_t stack_slot = spill_slot_.stack_index();
@@ -478,11 +474,9 @@
   }
 
   UsePosition* use_pos = uses_;
-  for (UseInterval* interval = first_use_interval_;
-       interval != NULL;
+  for (UseInterval* interval = first_use_interval_; interval != NULL;
        interval = interval->next()) {
-    THR_Print("    use interval [%" Pd ", %" Pd ")\n",
-              interval->start(),
+    THR_Print("    use interval [%" Pd ", %" Pd ")\n", interval->start(),
               interval->end());
     while ((use_pos != NULL) && (use_pos->pos() <= interval->end())) {
       THR_Print("      use at %" Pd "", use_pos->pos());
@@ -560,8 +554,7 @@
     // For every SSA value that is live out of this block, create an interval
     // that covers the whole block.  It will be shortened if we encounter a
     // definition of this value in this block.
-    for (BitVector::Iterator it(liveness_.GetLiveOutSetAt(i));
-         !it.Done();
+    for (BitVector::Iterator it(liveness_.GetLiveOutSetAt(i)); !it.Done();
          it.Advance()) {
       LiveRange* range = GetLiveRange(it.Current());
       range->AddUseInterval(block->start_pos(), block->end_pos());
@@ -569,21 +562,20 @@
 
     BlockInfo* loop_header = block_info->loop_header();
     if ((loop_header != NULL) && (loop_header->last_block() == block)) {
-      current_interference_set = new(zone) BitVector(
-          zone, flow_graph_.max_virtual_register_number());
+      current_interference_set =
+          new (zone) BitVector(zone, flow_graph_.max_virtual_register_number());
       ASSERT(loop_header->backedge_interference() == NULL);
       // All values flowing into the loop header are live at the back-edge and
       // can interfere with phi moves.
       current_interference_set->AddAll(
           liveness_.GetLiveInSet(loop_header->entry()));
-      loop_header->set_backedge_interference(
-          current_interference_set);
+      loop_header->set_backedge_interference(current_interference_set);
     }
 
     // Connect outgoing phi-moves that were created in NumberInstructions
     // and find last instruction that contributes to liveness.
-    Instruction* current = ConnectOutgoingPhiMoves(block,
-                                                   current_interference_set);
+    Instruction* current =
+        ConnectOutgoingPhiMoves(block, current_interference_set);
 
     // Now process all instructions in reverse order.
     while (current != block) {
@@ -598,8 +590,7 @@
     // Check if any values live into the loop can be spilled for free.
     if (block_info->is_loop_header()) {
       current_interference_set = NULL;
-      for (BitVector::Iterator it(liveness_.GetLiveInSetAt(i));
-           !it.Done();
+      for (BitVector::Iterator it(liveness_.GetLiveInSetAt(i)); !it.Done();
            it.Advance()) {
         LiveRange* range = GetLiveRange(it.Current());
         if (HasOnlyUnconstrainedUsesInLoop(range, block_info)) {
@@ -616,8 +607,7 @@
 
       ProcessEnvironmentUses(catch_entry, catch_entry);  // For lazy deopt
 
-      for (intptr_t i = 0;
-           i < catch_entry->initial_definitions()->length();
+      for (intptr_t i = 0; i < catch_entry->initial_definitions()->length();
            i++) {
         Definition* defn = (*catch_entry->initial_definitions())[i];
         LiveRange* range = GetLiveRange(defn->ssa_temp_index());
@@ -637,11 +627,9 @@
       const intptr_t stacktrace_reg =
           LocalVarIndex(0, catch_entry->stacktrace_var().index());
 #endif
-      BlockLocation(Location::RegisterLocation(exception_reg),
-                    start,
+      BlockLocation(Location::RegisterLocation(exception_reg), start,
                     ToInstructionEnd(start));
-      BlockLocation(Location::RegisterLocation(stacktrace_reg),
-                    start,
+      BlockLocation(Location::RegisterLocation(stacktrace_reg), start,
                     ToInstructionEnd(start));
     }
   }
@@ -694,8 +682,7 @@
       UsePosition* use =
           range->finger()->FirstRegisterBeneficialUse(block->start_pos());
       if (use != NULL) {
-        LiveRange* tail =
-            SplitBetween(range, block->start_pos(), use->pos());
+        LiveRange* tail = SplitBetween(range, block->start_pos(), use->pos());
         // Parameters and constants are tagged, so allocated to CPU registers.
         ASSERT(constant->representation() == kTagged);
         CompleteRange(tail, Location::kRegister);
@@ -733,10 +720,9 @@
       return;
     }
 #endif  // defined(TARGET_ARCH_DBC)
-    range->set_assigned_location(Location::StackSlot(slot_index,
-                                                     param->base_reg()));
-    range->set_spill_slot(Location::StackSlot(slot_index,
-                                              param->base_reg()));
+    range->set_assigned_location(
+        Location::StackSlot(slot_index, param->base_reg()));
+    range->set_spill_slot(Location::StackSlot(slot_index, param->base_reg()));
 
   } else if (defn->IsCurrentContext()) {
 #if !defined(TARGET_ARCH_DBC)
@@ -765,8 +751,7 @@
   UsePosition* use =
       range->finger()->FirstRegisterBeneficialUse(block->start_pos());
   if (use != NULL) {
-    LiveRange* tail =
-        SplitBetween(range, block->start_pos(), use->pos());
+    LiveRange* tail = SplitBetween(range, block->start_pos(), use->pos());
     // Parameters and constants are tagged, so allocated to CPU registers.
     CompleteRange(tail, Location::kRegister);
   }
@@ -842,7 +827,8 @@
 //
 
 Instruction* FlowGraphAllocator::ConnectOutgoingPhiMoves(
-    BlockEntryInstr* block, BitVector* interfere_at_backedge) {
+    BlockEntryInstr* block,
+    BitVector* interfere_at_backedge) {
   Instruction* last = block->last_instruction();
 
   GotoInstr* goto_instr = last->AsGoto();
@@ -889,8 +875,7 @@
 
     range->AddUseInterval(block->start_pos(), pos);
     range->AddHintedUse(
-        pos,
-        move->src_slot(),
+        pos, move->src_slot(),
         GetLiveRange(phi->ssa_temp_index())->assigned_location_slot());
     move->set_src(Location::PrefersRegister());
 
@@ -902,11 +887,9 @@
         interfere_at_backedge->Add(vreg);
       }
       range->AddUseInterval(block->start_pos(), pos);
-      range->AddHintedUse(
-          pos,
-          move->src_slot(),
-          GetLiveRange(ToSecondPairVreg(
-              phi->ssa_temp_index()))->assigned_location_slot());
+      range->AddHintedUse(pos, move->src_slot(),
+                          GetLiveRange(ToSecondPairVreg(phi->ssa_temp_index()))
+                              ->assigned_location_slot());
       move->set_src(Location::PrefersRegister());
     }
   }
@@ -1044,7 +1027,7 @@
         {
           // Second live range.
           LiveRange* range =
-            GetLiveRange(ToSecondPairVreg(def->ssa_temp_index()));
+              GetLiveRange(ToSecondPairVreg(def->ssa_temp_index()));
           range->AddUseInterval(block_start_pos, use_pos);
           range->AddUse(use_pos, location_pair->SlotAt(1));
         }
@@ -1103,8 +1086,8 @@
       }
     } else if (def->IsMaterializeObject()) {
       locations[i] = Location::NoLocation();
-      ProcessMaterializationUses(
-          block, block_start_pos, use_pos, def->AsMaterializeObject());
+      ProcessMaterializationUses(block, block_start_pos, use_pos,
+                                 def->AsMaterializeObject());
     } else {
       locations[i] = Location::Any();
       LiveRange* range = GetLiveRange(def->ssa_temp_index());
@@ -1137,8 +1120,7 @@
     if (live_registers != NULL) {
       live_registers->Add(*in_ref, range->representation());
     }
-    MoveOperands* move =
-        AddMoveAt(pos - 1, *in_ref, Location::Any());
+    MoveOperands* move = AddMoveAt(pos - 1, *in_ref, Location::Any());
     BlockLocation(*in_ref, pos - 1, pos + 1);
     range->AddUseInterval(block->start_pos(), pos - 1);
     range->AddHintedUse(pos - 1, move->src_slot(), in_ref);
@@ -1150,8 +1132,7 @@
       //                 i  i'
       //      value    --*
       //      temp       [--)
-      MoveOperands* move = AddMoveAt(pos,
-                                     Location::RequiresRegister(),
+      MoveOperands* move = AddMoveAt(pos, Location::RequiresRegister(),
                                      Location::PrefersRegister());
 
       // Add uses to the live range of the input.
@@ -1196,8 +1177,8 @@
   ASSERT(def != NULL);
   ASSERT(block != NULL);
 
-  LiveRange* range = vreg >= 0 ?
-      GetLiveRange(vreg) : MakeLiveRangeForTemporary();
+  LiveRange* range =
+      vreg >= 0 ? GetLiveRange(vreg) : MakeLiveRangeForTemporary();
 
   // Process output and finalize its liverange.
   if (out->IsMachineRegister()) {
@@ -1249,9 +1230,8 @@
            in_ref->Equals(Location::RequiresFpuRegister()));
     *out = *in_ref;
     // Create move that will copy value between input and output.
-    MoveOperands* move = AddMoveAt(pos,
-                                   Location::RequiresRegister(),
-                                   Location::Any());
+    MoveOperands* move =
+        AddMoveAt(pos, Location::RequiresRegister(), Location::Any());
 
     // Add uses to the live range of the input.
     LiveRange* input_range = GetLiveRange(input_vreg);
@@ -1265,8 +1245,7 @@
     range->AddUse(pos, move->dest_slot());
     range->AddUse(pos, in_ref);
 
-    if ((interference_set != NULL) &&
-        (range->vreg() >= 0) &&
+    if ((interference_set != NULL) && (range->vreg() >= 0) &&
         interference_set->Contains(range->vreg())) {
       interference_set->Add(input->ssa_temp_index());
     }
@@ -1301,8 +1280,9 @@
   Definition* def = current->AsDefinition();
   if ((def != NULL) && (def->AsConstant() != NULL)) {
     ASSERT(!def->HasPairRepresentation());
-    LiveRange* range = (def->ssa_temp_index() != -1) ?
-        GetLiveRange(def->ssa_temp_index()) : NULL;
+    LiveRange* range = (def->ssa_temp_index() != -1)
+                           ? GetLiveRange(def->ssa_temp_index())
+                           : NULL;
 
     // Drop definitions of constants that have no uses.
     if ((range == NULL) || (range->first_use() == NULL)) {
@@ -1368,8 +1348,7 @@
   // they will be processed together at the very end.
   {
     for (intptr_t j = output_same_as_first_input ? 1 : 0;
-         j < locs->input_count();
-         j++) {
+         j < locs->input_count(); j++) {
       // Determine if we are dealing with a value pair, and if so, whether
       // the location is the first register or second register.
       Value* input = current->InputAt(j);
@@ -1384,8 +1363,8 @@
         const intptr_t vreg = input->definition()->ssa_temp_index();
         // Each element of the pair is assigned it's own virtual register number
         // and is allocated its own LiveRange.
-        ProcessOneInput(block, pos, pair->SlotAt(0),
-                        input, vreg, live_registers);
+        ProcessOneInput(block, pos, pair->SlotAt(0), input, vreg,
+                        live_registers);
         ProcessOneInput(block, pos, pair->SlotAt(1), input,
                         ToSecondPairVreg(vreg), live_registers);
       } else {
@@ -1418,9 +1397,9 @@
     }
   }
 
-  // Block all allocatable registers for calls.
-  // Note that on DBC registers are always essentially spilled so
-  // we don't need to block anything.
+// Block all allocatable registers for calls.
+// Note that on DBC registers are always essentially spilled so
+// we don't need to block anything.
 #if !defined(TARGET_ARCH_DBC)
   if (locs->always_calls()) {
     // Expected shape of live range:
@@ -1430,15 +1409,13 @@
     //
     // The stack bitmap describes the position i.
     for (intptr_t reg = 0; reg < kNumberOfCpuRegisters; reg++) {
-      BlockLocation(Location::RegisterLocation(static_cast<Register>(reg)),
-                    pos,
+      BlockLocation(Location::RegisterLocation(static_cast<Register>(reg)), pos,
                     pos + 1);
     }
 
     for (intptr_t reg = 0; reg < kNumberOfFpuRegisters; reg++) {
       BlockLocation(
-          Location::FpuRegisterLocation(static_cast<FpuRegister>(reg)),
-          pos,
+          Location::FpuRegisterLocation(static_cast<FpuRegister>(reg)), pos,
           pos + 1);
     }
 
@@ -1499,54 +1476,44 @@
       ASSERT(input->HasPairRepresentation());
       // Each element of the pair is assigned it's own virtual register number
       // and is allocated its own LiveRange.
-      ProcessOneOutput(block, pos,  // BlockEntry, seq.
-                       pair->SlotAt(0), def,  // (output) Location, Definition.
+      ProcessOneOutput(block, pos,             // BlockEntry, seq.
+                       pair->SlotAt(0), def,   // (output) Location, Definition.
                        def->ssa_temp_index(),  // (output) virtual register.
-                       true,  // output mapped to first input.
+                       true,                   // output mapped to first input.
                        in_pair->SlotAt(0), input,  // (input) Location, Def.
-                       input->ssa_temp_index(),  // (input) virtual register.
+                       input->ssa_temp_index(),    // (input) virtual register.
                        interference_set);
-      ProcessOneOutput(block, pos,
-                       pair->SlotAt(1), def,
-                       ToSecondPairVreg(def->ssa_temp_index()),
-                       true,
-                       in_pair->SlotAt(1), input,
-                       ToSecondPairVreg(input->ssa_temp_index()),
-                       interference_set);
+      ProcessOneOutput(
+          block, pos, pair->SlotAt(1), def,
+          ToSecondPairVreg(def->ssa_temp_index()), true, in_pair->SlotAt(1),
+          input, ToSecondPairVreg(input->ssa_temp_index()), interference_set);
     } else {
       // Each element of the pair is assigned it's own virtual register number
       // and is allocated its own LiveRange.
-      ProcessOneOutput(block, pos,
-                       pair->SlotAt(0), def,
-                       def->ssa_temp_index(),
-                       false,            // output is not mapped to first input.
-                       NULL, NULL, -1,   // First input not needed.
+      ProcessOneOutput(block, pos, pair->SlotAt(0), def, def->ssa_temp_index(),
+                       false,           // output is not mapped to first input.
+                       NULL, NULL, -1,  // First input not needed.
                        interference_set);
-      ProcessOneOutput(block, pos,
-                       pair->SlotAt(1), def,
-                       ToSecondPairVreg(def->ssa_temp_index()),
-                       false,
-                       NULL, NULL, -1,
-                       interference_set);
+      ProcessOneOutput(block, pos, pair->SlotAt(1), def,
+                       ToSecondPairVreg(def->ssa_temp_index()), false, NULL,
+                       NULL, -1, interference_set);
     }
   } else {
     if (output_same_as_first_input) {
       Location* in_ref = locs->in_slot(0);
       Definition* input = current->InputAt(0)->definition();
       ASSERT(!in_ref->IsPairLocation());
-      ProcessOneOutput(block, pos,  // BlockEntry, Instruction, seq.
-                       out, def,  // (output) Location, Definition.
+      ProcessOneOutput(block, pos,             // BlockEntry, Instruction, seq.
+                       out, def,               // (output) Location, Definition.
                        def->ssa_temp_index(),  // (output) virtual register.
-                       true,  // output mapped to first input.
-                       in_ref, input,  // (input) Location, Def.
+                       true,                   // output mapped to first input.
+                       in_ref, input,          // (input) Location, Def.
                        input->ssa_temp_index(),  // (input) virtual register.
                        interference_set);
     } else {
-      ProcessOneOutput(block, pos,
-                       out, def,
-                       def->ssa_temp_index(),
-                       false,            // output is not mapped to first input.
-                       NULL, NULL, -1,   // First input not needed.
+      ProcessOneOutput(block, pos, out, def, def->ssa_temp_index(),
+                       false,           // output is not mapped to first input.
+                       NULL, NULL, -1,  // First input not needed.
                        interference_set);
     }
   }
@@ -1667,7 +1634,7 @@
         if (!successor_info->is_loop_header() &&
             ((current_loop == NULL) ||
              (current_loop->entry()->postorder_number() >
-                  successor_info->entry()->postorder_number()))) {
+              successor_info->entry()->postorder_number()))) {
           ASSERT(successor_info != current_loop);
 
           successor_info->mark_loop_header();
@@ -1718,7 +1685,8 @@
 
 bool AllocationFinger::Advance(const intptr_t start) {
   UseInterval* a = first_pending_use_interval_;
-  while (a != NULL && a->end() <= start) a = a->next();
+  while (a != NULL && a->end() <= start)
+    a = a->next();
   first_pending_use_interval_ = a;
   return (first_pending_use_interval_ == NULL);
 }
@@ -1746,12 +1714,11 @@
 
 UsePosition* AllocationFinger::FirstRegisterUse(intptr_t after) {
   for (UsePosition* use = FirstUseAfter(first_register_use_, after);
-       use != NULL;
-       use = use->next()) {
+       use != NULL; use = use->next()) {
     Location* loc = use->location_slot();
     if (loc->IsUnallocated() &&
         ((loc->policy() == Location::kRequiresRegister) ||
-        (loc->policy() == Location::kRequiresFpuRegister))) {
+         (loc->policy() == Location::kRequiresFpuRegister))) {
       first_register_use_ = use;
       return use;
     }
@@ -1762,8 +1729,7 @@
 
 UsePosition* AllocationFinger::FirstRegisterBeneficialUse(intptr_t after) {
   for (UsePosition* use = FirstUseAfter(first_register_beneficial_use_, after);
-       use != NULL;
-       use = use->next()) {
+       use != NULL; use = use->next()) {
     Location* loc = use->location_slot();
     if (loc->IsUnallocated() && loc->IsRegisterBeneficial()) {
       first_register_beneficial_use_ = use;
@@ -1823,7 +1789,7 @@
 }
 
 
-template<typename PositionType>
+template <typename PositionType>
 PositionType* SplitListOfPositions(PositionType** head,
                                    intptr_t split_pos,
                                    bool split_at_start) {
@@ -1876,9 +1842,8 @@
 
   UseInterval* first_after_split = interval;
   if (!split_at_start && interval->Contains(split_pos)) {
-    first_after_split = new UseInterval(split_pos,
-                                        interval->end(),
-                                        interval->next());
+    first_after_split =
+        new UseInterval(split_pos, interval->end(), interval->next());
     interval->end_ = split_pos;
     interval->next_ = first_after_split;
     last_before_split = interval;
@@ -1895,15 +1860,12 @@
   SafepointPosition* first_safepoint_after_split =
       SplitListOfPositions(&first_safepoint_, split_pos, split_at_start);
 
-  UseInterval* last_use_interval = (last_before_split == last_use_interval_) ?
-    first_after_split : last_use_interval_;
-  next_sibling_ = new LiveRange(vreg(),
-                                representation(),
-                                first_use_after_split,
-                                first_after_split,
-                                last_use_interval,
-                                first_safepoint_after_split,
-                                next_sibling_);
+  UseInterval* last_use_interval = (last_before_split == last_use_interval_)
+                                       ? first_after_split
+                                       : last_use_interval_;
+  next_sibling_ = new LiveRange(vreg(), representation(), first_use_after_split,
+                                first_after_split, last_use_interval,
+                                first_safepoint_after_split, next_sibling_);
 
   TRACE_ALLOC(THR_Print("  split sibling [%" Pd ", %" Pd ")\n",
                         next_sibling_->Start(), next_sibling_->End()));
@@ -1922,8 +1884,8 @@
 LiveRange* FlowGraphAllocator::SplitBetween(LiveRange* range,
                                             intptr_t from,
                                             intptr_t to) {
-  TRACE_ALLOC(THR_Print("split v%" Pd " [%" Pd ", %" Pd
-                        ") between [%" Pd ", %" Pd ")\n",
+  TRACE_ALLOC(THR_Print("split v%" Pd " [%" Pd ", %" Pd ") between [%" Pd
+                        ", %" Pd ")\n",
                         range->vreg(), range->Start(), range->End(), from, to));
 
   intptr_t split_pos = kIllegalPosition;
@@ -1994,8 +1956,8 @@
         RangeHasOnlyUnconstrainedUsesInLoop(range, loop_header->loop_id())) {
       ASSERT(loop_header->entry()->start_pos() <= from);
       from = loop_header->entry()->start_pos();
-      TRACE_ALLOC(THR_Print("  moved spill position to loop header %" Pd "\n",
-                            from));
+      TRACE_ALLOC(
+          THR_Print("  moved spill position to loop header %" Pd "\n", from));
     }
   }
 
@@ -2031,11 +1993,11 @@
   // double and quad spill slots as it complicates disambiguation during
   // parallel move resolution.
   const bool need_quad = (register_kind_ == Location::kFpuRegister) &&
-      ((range->representation() == kUnboxedFloat32x4) ||
-       (range->representation() == kUnboxedInt32x4)   ||
-       (range->representation() == kUnboxedFloat64x2));
+                         ((range->representation() == kUnboxedFloat32x4) ||
+                          (range->representation() == kUnboxedInt32x4) ||
+                          (range->representation() == kUnboxedFloat64x2));
   const bool need_untagged = (register_kind_ == Location::kRegister) &&
-      ((range->representation() == kUntagged));
+                             ((range->representation() == kUntagged));
 
   // Search for a free spill slot among allocated: the value in it should be
   // dead and its type should match (e.g. it should not be a part of the quad if
@@ -2043,8 +2005,8 @@
   // For CPU registers we need to take reserved slots for try-catch into
   // account.
   intptr_t idx = register_kind_ == Location::kRegister
-      ? flow_graph_.graph_entry()->fixed_slot_count()
-      : 0;
+                     ? flow_graph_.graph_entry()->fixed_slot_count()
+                     : 0;
   for (; idx < spill_slots_.length(); idx++) {
     if ((need_quad == quad_spill_slots_[idx]) &&
         (need_untagged == untagged_spill_slots_[idx]) &&
@@ -2082,8 +2044,8 @@
     // We use the index of the slot with the lowest address as an index for the
     // FPU register spill slot. In terms of indexes this relation is inverted:
     // so we have to take the highest index.
-    const intptr_t slot_idx = cpu_spill_slot_count_ +
-        idx * kDoubleSpillFactor + (kDoubleSpillFactor - 1);
+    const intptr_t slot_idx = cpu_spill_slot_count_ + idx * kDoubleSpillFactor +
+                              (kDoubleSpillFactor - 1);
 
     Location location;
     if ((range->representation() == kUnboxedFloat32x4) ||
@@ -2108,8 +2070,7 @@
 
   while (range != NULL) {
     for (SafepointPosition* safepoint = range->first_safepoint();
-         safepoint != NULL;
-         safepoint = safepoint->next()) {
+         safepoint != NULL; safepoint = safepoint->next()) {
       // Mark the stack slot as having an object.
       safepoint->locs()->SetStackBit(stack_index);
     }
@@ -2132,7 +2093,8 @@
 
 
 intptr_t FlowGraphAllocator::FirstIntersectionWithAllocated(
-    intptr_t reg, LiveRange* unallocated) {
+    intptr_t reg,
+    LiveRange* unallocated) {
   intptr_t intersection = kMaxPosition;
   for (intptr_t i = 0; i < registers_[reg]->length(); i++) {
     LiveRange* allocated = (*registers_[reg])[i];
@@ -2143,8 +2105,7 @@
     if (allocated_head->start() >= intersection) continue;
 
     const intptr_t pos = FirstIntersection(
-        unallocated->finger()->first_pending_use_interval(),
-        allocated_head);
+        unallocated->finger()->first_pending_use_interval(), allocated_head);
     if (pos < intersection) intersection = pos;
   }
   return intersection;
@@ -2154,8 +2115,8 @@
 void ReachingDefs::AddPhi(PhiInstr* phi) {
   if (phi->reaching_defs() == NULL) {
     Zone* zone = flow_graph_.zone();
-    phi->set_reaching_defs(new(zone) BitVector(
-        zone, flow_graph_.max_virtual_register_number()));
+    phi->set_reaching_defs(
+        new (zone) BitVector(zone, flow_graph_.max_virtual_register_number()));
 
     // Compute initial set reaching defs set.
     bool depends_on_phi = false;
@@ -2230,15 +2191,13 @@
   Location hint = unallocated->finger()->FirstHint();
   if (hint.IsMachineRegister()) {
     if (!blocked_registers_[hint.register_code()]) {
-      free_until = FirstIntersectionWithAllocated(hint.register_code(),
-                                                  unallocated);
+      free_until =
+          FirstIntersectionWithAllocated(hint.register_code(), unallocated);
       candidate = hint.register_code();
     }
 
     TRACE_ALLOC(THR_Print("found hint %s for v%" Pd ": free until %" Pd "\n",
-                          hint.Name(),
-                          unallocated->vreg(),
-                          free_until));
+                          hint.Name(), unallocated->vreg(), free_until));
   } else {
     for (intptr_t reg = 0; reg < NumberOfRegisters(); ++reg) {
       if (!blocked_registers_[reg] && (registers_[reg]->length() == 0)) {
@@ -2271,8 +2230,7 @@
   // searching for a candidate that does not interfere with phis on the back
   // edge.
   BlockInfo* loop_header = BlockInfoAt(unallocated->Start())->loop_header();
-  if ((unallocated->vreg() >= 0) &&
-      (loop_header != NULL) &&
+  if ((unallocated->vreg() >= 0) && (loop_header != NULL) &&
       (free_until >= loop_header->last_block()->end_pos()) &&
       loop_header->backedge_interference()->Contains(unallocated->vreg())) {
     GrowableArray<bool> used_on_backedge(number_of_registers_);
@@ -2280,8 +2238,7 @@
       used_on_backedge.Add(false);
     }
 
-    for (PhiIterator it(loop_header->entry()->AsJoinEntry());
-         !it.Done();
+    for (PhiIterator it(loop_header->entry()->AsJoinEntry()); !it.Done();
          it.Advance()) {
       PhiInstr* phi = it.Current();
       ASSERT(phi->is_alive());
@@ -2307,16 +2264,15 @@
     }
 
     if (used_on_backedge[candidate]) {
-      TRACE_ALLOC(THR_Print(
-          "considering %s for v%" Pd ": has interference on the back edge"
-          " {loop [%" Pd ", %" Pd ")}\n",
-          MakeRegisterLocation(candidate).Name(),
-          unallocated->vreg(),
-          loop_header->entry()->start_pos(),
-          loop_header->last_block()->end_pos()));
+      TRACE_ALLOC(THR_Print("considering %s for v%" Pd
+                            ": has interference on the back edge"
+                            " {loop [%" Pd ", %" Pd ")}\n",
+                            MakeRegisterLocation(candidate).Name(),
+                            unallocated->vreg(),
+                            loop_header->entry()->start_pos(),
+                            loop_header->last_block()->end_pos()));
       for (intptr_t reg = 0; reg < NumberOfRegisters(); ++reg) {
-        if (blocked_registers_[reg] ||
-            (reg == candidate) ||
+        if (blocked_registers_[reg] || (reg == candidate) ||
             used_on_backedge[reg]) {
           continue;
         }
@@ -2328,8 +2284,7 @@
           free_until = intersection;
           TRACE_ALLOC(THR_Print(
               "found %s for v%" Pd " with no interference on the back edge\n",
-              MakeRegisterLocation(candidate).Name(),
-              candidate));
+              MakeRegisterLocation(candidate).Name(), candidate));
           break;
         }
       }
@@ -2433,8 +2388,7 @@
   }
 
   const intptr_t register_use_pos =
-      (register_use != NULL) ? register_use->pos()
-                             : unallocated->Start();
+      (register_use != NULL) ? register_use->pos() : unallocated->Start();
   if (free_until < register_use_pos) {
     // Can't acquire free register. Spill until we really need one.
     ASSERT(unallocated->Start() < ToInstructionStart(register_use_pos));
@@ -2452,9 +2406,8 @@
   if (blocked_at < unallocated->End()) {
     // Register is blocked before the end of the live range.  Split the range
     // at latest at blocked_at position.
-    LiveRange* tail = SplitBetween(unallocated,
-                                   unallocated->Start(),
-                                   blocked_at + 1);
+    LiveRange* tail =
+        SplitBetween(unallocated, unallocated->Start(), blocked_at + 1);
     AddToUnallocated(tail);
   }
 
@@ -2483,8 +2436,7 @@
         return false;
       }
 
-      UsePosition* use =
-          allocated->finger()->FirstInterferingUse(start);
+      UsePosition* use = allocated->finger()->FirstInterferingUse(start);
       if ((use != NULL) && ((ToInstructionStart(use->pos()) - start) <= 1)) {
         // This register is blocked by interval that is used
         // as register in the current instruction and can't
@@ -2492,8 +2444,7 @@
         return false;
       }
 
-      const intptr_t use_pos = (use != NULL) ? use->pos()
-                                             : allocated->End();
+      const intptr_t use_pos = (use != NULL) ? use->pos() : allocated->End();
 
       if (use_pos < free_until) free_until = use_pos;
     } else {
@@ -2562,8 +2513,7 @@
   UseInterval* first_unallocated =
       unallocated->finger()->first_pending_use_interval();
   const intptr_t intersection = FirstIntersection(
-      allocated->finger()->first_pending_use_interval(),
-      first_unallocated);
+      allocated->finger()->first_pending_use_interval(), first_unallocated);
   if (intersection == kMaxPosition) return false;
 
   const intptr_t spill_position = first_unallocated->start();
@@ -2641,8 +2591,7 @@
   // code.
   if (loc.IsMachineRegister()) {
     for (SafepointPosition* safepoint = range->first_safepoint();
-         safepoint != NULL;
-         safepoint = safepoint->next()) {
+         safepoint != NULL; safepoint = safepoint->next()) {
 #if !defined(TARGET_ARCH_DBC)
       if (!safepoint->locs()->always_calls()) {
         ASSERT(safepoint->locs()->can_call());
@@ -2680,8 +2629,7 @@
 bool LiveRange::Contains(intptr_t pos) const {
   if (!CanCover(pos)) return false;
 
-  for (UseInterval* interval = first_use_interval_;
-       interval != NULL;
+  for (UseInterval* interval = first_use_interval_; interval != NULL;
        interval = interval->next()) {
     if (interval->Contains(pos)) {
       return true;
@@ -2692,8 +2640,7 @@
 }
 
 
-void FlowGraphAllocator::AssignSafepoints(Definition* defn,
-                                          LiveRange* range) {
+void FlowGraphAllocator::AssignSafepoints(Definition* defn, LiveRange* range) {
   for (intptr_t i = safepoints_.length() - 1; i >= 0; i--) {
     Instruction* safepoint_instr = safepoints_[i];
     if (safepoint_instr == defn) {
@@ -2815,8 +2762,7 @@
     const intptr_t start = range->Start();
     TRACE_ALLOC(THR_Print("Processing live range for v%" Pd " "
                           "starting at %" Pd "\n",
-                          range->vreg(),
-                          start));
+                          range->vreg(), start));
 
     // TODO(vegorov): eagerly spill liveranges without register uses.
     AdvanceActiveIntervals(start);
@@ -2843,8 +2789,7 @@
 
 bool FlowGraphAllocator::TargetLocationIsSpillSlot(LiveRange* range,
                                                    Location target) {
-  if (target.IsStackSlot() ||
-      target.IsDoubleStackSlot() ||
+  if (target.IsStackSlot() || target.IsDoubleStackSlot() ||
       target.IsConstant()) {
     ASSERT(GetLiveRange(range->vreg())->spill_slot().Equals(target));
     return true;
@@ -2857,8 +2802,7 @@
                                               BlockEntryInstr* source_block,
                                               BlockEntryInstr* target_block) {
   TRACE_ALLOC(THR_Print("Connect v%" Pd " on the edge B%" Pd " -> B%" Pd "\n",
-                        parent->vreg(),
-                        source_block->block_id(),
+                        parent->vreg(), source_block->block_id(),
                         target_block->block_id()));
   if (parent->next_sibling() == NULL) {
     // Nothing to connect. The whole range was allocated to the same location.
@@ -2901,12 +2845,9 @@
 
   TRACE_ALLOC(THR_Print("connecting v%" Pd " between [%" Pd ", %" Pd ") {%s} "
                         "to [%" Pd ", %" Pd ") {%s}\n",
-                        parent->vreg(),
-                        source_cover->Start(),
-                        source_cover->End(),
-                        source.Name(),
-                        target_cover->Start(),
-                        target_cover->End(),
+                        parent->vreg(), source_cover->Start(),
+                        source_cover->End(), source.Name(),
+                        target_cover->Start(), target_cover->End(),
                         target.Name()));
 
   // Siblings were allocated to the same register.
@@ -2936,19 +2877,18 @@
 
     while (range->next_sibling() != NULL) {
       LiveRange* sibling = range->next_sibling();
-      TRACE_ALLOC(THR_Print("connecting [%" Pd ", %" Pd ") [",
-                            range->Start(), range->End()));
+      TRACE_ALLOC(THR_Print("connecting [%" Pd ", %" Pd ") [", range->Start(),
+                            range->End()));
       TRACE_ALLOC(range->assigned_location().Print());
-      TRACE_ALLOC(THR_Print("] to [%" Pd ", %" Pd ") [",
-                            sibling->Start(), sibling->End()));
+      TRACE_ALLOC(THR_Print("] to [%" Pd ", %" Pd ") [", sibling->Start(),
+                            sibling->End()));
       TRACE_ALLOC(sibling->assigned_location().Print());
       TRACE_ALLOC(THR_Print("]\n"));
       if ((range->End() == sibling->Start()) &&
           !TargetLocationIsSpillSlot(range, sibling->assigned_location()) &&
           !range->assigned_location().Equals(sibling->assigned_location()) &&
           !IsBlockEntry(range->End())) {
-        AddMoveAt(sibling->Start(),
-                  sibling->assigned_location(),
+        AddMoveAt(sibling->Start(), sibling->assigned_location(),
                   range->assigned_location());
       }
       range = sibling;
@@ -2977,8 +2917,7 @@
         range->assigned_location().IsConstant()) {
       ASSERT(range->assigned_location().Equals(range->spill_slot()));
     } else {
-      AddMoveAt(range->Start() + 1,
-                range->spill_slot(),
+      AddMoveAt(range->Start() + 1, range->spill_slot(),
                 range->assigned_location());
     }
   }
@@ -3007,16 +2946,14 @@
     ASSERT(!def->HasPairRepresentation());
   }
 
-  for (BlockIterator it = flow_graph_.reverse_postorder_iterator();
-       !it.Done();
+  for (BlockIterator it = flow_graph_.reverse_postorder_iterator(); !it.Done();
        it.Advance()) {
     BlockEntryInstr* block = it.Current();
 
     // Catch entry.
     if (block->IsCatchBlockEntry()) {
       CatchBlockEntryInstr* catch_entry = block->AsCatchBlockEntry();
-      for (intptr_t i = 0;
-           i < catch_entry->initial_definitions()->length();
+      for (intptr_t i = 0; i < catch_entry->initial_definitions()->length();
            ++i) {
         Definition* def = (*catch_entry->initial_definitions())[i];
         ASSERT(!def->HasPairRepresentation());
@@ -3039,8 +2976,7 @@
       }
     }
     // Normal instructions.
-    for (ForwardInstructionIterator instr_it(block);
-         !instr_it.Done();
+    for (ForwardInstructionIterator instr_it(block); !instr_it.Done();
          instr_it.Advance()) {
       Definition* def = instr_it.Current()->AsDefinition();
       if ((def != NULL) && (def->ssa_temp_index() >= 0)) {
@@ -3048,8 +2984,8 @@
         value_representations_[vreg] =
             RepresentationForRange(def->representation());
         if (def->HasPairRepresentation()) {
-         value_representations_[ToSecondPairVreg(vreg)] =
-            RepresentationForRange(def->representation());
+          value_representations_[ToSecondPairVreg(vreg)] =
+              RepresentationForRange(def->representation());
         }
       }
     }
@@ -3090,11 +3026,8 @@
     THR_Print("----------------------------------------------\n");
   }
 
-  PrepareForAllocation(Location::kRegister,
-                       kNumberOfCpuRegisters,
-                       unallocated_cpu_,
-                       cpu_regs_,
-                       blocked_cpu_registers_);
+  PrepareForAllocation(Location::kRegister, kNumberOfCpuRegisters,
+                       unallocated_cpu_, cpu_regs_, blocked_cpu_registers_);
   AllocateUnallocatedRanges();
 #if defined(TARGET_ARCH_DBC)
   const intptr_t last_used_cpu_register = last_used_register_;
@@ -3106,11 +3039,8 @@
   quad_spill_slots_.Clear();
   untagged_spill_slots_.Clear();
 
-  PrepareForAllocation(Location::kFpuRegister,
-                       kNumberOfFpuRegisters,
-                       unallocated_xmm_,
-                       fpu_regs_,
-                       blocked_fpu_registers_);
+  PrepareForAllocation(Location::kFpuRegister, kNumberOfFpuRegisters,
+                       unallocated_xmm_, fpu_regs_, blocked_fpu_registers_);
 #if defined(TARGET_ARCH_DBC)
   // For DBC all registers should have been allocated in the first pass.
   ASSERT(unallocated_.is_empty());
@@ -3139,9 +3069,9 @@
   // introducing a separate field. It has roughly the same meaning:
   // number of used registers determines how big of a frame to reserve for
   // this function on DBC stack.
-  entry->set_spill_slot_count(Utils::Maximum((last_used_cpu_register + 1) +
-                                             (last_used_fpu_register + 1),
-                                             flow_graph_.num_copied_params()));
+  entry->set_spill_slot_count(Utils::Maximum(
+      (last_used_cpu_register + 1) + (last_used_fpu_register + 1),
+      flow_graph_.num_copied_params()));
 #endif
 
   if (FLAG_print_ssa_liveranges) {
diff --git a/runtime/vm/flow_graph_allocator.h b/runtime/vm/flow_graph_allocator.h
index 6cd79e0..a1d7242 100644
--- a/runtime/vm/flow_graph_allocator.h
+++ b/runtime/vm/flow_graph_allocator.h
@@ -22,8 +22,7 @@
 class ReachingDefs : public ValueObject {
  public:
   explicit ReachingDefs(const FlowGraph& flow_graph)
-      : flow_graph_(flow_graph),
-        phis_(10) { }
+      : flow_graph_(flow_graph), phis_(10) {}
 
   BitVector* Get(PhiInstr* phi);
 
@@ -41,7 +40,7 @@
   explicit SSALivenessAnalysis(const FlowGraph& flow_graph)
       : LivenessAnalysis(flow_graph.max_virtual_register_number(),
                          flow_graph.postorder()),
-        graph_entry_(flow_graph.graph_entry()) { }
+        graph_entry_(flow_graph.graph_entry()) {}
 
  private:
   // Compute initial values for live-out, kill and live-in sets.
@@ -214,8 +213,7 @@
 
   // Find first intersection between unallocated live range and
   // live ranges currently allocated to the given register.
-  intptr_t FirstIntersectionWithAllocated(intptr_t reg,
-                                          LiveRange* unallocated);
+  intptr_t FirstIntersectionWithAllocated(intptr_t reg, LiveRange* unallocated);
 
   bool UpdateFreeUntil(intptr_t reg,
                        LiveRange* unallocated,
@@ -345,11 +343,10 @@
 class BlockInfo : public ZoneAllocated {
  public:
   explicit BlockInfo(BlockEntryInstr* entry)
-    : entry_(entry),
-      loop_(NULL),
-      is_loop_header_(false),
-      backedge_interference_(NULL) {
-  }
+      : entry_(entry),
+        loop_(NULL),
+        is_loop_header_(false),
+        backedge_interference_(NULL) {}
 
   BlockEntryInstr* entry() const { return entry_; }
 
@@ -379,16 +376,12 @@
   }
 
   BlockEntryInstr* last_block() const { return last_block_; }
-  void set_last_block(BlockEntryInstr* last_block) {
-    last_block_ = last_block;
-  }
+  void set_last_block(BlockEntryInstr* last_block) { last_block_ = last_block; }
 
   intptr_t loop_id() const { return loop_id_; }
   void set_loop_id(intptr_t loop_id) { loop_id_ = loop_id; }
 
-  BitVector* backedge_interference() const {
-    return backedge_interference_;
-  }
+  BitVector* backedge_interference() const { return backedge_interference_; }
 
   void set_backedge_interference(BitVector* backedge_interference) {
     backedge_interference_ = backedge_interference;
@@ -430,13 +423,9 @@
     return *hint_;
   }
 
-  void set_hint(Location* hint) {
-    hint_ = hint;
-  }
+  void set_hint(Location* hint) { hint_ = hint; }
 
-  bool HasHint() const {
-    return (hint_ != NULL) && !hint_->IsUnallocated();
-  }
+  bool HasHint() const { return (hint_ != NULL) && !hint_->IsUnallocated(); }
 
 
   void set_next(UsePosition* next) { next_ = next; }
@@ -464,9 +453,7 @@
 class UseInterval : public ZoneAllocated {
  public:
   UseInterval(intptr_t start, intptr_t end, UseInterval* next)
-      : start_(start),
-        end_(end),
-        next_(next) { }
+      : start_(start), end_(end), next_(next) {}
 
   void Print();
 
@@ -501,8 +488,7 @@
       : first_pending_use_interval_(NULL),
         first_register_use_(NULL),
         first_register_beneficial_use_(NULL),
-        first_hinted_use_(NULL) {
-  }
+        first_hinted_use_(NULL) {}
 
   void Initialize(LiveRange* range);
   void UpdateAfterSplit(intptr_t first_use_after_split_pos);
@@ -529,9 +515,8 @@
 
 class SafepointPosition : public ZoneAllocated {
  public:
-  SafepointPosition(intptr_t pos,
-                    LocationSummary* locs)
-      : pos_(pos), locs_(locs), next_(NULL) { }
+  SafepointPosition(intptr_t pos, LocationSummary* locs)
+      : pos_(pos), locs_(locs), next_(NULL) {}
 
   void set_next(SafepointPosition* next) { next_ = next; }
   SafepointPosition* next() const { return next_; }
@@ -552,20 +537,19 @@
 class LiveRange : public ZoneAllocated {
  public:
   explicit LiveRange(intptr_t vreg, Representation rep)
-    : vreg_(vreg),
-      representation_(rep),
-      assigned_location_(),
-      spill_slot_(),
-      uses_(NULL),
-      first_use_interval_(NULL),
-      last_use_interval_(NULL),
-      first_safepoint_(NULL),
-      last_safepoint_(NULL),
-      next_sibling_(NULL),
-      has_only_any_uses_in_loops_(0),
-      is_loop_phi_(false),
-      finger_() {
-  }
+      : vreg_(vreg),
+        representation_(rep),
+        assigned_location_(),
+        spill_slot_(),
+        uses_(NULL),
+        first_use_interval_(NULL),
+        last_use_interval_(NULL),
+        first_safepoint_(NULL),
+        last_safepoint_(NULL),
+        next_sibling_(NULL),
+        has_only_any_uses_in_loops_(0),
+        is_loop_phi_(false),
+        finger_() {}
 
   intptr_t vreg() const { return vreg_; }
   Representation representation() const { return representation_; }
@@ -587,9 +571,7 @@
     assigned_location_ = location;
   }
 
-  void set_spill_slot(Location spill_slot) {
-    spill_slot_ = spill_slot;
-  }
+  void set_spill_slot(Location spill_slot) { spill_slot_ = spill_slot; }
 
   void DefineAt(intptr_t pos);
 
@@ -614,9 +596,7 @@
   // True if the range contains the given position.
   bool Contains(intptr_t pos) const;
 
-  Location spill_slot() const {
-    return spill_slot_;
-  }
+  Location spill_slot() const { return spill_slot_; }
 
   bool HasOnlyUnconstrainedUsesInLoop(intptr_t loop_id) const {
     if (loop_id < kBitsPerWord) {
@@ -633,9 +613,7 @@
   }
 
   bool is_loop_phi() const { return is_loop_phi_; }
-  void mark_loop_phi() {
-    is_loop_phi_ = true;
-  }
+  void mark_loop_phi() { is_loop_phi_ = true; }
 
  private:
   LiveRange(intptr_t vreg,
@@ -645,19 +623,18 @@
             UseInterval* last_use_interval,
             SafepointPosition* first_safepoint,
             LiveRange* next_sibling)
-    : vreg_(vreg),
-      representation_(rep),
-      assigned_location_(),
-      uses_(uses),
-      first_use_interval_(first_use_interval),
-      last_use_interval_(last_use_interval),
-      first_safepoint_(first_safepoint),
-      last_safepoint_(NULL),
-      next_sibling_(next_sibling),
-      has_only_any_uses_in_loops_(0),
-      is_loop_phi_(false),
-      finger_() {
-  }
+      : vreg_(vreg),
+        representation_(rep),
+        assigned_location_(),
+        uses_(uses),
+        first_use_interval_(first_use_interval),
+        last_use_interval_(last_use_interval),
+        first_safepoint_(first_safepoint),
+        last_safepoint_(NULL),
+        next_sibling_(next_sibling),
+        has_only_any_uses_in_loops_(0),
+        is_loop_phi_(false),
+        finger_() {}
 
   const intptr_t vreg_;
   Representation representation_;
diff --git a/runtime/vm/flow_graph_builder.cc b/runtime/vm/flow_graph_builder.cc
index 11e4d39..e3963d9 100644
--- a/runtime/vm/flow_graph_builder.cc
+++ b/runtime/vm/flow_graph_builder.cc
@@ -32,11 +32,15 @@
 
 namespace dart {
 
-DEFINE_FLAG(bool, eliminate_type_checks, true,
+DEFINE_FLAG(bool,
+            eliminate_type_checks,
+            true,
             "Eliminate type checks when allowed by static type analysis.");
 DEFINE_FLAG(bool, print_ast, false, "Print abstract syntax tree.");
 DEFINE_FLAG(bool, print_scopes, false, "Print scopes of local variables.");
-DEFINE_FLAG(bool, trace_type_check_elimination, false,
+DEFINE_FLAG(bool,
+            trace_type_check_elimination,
+            false,
             "Trace type check elimination at compile time.");
 
 DECLARE_FLAG(bool, profile_vm);
@@ -53,13 +57,13 @@
 
 // TODO(srdjan): Allow compiler to add constants as they are encountered in
 // the compilation.
-const double kCommonDoubleConstants[] =
-    {-1.0, -0.5, -0.1, 0.0, 0.1, 0.5, 1.0, 2.0, 4.0, 5.0,
-     10.0, 20.0, 30.0, 64.0, 255.0, NAN,
-     // From dart:math
-     2.718281828459045, 2.302585092994046, 0.6931471805599453,
-     1.4426950408889634, 0.4342944819032518, 3.1415926535897932,
-     0.7071067811865476, 1.4142135623730951};
+const double kCommonDoubleConstants[] = {
+    -1.0, -0.5, -0.1, 0.0, 0.1, 0.5, 1.0, 2.0, 4.0, 5.0, 10.0, 20.0, 30.0, 64.0,
+    255.0, NAN,
+    // From dart:math
+    2.718281828459045, 2.302585092994046, 0.6931471805599453,
+    1.4426950408889634, 0.4342944819032518, 3.1415926535897932,
+    0.7071067811865476, 1.4142135623730951};
 
 uword FlowGraphBuilder::FindDoubleConstant(double value) {
   intptr_t len = sizeof(kCommonDoubleConstants) / sizeof(double);  // NOLINT
@@ -73,18 +77,16 @@
 
 
 #define RECOGNIZE_FACTORY(test_factory_symbol, cid, fp)                        \
-  { Symbols::k##test_factory_symbol##Id, cid,                                  \
-    fp, #test_factory_symbol ", " #cid },
+  {Symbols::k##test_factory_symbol##Id, cid, fp,                               \
+   #test_factory_symbol ", " #cid},  // NOLINT
 
 static struct {
   intptr_t symbold_id;
   intptr_t cid;
   intptr_t finger_print;
   const char* name;
-} factory_recognizer_list[] = {
-  RECOGNIZED_LIST_FACTORY_LIST(RECOGNIZE_FACTORY)
-  { Symbols::kIllegal, -1, -1, NULL }
-};
+} factory_recognizer_list[] = {RECOGNIZED_LIST_FACTORY_LIST(RECOGNIZE_FACTORY){
+    Symbols::kIllegal, -1, -1, NULL}};
 
 #undef RECOGNIZE_FACTORY
 
@@ -96,8 +98,7 @@
          (lib.raw() == Library::TypedDataLibrary()));
   const String& factory_name = String::Handle(factory.name());
   for (intptr_t i = 0;
-       factory_recognizer_list[i].symbold_id != Symbols::kIllegal;
-       i++) {
+       factory_recognizer_list[i].symbold_id != Symbols::kIllegal; i++) {
     if (String::EqualsIgnoringPrivateKey(
             factory_name,
             Symbols::Symbol(factory_recognizer_list[i].symbold_id))) {
@@ -173,9 +174,8 @@
 JoinEntryInstr* NestedStatement::BreakTargetFor(SourceLabel* label) {
   if (label != label_) return NULL;
   if (break_target_ == NULL) {
-    break_target_ =
-        new(owner()->zone()) JoinEntryInstr(owner()->AllocateBlockId(),
-                                            try_index());
+    break_target_ = new (owner()->zone())
+        JoinEntryInstr(owner()->AllocateBlockId(), try_index());
   }
   return break_target_;
 }
@@ -201,8 +201,8 @@
 
 intptr_t NestedBlock::ContextLevel() const {
   return ((scope_ == NULL) || (scope_->num_context_variables() == 0))
-      ? NestedStatement::ContextLevel()
-      : scope_->context_level();
+             ? NestedStatement::ContextLevel()
+             : scope_->context_level();
 }
 
 
@@ -210,7 +210,7 @@
 class NestedContextAdjustment : public NestedStatement {
  public:
   NestedContextAdjustment(FlowGraphBuilder* owner, intptr_t context_level)
-      : NestedStatement(owner, NULL), context_level_(context_level) { }
+      : NestedStatement(owner, NULL), context_level_(context_level) {}
 
   virtual intptr_t ContextLevel() const { return context_level_; }
 
@@ -233,9 +233,7 @@
     owner->IncrementLoopDepth();
   }
 
-  virtual ~NestedLoop() {
-    owner()->DecrementLoopDepth();
-  }
+  virtual ~NestedLoop() { owner()->DecrementLoopDepth(); }
 
   JoinEntryInstr* continue_target() const { return continue_target_; }
 
@@ -249,9 +247,8 @@
 JoinEntryInstr* NestedLoop::ContinueTargetFor(SourceLabel* label) {
   if (label != this->label()) return NULL;
   if (continue_target_ == NULL) {
-    continue_target_ =
-        new(owner()->zone()) JoinEntryInstr(owner()->AllocateBlockId(),
-                                            try_index());
+    continue_target_ = new (owner()->zone())
+        JoinEntryInstr(owner()->AllocateBlockId(), try_index());
   }
   return continue_target_;
 }
@@ -293,9 +290,8 @@
   for (intptr_t i = 0; i < case_labels_.length(); ++i) {
     if (label != case_labels_[i]) continue;
     if (case_targets_[i] == NULL) {
-      case_targets_[i] =
-          new(owner()->zone()) JoinEntryInstr(owner()->AllocateBlockId(),
-                                              try_index());
+      case_targets_[i] = new (owner()->zone())
+          JoinEntryInstr(owner()->AllocateBlockId(), try_index());
     }
     return case_targets_[i];
   }
@@ -307,27 +303,28 @@
     const ParsedFunction& parsed_function,
     const ZoneGrowableArray<const ICData*>& ic_data_array,
     InlineExitCollector* exit_collector,
-    intptr_t osr_id) :
-        parsed_function_(parsed_function),
-        ic_data_array_(ic_data_array),
-        num_copied_params_(parsed_function.num_copied_params()),
-        // All parameters are copied if any parameter is.
-        num_non_copied_params_((num_copied_params_ == 0)
-            ? parsed_function.function().num_fixed_parameters()
-            : 0),
-        num_stack_locals_(parsed_function.num_stack_locals()),
-        exit_collector_(exit_collector),
-        last_used_block_id_(0),  // 0 is used for the graph entry.
-        try_index_(CatchClauseNode::kInvalidTryIndex),
-        catch_try_index_(CatchClauseNode::kInvalidTryIndex),
-        loop_depth_(0),
-        graph_entry_(NULL),
-        temp_count_(0),
-        args_pushed_(0),
-        nesting_stack_(NULL),
-        osr_id_(osr_id),
-        jump_count_(0),
-        await_joins_(new(Z) ZoneGrowableArray<JoinEntryInstr*>()) { }
+    intptr_t osr_id)
+    : parsed_function_(parsed_function),
+      ic_data_array_(ic_data_array),
+      num_copied_params_(parsed_function.num_copied_params()),
+      // All parameters are copied if any parameter is.
+      num_non_copied_params_(
+          (num_copied_params_ == 0)
+              ? parsed_function.function().num_fixed_parameters()
+              : 0),
+      num_stack_locals_(parsed_function.num_stack_locals()),
+      exit_collector_(exit_collector),
+      last_used_block_id_(0),  // 0 is used for the graph entry.
+      try_index_(CatchClauseNode::kInvalidTryIndex),
+      catch_try_index_(CatchClauseNode::kInvalidTryIndex),
+      loop_depth_(0),
+      graph_entry_(NULL),
+      temp_count_(0),
+      args_pushed_(0),
+      nesting_stack_(NULL),
+      osr_id_(osr_id),
+      jump_count_(0),
+      await_joins_(new (Z) ZoneGrowableArray<JoinEntryInstr*>()) {}
 
 
 void FlowGraphBuilder::AddCatchEntry(CatchBlockEntryInstr* entry) {
@@ -349,11 +346,11 @@
   // Attach the outer environment on each instruction in the callee graph.
   ASSERT(call_->env() != NULL);
   // Scale the edge weights by the call count for the inlined function.
-  double scale_factor = static_cast<double>(call_->CallCount())
-      / static_cast<double>(caller_graph_->graph_entry()->entry_count());
+  double scale_factor =
+      static_cast<double>(call_->CallCount()) /
+      static_cast<double>(caller_graph_->graph_entry()->entry_count());
   for (BlockIterator block_it = callee_graph->postorder_iterator();
-       !block_it.Done();
-       block_it.Advance()) {
+       !block_it.Done(); block_it.Advance()) {
     BlockEntryInstr* block = block_it.Current();
     if (block->IsTargetEntry()) {
       block->AsTargetEntry()->adjust_edge_weight(scale_factor);
@@ -381,7 +378,7 @@
 
 
 void InlineExitCollector::AddExit(ReturnInstr* exit) {
-  Data data = { NULL, exit };
+  Data data = {NULL, exit};
   exits_.Add(data);
 }
 
@@ -405,8 +402,7 @@
   int j = 0;
   for (int i = 0; i < exits_.length(); ++i) {
     BlockEntryInstr* block = exits_[i].exit_return->GetBlock();
-    if ((block != NULL) &&
-        (0 <= block->postorder_number()) &&
+    if ((block != NULL) && (0 <= block->postorder_number()) &&
         (block->postorder_number() < postorder.length()) &&
         (postorder[block->postorder_number()] == block)) {
       if (i != j) {
@@ -446,8 +442,7 @@
     // Create a join of the returns.
     intptr_t join_id = caller_graph_->max_block_id() + 1;
     caller_graph_->set_max_block_id(join_id);
-    JoinEntryInstr* join =
-        new(Z) JoinEntryInstr(join_id, try_index);
+    JoinEntryInstr* join = new (Z) JoinEntryInstr(join_id, try_index);
 
     // The dominator set of the join is the intersection of the dominator
     // sets of all the predecessors.  If we keep the dominator sets ordered
@@ -465,7 +460,7 @@
     GrowableArray<BlockEntryInstr*> join_dominators;
     for (intptr_t i = 0; i < num_exits; ++i) {
       // Add the control-flow edge.
-      GotoInstr* goto_instr = new(Z) GotoInstr(join);
+      GotoInstr* goto_instr = new (Z) GotoInstr(join);
       goto_instr->InheritDeoptTarget(zone(), ReturnAt(i));
       LastInstructionAt(i)->LinkTo(goto_instr);
       ExitBlockAt(i)->set_last_instruction(LastInstructionAt(i)->next());
@@ -511,7 +506,7 @@
     // If the call has uses, create a phi of the returns.
     if (call_->HasUses()) {
       // Add a phi of the return values.
-      PhiInstr* phi = new(Z) PhiInstr(join, num_exits);
+      PhiInstr* phi = new (Z) PhiInstr(join, num_exits);
       caller_graph_->AllocateSSAIndexes(phi);
       phi->mark_alive();
       for (intptr_t i = 0; i < num_exits; ++i) {
@@ -550,21 +545,17 @@
     // The true successor is the inlined body, the false successor
     // goes to the rest of the caller graph. It is removed as unreachable code
     // by the constant propagation.
-    TargetEntryInstr* false_block =
-        new(Z) TargetEntryInstr(caller_graph_->allocate_block_id(),
-                                call_block->try_index());
+    TargetEntryInstr* false_block = new (Z) TargetEntryInstr(
+        caller_graph_->allocate_block_id(), call_block->try_index());
     false_block->InheritDeoptTargetAfter(caller_graph_, call_, NULL);
     false_block->LinkTo(call_->next());
     call_block->ReplaceAsPredecessorWith(false_block);
 
     ConstantInstr* true_const = caller_graph_->GetConstant(Bool::True());
-    BranchInstr* branch =
-        new(Z) BranchInstr(
-            new(Z) StrictCompareInstr(TokenPosition::kNoSource,
-                                      Token::kEQ_STRICT,
-                                      new(Z) Value(true_const),
-                                      new(Z) Value(true_const),
-                                      false));  // No number check.
+    BranchInstr* branch = new (Z) BranchInstr(new (Z) StrictCompareInstr(
+        TokenPosition::kNoSource, Token::kEQ_STRICT, new (Z) Value(true_const),
+        new (Z) Value(true_const),
+        false));  // No number check.
     branch->InheritDeoptTarget(zone(), call_);
     *branch->true_successor_address() = callee_entry;
     *branch->false_successor_address() = false_block;
@@ -581,9 +572,8 @@
     call_block->AddDominatedBlock(false_block);
 
   } else {
-    Definition* callee_result = JoinReturns(&callee_exit,
-                                            &callee_last_instruction,
-                                            call_block->try_index());
+    Definition* callee_result = JoinReturns(
+        &callee_exit, &callee_last_instruction, call_block->try_index());
     if (callee_result != NULL) {
       call_->ReplaceUsesWith(callee_result);
     }
@@ -675,7 +665,7 @@
     exit()->LinkTo(definition);
   }
   exit_ = definition;
-  return new(Z) Value(definition);
+  return new (Z) Value(definition);
 }
 
 
@@ -707,10 +697,9 @@
 }
 
 
-void EffectGraphVisitor::AddReturnExit(TokenPosition token_pos,
-                                       Value* value) {
+void EffectGraphVisitor::AddReturnExit(TokenPosition token_pos, Value* value) {
   ASSERT(is_open());
-  ReturnInstr* return_instr = new(Z) ReturnInstr(token_pos, value);
+  ReturnInstr* return_instr = new (Z) ReturnInstr(token_pos, value);
   AddInstruction(return_instr);
   InlineExitCollector* exit_collector = owner()->exit_collector();
   if (exit_collector != NULL) {
@@ -723,7 +712,7 @@
 void EffectGraphVisitor::Goto(JoinEntryInstr* join) {
   ASSERT(is_open());
   if (is_empty()) {
-    entry_ = new(Z) GotoInstr(join);
+    entry_ = new (Z) GotoInstr(join);
   } else {
     exit()->Goto(join);
   }
@@ -772,8 +761,8 @@
   } else if (false_exit == NULL) {
     exit_ = true_exit;
   } else {
-    JoinEntryInstr* join =
-        new(Z) JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
+    JoinEntryInstr* join = new (Z)
+        JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
     true_exit->Goto(join);
     false_exit->Goto(join);
     exit_ = join;
@@ -803,10 +792,10 @@
     Append(test_preamble_fragment);
     Append(test_fragment);
   } else {
-    JoinEntryInstr* join =
-        new(Z) JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
+    JoinEntryInstr* join = new (Z)
+        JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
     CheckStackOverflowInstr* check =
-        new(Z) CheckStackOverflowInstr(token_pos, owner()->loop_depth());
+        new (Z) CheckStackOverflowInstr(token_pos, owner()->loop_depth());
     join->LinkTo(check);
     if (!test_preamble_fragment.is_empty()) {
       check->LinkTo(test_preamble_fragment.entry());
@@ -826,7 +815,7 @@
 
 PushArgumentInstr* EffectGraphVisitor::PushArgument(Value* value) {
   owner_->add_args_pushed(1);
-  PushArgumentInstr* result = new(Z) PushArgumentInstr(value);
+  PushArgumentInstr* result = new (Z) PushArgumentInstr(value);
   AddInstruction(result);
   return result;
 }
@@ -837,15 +826,14 @@
                                                TokenPosition token_pos) {
   ASSERT(!local.is_captured());
   ASSERT(!token_pos.IsClassifying());
-  return new(Z) StoreLocalInstr(local, value, ST(token_pos));
+  return new (Z) StoreLocalInstr(local, value, ST(token_pos));
 }
 
 
 Definition* EffectGraphVisitor::BuildStoreExprTemp(Value* value,
                                                    TokenPosition token_pos) {
   return BuildStoreTemp(*owner()->parsed_function().expression_temp_var(),
-                        value,
-                        token_pos);
+                        value, token_pos);
 }
 
 
@@ -861,26 +849,22 @@
                                                 TokenPosition token_pos) {
   if (local.is_captured()) {
     LocalVariable* tmp_var = EnterTempLocalScope(value);
-    intptr_t delta =
-        owner()->context_level() - local.owner()->context_level();
+    intptr_t delta = owner()->context_level() - local.owner()->context_level();
     ASSERT(delta >= 0);
     Value* context = Bind(BuildCurrentContext(token_pos));
     while (delta-- > 0) {
-      context = Bind(new(Z) LoadFieldInstr(
-          context, Context::parent_offset(), Type::ZoneHandle(Z, Type::null()),
-          token_pos));
+      context = Bind(new (Z) LoadFieldInstr(context, Context::parent_offset(),
+                                            Type::ZoneHandle(Z, Type::null()),
+                                            token_pos));
     }
-    Value* tmp_val = Bind(new(Z) LoadLocalInstr(*tmp_var, token_pos));
-    StoreInstanceFieldInstr* store =
-        new(Z) StoreInstanceFieldInstr(Context::variable_offset(local.index()),
-                                       context,
-                                       tmp_val,
-                                       kEmitStoreBarrier,
-                                       token_pos);
+    Value* tmp_val = Bind(new (Z) LoadLocalInstr(*tmp_var, token_pos));
+    StoreInstanceFieldInstr* store = new (Z)
+        StoreInstanceFieldInstr(Context::variable_offset(local.index()),
+                                context, tmp_val, kEmitStoreBarrier, token_pos);
     Do(store);
     return ExitTempLocalScope(value);
   } else {
-    return new(Z) StoreLocalInstr(local, value, token_pos);
+    return new (Z) StoreLocalInstr(local, value, token_pos);
   }
 }
 
@@ -888,34 +872,30 @@
 Definition* EffectGraphVisitor::BuildLoadLocal(const LocalVariable& local,
                                                TokenPosition token_pos) {
   if (local.IsConst()) {
-    return new(Z) ConstantInstr(*local.ConstValue(), token_pos);
+    return new (Z) ConstantInstr(*local.ConstValue(), token_pos);
   } else if (local.is_captured()) {
-    intptr_t delta =
-        owner()->context_level() - local.owner()->context_level();
+    intptr_t delta = owner()->context_level() - local.owner()->context_level();
     ASSERT(delta >= 0);
     Value* context = Bind(BuildCurrentContext(token_pos));
     while (delta-- > 0) {
-      context = Bind(new(Z) LoadFieldInstr(
-          context, Context::parent_offset(), Type::ZoneHandle(Z, Type::null()),
-          token_pos));
+      context = Bind(new (Z) LoadFieldInstr(context, Context::parent_offset(),
+                                            Type::ZoneHandle(Z, Type::null()),
+                                            token_pos));
     }
-    LoadFieldInstr* load = new(Z) LoadFieldInstr(
-        context,
-        Context::variable_offset(local.index()),
-        local.type(),
-        token_pos);
+    LoadFieldInstr* load =
+        new (Z) LoadFieldInstr(context, Context::variable_offset(local.index()),
+                               local.type(), token_pos);
     load->set_is_immutable(local.is_final());
     return load;
   } else {
-    return new(Z) LoadLocalInstr(local, token_pos);
+    return new (Z) LoadLocalInstr(local, token_pos);
   }
 }
 
 
 // Stores current context into the 'variable'
-void EffectGraphVisitor::BuildSaveContext(
-    const LocalVariable& variable,
-    TokenPosition token_pos) {
+void EffectGraphVisitor::BuildSaveContext(const LocalVariable& variable,
+                                          TokenPosition token_pos) {
   ASSERT(token_pos.IsSynthetic() || token_pos.IsNoSource());
   Value* context = Bind(BuildCurrentContext(token_pos));
   Do(BuildStoreLocal(variable, context, token_pos));
@@ -923,25 +903,23 @@
 
 
 // Loads context saved in 'context_variable' into the current context.
-void EffectGraphVisitor::BuildRestoreContext(
-    const LocalVariable& variable,
-    TokenPosition token_pos) {
+void EffectGraphVisitor::BuildRestoreContext(const LocalVariable& variable,
+                                             TokenPosition token_pos) {
   Value* load_saved_context = Bind(BuildLoadLocal(variable, token_pos));
   Do(BuildStoreContext(load_saved_context, token_pos));
 }
 
 
-Definition* EffectGraphVisitor::BuildStoreContext(
-    Value* value, TokenPosition token_pos) {
-  return new(Z) StoreLocalInstr(
+Definition* EffectGraphVisitor::BuildStoreContext(Value* value,
+                                                  TokenPosition token_pos) {
+  return new (Z) StoreLocalInstr(
       *owner()->parsed_function().current_context_var(), value, token_pos);
 }
 
 
 Definition* EffectGraphVisitor::BuildCurrentContext(TokenPosition token_pos) {
-  return new(Z) LoadLocalInstr(
-      *owner()->parsed_function().current_context_var(),
-      token_pos);
+  return new (Z) LoadLocalInstr(
+      *owner()->parsed_function().current_context_var(), token_pos);
 }
 
 
@@ -950,9 +928,8 @@
     JoinEntryInstr* join) const {
   ASSERT(!branches.is_empty());
   for (intptr_t i = 0; i < branches.length(); i++) {
-    TargetEntryInstr* target =
-        new(Z) TargetEntryInstr(owner()->AllocateBlockId(),
-                                owner()->try_index());
+    TargetEntryInstr* target = new (Z)
+        TargetEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
     *(branches[i]) = target;
     target->Goto(join);
   }
@@ -974,15 +951,14 @@
   ASSERT(!branches.is_empty());
 
   if (branches.length() == 1) {
-    TargetEntryInstr* target =
-        new(Z) TargetEntryInstr(owner()->AllocateBlockId(),
-                                owner()->try_index());
+    TargetEntryInstr* target = new (Z)
+        TargetEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
     *(branches[0]) = target;
     return target;
   }
 
   JoinEntryInstr* join =
-      new(Z) JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
+      new (Z) JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
   ConnectBranchesTo(branches, join);
   return join;
 }
@@ -1001,16 +977,13 @@
 void TestGraphVisitor::ReturnValue(Value* value) {
   Isolate* isolate = Isolate::Current();
   if (isolate->type_checks() || isolate->asserts()) {
-    value = Bind(new(Z) AssertBooleanInstr(condition_token_pos(), value));
+    value = Bind(new (Z) AssertBooleanInstr(condition_token_pos(), value));
   }
-  Value* constant_true = Bind(new(Z) ConstantInstr(Bool::True()));
-  StrictCompareInstr* comp =
-      new(Z) StrictCompareInstr(condition_token_pos(),
-                                Token::kEQ_STRICT,
-                                value,
-                                constant_true,
-                                false);  // No number check.
-  BranchInstr* branch = new(Z) BranchInstr(comp);
+  Value* constant_true = Bind(new (Z) ConstantInstr(Bool::True()));
+  StrictCompareInstr* comp = new (Z) StrictCompareInstr(
+      condition_token_pos(), Token::kEQ_STRICT, value, constant_true,
+      false);  // No number check.
+  BranchInstr* branch = new (Z) BranchInstr(comp);
   AddInstruction(branch);
   CloseFragment();
 
@@ -1023,18 +996,17 @@
   BranchInstr* branch;
   if (Token::IsStrictEqualityOperator(comp->kind())) {
     ASSERT(comp->IsStrictCompare());
-    branch = new(Z) BranchInstr(comp);
+    branch = new (Z) BranchInstr(comp);
   } else if (Token::IsEqualityOperator(comp->kind()) &&
              (comp->left()->BindsToConstantNull() ||
               comp->right()->BindsToConstantNull())) {
-    branch = new(Z) BranchInstr(new(Z) StrictCompareInstr(
+    branch = new (Z) BranchInstr(new (Z) StrictCompareInstr(
         comp->token_pos(),
         (comp->kind() == Token::kEQ) ? Token::kEQ_STRICT : Token::kNE_STRICT,
-        comp->left(),
-        comp->right(),
+        comp->left(), comp->right(),
         false));  // No number check.
   } else {
-    branch = new(Z) BranchInstr(comp);
+    branch = new (Z) BranchInstr(comp);
     branch->set_is_checked(Isolate::Current()->type_checks());
   }
   AddInstruction(branch);
@@ -1046,14 +1018,11 @@
 
 void TestGraphVisitor::MergeBranchWithNegate(BooleanNegateInstr* neg) {
   ASSERT(!Isolate::Current()->type_checks());
-  Value* constant_true = Bind(new(Z) ConstantInstr(Bool::True()));
-  StrictCompareInstr* comp =
-      new(Z) StrictCompareInstr(condition_token_pos(),
-                             Token::kNE_STRICT,
-                             neg->value(),
-                             constant_true,
-                             false);  // No number check.
-  BranchInstr* branch = new(Z) BranchInstr(comp);
+  Value* constant_true = Bind(new (Z) ConstantInstr(Bool::True()));
+  StrictCompareInstr* comp = new (Z) StrictCompareInstr(
+      condition_token_pos(), Token::kNE_STRICT, neg->value(), constant_true,
+      false);  // No number check.
+  BranchInstr* branch = new (Z) BranchInstr(comp);
   AddInstruction(branch);
   CloseFragment();
   true_successor_addresses_.Add(branch->true_successor_address());
@@ -1135,11 +1104,10 @@
   // No debugger check is done in native functions or for return
   // statements for which there is no associated source position.
   const Function& function = owner()->function();
-  if (FLAG_support_debugger &&
-      node->token_pos().IsDebugPause() &&
+  if (FLAG_support_debugger && node->token_pos().IsDebugPause() &&
       !function.is_native()) {
-    AddInstruction(new(Z) DebugStepCheckInstr(node->token_pos(),
-                                              RawPcDescriptors::kRuntimeCall));
+    AddInstruction(new (Z) DebugStepCheckInstr(node->token_pos(),
+                                               RawPcDescriptors::kRuntimeCall));
   }
 
   NestedContextAdjustment context_adjustment(owner(), owner()->context_level());
@@ -1163,8 +1131,8 @@
   if (Isolate::Current()->type_checks()) {
     const bool is_implicit_dynamic_getter =
         (!function.is_static() &&
-        ((function.kind() == RawFunction::kImplicitGetter) ||
-         (function.kind() == RawFunction::kImplicitStaticFinalGetter)));
+         ((function.kind() == RawFunction::kImplicitGetter) ||
+          (function.kind() == RawFunction::kImplicitStaticFinalGetter)));
     // Implicit getters do not need a type check at return, unless they compute
     // the initial value of a static field.
     // The body of a constructor cannot modify the type of the
@@ -1173,10 +1141,9 @@
     if (!is_implicit_dynamic_getter && !function.IsGenerativeConstructor()) {
       const AbstractType& dst_type =
           AbstractType::ZoneHandle(Z, function.result_type());
-      return_value = BuildAssignableValue(node->value()->token_pos(),
-                                          return_value,
-                                          dst_type,
-                                          Symbols::FunctionResult());
+      return_value =
+          BuildAssignableValue(node->value()->token_pos(), return_value,
+                               dst_type, Symbols::FunctionResult());
     }
   }
 
@@ -1198,19 +1165,14 @@
         node->scope()->LookupVariable(Symbols::AsyncCompleter(), false);
     ASSERT(rcv_var != NULL && rcv_var->is_captured());
     ZoneGrowableArray<PushArgumentInstr*>* arguments =
-        new(Z) ZoneGrowableArray<PushArgumentInstr*>(2);
+        new (Z) ZoneGrowableArray<PushArgumentInstr*>(2);
     Value* rcv_value = Bind(BuildLoadLocal(*rcv_var, node->token_pos()));
     arguments->Add(PushArgument(rcv_value));
     Value* returned_value = Bind(BuildLoadExprTemp(node->token_pos()));
     arguments->Add(PushArgument(returned_value));
-    InstanceCallInstr* call = new(Z) InstanceCallInstr(
-        node->token_pos(),
-        Symbols::CompleterComplete(),
-        Token::kILLEGAL,
-        arguments,
-        Object::null_array(),
-        1,
-        owner()->ic_data_array());
+    InstanceCallInstr* call = new (Z) InstanceCallInstr(
+        node->token_pos(), Symbols::CompleterComplete(), Token::kILLEGAL,
+        arguments, Object::null_array(), 1, owner()->ic_data_array());
     Do(call);
 
     // Rebind the return value for the actual return call to be null.
@@ -1225,12 +1187,11 @@
 
   AddReturnExit(node->token_pos(), return_value);
 
-  if ((function.IsAsyncClosure() ||
-      function.IsSyncGenClosure() ||
-      function.IsAsyncGenClosure()) &&
+  if ((function.IsAsyncClosure() || function.IsSyncGenClosure() ||
+       function.IsAsyncGenClosure()) &&
       (node->return_type() == ReturnNode::kContinuationTarget)) {
-    JoinEntryInstr* const join = new(Z) JoinEntryInstr(
-        owner()->AllocateBlockId(), owner()->try_index());
+    JoinEntryInstr* const join = new (Z)
+        JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
     owner()->await_joins()->Add(join);
     exit_ = join;
   }
@@ -1239,7 +1200,7 @@
 
 // <Expression> ::= Literal { literal: Instance }
 void EffectGraphVisitor::VisitLiteralNode(LiteralNode* node) {
-  ReturnDefinition(new(Z) ConstantInstr(node->literal(), node->token_pos()));
+  ReturnDefinition(new (Z) ConstantInstr(node->literal(), node->token_pos()));
 }
 
 
@@ -1256,13 +1217,13 @@
   // Type may be malbounded, but not malformed.
   ASSERT(type.IsFinalized() && !type.IsMalformed());
   if (type.IsInstantiated()) {
-    ReturnDefinition(new(Z) ConstantInstr(type));
+    ReturnDefinition(new (Z) ConstantInstr(type));
   } else {
-    const Class& instantiator_class = Class::ZoneHandle(
-        Z, owner()->function().Owner());
+    const Class& instantiator_class =
+        Class::ZoneHandle(Z, owner()->function().Owner());
     Value* instantiator_value = BuildInstantiatorTypeArguments(
         node->token_pos(), instantiator_class, NULL);
-    ReturnDefinition(new(Z) InstantiateTypeInstr(
+    ReturnDefinition(new (Z) InstantiateTypeInstr(
         node->token_pos(), type, instantiator_class, instantiator_value));
   }
 }
@@ -1303,12 +1264,8 @@
 
   const bool eliminated = value->Type()->IsAssignableTo(dst_type);
   if (FLAG_trace_type_check_elimination) {
-    FlowGraphPrinter::PrintTypeCheck(owner()->parsed_function(),
-                                     token_pos,
-                                     value,
-                                     dst_type,
-                                     dst_name,
-                                     eliminated);
+    FlowGraphPrinter::PrintTypeCheck(owner()->parsed_function(), token_pos,
+                                     value, dst_type, dst_name, eliminated);
   }
   return eliminated;
 }
@@ -1321,15 +1278,12 @@
   ValueGraphVisitor for_value(owner());
   node->expr()->Visit(&for_value);
   Append(for_value);
-  if (CanSkipTypeCheck(node->expr()->token_pos(),
-                       for_value.value(),
-                       node->type(),
-                       node->dst_name())) {
+  if (CanSkipTypeCheck(node->expr()->token_pos(), for_value.value(),
+                       node->type(), node->dst_name())) {
     ReturnValue(for_value.value());
   } else {
     ReturnDefinition(BuildAssertAssignable(node->expr()->token_pos(),
-                                           for_value.value(),
-                                           node->type(),
+                                           for_value.value(), node->type(),
                                            node->dst_name()));
   }
 }
@@ -1339,10 +1293,8 @@
   ValueGraphVisitor for_value(owner());
   node->expr()->Visit(&for_value);
   Append(for_value);
-  ReturnValue(BuildAssignableValue(node->expr()->token_pos(),
-                                   for_value.value(),
-                                   node->type(),
-                                   node->dst_name()));
+  ReturnValue(BuildAssignableValue(node->expr()->token_pos(), for_value.value(),
+                                   node->type(), node->dst_name()));
 }
 
 
@@ -1362,8 +1314,8 @@
       ValueGraphVisitor for_right(owner());
       node->right()->Visit(&for_right);
       Value* right_value = for_right.value();
-      for_right.Do(new(Z) AssertBooleanInstr(node->right()->token_pos(),
-                                             right_value));
+      for_right.Do(
+          new (Z) AssertBooleanInstr(node->right()->token_pos(), right_value));
       if (node->kind() == Token::kAND) {
         Join(for_left, for_right, empty);
       } else {
@@ -1392,18 +1344,14 @@
   PushArgumentInstr* push_right = PushArgument(for_right_value.value());
 
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(2);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(2);
   arguments->Add(push_left);
   arguments->Add(push_right);
   const String& name = Symbols::Token(node->kind());
   const intptr_t kNumArgsChecked = 2;
-  InstanceCallInstr* call = new(Z) InstanceCallInstr(node->token_pos(),
-                                                     name,
-                                                     node->kind(),
-                                                     arguments,
-                                                     Object::null_array(),
-                                                     kNumArgsChecked,
-                                                     owner()->ic_data_array());
+  InstanceCallInstr* call = new (Z) InstanceCallInstr(
+      node->token_pos(), name, node->kind(), arguments, Object::null_array(),
+      kNumArgsChecked, owner()->ic_data_array());
   ReturnDefinition(call);
 }
 
@@ -1426,29 +1374,25 @@
     Value* right_value = for_right.value();
     Isolate* isolate = Isolate::Current();
     if (isolate->type_checks() || isolate->asserts()) {
-      right_value =
-          for_right.Bind(new(Z) AssertBooleanInstr(node->right()->token_pos(),
-                                                   right_value));
+      right_value = for_right.Bind(
+          new (Z) AssertBooleanInstr(node->right()->token_pos(), right_value));
     }
-    Value* constant_true = for_right.Bind(new(Z) ConstantInstr(Bool::True()));
-    Value* compare =
-        for_right.Bind(new(Z) StrictCompareInstr(node->token_pos(),
-                                                 Token::kEQ_STRICT,
-                                                 right_value,
-                                                 constant_true,
-                                                 false));  // No number check.
+    Value* constant_true = for_right.Bind(new (Z) ConstantInstr(Bool::True()));
+    Value* compare = for_right.Bind(new (Z) StrictCompareInstr(
+        node->token_pos(), Token::kEQ_STRICT, right_value, constant_true,
+        false));  // No number check.
     for_right.Do(BuildStoreExprTemp(compare, node->token_pos()));
 
     if (node->kind() == Token::kAND) {
       ValueGraphVisitor for_false(owner());
       Value* constant_false =
-          for_false.Bind(new(Z) ConstantInstr(Bool::False()));
+          for_false.Bind(new (Z) ConstantInstr(Bool::False()));
       for_false.Do(BuildStoreExprTemp(constant_false, node->token_pos()));
       Join(for_test, for_right, for_false);
     } else {
       ASSERT(node->kind() == Token::kOR);
       ValueGraphVisitor for_true(owner());
-      Value* constant_true = for_true.Bind(new(Z) ConstantInstr(Bool::True()));
+      Value* constant_true = for_true.Bind(new (Z) ConstantInstr(Bool::True()));
       for_true.Do(BuildStoreExprTemp(constant_true, node->token_pos()));
       Join(for_test, for_true, for_right);
     }
@@ -1463,8 +1407,8 @@
 void EffectGraphVisitor::BuildTypecheckPushArguments(
     TokenPosition token_pos,
     PushArgumentInstr** push_instantiator_type_arguments_result) {
-  const Class& instantiator_class = Class::Handle(
-      Z, owner()->function().Owner());
+  const Class& instantiator_class =
+      Class::Handle(Z, owner()->function().Owner());
   // Since called only when type tested against is not instantiated.
   ASSERT(instantiator_class.IsGeneric());
   Value* instantiator_type_arguments = NULL;
@@ -1482,14 +1426,13 @@
 }
 
 
-
 void EffectGraphVisitor::BuildTypecheckArguments(
     TokenPosition token_pos,
     Value** instantiator_type_arguments_result) {
   Value* instantiator = NULL;
   Value* instantiator_type_arguments = NULL;
-  const Class& instantiator_class = Class::Handle(
-      Z, owner()->function().Owner());
+  const Class& instantiator_class =
+      Class::Handle(Z, owner()->function().Owner());
   // Since called only when type tested against is not instantiated.
   ASSERT(instantiator_class.IsGeneric());
   instantiator = BuildInstantiator(token_pos);
@@ -1506,8 +1449,8 @@
 
 
 Value* EffectGraphVisitor::BuildNullValue(TokenPosition token_pos) {
-  return Bind(new(Z) ConstantInstr(Object::ZoneHandle(Z, Object::null()),
-                                   token_pos));
+  return Bind(
+      new (Z) ConstantInstr(Object::ZoneHandle(Z, Object::null()), token_pos));
 }
 
 
@@ -1526,12 +1469,9 @@
   }
 
   const intptr_t deopt_id = Thread::Current()->GetNextDeoptId();
-  return new(Z) AssertAssignableInstr(token_pos,
-                                      value,
-                                      instantiator_type_arguments,
-                                      dst_type,
-                                      dst_name,
-                                      deopt_id);
+  return new (Z)
+      AssertAssignableInstr(token_pos, value, instantiator_type_arguments,
+                            dst_type, dst_name, deopt_id);
 }
 
 
@@ -1577,7 +1517,7 @@
     EffectGraphVisitor for_left_value(owner());
     node->left()->Visit(&for_left_value);
     Append(for_left_value);
-    ReturnDefinition(new(Z) ConstantInstr(Bool::Get(!negate_result)));
+    ReturnDefinition(new (Z) ConstantInstr(Bool::Get(!negate_result)));
     return;
   }
   ValueGraphVisitor for_left_value(owner());
@@ -1601,20 +1541,17 @@
     ASSERT(!method_name.IsNull());
     PushArgumentInstr* push_left = PushArgument(for_left_value.value());
     ZoneGrowableArray<PushArgumentInstr*>* arguments =
-        new(Z) ZoneGrowableArray<PushArgumentInstr*>(2);
+        new (Z) ZoneGrowableArray<PushArgumentInstr*>(2);
     arguments->Add(push_left);
     const Bool& negate = Bool::Get(node->kind() == Token::kISNOT);
-    Value* negate_arg = Bind(new(Z) ConstantInstr(negate));
+    Value* negate_arg = Bind(new (Z) ConstantInstr(negate));
     arguments->Add(PushArgument(negate_arg));
     const intptr_t kNumArgsChecked = 1;
-    InstanceCallInstr* call = new(Z) InstanceCallInstr(
-        node->token_pos(),
-        Library::PrivateCoreLibName(method_name),
-        node->kind(),
-        arguments,
+    InstanceCallInstr* call = new (Z) InstanceCallInstr(
+        node->token_pos(), Library::PrivateCoreLibName(method_name),
+        node->kind(), arguments,
         Object::null_array(),  // No argument names.
-        kNumArgsChecked,
-        owner()->ic_data_array());
+        kNumArgsChecked, owner()->ic_data_array());
     ReturnDefinition(call);
     return;
   }
@@ -1625,21 +1562,19 @@
   if (simpleInstanceOfType(type)) {
     ASSERT(!node->right()->AsTypeNode()->type().IsNull());
     ZoneGrowableArray<PushArgumentInstr*>* arguments =
-        new(Z) ZoneGrowableArray<PushArgumentInstr*>(2);
+        new (Z) ZoneGrowableArray<PushArgumentInstr*>(2);
     arguments->Add(push_left);
-    Value* type_const = Bind(new(Z) ConstantInstr(type));
+    Value* type_const = Bind(new (Z) ConstantInstr(type));
     arguments->Add(PushArgument(type_const));
     const intptr_t kNumArgsChecked = 2;
-    Definition* result = new(Z) InstanceCallInstr(
+    Definition* result = new (Z) InstanceCallInstr(
         node->token_pos(),
-        Library::PrivateCoreLibName(Symbols::_simpleInstanceOf()),
-        node->kind(),
+        Library::PrivateCoreLibName(Symbols::_simpleInstanceOf()), node->kind(),
         arguments,
         Object::null_array(),  // No argument names.
-        kNumArgsChecked,
-        owner()->ic_data_array());
+        kNumArgsChecked, owner()->ic_data_array());
     if (negate_result) {
-      result = new(Z) BooleanNegateInstr(Bind(result));
+      result = new (Z) BooleanNegateInstr(Bind(result));
     }
     ReturnDefinition(result);
     return;
@@ -1652,24 +1587,21 @@
     BuildTypecheckPushArguments(node->token_pos(), &push_type_args);
   }
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(4);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(4);
   arguments->Add(push_left);
   arguments->Add(push_type_args);
   ASSERT(!node->right()->AsTypeNode()->type().IsNull());
-  Value* type_const = Bind(new(Z) ConstantInstr(type));
+  Value* type_const = Bind(new (Z) ConstantInstr(type));
   arguments->Add(PushArgument(type_const));
   const Bool& negate = Bool::Get(node->kind() == Token::kISNOT);
-  Value* negate_arg = Bind(new(Z) ConstantInstr(negate));
+  Value* negate_arg = Bind(new (Z) ConstantInstr(negate));
   arguments->Add(PushArgument(negate_arg));
   const intptr_t kNumArgsChecked = 1;
-  InstanceCallInstr* call = new(Z) InstanceCallInstr(
-      node->token_pos(),
-      Library::PrivateCoreLibName(Symbols::_instanceOf()),
-      node->kind(),
-      arguments,
+  InstanceCallInstr* call = new (Z) InstanceCallInstr(
+      node->token_pos(), Library::PrivateCoreLibName(Symbols::_instanceOf()),
+      node->kind(), arguments,
       Object::null_array(),  // No argument names.
-      kNumArgsChecked,
-      owner()->ic_data_array());
+      kNumArgsChecked, owner()->ic_data_array());
   ReturnDefinition(call);
 }
 
@@ -1682,9 +1614,7 @@
   ValueGraphVisitor for_value(owner());
   node->left()->Visit(&for_value);
   Append(for_value);
-  if (CanSkipTypeCheck(node->token_pos(),
-                       for_value.value(),
-                       type,
+  if (CanSkipTypeCheck(node->token_pos(), for_value.value(), type,
                        Symbols::InTypeCast())) {
     ReturnValue(for_value.value());
     return;
@@ -1697,20 +1627,17 @@
     BuildTypecheckPushArguments(node->token_pos(), &push_type_args);
   }
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(3);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(3);
   arguments->Add(push_left);
   arguments->Add(push_type_args);
-  Value* type_arg = Bind(new(Z) ConstantInstr(type));
+  Value* type_arg = Bind(new (Z) ConstantInstr(type));
   arguments->Add(PushArgument(type_arg));
   const intptr_t kNumArgsChecked = 1;
-  InstanceCallInstr* call = new(Z) InstanceCallInstr(
-      node->token_pos(),
-      Library::PrivateCoreLibName(Symbols::_as()),
-      node->kind(),
-      arguments,
+  InstanceCallInstr* call = new (Z) InstanceCallInstr(
+      node->token_pos(), Library::PrivateCoreLibName(Symbols::_as()),
+      node->kind(), arguments,
       Object::null_array(),  // No argument names.
-      kNumArgsChecked,
-      owner()->ic_data_array());
+      kNumArgsChecked, owner()->ic_data_array());
   ReturnDefinition(call);
 }
 
@@ -1726,11 +1653,9 @@
   ValueGraphVisitor for_right_value(owner());
   right->Visit(&for_right_value);
   Append(for_right_value);
-  StrictCompareInstr* comp = new(Z) StrictCompareInstr(token_pos,
-                                                       kind,
-                                                       for_left_value.value(),
-                                                       for_right_value.value(),
-                                                       true);  // Number check.
+  StrictCompareInstr* comp = new (Z) StrictCompareInstr(
+      token_pos, kind, for_left_value.value(), for_right_value.value(),
+      true);  // Number check.
   return comp;
 }
 
@@ -1763,15 +1688,14 @@
         ((right_lit != NULL) && right_lit->literal().IsNull())) {
       Token::Kind kind =
           (node->kind() == Token::kEQ) ? Token::kEQ_STRICT : Token::kNE_STRICT;
-      StrictCompareInstr* compare =
-          BuildStrictCompare(node->left(), node->right(),
-                             kind, node->token_pos());
+      StrictCompareInstr* compare = BuildStrictCompare(
+          node->left(), node->right(), kind, node->token_pos());
       ReturnDefinition(compare);
       return;
     }
 
     ZoneGrowableArray<PushArgumentInstr*>* arguments =
-        new(Z) ZoneGrowableArray<PushArgumentInstr*>(2);
+        new (Z) ZoneGrowableArray<PushArgumentInstr*>(2);
 
     ValueGraphVisitor for_left_value(owner());
     node->left()->Visit(&for_left_value);
@@ -1786,29 +1710,26 @@
     arguments->Add(push_right);
 
     const intptr_t kNumArgsChecked = 2;
-    Definition* result = new(Z) InstanceCallInstr(
-        node->token_pos(),
-        Symbols::EqualOperator(),
-        Token::kEQ,  // Result is negated later for kNE.
-        arguments,
-        Object::null_array(),
-        kNumArgsChecked,
-        owner()->ic_data_array());
+    Definition* result = new (Z)
+        InstanceCallInstr(node->token_pos(), Symbols::EqualOperator(),
+                          Token::kEQ,  // Result is negated later for kNE.
+                          arguments, Object::null_array(), kNumArgsChecked,
+                          owner()->ic_data_array());
     if (node->kind() == Token::kNE) {
       Isolate* isolate = Isolate::Current();
       if (isolate->type_checks() || isolate->asserts()) {
         Value* value = Bind(result);
-        result = new(Z) AssertBooleanInstr(node->token_pos(), value);
+        result = new (Z) AssertBooleanInstr(node->token_pos(), value);
       }
       Value* value = Bind(result);
-      result = new(Z) BooleanNegateInstr(value);
+      result = new (Z) BooleanNegateInstr(value);
     }
     ReturnDefinition(result);
     return;
   }
 
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(2);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(2);
 
   ValueGraphVisitor for_left_value(owner());
   node->left()->Visit(&for_left_value);
@@ -1823,14 +1744,9 @@
   arguments->Add(push_right);
 
   ASSERT(Token::IsRelationalOperator(node->kind()));
-  InstanceCallInstr* comp = new(Z) InstanceCallInstr(
-      node->token_pos(),
-      Symbols::Token(node->kind()),
-      node->kind(),
-      arguments,
-      Object::null_array(),
-      2,
-      owner()->ic_data_array());
+  InstanceCallInstr* comp = new (Z) InstanceCallInstr(
+      node->token_pos(), Symbols::Token(node->kind()), node->kind(), arguments,
+      Object::null_array(), 2, owner()->ic_data_array());
   ReturnDefinition(comp);
 }
 
@@ -1845,9 +1761,9 @@
     Isolate* isolate = Isolate::Current();
     if (isolate->type_checks() || isolate->asserts()) {
       value =
-          Bind(new(Z) AssertBooleanInstr(node->operand()->token_pos(), value));
+          Bind(new (Z) AssertBooleanInstr(node->operand()->token_pos(), value));
     }
-    BooleanNegateInstr* negate = new(Z) BooleanNegateInstr(value);
+    BooleanNegateInstr* negate = new (Z) BooleanNegateInstr(value);
     ReturnDefinition(negate);
     return;
   }
@@ -1857,16 +1773,11 @@
   Append(for_value);
   PushArgumentInstr* push_value = PushArgument(for_value.value());
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(1);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(1);
   arguments->Add(push_value);
-  InstanceCallInstr* call = new(Z) InstanceCallInstr(
-      node->token_pos(),
-      Symbols::Token(node->kind()),
-      node->kind(),
-      arguments,
-      Object::null_array(),
-      1,
-      owner()->ic_data_array());
+  InstanceCallInstr* call = new (Z) InstanceCallInstr(
+      node->token_pos(), Symbols::Token(node->kind()), node->kind(), arguments,
+      Object::null_array(), 1, owner()->ic_data_array());
   ReturnDefinition(call);
 }
 
@@ -1892,14 +1803,14 @@
   ValueGraphVisitor for_true(owner());
   node->true_expr()->Visit(&for_true);
   ASSERT(for_true.is_open());
-  for_true.Do(BuildStoreExprTemp(for_true.value(),
-                                 node->true_expr()->token_pos()));
+  for_true.Do(
+      BuildStoreExprTemp(for_true.value(), node->true_expr()->token_pos()));
 
   ValueGraphVisitor for_false(owner());
   node->false_expr()->Visit(&for_false);
   ASSERT(for_false.is_open());
-  for_false.Do(BuildStoreExprTemp(for_false.value(),
-                                  node->false_expr()->token_pos()));
+  for_false.Do(
+      BuildStoreExprTemp(for_false.value(), node->false_expr()->token_pos()));
 
   Join(for_test, for_true, for_false);
   ReturnDefinition(BuildLoadExprTemp(node->token_pos()));
@@ -1964,8 +1875,8 @@
   // Compute the start of the statements fragment.
   JoinEntryInstr* statement_start = NULL;
   if (node->label() == NULL) {
-    statement_start = new(Z) JoinEntryInstr(owner()->AllocateBlockId(),
-                                            owner()->try_index());
+    statement_start = new (Z)
+        JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
   } else {
     // The case nodes are nested inside a SequenceNode that is the body of a
     // SwitchNode.  The SwitchNode on the nesting stack contains the
@@ -2016,8 +1927,8 @@
       exit_instruction = statement_exit;
     } else {
       if (statement_exit != NULL) {
-        JoinEntryInstr* join = new(Z) JoinEntryInstr(owner()->AllocateBlockId(),
-                                                     owner()->try_index());
+        JoinEntryInstr* join = new (Z)
+            JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
         statement_exit->Goto(join);
         next_target->Goto(join);
         exit_instruction = join;
@@ -2100,19 +2011,18 @@
 
   // Tie do-while loop (test is after the body).
   JoinEntryInstr* body_entry_join =
-      new(Z) JoinEntryInstr(owner()->AllocateBlockId(),
-                            owner()->try_index());
+      new (Z) JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
   Goto(body_entry_join);
   Instruction* body_exit = AppendFragment(body_entry_join, for_body);
 
   JoinEntryInstr* join = nested_loop.continue_target();
   if ((body_exit != NULL) || (join != NULL)) {
     if (join == NULL) {
-      join = new(Z) JoinEntryInstr(owner()->AllocateBlockId(),
-                                   owner()->try_index());
+      join = new (Z)
+          JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
     }
-    CheckStackOverflowInstr* check = new(Z) CheckStackOverflowInstr(
-        node->token_pos(), owner()->loop_depth());
+    CheckStackOverflowInstr* check = new (Z)
+        CheckStackOverflowInstr(node->token_pos(), owner()->loop_depth());
     join->LinkTo(check);
     check->LinkTo(for_test.entry());
     if (body_exit != NULL) {
@@ -2160,8 +2070,8 @@
   // Join the loop body and increment and then tie the loop.
   JoinEntryInstr* continue_join = nested_loop.continue_target();
   if ((continue_join != NULL) || for_body.is_open()) {
-    JoinEntryInstr* loop_entry =
-        new(Z) JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
+    JoinEntryInstr* loop_entry = new (Z)
+        JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
     if (continue_join != NULL) {
       if (for_body.is_open()) for_body.Goto(continue_join);
       Instruction* current = AppendFragment(continue_join, for_increment);
@@ -2177,9 +2087,8 @@
     // check must match the position of the increment expression, so that
     // the context level (if any) matches the that of the increment
     // expression.
-    AddInstruction(
-        new(Z) CheckStackOverflowInstr(node->increment()->token_pos(),
-                                       owner()->loop_depth()));
+    AddInstruction(new (Z) CheckStackOverflowInstr(
+        node->increment()->token_pos(), owner()->loop_depth()));
   }
 
   if (node->condition() == NULL) {
@@ -2230,8 +2139,8 @@
   NestedStatement* current = owner()->nesting_stack();
   while (current != NULL) {
     jump_target = (node->kind() == Token::kBREAK)
-        ? current->BreakTargetFor(node->label())
-        : current->ContinueTargetFor(node->label());
+                      ? current->BreakTargetFor(node->label())
+                      : current->ContinueTargetFor(node->label());
     if (jump_target != NULL) break;
     current = current->outer();
   }
@@ -2258,10 +2167,10 @@
   ASSERT(node->token_pos().IsSynthetic() || node->token_pos().IsNoSource());
   ASSERT(node->async_scope() != NULL);
   ASSERT(node->await_scope() != NULL);
-  LocalVariable* jump_var = node->async_scope()->LookupVariable(
-      Symbols::AwaitJumpVar(), false);
-  LocalVariable* ctx_var = node->async_scope()->LookupVariable(
-      Symbols::AwaitContextVar(), false);
+  LocalVariable* jump_var =
+      node->async_scope()->LookupVariable(Symbols::AwaitJumpVar(), false);
+  LocalVariable* ctx_var =
+      node->async_scope()->LookupVariable(Symbols::AwaitContextVar(), false);
   ASSERT((jump_var != NULL) && jump_var->is_captured());
   ASSERT((ctx_var != NULL) && ctx_var->is_captured());
   const intptr_t jump_count = owner()->next_await_counter();
@@ -2270,7 +2179,7 @@
   // state.
   ASSERT(jump_count == owner()->await_joins()->length());
   // Store the counter in :await_jump_var.
-  Value* jump_val = Bind(new(Z) ConstantInstr(
+  Value* jump_val = Bind(new (Z) ConstantInstr(
       Smi::ZoneHandle(Z, Smi::New(jump_count)), node->token_pos()));
   Do(BuildStoreLocal(*jump_var, jump_val, node->token_pos()));
   // Save the current context for resuming.
@@ -2279,11 +2188,9 @@
 
 
 intptr_t EffectGraphVisitor::GetCurrentTempLocalIndex() const {
-  return kFirstLocalSlotFromFp
-      - owner()->num_stack_locals()
-      - owner()->num_copied_params()
-      - owner()->args_pushed()
-      - owner()->temp_count() + 1;
+  return kFirstLocalSlotFromFp - owner()->num_stack_locals() -
+         owner()->num_copied_params() - owner()->args_pushed() -
+         owner()->temp_count() + 1;
 }
 
 
@@ -2292,18 +2199,17 @@
   intptr_t index = GetCurrentTempLocalIndex();
   char name[64];
   OS::SNPrint(name, 64, ":tmp_local%" Pd, index);
-  LocalVariable*  var =
-      new(Z) LocalVariable(TokenPosition::kNoSource,
-                           TokenPosition::kNoSource,
-                           String::ZoneHandle(Z, Symbols::New(T, name)),
-                           *value->Type()->ToAbstractType());
+  LocalVariable* var =
+      new (Z) LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                            String::ZoneHandle(Z, Symbols::New(T, name)),
+                            *value->Type()->ToAbstractType());
   var->set_index(index);
   return var;
 }
 
 
 Definition* EffectGraphVisitor::ExitTempLocalScope(Value* value) {
-  return new(Z) DropTempsInstr(0, value);
+  return new (Z) DropTempsInstr(0, value);
 }
 
 
@@ -2333,7 +2239,7 @@
   intptr_t num_temps = node->num_temps();
   if (num_temps > 0) {
     owner()->DeallocateTemps(num_temps);
-    Do(new(Z) DropTempsInstr(num_temps, NULL));
+    Do(new (Z) DropTempsInstr(num_temps, NULL));
   }
 }
 
@@ -2356,7 +2262,7 @@
   intptr_t num_temps = node->num_temps();
   if (num_temps > 0) {
     owner()->DeallocateTemps(num_temps);
-    ReturnDefinition(new(Z) DropTempsInstr(num_temps, result_value));
+    ReturnDefinition(new (Z) DropTempsInstr(num_temps, result_value));
   } else {
     ReturnValue(result_value);
   }
@@ -2366,35 +2272,33 @@
 void EffectGraphVisitor::VisitArrayNode(ArrayNode* node) {
   const TypeArguments& type_args =
       TypeArguments::ZoneHandle(Z, node->type().arguments());
-  Value* element_type = BuildInstantiatedTypeArguments(node->token_pos(),
-                                                       type_args);
+  Value* element_type =
+      BuildInstantiatedTypeArguments(node->token_pos(), type_args);
   Value* num_elements =
-      Bind(new(Z) ConstantInstr(Smi::ZoneHandle(Z, Smi::New(node->length()))));
-  CreateArrayInstr* create = new(Z) CreateArrayInstr(node->token_pos(),
-                                                     element_type,
-                                                     num_elements);
+      Bind(new (Z) ConstantInstr(Smi::ZoneHandle(Z, Smi::New(node->length()))));
+  CreateArrayInstr* create =
+      new (Z) CreateArrayInstr(node->token_pos(), element_type, num_elements);
   Value* array_val = Bind(create);
 
-  { LocalVariable* tmp_var = EnterTempLocalScope(array_val);
+  {
+    LocalVariable* tmp_var = EnterTempLocalScope(array_val);
     const intptr_t class_id = kArrayCid;
     const intptr_t deopt_id = Thread::kNoDeoptId;
     for (int i = 0; i < node->length(); ++i) {
-      Value* array = Bind(new(Z) LoadLocalInstr(*tmp_var, node->token_pos()));
-      Value* index =
-          Bind(new(Z) ConstantInstr(Smi::ZoneHandle(Z, Smi::New(i)),
-                                    node->token_pos()));
+      Value* array = Bind(new (Z) LoadLocalInstr(*tmp_var, node->token_pos()));
+      Value* index = Bind(new (Z) ConstantInstr(Smi::ZoneHandle(Z, Smi::New(i)),
+                                                node->token_pos()));
       ValueGraphVisitor for_value(owner());
       node->ElementAt(i)->Visit(&for_value);
       Append(for_value);
       // No store barrier needed for constants.
       const StoreBarrierType emit_store_barrier =
-          for_value.value()->BindsToConstant()
-              ? kNoStoreBarrier
-              : kEmitStoreBarrier;
+          for_value.value()->BindsToConstant() ? kNoStoreBarrier
+                                               : kEmitStoreBarrier;
       const intptr_t index_scale = Instance::ElementSizeFor(class_id);
-      StoreIndexedInstr* store = new(Z) StoreIndexedInstr(
-          array, index, for_value.value(), emit_store_barrier,
-          index_scale, class_id, kAlignedAccess, deopt_id, node->token_pos());
+      StoreIndexedInstr* store = new (Z) StoreIndexedInstr(
+          array, index, for_value.value(), emit_store_barrier, index_scale,
+          class_id, kAlignedAccess, deopt_id, node->token_pos());
       Do(store);
     }
     ReturnDefinition(ExitTempLocalScope(array_val));
@@ -2408,7 +2312,7 @@
   ArrayNode* arguments = node->value();
   if (arguments->length() == 1) {
     ZoneGrowableArray<PushArgumentInstr*>* values =
-        new(Z) ZoneGrowableArray<PushArgumentInstr*>(1);
+        new (Z) ZoneGrowableArray<PushArgumentInstr*>(1);
     arguments->ElementAt(0)->Visit(&for_argument);
     Append(for_argument);
     PushArgumentInstr* push_arg = PushArgument(for_argument.value());
@@ -2419,25 +2323,19 @@
         Class::Handle(Library::LookupCoreClass(Symbols::StringBase()));
     ASSERT(!cls.IsNull());
     const Function& function = Function::ZoneHandle(
-        Z,
-        Resolver::ResolveStatic(
-            cls,
-            Library::PrivateCoreLibName(Symbols::InterpolateSingle()),
-            kNumberOfArguments,
-            kNoArgumentNames));
+        Z, Resolver::ResolveStatic(
+               cls, Library::PrivateCoreLibName(Symbols::InterpolateSingle()),
+               kNumberOfArguments, kNoArgumentNames));
     StaticCallInstr* call =
-        new(Z) StaticCallInstr(node->token_pos(),
-                               function,
-                               kNoArgumentNames,
-                               values,
-                               owner()->ic_data_array());
+        new (Z) StaticCallInstr(node->token_pos(), function, kNoArgumentNames,
+                                values, owner()->ic_data_array());
     ReturnDefinition(call);
     return;
   }
   arguments->Visit(&for_argument);
   Append(for_argument);
   StringInterpolateInstr* instr =
-      new(Z) StringInterpolateInstr(for_argument.value(), node->token_pos());
+      new (Z) StringInterpolateInstr(for_argument.value(), node->token_pos());
   ReturnDefinition(instr);
 }
 
@@ -2447,7 +2345,7 @@
   if (function.IsImplicitStaticClosureFunction()) {
     const Instance& closure =
         Instance::ZoneHandle(Z, function.ImplicitStaticClosure());
-    ReturnDefinition(new(Z) ConstantInstr(closure));
+    ReturnDefinition(new (Z) ConstantInstr(closure));
     return;
   }
 
@@ -2471,8 +2369,8 @@
     // same closure, do not add a second one. We compare token position,
     // and parent function to detect duplicates.
     const Function& parent = Function::Handle(function.parent_function());
-    const Function& found_func = Function::Handle(Z,
-        isolate()->LookupClosureFunction(parent, function.token_pos()));
+    const Function& found_func = Function::Handle(
+        Z, isolate()->LookupClosureFunction(parent, function.token_pos()));
     if (found_func.IsNull()) {
       isolate()->AddClosureFunction(function);
     }
@@ -2484,84 +2382,73 @@
   const Class& closure_class =
       Class::ZoneHandle(Z, isolate()->object_store()->closure_class());
   ZoneGrowableArray<PushArgumentInstr*>* no_arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(0);
-  AllocateObjectInstr* alloc = new(Z) AllocateObjectInstr(node->token_pos(),
-                                                          closure_class,
-                                                          no_arguments);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(0);
+  AllocateObjectInstr* alloc = new (Z)
+      AllocateObjectInstr(node->token_pos(), closure_class, no_arguments);
   alloc->set_closure_function(function);
 
   Value* closure_val = Bind(alloc);
-  { LocalVariable* closure_tmp_var = EnterTempLocalScope(closure_val);
+  {
+    LocalVariable* closure_tmp_var = EnterTempLocalScope(closure_val);
     // Store type arguments if scope class is generic.
     const Type& function_type = Type::ZoneHandle(Z, function.SignatureType());
     const Class& scope_cls = Class::ZoneHandle(Z, function_type.type_class());
     if (scope_cls.IsGeneric()) {
       ASSERT(function.Owner() == scope_cls.raw());
-      Value* closure_tmp_val = Bind(new(Z) LoadLocalInstr(*closure_tmp_var,
-                                                          node->token_pos()));
-      const Class& instantiator_class = Class::Handle(
-          Z, owner()->function().Owner());
-      Value* type_arguments = BuildInstantiatorTypeArguments(node->token_pos(),
-                                                             instantiator_class,
-                                                             NULL);
-      Do(new(Z) StoreInstanceFieldInstr(Closure::type_arguments_offset(),
-                                        closure_tmp_val,
-                                        type_arguments,
-                                        kEmitStoreBarrier,
-                                        node->token_pos()));
+      Value* closure_tmp_val =
+          Bind(new (Z) LoadLocalInstr(*closure_tmp_var, node->token_pos()));
+      const Class& instantiator_class =
+          Class::Handle(Z, owner()->function().Owner());
+      Value* type_arguments = BuildInstantiatorTypeArguments(
+          node->token_pos(), instantiator_class, NULL);
+      Do(new (Z) StoreInstanceFieldInstr(Closure::type_arguments_offset(),
+                                         closure_tmp_val, type_arguments,
+                                         kEmitStoreBarrier, node->token_pos()));
     }
 
     // Store function.
     Value* closure_tmp_val =
-        Bind(new(Z) LoadLocalInstr(*closure_tmp_var, node->token_pos()));
+        Bind(new (Z) LoadLocalInstr(*closure_tmp_var, node->token_pos()));
     Value* func_val =
-        Bind(new(Z) ConstantInstr(Function::ZoneHandle(Z, function.raw())));
-    Do(new(Z) StoreInstanceFieldInstr(Closure::function_offset(),
-                                      closure_tmp_val,
-                                      func_val,
-                                      kEmitStoreBarrier,
-                                      node->token_pos()));
+        Bind(new (Z) ConstantInstr(Function::ZoneHandle(Z, function.raw())));
+    Do(new (Z) StoreInstanceFieldInstr(Closure::function_offset(),
+                                       closure_tmp_val, func_val,
+                                       kEmitStoreBarrier, node->token_pos()));
     if (is_implicit) {
       // Create new context containing the receiver.
       const intptr_t kNumContextVariables = 1;  // The receiver.
-      Value* allocated_context =
-          Bind(new(Z) AllocateContextInstr(node->token_pos(),
-                                           kNumContextVariables));
-      { LocalVariable* context_tmp_var = EnterTempLocalScope(allocated_context);
+      Value* allocated_context = Bind(new (Z) AllocateContextInstr(
+          node->token_pos(), kNumContextVariables));
+      {
+        LocalVariable* context_tmp_var = EnterTempLocalScope(allocated_context);
         // Store receiver in context.
         Value* context_tmp_val =
-            Bind(new(Z) LoadLocalInstr(*context_tmp_var, node->token_pos()));
+            Bind(new (Z) LoadLocalInstr(*context_tmp_var, node->token_pos()));
         ValueGraphVisitor for_receiver(owner());
         node->receiver()->Visit(&for_receiver);
         Append(for_receiver);
         Value* receiver = for_receiver.value();
-        Do(new(Z) StoreInstanceFieldInstr(Context::variable_offset(0),
-                                          context_tmp_val,
-                                          receiver,
-                                          kEmitStoreBarrier,
-                                          node->token_pos()));
+        Do(new (Z) StoreInstanceFieldInstr(
+            Context::variable_offset(0), context_tmp_val, receiver,
+            kEmitStoreBarrier, node->token_pos()));
         // Store new context in closure.
         closure_tmp_val =
-            Bind(new(Z) LoadLocalInstr(*closure_tmp_var, node->token_pos()));
+            Bind(new (Z) LoadLocalInstr(*closure_tmp_var, node->token_pos()));
         context_tmp_val =
-            Bind(new(Z) LoadLocalInstr(*context_tmp_var, node->token_pos()));
-        Do(new(Z) StoreInstanceFieldInstr(Closure::context_offset(),
-                                          closure_tmp_val,
-                                          context_tmp_val,
-                                          kEmitStoreBarrier,
-                                          node->token_pos()));
+            Bind(new (Z) LoadLocalInstr(*context_tmp_var, node->token_pos()));
+        Do(new (Z) StoreInstanceFieldInstr(
+            Closure::context_offset(), closure_tmp_val, context_tmp_val,
+            kEmitStoreBarrier, node->token_pos()));
         Do(ExitTempLocalScope(allocated_context));
       }
     } else {
       // Store current context in closure.
-      closure_tmp_val = Bind(
-          new(Z) LoadLocalInstr(*closure_tmp_var, node->token_pos()));
+      closure_tmp_val =
+          Bind(new (Z) LoadLocalInstr(*closure_tmp_var, node->token_pos()));
       Value* context = Bind(BuildCurrentContext(node->token_pos()));
-      Do(new(Z) StoreInstanceFieldInstr(Closure::context_offset(),
-                                        closure_tmp_val,
-                                        context,
-                                        kEmitStoreBarrier,
-                                        node->token_pos()));
+      Do(new (Z) StoreInstanceFieldInstr(Closure::context_offset(),
+                                         closure_tmp_val, context,
+                                         kEmitStoreBarrier, node->token_pos()));
     }
     ReturnDefinition(ExitTempLocalScope(closure_val));
   }
@@ -2584,15 +2471,12 @@
 void EffectGraphVisitor::BuildInstanceCallConditional(InstanceCallNode* node) {
   const TokenPosition token_pos = node->token_pos();
   LocalVariable* temp_var = owner()->parsed_function().expression_temp_var();
-  LoadLocalNode* load_temp = new(Z) LoadLocalNode(token_pos, temp_var);
+  LoadLocalNode* load_temp = new (Z) LoadLocalNode(token_pos, temp_var);
 
   LiteralNode* null_constant =
-      new(Z) LiteralNode(ST(token_pos), Object::null_instance());
-  ComparisonNode* check_is_null =
-      new(Z) ComparisonNode(ST(token_pos),
-                            Token::kEQ,
-                            load_temp,
-                            null_constant);
+      new (Z) LiteralNode(ST(token_pos), Object::null_instance());
+  ComparisonNode* check_is_null = new (Z)
+      ComparisonNode(ST(token_pos), Token::kEQ, load_temp, null_constant);
   TestGraphVisitor for_test(owner(), ST(token_pos));
   check_is_null->Visit(&for_test);
 
@@ -2600,16 +2484,13 @@
   EffectGraphVisitor for_false(owner());
 
   StoreLocalNode* store_null =
-      new(Z) StoreLocalNode(ST(token_pos), temp_var, null_constant);
+      new (Z) StoreLocalNode(ST(token_pos), temp_var, null_constant);
   store_null->Visit(&for_true);
 
-  InstanceCallNode* call =
-      new(Z) InstanceCallNode(token_pos,
-                              load_temp,
-                              node->function_name(),
-                              node->arguments());
+  InstanceCallNode* call = new (Z) InstanceCallNode(
+      token_pos, load_temp, node->function_name(), node->arguments());
   StoreLocalNode* store_result =
-      new(Z) StoreLocalNode(ST(token_pos), temp_var, call);
+      new (Z) StoreLocalNode(ST(token_pos), temp_var, call);
   store_result->Visit(&for_false);
 
   Join(for_test, for_true, for_false);
@@ -2639,20 +2520,14 @@
     BuildInstanceCallConditional(node);
   } else {
     PushArgumentInstr* push_receiver = PushArgument(for_receiver.value());
-    ZoneGrowableArray<PushArgumentInstr*>* arguments =
-        new(Z) ZoneGrowableArray<PushArgumentInstr*>(
-            node->arguments()->length() + 1);
+    ZoneGrowableArray<PushArgumentInstr*>* arguments = new (Z)
+        ZoneGrowableArray<PushArgumentInstr*>(node->arguments()->length() + 1);
     arguments->Add(push_receiver);
 
     BuildPushArguments(*node->arguments(), arguments);
-    InstanceCallInstr* call = new(Z) InstanceCallInstr(
-        node->token_pos(),
-        node->function_name(),
-        Token::kILLEGAL,
-        arguments,
-        node->arguments()->names(),
-        1,
-        owner()->ic_data_array());
+    InstanceCallInstr* call = new (Z) InstanceCallInstr(
+        node->token_pos(), node->function_name(), Token::kILLEGAL, arguments,
+        node->arguments()->names(), 1, owner()->ic_data_array());
     ReturnDefinition(call);
   }
 }
@@ -2661,15 +2536,12 @@
 // <Expression> ::= StaticCall { function: Function
 //                               arguments: <ArgumentList> }
 void EffectGraphVisitor::VisitStaticCallNode(StaticCallNode* node) {
-  ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(node->arguments()->length());
+  ZoneGrowableArray<PushArgumentInstr*>* arguments = new (Z)
+      ZoneGrowableArray<PushArgumentInstr*>(node->arguments()->length());
   BuildPushArguments(*node->arguments(), arguments);
-  StaticCallInstr* call =
-      new(Z) StaticCallInstr(node->token_pos(),
-                             node->function(),
-                             node->arguments()->names(),
-                             arguments,
-                             owner()->ic_data_array());
+  StaticCallInstr* call = new (Z) StaticCallInstr(
+      node->token_pos(), node->function(), node->arguments()->names(),
+      arguments, owner()->ic_data_array());
   if (node->function().recognized_kind() != MethodRecognizer::kUnknown) {
     call->set_result_cid(MethodRecognizer::ResultCid(node->function()));
   }
@@ -2677,8 +2549,8 @@
 }
 
 
-void EffectGraphVisitor::BuildClosureCall(
-    ClosureCallNode* node, bool result_needed) {
+void EffectGraphVisitor::BuildClosureCall(ClosureCallNode* node,
+                                          bool result_needed) {
   ValueGraphVisitor for_closure(owner());
   node->closure()->Visit(&for_closure);
   Append(for_closure);
@@ -2686,27 +2558,26 @@
   Value* closure_value = for_closure.value();
   LocalVariable* tmp_var = EnterTempLocalScope(closure_value);
 
-  ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(node->arguments()->length());
-  Value* closure_val = Bind(new(Z) LoadLocalInstr(*tmp_var, node->token_pos()));
+  ZoneGrowableArray<PushArgumentInstr*>* arguments = new (Z)
+      ZoneGrowableArray<PushArgumentInstr*>(node->arguments()->length());
+  Value* closure_val =
+      Bind(new (Z) LoadLocalInstr(*tmp_var, node->token_pos()));
   PushArgumentInstr* push_closure = PushArgument(closure_val);
   arguments->Add(push_closure);
   BuildPushArguments(*node->arguments(), arguments);
 
-  closure_val = Bind(new(Z) LoadLocalInstr(*tmp_var, node->token_pos()));
-  LoadFieldInstr* function_load = new(Z) LoadFieldInstr(
-      closure_val,
-      Closure::function_offset(),
-      AbstractType::ZoneHandle(Z, AbstractType::null()),
-      node->token_pos());
+  closure_val = Bind(new (Z) LoadLocalInstr(*tmp_var, node->token_pos()));
+  LoadFieldInstr* function_load = new (Z) LoadFieldInstr(
+      closure_val, Closure::function_offset(),
+      AbstractType::ZoneHandle(Z, AbstractType::null()), node->token_pos());
   function_load->set_is_immutable(true);
   Value* function_val = Bind(function_load);
 
   Definition* closure_call =
-      new(Z) ClosureCallInstr(function_val, node, arguments);
+      new (Z) ClosureCallInstr(function_val, node, arguments);
   if (result_needed) {
     Value* result = Bind(closure_call);
-    Do(new(Z) StoreLocalInstr(*tmp_var, result, ST(node->token_pos())));
+    Do(new (Z) StoreLocalInstr(*tmp_var, result, ST(node->token_pos())));
   } else {
     Do(closure_call);
   }
@@ -2725,15 +2596,15 @@
 
 
 void EffectGraphVisitor::VisitInitStaticFieldNode(InitStaticFieldNode* node) {
-  Value* field = Bind(new(Z) ConstantInstr(
-      Field::ZoneHandle(Z, node->field().Original())));
-  AddInstruction(new(Z) InitStaticFieldInstr(field, node->field()));
+  Value* field = Bind(
+      new (Z) ConstantInstr(Field::ZoneHandle(Z, node->field().Original())));
+  AddInstruction(new (Z) InitStaticFieldInstr(field, node->field()));
 }
 
 
 void EffectGraphVisitor::VisitCloneContextNode(CloneContextNode* node) {
   Value* context = Bind(BuildCurrentContext(node->token_pos()));
-  Value* clone = Bind(new(Z) CloneContextInstr(node->token_pos(), context));
+  Value* clone = Bind(new (Z) CloneContextInstr(node->token_pos(), context));
   Do(BuildStoreContext(clone, node->token_pos()));
 }
 
@@ -2742,18 +2613,16 @@
   const Class& cls = Class::ZoneHandle(Z, node->constructor().Owner());
   const bool cls_is_parameterized = cls.NumTypeArguments() > 0;
 
-  ZoneGrowableArray<PushArgumentInstr*>* allocate_arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(
-          cls_is_parameterized ? 1 : 0);
+  ZoneGrowableArray<PushArgumentInstr*>* allocate_arguments = new (Z)
+      ZoneGrowableArray<PushArgumentInstr*>(cls_is_parameterized ? 1 : 0);
   if (cls_is_parameterized) {
     Value* type_args = BuildInstantiatedTypeArguments(node->token_pos(),
                                                       node->type_arguments());
     allocate_arguments->Add(PushArgument(type_args));
   }
 
-  Definition* allocation = new(Z) AllocateObjectInstr(
-      node->token_pos(),
-      Class::ZoneHandle(Z, node->constructor().Owner()),
+  Definition* allocation = new (Z) AllocateObjectInstr(
+      node->token_pos(), Class::ZoneHandle(Z, node->constructor().Owner()),
       allocate_arguments);
 
   return Bind(allocation);
@@ -2763,17 +2632,14 @@
 void EffectGraphVisitor::BuildConstructorCall(
     ConstructorCallNode* node,
     PushArgumentInstr* push_alloc_value) {
-
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(2);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(2);
   arguments->Add(push_alloc_value);
 
   BuildPushArguments(*node->arguments(), arguments);
-  Do(new(Z) StaticCallInstr(node->token_pos(),
-                            node->constructor(),
-                            node->arguments()->names(),
-                            arguments,
-                            owner()->ic_data_array()));
+  Do(new (Z) StaticCallInstr(node->token_pos(), node->constructor(),
+                             node->arguments()->names(), arguments,
+                             owner()->ic_data_array()));
 }
 
 
@@ -2797,26 +2663,23 @@
     }
     return FactoryRecognizer::ResultCid(function);
   }
-  return kDynamicCid;   // Not a known list constructor.
+  return kDynamicCid;  // Not a known list constructor.
 }
 
 
 void EffectGraphVisitor::VisitConstructorCallNode(ConstructorCallNode* node) {
   if (node->constructor().IsFactory()) {
     ZoneGrowableArray<PushArgumentInstr*>* arguments =
-        new(Z) ZoneGrowableArray<PushArgumentInstr*>();
-    PushArgumentInstr* push_type_arguments = PushArgument(
-        BuildInstantiatedTypeArguments(node->token_pos(),
-                                       node->type_arguments()));
+        new (Z) ZoneGrowableArray<PushArgumentInstr*>();
+    PushArgumentInstr* push_type_arguments =
+        PushArgument(BuildInstantiatedTypeArguments(node->token_pos(),
+                                                    node->type_arguments()));
     arguments->Add(push_type_arguments);
     ASSERT(arguments->length() == 1);
     BuildPushArguments(*node->arguments(), arguments);
-    StaticCallInstr* call =
-        new(Z) StaticCallInstr(node->token_pos(),
-                               node->constructor(),
-                               node->arguments()->names(),
-                               arguments,
-                               owner()->ic_data_array());
+    StaticCallInstr* call = new (Z) StaticCallInstr(
+        node->token_pos(), node->constructor(), node->arguments()->names(),
+        arguments, owner()->ic_data_array());
     const intptr_t result_cid = GetResultCidOfListFactory(node);
     if (result_cid != kDynamicCid) {
       call->set_result_cid(result_cid);
@@ -2871,15 +2734,14 @@
     TypeArguments& type_arguments =
         TypeArguments::ZoneHandle(Z, TypeArguments::null());
     // Type is temporary. Only its type arguments are preserved.
-    Type& type = Type::Handle(
-        Z,
-        Type::New(instantiator_class, type_arguments, token_pos, Heap::kNew));
-    type ^= ClassFinalizer::FinalizeType(
-        instantiator_class, type, ClassFinalizer::kFinalize);
+    Type& type = Type::Handle(Z, Type::New(instantiator_class, type_arguments,
+                                           token_pos, Heap::kNew));
+    type ^= ClassFinalizer::FinalizeType(instantiator_class, type,
+                                         ClassFinalizer::kFinalize);
     ASSERT(!type.IsMalformedOrMalbounded());
     type_arguments = type.arguments();
     type_arguments = type_arguments.Canonicalize();
-    return Bind(new(Z) ConstantInstr(type_arguments));
+    return Bind(new (Z) ConstantInstr(type_arguments));
   }
   Function& outer_function = Function::Handle(Z, owner()->function().raw());
   while (outer_function.IsLocalFunction()) {
@@ -2888,8 +2750,7 @@
   if (outer_function.IsFactory()) {
     // No instantiator for factories.
     ASSERT(instantiator == NULL);
-    LocalVariable* instantiator_var =
-        owner()->parsed_function().instantiator();
+    LocalVariable* instantiator_var = owner()->parsed_function().instantiator();
     ASSERT(instantiator_var != NULL);
     return Bind(BuildLoadLocal(*instantiator_var, token_pos));
   }
@@ -2904,9 +2765,8 @@
       instantiator_class.type_arguments_field_offset();
   ASSERT(type_arguments_field_offset != Class::kNoTypeArguments);
 
-  return Bind(new(Z) LoadFieldInstr(
-      instantiator,
-      type_arguments_field_offset,
+  return Bind(new (Z) LoadFieldInstr(
+      instantiator, type_arguments_field_offset,
       Type::ZoneHandle(Z, Type::null()),  // Not an instance, no type.
       token_pos));
 }
@@ -2916,11 +2776,11 @@
     TokenPosition token_pos,
     const TypeArguments& type_arguments) {
   if (type_arguments.IsNull() || type_arguments.IsInstantiated()) {
-    return Bind(new(Z) ConstantInstr(type_arguments));
+    return Bind(new (Z) ConstantInstr(type_arguments));
   }
   // The type arguments are uninstantiated.
-  const Class& instantiator_class = Class::ZoneHandle(
-      Z, owner()->function().Owner());
+  const Class& instantiator_class =
+      Class::ZoneHandle(Z, owner()->function().Owner());
   Value* instantiator_value =
       BuildInstantiatorTypeArguments(token_pos, instantiator_class, NULL);
   const bool use_instantiator_type_args =
@@ -2929,10 +2789,8 @@
   if (use_instantiator_type_args) {
     return instantiator_value;
   } else {
-    return Bind(new(Z) InstantiateTypeArgumentsInstr(token_pos,
-                                                  type_arguments,
-                                                  instantiator_class,
-                                                  instantiator_value));
+    return Bind(new (Z) InstantiateTypeArgumentsInstr(
+        token_pos, type_arguments, instantiator_class, instantiator_value));
   }
 }
 
@@ -2952,9 +2810,10 @@
   //   tn       <- LoadLocal(temp)
 
   Value* allocate = BuildObjectAllocation(node);
-  { LocalVariable* tmp_var = EnterTempLocalScope(allocate);
+  {
+    LocalVariable* tmp_var = EnterTempLocalScope(allocate);
     Value* allocated_tmp =
-        Bind(new(Z) LoadLocalInstr(*tmp_var, node->token_pos()));
+        Bind(new (Z) LoadLocalInstr(*tmp_var, node->token_pos()));
     PushArgumentInstr* push_allocated_value = PushArgument(allocated_tmp);
     BuildConstructorCall(node, push_allocated_value);
     ReturnDefinition(ExitTempLocalScope(allocate));
@@ -2962,20 +2821,16 @@
 }
 
 
-
 void EffectGraphVisitor::BuildInstanceGetterConditional(
     InstanceGetterNode* node) {
   const TokenPosition token_pos = node->token_pos();
   LocalVariable* temp_var = owner()->parsed_function().expression_temp_var();
-  LoadLocalNode* load_temp = new(Z) LoadLocalNode(token_pos, temp_var);
+  LoadLocalNode* load_temp = new (Z) LoadLocalNode(token_pos, temp_var);
 
   LiteralNode* null_constant =
-      new(Z) LiteralNode(ST(token_pos), Object::null_instance());
-  ComparisonNode* check_is_null =
-      new(Z) ComparisonNode(ST(token_pos),
-                            Token::kEQ,
-                            load_temp,
-                            null_constant);
+      new (Z) LiteralNode(ST(token_pos), Object::null_instance());
+  ComparisonNode* check_is_null = new (Z)
+      ComparisonNode(ST(token_pos), Token::kEQ, load_temp, null_constant);
   TestGraphVisitor for_test(owner(), ST(token_pos));
   check_is_null->Visit(&for_test);
 
@@ -2983,14 +2838,13 @@
   EffectGraphVisitor for_false(owner());
 
   StoreLocalNode* store_null =
-      new(Z) StoreLocalNode(ST(token_pos), temp_var, null_constant);
+      new (Z) StoreLocalNode(ST(token_pos), temp_var, null_constant);
   store_null->Visit(&for_true);
 
-  InstanceGetterNode* getter = new(Z) InstanceGetterNode(token_pos,
-                                                         load_temp,
-                                                         node->field_name());
+  InstanceGetterNode* getter =
+      new (Z) InstanceGetterNode(token_pos, load_temp, node->field_name());
   StoreLocalNode* store_getter =
-      new(Z) StoreLocalNode(ST(token_pos), temp_var, getter);
+      new (Z) StoreLocalNode(ST(token_pos), temp_var, getter);
   store_getter->Visit(&for_false);
 
   Join(for_test, for_true, for_false);
@@ -3021,17 +2875,13 @@
   } else {
     PushArgumentInstr* push_receiver = PushArgument(for_receiver.value());
     ZoneGrowableArray<PushArgumentInstr*>* arguments =
-        new(Z) ZoneGrowableArray<PushArgumentInstr*>(1);
+        new (Z) ZoneGrowableArray<PushArgumentInstr*>(1);
     arguments->Add(push_receiver);
     const String& name =
         String::ZoneHandle(Z, Field::GetterSymbol(node->field_name()));
-    InstanceCallInstr* call = new(Z) InstanceCallInstr(
-        node->token_pos(),
-        name,
-        Token::kGET,
-        arguments, Object::null_array(),
-        1,
-        owner()->ic_data_array());
+    InstanceCallInstr* call = new (Z)
+        InstanceCallInstr(node->token_pos(), name, Token::kGET, arguments,
+                          Object::null_array(), 1, owner()->ic_data_array());
     ReturnDefinition(call);
   }
 }
@@ -3069,43 +2919,32 @@
     Do(BuildStoreExprTemp(for_receiver.value(), token_pos));
 
     LocalVariable* temp_var = owner()->parsed_function().expression_temp_var();
-    LoadLocalNode* load_temp =
-        new(Z) LoadLocalNode(ST(token_pos), temp_var);
+    LoadLocalNode* load_temp = new (Z) LoadLocalNode(ST(token_pos), temp_var);
     LiteralNode* null_constant =
-        new(Z) LiteralNode(ST(token_pos), Object::null_instance());
-    ComparisonNode* check_is_null =
-        new(Z) ComparisonNode(ST(token_pos),
-                              Token::kEQ,
-                              load_temp,
-                              null_constant);
+        new (Z) LiteralNode(ST(token_pos), Object::null_instance());
+    ComparisonNode* check_is_null = new (Z)
+        ComparisonNode(ST(token_pos), Token::kEQ, load_temp, null_constant);
     TestGraphVisitor for_test(owner(), ST(token_pos));
     check_is_null->Visit(&for_test);
 
     EffectGraphVisitor for_true(owner());
     EffectGraphVisitor for_false(owner());
 
-    InstanceSetterNode* setter =
-        new(Z) InstanceSetterNode(token_pos,
-                                  load_temp,
-                                  node->field_name(),
-                                  node->value());
+    InstanceSetterNode* setter = new (Z) InstanceSetterNode(
+        token_pos, load_temp, node->field_name(), node->value());
     setter->Visit(&for_false);
     Join(for_test, for_true, for_false);
     return;
   }
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(2);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(2);
   BuildInstanceSetterArguments(node, arguments, kResultNotNeeded);
   const String& name =
       String::ZoneHandle(Z, Field::SetterSymbol(node->field_name()));
   const intptr_t kNumArgsChecked = 1;  // Do not check value type.
-  InstanceCallInstr* call = new(Z) InstanceCallInstr(token_pos,
-                                                     name,
-                                                     Token::kSET,
-                                                     arguments,
-                                                     Object::null_array(),
-                                                     kNumArgsChecked,
-                                                     owner()->ic_data_array());
+  InstanceCallInstr* call = new (Z) InstanceCallInstr(
+      token_pos, name, Token::kSET, arguments, Object::null_array(),
+      kNumArgsChecked, owner()->ic_data_array());
   ReturnDefinition(call);
 }
 
@@ -3119,15 +2958,11 @@
     Do(BuildStoreExprTemp(for_receiver.value(), token_pos));
 
     LocalVariable* temp_var = owner()->parsed_function().expression_temp_var();
-    LoadLocalNode* load_temp =
-        new(Z) LoadLocalNode(ST(token_pos), temp_var);
+    LoadLocalNode* load_temp = new (Z) LoadLocalNode(ST(token_pos), temp_var);
     LiteralNode* null_constant =
-        new(Z) LiteralNode(ST(token_pos), Object::null_instance());
-    ComparisonNode* check_is_null =
-        new(Z) ComparisonNode(ST(token_pos),
-                              Token::kEQ,
-                              load_temp,
-                              null_constant);
+        new (Z) LiteralNode(ST(token_pos), Object::null_instance());
+    ComparisonNode* check_is_null = new (Z)
+        ComparisonNode(ST(token_pos), Token::kEQ, load_temp, null_constant);
     TestGraphVisitor for_test(owner(), ST(token_pos));
     check_is_null->Visit(&for_test);
 
@@ -3136,11 +2971,8 @@
     for_true.Do(BuildStoreExprTemp(for_true.value(), token_pos));
 
     ValueGraphVisitor for_false(owner());
-    InstanceSetterNode* setter =
-        new(Z) InstanceSetterNode(token_pos,
-                                  load_temp,
-                                  node->field_name(),
-                                  node->value());
+    InstanceSetterNode* setter = new (Z) InstanceSetterNode(
+        token_pos, load_temp, node->field_name(), node->value());
     setter->Visit(&for_false);
     for_false.Do(BuildStoreExprTemp(for_false.value(), token_pos));
 
@@ -3149,18 +2981,14 @@
     return;
   }
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(2);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(2);
   BuildInstanceSetterArguments(node, arguments, kResultNeeded);
   const String& name =
       String::ZoneHandle(Z, Field::SetterSymbol(node->field_name()));
   const intptr_t kNumArgsChecked = 1;  // Do not check value type.
-  Do(new(Z) InstanceCallInstr(token_pos,
-                              name,
-                              Token::kSET,
-                              arguments,
-                              Object::null_array(),
-                              kNumArgsChecked,
-                              owner()->ic_data_array()));
+  Do(new (Z) InstanceCallInstr(token_pos, name, Token::kSET, arguments,
+                               Object::null_array(), kNumArgsChecked,
+                               owner()->ic_data_array()));
   ReturnDefinition(BuildLoadExprTemp(token_pos));
 }
 
@@ -3169,24 +2997,21 @@
   const String& getter_name =
       String::ZoneHandle(Z, Field::GetterSymbol(node->field_name()));
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>();
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>();
   Function& getter_function = Function::ZoneHandle(Z, Function::null());
   if (node->is_super_getter()) {
     // Statically resolved instance getter, i.e. "super getter".
     ASSERT(node->receiver() != NULL);
-    getter_function = Resolver::ResolveDynamicAnyArgs(Z,
-        node->cls(), getter_name);
+    getter_function =
+        Resolver::ResolveDynamicAnyArgs(Z, node->cls(), getter_name);
     if (getter_function.IsNull()) {
       // Resolve and call noSuchMethod.
-      ArgumentListNode* arguments = new(Z) ArgumentListNode(node->token_pos());
+      ArgumentListNode* arguments = new (Z) ArgumentListNode(node->token_pos());
       arguments->Add(node->receiver());
-      StaticCallInstr* call =
-          BuildStaticNoSuchMethodCall(node->cls(),
-                                      node->receiver(),
-                                      getter_name,
-                                      arguments,
-                                      false,  // Don't save last argument.
-                                      true);  // Super invocation.
+      StaticCallInstr* call = BuildStaticNoSuchMethodCall(
+          node->cls(), node->receiver(), getter_name, arguments,
+          false,  // Don't save last argument.
+          true);  // Super invocation.
       ReturnDefinition(call);
       return;
     } else {
@@ -3214,26 +3039,21 @@
 
       // Throw a NoSuchMethodError.
       StaticCallInstr* call = BuildThrowNoSuchMethodError(
-          node->token_pos(),
-          node->cls(),
-          getter_name,
+          node->token_pos(), node->cls(), getter_name,
           NULL,  // No Arguments to getter.
-          InvocationMirror::EncodeType(
-              node->cls().IsTopLevel() ?
-                  InvocationMirror::kTopLevel :
-                  InvocationMirror::kStatic,
-              InvocationMirror::kGetter));
+          InvocationMirror::EncodeType(node->cls().IsTopLevel()
+                                           ? InvocationMirror::kTopLevel
+                                           : InvocationMirror::kStatic,
+                                       InvocationMirror::kGetter));
       ReturnDefinition(call);
       return;
     }
   }
   ASSERT(!getter_function.IsNull());
-  StaticCallInstr* call = new(Z) StaticCallInstr(
-      node->token_pos(),
-      getter_function,
-      Object::null_array(),  // No names
-      arguments,
-      owner()->ic_data_array());
+  StaticCallInstr* call =
+      new (Z) StaticCallInstr(node->token_pos(), getter_function,
+                              Object::null_array(),  // No names
+                              arguments, owner()->ic_data_array());
   ReturnDefinition(call);
 }
 
@@ -3243,7 +3063,7 @@
   const String& setter_name =
       String::ZoneHandle(Z, Field::SetterSymbol(node->field_name()));
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(1);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(1);
   const TokenPosition token_pos = node->token_pos();
   // A super setter is an instance setter whose setter function is
   // resolved at compile time (in the caller instance getter's super class).
@@ -3255,30 +3075,24 @@
     if (is_super_setter) {
       ASSERT(node->receiver() != NULL);
       // Resolve and call noSuchMethod.
-      ArgumentListNode* arguments = new(Z) ArgumentListNode(token_pos);
+      ArgumentListNode* arguments = new (Z) ArgumentListNode(token_pos);
       arguments->Add(node->receiver());
       arguments->Add(node->value());
       call = BuildStaticNoSuchMethodCall(
-          node->cls(),
-          node->receiver(),
-          setter_name,
-          arguments,
+          node->cls(), node->receiver(), setter_name, arguments,
           result_is_needed,  // Save last arg if result is needed.
-          true);  // Super invocation.
+          true);             // Super invocation.
     } else {
       // Throw a NoSuchMethodError.
-      ArgumentListNode* arguments = new(Z) ArgumentListNode(token_pos);
+      ArgumentListNode* arguments = new (Z) ArgumentListNode(token_pos);
       arguments->Add(node->value());
       call = BuildThrowNoSuchMethodError(
-          token_pos,
-          node->cls(),
-          setter_name,
+          token_pos, node->cls(), setter_name,
           arguments,  // Argument is the value passed to the setter.
-          InvocationMirror::EncodeType(
-            node->cls().IsTopLevel() ?
-                InvocationMirror::kTopLevel :
-                InvocationMirror::kStatic,
-            InvocationMirror::kSetter));
+          InvocationMirror::EncodeType(node->cls().IsTopLevel()
+                                           ? InvocationMirror::kTopLevel
+                                           : InvocationMirror::kStatic,
+                                       InvocationMirror::kSetter));
     }
   } else {
     if (is_super_setter) {
@@ -3299,11 +3113,9 @@
     }
     arguments->Add(PushArgument(value));
 
-    call = new(Z) StaticCallInstr(token_pos,
-                                  setter_function,
-                                  Object::null_array(),  // No names.
-                                  arguments,
-                                  owner()->ic_data_array());
+    call = new (Z) StaticCallInstr(token_pos, setter_function,
+                                   Object::null_array(),  // No names.
+                                   arguments, owner()->ic_data_array());
   }
   if (result_is_needed) {
     Do(call);
@@ -3343,11 +3155,11 @@
 }
 
 
-LoadLocalInstr* EffectGraphVisitor::BuildLoadThisVar(
-    LocalScope* scope, TokenPosition token_pos) {
+LoadLocalInstr* EffectGraphVisitor::BuildLoadThisVar(LocalScope* scope,
+                                                     TokenPosition token_pos) {
   LocalVariable* receiver_var = scope->LookupVariable(Symbols::This(),
                                                       true);  // Test only.
-  return new(Z) LoadLocalInstr(*receiver_var, token_pos);
+  return new (Z) LoadLocalInstr(*receiver_var, token_pos);
 }
 
 
@@ -3358,10 +3170,8 @@
     const Type& type,
     intptr_t class_id) {
   Value* receiver = Bind(BuildLoadThisVar(node->scope(), node->token_pos()));
-  LoadFieldInstr* load = new(Z) LoadFieldInstr(receiver,
-                                               offset,
-                                               type,
-                                               node->token_pos());
+  LoadFieldInstr* load =
+      new (Z) LoadFieldInstr(receiver, offset, type, node->token_pos());
   load->set_result_cid(class_id);
   load->set_recognized_kind(kind);
   return load;
@@ -3375,15 +3185,11 @@
   Value* receiver = Bind(BuildLoadThisVar(node->scope(), node->token_pos()));
   LocalVariable* value_var =
       node->scope()->LookupVariable(Symbols::Value(), true);
-  Value* value = Bind(new(Z) LoadLocalInstr(*value_var, node->token_pos()));
-  StoreInstanceFieldInstr* store = new(Z) StoreInstanceFieldInstr(
-      offset,
-      receiver,
-      value,
-      emit_store_barrier,
-      node->token_pos());
+  Value* value = Bind(new (Z) LoadLocalInstr(*value_var, node->token_pos()));
+  StoreInstanceFieldInstr* store = new (Z) StoreInstanceFieldInstr(
+      offset, receiver, value, emit_store_barrier, node->token_pos());
   Do(store);
-  return new(Z) ConstantInstr(Object::ZoneHandle(Z, Object::null()));
+  return new (Z) ConstantInstr(Object::ZoneHandle(Z, Object::null()));
 }
 
 
@@ -3398,15 +3204,11 @@
         LocalVariable* other_var =
             node->scope()->LookupVariable(Symbols::Other(),
                                           true);  // Test only.
-        Value* other = Bind(new(Z) LoadLocalInstr(*other_var, token_pos));
+        Value* other = Bind(new (Z) LoadLocalInstr(*other_var, token_pos));
         // Receiver is not a number because numbers override equality.
         const bool kNoNumberCheck = false;
-        StrictCompareInstr* compare =
-            new(Z) StrictCompareInstr(token_pos,
-                                      Token::kEQ_STRICT,
-                                      receiver,
-                                      other,
-                                      kNoNumberCheck);
+        StrictCompareInstr* compare = new (Z) StrictCompareInstr(
+            token_pos, Token::kEQ_STRICT, receiver, other, kNoNumberCheck);
         return ReturnDefinition(compare);
       }
       case MethodRecognizer::kStringBaseLength:
@@ -3423,102 +3225,90 @@
           return ReturnDefinition(load);
         }
         ASSERT(kind == MethodRecognizer::kStringBaseIsEmpty);
-        Value* zero_val = Bind(new(Z) ConstantInstr(
-            Smi::ZoneHandle(Z, Smi::New(0))));
+        Value* zero_val =
+            Bind(new (Z) ConstantInstr(Smi::ZoneHandle(Z, Smi::New(0))));
         Value* load_val = Bind(load);
-        StrictCompareInstr* compare =
-            new(Z) StrictCompareInstr(token_pos,
-                                      Token::kEQ_STRICT,
-                                      load_val,
-                                      zero_val,
-                                      false);  // No number check.
+        StrictCompareInstr* compare = new (Z)
+            StrictCompareInstr(token_pos, Token::kEQ_STRICT, load_val, zero_val,
+                               false);  // No number check.
         return ReturnDefinition(compare);
       }
       case MethodRecognizer::kGrowableArrayLength:
       case MethodRecognizer::kObjectArrayLength:
       case MethodRecognizer::kImmutableArrayLength:
       case MethodRecognizer::kTypedDataLength: {
-        LoadFieldInstr* load = BuildNativeGetter(
-            node, kind, OffsetForLengthGetter(kind),
-            Type::ZoneHandle(Z, Type::SmiType()), kSmiCid);
+        LoadFieldInstr* load =
+            BuildNativeGetter(node, kind, OffsetForLengthGetter(kind),
+                              Type::ZoneHandle(Z, Type::SmiType()), kSmiCid);
         load->set_is_immutable(kind != MethodRecognizer::kGrowableArrayLength);
         return ReturnDefinition(load);
       }
       case MethodRecognizer::kClassIDgetID: {
         LocalVariable* value_var =
             node->scope()->LookupVariable(Symbols::Value(), true);
-        Value* value = Bind(new(Z) LoadLocalInstr(*value_var, token_pos));
-        LoadClassIdInstr* load = new(Z) LoadClassIdInstr(value);
+        Value* value = Bind(new (Z) LoadLocalInstr(*value_var, token_pos));
+        LoadClassIdInstr* load = new (Z) LoadClassIdInstr(value);
         return ReturnDefinition(load);
       }
       case MethodRecognizer::kGrowableArrayCapacity: {
         Value* receiver = Bind(BuildLoadThisVar(node->scope(), token_pos));
-        LoadFieldInstr* data_load = new(Z) LoadFieldInstr(
-            receiver,
-            Array::data_offset(),
-            Object::dynamic_type(),
-            node->token_pos());
+        LoadFieldInstr* data_load =
+            new (Z) LoadFieldInstr(receiver, Array::data_offset(),
+                                   Object::dynamic_type(), node->token_pos());
         data_load->set_result_cid(kArrayCid);
         Value* data = Bind(data_load);
-        LoadFieldInstr* length_load = new(Z) LoadFieldInstr(
-            data,
-            Array::length_offset(),
-            Type::ZoneHandle(Z, Type::SmiType()),
+        LoadFieldInstr* length_load = new (Z) LoadFieldInstr(
+            data, Array::length_offset(), Type::ZoneHandle(Z, Type::SmiType()),
             node->token_pos());
         length_load->set_result_cid(kSmiCid);
         length_load->set_recognized_kind(MethodRecognizer::kObjectArrayLength);
         return ReturnDefinition(length_load);
       }
       case MethodRecognizer::kObjectArrayAllocate: {
-        LocalVariable* type_args_parameter =
-            node->scope()->LookupVariable(Symbols::TypeArgumentsParameter(),
-                                          true);
+        LocalVariable* type_args_parameter = node->scope()->LookupVariable(
+            Symbols::TypeArgumentsParameter(), true);
         Value* element_type =
-            Bind(new(Z) LoadLocalInstr(*type_args_parameter, token_pos));
+            Bind(new (Z) LoadLocalInstr(*type_args_parameter, token_pos));
         LocalVariable* length_parameter =
             node->scope()->LookupVariable(Symbols::Length(), true);
         Value* length =
-            Bind(new(Z) LoadLocalInstr(*length_parameter, token_pos));
+            Bind(new (Z) LoadLocalInstr(*length_parameter, token_pos));
         CreateArrayInstr* create_array =
             new CreateArrayInstr(token_pos, element_type, length);
         return ReturnDefinition(create_array);
       }
       case MethodRecognizer::kBigint_getDigits: {
         return ReturnDefinition(BuildNativeGetter(
-            node, kind, Bigint::digits_offset(),
-            Object::dynamic_type(),
+            node, kind, Bigint::digits_offset(), Object::dynamic_type(),
             kTypedDataUint32ArrayCid));
       }
       case MethodRecognizer::kBigint_getUsed: {
-        return ReturnDefinition(BuildNativeGetter(
-            node, kind, Bigint::used_offset(),
-            Type::ZoneHandle(Z, Type::SmiType()), kSmiCid));
+        return ReturnDefinition(
+            BuildNativeGetter(node, kind, Bigint::used_offset(),
+                              Type::ZoneHandle(Z, Type::SmiType()), kSmiCid));
       }
       case MethodRecognizer::kLinkedHashMap_getIndex: {
-        return ReturnDefinition(BuildNativeGetter(
-            node, kind, LinkedHashMap::index_offset(),
-            Object::dynamic_type(),
-            kDynamicCid));
+        return ReturnDefinition(
+            BuildNativeGetter(node, kind, LinkedHashMap::index_offset(),
+                              Object::dynamic_type(), kDynamicCid));
       }
       case MethodRecognizer::kLinkedHashMap_setIndex: {
         return ReturnDefinition(DoNativeSetterStoreValue(
             node, LinkedHashMap::index_offset(), kEmitStoreBarrier));
       }
       case MethodRecognizer::kLinkedHashMap_getData: {
-        return ReturnDefinition(BuildNativeGetter(
-            node, kind, LinkedHashMap::data_offset(),
-            Object::dynamic_type(),
-            kArrayCid));
+        return ReturnDefinition(
+            BuildNativeGetter(node, kind, LinkedHashMap::data_offset(),
+                              Object::dynamic_type(), kArrayCid));
       }
       case MethodRecognizer::kLinkedHashMap_setData: {
         return ReturnDefinition(DoNativeSetterStoreValue(
             node, LinkedHashMap::data_offset(), kEmitStoreBarrier));
       }
       case MethodRecognizer::kLinkedHashMap_getHashMask: {
-        return ReturnDefinition(BuildNativeGetter(
-            node, kind, LinkedHashMap::hash_mask_offset(),
-            Type::ZoneHandle(Z, Type::SmiType()),
-            kSmiCid));
+        return ReturnDefinition(
+            BuildNativeGetter(node, kind, LinkedHashMap::hash_mask_offset(),
+                              Type::ZoneHandle(Z, Type::SmiType()), kSmiCid));
       }
       case MethodRecognizer::kLinkedHashMap_setHashMask: {
         // Smi field; no barrier needed.
@@ -3526,10 +3316,9 @@
             node, LinkedHashMap::hash_mask_offset(), kNoStoreBarrier));
       }
       case MethodRecognizer::kLinkedHashMap_getUsedData: {
-        return ReturnDefinition(BuildNativeGetter(
-            node, kind, LinkedHashMap::used_data_offset(),
-            Type::ZoneHandle(Z, Type::SmiType()),
-            kSmiCid));
+        return ReturnDefinition(
+            BuildNativeGetter(node, kind, LinkedHashMap::used_data_offset(),
+                              Type::ZoneHandle(Z, Type::SmiType()), kSmiCid));
       }
       case MethodRecognizer::kLinkedHashMap_setUsedData: {
         // Smi field; no barrier needed.
@@ -3537,10 +3326,9 @@
             node, LinkedHashMap::used_data_offset(), kNoStoreBarrier));
       }
       case MethodRecognizer::kLinkedHashMap_getDeletedKeys: {
-        return ReturnDefinition(BuildNativeGetter(
-            node, kind, LinkedHashMap::deleted_keys_offset(),
-            Type::ZoneHandle(Z, Type::SmiType()),
-            kSmiCid));
+        return ReturnDefinition(
+            BuildNativeGetter(node, kind, LinkedHashMap::deleted_keys_offset(),
+                              Type::ZoneHandle(Z, Type::SmiType()), kSmiCid));
       }
       case MethodRecognizer::kLinkedHashMap_setDeletedKeys: {
         // Smi field; no barrier needed.
@@ -3548,16 +3336,16 @@
             node, LinkedHashMap::deleted_keys_offset(), kNoStoreBarrier));
       }
       case MethodRecognizer::kBigint_getNeg: {
-        return ReturnDefinition(BuildNativeGetter(
-            node, kind, Bigint::neg_offset(),
-            Type::ZoneHandle(Z, Type::BoolType()), kBoolCid));
+        return ReturnDefinition(
+            BuildNativeGetter(node, kind, Bigint::neg_offset(),
+                              Type::ZoneHandle(Z, Type::BoolType()), kBoolCid));
       }
       default:
         break;
     }
   }
   InlineBailout("EffectGraphVisitor::VisitNativeBodyNode");
-  NativeCallInstr* native_call = new(Z) NativeCallInstr(node);
+  NativeCallInstr* native_call = new (Z) NativeCallInstr(node);
   ReturnDefinition(native_call);
 }
 
@@ -3596,9 +3384,8 @@
          (rhs->IsLoadLocalNode() &&
           !rhs->AsLoadLocalNode()->local().IsInternal()) ||
          rhs->IsClosureNode()) &&
-        !node->local().IsInternal() &&
-        node->token_pos().IsDebugPause()) {
-      AddInstruction(new(Z) DebugStepCheckInstr(
+        !node->local().IsInternal() && node->token_pos().IsDebugPause()) {
+      AddInstruction(new (Z) DebugStepCheckInstr(
           node->token_pos(), RawPcDescriptors::kRuntimeCall));
     }
   }
@@ -3608,14 +3395,12 @@
   Append(for_value);
   Value* store_value = for_value.value();
   if (Isolate::Current()->type_checks()) {
-    store_value = BuildAssignableValue(node->value()->token_pos(),
-                                       store_value,
-                                       node->local().type(),
-                                       node->local().name());
+    store_value =
+        BuildAssignableValue(node->value()->token_pos(), store_value,
+                             node->local().type(), node->local().name());
   }
-  Definition* store = BuildStoreLocal(node->local(),
-                                      store_value,
-                                      node->token_pos());
+  Definition* store =
+      BuildStoreLocal(node->local(), store_value, node->token_pos());
   ReturnDefinition(store);
 }
 
@@ -3625,11 +3410,9 @@
   ValueGraphVisitor for_instance(owner());
   node->instance()->Visit(&for_instance);
   Append(for_instance);
-  LoadFieldInstr* load = new(Z) LoadFieldInstr(
-      for_instance.value(),
-      &node->field(),
-      AbstractType::ZoneHandle(Z, node->field().type()),
-      node->token_pos());
+  LoadFieldInstr* load = new (Z) LoadFieldInstr(
+      for_instance.value(), &node->field(),
+      AbstractType::ZoneHandle(Z, node->field().type()), node->token_pos());
   if (node->field().guarded_cid() != kIllegalCid) {
     if (!node->field().is_nullable() ||
         (node->field().guarded_cid() == kNullCid)) {
@@ -3655,33 +3438,24 @@
     const AbstractType& type =
         AbstractType::ZoneHandle(Z, node->field().type());
     const String& dst_name = String::ZoneHandle(Z, node->field().name());
-    store_value = BuildAssignableValue(node->value()->token_pos(),
-                                       store_value,
-                                       type,
-                                       dst_name);
+    store_value = BuildAssignableValue(node->value()->token_pos(), store_value,
+                                       type, dst_name);
   }
 
   if (FLAG_use_field_guards) {
     store_value = Bind(BuildStoreExprTemp(store_value, token_pos));
-    GuardFieldClassInstr* guard_field_class =
-        new(Z) GuardFieldClassInstr(store_value,
-                                    node->field(),
-                                    thread()->GetNextDeoptId());
+    GuardFieldClassInstr* guard_field_class = new (Z) GuardFieldClassInstr(
+        store_value, node->field(), thread()->GetNextDeoptId());
     AddInstruction(guard_field_class);
     store_value = Bind(BuildLoadExprTemp(token_pos));
-    GuardFieldLengthInstr* guard_field_length =
-        new(Z) GuardFieldLengthInstr(store_value,
-                                     node->field(),
-                                     thread()->GetNextDeoptId());
+    GuardFieldLengthInstr* guard_field_length = new (Z) GuardFieldLengthInstr(
+        store_value, node->field(), thread()->GetNextDeoptId());
     AddInstruction(guard_field_length);
     store_value = Bind(BuildLoadExprTemp(token_pos));
   }
-  StoreInstanceFieldInstr* store =
-      new(Z) StoreInstanceFieldInstr(node->field(),
-                                     for_instance.value(),
-                                     store_value,
-                                     kEmitStoreBarrier,
-                                     token_pos);
+  StoreInstanceFieldInstr* store = new (Z)
+      StoreInstanceFieldInstr(node->field(), for_instance.value(), store_value,
+                              kEmitStoreBarrier, token_pos);
   // Maybe initializing unboxed store.
   store->set_is_initialization(node->is_initializer());
   ReturnDefinition(store);
@@ -3692,16 +3466,15 @@
   const TokenPosition token_pos = node->token_pos();
   if (node->field().is_const()) {
     ASSERT(node->field().StaticValue() != Object::sentinel().raw());
-    ASSERT(node->field().StaticValue() !=
-           Object::transition_sentinel().raw());
-    Definition* result = new(Z) ConstantInstr(
+    ASSERT(node->field().StaticValue() != Object::transition_sentinel().raw());
+    Definition* result = new (Z) ConstantInstr(
         Instance::ZoneHandle(Z, node->field().StaticValue()), token_pos);
     return ReturnDefinition(result);
   }
-  Value* field_value = Bind(new(Z) ConstantInstr(
+  Value* field_value = Bind(new (Z) ConstantInstr(
       Field::ZoneHandle(Z, node->field().Original()), token_pos));
   LoadStaticFieldInstr* load =
-      new(Z) LoadStaticFieldInstr(field_value, token_pos);
+      new (Z) LoadStaticFieldInstr(field_value, token_pos);
   ReturnDefinition(load);
 }
 
@@ -3718,11 +3491,10 @@
     if (rhs->IsAssignableNode()) {
       rhs = rhs->AsAssignableNode()->expr();
     }
-    if ((rhs->IsLiteralNode() ||
-         rhs->IsLoadLocalNode() ||
+    if ((rhs->IsLiteralNode() || rhs->IsLoadLocalNode() ||
          rhs->IsClosureNode()) &&
-         node->token_pos().IsDebugPause()) {
-      AddInstruction(new(Z) DebugStepCheckInstr(
+        node->token_pos().IsDebugPause()) {
+      AddInstruction(new (Z) DebugStepCheckInstr(
           node->token_pos(), RawPcDescriptors::kRuntimeCall));
     }
   }
@@ -3737,7 +3509,7 @@
     store_value = for_value.value();
   }
   StoreStaticFieldInstr* store =
-      new(Z) StoreStaticFieldInstr(node->field(), store_value, token_pos);
+      new (Z) StoreStaticFieldInstr(node->field(), store_value, token_pos);
 
   if (result_is_needed) {
     Do(store);
@@ -3764,27 +3536,25 @@
   Function* super_function = NULL;
   if (node->IsSuperLoad()) {
     // Resolve the load indexed operator in the super class.
-    super_function = &Function::ZoneHandle(Z, Resolver::ResolveDynamicAnyArgs(Z,
-        node->super_class(), Symbols::IndexToken()));
+    super_function = &Function::ZoneHandle(
+        Z, Resolver::ResolveDynamicAnyArgs(Z, node->super_class(),
+                                           Symbols::IndexToken()));
     if (super_function->IsNull()) {
       // Could not resolve super operator. Generate call noSuchMethod() of the
       // super class instead.
-      ArgumentListNode* arguments = new(Z) ArgumentListNode(node->token_pos());
+      ArgumentListNode* arguments = new (Z) ArgumentListNode(node->token_pos());
       arguments->Add(node->array());
       arguments->Add(node->index_expr());
-      StaticCallInstr* call =
-          BuildStaticNoSuchMethodCall(node->super_class(),
-                                      node->array(),
-                                      Symbols::IndexToken(),
-                                      arguments,
-                                      false,  // Don't save last arg.
-                                      true);  // Super invocation.
+      StaticCallInstr* call = BuildStaticNoSuchMethodCall(
+          node->super_class(), node->array(), Symbols::IndexToken(), arguments,
+          false,  // Don't save last arg.
+          true);  // Super invocation.
       ReturnDefinition(call);
       return;
     }
   }
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(2);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(2);
   ValueGraphVisitor for_array(owner());
   node->array()->Visit(&for_array);
   Append(for_array);
@@ -3797,51 +3567,42 @@
 
   if (super_function != NULL) {
     // Generate static call to super operator.
-    StaticCallInstr* load = new(Z) StaticCallInstr(node->token_pos(),
-                                                   *super_function,
-                                                   Object::null_array(),
-                                                   arguments,
-                                                   owner()->ic_data_array());
+    StaticCallInstr* load = new (Z) StaticCallInstr(
+        node->token_pos(), *super_function, Object::null_array(), arguments,
+        owner()->ic_data_array());
     ReturnDefinition(load);
   } else {
     // Generate dynamic call to index operator.
     const intptr_t checked_argument_count = 1;
-    InstanceCallInstr* load = new(Z) InstanceCallInstr(
-        node->token_pos(),
-        Symbols::IndexToken(),
-        Token::kINDEX,
-        arguments,
-        Object::null_array(),
-        checked_argument_count,
-        owner()->ic_data_array());
+    InstanceCallInstr* load = new (Z) InstanceCallInstr(
+        node->token_pos(), Symbols::IndexToken(), Token::kINDEX, arguments,
+        Object::null_array(), checked_argument_count, owner()->ic_data_array());
     ReturnDefinition(load);
   }
 }
 
 
-Definition* EffectGraphVisitor::BuildStoreIndexedValues(
-    StoreIndexedNode* node,
-    bool result_is_needed) {
+Definition* EffectGraphVisitor::BuildStoreIndexedValues(StoreIndexedNode* node,
+                                                        bool result_is_needed) {
   Function* super_function = NULL;
   const TokenPosition token_pos = node->token_pos();
   if (node->IsSuperStore()) {
     // Resolve the store indexed operator in the super class.
-    super_function = &Function::ZoneHandle(Z, Resolver::ResolveDynamicAnyArgs(Z,
-        node->super_class(), Symbols::AssignIndexToken()));
+    super_function = &Function::ZoneHandle(
+        Z, Resolver::ResolveDynamicAnyArgs(Z, node->super_class(),
+                                           Symbols::AssignIndexToken()));
     if (super_function->IsNull()) {
       // Could not resolve super operator. Generate call noSuchMethod() of the
       // super class instead.
-      ArgumentListNode* arguments = new(Z) ArgumentListNode(token_pos);
+      ArgumentListNode* arguments = new (Z) ArgumentListNode(token_pos);
       arguments->Add(node->array());
       arguments->Add(node->index_expr());
       arguments->Add(node->value());
       StaticCallInstr* call = BuildStaticNoSuchMethodCall(
-          node->super_class(),
-          node->array(),
-          Symbols::AssignIndexToken(),
+          node->super_class(), node->array(), Symbols::AssignIndexToken(),
           arguments,
           result_is_needed,  // Save last arg if result is needed.
-          true);  // Super invocation.
+          true);             // Super invocation.
       if (result_is_needed) {
         Do(call);
         // BuildStaticNoSuchMethodCall stores the value in expression_temp.
@@ -3853,7 +3614,7 @@
   }
 
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(3);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(3);
   ValueGraphVisitor for_array(owner());
   node->array()->Visit(&for_array);
   Append(for_array);
@@ -3878,12 +3639,9 @@
   if (super_function != NULL) {
     // Generate static call to super operator []=.
 
-    StaticCallInstr* store =
-        new(Z) StaticCallInstr(token_pos,
-                               *super_function,
-                               Object::null_array(),
-                               arguments,
-                               owner()->ic_data_array());
+    StaticCallInstr* store = new (Z)
+        StaticCallInstr(token_pos, *super_function, Object::null_array(),
+                        arguments, owner()->ic_data_array());
     if (result_is_needed) {
       Do(store);
       return BuildLoadExprTemp(token_pos);
@@ -3893,14 +3651,9 @@
   } else {
     // Generate dynamic call to operator []=.
     const intptr_t checked_argument_count = 2;  // Do not check for value type.
-    InstanceCallInstr* store =
-        new(Z) InstanceCallInstr(token_pos,
-                                 Symbols::AssignIndexToken(),
-                                 Token::kASSIGN_INDEX,
-                                 arguments,
-                                 Object::null_array(),
-                                 checked_argument_count,
-                                 owner()->ic_data_array());
+    InstanceCallInstr* store = new (Z) InstanceCallInstr(
+        token_pos, Symbols::AssignIndexToken(), Token::kASSIGN_INDEX, arguments,
+        Object::null_array(), checked_argument_count, owner()->ic_data_array());
     if (result_is_needed) {
       Do(store);
       return BuildLoadExprTemp(token_pos);
@@ -3922,8 +3675,8 @@
 
 
 bool EffectGraphVisitor::HasContextScope() const {
-  const ContextScope& context_scope = ContextScope::Handle(
-      owner()->function().context_scope());
+  const ContextScope& context_scope =
+      ContextScope::Handle(owner()->function().context_scope());
   return !context_scope.IsNull() && (context_scope.num_variables() > 0);
 }
 
@@ -3934,12 +3687,10 @@
   if (n > 0) {
     Value* context = Bind(BuildCurrentContext(token_pos));
     while (n-- > 0) {
-      context = Bind(
-          new(Z) LoadFieldInstr(context,
-                                Context::parent_offset(),
-                                // Not an instance, no type.
-                                Type::ZoneHandle(Z, Type::null()),
-                                token_pos));
+      context = Bind(new (Z) LoadFieldInstr(context, Context::parent_offset(),
+                                            // Not an instance, no type.
+                                            Type::ZoneHandle(Z, Type::null()),
+                                            token_pos));
     }
     Do(BuildStoreContext(context, token_pos));
   }
@@ -3991,26 +3742,23 @@
     // The local scope declares variables that are captured.
     // Allocate and chain a new context (Except don't chain when at the function
     // entry if the function does not capture any variables from outer scopes).
-    Value* allocated_context =
-        Bind(new(Z) AllocateContextInstr(node->token_pos(),
-                                         num_context_variables));
-    { LocalVariable* tmp_var = EnterTempLocalScope(allocated_context);
+    Value* allocated_context = Bind(
+        new (Z) AllocateContextInstr(node->token_pos(), num_context_variables));
+    {
+      LocalVariable* tmp_var = EnterTempLocalScope(allocated_context);
       if (!is_top_level_sequence || HasContextScope()) {
         ASSERT(is_top_level_sequence ||
                (nested_block.ContextLevel() ==
                 nested_block.outer()->ContextLevel() + 1));
-        Value* tmp_val = Bind(
-            new(Z) LoadLocalInstr(*tmp_var, node->token_pos()));
+        Value* tmp_val =
+            Bind(new (Z) LoadLocalInstr(*tmp_var, node->token_pos()));
         Value* parent_context = Bind(BuildCurrentContext(node->token_pos()));
-        Do(new(Z) StoreInstanceFieldInstr(Context::parent_offset(),
-                                          tmp_val,
-                                          parent_context,
-                                          kEmitStoreBarrier,
-                                          node->token_pos()));
+        Do(new (Z) StoreInstanceFieldInstr(Context::parent_offset(), tmp_val,
+                                           parent_context, kEmitStoreBarrier,
+                                           node->token_pos()));
       }
-      Do(BuildStoreContext(
-          Bind(ExitTempLocalScope(allocated_context)),
-          node->token_pos()));
+      Do(BuildStoreContext(Bind(ExitTempLocalScope(allocated_context)),
+                           node->token_pos()));
     }
 
     // If this node_sequence is the body of the function being compiled, copy
@@ -4018,19 +3766,20 @@
     if (is_top_level_sequence) {
       ASSERT(scope->context_level() == 1);
       const int num_params = function.NumParameters();
-      int param_frame_index = (num_params == function.num_fixed_parameters()) ?
-          (kParamEndSlotFromFp + num_params) : kFirstLocalSlotFromFp;
+      int param_frame_index = (num_params == function.num_fixed_parameters())
+                                  ? (kParamEndSlotFromFp + num_params)
+                                  : kFirstLocalSlotFromFp;
       for (int pos = 0; pos < num_params; param_frame_index--, pos++) {
         const LocalVariable& parameter = *scope->VariableAt(pos);
         ASSERT(parameter.owner() == scope);
         if (parameter.is_captured()) {
           // Create a temporary local describing the original position.
           const String& temp_name = Symbols::TempParam();
-          LocalVariable* temp_local = new(Z) LocalVariable(
-              TokenPosition::kNoSource,  // Token index.
-              TokenPosition::kNoSource,  // Token index.
-              temp_name,
-              Object::dynamic_type());  // Type.
+          LocalVariable* temp_local =
+              new (Z) LocalVariable(TokenPosition::kNoSource,  // Token index.
+                                    TokenPosition::kNoSource,  // Token index.
+                                    temp_name,
+                                    Object::dynamic_type());  // Type.
           temp_local->set_index(param_frame_index);
 
           // Mark this local as captured parameter so that the optimizer
@@ -4045,18 +3794,16 @@
           // Write NULL to the source location to detect buggy accesses and
           // allow GC of passed value if it gets overwritten by a new value in
           // the function.
-          Value* null_constant = Bind(new(Z) ConstantInstr(
-              Object::ZoneHandle(Z, Object::null())));
-          Do(BuildStoreLocal(*temp_local,
-                             null_constant,
+          Value* null_constant = Bind(
+              new (Z) ConstantInstr(Object::ZoneHandle(Z, Object::null())));
+          Do(BuildStoreLocal(*temp_local, null_constant,
                              ST(node->token_pos())));
         }
       }
     }
   }
 
-  if (FLAG_support_debugger &&
-      is_top_level_sequence &&
+  if (FLAG_support_debugger && is_top_level_sequence &&
       function.is_debuggable()) {
     // Place a debug check at method entry to ensure breaking on a method always
     // happens, even if there are no assignments/calls/runtimecalls in the first
@@ -4074,8 +3821,8 @@
       check_pos = node->token_pos();
       ASSERT(check_pos.IsDebugPause());
     }
-    AddInstruction(new(Z) DebugStepCheckInstr(check_pos,
-                                              RawPcDescriptors::kRuntimeCall));
+    AddInstruction(
+        new (Z) DebugStepCheckInstr(check_pos, RawPcDescriptors::kRuntimeCall));
   }
 
   // This check may be deleted if the generated code is leaf.
@@ -4086,7 +3833,7 @@
     if (!function.IsImplicitGetterFunction() &&
         !function.IsImplicitSetterFunction()) {
       CheckStackOverflowInstr* check =
-          new(Z) CheckStackOverflowInstr(node->token_pos(), 0);
+          new (Z) CheckStackOverflowInstr(node->token_pos(), 0);
       // If we are inlining don't actually attach the stack check. We must still
       // create the stack check in order to allocate a deopt id.
       if (!owner()->IsInlining()) {
@@ -4098,8 +3845,7 @@
   if (Isolate::Current()->type_checks() && is_top_level_sequence) {
     const int num_params = function.NumParameters();
     int pos = 0;
-    if (function.IsFactory() ||
-        function.IsDynamicFunction() ||
+    if (function.IsFactory() || function.IsDynamicFunction() ||
         function.IsGenerativeConstructor()) {
       // Skip type checking of type arguments for factory functions.
       // Skip type checking of receiver for instance functions and constructors.
@@ -4108,16 +3854,12 @@
     while (pos < num_params) {
       const LocalVariable& parameter = *scope->VariableAt(pos);
       ASSERT(parameter.owner() == scope);
-      if (!CanSkipTypeCheck(parameter.token_pos(),
-                            NULL,
-                            parameter.type(),
+      if (!CanSkipTypeCheck(parameter.token_pos(), NULL, parameter.type(),
                             parameter.name())) {
         Value* parameter_value =
             Bind(BuildLoadLocal(parameter, parameter.token_pos()));
-        Do(BuildAssertAssignable(parameter.token_pos(),
-                                 parameter_value,
-                                 parameter.type(),
-                                 parameter.name()));
+        Do(BuildAssertAssignable(parameter.token_pos(), parameter_value,
+                                 parameter.type(), parameter.name()));
       }
       pos++;
     }
@@ -4129,11 +3871,10 @@
   // The preamble is generated after visiting the body.
   GotoInstr* preamble_start = NULL;
   if (is_top_level_sequence &&
-      (function.IsAsyncClosure() ||
-          function.IsSyncGenClosure() ||
-          function.IsAsyncGenClosure())) {
-    JoinEntryInstr* preamble_end = new(Z) JoinEntryInstr(
-        owner()->AllocateBlockId(), owner()->try_index());
+      (function.IsAsyncClosure() || function.IsSyncGenClosure() ||
+       function.IsAsyncGenClosure())) {
+    JoinEntryInstr* preamble_end = new (Z)
+        JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
     ASSERT(exit() != NULL);
     exit()->Goto(preamble_end);
     ASSERT(exit()->next()->IsGoto());
@@ -4157,14 +3898,13 @@
   // After generating the CFG for the body we can create the preamble
   // because we know exactly how many continuation states we need.
   if (is_top_level_sequence &&
-      (function.IsAsyncClosure() ||
-          function.IsSyncGenClosure() ||
-          function.IsAsyncGenClosure())) {
+      (function.IsAsyncClosure() || function.IsSyncGenClosure() ||
+       function.IsAsyncGenClosure())) {
     ASSERT(preamble_start != NULL);
     // We are at the top level. Fetch the corresponding scope.
     LocalScope* top_scope = node->scope();
-    LocalVariable* jump_var = top_scope->LookupVariable(
-        Symbols::AwaitJumpVar(), false);
+    LocalVariable* jump_var =
+        top_scope->LookupVariable(Symbols::AwaitJumpVar(), false);
     ASSERT(jump_var != NULL && jump_var->is_captured());
     Instruction* saved_entry = entry_;
     Instruction* saved_exit = exit_;
@@ -4172,27 +3912,24 @@
     exit_ = NULL;
 
     LoadLocalNode* load_jump_count =
-        new(Z) LoadLocalNode(node->token_pos(), jump_var);
+        new (Z) LoadLocalNode(node->token_pos(), jump_var);
     ComparisonNode* check_jump_count;
     const intptr_t num_await_states = owner()->await_joins()->length();
 
-    LocalVariable* old_context = top_scope->LookupVariable(
-        Symbols::AwaitContextVar(), false);
+    LocalVariable* old_context =
+        top_scope->LookupVariable(Symbols::AwaitContextVar(), false);
     for (intptr_t i = 0; i < num_await_states; i++) {
-      check_jump_count = new(Z) ComparisonNode(
-          ST(node->token_pos()),
-          Token::kEQ,
-          load_jump_count,
-          new(Z) LiteralNode(
-              ST(node->token_pos()), Smi::ZoneHandle(Z, Smi::New(i))));
+      check_jump_count = new (Z)
+          ComparisonNode(ST(node->token_pos()), Token::kEQ, load_jump_count,
+                         new (Z) LiteralNode(ST(node->token_pos()),
+                                             Smi::ZoneHandle(Z, Smi::New(i))));
       TestGraphVisitor for_test(owner(), ST(node->token_pos()));
       check_jump_count->Visit(&for_test);
       EffectGraphVisitor for_true(owner());
       EffectGraphVisitor for_false(owner());
 
       // Build async jump or sync yield jump.
-      ASSERT(function.IsAsyncClosure() ||
-             function.IsAsyncGenClosure() ||
+      ASSERT(function.IsAsyncClosure() || function.IsAsyncGenClosure() ||
              function.IsSyncGenClosure());
 
       // Restore the saved continuation context, i.e. the context that was
@@ -4221,8 +3958,7 @@
     exit_ = saved_exit;
   }
 
-  if (is_open() &&
-      (num_context_variables > 0) &&
+  if (is_open() && (num_context_variables > 0) &&
       (!is_top_level_sequence || HasContextScope())) {
     UnchainContexts(1);
   }
@@ -4279,15 +4015,14 @@
   node->try_block()->Visit(&for_try);
 
   if (for_try.is_open()) {
-    JoinEntryInstr* after_try =
-        new(Z) JoinEntryInstr(owner()->AllocateBlockId(),
-                              original_handler_index);
+    JoinEntryInstr* after_try = new (Z)
+        JoinEntryInstr(owner()->AllocateBlockId(), original_handler_index);
     for_try.Goto(after_try);
     for_try.exit_ = after_try;
   }
 
   JoinEntryInstr* try_entry =
-      new(Z) JoinEntryInstr(owner()->AllocateBlockId(), try_handler_index);
+      new (Z) JoinEntryInstr(owner()->AllocateBlockId(), try_handler_index);
 
   Goto(try_entry);
   AppendFragment(try_entry, for_try);
@@ -4299,8 +4034,8 @@
   // If there is a finally block, it is the handler for code in the catch
   // block.
   const intptr_t catch_handler_index = (finally_block == NULL)
-      ? original_handler_index
-      : catch_block->catch_handler_index();
+                                           ? original_handler_index
+                                           : catch_block->catch_handler_index();
 
   const intptr_t prev_catch_try_index = owner()->catch_try_index();
 
@@ -4316,22 +4051,17 @@
   ASSERT(!catch_block->exception_var().is_captured());
   ASSERT(!catch_block->stacktrace_var().is_captured());
 
-  CatchBlockEntryInstr* catch_entry =
-      new(Z) CatchBlockEntryInstr(owner()->AllocateBlockId(),
-                                  catch_handler_index,
-                                  owner()->graph_entry(),
-                                  catch_block->handler_types(),
-                                  try_handler_index,
-                                  catch_block->exception_var(),
-                                  catch_block->stacktrace_var(),
-                                  catch_block->needs_stacktrace(),
-                                  Thread::Current()->GetNextDeoptId());
+  CatchBlockEntryInstr* catch_entry = new (Z) CatchBlockEntryInstr(
+      owner()->AllocateBlockId(), catch_handler_index, owner()->graph_entry(),
+      catch_block->handler_types(), try_handler_index,
+      catch_block->exception_var(), catch_block->stacktrace_var(),
+      catch_block->needs_stacktrace(), Thread::Current()->GetNextDeoptId());
   owner()->AddCatchEntry(catch_entry);
   AppendFragment(catch_entry, for_catch);
 
   if (for_catch.is_open()) {
-    JoinEntryInstr* join = new(Z) JoinEntryInstr(owner()->AllocateBlockId(),
-                                                 original_handler_index);
+    JoinEntryInstr* join = new (Z)
+        JoinEntryInstr(owner()->AllocateBlockId(), original_handler_index);
     for_catch.Goto(join);
     if (is_open()) Goto(join);
     exit_ = join;
@@ -4356,23 +4086,18 @@
           catch_block->rethrow_stacktrace_var(), finally_block->token_pos()));
       for_finally.PushArgument(stacktrace);
       for_finally.AddInstruction(
-          new(Z) ReThrowInstr(catch_block->token_pos(), catch_handler_index));
+          new (Z) ReThrowInstr(catch_block->token_pos(), catch_handler_index));
       for_finally.CloseFragment();
     }
     ASSERT(!for_finally.is_open());
 
     const Array& types = Array::ZoneHandle(Z, Array::New(1, Heap::kOld));
     types.SetAt(0, Object::dynamic_type());
-    CatchBlockEntryInstr* finally_entry =
-        new(Z) CatchBlockEntryInstr(owner()->AllocateBlockId(),
-                                    original_handler_index,
-                                    owner()->graph_entry(),
-                                    types,
-                                    catch_handler_index,
-                                    catch_block->exception_var(),
-                                    catch_block->stacktrace_var(),
-                                    catch_block->needs_stacktrace(),
-                                    Thread::Current()->GetNextDeoptId());
+    CatchBlockEntryInstr* finally_entry = new (Z) CatchBlockEntryInstr(
+        owner()->AllocateBlockId(), original_handler_index,
+        owner()->graph_entry(), types, catch_handler_index,
+        catch_block->exception_var(), catch_block->stacktrace_var(),
+        catch_block->needs_stacktrace(), Thread::Current()->GetNextDeoptId());
     owner()->AddCatchEntry(finally_entry);
     AppendFragment(finally_entry, for_finally);
   }
@@ -4400,39 +4125,30 @@
   if (save_last_arg) {
     temp = owner()->parsed_function().expression_temp_var();
   }
-  ArgumentListNode* args =
-      Parser::BuildNoSuchMethodArguments(args_pos,
-                                         method_name,
-                                         *method_arguments,
-                                         temp,
-                                         is_super_invocation);
+  ArgumentListNode* args = Parser::BuildNoSuchMethodArguments(
+      args_pos, method_name, *method_arguments, temp, is_super_invocation);
   // Make sure we resolve to a compatible noSuchMethod, otherwise call
   // noSuchMethod of class Object.
   const int kNumArguments = 2;
   ArgumentsDescriptor args_desc(
       Array::ZoneHandle(Z, ArgumentsDescriptor::New(kNumArguments)));
-  Function& no_such_method_func = Function::ZoneHandle(Z,
-      Resolver::ResolveDynamicForReceiverClass(target_class,
-                                               Symbols::NoSuchMethod(),
-                                               args_desc));
+  Function& no_such_method_func = Function::ZoneHandle(
+      Z, Resolver::ResolveDynamicForReceiverClass(
+             target_class, Symbols::NoSuchMethod(), args_desc));
   if (no_such_method_func.IsNull()) {
     const Class& object_class =
         Class::ZoneHandle(Z, isolate()->object_store()->object_class());
-    no_such_method_func =
-        Resolver::ResolveDynamicForReceiverClass(object_class,
-                                                 Symbols::NoSuchMethod(),
-                                                 args_desc);
+    no_such_method_func = Resolver::ResolveDynamicForReceiverClass(
+        object_class, Symbols::NoSuchMethod(), args_desc);
   }
   // We are guaranteed to find noSuchMethod of class Object.
   ASSERT(!no_such_method_func.IsNull());
   ZoneGrowableArray<PushArgumentInstr*>* push_arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(2);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(2);
   BuildPushArguments(*args, push_arguments);
-  return new(Z) StaticCallInstr(args_pos,
-                                no_such_method_func,
-                                Object::null_array(),
-                                push_arguments,
-                                owner()->ic_data_array());
+  return new (Z)
+      StaticCallInstr(args_pos, no_such_method_func, Object::null_array(),
+                      push_arguments, owner()->ic_data_array());
 }
 
 
@@ -4443,43 +4159,41 @@
     ArgumentListNode* function_arguments,
     int invocation_type) {
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>();
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>();
   // Object receiver, actually a class literal of the unresolved method's owner.
   AbstractType& type = Type::ZoneHandle(
       Z,
-      Type::New(function_class,
-                TypeArguments::Handle(Z, TypeArguments::null()),
-                token_pos,
-                Heap::kOld));
-  type ^= ClassFinalizer::FinalizeType(
-      function_class, type, ClassFinalizer::kCanonicalize);
-  Value* receiver_value = Bind(new(Z) ConstantInstr(type));
+      Type::New(function_class, TypeArguments::Handle(Z, TypeArguments::null()),
+                token_pos, Heap::kOld));
+  type ^= ClassFinalizer::FinalizeType(function_class, type,
+                                       ClassFinalizer::kCanonicalize);
+  Value* receiver_value = Bind(new (Z) ConstantInstr(type));
   arguments->Add(PushArgument(receiver_value));
   // String memberName.
   const String& member_name =
       String::ZoneHandle(Z, Symbols::New(T, function_name));
-  Value* member_name_value = Bind(new(Z) ConstantInstr(member_name));
+  Value* member_name_value = Bind(new (Z) ConstantInstr(member_name));
   arguments->Add(PushArgument(member_name_value));
   // Smi invocation_type.
-  Value* invocation_type_value = Bind(new(Z) ConstantInstr(
-      Smi::ZoneHandle(Z, Smi::New(invocation_type))));
+  Value* invocation_type_value = Bind(
+      new (Z) ConstantInstr(Smi::ZoneHandle(Z, Smi::New(invocation_type))));
   arguments->Add(PushArgument(invocation_type_value));
   // List arguments.
   if (function_arguments == NULL) {
-    Value* arguments_value = Bind(
-        new(Z) ConstantInstr(Array::ZoneHandle(Z, Array::null())));
+    Value* arguments_value =
+        Bind(new (Z) ConstantInstr(Array::ZoneHandle(Z, Array::null())));
     arguments->Add(PushArgument(arguments_value));
   } else {
     ValueGraphVisitor array_val(owner());
     ArrayNode* array =
-        new(Z) ArrayNode(token_pos, Type::ZoneHandle(Z, Type::ArrayType()),
-                      function_arguments->nodes());
+        new (Z) ArrayNode(token_pos, Type::ZoneHandle(Z, Type::ArrayType()),
+                          function_arguments->nodes());
     array->Visit(&array_val);
     Append(array_val);
     arguments->Add(PushArgument(array_val.value()));
   }
   // List argumentNames.
-  ConstantInstr* cinstr = new(Z) ConstantInstr(
+  ConstantInstr* cinstr = new (Z) ConstantInstr(
       (function_arguments == NULL) ? Array::ZoneHandle(Z, Array::null())
                                    : function_arguments->names());
   Value* argument_names_value = Bind(cinstr);
@@ -4487,25 +4201,21 @@
 
   // List existingArgumentNames.
   Value* existing_argument_names_value =
-      Bind(new(Z) ConstantInstr(Array::ZoneHandle(Z, Array::null())));
+      Bind(new (Z) ConstantInstr(Array::ZoneHandle(Z, Array::null())));
   arguments->Add(PushArgument(existing_argument_names_value));
   // Resolve and call NoSuchMethodError._throwNew.
   const Library& core_lib = Library::Handle(Z, Library::CoreLibrary());
-  const Class& cls = Class::Handle(
-      Z, core_lib.LookupClass(Symbols::NoSuchMethodError()));
+  const Class& cls =
+      Class::Handle(Z, core_lib.LookupClass(Symbols::NoSuchMethodError()));
   ASSERT(!cls.IsNull());
   const Function& func = Function::ZoneHandle(
-      Z,
-      Resolver::ResolveStatic(cls,
-                              Library::PrivateCoreLibName(Symbols::ThrowNew()),
-                              arguments->length(),
-                              Object::null_array()));
+      Z, Resolver::ResolveStatic(
+             cls, Library::PrivateCoreLibName(Symbols::ThrowNew()),
+             arguments->length(), Object::null_array()));
   ASSERT(!func.IsNull());
-  return new(Z) StaticCallInstr(token_pos,
-                                func,
-                                Object::null_array(),  // No names.
-                                arguments,
-                                owner()->ic_data_array());
+  return new (Z) StaticCallInstr(token_pos, func,
+                                 Object::null_array(),  // No names.
+                                 arguments, owner()->ic_data_array());
 }
 
 
@@ -4514,7 +4224,7 @@
     if (node->exception()->IsLiteralNode() ||
         node->exception()->IsLoadLocalNode() ||
         node->exception()->IsClosureNode()) {
-      AddInstruction(new(Z) DebugStepCheckInstr(
+      AddInstruction(new (Z) DebugStepCheckInstr(
           node->token_pos(), RawPcDescriptors::kRuntimeCall));
     }
   }
@@ -4524,13 +4234,13 @@
   PushArgument(for_exception.value());
   Instruction* instr = NULL;
   if (node->stacktrace() == NULL) {
-    instr = new(Z) ThrowInstr(node->token_pos());
+    instr = new (Z) ThrowInstr(node->token_pos());
   } else {
     ValueGraphVisitor for_stack_trace(owner());
     node->stacktrace()->Visit(&for_stack_trace);
     Append(for_stack_trace);
     PushArgument(for_stack_trace.value());
-    instr = new(Z) ReThrowInstr(node->token_pos(), owner()->catch_try_index());
+    instr = new (Z) ReThrowInstr(node->token_pos(), owner()->catch_try_index());
   }
   AddInstruction(instr);
 }
@@ -4547,8 +4257,8 @@
 // so that the fragment is not closed in the middle of an expression.
 void ValueGraphVisitor::VisitThrowNode(ThrowNode* node) {
   BuildThrowNode(node);
-  ReturnDefinition(new(Z) ConstantInstr(
-      Instance::ZoneHandle(Z, Instance::null())));
+  ReturnDefinition(
+      new (Z) ConstantInstr(Instance::ZoneHandle(Z, Instance::null())));
 }
 
 
@@ -4570,7 +4280,7 @@
   // context variable.
 
   JoinEntryInstr* finally_entry =
-      new(Z) JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
+      new (Z) JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
   EffectGraphVisitor for_finally_block(owner());
   for_finally_block.AdjustContextLevel(node->finally_block()->scope());
   node->finally_block()->Visit(&for_finally_block);
@@ -4580,8 +4290,8 @@
   }
 
   if (for_finally_block.is_open()) {
-    JoinEntryInstr* after_finally =
-        new(Z) JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
+    JoinEntryInstr* after_finally = new (Z)
+        JoinEntryInstr(owner()->AllocateBlockId(), owner()->try_index());
     for_finally_block.Goto(after_finally);
     for_finally_block.exit_ = after_finally;
   }
@@ -4593,13 +4303,12 @@
 
 
 void EffectGraphVisitor::VisitStopNode(StopNode* node) {
-  AddInstruction(new(Z) StopInstr(node->message()));
+  AddInstruction(new (Z) StopInstr(node->message()));
 }
 
 
 FlowGraph* FlowGraphBuilder::BuildGraph() {
-  VMTagScope tagScope(thread(),
-                      VMTag::kCompileFlowGraphBuilderTagId,
+  VMTagScope tagScope(thread(), VMTag::kCompileFlowGraphBuilderTagId,
                       FLAG_profile_vm);
   if (FLAG_support_ast_printer && FLAG_print_ast) {
     // Print the function ast before IL generation.
@@ -4610,11 +4319,10 @@
     AstPrinter ast_printer;
     ast_printer.PrintFunctionScope(parsed_function());
   }
-  TargetEntryInstr* normal_entry =
-      new(Z) TargetEntryInstr(AllocateBlockId(),
-                              CatchClauseNode::kInvalidTryIndex);
+  TargetEntryInstr* normal_entry = new (Z)
+      TargetEntryInstr(AllocateBlockId(), CatchClauseNode::kInvalidTryIndex);
   graph_entry_ =
-      new(Z) GraphEntryInstr(parsed_function(), normal_entry, osr_id_);
+      new (Z) GraphEntryInstr(parsed_function(), normal_entry, osr_id_);
   EffectGraphVisitor for_effect(this);
   parsed_function().node_sequence()->Visit(&for_effect);
   AppendFragment(normal_entry, for_effect);
@@ -4629,16 +4337,16 @@
   }
 
   FlowGraph* graph =
-      new(Z) FlowGraph(parsed_function(), graph_entry_, last_used_block_id_);
+      new (Z) FlowGraph(parsed_function(), graph_entry_, last_used_block_id_);
   return graph;
 }
 
 
 void FlowGraphBuilder::PruneUnreachable() {
   ASSERT(osr_id_ != Compiler::kNoOSRDeoptId);
-  BitVector* block_marks = new(Z) BitVector(Z, last_used_block_id_ + 1);
-  bool found = graph_entry_->PruneUnreachable(graph_entry_, NULL, osr_id_,
-                                              block_marks);
+  BitVector* block_marks = new (Z) BitVector(Z, last_used_block_id_ + 1);
+  bool found =
+      graph_entry_->PruneUnreachable(graph_entry_, NULL, osr_id_, block_marks);
   ASSERT(found);
 }
 
diff --git a/runtime/vm/flow_graph_builder.h b/runtime/vm/flow_graph_builder.h
index 19dc316..8db4aae 100644
--- a/runtime/vm/flow_graph_builder.h
+++ b/runtime/vm/flow_graph_builder.h
@@ -30,10 +30,10 @@
 
 // A class to collect the exits from an inlined function during graph
 // construction so they can be plugged into the caller's flow graph.
-class InlineExitCollector: public ZoneAllocated {
+class InlineExitCollector : public ZoneAllocated {
  public:
   InlineExitCollector(FlowGraph* caller_graph, Definition* call)
-      : caller_graph_(caller_graph), call_(call), exits_(4) { }
+      : caller_graph_(caller_graph), call_(call), exits_(4) {}
 
   void AddExit(ReturnInstr* exit);
 
@@ -70,13 +70,9 @@
     return ReturnAt(i)->previous();
   }
 
-  Value* ValueAt(intptr_t i) const {
-    return ReturnAt(i)->value();
-  }
+  Value* ValueAt(intptr_t i) const { return ReturnAt(i)->value(); }
 
-  ReturnInstr* ReturnAt(intptr_t i) const {
-    return exits_[i].exit_return;
-  }
+  ReturnInstr* ReturnAt(intptr_t i) const { return exits_[i].exit_return; }
 
   static int LowestBlockIdFirst(const Data* a, const Data* b);
   void SortExits();
@@ -140,19 +136,11 @@
 
   void AddCatchEntry(CatchBlockEntryInstr* entry);
 
-  GraphEntryInstr* graph_entry() const {
-    return graph_entry_;
-  }
+  GraphEntryInstr* graph_entry() const { return graph_entry_; }
 
-  intptr_t num_copied_params() const {
-    return num_copied_params_;
-  }
-  intptr_t num_non_copied_params() const {
-    return num_non_copied_params_;
-  }
-  intptr_t num_stack_locals() const {
-    return num_stack_locals_;
-  }
+  intptr_t num_copied_params() const { return num_copied_params_; }
+  intptr_t num_non_copied_params() const { return num_non_copied_params_; }
+  intptr_t num_stack_locals() const { return num_stack_locals_; }
 
   bool IsInlining() const { return (exit_collector_ != NULL); }
   InlineExitCollector* exit_collector() const { return exit_collector_; }
@@ -241,9 +229,7 @@
 class EffectGraphVisitor : public AstNodeVisitor {
  public:
   explicit EffectGraphVisitor(FlowGraphBuilder* owner)
-      : owner_(owner),
-        entry_(NULL),
-        exit_(NULL) { }
+      : owner_(owner), entry_(NULL), exit_(NULL) {}
 
 #define DECLARE_VISIT(BaseName)                                                \
   virtual void Visit##BaseName##Node(BaseName##Node* node);
@@ -309,19 +295,16 @@
                               TokenPosition token_pos);
   Definition* BuildLoadLocal(const LocalVariable& local,
                              TokenPosition token_pos);
-  LoadLocalInstr* BuildLoadThisVar(LocalScope* scope,
-                                   TokenPosition token_pos);
-  LoadFieldInstr* BuildNativeGetter(
-      NativeBodyNode* node,
-      MethodRecognizer::Kind kind,
-      intptr_t offset,
-      const Type& type,
-      intptr_t class_id);
+  LoadLocalInstr* BuildLoadThisVar(LocalScope* scope, TokenPosition token_pos);
+  LoadFieldInstr* BuildNativeGetter(NativeBodyNode* node,
+                                    MethodRecognizer::Kind kind,
+                                    intptr_t offset,
+                                    const Type& type,
+                                    intptr_t class_id);
   // Assumes setter parameter is named 'value'. Returns null constant.
-  ConstantInstr* DoNativeSetterStoreValue(
-      NativeBodyNode* node,
-      intptr_t offset,
-      StoreBarrierType emit_store_barrier);
+  ConstantInstr* DoNativeSetterStoreValue(NativeBodyNode* node,
+                                          intptr_t offset,
+                                          StoreBarrierType emit_store_barrier);
 
   // Helpers for translating parts of the AST.
   void BuildPushArguments(const ArgumentListNode& node,
@@ -330,9 +313,8 @@
   // Creates an instantiated type argument vector used in preparation of an
   // allocation call.
   // May be called only if allocating an object of a parameterized class.
-  Value* BuildInstantiatedTypeArguments(
-      TokenPosition token_pos,
-      const TypeArguments& type_arguments);
+  Value* BuildInstantiatedTypeArguments(TokenPosition token_pos,
+                                        const TypeArguments& type_arguments);
 
   void BuildTypecheckPushArguments(
       TokenPosition token_pos,
@@ -394,8 +376,7 @@
   void BuildConstructorCall(ConstructorCallNode* node,
                             PushArgumentInstr* alloc_value);
 
-  void BuildSaveContext(const LocalVariable& variable,
-                        TokenPosition token_pos);
+  void BuildSaveContext(const LocalVariable& variable, TokenPosition token_pos);
   void BuildRestoreContext(const LocalVariable& variable,
                            TokenPosition token_pos);
 
@@ -452,9 +433,7 @@
   friend class TempLocalScope;  // For ReturnDefinition.
 
   // Helper to drop the result value.
-  virtual void ReturnValue(Value* value) {
-    Do(new DropTempsInstr(0, value));
-  }
+  virtual void ReturnValue(Value* value) { Do(new DropTempsInstr(0, value)); }
 
   // Specify a definition of the final result.  Adds the definition to
   // the graph, but normally overridden in subclasses.
@@ -483,7 +462,7 @@
 class ValueGraphVisitor : public EffectGraphVisitor {
  public:
   explicit ValueGraphVisitor(FlowGraphBuilder* owner)
-      : EffectGraphVisitor(owner), value_(NULL) { }
+      : EffectGraphVisitor(owner), value_(NULL) {}
 
   // Visit functions overridden by this class.
   virtual void VisitAssignableNode(AssignableNode* node);
@@ -540,12 +519,11 @@
 // condition of the test is of type bool.
 class TestGraphVisitor : public ValueGraphVisitor {
  public:
-  TestGraphVisitor(FlowGraphBuilder* owner,
-                   TokenPosition condition_token_pos)
+  TestGraphVisitor(FlowGraphBuilder* owner, TokenPosition condition_token_pos)
       : ValueGraphVisitor(owner),
         true_successor_addresses_(1),
         false_successor_addresses_(1),
-        condition_token_pos_(condition_token_pos) { }
+        condition_token_pos_(condition_token_pos) {}
 
   void IfFalseGoto(JoinEntryInstr* join) const;
   void IfTrueGoto(JoinEntryInstr* join) const;
@@ -570,11 +548,10 @@
   void MergeBranchWithNegate(BooleanNegateInstr* comp);
 
   BlockEntryInstr* CreateSuccessorFor(
-    const GrowableArray<TargetEntryInstr**>& branches) const;
+      const GrowableArray<TargetEntryInstr**>& branches) const;
 
-  void ConnectBranchesTo(
-    const GrowableArray<TargetEntryInstr**>& branches,
-    JoinEntryInstr* join) const;
+  void ConnectBranchesTo(const GrowableArray<TargetEntryInstr**>& branches,
+                         JoinEntryInstr* join) const;
 
   // Output parameters.
   GrowableArray<TargetEntryInstr**> true_successor_addresses_;
diff --git a/runtime/vm/flow_graph_builder_test.cc b/runtime/vm/flow_graph_builder_test.cc
index 10f93cb..9de7a0c 100644
--- a/runtime/vm/flow_graph_builder_test.cc
+++ b/runtime/vm/flow_graph_builder_test.cc
@@ -24,8 +24,7 @@
 
 class SourcePositionTest : public ValueObject {
  public:
-  SourcePositionTest(Thread* thread,
-                     const char* script)
+  SourcePositionTest(Thread* thread, const char* script)
       : thread_(thread),
         isolate_(thread->isolate()),
         script_(script),
@@ -40,8 +39,8 @@
     EXPECT_VALID(lib);
     root_lib_ ^= Api::UnwrapHandle(lib);
     EXPECT(!root_lib_.IsNull());
-    root_script_ ^= root_lib_.LookupScript(
-        String::Handle(String::New(USER_TEST_URI)));
+    root_script_ ^=
+        root_lib_.LookupScript(String::Handle(String::New(USER_TEST_URI)));
     EXPECT(!root_script_.IsNull());
   }
 
@@ -57,15 +56,12 @@
         Function::Handle(GetFunction(root_lib_, function_name));
     ZoneGrowableArray<const ICData*>* ic_data_array =
         new ZoneGrowableArray<const ICData*>();
-    ParsedFunction* parsed_function = new ParsedFunction(
-        thread_, Function::ZoneHandle(function.raw()));
+    ParsedFunction* parsed_function =
+        new ParsedFunction(thread_, Function::ZoneHandle(function.raw()));
     Parser::ParseFunction(parsed_function);
     parsed_function->AllocateVariables();
-    FlowGraphBuilder builder(
-        *parsed_function,
-        *ic_data_array,
-        NULL,
-        Compiler::kNoOSRDeoptId);
+    FlowGraphBuilder builder(*parsed_function, *ic_data_array, NULL,
+                             Compiler::kNoOSRDeoptId);
     graph_ = builder.BuildGraph();
     EXPECT(graph_ != NULL);
     blocks_ = graph_->CodegenBlockOrder(optimized);
@@ -98,9 +94,7 @@
   }
 
   // Expect to find an instance call at |line| and |column|.
-  void InstanceCallAt(const char* needle,
-                      intptr_t line,
-                      intptr_t column = -1) {
+  void InstanceCallAt(const char* needle, intptr_t line, intptr_t column = -1) {
     ZoneGrowableArray<Instruction*>* instructions =
         FindInstructionsAt(line, column);
     intptr_t count = 0;
@@ -119,9 +113,7 @@
 
   // Expect to find at least one static call at |line| and |column|. The
   // static call will have |needle| in its |ToCString| representation.
-  void StaticCallAt(const char* needle,
-                    intptr_t line,
-                    intptr_t column = -1) {
+  void StaticCallAt(const char* needle, intptr_t line, intptr_t column = -1) {
     ZoneGrowableArray<Instruction*>* instructions =
         FindInstructionsAt(line, column);
     intptr_t count = 0;
@@ -196,20 +188,13 @@
     }
     intptr_t token_line = -1;
     intptr_t token_column = -1;
-    root_script_.GetTokenLocation(token_pos,
-                                  &token_line,
-                                  &token_column,
-                                  NULL);
+    root_script_.GetTokenLocation(token_pos, &token_line, &token_column, NULL);
     if (synthetic) {
-      THR_Print("      *%02d:%02d -- %s\n",
-                static_cast<int>(token_line),
-                static_cast<int>(token_column),
-                instr->ToCString());
+      THR_Print("      *%02d:%02d -- %s\n", static_cast<int>(token_line),
+                static_cast<int>(token_column), instr->ToCString());
     } else {
-      THR_Print("       %02d:%02d -- %s\n",
-                static_cast<int>(token_line),
-                static_cast<int>(token_column),
-                instr->ToCString());
+      THR_Print("       %02d:%02d -- %s\n", static_cast<int>(token_line),
+                static_cast<int>(token_column), instr->ToCString());
     }
   }
 
@@ -222,8 +207,8 @@
     return instructions->At(0);
   }
 
-  ZoneGrowableArray<Instruction*>* FindInstructionsAt(
-      intptr_t line, intptr_t column) {
+  ZoneGrowableArray<Instruction*>* FindInstructionsAt(intptr_t line,
+                                                      intptr_t column) {
     ZoneGrowableArray<Instruction*>* instructions =
         new ZoneGrowableArray<Instruction*>();
     for (intptr_t i = 0; i < blocks_->length(); i++) {
@@ -239,9 +224,7 @@
         }
         intptr_t token_line = -1;
         intptr_t token_column = -1;
-        root_script_.GetTokenLocation(token_pos,
-                                      &token_line,
-                                      &token_column,
+        root_script_.GetTokenLocation(token_pos, &token_line, &token_column,
                                       NULL);
         if (token_line == line) {
           if ((column < 0) || (column == token_column)) {
@@ -269,15 +252,15 @@
   }
 
   RawFunction* GetFunction(const Library& lib, const char* name) {
-    const Function& result = Function::Handle(lib.LookupFunctionAllowPrivate(
-        String::Handle(String::New(name))));
+    const Function& result = Function::Handle(
+        lib.LookupFunctionAllowPrivate(String::Handle(String::New(name))));
     EXPECT(!result.IsNull());
     return result.raw();
   }
 
   RawFunction* GetFunction(const Class& cls, const char* name) {
-    const Function& result = Function::Handle(cls.LookupFunctionAllowPrivate(
-        String::Handle(String::New(name))));
+    const Function& result = Function::Handle(
+        cls.LookupFunctionAllowPrivate(String::Handle(String::New(name))));
     EXPECT(!result.IsNull());
     return result.raw();
   }
@@ -656,22 +639,22 @@
   spt.FuzzyInstructionMatchAt("StoreLocal(:switch_expr", 4, 11);
 
   spt.FuzzyInstructionMatchAt("Constant(#1", 5, 10);
-  spt.FuzzyInstructionMatchAt("LoadLocal(:switch_expr", 5, 5);   // 'c'
-  spt.InstanceCallAt(5, 10, Token::kEQ);                         // '1'
+  spt.FuzzyInstructionMatchAt("LoadLocal(:switch_expr", 5, 5);  // 'c'
+  spt.InstanceCallAt(5, 10, Token::kEQ);                        // '1'
 
-  spt.FuzzyInstructionMatchAt("Constant(#3", 5, 20);             // '3'
+  spt.FuzzyInstructionMatchAt("Constant(#3", 5, 20);  // '3'
   spt.FuzzyInstructionMatchAt("DebugStepCheck", 5, 13);
   spt.FuzzyInstructionMatchAt("Return", 5, 13);
 
   spt.FuzzyInstructionMatchAt("Constant(#2", 6, 10);
-  spt.FuzzyInstructionMatchAt("LoadLocal(:switch_expr", 6, 5);   // 'c'
-  spt.InstanceCallAt(6, 10, Token::kEQ);                         // '2'
+  spt.FuzzyInstructionMatchAt("LoadLocal(:switch_expr", 6, 5);  // 'c'
+  spt.InstanceCallAt(6, 10, Token::kEQ);                        // '2'
 
-  spt.FuzzyInstructionMatchAt("Constant(#4", 6, 20);             // '4'
+  spt.FuzzyInstructionMatchAt("Constant(#4", 6, 20);  // '4'
   spt.FuzzyInstructionMatchAt("DebugStepCheck", 6, 13);
   spt.FuzzyInstructionMatchAt("Return", 6, 13);
 
-  spt.FuzzyInstructionMatchAt("Constant(#5", 7, 21);             // '5'
+  spt.FuzzyInstructionMatchAt("Constant(#5", 7, 21);  // '5'
   spt.FuzzyInstructionMatchAt("DebugStepCheck", 7, 14);
   spt.FuzzyInstructionMatchAt("Return", 7, 14);
 
@@ -700,32 +683,32 @@
   spt.FuzzyInstructionMatchAt("DebugStepCheck", 3, 5);
   spt.FuzzyInstructionMatchAt("CheckStackOverflow", 3, 5);
 
-  spt.FuzzyInstructionMatchAt("LoadLocal(:current_context", 4, 3);     // 't'
+  spt.FuzzyInstructionMatchAt("LoadLocal(:current_context", 4, 3);  // 't'
   spt.FuzzyInstructionMatchAt("StoreLocal(:saved_try_context", 4, 3);
 
-  spt.FuzzyInstructionMatchAt("Constant(#A", 5, 11);                   // 'A'
-  spt.FuzzyInstructionMatchAt("Throw", 5, 5);                          // 't'
+  spt.FuzzyInstructionMatchAt("Constant(#A", 5, 11);  // 'A'
+  spt.FuzzyInstructionMatchAt("Throw", 5, 5);         // 't'
 
-  spt.FuzzyInstructionMatchAt("LoadLocal(:saved_try_context", 6, 5);   // 'c'
-  spt.FuzzyInstructionMatchAt("StoreLocal(:current_context", 6, 5);    // 'c'
-  spt.FuzzyInstructionMatchAt("LoadLocal(:exception_var", 6, 5);       // 'c'
-  spt.FuzzyInstructionMatchAt("StoreLocal(e", 6, 5);                   // 'c'
+  spt.FuzzyInstructionMatchAt("LoadLocal(:saved_try_context", 6, 5);  // 'c'
+  spt.FuzzyInstructionMatchAt("StoreLocal(:current_context", 6, 5);   // 'c'
+  spt.FuzzyInstructionMatchAt("LoadLocal(:exception_var", 6, 5);      // 'c'
+  spt.FuzzyInstructionMatchAt("StoreLocal(e", 6, 5);                  // 'c'
 
-  spt.FuzzyInstructionMatchAt("LoadLocal(e", 7, 11);                   // 'e'
+  spt.FuzzyInstructionMatchAt("LoadLocal(e", 7, 11);  // 'e'
 
-  spt.FuzzyInstructionMatchAt("StaticCall", 7, 5);                     // 'p'
+  spt.FuzzyInstructionMatchAt("StaticCall", 7, 5);  // 'p'
 
-  spt.FuzzyInstructionMatchAt("Constant(#77", 8, 12);                  // '7'
-  spt.FuzzyInstructionMatchAt("StoreLocal(:finally_ret_val", 8, 5);    // 'r'
+  spt.FuzzyInstructionMatchAt("Constant(#77", 8, 12);                // '7'
+  spt.FuzzyInstructionMatchAt("StoreLocal(:finally_ret_val", 8, 5);  // 'r'
 
-  spt.FuzzyInstructionMatchAt("Constant(#99", 10, 12);                 // '9'
-  spt.FuzzyInstructionMatchAt("Return", 10, 5);                        // 'r'
+  spt.FuzzyInstructionMatchAt("Constant(#99", 10, 12);  // '9'
+  spt.FuzzyInstructionMatchAt("Return", 10, 5);         // 'r'
 
   spt.FuzzyInstructionMatchAt("LoadLocal(:saved_try_context", 9, 13);  // '{'
   spt.FuzzyInstructionMatchAt("StoreLocal(:current_context", 9, 13);   // '{'
 
-  spt.FuzzyInstructionMatchAt("Constant(#99", 10, 12);                 // '9'
-  spt.FuzzyInstructionMatchAt("Return", 10, 5);                        // 'r'
+  spt.FuzzyInstructionMatchAt("Constant(#99", 10, 12);  // '9'
+  spt.FuzzyInstructionMatchAt("Return", 10, 5);         // 'r'
 
   spt.EnsureSourcePositions();
 }
@@ -746,14 +729,14 @@
 
   SourcePositionTest spt(thread, kScript);
   spt.BuildGraphFor("main");
-  spt.FuzzyInstructionMatchAt("AllocateObject(A)", 6, 15);       // 'A'
-  spt.FuzzyInstructionMatchAt("StaticCall", 6, 15);              // 'A'
-  spt.FuzzyInstructionMatchAt("StoreLocal(z", 6, 9);             // '='
-  spt.InstanceCallAt("set:x", 7, 5);                             // 'x'
-  spt.InstanceCallAt("get:x", 8, 11);                            // 'x'
-  spt.InstanceCallAt("set:y", 8, 5);                             // 'y'
+  spt.FuzzyInstructionMatchAt("AllocateObject(A)", 6, 15);  // 'A'
+  spt.FuzzyInstructionMatchAt("StaticCall", 6, 15);         // 'A'
+  spt.FuzzyInstructionMatchAt("StoreLocal(z", 6, 9);        // '='
+  spt.InstanceCallAt("set:x", 7, 5);                        // 'x'
+  spt.InstanceCallAt("get:x", 8, 11);                       // 'x'
+  spt.InstanceCallAt("set:y", 8, 5);                        // 'y'
 
-  spt.InstanceCallAt("get:y", 9, 12);                            // 'y'
+  spt.InstanceCallAt("get:y", 9, 12);  // 'y'
   spt.FuzzyInstructionMatchAt("DebugStepCheck", 9, 3);
   spt.FuzzyInstructionMatchAt("Return", 9, 3);
 
@@ -808,4 +791,3 @@
 }
 
 }  // namespace dart
-
diff --git a/runtime/vm/flow_graph_compiler.cc b/runtime/vm/flow_graph_compiler.cc
index b983754..dba8c8e 100644
--- a/runtime/vm/flow_graph_compiler.cc
+++ b/runtime/vm/flow_graph_compiler.cc
@@ -30,19 +30,33 @@
 
 namespace dart {
 
-DEFINE_FLAG(bool, enable_simd_inline, true,
-    "Enable inlining of SIMD related method calls.");
-DEFINE_FLAG(bool, inline_smi_string_hashcode, true,
+DEFINE_FLAG(bool,
+            enable_simd_inline,
+            true,
+            "Enable inlining of SIMD related method calls.");
+DEFINE_FLAG(
+    bool,
+    inline_smi_string_hashcode,
+    true,
     "Inline hashcode for Smi and one-byte strings in case of megamorphic call");
-DEFINE_FLAG(int, inline_smi_string_hashcode_ratio, 50,
+DEFINE_FLAG(
+    int,
+    inline_smi_string_hashcode_ratio,
+    50,
     "Minimal hotness (0..100) of one-byte-string before inlining its hashcode");
-DEFINE_FLAG(int, min_optimization_counter_threshold, 5000,
-    "The minimum invocation count for a function.");
-DEFINE_FLAG(int, optimization_counter_scale, 2000,
-    "The scale of invocation count, by size of the function.");
+DEFINE_FLAG(int,
+            min_optimization_counter_threshold,
+            5000,
+            "The minimum invocation count for a function.");
+DEFINE_FLAG(int,
+            optimization_counter_scale,
+            2000,
+            "The scale of invocation count, by size of the function.");
 DEFINE_FLAG(bool, source_lines, false, "Emit source line as assembly comment.");
-DEFINE_FLAG(bool, trace_inlining_intervals, false,
-    "Inlining interval diagnostics");
+DEFINE_FLAG(bool,
+            trace_inlining_intervals,
+            false,
+            "Inlining interval diagnostics");
 
 DECLARE_FLAG(bool, code_comments);
 DECLARE_FLAG(charp, deoptimize_filter);
@@ -79,7 +93,7 @@
     FLAG_inlining_size_threshold = 5;
     FLAG_inline_getters_setters_smaller_than = 5;
     FLAG_inlining_callee_size_threshold = 20;
-    FLAG_inlining_depth_threshold = 2;
+    FLAG_inlining_depth_threshold = 4;
     FLAG_inlining_caller_size_threshold = 1000;
     FLAG_inlining_constant_arguments_max_size_threshold = 100;
     FLAG_inlining_constant_arguments_min_size_threshold = 30;
@@ -164,7 +178,7 @@
 // TODO(srdjan): Add check and code if Smi class is hot.
 bool FlowGraphCompiler::ShouldInlineSmiStringHashCode(const ICData& ic_data) {
   if (!FLAG_inline_smi_string_hashcode ||
-     (ic_data.target_name() != Symbols::hashCode().raw())) {
+      (ic_data.target_name() != Symbols::hashCode().raw())) {
     return false;
   }
   // Precompiled code has no ICData, optimistically inline it.
@@ -192,57 +206,55 @@
     const GrowableArray<const Function*>& inline_id_to_function,
     const GrowableArray<TokenPosition>& inline_id_to_token_pos,
     const GrowableArray<intptr_t>& caller_inline_id)
-      : thread_(Thread::Current()),
-        zone_(Thread::Current()->zone()),
-        assembler_(assembler),
-        parsed_function_(parsed_function),
-        flow_graph_(*flow_graph),
-        block_order_(*flow_graph->CodegenBlockOrder(is_optimizing)),
-        current_block_(NULL),
-        exception_handlers_list_(NULL),
-        pc_descriptors_list_(NULL),
-        stackmap_table_builder_(NULL),
-        code_source_map_builder_(NULL),
-        saved_code_size_(0),
-        block_info_(block_order_.length()),
-        deopt_infos_(),
-        static_calls_target_table_(),
-        is_optimizing_(is_optimizing),
-        may_reoptimize_(false),
-        intrinsic_mode_(false),
-        double_class_(Class::ZoneHandle(
-            isolate()->object_store()->double_class())),
-        mint_class_(Class::ZoneHandle(
-            isolate()->object_store()->mint_class())),
-        float32x4_class_(Class::ZoneHandle(
-            isolate()->object_store()->float32x4_class())),
-        float64x2_class_(Class::ZoneHandle(
-            isolate()->object_store()->float64x2_class())),
-        int32x4_class_(Class::ZoneHandle(
-            isolate()->object_store()->int32x4_class())),
-        list_class_(Class::ZoneHandle(
-            Library::Handle(Library::CoreLibrary()).
-                LookupClass(Symbols::List()))),
-        parallel_move_resolver_(this),
-        pending_deoptimization_env_(NULL),
-        deopt_id_to_ic_data_(NULL),
-        edge_counters_array_(Array::ZoneHandle()),
-        inlined_code_intervals_(Array::ZoneHandle(Object::empty_array().raw())),
-        inline_id_to_function_(inline_id_to_function),
-        inline_id_to_token_pos_(inline_id_to_token_pos),
-        caller_inline_id_(caller_inline_id) {
+    : thread_(Thread::Current()),
+      zone_(Thread::Current()->zone()),
+      assembler_(assembler),
+      parsed_function_(parsed_function),
+      flow_graph_(*flow_graph),
+      block_order_(*flow_graph->CodegenBlockOrder(is_optimizing)),
+      current_block_(NULL),
+      exception_handlers_list_(NULL),
+      pc_descriptors_list_(NULL),
+      stackmap_table_builder_(NULL),
+      code_source_map_builder_(NULL),
+      saved_code_size_(0),
+      block_info_(block_order_.length()),
+      deopt_infos_(),
+      static_calls_target_table_(),
+      is_optimizing_(is_optimizing),
+      may_reoptimize_(false),
+      intrinsic_mode_(false),
+      double_class_(
+          Class::ZoneHandle(isolate()->object_store()->double_class())),
+      mint_class_(Class::ZoneHandle(isolate()->object_store()->mint_class())),
+      float32x4_class_(
+          Class::ZoneHandle(isolate()->object_store()->float32x4_class())),
+      float64x2_class_(
+          Class::ZoneHandle(isolate()->object_store()->float64x2_class())),
+      int32x4_class_(
+          Class::ZoneHandle(isolate()->object_store()->int32x4_class())),
+      list_class_(Class::ZoneHandle(Library::Handle(Library::CoreLibrary())
+                                        .LookupClass(Symbols::List()))),
+      parallel_move_resolver_(this),
+      pending_deoptimization_env_(NULL),
+      deopt_id_to_ic_data_(NULL),
+      edge_counters_array_(Array::ZoneHandle()),
+      inlined_code_intervals_(Array::ZoneHandle(Object::empty_array().raw())),
+      inline_id_to_function_(inline_id_to_function),
+      inline_id_to_token_pos_(inline_id_to_token_pos),
+      caller_inline_id_(caller_inline_id) {
   ASSERT(flow_graph->parsed_function().function().raw() ==
          parsed_function.function().raw());
   if (!is_optimizing) {
     const intptr_t len = thread()->deopt_id();
-    deopt_id_to_ic_data_ = new(zone()) ZoneGrowableArray<const ICData*>(len);
+    deopt_id_to_ic_data_ = new (zone()) ZoneGrowableArray<const ICData*>(len);
     deopt_id_to_ic_data_->SetLength(len);
     for (intptr_t i = 0; i < len; i++) {
       (*deopt_id_to_ic_data_)[i] = NULL;
     }
     // TODO(fschneider): Abstract iteration into ICDataArrayIterator.
-    const Array& old_saved_ic_data = Array::Handle(zone(),
-        flow_graph->function().ic_data_array());
+    const Array& old_saved_ic_data =
+        Array::Handle(zone(), flow_graph->function().ic_data_array());
     const intptr_t saved_len =
         old_saved_ic_data.IsNull() ? 0 : old_saved_ic_data.Length();
     for (intptr_t i = 1; i < saved_len; i++) {
@@ -257,16 +269,12 @@
 
 
 bool FlowGraphCompiler::IsUnboxedField(const Field& field) {
-  bool valid_class = (SupportsUnboxedDoubles() &&
-                      (field.guarded_cid() == kDoubleCid)) ||
-                     (SupportsUnboxedSimd128() &&
-                      (field.guarded_cid() == kFloat32x4Cid)) ||
-                     (SupportsUnboxedSimd128() &&
-                      (field.guarded_cid() == kFloat64x2Cid));
-  return field.is_unboxing_candidate()
-      && !field.is_final()
-      && !field.is_nullable()
-      && valid_class;
+  bool valid_class =
+      (SupportsUnboxedDoubles() && (field.guarded_cid() == kDoubleCid)) ||
+      (SupportsUnboxedSimd128() && (field.guarded_cid() == kFloat32x4Cid)) ||
+      (SupportsUnboxedSimd128() && (field.guarded_cid() == kFloat64x2Cid));
+  return field.is_unboxing_candidate() && !field.is_final() &&
+         !field.is_nullable() && valid_class;
 }
 
 
@@ -278,8 +286,8 @@
 
 
 void FlowGraphCompiler::InitCompiler() {
-  pc_descriptors_list_ = new(zone()) DescriptorList(64);
-  exception_handlers_list_ = new(zone()) ExceptionHandlerList();
+  pc_descriptors_list_ = new (zone()) DescriptorList(64);
+  exception_handlers_list_ = new (zone()) ExceptionHandlerList();
   block_info_.Clear();
   // Conservative detection of leaf routines used to remove the stack check
   // on function entry.
@@ -288,7 +296,7 @@
   // indicating a non-leaf routine and calls without IC data indicating
   // possible reoptimization.
   for (int i = 0; i < block_order_.length(); ++i) {
-    block_info_.Add(new(zone()) BlockInfo());
+    block_info_.Add(new (zone()) BlockInfo());
     if (is_optimizing() && !flow_graph().IsCompiledForOsr()) {
       BlockEntryInstr* entry = block_order_[i];
       for (ForwardInstructionIterator it(entry); !it.Done(); it.Advance()) {
@@ -304,8 +312,7 @@
         if ((ic_data != NULL) && (ic_data->NumberOfUsedChecks() == 0)) {
           may_reoptimize_ = true;
         }
-        if (is_leaf &&
-            !current->IsCheckStackOverflow() &&
+        if (is_leaf && !current->IsCheckStackOverflow() &&
             !current->IsParallelMove()) {
           // Note that we do not care if the code contains instructions that
           // can deoptimize.
@@ -352,8 +359,7 @@
 
 
 bool FlowGraphCompiler::ForceSlowPathForStackOverflow() const {
-  if ((FLAG_stacktrace_every > 0) ||
-      (FLAG_deoptimize_every > 0) ||
+  if ((FLAG_stacktrace_every > 0) || (FLAG_deoptimize_every > 0) ||
       (isolate()->reload_every_n_stack_overflow_checks() > 0)) {
     return true;
   }
@@ -362,8 +368,7 @@
              FLAG_stacktrace_filter) != NULL) {
     return true;
   }
-  if (is_optimizing() &&
-      FLAG_deoptimize_filter != NULL &&
+  if (is_optimizing() && FLAG_deoptimize_filter != NULL &&
       strstr(parsed_function().function().ToFullyQualifiedCString(),
              FLAG_deoptimize_filter) != NULL) {
     return true;
@@ -373,8 +378,7 @@
 
 
 static bool IsEmptyBlock(BlockEntryInstr* block) {
-  return !block->IsCatchBlockEntry() &&
-         !block->HasNonRedundantParallelMove() &&
+  return !block->IsCatchBlockEntry() && !block->HasNonRedundantParallelMove() &&
          block->next()->IsGoto() &&
          !block->next()->AsGoto()->HasNonRedundantParallelMove() &&
          !block->IsIndirectEntry();
@@ -435,12 +439,11 @@
       // Instructions that can be deoptimization targets need to record kDeopt
       // PcDescriptor corresponding to their deopt id. GotoInstr records its
       // own so that it can control the placement.
-      AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                           instr->deopt_id(),
+      AddCurrentDescriptor(RawPcDescriptors::kDeopt, instr->deopt_id(),
                            instr->token_pos());
     }
     AllocateRegistersLocally(instr);
-  } else if (instr->MayThrow()  &&
+  } else if (instr->MayThrow() &&
              (CurrentTryIndex() != CatchClauseNode::kInvalidTryIndex)) {
     // Optimized try-block: Sync locals to fixed stack locations.
     EmitTrySync(instr, CurrentTryIndex());
@@ -448,7 +451,6 @@
 }
 
 
-
 void FlowGraphCompiler::EmitSourceLine(Instruction* instr) {
   if (!instr->token_pos().IsReal() || (instr->env() == NULL)) {
     return;
@@ -459,10 +461,9 @@
   intptr_t column_nr;
   script.GetTokenLocation(instr->token_pos(), &line_nr, &column_nr);
   const String& line = String::Handle(zone(), script.GetLine(line_nr));
-  assembler()->Comment("Line %" Pd " in '%s':\n           %s",
-      line_nr,
-      instr->env()->function().ToFullyQualifiedCString(),
-      line.ToCString());
+  assembler()->Comment("Line %" Pd " in '%s':\n           %s", line_nr,
+                       instr->env()->function().ToFullyQualifiedCString(),
+                       line.ToCString());
 }
 
 
@@ -473,10 +474,9 @@
   if (Assembler::EmittingComments()) {
     for (intptr_t loop_id = 0; loop_id < loop_headers.length(); ++loop_id) {
       for (BitVector::Iterator loop_it(loop_headers[loop_id]->loop_info());
-           !loop_it.Done();
-           loop_it.Advance()) {
+           !loop_it.Done(); loop_it.Advance()) {
         if (loop_it.Current() == block.preorder_number()) {
-           assembler->Comment("  Loop %" Pd "", loop_id);
+          assembler->Comment("  Loop %" Pd "", loop_id);
         }
       }
     }
@@ -494,8 +494,8 @@
   IntervalStruct(intptr_t s, TokenPosition tp, intptr_t id)
       : start(s), pos(tp), inlining_id(id) {}
   void Dump() {
-    THR_Print("start: 0x%" Px " iid: %" Pd " pos: %s",
-              start, inlining_id, pos.ToCString());
+    THR_Print("start: 0x%" Px " iid: %" Pd " pos: %s", start, inlining_id,
+              pos.ToCString());
   }
 };
 
@@ -562,8 +562,8 @@
           }
         }
       }
-      if (FLAG_code_comments ||
-          FLAG_disassemble || FLAG_disassemble_optimized) {
+      if (FLAG_code_comments || FLAG_disassemble ||
+          FLAG_disassemble_optimized) {
         if (FLAG_source_lines) {
           EmitSourceLine(instr);
         }
@@ -609,8 +609,8 @@
             *inline_id_to_function_.At(intervals[i].inlining_id);
         intervals[i].Dump();
         THR_Print(" parent iid %" Pd " %s\n",
-            caller_inline_id_[intervals[i].inlining_id],
-            function.ToQualifiedCString());
+                  caller_inline_id_[intervals[i].inlining_id],
+                  function.ToQualifiedCString());
       }
 
       const intptr_t id = intervals[i].inlining_id;
@@ -628,8 +628,8 @@
     LogBlock lb;
     THR_Print("Intervals:\n");
     for (intptr_t cc = 0; cc < caller_inline_id_.length(); cc++) {
-      THR_Print("  iid: %" Pd " caller iid: %" Pd "\n",
-          cc, caller_inline_id_[cc]);
+      THR_Print("  iid: %" Pd " caller iid: %" Pd "\n", cc,
+                caller_inline_id_[cc]);
     }
     Smi& temp = Smi::Handle();
     for (intptr_t i = 0; i < inlined_code_intervals_.Length();
@@ -664,7 +664,7 @@
   // Parameters first.
   intptr_t i = 0;
   const intptr_t num_non_copied_params = flow_graph().num_non_copied_params();
-  ParallelMoveInstr* move_instr = new(zone()) ParallelMoveInstr();
+  ParallelMoveInstr* move_instr = new (zone()) ParallelMoveInstr();
   for (; i < num_non_copied_params; ++i) {
     // Don't sync captured parameters. They are not in the environment.
     if (flow_graph().captured_parameters()->Contains(i)) continue;
@@ -717,20 +717,18 @@
     return flow_graph_.graph_entry()->spill_slot_count();
   } else {
     return parsed_function_.num_stack_locals() +
-        parsed_function_.num_copied_params();
+           parsed_function_.num_copied_params();
   }
 }
 
 
-Label* FlowGraphCompiler::GetJumpLabel(
-    BlockEntryInstr* block_entry) const {
+Label* FlowGraphCompiler::GetJumpLabel(BlockEntryInstr* block_entry) const {
   const intptr_t block_index = block_entry->postorder_number();
   return block_info_[block_index]->jump_label();
 }
 
 
-bool FlowGraphCompiler::WasCompacted(
-    BlockEntryInstr* block_entry) const {
+bool FlowGraphCompiler::WasCompacted(BlockEntryInstr* block_entry) const {
   const intptr_t block_index = block_entry->postorder_number();
   return block_info_[block_index]->WasCompacted();
 }
@@ -751,7 +749,7 @@
   Label* true_label = GetJumpLabel(branch->true_successor());
   Label* false_label = GetJumpLabel(branch->false_successor());
   Label* fall_through = NextNonEmptyLabel();
-  BranchLabels result = { true_label, false_label, fall_through };
+  BranchLabels result = {true_label, false_label, fall_through};
   return result;
 }
 
@@ -780,11 +778,8 @@
                                             intptr_t pc_offset,
                                             const Array& handler_types,
                                             bool needs_stacktrace) {
-  exception_handlers_list_->AddHandler(try_index,
-                                       outer_try_index,
-                                       pc_offset,
-                                       handler_types,
-                                       needs_stacktrace);
+  exception_handlers_list_->AddHandler(try_index, outer_try_index, pc_offset,
+                                       handler_types, needs_stacktrace);
 }
 
 
@@ -799,25 +794,22 @@
                                              TokenPosition token_pos) {
   // When running with optimizations disabled, don't emit deopt-descriptors.
   if (!CanOptimize() && (kind == RawPcDescriptors::kDeopt)) return;
-  pc_descriptors_list()->AddDescriptor(kind,
-                                       assembler()->CodeSize(),
-                                       deopt_id,
-                                       token_pos,
-                                       CurrentTryIndex());
+  pc_descriptors_list()->AddDescriptor(kind, assembler()->CodeSize(), deopt_id,
+                                       token_pos, CurrentTryIndex());
 }
 
 
 void FlowGraphCompiler::AddStaticCallTarget(const Function& func) {
   ASSERT(func.IsZoneHandle());
   static_calls_target_table_.Add(
-      new(zone()) StaticCallsStruct(assembler()->CodeSize(), &func, NULL));
+      new (zone()) StaticCallsStruct(assembler()->CodeSize(), &func, NULL));
 }
 
 
 void FlowGraphCompiler::AddStubCallTarget(const Code& code) {
   ASSERT(code.IsZoneHandle());
   static_calls_target_table_.Add(
-      new(zone()) StaticCallsStruct(assembler()->CodeSize(), NULL, &code));
+      new (zone()) StaticCallsStruct(assembler()->CodeSize(), NULL, &code));
 }
 
 
@@ -825,10 +817,9 @@
   ASSERT(is_optimizing());
   ASSERT(!intrinsic_mode());
   CompilerDeoptInfo* info =
-      new(zone()) CompilerDeoptInfo(deopt_id,
-                                    ICData::kDeoptAtCall,
-                                    0,  // No flags.
-                                    pending_deoptimization_env_);
+      new (zone()) CompilerDeoptInfo(deopt_id, ICData::kDeoptAtCall,
+                                     0,  // No flags.
+                                     pending_deoptimization_env_);
   info->set_pc_offset(assembler()->CodeSize());
   deopt_infos_.Add(info);
 }
@@ -841,28 +832,28 @@
 void FlowGraphCompiler::RecordSafepoint(LocationSummary* locs,
                                         intptr_t slow_path_argument_count) {
   if (is_optimizing() || locs->live_registers()->HasUntaggedValues()) {
-    const intptr_t spill_area_size = is_optimizing() ?
-        flow_graph_.graph_entry()->spill_slot_count() : 0;
+    const intptr_t spill_area_size =
+        is_optimizing() ? flow_graph_.graph_entry()->spill_slot_count() : 0;
 
     RegisterSet* registers = locs->live_registers();
     ASSERT(registers != NULL);
-    const intptr_t kFpuRegisterSpillFactor =
-            kFpuRegisterSize / kWordSize;
-    const intptr_t live_registers_size = registers->CpuRegisterCount() +
+    const intptr_t kFpuRegisterSpillFactor = kFpuRegisterSize / kWordSize;
+    const intptr_t live_registers_size =
+        registers->CpuRegisterCount() +
         (registers->FpuRegisterCount() * kFpuRegisterSpillFactor);
 
     BitmapBuilder* bitmap = locs->stack_bitmap();
 
-    // An instruction may have two safepoints in deferred code. The
-    // call to RecordSafepoint has the side-effect of appending the live
-    // registers to the bitmap. This is why the second call to RecordSafepoint
-    // with the same instruction (and same location summary) sees a bitmap that
-    // is larger that StackSize(). It will never be larger than StackSize() +
-    // live_registers_size.
-    // The first safepoint will grow the bitmap to be the size of
-    // spill_area_size but the second safepoint will truncate the bitmap and
-    // append the live registers to it again. The bitmap produced by both calls
-    // will be the same.
+// An instruction may have two safepoints in deferred code. The
+// call to RecordSafepoint has the side-effect of appending the live
+// registers to the bitmap. This is why the second call to RecordSafepoint
+// with the same instruction (and same location summary) sees a bitmap that
+// is larger that StackSize(). It will never be larger than StackSize() +
+// live_registers_size.
+// The first safepoint will grow the bitmap to be the size of
+// spill_area_size but the second safepoint will truncate the bitmap and
+// append the live registers to it again. The bitmap produced by both calls
+// will be the same.
 #if !defined(TARGET_ARCH_DBC)
     ASSERT(bitmap->Length() <= (spill_area_size + live_registers_size));
     bitmap->SetLength(spill_area_size);
@@ -913,8 +904,7 @@
     // The slow path area Outside the spill area contains are live registers
     // and pushed arguments for calls inside the slow path.
     intptr_t slow_path_bit_count = bitmap->Length() - spill_area_size;
-    stackmap_table_builder()->AddEntry(assembler()->CodeSize(),
-                                       bitmap,
+    stackmap_table_builder()->AddEntry(assembler()->CodeSize(), bitmap,
                                        slow_path_bit_count);
   }
 }
@@ -969,8 +959,8 @@
   for (Environment::DeepIterator it(env); !it.Done(); it.Advance()) {
     Location loc = it.CurrentLocation();
     Value* value = it.CurrentValue();
-    it.SetCurrentLocation(loc.RemapForSlowPath(
-        value->definition(), cpu_reg_slots, fpu_reg_slots));
+    it.SetCurrentLocation(loc.RemapForSlowPath(value->definition(),
+                                               cpu_reg_slots, fpu_reg_slots));
   }
 
   return env;
@@ -997,11 +987,8 @@
   }
 
   ASSERT(is_optimizing_);
-  CompilerDeoptInfoWithStub* stub =
-      new(zone()) CompilerDeoptInfoWithStub(deopt_id,
-                                            reason,
-                                            flags,
-                                            pending_deoptimization_env_);
+  CompilerDeoptInfoWithStub* stub = new (zone()) CompilerDeoptInfoWithStub(
+      deopt_id, reason, flags, pending_deoptimization_env_);
   deopt_infos_.Add(stub);
   return stub->entry_label();
 }
@@ -1015,15 +1002,11 @@
   ASSERT(!intrinsic_mode());
   // The pending deoptimization environment may be changed after this deopt is
   // emitted, so we need to make a copy.
-  Environment* env_copy =
-      pending_deoptimization_env_->DeepCopy(zone());
+  Environment* env_copy = pending_deoptimization_env_->DeepCopy(zone());
   CompilerDeoptInfo* info =
-      new(zone()) CompilerDeoptInfo(deopt_id,
-                                    reason,
-                                    flags,
-                                    env_copy);
+      new (zone()) CompilerDeoptInfo(deopt_id, reason, flags, env_copy);
   deopt_infos_.Add(info);
-  assembler()->Deopt(0, /*is_eager =*/ 1);
+  assembler()->Deopt(0, /*is_eager =*/1);
   info->set_pc_offset(assembler()->CodeSize());
 }
 #endif  // defined(TARGET_ARCH_DBC)
@@ -1037,7 +1020,7 @@
   if (FLAG_compiler_stats) {
     Thread* thread = Thread::Current();
     INC_STAT(thread, total_code_size,
-        ExceptionHandlers::InstanceSize(handlers.num_entries()));
+             ExceptionHandlers::InstanceSize(handlers.num_entries()));
     INC_STAT(thread, total_code_size, handlers.num_entries() * sizeof(uword));
   }
 }
@@ -1077,8 +1060,7 @@
       offset = Smi::New(deopt_infos_[i]->pc_offset());
       info = deopt_infos_[i]->CreateDeoptInfo(this, &builder, array);
       reason_and_flags = DeoptTable::EncodeReasonAndFlags(
-          deopt_infos_[i]->reason(),
-          deopt_infos_[i]->flags());
+          deopt_infos_[i]->reason(), deopt_infos_[i]->flags());
       DeoptTable::SetEntry(array, i, offset, info, reason_and_flags);
     }
     return array.raw();
@@ -1126,9 +1108,10 @@
 
 void FlowGraphCompiler::FinalizeStaticCallTargetsTable(const Code& code) {
   ASSERT(code.static_calls_target_table() == Array::null());
-  const Array& targets = Array::Handle(zone(), Array::New(
-      (static_calls_target_table_.length() * Code::kSCallTableEntryLength),
-      Heap::kOld));
+  const Array& targets =
+      Array::Handle(zone(), Array::New((static_calls_target_table_.length() *
+                                        Code::kSCallTableEntryLength),
+                                       Heap::kOld));
   Smi& smi_offset = Smi::Handle(zone());
   for (intptr_t i = 0; i < static_calls_target_table_.length(); i++) {
     const intptr_t target_ix = Code::kSCallTableEntryLength * i;
@@ -1136,16 +1119,15 @@
     targets.SetAt(target_ix + Code::kSCallTableOffsetEntry, smi_offset);
     if (static_calls_target_table_[i]->function != NULL) {
       targets.SetAt(target_ix + Code::kSCallTableFunctionEntry,
-          *static_calls_target_table_[i]->function);
+                    *static_calls_target_table_[i]->function);
     }
     if (static_calls_target_table_[i]->code != NULL) {
       targets.SetAt(target_ix + Code::kSCallTableCodeEntry,
-          *static_calls_target_table_[i]->code);
+                    *static_calls_target_table_[i]->code);
     }
   }
   code.set_static_calls_target_table(targets);
-  INC_STAT(Thread::Current(),
-           total_code_size,
+  INC_STAT(Thread::Current(), total_code_size,
            targets.Length() * sizeof(uword));
 }
 
@@ -1208,17 +1190,16 @@
 // DBC is very different from other architectures in how it performs instance
 // and static calls because it does not use stubs.
 #if !defined(TARGET_ARCH_DBC)
-void FlowGraphCompiler::GenerateInstanceCall(
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    intptr_t argument_count,
-    LocationSummary* locs,
-    const ICData& ic_data_in) {
+void FlowGraphCompiler::GenerateInstanceCall(intptr_t deopt_id,
+                                             TokenPosition token_pos,
+                                             intptr_t argument_count,
+                                             LocationSummary* locs,
+                                             const ICData& ic_data_in) {
   ICData& ic_data = ICData::ZoneHandle(ic_data_in.Original());
   if (FLAG_precompiled_mode) {
     ic_data = ic_data.AsUnaryClassChecks();
-    EmitSwitchableInstanceCall(ic_data, argument_count,
-                               deopt_id, token_pos, locs);
+    EmitSwitchableInstanceCall(ic_data, argument_count, deopt_id, token_pos,
+                               locs);
     return;
   }
   ASSERT(!ic_data.IsNull());
@@ -1244,22 +1225,19 @@
   }
 
   if (is_optimizing()) {
-    EmitMegamorphicInstanceCall(ic_data_in, argument_count,
-                                deopt_id, token_pos, locs,
-                                CatchClauseNode::kInvalidTryIndex);
+    EmitMegamorphicInstanceCall(ic_data_in, argument_count, deopt_id, token_pos,
+                                locs, CatchClauseNode::kInvalidTryIndex);
     return;
   }
 
   switch (ic_data.NumArgsTested()) {
     case 1:
-      EmitInstanceCall(
-          *StubCode::OneArgCheckInlineCache_entry(), ic_data, argument_count,
-          deopt_id, token_pos, locs);
+      EmitInstanceCall(*StubCode::OneArgCheckInlineCache_entry(), ic_data,
+                       argument_count, deopt_id, token_pos, locs);
       break;
     case 2:
-      EmitInstanceCall(
-          *StubCode::TwoArgsCheckInlineCache_entry(), ic_data, argument_count,
-          deopt_id, token_pos, locs);
+      EmitInstanceCall(*StubCode::TwoArgsCheckInlineCache_entry(), ic_data,
+                       argument_count, deopt_id, token_pos, locs);
       break;
     default:
       UNIMPLEMENTED();
@@ -1275,21 +1253,21 @@
                                            LocationSummary* locs,
                                            const ICData& ic_data_in) {
   const ICData& ic_data = ICData::ZoneHandle(ic_data_in.Original());
-  const Array& arguments_descriptor = Array::ZoneHandle(
-      ic_data.IsNull() ? ArgumentsDescriptor::New(argument_count,
-                                                  argument_names)
-                       : ic_data.arguments_descriptor());
+  const Array& arguments_descriptor =
+      Array::ZoneHandle(ic_data.IsNull() ? ArgumentsDescriptor::New(
+                                               argument_count, argument_names)
+                                         : ic_data.arguments_descriptor());
   if (is_optimizing()) {
-    EmitOptimizedStaticCall(function, arguments_descriptor,
-                            argument_count, deopt_id, token_pos, locs);
+    EmitOptimizedStaticCall(function, arguments_descriptor, argument_count,
+                            deopt_id, token_pos, locs);
   } else {
     ICData& call_ic_data = ICData::ZoneHandle(ic_data.raw());
     if (call_ic_data.IsNull()) {
       const intptr_t kNumArgsChecked = 0;
-      call_ic_data = GetOrAddStaticCallICData(deopt_id,
-                                              function,
-                                              arguments_descriptor,
-                                              kNumArgsChecked)->raw();
+      call_ic_data =
+          GetOrAddStaticCallICData(deopt_id, function, arguments_descriptor,
+                                   kNumArgsChecked)
+              ->raw();
     }
     EmitUnoptimizedStaticCall(argument_count, deopt_id, token_pos, locs,
                               call_ic_data);
@@ -1361,9 +1339,9 @@
 bool FlowGraphCompiler::NeedsEdgeCounter(TargetEntryInstr* block) {
   // Only emit an edge counter if there is not goto at the end of the block,
   // except for the entry block.
-  return (FLAG_reorder_basic_blocks
-      && (!block->last_instruction()->IsGoto()
-          || (block == flow_graph().graph_entry()->normal_entry())));
+  return (FLAG_reorder_basic_blocks &&
+          (!block->last_instruction()->IsGoto() ||
+           (block == flow_graph().graph_entry()->normal_entry())));
 }
 
 
@@ -1383,11 +1361,10 @@
 
 void FlowGraphCompiler::AllocateRegistersLocally(Instruction* instr) {
   ASSERT(!is_optimizing());
-  instr->InitializeLocationSummary(zone(),
-                                   false);  // Not optimizing.
+  instr->InitializeLocationSummary(zone(), false);  // Not optimizing.
 
-  // No need to allocate registers based on LocationSummary on DBC as in
-  // unoptimized mode it's a stack based bytecode just like IR itself.
+// No need to allocate registers based on LocationSummary on DBC as in
+// unoptimized mode it's a stack based bytecode just like IR itself.
 #if !defined(TARGET_ARCH_DBC)
   LocationSummary* locs = instr->locs();
 
@@ -1453,8 +1430,7 @@
     Location loc = locs->temp(i);
     if (loc.IsUnallocated()) {
       ASSERT(loc.policy() == Location::kRequiresRegister);
-      loc = Location::RegisterLocation(
-        AllocateFreeRegister(blocked_registers));
+      loc = Location::RegisterLocation(AllocateFreeRegister(blocked_registers));
       locs->set_temp(i, loc);
     }
   }
@@ -1466,8 +1442,8 @@
       case Location::kPrefersRegister:
       case Location::kRequiresRegister:
       case Location::kWritableRegister:
-        result_location = Location::RegisterLocation(
-            AllocateFreeRegister(blocked_registers));
+        result_location =
+            Location::RegisterLocation(AllocateFreeRegister(blocked_registers));
         break;
       case Location::kSameAsFirstInput:
         result_location = locs->in(0);
@@ -1654,19 +1630,15 @@
 
 
 ParallelMoveResolver::ScratchFpuRegisterScope::ScratchFpuRegisterScope(
-    ParallelMoveResolver* resolver, FpuRegister blocked)
-    : resolver_(resolver),
-      reg_(kNoFpuRegister),
-      spilled_(false) {
+    ParallelMoveResolver* resolver,
+    FpuRegister blocked)
+    : resolver_(resolver), reg_(kNoFpuRegister), spilled_(false) {
   COMPILE_ASSERT(FpuTMP != kNoFpuRegister);
-  uword blocked_mask = ((blocked != kNoFpuRegister) ? 1 << blocked : 0)
-                     | 1 << FpuTMP;
-  reg_ = static_cast<FpuRegister>(
-      resolver_->AllocateScratchRegister(Location::kFpuRegister,
-                                         blocked_mask,
-                                         0,
-                                         kNumberOfFpuRegisters - 1,
-                                         &spilled_));
+  uword blocked_mask =
+      ((blocked != kNoFpuRegister) ? 1 << blocked : 0) | 1 << FpuTMP;
+  reg_ = static_cast<FpuRegister>(resolver_->AllocateScratchRegister(
+      Location::kFpuRegister, blocked_mask, 0, kNumberOfFpuRegisters - 1,
+      &spilled_));
 
   if (spilled_) {
     resolver->SpillFpuScratch(reg_);
@@ -1682,10 +1654,9 @@
 
 
 ParallelMoveResolver::ScratchRegisterScope::ScratchRegisterScope(
-    ParallelMoveResolver* resolver, Register blocked)
-    : resolver_(resolver),
-      reg_(kNoRegister),
-      spilled_(false) {
+    ParallelMoveResolver* resolver,
+    Register blocked)
+    : resolver_(resolver), reg_(kNoRegister), spilled_(false) {
   uword blocked_mask = RegMaskBit(blocked) | kReservedCpuRegisters;
   if (resolver->compiler_->intrinsic_mode()) {
     // Block additional registers that must be preserved for intrinsics.
@@ -1697,11 +1668,8 @@
 #endif
   }
   reg_ = static_cast<Register>(
-      resolver_->AllocateScratchRegister(Location::kRegister,
-                                         blocked_mask,
-                                         0,
-                                         kNumberOfCpuRegisters - 1,
-                                         &spilled_));
+      resolver_->AllocateScratchRegister(Location::kRegister, blocked_mask, 0,
+                                         kNumberOfCpuRegisters - 1, &spilled_));
 
   if (spilled_) {
     resolver->SpillScratch(reg_);
@@ -1756,9 +1724,10 @@
     ASSERT(!res->is_static_call());
     return res;
   }
-  const ICData& ic_data = ICData::ZoneHandle(zone(), ICData::New(
-      parsed_function().function(), target_name,
-      arguments_descriptor, deopt_id, num_args_tested, false));
+  const ICData& ic_data =
+      ICData::ZoneHandle(zone(), ICData::New(parsed_function().function(),
+                                             target_name, arguments_descriptor,
+                                             deopt_id, num_args_tested, false));
 #if defined(TAG_IC_DATA)
   ic_data.set_tag(Instruction::kInstanceCall);
 #endif
@@ -1784,9 +1753,11 @@
     ASSERT(res->is_static_call());
     return res;
   }
-  const ICData& ic_data = ICData::ZoneHandle(zone(), ICData::New(
-      parsed_function().function(), String::Handle(zone(), target.name()),
-      arguments_descriptor, deopt_id, num_args_tested, true));
+  const ICData& ic_data = ICData::ZoneHandle(
+      zone(),
+      ICData::New(parsed_function().function(),
+                  String::Handle(zone(), target.name()), arguments_descriptor,
+                  deopt_id, num_args_tested, true));
   ic_data.AddTarget(target);
 #if defined(TAG_IC_DATA)
   ic_data.set_tag(Instruction::kStaticCall);
@@ -1808,7 +1779,7 @@
     const intptr_t basic_blocks = flow_graph().preorder().length();
     ASSERT(basic_blocks > 0);
     threshold = FLAG_optimization_counter_scale * basic_blocks +
-        FLAG_min_optimization_counter_threshold;
+                FLAG_min_optimization_counter_threshold;
     if (threshold > FLAG_optimization_counter_threshold) {
       threshold = FLAG_optimization_counter_threshold;
     }
@@ -1840,8 +1811,8 @@
   if (inline_id_to_function_.length() == 0) {
     return Object::empty_array().raw();
   }
-  const Array& res = Array::Handle(
-      Array::New(inline_id_to_function_.length(), Heap::kOld));
+  const Array& res =
+      Array::Handle(Array::New(inline_id_to_function_.length(), Heap::kOld));
   for (intptr_t i = 0; i < inline_id_to_function_.length(); i++) {
     res.SetAt(i, *inline_id_to_function_[i]);
   }
@@ -1853,8 +1824,8 @@
   if (inline_id_to_token_pos_.length() == 0) {
     return Object::empty_array().raw();
   }
-  const Array& res = Array::Handle(zone(),
-      Array::New(inline_id_to_token_pos_.length(), Heap::kOld));
+  const Array& res = Array::Handle(
+      zone(), Array::New(inline_id_to_token_pos_.length(), Heap::kOld));
   Smi& smi = Smi::Handle(zone());
   for (intptr_t i = 0; i < inline_id_to_token_pos_.length(); i++) {
     smi = Smi::New(inline_id_to_token_pos_[i].value());
@@ -1868,8 +1839,8 @@
   if (caller_inline_id_.length() == 0) {
     return Object::empty_array().raw();
   }
-  const Array& res = Array::Handle(
-      Array::New(caller_inline_id_.length(), Heap::kOld));
+  const Array& res =
+      Array::Handle(Array::New(caller_inline_id_.length(), Heap::kOld));
   Smi& smi = Smi::Handle();
   for (intptr_t i = 0; i < caller_inline_id_.length(); i++) {
     smi = Smi::New(caller_inline_id_[i]);
@@ -1880,16 +1851,16 @@
 
 
 void FlowGraphCompiler::BeginCodeSourceRange() {
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
   // Remember how many bytes of code we emitted so far. This function
   // is called before we call into an instruction's EmitNativeCode.
   saved_code_size_ = assembler()->CodeSize();
-);
+#endif  // !defined(PRODUCT)
 }
 
 
 bool FlowGraphCompiler::EndCodeSourceRange(TokenPosition token_pos) {
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
   // This function is called after each instructions' EmitNativeCode.
   if (saved_code_size_ < assembler()->CodeSize()) {
     // We emitted more code, now associate the emitted code chunk with
@@ -1898,7 +1869,7 @@
     BeginCodeSourceRange();
     return true;
   }
-);
+#endif  // !defined(PRODUCT)
   return false;
 }
 
@@ -1906,17 +1877,16 @@
 #if !defined(TARGET_ARCH_DBC)
 // DBC emits calls very differently from other architectures due to its
 // interpreted nature.
-void FlowGraphCompiler::EmitPolymorphicInstanceCall(
-    const ICData& ic_data,
-    intptr_t argument_count,
-    const Array& argument_names,
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    LocationSummary* locs,
-    bool complete) {
+void FlowGraphCompiler::EmitPolymorphicInstanceCall(const ICData& ic_data,
+                                                    intptr_t argument_count,
+                                                    const Array& argument_names,
+                                                    intptr_t deopt_id,
+                                                    TokenPosition token_pos,
+                                                    LocationSummary* locs,
+                                                    bool complete) {
   if (FLAG_polymorphic_with_deopt) {
-    Label* deopt = AddDeoptStub(deopt_id,
-                                ICData::kDeoptPolymorphicInstanceCallTestFail);
+    Label* deopt =
+        AddDeoptStub(deopt_id, ICData::kDeoptPolymorphicInstanceCallTestFail);
     Label ok;
     EmitTestAndCall(ic_data, argument_count, argument_names,
                     deopt,  // No cid match.
@@ -1927,13 +1897,13 @@
     if (complete) {
       Label ok;
       EmitTestAndCall(ic_data, argument_count, argument_names,
-                      NULL,                      // No cid match.
-                      &ok,                       // Found cid.
+                      NULL,  // No cid match.
+                      &ok,   // Found cid.
                       deopt_id, token_pos, locs, true);
       assembler()->Bind(&ok);
     } else {
-      EmitSwitchableInstanceCall(ic_data, argument_count,
-                                 deopt_id, token_pos, locs);
+      EmitSwitchableInstanceCall(ic_data, argument_count, deopt_id, token_pos,
+                                 locs);
     }
   }
 }
@@ -1953,7 +1923,7 @@
 
     case Instruction::kDropTemps:
       FrameStatePop(instr->locs()->input_count() +
-          instr->AsDropTemps()->num_temps());
+                    instr->AsDropTemps()->num_temps());
       break;
 
     default:
@@ -1973,8 +1943,7 @@
 
 void FlowGraphCompiler::FrameStatePush(Definition* defn) {
   Representation rep = defn->representation();
-  if ((rep == kUnboxedDouble) ||
-      (rep == kUnboxedFloat64x2) ||
+  if ((rep == kUnboxedDouble) || (rep == kUnboxedFloat64x2) ||
       (rep == kUnboxedFloat32x4)) {
     // LoadField instruction lies about its representation in the unoptimized
     // code because Definition::representation() can't depend on the type of
@@ -1992,8 +1961,8 @@
 
 void FlowGraphCompiler::FrameStatePop(intptr_t count) {
   ASSERT(!is_optimizing());
-  frame_state_.TruncateTo(Utils::Maximum(static_cast<intptr_t>(0),
-      frame_state_.length() - count));
+  frame_state_.TruncateTo(
+      Utils::Maximum(static_cast<intptr_t>(0), frame_state_.length() - count));
 }
 
 
diff --git a/runtime/vm/flow_graph_compiler.h b/runtime/vm/flow_graph_compiler.h
index a43c6af..fe777cf 100644
--- a/runtime/vm/flow_graph_compiler.h
+++ b/runtime/vm/flow_graph_compiler.h
@@ -19,7 +19,8 @@
 class FlowGraph;
 class FlowGraphCompiler;
 class Function;
-template <typename T> class GrowableArray;
+template <typename T>
+class GrowableArray;
 class ParsedFunction;
 
 
@@ -124,7 +125,7 @@
         deopt_env_(deopt_env) {
     ASSERT(deopt_env != NULL);
   }
-  virtual ~CompilerDeoptInfo() { }
+  virtual ~CompilerDeoptInfo() {}
 
   RawTypedData* CreateDeoptInfo(FlowGraphCompiler* compiler,
                                 DeoptInfoBuilder* builder,
@@ -175,11 +176,12 @@
 
   const char* Name() const {
     const char* kFormat = "Deopt stub for id %d, reason: %s";
-    const intptr_t len = OS::SNPrint(NULL, 0, kFormat,
-        deopt_id(), DeoptReasonToCString(reason())) + 1;
+    const intptr_t len = OS::SNPrint(NULL, 0, kFormat, deopt_id(),
+                                     DeoptReasonToCString(reason())) +
+                         1;
     char* chars = Thread::Current()->zone()->Alloc<char>(len);
-    OS::SNPrint(chars, len, kFormat,
-        deopt_id(), DeoptReasonToCString(reason()));
+    OS::SNPrint(chars, len, kFormat, deopt_id(),
+                DeoptReasonToCString(reason()));
     return chars;
   }
 
@@ -192,8 +194,8 @@
 
 class SlowPathCode : public ZoneAllocated {
  public:
-  SlowPathCode() : entry_label_(), exit_label_() { }
-  virtual ~SlowPathCode() { }
+  SlowPathCode() : entry_label_(), exit_label_() {}
+  virtual ~SlowPathCode() {}
 
   Label* entry_label() { return &entry_label_; }
   Label* exit_label() { return &exit_label_; }
@@ -217,9 +219,7 @@
   intptr_t cid;
   Function* target;
   intptr_t count;
-  CidTarget(intptr_t cid_arg,
-            Function* target_arg,
-            intptr_t count_arg)
+  CidTarget(intptr_t cid_arg, Function* target_arg, intptr_t count_arg)
       : cid(cid_arg), target(target_arg), count(count_arg) {}
 };
 
@@ -245,9 +245,7 @@
     Label* next_nonempty_label() const { return next_nonempty_label_; }
     void set_next_nonempty_label(Label* label) { next_nonempty_label_ = label; }
 
-    bool WasCompacted() const {
-      return jump_label_ != &block_label_;
-    }
+    bool WasCompacted() const { return jump_label_ != &block_label_; }
 
     // Block compaction is recursive.  Block info for already-compacted
     // blocks is marked so as to avoid cycles in the graph.
@@ -264,14 +262,13 @@
   };
 
  public:
-  FlowGraphCompiler(
-      Assembler* assembler,
-      FlowGraph* flow_graph,
-      const ParsedFunction& parsed_function,
-      bool is_optimizing,
-      const GrowableArray<const Function*>& inline_id_to_function,
-      const GrowableArray<TokenPosition>& inline_id_to_token_pos,
-      const GrowableArray<intptr_t>& caller_inline_id);
+  FlowGraphCompiler(Assembler* assembler,
+                    FlowGraph* flow_graph,
+                    const ParsedFunction& parsed_function,
+                    bool is_optimizing,
+                    const GrowableArray<const Function*>& inline_id_to_function,
+                    const GrowableArray<TokenPosition>& inline_id_to_token_pos,
+                    const GrowableArray<intptr_t>& caller_inline_id);
 
   ~FlowGraphCompiler();
 
@@ -294,13 +291,9 @@
 
   const FlowGraph& flow_graph() const { return flow_graph_; }
 
-  DescriptorList* pc_descriptors_list() const {
-    return pc_descriptors_list_;
-  }
+  DescriptorList* pc_descriptors_list() const { return pc_descriptors_list_; }
   BlockEntryInstr* current_block() const { return current_block_; }
-  void set_current_block(BlockEntryInstr* value) {
-    current_block_ = value;
-  }
+  void set_current_block(BlockEntryInstr* value) { current_block_ = value; }
   static bool CanOptimize();
   bool CanOptimizeFunction() const;
   bool CanOSRFunction() const;
@@ -310,9 +303,7 @@
   void ExitIntrinsicMode();
   bool intrinsic_mode() const { return intrinsic_mode_; }
 
-  Label* intrinsic_slow_path_label() {
-    return &intrinsic_slow_path_label_;
-  }
+  Label* intrinsic_slow_path_label() { return &intrinsic_slow_path_label_; }
 
   bool ForceSlowPathForStackOverflow() const;
 
@@ -341,8 +332,8 @@
                                 const String& dst_name,
                                 LocationSummary* locs);
 
-  // DBC emits calls very differently from all other architectures due to its
-  // interpreted nature.
+// DBC emits calls very differently from all other architectures due to its
+// interpreted nature.
 #if !defined(TARGET_ARCH_DBC)
   void GenerateRuntimeCall(TokenPosition token_pos,
                            intptr_t deopt_id,
@@ -394,8 +385,7 @@
   void GenerateStringTypeCheck(Register kClassIdReg,
                                Label* is_instance_lbl,
                                Label* is_not_instance_lbl);
-  void GenerateListTypeCheck(Register kClassIdReg,
-                             Label* is_instance_lbl);
+  void GenerateListTypeCheck(Register kClassIdReg, Label* is_instance_lbl);
 
   void EmitOptimizedInstanceCall(const StubEntry& stub_entry,
                                  const ICData& ic_data,
@@ -420,14 +410,13 @@
                                    bool complete);
 
   // Pass a value for try-index where block is not available (e.g. slow path).
-  void EmitMegamorphicInstanceCall(
-      const ICData& ic_data,
-      intptr_t argument_count,
-      intptr_t deopt_id,
-      TokenPosition token_pos,
-      LocationSummary* locs,
-      intptr_t try_index,
-      intptr_t slow_path_argument_count = 0);
+  void EmitMegamorphicInstanceCall(const ICData& ic_data,
+                                   intptr_t argument_count,
+                                   intptr_t deopt_id,
+                                   TokenPosition token_pos,
+                                   LocationSummary* locs,
+                                   intptr_t try_index,
+                                   intptr_t slow_path_argument_count = 0);
 
   void EmitSwitchableInstanceCall(const ICData& ic_data,
                                   intptr_t argument_count,
@@ -571,9 +560,7 @@
     return inlined_code_intervals_;
   }
 
-  RawArray* edge_counters_array() const {
-    return edge_counters_array_.raw();
-  }
+  RawArray* edge_counters_array() const { return edge_counters_array_.raw(); }
 
   RawArray* InliningIdToFunction() const;
   RawArray* InliningIdToTokenPos() const;
@@ -591,6 +578,10 @@
   bool EndCodeSourceRange(TokenPosition token_pos);
 
 #if defined(TARGET_ARCH_DBC)
+  void RecordAfterCallHelper(TokenPosition token_pos,
+                             intptr_t deopt_id,
+                             intptr_t argument_count,
+                             LocationSummary* locs);
   void RecordAfterCall(Instruction* instr);
 #endif
 
@@ -624,8 +615,8 @@
                                  LocationSummary* locs,
                                  const ICData& ic_data);
 
-  // DBC handles type tests differently from all other architectures due
-  // to its interpreted nature.
+// DBC handles type tests differently from all other architectures due
+// to its interpreted nature.
 #if !defined(TARGET_ARCH_DBC)
   // Type checking helper methods.
   void CheckClassIds(Register class_id_reg,
@@ -710,9 +701,9 @@
     return stackmap_table_builder_;
   }
 
-  // TODO(vegorov) re-enable frame state tracking on DBC. It is
-  // currently disabled because it relies on LocationSummaries and
-  // we don't use them during unoptimized compilation on DBC.
+// TODO(vegorov) re-enable frame state tracking on DBC. It is
+// currently disabled because it relies on LocationSummaries and
+// we don't use them during unoptimized compilation on DBC.
 #if defined(DEBUG) && !defined(TARGET_ARCH_DBC)
   void FrameStateUpdateWith(Instruction* instr);
   void FrameStatePush(Definition* defn);
diff --git a/runtime/vm/flow_graph_compiler_arm.cc b/runtime/vm/flow_graph_compiler_arm.cc
index bc1ebce..738a2bb 100644
--- a/runtime/vm/flow_graph_compiler_arm.cc
+++ b/runtime/vm/flow_graph_compiler_arm.cc
@@ -118,8 +118,7 @@
 
   // For the innermost environment, set outgoing arguments and the locals.
   for (intptr_t i = current->Length() - 1;
-       i >= current->fixed_parameter_count();
-       i--) {
+       i >= current->fixed_parameter_count(); i--) {
     builder->AddCopy(current->ValueAt(i), current->LocationAt(i), slot_ix++);
   }
 
@@ -132,26 +131,21 @@
 
     // For any outer environment the deopt id is that of the call instruction
     // which is recorded in the outer environment.
-    builder->AddReturnAddress(
-        current->function(),
-        Thread::ToDeoptAfter(current->deopt_id()),
-        slot_ix++);
+    builder->AddReturnAddress(current->function(),
+                              Thread::ToDeoptAfter(current->deopt_id()),
+                              slot_ix++);
 
     // The values of outgoing arguments can be changed from the inlined call so
     // we must read them from the previous environment.
     for (intptr_t i = previous->fixed_parameter_count() - 1; i >= 0; i--) {
-      builder->AddCopy(previous->ValueAt(i),
-                       previous->LocationAt(i),
+      builder->AddCopy(previous->ValueAt(i), previous->LocationAt(i),
                        slot_ix++);
     }
 
     // Set the locals, note that outgoing arguments are not in the environment.
     for (intptr_t i = current->Length() - 1;
-         i >= current->fixed_parameter_count();
-         i--) {
-      builder->AddCopy(current->ValueAt(i),
-                       current->LocationAt(i),
-                       slot_ix++);
+         i >= current->fixed_parameter_count(); i--) {
+      builder->AddCopy(current->ValueAt(i), current->LocationAt(i), slot_ix++);
     }
 
     // Iterate on the outer environment.
@@ -288,7 +282,7 @@
     const TypeArguments& type_arguments =
         TypeArguments::ZoneHandle(zone(), type.arguments());
     const bool is_raw_type = type_arguments.IsNull() ||
-        type_arguments.IsRaw(from_index, num_type_params);
+                             type_arguments.IsRaw(from_index, num_type_params);
     if (is_raw_type) {
       const Register kClassIdReg = R2;
       // dynamic type argument, check only classes.
@@ -304,8 +298,8 @@
     }
     // If one type argument only, check if type argument is Object or dynamic.
     if (type_arguments.Length() == 1) {
-      const AbstractType& tp_argument = AbstractType::ZoneHandle(
-          zone(), type_arguments.TypeAt(0));
+      const AbstractType& tp_argument =
+          AbstractType::ZoneHandle(zone(), type_arguments.TypeAt(0));
       ASSERT(!tp_argument.IsMalformed());
       if (tp_argument.IsType()) {
         ASSERT(tp_argument.HasResolvedTypeClass());
@@ -323,12 +317,9 @@
   const Register kTypeArgumentsReg = kNoRegister;
   const Register kTempReg = kNoRegister;
   // R0: instance (must be preserved).
-  return GenerateCallSubtypeTestStub(kTestTypeTwoArgs,
-                                     kInstanceReg,
-                                     kTypeArgumentsReg,
-                                     kTempReg,
-                                     is_instance_lbl,
-                                     is_not_instance_lbl);
+  return GenerateCallSubtypeTestStub(kTestTypeTwoArgs, kInstanceReg,
+                                     kTypeArgumentsReg, kTempReg,
+                                     is_instance_lbl, is_not_instance_lbl);
 }
 
 
@@ -367,11 +358,8 @@
   __ tst(kInstanceReg, Operand(kSmiTagMask));
   // If instance is Smi, check directly.
   const Class& smi_class = Class::Handle(zone(), Smi::Class());
-  if (smi_class.IsSubtypeOf(TypeArguments::Handle(zone()),
-                            type_class,
-                            TypeArguments::Handle(zone()),
-                            NULL,
-                            NULL,
+  if (smi_class.IsSubtypeOf(TypeArguments::Handle(zone()), type_class,
+                            TypeArguments::Handle(zone()), NULL, NULL,
                             Heap::kOld)) {
     __ b(is_instance_lbl, EQ);
   } else {
@@ -391,8 +379,8 @@
   // Custom checking for numbers (Smi, Mint, Bigint and Double).
   // Note that instance is not Smi (checked above).
   if (type.IsNumberType() || type.IsIntType() || type.IsDoubleType()) {
-    GenerateNumberTypeCheck(
-        kClassIdReg, type, is_instance_lbl, is_not_instance_lbl);
+    GenerateNumberTypeCheck(kClassIdReg, type, is_instance_lbl,
+                            is_not_instance_lbl);
     return false;
   }
   if (type.IsStringType()) {
@@ -439,12 +427,9 @@
 
   const Register kTypeArgumentsReg = kNoRegister;
   const Register kTempReg = kNoRegister;
-  return GenerateCallSubtypeTestStub(kTestTypeOneArg,
-                                     kInstanceReg,
-                                     kTypeArgumentsReg,
-                                     kTempReg,
-                                     is_instance_lbl,
-                                     is_not_instance_lbl);
+  return GenerateCallSubtypeTestStub(kTestTypeOneArg, kInstanceReg,
+                                     kTypeArgumentsReg, kTempReg,
+                                     is_instance_lbl, is_not_instance_lbl);
 }
 
 
@@ -467,7 +452,7 @@
     __ CompareObject(R1, Object::null_object());
     __ b(is_instance_lbl, EQ);
     __ ldr(R2,
-        FieldAddress(R1, TypeArguments::type_at_offset(type_param.index())));
+           FieldAddress(R1, TypeArguments::type_at_offset(type_param.index())));
     // R2: concrete type of type.
     // Check if type argument is dynamic.
     __ CompareObject(R2, Object::dynamic_type());
@@ -493,14 +478,10 @@
     const Register kInstanceReg = R0;
     const Register kTypeArgumentsReg = R1;
     const Register kTempReg = kNoRegister;
-    const SubtypeTestCache& type_test_cache =
-        SubtypeTestCache::ZoneHandle(zone(),
-            GenerateCallSubtypeTestStub(kTestTypeThreeArgs,
-                                        kInstanceReg,
-                                        kTypeArgumentsReg,
-                                        kTempReg,
-                                        is_instance_lbl,
-                                        is_not_instance_lbl));
+    const SubtypeTestCache& type_test_cache = SubtypeTestCache::ZoneHandle(
+        zone(), GenerateCallSubtypeTestStub(
+                    kTestTypeThreeArgs, kInstanceReg, kTypeArgumentsReg,
+                    kTempReg, is_instance_lbl, is_not_instance_lbl));
     __ Bind(&fall_through);
     return type_test_cache.raw();
   }
@@ -513,12 +494,9 @@
     // Uninstantiated type class is known at compile time, but the type
     // arguments are determined at runtime by the instantiator.
     const Register kTempReg = kNoRegister;
-    return GenerateCallSubtypeTestStub(kTestTypeThreeArgs,
-                                       kInstanceReg,
-                                       kTypeArgumentsReg,
-                                       kTempReg,
-                                       is_instance_lbl,
-                                       is_not_instance_lbl);
+    return GenerateCallSubtypeTestStub(kTestTypeThreeArgs, kInstanceReg,
+                                       kTypeArgumentsReg, kTempReg,
+                                       is_instance_lbl, is_not_instance_lbl);
   }
   return SubtypeTestCache::null();
 }
@@ -550,17 +528,12 @@
     // function type) of a non-parameterized class or with a raw dst type of
     // a parameterized class.
     if (type.IsFunctionType() || (type_class.NumTypeArguments() > 0)) {
-      return GenerateInstantiatedTypeWithArgumentsTest(token_pos,
-                                                       type,
-                                                       is_instance_lbl,
-                                                       is_not_instance_lbl);
+      return GenerateInstantiatedTypeWithArgumentsTest(
+          token_pos, type, is_instance_lbl, is_not_instance_lbl);
       // Fall through to runtime call.
     }
-    const bool has_fall_through =
-        GenerateInstantiatedTypeNoArgumentsTest(token_pos,
-                                                type,
-                                                is_instance_lbl,
-                                                is_not_instance_lbl);
+    const bool has_fall_through = GenerateInstantiatedTypeNoArgumentsTest(
+        token_pos, type, is_instance_lbl, is_not_instance_lbl);
     if (has_fall_through) {
       // If test non-conclusive so far, try the inlined type-test cache.
       // 'type' is known at compile time.
@@ -570,9 +543,7 @@
       return SubtypeTestCache::null();
     }
   }
-  return GenerateUninstantiatedTypeTest(token_pos,
-                                        type,
-                                        is_instance_lbl,
+  return GenerateUninstantiatedTypeTest(token_pos, type, is_instance_lbl,
                                         is_not_instance_lbl);
 }
 
@@ -614,8 +585,8 @@
 
   // Generate inline instanceof test.
   SubtypeTestCache& test_cache = SubtypeTestCache::ZoneHandle(zone());
-  test_cache = GenerateInlineInstanceof(token_pos, type,
-                                        &is_instance, &is_not_instance);
+  test_cache =
+      GenerateInlineInstanceof(token_pos, type, &is_instance, &is_not_instance);
 
   // test_cache is null if there is no fall-through.
   Label done;
@@ -624,8 +595,8 @@
     // Load instantiator type arguments (R1).
     __ ldr(R1, Address(SP, 0 * kWordSize));
     __ PushObject(Object::null_object());  // Make room for the result.
-    __ Push(R0);  // Push the instance.
-    __ PushObject(type);  // Push the type.
+    __ Push(R0);                           // Push the instance.
+    __ PushObject(type);                   // Push the type.
     __ Push(R1);  // Push instantiator type arguments (R1).
     __ LoadUniqueObject(R0, test_cache);
     __ Push(R0);
@@ -688,13 +659,10 @@
   // Generate throw new TypeError() if the type is malformed or malbounded.
   if (dst_type.IsMalformedOrMalbounded()) {
     __ PushObject(Object::null_object());  // Make room for the result.
-    __ Push(R0);  // Push the source object.
-    __ PushObject(dst_name);  // Push the name of the destination.
-    __ PushObject(dst_type);  // Push the type of the destination.
-    GenerateRuntimeCall(token_pos,
-                        deopt_id,
-                        kBadTypeErrorRuntimeEntry,
-                        3,
+    __ Push(R0);                           // Push the source object.
+    __ PushObject(dst_name);               // Push the name of the destination.
+    __ PushObject(dst_type);               // Push the type of the destination.
+    GenerateRuntimeCall(token_pos, deopt_id, kBadTypeErrorRuntimeEntry, 3,
                         locs);
     // We should never return here.
     __ bkpt(0);
@@ -707,16 +675,16 @@
 
   // Generate inline type check, linking to runtime call if not assignable.
   SubtypeTestCache& test_cache = SubtypeTestCache::ZoneHandle(zone());
-  test_cache = GenerateInlineInstanceof(token_pos, dst_type,
-                                        &is_assignable, &runtime_call);
+  test_cache = GenerateInlineInstanceof(token_pos, dst_type, &is_assignable,
+                                        &runtime_call);
 
   __ Bind(&runtime_call);
   // Load instantiator type arguments (R1).
   __ ldr(R1, Address(SP, 0 * kWordSize));
   __ PushObject(Object::null_object());  // Make room for the result.
-  __ Push(R0);  // Push the source object.
-  __ PushObject(dst_type);  // Push the type of the destination.
-  __ Push(R1);  // Push instantiator type arguments (R1).
+  __ Push(R0);                           // Push the source object.
+  __ PushObject(dst_type);               // Push the type of the destination.
+  __ Push(R1);              // Push instantiator type arguments (R1).
   __ PushObject(dst_name);  // Push the name of the destination.
   __ LoadUniqueObject(R0, test_cache);
   __ Push(R0);
@@ -805,9 +773,9 @@
   // Copy or initialize optional named arguments.
   Label all_arguments_processed;
 #ifdef DEBUG
-    const bool check_correct_named_args = true;
+  const bool check_correct_named_args = true;
 #else
-    const bool check_correct_named_args = function.IsClosureFunction();
+  const bool check_correct_named_args = function.IsClosureFunction();
 #endif
   if (num_opt_named_params > 0) {
     // Start by alphabetically sorting the names of the optional parameters.
@@ -838,8 +806,8 @@
     __ add(NOTFP, FP, Operand(NOTFP, LSL, 1));
     __ AddImmediate(NOTFP, NOTFP, kParamEndSlotFromFp * kWordSize);
     // Let R8 point to the entry of the first named argument.
-    __ add(R8, R4, Operand(
-        ArgumentsDescriptor::first_named_entry_offset() - kHeapObjectTag));
+    __ add(R8, R4, Operand(ArgumentsDescriptor::first_named_entry_offset() -
+                           kHeapObjectTag));
     for (int i = 0; i < num_opt_named_params; i++) {
       Label load_default_value, assign_optional_parameter;
       const int param_pos = opt_param_position[i];
@@ -978,8 +946,7 @@
 
 void FlowGraphCompiler::EmitFrameEntry() {
   const Function& function = parsed_function().function();
-  if (CanOptimizeFunction() &&
-      function.IsOptimizable() &&
+  if (CanOptimizeFunction() && function.IsOptimizable() &&
       (!is_optimizing() || may_reoptimize())) {
     __ Comment("Invocation Count Check");
     const Register function_reg = R8;
@@ -989,14 +956,12 @@
     // Load function object from object pool.
     __ LoadFunctionFromCalleePool(function_reg, function, new_pp);
 
-    __ ldr(R3, FieldAddress(function_reg,
-                            Function::usage_counter_offset()));
+    __ ldr(R3, FieldAddress(function_reg, Function::usage_counter_offset()));
     // Reoptimization of an optimized function is triggered by counting in
     // IC stubs, but not at the entry of the function.
     if (!is_optimizing()) {
       __ add(R3, R3, Operand(1));
-      __ str(R3, FieldAddress(function_reg,
-                              Function::usage_counter_offset()));
+      __ str(R3, FieldAddress(function_reg, Function::usage_counter_offset()));
     }
     __ CompareImmediate(R3, GetOptimizationThreshold());
     ASSERT(function_reg == R8);
@@ -1004,9 +969,8 @@
   }
   __ Comment("Enter frame");
   if (flow_graph().IsCompiledForOsr()) {
-    intptr_t extra_slots = StackSize()
-        - flow_graph().num_stack_locals()
-        - flow_graph().num_copied_params();
+    intptr_t extra_slots = StackSize() - flow_graph().num_stack_locals() -
+                           flow_graph().num_copied_params();
     ASSERT(extra_slots >= 0);
     __ EnterOsrFrame(extra_slots * kWordSize);
   } else {
@@ -1059,8 +1023,8 @@
       __ ldr(R0, FieldAddress(R4, ArgumentsDescriptor::count_offset()));
       __ CompareImmediate(R0, Smi::RawValue(num_fixed_params));
       __ b(&wrong_num_arguments, NE);
-      __ ldr(R1, FieldAddress(R4,
-                              ArgumentsDescriptor::positional_count_offset()));
+      __ ldr(R1,
+             FieldAddress(R4, ArgumentsDescriptor::positional_count_offset()));
       __ cmp(R0, Operand(R1));
       __ b(&correct_num_arguments, EQ);
       __ Bind(&wrong_num_arguments);
@@ -1146,8 +1110,7 @@
   } else {
     // Add deoptimization continuation point after the call and before the
     // arguments are removed.
-    AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-        deopt_id_after, token_pos);
+    AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after, token_pos);
   }
 }
 
@@ -1174,8 +1137,7 @@
   } else {
     // Add deoptimization continuation point after the call and before the
     // arguments are removed.
-    AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-        deopt_id_after, token_pos);
+    AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after, token_pos);
   }
   AddStaticCallTarget(target);
 }
@@ -1198,9 +1160,7 @@
     } else {
       // Add deoptimization continuation point after the call and before the
       // arguments are removed.
-      AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                           deopt_id_after,
-                           token_pos);
+      AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after, token_pos);
     }
   }
 }
@@ -1229,13 +1189,12 @@
 }
 
 
-void FlowGraphCompiler::EmitOptimizedInstanceCall(
-    const StubEntry& stub_entry,
-    const ICData& ic_data,
-    intptr_t argument_count,
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    LocationSummary* locs) {
+void FlowGraphCompiler::EmitOptimizedInstanceCall(const StubEntry& stub_entry,
+                                                  const ICData& ic_data,
+                                                  intptr_t argument_count,
+                                                  intptr_t deopt_id,
+                                                  TokenPosition token_pos,
+                                                  LocationSummary* locs) {
   ASSERT(Array::Handle(zone(), ic_data.arguments_descriptor()).Length() > 0);
   // Each ICData propagated from unoptimized to optimized code contains the
   // function that corresponds to the Dart function of that IC call. Due
@@ -1246,10 +1205,7 @@
 
   __ LoadObject(R8, parsed_function().function());
   __ LoadUniqueObject(R9, ic_data);
-  GenerateDartCall(deopt_id,
-                   token_pos,
-                   stub_entry,
-                   RawPcDescriptors::kIcCall,
+  GenerateDartCall(deopt_id, token_pos, stub_entry, RawPcDescriptors::kIcCall,
                    locs);
   __ Drop(argument_count);
 }
@@ -1263,10 +1219,7 @@
                                          LocationSummary* locs) {
   ASSERT(Array::Handle(zone(), ic_data.arguments_descriptor()).Length() > 0);
   __ LoadUniqueObject(R9, ic_data);
-  GenerateDartCall(deopt_id,
-                   token_pos,
-                   stub_entry,
-                   RawPcDescriptors::kIcCall,
+  GenerateDartCall(deopt_id, token_pos, stub_entry, RawPcDescriptors::kIcCall,
                    locs);
   __ Drop(argument_count);
 }
@@ -1284,7 +1237,8 @@
   const Array& arguments_descriptor =
       Array::ZoneHandle(zone(), ic_data.arguments_descriptor());
   ASSERT(!arguments_descriptor.IsNull() && (arguments_descriptor.Length() > 0));
-  const MegamorphicCache& cache = MegamorphicCache::ZoneHandle(zone(),
+  const MegamorphicCache& cache = MegamorphicCache::ZoneHandle(
+      zone(),
       MegamorphicCacheTable::Lookup(isolate(), name, arguments_descriptor));
 
   __ Comment("MegamorphicCall");
@@ -1306,7 +1260,7 @@
     ASSERT(Smi::New(0) == 0);
     __ cmp(R0, Operand(0));
 
-    __ b(&done, NE);  // Return if already computed.
+    __ b(&done, NE);          // Return if already computed.
     __ mov(R0, Operand(R9));  // Restore receiver in R0.
 
     __ Bind(&megamorphic_call);
@@ -1325,36 +1279,32 @@
     if (try_index == CatchClauseNode::kInvalidTryIndex) {
       try_index = CurrentTryIndex();
     }
-    pc_descriptors_list()->AddDescriptor(RawPcDescriptors::kOther,
-                                         assembler()->CodeSize(),
-                                         Thread::kNoDeoptId,
-                                         token_pos,
-                                         try_index);
+    pc_descriptors_list()->AddDescriptor(
+        RawPcDescriptors::kOther, assembler()->CodeSize(), Thread::kNoDeoptId,
+        token_pos, try_index);
   } else if (is_optimizing()) {
-    AddCurrentDescriptor(RawPcDescriptors::kOther,
-                         Thread::kNoDeoptId, token_pos);
+    AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
+                         token_pos);
     AddDeoptIndexAtCall(deopt_id_after);
   } else {
-    AddCurrentDescriptor(RawPcDescriptors::kOther,
-        Thread::kNoDeoptId, token_pos);
+    AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
+                         token_pos);
     // Add deoptimization continuation point after the call and before the
     // arguments are removed.
-    AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-        deopt_id_after, token_pos);
+    AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after, token_pos);
   }
   __ Drop(argument_count);
 }
 
 
-void FlowGraphCompiler::EmitSwitchableInstanceCall(
-    const ICData& ic_data,
-    intptr_t argument_count,
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    LocationSummary* locs) {
+void FlowGraphCompiler::EmitSwitchableInstanceCall(const ICData& ic_data,
+                                                   intptr_t argument_count,
+                                                   intptr_t deopt_id,
+                                                   TokenPosition token_pos,
+                                                   LocationSummary* locs) {
   ASSERT(ic_data.NumArgsTested() == 1);
-  const Code& initial_stub = Code::ZoneHandle(
-      StubCode::ICCallThroughFunction_entry()->code());
+  const Code& initial_stub =
+      Code::ZoneHandle(StubCode::ICCallThroughFunction_entry()->code());
 
   __ Comment("SwitchableCall");
 
@@ -1372,27 +1322,22 @@
   } else {
     // Add deoptimization continuation point after the call and before the
     // arguments are removed.
-    AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-        deopt_id_after, token_pos);
+    AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after, token_pos);
   }
   __ Drop(argument_count);
 }
 
 
-void FlowGraphCompiler::EmitUnoptimizedStaticCall(
-    intptr_t argument_count,
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    LocationSummary* locs,
-    const ICData& ic_data) {
+void FlowGraphCompiler::EmitUnoptimizedStaticCall(intptr_t argument_count,
+                                                  intptr_t deopt_id,
+                                                  TokenPosition token_pos,
+                                                  LocationSummary* locs,
+                                                  const ICData& ic_data) {
   const StubEntry* stub_entry =
       StubCode::UnoptimizedStaticCallEntry(ic_data.NumArgsTested());
   __ LoadObject(R9, ic_data);
-  GenerateDartCall(deopt_id,
-                   token_pos,
-                   *stub_entry,
-                   RawPcDescriptors::kUnoptStaticCall,
-                   locs);
+  GenerateDartCall(deopt_id, token_pos, *stub_entry,
+                   RawPcDescriptors::kUnoptStaticCall, locs);
   __ Drop(argument_count);
 }
 
@@ -1412,12 +1357,9 @@
   }
   // Do not use the code from the function, but let the code be patched so that
   // we can record the outgoing edges to other code.
-  GenerateStaticDartCall(deopt_id,
-                         token_pos,
+  GenerateStaticDartCall(deopt_id, token_pos,
                          *StubCode::CallStaticFunction_entry(),
-                         RawPcDescriptors::kOther,
-                         locs,
-                         function);
+                         RawPcDescriptors::kOther, locs, function);
   __ Drop(argument_count);
 }
 
@@ -1439,12 +1381,11 @@
           *StubCode::UnoptimizedIdenticalWithNumberCheck_entry());
     }
     if (token_pos.IsReal()) {
-      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall,
-                           Thread::kNoDeoptId,
+      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall, Thread::kNoDeoptId,
                            token_pos);
     }
     // Stub returns result in flags (result of a cmp, we need Z computed).
-    __ Drop(1);  // Discard constant.
+    __ Drop(1);   // Discard constant.
     __ Pop(reg);  // Restore 'reg'.
   } else {
     __ CompareObject(reg, obj);
@@ -1469,8 +1410,7 @@
           *StubCode::UnoptimizedIdenticalWithNumberCheck_entry());
     }
     if (token_pos.IsReal()) {
-      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall,
-                           Thread::kNoDeoptId,
+      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall, Thread::kNoDeoptId,
                            token_pos);
     }
     // Stub returns result in flags (result of a cmp, we need Z computed).
@@ -1587,9 +1527,8 @@
                                         bool complete) {
   ASSERT(is_optimizing());
   __ Comment("EmitTestAndCall");
-  const Array& arguments_descriptor =
-      Array::ZoneHandle(zone(), ArgumentsDescriptor::New(argument_count,
-                                                         argument_names));
+  const Array& arguments_descriptor = Array::ZoneHandle(
+      zone(), ArgumentsDescriptor::New(argument_count, argument_names));
 
   // Load receiver into R0.
   __ LoadFromOffset(kWord, R0, SP, (argument_count - 1) * kWordSize);
@@ -1611,14 +1550,11 @@
     }
     // Do not use the code from the function, but let the code be patched so
     // that we can record the outgoing edges to other code.
-    const Function& function = Function::ZoneHandle(
-        zone(), ic_data.GetTargetAt(0));
-    GenerateStaticDartCall(deopt_id,
-                           token_index,
+    const Function& function =
+        Function::ZoneHandle(zone(), ic_data.GetTargetAt(0));
+    GenerateStaticDartCall(deopt_id, token_index,
                            *StubCode::CallStaticFunction_entry(),
-                           RawPcDescriptors::kOther,
-                           locs,
-                           function);
+                           RawPcDescriptors::kOther, locs, function);
     __ Drop(argument_count);
     if (kNumChecks > 1) {
       __ b(match_found);
@@ -1664,12 +1600,9 @@
     // Do not use the code from the function, but let the code be patched so
     // that we can record the outgoing edges to other code.
     const Function& function = *sorted[i].target;
-    GenerateStaticDartCall(deopt_id,
-                           token_index,
+    GenerateStaticDartCall(deopt_id, token_index,
                            *StubCode::CallStaticFunction_entry(),
-                           RawPcDescriptors::kOther,
-                           locs,
-                           function);
+                           RawPcDescriptors::kOther, locs, function);
     __ Drop(argument_count);
     if (!kIsLastCheck) {
       __ b(match_found);
@@ -1694,14 +1627,14 @@
     } else {
       ASSERT(destination.IsStackSlot());
       const intptr_t dest_offset = destination.ToStackSlotOffset();
-      __ StoreToOffset(
-          kWord, source.reg(), destination.base_reg(), dest_offset);
+      __ StoreToOffset(kWord, source.reg(), destination.base_reg(),
+                       dest_offset);
     }
   } else if (source.IsStackSlot()) {
     if (destination.IsRegister()) {
       const intptr_t source_offset = source.ToStackSlotOffset();
-      __ LoadFromOffset(
-          kWord, destination.reg(), source.base_reg(), source_offset);
+      __ LoadFromOffset(kWord, destination.reg(), source.base_reg(),
+                        source_offset);
     } else {
       ASSERT(destination.IsStackSlot());
       const intptr_t source_offset = source.ToStackSlotOffset();
@@ -1728,8 +1661,8 @@
         ASSERT(destination.IsQuadStackSlot());
         const intptr_t dest_offset = destination.ToStackSlotOffset();
         const DRegister dsrc0 = EvenDRegisterOf(source.fpu_reg());
-        __ StoreMultipleDToOffset(
-            dsrc0, 2, destination.base_reg(), dest_offset);
+        __ StoreMultipleDToOffset(dsrc0, 2, destination.base_reg(),
+                                  dest_offset);
       }
     }
   } else if (source.IsDoubleStackSlot()) {
@@ -1816,11 +1749,10 @@
     __ mov(source.reg(), Operand(destination.reg()));
     __ mov(destination.reg(), Operand(IP));
   } else if (source.IsRegister() && destination.IsStackSlot()) {
-    Exchange(source.reg(),
-             destination.base_reg(), destination.ToStackSlotOffset());
+    Exchange(source.reg(), destination.base_reg(),
+             destination.ToStackSlotOffset());
   } else if (source.IsStackSlot() && destination.IsRegister()) {
-    Exchange(destination.reg(),
-             source.base_reg(), source.ToStackSlotOffset());
+    Exchange(destination.reg(), source.base_reg(), source.ToStackSlotOffset());
   } else if (source.IsStackSlot() && destination.IsStackSlot()) {
     Exchange(source.base_reg(), source.ToStackSlotOffset(),
              destination.base_reg(), destination.ToStackSlotOffset());
@@ -1839,21 +1771,18 @@
       __ vmovd(dst, DTMP);
     }
   } else if (source.IsFpuRegister() || destination.IsFpuRegister()) {
-    ASSERT(destination.IsDoubleStackSlot() ||
-           destination.IsQuadStackSlot() ||
-           source.IsDoubleStackSlot() ||
-           source.IsQuadStackSlot());
-    bool double_width = destination.IsDoubleStackSlot() ||
-                        source.IsDoubleStackSlot();
-    QRegister qreg = source.IsFpuRegister() ? source.fpu_reg()
-                                            : destination.fpu_reg();
+    ASSERT(destination.IsDoubleStackSlot() || destination.IsQuadStackSlot() ||
+           source.IsDoubleStackSlot() || source.IsQuadStackSlot());
+    bool double_width =
+        destination.IsDoubleStackSlot() || source.IsDoubleStackSlot();
+    QRegister qreg =
+        source.IsFpuRegister() ? source.fpu_reg() : destination.fpu_reg();
     DRegister reg = EvenDRegisterOf(qreg);
-    Register base_reg = source.IsFpuRegister()
-        ? destination.base_reg()
-        : source.base_reg();
+    Register base_reg =
+        source.IsFpuRegister() ? destination.base_reg() : source.base_reg();
     const intptr_t slot_offset = source.IsFpuRegister()
-        ? destination.ToStackSlotOffset()
-        : source.ToStackSlotOffset();
+                                     ? destination.ToStackSlotOffset()
+                                     : source.ToStackSlotOffset();
 
     if (double_width) {
       __ LoadDFromOffset(DTMP, base_reg, slot_offset);
@@ -1883,8 +1812,8 @@
     __ LoadMultipleDFromOffset(DTMP, 2, source.base_reg(), source_offset);
     __ LoadMultipleDFromOffset(scratch, 2, destination.base_reg(), dest_offset);
     __ StoreMultipleDToOffset(DTMP, 2, destination.base_reg(), dest_offset);
-    __ StoreMultipleDToOffset(
-        scratch, 2, destination.base_reg(), source_offset);
+    __ StoreMultipleDToOffset(scratch, 2, destination.base_reg(),
+                              source_offset);
   } else {
     UNREACHABLE();
   }
diff --git a/runtime/vm/flow_graph_compiler_arm64.cc b/runtime/vm/flow_graph_compiler_arm64.cc
index 326ca58..09ff218 100644
--- a/runtime/vm/flow_graph_compiler_arm64.cc
+++ b/runtime/vm/flow_graph_compiler_arm64.cc
@@ -116,8 +116,7 @@
 
   // For the innermost environment, set outgoing arguments and the locals.
   for (intptr_t i = current->Length() - 1;
-       i >= current->fixed_parameter_count();
-       i--) {
+       i >= current->fixed_parameter_count(); i--) {
     builder->AddCopy(current->ValueAt(i), current->LocationAt(i), slot_ix++);
   }
 
@@ -130,26 +129,21 @@
 
     // For any outer environment the deopt id is that of the call instruction
     // which is recorded in the outer environment.
-    builder->AddReturnAddress(
-        current->function(),
-        Thread::ToDeoptAfter(current->deopt_id()),
-        slot_ix++);
+    builder->AddReturnAddress(current->function(),
+                              Thread::ToDeoptAfter(current->deopt_id()),
+                              slot_ix++);
 
     // The values of outgoing arguments can be changed from the inlined call so
     // we must read them from the previous environment.
     for (intptr_t i = previous->fixed_parameter_count() - 1; i >= 0; i--) {
-      builder->AddCopy(previous->ValueAt(i),
-                       previous->LocationAt(i),
+      builder->AddCopy(previous->ValueAt(i), previous->LocationAt(i),
                        slot_ix++);
     }
 
     // Set the locals, note that outgoing arguments are not in the environment.
     for (intptr_t i = current->Length() - 1;
-         i >= current->fixed_parameter_count();
-         i--) {
-      builder->AddCopy(current->ValueAt(i),
-                       current->LocationAt(i),
-                       slot_ix++);
+         i >= current->fixed_parameter_count(); i--) {
+      builder->AddCopy(current->ValueAt(i), current->LocationAt(i), slot_ix++);
     }
 
     // Iterate on the outer environment.
@@ -281,7 +275,7 @@
     const TypeArguments& type_arguments =
         TypeArguments::ZoneHandle(zone(), type.arguments());
     const bool is_raw_type = type_arguments.IsNull() ||
-        type_arguments.IsRaw(from_index, num_type_params);
+                             type_arguments.IsRaw(from_index, num_type_params);
     if (is_raw_type) {
       const Register kClassIdReg = R2;
       // dynamic type argument, check only classes.
@@ -297,8 +291,8 @@
     }
     // If one type argument only, check if type argument is Object or dynamic.
     if (type_arguments.Length() == 1) {
-      const AbstractType& tp_argument = AbstractType::ZoneHandle(
-          zone(), type_arguments.TypeAt(0));
+      const AbstractType& tp_argument =
+          AbstractType::ZoneHandle(zone(), type_arguments.TypeAt(0));
       ASSERT(!tp_argument.IsMalformed());
       if (tp_argument.IsType()) {
         ASSERT(tp_argument.HasResolvedTypeClass());
@@ -316,12 +310,9 @@
   const Register kTypeArgumentsReg = kNoRegister;
   const Register kTempReg = kNoRegister;
   // R0: instance (must be preserved).
-  return GenerateCallSubtypeTestStub(kTestTypeTwoArgs,
-                                     kInstanceReg,
-                                     kTypeArgumentsReg,
-                                     kTempReg,
-                                     is_instance_lbl,
-                                     is_not_instance_lbl);
+  return GenerateCallSubtypeTestStub(kTestTypeTwoArgs, kInstanceReg,
+                                     kTypeArgumentsReg, kTempReg,
+                                     is_instance_lbl, is_not_instance_lbl);
 }
 
 
@@ -360,11 +351,8 @@
   __ tsti(kInstanceReg, Immediate(kSmiTagMask));
   // If instance is Smi, check directly.
   const Class& smi_class = Class::Handle(zone(), Smi::Class());
-  if (smi_class.IsSubtypeOf(TypeArguments::Handle(zone()),
-                            type_class,
-                            TypeArguments::Handle(zone()),
-                            NULL,
-                            NULL,
+  if (smi_class.IsSubtypeOf(TypeArguments::Handle(zone()), type_class,
+                            TypeArguments::Handle(zone()), NULL, NULL,
                             Heap::kOld)) {
     __ b(is_instance_lbl, EQ);
   } else {
@@ -384,8 +372,8 @@
   // Custom checking for numbers (Smi, Mint, Bigint and Double).
   // Note that instance is not Smi (checked above).
   if (type.IsNumberType() || type.IsIntType() || type.IsDoubleType()) {
-    GenerateNumberTypeCheck(
-        kClassIdReg, type, is_instance_lbl, is_not_instance_lbl);
+    GenerateNumberTypeCheck(kClassIdReg, type, is_instance_lbl,
+                            is_not_instance_lbl);
     return false;
   }
   if (type.IsStringType()) {
@@ -432,12 +420,9 @@
 
   const Register kTypeArgumentsReg = kNoRegister;
   const Register kTempReg = kNoRegister;
-  return GenerateCallSubtypeTestStub(kTestTypeOneArg,
-                                     kInstanceReg,
-                                     kTypeArgumentsReg,
-                                     kTempReg,
-                                     is_instance_lbl,
-                                     is_not_instance_lbl);
+  return GenerateCallSubtypeTestStub(kTestTypeOneArg, kInstanceReg,
+                                     kTypeArgumentsReg, kTempReg,
+                                     is_instance_lbl, is_not_instance_lbl);
 }
 
 
@@ -459,8 +444,8 @@
     // Check if type arguments are null, i.e. equivalent to vector of dynamic.
     __ CompareObject(R1, Object::null_object());
     __ b(is_instance_lbl, EQ);
-    __ LoadFieldFromOffset(
-        R2, R1, TypeArguments::type_at_offset(type_param.index()));
+    __ LoadFieldFromOffset(R2, R1,
+                           TypeArguments::type_at_offset(type_param.index()));
     // R2: concrete type of type.
     // Check if type argument is dynamic.
     __ CompareObject(R2, Object::dynamic_type());
@@ -486,14 +471,10 @@
     const Register kInstanceReg = R0;
     const Register kTypeArgumentsReg = R1;
     const Register kTempReg = kNoRegister;
-    const SubtypeTestCache& type_test_cache =
-        SubtypeTestCache::ZoneHandle(zone(),
-            GenerateCallSubtypeTestStub(kTestTypeThreeArgs,
-                                        kInstanceReg,
-                                        kTypeArgumentsReg,
-                                        kTempReg,
-                                        is_instance_lbl,
-                                        is_not_instance_lbl));
+    const SubtypeTestCache& type_test_cache = SubtypeTestCache::ZoneHandle(
+        zone(), GenerateCallSubtypeTestStub(
+                    kTestTypeThreeArgs, kInstanceReg, kTypeArgumentsReg,
+                    kTempReg, is_instance_lbl, is_not_instance_lbl));
     __ Bind(&fall_through);
     return type_test_cache.raw();
   }
@@ -506,12 +487,9 @@
     // Uninstantiated type class is known at compile time, but the type
     // arguments are determined at runtime by the instantiator.
     const Register kTempReg = kNoRegister;
-    return GenerateCallSubtypeTestStub(kTestTypeThreeArgs,
-                                       kInstanceReg,
-                                       kTypeArgumentsReg,
-                                       kTempReg,
-                                       is_instance_lbl,
-                                       is_not_instance_lbl);
+    return GenerateCallSubtypeTestStub(kTestTypeThreeArgs, kInstanceReg,
+                                       kTypeArgumentsReg, kTempReg,
+                                       is_instance_lbl, is_not_instance_lbl);
   }
   return SubtypeTestCache::null();
 }
@@ -543,17 +521,12 @@
     // function type) of a non-parameterized class or with a raw dst type of
     // a parameterized class.
     if (type.IsFunctionType() || (type_class.NumTypeArguments() > 0)) {
-      return GenerateInstantiatedTypeWithArgumentsTest(token_pos,
-                                                       type,
-                                                       is_instance_lbl,
-                                                       is_not_instance_lbl);
+      return GenerateInstantiatedTypeWithArgumentsTest(
+          token_pos, type, is_instance_lbl, is_not_instance_lbl);
       // Fall through to runtime call.
     }
-    const bool has_fall_through =
-        GenerateInstantiatedTypeNoArgumentsTest(token_pos,
-                                                type,
-                                                is_instance_lbl,
-                                                is_not_instance_lbl);
+    const bool has_fall_through = GenerateInstantiatedTypeNoArgumentsTest(
+        token_pos, type, is_instance_lbl, is_not_instance_lbl);
     if (has_fall_through) {
       // If test non-conclusive so far, try the inlined type-test cache.
       // 'type' is known at compile time.
@@ -563,9 +536,7 @@
       return SubtypeTestCache::null();
     }
   }
-  return GenerateUninstantiatedTypeTest(token_pos,
-                                        type,
-                                        is_instance_lbl,
+  return GenerateUninstantiatedTypeTest(token_pos, type, is_instance_lbl,
                                         is_not_instance_lbl);
 }
 
@@ -607,8 +578,8 @@
 
   // Generate inline instanceof test.
   SubtypeTestCache& test_cache = SubtypeTestCache::ZoneHandle(zone());
-  test_cache = GenerateInlineInstanceof(token_pos, type,
-                                        &is_instance, &is_not_instance);
+  test_cache =
+      GenerateInlineInstanceof(token_pos, type, &is_instance, &is_not_instance);
 
   // test_cache is null if there is no fall-through.
   Label done;
@@ -617,8 +588,8 @@
     // Load instantiator (R2) and its type arguments (R1).
     __ ldr(R1, Address(SP, 0 * kWordSize));
     __ PushObject(Object::null_object());  // Make room for the result.
-    __ Push(R0);  // Push the instance.
-    __ PushObject(type);  // Push the type.
+    __ Push(R0);                           // Push the instance.
+    __ PushObject(type);                   // Push the type.
     __ Push(R1);  // Push instantiator type arguments (R1).
     __ LoadUniqueObject(R0, test_cache);
     __ Push(R0);
@@ -681,13 +652,10 @@
   // Generate throw new TypeError() if the type is malformed or malbounded.
   if (dst_type.IsMalformedOrMalbounded()) {
     __ PushObject(Object::null_object());  // Make room for the result.
-    __ Push(R0);  // Push the source object.
-    __ PushObject(dst_name);  // Push the name of the destination.
-    __ PushObject(dst_type);  // Push the type of the destination.
-    GenerateRuntimeCall(token_pos,
-                        deopt_id,
-                        kBadTypeErrorRuntimeEntry,
-                        3,
+    __ Push(R0);                           // Push the source object.
+    __ PushObject(dst_name);               // Push the name of the destination.
+    __ PushObject(dst_type);               // Push the type of the destination.
+    GenerateRuntimeCall(token_pos, deopt_id, kBadTypeErrorRuntimeEntry, 3,
                         locs);
     // We should never return here.
     __ brk(0);
@@ -700,15 +668,15 @@
 
   // Generate inline type check, linking to runtime call if not assignable.
   SubtypeTestCache& test_cache = SubtypeTestCache::ZoneHandle(zone());
-  test_cache = GenerateInlineInstanceof(token_pos, dst_type,
-                                        &is_assignable, &runtime_call);
+  test_cache = GenerateInlineInstanceof(token_pos, dst_type, &is_assignable,
+                                        &runtime_call);
 
   __ Bind(&runtime_call);
   __ ldr(R1, Address(SP));  // Load instantiator type arguments (R1).
   __ PushObject(Object::null_object());  // Make room for the result.
-  __ Push(R0);  // Push the source object.
-  __ PushObject(dst_type);  // Push the type of the destination.
-  __ Push(R1);  // Push instantiator type arguments (R1).
+  __ Push(R0);                           // Push the source object.
+  __ PushObject(dst_type);               // Push the type of the destination.
+  __ Push(R1);              // Push instantiator type arguments (R1).
   __ PushObject(dst_name);  // Push the name of the destination.
   __ LoadUniqueObject(R0, test_cache);
   __ Push(R0);
@@ -754,8 +722,8 @@
   const int min_num_pos_args = num_fixed_params;
   const int max_num_pos_args = num_fixed_params + num_opt_pos_params;
 
-  __ LoadFieldFromOffset(
-      R8, R4, ArgumentsDescriptor::positional_count_offset());
+  __ LoadFieldFromOffset(R8, R4,
+                         ArgumentsDescriptor::positional_count_offset());
   // Check that min_num_pos_args <= num_pos_args.
   Label wrong_num_arguments;
   __ CompareImmediate(R8, Smi::RawValue(min_num_pos_args));
@@ -798,9 +766,9 @@
   // Copy or initialize optional named arguments.
   Label all_arguments_processed;
 #ifdef DEBUG
-    const bool check_correct_named_args = true;
+  const bool check_correct_named_args = true;
 #else
-    const bool check_correct_named_args = function.IsClosureFunction();
+  const bool check_correct_named_args = function.IsClosureFunction();
 #endif
   if (num_opt_named_params > 0) {
     // Start by alphabetically sorting the names of the optional parameters.
@@ -823,16 +791,16 @@
     }
     // Generate code handling each optional parameter in alphabetical order.
     __ LoadFieldFromOffset(R7, R4, ArgumentsDescriptor::count_offset());
-    __ LoadFieldFromOffset(
-        R8, R4, ArgumentsDescriptor::positional_count_offset());
+    __ LoadFieldFromOffset(R8, R4,
+                           ArgumentsDescriptor::positional_count_offset());
     __ SmiUntag(R8);
     // Let R7 point to the first passed argument, i.e. to
     // fp[kParamEndSlotFromFp + num_args - 0]; num_args (R7) is Smi.
     __ add(R7, FP, Operand(R7, LSL, 2));
     __ AddImmediate(R7, R7, kParamEndSlotFromFp * kWordSize);
     // Let R6 point to the entry of the first named argument.
-    __ add(R6, R4, Operand(
-        ArgumentsDescriptor::first_named_entry_offset() - kHeapObjectTag));
+    __ add(R6, R4, Operand(ArgumentsDescriptor::first_named_entry_offset() -
+                           kHeapObjectTag));
     for (int i = 0; i < num_opt_named_params; i++) {
       Label load_default_value, assign_optional_parameter;
       const int param_pos = opt_param_position[i];
@@ -877,8 +845,8 @@
     }
   } else {
     ASSERT(num_opt_pos_params > 0);
-    __ LoadFieldFromOffset(
-        R8, R4, ArgumentsDescriptor::positional_count_offset());
+    __ LoadFieldFromOffset(R8, R4,
+                           ArgumentsDescriptor::positional_count_offset());
     __ SmiUntag(R8);
     for (int i = 0; i < num_opt_pos_params; i++) {
       Label next_parameter;
@@ -968,8 +936,7 @@
 void FlowGraphCompiler::EmitFrameEntry() {
   const Function& function = parsed_function().function();
   Register new_pp = kNoRegister;
-  if (CanOptimizeFunction() &&
-      function.IsOptimizable() &&
+  if (CanOptimizeFunction() && function.IsOptimizable() &&
       (!is_optimizing() || may_reoptimize())) {
     __ Comment("Invocation Count Check");
     const Register function_reg = R6;
@@ -981,14 +948,14 @@
     // Load function object using the callee's pool pointer.
     __ LoadFunctionFromCalleePool(function_reg, function, new_pp);
 
-    __ LoadFieldFromOffset(
-        R7, function_reg, Function::usage_counter_offset(), kWord);
+    __ LoadFieldFromOffset(R7, function_reg, Function::usage_counter_offset(),
+                           kWord);
     // Reoptimization of an optimized function is triggered by counting in
     // IC stubs, but not at the entry of the function.
     if (!is_optimizing()) {
       __ add(R7, R7, Operand(1));
-      __ StoreFieldToOffset(
-          R7, function_reg, Function::usage_counter_offset(), kWord);
+      __ StoreFieldToOffset(R7, function_reg, Function::usage_counter_offset(),
+                            kWord);
     }
     __ CompareImmediate(R7, GetOptimizationThreshold());
     ASSERT(function_reg == R6);
@@ -999,9 +966,8 @@
   }
   __ Comment("Enter frame");
   if (flow_graph().IsCompiledForOsr()) {
-    intptr_t extra_slots = StackSize()
-        - flow_graph().num_stack_locals()
-        - flow_graph().num_copied_params();
+    intptr_t extra_slots = StackSize() - flow_graph().num_stack_locals() -
+                           flow_graph().num_copied_params();
     ASSERT(extra_slots >= 0);
     __ EnterOsrFrame(extra_slots * kWordSize, new_pp);
   } else {
@@ -1055,7 +1021,7 @@
       __ CompareImmediate(R0, Smi::RawValue(num_fixed_params));
       __ b(&wrong_num_arguments, NE);
       __ LoadFieldFromOffset(R1, R4,
-            ArgumentsDescriptor::positional_count_offset());
+                             ArgumentsDescriptor::positional_count_offset());
       __ CompareRegisters(R0, R1);
       __ b(&correct_num_arguments, EQ);
       __ Bind(&wrong_num_arguments);
@@ -1212,13 +1178,12 @@
 }
 
 
-void FlowGraphCompiler::EmitOptimizedInstanceCall(
-    const StubEntry& stub_entry,
-    const ICData& ic_data,
-    intptr_t argument_count,
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    LocationSummary* locs) {
+void FlowGraphCompiler::EmitOptimizedInstanceCall(const StubEntry& stub_entry,
+                                                  const ICData& ic_data,
+                                                  intptr_t argument_count,
+                                                  intptr_t deopt_id,
+                                                  TokenPosition token_pos,
+                                                  LocationSummary* locs) {
   ASSERT(Array::Handle(zone(), ic_data.arguments_descriptor()).Length() > 0);
   // Each ICData propagated from unoptimized to optimized code contains the
   // function that corresponds to the Dart function of that IC call. Due
@@ -1229,10 +1194,7 @@
 
   __ LoadObject(R6, parsed_function().function());
   __ LoadUniqueObject(R5, ic_data);
-  GenerateDartCall(deopt_id,
-                   token_pos,
-                   stub_entry,
-                   RawPcDescriptors::kIcCall,
+  GenerateDartCall(deopt_id, token_pos, stub_entry, RawPcDescriptors::kIcCall,
                    locs);
   __ Drop(argument_count);
 }
@@ -1246,10 +1208,7 @@
                                          LocationSummary* locs) {
   ASSERT(Array::Handle(zone(), ic_data.arguments_descriptor()).Length() > 0);
   __ LoadUniqueObject(R5, ic_data);
-  GenerateDartCall(deopt_id,
-                   token_pos,
-                   stub_entry,
-                   RawPcDescriptors::kIcCall,
+  GenerateDartCall(deopt_id, token_pos, stub_entry, RawPcDescriptors::kIcCall,
                    locs);
   __ Drop(argument_count);
 }
@@ -1267,7 +1226,8 @@
   const Array& arguments_descriptor =
       Array::ZoneHandle(zone(), ic_data.arguments_descriptor());
   ASSERT(!arguments_descriptor.IsNull() && (arguments_descriptor.Length() > 0));
-  const MegamorphicCache& cache = MegamorphicCache::ZoneHandle(zone(),
+  const MegamorphicCache& cache = MegamorphicCache::ZoneHandle(
+      zone(),
       MegamorphicCacheTable::Lookup(isolate(), name, arguments_descriptor));
 
   __ Comment("MegamorphicCall");
@@ -1307,18 +1267,16 @@
     if (try_index == CatchClauseNode::kInvalidTryIndex) {
       try_index = CurrentTryIndex();
     }
-    pc_descriptors_list()->AddDescriptor(RawPcDescriptors::kOther,
-                                         assembler()->CodeSize(),
-                                         Thread::kNoDeoptId,
-                                         token_pos,
-                                         try_index);
+    pc_descriptors_list()->AddDescriptor(
+        RawPcDescriptors::kOther, assembler()->CodeSize(), Thread::kNoDeoptId,
+        token_pos, try_index);
   } else if (is_optimizing()) {
-    AddCurrentDescriptor(RawPcDescriptors::kOther,
-        Thread::kNoDeoptId, token_pos);
+    AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
+                         token_pos);
     AddDeoptIndexAtCall(deopt_id_after);
   } else {
-    AddCurrentDescriptor(RawPcDescriptors::kOther,
-        Thread::kNoDeoptId, token_pos);
+    AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
+                         token_pos);
     // Add deoptimization continuation point after the call and before the
     // arguments are removed.
     AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after, token_pos);
@@ -1327,15 +1285,14 @@
 }
 
 
-void FlowGraphCompiler::EmitSwitchableInstanceCall(
-    const ICData& ic_data,
-    intptr_t argument_count,
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    LocationSummary* locs) {
+void FlowGraphCompiler::EmitSwitchableInstanceCall(const ICData& ic_data,
+                                                   intptr_t argument_count,
+                                                   intptr_t deopt_id,
+                                                   TokenPosition token_pos,
+                                                   LocationSummary* locs) {
   ASSERT(ic_data.NumArgsTested() == 1);
-  const Code& initial_stub = Code::ZoneHandle(
-      StubCode::ICCallThroughFunction_entry()->code());
+  const Code& initial_stub =
+      Code::ZoneHandle(StubCode::ICCallThroughFunction_entry()->code());
   __ Comment("SwitchableCall");
 
   __ LoadFromOffset(R0, SP, (argument_count - 1) * kWordSize);
@@ -1344,8 +1301,7 @@
   __ LoadUniqueObject(R5, ic_data);
   __ blr(TMP);
 
-  AddCurrentDescriptor(RawPcDescriptors::kOther,
-      Thread::kNoDeoptId, token_pos);
+  AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId, token_pos);
   RecordSafepoint(locs);
   const intptr_t deopt_id_after = Thread::ToDeoptAfter(deopt_id);
   if (is_optimizing()) {
@@ -1359,20 +1315,16 @@
 }
 
 
-void FlowGraphCompiler::EmitUnoptimizedStaticCall(
-    intptr_t argument_count,
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    LocationSummary* locs,
-    const ICData& ic_data) {
+void FlowGraphCompiler::EmitUnoptimizedStaticCall(intptr_t argument_count,
+                                                  intptr_t deopt_id,
+                                                  TokenPosition token_pos,
+                                                  LocationSummary* locs,
+                                                  const ICData& ic_data) {
   const StubEntry* stub_entry =
       StubCode::UnoptimizedStaticCallEntry(ic_data.NumArgsTested());
   __ LoadObject(R5, ic_data);
-  GenerateDartCall(deopt_id,
-                   token_pos,
-                   *stub_entry,
-                   RawPcDescriptors::kUnoptStaticCall,
-                   locs);
+  GenerateDartCall(deopt_id, token_pos, *stub_entry,
+                   RawPcDescriptors::kUnoptStaticCall, locs);
   __ Drop(argument_count);
 }
 
@@ -1392,12 +1344,9 @@
   }
   // Do not use the code from the function, but let the code be patched so that
   // we can record the outgoing edges to other code.
-  GenerateStaticDartCall(deopt_id,
-                         token_pos,
+  GenerateStaticDartCall(deopt_id, token_pos,
                          *StubCode::CallStaticFunction_entry(),
-                         RawPcDescriptors::kOther,
-                         locs,
-                         function);
+                         RawPcDescriptors::kOther, locs, function);
   __ Drop(argument_count);
 }
 
@@ -1419,12 +1368,11 @@
           *StubCode::UnoptimizedIdenticalWithNumberCheck_entry());
     }
     if (token_pos.IsReal()) {
-      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall,
-                           Thread::kNoDeoptId,
+      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall, Thread::kNoDeoptId,
                            token_pos);
     }
     // Stub returns result in flags (result of a cmp, we need Z computed).
-    __ Drop(1);  // Discard constant.
+    __ Drop(1);   // Discard constant.
     __ Pop(reg);  // Restore 'reg'.
   } else {
     __ CompareObject(reg, obj);
@@ -1449,8 +1397,7 @@
           *StubCode::UnoptimizedIdenticalWithNumberCheck_entry());
     }
     if (token_pos.IsReal()) {
-      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall,
-                           Thread::kNoDeoptId,
+      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall, Thread::kNoDeoptId,
                            token_pos);
     }
     // Stub returns result in flags (result of a cmp, we need Z computed).
@@ -1543,9 +1490,8 @@
   ASSERT(is_optimizing());
 
   __ Comment("EmitTestAndCall");
-  const Array& arguments_descriptor =
-      Array::ZoneHandle(zone(), ArgumentsDescriptor::New(argument_count,
-                                                         argument_names));
+  const Array& arguments_descriptor = Array::ZoneHandle(
+      zone(), ArgumentsDescriptor::New(argument_count, argument_names));
 
   // Load receiver into R0.
   __ LoadFromOffset(R0, SP, (argument_count - 1) * kWordSize);
@@ -1567,14 +1513,11 @@
     }
     // Do not use the code from the function, but let the code be patched so
     // that we can record the outgoing edges to other code.
-    const Function& function = Function::ZoneHandle(
-        zone(), ic_data.GetTargetAt(0));
-    GenerateStaticDartCall(deopt_id,
-                           token_index,
+    const Function& function =
+        Function::ZoneHandle(zone(), ic_data.GetTargetAt(0));
+    GenerateStaticDartCall(deopt_id, token_index,
                            *StubCode::CallStaticFunction_entry(),
-                           RawPcDescriptors::kOther,
-                           locs,
-                           function);
+                           RawPcDescriptors::kOther, locs, function);
     __ Drop(argument_count);
     if (kNumChecks > 1) {
       __ b(match_found);
@@ -1620,12 +1563,9 @@
     // Do not use the code from the function, but let the code be patched so
     // that we can record the outgoing edges to other code.
     const Function& function = *sorted[i].target;
-    GenerateStaticDartCall(deopt_id,
-                           token_index,
+    GenerateStaticDartCall(deopt_id, token_index,
                            *StubCode::CallStaticFunction_entry(),
-                           RawPcDescriptors::kOther,
-                           locs,
-                           function);
+                           RawPcDescriptors::kOther, locs, function);
     __ Drop(argument_count);
     if (!kIsLastCheck) {
       __ b(match_found);
@@ -1655,8 +1595,7 @@
   } else if (source.IsStackSlot()) {
     if (destination.IsRegister()) {
       const intptr_t source_offset = source.ToStackSlotOffset();
-      __ LoadFromOffset(
-          destination.reg(), source.base_reg(), source_offset);
+      __ LoadFromOffset(destination.reg(), source.base_reg(), source_offset);
     } else {
       ASSERT(destination.IsStackSlot());
       const intptr_t source_offset = source.ToStackSlotOffset();
@@ -1676,8 +1615,8 @@
       } else {
         ASSERT(destination.IsQuadStackSlot());
         const intptr_t dest_offset = destination.ToStackSlotOffset();
-        __ StoreQToOffset(
-            source.fpu_reg(), destination.base_reg(), dest_offset);
+        __ StoreQToOffset(source.fpu_reg(), destination.base_reg(),
+                          dest_offset);
       }
     }
   } else if (source.IsDoubleStackSlot()) {
@@ -1695,8 +1634,8 @@
   } else if (source.IsQuadStackSlot()) {
     if (destination.IsFpuRegister()) {
       const intptr_t source_offset = source.ToStackSlotOffset();
-      __ LoadQFromOffset(
-          destination.fpu_reg(), source.base_reg(), source_offset);
+      __ LoadQFromOffset(destination.fpu_reg(), source.base_reg(),
+                         source_offset);
     } else {
       ASSERT(destination.IsQuadStackSlot());
       const intptr_t source_offset = source.ToStackSlotOffset();
@@ -1765,11 +1704,10 @@
     __ mov(source.reg(), destination.reg());
     __ mov(destination.reg(), TMP);
   } else if (source.IsRegister() && destination.IsStackSlot()) {
-    Exchange(source.reg(),
-             destination.base_reg(), destination.ToStackSlotOffset());
+    Exchange(source.reg(), destination.base_reg(),
+             destination.ToStackSlotOffset());
   } else if (source.IsStackSlot() && destination.IsRegister()) {
-    Exchange(destination.reg(),
-             source.base_reg(), source.ToStackSlotOffset());
+    Exchange(destination.reg(), source.base_reg(), source.ToStackSlotOffset());
   } else if (source.IsStackSlot() && destination.IsStackSlot()) {
     Exchange(source.base_reg(), source.ToStackSlotOffset(),
              destination.base_reg(), destination.ToStackSlotOffset());
@@ -1780,20 +1718,17 @@
     __ vmov(src, dst);
     __ vmov(dst, VTMP);
   } else if (source.IsFpuRegister() || destination.IsFpuRegister()) {
-    ASSERT(destination.IsDoubleStackSlot() ||
-           destination.IsQuadStackSlot() ||
-           source.IsDoubleStackSlot() ||
-           source.IsQuadStackSlot());
-    bool double_width = destination.IsDoubleStackSlot() ||
-                        source.IsDoubleStackSlot();
-    VRegister reg = source.IsFpuRegister() ? source.fpu_reg()
-                                           : destination.fpu_reg();
-    Register base_reg = source.IsFpuRegister()
-        ? destination.base_reg()
-        : source.base_reg();
+    ASSERT(destination.IsDoubleStackSlot() || destination.IsQuadStackSlot() ||
+           source.IsDoubleStackSlot() || source.IsQuadStackSlot());
+    bool double_width =
+        destination.IsDoubleStackSlot() || source.IsDoubleStackSlot();
+    VRegister reg =
+        source.IsFpuRegister() ? source.fpu_reg() : destination.fpu_reg();
+    Register base_reg =
+        source.IsFpuRegister() ? destination.base_reg() : source.base_reg();
     const intptr_t slot_offset = source.IsFpuRegister()
-        ? destination.ToStackSlotOffset()
-        : source.ToStackSlotOffset();
+                                     ? destination.ToStackSlotOffset()
+                                     : source.ToStackSlotOffset();
 
     if (double_width) {
       __ LoadDFromOffset(VTMP, base_reg, slot_offset);
diff --git a/runtime/vm/flow_graph_compiler_dbc.cc b/runtime/vm/flow_graph_compiler_dbc.cc
index 00fc026..745fcf9 100644
--- a/runtime/vm/flow_graph_compiler_dbc.cc
+++ b/runtime/vm/flow_graph_compiler_dbc.cc
@@ -120,8 +120,7 @@
 
   // For the innermost environment, set outgoing arguments and the locals.
   for (intptr_t i = current->Length() - 1;
-       i >= current->fixed_parameter_count();
-       i--) {
+       i >= current->fixed_parameter_count(); i--) {
     builder->AddCopy(current->ValueAt(i), current->LocationAt(i), slot_ix++);
   }
 
@@ -132,10 +131,9 @@
   while (current != NULL) {
     // For any outer environment the deopt id is that of the call instruction
     // which is recorded in the outer environment.
-    builder->AddReturnAddress(
-        current->function(),
-        Thread::ToDeoptAfter(current->deopt_id()),
-        slot_ix++);
+    builder->AddReturnAddress(current->function(),
+                              Thread::ToDeoptAfter(current->deopt_id()),
+                              slot_ix++);
 
     builder->AddPcMarker(previous->function(), slot_ix++);
     builder->AddConstant(previous->function(), slot_ix++);
@@ -143,18 +141,14 @@
     // The values of outgoing arguments can be changed from the inlined call so
     // we must read them from the previous environment.
     for (intptr_t i = previous->fixed_parameter_count() - 1; i >= 0; i--) {
-      builder->AddCopy(previous->ValueAt(i),
-                       previous->LocationAt(i),
+      builder->AddCopy(previous->ValueAt(i), previous->LocationAt(i),
                        slot_ix++);
     }
 
     // Set the locals, note that outgoing arguments are not in the environment.
     for (intptr_t i = current->Length() - 1;
-         i >= current->fixed_parameter_count();
-         i--) {
-      builder->AddCopy(current->ValueAt(i),
-                       current->LocationAt(i),
-                       slot_ix++);
+         i >= current->fixed_parameter_count(); i--) {
+      builder->AddCopy(current->ValueAt(i), current->LocationAt(i), slot_ix++);
     }
 
     builder->AddCallerFp(slot_ix++);
@@ -182,31 +176,37 @@
 }
 
 
-void FlowGraphCompiler::RecordAfterCall(Instruction* instr) {
-  RecordSafepoint(instr->locs());
+void FlowGraphCompiler::RecordAfterCallHelper(TokenPosition token_pos,
+                                              intptr_t deopt_id,
+                                              intptr_t argument_count,
+                                              LocationSummary* locs) {
+  RecordSafepoint(locs);
   // Marks either the continuation point in unoptimized code or the
   // deoptimization point in optimized code, after call.
-  const intptr_t deopt_id_after = Thread::ToDeoptAfter(instr->deopt_id());
+  const intptr_t deopt_id_after = Thread::ToDeoptAfter(deopt_id);
   if (is_optimizing()) {
     // Return/ReturnTOS instruction drops incoming arguments so
     // we have to drop outgoing arguments from the innermost environment.
     // On all other architectures caller drops outgoing arguments itself
     // hence the difference.
-    pending_deoptimization_env_->DropArguments(instr->ArgumentCount());
+    pending_deoptimization_env_->DropArguments(argument_count);
     AddDeoptIndexAtCall(deopt_id_after);
     // This descriptor is needed for exception handling in optimized code.
-    AddCurrentDescriptor(RawPcDescriptors::kOther,
-                         deopt_id_after, instr->token_pos());
+    AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id_after, token_pos);
   } else {
     // Add deoptimization continuation point after the call and before the
     // arguments are removed.
-    AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                         deopt_id_after,
-                         instr->token_pos());
+    AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after, token_pos);
   }
 }
 
 
+void FlowGraphCompiler::RecordAfterCall(Instruction* instr) {
+  RecordAfterCallHelper(instr->token_pos(), instr->deopt_id(),
+                        instr->ArgumentCount(), instr->locs());
+}
+
+
 void CompilerDeoptInfoWithStub::GenerateCode(FlowGraphCompiler* compiler,
                                              intptr_t stub_ix) {
   UNREACHABLE();
@@ -244,12 +244,9 @@
       const Class& type_class = Class::Handle(zone(), dst_type.type_class());
       if (type_class.NumTypeArguments() == 0) {
         const Class& smi_class = Class::Handle(zone(), Smi::Class());
-        may_be_smi = smi_class.IsSubtypeOf(TypeArguments::Handle(zone()),
-                                           type_class,
-                                           TypeArguments::Handle(zone()),
-                                           NULL,
-                                           NULL,
-                                           Heap::kOld);
+        may_be_smi = smi_class.IsSubtypeOf(
+            TypeArguments::Handle(zone()), type_class,
+            TypeArguments::Handle(zone()), NULL, NULL, Heap::kOld);
       }
     }
     __ AssertAssignable(may_be_smi ? 1 : 0, __ AddConstant(test_cache));
@@ -265,8 +262,8 @@
     // visits it.
     locs->SetStackBit(locs->out(0).reg());
   }
-  RecordSafepoint(locs);
   AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id, token_pos);
+  RecordAfterCallHelper(token_pos, deopt_id, 0, locs);
   if (is_optimizing()) {
     // Assert assignable keeps the instance on the stack as the result,
     // all other arguments are popped.
@@ -279,14 +276,12 @@
 void FlowGraphCompiler::EmitInstructionEpilogue(Instruction* instr) {
   if (!is_optimizing()) {
     Definition* defn = instr->AsDefinition();
-    if ((defn != NULL) &&
-        (defn->tag() != Instruction::kPushArgument) &&
+    if ((defn != NULL) && (defn->tag() != Instruction::kPushArgument) &&
         (defn->tag() != Instruction::kStoreIndexed) &&
         (defn->tag() != Instruction::kStoreStaticField) &&
         (defn->tag() != Instruction::kStoreLocal) &&
         (defn->tag() != Instruction::kStoreInstanceField) &&
-        (defn->tag() != Instruction::kDropTemps) &&
-        !defn->HasTemp()) {
+        (defn->tag() != Instruction::kDropTemps) && !defn->HasTemp()) {
       __ Drop1();
     }
   }
@@ -296,7 +291,7 @@
 void FlowGraphCompiler::GenerateInlinedGetter(intptr_t offset) {
   __ Move(0, -(1 + kParamEndSlotFromFp));
   ASSERT(offset % kWordSize == 0);
-  if (Utils::IsInt(8, offset/ kWordSize)) {
+  if (Utils::IsInt(8, offset / kWordSize)) {
     __ LoadField(0, 0, offset / kWordSize);
   } else {
     __ LoadFieldExt(0, 0);
@@ -310,7 +305,7 @@
   __ Move(0, -(2 + kParamEndSlotFromFp));
   __ Move(1, -(1 + kParamEndSlotFromFp));
   ASSERT(offset % kWordSize == 0);
-  if (Utils::IsInt(8, offset/ kWordSize)) {
+  if (Utils::IsInt(8, offset / kWordSize)) {
     __ StoreField(0, offset / kWordSize, 1);
   } else {
     __ StoreFieldExt(0, 1);
@@ -328,21 +323,19 @@
   const int num_opt_named_params = function.NumOptionalNamedParameters();
   const int num_params =
       num_fixed_params + num_opt_pos_params + num_opt_named_params;
-  const bool has_optional_params = (num_opt_pos_params != 0) ||
-      (num_opt_named_params != 0);
+  const bool has_optional_params =
+      (num_opt_pos_params != 0) || (num_opt_named_params != 0);
   const int num_locals = parsed_function().num_stack_locals();
   const intptr_t context_index =
       -parsed_function().current_context_var()->index() - 1;
 
-  if (CanOptimizeFunction() &&
-      function.IsOptimizable() &&
+  if (CanOptimizeFunction() && function.IsOptimizable() &&
       (!is_optimizing() || may_reoptimize())) {
     __ HotCheck(!is_optimizing(), GetOptimizationThreshold());
   }
 
   if (has_optional_params) {
-    __ EntryOptional(num_fixed_params,
-                     num_opt_pos_params,
+    __ EntryOptional(num_fixed_params, num_opt_pos_params,
                      num_opt_named_params);
   } else if (!is_optimizing()) {
     __ Entry(num_fixed_params, num_locals, context_index);
@@ -392,17 +385,17 @@
   if (has_optional_params) {
     if (!is_optimizing()) {
       ASSERT(num_locals > 0);  // There is always at least context_var.
-      __ Frame(num_locals);  // Reserve space for locals.
+      __ Frame(num_locals);    // Reserve space for locals.
     } else if (flow_graph_.graph_entry()->spill_slot_count() >
-                   flow_graph_.num_copied_params()) {
+               flow_graph_.num_copied_params()) {
       __ Frame(flow_graph_.graph_entry()->spill_slot_count() -
-          flow_graph_.num_copied_params());
+               flow_graph_.num_copied_params());
     }
   }
 
   if (function.IsClosureFunction()) {
-    Register reg = is_optimizing() ? flow_graph_.num_copied_params()
-                                   : context_index;
+    Register reg =
+        is_optimizing() ? flow_graph_.num_copied_params() : context_index;
     Register closure_reg = reg;
     LocalScope* scope = parsed_function().node_sequence()->scope();
     LocalVariable* local = scope->VariableAt(0);
@@ -414,7 +407,7 @@
     __ LoadField(reg, closure_reg, Closure::context_offset() / kWordSize);
   } else if (has_optional_params && !is_optimizing()) {
     __ LoadConstant(context_index,
-        Object::Handle(isolate()->object_store()->empty_context()));
+                    Object::Handle(isolate()->object_store()->empty_context()));
   }
 }
 
diff --git a/runtime/vm/flow_graph_compiler_ia32.cc b/runtime/vm/flow_graph_compiler_ia32.cc
index be480f1..729608f 100644
--- a/runtime/vm/flow_graph_compiler_ia32.cc
+++ b/runtime/vm/flow_graph_compiler_ia32.cc
@@ -117,8 +117,7 @@
 
   // For the innermost environment, set outgoing arguments and the locals.
   for (intptr_t i = current->Length() - 1;
-       i >= current->fixed_parameter_count();
-       i--) {
+       i >= current->fixed_parameter_count(); i--) {
     builder->AddCopy(current->ValueAt(i), current->LocationAt(i), slot_ix++);
   }
 
@@ -130,26 +129,21 @@
   while (current != NULL) {
     // For any outer environment the deopt id is that of the call instruction
     // which is recorded in the outer environment.
-    builder->AddReturnAddress(
-        current->function(),
-        Thread::ToDeoptAfter(current->deopt_id()),
-        slot_ix++);
+    builder->AddReturnAddress(current->function(),
+                              Thread::ToDeoptAfter(current->deopt_id()),
+                              slot_ix++);
 
     // The values of outgoing arguments can be changed from the inlined call so
     // we must read them from the previous environment.
     for (intptr_t i = previous->fixed_parameter_count() - 1; i >= 0; i--) {
-      builder->AddCopy(previous->ValueAt(i),
-                       previous->LocationAt(i),
+      builder->AddCopy(previous->ValueAt(i), previous->LocationAt(i),
                        slot_ix++);
     }
 
     // Set the locals, note that outgoing arguments are not in the environment.
     for (intptr_t i = current->Length() - 1;
-         i >= current->fixed_parameter_count();
-         i--) {
-      builder->AddCopy(current->ValueAt(i),
-                       current->LocationAt(i),
-                       slot_ix++);
+         i >= current->fixed_parameter_count(); i--) {
+      builder->AddCopy(current->ValueAt(i), current->LocationAt(i), slot_ix++);
     }
 
     builder->AddPcMarker(current->function(), slot_ix++);
@@ -227,7 +221,7 @@
   const Immediate& raw_null =
       Immediate(reinterpret_cast<intptr_t>(Object::null()));
   __ LoadObject(temp_reg, type_test_cache);
-  __ pushl(temp_reg);  // Subtype test cache.
+  __ pushl(temp_reg);      // Subtype test cache.
   __ pushl(instance_reg);  // Instance.
   if (test_kind == kTestTypeOneArg) {
     ASSERT(type_arguments_reg == kNoRegister);
@@ -248,7 +242,7 @@
   ASSERT(temp_reg != ECX);
   __ popl(instance_reg);  // Discard.
   __ popl(instance_reg);  // Restore receiver.
-  __ popl(temp_reg);  // Discard.
+  __ popl(temp_reg);      // Discard.
   GenerateBoolToJump(ECX, is_instance_lbl, is_not_instance_lbl);
   return type_test_cache.raw();
 }
@@ -290,7 +284,7 @@
     const TypeArguments& type_arguments =
         TypeArguments::ZoneHandle(zone(), type.arguments());
     const bool is_raw_type = type_arguments.IsNull() ||
-        type_arguments.IsRaw(from_index, num_type_params);
+                             type_arguments.IsRaw(from_index, num_type_params);
     if (is_raw_type) {
       const Register kClassIdReg = ECX;
       // dynamic type argument, check only classes.
@@ -306,8 +300,8 @@
     }
     // If one type argument only, check if type argument is Object or dynamic.
     if (type_arguments.Length() == 1) {
-      const AbstractType& tp_argument = AbstractType::ZoneHandle(
-          zone(), type_arguments.TypeAt(0));
+      const AbstractType& tp_argument =
+          AbstractType::ZoneHandle(zone(), type_arguments.TypeAt(0));
       ASSERT(!tp_argument.IsMalformed());
       if (tp_argument.IsType()) {
         ASSERT(tp_argument.HasResolvedTypeClass());
@@ -324,12 +318,9 @@
   // Regular subtype test cache involving instance's type arguments.
   const Register kTypeArgumentsReg = kNoRegister;
   const Register kTempReg = EDI;
-  return GenerateCallSubtypeTestStub(kTestTypeTwoArgs,
-                                     kInstanceReg,
-                                     kTypeArgumentsReg,
-                                     kTempReg,
-                                     is_instance_lbl,
-                                     is_not_instance_lbl);
+  return GenerateCallSubtypeTestStub(kTestTypeTwoArgs, kInstanceReg,
+                                     kTypeArgumentsReg, kTempReg,
+                                     is_instance_lbl, is_not_instance_lbl);
 }
 
 
@@ -368,11 +359,8 @@
   __ testl(kInstanceReg, Immediate(kSmiTagMask));
   // If instance is Smi, check directly.
   const Class& smi_class = Class::Handle(zone(), Smi::Class());
-  if (smi_class.IsSubtypeOf(TypeArguments::Handle(zone()),
-                            type_class,
-                            TypeArguments::Handle(zone()),
-                            NULL,
-                            NULL,
+  if (smi_class.IsSubtypeOf(TypeArguments::Handle(zone()), type_class,
+                            TypeArguments::Handle(zone()), NULL, NULL,
                             Heap::kOld)) {
     __ j(ZERO, is_instance_lbl);
   } else {
@@ -392,8 +380,8 @@
   // Custom checking for numbers (Smi, Mint, Bigint and Double).
   // Note that instance is not Smi (checked above).
   if (type.IsNumberType() || type.IsIntType() || type.IsDoubleType()) {
-    GenerateNumberTypeCheck(
-        kClassIdReg, type, is_instance_lbl, is_not_instance_lbl);
+    GenerateNumberTypeCheck(kClassIdReg, type, is_instance_lbl,
+                            is_not_instance_lbl);
     return false;
   }
   if (type.IsStringType()) {
@@ -440,12 +428,9 @@
 
   const Register kTypeArgumentsReg = kNoRegister;
   const Register kTempReg = EDI;
-  return GenerateCallSubtypeTestStub(kTestTypeOneArg,
-                                     kInstanceReg,
-                                     kTypeArgumentsReg,
-                                     kTempReg,
-                                     is_instance_lbl,
-                                     is_not_instance_lbl);
+  return GenerateCallSubtypeTestStub(kTestTypeOneArg, kInstanceReg,
+                                     kTypeArgumentsReg, kTempReg,
+                                     is_instance_lbl, is_not_instance_lbl);
 }
 
 
@@ -470,23 +455,23 @@
     // Check if type arguments are null, i.e. equivalent to vector of dynamic.
     __ cmpl(EDX, raw_null);
     __ j(EQUAL, is_instance_lbl);
-    __ movl(EDI,
-        FieldAddress(EDX, TypeArguments::type_at_offset(type_param.index())));
+    __ movl(EDI, FieldAddress(
+                     EDX, TypeArguments::type_at_offset(type_param.index())));
     // EDI: concrete type of type.
     // Check if type argument is dynamic.
     __ CompareObject(EDI, Object::dynamic_type());
-    __ j(EQUAL,  is_instance_lbl);
+    __ j(EQUAL, is_instance_lbl);
     __ CompareObject(EDI, Type::ZoneHandle(zone(), Type::ObjectType()));
-    __ j(EQUAL,  is_instance_lbl);
+    __ j(EQUAL, is_instance_lbl);
 
     // For Smi check quickly against int and num interfaces.
     Label not_smi;
     __ testl(EAX, Immediate(kSmiTagMask));  // Value is Smi?
     __ j(NOT_ZERO, &not_smi, Assembler::kNearJump);
     __ CompareObject(EDI, Type::ZoneHandle(zone(), Type::IntType()));
-    __ j(EQUAL,  is_instance_lbl);
+    __ j(EQUAL, is_instance_lbl);
     __ CompareObject(EDI, Type::ZoneHandle(zone(), Type::Number()));
-    __ j(EQUAL,  is_instance_lbl);
+    __ j(EQUAL, is_instance_lbl);
     // Smi must be handled in runtime.
     Label fall_through;
     __ jmp(&fall_through);
@@ -497,14 +482,10 @@
     const Register kInstanceReg = EAX;
     const Register kTypeArgumentsReg = EDX;
     const Register kTempReg = EDI;
-    const SubtypeTestCache& type_test_cache =
-        SubtypeTestCache::ZoneHandle(zone(),
-            GenerateCallSubtypeTestStub(kTestTypeThreeArgs,
-                                        kInstanceReg,
-                                        kTypeArgumentsReg,
-                                        kTempReg,
-                                        is_instance_lbl,
-                                        is_not_instance_lbl));
+    const SubtypeTestCache& type_test_cache = SubtypeTestCache::ZoneHandle(
+        zone(), GenerateCallSubtypeTestStub(
+                    kTestTypeThreeArgs, kInstanceReg, kTypeArgumentsReg,
+                    kTempReg, is_instance_lbl, is_not_instance_lbl));
     __ Bind(&fall_through);
     return type_test_cache.raw();
   }
@@ -517,12 +498,9 @@
     // Uninstantiated type class is known at compile time, but the type
     // arguments are determined at runtime by the instantiator.
     const Register kTempReg = EDI;
-    return GenerateCallSubtypeTestStub(kTestTypeThreeArgs,
-                                       kInstanceReg,
-                                       kTypeArgumentsReg,
-                                       kTempReg,
-                                       is_instance_lbl,
-                                       is_not_instance_lbl);
+    return GenerateCallSubtypeTestStub(kTestTypeThreeArgs, kInstanceReg,
+                                       kTypeArgumentsReg, kTempReg,
+                                       is_instance_lbl, is_not_instance_lbl);
   }
   return SubtypeTestCache::null();
 }
@@ -554,17 +532,12 @@
     // function type) of a non-parameterized class or with a raw dst type of
     // a parameterized class.
     if (type.IsFunctionType() || (type_class.NumTypeArguments() > 0)) {
-      return GenerateInstantiatedTypeWithArgumentsTest(token_pos,
-                                                       type,
-                                                       is_instance_lbl,
-                                                       is_not_instance_lbl);
+      return GenerateInstantiatedTypeWithArgumentsTest(
+          token_pos, type, is_instance_lbl, is_not_instance_lbl);
       // Fall through to runtime call.
     }
-    const bool has_fall_through =
-        GenerateInstantiatedTypeNoArgumentsTest(token_pos,
-                                                type,
-                                                is_instance_lbl,
-                                                is_not_instance_lbl);
+    const bool has_fall_through = GenerateInstantiatedTypeNoArgumentsTest(
+        token_pos, type, is_instance_lbl, is_not_instance_lbl);
     if (has_fall_through) {
       // If test non-conclusive so far, try the inlined type-test cache.
       // 'type' is known at compile time.
@@ -574,9 +547,7 @@
       return SubtypeTestCache::null();
     }
   }
-  return GenerateUninstantiatedTypeTest(token_pos,
-                                        type,
-                                        is_instance_lbl,
+  return GenerateUninstantiatedTypeTest(token_pos, type, is_instance_lbl,
                                         is_not_instance_lbl);
 }
 
@@ -619,25 +590,21 @@
 
   // Generate inline instanceof test.
   SubtypeTestCache& test_cache = SubtypeTestCache::ZoneHandle(zone());
-  test_cache = GenerateInlineInstanceof(token_pos, type,
-                                        &is_instance, &is_not_instance);
+  test_cache =
+      GenerateInlineInstanceof(token_pos, type, &is_instance, &is_not_instance);
 
   // test_cache is null if there is no fall-through.
   Label done;
   if (!test_cache.IsNull()) {
     // Generate runtime call.
-    __ movl(EDX, Address(ESP, 0));  // Get instantiator type arguments.
+    __ movl(EDX, Address(ESP, 0));         // Get instantiator type arguments.
     __ PushObject(Object::null_object());  // Make room for the result.
-    __ pushl(EAX);  // Push the instance.
-    __ PushObject(type);  // Push the type.
-    __ pushl(EDX);  // Instantiator type arguments.
+    __ pushl(EAX);                         // Push the instance.
+    __ PushObject(type);                   // Push the type.
+    __ pushl(EDX);                         // Instantiator type arguments.
     __ LoadObject(EAX, test_cache);
     __ pushl(EAX);
-    GenerateRuntimeCall(token_pos,
-                        deopt_id,
-                        kInstanceofRuntimeEntry,
-                        4,
-                        locs);
+    GenerateRuntimeCall(token_pos, deopt_id, kInstanceofRuntimeEntry, 4, locs);
     // Pop the parameters supplied to the runtime entry. The result of the
     // instanceof runtime call will be left as the result of the operation.
     __ Drop(4);
@@ -696,34 +663,31 @@
   // Generate throw new TypeError() if the type is malformed or malbounded.
   if (dst_type.IsMalformedOrMalbounded()) {
     __ PushObject(Object::null_object());  // Make room for the result.
-    __ pushl(EAX);  // Push the source object.
-    __ PushObject(dst_name);  // Push the name of the destination.
-    __ PushObject(dst_type);  // Push the type of the destination.
-    GenerateRuntimeCall(token_pos,
-                        deopt_id,
-                        kBadTypeErrorRuntimeEntry,
-                        3,
+    __ pushl(EAX);                         // Push the source object.
+    __ PushObject(dst_name);               // Push the name of the destination.
+    __ PushObject(dst_type);               // Push the type of the destination.
+    GenerateRuntimeCall(token_pos, deopt_id, kBadTypeErrorRuntimeEntry, 3,
                         locs);
     // We should never return here.
     __ int3();
 
     __ Bind(&is_assignable);  // For a null object.
-    __ popl(EDX);  // Remove pushed instantiator type arguments.
+    __ popl(EDX);             // Remove pushed instantiator type arguments.
     return;
   }
 
   // Generate inline type check, linking to runtime call if not assignable.
   SubtypeTestCache& test_cache = SubtypeTestCache::ZoneHandle(zone());
-  test_cache = GenerateInlineInstanceof(token_pos, dst_type,
-                                        &is_assignable, &runtime_call);
+  test_cache = GenerateInlineInstanceof(token_pos, dst_type, &is_assignable,
+                                        &runtime_call);
 
   __ Bind(&runtime_call);
-  __ movl(EDX, Address(ESP, 0));  // Get instantiator type arguments.
+  __ movl(EDX, Address(ESP, 0));         // Get instantiator type arguments.
   __ PushObject(Object::null_object());  // Make room for the result.
-  __ pushl(EAX);  // Push the source object.
-  __ PushObject(dst_type);  // Push the type of the destination.
-  __ pushl(EDX);  // Instantiator type arguments.
-  __ PushObject(dst_name);  // Push the name of the destination.
+  __ pushl(EAX);                         // Push the source object.
+  __ PushObject(dst_type);               // Push the type of the destination.
+  __ pushl(EDX);                         // Instantiator type arguments.
+  __ PushObject(dst_name);               // Push the name of the destination.
   __ LoadObject(EAX, test_cache);
   __ pushl(EAX);
   GenerateRuntimeCall(token_pos, deopt_id, kTypeCheckRuntimeEntry, 5, locs);
@@ -792,8 +756,8 @@
   // Let EBX point to the last passed positional argument, i.e. to
   // fp[kParamEndSlotFromFp + num_args - (num_pos_args - 1)].
   __ subl(EBX, ECX);
-  __ leal(EBX, Address(EBP, EBX, TIMES_2,
-                       (kParamEndSlotFromFp + 1) * kWordSize));
+  __ leal(EBX,
+          Address(EBP, EBX, TIMES_2, (kParamEndSlotFromFp + 1) * kWordSize));
 
   // Let EDI point to the last copied positional argument, i.e. to
   // fp[kFirstLocalSlotFromFp - (num_pos_args - 1)].
@@ -820,9 +784,9 @@
       Immediate(reinterpret_cast<intptr_t>(Object::null()));
   Label all_arguments_processed;
 #ifdef DEBUG
-    const bool check_correct_named_args = true;
+  const bool check_correct_named_args = true;
 #else
-    const bool check_correct_named_args = function.IsClosureFunction();
+  const bool check_correct_named_args = function.IsClosureFunction();
 #endif
   if (num_opt_named_params > 0) {
     // Start by alphabetically sorting the names of the optional parameters.
@@ -850,8 +814,7 @@
     __ SmiUntag(ECX);
     // Let EBX point to the first passed argument, i.e. to
     // fp[kParamEndSlotFromFp + num_args - 0]; num_args (EBX) is Smi.
-    __ leal(EBX,
-            Address(EBP, EBX, TIMES_2, kParamEndSlotFromFp * kWordSize));
+    __ leal(EBX, Address(EBP, EBX, TIMES_2, kParamEndSlotFromFp * kWordSize));
     // Let EDI point to the entry of the first named argument.
     __ leal(EDI,
             FieldAddress(EDX, ArgumentsDescriptor::first_named_entry_offset()));
@@ -951,8 +914,8 @@
   __ SmiUntag(ECX);
   Label null_args_loop, null_args_loop_condition;
   __ jmp(&null_args_loop_condition, Assembler::kNearJump);
-  const Address original_argument_addr(
-      EBP, ECX, TIMES_4, (kParamEndSlotFromFp + 1) * kWordSize);
+  const Address original_argument_addr(EBP, ECX, TIMES_4,
+                                       (kParamEndSlotFromFp + 1) * kWordSize);
   __ Bind(&null_args_loop);
   __ movl(original_argument_addr, raw_null);
   __ Bind(&null_args_loop_condition);
@@ -992,8 +955,7 @@
 // needs to be updated to match.
 void FlowGraphCompiler::EmitFrameEntry() {
   const Function& function = parsed_function().function();
-  if (CanOptimizeFunction() &&
-      function.IsOptimizable() &&
+  if (CanOptimizeFunction() && function.IsOptimizable() &&
       (!is_optimizing() || may_reoptimize())) {
     __ Comment("Invocation Count Check");
     const Register function_reg = EBX;
@@ -1011,9 +973,8 @@
   }
   __ Comment("Enter frame");
   if (flow_graph().IsCompiledForOsr()) {
-    intptr_t extra_slots = StackSize()
-        - flow_graph().num_stack_locals()
-        - flow_graph().num_copied_params();
+    intptr_t extra_slots = StackSize() - flow_graph().num_stack_locals() -
+                           flow_graph().num_copied_params();
     ASSERT(extra_slots >= 0);
     __ EnterOsrFrame(extra_slots * kWordSize);
   } else {
@@ -1053,9 +1014,8 @@
       __ movl(EAX, FieldAddress(EDX, ArgumentsDescriptor::count_offset()));
       __ cmpl(EAX, Immediate(Smi::RawValue(num_fixed_params)));
       __ j(NOT_EQUAL, &wrong_num_arguments, Assembler::kNearJump);
-      __ cmpl(EAX,
-              FieldAddress(EDX,
-                           ArgumentsDescriptor::positional_count_offset()));
+      __ cmpl(EAX, FieldAddress(
+                       EDX, ArgumentsDescriptor::positional_count_offset()));
       __ j(EQUAL, &correct_num_arguments, Assembler::kNearJump);
 
       __ Bind(&wrong_num_arguments);
@@ -1180,20 +1140,16 @@
 }
 
 
-void FlowGraphCompiler::EmitUnoptimizedStaticCall(
-    intptr_t argument_count,
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    LocationSummary* locs,
-    const ICData& ic_data) {
+void FlowGraphCompiler::EmitUnoptimizedStaticCall(intptr_t argument_count,
+                                                  intptr_t deopt_id,
+                                                  TokenPosition token_pos,
+                                                  LocationSummary* locs,
+                                                  const ICData& ic_data) {
   const StubEntry& stub_entry =
       *StubCode::UnoptimizedStaticCallEntry(ic_data.NumArgsTested());
   __ LoadObject(ECX, ic_data);
-  GenerateDartCall(deopt_id,
-                   token_pos,
-                   stub_entry,
-                   RawPcDescriptors::kUnoptStaticCall,
-                   locs);
+  GenerateDartCall(deopt_id, token_pos, stub_entry,
+                   RawPcDescriptors::kUnoptStaticCall, locs);
   __ Drop(argument_count);
 }
 
@@ -1211,13 +1167,12 @@
 }
 
 
-void FlowGraphCompiler::EmitOptimizedInstanceCall(
-    const StubEntry& stub_entry,
-    const ICData& ic_data,
-    intptr_t argument_count,
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    LocationSummary* locs) {
+void FlowGraphCompiler::EmitOptimizedInstanceCall(const StubEntry& stub_entry,
+                                                  const ICData& ic_data,
+                                                  intptr_t argument_count,
+                                                  intptr_t deopt_id,
+                                                  TokenPosition token_pos,
+                                                  LocationSummary* locs) {
   ASSERT(Array::Handle(ic_data.arguments_descriptor()).Length() > 0);
   // Each ICData propagated from unoptimized to optimized code contains the
   // function that corresponds to the Dart function of that IC call. Due
@@ -1227,10 +1182,7 @@
   // Pass the function explicitly, it is used in IC stub.
   __ LoadObject(EBX, parsed_function().function());
   __ LoadObject(ECX, ic_data);
-  GenerateDartCall(deopt_id,
-                   token_pos,
-                   stub_entry,
-                   RawPcDescriptors::kIcCall,
+  GenerateDartCall(deopt_id, token_pos, stub_entry, RawPcDescriptors::kIcCall,
                    locs);
   __ Drop(argument_count);
 }
@@ -1244,10 +1196,7 @@
                                          LocationSummary* locs) {
   ASSERT(Array::Handle(ic_data.arguments_descriptor()).Length() > 0);
   __ LoadObject(ECX, ic_data);
-  GenerateDartCall(deopt_id,
-                   token_pos,
-                   stub_entry,
-                   RawPcDescriptors::kIcCall,
+  GenerateDartCall(deopt_id, token_pos, stub_entry, RawPcDescriptors::kIcCall,
                    locs);
   __ Drop(argument_count);
 }
@@ -1265,7 +1214,8 @@
   const Array& arguments_descriptor =
       Array::ZoneHandle(zone(), ic_data.arguments_descriptor());
   ASSERT(!arguments_descriptor.IsNull() && (arguments_descriptor.Length() > 0));
-  const MegamorphicCache& cache = MegamorphicCache::ZoneHandle(zone(),
+  const MegamorphicCache& cache = MegamorphicCache::ZoneHandle(
+      zone(),
       MegamorphicCacheTable::Lookup(isolate(), name, arguments_descriptor));
 
   __ Comment("MegamorphicCall");
@@ -1293,8 +1243,7 @@
   __ call(EBX);
 
   __ Bind(&done);
-  AddCurrentDescriptor(RawPcDescriptors::kOther,
-      Thread::kNoDeoptId, token_pos);
+  AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId, token_pos);
   RecordSafepoint(locs, slow_path_argument_count);
   const intptr_t deopt_id_after = Thread::ToDeoptAfter(deopt_id);
   // Precompilation not implemented on ia32 platform.
@@ -1310,12 +1259,11 @@
 }
 
 
-void FlowGraphCompiler::EmitSwitchableInstanceCall(
-    const ICData& ic_data,
-    intptr_t argument_count,
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    LocationSummary* locs) {
+void FlowGraphCompiler::EmitSwitchableInstanceCall(const ICData& ic_data,
+                                                   intptr_t argument_count,
+                                                   intptr_t deopt_id,
+                                                   TokenPosition token_pos,
+                                                   LocationSummary* locs) {
   // Only generated with precompilation.
   UNREACHABLE();
 }
@@ -1335,11 +1283,8 @@
   }
   // Do not use the code from the function, but let the code be patched so that
   // we can record the outgoing edges to other code.
-  GenerateDartCall(deopt_id,
-                   token_pos,
-                   *StubCode::CallStaticFunction_entry(),
-                   RawPcDescriptors::kOther,
-                   locs);
+  GenerateDartCall(deopt_id, token_pos, *StubCode::CallStaticFunction_entry(),
+                   RawPcDescriptors::kOther, locs);
   AddStaticCallTarget(function);
   __ Drop(argument_count);
 }
@@ -1368,15 +1313,14 @@
       __ Call(*StubCode::UnoptimizedIdenticalWithNumberCheck_entry());
     }
     if (token_pos.IsReal()) {
-      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall,
-                           Thread::kNoDeoptId,
+      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall, Thread::kNoDeoptId,
                            token_pos);
     }
     // Stub returns result in flags (result of a cmpl, we need ZF computed).
     __ popl(reg);  // Discard constant.
     __ popl(reg);  // Restore 'reg'.
   } else {
-  __ CompareObject(reg, obj);
+    __ CompareObject(reg, obj);
   }
   return EQUAL;
 }
@@ -1396,8 +1340,7 @@
       __ Call(*StubCode::UnoptimizedIdenticalWithNumberCheck_entry());
     }
     if (token_pos.IsReal()) {
-      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall,
-                           Thread::kNoDeoptId,
+      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall, Thread::kNoDeoptId,
                            token_pos);
     }
     // Stub returns result in flags (result of a cmpl, we need ZF computed).
@@ -1498,9 +1441,8 @@
   ASSERT(is_optimizing());
   ASSERT(!complete);
   __ Comment("EmitTestAndCall");
-  const Array& arguments_descriptor =
-      Array::ZoneHandle(zone(), ArgumentsDescriptor::New(argument_count,
-                                                         argument_names));
+  const Array& arguments_descriptor = Array::ZoneHandle(
+      zone(), ArgumentsDescriptor::New(argument_count, argument_names));
   // Load receiver into EAX.
   __ movl(EAX, Address(ESP, (argument_count - 1) * kWordSize));
   __ LoadObject(EDX, arguments_descriptor);
@@ -1521,13 +1463,11 @@
     }
     // Do not use the code from the function, but let the code be patched so
     // that we can record the outgoing edges to other code.
-    GenerateDartCall(deopt_id,
-                     token_index,
+    GenerateDartCall(deopt_id, token_index,
                      *StubCode::CallStaticFunction_entry(),
-                     RawPcDescriptors::kOther,
-                     locs);
-    const Function& function = Function::ZoneHandle(
-        zone(), ic_data.GetTargetAt(0));
+                     RawPcDescriptors::kOther, locs);
+    const Function& function =
+        Function::ZoneHandle(zone(), ic_data.GetTargetAt(0));
     AddStaticCallTarget(function);
     __ Drop(argument_count);
     if (kNumChecks > 1) {
@@ -1564,11 +1504,9 @@
     }
     // Do not use the code from the function, but let the code be patched so
     // that we can record the outgoing edges to other code.
-    GenerateDartCall(deopt_id,
-                     token_index,
+    GenerateDartCall(deopt_id, token_index,
                      *StubCode::CallStaticFunction_entry(),
-                     RawPcDescriptors::kOther,
-                     locs);
+                     RawPcDescriptors::kOther, locs);
     const Function& function = *sorted[i].target;
     AddStaticCallTarget(function);
     __ Drop(argument_count);
@@ -1640,7 +1578,8 @@
       if (constant.IsSmi() && (Smi::Cast(constant).Value() == 0)) {
         __ xorl(destination.reg(), destination.reg());
       } else if (constant.IsSmi() &&
-          (source.constant_instruction()->representation() == kUnboxedInt32)) {
+                 (source.constant_instruction()->representation() ==
+                  kUnboxedInt32)) {
         __ movl(destination.reg(), Immediate(Smi::Cast(constant).Value()));
       } else {
         __ LoadObjectSafely(destination.reg(), constant);
@@ -1652,7 +1591,7 @@
         __ pushl(EAX);
         __ LoadObject(EAX, constant);
         __ movsd(destination.fpu_reg(),
-            FieldAddress(EAX, Double::value_offset()));
+                 FieldAddress(EAX, Double::value_offset()));
         __ popl(EAX);
       } else if (Utils::DoublesBitEqual(constant.value(), 0.0)) {
         __ xorps(destination.fpu_reg(), destination.fpu_reg());
@@ -1708,17 +1647,15 @@
     __ movaps(source.fpu_reg(), destination.fpu_reg());
     __ movaps(destination.fpu_reg(), XMM0);
   } else if (source.IsFpuRegister() || destination.IsFpuRegister()) {
-    ASSERT(destination.IsDoubleStackSlot() ||
-           destination.IsQuadStackSlot() ||
-           source.IsDoubleStackSlot() ||
-           source.IsQuadStackSlot());
-    bool double_width = destination.IsDoubleStackSlot() ||
-                        source.IsDoubleStackSlot();
-    XmmRegister reg = source.IsFpuRegister() ? source.fpu_reg()
-                                             : destination.fpu_reg();
+    ASSERT(destination.IsDoubleStackSlot() || destination.IsQuadStackSlot() ||
+           source.IsDoubleStackSlot() || source.IsQuadStackSlot());
+    bool double_width =
+        destination.IsDoubleStackSlot() || source.IsDoubleStackSlot();
+    XmmRegister reg =
+        source.IsFpuRegister() ? source.fpu_reg() : destination.fpu_reg();
     const Address& slot_address = source.IsFpuRegister()
-        ? destination.ToStackSlotAddress()
-        : source.ToStackSlotAddress();
+                                      ? destination.ToStackSlotAddress()
+                                      : source.ToStackSlotAddress();
 
     if (double_width) {
       __ movsd(XMM0, slot_address);
diff --git a/runtime/vm/flow_graph_compiler_mips.cc b/runtime/vm/flow_graph_compiler_mips.cc
index ca0be62..fe38b17 100644
--- a/runtime/vm/flow_graph_compiler_mips.cc
+++ b/runtime/vm/flow_graph_compiler_mips.cc
@@ -116,8 +116,7 @@
 
   // For the innermost environment, set outgoing arguments and the locals.
   for (intptr_t i = current->Length() - 1;
-       i >= current->fixed_parameter_count();
-       i--) {
+       i >= current->fixed_parameter_count(); i--) {
     builder->AddCopy(current->ValueAt(i), current->LocationAt(i), slot_ix++);
   }
 
@@ -130,26 +129,21 @@
 
     // For any outer environment the deopt id is that of the call instruction
     // which is recorded in the outer environment.
-    builder->AddReturnAddress(
-        current->function(),
-        Thread::ToDeoptAfter(current->deopt_id()),
-        slot_ix++);
+    builder->AddReturnAddress(current->function(),
+                              Thread::ToDeoptAfter(current->deopt_id()),
+                              slot_ix++);
 
     // The values of outgoing arguments can be changed from the inlined call so
     // we must read them from the previous environment.
     for (intptr_t i = previous->fixed_parameter_count() - 1; i >= 0; i--) {
-      builder->AddCopy(previous->ValueAt(i),
-                       previous->LocationAt(i),
+      builder->AddCopy(previous->ValueAt(i), previous->LocationAt(i),
                        slot_ix++);
     }
 
     // Set the locals, note that outgoing arguments are not in the environment.
     for (intptr_t i = current->Length() - 1;
-         i >= current->fixed_parameter_count();
-         i--) {
-      builder->AddCopy(current->ValueAt(i),
-                       current->LocationAt(i),
-                       slot_ix++);
+         i >= current->fixed_parameter_count(); i--) {
+      builder->AddCopy(current->ValueAt(i), current->LocationAt(i), slot_ix++);
     }
 
     // Iterate on the outer environment.
@@ -281,7 +275,7 @@
     const TypeArguments& type_arguments =
         TypeArguments::ZoneHandle(zone(), type.arguments());
     const bool is_raw_type = type_arguments.IsNull() ||
-        type_arguments.IsRaw(from_index, num_type_params);
+                             type_arguments.IsRaw(from_index, num_type_params);
     if (is_raw_type) {
       const Register kClassIdReg = T0;
       // dynamic type argument, check only classes.
@@ -296,8 +290,8 @@
     }
     // If one type argument only, check if type argument is Object or dynamic.
     if (type_arguments.Length() == 1) {
-      const AbstractType& tp_argument = AbstractType::ZoneHandle(zone(),
-          type_arguments.TypeAt(0));
+      const AbstractType& tp_argument =
+          AbstractType::ZoneHandle(zone(), type_arguments.TypeAt(0));
       ASSERT(!tp_argument.IsMalformed());
       if (tp_argument.IsType()) {
         ASSERT(tp_argument.HasResolvedTypeClass());
@@ -315,12 +309,9 @@
   const Register kTypeArgumentsReg = kNoRegister;
   const Register kTempReg = kNoRegister;
   // A0: instance (must be preserved).
-  return GenerateCallSubtypeTestStub(kTestTypeTwoArgs,
-                                     kInstanceReg,
-                                     kTypeArgumentsReg,
-                                     kTempReg,
-                                     is_instance_lbl,
-                                     is_not_instance_lbl);
+  return GenerateCallSubtypeTestStub(kTestTypeTwoArgs, kInstanceReg,
+                                     kTypeArgumentsReg, kTempReg,
+                                     is_instance_lbl, is_not_instance_lbl);
 }
 
 
@@ -359,11 +350,8 @@
   __ andi(T0, A0, Immediate(kSmiTagMask));
   // If instance is Smi, check directly.
   const Class& smi_class = Class::Handle(zone(), Smi::Class());
-  if (smi_class.IsSubtypeOf(TypeArguments::Handle(zone()),
-                            type_class,
-                            TypeArguments::Handle(zone()),
-                            NULL,
-                            NULL,
+  if (smi_class.IsSubtypeOf(TypeArguments::Handle(zone()), type_class,
+                            TypeArguments::Handle(zone()), NULL, NULL,
                             Heap::kOld)) {
     __ beq(T0, ZR, is_instance_lbl);
   } else {
@@ -382,8 +370,8 @@
   // Custom checking for numbers (Smi, Mint, Bigint and Double).
   // Note that instance is not Smi (checked above).
   if (type.IsNumberType() || type.IsIntType() || type.IsDoubleType()) {
-    GenerateNumberTypeCheck(
-        kClassIdReg, type, is_instance_lbl, is_not_instance_lbl);
+    GenerateNumberTypeCheck(kClassIdReg, type, is_instance_lbl,
+                            is_not_instance_lbl);
     return false;
   }
   if (type.IsStringType()) {
@@ -397,7 +385,7 @@
   }
   // Compare if the classes are equal.
   if (!type_class.is_abstract()) {
-  __ BranchEqual(kClassIdReg, Immediate(type_class.id()), is_instance_lbl);
+    __ BranchEqual(kClassIdReg, Immediate(type_class.id()), is_instance_lbl);
   }
   // Otherwise fallthrough.
   return true;
@@ -428,12 +416,9 @@
 
   const Register kTypeArgumentsReg = kNoRegister;
   const Register kTempReg = kNoRegister;
-  return GenerateCallSubtypeTestStub(kTestTypeOneArg,
-                                     kInstanceReg,
-                                     kTypeArgumentsReg,
-                                     kTempReg,
-                                     is_instance_lbl,
-                                     is_not_instance_lbl);
+  return GenerateCallSubtypeTestStub(kTestTypeOneArg, kInstanceReg,
+                                     kTypeArgumentsReg, kTempReg,
+                                     is_instance_lbl, is_not_instance_lbl);
 }
 
 
@@ -456,22 +441,21 @@
     __ LoadObject(T7, Object::null_object());
     __ beq(A1, T7, is_instance_lbl);
     __ lw(T2,
-        FieldAddress(A1, TypeArguments::type_at_offset(type_param.index())));
+          FieldAddress(A1, TypeArguments::type_at_offset(type_param.index())));
     // R2: concrete type of type.
     // Check if type argument is dynamic.
-    __ BranchEqual(T2,
-        Object::dynamic_type(), is_instance_lbl);
-    __ BranchEqual(T2,
-        Type::ZoneHandle(zone(), Type::ObjectType()), is_instance_lbl);
+    __ BranchEqual(T2, Object::dynamic_type(), is_instance_lbl);
+    __ BranchEqual(T2, Type::ZoneHandle(zone(), Type::ObjectType()),
+                   is_instance_lbl);
 
     // For Smi check quickly against int and num interfaces.
     Label not_smi;
     __ andi(CMPRES1, A0, Immediate(kSmiTagMask));
     __ bne(CMPRES1, ZR, &not_smi);  // Value is Smi?
-    __ BranchEqual(T2,
-        Type::ZoneHandle(zone(), Type::IntType()), is_instance_lbl);
-    __ BranchEqual(T2,
-        Type::ZoneHandle(zone(), Type::Number()), is_instance_lbl);
+    __ BranchEqual(T2, Type::ZoneHandle(zone(), Type::IntType()),
+                   is_instance_lbl);
+    __ BranchEqual(T2, Type::ZoneHandle(zone(), Type::Number()),
+                   is_instance_lbl);
     // Smi must be handled in runtime.
     Label fall_through;
     __ b(&fall_through);
@@ -482,14 +466,10 @@
     const Register kInstanceReg = A0;
     const Register kTypeArgumentsReg = A1;
     const Register kTempReg = kNoRegister;
-    const SubtypeTestCache& type_test_cache =
-        SubtypeTestCache::ZoneHandle(zone(),
-            GenerateCallSubtypeTestStub(kTestTypeThreeArgs,
-                                        kInstanceReg,
-                                        kTypeArgumentsReg,
-                                        kTempReg,
-                                        is_instance_lbl,
-                                        is_not_instance_lbl));
+    const SubtypeTestCache& type_test_cache = SubtypeTestCache::ZoneHandle(
+        zone(), GenerateCallSubtypeTestStub(
+                    kTestTypeThreeArgs, kInstanceReg, kTypeArgumentsReg,
+                    kTempReg, is_instance_lbl, is_not_instance_lbl));
     __ Bind(&fall_through);
     return type_test_cache.raw();
   }
@@ -502,12 +482,9 @@
     // Uninstantiated type class is known at compile time, but the type
     // arguments are determined at runtime by the instantiator.
     const Register kTempReg = kNoRegister;
-    return GenerateCallSubtypeTestStub(kTestTypeThreeArgs,
-                                       kInstanceReg,
-                                       kTypeArgumentsReg,
-                                       kTempReg,
-                                       is_instance_lbl,
-                                       is_not_instance_lbl);
+    return GenerateCallSubtypeTestStub(kTestTypeThreeArgs, kInstanceReg,
+                                       kTypeArgumentsReg, kTempReg,
+                                       is_instance_lbl, is_not_instance_lbl);
   }
   return SubtypeTestCache::null();
 }
@@ -539,17 +516,12 @@
     // function type) of a non-parameterized class or with a raw dst type of
     // a parameterized class.
     if (type.IsFunctionType() || (type_class.NumTypeArguments() > 0)) {
-      return GenerateInstantiatedTypeWithArgumentsTest(token_pos,
-                                                       type,
-                                                       is_instance_lbl,
-                                                       is_not_instance_lbl);
+      return GenerateInstantiatedTypeWithArgumentsTest(
+          token_pos, type, is_instance_lbl, is_not_instance_lbl);
       // Fall through to runtime call.
     }
-    const bool has_fall_through =
-        GenerateInstantiatedTypeNoArgumentsTest(token_pos,
-                                                type,
-                                                is_instance_lbl,
-                                                is_not_instance_lbl);
+    const bool has_fall_through = GenerateInstantiatedTypeNoArgumentsTest(
+        token_pos, type, is_instance_lbl, is_not_instance_lbl);
     if (has_fall_through) {
       // If test non-conclusive so far, try the inlined type-test cache.
       // 'type' is known at compile time.
@@ -559,9 +531,7 @@
       return SubtypeTestCache::null();
     }
   }
-  return GenerateUninstantiatedTypeTest(token_pos,
-                                        type,
-                                        is_instance_lbl,
+  return GenerateUninstantiatedTypeTest(token_pos, type, is_instance_lbl,
                                         is_not_instance_lbl);
 }
 
@@ -599,13 +569,13 @@
     // time, since an uninstantiated type at compile time could be Object or
     // dynamic at run time.
     __ BranchEqual(A0, Object::null_object(),
-        type.IsNullType() ? &is_instance : &is_not_instance);
+                   type.IsNullType() ? &is_instance : &is_not_instance);
   }
 
   // Generate inline instanceof test.
   SubtypeTestCache& test_cache = SubtypeTestCache::ZoneHandle(zone());
-  test_cache = GenerateInlineInstanceof(token_pos, type,
-                                        &is_instance, &is_not_instance);
+  test_cache =
+      GenerateInlineInstanceof(token_pos, type, &is_instance, &is_not_instance);
 
   // test_cache is null if there is no fall-through.
   Label done;
@@ -617,10 +587,10 @@
     __ addiu(SP, SP, Immediate(-5 * kWordSize));
     __ LoadObject(TMP, Object::null_object());
     __ sw(TMP, Address(SP, 4 * kWordSize));  // Make room for the result.
-    __ sw(A0, Address(SP, 3 * kWordSize));  // Push the instance.
+    __ sw(A0, Address(SP, 3 * kWordSize));   // Push the instance.
     __ LoadObject(TMP, type);
     __ sw(TMP, Address(SP, 2 * kWordSize));  // Push the type.
-    __ sw(A1, Address(SP, 1 * kWordSize));  // Push type arguments.
+    __ sw(A1, Address(SP, 1 * kWordSize));   // Push type arguments.
     __ LoadUniqueObject(A0, test_cache);
     __ sw(A0, Address(SP, 0 * kWordSize));
     GenerateRuntimeCall(token_pos, deopt_id, kInstanceofRuntimeEntry, 4, locs);
@@ -688,16 +658,13 @@
     __ addiu(SP, SP, Immediate(-4 * kWordSize));
     __ LoadObject(TMP, Object::null_object());
     __ sw(TMP, Address(SP, 3 * kWordSize));  // Make room for the result.
-    __ sw(A0, Address(SP, 2 * kWordSize));  // Push the source object.
+    __ sw(A0, Address(SP, 2 * kWordSize));   // Push the source object.
     __ LoadObject(TMP, dst_name);
     __ sw(TMP, Address(SP, 1 * kWordSize));  // Push the destination name.
     __ LoadObject(TMP, dst_type);
     __ sw(TMP, Address(SP, 0 * kWordSize));  // Push the destination type.
 
-    GenerateRuntimeCall(token_pos,
-                        deopt_id,
-                        kBadTypeErrorRuntimeEntry,
-                        3,
+    GenerateRuntimeCall(token_pos, deopt_id, kBadTypeErrorRuntimeEntry, 3,
                         locs);
     // We should never return here.
     __ break_(0);
@@ -711,8 +678,8 @@
 
   // Generate inline type check, linking to runtime call if not assignable.
   SubtypeTestCache& test_cache = SubtypeTestCache::ZoneHandle(zone());
-  test_cache = GenerateInlineInstanceof(token_pos, dst_type,
-                                        &is_assignable, &runtime_call);
+  test_cache = GenerateInlineInstanceof(token_pos, dst_type, &is_assignable,
+                                        &runtime_call);
 
   __ Bind(&runtime_call);
   // Load instantiator type arguments (A1).
@@ -721,10 +688,10 @@
   __ addiu(SP, SP, Immediate(-6 * kWordSize));
   __ LoadObject(TMP, Object::null_object());
   __ sw(TMP, Address(SP, 5 * kWordSize));  // Make room for the result.
-  __ sw(A0, Address(SP, 4 * kWordSize));  // Push the source object.
+  __ sw(A0, Address(SP, 4 * kWordSize));   // Push the source object.
   __ LoadObject(TMP, dst_type);
   __ sw(TMP, Address(SP, 3 * kWordSize));  // Push the type of the destination.
-  __ sw(A1, Address(SP, 2 * kWordSize));  // Push type arguments.
+  __ sw(A1, Address(SP, 2 * kWordSize));   // Push type arguments.
   __ LoadObject(TMP, dst_name);
   __ sw(TMP, Address(SP, 1 * kWordSize));  // Push the name of the destination.
   __ LoadUniqueObject(T0, test_cache);
@@ -815,9 +782,9 @@
   // Copy or initialize optional named arguments.
   Label all_arguments_processed;
 #ifdef DEBUG
-    const bool check_correct_named_args = true;
+  const bool check_correct_named_args = true;
 #else
-    const bool check_correct_named_args = function.IsClosureFunction();
+  const bool check_correct_named_args = function.IsClosureFunction();
 #endif
   if (num_opt_named_params > 0) {
     __ Comment("There are named parameters");
@@ -849,8 +816,8 @@
     __ addu(T1, FP, T3);
     __ AddImmediate(T1, kParamEndSlotFromFp * kWordSize);
     // Let T0 point to the entry of the first named argument.
-    __ AddImmediate(T0, S4,
-        ArgumentsDescriptor::first_named_entry_offset() - kHeapObjectTag);
+    __ AddImmediate(T0, S4, ArgumentsDescriptor::first_named_entry_offset() -
+                                kHeapObjectTag);
     for (int i = 0; i < num_opt_named_params; i++) {
       Label load_default_value, assign_optional_parameter;
       const int param_pos = opt_param_position[i];
@@ -896,8 +863,7 @@
   } else {
     ASSERT(num_opt_pos_params > 0);
     __ Comment("There are optional positional parameters");
-    __ lw(T2,
-          FieldAddress(S4, ArgumentsDescriptor::positional_count_offset()));
+    __ lw(T2, FieldAddress(S4, ArgumentsDescriptor::positional_count_offset()));
     __ SmiUntag(T2);
     for (int i = 0; i < num_opt_pos_params; i++) {
       Label next_parameter;
@@ -990,8 +956,7 @@
 
 void FlowGraphCompiler::EmitFrameEntry() {
   const Function& function = parsed_function().function();
-  if (CanOptimizeFunction() &&
-      function.IsOptimizable() &&
+  if (CanOptimizeFunction() && function.IsOptimizable() &&
       (!is_optimizing() || may_reoptimize())) {
     __ Comment("Invocation Count Check");
     const Register function_reg = T0;
@@ -1011,8 +976,8 @@
 
     // Skip Branch if T1 is less than the threshold.
     Label dont_branch;
-    __ BranchSignedLess(
-        T1, Immediate(GetOptimizationThreshold()), &dont_branch);
+    __ BranchSignedLess(T1, Immediate(GetOptimizationThreshold()),
+                        &dont_branch);
 
     ASSERT(function_reg == T0);
     __ Branch(*StubCode::OptimizeFunction_entry(), new_pp);
@@ -1021,9 +986,8 @@
   }
   __ Comment("Enter frame");
   if (flow_graph().IsCompiledForOsr()) {
-    intptr_t extra_slots = StackSize()
-        - flow_graph().num_stack_locals()
-        - flow_graph().num_copied_params();
+    intptr_t extra_slots = StackSize() - flow_graph().num_stack_locals() -
+                           flow_graph().num_copied_params();
     ASSERT(extra_slots >= 0);
     __ EnterOsrFrame(extra_slots * kWordSize);
   } else {
@@ -1077,8 +1041,8 @@
       __ BranchNotEqual(T0, Immediate(Smi::RawValue(num_fixed_params)),
                         &wrong_num_arguments);
 
-      __ lw(T1, FieldAddress(S4,
-                             ArgumentsDescriptor::positional_count_offset()));
+      __ lw(T1,
+            FieldAddress(S4, ArgumentsDescriptor::positional_count_offset()));
       __ beq(T0, T1, &correct_num_arguments);
       __ Bind(&wrong_num_arguments);
       __ LeaveDartFrame(kKeepCalleePP);  // Arguments are still on the stack.
@@ -1161,9 +1125,7 @@
   } else {
     // Add deoptimization continuation point after the call and before the
     // arguments are removed.
-    AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                         deopt_id_after,
-                         token_pos);
+    AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after, token_pos);
   }
 }
 
@@ -1190,9 +1152,7 @@
   } else {
     // Add deoptimization continuation point after the call and before the
     // arguments are removed.
-    AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                         deopt_id_after,
-                         token_pos);
+    AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after, token_pos);
   }
   AddStaticCallTarget(target);
 }
@@ -1215,9 +1175,7 @@
     } else {
       // Add deoptimization continuation point after the call and before the
       // arguments are removed.
-      AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                           deopt_id_after,
-                           token_pos);
+      AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after, token_pos);
     }
   }
 }
@@ -1238,13 +1196,12 @@
 }
 
 
-void FlowGraphCompiler::EmitOptimizedInstanceCall(
-    const StubEntry& stub_entry,
-    const ICData& ic_data,
-    intptr_t argument_count,
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    LocationSummary* locs) {
+void FlowGraphCompiler::EmitOptimizedInstanceCall(const StubEntry& stub_entry,
+                                                  const ICData& ic_data,
+                                                  intptr_t argument_count,
+                                                  intptr_t deopt_id,
+                                                  TokenPosition token_pos,
+                                                  LocationSummary* locs) {
   ASSERT(Array::Handle(zone(), ic_data.arguments_descriptor()).Length() > 0);
   // Each ICData propagated from unoptimized to optimized code contains the
   // function that corresponds to the Dart function of that IC call. Due
@@ -1255,10 +1212,7 @@
   __ Comment("OptimizedInstanceCall");
   __ LoadObject(T0, parsed_function().function());
   __ LoadUniqueObject(S5, ic_data);
-  GenerateDartCall(deopt_id,
-                   token_pos,
-                   stub_entry,
-                   RawPcDescriptors::kIcCall,
+  GenerateDartCall(deopt_id, token_pos, stub_entry, RawPcDescriptors::kIcCall,
                    locs);
   __ Drop(argument_count);
 }
@@ -1273,10 +1227,7 @@
   ASSERT(Array::Handle(zone(), ic_data.arguments_descriptor()).Length() > 0);
   __ Comment("InstanceCall");
   __ LoadUniqueObject(S5, ic_data);
-  GenerateDartCall(deopt_id,
-                   token_pos,
-                   stub_entry,
-                   RawPcDescriptors::kIcCall,
+  GenerateDartCall(deopt_id, token_pos, stub_entry, RawPcDescriptors::kIcCall,
                    locs);
   __ Comment("InstanceCall return");
   __ Drop(argument_count);
@@ -1295,7 +1246,8 @@
   const Array& arguments_descriptor =
       Array::ZoneHandle(zone(), ic_data.arguments_descriptor());
   ASSERT(!arguments_descriptor.IsNull() && (arguments_descriptor.Length() > 0));
-  const MegamorphicCache& cache = MegamorphicCache::ZoneHandle(zone(),
+  const MegamorphicCache& cache = MegamorphicCache::ZoneHandle(
+      zone(),
       MegamorphicCacheTable::Lookup(isolate(), name, arguments_descriptor));
 
   __ Comment("MegamorphicCall");
@@ -1306,12 +1258,11 @@
     Label megamorphic_call;
     __ Comment("Inlined get:hashCode for Smi and OneByteString");
     __ andi(CMPRES1, T0, Immediate(kSmiTagMask));
-    __ beq(CMPRES1, ZR, &done);  // Is Smi.
+    __ beq(CMPRES1, ZR, &done);    // Is Smi.
     __ delay_slot()->mov(V0, T0);  // Move Smi hashcode to V0.
 
     __ LoadClassId(CMPRES1, T0);  // Class ID check.
-    __ BranchNotEqual(
-        CMPRES1, Immediate(kOneByteStringCid), &megamorphic_call);
+    __ BranchNotEqual(CMPRES1, Immediate(kOneByteStringCid), &megamorphic_call);
 
     __ lw(V0, FieldAddress(T0, String::hash_offset()));
     __ bne(V0, ZR, &done);
@@ -1332,18 +1283,16 @@
     if (try_index == CatchClauseNode::kInvalidTryIndex) {
       try_index = CurrentTryIndex();
     }
-    pc_descriptors_list()->AddDescriptor(RawPcDescriptors::kOther,
-                                         assembler()->CodeSize(),
-                                         Thread::kNoDeoptId,
-                                         token_pos,
-                                         try_index);
+    pc_descriptors_list()->AddDescriptor(
+        RawPcDescriptors::kOther, assembler()->CodeSize(), Thread::kNoDeoptId,
+        token_pos, try_index);
   } else if (is_optimizing()) {
-    AddCurrentDescriptor(RawPcDescriptors::kOther,
-        Thread::kNoDeoptId, token_pos);
+    AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
+                         token_pos);
     AddDeoptIndexAtCall(deopt_id_after);
   } else {
-    AddCurrentDescriptor(RawPcDescriptors::kOther,
-        Thread::kNoDeoptId, token_pos);
+    AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
+                         token_pos);
     // Add deoptimization continuation point after the call and before the
     // arguments are removed.
     AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after, token_pos);
@@ -1352,15 +1301,14 @@
 }
 
 
-void FlowGraphCompiler::EmitSwitchableInstanceCall(
-    const ICData& ic_data,
-    intptr_t argument_count,
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    LocationSummary* locs) {
+void FlowGraphCompiler::EmitSwitchableInstanceCall(const ICData& ic_data,
+                                                   intptr_t argument_count,
+                                                   intptr_t deopt_id,
+                                                   TokenPosition token_pos,
+                                                   LocationSummary* locs) {
   ASSERT(ic_data.NumArgsTested() == 1);
-  const Code& initial_stub = Code::ZoneHandle(
-      StubCode::ICCallThroughFunction_entry()->code());
+  const Code& initial_stub =
+      Code::ZoneHandle(StubCode::ICCallThroughFunction_entry()->code());
 
   __ Comment("SwitchableCall");
   __ lw(T0, Address(SP, (argument_count - 1) * kWordSize));
@@ -1369,8 +1317,7 @@
   __ LoadUniqueObject(S5, ic_data);
   __ jalr(T9);
 
-  AddCurrentDescriptor(RawPcDescriptors::kOther,
-      Thread::kNoDeoptId, token_pos);
+  AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId, token_pos);
   RecordSafepoint(locs);
   const intptr_t deopt_id_after = Thread::ToDeoptAfter(deopt_id);
   if (is_optimizing()) {
@@ -1384,20 +1331,16 @@
 }
 
 
-void FlowGraphCompiler::EmitUnoptimizedStaticCall(
-    intptr_t argument_count,
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    LocationSummary* locs,
-    const ICData& ic_data) {
+void FlowGraphCompiler::EmitUnoptimizedStaticCall(intptr_t argument_count,
+                                                  intptr_t deopt_id,
+                                                  TokenPosition token_pos,
+                                                  LocationSummary* locs,
+                                                  const ICData& ic_data) {
   const StubEntry* stub_entry =
       StubCode::UnoptimizedStaticCallEntry(ic_data.NumArgsTested());
   __ LoadObject(S5, ic_data);
-  GenerateDartCall(deopt_id,
-                   token_pos,
-                   *stub_entry,
-                   RawPcDescriptors::kUnoptStaticCall,
-                   locs);
+  GenerateDartCall(deopt_id, token_pos, *stub_entry,
+                   RawPcDescriptors::kUnoptStaticCall, locs);
   __ Drop(argument_count);
 }
 
@@ -1418,12 +1361,9 @@
   }
   // Do not use the code from the function, but let the code be patched so that
   // we can record the outgoing edges to other code.
-  GenerateStaticDartCall(deopt_id,
-                         token_pos,
+  GenerateStaticDartCall(deopt_id, token_pos,
                          *StubCode::CallStaticFunction_entry(),
-                         RawPcDescriptors::kOther,
-                         locs,
-                         function);
+                         RawPcDescriptors::kOther, locs, function);
   __ Drop(argument_count);
 }
 
@@ -1450,13 +1390,12 @@
           *StubCode::UnoptimizedIdenticalWithNumberCheck_entry());
     }
     if (token_pos.IsReal()) {
-      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall,
-                           Thread::kNoDeoptId,
+      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall, Thread::kNoDeoptId,
                            token_pos);
     }
     __ Comment("EqualityRegConstCompare return");
     // Stub returns result in CMPRES1 (if it is 0, then reg and obj are equal).
-    __ lw(reg, Address(SP, 1 * kWordSize));  // Restore 'reg'.
+    __ lw(reg, Address(SP, 1 * kWordSize));      // Restore 'reg'.
     __ addiu(SP, SP, Immediate(2 * kWordSize));  // Discard constant.
     return Condition(CMPRES1, ZR, EQ);
   } else {
@@ -1485,8 +1424,7 @@
           *StubCode::UnoptimizedIdenticalWithNumberCheck_entry());
     }
     if (token_pos.IsReal()) {
-      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall,
-                           Thread::kNoDeoptId,
+      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall, Thread::kNoDeoptId,
                            token_pos);
     }
     __ Comment("EqualityRegRegCompare return");
@@ -1609,9 +1547,8 @@
                                         bool complete) {
   ASSERT(is_optimizing());
   __ Comment("EmitTestAndCall");
-  const Array& arguments_descriptor =
-      Array::ZoneHandle(zone(), ArgumentsDescriptor::New(argument_count,
-                                                         argument_names));
+  const Array& arguments_descriptor = Array::ZoneHandle(
+      zone(), ArgumentsDescriptor::New(argument_count, argument_names));
 
   // Load receiver into T0.
   __ LoadFromOffset(T0, SP, (argument_count - 1) * kWordSize);
@@ -1633,14 +1570,11 @@
     }
     // Do not use the code from the function, but let the code be patched so
     // that we can record the outgoing edges to other code.
-    const Function& function = Function::ZoneHandle(
-        zone(), ic_data.GetTargetAt(0));
-    GenerateStaticDartCall(deopt_id,
-                           token_index,
+    const Function& function =
+        Function::ZoneHandle(zone(), ic_data.GetTargetAt(0));
+    GenerateStaticDartCall(deopt_id, token_index,
                            *StubCode::CallStaticFunction_entry(),
-                           RawPcDescriptors::kOther,
-                           locs,
-                           function);
+                           RawPcDescriptors::kOther, locs, function);
     __ Drop(argument_count);
     if (kNumChecks > 1) {
       __ b(match_found);
@@ -1684,12 +1618,9 @@
     // Do not use the code from the function, but let the code be patched so
     // that we can record the outgoing edges to other code.
     const Function& function = *sorted[i].target;
-    GenerateStaticDartCall(deopt_id,
-                           token_index,
+    GenerateStaticDartCall(deopt_id, token_index,
                            *StubCode::CallStaticFunction_entry(),
-                           RawPcDescriptors::kOther,
-                           locs,
-                           function);
+                           RawPcDescriptors::kOther, locs, function);
     __ Drop(argument_count);
     if (!kIsLastCheck) {
       __ b(match_found);
@@ -1765,7 +1696,7 @@
     } else if (destination.IsFpuRegister()) {
       __ LoadObject(TMP, constant);
       __ LoadDFromOffset(destination.fpu_reg(), TMP,
-          Double::value_offset() - kHeapObjectTag);
+                         Double::value_offset() - kHeapObjectTag);
     } else if (destination.IsDoubleStackSlot()) {
       const intptr_t dest_offset = destination.ToStackSlotOffset();
       __ LoadObject(TMP, constant);
@@ -1801,11 +1732,10 @@
     __ mov(source.reg(), destination.reg());
     __ mov(destination.reg(), TMP);
   } else if (source.IsRegister() && destination.IsStackSlot()) {
-    Exchange(source.reg(),
-             destination.base_reg(), destination.ToStackSlotOffset());
+    Exchange(source.reg(), destination.base_reg(),
+             destination.ToStackSlotOffset());
   } else if (source.IsStackSlot() && destination.IsRegister()) {
-    Exchange(destination.reg(),
-             source.base_reg(), source.ToStackSlotOffset());
+    Exchange(destination.reg(), source.base_reg(), source.ToStackSlotOffset());
   } else if (source.IsStackSlot() && destination.IsStackSlot()) {
     Exchange(source.base_reg(), source.ToStackSlotOffset(),
              destination.base_reg(), destination.ToStackSlotOffset());
@@ -1817,14 +1747,13 @@
     __ movd(dst, DTMP);
   } else if (source.IsFpuRegister() || destination.IsFpuRegister()) {
     ASSERT(destination.IsDoubleStackSlot() || source.IsDoubleStackSlot());
-    DRegister reg = source.IsFpuRegister() ? source.fpu_reg()
-                                           : destination.fpu_reg();
-    Register base_reg = source.IsFpuRegister()
-        ? destination.base_reg()
-        : source.base_reg();
+    DRegister reg =
+        source.IsFpuRegister() ? source.fpu_reg() : destination.fpu_reg();
+    Register base_reg =
+        source.IsFpuRegister() ? destination.base_reg() : source.base_reg();
     const intptr_t slot_offset = source.IsFpuRegister()
-        ? destination.ToStackSlotOffset()
-        : source.ToStackSlotOffset();
+                                     ? destination.ToStackSlotOffset()
+                                     : source.ToStackSlotOffset();
     __ LoadDFromOffset(DTMP, base_reg, slot_offset);
     __ StoreDToOffset(reg, base_reg, slot_offset);
     __ movd(reg, DTMP);
diff --git a/runtime/vm/flow_graph_compiler_x64.cc b/runtime/vm/flow_graph_compiler_x64.cc
index db309c2..8a8b24f 100644
--- a/runtime/vm/flow_graph_compiler_x64.cc
+++ b/runtime/vm/flow_graph_compiler_x64.cc
@@ -52,7 +52,6 @@
 }
 
 
-
 bool FlowGraphCompiler::SupportsSinCos() {
   return true;
 }
@@ -116,8 +115,7 @@
 
   // For the innermost environment, set outgoing arguments and the locals.
   for (intptr_t i = current->Length() - 1;
-       i >= current->fixed_parameter_count();
-       i--) {
+       i >= current->fixed_parameter_count(); i--) {
     builder->AddCopy(current->ValueAt(i), current->LocationAt(i), slot_ix++);
   }
 
@@ -130,26 +128,21 @@
 
     // For any outer environment the deopt id is that of the call instruction
     // which is recorded in the outer environment.
-    builder->AddReturnAddress(
-        current->function(),
-        Thread::ToDeoptAfter(current->deopt_id()),
-        slot_ix++);
+    builder->AddReturnAddress(current->function(),
+                              Thread::ToDeoptAfter(current->deopt_id()),
+                              slot_ix++);
 
     // The values of outgoing arguments can be changed from the inlined call so
     // we must read them from the previous environment.
     for (intptr_t i = previous->fixed_parameter_count() - 1; i >= 0; i--) {
-      builder->AddCopy(previous->ValueAt(i),
-                       previous->LocationAt(i),
+      builder->AddCopy(previous->ValueAt(i), previous->LocationAt(i),
                        slot_ix++);
     }
 
     // Set the locals, note that outgoing arguments are not in the environment.
     for (intptr_t i = current->Length() - 1;
-         i >= current->fixed_parameter_count();
-         i--) {
-      builder->AddCopy(current->ValueAt(i),
-                       current->LocationAt(i),
-                       slot_ix++);
+         i >= current->fixed_parameter_count(); i--) {
+      builder->AddCopy(current->ValueAt(i), current->LocationAt(i), slot_ix++);
     }
 
     // Iterate on the outer environment.
@@ -224,7 +217,7 @@
   const SubtypeTestCache& type_test_cache =
       SubtypeTestCache::ZoneHandle(zone(), SubtypeTestCache::New());
   __ LoadUniqueObject(temp_reg, type_test_cache);
-  __ pushq(temp_reg);  // Subtype test cache.
+  __ pushq(temp_reg);      // Subtype test cache.
   __ pushq(instance_reg);  // Instance.
   if (test_kind == kTestTypeOneArg) {
     ASSERT(type_arguments_reg == kNoRegister);
@@ -245,7 +238,7 @@
   ASSERT(temp_reg != RCX);
   __ popq(instance_reg);  // Discard.
   __ popq(instance_reg);  // Restore receiver.
-  __ popq(temp_reg);  // Discard.
+  __ popq(temp_reg);      // Discard.
   GenerateBoolToJump(RCX, is_instance_lbl, is_not_instance_lbl);
   return type_test_cache.raw();
 }
@@ -287,7 +280,7 @@
     const TypeArguments& type_arguments =
         TypeArguments::ZoneHandle(zone(), type.arguments());
     const bool is_raw_type = type_arguments.IsNull() ||
-        type_arguments.IsRaw(from_index, num_type_params);
+                             type_arguments.IsRaw(from_index, num_type_params);
     if (is_raw_type) {
       const Register kClassIdReg = R10;
       // dynamic type argument, check only classes.
@@ -303,8 +296,8 @@
     }
     // If one type argument only, check if type argument is Object or dynamic.
     if (type_arguments.Length() == 1) {
-      const AbstractType& tp_argument = AbstractType::ZoneHandle(zone(),
-          type_arguments.TypeAt(0));
+      const AbstractType& tp_argument =
+          AbstractType::ZoneHandle(zone(), type_arguments.TypeAt(0));
       ASSERT(!tp_argument.IsMalformed());
       if (tp_argument.IsType()) {
         ASSERT(tp_argument.HasResolvedTypeClass());
@@ -321,12 +314,9 @@
   // Regular subtype test cache involving instance's type arguments.
   const Register kTypeArgumentsReg = kNoRegister;
   const Register kTempReg = R10;
-  return GenerateCallSubtypeTestStub(kTestTypeTwoArgs,
-                                     kInstanceReg,
-                                     kTypeArgumentsReg,
-                                     kTempReg,
-                                     is_instance_lbl,
-                                     is_not_instance_lbl);
+  return GenerateCallSubtypeTestStub(kTestTypeTwoArgs, kInstanceReg,
+                                     kTypeArgumentsReg, kTempReg,
+                                     is_instance_lbl, is_not_instance_lbl);
 }
 
 
@@ -365,11 +355,8 @@
   __ testq(kInstanceReg, Immediate(kSmiTagMask));
   // If instance is Smi, check directly.
   const Class& smi_class = Class::Handle(zone(), Smi::Class());
-  if (smi_class.IsSubtypeOf(TypeArguments::Handle(zone()),
-                            type_class,
-                            TypeArguments::Handle(zone()),
-                            NULL,
-                            NULL,
+  if (smi_class.IsSubtypeOf(TypeArguments::Handle(zone()), type_class,
+                            TypeArguments::Handle(zone()), NULL, NULL,
                             Heap::kOld)) {
     __ j(ZERO, is_instance_lbl);
   } else {
@@ -389,8 +376,8 @@
   // Custom checking for numbers (Smi, Mint, Bigint and Double).
   // Note that instance is not Smi (checked above).
   if (type.IsNumberType() || type.IsIntType() || type.IsDoubleType()) {
-    GenerateNumberTypeCheck(
-        kClassIdReg, type, is_instance_lbl, is_not_instance_lbl);
+    GenerateNumberTypeCheck(kClassIdReg, type, is_instance_lbl,
+                            is_not_instance_lbl);
     return false;
   }
   if (type.IsStringType()) {
@@ -437,12 +424,9 @@
 
   const Register kTypeArgumentsReg = kNoRegister;
   const Register kTempReg = R10;
-  return GenerateCallSubtypeTestStub(kTestTypeOneArg,
-                                     kInstanceReg,
-                                     kTypeArgumentsReg,
-                                     kTempReg,
-                                     is_instance_lbl,
-                                     is_not_instance_lbl);
+  return GenerateCallSubtypeTestStub(kTestTypeOneArg, kInstanceReg,
+                                     kTypeArgumentsReg, kTempReg,
+                                     is_instance_lbl, is_not_instance_lbl);
 }
 
 
@@ -465,24 +449,24 @@
     // Check if type arguments are null, i.e. equivalent to vector of dynamic.
     __ CompareObject(RDX, Object::null_object());
     __ j(EQUAL, is_instance_lbl);
-    __ movq(RDI,
-        FieldAddress(RDX, TypeArguments::type_at_offset(type_param.index())));
+    __ movq(RDI, FieldAddress(
+                     RDX, TypeArguments::type_at_offset(type_param.index())));
     // RDI: Concrete type of type.
     // Check if type argument is dynamic.
     __ CompareObject(RDI, Object::dynamic_type());
-    __ j(EQUAL,  is_instance_lbl);
+    __ j(EQUAL, is_instance_lbl);
     const Type& object_type = Type::ZoneHandle(zone(), Type::ObjectType());
     __ CompareObject(RDI, object_type);
-    __ j(EQUAL,  is_instance_lbl);
+    __ j(EQUAL, is_instance_lbl);
 
     // For Smi check quickly against int and num interfaces.
     Label not_smi;
     __ testq(RAX, Immediate(kSmiTagMask));  // Value is Smi?
     __ j(NOT_ZERO, &not_smi, Assembler::kNearJump);
     __ CompareObject(RDI, Type::ZoneHandle(zone(), Type::IntType()));
-    __ j(EQUAL,  is_instance_lbl);
+    __ j(EQUAL, is_instance_lbl);
     __ CompareObject(RDI, Type::ZoneHandle(zone(), Type::Number()));
-    __ j(EQUAL,  is_instance_lbl);
+    __ j(EQUAL, is_instance_lbl);
     // Smi must be handled in runtime.
     Label fall_through;
     __ jmp(&fall_through);
@@ -493,14 +477,10 @@
     const Register kInstanceReg = RAX;
     const Register kTypeArgumentsReg = RDX;
     const Register kTempReg = R10;
-    const SubtypeTestCache& type_test_cache =
-        SubtypeTestCache::ZoneHandle(zone(),
-            GenerateCallSubtypeTestStub(kTestTypeThreeArgs,
-                                        kInstanceReg,
-                                        kTypeArgumentsReg,
-                                        kTempReg,
-                                        is_instance_lbl,
-                                        is_not_instance_lbl));
+    const SubtypeTestCache& type_test_cache = SubtypeTestCache::ZoneHandle(
+        zone(), GenerateCallSubtypeTestStub(
+                    kTestTypeThreeArgs, kInstanceReg, kTypeArgumentsReg,
+                    kTempReg, is_instance_lbl, is_not_instance_lbl));
     __ Bind(&fall_through);
     return type_test_cache.raw();
   }
@@ -513,12 +493,9 @@
     // Uninstantiated type class is known at compile time, but the type
     // arguments are determined at runtime by the instantiator.
     const Register kTempReg = R10;
-    return GenerateCallSubtypeTestStub(kTestTypeThreeArgs,
-                                       kInstanceReg,
-                                       kTypeArgumentsReg,
-                                       kTempReg,
-                                       is_instance_lbl,
-                                       is_not_instance_lbl);
+    return GenerateCallSubtypeTestStub(kTestTypeThreeArgs, kInstanceReg,
+                                       kTypeArgumentsReg, kTempReg,
+                                       is_instance_lbl, is_not_instance_lbl);
   }
   return SubtypeTestCache::null();
 }
@@ -550,29 +527,22 @@
     // function type) of a non-parameterized class or with a raw dst type of
     // a parameterized class.
     if (type.IsFunctionType() || (type_class.NumTypeArguments() > 0)) {
-      return GenerateInstantiatedTypeWithArgumentsTest(token_pos,
-                                                       type,
-                                                       is_instance_lbl,
-                                                       is_not_instance_lbl);
+      return GenerateInstantiatedTypeWithArgumentsTest(
+          token_pos, type, is_instance_lbl, is_not_instance_lbl);
       // Fall through to runtime call.
     }
-    const bool has_fall_through =
-        GenerateInstantiatedTypeNoArgumentsTest(token_pos,
-                                                type,
-                                                is_instance_lbl,
-                                                is_not_instance_lbl);
+    const bool has_fall_through = GenerateInstantiatedTypeNoArgumentsTest(
+        token_pos, type, is_instance_lbl, is_not_instance_lbl);
     if (has_fall_through) {
       // If test non-conclusive so far, try the inlined type-test cache.
       // 'type' is known at compile time.
       return GenerateSubtype1TestCacheLookup(
-           token_pos, type_class, is_instance_lbl, is_not_instance_lbl);
+          token_pos, type_class, is_instance_lbl, is_not_instance_lbl);
     } else {
       return SubtypeTestCache::null();
     }
   }
-  return GenerateUninstantiatedTypeTest(token_pos,
-                                        type,
-                                        is_instance_lbl,
+  return GenerateUninstantiatedTypeTest(token_pos, type, is_instance_lbl,
                                         is_not_instance_lbl);
 }
 
@@ -613,25 +583,21 @@
 
   // Generate inline instanceof test.
   SubtypeTestCache& test_cache = SubtypeTestCache::ZoneHandle(zone());
-  test_cache = GenerateInlineInstanceof(token_pos, type,
-                                        &is_instance, &is_not_instance);
+  test_cache =
+      GenerateInlineInstanceof(token_pos, type, &is_instance, &is_not_instance);
 
   // test_cache is null if there is no fall-through.
   Label done;
   if (!test_cache.IsNull()) {
     // Generate runtime call.
-    __ movq(RDX, Address(RSP, 0));  // Get instantiator type arguments.
+    __ movq(RDX, Address(RSP, 0));         // Get instantiator type arguments.
     __ PushObject(Object::null_object());  // Make room for the result.
-    __ pushq(RAX);  // Push the instance.
-    __ PushObject(type);  // Push the type.
-    __ pushq(RDX);  // Instantiator type arguments.
+    __ pushq(RAX);                         // Push the instance.
+    __ PushObject(type);                   // Push the type.
+    __ pushq(RDX);                         // Instantiator type arguments.
     __ LoadUniqueObject(RAX, test_cache);
     __ pushq(RAX);
-    GenerateRuntimeCall(token_pos,
-                        deopt_id,
-                        kInstanceofRuntimeEntry,
-                        4,
-                        locs);
+    GenerateRuntimeCall(token_pos, deopt_id, kInstanceofRuntimeEntry, 4, locs);
     // Pop the parameters supplied to the runtime entry. The result of the
     // instanceof runtime call will be left as the result of the operation.
     __ Drop(4);
@@ -688,34 +654,31 @@
   // Generate throw new TypeError() if the type is malformed or malbounded.
   if (dst_type.IsMalformedOrMalbounded()) {
     __ PushObject(Object::null_object());  // Make room for the result.
-    __ pushq(RAX);  // Push the source object.
-    __ PushObject(dst_name);  // Push the name of the destination.
-    __ PushObject(dst_type);  // Push the type of the destination.
-    GenerateRuntimeCall(token_pos,
-                        deopt_id,
-                        kBadTypeErrorRuntimeEntry,
-                        3,
+    __ pushq(RAX);                         // Push the source object.
+    __ PushObject(dst_name);               // Push the name of the destination.
+    __ PushObject(dst_type);               // Push the type of the destination.
+    GenerateRuntimeCall(token_pos, deopt_id, kBadTypeErrorRuntimeEntry, 3,
                         locs);
     // We should never return here.
     __ int3();
 
     __ Bind(&is_assignable);  // For a null object.
-    __ popq(RDX);  // Remove pushed instantiator type arguments.
+    __ popq(RDX);             // Remove pushed instantiator type arguments.
     return;
   }
 
   // Generate inline type check, linking to runtime call if not assignable.
   SubtypeTestCache& test_cache = SubtypeTestCache::ZoneHandle(zone());
-  test_cache = GenerateInlineInstanceof(token_pos, dst_type,
-                                        &is_assignable, &runtime_call);
+  test_cache = GenerateInlineInstanceof(token_pos, dst_type, &is_assignable,
+                                        &runtime_call);
 
   __ Bind(&runtime_call);
-  __ movq(RDX, Address(RSP, 0));  // Get instantiator type arguments.
+  __ movq(RDX, Address(RSP, 0));         // Get instantiator type arguments.
   __ PushObject(Object::null_object());  // Make room for the result.
-  __ pushq(RAX);  // Push the source object.
-  __ PushObject(dst_type);  // Push the type of the destination.
-  __ pushq(RDX);  // Instantiator type arguments.
-  __ PushObject(dst_name);  // Push the name of the destination.
+  __ pushq(RAX);                         // Push the source object.
+  __ PushObject(dst_type);               // Push the type of the destination.
+  __ pushq(RDX);                         // Instantiator type arguments.
+  __ PushObject(dst_name);               // Push the name of the destination.
   __ LoadUniqueObject(RAX, test_cache);
   __ pushq(RAX);
   GenerateRuntimeCall(token_pos, deopt_id, kTypeCheckRuntimeEntry, 5, locs);
@@ -784,8 +747,8 @@
   // Let RBX point to the last passed positional argument, i.e. to
   // fp[kParamEndSlotFromFp + num_args - (num_pos_args - 1)].
   __ subq(RBX, RCX);
-  __ leaq(RBX, Address(RBP, RBX, TIMES_4,
-                       (kParamEndSlotFromFp + 1) * kWordSize));
+  __ leaq(RBX,
+          Address(RBP, RBX, TIMES_4, (kParamEndSlotFromFp + 1) * kWordSize));
 
   // Let RDI point to the last copied positional argument, i.e. to
   // fp[kFirstLocalSlotFromFp - (num_pos_args - 1)].
@@ -812,9 +775,9 @@
   // Copy or initialize optional named arguments.
   Label all_arguments_processed;
 #ifdef DEBUG
-    const bool check_correct_named_args = true;
+  const bool check_correct_named_args = true;
 #else
-    const bool check_correct_named_args = function.IsClosureFunction();
+  const bool check_correct_named_args = function.IsClosureFunction();
 #endif
   if (num_opt_named_params > 0) {
     // Start by alphabetically sorting the names of the optional parameters.
@@ -842,8 +805,7 @@
     __ SmiUntag(RCX);
     // Let RBX point to the first passed argument, i.e. to
     // fp[kParamEndSlotFromFp + num_args]; num_args (RBX) is Smi.
-    __ leaq(RBX,
-            Address(RBP, RBX, TIMES_4, kParamEndSlotFromFp * kWordSize));
+    __ leaq(RBX, Address(RBP, RBX, TIMES_4, kParamEndSlotFromFp * kWordSize));
     // Let RDI point to the entry of the first named argument.
     __ leaq(RDI,
             FieldAddress(R10, ArgumentsDescriptor::first_named_entry_offset()));
@@ -861,8 +823,7 @@
       __ movq(RAX, Address(RDI, ArgumentsDescriptor::position_offset()));
       // RAX is arg_pos as Smi.
       // Point to next named entry.
-      __ AddImmediate(
-          RDI, Immediate(ArgumentsDescriptor::named_entry_size()));
+      __ AddImmediate(RDI, Immediate(ArgumentsDescriptor::named_entry_size()));
       __ negq(RAX);
       Address argument_addr(RBX, RAX, TIMES_4, 0);  // RAX is a negative Smi.
       __ movq(RAX, argument_addr);
@@ -946,8 +907,8 @@
   __ LoadObject(R12, Object::null_object());
   Label null_args_loop, null_args_loop_condition;
   __ jmp(&null_args_loop_condition, Assembler::kNearJump);
-  const Address original_argument_addr(
-      RBP, RCX, TIMES_8, (kParamEndSlotFromFp + 1) * kWordSize);
+  const Address original_argument_addr(RBP, RCX, TIMES_8,
+                                       (kParamEndSlotFromFp + 1) * kWordSize);
   __ Bind(&null_args_loop);
   __ movq(original_argument_addr, R12);
   __ Bind(&null_args_loop_condition);
@@ -985,9 +946,8 @@
 // needs to be updated to match.
 void FlowGraphCompiler::EmitFrameEntry() {
   if (flow_graph().IsCompiledForOsr()) {
-    intptr_t extra_slots = StackSize()
-        - flow_graph().num_stack_locals()
-        - flow_graph().num_copied_params();
+    intptr_t extra_slots = StackSize() - flow_graph().num_stack_locals() -
+                           flow_graph().num_copied_params();
     ASSERT(extra_slots >= 0);
     __ EnterOsrFrame(extra_slots * kWordSize);
   } else {
@@ -995,8 +955,7 @@
     __ LoadPoolPointer(new_pp);
 
     const Function& function = parsed_function().function();
-    if (CanOptimizeFunction() &&
-        function.IsOptimizable() &&
+    if (CanOptimizeFunction() && function.IsOptimizable() &&
         (!is_optimizing() || may_reoptimize())) {
       __ Comment("Invocation Count Check");
       const Register function_reg = RDI;
@@ -1008,13 +967,10 @@
       if (!is_optimizing()) {
         __ incl(FieldAddress(function_reg, Function::usage_counter_offset()));
       }
-      __ cmpl(
-          FieldAddress(function_reg, Function::usage_counter_offset()),
-          Immediate(GetOptimizationThreshold()));
+      __ cmpl(FieldAddress(function_reg, Function::usage_counter_offset()),
+              Immediate(GetOptimizationThreshold()));
       ASSERT(function_reg == RDI);
-      __ J(GREATER_EQUAL,
-           *StubCode::OptimizeFunction_entry(),
-           new_pp);
+      __ J(GREATER_EQUAL, *StubCode::OptimizeFunction_entry(), new_pp);
     }
     ASSERT(StackSize() >= 0);
     __ Comment("Enter frame");
@@ -1059,9 +1015,8 @@
       __ movq(RAX, FieldAddress(R10, ArgumentsDescriptor::count_offset()));
       __ CompareImmediate(RAX, Immediate(Smi::RawValue(num_fixed_params)));
       __ j(NOT_EQUAL, &wrong_num_arguments, Assembler::kNearJump);
-      __ cmpq(RAX,
-              FieldAddress(R10,
-                           ArgumentsDescriptor::positional_count_offset()));
+      __ cmpq(RAX, FieldAddress(
+                       R10, ArgumentsDescriptor::positional_count_offset()));
       __ j(EQUAL, &correct_num_arguments, Assembler::kNearJump);
 
       __ Bind(&wrong_num_arguments);
@@ -1109,8 +1064,8 @@
         } else {
           const Context& empty_context = Context::ZoneHandle(
               zone(), isolate()->object_store()->empty_context());
-          __ StoreObject(
-              Address(RBP, (slot_base - i) * kWordSize), empty_context);
+          __ StoreObject(Address(RBP, (slot_base - i) * kWordSize),
+                         empty_context);
         }
       } else {
         ASSERT(num_locals > 1);
@@ -1211,20 +1166,16 @@
 }
 
 
-void FlowGraphCompiler::EmitUnoptimizedStaticCall(
-    intptr_t argument_count,
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    LocationSummary* locs,
-    const ICData& ic_data) {
+void FlowGraphCompiler::EmitUnoptimizedStaticCall(intptr_t argument_count,
+                                                  intptr_t deopt_id,
+                                                  TokenPosition token_pos,
+                                                  LocationSummary* locs,
+                                                  const ICData& ic_data) {
   const StubEntry* stub_entry =
       StubCode::UnoptimizedStaticCallEntry(ic_data.NumArgsTested());
   __ LoadObject(RBX, ic_data);
-  GenerateDartCall(deopt_id,
-                   token_pos,
-                   *stub_entry,
-                   RawPcDescriptors::kUnoptStaticCall,
-                   locs);
+  GenerateDartCall(deopt_id, token_pos, *stub_entry,
+                   RawPcDescriptors::kUnoptStaticCall, locs);
   __ Drop(argument_count, RCX);
 }
 
@@ -1243,13 +1194,12 @@
 }
 
 
-void FlowGraphCompiler::EmitOptimizedInstanceCall(
-    const StubEntry& stub_entry,
-    const ICData& ic_data,
-    intptr_t argument_count,
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    LocationSummary* locs) {
+void FlowGraphCompiler::EmitOptimizedInstanceCall(const StubEntry& stub_entry,
+                                                  const ICData& ic_data,
+                                                  intptr_t argument_count,
+                                                  intptr_t deopt_id,
+                                                  TokenPosition token_pos,
+                                                  LocationSummary* locs) {
   ASSERT(Array::Handle(zone(), ic_data.arguments_descriptor()).Length() > 0);
   // Each ICData propagated from unoptimized to optimized code contains the
   // function that corresponds to the Dart function of that IC call. Due
@@ -1259,10 +1209,7 @@
   // Pass the function explicitly, it is used in IC stub.
   __ LoadObject(RDI, parsed_function().function());
   __ LoadUniqueObject(RBX, ic_data);
-  GenerateDartCall(deopt_id,
-                   token_pos,
-                   stub_entry,
-                   RawPcDescriptors::kIcCall,
+  GenerateDartCall(deopt_id, token_pos, stub_entry, RawPcDescriptors::kIcCall,
                    locs);
   __ Drop(argument_count, RCX);
 }
@@ -1276,10 +1223,7 @@
                                          LocationSummary* locs) {
   ASSERT(Array::Handle(zone(), ic_data.arguments_descriptor()).Length() > 0);
   __ LoadUniqueObject(RBX, ic_data);
-  GenerateDartCall(deopt_id,
-                   token_pos,
-                   stub_entry,
-                   RawPcDescriptors::kIcCall,
+  GenerateDartCall(deopt_id, token_pos, stub_entry, RawPcDescriptors::kIcCall,
                    locs);
   __ Drop(argument_count, RCX);
 }
@@ -1297,7 +1241,8 @@
   const Array& arguments_descriptor =
       Array::ZoneHandle(zone(), ic_data.arguments_descriptor());
   ASSERT(!arguments_descriptor.IsNull() && (arguments_descriptor.Length() > 0));
-  const MegamorphicCache& cache = MegamorphicCache::ZoneHandle(zone(),
+  const MegamorphicCache& cache = MegamorphicCache::ZoneHandle(
+      zone(),
       MegamorphicCacheTable::Lookup(isolate(), name, arguments_descriptor));
   __ Comment("MegamorphicCall");
   // Load receiver into RDI.
@@ -1331,18 +1276,16 @@
     if (try_index == CatchClauseNode::kInvalidTryIndex) {
       try_index = CurrentTryIndex();
     }
-    pc_descriptors_list()->AddDescriptor(RawPcDescriptors::kOther,
-                                         assembler()->CodeSize(),
-                                         Thread::kNoDeoptId,
-                                         token_pos,
-                                         try_index);
+    pc_descriptors_list()->AddDescriptor(
+        RawPcDescriptors::kOther, assembler()->CodeSize(), Thread::kNoDeoptId,
+        token_pos, try_index);
   } else if (is_optimizing()) {
-    AddCurrentDescriptor(RawPcDescriptors::kOther,
-        Thread::kNoDeoptId, token_pos);
+    AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
+                         token_pos);
     AddDeoptIndexAtCall(deopt_id_after);
   } else {
-    AddCurrentDescriptor(RawPcDescriptors::kOther,
-        Thread::kNoDeoptId, token_pos);
+    AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
+                         token_pos);
     // Add deoptimization continuation point after the call and before the
     // arguments are removed.
     AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after, token_pos);
@@ -1351,15 +1294,14 @@
 }
 
 
-void FlowGraphCompiler::EmitSwitchableInstanceCall(
-    const ICData& ic_data,
-    intptr_t argument_count,
-    intptr_t deopt_id,
-    TokenPosition token_pos,
-    LocationSummary* locs) {
+void FlowGraphCompiler::EmitSwitchableInstanceCall(const ICData& ic_data,
+                                                   intptr_t argument_count,
+                                                   intptr_t deopt_id,
+                                                   TokenPosition token_pos,
+                                                   LocationSummary* locs) {
   ASSERT(ic_data.NumArgsTested() == 1);
-  const Code& initial_stub = Code::ZoneHandle(
-      StubCode::ICCallThroughFunction_entry()->code());
+  const Code& initial_stub =
+      Code::ZoneHandle(StubCode::ICCallThroughFunction_entry()->code());
 
   __ Comment("SwitchableCall");
   __ movq(RDI, Address(RSP, (argument_count - 1) * kWordSize));
@@ -1368,8 +1310,7 @@
   __ LoadUniqueObject(RBX, ic_data);
   __ call(RCX);
 
-  AddCurrentDescriptor(RawPcDescriptors::kOther,
-                       Thread::kNoDeoptId, token_pos);
+  AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId, token_pos);
   RecordSafepoint(locs);
   const intptr_t deopt_id_after = Thread::ToDeoptAfter(deopt_id);
   if (is_optimizing()) {
@@ -1398,12 +1339,9 @@
   }
   // Do not use the code from the function, but let the code be patched so that
   // we can record the outgoing edges to other code.
-  GenerateStaticDartCall(deopt_id,
-                         token_pos,
+  GenerateStaticDartCall(deopt_id, token_pos,
                          *StubCode::CallStaticFunction_entry(),
-                         RawPcDescriptors::kOther,
-                         locs,
-                         function);
+                         RawPcDescriptors::kOther, locs, function);
   __ Drop(argument_count, RCX);
 }
 
@@ -1431,8 +1369,7 @@
       __ CallPatchable(*StubCode::UnoptimizedIdenticalWithNumberCheck_entry());
     }
     if (token_pos.IsReal()) {
-      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall,
-                           Thread::kNoDeoptId,
+      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall, Thread::kNoDeoptId,
                            token_pos);
     }
     // Stub returns result in flags (result of a cmpq, we need ZF computed).
@@ -1459,8 +1396,7 @@
       __ CallPatchable(*StubCode::UnoptimizedIdenticalWithNumberCheck_entry());
     }
     if (token_pos.IsReal()) {
-      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall,
-                           Thread::kNoDeoptId,
+      AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall, Thread::kNoDeoptId,
                            token_pos);
     }
     // Stub returns result in flags (result of a cmpq, we need ZF computed).
@@ -1520,12 +1456,10 @@
   ASSERT(is_optimizing());
 
   __ Comment("EmitTestAndCall");
-  const Array& arguments_descriptor =
-      Array::ZoneHandle(zone(), ArgumentsDescriptor::New(argument_count,
-                                                         argument_names));
+  const Array& arguments_descriptor = Array::ZoneHandle(
+      zone(), ArgumentsDescriptor::New(argument_count, argument_names));
   // Load receiver into RAX.
-  __ movq(RAX,
-      Address(RSP, (argument_count - 1) * kWordSize));
+  __ movq(RAX, Address(RSP, (argument_count - 1) * kWordSize));
   __ LoadObject(R10, arguments_descriptor);
 
   const bool kFirstCheckIsSmi = ic_data.GetReceiverClassIdAt(0) == kSmiCid;
@@ -1544,14 +1478,11 @@
     }
     // Do not use the code from the function, but let the code be patched so
     // that we can record the outgoing edges to other code.
-    const Function& function = Function::ZoneHandle(
-        zone(), ic_data.GetTargetAt(0));
-    GenerateStaticDartCall(deopt_id,
-                           token_index,
+    const Function& function =
+        Function::ZoneHandle(zone(), ic_data.GetTargetAt(0));
+    GenerateStaticDartCall(deopt_id, token_index,
                            *StubCode::CallStaticFunction_entry(),
-                           RawPcDescriptors::kOther,
-                           locs,
-                           function);
+                           RawPcDescriptors::kOther, locs, function);
     __ Drop(argument_count, RCX);
     if (kNumChecks > 1) {
       __ jmp(match_found);
@@ -1597,12 +1528,9 @@
     // Do not use the code from the function, but let the code be patched so
     // that we can record the outgoing edges to other code.
     const Function& function = *sorted[i].target;
-    GenerateStaticDartCall(deopt_id,
-                           token_index,
+    GenerateStaticDartCall(deopt_id, token_index,
                            *StubCode::CallStaticFunction_entry(),
-                           RawPcDescriptors::kOther,
-                           locs,
-                           function);
+                           RawPcDescriptors::kOther, locs, function);
     __ Drop(argument_count, RCX);
     if (!kIsLastCheck) {
       __ jmp(match_found);
@@ -1672,7 +1600,8 @@
       if (constant.IsSmi() && (Smi::Cast(constant).Value() == 0)) {
         __ xorq(destination.reg(), destination.reg());
       } else if (constant.IsSmi() &&
-          (source.constant_instruction()->representation() == kUnboxedInt32)) {
+                 (source.constant_instruction()->representation() ==
+                  kUnboxedInt32)) {
         __ movl(destination.reg(), Immediate(Smi::Cast(constant).Value()));
       } else {
         __ LoadObject(destination.reg(), constant);
@@ -1683,7 +1612,7 @@
       } else {
         __ LoadObject(TMP, constant);
         __ movsd(destination.fpu_reg(),
-            FieldAddress(TMP, Double::value_offset()));
+                 FieldAddress(TMP, Double::value_offset()));
       }
     } else if (destination.IsDoubleStackSlot()) {
       if (Utils::DoublesBitEqual(Double::Cast(constant).value(), 0.0)) {
@@ -1727,17 +1656,15 @@
     __ movaps(source.fpu_reg(), destination.fpu_reg());
     __ movaps(destination.fpu_reg(), XMM0);
   } else if (source.IsFpuRegister() || destination.IsFpuRegister()) {
-    ASSERT(destination.IsDoubleStackSlot() ||
-           destination.IsQuadStackSlot() ||
-           source.IsDoubleStackSlot() ||
-           source.IsQuadStackSlot());
-    bool double_width = destination.IsDoubleStackSlot() ||
-                        source.IsDoubleStackSlot();
-    XmmRegister reg = source.IsFpuRegister() ? source.fpu_reg()
-                                             : destination.fpu_reg();
+    ASSERT(destination.IsDoubleStackSlot() || destination.IsQuadStackSlot() ||
+           source.IsDoubleStackSlot() || source.IsQuadStackSlot());
+    bool double_width =
+        destination.IsDoubleStackSlot() || source.IsDoubleStackSlot();
+    XmmRegister reg =
+        source.IsFpuRegister() ? source.fpu_reg() : destination.fpu_reg();
     Address slot_address = source.IsFpuRegister()
-        ? destination.ToStackSlotAddress()
-        : source.ToStackSlotAddress();
+                               ? destination.ToStackSlotAddress()
+                               : source.ToStackSlotAddress();
 
     if (double_width) {
       __ movsd(XMM0, slot_address);
diff --git a/runtime/vm/flow_graph_inliner.cc b/runtime/vm/flow_graph_inliner.cc
index 3b42c06..6d2ea72 100644
--- a/runtime/vm/flow_graph_inliner.cc
+++ b/runtime/vm/flow_graph_inliner.cc
@@ -24,41 +24,71 @@
 
 namespace dart {
 
-DEFINE_FLAG(int, deoptimization_counter_inlining_threshold, 12,
-    "How many times we allow deoptimization before we stop inlining.");
+DEFINE_FLAG(int,
+            deoptimization_counter_inlining_threshold,
+            12,
+            "How many times we allow deoptimization before we stop inlining.");
 DEFINE_FLAG(bool, trace_inlining, false, "Trace inlining");
 DEFINE_FLAG(charp, inlining_filter, NULL, "Inline only in named function");
 
 // Flags for inlining heuristics.
-DEFINE_FLAG(int, inline_getters_setters_smaller_than, 10,
-    "Always inline getters and setters that have fewer instructions");
-DEFINE_FLAG(int, inlining_depth_threshold, 6,
-    "Inline function calls up to threshold nesting depth");
-DEFINE_FLAG(int, inlining_size_threshold, 25,
+DEFINE_FLAG(int,
+            inline_getters_setters_smaller_than,
+            10,
+            "Always inline getters and setters that have fewer instructions");
+DEFINE_FLAG(int,
+            inlining_depth_threshold,
+            6,
+            "Inline function calls up to threshold nesting depth");
+DEFINE_FLAG(
+    int,
+    inlining_size_threshold,
+    25,
     "Always inline functions that have threshold or fewer instructions");
-DEFINE_FLAG(int, inlining_callee_call_sites_threshold, 1,
-    "Always inline functions containing threshold or fewer calls.");
-DEFINE_FLAG(int, inlining_callee_size_threshold, 80,
-    "Do not inline callees larger than threshold");
-DEFINE_FLAG(int, inlining_caller_size_threshold, 50000,
-    "Stop inlining once caller reaches the threshold.");
-DEFINE_FLAG(int, inlining_constant_arguments_count, 1,
-    "Inline function calls with sufficient constant arguments "
-    "and up to the increased threshold on instructions");
-DEFINE_FLAG(int, inlining_constant_arguments_max_size_threshold, 200,
+DEFINE_FLAG(int,
+            inlining_callee_call_sites_threshold,
+            1,
+            "Always inline functions containing threshold or fewer calls.");
+DEFINE_FLAG(int,
+            inlining_callee_size_threshold,
+            80,
+            "Do not inline callees larger than threshold");
+DEFINE_FLAG(int,
+            inlining_caller_size_threshold,
+            50000,
+            "Stop inlining once caller reaches the threshold.");
+DEFINE_FLAG(int,
+            inlining_constant_arguments_count,
+            1,
+            "Inline function calls with sufficient constant arguments "
+            "and up to the increased threshold on instructions");
+DEFINE_FLAG(
+    int,
+    inlining_constant_arguments_max_size_threshold,
+    200,
     "Do not inline callees larger than threshold if constant arguments");
-DEFINE_FLAG(int, inlining_constant_arguments_min_size_threshold, 60,
-    "Inline function calls with sufficient constant arguments "
-    "and up to the increased threshold on instructions");
-DEFINE_FLAG(int, inlining_hotness, 10,
-    "Inline only hotter calls, in percents (0 .. 100); "
-    "default 10%: calls above-equal 10% of max-count are inlined.");
-DEFINE_FLAG(int, inlining_recursion_depth_threshold, 1,
-    "Inline recursive function calls up to threshold recursion depth.");
-DEFINE_FLAG(int, max_inlined_per_depth, 500,
-    "Max. number of inlined calls per depth");
+DEFINE_FLAG(int,
+            inlining_constant_arguments_min_size_threshold,
+            60,
+            "Inline function calls with sufficient constant arguments "
+            "and up to the increased threshold on instructions");
+DEFINE_FLAG(int,
+            inlining_hotness,
+            10,
+            "Inline only hotter calls, in percents (0 .. 100); "
+            "default 10%: calls above-equal 10% of max-count are inlined.");
+DEFINE_FLAG(int,
+            inlining_recursion_depth_threshold,
+            1,
+            "Inline recursive function calls up to threshold recursion depth.");
+DEFINE_FLAG(int,
+            max_inlined_per_depth,
+            500,
+            "Max. number of inlined calls per depth");
 DEFINE_FLAG(bool, print_inlining_tree, false, "Print inlining tree");
-DEFINE_FLAG(bool, enable_inlining_annotations, false,
+DEFINE_FLAG(bool,
+            enable_inlining_annotations,
+            false,
             "Enable inlining annotations");
 
 DECLARE_FLAG(bool, compiler_stats);
@@ -80,10 +110,10 @@
 #define PRINT_INLINING_TREE(comment, caller, target, instance_call)            \
   do {                                                                         \
     if (FLAG_print_inlining_tree) {                                            \
-      inlined_info_.Add(InlinedInfo(                                           \
-          caller, target, inlining_depth_, instance_call, comment));           \
-      }                                                                        \
-  } while (false)                                                              \
+      inlined_info_.Add(InlinedInfo(caller, target, inlining_depth_,           \
+                                    instance_call, comment));                  \
+    }                                                                          \
+  } while (false)
 
 
 // Test if a call is recursive by looking in the deoptimization environment.
@@ -110,8 +140,7 @@
 struct NamedArgument {
   String* name;
   Value* value;
-  NamedArgument(String* name, Value* value)
-    : name(name), value(value) { }
+  NamedArgument(String* name, Value* value) : name(name), value(value) {}
 };
 
 
@@ -119,23 +148,18 @@
 // inlining.
 class GraphInfoCollector : public ValueObject {
  public:
-  GraphInfoCollector()
-      : call_site_count_(0),
-        instruction_count_(0) { }
+  GraphInfoCollector() : call_site_count_(0), instruction_count_(0) {}
 
   void Collect(const FlowGraph& graph) {
     call_site_count_ = 0;
     instruction_count_ = 0;
-    for (BlockIterator block_it = graph.postorder_iterator();
-         !block_it.Done();
+    for (BlockIterator block_it = graph.postorder_iterator(); !block_it.Done();
          block_it.Advance()) {
-      for (ForwardInstructionIterator it(block_it.Current());
-           !it.Done();
+      for (ForwardInstructionIterator it(block_it.Current()); !it.Done();
            it.Advance()) {
         ++instruction_count_;
         Instruction* current = it.Current();
-        if (current->IsStaticCall() ||
-            current->IsClosureCall()) {
+        if (current->IsStaticCall() || current->IsClosureCall()) {
           ++call_site_count_;
           continue;
         }
@@ -189,9 +213,7 @@
 class CallSites : public ValueObject {
  public:
   explicit CallSites(FlowGraph* flow_graph)
-      : static_calls_(),
-        closure_calls_(),
-        instance_calls_() { }
+      : static_calls_(), closure_calls_(), instance_calls_() {}
 
   struct InstanceCallInfo {
     PolymorphicInstanceCallInstr* call;
@@ -199,9 +221,7 @@
     const FlowGraph* caller_graph;
     InstanceCallInfo(PolymorphicInstanceCallInstr* call_arg,
                      FlowGraph* flow_graph)
-        : call(call_arg),
-          ratio(0.0),
-          caller_graph(flow_graph) {}
+        : call(call_arg), ratio(0.0), caller_graph(flow_graph) {}
     const Function& caller() const { return caller_graph->function(); }
   };
 
@@ -210,9 +230,7 @@
     double ratio;
     FlowGraph* caller_graph;
     StaticCallInfo(StaticCallInstr* value, FlowGraph* flow_graph)
-        : call(value),
-          ratio(0.0),
-          caller_graph(flow_graph) {}
+        : call(value), ratio(0.0), caller_graph(flow_graph) {}
     const Function& caller() const { return caller_graph->function(); }
   };
 
@@ -220,8 +238,7 @@
     ClosureCallInstr* call;
     FlowGraph* caller_graph;
     ClosureCallInfo(ClosureCallInstr* value, FlowGraph* flow_graph)
-        : call(value),
-          caller_graph(flow_graph) {}
+        : call(value), caller_graph(flow_graph) {}
     const Function& caller() const { return caller_graph->function(); }
   };
 
@@ -238,14 +255,12 @@
   }
 
   bool HasCalls() const {
-    return !(static_calls_.is_empty() &&
-             closure_calls_.is_empty() &&
+    return !(static_calls_.is_empty() && closure_calls_.is_empty() &&
              instance_calls_.is_empty());
   }
 
   intptr_t NumCalls() const {
-    return instance_calls_.length() +
-           static_calls_.length() +
+    return instance_calls_.length() + static_calls_.length() +
            closure_calls_.length();
   }
 
@@ -266,8 +281,9 @@
     GrowableArray<intptr_t> instance_call_counts(num_instance_calls);
     for (intptr_t i = 0; i < num_instance_calls; ++i) {
       const intptr_t aggregate_count =
-          instance_calls_[i + instance_call_start_ix].
-              call->ic_data().AggregateCount();
+          instance_calls_[i + instance_call_start_ix]
+              .call->ic_data()
+              .AggregateCount();
       instance_call_counts.Add(aggregate_count);
       if (aggregate_count > max_count) max_count = aggregate_count;
     }
@@ -278,9 +294,9 @@
       if (static_calls_[i + static_call_start_ix].call->ic_data() == NULL) {
         aggregate_count = 0;
       } else {
-        aggregate_count =
-            static_calls_[i + static_call_start_ix].
-                call->ic_data()->AggregateCount();
+        aggregate_count = static_calls_[i + static_call_start_ix]
+                              .call->ic_data()
+                              ->AggregateCount();
       }
       static_call_counts.Add(aggregate_count);
       if (aggregate_count > max_count) max_count = aggregate_count;
@@ -288,13 +304,17 @@
 
     // max_count can be 0 if none of the calls was executed.
     for (intptr_t i = 0; i < num_instance_calls; ++i) {
-      const double ratio = (max_count == 0) ?
-          0.0 : static_cast<double>(instance_call_counts[i]) / max_count;
+      const double ratio =
+          (max_count == 0)
+              ? 0.0
+              : static_cast<double>(instance_call_counts[i]) / max_count;
       instance_calls_[i + instance_call_start_ix].ratio = ratio;
     }
     for (intptr_t i = 0; i < num_static_calls; ++i) {
-      const double ratio = (max_count == 0) ?
-          0.0 : static_cast<double>(static_call_counts[i]) / max_count;
+      const double ratio =
+          (max_count == 0)
+              ? 0.0
+              : static_cast<double>(static_call_counts[i]) / max_count;
       static_calls_[i + static_call_start_ix].ratio = ratio;
     }
   }
@@ -304,12 +324,10 @@
       intptr_t depth,
       GrowableArray<InlinedInfo>* inlined_info) {
     const Function* caller = &graph->function();
-    Function& target  = Function::ZoneHandle();
-    for (BlockIterator block_it = graph->postorder_iterator();
-         !block_it.Done();
+    Function& target = Function::ZoneHandle();
+    for (BlockIterator block_it = graph->postorder_iterator(); !block_it.Done();
          block_it.Advance()) {
-      for (ForwardInstructionIterator it(block_it.Current());
-           !it.Done();
+      for (ForwardInstructionIterator it(block_it.Current()); !it.Done();
            it.Advance()) {
         Instruction* current = it.Current();
         Definition* call = NULL;
@@ -326,8 +344,8 @@
           // TODO(srdjan): Add data for closure calls.
         }
         if (call != NULL) {
-          inlined_info->Add(InlinedInfo(
-              caller, &target, depth + 1, call, "Too deep"));
+          inlined_info->Add(
+              InlinedInfo(caller, &target, depth + 1, call, "Too deep"));
         }
       }
     }
@@ -352,11 +370,9 @@
 
     const intptr_t instance_call_start_ix = instance_calls_.length();
     const intptr_t static_call_start_ix = static_calls_.length();
-    for (BlockIterator block_it = graph->postorder_iterator();
-         !block_it.Done();
+    for (BlockIterator block_it = graph->postorder_iterator(); !block_it.Done();
          block_it.Advance()) {
-      for (ForwardInstructionIterator it(block_it.Current());
-           !it.Done();
+      for (ForwardInstructionIterator it(block_it.Current()); !it.Done();
            it.Advance()) {
         Instruction* current = it.Current();
         if (current->IsPolymorphicInstanceCall()) {
@@ -371,11 +387,10 @@
             // not recognized.
             if (FLAG_print_inlining_tree) {
               const Function* caller = &graph->function();
-              const Function* target =
-                  &Function::ZoneHandle(
-                      instance_call->ic_data().GetTargetAt(0));
-              inlined_info->Add(InlinedInfo(
-                  caller, target, depth + 1, instance_call, "Too deep"));
+              const Function* target = &Function::ZoneHandle(
+                  instance_call->ic_data().GetTargetAt(0));
+              inlined_info->Add(InlinedInfo(caller, target, depth + 1,
+                                            instance_call, "Too deep"));
             }
           }
         } else if (current->IsStaticCall()) {
@@ -389,8 +404,8 @@
             if (FLAG_print_inlining_tree) {
               const Function* caller = &graph->function();
               const Function* target = &static_call->function();
-              inlined_info->Add(InlinedInfo(
-                  caller, target, depth + 1, static_call, "Too deep"));
+              inlined_info->Add(InlinedInfo(caller, target, depth + 1,
+                                            static_call, "Too deep"));
             }
           }
         } else if (current->IsClosureCall()) {
@@ -424,7 +439,7 @@
         parameter_stubs(NULL),
         exit_collector(NULL),
         caller(caller),
-        caller_inlining_id_(caller_inlining_id) { }
+        caller_inlining_id_(caller_inlining_id) {}
 
   Definition* call;
   GrowableArray<Value*>* arguments;
@@ -507,7 +522,7 @@
         collected_call_sites_(NULL),
         inlining_call_sites_(NULL),
         function_cache_(),
-        inlined_info_() { }
+        inlined_info_() {}
 
   FlowGraph* caller_graph() const { return caller_graph_; }
 
@@ -564,18 +579,17 @@
     collected_call_sites_ = &sites1;
     inlining_call_sites_ = &sites2;
     // Collect initial call sites.
-    collected_call_sites_->FindCallSites(caller_graph_,
-                                         inlining_depth_,
+    collected_call_sites_->FindCallSites(caller_graph_, inlining_depth_,
                                          &inlined_info_);
     while (collected_call_sites_->HasCalls()) {
-      TRACE_INLINING(THR_Print("  Depth %" Pd " ----------\n",
-                               inlining_depth_));
+      TRACE_INLINING(
+          THR_Print("  Depth %" Pd " ----------\n", inlining_depth_));
       if (collected_call_sites_->NumCalls() > FLAG_max_inlined_per_depth) {
         break;
       }
       if (FLAG_print_inlining_tree) {
-        THR_Print("**Depth % " Pd " calls to inline %" Pd "\n",
-            inlining_depth_, collected_call_sites_->NumCalls());
+        THR_Print("**Depth % " Pd " calls to inline %" Pd "\n", inlining_depth_,
+                  collected_call_sites_->NumCalls());
       }
       // Swap collected and inlining arrays and clear the new collecting array.
       call_sites_temp = collected_call_sites_;
@@ -602,7 +616,7 @@
 
   double GrowthFactor() const {
     return static_cast<double>(inlined_size_) /
-        static_cast<double>(initial_size_);
+           static_cast<double>(initial_size_);
   }
 
   // Helper to create a parameter stub from an actual argument.
@@ -611,9 +625,9 @@
                                   FlowGraph* graph) {
     ConstantInstr* constant = argument->definition()->AsConstant();
     if (constant != NULL) {
-      return new(Z) ConstantInstr(constant->value());
+      return new (Z) ConstantInstr(constant->value());
     } else {
-      ParameterInstr* param = new(Z) ParameterInstr(i, graph->graph_entry());
+      ParameterInstr* param = new (Z) ParameterInstr(i, graph->graph_entry());
       param->UpdateType(*argument->Type());
       return param;
     }
@@ -622,26 +636,24 @@
   bool TryInlining(const Function& function,
                    const Array& argument_names,
                    InlinedCallData* call_data) {
-    TRACE_INLINING(THR_Print("  => %s (deopt count %d)\n",
-                             function.ToCString(),
+    TRACE_INLINING(THR_Print("  => %s (deopt count %d)\n", function.ToCString(),
                              function.deoptimization_counter()));
 
     // Abort if the inlinable bit on the function is low.
     if (!function.CanBeInlined()) {
       TRACE_INLINING(THR_Print("     Bailout: not inlinable\n"));
-      PRINT_INLINING_TREE("Not inlinable",
-          &call_data->caller, &function, call_data->call);
+      PRINT_INLINING_TREE("Not inlinable", &call_data->caller, &function,
+                          call_data->call);
       return false;
     }
 
     // Don't inline any intrinsified functions in precompiled mode
     // to reduce code size and make sure we use the intrinsic code.
-    if (FLAG_precompiled_mode &&
-        function.is_intrinsic() &&
+    if (FLAG_precompiled_mode && function.is_intrinsic() &&
         !inliner_->AlwaysInline(function)) {
       TRACE_INLINING(THR_Print("     Bailout: intrinisic\n"));
-      PRINT_INLINING_TREE("intrinsic",
-          &call_data->caller, &function, call_data->call);
+      PRINT_INLINING_TREE("intrinsic", &call_data->caller, &function,
+                          call_data->call);
       return false;
     }
 
@@ -649,8 +661,8 @@
     // if a function was compiled.
     if (!FLAG_precompiled_mode && !function.was_compiled()) {
       TRACE_INLINING(THR_Print("     Bailout: not compiled yet\n"));
-      PRINT_INLINING_TREE("Not compiled",
-          &call_data->caller, &function, call_data->call);
+      PRINT_INLINING_TREE("Not compiled", &call_data->caller, &function,
+                          call_data->call);
       return false;
     }
 
@@ -658,8 +670,8 @@
     // but we need it for inlining.
     if (!FLAG_precompiled_mode && (function.ic_data_array() == Array::null())) {
       TRACE_INLINING(THR_Print("     Bailout: type feedback cleared\n"));
-      PRINT_INLINING_TREE("Not compiled",
-          &call_data->caller, &function, call_data->call);
+      PRINT_INLINING_TREE("Not compiled", &call_data->caller, &function,
+                          call_data->call);
       return false;
     }
 
@@ -669,7 +681,7 @@
       function.set_is_inlinable(false);
       TRACE_INLINING(THR_Print("     Bailout: deoptimization threshold\n"));
       PRINT_INLINING_TREE("Deoptimization threshold exceeded",
-          &call_data->caller, &function, call_data->call);
+                          &call_data->caller, &function, call_data->call);
       return false;
     }
 
@@ -682,19 +694,18 @@
 
     GrowableArray<Value*>* arguments = call_data->arguments;
     const intptr_t constant_arguments = CountConstants(*arguments);
-    if (!ShouldWeInline(function,
-                        function.optimized_instruction_count(),
+    if (!ShouldWeInline(function, function.optimized_instruction_count(),
                         function.optimized_call_site_count(),
                         constant_arguments)) {
-      TRACE_INLINING(THR_Print("     Bailout: early heuristics with "
-                               "code size:  %" Pd ", "
-                               "call sites: %" Pd ", "
-                               "const args: %" Pd "\n",
-                               function.optimized_instruction_count(),
-                               function.optimized_call_site_count(),
-                               constant_arguments));
-      PRINT_INLINING_TREE("Early heuristic",
-          &call_data->caller, &function, call_data->call);
+      TRACE_INLINING(
+          THR_Print("     Bailout: early heuristics with "
+                    "code size:  %" Pd ", "
+                    "call sites: %" Pd ", "
+                    "const args: %" Pd "\n",
+                    function.optimized_instruction_count(),
+                    function.optimized_call_site_count(), constant_arguments));
+      PRINT_INLINING_TREE("Early heuristic", &call_data->caller, &function,
+                          call_data->call);
       return false;
     }
 
@@ -705,8 +716,8 @@
     if (is_recursive_call &&
         inlining_recursion_depth_ >= FLAG_inlining_recursion_depth_threshold) {
       TRACE_INLINING(THR_Print("     Bailout: recursive function\n"));
-      PRINT_INLINING_TREE("Recursive function",
-          &call_data->caller, &function, call_data->call);
+      PRINT_INLINING_TREE("Recursive function", &call_data->caller, &function,
+                          call_data->call);
       return false;
     }
 
@@ -725,24 +736,24 @@
 
         if (Compiler::IsBackgroundCompilation()) {
           if (isolate->IsTopLevelParsing() ||
-                  (loading_invalidation_gen_at_start !=
-                   isolate->loading_invalidation_gen())) {
+              (loading_invalidation_gen_at_start !=
+               isolate->loading_invalidation_gen())) {
             // Loading occured while parsing. We need to abort here because
             // state changed while compiling.
-            Compiler::AbortBackgroundCompilation(Thread::kNoDeoptId,
-                "Loading occured while parsing in inliner");
+            Compiler::AbortBackgroundCompilation(
+                Thread::kNoDeoptId, "Loading occured while parsing in inliner");
           }
         }
 
         // Load IC data for the callee.
         ZoneGrowableArray<const ICData*>* ic_data_array =
-              new(Z) ZoneGrowableArray<const ICData*>();
+            new (Z) ZoneGrowableArray<const ICData*>();
         const bool clone_ic_data = Compiler::IsBackgroundCompilation();
         function.RestoreICDataMap(ic_data_array, clone_ic_data);
         if (Compiler::IsBackgroundCompilation() &&
             (function.ic_data_array() == Array::null())) {
           Compiler::AbortBackgroundCompilation(Thread::kNoDeoptId,
-              "ICData cleared while inlining");
+                                               "ICData cleared while inlining");
         }
 
         // Parse the callee function.
@@ -755,27 +766,22 @@
 
         // Build the callee graph.
         InlineExitCollector* exit_collector =
-            new(Z) InlineExitCollector(caller_graph_, call);
+            new (Z) InlineExitCollector(caller_graph_, call);
         FlowGraph* callee_graph;
         if (UseKernelFrontEndFor(parsed_function)) {
           kernel::TreeNode* node = static_cast<kernel::TreeNode*>(
               parsed_function->function().kernel_function());
 
-          kernel::FlowGraphBuilder builder(node,
-                                           parsed_function,
-                                           *ic_data_array,
-                                           exit_collector,
-                                           Compiler::kNoOSRDeoptId,
-                                           caller_graph_->max_block_id() + 1);
+          kernel::FlowGraphBuilder builder(
+              node, parsed_function, *ic_data_array, exit_collector,
+              Compiler::kNoOSRDeoptId, caller_graph_->max_block_id() + 1);
           {
             CSTAT_TIMER_SCOPE(thread(), graphinliner_build_timer);
             callee_graph = builder.BuildGraph();
           }
         } else {
-          FlowGraphBuilder builder(*parsed_function,
-                                   *ic_data_array,
-                                   exit_collector,
-                                   Compiler::kNoOSRDeoptId);
+          FlowGraphBuilder builder(*parsed_function, *ic_data_array,
+                                   exit_collector, Compiler::kNoOSRDeoptId);
           builder.SetInitialBlockId(caller_graph_->max_block_id());
           {
             CSTAT_TIMER_SCOPE(thread(), graphinliner_build_timer);
@@ -788,13 +794,12 @@
         // without linking between the caller and callee graphs.
         // TODO(zerny): Put more information in the stubs, eg, type information.
         ZoneGrowableArray<Definition*>* param_stubs =
-            new(Z) ZoneGrowableArray<Definition*>(
-                function.NumParameters());
+            new (Z) ZoneGrowableArray<Definition*>(function.NumParameters());
 
         // Create a parameter stub for each fixed positional parameter.
         for (intptr_t i = 0; i < function.num_fixed_parameters(); ++i) {
-          param_stubs->Add(CreateParameterStub(i, (*arguments)[i],
-                                               callee_graph));
+          param_stubs->Add(
+              CreateParameterStub(i, (*arguments)[i], callee_graph));
         }
 
         // If the callee has optional parameters, rebuild the argument and stub
@@ -802,15 +807,13 @@
         // parameters.
         if (function.HasOptionalParameters()) {
           TRACE_INLINING(THR_Print("     adjusting for optional parameters\n"));
-          if (!AdjustForOptionalParameters(*parsed_function,
-                                           argument_names,
-                                           arguments,
-                                           param_stubs,
+          if (!AdjustForOptionalParameters(*parsed_function, argument_names,
+                                           arguments, param_stubs,
                                            callee_graph)) {
             function.set_is_inlinable(false);
             TRACE_INLINING(THR_Print("     Bailout: optional arg mismatch\n"));
-            PRINT_INLINING_TREE("Optional arg mismatch",
-                &call_data->caller, &function, call_data->call);
+            PRINT_INLINING_TREE("Optional arg mismatch", &call_data->caller,
+                                &function, call_data->call);
             return false;
           }
         }
@@ -848,8 +851,7 @@
           // Deopt-ids overlap between caller and callee.
           if (FLAG_precompiled_mode) {
 #ifdef DART_PRECOMPILER
-            AotOptimizer optimizer(inliner_->precompiler_,
-                                   callee_graph,
+            AotOptimizer optimizer(inliner_->precompiler_, callee_graph,
                                    inliner_->use_speculative_inlining_,
                                    inliner_->inlining_black_list_);
             optimizer.PopulateWithICData();
@@ -921,22 +923,22 @@
             function.set_is_inlinable(false);
           }
           thread()->set_deopt_id(prev_deopt_id);
-          TRACE_INLINING(THR_Print("     Bailout: heuristics with "
-                                   "code size:  %" Pd ", "
-                                   "call sites: %" Pd ", "
-                                   "const args: %" Pd "\n",
-                                   size,
-                                   call_site_count,
-                                   constants_count));
-          PRINT_INLINING_TREE("Heuristic fail",
-              &call_data->caller, &function, call_data->call);
+          TRACE_INLINING(
+              THR_Print("     Bailout: heuristics with "
+                        "code size:  %" Pd ", "
+                        "call sites: %" Pd ", "
+                        "const args: %" Pd "\n",
+                        size, call_site_count, constants_count));
+          PRINT_INLINING_TREE("Heuristic fail", &call_data->caller, &function,
+                              call_data->call);
           return false;
         }
 
         // Inline dispatcher methods regardless of the current depth.
-        const intptr_t depth =
-            (function.IsInvokeFieldDispatcher() ||
-             function.IsNoSuchMethodDispatcher()) ? 0 : inlining_depth_;
+        const intptr_t depth = (function.IsInvokeFieldDispatcher() ||
+                                function.IsNoSuchMethodDispatcher())
+                                   ? 0
+                                   : inlining_depth_;
         collected_call_sites_->FindCallSites(callee_graph, depth,
                                              &inlined_info_);
 
@@ -962,21 +964,21 @@
         const ZoneGrowableArray<const Field*>& callee_guarded_fields =
             *callee_graph->parsed_function().guarded_fields();
         for (intptr_t i = 0; i < callee_guarded_fields.length(); ++i) {
-          caller_graph()->
-              parsed_function().AddToGuardedFields(callee_guarded_fields[i]);
+          caller_graph()->parsed_function().AddToGuardedFields(
+              callee_guarded_fields[i]);
         }
         // When inlined, we add the deferred prefixes of the callee to the
         // caller's list of deferred prefixes.
         caller_graph()->AddToDeferredPrefixes(
             callee_graph->deferred_prefixes());
 
-        FlowGraphInliner::SetInliningId(callee_graph,
+        FlowGraphInliner::SetInliningId(
+            callee_graph,
             inliner_->NextInlineId(callee_graph->function(),
                                    call_data->call->token_pos(),
                                    call_data->caller_inlining_id_));
         TRACE_INLINING(THR_Print("     Success\n"));
-        PRINT_INLINING_TREE(NULL,
-            &call_data->caller, &function, call);
+        PRINT_INLINING_TREE(NULL, &call_data->caller, &function, call);
         return true;
       } else {
         error = thread()->sticky_error();
@@ -985,13 +987,12 @@
         if (error.IsLanguageError() &&
             (LanguageError::Cast(error).kind() == Report::kBailout)) {
           if (error.raw() == Object::background_compilation_error().raw()) {
-             // Fall through to exit the compilation, and retry it later.
+            // Fall through to exit the compilation, and retry it later.
           } else {
             thread()->set_deopt_id(prev_deopt_id);
-            TRACE_INLINING(THR_Print("     Bailout: %s\n",
-                                     error.ToErrorCString()));
-            PRINT_INLINING_TREE("Bailout",
-                &call_data->caller, &function, call);
+            TRACE_INLINING(
+                THR_Print("     Bailout: %s\n", error.ToErrorCString()));
+            PRINT_INLINING_TREE("Bailout", &call_data->caller, &function, call);
             return false;
           }
         } else {
@@ -1007,8 +1008,7 @@
     // In background compilation we may abort compilation as the state
     // changes while compiling. Propagate that 'error' and retry compilation
     // later.
-    ASSERT(FLAG_precompiled_mode ||
-           Compiler::IsBackgroundCompilation() ||
+    ASSERT(FLAG_precompiled_mode || Compiler::IsBackgroundCompilation() ||
            error.IsUnhandledException());
     Thread::Current()->long_jump_base()->Jump(1, error);
     UNREACHABLE();
@@ -1018,10 +1018,8 @@
   void PrintInlinedInfo(const Function& top) {
     if (inlined_info_.length() > 0) {
       THR_Print("Inlining into: '%s' growth: %f (%" Pd " -> %" Pd ")\n",
-          top.ToFullyQualifiedCString(),
-          GrowthFactor(),
-          initial_size_,
-          inlined_size_);
+                top.ToFullyQualifiedCString(), GrowthFactor(), initial_size_,
+                inlined_size_);
       PrintInlinedInfoFor(top, 1);
     }
   }
@@ -1051,9 +1049,8 @@
         for (int t = 0; t < depth; t++) {
           THR_Print("  ");
         }
-        THR_Print("%" Pd " %s\n",
-            info.call_instr->GetDeoptId(),
-            info.inlined->ToQualifiedCString());
+        THR_Print("%" Pd " %s\n", info.call_instr->GetDeoptId(),
+                  info.inlined->ToQualifiedCString());
         PrintInlinedInfoFor(*info.inlined, depth + 1);
         call_instructions_printed.Add(info.call_instr->GetDeoptId());
       }
@@ -1071,10 +1068,8 @@
         for (int t = 0; t < depth; t++) {
           THR_Print("  ");
         }
-        THR_Print("NO %" Pd " %s - %s\n",
-            info.call_instr->GetDeoptId(),
-            info.inlined->ToQualifiedCString(),
-            info.bailout_reason);
+        THR_Print("NO %" Pd " %s - %s\n", info.call_instr->GetDeoptId(),
+                  info.inlined->ToQualifiedCString(), info.bailout_reason);
         call_instructions_printed.Add(info.call_instr->GetDeoptId());
       }
     }
@@ -1120,14 +1115,12 @@
       CurrentContextInstr* context = (*defns)[i]->AsCurrentContext();
       if ((context != NULL) && context->HasUses()) {
         ASSERT(call->IsClosureCall());
-        LoadFieldInstr* context_load = new(Z) LoadFieldInstr(
-            new Value((*arguments)[0]->definition()),
-            Closure::context_offset(),
+        LoadFieldInstr* context_load = new (Z) LoadFieldInstr(
+            new Value((*arguments)[0]->definition()), Closure::context_offset(),
             AbstractType::ZoneHandle(zone(), AbstractType::null()),
             call_data->call->token_pos());
         context_load->set_is_immutable(true);
-        context_load->set_ssa_temp_index(
-            caller_graph_->alloc_ssa_temp_index());
+        context_load->set_ssa_temp_index(caller_graph_->alloc_ssa_temp_index());
         context_load->InsertBefore(callee_entry->next());
         context->ReplaceUsesWith(context_load);
       }
@@ -1157,7 +1150,7 @@
     }
     *in_cache = false;
     ParsedFunction* parsed_function =
-        new(Z) ParsedFunction(thread(), function);
+        new (Z) ParsedFunction(thread(), function);
     if (!UseKernelFrontEndFor(parsed_function)) {
       Parser::ParseFunction(parsed_function);
       parsed_function->AllocateVariables();
@@ -1174,13 +1167,12 @@
       const Function& target = call->function();
       if (!inliner_->AlwaysInline(target) &&
           (call_info[call_idx].ratio * 100) < FLAG_inlining_hotness) {
-        TRACE_INLINING(THR_Print(
-            "  => %s (deopt count %d)\n     Bailout: cold %f\n",
-            target.ToCString(),
-            target.deoptimization_counter(),
-            call_info[call_idx].ratio));
-        PRINT_INLINING_TREE("Too cold",
-            &call_info[call_idx].caller(), &call->function(), call);
+        TRACE_INLINING(
+            THR_Print("  => %s (deopt count %d)\n     Bailout: cold %f\n",
+                      target.ToCString(), target.deoptimization_counter(),
+                      call_info[call_idx].ratio));
+        PRINT_INLINING_TREE("Too cold", &call_info[call_idx].caller(),
+                            &call->function(), call);
         continue;
       }
       GrowableArray<Value*> arguments(call->ArgumentCount());
@@ -1199,8 +1191,8 @@
   void InlineClosureCalls() {
     const GrowableArray<CallSites::ClosureCallInfo>& call_info =
         inlining_call_sites_->closure_calls();
-    TRACE_INLINING(THR_Print("  Closure Calls (%" Pd ")\n",
-        call_info.length()));
+    TRACE_INLINING(
+        THR_Print("  Closure Calls (%" Pd ")\n", call_info.length()));
     for (intptr_t call_idx = 0; call_idx < call_info.length(); ++call_idx) {
       ClosureCallInstr* call = call_info[call_idx].call;
       // Find the closure of the callee.
@@ -1214,8 +1206,7 @@
       }
       ConstantInstr* constant =
           call->ArgumentAt(0)->OriginalDefinition()->AsConstant();
-      if ((constant != NULL) &&
-          constant->value().IsClosure()) {
+      if ((constant != NULL) && constant->value().IsClosure()) {
         target ^= Closure::Cast(constant->value()).function();
       }
 
@@ -1230,9 +1221,7 @@
       InlinedCallData call_data(
           call, &arguments, call_info[call_idx].caller(),
           call_info[call_idx].caller_graph->inlining_id());
-      if (TryInlining(target,
-                      call->argument_names(),
-                      &call_data)) {
+      if (TryInlining(target, call->argument_names(), &call_data)) {
         InlineCall(&call_data);
       }
     }
@@ -1248,9 +1237,9 @@
       if (call->with_checks()) {
         // PolymorphicInliner introduces deoptimization paths.
         if (!call->complete() && !FLAG_polymorphic_with_deopt) {
-          TRACE_INLINING(THR_Print(
-              "  => %s\n     Bailout: call with checks\n",
-              call->instance_call()->function_name().ToCString()));
+          TRACE_INLINING(
+              THR_Print("  => %s\n     Bailout: call with checks\n",
+                        call->instance_call()->function_name().ToCString()));
           continue;
         }
         const Function& cl = call_info[call_idx].caller();
@@ -1265,13 +1254,12 @@
       const Function& target = Function::ZoneHandle(ic_data.GetTargetAt(0));
       if (!inliner_->AlwaysInline(target) &&
           (call_info[call_idx].ratio * 100) < FLAG_inlining_hotness) {
-        TRACE_INLINING(THR_Print(
-            "  => %s (deopt count %d)\n     Bailout: cold %f\n",
-            target.ToCString(),
-            target.deoptimization_counter(),
-            call_info[call_idx].ratio));
-        PRINT_INLINING_TREE("Too cold",
-            &call_info[call_idx].caller(), &target, call);
+        TRACE_INLINING(
+            THR_Print("  => %s (deopt count %d)\n     Bailout: cold %f\n",
+                      target.ToCString(), target.deoptimization_counter(),
+                      call_info[call_idx].ratio));
+        PRINT_INLINING_TREE("Too cold", &call_info[call_idx].caller(), &target,
+                            call);
         continue;
       }
       GrowableArray<Value*> arguments(call->ArgumentCount());
@@ -1281,8 +1269,7 @@
       InlinedCallData call_data(
           call, &arguments, call_info[call_idx].caller(),
           call_info[call_idx].caller_graph->inlining_id());
-      if (TryInlining(target,
-                      call->instance_call()->argument_names(),
+      if (TryInlining(target, call->instance_call()->argument_names(),
                       &call_data)) {
         InlineCall(&call_data);
       }
@@ -1318,7 +1305,7 @@
       for (intptr_t i = arg_count; i < param_count; ++i) {
         const Instance& object =
             parsed_function.DefaultParameterValueAt(i - fixed_param_count);
-        ConstantInstr* constant = new(Z) ConstantInstr(object);
+        ConstantInstr* constant = new (Z) ConstantInstr(object);
         arguments->Add(NULL);
         param_stubs->Add(constant);
       }
@@ -1407,11 +1394,9 @@
       inlined_variants_(num_variants_),
       non_inlined_variants_(num_variants_),
       inlined_entries_(num_variants_),
-      exit_collector_(new(Z)
-          InlineExitCollector(owner->caller_graph(), call)),
+      exit_collector_(new (Z) InlineExitCollector(owner->caller_graph(), call)),
       caller_function_(caller_function),
-      caller_inlining_id_(caller_inlining_id) {
-}
+      caller_inlining_id_(caller_inlining_id) {}
 
 
 Isolate* PolymorphicInliner::isolate() const {
@@ -1463,7 +1448,7 @@
             new TargetEntryInstr(owner_->caller_graph()->allocate_block_id(),
                                  old_target->try_index());
         new_target->InheritDeoptTarget(zone(), new_join);
-        GotoInstr* new_goto = new(Z) GotoInstr(new_join);
+        GotoInstr* new_goto = new (Z) GotoInstr(new_join);
         new_goto->InheritDeoptTarget(zone(), new_join);
         new_target->LinkTo(new_goto);
         new_target->set_last_instruction(new_goto);
@@ -1498,7 +1483,7 @@
 
 
 bool PolymorphicInliner::TryInliningPoly(intptr_t receiver_cid,
-                                        const Function& target) {
+                                         const Function& target) {
   if ((!FLAG_precompiled_mode ||
        owner_->inliner_->use_speculative_inlining()) &&
       TryInlineRecognizedMethod(receiver_cid, target)) {
@@ -1510,11 +1495,9 @@
   for (int i = 0; i < call_->ArgumentCount(); ++i) {
     arguments.Add(call_->PushArgumentAt(i)->value());
   }
-  InlinedCallData call_data(call_, &arguments,
-                            caller_function_,
+  InlinedCallData call_data(call_, &arguments, caller_function_,
                             caller_inlining_id_);
-  if (!owner_->TryInlining(target,
-                           call_->instance_call()->argument_names(),
+  if (!owner_->TryInlining(target, call_->instance_call()->argument_names(),
                            &call_data)) {
     return false;
   }
@@ -1529,8 +1512,7 @@
   // hoisted above the inlined entry.
   ASSERT(arguments.length() > 0);
   Value* actual = arguments[0];
-  RedefinitionInstr* redefinition = new(Z)
-      RedefinitionInstr(actual->Copy(Z));
+  RedefinitionInstr* redefinition = new (Z) RedefinitionInstr(actual->Copy(Z));
   redefinition->set_ssa_temp_index(
       owner_->caller_graph()->alloc_ssa_temp_index());
   redefinition->UpdateType(CompileType::FromCid(receiver_cid));
@@ -1556,11 +1538,10 @@
     CurrentContextInstr* context = (*defns)[i]->AsCurrentContext();
     if ((context != NULL) && context->HasUses()) {
       ASSERT(call_data.call->IsClosureCall());
-      LoadFieldInstr* context_load = new(Z) LoadFieldInstr(
-          new Value(redefinition),
-          Closure::context_offset(),
-          AbstractType::ZoneHandle(zone(), AbstractType::null()),
-          call_data.call->token_pos());
+      LoadFieldInstr* context_load = new (Z)
+          LoadFieldInstr(new Value(redefinition), Closure::context_offset(),
+                         AbstractType::ZoneHandle(zone(), AbstractType::null()),
+                         call_data.call->token_pos());
       context_load->set_is_immutable(true);
       context_load->set_ssa_temp_index(
           owner_->caller_graph()->alloc_ssa_temp_index());
@@ -1572,8 +1553,7 @@
 }
 
 
-static Instruction* AppendInstruction(Instruction* first,
-                                      Instruction* second) {
+static Instruction* AppendInstruction(Instruction* first, Instruction* second) {
   for (intptr_t i = second->InputCount() - 1; i >= 0; --i) {
     Value* input = second->InputAt(i);
     input->definition()->AddInputUse(input);
@@ -1591,40 +1571,31 @@
   // the inlined body from being hoisted above the inlined entry.
   GrowableArray<Definition*> arguments(call_->ArgumentCount());
   Definition* receiver = call_->ArgumentAt(0);
-    RedefinitionInstr* redefinition =
-        new(Z) RedefinitionInstr(new(Z) Value(receiver));
-    redefinition->set_ssa_temp_index(
-        owner_->caller_graph()->alloc_ssa_temp_index());
+  RedefinitionInstr* redefinition =
+      new (Z) RedefinitionInstr(new (Z) Value(receiver));
+  redefinition->set_ssa_temp_index(
+      owner_->caller_graph()->alloc_ssa_temp_index());
   if (FlowGraphInliner::TryInlineRecognizedMethod(
-          owner_->caller_graph(),
-          receiver_cid,
-          target,
-          call_,
-          redefinition,
+          owner_->caller_graph(), receiver_cid, target, call_, redefinition,
           call_->instance_call()->token_pos(),
-          *call_->instance_call()->ic_data(),
-          &entry, &last)) {
+          *call_->instance_call()->ic_data(), &entry, &last)) {
     // Create a graph fragment.
     redefinition->InsertAfter(entry);
     InlineExitCollector* exit_collector =
-        new(Z) InlineExitCollector(owner_->caller_graph(), call_);
+        new (Z) InlineExitCollector(owner_->caller_graph(), call_);
 
-    ReturnInstr* result =
-        new(Z) ReturnInstr(call_->instance_call()->token_pos(),
-            new(Z) Value(last));
+    ReturnInstr* result = new (Z)
+        ReturnInstr(call_->instance_call()->token_pos(), new (Z) Value(last));
     owner_->caller_graph()->AppendTo(
-        last,
-        result,
+        last, result,
         call_->env(),  // Return can become deoptimization target.
         FlowGraph::kEffect);
     entry->set_last_instruction(result);
     exit_collector->AddExit(result);
     ParsedFunction* temp_parsed_function =
         new ParsedFunction(Thread::Current(), target);
-    GraphEntryInstr* graph_entry =
-        new(Z) GraphEntryInstr(*temp_parsed_function,
-                               entry,
-                               Compiler::kNoOSRDeoptId);
+    GraphEntryInstr* graph_entry = new (Z)
+        GraphEntryInstr(*temp_parsed_function, entry, Compiler::kNoOSRDeoptId);
     // Update polymorphic inliner state.
     inlined_entries_.Add(graph_entry);
     exit_collector_->Union(exit_collector);
@@ -1643,9 +1614,8 @@
 TargetEntryInstr* PolymorphicInliner::BuildDecisionGraph() {
   // Start with a fresh target entry.
   TargetEntryInstr* entry =
-      new(Z) TargetEntryInstr(
-          owner_->caller_graph()->allocate_block_id(),
-          call_->GetBlock()->try_index());
+      new (Z) TargetEntryInstr(owner_->caller_graph()->allocate_block_id(),
+                               call_->GetBlock()->try_index());
   entry->InheritDeoptTarget(zone(), call_);
 
   // This function uses a cursor (a pointer to the 'current' instruction) to
@@ -1658,7 +1628,7 @@
   // There are at least two variants including non-inlined ones, so we have
   // at least one branch on the class id.
   LoadClassIdInstr* load_cid =
-      new(Z) LoadClassIdInstr(new(Z) Value(receiver));
+      new (Z) LoadClassIdInstr(new (Z) Value(receiver));
   load_cid->set_ssa_temp_index(owner_->caller_graph()->alloc_ssa_temp_index());
   cursor = AppendInstruction(cursor, load_cid);
   for (intptr_t i = 0; i < inlined_variants_.length(); ++i) {
@@ -1670,14 +1640,13 @@
       // we know that we have covered all possible classes.
       if (!call_->complete()) {
         RedefinitionInstr* cid_redefinition =
-            new RedefinitionInstr(new(Z) Value(load_cid));
+            new RedefinitionInstr(new (Z) Value(load_cid));
         cid_redefinition->set_ssa_temp_index(
             owner_->caller_graph()->alloc_ssa_temp_index());
         cursor = AppendInstruction(cursor, cid_redefinition);
-        CheckClassIdInstr* check_class_id = new(Z) CheckClassIdInstr(
-            new(Z) Value(cid_redefinition),
-            inlined_variants_[i].cid,
-            call_->deopt_id());
+        CheckClassIdInstr* check_class_id = new (Z)
+            CheckClassIdInstr(new (Z) Value(cid_redefinition),
+                              inlined_variants_[i].cid, call_->deopt_id());
         check_class_id->InheritDeoptTarget(zone(), call_);
         cursor = AppendInstruction(cursor, check_class_id);
       }
@@ -1689,8 +1658,7 @@
       if (callee_entry->IsGraphEntry()) {
         // Unshared.  Graft the normal entry on after the check class
         // instruction.
-        TargetEntryInstr* target =
-            callee_entry->AsGraphEntry()->normal_entry();
+        TargetEntryInstr* target = callee_entry->AsGraphEntry()->normal_entry();
         cursor->LinkTo(target->next());
         target->ReplaceAsPredecessorWith(current_block);
         // Unuse all inputs of the graph entry and the normal entry. They are
@@ -1699,9 +1667,7 @@
         target->UnuseAllInputs();
         // All blocks that were dominated by the normal entry are now
         // dominated by the current block.
-        for (intptr_t j = 0;
-             j < target->dominated_blocks().length();
-             ++j) {
+        for (intptr_t j = 0; j < target->dominated_blocks().length(); ++j) {
           BlockEntryInstr* block = target->dominated_blocks()[j];
           current_block->AddDominatedBlock(block);
         }
@@ -1728,12 +1694,10 @@
       ConstantInstr* cid_constant = new ConstantInstr(cid);
       cid_constant->set_ssa_temp_index(
           owner_->caller_graph()->alloc_ssa_temp_index());
-      StrictCompareInstr* compare =
-          new StrictCompareInstr(call_->instance_call()->token_pos(),
-                                 Token::kEQ_STRICT,
-                                 new Value(load_cid),
-                                 new Value(cid_constant),
-                                 false);  // No number check.
+      StrictCompareInstr* compare = new StrictCompareInstr(
+          call_->instance_call()->token_pos(), Token::kEQ_STRICT,
+          new Value(load_cid), new Value(cid_constant),
+          false);  // No number check.
       BranchInstr* branch = new BranchInstr(compare);
       branch->InheritDeoptTarget(zone(), call_);
       AppendInstruction(AppendInstruction(cursor, cid_constant), branch);
@@ -1754,8 +1718,7 @@
         // Shared inlined body and this is the first entry.  We have already
         // constructed a join and this target jumps to it.
         true_target = callee_entry->AsTargetEntry();
-        BlockEntryInstr* join =
-            true_target->last_instruction()->SuccessorAt(0);
+        BlockEntryInstr* join = true_target->last_instruction()->SuccessorAt(0);
         current_block->AddDominatedBlock(join);
       } else {
         // Shared inlined body and this is a subsequent entry.  We have
@@ -1799,33 +1762,28 @@
       cursor = push;
     }
     const ICData& old_checks = call_->ic_data();
-    const ICData& new_checks = ICData::ZoneHandle(
-        ICData::New(Function::Handle(old_checks.Owner()),
-                    String::Handle(old_checks.target_name()),
-                    Array::Handle(old_checks.arguments_descriptor()),
-                    old_checks.deopt_id(),
-                    1,        // Number of args tested.
-                    false));  // is_static_call
+    const ICData& new_checks = ICData::ZoneHandle(ICData::New(
+        Function::Handle(old_checks.Owner()),
+        String::Handle(old_checks.target_name()),
+        Array::Handle(old_checks.arguments_descriptor()), old_checks.deopt_id(),
+        1,        // Number of args tested.
+        false));  // is_static_call
     for (intptr_t i = 0; i < non_inlined_variants_.length(); ++i) {
       new_checks.AddReceiverCheck(non_inlined_variants_[i].cid,
                                   *non_inlined_variants_[i].target,
                                   non_inlined_variants_[i].count);
     }
     PolymorphicInstanceCallInstr* fallback_call =
-        new PolymorphicInstanceCallInstr(call_->instance_call(),
-                                         new_checks,
+        new PolymorphicInstanceCallInstr(call_->instance_call(), new_checks,
                                          /* with_checks = */ true,
                                          call_->complete());
     fallback_call->set_ssa_temp_index(
         owner_->caller_graph()->alloc_ssa_temp_index());
     fallback_call->InheritDeoptTarget(zone(), call_);
-    ReturnInstr* fallback_return =
-        new ReturnInstr(call_->instance_call()->token_pos(),
-                        new Value(fallback_call));
-    fallback_return->InheritDeoptTargetAfter(
-        owner_->caller_graph(),
-        call_,
-        fallback_call);
+    ReturnInstr* fallback_return = new ReturnInstr(
+        call_->instance_call()->token_pos(), new Value(fallback_call));
+    fallback_return->InheritDeoptTargetAfter(owner_->caller_graph(), call_,
+                                             fallback_call);
     AppendInstruction(AppendInstruction(cursor, fallback_call),
                       fallback_return);
     exit_collector_->AddExit(fallback_return);
@@ -1844,8 +1802,7 @@
 
 void PolymorphicInliner::Inline() {
   // Consider the polymorphic variants in order by frequency.
-  FlowGraphCompiler::SortICDataByCount(call_->ic_data(),
-                                       &variants_,
+  FlowGraphCompiler::SortICDataByCount(call_->ic_data(), &variants_,
                                        /* drop_smi = */ false);
   for (intptr_t var_idx = 0; var_idx < variants_.length(); ++var_idx) {
     const Function& target = *variants_[var_idx].target;
@@ -1935,10 +1892,8 @@
   ASSERT(flow_graph->inlining_id() < 0);
   flow_graph->set_inlining_id(inlining_id);
   for (BlockIterator block_it = flow_graph->postorder_iterator();
-       !block_it.Done();
-       block_it.Advance()) {
-    for (ForwardInstructionIterator it(block_it.Current());
-         !it.Done();
+       !block_it.Done(); block_it.Advance()) {
+    for (ForwardInstructionIterator it(block_it.Current()); !it.Done();
          it.Advance()) {
       Instruction* current = it.Current();
       // Do not overwrite owner function.
@@ -1963,8 +1918,8 @@
   const char* kAlwaysInlineAnnotation = "AlwaysInline";
   if (FLAG_enable_inlining_annotations &&
       HasAnnotation(function, kAlwaysInlineAnnotation)) {
-    TRACE_INLINING(THR_Print("AlwaysInline annotation for %s\n",
-                             function.ToCString()));
+    TRACE_INLINING(
+        THR_Print("AlwaysInline annotation for %s\n", function.ToCString()));
     return true;
   }
 
@@ -1994,11 +1949,10 @@
 
   TRACE_INLINING(THR_Print("Inlining calls in %s\n", top.ToCString()));
 
-  if (FLAG_support_il_printer &&
-      trace_inlining() &&
+  if (FLAG_support_il_printer && trace_inlining() &&
       (FLAG_print_flow_graph || FLAG_print_flow_graph_optimized)) {
-    THR_Print("Before Inlining of %s\n", flow_graph_->
-              function().ToFullyQualifiedCString());
+    THR_Print("Before Inlining of %s\n",
+              flow_graph_->function().ToFullyQualifiedCString());
     FlowGraphPrinter printer(*flow_graph_);
     printer.PrintBlocks();
   }
@@ -2015,8 +1969,8 @@
       THR_Print("Inlining growth factor: %f\n", inliner.GrowthFactor());
       if (FLAG_support_il_printer &&
           (FLAG_print_flow_graph || FLAG_print_flow_graph_optimized)) {
-        THR_Print("After Inlining of %s\n", flow_graph_->
-                  function().ToFullyQualifiedCString());
+        THR_Print("After Inlining of %s\n",
+                  flow_graph_->function().ToFullyQualifiedCString());
         FlowGraphPrinter printer(*flow_graph_);
         printer.PrintBlocks();
       }
@@ -2079,54 +2033,36 @@
                                        Definition* index,
                                        Instruction** cursor) {
   // Insert array length load and bounds check.
-  LoadFieldInstr* length =
-      new(Z) LoadFieldInstr(
-          new(Z) Value(*array),
-          CheckArrayBoundInstr::LengthOffsetFor(array_cid),
-          Type::ZoneHandle(Z, Type::SmiType()),
-          call->token_pos());
+  LoadFieldInstr* length = new (Z) LoadFieldInstr(
+      new (Z) Value(*array), CheckArrayBoundInstr::LengthOffsetFor(array_cid),
+      Type::ZoneHandle(Z, Type::SmiType()), call->token_pos());
   length->set_is_immutable(
       CheckArrayBoundInstr::IsFixedLengthArrayType(array_cid));
   length->set_result_cid(kSmiCid);
   length->set_recognized_kind(
       LoadFieldInstr::RecognizedKindFromArrayCid(array_cid));
-  *cursor = flow_graph->AppendTo(*cursor,
-                                 length,
-                                 NULL,
-                                 FlowGraph::kValue);
+  *cursor = flow_graph->AppendTo(*cursor, length, NULL, FlowGraph::kValue);
 
-  *cursor = flow_graph->AppendTo(*cursor,
-                                 new(Z) CheckArrayBoundInstr(
-                                     new(Z) Value(length),
-                                     new(Z) Value(index),
-                                     call->deopt_id()),
-                                 call->env(),
-                                 FlowGraph::kEffect);
+  *cursor = flow_graph->AppendTo(
+      *cursor,
+      new (Z) CheckArrayBoundInstr(new (Z) Value(length), new (Z) Value(index),
+                                   call->deopt_id()),
+      call->env(), FlowGraph::kEffect);
 
   if (array_cid == kGrowableObjectArrayCid) {
     // Insert data elements load.
-    LoadFieldInstr* elements =
-        new(Z) LoadFieldInstr(
-            new(Z) Value(*array),
-            GrowableObjectArray::data_offset(),
-            Object::dynamic_type(),
-            call->token_pos());
+    LoadFieldInstr* elements = new (Z) LoadFieldInstr(
+        new (Z) Value(*array), GrowableObjectArray::data_offset(),
+        Object::dynamic_type(), call->token_pos());
     elements->set_result_cid(kArrayCid);
-    *cursor = flow_graph->AppendTo(*cursor,
-                                   elements,
-                                   NULL,
-                                   FlowGraph::kValue);
+    *cursor = flow_graph->AppendTo(*cursor, elements, NULL, FlowGraph::kValue);
     // Load from the data from backing store which is a fixed-length array.
     *array = elements;
     array_cid = kArrayCid;
   } else if (RawObject::IsExternalTypedDataClassId(array_cid)) {
-    LoadUntaggedInstr* elements =
-        new(Z) LoadUntaggedInstr(new(Z) Value(*array),
-                                 ExternalTypedData::data_offset());
-    *cursor = flow_graph->AppendTo(*cursor,
-                                   elements,
-                                   NULL,
-                                   FlowGraph::kValue);
+    LoadUntaggedInstr* elements = new (Z) LoadUntaggedInstr(
+        new (Z) Value(*array), ExternalTypedData::data_offset());
+    *cursor = flow_graph->AppendTo(*cursor, elements, NULL, FlowGraph::kValue);
     *array = elements;
   }
   return array_cid;
@@ -2140,12 +2076,10 @@
                                   TokenPosition token_pos) {
   if ((unary_checks.NumberOfUsedChecks() == 1) &&
       unary_checks.HasReceiverClassId(kSmiCid)) {
-    return new(Z) CheckSmiInstr(new(Z) Value(to_check),
-                                deopt_id,
-                                token_pos);
+    return new (Z) CheckSmiInstr(new (Z) Value(to_check), deopt_id, token_pos);
   }
-  return new(Z) CheckClassInstr(
-      new(Z) Value(to_check), deopt_id, unary_checks, token_pos);
+  return new (Z) CheckClassInstr(new (Z) Value(to_check), deopt_id,
+                                 unary_checks, token_pos);
 }
 
 
@@ -2159,16 +2093,12 @@
 
   Definition* array = receiver;
   Definition* index = call->ArgumentAt(1);
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
   Instruction* cursor = *entry;
 
-  array_cid = PrepareInlineIndexedOp(flow_graph,
-                                     call,
-                                     array_cid,
-                                     &array,
-                                     index,
+  array_cid = PrepareInlineIndexedOp(flow_graph, call, array_cid, &array, index,
                                      &cursor);
 
   intptr_t deopt_id = Thread::kNoDeoptId;
@@ -2180,23 +2110,16 @@
 
   // Array load and return.
   intptr_t index_scale = Instance::ElementSizeFor(array_cid);
-  *last = new(Z) LoadIndexedInstr(new(Z) Value(array),
-                                  new(Z) Value(index),
-                                  index_scale,
-                                  array_cid,
-                                  kAlignedAccess,
-                                  deopt_id,
-                                  call->token_pos());
+  *last = new (Z)
+      LoadIndexedInstr(new (Z) Value(array), new (Z) Value(index), index_scale,
+                       array_cid, kAlignedAccess, deopt_id, call->token_pos());
   cursor = flow_graph->AppendTo(
-      cursor,
-      *last,
-      deopt_id != Thread::kNoDeoptId ? call->env() : NULL,
+      cursor, *last, deopt_id != Thread::kNoDeoptId ? call->env() : NULL,
       FlowGraph::kValue);
 
   if (array_cid == kTypedDataFloat32ArrayCid) {
-    *last = new(Z) FloatToDoubleInstr(new(Z) Value(*last), deopt_id);
-    flow_graph->AppendTo(cursor,
-                         *last,
+    *last = new (Z) FloatToDoubleInstr(new (Z) Value(*last), deopt_id);
+    flow_graph->AppendTo(cursor, *last,
                          deopt_id != Thread::kNoDeoptId ? call->env() : NULL,
                          FlowGraph::kValue);
   }
@@ -2219,8 +2142,8 @@
   Definition* index = call->ArgumentAt(1);
   Definition* stored_value = call->ArgumentAt(2);
 
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
   Instruction* cursor = *entry;
   if (flow_graph->isolate()->type_checks()) {
@@ -2233,17 +2156,14 @@
     switch (array_cid) {
       case kArrayCid:
       case kGrowableObjectArrayCid: {
-        const Class& instantiator_class =  Class::Handle(Z, target.Owner());
+        const Class& instantiator_class = Class::Handle(Z, target.Owner());
         intptr_t type_arguments_field_offset =
             instantiator_class.type_arguments_field_offset();
-        LoadFieldInstr* load_type_args =
-            new(Z) LoadFieldInstr(new(Z) Value(array),
-                                  type_arguments_field_offset,
-                                  Type::ZoneHandle(Z),  // No type.
-                                  call->token_pos());
-        cursor = flow_graph->AppendTo(cursor,
-                                      load_type_args,
-                                      NULL,
+        LoadFieldInstr* load_type_args = new (Z)
+            LoadFieldInstr(new (Z) Value(array), type_arguments_field_offset,
+                           Type::ZoneHandle(Z),  // No type.
+                           call->token_pos());
+        cursor = flow_graph->AppendTo(cursor, load_type_args, NULL,
                                       FlowGraph::kValue);
 
         type_args = load_type_args;
@@ -2260,7 +2180,7 @@
       case kTypedDataUint32ArrayCid:
       case kTypedDataInt64ArrayCid:
         ASSERT(value_type.IsIntType());
-        // Fall through.
+      // Fall through.
       case kTypedDataFloat32ArrayCid:
       case kTypedDataFloat64ArrayCid: {
         type_args = flow_graph->constant_null();
@@ -2288,94 +2208,62 @@
         // TODO(fschneider): Add support for other array types.
         UNREACHABLE();
     }
-    AssertAssignableInstr* assert_value =
-        new(Z) AssertAssignableInstr(token_pos,
-                                     new(Z) Value(stored_value),
-                                     new(Z) Value(type_args),
-                                     value_type,
-                                     Symbols::Value(),
-                                     call->deopt_id());
-    cursor = flow_graph->AppendTo(cursor,
-                                  assert_value,
-                                  call->env(),
+    AssertAssignableInstr* assert_value = new (Z) AssertAssignableInstr(
+        token_pos, new (Z) Value(stored_value), new (Z) Value(type_args),
+        value_type, Symbols::Value(), call->deopt_id());
+    cursor = flow_graph->AppendTo(cursor, assert_value, call->env(),
                                   FlowGraph::kValue);
   }
 
-  array_cid = PrepareInlineIndexedOp(flow_graph,
-                                     call,
-                                     array_cid,
-                                     &array,
-                                     index,
+  array_cid = PrepareInlineIndexedOp(flow_graph, call, array_cid, &array, index,
                                      &cursor);
 
   // Check if store barrier is needed. Byte arrays don't need a store barrier.
   StoreBarrierType needs_store_barrier =
       (RawObject::IsTypedDataClassId(array_cid) ||
        RawObject::IsTypedDataViewClassId(array_cid) ||
-       RawObject::IsExternalTypedDataClassId(array_cid)) ? kNoStoreBarrier
-                                                         : kEmitStoreBarrier;
+       RawObject::IsExternalTypedDataClassId(array_cid))
+          ? kNoStoreBarrier
+          : kEmitStoreBarrier;
 
   // No need to class check stores to Int32 and Uint32 arrays because
   // we insert unboxing instructions below which include a class check.
   if ((array_cid != kTypedDataUint32ArrayCid) &&
-      (array_cid != kTypedDataInt32ArrayCid) &&
-      !value_check.IsNull()) {
+      (array_cid != kTypedDataInt32ArrayCid) && !value_check.IsNull()) {
     // No store barrier needed because checked value is a smi, an unboxed mint,
     // an unboxed double, an unboxed Float32x4, or unboxed Int32x4.
     needs_store_barrier = kNoStoreBarrier;
-    Instruction* check = GetCheckClass(flow_graph,
-                                       stored_value,
-                                       value_check,
-                                       call->deopt_id(),
-                                       call->token_pos());
-    cursor = flow_graph->AppendTo(cursor,
-                                  check,
-                                  call->env(),
-                                  FlowGraph::kEffect);
+    Instruction* check = GetCheckClass(flow_graph, stored_value, value_check,
+                                       call->deopt_id(), call->token_pos());
+    cursor =
+        flow_graph->AppendTo(cursor, check, call->env(), FlowGraph::kEffect);
   }
 
   if (array_cid == kTypedDataFloat32ArrayCid) {
-    stored_value =
-        new(Z) DoubleToFloatInstr(
-            new(Z) Value(stored_value), call->deopt_id());
-    cursor = flow_graph->AppendTo(cursor,
-                                  stored_value,
-                                  NULL,
-                                  FlowGraph::kValue);
+    stored_value = new (Z)
+        DoubleToFloatInstr(new (Z) Value(stored_value), call->deopt_id());
+    cursor =
+        flow_graph->AppendTo(cursor, stored_value, NULL, FlowGraph::kValue);
   } else if (array_cid == kTypedDataInt32ArrayCid) {
-    stored_value = new(Z) UnboxInt32Instr(
-        UnboxInt32Instr::kTruncate,
-        new(Z) Value(stored_value),
-        call->deopt_id());
-    cursor = flow_graph->AppendTo(cursor,
-                                  stored_value,
-                                  call->env(),
+    stored_value =
+        new (Z) UnboxInt32Instr(UnboxInt32Instr::kTruncate,
+                                new (Z) Value(stored_value), call->deopt_id());
+    cursor = flow_graph->AppendTo(cursor, stored_value, call->env(),
                                   FlowGraph::kValue);
   } else if (array_cid == kTypedDataUint32ArrayCid) {
-    stored_value = new(Z) UnboxUint32Instr(
-        new(Z) Value(stored_value),
-        call->deopt_id());
+    stored_value =
+        new (Z) UnboxUint32Instr(new (Z) Value(stored_value), call->deopt_id());
     ASSERT(stored_value->AsUnboxInteger()->is_truncating());
-    cursor = flow_graph->AppendTo(cursor,
-                                  stored_value,
-                                  call->env(),
+    cursor = flow_graph->AppendTo(cursor, stored_value, call->env(),
                                   FlowGraph::kValue);
   }
 
   const intptr_t index_scale = Instance::ElementSizeFor(array_cid);
-  *last = new(Z) StoreIndexedInstr(new(Z) Value(array),
-                                   new(Z) Value(index),
-                                   new(Z) Value(stored_value),
-                                   needs_store_barrier,
-                                   index_scale,
-                                   array_cid,
-                                   kAlignedAccess,
-                                   call->deopt_id(),
-                                   call->token_pos());
-  flow_graph->AppendTo(cursor,
-                       *last,
-                       call->env(),
-                       FlowGraph::kEffect);
+  *last = new (Z) StoreIndexedInstr(
+      new (Z) Value(array), new (Z) Value(index), new (Z) Value(stored_value),
+      needs_store_barrier, index_scale, array_cid, kAlignedAccess,
+      call->deopt_id(), call->token_pos());
+  flow_graph->AppendTo(cursor, *last, call->env(), FlowGraph::kEffect);
   return true;
 }
 
@@ -2391,15 +2279,13 @@
   Definition* left = call->ArgumentAt(0);
   Definition* right = call->ArgumentAt(1);
 
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
   // Arguments are checked. No need for class check.
-  BinaryDoubleOpInstr* double_bin_op =
-      new(Z) BinaryDoubleOpInstr(op_kind,
-                                 new(Z) Value(left),
-                                 new(Z) Value(right),
-                                 call->deopt_id(), call->token_pos());
+  BinaryDoubleOpInstr* double_bin_op = new (Z)
+      BinaryDoubleOpInstr(op_kind, new (Z) Value(left), new (Z) Value(right),
+                          call->deopt_id(), call->token_pos());
   flow_graph->AppendTo(*entry, double_bin_op, call->env(), FlowGraph::kValue);
   *last = double_bin_op;
 
@@ -2417,18 +2303,14 @@
   }
   Definition* d = call->ArgumentAt(0);
 
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
   // Arguments are checked. No need for class check.
 
-  DoubleTestOpInstr* double_test_op =
-      new(Z) DoubleTestOpInstr(kind,
-                               new(Z) Value(d),
-                               call->deopt_id(),
-                               call->token_pos());
-  flow_graph->AppendTo(
-      *entry, double_test_op, call->env(), FlowGraph::kValue);
+  DoubleTestOpInstr* double_test_op = new (Z) DoubleTestOpInstr(
+      kind, new (Z) Value(d), call->deopt_id(), call->token_pos());
+  flow_graph->AppendTo(*entry, double_test_op, call->env(), FlowGraph::kValue);
   *last = double_test_op;
 
   return true;
@@ -2442,15 +2324,13 @@
   Definition* left = call->ArgumentAt(0);
   Definition* right = call->ArgumentAt(1);
 
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
   // Right arguments is known to be smi: other._bitAndFromSmi(this);
   BinarySmiOpInstr* smi_op =
-      new(Z) BinarySmiOpInstr(Token::kBIT_AND,
-                              new(Z) Value(left),
-                              new(Z) Value(right),
-                              call->deopt_id());
+      new (Z) BinarySmiOpInstr(Token::kBIT_AND, new (Z) Value(left),
+                               new (Z) Value(right), call->deopt_id());
   flow_graph->AppendTo(*entry, smi_op, call->env(), FlowGraph::kValue);
   *last = smi_op;
 
@@ -2467,16 +2347,13 @@
   Definition* array = call->ArgumentAt(0);
   Definition* value = call->ArgumentAt(1);
 
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
 
   // This is an internal method, no need to check argument types.
-  StoreInstanceFieldInstr* store = new(Z) StoreInstanceFieldInstr(
-      offset,
-      new(Z) Value(array),
-      new(Z) Value(value),
-      store_barrier_type,
+  StoreInstanceFieldInstr* store = new (Z) StoreInstanceFieldInstr(
+      offset, new (Z) Value(array), new (Z) Value(value), store_barrier_type,
       call->token_pos());
   flow_graph->AppendTo(*entry, store, call->env(), FlowGraph::kEffect);
   *last = store;
@@ -2485,37 +2362,28 @@
 }
 
 
-static void PrepareInlineByteArrayBaseOp(
-    FlowGraph* flow_graph,
-    Instruction* call,
-    intptr_t array_cid,
-    intptr_t view_cid,
-    Definition** array,
-    Definition* byte_index,
-    Instruction** cursor) {
-  LoadFieldInstr* length =
-      new(Z) LoadFieldInstr(
-          new(Z) Value(*array),
-          CheckArrayBoundInstr::LengthOffsetFor(array_cid),
-          Type::ZoneHandle(Z, Type::SmiType()),
-          call->token_pos());
+static void PrepareInlineByteArrayBaseOp(FlowGraph* flow_graph,
+                                         Instruction* call,
+                                         intptr_t array_cid,
+                                         intptr_t view_cid,
+                                         Definition** array,
+                                         Definition* byte_index,
+                                         Instruction** cursor) {
+  LoadFieldInstr* length = new (Z) LoadFieldInstr(
+      new (Z) Value(*array), CheckArrayBoundInstr::LengthOffsetFor(array_cid),
+      Type::ZoneHandle(Z, Type::SmiType()), call->token_pos());
   length->set_is_immutable(true);
   length->set_result_cid(kSmiCid);
   length->set_recognized_kind(
       LoadFieldInstr::RecognizedKindFromArrayCid(array_cid));
-  *cursor = flow_graph->AppendTo(*cursor,
-                                 length,
-                                 NULL,
-                                 FlowGraph::kValue);
+  *cursor = flow_graph->AppendTo(*cursor, length, NULL, FlowGraph::kValue);
 
   intptr_t element_size = Instance::ElementSizeFor(array_cid);
   ConstantInstr* bytes_per_element =
       flow_graph->GetConstant(Smi::Handle(Z, Smi::New(element_size)));
-  BinarySmiOpInstr* len_in_bytes =
-      new(Z) BinarySmiOpInstr(Token::kMUL,
-                              new(Z) Value(length),
-                              new(Z) Value(bytes_per_element),
-                              call->deopt_id());
+  BinarySmiOpInstr* len_in_bytes = new (Z)
+      BinarySmiOpInstr(Token::kMUL, new (Z) Value(length),
+                       new (Z) Value(bytes_per_element), call->deopt_id());
   *cursor = flow_graph->AppendTo(*cursor, len_in_bytes, call->env(),
                                  FlowGraph::kValue);
 
@@ -2525,42 +2393,31 @@
   if (adjustment > 0) {
     ConstantInstr* length_adjustment =
         flow_graph->GetConstant(Smi::Handle(Z, Smi::New(adjustment)));
-    adjusted_length =
-        new(Z) BinarySmiOpInstr(Token::kSUB,
-                                new(Z) Value(len_in_bytes),
-                                new(Z) Value(length_adjustment),
-                                call->deopt_id());
+    adjusted_length = new (Z)
+        BinarySmiOpInstr(Token::kSUB, new (Z) Value(len_in_bytes),
+                         new (Z) Value(length_adjustment), call->deopt_id());
     *cursor = flow_graph->AppendTo(*cursor, adjusted_length, call->env(),
                                    FlowGraph::kValue);
   }
 
   // Check adjusted_length > 0.
-  ConstantInstr* zero =
-      flow_graph->GetConstant(Smi::Handle(Z, Smi::New(0)));
-  *cursor = flow_graph->AppendTo(*cursor,
-                                 new(Z) CheckArrayBoundInstr(
-                                     new(Z) Value(adjusted_length),
-                                     new(Z) Value(zero),
-                                     call->deopt_id()),
-                                 call->env(),
-                                 FlowGraph::kEffect);
+  ConstantInstr* zero = flow_graph->GetConstant(Smi::Handle(Z, Smi::New(0)));
+  *cursor = flow_graph->AppendTo(
+      *cursor,
+      new (Z) CheckArrayBoundInstr(new (Z) Value(adjusted_length),
+                                   new (Z) Value(zero), call->deopt_id()),
+      call->env(), FlowGraph::kEffect);
   // Check 0 <= byte_index < adjusted_length.
-  *cursor = flow_graph->AppendTo(*cursor,
-                                 new(Z) CheckArrayBoundInstr(
-                                     new(Z) Value(adjusted_length),
-                                     new(Z) Value(byte_index),
-                                     call->deopt_id()),
-                                 call->env(),
-                                 FlowGraph::kEffect);
+  *cursor = flow_graph->AppendTo(
+      *cursor,
+      new (Z) CheckArrayBoundInstr(new (Z) Value(adjusted_length),
+                                   new (Z) Value(byte_index), call->deopt_id()),
+      call->env(), FlowGraph::kEffect);
 
   if (RawObject::IsExternalTypedDataClassId(array_cid)) {
-    LoadUntaggedInstr* elements =
-        new(Z) LoadUntaggedInstr(new(Z) Value(*array),
-                                 ExternalTypedData::data_offset());
-    *cursor = flow_graph->AppendTo(*cursor,
-                                   elements,
-                                   NULL,
-                                   FlowGraph::kValue);
+    LoadUntaggedInstr* elements = new (Z) LoadUntaggedInstr(
+        new (Z) Value(*array), ExternalTypedData::data_offset());
+    *cursor = flow_graph->AppendTo(*cursor, elements, NULL, FlowGraph::kValue);
     *array = elements;
   }
 }
@@ -2576,18 +2433,13 @@
   ASSERT(array_cid != kIllegalCid);
   Definition* array = receiver;
   Definition* index = call->ArgumentAt(1);
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
   Instruction* cursor = *entry;
 
-  PrepareInlineByteArrayBaseOp(flow_graph,
-                               call,
-                               array_cid,
-                               view_cid,
-                               &array,
-                               index,
-                               &cursor);
+  PrepareInlineByteArrayBaseOp(flow_graph, call, array_cid, view_cid, &array,
+                               index, &cursor);
 
   intptr_t deopt_id = Thread::kNoDeoptId;
   if ((array_cid == kTypedDataInt32ArrayCid) ||
@@ -2596,23 +2448,16 @@
     deopt_id = (kSmiBits >= 32) ? Thread::kNoDeoptId : call->deopt_id();
   }
 
-  *last = new(Z) LoadIndexedInstr(new(Z) Value(array),
-                                  new(Z) Value(index),
-                                  1,
-                                  view_cid,
-                                  kUnalignedAccess,
-                                  deopt_id,
-                                  call->token_pos());
+  *last = new (Z)
+      LoadIndexedInstr(new (Z) Value(array), new (Z) Value(index), 1, view_cid,
+                       kUnalignedAccess, deopt_id, call->token_pos());
   cursor = flow_graph->AppendTo(
-      cursor,
-      *last,
-      deopt_id != Thread::kNoDeoptId ? call->env() : NULL,
+      cursor, *last, deopt_id != Thread::kNoDeoptId ? call->env() : NULL,
       FlowGraph::kValue);
 
   if (view_cid == kTypedDataFloat32ArrayCid) {
-    *last = new(Z) FloatToDoubleInstr(new(Z) Value(*last), deopt_id);
-    flow_graph->AppendTo(cursor,
-                         *last,
+    *last = new (Z) FloatToDoubleInstr(new (Z) Value(*last), deopt_id);
+    flow_graph->AppendTo(cursor, *last,
                          deopt_id != Thread::kNoDeoptId ? call->env() : NULL,
                          FlowGraph::kValue);
   }
@@ -2631,18 +2476,13 @@
   ASSERT(array_cid != kIllegalCid);
   Definition* array = receiver;
   Definition* index = call->ArgumentAt(1);
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
   Instruction* cursor = *entry;
 
-  PrepareInlineByteArrayBaseOp(flow_graph,
-                               call,
-                               array_cid,
-                               view_cid,
-                               &array,
-                               index,
-                               &cursor);
+  PrepareInlineByteArrayBaseOp(flow_graph, call, array_cid, view_cid, &array,
+                               index, &cursor);
 
   // Extract the instance call so we can use the function_name in the stored
   // value check ICData.
@@ -2664,12 +2504,9 @@
     case kTypedDataInt16ArrayCid:
     case kTypedDataUint16ArrayCid: {
       // Check that value is always smi.
-      value_check = ICData::New(flow_graph->function(),
-                                i_call->function_name(),
+      value_check = ICData::New(flow_graph->function(), i_call->function_name(),
                                 Object::empty_array(),  // Dummy args. descr.
-                                Thread::kNoDeoptId,
-                                1,
-                                false);
+                                Thread::kNoDeoptId, 1, false);
       value_check.AddReceiverCheck(kSmiCid, target);
       break;
     }
@@ -2677,46 +2514,35 @@
     case kTypedDataUint32ArrayCid:
       // On 64-bit platforms assume that stored value is always a smi.
       if (kSmiBits >= 32) {
-        value_check = ICData::New(flow_graph->function(),
-                                  i_call->function_name(),
-                                  Object::empty_array(),  // Dummy args. descr.
-                                  Thread::kNoDeoptId,
-                                  1,
-                                  false);
+        value_check =
+            ICData::New(flow_graph->function(), i_call->function_name(),
+                        Object::empty_array(),  // Dummy args. descr.
+                        Thread::kNoDeoptId, 1, false);
         value_check.AddReceiverCheck(kSmiCid, target);
       }
       break;
     case kTypedDataFloat32ArrayCid:
     case kTypedDataFloat64ArrayCid: {
       // Check that value is always double.
-      value_check = ICData::New(flow_graph->function(),
-                                i_call->function_name(),
+      value_check = ICData::New(flow_graph->function(), i_call->function_name(),
                                 Object::empty_array(),  // Dummy args. descr.
-                                Thread::kNoDeoptId,
-                                1,
-                                false);
+                                Thread::kNoDeoptId, 1, false);
       value_check.AddReceiverCheck(kDoubleCid, target);
       break;
     }
     case kTypedDataInt32x4ArrayCid: {
       // Check that value is always Int32x4.
-      value_check = ICData::New(flow_graph->function(),
-                                i_call->function_name(),
+      value_check = ICData::New(flow_graph->function(), i_call->function_name(),
                                 Object::empty_array(),  // Dummy args. descr.
-                                Thread::kNoDeoptId,
-                                1,
-                                false);
+                                Thread::kNoDeoptId, 1, false);
       value_check.AddReceiverCheck(kInt32x4Cid, target);
       break;
     }
     case kTypedDataFloat32x4ArrayCid: {
       // Check that value is always Float32x4.
-      value_check = ICData::New(flow_graph->function(),
-                                i_call->function_name(),
+      value_check = ICData::New(flow_graph->function(), i_call->function_name(),
                                 Object::empty_array(),  // Dummy args. descr.
-                                Thread::kNoDeoptId,
-                                1,
-                                false);
+                                Thread::kNoDeoptId, 1, false);
       value_check.AddReceiverCheck(kFloat32x4Cid, target);
       break;
     }
@@ -2727,95 +2553,71 @@
 
   Definition* stored_value = call->ArgumentAt(2);
   if (!value_check.IsNull()) {
-    Instruction* check = GetCheckClass(flow_graph,
-                                       stored_value,
-                                       value_check,
-                                       call->deopt_id(),
-                                       call->token_pos());
-    cursor = flow_graph->AppendTo(cursor,
-                                  check,
-                                  call->env(),
-                                  FlowGraph::kEffect);
+    Instruction* check = GetCheckClass(flow_graph, stored_value, value_check,
+                                       call->deopt_id(), call->token_pos());
+    cursor =
+        flow_graph->AppendTo(cursor, check, call->env(), FlowGraph::kEffect);
   }
 
   if (view_cid == kTypedDataFloat32ArrayCid) {
-    stored_value = new(Z) DoubleToFloatInstr(
-        new(Z) Value(stored_value), call->deopt_id());
-    cursor = flow_graph->AppendTo(cursor,
-                                  stored_value,
-                                  NULL,
-                                  FlowGraph::kValue);
+    stored_value = new (Z)
+        DoubleToFloatInstr(new (Z) Value(stored_value), call->deopt_id());
+    cursor =
+        flow_graph->AppendTo(cursor, stored_value, NULL, FlowGraph::kValue);
   } else if (view_cid == kTypedDataInt32ArrayCid) {
-    stored_value = new(Z) UnboxInt32Instr(
-        UnboxInt32Instr::kTruncate,
-        new(Z) Value(stored_value),
-        call->deopt_id());
-    cursor = flow_graph->AppendTo(cursor,
-                                  stored_value,
-                                  call->env(),
+    stored_value =
+        new (Z) UnboxInt32Instr(UnboxInt32Instr::kTruncate,
+                                new (Z) Value(stored_value), call->deopt_id());
+    cursor = flow_graph->AppendTo(cursor, stored_value, call->env(),
                                   FlowGraph::kValue);
   } else if (view_cid == kTypedDataUint32ArrayCid) {
-    stored_value = new(Z) UnboxUint32Instr(
-        new(Z) Value(stored_value),
-        call->deopt_id());
+    stored_value =
+        new (Z) UnboxUint32Instr(new (Z) Value(stored_value), call->deopt_id());
     ASSERT(stored_value->AsUnboxInteger()->is_truncating());
-    cursor = flow_graph->AppendTo(cursor,
-                                  stored_value,
-                                  call->env(),
+    cursor = flow_graph->AppendTo(cursor, stored_value, call->env(),
                                   FlowGraph::kValue);
   }
 
   StoreBarrierType needs_store_barrier = kNoStoreBarrier;
-  *last = new(Z) StoreIndexedInstr(new(Z) Value(array),
-                                   new(Z) Value(index),
-                                   new(Z) Value(stored_value),
-                                   needs_store_barrier,
-                                   1,  // Index scale
-                                   view_cid,
-                                   kUnalignedAccess,
-                                   call->deopt_id(),
-                                   call->token_pos());
+  *last = new (Z) StoreIndexedInstr(
+      new (Z) Value(array), new (Z) Value(index), new (Z) Value(stored_value),
+      needs_store_barrier,
+      1,  // Index scale
+      view_cid, kUnalignedAccess, call->deopt_id(), call->token_pos());
 
-  flow_graph->AppendTo(cursor,
-                       *last,
-                       call->deopt_id() != Thread::kNoDeoptId ?
-                          call->env() : NULL,
-                       FlowGraph::kEffect);
+  flow_graph->AppendTo(
+      cursor, *last,
+      call->deopt_id() != Thread::kNoDeoptId ? call->env() : NULL,
+      FlowGraph::kEffect);
   return true;
 }
 
 
-
 // Returns the LoadIndexedInstr.
-static Definition* PrepareInlineStringIndexOp(
-    FlowGraph* flow_graph,
-    Instruction* call,
-    intptr_t cid,
-    Definition* str,
-    Definition* index,
-    Instruction* cursor) {
+static Definition* PrepareInlineStringIndexOp(FlowGraph* flow_graph,
+                                              Instruction* call,
+                                              intptr_t cid,
+                                              Definition* str,
+                                              Definition* index,
+                                              Instruction* cursor) {
   // Load the length of the string.
   // Treat length loads as mutable (i.e. affected by side effects) to avoid
   // hoisting them since we can't hoist the preceding class-check. This
   // is because of externalization of strings that affects their class-id.
-  LoadFieldInstr* length = new(Z) LoadFieldInstr(
-      new(Z) Value(str),
-      String::length_offset(),
-      Type::ZoneHandle(Z, Type::SmiType()),
-      str->token_pos());
+  LoadFieldInstr* length = new (Z)
+      LoadFieldInstr(new (Z) Value(str), String::length_offset(),
+                     Type::ZoneHandle(Z, Type::SmiType()), str->token_pos());
   length->set_result_cid(kSmiCid);
   length->set_is_immutable(!FLAG_support_externalizable_strings);
   length->set_recognized_kind(MethodRecognizer::kStringBaseLength);
 
   cursor = flow_graph->AppendTo(cursor, length, NULL, FlowGraph::kValue);
   // Bounds check.
-  cursor = flow_graph->AppendTo(cursor,
-                                new(Z) CheckArrayBoundInstr(
-                                    new(Z) Value(length),
-                                    new(Z) Value(index),
-                                    call->deopt_id()),
-                                call->env(),
-                                FlowGraph::kEffect);
+  cursor = flow_graph->AppendTo(
+      cursor,
+      new (Z) CheckArrayBoundInstr(new (Z) Value(length), new (Z) Value(index),
+                                   call->deopt_id()),
+      call->env(), FlowGraph::kEffect);
 
   // For external strings: Load backing store.
   if (cid == kExternalOneByteStringCid) {
@@ -2823,27 +2625,20 @@
                                 ExternalOneByteString::external_data_offset());
     cursor = flow_graph->AppendTo(cursor, str, NULL, FlowGraph::kValue);
     str = new LoadUntaggedInstr(
-        new Value(str),
-        RawExternalOneByteString::ExternalData::data_offset());
+        new Value(str), RawExternalOneByteString::ExternalData::data_offset());
     cursor = flow_graph->AppendTo(cursor, str, NULL, FlowGraph::kValue);
   } else if (cid == kExternalTwoByteStringCid) {
     str = new LoadUntaggedInstr(new Value(str),
                                 ExternalTwoByteString::external_data_offset());
     cursor = flow_graph->AppendTo(cursor, str, NULL, FlowGraph::kValue);
     str = new LoadUntaggedInstr(
-        new Value(str),
-        RawExternalTwoByteString::ExternalData::data_offset());
+        new Value(str), RawExternalTwoByteString::ExternalData::data_offset());
     cursor = flow_graph->AppendTo(cursor, str, NULL, FlowGraph::kValue);
   }
 
-  LoadIndexedInstr* load_indexed = new(Z) LoadIndexedInstr(
-      new(Z) Value(str),
-      new(Z) Value(index),
-      Instance::ElementSizeFor(cid),
-      cid,
-      kAlignedAccess,
-      Thread::kNoDeoptId,
-      call->token_pos());
+  LoadIndexedInstr* load_indexed = new (Z) LoadIndexedInstr(
+      new (Z) Value(str), new (Z) Value(index), Instance::ElementSizeFor(cid),
+      cid, kAlignedAccess, Thread::kNoDeoptId, call->token_pos());
 
   cursor = flow_graph->AppendTo(cursor, load_indexed, NULL, FlowGraph::kValue);
   ASSERT(cursor == load_indexed);
@@ -2851,26 +2646,25 @@
 }
 
 
-static bool InlineStringBaseCharAt(
-    FlowGraph* flow_graph,
-    Instruction* call,
-    intptr_t cid,
-    TargetEntryInstr** entry,
-    Definition** last) {
+static bool InlineStringBaseCharAt(FlowGraph* flow_graph,
+                                   Instruction* call,
+                                   intptr_t cid,
+                                   TargetEntryInstr** entry,
+                                   Definition** last) {
   if ((cid != kOneByteStringCid) && (cid != kExternalOneByteStringCid)) {
     return false;
   }
   Definition* str = call->ArgumentAt(0);
   Definition* index = call->ArgumentAt(1);
 
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
 
   *last = PrepareInlineStringIndexOp(flow_graph, call, cid, str, index, *entry);
 
   OneByteStringFromCharCodeInstr* char_at =
-      new(Z) OneByteStringFromCharCodeInstr(new(Z) Value(*last));
+      new (Z) OneByteStringFromCharCodeInstr(new (Z) Value(*last));
 
   flow_graph->AppendTo(*last, char_at, NULL, FlowGraph::kValue);
   *last = char_at;
@@ -2879,21 +2673,19 @@
 }
 
 
-static bool InlineStringCodeUnitAt(
-    FlowGraph* flow_graph,
-    Instruction* call,
-    intptr_t cid,
-    TargetEntryInstr** entry,
-    Definition** last) {
-  ASSERT((cid == kOneByteStringCid) ||
-         (cid == kTwoByteStringCid) ||
+static bool InlineStringCodeUnitAt(FlowGraph* flow_graph,
+                                   Instruction* call,
+                                   intptr_t cid,
+                                   TargetEntryInstr** entry,
+                                   Definition** last) {
+  ASSERT((cid == kOneByteStringCid) || (cid == kTwoByteStringCid) ||
          (cid == kExternalOneByteStringCid) ||
          (cid == kExternalTwoByteStringCid));
   Definition* str = call->ArgumentAt(0);
   Definition* index = call->ArgumentAt(1);
 
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
 
   *last = PrepareInlineStringIndexOp(flow_graph, call, cid, str, index, *entry);
@@ -2913,23 +2705,16 @@
 
   TargetEntryInstr* entry;
   Definition* last;
-  if (FlowGraphInliner::TryInlineRecognizedMethod(flow_graph,
-                                                  receiver_cid,
-                                                  target,
-                                                  call,
-                                                  call->ArgumentAt(0),
-                                                  call->token_pos(),
-                                                  *call->ic_data(),
-                                                  &entry, &last)) {
+  if (FlowGraphInliner::TryInlineRecognizedMethod(
+          flow_graph, receiver_cid, target, call, call->ArgumentAt(0),
+          call->token_pos(), *call->ic_data(), &entry, &last)) {
     // Insert receiver class check if needed.
     if (MethodRecognizer::PolymorphicTarget(target) ||
         flow_graph->InstanceCallNeedsClassCheck(call, target.kind())) {
       Instruction* check = GetCheckClass(
-          flow_graph,
-          call->ArgumentAt(0),
+          flow_graph, call->ArgumentAt(0),
           ICData::ZoneHandle(Z, call->ic_data()->AsUnaryClassChecks()),
-          call->deopt_id(),
-          call->token_pos());
+          call->deopt_id(), call->token_pos());
       flow_graph->InsertBefore(call, check, call->env(), FlowGraph::kEffect);
     }
 
@@ -2969,14 +2754,9 @@
     StaticCallInstr* call) {
   TargetEntryInstr* entry;
   Definition* last;
-  if (FlowGraphInliner::TryInlineRecognizedMethod(flow_graph,
-                                                  kIllegalCid,
-                                                  call->function(),
-                                                  call,
-                                                  call->ArgumentAt(0),
-                                                  call->token_pos(),
-                                                  *call->ic_data(),
-                                                  &entry, &last)) {
+  if (FlowGraphInliner::TryInlineRecognizedMethod(
+          flow_graph, kIllegalCid, call->function(), call, call->ArgumentAt(0),
+          call->token_pos(), *call->ic_data(), &entry, &last)) {
     // Remove the original push arguments.
     for (intptr_t i = 0; i < call->ArgumentCount(); ++i) {
       PushArgumentInstr* push = call->PushArgumentAt(i);
@@ -3015,8 +2795,8 @@
   if (!ShouldInlineSimd()) {
     return false;
   }
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
   Instruction* cursor = *entry;
   switch (kind) {
@@ -3024,16 +2804,15 @@
     case MethodRecognizer::kFloat32x4ShuffleY:
     case MethodRecognizer::kFloat32x4ShuffleZ:
     case MethodRecognizer::kFloat32x4ShuffleW: {
-      *last = new(Z) Simd32x4ShuffleInstr(kind,
-                                          new(Z) Value(call->ArgumentAt(0)),
-                                          0,  // mask ignored.
-                                          call->deopt_id());
+      *last =
+          new (Z) Simd32x4ShuffleInstr(kind, new (Z) Value(call->ArgumentAt(0)),
+                                       0,  // mask ignored.
+                                       call->deopt_id());
       break;
     }
     case MethodRecognizer::kFloat32x4GetSignMask: {
-      *last = new(Z) Simd32x4GetSignMaskInstr(kind,
-                                              new(Z) Value(call->ArgumentAt(0)),
-                                              call->deopt_id());
+      *last = new (Z) Simd32x4GetSignMaskInstr(
+          kind, new (Z) Value(call->ArgumentAt(0)), call->deopt_id());
       break;
     }
     case MethodRecognizer::kFloat32x4Equal:
@@ -3044,20 +2823,16 @@
     case MethodRecognizer::kFloat32x4NotEqual: {
       Definition* left = call->ArgumentAt(0);
       Definition* right = call->ArgumentAt(1);
-      *last = new(Z) Float32x4ComparisonInstr(kind,
-                                              new(Z) Value(left),
-                                              new(Z) Value(right),
-                                              call->deopt_id());
+      *last = new (Z) Float32x4ComparisonInstr(
+          kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
       break;
     }
     case MethodRecognizer::kFloat32x4Min:
     case MethodRecognizer::kFloat32x4Max: {
       Definition* left = call->ArgumentAt(0);
       Definition* right = call->ArgumentAt(1);
-      *last = new(Z) Float32x4MinMaxInstr(kind,
-                                          new(Z) Value(left),
-                                          new(Z) Value(right),
-                                          call->deopt_id());
+      *last = new (Z) Float32x4MinMaxInstr(
+          kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
       break;
     }
     case MethodRecognizer::kFloat32x4Scale: {
@@ -3066,19 +2841,16 @@
       // Left and right values are swapped when handed to the instruction,
       // this is done so that the double value is loaded into the output
       // register and can be destroyed.
-      *last = new(Z) Float32x4ScaleInstr(kind,
-                                         new(Z) Value(right),
-                                         new(Z) Value(left),
-                                         call->deopt_id());
+      *last = new (Z) Float32x4ScaleInstr(
+          kind, new (Z) Value(right), new (Z) Value(left), call->deopt_id());
       break;
     }
     case MethodRecognizer::kFloat32x4Sqrt:
     case MethodRecognizer::kFloat32x4ReciprocalSqrt:
     case MethodRecognizer::kFloat32x4Reciprocal: {
       Definition* left = call->ArgumentAt(0);
-      *last = new(Z) Float32x4SqrtInstr(kind,
-                                        new(Z) Value(left),
-                                        call->deopt_id());
+      *last = new (Z)
+          Float32x4SqrtInstr(kind, new (Z) Value(left), call->deopt_id());
       break;
     }
     case MethodRecognizer::kFloat32x4WithX:
@@ -3087,39 +2859,34 @@
     case MethodRecognizer::kFloat32x4WithW: {
       Definition* left = call->ArgumentAt(0);
       Definition* right = call->ArgumentAt(1);
-      *last = new(Z) Float32x4WithInstr(kind,
-                                        new(Z) Value(left),
-                                        new(Z) Value(right),
-                                        call->deopt_id());
+      *last = new (Z) Float32x4WithInstr(
+          kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
       break;
     }
     case MethodRecognizer::kFloat32x4Absolute:
     case MethodRecognizer::kFloat32x4Negate: {
       Definition* left = call->ArgumentAt(0);
-      *last = new(Z) Float32x4ZeroArgInstr(kind,
-                                           new(Z) Value(left),
-                                           call->deopt_id());
+      *last = new (Z)
+          Float32x4ZeroArgInstr(kind, new (Z) Value(left), call->deopt_id());
       break;
     }
     case MethodRecognizer::kFloat32x4Clamp: {
       Definition* left = call->ArgumentAt(0);
       Definition* lower = call->ArgumentAt(1);
       Definition* upper = call->ArgumentAt(2);
-      *last = new(Z) Float32x4ClampInstr(
-          new(Z) Value(left),
-          new(Z) Value(lower),
-          new(Z) Value(upper),
-          call->deopt_id());
+      *last =
+          new (Z) Float32x4ClampInstr(new (Z) Value(left), new (Z) Value(lower),
+                                      new (Z) Value(upper), call->deopt_id());
       break;
     }
     default:
       UNREACHABLE();
       return false;
   }
-  flow_graph->AppendTo(cursor, *last,
-                       call->deopt_id() != Thread::kNoDeoptId ?
-                       call->env() : NULL,
-                       FlowGraph::kValue);
+  flow_graph->AppendTo(
+      cursor, *last,
+      call->deopt_id() != Thread::kNoDeoptId ? call->env() : NULL,
+      FlowGraph::kValue);
   return true;
 }
 
@@ -3146,8 +2913,8 @@
   if (!ShouldInlineSimd()) {
     return false;
   }
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
   Instruction* cursor = *entry;
   Definition* mask_definition = call->ArgumentAt(1);
@@ -3155,15 +2922,12 @@
   if (!CheckMask(mask_definition, &mask)) {
     return false;
   }
-  *last = new(Z) Simd32x4ShuffleInstr(
-      kind,
-      new(Z) Value(call->ArgumentAt(0)),
-      mask,
-      call->deopt_id());
-  flow_graph->AppendTo(cursor, *last,
-                       call->deopt_id() != Thread::kNoDeoptId ?
-                       call->env() : NULL,
-                       FlowGraph::kValue);
+  *last = new (Z) Simd32x4ShuffleInstr(kind, new (Z) Value(call->ArgumentAt(0)),
+                                       mask, call->deopt_id());
+  flow_graph->AppendTo(
+      cursor, *last,
+      call->deopt_id() != Thread::kNoDeoptId ? call->env() : NULL,
+      FlowGraph::kValue);
   return true;
 }
 
@@ -3176,8 +2940,8 @@
   if (!ShouldInlineSimd()) {
     return false;
   }
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
   Instruction* cursor = *entry;
   Definition* mask_definition = call->ArgumentAt(2);
@@ -3185,21 +2949,17 @@
   if (!CheckMask(mask_definition, &mask)) {
     return false;
   }
-  *last = new(Z) Simd32x4ShuffleMixInstr(
-      kind,
-      new(Z) Value(call->ArgumentAt(0)),
-      new(Z) Value(call->ArgumentAt(1)),
-      mask,
-      call->deopt_id());
-  flow_graph->AppendTo(cursor, *last,
-                       call->deopt_id() != Thread::kNoDeoptId ?
-                       call->env() : NULL,
-                       FlowGraph::kValue);
+  *last = new (Z) Simd32x4ShuffleMixInstr(
+      kind, new (Z) Value(call->ArgumentAt(0)),
+      new (Z) Value(call->ArgumentAt(1)), mask, call->deopt_id());
+  flow_graph->AppendTo(
+      cursor, *last,
+      call->deopt_id() != Thread::kNoDeoptId ? call->env() : NULL,
+      FlowGraph::kValue);
   return true;
 }
 
 
-
 static bool InlineInt32x4Method(FlowGraph* flow_graph,
                                 Instruction* call,
                                 MethodRecognizer::Kind kind,
@@ -3208,8 +2968,8 @@
   if (!ShouldInlineSimd()) {
     return false;
   }
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
   Instruction* cursor = *entry;
   switch (kind) {
@@ -3217,48 +2977,40 @@
     case MethodRecognizer::kInt32x4GetFlagY:
     case MethodRecognizer::kInt32x4GetFlagZ:
     case MethodRecognizer::kInt32x4GetFlagW: {
-      *last = new(Z) Int32x4GetFlagInstr(
-          kind,
-          new(Z) Value(call->ArgumentAt(0)),
-          call->deopt_id());
+      *last = new (Z) Int32x4GetFlagInstr(
+          kind, new (Z) Value(call->ArgumentAt(0)), call->deopt_id());
       break;
     }
     case MethodRecognizer::kInt32x4GetSignMask: {
-      *last = new(Z) Simd32x4GetSignMaskInstr(
-          kind,
-          new(Z) Value(call->ArgumentAt(0)),
-          call->deopt_id());
+      *last = new (Z) Simd32x4GetSignMaskInstr(
+          kind, new (Z) Value(call->ArgumentAt(0)), call->deopt_id());
       break;
     }
     case MethodRecognizer::kInt32x4Select: {
       Definition* mask = call->ArgumentAt(0);
       Definition* trueValue = call->ArgumentAt(1);
       Definition* falseValue = call->ArgumentAt(2);
-      *last = new(Z) Int32x4SelectInstr(
-          new(Z) Value(mask),
-          new(Z) Value(trueValue),
-          new(Z) Value(falseValue),
-          call->deopt_id());
+      *last = new (Z)
+          Int32x4SelectInstr(new (Z) Value(mask), new (Z) Value(trueValue),
+                             new (Z) Value(falseValue), call->deopt_id());
       break;
     }
     case MethodRecognizer::kInt32x4WithFlagX:
     case MethodRecognizer::kInt32x4WithFlagY:
     case MethodRecognizer::kInt32x4WithFlagZ:
     case MethodRecognizer::kInt32x4WithFlagW: {
-      *last = new(Z) Int32x4SetFlagInstr(
-          kind,
-          new(Z) Value(call->ArgumentAt(0)),
-          new(Z) Value(call->ArgumentAt(1)),
-          call->deopt_id());
+      *last = new (Z) Int32x4SetFlagInstr(
+          kind, new (Z) Value(call->ArgumentAt(0)),
+          new (Z) Value(call->ArgumentAt(1)), call->deopt_id());
       break;
     }
     default:
       return false;
   }
-  flow_graph->AppendTo(cursor, *last,
-                       call->deopt_id() != Thread::kNoDeoptId ?
-                       call->env() : NULL,
-                       FlowGraph::kValue);
+  flow_graph->AppendTo(
+      cursor, *last,
+      call->deopt_id() != Thread::kNoDeoptId ? call->env() : NULL,
+      FlowGraph::kValue);
   return true;
 }
 
@@ -3271,26 +3023,25 @@
   if (!ShouldInlineSimd()) {
     return false;
   }
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
   Instruction* cursor = *entry;
   switch (kind) {
     case MethodRecognizer::kFloat64x2GetX:
     case MethodRecognizer::kFloat64x2GetY: {
-      *last = new(Z) Simd64x2ShuffleInstr(
-          kind,
-          new(Z) Value(call->ArgumentAt(0)),
-          0,  // mask is ignored.
-          call->deopt_id());
+      *last =
+          new (Z) Simd64x2ShuffleInstr(kind, new (Z) Value(call->ArgumentAt(0)),
+                                       0,  // mask is ignored.
+                                       call->deopt_id());
       break;
     }
     case MethodRecognizer::kFloat64x2Negate:
     case MethodRecognizer::kFloat64x2Abs:
     case MethodRecognizer::kFloat64x2Sqrt:
     case MethodRecognizer::kFloat64x2GetSignMask: {
-      *last = new(Z) Float64x2ZeroArgInstr(
-          kind, new(Z) Value(call->ArgumentAt(0)), call->deopt_id());
+      *last = new (Z) Float64x2ZeroArgInstr(
+          kind, new (Z) Value(call->ArgumentAt(0)), call->deopt_id());
       break;
     }
     case MethodRecognizer::kFloat64x2Scale:
@@ -3300,20 +3051,18 @@
     case MethodRecognizer::kFloat64x2Max: {
       Definition* left = call->ArgumentAt(0);
       Definition* right = call->ArgumentAt(1);
-      *last = new(Z) Float64x2OneArgInstr(kind,
-                                          new(Z) Value(left),
-                                          new(Z) Value(right),
-                                          call->deopt_id());
+      *last = new (Z) Float64x2OneArgInstr(
+          kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
       break;
     }
     default:
       UNREACHABLE();
       return false;
   }
-  flow_graph->AppendTo(cursor, *last,
-                       call->deopt_id() != Thread::kNoDeoptId ?
-                       call->env() : NULL,
-                       FlowGraph::kValue);
+  flow_graph->AppendTo(
+      cursor, *last,
+      call->deopt_id() != Thread::kNoDeoptId ? call->env() : NULL,
+      FlowGraph::kValue);
   return true;
 }
 
@@ -3326,81 +3075,75 @@
   if (!ShouldInlineSimd()) {
     return false;
   }
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
   Instruction* cursor = *entry;
   switch (kind) {
     case MethodRecognizer::kFloat32x4Zero:
-      *last = new(Z) Float32x4ZeroInstr();
+      *last = new (Z) Float32x4ZeroInstr();
       break;
     case MethodRecognizer::kFloat32x4Splat:
-      *last = new(Z) Float32x4SplatInstr(new(Z) Value(call->ArgumentAt(1)),
-                                         call->deopt_id());
+      *last = new (Z) Float32x4SplatInstr(new (Z) Value(call->ArgumentAt(1)),
+                                          call->deopt_id());
       break;
     case MethodRecognizer::kFloat32x4Constructor:
-      *last = new(Z) Float32x4ConstructorInstr(
-          new(Z) Value(call->ArgumentAt(1)),
-          new(Z) Value(call->ArgumentAt(2)),
-          new(Z) Value(call->ArgumentAt(3)),
-          new(Z) Value(call->ArgumentAt(4)),
-          call->deopt_id());
+      *last = new (Z) Float32x4ConstructorInstr(
+          new (Z) Value(call->ArgumentAt(1)),
+          new (Z) Value(call->ArgumentAt(2)),
+          new (Z) Value(call->ArgumentAt(3)),
+          new (Z) Value(call->ArgumentAt(4)), call->deopt_id());
       break;
     case MethodRecognizer::kFloat32x4FromInt32x4Bits:
-      *last = new(Z) Int32x4ToFloat32x4Instr(new(Z) Value(call->ArgumentAt(1)),
-                                             call->deopt_id());
+      *last = new (Z) Int32x4ToFloat32x4Instr(
+          new (Z) Value(call->ArgumentAt(1)), call->deopt_id());
       break;
-    case  MethodRecognizer::kFloat32x4FromFloat64x2:
-      *last = new(Z) Float64x2ToFloat32x4Instr(
-          new(Z) Value(call->ArgumentAt(1)),
-          call->deopt_id());
+    case MethodRecognizer::kFloat32x4FromFloat64x2:
+      *last = new (Z) Float64x2ToFloat32x4Instr(
+          new (Z) Value(call->ArgumentAt(1)), call->deopt_id());
       break;
     case MethodRecognizer::kFloat64x2Zero:
-      *last = new(Z) Float64x2ZeroInstr();
+      *last = new (Z) Float64x2ZeroInstr();
       break;
     case MethodRecognizer::kFloat64x2Splat:
-      *last = new(Z) Float64x2SplatInstr(new(Z) Value(call->ArgumentAt(1)),
-                                         call->deopt_id());
+      *last = new (Z) Float64x2SplatInstr(new (Z) Value(call->ArgumentAt(1)),
+                                          call->deopt_id());
       break;
     case MethodRecognizer::kFloat64x2Constructor:
-      *last = new(Z) Float64x2ConstructorInstr(
-          new(Z) Value(call->ArgumentAt(1)),
-          new(Z) Value(call->ArgumentAt(2)),
-          call->deopt_id());
+      *last = new (Z) Float64x2ConstructorInstr(
+          new (Z) Value(call->ArgumentAt(1)),
+          new (Z) Value(call->ArgumentAt(2)), call->deopt_id());
       break;
     case MethodRecognizer::kFloat64x2FromFloat32x4:
-      *last = new(Z) Float32x4ToFloat64x2Instr(
-          new(Z) Value(call->ArgumentAt(1)),
-          call->deopt_id());
+      *last = new (Z) Float32x4ToFloat64x2Instr(
+          new (Z) Value(call->ArgumentAt(1)), call->deopt_id());
       break;
     case MethodRecognizer::kInt32x4BoolConstructor:
-      *last = new(Z) Int32x4BoolConstructorInstr(
-          new(Z) Value(call->ArgumentAt(1)),
-          new(Z) Value(call->ArgumentAt(2)),
-          new(Z) Value(call->ArgumentAt(3)),
-          new(Z) Value(call->ArgumentAt(4)),
-          call->deopt_id());
+      *last = new (Z) Int32x4BoolConstructorInstr(
+          new (Z) Value(call->ArgumentAt(1)),
+          new (Z) Value(call->ArgumentAt(2)),
+          new (Z) Value(call->ArgumentAt(3)),
+          new (Z) Value(call->ArgumentAt(4)), call->deopt_id());
       break;
     case MethodRecognizer::kInt32x4Constructor:
-      *last = new(Z) Int32x4ConstructorInstr(
-          new(Z) Value(call->ArgumentAt(1)),
-          new(Z) Value(call->ArgumentAt(2)),
-          new(Z) Value(call->ArgumentAt(3)),
-          new(Z) Value(call->ArgumentAt(4)),
-          call->deopt_id());
+      *last = new (Z) Int32x4ConstructorInstr(
+          new (Z) Value(call->ArgumentAt(1)),
+          new (Z) Value(call->ArgumentAt(2)),
+          new (Z) Value(call->ArgumentAt(3)),
+          new (Z) Value(call->ArgumentAt(4)), call->deopt_id());
       break;
     case MethodRecognizer::kInt32x4FromFloat32x4Bits:
-      *last = new(Z) Float32x4ToInt32x4Instr(new(Z) Value(call->ArgumentAt(1)),
-                                             call->deopt_id());
+      *last = new (Z) Float32x4ToInt32x4Instr(
+          new (Z) Value(call->ArgumentAt(1)), call->deopt_id());
       break;
     default:
       UNREACHABLE();
       return false;
   }
-  flow_graph->AppendTo(cursor, *last,
-                       call->deopt_id() != Thread::kNoDeoptId ?
-                       call->env() : NULL,
-                       FlowGraph::kValue);
+  flow_graph->AppendTo(
+      cursor, *last,
+      call->deopt_id() != Thread::kNoDeoptId ? call->env() : NULL,
+      FlowGraph::kValue);
   return true;
 }
 
@@ -3413,35 +3156,33 @@
   if (!CanUnboxDouble()) {
     return false;
   }
-  *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                   call->GetBlock()->try_index());
+  *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                    call->GetBlock()->try_index());
   (*entry)->InheritDeoptTarget(Z, call);
   Instruction* cursor = *entry;
 
   switch (kind) {
     case MethodRecognizer::kMathSqrt: {
-      *last = new(Z) MathUnaryInstr(MathUnaryInstr::kSqrt,
-                                    new(Z) Value(call->ArgumentAt(0)),
-                                    call->deopt_id());
+      *last = new (Z)
+          MathUnaryInstr(MathUnaryInstr::kSqrt,
+                         new (Z) Value(call->ArgumentAt(0)), call->deopt_id());
       break;
     }
     default: {
       ZoneGrowableArray<Value*>* args =
-          new(Z) ZoneGrowableArray<Value*>(call->ArgumentCount());
+          new (Z) ZoneGrowableArray<Value*>(call->ArgumentCount());
       for (intptr_t i = 0; i < call->ArgumentCount(); i++) {
-        args->Add(new(Z) Value(call->ArgumentAt(i)));
+        args->Add(new (Z) Value(call->ArgumentAt(i)));
       }
-      *last = new(Z) InvokeMathCFunctionInstr(args,
-                                              call->deopt_id(),
-                                              kind,
-                                              call->token_pos());
+      *last = new (Z) InvokeMathCFunctionInstr(args, call->deopt_id(), kind,
+                                               call->token_pos());
       break;
     }
   }
-  flow_graph->AppendTo(cursor, *last,
-                       call->deopt_id() != Thread::kNoDeoptId ?
-                       call->env() : NULL,
-                       FlowGraph::kValue);
+  flow_graph->AppendTo(
+      cursor, *last,
+      call->deopt_id() != Thread::kNoDeoptId ? call->env() : NULL,
+      FlowGraph::kValue);
   return true;
 }
 
@@ -3551,132 +3292,113 @@
                               token_pos, value_check, entry, last);
     case MethodRecognizer::kByteArrayBaseGetInt8:
       return InlineByteArrayBaseLoad(flow_graph, call, receiver, receiver_cid,
-                                     kTypedDataInt8ArrayCid,
-                                     entry, last);
+                                     kTypedDataInt8ArrayCid, entry, last);
     case MethodRecognizer::kByteArrayBaseGetUint8:
       return InlineByteArrayBaseLoad(flow_graph, call, receiver, receiver_cid,
-                                     kTypedDataUint8ArrayCid,
-                                     entry, last);
+                                     kTypedDataUint8ArrayCid, entry, last);
     case MethodRecognizer::kByteArrayBaseGetInt16:
       return InlineByteArrayBaseLoad(flow_graph, call, receiver, receiver_cid,
-                                     kTypedDataInt16ArrayCid,
-                                     entry, last);
+                                     kTypedDataInt16ArrayCid, entry, last);
     case MethodRecognizer::kByteArrayBaseGetUint16:
       return InlineByteArrayBaseLoad(flow_graph, call, receiver, receiver_cid,
-                                     kTypedDataUint16ArrayCid,
-                                     entry, last);
+                                     kTypedDataUint16ArrayCid, entry, last);
     case MethodRecognizer::kByteArrayBaseGetInt32:
       if (!CanUnboxInt32()) {
         return false;
       }
       return InlineByteArrayBaseLoad(flow_graph, call, receiver, receiver_cid,
-                                     kTypedDataInt32ArrayCid,
-                                     entry, last);
+                                     kTypedDataInt32ArrayCid, entry, last);
     case MethodRecognizer::kByteArrayBaseGetUint32:
       if (!CanUnboxInt32()) {
         return false;
       }
       return InlineByteArrayBaseLoad(flow_graph, call, receiver, receiver_cid,
-                                     kTypedDataUint32ArrayCid,
-                                     entry, last);
+                                     kTypedDataUint32ArrayCid, entry, last);
     case MethodRecognizer::kByteArrayBaseGetFloat32:
       if (!CanUnboxDouble()) {
         return false;
       }
       return InlineByteArrayBaseLoad(flow_graph, call, receiver, receiver_cid,
-                                     kTypedDataFloat32ArrayCid,
-                                     entry, last);
+                                     kTypedDataFloat32ArrayCid, entry, last);
     case MethodRecognizer::kByteArrayBaseGetFloat64:
       if (!CanUnboxDouble()) {
         return false;
       }
       return InlineByteArrayBaseLoad(flow_graph, call, receiver, receiver_cid,
-                                     kTypedDataFloat64ArrayCid,
-                                     entry, last);
+                                     kTypedDataFloat64ArrayCid, entry, last);
     case MethodRecognizer::kByteArrayBaseGetFloat32x4:
       if (!ShouldInlineSimd()) {
         return false;
       }
       return InlineByteArrayBaseLoad(flow_graph, call, receiver, receiver_cid,
-                                     kTypedDataFloat32x4ArrayCid,
-                                     entry, last);
+                                     kTypedDataFloat32x4ArrayCid, entry, last);
     case MethodRecognizer::kByteArrayBaseGetInt32x4:
       if (!ShouldInlineSimd()) {
         return false;
       }
       return InlineByteArrayBaseLoad(flow_graph, call, receiver, receiver_cid,
-                                     kTypedDataInt32x4ArrayCid,
-                                     entry, last);
+                                     kTypedDataInt32x4ArrayCid, entry, last);
     case MethodRecognizer::kByteArrayBaseSetInt8:
       return InlineByteArrayBaseStore(flow_graph, target, call, receiver,
                                       receiver_cid, kTypedDataInt8ArrayCid,
                                       entry, last);
     case MethodRecognizer::kByteArrayBaseSetUint8:
       return InlineByteArrayBaseStore(flow_graph, target, call, receiver,
-                                      receiver_cid,
-                                      kTypedDataUint8ArrayCid,
+                                      receiver_cid, kTypedDataUint8ArrayCid,
                                       entry, last);
     case MethodRecognizer::kByteArrayBaseSetInt16:
       return InlineByteArrayBaseStore(flow_graph, target, call, receiver,
-                                      receiver_cid,
-                                      kTypedDataInt16ArrayCid,
+                                      receiver_cid, kTypedDataInt16ArrayCid,
                                       entry, last);
     case MethodRecognizer::kByteArrayBaseSetUint16:
       return InlineByteArrayBaseStore(flow_graph, target, call, receiver,
-                                      receiver_cid,
-                                      kTypedDataUint16ArrayCid,
+                                      receiver_cid, kTypedDataUint16ArrayCid,
                                       entry, last);
     case MethodRecognizer::kByteArrayBaseSetInt32:
       return InlineByteArrayBaseStore(flow_graph, target, call, receiver,
-                                      receiver_cid,
-                                      kTypedDataInt32ArrayCid,
+                                      receiver_cid, kTypedDataInt32ArrayCid,
                                       entry, last);
     case MethodRecognizer::kByteArrayBaseSetUint32:
       return InlineByteArrayBaseStore(flow_graph, target, call, receiver,
-                                      receiver_cid,
-                                      kTypedDataUint32ArrayCid,
+                                      receiver_cid, kTypedDataUint32ArrayCid,
                                       entry, last);
     case MethodRecognizer::kByteArrayBaseSetFloat32:
       if (!CanUnboxDouble()) {
         return false;
       }
       return InlineByteArrayBaseStore(flow_graph, target, call, receiver,
-                                      receiver_cid,
-                                      kTypedDataFloat32ArrayCid,
+                                      receiver_cid, kTypedDataFloat32ArrayCid,
                                       entry, last);
     case MethodRecognizer::kByteArrayBaseSetFloat64:
       if (!CanUnboxDouble()) {
         return false;
       }
       return InlineByteArrayBaseStore(flow_graph, target, call, receiver,
-                                      receiver_cid,
-                                      kTypedDataFloat64ArrayCid,
+                                      receiver_cid, kTypedDataFloat64ArrayCid,
                                       entry, last);
     case MethodRecognizer::kByteArrayBaseSetFloat32x4:
       if (!ShouldInlineSimd()) {
         return false;
       }
       return InlineByteArrayBaseStore(flow_graph, target, call, receiver,
-                                      receiver_cid,
-                                      kTypedDataFloat32x4ArrayCid,
+                                      receiver_cid, kTypedDataFloat32x4ArrayCid,
                                       entry, last);
     case MethodRecognizer::kByteArrayBaseSetInt32x4:
       if (!ShouldInlineSimd()) {
         return false;
       }
       return InlineByteArrayBaseStore(flow_graph, target, call, receiver,
-                                      receiver_cid,
-                                      kTypedDataInt32x4ArrayCid,
+                                      receiver_cid, kTypedDataInt32x4ArrayCid,
                                       entry, last);
     case MethodRecognizer::kOneByteStringCodeUnitAt:
     case MethodRecognizer::kTwoByteStringCodeUnitAt:
     case MethodRecognizer::kExternalOneByteStringCodeUnitAt:
     case MethodRecognizer::kExternalTwoByteStringCodeUnitAt:
-      return InlineStringCodeUnitAt(
-          flow_graph, call, receiver_cid, entry, last);
+      return InlineStringCodeUnitAt(flow_graph, call, receiver_cid, entry,
+                                    last);
     case MethodRecognizer::kStringBaseCharAt:
-      return InlineStringBaseCharAt(
-          flow_graph, call, receiver_cid, entry, last);
+      return InlineStringBaseCharAt(flow_graph, call, receiver_cid, entry,
+                                    last);
     case MethodRecognizer::kDoubleAdd:
       return InlineDoubleOp(flow_graph, Token::kADD, call, entry, last);
     case MethodRecognizer::kDoubleSub:
@@ -3691,15 +3413,15 @@
     case MethodRecognizer::kGrowableArraySetData:
       ASSERT(receiver_cid == kGrowableObjectArrayCid);
       ASSERT(ic_data.NumberOfChecks() == 1);
-      return InlineGrowableArraySetter(
-          flow_graph, GrowableObjectArray::data_offset(), kEmitStoreBarrier,
-          call, entry, last);
+      return InlineGrowableArraySetter(flow_graph,
+                                       GrowableObjectArray::data_offset(),
+                                       kEmitStoreBarrier, call, entry, last);
     case MethodRecognizer::kGrowableArraySetLength:
       ASSERT(receiver_cid == kGrowableObjectArrayCid);
       ASSERT(ic_data.NumberOfChecks() == 1);
-      return InlineGrowableArraySetter(
-          flow_graph, GrowableObjectArray::length_offset(), kNoStoreBarrier,
-          call, entry, last);
+      return InlineGrowableArraySetter(flow_graph,
+                                       GrowableObjectArray::length_offset(),
+                                       kNoStoreBarrier, call, entry, last);
     case MethodRecognizer::kSmi_bitAndFromSmi:
       return InlineSmiBitAndFromSmi(flow_graph, call, entry, last);
 
@@ -3787,8 +3509,8 @@
       return InlineMathCFunction(flow_graph, call, kind, entry, last);
 
     case MethodRecognizer::kObjectConstructor: {
-      *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                       call->GetBlock()->try_index());
+      *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                        call->GetBlock()->try_index());
       (*entry)->InheritDeoptTarget(Z, call);
       ASSERT(!call->HasUses());
       *last = NULL;  // Empty body.
@@ -3796,22 +3518,21 @@
     }
 
     case MethodRecognizer::kObjectArrayAllocate: {
-      Value* num_elements = new(Z) Value(call->ArgumentAt(1));
+      Value* num_elements = new (Z) Value(call->ArgumentAt(1));
       if (num_elements->BindsToConstant() &&
           num_elements->BoundConstant().IsSmi()) {
-        intptr_t length =
-            Smi::Cast(num_elements->BoundConstant()).Value();
+        intptr_t length = Smi::Cast(num_elements->BoundConstant()).Value();
         if (length >= 0 && length <= Array::kMaxElements) {
-          Value* type = new(Z) Value(call->ArgumentAt(0));
-          *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                           call->GetBlock()->try_index());
+          Value* type = new (Z) Value(call->ArgumentAt(0));
+          *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                            call->GetBlock()->try_index());
           (*entry)->InheritDeoptTarget(Z, call);
           *last =
-              new(Z) CreateArrayInstr(call->token_pos(), type, num_elements);
-          flow_graph->AppendTo(*entry, *last,
-                               call->deopt_id() != Thread::kNoDeoptId ?
-                               call->env() : NULL,
-                               FlowGraph::kValue);
+              new (Z) CreateArrayInstr(call->token_pos(), type, num_elements);
+          flow_graph->AppendTo(
+              *entry, *last,
+              call->deopt_id() != Thread::kNoDeoptId ? call->env() : NULL,
+              FlowGraph::kValue);
           return true;
         }
       }
@@ -3827,23 +3548,23 @@
       } else if (RawObject::IsIntegerClassId(receiver_cid)) {
         type = Type::IntType();
       } else if (receiver_cid != kClosureCid) {
-        const Class& cls = Class::Handle(Z,
-            flow_graph->isolate()->class_table()->At(receiver_cid));
+        const Class& cls = Class::Handle(
+            Z, flow_graph->isolate()->class_table()->At(receiver_cid));
         if (!cls.IsGeneric()) {
           type = cls.CanonicalType();
         }
       }
 
       if (!type.IsNull()) {
-          *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                           call->GetBlock()->try_index());
-          (*entry)->InheritDeoptTarget(Z, call);
-          *last = new(Z) ConstantInstr(type);
-          flow_graph->AppendTo(*entry, *last,
-                               call->deopt_id() != Thread::kNoDeoptId ?
-                               call->env() : NULL,
-                               FlowGraph::kValue);
-          return true;
+        *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                          call->GetBlock()->try_index());
+        (*entry)->InheritDeoptTarget(Z, call);
+        *last = new (Z) ConstantInstr(type);
+        flow_graph->AppendTo(
+            *entry, *last,
+            call->deopt_id() != Thread::kNoDeoptId ? call->env() : NULL,
+            FlowGraph::kValue);
+        return true;
       }
       return false;
     }
@@ -3851,27 +3572,22 @@
     case MethodRecognizer::kOneByteStringSetAt: {
       // This is an internal method, no need to check argument types nor
       // range.
-      *entry = new(Z) TargetEntryInstr(flow_graph->allocate_block_id(),
-                                       call->GetBlock()->try_index());
+      *entry = new (Z) TargetEntryInstr(flow_graph->allocate_block_id(),
+                                        call->GetBlock()->try_index());
       (*entry)->InheritDeoptTarget(Z, call);
       Definition* str = call->ArgumentAt(0);
       Definition* index = call->ArgumentAt(1);
       Definition* value = call->ArgumentAt(2);
-      *last = new(Z) StoreIndexedInstr(
-          new(Z) Value(str),
-          new(Z) Value(index),
-          new(Z) Value(value),
-          kNoStoreBarrier,
-          1,  // Index scale
-          kOneByteStringCid,
-          kAlignedAccess,
-          call->deopt_id(),
-          call->token_pos());
-      flow_graph->AppendTo(*entry,
-                           *last,
-                           call->deopt_id() != Thread::kNoDeoptId ?
-                              call->env() : NULL,
-                           FlowGraph::kEffect);
+      *last =
+          new (Z) StoreIndexedInstr(new (Z) Value(str), new (Z) Value(index),
+                                    new (Z) Value(value), kNoStoreBarrier,
+                                    1,  // Index scale
+                                    kOneByteStringCid, kAlignedAccess,
+                                    call->deopt_id(), call->token_pos());
+      flow_graph->AppendTo(
+          *entry, *last,
+          call->deopt_id() != Thread::kNoDeoptId ? call->env() : NULL,
+          FlowGraph::kEffect);
       return true;
     }
 
diff --git a/runtime/vm/flow_graph_range_analysis.cc b/runtime/vm/flow_graph_range_analysis.cc
index 1e7afbd..28ec325 100644
--- a/runtime/vm/flow_graph_range_analysis.cc
+++ b/runtime/vm/flow_graph_range_analysis.cc
@@ -9,11 +9,15 @@
 
 namespace dart {
 
-DEFINE_FLAG(bool, array_bounds_check_elimination, true,
-    "Eliminate redundant bounds checks.");
+DEFINE_FLAG(bool,
+            array_bounds_check_elimination,
+            true,
+            "Eliminate redundant bounds checks.");
 DEFINE_FLAG(bool, trace_range_analysis, false, "Trace range analysis progress");
-DEFINE_FLAG(bool, trace_integer_ir_selection, false,
-    "Print integer IR selection optimization pass.");
+DEFINE_FLAG(bool,
+            trace_integer_ir_selection,
+            false,
+            "Print integer IR selection optimization pass.");
 DECLARE_FLAG(bool, trace_constant_propagation);
 
 // Quick access to the locally defined isolate() and zone() methods.
@@ -81,7 +85,7 @@
         initial_value_(initial_value),
         increment_(increment),
         limit_(limit),
-        bound_(NULL) { }
+        bound_(NULL) {}
 
   PhiInstr* phi() const { return phi_; }
   Definition* initial_value() const { return initial_value_; }
@@ -108,8 +112,7 @@
 static ConstraintInstr* FindBoundingConstraint(PhiInstr* phi,
                                                Definition* defn) {
   ConstraintInstr* limit = NULL;
-  for (ConstraintInstr* constraint = defn->AsConstraint();
-       constraint != NULL;
+  for (ConstraintInstr* constraint = defn->AsConstraint(); constraint != NULL;
        constraint = constraint->value()->definition()->AsConstraint()) {
     if (constraint->target() == NULL) {
       continue;  // Only interested in non-artifical constraints.
@@ -140,25 +143,22 @@
 
   const intptr_t backedge_idx =
       loop_info->Contains(phi->block()->PredecessorAt(0)->preorder_number())
-          ? 0 : 1;
+          ? 0
+          : 1;
 
-  Definition* initial_value =
-      phi->InputAt(1 - backedge_idx)->definition();
+  Definition* initial_value = phi->InputAt(1 - backedge_idx)->definition();
 
   BinarySmiOpInstr* increment =
-      UnwrapConstraint(phi->InputAt(backedge_idx)->definition())->
-          AsBinarySmiOp();
+      UnwrapConstraint(phi->InputAt(backedge_idx)->definition())
+          ->AsBinarySmiOp();
 
-  if ((increment != NULL) &&
-      (increment->op_kind() == Token::kADD) &&
+  if ((increment != NULL) && (increment->op_kind() == Token::kADD) &&
       (UnwrapConstraint(increment->left()->definition()) == phi) &&
       increment->right()->BindsToConstant() &&
       increment->right()->BoundConstant().IsSmi() &&
       (Smi::Cast(increment->right()->BoundConstant()).Value() == 1)) {
     return new InductionVariableInfo(
-        phi,
-        initial_value,
-        increment,
+        phi, initial_value, increment,
         FindBoundingConstraint(phi, increment->left()->definition()));
   }
 
@@ -170,8 +170,7 @@
   GrowableArray<InductionVariableInfo*> loop_variables;
 
   for (BlockIterator block_it = flow_graph_->reverse_postorder_iterator();
-       !block_it.Done();
-       block_it.Advance()) {
+       !block_it.Done(); block_it.Advance()) {
     BlockEntryInstr* block = block_it.Current();
 
     JoinEntryInstr* join = block->AsJoinEntry();
@@ -185,9 +184,8 @@
         if (info != NULL) {
           if (FLAG_support_il_printer && FLAG_trace_range_analysis) {
             THR_Print("Simple loop variable: %s bound <%s>\n",
-                       current->ToCString(),
-                       info->limit() != NULL ?
-                           info->limit()->ToCString() : "?");
+                      current->ToCString(),
+                      info->limit() != NULL ? info->limit()->ToCString() : "?");
           }
 
           loop_variables.Add(info);
@@ -225,15 +223,15 @@
   }
 
   for (BlockIterator block_it = flow_graph_->reverse_postorder_iterator();
-       !block_it.Done();
-       block_it.Advance()) {
+       !block_it.Done(); block_it.Advance()) {
     BlockEntryInstr* block = block_it.Current();
 
 
     if (block->IsGraphEntry() || block->IsCatchBlockEntry()) {
-      const GrowableArray<Definition*>& initial = block->IsGraphEntry()
-          ? *block->AsGraphEntry()->initial_definitions()
-          : *block->AsCatchBlockEntry()->initial_definitions();
+      const GrowableArray<Definition*>& initial =
+          block->IsGraphEntry()
+              ? *block->AsGraphEntry()->initial_definitions()
+              : *block->AsCatchBlockEntry()->initial_definitions();
       for (intptr_t i = 0; i < initial.length(); ++i) {
         Definition* current = initial[i];
         if (IsIntegerDefinition(current)) {
@@ -252,8 +250,7 @@
       }
     }
 
-    for (ForwardInstructionIterator instr_it(block);
-         !instr_it.Done();
+    for (ForwardInstructionIterator instr_it(block); !instr_it.Done();
          instr_it.Advance()) {
       Instruction* current = instr_it.Current();
       Definition* defn = current->AsDefinition();
@@ -305,9 +302,7 @@
 void RangeAnalysis::RenameDominatedUses(Definition* def,
                                         Instruction* dom,
                                         Definition* other) {
-  for (Value::Iterator it(def->input_use_list());
-       !it.Done();
-       it.Advance()) {
+  for (Value::Iterator it(def->input_use_list()); !it.Done(); it.Advance()) {
     Value* use = it.Current();
 
     // Skip dead phis.
@@ -324,12 +319,18 @@
 // comparison: a (op) b === b (op') a.
 static Token::Kind FlipComparison(Token::Kind op) {
   switch (op) {
-    case Token::kEQ: return Token::kEQ;
-    case Token::kNE: return Token::kNE;
-    case Token::kLT: return Token::kGT;
-    case Token::kGT: return Token::kLT;
-    case Token::kLTE: return Token::kGTE;
-    case Token::kGTE: return Token::kLTE;
+    case Token::kEQ:
+      return Token::kEQ;
+    case Token::kNE:
+      return Token::kNE;
+    case Token::kLT:
+      return Token::kGT;
+    case Token::kGT:
+      return Token::kLT;
+    case Token::kLTE:
+      return Token::kGTE;
+    case Token::kGTE:
+      return Token::kLTE;
     default:
       UNREACHABLE();
       return Token::kILLEGAL;
@@ -345,22 +346,22 @@
 Range* RangeAnalysis::ConstraintSmiRange(Token::Kind op, Definition* boundary) {
   switch (op) {
     case Token::kEQ:
-      return new(Z) Range(RangeBoundary::FromDefinition(boundary),
-                          RangeBoundary::FromDefinition(boundary));
+      return new (Z) Range(RangeBoundary::FromDefinition(boundary),
+                           RangeBoundary::FromDefinition(boundary));
     case Token::kNE:
-      return new(Z) Range(Range::Full(RangeBoundary::kRangeBoundarySmi));
+      return new (Z) Range(Range::Full(RangeBoundary::kRangeBoundarySmi));
     case Token::kLT:
-      return new(Z) Range(RangeBoundary::MinSmi(),
-                          RangeBoundary::FromDefinition(boundary, -1));
+      return new (Z) Range(RangeBoundary::MinSmi(),
+                           RangeBoundary::FromDefinition(boundary, -1));
     case Token::kGT:
-      return new(Z) Range(RangeBoundary::FromDefinition(boundary, 1),
-                          RangeBoundary::MaxSmi());
+      return new (Z) Range(RangeBoundary::FromDefinition(boundary, 1),
+                           RangeBoundary::MaxSmi());
     case Token::kLTE:
-      return new(Z) Range(RangeBoundary::MinSmi(),
-                          RangeBoundary::FromDefinition(boundary));
+      return new (Z) Range(RangeBoundary::MinSmi(),
+                           RangeBoundary::FromDefinition(boundary));
     case Token::kGTE:
-      return new(Z) Range(RangeBoundary::FromDefinition(boundary),
-                          RangeBoundary::MaxSmi());
+      return new (Z) Range(RangeBoundary::FromDefinition(boundary),
+                           RangeBoundary::MaxSmi());
     default:
       UNREACHABLE();
       return NULL;
@@ -386,8 +387,7 @@
     constraint = constraint->next()->AsConstraint();
   }
 
-  constraint = new(Z) ConstraintInstr(
-      use->CopyWithType(), constraint_range);
+  constraint = new (Z) ConstraintInstr(use->CopyWithType(), constraint_range);
 
   flow_graph_->InsertAfter(after, constraint, NULL, FlowGraph::kValue);
   RenameDominatedUses(defn, constraint, constraint);
@@ -417,21 +417,17 @@
 
     // Constrain definition at the true successor.
     ConstraintInstr* true_constraint =
-        InsertConstraintFor(use,
-                            defn,
-                            ConstraintSmiRange(op_kind, boundary),
+        InsertConstraintFor(use, defn, ConstraintSmiRange(op_kind, boundary),
                             branch->true_successor());
     if (true_constraint != NULL) {
       true_constraint->set_target(branch->true_successor());
     }
 
     // Constrain definition with a negated condition at the false successor.
-    ConstraintInstr* false_constraint =
-        InsertConstraintFor(
-            use,
-            defn,
-            ConstraintSmiRange(Token::NegateComparison(op_kind), boundary),
-            branch->false_successor());
+    ConstraintInstr* false_constraint = InsertConstraintFor(
+        use, defn,
+        ConstraintSmiRange(Token::NegateComparison(op_kind), boundary),
+        branch->false_successor());
     if (false_constraint != NULL) {
       false_constraint->set_target(branch->false_successor());
     }
@@ -444,8 +440,7 @@
 
 
 void RangeAnalysis::InsertConstraintsFor(Definition* defn) {
-  for (Value* use = defn->input_use_list();
-       use != NULL;
+  for (Value* use = defn->input_use_list(); use != NULL;
        use = use->next_use()) {
     if (use->instruction()->IsBranch()) {
       if (ConstrainValueAfterBranch(use, defn)) {
@@ -461,24 +456,21 @@
 }
 
 
-void RangeAnalysis::ConstrainValueAfterCheckArrayBound(
-    Value* use,
-    Definition* defn) {
+void RangeAnalysis::ConstrainValueAfterCheckArrayBound(Value* use,
+                                                       Definition* defn) {
   CheckArrayBoundInstr* check = use->instruction()->AsCheckArrayBound();
   intptr_t use_index = use->use_index();
 
   Range* constraint_range = NULL;
   if (use_index == CheckArrayBoundInstr::kIndexPos) {
     Definition* length = check->length()->definition();
-    constraint_range = new(Z) Range(
-        RangeBoundary::FromConstant(0),
-        RangeBoundary::FromDefinition(length, -1));
+    constraint_range = new (Z) Range(RangeBoundary::FromConstant(0),
+                                     RangeBoundary::FromDefinition(length, -1));
   } else {
     ASSERT(use_index == CheckArrayBoundInstr::kLengthPos);
     Definition* index = check->index()->definition();
-    constraint_range = new(Z) Range(
-        RangeBoundary::FromDefinition(index, 1),
-        RangeBoundary::MaxSmi());
+    constraint_range = new (Z)
+        Range(RangeBoundary::FromDefinition(index, 1), RangeBoundary::MaxSmi());
   }
   InsertConstraintFor(use, defn, constraint_range, check);
 }
@@ -543,17 +535,14 @@
   a = UnwrapConstraint(a);
   b = UnwrapConstraint(b);
   return (a == b) ||
-      (a->AllowsCSE() &&
-       a->Dependencies().IsNone() &&
-       b->AllowsCSE() &&
-       b->Dependencies().IsNone() &&
-       a->Equals(b));
+         (a->AllowsCSE() && a->Dependencies().IsNone() && b->AllowsCSE() &&
+          b->Dependencies().IsNone() && a->Equals(b));
 }
 
 
 static bool DependOnSameSymbol(const RangeBoundary& a, const RangeBoundary& b) {
   return a.IsSymbol() && b.IsSymbol() &&
-      AreEqualDefinitions(a.symbol(), b.symbol());
+         AreEqualDefinitions(a.symbol(), b.symbol());
 }
 
 
@@ -570,8 +559,9 @@
     if (min.LowerBound().Overflowed(size)) {
       return RangeBoundary::MinConstant(size);
     } else if (DependOnSameSymbol(min, new_min)) {
-      return min.offset() <= new_min.offset() ?
-          min : RangeBoundary::MinConstant(size);
+      return min.offset() <= new_min.offset()
+                 ? min
+                 : RangeBoundary::MinConstant(size);
     } else if (min.UpperBound(size) <= new_min.LowerBound(size)) {
       return min;
     }
@@ -580,8 +570,9 @@
   min = Range::ConstantMin(range, size);
   new_min = Range::ConstantMin(new_range, size);
 
-  return (min.ConstantValue() <= new_min.ConstantValue()) ?
-      min : RangeBoundary::MinConstant(size);
+  return (min.ConstantValue() <= new_min.ConstantValue())
+             ? min
+             : RangeBoundary::MinConstant(size);
 }
 
 // Given the current range of a phi and a newly computed range check
@@ -597,8 +588,9 @@
     if (max.UpperBound().Overflowed(size)) {
       return RangeBoundary::MaxConstant(size);
     } else if (DependOnSameSymbol(max, new_max)) {
-      return max.offset() >= new_max.offset() ?
-          max : RangeBoundary::MaxConstant(size);
+      return max.offset() >= new_max.offset()
+                 ? max
+                 : RangeBoundary::MaxConstant(size);
     } else if (max.LowerBound(size) >= new_max.UpperBound(size)) {
       return max;
     }
@@ -607,8 +599,9 @@
   max = Range::ConstantMax(range, size);
   new_max = Range::ConstantMax(new_range, size);
 
-  return (max.ConstantValue() >= new_max.ConstantValue()) ?
-      max : RangeBoundary::MaxConstant(size);
+  return (max.ConstantValue() >= new_max.ConstantValue())
+             ? max
+             : RangeBoundary::MaxConstant(size);
 }
 
 
@@ -650,9 +643,12 @@
 
 char RangeAnalysis::OpPrefix(JoinOperator op) {
   switch (op) {
-    case WIDEN: return 'W';
-    case NARROW: return 'N';
-    case NONE: return 'I';
+    case WIDEN:
+      return 'W';
+    case NARROW:
+      return 'N';
+    case NONE:
+      return 'I';
   }
   UNREACHABLE();
   return ' ';
@@ -695,11 +691,8 @@
     if (!range.Equals(defn->range())) {
 #ifndef PRODUCT
       if (FLAG_support_il_printer && FLAG_trace_range_analysis) {
-        THR_Print("%c [%" Pd "] %s:  %s => %s\n",
-                  OpPrefix(op),
-                  iteration,
-                  defn->ToCString(),
-                  Range::ToCString(defn->range()),
+        THR_Print("%c [%" Pd "] %s:  %s => %s\n", OpPrefix(op), iteration,
+                  defn->ToCString(), Range::ToCString(defn->range()),
                   Range::ToCString(&range));
       }
 #endif  // !PRODUCT
@@ -714,8 +707,7 @@
 
 void RangeAnalysis::CollectDefinitions(BitVector* set) {
   for (BlockIterator block_it = flow_graph_->reverse_postorder_iterator();
-       !block_it.Done();
-       block_it.Advance()) {
+       !block_it.Done(); block_it.Advance()) {
     BlockEntryInstr* block = block_it.Current();
 
     JoinEntryInstr* join = block->AsJoinEntry();
@@ -730,8 +722,7 @@
 
     for (ForwardInstructionIterator it(block); !it.Done(); it.Advance()) {
       Definition* defn = it.Current()->AsDefinition();
-      if ((defn != NULL) &&
-          defn->HasSSATemp() &&
+      if ((defn != NULL) && defn->HasSSATemp() &&
           set->Contains(defn->ssa_temp_index())) {
         definitions_.Add(defn);
       }
@@ -764,8 +755,8 @@
   }
   Zone* zone = flow_graph_->zone();
   // Initialize bitvector for quick filtering of int values.
-  BitVector* set = new(zone) BitVector(zone,
-      flow_graph_->current_ssa_temp_index());
+  BitVector* set =
+      new (zone) BitVector(zone, flow_graph_->current_ssa_temp_index());
   for (intptr_t i = 0; i < values_.length(); i++) {
     set->Add(values_[i]->ssa_temp_index());
   }
@@ -857,9 +848,7 @@
   }
 
   // Clear the list of emitted instructions.
-  void Start() {
-    emitted_.Clear();
-  }
+  void Start() { emitted_.Clear(); }
 
   // Given the floating instruction attempt to schedule it into one of the
   // loop preheaders that dominates given post_dominator instruction.
@@ -868,7 +857,7 @@
   // any loop containing post_dominator).
   // Resulting schedule should be equivalent to one obtained by inserting
   // instructions right before post_dominator and running CSE and LICM passes.
-  template<typename T>
+  template <typename T>
   T* Emit(T* instruction, Instruction* post_dominator) {
     return static_cast<T*>(EmitRecursively(instruction, post_dominator));
   }
@@ -882,10 +871,9 @@
   }
 
  private:
-  typedef DirectChainedHashMap<PointerKeyValueTrait<Instruction> >  Map;
+  typedef DirectChainedHashMap<PointerKeyValueTrait<Instruction> > Map;
 
-  Instruction* EmitRecursively(Instruction* instruction,
-                               Instruction* sink) {
+  Instruction* EmitRecursively(Instruction* instruction, Instruction* sink) {
     // Schedule all unscheduled inputs and unwrap all constrained inputs.
     for (intptr_t i = 0; i < instruction->InputCount(); i++) {
       Definition* defn = instruction->InputAt(i)->definition();
@@ -913,8 +901,7 @@
     // If the instruction is still in the graph (it could have been
     // un-scheduled by a rollback action) and it dominates the sink - use it.
     Instruction* emitted = map_.LookupValue(instruction);
-    if (emitted != NULL &&
-        !emitted->WasEliminated() &&
+    if (emitted != NULL && !emitted->WasEliminated() &&
         sink->IsDominatedBy(emitted)) {
       return emitted;
     }
@@ -955,11 +942,9 @@
 
   void EmitTo(BlockEntryInstr* block, Instruction* instr) {
     GotoInstr* last = block->last_instruction()->AsGoto();
-    flow_graph_->InsertBefore(last,
-                              instr,
-                              last->env(),
-                              instr->IsDefinition() ? FlowGraph::kValue
-                                                    : FlowGraph::kEffect);
+    flow_graph_->InsertBefore(
+        last, instr, last->env(),
+        instr->IsDefinition() ? FlowGraph::kValue : FlowGraph::kEffect);
     instr->CopyDeoptIdFrom(*last);
     instr->env()->set_deopt_id(instr->deopt_id_);
 
@@ -986,11 +971,10 @@
 // operations.
 class BoundsCheckGeneralizer {
  public:
-  BoundsCheckGeneralizer(RangeAnalysis* range_analysis,
-                         FlowGraph* flow_graph)
+  BoundsCheckGeneralizer(RangeAnalysis* range_analysis, FlowGraph* flow_graph)
       : range_analysis_(range_analysis),
         flow_graph_(flow_graph),
-        scheduler_(flow_graph) { }
+        scheduler_(flow_graph) {}
 
   void TryGeneralize(CheckArrayBoundInstr* check,
                      const RangeBoundary& array_length) {
@@ -1026,10 +1010,10 @@
     if (!FindNonPositiveSymbols(&non_positive_symbols, upper_bound)) {
 #ifndef PRODUCT
       if (FLAG_support_il_printer && FLAG_trace_range_analysis) {
-        THR_Print("Failed to generalize %s index to %s"
-                  " (can't ensure positivity)\n",
-                  check->ToCString(),
-                  IndexBoundToCString(upper_bound));
+        THR_Print(
+            "Failed to generalize %s index to %s"
+            " (can't ensure positivity)\n",
+            check->ToCString(), IndexBoundToCString(upper_bound));
       }
 #endif  // !PRODUCT
       return;
@@ -1040,32 +1024,31 @@
     // symbols are positive.
     GrowableArray<ConstraintInstr*> positive_constraints(
         non_positive_symbols.length());
-    Range* positive_range = new Range(
-        RangeBoundary::FromConstant(0),
-        RangeBoundary::MaxConstant(RangeBoundary::kRangeBoundarySmi));
+    Range* positive_range =
+        new Range(RangeBoundary::FromConstant(0),
+                  RangeBoundary::MaxConstant(RangeBoundary::kRangeBoundarySmi));
     for (intptr_t i = 0; i < non_positive_symbols.length(); i++) {
       Definition* symbol = non_positive_symbols[i];
-      positive_constraints.Add(new ConstraintInstr(
-          new Value(symbol),
-          positive_range));
+      positive_constraints.Add(
+          new ConstraintInstr(new Value(symbol), positive_range));
     }
 
     Definition* lower_bound =
-      ConstructLowerBound(check->index()->definition(), check);
+        ConstructLowerBound(check->index()->definition(), check);
     // No need to simplify lower bound before applying constraints as
     // we are not going to emit it.
     lower_bound = ApplyConstraints(lower_bound, check, &positive_constraints);
     range_analysis_->AssignRangesRecursively(lower_bound);
 
     if (!RangeUtils::IsPositive(lower_bound->range())) {
-      // Can't prove that lower bound is positive even with additional checks
-      // against potentially non-positive symbols. Give up.
+// Can't prove that lower bound is positive even with additional checks
+// against potentially non-positive symbols. Give up.
 #ifndef PRODUCT
       if (FLAG_support_il_printer && FLAG_trace_range_analysis) {
-        THR_Print("Failed to generalize %s index to %s"
-                  " (lower bound is not positive)\n",
-                  check->ToCString(),
-                  IndexBoundToCString(upper_bound));
+        THR_Print(
+            "Failed to generalize %s index to %s"
+            " (lower bound is not positive)\n",
+            check->ToCString(), IndexBoundToCString(upper_bound));
       }
 #endif  // !PRODUCT
       return;
@@ -1073,8 +1056,7 @@
 
 #ifndef PRODUCT
     if (FLAG_support_il_printer && FLAG_trace_range_analysis) {
-      THR_Print("For %s computed index bounds [%s, %s]\n",
-                check->ToCString(),
+      THR_Print("For %s computed index bounds [%s, %s]\n", check->ToCString(),
                 IndexBoundToCString(lower_bound),
                 IndexBoundToCString(upper_bound));
     }
@@ -1088,8 +1070,7 @@
         flow_graph_->GetConstant(Smi::Handle(Smi::New(Smi::kMaxValue)));
     for (intptr_t i = 0; i < non_positive_symbols.length(); i++) {
       CheckArrayBoundInstr* precondition = new CheckArrayBoundInstr(
-          new Value(max_smi),
-          new Value(non_positive_symbols[i]),
+          new Value(max_smi), new Value(non_positive_symbols[i]),
           Thread::kNoDeoptId);
       precondition->mark_generalized();
       precondition = scheduler_.Emit(precondition, check);
@@ -1103,9 +1084,8 @@
     }
 
     CheckArrayBoundInstr* new_check = new CheckArrayBoundInstr(
-          new Value(UnwrapConstraint(check->length()->definition())),
-          new Value(upper_bound),
-          Thread::kNoDeoptId);
+        new Value(UnwrapConstraint(check->length()->definition())),
+        new Value(upper_bound), Thread::kNoDeoptId);
     new_check->mark_generalized();
     if (new_check->IsRedundant(array_length)) {
       if (FLAG_trace_range_analysis) {
@@ -1131,8 +1111,7 @@
   }
 
   static void RemoveGeneralizedCheck(CheckArrayBoundInstr* check) {
-    BinarySmiOpInstr* binary_op =
-        check->index()->definition()->AsBinarySmiOp();
+    BinarySmiOpInstr* binary_op = check->index()->definition()->AsBinarySmiOp();
     if (binary_op != NULL) {
       binary_op->set_can_overflow(false);
     }
@@ -1143,9 +1122,7 @@
   BinarySmiOpInstr* MakeBinaryOp(Token::Kind op_kind,
                                  Definition* left,
                                  Definition* right) {
-    return new BinarySmiOpInstr(op_kind,
-                                new Value(left),
-                                new Value(right),
+    return new BinarySmiOpInstr(op_kind, new Value(left), new Value(right),
                                 Thread::kNoDeoptId);
   }
 
@@ -1167,21 +1144,19 @@
     }
   }
 
-  typedef Definition* (BoundsCheckGeneralizer::*PhiBoundFunc)(
-      PhiInstr*, Instruction*);
+  typedef Definition* (BoundsCheckGeneralizer::*PhiBoundFunc)(PhiInstr*,
+                                                              Instruction*);
 
   // Construct symbolic lower bound for a value at the given point.
   Definition* ConstructLowerBound(Definition* value, Instruction* point) {
     return ConstructBound(&BoundsCheckGeneralizer::InductionVariableLowerBound,
-                          value,
-                          point);
+                          value, point);
   }
 
   // Construct symbolic upper bound for a value at the given point.
   Definition* ConstructUpperBound(Definition* value, Instruction* point) {
     return ConstructBound(&BoundsCheckGeneralizer::InductionVariableUpperBound,
-                          value,
-                          point);
+                          value, point);
   }
 
   // Construct symbolic bound for a value at the given point:
@@ -1212,11 +1187,11 @@
           (bin_op->op_kind() == Token::kSUB)) {
         Definition* new_left =
             ConstructBound(phi_bound_func, bin_op->left()->definition(), point);
-        Definition* new_right = (bin_op->op_kind() != Token::kSUB)
-            ? ConstructBound(phi_bound_func,
-                             bin_op->right()->definition(),
-                             point)
-            : UnwrapConstraint(bin_op->right()->definition());
+        Definition* new_right =
+            (bin_op->op_kind() != Token::kSUB)
+                ? ConstructBound(phi_bound_func, bin_op->right()->definition(),
+                                 point)
+                : UnwrapConstraint(bin_op->right()->definition());
 
         if ((new_left != UnwrapConstraint(bin_op->left()->definition())) ||
             (new_right != UnwrapConstraint(bin_op->right()->definition()))) {
@@ -1228,8 +1203,7 @@
     return value;
   }
 
-  Definition* InductionVariableUpperBound(PhiInstr* phi,
-                                          Instruction* point) {
+  Definition* InductionVariableUpperBound(PhiInstr* phi, Instruction* point) {
     const InductionVariableInfo& info = *phi->induction_variable_info();
     if (info.bound() == phi) {
       if (point->IsDominatedBy(info.limit())) {
@@ -1255,13 +1229,11 @@
         //
         //          y <= y0 + (M - x0)
         //
-        Definition* limit = RangeBoundaryToDefinition(
-            bound_info.limit()->constraint()->max());
-        BinarySmiOpInstr* loop_length =
-            MakeBinaryOp(Token::kSUB,
-                         ConstructUpperBound(limit, point),
-                         ConstructLowerBound(bound_info.initial_value(),
-                                             point));
+        Definition* limit =
+            RangeBoundaryToDefinition(bound_info.limit()->constraint()->max());
+        BinarySmiOpInstr* loop_length = MakeBinaryOp(
+            Token::kSUB, ConstructUpperBound(limit, point),
+            ConstructLowerBound(bound_info.initial_value(), point));
         return MakeBinaryOp(Token::kADD,
                             ConstructUpperBound(info.initial_value(), point),
                             loop_length);
@@ -1271,8 +1243,7 @@
     return phi;
   }
 
-  Definition* InductionVariableLowerBound(PhiInstr* phi,
-                                          Instruction* point) {
+  Definition* InductionVariableLowerBound(PhiInstr* phi, Instruction* point) {
     // Given induction variable
     //
     //          x <- phi(x0, x + 1)
@@ -1396,8 +1367,7 @@
           if (right_changed) binary_op->right()->set_definition(right);
           *defn = binary_op;
         } else {
-          *defn = MakeBinaryOp(binary_op->op_kind(),
-                               UnwrapConstraint(left),
+          *defn = MakeBinaryOp(binary_op->op_kind(), UnwrapConstraint(left),
                                UnwrapConstraint(right));
         }
       }
@@ -1448,7 +1418,7 @@
       }
 
       return FindNonPositiveSymbols(symbols, binary_op->left()->definition()) &&
-        FindNonPositiveSymbols(symbols, binary_op->right()->definition());
+             FindNonPositiveSymbols(symbols, binary_op->right()->definition());
     }
     UNREACHABLE();
     return false;
@@ -1458,8 +1428,7 @@
   // instruction.
   static Definition* FindInnermostConstraint(Definition* defn,
                                              Instruction* post_dominator) {
-    for (Value* use = defn->input_use_list();
-         use != NULL;
+    for (Value* use = defn->input_use_list(); use != NULL;
          use = use->next_use()) {
       ConstraintInstr* constraint = use->instruction()->AsConstraint();
       if ((constraint != NULL) && post_dominator->IsDominatedBy(constraint)) {
@@ -1492,10 +1461,8 @@
     }
 
     for (intptr_t i = 0; i < defn->InputCount(); i++) {
-      defn->InputAt(i)->set_definition(
-          ApplyConstraints(defn->InputAt(i)->definition(),
-                           post_dominator,
-                           constraints));
+      defn->InputAt(i)->set_definition(ApplyConstraints(
+          defn->InputAt(i)->definition(), post_dominator, constraints));
     }
 
     return defn;
@@ -1542,8 +1509,7 @@
     // check earlier, or we're compiling precompiled code (no
     // optimistic hoisting of checks possible)
     const bool try_generalization =
-        function.allows_bounds_check_generalization() &&
-        !FLAG_precompiled_mode;
+        function.allows_bounds_check_generalization() && !FLAG_precompiled_mode;
 
     BoundsCheckGeneralizer generalizer(this, flow_graph_);
 
@@ -1617,17 +1583,14 @@
 static void NarrowBinaryMintOp(BinaryMintOpInstr* mint_op) {
   if (RangeUtils::Fits(mint_op->range(), RangeBoundary::kRangeBoundaryInt32) &&
       RangeUtils::Fits(mint_op->left()->definition()->range(),
-                  RangeBoundary::kRangeBoundaryInt32) &&
+                       RangeBoundary::kRangeBoundaryInt32) &&
       RangeUtils::Fits(mint_op->right()->definition()->range(),
-                  RangeBoundary::kRangeBoundaryInt32) &&
-      BinaryInt32OpInstr::IsSupported(mint_op->op_kind(),
-                                      mint_op->left(),
+                       RangeBoundary::kRangeBoundaryInt32) &&
+      BinaryInt32OpInstr::IsSupported(mint_op->op_kind(), mint_op->left(),
                                       mint_op->right())) {
-    BinaryInt32OpInstr* int32_op =
-        new BinaryInt32OpInstr(mint_op->op_kind(),
-                               mint_op->left()->CopyWithType(),
-                               mint_op->right()->CopyWithType(),
-                               mint_op->DeoptimizationTarget());
+    BinaryInt32OpInstr* int32_op = new BinaryInt32OpInstr(
+        mint_op->op_kind(), mint_op->left()->CopyWithType(),
+        mint_op->right()->CopyWithType(), mint_op->DeoptimizationTarget());
     int32_op->set_range(*mint_op->range());
     int32_op->set_can_overflow(false);
     mint_op->ReplaceWith(int32_op, NULL);
@@ -1638,17 +1601,14 @@
 static void NarrowShiftMintOp(ShiftMintOpInstr* mint_op) {
   if (RangeUtils::Fits(mint_op->range(), RangeBoundary::kRangeBoundaryInt32) &&
       RangeUtils::Fits(mint_op->left()->definition()->range(),
-                  RangeBoundary::kRangeBoundaryInt32) &&
+                       RangeBoundary::kRangeBoundaryInt32) &&
       RangeUtils::Fits(mint_op->right()->definition()->range(),
-                  RangeBoundary::kRangeBoundaryInt32) &&
-      BinaryInt32OpInstr::IsSupported(mint_op->op_kind(),
-                                      mint_op->left(),
+                       RangeBoundary::kRangeBoundaryInt32) &&
+      BinaryInt32OpInstr::IsSupported(mint_op->op_kind(), mint_op->left(),
                                       mint_op->right())) {
-    BinaryInt32OpInstr* int32_op =
-        new BinaryInt32OpInstr(mint_op->op_kind(),
-                               mint_op->left()->CopyWithType(),
-                               mint_op->right()->CopyWithType(),
-                               mint_op->DeoptimizationTarget());
+    BinaryInt32OpInstr* int32_op = new BinaryInt32OpInstr(
+        mint_op->op_kind(), mint_op->left()->CopyWithType(),
+        mint_op->right()->CopyWithType(), mint_op->DeoptimizationTarget());
     int32_op->set_range(*mint_op->range());
     int32_op->set_can_overflow(false);
     mint_op->ReplaceWith(int32_op, NULL);
@@ -1672,7 +1632,7 @@
   ASSERT(flow_graph_ != NULL);
   zone_ = flow_graph_->zone();
   selected_uint32_defs_ =
-      new(zone_) BitVector(zone_, flow_graph_->current_ssa_temp_index());
+      new (zone_) BitVector(zone_, flow_graph_->current_ssa_temp_index());
 }
 
 
@@ -1696,11 +1656,8 @@
   // TODO(johnmccutchan): Consider Smi operations, to avoid unnecessary tagging
   // & untagged of intermediate results.
   // TODO(johnmccutchan): Consider phis.
-  return def->IsBoxInt64() ||
-         def->IsUnboxInt64() ||
-         def->IsBinaryMintOp() ||
-         def->IsShiftMintOp()  ||
-         def->IsUnaryMintOp();
+  return def->IsBoxInt64() || def->IsUnboxInt64() || def->IsBinaryMintOp() ||
+         def->IsShiftMintOp() || def->IsUnaryMintOp();
 }
 
 
@@ -1710,19 +1667,17 @@
   }
 
   for (BlockIterator block_it = flow_graph_->reverse_postorder_iterator();
-       !block_it.Done();
-       block_it.Advance()) {
+       !block_it.Done(); block_it.Advance()) {
     BlockEntryInstr* block = block_it.Current();
 
-    for (ForwardInstructionIterator instr_it(block);
-         !instr_it.Done();
+    for (ForwardInstructionIterator instr_it(block); !instr_it.Done();
          instr_it.Advance()) {
       Instruction* current = instr_it.Current();
       Definition* defn = current->AsDefinition();
       if ((defn != NULL) && defn->HasSSATemp()) {
         if (IsPotentialUint32Definition(defn)) {
           if (FLAG_support_il_printer && FLAG_trace_integer_ir_selection) {
-           THR_Print("Adding %s\n", current->ToCString());
+            THR_Print("Adding %s\n", current->ToCString());
           }
           potential_uint32_defs_.Add(defn);
         }
@@ -1772,13 +1727,10 @@
 
 
 bool IntegerInstructionSelector::AllUsesAreUint32Narrowing(Value* list_head) {
-  for (Value::Iterator it(list_head);
-       !it.Done();
-       it.Advance()) {
+  for (Value::Iterator it(list_head); !it.Done(); it.Advance()) {
     Value* use = it.Current();
     Definition* defn = use->instruction()->AsDefinition();
-    if ((defn == NULL) ||
-        !defn->HasSSATemp() ||
+    if ((defn == NULL) || !defn->HasSSATemp() ||
         !selected_uint32_defs_->Contains(defn->ssa_temp_index())) {
       return false;
     }
@@ -1865,28 +1817,28 @@
     Value* left = op->left()->CopyWithType();
     Value* right = op->right()->CopyWithType();
     intptr_t deopt_id = op->DeoptimizationTarget();
-    return new(Z) BinaryUint32OpInstr(op_kind, left, right, deopt_id);
+    return new (Z) BinaryUint32OpInstr(op_kind, left, right, deopt_id);
   } else if (def->IsBoxInt64()) {
     Value* value = def->AsBoxInt64()->value()->CopyWithType();
-    return new(Z) BoxUint32Instr(value);
+    return new (Z) BoxUint32Instr(value);
   } else if (def->IsUnboxInt64()) {
     UnboxInstr* unbox = def->AsUnboxInt64();
     Value* value = unbox->value()->CopyWithType();
     intptr_t deopt_id = unbox->DeoptimizationTarget();
-    return new(Z) UnboxUint32Instr(value, deopt_id);
+    return new (Z) UnboxUint32Instr(value, deopt_id);
   } else if (def->IsUnaryMintOp()) {
     UnaryMintOpInstr* op = def->AsUnaryMintOp();
     Token::Kind op_kind = op->op_kind();
     Value* value = op->value()->CopyWithType();
     intptr_t deopt_id = op->DeoptimizationTarget();
-    return new(Z) UnaryUint32OpInstr(op_kind, value, deopt_id);
+    return new (Z) UnaryUint32OpInstr(op_kind, value, deopt_id);
   } else if (def->IsShiftMintOp()) {
     ShiftMintOpInstr* op = def->AsShiftMintOp();
     Token::Kind op_kind = op->op_kind();
     Value* left = op->left()->CopyWithType();
     Value* right = op->right()->CopyWithType();
     intptr_t deopt_id = op->DeoptimizationTarget();
-    return new(Z) ShiftUint32OpInstr(op_kind, left, right, deopt_id);
+    return new (Z) ShiftUint32OpInstr(op_kind, left, right, deopt_id);
   }
   UNREACHABLE();
   return NULL;
@@ -1907,7 +1859,7 @@
     ASSERT(replacement != NULL);
     if (FLAG_support_il_printer && FLAG_trace_integer_ir_selection) {
       THR_Print("Replacing %s with %s\n", defn->ToCString(),
-                                          replacement->ToCString());
+                replacement->ToCString());
     }
     if (!Range::IsUnknown(defn->range())) {
       replacement->set_range(*defn->range());
@@ -1932,8 +1884,7 @@
   }
   if (IsConstant()) return *this;
   return Add(Range::ConstantMinSmi(symbol()->range()),
-             RangeBoundary::FromConstant(offset_),
-             NegativeInfinity());
+             RangeBoundary::FromConstant(offset_), NegativeInfinity());
 }
 
 
@@ -1944,8 +1895,7 @@
   if (IsConstant()) return *this;
 
   return Add(Range::ConstantMaxSmi(symbol()->range()),
-             RangeBoundary::FromConstant(offset_),
-             PositiveInfinity());
+             RangeBoundary::FromConstant(offset_), PositiveInfinity());
 }
 
 
@@ -2038,8 +1988,7 @@
   int64_t limit = 64 - shift_count;
   int64_t value = value_boundary.ConstantValue();
 
-  if ((value == 0) ||
-      (shift_count == 0) ||
+  if ((value == 0) || (shift_count == 0) ||
       ((limit > 0) && Utils::IsInt(static_cast<int>(limit), value))) {
     // Result stays in 64 bit range.
     int64_t result = value << shift_count;
@@ -2186,9 +2135,7 @@
     return b;
   }
 
-  if (CanonicalizeForComparison(&a,
-                                &b,
-                                &CanonicalizeMinBoundary,
+  if (CanonicalizeForComparison(&a, &b, &CanonicalizeMinBoundary,
                                 RangeBoundary::NegativeInfinity())) {
     return (a.offset() <= b.offset()) ? a : b;
   }
@@ -2215,9 +2162,7 @@
     return b;
   }
 
-  if (CanonicalizeForComparison(&a,
-                                &b,
-                                &CanonicalizeMaxBoundary,
+  if (CanonicalizeForComparison(&a, &b, &CanonicalizeMaxBoundary,
                                 RangeBoundary::PositiveInfinity())) {
     return (a.offset() >= b.offset()) ? a : b;
   }
@@ -2251,9 +2196,7 @@
     return a;
   }
 
-  if (CanonicalizeForComparison(&a,
-                                &b,
-                                &CanonicalizeMinBoundary,
+  if (CanonicalizeForComparison(&a, &b, &CanonicalizeMinBoundary,
                                 RangeBoundary::NegativeInfinity())) {
     return (a.offset() >= b.offset()) ? a : b;
   }
@@ -2279,9 +2222,7 @@
     return a;
   }
 
-  if (CanonicalizeForComparison(&a,
-                                &b,
-                                &CanonicalizeMaxBoundary,
+  if (CanonicalizeForComparison(&a, &b, &CanonicalizeMaxBoundary,
                                 RangeBoundary::PositiveInfinity())) {
     return (a.offset() <= b.offset()) ? a : b;
   }
@@ -2307,31 +2248,30 @@
 bool Range::OnlyLessThanOrEqualTo(int64_t val) const {
   const RangeBoundary upper_bound = max().UpperBound();
   return !upper_bound.IsPositiveInfinity() &&
-      (upper_bound.ConstantValue() <= val);
+         (upper_bound.ConstantValue() <= val);
 }
 
 
 bool Range::OnlyGreaterThanOrEqualTo(int64_t val) const {
   const RangeBoundary lower_bound = min().LowerBound();
   return !lower_bound.IsNegativeInfinity() &&
-      (lower_bound.ConstantValue() >= val);
+         (lower_bound.ConstantValue() >= val);
 }
 
 
 // Inclusive.
 bool Range::IsWithin(int64_t min_int, int64_t max_int) const {
-  return OnlyGreaterThanOrEqualTo(min_int) &&
-      OnlyLessThanOrEqualTo(max_int);
+  return OnlyGreaterThanOrEqualTo(min_int) && OnlyLessThanOrEqualTo(max_int);
 }
 
 
 bool Range::Overlaps(int64_t min_int, int64_t max_int) const {
   RangeBoundary lower = min().LowerBound();
   RangeBoundary upper = max().UpperBound();
-  const int64_t this_min = lower.IsNegativeInfinity() ?
-      RangeBoundary::kMin : lower.ConstantValue();
-  const int64_t this_max = upper.IsPositiveInfinity() ?
-      RangeBoundary::kMax : upper.ConstantValue();
+  const int64_t this_min =
+      lower.IsNegativeInfinity() ? RangeBoundary::kMin : lower.ConstantValue();
+  const int64_t this_max =
+      upper.IsPositiveInfinity() ? RangeBoundary::kMax : upper.ConstantValue();
   if ((this_min <= min_int) && (min_int <= this_max)) return true;
   if ((this_min <= max_int) && (max_int <= this_max)) return true;
   if ((min_int < this_min) && (max_int > this_max)) return true;
@@ -2378,18 +2318,14 @@
                                      static_cast<int64_t>(0));
 
   *result_min = RangeBoundary::Shl(
-      left_min,
-      left_min.ConstantValue() > 0 ? right_min : right_max,
-      left_min.ConstantValue() > 0
-          ? RangeBoundary::PositiveInfinity()
-          : RangeBoundary::NegativeInfinity());
+      left_min, left_min.ConstantValue() > 0 ? right_min : right_max,
+      left_min.ConstantValue() > 0 ? RangeBoundary::PositiveInfinity()
+                                   : RangeBoundary::NegativeInfinity());
 
   *result_max = RangeBoundary::Shl(
-      left_max,
-      left_max.ConstantValue() > 0 ? right_max : right_min,
-      left_max.ConstantValue() > 0
-          ? RangeBoundary::PositiveInfinity()
-          : RangeBoundary::NegativeInfinity());
+      left_max, left_max.ConstantValue() > 0 ? right_max : right_min,
+      left_max.ConstantValue() > 0 ? RangeBoundary::PositiveInfinity()
+                                   : RangeBoundary::NegativeInfinity());
 }
 
 
@@ -2407,12 +2343,10 @@
                                      static_cast<int64_t>(0));
 
   *result_min = RangeBoundary::Shr(
-      left_min,
-      left_min.ConstantValue() > 0 ? right_max : right_min);
+      left_min, left_min.ConstantValue() > 0 ? right_max : right_min);
 
   *result_max = RangeBoundary::Shr(
-      left_max,
-      left_max.ConstantValue() > 0 ? right_min : right_max);
+      left_max, left_max.ConstantValue() > 0 ? right_min : right_max);
 }
 
 
@@ -2452,18 +2386,17 @@
                       const Range* right_range,
                       RangeBoundary* result_min,
                       RangeBoundary* result_max) {
-  const int bitsize =
-      Utils::Maximum(BitSize(left_range), BitSize(right_range));
+  const int bitsize = Utils::Maximum(BitSize(left_range), BitSize(right_range));
 
   if (left_range->IsPositive() && right_range->IsPositive()) {
     *result_min = RangeBoundary::FromConstant(0);
   } else {
-    *result_min = RangeBoundary::FromConstant(
-        static_cast<int64_t>(-1) << bitsize);
+    *result_min =
+        RangeBoundary::FromConstant(static_cast<int64_t>(-1) << bitsize);
   }
 
-  *result_max = RangeBoundary::FromConstant(
-      (static_cast<uint64_t>(1) << bitsize) - 1);
+  *result_max =
+      RangeBoundary::FromConstant((static_cast<uint64_t>(1) << bitsize) - 1);
 }
 
 
@@ -2486,13 +2419,13 @@
   ASSERT(result_min != NULL);
   ASSERT(result_max != NULL);
 
-  RangeBoundary left_min =
-    IsArrayLength(left_defn) ?
-        RangeBoundary::FromDefinition(left_defn) : left_range->min();
+  RangeBoundary left_min = IsArrayLength(left_defn)
+                               ? RangeBoundary::FromDefinition(left_defn)
+                               : left_range->min();
 
-  RangeBoundary left_max =
-    IsArrayLength(left_defn) ?
-        RangeBoundary::FromDefinition(left_defn) : left_range->max();
+  RangeBoundary left_max = IsArrayLength(left_defn)
+                               ? RangeBoundary::FromDefinition(left_defn)
+                               : left_range->max();
 
   if (!RangeBoundary::SymbolicAdd(left_min, right_range->min(), result_min)) {
     *result_min = RangeBoundary::Add(left_range->min().LowerBound(),
@@ -2517,18 +2450,18 @@
   ASSERT(result_min != NULL);
   ASSERT(result_max != NULL);
 
-  RangeBoundary left_min =
-    IsArrayLength(left_defn) ?
-        RangeBoundary::FromDefinition(left_defn) : left_range->min();
+  RangeBoundary left_min = IsArrayLength(left_defn)
+                               ? RangeBoundary::FromDefinition(left_defn)
+                               : left_range->min();
 
-  RangeBoundary left_max =
-    IsArrayLength(left_defn) ?
-        RangeBoundary::FromDefinition(left_defn) : left_range->max();
+  RangeBoundary left_max = IsArrayLength(left_defn)
+                               ? RangeBoundary::FromDefinition(left_defn)
+                               : left_range->max();
 
   if (!RangeBoundary::SymbolicSub(left_min, right_range->max(), result_min)) {
     *result_min = RangeBoundary::Sub(left_range->min().LowerBound(),
-                              right_range->max().UpperBound(),
-                              RangeBoundary::NegativeInfinity());
+                                     right_range->max().UpperBound(),
+                                     RangeBoundary::NegativeInfinity());
   }
   if (!RangeBoundary::SymbolicSub(left_max, right_range->min(), result_max)) {
     *result_max = RangeBoundary::Sub(left_range->max().UpperBound(),
@@ -2815,17 +2748,15 @@
   const RangeBoundary::RangeSize size = RangeSizeForPhi(this);
   for (intptr_t i = 0; i < InputCount(); i++) {
     Value* input = InputAt(i);
-    Join(range,
-         input->definition(),
-         GetInputRange(analysis, size, input),
+    Join(range, input->definition(), GetInputRange(analysis, size, input),
          size);
   }
 
   BlockEntryInstr* phi_block = GetBlock();
-  range->set_min(EnsureAcyclicSymbol(
-      phi_block, range->min(), RangeBoundary::MinSmi()));
-  range->set_max(EnsureAcyclicSymbol(
-      phi_block, range->max(), RangeBoundary::MaxSmi()));
+  range->set_min(
+      EnsureAcyclicSymbol(phi_block, range->min(), RangeBoundary::MinSmi()));
+  range->set_max(
+      EnsureAcyclicSymbol(phi_block, range->max(), RangeBoundary::MaxSmi()));
 }
 
 
@@ -2889,7 +2820,6 @@
 }
 
 
-
 void LoadIndexedInstr::InferRange(RangeAnalysis* analysis, Range* range) {
   switch (class_id()) {
     case kTypedDataInt8ArrayCid:
@@ -2954,8 +2884,8 @@
 void IfThenElseInstr::InferRange(RangeAnalysis* analysis, Range* range) {
   const intptr_t min = Utils::Minimum(if_true_, if_false_);
   const intptr_t max = Utils::Maximum(if_true_, if_false_);
-  *range = Range(RangeBoundary::FromConstant(min),
-                 RangeBoundary::FromConstant(max));
+  *range =
+      Range(RangeBoundary::FromConstant(min), RangeBoundary::FromConstant(max));
 }
 
 
@@ -2983,10 +2913,7 @@
     return;
   }
 
-  Range::BinaryOp(op_kind(),
-                  left_range,
-                  right_range,
-                  left()->definition(),
+  Range::BinaryOp(op_kind(), left_range, right_range, left()->definition(),
                   range);
   ASSERT(!Range::IsUnknown(range));
 
@@ -3006,29 +2933,25 @@
 void BinarySmiOpInstr::InferRange(RangeAnalysis* analysis, Range* range) {
   // TODO(vegorov) completely remove this once GetSmiRange is eliminated.
   InferRangeHelper(analysis->GetSmiRange(left()),
-                   analysis->GetSmiRange(right()),
-                   range);
+                   analysis->GetSmiRange(right()), range);
 }
 
 
 void BinaryInt32OpInstr::InferRange(RangeAnalysis* analysis, Range* range) {
   InferRangeHelper(analysis->GetSmiRange(left()),
-                   analysis->GetSmiRange(right()),
-                   range);
+                   analysis->GetSmiRange(right()), range);
 }
 
 
 void BinaryMintOpInstr::InferRange(RangeAnalysis* analysis, Range* range) {
   InferRangeHelper(left()->definition()->range(),
-                   right()->definition()->range(),
-                   range);
+                   right()->definition()->range(), range);
 }
 
 
 void ShiftMintOpInstr::InferRange(RangeAnalysis* analysis, Range* range) {
   InferRangeHelper(left()->definition()->range(),
-                   right()->definition()->range(),
-                   range);
+                   right()->definition()->range(), range);
 }
 
 
@@ -3096,11 +3019,9 @@
 
 void UnboxedIntConverterInstr::InferRange(RangeAnalysis* analysis,
                                           Range* range) {
-  ASSERT((from() == kUnboxedInt32) ||
-         (from() == kUnboxedMint) ||
+  ASSERT((from() == kUnboxedInt32) || (from() == kUnboxedMint) ||
          (from() == kUnboxedUint32));
-  ASSERT((to() == kUnboxedInt32) ||
-         (to() == kUnboxedMint) ||
+  ASSERT((to() == kUnboxedInt32) || (to() == kUnboxedMint) ||
          (to() == kUnboxedUint32));
   const Range* value_range = value()->definition()->range();
   if (Range::IsUnknown(value_range)) {
@@ -3109,9 +3030,9 @@
 
   if (to() == kUnboxedUint32) {
     // TODO(vegorov): improve range information for unboxing to Uint32.
-    *range = Range(
-        RangeBoundary::FromConstant(0),
-        RangeBoundary::FromConstant(static_cast<int64_t>(kMaxUint32)));
+    *range =
+        Range(RangeBoundary::FromConstant(0),
+              RangeBoundary::FromConstant(static_cast<int64_t>(kMaxUint32)));
   } else {
     *range = *value_range;
     if (to() == kUnboxedInt32) {
diff --git a/runtime/vm/flow_graph_range_analysis.h b/runtime/vm/flow_graph_range_analysis.h
index a1e1ba3..8dce8de 100644
--- a/runtime/vm/flow_graph_range_analysis.h
+++ b/runtime/vm/flow_graph_range_analysis.h
@@ -26,16 +26,16 @@
     kRangeBoundaryInt64,
   };
 
-  RangeBoundary() : kind_(kUnknown), value_(0), offset_(0) { }
+  RangeBoundary() : kind_(kUnknown), value_(0), offset_(0) {}
 
   RangeBoundary(const RangeBoundary& other)
       : ValueObject(),
         kind_(other.kind_),
         value_(other.value_),
-        offset_(other.offset_) { }
+        offset_(other.offset_) {}
 
   explicit RangeBoundary(int64_t val)
-      : kind_(kConstant), value_(val), offset_(0) { }
+      : kind_(kConstant), value_(val), offset_(0) {}
 
   RangeBoundary& operator=(const RangeBoundary& other) {
     kind_ = other.kind_;
@@ -48,9 +48,7 @@
   static const int64_t kMax = kMaxInt64;
 
   // Construct a RangeBoundary for a constant value.
-  static RangeBoundary FromConstant(int64_t val) {
-    return RangeBoundary(val);
-  }
+  static RangeBoundary FromConstant(int64_t val) { return RangeBoundary(val); }
 
   // Construct a RangeBoundary for -inf.
   static RangeBoundary NegativeInfinity() {
@@ -66,24 +64,16 @@
   static RangeBoundary FromDefinition(Definition* defn, int64_t offs = 0);
 
   // Construct a RangeBoundary for the constant MinSmi value.
-  static RangeBoundary MinSmi() {
-    return FromConstant(Smi::kMinValue);
-  }
+  static RangeBoundary MinSmi() { return FromConstant(Smi::kMinValue); }
 
   // Construct a RangeBoundary for the constant MaxSmi value.
-  static RangeBoundary MaxSmi() {
-    return FromConstant(Smi::kMaxValue);
-  }
+  static RangeBoundary MaxSmi() { return FromConstant(Smi::kMaxValue); }
 
   // Construct a RangeBoundary for the constant kMin value.
-  static RangeBoundary MinConstant() {
-    return FromConstant(kMin);
-  }
+  static RangeBoundary MinConstant() { return FromConstant(kMin); }
 
   // Construct a RangeBoundary for the constant kMax value.
-  static RangeBoundary MaxConstant() {
-    return FromConstant(kMax);
-  }
+  static RangeBoundary MaxConstant() { return FromConstant(kMax); }
 
   // Construct a RangeBoundary for the constant kMin value.
   static RangeBoundary MinConstant(RangeSize size) {
@@ -156,9 +146,7 @@
   }
 
   // Returns true if this outside mint range.
-  bool OverflowedMint() const {
-    return IsInfinity();
-  }
+  bool OverflowedMint() const { return IsInfinity(); }
 
   // -/+ infinity are clamped to MinConstant/MaxConstant of the given type.
   RangeBoundary Clamp(RangeSize size) const {
@@ -189,19 +177,17 @@
 
   bool IsMinimumOrBelow(RangeSize size) const {
     return IsNegativeInfinity() ||
-        (IsConstant() &&
-         (ConstantValue() <= RangeBoundary::MinConstant(size).ConstantValue()));
+           (IsConstant() && (ConstantValue() <=
+                             RangeBoundary::MinConstant(size).ConstantValue()));
   }
 
   bool IsMaximumOrAbove(RangeSize size) const {
     return IsPositiveInfinity() ||
-        (IsConstant() &&
-         (ConstantValue() >= RangeBoundary::MaxConstant(size).ConstantValue()));
+           (IsConstant() && (ConstantValue() >=
+                             RangeBoundary::MaxConstant(size).ConstantValue()));
   }
 
-  intptr_t kind() const {
-    return kind_;
-  }
+  intptr_t kind() const { return kind_; }
 
   // Kind tests.
   bool IsUnknown() const { return kind_ == kUnknown; }
@@ -212,9 +198,7 @@
   bool IsInfinity() const {
     return IsNegativeInfinity() || IsPositiveInfinity();
   }
-  bool IsConstantOrInfinity() const {
-    return IsConstant() || IsInfinity();
-  }
+  bool IsConstantOrInfinity() const { return IsConstant() || IsInfinity(); }
 
   // Returns the value of a kConstant RangeBoundary.
   int64_t ConstantValue() const;
@@ -226,9 +210,7 @@
   }
 
   // Offset from symbol.
-  int64_t offset() const {
-    return offset_;
-  }
+  int64_t offset() const { return offset_; }
 
   // Computes the LowerBound of this. Three cases:
   // IsInfinity() -> NegativeInfinity().
@@ -291,17 +273,13 @@
     return LowerBound().Clamp(size).ConstantValue();
   }
 
-  int64_t SmiUpperBound() const {
-    return UpperBound(kRangeBoundarySmi);
-  }
+  int64_t SmiUpperBound() const { return UpperBound(kRangeBoundarySmi); }
 
-  int64_t SmiLowerBound() const {
-    return LowerBound(kRangeBoundarySmi);
-  }
+  int64_t SmiLowerBound() const { return LowerBound(kRangeBoundarySmi); }
 
  private:
   RangeBoundary(Kind kind, int64_t value, int64_t offset)
-      : kind_(kind), value_(value), offset_(offset) { }
+      : kind_(kind), value_(value), offset_(offset) {}
 
   Kind kind_;
   int64_t value_;
@@ -311,16 +289,13 @@
 
 class Range : public ZoneAllocated {
  public:
-  Range() : min_(), max_() { }
+  Range() : min_(), max_() {}
   Range(RangeBoundary min, RangeBoundary max) : min_(min), max_(max) {
     ASSERT(min_.IsUnknown() == max_.IsUnknown());
   }
 
   Range(const Range& other)
-      : ZoneAllocated(),
-        min_(other.min_),
-        max_(other.max_) {
-  }
+      : ZoneAllocated(), min_(other.min_), max_(other.max_) {}
 
   Range& operator=(const Range& other) {
     min_ = other.min_;
@@ -348,18 +323,13 @@
     if (other == NULL) {
       return min_.IsUnknown();
     }
-    return min_.Equals(other->min_) &&
-        max_.Equals(other->max_);
+    return min_.Equals(other->min_) && max_.Equals(other->max_);
   }
 
   const RangeBoundary& min() const { return min_; }
   const RangeBoundary& max() const { return max_; }
-  void set_min(const RangeBoundary& value) {
-    min_ = value;
-  }
-  void set_max(const RangeBoundary& value) {
-    max_ = value;
-  }
+  void set_min(const RangeBoundary& value) { min_ = value; }
+  void set_max(const RangeBoundary& value) { max_ = value; }
 
   static RangeBoundary ConstantMinSmi(const Range* range) {
     return ConstantMin(range, RangeBoundary::kRangeBoundarySmi);
@@ -411,9 +381,7 @@
 
   bool IsUnsatisfiable() const;
 
-  bool IsFinite() const {
-    return !min_.IsInfinity() && !max_.IsInfinity();
-  }
+  bool IsFinite() const { return !min_.IsInfinity() && !max_.IsInfinity(); }
 
   Range Intersect(const Range* other) const {
     return Range(RangeBoundary::IntersectionMin(min(), other->min()),
@@ -488,7 +456,7 @@
 };
 
 
-class RangeUtils : public AllStatic  {
+class RangeUtils : public AllStatic {
  public:
   static bool Fits(Range* range, RangeBoundary::RangeSize size) {
     return !Range::IsUnknown(range) && range->Fits(size);
@@ -510,7 +478,7 @@
   explicit RangeAnalysis(FlowGraph* flow_graph)
       : flow_graph_(flow_graph),
         smi_range_(Range::Full(RangeBoundary::kRangeBoundarySmi)),
-        int64_range_(Range::Full(RangeBoundary::kRangeBoundaryInt64)) { }
+        int64_range_(Range::Full(RangeBoundary::kRangeBoundaryInt64)) {}
 
   // Infer ranges for all values and remove overflow checks from binary smi
   // operations when proven redundant.
@@ -534,11 +502,7 @@
   void AssignRangesRecursively(Definition* defn);
 
  private:
-  enum JoinOperator {
-    NONE,
-    WIDEN,
-    NARROW
-  };
+  enum JoinOperator { NONE, WIDEN, NARROW };
   static char OpPrefix(JoinOperator op);
 
   // Collect all values that were proven to be smi in smi_values_ array and all
diff --git a/runtime/vm/flow_graph_range_analysis_test.cc b/runtime/vm/flow_graph_range_analysis_test.cc
index 7ebd6b4..a15cea6 100644
--- a/runtime/vm/flow_graph_range_analysis_test.cc
+++ b/runtime/vm/flow_graph_range_analysis_test.cc
@@ -8,18 +8,14 @@
 namespace dart {
 
 TEST_CASE(RangeTests) {
-  Range* zero = new Range(
-      RangeBoundary::FromConstant(0),
-      RangeBoundary::FromConstant(0));
-  Range* positive = new Range(
-      RangeBoundary::FromConstant(0),
-      RangeBoundary::FromConstant(100));
-  Range* negative = new Range(
-      RangeBoundary::FromConstant(-1),
-      RangeBoundary::FromConstant(-100));
-  Range* range_x = new Range(
-      RangeBoundary::FromConstant(-15),
-      RangeBoundary::FromConstant(100));
+  Range* zero =
+      new Range(RangeBoundary::FromConstant(0), RangeBoundary::FromConstant(0));
+  Range* positive = new Range(RangeBoundary::FromConstant(0),
+                              RangeBoundary::FromConstant(100));
+  Range* negative = new Range(RangeBoundary::FromConstant(-1),
+                              RangeBoundary::FromConstant(-100));
+  Range* range_x = new Range(RangeBoundary::FromConstant(-15),
+                             RangeBoundary::FromConstant(100));
   EXPECT(positive->IsPositive());
   EXPECT(zero->Overlaps(0, 0));
   EXPECT(positive->Overlaps(0, 0));
@@ -29,15 +25,14 @@
   EXPECT(!range_x->IsWithin(-15, 99));
   EXPECT(!range_x->IsWithin(-14, 100));
 
-#define TEST_RANGE_OP_(Op, l_min, l_max, r_min, r_max, Clamp, res_min, res_max)\
+#define TEST_RANGE_OP_(Op, l_min, l_max, r_min, r_max, Clamp, res_min,         \
+                       res_max)                                                \
   {                                                                            \
     RangeBoundary min, max;                                                    \
-    Range* left_range = new Range(                                             \
-      RangeBoundary::FromConstant(l_min),                                      \
-      RangeBoundary::FromConstant(l_max));                                     \
-    Range* shift_range = new Range(                                            \
-      RangeBoundary::FromConstant(r_min),                                      \
-      RangeBoundary::FromConstant(r_max));                                     \
+    Range* left_range = new Range(RangeBoundary::FromConstant(l_min),          \
+                                  RangeBoundary::FromConstant(l_max));         \
+    Range* shift_range = new Range(RangeBoundary::FromConstant(r_min),         \
+                                   RangeBoundary::FromConstant(r_max));        \
     Op(left_range, shift_range, &min, &max);                                   \
     min = Clamp(min);                                                          \
     max = Clamp(max);                                                          \
@@ -53,52 +48,44 @@
 
 #define NO_CLAMP(b) (b)
 #define TEST_RANGE_OP(Op, l_min, l_max, r_min, r_max, result_min, result_max)  \
-  TEST_RANGE_OP_(Op, l_min, l_max, r_min, r_max,                               \
-                 NO_CLAMP, result_min, result_max)
+  TEST_RANGE_OP_(Op, l_min, l_max, r_min, r_max, NO_CLAMP, result_min,         \
+                 result_max)
 
 #define CLAMP_TO_SMI(b) (b.Clamp(RangeBoundary::kRangeBoundarySmi))
 #define TEST_RANGE_OP_SMI(Op, l_min, l_max, r_min, r_max, res_min, res_max)    \
-  TEST_RANGE_OP_(Op, l_min, l_max, r_min, r_max,                               \
-                 CLAMP_TO_SMI, res_min, res_max)
+  TEST_RANGE_OP_(Op, l_min, l_max, r_min, r_max, CLAMP_TO_SMI, res_min, res_max)
 
-  TEST_RANGE_OP(Range::Shl, -15, 100, 0, 2,
-                RangeBoundary(-60), RangeBoundary(400));
-  TEST_RANGE_OP(Range::Shl, -15, 100, -2, 2,
-                RangeBoundary(-60), RangeBoundary(400));
-  TEST_RANGE_OP(Range::Shl, -15, -10, 1, 2,
-                RangeBoundary(-60), RangeBoundary(-20));
-  TEST_RANGE_OP(Range::Shl, 5, 10, -2, 2,
-                RangeBoundary(5), RangeBoundary(40));
-  TEST_RANGE_OP(Range::Shl, -15, 100, 0, 64,
-                RangeBoundary::NegativeInfinity(),
+  TEST_RANGE_OP(Range::Shl, -15, 100, 0, 2, RangeBoundary(-60),
+                RangeBoundary(400));
+  TEST_RANGE_OP(Range::Shl, -15, 100, -2, 2, RangeBoundary(-60),
+                RangeBoundary(400));
+  TEST_RANGE_OP(Range::Shl, -15, -10, 1, 2, RangeBoundary(-60),
+                RangeBoundary(-20));
+  TEST_RANGE_OP(Range::Shl, 5, 10, -2, 2, RangeBoundary(5), RangeBoundary(40));
+  TEST_RANGE_OP(Range::Shl, -15, 100, 0, 64, RangeBoundary::NegativeInfinity(),
                 RangeBoundary::PositiveInfinity());
-  TEST_RANGE_OP(Range::Shl, -1, 1, 63, 63,
-                RangeBoundary(kMinInt64),
+  TEST_RANGE_OP(Range::Shl, -1, 1, 63, 63, RangeBoundary(kMinInt64),
                 RangeBoundary::PositiveInfinity());
   if (kBitsPerWord == 64) {
-    TEST_RANGE_OP_SMI(Range::Shl, -1, 1, 62, 62,
-                  RangeBoundary(kSmiMin),
-                  RangeBoundary(kSmiMax));
-    TEST_RANGE_OP_SMI(Range::Shl, -1, 1, 30, 30,
-                  RangeBoundary(-(1 << 30)),
-                  RangeBoundary(1 << 30));
+    TEST_RANGE_OP_SMI(Range::Shl, -1, 1, 62, 62, RangeBoundary(kSmiMin),
+                      RangeBoundary(kSmiMax));
+    TEST_RANGE_OP_SMI(Range::Shl, -1, 1, 30, 30, RangeBoundary(-(1 << 30)),
+                      RangeBoundary(1 << 30));
   } else {
-    TEST_RANGE_OP_SMI(Range::Shl, -1, 1, 30, 30,
-                  RangeBoundary(kSmiMin),
-                  RangeBoundary(kSmiMax));
-    TEST_RANGE_OP_SMI(Range::Shl, -1, 1, 62, 62,
-                  RangeBoundary(kSmiMin),
-                  RangeBoundary(kSmiMax));
+    TEST_RANGE_OP_SMI(Range::Shl, -1, 1, 30, 30, RangeBoundary(kSmiMin),
+                      RangeBoundary(kSmiMax));
+    TEST_RANGE_OP_SMI(Range::Shl, -1, 1, 62, 62, RangeBoundary(kSmiMin),
+                      RangeBoundary(kSmiMax));
   }
-  TEST_RANGE_OP(Range::Shl, 0, 100, 0, 64,
-                RangeBoundary(0), RangeBoundary::PositiveInfinity());
-  TEST_RANGE_OP(Range::Shl, -100, 0, 0, 64,
-                RangeBoundary::NegativeInfinity(), RangeBoundary(0));
+  TEST_RANGE_OP(Range::Shl, 0, 100, 0, 64, RangeBoundary(0),
+                RangeBoundary::PositiveInfinity());
+  TEST_RANGE_OP(Range::Shl, -100, 0, 0, 64, RangeBoundary::NegativeInfinity(),
+                RangeBoundary(0));
 
   TEST_RANGE_OP(Range::Shr, -8, 8, 1, 2, RangeBoundary(-4), RangeBoundary(4));
   TEST_RANGE_OP(Range::Shr, 1, 8, 1, 2, RangeBoundary(0), RangeBoundary(4));
-  TEST_RANGE_OP(Range::Shr, -16, -8, 1, 2,
-                RangeBoundary(-8), RangeBoundary(-2));
+  TEST_RANGE_OP(Range::Shr, -16, -8, 1, 2, RangeBoundary(-8),
+                RangeBoundary(-2));
   TEST_RANGE_OP(Range::Shr, 2, 4, -1, 1, RangeBoundary(1), RangeBoundary(4));
   TEST_RANGE_OP(Range::Shr, kMaxInt64, kMaxInt64, 0, 1,
                 RangeBoundary(kMaxInt64 >> 1), RangeBoundary(kMaxInt64));
@@ -232,10 +219,9 @@
   EXPECT(Range::ConstantAbsMax(&range_i) == 1);
 
   // RangeBOundary.Equals.
-  EXPECT(RangeBoundary::FromConstant(1).Equals(
-      RangeBoundary::FromConstant(1)));
-  EXPECT(!RangeBoundary::FromConstant(2).Equals(
-      RangeBoundary::FromConstant(1)));
+  EXPECT(RangeBoundary::FromConstant(1).Equals(RangeBoundary::FromConstant(1)));
+  EXPECT(
+      !RangeBoundary::FromConstant(2).Equals(RangeBoundary::FromConstant(1)));
   EXPECT(RangeBoundary::PositiveInfinity().Equals(
       RangeBoundary::PositiveInfinity()));
   EXPECT(!RangeBoundary::PositiveInfinity().Equals(
@@ -267,11 +253,7 @@
 
   {
     Range result;
-    Range::BinaryOp(Token::kADD,
-                    range_a,
-                    range_b,
-                    NULL,
-                    &result);
+    Range::BinaryOp(Token::kADD, range_a, range_b, NULL, &result);
     ASSERT(!Range::IsUnknown(&result));
     EXPECT(result.min().IsNegativeInfinity());
     EXPECT(result.max().IsPositiveInfinity());
@@ -280,16 +262,12 @@
   // Test that [5, 10] + [0, 5] = [5, 15].
   Range* range_c = new Range(RangeBoundary::FromConstant(5),
                              RangeBoundary::FromConstant(10));
-  Range* range_d = new Range(RangeBoundary::FromConstant(0),
-                             RangeBoundary::FromConstant(5));
+  Range* range_d =
+      new Range(RangeBoundary::FromConstant(0), RangeBoundary::FromConstant(5));
 
   {
     Range result;
-    Range::BinaryOp(Token::kADD,
-                    range_c,
-                    range_d,
-                    NULL,
-                    &result);
+    Range::BinaryOp(Token::kADD, range_c, range_d, NULL, &result);
     ASSERT(!Range::IsUnknown(&result));
     EXPECT(result.min().ConstantValue() == 5);
     EXPECT(result.max().ConstantValue() == 15);
@@ -302,11 +280,7 @@
                              RangeBoundary::FromConstant(0xf));
   {
     Range result;
-    Range::BinaryOp(Token::kBIT_AND,
-                    range_e,
-                    range_f,
-                    NULL,
-                    &result);
+    Range::BinaryOp(Token::kBIT_AND, range_e, range_f, NULL, &result);
     ASSERT(!Range::IsUnknown(&result));
     EXPECT(result.min().ConstantValue() == 0x0);
     EXPECT(result.max().ConstantValue() == 0xf);
@@ -318,12 +292,10 @@
 #define TEST_RANGE_ADD(l_min, l_max, r_min, r_max, result_min, result_max)     \
   {                                                                            \
     RangeBoundary min, max;                                                    \
-    Range* left_range = new Range(                                             \
-      RangeBoundary::FromConstant(l_min),                                      \
-      RangeBoundary::FromConstant(l_max));                                     \
-    Range* right_range = new Range(                                            \
-      RangeBoundary::FromConstant(r_min),                                      \
-      RangeBoundary::FromConstant(r_max));                                     \
+    Range* left_range = new Range(RangeBoundary::FromConstant(l_min),          \
+                                  RangeBoundary::FromConstant(l_max));         \
+    Range* right_range = new Range(RangeBoundary::FromConstant(r_min),         \
+                                   RangeBoundary::FromConstant(r_max));        \
     EXPECT(left_range->min().ConstantValue() == l_min);                        \
     EXPECT(left_range->max().ConstantValue() == l_max);                        \
     EXPECT(right_range->min().ConstantValue() == r_min);                       \
@@ -341,68 +313,56 @@
 
   // [kMaxInt32, kMaxInt32 + 15] + [10, 20] = [kMaxInt32 + 10, kMaxInt32 + 35].
   TEST_RANGE_ADD(static_cast<int64_t>(kMaxInt32),
-                 static_cast<int64_t>(kMaxInt32) + 15,
-                 static_cast<int64_t>(10),
+                 static_cast<int64_t>(kMaxInt32) + 15, static_cast<int64_t>(10),
                  static_cast<int64_t>(20),
                  RangeBoundary(static_cast<int64_t>(kMaxInt32) + 10),
                  RangeBoundary(static_cast<int64_t>(kMaxInt32) + 35));
 
   // [kMaxInt32 - 15, kMaxInt32 + 15] + [15, -15] = [kMaxInt32, kMaxInt32].
   TEST_RANGE_ADD(static_cast<int64_t>(kMaxInt32) - 15,
-                 static_cast<int64_t>(kMaxInt32) + 15,
-                 static_cast<int64_t>(15),
+                 static_cast<int64_t>(kMaxInt32) + 15, static_cast<int64_t>(15),
                  static_cast<int64_t>(-15),
                  RangeBoundary(static_cast<int64_t>(kMaxInt32)),
                  RangeBoundary(static_cast<int64_t>(kMaxInt32)));
 
   // [kMaxInt32, kMaxInt32 + 15] + [10, kMaxInt64] = [kMaxInt32 + 10, +inf].
   TEST_RANGE_ADD(static_cast<int64_t>(kMaxInt32),
-                 static_cast<int64_t>(kMaxInt32) + 15,
-                 static_cast<int64_t>(10),
+                 static_cast<int64_t>(kMaxInt32) + 15, static_cast<int64_t>(10),
                  static_cast<int64_t>(kMaxInt64),
                  RangeBoundary(static_cast<int64_t>(kMaxInt32) + 10),
                  RangeBoundary::PositiveInfinity());
 
   // [kMinInt64, kMaxInt32 + 15] + [10, 20] = [kMinInt64 + 10, kMaxInt32 + 35].
   TEST_RANGE_ADD(static_cast<int64_t>(kMinInt64),
-                 static_cast<int64_t>(kMaxInt32) + 15,
-                 static_cast<int64_t>(10),
+                 static_cast<int64_t>(kMaxInt32) + 15, static_cast<int64_t>(10),
                  static_cast<int64_t>(20),
                  RangeBoundary(static_cast<int64_t>(kMinInt64) + 10),
                  RangeBoundary(static_cast<int64_t>(kMaxInt32) + 35));
 
   // [0, 0] + [kMinInt64, kMaxInt64] = [kMinInt64, kMaxInt64].
-  TEST_RANGE_ADD(static_cast<int64_t>(0),
-                 static_cast<int64_t>(0),
+  TEST_RANGE_ADD(static_cast<int64_t>(0), static_cast<int64_t>(0),
                  static_cast<int64_t>(kMinInt64),
-                 static_cast<int64_t>(kMaxInt64),
-                 RangeBoundary(kMinInt64),
+                 static_cast<int64_t>(kMaxInt64), RangeBoundary(kMinInt64),
                  RangeBoundary(kMaxInt64));
 
   // Overflows.
 
   // [-1, 1] + [kMinInt64, kMaxInt64] = [-inf, +inf].
-  TEST_RANGE_ADD(static_cast<int64_t>(-1),
-                 static_cast<int64_t>(1),
-                 static_cast<int64_t>(kMinInt64),
-                 static_cast<int64_t>(kMaxInt64),
-                 RangeBoundary::NegativeInfinity(),
-                 RangeBoundary::PositiveInfinity());
+  TEST_RANGE_ADD(
+      static_cast<int64_t>(-1), static_cast<int64_t>(1),
+      static_cast<int64_t>(kMinInt64), static_cast<int64_t>(kMaxInt64),
+      RangeBoundary::NegativeInfinity(), RangeBoundary::PositiveInfinity());
 
   // [kMaxInt64, kMaxInt64] + [kMaxInt64, kMaxInt64] = [-inf, +inf].
-  TEST_RANGE_ADD(static_cast<int64_t>(kMaxInt64),
-                 static_cast<int64_t>(kMaxInt64),
-                 static_cast<int64_t>(kMaxInt64),
-                 static_cast<int64_t>(kMaxInt64),
-                 RangeBoundary::NegativeInfinity(),
-                 RangeBoundary::PositiveInfinity());
+  TEST_RANGE_ADD(
+      static_cast<int64_t>(kMaxInt64), static_cast<int64_t>(kMaxInt64),
+      static_cast<int64_t>(kMaxInt64), static_cast<int64_t>(kMaxInt64),
+      RangeBoundary::NegativeInfinity(), RangeBoundary::PositiveInfinity());
 
   // [kMaxInt64, kMaxInt64] + [1, 1] = [-inf, +inf].
   TEST_RANGE_ADD(static_cast<int64_t>(kMaxInt64),
-                 static_cast<int64_t>(kMaxInt64),
-                 static_cast<int64_t>(1),
-                 static_cast<int64_t>(1),
-                 RangeBoundary::NegativeInfinity(),
+                 static_cast<int64_t>(kMaxInt64), static_cast<int64_t>(1),
+                 static_cast<int64_t>(1), RangeBoundary::NegativeInfinity(),
                  RangeBoundary::PositiveInfinity());
 
 #undef TEST_RANGE_ADD
@@ -413,12 +373,10 @@
 #define TEST_RANGE_SUB(l_min, l_max, r_min, r_max, result_min, result_max)     \
   {                                                                            \
     RangeBoundary min, max;                                                    \
-    Range* left_range = new Range(                                             \
-      RangeBoundary::FromConstant(l_min),                                      \
-      RangeBoundary::FromConstant(l_max));                                     \
-    Range* right_range = new Range(                                            \
-      RangeBoundary::FromConstant(r_min),                                      \
-      RangeBoundary::FromConstant(r_max));                                     \
+    Range* left_range = new Range(RangeBoundary::FromConstant(l_min),          \
+                                  RangeBoundary::FromConstant(l_max));         \
+    Range* right_range = new Range(RangeBoundary::FromConstant(r_min),         \
+                                   RangeBoundary::FromConstant(r_max));        \
     EXPECT(left_range->min().ConstantValue() == l_min);                        \
     EXPECT(left_range->max().ConstantValue() == l_max);                        \
     EXPECT(right_range->min().ConstantValue() == r_min);                       \
@@ -436,34 +394,28 @@
 
   // [kMaxInt32, kMaxInt32 + 15] - [10, 20] = [kMaxInt32 - 20, kMaxInt32 + 5].
   TEST_RANGE_SUB(static_cast<int64_t>(kMaxInt32),
-                 static_cast<int64_t>(kMaxInt32) + 15,
-                 static_cast<int64_t>(10),
+                 static_cast<int64_t>(kMaxInt32) + 15, static_cast<int64_t>(10),
                  static_cast<int64_t>(20),
                  RangeBoundary(static_cast<int64_t>(kMaxInt32) - 20),
                  RangeBoundary(static_cast<int64_t>(kMaxInt32) + 5));
 
   // [kMintInt64, kMintInt64] - [1, 1] = [-inf, +inf].
   TEST_RANGE_SUB(static_cast<int64_t>(kMinInt64),
-                 static_cast<int64_t>(kMinInt64),
-                 static_cast<int64_t>(1),
-                 static_cast<int64_t>(1),
-                 RangeBoundary::NegativeInfinity(),
+                 static_cast<int64_t>(kMinInt64), static_cast<int64_t>(1),
+                 static_cast<int64_t>(1), RangeBoundary::NegativeInfinity(),
                  RangeBoundary::PositiveInfinity());
 
   // [1, 1] - [kMintInt64, kMintInt64] = [-inf, +inf].
-  TEST_RANGE_SUB(static_cast<int64_t>(1),
-                 static_cast<int64_t>(1),
-                 static_cast<int64_t>(kMinInt64),
-                 static_cast<int64_t>(kMinInt64),
-                 RangeBoundary::NegativeInfinity(),
-                 RangeBoundary::PositiveInfinity());
+  TEST_RANGE_SUB(
+      static_cast<int64_t>(1), static_cast<int64_t>(1),
+      static_cast<int64_t>(kMinInt64), static_cast<int64_t>(kMinInt64),
+      RangeBoundary::NegativeInfinity(), RangeBoundary::PositiveInfinity());
 
   // [kMaxInt32 + 10, kMaxInt32 + 20] - [-20, -20] =
   //     [kMaxInt32 + 30, kMaxInt32 + 40].
   TEST_RANGE_SUB(static_cast<int64_t>(kMaxInt32) + 10,
                  static_cast<int64_t>(kMaxInt32) + 20,
-                 static_cast<int64_t>(-20),
-                 static_cast<int64_t>(-20),
+                 static_cast<int64_t>(-20), static_cast<int64_t>(-20),
                  RangeBoundary(static_cast<int64_t>(kMaxInt32) + 30),
                  RangeBoundary(static_cast<int64_t>(kMaxInt32) + 40));
 
@@ -476,12 +428,10 @@
 #define TEST_RANGE_AND(l_min, l_max, r_min, r_max, result_min, result_max)     \
   {                                                                            \
     RangeBoundary min, max;                                                    \
-    Range* left_range = new Range(                                             \
-      RangeBoundary::FromConstant(l_min),                                      \
-      RangeBoundary::FromConstant(l_max));                                     \
-    Range* right_range = new Range(                                            \
-      RangeBoundary::FromConstant(r_min),                                      \
-      RangeBoundary::FromConstant(r_max));                                     \
+    Range* left_range = new Range(RangeBoundary::FromConstant(l_min),          \
+                                  RangeBoundary::FromConstant(l_max));         \
+    Range* right_range = new Range(RangeBoundary::FromConstant(r_min),         \
+                                   RangeBoundary::FromConstant(r_max));        \
     EXPECT(left_range->min().ConstantValue() == l_min);                        \
     EXPECT(left_range->max().ConstantValue() == l_max);                        \
     EXPECT(right_range->min().ConstantValue() == r_min);                       \
@@ -498,44 +448,32 @@
   }
 
   // [0xff, 0xfff] & [0xf, 0xf] = [0x0, 0xf].
-  TEST_RANGE_AND(static_cast<int64_t>(0xff),
-                 static_cast<int64_t>(0xfff),
-                 static_cast<int64_t>(0xf),
-                 static_cast<int64_t>(0xf),
-                 RangeBoundary(0),
-                 RangeBoundary(0xf));
+  TEST_RANGE_AND(static_cast<int64_t>(0xff), static_cast<int64_t>(0xfff),
+                 static_cast<int64_t>(0xf), static_cast<int64_t>(0xf),
+                 RangeBoundary(0), RangeBoundary(0xf));
 
   // [0xffffffff, 0xffffffff] & [0xfffffffff, 0xfffffffff] = [0x0, 0xfffffffff].
-  TEST_RANGE_AND(static_cast<int64_t>(0xffffffff),
-                 static_cast<int64_t>(0xffffffff),
-                 static_cast<int64_t>(0xfffffffff),
-                 static_cast<int64_t>(0xfffffffff),
-                 RangeBoundary(0),
-                 RangeBoundary(static_cast<int64_t>(0xfffffffff)));
+  TEST_RANGE_AND(
+      static_cast<int64_t>(0xffffffff), static_cast<int64_t>(0xffffffff),
+      static_cast<int64_t>(0xfffffffff), static_cast<int64_t>(0xfffffffff),
+      RangeBoundary(0), RangeBoundary(static_cast<int64_t>(0xfffffffff)));
 
   // [0xffffffff, 0xffffffff] & [-20, 20] = [0x0, 0xffffffff].
   TEST_RANGE_AND(static_cast<int64_t>(0xffffffff),
-                 static_cast<int64_t>(0xffffffff),
-                 static_cast<int64_t>(-20),
-                 static_cast<int64_t>(20),
-                 RangeBoundary(0),
+                 static_cast<int64_t>(0xffffffff), static_cast<int64_t>(-20),
+                 static_cast<int64_t>(20), RangeBoundary(0),
                  RangeBoundary(static_cast<int64_t>(0xffffffff)));
 
   // [-20, 20] & [0xffffffff, 0xffffffff] = [0x0, 0xffffffff].
-  TEST_RANGE_AND(static_cast<int64_t>(-20),
-                 static_cast<int64_t>(20),
+  TEST_RANGE_AND(static_cast<int64_t>(-20), static_cast<int64_t>(20),
                  static_cast<int64_t>(0xffffffff),
-                 static_cast<int64_t>(0xffffffff),
-                 RangeBoundary(0),
+                 static_cast<int64_t>(0xffffffff), RangeBoundary(0),
                  RangeBoundary(static_cast<int64_t>(0xffffffff)));
 
   // Test that [-20, 20] & [-20, 20] = [-32, 31].
-  TEST_RANGE_AND(static_cast<int64_t>(-20),
-                 static_cast<int64_t>(20),
-                 static_cast<int64_t>(-20),
-                 static_cast<int64_t>(20),
-                 RangeBoundary(-32),
-                 RangeBoundary(31));
+  TEST_RANGE_AND(static_cast<int64_t>(-20), static_cast<int64_t>(20),
+                 static_cast<int64_t>(-20), static_cast<int64_t>(20),
+                 RangeBoundary(-32), RangeBoundary(31));
 
 #undef TEST_RANGE_AND
 }
@@ -547,77 +485,77 @@
 
   // Constants.
   // MIN(0, 1) == 0
-  EXPECT(RangeBoundary::IntersectionMax(
-      RangeBoundary::FromConstant(0),
-      RangeBoundary::FromConstant(1)).ConstantValue() == 0);
+  EXPECT(RangeBoundary::IntersectionMax(RangeBoundary::FromConstant(0),
+                                        RangeBoundary::FromConstant(1))
+             .ConstantValue() == 0);
   // MIN(0, -1) == -1
-  EXPECT(RangeBoundary::IntersectionMax(
-      RangeBoundary::FromConstant(0),
-      RangeBoundary::FromConstant(-1)).ConstantValue() == -1);
+  EXPECT(RangeBoundary::IntersectionMax(RangeBoundary::FromConstant(0),
+                                        RangeBoundary::FromConstant(-1))
+             .ConstantValue() == -1);
 
   // MIN(1, 0) == 0
-  EXPECT(RangeBoundary::IntersectionMax(
-      RangeBoundary::FromConstant(1),
-      RangeBoundary::FromConstant(0)).ConstantValue() == 0);
+  EXPECT(RangeBoundary::IntersectionMax(RangeBoundary::FromConstant(1),
+                                        RangeBoundary::FromConstant(0))
+             .ConstantValue() == 0);
   // MIN(-1, 0) == -1
-  EXPECT(RangeBoundary::IntersectionMax(
-      RangeBoundary::FromConstant(-1),
-      RangeBoundary::FromConstant(0)).ConstantValue() == -1);
+  EXPECT(RangeBoundary::IntersectionMax(RangeBoundary::FromConstant(-1),
+                                        RangeBoundary::FromConstant(0))
+             .ConstantValue() == -1);
 
   // MAX(0, 1) == 1
-  EXPECT(RangeBoundary::IntersectionMin(
-      RangeBoundary::FromConstant(0),
-      RangeBoundary::FromConstant(1)).ConstantValue() == 1);
+  EXPECT(RangeBoundary::IntersectionMin(RangeBoundary::FromConstant(0),
+                                        RangeBoundary::FromConstant(1))
+             .ConstantValue() == 1);
 
   // MAX(0, -1) == 0
-  EXPECT(RangeBoundary::IntersectionMin(
-      RangeBoundary::FromConstant(0),
-      RangeBoundary::FromConstant(-1)).ConstantValue() == 0);
+  EXPECT(RangeBoundary::IntersectionMin(RangeBoundary::FromConstant(0),
+                                        RangeBoundary::FromConstant(-1))
+             .ConstantValue() == 0);
 
   // MAX(1, 0) == 1
-  EXPECT(RangeBoundary::IntersectionMin(
-      RangeBoundary::FromConstant(1),
-      RangeBoundary::FromConstant(0)).ConstantValue() == 1);
+  EXPECT(RangeBoundary::IntersectionMin(RangeBoundary::FromConstant(1),
+                                        RangeBoundary::FromConstant(0))
+             .ConstantValue() == 1);
   // MAX(-1, 0) == 0
-  EXPECT(RangeBoundary::IntersectionMin(
-      RangeBoundary::FromConstant(-1),
-      RangeBoundary::FromConstant(0)).ConstantValue() == 0);
+  EXPECT(RangeBoundary::IntersectionMin(RangeBoundary::FromConstant(-1),
+                                        RangeBoundary::FromConstant(0))
+             .ConstantValue() == 0);
 
   RangeBoundary n_infinity = RangeBoundary::NegativeInfinity();
   RangeBoundary p_infinity = RangeBoundary::PositiveInfinity();
 
   // Constants vs. infinity.
-  EXPECT(RangeBoundary::IntersectionMin(
-      n_infinity,
-      RangeBoundary::FromConstant(-1)).ConstantValue() == -1);
+  EXPECT(RangeBoundary::IntersectionMin(n_infinity,
+                                        RangeBoundary::FromConstant(-1))
+             .ConstantValue() == -1);
 
-  EXPECT(RangeBoundary::IntersectionMin(
-      RangeBoundary::FromConstant(-1),
-      n_infinity).ConstantValue() == -1);
+  EXPECT(RangeBoundary::IntersectionMin(RangeBoundary::FromConstant(-1),
+                                        n_infinity)
+             .ConstantValue() == -1);
 
-  EXPECT(RangeBoundary::IntersectionMin(
-      RangeBoundary::FromConstant(1),
-      n_infinity).ConstantValue() == 1);
+  EXPECT(
+      RangeBoundary::IntersectionMin(RangeBoundary::FromConstant(1), n_infinity)
+          .ConstantValue() == 1);
 
-  EXPECT(RangeBoundary::IntersectionMin(
-      n_infinity,
-      RangeBoundary::FromConstant(1)).ConstantValue() == 1);
+  EXPECT(
+      RangeBoundary::IntersectionMin(n_infinity, RangeBoundary::FromConstant(1))
+          .ConstantValue() == 1);
 
-  EXPECT(RangeBoundary::IntersectionMax(
-      p_infinity,
-      RangeBoundary::FromConstant(-1)).ConstantValue() == -1);
+  EXPECT(RangeBoundary::IntersectionMax(p_infinity,
+                                        RangeBoundary::FromConstant(-1))
+             .ConstantValue() == -1);
 
-  EXPECT(RangeBoundary::IntersectionMax(
-      RangeBoundary::FromConstant(-1),
-      p_infinity).ConstantValue() == -1);
+  EXPECT(RangeBoundary::IntersectionMax(RangeBoundary::FromConstant(-1),
+                                        p_infinity)
+             .ConstantValue() == -1);
 
-  EXPECT(RangeBoundary::IntersectionMax(
-      RangeBoundary::FromConstant(1),
-      p_infinity).ConstantValue() == 1);
+  EXPECT(
+      RangeBoundary::IntersectionMax(RangeBoundary::FromConstant(1), p_infinity)
+          .ConstantValue() == 1);
 
-  EXPECT(RangeBoundary::IntersectionMax(
-      p_infinity,
-      RangeBoundary::FromConstant(1)).ConstantValue() == 1);
+  EXPECT(
+      RangeBoundary::IntersectionMax(p_infinity, RangeBoundary::FromConstant(1))
+          .ConstantValue() == 1);
 }
 
 
@@ -627,82 +565,66 @@
   const RangeBoundary::RangeSize size = RangeBoundary::kRangeBoundarySmi;
 
   // Constants.
-  EXPECT(RangeBoundary::JoinMax(
-      RangeBoundary::FromConstant(0),
-      RangeBoundary::FromConstant(1),
-      size).ConstantValue() == 1);
-  EXPECT(RangeBoundary::JoinMax(
-      RangeBoundary::FromConstant(0),
-      RangeBoundary::FromConstant(-1),
-      size).ConstantValue() == 0);
-  EXPECT(RangeBoundary::JoinMax(
-      RangeBoundary::FromConstant(1),
-      RangeBoundary::FromConstant(0),
-      size).ConstantValue() == 1);
-  EXPECT(RangeBoundary::JoinMax(
-      RangeBoundary::FromConstant(-1),
-      RangeBoundary::FromConstant(0),
-      size).ConstantValue() == 0);
-  EXPECT(RangeBoundary::JoinMin(
-      RangeBoundary::FromConstant(0),
-      RangeBoundary::FromConstant(1),
-      size).ConstantValue() == 0);
-  EXPECT(RangeBoundary::JoinMin(
-      RangeBoundary::FromConstant(0),
-      RangeBoundary::FromConstant(-1),
-      size).ConstantValue() == -1);
-  EXPECT(RangeBoundary::JoinMin(
-      RangeBoundary::FromConstant(1),
-      RangeBoundary::FromConstant(0),
-      size).ConstantValue() == 0);
-  EXPECT(RangeBoundary::JoinMin(
-      RangeBoundary::FromConstant(-1),
-      RangeBoundary::FromConstant(0),
-      size).ConstantValue() == -1);
+  EXPECT(RangeBoundary::JoinMax(RangeBoundary::FromConstant(0),
+                                RangeBoundary::FromConstant(1), size)
+             .ConstantValue() == 1);
+  EXPECT(RangeBoundary::JoinMax(RangeBoundary::FromConstant(0),
+                                RangeBoundary::FromConstant(-1), size)
+             .ConstantValue() == 0);
+  EXPECT(RangeBoundary::JoinMax(RangeBoundary::FromConstant(1),
+                                RangeBoundary::FromConstant(0), size)
+             .ConstantValue() == 1);
+  EXPECT(RangeBoundary::JoinMax(RangeBoundary::FromConstant(-1),
+                                RangeBoundary::FromConstant(0), size)
+             .ConstantValue() == 0);
+  EXPECT(RangeBoundary::JoinMin(RangeBoundary::FromConstant(0),
+                                RangeBoundary::FromConstant(1), size)
+             .ConstantValue() == 0);
+  EXPECT(RangeBoundary::JoinMin(RangeBoundary::FromConstant(0),
+                                RangeBoundary::FromConstant(-1), size)
+             .ConstantValue() == -1);
+  EXPECT(RangeBoundary::JoinMin(RangeBoundary::FromConstant(1),
+                                RangeBoundary::FromConstant(0), size)
+             .ConstantValue() == 0);
+  EXPECT(RangeBoundary::JoinMin(RangeBoundary::FromConstant(-1),
+                                RangeBoundary::FromConstant(0), size)
+             .ConstantValue() == -1);
 
   RangeBoundary n_infinity = RangeBoundary::NegativeInfinity();
   RangeBoundary p_infinity = RangeBoundary::PositiveInfinity();
 
   // Constants vs. infinity.
-  EXPECT(RangeBoundary::JoinMin(
-      n_infinity,
-      RangeBoundary::FromConstant(-1),
-      size).IsMinimumOrBelow(size));
+  EXPECT(
+      RangeBoundary::JoinMin(n_infinity, RangeBoundary::FromConstant(-1), size)
+          .IsMinimumOrBelow(size));
 
-  EXPECT(RangeBoundary::JoinMin(
-      RangeBoundary::FromConstant(-1),
-      n_infinity,
-      size).IsMinimumOrBelow(size));
+  EXPECT(
+      RangeBoundary::JoinMin(RangeBoundary::FromConstant(-1), n_infinity, size)
+          .IsMinimumOrBelow(size));
 
-  EXPECT(RangeBoundary::JoinMin(
-      RangeBoundary::FromConstant(1),
-      n_infinity,
-      size).IsMinimumOrBelow(size));
+  EXPECT(
+      RangeBoundary::JoinMin(RangeBoundary::FromConstant(1), n_infinity, size)
+          .IsMinimumOrBelow(size));
 
-  EXPECT(RangeBoundary::JoinMin(
-      n_infinity,
-      RangeBoundary::FromConstant(1),
-      size).IsMinimumOrBelow(size));
+  EXPECT(
+      RangeBoundary::JoinMin(n_infinity, RangeBoundary::FromConstant(1), size)
+          .IsMinimumOrBelow(size));
 
-  EXPECT(RangeBoundary::JoinMax(
-      p_infinity,
-      RangeBoundary::FromConstant(-1),
-      size).IsMaximumOrAbove(size));
+  EXPECT(
+      RangeBoundary::JoinMax(p_infinity, RangeBoundary::FromConstant(-1), size)
+          .IsMaximumOrAbove(size));
 
-  EXPECT(RangeBoundary::JoinMax(
-      RangeBoundary::FromConstant(-1),
-      p_infinity,
-      size).IsMaximumOrAbove(size));
+  EXPECT(
+      RangeBoundary::JoinMax(RangeBoundary::FromConstant(-1), p_infinity, size)
+          .IsMaximumOrAbove(size));
 
-  EXPECT(RangeBoundary::JoinMax(
-      RangeBoundary::FromConstant(1),
-      p_infinity,
-      size).IsMaximumOrAbove(size));
+  EXPECT(
+      RangeBoundary::JoinMax(RangeBoundary::FromConstant(1), p_infinity, size)
+          .IsMaximumOrAbove(size));
 
-  EXPECT(RangeBoundary::JoinMax(
-      p_infinity,
-      RangeBoundary::FromConstant(1),
-      size).IsMaximumOrAbove(size));
+  EXPECT(
+      RangeBoundary::JoinMax(p_infinity, RangeBoundary::FromConstant(1), size)
+          .IsMaximumOrAbove(size));
 }
 
 }  // namespace dart
diff --git a/runtime/vm/flow_graph_type_propagator.cc b/runtime/vm/flow_graph_type_propagator.cc
index 4b953752..bc4a844 100644
--- a/runtime/vm/flow_graph_type_propagator.cc
+++ b/runtime/vm/flow_graph_type_propagator.cc
@@ -12,7 +12,9 @@
 
 namespace dart {
 
-DEFINE_FLAG(bool, trace_type_propagation, false,
+DEFINE_FLAG(bool,
+            trace_type_propagation,
+            false,
             "Trace flow graph type propagation");
 
 DECLARE_FLAG(bool, propagate_types);
@@ -22,8 +24,7 @@
 #ifndef PRODUCT
   Thread* thread = flow_graph->thread();
   TimelineStream* compiler_timeline = Timeline::GetCompilerStream();
-  TimelineDurationScope tds2(thread,
-                             compiler_timeline,
+  TimelineDurationScope tds2(thread, compiler_timeline,
                              "FlowGraphTypePropagator");
 #endif  // !PRODUCT
   FlowGraphTypePropagator propagator(flow_graph);
@@ -34,11 +35,13 @@
 FlowGraphTypePropagator::FlowGraphTypePropagator(FlowGraph* flow_graph)
     : FlowGraphVisitor(flow_graph->reverse_postorder()),
       flow_graph_(flow_graph),
-      visited_blocks_(new(flow_graph->zone()) BitVector(
-          flow_graph->zone(), flow_graph->reverse_postorder().length())),
+      visited_blocks_(new (flow_graph->zone())
+                          BitVector(flow_graph->zone(),
+                                    flow_graph->reverse_postorder().length())),
       types_(flow_graph->current_ssa_temp_index()),
-      in_worklist_(new(flow_graph->zone()) BitVector(
-          flow_graph->zone(), flow_graph->current_ssa_temp_index())),
+      in_worklist_(new (flow_graph->zone())
+                       BitVector(flow_graph->zone(),
+                                 flow_graph->current_ssa_temp_index())),
       asserts_(NULL),
       collected_asserts_(NULL) {
   for (intptr_t i = 0; i < flow_graph->current_ssa_temp_index(); i++) {
@@ -80,16 +83,14 @@
   while (!worklist_.is_empty()) {
     Definition* def = RemoveLastFromWorklist();
     if (FLAG_support_il_printer && FLAG_trace_type_propagation) {
-      THR_Print("recomputing type of v%" Pd ": %s\n",
-                def->ssa_temp_index(),
+      THR_Print("recomputing type of v%" Pd ": %s\n", def->ssa_temp_index(),
                 def->Type()->ToCString());
     }
     if (def->RecomputeType()) {
       if (FLAG_support_il_printer && FLAG_trace_type_propagation) {
         THR_Print("  ... new type %s\n", def->Type()->ToCString());
       }
-      for (Value::Iterator it(def->input_use_list());
-           !it.Done();
+      for (Value::Iterator it(def->input_use_list()); !it.Done();
            it.Advance()) {
         Instruction* instr = it.Current()->instruction();
 
@@ -218,8 +219,7 @@
   if (FLAG_support_il_printer && FLAG_trace_type_propagation) {
     THR_Print("reaching type to %s for v%" Pd " is %s\n",
               value->instruction()->ToCString(),
-              value->definition()->ssa_temp_index(),
-              type->ToCString());
+              value->definition()->ssa_temp_index(), type->ToCString());
   }
 }
 
@@ -264,8 +264,7 @@
 
 void FlowGraphTypePropagator::VisitInstanceCall(InstanceCallInstr* instr) {
   if (instr->has_unique_selector()) {
-    SetCid(instr->ArgumentAt(0),
-           instr->ic_data()->GetReceiverClassIdAt(0));
+    SetCid(instr->ArgumentAt(0), instr->ic_data()->GetReceiverClassIdAt(0));
   }
 }
 
@@ -273,8 +272,7 @@
 void FlowGraphTypePropagator::VisitPolymorphicInstanceCall(
     PolymorphicInstanceCallInstr* instr) {
   if (instr->instance_call()->has_unique_selector()) {
-    SetCid(instr->ArgumentAt(0),
-           instr->ic_data().GetReceiverClassIdAt(0));
+    SetCid(instr->ArgumentAt(0), instr->ic_data().GetReceiverClassIdAt(0));
   }
 }
 
@@ -282,16 +280,14 @@
 void FlowGraphTypePropagator::VisitGuardFieldClass(
     GuardFieldClassInstr* guard) {
   const intptr_t cid = guard->field().guarded_cid();
-  if ((cid == kIllegalCid) ||
-      (cid == kDynamicCid) ||
+  if ((cid == kIllegalCid) || (cid == kDynamicCid) ||
       Field::IsExternalizableCid(cid)) {
     return;
   }
 
   Definition* def = guard->value()->definition();
   CompileType* current = TypeOf(def);
-  if (current->IsNone() ||
-      (current->ToCid() != cid) ||
+  if (current->IsNone() || (current->ToCid() != cid) ||
       (current->is_nullable() && !guard->field().is_nullable())) {
     const bool is_nullable =
         guard->field().is_nullable() && current->is_nullable();
@@ -377,17 +373,14 @@
   if (check->IsCheckSmi()) {
     check_clone =
         new CheckSmiInstr(assert->value()->Copy(zone()),
-                          assert->env()->deopt_id(),
-                          check->token_pos());
+                          assert->env()->deopt_id(), check->token_pos());
     check_clone->AsCheckSmi()->set_licm_hoisted(
         check->AsCheckSmi()->licm_hoisted());
   } else {
     ASSERT(check->IsCheckClass());
-    check_clone =
-        new CheckClassInstr(assert->value()->Copy(zone()),
-                            assert->env()->deopt_id(),
-                            check->AsCheckClass()->unary_checks(),
-                            check->token_pos());
+    check_clone = new CheckClassInstr(
+        assert->value()->Copy(zone()), assert->env()->deopt_id(),
+        check->AsCheckClass()->unary_checks(), check->token_pos());
     check_clone->AsCheckClass()->set_licm_hoisted(
         check->AsCheckClass()->licm_hoisted());
   }
@@ -429,15 +422,15 @@
 
   const AbstractType* compile_type = ToAbstractType();
   const AbstractType* other_compile_type = other->ToAbstractType();
-  if (compile_type->IsMoreSpecificThan(
-          *other_compile_type, NULL, NULL, Heap::kOld)) {
+  if (compile_type->IsMoreSpecificThan(*other_compile_type, NULL, NULL,
+                                       Heap::kOld)) {
     type_ = other_compile_type;
-  } else if (other_compile_type->
-      IsMoreSpecificThan(*compile_type, NULL, NULL, Heap::kOld)) {
-  // Nothing to do.
+  } else if (other_compile_type->IsMoreSpecificThan(*compile_type, NULL, NULL,
+                                                    Heap::kOld)) {
+    // Nothing to do.
   } else {
-  // Can't unify.
-  type_ = &Object::dynamic_type();
+    // Can't unify.
+    type_ = &Object::dynamic_type();
   }
 }
 
@@ -528,7 +521,7 @@
                    thread->isolate()->all_classes_finalized()) {
           if (FLAG_trace_cha) {
             THR_Print("  **(CHA) Compile type not subclassed: %s\n",
-                type_class.ToCString());
+                      type_class.ToCString());
           }
           if (FLAG_use_cha_deopt) {
             cha->AddToGuardedClasses(type_class, /*subclass_count=*/0);
@@ -624,8 +617,8 @@
   // except generative constructors, which return the object being constructed.
   // It is therefore acceptable for void functions to return null.
   if (compile_type.IsNullType()) {
-    *is_instance = is_nullable ||
-        type.IsObjectType() || type.IsDynamicType() || type.IsVoidType();
+    *is_instance = is_nullable || type.IsObjectType() || type.IsDynamicType() ||
+                   type.IsVoidType();
     return true;
   }
 
@@ -680,9 +673,7 @@
   for (intptr_t i = 0; i < InputCount(); i++) {
     if (FLAG_support_il_printer && FLAG_trace_type_propagation) {
       THR_Print("  phi %" Pd " input %" Pd ": v%" Pd " has reaching type %s\n",
-                ssa_temp_index(),
-                i,
-                InputAt(i)->definition()->ssa_temp_index(),
+                ssa_temp_index(), i, InputAt(i)->definition()->ssa_temp_index(),
                 InputAt(i)->Type()->ToCString());
     }
     result.Union(InputAt(i)->Type());
@@ -744,7 +735,8 @@
         return CompileType::FromCid(function.string_specialization_cid());
       case RegExpMacroAssembler::kParamStartOffsetIndex:
         return CompileType::FromCid(kSmiCid);
-      default: UNREACHABLE();
+      default:
+        UNREACHABLE();
     }
     UNREACHABLE();
     return CompileType::Dynamic();
@@ -774,13 +766,14 @@
           if (FLAG_use_cha_deopt ||
               thread->isolate()->all_classes_finalized()) {
             if (FLAG_trace_cha) {
-              THR_Print("  **(CHA) Computing exact type of receiver, "
+              THR_Print(
+                  "  **(CHA) Computing exact type of receiver, "
                   "no subclasses: %s\n",
                   type_class.ToCString());
             }
             if (FLAG_use_cha_deopt) {
-              thread->cha()->AddToGuardedClasses(
-                  type_class, /*subclass_count=*/0);
+              thread->cha()->AddToGuardedClasses(type_class,
+                                                 /*subclass_count=*/0);
             }
             cid = type_class.id();
           }
@@ -811,8 +804,8 @@
   }
 
   if (value().IsInstance()) {
-    return CompileType::Create(cid,
-        AbstractType::ZoneHandle(Instance::Cast(value()).GetType()));
+    return CompileType::Create(
+        cid, AbstractType::ZoneHandle(Instance::Cast(value()).GetType()));
   } else {
     // Type info for non-instance objects.
     return CompileType::FromCid(cid);
@@ -884,29 +877,25 @@
 
 
 CompileType CurrentContextInstr::ComputeType() const {
-  return CompileType(CompileType::kNonNullable,
-                     kContextCid,
+  return CompileType(CompileType::kNonNullable, kContextCid,
                      &Object::dynamic_type());
 }
 
 
 CompileType CloneContextInstr::ComputeType() const {
-  return CompileType(CompileType::kNonNullable,
-                     kContextCid,
+  return CompileType(CompileType::kNonNullable, kContextCid,
                      &Object::dynamic_type());
 }
 
 
 CompileType AllocateContextInstr::ComputeType() const {
-  return CompileType(CompileType::kNonNullable,
-                     kContextCid,
+  return CompileType(CompileType::kNonNullable, kContextCid,
                      &Object::dynamic_type());
 }
 
 
 CompileType AllocateUninitializedContextInstr::ComputeType() const {
-  return CompileType(CompileType::kNonNullable,
-                     kContextCid,
+  return CompileType(CompileType::kNonNullable, kContextCid,
                      &Object::dynamic_type());
 }
 
@@ -915,8 +904,8 @@
   if (!HasSingleRecognizedTarget()) return CompileType::Dynamic();
   const Function& target = Function::Handle(ic_data().GetTargetAt(0));
   return (target.recognized_kind() != MethodRecognizer::kUnknown)
-      ? CompileType::FromCid(MethodRecognizer::ResultCid(target))
-      : CompileType::Dynamic();
+             ? CompileType::FromCid(MethodRecognizer::ResultCid(target))
+             : CompileType::Dynamic();
 }
 
 
@@ -930,9 +919,9 @@
     // from the function.
     const AbstractType& result_type =
         AbstractType::ZoneHandle(function().result_type());
-    return CompileType::FromAbstractType(result_type.IsVoidType()
-        ? AbstractType::ZoneHandle(Type::NullType())
-        : result_type);
+    return CompileType::FromAbstractType(
+        result_type.IsVoidType() ? AbstractType::ZoneHandle(Type::NullType())
+                                 : result_type);
   }
 
   return CompileType::Dynamic();
@@ -964,7 +953,7 @@
 
 
 CompileType StringToCharCodeInstr::ComputeType() const {
-    return CompileType::FromCid(kSmiCid);
+  return CompileType::FromCid(kSmiCid);
 }
 
 
@@ -988,8 +977,7 @@
     if (!FLAG_fields_may_be_reset) {
       const Instance& obj = Instance::Handle(field.StaticValue());
       if ((obj.raw() != Object::sentinel().raw()) &&
-          (obj.raw() != Object::transition_sentinel().raw()) &&
-          !obj.IsNull()) {
+          (obj.raw() != Object::transition_sentinel().raw()) && !obj.IsNull()) {
         is_nullable = CompileType::kNonNullable;
         cid = obj.GetClassId();
       }
@@ -1014,8 +1002,7 @@
 CompileType AllocateObjectInstr::ComputeType() const {
   if (!closure_function().IsNull()) {
     ASSERT(cls().id() == kClosureCid);
-    return CompileType(CompileType::kNonNullable,
-                       kClosureCid,
+    return CompileType(CompileType::kNonNullable, kClosureCid,
                        &Type::ZoneHandle(closure_function().SignatureType()));
   }
   // TODO(vegorov): Incorporate type arguments into the returned type.
@@ -1045,13 +1032,14 @@
   if (Isolate::Current()->type_checks() &&
       (type().IsFunctionType() ||
        (type().HasResolvedTypeClass() &&
-       !Field::IsExternalizableCid(Class::Handle(type().type_class()).id())))) {
+        !Field::IsExternalizableCid(
+            Class::Handle(type().type_class()).id())))) {
     abstract_type = &type();
   }
 
   if ((field_ != NULL) && (field_->guarded_cid() != kIllegalCid)) {
     bool is_nullable = field_->is_nullable();
-    intptr_t field_cid =  field_->guarded_cid();
+    intptr_t field_cid = field_->guarded_cid();
     if (Field::IsExternalizableCid(field_cid)) {
       // We cannot assume that the type of the value in the field has not
       // changed on the fly.
diff --git a/runtime/vm/flow_graph_type_propagator.h b/runtime/vm/flow_graph_type_propagator.h
index 421b76e..0e23e5e 100644
--- a/runtime/vm/flow_graph_type_propagator.h
+++ b/runtime/vm/flow_graph_type_propagator.h
@@ -77,13 +77,10 @@
   class RollbackEntry {
    public:
     // Default constructor needed for the container.
-    RollbackEntry()
-        : index_(), type_() {
-    }
+    RollbackEntry() : index_(), type_() {}
 
     RollbackEntry(intptr_t index, CompileType* type)
-        : index_(index), type_(type) {
-    }
+        : index_(index), type_(type) {}
 
     intptr_t index() const { return index_; }
     CompileType* type() const { return type_; }
diff --git a/runtime/vm/freelist.cc b/runtime/vm/freelist.cc
index ceae578..cdb83fa 100644
--- a/runtime/vm/freelist.cc
+++ b/runtime/vm/freelist.cc
@@ -77,10 +77,8 @@
   if ((index != kNumLists) && free_map_.Test(index)) {
     FreeListElement* element = DequeueElement(index);
     if (is_protected) {
-      bool status =
-          VirtualMemory::Protect(reinterpret_cast<void*>(element),
-                                 size,
-                                 VirtualMemory::kReadWrite);
+      bool status = VirtualMemory::Protect(reinterpret_cast<void*>(element),
+                                           size, VirtualMemory::kReadWrite);
       ASSERT(status);
     }
     return reinterpret_cast<uword>(element);
@@ -103,8 +101,7 @@
             size + FreeListElement::HeaderSizeFor(remainder_size);
         bool status =
             VirtualMemory::Protect(reinterpret_cast<void*>(element),
-                                   region_size,
-                                   VirtualMemory::kReadWrite);
+                                   region_size, VirtualMemory::kReadWrite);
         ASSERT(status);
       }
       SplitElementAfterAndEnqueue(element, size, is_protected);
@@ -127,8 +124,7 @@
         // the call to SplitElementAfterAndEnqueue.
         bool status =
             VirtualMemory::Protect(reinterpret_cast<void*>(current),
-                                   region_size,
-                                   VirtualMemory::kReadWrite);
+                                   region_size, VirtualMemory::kReadWrite);
         ASSERT(status);
       }
 
@@ -151,16 +147,14 @@
         if (target_is_protected) {
           bool status =
               VirtualMemory::Protect(reinterpret_cast<void*>(target_address),
-                                     kWordSize,
-                                     VirtualMemory::kReadWrite);
+                                     kWordSize, VirtualMemory::kReadWrite);
           ASSERT(status);
         }
         previous->set_next(current->next());
         if (target_is_protected) {
           bool status =
               VirtualMemory::Protect(reinterpret_cast<void*>(target_address),
-                                     kWordSize,
-                                     VirtualMemory::kReadExecute);
+                                     kWordSize, VirtualMemory::kReadExecute);
           ASSERT(status);
         }
       }
@@ -220,8 +214,8 @@
   FreeListElement* next = free_lists_[index];
   if (next == NULL && index != kNumLists) {
     free_map_.Set(index, true);
-    last_free_small_size_ = Utils::Maximum(last_free_small_size_,
-                                           index << kObjectAlignmentLog2);
+    last_free_small_size_ =
+        Utils::Maximum(last_free_small_size_, index << kObjectAlignmentLog2);
   }
   element->set_next(next);
   free_lists_[index] = element;
@@ -273,13 +267,12 @@
     small_objects += list_length;
     intptr_t list_bytes = list_length * i * kObjectAlignment;
     small_bytes += list_bytes;
-    OS::Print("small %3d [%8d bytes] : "
-              "%8" Pd " objs; %8.1f KB; %8.1f cum KB\n",
-              i,
-              i * kObjectAlignment,
-              list_length,
-              list_bytes / static_cast<double>(KB),
-              small_bytes / static_cast<double>(KB));
+    OS::Print(
+        "small %3d [%8d bytes] : "
+        "%8" Pd " objs; %8.1f KB; %8.1f cum KB\n",
+        i, i * kObjectAlignment, list_length,
+        list_bytes / static_cast<double>(KB),
+        small_bytes / static_cast<double>(KB));
   }
 }
 
@@ -333,11 +326,10 @@
     intptr_t list_length = pair->second();
     intptr_t list_bytes = list_length * size;
     large_bytes += list_bytes;
-    OS::Print("large %3" Pd " [%8" Pd " bytes] : "
+    OS::Print("large %3" Pd " [%8" Pd
+              " bytes] : "
               "%8" Pd " objs; %8.1f KB; %8.1f cum KB\n",
-              size / kObjectAlignment,
-              size,
-              list_length,
+              size / kObjectAlignment, size, list_length,
               list_bytes / static_cast<double>(KB),
               large_bytes / static_cast<double>(KB));
   }
@@ -373,8 +365,7 @@
       !VirtualMemory::InSamePage(remainder_address - 1, remainder_address)) {
     bool status =
         VirtualMemory::Protect(reinterpret_cast<void*>(remainder_address),
-                               remainder_size,
-                               VirtualMemory::kReadExecute);
+                               remainder_size, VirtualMemory::kReadExecute);
     ASSERT(status);
   }
 }
diff --git a/runtime/vm/freelist.h b/runtime/vm/freelist.h
index 22744a1..068c4e2 100644
--- a/runtime/vm/freelist.h
+++ b/runtime/vm/freelist.h
@@ -22,16 +22,10 @@
 // A FreeListElement never has its header mark bit set.
 class FreeListElement {
  public:
-  FreeListElement* next() const {
-    return next_;
-  }
-  uword next_address() const {
-    return reinterpret_cast<uword>(&next_);
-  }
+  FreeListElement* next() const { return next_; }
+  uword next_address() const { return reinterpret_cast<uword>(&next_); }
 
-  void set_next(FreeListElement* next) {
-    next_ = next;
-  }
+  void set_next(FreeListElement* next) { next_ = next; }
 
   intptr_t Size() {
     intptr_t size = RawObject::SizeTag::decode(tags_);
@@ -48,7 +42,7 @@
   // Used to allocate class for free list elements in Object::InitOnce.
   class FakeInstance {
    public:
-    FakeInstance() { }
+    FakeInstance() {}
     static cpp_vtable vtable() { return 0; }
     static intptr_t InstanceSize() { return 0; }
     static intptr_t NextFieldOffset() { return -kWordSize; }
diff --git a/runtime/vm/freelist_test.cc b/runtime/vm/freelist_test.cc
index 1945a30..2d0aab9 100644
--- a/runtime/vm/freelist_test.cc
+++ b/runtime/vm/freelist_test.cc
@@ -11,8 +11,7 @@
 static uword Allocate(FreeList* free_list, intptr_t size, bool is_protected) {
   uword result = free_list->TryAllocate(size, is_protected);
   if (result && is_protected) {
-    bool status = VirtualMemory::Protect(reinterpret_cast<void*>(result),
-                                         size,
+    bool status = VirtualMemory::Protect(reinterpret_cast<void*>(result), size,
                                          VirtualMemory::kReadExecute);
     ASSERT(status);
   }
@@ -25,15 +24,13 @@
                  intptr_t size,
                  bool is_protected) {
   if (is_protected) {
-    bool status = VirtualMemory::Protect(reinterpret_cast<void*>(address),
-                                         size,
+    bool status = VirtualMemory::Protect(reinterpret_cast<void*>(address), size,
                                          VirtualMemory::kReadWrite);
     ASSERT(status);
   }
   free_list->Free(address, size);
   if (is_protected) {
-    bool status = VirtualMemory::Protect(reinterpret_cast<void*>(address),
-                                         size,
+    bool status = VirtualMemory::Protect(reinterpret_cast<void*>(address), size,
                                          VirtualMemory::kReadExecute);
     ASSERT(status);
   }
@@ -133,9 +130,7 @@
 
   // Allocate small objects.
   for (intptr_t i = 0; i < blob->size() / kObjectSize; i++) {
-    objects[i] = Allocate(free_list,
-                          kObjectSize,
-                          true);  // is_protected
+    objects[i] = Allocate(free_list, kObjectSize, true);  // is_protected
   }
 
   // All space is occupied. Expect failed allocation.
diff --git a/runtime/vm/gc_marker.cc b/runtime/vm/gc_marker.cc
index 76cdd5e..86c5ae3 100644
--- a/runtime/vm/gc_marker.cc
+++ b/runtime/vm/gc_marker.cc
@@ -25,9 +25,7 @@
  public:
   SkippedCodeFunctions() {}
 
-  void Add(RawFunction* func) {
-    skipped_code_functions_.Add(func);
-  }
+  void Add(RawFunction* func) { skipped_code_functions_.Add(func); }
 
   void DetachCode() {
 #if defined(DART_PRECOMPILED_RUNTIME)
@@ -42,9 +40,8 @@
         // If the code wasn't strongly visited through other references
         // after skipping the function's code pointer, then we disconnect the
         // code from the function.
-        func->StorePointer(
-            &(func->ptr()->code_),
-            StubCode::LazyCompile_entry()->code());
+        func->StorePointer(&(func->ptr()->code_),
+                           StubCode::LazyCompile_entry()->code());
         uword entry_point = StubCode::LazyCompile_entry()->EntryPoint();
         func->ptr()->entry_point_ = entry_point;
         if (FLAG_log_code_drop) {
@@ -141,14 +138,14 @@
 };
 
 
-template<bool sync>
+template <bool sync>
 class MarkingVisitorBase : public ObjectPointerVisitor {
  public:
   MarkingVisitorBase(Isolate* isolate,
-                 Heap* heap,
-                 PageSpace* page_space,
-                 MarkingStack* marking_stack,
-                 SkippedCodeFunctions* skipped_code_functions)
+                     Heap* heap,
+                     PageSpace* page_space,
+                     MarkingStack* marking_stack,
+                     SkippedCodeFunctions* skipped_code_functions)
       : ObjectPointerVisitor(isolate),
         thread_(Thread::Current()),
         heap_(heap),
@@ -177,9 +174,7 @@
     return class_stats_count_[class_id];
   }
 
-  intptr_t live_size(intptr_t class_id) {
-    return class_stats_size_[class_id];
-  }
+  intptr_t live_size(intptr_t class_id) { return class_stats_size_[class_id]; }
 
   bool ProcessPendingWeakProperties() {
     bool marked = false;
@@ -250,9 +245,7 @@
     }
   }
 
-  bool visit_function_code() const {
-    return skipped_code_functions_ == NULL;
-  }
+  bool visit_function_code() const { return skipped_code_functions_ == NULL; }
 
   virtual void add_skipped_code_function(RawFunction* func) {
     ASSERT(!visit_function_code());
@@ -272,8 +265,7 @@
   intptr_t ProcessWeakProperty(RawWeakProperty* raw_weak) {
     // The fate of the weak property is determined by its key.
     RawObject* raw_key = raw_weak->ptr()->key_;
-    if (raw_key->IsHeapObject() &&
-        raw_key->IsOldObject() &&
+    if (raw_key->IsHeapObject() && raw_key->IsOldObject() &&
         !raw_key->IsMarked()) {
       // Key was white. Enqueue the weak property.
       EnqueueWeakProperty(raw_weak);
@@ -313,9 +305,9 @@
  private:
   void PushMarked(RawObject* raw_obj) {
     ASSERT(raw_obj->IsHeapObject());
-    ASSERT((FLAG_verify_before_gc || FLAG_verify_before_gc) ?
-           page_space_->Contains(RawObject::ToAddr(raw_obj)) :
-           true);
+    ASSERT((FLAG_verify_before_gc || FLAG_verify_before_gc)
+               ? page_space_->Contains(RawObject::ToAddr(raw_obj))
+               : true);
 
     // Push the marked object on the marking stack.
     ASSERT(raw_obj->IsMarked());
@@ -438,8 +430,8 @@
 
 class MarkingWeakVisitor : public HandleVisitor {
  public:
-  MarkingWeakVisitor(Thread* thread, FinalizationQueue* queue) :
-      HandleVisitor(thread), queue_(queue) { }
+  MarkingWeakVisitor(Thread* thread, FinalizationQueue* queue)
+      : HandleVisitor(thread), queue_(queue) {}
 
   void VisitHandle(uword addr) {
     FinalizablePersistentHandle* handle =
@@ -476,7 +468,8 @@
 
 void GCMarker::IterateRoots(Isolate* isolate,
                             ObjectPointerVisitor* visitor,
-                            intptr_t slice_index, intptr_t num_slices) {
+                            intptr_t slice_index,
+                            intptr_t num_slices) {
   ASSERT(0 <= slice_index && slice_index < num_slices);
   if ((slice_index == 0) || (num_slices <= 1)) {
     isolate->VisitObjectPointers(visitor,
@@ -499,11 +492,9 @@
 
 
 void GCMarker::ProcessWeakTables(PageSpace* page_space) {
-  for (int sel = 0;
-       sel < Heap::kNumWeakSelectors;
-       sel++) {
-    WeakTable* table = heap_->GetWeakTable(
-        Heap::kOld, static_cast<Heap::WeakSelector>(sel));
+  for (int sel = 0; sel < Heap::kNumWeakSelectors; sel++) {
+    WeakTable* table =
+        heap_->GetWeakTable(Heap::kOld, static_cast<Heap::WeakSelector>(sel));
     intptr_t size = table->size();
     for (intptr_t i = 0; i < size; i++) {
       if (table->IsValidEntryAt(i)) {
@@ -520,8 +511,8 @@
 
 class ObjectIdRingClearPointerVisitor : public ObjectPointerVisitor {
  public:
-  explicit ObjectIdRingClearPointerVisitor(Isolate* isolate) :
-      ObjectPointerVisitor(isolate) {}
+  explicit ObjectIdRingClearPointerVisitor(Isolate* isolate)
+      : ObjectPointerVisitor(isolate) {}
 
 
   void VisitPointers(RawObject** first, RawObject** last) {
@@ -571,8 +562,7 @@
         collect_code_(collect_code),
         task_index_(task_index),
         num_tasks_(num_tasks),
-        num_busy_(num_busy) {
-  }
+        num_busy_(num_busy) {}
 
   virtual void Run() {
     bool result =
@@ -584,7 +574,7 @@
       StackZone stack_zone(thread);
       Zone* zone = stack_zone.GetZone();
       SkippedCodeFunctions* skipped_code_functions =
-          collect_code_ ? new(zone) SkippedCodeFunctions() : NULL;
+          collect_code_ ? new (zone) SkippedCodeFunctions() : NULL;
       SyncMarkingVisitor visitor(isolate_, heap_, page_space_, marking_stack_,
                                  skipped_code_functions);
       // Phase 1: Iterate over roots and drain marking stack in tasks.
@@ -648,8 +638,8 @@
 
       // Phase 3: Finalize results from all markers (detach code, etc.).
       if (FLAG_log_marker_tasks) {
-        THR_Print("Task %" Pd " marked %" Pd " bytes.\n",
-                  task_index_, visitor.marked_bytes());
+        THR_Print("Task %" Pd " marked %" Pd " bytes.\n", task_index_,
+                  visitor.marked_bytes());
       }
       marker_->FinalizeResultsFrom(&visitor);
     }
@@ -675,7 +665,7 @@
 };
 
 
-template<class MarkingVisitorType>
+template <class MarkingVisitorType>
 void GCMarker::FinalizeResultsFrom(MarkingVisitorType* visitor) {
   {
     MutexLocker ml(&stats_mutex_);
@@ -714,7 +704,7 @@
     if (num_tasks == 0) {
       // Mark everything on main thread.
       SkippedCodeFunctions* skipped_code_functions =
-          collect_code ? new(zone) SkippedCodeFunctions() : NULL;
+          collect_code ? new (zone) SkippedCodeFunctions() : NULL;
       UnsyncMarkingVisitor mark(isolate, heap_, page_space, &marking_stack,
                                 skipped_code_functions);
       IterateRoots(isolate, &mark, 0, 1);
@@ -738,8 +728,7 @@
       // All marking done; detach code, etc.
       FinalizeResultsFrom(&mark);
     } else {
-      ThreadBarrier barrier(num_tasks + 1,
-                            heap_->barrier(),
+      ThreadBarrier barrier(num_tasks + 1, heap_->barrier(),
                             heap_->barrier_done());
       // Used to coordinate draining among tasks; all start out as 'busy'.
       uintptr_t num_busy = num_tasks;
@@ -747,8 +736,7 @@
       for (intptr_t i = 0; i < num_tasks; ++i) {
         MarkTask* mark_task =
             new MarkTask(this, isolate, heap_, page_space, &marking_stack,
-                         &barrier, collect_code,
-                         i, num_tasks, &num_busy);
+                         &barrier, collect_code, i, num_tasks, &num_busy);
         ThreadPool* pool = Dart::thread_pool();
         pool->Run(mark_task);
       }
diff --git a/runtime/vm/gc_marker.h b/runtime/vm/gc_marker.h
index 5a5f2ea..ace01c4 100644
--- a/runtime/vm/gc_marker.h
+++ b/runtime/vm/gc_marker.h
@@ -22,9 +22,8 @@
 // of the mark-sweep collection. The marking bit used is defined in RawObject.
 class GCMarker : public ValueObject {
  public:
-  explicit GCMarker(Heap* heap)
-      : heap_(heap), marked_bytes_(0) { }
-  ~GCMarker() { }
+  explicit GCMarker(Heap* heap) : heap_(heap), marked_bytes_(0) {}
+  ~GCMarker() {}
 
   void MarkObjects(Isolate* isolate,
                    PageSpace* page_space,
@@ -38,15 +37,16 @@
   void Epilogue(Isolate* isolate, bool invoke_api_callbacks);
   void IterateRoots(Isolate* isolate,
                     ObjectPointerVisitor* visitor,
-                    intptr_t slice_index, intptr_t num_slices);
+                    intptr_t slice_index,
+                    intptr_t num_slices);
   void IterateWeakRoots(Isolate* isolate, HandleVisitor* visitor);
-  template<class MarkingVisitorType>
+  template <class MarkingVisitorType>
   void IterateWeakReferences(Isolate* isolate, MarkingVisitorType* visitor);
   void ProcessWeakTables(PageSpace* page_space);
   void ProcessObjectIdTable(Isolate* isolate);
 
   // Called by anyone: finalize and accumulate stats from 'visitor'.
-  template<class MarkingVisitorType>
+  template <class MarkingVisitorType>
   void FinalizeResultsFrom(MarkingVisitorType* visitor);
 
   Heap* heap_;
diff --git a/runtime/vm/gc_sweeper.cc b/runtime/vm/gc_sweeper.cc
index 40ee3db..f779b49 100644
--- a/runtime/vm/gc_sweeper.cc
+++ b/runtime/vm/gc_sweeper.cc
@@ -114,8 +114,8 @@
   }
 
   virtual void Run() {
-    bool result = Thread::EnterIsolateAsHelper(task_isolate_,
-                                               Thread::kSweeperTask);
+    bool result =
+        Thread::EnterIsolateAsHelper(task_isolate_, Thread::kSweeperTask);
     ASSERT(result);
     {
       Thread* thread = Thread::Current();
@@ -168,11 +168,8 @@
                                 HeapPage* first,
                                 HeapPage* last,
                                 FreeList* freelist) {
-  SweeperTask* task =
-      new SweeperTask(isolate,
-                      isolate->heap()->old_space(),
-                      first, last,
-                      freelist);
+  SweeperTask* task = new SweeperTask(isolate, isolate->heap()->old_space(),
+                                      first, last, freelist);
   ThreadPool* pool = Dart::thread_pool();
   pool->Run(task);
 }
diff --git a/runtime/vm/globals.h b/runtime/vm/globals.h
index e65cb7d..e3045ed 100644
--- a/runtime/vm/globals.h
+++ b/runtime/vm/globals.h
@@ -25,12 +25,12 @@
 // N=30 (32-bit build) or N=62 (64-bit build).
 const intptr_t kSmiBits = kBitsPerWord - 2;
 const intptr_t kSmiMax = (static_cast<intptr_t>(1) << kSmiBits) - 1;
-const intptr_t kSmiMin =  -(static_cast<intptr_t>(1) << kSmiBits);
+const intptr_t kSmiMin = -(static_cast<intptr_t>(1) << kSmiBits);
 
 // Hard coded from above but for 32-bit architectures.
 const intptr_t kSmiBits32 = kBitsPerInt32 - 2;
 const intptr_t kSmiMax32 = (static_cast<intptr_t>(1) << kSmiBits32) - 1;
-const intptr_t kSmiMin32 =  -(static_cast<intptr_t>(1) << kSmiBits32);
+const intptr_t kSmiMin32 = -(static_cast<intptr_t>(1) << kSmiBits32);
 
 #define kPosInfinity bit_cast<double>(DART_UINT64_C(0x7ff0000000000000))
 #define kNegInfinity bit_cast<double>(DART_UINT64_C(0xfff0000000000000))
@@ -39,9 +39,9 @@
 // size_t which represents the number of elements of the given
 // array. You should only use ARRAY_SIZE on statically allocated
 // arrays.
-#define ARRAY_SIZE(array)                                       \
-  ((sizeof(array) / sizeof(*(array))) /                         \
-  static_cast<intptr_t>(!(sizeof(array) % sizeof(*(array)))))
+#define ARRAY_SIZE(array)                                                      \
+  ((sizeof(array) / sizeof(*(array))) /                                        \
+   static_cast<intptr_t>(!(sizeof(array) % sizeof(*(array)))))  // NOLINT
 
 
 // The expression OFFSET_OF(type, field) computes the byte-offset of
@@ -56,12 +56,14 @@
 const intptr_t kOffsetOfPtr = 32;
 
 #define OFFSET_OF(type, field)                                                 \
-  (reinterpret_cast<intptr_t>(&(reinterpret_cast<type*>(kOffsetOfPtr)->field)) \
-      - kOffsetOfPtr)
+  (reinterpret_cast<intptr_t>(                                                 \
+       &(reinterpret_cast<type*>(kOffsetOfPtr)->field)) -                      \
+   kOffsetOfPtr)  // NOLINT
 
 #define OFFSET_OF_RETURNED_VALUE(type, accessor)                               \
   (reinterpret_cast<intptr_t>(                                                 \
-      (reinterpret_cast<type*>(kOffsetOfPtr)->accessor())) - kOffsetOfPtr)
+       (reinterpret_cast<type*>(kOffsetOfPtr)->accessor())) -                  \
+   kOffsetOfPtr)  // NOLINT
 
 #define OPEN_ARRAY_START(type, align)                                          \
   do {                                                                         \
@@ -98,8 +100,12 @@
 // Macros to get the contents of the fp register.
 #if defined(TARGET_OS_WINDOWS)
 
+// clang-format off
 #if defined(HOST_ARCH_IA32)
-#define COPY_FP_REGISTER(fp) __asm { mov fp, ebp };  // NOLINT
+#define COPY_FP_REGISTER(fp)                                                   \
+  __asm { mov fp, ebp}                                                         \
+  ;  // NOLINT
+// clang-format on
 #elif defined(HOST_ARCH_X64)
 #define COPY_FP_REGISTER(fp) UNIMPLEMENTED();
 #else
@@ -110,19 +116,19 @@
 
 // Assume GCC-like inline syntax is valid.
 #if defined(HOST_ARCH_IA32)
-#define COPY_FP_REGISTER(fp) asm volatile ("movl %%ebp, %0" : "=r" (fp) );
+#define COPY_FP_REGISTER(fp) asm volatile("movl %%ebp, %0" : "=r"(fp));
 #elif defined(HOST_ARCH_X64)
-#define COPY_FP_REGISTER(fp) asm volatile ("movq %%rbp, %0" : "=r" (fp) );
+#define COPY_FP_REGISTER(fp) asm volatile("movq %%rbp, %0" : "=r"(fp));
 #elif defined(HOST_ARCH_ARM)
-#  if defined(TARGET_OS_MAC)
-#define COPY_FP_REGISTER(fp) asm volatile ("mov %0, r7" : "=r" (fp) );
-#  else
-#define COPY_FP_REGISTER(fp) asm volatile ("mov %0, r11" : "=r" (fp) );
-#  endif
+#if defined(TARGET_OS_MAC)
+#define COPY_FP_REGISTER(fp) asm volatile("mov %0, r7" : "=r"(fp));
+#else
+#define COPY_FP_REGISTER(fp) asm volatile("mov %0, r11" : "=r"(fp));
+#endif
 #elif defined(HOST_ARCH_ARM64)
-#define COPY_FP_REGISTER(fp) asm volatile ("mov %0, x29" : "=r" (fp) );
+#define COPY_FP_REGISTER(fp) asm volatile("mov %0, x29" : "=r"(fp));
 #elif defined(HOST_ARCH_MIPS)
-#define COPY_FP_REGISTER(fp) asm volatile ("move %0, $fp" : "=r" (fp) );
+#define COPY_FP_REGISTER(fp) asm volatile("move %0, $fp" : "=r"(fp));
 #else
 #error Unknown host architecture.
 #endif
diff --git a/runtime/vm/growable_array.h b/runtime/vm/growable_array.h
index 09df060..b2d03e0 100644
--- a/runtime/vm/growable_array.h
+++ b/runtime/vm/growable_array.h
@@ -17,7 +17,7 @@
 
 namespace dart {
 
-template<typename T, typename B, typename Allocator = Zone>
+template <typename T, typename B, typename Allocator = Zone>
 class BaseGrowableArray : public B {
  public:
   explicit BaseGrowableArray(Allocator* allocator)
@@ -31,9 +31,7 @@
     }
   }
 
-  ~BaseGrowableArray() {
-    allocator_->template Free<T>(data_, capacity_);
-  }
+  ~BaseGrowableArray() { allocator_->template Free<T>(data_, capacity_); }
 
   intptr_t length() const { return length_; }
   T* data() const { return data_; }
@@ -63,9 +61,7 @@
     return data_[index];
   }
 
-  const T& At(intptr_t index) const {
-    return operator[](index);
-  }
+  const T& At(intptr_t index) const { return operator[](index); }
 
   T& Last() const {
     ASSERT(length_ > 0);
@@ -78,9 +74,7 @@
     }
   }
 
-  void Clear() {
-    length_ = 0;
-  }
+  void Clear() { length_ = 0; }
 
   void InsertAt(intptr_t idx, const T& value) {
     Resize(length() + 1);
@@ -140,15 +134,15 @@
 };
 
 
-template<typename T, typename B, typename Allocator>
-inline void BaseGrowableArray<T, B, Allocator>::Sort(
-    int compare(const T*, const T*)) {
+template <typename T, typename B, typename Allocator>
+inline void BaseGrowableArray<T, B, Allocator>::Sort(int compare(const T*,
+                                                                 const T*)) {
   typedef int (*CompareFunction)(const void*, const void*);
   qsort(data_, length_, sizeof(T), reinterpret_cast<CompareFunction>(compare));
 }
 
 
-template<typename T, typename B, typename Allocator>
+template <typename T, typename B, typename Allocator>
 void BaseGrowableArray<T, B, Allocator>::Resize(intptr_t new_length) {
   if (new_length > capacity_) {
     intptr_t new_capacity = Utils::RoundUpToPowerOfTwo(new_length);
@@ -162,7 +156,7 @@
 }
 
 
-template<typename T, typename B, typename Allocator>
+template <typename T, typename B, typename Allocator>
 void BaseGrowableArray<T, B, Allocator>::SetLength(intptr_t new_length) {
   if (new_length > capacity_) {
     T* new_data = allocator_->template Alloc<T>(new_length);
@@ -174,57 +168,51 @@
 }
 
 
-template<typename T>
+template <typename T>
 class GrowableArray : public BaseGrowableArray<T, ValueObject> {
  public:
   GrowableArray(Zone* zone, intptr_t initial_capacity)
-      : BaseGrowableArray<T, ValueObject>(
-          initial_capacity, ASSERT_NOTNULL(zone)) {}
+      : BaseGrowableArray<T, ValueObject>(initial_capacity,
+                                          ASSERT_NOTNULL(zone)) {}
   explicit GrowableArray(intptr_t initial_capacity)
       : BaseGrowableArray<T, ValueObject>(
-          initial_capacity,
-          ASSERT_NOTNULL(Thread::Current()->zone())) {}
+            initial_capacity,
+            ASSERT_NOTNULL(Thread::Current()->zone())) {}
   GrowableArray()
       : BaseGrowableArray<T, ValueObject>(
-          ASSERT_NOTNULL(Thread::Current()->zone())) {}
+            ASSERT_NOTNULL(Thread::Current()->zone())) {}
 };
 
 
-template<typename T>
+template <typename T>
 class ZoneGrowableArray : public BaseGrowableArray<T, ZoneAllocated> {
  public:
   ZoneGrowableArray(Zone* zone, intptr_t initial_capacity)
-      : BaseGrowableArray<T, ZoneAllocated>(
-          initial_capacity, ASSERT_NOTNULL(zone)) {}
+      : BaseGrowableArray<T, ZoneAllocated>(initial_capacity,
+                                            ASSERT_NOTNULL(zone)) {}
   explicit ZoneGrowableArray(intptr_t initial_capacity)
       : BaseGrowableArray<T, ZoneAllocated>(
-          initial_capacity,
-          ASSERT_NOTNULL(Thread::Current()->zone())) {}
+            initial_capacity,
+            ASSERT_NOTNULL(Thread::Current()->zone())) {}
   ZoneGrowableArray()
       : BaseGrowableArray<T, ZoneAllocated>(
-          ASSERT_NOTNULL(Thread::Current()->zone())) {}
+            ASSERT_NOTNULL(Thread::Current()->zone())) {}
 };
 
 
 // T must be a Handle type.
-template<typename T, typename B>
+template <typename T, typename B>
 class BaseGrowableHandlePtrArray : public B {
  public:
   BaseGrowableHandlePtrArray(Zone* zone, intptr_t initial_capacity)
       : zone_(zone), array_(zone, initial_capacity) {}
 
   // Use unique zone handles to store objects.
-  void Add(const T& t) {
-    array_.Add(&T::ZoneHandle(zone_, t.raw()));
-  }
+  void Add(const T& t) { array_.Add(&T::ZoneHandle(zone_, t.raw())); }
 
-  T& operator[](intptr_t index) const {
-    return *array_[index];
-  }
+  T& operator[](intptr_t index) const { return *array_[index]; }
 
-  const T& At(intptr_t index) const {
-    return operator[](index);
-  }
+  const T& At(intptr_t index) const { return operator[](index); }
 
   void SetAt(intptr_t index, const T& t) {
     array_[index] = &T::ZoneHandle(zone_, t.raw());
@@ -242,25 +230,24 @@
 };
 
 
-template<typename T>
-class GrowableHandlePtrArray :
-    public BaseGrowableHandlePtrArray<T, ValueObject> {
+template <typename T>
+class GrowableHandlePtrArray
+    : public BaseGrowableHandlePtrArray<T, ValueObject> {
  public:
   GrowableHandlePtrArray(Zone* zone, intptr_t initial_capacity)
       : BaseGrowableHandlePtrArray<T, ValueObject>(zone, initial_capacity) {}
 };
 
 
-template<typename T>
-class ZoneGrowableHandlePtrArray :
-    public BaseGrowableHandlePtrArray<T, ZoneAllocated> {
+template <typename T>
+class ZoneGrowableHandlePtrArray
+    : public BaseGrowableHandlePtrArray<T, ZoneAllocated> {
  public:
   ZoneGrowableHandlePtrArray(Zone* zone, intptr_t initial_capacity)
       : BaseGrowableHandlePtrArray<T, ZoneAllocated>(zone, initial_capacity) {}
 };
 
 
-
 class Malloc : public AllStatic {
  public:
   template <class T>
@@ -283,13 +270,12 @@
 class EmptyBase {};
 
 
-template<typename T>
+template <typename T>
 class MallocGrowableArray : public BaseGrowableArray<T, EmptyBase, Malloc> {
  public:
   explicit MallocGrowableArray(intptr_t initial_capacity)
       : BaseGrowableArray<T, EmptyBase, Malloc>(initial_capacity, NULL) {}
-  MallocGrowableArray()
-      : BaseGrowableArray<T, EmptyBase, Malloc>(NULL) {}
+  MallocGrowableArray() : BaseGrowableArray<T, EmptyBase, Malloc>(NULL) {}
 };
 
 }  // namespace dart
diff --git a/runtime/vm/growable_array_test.cc b/runtime/vm/growable_array_test.cc
index fedb9c8..4a9782d 100644
--- a/runtime/vm/growable_array_test.cc
+++ b/runtime/vm/growable_array_test.cc
@@ -8,7 +8,7 @@
 
 namespace dart {
 
-template<class GrowableArrayInt, class GrowableArrayInt64>
+template <class GrowableArrayInt, class GrowableArrayInt64>
 void TestGrowableArray() {
   GrowableArrayInt g;
   EXPECT_EQ(0, g.length());
@@ -64,14 +64,12 @@
 
 
 TEST_CASE(GrowableArray) {
-  TestGrowableArray<GrowableArray<int>,
-                    GrowableArray<int64_t> >();
+  TestGrowableArray<GrowableArray<int>, GrowableArray<int64_t> >();
 }
 
 
 TEST_CASE(MallocGrowableArray) {
-  TestGrowableArray<MallocGrowableArray<int>,
-                    MallocGrowableArray<int64_t> >();
+  TestGrowableArray<MallocGrowableArray<int>, MallocGrowableArray<int64_t> >();
 }
 
 
diff --git a/runtime/vm/guard_field_test.cc b/runtime/vm/guard_field_test.cc
index 0e0972b..54815b8 100644
--- a/runtime/vm/guard_field_test.cc
+++ b/runtime/vm/guard_field_test.cc
@@ -9,12 +9,13 @@
 
 namespace dart {
 
-RawField* LookupField(Dart_Handle library, const char* class_name,
+RawField* LookupField(Dart_Handle library,
+                      const char* class_name,
                       const char* field_name) {
   RawLibrary* raw_library = Library::RawCast(Api::UnwrapHandle(library));
   Library& lib = Library::ZoneHandle(raw_library);
-  const String& classname = String::Handle(Symbols::New(Thread::Current(),
-                                                        class_name));
+  const String& classname =
+      String::Handle(Symbols::New(Thread::Current(), class_name));
   Class& cls = Class::Handle(lib.LookupClass(classname));
   EXPECT(!cls.IsNull());  // No ambiguity error expected.
 
diff --git a/runtime/vm/gypi_contents.gni b/runtime/vm/gypi_contents.gni
new file mode 100644
index 0000000..403efdf
--- /dev/null
+++ b/runtime/vm/gypi_contents.gni
@@ -0,0 +1,52 @@
+# Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+# for details. All rights reserved. Use of this source code is governed by a
+# BSD-style license that can be found in the LICENSE file.
+
+_core_library_names = [
+  "async",
+  "core",
+  "collection",
+  "convert",
+  "developer",
+  "internal",
+  "isolate",
+  "math",
+  "mirrors",
+  "profiler",
+  "typed_data",
+  "vmservice",
+]
+
+_core_library_gypis = [
+  "../platform/platform_headers.gypi",
+  "../platform/platform_sources.gypi",
+  "../vm/vm_sources.gypi",
+  "../lib/async_sources.gypi",
+  "../lib/core_sources.gypi",
+  "../lib/collection_sources.gypi",
+  "../lib/convert_sources.gypi",
+  "../lib/developer_sources.gypi",
+  "../lib/internal_sources.gypi",
+  "../lib/isolate_sources.gypi",
+  "../lib/math_sources.gypi",
+  "../lib/mirrors_sources.gypi",
+  "../lib/typed_data_sources.gypi",
+  "../lib/vmservice_sources.gypi",
+  "../../sdk/lib/async/async_sources.gypi",
+  "../../sdk/lib/collection/collection_sources.gypi",
+  "../../sdk/lib/convert/convert_sources.gypi",
+  "../../sdk/lib/core/core_sources.gypi",
+  "../../sdk/lib/developer/developer_sources.gypi",
+  "../../sdk/lib/internal/internal_sources.gypi",
+  "../../sdk/lib/isolate/isolate_sources.gypi",
+  "../../sdk/lib/math/math_sources.gypi",
+  "../../sdk/lib/mirrors/mirrors_sources.gypi",
+  "../../sdk/lib/profiler/profiler_sources.gypi",
+  "../../sdk/lib/vmservice/vmservice_sources.gypi",
+  "../bin/io_sources.gypi",
+]
+
+processed_gypis = exec_script("../../tools/process_gypis.py",
+                              _core_library_names,
+                              "scope",
+                              _core_library_gypis)
diff --git a/runtime/vm/handles.cc b/runtime/vm/handles.cc
index bf2697a..f3818d7 100644
--- a/runtime/vm/handles.cc
+++ b/runtime/vm/handles.cc
@@ -21,20 +21,18 @@
 
 
 VMHandles::~VMHandles() {
-    if (FLAG_trace_handles) {
-      OS::PrintErr("***   Handle Counts for 0x(%" Px
-                   "):Zone = %d,Scoped = %d\n",
-                   reinterpret_cast<intptr_t>(this),
-                   CountZoneHandles(), CountScopedHandles());
-      OS::PrintErr("*** Deleting VM handle block 0x%" Px "\n",
-                   reinterpret_cast<intptr_t>(this));
-    }
+  if (FLAG_trace_handles) {
+    OS::PrintErr("***   Handle Counts for 0x(%" Px "):Zone = %d,Scoped = %d\n",
+                 reinterpret_cast<intptr_t>(this), CountZoneHandles(),
+                 CountScopedHandles());
+    OS::PrintErr("*** Deleting VM handle block 0x%" Px "\n",
+                 reinterpret_cast<intptr_t>(this));
+  }
 }
 
 
 void VMHandles::VisitObjectPointers(ObjectPointerVisitor* visitor) {
-  return Handles<kVMHandleSizeInWords,
-                 kVMHandlesPerChunk,
+  return Handles<kVMHandleSizeInWords, kVMHandlesPerChunk,
                  kOffsetOfRawPtr>::VisitObjectPointers(visitor);
 }
 
@@ -49,24 +47,21 @@
 
 uword VMHandles::AllocateHandle(Zone* zone) {
   DEBUG_ASSERT(!IsCurrentApiNativeScope(zone));
-  return Handles<kVMHandleSizeInWords,
-                 kVMHandlesPerChunk,
+  return Handles<kVMHandleSizeInWords, kVMHandlesPerChunk,
                  kOffsetOfRawPtr>::AllocateHandle(zone);
 }
 
 
 uword VMHandles::AllocateZoneHandle(Zone* zone) {
   DEBUG_ASSERT(!IsCurrentApiNativeScope(zone));
-  return Handles<kVMHandleSizeInWords,
-                 kVMHandlesPerChunk,
+  return Handles<kVMHandleSizeInWords, kVMHandlesPerChunk,
                  kOffsetOfRawPtr>::AllocateZoneHandle(zone);
 }
 
 
 bool VMHandles::IsZoneHandle(uword handle) {
-  return Handles<kVMHandleSizeInWords,
-                 kVMHandlesPerChunk,
-                 kOffsetOfRawPtr >::IsZoneHandle(handle);
+  return Handles<kVMHandleSizeInWords, kVMHandlesPerChunk,
+                 kOffsetOfRawPtr>::IsZoneHandle(handle);
 }
 
 
diff --git a/runtime/vm/handles.h b/runtime/vm/handles.h
index 1b4c7bd..b96a3bf 100644
--- a/runtime/vm/handles.h
+++ b/runtime/vm/handles.h
@@ -84,11 +84,8 @@
   Handles()
       : zone_blocks_(NULL),
         first_scoped_block_(NULL),
-        scoped_blocks_(&first_scoped_block_) {
-  }
-  ~Handles() {
-    DeleteAll();
-  }
+        scoped_blocks_(&first_scoped_block_) {}
+  ~Handles() { DeleteAll(); }
 
   // Visit all object pointers stored in the various handles.
   void VisitObjectPointers(ObjectPointerVisitor* visitor);
@@ -148,8 +145,7 @@
   class HandlesBlock {
    public:
     explicit HandlesBlock(HandlesBlock* next)
-        : next_handle_slot_(0),
-          next_block_(next) { }
+        : next_handle_slot_(0), next_block_(next) {}
     ~HandlesBlock();
 
     // Reinitializes handle block for reuse.
@@ -200,7 +196,7 @@
    private:
     uword data_[kHandleSizeInWords * kHandlesPerChunk];  // Handles area.
     intptr_t next_handle_slot_;  // Next slot for allocation in current block.
-    HandlesBlock* next_block_;  // Link to next block of handles.
+    HandlesBlock* next_block_;   // Link to next block of handles.
 
     DISALLOW_COPY_AND_ASSIGN(HandlesBlock);
   };
@@ -231,9 +227,9 @@
   void ZapFreeScopedHandles();
 #endif
 
-  HandlesBlock* zone_blocks_;  // List of zone handles.
+  HandlesBlock* zone_blocks_;        // List of zone handles.
   HandlesBlock first_scoped_block_;  // First block of scoped handles.
-  HandlesBlock* scoped_blocks_;  // List of scoped handles.
+  HandlesBlock* scoped_blocks_;      // List of scoped handles.
 
   friend class HandleScope;
   friend class Dart;
@@ -253,9 +249,8 @@
  public:
   static const int kOffsetOfRawPtrInHandle = kOffsetOfRawPtr;
 
-  VMHandles() : Handles<kVMHandleSizeInWords,
-                        kVMHandlesPerChunk,
-                        kOffsetOfRawPtr>() {
+  VMHandles()
+      : Handles<kVMHandleSizeInWords, kVMHandlesPerChunk, kOffsetOfRawPtr>() {
     if (FLAG_trace_handles) {
       OS::PrintErr("*** Starting a new VM handle block 0x%" Px "\n",
                    reinterpret_cast<intptr_t>(this));
@@ -314,7 +309,7 @@
 
 // Macro to start a new Handle scope.
 #define HANDLESCOPE(thread)                                                    \
-    dart::HandleScope vm_internal_handles_scope_(thread);
+  dart::HandleScope vm_internal_handles_scope_(thread);
 
 
 // The class NoHandleScope is used in critical regions of the virtual machine
@@ -338,12 +333,12 @@
  private:
   DISALLOW_COPY_AND_ASSIGN(NoHandleScope);
 };
-#else  // defined(DEBUG)
+#else   // defined(DEBUG)
 class NoHandleScope : public ValueObject {
  public:
-  explicit NoHandleScope(Thread* thread) { }
-  NoHandleScope() { }
-  ~NoHandleScope() { }
+  explicit NoHandleScope(Thread* thread) {}
+  NoHandleScope() {}
+  ~NoHandleScope() {}
 
  private:
   DISALLOW_COPY_AND_ASSIGN(NoHandleScope);
@@ -352,7 +347,7 @@
 
 // Macro to start a no handles scope in the code.
 #define NOHANDLESCOPE(thread)                                                  \
-    dart::NoHandleScope no_vm_internal_handles_scope_(thread);
+  dart::NoHandleScope no_vm_internal_handles_scope_(thread);
 
 }  // namespace dart
 
diff --git a/runtime/vm/handles_impl.h b/runtime/vm/handles_impl.h
index eb7be5e..3adf2fe 100644
--- a/runtime/vm/handles_impl.h
+++ b/runtime/vm/handles_impl.h
@@ -12,10 +12,8 @@
 namespace dart {
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-void Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::VisitObjectPointers(
-    ObjectPointerVisitor* visitor) {
+void Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    VisitObjectPointers(ObjectPointerVisitor* visitor) {
   // Visit all zone handles.
   HandlesBlock* block = zone_blocks_;
   while (block != NULL) {
@@ -29,10 +27,8 @@
 
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-void Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::VisitScopedHandles(
-    ObjectPointerVisitor* visitor) {
+void Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    VisitScopedHandles(ObjectPointerVisitor* visitor) {
   HandlesBlock* block = &first_scoped_block_;
   do {
     block->VisitObjectPointers(visitor);
@@ -46,9 +42,8 @@
 
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-void Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::Visit(HandleVisitor* visitor) {
+void Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::Visit(
+    HandleVisitor* visitor) {
   // Visit all zone handles.
   HandlesBlock* block = zone_blocks_;
   while (block != NULL) {
@@ -66,9 +61,7 @@
 
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-void Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::Reset() {
+void Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::Reset() {
   // Delete all the extra zone handle blocks allocated and reinit the first
   // zone block.
   if (zone_blocks_ != NULL) {
@@ -88,9 +81,8 @@
 // allocate a handle in that scope. The function assumes that a
 // current handle scope exists. It asserts for this appropriately.
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-uword Handles<kHandleSizeInWords,
-              kHandlesPerChunk,
-              kOffsetOfRawPtr>::AllocateHandle(Zone* zone) {
+uword Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    AllocateHandle(Zone* zone) {
 #if defined(DEBUG)
   Thread* thread = Thread::Current();
   ASSERT(thread->top_handle_scope() != NULL);
@@ -105,9 +97,8 @@
 // The function assumes that 'zone' is the current zone and asserts for
 // this appropriately.
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-uword Handles<kHandleSizeInWords,
-              kHandlesPerChunk,
-              kOffsetOfRawPtr>::AllocateZoneHandle(Zone* zone) {
+uword Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    AllocateZoneHandle(Zone* zone) {
 #if defined(DEBUG)
   Thread* thread = Thread::Current();
   ASSERT(thread->zone() == zone);
@@ -123,9 +114,8 @@
 // Figure out the current zone using the current Thread and
 // check if the specified handle has been allocated in this zone.
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-bool Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::IsZoneHandle(uword handle) {
+bool Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    IsZoneHandle(uword handle) {
   // TODO(5411412): Accessing the current thread is a performance problem,
   // consider passing it down as a parameter.
   Thread* thread = Thread::Current();
@@ -138,9 +128,8 @@
 
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-void Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::DeleteAll() {
+void Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    DeleteAll() {
   // Delete all the zone allocated handle blocks.
   // GCTrace does not need to trace this call to DeleteHandleBlocks,
   // since the individual zone deletions will be caught
@@ -157,10 +146,8 @@
 
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-void Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::DeleteHandleBlocks(
-    HandlesBlock* blocks) {
+void Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    DeleteHandleBlocks(HandlesBlock* blocks) {
   while (blocks != NULL) {
     HandlesBlock* block = blocks;
     blocks = blocks->next_block();
@@ -170,13 +157,12 @@
 
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-void Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::SetupNextScopeBlock() {
+void Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    SetupNextScopeBlock() {
   if (FLAG_trace_handles) {
     OS::PrintErr("***   Handle Counts for (0x%" Px "):Zone = %d,Scoped = %d\n",
-                 reinterpret_cast<intptr_t>(this),
-                 CountZoneHandles(), CountScopedHandles());
+                 reinterpret_cast<intptr_t>(this), CountZoneHandles(),
+                 CountScopedHandles());
   }
   if (scoped_blocks_->next_block() == NULL) {
     scoped_blocks_->set_next_block(new HandlesBlock(NULL));
@@ -193,9 +179,8 @@
 // handle blocks to check if the handle is valid, please
 // use this only in ASSERT code for verification purposes.
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-bool Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::IsValidScopedHandle(uword handle) const {
+bool Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    IsValidScopedHandle(uword handle) const {
   const HandlesBlock* iterator = &first_scoped_block_;
   while (iterator != NULL) {
     if (iterator->IsValidHandle(handle)) {
@@ -208,9 +193,8 @@
 
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-bool Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::IsValidZoneHandle(uword handle) const {
+bool Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    IsValidZoneHandle(uword handle) const {
   const HandlesBlock* iterator = zone_blocks_;
   while (iterator != NULL) {
     if (iterator->IsValidHandle(handle)) {
@@ -223,13 +207,12 @@
 
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-void Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::SetupNextZoneBlock() {
+void Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    SetupNextZoneBlock() {
   if (FLAG_trace_handles) {
     OS::PrintErr("***   Handle Counts for (0x%" Px "):Zone = %d,Scoped = %d\n",
-                 reinterpret_cast<intptr_t>(this),
-                 CountZoneHandles(), CountScopedHandles());
+                 reinterpret_cast<intptr_t>(this), CountZoneHandles(),
+                 CountScopedHandles());
   }
   zone_blocks_ = new HandlesBlock(zone_blocks_);
   ASSERT(zone_blocks_ != NULL);
@@ -238,9 +221,8 @@
 
 #if defined(DEBUG)
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-void Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::VerifyScopedHandleState() {
+void Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    VerifyScopedHandleState() {
   HandlesBlock* block = &first_scoped_block_;
   const intptr_t end_index = (kHandleSizeInWords * kHandlesPerChunk);
   do {
@@ -254,9 +236,8 @@
 
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-void Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::ZapFreeScopedHandles() {
+void Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    ZapFreeScopedHandles() {
   HandlesBlock* block = scoped_blocks_;
   while (block != NULL) {
     block->ZapFreeHandles();
@@ -267,9 +248,8 @@
 
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-int Handles<kHandleSizeInWords,
-            kHandlesPerChunk,
-            kOffsetOfRawPtr>::CountScopedHandles() const {
+int Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    CountScopedHandles() const {
   int count = 0;
   const HandlesBlock* block = &first_scoped_block_;
   do {
@@ -285,9 +265,8 @@
 
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-int Handles<kHandleSizeInWords,
-            kHandlesPerChunk,
-            kOffsetOfRawPtr>::CountZoneHandles() const {
+int Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    CountZoneHandles() const {
   int count = 0;
   const HandlesBlock* block = zone_blocks_;
   while (block != NULL) {
@@ -299,9 +278,8 @@
 
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-Handles<kHandleSizeInWords,
-        kHandlesPerChunk,
-        kOffsetOfRawPtr>::HandlesBlock::~HandlesBlock() {
+Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::HandlesBlock::
+    ~HandlesBlock() {
 #if defined(DEBUG)
   ReInit();
 #endif
@@ -309,9 +287,8 @@
 
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-void Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::HandlesBlock::ReInit() {
+void Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    HandlesBlock::ReInit() {
   next_handle_slot_ = 0;
   next_block_ = NULL;
 #if defined(DEBUG)
@@ -321,22 +298,19 @@
 
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-void Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::HandlesBlock::VisitObjectPointers(
-                 ObjectPointerVisitor* visitor) {
+void Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    HandlesBlock::VisitObjectPointers(ObjectPointerVisitor* visitor) {
   ASSERT(visitor != NULL);
   for (intptr_t i = 0; i < next_handle_slot_; i += kHandleSizeInWords) {
     visitor->VisitPointer(
-        reinterpret_cast<RawObject**>(&data_[i + kOffsetOfRawPtr/kWordSize]));
+        reinterpret_cast<RawObject**>(&data_[i + kOffsetOfRawPtr / kWordSize]));
   }
 }
 
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-void Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::HandlesBlock::Visit(HandleVisitor* visitor) {
+void Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    HandlesBlock::Visit(HandleVisitor* visitor) {
   ASSERT(visitor != NULL);
   for (intptr_t i = 0; i < next_handle_slot_; i += kHandleSizeInWords) {
     visitor->VisitHandle(reinterpret_cast<uword>(&data_[i]));
@@ -346,13 +320,11 @@
 
 #if defined(DEBUG)
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-void Handles<kHandleSizeInWords,
-             kHandlesPerChunk,
-             kOffsetOfRawPtr>::HandlesBlock::ZapFreeHandles() {
+void Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    HandlesBlock::ZapFreeHandles() {
   // Reinitialize the handle area to some uninitialized value.
   for (intptr_t i = next_handle_slot_;
-       i < (kHandleSizeInWords * kHandlesPerChunk);
-       i++) {
+       i < (kHandleSizeInWords * kHandlesPerChunk); i++) {
     data_[i] = kZapUninitializedWord;
   }
 }
@@ -360,9 +332,8 @@
 
 
 template <int kHandleSizeInWords, int kHandlesPerChunk, int kOffsetOfRawPtr>
-int Handles<kHandleSizeInWords,
-            kHandlesPerChunk,
-            kOffsetOfRawPtr>::HandlesBlock::HandleCount() const {
+int Handles<kHandleSizeInWords, kHandlesPerChunk, kOffsetOfRawPtr>::
+    HandlesBlock::HandleCount() const {
   return (next_handle_slot_ / kHandleSizeInWords);
 }
 
diff --git a/runtime/vm/hash_map.h b/runtime/vm/hash_map.h
index 88d45ff..5aa5343 100644
--- a/runtime/vm/hash_map.h
+++ b/runtime/vm/hash_map.h
@@ -10,7 +10,7 @@
 
 namespace dart {
 
-template<typename KeyValueTrait, typename B, typename Allocator = Zone>
+template <typename KeyValueTrait, typename B, typename Allocator = Zone>
 class BaseDirectChainedHashMap : public B {
  public:
   explicit BaseDirectChainedHashMap(Allocator* allocator)
@@ -71,7 +71,7 @@
     intptr_t array_index_;
     intptr_t list_index_;
 
-    template<typename T, typename Bs, typename A>
+    template <typename T, typename Bs, typename A>
     friend class BaseDirectChainedHashMap;
   };
 
@@ -80,7 +80,7 @@
  protected:
   // A linked list of T values.  Stored in arrays.
   struct HashMapListElement {
-    HashMapListElement() : kv(), next(kNil) { }
+    HashMapListElement() : kv(), next(kNil) {}
     typename KeyValueTrait::Pair kv;
     intptr_t next;  // Index in the array of the next list element.
   };
@@ -101,7 +101,7 @@
 
   intptr_t array_size_;
   intptr_t lists_size_;
-  intptr_t count_;  // The number of values stored in the HashMap.
+  intptr_t count_;             // The number of values stored in the HashMap.
   HashMapListElement* array_;  // Primary store - contains the first value
   // with a given hash.  Colliding elements are stored in linked lists.
   HashMapListElement* lists_;  // The linked lists containing hash collisions.
@@ -110,28 +110,28 @@
 };
 
 
-template<typename KeyValueTrait, typename B, typename Allocator>
-BaseDirectChainedHashMap<KeyValueTrait, B, Allocator>::
-    BaseDirectChainedHashMap(const BaseDirectChainedHashMap& other)
-  : B(),
-    array_size_(other.array_size_),
-    lists_size_(other.lists_size_),
-    count_(other.count_),
-    array_(other.allocator_->template Alloc<HashMapListElement>(
-        other.array_size_)),
-    lists_(other.allocator_->template Alloc<HashMapListElement>(
-        other.lists_size_)),
-    free_list_head_(other.free_list_head_),
-    allocator_(other.allocator_) {
+template <typename KeyValueTrait, typename B, typename Allocator>
+BaseDirectChainedHashMap<KeyValueTrait, B, Allocator>::BaseDirectChainedHashMap(
+    const BaseDirectChainedHashMap& other)
+    : B(),
+      array_size_(other.array_size_),
+      lists_size_(other.lists_size_),
+      count_(other.count_),
+      array_(other.allocator_->template Alloc<HashMapListElement>(
+          other.array_size_)),
+      lists_(other.allocator_->template Alloc<HashMapListElement>(
+          other.lists_size_)),
+      free_list_head_(other.free_list_head_),
+      allocator_(other.allocator_) {
   memmove(array_, other.array_, array_size_ * sizeof(HashMapListElement));
   memmove(lists_, other.lists_, lists_size_ * sizeof(HashMapListElement));
 }
 
 
-template<typename KeyValueTrait, typename B, typename Allocator>
+template <typename KeyValueTrait, typename B, typename Allocator>
 typename KeyValueTrait::Pair*
-    BaseDirectChainedHashMap<KeyValueTrait, B, Allocator>::
-        Lookup(typename KeyValueTrait::Key key) const {
+BaseDirectChainedHashMap<KeyValueTrait, B, Allocator>::Lookup(
+    typename KeyValueTrait::Key key) const {
   const typename KeyValueTrait::Value kNoValue =
       KeyValueTrait::ValueOf(typename KeyValueTrait::Pair());
 
@@ -154,10 +154,10 @@
 }
 
 
-template<typename KeyValueTrait, typename B, typename Allocator>
+template <typename KeyValueTrait, typename B, typename Allocator>
 typename KeyValueTrait::Value
-    BaseDirectChainedHashMap<KeyValueTrait, B, Allocator>::
-        LookupValue(typename KeyValueTrait::Key key) const {
+BaseDirectChainedHashMap<KeyValueTrait, B, Allocator>::LookupValue(
+    typename KeyValueTrait::Key key) const {
   const typename KeyValueTrait::Value kNoValue =
       KeyValueTrait::ValueOf(typename KeyValueTrait::Pair());
   typename KeyValueTrait::Pair* pair = Lookup(key);
@@ -165,9 +165,9 @@
 }
 
 
-template<typename KeyValueTrait, typename B, typename Allocator>
+template <typename KeyValueTrait, typename B, typename Allocator>
 typename KeyValueTrait::Pair*
-    BaseDirectChainedHashMap<KeyValueTrait, B, Allocator>::Iterator::Next() {
+BaseDirectChainedHashMap<KeyValueTrait, B, Allocator>::Iterator::Next() {
   const typename KeyValueTrait::Value kNoValue =
       KeyValueTrait::ValueOf(typename KeyValueTrait::Pair());
 
@@ -200,7 +200,7 @@
 }
 
 
-template<typename KeyValueTrait, typename B, typename Allocator>
+template <typename KeyValueTrait, typename B, typename Allocator>
 void BaseDirectChainedHashMap<KeyValueTrait, B, Allocator>::Resize(
     intptr_t new_size) {
   const typename KeyValueTrait::Value kNoValue =
@@ -250,7 +250,7 @@
 }
 
 
-template<typename KeyValueTrait, typename B, typename Allocator>
+template <typename KeyValueTrait, typename B, typename Allocator>
 void BaseDirectChainedHashMap<KeyValueTrait, B, Allocator>::ResizeLists(
     intptr_t new_size) {
   ASSERT(new_size > lists_size_);
@@ -276,9 +276,9 @@
 }
 
 
-template<typename KeyValueTrait, typename B, typename Allocator>
-void BaseDirectChainedHashMap<KeyValueTrait, B, Allocator>::
-    Insert(typename KeyValueTrait::Pair kv) {
+template <typename KeyValueTrait, typename B, typename Allocator>
+void BaseDirectChainedHashMap<KeyValueTrait, B, Allocator>::Insert(
+    typename KeyValueTrait::Pair kv) {
   const typename KeyValueTrait::Value kNoValue =
       KeyValueTrait::ValueOf(typename KeyValueTrait::Pair());
 
@@ -308,16 +308,17 @@
 }
 
 
-template<typename KeyValueTrait>
+template <typename KeyValueTrait>
 class DirectChainedHashMap
     : public BaseDirectChainedHashMap<KeyValueTrait, ValueObject> {
  public:
-  DirectChainedHashMap() : BaseDirectChainedHashMap<KeyValueTrait, ValueObject>(
-          ASSERT_NOTNULL(Thread::Current()->zone())) {}
+  DirectChainedHashMap()
+      : BaseDirectChainedHashMap<KeyValueTrait, ValueObject>(
+            ASSERT_NOTNULL(Thread::Current()->zone())) {}
 };
 
 
-template<typename KeyValueTrait>
+template <typename KeyValueTrait>
 class MallocDirectChainedHashMap
     : public BaseDirectChainedHashMap<KeyValueTrait, EmptyBase, Malloc> {
  public:
@@ -326,32 +327,24 @@
 };
 
 
-template<typename T>
+template <typename T>
 class PointerKeyValueTrait {
  public:
   typedef T* Value;
   typedef T* Key;
   typedef T* Pair;
 
-  static Key KeyOf(Pair kv) {
-    return kv;
-  }
+  static Key KeyOf(Pair kv) { return kv; }
 
-  static Value ValueOf(Pair kv) {
-    return kv;
-  }
+  static Value ValueOf(Pair kv) { return kv; }
 
-  static inline intptr_t Hashcode(Key key) {
-    return key->Hashcode();
-  }
+  static inline intptr_t Hashcode(Key key) { return key->Hashcode(); }
 
-  static inline bool IsKeyEqual(Pair kv, Key key) {
-    return kv->Equals(key);
-  }
+  static inline bool IsKeyEqual(Pair kv, Key key) { return kv->Equals(key); }
 };
 
 
-template<typename T>
+template <typename T>
 class NumbersKeyValueTrait {
  public:
   typedef T Value;
@@ -365,7 +358,7 @@
 };
 
 
-template<typename K, typename V>
+template <typename K, typename V>
 class RawPointerKeyValueTrait {
  public:
   typedef K* Key;
diff --git a/runtime/vm/hash_map_test.cc b/runtime/vm/hash_map_test.cc
index 7830b85..b3afdde 100644
--- a/runtime/vm/hash_map_test.cc
+++ b/runtime/vm/hash_map_test.cc
@@ -10,9 +10,10 @@
 
 class TestValue {
  public:
-  explicit TestValue(intptr_t x) : x_(x) { }
+  explicit TestValue(intptr_t x) : x_(x) {}
   intptr_t Hashcode() const { return x_ & 1; }
   bool Equals(TestValue* other) { return x_ == other->x_; }
+
  private:
   intptr_t x_;
 };
diff --git a/runtime/vm/hash_table.h b/runtime/vm/hash_table.h
index 5835b22..05d69fc 100644
--- a/runtime/vm/hash_table.h
+++ b/runtime/vm/hash_table.h
@@ -72,7 +72,7 @@
 //    uword Hash(const Key& key) for any number of desired lookup key types.
 //  kPayloadSize: number of components of the payload in each entry.
 //  kMetaDataSize: number of elements reserved (e.g., for iteration order data).
-template<typename KeyTraits, intptr_t kPayloadSize, intptr_t kMetaDataSize>
+template <typename KeyTraits, intptr_t kPayloadSize, intptr_t kMetaDataSize>
 class HashTable : public ValueObject {
  public:
   typedef KeyTraits Traits;
@@ -127,12 +127,12 @@
     data_->SetAt(kOccupiedEntriesIndex, *smi_handle_);
     data_->SetAt(kDeletedEntriesIndex, *smi_handle_);
 
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
     data_->SetAt(kNumGrowsIndex, *smi_handle_);
     data_->SetAt(kNumLT5LookupsIndex, *smi_handle_);
     data_->SetAt(kNumLT25LookupsIndex, *smi_handle_);
     data_->SetAt(kNumGT25LookupsIndex, *smi_handle_);
-)  // !PRODUCT
+#endif  // !defined(PRODUCT)
 
     for (intptr_t i = kHeaderSize; i < data_->Length(); ++i) {
       data_->SetAt(i, Object::sentinel());
@@ -140,13 +140,13 @@
   }
 
   // Returns whether 'key' matches any key in the table.
-  template<typename Key>
+  template <typename Key>
   bool ContainsKey(const Key& key) const {
     return FindKey(key) != -1;
   }
 
   // Returns the entry that matches 'key', or -1 if none exists.
-  template<typename Key>
+  template <typename Key>
   intptr_t FindKey(const Key& key) const {
     const intptr_t num_entries = NumEntries();
     ASSERT(NumOccupied() < num_entries);
@@ -179,7 +179,7 @@
   // - an occupied entry matching 'key', and returns true, or
   // - an unused/deleted entry where a matching key may be inserted,
   //   and returns false.
-  template<typename Key>
+  template <typename Key>
   bool FindKeyOrDeletedOrUnused(const Key& key, intptr_t* entry) const {
     const intptr_t num_entries = NumEntries();
     ASSERT(entry != NULL);
@@ -271,23 +271,13 @@
   intptr_t NumUnused() const {
     return NumEntries() - NumOccupied() - NumDeleted();
   }
-  intptr_t NumOccupied() const {
-    return GetSmiValueAt(kOccupiedEntriesIndex);
-  }
-  intptr_t NumDeleted() const {
-    return GetSmiValueAt(kDeletedEntriesIndex);
-  }
-  Object& KeyHandle() const {
-    return *key_handle_;
-  }
-  Smi& SmiHandle() const {
-    return *smi_handle_;
-  }
+  intptr_t NumOccupied() const { return GetSmiValueAt(kOccupiedEntriesIndex); }
+  intptr_t NumDeleted() const { return GetSmiValueAt(kDeletedEntriesIndex); }
+  Object& KeyHandle() const { return *key_handle_; }
+  Smi& SmiHandle() const { return *smi_handle_; }
 
-NOT_IN_PRODUCT(
-  intptr_t NumGrows() const {
-    return GetSmiValueAt(kNumGrowsIndex);
-  }
+#if !defined(PRODUCT)
+  intptr_t NumGrows() const { return GetSmiValueAt(kNumGrowsIndex); }
   intptr_t NumLT5Collisions() const {
     return GetSmiValueAt(kNumLT5LookupsIndex);
   }
@@ -297,9 +287,7 @@
   intptr_t NumGT25Collisions() const {
     return GetSmiValueAt(kNumGT25LookupsIndex);
   }
-  void UpdateGrowth() const {
-    AdjustSmiValueAt(kNumGrowsIndex, 1);
-  }
+  void UpdateGrowth() const { AdjustSmiValueAt(kNumGrowsIndex, 1); }
   void UpdateCollisions(intptr_t collisions) const {
     if (data_->raw()->IsVMHeapObject()) {
       return;
@@ -316,6 +304,7 @@
     if (!KeyTraits::ReportStats()) {
       return;
     }
+    // clang-format off
     OS::Print("Stats for %s table :\n"
               " Size of table = %" Pd ",Number of Occupied entries = %" Pd "\n"
               " Number of Grows = %" Pd "\n"
@@ -326,8 +315,9 @@
               NumEntries(), NumOccupied(),
               NumGrows(),
               NumLT5Collisions(), NumLT25Collisions(), NumGT25Collisions());
+    // clang-format on
   }
-)  // !PRODUCT
+#endif  // !PRODUCT
 
  protected:
   static const intptr_t kOccupiedEntriesIndex = 0;
@@ -389,7 +379,7 @@
 
 
 // Table with unspecified iteration order. No payload overhead or metadata.
-template<typename KeyTraits, intptr_t kUserPayloadSize>
+template <typename KeyTraits, intptr_t kUserPayloadSize>
 class UnorderedHashTable : public HashTable<KeyTraits, kUserPayloadSize, 0> {
  public:
   typedef HashTable<KeyTraits, kUserPayloadSize, 0> BaseTable;
@@ -413,9 +403,7 @@
       }
       return false;
     }
-    intptr_t Current() {
-      return entry_;
-    }
+    intptr_t Current() { return entry_; }
 
    private:
     const UnorderedHashTable* table_;
@@ -429,16 +417,17 @@
 class HashTables : public AllStatic {
  public:
   // Allocates and initializes a table.
-  template<typename Table>
+  template <typename Table>
   static RawArray* New(intptr_t initial_capacity,
                        Heap::Space space = Heap::kNew) {
-    Table table(Thread::Current()->zone(), Array::New(
-        Table::ArrayLengthForNumOccupied(initial_capacity), space));
+    Table table(
+        Thread::Current()->zone(),
+        Array::New(Table::ArrayLengthForNumOccupied(initial_capacity), space));
     table.Initialize();
     return table.Release().raw();
   }
 
-  template<typename Table>
+  template <typename Table>
   static RawArray* New(const Array& array) {
     Table table(Thread::Current()->zone(), array.raw());
     table.Initialize();
@@ -447,7 +436,7 @@
 
   // Clears 'to' and inserts all elements from 'from', in iteration order.
   // The tables must have the same user payload size.
-  template<typename From, typename To>
+  template <typename From, typename To>
   static void Copy(const From& from, const To& to) {
     COMPILE_ASSERT(From::kPayloadSize == To::kPayloadSize);
     to.Initialize();
@@ -469,25 +458,24 @@
     }
   }
 
-  template<typename Table>
+  template <typename Table>
   static void EnsureLoadFactor(double low, double high, const Table& table) {
     double current = (1 + table.NumOccupied() + table.NumDeleted()) /
-        static_cast<double>(table.NumEntries());
+                     static_cast<double>(table.NumEntries());
     if (low <= current && current < high) {
       return;
     }
     double target = (low + high) / 2.0;
     intptr_t new_capacity = (1 + table.NumOccupied()) / target;
-    Table new_table(New<Table>(
-        new_capacity,
-        table.data_->IsOld() ? Heap::kOld : Heap::kNew));
+    Table new_table(New<Table>(new_capacity,
+                               table.data_->IsOld() ? Heap::kOld : Heap::kNew));
     Copy(table, new_table);
     *table.data_ = new_table.Release().raw();
     NOT_IN_PRODUCT(table.UpdateGrowth(); table.PrintStats();)
   }
 
   // Serializes a table by concatenating its entries as an array.
-  template<typename Table>
+  template <typename Table>
   static RawArray* ToArray(const Table& table, bool include_payload) {
     const intptr_t entry_size = include_payload ? (1 + Table::kPayloadSize) : 1;
     Array& result = Array::Handle(Array::New(table.NumOccupied() * entry_size));
@@ -510,7 +498,7 @@
 };
 
 
-template<typename BaseIterTable>
+template <typename BaseIterTable>
 class HashMap : public BaseIterTable {
  public:
   explicit HashMap(RawArray* data)
@@ -518,7 +506,7 @@
   HashMap(Zone* zone, RawArray* data) : BaseIterTable(zone, data) {}
   HashMap(Object* key, Smi* value, Array* data)
       : BaseIterTable(key, value, data) {}
-  template<typename Key>
+  template <typename Key>
   RawObject* GetOrNull(const Key& key, bool* present = NULL) const {
     intptr_t entry = BaseIterTable::FindKey(key);
     if (present != NULL) {
@@ -537,7 +525,7 @@
     return present;
   }
   // Update the value of an existing key. Note that 'key' need not be an Object.
-  template<typename Key>
+  template <typename Key>
   void UpdateValue(const Key& key, const Object& value) const {
     intptr_t entry = BaseIterTable::FindKey(key);
     ASSERT(entry != -1);
@@ -558,7 +546,7 @@
     }
   }
   // Like InsertOrGetValue, but calls NewKey to allocate a key object if needed.
-  template<typename Key>
+  template <typename Key>
   RawObject* InsertNewOrGetValue(const Key& key,
                                  const Object& value_if_absent) const {
     EnsureCapacity();
@@ -574,7 +562,7 @@
     }
   }
 
-  template<typename Key>
+  template <typename Key>
   bool Remove(const Key& key) const {
     intptr_t entry = BaseIterTable::FindKey(key);
     if (entry == -1) {
@@ -585,9 +573,7 @@
     }
   }
 
-  void Clear() const {
-    BaseIterTable::Initialize();
-  }
+  void Clear() const { BaseIterTable::Initialize(); }
 
  protected:
   void EnsureCapacity() const {
@@ -598,7 +584,7 @@
 };
 
 
-template<typename KeyTraits>
+template <typename KeyTraits>
 class UnorderedHashMap : public HashMap<UnorderedHashTable<KeyTraits, 1> > {
  public:
   typedef HashMap<UnorderedHashTable<KeyTraits, 1> > BaseMap;
@@ -610,7 +596,7 @@
 };
 
 
-template<typename BaseIterTable>
+template <typename BaseIterTable>
 class HashSet : public BaseIterTable {
  public:
   explicit HashSet(RawArray* data)
@@ -642,7 +628,7 @@
   }
 
   // Like InsertOrGet, but calls NewKey to allocate a key object if needed.
-  template<typename Key>
+  template <typename Key>
   RawObject* InsertNewOrGet(const Key& key) const {
     EnsureCapacity();
     intptr_t entry = -1;
@@ -656,7 +642,7 @@
     }
   }
 
-  template<typename Key>
+  template <typename Key>
   RawObject* GetOrNull(const Key& key, bool* present = NULL) const {
     intptr_t entry = BaseIterTable::FindKey(key);
     if (present != NULL) {
@@ -665,7 +651,7 @@
     return (entry == -1) ? Object::null() : BaseIterTable::GetKey(entry);
   }
 
-  template<typename Key>
+  template <typename Key>
   bool Remove(const Key& key) const {
     intptr_t entry = BaseIterTable::FindKey(key);
     if (entry == -1) {
@@ -676,9 +662,7 @@
     }
   }
 
-  void Clear() const {
-    BaseIterTable::Initialize();
-  }
+  void Clear() const { BaseIterTable::Initialize(); }
 
  protected:
   void EnsureCapacity() const {
@@ -689,7 +673,7 @@
 };
 
 
-template<typename KeyTraits>
+template <typename KeyTraits>
 class UnorderedHashSet : public HashSet<UnorderedHashTable<KeyTraits, 0> > {
  public:
   typedef HashSet<UnorderedHashTable<KeyTraits, 0> > BaseSet;
diff --git a/runtime/vm/hash_table_test.cc b/runtime/vm/hash_table_test.cc
index 2d597b1..9c8daca 100644
--- a/runtime/vm/hash_table_test.cc
+++ b/runtime/vm/hash_table_test.cc
@@ -26,23 +26,17 @@
   static bool IsMatch(const char* key, const Object& obj) {
     return String::Cast(obj).Equals(key);
   }
-  static uword Hash(const char* key) {
-    return static_cast<uword>(strlen(key));
-  }
+  static uword Hash(const char* key) { return static_cast<uword>(strlen(key)); }
   static bool IsMatch(const Object& a, const Object& b) {
     return a.IsString() && b.IsString() &&
-        String::Cast(a).Equals(String::Cast(b));
+           String::Cast(a).Equals(String::Cast(b));
   }
-  static uword Hash(const Object& obj) {
-    return String::Cast(obj).Length();
-  }
-  static RawObject* NewKey(const char* key) {
-    return String::New(key);
-  }
+  static uword Hash(const Object& obj) { return String::Cast(obj).Length(); }
+  static RawObject* NewKey(const char* key) { return String::New(key); }
 };
 
 
-template<typename Table>
+template <typename Table>
 void Validate(const Table& table) {
   // Verify consistency of entry state tracking.
   intptr_t num_entries = table.NumEntries();
@@ -135,7 +129,7 @@
 // Checks that 'expected' and 'actual' are equal sets. If 'ordered' is true,
 // it also verifies that their iteration orders match, i.e., that actual's
 // insertion order coincides with lexicographic order.
-template<typename Set>
+template <typename Set>
 void VerifyStringSetsEqual(const std::set<std::string>& expected,
                            const Set& actual,
                            bool ordered) {
@@ -158,15 +152,15 @@
   if (!ordered) {
     std::sort(actual_vec.begin(), actual_vec.end());
   }
-  EXPECT(std::equal(actual_vec.begin(), actual_vec.end(),
-                    expected_vec.begin()));
+  EXPECT(
+      std::equal(actual_vec.begin(), actual_vec.end(), expected_vec.begin()));
 }
 
 
 // Checks that 'expected' and 'actual' are equal maps. If 'ordered' is true,
 // it also verifies that their iteration orders match, i.e., that actual's
 // insertion order coincides with lexicographic order.
-template<typename Map>
+template <typename Map>
 void VerifyStringMapsEqual(const std::map<std::string, int>& expected,
                            const Map& actual,
                            bool ordered) {
@@ -200,7 +194,7 @@
 }
 
 
-template<typename Set>
+template <typename Set>
 void TestSet(intptr_t initial_capacity, bool ordered) {
   std::set<std::string> expected;
   Set actual(HashTables::New<Set>(initial_capacity));
@@ -226,7 +220,7 @@
 }
 
 
-template<typename Map>
+template <typename Map>
 void TestMap(intptr_t initial_capacity, bool ordered) {
   std::map<std::string, int> expected;
   Map actual(HashTables::New<Map>(initial_capacity));
@@ -258,8 +252,7 @@
 
 
 TEST_CASE(Sets) {
-  for (intptr_t initial_capacity = 0;
-       initial_capacity < 32;
+  for (intptr_t initial_capacity = 0; initial_capacity < 32;
        ++initial_capacity) {
     TestSet<UnorderedHashSet<TestTraits> >(initial_capacity, false);
   }
@@ -267,8 +260,7 @@
 
 
 TEST_CASE(Maps) {
-  for (intptr_t initial_capacity = 0;
-       initial_capacity < 32;
+  for (intptr_t initial_capacity = 0; initial_capacity < 32;
        ++initial_capacity) {
     TestMap<UnorderedHashMap<TestTraits> >(initial_capacity, false);
   }
diff --git a/runtime/vm/heap.cc b/runtime/vm/heap.cc
index 97a6da6..a6a4daa 100644
--- a/runtime/vm/heap.cc
+++ b/runtime/vm/heap.cc
@@ -39,9 +39,7 @@
       gc_new_space_in_progress_(false),
       gc_old_space_in_progress_(false) {
   UpdateGlobalMaxUsed();
-  for (int sel = 0;
-       sel < kNumWeakSelectors;
-       sel++) {
+  for (int sel = 0; sel < kNumWeakSelectors; sel++) {
     new_weak_tables_[sel] = new WeakTable();
     old_weak_tables_[sel] = new WeakTable();
   }
@@ -53,9 +51,7 @@
   delete barrier_;
   delete barrier_done_;
 
-  for (int sel = 0;
-       sel < kNumWeakSelectors;
-       sel++) {
+  for (int sel = 0; sel < kNumWeakSelectors; sel++) {
     delete new_weak_tables_[sel];
     delete old_weak_tables_[sel];
   }
@@ -139,8 +135,8 @@
     return addr;
   }
   // Give up allocating this object.
-  OS::PrintErr(
-      "Exhausted heap space, trying to allocate %" Pd " bytes.\n", size);
+  OS::PrintErr("Exhausted heap space, trying to allocate %" Pd " bytes.\n",
+               size);
   return 0;
 }
 
@@ -179,8 +175,7 @@
 }
 
 bool Heap::Contains(uword addr) const {
-  return new_space_.Contains(addr) ||
-      old_space_.Contains(addr);
+  return new_space_.Contains(addr) || old_space_.Contains(addr);
 }
 
 
@@ -303,8 +298,7 @@
 bool Heap::BeginNewSpaceGC(Thread* thread) {
   MonitorLocker ml(&gc_in_progress_monitor_);
   bool start_gc_on_thread = true;
-  while (gc_new_space_in_progress_ ||
-         gc_old_space_in_progress_) {
+  while (gc_new_space_in_progress_ || gc_old_space_in_progress_) {
     start_gc_on_thread = !gc_new_space_in_progress_;
     ml.WaitWithSafepointCheck(thread);
   }
@@ -327,8 +321,7 @@
 bool Heap::BeginOldSpaceGC(Thread* thread) {
   MonitorLocker ml(&gc_in_progress_monitor_);
   bool start_gc_on_thread = true;
-  while (gc_new_space_in_progress_ ||
-         gc_old_space_in_progress_) {
+  while (gc_new_space_in_progress_ || gc_old_space_in_progress_) {
     start_gc_on_thread = !gc_old_space_in_progress_;
     ml.WaitWithSafepointCheck(thread);
   }
@@ -511,9 +504,7 @@
                 intptr_t max_old_gen_words,
                 intptr_t max_external_words) {
   ASSERT(isolate->heap() == NULL);
-  Heap* heap = new Heap(isolate,
-                        max_new_gen_words,
-                        max_old_gen_words,
+  Heap* heap = new Heap(isolate, max_new_gen_words, max_old_gen_words,
                         max_external_words);
   isolate->set_heap(heap);
 }
@@ -528,12 +519,12 @@
 ObjectSet* Heap::CreateAllocatedObjectSet(
     Zone* zone,
     MarkExpectation mark_expectation) const {
-  ObjectSet* allocated_set = new(zone) ObjectSet(zone);
+  ObjectSet* allocated_set = new (zone) ObjectSet(zone);
 
   this->AddRegionsToObjectSet(allocated_set);
   {
-    VerifyObjectVisitor object_visitor(
-        isolate(), allocated_set, mark_expectation);
+    VerifyObjectVisitor object_visitor(isolate(), allocated_set,
+                                       mark_expectation);
     this->VisitObjects(&object_visitor);
   }
 
@@ -541,8 +532,8 @@
   vm_isolate->heap()->AddRegionsToObjectSet(allocated_set);
   {
     // VM isolate heap is premarked.
-    VerifyObjectVisitor vm_object_visitor(
-        isolate(), allocated_set, kRequireMarked);
+    VerifyObjectVisitor vm_object_visitor(isolate(), allocated_set,
+                                          kRequireMarked);
     vm_isolate->heap()->VisitObjects(&vm_object_visitor);
   }
 
@@ -558,8 +549,8 @@
 
 bool Heap::VerifyGC(MarkExpectation mark_expectation) const {
   StackZone stack_zone(Thread::Current());
-  ObjectSet* allocated_set = CreateAllocatedObjectSet(stack_zone.GetZone(),
-                                                      mark_expectation);
+  ObjectSet* allocated_set =
+      CreateAllocatedObjectSet(stack_zone.GetZone(), mark_expectation);
   VerifyPointersVisitor visitor(isolate(), allocated_set);
   VisitObjectPointers(&visitor);
 
@@ -569,12 +560,12 @@
 
 
 void Heap::PrintSizes() const {
-  OS::PrintErr("New space (%" Pd64 "k of %" Pd64 "k) "
-               "Old space (%" Pd64 "k of %" Pd64 "k)\n",
-               (UsedInWords(kNew) / KBInWords),
-               (CapacityInWords(kNew) / KBInWords),
-               (UsedInWords(kOld) / KBInWords),
-               (CapacityInWords(kOld) / KBInWords));
+  OS::PrintErr(
+      "New space (%" Pd64 "k of %" Pd64
+      "k) "
+      "Old space (%" Pd64 "k of %" Pd64 "k)\n",
+      (UsedInWords(kNew) / KBInWords), (CapacityInWords(kNew) / KBInWords),
+      (UsedInWords(kOld) / KBInWords), (CapacityInWords(kOld) / KBInWords));
 }
 
 
@@ -584,14 +575,14 @@
 
 
 int64_t Heap::CapacityInWords(Space space) const {
-  return space == kNew ? new_space_.CapacityInWords() :
-                         old_space_.CapacityInWords();
+  return space == kNew ? new_space_.CapacityInWords()
+                       : old_space_.CapacityInWords();
 }
 
 
 int64_t Heap::ExternalInWords(Space space) const {
-  return space == kNew ? new_space_.ExternalInWords() :
-                         old_space_.ExternalInWords();
+  return space == kNew ? new_space_.ExternalInWords()
+                       : old_space_.ExternalInWords();
 }
 
 
@@ -639,13 +630,13 @@
 
 int64_t Heap::HashCount() const {
   return new_weak_tables_[kHashes]->count() +
-      old_weak_tables_[kHashes]->count();
+         old_weak_tables_[kHashes]->count();
 }
 
 
 int64_t Heap::ObjectIdCount() const {
   return new_weak_tables_[kObjectIds]->count() +
-      old_weak_tables_[kObjectIds]->count();
+         old_weak_tables_[kObjectIds]->count();
 }
 
 
@@ -734,12 +725,14 @@
 
   if ((FLAG_verbose_gc_hdr != 0) &&
       (((stats_.num_ - 1) % FLAG_verbose_gc_hdr) == 0)) {
-    OS::PrintErr("[    GC    |  space  | count | start | gc time | "
-                 "new gen (KB) | old gen (KB) | timers | data ]\n"
-                 "[ (isolate)| (reason)|       |  (s)  |   (ms)  | "
-                 "used,cap,ext | used,cap,ext |  (ms)  |      ]\n");
+    OS::PrintErr(
+        "[    GC    |  space  | count | start | gc time | "
+        "new gen (KB) | old gen (KB) | timers | data ]\n"
+        "[ (isolate)| (reason)|       |  (s)  |   (ms)  | "
+        "used,cap,ext | used,cap,ext |  (ms)  |      ]\n");
   }
 
+  // clang-format off
   const char* space_str = stats_.space_ == kNew ? "Scavenge" : "Mark-Sweep";
   OS::PrintErr(
     "[ GC(%" Pd64 "): %s(%s), "  // GC(isolate), space(reason)
@@ -780,6 +773,7 @@
     stats_.data_[1],
     stats_.data_[2],
     stats_.data_[3]);
+  // clang-format on
 }
 
 
@@ -789,55 +783,31 @@
     return;
   }
   event->SetNumArguments(12);
-  event->FormatArgument(0,
-                        "Before.New.Used (kB)",
-                        "%" Pd "",
+  event->FormatArgument(0, "Before.New.Used (kB)", "%" Pd "",
                         RoundWordsToKB(stats_.before_.new_.used_in_words));
-  event->FormatArgument(1,
-                        "After.New.Used (kB)",
-                        "%" Pd "",
+  event->FormatArgument(1, "After.New.Used (kB)", "%" Pd "",
                         RoundWordsToKB(stats_.after_.new_.used_in_words));
-  event->FormatArgument(2,
-                        "Before.Old.Used (kB)",
-                        "%" Pd "",
+  event->FormatArgument(2, "Before.Old.Used (kB)", "%" Pd "",
                         RoundWordsToKB(stats_.before_.old_.used_in_words));
-  event->FormatArgument(3,
-                        "After.Old.Used (kB)",
-                        "%" Pd "",
+  event->FormatArgument(3, "After.Old.Used (kB)", "%" Pd "",
                         RoundWordsToKB(stats_.after_.old_.used_in_words));
 
-  event->FormatArgument(4,
-                        "Before.New.Capacity (kB)",
-                        "%" Pd "",
+  event->FormatArgument(4, "Before.New.Capacity (kB)", "%" Pd "",
                         RoundWordsToKB(stats_.before_.new_.capacity_in_words));
-  event->FormatArgument(5,
-                        "After.New.Capacity (kB)",
-                        "%" Pd "",
+  event->FormatArgument(5, "After.New.Capacity (kB)", "%" Pd "",
                         RoundWordsToKB(stats_.after_.new_.capacity_in_words));
-  event->FormatArgument(6,
-                        "Before.Old.Capacity (kB)",
-                        "%" Pd "",
+  event->FormatArgument(6, "Before.Old.Capacity (kB)", "%" Pd "",
                         RoundWordsToKB(stats_.before_.old_.capacity_in_words));
-  event->FormatArgument(7,
-                        "After.Old.Capacity (kB)",
-                        "%" Pd "",
+  event->FormatArgument(7, "After.Old.Capacity (kB)", "%" Pd "",
                         RoundWordsToKB(stats_.after_.old_.capacity_in_words));
 
-  event->FormatArgument(8,
-                        "Before.New.External (kB)",
-                        "%" Pd "",
+  event->FormatArgument(8, "Before.New.External (kB)", "%" Pd "",
                         RoundWordsToKB(stats_.before_.new_.external_in_words));
-  event->FormatArgument(9,
-                        "After.New.External (kB)",
-                        "%" Pd "",
+  event->FormatArgument(9, "After.New.External (kB)", "%" Pd "",
                         RoundWordsToKB(stats_.after_.new_.external_in_words));
-  event->FormatArgument(10,
-                        "Before.Old.External (kB)",
-                        "%" Pd "",
+  event->FormatArgument(10, "Before.Old.External (kB)", "%" Pd "",
                         RoundWordsToKB(stats_.before_.old_.external_in_words));
-  event->FormatArgument(11,
-                        "After.Old.External (kB)",
-                        "%" Pd "",
+  event->FormatArgument(11, "After.Old.External (kB)", "%" Pd "",
                         RoundWordsToKB(stats_.after_.old_.external_in_words));
 #endif  // !defined(PRODUCT)
 }
@@ -845,15 +815,15 @@
 
 NoHeapGrowthControlScope::NoHeapGrowthControlScope()
     : StackResource(Thread::Current()) {
-    Heap* heap = reinterpret_cast<Isolate*>(isolate())->heap();
-    current_growth_controller_state_ = heap->GrowthControlState();
-    heap->DisableGrowthControl();
+  Heap* heap = reinterpret_cast<Isolate*>(isolate())->heap();
+  current_growth_controller_state_ = heap->GrowthControlState();
+  heap->DisableGrowthControl();
 }
 
 
 NoHeapGrowthControlScope::~NoHeapGrowthControlScope() {
-    Heap* heap = reinterpret_cast<Isolate*>(isolate())->heap();
-    heap->SetGrowthControlState(current_growth_controller_state_);
+  Heap* heap = reinterpret_cast<Isolate*>(isolate())->heap();
+  heap->SetGrowthControlState(current_growth_controller_state_);
 }
 
 
diff --git a/runtime/vm/heap.h b/runtime/vm/heap.h
index 30210bc..3e05e13 100644
--- a/runtime/vm/heap.h
+++ b/runtime/vm/heap.h
@@ -33,17 +33,9 @@
     kCode,
   };
 
-  enum WeakSelector {
-    kPeers = 0,
-    kHashes,
-    kObjectIds,
-    kNumWeakSelectors
-  };
+  enum WeakSelector { kPeers = 0, kHashes, kObjectIds, kNumWeakSelectors };
 
-  enum ApiCallbacks {
-    kIgnoreApiCallbacks,
-    kInvokeApiCallbacks
-  };
+  enum ApiCallbacks { kIgnoreApiCallbacks, kInvokeApiCallbacks };
 
   enum GCReason {
     kNewSpace,
@@ -211,7 +203,7 @@
     if (space == kNew) {
       return new_weak_tables_[selector];
     }
-    ASSERT(space ==kOld);
+    ASSERT(space == kOld);
     return old_weak_tables_[selector];
   }
   void SetWeakTable(Space space, WeakSelector selector, WeakTable* value) {
@@ -272,13 +264,12 @@
       int64_t micros_;
       SpaceUsage new_;
       SpaceUsage old_;
+
      private:
       DISALLOW_COPY_AND_ASSIGN(Data);
     };
 
-    enum {
-      kDataEntries = 4
-    };
+    enum { kDataEntries = 4 };
 
     Data before_;
     Data after_;
@@ -312,10 +303,12 @@
   bool VerifyGC(MarkExpectation mark_expectation = kForbidMarked) const;
 
   // Helper functions for garbage collection.
-  void CollectNewSpaceGarbage(
-      Thread* thread, ApiCallbacks api_callbacks, GCReason reason);
-  void CollectOldSpaceGarbage(
-      Thread* thread, ApiCallbacks api_callbacks, GCReason reason);
+  void CollectNewSpaceGarbage(Thread* thread,
+                              ApiCallbacks api_callbacks,
+                              GCReason reason);
+  void CollectOldSpaceGarbage(Thread* thread,
+                              ApiCallbacks api_callbacks,
+                              GCReason reason);
 
   // GC stats collection.
   void RecordBeforeGC(Space space, GCReason reason);
@@ -355,10 +348,10 @@
   bool gc_new_space_in_progress_;
   bool gc_old_space_in_progress_;
 
-  friend class Become;  // VisitObjectPointers
+  friend class Become;       // VisitObjectPointers
   friend class Precompiler;  // VisitObjects
   friend class ServiceEvent;
-  friend class PageSpace;  // VerifyGC
+  friend class PageSpace;             // VerifyGC
   friend class IsolateReloadContext;  // VisitObjects
 
   DISALLOW_COPY_AND_ASSIGN(Heap);
@@ -369,6 +362,7 @@
  public:
   HeapIterationScope();
   ~HeapIterationScope();
+
  private:
   NoSafepointScope no_safepoint_scope_;
   PageSpace* old_space_;
@@ -381,6 +375,7 @@
  public:
   NoHeapGrowthControlScope();
   ~NoHeapGrowthControlScope();
+
  private:
   bool current_growth_controller_state_;
   DISALLOW_COPY_AND_ASSIGN(NoHeapGrowthControlScope);
diff --git a/runtime/vm/heap_test.cc b/runtime/vm/heap_test.cc
index 7454cf4..939225f 100644
--- a/runtime/vm/heap_test.cc
+++ b/runtime/vm/heap_test.cc
@@ -15,9 +15,9 @@
 
 TEST_CASE(OldGC) {
   const char* kScriptChars =
-  "main() {\n"
-  "  return [1, 2, 3];\n"
-  "}\n";
+      "main() {\n"
+      "  return [1, 2, 3];\n"
+      "}\n";
   FLAG_verbose_gc = true;
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
   Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
@@ -35,9 +35,9 @@
 TEST_CASE(OldGC_Unsync) {
   FLAG_marker_tasks = 0;
   const char* kScriptChars =
-  "main() {\n"
-  "  return [1, 2, 3];\n"
-  "}\n";
+      "main() {\n"
+      "  return [1, 2, 3];\n"
+      "}\n";
   FLAG_verbose_gc = true;
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
   Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
@@ -54,9 +54,9 @@
 
 TEST_CASE(LargeSweep) {
   const char* kScriptChars =
-  "main() {\n"
-  "  return new List(8 * 1024 * 1024);\n"
-  "}\n";
+      "main() {\n"
+      "  return new List(8 * 1024 * 1024);\n"
+      "}\n";
   FLAG_verbose_gc = true;
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
   Dart_EnterScope();
@@ -101,15 +101,15 @@
 
 TEST_CASE(ClassHeapStats) {
   const char* kScriptChars =
-  "class A {\n"
-  "  var a;\n"
-  "  var b;\n"
-  "}\n"
-  ""
-  "main() {\n"
-  "  var x = new A();\n"
-  "  return new A();\n"
-  "}\n";
+      "class A {\n"
+      "  var a;\n"
+      "  var b;\n"
+      "}\n"
+      ""
+      "main() {\n"
+      "  var x = new A();\n"
+      "  return new A();\n"
+      "}\n";
   Dart_Handle h_lib = TestCase::LoadTestScript(kScriptChars, NULL);
   Isolate* isolate = Isolate::Current();
   ClassTable* class_table = isolate->class_table();
@@ -126,8 +126,7 @@
   ASSERT(!cls.IsNull());
   intptr_t cid = cls.id();
   ClassHeapStats* class_stats =
-      ClassHeapStatsTestHelper::GetHeapStatsForCid(class_table,
-                                                   cid);
+      ClassHeapStatsTestHelper::GetHeapStatsForCid(class_table, cid);
   // Verify preconditions:
   EXPECT_EQ(0, class_stats->pre_gc.old_count);
   EXPECT_EQ(0, class_stats->post_gc.old_count);
@@ -196,20 +195,19 @@
 
 TEST_CASE(ArrayHeapStats) {
   const char* kScriptChars =
-  "List f(int len) {\n"
-  "  return new List(len);\n"
-  "}\n"
-  ""
-  "main() {\n"
-  "  return f(1234);\n"
-  "}\n";
+      "List f(int len) {\n"
+      "  return new List(len);\n"
+      "}\n"
+      ""
+      "main() {\n"
+      "  return f(1234);\n"
+      "}\n";
   Dart_Handle h_lib = TestCase::LoadTestScript(kScriptChars, NULL);
   Isolate* isolate = Isolate::Current();
   ClassTable* class_table = isolate->class_table();
   intptr_t cid = kArrayCid;
   ClassHeapStats* class_stats =
-      ClassHeapStatsTestHelper::GetHeapStatsForCid(class_table,
-                                                   cid);
+      ClassHeapStatsTestHelper::GetHeapStatsForCid(class_table, cid);
   Dart_EnterScope();
   // Invoke 'main' twice, since initial compilation might trigger extra array
   // allocations.
@@ -242,11 +240,10 @@
     EXPECT_GT(Thread::Current()->no_safepoint_scope_depth(), 0);
 #endif
   }
-  virtual ~FindOnly() { }
+  virtual ~FindOnly() {}
 
-  virtual bool FindObject(RawObject* obj) const {
-    return obj == target_;
-  }
+  virtual bool FindObject(RawObject* obj) const { return obj == target_; }
+
  private:
   RawObject* target_;
 };
@@ -254,8 +251,8 @@
 
 class FindNothing : public FindObjectVisitor {
  public:
-  FindNothing() { }
-  virtual ~FindNothing() { }
+  FindNothing() {}
+  virtual ~FindNothing() {}
   virtual bool FindObject(RawObject* obj) const { return false; }
 };
 
diff --git a/runtime/vm/il_printer.cc b/runtime/vm/il_printer.cc
index 01515639..bfee006 100644
--- a/runtime/vm/il_printer.cc
+++ b/runtime/vm/il_printer.cc
@@ -13,11 +13,15 @@
 
 #ifndef PRODUCT
 
-DEFINE_FLAG(bool, display_sorted_ic_data, false,
-    "Calls display a unary, sorted-by count form of ICData");
+DEFINE_FLAG(bool,
+            display_sorted_ic_data,
+            false,
+            "Calls display a unary, sorted-by count form of ICData");
 DEFINE_FLAG(bool, print_environments, false, "Print SSA environments.");
-DEFINE_FLAG(charp, print_flow_graph_filter, NULL,
-    "Print only IR of functions with matching names");
+DEFINE_FLAG(charp,
+            print_flow_graph_filter,
+            NULL,
+            "Print only IR of functions with matching names");
 
 DECLARE_FLAG(bool, trace_inlining_intervals);
 
@@ -32,8 +36,7 @@
 void BufferFormatter::VPrint(const char* format, va_list args) {
   intptr_t available = size_ - position_;
   if (available <= 0) return;
-  intptr_t written =
-      OS::VSNPrint(buffer_ + position_, available, format, args);
+  intptr_t written = OS::VSNPrint(buffer_ + position_, available, format, args);
   if (written >= 0) {
     position_ += (available <= written) ? available : written;
   }
@@ -65,8 +68,8 @@
     const intptr_t token_len = strlen(token);
     if (token[token_len - 1] == '%') {
       if (function_name_len > token_len) {
-        const char* suffix = function_name +
-            (function_name_len - token_len + 1);
+        const char* suffix =
+            function_name + (function_name_len - token_len + 1);
         if (strncmp(suffix, token, token_len - 1) == 0) {
           found = true;
           break;
@@ -154,17 +157,16 @@
                                       const AbstractType& dst_type,
                                       const String& dst_name,
                                       bool eliminated) {
-    const char* compile_type_name = "unknown";
-    if (value != NULL && value->reaching_type_ != NULL) {
-      compile_type_name = value->reaching_type_->ToCString();
-    }
-    THR_Print("%s type check: compile type %s is %s specific than "
-              "type '%s' of '%s'.\n",
-                         eliminated ? "Eliminated" : "Generated",
-                         compile_type_name,
-                         eliminated ? "more" : "not more",
-                         String::Handle(dst_type.Name()).ToCString(),
-                         dst_name.ToCString());
+  const char* compile_type_name = "unknown";
+  if (value != NULL && value->reaching_type_ != NULL) {
+    compile_type_name = value->reaching_type_->ToCString();
+  }
+  THR_Print(
+      "%s type check: compile type %s is %s specific than "
+      "type '%s' of '%s'.\n",
+      eliminated ? "Eliminated" : "Generated", compile_type_name,
+      eliminated ? "more" : "not more",
+      String::Handle(dst_type.Name()).ToCString(), dst_name.ToCString());
 }
 
 
@@ -231,14 +233,13 @@
                                     const ICData& ic_data_orig) {
   const ICData& ic_data =
       ICData::Handle(ic_data_orig.AsUnaryClassChecksSortedByCount());
-  f->Print(" IC[n:%" Pd"; ", ic_data.NumberOfChecks());
+  f->Print(" IC[n:%" Pd "; ", ic_data.NumberOfChecks());
   for (intptr_t i = 0; i < ic_data.NumberOfChecks(); i++) {
     const intptr_t count = ic_data.GetCountAt(i);
     const intptr_t cid = ic_data.GetReceiverClassIdAt(i);
     const Class& cls =
         Class::Handle(Isolate::Current()->class_table()->At(cid));
-    f->Print("%s : %" Pd ", ",
-        String::Handle(cls.Name()).ToCString(), count);
+    f->Print("%s : %" Pd ", ", String::Handle(cls.Name()).ToCString(), count);
   }
   f->Print("]");
 }
@@ -259,7 +260,7 @@
   if (definition.HasSSATemp()) {
     if (definition.HasPairRepresentation()) {
       f->Print("(v%" Pd ", v%" Pd ")", definition.ssa_temp_index(),
-                                       definition.ssa_temp_index() + 1);
+               definition.ssa_temp_index() + 1);
     } else {
       f->Print("v%" Pd "", definition.ssa_temp_index());
     }
@@ -332,8 +333,7 @@
 void Value::PrintTo(BufferFormatter* f) const {
   PrintUse(f, *definition());
 
-  if ((reaching_type_ != NULL) &&
-      (reaching_type_ != definition()->type_)) {
+  if ((reaching_type_ != NULL) && (reaching_type_ != definition()->type_)) {
     f->Print(" ");
     reaching_type_->PrintTo(f);
   }
@@ -423,9 +423,7 @@
 
 void AssertAssignableInstr::PrintOperandsTo(BufferFormatter* f) const {
   value()->PrintTo(f);
-  f->Print(", %s, '%s'",
-           dst_type().ToCString(),
-           dst_name().ToCString());
+  f->Print(", %s, '%s'", dst_type().ToCString(), dst_name().ToCString());
   f->Print(" instantiator_type_arguments(");
   instantiator_type_arguments()->PrintTo(f);
   f->Print(")");
@@ -498,8 +496,8 @@
   left()->PrintTo(f);
   f->Print(" %s [", Token::Str(kind()));
   for (intptr_t i = 0; i < cid_results().length(); i += 2) {
-    f->Print("0x%" Px ":%s ",
-        cid_results()[i], cid_results()[i + 1] == 0 ? "false" : "true");
+    f->Print("0x%" Px ":%s ", cid_results()[i],
+             cid_results()[i + 1] == 0 ? "false" : "true");
   }
   f->Print("] ");
 }
@@ -538,8 +536,7 @@
 
 
 void GuardFieldInstr::PrintOperandsTo(BufferFormatter* f) const {
-  f->Print("%s %s, ",
-           String::Handle(field().name()).ToCString(),
+  f->Print("%s %s, ", String::Handle(field().name()).ToCString(),
            field().GuardedPropertiesAsCString());
   value()->PrintTo(f);
 }
@@ -549,8 +546,7 @@
   if (field().IsNull()) {
     f->Print("{%" Pd "}, ", offset_in_bytes());
   } else {
-    f->Print("%s {%" Pd "}, ",
-             String::Handle(field().name()).ToCString(),
+    f->Print("%s {%" Pd "}, ", String::Handle(field().name()).ToCString(),
              field().Offset());
   }
   instance()->PrintTo(f);
@@ -561,9 +557,7 @@
 
 void IfThenElseInstr::PrintOperandsTo(BufferFormatter* f) const {
   comparison()->PrintOperandsTo(f);
-  f->Print(" ? %" Pd " : %" Pd,
-           if_true_,
-           if_false_);
+  f->Print(" ? %" Pd " : %" Pd, if_true_, if_false_);
 }
 
 
@@ -580,9 +574,8 @@
 
 void InstanceOfInstr::PrintOperandsTo(BufferFormatter* f) const {
   value()->PrintTo(f);
-  f->Print(" %s %s",
-            negate_result() ? "ISNOT" : "IS",
-            String::Handle(type().Name()).ToCString());
+  f->Print(" %s %s", negate_result() ? "ISNOT" : "IS",
+           String::Handle(type().Name()).ToCString());
   f->Print(" type-arg(");
   instantiator_type_arguments()->PrintTo(f);
   f->Print(")");
@@ -629,12 +622,11 @@
     const char* expected = "?";
     if (field()->guarded_cid() != kIllegalCid) {
       const Class& cls = Class::Handle(
-            Isolate::Current()->class_table()->At(field()->guarded_cid()));
+          Isolate::Current()->class_table()->At(field()->guarded_cid()));
       expected = String::Handle(cls.Name()).ToCString();
     }
 
-    f->Print(" [%s %s]",
-             field()->is_nullable() ? "nullable" : "non-nullable",
+    f->Print(" [%s %s]", field()->is_nullable() ? "nullable" : "non-nullable",
              expected);
   }
 
@@ -991,7 +983,7 @@
   value()->PrintTo(f);
 
   const Class& cls =
-    Class::Handle(Isolate::Current()->class_table()->At(cid()));
+      Class::Handle(Isolate::Current()->class_table()->At(cid()));
   f->Print(", %s", String::Handle(cls.ScrubbedName()).ToCString());
 }
 
@@ -1032,8 +1024,8 @@
 
 void JoinEntryInstr::PrintTo(BufferFormatter* f) const {
   if (try_index() != CatchClauseNode::kInvalidTryIndex) {
-    f->Print("B%" Pd "[join try_idx %" Pd "]:%" Pd " pred(",
-             block_id(), try_index(), GetDeoptId());
+    f->Print("B%" Pd "[join try_idx %" Pd "]:%" Pd " pred(", block_id(),
+             try_index(), GetDeoptId());
   } else {
     f->Print("B%" Pd "[join]:%" Pd " pred(", block_id(), GetDeoptId());
   }
@@ -1082,7 +1074,7 @@
 }
 
 
-static const char *RepresentationToCString(Representation rep) {
+static const char* RepresentationToCString(Representation rep) {
   switch (rep) {
     case kTagged:
       return "tagged";
@@ -1117,8 +1109,8 @@
 
 void PhiInstr::PrintTo(BufferFormatter* f) const {
   if (HasPairRepresentation()) {
-    f->Print("(v%" Pd ", v%" Pd ") <- phi(",
-             ssa_temp_index(), ssa_temp_index() + 1);
+    f->Print("(v%" Pd ", v%" Pd ") <- phi(", ssa_temp_index(),
+             ssa_temp_index() + 1);
   } else {
     f->Print("v%" Pd " <- phi(", ssa_temp_index());
   }
@@ -1137,8 +1129,7 @@
     range_->PrintTo(f);
   }
 
-  if (representation() != kNoRepresentation &&
-      representation() != kTagged) {
+  if (representation() != kNoRepresentation && representation() != kTagged) {
     f->Print(" %s", RepresentationToCString(representation()));
   }
 
@@ -1158,10 +1149,8 @@
 
 
 void UnboxedIntConverterInstr::PrintOperandsTo(BufferFormatter* f) const {
-  f->Print("%s->%s%s, ",
-           RepresentationToCString(from()),
-           RepresentationToCString(to()),
-           is_truncating() ? "[tr]" : "");
+  f->Print("%s->%s%s, ", RepresentationToCString(from()),
+           RepresentationToCString(to()), is_truncating() ? "[tr]" : "");
   Definition::PrintOperandsTo(f);
 }
 
@@ -1178,8 +1167,8 @@
 
 void TargetEntryInstr::PrintTo(BufferFormatter* f) const {
   if (try_index() != CatchClauseNode::kInvalidTryIndex) {
-    f->Print("B%" Pd "[target try_idx %" Pd "]:%" Pd,
-             block_id(), try_index(), GetDeoptId());
+    f->Print("B%" Pd "[target try_idx %" Pd "]:%" Pd, block_id(), try_index(),
+             GetDeoptId());
   } else {
     f->Print("B%" Pd "[target]:%" Pd, block_id(), GetDeoptId());
   }
@@ -1245,9 +1234,8 @@
   f->Print("if ");
   comparison()->PrintTo(f);
 
-  f->Print(" goto (%" Pd ", %" Pd ")",
-            true_successor()->block_id(),
-            false_successor()->block_id());
+  f->Print(" goto (%" Pd ", %" Pd ")", true_successor()->block_id(),
+           false_successor()->block_id());
 }
 
 
diff --git a/runtime/vm/il_printer.h b/runtime/vm/il_printer.h
index 88496fb..7b27a61 100644
--- a/runtime/vm/il_printer.h
+++ b/runtime/vm/il_printer.h
@@ -13,9 +13,7 @@
 class BufferFormatter : public ValueObject {
  public:
   BufferFormatter(char* buffer, intptr_t size)
-    : position_(0),
-      buffer_(buffer),
-      size_(size) { }
+      : position_(0), buffer_(buffer), size_(size) {}
 
   void VPrint(const char* format, va_list args);
   void Print(const char* format, ...) PRINTF_ATTRIBUTE(2, 3);
@@ -37,11 +35,11 @@
  public:
   static const intptr_t kPrintAll = -1;
 
-  FlowGraphPrinter(const FlowGraph& flow_graph,
-                   bool print_locations = false)
+  explicit FlowGraphPrinter(const FlowGraph& flow_graph,
+                            bool print_locations = false)
       : function_(flow_graph.function()),
         block_order_(flow_graph.reverse_postorder()),
-        print_locations_(print_locations) { }
+        print_locations_(print_locations) {}
 
   // Print the instructions in a block terminated by newlines.  Add "goto N"
   // to the end of the block if it ends with an unconditional jump to
diff --git a/runtime/vm/instructions.h b/runtime/vm/instructions.h
index 8b14145..be8c604 100644
--- a/runtime/vm/instructions.h
+++ b/runtime/vm/instructions.h
@@ -28,9 +28,7 @@
 class Object;
 class Code;
 
-bool DecodeLoadObjectFromPoolOrThread(uword pc,
-                                      const Code& code,
-                                      Object* obj);
+bool DecodeLoadObjectFromPoolOrThread(uword pc, const Code& code, Object* obj);
 
 }  // namespace dart
 
diff --git a/runtime/vm/instructions_arm.cc b/runtime/vm/instructions_arm.cc
index 1541f40..8de71db 100644
--- a/runtime/vm/instructions_arm.cc
+++ b/runtime/vm/instructions_arm.cc
@@ -26,10 +26,8 @@
   ASSERT(*(reinterpret_cast<uword*>(end_) - 1) == 0xe12fff3e);
 
   Register reg;
-  ic_data_load_end_ =
-      InstructionPattern::DecodeLoadWordFromPool(end_ - 2 * Instr::kInstrSize,
-                                                 &reg,
-                                                 &target_code_pool_index_);
+  ic_data_load_end_ = InstructionPattern::DecodeLoadWordFromPool(
+      end_ - 2 * Instr::kInstrSize, &reg, &target_code_pool_index_);
   ASSERT(reg == CODE_REG);
 }
 
@@ -44,13 +42,10 @@
   ASSERT(*(reinterpret_cast<uword*>(end_) - 1) == 0xe12fff3e);
 
   Register reg;
-  uword native_function_load_end =
-      InstructionPattern::DecodeLoadWordFromPool(end_ - 2 * Instr::kInstrSize,
-                                                 &reg,
-                                                 &target_code_pool_index_);
+  uword native_function_load_end = InstructionPattern::DecodeLoadWordFromPool(
+      end_ - 2 * Instr::kInstrSize, &reg, &target_code_pool_index_);
   ASSERT(reg == CODE_REG);
-  InstructionPattern::DecodeLoadWordFromPool(native_function_load_end,
-                                             &reg,
+  InstructionPattern::DecodeLoadWordFromPool(native_function_load_end, &reg,
                                              &native_function_pool_index_);
   ASSERT(reg == R9);
 }
@@ -76,7 +71,7 @@
 
 void NativeCallPattern::set_native_function(NativeFunction func) const {
   object_pool_.SetRawValueAt(native_function_pool_index_,
-      reinterpret_cast<uword>(func));
+                             reinterpret_cast<uword>(func));
 }
 
 
@@ -156,8 +151,10 @@
 }
 
 
-static bool IsLoadWithOffset(int32_t instr, Register base,
-                             intptr_t* offset, Register* dst) {
+static bool IsLoadWithOffset(int32_t instr,
+                             Register base,
+                             intptr_t* offset,
+                             Register* dst) {
   if ((instr & 0xffff0000) == (0xe5900000 | (base << 16))) {
     // ldr reg, [base, #+offset]
     *offset = instr & 0xfff;
@@ -203,9 +200,7 @@
 }
 
 
-bool DecodeLoadObjectFromPoolOrThread(uword pc,
-                                      const Code& code,
-                                      Object* obj) {
+bool DecodeLoadObjectFromPoolOrThread(uword pc, const Code& code, Object* obj) {
   ASSERT(code.ContainsInstructionAt(pc));
 
   int32_t instr = Instr::At(pc)->InstructionBits();
@@ -230,9 +225,7 @@
 RawICData* CallPattern::IcData() {
   if (ic_data_.IsNull()) {
     Register reg;
-    InstructionPattern::DecodeLoadObject(ic_data_load_end_,
-                                         object_pool_,
-                                         &reg,
+    InstructionPattern::DecodeLoadObject(ic_data_load_end_, object_pool_, &reg,
                                          &ic_data_);
     ASSERT(reg == R9);
   }
@@ -260,14 +253,11 @@
   ASSERT(*(reinterpret_cast<uword*>(pc) - 1) == 0xe12fff3e);
 
   Register reg;
-  uword data_load_end =
-      InstructionPattern::DecodeLoadWordFromPool(pc - Instr::kInstrSize,
-                                                 &reg,
-                                                 &data_pool_index_);
+  uword data_load_end = InstructionPattern::DecodeLoadWordFromPool(
+      pc - Instr::kInstrSize, &reg, &data_pool_index_);
   ASSERT(reg == R9);
   InstructionPattern::DecodeLoadWordFromPool(data_load_end - Instr::kInstrSize,
-                                             &reg,
-                                             &target_pool_index_);
+                                             &reg, &target_pool_index_);
   ASSERT(reg == CODE_REG);
 }
 
@@ -278,8 +268,7 @@
 
 
 RawCode* SwitchableCallPattern::target() const {
-  return reinterpret_cast<RawCode*>(
-      object_pool_.ObjectAt(target_pool_index_));
+  return reinterpret_cast<RawCode*>(object_pool_.ObjectAt(target_pool_index_));
 }
 
 
@@ -295,9 +284,7 @@
 }
 
 
-ReturnPattern::ReturnPattern(uword pc)
-    : pc_(pc) {
-}
+ReturnPattern::ReturnPattern(uword pc) : pc_(pc) {}
 
 
 bool ReturnPattern::IsValid() const {
@@ -305,8 +292,8 @@
   const int32_t B4 = 1 << 4;
   const int32_t B21 = 1 << 21;
   const int32_t B24 = 1 << 24;
-  int32_t instruction = (static_cast<int32_t>(AL) << kConditionShift) |
-                         B24 | B21 | (0xfff << 8) | B4 |
+  int32_t instruction = (static_cast<int32_t>(AL) << kConditionShift) | B24 |
+                        B21 | (0xfff << 8) | B4 |
                         (static_cast<int32_t>(LR) << kRmShift);
   const ARMVersion version = TargetCPUFeatures::arm_version();
   if ((version == ARMv5TE) || (version == ARMv6)) {
diff --git a/runtime/vm/instructions_arm.h b/runtime/vm/instructions_arm.h
index efaa73b..c4f4811 100644
--- a/runtime/vm/instructions_arm.h
+++ b/runtime/vm/instructions_arm.h
@@ -121,9 +121,7 @@
   // bx_lr = 1.
   static const int kLengthInBytes = 1 * Instr::kInstrSize;
 
-  int pattern_length_in_bytes() const {
-    return kLengthInBytes;
-  }
+  int pattern_length_in_bytes() const { return kLengthInBytes; }
 
   bool IsValid() const;
 
diff --git a/runtime/vm/instructions_arm64.cc b/runtime/vm/instructions_arm64.cc
index 0895ae9..b7b26b5 100644
--- a/runtime/vm/instructions_arm64.cc
+++ b/runtime/vm/instructions_arm64.cc
@@ -26,10 +26,8 @@
   ASSERT(*(reinterpret_cast<uint32_t*>(end_) - 1) == 0xd63f0200);
 
   Register reg;
-  ic_data_load_end_ =
-      InstructionPattern::DecodeLoadWordFromPool(end_ - 2 * Instr::kInstrSize,
-                                                 &reg,
-                                                 &target_code_pool_index_);
+  ic_data_load_end_ = InstructionPattern::DecodeLoadWordFromPool(
+      end_ - 2 * Instr::kInstrSize, &reg, &target_code_pool_index_);
   ASSERT(reg == CODE_REG);
 }
 
@@ -44,13 +42,10 @@
   ASSERT(*(reinterpret_cast<uint32_t*>(end_) - 1) == 0xd63f0200);
 
   Register reg;
-  uword native_function_load_end =
-      InstructionPattern::DecodeLoadWordFromPool(end_ - 2 * Instr::kInstrSize,
-                                                 &reg,
-                                                 &target_code_pool_index_);
+  uword native_function_load_end = InstructionPattern::DecodeLoadWordFromPool(
+      end_ - 2 * Instr::kInstrSize, &reg, &target_code_pool_index_);
   ASSERT(reg == CODE_REG);
-  InstructionPattern::DecodeLoadWordFromPool(native_function_load_end,
-                                             &reg,
+  InstructionPattern::DecodeLoadWordFromPool(native_function_load_end, &reg,
                                              &native_function_pool_index_);
   ASSERT(reg == R5);
 }
@@ -76,7 +71,7 @@
 
 void NativeCallPattern::set_native_function(NativeFunction func) const {
   object_pool_.SetRawValueAt(native_function_pool_index_,
-      reinterpret_cast<uword>(func));
+                             reinterpret_cast<uword>(func));
 }
 
 
@@ -210,7 +205,7 @@
 
   // Last instruction is always an ldr into a 64-bit X register.
   ASSERT(instr->IsLoadStoreRegOp() && (instr->Bit(22) == 1) &&
-        (instr->Bits(30, 2) == 3));
+         (instr->Bits(30, 2) == 3));
 
   // Grab the destination register from the ldr instruction.
   *reg = instr->RtField();
@@ -261,9 +256,7 @@
 }
 
 
-bool DecodeLoadObjectFromPoolOrThread(uword pc,
-                                      const Code& code,
-                                      Object* obj) {
+bool DecodeLoadObjectFromPoolOrThread(uword pc, const Code& code, Object* obj) {
   ASSERT(code.ContainsInstructionAt(pc));
 
   Instr* instr = Instr::At(pc);
@@ -299,7 +292,7 @@
   Instr* instr = Instr::At(start);
   const int32_t upper12 = offset & 0x00fff000;
   const int32_t lower12 = offset & 0x00000fff;
-  ASSERT((offset & 0xff000000) == 0);  // Can't encode > 24 bits.
+  ASSERT((offset & 0xff000000) == 0);        // Can't encode > 24 bits.
   ASSERT(((lower12 >> 3) << 3) == lower12);  // 8-byte aligned.
   instr->SetImm12Bits(instr->InstructionBits(), lower12 >> 3);
 
@@ -313,9 +306,7 @@
 RawICData* CallPattern::IcData() {
   if (ic_data_.IsNull()) {
     Register reg;
-    InstructionPattern::DecodeLoadObject(ic_data_load_end_,
-                                         object_pool_,
-                                         &reg,
+    InstructionPattern::DecodeLoadObject(ic_data_load_end_, object_pool_, &reg,
                                          &ic_data_);
     ASSERT(reg == R5);
   }
@@ -344,14 +335,11 @@
   ASSERT(*(reinterpret_cast<uint32_t*>(pc) - 1) == 0xd63f0200);
 
   Register reg;
-  uword data_load_end =
-      InstructionPattern::DecodeLoadWordFromPool(pc - Instr::kInstrSize,
-                                                 &reg,
-                                                 &data_pool_index_);
+  uword data_load_end = InstructionPattern::DecodeLoadWordFromPool(
+      pc - Instr::kInstrSize, &reg, &data_pool_index_);
   ASSERT(reg == R5);
   InstructionPattern::DecodeLoadWordFromPool(data_load_end - Instr::kInstrSize,
-                                             &reg,
-                                             &target_pool_index_);
+                                             &reg, &target_pool_index_);
   ASSERT(reg == CODE_REG);
 }
 
@@ -362,8 +350,7 @@
 
 
 RawCode* SwitchableCallPattern::target() const {
-  return reinterpret_cast<RawCode*>(
-      object_pool_.ObjectAt(target_pool_index_));
+  return reinterpret_cast<RawCode*>(object_pool_.ObjectAt(target_pool_index_));
 }
 
 
@@ -379,9 +366,7 @@
 }
 
 
-ReturnPattern::ReturnPattern(uword pc)
-    : pc_(pc) {
-}
+ReturnPattern::ReturnPattern(uword pc) : pc_(pc) {}
 
 
 bool ReturnPattern::IsValid() const {
diff --git a/runtime/vm/instructions_arm64.h b/runtime/vm/instructions_arm64.h
index e86a306..01808fc 100644
--- a/runtime/vm/instructions_arm64.h
+++ b/runtime/vm/instructions_arm64.h
@@ -128,9 +128,7 @@
   // bx_lr = 1.
   static const int kLengthInBytes = 1 * Instr::kInstrSize;
 
-  int pattern_length_in_bytes() const {
-    return kLengthInBytes;
-  }
+  int pattern_length_in_bytes() const { return kLengthInBytes; }
 
   bool IsValid() const;
 
diff --git a/runtime/vm/instructions_arm64_test.cc b/runtime/vm/instructions_arm64_test.cc
index 7ad4fb9..648ee17 100644
--- a/runtime/vm/instructions_arm64_test.cc
+++ b/runtime/vm/instructions_arm64_test.cc
@@ -28,10 +28,8 @@
   // in the code, points to the Ret instruction above, i.e. one instruction
   // before the end of the code buffer.
   uword end = test->payload_start() + test->code().Size();
-  CallPattern call(end - Instr::kInstrSize,
-                   test->code());
-  EXPECT_EQ(StubCode::InvokeDartCode_entry()->code(),
-            call.TargetCode());
+  CallPattern call(end - Instr::kInstrSize, test->code());
+  EXPECT_EQ(StubCode::InvokeDartCode_entry()->code(), call.TargetCode());
 }
 
 
diff --git a/runtime/vm/instructions_dbc.cc b/runtime/vm/instructions_dbc.cc
index b3f50ad..7667a5f 100644
--- a/runtime/vm/instructions_dbc.cc
+++ b/runtime/vm/instructions_dbc.cc
@@ -38,8 +38,9 @@
 }
 
 
-static bool GetLoadedObjectAt(
-    uword pc, const ObjectPool& object_pool, Object* obj) {
+static bool GetLoadedObjectAt(uword pc,
+                              const ObjectPool& object_pool,
+                              Object* obj) {
   Instr instr = Bytecode::At(pc);
   if (HasLoadFromPool(instr)) {
     uint16_t index = Bytecode::DecodeD(instr);
@@ -96,7 +97,7 @@
 
 void NativeCallPattern::set_native_function(NativeFunction func) const {
   object_pool_.SetRawValueAt(native_function_pool_index_,
-      reinterpret_cast<uword>(func));
+                             reinterpret_cast<uword>(func));
 }
 
 
@@ -140,9 +141,7 @@
 }
 
 
-bool DecodeLoadObjectFromPoolOrThread(uword pc,
-                                      const Code& code,
-                                      Object* obj) {
+bool DecodeLoadObjectFromPoolOrThread(uword pc, const Code& code, Object* obj) {
   ASSERT(code.ContainsInstructionAt(pc));
   const ObjectPool& pool = ObjectPool::Handle(code.object_pool());
   return GetLoadedObjectAt(pc, pool, obj);
@@ -170,8 +169,9 @@
 
 
 void CallPattern::InsertDeoptCallAt(uword pc) {
-  const uint8_t argc = Bytecode::IsCallOpcode(Bytecode::At(pc)) ?
-      Bytecode::DecodeArgc(Bytecode::At(pc)) : 0;
+  const uint8_t argc = Bytecode::IsCallOpcode(Bytecode::At(pc))
+                           ? Bytecode::DecodeArgc(Bytecode::At(pc))
+                           : 0;
   *reinterpret_cast<Instr*>(pc) = Bytecode::Encode(Bytecode::kDeopt, argc, 0);
 }
 
@@ -190,8 +190,7 @@
 
 
 RawCode* SwitchableCallPattern::target() const {
-  return reinterpret_cast<RawCode*>(
-      object_pool_.ObjectAt(target_pool_index_));
+  return reinterpret_cast<RawCode*>(object_pool_.ObjectAt(target_pool_index_));
 }
 
 
diff --git a/runtime/vm/instructions_ia32.cc b/runtime/vm/instructions_ia32.cc
index fa36c84..d774b99 100644
--- a/runtime/vm/instructions_ia32.cc
+++ b/runtime/vm/instructions_ia32.cc
@@ -13,9 +13,7 @@
 
 namespace dart {
 
-bool DecodeLoadObjectFromPoolOrThread(uword pc,
-                                      const Code& code,
-                                      Object* obj) {
+bool DecodeLoadObjectFromPoolOrThread(uword pc, const Code& code, Object* obj) {
   ASSERT(code.ContainsInstructionAt(pc));
   return false;
 }
diff --git a/runtime/vm/instructions_ia32.h b/runtime/vm/instructions_ia32.h
index 4be887f..d408a5a 100644
--- a/runtime/vm/instructions_ia32.h
+++ b/runtime/vm/instructions_ia32.h
@@ -23,11 +23,10 @@
 
 // Template class for all instruction pattern classes.
 // P has to specify a static pattern and a pattern length method.
-template<class P> class InstructionPattern : public ValueObject {
+template <class P>
+class InstructionPattern : public ValueObject {
  public:
-  explicit InstructionPattern(uword pc) : start_(pc) {
-    ASSERT(pc != 0);
-  }
+  explicit InstructionPattern(uword pc) : start_(pc) { ASSERT(pc != 0); }
 
   // Call to check if the instruction pattern at 'pc' match the instruction.
   // 'P::pattern()' returns the expected byte pattern in form of an integer
@@ -67,9 +66,8 @@
   explicit CallPattern(uword pc) : InstructionPattern(pc) {}
   uword TargetAddress() const {
     ASSERT(this->IsValid());
-    return this->start() +
-        CallPattern::pattern_length_in_bytes() +
-        *reinterpret_cast<uword*>(this->start() + 1);
+    return this->start() + CallPattern::pattern_length_in_bytes() +
+           *reinterpret_cast<uword*>(this->start() + 1);
   }
 
   void SetTargetAddress(uword new_target) const {
@@ -97,7 +95,7 @@
   explicit ReturnPattern(uword pc) : InstructionPattern(pc) {}
 
   static const int* pattern() {
-    static const int kReturnPattern[kLengthInBytes] = { 0xC3 };
+    static const int kReturnPattern[kLengthInBytes] = {0xC3};
     return kReturnPattern;
   }
   static int pattern_length_in_bytes() { return kLengthInBytes; }
@@ -114,7 +112,7 @@
   explicit ProloguePattern(uword pc) : InstructionPattern(pc) {}
 
   static const int* pattern() {
-    static const int kProloguePattern[kLengthInBytes] = { 0x55, 0x89, 0xe5 };
+    static const int kProloguePattern[kLengthInBytes] = {0x55, 0x89, 0xe5};
     return kProloguePattern;
   }
 
@@ -126,13 +124,13 @@
 
 
 // mov ebp, esp
-class SetFramePointerPattern :
-    public InstructionPattern<SetFramePointerPattern> {
+class SetFramePointerPattern
+    : public InstructionPattern<SetFramePointerPattern> {
  public:
   explicit SetFramePointerPattern(uword pc) : InstructionPattern(pc) {}
 
   static const int* pattern() {
-    static const int kFramePointerPattern[kLengthInBytes] = { 0x89, 0xe5 };
+    static const int kFramePointerPattern[kLengthInBytes] = {0x89, 0xe5};
     return kFramePointerPattern;
   }
 
diff --git a/runtime/vm/instructions_mips.cc b/runtime/vm/instructions_mips.cc
index 547b6fe..3c60538 100644
--- a/runtime/vm/instructions_mips.cc
+++ b/runtime/vm/instructions_mips.cc
@@ -25,10 +25,8 @@
   ASSERT(*(reinterpret_cast<uword*>(end_) - 2) == 0x0320f809);
   Register reg;
   // The end of the pattern is the instruction after the delay slot of the jalr.
-  ic_data_load_end_ =
-      InstructionPattern::DecodeLoadWordFromPool(end_ - (3 * Instr::kInstrSize),
-                                                 &reg,
-                                                 &target_code_pool_index_);
+  ic_data_load_end_ = InstructionPattern::DecodeLoadWordFromPool(
+      end_ - (3 * Instr::kInstrSize), &reg, &target_code_pool_index_);
   ASSERT(reg == CODE_REG);
 }
 
@@ -123,9 +121,7 @@
 }
 
 
-bool DecodeLoadObjectFromPoolOrThread(uword pc,
-                                      const Code& code,
-                                      Object* obj) {
+bool DecodeLoadObjectFromPoolOrThread(uword pc, const Code& code, Object* obj) {
   ASSERT(code.ContainsInstructionAt(pc));
 
   Instr* instr = Instr::At(pc);
@@ -151,9 +147,7 @@
 RawICData* CallPattern::IcData() {
   if (ic_data_.IsNull()) {
     Register reg;
-    InstructionPattern::DecodeLoadObject(ic_data_load_end_,
-                                         object_pool_,
-                                         &reg,
+    InstructionPattern::DecodeLoadObject(ic_data_load_end_, object_pool_, &reg,
                                          &ic_data_);
     ASSERT(reg == S5);
   }
@@ -183,13 +177,10 @@
   ASSERT(*(reinterpret_cast<uword*>(end_) - 2) == 0x0320f809);
 
   Register reg;
-  uword native_function_load_end =
-      InstructionPattern::DecodeLoadWordFromPool(end_ - 3 * Instr::kInstrSize,
-                                                 &reg,
-                                                 &target_code_pool_index_);
+  uword native_function_load_end = InstructionPattern::DecodeLoadWordFromPool(
+      end_ - 3 * Instr::kInstrSize, &reg, &target_code_pool_index_);
   ASSERT(reg == CODE_REG);
-  InstructionPattern::DecodeLoadWordFromPool(native_function_load_end,
-                                             &reg,
+  InstructionPattern::DecodeLoadWordFromPool(native_function_load_end, &reg,
                                              &native_function_pool_index_);
   ASSERT(reg == T5);
 }
@@ -215,7 +206,7 @@
 
 void NativeCallPattern::set_native_function(NativeFunction func) const {
   object_pool_.SetRawValueAt(native_function_pool_index_,
-      reinterpret_cast<uword>(func));
+                             reinterpret_cast<uword>(func));
 }
 
 
@@ -229,14 +220,11 @@
   ASSERT(*(reinterpret_cast<uword*>(pc) - 2) == 0x0320f809);
 
   Register reg;
-  uword data_load_end =
-      InstructionPattern::DecodeLoadWordFromPool(pc - 2 * Instr::kInstrSize,
-                                                 &reg,
-                                                 &data_pool_index_);
+  uword data_load_end = InstructionPattern::DecodeLoadWordFromPool(
+      pc - 2 * Instr::kInstrSize, &reg, &data_pool_index_);
   ASSERT(reg == S5);
   InstructionPattern::DecodeLoadWordFromPool(data_load_end - Instr::kInstrSize,
-                                             &reg,
-                                             &target_pool_index_);
+                                             &reg, &target_pool_index_);
   ASSERT(reg == CODE_REG);
 }
 
@@ -247,8 +235,7 @@
 
 
 RawCode* SwitchableCallPattern::target() const {
-  return reinterpret_cast<RawCode*>(
-      object_pool_.ObjectAt(target_pool_index_));
+  return reinterpret_cast<RawCode*>(object_pool_.ObjectAt(target_pool_index_));
 }
 
 
@@ -264,15 +251,12 @@
 }
 
 
-ReturnPattern::ReturnPattern(uword pc)
-    : pc_(pc) {
-}
+ReturnPattern::ReturnPattern(uword pc) : pc_(pc) {}
 
 
 bool ReturnPattern::IsValid() const {
   Instr* jr = Instr::At(pc_);
-  return (jr->OpcodeField() == SPECIAL) &&
-         (jr->FunctionField() == JR) &&
+  return (jr->OpcodeField() == SPECIAL) && (jr->FunctionField() == JR) &&
          (jr->RsField() == RA);
 }
 
diff --git a/runtime/vm/instructions_mips.h b/runtime/vm/instructions_mips.h
index 83907cb..4223857 100644
--- a/runtime/vm/instructions_mips.h
+++ b/runtime/vm/instructions_mips.h
@@ -121,9 +121,7 @@
   // jr(RA) = 1
   static const int kLengthInBytes = 1 * Instr::kInstrSize;
 
-  int pattern_length_in_bytes() const {
-    return kLengthInBytes;
-  }
+  int pattern_length_in_bytes() const { return kLengthInBytes; }
 
   bool IsValid() const;
 
diff --git a/runtime/vm/instructions_x64.cc b/runtime/vm/instructions_x64.cc
index efebc15..bc0553d 100644
--- a/runtime/vm/instructions_x64.cc
+++ b/runtime/vm/instructions_x64.cc
@@ -14,9 +14,7 @@
 
 namespace dart {
 
-bool DecodeLoadObjectFromPoolOrThread(uword pc,
-                                      const Code& code,
-                                      Object* obj) {
+bool DecodeLoadObjectFromPoolOrThread(uword pc, const Code& code, Object* obj) {
   ASSERT(code.ContainsInstructionAt(pc));
 
   uint8_t* bytes = reinterpret_cast<uint8_t*>(pc);
diff --git a/runtime/vm/instructions_x64.h b/runtime/vm/instructions_x64.h
index ba86ee4..56add2e 100644
--- a/runtime/vm/instructions_x64.h
+++ b/runtime/vm/instructions_x64.h
@@ -27,11 +27,10 @@
 
 // Template class for all instruction pattern classes.
 // P has to specify a static pattern and a pattern length method.
-template<class P> class InstructionPattern : public ValueObject {
+template <class P>
+class InstructionPattern : public ValueObject {
  public:
-  explicit InstructionPattern(uword pc) : start_(pc) {
-    ASSERT(pc != 0);
-  }
+  explicit InstructionPattern(uword pc) : start_(pc) { ASSERT(pc != 0); }
 
   // Call to check if the instruction pattern at 'pc' match the instruction.
   // 'P::pattern()' returns the expected byte pattern in form of an integer
@@ -71,7 +70,7 @@
   explicit ReturnPattern(uword pc) : InstructionPattern(pc) {}
 
   static const int* pattern() {
-    static const int kReturnPattern[kLengthInBytes] = { 0xC3 };
+    static const int kReturnPattern[kLengthInBytes] = {0xC3};
     return kReturnPattern;
   }
 
@@ -89,8 +88,8 @@
   explicit ProloguePattern(uword pc) : InstructionPattern(pc) {}
 
   static const int* pattern() {
-    static const int kProloguePattern[kLengthInBytes] =
-        { 0x55, 0x48, 0x89, 0xe5 };
+    static const int kProloguePattern[kLengthInBytes] = {0x55, 0x48, 0x89,
+                                                         0xe5};
     return kProloguePattern;
   }
 
@@ -102,14 +101,13 @@
 
 
 // mov rbp, rsp
-class SetFramePointerPattern :
-    public InstructionPattern<SetFramePointerPattern> {
+class SetFramePointerPattern
+    : public InstructionPattern<SetFramePointerPattern> {
  public:
   explicit SetFramePointerPattern(uword pc) : InstructionPattern(pc) {}
 
   static const int* pattern() {
-    static const int kFramePointerPattern[kLengthInBytes] =
-        { 0x48, 0x89, 0xe5 };
+    static const int kFramePointerPattern[kLengthInBytes] = {0x48, 0x89, 0xe5};
     return kFramePointerPattern;
   }
 
diff --git a/runtime/vm/intermediate_language.cc b/runtime/vm/intermediate_language.cc
index 20362bd..49126f9 100644
--- a/runtime/vm/intermediate_language.cc
+++ b/runtime/vm/intermediate_language.cc
@@ -29,12 +29,18 @@
 
 namespace dart {
 
-DEFINE_FLAG(bool, propagate_ic_data, true,
-    "Propagate IC data from unoptimized to optimized IC calls.");
-DEFINE_FLAG(bool, two_args_smi_icd, true,
-    "Generate special IC stubs for two args Smi operations");
-DEFINE_FLAG(bool, unbox_numeric_fields, !USING_DBC,
-    "Support unboxed double and float32x4 fields.");
+DEFINE_FLAG(bool,
+            propagate_ic_data,
+            true,
+            "Propagate IC data from unoptimized to optimized IC calls.");
+DEFINE_FLAG(bool,
+            two_args_smi_icd,
+            true,
+            "Generate special IC stubs for two args Smi operations");
+DEFINE_FLAG(bool,
+            unbox_numeric_fields,
+            !USING_DBC,
+            "Support unboxed double and float32x4 fields.");
 DECLARE_FLAG(bool, eliminate_type_checks);
 DECLARE_FLAG(bool, support_externalizable_strings);
 
@@ -55,8 +61,7 @@
       ssa_temp_index_(-1),
       input_use_list_(NULL),
       env_use_list_(NULL),
-      constant_value_(NULL) {
-}
+      constant_value_(NULL) {}
 
 
 // A value in the constant propagation lattice.
@@ -190,8 +195,7 @@
   const intptr_t len = checks.NumberOfChecks();
   for (intptr_t i = 0; i < len; i++) {
     if (checks.IsUsedAt(i)) {
-      if (Field::IsExternalizableCid(
-              checks.GetReceiverClassIdAt(i))) {
+      if (Field::IsExternalizableCid(checks.GetReceiverClassIdAt(i))) {
         return false;
       }
     }
@@ -202,15 +206,15 @@
 
 EffectSet CheckClassInstr::Dependencies() const {
   // Externalization of strings via the API can change the class-id.
-  return !AreAllChecksImmutable(unary_checks()) ?
-      EffectSet::Externalization() : EffectSet::None();
+  return !AreAllChecksImmutable(unary_checks()) ? EffectSet::Externalization()
+                                                : EffectSet::None();
 }
 
 
 EffectSet CheckClassIdInstr::Dependencies() const {
   // Externalization of strings via the API can change the class-id.
-  return Field::IsExternalizableCid(cid_) ?
-      EffectSet::Externalization() : EffectSet::None();
+  return Field::IsExternalizableCid(cid_) ? EffectSet::Externalization()
+                                          : EffectSet::None();
 }
 
 
@@ -277,16 +281,14 @@
 
 
 bool LoadFieldInstr::IsUnboxedLoad() const {
-  return FLAG_unbox_numeric_fields
-      && (field() != NULL)
-      && FlowGraphCompiler::IsUnboxedField(*field());
+  return FLAG_unbox_numeric_fields && (field() != NULL) &&
+         FlowGraphCompiler::IsUnboxedField(*field());
 }
 
 
 bool LoadFieldInstr::IsPotentialUnboxedLoad() const {
-  return FLAG_unbox_numeric_fields
-      && (field() != NULL)
-      && FlowGraphCompiler::IsPotentialUnboxedField(*field());
+  return FLAG_unbox_numeric_fields && (field() != NULL) &&
+         FlowGraphCompiler::IsPotentialUnboxedField(*field());
 }
 
 
@@ -309,21 +311,19 @@
 
 
 bool StoreInstanceFieldInstr::IsUnboxedStore() const {
-  return FLAG_unbox_numeric_fields
-      && !field().IsNull()
-      && FlowGraphCompiler::IsUnboxedField(field());
+  return FLAG_unbox_numeric_fields && !field().IsNull() &&
+         FlowGraphCompiler::IsUnboxedField(field());
 }
 
 
 bool StoreInstanceFieldInstr::IsPotentialUnboxedStore() const {
-  return FLAG_unbox_numeric_fields
-      && !field().IsNull()
-      && FlowGraphCompiler::IsPotentialUnboxedField(field());
+  return FLAG_unbox_numeric_fields && !field().IsNull() &&
+         FlowGraphCompiler::IsPotentialUnboxedField(field());
 }
 
 
 Representation StoreInstanceFieldInstr::RequiredInputRepresentation(
-  intptr_t index) const {
+    intptr_t index) const {
   ASSERT((index == 0) || (index == 1));
   if ((index == 1) && IsUnboxedStore()) {
     const intptr_t cid = field().UnboxedFieldCid();
@@ -365,7 +365,7 @@
   StrictCompareInstr* other_op = other->AsStrictCompare();
   ASSERT(other_op != NULL);
   return ComparisonInstr::AttributesEqual(other) &&
-    (needs_number_check() == other_op->needs_number_check());
+         (needs_number_check() == other_op->needs_number_check());
 }
 
 
@@ -373,7 +373,7 @@
   MathMinMaxInstr* other_op = other->AsMathMinMax();
   ASSERT(other_op != NULL);
   return (op_kind() == other_op->op_kind()) &&
-      (result_cid() == other_op->result_cid());
+         (result_cid() == other_op->result_cid());
 }
 
 
@@ -381,8 +381,8 @@
   ASSERT(other->tag() == tag());
   BinaryIntegerOpInstr* other_op = other->AsBinaryIntegerOp();
   return (op_kind() == other_op->op_kind()) &&
-      (can_overflow() == other_op->can_overflow()) &&
-      (is_truncating() == other_op->is_truncating());
+         (can_overflow() == other_op->can_overflow()) &&
+         (is_truncating() == other_op->is_truncating());
 }
 
 
@@ -396,10 +396,10 @@
   ASSERT(other_load != NULL);
   if (field() != NULL) {
     return (other_load->field() != NULL) &&
-        (field()->raw() == other_load->field()->raw());
+           (field()->raw() == other_load->field()->raw());
   }
   return (other_load->field() == NULL) &&
-      (offset_in_bytes() == other_load->offset_in_bytes());
+         (offset_in_bytes() == other_load->offset_in_bytes());
 }
 
 
@@ -417,7 +417,8 @@
 
 EffectSet LoadStaticFieldInstr::Dependencies() const {
   return (StaticField().is_final() && !FLAG_fields_may_be_reset)
-      ? EffectSet::None() : EffectSet::All();
+             ? EffectSet::None()
+             : EffectSet::All();
 }
 
 
@@ -439,8 +440,7 @@
 
 
 ConstantInstr::ConstantInstr(const Object& value, TokenPosition token_pos)
-    : value_(value),
-      token_pos_(token_pos) {
+    : value_(value), token_pos_(token_pos) {
   // Check that the value is not an incorrect Integer representation.
   ASSERT(!value.IsBigint() || !Bigint::Cast(value).FitsIntoSmi());
   ASSERT(!value.IsBigint() || !Bigint::Cast(value).FitsIntoInt64());
@@ -502,8 +502,7 @@
       osr_id_(osr_id),
       entry_count_(0),
       spill_slot_count_(0),
-      fixed_slot_count_(0) {
-}
+      fixed_slot_count_(0) {}
 
 
 ConstantInstr* GraphEntryInstr::constant_null() {
@@ -535,9 +534,9 @@
 // ==== Support for visiting flow graphs.
 
 #define DEFINE_ACCEPT(ShortName)                                               \
-void ShortName##Instr::Accept(FlowGraphVisitor* visitor) {                     \
-  visitor->Visit##ShortName(this);                                             \
-}
+  void ShortName##Instr::Accept(FlowGraphVisitor* visitor) {                   \
+    visitor->Visit##ShortName(this);                                           \
+  }
 
 FOR_EACH_INSTRUCTION(DEFINE_ACCEPT)
 
@@ -622,7 +621,8 @@
   // instruction.
   ASSERT(previous() != NULL);
   Instruction* result = previous();
-  while (!result->IsBlockEntry()) result = result->previous();
+  while (!result->IsBlockEntry())
+    result = result->previous();
   return result->AsBlockEntry();
 }
 
@@ -654,8 +654,7 @@
 
 
 bool Value::NeedsStoreBuffer() {
-  if (Type()->IsNull() ||
-      (Type()->ToNullableCid() == kSmiCid) ||
+  if (Type()->IsNull() || (Type()->ToNullableCid() == kSmiCid) ||
       (Type()->ToNullableCid() == kBoolCid)) {
     return false;
   }
@@ -794,12 +793,10 @@
                                           Definition* result) {
   ASSERT(call->env() != NULL);
   deopt_id_ = Thread::ToDeoptAfter(call->deopt_id_);
-  call->env()->DeepCopyAfterTo(flow_graph->zone(),
-                               this,
-                               call->ArgumentCount(),
-                               flow_graph->constant_dead(),
-                               result != NULL ? result
-                                              : flow_graph->constant_dead());
+  call->env()->DeepCopyAfterTo(
+      flow_graph->zone(), this, call->ArgumentCount(),
+      flow_graph->constant_dead(),
+      result != NULL ? result : flow_graph->constant_dead());
   env()->set_deopt_id(deopt_id_);
 }
 
@@ -923,10 +920,9 @@
 
 
 // Base class implementation used for JoinEntry and TargetEntry.
-bool BlockEntryInstr::DiscoverBlock(
-    BlockEntryInstr* predecessor,
-    GrowableArray<BlockEntryInstr*>* preorder,
-    GrowableArray<intptr_t>* parent) {
+bool BlockEntryInstr::DiscoverBlock(BlockEntryInstr* predecessor,
+                                    GrowableArray<BlockEntryInstr*>* preorder,
+                                    GrowableArray<intptr_t>* parent) {
   // If this block has a predecessor (i.e., is not the graph entry) we can
   // assume the preorder array is non-empty.
   ASSERT((predecessor == NULL) || !preorder->is_empty());
@@ -1011,9 +1007,7 @@
 
   // Recursively search the successors.
   for (intptr_t i = instr->SuccessorCount() - 1; i >= 0; --i) {
-    if (instr->SuccessorAt(i)->PruneUnreachable(graph_entry,
-                                                instr,
-                                                osr_id,
+    if (instr->SuccessorAt(i)->PruneUnreachable(graph_entry, instr, osr_id,
                                                 block_marks)) {
       return true;
     }
@@ -1096,8 +1090,7 @@
       Value* pred_use = phi->InputAt(old_index);
       // Move uses between old and new.
       intptr_t step = (old_index < new_index) ? 1 : -1;
-      for (intptr_t use_idx = old_index;
-           use_idx != new_index;
+      for (intptr_t use_idx = old_index; use_idx != new_index;
            use_idx += step) {
         phi->SetInputAt(use_idx, phi->InputAt(use_idx + step));
       }
@@ -1116,9 +1109,7 @@
     }
   }
   UnuseAllInputs();
-  for (ForwardInstructionIterator it(this);
-       !it.Done();
-       it.Advance()) {
+  for (ForwardInstructionIterator it(this); !it.Done(); it.Advance()) {
     it.Current()->UnuseAllInputs();
   }
 }
@@ -1239,24 +1230,22 @@
 
 
 bool UnboxedIntConverterInstr::CanDeoptimize() const {
-  return (to() == kUnboxedInt32) &&
-      !is_truncating() &&
-      !RangeUtils::Fits(value()->definition()->range(),
-                        RangeBoundary::kRangeBoundaryInt32);
+  return (to() == kUnboxedInt32) && !is_truncating() &&
+         !RangeUtils::Fits(value()->definition()->range(),
+                           RangeBoundary::kRangeBoundaryInt32);
 }
 
 
 bool UnboxInt32Instr::CanDeoptimize() const {
   const intptr_t value_cid = value()->Type()->ToCid();
   if (value_cid == kSmiCid) {
-    return (kSmiBits > 32) &&
-        !is_truncating() &&
-        !RangeUtils::Fits(value()->definition()->range(),
-                          RangeBoundary::kRangeBoundaryInt32);
+    return (kSmiBits > 32) && !is_truncating() &&
+           !RangeUtils::Fits(value()->definition()->range(),
+                             RangeBoundary::kRangeBoundaryInt32);
   } else if (value_cid == kMintCid) {
     return !is_truncating() &&
-        !RangeUtils::Fits(value()->definition()->range(),
-                          RangeBoundary::kRangeBoundaryInt32);
+           !RangeUtils::Fits(value()->definition()->range(),
+                             RangeBoundary::kRangeBoundaryInt32);
   } else if (is_truncating() && value()->definition()->IsBoxInteger()) {
     return false;
   } else if ((kSmiBits < 32) && value()->Type()->IsInt()) {
@@ -1293,7 +1282,7 @@
 
     case Token::kSHL:
       return can_overflow() ||
-          !RangeUtils::IsPositive(right()->definition()->range());
+             !RangeUtils::IsPositive(right()->definition()->range());
 
     case Token::kMOD: {
       UNREACHABLE();
@@ -1317,7 +1306,7 @@
 
     case Token::kSHL:
       return can_overflow() ||
-          !RangeUtils::IsPositive(right()->definition()->range());
+             !RangeUtils::IsPositive(right()->definition()->range());
 
     case Token::kMOD: {
       Range* right_range = this->right()->definition()->range();
@@ -1355,8 +1344,8 @@
 
 
 static int64_t RepresentationMask(Representation r) {
-  return static_cast<int64_t>(
-      static_cast<uint64_t>(-1) >> (64 - RepresentationBits(r)));
+  return static_cast<int64_t>(static_cast<uint64_t>(-1) >>
+                              (64 - RepresentationBits(r)));
 }
 
 
@@ -1403,10 +1392,9 @@
 }
 
 
-static Definition* CanonicalizeCommutativeDoubleArithmetic(
-    Token::Kind op,
-    Value* left,
-    Value* right) {
+static Definition* CanonicalizeCommutativeDoubleArithmetic(Token::Kind op,
+                                                           Value* left,
+                                                           Value* right) {
   int64_t left_value;
   if (!ToIntegerConstant(left, &left_value)) {
     return NULL;
@@ -1442,9 +1430,7 @@
   // Must only be used in Float32 StoreIndexedInstr or FloatToDoubleInstr or
   // Phis introduce by load forwarding.
   ASSERT(env_use_list() == NULL);
-  for (Value* use = input_use_list();
-       use != NULL;
-       use = use->next_use()) {
+  for (Value* use = input_use_list(); use != NULL; use = use->next_use()) {
     ASSERT(use->instruction()->IsPhi() ||
            use->instruction()->IsFloatToDouble() ||
            (use->instruction()->IsStoreIndexed() &&
@@ -1483,10 +1469,9 @@
 
   if ((op_kind() == Token::kMUL) &&
       (left()->definition() == right()->definition())) {
-    MathUnaryInstr* math_unary =
-        new MathUnaryInstr(MathUnaryInstr::kDoubleSquare,
-                           new Value(left()->definition()),
-                           DeoptimizationTarget());
+    MathUnaryInstr* math_unary = new MathUnaryInstr(
+        MathUnaryInstr::kDoubleSquare, new Value(left()->definition()),
+        DeoptimizationTarget());
     flow_graph->InsertBefore(this, math_unary, env(), FlowGraph::kValue);
     return math_unary;
   }
@@ -1632,8 +1617,7 @@
 
   switch (op_kind()) {
     case Token::kNEGATE:
-      result = value.ArithmeticOp(Token::kMUL,
-                                  Smi::Handle(zone, Smi::New(-1)),
+      result = value.ArithmeticOp(Token::kMUL, Smi::Handle(zone, Smi::New(-1)),
                                   Heap::kOld);
       break;
 
@@ -1677,7 +1661,7 @@
       if (right.IsSmi() && right.AsInt64Value() == 0) {
         break;  // Will throw.
       }
-      // Fall through.
+    // Fall through.
     case Token::kADD:
     case Token::kSUB:
     case Token::kMUL: {
@@ -1687,9 +1671,8 @@
     case Token::kSHL:
     case Token::kSHR:
       if (left.IsSmi() && right.IsSmi() && (Smi::Cast(right).Value() >= 0)) {
-        result = Smi::Cast(left).ShiftOp(op_kind(),
-                                         Smi::Cast(right),
-                                         Heap::kOld);
+        result =
+            Smi::Cast(left).ShiftOp(op_kind(), Smi::Cast(right), Heap::kOld);
       }
       break;
     case Token::kBIT_AND:
@@ -1728,8 +1711,7 @@
                                                        const Integer& result) {
   Definition* result_defn = flow_graph->GetConstant(result);
   if (representation() != kTagged) {
-    result_defn = UnboxInstr::Create(representation(),
-                                     new Value(result_defn),
+    result_defn = UnboxInstr::Create(representation(), new Value(result_defn),
                                      GetDeoptId());
     flow_graph->InsertBefore(this, result_defn, env(), FlowGraph::kValue);
   }
@@ -1749,11 +1731,9 @@
       case Token::kBIT_AND:
       case Token::kBIT_OR:
       case Token::kBIT_XOR:
-        replacement =
-            new BinarySmiOpInstr(op_kind(),
-                                 new Value(left()->definition()),
-                                 new Value(right()->definition()),
-                                 Thread::kNoDeoptId);
+        replacement = new BinarySmiOpInstr(
+            op_kind(), new Value(left()->definition()),
+            new Value(right()->definition()), Thread::kNoDeoptId);
       default:
         break;
     }
@@ -1766,8 +1746,8 @@
 }
 
 
-ComparisonInstr* CheckedSmiComparisonInstr::CopyWithNewOperands(
-    Value* left, Value* right) {
+ComparisonInstr* CheckedSmiComparisonInstr::CopyWithNewOperands(Value* left,
+                                                                Value* right) {
   UNREACHABLE();
   return NULL;
 }
@@ -1778,17 +1758,13 @@
       (right()->Type()->ToCid() == kSmiCid)) {
     Definition* replacement = NULL;
     if (Token::IsRelationalOperator(kind())) {
-      replacement = new RelationalOpInstr(token_pos(), kind(),
-                                          new Value(left()->definition()),
-                                          new Value(right()->definition()),
-                                          kSmiCid,
-                                          Thread::kNoDeoptId);
+      replacement = new RelationalOpInstr(
+          token_pos(), kind(), new Value(left()->definition()),
+          new Value(right()->definition()), kSmiCid, Thread::kNoDeoptId);
     } else if (Token::IsEqualityOperator(kind())) {
-      replacement = new EqualityCompareInstr(token_pos(), kind(),
-                                             new Value(left()->definition()),
-                                             new Value(right()->definition()),
-                                             kSmiCid,
-                                             Thread::kNoDeoptId);
+      replacement = new EqualityCompareInstr(
+          token_pos(), kind(), new Value(left()->definition()),
+          new Value(right()->definition()), kSmiCid, Thread::kNoDeoptId);
     }
     if (replacement != NULL) {
       flow_graph->InsertBefore(this, replacement, env(), FlowGraph::kValue);
@@ -1803,20 +1779,17 @@
   // If both operands are constants evaluate this expression. Might
   // occur due to load forwarding after constant propagation pass
   // have already been run.
-  if (left()->BindsToConstant() &&
-      left()->BoundConstant().IsInteger() &&
-      right()->BindsToConstant() &&
-      right()->BoundConstant().IsInteger()) {
-    const Integer& result = Integer::Handle(
-        Evaluate(Integer::Cast(left()->BoundConstant()),
-                 Integer::Cast(right()->BoundConstant())));
+  if (left()->BindsToConstant() && left()->BoundConstant().IsInteger() &&
+      right()->BindsToConstant() && right()->BoundConstant().IsInteger()) {
+    const Integer& result =
+        Integer::Handle(Evaluate(Integer::Cast(left()->BoundConstant()),
+                                 Integer::Cast(right()->BoundConstant())));
     if (!result.IsNull()) {
       return CreateConstantResult(flow_graph, result);
     }
   }
 
-  if (left()->BindsToConstant() &&
-      !right()->BindsToConstant() &&
+  if (left()->BindsToConstant() && !right()->BindsToConstant() &&
       IsCommutative(op_kind())) {
     Value* l = left();
     Value* r = right();
@@ -1854,15 +1827,10 @@
       } else if (rhs == 2) {
         ConstantInstr* constant_1 =
             flow_graph->GetConstant(Smi::Handle(Smi::New(1)));
-        BinaryIntegerOpInstr* shift =
-            BinaryIntegerOpInstr::Make(representation(),
-                                       Token::kSHL,
-                                       left()->CopyWithType(),
-                                       new Value(constant_1),
-                                       GetDeoptId(),
-                                       can_overflow(),
-                                       is_truncating(),
-                                       range());
+        BinaryIntegerOpInstr* shift = BinaryIntegerOpInstr::Make(
+            representation(), Token::kSHL, left()->CopyWithType(),
+            new Value(constant_1), GetDeoptId(), can_overflow(),
+            is_truncating(), range());
         if (shift != NULL) {
           flow_graph->InsertBefore(this, shift, env(), FlowGraph::kValue);
           return shift;
@@ -1893,12 +1861,9 @@
       if (rhs == 0) {
         return left()->definition();
       } else if (rhs == range_mask) {
-        UnaryIntegerOpInstr* bit_not =
-            UnaryIntegerOpInstr::Make(representation(),
-                                      Token::kBIT_NOT,
-                                      left()->CopyWithType(),
-                                      GetDeoptId(),
-                                      range());
+        UnaryIntegerOpInstr* bit_not = UnaryIntegerOpInstr::Make(
+            representation(), Token::kBIT_NOT, left()->CopyWithType(),
+            GetDeoptId(), range());
         if (bit_not != NULL) {
           flow_graph->InsertBefore(this, bit_not, env(), FlowGraph::kValue);
           return bit_not;
@@ -1916,12 +1881,9 @@
       if (rhs == 1) {
         return left()->definition();
       } else if (rhs == -1) {
-        UnaryIntegerOpInstr* negation =
-            UnaryIntegerOpInstr::Make(representation(),
-                                      Token::kNEGATE,
-                                      left()->CopyWithType(),
-                                      GetDeoptId(),
-                                      range());
+        UnaryIntegerOpInstr* negation = UnaryIntegerOpInstr::Make(
+            representation(), Token::kNEGATE, left()->CopyWithType(),
+            GetDeoptId(), range());
         if (negation != NULL) {
           flow_graph->InsertBefore(this, negation, env(), FlowGraph::kValue);
           return negation;
@@ -2095,14 +2057,13 @@
 
   ConstantInstr* constant_type_args =
       instantiator_type_arguments()->definition()->AsConstant();
-  if (constant_type_args != NULL &&
-      !constant_type_args->value().IsNull() &&
+  if (constant_type_args != NULL && !constant_type_args->value().IsNull() &&
       constant_type_args->value().IsTypeArguments()) {
     const TypeArguments& instantiator_type_args =
         TypeArguments::Cast(constant_type_args->value());
     Error& bound_error = Error::Handle();
-    AbstractType& new_dst_type = AbstractType::Handle(
-        dst_type().InstantiateFrom(
+    AbstractType& new_dst_type =
+        AbstractType::Handle(dst_type().InstantiateFrom(
             instantiator_type_args, &bound_error, NULL, NULL, Heap::kOld));
     if (new_dst_type.IsMalformedOrMalbounded() || !bound_error.IsNull()) {
       return this;
@@ -2113,8 +2074,7 @@
     new_dst_type = new_dst_type.Canonicalize();
     set_dst_type(new_dst_type);
 
-    if (new_dst_type.IsDynamicType() ||
-        new_dst_type.IsObjectType() ||
+    if (new_dst_type.IsDynamicType() || new_dst_type.IsObjectType() ||
         (FLAG_eliminate_type_checks &&
          value()->Type()->IsAssignableTo(new_dst_type))) {
       return value()->definition();
@@ -2136,8 +2096,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   return locs;
 }
 
@@ -2218,10 +2178,7 @@
     }
 
     if (replacement != this) {
-      flow_graph->InsertBefore(this,
-                               replacement,
-                               NULL,
-                               FlowGraph::kValue);
+      flow_graph->InsertBefore(this, replacement, NULL, FlowGraph::kValue);
     }
 
     return replacement;
@@ -2246,7 +2203,8 @@
 
     const Object& val = value()->BoundConstant();
     if (val.IsSmi()) {
-      const Double& double_val = Double::ZoneHandle(flow_graph->zone(),
+      const Double& double_val = Double::ZoneHandle(
+          flow_graph->zone(),
           Double::NewCanonical(Smi::Cast(val).AsDoubleValue()));
       uc = new UnboxedConstantInstr(double_val, kUnboxedDouble);
     } else if (val.IsDouble()) {
@@ -2275,11 +2233,10 @@
       return box_defn->value()->definition();
     } else {
       UnboxedIntConverterInstr* converter = new UnboxedIntConverterInstr(
-          from_representation,
-          representation(),
+          from_representation, representation(),
           box_defn->value()->CopyWithType(),
-          (representation() == kUnboxedInt32) ?
-              GetDeoptId() : Thread::kNoDeoptId);
+          (representation() == kUnboxedInt32) ? GetDeoptId()
+                                              : Thread::kNoDeoptId);
       // TODO(vegorov): marking resulting converter as truncating when
       // unboxing can't deoptimize is a workaround for the missing
       // deoptimization environment when we insert converter after
@@ -2308,8 +2265,7 @@
   if ((c != NULL) && c->value().IsSmi()) {
     if (!is_truncating() && (kSmiBits > 32)) {
       // Check that constant fits into 32-bit integer.
-      const int64_t value =
-          static_cast<int64_t>(Smi::Cast(c->value()).Value());
+      const int64_t value = static_cast<int64_t>(Smi::Cast(c->value()).Value());
       if (!Utils::IsInt(32, value)) {
         return this;
       }
@@ -2339,9 +2295,7 @@
     }
 
     UnboxedIntConverterInstr* converter = new UnboxedIntConverterInstr(
-        box_defn->from(),
-        representation(),
-        box_defn->value()->CopyWithType(),
+        box_defn->from(), representation(), box_defn->value()->CopyWithType(),
         (to() == kUnboxedInt32) ? GetDeoptId() : Thread::kNoDeoptId);
     if ((representation() == kUnboxedInt32) && is_truncating()) {
       converter->mark_truncating();
@@ -2351,22 +2305,16 @@
   }
 
   UnboxInt64Instr* unbox_defn = value()->definition()->AsUnboxInt64();
-  if (unbox_defn != NULL &&
-      (from() == kUnboxedMint) &&
-      (to() == kUnboxedInt32) &&
-      unbox_defn->HasOnlyInputUse(value())) {
+  if (unbox_defn != NULL && (from() == kUnboxedMint) &&
+      (to() == kUnboxedInt32) && unbox_defn->HasOnlyInputUse(value())) {
     // TODO(vegorov): there is a duplication of code between UnboxedIntCoverter
     // and code path that unboxes Mint into Int32. We should just schedule
     // these instructions close to each other instead of fusing them.
     Definition* replacement =
         new UnboxInt32Instr(is_truncating() ? UnboxInt32Instr::kTruncate
                                             : UnboxInt32Instr::kNoTruncation,
-                            unbox_defn->value()->CopyWithType(),
-                            GetDeoptId());
-    flow_graph->InsertBefore(this,
-                             replacement,
-                             env(),
-                             FlowGraph::kValue);
+                            unbox_defn->value()->CopyWithType(), GetDeoptId());
+    flow_graph->InsertBefore(this, replacement, env(), FlowGraph::kValue);
     return replacement;
   }
 
@@ -2376,8 +2324,7 @@
 
 Definition* BooleanNegateInstr::Canonicalize(FlowGraph* flow_graph) {
   Definition* defn = value()->definition();
-  if (defn->IsComparison() &&
-      defn->HasOnlyUse(value()) &&
+  if (defn->IsComparison() && defn->HasOnlyUse(value()) &&
       defn->Type()->ToCid() == kBoolCid) {
     defn->AsComparison()->NegateComparison();
     return defn;
@@ -2387,20 +2334,19 @@
 
 
 static bool MayBeBoxableNumber(intptr_t cid) {
-  return (cid == kDynamicCid) ||
-         (cid == kMintCid) ||
-         (cid == kBigintCid) ||
+  return (cid == kDynamicCid) || (cid == kMintCid) || (cid == kBigintCid) ||
          (cid == kDoubleCid);
 }
 
 
 static bool MaybeNumber(CompileType* type) {
-  ASSERT(Type::Handle(Type::Number()).IsMoreSpecificThan(
-             Type::Handle(Type::Number()), NULL, NULL, Heap::kOld));
-  return type->ToAbstractType()->IsDynamicType()
-      || type->ToAbstractType()->IsObjectType()
-      || type->ToAbstractType()->IsTypeParameter()
-      || type->IsMoreSpecificThan(Type::Handle(Type::Number()));
+  ASSERT(Type::Handle(Type::Number())
+             .IsMoreSpecificThan(Type::Handle(Type::Number()), NULL, NULL,
+                                 Heap::kOld));
+  return type->ToAbstractType()->IsDynamicType() ||
+         type->ToAbstractType()->IsObjectType() ||
+         type->ToAbstractType()->IsTypeParameter() ||
+         type->IsMoreSpecificThan(Type::Handle(Type::Number()));
 }
 
 
@@ -2414,7 +2360,7 @@
   // is not a subtype of num, no need for number checks.
   if (compare->needs_number_check()) {
     if (!MayBeBoxableNumber(compare->left()->Type()->ToCid()) ||
-        !MayBeBoxableNumber(compare->right()->Type()->ToCid()))  {
+        !MayBeBoxableNumber(compare->right()->Type()->ToCid())) {
       compare->set_needs_number_check(false);
     } else if (!MaybeNumber(compare->left()->Type()) ||
                !MaybeNumber(compare->right()->Type())) {
@@ -2438,31 +2384,25 @@
   Definition* other_defn = other->definition();
   Token::Kind kind = compare->kind();
   // Handle e === true.
-  if ((kind == Token::kEQ_STRICT) &&
-      (constant.raw() == Bool::True().raw()) &&
+  if ((kind == Token::kEQ_STRICT) && (constant.raw() == Bool::True().raw()) &&
       can_merge) {
     return other_defn;
   }
   // Handle e !== false.
-  if ((kind == Token::kNE_STRICT) &&
-      (constant.raw() == Bool::False().raw()) &&
+  if ((kind == Token::kNE_STRICT) && (constant.raw() == Bool::False().raw()) &&
       can_merge) {
     return other_defn;
   }
   // Handle e !== true.
-  if ((kind == Token::kNE_STRICT) &&
-      (constant.raw() == Bool::True().raw()) &&
-      other_defn->IsComparison() &&
-      can_merge &&
+  if ((kind == Token::kNE_STRICT) && (constant.raw() == Bool::True().raw()) &&
+      other_defn->IsComparison() && can_merge &&
       other_defn->HasOnlyUse(other)) {
     *negated = true;
     return other_defn;
   }
   // Handle e === false.
-  if ((kind == Token::kEQ_STRICT) &&
-      (constant.raw() == Bool::False().raw()) &&
-      other_defn->IsComparison() &&
-      can_merge &&
+  if ((kind == Token::kEQ_STRICT) && (constant.raw() == Bool::False().raw()) &&
+      other_defn->IsComparison() && can_merge &&
       other_defn->HasOnlyUse(other)) {
     *negated = true;
     return other_defn;
@@ -2472,9 +2412,8 @@
 
 
 static bool BindsToGivenConstant(Value* v, intptr_t expected) {
-  return v->BindsToConstant() &&
-      v->BoundConstant().IsSmi() &&
-      (Smi::Cast(v->BoundConstant()).Value() == expected);
+  return v->BindsToConstant() && v->BoundConstant().IsSmi() &&
+         (Smi::Cast(v->BoundConstant()).Value() == expected);
 }
 
 
@@ -2491,8 +2430,7 @@
 
 
   BinarySmiOpInstr* mask_op = left->definition()->AsBinarySmiOp();
-  if ((mask_op == NULL) ||
-      (mask_op->op_kind() != Token::kBIT_AND) ||
+  if ((mask_op == NULL) || (mask_op->op_kind() != Token::kBIT_AND) ||
       !mask_op->HasOnlyUse(left)) {
     return false;
   }
@@ -2521,15 +2459,13 @@
   // Only handle strict-compares.
   if (comparison()->IsStrictCompare()) {
     bool negated = false;
-    Definition* replacement =
-        CanonicalizeStrictCompare(comparison()->AsStrictCompare(),
-                                  &negated, /* is_branch = */ true);
+    Definition* replacement = CanonicalizeStrictCompare(
+        comparison()->AsStrictCompare(), &negated, /* is_branch = */ true);
     if (replacement == comparison()) {
       return this;
     }
     ComparisonInstr* comp = replacement->AsComparison();
-    if ((comp == NULL) ||
-        comp->CanDeoptimize() ||
+    if ((comp == NULL) || comp->CanDeoptimize() ||
         comp->HasUnmatchedInputRepresentations()) {
       return this;
     }
@@ -2562,12 +2498,10 @@
              comparison()->operation_cid() == kSmiCid) {
     BinarySmiOpInstr* bit_and = NULL;
     bool negate = false;
-    if (RecognizeTestPattern(comparison()->left(),
-                             comparison()->right(),
+    if (RecognizeTestPattern(comparison()->left(), comparison()->right(),
                              &negate)) {
       bit_and = comparison()->left()->definition()->AsBinarySmiOp();
-    } else if (RecognizeTestPattern(comparison()->right(),
-                                    comparison()->left(),
+    } else if (RecognizeTestPattern(comparison()->right(), comparison()->left(),
                                     &negate)) {
       bit_and = comparison()->right()->definition()->AsBinarySmiOp();
     }
@@ -2579,8 +2513,7 @@
           comparison()->token_pos(),
           negate ? Token::NegateComparison(comparison()->kind())
                  : comparison()->kind(),
-          bit_and->left()->Copy(zone),
-          bit_and->right()->Copy(zone));
+          bit_and->left()->Copy(zone), bit_and->right()->Copy(zone));
       ASSERT(!CanDeoptimize());
       RemoveEnvironment();
       flow_graph->CopyDeoptTarget(this, bit_and);
@@ -2618,8 +2551,7 @@
 Instruction* CheckClassIdInstr::Canonicalize(FlowGraph* flow_graph) {
   if (value()->BindsToConstant()) {
     const Object& constant_value = value()->BoundConstant();
-    if (constant_value.IsSmi() &&
-        Smi::Cast(constant_value).Value() == cid_) {
+    if (constant_value.IsSmi() && Smi::Cast(constant_value).Value() == cid_) {
       return NULL;
     }
   }
@@ -2637,8 +2569,8 @@
   for (intptr_t i = 0; i < data.length(); i += 2) {
     if (data[i] == cid) {
       return (data[i + 1] == true_result)
-          ? flow_graph->GetConstant(Bool::True())
-          : flow_graph->GetConstant(Bool::False());
+                 ? flow_graph->GetConstant(Bool::True())
+                 : flow_graph->GetConstant(Bool::False());
     }
   }
 
@@ -2689,8 +2621,7 @@
       LoadFieldInstr::IsFixedLengthArrayCid(call->Type()->ToCid())) {
     length = call->ArgumentAt(1)->AsConstant();
   }
-  if ((length != NULL) &&
-      length->value().IsSmi() &&
+  if ((length != NULL) && length->value().IsSmi() &&
       Smi::Cast(length->value()).Value() == expected_length) {
     return NULL;  // Expected length matched.
   }
@@ -2700,7 +2631,7 @@
 
 
 Instruction* CheckSmiInstr::Canonicalize(FlowGraph* flow_graph) {
-  return (value()->Type()->ToCid() == kSmiCid) ?  NULL : this;
+  return (value()->Type()->ToCid() == kSmiCid) ? NULL : this;
 }
 
 
@@ -2742,8 +2673,8 @@
                                intptr_t deopt_id) {
   switch (to) {
     case kUnboxedInt32:
-      return new UnboxInt32Instr(
-          UnboxInt32Instr::kNoTruncation, value, deopt_id);
+      return new UnboxInt32Instr(UnboxInt32Instr::kNoTruncation, value,
+                                 deopt_id);
 
     case kUnboxedUint32:
       return new UnboxUint32Instr(value, deopt_id);
@@ -2806,8 +2737,7 @@
 void JoinEntryInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   __ Bind(compiler->GetJumpLabel(this));
   if (!compiler->is_optimizing()) {
-    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                   GetDeoptId(),
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, GetDeoptId(),
                                    TokenPosition::kNoSource);
   }
   if (HasParallelMove()) {
@@ -2837,8 +2767,7 @@
     // The deoptimization descriptor points after the edge counter code for
     // uniformity with ARM and MIPS, where we can reuse pattern matching
     // code that matches backwards from the end of the pattern.
-    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                   GetDeoptId(),
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, GetDeoptId(),
                                    TokenPosition::kNoSource);
   }
   if (HasParallelMove()) {
@@ -2882,7 +2811,8 @@
 
 
 LocationSummary* IndirectEntryInstr::MakeLocationSummary(
-    Zone* zone, bool optimizing) const {
+    Zone* zone,
+    bool optimizing) const {
   return JoinEntryInstr::MakeLocationSummary(zone, optimizing);
 }
 
@@ -2962,7 +2892,8 @@
 
 
 LocationSummary* MaterializeObjectInstr::MakeLocationSummary(
-    Zone* zone, bool optimizing) const {
+    Zone* zone,
+    bool optimizing) const {
   UNREACHABLE();
   return NULL;
 }
@@ -3006,14 +2937,10 @@
 LocationSummary* DropTempsInstr::MakeLocationSummary(Zone* zone,
                                                      bool optimizing) const {
   return (InputCount() == 1)
-      ? LocationSummary::Make(zone,
-                              1,
-                              Location::SameAsFirstInput(),
-                              LocationSummary::kNoCall)
-      : LocationSummary::Make(zone,
-                              0,
-                              Location::NoLocation(),
-                              LocationSummary::kNoCall);
+             ? LocationSummary::Make(zone, 1, Location::SameAsFirstInput(),
+                                     LocationSummary::kNoCall)
+             : LocationSummary::Make(zone, 0, Location::NoLocation(),
+                                     LocationSummary::kNoCall);
 }
 
 
@@ -3043,9 +2970,7 @@
                                        Value* left,
                                        Value* right,
                                        bool needs_number_check)
-    : TemplateComparison(token_pos,
-                         kind,
-                         Thread::Current()->GetNextDeoptId()),
+    : TemplateComparison(token_pos, kind, Thread::Current()->GetNextDeoptId()),
       needs_number_check_(needs_number_check) {
   ASSERT((kind == Token::kEQ_STRICT) || (kind == Token::kNE_STRICT));
   SetInputAt(0, left);
@@ -3066,15 +2991,20 @@
     return 0;
   }
   switch (kind) {
-    case Token::kADD: return StubCode::SmiAddInlineCache_entry();
-    case Token::kSUB: return StubCode::SmiSubInlineCache_entry();
-    case Token::kEQ:  return StubCode::SmiEqualInlineCache_entry();
-    default:          return NULL;
+    case Token::kADD:
+      return StubCode::SmiAddInlineCache_entry();
+    case Token::kSUB:
+      return StubCode::SmiSubInlineCache_entry();
+    case Token::kEQ:
+      return StubCode::SmiEqualInlineCache_entry();
+    default:
+      return NULL;
   }
 }
 #else
-static void TryFastPathSmiOp(
-    FlowGraphCompiler* compiler, ICData* call_ic_data, const String& name) {
+static void TryFastPathSmiOp(FlowGraphCompiler* compiler,
+                             ICData* call_ic_data,
+                             const String& name) {
   if (!FLAG_two_args_smi_icd) {
     return;
   }
@@ -3092,7 +3022,7 @@
     }
   } else if (name.raw() == Symbols::LAngleBracket().raw()) {
     if (call_ic_data->AddSmiSmiCheckForFastSmiStubs()) {
-     __ LessThanTOS();
+      __ LessThanTOS();
     }
   } else if (name.raw() == Symbols::RAngleBracket().raw()) {
     if (call_ic_data->AddSmiSmiCheckForFastSmiStubs()) {
@@ -3120,9 +3050,8 @@
   const ICData* call_ic_data = NULL;
   if (!FLAG_propagate_ic_data || !compiler->is_optimizing() ||
       (ic_data() == NULL)) {
-    const Array& arguments_descriptor =
-        Array::Handle(zone, ArgumentsDescriptor::New(ArgumentCount(),
-                                                     argument_names()));
+    const Array& arguments_descriptor = Array::Handle(
+        zone, ArgumentsDescriptor::New(ArgumentCount(), argument_names()));
     call_ic_data = compiler->GetOrAddInstanceCallICData(
         deopt_id(), function_name(), arguments_descriptor,
         checked_argument_count());
@@ -3136,18 +3065,12 @@
     if (ic_data()->NumberOfUsedChecks() > 0) {
       const ICData& unary_ic_data =
           ICData::ZoneHandle(zone, ic_data()->AsUnaryClassChecks());
-      compiler->GenerateInstanceCall(deopt_id(),
-                                     token_pos(),
-                                     ArgumentCount(),
-                                     locs(),
-                                     unary_ic_data);
+      compiler->GenerateInstanceCall(deopt_id(), token_pos(), ArgumentCount(),
+                                     locs(), unary_ic_data);
     } else {
       // Call was not visited yet, use original ICData in order to populate it.
-      compiler->GenerateInstanceCall(deopt_id(),
-                                     token_pos(),
-                                     ArgumentCount(),
-                                     locs(),
-                                     *call_ic_data);
+      compiler->GenerateInstanceCall(deopt_id(), token_pos(), ArgumentCount(),
+                                     locs(), *call_ic_data);
     }
   } else {
     // Unoptimized code.
@@ -3164,11 +3087,8 @@
       compiler->EmitInstanceCall(*stub_entry, *call_ic_data, ArgumentCount(),
                                  deopt_id(), token_pos(), locs());
     } else {
-      compiler->GenerateInstanceCall(deopt_id(),
-                                     token_pos(),
-                                     ArgumentCount(),
-                                     locs(),
-                                     *call_ic_data);
+      compiler->GenerateInstanceCall(deopt_id(), token_pos(), ArgumentCount(),
+                                     locs(), *call_ic_data);
     }
   }
 #else
@@ -3201,8 +3121,7 @@
       UNIMPLEMENTED();
       break;
   }
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kIcCall,
-                                 deopt_id(),
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kIcCall, deopt_id(),
                                  token_pos());
   compiler->RecordAfterCall(this);
 
@@ -3217,9 +3136,8 @@
   if (FLAG_precompiled_mode && with_checks()) return false;
 
   return ic_data().HasOneTarget() &&
-      (MethodRecognizer::RecognizeKind(
-          Function::Handle(ic_data().GetTargetAt(0))) !=
-       MethodRecognizer::kUnknown);
+         (MethodRecognizer::RecognizeKind(Function::Handle(
+              ic_data().GetTargetAt(0))) != MethodRecognizer::kUnknown);
 }
 
 
@@ -3231,23 +3149,17 @@
   if (!with_checks()) {
     ASSERT(ic_data().HasOneTarget());
     const Function& target = Function::ZoneHandle(ic_data().GetTargetAt(0));
-    compiler->GenerateStaticCall(deopt_id(),
-                                 instance_call()->token_pos(),
-                                 target,
-                                 instance_call()->ArgumentCount(),
-                                 instance_call()->argument_names(),
-                                 locs(),
+    compiler->GenerateStaticCall(deopt_id(), instance_call()->token_pos(),
+                                 target, instance_call()->ArgumentCount(),
+                                 instance_call()->argument_names(), locs(),
                                  ICData::Handle());
     return;
   }
 
-  compiler->EmitPolymorphicInstanceCall(ic_data(),
-                                        instance_call()->ArgumentCount(),
-                                        instance_call()->argument_names(),
-                                        deopt_id(),
-                                        instance_call()->token_pos(),
-                                        locs(),
-                                        complete());
+  compiler->EmitPolymorphicInstanceCall(
+      ic_data(), instance_call()->ArgumentCount(),
+      instance_call()->argument_names(), deopt_id(),
+      instance_call()->token_pos(), locs(), complete());
 }
 #endif
 
@@ -3323,9 +3235,8 @@
   const ICData* call_ic_data = NULL;
   if (!FLAG_propagate_ic_data || !compiler->is_optimizing() ||
       (ic_data() == NULL)) {
-    const Array& arguments_descriptor =
-        Array::Handle(ArgumentsDescriptor::New(ArgumentCount(),
-                                               argument_names()));
+    const Array& arguments_descriptor = Array::Handle(
+        ArgumentsDescriptor::New(ArgumentCount(), argument_names()));
     MethodRecognizer::Kind recognized_kind =
         MethodRecognizer::RecognizeKind(function());
     int num_args_checked = 0;
@@ -3338,35 +3249,28 @@
       default:
         break;
     }
-    call_ic_data = compiler->GetOrAddStaticCallICData(deopt_id(),
-                                                      function(),
-                                                      arguments_descriptor,
-                                                      num_args_checked);
+    call_ic_data = compiler->GetOrAddStaticCallICData(
+        deopt_id(), function(), arguments_descriptor, num_args_checked);
   } else {
     call_ic_data = &ICData::ZoneHandle(ic_data()->raw());
   }
 
 #if !defined(TARGET_ARCH_DBC)
-  compiler->GenerateStaticCall(deopt_id(),
-                               token_pos(),
-                               function(),
-                               ArgumentCount(),
-                               argument_names(),
-                               locs(),
+  compiler->GenerateStaticCall(deopt_id(), token_pos(), function(),
+                               ArgumentCount(), argument_names(), locs(),
                                *call_ic_data);
 #else
   const Array& arguments_descriptor =
-      (ic_data() == NULL) ?
-        Array::Handle(ArgumentsDescriptor::New(ArgumentCount(),
-                                               argument_names())) :
-        Array::Handle(ic_data()->arguments_descriptor());
+      (ic_data() == NULL) ? Array::Handle(ArgumentsDescriptor::New(
+                                ArgumentCount(), argument_names()))
+                          : Array::Handle(ic_data()->arguments_descriptor());
   const intptr_t argdesc_kidx = __ AddConstant(arguments_descriptor);
 
   if (compiler->is_optimizing()) {
     __ PushConstant(function());
     __ StaticCall(ArgumentCount(), argdesc_kidx);
-    compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-        deopt_id(), token_pos());
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
+                                   token_pos());
     compiler->RecordAfterCall(this);
     __ PopLocal(locs()->out(0).reg());
   } else {
@@ -3374,7 +3278,7 @@
     __ PushConstant(ic_data_kidx);
     __ IndirectStaticCall(ArgumentCount(), argdesc_kidx);
     compiler->AddCurrentDescriptor(RawPcDescriptors::kUnoptStaticCall,
-        deopt_id(), token_pos());
+                                   deopt_id(), token_pos());
     compiler->RecordAfterCall(this);
   }
 #endif  // !defined(TARGET_ARCH_DBC)
@@ -3382,13 +3286,10 @@
 
 
 void AssertAssignableInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  compiler->GenerateAssertAssignable(token_pos(),
-                                     deopt_id(),
-                                     dst_type(),
-                                     dst_name(),
-                                     locs());
+  compiler->GenerateAssertAssignable(token_pos(), deopt_id(), dst_type(),
+                                     dst_name(), locs());
 
-  // DBC does not use LocationSummaries in the same way as other architectures.
+// DBC does not use LocationSummaries in the same way as other architectures.
 #if !defined(TARGET_ARCH_DBC)
   ASSERT(locs()->in(0).reg() == locs()->out(0).reg());
 #endif  // !defined(TARGET_ARCH_DBC)
@@ -3397,7 +3298,7 @@
 
 LocationSummary* DeoptimizeInstr::MakeLocationSummary(Zone* zone,
                                                       bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
 }
 
 
@@ -3415,13 +3316,10 @@
                                intptr_t fixed_parameter_count,
                                const ParsedFunction& parsed_function) {
   Environment* env =
-      new(zone) Environment(definitions.length(),
-                               fixed_parameter_count,
-                               Thread::kNoDeoptId,
-                               parsed_function,
-                               NULL);
+      new (zone) Environment(definitions.length(), fixed_parameter_count,
+                             Thread::kNoDeoptId, parsed_function, NULL);
   for (intptr_t i = 0; i < definitions.length(); ++i) {
-    env->values_.Add(new(zone) Value(definitions[i]));
+    env->values_.Add(new (zone) Value(definitions[i]));
   }
   return env;
 }
@@ -3429,12 +3327,9 @@
 
 Environment* Environment::DeepCopy(Zone* zone, intptr_t length) const {
   ASSERT(length <= values_.length());
-  Environment* copy = new(zone) Environment(
-      length,
-      fixed_parameter_count_,
-      deopt_id_,
-      parsed_function_,
-      (outer_ == NULL) ? NULL : outer_->DeepCopy(zone));
+  Environment* copy = new (zone)
+      Environment(length, fixed_parameter_count_, deopt_id_, parsed_function_,
+                  (outer_ == NULL) ? NULL : outer_->DeepCopy(zone));
   if (locations_ != NULL) {
     Location* new_locations = zone->Alloc<Location>(length);
     copy->set_locations(new_locations);
@@ -3475,9 +3370,9 @@
 
   Environment* copy = DeepCopy(zone, values_.length() - argc);
   for (intptr_t i = 0; i < argc; i++) {
-    copy->values_.Add(new(zone) Value(dead));
+    copy->values_.Add(new (zone) Value(dead));
   }
-  copy->values_.Add(new(zone) Value(result));
+  copy->values_.Add(new (zone) Value(result));
 
   instr->SetEnvironment(copy);
   for (Environment::DeepIterator it(copy); !it.Done(); it.Advance()) {
@@ -3515,50 +3410,34 @@
 
 ComparisonInstr* EqualityCompareInstr::CopyWithNewOperands(Value* new_left,
                                                            Value* new_right) {
-  return new EqualityCompareInstr(token_pos(),
-                                  kind(),
-                                  new_left,
-                                  new_right,
-                                  operation_cid(),
-                                  deopt_id());
+  return new EqualityCompareInstr(token_pos(), kind(), new_left, new_right,
+                                  operation_cid(), deopt_id());
 }
 
 
 ComparisonInstr* RelationalOpInstr::CopyWithNewOperands(Value* new_left,
                                                         Value* new_right) {
-  return new RelationalOpInstr(token_pos(),
-                               kind(),
-                               new_left,
-                               new_right,
-                               operation_cid(),
-                               deopt_id());
+  return new RelationalOpInstr(token_pos(), kind(), new_left, new_right,
+                               operation_cid(), deopt_id());
 }
 
 
 ComparisonInstr* StrictCompareInstr::CopyWithNewOperands(Value* new_left,
                                                          Value* new_right) {
-  return new StrictCompareInstr(token_pos(),
-                                kind(),
-                                new_left,
-                                new_right,
+  return new StrictCompareInstr(token_pos(), kind(), new_left, new_right,
                                 needs_number_check());
 }
 
 
-
 ComparisonInstr* TestSmiInstr::CopyWithNewOperands(Value* new_left,
                                                    Value* new_right) {
   return new TestSmiInstr(token_pos(), kind(), new_left, new_right);
 }
 
 
-
 ComparisonInstr* TestCidsInstr::CopyWithNewOperands(Value* new_left,
                                                     Value* new_right) {
-  return new TestCidsInstr(token_pos(),
-                           kind(),
-                           new_left,
-                           cid_results(),
+  return new TestCidsInstr(token_pos(), kind(), new_left, cid_results(),
                            deopt_id());
 }
 
@@ -3595,8 +3474,8 @@
   if (comparison->IsStrictCompare()) {
     // Strict comparison with number checks calls a stub and is not supported
     // by if-conversion.
-    return is_smi_result
-        && !comparison->AsStrictCompare()->needs_number_check();
+    return is_smi_result &&
+           !comparison->AsStrictCompare()->needs_number_check();
   }
   if (comparison->operation_cid() != kSmiCid) {
     // Non-smi comparisons are not supported by if-conversion.
@@ -3626,8 +3505,9 @@
 
 
 Instruction* CheckArrayBoundInstr::Canonicalize(FlowGraph* flow_graph) {
-  return IsRedundant(RangeBoundary::FromDefinition(length()->definition())) ?
-      NULL : this;
+  return IsRedundant(RangeBoundary::FromDefinition(length()->definition()))
+             ? NULL
+             : this;
 }
 
 
@@ -3661,12 +3541,9 @@
     const Class& cls =
         Class::Handle(Library::LookupCoreClass(Symbols::StringBase()));
     ASSERT(!cls.IsNull());
-    function_ =
-        Resolver::ResolveStatic(
-            cls,
-            Library::PrivateCoreLibName(Symbols::Interpolate()),
-            kNumberOfArguments,
-            kNoArgumentNames);
+    function_ = Resolver::ResolveStatic(
+        cls, Library::PrivateCoreLibName(Symbols::Interpolate()),
+        kNumberOfArguments, kNoArgumentNames);
   }
   ASSERT(!function_.IsNull());
   return function_;
@@ -3705,8 +3582,7 @@
     pieces.Add(Object::null_string());
   }
 
-  for (Value::Iterator it(create_array->input_use_list());
-       !it.Done();
+  for (Value::Iterator it(create_array->input_use_list()); !it.Done();
        it.Advance()) {
     Instruction* curr = it.Current()->instruction();
     if (curr == this) continue;
@@ -3728,10 +3604,10 @@
       } else if (obj.IsSmi()) {
         const char* cstr = obj.ToCString();
         pieces.SetAt(store_index,
-            String::Handle(zone, String::New(cstr, Heap::kOld)));
+                     String::Handle(zone, String::New(cstr, Heap::kOld)));
       } else if (obj.IsBool()) {
-        pieces.SetAt(store_index,
-            Bool::Cast(obj).value() ? Symbols::True() : Symbols::False());
+        pieces.SetAt(store_index, Bool::Cast(obj).value() ? Symbols::True()
+                                                          : Symbols::False());
       } else if (obj.IsNull()) {
         pieces.SetAt(store_index, Symbols::Null());
       } else {
@@ -3742,8 +3618,8 @@
     }
   }
 
-  const String& concatenated = String::ZoneHandle(zone,
-      Symbols::FromConcatAll(thread, pieces));
+  const String& concatenated =
+      String::ZoneHandle(zone, Symbols::FromConcatAll(thread, pieces));
   return flow_graph->GetConstant(concatenated);
 }
 
@@ -3791,7 +3667,6 @@
 }
 
 
-
 StoreIndexedInstr::StoreIndexedInstr(Value* array,
                                      Value* index,
                                      Value* value,
@@ -3859,60 +3734,88 @@
 }
 
 // Use expected function signatures to help MSVC compiler resolve overloading.
-typedef double (*UnaryMathCFunction) (double x);
-typedef double (*BinaryMathCFunction) (double x, double y);
+typedef double (*UnaryMathCFunction)(double x);
+typedef double (*BinaryMathCFunction)(double x, double y);
 
-DEFINE_RAW_LEAF_RUNTIME_ENTRY(LibcPow, 2, true /* is_float */,
-    reinterpret_cast<RuntimeFunction>(
-        static_cast<BinaryMathCFunction>(&pow)));
+DEFINE_RAW_LEAF_RUNTIME_ENTRY(
+    LibcPow,
+    2,
+    true /* is_float */,
+    reinterpret_cast<RuntimeFunction>(static_cast<BinaryMathCFunction>(&pow)));
 
-DEFINE_RAW_LEAF_RUNTIME_ENTRY(DartModulo, 2, true /* is_float */,
+DEFINE_RAW_LEAF_RUNTIME_ENTRY(
+    DartModulo,
+    2,
+    true /* is_float */,
     reinterpret_cast<RuntimeFunction>(
         static_cast<BinaryMathCFunction>(&DartModulo)));
 
-DEFINE_RAW_LEAF_RUNTIME_ENTRY(LibcAtan2, 2, true /* is_float */,
+DEFINE_RAW_LEAF_RUNTIME_ENTRY(
+    LibcAtan2,
+    2,
+    true /* is_float */,
     reinterpret_cast<RuntimeFunction>(
         static_cast<BinaryMathCFunction>(&atan2_ieee)));
 
-DEFINE_RAW_LEAF_RUNTIME_ENTRY(LibcFloor, 1, true /* is_float */,
-    reinterpret_cast<RuntimeFunction>(
-        static_cast<UnaryMathCFunction>(&floor)));
+DEFINE_RAW_LEAF_RUNTIME_ENTRY(
+    LibcFloor,
+    1,
+    true /* is_float */,
+    reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&floor)));
 
-DEFINE_RAW_LEAF_RUNTIME_ENTRY(LibcCeil, 1, true /* is_float */,
-    reinterpret_cast<RuntimeFunction>(
-        static_cast<UnaryMathCFunction>(&ceil)));
+DEFINE_RAW_LEAF_RUNTIME_ENTRY(
+    LibcCeil,
+    1,
+    true /* is_float */,
+    reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&ceil)));
 
-DEFINE_RAW_LEAF_RUNTIME_ENTRY(LibcTrunc, 1, true /* is_float */,
-    reinterpret_cast<RuntimeFunction>(
-        static_cast<UnaryMathCFunction>(&trunc)));
+DEFINE_RAW_LEAF_RUNTIME_ENTRY(
+    LibcTrunc,
+    1,
+    true /* is_float */,
+    reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&trunc)));
 
-DEFINE_RAW_LEAF_RUNTIME_ENTRY(LibcRound, 1, true /* is_float */,
-    reinterpret_cast<RuntimeFunction>(
-        static_cast<UnaryMathCFunction>(&round)));
+DEFINE_RAW_LEAF_RUNTIME_ENTRY(
+    LibcRound,
+    1,
+    true /* is_float */,
+    reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&round)));
 
-DEFINE_RAW_LEAF_RUNTIME_ENTRY(LibcCos, 1, true /* is_float */,
-    reinterpret_cast<RuntimeFunction>(
-        static_cast<UnaryMathCFunction>(&cos)));
+DEFINE_RAW_LEAF_RUNTIME_ENTRY(
+    LibcCos,
+    1,
+    true /* is_float */,
+    reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&cos)));
 
-DEFINE_RAW_LEAF_RUNTIME_ENTRY(LibcSin, 1, true /* is_float */,
-    reinterpret_cast<RuntimeFunction>(
-        static_cast<UnaryMathCFunction>(&sin)));
+DEFINE_RAW_LEAF_RUNTIME_ENTRY(
+    LibcSin,
+    1,
+    true /* is_float */,
+    reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&sin)));
 
-DEFINE_RAW_LEAF_RUNTIME_ENTRY(LibcAsin, 1, true /* is_float */,
-    reinterpret_cast<RuntimeFunction>(
-        static_cast<UnaryMathCFunction>(&asin)));
+DEFINE_RAW_LEAF_RUNTIME_ENTRY(
+    LibcAsin,
+    1,
+    true /* is_float */,
+    reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&asin)));
 
-DEFINE_RAW_LEAF_RUNTIME_ENTRY(LibcAcos, 1, true /* is_float */,
-    reinterpret_cast<RuntimeFunction>(
-        static_cast<UnaryMathCFunction>(&acos)));
+DEFINE_RAW_LEAF_RUNTIME_ENTRY(
+    LibcAcos,
+    1,
+    true /* is_float */,
+    reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&acos)));
 
-DEFINE_RAW_LEAF_RUNTIME_ENTRY(LibcTan, 1, true /* is_float */,
-    reinterpret_cast<RuntimeFunction>(
-        static_cast<UnaryMathCFunction>(&tan)));
+DEFINE_RAW_LEAF_RUNTIME_ENTRY(
+    LibcTan,
+    1,
+    true /* is_float */,
+    reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&tan)));
 
-DEFINE_RAW_LEAF_RUNTIME_ENTRY(LibcAtan, 1, true /* is_float */,
-    reinterpret_cast<RuntimeFunction>(
-        static_cast<UnaryMathCFunction>(&atan)));
+DEFINE_RAW_LEAF_RUNTIME_ENTRY(
+    LibcAtan,
+    1,
+    true /* is_float */,
+    reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&atan)));
 
 
 const RuntimeEntry& InvokeMathCFunctionInstr::TargetFunction() const {
@@ -3952,9 +3855,12 @@
 
 const char* MathUnaryInstr::KindToCString(MathUnaryKind kind) {
   switch (kind) {
-    case kIllegal:       return "illegal";
-    case kSqrt:          return "sqrt";
-    case kDoubleSquare:  return "double-square";
+    case kIllegal:
+      return "illegal";
+    case kSqrt:
+      return "sqrt";
+    case kDoubleSquare:
+      return "double-square";
   }
   UNREACHABLE();
   return "";
@@ -3969,9 +3875,7 @@
 MergedMathInstr::MergedMathInstr(ZoneGrowableArray<Value*>* inputs,
                                  intptr_t deopt_id,
                                  MergedMathInstr::Kind kind)
-    : PureDefinition(deopt_id),
-      inputs_(inputs),
-      kind_(kind) {
+    : PureDefinition(deopt_id), inputs_(inputs), kind_(kind) {
   ASSERT(inputs_->length() == InputCountFor(kind_));
   for (intptr_t i = 0; i < inputs_->length(); ++i) {
     ASSERT((*inputs)[i] != NULL);
@@ -3983,18 +3887,26 @@
 
 intptr_t MergedMathInstr::OutputIndexOf(MethodRecognizer::Kind kind) {
   switch (kind) {
-    case MethodRecognizer::kMathSin: return 1;
-    case MethodRecognizer::kMathCos: return 0;
-    default: UNIMPLEMENTED(); return -1;
+    case MethodRecognizer::kMathSin:
+      return 1;
+    case MethodRecognizer::kMathCos:
+      return 0;
+    default:
+      UNIMPLEMENTED();
+      return -1;
   }
 }
 
 
 intptr_t MergedMathInstr::OutputIndexOf(Token::Kind token) {
   switch (token) {
-    case Token::kTRUNCDIV: return 0;
-    case Token::kMOD: return 1;
-    default: UNIMPLEMENTED(); return -1;
+    case Token::kTRUNCDIV:
+      return 0;
+    case Token::kMOD:
+      return 1;
+    default:
+      UNIMPLEMENTED();
+      return -1;
   }
 }
 
@@ -4009,13 +3921,10 @@
   NativeFunction native_function = NativeEntry::ResolveNative(
       library, native_name(), num_params, &auto_setup_scope);
   if (native_function == NULL) {
-    Report::MessageF(Report::kError,
-                     Script::Handle(function().script()),
-                     function().token_pos(),
-                     Report::AtLocation,
+    Report::MessageF(Report::kError, Script::Handle(function().script()),
+                     function().token_pos(), Report::AtLocation,
                      "native function '%s' (%" Pd " arguments) cannot be found",
-                     native_name().ToCString(),
-                     function().NumParameters());
+                     native_name().ToCString(), function().NumParameters());
   }
   set_native_c_function(native_function);
   function().SetIsNativeAutoSetupScope(auto_setup_scope);
diff --git a/runtime/vm/intermediate_language.h b/runtime/vm/intermediate_language.h
index add487e..0aa3af3 100644
--- a/runtime/vm/intermediate_language.h
+++ b/runtime/vm/intermediate_language.h
@@ -53,18 +53,18 @@
   static const bool kNonNullable = false;
 
   CompileType(bool is_nullable, intptr_t cid, const AbstractType* type)
-      : is_nullable_(is_nullable), cid_(cid), type_(type) { }
+      : is_nullable_(is_nullable), cid_(cid), type_(type) {}
 
   CompileType(const CompileType& other)
       : ValueObject(),
         is_nullable_(other.is_nullable_),
         cid_(other.cid_),
-        type_(other.type_) { }
+        type_(other.type_) {}
 
   CompileType& operator=(const CompileType& other) {
     is_nullable_ = other.is_nullable_;
     cid_ = other.cid_;
-    type_ =  other.type_;
+    type_ = other.type_;
     return *this;
   }
 
@@ -96,8 +96,7 @@
   // given type.
   bool IsAssignableTo(const AbstractType& type) {
     bool is_instance;
-    return CanComputeIsInstanceOf(type, kNullable, &is_instance) &&
-           is_instance;
+    return CanComputeIsInstanceOf(type, kNullable, &is_instance) && is_instance;
   }
 
   // Create a new CompileType representing given combination of class id and
@@ -151,19 +150,16 @@
   // Returns true if this and other types are the same.
   bool IsEqualTo(CompileType* other) {
     return (is_nullable_ == other->is_nullable_) &&
-        (ToNullableCid() == other->ToNullableCid()) &&
-        (ToAbstractType()->Equals(*other->ToAbstractType()));
+           (ToNullableCid() == other->ToNullableCid()) &&
+           (ToAbstractType()->Equals(*other->ToAbstractType()));
   }
 
-  bool IsNone() const {
-    return (cid_ == kIllegalCid) && (type_ == NULL);
-  }
+  bool IsNone() const { return (cid_ == kIllegalCid) && (type_ == NULL); }
 
   bool IsInt() {
-    return !is_nullable() &&
-      ((ToCid() == kSmiCid) ||
-       (ToCid() == kMintCid) ||
-       ((type_ != NULL) && (type_->Equals(Type::Handle(Type::IntType())))));
+    return !is_nullable() && ((ToCid() == kSmiCid) || (ToCid() == kMintCid) ||
+                              ((type_ != NULL) &&
+                               (type_->Equals(Type::Handle(Type::IntType())))));
   }
 
   void PrintTo(BufferFormatter* f) const;
@@ -188,12 +184,10 @@
     return zone_type->ToCompileType();
   }
 
-  CompileType* ToCompileType() {
-    return &type_;
-  }
+  CompileType* ToCompileType() { return &type_; }
 
  protected:
-  explicit ZoneCompileType(const CompileType& type) : type_(type) { }
+  explicit ZoneCompileType(const CompileType& type) : type_(type) {}
 
   CompileType type_;
 };
@@ -203,14 +197,14 @@
 // another compile type.
 class ConstrainedCompileType : public ZoneCompileType {
  public:
-  virtual ~ConstrainedCompileType() { }
+  virtual ~ConstrainedCompileType() {}
 
   // Recompute compile type.
   virtual void Update() = 0;
 
  protected:
   explicit ConstrainedCompileType(const CompileType& type)
-      : ZoneCompileType(type) { }
+      : ZoneCompileType(type) {}
 };
 
 
@@ -221,11 +215,9 @@
 class NotNullConstrainedCompileType : public ConstrainedCompileType {
  public:
   explicit NotNullConstrainedCompileType(CompileType* source)
-      : ConstrainedCompileType(source->CopyNonNullable()), source_(source) { }
+      : ConstrainedCompileType(source->CopyNonNullable()), source_(source) {}
 
-  virtual void Update() {
-    type_ = source_->CopyNonNullable();
-  }
+  virtual void Update() { type_ = source_->CopyNonNullable(); }
 
  private:
   CompileType* source_;
@@ -240,9 +232,7 @@
     kLastEffect = kExternalization
   };
 
-  EffectSet(const EffectSet& other)
-      : ValueObject(), effects_(other.effects_) {
-  }
+  EffectSet(const EffectSet& other) : ValueObject(), effects_(other.effects_) {}
 
   bool IsNone() const { return effects_ == kNoEffects; }
 
@@ -252,14 +242,12 @@
     return EffectSet(kExternalization);
   }
 
-  static EffectSet Externalization() {
-    return EffectSet(kExternalization);
-  }
+  static EffectSet Externalization() { return EffectSet(kExternalization); }
 
   bool ToInt() { return effects_; }
 
  private:
-  explicit EffectSet(intptr_t effects) : effects_(effects) { }
+  explicit EffectSet(intptr_t effects) : effects_(effects) {}
 
   intptr_t effects_;
 };
@@ -279,6 +267,7 @@
       current_ = next_;
       if (next_ != NULL) next_ = next_->next_use();
     }
+
    private:
     Value* current_;
     Value* next_;
@@ -290,7 +279,7 @@
         next_use_(NULL),
         instruction_(NULL),
         use_index_(-1),
-        reaching_type_(NULL) { }
+        reaching_type_(NULL) {}
 
   Definition* definition() const { return definition_; }
   void set_definition(Definition* definition) { definition_ = definition; }
@@ -318,7 +307,7 @@
   inline void BindTo(Definition* definition);
   inline void BindToEnvironment(Definition* definition);
 
-  Value* Copy(Zone* zone) { return new(zone) Value(definition_); }
+  Value* Copy(Zone* zone) { return new (zone) Value(definition_); }
 
   // This function must only be used when the new Value is dominated by
   // the original Value.
@@ -330,9 +319,7 @@
 
   CompileType* Type();
 
-  void SetReachingType(CompileType* type) {
-    reaching_type_ = type;
-  }
+  void SetReachingType(CompileType* type) { reaching_type_ = type; }
 
   void PrintTo(BufferFormatter* f) const;
 
@@ -372,10 +359,10 @@
 
 // An embedded container with N elements of type T.  Used (with partial
 // specialization for N=0) because embedded arrays cannot have size 0.
-template<typename T, intptr_t N>
+template <typename T, intptr_t N>
 class EmbeddedArray {
  public:
-  EmbeddedArray() : elements_() { }
+  EmbeddedArray() : elements_() {}
 
   intptr_t length() const { return N; }
 
@@ -389,20 +376,16 @@
     return elements_[i];
   }
 
-  const T& At(intptr_t i) const {
-    return (*this)[i];
-  }
+  const T& At(intptr_t i) const { return (*this)[i]; }
 
-  void SetAt(intptr_t i, const T& val) {
-    (*this)[i] = val;
-  }
+  void SetAt(intptr_t i, const T& val) { (*this)[i] = val; }
 
  private:
   T elements_[N];
 };
 
 
-template<typename T>
+template <typename T>
 class EmbeddedArray<T, 0> {
  public:
   intptr_t length() const { return 0; }
@@ -572,7 +555,7 @@
   M(UnboxInteger)                                                              \
   M(Comparison)                                                                \
   M(UnaryIntegerOp)                                                            \
-  M(BinaryIntegerOp)                                                           \
+  M(BinaryIntegerOp)
 
 #define FORWARD_DECLARATION(type) class type##Instr;
 FOR_EACH_INSTRUCTION(FORWARD_DECLARATION)
@@ -581,7 +564,7 @@
 
 #define DEFINE_INSTRUCTION_TYPE_CHECK(type)                                    \
   virtual type##Instr* As##type() { return this; }                             \
-  virtual const char* DebugName() const { return #type; }                      \
+  virtual const char* DebugName() const { return #type; }
 
 // Functions required in all concrete instruction classes.
 #define DECLARE_INSTRUCTION_NO_BACKEND(type)                                   \
@@ -590,25 +573,24 @@
   DEFINE_INSTRUCTION_TYPE_CHECK(type)
 
 #define DECLARE_INSTRUCTION_BACKEND()                                          \
-  virtual LocationSummary* MakeLocationSummary(Zone* zone,                     \
-                                               bool optimizing) const;         \
-  virtual void EmitNativeCode(FlowGraphCompiler* compiler);                    \
+  virtual LocationSummary* MakeLocationSummary(Zone* zone, bool optimizing)    \
+      const;                                                                   \
+  virtual void EmitNativeCode(FlowGraphCompiler* compiler);
 
 // Functions required in all concrete instruction classes.
 #define DECLARE_INSTRUCTION(type)                                              \
   DECLARE_INSTRUCTION_NO_BACKEND(type)                                         \
-  DECLARE_INSTRUCTION_BACKEND()                                                \
+  DECLARE_INSTRUCTION_BACKEND()
 
 #ifndef PRODUCT
-#define PRINT_TO_SUPPORT                                                       \
-    virtual void PrintTo(BufferFormatter* f) const;
+#define PRINT_TO_SUPPORT virtual void PrintTo(BufferFormatter* f) const;
 #else
 #define PRINT_TO_SUPPORT
 #endif  // !PRODUCT
 
 #ifndef PRODUCT
 #define PRINT_OPERANDS_TO_SUPPORT                                              \
-    virtual void PrintOperandsTo(BufferFormatter* f) const;
+  virtual void PrintOperandsTo(BufferFormatter* f) const;
 #else
 #define PRINT_OPERANDS_TO_SUPPORT
 #endif  // !PRODUCT
@@ -616,9 +598,7 @@
 class Instruction : public ZoneAllocated {
  public:
 #define DECLARE_TAG(type) k##type,
-  enum Tag {
-    FOR_EACH_INSTRUCTION(DECLARE_TAG)
-  };
+  enum Tag { FOR_EACH_INSTRUCTION(DECLARE_TAG) };
 #undef DECLARE_TAG
 
   explicit Instruction(intptr_t deopt_id = Thread::kNoDeoptId)
@@ -628,9 +608,9 @@
         next_(NULL),
         env_(NULL),
         locs_(NULL),
-        inlining_id_(-1) { }
+        inlining_id_(-1) {}
 
-  virtual ~Instruction() { }
+  virtual ~Instruction() {}
 
   virtual Tag tag() const = 0;
 
@@ -642,9 +622,7 @@
   const ICData* GetICData(
       const ZoneGrowableArray<const ICData*>& ic_data_array) const;
 
-  virtual TokenPosition token_pos() const {
-    return TokenPosition::kNoSource;
-  }
+  virtual TokenPosition token_pos() const { return TokenPosition::kNoSource; }
 
   virtual intptr_t InputCount() const = 0;
   virtual Value* InputAt(intptr_t i) const = 0;
@@ -739,9 +717,9 @@
 #define INSTRUCTION_TYPE_CHECK(Name)                                           \
   DECLARE_INSTRUCTION_TYPE_CHECK(Name, Name##Instr)
 
-DECLARE_INSTRUCTION_TYPE_CHECK(Definition, Definition)
-FOR_EACH_INSTRUCTION(INSTRUCTION_TYPE_CHECK)
-FOR_EACH_ABSTRACT_INSTRUCTION(INSTRUCTION_TYPE_CHECK)
+  DECLARE_INSTRUCTION_TYPE_CHECK(Definition, Definition)
+  FOR_EACH_INSTRUCTION(INSTRUCTION_TYPE_CHECK)
+  FOR_EACH_ABSTRACT_INSTRUCTION(INSTRUCTION_TYPE_CHECK)
 
 #undef INSTRUCTION_TYPE_CHECK
 #undef DECLARE_INSTRUCTION_TYPE_CHECK
@@ -765,18 +743,14 @@
 
   static LocationSummary* MakeCallSummary(Zone* zone);
 
-  virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
-    UNIMPLEMENTED();
-  }
+  virtual void EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); }
 
   Environment* env() const { return env_; }
   void SetEnvironment(Environment* deopt_env);
   void RemoveEnvironment();
 
   intptr_t lifetime_position() const { return lifetime_position_; }
-  void set_lifetime_position(intptr_t pos) {
-    lifetime_position_ = pos;
-  }
+  void set_lifetime_position(intptr_t pos) { lifetime_position_ = pos; }
 
   bool HasUnmatchedInputRepresentations() const;
 
@@ -786,13 +760,9 @@
   }
 
   // Representation of the value produced by this computation.
-  virtual Representation representation() const {
-    return kTagged;
-  }
+  virtual Representation representation() const { return kTagged; }
 
-  bool WasEliminated() const {
-    return next() == NULL;
-  }
+  bool WasEliminated() const { return next() == NULL; }
 
   // Returns deoptimization id that corresponds to the deoptimization target
   // that input operands conversions inserted for this instruction can jump
@@ -820,14 +790,10 @@
   // instruction.
   Instruction* AppendInstruction(Instruction* tail);
 
-  virtual bool AllowsDCE() const {
-    return false;
-  }
+  virtual bool AllowsDCE() const { return false; }
 
   // Returns true if CSE and LICM are allowed for this instruction.
-  virtual bool AllowsCSE() const {
-    return false;
-  }
+  virtual bool AllowsCSE() const { return false; }
 
   // Returns set of effects created by this instruction.
   virtual EffectSet Effects() const = 0;
@@ -876,9 +842,7 @@
     return CanDeoptimize() || CanBecomeDeoptimizationTarget();
   }
 
-  virtual bool CanBecomeDeoptimizationTarget() const {
-    return false;
-  }
+  virtual bool CanBecomeDeoptimizationTarget() const { return false; }
 
   void InheritDeoptTargetAfter(FlowGraph* flow_graph,
                                Definition* call,
@@ -902,23 +866,19 @@
   friend class CatchBlockEntryInstr;  // deopt_id_
 
   // Fetch deopt id without checking if this computation can deoptimize.
-  intptr_t GetDeoptId() const {
-    return deopt_id_;
-  }
+  intptr_t GetDeoptId() const { return deopt_id_; }
 
   void CopyDeoptIdFrom(const Instruction& instr) {
     deopt_id_ = instr.deopt_id_;
   }
 
  private:
-  friend class BranchInstr;  // For RawSetInputAt.
+  friend class BranchInstr;      // For RawSetInputAt.
   friend class IfThenElseInstr;  // For RawSetInputAt.
 
   virtual void RawSetInputAt(intptr_t i, Value* value) = 0;
 
-  enum {
-    kNoPlaceId = -1
-  };
+  enum { kNoPlaceId = -1 };
 
   intptr_t deopt_id_;
   union {
@@ -937,8 +897,7 @@
 
 class PureInstruction : public Instruction {
  public:
-  explicit PureInstruction(intptr_t deopt_id)
-      : Instruction(deopt_id) { }
+  explicit PureInstruction(intptr_t deopt_id) : Instruction(deopt_id) {}
 
   virtual bool AllowsCSE() const { return true; }
   virtual EffectSet Dependencies() const { return EffectSet::None(); }
@@ -961,25 +920,26 @@
 // Types to be used as CSETrait for TemplateInstruction/TemplateDefinition.
 // Pure instructions are those that allow CSE and have no effects and
 // no dependencies.
-template<typename DefaultBase, typename PureBase>
+template <typename DefaultBase, typename PureBase>
 struct Pure {
   typedef PureBase Base;
 };
 
 
-template<typename DefaultBase, typename PureBase>
+template <typename DefaultBase, typename PureBase>
 struct NoCSE {
   typedef DefaultBase Base;
 };
 
 
-template<intptr_t N,
-         typename ThrowsTrait,
-         template<typename Default, typename Pure> class CSETrait = NoCSE>
-class TemplateInstruction: public CSETrait<Instruction, PureInstruction>::Base {
+template <intptr_t N,
+          typename ThrowsTrait,
+          template <typename Default, typename Pure> class CSETrait = NoCSE>
+class TemplateInstruction
+    : public CSETrait<Instruction, PureInstruction>::Base {
  public:
   explicit TemplateInstruction(intptr_t deopt_id = Thread::kNoDeoptId)
-      : CSETrait<Instruction, PureInstruction>::Base(deopt_id), inputs_() { }
+      : CSETrait<Instruction, PureInstruction>::Base(deopt_id), inputs_() {}
 
   virtual intptr_t InputCount() const { return N; }
   virtual Value* InputAt(intptr_t i) const { return inputs_[i]; }
@@ -990,15 +950,13 @@
   EmbeddedArray<Value*, N> inputs_;
 
  private:
-  virtual void RawSetInputAt(intptr_t i, Value* value) {
-    inputs_[i] = value;
-  }
+  virtual void RawSetInputAt(intptr_t i, Value* value) { inputs_[i] = value; }
 };
 
 
 class MoveOperands : public ZoneAllocated {
  public:
-  MoveOperands(Location dest, Location src) : dest_(dest), src_(src) { }
+  MoveOperands(Location dest, Location src) : dest_(dest), src_(src) {}
 
   Location src() const { return src_; }
   Location dest() const { return dest_; }
@@ -1056,7 +1014,7 @@
 
 class ParallelMoveInstr : public TemplateInstruction<0, NoThrow> {
  public:
-  ParallelMoveInstr() : moves_(4) { }
+  ParallelMoveInstr() : moves_(4) {}
 
   DECLARE_INSTRUCTION(ParallelMove)
 
@@ -1093,7 +1051,7 @@
   PRINT_TO_SUPPORT
 
  private:
-  GrowableArray<MoveOperands*> moves_;   // Elements cannot be null.
+  GrowableArray<MoveOperands*> moves_;  // Elements cannot be null.
 
   DISALLOW_COPY_AND_ASSIGN(ParallelMoveInstr);
 };
@@ -1121,7 +1079,7 @@
   // the register allocator.
   void set_start_pos(intptr_t pos) { start_pos_ = pos; }
   intptr_t start_pos() const { return start_pos_; }
-  void  set_end_pos(intptr_t pos) { end_pos_ = pos; }
+  void set_end_pos(intptr_t pos) { end_pos_ = pos; }
   intptr_t end_pos() const { return end_pos_; }
 
   BlockEntryInstr* dominator() const { return dominator_; }
@@ -1142,13 +1100,9 @@
   Instruction* last_instruction() const { return last_instruction_; }
   void set_last_instruction(Instruction* instr) { last_instruction_ = instr; }
 
-  ParallelMoveInstr* parallel_move() const {
-    return parallel_move_;
-  }
+  ParallelMoveInstr* parallel_move() const { return parallel_move_; }
 
-  bool HasParallelMove() const {
-    return parallel_move_ != NULL;
-  }
+  bool HasParallelMove() const { return parallel_move_ != NULL; }
 
   bool HasNonRedundantParallelMove() const {
     return HasParallelMove() && !parallel_move()->IsRedundant();
@@ -1173,10 +1127,9 @@
   // block is recorded in each entry instruction.  Returns true when called the
   // first time on this particular block within one graph traversal, and false
   // on all successive calls.
-  bool DiscoverBlock(
-      BlockEntryInstr* predecessor,
-      GrowableArray<BlockEntryInstr*>* preorder,
-      GrowableArray<intptr_t>* parent);
+  bool DiscoverBlock(BlockEntryInstr* predecessor,
+                     GrowableArray<BlockEntryInstr*>* preorder,
+                     GrowableArray<intptr_t>* parent);
 
   // Perform a depth first search to prune code not reachable from an OSR
   // entry point.
@@ -1207,9 +1160,7 @@
   virtual bool MayThrow() const { return false; }
 
   intptr_t try_index() const { return try_index_; }
-  void set_try_index(intptr_t index) {
-    try_index_ = index;
-  }
+  void set_try_index(intptr_t index) { try_index_ = index; }
 
   // True for blocks inside a try { } region.
   bool InsideTryBlock() const {
@@ -1217,13 +1168,9 @@
   }
 
   BitVector* loop_info() const { return loop_info_; }
-  void set_loop_info(BitVector* loop_info) {
-    loop_info_ = loop_info;
-  }
+  void set_loop_info(BitVector* loop_info) { loop_info_ = loop_info; }
 
-  virtual BlockEntryInstr* GetBlock() {
-    return this;
-  }
+  virtual BlockEntryInstr* GetBlock() { return this; }
 
   virtual TokenPosition token_pos() const {
     return TokenPosition::kControlFlow;
@@ -1257,8 +1204,7 @@
         last_instruction_(NULL),
         offset_(-1),
         parallel_move_(NULL),
-        loop_info_(NULL) {
-  }
+        loop_info_(NULL) {}
 
  private:
   virtual void RawSetInputAt(intptr_t i, Value* value) { UNREACHABLE(); }
@@ -1394,9 +1340,7 @@
   }
   TargetEntryInstr* normal_entry() const { return normal_entry_; }
 
-  const ParsedFunction& parsed_function() const {
-    return parsed_function_;
-  }
+  const ParsedFunction& parsed_function() const { return parsed_function_; }
 
   const GrowableArray<CatchBlockEntryInstr*>& catch_entries() const {
     return catch_entries_;
@@ -1432,7 +1376,7 @@
   JoinEntryInstr(intptr_t block_id, intptr_t try_index)
       : BlockEntryInstr(block_id, try_index),
         predecessors_(2),  // Two is the assumed to be the common case.
-        phis_(NULL) { }
+        phis_(NULL) {}
 
   DECLARE_INSTRUCTION(JoinEntry)
 
@@ -1480,21 +1424,16 @@
 
 class PhiIterator : public ValueObject {
  public:
-  explicit PhiIterator(JoinEntryInstr* join)
-      : phis_(join->phis()), index_(0) { }
+  explicit PhiIterator(JoinEntryInstr* join) : phis_(join->phis()), index_(0) {}
 
   void Advance() {
     ASSERT(!Done());
     index_++;
   }
 
-  bool Done() const {
-    return (phis_ == NULL) || (index_ >= phis_->length());
-  }
+  bool Done() const { return (phis_ == NULL) || (index_ >= phis_->length()); }
 
-  PhiInstr* Current() const {
-    return (*phis_)[index_];
-  }
+  PhiInstr* Current() const { return (*phis_)[index_]; }
 
  private:
   ZoneGrowableArray<PhiInstr*>* phis_;
@@ -1507,7 +1446,7 @@
   TargetEntryInstr(intptr_t block_id, intptr_t try_index)
       : BlockEntryInstr(block_id, try_index),
         predecessor_(NULL),
-        edge_weight_(0.0) { }
+        edge_weight_(0.0) {}
 
   DECLARE_INSTRUCTION(TargetEntry)
 
@@ -1546,8 +1485,7 @@
   IndirectEntryInstr(intptr_t block_id,
                      intptr_t indirect_id,
                      intptr_t try_index)
-      : JoinEntryInstr(block_id, try_index),
-        indirect_id_(indirect_id) { }
+      : JoinEntryInstr(block_id, try_index), indirect_id_(indirect_id) {}
 
   DECLARE_INSTRUCTION(IndirectEntry)
 
@@ -1603,9 +1541,7 @@
 
   // Returns try index for the try block to which this catch handler
   // corresponds.
-  intptr_t catch_try_index() const {
-    return catch_try_index_;
-  }
+  intptr_t catch_try_index() const { return catch_try_index_; }
   GrowableArray<Definition*>* initial_definitions() {
     return &initial_definitions_;
   }
@@ -1669,8 +1605,7 @@
   }
 
   AliasIdentity(const AliasIdentity& other)
-      : ValueObject(), value_(other.value_) {
-  }
+      : ValueObject(), value_(other.value_) {}
 
   AliasIdentity& operator=(const AliasIdentity& other) {
     value_ = other.value_;
@@ -1678,7 +1613,7 @@
   }
 
  private:
-  explicit AliasIdentity(intptr_t value) : value_(value) { }
+  explicit AliasIdentity(intptr_t value) : value_(value) {}
 
   enum {
     kUnknown = 0,
@@ -1742,23 +1677,17 @@
   inline bool IsMintDefinition();
 
   bool IsInt32Definition() {
-    return IsBinaryInt32Op() ||
-           IsBoxInt32() ||
-           IsUnboxInt32() ||
+    return IsBinaryInt32Op() || IsBoxInt32() || IsUnboxInt32() ||
            IsUnboxedIntConverter();
   }
 
   // Compute compile type for this definition. It is safe to use this
   // approximation even before type propagator was run (e.g. during graph
   // building).
-  virtual CompileType ComputeType() const {
-    return CompileType::Dynamic();
-  }
+  virtual CompileType ComputeType() const { return CompileType::Dynamic(); }
 
   // Update CompileType of the definition. Returns true if the type has changed.
-  virtual bool RecomputeType() {
-    return false;
-  }
+  virtual bool RecomputeType() { return false; }
 
   PRINT_OPERANDS_TO_SUPPORT
   PRINT_TO_SUPPORT
@@ -1836,13 +1765,9 @@
     temp_index_ = reinterpret_cast<intptr_t>(other);
   }
 
-  virtual AliasIdentity Identity() const {
-    return AliasIdentity::Unknown();
-  }
+  virtual AliasIdentity Identity() const { return AliasIdentity::Unknown(); }
 
-  virtual void SetIdentity(AliasIdentity identity) {
-    UNREACHABLE();
-  }
+  virtual void SetIdentity(AliasIdentity identity) { UNREACHABLE(); }
 
   Definition* OriginalDefinition();
 
@@ -1884,8 +1809,7 @@
 
 class PureDefinition : public Definition {
  public:
-  explicit PureDefinition(intptr_t deopt_id)
-      : Definition(deopt_id) { }
+  explicit PureDefinition(intptr_t deopt_id) : Definition(deopt_id) {}
 
   virtual bool AllowsCSE() const { return true; }
   virtual EffectSet Dependencies() const { return EffectSet::None(); }
@@ -1894,13 +1818,13 @@
 };
 
 
-template<intptr_t N,
-         typename ThrowsTrait,
-         template<typename Impure, typename Pure> class CSETrait = NoCSE>
+template <intptr_t N,
+          typename ThrowsTrait,
+          template <typename Impure, typename Pure> class CSETrait = NoCSE>
 class TemplateDefinition : public CSETrait<Definition, PureDefinition>::Base {
  public:
   explicit TemplateDefinition(intptr_t deopt_id = Thread::kNoDeoptId)
-      : CSETrait<Definition, PureDefinition>::Base(deopt_id), inputs_() { }
+      : CSETrait<Definition, PureDefinition>::Base(deopt_id), inputs_() {}
 
   virtual intptr_t InputCount() const { return N; }
   virtual Value* InputAt(intptr_t i) const { return inputs_[i]; }
@@ -1914,9 +1838,7 @@
   friend class BranchInstr;
   friend class IfThenElseInstr;
 
-  virtual void RawSetInputAt(intptr_t i, Value* value) {
-    inputs_[i] = value;
-  }
+  virtual void RawSetInputAt(intptr_t i, Value* value) { inputs_[i] = value; }
 };
 
 
@@ -1933,13 +1855,13 @@
 class PhiInstr : public Definition {
  public:
   PhiInstr(JoinEntryInstr* block, intptr_t num_inputs)
-    : block_(block),
-      inputs_(num_inputs),
-      representation_(kTagged),
-      reaching_defs_(NULL),
-      loop_variable_info_(NULL),
-      is_alive_(false),
-      is_receiver_(kUnknownReceiver) {
+      : block_(block),
+        inputs_(num_inputs),
+        representation_(kTagged),
+        reaching_defs_(NULL),
+        loop_variable_info_(NULL),
+        is_alive_(false),
+        is_receiver_(kUnknownReceiver) {
     for (intptr_t i = 0; i < num_inputs; ++i) {
       inputs_.Add(NULL);
     }
@@ -1969,13 +1891,9 @@
     return representation_;
   }
 
-  virtual Representation representation() const {
-    return representation_;
-  }
+  virtual Representation representation() const { return representation_; }
 
-  virtual void set_representation(Representation r) {
-    representation_ = r;
-  }
+  virtual void set_representation(Representation r) { representation_ = r; }
 
   virtual intptr_t Hashcode() const {
     UNREACHABLE();
@@ -1986,9 +1904,7 @@
 
   virtual void InferRange(RangeAnalysis* analysis, Range* range);
 
-  BitVector* reaching_defs() const {
-    return reaching_defs_;
-  }
+  BitVector* reaching_defs() const { return reaching_defs_; }
 
   void set_reaching_defs(BitVector* reaching_defs) {
     reaching_defs_ = reaching_defs;
@@ -2009,19 +1925,13 @@
 
   PRINT_TO_SUPPORT
 
-  enum ReceiverType {
-    kUnknownReceiver = -1,
-    kNotReceiver = 0,
-    kReceiver = 1
-  };
+  enum ReceiverType { kUnknownReceiver = -1, kNotReceiver = 0, kReceiver = 1 };
 
   ReceiverType is_receiver() const {
     return static_cast<ReceiverType>(is_receiver_);
   }
 
-  void set_is_receiver(ReceiverType is_receiver) {
-    is_receiver_ = is_receiver;
-  }
+  void set_is_receiver(ReceiverType is_receiver) { is_receiver_ = is_receiver; }
 
  private:
   // Direct access to inputs_ in order to resize it due to unreachable
@@ -2047,7 +1957,7 @@
   ParameterInstr(intptr_t index,
                  BlockEntryInstr* block,
                  Register base_reg = FPREG)
-      : index_(index), base_reg_(base_reg), block_(block) { }
+      : index_(index), base_reg_(base_reg), block_(block) {}
 
   DECLARE_INSTRUCTION(Parameter)
 
@@ -2092,9 +2002,7 @@
 
 class PushArgumentInstr : public TemplateDefinition<1, NoThrow> {
  public:
-  explicit PushArgumentInstr(Value* value) {
-    SetInputAt(0, value);
-  }
+  explicit PushArgumentInstr(Value* value) { SetInputAt(0, value); }
 
   DECLARE_INSTRUCTION(PushArgument)
 
@@ -2156,8 +2064,7 @@
  public:
   explicit ThrowInstr(TokenPosition token_pos)
       : TemplateInstruction(Thread::Current()->GetNextDeoptId()),
-        token_pos_(token_pos) {
-  }
+        token_pos_(token_pos) {}
 
   DECLARE_INSTRUCTION(Throw)
 
@@ -2183,8 +2090,7 @@
   ReThrowInstr(TokenPosition token_pos, intptr_t catch_try_index)
       : TemplateInstruction(Thread::Current()->GetNextDeoptId()),
         token_pos_(token_pos),
-        catch_try_index_(catch_try_index) {
-  }
+        catch_try_index_(catch_try_index) {}
 
   DECLARE_INSTRUCTION(ReThrow)
 
@@ -2207,8 +2113,7 @@
 
 class StopInstr : public TemplateInstruction<0, NoThrow> {
  public:
-  explicit StopInstr(const char* message)
-      : message_(message) {
+  explicit StopInstr(const char* message) : message_(message) {
     ASSERT(message != NULL);
   }
 
@@ -2234,12 +2139,11 @@
 class GotoInstr : public TemplateInstruction<0, NoThrow> {
  public:
   explicit GotoInstr(JoinEntryInstr* entry)
-    : TemplateInstruction(Thread::Current()->GetNextDeoptId()),
-      block_(NULL),
-      successor_(entry),
-      edge_weight_(0.0),
-      parallel_move_(NULL) {
-  }
+      : TemplateInstruction(Thread::Current()->GetNextDeoptId()),
+        block_(NULL),
+        successor_(entry),
+        edge_weight_(0.0),
+        parallel_move_(NULL) {}
 
   DECLARE_INSTRUCTION(Goto)
 
@@ -2265,13 +2169,9 @@
 
   virtual EffectSet Effects() const { return EffectSet::None(); }
 
-  ParallelMoveInstr* parallel_move() const {
-    return parallel_move_;
-  }
+  ParallelMoveInstr* parallel_move() const { return parallel_move_; }
 
-  bool HasParallelMove() const {
-    return parallel_move_ != NULL;
-  }
+  bool HasParallelMove() const { return parallel_move_ != NULL; }
 
   bool HasNonRedundantParallelMove() const {
     return HasParallelMove() && !parallel_move()->IsRedundant();
@@ -2315,9 +2215,8 @@
 // to IndirectGoto as an input.
 class IndirectGotoInstr : public TemplateInstruction<1, NoThrow> {
  public:
-  IndirectGotoInstr(TypedData* offsets,
-                    Value* offset_from_start)
-    : offsets_(*offsets) {
+  IndirectGotoInstr(TypedData* offsets, Value* offset_from_start)
+      : offsets_(*offsets) {
     SetInputAt(0, offset_from_start);
   }
 
@@ -2374,17 +2273,13 @@
   virtual Condition EmitComparisonCode(FlowGraphCompiler* compiler,
                                        BranchLabels labels) = 0;
 
-  void SetDeoptId(const Instruction& instr) {
-    CopyDeoptIdFrom(instr);
-  }
+  void SetDeoptId(const Instruction& instr) { CopyDeoptIdFrom(instr); }
 
   // Operation class id is computed from collected ICData.
   void set_operation_cid(intptr_t value) { operation_cid_ = value; }
   intptr_t operation_cid() const { return operation_cid_; }
 
-  virtual void NegateComparison() {
-    kind_ = Token::NegateComparison(kind_);
-  }
+  virtual void NegateComparison() { kind_ = Token::NegateComparison(kind_); }
 
   virtual bool CanBecomeDeoptimizationTarget() const { return true; }
   virtual intptr_t DeoptimizationTarget() const { return GetDeoptId(); }
@@ -2392,7 +2287,7 @@
   virtual bool AttributesEqual(Instruction* other) const {
     ComparisonInstr* other_comparison = other->AsComparison();
     return kind() == other_comparison->kind() &&
-        (operation_cid() == other_comparison->operation_cid());
+           (operation_cid() == other_comparison->operation_cid());
   }
 
   DEFINE_INSTRUCTION_TYPE_CHECK(Comparison)
@@ -2404,8 +2299,7 @@
       : Definition(deopt_id),
         token_pos_(token_pos),
         kind_(kind),
-        operation_cid_(kIllegalCid) {
-  }
+        operation_cid_(kIllegalCid) {}
 
  private:
   const TokenPosition token_pos_;
@@ -2425,22 +2319,23 @@
 
  protected:
   PureComparison(TokenPosition token_pos, Token::Kind kind, intptr_t deopt_id)
-      : ComparisonInstr(token_pos, kind, deopt_id) { }
+      : ComparisonInstr(token_pos, kind, deopt_id) {}
 };
 
 
-template<intptr_t N,
-         typename ThrowsTrait,
-         template<typename Impure, typename Pure> class CSETrait = NoCSE>
-class TemplateComparison : public CSETrait<
-    ComparisonInstr, PureComparison>::Base {
+template <intptr_t N,
+          typename ThrowsTrait,
+          template <typename Impure, typename Pure> class CSETrait = NoCSE>
+class TemplateComparison
+    : public CSETrait<ComparisonInstr, PureComparison>::Base {
  public:
   TemplateComparison(TokenPosition token_pos,
                      Token::Kind kind,
                      intptr_t deopt_id = Thread::kNoDeoptId)
-      : CSETrait<ComparisonInstr, PureComparison>::Base(
-            token_pos, kind, deopt_id),
-        inputs_() { }
+      : CSETrait<ComparisonInstr, PureComparison>::Base(token_pos,
+                                                        kind,
+                                                        deopt_id),
+        inputs_() {}
 
   virtual intptr_t InputCount() const { return N; }
   virtual Value* InputAt(intptr_t i) const { return inputs_[i]; }
@@ -2451,9 +2346,7 @@
   EmbeddedArray<Value*, N> inputs_;
 
  private:
-  virtual void RawSetInputAt(intptr_t i, Value* value) {
-    inputs_[i] = value;
-  }
+  virtual void RawSetInputAt(intptr_t i, Value* value) { inputs_[i] = value; }
 };
 
 
@@ -2493,9 +2386,7 @@
     return comparison()->CanBecomeDeoptimizationTarget();
   }
 
-  virtual EffectSet Effects() const {
-    return comparison()->Effects();
-  }
+  virtual EffectSet Effects() const { return comparison()->Effects(); }
 
   ComparisonInstr* comparison() const { return comparison_; }
   void SetComparison(ComparisonInstr* comp);
@@ -2521,23 +2412,17 @@
   }
 
   // Return compile type constrained by the comparison of this branch.
-  ConstrainedCompileType* constrained_type() const {
-    return constrained_type_;
-  }
+  ConstrainedCompileType* constrained_type() const { return constrained_type_; }
 
   void set_constant_target(TargetEntryInstr* target) {
     ASSERT(target == true_successor() || target == false_successor());
     constant_target_ = target;
   }
-  TargetEntryInstr* constant_target() const {
-    return constant_target_;
-  }
+  TargetEntryInstr* constant_target() const { return constant_target_; }
 
   virtual void InheritDeoptTarget(Zone* zone, Instruction* other);
 
-  virtual bool MayThrow() const {
-    return comparison()->MayThrow();
-  }
+  virtual bool MayThrow() const { return comparison()->MayThrow(); }
 
   TargetEntryInstr* true_successor() const { return true_successor_; }
   TargetEntryInstr* false_successor() const { return false_successor_; }
@@ -2569,15 +2454,11 @@
 class DeoptimizeInstr : public TemplateInstruction<0, NoThrow, Pure> {
  public:
   DeoptimizeInstr(ICData::DeoptReasonId deopt_reason, intptr_t deopt_id)
-      : TemplateInstruction(deopt_id),
-        deopt_reason_(deopt_reason) {
-  }
+      : TemplateInstruction(deopt_id), deopt_reason_(deopt_reason) {}
 
   virtual bool CanDeoptimize() const { return true; }
 
-  virtual bool AttributesEqual(Instruction* other) const {
-    return true;
-  }
+  virtual bool AttributesEqual(Instruction* other) const { return true; }
 
   DECLARE_INSTRUCTION(Deoptimize)
 
@@ -2590,9 +2471,7 @@
 
 class RedefinitionInstr : public TemplateDefinition<1, NoThrow> {
  public:
-  explicit RedefinitionInstr(Value* value) {
-    SetInputAt(0, value);
-  }
+  explicit RedefinitionInstr(Value* value) { SetInputAt(0, value); }
 
   DECLARE_INSTRUCTION(Redefinition)
 
@@ -2613,8 +2492,7 @@
 class ConstraintInstr : public TemplateDefinition<1, NoThrow> {
  public:
   ConstraintInstr(Value* value, Range* constraint)
-      : constraint_(constraint),
-        target_(NULL) {
+      : constraint_(constraint), target_(NULL) {
     SetInputAt(0, value);
   }
 
@@ -2639,12 +2517,8 @@
   // Constraints for branches have their target block stored in order
   // to find the comparison that generated the constraint:
   // target->predecessor->last_instruction->comparison.
-  void set_target(TargetEntryInstr* target) {
-    target_ = target;
-  }
-  TargetEntryInstr* target() const {
-    return target_;
-  }
+  void set_target(TargetEntryInstr* target) { target_ = target; }
+  TargetEntryInstr* target() const { return target_; }
 
   PRINT_OPERANDS_TO_SUPPORT
 
@@ -2694,9 +2568,7 @@
   explicit UnboxedConstantInstr(const Object& value,
                                 Representation representation);
 
-  virtual Representation representation() const {
-    return representation_;
-  }
+  virtual Representation representation() const { return representation_; }
 
   // Either NULL or the address of the unboxed constant.
   uword constant_address() const { return constant_address_; }
@@ -2802,8 +2674,7 @@
 class CurrentContextInstr : public TemplateDefinition<0, NoThrow> {
  public:
   CurrentContextInstr()
-      : TemplateDefinition(Thread::Current()->GetNextDeoptId()) {
-  }
+      : TemplateDefinition(Thread::Current()->GetNextDeoptId()) {}
 
   DECLARE_INSTRUCTION(CurrentContext)
   virtual CompileType ComputeType() const;
@@ -2898,18 +2769,14 @@
            Token::IsUnaryOperator(token_kind) ||
            Token::IsIndexOperator(token_kind) ||
            Token::IsTypeTestOperator(token_kind) ||
-           Token::IsTypeCastOperator(token_kind) ||
-           token_kind == Token::kGET ||
-           token_kind == Token::kSET ||
-           token_kind == Token::kILLEGAL);
+           Token::IsTypeCastOperator(token_kind) || token_kind == Token::kGET ||
+           token_kind == Token::kSET || token_kind == Token::kILLEGAL);
   }
 
   DECLARE_INSTRUCTION(InstanceCall)
 
   const ICData* ic_data() const { return ic_data_; }
-  bool HasICData() const {
-    return (ic_data() != NULL) && !ic_data()->IsNull();
-  }
+  bool HasICData() const { return (ic_data() != NULL) && !ic_data()->IsNull(); }
 
   // ICData can be replaced by optimizer.
   void set_ic_data(const ICData* value) { ic_data_ = value; }
@@ -2925,9 +2792,7 @@
   intptr_t checked_argument_count() const { return checked_argument_count_; }
 
   bool has_unique_selector() const { return has_unique_selector_; }
-  void set_has_unique_selector(bool b) {
-    has_unique_selector_ = b;
-  }
+  void set_has_unique_selector(bool b) { has_unique_selector_ = b; }
 
   virtual bool CanDeoptimize() const { return true; }
 
@@ -3037,8 +2902,7 @@
 
   virtual Definition* Canonicalize(FlowGraph* flow_graph);
 
-  virtual void EmitBranchCode(FlowGraphCompiler* compiler,
-                              BranchInstr* branch);
+  virtual void EmitBranchCode(FlowGraphCompiler* compiler, BranchInstr* branch);
 
   virtual Condition EmitComparisonCode(FlowGraphCompiler* compiler,
                                        BranchLabels labels);
@@ -3085,8 +2949,7 @@
     return kTagged;
   }
 
-  virtual void EmitBranchCode(FlowGraphCompiler* compiler,
-                              BranchInstr* branch);
+  virtual void EmitBranchCode(FlowGraphCompiler* compiler, BranchInstr* branch);
 
   virtual Condition EmitComparisonCode(FlowGraphCompiler* compiler,
                                        BranchLabels labels);
@@ -3135,8 +2998,7 @@
 
   virtual bool AttributesEqual(Instruction* other) const;
 
-  virtual void EmitBranchCode(FlowGraphCompiler* compiler,
-                              BranchInstr* branch);
+  virtual void EmitBranchCode(FlowGraphCompiler* compiler, BranchInstr* branch);
 
   virtual Condition EmitComparisonCode(FlowGraphCompiler* compiler,
                                        BranchLabels labels);
@@ -3175,8 +3037,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual void EmitBranchCode(FlowGraphCompiler* compiler,
-                              BranchInstr* branch);
+  virtual void EmitBranchCode(FlowGraphCompiler* compiler, BranchInstr* branch);
 
   virtual Condition EmitComparisonCode(FlowGraphCompiler* compiler,
                                        BranchLabels labels);
@@ -3218,8 +3079,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual void EmitBranchCode(FlowGraphCompiler* compiler,
-                              BranchInstr* branch);
+  virtual void EmitBranchCode(FlowGraphCompiler* compiler, BranchInstr* branch);
 
   virtual Condition EmitComparisonCode(FlowGraphCompiler* compiler,
                                        BranchLabels labels);
@@ -3242,9 +3102,7 @@
 // materialization of true and false constants.
 class IfThenElseInstr : public Definition {
  public:
-  IfThenElseInstr(ComparisonInstr* comparison,
-                  Value* if_true,
-                  Value* if_false)
+  IfThenElseInstr(ComparisonInstr* comparison, Value* if_true, Value* if_false)
       : Definition(Thread::Current()->GetNextDeoptId()),
         comparison_(comparison),
         if_true_(Smi::Cast(if_true->BoundConstant()).Value()),
@@ -3266,9 +3124,7 @@
 
   Value* InputAt(intptr_t i) const { return comparison()->InputAt(i); }
 
-  virtual bool CanDeoptimize() const {
-    return comparison()->CanDeoptimize();
-  }
+  virtual bool CanDeoptimize() const { return comparison()->CanDeoptimize(); }
 
   virtual bool CanBecomeDeoptimizationTarget() const {
     return comparison()->CanBecomeDeoptimizationTarget();
@@ -3339,7 +3195,7 @@
     ic_data_ = GetICData(ic_data_array);
     ASSERT(function.IsZoneHandle());
     ASSERT(!function.IsNull());
-    ASSERT(argument_names.IsZoneHandle() ||  argument_names.InVMHeap());
+    ASSERT(argument_names.IsZoneHandle() || argument_names.InVMHeap());
   }
 
   StaticCallInstr(TokenPosition token_pos,
@@ -3358,14 +3214,12 @@
         identity_(AliasIdentity::Unknown()) {
     ASSERT(function.IsZoneHandle());
     ASSERT(!function.IsNull());
-    ASSERT(argument_names.IsZoneHandle() ||  argument_names.InVMHeap());
+    ASSERT(argument_names.IsZoneHandle() || argument_names.InVMHeap());
   }
 
   // ICData for static calls carries call count.
   const ICData* ic_data() const { return ic_data_; }
-  bool HasICData() const {
-    return (ic_data() != NULL) && !ic_data()->IsNull();
-  }
+  bool HasICData() const { return (ic_data() != NULL) && !ic_data()->IsNull(); }
 
   DECLARE_INSTRUCTION(StaticCall)
   virtual CompileType ComputeType() const;
@@ -3402,9 +3256,7 @@
     is_known_list_constructor_ = value;
   }
 
-  bool IsRecognizedFactory() const {
-    return is_known_list_constructor();
-  }
+  bool IsRecognizedFactory() const { return is_known_list_constructor(); }
 
   virtual AliasIdentity Identity() const { return identity_; }
   virtual void SetIdentity(AliasIdentity identity) { identity_ = identity; }
@@ -3430,9 +3282,8 @@
 
 class LoadLocalInstr : public TemplateDefinition<0, NoThrow> {
  public:
-  LoadLocalInstr(const LocalVariable& local,
-                 TokenPosition token_pos)
-      : local_(local), is_last_(false), token_pos_(token_pos) { }
+  LoadLocalInstr(const LocalVariable& local, TokenPosition token_pos)
+      : local_(local), is_last_(false), token_pos_(token_pos) {}
 
   DECLARE_INSTRUCTION(LoadLocal)
   virtual CompileType ComputeType() const;
@@ -3497,16 +3348,12 @@
     return false;
   }
 
-  virtual TokenPosition token_pos() const {
-    return TokenPosition::kTempMove;
-  }
+  virtual TokenPosition token_pos() const { return TokenPosition::kTempMove; }
 
   PRINT_OPERANDS_TO_SUPPORT
 
  private:
-  virtual void RawSetInputAt(intptr_t i, Value* value) {
-    value_ = value;
-  }
+  virtual void RawSetInputAt(intptr_t i, Value* value) { value_ = value; }
 
   const intptr_t num_temps_;
   Value* value_;
@@ -3565,7 +3412,7 @@
         native_c_function_(NULL),
         is_bootstrap_native_(false),
         link_lazily_(node->link_lazily()),
-        token_pos_(node->token_pos()) { }
+        token_pos_(node->token_pos()) {}
 
   NativeCallInstr(const String* name,
                   const Function* function,
@@ -3576,7 +3423,7 @@
         native_c_function_(NULL),
         is_bootstrap_native_(false),
         link_lazily_(link_lazily),
-        token_pos_(position) { }
+        token_pos_(position) {}
 
   DECLARE_INSTRUCTION(NativeCall)
 
@@ -3615,11 +3462,8 @@
 
 class DebugStepCheckInstr : public TemplateInstruction<0, NoThrow> {
  public:
-  DebugStepCheckInstr(TokenPosition token_pos,
-                      RawPcDescriptors::Kind stub_kind)
-      : token_pos_(token_pos),
-        stub_kind_(stub_kind) {
-  }
+  DebugStepCheckInstr(TokenPosition token_pos, RawPcDescriptors::Kind stub_kind)
+      : token_pos_(token_pos), stub_kind_(stub_kind) {}
 
   DECLARE_INSTRUCTION(DebugStepCheck)
 
@@ -3636,10 +3480,7 @@
 };
 
 
-enum StoreBarrierType {
-  kNoStoreBarrier,
-  kEmitStoreBarrier
-};
+enum StoreBarrierType { kNoStoreBarrier, kEmitStoreBarrier };
 
 
 class StoreInstanceFieldInstr : public TemplateDefinition<2, NoThrow> {
@@ -3677,10 +3518,7 @@
 
   void set_is_initialization(bool value) { is_initialization_ = value; }
 
-  enum {
-    kInstancePos = 0,
-    kValuePos = 1
-  };
+  enum { kInstancePos = 0, kValuePos = 1 };
 
   Value* instance() const { return inputs_[kInstancePos]; }
   Value* value() const { return inputs_[kValuePos]; }
@@ -3692,16 +3530,14 @@
   intptr_t offset_in_bytes() const { return offset_in_bytes_; }
 
   bool ShouldEmitStoreBarrier() const {
-    return value()->NeedsStoreBuffer()
-        && (emit_store_barrier_ == kEmitStoreBarrier);
+    return value()->NeedsStoreBuffer() &&
+           (emit_store_barrier_ == kEmitStoreBarrier);
   }
 
   virtual bool CanDeoptimize() const { return false; }
 
   // May require a deoptimization target for input conversions.
-  virtual intptr_t DeoptimizationTarget() const {
-    return GetDeoptId();
-  }
+  virtual intptr_t DeoptimizationTarget() const { return GetDeoptId(); }
 
   // Currently CSE/LICM don't operate on any instructions that can be affected
   // by stores/loads. LoadOptimizer handles loads separately. Hence stores
@@ -3739,11 +3575,8 @@
 
 class GuardFieldInstr : public TemplateInstruction<1, NoThrow, Pure> {
  public:
-  GuardFieldInstr(Value* value,
-                  const Field& field,
-                  intptr_t deopt_id)
-    : TemplateInstruction(deopt_id),
-      field_(field) {
+  GuardFieldInstr(Value* value, const Field& field, intptr_t deopt_id)
+      : TemplateInstruction(deopt_id), field_(field) {
     SetInputAt(0, value);
     CheckField(field);
   }
@@ -3769,9 +3602,7 @@
 
 class GuardFieldClassInstr : public GuardFieldInstr {
  public:
-  GuardFieldClassInstr(Value* value,
-                       const Field& field,
-                       intptr_t deopt_id)
+  GuardFieldClassInstr(Value* value, const Field& field, intptr_t deopt_id)
       : GuardFieldInstr(value, field, deopt_id) {
     CheckField(field);
   }
@@ -3789,9 +3620,7 @@
 
 class GuardFieldLengthInstr : public GuardFieldInstr {
  public:
-  GuardFieldLengthInstr(Value* value,
-                       const Field& field,
-                       intptr_t deopt_id)
+  GuardFieldLengthInstr(Value* value, const Field& field, intptr_t deopt_id)
       : GuardFieldInstr(value, field, deopt_id) {
     CheckField(field);
   }
@@ -3845,16 +3674,13 @@
   StoreStaticFieldInstr(const Field& field,
                         Value* value,
                         TokenPosition token_pos)
-      : field_(field),
-        token_pos_(token_pos) {
+      : field_(field), token_pos_(token_pos) {
     ASSERT(field.IsZoneHandle());
     SetInputAt(kValuePos, value);
     CheckField(field);
   }
 
-  enum {
-    kValuePos = 0
-  };
+  enum { kValuePos = 0 };
 
   DECLARE_INSTRUCTION(StoreStaticField)
 
@@ -4026,9 +3852,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual bool AttributesEqual(Instruction* other) const {
-    return true;
-  }
+  virtual bool AttributesEqual(Instruction* other) const { return true; }
 
  private:
   DISALLOW_COPY_AND_ASSIGN(OneByteStringFromCharCodeInstr);
@@ -4104,11 +3928,7 @@
                     TokenPosition token_pos);
   DECLARE_INSTRUCTION(StoreIndexed)
 
-  enum {
-    kArrayPos = 0,
-    kIndexPos = 1,
-    kValuePos = 2
-  };
+  enum { kArrayPos = 0, kIndexPos = 1, kValuePos = 2 };
 
   Value* array() const { return inputs_[kArrayPos]; }
   Value* index() const { return inputs_[kIndexPos]; }
@@ -4119,8 +3939,8 @@
   bool aligned() const { return alignment_ == kAlignedAccess; }
 
   bool ShouldEmitStoreBarrier() const {
-    return value()->NeedsStoreBuffer()
-        && (emit_store_barrier_ == kEmitStoreBarrier);
+    return value()->NeedsStoreBuffer() &&
+           (emit_store_barrier_ == kEmitStoreBarrier);
   }
 
   virtual bool CanDeoptimize() const { return false; }
@@ -4153,9 +3973,7 @@
 // Note overrideable, built-in: value ? false : true.
 class BooleanNegateInstr : public TemplateDefinition<1, NoThrow> {
  public:
-  explicit BooleanNegateInstr(Value* value) {
-    SetInputAt(0, value);
-  }
+  explicit BooleanNegateInstr(Value* value) { SetInputAt(0, value); }
 
   DECLARE_INSTRUCTION(BooleanNegate)
   virtual CompileType ComputeType() const;
@@ -4344,29 +4162,20 @@
   Definition* allocation() const { return allocation_; }
   const Class& cls() const { return cls_; }
 
-  intptr_t num_variables() const {
-    return num_variables_;
-  }
+  intptr_t num_variables() const { return num_variables_; }
 
   intptr_t FieldOffsetAt(intptr_t i) const {
-    return slots_[i]->IsField()
-        ? Field::Cast(*slots_[i]).Offset()
-        : Smi::Cast(*slots_[i]).Value();
+    return slots_[i]->IsField() ? Field::Cast(*slots_[i]).Offset()
+                                : Smi::Cast(*slots_[i]).Value();
   }
 
-  const Location& LocationAt(intptr_t i) {
-    return locations_[i];
-  }
+  const Location& LocationAt(intptr_t i) { return locations_[i]; }
 
   DECLARE_INSTRUCTION(MaterializeObject)
 
-  virtual intptr_t InputCount() const {
-    return values_->length();
-  }
+  virtual intptr_t InputCount() const { return values_->length(); }
 
-  virtual Value* InputAt(intptr_t i) const {
-    return (*values_)[i];
-  }
+  virtual Value* InputAt(intptr_t i) const { return (*values_)[i]; }
 
   // SelectRepresentations pass is run once more while MaterializeObject
   // instructions are still in the graph. To avoid any redundant boxing
@@ -4386,13 +4195,10 @@
 
   virtual bool MayThrow() const { return false; }
 
-  void RemapRegisters(intptr_t* cpu_reg_slots,
-                      intptr_t* fpu_reg_slots);
+  void RemapRegisters(intptr_t* cpu_reg_slots, intptr_t* fpu_reg_slots);
 
   bool was_visited_for_liveness() const { return visited_for_liveness_; }
-  void mark_visited_for_liveness() {
-    visited_for_liveness_ = true;
-  }
+  void mark_visited_for_liveness() { visited_for_liveness_ = true; }
 
   PRINT_OPERANDS_TO_SUPPORT
 
@@ -4422,15 +4228,12 @@
                    Value* num_elements)
       : TemplateDefinition(Thread::Current()->GetNextDeoptId()),
         token_pos_(token_pos),
-        identity_(AliasIdentity::Unknown())  {
+        identity_(AliasIdentity::Unknown()) {
     SetInputAt(kElementTypePos, element_type);
     SetInputAt(kLengthPos, num_elements);
   }
 
-  enum {
-    kElementTypePos = 0,
-    kLengthPos = 1
-  };
+  enum { kElementTypePos = 0, kLengthPos = 1 };
 
   DECLARE_INSTRUCTION(CreateArray)
   virtual CompileType ComputeType() const;
@@ -4467,9 +4270,7 @@
     SetInputAt(0, object);
   }
 
-  virtual Representation representation() const {
-    return kUntagged;
-  }
+  virtual Representation representation() const { return kUntagged; }
   DECLARE_INSTRUCTION(LoadUntagged)
   virtual CompileType ComputeType() const;
 
@@ -4496,13 +4297,9 @@
 
 class LoadClassIdInstr : public TemplateDefinition<1, NoThrow> {
  public:
-  explicit LoadClassIdInstr(Value* object) {
-    SetInputAt(0, object);
-  }
+  explicit LoadClassIdInstr(Value* object) { SetInputAt(0, object); }
 
-  virtual Representation representation() const {
-    return kTagged;
-  }
+  virtual Representation representation() const { return kTagged; }
   DECLARE_INSTRUCTION(LoadClassId)
   virtual CompileType ComputeType() const;
 
@@ -4579,9 +4376,7 @@
     recognized_kind_ = kind;
   }
 
-  MethodRecognizer::Kind recognized_kind() const {
-    return recognized_kind_;
-  }
+  MethodRecognizer::Kind recognized_kind() const { return recognized_kind_; }
 
   DECLARE_INSTRUCTION(LoadField)
   virtual CompileType ComputeType() const;
@@ -4636,8 +4431,7 @@
   DECLARE_INSTRUCTION(InstantiateType)
 
   Value* instantiator() const { return inputs_[0]; }
-  const AbstractType& type() const { return type_;
-  }
+  const AbstractType& type() const { return type_; }
   const Class& instantiator_class() const { return instantiator_class_; }
   virtual TokenPosition token_pos() const { return token_pos_; }
 
@@ -4673,9 +4467,7 @@
   DECLARE_INSTRUCTION(InstantiateTypeArguments)
 
   Value* instantiator() const { return inputs_[0]; }
-  const TypeArguments& type_arguments() const {
-    return type_arguments_;
-  }
+  const TypeArguments& type_arguments() const { return type_arguments_; }
   const Class& instantiator_class() const { return instantiator_class_; }
   virtual TokenPosition token_pos() const { return token_pos_; }
 
@@ -4698,10 +4490,8 @@
 
 class AllocateContextInstr : public TemplateDefinition<0, NoThrow> {
  public:
-  AllocateContextInstr(TokenPosition token_pos,
-                       intptr_t num_context_variables)
-      : token_pos_(token_pos),
-        num_context_variables_(num_context_variables) { }
+  AllocateContextInstr(TokenPosition token_pos, intptr_t num_context_variables)
+      : token_pos_(token_pos), num_context_variables_(num_context_variables) {}
 
   DECLARE_INSTRUCTION(AllocateContext)
   virtual CompileType ComputeType() const;
@@ -4732,9 +4522,7 @@
     CheckField(field);
   }
 
-  virtual TokenPosition token_pos() const {
-    return field_.token_pos();
-  }
+  virtual TokenPosition token_pos() const { return field_.token_pos(); }
   const Field& field() const { return field_; }
 
   DECLARE_INSTRUCTION(InitStaticField)
@@ -4874,9 +4662,7 @@
   virtual CompileType ComputeType() const;
 
   virtual bool CanDeoptimize() const { return false; }
-  virtual intptr_t DeoptimizationTarget() const {
-    return Thread::kNoDeoptId;
-  }
+  virtual intptr_t DeoptimizationTarget() const { return Thread::kNoDeoptId; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -4889,9 +4675,7 @@
 
   Definition* Canonicalize(FlowGraph* flow_graph);
 
-  virtual TokenPosition token_pos() const {
-    return TokenPosition::kBox;
-  }
+  virtual TokenPosition token_pos() const { return TokenPosition::kBox; }
 
  protected:
   BoxInstr(Representation from_representation, Value* value)
@@ -4913,7 +4697,7 @@
 class BoxIntegerInstr : public BoxInstr {
  public:
   BoxIntegerInstr(Representation representation, Value* value)
-      : BoxInstr(representation, value) { }
+      : BoxInstr(representation, value) {}
 
   virtual bool ValueFitsSmi() const;
 
@@ -4934,7 +4718,7 @@
 class BoxInteger32Instr : public BoxIntegerInstr {
  public:
   BoxInteger32Instr(Representation representation, Value* value)
-      : BoxIntegerInstr(representation, value) { }
+      : BoxIntegerInstr(representation, value) {}
 
   DECLARE_INSTRUCTION_BACKEND()
 
@@ -4946,7 +4730,7 @@
 class BoxInt32Instr : public BoxInteger32Instr {
  public:
   explicit BoxInt32Instr(Value* value)
-      : BoxInteger32Instr(kUnboxedInt32, value) { }
+      : BoxInteger32Instr(kUnboxedInt32, value) {}
 
   DECLARE_INSTRUCTION_NO_BACKEND(BoxInt32)
 
@@ -4958,7 +4742,7 @@
 class BoxUint32Instr : public BoxInteger32Instr {
  public:
   explicit BoxUint32Instr(Value* value)
-      : BoxInteger32Instr(kUnboxedUint32, value) { }
+      : BoxInteger32Instr(kUnboxedUint32, value) {}
 
   DECLARE_INSTRUCTION_NO_BACKEND(BoxUint32)
 
@@ -4969,8 +4753,7 @@
 
 class BoxInt64Instr : public BoxIntegerInstr {
  public:
-  explicit BoxInt64Instr(Value* value)
-      : BoxIntegerInstr(kUnboxedMint, value) { }
+  explicit BoxInt64Instr(Value* value) : BoxIntegerInstr(kUnboxedMint, value) {}
 
   virtual Definition* Canonicalize(FlowGraph* flow_graph);
 
@@ -4990,17 +4773,14 @@
   virtual bool CanDeoptimize() const {
     const intptr_t value_cid = value()->Type()->ToCid();
 
-    if (CanConvertSmi() &&
-        (value()->Type()->ToCid() == kSmiCid)) {
+    if (CanConvertSmi() && (value()->Type()->ToCid() == kSmiCid)) {
       return false;
     }
 
     return (value_cid != BoxCid());
   }
 
-  virtual Representation representation() const {
-    return representation_;
-  }
+  virtual Representation representation() const { return representation_; }
 
   DECLARE_INSTRUCTION(Unbox)
   virtual CompileType ComputeType() const;
@@ -5011,20 +4791,13 @@
 
   Definition* Canonicalize(FlowGraph* flow_graph);
 
-  virtual intptr_t DeoptimizationTarget() const {
-    return GetDeoptId();
-  }
+  virtual intptr_t DeoptimizationTarget() const { return GetDeoptId(); }
 
-  virtual TokenPosition token_pos() const {
-    return TokenPosition::kBox;
-  }
+  virtual TokenPosition token_pos() const { return TokenPosition::kBox; }
 
  protected:
-  UnboxInstr(Representation representation,
-             Value* value,
-             intptr_t deopt_id)
-      : TemplateDefinition(deopt_id),
-        representation_(representation) {
+  UnboxInstr(Representation representation, Value* value, intptr_t deopt_id)
+      : TemplateDefinition(deopt_id), representation_(representation) {
     SetInputAt(0, value);
   }
 
@@ -5033,13 +4806,9 @@
   void EmitLoadFromBox(FlowGraphCompiler* compiler);
   void EmitSmiConversion(FlowGraphCompiler* compiler);
 
-  intptr_t BoxCid() const {
-    return Boxing::BoxCid(representation_);
-  }
+  intptr_t BoxCid() const { return Boxing::BoxCid(representation_); }
 
-  intptr_t ValueOffset() const {
-    return Boxing::ValueOffset(representation_);
-  }
+  intptr_t ValueOffset() const { return Boxing::ValueOffset(representation_); }
 
   const Representation representation_;
 
@@ -5056,8 +4825,7 @@
                     Value* value,
                     intptr_t deopt_id)
       : UnboxInstr(representation, value, deopt_id),
-        is_truncating_(truncation_mode == kTruncate) {
-  }
+        is_truncating_(truncation_mode == kTruncate) {}
 
   bool is_truncating() const { return is_truncating_; }
 
@@ -5066,7 +4834,7 @@
   virtual bool AttributesEqual(Instruction* other) const {
     UnboxIntegerInstr* other_unbox = other->AsUnboxInteger();
     return UnboxInstr::AttributesEqual(other) &&
-        (other_unbox->is_truncating_ == is_truncating_);
+           (other_unbox->is_truncating_ == is_truncating_);
   }
 
   virtual Definition* Canonicalize(FlowGraph* flow_graph);
@@ -5088,7 +4856,7 @@
                       TruncationMode truncation_mode,
                       Value* value,
                       intptr_t deopt_id)
-      : UnboxIntegerInstr(representation, truncation_mode, value, deopt_id) { }
+      : UnboxIntegerInstr(representation, truncation_mode, value, deopt_id) {}
 
   DECLARE_INSTRUCTION_BACKEND()
 
@@ -5120,8 +4888,7 @@
   UnboxInt32Instr(TruncationMode truncation_mode,
                   Value* value,
                   intptr_t deopt_id)
-      : UnboxInteger32Instr(kUnboxedInt32, truncation_mode, value, deopt_id) {
-  }
+      : UnboxInteger32Instr(kUnboxedInt32, truncation_mode, value, deopt_id) {}
 
   virtual bool CanDeoptimize() const;
 
@@ -5139,8 +4906,7 @@
 class UnboxInt64Instr : public UnboxIntegerInstr {
  public:
   UnboxInt64Instr(Value* value, intptr_t deopt_id)
-      : UnboxIntegerInstr(kUnboxedMint, kNoTruncation, value, deopt_id) {
-  }
+      : UnboxIntegerInstr(kUnboxedMint, kNoTruncation, value, deopt_id) {}
 
   virtual void InferRange(RangeAnalysis* analysis, Range* range);
 
@@ -5152,12 +4918,8 @@
 
 
 bool Definition::IsMintDefinition() {
-  return (Type()->ToCid() == kMintCid) ||
-          IsBinaryMintOp() ||
-          IsUnaryMintOp() ||
-          IsShiftMintOp() ||
-          IsBoxInt64() ||
-          IsUnboxInt64();
+  return (Type()->ToCid() == kMintCid) || IsBinaryMintOp() || IsUnaryMintOp() ||
+         IsShiftMintOp() || IsBoxInt64() || IsUnboxInt64();
 }
 
 
@@ -5178,9 +4940,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedDouble;
-  }
+  virtual Representation representation() const { return kUnboxedDouble; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -5222,13 +4982,12 @@
 class CaseInsensitiveCompareUC16Instr
     : public TemplateDefinition<4, NoThrow, Pure> {
  public:
-  CaseInsensitiveCompareUC16Instr(
-      Value* str,
-      Value* lhs_index,
-      Value* rhs_index,
-      Value* length,
-      intptr_t cid)
-    : cid_(cid) {
+  CaseInsensitiveCompareUC16Instr(Value* str,
+                                  Value* lhs_index,
+                                  Value* rhs_index,
+                                  Value* length,
+                                  intptr_t cid)
+      : cid_(cid) {
     ASSERT(cid == kTwoByteStringCid || cid == kExternalTwoByteStringCid);
     ASSERT(index_scale() == 2);
     SetInputAt(0, str);
@@ -5249,9 +5008,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kTagged;
-  }
+  virtual Representation representation() const { return kTagged; }
 
   DECLARE_INSTRUCTION(CaseInsensitiveCompareUC16)
   virtual CompileType ComputeType() const;
@@ -5333,9 +5090,7 @@
                       Value* right,
                       intptr_t deopt_id,
                       TokenPosition token_pos)
-      : TemplateDefinition(deopt_id),
-        op_kind_(op_kind),
-        token_pos_(token_pos) {
+      : TemplateDefinition(deopt_id), op_kind_(op_kind), token_pos_(token_pos) {
     SetInputAt(0, left);
     SetInputAt(1, right);
   }
@@ -5349,9 +5104,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedDouble;
-  }
+  virtual Representation representation() const { return kUnboxedDouble; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx == 0) || (idx == 1));
@@ -5389,8 +5142,7 @@
                     Value* value,
                     intptr_t deopt_id,
                     TokenPosition token_pos)
-      : TemplateComparison(token_pos, Token::kEQ, deopt_id),
-        op_kind_(op_kind) {
+      : TemplateComparison(token_pos, Token::kEQ, deopt_id), op_kind_(op_kind) {
     SetInputAt(0, value);
   }
 
@@ -5413,14 +5165,13 @@
   virtual Definition* Canonicalize(FlowGraph* flow_graph);
 
   virtual bool AttributesEqual(Instruction* other) const {
-    return op_kind_ == other->AsDoubleTestOp()->op_kind()
-        && ComparisonInstr::AttributesEqual(other);
+    return op_kind_ == other->AsDoubleTestOp()->op_kind() &&
+           ComparisonInstr::AttributesEqual(other);
   }
 
   virtual ComparisonInstr* CopyWithNewOperands(Value* left, Value* right);
 
-  virtual void EmitBranchCode(FlowGraphCompiler* compiler,
-                              BranchInstr* branch);
+  virtual void EmitBranchCode(FlowGraphCompiler* compiler, BranchInstr* branch);
 
   virtual Condition EmitComparisonCode(FlowGraphCompiler* compiler,
                                        BranchLabels labels);
@@ -5450,9 +5201,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat32x4;
-  }
+  virtual Representation representation() const { return kUnboxedFloat32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx == 0) || (idx == 1));
@@ -5483,7 +5232,8 @@
 
 class Simd32x4ShuffleInstr : public TemplateDefinition<1, NoThrow, Pure> {
  public:
-  Simd32x4ShuffleInstr(MethodRecognizer::Kind op_kind, Value* value,
+  Simd32x4ShuffleInstr(MethodRecognizer::Kind op_kind,
+                       Value* value,
                        intptr_t mask,
                        intptr_t deopt_id)
       : TemplateDefinition(deopt_id), op_kind_(op_kind), mask_(mask) {
@@ -5551,8 +5301,11 @@
 
 class Simd32x4ShuffleMixInstr : public TemplateDefinition<2, NoThrow, Pure> {
  public:
-  Simd32x4ShuffleMixInstr(MethodRecognizer::Kind op_kind, Value* xy,
-                           Value* zw, intptr_t mask, intptr_t deopt_id)
+  Simd32x4ShuffleMixInstr(MethodRecognizer::Kind op_kind,
+                          Value* xy,
+                          Value* zw,
+                          intptr_t mask,
+                          intptr_t deopt_id)
       : TemplateDefinition(deopt_id), op_kind_(op_kind), mask_(mask) {
     SetInputAt(0, xy);
     SetInputAt(1, zw);
@@ -5629,9 +5382,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat32x4;
-  }
+  virtual Representation representation() const { return kUnboxedFloat32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx >= 0 && idx < 4);
@@ -5667,9 +5418,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat32x4;
-  }
+  virtual Representation representation() const { return kUnboxedFloat32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -5697,13 +5446,11 @@
 // TODO(vegorov) replace with UnboxedConstantInstr.
 class Float32x4ZeroInstr : public TemplateDefinition<0, NoThrow, Pure> {
  public:
-  Float32x4ZeroInstr() { }
+  Float32x4ZeroInstr() {}
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat32x4;
-  }
+  virtual Representation representation() const { return kUnboxedFloat32x4; }
 
   DECLARE_INSTRUCTION(Float32x4Zero)
   virtual CompileType ComputeType() const;
@@ -5733,9 +5480,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedInt32x4;
-  }
+  virtual Representation representation() const { return kUnboxedInt32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx == 0) || (idx == 1));
@@ -5782,9 +5527,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat32x4;
-  }
+  virtual Representation representation() const { return kUnboxedFloat32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx == 0) || (idx == 1));
@@ -5831,9 +5574,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat32x4;
-  }
+  virtual Representation representation() const { return kUnboxedFloat32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx == 0) || (idx == 1));
@@ -5880,9 +5621,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat32x4;
-  }
+  virtual Representation representation() const { return kUnboxedFloat32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -5917,8 +5656,7 @@
   Float32x4ZeroArgInstr(MethodRecognizer::Kind op_kind,
                         Value* left,
                         intptr_t deopt_id)
-      : TemplateDefinition(deopt_id),
-        op_kind_(op_kind) {
+      : TemplateDefinition(deopt_id), op_kind_(op_kind) {
     SetInputAt(0, left);
   }
 
@@ -5928,9 +5666,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat32x4;
-  }
+  virtual Representation representation() const { return kUnboxedFloat32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -5977,9 +5713,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat32x4;
-  }
+  virtual Representation representation() const { return kUnboxedFloat32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx == 0) || (idx == 1) || (idx == 2));
@@ -6010,8 +5744,7 @@
                      Value* left,
                      Value* replacement,
                      intptr_t deopt_id)
-      : TemplateDefinition(deopt_id),
-        op_kind_(op_kind) {
+      : TemplateDefinition(deopt_id), op_kind_(op_kind) {
     SetInputAt(0, replacement);
     SetInputAt(1, left);
   }
@@ -6023,9 +5756,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat32x4;
-  }
+  virtual Representation representation() const { return kUnboxedFloat32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx == 0) || (idx == 1));
@@ -6129,9 +5860,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedInt32x4;
-  }
+  virtual Representation representation() const { return kUnboxedInt32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -6167,9 +5896,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat64x2;
-  }
+  virtual Representation representation() const { return kUnboxedFloat64x2; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -6205,9 +5932,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat32x4;
-  }
+  virtual Representation representation() const { return kUnboxedFloat32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -6245,9 +5970,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat64x2;
-  }
+  virtual Representation representation() const { return kUnboxedFloat64x2; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx >= 0 && idx < 2);
@@ -6283,9 +6006,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat64x2;
-  }
+  virtual Representation representation() const { return kUnboxedFloat64x2; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -6312,13 +6033,11 @@
 
 class Float64x2ZeroInstr : public TemplateDefinition<0, NoThrow, Pure> {
  public:
-  Float64x2ZeroInstr() { }
+  Float64x2ZeroInstr() {}
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat64x2;
-  }
+  virtual Representation representation() const { return kUnboxedFloat64x2; }
 
   DECLARE_INSTRUCTION(Float64x2Zero)
   virtual CompileType ComputeType() const;
@@ -6399,9 +6118,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat64x2;
-  }
+  virtual Representation representation() const { return kUnboxedFloat64x2; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     if (idx == 0) {
@@ -6459,9 +6176,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedInt32x4;
-  }
+  virtual Representation representation() const { return kUnboxedInt32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx >= 0) && (idx < 4));
@@ -6508,9 +6223,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedInt32x4;
-  }
+  virtual Representation representation() const { return kUnboxedInt32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx >= 0) && (idx < 4));
@@ -6550,9 +6263,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-      return kTagged;
-  }
+  virtual Representation representation() const { return kTagged; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -6596,9 +6307,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kTagged;
-  }
+  virtual Representation representation() const { return kTagged; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -6649,9 +6358,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-      return kUnboxedFloat32x4;
-  }
+  virtual Representation representation() const { return kUnboxedFloat32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx == 0) || (idx == 1) || (idx == 2));
@@ -6697,9 +6404,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-      return kUnboxedInt32x4;
-  }
+  virtual Representation representation() const { return kUnboxedInt32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx == 0) || (idx == 1));
@@ -6742,9 +6447,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat32x4;
-  }
+  virtual Representation representation() const { return kUnboxedFloat32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -6772,9 +6475,9 @@
 class BinaryInt32x4OpInstr : public TemplateDefinition<2, NoThrow, Pure> {
  public:
   BinaryInt32x4OpInstr(Token::Kind op_kind,
-                        Value* left,
-                        Value* right,
-                        intptr_t deopt_id)
+                       Value* left,
+                       Value* right,
+                       intptr_t deopt_id)
       : TemplateDefinition(deopt_id), op_kind_(op_kind) {
     SetInputAt(0, left);
     SetInputAt(1, right);
@@ -6787,9 +6490,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedInt32x4;
-  }
+  virtual Representation representation() const { return kUnboxedInt32x4; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx == 0) || (idx == 1));
@@ -6836,9 +6537,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedFloat64x2;
-  }
+  virtual Representation representation() const { return kUnboxedFloat64x2; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx == 0) || (idx == 1));
@@ -6869,12 +6568,9 @@
 
 class UnaryIntegerOpInstr : public TemplateDefinition<1, NoThrow, Pure> {
  public:
-  UnaryIntegerOpInstr(Token::Kind op_kind,
-                      Value* value,
-                      intptr_t deopt_id)
+  UnaryIntegerOpInstr(Token::Kind op_kind, Value* value, intptr_t deopt_id)
       : TemplateDefinition(deopt_id), op_kind_(op_kind) {
-    ASSERT((op_kind == Token::kNEGATE) ||
-           (op_kind == Token::kBIT_NOT));
+    ASSERT((op_kind == Token::kNEGATE) || (op_kind == Token::kBIT_NOT));
     SetInputAt(0, value);
   }
 
@@ -6911,9 +6607,7 @@
 // Handles both Smi operations: BIT_OR and NEGATE.
 class UnarySmiOpInstr : public UnaryIntegerOpInstr {
  public:
-  UnarySmiOpInstr(Token::Kind op_kind,
-                  Value* value,
-                  intptr_t deopt_id)
+  UnarySmiOpInstr(Token::Kind op_kind, Value* value, intptr_t deopt_id)
       : UnaryIntegerOpInstr(op_kind, value, deopt_id) {}
 
   virtual bool CanDeoptimize() const { return op_kind() == Token::kNEGATE; }
@@ -6929,9 +6623,7 @@
 
 class UnaryUint32OpInstr : public UnaryIntegerOpInstr {
  public:
-  UnaryUint32OpInstr(Token::Kind op_kind,
-                     Value* value,
-                     intptr_t deopt_id)
+  UnaryUint32OpInstr(Token::Kind op_kind, Value* value, intptr_t deopt_id)
       : UnaryIntegerOpInstr(op_kind, value, deopt_id) {
     ASSERT(op_kind == Token::kBIT_NOT);
   }
@@ -6940,9 +6632,7 @@
 
   virtual CompileType ComputeType() const;
 
-  virtual Representation representation() const {
-    return kUnboxedUint32;
-  }
+  virtual Representation representation() const { return kUnboxedUint32; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -6963,15 +6653,11 @@
     ASSERT(op_kind == Token::kBIT_NOT);
   }
 
-  virtual bool CanDeoptimize() const {
-    return false;
-  }
+  virtual bool CanDeoptimize() const { return false; }
 
   virtual CompileType ComputeType() const;
 
-  virtual Representation representation() const {
-    return kUnboxedMint;
-  }
+  virtual Representation representation() const { return kUnboxedMint; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -6991,9 +6677,7 @@
                     Value* left,
                     Value* right,
                     InstanceCallInstr* call)
-      : TemplateDefinition(call->deopt_id()),
-        call_(call),
-        op_kind_(op_kind) {
+      : TemplateDefinition(call->deopt_id()), call_(call), op_kind_(op_kind) {
     SetInputAt(0, left);
     SetInputAt(1, right);
   }
@@ -7052,8 +6736,7 @@
 
   DECLARE_INSTRUCTION(CheckedSmiComparison)
 
-  virtual void EmitBranchCode(FlowGraphCompiler* compiler,
-                              BranchInstr* branch);
+  virtual void EmitBranchCode(FlowGraphCompiler* compiler, BranchInstr* branch);
 
   virtual Condition EmitComparisonCode(FlowGraphCompiler* compiler,
                                        BranchLabels labels);
@@ -7164,8 +6847,7 @@
                    Value* left,
                    Value* right,
                    intptr_t deopt_id)
-      : BinaryIntegerOpInstr(op_kind, left, right, deopt_id) {
-  }
+      : BinaryIntegerOpInstr(op_kind, left, right, deopt_id) {}
 
   virtual bool CanDeoptimize() const;
 
@@ -7215,9 +6897,7 @@
 
   virtual bool CanDeoptimize() const;
 
-  virtual Representation representation() const {
-    return kUnboxedInt32;
-  }
+  virtual Representation representation() const { return kUnboxedInt32; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx == 0) || (idx == 1));
@@ -7244,13 +6924,9 @@
     mark_truncating();
   }
 
-  virtual bool CanDeoptimize() const {
-    return false;
-  }
+  virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedUint32;
-  }
+  virtual Representation representation() const { return kUnboxedUint32; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx == 0) || (idx == 1));
@@ -7278,9 +6954,7 @@
 
   virtual bool CanDeoptimize() const { return true; }
 
-  virtual Representation representation() const {
-    return kUnboxedUint32;
-  }
+  virtual Representation representation() const { return kUnboxedUint32; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx == 0) || (idx == 1));
@@ -7302,18 +6976,15 @@
                     Value* left,
                     Value* right,
                     intptr_t deopt_id)
-      : BinaryIntegerOpInstr(op_kind, left, right, deopt_id) {
-  }
+      : BinaryIntegerOpInstr(op_kind, left, right, deopt_id) {}
 
   virtual bool CanDeoptimize() const {
-    return (can_overflow() && ((op_kind() == Token::kADD) ||
-                               (op_kind() == Token::kSUB)))
-        || (op_kind() == Token::kMUL);  // Deopt if inputs are not int32.
+    return (can_overflow() &&
+            ((op_kind() == Token::kADD) || (op_kind() == Token::kSUB))) ||
+           (op_kind() == Token::kMUL);  // Deopt if inputs are not int32.
   }
 
-  virtual Representation representation() const {
-    return kUnboxedMint;
-  }
+  virtual Representation representation() const { return kUnboxedMint; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx == 0) || (idx == 1));
@@ -7341,13 +7012,11 @@
   }
 
   virtual bool CanDeoptimize() const {
-    return  has_shift_count_check()
-        || (can_overflow() && (op_kind() == Token::kSHL));
+    return has_shift_count_check() ||
+           (can_overflow() && (op_kind() == Token::kSHL));
   }
 
-  virtual Representation representation() const {
-    return kUnboxedMint;
-  }
+  virtual Representation representation() const { return kUnboxedMint; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((idx == 0) || (idx == 1));
@@ -7369,9 +7038,7 @@
 // Handles only NEGATE.
 class UnaryDoubleOpInstr : public TemplateDefinition<1, NoThrow, Pure> {
  public:
-  UnaryDoubleOpInstr(Token::Kind op_kind,
-                     Value* value,
-                     intptr_t deopt_id)
+  UnaryDoubleOpInstr(Token::Kind op_kind, Value* value, intptr_t deopt_id)
       : TemplateDefinition(deopt_id), op_kind_(op_kind) {
     ASSERT(op_kind == Token::kNEGATE);
     SetInputAt(0, value);
@@ -7391,9 +7058,7 @@
     return GetDeoptId();
   }
 
-  virtual Representation representation() const {
-    return kUnboxedDouble;
-  }
+  virtual Representation representation() const { return kUnboxedDouble; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -7416,8 +7081,7 @@
   CheckStackOverflowInstr(TokenPosition token_pos, intptr_t loop_depth)
       : TemplateInstruction(Thread::Current()->GetNextDeoptId()),
         token_pos_(token_pos),
-        loop_depth_(loop_depth) {
-  }
+        loop_depth_(loop_depth) {}
 
   virtual TokenPosition token_pos() const { return token_pos_; }
   bool in_loop() const { return loop_depth_ > 0; }
@@ -7453,9 +7117,7 @@
   DECLARE_INSTRUCTION(SmiToDouble)
   virtual CompileType ComputeType() const;
 
-  virtual Representation representation() const {
-    return kUnboxedDouble;
-  }
+  virtual Representation representation() const { return kUnboxedDouble; }
 
   virtual bool CanDeoptimize() const { return false; }
 
@@ -7470,9 +7132,7 @@
 
 class Int32ToDoubleInstr : public TemplateDefinition<1, NoThrow, Pure> {
  public:
-  explicit Int32ToDoubleInstr(Value* value) {
-    SetInputAt(0, value);
-  }
+  explicit Int32ToDoubleInstr(Value* value) { SetInputAt(0, value); }
 
   Value* value() const { return inputs_[0]; }
 
@@ -7484,9 +7144,7 @@
     return kUnboxedInt32;
   }
 
-  virtual Representation representation() const {
-    return kUnboxedDouble;
-  }
+  virtual Representation representation() const { return kUnboxedDouble; }
 
   virtual bool CanDeoptimize() const { return false; }
 
@@ -7514,9 +7172,7 @@
     return kUnboxedMint;
   }
 
-  virtual Representation representation() const {
-    return kUnboxedDouble;
-  }
+  virtual Representation representation() const { return kUnboxedDouble; }
 
   virtual intptr_t DeoptimizationTarget() const {
     // Direct access since this instruction cannot deoptimize, and the deopt-id
@@ -7594,8 +7250,7 @@
   DoubleToDoubleInstr(Value* value,
                       MethodRecognizer::Kind recognized_kind,
                       intptr_t deopt_id)
-    : TemplateDefinition(deopt_id),
-      recognized_kind_(recognized_kind) {
+      : TemplateDefinition(deopt_id), recognized_kind_(recognized_kind) {
     SetInputAt(0, value);
   }
 
@@ -7608,9 +7263,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedDouble;
-  }
+  virtual Representation representation() const { return kUnboxedDouble; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -7630,7 +7283,7 @@
 };
 
 
-class DoubleToFloatInstr: public TemplateDefinition<1, NoThrow, Pure> {
+class DoubleToFloatInstr : public TemplateDefinition<1, NoThrow, Pure> {
  public:
   DoubleToFloatInstr(Value* value, intptr_t deopt_id)
       : TemplateDefinition(deopt_id) {
@@ -7669,7 +7322,7 @@
 };
 
 
-class FloatToDoubleInstr: public TemplateDefinition<1, NoThrow, Pure> {
+class FloatToDoubleInstr : public TemplateDefinition<1, NoThrow, Pure> {
  public:
   FloatToDoubleInstr(Value* value, intptr_t deopt_id)
       : TemplateDefinition(deopt_id) {
@@ -7684,9 +7337,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedDouble;
-  }
+  virtual Representation representation() const { return kUnboxedDouble; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -7724,9 +7375,7 @@
 
   virtual bool CanDeoptimize() const { return false; }
 
-  virtual Representation representation() const {
-    return kUnboxedDouble;
-  }
+  virtual Representation representation() const { return kUnboxedDouble; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT((0 <= idx) && (idx < InputCount()));
@@ -7735,13 +7384,9 @@
 
   virtual intptr_t DeoptimizationTarget() const { return GetDeoptId(); }
 
-  virtual intptr_t InputCount() const {
-    return inputs_->length();
-  }
+  virtual intptr_t InputCount() const { return inputs_->length(); }
 
-  virtual Value* InputAt(intptr_t i) const {
-    return (*inputs_)[i];
-  }
+  virtual Value* InputAt(intptr_t i) const { return (*inputs_)[i]; }
 
   virtual bool AttributesEqual(Instruction* other) const {
     InvokeMathCFunctionInstr* other_invoke = other->AsInvokeMathCFunction();
@@ -7791,9 +7436,7 @@
 
   intptr_t index() const { return index_; }
 
-  virtual Representation representation() const {
-    return definition_rep_;
-  }
+  virtual Representation representation() const { return definition_rep_; }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -7848,9 +7491,7 @@
 
   virtual intptr_t InputCount() const { return inputs_->length(); }
 
-  virtual Value* InputAt(intptr_t i) const {
-    return (*inputs_)[i];
-  }
+  virtual Value* InputAt(intptr_t i) const { return (*inputs_)[i]; }
 
   static intptr_t OutputIndexOf(MethodRecognizer::Kind kind);
   static intptr_t OutputIndexOf(Token::Kind token);
@@ -7942,9 +7583,7 @@
 
   virtual Instruction* Canonicalize(FlowGraph* flow_graph);
 
-  bool IsNullCheck() const {
-    return  DeoptIfNull() || DeoptIfNotNull();
-  }
+  bool IsNullCheck() const { return DeoptIfNull() || DeoptIfNotNull(); }
 
   bool DeoptIfNull() const;
   bool DeoptIfNotNull() const;
@@ -8055,9 +7694,7 @@
 
   bool IsRedundant(const RangeBoundary& length);
 
-  void mark_generalized() {
-    generalized_ = true;
-  }
+  void mark_generalized() { generalized_ = true; }
 
   virtual Instruction* Canonicalize(FlowGraph* flow_graph);
 
@@ -8071,10 +7708,7 @@
   void set_licm_hoisted(bool value) { licm_hoisted_ = value; }
 
   // Give a name to the location/input indices.
-  enum {
-    kLengthPos = 0,
-    kIndexPos = 1
-  };
+  enum { kLengthPos = 0, kIndexPos = 1 };
 
  private:
   bool generalized_;
@@ -8103,10 +7737,7 @@
   virtual bool CanDeoptimize() const { return true; }
 
   // Give a name to the location/input indices.
-  enum {
-    kLengthPos = 0,
-    kIndexPos = 1
-  };
+  enum { kLengthPos = 0, kIndexPos = 1 };
 
  private:
   DISALLOW_COPY_AND_ASSIGN(GenericCheckBoundInstr);
@@ -8124,11 +7755,9 @@
         to_representation_(to),
         is_truncating_(to == kUnboxedUint32) {
     ASSERT(from != to);
-    ASSERT((from == kUnboxedMint) ||
-           (from == kUnboxedUint32) ||
+    ASSERT((from == kUnboxedMint) || (from == kUnboxedUint32) ||
            (from == kUnboxedInt32));
-    ASSERT((to == kUnboxedMint) ||
-           (to == kUnboxedUint32) ||
+    ASSERT((to == kUnboxedMint) || (to == kUnboxedUint32) ||
            (to == kUnboxedInt32));
     SetInputAt(0, value);
   }
@@ -8145,9 +7774,7 @@
 
   virtual bool CanDeoptimize() const;
 
-  virtual Representation representation() const {
-    return to();
-  }
+  virtual Representation representation() const { return to(); }
 
   virtual Representation RequiredInputRepresentation(intptr_t idx) const {
     ASSERT(idx == 0);
@@ -8159,9 +7786,8 @@
   virtual bool AttributesEqual(Instruction* other) const {
     ASSERT(other->IsUnboxedIntConverter());
     UnboxedIntConverterInstr* converter = other->AsUnboxedIntConverter();
-    return (converter->from() == from()) &&
-        (converter->to() == to()) &&
-        (converter->is_truncating() == is_truncating());
+    return (converter->from() == from()) && (converter->to() == to()) &&
+           (converter->is_truncating() == is_truncating());
   }
 
   virtual void InferRange(RangeAnalysis* analysis, Range* range);
@@ -8210,12 +7836,12 @@
   class ShallowIterator : public ValueObject {
    public:
     explicit ShallowIterator(Environment* environment)
-        : environment_(environment), index_(0) { }
+        : environment_(environment), index_(0) {}
 
     ShallowIterator(const ShallowIterator& other)
         : ValueObject(),
           environment_(other.environment_),
-          index_(other.index_) { }
+          index_(other.index_) {}
 
     ShallowIterator& operator=(const ShallowIterator& other) {
       environment_ = other.environment_;
@@ -8325,17 +7951,14 @@
 
   Environment* Outermost() {
     Environment* result = this;
-    while (result->outer() != NULL) result = result->outer();
+    while (result->outer() != NULL)
+      result = result->outer();
     return result;
   }
 
-  Value* ValueAt(intptr_t ix) const {
-    return values_[ix];
-  }
+  Value* ValueAt(intptr_t ix) const { return values_[ix]; }
 
-  intptr_t Length() const {
-    return values_.length();
-  }
+  intptr_t Length() const { return values_.length(); }
 
   Location LocationAt(intptr_t index) const {
     ASSERT((index >= 0) && (index < values_.length()));
@@ -8353,9 +7976,7 @@
     return env->ValueAt(index);
   }
 
-  intptr_t fixed_parameter_count() const {
-    return fixed_parameter_count_;
-  }
+  intptr_t fixed_parameter_count() const { return fixed_parameter_count_; }
 
   intptr_t CountArgsPushed() {
     intptr_t count = 0;
@@ -8369,9 +7990,7 @@
 
   const Function& function() const { return parsed_function_.function(); }
 
-  Environment* DeepCopy(Zone* zone) const {
-    return DeepCopy(zone, Length());
-  }
+  Environment* DeepCopy(Zone* zone) const { return DeepCopy(zone, Length()); }
 
   void DeepCopyTo(Zone* zone, Instruction* instr) const;
   void DeepCopyToOuter(Zone* zone, Instruction* instr) const;
@@ -8414,8 +8033,7 @@
         fixed_parameter_count_(fixed_parameter_count),
         deopt_id_(deopt_id),
         parsed_function_(parsed_function),
-        outer_(outer) {
-  }
+        outer_(outer) {}
 
 
   GrowableArray<Value*> values_;
@@ -8434,8 +8052,8 @@
 class FlowGraphVisitor : public ValueObject {
  public:
   explicit FlowGraphVisitor(const GrowableArray<BlockEntryInstr*>& block_order)
-      : current_iterator_(NULL), block_order_(block_order) { }
-  virtual ~FlowGraphVisitor() { }
+      : current_iterator_(NULL), block_order_(block_order) {}
+  virtual ~FlowGraphVisitor() {}
 
   ForwardInstructionIterator* current_iterator() const {
     return current_iterator_;
@@ -8445,10 +8063,10 @@
   // instructions in order from the block entry to exit.
   virtual void VisitBlocks();
 
-  // Visit functions for instruction classes, with an empty default
-  // implementation.
+// Visit functions for instruction classes, with an empty default
+// implementation.
 #define DECLARE_VISIT_INSTRUCTION(ShortName)                                   \
-  virtual void Visit##ShortName(ShortName##Instr* instr) { }
+  virtual void Visit##ShortName(ShortName##Instr* instr) {}
 
   FOR_EACH_INSTRUCTION(DECLARE_VISIT_INSTRUCTION)
 
@@ -8464,11 +8082,11 @@
 
 
 // Helper macros for platform ports.
-#define DEFINE_UNIMPLEMENTED_INSTRUCTION(Name)                                \
-  LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const {    \
-    UNIMPLEMENTED();                                                          \
-    return NULL;                                                              \
-  }                                                                           \
+#define DEFINE_UNIMPLEMENTED_INSTRUCTION(Name)                                 \
+  LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const {     \
+    UNIMPLEMENTED();                                                           \
+    return NULL;                                                               \
+  }                                                                            \
   void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); }
 
 
diff --git a/runtime/vm/intermediate_language_arm.cc b/runtime/vm/intermediate_language_arm.cc
index fd50a14..8d199c4 100644
--- a/runtime/vm/intermediate_language_arm.cc
+++ b/runtime/vm/intermediate_language_arm.cc
@@ -31,8 +31,8 @@
 // Generic summary for call instructions that have all arguments pushed
 // on the stack and return the result in a fixed register R0.
 LocationSummary* Instruction::MakeCallSummary(Zone* zone) {
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, 0, 0, LocationSummary::kCall);
+  LocationSummary* result =
+      new (zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
   result->set_out(0, Location::RegisterLocation(R0));
   return result;
 }
@@ -42,8 +42,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::AnyOrConstant(value()));
   return locs;
 }
@@ -68,12 +68,11 @@
 }
 
 
-LocationSummary* ReturnInstr::MakeLocationSummary(Zone* zone,
-                                                  bool opt) const {
+LocationSummary* ReturnInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RegisterLocation(R0));
   return locs;
 }
@@ -115,18 +114,30 @@
 
 static Condition NegateCondition(Condition condition) {
   switch (condition) {
-    case EQ: return NE;
-    case NE: return EQ;
-    case LT: return GE;
-    case LE: return GT;
-    case GT: return LE;
-    case GE: return LT;
-    case CC: return CS;
-    case LS: return HI;
-    case HI: return LS;
-    case CS: return CC;
-    case VC: return VS;
-    case VS: return VC;
+    case EQ:
+      return NE;
+    case NE:
+      return EQ;
+    case LT:
+      return GE;
+    case LE:
+      return GT;
+    case GT:
+      return LE;
+    case GE:
+      return LT;
+    case CC:
+      return CS;
+    case LS:
+      return HI;
+    case HI:
+      return LS;
+    case CS:
+      return CC;
+    case VC:
+      return VS;
+    case VS:
+      return VC;
     default:
       UNREACHABLE();
       return EQ;
@@ -159,7 +170,7 @@
   __ eor(result, result, Operand(result));
 
   // Emit comparison code. This must not overwrite the result register.
-  BranchLabels labels = { NULL, NULL, NULL };
+  BranchLabels labels = {NULL, NULL, NULL};
   Condition true_condition = comparison()->EmitComparisonCode(compiler, labels);
 
   const bool is_power_of_two_kind = IsPowerOfTwoKind(if_true_, if_false_);
@@ -191,8 +202,7 @@
     __ Lsl(result, result, Operand(shift + kSmiTagSize));
   } else {
     __ sub(result, result, Operand(1));
-    const int32_t val =
-        Smi::RawValue(true_value) - Smi::RawValue(false_value);
+    const int32_t val = Smi::RawValue(true_value) - Smi::RawValue(false_value);
     __ AndImmediate(result, result, val);
     if (false_value != 0) {
       __ AddImmediate(result, Smi::RawValue(false_value));
@@ -205,8 +215,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(R0));  // Function.
   summary->set_out(0, Location::RegisterLocation(R0));
   return summary;
@@ -216,9 +226,8 @@
 void ClosureCallInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   // Load arguments descriptor in R4.
   int argument_count = ArgumentCount();
-  const Array& arguments_descriptor =
-      Array::ZoneHandle(ArgumentsDescriptor::New(argument_count,
-                                                 argument_names()));
+  const Array& arguments_descriptor = Array::ZoneHandle(
+      ArgumentsDescriptor::New(argument_count, argument_names()));
   __ LoadObject(R4, arguments_descriptor);
 
   // R4: Arguments descriptor.
@@ -241,8 +250,7 @@
   // Add deoptimization continuation point after the call and before the
   // arguments are removed.
   // In optimized code this descriptor is needed for exception handling.
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                 deopt_id_after,
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after,
                                  token_pos());
   __ Drop(argument_count);
 }
@@ -250,9 +258,7 @@
 
 LocationSummary* LoadLocalInstr::MakeLocationSummary(Zone* zone,
                                                      bool opt) const {
-  return LocationSummary::Make(zone,
-                               0,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, 0, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -265,9 +271,7 @@
 
 LocationSummary* StoreLocalInstr::MakeLocationSummary(Zone* zone,
                                                       bool opt) const {
-  return LocationSummary::Make(zone,
-                               1,
-                               Location::SameAsFirstInput(),
+  return LocationSummary::Make(zone, 1, Location::SameAsFirstInput(),
                                LocationSummary::kNoCall);
 }
 
@@ -282,9 +286,7 @@
 
 LocationSummary* ConstantInstr::MakeLocationSummary(Zone* zone,
                                                     bool opt) const {
-  return LocationSummary::Make(zone,
-                               0,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, 0, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -302,8 +304,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = (representation_ == kUnboxedInt32) ? 0 : 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   if (representation_ == kUnboxedInt32) {
     locs->set_out(0, Location::RequiresRegister());
   } else {
@@ -347,8 +349,8 @@
                                                             bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(R0));  // Value.
   summary->set_in(1, Location::RegisterLocation(R1));  // Type arguments.
   summary->set_out(0, Location::RegisterLocation(R0));
@@ -360,8 +362,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(R0));
   locs->set_out(0, Location::RegisterLocation(R0));
   return locs;
@@ -390,11 +392,8 @@
   }
 
   __ Push(reg);  // Push the source object.
-  compiler->GenerateRuntimeCall(token_pos,
-                                deopt_id,
-                                kNonBoolTypeErrorRuntimeEntry,
-                                1,
-                                locs);
+  compiler->GenerateRuntimeCall(token_pos, deopt_id,
+                                kNonBoolTypeErrorRuntimeEntry, 1, locs);
   // We should never return here.
   __ bkpt(0);
   __ Bind(&done);
@@ -412,12 +411,18 @@
 
 static Condition TokenKindToSmiCondition(Token::Kind kind) {
   switch (kind) {
-    case Token::kEQ: return EQ;
-    case Token::kNE: return NE;
-    case Token::kLT: return LT;
-    case Token::kGT: return GT;
-    case Token::kLTE: return LE;
-    case Token::kGTE: return GE;
+    case Token::kEQ:
+      return EQ;
+    case Token::kNE:
+      return NE;
+    case Token::kLT:
+      return LT;
+    case Token::kGT:
+      return GT;
+    case Token::kLTE:
+      return LE;
+    case Token::kGTE:
+      return GE;
     default:
       UNREACHABLE();
       return VS;
@@ -430,8 +435,8 @@
   const intptr_t kNumInputs = 2;
   if (operation_cid() == kMintCid) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::Pair(Location::RequiresRegister(),
                                    Location::RequiresRegister()));
     locs->set_in(1, Location::Pair(Location::RequiresRegister(),
@@ -441,8 +446,8 @@
   }
   if (operation_cid() == kDoubleCid) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::RequiresFpuRegister());
     locs->set_in(1, Location::RequiresFpuRegister());
     locs->set_out(0, Location::RequiresRegister());
@@ -450,8 +455,8 @@
   }
   if (operation_cid() == kSmiCid) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::RegisterOrConstant(left()));
     // Only one input can be a constant operand. The case of two constant
     // operands should be handled by constant propagation.
@@ -485,16 +490,26 @@
 
 static Condition FlipCondition(Condition condition) {
   switch (condition) {
-    case EQ: return EQ;
-    case NE: return NE;
-    case LT: return GT;
-    case LE: return GE;
-    case GT: return LT;
-    case GE: return LE;
-    case CC: return HI;
-    case LS: return CS;
-    case HI: return CC;
-    case CS: return LS;
+    case EQ:
+      return EQ;
+    case NE:
+      return NE;
+    case LT:
+      return GT;
+    case LE:
+      return GE;
+    case GT:
+      return LT;
+    case GE:
+      return LE;
+    case CC:
+      return HI;
+    case LS:
+      return CS;
+    case HI:
+      return CC;
+    case CS:
+      return LS;
     default:
       UNREACHABLE();
       return EQ;
@@ -544,12 +559,18 @@
 
 static Condition TokenKindToMintCondition(Token::Kind kind) {
   switch (kind) {
-    case Token::kEQ: return EQ;
-    case Token::kNE: return NE;
-    case Token::kLT: return LT;
-    case Token::kGT: return GT;
-    case Token::kLTE: return LE;
-    case Token::kGTE: return GE;
+    case Token::kEQ:
+      return EQ;
+    case Token::kNE:
+      return NE;
+    case Token::kLT:
+      return LT;
+    case Token::kGT:
+      return GT;
+    case Token::kLTE:
+      return LE;
+    case Token::kGTE:
+      return GE;
     default:
       UNREACHABLE();
       return VS;
@@ -623,12 +644,18 @@
 
 static Condition TokenKindToDoubleCondition(Token::Kind kind) {
   switch (kind) {
-    case Token::kEQ: return EQ;
-    case Token::kNE: return NE;
-    case Token::kLT: return LT;
-    case Token::kGT: return GT;
-    case Token::kLTE: return LE;
-    case Token::kGTE: return GE;
+    case Token::kEQ:
+      return EQ;
+    case Token::kNE:
+      return NE;
+    case Token::kLT:
+      return LT;
+    case Token::kGT:
+      return GT;
+    case Token::kLTE:
+      return LE;
+    case Token::kGTE:
+      return GE;
     default:
       UNREACHABLE();
       return VS;
@@ -667,7 +694,7 @@
   ASSERT((kind() == Token::kNE) || (kind() == Token::kEQ));
 
   // The ARM code does not use true- and false-labels here.
-  BranchLabels labels = { NULL, NULL, NULL };
+  BranchLabels labels = {NULL, NULL, NULL};
   Condition true_condition = EmitComparisonCode(compiler, labels);
 
   const Register result = locs()->out(0).reg();
@@ -695,20 +722,19 @@
   Condition true_condition = EmitComparisonCode(compiler, labels);
 
   if (operation_cid() == kDoubleCid) {
-    Label* nan_result = (true_condition == NE) ?
-        labels.true_label : labels.false_label;
+    Label* nan_result =
+        (true_condition == NE) ? labels.true_label : labels.false_label;
     __ b(nan_result, VS);
   }
   EmitBranchOnCondition(compiler, true_condition, labels);
 }
 
 
-LocationSummary* TestSmiInstr::MakeLocationSummary(Zone* zone,
-                                                   bool opt) const {
+LocationSummary* TestSmiInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   // Only one input can be a constant operand. The case of two constant
   // operands should be handled by constant propagation.
@@ -723,8 +749,7 @@
   Location right = locs()->in(1);
   if (right.IsConstant()) {
     ASSERT(right.constant().IsSmi());
-    const int32_t imm =
-        reinterpret_cast<int32_t>(right.constant().raw());
+    const int32_t imm = reinterpret_cast<int32_t>(right.constant().raw());
     __ TestImmediate(left, imm);
   } else {
     __ tst(left, Operand(right.reg()));
@@ -752,8 +777,8 @@
                                                     bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   locs->set_temp(0, Location::RequiresRegister());
   locs->set_out(0, Location::RequiresRegister());
@@ -767,11 +792,11 @@
   const Register val_reg = locs()->in(0).reg();
   const Register cid_reg = locs()->temp(0).reg();
 
-  Label* deopt = CanDeoptimize()
-      ? compiler->AddDeoptStub(deopt_id(),
-                               ICData::kDeoptTestCids,
-                               licm_hoisted_ ? ICData::kHoisted : 0)
-      : NULL;
+  Label* deopt =
+      CanDeoptimize()
+          ? compiler->AddDeoptStub(deopt_id(), ICData::kDeoptTestCids,
+                                   licm_hoisted_ ? ICData::kHoisted : 0)
+          : NULL;
 
   const intptr_t true_result = (kind() == Token::kIS) ? 1 : 0;
   const ZoneGrowableArray<intptr_t>& data = cid_results();
@@ -813,7 +838,7 @@
 void TestCidsInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   const Register result_reg = locs()->out(0).reg();
   Label is_true, is_false, done;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   EmitComparisonCode(compiler, labels);
   __ Bind(&is_false);
   __ LoadObject(result_reg, Bool::False());
@@ -830,8 +855,8 @@
   const intptr_t kNumTemps = 0;
   if (operation_cid() == kMintCid) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::Pair(Location::RequiresRegister(),
                                    Location::RequiresRegister()));
     locs->set_in(1, Location::Pair(Location::RequiresRegister(),
@@ -840,16 +865,16 @@
     return locs;
   }
   if (operation_cid() == kDoubleCid) {
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresFpuRegister());
     summary->set_in(1, Location::RequiresFpuRegister());
     summary->set_out(0, Location::RequiresRegister());
     return summary;
   }
   ASSERT(operation_cid() == kSmiCid);
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RegisterOrConstant(left()));
   // Only one input can be a constant operand. The case of two constant
   // operands should be handled by constant propagation.
@@ -876,7 +901,7 @@
 
 void RelationalOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
 
   const Register result = locs()->out(0).reg();
@@ -913,8 +938,8 @@
   if ((operation_cid() == kSmiCid) || (operation_cid() == kMintCid)) {
     EmitBranchOnCondition(compiler, true_condition, labels);
   } else if (operation_cid() == kDoubleCid) {
-    Label* nan_result = (true_condition == NE) ?
-        labels.true_label : labels.false_label;
+    Label* nan_result =
+        (true_condition == NE) ? labels.true_label : labels.false_label;
     __ b(nan_result, VS);
     EmitBranchOnCondition(compiler, true_condition, labels);
   }
@@ -935,8 +960,8 @@
   __ PushObject(Object::null_object());
   // Pass a pointer to the first argument in R2.
   if (!function().HasOptionalParameters()) {
-    __ AddImmediate(R2, FP, (kParamEndSlotFromFp +
-                             function().NumParameters()) * kWordSize);
+    __ AddImmediate(
+        R2, FP, (kParamEndSlotFromFp + function().NumParameters()) * kWordSize);
   } else {
     __ AddImmediate(R2, FP, kFirstLocalSlotFromFp * kWordSize);
   }
@@ -967,21 +992,18 @@
   __ LoadImmediate(R1, argc_tag);
   ExternalLabel label(entry);
   __ LoadNativeEntry(R9, &label, link_lazily() ? kPatchable : kNotPatchable);
-  compiler->GenerateCall(token_pos(),
-                         *stub_entry,
-                         RawPcDescriptors::kOther,
+  compiler->GenerateCall(token_pos(), *stub_entry, RawPcDescriptors::kOther,
                          locs());
   __ Pop(result);
 }
 
 
 LocationSummary* OneByteStringFromCharCodeInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   // TODO(fschneider): Allow immediate operands for the char code.
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -1001,9 +1023,7 @@
 LocationSummary* StringToCharCodeInstr::MakeLocationSummary(Zone* zone,
                                                             bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -1024,8 +1044,8 @@
                                                              bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(R0));
   summary->set_out(0, Location::RegisterLocation(R0));
   return summary;
@@ -1037,12 +1057,8 @@
   __ Push(array);
   const int kNumberOfArguments = 1;
   const Array& kNoArgumentNames = Object::null_array();
-  compiler->GenerateStaticCall(deopt_id(),
-                               token_pos(),
-                               CallFunction(),
-                               kNumberOfArguments,
-                               kNoArgumentNames,
-                               locs(),
+  compiler->GenerateStaticCall(deopt_id(), token_pos(), CallFunction(),
+                               kNumberOfArguments, kNoArgumentNames, locs(),
                                ICData::Handle());
   ASSERT(locs()->out(0).reg() == R0);
 }
@@ -1051,9 +1067,7 @@
 LocationSummary* LoadUntaggedInstr::MakeLocationSummary(Zone* zone,
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -1073,9 +1087,7 @@
 LocationSummary* LoadClassIdInstr::MakeLocationSummary(Zone* zone,
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -1212,8 +1224,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = aligned() ? 0 : 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   bool needs_base = false;
   if (CanBeImmediateIndex(index(), class_id(), IsExternal(),
@@ -1224,9 +1236,9 @@
   } else {
     locs->set_in(1, Location::RequiresRegister());
   }
-  if ((representation() == kUnboxedDouble)    ||
+  if ((representation() == kUnboxedDouble) ||
       (representation() == kUnboxedFloat32x4) ||
-      (representation() == kUnboxedInt32x4)   ||
+      (representation() == kUnboxedInt32x4) ||
       (representation() == kUnboxedFloat64x2)) {
     if (class_id() == kTypedDataFloat32ArrayCid) {
       // Need register <= Q7 for float operations.
@@ -1262,22 +1274,22 @@
   Address element_address(kNoRegister);
   if (aligned()) {
     element_address = index.IsRegister()
-      ? __ ElementAddressForRegIndex(true,  // Load.
-                                     IsExternal(), class_id(), index_scale(),
-                                     array,
-                                     index.reg())
-      : __ ElementAddressForIntIndex(true,  // Load.
-                                     IsExternal(), class_id(), index_scale(),
-                                     array, Smi::Cast(index.constant()).Value(),
-                                     IP);  // Temp register.
+                          ? __ ElementAddressForRegIndex(
+                                true,  // Load.
+                                IsExternal(), class_id(), index_scale(), array,
+                                index.reg())
+                          : __ ElementAddressForIntIndex(
+                                true,  // Load.
+                                IsExternal(), class_id(), index_scale(), array,
+                                Smi::Cast(index.constant()).Value(),
+                                IP);  // Temp register.
     // Warning: element_address may use register IP as base.
   } else {
     if (index.IsRegister()) {
       __ LoadElementAddressForRegIndex(address,
                                        true,  // Load.
                                        IsExternal(), class_id(), index_scale(),
-                                       array,
-                                       index.reg());
+                                       array, index.reg());
     } else {
       __ LoadElementAddressForIntIndex(address,
                                        true,  // Load.
@@ -1287,9 +1299,9 @@
     }
   }
 
-  if ((representation() == kUnboxedDouble)    ||
+  if ((representation() == kUnboxedDouble) ||
       (representation() == kUnboxedFloat32x4) ||
-      (representation() == kUnboxedInt32x4)   ||
+      (representation() == kUnboxedInt32x4) ||
       (representation() == kUnboxedFloat64x2)) {
     const QRegister result = locs()->out(0).fpu_reg();
     const DRegister dresult0 = EvenDRegisterOf(result);
@@ -1326,7 +1338,7 @@
         } else {
           __ LoadWordUnaligned(result, address, TMP);
         }
-      break;
+        break;
       case kTypedDataUint32ArrayCid:
         ASSERT(representation() == kUnboxedUint32);
         if (aligned()) {
@@ -1334,7 +1346,7 @@
         } else {
           __ LoadWordUnaligned(result, address, TMP);
         }
-      break;
+        break;
       default:
         UNREACHABLE();
     }
@@ -1391,8 +1403,8 @@
 Representation StoreIndexedInstr::RequiredInputRepresentation(
     intptr_t idx) const {
   // Array can be a Dart object or a pointer to external data.
-  if (idx == 0)  return kNoRepresentation;  // Flexible input representation.
-  if (idx == 1) return kTagged;  // Index is a smi.
+  if (idx == 0) return kNoRepresentation;  // Flexible input representation.
+  if (idx == 1) return kTagged;            // Index is a smi.
   ASSERT(idx == 2);
   switch (class_id_) {
     case kArrayCid:
@@ -1435,8 +1447,8 @@
                           false,  // Store.
                           &needs_base)) {
     const intptr_t kNumTemps = aligned() ? (needs_base ? 1 : 0) : 2;
-    locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
 
     // CanBeImmediateIndex must return false for unsafe smis.
     locs->set_in(1, Location::Constant(index()->definition()->AsConstant()));
@@ -1449,8 +1461,8 @@
     }
   } else {
     const intptr_t kNumTemps = aligned() ? 0 : 2;
-    locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
 
     locs->set_in(1, Location::WritableRegister());
     if (!aligned()) {
@@ -1463,8 +1475,8 @@
   switch (class_id()) {
     case kArrayCid:
       locs->set_in(2, ShouldEmitStoreBarrier()
-                        ? Location::WritableRegister()
-                        : Location::RegisterOrConstant(value()));
+                          ? Location::WritableRegister()
+                          : Location::RegisterOrConstant(value()));
       break;
     case kExternalTypedDataUint8ArrayCid:
     case kExternalTypedDataUint8ClampedArrayCid:
@@ -1508,21 +1520,20 @@
   Address element_address(kNoRegister);
   if (aligned()) {
     element_address = index.IsRegister()
-      ? __ ElementAddressForRegIndex(false,  // Store.
-                                     IsExternal(), class_id(), index_scale(),
-                                     array,
-                                     index.reg())
-      : __ ElementAddressForIntIndex(false,  // Store.
-                                     IsExternal(), class_id(), index_scale(),
-                                     array, Smi::Cast(index.constant()).Value(),
-                                     temp);
+                          ? __ ElementAddressForRegIndex(
+                                false,  // Store.
+                                IsExternal(), class_id(), index_scale(), array,
+                                index.reg())
+                          : __ ElementAddressForIntIndex(
+                                false,  // Store.
+                                IsExternal(), class_id(), index_scale(), array,
+                                Smi::Cast(index.constant()).Value(), temp);
   } else {
     if (index.IsRegister()) {
       __ LoadElementAddressForRegIndex(temp,
                                        false,  // Store.
                                        IsExternal(), class_id(), index_scale(),
-                                       array,
-                                       index.reg());
+                                       array, index.reg());
     } else {
       __ LoadElementAddressForIntIndex(temp,
                                        false,  // Store.
@@ -1576,9 +1587,9 @@
       } else {
         const Register value = locs()->in(2).reg();
         __ LoadImmediate(IP, 0x1FE);  // Smi 0xFF.
-        __ cmp(value, Operand(IP));  // Compare Smi value and smi 0xFF.
+        __ cmp(value, Operand(IP));   // Compare Smi value and smi 0xFF.
         // Clamp to 0x00 or 0xFF respectively.
-        __ mov(IP, Operand(0), LE);  // IP = value <= 0x1FE ? 0 : 0x1FE.
+        __ mov(IP, Operand(0), LE);      // IP = value <= 0x1FE ? 0 : 0x1FE.
         __ mov(IP, Operand(value), LS);  // IP = value in range ? value : IP.
         __ SmiUntag(IP);
         __ strb(IP, element_address);
@@ -1638,11 +1649,10 @@
   const intptr_t value_cid = value()->Type()->ToCid();
   const intptr_t field_cid = field().guarded_cid();
 
-  const bool emit_full_guard =
-      !opt || (field_cid == kIllegalCid);
+  const bool emit_full_guard = !opt || (field_cid == kIllegalCid);
 
-  const bool needs_value_cid_temp_reg = emit_full_guard ||
-      ((value_cid == kDynamicCid) && (field_cid != kSmiCid));
+  const bool needs_value_cid_temp_reg =
+      emit_full_guard || ((value_cid == kDynamicCid) && (field_cid != kSmiCid));
 
   const bool needs_field_temp_reg = emit_full_guard;
 
@@ -1654,8 +1664,8 @@
     num_temps++;
   }
 
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, num_temps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, num_temps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
 
   for (intptr_t i = 0; i < num_temps; i++) {
@@ -1676,7 +1686,8 @@
   if (field_cid == kDynamicCid) {
     if (Compiler::IsBackgroundCompilation()) {
       // Field state changed while compiling.
-      Compiler::AbortBackgroundCompilation(deopt_id(),
+      Compiler::AbortBackgroundCompilation(
+          deopt_id(),
           "GuardFieldClassInstr: field state changed while compiling");
     }
     ASSERT(!compiler->is_optimizing());
@@ -1686,23 +1697,26 @@
   const bool emit_full_guard =
       !compiler->is_optimizing() || (field_cid == kIllegalCid);
 
-  const bool needs_value_cid_temp_reg = emit_full_guard ||
-      ((value_cid == kDynamicCid) && (field_cid != kSmiCid));
+  const bool needs_value_cid_temp_reg =
+      emit_full_guard || ((value_cid == kDynamicCid) && (field_cid != kSmiCid));
 
   const bool needs_field_temp_reg = emit_full_guard;
 
   const Register value_reg = locs()->in(0).reg();
 
-  const Register value_cid_reg = needs_value_cid_temp_reg ?
-      locs()->temp(0).reg() : kNoRegister;
+  const Register value_cid_reg =
+      needs_value_cid_temp_reg ? locs()->temp(0).reg() : kNoRegister;
 
-  const Register field_reg = needs_field_temp_reg ?
-      locs()->temp(locs()->temp_count() - 1).reg() : kNoRegister;
+  const Register field_reg = needs_field_temp_reg
+                                 ? locs()->temp(locs()->temp_count() - 1).reg()
+                                 : kNoRegister;
 
   Label ok, fail_label;
 
-  Label* deopt = compiler->is_optimizing() ?
-      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField) : NULL;
+  Label* deopt =
+      compiler->is_optimizing()
+          ? compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField)
+          : NULL;
 
   Label* fail = (deopt != NULL) ? deopt : &fail_label;
 
@@ -1710,8 +1724,8 @@
     __ LoadObject(field_reg, Field::ZoneHandle(field().Original()));
 
     FieldAddress field_cid_operand(field_reg, Field::guarded_cid_offset());
-    FieldAddress field_nullability_operand(
-        field_reg, Field::is_nullable_offset());
+    FieldAddress field_nullability_operand(field_reg,
+                                           Field::is_nullable_offset());
 
     if (value_cid == kDynamicCid) {
       LoadValueCid(compiler, value_cid_reg, value_reg);
@@ -1809,8 +1823,8 @@
   const intptr_t kNumInputs = 1;
   if (!opt || (field().guarded_list_length() == Field::kUnknownFixedLength)) {
     const intptr_t kNumTemps = 3;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     // We need temporaries for field object, length offset and expected length.
     summary->set_temp(0, Location::RequiresRegister());
@@ -1821,8 +1835,8 @@
     // TODO(vegorov): can use TMP when length is small enough to fit into
     // immediate.
     const intptr_t kNumTemps = 1;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     summary->set_temp(0, Location::RequiresRegister());
     return summary;
@@ -1835,15 +1849,18 @@
   if (field().guarded_list_length() == Field::kNoFixedLength) {
     if (Compiler::IsBackgroundCompilation()) {
       // Field state changed while compiling.
-      Compiler::AbortBackgroundCompilation(deopt_id(),
+      Compiler::AbortBackgroundCompilation(
+          deopt_id(),
           "GuardFieldLengthInstr: field state changed while compiling");
     }
     ASSERT(!compiler->is_optimizing());
     return;  // Nothing to emit.
   }
 
-  Label* deopt = compiler->is_optimizing() ?
-      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField) : NULL;
+  Label* deopt =
+      compiler->is_optimizing()
+          ? compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField)
+          : NULL;
 
   const Register value_reg = locs()->in(0).reg();
 
@@ -1857,10 +1874,12 @@
 
     __ LoadObject(field_reg, Field::ZoneHandle(field().Original()));
 
-    __ ldrsb(offset_reg, FieldAddress(field_reg,
-        Field::guarded_list_length_in_object_offset_offset()));
-    __ ldr(length_reg, FieldAddress(field_reg,
-        Field::guarded_list_length_offset()));
+    __ ldrsb(
+        offset_reg,
+        FieldAddress(field_reg,
+                     Field::guarded_list_length_in_object_offset_offset()));
+    __ ldr(length_reg,
+           FieldAddress(field_reg, Field::guarded_list_length_offset()));
 
     __ tst(offset_reg, Operand(offset_reg));
     __ b(&ok, MI);
@@ -1888,7 +1907,7 @@
     ASSERT(compiler->is_optimizing());
     ASSERT(field().guarded_list_length() >= 0);
     ASSERT(field().guarded_list_length_in_object_offset() !=
-        Field::kUnknownLengthOffset);
+           Field::kUnknownLengthOffset);
 
     const Register length_reg = locs()->temp(0).reg();
 
@@ -1907,14 +1926,11 @@
   BoxAllocationSlowPath(Instruction* instruction,
                         const Class& cls,
                         Register result)
-      : instruction_(instruction),
-        cls_(cls),
-        result_(result) { }
+      : instruction_(instruction), cls_(cls), result_(result) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
-      __ Comment("%s slow path allocation of %s",
-                 instruction_->DebugName(),
+      __ Comment("%s slow path allocation of %s", instruction_->DebugName(),
                  String::Handle(cls_.ScrubbedName()).ToCString());
     }
     __ Bind(entry_label());
@@ -1928,9 +1944,7 @@
 
     compiler->SaveLiveRegisters(locs);
     compiler->GenerateCall(TokenPosition::kNoSource,  // No token position.
-                           stub_entry,
-                           RawPcDescriptors::kOther,
-                           locs);
+                           stub_entry, RawPcDescriptors::kOther, locs);
     compiler->AddStubCallTarget(stub);
     __ MoveRegister(result_, R0);
     compiler->RestoreLiveRegisters(locs);
@@ -1943,19 +1957,13 @@
                        Register result,
                        Register temp) {
     if (compiler->intrinsic_mode()) {
-      __ TryAllocate(cls,
-                     compiler->intrinsic_slow_path_label(),
-                     result,
-                     temp);
+      __ TryAllocate(cls, compiler->intrinsic_slow_path_label(), result, temp);
     } else {
       BoxAllocationSlowPath* slow_path =
           new BoxAllocationSlowPath(instruction, cls, result);
       compiler->AddSlowPathCode(slow_path);
 
-      __ TryAllocate(cls,
-                     slow_path->entry_label(),
-                     result,
-                     temp);
+      __ TryAllocate(cls, slow_path->entry_label(), result, temp);
       __ Bind(slow_path->exit_label());
     }
   }
@@ -1967,14 +1975,12 @@
 };
 
 
-
-
 LocationSummary* LoadCodeUnitsInstr::MakeLocationSummary(Zone* zone,
                                                          bool opt) const {
   const bool might_box = (representation() == kTagged) && !can_pack_into_smi();
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = might_box ? 1 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
+  LocationSummary* summary = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps,
       might_box ? LocationSummary::kCallOnSlowPath : LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
@@ -2002,7 +2008,7 @@
   const Location index = locs()->in(1);
 
   Address element_address = __ ElementAddressForRegIndex(
-        true,  IsExternal(), class_id(), index_scale(), str, index.reg());
+      true, IsExternal(), class_id(), index_scale(), str, index.reg());
   // Warning: element_address may use register IP as base.
 
   if (representation() == kUnboxedMint) {
@@ -2034,18 +2040,30 @@
       case kOneByteStringCid:
       case kExternalOneByteStringCid:
         switch (element_count()) {
-          case 1: __ ldrb(result, element_address); break;
-          case 2: __ ldrh(result, element_address); break;
-          case 4: __ ldr(result, element_address); break;
-          default: UNREACHABLE();
+          case 1:
+            __ ldrb(result, element_address);
+            break;
+          case 2:
+            __ ldrh(result, element_address);
+            break;
+          case 4:
+            __ ldr(result, element_address);
+            break;
+          default:
+            UNREACHABLE();
         }
         break;
       case kTwoByteStringCid:
       case kExternalTwoByteStringCid:
         switch (element_count()) {
-          case 1: __ ldrh(result, element_address); break;
-          case 2: __ ldr(result, element_address); break;
-          default: UNREACHABLE();
+          case 1:
+            __ ldrh(result, element_address);
+            break;
+          case 2:
+            __ ldr(result, element_address);
+            break;
+          default:
+            UNREACHABLE();
         }
         break;
       default:
@@ -2068,8 +2086,8 @@
       Label done;
       __ TestImmediate(value, 0xC0000000);
       __ b(&done, EQ);
-      BoxAllocationSlowPath::Allocate(
-          compiler, this, compiler->mint_class(), result, temp);
+      BoxAllocationSlowPath::Allocate(compiler, this, compiler->mint_class(),
+                                      result, temp);
       __ eor(temp, temp, Operand(temp));
       __ StoreToOffset(kWord, value, result,
                        Mint::value_offset() - kHeapObjectTag);
@@ -2085,14 +2103,13 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps =
-      (IsUnboxedStore() && opt) ? 2 :
-          ((IsPotentialUnboxedStore()) ? 3 : 0);
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps,
-          ((IsUnboxedStore() && opt && is_initialization()) ||
-           IsPotentialUnboxedStore())
-          ? LocationSummary::kCallOnSlowPath
-          : LocationSummary::kNoCall);
+      (IsUnboxedStore() && opt) ? 2 : ((IsPotentialUnboxedStore()) ? 3 : 0);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps,
+                      ((IsUnboxedStore() && opt && is_initialization()) ||
+                       IsPotentialUnboxedStore())
+                          ? LocationSummary::kCallOnSlowPath
+                          : LocationSummary::kNoCall);
 
   summary->set_in(0, Location::RequiresRegister());
   if (IsUnboxedStore() && opt) {
@@ -2100,17 +2117,16 @@
     summary->set_temp(0, Location::RequiresRegister());
     summary->set_temp(1, Location::RequiresRegister());
   } else if (IsPotentialUnboxedStore()) {
-    summary->set_in(1, ShouldEmitStoreBarrier()
-        ? Location::WritableRegister()
-        : Location::RequiresRegister());
+    summary->set_in(1, ShouldEmitStoreBarrier() ? Location::WritableRegister()
+                                                : Location::RequiresRegister());
     summary->set_temp(0, Location::RequiresRegister());
     summary->set_temp(1, Location::RequiresRegister());
     summary->set_temp(2, opt ? Location::RequiresFpuRegister()
                              : Location::FpuRegisterLocation(Q1));
   } else {
     summary->set_in(1, ShouldEmitStoreBarrier()
-                       ? Location::WritableRegister()
-                       : Location::RegisterOrConstant(value()));
+                           ? Location::WritableRegister()
+                           : Location::RegisterOrConstant(value()));
   }
   return summary;
 }
@@ -2128,8 +2144,7 @@
   __ CompareObject(box_reg, Object::null_object());
   __ b(&done, NE);
 
-  BoxAllocationSlowPath::Allocate(
-      compiler, instruction, cls, box_reg, temp);
+  BoxAllocationSlowPath::Allocate(compiler, instruction, cls, box_reg, temp);
 
   __ MoveRegister(temp, box_reg);
   __ StoreIntoObjectOffset(instance_reg, offset, temp);
@@ -2166,8 +2181,7 @@
           UNREACHABLE();
       }
 
-      BoxAllocationSlowPath::Allocate(
-          compiler, this, *cls, temp, temp2);
+      BoxAllocationSlowPath::Allocate(compiler, this, *cls, temp, temp2);
       __ MoveRegister(temp2, temp);
       __ StoreIntoObjectOffset(instance_reg, offset_in_bytes_, temp2);
     } else {
@@ -2181,12 +2195,12 @@
       case kFloat32x4Cid:
         __ Comment("UnboxedFloat32x4StoreInstanceFieldInstr");
         __ StoreMultipleDToOffset(value, 2, temp,
-            Float32x4::value_offset() - kHeapObjectTag);
+                                  Float32x4::value_offset() - kHeapObjectTag);
         break;
       case kFloat64x2Cid:
         __ Comment("UnboxedFloat64x2StoreInstanceFieldInstr");
         __ StoreMultipleDToOffset(value, 2, temp,
-            Float64x2::value_offset() - kHeapObjectTag);
+                                  Float64x2::value_offset() - kHeapObjectTag);
         break;
       default:
         UNREACHABLE();
@@ -2238,45 +2252,30 @@
     __ b(&store_pointer);
 
     if (!compiler->is_optimizing()) {
-        locs()->live_registers()->Add(locs()->in(0));
-        locs()->live_registers()->Add(locs()->in(1));
+      locs()->live_registers()->Add(locs()->in(0));
+      locs()->live_registers()->Add(locs()->in(1));
     }
 
     {
       __ Bind(&store_double);
-      EnsureMutableBox(compiler,
-                       this,
-                       temp,
-                       compiler->double_class(),
-                       instance_reg,
-                       offset_in_bytes_,
-                       temp2);
+      EnsureMutableBox(compiler, this, temp, compiler->double_class(),
+                       instance_reg, offset_in_bytes_, temp2);
       __ CopyDoubleField(temp, value_reg, TMP, temp2, fpu_temp);
       __ b(&skip_store);
     }
 
     {
       __ Bind(&store_float32x4);
-      EnsureMutableBox(compiler,
-                       this,
-                       temp,
-                       compiler->float32x4_class(),
-                       instance_reg,
-                       offset_in_bytes_,
-                       temp2);
+      EnsureMutableBox(compiler, this, temp, compiler->float32x4_class(),
+                       instance_reg, offset_in_bytes_, temp2);
       __ CopyFloat32x4Field(temp, value_reg, TMP, temp2, fpu_temp);
       __ b(&skip_store);
     }
 
     {
       __ Bind(&store_float64x2);
-      EnsureMutableBox(compiler,
-                       this,
-                       temp,
-                       compiler->float64x2_class(),
-                       instance_reg,
-                       offset_in_bytes_,
-                       temp2);
+      EnsureMutableBox(compiler, this, temp, compiler->float64x2_class(),
+                       instance_reg, offset_in_bytes_, temp2);
       __ CopyFloat64x2Field(temp, value_reg, TMP, temp2, fpu_temp);
       __ b(&skip_store);
     }
@@ -2286,19 +2285,15 @@
 
   if (ShouldEmitStoreBarrier()) {
     const Register value_reg = locs()->in(1).reg();
-    __ StoreIntoObjectOffset(instance_reg,
-                             offset_in_bytes_,
-                             value_reg,
+    __ StoreIntoObjectOffset(instance_reg, offset_in_bytes_, value_reg,
                              CanValueBeSmi());
   } else {
     if (locs()->in(1).IsConstant()) {
-      __ StoreIntoObjectNoBarrierOffset(instance_reg,
-                                        offset_in_bytes_,
+      __ StoreIntoObjectNoBarrierOffset(instance_reg, offset_in_bytes_,
                                         locs()->in(1).constant());
     } else {
       const Register value_reg = locs()->in(1).reg();
-      __ StoreIntoObjectNoBarrierOffset(instance_reg,
-                                        offset_in_bytes_,
+      __ StoreIntoObjectNoBarrierOffset(instance_reg, offset_in_bytes_,
                                         value_reg);
     }
   }
@@ -2310,8 +2305,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresRegister());
   return summary;
@@ -2332,8 +2327,8 @@
 
 LocationSummary* StoreStaticFieldInstr::MakeLocationSummary(Zone* zone,
                                                             bool opt) const {
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, 1, 1, LocationSummary::kNoCall);
+  LocationSummary* locs =
+      new (zone) LocationSummary(zone, 1, 1, LocationSummary::kNoCall);
   locs->set_in(0, value()->NeedsStoreBuffer() ? Location::WritableRegister()
                                               : Location::RequiresRegister());
   locs->set_temp(0, Location::RequiresRegister());
@@ -2347,10 +2342,8 @@
 
   __ LoadObject(temp, Field::ZoneHandle(Z, field().Original()));
   if (this->value()->NeedsStoreBuffer()) {
-    __ StoreIntoObject(temp,
-                       FieldAddress(temp, Field::static_value_offset()),
-                       value,
-                       CanValueBeSmi());
+    __ StoreIntoObject(temp, FieldAddress(temp, Field::static_value_offset()),
+                       value, CanValueBeSmi());
   } else {
     __ StoreIntoObjectNoBarrier(
         temp, FieldAddress(temp, Field::static_value_offset()), value);
@@ -2362,8 +2355,8 @@
                                                       bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(R0));
   summary->set_in(1, Location::RegisterLocation(R1));
   summary->set_out(0, Location::RegisterLocation(R0));
@@ -2375,10 +2368,7 @@
   ASSERT(locs()->in(0).reg() == R0);  // Value.
   ASSERT(locs()->in(1).reg() == R1);  // Instantiator type arguments.
 
-  compiler->GenerateInstanceOf(token_pos(),
-                               deopt_id(),
-                               type(),
-                               negate_result(),
+  compiler->GenerateInstanceOf(token_pos(), deopt_id(), type(), negate_result(),
                                locs());
   ASSERT(locs()->out(0).reg() == R0);
 }
@@ -2388,8 +2378,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(kElementTypePos, Location::RegisterLocation(R1));
   locs->set_in(kLengthPos, Location::RegisterLocation(R2));
   locs->set_out(0, Location::RegisterLocation(R0));
@@ -2399,9 +2389,9 @@
 
 // Inlines array allocation for known constant values.
 static void InlineArrayAllocation(FlowGraphCompiler* compiler,
-                                   intptr_t num_elements,
-                                   Label* slow_path,
-                                   Label* done) {
+                                  intptr_t num_elements,
+                                  Label* slow_path,
+                                  Label* done) {
   const int kInlineArraySize = 12;  // Same as kInlineInstanceSize.
   const Register kLengthReg = R2;
   const Register kElemTypeReg = R1;
@@ -2410,19 +2400,16 @@
   __ TryAllocateArray(kArrayCid, instance_size, slow_path,
                       R0,  // instance
                       R3,  // end address
-                      R8,
-                      R6);
+                      R8, R6);
   // R0: new object start as a tagged pointer.
   // R3: new object end address.
 
   // Store the type argument field.
-  __ StoreIntoObjectNoBarrier(R0,
-                              FieldAddress(R0, Array::type_arguments_offset()),
-                              kElemTypeReg);
+  __ StoreIntoObjectNoBarrier(
+      R0, FieldAddress(R0, Array::type_arguments_offset()), kElemTypeReg);
 
   // Set the length field.
-  __ StoreIntoObjectNoBarrier(R0,
-                              FieldAddress(R0, Array::length_offset()),
+  __ StoreIntoObjectNoBarrier(R0, FieldAddress(R0, Array::length_offset()),
                               kLengthReg);
 
   // Initialize all array elements to raw_null.
@@ -2462,8 +2449,7 @@
   ASSERT(locs()->in(kElementTypePos).reg() == kElemTypeReg);
   ASSERT(locs()->in(kLengthPos).reg() == kLengthReg);
 
-  if (compiler->is_optimizing() &&
-      !FLAG_precompiled_mode &&
+  if (compiler->is_optimizing() && !FLAG_precompiled_mode &&
       num_elements()->BindsToConstant() &&
       num_elements()->BoundConstant().IsSmi()) {
     const intptr_t length = Smi::Cast(num_elements()->BoundConstant()).Value();
@@ -2472,13 +2458,10 @@
       InlineArrayAllocation(compiler, length, &slow_path, &done);
       __ Bind(&slow_path);
       __ PushObject(Object::null_object());  // Make room for the result.
-      __ Push(kLengthReg);  // length.
+      __ Push(kLengthReg);                   // length.
       __ Push(kElemTypeReg);
-      compiler->GenerateRuntimeCall(token_pos(),
-                                    deopt_id(),
-                                    kAllocateArrayRuntimeEntry,
-                                    2,
-                                    locs());
+      compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                    kAllocateArrayRuntimeEntry, 2, locs());
       __ Drop(2);
       __ Pop(kResultReg);
       __ Bind(&done);
@@ -2488,10 +2471,8 @@
   const Code& stub = Code::ZoneHandle(compiler->zone(),
                                       StubCode::AllocateArray_entry()->code());
   compiler->AddStubCallTarget(stub);
-  compiler->GenerateCall(token_pos(),
-                         *StubCode::AllocateArray_entry(),
-                         RawPcDescriptors::kOther,
-                         locs());
+  compiler->GenerateCall(token_pos(), *StubCode::AllocateArray_entry(),
+                         RawPcDescriptors::kOther, locs());
   ASSERT(locs()->out(0).reg() == kResultReg);
 }
 
@@ -2500,14 +2481,12 @@
                                                      bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps =
-      (IsUnboxedLoad() && opt) ? 1 :
-          ((IsPotentialUnboxedLoad()) ? 3 : 0);
+      (IsUnboxedLoad() && opt) ? 1 : ((IsPotentialUnboxedLoad()) ? 3 : 0);
 
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps,
-          (opt && !IsPotentialUnboxedLoad())
-          ? LocationSummary::kNoCall
-          : LocationSummary::kCallOnSlowPath);
+  LocationSummary* locs = new (zone) LocationSummary(
+      zone, kNumInputs, kNumTemps, (opt && !IsPotentialUnboxedLoad())
+                                       ? LocationSummary::kNoCall
+                                       : LocationSummary::kCallOnSlowPath);
 
   locs->set_in(0, Location::RequiresRegister());
 
@@ -2542,12 +2521,12 @@
       case kFloat32x4Cid:
         __ Comment("UnboxedFloat32x4LoadFieldInstr");
         __ LoadMultipleDFromOffset(result, 2, temp,
-            Float32x4::value_offset() - kHeapObjectTag);
+                                   Float32x4::value_offset() - kHeapObjectTag);
         break;
       case kFloat64x2Cid:
         __ Comment("UnboxedFloat64x2LoadFieldInstr");
         __ LoadMultipleDFromOffset(result, 2, temp,
-            Float64x2::value_offset() - kHeapObjectTag);
+                                   Float64x2::value_offset() - kHeapObjectTag);
         break;
       default:
         UNREACHABLE();
@@ -2598,12 +2577,8 @@
 
     {
       __ Bind(&load_double);
-      BoxAllocationSlowPath::Allocate(
-          compiler,
-          this,
-          compiler->double_class(),
-          result_reg,
-          temp);
+      BoxAllocationSlowPath::Allocate(compiler, this, compiler->double_class(),
+                                      result_reg, temp);
       __ ldr(temp, FieldAddress(instance_reg, offset_in_bytes()));
       __ CopyDoubleField(result_reg, temp, TMP, temp2, value);
       __ b(&done);
@@ -2612,11 +2587,7 @@
     {
       __ Bind(&load_float32x4);
       BoxAllocationSlowPath::Allocate(
-          compiler,
-          this,
-          compiler->float32x4_class(),
-          result_reg,
-          temp);
+          compiler, this, compiler->float32x4_class(), result_reg, temp);
       __ ldr(temp, FieldAddress(instance_reg, offset_in_bytes()));
       __ CopyFloat32x4Field(result_reg, temp, TMP, temp2, value);
       __ b(&done);
@@ -2625,11 +2596,7 @@
     {
       __ Bind(&load_float64x2);
       BoxAllocationSlowPath::Allocate(
-          compiler,
-          this,
-          compiler->float64x2_class(),
-          result_reg,
-          temp);
+          compiler, this, compiler->float64x2_class(), result_reg, temp);
       __ ldr(temp, FieldAddress(instance_reg, offset_in_bytes()));
       __ CopyFloat64x2Field(result_reg, temp, TMP, temp2, value);
       __ b(&done);
@@ -2646,8 +2613,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(R0));
   locs->set_out(0, Location::RegisterLocation(R0));
   return locs;
@@ -2663,23 +2630,21 @@
   __ PushObject(Object::null_object());  // Make room for the result.
   __ PushObject(type());
   __ Push(instantiator_reg);  // Push instantiator type arguments.
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kInstantiateTypeRuntimeEntry,
-                                2,
-                                locs());
-  __ Drop(2);  // Drop instantiator and uninstantiated type.
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kInstantiateTypeRuntimeEntry, 2, locs());
+  __ Drop(2);          // Drop instantiator and uninstantiated type.
   __ Pop(result_reg);  // Pop instantiated type.
   ASSERT(instantiator_reg == result_reg);
 }
 
 
 LocationSummary* InstantiateTypeArgumentsInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(R0));
   locs->set_out(0, Location::RegisterLocation(R0));
   return locs;
@@ -2732,12 +2697,10 @@
   __ PushObject(Object::null_object());  // Make room for the result.
   __ PushObject(type_arguments());
   __ Push(instantiator_reg);  // Push instantiator type arguments.
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kInstantiateTypeArgumentsRuntimeEntry,
-                                2,
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kInstantiateTypeArgumentsRuntimeEntry, 2,
                                 locs());
-  __ Drop(2);  // Drop instantiator and uninstantiated type arguments.
+  __ Drop(2);          // Drop instantiator and uninstantiated type arguments.
   __ Pop(result_reg);  // Pop instantiated type arguments.
   __ Bind(&type_arguments_instantiated);
 }
@@ -2749,7 +2712,7 @@
   ASSERT(opt);
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 3;
-  LocationSummary* locs = new(zone) LocationSummary(
+  LocationSummary* locs = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   locs->set_temp(0, Location::RegisterLocation(R1));
   locs->set_temp(1, Location::RegisterLocation(R2));
@@ -2763,7 +2726,7 @@
  public:
   explicit AllocateContextSlowPath(
       AllocateUninitializedContextInstr* instruction)
-      : instruction_(instruction) { }
+      : instruction_(instruction) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     __ Comment("AllocateContextSlowPath");
@@ -2780,8 +2743,7 @@
     compiler->AddStubCallTarget(stub);
     compiler->GenerateCall(instruction_->token_pos(),
                            *StubCode::AllocateContext_entry(),
-                           RawPcDescriptors::kOther,
-                           locs);
+                           RawPcDescriptors::kOther, locs);
     ASSERT(instruction_->locs()->out(0).reg() == R0);
     compiler->RestoreLiveRegisters(instruction_->locs());
     __ b(exit_label());
@@ -2805,9 +2767,7 @@
 
   __ TryAllocateArray(kContextCid, instance_size, slow_path->entry_label(),
                       result,  // instance
-                      temp0,
-                      temp1,
-                      temp2);
+                      temp0, temp1, temp2);
 
   // Setup up number of context variables field.
   __ LoadImmediate(temp0, num_context_variables());
@@ -2821,8 +2781,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_temp(0, Location::RegisterLocation(R1));
   locs->set_out(0, Location::RegisterLocation(R0));
   return locs;
@@ -2834,10 +2794,8 @@
   ASSERT(locs()->out(0).reg() == R0);
 
   __ LoadImmediate(R1, num_context_variables());
-  compiler->GenerateCall(token_pos(),
-                         *StubCode::AllocateContext_entry(),
-                         RawPcDescriptors::kOther,
-                         locs());
+  compiler->GenerateCall(token_pos(), *StubCode::AllocateContext_entry(),
+                         RawPcDescriptors::kOther, locs());
 }
 
 
@@ -2845,8 +2803,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(R0));
   locs->set_temp(0, Location::RegisterLocation(R1));
   return locs;
@@ -2868,11 +2826,8 @@
   __ Bind(&call_runtime);
   __ PushObject(Object::null_object());  // Make room for (unused) result.
   __ Push(field);
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kInitStaticFieldRuntimeEntry,
-                                1,
-                                locs());
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kInitStaticFieldRuntimeEntry, 1, locs());
   __ Drop(2);  // Remove argument and result placeholder.
   __ Bind(&no_call);
 }
@@ -2882,8 +2837,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(R0));
   locs->set_out(0, Location::RegisterLocation(R0));
   return locs;
@@ -2896,12 +2851,9 @@
 
   __ PushObject(Object::null_object());  // Make room for the result.
   __ Push(context_value);
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kCloneContextRuntimeEntry,
-                                1,
-                                locs());
-  __ Drop(1);  // Remove argument.
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kCloneContextRuntimeEntry, 1, locs());
+  __ Drop(1);      // Remove argument.
   __ Pop(result);  // Get result (cloned context).
 }
 
@@ -2915,19 +2867,16 @@
 
 void CatchBlockEntryInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   __ Bind(compiler->GetJumpLabel(this));
-  compiler->AddExceptionHandler(catch_try_index(),
-                                try_index(),
+  compiler->AddExceptionHandler(catch_try_index(), try_index(),
                                 compiler->assembler()->CodeSize(),
-                                catch_handler_types_,
-                                needs_stacktrace());
+                                catch_handler_types_, needs_stacktrace());
   // On lazy deoptimization we patch the optimized code here to enter the
   // deoptimization stub.
   const intptr_t deopt_id = Thread::ToDeoptAfter(GetDeoptId());
   if (compiler->is_optimizing()) {
     compiler->AddDeoptIndexAtCall(deopt_id);
   } else {
-    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                   deopt_id,
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id,
                                    TokenPosition::kNoSource);
   }
   if (HasParallelMove()) {
@@ -2969,10 +2918,10 @@
                              Context::variable_offset(stacktrace_var().index()),
                              kStackTraceObjectReg);
   } else {
-    __ StoreToOffset(kWord, kExceptionObjectReg,
-                     FP, exception_var().index() * kWordSize);
-    __ StoreToOffset(kWord, kStackTraceObjectReg,
-                     FP, stacktrace_var().index() * kWordSize);
+    __ StoreToOffset(kWord, kExceptionObjectReg, FP,
+                     exception_var().index() * kWordSize);
+    __ StoreToOffset(kWord, kStackTraceObjectReg, FP,
+                     stacktrace_var().index() * kWordSize);
   }
 }
 
@@ -2981,10 +2930,8 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs,
-                          kNumTemps,
-                          LocationSummary::kCallOnSlowPath);
+  LocationSummary* summary = new (zone) LocationSummary(
+      zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_temp(0, Location::RequiresRegister());
   return summary;
 }
@@ -2993,7 +2940,7 @@
 class CheckStackOverflowSlowPath : public SlowPathCode {
  public:
   explicit CheckStackOverflowSlowPath(CheckStackOverflowInstr* instruction)
-      : instruction_(instruction) { }
+      : instruction_(instruction) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (FLAG_use_osr && osr_entry_label()->IsLinked()) {
@@ -3011,11 +2958,9 @@
     ASSERT(compiler->pending_deoptimization_env_ == NULL);
     Environment* env = compiler->SlowPathEnvironmentFor(instruction_);
     compiler->pending_deoptimization_env_ = env;
-    compiler->GenerateRuntimeCall(instruction_->token_pos(),
-                                  instruction_->deopt_id(),
-                                  kStackOverflowRuntimeEntry,
-                                  0,
-                                  instruction_->locs());
+    compiler->GenerateRuntimeCall(
+        instruction_->token_pos(), instruction_->deopt_id(),
+        kStackOverflowRuntimeEntry, 0, instruction_->locs());
 
     if (FLAG_use_osr && !compiler->is_optimizing() && instruction_->in_loop()) {
       // In unoptimized code, record loop stack checks as possible OSR entries.
@@ -3070,9 +3015,10 @@
   const LocationSummary& locs = *shift_left->locs();
   const Register left = locs.in(0).reg();
   const Register result = locs.out(0).reg();
-  Label* deopt = shift_left->CanDeoptimize() ?
-      compiler->AddDeoptStub(shift_left->deopt_id(), ICData::kDeoptBinarySmiOp)
-      : NULL;
+  Label* deopt = shift_left->CanDeoptimize()
+                     ? compiler->AddDeoptStub(shift_left->deopt_id(),
+                                              ICData::kDeoptBinarySmiOp)
+                     : NULL;
   if (locs.in(1).IsConstant()) {
     const Object& constant = locs.in(1).constant();
     ASSERT(constant.IsSmi());
@@ -3162,7 +3108,7 @@
 class CheckedSmiSlowPath : public SlowPathCode {
  public:
   CheckedSmiSlowPath(CheckedSmiOpInstr* instruction, intptr_t try_index)
-      : instruction_(instruction), try_index_(try_index) { }
+      : instruction_(instruction), try_index_(try_index) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
@@ -3177,12 +3123,9 @@
     __ Push(locs->in(0).reg());
     __ Push(locs->in(1).reg());
     compiler->EmitMegamorphicInstanceCall(
-        *instruction_->call()->ic_data(),
-        instruction_->call()->ArgumentCount(),
-        instruction_->call()->deopt_id(),
-        instruction_->call()->token_pos(),
-        locs,
-        try_index_,
+        *instruction_->call()->ic_data(), instruction_->call()->ArgumentCount(),
+        instruction_->call()->deopt_id(), instruction_->call()->token_pos(),
+        locs, try_index_,
         /* slow_path_argument_count = */ 2);
     __ mov(result, Operand(R0));
     compiler->RestoreLiveRegisters(locs);
@@ -3199,7 +3142,7 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
+  LocationSummary* summary = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
@@ -3259,6 +3202,30 @@
     case Token::kBIT_XOR:
       __ eor(result, left, Operand(right));
       break;
+    case Token::kSHL:
+      ASSERT(result != left);
+      ASSERT(result != right);
+      __ CompareImmediate(right, Smi::RawValue(Smi::kBits));
+      __ b(slow_path->entry_label(), HI);
+
+      __ SmiUntag(TMP, right);
+      // Check for overflow by shifting left and shifting back arithmetically.
+      // If the result is different from the original, there was overflow.
+      __ Lsl(result, left, TMP);
+      __ cmp(left, Operand(result, ASR, TMP));
+      __ b(slow_path->entry_label(), NE);
+      break;
+    case Token::kSHR:
+      ASSERT(result != left);
+      ASSERT(result != right);
+      __ CompareImmediate(right, Smi::RawValue(Smi::kBits));
+      __ b(slow_path->entry_label(), HI);
+
+      __ SmiUntag(result, right);
+      __ SmiUntag(TMP, left);
+      __ Asr(result, TMP, result);
+      __ SmiTag(result);
+      break;
     default:
       UNREACHABLE();
   }
@@ -3275,7 +3242,7 @@
       : instruction_(instruction),
         try_index_(try_index),
         labels_(labels),
-        merged_(merged) { }
+        merged_(merged) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
@@ -3290,21 +3257,19 @@
     __ Push(locs->in(0).reg());
     __ Push(locs->in(1).reg());
     compiler->EmitMegamorphicInstanceCall(
-        *instruction_->call()->ic_data(),
-        instruction_->call()->ArgumentCount(),
-        instruction_->call()->deopt_id(),
-        instruction_->call()->token_pos(),
-        locs,
-        try_index_,
+        *instruction_->call()->ic_data(), instruction_->call()->ArgumentCount(),
+        instruction_->call()->deopt_id(), instruction_->call()->token_pos(),
+        locs, try_index_,
         /* slow_path_argument_count = */ 2);
     __ mov(result, Operand(R0));
     compiler->RestoreLiveRegisters(locs);
     if (merged_) {
       __ CompareObject(result, Bool::True());
-      __ b(instruction_->is_negated()
-           ? labels_.false_label : labels_.true_label, EQ);
-      __ b(instruction_->is_negated()
-           ? labels_.true_label : labels_.false_label);
+      __ b(
+          instruction_->is_negated() ? labels_.false_label : labels_.true_label,
+          EQ);
+      __ b(instruction_->is_negated() ? labels_.true_label
+                                      : labels_.false_label);
     } else {
       __ b(exit_label());
     }
@@ -3319,10 +3284,11 @@
 
 
 LocationSummary* CheckedSmiComparisonInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
+  LocationSummary* summary = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
@@ -3333,7 +3299,8 @@
 
 
 Condition CheckedSmiComparisonInstr::EmitComparisonCode(
-    FlowGraphCompiler* compiler, BranchLabels labels) {
+    FlowGraphCompiler* compiler,
+    BranchLabels labels) {
   return EmitSmiComparisonOp(compiler, locs(), kind());
 }
 
@@ -3360,11 +3327,9 @@
 void CheckedSmiComparisonInstr::EmitBranchCode(FlowGraphCompiler* compiler,
                                                BranchInstr* branch) {
   BranchLabels labels = compiler->CreateBranchLabels(branch);
-  CheckedSmiComparisonSlowPath* slow_path =
-      new CheckedSmiComparisonSlowPath(this,
-                                       compiler->CurrentTryIndex(),
-                                       labels,
-                                       /* merged = */ true);
+  CheckedSmiComparisonSlowPath* slow_path = new CheckedSmiComparisonSlowPath(
+      this, compiler->CurrentTryIndex(), labels,
+      /* merged = */ true);
   compiler->AddSlowPathCode(slow_path);
   EMIT_SMI_CHECK;
   Condition true_condition = EmitComparisonCode(compiler, labels);
@@ -3374,12 +3339,10 @@
 
 
 void CheckedSmiComparisonInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  BranchLabels labels = { NULL, NULL, NULL };
-  CheckedSmiComparisonSlowPath* slow_path =
-      new CheckedSmiComparisonSlowPath(this,
-                                       compiler->CurrentTryIndex(),
-                                       labels,
-                                       /* merged = */ false);
+  BranchLabels labels = {NULL, NULL, NULL};
+  CheckedSmiComparisonSlowPath* slow_path = new CheckedSmiComparisonSlowPath(
+      this, compiler->CurrentTryIndex(), labels,
+      /* merged = */ false);
   compiler->AddSlowPathCode(slow_path);
   EMIT_SMI_CHECK;
   Condition true_condition = EmitComparisonCode(compiler, labels);
@@ -3408,8 +3371,8 @@
              (op_kind() == Token::kSHR)) {
     num_temps = 1;
   }
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, num_temps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, num_temps, LocationSummary::kNoCall);
   if (op_kind() == Token::kTRUNCDIV) {
     summary->set_in(0, Location::RequiresRegister());
     if (RightIsPowerOfTwoConstant()) {
@@ -3556,7 +3519,7 @@
         const intptr_t kCountLimit = 0x1F;
         intptr_t value = Smi::Cast(constant).Value();
         __ Asr(result, left,
-            Operand(Utils::Minimum(value + kSmiTagSize, kCountLimit)));
+               Operand(Utils::Minimum(value + kSmiTagSize, kCountLimit)));
         __ SmiTag(result);
         break;
       }
@@ -3713,9 +3676,10 @@
   const LocationSummary& locs = *shift_left->locs();
   const Register left = locs.in(0).reg();
   const Register result = locs.out(0).reg();
-  Label* deopt = shift_left->CanDeoptimize() ?
-      compiler->AddDeoptStub(shift_left->deopt_id(), ICData::kDeoptBinarySmiOp)
-      : NULL;
+  Label* deopt = shift_left->CanDeoptimize()
+                     ? compiler->AddDeoptStub(shift_left->deopt_id(),
+                                              ICData::kDeoptBinarySmiOp)
+                     : NULL;
   ASSERT(locs.in(1).IsConstant());
   const Object& constant = locs.in(1).constant();
   ASSERT(constant.IsSmi());
@@ -3743,8 +3707,8 @@
       (op_kind() == Token::kSHR)) {
     num_temps = 1;
   }
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, num_temps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, num_temps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RegisterOrSmiConstant(right()));
   if (((op_kind() == Token::kSHL) && can_overflow()) ||
@@ -3918,8 +3882,8 @@
   ASSERT((left_cid != kDoubleCid) && (right_cid != kDoubleCid));
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   return summary;
@@ -3927,9 +3891,9 @@
 
 
 void CheckEitherNonSmiInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  Label* deopt = compiler->AddDeoptStub(deopt_id(),
-                                        ICData::kDeoptBinaryDoubleOp,
-                                        licm_hoisted_ ? ICData::kHoisted : 0);
+  Label* deopt =
+      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptBinaryDoubleOp,
+                             licm_hoisted_ ? ICData::kHoisted : 0);
   intptr_t left_cid = left()->Type()->ToCid();
   intptr_t right_cid = right()->Type()->ToCid();
   const Register left = locs()->in(0).reg();
@@ -3948,14 +3912,11 @@
 }
 
 
-LocationSummary* BoxInstr::MakeLocationSummary(Zone* zone,
-                                                     bool opt) const {
+LocationSummary* BoxInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs,
-                          kNumTemps,
-                          LocationSummary::kCallOnSlowPath);
+  LocationSummary* summary = new (zone) LocationSummary(
+      zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_temp(0, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresRegister());
@@ -3967,23 +3928,19 @@
   const Register out_reg = locs()->out(0).reg();
   const DRegister value = EvenDRegisterOf(locs()->in(0).fpu_reg());
 
-  BoxAllocationSlowPath::Allocate(
-      compiler,
-      this,
-      compiler->BoxClassFor(from_representation()),
-      out_reg,
-      locs()->temp(0).reg());
+  BoxAllocationSlowPath::Allocate(compiler, this,
+                                  compiler->BoxClassFor(from_representation()),
+                                  out_reg, locs()->temp(0).reg());
 
   switch (from_representation()) {
     case kUnboxedDouble:
-      __ StoreDToOffset(
-          value, out_reg, ValueOffset() - kHeapObjectTag);
+      __ StoreDToOffset(value, out_reg, ValueOffset() - kHeapObjectTag);
       break;
     case kUnboxedFloat32x4:
     case kUnboxedFloat64x2:
     case kUnboxedInt32x4:
-      __ StoreMultipleDToOffset(
-          value, 2, out_reg, ValueOffset() - kHeapObjectTag);
+      __ StoreMultipleDToOffset(value, 2, out_reg,
+                                ValueOffset() - kHeapObjectTag);
       break;
     default:
       UNREACHABLE();
@@ -3992,13 +3949,12 @@
 }
 
 
-LocationSummary* UnboxInstr::MakeLocationSummary(Zone* zone,
-                                                       bool opt) const {
+LocationSummary* UnboxInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const bool needs_temp = CanDeoptimize();
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = needs_temp ? 1 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   if (needs_temp) {
     summary->set_temp(0, Location::RequiresRegister());
@@ -4019,21 +3975,15 @@
   switch (representation()) {
     case kUnboxedMint: {
       PairLocation* result = locs()->out(0).AsPairLocation();
-      __ LoadFieldFromOffset(kWord,
-                             result->At(0).reg(),
-                             box,
-                             ValueOffset());
-      __ LoadFieldFromOffset(kWord,
-                             result->At(1).reg(),
-                             box,
+      __ LoadFieldFromOffset(kWord, result->At(0).reg(), box, ValueOffset());
+      __ LoadFieldFromOffset(kWord, result->At(1).reg(), box,
                              ValueOffset() + kWordSize);
       break;
     }
 
     case kUnboxedDouble: {
       const DRegister result = EvenDRegisterOf(locs()->out(0).fpu_reg());
-      __ LoadDFromOffset(
-          result, box, ValueOffset() - kHeapObjectTag);
+      __ LoadDFromOffset(result, box, ValueOffset() - kHeapObjectTag);
       break;
     }
 
@@ -4041,8 +3991,8 @@
     case kUnboxedFloat64x2:
     case kUnboxedInt32x4: {
       const DRegister result = EvenDRegisterOf(locs()->out(0).fpu_reg());
-      __ LoadMultipleDFromOffset(
-          result, 2, box, ValueOffset() - kHeapObjectTag);
+      __ LoadMultipleDFromOffset(result, 2, box,
+                                 ValueOffset() - kHeapObjectTag);
       break;
     }
 
@@ -4090,8 +4040,8 @@
   } else {
     const Register box = locs()->in(0).reg();
     const Register temp = locs()->temp(0).reg();
-    Label* deopt = compiler->AddDeoptStub(GetDeoptId(),
-                                          ICData::kDeoptCheckClass);
+    Label* deopt =
+        compiler->AddDeoptStub(GetDeoptId(), ICData::kDeoptCheckClass);
     Label is_smi;
 
     if ((value()->Type()->ToNullableCid() == box_cid) &&
@@ -4119,17 +4069,15 @@
 
 
 LocationSummary* BoxInteger32Instr::MakeLocationSummary(Zone* zone,
-                                                   bool opt) const {
+                                                        bool opt) const {
   ASSERT((from_representation() == kUnboxedInt32) ||
          (from_representation() == kUnboxedUint32));
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = ValueFitsSmi() ? 0 : 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone,
-      kNumInputs,
-      kNumTemps,
-      ValueFitsSmi() ? LocationSummary::kNoCall
-                     : LocationSummary::kCallOnSlowPath);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps,
+                      ValueFitsSmi() ? LocationSummary::kNoCall
+                                     : LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::RequiresRegister());
   if (!ValueFitsSmi()) {
     summary->set_temp(0, Location::RequiresRegister());
@@ -4157,25 +4105,16 @@
       __ TestImmediate(value, 0xC0000000);
     }
     __ b(&done, EQ);
-    BoxAllocationSlowPath::Allocate(
-        compiler,
-        this,
-        compiler->mint_class(),
-        out,
-        temp);
+    BoxAllocationSlowPath::Allocate(compiler, this, compiler->mint_class(), out,
+                                    temp);
     if (from_representation() == kUnboxedInt32) {
       __ Asr(temp, value, Operand(kBitsPerWord - 1));
     } else {
       ASSERT(from_representation() == kUnboxedUint32);
       __ eor(temp, temp, Operand(temp));
     }
-    __ StoreToOffset(kWord,
-                     value,
-                     out,
-                     Mint::value_offset() - kHeapObjectTag);
-    __ StoreToOffset(kWord,
-                     temp,
-                     out,
+    __ StoreToOffset(kWord, value, out, Mint::value_offset() - kHeapObjectTag);
+    __ StoreToOffset(kWord, temp, out,
                      Mint::value_offset() - kHeapObjectTag + kWordSize);
     __ Bind(&done);
   }
@@ -4186,12 +4125,10 @@
                                                     bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = ValueFitsSmi() ? 0 : 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone,
-      kNumInputs,
-      kNumTemps,
-      ValueFitsSmi() ? LocationSummary::kNoCall
-                     : LocationSummary::kCallOnSlowPath);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps,
+                      ValueFitsSmi() ? LocationSummary::kNoCall
+                                     : LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::Pair(Location::RequiresRegister(),
                                     Location::RequiresRegister()));
   if (!ValueFitsSmi()) {
@@ -4223,19 +4160,11 @@
   __ cmp(value_hi, Operand(out_reg, ASR, 31), EQ);
   __ b(&done, EQ);
 
-  BoxAllocationSlowPath::Allocate(
-      compiler,
-      this,
-      compiler->mint_class(),
-      out_reg,
-      tmp);
-  __ StoreToOffset(kWord,
-                   value_lo,
-                   out_reg,
+  BoxAllocationSlowPath::Allocate(compiler, this, compiler->mint_class(),
+                                  out_reg, tmp);
+  __ StoreToOffset(kWord, value_lo, out_reg,
                    Mint::value_offset() - kHeapObjectTag);
-  __ StoreToOffset(kWord,
-                   value_hi,
-                   out_reg,
+  __ StoreToOffset(kWord, value_hi, out_reg,
                    Mint::value_offset() - kHeapObjectTag + kWordSize);
   __ Bind(&done);
 }
@@ -4248,10 +4177,7 @@
                               Label* deopt) {
   __ LoadFieldFromOffset(kWord, result, mint, Mint::value_offset());
   if (deopt != NULL) {
-    __ LoadFieldFromOffset(kWord,
-                           temp,
-                           mint,
-                           Mint::value_offset() + kWordSize);
+    __ LoadFieldFromOffset(kWord, temp, mint, Mint::value_offset() + kWordSize);
     __ cmp(temp, Operand(result, ASR, kBitsPerWord - 1));
     __ b(deopt, NE);
   }
@@ -4265,8 +4191,8 @@
   ASSERT((representation() != kUnboxedUint32) || is_truncating());
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = CanDeoptimize() ? 1 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   if (kNumTemps > 0) {
     summary->set_temp(0, Location::RequiresRegister());
@@ -4281,8 +4207,10 @@
   const Register value = locs()->in(0).reg();
   const Register out = locs()->out(0).reg();
   const Register temp = CanDeoptimize() ? locs()->temp(0).reg() : kNoRegister;
-  Label* deopt = CanDeoptimize() ?
-        compiler->AddDeoptStub(GetDeoptId(), ICData::kDeoptUnboxInteger) : NULL;
+  Label* deopt =
+      CanDeoptimize()
+          ? compiler->AddDeoptStub(GetDeoptId(), ICData::kDeoptUnboxInteger)
+          : NULL;
   Label* out_of_range = !is_truncating() ? deopt : NULL;
   ASSERT(value != out);
 
@@ -4310,8 +4238,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -4324,11 +4252,20 @@
   const DRegister right = EvenDRegisterOf(locs()->in(1).fpu_reg());
   const DRegister result = EvenDRegisterOf(locs()->out(0).fpu_reg());
   switch (op_kind()) {
-    case Token::kADD: __ vaddd(result, left, right); break;
-    case Token::kSUB: __ vsubd(result, left, right); break;
-    case Token::kMUL: __ vmuld(result, left, right); break;
-    case Token::kDIV: __ vdivd(result, left, right); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ vaddd(result, left, right);
+      break;
+    case Token::kSUB:
+      __ vsubd(result, left, right);
+      break;
+    case Token::kMUL:
+      __ vmuld(result, left, right);
+      break;
+    case Token::kDIV:
+      __ vdivd(result, left, right);
+      break;
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4338,8 +4275,8 @@
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps =
       (op_kind() == MethodRecognizer::kDouble_getIsInfinite) ? 1 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   if (op_kind() == MethodRecognizer::kDouble_getIsInfinite) {
     summary->set_temp(0, Location::RequiresRegister());
@@ -4386,7 +4323,7 @@
 void DoubleTestOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   ASSERT(compiler->is_optimizing());
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
   const Register result = locs()->out(0).reg();
   if (op_kind() == MethodRecognizer::kDouble_getIsNaN) {
@@ -4410,8 +4347,8 @@
                                                              bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -4425,11 +4362,20 @@
   const QRegister result = locs()->out(0).fpu_reg();
 
   switch (op_kind()) {
-    case Token::kADD: __ vaddqs(result, left, right); break;
-    case Token::kSUB: __ vsubqs(result, left, right); break;
-    case Token::kMUL: __ vmulqs(result, left, right); break;
-    case Token::kDIV: __ Vdivqs(result, left, right); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ vaddqs(result, left, right);
+      break;
+    case Token::kSUB:
+      __ vsubqs(result, left, right);
+      break;
+    case Token::kMUL:
+      __ vmulqs(result, left, right);
+      break;
+    case Token::kDIV:
+      __ Vdivqs(result, left, right);
+      break;
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4438,8 +4384,8 @@
                                                              bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -4478,7 +4424,8 @@
       __ vdivd(result0, left0, right0);
       __ vdivd(result1, left1, right1);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4487,8 +4434,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   // Low (< Q7) Q registers are needed for the vcvtds and vmovs instructions.
   summary->set_in(0, Location::FpuRegisterLocation(Q5));
   summary->set_out(0, Location::FpuRegisterLocation(Q6));
@@ -4540,7 +4487,7 @@
         __ vdup(kWord, result, dvalue0, 1);
       } else if (mask_ == 0xAA) {
         __ vdup(kWord, result, dvalue1, 0);
-      } else  if (mask_ == 0xFF) {
+      } else if (mask_ == 0xFF) {
         __ vdup(kWord, result, dvalue1, 1);
       } else {
         // TODO(zra): Investigate better instruction sequences for other
@@ -4559,7 +4506,8 @@
         __ vmovs(sresult3, svalues[(mask_ >> 6) & 0x3]);
       }
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4568,8 +4516,8 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   // Low (< Q7) Q registers are needed for the vcvtds and vmovs instructions.
   summary->set_in(0, Location::FpuRegisterLocation(Q4));
   summary->set_in(1, Location::FpuRegisterLocation(Q5));
@@ -4616,7 +4564,8 @@
       __ vmovs(sresult2, right_svalues[(mask_ >> 4) & 0x3]);
       __ vmovs(sresult3, right_svalues[(mask_ >> 6) & 0x3]);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4625,8 +4574,8 @@
                                                                bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::FpuRegisterLocation(Q5));
   summary->set_temp(0, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresRegister());
@@ -4663,11 +4612,12 @@
 
 
 LocationSummary* Float32x4ConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 4;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_in(2, Location::RequiresFpuRegister());
@@ -4699,8 +4649,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
 }
@@ -4716,8 +4666,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -4742,8 +4692,8 @@
                                                                bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -4778,7 +4728,8 @@
       __ vcgeqs(result, right, left);
       break;
 
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4787,8 +4738,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -4808,7 +4759,8 @@
     case MethodRecognizer::kFloat32x4Max:
       __ vmaxqs(result, left, right);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4817,8 +4769,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   summary->set_temp(0, Location::RequiresFpuRegister());
@@ -4841,7 +4793,8 @@
     case MethodRecognizer::kFloat32x4ReciprocalSqrt:
       __ VreciprocalSqrtqs(result, left);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4850,8 +4803,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -4870,7 +4823,8 @@
       __ vdup(kWord, result, DTMP, 0);
       __ vmulqs(result, result, right);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4879,8 +4833,8 @@
                                                             bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -4898,7 +4852,8 @@
     case MethodRecognizer::kFloat32x4Absolute:
       __ vabsqs(result, left);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4907,8 +4862,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 3;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_in(2, Location::RequiresFpuRegister());
@@ -4931,8 +4886,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   // Low (< 7) Q registers are needed for the vmovs instruction.
@@ -4971,7 +4926,8 @@
     case MethodRecognizer::kFloat32x4WithW:
       __ vmovs(sresult3, STMP);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4980,8 +4936,8 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -5002,8 +4958,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -5027,7 +4983,8 @@
     case MethodRecognizer::kFloat64x2GetY:
       __ vmovd(dresult0, dvalue1);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -5036,8 +4993,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
 }
@@ -5053,8 +5010,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -5078,11 +5035,12 @@
 
 
 LocationSummary* Float64x2ConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -5107,11 +5065,12 @@
 
 
 LocationSummary* Float64x2ToFloat32x4Instr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   // Low (< 7) Q registers are needed for the vcvtsd instruction.
   summary->set_out(0, Location::FpuRegisterLocation(Q6));
@@ -5138,11 +5097,12 @@
 
 
 LocationSummary* Float32x4ToFloat64x2Instr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   // Low (< 7) Q registers are needed for the vcvtsd instruction.
   summary->set_out(0, Location::FpuRegisterLocation(Q6));
@@ -5170,8 +5130,8 @@
                                                             bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
 
   if (representation() == kTagged) {
     ASSERT(op_kind() == MethodRecognizer::kFloat64x2GetSignMask);
@@ -5227,7 +5187,8 @@
       __ vsqrtd(dresult0, dvalue0);
       __ vsqrtd(dresult1, dvalue1);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -5236,8 +5197,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -5300,17 +5261,18 @@
       __ Bind(&g1);
       break;
     }
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
 
-LocationSummary* Int32x4ConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+LocationSummary* Int32x4ConstructorInstr::MakeLocationSummary(Zone* zone,
+                                                              bool opt) const {
   const intptr_t kNumInputs = 4;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_in(2, Location::RequiresRegister());
@@ -5335,11 +5297,12 @@
 
 
 LocationSummary* Int32x4BoolConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 4;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_in(2, Location::RequiresRegister());
@@ -5382,8 +5345,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   // Low (< 7) Q registers are needed for the vmovrs instruction.
   summary->set_in(0, Location::FpuRegisterLocation(Q6));
   summary->set_out(0, Location::RequiresRegister());
@@ -5415,7 +5378,8 @@
     case MethodRecognizer::kInt32x4GetFlagW:
       __ vmovrs(result, svalue3);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 
   __ tst(result, Operand(result));
@@ -5428,8 +5392,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 3;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_in(2, Location::RequiresFpuRegister());
@@ -5463,8 +5427,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -5500,7 +5464,8 @@
     case MethodRecognizer::kInt32x4WithFlagW:
       __ vmovdr(dresult1, 1, TMP);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -5509,8 +5474,8 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -5531,8 +5496,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -5545,12 +5510,23 @@
   const QRegister right = locs()->in(1).fpu_reg();
   const QRegister result = locs()->out(0).fpu_reg();
   switch (op_kind()) {
-    case Token::kBIT_AND: __ vandq(result, left, right); break;
-    case Token::kBIT_OR: __ vorrq(result, left, right); break;
-    case Token::kBIT_XOR: __ veorq(result, left, right); break;
-    case Token::kADD: __ vaddqi(kWord, result, left, right); break;
-    case Token::kSUB: __ vsubqi(kWord, result, left, right); break;
-    default: UNREACHABLE();
+    case Token::kBIT_AND:
+      __ vandq(result, left, right);
+      break;
+    case Token::kBIT_OR:
+      __ vorrq(result, left, right);
+      break;
+    case Token::kBIT_XOR:
+      __ veorq(result, left, right);
+      break;
+    case Token::kADD:
+      __ vaddqi(kWord, result, left, right);
+      break;
+    case Token::kSUB:
+      __ vsubqi(kWord, result, left, right);
+      break;
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -5561,8 +5537,8 @@
          (kind() == MathUnaryInstr::kDoubleSquare));
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -5585,10 +5561,11 @@
 
 
 LocationSummary* CaseInsensitiveCompareUC16Instr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, InputCount(), kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, InputCount(), kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(R0));
   summary->set_in(1, Location::RegisterLocation(R1));
   summary->set_in(2, Location::RegisterLocation(R2));
@@ -5600,7 +5577,6 @@
 
 void CaseInsensitiveCompareUC16Instr::EmitNativeCode(
     FlowGraphCompiler* compiler) {
-
   // Call the function.
   __ CallRuntime(TargetFunction(), TargetFunction().argument_count());
 }
@@ -5611,8 +5587,8 @@
   if (result_cid() == kDoubleCid) {
     const intptr_t kNumInputs = 2;
     const intptr_t kNumTemps = 1;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresFpuRegister());
     summary->set_in(1, Location::RequiresFpuRegister());
     // Reuse the left register so that code can be made shorter.
@@ -5623,8 +5599,8 @@
   ASSERT(result_cid() == kSmiCid);
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   // Reuse the left register so that code can be made shorter.
@@ -5696,8 +5672,8 @@
                                                       bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   // We make use of 3-operand instructions by not requiring result register
   // to be identical to first input register as on Intel.
@@ -5731,8 +5707,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -5750,8 +5726,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresRegister());
   result->set_out(0, Location::RequiresFpuRegister());
   return result;
@@ -5770,8 +5746,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresRegister());
   result->set_out(0, Location::RequiresFpuRegister());
   return result;
@@ -5803,8 +5779,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   result->set_in(0, Location::RegisterLocation(R1));
   result->set_out(0, Location::RegisterLocation(R0));
   return result;
@@ -5842,13 +5818,10 @@
   const Function& target = Function::ZoneHandle(ic_data.GetTargetAt(0));
 
   const intptr_t kNumberOfArguments = 1;
-  compiler->GenerateStaticCall(deopt_id(),
-                               instance_call()->token_pos(),
-                               target,
+  compiler->GenerateStaticCall(deopt_id(), instance_call()->token_pos(), target,
                                kNumberOfArguments,
                                Object::null_array(),  // No argument names.,
-                               locs(),
-                               ICData::Handle());
+                               locs(), ICData::Handle());
   __ Bind(&done);
 }
 
@@ -5857,8 +5830,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresFpuRegister());
   result->set_out(0, Location::RequiresRegister());
   return result;
@@ -5900,8 +5873,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   // Low (<= Q7) Q registers are needed for the conversion instructions.
   result->set_in(0, Location::RequiresFpuRegister());
   result->set_out(0, Location::FpuRegisterLocation(Q7));
@@ -5921,8 +5894,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   // Low (<= Q7) Q registers are needed for the conversion instructions.
   result->set_in(0, Location::FpuRegisterLocation(Q7));
   result->set_out(0, Location::RequiresFpuRegister());
@@ -5942,10 +5915,11 @@
                                                                bool opt) const {
   ASSERT((InputCount() == 1) || (InputCount() == 2));
   const intptr_t kNumTemps =
-      (TargetCPUFeatures::hardfp_supported()) ?
-        ((recognized_kind() == MethodRecognizer::kMathDoublePow) ? 1 : 0) : 4;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, InputCount(), kNumTemps, LocationSummary::kCall);
+      (TargetCPUFeatures::hardfp_supported())
+          ? ((recognized_kind() == MethodRecognizer::kMathDoublePow) ? 1 : 0)
+          : 4;
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, InputCount(), kNumTemps, LocationSummary::kCall);
   result->set_in(0, Location::FpuRegisterLocation(Q0));
   if (InputCount() == 2) {
     result->set_in(1, Location::FpuRegisterLocation(Q1));
@@ -6004,7 +5978,7 @@
   __ vcmpdz(exp);
   __ vmstat();
   __ b(&check_base, VS);  // NaN -> check base.
-  __ b(&skip_call, EQ);  // exp is 0.0, result is 1.0.
+  __ b(&skip_call, EQ);   // exp is 0.0, result is 1.0.
 
   // exponent == 1.0 ?
   __ vcmpd(exp, result);
@@ -6134,27 +6108,27 @@
   // Only use this instruction in optimized code.
   ASSERT(opt);
   const intptr_t kNumInputs = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, 0, LocationSummary::kNoCall);
+  LocationSummary* summary =
+      new (zone) LocationSummary(zone, kNumInputs, 0, LocationSummary::kNoCall);
   if (representation() == kUnboxedDouble) {
     if (index() == 0) {
-      summary->set_in(0, Location::Pair(Location::RequiresFpuRegister(),
-                                        Location::Any()));
+      summary->set_in(
+          0, Location::Pair(Location::RequiresFpuRegister(), Location::Any()));
     } else {
       ASSERT(index() == 1);
-      summary->set_in(0, Location::Pair(Location::Any(),
-                                        Location::RequiresFpuRegister()));
+      summary->set_in(
+          0, Location::Pair(Location::Any(), Location::RequiresFpuRegister()));
     }
     summary->set_out(0, Location::RequiresFpuRegister());
   } else {
     ASSERT(representation() == kTagged);
     if (index() == 0) {
-      summary->set_in(0, Location::Pair(Location::RequiresRegister(),
-                                        Location::Any()));
+      summary->set_in(
+          0, Location::Pair(Location::RequiresRegister(), Location::Any()));
     } else {
       ASSERT(index() == 1);
-      summary->set_in(0, Location::Pair(Location::Any(),
-                                        Location::RequiresRegister()));
+      summary->set_in(
+          0, Location::Pair(Location::Any(), Location::RequiresRegister()));
     }
     summary->set_out(0, Location::RequiresRegister());
   }
@@ -6184,8 +6158,8 @@
   if (kind() == MergedMathInstr::kTruncDivMod) {
     const intptr_t kNumInputs = 2;
     const intptr_t kNumTemps = 2;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     summary->set_in(1, Location::RequiresRegister());
     summary->set_temp(0, Location::RequiresRegister());
@@ -6262,13 +6236,13 @@
 
 
 LocationSummary* PolymorphicInstanceCallInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   return MakeCallSummary(zone);
 }
 
 
-LocationSummary* BranchInstr::MakeLocationSummary(Zone* zone,
-                                                  bool opt) const {
+LocationSummary* BranchInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   comparison()->InitializeLocationSummary(zone, opt);
   // Branches don't produce a result.
   comparison()->locs()->set_out(0, Location::NoLocation());
@@ -6286,8 +6260,8 @@
   const intptr_t kNumInputs = 1;
   const bool need_mask_temp = IsDenseSwitch() && !IsDenseMask(ComputeCidMask());
   const intptr_t kNumTemps = !IsNullCheck() ? (need_mask_temp ? 2 : 1) : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   if (!IsNullCheck()) {
     summary->set_temp(0, Location::RequiresRegister());
@@ -6300,8 +6274,7 @@
 
 
 void CheckClassInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  Label* deopt = compiler->AddDeoptStub(deopt_id(),
-                                        ICData::kDeoptCheckClass,
+  Label* deopt = compiler->AddDeoptStub(deopt_id(), ICData::kDeoptCheckClass,
                                         licm_hoisted_ ? ICData::kHoisted : 0);
   if (IsNullCheck()) {
     __ CompareObject(locs()->in(0).reg(), Object::null_object());
@@ -6343,8 +6316,7 @@
     }
   } else {
     GrowableArray<CidTarget> sorted_ic_data;
-    FlowGraphCompiler::SortICDataByCount(unary_checks(),
-                                         &sorted_ic_data,
+    FlowGraphCompiler::SortICDataByCount(unary_checks(), &sorted_ic_data,
                                          /* drop_smi = */ true);
     const intptr_t num_checks = sorted_ic_data.length();
     for (intptr_t i = 0; i < num_checks; i++) {
@@ -6366,8 +6338,8 @@
                                                     bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   return summary;
 }
@@ -6375,8 +6347,7 @@
 
 void CheckSmiInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   const Register value = locs()->in(0).reg();
-  Label* deopt = compiler->AddDeoptStub(deopt_id(),
-                                        ICData::kDeoptCheckSmi,
+  Label* deopt = compiler->AddDeoptStub(deopt_id(), ICData::kDeoptCheckSmi,
                                         licm_hoisted_ ? ICData::kHoisted : 0);
   __ BranchIfNotSmi(value, deopt);
 }
@@ -6386,8 +6357,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   return summary;
 }
@@ -6405,7 +6376,7 @@
                                                              bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
+  LocationSummary* locs = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   locs->set_in(kLengthPos, Location::RequiresRegister());
   locs->set_in(kIndexPos, Location::RequiresRegister());
@@ -6416,7 +6387,7 @@
 class RangeErrorSlowPath : public SlowPathCode {
  public:
   RangeErrorSlowPath(GenericCheckBoundInstr* instruction, intptr_t try_index)
-      : instruction_(instruction), try_index_(try_index) { }
+      : instruction_(instruction), try_index_(try_index) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
@@ -6428,11 +6399,8 @@
     __ Push(locs->in(1).reg());
     __ CallRuntime(kRangeErrorRuntimeEntry, 2);
     compiler->pc_descriptors_list()->AddDescriptor(
-        RawPcDescriptors::kOther,
-        compiler->assembler()->CodeSize(),
-        instruction_->deopt_id(),
-        instruction_->token_pos(),
-        try_index_);
+        RawPcDescriptors::kOther, compiler->assembler()->CodeSize(),
+        instruction_->deopt_id(), instruction_->token_pos(), try_index_);
     compiler->RecordSafepoint(locs, 2);
     __ bkpt(0);
   }
@@ -6465,8 +6433,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(kLengthPos, Location::RegisterOrSmiConstant(length()));
   locs->set_in(kIndexPos, Location::RegisterOrSmiConstant(index()));
   return locs;
@@ -6476,10 +6444,8 @@
 void CheckArrayBoundInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   uint32_t flags = generalized_ ? ICData::kGeneralized : 0;
   flags |= licm_hoisted_ ? ICData::kHoisted : 0;
-  Label* deopt = compiler->AddDeoptStub(
-      deopt_id(),
-      ICData::kDeoptCheckArrayBound,
-      flags);
+  Label* deopt =
+      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptCheckArrayBound, flags);
 
   Location length_loc = locs()->in(kLengthPos);
   Location index_loc = locs()->in(kIndexPos);
@@ -6529,8 +6495,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::Pair(Location::RequiresRegister(),
                                     Location::RequiresRegister()));
   summary->set_in(1, Location::Pair(Location::RequiresRegister(),
@@ -6568,9 +6534,9 @@
       break;
     }
     case Token::kBIT_XOR: {
-     __ eor(out_lo, left_lo, Operand(right_lo));
-     __ eor(out_hi, left_hi, Operand(right_hi));
-     break;
+      __ eor(out_lo, left_lo, Operand(right_lo));
+      __ eor(out_hi, left_hi, Operand(right_hi));
+      break;
     }
     case Token::kADD:
     case Token::kSUB: {
@@ -6609,8 +6575,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::Pair(Location::RequiresRegister(),
                                     Location::RequiresRegister()));
   summary->set_in(1, Location::WritableRegisterOrSmiConstant(right()));
@@ -6623,8 +6589,8 @@
 static const intptr_t kMintShiftCountLimit = 63;
 
 bool ShiftMintOpInstr::has_shift_count_check() const {
-  return !RangeUtils::IsWithin(
-      right()->definition()->range(), 0, kMintShiftCountLimit);
+  return !RangeUtils::IsWithin(right()->definition()->range(), 0,
+                               kMintShiftCountLimit);
 }
 
 
@@ -6754,8 +6720,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::Pair(Location::RequiresRegister(),
                                     Location::RequiresRegister()));
   summary->set_out(0, Location::Pair(Location::RequiresRegister(),
@@ -6797,8 +6763,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresRegister());
@@ -6840,8 +6806,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RegisterOrSmiConstant(right()));
   summary->set_temp(0, Location::RequiresRegister());
@@ -6910,8 +6876,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresRegister());
   return summary;
@@ -6933,8 +6899,8 @@
                                                                bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   if (from() == kUnboxedMint) {
     ASSERT((to() == kUnboxedUint32) || (to() == kUnboxedInt32));
     summary->set_in(0, Location::Pair(Location::RequiresRegister(),
@@ -7005,42 +6971,33 @@
 }
 
 
-LocationSummary* ThrowInstr::MakeLocationSummary(Zone* zone,
-                                                 bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
+LocationSummary* ThrowInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
 }
 
 
 void ThrowInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kThrowRuntimeEntry,
-                                1,
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(), kThrowRuntimeEntry, 1,
                                 locs());
   __ bkpt(0);
 }
 
 
-LocationSummary* ReThrowInstr::MakeLocationSummary(Zone* zone,
-                                                   bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
+LocationSummary* ReThrowInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
 }
 
 
 void ReThrowInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   compiler->SetNeedsStacktrace(catch_try_index());
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kReThrowRuntimeEntry,
-                                2,
-                                locs());
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(), kReThrowRuntimeEntry,
+                                2, locs());
   __ bkpt(0);
 }
 
 
-LocationSummary* StopInstr::MakeLocationSummary(Zone* zone,
-                                                bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
+LocationSummary* StopInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
 }
 
 
@@ -7056,9 +7013,8 @@
 }
 
 
-LocationSummary* GotoInstr::MakeLocationSummary(Zone* zone,
-                                                bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
+LocationSummary* GotoInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
 }
 
 
@@ -7069,8 +7025,7 @@
     }
     // Add a deoptimization descriptor for deoptimizing instructions that
     // may be inserted before this instruction.
-    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                   GetDeoptId(),
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, GetDeoptId(),
                                    TokenPosition::kNoSource);
   }
   if (HasParallelMove()) {
@@ -7090,8 +7045,8 @@
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
 
-  LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
 
   summary->set_in(0, Location::RequiresRegister());
   summary->set_temp(0, Location::RequiresRegister());
@@ -7109,10 +7064,9 @@
   __ AddImmediate(target_address_reg, target_address_reg, -entry_to_pc_offset);
   // Add the offset.
   Register offset_reg = locs()->in(0).reg();
-  Operand offset_opr =
-      (offset()->definition()->representation() == kTagged) ?
-      Operand(offset_reg, ASR, kSmiTagSize) :
-      Operand(offset_reg);
+  Operand offset_opr = (offset()->definition()->representation() == kTagged)
+                           ? Operand(offset_reg, ASR, kSmiTagSize)
+                           : Operand(offset_reg);
   __ add(target_address_reg, target_address_reg, offset_opr);
 
   // Jump to the absolute address.
@@ -7125,15 +7079,15 @@
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
   if (needs_number_check()) {
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
     locs->set_in(0, Location::RegisterLocation(R0));
     locs->set_in(1, Location::RegisterLocation(R1));
     locs->set_out(0, Location::RegisterLocation(R0));
     return locs;
   }
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
 
   // If a constant has more than one use, make sure it is loaded in register
   // so that multiple immediate loads can be avoided.
@@ -7151,8 +7105,8 @@
     // Only one of the inputs can be a constant. Choose register if the first
     // one is a constant.
     locs->set_in(1, locs->in(0).IsConstant()
-        ? Location::RequiresRegister()
-        : Location::RegisterOrConstant(right()));
+                        ? Location::RequiresRegister()
+                        : Location::RegisterOrConstant(right()));
   }
   locs->set_out(0, Location::RequiresRegister());
   return locs;
@@ -7166,20 +7120,14 @@
   ASSERT(!left.IsConstant() || !right.IsConstant());
   Condition true_condition;
   if (left.IsConstant()) {
-    true_condition = compiler->EmitEqualityRegConstCompare(right.reg(),
-                                                           left.constant(),
-                                                           needs_number_check(),
-                                                           token_pos());
+    true_condition = compiler->EmitEqualityRegConstCompare(
+        right.reg(), left.constant(), needs_number_check(), token_pos());
   } else if (right.IsConstant()) {
-    true_condition = compiler->EmitEqualityRegConstCompare(left.reg(),
-                                                           right.constant(),
-                                                           needs_number_check(),
-                                                           token_pos());
+    true_condition = compiler->EmitEqualityRegConstCompare(
+        left.reg(), right.constant(), needs_number_check(), token_pos());
   } else {
-    true_condition = compiler->EmitEqualityRegRegCompare(left.reg(),
-                                                         right.reg(),
-                                                         needs_number_check(),
-                                                         token_pos());
+    true_condition = compiler->EmitEqualityRegRegCompare(
+        left.reg(), right.reg(), needs_number_check(), token_pos());
   }
   if (kind() != Token::kEQ_STRICT) {
     ASSERT(kind() == Token::kNE_STRICT);
@@ -7193,7 +7141,7 @@
   ASSERT(kind() == Token::kEQ_STRICT || kind() == Token::kNE_STRICT);
 
   // The ARM code does not use true- and false-labels here.
-  BranchLabels labels = { NULL, NULL, NULL };
+  BranchLabels labels = {NULL, NULL, NULL};
   Condition true_condition = EmitComparisonCode(compiler, labels);
 
   const Register result = locs()->out(0).reg();
@@ -7214,9 +7162,7 @@
 
 LocationSummary* BooleanNegateInstr::MakeLocationSummary(Zone* zone,
                                                          bool opt) const {
-  return LocationSummary::Make(zone,
-                               1,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, 1, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -7241,9 +7187,7 @@
   const Code& stub = Code::ZoneHandle(
       compiler->zone(), StubCode::GetAllocationStubForClass(cls()));
   const StubEntry stub_entry(stub);
-  compiler->GenerateCall(token_pos(),
-                         stub_entry,
-                         RawPcDescriptors::kOther,
+  compiler->GenerateCall(token_pos(), stub_entry, RawPcDescriptors::kOther,
                          locs());
   compiler->AddStubCallTarget(stub);
   __ Drop(ArgumentCount());  // Discard arguments.
@@ -7258,12 +7202,12 @@
 }
 
 
-LocationSummary* GrowRegExpStackInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+LocationSummary* GrowRegExpStackInstr::MakeLocationSummary(Zone* zone,
+                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(R0));
   locs->set_out(0, Location::RegisterLocation(R0));
   return locs;
@@ -7275,11 +7219,8 @@
   const Register result = locs()->out(0).reg();
   __ PushObject(Object::null_object());
   __ Push(typed_data);
-  compiler->GenerateRuntimeCall(TokenPosition::kNoSource,
-                                deopt_id(),
-                                kGrowRegExpStackRuntimeEntry,
-                                1,
-                                locs());
+  compiler->GenerateRuntimeCall(TokenPosition::kNoSource, deopt_id(),
+                                kGrowRegExpStackRuntimeEntry, 1, locs());
   __ Drop(1);
   __ Pop(result);
 }
diff --git a/runtime/vm/intermediate_language_arm64.cc b/runtime/vm/intermediate_language_arm64.cc
index 1e4baa2..55ab860 100644
--- a/runtime/vm/intermediate_language_arm64.cc
+++ b/runtime/vm/intermediate_language_arm64.cc
@@ -29,8 +29,8 @@
 // Generic summary for call instructions that have all arguments pushed
 // on the stack and return the result in a fixed register R0.
 LocationSummary* Instruction::MakeCallSummary(Zone* zone) {
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, 0, 0, LocationSummary::kCall);
+  LocationSummary* result =
+      new (zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
   result->set_out(0, Location::RegisterLocation(R0));
   return result;
 }
@@ -40,8 +40,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::AnyOrConstant(value()));
   return locs;
 }
@@ -66,12 +66,11 @@
 }
 
 
-LocationSummary* ReturnInstr::MakeLocationSummary(Zone* zone,
-                                                  bool opt) const {
+LocationSummary* ReturnInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RegisterLocation(R0));
   return locs;
 }
@@ -113,18 +112,30 @@
 
 static Condition NegateCondition(Condition condition) {
   switch (condition) {
-    case EQ: return NE;
-    case NE: return EQ;
-    case LT: return GE;
-    case LE: return GT;
-    case GT: return LE;
-    case GE: return LT;
-    case CC: return CS;
-    case LS: return HI;
-    case HI: return LS;
-    case CS: return CC;
-    case VS: return VC;
-    case VC: return VS;
+    case EQ:
+      return NE;
+    case NE:
+      return EQ;
+    case LT:
+      return GE;
+    case LE:
+      return GT;
+    case GT:
+      return LE;
+    case GE:
+      return LT;
+    case CC:
+      return CS;
+    case LS:
+      return HI;
+    case HI:
+      return LS;
+    case CS:
+      return CC;
+    case VS:
+      return VC;
+    case VC:
+      return VS;
     default:
       UNREACHABLE();
       return EQ;
@@ -154,7 +165,7 @@
   ASSERT(!left.IsConstant() || !right.IsConstant());
 
   // Emit comparison code. This must not overwrite the result register.
-  BranchLabels labels = { NULL, NULL, NULL };
+  BranchLabels labels = {NULL, NULL, NULL};
   Condition true_condition = comparison()->EmitComparisonCode(compiler, labels);
 
   const bool is_power_of_two_kind = IsPowerOfTwoKind(if_true_, if_false_);
@@ -186,8 +197,7 @@
     __ LslImmediate(result, result, shift + kSmiTagSize);
   } else {
     __ sub(result, result, Operand(1));
-    const int64_t val =
-        Smi::RawValue(true_value) - Smi::RawValue(false_value);
+    const int64_t val = Smi::RawValue(true_value) - Smi::RawValue(false_value);
     __ AndImmediate(result, result, val);
     if (false_value != 0) {
       __ AddImmediate(result, result, Smi::RawValue(false_value));
@@ -200,8 +210,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(R0));  // Function.
   summary->set_out(0, Location::RegisterLocation(R0));
   return summary;
@@ -211,9 +221,8 @@
 void ClosureCallInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   // Load arguments descriptor in R4.
   int argument_count = ArgumentCount();
-  const Array& arguments_descriptor =
-      Array::ZoneHandle(ArgumentsDescriptor::New(argument_count,
-                                                 argument_names()));
+  const Array& arguments_descriptor = Array::ZoneHandle(
+      ArgumentsDescriptor::New(argument_count, argument_names()));
   __ LoadObject(R4, arguments_descriptor);
 
   // R4: Arguments descriptor.
@@ -237,8 +246,7 @@
   // Add deoptimization continuation point after the call and before the
   // arguments are removed.
   // In optimized code this descriptor is needed for exception handling.
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                 deopt_id_after,
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after,
                                  token_pos());
   __ Drop(argument_count);
 }
@@ -246,9 +254,7 @@
 
 LocationSummary* LoadLocalInstr::MakeLocationSummary(Zone* zone,
                                                      bool opt) const {
-  return LocationSummary::Make(zone,
-                               0,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, 0, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -261,9 +267,7 @@
 
 LocationSummary* StoreLocalInstr::MakeLocationSummary(Zone* zone,
                                                       bool opt) const {
-  return LocationSummary::Make(zone,
-                               1,
-                               Location::SameAsFirstInput(),
+  return LocationSummary::Make(zone, 1, Location::SameAsFirstInput(),
                                LocationSummary::kNoCall);
 }
 
@@ -278,9 +282,7 @@
 
 LocationSummary* ConstantInstr::MakeLocationSummary(Zone* zone,
                                                     bool opt) const {
-  return LocationSummary::Make(zone,
-                               0,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, 0, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -297,12 +299,10 @@
 LocationSummary* UnboxedConstantInstr::MakeLocationSummary(Zone* zone,
                                                            bool opt) const {
   const intptr_t kNumInputs = 0;
-  const Location out = (representation_ == kUnboxedInt32) ?
-      Location::RequiresRegister() : Location::RequiresFpuRegister();
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               out,
-                               LocationSummary::kNoCall);
+  const Location out = (representation_ == kUnboxedInt32)
+                           ? Location::RequiresRegister()
+                           : Location::RequiresFpuRegister();
+  return LocationSummary::Make(zone, kNumInputs, out, LocationSummary::kNoCall);
 }
 
 
@@ -334,8 +334,8 @@
                                                             bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(R0));  // Value.
   summary->set_in(1, Location::RegisterLocation(R1));  // Type arguments.
   summary->set_out(0, Location::RegisterLocation(R0));
@@ -347,8 +347,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(R0));
   locs->set_out(0, Location::RegisterLocation(R0));
   return locs;
@@ -377,11 +377,8 @@
   }
 
   __ Push(reg);  // Push the source object.
-  compiler->GenerateRuntimeCall(token_pos,
-                                deopt_id,
-                                kNonBoolTypeErrorRuntimeEntry,
-                                1,
-                                locs);
+  compiler->GenerateRuntimeCall(token_pos, deopt_id,
+                                kNonBoolTypeErrorRuntimeEntry, 1, locs);
   // We should never return here.
   __ brk(0);
   __ Bind(&done);
@@ -399,12 +396,18 @@
 
 static Condition TokenKindToSmiCondition(Token::Kind kind) {
   switch (kind) {
-    case Token::kEQ: return EQ;
-    case Token::kNE: return NE;
-    case Token::kLT: return LT;
-    case Token::kGT: return GT;
-    case Token::kLTE: return LE;
-    case Token::kGTE: return GE;
+    case Token::kEQ:
+      return EQ;
+    case Token::kNE:
+      return NE;
+    case Token::kLT:
+      return LT;
+    case Token::kGT:
+      return GT;
+    case Token::kLTE:
+      return LE;
+    case Token::kGTE:
+      return GE;
     default:
       UNREACHABLE();
       return VS;
@@ -414,16 +417,26 @@
 
 static Condition FlipCondition(Condition condition) {
   switch (condition) {
-    case EQ: return EQ;
-    case NE: return NE;
-    case LT: return GT;
-    case LE: return GE;
-    case GT: return LT;
-    case GE: return LE;
-    case CC: return HI;
-    case LS: return CS;
-    case HI: return CC;
-    case CS: return LS;
+    case EQ:
+      return EQ;
+    case NE:
+      return NE;
+    case LT:
+      return GT;
+    case LE:
+      return GE;
+    case GT:
+      return LT;
+    case GE:
+      return LE;
+    case CC:
+      return HI;
+    case LS:
+      return CS;
+    case HI:
+      return CC;
+    case CS:
+      return LS;
     default:
       UNREACHABLE();
       return EQ;
@@ -475,9 +488,9 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   if (operation_cid() == kDoubleCid) {
-    const intptr_t kNumTemps =  0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    const intptr_t kNumTemps = 0;
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::RequiresFpuRegister());
     locs->set_in(1, Location::RequiresFpuRegister());
     locs->set_out(0, Location::RequiresRegister());
@@ -485,8 +498,8 @@
   }
   if (operation_cid() == kSmiCid) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::RegisterOrConstant(left()));
     // Only one input can be a constant operand. The case of two constant
     // operands should be handled by constant propagation.
@@ -504,12 +517,18 @@
 
 static Condition TokenKindToDoubleCondition(Token::Kind kind) {
   switch (kind) {
-    case Token::kEQ: return EQ;
-    case Token::kNE: return NE;
-    case Token::kLT: return LT;
-    case Token::kGT: return GT;
-    case Token::kLTE: return LE;
-    case Token::kGTE: return GE;
+    case Token::kEQ:
+      return EQ;
+    case Token::kNE:
+      return NE;
+    case Token::kLT:
+      return LT;
+    case Token::kGT:
+      return GT;
+    case Token::kLTE:
+      return LE;
+    case Token::kGTE:
+      return GE;
     default:
       UNREACHABLE();
       return VS;
@@ -542,7 +561,7 @@
 void EqualityCompareInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   ASSERT((kind() == Token::kEQ) || (kind() == Token::kNE));
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
   if ((operation_cid() == kDoubleCid) && (true_condition != NE)) {
     // Special case for NaN comparison. Result is always false unless
@@ -578,12 +597,11 @@
 }
 
 
-LocationSummary* TestSmiInstr::MakeLocationSummary(Zone* zone,
-                                                   bool opt) const {
+LocationSummary* TestSmiInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   // Only one input can be a constant operand. The case of two constant
   // operands should be handled by constant propagation.
@@ -598,8 +616,7 @@
   Location right = locs()->in(1);
   if (right.IsConstant()) {
     ASSERT(right.constant().IsSmi());
-    const int64_t imm =
-        reinterpret_cast<int64_t>(right.constant().raw());
+    const int64_t imm = reinterpret_cast<int64_t>(right.constant().raw());
     __ TestImmediate(left, imm);
   } else {
     __ tst(left, Operand(right.reg()));
@@ -627,8 +644,8 @@
                                                     bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   locs->set_temp(0, Location::RequiresRegister());
   locs->set_out(0, Location::RequiresRegister());
@@ -642,11 +659,11 @@
   const Register val_reg = locs()->in(0).reg();
   const Register cid_reg = locs()->temp(0).reg();
 
-  Label* deopt = CanDeoptimize()
-      ? compiler->AddDeoptStub(deopt_id(),
-                               ICData::kDeoptTestCids,
-                               licm_hoisted_ ? ICData::kHoisted : 0)
-      : NULL;
+  Label* deopt =
+      CanDeoptimize()
+          ? compiler->AddDeoptStub(deopt_id(), ICData::kDeoptTestCids,
+                                   licm_hoisted_ ? ICData::kHoisted : 0)
+          : NULL;
 
   const intptr_t true_result = (kind() == Token::kIS) ? 1 : 0;
   const ZoneGrowableArray<intptr_t>& data = cid_results();
@@ -688,7 +705,7 @@
 void TestCidsInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   const Register result_reg = locs()->out(0).reg();
   Label is_true, is_false, done;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   EmitComparisonCode(compiler, labels);
   // TODO(zra): instead of branching, use the csel instruction to get
   // True or False into result.
@@ -706,16 +723,16 @@
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
   if (operation_cid() == kDoubleCid) {
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresFpuRegister());
     summary->set_in(1, Location::RequiresFpuRegister());
     summary->set_out(0, Location::RequiresRegister());
     return summary;
   }
   ASSERT(operation_cid() == kSmiCid);
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RegisterOrConstant(left()));
   // Only one input can be a constant operand. The case of two constant
   // operands should be handled by constant propagation.
@@ -740,7 +757,7 @@
 
 void RelationalOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
   if ((operation_cid() == kDoubleCid) && (true_condition != NE)) {
     // Special case for NaN comparison. Result is always false unless
@@ -788,8 +805,8 @@
   __ PushObject(Object::null_object());
   // Pass a pointer to the first argument in R2.
   if (!function().HasOptionalParameters()) {
-    __ AddImmediate(R2, FP, (kParamEndSlotFromFp +
-                             function().NumParameters()) * kWordSize);
+    __ AddImmediate(
+        R2, FP, (kParamEndSlotFromFp + function().NumParameters()) * kWordSize);
   } else {
     __ AddImmediate(R2, FP, kFirstLocalSlotFromFp * kWordSize);
   }
@@ -820,21 +837,18 @@
   __ LoadImmediate(R1, argc_tag);
   ExternalLabel label(entry);
   __ LoadNativeEntry(R5, &label);
-  compiler->GenerateCall(token_pos(),
-                         *stub_entry,
-                         RawPcDescriptors::kOther,
+  compiler->GenerateCall(token_pos(), *stub_entry, RawPcDescriptors::kOther,
                          locs());
   __ Pop(result);
 }
 
 
 LocationSummary* OneByteStringFromCharCodeInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   // TODO(fschneider): Allow immediate operands for the char code.
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -846,8 +860,8 @@
   const Register result = locs()->out(0).reg();
 
   __ ldr(result, Address(THR, Thread::predefined_symbols_address_offset()));
-  __ AddImmediate(
-      result, result, Symbols::kNullCharCodeSymbolOffset * kWordSize);
+  __ AddImmediate(result, result,
+                  Symbols::kNullCharCodeSymbolOffset * kWordSize);
   __ SmiUntag(TMP, char_code);  // Untag to use scaled adress mode.
   __ ldr(result, Address(result, TMP, UXTX, Address::Scaled));
 }
@@ -856,9 +870,7 @@
 LocationSummary* StringToCharCodeInstr::MakeLocationSummary(Zone* zone,
                                                             bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -880,8 +892,8 @@
                                                              bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(R0));
   summary->set_out(0, Location::RegisterLocation(R0));
   return summary;
@@ -893,12 +905,8 @@
   __ Push(array);
   const int kNumberOfArguments = 1;
   const Array& kNoArgumentNames = Object::null_array();
-  compiler->GenerateStaticCall(deopt_id(),
-                               token_pos(),
-                               CallFunction(),
-                               kNumberOfArguments,
-                               kNoArgumentNames,
-                               locs(),
+  compiler->GenerateStaticCall(deopt_id(), token_pos(), CallFunction(),
+                               kNumberOfArguments, kNoArgumentNames, locs(),
                                ICData::Handle());
   ASSERT(locs()->out(0).reg() == R0);
 }
@@ -907,9 +915,7 @@
 LocationSummary* LoadUntaggedInstr::MakeLocationSummary(Zone* zone,
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -929,9 +935,7 @@
 LocationSummary* LoadClassIdInstr::MakeLocationSummary(Zone* zone,
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -1031,13 +1035,13 @@
   }
   const int64_t index = Smi::Cast(constant->value()).AsInt64Value();
   const intptr_t scale = Instance::ElementSizeFor(cid);
-  const int64_t offset = index * scale +
+  const int64_t offset =
+      index * scale +
       (is_external ? 0 : (Instance::DataOffsetFor(cid) - kHeapObjectTag));
   if (!Utils::IsInt(32, offset)) {
     return false;
   }
-  return Address::CanHoldOffset(static_cast<int32_t>(offset),
-                                Address::Offset,
+  return Address::CanHoldOffset(static_cast<int32_t>(offset), Address::Offset,
                                 Address::OperandSizeFor(cid));
 }
 
@@ -1046,17 +1050,17 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = aligned() ? 0 : 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   if (CanBeImmediateIndex(index(), class_id(), IsExternal())) {
     locs->set_in(1, Location::Constant(index()->definition()->AsConstant()));
   } else {
     locs->set_in(1, Location::RequiresRegister());
   }
-  if ((representation() == kUnboxedDouble)    ||
+  if ((representation() == kUnboxedDouble) ||
       (representation() == kUnboxedFloat32x4) ||
-      (representation() == kUnboxedInt32x4)   ||
+      (representation() == kUnboxedInt32x4) ||
       (representation() == kUnboxedFloat64x2)) {
     locs->set_out(0, Location::RequiresFpuRegister());
   } else {
@@ -1077,13 +1081,14 @@
 
   Address element_address(TMP);  // Bad address.
   if (aligned()) {
-    element_address = index.IsRegister()
-        ? __ ElementAddressForRegIndex(true,  // Load.
-                                       IsExternal(), class_id(), index_scale(),
-                                       array, index.reg())
-        : __ ElementAddressForIntIndex(
-              IsExternal(), class_id(), index_scale(),
-              array, Smi::Cast(index.constant()).Value());
+    element_address =
+        index.IsRegister()
+            ? __ ElementAddressForRegIndex(true,  // Load.
+                                           IsExternal(), class_id(),
+                                           index_scale(), array, index.reg())
+            : __ ElementAddressForIntIndex(IsExternal(), class_id(),
+                                           index_scale(), array,
+                                           Smi::Cast(index.constant()).Value());
     // Warning: element_address may use register TMP as base.
   } else {
     if (index.IsRegister()) {
@@ -1092,16 +1097,15 @@
                                        IsExternal(), class_id(), index_scale(),
                                        array, index.reg());
     } else {
-      __ LoadElementAddressForIntIndex(address,
-                                       IsExternal(), class_id(), index_scale(),
-                                       array,
+      __ LoadElementAddressForIntIndex(address, IsExternal(), class_id(),
+                                       index_scale(), array,
                                        Smi::Cast(index.constant()).Value());
     }
   }
 
-  if ((representation() == kUnboxedDouble)    ||
+  if ((representation() == kUnboxedDouble) ||
       (representation() == kUnboxedFloat32x4) ||
-      (representation() == kUnboxedInt32x4)   ||
+      (representation() == kUnboxedInt32x4) ||
       (representation() == kUnboxedFloat64x2)) {
     const VRegister result = locs()->out(0).fpu_reg();
     switch (class_id()) {
@@ -1147,7 +1151,7 @@
         break;
       default:
         UNREACHABLE();
-      }
+    }
     return;
   }
 
@@ -1200,8 +1204,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresRegister());
@@ -1215,7 +1219,7 @@
   const Location index = locs()->in(1);
 
   Address element_address = __ ElementAddressForRegIndex(
-        true,  IsExternal(), class_id(), index_scale(), str, index.reg());
+      true, IsExternal(), class_id(), index_scale(), str, index.reg());
   // Warning: element_address may use register TMP as base.
 
   Register result = locs()->out(0).reg();
@@ -1223,19 +1227,31 @@
     case kOneByteStringCid:
     case kExternalOneByteStringCid:
       switch (element_count()) {
-        case 1: __ ldr(result, element_address, kUnsignedByte); break;
-        case 2: __ ldr(result, element_address, kUnsignedHalfword); break;
-        case 4: __ ldr(result, element_address, kUnsignedWord); break;
-        default: UNREACHABLE();
+        case 1:
+          __ ldr(result, element_address, kUnsignedByte);
+          break;
+        case 2:
+          __ ldr(result, element_address, kUnsignedHalfword);
+          break;
+        case 4:
+          __ ldr(result, element_address, kUnsignedWord);
+          break;
+        default:
+          UNREACHABLE();
       }
       __ SmiTag(result);
       break;
     case kTwoByteStringCid:
     case kExternalTwoByteStringCid:
       switch (element_count()) {
-        case 1: __ ldr(result, element_address, kUnsignedHalfword); break;
-        case 2: __ ldr(result, element_address, kUnsignedWord); break;
-        default: UNREACHABLE();
+        case 1:
+          __ ldr(result, element_address, kUnsignedHalfword);
+          break;
+        case 2:
+          __ ldr(result, element_address, kUnsignedWord);
+          break;
+        default:
+          UNREACHABLE();
       }
       __ SmiTag(result);
       break;
@@ -1249,8 +1265,8 @@
 Representation StoreIndexedInstr::RequiredInputRepresentation(
     intptr_t idx) const {
   // Array can be a Dart object or a pointer to external data.
-  if (idx == 0)  return kNoRepresentation;  // Flexible input representation.
-  if (idx == 1) return kTagged;  // Index is a smi.
+  if (idx == 0) return kNoRepresentation;  // Flexible input representation.
+  if (idx == 1) return kTagged;            // Index is a smi.
   ASSERT(idx == 2);
   switch (class_id_) {
     case kArrayCid:
@@ -1287,8 +1303,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 3;
   const intptr_t kNumTemps = aligned() ? 0 : 2;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   if (CanBeImmediateIndex(index(), class_id(), IsExternal())) {
     locs->set_in(1, Location::Constant(index()->definition()->AsConstant()));
@@ -1298,8 +1314,8 @@
   switch (class_id()) {
     case kArrayCid:
       locs->set_in(2, ShouldEmitStoreBarrier()
-                        ? Location::WritableRegister()
-                        : Location::RegisterOrConstant(value()));
+                          ? Location::WritableRegister()
+                          : Location::RegisterOrConstant(value()));
       break;
     case kExternalTypedDataUint8ArrayCid:
     case kExternalTypedDataUint8ClampedArrayCid:
@@ -1343,13 +1359,14 @@
 
   Address element_address(TMP);  // Bad address.
   if (aligned()) {
-    element_address = index.IsRegister()
-      ? __ ElementAddressForRegIndex(false,  // Store.
-                                     IsExternal(), class_id(), index_scale(),
-                                     array, index.reg())
-      : __ ElementAddressForIntIndex(
-            IsExternal(), class_id(), index_scale(),
-            array, Smi::Cast(index.constant()).Value());
+    element_address =
+        index.IsRegister()
+            ? __ ElementAddressForRegIndex(false,  // Store.
+                                           IsExternal(), class_id(),
+                                           index_scale(), array, index.reg())
+            : __ ElementAddressForIntIndex(IsExternal(), class_id(),
+                                           index_scale(), array,
+                                           Smi::Cast(index.constant()).Value());
   } else {
     if (index.IsRegister()) {
       __ LoadElementAddressForRegIndex(address,
@@ -1357,9 +1374,8 @@
                                        IsExternal(), class_id(), index_scale(),
                                        array, index.reg());
     } else {
-      __ LoadElementAddressForIntIndex(address,
-                                       IsExternal(), class_id(), index_scale(),
-                                       array,
+      __ LoadElementAddressForIntIndex(address, IsExternal(), class_id(),
+                                       index_scale(), array,
                                        Smi::Cast(index.constant()).Value());
     }
   }
@@ -1412,7 +1428,7 @@
         const Register value = locs()->in(2).reg();
         __ CompareImmediate(value, 0x1FE);  // Smi value and smi 0xFF.
         // Clamp to 0x00 or 0xFF respectively.
-        __ csetm(TMP, GT);  // TMP = value > 0x1FE ? -1 : 0.
+        __ csetm(TMP, GT);             // TMP = value > 0x1FE ? -1 : 0.
         __ csel(TMP, value, TMP, LS);  // TMP = value in range ? value : TMP.
         __ SmiUntag(TMP);
         __ str(TMP, element_address, kUnsignedByte);
@@ -1492,11 +1508,10 @@
   const intptr_t value_cid = value()->Type()->ToCid();
   const intptr_t field_cid = field().guarded_cid();
 
-  const bool emit_full_guard =
-      !opt || (field_cid == kIllegalCid);
+  const bool emit_full_guard = !opt || (field_cid == kIllegalCid);
 
-  const bool needs_value_cid_temp_reg = emit_full_guard ||
-      ((value_cid == kDynamicCid) && (field_cid != kSmiCid));
+  const bool needs_value_cid_temp_reg =
+      emit_full_guard || ((value_cid == kDynamicCid) && (field_cid != kSmiCid));
 
   const bool needs_field_temp_reg = emit_full_guard;
 
@@ -1508,8 +1523,8 @@
     num_temps++;
   }
 
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, num_temps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, num_temps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
 
   for (intptr_t i = 0; i < num_temps; i++) {
@@ -1529,7 +1544,8 @@
   if (field_cid == kDynamicCid) {
     if (Compiler::IsBackgroundCompilation()) {
       // Field state changed while compiling.
-      Compiler::AbortBackgroundCompilation(deopt_id(),
+      Compiler::AbortBackgroundCompilation(
+          deopt_id(),
           "GuardFieldClassInstr: field state changed while compiling");
     }
     ASSERT(!compiler->is_optimizing());
@@ -1539,31 +1555,34 @@
   const bool emit_full_guard =
       !compiler->is_optimizing() || (field_cid == kIllegalCid);
 
-  const bool needs_value_cid_temp_reg = emit_full_guard ||
-      ((value_cid == kDynamicCid) && (field_cid != kSmiCid));
+  const bool needs_value_cid_temp_reg =
+      emit_full_guard || ((value_cid == kDynamicCid) && (field_cid != kSmiCid));
 
   const bool needs_field_temp_reg = emit_full_guard;
 
   const Register value_reg = locs()->in(0).reg();
 
-  const Register value_cid_reg = needs_value_cid_temp_reg ?
-      locs()->temp(0).reg() : kNoRegister;
+  const Register value_cid_reg =
+      needs_value_cid_temp_reg ? locs()->temp(0).reg() : kNoRegister;
 
-  const Register field_reg = needs_field_temp_reg ?
-      locs()->temp(locs()->temp_count() - 1).reg() : kNoRegister;
+  const Register field_reg = needs_field_temp_reg
+                                 ? locs()->temp(locs()->temp_count() - 1).reg()
+                                 : kNoRegister;
 
   Label ok, fail_label;
 
-  Label* deopt = compiler->is_optimizing() ?
-      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField) : NULL;
+  Label* deopt =
+      compiler->is_optimizing()
+          ? compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField)
+          : NULL;
 
   Label* fail = (deopt != NULL) ? deopt : &fail_label;
 
   if (emit_full_guard) {
     __ LoadObject(field_reg, Field::ZoneHandle(field().Original()));
 
-    FieldAddress field_cid_operand(
-        field_reg, Field::guarded_cid_offset(), kUnsignedWord);
+    FieldAddress field_cid_operand(field_reg, Field::guarded_cid_offset(),
+                                   kUnsignedWord);
     FieldAddress field_nullability_operand(
         field_reg, Field::is_nullable_offset(), kUnsignedWord);
 
@@ -1617,8 +1636,8 @@
       ASSERT(!compiler->is_optimizing());
       __ Bind(fail);
 
-      __ LoadFieldFromOffset(
-          TMP, field_reg, Field::guarded_cid_offset(), kUnsignedWord);
+      __ LoadFieldFromOffset(TMP, field_reg, Field::guarded_cid_offset(),
+                             kUnsignedWord);
       __ CompareImmediate(TMP, kDynamicCid);
       __ b(&ok, EQ);
 
@@ -1663,8 +1682,8 @@
   const intptr_t kNumInputs = 1;
   if (!opt || (field().guarded_list_length() == Field::kUnknownFixedLength)) {
     const intptr_t kNumTemps = 3;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     // We need temporaries for field object, length offset and expected length.
     summary->set_temp(0, Location::RequiresRegister());
@@ -1672,8 +1691,8 @@
     summary->set_temp(2, Location::RequiresRegister());
     return summary;
   } else {
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, 0, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, 0, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     return summary;
   }
@@ -1685,15 +1704,18 @@
   if (field().guarded_list_length() == Field::kNoFixedLength) {
     if (Compiler::IsBackgroundCompilation()) {
       // Field state changed while compiling.
-      Compiler::AbortBackgroundCompilation(deopt_id(),
+      Compiler::AbortBackgroundCompilation(
+          deopt_id(),
           "GuardFieldLengthInstr: field state changed while compiling");
     }
     ASSERT(!compiler->is_optimizing());
     return;  // Nothing to emit.
   }
 
-  Label* deopt = compiler->is_optimizing() ?
-      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField) : NULL;
+  Label* deopt =
+      compiler->is_optimizing()
+          ? compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField)
+          : NULL;
 
   const Register value_reg = locs()->in(0).reg();
 
@@ -1711,8 +1733,8 @@
            FieldAddress(field_reg,
                         Field::guarded_list_length_in_object_offset_offset()),
            kByte);
-    __ ldr(length_reg, FieldAddress(field_reg,
-        Field::guarded_list_length_offset()));
+    __ ldr(length_reg,
+           FieldAddress(field_reg, Field::guarded_list_length_offset()));
 
     __ tst(offset_reg, Operand(offset_reg));
     __ b(&ok, MI);
@@ -1740,10 +1762,10 @@
     ASSERT(compiler->is_optimizing());
     ASSERT(field().guarded_list_length() >= 0);
     ASSERT(field().guarded_list_length_in_object_offset() !=
-        Field::kUnknownLengthOffset);
+           Field::kUnknownLengthOffset);
 
     __ ldr(TMP, FieldAddress(value_reg,
-                            field().guarded_list_length_in_object_offset()));
+                             field().guarded_list_length_in_object_offset()));
     __ CompareImmediate(TMP, Smi::RawValue(field().guarded_list_length()));
     __ b(deopt, NE);
   }
@@ -1755,19 +1777,16 @@
   BoxAllocationSlowPath(Instruction* instruction,
                         const Class& cls,
                         Register result)
-      : instruction_(instruction),
-        cls_(cls),
-        result_(result) { }
+      : instruction_(instruction), cls_(cls), result_(result) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
-      __ Comment("%s slow path allocation of %s",
-                 instruction_->DebugName(),
+      __ Comment("%s slow path allocation of %s", instruction_->DebugName(),
                  String::Handle(cls_.ScrubbedName()).ToCString());
     }
     __ Bind(entry_label());
-    const Code& stub = Code::ZoneHandle(compiler->zone(),
-        StubCode::GetAllocationStubForClass(cls_));
+    const Code& stub = Code::ZoneHandle(
+        compiler->zone(), StubCode::GetAllocationStubForClass(cls_));
     const StubEntry stub_entry(stub);
 
     LocationSummary* locs = instruction_->locs();
@@ -1776,9 +1795,7 @@
 
     compiler->SaveLiveRegisters(locs);
     compiler->GenerateCall(TokenPosition::kNoSource,  // No token position.
-                           stub_entry,
-                           RawPcDescriptors::kOther,
-                           locs);
+                           stub_entry, RawPcDescriptors::kOther, locs);
     compiler->AddStubCallTarget(stub);
     __ mov(result_, R0);
     compiler->RestoreLiveRegisters(locs);
@@ -1820,8 +1837,7 @@
   __ LoadFieldFromOffset(box_reg, instance_reg, offset);
   __ CompareObject(box_reg, Object::null_object());
   __ b(&done, NE);
-  BoxAllocationSlowPath::Allocate(
-      compiler, instruction, cls, box_reg, temp);
+  BoxAllocationSlowPath::Allocate(compiler, instruction, cls, box_reg, temp);
   __ mov(temp, box_reg);
   __ StoreIntoObjectOffset(instance_reg, offset, temp);
   __ Bind(&done);
@@ -1832,14 +1848,13 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps =
-      (IsUnboxedStore() && opt) ? 2 :
-          ((IsPotentialUnboxedStore()) ? 2 : 0);
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps,
-          ((IsUnboxedStore() && opt && is_initialization()) ||
-           IsPotentialUnboxedStore())
-          ? LocationSummary::kCallOnSlowPath
-          : LocationSummary::kNoCall);
+      (IsUnboxedStore() && opt) ? 2 : ((IsPotentialUnboxedStore()) ? 2 : 0);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps,
+                      ((IsUnboxedStore() && opt && is_initialization()) ||
+                       IsPotentialUnboxedStore())
+                          ? LocationSummary::kCallOnSlowPath
+                          : LocationSummary::kNoCall);
 
   summary->set_in(0, Location::RequiresRegister());
   if (IsUnboxedStore() && opt) {
@@ -1847,15 +1862,14 @@
     summary->set_temp(0, Location::RequiresRegister());
     summary->set_temp(1, Location::RequiresRegister());
   } else if (IsPotentialUnboxedStore()) {
-      summary->set_in(1, ShouldEmitStoreBarrier()
-          ? Location::WritableRegister()
-          :  Location::RequiresRegister());
-      summary->set_temp(0, Location::RequiresRegister());
-      summary->set_temp(1, Location::RequiresRegister());
+    summary->set_in(1, ShouldEmitStoreBarrier() ? Location::WritableRegister()
+                                                : Location::RequiresRegister());
+    summary->set_temp(0, Location::RequiresRegister());
+    summary->set_temp(1, Location::RequiresRegister());
   } else {
     summary->set_in(1, ShouldEmitStoreBarrier()
-                       ? Location::WritableRegister()
-                       : Location::RegisterOrConstant(value()));
+                           ? Location::WritableRegister()
+                           : Location::RegisterOrConstant(value()));
   }
   return summary;
 }
@@ -1938,9 +1952,8 @@
     __ CompareImmediate(temp2, kNullCid);
     __ b(&store_pointer, EQ);
 
-    __ LoadFromOffset(
-        temp2, temp, Field::kind_bits_offset() - kHeapObjectTag,
-        kUnsignedByte);
+    __ LoadFromOffset(temp2, temp, Field::kind_bits_offset() - kHeapObjectTag,
+                      kUnsignedByte);
     __ tsti(temp2, Immediate(1 << Field::kUnboxingCandidateBit));
     __ b(&store_pointer, EQ);
 
@@ -1963,19 +1976,14 @@
     __ b(&store_pointer);
 
     if (!compiler->is_optimizing()) {
-        locs()->live_registers()->Add(locs()->in(0));
-        locs()->live_registers()->Add(locs()->in(1));
+      locs()->live_registers()->Add(locs()->in(0));
+      locs()->live_registers()->Add(locs()->in(1));
     }
 
     {
       __ Bind(&store_double);
-      EnsureMutableBox(compiler,
-                       this,
-                       temp,
-                       compiler->double_class(),
-                       instance_reg,
-                       offset_in_bytes_,
-                       temp2);
+      EnsureMutableBox(compiler, this, temp, compiler->double_class(),
+                       instance_reg, offset_in_bytes_, temp2);
       __ LoadDFieldFromOffset(VTMP, value_reg, Double::value_offset());
       __ StoreDFieldToOffset(VTMP, temp, Double::value_offset());
       __ b(&skip_store);
@@ -1983,13 +1991,8 @@
 
     {
       __ Bind(&store_float32x4);
-      EnsureMutableBox(compiler,
-                       this,
-                       temp,
-                       compiler->float32x4_class(),
-                       instance_reg,
-                       offset_in_bytes_,
-                       temp2);
+      EnsureMutableBox(compiler, this, temp, compiler->float32x4_class(),
+                       instance_reg, offset_in_bytes_, temp2);
       __ LoadQFieldFromOffset(VTMP, value_reg, Float32x4::value_offset());
       __ StoreQFieldToOffset(VTMP, temp, Float32x4::value_offset());
       __ b(&skip_store);
@@ -1997,13 +2000,8 @@
 
     {
       __ Bind(&store_float64x2);
-      EnsureMutableBox(compiler,
-                       this,
-                       temp,
-                       compiler->float64x2_class(),
-                       instance_reg,
-                       offset_in_bytes_,
-                       temp2);
+      EnsureMutableBox(compiler, this, temp, compiler->float64x2_class(),
+                       instance_reg, offset_in_bytes_, temp2);
       __ LoadQFieldFromOffset(VTMP, value_reg, Float64x2::value_offset());
       __ StoreQFieldToOffset(VTMP, temp, Float64x2::value_offset());
       __ b(&skip_store);
@@ -2014,16 +2012,16 @@
 
   if (ShouldEmitStoreBarrier()) {
     const Register value_reg = locs()->in(1).reg();
-    __ StoreIntoObjectOffset(
-        instance_reg, offset_in_bytes_, value_reg, CanValueBeSmi());
+    __ StoreIntoObjectOffset(instance_reg, offset_in_bytes_, value_reg,
+                             CanValueBeSmi());
   } else {
     if (locs()->in(1).IsConstant()) {
-      __ StoreIntoObjectOffsetNoBarrier(
-          instance_reg, offset_in_bytes_, locs()->in(1).constant());
+      __ StoreIntoObjectOffsetNoBarrier(instance_reg, offset_in_bytes_,
+                                        locs()->in(1).constant());
     } else {
       const Register value_reg = locs()->in(1).reg();
-      __ StoreIntoObjectOffsetNoBarrier(
-          instance_reg, offset_in_bytes_, value_reg);
+      __ StoreIntoObjectOffsetNoBarrier(instance_reg, offset_in_bytes_,
+                                        value_reg);
     }
   }
   __ Bind(&skip_store);
@@ -2034,8 +2032,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresRegister());
   return summary;
@@ -2056,8 +2054,8 @@
 
 LocationSummary* StoreStaticFieldInstr::MakeLocationSummary(Zone* zone,
                                                             bool opt) const {
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, 1, 1, LocationSummary::kNoCall);
+  LocationSummary* locs =
+      new (zone) LocationSummary(zone, 1, 1, LocationSummary::kNoCall);
   locs->set_in(0, value()->NeedsStoreBuffer() ? Location::WritableRegister()
                                               : Location::RequiresRegister());
   locs->set_temp(0, Location::RequiresRegister());
@@ -2071,11 +2069,10 @@
 
   __ LoadObject(temp, Field::ZoneHandle(Z, field().Original()));
   if (this->value()->NeedsStoreBuffer()) {
-    __ StoreIntoObjectOffset(
-        temp, Field::static_value_offset(), value, CanValueBeSmi());
+    __ StoreIntoObjectOffset(temp, Field::static_value_offset(), value,
+                             CanValueBeSmi());
   } else {
-    __ StoreIntoObjectOffsetNoBarrier(temp,
-                                      Field::static_value_offset(),
+    __ StoreIntoObjectOffsetNoBarrier(temp, Field::static_value_offset(),
                                       value);
   }
 }
@@ -2085,8 +2082,8 @@
                                                       bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(R0));
   summary->set_in(1, Location::RegisterLocation(R1));
   summary->set_out(0, Location::RegisterLocation(R0));
@@ -2098,10 +2095,7 @@
   ASSERT(locs()->in(0).reg() == R0);  // Value.
   ASSERT(locs()->in(1).reg() == R1);  // Instantiator type arguments.
 
-  compiler->GenerateInstanceOf(token_pos(),
-                               deopt_id(),
-                               type(),
-                               negate_result(),
+  compiler->GenerateInstanceOf(token_pos(), deopt_id(), type(), negate_result(),
                                locs());
   ASSERT(locs()->out(0).reg() == R0);
 }
@@ -2111,8 +2105,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(kElementTypePos, Location::RegisterLocation(R1));
   locs->set_in(kLengthPos, Location::RegisterLocation(R2));
   locs->set_out(0, Location::RegisterLocation(R0));
@@ -2122,9 +2116,9 @@
 
 // Inlines array allocation for known constant values.
 static void InlineArrayAllocation(FlowGraphCompiler* compiler,
-                                   intptr_t num_elements,
-                                   Label* slow_path,
-                                   Label* done) {
+                                  intptr_t num_elements,
+                                  Label* slow_path,
+                                  Label* done) {
   const int kInlineArraySize = 12;  // Same as kInlineInstanceSize.
   const Register kLengthReg = R2;
   const Register kElemTypeReg = R1;
@@ -2133,19 +2127,16 @@
   __ TryAllocateArray(kArrayCid, instance_size, slow_path,
                       R0,  // instance
                       R3,  // end address
-                      R6,
-                      R8);
+                      R6, R8);
   // R0: new object start as a tagged pointer.
   // R3: new object end address.
 
   // Store the type argument field.
-  __ StoreIntoObjectNoBarrier(R0,
-                              FieldAddress(R0, Array::type_arguments_offset()),
-                              kElemTypeReg);
+  __ StoreIntoObjectNoBarrier(
+      R0, FieldAddress(R0, Array::type_arguments_offset()), kElemTypeReg);
 
   // Set the length field.
-  __ StoreIntoObjectNoBarrier(R0,
-                              FieldAddress(R0, Array::length_offset()),
+  __ StoreIntoObjectNoBarrier(R0, FieldAddress(R0, Array::length_offset()),
                               kLengthReg);
 
   // TODO(zra): Use stp once added.
@@ -2188,8 +2179,7 @@
   ASSERT(locs()->in(kElementTypePos).reg() == kElemTypeReg);
   ASSERT(locs()->in(kLengthPos).reg() == kLengthReg);
 
-  if (compiler->is_optimizing() &&
-      !FLAG_precompiled_mode &&
+  if (compiler->is_optimizing() && !FLAG_precompiled_mode &&
       num_elements()->BindsToConstant() &&
       num_elements()->BoundConstant().IsSmi()) {
     const intptr_t length = Smi::Cast(num_elements()->BoundConstant()).Value();
@@ -2198,13 +2188,10 @@
       InlineArrayAllocation(compiler, length, &slow_path, &done);
       __ Bind(&slow_path);
       __ PushObject(Object::null_object());  // Make room for the result.
-      __ Push(kLengthReg);  // length.
+      __ Push(kLengthReg);                   // length.
       __ Push(kElemTypeReg);
-      compiler->GenerateRuntimeCall(token_pos(),
-                                    deopt_id(),
-                                    kAllocateArrayRuntimeEntry,
-                                    2,
-                                    locs());
+      compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                    kAllocateArrayRuntimeEntry, 2, locs());
       __ Drop(2);
       __ Pop(kResultReg);
       __ Bind(&done);
@@ -2214,10 +2201,8 @@
   const Code& stub = Code::ZoneHandle(compiler->zone(),
                                       StubCode::AllocateArray_entry()->code());
   compiler->AddStubCallTarget(stub);
-  compiler->GenerateCall(token_pos(),
-                         *StubCode::AllocateArray_entry(),
-                         RawPcDescriptors::kOther,
-                         locs());
+  compiler->GenerateCall(token_pos(), *StubCode::AllocateArray_entry(),
+                         RawPcDescriptors::kOther, locs());
   ASSERT(locs()->out(0).reg() == kResultReg);
 }
 
@@ -2226,13 +2211,11 @@
                                                      bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps =
-      (IsUnboxedLoad() && opt) ? 1 :
-          ((IsPotentialUnboxedLoad()) ? 1 : 0);
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps,
-      (opt && !IsPotentialUnboxedLoad())
-          ? LocationSummary::kNoCall
-          : LocationSummary::kCallOnSlowPath);
+      (IsUnboxedLoad() && opt) ? 1 : ((IsPotentialUnboxedLoad()) ? 1 : 0);
+  LocationSummary* locs = new (zone) LocationSummary(
+      zone, kNumInputs, kNumTemps, (opt && !IsPotentialUnboxedLoad())
+                                       ? LocationSummary::kNoCall
+                                       : LocationSummary::kCallOnSlowPath);
 
   locs->set_in(0, Location::RequiresRegister());
 
@@ -2283,8 +2266,8 @@
 
     __ LoadObject(result_reg, Field::ZoneHandle(field()->Original()));
 
-    FieldAddress field_cid_operand(
-        result_reg, Field::guarded_cid_offset(), kUnsignedWord);
+    FieldAddress field_cid_operand(result_reg, Field::guarded_cid_offset(),
+                                   kUnsignedWord);
     FieldAddress field_nullability_operand(
         result_reg, Field::is_nullable_offset(), kUnsignedWord);
 
@@ -2313,11 +2296,8 @@
 
     {
       __ Bind(&load_double);
-      BoxAllocationSlowPath::Allocate(compiler,
-                                      this,
-                                      compiler->double_class(),
-                                      result_reg,
-                                      temp);
+      BoxAllocationSlowPath::Allocate(compiler, this, compiler->double_class(),
+                                      result_reg, temp);
       __ LoadFieldFromOffset(temp, instance_reg, offset_in_bytes());
       __ LoadDFieldFromOffset(VTMP, temp, Double::value_offset());
       __ StoreDFieldToOffset(VTMP, result_reg, Double::value_offset());
@@ -2326,11 +2306,8 @@
 
     {
       __ Bind(&load_float32x4);
-      BoxAllocationSlowPath::Allocate(compiler,
-                                      this,
-                                      compiler->float32x4_class(),
-                                      result_reg,
-                                      temp);
+      BoxAllocationSlowPath::Allocate(
+          compiler, this, compiler->float32x4_class(), result_reg, temp);
       __ LoadFieldFromOffset(temp, instance_reg, offset_in_bytes());
       __ LoadQFieldFromOffset(VTMP, temp, Float32x4::value_offset());
       __ StoreQFieldToOffset(VTMP, result_reg, Float32x4::value_offset());
@@ -2339,11 +2316,8 @@
 
     {
       __ Bind(&load_float64x2);
-      BoxAllocationSlowPath::Allocate(compiler,
-                                      this,
-                                      compiler->float64x2_class(),
-                                      result_reg,
-                                      temp);
+      BoxAllocationSlowPath::Allocate(
+          compiler, this, compiler->float64x2_class(), result_reg, temp);
       __ LoadFieldFromOffset(temp, instance_reg, offset_in_bytes());
       __ LoadQFieldFromOffset(VTMP, temp, Float64x2::value_offset());
       __ StoreQFieldToOffset(VTMP, result_reg, Float64x2::value_offset());
@@ -2361,8 +2335,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(R0));
   locs->set_out(0, Location::RegisterLocation(R0));
   return locs;
@@ -2378,23 +2352,21 @@
   __ PushObject(Object::null_object());  // Make room for the result.
   __ PushObject(type());
   __ Push(instantiator_reg);  // Push instantiator type arguments.
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kInstantiateTypeRuntimeEntry,
-                                2,
-                                locs());
-  __ Drop(2);  // Drop instantiator and uninstantiated type.
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kInstantiateTypeRuntimeEntry, 2, locs());
+  __ Drop(2);          // Drop instantiator and uninstantiated type.
   __ Pop(result_reg);  // Pop instantiated type.
   ASSERT(instantiator_reg == result_reg);
 }
 
 
 LocationSummary* InstantiateTypeArgumentsInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(R0));
   locs->set_out(0, Location::RegisterLocation(R0));
   return locs;
@@ -2446,12 +2418,10 @@
   __ PushObject(Object::null_object());  // Make room for the result.
   __ PushObject(type_arguments());
   __ Push(instantiator_reg);  // Push instantiator type arguments.
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kInstantiateTypeArgumentsRuntimeEntry,
-                                2,
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kInstantiateTypeArgumentsRuntimeEntry, 2,
                                 locs());
-  __ Drop(2);  // Drop instantiator and uninstantiated type arguments.
+  __ Drop(2);          // Drop instantiator and uninstantiated type arguments.
   __ Pop(result_reg);  // Pop instantiated type arguments.
   __ Bind(&type_arguments_instantiated);
 }
@@ -2463,7 +2433,7 @@
   ASSERT(opt);
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 3;
-  LocationSummary* locs = new(zone) LocationSummary(
+  LocationSummary* locs = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   locs->set_temp(0, Location::RegisterLocation(R1));
   locs->set_temp(1, Location::RegisterLocation(R2));
@@ -2477,7 +2447,7 @@
  public:
   explicit AllocateContextSlowPath(
       AllocateUninitializedContextInstr* instruction)
-      : instruction_(instruction) { }
+      : instruction_(instruction) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     __ Comment("AllocateContextSlowPath");
@@ -2494,8 +2464,7 @@
     compiler->AddStubCallTarget(stub);
     compiler->GenerateCall(instruction_->token_pos(),
                            *StubCode::AllocateContext_entry(),
-                           RawPcDescriptors::kOther,
-                           locs);
+                           RawPcDescriptors::kOther, locs);
     ASSERT(instruction_->locs()->out(0).reg() == R0);
     compiler->RestoreLiveRegisters(instruction_->locs());
     __ b(exit_label());
@@ -2506,7 +2475,6 @@
 };
 
 
-
 void AllocateUninitializedContextInstr::EmitNativeCode(
     FlowGraphCompiler* compiler) {
   Register temp0 = locs()->temp(0).reg();
@@ -2520,9 +2488,7 @@
 
   __ TryAllocateArray(kContextCid, instance_size, slow_path->entry_label(),
                       result,  // instance
-                      temp0,
-                      temp1,
-                      temp2);
+                      temp0, temp1, temp2);
 
   // Setup up number of context variables field.
   __ LoadImmediate(temp0, num_context_variables());
@@ -2536,8 +2502,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_temp(0, Location::RegisterLocation(R1));
   locs->set_out(0, Location::RegisterLocation(R0));
   return locs;
@@ -2549,18 +2515,16 @@
   ASSERT(locs()->out(0).reg() == R0);
 
   __ LoadImmediate(R1, num_context_variables());
-  compiler->GenerateCall(token_pos(),
-                         *StubCode::AllocateContext_entry(),
-                         RawPcDescriptors::kOther,
-                         locs());
+  compiler->GenerateCall(token_pos(), *StubCode::AllocateContext_entry(),
+                         RawPcDescriptors::kOther, locs());
 }
 
 LocationSummary* InitStaticFieldInstr::MakeLocationSummary(Zone* zone,
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(R0));
   locs->set_temp(0, Location::RegisterLocation(R1));
   return locs;
@@ -2582,11 +2546,8 @@
   __ Bind(&call_runtime);
   __ PushObject(Object::null_object());  // Make room for (unused) result.
   __ Push(field);
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kInitStaticFieldRuntimeEntry,
-                                1,
-                                locs());
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kInitStaticFieldRuntimeEntry, 1, locs());
   __ Drop(2);  // Remove argument and result placeholder.
   __ Bind(&no_call);
 }
@@ -2596,8 +2557,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(R0));
   locs->set_out(0, Location::RegisterLocation(R0));
   return locs;
@@ -2610,12 +2571,9 @@
 
   __ PushObject(Object::null_object());  // Make room for the result.
   __ Push(context_value);
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kCloneContextRuntimeEntry,
-                                1,
-                                locs());
-  __ Drop(1);  // Remove argument.
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kCloneContextRuntimeEntry, 1, locs());
+  __ Drop(1);      // Remove argument.
   __ Pop(result);  // Get result (cloned context).
 }
 
@@ -2629,19 +2587,16 @@
 
 void CatchBlockEntryInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   __ Bind(compiler->GetJumpLabel(this));
-  compiler->AddExceptionHandler(catch_try_index(),
-                                try_index(),
+  compiler->AddExceptionHandler(catch_try_index(), try_index(),
                                 compiler->assembler()->CodeSize(),
-                                catch_handler_types_,
-                                needs_stacktrace());
+                                catch_handler_types_, needs_stacktrace());
   // On lazy deoptimization we patch the optimized code here to enter the
   // deoptimization stub.
   const intptr_t deopt_id = Thread::ToDeoptAfter(GetDeoptId());
   if (compiler->is_optimizing()) {
     compiler->AddDeoptIndexAtCall(deopt_id);
   } else {
-    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                   deopt_id,
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id,
                                    TokenPosition::kNoSource);
   }
   if (HasParallelMove()) {
@@ -2657,10 +2612,10 @@
 
   // Restore stack and initialize the two exception variables:
   // exception and stack trace variables.
-  __ StoreToOffset(kExceptionObjectReg,
-                   FP, exception_var().index() * kWordSize);
-  __ StoreToOffset(kStackTraceObjectReg,
-                   FP, stacktrace_var().index() * kWordSize);
+  __ StoreToOffset(kExceptionObjectReg, FP,
+                   exception_var().index() * kWordSize);
+  __ StoreToOffset(kStackTraceObjectReg, FP,
+                   stacktrace_var().index() * kWordSize);
 }
 
 
@@ -2668,7 +2623,7 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
+  LocationSummary* summary = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_temp(0, Location::RequiresRegister());
   return summary;
@@ -2678,7 +2633,7 @@
 class CheckStackOverflowSlowPath : public SlowPathCode {
  public:
   explicit CheckStackOverflowSlowPath(CheckStackOverflowInstr* instruction)
-      : instruction_(instruction) { }
+      : instruction_(instruction) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (FLAG_use_osr && osr_entry_label()->IsLinked()) {
@@ -2696,11 +2651,9 @@
     ASSERT(compiler->pending_deoptimization_env_ == NULL);
     Environment* env = compiler->SlowPathEnvironmentFor(instruction_);
     compiler->pending_deoptimization_env_ = env;
-    compiler->GenerateRuntimeCall(instruction_->token_pos(),
-                                  instruction_->deopt_id(),
-                                  kStackOverflowRuntimeEntry,
-                                  0,
-                                  instruction_->locs());
+    compiler->GenerateRuntimeCall(
+        instruction_->token_pos(), instruction_->deopt_id(),
+        kStackOverflowRuntimeEntry, 0, instruction_->locs());
 
     if (FLAG_use_osr && !compiler->is_optimizing() && instruction_->in_loop()) {
       // In unoptimized code, record loop stack checks as possible OSR entries.
@@ -2741,8 +2694,7 @@
     __ LoadObject(temp, compiler->parsed_function().function());
     intptr_t threshold =
         FLAG_optimization_counter_threshold * (loop_depth() + 1);
-    __ LoadFieldFromOffset(
-        temp, temp, Function::usage_counter_offset(), kWord);
+    __ LoadFieldFromOffset(temp, temp, Function::usage_counter_offset(), kWord);
     __ CompareImmediate(temp, threshold);
     __ b(slow_path->osr_entry_label(), GE);
   }
@@ -2758,9 +2710,10 @@
   const LocationSummary& locs = *shift_left->locs();
   const Register left = locs.in(0).reg();
   const Register result = locs.out(0).reg();
-  Label* deopt = shift_left->CanDeoptimize() ?
-      compiler->AddDeoptStub(shift_left->deopt_id(), ICData::kDeoptBinarySmiOp)
-      : NULL;
+  Label* deopt = shift_left->CanDeoptimize()
+                     ? compiler->AddDeoptStub(shift_left->deopt_id(),
+                                              ICData::kDeoptBinarySmiOp)
+                     : NULL;
   if (locs.in(1).IsConstant()) {
     const Object& constant = locs.in(1).constant();
     ASSERT(constant.IsSmi());
@@ -2799,7 +2752,7 @@
           !RangeUtils::IsWithin(right_range, 0, max_right - 1);
       if (right_needs_check) {
         __ CompareImmediate(right,
-            reinterpret_cast<int64_t>(Smi::New(max_right)));
+                            reinterpret_cast<int64_t>(Smi::New(max_right)));
         __ b(deopt, CS);
       }
       __ SmiUntag(TMP, right);
@@ -2820,8 +2773,8 @@
         __ b(deopt, MI);
       }
 
-      __ CompareImmediate(
-          right, reinterpret_cast<int64_t>(Smi::New(Smi::kBits)));
+      __ CompareImmediate(right,
+                          reinterpret_cast<int64_t>(Smi::New(Smi::kBits)));
       __ csel(result, ZR, result, CS);
       __ SmiUntag(TMP, right);
       __ lslv(TMP, left, TMP);
@@ -2833,8 +2786,8 @@
   } else {
     if (right_needs_check) {
       ASSERT(shift_left->CanDeoptimize());
-      __ CompareImmediate(
-          right, reinterpret_cast<int64_t>(Smi::New(Smi::kBits)));
+      __ CompareImmediate(right,
+                          reinterpret_cast<int64_t>(Smi::New(Smi::kBits)));
       __ b(deopt, CS);
     }
     // Left is not a constant.
@@ -2855,7 +2808,7 @@
 class CheckedSmiSlowPath : public SlowPathCode {
  public:
   CheckedSmiSlowPath(CheckedSmiOpInstr* instruction, intptr_t try_index)
-      : instruction_(instruction), try_index_(try_index) { }
+      : instruction_(instruction), try_index_(try_index) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
@@ -2870,12 +2823,9 @@
     __ Push(locs->in(0).reg());
     __ Push(locs->in(1).reg());
     compiler->EmitMegamorphicInstanceCall(
-        *instruction_->call()->ic_data(),
-        instruction_->call()->ArgumentCount(),
-        instruction_->call()->deopt_id(),
-        instruction_->call()->token_pos(),
-        locs,
-        try_index_,
+        *instruction_->call()->ic_data(), instruction_->call()->ArgumentCount(),
+        instruction_->call()->deopt_id(), instruction_->call()->token_pos(),
+        locs, try_index_,
         /* slow_path_argument_count = */ 2);
     __ mov(result, R0);
     compiler->RestoreLiveRegisters(locs);
@@ -2892,7 +2842,7 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
+  LocationSummary* summary = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
@@ -2954,6 +2904,31 @@
     case Token::kBIT_XOR:
       __ eor(result, left, Operand(right));
       break;
+    case Token::kSHL:
+      ASSERT(result != left);
+      ASSERT(result != right);
+      __ CompareImmediate(right,
+                          reinterpret_cast<int64_t>(Smi::New(Smi::kBits)));
+      __ b(slow_path->entry_label(), CS);
+
+      __ SmiUntag(TMP, right);
+      __ lslv(result, left, TMP);
+      __ asrv(TMP2, result, TMP);
+      __ CompareRegisters(left, TMP2);
+      __ b(slow_path->entry_label(), NE);  // Overflow.
+      break;
+    case Token::kSHR:
+      ASSERT(result != left);
+      ASSERT(result != right);
+      __ CompareImmediate(right,
+                          reinterpret_cast<int64_t>(Smi::New(Smi::kBits)));
+      __ b(slow_path->entry_label(), CS);
+
+      __ SmiUntag(result, right);
+      __ SmiUntag(TMP, left);
+      __ asrv(result, TMP, result);
+      __ SmiTag(result);
+      break;
     default:
       UNIMPLEMENTED();
   }
@@ -2970,7 +2945,7 @@
       : instruction_(instruction),
         try_index_(try_index),
         labels_(labels),
-        merged_(merged) { }
+        merged_(merged) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
@@ -2985,21 +2960,19 @@
     __ Push(locs->in(0).reg());
     __ Push(locs->in(1).reg());
     compiler->EmitMegamorphicInstanceCall(
-        *instruction_->call()->ic_data(),
-        instruction_->call()->ArgumentCount(),
-        instruction_->call()->deopt_id(),
-        instruction_->call()->token_pos(),
-        locs,
-        try_index_,
+        *instruction_->call()->ic_data(), instruction_->call()->ArgumentCount(),
+        instruction_->call()->deopt_id(), instruction_->call()->token_pos(),
+        locs, try_index_,
         /* slow_path_argument_count = */ 2);
     __ mov(result, R0);
     compiler->RestoreLiveRegisters(locs);
     if (merged_) {
       __ CompareObject(result, Bool::True());
-      __ b(instruction_->is_negated()
-           ? labels_.false_label : labels_.true_label, EQ);
-      __ b(instruction_->is_negated()
-           ? labels_.true_label : labels_.false_label);
+      __ b(
+          instruction_->is_negated() ? labels_.false_label : labels_.true_label,
+          EQ);
+      __ b(instruction_->is_negated() ? labels_.true_label
+                                      : labels_.false_label);
     } else {
       __ b(exit_label());
     }
@@ -3014,10 +2987,11 @@
 
 
 LocationSummary* CheckedSmiComparisonInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
+  LocationSummary* summary = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
@@ -3028,7 +3002,8 @@
 
 
 Condition CheckedSmiComparisonInstr::EmitComparisonCode(
-    FlowGraphCompiler* compiler, BranchLabels labels) {
+    FlowGraphCompiler* compiler,
+    BranchLabels labels) {
   return EmitSmiComparisonOp(compiler, locs(), kind());
 }
 
@@ -3055,11 +3030,9 @@
 void CheckedSmiComparisonInstr::EmitBranchCode(FlowGraphCompiler* compiler,
                                                BranchInstr* branch) {
   BranchLabels labels = compiler->CreateBranchLabels(branch);
-  CheckedSmiComparisonSlowPath* slow_path =
-      new CheckedSmiComparisonSlowPath(this,
-                                       compiler->CurrentTryIndex(),
-                                       labels,
-                                       /* merged = */ true);
+  CheckedSmiComparisonSlowPath* slow_path = new CheckedSmiComparisonSlowPath(
+      this, compiler->CurrentTryIndex(), labels,
+      /* merged = */ true);
   compiler->AddSlowPathCode(slow_path);
   EMIT_SMI_CHECK;
   Condition true_condition = EmitComparisonCode(compiler, labels);
@@ -3070,16 +3043,13 @@
 
 void CheckedSmiComparisonInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Label true_label, false_label, done;
-  BranchLabels labels = { &true_label, &false_label, &false_label };
-  CheckedSmiComparisonSlowPath* slow_path =
-      new CheckedSmiComparisonSlowPath(this,
-                                       compiler->CurrentTryIndex(),
-                                       labels,
-                                       /* merged = */ false);
+  BranchLabels labels = {&true_label, &false_label, &false_label};
+  CheckedSmiComparisonSlowPath* slow_path = new CheckedSmiComparisonSlowPath(
+      this, compiler->CurrentTryIndex(), labels,
+      /* merged = */ false);
   compiler->AddSlowPathCode(slow_path);
   EMIT_SMI_CHECK;
-  Condition true_condition =
-      EmitComparisonCode(compiler, labels);
+  Condition true_condition = EmitComparisonCode(compiler, labels);
   EmitBranchOnCondition(compiler, true_condition, labels);
   Register result = locs()->out(0).reg();
   __ Bind(&false_label);
@@ -3095,11 +3065,12 @@
 LocationSummary* BinarySmiOpInstr::MakeLocationSummary(Zone* zone,
                                                        bool opt) const {
   const intptr_t kNumInputs = 2;
-  const intptr_t kNumTemps =
-      (((op_kind() == Token::kSHL) && can_overflow()) ||
-       (op_kind() == Token::kSHR)) ? 1 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  const intptr_t kNumTemps = (((op_kind() == Token::kSHL) && can_overflow()) ||
+                              (op_kind() == Token::kSHR))
+                                 ? 1
+                                 : 0;
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   if (op_kind() == Token::kTRUNCDIV) {
     summary->set_in(0, Location::RequiresRegister());
     if (RightIsPowerOfTwoConstant()) {
@@ -3215,8 +3186,8 @@
         // Asr operation masks the count to 6 bits.
         const intptr_t kCountLimit = 0x3F;
         intptr_t value = Smi::Cast(constant).Value();
-        __ AsrImmediate(
-            result, left, Utils::Minimum(value + kSmiTagSize, kCountLimit));
+        __ AsrImmediate(result, left,
+                        Utils::Minimum(value + kSmiTagSize, kCountLimit));
         __ SmiTag(result);
         break;
       }
@@ -3253,11 +3224,11 @@
       if (deopt == NULL) {
         __ mul(result, TMP, right);
       } else {
-          __ mul(result, TMP, right);
-          __ smulh(TMP, TMP, right);
-          // TMP: result bits 64..127.
-          __ cmp(TMP, Operand(result, ASR, 63));
-          __ b(deopt, NE);
+        __ mul(result, TMP, right);
+        __ smulh(TMP, TMP, right);
+        // TMP: result bits 64..127.
+        __ cmp(TMP, Operand(result, ASR, 63));
+        __ b(deopt, NE);
       }
       break;
     }
@@ -3376,8 +3347,8 @@
   ASSERT((left_cid != kDoubleCid) && (right_cid != kDoubleCid));
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   return summary;
@@ -3385,9 +3356,9 @@
 
 
 void CheckEitherNonSmiInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  Label* deopt = compiler->AddDeoptStub(deopt_id(),
-                                        ICData::kDeoptBinaryDoubleOp,
-                                        licm_hoisted_ ? ICData::kHoisted : 0);
+  Label* deopt =
+      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptBinaryDoubleOp,
+                             licm_hoisted_ ? ICData::kHoisted : 0);
   intptr_t left_cid = left()->Type()->ToCid();
   intptr_t right_cid = right()->Type()->ToCid();
   const Register left = locs()->in(0).reg();
@@ -3406,11 +3377,10 @@
 }
 
 
-LocationSummary* BoxInstr::MakeLocationSummary(Zone* zone,
-                                               bool opt) const {
+LocationSummary* BoxInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
+  LocationSummary* summary = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_temp(0, Location::RequiresRegister());
@@ -3424,12 +3394,9 @@
   const Register temp_reg = locs()->temp(0).reg();
   const VRegister value = locs()->in(0).fpu_reg();
 
-  BoxAllocationSlowPath::Allocate(
-      compiler,
-      this,
-      compiler->BoxClassFor(from_representation()),
-      out_reg,
-      temp_reg);
+  BoxAllocationSlowPath::Allocate(compiler, this,
+                                  compiler->BoxClassFor(from_representation()),
+                                  out_reg, temp_reg);
 
   switch (from_representation()) {
     case kUnboxedDouble:
@@ -3447,12 +3414,11 @@
 }
 
 
-LocationSummary* UnboxInstr::MakeLocationSummary(Zone* zone,
-                                                 bool opt) const {
+LocationSummary* UnboxInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -3522,8 +3488,8 @@
     EmitSmiConversion(compiler);
   } else {
     const Register box = locs()->in(0).reg();
-    Label* deopt = compiler->AddDeoptStub(GetDeoptId(),
-                                          ICData::kDeoptCheckClass);
+    Label* deopt =
+        compiler->AddDeoptStub(GetDeoptId(), ICData::kDeoptCheckClass);
     Label is_smi;
 
     if ((value()->Type()->ToNullableCid() == box_cid) &&
@@ -3556,11 +3522,8 @@
          (from_representation() == kUnboxedUint32));
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone,
-      kNumInputs,
-      kNumTemps,
-      LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresRegister());
   return summary;
@@ -3591,8 +3554,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresRegister());
   return summary;
@@ -3603,8 +3566,10 @@
   const intptr_t value_cid = value()->Type()->ToCid();
   const Register out = locs()->out(0).reg();
   const Register value = locs()->in(0).reg();
-  Label* deopt = CanDeoptimize() ?
-      compiler->AddDeoptStub(GetDeoptId(), ICData::kDeoptUnboxInteger) : NULL;
+  Label* deopt =
+      CanDeoptimize()
+          ? compiler->AddDeoptStub(GetDeoptId(), ICData::kDeoptUnboxInteger)
+          : NULL;
 
   if (value_cid == kSmiCid) {
     __ SmiUntag(out, value);
@@ -3646,8 +3611,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -3660,11 +3625,20 @@
   const VRegister right = locs()->in(1).fpu_reg();
   const VRegister result = locs()->out(0).fpu_reg();
   switch (op_kind()) {
-    case Token::kADD: __ faddd(result, left, right); break;
-    case Token::kSUB: __ fsubd(result, left, right); break;
-    case Token::kMUL: __ fmuld(result, left, right); break;
-    case Token::kDIV: __ fdivd(result, left, right); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ faddd(result, left, right);
+      break;
+    case Token::kSUB:
+      __ fsubd(result, left, right);
+      break;
+    case Token::kMUL:
+      __ fmuld(result, left, right);
+      break;
+    case Token::kDIV:
+      __ fdivd(result, left, right);
+      break;
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -3674,8 +3648,8 @@
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps =
       op_kind() == MethodRecognizer::kDouble_getIsInfinite ? 1 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   if (op_kind() == MethodRecognizer::kDouble_getIsInfinite) {
     summary->set_temp(0, Location::RequiresRegister());
@@ -3718,7 +3692,7 @@
 void DoubleTestOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   ASSERT(compiler->is_optimizing());
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
   const Register result = locs()->out(0).reg();
   if (op_kind() == MethodRecognizer::kDouble_getIsNaN) {
@@ -3737,8 +3711,8 @@
                                                              bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -3752,11 +3726,20 @@
   const VRegister result = locs()->out(0).fpu_reg();
 
   switch (op_kind()) {
-    case Token::kADD: __ vadds(result, left, right); break;
-    case Token::kSUB: __ vsubs(result, left, right); break;
-    case Token::kMUL: __ vmuls(result, left, right); break;
-    case Token::kDIV: __ vdivs(result, left, right); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ vadds(result, left, right);
+      break;
+    case Token::kSUB:
+      __ vsubs(result, left, right);
+      break;
+    case Token::kMUL:
+      __ vmuls(result, left, right);
+      break;
+    case Token::kDIV:
+      __ vdivs(result, left, right);
+      break;
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -3765,8 +3748,8 @@
                                                              bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -3780,11 +3763,20 @@
   const VRegister result = locs()->out(0).fpu_reg();
 
   switch (op_kind()) {
-    case Token::kADD: __ vaddd(result, left, right); break;
-    case Token::kSUB: __ vsubd(result, left, right); break;
-    case Token::kMUL: __ vmuld(result, left, right); break;
-    case Token::kDIV: __ vdivd(result, left, right); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ vaddd(result, left, right);
+      break;
+    case Token::kSUB:
+      __ vsubd(result, left, right);
+      break;
+    case Token::kMUL:
+      __ vmuld(result, left, right);
+      break;
+    case Token::kDIV:
+      __ vdivd(result, left, right);
+      break;
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -3793,8 +3785,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new LocationSummary(zone, kNumInputs, kNumTemps,
+                                                 LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -3830,7 +3822,7 @@
         __ vdups(result, value, 1);
       } else if (mask_ == 0xAA) {
         __ vdups(result, value, 2);
-      } else  if (mask_ == 0xFF) {
+      } else if (mask_ == 0xFF) {
         __ vdups(result, value, 3);
       } else {
         __ vinss(result, 0, value, mask_ & 0x3);
@@ -3839,7 +3831,8 @@
         __ vinss(result, 3, value, (mask_ >> 6) & 0x3);
       }
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -3848,8 +3841,8 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new LocationSummary(zone, kNumInputs, kNumTemps,
+                                                 LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -3870,7 +3863,8 @@
       __ vinss(result, 2, right, (mask_ >> 4) & 0x3);
       __ vinss(result, 3, right, (mask_ >> 6) & 0x3);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -3879,8 +3873,8 @@
                                                                bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary =  new LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new LocationSummary(zone, kNumInputs, kNumTemps,
+                                                 LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_temp(0, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresRegister());
@@ -3914,11 +3908,12 @@
 
 
 LocationSummary* Float32x4ConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 4;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_in(2, Location::RequiresFpuRegister());
@@ -3950,8 +3945,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
 }
@@ -3967,8 +3962,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -3991,8 +3986,8 @@
                                                                bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -4027,7 +4022,8 @@
       __ vcges(result, right, left);
       break;
 
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4036,8 +4032,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -4057,7 +4053,8 @@
     case MethodRecognizer::kFloat32x4Max:
       __ vmaxs(result, left, right);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4066,8 +4063,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -4088,7 +4085,8 @@
     case MethodRecognizer::kFloat32x4ReciprocalSqrt:
       __ VRSqrts(result, left);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4097,8 +4095,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -4117,7 +4115,8 @@
       __ vdups(result, VTMP, 0);
       __ vmuls(result, result, right);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4126,8 +4125,8 @@
                                                             bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new LocationSummary(zone, kNumInputs, kNumTemps,
+                                                 LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -4145,7 +4144,8 @@
     case MethodRecognizer::kFloat32x4Absolute:
       __ vabss(result, left);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4154,8 +4154,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 3;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_in(2, Location::RequiresFpuRegister());
@@ -4178,8 +4178,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new LocationSummary(zone, kNumInputs, kNumTemps,
+                                                 LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -4210,7 +4210,8 @@
     case MethodRecognizer::kFloat32x4WithW:
       __ vinss(result, 3, VTMP, 0);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4219,8 +4220,8 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new LocationSummary(zone, kNumInputs, kNumTemps,
+                                                 LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -4241,8 +4242,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -4260,7 +4261,8 @@
     case MethodRecognizer::kFloat64x2GetY:
       __ vinsd(result, 0, value, 1);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4269,8 +4271,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
 }
@@ -4286,8 +4288,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -4302,11 +4304,12 @@
 
 
 LocationSummary* Float64x2ConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -4324,11 +4327,12 @@
 
 
 LocationSummary* Float64x2ToFloat32x4Instr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new LocationSummary(zone, kNumInputs, kNumTemps,
+                                                 LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -4353,11 +4357,12 @@
 
 
 LocationSummary* Float32x4ToFloat64x2Instr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new LocationSummary(zone, kNumInputs, kNumTemps,
+                                                 LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -4383,8 +4388,8 @@
                                                             bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
 
   if (representation() == kTagged) {
     ASSERT(op_kind() == MethodRecognizer::kFloat64x2GetSignMask);
@@ -4428,7 +4433,8 @@
     case MethodRecognizer::kFloat64x2Sqrt:
       __ vsqrtd(result, value);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4437,8 +4443,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new LocationSummary(zone, kNumInputs, kNumTemps,
+                                                 LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4469,17 +4475,18 @@
     case MethodRecognizer::kFloat64x2Max:
       __ vmaxd(out, left, right);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
 
-LocationSummary* Int32x4ConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+LocationSummary* Int32x4ConstructorInstr::MakeLocationSummary(Zone* zone,
+                                                              bool opt) const {
   const intptr_t kNumInputs = 4;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_in(2, Location::RequiresRegister());
@@ -4504,11 +4511,12 @@
 
 
 LocationSummary* Int32x4BoolConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 4;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new LocationSummary(zone, kNumInputs, kNumTemps,
+                                                 LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_in(2, Location::RequiresRegister());
@@ -4557,8 +4565,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new LocationSummary(zone, kNumInputs, kNumTemps,
+                                                 LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresRegister());
   return summary;
@@ -4582,7 +4590,8 @@
     case MethodRecognizer::kInt32x4GetFlagW:
       __ vmovrs(result, value, 3);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 
   __ tst(result, Operand(result));
@@ -4596,8 +4605,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 3;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new LocationSummary(zone, kNumInputs, kNumTemps,
+                                                 LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_in(2, Location::RequiresFpuRegister());
@@ -4631,8 +4640,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new LocationSummary(zone, kNumInputs, kNumTemps,
+                                                 LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -4665,7 +4674,8 @@
     case MethodRecognizer::kInt32x4WithFlagW:
       __ vinsw(result, 3, TMP);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4674,8 +4684,8 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new LocationSummary(zone, kNumInputs, kNumTemps,
+                                                 LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -4696,8 +4706,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new LocationSummary(zone, kNumInputs, kNumTemps,
+                                                 LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -4710,12 +4720,23 @@
   const VRegister right = locs()->in(1).fpu_reg();
   const VRegister result = locs()->out(0).fpu_reg();
   switch (op_kind()) {
-    case Token::kBIT_AND: __ vand(result, left, right); break;
-    case Token::kBIT_OR: __ vorr(result, left, right); break;
-    case Token::kBIT_XOR: __ veor(result, left, right); break;
-    case Token::kADD: __ vaddw(result, left, right); break;
-    case Token::kSUB: __ vsubw(result, left, right); break;
-    default: UNREACHABLE();
+    case Token::kBIT_AND:
+      __ vand(result, left, right);
+      break;
+    case Token::kBIT_OR:
+      __ vorr(result, left, right);
+      break;
+    case Token::kBIT_XOR:
+      __ veor(result, left, right);
+      break;
+    case Token::kADD:
+      __ vaddw(result, left, right);
+      break;
+    case Token::kSUB:
+      __ vsubw(result, left, right);
+      break;
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4726,8 +4747,8 @@
          (kind() == MathUnaryInstr::kDoubleSquare));
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -4750,10 +4771,11 @@
 
 
 LocationSummary* CaseInsensitiveCompareUC16Instr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, InputCount(), kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, InputCount(), kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(R0));
   summary->set_in(1, Location::RegisterLocation(R1));
   summary->set_in(2, Location::RegisterLocation(R2));
@@ -4765,7 +4787,6 @@
 
 void CaseInsensitiveCompareUC16Instr::EmitNativeCode(
     FlowGraphCompiler* compiler) {
-
   // Call the function.
   __ CallRuntime(TargetFunction(), TargetFunction().argument_count());
 }
@@ -4776,8 +4797,8 @@
   if (result_cid() == kDoubleCid) {
     const intptr_t kNumInputs = 2;
     const intptr_t kNumTemps = 0;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresFpuRegister());
     summary->set_in(1, Location::RequiresFpuRegister());
     // Reuse the left register so that code can be made shorter.
@@ -4787,8 +4808,8 @@
   ASSERT(result_cid() == kSmiCid);
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   // Reuse the left register so that code can be made shorter.
@@ -4861,8 +4882,8 @@
                                                       bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   // We make use of 3-operand instructions by not requiring result register
   // to be identical to first input register as on Intel.
@@ -4896,8 +4917,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -4912,11 +4933,11 @@
 
 
 LocationSummary* Int32ToDoubleInstr::MakeLocationSummary(Zone* zone,
-                                                       bool opt) const {
+                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresRegister());
   result->set_out(0, Location::RequiresFpuRegister());
   return result;
@@ -4934,8 +4955,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresRegister());
   result->set_out(0, Location::RequiresFpuRegister());
   return result;
@@ -4966,8 +4987,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   result->set_in(0, Location::RegisterLocation(R1));
   result->set_out(0, Location::RegisterLocation(R0));
   return result;
@@ -5003,13 +5024,10 @@
   const Function& target = Function::ZoneHandle(ic_data.GetTargetAt(0));
 
   const intptr_t kNumberOfArguments = 1;
-  compiler->GenerateStaticCall(deopt_id(),
-                               instance_call()->token_pos(),
-                               target,
+  compiler->GenerateStaticCall(deopt_id(), instance_call()->token_pos(), target,
                                kNumberOfArguments,
                                Object::null_array(),  // No argument names.,
-                               locs(),
-                               ICData::Handle());
+                               locs(), ICData::Handle());
   __ Bind(&done);
 }
 
@@ -5018,8 +5036,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresFpuRegister());
   result->set_out(0, Location::RequiresRegister());
   return result;
@@ -5060,8 +5078,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresFpuRegister());
   result->set_out(0, Location::RequiresFpuRegister());
   return result;
@@ -5079,8 +5097,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresFpuRegister());
   result->set_out(0, Location::RequiresFpuRegister());
   return result;
@@ -5099,8 +5117,8 @@
   ASSERT((InputCount() == 1) || (InputCount() == 2));
   const intptr_t kNumTemps =
       (recognized_kind() == MethodRecognizer::kMathDoublePow) ? 1 : 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, InputCount(), kNumTemps, LocationSummary::kCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, InputCount(), kNumTemps, LocationSummary::kCall);
   result->set_in(0, Location::FpuRegisterLocation(V0));
   if (InputCount() == 2) {
     result->set_in(1, Location::FpuRegisterLocation(V1));
@@ -5147,7 +5165,7 @@
   // exponent == 0.0 -> return 1.0;
   __ fcmpdz(exp);
   __ b(&check_base, VS);  // NaN -> check base.
-  __ b(&skip_call, EQ);  // exp is 0.0, result is 1.0.
+  __ b(&skip_call, EQ);   // exp is 0.0, result is 1.0.
 
   // exponent == 1.0 ?
   __ fcmpd(exp, result);
@@ -5240,27 +5258,27 @@
   // Only use this instruction in optimized code.
   ASSERT(opt);
   const intptr_t kNumInputs = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, 0, LocationSummary::kNoCall);
+  LocationSummary* summary =
+      new (zone) LocationSummary(zone, kNumInputs, 0, LocationSummary::kNoCall);
   if (representation() == kUnboxedDouble) {
     if (index() == 0) {
-      summary->set_in(0, Location::Pair(Location::RequiresFpuRegister(),
-                                        Location::Any()));
+      summary->set_in(
+          0, Location::Pair(Location::RequiresFpuRegister(), Location::Any()));
     } else {
       ASSERT(index() == 1);
-      summary->set_in(0, Location::Pair(Location::Any(),
-                                        Location::RequiresFpuRegister()));
+      summary->set_in(
+          0, Location::Pair(Location::Any(), Location::RequiresFpuRegister()));
     }
     summary->set_out(0, Location::RequiresFpuRegister());
   } else {
     ASSERT(representation() == kTagged);
     if (index() == 0) {
-      summary->set_in(0, Location::Pair(Location::RequiresRegister(),
-                                        Location::Any()));
+      summary->set_in(
+          0, Location::Pair(Location::RequiresRegister(), Location::Any()));
     } else {
       ASSERT(index() == 1);
-      summary->set_in(0, Location::Pair(Location::Any(),
-                                        Location::RequiresRegister()));
+      summary->set_in(
+          0, Location::Pair(Location::Any(), Location::RequiresRegister()));
     }
     summary->set_out(0, Location::RequiresRegister());
   }
@@ -5290,8 +5308,8 @@
   if (kind() == MergedMathInstr::kTruncDivMod) {
     const intptr_t kNumInputs = 2;
     const intptr_t kNumTemps = 0;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     summary->set_in(1, Location::RequiresRegister());
     // Output is a pair of registers.
@@ -5364,13 +5382,13 @@
 
 
 LocationSummary* PolymorphicInstanceCallInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   return MakeCallSummary(zone);
 }
 
 
-LocationSummary* BranchInstr::MakeLocationSummary(Zone* zone,
-                                                  bool opt) const {
+LocationSummary* BranchInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   comparison()->InitializeLocationSummary(zone, opt);
   // Branches don't produce a result.
   comparison()->locs()->set_out(0, Location::NoLocation());
@@ -5388,8 +5406,8 @@
   const intptr_t kNumInputs = 1;
   const bool need_mask_temp = IsDenseSwitch() && !IsDenseMask(ComputeCidMask());
   const intptr_t kNumTemps = !IsNullCheck() ? (need_mask_temp ? 2 : 1) : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   if (!IsNullCheck()) {
     summary->set_temp(0, Location::RequiresRegister());
@@ -5402,8 +5420,7 @@
 
 
 void CheckClassInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  Label* deopt = compiler->AddDeoptStub(deopt_id(),
-                                        ICData::kDeoptCheckClass,
+  Label* deopt = compiler->AddDeoptStub(deopt_id(), ICData::kDeoptCheckClass,
                                         licm_hoisted_ ? ICData::kHoisted : 0);
   if (IsNullCheck()) {
     __ CompareObject(locs()->in(0).reg(), Object::null_object());
@@ -5446,8 +5463,7 @@
 
   } else {
     GrowableArray<CidTarget> sorted_ic_data;
-    FlowGraphCompiler::SortICDataByCount(unary_checks(),
-                                         &sorted_ic_data,
+    FlowGraphCompiler::SortICDataByCount(unary_checks(), &sorted_ic_data,
                                          /* drop_smi = */ true);
     const intptr_t num_checks = sorted_ic_data.length();
     for (intptr_t i = 0; i < num_checks; i++) {
@@ -5469,8 +5485,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   return summary;
 }
@@ -5488,8 +5504,8 @@
                                                     bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   return summary;
 }
@@ -5497,19 +5513,17 @@
 
 void CheckSmiInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   const Register value = locs()->in(0).reg();
-  Label* deopt = compiler->AddDeoptStub(deopt_id(),
-                                        ICData::kDeoptCheckSmi,
+  Label* deopt = compiler->AddDeoptStub(deopt_id(), ICData::kDeoptCheckSmi,
                                         licm_hoisted_ ? ICData::kHoisted : 0);
   __ BranchIfNotSmi(value, deopt);
 }
 
 
-
 LocationSummary* GenericCheckBoundInstr::MakeLocationSummary(Zone* zone,
                                                              bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
+  LocationSummary* locs = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   locs->set_in(kLengthPos, Location::RequiresRegister());
   locs->set_in(kIndexPos, Location::RequiresRegister());
@@ -5520,7 +5534,7 @@
 class RangeErrorSlowPath : public SlowPathCode {
  public:
   RangeErrorSlowPath(GenericCheckBoundInstr* instruction, intptr_t try_index)
-      : instruction_(instruction), try_index_(try_index) { }
+      : instruction_(instruction), try_index_(try_index) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
@@ -5532,11 +5546,8 @@
     __ Push(locs->in(1).reg());
     __ CallRuntime(kRangeErrorRuntimeEntry, 2);
     compiler->pc_descriptors_list()->AddDescriptor(
-        RawPcDescriptors::kOther,
-        compiler->assembler()->CodeSize(),
-        instruction_->deopt_id(),
-        instruction_->token_pos(),
-        try_index_);
+        RawPcDescriptors::kOther, compiler->assembler()->CodeSize(),
+        instruction_->deopt_id(), instruction_->token_pos(), try_index_);
     compiler->RecordSafepoint(locs, 2);
     __ brk(0);
   }
@@ -5569,8 +5580,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(kLengthPos, Location::RegisterOrSmiConstant(length()));
   locs->set_in(kIndexPos, Location::RegisterOrSmiConstant(index()));
   return locs;
@@ -5580,10 +5591,8 @@
 void CheckArrayBoundInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   uint32_t flags = generalized_ ? ICData::kGeneralized : 0;
   flags |= licm_hoisted_ ? ICData::kHoisted : 0;
-  Label* deopt = compiler->AddDeoptStub(
-      deopt_id(),
-      ICData::kDeoptCheckArrayBound,
-      flags);
+  Label* deopt =
+      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptCheckArrayBound, flags);
 
   Location length_loc = locs()->in(kLengthPos);
   Location index_loc = locs()->in(kIndexPos);
@@ -5703,8 +5712,8 @@
                                                                bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   if (from() == kUnboxedMint) {
     UNREACHABLE();
   } else if (to() == kUnboxedMint) {
@@ -5756,42 +5765,33 @@
 }
 
 
-LocationSummary* ThrowInstr::MakeLocationSummary(Zone* zone,
-                                                 bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
+LocationSummary* ThrowInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
 }
 
 
 void ThrowInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kThrowRuntimeEntry,
-                                1,
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(), kThrowRuntimeEntry, 1,
                                 locs());
   __ brk(0);
 }
 
 
-LocationSummary* ReThrowInstr::MakeLocationSummary(Zone* zone,
-                                                   bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
+LocationSummary* ReThrowInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
 }
 
 
 void ReThrowInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   compiler->SetNeedsStacktrace(catch_try_index());
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kReThrowRuntimeEntry,
-                                2,
-                                locs());
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(), kReThrowRuntimeEntry,
+                                2, locs());
   __ brk(0);
 }
 
 
-LocationSummary* StopInstr::MakeLocationSummary(Zone* zone,
-                                                bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
+LocationSummary* StopInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
 }
 
 
@@ -5807,9 +5807,8 @@
 }
 
 
-LocationSummary* GotoInstr::MakeLocationSummary(Zone* zone,
-                                                bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
+LocationSummary* GotoInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
 }
 
 
@@ -5820,8 +5819,7 @@
     }
     // Add a deoptimization descriptor for deoptimizing instructions that
     // may be inserted before this instruction.
-    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                   GetDeoptId(),
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, GetDeoptId(),
                                    TokenPosition::kNoSource);
   }
   if (HasParallelMove()) {
@@ -5841,8 +5839,8 @@
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
 
-  LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
 
   summary->set_in(0, Location::RequiresRegister());
   summary->set_temp(0, Location::RequiresRegister());
@@ -5865,10 +5863,9 @@
 
   // Add the offset.
   Register offset_reg = locs()->in(0).reg();
-  Operand offset_opr =
-      (offset()->definition()->representation() == kTagged) ?
-      Operand(offset_reg, ASR, kSmiTagSize) :
-      Operand(offset_reg);
+  Operand offset_opr = (offset()->definition()->representation() == kTagged)
+                           ? Operand(offset_reg, ASR, kSmiTagSize)
+                           : Operand(offset_reg);
   __ add(target_address_reg, target_address_reg, offset_opr);
 
   // Jump to the absolute address.
@@ -5881,15 +5878,15 @@
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
   if (needs_number_check()) {
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
     locs->set_in(0, Location::RegisterLocation(R0));
     locs->set_in(1, Location::RegisterLocation(R1));
     locs->set_out(0, Location::RegisterLocation(R0));
     return locs;
   }
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RegisterOrConstant(left()));
   // Only one of the inputs can be a constant. Choose register if the first one
   // is a constant.
@@ -5908,20 +5905,14 @@
   ASSERT(!left.IsConstant() || !right.IsConstant());
   Condition true_condition;
   if (left.IsConstant()) {
-    true_condition = compiler->EmitEqualityRegConstCompare(right.reg(),
-                                                           left.constant(),
-                                                           needs_number_check(),
-                                                           token_pos());
+    true_condition = compiler->EmitEqualityRegConstCompare(
+        right.reg(), left.constant(), needs_number_check(), token_pos());
   } else if (right.IsConstant()) {
-    true_condition = compiler->EmitEqualityRegConstCompare(left.reg(),
-                                                           right.constant(),
-                                                           needs_number_check(),
-                                                           token_pos());
+    true_condition = compiler->EmitEqualityRegConstCompare(
+        left.reg(), right.constant(), needs_number_check(), token_pos());
   } else {
-    true_condition = compiler->EmitEqualityRegRegCompare(left.reg(),
-                                                         right.reg(),
-                                                         needs_number_check(),
-                                                         token_pos());
+    true_condition = compiler->EmitEqualityRegRegCompare(
+        left.reg(), right.reg(), needs_number_check(), token_pos());
   }
   if (kind() != Token::kEQ_STRICT) {
     ASSERT(kind() == Token::kNE_STRICT);
@@ -5936,7 +5927,7 @@
   ASSERT(kind() == Token::kEQ_STRICT || kind() == Token::kNE_STRICT);
 
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
   EmitBranchOnCondition(compiler, true_condition, labels);
 
@@ -5963,9 +5954,7 @@
 
 LocationSummary* BooleanNegateInstr::MakeLocationSummary(Zone* zone,
                                                          bool opt) const {
-  return LocationSummary::Make(zone,
-                               1,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, 1, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -5991,9 +5980,7 @@
   const Code& stub = Code::ZoneHandle(
       compiler->zone(), StubCode::GetAllocationStubForClass(cls()));
   const StubEntry stub_entry(stub);
-  compiler->GenerateCall(token_pos(),
-                         stub_entry,
-                         RawPcDescriptors::kOther,
+  compiler->GenerateCall(token_pos(), stub_entry, RawPcDescriptors::kOther,
                          locs());
   compiler->AddStubCallTarget(stub);
   __ Drop(ArgumentCount());  // Discard arguments.
@@ -6008,12 +5995,12 @@
 }
 
 
-LocationSummary* GrowRegExpStackInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+LocationSummary* GrowRegExpStackInstr::MakeLocationSummary(Zone* zone,
+                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(R0));
   locs->set_out(0, Location::RegisterLocation(R0));
   return locs;
@@ -6025,11 +6012,8 @@
   const Register result = locs()->out(0).reg();
   __ PushObject(Object::null_object());
   __ Push(typed_data);
-  compiler->GenerateRuntimeCall(TokenPosition::kNoSource,
-                                deopt_id(),
-                                kGrowRegExpStackRuntimeEntry,
-                                1,
-                                locs());
+  compiler->GenerateRuntimeCall(TokenPosition::kNoSource, deopt_id(),
+                                kGrowRegExpStackRuntimeEntry, 1, locs());
   __ Drop(1);
   __ Pop(result);
 }
diff --git a/runtime/vm/intermediate_language_dbc.cc b/runtime/vm/intermediate_language_dbc.cc
index ec13a83..207153d 100644
--- a/runtime/vm/intermediate_language_dbc.cc
+++ b/runtime/vm/intermediate_language_dbc.cc
@@ -43,7 +43,7 @@
   M(BinaryUint32Op)                                                            \
   M(ShiftUint32Op)                                                             \
   M(UnaryUint32Op)                                                             \
-  M(UnboxedIntConverter)                                                       \
+  M(UnboxedIntConverter)
 
 // List of instructions that are not used by DBC.
 // Things we aren't planning to implement for DBC:
@@ -92,7 +92,7 @@
   M(Float64x2ZeroArg)                                                          \
   M(Float64x2OneArg)                                                           \
   M(CheckedSmiOp)                                                              \
-  M(CheckedSmiComparison)                                                      \
+  M(CheckedSmiComparison)
 
 // Location summaries actually are not used by the unoptimizing DBC compiler
 // because we don't allocate any registers.
@@ -102,11 +102,12 @@
     Location output = Location::NoLocation(),
     LocationSummary::ContainsCall contains_call = LocationSummary::kNoCall,
     intptr_t num_temps = 0) {
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, num_inputs, num_temps, contains_call);
+  LocationSummary* locs =
+      new (zone) LocationSummary(zone, num_inputs, num_temps, contains_call);
   for (intptr_t i = 0; i < num_inputs; i++) {
-    locs->set_in(i, (contains_call == LocationSummary::kNoCall) ?
-        Location::RequiresRegister() : Location::RegisterLocation(i));
+    locs->set_in(i, (contains_call == LocationSummary::kNoCall)
+                        ? Location::RequiresRegister()
+                        : Location::RegisterLocation(i));
   }
   for (intptr_t i = 0; i < num_temps; i++) {
     locs->set_temp(i, Location::RequiresRegister());
@@ -123,25 +124,25 @@
   LocationSummary* Name##Instr::MakeLocationSummary(Zone* zone, bool opt)      \
       const {                                                                  \
     return CreateLocationSummary(zone, __VA_ARGS__);                           \
-  }                                                                            \
+  }
 
 #define EMIT_NATIVE_CODE(Name, ...)                                            \
   DEFINE_MAKE_LOCATION_SUMMARY(Name, __VA_ARGS__);                             \
-  void Name##Instr::EmitNativeCode(FlowGraphCompiler* compiler)                \
+  void Name##Instr::EmitNativeCode(FlowGraphCompiler* compiler)
 
 #define DEFINE_UNIMPLEMENTED_MAKE_LOCATION_SUMMARY(Name)                       \
   LocationSummary* Name##Instr::MakeLocationSummary(Zone* zone, bool opt)      \
       const {                                                                  \
     if (!opt) UNIMPLEMENTED();                                                 \
     return NULL;                                                               \
-  }                                                                            \
+  }
 
 #define DEFINE_UNREACHABLE_MAKE_LOCATION_SUMMARY(Name)                         \
   LocationSummary* Name##Instr::MakeLocationSummary(Zone* zone, bool opt)      \
       const {                                                                  \
     UNREACHABLE();                                                             \
     return NULL;                                                               \
-  }                                                                            \
+  }
 
 #define DEFINE_UNIMPLEMENTED_EMIT_NATIVE_CODE(Name)                            \
   void Name##Instr::EmitNativeCode(FlowGraphCompiler* compiler) {              \
@@ -165,7 +166,7 @@
 
 #define DEFINE_UNIMPLEMENTED(Name)                                             \
   DEFINE_UNIMPLEMENTED_MAKE_LOCATION_SUMMARY(Name)                             \
-  DEFINE_UNIMPLEMENTED_EMIT_NATIVE_CODE(Name)                                  \
+  DEFINE_UNIMPLEMENTED_EMIT_NATIVE_CODE(Name)
 
 FOR_EACH_UNIMPLEMENTED_INSTRUCTION(DEFINE_UNIMPLEMENTED)
 
@@ -173,7 +174,7 @@
 
 #define DEFINE_UNREACHABLE(Name)                                               \
   DEFINE_UNREACHABLE_MAKE_LOCATION_SUMMARY(Name)                               \
-  DEFINE_UNREACHABLE_EMIT_NATIVE_CODE(Name)                                    \
+  DEFINE_UNREACHABLE_EMIT_NATIVE_CODE(Name)
 
 FOR_EACH_UNREACHABLE_INSTRUCTION(DEFINE_UNREACHABLE)
 
@@ -184,7 +185,9 @@
 DEFINE_UNIMPLEMENTED_EMIT_BRANCH_CODE(CheckedSmiComparison)
 
 
-EMIT_NATIVE_CODE(InstanceOf, 2, Location::SameAsFirstInput(),
+EMIT_NATIVE_CODE(InstanceOf,
+                 2,
+                 Location::SameAsFirstInput(),
                  LocationSummary::kCall) {
   SubtypeTestCache& test_cache = SubtypeTestCache::Handle();
   if (!type().IsVoidType() && type().IsInstantiated()) {
@@ -199,33 +202,32 @@
   __ PushConstant(type());
   __ PushConstant(test_cache);
   __ InstanceOf(negate_result() ? 1 : 0);
-  compiler->RecordSafepoint(locs());
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-                                 deopt_id(),
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
                                  token_pos());
-
+  compiler->RecordAfterCall(this);
   if (compiler->is_optimizing()) {
     __ PopLocal(locs()->out(0).reg());
   }
 }
 
 
-DEFINE_MAKE_LOCATION_SUMMARY(AssertAssignable, 2,
+DEFINE_MAKE_LOCATION_SUMMARY(AssertAssignable,
+                             2,
                              Location::SameAsFirstInput(),
                              LocationSummary::kCall);
 
 
 EMIT_NATIVE_CODE(AssertBoolean,
-                 1, Location::SameAsFirstInput(),
+                 1,
+                 Location::SameAsFirstInput(),
                  LocationSummary::kCall) {
   if (compiler->is_optimizing()) {
     __ Push(locs()->in(0).reg());
   }
   __ AssertBoolean(Isolate::Current()->type_checks() ? 1 : 0);
-  compiler->RecordSafepoint(locs());
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-                                 deopt_id(),
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
                                  token_pos());
+  compiler->RecordAfterCall(this);
   if (compiler->is_optimizing()) {
     __ Drop1();
   }
@@ -233,13 +235,12 @@
 
 
 EMIT_NATIVE_CODE(PolymorphicInstanceCall,
-                 0, Location::RegisterLocation(0),
+                 0,
+                 Location::RegisterLocation(0),
                  LocationSummary::kCall) {
   ASSERT(ic_data().NumArgsTested() == 1);
-  const Array& arguments_descriptor =
-      Array::Handle(ArgumentsDescriptor::New(
-          instance_call()->ArgumentCount(),
-          instance_call()->argument_names()));
+  const Array& arguments_descriptor = Array::Handle(ArgumentsDescriptor::New(
+      instance_call()->ArgumentCount(), instance_call()->argument_names()));
   const intptr_t argdesc_kidx = __ AddConstant(arguments_descriptor);
 
   // Push the target onto the stack.
@@ -247,19 +248,18 @@
     const intptr_t may_be_smi =
         (ic_data().GetReceiverClassIdAt(0) == kSmiCid) ? 1 : 0;
     GrowableArray<CidTarget> sorted_ic_data;
-    FlowGraphCompiler::SortICDataByCount(ic_data(),
-                                         &sorted_ic_data,
+    FlowGraphCompiler::SortICDataByCount(ic_data(), &sorted_ic_data,
                                          /* drop_smi = */ true);
     const intptr_t sorted_length = sorted_ic_data.length();
     if (!Utils::IsUint(8, sorted_length)) {
       Unsupported(compiler);
       UNREACHABLE();
     }
-    __ PushPolymorphicInstanceCall(
-        instance_call()->ArgumentCount(), sorted_length + may_be_smi);
+    __ PushPolymorphicInstanceCall(instance_call()->ArgumentCount(),
+                                   sorted_length + may_be_smi);
     if (may_be_smi == 1) {
-      const Function& target = Function::ZoneHandle(
-          compiler->zone(), ic_data().GetTargetAt(0));
+      const Function& target =
+          Function::ZoneHandle(compiler->zone(), ic_data().GetTargetAt(0));
       __ Nop(compiler->ToEmbeddableCid(kSmiCid, this));
       __ Nop(__ AddConstant(target));
     }
@@ -268,8 +268,8 @@
       __ Nop(compiler->ToEmbeddableCid(sorted_ic_data[i].cid, this));
       __ Nop(__ AddConstant(target));
     }
-    compiler->EmitDeopt(
-        deopt_id(), ICData::kDeoptPolymorphicInstanceCallTestFail, 0);
+    compiler->EmitDeopt(deopt_id(),
+                        ICData::kDeoptPolymorphicInstanceCallTestFail, 0);
   } else {
     ASSERT(ic_data().HasOneTarget());
     const Function& target = Function::ZoneHandle(ic_data().GetTargetAt(0));
@@ -278,8 +278,8 @@
 
   // Call the function.
   __ StaticCall(instance_call()->ArgumentCount(), argdesc_kidx);
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-      deopt_id(), instance_call()->token_pos());
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
+                                 instance_call()->token_pos());
   compiler->RecordAfterCall(this);
   __ PopLocal(locs()->out(0).reg());
 }
@@ -291,11 +291,11 @@
 
 
 EMIT_NATIVE_CODE(CheckStackOverflow,
-                 0, Location::NoLocation(),
+                 0,
+                 Location::NoLocation(),
                  LocationSummary::kCall) {
   __ CheckStack();
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-                                 deopt_id(),
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
                                  token_pos());
   compiler->RecordAfterCall(this);
 }
@@ -319,11 +319,11 @@
   ASSERT(!compiler->is_optimizing());
   ASSERT(local().index() != 0);
   if (HasTemp()) {
-    __ StoreLocal(
-      (local().index() > 0) ? (-local().index()) : (-local().index() - 1));
+    __ StoreLocal((local().index() > 0) ? (-local().index())
+                                        : (-local().index() - 1));
   } else {
-    __ PopLocal(
-      (local().index() > 0) ? (-local().index()) : (-local().index() - 1));
+    __ PopLocal((local().index() > 0) ? (-local().index())
+                                      : (-local().index() - 1));
   }
 }
 
@@ -376,12 +376,12 @@
 }
 
 
-LocationSummary* StoreStaticFieldInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+LocationSummary* StoreStaticFieldInstr::MakeLocationSummary(Zone* zone,
+                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   for (intptr_t i = 0; i < kNumInputs; i++) {
     locs->set_in(i, Location::RequiresRegister());
   }
@@ -408,8 +408,7 @@
 
 EMIT_NATIVE_CODE(LoadStaticField, 1, Location::RequiresRegister()) {
   if (compiler->is_optimizing()) {
-    __ LoadField(locs()->out(0).reg(),
-                 locs()->in(0).reg(),
+    __ LoadField(locs()->out(0).reg(), locs()->in(0).reg(),
                  Field::static_value_offset() / kWordSize);
   } else {
     const intptr_t kidx = __ AddConstant(StaticField());
@@ -418,9 +417,13 @@
 }
 
 
-EMIT_NATIVE_CODE(InitStaticField, 0) {
-  ASSERT(!compiler->is_optimizing());
-  __ InitStaticTOS();
+EMIT_NATIVE_CODE(InitStaticField, 1) {
+  if (compiler->is_optimizing()) {
+    __ Push(locs()->in(0).reg());
+    __ InitStaticTOS();
+  } else {
+    __ InitStaticTOS();
+  }
 }
 
 
@@ -433,9 +436,8 @@
   }
 
   intptr_t argument_count = ArgumentCount();
-  const Array& arguments_descriptor =
-      Array::ZoneHandle(ArgumentsDescriptor::New(argument_count,
-                                                 argument_names()));
+  const Array& arguments_descriptor = Array::ZoneHandle(
+      ArgumentsDescriptor::New(argument_count, argument_names()));
   const intptr_t argdesc_kidx =
       compiler->assembler()->AddConstant(arguments_descriptor);
   __ StaticCall(argument_count, argdesc_kidx);
@@ -477,8 +479,7 @@
 
 Condition StrictCompareInstr::EmitComparisonCode(FlowGraphCompiler* compiler,
                                                  BranchLabels labels) {
-  ASSERT((kind() == Token::kNE_STRICT) ||
-         (kind() == Token::kEQ_STRICT));
+  ASSERT((kind() == Token::kNE_STRICT) || (kind() == Token::kEQ_STRICT));
 
   Token::Kind comparison;
   Condition condition;
@@ -488,32 +489,31 @@
   } else {
     // Flip comparison to save a jump.
     condition = NEXT_IS_FALSE;
-    comparison = (kind() == Token::kEQ_STRICT) ? Token::kNE_STRICT
-                                               : Token::kEQ_STRICT;
+    comparison =
+        (kind() == Token::kEQ_STRICT) ? Token::kNE_STRICT : Token::kEQ_STRICT;
   }
 
   if (!compiler->is_optimizing()) {
-    const Bytecode::Opcode eq_op = needs_number_check() ?
-        Bytecode::kIfEqStrictNumTOS : Bytecode::kIfEqStrictTOS;
-    const Bytecode::Opcode ne_op = needs_number_check() ?
-        Bytecode::kIfNeStrictNumTOS : Bytecode::kIfNeStrictTOS;
+    const Bytecode::Opcode eq_op = needs_number_check()
+                                       ? Bytecode::kIfEqStrictNumTOS
+                                       : Bytecode::kIfEqStrictTOS;
+    const Bytecode::Opcode ne_op = needs_number_check()
+                                       ? Bytecode::kIfNeStrictNumTOS
+                                       : Bytecode::kIfNeStrictTOS;
     __ Emit(comparison == Token::kEQ_STRICT ? eq_op : ne_op);
   } else {
-    const Bytecode::Opcode eq_op = needs_number_check() ?
-        Bytecode::kIfEqStrictNum : Bytecode::kIfEqStrict;
-    const Bytecode::Opcode ne_op = needs_number_check() ?
-        Bytecode::kIfNeStrictNum : Bytecode::kIfNeStrict;
-    __ Emit(Bytecode::Encode(
-        (comparison == Token::kEQ_STRICT) ? eq_op : ne_op,
-        locs()->in(0).reg(),
-        locs()->in(1).reg()));
+    const Bytecode::Opcode eq_op =
+        needs_number_check() ? Bytecode::kIfEqStrictNum : Bytecode::kIfEqStrict;
+    const Bytecode::Opcode ne_op =
+        needs_number_check() ? Bytecode::kIfNeStrictNum : Bytecode::kIfNeStrict;
+    __ Emit(Bytecode::Encode((comparison == Token::kEQ_STRICT) ? eq_op : ne_op,
+                             locs()->in(0).reg(), locs()->in(1).reg()));
   }
 
   if (needs_number_check() && token_pos().IsReal()) {
     compiler->RecordSafepoint(locs());
     compiler->AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall,
-                                   Thread::kNoDeoptId,
-                                   token_pos());
+                                   Thread::kNoDeoptId, token_pos());
   }
 
   return condition;
@@ -522,8 +522,7 @@
 
 void StrictCompareInstr::EmitBranchCode(FlowGraphCompiler* compiler,
                                         BranchInstr* branch) {
-  ASSERT((kind() == Token::kEQ_STRICT) ||
-         (kind() == Token::kNE_STRICT));
+  ASSERT((kind() == Token::kEQ_STRICT) || (kind() == Token::kNE_STRICT));
 
   BranchLabels labels = compiler->CreateBranchLabels(branch);
   Condition true_condition = EmitComparisonCode(compiler, labels);
@@ -536,11 +535,10 @@
                  Location::RequiresRegister(),
                  needs_number_check() ? LocationSummary::kCall
                                       : LocationSummary::kNoCall) {
-  ASSERT((kind() == Token::kEQ_STRICT) ||
-         (kind() == Token::kNE_STRICT));
+  ASSERT((kind() == Token::kEQ_STRICT) || (kind() == Token::kNE_STRICT));
 
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
   EmitBranchOnCondition(compiler, true_condition, labels);
   Label done;
@@ -563,8 +561,7 @@
 }
 
 
-LocationSummary* BranchInstr::MakeLocationSummary(Zone* zone,
-                                                  bool opt) const {
+LocationSummary* BranchInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   comparison()->InitializeLocationSummary(zone, opt);
   if (!comparison()->HasLocs()) {
     return NULL;
@@ -584,8 +581,7 @@
   if (!compiler->is_optimizing()) {
     // Add a deoptimization descriptor for deoptimizing instructions that
     // may be inserted before this instruction.
-    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                   GetDeoptId(),
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, GetDeoptId(),
                                    TokenPosition::kNoSource);
   }
   if (HasParallelMove()) {
@@ -601,8 +597,7 @@
 
 Condition TestSmiInstr::EmitComparisonCode(FlowGraphCompiler* compiler,
                                            BranchLabels labels) {
-  ASSERT((kind() == Token::kEQ) ||
-         (kind() == Token::kNE));
+  ASSERT((kind() == Token::kEQ) || (kind() == Token::kNE));
   Register left = locs()->in(0).reg();
   Register right = locs()->in(1).reg();
   __ TestSmi(left, right);
@@ -628,7 +623,7 @@
 
 
 Condition TestCidsInstr::EmitComparisonCode(FlowGraphCompiler* compiler,
-                                           BranchLabels labels) {
+                                            BranchLabels labels) {
   ASSERT((kind() == Token::kIS) || (kind() == Token::kISNOT));
   const Register value = locs()->in(0).reg();
   const intptr_t true_result = (kind() == Token::kIS) ? 1 : 0;
@@ -647,8 +642,7 @@
 
   // No match found, deoptimize or false.
   if (CanDeoptimize()) {
-    compiler->EmitDeopt(deopt_id(),
-                        ICData::kDeoptTestCids,
+    compiler->EmitDeopt(deopt_id(), ICData::kDeoptTestCids,
                         licm_hoisted_ ? ICData::kHoisted : 0);
   } else {
     Label* target = result ? labels.false_label : labels.true_label;
@@ -667,11 +661,13 @@
 }
 
 
-EMIT_NATIVE_CODE(TestCids, 1, Location::RequiresRegister(),
+EMIT_NATIVE_CODE(TestCids,
+                 1,
+                 Location::RequiresRegister(),
                  LocationSummary::kNoCall) {
   Register result_reg = locs()->out(0).reg();
   Label is_true, is_false, done;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   EmitComparisonCode(compiler, labels);
   __ Jump(&is_true);
   __ Bind(&is_false);
@@ -684,7 +680,8 @@
 
 
 EMIT_NATIVE_CODE(CreateArray,
-                 2, Location::RequiresRegister(),
+                 2,
+                 Location::RequiresRegister(),
                  LocationSummary::kCall) {
   if (compiler->is_optimizing()) {
     const Register length = locs()->in(kLengthPos).reg();
@@ -694,17 +691,20 @@
     __ Push(type_arguments);
     __ Push(length);
     __ CreateArrayTOS();
-    compiler->RecordSafepoint(locs());
+    compiler->RecordAfterCall(this);
     __ PopLocal(out);
   } else {
     __ CreateArrayTOS();
-    compiler->RecordSafepoint(locs());
+    compiler->RecordAfterCall(this);
   }
 }
 
 
-EMIT_NATIVE_CODE(StoreIndexed, 3, Location::NoLocation(),
-                 LocationSummary::kNoCall, 1) {
+EMIT_NATIVE_CODE(StoreIndexed,
+                 3,
+                 Location::NoLocation(),
+                 LocationSummary::kNoCall,
+                 1) {
   if (!compiler->is_optimizing()) {
     ASSERT(class_id() == kArrayCid);
     __ StoreIndexedTOS();
@@ -783,8 +783,11 @@
 }
 
 
-EMIT_NATIVE_CODE(LoadIndexed, 2, Location::RequiresRegister(),
-                 LocationSummary::kNoCall, 1) {
+EMIT_NATIVE_CODE(LoadIndexed,
+                 2,
+                 Location::RequiresRegister(),
+                 LocationSummary::kNoCall,
+                 1) {
   ASSERT(compiler->is_optimizing());
   const Register array = locs()->in(0).reg();
   const Register index = locs()->in(1).reg();
@@ -894,7 +897,8 @@
 
 
 EMIT_NATIVE_CODE(StringInterpolate,
-                 1, Location::RegisterLocation(0),
+                 1,
+                 Location::RegisterLocation(0),
                  LocationSummary::kCall) {
   if (compiler->is_optimizing()) {
     __ Push(locs()->in(0).reg());
@@ -913,7 +917,8 @@
 
 
 EMIT_NATIVE_CODE(NativeCall,
-                 0, Location::NoLocation(),
+                 0,
+                 Location::NoLocation(),
                  LocationSummary::kCall) {
   SetupNative();
 
@@ -933,14 +938,14 @@
     __ NativeCall();
   }
   compiler->RecordSafepoint(locs());
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-                                 Thread::kNoDeoptId,
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
                                  token_pos());
 }
 
 
 EMIT_NATIVE_CODE(OneByteStringFromCharCode,
-                 1, Location::RequiresRegister(),
+                 1,
+                 Location::RequiresRegister(),
                  LocationSummary::kNoCall) {
   ASSERT(compiler->is_optimizing());
   const Register char_code = locs()->in(0).reg();  // Char code is a smi.
@@ -950,7 +955,8 @@
 
 
 EMIT_NATIVE_CODE(StringToCharCode,
-                 1, Location::RequiresRegister(),
+                 1,
+                 Location::RequiresRegister(),
                  LocationSummary::kNoCall) {
   ASSERT(cid_ == kOneByteStringCid);
   const Register str = locs()->in(0).reg();
@@ -960,7 +966,8 @@
 
 
 EMIT_NATIVE_CODE(AllocateObject,
-                 0, Location::RequiresRegister(),
+                 0,
+                 Location::RequiresRegister(),
                  LocationSummary::kCall) {
   if (ArgumentCount() == 1) {
     // Allocate with type arguments.
@@ -975,8 +982,8 @@
         ASSERT(cls().id() != kIllegalCid);
         tags = RawObject::ClassIdTag::update(cls().id(), tags);
         if (Smi::IsValid(tags)) {
-          const intptr_t tags_kidx = __ AddConstant(
-              Smi::Handle(Smi::New(tags)));
+          const intptr_t tags_kidx =
+              __ AddConstant(Smi::Handle(Smi::New(tags)));
           __ AllocateTOpt(locs()->out(0).reg(), tags_kidx);
           __ Nop(cls().type_arguments_field_offset());
         }
@@ -984,16 +991,14 @@
       __ PushConstant(cls());
       __ AllocateT();
       compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-                                     Thread::kNoDeoptId,
-                                     token_pos());
+                                     Thread::kNoDeoptId, token_pos());
       compiler->RecordSafepoint(locs());
       __ PopLocal(locs()->out(0).reg());
     } else {
       __ PushConstant(cls());
       __ AllocateT();
       compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-                                     Thread::kNoDeoptId,
-                                     token_pos());
+                                     Thread::kNoDeoptId, token_pos());
       compiler->RecordSafepoint(locs());
     }
   } else if (compiler->is_optimizing()) {
@@ -1013,16 +1018,14 @@
     }
     const intptr_t kidx = __ AddConstant(cls());
     __ Allocate(kidx);
-    compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-                                   Thread::kNoDeoptId,
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
                                    token_pos());
     compiler->RecordSafepoint(locs());
     __ PopLocal(locs()->out(0).reg());
   } else {
     const intptr_t kidx = __ AddConstant(cls());
     __ Allocate(kidx);
-    compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-                                   Thread::kNoDeoptId,
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
                                    token_pos());
     compiler->RecordSafepoint(locs());
   }
@@ -1086,42 +1089,42 @@
 
 
 EMIT_NATIVE_CODE(AllocateContext,
-                 0, Location::RequiresRegister(),
+                 0,
+                 Location::RequiresRegister(),
                  LocationSummary::kCall) {
   ASSERT(!compiler->is_optimizing());
   __ AllocateContext(num_context_variables());
   compiler->RecordSafepoint(locs());
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-                                 Thread::kNoDeoptId,
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
                                  token_pos());
 }
 
 
 EMIT_NATIVE_CODE(AllocateUninitializedContext,
-                 0, Location::RequiresRegister(),
+                 0,
+                 Location::RequiresRegister(),
                  LocationSummary::kCall) {
   ASSERT(compiler->is_optimizing());
   __ AllocateUninitializedContext(locs()->out(0).reg(),
                                   num_context_variables());
   __ AllocateContext(num_context_variables());
   compiler->RecordSafepoint(locs());
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-                                 Thread::kNoDeoptId,
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
                                  token_pos());
   __ PopLocal(locs()->out(0).reg());
 }
 
 
 EMIT_NATIVE_CODE(CloneContext,
-                 1, Location::RequiresRegister(),
+                 1,
+                 Location::RequiresRegister(),
                  LocationSummary::kCall) {
   if (compiler->is_optimizing()) {
     __ Push(locs()->in(0).reg());
   }
   __ CloneContext();
   compiler->RecordSafepoint(locs());
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-                                 Thread::kNoDeoptId,
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
                                  token_pos());
   if (compiler->is_optimizing()) {
     __ PopLocal(locs()->out(0).reg());
@@ -1131,11 +1134,9 @@
 
 EMIT_NATIVE_CODE(CatchBlockEntry, 0) {
   __ Bind(compiler->GetJumpLabel(this));
-  compiler->AddExceptionHandler(catch_try_index(),
-                                try_index(),
+  compiler->AddExceptionHandler(catch_try_index(), try_index(),
                                 compiler->assembler()->CodeSize(),
-                                catch_handler_types_,
-                                needs_stacktrace());
+                                catch_handler_types_, needs_stacktrace());
 
   if (HasParallelMove()) {
     compiler->parallel_move_resolver()->EmitNativeCode(parallel_move());
@@ -1145,9 +1146,11 @@
     // of the allocatable register range.
     const intptr_t num_non_copied_params =
         compiler->flow_graph().num_non_copied_params();
-    const intptr_t exception_reg = kNumberOfCpuRegisters -
+    const intptr_t exception_reg =
+        kNumberOfCpuRegisters -
         (-exception_var().index() + num_non_copied_params);
-    const intptr_t stacktrace_reg = kNumberOfCpuRegisters -
+    const intptr_t stacktrace_reg =
+        kNumberOfCpuRegisters -
         (-stacktrace_var().index() + num_non_copied_params);
     __ MoveSpecial(exception_reg, Simulator::kExceptionSpecialIndex);
     __ MoveSpecial(stacktrace_reg, Simulator::kStacktraceSpecialIndex);
@@ -1163,8 +1166,7 @@
 
 EMIT_NATIVE_CODE(Throw, 0, Location::NoLocation(), LocationSummary::kCall) {
   __ Throw(0);
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-                                 deopt_id(),
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
                                  token_pos());
   compiler->RecordAfterCall(this);
   __ Trap();
@@ -1174,23 +1176,22 @@
 EMIT_NATIVE_CODE(ReThrow, 0, Location::NoLocation(), LocationSummary::kCall) {
   compiler->SetNeedsStacktrace(catch_try_index());
   __ Throw(1);
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-                                 deopt_id(),
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
                                  token_pos());
   compiler->RecordAfterCall(this);
   __ Trap();
 }
 
 EMIT_NATIVE_CODE(InstantiateType,
-                 1, Location::RequiresRegister(),
+                 1,
+                 Location::RequiresRegister(),
                  LocationSummary::kCall) {
   if (compiler->is_optimizing()) {
     __ Push(locs()->in(0).reg());
   }
   __ InstantiateType(__ AddConstant(type()));
   compiler->RecordSafepoint(locs());
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-                                 deopt_id(),
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
                                  token_pos());
   if (compiler->is_optimizing()) {
     __ PopLocal(locs()->out(0).reg());
@@ -1198,7 +1199,8 @@
 }
 
 EMIT_NATIVE_CODE(InstantiateTypeArguments,
-                 1, Location::RequiresRegister(),
+                 1,
+                 Location::RequiresRegister(),
                  LocationSummary::kCall) {
   if (compiler->is_optimizing()) {
     __ Push(locs()->in(0).reg());
@@ -1207,8 +1209,7 @@
       type_arguments().IsRawInstantiatedRaw(type_arguments().Length()),
       __ AddConstant(type_arguments()));
   compiler->RecordSafepoint(locs());
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-                                 deopt_id(),
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, deopt_id(),
                                  token_pos());
   if (compiler->is_optimizing()) {
     __ PopLocal(locs()->out(0).reg());
@@ -1230,8 +1231,8 @@
 
 
 LocationSummary* Instruction::MakeCallSummary(Zone* zone) {
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, 0, 0, LocationSummary::kCall);
+  LocationSummary* result =
+      new (zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
   // TODO(vegorov) support allocating out registers for calls.
   // Currently we require them to be fixed.
   result->set_out(0, Location::RegisterLocation(0));
@@ -1258,8 +1259,8 @@
 
 
 bool ShiftMintOpInstr::has_shift_count_check() const {
-  return !RangeUtils::IsWithin(
-      right()->definition()->range(), 0, kMintShiftCountLimit);
+  return !RangeUtils::IsWithin(right()->definition()->range(), 0,
+                               kMintShiftCountLimit);
 }
 
 
@@ -1385,21 +1386,20 @@
 
 void Environment::DropArguments(intptr_t argc) {
 #if defined(DEBUG)
-    // Check that we are in the backend - register allocation has been run.
-    ASSERT(locations_ != NULL);
+  // Check that we are in the backend - register allocation has been run.
+  ASSERT(locations_ != NULL);
 
-    // Check that we are only dropping a valid number of instructions from the
-    // environment.
-    ASSERT(argc <= values_.length());
+  // Check that we are only dropping a valid number of instructions from the
+  // environment.
+  ASSERT(argc <= values_.length());
 #endif
-    values_.TruncateTo(values_.length() - argc);
+  values_.TruncateTo(values_.length() - argc);
 }
 
 
 EMIT_NATIVE_CODE(CheckSmi, 1) {
   __ CheckSmi(locs()->in(0).reg());
-  compiler->EmitDeopt(deopt_id(),
-                      ICData::kDeoptCheckSmi,
+  compiler->EmitDeopt(deopt_id(), ICData::kDeoptCheckSmi,
                       licm_hoisted_ ? ICData::kHoisted : 0);
 }
 
@@ -1414,8 +1414,7 @@
 
 
 EMIT_NATIVE_CODE(CheckClassId, 1) {
-  __ CheckClassId(locs()->in(0).reg(),
-                  compiler->ToEmbeddableCid(cid_, this));
+  __ CheckClassId(locs()->in(0).reg(), compiler->ToEmbeddableCid(cid_, this));
   compiler->EmitDeopt(deopt_id(), ICData::kDeoptCheckClass);
 }
 
@@ -1448,8 +1447,7 @@
       __ Nop(__ AddConstant(Smi::Handle(Smi::New(cid_mask))));
     } else {
       GrowableArray<CidTarget> sorted_ic_data;
-      FlowGraphCompiler::SortICDataByCount(unary_checks(),
-                                           &sorted_ic_data,
+      FlowGraphCompiler::SortICDataByCount(unary_checks(), &sorted_ic_data,
                                            /* drop_smi = */ true);
       const intptr_t sorted_length = sorted_ic_data.length();
       if (!Utils::IsUint(8, sorted_length)) {
@@ -1462,8 +1460,7 @@
       }
     }
   }
-  compiler->EmitDeopt(deopt_id(),
-                      ICData::kDeoptCheckClass,
+  compiler->EmitDeopt(deopt_id(), ICData::kDeoptCheckClass,
                       licm_hoisted_ ? ICData::kHoisted : 0);
 }
 
@@ -1561,8 +1558,7 @@
   }
   const intptr_t kidx = __ AddConstant(compiler->double_class());
   __ Allocate(kidx);
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
-                                 Thread::kNoDeoptId,
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kOther, Thread::kNoDeoptId,
                                  token_pos());
   compiler->RecordSafepoint(locs());
   __ PopLocal(out);
@@ -1581,7 +1577,7 @@
   } else if (CanConvertSmi() && (value_cid == kSmiCid)) {
     __ SmiToDouble(result, box);
   } else if ((value()->Type()->ToNullableCid() == box_cid) &&
-              value()->Type()->is_nullable()) {
+             value()->Type()->is_nullable()) {
     __ IfEqNull(box);
     compiler->EmitDeopt(GetDeoptId(), ICData::kDeoptCheckClass);
     __ UnboxDouble(result, box);
@@ -1647,11 +1643,20 @@
   const Register right = locs()->in(1).reg();
   const Register result = locs()->out(0).reg();
   switch (op_kind()) {
-    case Token::kADD: __ DAdd(result, left, right); break;
-    case Token::kSUB: __ DSub(result, left, right); break;
-    case Token::kMUL: __ DMul(result, left, right); break;
-    case Token::kDIV: __ DDiv(result, left, right); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ DAdd(result, left, right);
+      break;
+    case Token::kSUB:
+      __ DSub(result, left, right);
+      break;
+    case Token::kMUL:
+      __ DMul(result, left, right);
+      break;
+    case Token::kDIV:
+      __ DDiv(result, left, right);
+      break;
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -1679,8 +1684,8 @@
       UNREACHABLE();
   }
   const bool is_negated = kind() != Token::kEQ;
-  EmitBranchOnCondition(
-      compiler, is_negated ? NEXT_IS_FALSE : NEXT_IS_TRUE, labels);
+  EmitBranchOnCondition(compiler, is_negated ? NEXT_IS_FALSE : NEXT_IS_TRUE,
+                        labels);
 }
 
 
@@ -1759,7 +1764,8 @@
 
 
 EMIT_NATIVE_CODE(InvokeMathCFunction,
-                 InputCount(), Location::RequiresRegister()) {
+                 InputCount(),
+                 Location::RequiresRegister()) {
   const Register left = locs()->in(0).reg();
   const Register result = locs()->out(0).reg();
   if (recognized_kind() == MethodRecognizer::kMathDoublePow) {
@@ -1804,12 +1810,18 @@
 
 static Token::Kind FlipCondition(Token::Kind kind) {
   switch (kind) {
-    case Token::kEQ: return Token::kNE;
-    case Token::kNE: return Token::kEQ;
-    case Token::kLT: return Token::kGTE;
-    case Token::kGT: return Token::kLTE;
-    case Token::kLTE: return Token::kGT;
-    case Token::kGTE: return Token::kLT;
+    case Token::kEQ:
+      return Token::kNE;
+    case Token::kNE:
+      return Token::kEQ;
+    case Token::kLT:
+      return Token::kGTE;
+    case Token::kGT:
+      return Token::kLTE;
+    case Token::kLTE:
+      return Token::kGT;
+    case Token::kGTE:
+      return Token::kLT;
     default:
       UNREACHABLE();
       return Token::kNE;
@@ -1819,12 +1831,18 @@
 
 static Bytecode::Opcode OpcodeForSmiCondition(Token::Kind kind) {
   switch (kind) {
-    case Token::kEQ: return Bytecode::kIfEqStrict;
-    case Token::kNE: return Bytecode::kIfNeStrict;
-    case Token::kLT: return Bytecode::kIfLt;
-    case Token::kGT: return Bytecode::kIfGt;
-    case Token::kLTE: return Bytecode::kIfLe;
-    case Token::kGTE: return Bytecode::kIfGe;
+    case Token::kEQ:
+      return Bytecode::kIfEqStrict;
+    case Token::kNE:
+      return Bytecode::kIfNeStrict;
+    case Token::kLT:
+      return Bytecode::kIfLt;
+    case Token::kGT:
+      return Bytecode::kIfGt;
+    case Token::kLTE:
+      return Bytecode::kIfLe;
+    case Token::kGTE:
+      return Bytecode::kIfGe;
     default:
       UNREACHABLE();
       return Bytecode::kTrap;
@@ -1834,12 +1852,18 @@
 
 static Bytecode::Opcode OpcodeForDoubleCondition(Token::Kind kind) {
   switch (kind) {
-    case Token::kEQ: return Bytecode::kIfDEq;
-    case Token::kNE: return Bytecode::kIfDNe;
-    case Token::kLT: return Bytecode::kIfDLt;
-    case Token::kGT: return Bytecode::kIfDGt;
-    case Token::kLTE: return Bytecode::kIfDLe;
-    case Token::kGTE: return Bytecode::kIfDGe;
+    case Token::kEQ:
+      return Bytecode::kIfDEq;
+    case Token::kNE:
+      return Bytecode::kIfDNe;
+    case Token::kLT:
+      return Bytecode::kIfDLt;
+    case Token::kGT:
+      return Bytecode::kIfDGt;
+    case Token::kLTE:
+      return Bytecode::kIfDLe;
+    case Token::kGTE:
+      return Bytecode::kIfDGe;
     default:
       UNREACHABLE();
       return Bytecode::kTrap;
@@ -1903,7 +1927,7 @@
   // These labels are not used. They are arranged so that EmitComparisonCode
   // emits a test that executes the following instruction when the test
   // succeeds.
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   const Register result = locs()->out(0).reg();
   __ LoadConstant(result, Bool::False());
   Condition true_condition = EmitComparisonCode(compiler, labels);
@@ -1935,7 +1959,7 @@
 EMIT_NATIVE_CODE(RelationalOp, 2, Location::RequiresRegister()) {
   ASSERT(compiler->is_optimizing());
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   const Register result = locs()->out(0).reg();
   __ LoadConstant(result, Bool::False());
   Condition true_condition = EmitComparisonCode(compiler, labels);
@@ -1958,16 +1982,14 @@
   const intptr_t index_cid = this->index()->Type()->ToCid();
   if (index_cid != kSmiCid) {
     __ CheckSmi(index);
-    compiler->EmitDeopt(deopt_id(),
-                        ICData::kDeoptCheckArrayBound,
+    compiler->EmitDeopt(deopt_id(), ICData::kDeoptCheckArrayBound,
                         (generalized_ ? ICData::kGeneralized : 0) |
-                        (licm_hoisted_ ? ICData::kHoisted : 0));
+                            (licm_hoisted_ ? ICData::kHoisted : 0));
   }
   __ IfULe(length, index);
-  compiler->EmitDeopt(deopt_id(),
-                      ICData::kDeoptCheckArrayBound,
+  compiler->EmitDeopt(deopt_id(), ICData::kDeoptCheckArrayBound,
                       (generalized_ ? ICData::kGeneralized : 0) |
-                      (licm_hoisted_ ? ICData::kHoisted : 0));
+                          (licm_hoisted_ ? ICData::kHoisted : 0));
 }
 
 }  // namespace dart
diff --git a/runtime/vm/intermediate_language_ia32.cc b/runtime/vm/intermediate_language_ia32.cc
index e281ab5..2e94f65 100644
--- a/runtime/vm/intermediate_language_ia32.cc
+++ b/runtime/vm/intermediate_language_ia32.cc
@@ -30,8 +30,8 @@
 LocationSummary* Instruction::MakeCallSummary(Zone* zone) {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   result->set_out(0, Location::RegisterLocation(EAX));
   return result;
 }
@@ -41,8 +41,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::AnyOrConstant(value()));
   return locs;
 }
@@ -65,12 +65,11 @@
 }
 
 
-LocationSummary* ReturnInstr::MakeLocationSummary(Zone* zone,
-                                                  bool opt) const {
+LocationSummary* ReturnInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RegisterLocation(EAX));
   return locs;
 }
@@ -111,10 +110,9 @@
                                                      bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t stack_index = (local().index() < 0)
-      ? kFirstLocalSlotFromFp - local().index()
-      : kParamEndSlotFromFp - local().index();
-  return LocationSummary::Make(zone,
-                               kNumInputs,
+                                   ? kFirstLocalSlotFromFp - local().index()
+                                   : kParamEndSlotFromFp - local().index();
+  return LocationSummary::Make(zone, kNumInputs,
                                Location::StackSlot(stack_index),
                                LocationSummary::kNoCall);
 }
@@ -129,9 +127,7 @@
 LocationSummary* StoreLocalInstr::MakeLocationSummary(Zone* zone,
                                                       bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::SameAsFirstInput(),
+  return LocationSummary::Make(zone, kNumInputs, Location::SameAsFirstInput(),
                                LocationSummary::kNoCall);
 }
 
@@ -147,8 +143,7 @@
 LocationSummary* ConstantInstr::MakeLocationSummary(Zone* zone,
                                                     bool opt) const {
   const intptr_t kNumInputs = 0;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
+  return LocationSummary::Make(zone, kNumInputs,
                                Assembler::IsSafe(value())
                                    ? Location::Constant(this)
                                    : Location::RequiresRegister(),
@@ -172,8 +167,8 @@
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps =
       (constant_address() == 0) && (representation() != kUnboxedInt32) ? 1 : 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   if (representation() == kUnboxedDouble) {
     locs->set_out(0, Location::RequiresFpuRegister());
   } else {
@@ -218,8 +213,8 @@
                                                             bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(EAX));  // Value.
   summary->set_in(1, Location::RegisterLocation(EDX));  // Type arguments.
   summary->set_out(0, Location::RegisterLocation(EAX));
@@ -231,8 +226,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(EAX));
   locs->set_out(0, Location::RegisterLocation(EAX));
   return locs;
@@ -261,11 +256,8 @@
   }
 
   __ pushl(reg);  // Push the source object.
-  compiler->GenerateRuntimeCall(token_pos,
-                                deopt_id,
-                                kNonBoolTypeErrorRuntimeEntry,
-                                1,
-                                locs);
+  compiler->GenerateRuntimeCall(token_pos, deopt_id,
+                                kNonBoolTypeErrorRuntimeEntry, 1, locs);
   // We should never return here.
   __ int3();
   __ Bind(&done);
@@ -283,12 +275,18 @@
 
 static Condition TokenKindToSmiCondition(Token::Kind kind) {
   switch (kind) {
-    case Token::kEQ: return EQUAL;
-    case Token::kNE: return NOT_EQUAL;
-    case Token::kLT: return LESS;
-    case Token::kGT: return GREATER;
-    case Token::kLTE: return LESS_EQUAL;
-    case Token::kGTE: return GREATER_EQUAL;
+    case Token::kEQ:
+      return EQUAL;
+    case Token::kNE:
+      return NOT_EQUAL;
+    case Token::kLT:
+      return LESS;
+    case Token::kGT:
+      return GREATER;
+    case Token::kLTE:
+      return LESS_EQUAL;
+    case Token::kGTE:
+      return GREATER_EQUAL;
     default:
       UNREACHABLE();
       return OVERFLOW;
@@ -301,8 +299,8 @@
   const intptr_t kNumInputs = 2;
   if (operation_cid() == kMintCid) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::Pair(Location::RequiresRegister(),
                                    Location::RequiresRegister()));
     locs->set_in(1, Location::Pair(Location::RequiresRegister(),
@@ -312,8 +310,8 @@
   }
   if (operation_cid() == kDoubleCid) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::RequiresFpuRegister());
     locs->set_in(1, Location::RequiresFpuRegister());
     locs->set_out(0, Location::RequiresRegister());
@@ -321,8 +319,8 @@
   }
   if (operation_cid() == kSmiCid) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::RegisterOrConstant(left()));
     // Only one input can be a constant operand. The case of two constant
     // operands should be handled by constant propagation.
@@ -359,16 +357,26 @@
 
 static Condition FlipCondition(Condition condition) {
   switch (condition) {
-    case EQUAL:         return EQUAL;
-    case NOT_EQUAL:     return NOT_EQUAL;
-    case LESS:          return GREATER;
-    case LESS_EQUAL:    return GREATER_EQUAL;
-    case GREATER:       return LESS;
-    case GREATER_EQUAL: return LESS_EQUAL;
-    case BELOW:         return ABOVE;
-    case BELOW_EQUAL:   return ABOVE_EQUAL;
-    case ABOVE:         return BELOW;
-    case ABOVE_EQUAL:   return BELOW_EQUAL;
+    case EQUAL:
+      return EQUAL;
+    case NOT_EQUAL:
+      return NOT_EQUAL;
+    case LESS:
+      return GREATER;
+    case LESS_EQUAL:
+      return GREATER_EQUAL;
+    case GREATER:
+      return LESS;
+    case GREATER_EQUAL:
+      return LESS_EQUAL;
+    case BELOW:
+      return ABOVE;
+    case BELOW_EQUAL:
+      return ABOVE_EQUAL;
+    case ABOVE:
+      return BELOW;
+    case ABOVE_EQUAL:
+      return BELOW_EQUAL;
     default:
       UNIMPLEMENTED();
       return EQUAL;
@@ -378,18 +386,30 @@
 
 static Condition NegateCondition(Condition condition) {
   switch (condition) {
-    case EQUAL:         return NOT_EQUAL;
-    case NOT_EQUAL:     return EQUAL;
-    case LESS:          return GREATER_EQUAL;
-    case LESS_EQUAL:    return GREATER;
-    case GREATER:       return LESS_EQUAL;
-    case GREATER_EQUAL: return LESS;
-    case BELOW:         return ABOVE_EQUAL;
-    case BELOW_EQUAL:   return ABOVE;
-    case ABOVE:         return BELOW_EQUAL;
-    case ABOVE_EQUAL:   return BELOW;
-    case PARITY_ODD:    return PARITY_EVEN;
-    case PARITY_EVEN:   return PARITY_ODD;
+    case EQUAL:
+      return NOT_EQUAL;
+    case NOT_EQUAL:
+      return EQUAL;
+    case LESS:
+      return GREATER_EQUAL;
+    case LESS_EQUAL:
+      return GREATER;
+    case GREATER:
+      return LESS_EQUAL;
+    case GREATER_EQUAL:
+      return LESS;
+    case BELOW:
+      return ABOVE_EQUAL;
+    case BELOW_EQUAL:
+      return ABOVE;
+    case ABOVE:
+      return BELOW_EQUAL;
+    case ABOVE_EQUAL:
+      return BELOW;
+    case PARITY_ODD:
+      return PARITY_EVEN;
+    case PARITY_EVEN:
+      return PARITY_ODD;
     default:
       UNIMPLEMENTED();
       return EQUAL;
@@ -442,12 +462,18 @@
 
 static Condition TokenKindToMintCondition(Token::Kind kind) {
   switch (kind) {
-    case Token::kEQ: return EQUAL;
-    case Token::kNE: return NOT_EQUAL;
-    case Token::kLT: return LESS;
-    case Token::kGT: return GREATER;
-    case Token::kLTE: return LESS_EQUAL;
-    case Token::kGTE: return GREATER_EQUAL;
+    case Token::kEQ:
+      return EQUAL;
+    case Token::kNE:
+      return NOT_EQUAL;
+    case Token::kLT:
+      return LESS;
+    case Token::kGT:
+      return GREATER;
+    case Token::kLTE:
+      return LESS_EQUAL;
+    case Token::kGTE:
+      return GREATER_EQUAL;
     default:
       UNREACHABLE();
       return OVERFLOW;
@@ -524,12 +550,18 @@
 
 static Condition TokenKindToDoubleCondition(Token::Kind kind) {
   switch (kind) {
-    case Token::kEQ: return EQUAL;
-    case Token::kNE: return NOT_EQUAL;
-    case Token::kLT: return BELOW;
-    case Token::kGT: return ABOVE;
-    case Token::kLTE: return BELOW_EQUAL;
-    case Token::kGTE: return ABOVE_EQUAL;
+    case Token::kEQ:
+      return EQUAL;
+    case Token::kNE:
+      return NOT_EQUAL;
+    case Token::kLT:
+      return BELOW;
+    case Token::kGT:
+      return ABOVE;
+    case Token::kLTE:
+      return BELOW_EQUAL;
+    case Token::kGTE:
+      return ABOVE_EQUAL;
     default:
       UNREACHABLE();
       return OVERFLOW;
@@ -547,8 +579,8 @@
   __ comisd(left, right);
 
   Condition true_condition = TokenKindToDoubleCondition(kind);
-  Label* nan_result = (true_condition == NOT_EQUAL)
-      ? labels.true_label : labels.false_label;
+  Label* nan_result =
+      (true_condition == NOT_EQUAL) ? labels.true_label : labels.false_label;
   __ j(PARITY_EVEN, nan_result);
   return true_condition;
 }
@@ -571,9 +603,9 @@
   ASSERT((kind() == Token::kNE) || (kind() == Token::kEQ));
 
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
-  EmitBranchOnCondition(compiler,  true_condition, labels);
+  EmitBranchOnCondition(compiler, true_condition, labels);
 
   Register result = locs()->out(0).reg();
   Label done;
@@ -596,12 +628,11 @@
 }
 
 
-LocationSummary* TestSmiInstr::MakeLocationSummary(Zone* zone,
-                                                   bool opt) const {
+LocationSummary* TestSmiInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   // Only one input can be a constant operand. The case of two constant
   // operands should be handled by constant propagation.
@@ -616,8 +647,7 @@
   Location right = locs()->in(1);
   if (right.IsConstant()) {
     ASSERT(right.constant().IsSmi());
-    const int32_t imm =
-        reinterpret_cast<int32_t>(right.constant().raw());
+    const int32_t imm = reinterpret_cast<int32_t>(right.constant().raw());
     __ testl(left, Immediate(imm));
   } else {
     __ testl(left, right.reg());
@@ -641,13 +671,12 @@
 }
 
 
-
 LocationSummary* TestCidsInstr::MakeLocationSummary(Zone* zone,
                                                     bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   locs->set_temp(0, Location::RequiresRegister());
   locs->set_out(0, Location::RequiresRegister());
@@ -661,11 +690,11 @@
   Register val_reg = locs()->in(0).reg();
   Register cid_reg = locs()->temp(0).reg();
 
-  Label* deopt = CanDeoptimize()
-      ? compiler->AddDeoptStub(deopt_id(),
-                               ICData::kDeoptTestCids,
-                               licm_hoisted_ ? ICData::kHoisted : 0)
-      : NULL;
+  Label* deopt =
+      CanDeoptimize()
+          ? compiler->AddDeoptStub(deopt_id(), ICData::kDeoptTestCids,
+                                   licm_hoisted_ ? ICData::kHoisted : 0)
+          : NULL;
 
   const intptr_t true_result = (kind() == Token::kIS) ? 1 : 0;
   const ZoneGrowableArray<intptr_t>& data = cid_results();
@@ -678,14 +707,14 @@
     const intptr_t test_cid = data[i];
     ASSERT(test_cid != kSmiCid);
     result = data[i + 1] == true_result;
-    __ cmpl(cid_reg,  Immediate(test_cid));
+    __ cmpl(cid_reg, Immediate(test_cid));
     __ j(EQUAL, result ? labels.true_label : labels.false_label);
   }
   // No match found, deoptimize or false.
   if (deopt == NULL) {
     Label* target = result ? labels.false_label : labels.true_label;
     if (target != labels.fall_through) {
-        __ jmp(target);
+      __ jmp(target);
     }
   } else {
     __ jmp(deopt);
@@ -706,7 +735,7 @@
 void TestCidsInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Register result_reg = locs()->out(0).reg();
   Label is_true, is_false, done;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   EmitComparisonCode(compiler, labels);
   __ Bind(&is_false);
   __ LoadObject(result_reg, Bool::False());
@@ -723,8 +752,8 @@
   const intptr_t kNumTemps = 0;
   if (operation_cid() == kMintCid) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::Pair(Location::RequiresRegister(),
                                    Location::RequiresRegister()));
     locs->set_in(1, Location::Pair(Location::RequiresRegister(),
@@ -733,16 +762,16 @@
     return locs;
   }
   if (operation_cid() == kDoubleCid) {
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresFpuRegister());
     summary->set_in(1, Location::RequiresFpuRegister());
     summary->set_out(0, Location::RequiresRegister());
     return summary;
   }
   ASSERT(operation_cid() == kSmiCid);
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RegisterOrConstant(left()));
   // Only one input can be a constant operand. The case of two constant
   // operands should be handled by constant propagation.
@@ -769,7 +798,7 @@
 
 void RelationalOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
   EmitBranchOnCondition(compiler, true_condition, labels);
 
@@ -807,8 +836,9 @@
   __ PushObject(Object::null_object());
   // Pass a pointer to the first argument in EAX.
   if (!function().HasOptionalParameters()) {
-    __ leal(EAX, Address(EBP, (kParamEndSlotFromFp +
-                               function().NumParameters()) * kWordSize));
+    __ leal(EAX,
+            Address(EBP, (kParamEndSlotFromFp + function().NumParameters()) *
+                             kWordSize));
   } else {
     __ leal(EAX, Address(EBP, kFirstLocalSlotFromFp * kWordSize));
   }
@@ -819,15 +849,13 @@
     stub_entry = StubCode::CallBootstrapCFunction_entry();
     __ movl(ECX, Immediate(NativeEntry::LinkNativeCallEntry()));
   } else {
-    stub_entry = (is_bootstrap_native()) ?
-        StubCode::CallBootstrapCFunction_entry() :
-        StubCode::CallNativeCFunction_entry();
+    stub_entry = (is_bootstrap_native())
+                     ? StubCode::CallBootstrapCFunction_entry()
+                     : StubCode::CallNativeCFunction_entry();
     const ExternalLabel label(reinterpret_cast<uword>(native_c_function()));
     __ movl(ECX, Immediate(label.address()));
   }
-  compiler->GenerateCall(token_pos(),
-                         *stub_entry,
-                         RawPcDescriptors::kOther,
+  compiler->GenerateCall(token_pos(), *stub_entry, RawPcDescriptors::kOther,
                          locs());
   __ popl(result);
 }
@@ -847,12 +875,11 @@
 
 
 LocationSummary* OneByteStringFromCharCodeInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   // TODO(fschneider): Allow immediate operands for the char code.
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -863,8 +890,7 @@
   Register result = locs()->out(0).reg();
   __ movl(result,
           Immediate(reinterpret_cast<uword>(Symbols::PredefinedAddress())));
-  __ movl(result, Address(result,
-                          char_code,
+  __ movl(result, Address(result, char_code,
                           TIMES_HALF_WORD_SIZE,  // Char code is a smi.
                           Symbols::kNullCharCodeSymbolOffset * kWordSize));
 }
@@ -873,9 +899,7 @@
 LocationSummary* StringToCharCodeInstr::MakeLocationSummary(Zone* zone,
                                                             bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -901,8 +925,8 @@
                                                              bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(EAX));
   summary->set_out(0, Location::RegisterLocation(EAX));
   return summary;
@@ -914,12 +938,8 @@
   __ pushl(array);
   const int kNumberOfArguments = 1;
   const Array& kNoArgumentNames = Object::null_array();
-  compiler->GenerateStaticCall(deopt_id(),
-                               token_pos(),
-                               CallFunction(),
-                               kNumberOfArguments,
-                               kNoArgumentNames,
-                               locs(),
+  compiler->GenerateStaticCall(deopt_id(), token_pos(), CallFunction(),
+                               kNumberOfArguments, kNoArgumentNames, locs(),
                                ICData::Handle());
   ASSERT(locs()->out(0).reg() == EAX);
 }
@@ -928,9 +948,7 @@
 LocationSummary* LoadUntaggedInstr::MakeLocationSummary(Zone* zone,
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::SameAsFirstInput(),
+  return LocationSummary::Make(zone, kNumInputs, Location::SameAsFirstInput(),
                                LocationSummary::kNoCall);
 }
 
@@ -950,9 +968,7 @@
 LocationSummary* LoadClassIdInstr::MakeLocationSummary(Zone* zone,
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -1062,8 +1078,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   if (CanBeImmediateIndex(index(), class_id())) {
     // CanBeImmediateIndex must return false for unsafe smis.
@@ -1071,9 +1087,8 @@
   } else {
     // The index is either untagged (element size == 1) or a smi (for all
     // element sizes > 1).
-    locs->set_in(1, (index_scale() == 1)
-                        ? Location::WritableRegister()
-                        : Location::RequiresRegister());
+    locs->set_in(1, (index_scale() == 1) ? Location::WritableRegister()
+                                         : Location::RequiresRegister());
   }
   if ((representation() == kUnboxedDouble) ||
       (representation() == kUnboxedFloat32x4) ||
@@ -1099,12 +1114,13 @@
   const Register array = locs()->in(0).reg();
   const Location index = locs()->in(1);
 
-  Address element_address = index.IsRegister()
-      ? Assembler::ElementAddressForRegIndex(
-            IsExternal(), class_id(), index_scale(), array, index.reg())
-      : Assembler::ElementAddressForIntIndex(
-            IsExternal(), class_id(), index_scale(),
-            array, Smi::Cast(index.constant()).Value());
+  Address element_address =
+      index.IsRegister()
+          ? Assembler::ElementAddressForRegIndex(
+                IsExternal(), class_id(), index_scale(), array, index.reg())
+          : Assembler::ElementAddressForIntIndex(
+                IsExternal(), class_id(), index_scale(), array,
+                Smi::Cast(index.constant()).Value());
 
   if ((representation() == kUnboxedDouble) ||
       (representation() == kUnboxedFloat32x4) ||
@@ -1142,11 +1158,11 @@
       case kTypedDataInt32ArrayCid:
         ASSERT(representation() == kUnboxedInt32);
         __ movl(result, element_address);
-      break;
+        break;
       case kTypedDataUint32ArrayCid:
         ASSERT(representation() == kUnboxedUint32);
         __ movl(result, element_address);
-      break;
+        break;
       default:
         UNREACHABLE();
     }
@@ -1196,8 +1212,8 @@
 Representation StoreIndexedInstr::RequiredInputRepresentation(
     intptr_t idx) const {
   // Array can be a Dart object or a pointer to external data.
-  if (idx == 0)  return kNoRepresentation;  // Flexible input representation.
-  if (idx == 1) return kTagged;  // Index is a smi.
+  if (idx == 0) return kNoRepresentation;  // Flexible input representation.
+  if (idx == 1) return kTagged;            // Index is a smi.
   ASSERT(idx == 2);
   switch (class_id_) {
     case kArrayCid:
@@ -1234,8 +1250,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 3;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   if (CanBeImmediateIndex(index(), class_id())) {
     // CanBeImmediateIndex must return false for unsafe smis.
@@ -1243,15 +1259,14 @@
   } else {
     // The index is either untagged (element size == 1) or a smi (for all
     // element sizes > 1).
-    locs->set_in(1, (index_scale() == 1)
-                        ? Location::WritableRegister()
-                        : Location::RequiresRegister());
+    locs->set_in(1, (index_scale() == 1) ? Location::WritableRegister()
+                                         : Location::RequiresRegister());
   }
   switch (class_id()) {
     case kArrayCid:
       locs->set_in(2, ShouldEmitStoreBarrier()
-                        ? Location::WritableRegister()
-                        : Location::RegisterOrConstant(value()));
+                          ? Location::WritableRegister()
+                          : Location::RegisterOrConstant(value()));
       break;
     case kExternalTypedDataUint8ArrayCid:
     case kExternalTypedDataUint8ClampedArrayCid:
@@ -1295,12 +1310,13 @@
   const Register array = locs()->in(0).reg();
   const Location index = locs()->in(1);
 
-  Address element_address = index.IsRegister()
-      ? Assembler::ElementAddressForRegIndex(
-            IsExternal(), class_id(), index_scale(), array, index.reg())
-      : Assembler::ElementAddressForIntIndex(
-            IsExternal(), class_id(), index_scale(),
-            array, Smi::Cast(index.constant()).Value());
+  Address element_address =
+      index.IsRegister()
+          ? Assembler::ElementAddressForRegIndex(
+                IsExternal(), class_id(), index_scale(), array, index.reg())
+          : Assembler::ElementAddressForIntIndex(
+                IsExternal(), class_id(), index_scale(), array,
+                Smi::Cast(index.constant()).Value());
 
   if ((index_scale() == 1) && index.IsRegister()) {
     __ SmiUntag(index.reg());
@@ -1343,8 +1359,7 @@
         } else if (value < 0) {
           value = 0;
         }
-        __ movb(element_address,
-                Immediate(static_cast<int8_t>(value)));
+        __ movb(element_address, Immediate(static_cast<int8_t>(value)));
       } else {
         ASSERT(locs()->in(2).reg() == EAX);
         Label store_value, store_0xff;
@@ -1399,7 +1414,7 @@
 
   const bool emit_full_guard = !opt || (field_cid == kIllegalCid);
   const bool needs_value_cid_temp_reg =
-    (value_cid == kDynamicCid) && (emit_full_guard || (field_cid != kSmiCid));
+      (value_cid == kDynamicCid) && (emit_full_guard || (field_cid != kSmiCid));
   const bool needs_field_temp_reg = emit_full_guard;
 
   intptr_t num_temps = 0;
@@ -1410,8 +1425,8 @@
     num_temps++;
   }
 
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, num_temps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, num_temps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
 
   for (intptr_t i = 0; i < num_temps; i++) {
@@ -1431,7 +1446,8 @@
   if (field_cid == kDynamicCid) {
     if (Compiler::IsBackgroundCompilation()) {
       // Field state changed while compiling.
-      Compiler::AbortBackgroundCompilation(deopt_id(),
+      Compiler::AbortBackgroundCompilation(
+          deopt_id(),
           "GuardFieldClassInstr: field state changed while compiling");
     }
     ASSERT(!compiler->is_optimizing());
@@ -1448,16 +1464,19 @@
 
   const Register value_reg = locs()->in(0).reg();
 
-  const Register value_cid_reg = needs_value_cid_temp_reg ?
-      locs()->temp(0).reg() : kNoRegister;
+  const Register value_cid_reg =
+      needs_value_cid_temp_reg ? locs()->temp(0).reg() : kNoRegister;
 
-  const Register field_reg = needs_field_temp_reg ?
-      locs()->temp(locs()->temp_count() - 1).reg() : kNoRegister;
+  const Register field_reg = needs_field_temp_reg
+                                 ? locs()->temp(locs()->temp_count() - 1).reg()
+                                 : kNoRegister;
 
   Label ok, fail_label;
 
-  Label* deopt = compiler->is_optimizing() ?
-      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField) : NULL;
+  Label* deopt =
+      compiler->is_optimizing()
+          ? compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField)
+          : NULL;
 
   Label* fail = (deopt != NULL) ? deopt : &fail_label;
 
@@ -1465,8 +1484,8 @@
     __ LoadObject(field_reg, Field::ZoneHandle(field().Original()));
 
     FieldAddress field_cid_operand(field_reg, Field::guarded_cid_offset());
-    FieldAddress field_nullability_operand(
-        field_reg, Field::is_nullable_offset());
+    FieldAddress field_nullability_operand(field_reg,
+                                           Field::is_nullable_offset());
 
     if (value_cid == kDynamicCid) {
       LoadValueCid(compiler, value_cid_reg, value_reg);
@@ -1569,8 +1588,8 @@
   const intptr_t kNumInputs = 1;
   if (!opt || (field().guarded_list_length() == Field::kUnknownFixedLength)) {
     const intptr_t kNumTemps = 3;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     // We need temporaries for field object, length offset and expected length.
     summary->set_temp(0, Location::RequiresRegister());
@@ -1578,8 +1597,8 @@
     summary->set_temp(2, Location::RequiresRegister());
     return summary;
   } else {
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, 0, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, 0, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     return summary;
   }
@@ -1591,15 +1610,18 @@
   if (field().guarded_list_length() == Field::kNoFixedLength) {
     if (Compiler::IsBackgroundCompilation()) {
       // Field state changed while compiling.
-      Compiler::AbortBackgroundCompilation(deopt_id(),
+      Compiler::AbortBackgroundCompilation(
+          deopt_id(),
           "GuardFieldLengthInstr: field state changed while compiling");
     }
     ASSERT(!compiler->is_optimizing());
     return;  // Nothing to emit.
   }
 
-  Label* deopt = compiler->is_optimizing() ?
-      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField) : NULL;
+  Label* deopt =
+      compiler->is_optimizing()
+          ? compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField)
+          : NULL;
 
   const Register value_reg = locs()->in(0).reg();
 
@@ -1613,10 +1635,12 @@
 
     __ LoadObject(field_reg, Field::ZoneHandle(field().Original()));
 
-    __ movsxb(offset_reg, FieldAddress(field_reg,
-        Field::guarded_list_length_in_object_offset_offset()));
-    __ movl(length_reg, FieldAddress(field_reg,
-        Field::guarded_list_length_offset()));
+    __ movsxb(
+        offset_reg,
+        FieldAddress(field_reg,
+                     Field::guarded_list_length_in_object_offset_offset()));
+    __ movl(length_reg,
+            FieldAddress(field_reg, Field::guarded_list_length_offset()));
 
     __ cmpl(offset_reg, Immediate(0));
     __ j(NEGATIVE, &ok);
@@ -1643,11 +1667,11 @@
     ASSERT(compiler->is_optimizing());
     ASSERT(field().guarded_list_length() >= 0);
     ASSERT(field().guarded_list_length_in_object_offset() !=
-        Field::kUnknownLengthOffset);
+           Field::kUnknownLengthOffset);
 
-    __ cmpl(FieldAddress(value_reg,
-                         field().guarded_list_length_in_object_offset()),
-            Immediate(Smi::RawValue(field().guarded_list_length())));
+    __ cmpl(
+        FieldAddress(value_reg, field().guarded_list_length_in_object_offset()),
+        Immediate(Smi::RawValue(field().guarded_list_length())));
     __ j(NOT_EQUAL, deopt);
   }
 }
@@ -1658,14 +1682,11 @@
   BoxAllocationSlowPath(Instruction* instruction,
                         const Class& cls,
                         Register result)
-      : instruction_(instruction),
-        cls_(cls),
-        result_(result) { }
+      : instruction_(instruction), cls_(cls), result_(result) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
-      __ Comment("%s slow path allocation of %s",
-                 instruction_->DebugName(),
+      __ Comment("%s slow path allocation of %s", instruction_->DebugName(),
                  String::Handle(cls_.ScrubbedName()).ToCString());
     }
     __ Bind(entry_label());
@@ -1678,10 +1699,8 @@
     locs->live_registers()->Remove(Location::RegisterLocation(result_));
 
     compiler->SaveLiveRegisters(locs);
-    compiler->GenerateCall(TokenPosition::kNoSource,
-                           stub_entry,
-                           RawPcDescriptors::kOther,
-                           locs);
+    compiler->GenerateCall(TokenPosition::kNoSource, stub_entry,
+                           RawPcDescriptors::kOther, locs);
     compiler->AddStubCallTarget(stub);
     __ MoveRegister(result_, EAX);
     compiler->RestoreLiveRegisters(locs);
@@ -1694,20 +1713,14 @@
                        Register result,
                        Register temp) {
     if (compiler->intrinsic_mode()) {
-      __ TryAllocate(cls,
-                     compiler->intrinsic_slow_path_label(),
-                     Assembler::kFarJump,
-                     result,
-                     temp);
+      __ TryAllocate(cls, compiler->intrinsic_slow_path_label(),
+                     Assembler::kFarJump, result, temp);
     } else {
       BoxAllocationSlowPath* slow_path =
           new BoxAllocationSlowPath(instruction, cls, result);
       compiler->AddSlowPathCode(slow_path);
 
-      __ TryAllocate(cls,
-                     slow_path->entry_label(),
-                     Assembler::kFarJump,
-                     result,
+      __ TryAllocate(cls, slow_path->entry_label(), Assembler::kFarJump, result,
                      temp);
       __ Bind(slow_path->exit_label());
     }
@@ -1724,14 +1737,13 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps =
-      (IsUnboxedStore() && opt) ? 2 :
-          ((IsPotentialUnboxedStore()) ? 3 : 0);
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps,
-          ((IsUnboxedStore() && opt && is_initialization()) ||
-           IsPotentialUnboxedStore())
-          ? LocationSummary::kCallOnSlowPath
-          : LocationSummary::kNoCall);
+      (IsUnboxedStore() && opt) ? 2 : ((IsPotentialUnboxedStore()) ? 3 : 0);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps,
+                      ((IsUnboxedStore() && opt && is_initialization()) ||
+                       IsPotentialUnboxedStore())
+                          ? LocationSummary::kCallOnSlowPath
+                          : LocationSummary::kNoCall);
 
   summary->set_in(0, Location::RequiresRegister());
   if (IsUnboxedStore() && opt) {
@@ -1739,17 +1751,16 @@
     summary->set_temp(0, Location::RequiresRegister());
     summary->set_temp(1, Location::RequiresRegister());
   } else if (IsPotentialUnboxedStore()) {
-    summary->set_in(1, ShouldEmitStoreBarrier()
-        ? Location::WritableRegister()
-        :  Location::RequiresRegister());
+    summary->set_in(1, ShouldEmitStoreBarrier() ? Location::WritableRegister()
+                                                : Location::RequiresRegister());
     summary->set_temp(0, Location::RequiresRegister());
     summary->set_temp(1, Location::RequiresRegister());
     summary->set_temp(2, opt ? Location::RequiresFpuRegister()
                              : Location::FpuRegisterLocation(XMM1));
   } else {
     summary->set_in(1, ShouldEmitStoreBarrier()
-                       ? Location::WritableRegister()
-                       : Location::RegisterOrConstant(value()));
+                           ? Location::WritableRegister()
+                           : Location::RegisterOrConstant(value()));
   }
   return summary;
 }
@@ -1770,9 +1781,7 @@
   __ j(NOT_EQUAL, &done);
   BoxAllocationSlowPath::Allocate(compiler, instruction, cls, box_reg, temp);
   __ movl(temp, box_reg);
-  __ StoreIntoObject(instance_reg,
-                     FieldAddress(instance_reg, offset),
-                     temp);
+  __ StoreIntoObject(instance_reg, FieldAddress(instance_reg, offset), temp);
 
   __ Bind(&done);
 }
@@ -1809,8 +1818,7 @@
       BoxAllocationSlowPath::Allocate(compiler, this, *cls, temp, temp2);
       __ movl(temp2, temp);
       __ StoreIntoObject(instance_reg,
-                         FieldAddress(instance_reg, offset_in_bytes_),
-                         temp2);
+                         FieldAddress(instance_reg, offset_in_bytes_), temp2);
     } else {
       __ movl(temp, FieldAddress(instance_reg, offset_in_bytes_));
     }
@@ -1818,15 +1826,15 @@
       case kDoubleCid:
         __ Comment("UnboxedDoubleStoreInstanceFieldInstr");
         __ movsd(FieldAddress(temp, Double::value_offset()), value);
-      break;
+        break;
       case kFloat32x4Cid:
         __ Comment("UnboxedFloat32x4StoreInstanceFieldInstr");
         __ movups(FieldAddress(temp, Float32x4::value_offset()), value);
-      break;
+        break;
       case kFloat64x2Cid:
         __ Comment("UnboxedFloat64x2StoreInstanceFieldInstr");
         __ movups(FieldAddress(temp, Float64x2::value_offset()), value);
-      break;
+        break;
       default:
         UNREACHABLE();
     }
@@ -1884,13 +1892,8 @@
 
     {
       __ Bind(&store_double);
-      EnsureMutableBox(compiler,
-                       this,
-                       temp,
-                       compiler->double_class(),
-                       instance_reg,
-                       offset_in_bytes_,
-                       temp2);
+      EnsureMutableBox(compiler, this, temp, compiler->double_class(),
+                       instance_reg, offset_in_bytes_, temp2);
       __ movsd(fpu_temp, FieldAddress(value_reg, Double::value_offset()));
       __ movsd(FieldAddress(temp, Double::value_offset()), fpu_temp);
       __ jmp(&skip_store);
@@ -1898,13 +1901,8 @@
 
     {
       __ Bind(&store_float32x4);
-      EnsureMutableBox(compiler,
-                       this,
-                       temp,
-                       compiler->float32x4_class(),
-                       instance_reg,
-                       offset_in_bytes_,
-                       temp2);
+      EnsureMutableBox(compiler, this, temp, compiler->float32x4_class(),
+                       instance_reg, offset_in_bytes_, temp2);
       __ movups(fpu_temp, FieldAddress(value_reg, Float32x4::value_offset()));
       __ movups(FieldAddress(temp, Float32x4::value_offset()), fpu_temp);
       __ jmp(&skip_store);
@@ -1912,13 +1910,8 @@
 
     {
       __ Bind(&store_float64x2);
-      EnsureMutableBox(compiler,
-                       this,
-                       temp,
-                       compiler->float64x2_class(),
-                       instance_reg,
-                       offset_in_bytes_,
-                       temp2);
+      EnsureMutableBox(compiler, this, temp, compiler->float64x2_class(),
+                       instance_reg, offset_in_bytes_, temp2);
       __ movups(fpu_temp, FieldAddress(value_reg, Float64x2::value_offset()));
       __ movups(FieldAddress(temp, Float64x2::value_offset()), fpu_temp);
       __ jmp(&skip_store);
@@ -1930,15 +1923,13 @@
   if (ShouldEmitStoreBarrier()) {
     Register value_reg = locs()->in(1).reg();
     __ StoreIntoObject(instance_reg,
-                       FieldAddress(instance_reg, offset_in_bytes_),
-                       value_reg,
+                       FieldAddress(instance_reg, offset_in_bytes_), value_reg,
                        CanValueBeSmi());
   } else {
     if (locs()->in(1).IsConstant()) {
-      __ StoreIntoObjectNoBarrier(
-          instance_reg,
-          FieldAddress(instance_reg, offset_in_bytes_),
-          locs()->in(1).constant());
+      __ StoreIntoObjectNoBarrier(instance_reg,
+                                  FieldAddress(instance_reg, offset_in_bytes_),
+                                  locs()->in(1).constant());
     } else {
       Register value_reg = locs()->in(1).reg();
       __ StoreIntoObjectNoBarrier(instance_reg,
@@ -1954,8 +1945,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   // By specifying same register as input, our simple register allocator can
   // generate better code.
@@ -1978,8 +1969,8 @@
 
 LocationSummary* StoreStaticFieldInstr::MakeLocationSummary(Zone* zone,
                                                             bool opt) const {
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, 1, 1, LocationSummary::kNoCall);
+  LocationSummary* locs =
+      new (zone) LocationSummary(zone, 1, 1, LocationSummary::kNoCall);
   locs->set_in(0, value()->NeedsStoreBuffer() ? Location::WritableRegister()
                                               : Location::RequiresRegister());
   locs->set_temp(0, Location::RequiresRegister());
@@ -1993,10 +1984,8 @@
 
   __ LoadObject(temp, Field::ZoneHandle(Z, field().Original()));
   if (this->value()->NeedsStoreBuffer()) {
-    __ StoreIntoObject(temp,
-                       FieldAddress(temp, Field::static_value_offset()),
-                       value,
-                       CanValueBeSmi());
+    __ StoreIntoObject(temp, FieldAddress(temp, Field::static_value_offset()),
+                       value, CanValueBeSmi());
   } else {
     __ StoreIntoObjectNoBarrier(
         temp, FieldAddress(temp, Field::static_value_offset()), value);
@@ -2008,8 +1997,8 @@
                                                       bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(EAX));
   summary->set_in(1, Location::RegisterLocation(EDX));
   summary->set_out(0, Location::RegisterLocation(EAX));
@@ -2021,10 +2010,7 @@
   ASSERT(locs()->in(0).reg() == EAX);  // Value.
   ASSERT(locs()->in(1).reg() == EDX);  // Instantiator type arguments.
 
-  compiler->GenerateInstanceOf(token_pos(),
-                               deopt_id(),
-                               type(),
-                               negate_result(),
+  compiler->GenerateInstanceOf(token_pos(), deopt_id(), type(), negate_result(),
                                locs());
   ASSERT(locs()->out(0).reg() == EAX);
 }
@@ -2036,8 +2022,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(ECX));
   locs->set_in(1, Location::RegisterLocation(EDX));
   locs->set_out(0, Location::RegisterLocation(EAX));
@@ -2058,18 +2044,16 @@
   // Instance in EAX.
   // Object end address in EBX.
   __ TryAllocateArray(kArrayCid, instance_size, slow_path, Assembler::kFarJump,
-                      EAX,  // instance
-                      EBX,  // end address
+                      EAX,   // instance
+                      EBX,   // end address
                       EDI);  // temp
 
   // Store the type argument field.
-  __ StoreIntoObjectNoBarrier(EAX,
-                              FieldAddress(EAX, Array::type_arguments_offset()),
-                              kElemTypeReg);
+  __ StoreIntoObjectNoBarrier(
+      EAX, FieldAddress(EAX, Array::type_arguments_offset()), kElemTypeReg);
 
   // Set the length field.
-  __ StoreIntoObjectNoBarrier(EAX,
-                              FieldAddress(EAX, Array::length_offset()),
+  __ StoreIntoObjectNoBarrier(EAX, FieldAddress(EAX, Array::length_offset()),
                               kLengthReg);
 
   // Initialize all array elements to raw_null.
@@ -2111,8 +2095,7 @@
   ASSERT(locs()->in(1).reg() == kLengthReg);
 
   Label slow_path, done;
-  if (compiler->is_optimizing() &&
-      num_elements()->BindsToConstant() &&
+  if (compiler->is_optimizing() && num_elements()->BindsToConstant() &&
       num_elements()->BoundConstant().IsSmi()) {
     const intptr_t length = Smi::Cast(num_elements()->BoundConstant()).Value();
     if ((length >= 0) && (length <= Array::kMaxElements)) {
@@ -2122,11 +2105,8 @@
       __ PushObject(Object::null_object());  // Make room for the result.
       __ pushl(kLengthReg);
       __ pushl(kElemTypeReg);
-      compiler->GenerateRuntimeCall(token_pos(),
-                                    deopt_id(),
-                                    kAllocateArrayRuntimeEntry,
-                                    2,
-                                    locs());
+      compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                    kAllocateArrayRuntimeEntry, 2, locs());
       __ Drop(2);
       __ popl(kResultReg);
       __ Bind(&done);
@@ -2138,10 +2118,8 @@
   const Code& stub = Code::ZoneHandle(compiler->zone(),
                                       StubCode::AllocateArray_entry()->code());
   compiler->AddStubCallTarget(stub);
-  compiler->GenerateCall(token_pos(),
-                         *StubCode::AllocateArray_entry(),
-                         RawPcDescriptors::kOther,
-                         locs());
+  compiler->GenerateCall(token_pos(), *StubCode::AllocateArray_entry(),
+                         RawPcDescriptors::kOther, locs());
   __ Bind(&done);
   ASSERT(locs()->out(0).reg() == kResultReg);
 }
@@ -2151,14 +2129,12 @@
                                                      bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps =
-      (IsUnboxedLoad() && opt) ? 1 :
-          ((IsPotentialUnboxedLoad()) ? 2 : 0);
+      (IsUnboxedLoad() && opt) ? 1 : ((IsPotentialUnboxedLoad()) ? 2 : 0);
 
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps,
-          (opt && !IsPotentialUnboxedLoad())
-          ? LocationSummary::kNoCall
-          : LocationSummary::kCallOnSlowPath);
+  LocationSummary* locs = new (zone) LocationSummary(
+      zone, kNumInputs, kNumTemps, (opt && !IsPotentialUnboxedLoad())
+                                       ? LocationSummary::kNoCall
+                                       : LocationSummary::kCallOnSlowPath);
 
   locs->set_in(0, Location::RequiresRegister());
 
@@ -2240,8 +2216,8 @@
 
     {
       __ Bind(&load_double);
-      BoxAllocationSlowPath::Allocate(
-          compiler, this, compiler->double_class(), result, temp);
+      BoxAllocationSlowPath::Allocate(compiler, this, compiler->double_class(),
+                                      result, temp);
       __ movl(temp, FieldAddress(instance_reg, offset_in_bytes()));
       __ movsd(value, FieldAddress(temp, Double::value_offset()));
       __ movsd(FieldAddress(result, Double::value_offset()), value);
@@ -2279,8 +2255,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(EAX));
   locs->set_out(0, Location::RegisterLocation(EAX));
   return locs;
@@ -2296,23 +2272,21 @@
   __ PushObject(Object::null_object());  // Make room for the result.
   __ PushObject(type());
   __ pushl(instantiator_reg);  // Push instantiator type arguments.
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kInstantiateTypeRuntimeEntry,
-                                2,
-                                locs());
-  __ Drop(2);  // Drop instantiator and uninstantiated type.
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kInstantiateTypeRuntimeEntry, 2, locs());
+  __ Drop(2);           // Drop instantiator and uninstantiated type.
   __ popl(result_reg);  // Pop instantiated type.
   ASSERT(instantiator_reg == result_reg);
 }
 
 
 LocationSummary* InstantiateTypeArgumentsInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(EAX));
   locs->set_out(0, Location::RegisterLocation(EAX));
   return locs;
@@ -2368,12 +2342,10 @@
   __ PushObject(Object::null_object());  // Make room for the result.
   __ PushObject(type_arguments());
   __ pushl(instantiator_reg);  // Push instantiator type arguments.
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kInstantiateTypeArgumentsRuntimeEntry,
-                                2,
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kInstantiateTypeArgumentsRuntimeEntry, 2,
                                 locs());
-  __ Drop(2);  // Drop instantiator and uninstantiated type arguments.
+  __ Drop(2);           // Drop instantiator and uninstantiated type arguments.
   __ popl(result_reg);  // Pop instantiated type arguments.
   __ Bind(&type_arguments_instantiated);
 }
@@ -2385,7 +2357,7 @@
   ASSERT(opt);
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 2;
-  LocationSummary* locs = new(zone) LocationSummary(
+  LocationSummary* locs = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   locs->set_temp(0, Location::RegisterLocation(ECX));
   locs->set_temp(1, Location::RegisterLocation(EDI));
@@ -2398,7 +2370,7 @@
  public:
   explicit AllocateContextSlowPath(
       AllocateUninitializedContextInstr* instruction)
-      : instruction_(instruction) { }
+      : instruction_(instruction) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     __ Comment("AllocateContextSlowPath");
@@ -2415,8 +2387,7 @@
     compiler->AddStubCallTarget(stub);
     compiler->GenerateCall(instruction_->token_pos(),
                            *StubCode::AllocateContext_entry(),
-                           RawPcDescriptors::kOther,
-                           locs);
+                           RawPcDescriptors::kOther, locs);
     ASSERT(instruction_->locs()->out(0).reg() == EAX);
     compiler->RestoreLiveRegisters(instruction_->locs());
     __ jmp(exit_label());
@@ -2441,7 +2412,7 @@
   __ TryAllocateArray(kContextCid, instance_size, slow_path->entry_label(),
                       Assembler::kFarJump,
                       result,  // instance
-                      temp,  // end address
+                      temp,    // end address
                       temp2);  // temp
 
   // Setup up number of context variables field.
@@ -2456,8 +2427,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_temp(0, Location::RegisterLocation(EDX));
   locs->set_out(0, Location::RegisterLocation(EAX));
   return locs;
@@ -2469,10 +2440,8 @@
   ASSERT(locs()->out(0).reg() == EAX);
 
   __ movl(EDX, Immediate(num_context_variables()));
-  compiler->GenerateCall(token_pos(),
-                         *StubCode::AllocateContext_entry(),
-                         RawPcDescriptors::kOther,
-                         locs());
+  compiler->GenerateCall(token_pos(), *StubCode::AllocateContext_entry(),
+                         RawPcDescriptors::kOther, locs());
 }
 
 
@@ -2480,8 +2449,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(EAX));
   locs->set_temp(0, Location::RegisterLocation(ECX));
   return locs;
@@ -2504,11 +2473,8 @@
   __ Bind(&call_runtime);
   __ PushObject(Object::null_object());  // Make room for (unused) result.
   __ pushl(field);
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kInitStaticFieldRuntimeEntry,
-                                1,
-                                locs());
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kInitStaticFieldRuntimeEntry, 1, locs());
   __ Drop(2);  // Remove argument and unused result.
   __ Bind(&no_call);
 }
@@ -2518,8 +2484,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(EAX));
   locs->set_out(0, Location::RegisterLocation(EAX));
   return locs;
@@ -2532,11 +2498,8 @@
 
   __ PushObject(Object::null_object());  // Make room for the result.
   __ pushl(context_value);
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kCloneContextRuntimeEntry,
-                                1,
-                                locs());
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kCloneContextRuntimeEntry, 1, locs());
   __ popl(result);  // Remove argument.
   __ popl(result);  // Get result (cloned context).
 }
@@ -2551,19 +2514,16 @@
 
 void CatchBlockEntryInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   __ Bind(compiler->GetJumpLabel(this));
-  compiler->AddExceptionHandler(catch_try_index(),
-                                try_index(),
+  compiler->AddExceptionHandler(catch_try_index(), try_index(),
                                 compiler->assembler()->CodeSize(),
-                                catch_handler_types_,
-                                needs_stacktrace());
+                                catch_handler_types_, needs_stacktrace());
   // On lazy deoptimization we patch the optimized code here to enter the
   // deoptimization stub.
   const intptr_t deopt_id = Thread::ToDeoptAfter(GetDeoptId());
   if (compiler->is_optimizing()) {
     compiler->AddDeoptIndexAtCall(deopt_id);
   } else {
-    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                   deopt_id,
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id,
                                    TokenPosition::kNoSource);
   }
   if (HasParallelMove()) {
@@ -2590,10 +2550,8 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = opt ? 0 : 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs,
-                          kNumTemps,
-                          LocationSummary::kCallOnSlowPath);
+  LocationSummary* summary = new (zone) LocationSummary(
+      zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   if (!opt) {
     summary->set_temp(0, Location::RequiresRegister());
   }
@@ -2604,7 +2562,7 @@
 class CheckStackOverflowSlowPath : public SlowPathCode {
  public:
   explicit CheckStackOverflowSlowPath(CheckStackOverflowInstr* instruction)
-      : instruction_(instruction) { }
+      : instruction_(instruction) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (FLAG_use_osr && osr_entry_label()->IsLinked()) {
@@ -2621,11 +2579,9 @@
     ASSERT(compiler->pending_deoptimization_env_ == NULL);
     Environment* env = compiler->SlowPathEnvironmentFor(instruction_);
     compiler->pending_deoptimization_env_ = env;
-    compiler->GenerateRuntimeCall(instruction_->token_pos(),
-                                  instruction_->deopt_id(),
-                                  kStackOverflowRuntimeEntry,
-                                  0,
-                                  instruction_->locs());
+    compiler->GenerateRuntimeCall(
+        instruction_->token_pos(), instruction_->deopt_id(),
+        kStackOverflowRuntimeEntry, 0, instruction_->locs());
 
     if (FLAG_use_osr && !compiler->is_optimizing() && instruction_->in_loop()) {
       // In unoptimized code, record loop stack checks as possible OSR entries.
@@ -2681,9 +2637,10 @@
   Register left = locs.in(0).reg();
   Register result = locs.out(0).reg();
   ASSERT(left == result);
-  Label* deopt = shift_left->CanDeoptimize() ?
-      compiler->AddDeoptStub(shift_left->deopt_id(), ICData::kDeoptBinarySmiOp)
-      : NULL;
+  Label* deopt = shift_left->CanDeoptimize()
+                     ? compiler->AddDeoptStub(shift_left->deopt_id(),
+                                              ICData::kDeoptBinarySmiOp)
+                     : NULL;
   if (locs.in(1).IsConstant()) {
     const Object& constant = locs.in(1).constant();
     ASSERT(constant.IsSmi());
@@ -2730,7 +2687,7 @@
           !RangeUtils::IsWithin(right_range, 0, max_right - 1);
       if (right_needs_check) {
         __ cmpl(right,
-            Immediate(reinterpret_cast<int32_t>(Smi::New(max_right))));
+                Immediate(reinterpret_cast<int32_t>(Smi::New(max_right))));
         __ j(ABOVE_EQUAL, deopt);
       }
       __ SmiUntag(right);
@@ -2753,7 +2710,7 @@
       }
       Label done, is_not_zero;
       __ cmpl(right,
-          Immediate(reinterpret_cast<int32_t>(Smi::New(Smi::kBits))));
+              Immediate(reinterpret_cast<int32_t>(Smi::New(Smi::kBits))));
       __ j(BELOW, &is_not_zero, Assembler::kNearJump);
       __ xorl(left, left);
       __ jmp(&done, Assembler::kNearJump);
@@ -2769,7 +2726,7 @@
     if (right_needs_check) {
       ASSERT(shift_left->CanDeoptimize());
       __ cmpl(right,
-        Immediate(reinterpret_cast<int32_t>(Smi::New(Smi::kBits))));
+              Immediate(reinterpret_cast<int32_t>(Smi::New(Smi::kBits))));
       __ j(ABOVE_EQUAL, deopt);
     }
     // Left is not a constant.
@@ -2803,7 +2760,8 @@
 
 
 LocationSummary* CheckedSmiComparisonInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   // Only for precompiled code, not on ia32 currently.
   UNIMPLEMENTED();
   return NULL;
@@ -2811,7 +2769,8 @@
 
 
 Condition CheckedSmiComparisonInstr::EmitComparisonCode(
-    FlowGraphCompiler* compiler, BranchLabels labels) {
+    FlowGraphCompiler* compiler,
+    BranchLabels labels) {
   // Only for precompiled code, not on ia32 currently.
   UNIMPLEMENTED();
   return ZERO;
@@ -2841,8 +2800,8 @@
   const intptr_t kNumInputs = 2;
   if (op_kind() == Token::kTRUNCDIV) {
     const intptr_t kNumTemps = 1;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     if (RightIsPowerOfTwoConstant()) {
       summary->set_in(0, Location::RequiresRegister());
       ConstantInstr* right_constant = right()->definition()->AsConstant();
@@ -2861,8 +2820,8 @@
     return summary;
   } else if (op_kind() == Token::kMOD) {
     const intptr_t kNumTemps = 1;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     // Both inputs must be writable because they will be untagged.
     summary->set_in(0, Location::RegisterLocation(EDX));
     summary->set_in(1, Location::WritableRegister());
@@ -2872,8 +2831,8 @@
     return summary;
   } else if (op_kind() == Token::kSHR) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     summary->set_in(1, Location::FixedRegisterOrSmiConstant(right(), ECX));
     summary->set_out(0, Location::SameAsFirstInput());
@@ -2884,8 +2843,8 @@
     const bool shiftBy1 =
         (right_constant != NULL) && IsSmiValue(right_constant->value(), 1);
     const intptr_t kNumTemps = (can_overflow() && !shiftBy1) ? 1 : 0;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     summary->set_in(1, Location::FixedRegisterOrSmiConstant(right(), ECX));
     if (kNumTemps == 1) {
@@ -2895,8 +2854,8 @@
     return summary;
   } else {
     const intptr_t kNumTemps = 0;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     ConstantInstr* constant = right()->definition()->AsConstant();
     if (constant != NULL) {
@@ -2910,7 +2869,7 @@
 }
 
 
-template<typename OperandType>
+template <typename OperandType>
 static void EmitIntegerArithmetic(FlowGraphCompiler* compiler,
                                   Token::Kind op_kind,
                                   Register left,
@@ -2967,13 +2926,9 @@
       case Token::kBIT_OR:
       case Token::kBIT_XOR:
       case Token::kMUL: {
-        const intptr_t imm = (op_kind() == Token::kMUL) ? value
-                                                        : Smi::RawValue(value);
-        EmitIntegerArithmetic(compiler,
-                              op_kind(),
-                              left,
-                              Immediate(imm),
-                              deopt);
+        const intptr_t imm =
+            (op_kind() == Token::kMUL) ? value : Smi::RawValue(value);
+        EmitIntegerArithmetic(compiler, op_kind(), left, Immediate(imm), deopt);
         break;
       }
 
@@ -3000,8 +2955,8 @@
       case Token::kSHR: {
         // sarl operation masks the count to 5 bits.
         const intptr_t kCountLimit = 0x1F;
-        __ sarl(left, Immediate(
-            Utils::Minimum(value + kSmiTagSize, kCountLimit)));
+        __ sarl(left,
+                Immediate(Utils::Minimum(value + kSmiTagSize, kCountLimit)));
         __ SmiTag(left);
         break;
       }
@@ -3051,7 +3006,7 @@
       ASSERT(result == EAX);
       __ SmiUntag(left);
       __ SmiUntag(right);
-      __ cdq();  // Sign extend EAX -> EDX:EAX.
+      __ cdq();         // Sign extend EAX -> EDX:EAX.
       __ idivl(right);  //  EAX: quotient, EDX: remainder.
       // Check the corner case of dividing the 'MIN_SMI' with -1, in which
       // case we cannot tag the result.
@@ -3073,7 +3028,7 @@
       __ SmiUntag(left);
       __ SmiUntag(right);
       __ movl(EAX, EDX);
-      __ cdq();  // Sign extend EAX -> EDX:EAX.
+      __ cdq();         // Sign extend EAX -> EDX:EAX.
       __ idivl(right);  //  EAX: quotient, EDX: remainder.
       //  res = left % right;
       //  if (res < 0) {
@@ -3156,20 +3111,20 @@
     UNREACHABLE();
     return NULL;
   } else if (op_kind() == Token::kMOD) {
-     UNREACHABLE();
+    UNREACHABLE();
     return NULL;
   } else if (op_kind() == Token::kSHR) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     summary->set_in(1, Location::FixedRegisterOrSmiConstant(right(), ECX));
     summary->set_out(0, Location::SameAsFirstInput());
     return summary;
   } else if (op_kind() == Token::kSHL) {
     const intptr_t kNumTemps = can_overflow() ? 1 : 0;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     summary->set_in(1, Location::FixedRegisterOrSmiConstant(right(), ECX));
     if (can_overflow()) {
@@ -3179,8 +3134,8 @@
     return summary;
   } else {
     const intptr_t kNumTemps = 0;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     ConstantInstr* constant = right()->definition()->AsConstant();
     if (constant != NULL) {
@@ -3200,9 +3155,10 @@
   Register left = locs.in(0).reg();
   Register result = locs.out(0).reg();
   ASSERT(left == result);
-  Label* deopt = shift_left->CanDeoptimize() ?
-      compiler->AddDeoptStub(shift_left->deopt_id(), ICData::kDeoptBinarySmiOp)
-      : NULL;
+  Label* deopt = shift_left->CanDeoptimize()
+                     ? compiler->AddDeoptStub(shift_left->deopt_id(),
+                                              ICData::kDeoptBinarySmiOp)
+                     : NULL;
   ASSERT(locs.in(1).IsConstant());
 
   const Object& constant = locs.in(1).constant();
@@ -3236,7 +3192,7 @@
   ASSERT(left == result);
   Label* deopt = NULL;
   if (CanDeoptimize()) {
-    deopt  = compiler->AddDeoptStub(deopt_id(), ICData::kDeoptBinarySmiOp);
+    deopt = compiler->AddDeoptStub(deopt_id(), ICData::kDeoptBinarySmiOp);
   }
 
   if (locs()->in(1).IsConstant()) {
@@ -3250,15 +3206,11 @@
       case Token::kBIT_AND:
       case Token::kBIT_OR:
       case Token::kBIT_XOR:
-        EmitIntegerArithmetic(compiler,
-                              op_kind(),
-                              left,
-                              Immediate(value),
+        EmitIntegerArithmetic(compiler, op_kind(), left, Immediate(value),
                               deopt);
         break;
 
 
-
       case Token::kTRUNCDIV: {
         UNREACHABLE();
         break;
@@ -3280,11 +3232,7 @@
 
   if (locs()->in(1).IsStackSlot()) {
     const Address& right = locs()->in(1).ToStackSlotAddress();
-    EmitIntegerArithmetic(compiler,
-                          op_kind(),
-                          left,
-                          right,
-                          deopt);
+    EmitIntegerArithmetic(compiler, op_kind(), left, right, deopt);
     return;
   }  // if locs()->in(1).IsStackSlot.
 
@@ -3297,11 +3245,7 @@
     case Token::kBIT_AND:
     case Token::kBIT_OR:
     case Token::kBIT_XOR:
-      EmitIntegerArithmetic(compiler,
-                            op_kind(),
-                            left,
-                            right,
-                            deopt);
+      EmitIntegerArithmetic(compiler, op_kind(), left, right, deopt);
       break;
 
     default:
@@ -3315,8 +3259,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = (op_kind() == Token::kMUL) ? 1 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   if (op_kind() == Token::kMUL) {
     summary->set_in(0, Location::RegisterLocation(EAX));
     summary->set_temp(0, Location::RegisterLocation(EDX));
@@ -3360,12 +3304,11 @@
   intptr_t right_cid = right()->Type()->ToCid();
   ASSERT((left_cid != kDoubleCid) && (right_cid != kDoubleCid));
   const intptr_t kNumInputs = 2;
-  const bool need_temp = (left()->definition() != right()->definition())
-                      && (left_cid != kSmiCid)
-                      && (right_cid != kSmiCid);
+  const bool need_temp = (left()->definition() != right()->definition()) &&
+                         (left_cid != kSmiCid) && (right_cid != kSmiCid);
   const intptr_t kNumTemps = need_temp ? 1 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   if (need_temp) summary->set_temp(0, Location::RequiresRegister());
@@ -3374,16 +3317,16 @@
 
 
 void CheckEitherNonSmiInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  Label* deopt = compiler->AddDeoptStub(deopt_id(),
-                                        ICData::kDeoptBinaryDoubleOp,
-                                        licm_hoisted_ ? ICData::kHoisted : 0);
+  Label* deopt =
+      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptBinaryDoubleOp,
+                             licm_hoisted_ ? ICData::kHoisted : 0);
   intptr_t left_cid = left()->Type()->ToCid();
   intptr_t right_cid = right()->Type()->ToCid();
   Register left = locs()->in(0).reg();
   Register right = locs()->in(1).reg();
   if (this->left()->definition() == this->right()->definition()) {
     __ testl(left, Immediate(kSmiTagMask));
-  } else  if (left_cid == kSmiCid) {
+  } else if (left_cid == kSmiCid) {
     __ testl(right, Immediate(kSmiTagMask));
   } else if (right_cid == kSmiCid) {
     __ testl(left, Immediate(kSmiTagMask));
@@ -3397,11 +3340,10 @@
 }
 
 
-LocationSummary* BoxInstr::MakeLocationSummary(Zone* zone,
-                                                     bool opt) const {
+LocationSummary* BoxInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
+  LocationSummary* summary = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_temp(0, Location::RequiresRegister());
@@ -3414,12 +3356,9 @@
   Register out_reg = locs()->out(0).reg();
   XmmRegister value = locs()->in(0).fpu_reg();
 
-  BoxAllocationSlowPath::Allocate(
-      compiler,
-      this,
-      compiler->BoxClassFor(from_representation()),
-      out_reg,
-      locs()->temp(0).reg());
+  BoxAllocationSlowPath::Allocate(compiler, this,
+                                  compiler->BoxClassFor(from_representation()),
+                                  out_reg, locs()->temp(0).reg());
 
   switch (from_representation()) {
     case kUnboxedDouble:
@@ -3437,15 +3376,15 @@
 }
 
 
-LocationSummary* UnboxInstr::MakeLocationSummary(Zone* zone,
-                                                       bool opt) const {
-  const bool needs_temp = CanDeoptimize() ||
+LocationSummary* UnboxInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  const bool needs_temp =
+      CanDeoptimize() ||
       (CanConvertSmi() && (value()->Type()->ToCid() == kSmiCid));
 
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = needs_temp ? 1 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   if (needs_temp) {
     summary->set_temp(0, Location::RequiresRegister());
@@ -3534,8 +3473,8 @@
   } else {
     const Register box = locs()->in(0).reg();
     const Register temp = locs()->temp(0).reg();
-    Label* deopt = compiler->AddDeoptStub(GetDeoptId(),
-                                          ICData::kDeoptCheckClass);
+    Label* deopt =
+        compiler->AddDeoptStub(GetDeoptId(), ICData::kDeoptCheckClass);
     Label is_smi;
 
     if ((value()->Type()->ToNullableCid() == box_cid) &&
@@ -3568,12 +3507,12 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = ValueFitsSmi() ? 0 : 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps,
-      ValueFitsSmi() ? LocationSummary::kNoCall
-                     : LocationSummary::kCallOnSlowPath);
-  const bool needs_writable_input = ValueFitsSmi() ||
-      (from_representation() == kUnboxedUint32);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps,
+                      ValueFitsSmi() ? LocationSummary::kNoCall
+                                     : LocationSummary::kCallOnSlowPath);
+  const bool needs_writable_input =
+      ValueFitsSmi() || (from_representation() == kUnboxedUint32);
   summary->set_in(0, needs_writable_input ? Location::RequiresRegister()
                                           : Location::WritableRegister());
   if (!ValueFitsSmi()) {
@@ -3605,8 +3544,8 @@
     // Value input is writable register and has to be manually preserved
     // on the slow path.
     locs()->live_registers()->Add(locs()->in(0), kUnboxedInt32);
-    BoxAllocationSlowPath::Allocate(
-        compiler, this, compiler->mint_class(), out, locs()->temp(0).reg());
+    BoxAllocationSlowPath::Allocate(compiler, this, compiler->mint_class(), out,
+                                    locs()->temp(0).reg());
     __ movl(FieldAddress(out, Mint::value_offset()), value);
     if (from_representation() == kUnboxedInt32) {
       __ sarl(value, Immediate(31));  // Sign extend.
@@ -3624,12 +3563,10 @@
                                                     bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = ValueFitsSmi() ? 0 : 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs,
-                          kNumTemps,
-                          ValueFitsSmi()
-                              ? LocationSummary::kNoCall
-                              : LocationSummary::kCallOnSlowPath);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps,
+                      ValueFitsSmi() ? LocationSummary::kNoCall
+                                     : LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::Pair(Location::RequiresRegister(),
                                     Location::RequiresRegister()));
   if (!ValueFitsSmi()) {
@@ -3680,8 +3617,8 @@
   // 3. Restore lower half of input before using it.
   __ subl(value_lo, Immediate(0x40000000));
 
-  BoxAllocationSlowPath::Allocate(
-      compiler, this, compiler->mint_class(), out_reg, locs()->temp(0).reg());
+  BoxAllocationSlowPath::Allocate(compiler, this, compiler->mint_class(),
+                                  out_reg, locs()->temp(0).reg());
   __ movl(FieldAddress(out_reg, Mint::value_offset()), value_lo);
   __ movl(FieldAddress(out_reg, Mint::value_offset() + kWordSize), value_hi);
   __ Bind(&done);
@@ -3695,23 +3632,22 @@
   intptr_t kNumTemps = 0;
 
   if (CanDeoptimize()) {
-    if ((value_cid != kSmiCid) &&
-        (value_cid != kMintCid) &&
-        !is_truncating()) {
+    if ((value_cid != kSmiCid) && (value_cid != kMintCid) && !is_truncating()) {
       kNumTemps = 2;
     } else {
       kNumTemps = 1;
     }
   }
 
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   for (int i = 0; i < kNumTemps; i++) {
     summary->set_temp(i, Location::RequiresRegister());
   }
-  summary->set_out(0, ((value_cid == kSmiCid) || (value_cid != kMintCid)) ?
-      Location::SameAsFirstInput() : Location::RequiresRegister());
+  summary->set_out(0, ((value_cid == kSmiCid) || (value_cid != kMintCid))
+                          ? Location::SameAsFirstInput()
+                          : Location::RequiresRegister());
   return summary;
 }
 
@@ -3738,8 +3674,10 @@
   Register value = locs()->in(0).reg();
   const Register result = locs()->out(0).reg();
   const Register temp = CanDeoptimize() ? locs()->temp(0).reg() : kNoRegister;
-  Label* deopt = CanDeoptimize() ?
-      compiler->AddDeoptStub(GetDeoptId(), ICData::kDeoptUnboxInteger) : NULL;
+  Label* deopt =
+      CanDeoptimize()
+          ? compiler->AddDeoptStub(GetDeoptId(), ICData::kDeoptUnboxInteger)
+          : NULL;
   Label* out_of_range = !is_truncating() ? deopt : NULL;
 
   const intptr_t lo_offset = Mint::value_offset();
@@ -3750,12 +3688,8 @@
     __ SmiUntag(value);
   } else if (value_cid == kMintCid) {
     ASSERT((value != result) || (out_of_range == NULL));
-    LoadInt32FromMint(compiler,
-                      result,
-                      FieldAddress(value, lo_offset),
-                      FieldAddress(value, hi_offset),
-                      temp,
-                      out_of_range);
+    LoadInt32FromMint(compiler, result, FieldAddress(value, lo_offset),
+                      FieldAddress(value, hi_offset), temp, out_of_range);
   } else if (!CanDeoptimize()) {
     ASSERT(value == result);
     Label done;
@@ -3773,12 +3707,8 @@
       __ movl(value_temp, value);
       value = value_temp;
     }
-    LoadInt32FromMint(compiler,
-                      result,
-                      Address(value, TIMES_2, lo_offset),
-                      Address(value, TIMES_2, hi_offset),
-                      temp,
-                      out_of_range);
+    LoadInt32FromMint(compiler, result, Address(value, TIMES_2, lo_offset),
+                      Address(value, TIMES_2, hi_offset), temp, out_of_range);
     __ Bind(&done);
   }
 }
@@ -3789,7 +3719,7 @@
   const bool might_box = (representation() == kTagged) && !can_pack_into_smi();
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = might_box ? 2 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
+  LocationSummary* summary = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps,
       might_box ? LocationSummary::kCallOnSlowPath : LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
@@ -3820,7 +3750,7 @@
   const Location index = locs()->in(1);
 
   Address element_address = Assembler::ElementAddressForRegIndex(
-        IsExternal(), class_id(), index_scale(), str, index.reg());
+      IsExternal(), class_id(), index_scale(), str, index.reg());
 
   if ((index_scale() == 1)) {
     __ SmiUntag(index.reg());
@@ -3856,18 +3786,30 @@
       case kOneByteStringCid:
       case kExternalOneByteStringCid:
         switch (element_count()) {
-          case 1: __ movzxb(result, element_address); break;
-          case 2: __ movzxw(result, element_address); break;
-          case 4: __ movl(result, element_address); break;
-          default: UNREACHABLE();
+          case 1:
+            __ movzxb(result, element_address);
+            break;
+          case 2:
+            __ movzxw(result, element_address);
+            break;
+          case 4:
+            __ movl(result, element_address);
+            break;
+          default:
+            UNREACHABLE();
         }
         break;
       case kTwoByteStringCid:
       case kExternalTwoByteStringCid:
         switch (element_count()) {
-          case 1: __ movzxw(result, element_address); break;
-          case 2: __ movl(result, element_address); break;
-          default: UNREACHABLE();
+          case 1:
+            __ movzxw(result, element_address);
+            break;
+          case 2:
+            __ movl(result, element_address);
+            break;
+          default:
+            UNREACHABLE();
         }
         break;
       default:
@@ -3890,8 +3832,8 @@
       Label done;
       __ testl(temp, Immediate(0xC0000000));
       __ j(ZERO, &done);
-      BoxAllocationSlowPath::Allocate(
-          compiler, this, compiler->mint_class(), result, temp2);
+      BoxAllocationSlowPath::Allocate(compiler, this, compiler->mint_class(),
+                                      result, temp2);
       __ movl(FieldAddress(result, Mint::value_offset()), temp);
       __ movl(FieldAddress(result, Mint::value_offset() + kWordSize),
               Immediate(0));
@@ -3905,8 +3847,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -3921,11 +3863,20 @@
   ASSERT(locs()->out(0).fpu_reg() == left);
 
   switch (op_kind()) {
-    case Token::kADD: __ addsd(left, right); break;
-    case Token::kSUB: __ subsd(left, right); break;
-    case Token::kMUL: __ mulsd(left, right); break;
-    case Token::kDIV: __ divsd(left, right); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ addsd(left, right);
+      break;
+    case Token::kSUB:
+      __ subsd(left, right);
+      break;
+    case Token::kMUL:
+      __ mulsd(left, right);
+      break;
+    case Token::kDIV:
+      __ divsd(left, right);
+      break;
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -3935,8 +3886,8 @@
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps =
       (op_kind() == MethodRecognizer::kDouble_getIsInfinite) ? 1 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   if (op_kind() == MethodRecognizer::kDouble_getIsInfinite) {
     summary->set_temp(0, Location::RequiresRegister());
@@ -3991,9 +3942,9 @@
 
 void DoubleTestOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
-  EmitBranchOnCondition(compiler,  true_condition, labels);
+  EmitBranchOnCondition(compiler, true_condition, labels);
 
   Register result = locs()->out(0).reg();
   Label done;
@@ -4010,8 +3961,8 @@
                                                              bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4026,11 +3977,20 @@
   ASSERT(locs()->out(0).fpu_reg() == left);
 
   switch (op_kind()) {
-    case Token::kADD: __ addps(left, right); break;
-    case Token::kSUB: __ subps(left, right); break;
-    case Token::kMUL: __ mulps(left, right); break;
-    case Token::kDIV: __ divps(left, right); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ addps(left, right);
+      break;
+    case Token::kSUB:
+      __ subps(left, right);
+      break;
+    case Token::kMUL:
+      __ mulps(left, right);
+      break;
+    case Token::kDIV:
+      __ divps(left, right);
+      break;
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4039,8 +3999,8 @@
                                                              bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4055,11 +4015,20 @@
   ASSERT(locs()->out(0).fpu_reg() == left);
 
   switch (op_kind()) {
-    case Token::kADD: __ addpd(left, right); break;
-    case Token::kSUB: __ subpd(left, right); break;
-    case Token::kMUL: __ mulpd(left, right); break;
-    case Token::kDIV: __ divpd(left, right); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ addpd(left, right);
+      break;
+    case Token::kSUB:
+      __ subpd(left, right);
+      break;
+    case Token::kMUL:
+      __ mulpd(left, right);
+      break;
+    case Token::kDIV:
+      __ divpd(left, right);
+      break;
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4068,8 +4037,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4102,7 +4071,8 @@
     case MethodRecognizer::kInt32x4Shuffle:
       __ shufps(value, value, Immediate(mask_));
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4111,8 +4081,8 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4130,7 +4100,8 @@
     case MethodRecognizer::kInt32x4ShuffleMix:
       __ shufps(left, right, Immediate(mask_));
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4139,8 +4110,8 @@
                                                                bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresRegister());
   return summary;
@@ -4157,11 +4128,12 @@
 
 
 LocationSummary* Float32x4ConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 4;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_in(2, Location::RequiresFpuRegister());
@@ -4198,8 +4170,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
 }
@@ -4215,8 +4187,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4237,8 +4209,8 @@
                                                                bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4272,7 +4244,8 @@
       __ cmppsle(left, right);
       break;
 
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4281,8 +4254,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4303,7 +4276,8 @@
     case MethodRecognizer::kFloat32x4Max:
       __ maxps(left, right);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4312,8 +4286,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4333,7 +4307,8 @@
       __ shufps(left, left, Immediate(0x00));
       __ mulps(left, right);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4342,8 +4317,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4365,7 +4340,8 @@
     case MethodRecognizer::kFloat32x4ReciprocalSqrt:
       __ rsqrtps(left);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4374,8 +4350,8 @@
                                                             bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4393,7 +4369,8 @@
     case MethodRecognizer::kFloat32x4Absolute:
       __ absps(left);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4402,8 +4379,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 3;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_in(2, Location::RequiresFpuRegister());
@@ -4426,8 +4403,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4486,7 +4463,8 @@
       __ movups(replacement, Address(ESP, 0));
       __ addl(ESP, Immediate(16));
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4495,8 +4473,8 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4512,8 +4490,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4532,18 +4510,18 @@
     case MethodRecognizer::kFloat64x2GetY:
       __ shufpd(value, value, Immediate(0x33));
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
 
-
 LocationSummary* Float64x2ZeroInstr::MakeLocationSummary(Zone* zone,
                                                          bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
 }
@@ -4559,8 +4537,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4574,11 +4552,12 @@
 
 
 LocationSummary* Float64x2ConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4598,11 +4577,12 @@
 
 
 LocationSummary* Float64x2ToFloat32x4Instr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4616,11 +4596,12 @@
 
 
 LocationSummary* Float32x4ToFloat64x2Instr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4637,8 +4618,8 @@
                                                             bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   if (representation() == kTagged) {
     ASSERT(op_kind() == MethodRecognizer::kFloat64x2GetSignMask);
@@ -4671,7 +4652,8 @@
       __ movmskpd(locs()->out(0).reg(), left);
       __ SmiTag(locs()->out(0).reg());
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4680,8 +4662,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4725,17 +4707,18 @@
     case MethodRecognizer::kFloat64x2Max:
       __ maxpd(left, right);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
 
-LocationSummary* Int32x4ConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+LocationSummary* Int32x4ConstructorInstr::MakeLocationSummary(Zone* zone,
+                                                              bool opt) const {
   const intptr_t kNumInputs = 4;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_in(2, Location::RequiresRegister());
@@ -4762,11 +4745,12 @@
 
 
 LocationSummary* Int32x4BoolConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 4;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_in(2, Location::RequiresRegister());
@@ -4828,8 +4812,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresRegister());
   return summary;
@@ -4857,7 +4841,8 @@
     case MethodRecognizer::kInt32x4GetFlagW:
       __ movl(result, Address(ESP, 12));
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
   __ addl(ESP, Immediate(16));
   __ testl(result, result);
@@ -4874,8 +4859,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 3;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_in(2, Location::RequiresFpuRegister());
@@ -4909,8 +4894,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4934,26 +4919,27 @@
       __ jmp(&exitPath);
       __ Bind(&falsePath);
       __ movl(Address(ESP, 0), Immediate(0x0));
-    break;
+      break;
     case MethodRecognizer::kInt32x4WithFlagY:
       __ movl(Address(ESP, 4), Immediate(0xFFFFFFFF));
       __ jmp(&exitPath);
       __ Bind(&falsePath);
       __ movl(Address(ESP, 4), Immediate(0x0));
-    break;
+      break;
     case MethodRecognizer::kInt32x4WithFlagZ:
       __ movl(Address(ESP, 8), Immediate(0xFFFFFFFF));
       __ jmp(&exitPath);
       __ Bind(&falsePath);
       __ movl(Address(ESP, 8), Immediate(0x0));
-    break;
+      break;
     case MethodRecognizer::kInt32x4WithFlagW:
       __ movl(Address(ESP, 12), Immediate(0xFFFFFFFF));
       __ jmp(&exitPath);
       __ Bind(&falsePath);
       __ movl(Address(ESP, 12), Immediate(0x0));
-    break;
-    default: UNREACHABLE();
+      break;
+    default:
+      UNREACHABLE();
   }
   __ Bind(&exitPath);
   // Copy mask back to register.
@@ -4966,8 +4952,8 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4983,8 +4969,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -5015,7 +5001,8 @@
     case Token::kSUB:
       __ subpl(left, right);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -5026,8 +5013,8 @@
          (kind() == MathUnaryInstr::kDoubleSquare));
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   if (kind() == MathUnaryInstr::kDoubleSquare) {
     summary->set_out(0, Location::SameAsFirstInput());
@@ -5052,10 +5039,11 @@
 
 
 LocationSummary* CaseInsensitiveCompareUC16Instr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, InputCount(), kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, InputCount(), kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(EAX));
   summary->set_in(1, Location::RegisterLocation(ECX));
   summary->set_in(2, Location::RegisterLocation(EDX));
@@ -5067,17 +5055,16 @@
 
 void CaseInsensitiveCompareUC16Instr::EmitNativeCode(
     FlowGraphCompiler* compiler) {
-
   // Save ESP. EDI is chosen because it is callee saved so we do not need to
   // back it up before calling into the runtime.
   static const Register kSavedSPReg = EDI;
   __ movl(kSavedSPReg, ESP);
   __ ReserveAlignedFrameSpace(kWordSize * TargetFunction().argument_count());
 
-  __ movl(Address(ESP, + 0 * kWordSize), locs()->in(0).reg());
-  __ movl(Address(ESP, + 1 * kWordSize), locs()->in(1).reg());
-  __ movl(Address(ESP, + 2 * kWordSize), locs()->in(2).reg());
-  __ movl(Address(ESP, + 3 * kWordSize), locs()->in(3).reg());
+  __ movl(Address(ESP, +0 * kWordSize), locs()->in(0).reg());
+  __ movl(Address(ESP, +1 * kWordSize), locs()->in(1).reg());
+  __ movl(Address(ESP, +2 * kWordSize), locs()->in(2).reg());
+  __ movl(Address(ESP, +3 * kWordSize), locs()->in(3).reg());
 
   // Call the function.
   __ CallRuntime(TargetFunction(), TargetFunction().argument_count());
@@ -5092,8 +5079,8 @@
   if (result_cid() == kDoubleCid) {
     const intptr_t kNumInputs = 2;
     const intptr_t kNumTemps = 1;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresFpuRegister());
     summary->set_in(1, Location::RequiresFpuRegister());
     // Reuse the left register so that code can be made shorter.
@@ -5105,8 +5092,8 @@
   ASSERT(result_cid() == kSmiCid);
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   // Reuse the left register so that code can be made shorter.
@@ -5179,9 +5166,7 @@
 LocationSummary* UnarySmiOpInstr::MakeLocationSummary(Zone* zone,
                                                       bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::SameAsFirstInput(),
+  return LocationSummary::Make(zone, kNumInputs, Location::SameAsFirstInput(),
                                LocationSummary::kNoCall);
 }
 
@@ -5210,8 +5195,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -5226,11 +5211,11 @@
 
 
 LocationSummary* Int32ToDoubleInstr::MakeLocationSummary(Zone* zone,
-                                                       bool opt) const {
+                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresRegister());
   result->set_out(0, Location::RequiresFpuRegister());
   return result;
@@ -5248,8 +5233,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::WritableRegister());
   result->set_out(0, Location::RequiresFpuRegister());
   return result;
@@ -5268,8 +5253,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::Pair(Location::RequiresRegister(),
                                    Location::RequiresRegister()));
   result->set_out(0, Location::RequiresFpuRegister());
@@ -5303,8 +5288,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   result->set_in(0, Location::RegisterLocation(ECX));
   result->set_out(0, Location::RegisterLocation(EAX));
   return result;
@@ -5334,13 +5319,10 @@
   const Function& target = Function::ZoneHandle(ic_data.GetTargetAt(0));
 
   const intptr_t kNumberOfArguments = 1;
-  compiler->GenerateStaticCall(deopt_id(),
-                               instance_call()->token_pos(),
-                               target,
+  compiler->GenerateStaticCall(deopt_id(), instance_call()->token_pos(), target,
                                kNumberOfArguments,
                                Object::null_array(),  // No argument names.
-                               locs(),
-                               ICData::Handle());
+                               locs(), ICData::Handle());
   __ Bind(&done);
 }
 
@@ -5349,8 +5331,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresFpuRegister());
   result->set_out(0, Location::RequiresRegister());
   return result;
@@ -5373,8 +5355,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresFpuRegister());
   result->set_out(0, Location::RequiresFpuRegister());
   return result;
@@ -5386,13 +5368,13 @@
   XmmRegister result = locs()->out(0).fpu_reg();
   switch (recognized_kind()) {
     case MethodRecognizer::kDoubleTruncate:
-      __ roundsd(result, value,  Assembler::kRoundToZero);
+      __ roundsd(result, value, Assembler::kRoundToZero);
       break;
     case MethodRecognizer::kDoubleFloor:
-      __ roundsd(result, value,  Assembler::kRoundDown);
+      __ roundsd(result, value, Assembler::kRoundDown);
       break;
     case MethodRecognizer::kDoubleCeil:
-      __ roundsd(result, value,  Assembler::kRoundUp);
+      __ roundsd(result, value, Assembler::kRoundUp);
       break;
     default:
       UNREACHABLE();
@@ -5404,8 +5386,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresFpuRegister());
   result->set_out(0, Location::SameAsFirstInput());
   return result;
@@ -5421,8 +5403,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresFpuRegister());
   result->set_out(0, Location::SameAsFirstInput());
   return result;
@@ -5439,8 +5421,8 @@
   ASSERT((InputCount() == 1) || (InputCount() == 2));
   const intptr_t kNumTemps =
       (recognized_kind() == MethodRecognizer::kMathDoublePow) ? 3 : 1;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, InputCount(), kNumTemps, LocationSummary::kCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, InputCount(), kNumTemps, LocationSummary::kCall);
   // EDI is chosen because it is callee saved so we do not need to back it
   // up before calling into the runtime.
   result->set_temp(0, Location::RegisterLocation(EDI));
@@ -5488,7 +5470,7 @@
   XmmRegister zero_temp =
       locs->temp(InvokeMathCFunctionInstr::kDoubleTempIndex).fpu_reg();
 
-  __ xorps(zero_temp, zero_temp);   // 0.0.
+  __ xorps(zero_temp, zero_temp);  // 0.0.
   __ LoadObject(temp, Double::ZoneHandle(Double::NewCanonical(1.0)));
   __ movsd(result, FieldAddress(temp, Double::value_offset()));
 
@@ -5617,27 +5599,27 @@
   // Only use this instruction in optimized code.
   ASSERT(opt);
   const intptr_t kNumInputs = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, 0, LocationSummary::kNoCall);
+  LocationSummary* summary =
+      new (zone) LocationSummary(zone, kNumInputs, 0, LocationSummary::kNoCall);
   if (representation() == kUnboxedDouble) {
     if (index() == 0) {
-      summary->set_in(0, Location::Pair(Location::RequiresFpuRegister(),
-                                        Location::Any()));
+      summary->set_in(
+          0, Location::Pair(Location::RequiresFpuRegister(), Location::Any()));
     } else {
       ASSERT(index() == 1);
-      summary->set_in(0, Location::Pair(Location::Any(),
-                                        Location::RequiresFpuRegister()));
+      summary->set_in(
+          0, Location::Pair(Location::Any(), Location::RequiresFpuRegister()));
     }
     summary->set_out(0, Location::RequiresFpuRegister());
   } else {
     ASSERT(representation() == kTagged);
     if (index() == 0) {
-      summary->set_in(0, Location::Pair(Location::RequiresRegister(),
-                                        Location::Any()));
+      summary->set_in(
+          0, Location::Pair(Location::RequiresRegister(), Location::Any()));
     } else {
       ASSERT(index() == 1);
-      summary->set_in(0, Location::Pair(Location::Any(),
-                                        Location::RequiresRegister()));
+      summary->set_in(
+          0, Location::Pair(Location::Any(), Location::RequiresRegister()));
     }
     summary->set_out(0, Location::RequiresRegister());
   }
@@ -5667,8 +5649,8 @@
   if (kind() == MergedMathInstr::kTruncDivMod) {
     const intptr_t kNumInputs = 2;
     const intptr_t kNumTemps = 0;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     // Both inputs must be writable because they will be untagged.
     summary->set_in(0, Location::RegisterLocation(EAX));
     summary->set_in(1, Location::WritableRegister());
@@ -5680,8 +5662,8 @@
   if (kind() == MergedMathInstr::kSinCos) {
     const intptr_t kNumInputs = 1;
     const intptr_t kNumTemps = 2;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
     // Because we always call into the runtime (LocationSummary::kCall) we
     // must specify each input, temp, and output register explicitly.
     summary->set_in(0, Location::FpuRegisterLocation(XMM1));
@@ -5698,17 +5680,20 @@
 }
 
 
-typedef void (*SinCosCFunction) (double x, double* res_sin, double* res_cos);
+typedef void (*SinCosCFunction)(double x, double* res_sin, double* res_cos);
 
 extern const RuntimeEntry kSinCosRuntimeEntry(
-    "libc_sincos", reinterpret_cast<RuntimeFunction>(
-        static_cast<SinCosCFunction>(&SinCos)), 1, true, true);
+    "libc_sincos",
+    reinterpret_cast<RuntimeFunction>(static_cast<SinCosCFunction>(&SinCos)),
+    1,
+    true,
+    true);
 
 
 void MergedMathInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Label* deopt = NULL;
   if (CanDeoptimize()) {
-    deopt  = compiler->AddDeoptStub(deopt_id(), ICData::kDeoptBinarySmiOp);
+    deopt = compiler->AddDeoptStub(deopt_id(), ICData::kDeoptBinarySmiOp);
   }
 
   if (kind() == MergedMathInstr::kTruncDivMod) {
@@ -5730,7 +5715,7 @@
     ASSERT(result2 == EDX);
     __ SmiUntag(left);
     __ SmiUntag(right);
-    __ cdq();  // Sign extend EAX -> EDX:EAX.
+    __ cdq();         // Sign extend EAX -> EDX:EAX.
     __ idivl(right);  //  EAX: quotient, EDX: remainder.
     // Check the corner case of dividing the 'MIN_SMI' with -1, in which
     // case we cannot tag the result.
@@ -5821,13 +5806,13 @@
 
 
 LocationSummary* PolymorphicInstanceCallInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   return MakeCallSummary(zone);
 }
 
 
-LocationSummary* BranchInstr::MakeLocationSummary(Zone* zone,
-                                                  bool opt) const {
+LocationSummary* BranchInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   comparison()->InitializeLocationSummary(zone, opt);
   // Branches don't produce a result.
   comparison()->locs()->set_out(0, Location::NoLocation());
@@ -5845,8 +5830,8 @@
   const intptr_t kNumInputs = 1;
   const bool need_mask_temp = IsDenseSwitch() && !IsDenseMask(ComputeCidMask());
   const intptr_t kNumTemps = !IsNullCheck() ? (need_mask_temp ? 2 : 1) : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   if (!IsNullCheck()) {
     summary->set_temp(0, Location::RequiresRegister());
@@ -5859,8 +5844,7 @@
 
 
 void CheckClassInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  Label* deopt = compiler->AddDeoptStub(deopt_id(),
-                                        ICData::kDeoptCheckClass,
+  Label* deopt = compiler->AddDeoptStub(deopt_id(), ICData::kDeoptCheckClass,
                                         licm_hoisted_ ? ICData::kHoisted : 0);
   if (IsNullCheck()) {
     const Immediate& raw_null =
@@ -5903,8 +5887,7 @@
     }
   } else {
     GrowableArray<CidTarget> sorted_ic_data;
-    FlowGraphCompiler::SortICDataByCount(unary_checks(),
-                                         &sorted_ic_data,
+    FlowGraphCompiler::SortICDataByCount(unary_checks(), &sorted_ic_data,
                                          /* drop_smi = */ true);
     const intptr_t num_checks = sorted_ic_data.length();
     const bool use_near_jump = num_checks < 5;
@@ -5931,8 +5914,8 @@
                                                     bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   return summary;
 }
@@ -5940,8 +5923,7 @@
 
 void CheckSmiInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Register value = locs()->in(0).reg();
-  Label* deopt = compiler->AddDeoptStub(deopt_id(),
-                                        ICData::kDeoptCheckSmi,
+  Label* deopt = compiler->AddDeoptStub(deopt_id(), ICData::kDeoptCheckSmi,
                                         licm_hoisted_ ? ICData::kHoisted : 0);
   __ BranchIfNotSmi(value, deopt);
 }
@@ -5951,8 +5933,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   return summary;
 }
@@ -5986,8 +5968,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   if (length()->definition()->IsConstant()) {
     locs->set_in(kLengthPos, Location::RegisterOrSmiConstant(length()));
   } else {
@@ -6001,10 +5983,8 @@
 void CheckArrayBoundInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   uint32_t flags = generalized_ ? ICData::kGeneralized : 0;
   flags |= licm_hoisted_ ? ICData::kHoisted : 0;
-  Label* deopt = compiler->AddDeoptStub(
-      deopt_id(),
-      ICData::kDeoptCheckArrayBound,
-      flags);
+  Label* deopt =
+      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptCheckArrayBound, flags);
 
   Location length_loc = locs()->in(kLengthPos);
   Location index_loc = locs()->in(kIndexPos);
@@ -6074,13 +6054,13 @@
     case Token::kSUB:
     case Token::kMUL: {
       const intptr_t kNumTemps = (op_kind() == Token::kMUL) ? 1 : 0;
-      LocationSummary* summary = new(zone) LocationSummary(
+      LocationSummary* summary = new (zone) LocationSummary(
           zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
       summary->set_in(0, (op_kind() == Token::kMUL)
-          ? Location::Pair(Location::RegisterLocation(EAX),
-                           Location::RegisterLocation(EDX))
-          : Location::Pair(Location::RequiresRegister(),
-                           Location::RequiresRegister()));
+                             ? Location::Pair(Location::RegisterLocation(EAX),
+                                              Location::RegisterLocation(EDX))
+                             : Location::Pair(Location::RequiresRegister(),
+                                              Location::RequiresRegister()));
       summary->set_in(1, Location::Pair(Location::RequiresRegister(),
                                         Location::RequiresRegister()));
       summary->set_out(0, Location::SameAsFirstInput());
@@ -6171,8 +6151,8 @@
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps =
       (op_kind() == Token::kSHL) && CanDeoptimize() ? 2 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::Pair(Location::RequiresRegister(),
                                     Location::RequiresRegister()));
   summary->set_in(1, Location::FixedRegisterOrSmiConstant(right(), ECX));
@@ -6188,8 +6168,8 @@
 static const intptr_t kMintShiftCountLimit = 63;
 
 bool ShiftMintOpInstr::has_shift_count_check() const {
-  return !RangeUtils::IsWithin(
-      right()->definition()->range(), 0, kMintShiftCountLimit);
+  return !RangeUtils::IsWithin(right()->definition()->range(), 0,
+                               kMintShiftCountLimit);
 }
 
 
@@ -6215,7 +6195,7 @@
     switch (op_kind()) {
       case Token::kSHR: {
         if (shift > 31) {
-          __ movl(left_lo, left_hi);  // Shift by 32.
+          __ movl(left_lo, left_hi);        // Shift by 32.
           __ sarl(left_hi, Immediate(31));  // Sign extend left hi.
           if (shift > 32) {
             __ sarl(left_lo, Immediate(shift > 63 ? 31 : shift - 32));
@@ -6296,14 +6276,14 @@
         __ j(ABOVE, &large_shift);
 
         __ shrdl(left_lo, left_hi, ECX);  // Shift count in CL.
-        __ sarl(left_hi, ECX);  // Shift count in CL.
+        __ sarl(left_hi, ECX);            // Shift count in CL.
         __ jmp(&done, Assembler::kNearJump);
 
         __ Bind(&large_shift);
         // No need to subtract 32 from CL, only 5 bits used by sarl.
-        __ movl(left_lo, left_hi);  // Shift by 32.
+        __ movl(left_lo, left_hi);        // Shift by 32.
         __ sarl(left_hi, Immediate(31));  // Sign extend left hi.
-        __ sarl(left_lo, ECX);  // Shift count: CL % 32.
+        __ sarl(left_lo, ECX);            // Shift count: CL % 32.
         break;
       }
       case Token::kSHL: {
@@ -6315,7 +6295,7 @@
           __ j(ABOVE, &large_shift);
 
           __ shldl(left_hi, left_lo, ECX);  // Shift count in CL.
-          __ shll(left_lo, ECX);  // Shift count in CL.
+          __ shll(left_lo, ECX);            // Shift count in CL.
           // Check for overflow by shifting back the high 32 bits
           // and comparing with the input.
           __ movl(temp2, left_hi);
@@ -6327,7 +6307,7 @@
           __ Bind(&large_shift);
           // No need to subtract 32 from CL, only 5 bits used by shll.
           __ movl(left_hi, left_lo);  // Shift by 32.
-          __ shll(left_hi, ECX);  // Shift count: CL % 32.
+          __ shll(left_hi, ECX);      // Shift count: CL % 32.
           // Check for overflow by sign extending the high 32 bits
           // and comparing with the input.
           __ movl(temp2, left_hi);
@@ -6346,14 +6326,14 @@
           __ j(ABOVE, &large_shift);
 
           __ shldl(left_hi, left_lo, ECX);  // Shift count in CL.
-          __ shll(left_lo, ECX);  // Shift count in CL.
+          __ shll(left_lo, ECX);            // Shift count in CL.
           __ jmp(&done, Assembler::kNearJump);
 
           __ Bind(&large_shift);
           // No need to subtract 32 from CL, only 5 bits used by shll.
           __ movl(left_hi, left_lo);  // Shift by 32.
           __ xorl(left_lo, left_lo);  // Zero left_lo.
-          __ shll(left_hi, ECX);  // Shift count: CL % 32.
+          __ shll(left_hi, ECX);      // Shift count: CL % 32.
         }
         break;
       }
@@ -6369,8 +6349,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::Pair(Location::RequiresRegister(),
                                     Location::RequiresRegister()));
   summary->set_out(0, Location::SameAsFirstInput());
@@ -6412,8 +6392,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::FixedRegisterOrSmiConstant(right(), ECX));
   summary->set_out(0, Location::SameAsFirstInput());
@@ -6443,10 +6423,10 @@
     switch (op_kind()) {
       case Token::kSHR:
         __ shrl(left, Immediate(shift_value));
-      break;
+        break;
       case Token::kSHL:
         __ shll(left, Immediate(shift_value));
-      break;
+        break;
       default:
         UNREACHABLE();
     }
@@ -6475,11 +6455,11 @@
     case Token::kSHR:
       __ shrl(left, shifter);
       __ jmp(&done);
-    break;
+      break;
     case Token::kSHL:
       __ shll(left, shifter);
       __ jmp(&done);
-    break;
+      break;
     default:
       UNREACHABLE();
   }
@@ -6497,8 +6477,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -6519,17 +6499,17 @@
                                                                bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   if ((from() == kUnboxedInt32 || from() == kUnboxedUint32) &&
       (to() == kUnboxedInt32 || to() == kUnboxedUint32)) {
     summary->set_in(0, Location::RequiresRegister());
     summary->set_out(0, Location::SameAsFirstInput());
   } else if (from() == kUnboxedMint) {
-    summary->set_in(0, Location::Pair(
-        CanDeoptimize() ? Location::WritableRegister()
-                        : Location::RequiresRegister(),
-        Location::RequiresRegister()));
+    summary->set_in(
+        0, Location::Pair(CanDeoptimize() ? Location::WritableRegister()
+                                          : Location::RequiresRegister(),
+                          Location::RequiresRegister()));
     summary->set_out(0, Location::RequiresRegister());
   } else if (from() == kUnboxedUint32) {
     summary->set_in(0, Location::RequiresRegister());
@@ -6600,43 +6580,33 @@
 }
 
 
-LocationSummary* ThrowInstr::MakeLocationSummary(Zone* zone,
-                                                 bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
+LocationSummary* ThrowInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
 }
 
 
-
 void ThrowInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kThrowRuntimeEntry,
-                                1,
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(), kThrowRuntimeEntry, 1,
                                 locs());
   __ int3();
 }
 
 
-LocationSummary* ReThrowInstr::MakeLocationSummary(Zone* zone,
-                                                   bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
+LocationSummary* ReThrowInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
 }
 
 
 void ReThrowInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   compiler->SetNeedsStacktrace(catch_try_index());
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kReThrowRuntimeEntry,
-                                2,
-                                locs());
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(), kReThrowRuntimeEntry,
+                                2, locs());
   __ int3();
 }
 
 
-LocationSummary* StopInstr::MakeLocationSummary(Zone* zone,
-                                                bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
+LocationSummary* StopInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
 }
 
 
@@ -6652,9 +6622,8 @@
 }
 
 
-LocationSummary* GotoInstr::MakeLocationSummary(Zone* zone,
-                                                bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
+LocationSummary* GotoInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
 }
 
 
@@ -6665,8 +6634,7 @@
     }
     // Add a deoptimization descriptor for deoptimizing instructions that
     // may be inserted before this instruction.
-    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                   GetDeoptId(),
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, GetDeoptId(),
                                    TokenPosition::kNoSource);
   }
   if (HasParallelMove()) {
@@ -6686,8 +6654,8 @@
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
 
-  LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
 
   summary->set_in(0, Location::RequiresRegister());
   summary->set_temp(0, Location::RequiresRegister());
@@ -6704,7 +6672,7 @@
   // Load instructions object (active_instructions and Code::entry_point() may
   // not point to this instruction object any more; see Code::DisableDartCode).
   __ movl(target_reg,
-      FieldAddress(target_reg, Code::saved_instructions_offset()));
+          FieldAddress(target_reg, Code::saved_instructions_offset()));
   __ addl(target_reg, Immediate(Instructions::HeaderSize() - kHeapObjectTag));
 
   // Add the offset.
@@ -6724,15 +6692,15 @@
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
   if (needs_number_check()) {
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
     locs->set_in(0, Location::RegisterLocation(EAX));
     locs->set_in(1, Location::RegisterLocation(ECX));
     locs->set_out(0, Location::RegisterLocation(EAX));
     return locs;
   }
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RegisterOrConstant(left()));
   // Only one of the inputs can be a constant. Choose register if the first one
   // is a constant.
@@ -6751,20 +6719,14 @@
   ASSERT(!left.IsConstant() || !right.IsConstant());
   Condition true_condition;
   if (left.IsConstant()) {
-    true_condition = compiler->EmitEqualityRegConstCompare(right.reg(),
-                                                           left.constant(),
-                                                           needs_number_check(),
-                                                           token_pos());
+    true_condition = compiler->EmitEqualityRegConstCompare(
+        right.reg(), left.constant(), needs_number_check(), token_pos());
   } else if (right.IsConstant()) {
-    true_condition = compiler->EmitEqualityRegConstCompare(left.reg(),
-                                                           right.constant(),
-                                                           needs_number_check(),
-                                                           token_pos());
+    true_condition = compiler->EmitEqualityRegConstCompare(
+        left.reg(), right.constant(), needs_number_check(), token_pos());
   } else {
-    true_condition = compiler->EmitEqualityRegRegCompare(left.reg(),
-                                                         right.reg(),
-                                                         needs_number_check(),
-                                                         token_pos());
+    true_condition = compiler->EmitEqualityRegRegCompare(
+        left.reg(), right.reg(), needs_number_check(), token_pos());
   }
   if (kind() != Token::kEQ_STRICT) {
     ASSERT(kind() == Token::kNE_STRICT);
@@ -6778,7 +6740,7 @@
   ASSERT(kind() == Token::kEQ_STRICT || kind() == Token::kNE_STRICT);
 
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
   EmitBranchOnCondition(compiler, true_condition, labels);
 
@@ -6827,7 +6789,7 @@
   __ xorl(EDX, EDX);
 
   // Emit comparison code. This must not overwrite the result register.
-  BranchLabels labels = { NULL, NULL, NULL };
+  BranchLabels labels = {NULL, NULL, NULL};
   Condition true_condition = comparison()->EmitComparisonCode(compiler, labels);
 
   const bool is_power_of_two_kind = IsPowerOfTwoKind(if_true_, if_false_);
@@ -6859,8 +6821,8 @@
     __ shll(EDX, Immediate(shift + kSmiTagSize));
   } else {
     __ decl(EDX);
-    __ andl(EDX, Immediate(
-        Smi::RawValue(true_value) - Smi::RawValue(false_value)));
+    __ andl(EDX,
+            Immediate(Smi::RawValue(true_value) - Smi::RawValue(false_value)));
     if (false_value != 0) {
       __ addl(EDX, Immediate(Smi::RawValue(false_value)));
     }
@@ -6872,8 +6834,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(EAX));  // Function.
   summary->set_out(0, Location::RegisterLocation(EAX));
   return summary;
@@ -6883,9 +6845,8 @@
 void ClosureCallInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   // Load arguments descriptors.
   intptr_t argument_count = ArgumentCount();
-  const Array& arguments_descriptor =
-      Array::ZoneHandle(ArgumentsDescriptor::New(argument_count,
-                                                 argument_names()));
+  const Array& arguments_descriptor = Array::ZoneHandle(
+      ArgumentsDescriptor::New(argument_count, argument_names()));
   __ LoadObject(EDX, arguments_descriptor);
 
   // EBX: Code (compiled code or lazy compile stub).
@@ -6907,8 +6868,7 @@
   // Add deoptimization continuation point after the call and before the
   // arguments are removed.
   // In optimized code this descriptor is needed for exception handling.
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                 deopt_id_after,
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after,
                                  token_pos());
   __ Drop(argument_count);
 }
@@ -6916,9 +6876,7 @@
 
 LocationSummary* BooleanNegateInstr::MakeLocationSummary(Zone* zone,
                                                          bool opt) const {
-  return LocationSummary::Make(zone,
-                               1,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, 1, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -6946,9 +6904,7 @@
   const Code& stub = Code::ZoneHandle(
       compiler->zone(), StubCode::GetAllocationStubForClass(cls()));
   const StubEntry stub_entry(stub);
-  compiler->GenerateCall(token_pos(),
-                         stub_entry,
-                         RawPcDescriptors::kOther,
+  compiler->GenerateCall(token_pos(), stub_entry, RawPcDescriptors::kOther,
                          locs());
   compiler->AddStubCallTarget(stub);
   __ Drop(ArgumentCount());  // Discard arguments.
@@ -6957,19 +6913,17 @@
 
 void DebugStepCheckInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   ASSERT(!compiler->is_optimizing());
-  compiler->GenerateCall(token_pos(),
-                         *StubCode::DebugStepCheck_entry(),
-                         stub_kind_,
-                         locs());
+  compiler->GenerateCall(token_pos(), *StubCode::DebugStepCheck_entry(),
+                         stub_kind_, locs());
 }
 
 
-LocationSummary* GrowRegExpStackInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+LocationSummary* GrowRegExpStackInstr::MakeLocationSummary(Zone* zone,
+                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(EAX));
   locs->set_out(0, Location::RegisterLocation(EAX));
   return locs;
@@ -6981,11 +6935,8 @@
   const Register result = locs()->out(0).reg();
   __ PushObject(Object::null_object());
   __ pushl(typed_data);
-  compiler->GenerateRuntimeCall(TokenPosition::kNoSource,
-                                deopt_id(),
-                                kGrowRegExpStackRuntimeEntry,
-                                1,
-                                locs());
+  compiler->GenerateRuntimeCall(TokenPosition::kNoSource, deopt_id(),
+                                kGrowRegExpStackRuntimeEntry, 1, locs());
   __ Drop(1);
   __ popl(result);
 }
diff --git a/runtime/vm/intermediate_language_mips.cc b/runtime/vm/intermediate_language_mips.cc
index ed03d1d..6a2c623 100644
--- a/runtime/vm/intermediate_language_mips.cc
+++ b/runtime/vm/intermediate_language_mips.cc
@@ -29,8 +29,8 @@
 // Generic summary for call instructions that have all arguments pushed
 // on the stack and return the result in a fixed register V0.
 LocationSummary* Instruction::MakeCallSummary(Zone* zone) {
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, 0, 0, LocationSummary::kCall);
+  LocationSummary* result =
+      new (zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
   result->set_out(0, Location::RegisterLocation(V0));
   return result;
 }
@@ -40,8 +40,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::AnyOrConstant(value()));
   return locs;
 }
@@ -67,12 +67,11 @@
 }
 
 
-LocationSummary* ReturnInstr::MakeLocationSummary(Zone* zone,
-                                                  bool opt) const {
+LocationSummary* ReturnInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RegisterLocation(V0));
   return locs;
 }
@@ -111,18 +110,42 @@
 
 static Condition NegateCondition(Condition condition) {
   switch (condition.rel_op()) {
-    case AL: condition.set_rel_op(NV); break;
-    case NV: condition.set_rel_op(AL); break;
-    case EQ: condition.set_rel_op(NE); break;
-    case NE: condition.set_rel_op(EQ); break;
-    case LT: condition.set_rel_op(GE); break;
-    case LE: condition.set_rel_op(GT); break;
-    case GT: condition.set_rel_op(LE); break;
-    case GE: condition.set_rel_op(LT); break;
-    case ULT: condition.set_rel_op(UGE); break;
-    case ULE: condition.set_rel_op(UGT); break;
-    case UGT: condition.set_rel_op(ULE); break;
-    case UGE: condition.set_rel_op(ULT); break;
+    case AL:
+      condition.set_rel_op(NV);
+      break;
+    case NV:
+      condition.set_rel_op(AL);
+      break;
+    case EQ:
+      condition.set_rel_op(NE);
+      break;
+    case NE:
+      condition.set_rel_op(EQ);
+      break;
+    case LT:
+      condition.set_rel_op(GE);
+      break;
+    case LE:
+      condition.set_rel_op(GT);
+      break;
+    case GT:
+      condition.set_rel_op(LE);
+      break;
+    case GE:
+      condition.set_rel_op(LT);
+      break;
+    case ULT:
+      condition.set_rel_op(UGE);
+      break;
+    case ULE:
+      condition.set_rel_op(UGT);
+      break;
+    case UGT:
+      condition.set_rel_op(ULE);
+      break;
+    case UGE:
+      condition.set_rel_op(ULT);
+      break;
     default:
       UNREACHABLE();
   }
@@ -155,7 +178,7 @@
   __ LoadImmediate(result, Smi::RawValue(true_value));
 
   // Emit comparison code. This must not overwrite the result register.
-  BranchLabels labels = { NULL, NULL, NULL };  // Emit branch-free code.
+  BranchLabels labels = {NULL, NULL, NULL};  // Emit branch-free code.
   Condition true_condition = comparison()->EmitComparisonCode(compiler, labels);
   if (swapped) {
     true_condition = NegateCondition(true_condition);
@@ -166,11 +189,14 @@
   Register right = true_condition.right();
   bool zero_is_false = true;  // Zero in CMPRES1 indicates a false condition.
   switch (true_condition.rel_op()) {
-    case AL: return;  // Result holds true_value.
-    case NV: __ LoadImmediate(result, false_value); return;
+    case AL:
+      return;  // Result holds true_value.
+    case NV:
+      __ LoadImmediate(result, false_value);
+      return;
     case EQ:
       zero_is_false = false;
-      // fall through.
+    // fall through.
     case NE: {
       if (left == IMM) {
         __ XorImmediate(CMPRES1, right, true_condition.imm());
@@ -183,7 +209,7 @@
     }
     case GE:
       zero_is_false = false;
-      // fall through.
+    // fall through.
     case LT: {
       if (left == IMM) {
         __ slti(CMPRES1, right, Immediate(true_condition.imm() + 1));
@@ -197,7 +223,7 @@
     }
     case LE:
       zero_is_false = false;
-      // fall through.
+    // fall through.
     case GT: {
       if (left == IMM) {
         __ slti(CMPRES1, right, Immediate(true_condition.imm()));
@@ -211,7 +237,7 @@
     }
     case UGE:
       zero_is_false = false;
-      // fall through.
+    // fall through.
     case ULT: {
       ASSERT((left != IMM) && (right != IMM));  // No unsigned constants used.
       __ sltu(CMPRES1, left, right);
@@ -219,7 +245,7 @@
     }
     case ULE:
       zero_is_false = false;
-      // fall through.
+    // fall through.
     case UGT: {
       ASSERT((left != IMM) && (right != IMM));  // No unsigned constants used.
       __ sltu(CMPRES1, right, left);
@@ -250,8 +276,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(T0));  // Function.
   summary->set_out(0, Location::RegisterLocation(V0));
   return summary;
@@ -261,9 +287,8 @@
 void ClosureCallInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   // Load arguments descriptor in S4.
   int argument_count = ArgumentCount();
-  const Array& arguments_descriptor =
-      Array::ZoneHandle(ArgumentsDescriptor::New(argument_count,
-                                                 argument_names()));
+  const Array& arguments_descriptor = Array::ZoneHandle(
+      ArgumentsDescriptor::New(argument_count, argument_names()));
   __ LoadObject(S4, arguments_descriptor);
 
   // Load closure function code in T2.
@@ -284,8 +309,7 @@
   // Add deoptimization continuation point after the call and before the
   // arguments are removed.
   // In optimized code this descriptor is needed for exception handling.
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                 deopt_id_after,
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after,
                                  token_pos());
   __ Drop(argument_count);
 }
@@ -293,9 +317,7 @@
 
 LocationSummary* LoadLocalInstr::MakeLocationSummary(Zone* zone,
                                                      bool opt) const {
-  return LocationSummary::Make(zone,
-                               0,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, 0, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -309,9 +331,7 @@
 
 LocationSummary* StoreLocalInstr::MakeLocationSummary(Zone* zone,
                                                       bool opt) const {
-  return LocationSummary::Make(zone,
-                               1,
-                               Location::SameAsFirstInput(),
+  return LocationSummary::Make(zone, 1, Location::SameAsFirstInput(),
                                LocationSummary::kNoCall);
 }
 
@@ -327,9 +347,7 @@
 
 LocationSummary* ConstantInstr::MakeLocationSummary(Zone* zone,
                                                     bool opt) const {
-  return LocationSummary::Make(zone,
-                               0,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, 0, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -348,8 +366,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = (representation_ == kUnboxedInt32) ? 0 : 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   if (representation_ == kUnboxedInt32) {
     locs->set_out(0, Location::RequiresRegister());
   } else {
@@ -373,13 +391,12 @@
         const DRegister result = locs()->out(0).fpu_reg();
         __ LoadObject(const_value, value());
         __ LoadDFromOffset(result, const_value,
-            Double::value_offset() - kHeapObjectTag);
+                           Double::value_offset() - kHeapObjectTag);
         break;
       }
 
       case kUnboxedInt32:
-        __ LoadImmediate(locs()->out(0).reg(),
-                         Smi::Cast(value()).Value());
+        __ LoadImmediate(locs()->out(0).reg(), Smi::Cast(value()).Value());
         break;
 
       default:
@@ -393,8 +410,8 @@
                                                             bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(A0));  // Value.
   summary->set_in(1, Location::RegisterLocation(A1));  // Type arguments.
   summary->set_out(0, Location::RegisterLocation(A0));
@@ -406,8 +423,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(A0));
   locs->set_out(0, Location::RegisterLocation(A0));
   return locs;
@@ -433,11 +450,8 @@
   }
 
   __ Push(reg);  // Push the source object.
-  compiler->GenerateRuntimeCall(token_pos,
-                                deopt_id,
-                                kNonBoolTypeErrorRuntimeEntry,
-                                1,
-                                locs);
+  compiler->GenerateRuntimeCall(token_pos, deopt_id,
+                                kNonBoolTypeErrorRuntimeEntry, 1, locs);
   // We should never return here.
   __ break_(0);
   __ Bind(&done);
@@ -459,8 +473,8 @@
   const intptr_t kNumInputs = 2;
   if (operation_cid() == kMintCid) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::Pair(Location::RequiresRegister(),
                                    Location::RequiresRegister()));
     locs->set_in(1, Location::Pair(Location::RequiresRegister(),
@@ -470,8 +484,8 @@
   }
   if (operation_cid() == kDoubleCid) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::RequiresFpuRegister());
     locs->set_in(1, Location::RequiresFpuRegister());
     locs->set_out(0, Location::RequiresRegister());
@@ -479,8 +493,8 @@
   }
   if (operation_cid() == kSmiCid) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::RegisterOrConstant(left()));
     // Only one input can be a constant operand. The case of two constant
     // operands should be handled by constant propagation.
@@ -517,12 +531,18 @@
 
 static RelationOperator TokenKindToIntRelOp(Token::Kind kind) {
   switch (kind) {
-    case Token::kEQ: return EQ;
-    case Token::kNE: return NE;
-    case Token::kLT: return LT;
-    case Token::kGT: return GT;
-    case Token::kLTE: return LE;
-    case Token::kGTE: return GE;
+    case Token::kEQ:
+      return EQ;
+    case Token::kNE:
+      return NE;
+    case Token::kLT:
+      return LT;
+    case Token::kGT:
+      return GT;
+    case Token::kLTE:
+      return LE;
+    case Token::kGTE:
+      return GE;
     default:
       UNREACHABLE();
       return NV;
@@ -532,12 +552,18 @@
 
 static RelationOperator TokenKindToUintRelOp(Token::Kind kind) {
   switch (kind) {
-    case Token::kEQ: return EQ;
-    case Token::kNE: return NE;
-    case Token::kLT: return ULT;
-    case Token::kGT: return UGT;
-    case Token::kLTE: return ULE;
-    case Token::kGTE: return UGE;
+    case Token::kEQ:
+      return EQ;
+    case Token::kNE:
+      return NE;
+    case Token::kLT:
+      return ULT;
+    case Token::kGT:
+      return UGT;
+    case Token::kLTE:
+      return ULE;
+    case Token::kGTE:
+      return UGE;
     default:
       UNREACHABLE();
       return NV;
@@ -576,10 +602,12 @@
   ASSERT(right.IsRegister() || right.IsConstant());
 
   int16_t imm = 0;
-  const Register left_reg = left.IsRegister() ?
-      left.reg() : __ LoadConditionOperand(CMPRES1, left.constant(), &imm);
-  const Register right_reg = right.IsRegister() ?
-      right.reg() : __ LoadConditionOperand(CMPRES2, right.constant(), &imm);
+  const Register left_reg =
+      left.IsRegister() ? left.reg() : __ LoadConditionOperand(
+                                           CMPRES1, left.constant(), &imm);
+  const Register right_reg =
+      right.IsRegister() ? right.reg() : __ LoadConditionOperand(
+                                             CMPRES2, right.constant(), &imm);
   return Condition(left_reg, right_reg, TokenKindToIntRelOp(kind), imm);
 }
 
@@ -677,17 +705,29 @@
   __ Comment("DoubleComparisonOp(left=%d, right=%d)", left, right);
 
   __ cund(left, right);
-  Label* nan_label = (kind == Token::kNE)
-      ? labels.true_label : labels.false_label;
+  Label* nan_label =
+      (kind == Token::kNE) ? labels.true_label : labels.false_label;
   __ bc1t(nan_label);
 
   switch (kind) {
-    case Token::kEQ: __ ceqd(left, right); break;
-    case Token::kNE: __ ceqd(left, right); break;
-    case Token::kLT: __ coltd(left, right); break;
-    case Token::kLTE: __ coled(left, right); break;
-    case Token::kGT: __ coltd(right, left); break;
-    case Token::kGTE: __ coled(right, left); break;
+    case Token::kEQ:
+      __ ceqd(left, right);
+      break;
+    case Token::kNE:
+      __ ceqd(left, right);
+      break;
+    case Token::kLT:
+      __ coltd(left, right);
+      break;
+    case Token::kLTE:
+      __ coled(left, right);
+      break;
+    case Token::kGT:
+      __ coltd(right, left);
+      break;
+    case Token::kGTE:
+      __ coled(right, left);
+      break;
     default: {
       // We should only be passing the above conditions to this function.
       UNREACHABLE();
@@ -744,7 +784,7 @@
   __ Comment("EqualityCompareInstr");
 
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
   EmitBranchOnCondition(compiler, true_condition, labels);
 
@@ -770,12 +810,11 @@
 }
 
 
-LocationSummary* TestSmiInstr::MakeLocationSummary(Zone* zone,
-                                                   bool opt) const {
+LocationSummary* TestSmiInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   // Only one input can be a constant operand. The case of two constant
   // operands should be handled by constant propagation.
@@ -790,8 +829,7 @@
   Location right = locs()->in(1);
   if (right.IsConstant()) {
     ASSERT(right.constant().IsSmi());
-    const int32_t imm =
-        reinterpret_cast<int32_t>(right.constant().raw());
+    const int32_t imm = reinterpret_cast<int32_t>(right.constant().raw());
     __ AndImmediate(CMPRES1, left, imm);
   } else {
     __ and_(CMPRES1, left, right.reg());
@@ -818,8 +856,8 @@
                                                     bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   locs->set_temp(0, Location::RequiresRegister());
   locs->set_out(0, Location::RequiresRegister());
@@ -833,11 +871,11 @@
   Register val_reg = locs()->in(0).reg();
   Register cid_reg = locs()->temp(0).reg();
 
-  Label* deopt = CanDeoptimize()
-      ? compiler->AddDeoptStub(deopt_id(),
-                               ICData::kDeoptTestCids,
-                               licm_hoisted_ ? ICData::kHoisted : 0)
-      : NULL;
+  Label* deopt =
+      CanDeoptimize()
+          ? compiler->AddDeoptStub(deopt_id(), ICData::kDeoptTestCids,
+                                   licm_hoisted_ ? ICData::kHoisted : 0)
+          : NULL;
 
   const intptr_t true_result = (kind() == Token::kIS) ? 1 : 0;
   const ZoneGrowableArray<intptr_t>& data = cid_results();
@@ -878,7 +916,7 @@
 void TestCidsInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Register result_reg = locs()->out(0).reg();
   Label is_true, is_false, done;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   EmitComparisonCode(compiler, labels);
   __ Bind(&is_false);
   __ LoadObject(result_reg, Bool::False());
@@ -895,8 +933,8 @@
   const intptr_t kNumTemps = 0;
   if (operation_cid() == kMintCid) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::Pair(Location::RequiresRegister(),
                                    Location::RequiresRegister()));
     locs->set_in(1, Location::Pair(Location::RequiresRegister(),
@@ -905,16 +943,16 @@
     return locs;
   }
   if (operation_cid() == kDoubleCid) {
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresFpuRegister());
     summary->set_in(1, Location::RequiresFpuRegister());
     summary->set_out(0, Location::RequiresRegister());
     return summary;
   }
   ASSERT(operation_cid() == kSmiCid);
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RegisterOrConstant(left()));
   // Only one input can be a constant operand. The case of two constant
   // operands should be handled by constant propagation.
@@ -943,7 +981,7 @@
   __ Comment("RelationalOpInstr");
 
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
   EmitBranchOnCondition(compiler, true_condition, labels);
 
@@ -983,8 +1021,8 @@
   __ PushObject(Object::null_object());
   // Pass a pointer to the first argument in A2.
   if (!function().HasOptionalParameters()) {
-    __ AddImmediate(A2, FP, (kParamEndSlotFromFp +
-                             function().NumParameters()) * kWordSize);
+    __ AddImmediate(
+        A2, FP, (kParamEndSlotFromFp + function().NumParameters()) * kWordSize);
   } else {
     __ AddImmediate(A2, FP, kFirstLocalSlotFromFp * kWordSize);
   }
@@ -1015,21 +1053,18 @@
   __ LoadImmediate(A1, argc_tag);
   ExternalLabel label(entry);
   __ LoadNativeEntry(T5, &label, kNotPatchable);
-  compiler->GenerateCall(token_pos(),
-                         *stub_entry,
-                         RawPcDescriptors::kOther,
+  compiler->GenerateCall(token_pos(), *stub_entry, RawPcDescriptors::kOther,
                          locs());
   __ Pop(result);
 }
 
 
 LocationSummary* OneByteStringFromCharCodeInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   // TODO(fschneider): Allow immediate operands for the char code.
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -1051,9 +1086,7 @@
 LocationSummary* StringToCharCodeInstr::MakeLocationSummary(Zone* zone,
                                                             bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -1079,8 +1112,8 @@
                                                              bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(A0));
   summary->set_out(0, Location::RegisterLocation(V0));
   return summary;
@@ -1092,12 +1125,8 @@
   __ Push(array);
   const int kNumberOfArguments = 1;
   const Array& kNoArgumentNames = Object::null_array();
-  compiler->GenerateStaticCall(deopt_id(),
-                               token_pos(),
-                               CallFunction(),
-                               kNumberOfArguments,
-                               kNoArgumentNames,
-                               locs(),
+  compiler->GenerateStaticCall(deopt_id(), token_pos(), CallFunction(),
+                               kNumberOfArguments, kNoArgumentNames, locs(),
                                ICData::Handle());
   ASSERT(locs()->out(0).reg() == V0);
 }
@@ -1106,9 +1135,7 @@
 LocationSummary* LoadUntaggedInstr::MakeLocationSummary(Zone* zone,
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -1128,9 +1155,7 @@
 LocationSummary* LoadClassIdInstr::MakeLocationSummary(Zone* zone,
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -1228,7 +1253,8 @@
   }
   const int64_t index = Smi::Cast(constant->value()).AsInt64Value();
   const intptr_t scale = Instance::ElementSizeFor(cid);
-  const int64_t offset = index * scale +
+  const int64_t offset =
+      index * scale +
       (is_external ? 0 : (Instance::DataOffsetFor(cid) - kHeapObjectTag));
   if (!Utils::IsInt(32, offset)) {
     return false;
@@ -1241,15 +1267,15 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = aligned() ? 0 : 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   if (CanBeImmediateIndex(index(), class_id(), IsExternal())) {
     locs->set_in(1, Location::Constant(index()->definition()->AsConstant()));
   } else {
     locs->set_in(1, Location::RequiresRegister());
   }
-  if ((representation() == kUnboxedDouble)    ||
+  if ((representation() == kUnboxedDouble) ||
       (representation() == kUnboxedFloat32x4) ||
       (representation() == kUnboxedInt32x4)) {
     locs->set_out(0, Location::RequiresFpuRegister());
@@ -1272,13 +1298,14 @@
 
   Address element_address(kNoRegister);
   if (aligned()) {
-    element_address = index.IsRegister()
-      ? __ ElementAddressForRegIndex(true,  // Load.
-                                     IsExternal(), class_id(), index_scale(),
-                                     array, index.reg())
-      : __ ElementAddressForIntIndex(
-            IsExternal(), class_id(), index_scale(),
-            array, Smi::Cast(index.constant()).Value());
+    element_address =
+        index.IsRegister()
+            ? __ ElementAddressForRegIndex(true,  // Load.
+                                           IsExternal(), class_id(),
+                                           index_scale(), array, index.reg())
+            : __ ElementAddressForIntIndex(IsExternal(), class_id(),
+                                           index_scale(), array,
+                                           Smi::Cast(index.constant()).Value());
     // Warning: element_address may use register TMP as base.
   } else {
     if (index.IsRegister()) {
@@ -1287,9 +1314,8 @@
                                        IsExternal(), class_id(), index_scale(),
                                        array, index.reg());
     } else {
-      __ LoadElementAddressForIntIndex(address,
-                                       IsExternal(), class_id(), index_scale(),
-                                       array,
+      __ LoadElementAddressForIntIndex(address, IsExternal(), class_id(),
+                                       index_scale(), array,
                                        Smi::Cast(index.constant()).Value());
     }
   }
@@ -1304,8 +1330,8 @@
         __ lwc1(EvenFRegisterOf(result), element_address);
         break;
       case kTypedDataFloat64ArrayCid:
-        __ LoadDFromOffset(result,
-                           element_address.base(), element_address.offset());
+        __ LoadDFromOffset(result, element_address.base(),
+                           element_address.offset());
         break;
       case kTypedDataInt32x4ArrayCid:
       case kTypedDataFloat32x4ArrayCid:
@@ -1391,8 +1417,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
 
@@ -1410,7 +1436,7 @@
   const Location index = locs()->in(1);
 
   Address element_address = __ ElementAddressForRegIndex(
-        true, IsExternal(), class_id(), index_scale(), str, index.reg());
+      true, IsExternal(), class_id(), index_scale(), str, index.reg());
   // Warning: element_address may use register TMP as base.
 
   ASSERT(representation() == kTagged);
@@ -1419,19 +1445,27 @@
     case kOneByteStringCid:
     case kExternalOneByteStringCid:
       switch (element_count()) {
-        case 1: __ lbu(result, element_address); break;
-        case 2: __ lhu(result, element_address); break;
+        case 1:
+          __ lbu(result, element_address);
+          break;
+        case 2:
+          __ lhu(result, element_address);
+          break;
         case 4:  // Loading multiple code units is disabled on MIPS.
-        default: UNREACHABLE();
+        default:
+          UNREACHABLE();
       }
       __ SmiTag(result);
       break;
     case kTwoByteStringCid:
     case kExternalTwoByteStringCid:
       switch (element_count()) {
-        case 1: __ lhu(result, element_address); break;
+        case 1:
+          __ lhu(result, element_address);
+          break;
         case 2:  // Loading multiple code units is disabled on MIPS.
-        default: UNREACHABLE();
+        default:
+          UNREACHABLE();
       }
       __ SmiTag(result);
       break;
@@ -1445,8 +1479,8 @@
 Representation StoreIndexedInstr::RequiredInputRepresentation(
     intptr_t idx) const {
   // Array can be a Dart object or a pointer to external data.
-  if (idx == 0)  return kNoRepresentation;  // Flexible input representation.
-  if (idx == 1) return kTagged;  // Index is a smi.
+  if (idx == 0) return kNoRepresentation;  // Flexible input representation.
+  if (idx == 1) return kTagged;            // Index is a smi.
   ASSERT(idx == 2);
   switch (class_id_) {
     case kArrayCid:
@@ -1481,8 +1515,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 3;
   const intptr_t kNumTemps = aligned() ? 0 : 2;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   if (CanBeImmediateIndex(index(), class_id(), IsExternal())) {
     locs->set_in(1, Location::Constant(index()->definition()->AsConstant()));
@@ -1492,8 +1526,8 @@
   switch (class_id()) {
     case kArrayCid:
       locs->set_in(2, ShouldEmitStoreBarrier()
-                        ? Location::WritableRegister()
-                        : Location::RegisterOrConstant(value()));
+                          ? Location::WritableRegister()
+                          : Location::RegisterOrConstant(value()));
       break;
     case kExternalTypedDataUint8ArrayCid:
     case kExternalTypedDataUint8ClampedArrayCid:
@@ -1535,13 +1569,14 @@
 
   Address element_address(kNoRegister);
   if (aligned()) {
-    element_address = index.IsRegister()
-      ? __ ElementAddressForRegIndex(false,  // Store.
-                                     IsExternal(), class_id(), index_scale(),
-                                     array, index.reg())
-      : __ ElementAddressForIntIndex(
-            IsExternal(), class_id(), index_scale(),
-            array, Smi::Cast(index.constant()).Value());
+    element_address =
+        index.IsRegister()
+            ? __ ElementAddressForRegIndex(false,  // Store.
+                                           IsExternal(), class_id(),
+                                           index_scale(), array, index.reg())
+            : __ ElementAddressForIntIndex(IsExternal(), class_id(),
+                                           index_scale(), array,
+                                           Smi::Cast(index.constant()).Value());
     ASSERT(element_address.base() != TMP);  // Allowed for load only.
   } else {
     if (index.IsRegister()) {
@@ -1550,9 +1585,8 @@
                                        IsExternal(), class_id(), index_scale(),
                                        array, index.reg());
     } else {
-      __ LoadElementAddressForIntIndex(address,
-                                       IsExternal(), class_id(), index_scale(),
-                                       array,
+      __ LoadElementAddressForIntIndex(address, IsExternal(), class_id(),
+                                       index_scale(), array,
                                        Smi::Cast(index.constant()).Value());
     }
   }
@@ -1642,8 +1676,8 @@
     }
     case kTypedDataFloat64ArrayCid:
       ASSERT(aligned());
-      __ StoreDToOffset(locs()->in(2).fpu_reg(),
-                        element_address.base(), element_address.offset());
+      __ StoreDToOffset(locs()->in(2).fpu_reg(), element_address.base(),
+                        element_address.offset());
       break;
     case kTypedDataInt32x4ArrayCid:
     case kTypedDataFloat32x4ArrayCid:
@@ -1664,7 +1698,7 @@
 
   const bool emit_full_guard = !opt || (field_cid == kIllegalCid);
   const bool needs_value_cid_temp_reg =
-    (value_cid == kDynamicCid) && (emit_full_guard || (field_cid != kSmiCid));
+      (value_cid == kDynamicCid) && (emit_full_guard || (field_cid != kSmiCid));
   const bool needs_field_temp_reg = emit_full_guard;
 
   intptr_t num_temps = 0;
@@ -1675,8 +1709,8 @@
     num_temps++;
   }
 
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, num_temps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, num_temps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
 
   for (intptr_t i = 0; i < num_temps; i++) {
@@ -1698,7 +1732,8 @@
   if (field_cid == kDynamicCid) {
     if (Compiler::IsBackgroundCompilation()) {
       // Field state changed while compiling.
-      Compiler::AbortBackgroundCompilation(deopt_id(),
+      Compiler::AbortBackgroundCompilation(
+          deopt_id(),
           "GuardFieldClassInstr: field state changed while compiling");
     }
     ASSERT(!compiler->is_optimizing());
@@ -1715,16 +1750,19 @@
 
   const Register value_reg = locs()->in(0).reg();
 
-  const Register value_cid_reg = needs_value_cid_temp_reg ?
-      locs()->temp(0).reg() : kNoRegister;
+  const Register value_cid_reg =
+      needs_value_cid_temp_reg ? locs()->temp(0).reg() : kNoRegister;
 
-  const Register field_reg = needs_field_temp_reg ?
-      locs()->temp(locs()->temp_count() - 1).reg() : kNoRegister;
+  const Register field_reg = needs_field_temp_reg
+                                 ? locs()->temp(locs()->temp_count() - 1).reg()
+                                 : kNoRegister;
 
   Label ok, fail_label;
 
-  Label* deopt = compiler->is_optimizing() ?
-      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField) : NULL;
+  Label* deopt =
+      compiler->is_optimizing()
+          ? compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField)
+          : NULL;
 
   Label* fail = (deopt != NULL) ? deopt : &fail_label;
 
@@ -1732,8 +1770,8 @@
     __ LoadObject(field_reg, Field::ZoneHandle(field().Original()));
 
     FieldAddress field_cid_operand(field_reg, Field::guarded_cid_offset());
-    FieldAddress field_nullability_operand(
-        field_reg, Field::is_nullable_offset());
+    FieldAddress field_nullability_operand(field_reg,
+                                           Field::is_nullable_offset());
 
     if (value_cid == kDynamicCid) {
       LoadValueCid(compiler, value_cid_reg, value_reg);
@@ -1837,15 +1875,15 @@
 
   if (!opt || (field().guarded_list_length() == Field::kUnknownFixedLength)) {
     const intptr_t kNumTemps = 1;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     // We need temporaries for field object.
     summary->set_temp(0, Location::RequiresRegister());
     return summary;
   }
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, 0, LocationSummary::kNoCall);
+  LocationSummary* summary =
+      new (zone) LocationSummary(zone, kNumInputs, 0, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   return summary;
 }
@@ -1855,15 +1893,18 @@
   if (field().guarded_list_length() == Field::kNoFixedLength) {
     if (Compiler::IsBackgroundCompilation()) {
       // Field state changed while compiling.
-      Compiler::AbortBackgroundCompilation(deopt_id(),
+      Compiler::AbortBackgroundCompilation(
+          deopt_id(),
           "GuardFieldLengthInstr: field state changed while compiling");
     }
     ASSERT(!compiler->is_optimizing());
     return;  // Nothing to emit.
   }
 
-  Label* deopt = compiler->is_optimizing() ?
-      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField) : NULL;
+  Label* deopt =
+      compiler->is_optimizing()
+          ? compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField)
+          : NULL;
 
   const Register value_reg = locs()->in(0).reg();
 
@@ -1875,12 +1916,13 @@
 
     __ LoadObject(field_reg, Field::ZoneHandle(field().Original()));
 
-    __ lb(CMPRES1, FieldAddress(field_reg,
-        Field::guarded_list_length_in_object_offset_offset()));
+    __ lb(CMPRES1,
+          FieldAddress(field_reg,
+                       Field::guarded_list_length_in_object_offset_offset()));
     __ blez(CMPRES1, &ok);
 
-    __ lw(CMPRES2, FieldAddress(field_reg,
-        Field::guarded_list_length_offset()));
+    __ lw(CMPRES2,
+          FieldAddress(field_reg, Field::guarded_list_length_offset()));
 
     // Load the length from the value. GuardFieldClass already verified that
     // value's class matches guarded class id of the field.
@@ -1906,7 +1948,7 @@
     ASSERT(compiler->is_optimizing());
     ASSERT(field().guarded_list_length() >= 0);
     ASSERT(field().guarded_list_length_in_object_offset() !=
-        Field::kUnknownLengthOffset);
+           Field::kUnknownLengthOffset);
 
     __ lw(CMPRES1,
           FieldAddress(value_reg,
@@ -1922,14 +1964,11 @@
   BoxAllocationSlowPath(Instruction* instruction,
                         const Class& cls,
                         Register result)
-      : instruction_(instruction),
-        cls_(cls),
-        result_(result) { }
+      : instruction_(instruction), cls_(cls), result_(result) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
-      __ Comment("%s slow path allocation of %s",
-                 instruction_->DebugName(),
+      __ Comment("%s slow path allocation of %s", instruction_->DebugName(),
                  String::Handle(cls_.ScrubbedName()).ToCString());
     }
     __ Bind(entry_label());
@@ -1942,9 +1981,7 @@
 
     compiler->SaveLiveRegisters(locs);
     compiler->GenerateCall(TokenPosition::kNoSource,  // No token position.
-                           stub_entry,
-                           RawPcDescriptors::kOther,
-                           locs);
+                           stub_entry, RawPcDescriptors::kOther, locs);
     compiler->AddStubCallTarget(stub);
     if (result_ != V0) {
       __ mov(result_, V0);
@@ -1959,19 +1996,13 @@
                        Register result,
                        Register temp) {
     if (compiler->intrinsic_mode()) {
-      __ TryAllocate(cls,
-                     compiler->intrinsic_slow_path_label(),
-                     result,
-                     temp);
+      __ TryAllocate(cls, compiler->intrinsic_slow_path_label(), result, temp);
     } else {
       BoxAllocationSlowPath* slow_path =
           new BoxAllocationSlowPath(instruction, cls, result);
       compiler->AddSlowPathCode(slow_path);
 
-      __ TryAllocate(cls,
-                     slow_path->entry_label(),
-                     result,
-                     temp);
+      __ TryAllocate(cls, slow_path->entry_label(), result, temp);
       __ Bind(slow_path->exit_label());
     }
   }
@@ -1987,14 +2018,13 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps =
-      (IsUnboxedStore() && opt) ? 2 :
-          ((IsPotentialUnboxedStore()) ? 3 : 0);
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps,
-          ((IsUnboxedStore() && opt && is_initialization()) ||
-           IsPotentialUnboxedStore())
-          ? LocationSummary::kCallOnSlowPath
-          : LocationSummary::kNoCall);
+      (IsUnboxedStore() && opt) ? 2 : ((IsPotentialUnboxedStore()) ? 3 : 0);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps,
+                      ((IsUnboxedStore() && opt && is_initialization()) ||
+                       IsPotentialUnboxedStore())
+                          ? LocationSummary::kCallOnSlowPath
+                          : LocationSummary::kNoCall);
 
   summary->set_in(0, Location::RequiresRegister());
   if (IsUnboxedStore() && opt) {
@@ -2002,17 +2032,16 @@
     summary->set_temp(0, Location::RequiresRegister());
     summary->set_temp(1, Location::RequiresRegister());
   } else if (IsPotentialUnboxedStore()) {
-    summary->set_in(1, ShouldEmitStoreBarrier()
-        ? Location::WritableRegister()
-        :  Location::RequiresRegister());
+    summary->set_in(1, ShouldEmitStoreBarrier() ? Location::WritableRegister()
+                                                : Location::RequiresRegister());
     summary->set_temp(0, Location::RequiresRegister());
     summary->set_temp(1, Location::RequiresRegister());
     summary->set_temp(2, opt ? Location::RequiresFpuRegister()
                              : Location::FpuRegisterLocation(D1));
   } else {
     summary->set_in(1, ShouldEmitStoreBarrier()
-                       ? Location::WritableRegister()
-                       : Location::RegisterOrConstant(value()));
+                           ? Location::WritableRegister()
+                           : Location::RegisterOrConstant(value()));
   }
   return summary;
 }
@@ -2066,7 +2095,7 @@
     switch (cid) {
       case kDoubleCid:
         __ StoreDToOffset(value, temp, Double::value_offset() - kHeapObjectTag);
-      break;
+        break;
       default:
         UNREACHABLE();
     }
@@ -2110,15 +2139,9 @@
 
     {
       __ Bind(&store_double);
-      EnsureMutableBox(compiler,
-                       this,
-                       temp,
-                       compiler->double_class(),
-                       instance_reg,
-                       offset_in_bytes_,
-                       temp2);
-      __ LoadDFromOffset(fpu_temp,
-                         value_reg,
+      EnsureMutableBox(compiler, this, temp, compiler->double_class(),
+                       instance_reg, offset_in_bytes_, temp2);
+      __ LoadDFromOffset(fpu_temp, value_reg,
                          Double::value_offset() - kHeapObjectTag);
       __ StoreDToOffset(fpu_temp, temp,
                         Double::value_offset() - kHeapObjectTag);
@@ -2130,20 +2153,15 @@
 
   if (ShouldEmitStoreBarrier()) {
     Register value_reg = locs()->in(1).reg();
-    __ StoreIntoObjectOffset(instance_reg,
-                             offset_in_bytes_,
-                             value_reg,
+    __ StoreIntoObjectOffset(instance_reg, offset_in_bytes_, value_reg,
                              CanValueBeSmi());
   } else {
     if (locs()->in(1).IsConstant()) {
-      __ StoreIntoObjectNoBarrierOffset(
-          instance_reg,
-          offset_in_bytes_,
-          locs()->in(1).constant());
+      __ StoreIntoObjectNoBarrierOffset(instance_reg, offset_in_bytes_,
+                                        locs()->in(1).constant());
     } else {
       Register value_reg = locs()->in(1).reg();
-      __ StoreIntoObjectNoBarrierOffset(instance_reg,
-                                        offset_in_bytes_,
+      __ StoreIntoObjectNoBarrierOffset(instance_reg, offset_in_bytes_,
                                         value_reg);
     }
   }
@@ -2155,8 +2173,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresRegister());
   return summary;
@@ -2172,16 +2190,15 @@
   __ Comment("LoadStaticFieldInstr");
   Register field = locs()->in(0).reg();
   Register result = locs()->out(0).reg();
-  __ LoadFromOffset(result,
-                    field,
+  __ LoadFromOffset(result, field,
                     Field::static_value_offset() - kHeapObjectTag);
 }
 
 
 LocationSummary* StoreStaticFieldInstr::MakeLocationSummary(Zone* zone,
                                                             bool opt) const {
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, 1, 1, LocationSummary::kNoCall);
+  LocationSummary* locs =
+      new (zone) LocationSummary(zone, 1, 1, LocationSummary::kNoCall);
   locs->set_in(0, value()->NeedsStoreBuffer() ? Location::WritableRegister()
                                               : Location::RequiresRegister());
   locs->set_temp(0, Location::RequiresRegister());
@@ -2196,10 +2213,8 @@
 
   __ LoadObject(temp, Field::ZoneHandle(Z, field().Original()));
   if (this->value()->NeedsStoreBuffer()) {
-    __ StoreIntoObject(temp,
-                       FieldAddress(temp, Field::static_value_offset()),
-                       value,
-                       CanValueBeSmi());
+    __ StoreIntoObject(temp, FieldAddress(temp, Field::static_value_offset()),
+                       value, CanValueBeSmi());
   } else {
     __ StoreIntoObjectNoBarrier(
         temp, FieldAddress(temp, Field::static_value_offset()), value);
@@ -2211,8 +2226,8 @@
                                                       bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(A0));
   summary->set_in(1, Location::RegisterLocation(A1));
   summary->set_out(0, Location::RegisterLocation(V0));
@@ -2225,10 +2240,7 @@
   ASSERT(locs()->in(1).reg() == A1);  // Instantiator type arguments.
 
   __ Comment("InstanceOfInstr");
-  compiler->GenerateInstanceOf(token_pos(),
-                               deopt_id(),
-                               type(),
-                               negate_result(),
+  compiler->GenerateInstanceOf(token_pos(), deopt_id(), type(), negate_result(),
                                locs());
   ASSERT(locs()->out(0).reg() == V0);
 }
@@ -2238,8 +2250,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(A0));
   locs->set_in(1, Location::RegisterLocation(A1));
   locs->set_out(0, Location::RegisterLocation(V0));
@@ -2249,9 +2261,9 @@
 
 // Inlines array allocation for known constant values.
 static void InlineArrayAllocation(FlowGraphCompiler* compiler,
-                                   intptr_t num_elements,
-                                   Label* slow_path,
-                                   Label* done) {
+                                  intptr_t num_elements,
+                                  Label* slow_path,
+                                  Label* done) {
   const int kInlineArraySize = 12;  // Same as kInlineInstanceSize.
   const Register kLengthReg = A1;
   const Register kElemTypeReg = A0;
@@ -2260,19 +2272,16 @@
   __ TryAllocateArray(kArrayCid, instance_size, slow_path,
                       V0,  // instance
                       T1,  // end address
-                      T2,
-                      T3);
+                      T2, T3);
   // V0: new object start as a tagged pointer.
   // T1: new object end address.
 
   // Store the type argument field.
-  __ StoreIntoObjectNoBarrier(V0,
-                              FieldAddress(V0, Array::type_arguments_offset()),
-                              kElemTypeReg);
+  __ StoreIntoObjectNoBarrier(
+      V0, FieldAddress(V0, Array::type_arguments_offset()), kElemTypeReg);
 
   // Set the length field.
-  __ StoreIntoObjectNoBarrier(V0,
-                              FieldAddress(V0, Array::length_offset()),
+  __ StoreIntoObjectNoBarrier(V0, FieldAddress(V0, Array::length_offset()),
                               kLengthReg);
 
   // Initialize all array elements to raw_null.
@@ -2312,8 +2321,7 @@
   ASSERT(locs()->in(1).reg() == kLengthReg);
 
   Label slow_path, done;
-  if (compiler->is_optimizing() &&
-      !FLAG_precompiled_mode &&
+  if (compiler->is_optimizing() && !FLAG_precompiled_mode &&
       num_elements()->BindsToConstant() &&
       num_elements()->BoundConstant().IsSmi()) {
     const intptr_t length = Smi::Cast(num_elements()->BoundConstant()).Value();
@@ -2322,13 +2330,10 @@
       InlineArrayAllocation(compiler, length, &slow_path, &done);
       __ Bind(&slow_path);
       __ PushObject(Object::null_object());  // Make room for the result.
-      __ Push(kLengthReg);  // length.
+      __ Push(kLengthReg);                   // length.
       __ Push(kElemTypeReg);
-      compiler->GenerateRuntimeCall(token_pos(),
-                                    deopt_id(),
-                                    kAllocateArrayRuntimeEntry,
-                                    2,
-                                    locs());
+      compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                    kAllocateArrayRuntimeEntry, 2, locs());
       __ Drop(2);
       __ Pop(kResultReg);
       __ Bind(&done);
@@ -2340,10 +2345,8 @@
   const Code& stub = Code::ZoneHandle(compiler->zone(),
                                       StubCode::AllocateArray_entry()->code());
   compiler->AddStubCallTarget(stub);
-  compiler->GenerateCall(token_pos(),
-                         *StubCode::AllocateArray_entry(),
-                         RawPcDescriptors::kOther,
-                         locs());
+  compiler->GenerateCall(token_pos(), *StubCode::AllocateArray_entry(),
+                         RawPcDescriptors::kOther, locs());
   __ Bind(&done);
   ASSERT(locs()->out(0).reg() == kResultReg);
 }
@@ -2353,13 +2356,11 @@
                                                      bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps =
-      (IsUnboxedLoad() && opt) ? 1 :
-          ((IsPotentialUnboxedLoad()) ? 2 : 0);
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps,
-          (opt && !IsPotentialUnboxedLoad())
-          ? LocationSummary::kNoCall
-          : LocationSummary::kCallOnSlowPath);
+      (IsUnboxedLoad() && opt) ? 1 : ((IsPotentialUnboxedLoad()) ? 2 : 0);
+  LocationSummary* locs = new (zone) LocationSummary(
+      zone, kNumInputs, kNumTemps, (opt && !IsPotentialUnboxedLoad())
+                                       ? LocationSummary::kNoCall
+                                       : LocationSummary::kCallOnSlowPath);
 
   locs->set_in(0, Location::RequiresRegister());
 
@@ -2425,12 +2426,11 @@
 
     {
       __ Bind(&load_double);
-      BoxAllocationSlowPath::Allocate(
-          compiler, this, compiler->double_class(), result_reg, temp);
+      BoxAllocationSlowPath::Allocate(compiler, this, compiler->double_class(),
+                                      result_reg, temp);
       __ lw(temp, FieldAddress(instance_reg, offset_in_bytes()));
       __ LoadDFromOffset(value, temp, Double::value_offset() - kHeapObjectTag);
-      __ StoreDToOffset(value,
-                        result_reg,
+      __ StoreDToOffset(value, result_reg,
                         Double::value_offset() - kHeapObjectTag);
       __ b(&done);
     }
@@ -2446,8 +2446,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(T0));
   locs->set_out(0, Location::RegisterLocation(T0));
   return locs;
@@ -2469,11 +2469,8 @@
   // Push instantiator type arguments.
   __ sw(instantiator_reg, Address(SP, 0 * kWordSize));
 
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kInstantiateTypeRuntimeEntry,
-                                2,
-                                locs());
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kInstantiateTypeRuntimeEntry, 2, locs());
   // Pop instantiated type.
   __ lw(result_reg, Address(SP, 2 * kWordSize));
   // Drop instantiator and uninstantiated type.
@@ -2483,11 +2480,12 @@
 
 
 LocationSummary* InstantiateTypeArgumentsInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(T0));
   locs->set_out(0, Location::RegisterLocation(T0));
   return locs;
@@ -2525,8 +2523,8 @@
   __ Bind(&loop);
   __ lw(T1, Address(T2, 0 * kWordSize));  // Cached instantiator.
   __ beq(T1, T0, &found);
-  __ BranchNotEqual(
-      T1, Immediate(Smi::RawValue(StubCode::kNoInstantiator)), &loop);
+  __ BranchNotEqual(T1, Immediate(Smi::RawValue(StubCode::kNoInstantiator)),
+                    &loop);
   __ delay_slot()->addiu(T2, T2, Immediate(2 * kWordSize));
   __ b(&slow_case);
   __ Bind(&found);
@@ -2544,10 +2542,8 @@
   // Push instantiator type arguments.
   __ sw(instantiator_reg, Address(SP, 0 * kWordSize));
 
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kInstantiateTypeArgumentsRuntimeEntry,
-                                2,
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kInstantiateTypeArgumentsRuntimeEntry, 2,
                                 locs());
   // Pop instantiated type arguments.
   __ lw(result_reg, Address(SP, 2 * kWordSize));
@@ -2563,7 +2559,7 @@
   ASSERT(opt);
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 3;
-  LocationSummary* locs = new(zone) LocationSummary(
+  LocationSummary* locs = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   locs->set_temp(0, Location::RegisterLocation(T1));
   locs->set_temp(1, Location::RegisterLocation(T2));
@@ -2577,7 +2573,7 @@
  public:
   explicit AllocateContextSlowPath(
       AllocateUninitializedContextInstr* instruction)
-      : instruction_(instruction) { }
+      : instruction_(instruction) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     __ Comment("AllocateContextSlowPath");
@@ -2594,8 +2590,7 @@
     compiler->AddStubCallTarget(stub);
     compiler->GenerateCall(instruction_->token_pos(),
                            *StubCode::AllocateContext_entry(),
-                           RawPcDescriptors::kOther,
-                           locs);
+                           RawPcDescriptors::kOther, locs);
     ASSERT(instruction_->locs()->out(0).reg() == V0);
     compiler->RestoreLiveRegisters(instruction_->locs());
     __ b(exit_label());
@@ -2619,9 +2614,7 @@
 
   __ TryAllocateArray(kContextCid, instance_size, slow_path->entry_label(),
                       result,  // instance
-                      temp0,
-                      temp1,
-                      temp2);
+                      temp0, temp1, temp2);
 
   // Setup up number of context variables field.
   __ LoadImmediate(temp0, num_context_variables());
@@ -2635,8 +2628,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_temp(0, Location::RegisterLocation(T1));
   locs->set_out(0, Location::RegisterLocation(V0));
   return locs;
@@ -2649,10 +2642,8 @@
 
   __ Comment("AllocateContextInstr");
   __ LoadImmediate(T1, num_context_variables());
-  compiler->GenerateCall(token_pos(),
-                         *StubCode::AllocateContext_entry(),
-                         RawPcDescriptors::kOther,
-                         locs());
+  compiler->GenerateCall(token_pos(), *StubCode::AllocateContext_entry(),
+                         RawPcDescriptors::kOther, locs());
 }
 
 
@@ -2660,8 +2651,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(T0));
   locs->set_temp(0, Location::RegisterLocation(T1));
   return locs;
@@ -2682,14 +2673,11 @@
   __ Bind(&call_runtime);
   __ addiu(SP, SP, Immediate(-2 * kWordSize));
   __ LoadObject(TMP, Object::null_object());
-  __ sw(TMP, Address(SP, 1 * kWordSize));   // Make room for (unused) result.
+  __ sw(TMP, Address(SP, 1 * kWordSize));  // Make room for (unused) result.
   __ sw(field, Address(SP, 0 * kWordSize));
 
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kInitStaticFieldRuntimeEntry,
-                                1,
-                                locs());
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kInitStaticFieldRuntimeEntry, 1, locs());
 
   __ addiu(SP, SP, Immediate(2 * kWordSize));  // Purge argument and result.
 
@@ -2701,8 +2689,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(T0));
   locs->set_out(0, Location::RegisterLocation(T0));
   return locs;
@@ -2720,11 +2708,8 @@
   __ sw(TMP, Address(SP, 1 * kWordSize));
   __ sw(context_value, Address(SP, 0 * kWordSize));
 
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kCloneContextRuntimeEntry,
-                                1,
-                                locs());
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kCloneContextRuntimeEntry, 1, locs());
   __ lw(result, Address(SP, 1 * kWordSize));  // Get result (cloned context).
   __ addiu(SP, SP, Immediate(2 * kWordSize));
 }
@@ -2739,19 +2724,16 @@
 
 void CatchBlockEntryInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   __ Bind(compiler->GetJumpLabel(this));
-  compiler->AddExceptionHandler(catch_try_index(),
-                                try_index(),
+  compiler->AddExceptionHandler(catch_try_index(), try_index(),
                                 compiler->assembler()->CodeSize(),
-                                catch_handler_types_,
-                                needs_stacktrace());
+                                catch_handler_types_, needs_stacktrace());
   // On lazy deoptimization we patch the optimized code here to enter the
   // deoptimization stub.
   const intptr_t deopt_id = Thread::ToDeoptAfter(GetDeoptId());
   if (compiler->is_optimizing()) {
     compiler->AddDeoptIndexAtCall(deopt_id);
   } else {
-    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                   deopt_id,
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id,
                                    TokenPosition::kNoSource);
   }
   if (HasParallelMove()) {
@@ -2766,10 +2748,10 @@
 
   // Restore stack and initialize the two exception variables:
   // exception and stack trace variables.
-  __ StoreToOffset(kExceptionObjectReg,
-                   FP, exception_var().index() * kWordSize);
-  __ StoreToOffset(kStackTraceObjectReg,
-                   FP, stacktrace_var().index() * kWordSize);
+  __ StoreToOffset(kExceptionObjectReg, FP,
+                   exception_var().index() * kWordSize);
+  __ StoreToOffset(kStackTraceObjectReg, FP,
+                   stacktrace_var().index() * kWordSize);
 }
 
 
@@ -2777,10 +2759,8 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs,
-                          kNumTemps,
-                          LocationSummary::kCallOnSlowPath);
+  LocationSummary* summary = new (zone) LocationSummary(
+      zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_temp(0, Location::RequiresRegister());
   return summary;
 }
@@ -2789,7 +2769,7 @@
 class CheckStackOverflowSlowPath : public SlowPathCode {
  public:
   explicit CheckStackOverflowSlowPath(CheckStackOverflowInstr* instruction)
-      : instruction_(instruction) { }
+      : instruction_(instruction) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (FLAG_use_osr && osr_entry_label()->IsLinked()) {
@@ -2807,11 +2787,9 @@
     ASSERT(compiler->pending_deoptimization_env_ == NULL);
     Environment* env = compiler->SlowPathEnvironmentFor(instruction_);
     compiler->pending_deoptimization_env_ = env;
-    compiler->GenerateRuntimeCall(instruction_->token_pos(),
-                                  instruction_->deopt_id(),
-                                  kStackOverflowRuntimeEntry,
-                                  0,
-                                  instruction_->locs());
+    compiler->GenerateRuntimeCall(
+        instruction_->token_pos(), instruction_->deopt_id(),
+        kStackOverflowRuntimeEntry, 0, instruction_->locs());
 
     if (FLAG_use_osr && !compiler->is_optimizing() && instruction_->in_loop()) {
       // In unoptimized code, record loop stack checks as possible OSR entries.
@@ -2851,8 +2829,8 @@
     intptr_t threshold =
         FLAG_optimization_counter_threshold * (loop_depth() + 1);
     __ lw(temp, FieldAddress(temp, Function::usage_counter_offset()));
-    __ BranchSignedGreaterEqual(
-        temp, Immediate(threshold), slow_path->osr_entry_label());
+    __ BranchSignedGreaterEqual(temp, Immediate(threshold),
+                                slow_path->osr_entry_label());
   }
   if (compiler->ForceSlowPathForStackOverflow()) {
     __ b(slow_path->entry_label());
@@ -2866,9 +2844,10 @@
   const LocationSummary& locs = *shift_left->locs();
   Register left = locs.in(0).reg();
   Register result = locs.out(0).reg();
-  Label* deopt = shift_left->CanDeoptimize() ?
-      compiler->AddDeoptStub(shift_left->deopt_id(), ICData::kDeoptBinarySmiOp)
-      : NULL;
+  Label* deopt = shift_left->CanDeoptimize()
+                     ? compiler->AddDeoptStub(shift_left->deopt_id(),
+                                              ICData::kDeoptBinarySmiOp)
+                     : NULL;
 
   __ Comment("EmitSmiShiftLeft");
 
@@ -2930,8 +2909,8 @@
       }
       Label done, is_not_zero;
 
-      __ sltiu(CMPRES1,
-          right, Immediate(reinterpret_cast<int32_t>(Smi::New(Smi::kBits))));
+      __ sltiu(CMPRES1, right,
+               Immediate(reinterpret_cast<int32_t>(Smi::New(Smi::kBits))));
       __ movz(result, ZR, CMPRES1);  // result = right >= kBits ? 0 : result.
       __ sra(TMP, right, kSmiTagSize);
       __ sllv(TMP, left, TMP);
@@ -2965,7 +2944,7 @@
 class CheckedSmiSlowPath : public SlowPathCode {
  public:
   CheckedSmiSlowPath(CheckedSmiOpInstr* instruction, intptr_t try_index)
-      : instruction_(instruction), try_index_(try_index) { }
+      : instruction_(instruction), try_index_(try_index) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
@@ -2980,12 +2959,9 @@
     __ Push(locs->in(0).reg());
     __ Push(locs->in(1).reg());
     compiler->EmitMegamorphicInstanceCall(
-        *instruction_->call()->ic_data(),
-        instruction_->call()->ArgumentCount(),
-        instruction_->call()->deopt_id(),
-        instruction_->call()->token_pos(),
-        locs,
-        try_index_,
+        *instruction_->call()->ic_data(), instruction_->call()->ArgumentCount(),
+        instruction_->call()->deopt_id(), instruction_->call()->token_pos(),
+        locs, try_index_,
         /* slow_path_argument_count = */ 2);
     __ mov(result, V0);
     compiler->RestoreLiveRegisters(locs);
@@ -3002,7 +2978,7 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
+  LocationSummary* summary = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
@@ -3063,6 +3039,26 @@
     case Token::kBIT_XOR:
       __ xor_(result, left, right);
       break;
+    case Token::kSHL:
+      ASSERT(result != left);
+      ASSERT(result != right);
+      __ BranchUnsignedGreater(right, Immediate(Smi::RawValue(Smi::kBits)),
+                               slow_path->entry_label());
+      // Check for overflow by shifting left and shifting back arithmetically.
+      // If the result is different from the original, there was overflow.
+      __ delay_slot()->SmiUntag(TMP, right);
+      __ sllv(result, left, TMP);
+      __ srav(CMPRES1, result, TMP);
+      __ bne(CMPRES1, left, slow_path->entry_label());
+      break;
+    case Token::kSHR:
+      __ BranchUnsignedGreater(right, Immediate(Smi::RawValue(Smi::kBits)),
+                               slow_path->entry_label());
+      __ delay_slot()->SmiUntag(result, right);
+      __ SmiUntag(TMP, left);
+      __ srav(result, TMP, result);
+      __ SmiTag(result);
+      break;
     default:
       UNIMPLEMENTED();
   }
@@ -3079,7 +3075,7 @@
       : instruction_(instruction),
         try_index_(try_index),
         labels_(labels),
-        merged_(merged) { }
+        merged_(merged) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
@@ -3094,20 +3090,18 @@
     __ Push(locs->in(0).reg());
     __ Push(locs->in(1).reg());
     compiler->EmitMegamorphicInstanceCall(
-        *instruction_->call()->ic_data(),
-        instruction_->call()->ArgumentCount(),
-        instruction_->call()->deopt_id(),
-        instruction_->call()->token_pos(),
-        locs,
-        try_index_,
+        *instruction_->call()->ic_data(), instruction_->call()->ArgumentCount(),
+        instruction_->call()->deopt_id(), instruction_->call()->token_pos(),
+        locs, try_index_,
         /* slow_path_argument_count = */ 2);
     __ mov(result, V0);
     compiler->RestoreLiveRegisters(locs);
     if (merged_) {
-      __ BranchEqual(result, Bool::True(),
-         instruction_->is_negated() ? labels_.false_label : labels_.true_label);
-      __ b(instruction_->is_negated()
-           ? labels_.true_label : labels_.false_label);
+      __ BranchEqual(result, Bool::True(), instruction_->is_negated()
+                                               ? labels_.false_label
+                                               : labels_.true_label);
+      __ b(instruction_->is_negated() ? labels_.true_label
+                                      : labels_.false_label);
     } else {
       __ b(exit_label());
     }
@@ -3122,10 +3116,11 @@
 
 
 LocationSummary* CheckedSmiComparisonInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
+  LocationSummary* summary = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
@@ -3136,7 +3131,8 @@
 
 
 Condition CheckedSmiComparisonInstr::EmitComparisonCode(
-    FlowGraphCompiler* compiler, BranchLabels labels) {
+    FlowGraphCompiler* compiler,
+    BranchLabels labels) {
   return EmitSmiComparisonOp(compiler, *locs(), kind());
 }
 
@@ -3157,17 +3153,15 @@
     __ or_(temp, left, right);                                                 \
     __ andi(CMPRES1, temp, Immediate(kSmiTagMask));                            \
   }                                                                            \
-  __ bne(CMPRES1, ZR, slow_path->entry_label());                               \
+  __ bne(CMPRES1, ZR, slow_path->entry_label());
 
 
 void CheckedSmiComparisonInstr::EmitBranchCode(FlowGraphCompiler* compiler,
                                                BranchInstr* branch) {
   BranchLabels labels = compiler->CreateBranchLabels(branch);
-  CheckedSmiComparisonSlowPath* slow_path =
-      new CheckedSmiComparisonSlowPath(this,
-                                       compiler->CurrentTryIndex(),
-                                       labels,
-                                       /* merged = */ true);
+  CheckedSmiComparisonSlowPath* slow_path = new CheckedSmiComparisonSlowPath(
+      this, compiler->CurrentTryIndex(), labels,
+      /* merged = */ true);
   compiler->AddSlowPathCode(slow_path);
   EMIT_SMI_CHECK;
   Condition true_condition = EmitComparisonCode(compiler, labels);
@@ -3178,12 +3172,10 @@
 
 void CheckedSmiComparisonInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Label true_label, false_label, done;
-  BranchLabels labels = { &true_label, &false_label, &false_label };
-  CheckedSmiComparisonSlowPath* slow_path =
-      new CheckedSmiComparisonSlowPath(this,
-                                       compiler->CurrentTryIndex(),
-                                       labels,
-                                       /* merged = */ false);
+  BranchLabels labels = {&true_label, &false_label, &false_label};
+  CheckedSmiComparisonSlowPath* slow_path = new CheckedSmiComparisonSlowPath(
+      this, compiler->CurrentTryIndex(), labels,
+      /* merged = */ false);
   compiler->AddSlowPathCode(slow_path);
   EMIT_SMI_CHECK;
   Condition true_condition = EmitComparisonCode(compiler, labels);
@@ -3203,13 +3195,14 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps =
-      ((op_kind() == Token::kADD) ||
-       (op_kind() == Token::kMOD) ||
+      ((op_kind() == Token::kADD) || (op_kind() == Token::kMOD) ||
        (op_kind() == Token::kTRUNCDIV) ||
        (((op_kind() == Token::kSHL) && can_overflow()) ||
-         (op_kind() == Token::kSHR))) ? 1 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+        (op_kind() == Token::kSHR)))
+          ? 1
+          : 0;
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   if (op_kind() == Token::kTRUNCDIV) {
     summary->set_in(0, Location::RequiresRegister());
     if (RightIsPowerOfTwoConstant()) {
@@ -3500,8 +3493,8 @@
   ASSERT((left_cid != kDoubleCid) && (right_cid != kDoubleCid));
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   return summary;
@@ -3509,9 +3502,9 @@
 
 
 void CheckEitherNonSmiInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  Label* deopt = compiler->AddDeoptStub(deopt_id(),
-                                        ICData::kDeoptBinaryDoubleOp,
-                                        licm_hoisted_ ? ICData::kHoisted : 0);
+  Label* deopt =
+      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptBinaryDoubleOp,
+                             licm_hoisted_ ? ICData::kHoisted : 0);
   intptr_t left_cid = left()->Type()->ToCid();
   intptr_t right_cid = right()->Type()->ToCid();
   Register left = locs()->in(0).reg();
@@ -3530,11 +3523,10 @@
 }
 
 
-LocationSummary* BoxInstr::MakeLocationSummary(Zone* zone,
-                                                     bool opt) const {
+LocationSummary* BoxInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
+  LocationSummary* summary = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_temp(0, Location::RequiresRegister());
@@ -3549,18 +3541,17 @@
   Register out_reg = locs()->out(0).reg();
   DRegister value = locs()->in(0).fpu_reg();
 
-  BoxAllocationSlowPath::Allocate(
-      compiler, this, compiler->double_class(), out_reg, locs()->temp(0).reg());
+  BoxAllocationSlowPath::Allocate(compiler, this, compiler->double_class(),
+                                  out_reg, locs()->temp(0).reg());
   __ StoreDToOffset(value, out_reg, Double::value_offset() - kHeapObjectTag);
 }
 
 
-LocationSummary* UnboxInstr::MakeLocationSummary(Zone* zone,
-                                                       bool opt) const {
+LocationSummary* UnboxInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   if (representation() == kUnboxedMint) {
     summary->set_out(0, Location::Pair(Location::RequiresRegister(),
@@ -3578,11 +3569,9 @@
   switch (representation()) {
     case kUnboxedMint: {
       PairLocation* result = locs()->out(0).AsPairLocation();
-      __ LoadFromOffset(result->At(0).reg(),
-                        box,
+      __ LoadFromOffset(result->At(0).reg(), box,
                         ValueOffset() - kHeapObjectTag);
-      __ LoadFromOffset(result->At(1).reg(),
-                        box,
+      __ LoadFromOffset(result->At(1).reg(), box,
                         ValueOffset() - kHeapObjectTag + kWordSize);
       break;
     }
@@ -3643,8 +3632,8 @@
     EmitSmiConversion(compiler);
   } else {
     const Register box = locs()->in(0).reg();
-    Label* deopt = compiler->AddDeoptStub(GetDeoptId(),
-                                          ICData::kDeoptCheckClass);
+    Label* deopt =
+        compiler->AddDeoptStub(GetDeoptId(), ICData::kDeoptCheckClass);
     Label is_smi;
 
     if ((value()->Type()->ToNullableCid() == box_cid) &&
@@ -3676,7 +3665,7 @@
          (from_representation() == kUnboxedUint32));
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
+  LocationSummary* summary = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_temp(0, Location::RequiresRegister());
@@ -3702,12 +3691,8 @@
       __ AndImmediate(CMPRES1, value, 0xC0000000);
       __ BranchEqual(CMPRES1, ZR, &done);
     }
-    BoxAllocationSlowPath::Allocate(
-        compiler,
-        this,
-        compiler->mint_class(),
-        out,
-        temp);
+    BoxAllocationSlowPath::Allocate(compiler, this, compiler->mint_class(), out,
+                                    temp);
     Register hi;
     if (from_representation() == kUnboxedInt32) {
       hi = temp;
@@ -3716,11 +3701,8 @@
       ASSERT(from_representation() == kUnboxedUint32);
       hi = ZR;
     }
-    __ StoreToOffset(value,
-                     out,
-                     Mint::value_offset() - kHeapObjectTag);
-    __ StoreToOffset(hi,
-                     out,
+    __ StoreToOffset(value, out, Mint::value_offset() - kHeapObjectTag);
+    __ StoreToOffset(hi, out,
                      Mint::value_offset() - kHeapObjectTag + kWordSize);
     __ Bind(&done);
   }
@@ -3731,12 +3713,10 @@
                                                     bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = ValueFitsSmi() ? 0 : 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone,
-      kNumInputs,
-      kNumTemps,
-      ValueFitsSmi() ? LocationSummary::kNoCall
-                     : LocationSummary::kCallOnSlowPath);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps,
+                      ValueFitsSmi() ? LocationSummary::kNoCall
+                                     : LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::Pair(Location::RequiresRegister(),
                                     Location::RequiresRegister()));
   if (!ValueFitsSmi()) {
@@ -3770,15 +3750,10 @@
   __ beq(tmp, value_hi, &done);
 
   __ Bind(&not_smi);
-  BoxAllocationSlowPath::Allocate(
-      compiler,
-      this,
-      compiler->mint_class(),
-      out_reg,
-      tmp);
+  BoxAllocationSlowPath::Allocate(compiler, this, compiler->mint_class(),
+                                  out_reg, tmp);
   __ StoreToOffset(value_lo, out_reg, Mint::value_offset() - kHeapObjectTag);
-  __ StoreToOffset(value_hi,
-                   out_reg,
+  __ StoreToOffset(value_hi, out_reg,
                    Mint::value_offset() - kHeapObjectTag + kWordSize);
   __ Bind(&done);
 }
@@ -3790,8 +3765,8 @@
          (representation() == kUnboxedUint32));
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresRegister());
   return summary;
@@ -3804,9 +3779,7 @@
                               Label* deopt) {
   __ LoadFieldFromOffset(result, mint, Mint::value_offset());
   if (deopt != NULL) {
-    __ LoadFieldFromOffset(CMPRES1,
-                           mint,
-                           Mint::value_offset() + kWordSize);
+    __ LoadFieldFromOffset(CMPRES1, mint, Mint::value_offset() + kWordSize);
     __ sra(CMPRES2, result, kBitsPerWord - 1);
     __ BranchNotEqual(CMPRES1, CMPRES2, deopt);
   }
@@ -3817,8 +3790,10 @@
   const intptr_t value_cid = value()->Type()->ToCid();
   const Register value = locs()->in(0).reg();
   const Register out = locs()->out(0).reg();
-  Label* deopt = CanDeoptimize() ?
-        compiler->AddDeoptStub(GetDeoptId(), ICData::kDeoptUnboxInteger) : NULL;
+  Label* deopt =
+      CanDeoptimize()
+          ? compiler->AddDeoptStub(GetDeoptId(), ICData::kDeoptUnboxInteger)
+          : NULL;
   Label* out_of_range = !is_truncating() ? deopt : NULL;
   ASSERT(value != out);
 
@@ -3850,8 +3825,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
@@ -3864,11 +3839,20 @@
   DRegister right = locs()->in(1).fpu_reg();
   DRegister result = locs()->out(0).fpu_reg();
   switch (op_kind()) {
-    case Token::kADD: __ addd(result, left, right); break;
-    case Token::kSUB: __ subd(result, left, right); break;
-    case Token::kMUL: __ muld(result, left, right); break;
-    case Token::kDIV: __ divd(result, left, right); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ addd(result, left, right);
+      break;
+    case Token::kSUB:
+      __ subd(result, left, right);
+      break;
+    case Token::kMUL:
+      __ muld(result, left, right);
+      break;
+    case Token::kDIV:
+      __ divd(result, left, right);
+      break;
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -3877,8 +3861,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresRegister());
   return summary;
@@ -3940,11 +3924,11 @@
 
 void DoubleTestOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
   // Branches for isNaN are emitted in EmitComparisonCode already.
   if (op_kind() == MethodRecognizer::kDouble_getIsInfinite) {
-    EmitBranchOnCondition(compiler,  true_condition, labels);
+    EmitBranchOnCondition(compiler, true_condition, labels);
   }
   const Register result = locs()->out(0).reg();
   Label done;
@@ -3994,7 +3978,6 @@
 }
 
 
-
 LocationSummary* Simd32x4ShuffleMixInstr::MakeLocationSummary(Zone* zone,
                                                               bool opt) const {
   UNIMPLEMENTED();
@@ -4008,7 +3991,8 @@
 
 
 LocationSummary* Float32x4ConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   UNIMPLEMENTED();
   return NULL;
 }
@@ -4147,7 +4131,7 @@
 
 
 void Simd64x2ShuffleInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-    UNIMPLEMENTED();
+  UNIMPLEMENTED();
 }
 
 
@@ -4176,7 +4160,8 @@
 
 
 LocationSummary* Float64x2ConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   UNIMPLEMENTED();
   return NULL;
 }
@@ -4188,7 +4173,8 @@
 
 
 LocationSummary* Float64x2ToFloat32x4Instr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   UNIMPLEMENTED();
   return NULL;
 }
@@ -4200,7 +4186,8 @@
 
 
 LocationSummary* Float32x4ToFloat64x2Instr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   UNIMPLEMENTED();
   return NULL;
 }
@@ -4235,8 +4222,8 @@
 }
 
 
-LocationSummary* Int32x4ConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+LocationSummary* Int32x4ConstructorInstr::MakeLocationSummary(Zone* zone,
+                                                              bool opt) const {
   UNIMPLEMENTED();
   return NULL;
 }
@@ -4248,7 +4235,8 @@
 
 
 LocationSummary* Int32x4BoolConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   UNIMPLEMENTED();
   return NULL;
 }
@@ -4337,8 +4325,8 @@
          (kind() == MathUnaryInstr::kDoubleSquare));
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -4359,10 +4347,11 @@
 
 
 LocationSummary* CaseInsensitiveCompareUC16Instr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, InputCount(), kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, InputCount(), kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(A0));
   summary->set_in(1, Location::RegisterLocation(A1));
   summary->set_in(2, Location::RegisterLocation(A2));
@@ -4374,7 +4363,6 @@
 
 void CaseInsensitiveCompareUC16Instr::EmitNativeCode(
     FlowGraphCompiler* compiler) {
-
   // Call the function.
   __ CallRuntime(TargetFunction(), TargetFunction().argument_count());
 }
@@ -4385,8 +4373,8 @@
   if (result_cid() == kDoubleCid) {
     const intptr_t kNumInputs = 2;
     const intptr_t kNumTemps = 1;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresFpuRegister());
     summary->set_in(1, Location::RequiresFpuRegister());
     // Reuse the left register so that code can be made shorter.
@@ -4397,8 +4385,8 @@
   ASSERT(result_cid() == kSmiCid);
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   // Reuse the left register so that code can be made shorter.
@@ -4476,8 +4464,8 @@
                                                       bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   // We make use of 3-operand instructions by not requiring result register
   // to be identical to first input register as on Intel.
@@ -4510,8 +4498,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
@@ -4526,11 +4514,11 @@
 
 
 LocationSummary* Int32ToDoubleInstr::MakeLocationSummary(Zone* zone,
-                                                       bool opt) const {
+                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresRegister());
   result->set_out(0, Location::RequiresFpuRegister());
   return result;
@@ -4549,8 +4537,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresRegister());
   result->set_out(0, Location::RequiresFpuRegister());
   return result;
@@ -4582,8 +4570,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   result->set_in(0, Location::RegisterLocation(T1));
   result->set_out(0, Location::RegisterLocation(V0));
   return result;
@@ -4615,13 +4603,10 @@
   const Function& target = Function::ZoneHandle(ic_data.GetTargetAt(0));
 
   const intptr_t kNumberOfArguments = 1;
-  compiler->GenerateStaticCall(deopt_id(),
-                               instance_call()->token_pos(),
-                               target,
+  compiler->GenerateStaticCall(deopt_id(), instance_call()->token_pos(), target,
                                kNumberOfArguments,
                                Object::null_array(),  // No argument names.
-                               locs(),
-                               ICData::Handle());
+                               locs(), ICData::Handle());
   __ Bind(&done);
 }
 
@@ -4630,8 +4615,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresFpuRegister());
   result->set_out(0, Location::RequiresRegister());
   return result;
@@ -4669,8 +4654,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresFpuRegister());
   result->set_out(0, Location::SameAsFirstInput());
   return result;
@@ -4688,8 +4673,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresFpuRegister());
   result->set_out(0, Location::SameAsFirstInput());
   return result;
@@ -4709,8 +4694,8 @@
   // double arguments.
   ASSERT((InputCount() == 1) || (InputCount() == 2));
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, InputCount(), kNumTemps, LocationSummary::kCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, InputCount(), kNumTemps, LocationSummary::kCall);
   result->set_in(0, Location::FpuRegisterLocation(D6));
   if (InputCount() == 2) {
     result->set_in(1, Location::FpuRegisterLocation(D7));
@@ -4849,27 +4834,27 @@
   // Only use this instruction in optimized code.
   ASSERT(opt);
   const intptr_t kNumInputs = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, 0, LocationSummary::kNoCall);
+  LocationSummary* summary =
+      new (zone) LocationSummary(zone, kNumInputs, 0, LocationSummary::kNoCall);
   if (representation() == kUnboxedDouble) {
     if (index() == 0) {
-      summary->set_in(0, Location::Pair(Location::RequiresFpuRegister(),
-                                        Location::Any()));
+      summary->set_in(
+          0, Location::Pair(Location::RequiresFpuRegister(), Location::Any()));
     } else {
       ASSERT(index() == 1);
-      summary->set_in(0, Location::Pair(Location::Any(),
-                                        Location::RequiresFpuRegister()));
+      summary->set_in(
+          0, Location::Pair(Location::Any(), Location::RequiresFpuRegister()));
     }
     summary->set_out(0, Location::RequiresFpuRegister());
   } else {
     ASSERT(representation() == kTagged);
     if (index() == 0) {
-      summary->set_in(0, Location::Pair(Location::RequiresRegister(),
-                                        Location::Any()));
+      summary->set_in(
+          0, Location::Pair(Location::RequiresRegister(), Location::Any()));
     } else {
       ASSERT(index() == 1);
-      summary->set_in(0, Location::Pair(Location::Any(),
-                                        Location::RequiresRegister()));
+      summary->set_in(
+          0, Location::Pair(Location::Any(), Location::RequiresRegister()));
     }
     summary->set_out(0, Location::RequiresRegister());
   }
@@ -4899,8 +4884,8 @@
   if (kind() == MergedMathInstr::kTruncDivMod) {
     const intptr_t kNumInputs = 2;
     const intptr_t kNumTemps = 1;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     summary->set_in(1, Location::RequiresRegister());
     summary->set_temp(0, Location::RequiresRegister());
@@ -4975,13 +4960,13 @@
 
 
 LocationSummary* PolymorphicInstanceCallInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   return MakeCallSummary(zone);
 }
 
 
-LocationSummary* BranchInstr::MakeLocationSummary(Zone* zone,
-                                                  bool opt) const {
+LocationSummary* BranchInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   comparison()->InitializeLocationSummary(zone, opt);
   // Branches don't produce a result.
   comparison()->locs()->set_out(0, Location::NoLocation());
@@ -5000,8 +4985,8 @@
   const intptr_t kNumInputs = 1;
   const bool need_mask_temp = IsDenseSwitch() && !IsDenseMask(ComputeCidMask());
   const intptr_t kNumTemps = !IsNullCheck() ? (need_mask_temp ? 2 : 1) : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   if (!IsNullCheck()) {
     summary->set_temp(0, Location::RequiresRegister());
@@ -5014,8 +4999,7 @@
 
 
 void CheckClassInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  Label* deopt = compiler->AddDeoptStub(deopt_id(),
-                                        ICData::kDeoptCheckClass,
+  Label* deopt = compiler->AddDeoptStub(deopt_id(), ICData::kDeoptCheckClass,
                                         licm_hoisted_ ? ICData::kHoisted : 0);
   if (IsNullCheck()) {
     if (DeoptIfNull()) {
@@ -5060,8 +5044,7 @@
     }
   } else {
     GrowableArray<CidTarget> sorted_ic_data;
-    FlowGraphCompiler::SortICDataByCount(unary_checks(),
-                                         &sorted_ic_data,
+    FlowGraphCompiler::SortICDataByCount(unary_checks(), &sorted_ic_data,
                                          /* drop_smi = */ true);
     const intptr_t num_checks = sorted_ic_data.length();
     for (intptr_t i = 0; i < num_checks; i++) {
@@ -5084,8 +5067,8 @@
                                                     bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   return summary;
 }
@@ -5094,8 +5077,7 @@
 void CheckSmiInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   __ Comment("CheckSmiInstr");
   Register value = locs()->in(0).reg();
-  Label* deopt = compiler->AddDeoptStub(deopt_id(),
-                                        ICData::kDeoptCheckSmi,
+  Label* deopt = compiler->AddDeoptStub(deopt_id(), ICData::kDeoptCheckSmi,
                                         licm_hoisted_ ? ICData::kHoisted : 0);
   __ BranchIfNotSmi(value, deopt);
 }
@@ -5105,8 +5087,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   return summary;
 }
@@ -5123,7 +5105,7 @@
                                                              bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
+  LocationSummary* locs = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   locs->set_in(kLengthPos, Location::RequiresRegister());
   locs->set_in(kIndexPos, Location::RequiresRegister());
@@ -5134,7 +5116,7 @@
 class RangeErrorSlowPath : public SlowPathCode {
  public:
   RangeErrorSlowPath(GenericCheckBoundInstr* instruction, intptr_t try_index)
-      : instruction_(instruction), try_index_(try_index) { }
+      : instruction_(instruction), try_index_(try_index) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
@@ -5146,11 +5128,8 @@
     __ Push(locs->in(1).reg());
     __ CallRuntime(kRangeErrorRuntimeEntry, 2);
     compiler->pc_descriptors_list()->AddDescriptor(
-        RawPcDescriptors::kOther,
-        compiler->assembler()->CodeSize(),
-        instruction_->deopt_id(),
-        instruction_->token_pos(),
-        try_index_);
+        RawPcDescriptors::kOther, compiler->assembler()->CodeSize(),
+        instruction_->deopt_id(), instruction_->token_pos(), try_index_);
     __ break_(0);
   }
 
@@ -5181,8 +5160,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(kLengthPos, Location::RegisterOrSmiConstant(length()));
   locs->set_in(kIndexPos, Location::RegisterOrSmiConstant(index()));
   return locs;
@@ -5192,10 +5171,8 @@
 void CheckArrayBoundInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   uint32_t flags = generalized_ ? ICData::kGeneralized : 0;
   flags |= licm_hoisted_ ? ICData::kHoisted : 0;
-  Label* deopt = compiler->AddDeoptStub(
-      deopt_id(),
-      ICData::kDeoptCheckArrayBound,
-      flags);
+  Label* deopt =
+      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptCheckArrayBound, flags);
 
   Location length_loc = locs()->in(kLengthPos);
   Location index_loc = locs()->in(kIndexPos);
@@ -5242,8 +5219,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::Pair(Location::RequiresRegister(),
                                     Location::RequiresRegister()));
   summary->set_in(1, Location::Pair(Location::RequiresRegister(),
@@ -5281,9 +5258,9 @@
       break;
     }
     case Token::kBIT_XOR: {
-     __ xor_(out_lo, left_lo, right_lo);
-     __ xor_(out_hi, left_hi, right_hi);
-     break;
+      __ xor_(out_lo, left_lo, right_lo);
+      __ xor_(out_hi, left_hi, right_hi);
+      break;
     }
     case Token::kADD:
     case Token::kSUB: {
@@ -5336,8 +5313,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::Pair(Location::RequiresRegister(),
                                     Location::RequiresRegister()));
   summary->set_in(1, Location::WritableRegisterOrSmiConstant(right()));
@@ -5350,8 +5327,8 @@
 static const intptr_t kMintShiftCountLimit = 63;
 
 bool ShiftMintOpInstr::has_shift_count_check() const {
-  return !RangeUtils::IsWithin(
-      right()->definition()->range(), 0, kMintShiftCountLimit);
+  return !RangeUtils::IsWithin(right()->definition()->range(), 0,
+                               kMintShiftCountLimit);
 }
 
 
@@ -5438,7 +5415,7 @@
 
     // Deopt if shift is larger than 63 or less than 0.
     if (has_shift_count_check()) {
-      __ sltiu(CMPRES1, shift, Immediate(2*(kMintShiftCountLimit + 1)));
+      __ sltiu(CMPRES1, shift, Immediate(2 * (kMintShiftCountLimit + 1)));
       __ beq(CMPRES1, ZR, deopt);
       // Untag shift count.
       __ delay_slot()->SmiUntag(shift);
@@ -5522,8 +5499,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::Pair(Location::RequiresRegister(),
                                     Location::RequiresRegister()));
   summary->set_out(0, Location::Pair(Location::RequiresRegister(),
@@ -5566,8 +5543,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresRegister());
@@ -5610,8 +5587,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RegisterOrSmiConstant(right()));
   summary->set_temp(0, Location::RequiresRegister());
@@ -5679,8 +5656,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresRegister());
   return summary;
@@ -5705,8 +5682,8 @@
                                                                bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   if (from() == kUnboxedMint) {
     ASSERT((to() == kUnboxedUint32) || (to() == kUnboxedInt32));
     summary->set_in(0, Location::Pair(Location::RequiresRegister(),
@@ -5776,43 +5753,33 @@
 }
 
 
-LocationSummary* ThrowInstr::MakeLocationSummary(Zone* zone,
-                                                 bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
+LocationSummary* ThrowInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
 }
 
 
-
 void ThrowInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kThrowRuntimeEntry,
-                                1,
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(), kThrowRuntimeEntry, 1,
                                 locs());
   __ break_(0);
 }
 
 
-LocationSummary* ReThrowInstr::MakeLocationSummary(Zone* zone,
-                                                   bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
+LocationSummary* ReThrowInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
 }
 
 
 void ReThrowInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   compiler->SetNeedsStacktrace(catch_try_index());
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kReThrowRuntimeEntry,
-                                2,
-                                locs());
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(), kReThrowRuntimeEntry,
+                                2, locs());
   __ break_(0);
 }
 
 
-LocationSummary* StopInstr::MakeLocationSummary(Zone* zone,
-                                                bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
+LocationSummary* StopInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
 }
 
 
@@ -5828,9 +5795,8 @@
 }
 
 
-LocationSummary* GotoInstr::MakeLocationSummary(Zone* zone,
-                                                bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
+LocationSummary* GotoInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
 }
 
 
@@ -5842,8 +5808,7 @@
     }
     // Add a deoptimization descriptor for deoptimizing instructions that
     // may be inserted before this instruction.
-    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                   GetDeoptId(),
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, GetDeoptId(),
                                    TokenPosition::kNoSource);
   }
   if (HasParallelMove()) {
@@ -5863,8 +5828,8 @@
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
 
-  LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
 
   summary->set_in(0, Location::RequiresRegister());
   summary->set_temp(0, Location::RequiresRegister());
@@ -5877,14 +5842,13 @@
   Register target_reg = locs()->temp_slot(0)->reg();
 
   __ GetNextPC(target_reg, TMP);
-  const intptr_t entry_offset =
-     __ CodeSize() - 1 * Instr::kInstrSize;
+  const intptr_t entry_offset = __ CodeSize() - 1 * Instr::kInstrSize;
   __ AddImmediate(target_reg, target_reg, -entry_offset);
 
   // Add the offset.
   Register offset_reg = locs()->in(0).reg();
   if (offset()->definition()->representation() == kTagged) {
-  __ SmiUntag(offset_reg);
+    __ SmiUntag(offset_reg);
   }
   __ addu(target_reg, target_reg, offset_reg);
 
@@ -5898,15 +5862,15 @@
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
   if (needs_number_check()) {
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
     locs->set_in(0, Location::RegisterLocation(A0));
     locs->set_in(1, Location::RegisterLocation(A1));
     locs->set_out(0, Location::RegisterLocation(A0));
     return locs;
   }
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RegisterOrConstant(left()));
   // Only one of the inputs can be a constant. Choose register if the first one
   // is a constant.
@@ -5925,20 +5889,14 @@
   ASSERT(!left.IsConstant() || !right.IsConstant());
   Condition true_condition;
   if (left.IsConstant()) {
-    true_condition = compiler->EmitEqualityRegConstCompare(right.reg(),
-                                                           left.constant(),
-                                                           needs_number_check(),
-                                                           token_pos());
+    true_condition = compiler->EmitEqualityRegConstCompare(
+        right.reg(), left.constant(), needs_number_check(), token_pos());
   } else if (right.IsConstant()) {
-    true_condition = compiler->EmitEqualityRegConstCompare(left.reg(),
-                                                           right.constant(),
-                                                           needs_number_check(),
-                                                           token_pos());
+    true_condition = compiler->EmitEqualityRegConstCompare(
+        left.reg(), right.constant(), needs_number_check(), token_pos());
   } else {
-    true_condition = compiler->EmitEqualityRegRegCompare(left.reg(),
-                                                         right.reg(),
-                                                         needs_number_check(),
-                                                         token_pos());
+    true_condition = compiler->EmitEqualityRegRegCompare(
+        left.reg(), right.reg(), needs_number_check(), token_pos());
   }
   if (kind() != Token::kEQ_STRICT) {
     ASSERT(kind() == Token::kNE_STRICT);
@@ -5953,7 +5911,7 @@
   ASSERT(kind() == Token::kEQ_STRICT || kind() == Token::kNE_STRICT);
 
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
   EmitBranchOnCondition(compiler, true_condition, labels);
 
@@ -5981,9 +5939,7 @@
 
 LocationSummary* BooleanNegateInstr::MakeLocationSummary(Zone* zone,
                                                          bool opt) const {
-  return LocationSummary::Make(zone,
-                               1,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, 1, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -6010,9 +5966,7 @@
   const Code& stub = Code::ZoneHandle(
       compiler->zone(), StubCode::GetAllocationStubForClass(cls()));
   const StubEntry stub_entry(stub);
-  compiler->GenerateCall(token_pos(),
-                         stub_entry,
-                         RawPcDescriptors::kOther,
+  compiler->GenerateCall(token_pos(), stub_entry, RawPcDescriptors::kOther,
                          locs());
   compiler->AddStubCallTarget(stub);
   __ Drop(ArgumentCount());  // Discard arguments.
@@ -6027,12 +5981,12 @@
 }
 
 
-LocationSummary* GrowRegExpStackInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+LocationSummary* GrowRegExpStackInstr::MakeLocationSummary(Zone* zone,
+                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(T0));
   locs->set_out(0, Location::RegisterLocation(T0));
   return locs;
@@ -6047,11 +6001,8 @@
   __ LoadObject(TMP, Object::null_object());
   __ sw(TMP, Address(SP, 1 * kWordSize));
   __ sw(typed_data, Address(SP, 0 * kWordSize));
-  compiler->GenerateRuntimeCall(TokenPosition::kNoSource,
-                                deopt_id(),
-                                kGrowRegExpStackRuntimeEntry,
-                                1,
-                                locs());
+  compiler->GenerateRuntimeCall(TokenPosition::kNoSource, deopt_id(),
+                                kGrowRegExpStackRuntimeEntry, 1, locs());
   __ lw(result, Address(SP, 1 * kWordSize));
   __ addiu(SP, SP, Immediate(2 * kWordSize));
 }
diff --git a/runtime/vm/intermediate_language_x64.cc b/runtime/vm/intermediate_language_x64.cc
index 4fc3b68..9510d28 100644
--- a/runtime/vm/intermediate_language_x64.cc
+++ b/runtime/vm/intermediate_language_x64.cc
@@ -28,8 +28,8 @@
 // Generic summary for call instructions that have all arguments pushed
 // on the stack and return the result in a fixed register RAX.
 LocationSummary* Instruction::MakeCallSummary(Zone* zone) {
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, 0, 0, LocationSummary::kCall);
+  LocationSummary* result =
+      new (zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
   result->set_out(0, Location::RegisterLocation(RAX));
   return result;
 }
@@ -39,8 +39,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::AnyOrConstant(value()));
   return locs;
 }
@@ -63,12 +63,11 @@
 }
 
 
-LocationSummary* ReturnInstr::MakeLocationSummary(Zone* zone,
-                                                  bool opt) const {
+LocationSummary* ReturnInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RegisterLocation(RAX));
   return locs;
 }
@@ -111,18 +110,30 @@
 
 static Condition NegateCondition(Condition condition) {
   switch (condition) {
-    case EQUAL:         return NOT_EQUAL;
-    case NOT_EQUAL:     return EQUAL;
-    case LESS:          return GREATER_EQUAL;
-    case LESS_EQUAL:    return GREATER;
-    case GREATER:       return LESS_EQUAL;
-    case GREATER_EQUAL: return LESS;
-    case BELOW:         return ABOVE_EQUAL;
-    case BELOW_EQUAL:   return ABOVE;
-    case ABOVE:         return BELOW_EQUAL;
-    case ABOVE_EQUAL:   return BELOW;
-    case PARITY_EVEN:   return PARITY_ODD;
-    case PARITY_ODD:    return PARITY_EVEN;
+    case EQUAL:
+      return NOT_EQUAL;
+    case NOT_EQUAL:
+      return EQUAL;
+    case LESS:
+      return GREATER_EQUAL;
+    case LESS_EQUAL:
+      return GREATER;
+    case GREATER:
+      return LESS_EQUAL;
+    case GREATER_EQUAL:
+      return LESS;
+    case BELOW:
+      return ABOVE_EQUAL;
+    case BELOW_EQUAL:
+      return ABOVE;
+    case ABOVE:
+      return BELOW_EQUAL;
+    case ABOVE_EQUAL:
+      return BELOW;
+    case PARITY_EVEN:
+      return PARITY_ODD;
+    case PARITY_ODD:
+      return PARITY_EVEN;
     default:
       UNIMPLEMENTED();
       return EQUAL;
@@ -154,7 +165,7 @@
   __ xorq(RDX, RDX);
 
   // Emit comparison code. This must not overwrite the result register.
-  BranchLabels labels = { NULL, NULL, NULL };
+  BranchLabels labels = {NULL, NULL, NULL};
   Condition true_condition = comparison()->EmitComparisonCode(compiler, labels);
 
   const bool is_power_of_two_kind = IsPowerOfTwoKind(if_true_, if_false_);
@@ -186,8 +197,8 @@
     __ shlq(RDX, Immediate(shift + kSmiTagSize));
   } else {
     __ decq(RDX);
-    __ AndImmediate(RDX,
-        Immediate(Smi::RawValue(true_value) - Smi::RawValue(false_value)));
+    __ AndImmediate(
+        RDX, Immediate(Smi::RawValue(true_value) - Smi::RawValue(false_value)));
     if (false_value != 0) {
       __ AddImmediate(RDX, Immediate(Smi::RawValue(false_value)));
     }
@@ -199,10 +210,9 @@
                                                      bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t stack_index = (local().index() < 0)
-      ? kFirstLocalSlotFromFp - local().index()
-      : kParamEndSlotFromFp - local().index();
-  return LocationSummary::Make(zone,
-                               kNumInputs,
+                                   ? kFirstLocalSlotFromFp - local().index()
+                                   : kParamEndSlotFromFp - local().index();
+  return LocationSummary::Make(zone, kNumInputs,
                                Location::StackSlot(stack_index),
                                LocationSummary::kNoCall);
 }
@@ -217,9 +227,7 @@
 LocationSummary* StoreLocalInstr::MakeLocationSummary(Zone* zone,
                                                       bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::SameAsFirstInput(),
+  return LocationSummary::Make(zone, kNumInputs, Location::SameAsFirstInput(),
                                LocationSummary::kNoCall);
 }
 
@@ -235,8 +243,7 @@
 LocationSummary* ConstantInstr::MakeLocationSummary(Zone* zone,
                                                     bool opt) const {
   const intptr_t kNumInputs = 0;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
+  return LocationSummary::Make(zone, kNumInputs,
                                Assembler::IsSafe(value())
                                    ? Location::Constant(this)
                                    : Location::RequiresRegister(),
@@ -259,8 +266,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   switch (representation()) {
     case kUnboxedDouble:
       locs->set_out(0, Location::RequiresFpuRegister());
@@ -305,8 +312,8 @@
                                                             bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(RAX));  // Value.
   summary->set_in(1, Location::RegisterLocation(RDX));  // Type arguments.
   summary->set_out(0, Location::RegisterLocation(RAX));
@@ -318,8 +325,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(RAX));
   locs->set_out(0, Location::RegisterLocation(RAX));
   return locs;
@@ -348,11 +355,8 @@
   }
 
   __ pushq(reg);  // Push the source object.
-  compiler->GenerateRuntimeCall(token_pos,
-                                deopt_id,
-                                kNonBoolTypeErrorRuntimeEntry,
-                                1,
-                                locs);
+  compiler->GenerateRuntimeCall(token_pos, deopt_id,
+                                kNonBoolTypeErrorRuntimeEntry, 1, locs);
   // We should never return here.
   __ int3();
   __ Bind(&done);
@@ -370,12 +374,18 @@
 
 static Condition TokenKindToIntCondition(Token::Kind kind) {
   switch (kind) {
-    case Token::kEQ: return EQUAL;
-    case Token::kNE: return NOT_EQUAL;
-    case Token::kLT: return LESS;
-    case Token::kGT: return GREATER;
-    case Token::kLTE: return LESS_EQUAL;
-    case Token::kGTE: return GREATER_EQUAL;
+    case Token::kEQ:
+      return EQUAL;
+    case Token::kNE:
+      return NOT_EQUAL;
+    case Token::kLT:
+      return LESS;
+    case Token::kGT:
+      return GREATER;
+    case Token::kLTE:
+      return LESS_EQUAL;
+    case Token::kGTE:
+      return GREATER_EQUAL;
     default:
       UNREACHABLE();
       return OVERFLOW;
@@ -388,17 +398,17 @@
   const intptr_t kNumInputs = 2;
   if (operation_cid() == kMintCid) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::RequiresRegister());
     locs->set_in(1, Location::RequiresRegister());
     locs->set_out(0, Location::RequiresRegister());
     return locs;
   }
   if (operation_cid() == kDoubleCid) {
-    const intptr_t kNumTemps =  0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    const intptr_t kNumTemps = 0;
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::RequiresFpuRegister());
     locs->set_in(1, Location::RequiresFpuRegister());
     locs->set_out(0, Location::RequiresRegister());
@@ -406,8 +416,8 @@
   }
   if (operation_cid() == kSmiCid) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     locs->set_in(0, Location::RegisterOrConstant(left()));
     // Only one input can be a constant operand. The case of two constant
     // operands should be handled by constant propagation.
@@ -444,16 +454,26 @@
 
 static Condition FlipCondition(Condition condition) {
   switch (condition) {
-    case EQUAL:         return EQUAL;
-    case NOT_EQUAL:     return NOT_EQUAL;
-    case LESS:          return GREATER;
-    case LESS_EQUAL:    return GREATER_EQUAL;
-    case GREATER:       return LESS;
-    case GREATER_EQUAL: return LESS_EQUAL;
-    case BELOW:         return ABOVE;
-    case BELOW_EQUAL:   return ABOVE_EQUAL;
-    case ABOVE:         return BELOW;
-    case ABOVE_EQUAL:   return BELOW_EQUAL;
+    case EQUAL:
+      return EQUAL;
+    case NOT_EQUAL:
+      return NOT_EQUAL;
+    case LESS:
+      return GREATER;
+    case LESS_EQUAL:
+      return GREATER_EQUAL;
+    case GREATER:
+      return LESS;
+    case GREATER_EQUAL:
+      return LESS_EQUAL;
+    case BELOW:
+      return ABOVE;
+    case BELOW_EQUAL:
+      return ABOVE_EQUAL;
+    case ABOVE:
+      return BELOW;
+    case ABOVE_EQUAL:
+      return BELOW_EQUAL;
     default:
       UNIMPLEMENTED();
       return EQUAL;
@@ -505,12 +525,18 @@
 
 static Condition TokenKindToDoubleCondition(Token::Kind kind) {
   switch (kind) {
-    case Token::kEQ: return EQUAL;
-    case Token::kNE: return NOT_EQUAL;
-    case Token::kLT: return BELOW;
-    case Token::kGT: return ABOVE;
-    case Token::kLTE: return BELOW_EQUAL;
-    case Token::kGTE: return ABOVE_EQUAL;
+    case Token::kEQ:
+      return EQUAL;
+    case Token::kNE:
+      return NOT_EQUAL;
+    case Token::kLT:
+      return BELOW;
+    case Token::kGT:
+      return ABOVE;
+    case Token::kLTE:
+      return BELOW_EQUAL;
+    case Token::kGTE:
+      return ABOVE_EQUAL;
     default:
       UNREACHABLE();
       return OVERFLOW;
@@ -528,8 +554,8 @@
   __ comisd(left, right);
 
   Condition true_condition = TokenKindToDoubleCondition(kind);
-  Label* nan_result = (true_condition == NOT_EQUAL)
-      ? labels.true_label : labels.false_label;
+  Label* nan_result =
+      (true_condition == NOT_EQUAL) ? labels.true_label : labels.false_label;
   __ j(PARITY_EVEN, nan_result);
   return true_condition;
 }
@@ -550,9 +576,9 @@
   ASSERT((kind() == Token::kEQ) || (kind() == Token::kNE));
 
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
-  EmitBranchOnCondition(compiler,  true_condition, labels);
+  EmitBranchOnCondition(compiler, true_condition, labels);
 
   Register result = locs()->out(0).reg();
   Label done;
@@ -575,12 +601,11 @@
 }
 
 
-LocationSummary* TestSmiInstr::MakeLocationSummary(Zone* zone,
-                                                   bool opt) const {
+LocationSummary* TestSmiInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   // Only one input can be a constant operand. The case of two constant
   // operands should be handled by constant propagation.
@@ -595,8 +620,7 @@
   Location right = locs()->in(1);
   if (right.IsConstant()) {
     ASSERT(right.constant().IsSmi());
-    const int64_t imm =
-        reinterpret_cast<int64_t>(right.constant().raw());
+    const int64_t imm = reinterpret_cast<int64_t>(right.constant().raw());
     __ TestImmediate(left_reg, Immediate(imm));
   } else {
     __ testq(left_reg, right.reg());
@@ -620,13 +644,12 @@
 }
 
 
-
 LocationSummary* TestCidsInstr::MakeLocationSummary(Zone* zone,
                                                     bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   locs->set_temp(0, Location::RequiresRegister());
   locs->set_out(0, Location::RequiresRegister());
@@ -640,11 +663,11 @@
   Register val_reg = locs()->in(0).reg();
   Register cid_reg = locs()->temp(0).reg();
 
-  Label* deopt = CanDeoptimize()
-      ? compiler->AddDeoptStub(deopt_id(),
-                               ICData::kDeoptTestCids,
-                               licm_hoisted_ ? ICData::kHoisted : 0)
-      : NULL;
+  Label* deopt =
+      CanDeoptimize()
+          ? compiler->AddDeoptStub(deopt_id(), ICData::kDeoptTestCids,
+                                   licm_hoisted_ ? ICData::kHoisted : 0)
+          : NULL;
 
   const intptr_t true_result = (kind() == Token::kIS) ? 1 : 0;
   const ZoneGrowableArray<intptr_t>& data = cid_results();
@@ -657,7 +680,7 @@
     const intptr_t test_cid = data[i];
     ASSERT(test_cid != kSmiCid);
     result = data[i + 1] == true_result;
-    __ cmpq(cid_reg,  Immediate(test_cid));
+    __ cmpq(cid_reg, Immediate(test_cid));
     __ j(EQUAL, result ? labels.true_label : labels.false_label);
   }
   // No match found, deoptimize or false.
@@ -685,7 +708,7 @@
 void TestCidsInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Register result_reg = locs()->out(0).reg();
   Label is_true, is_false, done;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   EmitComparisonCode(compiler, labels);
   __ Bind(&is_false);
   __ LoadObject(result_reg, Bool::False());
@@ -701,23 +724,23 @@
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
   if (operation_cid() == kDoubleCid) {
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresFpuRegister());
     summary->set_in(1, Location::RequiresFpuRegister());
     summary->set_out(0, Location::RequiresRegister());
     return summary;
   } else if (operation_cid() == kMintCid) {
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     summary->set_in(1, Location::RequiresRegister());
     summary->set_out(0, Location::RequiresRegister());
     return summary;
   }
   ASSERT(operation_cid() == kSmiCid);
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RegisterOrConstant(left()));
   // Only one input can be a constant operand. The case of two constant
   // operands should be handled by constant propagation.
@@ -742,7 +765,7 @@
 
 void RelationalOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
   EmitBranchOnCondition(compiler, true_condition, labels);
 
@@ -780,8 +803,9 @@
   __ PushObject(Object::null_object());
   // Pass a pointer to the first argument in RAX.
   if (!function().HasOptionalParameters()) {
-    __ leaq(RAX, Address(RBP, (kParamEndSlotFromFp +
-                               function().NumParameters()) * kWordSize));
+    __ leaq(RAX,
+            Address(RBP, (kParamEndSlotFromFp + function().NumParameters()) *
+                             kWordSize));
   } else {
     __ leaq(RAX, Address(RBP, kFirstLocalSlotFromFp * kWordSize));
   }
@@ -792,15 +816,13 @@
     ExternalLabel label(NativeEntry::LinkNativeCallEntry());
     __ LoadNativeEntry(RBX, &label, kPatchable);
   } else {
-    stub_entry = (is_bootstrap_native()) ?
-        StubCode::CallBootstrapCFunction_entry() :
-        StubCode::CallNativeCFunction_entry();
+    stub_entry = (is_bootstrap_native())
+                     ? StubCode::CallBootstrapCFunction_entry()
+                     : StubCode::CallNativeCFunction_entry();
     const ExternalLabel label(reinterpret_cast<uword>(native_c_function()));
     __ LoadNativeEntry(RBX, &label, kNotPatchable);
   }
-  compiler->GenerateCall(token_pos(),
-                         *stub_entry,
-                         RawPcDescriptors::kOther,
+  compiler->GenerateCall(token_pos(), *stub_entry, RawPcDescriptors::kOther,
                          locs());
   __ popq(result);
 }
@@ -819,12 +841,11 @@
 
 
 LocationSummary* OneByteStringFromCharCodeInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   // TODO(fschneider): Allow immediate operands for the char code.
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -836,8 +857,7 @@
   Register result = locs()->out(0).reg();
 
   __ movq(result, Address(THR, Thread::predefined_symbols_address_offset()));
-  __ movq(result, Address(result,
-                          char_code,
+  __ movq(result, Address(result, char_code,
                           TIMES_HALF_WORD_SIZE,  // Char code is a smi.
                           Symbols::kNullCharCodeSymbolOffset * kWordSize));
 }
@@ -846,9 +866,7 @@
 LocationSummary* StringToCharCodeInstr::MakeLocationSummary(Zone* zone,
                                                             bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -874,8 +892,8 @@
                                                              bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(RAX));
   summary->set_out(0, Location::RegisterLocation(RAX));
   return summary;
@@ -887,12 +905,8 @@
   __ pushq(array);
   const int kNumberOfArguments = 1;
   const Array& kNoArgumentNames = Object::null_array();
-  compiler->GenerateStaticCall(deopt_id(),
-                               token_pos(),
-                               CallFunction(),
-                               kNumberOfArguments,
-                               kNoArgumentNames,
-                               locs(),
+  compiler->GenerateStaticCall(deopt_id(), token_pos(), CallFunction(),
+                               kNumberOfArguments, kNoArgumentNames, locs(),
                                ICData::Handle());
   ASSERT(locs()->out(0).reg() == RAX);
 }
@@ -901,9 +915,7 @@
 LocationSummary* LoadUntaggedInstr::MakeLocationSummary(Zone* zone,
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -923,9 +935,7 @@
 LocationSummary* LoadClassIdInstr::MakeLocationSummary(Zone* zone,
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, kNumInputs, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -1038,23 +1048,25 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   // The smi index is either untagged (element size == 1), or it is left smi
   // tagged (for all element sizes > 1).
   if (index_scale() == 1) {
-    locs->set_in(1, CanBeImmediateIndex(index(), class_id())
-                      ? Location::Constant(index()->definition()->AsConstant())
-                      : Location::WritableRegister());
+    locs->set_in(1,
+                 CanBeImmediateIndex(index(), class_id())
+                     ? Location::Constant(index()->definition()->AsConstant())
+                     : Location::WritableRegister());
   } else {
-    locs->set_in(1, CanBeImmediateIndex(index(), class_id())
-                      ? Location::Constant(index()->definition()->AsConstant())
-                      : Location::RequiresRegister());
+    locs->set_in(1,
+                 CanBeImmediateIndex(index(), class_id())
+                     ? Location::Constant(index()->definition()->AsConstant())
+                     : Location::RequiresRegister());
   }
-  if ((representation() == kUnboxedDouble)    ||
+  if ((representation() == kUnboxedDouble) ||
       (representation() == kUnboxedFloat32x4) ||
-      (representation() == kUnboxedInt32x4)   ||
+      (representation() == kUnboxedInt32x4) ||
       (representation() == kUnboxedFloat64x2)) {
     locs->set_out(0, Location::RequiresFpuRegister());
   } else {
@@ -1069,16 +1081,17 @@
   const Register array = locs()->in(0).reg();
   const Location index = locs()->in(1);
 
-  Address element_address = index.IsRegister()
-      ? Assembler::ElementAddressForRegIndex(
-            IsExternal(), class_id(), index_scale(), array, index.reg())
-      : Assembler::ElementAddressForIntIndex(
-            IsExternal(), class_id(), index_scale(),
-            array, Smi::Cast(index.constant()).Value());
+  Address element_address =
+      index.IsRegister()
+          ? Assembler::ElementAddressForRegIndex(
+                IsExternal(), class_id(), index_scale(), array, index.reg())
+          : Assembler::ElementAddressForIntIndex(
+                IsExternal(), class_id(), index_scale(), array,
+                Smi::Cast(index.constant()).Value());
 
-  if ((representation() == kUnboxedDouble)    ||
+  if ((representation() == kUnboxedDouble) ||
       (representation() == kUnboxedFloat32x4) ||
-      (representation() == kUnboxedInt32x4)   ||
+      (representation() == kUnboxedInt32x4) ||
       (representation() == kUnboxedFloat64x2)) {
     if ((index_scale() == 1) && index.IsRegister()) {
       __ SmiUntag(index.reg());
@@ -1091,7 +1104,7 @@
     } else if (class_id() == kTypedDataFloat64ArrayCid) {
       __ movsd(result, element_address);
     } else {
-      ASSERT((class_id() == kTypedDataInt32x4ArrayCid)   ||
+      ASSERT((class_id() == kTypedDataInt32x4ArrayCid) ||
              (class_id() == kTypedDataFloat32x4ArrayCid) ||
              (class_id() == kTypedDataFloat64x2ArrayCid));
       __ movups(result, element_address);
@@ -1123,7 +1136,7 @@
   if (representation() == kUnboxedMint) {
     ASSERT(class_id() == kTypedDataInt64ArrayCid);
     if ((index_scale() == 1) && index.IsRegister()) {
-    __ SmiUntag(index.reg());
+      __ SmiUntag(index.reg());
     }
     Register result = locs()->out(0).reg();
     __ movq(result, element_address);
@@ -1172,8 +1185,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   // The smi index is either untagged (element size == 1), or it is left smi
   // tagged (for all element sizes > 1).
@@ -1190,7 +1203,7 @@
   const Location index = locs()->in(1);
 
   Address element_address = Assembler::ElementAddressForRegIndex(
-        IsExternal(), class_id(), index_scale(), str, index.reg());
+      IsExternal(), class_id(), index_scale(), str, index.reg());
 
   if ((index_scale() == 1)) {
     __ SmiUntag(index.reg());
@@ -1200,19 +1213,31 @@
     case kOneByteStringCid:
     case kExternalOneByteStringCid:
       switch (element_count()) {
-        case 1: __ movzxb(result, element_address); break;
-        case 2: __ movzxw(result, element_address); break;
-        case 4: __ movl(result, element_address); break;
-        default: UNREACHABLE();
+        case 1:
+          __ movzxb(result, element_address);
+          break;
+        case 2:
+          __ movzxw(result, element_address);
+          break;
+        case 4:
+          __ movl(result, element_address);
+          break;
+        default:
+          UNREACHABLE();
       }
       __ SmiTag(result);
       break;
     case kTwoByteStringCid:
     case kExternalTwoByteStringCid:
       switch (element_count()) {
-        case 1: __ movzxw(result, element_address); break;
-        case 2: __ movl(result, element_address); break;
-        default: UNREACHABLE();
+        case 1:
+          __ movzxw(result, element_address);
+          break;
+        case 2:
+          __ movl(result, element_address);
+          break;
+        default:
+          UNREACHABLE();
       }
       __ SmiTag(result);
       break;
@@ -1265,25 +1290,27 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 3;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RequiresRegister());
   // The smi index is either untagged (element size == 1), or it is left smi
   // tagged (for all element sizes > 1).
   if (index_scale() == 1) {
-    locs->set_in(1, CanBeImmediateIndex(index(), class_id())
-                      ? Location::Constant(index()->definition()->AsConstant())
-                      : Location::WritableRegister());
+    locs->set_in(1,
+                 CanBeImmediateIndex(index(), class_id())
+                     ? Location::Constant(index()->definition()->AsConstant())
+                     : Location::WritableRegister());
   } else {
-    locs->set_in(1, CanBeImmediateIndex(index(), class_id())
-                      ? Location::Constant(index()->definition()->AsConstant())
-                      : Location::RequiresRegister());
+    locs->set_in(1,
+                 CanBeImmediateIndex(index(), class_id())
+                     ? Location::Constant(index()->definition()->AsConstant())
+                     : Location::RequiresRegister());
   }
   switch (class_id()) {
     case kArrayCid:
       locs->set_in(2, ShouldEmitStoreBarrier()
-                        ? Location::WritableRegister()
-                        : Location::RegisterOrConstant(value()));
+                          ? Location::WritableRegister()
+                          : Location::RegisterOrConstant(value()));
       break;
     case kExternalTypedDataUint8ArrayCid:
     case kExternalTypedDataUint8ClampedArrayCid:
@@ -1328,12 +1355,13 @@
   const Register array = locs()->in(0).reg();
   const Location index = locs()->in(1);
 
-  Address element_address = index.IsRegister()
-      ? Assembler::ElementAddressForRegIndex(
-            IsExternal(), class_id(), index_scale(), array, index.reg())
-      : Assembler::ElementAddressForIntIndex(
-            IsExternal(), class_id(), index_scale(),
-            array, Smi::Cast(index.constant()).Value());
+  Address element_address =
+      index.IsRegister()
+          ? Assembler::ElementAddressForRegIndex(
+                IsExternal(), class_id(), index_scale(), array, index.reg())
+          : Assembler::ElementAddressForIntIndex(
+                IsExternal(), class_id(), index_scale(), array,
+                Smi::Cast(index.constant()).Value());
 
   if ((index_scale() == 1) && index.IsRegister()) {
     __ SmiUntag(index.reg());
@@ -1376,8 +1404,7 @@
         } else if (value < 0) {
           value = 0;
         }
-        __ movb(element_address,
-                Immediate(static_cast<int8_t>(value)));
+        __ movb(element_address, Immediate(static_cast<int8_t>(value)));
       } else {
         ASSERT(locs()->in(2).reg() == RAX);
         Label store_value, store_0xff;
@@ -1439,7 +1466,7 @@
 
   const bool emit_full_guard = !opt || (field_cid == kIllegalCid);
   const bool needs_value_cid_temp_reg =
-    (value_cid == kDynamicCid) && (emit_full_guard || (field_cid != kSmiCid));
+      (value_cid == kDynamicCid) && (emit_full_guard || (field_cid != kSmiCid));
   const bool needs_field_temp_reg = emit_full_guard;
 
   intptr_t num_temps = 0;
@@ -1450,8 +1477,8 @@
     num_temps++;
   }
 
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, num_temps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, num_temps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
 
   for (intptr_t i = 0; i < num_temps; i++) {
@@ -1472,7 +1499,8 @@
   if (field_cid == kDynamicCid) {
     if (Compiler::IsBackgroundCompilation()) {
       // Field state changed while compiling.
-      Compiler::AbortBackgroundCompilation(deopt_id(),
+      Compiler::AbortBackgroundCompilation(
+          deopt_id(),
           "GuardFieldClassInstr: field state changed while compiling");
     }
     ASSERT(!compiler->is_optimizing());
@@ -1489,16 +1517,19 @@
 
   const Register value_reg = locs()->in(0).reg();
 
-  const Register value_cid_reg = needs_value_cid_temp_reg ?
-      locs()->temp(0).reg() : kNoRegister;
+  const Register value_cid_reg =
+      needs_value_cid_temp_reg ? locs()->temp(0).reg() : kNoRegister;
 
-  const Register field_reg = needs_field_temp_reg ?
-      locs()->temp(locs()->temp_count() - 1).reg() : kNoRegister;
+  const Register field_reg = needs_field_temp_reg
+                                 ? locs()->temp(locs()->temp_count() - 1).reg()
+                                 : kNoRegister;
 
   Label ok, fail_label;
 
-  Label* deopt = compiler->is_optimizing() ?
-      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField) : NULL;
+  Label* deopt =
+      compiler->is_optimizing()
+          ? compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField)
+          : NULL;
 
   Label* fail = (deopt != NULL) ? deopt : &fail_label;
 
@@ -1506,8 +1537,8 @@
     __ LoadObject(field_reg, Field::ZoneHandle(field().Original()));
 
     FieldAddress field_cid_operand(field_reg, Field::guarded_cid_offset());
-    FieldAddress field_nullability_operand(
-        field_reg, Field::is_nullable_offset());
+    FieldAddress field_nullability_operand(field_reg,
+                                           Field::is_nullable_offset());
 
     if (value_cid == kDynamicCid) {
       LoadValueCid(compiler, value_cid_reg, value_reg);
@@ -1596,8 +1627,8 @@
   const intptr_t kNumInputs = 1;
   if (!opt || (field().guarded_list_length() == Field::kUnknownFixedLength)) {
     const intptr_t kNumTemps = 3;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     // We need temporaries for field object, length offset and expected length.
     summary->set_temp(0, Location::RequiresRegister());
@@ -1605,8 +1636,8 @@
     summary->set_temp(2, Location::RequiresRegister());
     return summary;
   } else {
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, 0, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, 0, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     return summary;
   }
@@ -1618,15 +1649,18 @@
   if (field().guarded_list_length() == Field::kNoFixedLength) {
     if (Compiler::IsBackgroundCompilation()) {
       // Field state changed while compiling.
-      Compiler::AbortBackgroundCompilation(deopt_id(),
+      Compiler::AbortBackgroundCompilation(
+          deopt_id(),
           "GuardFieldLengthInstr: field state changed while compiling");
     }
     ASSERT(!compiler->is_optimizing());
     return;  // Nothing to emit.
   }
 
-  Label* deopt = compiler->is_optimizing() ?
-      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField) : NULL;
+  Label* deopt =
+      compiler->is_optimizing()
+          ? compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField)
+          : NULL;
 
   const Register value_reg = locs()->in(0).reg();
 
@@ -1640,10 +1674,12 @@
 
     __ LoadObject(field_reg, Field::ZoneHandle(field().Original()));
 
-    __ movsxb(offset_reg, FieldAddress(field_reg,
-        Field::guarded_list_length_in_object_offset_offset()));
-    __ movq(length_reg, FieldAddress(field_reg,
-        Field::guarded_list_length_offset()));
+    __ movsxb(
+        offset_reg,
+        FieldAddress(field_reg,
+                     Field::guarded_list_length_in_object_offset_offset()));
+    __ movq(length_reg,
+            FieldAddress(field_reg, Field::guarded_list_length_offset()));
 
     __ cmpq(offset_reg, Immediate(0));
     __ j(NEGATIVE, &ok);
@@ -1670,12 +1706,11 @@
     ASSERT(compiler->is_optimizing());
     ASSERT(field().guarded_list_length() >= 0);
     ASSERT(field().guarded_list_length_in_object_offset() !=
-        Field::kUnknownLengthOffset);
+           Field::kUnknownLengthOffset);
 
     __ CompareImmediate(
-            FieldAddress(value_reg,
-                         field().guarded_list_length_in_object_offset()),
-            Immediate(Smi::RawValue(field().guarded_list_length())));
+        FieldAddress(value_reg, field().guarded_list_length_in_object_offset()),
+        Immediate(Smi::RawValue(field().guarded_list_length())));
     __ j(NOT_EQUAL, deopt);
   }
 }
@@ -1686,19 +1721,16 @@
   BoxAllocationSlowPath(Instruction* instruction,
                         const Class& cls,
                         Register result)
-      : instruction_(instruction),
-        cls_(cls),
-        result_(result) { }
+      : instruction_(instruction), cls_(cls), result_(result) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
-      __ Comment("%s slow path allocation of %s",
-                 instruction_->DebugName(),
+      __ Comment("%s slow path allocation of %s", instruction_->DebugName(),
                  String::Handle(cls_.ScrubbedName()).ToCString());
     }
     __ Bind(entry_label());
-    const Code& stub = Code::ZoneHandle(compiler->zone(),
-        StubCode::GetAllocationStubForClass(cls_));
+    const Code& stub = Code::ZoneHandle(
+        compiler->zone(), StubCode::GetAllocationStubForClass(cls_));
     const StubEntry stub_entry(stub);
 
     LocationSummary* locs = instruction_->locs();
@@ -1707,9 +1739,7 @@
 
     compiler->SaveLiveRegisters(locs);
     compiler->GenerateCall(TokenPosition::kNoSource,  // No token position.
-                           stub_entry,
-                           RawPcDescriptors::kOther,
-                           locs);
+                           stub_entry, RawPcDescriptors::kOther, locs);
     compiler->AddStubCallTarget(stub);
     __ MoveRegister(result_, RAX);
     compiler->RestoreLiveRegisters(locs);
@@ -1722,20 +1752,14 @@
                        Register result,
                        Register temp) {
     if (compiler->intrinsic_mode()) {
-      __ TryAllocate(cls,
-                     compiler->intrinsic_slow_path_label(),
-                     Assembler::kFarJump,
-                     result,
-                     temp);
+      __ TryAllocate(cls, compiler->intrinsic_slow_path_label(),
+                     Assembler::kFarJump, result, temp);
     } else {
       BoxAllocationSlowPath* slow_path =
           new BoxAllocationSlowPath(instruction, cls, result);
       compiler->AddSlowPathCode(slow_path);
 
-      __ TryAllocate(cls,
-                     slow_path->entry_label(),
-                     Assembler::kFarJump,
-                     result,
+      __ TryAllocate(cls, slow_path->entry_label(), Assembler::kFarJump, result,
                      temp);
       __ Bind(slow_path->exit_label());
     }
@@ -1752,14 +1776,13 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps =
-      (IsUnboxedStore() && opt) ? 2 :
-          ((IsPotentialUnboxedStore()) ? 3 : 0);
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps,
-          ((IsUnboxedStore() && opt && is_initialization()) ||
-           IsPotentialUnboxedStore())
-          ? LocationSummary::kCallOnSlowPath
-          : LocationSummary::kNoCall);
+      (IsUnboxedStore() && opt) ? 2 : ((IsPotentialUnboxedStore()) ? 3 : 0);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps,
+                      ((IsUnboxedStore() && opt && is_initialization()) ||
+                       IsPotentialUnboxedStore())
+                          ? LocationSummary::kCallOnSlowPath
+                          : LocationSummary::kNoCall);
 
   summary->set_in(0, Location::RequiresRegister());
   if (IsUnboxedStore() && opt) {
@@ -1767,17 +1790,16 @@
     summary->set_temp(0, Location::RequiresRegister());
     summary->set_temp(1, Location::RequiresRegister());
   } else if (IsPotentialUnboxedStore()) {
-    summary->set_in(1, ShouldEmitStoreBarrier()
-        ? Location::WritableRegister()
-        :  Location::RequiresRegister());
+    summary->set_in(1, ShouldEmitStoreBarrier() ? Location::WritableRegister()
+                                                : Location::RequiresRegister());
     summary->set_temp(0, Location::RequiresRegister());
     summary->set_temp(1, Location::RequiresRegister());
     summary->set_temp(2, opt ? Location::RequiresFpuRegister()
                              : Location::FpuRegisterLocation(XMM1));
   } else {
     summary->set_in(1, ShouldEmitStoreBarrier()
-                       ? Location::WritableRegister()
-                       : Location::RegisterOrConstant(value()));
+                           ? Location::WritableRegister()
+                           : Location::RegisterOrConstant(value()));
   }
   return summary;
 }
@@ -1796,9 +1818,7 @@
   __ j(NOT_EQUAL, &done);
   BoxAllocationSlowPath::Allocate(compiler, instruction, cls, box_reg, temp);
   __ movq(temp, box_reg);
-  __ StoreIntoObject(instance_reg,
-                     FieldAddress(instance_reg, offset),
-                     temp);
+  __ StoreIntoObject(instance_reg, FieldAddress(instance_reg, offset), temp);
 
   __ Bind(&done);
 }
@@ -1835,8 +1855,7 @@
       BoxAllocationSlowPath::Allocate(compiler, this, *cls, temp, temp2);
       __ movq(temp2, temp);
       __ StoreIntoObject(instance_reg,
-                         FieldAddress(instance_reg, offset_in_bytes_),
-                         temp2);
+                         FieldAddress(instance_reg, offset_in_bytes_), temp2);
     } else {
       __ movq(temp, FieldAddress(instance_reg, offset_in_bytes_));
     }
@@ -1852,7 +1871,7 @@
       case kFloat64x2Cid:
         __ Comment("UnboxedFloat64x2StoreInstanceFieldInstr");
         __ movups(FieldAddress(temp, Float64x2::value_offset()), value);
-      break;
+        break;
       default:
         UNREACHABLE();
     }
@@ -1908,13 +1927,8 @@
 
     {
       __ Bind(&store_double);
-      EnsureMutableBox(compiler,
-                       this,
-                       temp,
-                       compiler->double_class(),
-                       instance_reg,
-                       offset_in_bytes_,
-                       temp2);
+      EnsureMutableBox(compiler, this, temp, compiler->double_class(),
+                       instance_reg, offset_in_bytes_, temp2);
       __ movsd(fpu_temp, FieldAddress(value_reg, Double::value_offset()));
       __ movsd(FieldAddress(temp, Double::value_offset()), fpu_temp);
       __ jmp(&skip_store);
@@ -1922,13 +1936,8 @@
 
     {
       __ Bind(&store_float32x4);
-      EnsureMutableBox(compiler,
-                       this,
-                       temp,
-                       compiler->float32x4_class(),
-                       instance_reg,
-                       offset_in_bytes_,
-                       temp2);
+      EnsureMutableBox(compiler, this, temp, compiler->float32x4_class(),
+                       instance_reg, offset_in_bytes_, temp2);
       __ movups(fpu_temp, FieldAddress(value_reg, Float32x4::value_offset()));
       __ movups(FieldAddress(temp, Float32x4::value_offset()), fpu_temp);
       __ jmp(&skip_store);
@@ -1936,13 +1945,8 @@
 
     {
       __ Bind(&store_float64x2);
-      EnsureMutableBox(compiler,
-                       this,
-                       temp,
-                       compiler->float64x2_class(),
-                       instance_reg,
-                       offset_in_bytes_,
-                       temp2);
+      EnsureMutableBox(compiler, this, temp, compiler->float64x2_class(),
+                       instance_reg, offset_in_bytes_, temp2);
       __ movups(fpu_temp, FieldAddress(value_reg, Float64x2::value_offset()));
       __ movups(FieldAddress(temp, Float64x2::value_offset()), fpu_temp);
       __ jmp(&skip_store);
@@ -1954,8 +1958,7 @@
   if (ShouldEmitStoreBarrier()) {
     Register value_reg = locs()->in(1).reg();
     __ StoreIntoObject(instance_reg,
-                       FieldAddress(instance_reg, offset_in_bytes_),
-                       value_reg,
+                       FieldAddress(instance_reg, offset_in_bytes_), value_reg,
                        CanValueBeSmi());
   } else {
     if (locs()->in(1).IsConstant()) {
@@ -1965,8 +1968,8 @@
     } else {
       Register value_reg = locs()->in(1).reg();
       __ StoreIntoObjectNoBarrier(instance_reg,
-          FieldAddress(instance_reg, offset_in_bytes_),
-          value_reg);
+                                  FieldAddress(instance_reg, offset_in_bytes_),
+                                  value_reg);
     }
   }
   __ Bind(&skip_store);
@@ -1977,8 +1980,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresRegister());
   return summary;
@@ -1999,8 +2002,8 @@
 
 LocationSummary* StoreStaticFieldInstr::MakeLocationSummary(Zone* zone,
                                                             bool opt) const {
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, 1, 1, LocationSummary::kNoCall);
+  LocationSummary* locs =
+      new (zone) LocationSummary(zone, 1, 1, LocationSummary::kNoCall);
   locs->set_in(0, value()->NeedsStoreBuffer() ? Location::WritableRegister()
                                               : Location::RequiresRegister());
   locs->set_temp(0, Location::RequiresRegister());
@@ -2014,10 +2017,8 @@
 
   __ LoadObject(temp, Field::ZoneHandle(Z, field().Original()));
   if (this->value()->NeedsStoreBuffer()) {
-    __ StoreIntoObject(temp,
-                       FieldAddress(temp, Field::static_value_offset()),
-                       value,
-                       CanValueBeSmi());
+    __ StoreIntoObject(temp, FieldAddress(temp, Field::static_value_offset()),
+                       value, CanValueBeSmi());
   } else {
     __ StoreIntoObjectNoBarrier(
         temp, FieldAddress(temp, Field::static_value_offset()), value);
@@ -2029,8 +2030,8 @@
                                                       bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(RAX));
   summary->set_in(1, Location::RegisterLocation(RDX));
   summary->set_out(0, Location::RegisterLocation(RAX));
@@ -2042,10 +2043,7 @@
   ASSERT(locs()->in(0).reg() == RAX);  // Value.
   ASSERT(locs()->in(1).reg() == RDX);  // Instantiator type arguments.
 
-  compiler->GenerateInstanceOf(token_pos(),
-                               deopt_id(),
-                               type(),
-                               negate_result(),
+  compiler->GenerateInstanceOf(token_pos(), deopt_id(), type(), negate_result(),
                                locs());
   ASSERT(locs()->out(0).reg() == RAX);
 }
@@ -2057,8 +2055,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(RBX));
   locs->set_in(1, Location::RegisterLocation(R10));
   locs->set_out(0, Location::RegisterLocation(RAX));
@@ -2068,28 +2066,26 @@
 
 // Inlines array allocation for known constant values.
 static void InlineArrayAllocation(FlowGraphCompiler* compiler,
-                                   intptr_t num_elements,
-                                   Label* slow_path,
-                                   Label* done) {
+                                  intptr_t num_elements,
+                                  Label* slow_path,
+                                  Label* done) {
   const int kInlineArraySize = 12;  // Same as kInlineInstanceSize.
   const Register kLengthReg = R10;
   const Register kElemTypeReg = RBX;
   const intptr_t instance_size = Array::InstanceSize(num_elements);
 
   __ TryAllocateArray(kArrayCid, instance_size, slow_path, Assembler::kFarJump,
-                      RAX,  // instance
-                      RCX,  // end address
+                      RAX,   // instance
+                      RCX,   // end address
                       R13);  // temp
 
   // RAX: new object start as a tagged pointer.
   // Store the type argument field.
-  __ StoreIntoObjectNoBarrier(RAX,
-                              FieldAddress(RAX, Array::type_arguments_offset()),
-                              kElemTypeReg);
+  __ StoreIntoObjectNoBarrier(
+      RAX, FieldAddress(RAX, Array::type_arguments_offset()), kElemTypeReg);
 
   // Set the length field.
-  __ StoreIntoObjectNoBarrier(RAX,
-                              FieldAddress(RAX, Array::length_offset()),
+  __ StoreIntoObjectNoBarrier(RAX, FieldAddress(RAX, Array::length_offset()),
                               kLengthReg);
 
   // Initialize all array elements to raw_null.
@@ -2129,8 +2125,7 @@
   ASSERT(locs()->in(1).reg() == kLengthReg);
 
   Label slow_path, done;
-  if (compiler->is_optimizing() &&
-      !FLAG_precompiled_mode &&
+  if (compiler->is_optimizing() && !FLAG_precompiled_mode &&
       num_elements()->BindsToConstant() &&
       num_elements()->BoundConstant().IsSmi()) {
     const intptr_t length = Smi::Cast(num_elements()->BoundConstant()).Value();
@@ -2141,11 +2136,8 @@
       __ PushObject(Object::null_object());  // Make room for the result.
       __ pushq(kLengthReg);
       __ pushq(kElemTypeReg);
-      compiler->GenerateRuntimeCall(token_pos(),
-                                    deopt_id(),
-                                    kAllocateArrayRuntimeEntry,
-                                    2,
-                                    locs());
+      compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                    kAllocateArrayRuntimeEntry, 2, locs());
       __ Drop(2);
       __ popq(kResultReg);
       __ Bind(&done);
@@ -2157,10 +2149,8 @@
   const Code& stub = Code::ZoneHandle(compiler->zone(),
                                       StubCode::AllocateArray_entry()->code());
   compiler->AddStubCallTarget(stub);
-  compiler->GenerateCall(token_pos(),
-                         *StubCode::AllocateArray_entry(),
-                         RawPcDescriptors::kOther,
-                         locs());
+  compiler->GenerateCall(token_pos(), *StubCode::AllocateArray_entry(),
+                         RawPcDescriptors::kOther, locs());
   __ Bind(&done);
   ASSERT(locs()->out(0).reg() == kResultReg);
 }
@@ -2170,13 +2160,11 @@
                                                      bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps =
-      (IsUnboxedLoad() && opt) ? 1 :
-          ((IsPotentialUnboxedLoad()) ? 2 : 0);
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps,
-          (opt && !IsPotentialUnboxedLoad())
-          ? LocationSummary::kNoCall
-          : LocationSummary::kCallOnSlowPath);
+      (IsUnboxedLoad() && opt) ? 1 : ((IsPotentialUnboxedLoad()) ? 2 : 0);
+  LocationSummary* locs = new (zone) LocationSummary(
+      zone, kNumInputs, kNumTemps, (opt && !IsPotentialUnboxedLoad())
+                                       ? LocationSummary::kNoCall
+                                       : LocationSummary::kCallOnSlowPath);
 
   locs->set_in(0, Location::RequiresRegister());
 
@@ -2257,8 +2245,8 @@
 
     {
       __ Bind(&load_double);
-      BoxAllocationSlowPath::Allocate(
-          compiler, this, compiler->double_class(), result, temp);
+      BoxAllocationSlowPath::Allocate(compiler, this, compiler->double_class(),
+                                      result, temp);
       __ movq(temp, FieldAddress(instance_reg, offset_in_bytes()));
       __ movsd(value, FieldAddress(temp, Double::value_offset()));
       __ movsd(FieldAddress(result, Double::value_offset()), value);
@@ -2296,8 +2284,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(RAX));
   locs->set_out(0, Location::RegisterLocation(RAX));
   return locs;
@@ -2313,23 +2301,21 @@
   __ PushObject(Object::null_object());  // Make room for the result.
   __ PushObject(type());
   __ pushq(instantiator_reg);  // Push instantiator type arguments.
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kInstantiateTypeRuntimeEntry,
-                                2,
-                                locs());
-  __ Drop(2);  // Drop instantiator and uninstantiated type.
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kInstantiateTypeRuntimeEntry, 2, locs());
+  __ Drop(2);           // Drop instantiator and uninstantiated type.
   __ popq(result_reg);  // Pop instantiated type.
   ASSERT(instantiator_reg == result_reg);
 }
 
 
 LocationSummary* InstantiateTypeArgumentsInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(RAX));
   locs->set_out(0, Location::RegisterLocation(RAX));
   return locs;
@@ -2384,12 +2370,10 @@
   __ PushObject(Object::null_object());  // Make room for the result.
   __ PushObject(type_arguments());
   __ pushq(instantiator_reg);  // Push instantiator type arguments.
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kInstantiateTypeArgumentsRuntimeEntry,
-                                2,
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kInstantiateTypeArgumentsRuntimeEntry, 2,
                                 locs());
-  __ Drop(2);  // Drop instantiator and uninstantiated type arguments.
+  __ Drop(2);           // Drop instantiator and uninstantiated type arguments.
   __ popq(result_reg);  // Pop instantiated type arguments.
   __ Bind(&type_arguments_instantiated);
   ASSERT(instantiator_reg == result_reg);
@@ -2402,7 +2386,7 @@
   ASSERT(opt);
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 2;
-  LocationSummary* locs = new(zone) LocationSummary(
+  LocationSummary* locs = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   locs->set_temp(0, Location::RegisterLocation(R10));
   locs->set_temp(1, Location::RegisterLocation(R13));
@@ -2415,7 +2399,7 @@
  public:
   explicit AllocateContextSlowPath(
       AllocateUninitializedContextInstr* instruction)
-      : instruction_(instruction) { }
+      : instruction_(instruction) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     __ Comment("AllocateContextSlowPath");
@@ -2432,8 +2416,7 @@
     compiler->AddStubCallTarget(stub);
     compiler->GenerateCall(instruction_->token_pos(),
                            *StubCode::AllocateContext_entry(),
-                           RawPcDescriptors::kOther,
-                           locs);
+                           RawPcDescriptors::kOther, locs);
     ASSERT(instruction_->locs()->out(0).reg() == RAX);
     compiler->RestoreLiveRegisters(instruction_->locs());
     __ jmp(exit_label());
@@ -2457,7 +2440,7 @@
   __ TryAllocateArray(kContextCid, instance_size, slow_path->entry_label(),
                       Assembler::kFarJump,
                       result,  // instance
-                      temp,  // end address
+                      temp,    // end address
                       locs()->temp(1).reg());
 
   // Setup up number of context variables field.
@@ -2472,8 +2455,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_temp(0, Location::RegisterLocation(R10));
   locs->set_out(0, Location::RegisterLocation(RAX));
   return locs;
@@ -2485,10 +2468,8 @@
   ASSERT(locs()->out(0).reg() == RAX);
 
   __ LoadImmediate(R10, Immediate(num_context_variables()));
-  compiler->GenerateCall(token_pos(),
-                         *StubCode::AllocateContext_entry(),
-                         RawPcDescriptors::kOther,
-                         locs());
+  compiler->GenerateCall(token_pos(), *StubCode::AllocateContext_entry(),
+                         RawPcDescriptors::kOther, locs());
 }
 
 
@@ -2496,8 +2477,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(RAX));
   locs->set_temp(0, Location::RegisterLocation(RCX));
   return locs;
@@ -2520,11 +2501,8 @@
   __ Bind(&call_runtime);
   __ PushObject(Object::null_object());  // Make room for (unused) result.
   __ pushq(field);
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kInitStaticFieldRuntimeEntry,
-                                1,
-                                locs());
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kInitStaticFieldRuntimeEntry, 1, locs());
   __ Drop(2);  // Remove argument and unused result.
   __ Bind(&no_call);
 }
@@ -2534,8 +2512,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(RAX));
   locs->set_out(0, Location::RegisterLocation(RAX));
   return locs;
@@ -2548,11 +2526,8 @@
 
   __ PushObject(Object::null_object());  // Make room for the result.
   __ pushq(context_value);
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kCloneContextRuntimeEntry,
-                                1,
-                                locs());
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
+                                kCloneContextRuntimeEntry, 1, locs());
   __ popq(result);  // Remove argument.
   __ popq(result);  // Get result (cloned context).
 }
@@ -2567,19 +2542,16 @@
 
 void CatchBlockEntryInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   __ Bind(compiler->GetJumpLabel(this));
-  compiler->AddExceptionHandler(catch_try_index(),
-                                try_index(),
+  compiler->AddExceptionHandler(catch_try_index(), try_index(),
                                 compiler->assembler()->CodeSize(),
-                                catch_handler_types_,
-                                needs_stacktrace());
+                                catch_handler_types_, needs_stacktrace());
   // On lazy deoptimization we patch the optimized code here to enter the
   // deoptimization stub.
   const intptr_t deopt_id = Thread::ToDeoptAfter(GetDeoptId());
   if (compiler->is_optimizing()) {
     compiler->AddDeoptIndexAtCall(deopt_id);
   } else {
-    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                   deopt_id,
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id,
                                    TokenPosition::kNoSource);
   }
   if (HasParallelMove()) {
@@ -2644,10 +2616,8 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs,
-                          kNumTemps,
-                          LocationSummary::kCallOnSlowPath);
+  LocationSummary* summary = new (zone) LocationSummary(
+      zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_temp(0, Location::RequiresRegister());
   return summary;
 }
@@ -2656,7 +2626,7 @@
 class CheckStackOverflowSlowPath : public SlowPathCode {
  public:
   explicit CheckStackOverflowSlowPath(CheckStackOverflowInstr* instruction)
-      : instruction_(instruction) { }
+      : instruction_(instruction) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (FLAG_use_osr && osr_entry_label()->IsLinked()) {
@@ -2673,11 +2643,9 @@
     ASSERT(compiler->pending_deoptimization_env_ == NULL);
     Environment* env = compiler->SlowPathEnvironmentFor(instruction_);
     compiler->pending_deoptimization_env_ = env;
-    compiler->GenerateRuntimeCall(instruction_->token_pos(),
-                                  instruction_->deopt_id(),
-                                  kStackOverflowRuntimeEntry,
-                                  0,
-                                  instruction_->locs());
+    compiler->GenerateRuntimeCall(
+        instruction_->token_pos(), instruction_->deopt_id(),
+        kStackOverflowRuntimeEntry, 0, instruction_->locs());
 
     if (FLAG_use_osr && !compiler->is_optimizing() && instruction_->in_loop()) {
       // In unoptimized code, record loop stack checks as possible OSR entries.
@@ -2734,9 +2702,10 @@
   Register left = locs.in(0).reg();
   Register result = locs.out(0).reg();
   ASSERT(left == result);
-  Label* deopt = shift_left->CanDeoptimize() ?
-      compiler->AddDeoptStub(shift_left->deopt_id(), ICData::kDeoptBinarySmiOp)
-      : NULL;
+  Label* deopt = shift_left->CanDeoptimize()
+                     ? compiler->AddDeoptStub(shift_left->deopt_id(),
+                                              ICData::kDeoptBinarySmiOp)
+                     : NULL;
   if (locs.in(1).IsConstant()) {
     const Object& constant = locs.in(1).constant();
     ASSERT(constant.IsSmi());
@@ -2782,8 +2751,8 @@
       const bool right_needs_check =
           !RangeUtils::IsWithin(right_range, 0, max_right - 1);
       if (right_needs_check) {
-        __ CompareImmediate(right,
-            Immediate(reinterpret_cast<int64_t>(Smi::New(max_right))));
+        __ CompareImmediate(
+            right, Immediate(reinterpret_cast<int64_t>(Smi::New(max_right))));
         __ j(ABOVE_EQUAL, deopt);
       }
       __ SmiUntag(right);
@@ -2805,8 +2774,8 @@
         __ j(NEGATIVE, deopt);
       }
       Label done, is_not_zero;
-      __ CompareImmediate(right,
-          Immediate(reinterpret_cast<int64_t>(Smi::New(Smi::kBits))));
+      __ CompareImmediate(
+          right, Immediate(reinterpret_cast<int64_t>(Smi::New(Smi::kBits))));
       __ j(BELOW, &is_not_zero, Assembler::kNearJump);
       __ xorq(left, left);
       __ jmp(&done, Assembler::kNearJump);
@@ -2821,8 +2790,8 @@
   } else {
     if (right_needs_check) {
       ASSERT(shift_left->CanDeoptimize());
-      __ CompareImmediate(right,
-          Immediate(reinterpret_cast<int64_t>(Smi::New(Smi::kBits))));
+      __ CompareImmediate(
+          right, Immediate(reinterpret_cast<int64_t>(Smi::New(Smi::kBits))));
       __ j(ABOVE_EQUAL, deopt);
     }
     // Left is not a constant.
@@ -2844,7 +2813,7 @@
 class CheckedSmiSlowPath : public SlowPathCode {
  public:
   CheckedSmiSlowPath(CheckedSmiOpInstr* instruction, intptr_t try_index)
-      : instruction_(instruction), try_index_(try_index) { }
+      : instruction_(instruction), try_index_(try_index) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
@@ -2859,12 +2828,9 @@
     __ pushq(locs->in(0).reg());
     __ pushq(locs->in(1).reg());
     compiler->EmitMegamorphicInstanceCall(
-        *instruction_->call()->ic_data(),
-        instruction_->call()->ArgumentCount(),
-        instruction_->call()->deopt_id(),
-        instruction_->call()->token_pos(),
-        locs,
-        try_index_,
+        *instruction_->call()->ic_data(), instruction_->call()->ArgumentCount(),
+        instruction_->call()->deopt_id(), instruction_->call()->token_pos(),
+        locs, try_index_,
         /* slow_path_argument_count = */ 2);
     __ MoveRegister(result, RAX);
     compiler->RestoreLiveRegisters(locs);
@@ -2879,9 +2845,10 @@
 
 LocationSummary* CheckedSmiOpInstr::MakeLocationSummary(Zone* zone,
                                                         bool opt) const {
+  bool is_shift = (op_kind() == Token::kSHL) || (op_kind() == Token::kSHR);
   const intptr_t kNumInputs = 2;
-  const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
+  const intptr_t kNumTemps = is_shift ? 1 : 0;
+  LocationSummary* summary = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
@@ -2889,6 +2856,8 @@
     case Token::kADD:
     case Token::kSUB:
     case Token::kMUL:
+    case Token::kSHL:
+    case Token::kSHR:
       summary->set_out(0, Location::RequiresRegister());
       break;
     case Token::kBIT_OR:
@@ -2899,6 +2868,9 @@
     default:
       UNIMPLEMENTED();
   }
+  if (is_shift) {
+    summary->set_temp(0, Location::RegisterLocation(RCX));
+  }
   return summary;
 }
 
@@ -2955,6 +2927,36 @@
       ASSERT(left == result);
       __ xorq(result, right);
       break;
+    case Token::kSHL:
+      ASSERT(result != right);
+      ASSERT(locs()->temp(0).reg() == RCX);
+      __ cmpq(right, Immediate(Smi::RawValue(Smi::kBits)));
+      __ j(ABOVE_EQUAL, slow_path->entry_label());
+
+      __ movq(RCX, right);
+      __ SmiUntag(RCX);
+      __ movq(result, left);
+      __ shlq(result, RCX);
+      __ movq(TMP, result);
+      __ sarq(TMP, RCX);
+      __ cmpq(TMP, left);
+      __ j(NOT_EQUAL, slow_path->entry_label());
+      break;
+    case Token::kSHR: {
+      Label shift_count_ok;
+      ASSERT(result != right);
+      ASSERT(locs()->temp(0).reg() == RCX);
+      __ cmpq(right, Immediate(Smi::RawValue(Smi::kBits)));
+      __ j(ABOVE_EQUAL, slow_path->entry_label());
+
+      __ movq(RCX, right);
+      __ SmiUntag(RCX);
+      __ movq(result, left);
+      __ SmiUntag(result);
+      __ sarq(result, RCX);
+      __ SmiTag(result);
+      break;
+    }
     default:
       UNIMPLEMENTED();
   }
@@ -2971,7 +2973,7 @@
       : instruction_(instruction),
         try_index_(try_index),
         labels_(labels),
-        merged_(merged) { }
+        merged_(merged) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
@@ -2986,21 +2988,18 @@
     __ pushq(locs->in(0).reg());
     __ pushq(locs->in(1).reg());
     compiler->EmitMegamorphicInstanceCall(
-        *instruction_->call()->ic_data(),
-        instruction_->call()->ArgumentCount(),
-        instruction_->call()->deopt_id(),
-        instruction_->call()->token_pos(),
-        locs,
-        try_index_,
+        *instruction_->call()->ic_data(), instruction_->call()->ArgumentCount(),
+        instruction_->call()->deopt_id(), instruction_->call()->token_pos(),
+        locs, try_index_,
         /* slow_path_argument_count = */ 2);
     __ MoveRegister(result, RAX);
     compiler->RestoreLiveRegisters(locs);
     if (merged_) {
       __ CompareObject(result, Bool::True());
-      __ j(EQUAL, instruction_->is_negated()
-                  ? labels_.false_label : labels_.true_label);
-      __ jmp(instruction_->is_negated()
-             ? labels_.true_label : labels_.false_label);
+      __ j(EQUAL, instruction_->is_negated() ? labels_.false_label
+                                             : labels_.true_label);
+      __ jmp(instruction_->is_negated() ? labels_.true_label
+                                        : labels_.false_label);
     } else {
       __ jmp(exit_label());
     }
@@ -3015,10 +3014,11 @@
 
 
 LocationSummary* CheckedSmiComparisonInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
+  LocationSummary* summary = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
@@ -3029,12 +3029,13 @@
 
 
 Condition CheckedSmiComparisonInstr::EmitComparisonCode(
-    FlowGraphCompiler* compiler, BranchLabels labels) {
+    FlowGraphCompiler* compiler,
+    BranchLabels labels) {
   return EmitInt64ComparisonOp(compiler, *locs(), kind());
 }
 
 
-#define EMIT_SMI_CHECK \
+#define EMIT_SMI_CHECK                                                         \
   intptr_t left_cid = left()->Type()->ToCid();                                 \
   intptr_t right_cid = right()->Type()->ToCid();                               \
   Register left = locs()->in(0).reg();                                         \
@@ -3056,11 +3057,9 @@
 void CheckedSmiComparisonInstr::EmitBranchCode(FlowGraphCompiler* compiler,
                                                BranchInstr* branch) {
   BranchLabels labels = compiler->CreateBranchLabels(branch);
-  CheckedSmiComparisonSlowPath* slow_path =
-      new CheckedSmiComparisonSlowPath(this,
-                                       compiler->CurrentTryIndex(),
-                                       labels,
-                                       /* merged = */ true);
+  CheckedSmiComparisonSlowPath* slow_path = new CheckedSmiComparisonSlowPath(
+      this, compiler->CurrentTryIndex(), labels,
+      /* merged = */ true);
   compiler->AddSlowPathCode(slow_path);
   EMIT_SMI_CHECK;
   Condition true_condition = EmitComparisonCode(compiler, labels);
@@ -3071,12 +3070,10 @@
 
 void CheckedSmiComparisonInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Label true_label, false_label, done;
-  BranchLabels labels = { &true_label, &false_label, &false_label };
-  CheckedSmiComparisonSlowPath* slow_path =
-      new CheckedSmiComparisonSlowPath(this,
-                                       compiler->CurrentTryIndex(),
-                                       labels,
-                                       /* merged = */ false);
+  BranchLabels labels = {&true_label, &false_label, &false_label};
+  CheckedSmiComparisonSlowPath* slow_path = new CheckedSmiComparisonSlowPath(
+      this, compiler->CurrentTryIndex(), labels,
+      /* merged = */ false);
   compiler->AddSlowPathCode(slow_path);
   EMIT_SMI_CHECK;
   Condition true_condition = EmitComparisonCode(compiler, labels);
@@ -3094,7 +3091,7 @@
 
 static bool CanBeImmediate(const Object& constant) {
   return constant.IsSmi() &&
-    Immediate(reinterpret_cast<int64_t>(constant.raw())).is_int32();
+         Immediate(reinterpret_cast<int64_t>(constant.raw())).is_int32();
 }
 
 static bool IsSmiValue(const Object& constant, intptr_t value) {
@@ -3107,15 +3104,12 @@
   const intptr_t kNumInputs = 2;
 
   ConstantInstr* right_constant = right()->definition()->AsConstant();
-  if ((right_constant != NULL) &&
-      (op_kind() != Token::kTRUNCDIV) &&
-      (op_kind() != Token::kSHL) &&
-      (op_kind() != Token::kMUL) &&
-      (op_kind() != Token::kMOD) &&
-      CanBeImmediate(right_constant->value())) {
+  if ((right_constant != NULL) && (op_kind() != Token::kTRUNCDIV) &&
+      (op_kind() != Token::kSHL) && (op_kind() != Token::kMUL) &&
+      (op_kind() != Token::kMOD) && CanBeImmediate(right_constant->value())) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     summary->set_in(1, Location::Constant(right_constant));
     summary->set_out(0, Location::SameAsFirstInput());
@@ -3124,8 +3118,8 @@
 
   if (op_kind() == Token::kTRUNCDIV) {
     const intptr_t kNumTemps = 1;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     if (RightIsPowerOfTwoConstant()) {
       summary->set_in(0, Location::RequiresRegister());
       ConstantInstr* right_constant = right()->definition()->AsConstant();
@@ -3143,8 +3137,8 @@
     return summary;
   } else if (op_kind() == Token::kMOD) {
     const intptr_t kNumTemps = 1;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     // Both inputs must be writable because they will be untagged.
     summary->set_in(0, Location::RegisterLocation(RDX));
     summary->set_in(1, Location::WritableRegister());
@@ -3154,8 +3148,8 @@
     return summary;
   } else if (op_kind() == Token::kSHR) {
     const intptr_t kNumTemps = 0;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     summary->set_in(1, Location::FixedRegisterOrSmiConstant(right(), RCX));
     summary->set_out(0, Location::SameAsFirstInput());
@@ -3165,8 +3159,8 @@
     const bool shiftBy1 =
         (right_constant != NULL) && IsSmiValue(right_constant->value(), 1);
     const intptr_t kNumTemps = (can_overflow() && !shiftBy1) ? 1 : 0;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     summary->set_in(1, Location::FixedRegisterOrSmiConstant(right(), RCX));
     if (kNumTemps == 1) {
@@ -3176,8 +3170,8 @@
     return summary;
   } else {
     const intptr_t kNumTemps = 0;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresRegister());
     ConstantInstr* constant = right()->definition()->AsConstant();
     if (constant != NULL) {
@@ -3266,8 +3260,8 @@
         // sarq operation masks the count to 6 bits.
         const intptr_t kCountLimit = 0x3F;
         const intptr_t value = Smi::Cast(constant).Value();
-        __ sarq(left, Immediate(
-            Utils::Minimum(value + kSmiTagSize, kCountLimit)));
+        __ sarq(left,
+                Immediate(Utils::Minimum(value + kSmiTagSize, kCountLimit)));
         __ SmiTag(left);
         break;
       }
@@ -3393,7 +3387,7 @@
       __ Bind(&not_32bit);
       __ SmiUntag(left);
       __ SmiUntag(right);
-      __ cqo();  // Sign extend RAX -> RDX:RAX.
+      __ cqo();         // Sign extend RAX -> RDX:RAX.
       __ idivq(right);  //  RAX: quotient, RDX: remainder.
       // Check the corner case of dividing the 'MIN_SMI' with -1, in which
       // case we cannot tag the result.
@@ -3441,7 +3435,7 @@
       __ SmiUntag(left);
       __ SmiUntag(right);
       __ movq(RAX, RDX);
-      __ cqo();  // Sign extend RAX -> RDX:RAX.
+      __ cqo();         // Sign extend RAX -> RDX:RAX.
       __ idivq(right);  //  RAX: quotient, RDX: remainder.
       __ Bind(&div_done);
       //  res = left % right;
@@ -3523,12 +3517,11 @@
   intptr_t right_cid = right()->Type()->ToCid();
   ASSERT((left_cid != kDoubleCid) && (right_cid != kDoubleCid));
   const intptr_t kNumInputs = 2;
-  const bool need_temp = (left()->definition() != right()->definition())
-                      && (left_cid != kSmiCid)
-                      && (right_cid != kSmiCid);
+  const bool need_temp = (left()->definition() != right()->definition()) &&
+                         (left_cid != kSmiCid) && (right_cid != kSmiCid);
   const intptr_t kNumTemps = need_temp ? 1 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-    zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   if (need_temp) summary->set_temp(0, Location::RequiresRegister());
@@ -3537,9 +3530,9 @@
 
 
 void CheckEitherNonSmiInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  Label* deopt = compiler->AddDeoptStub(deopt_id(),
-                                        ICData::kDeoptBinaryDoubleOp,
-                                        licm_hoisted_ ? ICData::kHoisted : 0);
+  Label* deopt =
+      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptBinaryDoubleOp,
+                             licm_hoisted_ ? ICData::kHoisted : 0);
   intptr_t left_cid = left()->Type()->ToCid();
   intptr_t right_cid = right()->Type()->ToCid();
   Register left = locs()->in(0).reg();
@@ -3560,11 +3553,10 @@
 }
 
 
-LocationSummary* BoxInstr::MakeLocationSummary(Zone* zone,
-                                                     bool opt) const {
+LocationSummary* BoxInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
+  LocationSummary* summary = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_temp(0, Location::RequiresRegister());
@@ -3578,9 +3570,9 @@
   Register temp = locs()->temp(0).reg();
   XmmRegister value = locs()->in(0).fpu_reg();
 
-  BoxAllocationSlowPath::Allocate(
-      compiler, this, compiler->BoxClassFor(from_representation()), out_reg,
-      temp);
+  BoxAllocationSlowPath::Allocate(compiler, this,
+                                  compiler->BoxClassFor(from_representation()),
+                                  out_reg, temp);
   __ movsd(FieldAddress(out_reg, Double::value_offset()), value);
   switch (from_representation()) {
     case kUnboxedDouble:
@@ -3598,15 +3590,14 @@
 }
 
 
-LocationSummary* UnboxInstr::MakeLocationSummary(Zone* zone,
-                                                 bool opt) const {
+LocationSummary* UnboxInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
   const bool needs_writable_input =
       (representation() != kUnboxedMint) &&
       (value()->Type()->ToNullableCid() != BoxCid());
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, needs_writable_input ? Location::WritableRegister()
                                           : Location::RequiresRegister());
   if (representation() == kUnboxedMint) {
@@ -3684,8 +3675,8 @@
     EmitSmiConversion(compiler);
   } else {
     const Register box = locs()->in(0).reg();
-    Label* deopt = compiler->AddDeoptStub(GetDeoptId(),
-                                          ICData::kDeoptCheckClass);
+    Label* deopt =
+        compiler->AddDeoptStub(GetDeoptId(), ICData::kDeoptCheckClass);
     Label is_smi;
 
     if ((value()->Type()->ToNullableCid() == box_cid) &&
@@ -3716,8 +3707,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = (!is_truncating() && CanDeoptimize()) ? 1 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   if (kNumTemps > 0) {
@@ -3730,8 +3721,10 @@
 void UnboxInteger32Instr::EmitNativeCode(FlowGraphCompiler* compiler) {
   const intptr_t value_cid = value()->Type()->ToCid();
   const Register value = locs()->in(0).reg();
-  Label* deopt = CanDeoptimize() ?
-      compiler->AddDeoptStub(GetDeoptId(), ICData::kDeoptUnboxInteger) : NULL;
+  Label* deopt =
+      CanDeoptimize()
+          ? compiler->AddDeoptStub(GetDeoptId(), ICData::kDeoptUnboxInteger)
+          : NULL;
   ASSERT(value == locs()->out(0).reg());
 
   if (value_cid == kSmiCid) {
@@ -3772,16 +3765,13 @@
 
 
 LocationSummary* BoxInteger32Instr::MakeLocationSummary(Zone* zone,
-                                                   bool opt) const {
+                                                        bool opt) const {
   ASSERT((from_representation() == kUnboxedInt32) ||
          (from_representation() == kUnboxedUint32));
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone,
-      kNumInputs,
-      kNumTemps,
-      LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_out(0, Location::RequiresRegister());
   return summary;
@@ -3808,12 +3798,10 @@
                                                     bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = ValueFitsSmi() ? 0 : 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone,
-      kNumInputs,
-      kNumTemps,
-      ValueFitsSmi() ? LocationSummary::kNoCall
-                     : LocationSummary::kCallOnSlowPath);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps,
+                      ValueFitsSmi() ? LocationSummary::kNoCall
+                                     : LocationSummary::kCallOnSlowPath);
   summary->set_in(0, Location::RequiresRegister());
   if (!ValueFitsSmi()) {
     summary->set_temp(0, Location::RequiresRegister());
@@ -3832,8 +3820,8 @@
     const Register temp = locs()->temp(0).reg();
     Label done;
     __ j(NO_OVERFLOW, &done);
-    BoxAllocationSlowPath::Allocate(
-        compiler, this, compiler->mint_class(), out, temp);
+    BoxAllocationSlowPath::Allocate(compiler, this, compiler->mint_class(), out,
+                                    temp);
     __ movq(FieldAddress(out, Mint::value_offset()), value);
     __ Bind(&done);
   }
@@ -3844,8 +3832,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -3860,11 +3848,20 @@
   ASSERT(locs()->out(0).fpu_reg() == left);
 
   switch (op_kind()) {
-    case Token::kADD: __ addsd(left, right); break;
-    case Token::kSUB: __ subsd(left, right); break;
-    case Token::kMUL: __ mulsd(left, right); break;
-    case Token::kDIV: __ divsd(left, right); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ addsd(left, right);
+      break;
+    case Token::kSUB:
+      __ subsd(left, right);
+      break;
+    case Token::kMUL:
+      __ mulsd(left, right);
+      break;
+    case Token::kDIV:
+      __ divsd(left, right);
+      break;
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -3874,8 +3871,8 @@
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps =
       (op_kind() == MethodRecognizer::kDouble_getIsInfinite) ? 1 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   if (op_kind() == MethodRecognizer::kDouble_getIsInfinite) {
     summary->set_temp(0, Location::RequiresRegister());
@@ -3921,9 +3918,9 @@
 
 void DoubleTestOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
   Condition true_condition = EmitComparisonCode(compiler, labels);
-  EmitBranchOnCondition(compiler,  true_condition, labels);
+  EmitBranchOnCondition(compiler, true_condition, labels);
 
   Register result = locs()->out(0).reg();
   Label done;
@@ -3940,8 +3937,8 @@
                                                              bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -3956,11 +3953,20 @@
   ASSERT(locs()->out(0).fpu_reg() == left);
 
   switch (op_kind()) {
-    case Token::kADD: __ addps(left, right); break;
-    case Token::kSUB: __ subps(left, right); break;
-    case Token::kMUL: __ mulps(left, right); break;
-    case Token::kDIV: __ divps(left, right); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ addps(left, right);
+      break;
+    case Token::kSUB:
+      __ subps(left, right);
+      break;
+    case Token::kMUL:
+      __ mulps(left, right);
+      break;
+    case Token::kDIV:
+      __ divps(left, right);
+      break;
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -3969,8 +3975,8 @@
                                                              bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -3985,11 +3991,20 @@
   ASSERT(locs()->out(0).fpu_reg() == left);
 
   switch (op_kind()) {
-    case Token::kADD: __ addpd(left, right); break;
-    case Token::kSUB: __ subpd(left, right); break;
-    case Token::kMUL: __ mulpd(left, right); break;
-    case Token::kDIV: __ divpd(left, right); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ addpd(left, right);
+      break;
+    case Token::kSUB:
+      __ subpd(left, right);
+      break;
+    case Token::kMUL:
+      __ mulpd(left, right);
+      break;
+    case Token::kDIV:
+      __ divpd(left, right);
+      break;
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -3998,8 +4013,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4032,7 +4047,8 @@
     case MethodRecognizer::kInt32x4Shuffle:
       __ shufps(value, value, Immediate(mask_));
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4041,8 +4057,8 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4060,7 +4076,8 @@
     case MethodRecognizer::kInt32x4ShuffleMix:
       __ shufps(left, right, Immediate(mask_));
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4069,8 +4086,8 @@
                                                                bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresRegister());
   return summary;
@@ -4087,11 +4104,12 @@
 
 
 LocationSummary* Float32x4ConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 4;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_in(2, Location::RequiresFpuRegister());
@@ -4128,8 +4146,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
 }
@@ -4145,8 +4163,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4167,8 +4185,8 @@
                                                                bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4202,7 +4220,8 @@
       __ cmppsle(left, right);
       break;
 
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4211,8 +4230,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4233,7 +4252,8 @@
     case MethodRecognizer::kFloat32x4Max:
       __ maxps(left, right);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4242,8 +4262,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4263,7 +4283,8 @@
       __ shufps(left, left, Immediate(0x00));
       __ mulps(left, right);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4272,8 +4293,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4295,7 +4316,8 @@
     case MethodRecognizer::kFloat32x4ReciprocalSqrt:
       __ rsqrtps(left);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4304,8 +4326,8 @@
                                                             bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4323,7 +4345,8 @@
     case MethodRecognizer::kFloat32x4Absolute:
       __ absps(left);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4332,8 +4355,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 3;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_in(2, Location::RequiresFpuRegister());
@@ -4356,8 +4379,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4416,7 +4439,8 @@
       __ movups(replacement, Address(RSP, 0));
       __ AddImmediate(RSP, Immediate(16));
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4425,8 +4449,8 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4442,8 +4466,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4461,7 +4485,8 @@
     case MethodRecognizer::kFloat64x2GetY:
       __ shufpd(value, value, Immediate(0x33));
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4470,8 +4495,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 0;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_out(0, Location::RequiresFpuRegister());
   return summary;
 }
@@ -4487,8 +4512,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4502,11 +4527,12 @@
 
 
 LocationSummary* Float64x2ConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4526,11 +4552,12 @@
 
 
 LocationSummary* Float64x2ToFloat32x4Instr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4544,11 +4571,12 @@
 
 
 LocationSummary* Float32x4ToFloat64x2Instr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4565,8 +4593,8 @@
                                                             bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   if (representation() == kTagged) {
     ASSERT(op_kind() == MethodRecognizer::kFloat64x2GetSignMask);
@@ -4599,7 +4627,8 @@
       __ movmskpd(locs()->out(0).reg(), left);
       __ SmiTag(locs()->out(0).reg());
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4608,8 +4637,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4653,17 +4682,18 @@
     case MethodRecognizer::kFloat64x2Max:
       __ maxpd(left, right);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
 
-LocationSummary* Int32x4ConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+LocationSummary* Int32x4ConstructorInstr::MakeLocationSummary(Zone* zone,
+                                                              bool opt) const {
   const intptr_t kNumInputs = 4;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_in(2, Location::RequiresRegister());
@@ -4690,11 +4720,12 @@
 
 
 LocationSummary* Int32x4BoolConstructorInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumInputs = 4;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_in(2, Location::RequiresRegister());
@@ -4763,8 +4794,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::RequiresRegister());
   return summary;
@@ -4792,7 +4823,8 @@
     case MethodRecognizer::kInt32x4GetFlagW:
       __ movl(result, Address(RSP, 12));
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
   __ AddImmediate(RSP, Immediate(16));
   __ testl(result, result);
@@ -4809,8 +4841,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 3;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_in(2, Location::RequiresFpuRegister());
@@ -4844,8 +4876,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_temp(0, Location::RequiresRegister());
@@ -4873,7 +4905,7 @@
       __ Bind(&falsePath);
       __ LoadImmediate(temp, Immediate(0x0));
       __ movl(Address(RSP, 0), temp);
-    break;
+      break;
     case MethodRecognizer::kInt32x4WithFlagY:
       __ LoadImmediate(temp, Immediate(0xFFFFFFFF));
       __ movl(Address(RSP, 4), temp);
@@ -4881,7 +4913,7 @@
       __ Bind(&falsePath);
       __ LoadImmediate(temp, Immediate(0x0));
       __ movl(Address(RSP, 4), temp);
-    break;
+      break;
     case MethodRecognizer::kInt32x4WithFlagZ:
       __ LoadImmediate(temp, Immediate(0xFFFFFFFF));
       __ movl(Address(RSP, 8), temp);
@@ -4889,7 +4921,7 @@
       __ Bind(&falsePath);
       __ LoadImmediate(temp, Immediate(0x0));
       __ movl(Address(RSP, 8), temp);
-    break;
+      break;
     case MethodRecognizer::kInt32x4WithFlagW:
       __ LoadImmediate(temp, Immediate(0xFFFFFFFF));
       __ movl(Address(RSP, 12), temp);
@@ -4897,8 +4929,9 @@
       __ Bind(&falsePath);
       __ LoadImmediate(temp, Immediate(0x0));
       __ movl(Address(RSP, 12), temp);
-    break;
-    default: UNREACHABLE();
+      break;
+    default:
+      UNREACHABLE();
   }
   __ Bind(&exitPath);
   // Copy mask back to register.
@@ -4911,8 +4944,8 @@
                                                               bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -4928,8 +4961,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_in(1, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -4960,7 +4993,8 @@
     case Token::kSUB:
       __ subpl(left, right);
       break;
-    default: UNREACHABLE();
+    default:
+      UNREACHABLE();
   }
 }
 
@@ -4971,8 +5005,8 @@
          (kind() == MathUnaryInstr::kDoubleSquare));
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   if (kind() == MathUnaryInstr::kDoubleSquare) {
     summary->set_out(0, Location::SameAsFirstInput());
@@ -4997,10 +5031,11 @@
 
 
 LocationSummary* CaseInsensitiveCompareUC16Instr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, InputCount(), kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, InputCount(), kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(CallingConventions::kArg1Reg));
   summary->set_in(1, Location::RegisterLocation(CallingConventions::kArg2Reg));
   summary->set_in(2, Location::RegisterLocation(CallingConventions::kArg3Reg));
@@ -5012,7 +5047,6 @@
 
 void CaseInsensitiveCompareUC16Instr::EmitNativeCode(
     FlowGraphCompiler* compiler) {
-
   // Save RSP. R13 is chosen because it is callee saved so we do not need to
   // back it up before calling into the runtime.
   static const Register kSavedSPReg = R13;
@@ -5030,9 +5064,7 @@
 LocationSummary* UnarySmiOpInstr::MakeLocationSummary(Zone* zone,
                                                       bool opt) const {
   const intptr_t kNumInputs = 1;
-  return LocationSummary::Make(zone,
-                               kNumInputs,
-                               Location::SameAsFirstInput(),
+  return LocationSummary::Make(zone, kNumInputs, Location::SameAsFirstInput(),
                                LocationSummary::kNoCall);
 }
 
@@ -5062,8 +5094,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresFpuRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -5082,8 +5114,8 @@
   if (result_cid() == kDoubleCid) {
     const intptr_t kNumInputs = 2;
     const intptr_t kNumTemps = 1;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     summary->set_in(0, Location::RequiresFpuRegister());
     summary->set_in(1, Location::RequiresFpuRegister());
     // Reuse the left register so that code can be made shorter.
@@ -5094,8 +5126,8 @@
   ASSERT(result_cid() == kSmiCid);
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   // Reuse the left register so that code can be made shorter.
@@ -5168,11 +5200,11 @@
 
 
 LocationSummary* Int32ToDoubleInstr::MakeLocationSummary(Zone* zone,
-                                                       bool opt) const {
+                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresRegister());
   result->set_out(0, Location::RequiresFpuRegister());
   return result;
@@ -5190,8 +5222,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::WritableRegister());
   result->set_out(0, Location::RequiresFpuRegister());
   return result;
@@ -5222,8 +5254,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   result->set_in(0, Location::RegisterLocation(RCX));
   result->set_out(0, Location::RegisterLocation(RAX));
   result->set_temp(0, Location::RegisterLocation(RBX));
@@ -5257,13 +5289,10 @@
 
   const intptr_t kNumberOfArguments = 1;
   __ pushq(value_obj);
-  compiler->GenerateStaticCall(deopt_id(),
-                               instance_call()->token_pos(),
-                               target,
+  compiler->GenerateStaticCall(deopt_id(), instance_call()->token_pos(), target,
                                kNumberOfArguments,
                                Object::null_array(),  // No argument names.
-                               locs(),
-                               ICData::Handle());
+                               locs(), ICData::Handle());
   __ Bind(&done);
 }
 
@@ -5272,8 +5301,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresFpuRegister());
   result->set_out(0, Location::RequiresRegister());
   result->set_temp(0, Location::RequiresRegister());
@@ -5302,8 +5331,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresFpuRegister());
   result->set_out(0, Location::RequiresFpuRegister());
   return result;
@@ -5315,13 +5344,13 @@
   XmmRegister result = locs()->out(0).fpu_reg();
   switch (recognized_kind()) {
     case MethodRecognizer::kDoubleTruncate:
-      __ roundsd(result, value,  Assembler::kRoundToZero);
+      __ roundsd(result, value, Assembler::kRoundToZero);
       break;
     case MethodRecognizer::kDoubleFloor:
-      __ roundsd(result, value,  Assembler::kRoundDown);
+      __ roundsd(result, value, Assembler::kRoundDown);
       break;
     case MethodRecognizer::kDoubleCeil:
-      __ roundsd(result, value,  Assembler::kRoundUp);
+      __ roundsd(result, value, Assembler::kRoundUp);
       break;
     default:
       UNREACHABLE();
@@ -5333,8 +5362,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresFpuRegister());
   result->set_out(0, Location::SameAsFirstInput());
   return result;
@@ -5350,8 +5379,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   result->set_in(0, Location::RequiresFpuRegister());
   result->set_out(0, Location::SameAsFirstInput());
   return result;
@@ -5373,8 +5402,8 @@
   ASSERT((InputCount() == 1) || (InputCount() == 2));
   const intptr_t kNumTemps =
       (recognized_kind() == MethodRecognizer::kMathDoublePow) ? 3 : 1;
-  LocationSummary* result = new(zone) LocationSummary(
-      zone, InputCount(), kNumTemps, LocationSummary::kCall);
+  LocationSummary* result = new (zone)
+      LocationSummary(zone, InputCount(), kNumTemps, LocationSummary::kCall);
   ASSERT(R13 != CALLEE_SAVED_TEMP);
   ASSERT(((1 << R13) & CallingConventions::kCalleeSaveCpuRegisters) != 0);
   result->set_temp(0, Location::RegisterLocation(R13));
@@ -5418,8 +5447,7 @@
   XmmRegister base = locs->in(0).fpu_reg();
   XmmRegister exp = locs->in(1).fpu_reg();
   XmmRegister result = locs->out(0).fpu_reg();
-  Register temp =
-      locs->temp(InvokeMathCFunctionInstr::kObjectTempIndex).reg();
+  Register temp = locs->temp(InvokeMathCFunctionInstr::kObjectTempIndex).reg();
   XmmRegister zero_temp =
       locs->temp(InvokeMathCFunctionInstr::kDoubleTempIndex).fpu_reg();
 
@@ -5488,8 +5516,7 @@
   Label do_pow, return_zero;
   __ Bind(&try_sqrt);
   // Before calling pow, check if we could use sqrt instead of pow.
-  __ LoadObject(temp,
-      Double::ZoneHandle(Double::NewCanonical(kNegInfinity)));
+  __ LoadObject(temp, Double::ZoneHandle(Double::NewCanonical(kNegInfinity)));
   __ movsd(result, FieldAddress(temp, Double::value_offset()));
   // base == -Infinity -> call pow;
   __ comisd(base, result);
@@ -5553,27 +5580,27 @@
   // Only use this instruction in optimized code.
   ASSERT(opt);
   const intptr_t kNumInputs = 1;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, 0, LocationSummary::kNoCall);
+  LocationSummary* summary =
+      new (zone) LocationSummary(zone, kNumInputs, 0, LocationSummary::kNoCall);
   if (representation() == kUnboxedDouble) {
     if (index() == 0) {
-      summary->set_in(0, Location::Pair(Location::RequiresFpuRegister(),
-                                        Location::Any()));
+      summary->set_in(
+          0, Location::Pair(Location::RequiresFpuRegister(), Location::Any()));
     } else {
       ASSERT(index() == 1);
-      summary->set_in(0, Location::Pair(Location::Any(),
-                                        Location::RequiresFpuRegister()));
+      summary->set_in(
+          0, Location::Pair(Location::Any(), Location::RequiresFpuRegister()));
     }
     summary->set_out(0, Location::RequiresFpuRegister());
   } else {
     ASSERT(representation() == kTagged);
     if (index() == 0) {
-      summary->set_in(0, Location::Pair(Location::RequiresRegister(),
-                                        Location::Any()));
+      summary->set_in(
+          0, Location::Pair(Location::RequiresRegister(), Location::Any()));
     } else {
       ASSERT(index() == 1);
-      summary->set_in(0, Location::Pair(Location::Any(),
-                                        Location::RequiresRegister()));
+      summary->set_in(
+          0, Location::Pair(Location::Any(), Location::RequiresRegister()));
     }
     summary->set_out(0, Location::RequiresRegister());
   }
@@ -5603,8 +5630,8 @@
   if (kind() == MergedMathInstr::kTruncDivMod) {
     const intptr_t kNumInputs = 2;
     const intptr_t kNumTemps = 0;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
     // Both inputs must be writable because they will be untagged.
     summary->set_in(0, Location::RegisterLocation(RAX));
     summary->set_in(1, Location::WritableRegister());
@@ -5615,8 +5642,8 @@
   if (kind() == MergedMathInstr::kSinCos) {
     const intptr_t kNumInputs = 1;
     const intptr_t kNumTemps = 1;
-    LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+    LocationSummary* summary = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
     // Because we always call into the runtime (LocationSummary::kCall) we
     // must specify each input, temp, and output register explicitly.
     summary->set_in(0, Location::FpuRegisterLocation(XMM1));
@@ -5632,18 +5659,20 @@
 }
 
 
-
-typedef void (*SinCosCFunction) (double x, double* res_sin, double* res_cos);
+typedef void (*SinCosCFunction)(double x, double* res_sin, double* res_cos);
 
 extern const RuntimeEntry kSinCosRuntimeEntry(
-    "libc_sincos", reinterpret_cast<RuntimeFunction>(
-        static_cast<SinCosCFunction>(&SinCos)), 1, true, true);
+    "libc_sincos",
+    reinterpret_cast<RuntimeFunction>(static_cast<SinCosCFunction>(&SinCos)),
+    1,
+    true,
+    true);
 
 
 void MergedMathInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Label* deopt = NULL;
   if (CanDeoptimize()) {
-    deopt  = compiler->AddDeoptStub(deopt_id(), ICData::kDeoptBinarySmiOp);
+    deopt = compiler->AddDeoptStub(deopt_id(), ICData::kDeoptBinarySmiOp);
   }
   if (kind() == MergedMathInstr::kTruncDivMod) {
     Register left = locs()->in(0).reg();
@@ -5689,7 +5718,7 @@
     __ Bind(&not_32bit);
     __ SmiUntag(left);
     __ SmiUntag(right);
-    __ cqo();  // Sign extend RAX -> RDX:RAX.
+    __ cqo();         // Sign extend RAX -> RDX:RAX.
     __ idivq(right);  //  RAX: quotient, RDX: remainder.
     // Check the corner case of dividing the 'MIN_SMI' with -1, in which
     // case we cannot tag the result.
@@ -5762,7 +5791,7 @@
 
     __ CallRuntime(kSinCosRuntimeEntry, InputCount());
     __ movsd(out2, Address(RSP, 2 * kWordSize + kDoubleSize * 2));  // sin.
-    __ movsd(out1, Address(RSP, 2 * kWordSize + kDoubleSize));  // cos.
+    __ movsd(out1, Address(RSP, 2 * kWordSize + kDoubleSize));      // cos.
     // Restore RSP.
     __ movq(RSP, locs()->temp(0).reg());
 
@@ -5773,13 +5802,13 @@
 
 
 LocationSummary* PolymorphicInstanceCallInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+    Zone* zone,
+    bool opt) const {
   return MakeCallSummary(zone);
 }
 
 
-LocationSummary* BranchInstr::MakeLocationSummary(Zone* zone,
-                                                  bool opt) const {
+LocationSummary* BranchInstr::MakeLocationSummary(Zone* zone, bool opt) const {
   comparison()->InitializeLocationSummary(zone, opt);
   // Branches don't produce a result.
   comparison()->locs()->set_out(0, Location::NoLocation());
@@ -5797,8 +5826,8 @@
   const intptr_t kNumInputs = 1;
   const bool need_mask_temp = IsDenseSwitch() && !IsDenseMask(ComputeCidMask());
   const intptr_t kNumTemps = !IsNullCheck() ? (need_mask_temp ? 2 : 1) : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   if (!IsNullCheck()) {
     summary->set_temp(0, Location::RequiresRegister());
@@ -5811,12 +5840,10 @@
 
 
 void CheckClassInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  Label* deopt = compiler->AddDeoptStub(deopt_id(),
-                                        ICData::kDeoptCheckClass,
+  Label* deopt = compiler->AddDeoptStub(deopt_id(), ICData::kDeoptCheckClass,
                                         licm_hoisted_ ? ICData::kHoisted : 0);
   if (IsNullCheck()) {
-    __ CompareObject(locs()->in(0).reg(),
-                     Object::null_object());
+    __ CompareObject(locs()->in(0).reg(), Object::null_object());
     Condition cond = DeoptIfNull() ? EQUAL : NOT_EQUAL;
     __ j(cond, deopt);
     return;
@@ -5853,8 +5880,7 @@
     }
   } else {
     GrowableArray<CidTarget> sorted_ic_data;
-    FlowGraphCompiler::SortICDataByCount(unary_checks(),
-                                         &sorted_ic_data,
+    FlowGraphCompiler::SortICDataByCount(unary_checks(), &sorted_ic_data,
                                          /* drop_smi = */ true);
     const intptr_t num_checks = sorted_ic_data.length();
     const bool use_near_jump = num_checks < 5;
@@ -5880,8 +5906,8 @@
                                                     bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   return summary;
 }
@@ -5889,8 +5915,7 @@
 
 void CheckSmiInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   Register value = locs()->in(0).reg();
-  Label* deopt = compiler->AddDeoptStub(deopt_id(),
-                                        ICData::kDeoptCheckSmi,
+  Label* deopt = compiler->AddDeoptStub(deopt_id(), ICData::kDeoptCheckSmi,
                                         licm_hoisted_ ? ICData::kHoisted : 0);
   __ BranchIfNotSmi(value, deopt);
 }
@@ -5900,8 +5925,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   return summary;
 }
@@ -5919,7 +5944,7 @@
                                                              bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
+  LocationSummary* locs = new (zone) LocationSummary(
       zone, kNumInputs, kNumTemps, LocationSummary::kCallOnSlowPath);
   locs->set_in(kLengthPos, Location::RequiresRegister());
   locs->set_in(kIndexPos, Location::RequiresRegister());
@@ -5930,7 +5955,7 @@
 class RangeErrorSlowPath : public SlowPathCode {
  public:
   RangeErrorSlowPath(GenericCheckBoundInstr* instruction, intptr_t try_index)
-      : instruction_(instruction), try_index_(try_index) { }
+      : instruction_(instruction), try_index_(try_index) {}
 
   virtual void EmitNativeCode(FlowGraphCompiler* compiler) {
     if (Assembler::EmittingComments()) {
@@ -5942,11 +5967,8 @@
     __ pushq(locs->in(1).reg());
     __ CallRuntime(kRangeErrorRuntimeEntry, 2);
     compiler->pc_descriptors_list()->AddDescriptor(
-        RawPcDescriptors::kOther,
-        compiler->assembler()->CodeSize(),
-        instruction_->deopt_id(),
-        instruction_->token_pos(),
-        try_index_);
+        RawPcDescriptors::kOther, compiler->assembler()->CodeSize(),
+        instruction_->deopt_id(), instruction_->token_pos(), try_index_);
     compiler->RecordSafepoint(locs, 2);
     __ int3();
   }
@@ -5979,8 +6001,8 @@
                                                            bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(kLengthPos, Location::RegisterOrSmiConstant(length()));
   locs->set_in(kIndexPos, Location::RegisterOrSmiConstant(index()));
   return locs;
@@ -5990,10 +6012,8 @@
 void CheckArrayBoundInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   uint32_t flags = generalized_ ? ICData::kGeneralized : 0;
   flags |= licm_hoisted_ ? ICData::kHoisted : 0;
-  Label* deopt = compiler->AddDeoptStub(
-      deopt_id(),
-      ICData::kDeoptCheckArrayBound,
-      flags);
+  Label* deopt =
+      compiler->AddDeoptStub(deopt_id(), ICData::kDeoptCheckArrayBound, flags);
 
   Location length_loc = locs()->in(kLengthPos);
   Location index_loc = locs()->in(kIndexPos);
@@ -6012,8 +6032,8 @@
   if (index_loc.IsConstant()) {
     Register length = length_loc.reg();
     const Smi& index = Smi::Cast(index_loc.constant());
-    __ CompareImmediate(
-        length, Immediate(reinterpret_cast<int64_t>(index.raw())));
+    __ CompareImmediate(length,
+                        Immediate(reinterpret_cast<int64_t>(index.raw())));
     __ j(BELOW_EQUAL, deopt);
   } else if (length_loc.IsConstant()) {
     const Smi& length = Smi::Cast(length_loc.constant());
@@ -6025,8 +6045,8 @@
       __ testq(index, index);
       __ j(NEGATIVE, deopt);
     } else {
-      __ CompareImmediate(
-          index, Immediate(reinterpret_cast<int64_t>(length.raw())));
+      __ CompareImmediate(index,
+                          Immediate(reinterpret_cast<int64_t>(length.raw())));
       __ j(ABOVE_EQUAL, deopt);
     }
   } else {
@@ -6041,7 +6061,7 @@
 }
 
 
-template<typename OperandType>
+template <typename OperandType>
 static void EmitInt64Arithmetic(FlowGraphCompiler* compiler,
                                 Token::Kind op_kind,
                                 Register left,
@@ -6077,8 +6097,8 @@
                                                         bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -6106,8 +6126,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -6126,8 +6146,8 @@
 static const intptr_t kMintShiftCountLimit = 63;
 
 bool ShiftMintOpInstr::has_shift_count_check() const {
-  return !RangeUtils::IsWithin(
-      right()->definition()->range(), 0, kMintShiftCountLimit);
+  return !RangeUtils::IsWithin(right()->definition()->range(), 0,
+                               kMintShiftCountLimit);
 }
 
 
@@ -6135,8 +6155,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = can_overflow() ? 1 : 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::FixedRegisterOrSmiConstant(right(), RCX));
   if (kNumTemps > 0) {
@@ -6238,8 +6258,8 @@
                                                           bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::RequiresRegister());
   summary->set_out(0, Location::SameAsFirstInput());
@@ -6247,7 +6267,7 @@
 }
 
 
-template<typename OperandType>
+template <typename OperandType>
 static void EmitIntegerArithmetic(FlowGraphCompiler* compiler,
                                   Token::Kind op_kind,
                                   Register left,
@@ -6303,8 +6323,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_in(1, Location::FixedRegisterOrSmiConstant(right(), RCX));
   summary->set_out(0, Location::SameAsFirstInput());
@@ -6333,10 +6353,10 @@
     switch (op_kind()) {
       case Token::kSHR:
         __ shrl(left, Immediate(shift_value));
-      break;
+        break;
       case Token::kSHL:
         __ shll(left, Immediate(shift_value));
-      break;
+        break;
       default:
         UNREACHABLE();
     }
@@ -6365,11 +6385,11 @@
     case Token::kSHR:
       __ shrl(left, shifter);
       __ jmp(&done);
-    break;
+      break;
     case Token::kSHL:
       __ shll(left, shifter);
       __ jmp(&done);
-    break;
+      break;
     default:
       UNREACHABLE();
   }
@@ -6387,8 +6407,8 @@
                                                          bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   summary->set_in(0, Location::RequiresRegister());
   summary->set_out(0, Location::SameAsFirstInput());
   return summary;
@@ -6412,8 +6432,8 @@
                                                                bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   if (from() == kUnboxedMint) {
     ASSERT((to() == kUnboxedUint32) || (to() == kUnboxedInt32));
     summary->set_in(0, Location::RequiresRegister());
@@ -6487,42 +6507,33 @@
 }
 
 
-LocationSummary* ThrowInstr::MakeLocationSummary(Zone* zone,
-                                                 bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
+LocationSummary* ThrowInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
 }
 
 
 void ThrowInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kThrowRuntimeEntry,
-                                1,
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(), kThrowRuntimeEntry, 1,
                                 locs());
   __ int3();
 }
 
 
-LocationSummary* ReThrowInstr::MakeLocationSummary(Zone* zone,
-                                                   bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
+LocationSummary* ReThrowInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kCall);
 }
 
 
 void ReThrowInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   compiler->SetNeedsStacktrace(catch_try_index());
-  compiler->GenerateRuntimeCall(token_pos(),
-                                deopt_id(),
-                                kReThrowRuntimeEntry,
-                                2,
-                                locs());
+  compiler->GenerateRuntimeCall(token_pos(), deopt_id(), kReThrowRuntimeEntry,
+                                2, locs());
   __ int3();
 }
 
 
-LocationSummary* StopInstr::MakeLocationSummary(Zone* zone,
-                                                bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
+LocationSummary* StopInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
 }
 
 
@@ -6538,9 +6549,8 @@
 }
 
 
-LocationSummary* GotoInstr::MakeLocationSummary(Zone* zone,
-                                                bool opt) const {
-  return new(zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
+LocationSummary* GotoInstr::MakeLocationSummary(Zone* zone, bool opt) const {
+  return new (zone) LocationSummary(zone, 0, 0, LocationSummary::kNoCall);
 }
 
 
@@ -6551,8 +6561,7 @@
     }
     // Add a deoptimization descriptor for deoptimizing instructions that
     // may be inserted before this instruction.
-    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                   GetDeoptId(),
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, GetDeoptId(),
                                    TokenPosition::kNoSource);
   }
   if (HasParallelMove()) {
@@ -6572,8 +6581,8 @@
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 1;
 
-  LocationSummary* summary = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
 
   summary->set_in(0, Location::RequiresRegister());
   summary->set_temp(0, Location::RequiresRegister());
@@ -6588,8 +6597,7 @@
 
   {
     const intptr_t kRIPRelativeLeaqSize = 7;
-    const intptr_t entry_to_rip_offset =
-        __ CodeSize() + kRIPRelativeLeaqSize;
+    const intptr_t entry_to_rip_offset = __ CodeSize() + kRIPRelativeLeaqSize;
     __ leaq(target_address_reg,
             Address::AddressRIPRelative(-entry_to_rip_offset));
     ASSERT(__ CodeSize() == entry_to_rip_offset);
@@ -6612,15 +6620,15 @@
   const intptr_t kNumInputs = 2;
   const intptr_t kNumTemps = 0;
   if (needs_number_check()) {
-    LocationSummary* locs = new(zone) LocationSummary(
-        zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+    LocationSummary* locs = new (zone)
+        LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
     locs->set_in(0, Location::RegisterLocation(RAX));
     locs->set_in(1, Location::RegisterLocation(RCX));
     locs->set_out(0, Location::RegisterLocation(RAX));
     return locs;
   }
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kNoCall);
   locs->set_in(0, Location::RegisterOrConstant(left()));
   // Only one of the inputs can be a constant. Choose register if the first one
   // is a constant.
@@ -6639,20 +6647,14 @@
   ASSERT(!left.IsConstant() || !right.IsConstant());
   Condition true_condition;
   if (left.IsConstant()) {
-    true_condition = compiler->EmitEqualityRegConstCompare(right.reg(),
-                                                           left.constant(),
-                                                           needs_number_check(),
-                                                           token_pos());
+    true_condition = compiler->EmitEqualityRegConstCompare(
+        right.reg(), left.constant(), needs_number_check(), token_pos());
   } else if (right.IsConstant()) {
-    true_condition = compiler->EmitEqualityRegConstCompare(left.reg(),
-                                                           right.constant(),
-                                                           needs_number_check(),
-                                                           token_pos());
+    true_condition = compiler->EmitEqualityRegConstCompare(
+        left.reg(), right.constant(), needs_number_check(), token_pos());
   } else {
-    true_condition = compiler->EmitEqualityRegRegCompare(left.reg(),
-                                                         right.reg(),
-                                                         needs_number_check(),
-                                                         token_pos());
+    true_condition = compiler->EmitEqualityRegRegCompare(
+        left.reg(), right.reg(), needs_number_check(), token_pos());
   }
   if (kind() != Token::kEQ_STRICT) {
     ASSERT(kind() == Token::kNE_STRICT);
@@ -6666,7 +6668,7 @@
   ASSERT(kind() == Token::kEQ_STRICT || kind() == Token::kNE_STRICT);
 
   Label is_true, is_false;
-  BranchLabels labels = { &is_true, &is_false, &is_false };
+  BranchLabels labels = {&is_true, &is_false, &is_false};
 
   Condition true_condition = EmitComparisonCode(compiler, labels);
   EmitBranchOnCondition(compiler, true_condition, labels);
@@ -6696,8 +6698,8 @@
                                                        bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* summary = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   summary->set_in(0, Location::RegisterLocation(RAX));  // Function.
   summary->set_out(0, Location::RegisterLocation(RAX));
   return summary;
@@ -6707,9 +6709,8 @@
 void ClosureCallInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
   // Arguments descriptor is expected in R10.
   intptr_t argument_count = ArgumentCount();
-  const Array& arguments_descriptor =
-      Array::ZoneHandle(ArgumentsDescriptor::New(argument_count,
-                                                 argument_names()));
+  const Array& arguments_descriptor = Array::ZoneHandle(
+      ArgumentsDescriptor::New(argument_count, argument_names()));
   __ LoadObject(R10, arguments_descriptor);
 
   // Function in RAX.
@@ -6732,8 +6733,7 @@
   // Add deoptimization continuation point after the call and before the
   // arguments are removed.
   // In optimized code this descriptor is needed for exception handling.
-  compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt,
-                                 deopt_id_after,
+  compiler->AddCurrentDescriptor(RawPcDescriptors::kDeopt, deopt_id_after,
                                  token_pos());
   __ Drop(argument_count);
 }
@@ -6741,9 +6741,7 @@
 
 LocationSummary* BooleanNegateInstr::MakeLocationSummary(Zone* zone,
                                                          bool opt) const {
-  return LocationSummary::Make(zone,
-                               1,
-                               Location::RequiresRegister(),
+  return LocationSummary::Make(zone, 1, Location::RequiresRegister(),
                                LocationSummary::kNoCall);
 }
 
@@ -6771,9 +6769,7 @@
   const Code& stub = Code::ZoneHandle(
       compiler->zone(), StubCode::GetAllocationStubForClass(cls()));
   const StubEntry stub_entry(stub);
-  compiler->GenerateCall(token_pos(),
-                         stub_entry,
-                         RawPcDescriptors::kOther,
+  compiler->GenerateCall(token_pos(), stub_entry, RawPcDescriptors::kOther,
                          locs());
   compiler->AddStubCallTarget(stub);
   __ Drop(ArgumentCount());  // Discard arguments.
@@ -6788,12 +6784,12 @@
 }
 
 
-LocationSummary* GrowRegExpStackInstr::MakeLocationSummary(
-    Zone* zone, bool opt) const {
+LocationSummary* GrowRegExpStackInstr::MakeLocationSummary(Zone* zone,
+                                                           bool opt) const {
   const intptr_t kNumInputs = 1;
   const intptr_t kNumTemps = 0;
-  LocationSummary* locs = new(zone) LocationSummary(
-      zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+  LocationSummary* locs = new (zone)
+      LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(RAX));
   locs->set_out(0, Location::RegisterLocation(RAX));
   return locs;
@@ -6805,11 +6801,8 @@
   const Register result = locs()->out(0).reg();
   __ PushObject(Object::null_object());
   __ pushq(typed_data);
-  compiler->GenerateRuntimeCall(TokenPosition::kNoSource,
-                                deopt_id(),
-                                kGrowRegExpStackRuntimeEntry,
-                                1,
-                                locs());
+  compiler->GenerateRuntimeCall(TokenPosition::kNoSource, deopt_id(),
+                                kGrowRegExpStackRuntimeEntry, 1, locs());
   __ Drop(1);
   __ popq(result);
 }
diff --git a/runtime/vm/intrinsifier.cc b/runtime/vm/intrinsifier.cc
index 331dd84..c2a6ae2 100644
--- a/runtime/vm/intrinsifier.cc
+++ b/runtime/vm/intrinsifier.cc
@@ -82,7 +82,7 @@
     }                                                                          \
     ASSERT(error.IsNull());                                                    \
     if (#function_name[0] == '.') {                                            \
-      str = String::New(#class_name#function_name);                            \
+      str = String::New(#class_name #function_name);                           \
     } else {                                                                   \
       str = String::New(#function_name);                                       \
     }                                                                          \
@@ -122,8 +122,7 @@
 
 // DBC does not use graph intrinsics.
 #if !defined(TARGET_ARCH_DBC)
-static void EmitCodeFor(FlowGraphCompiler* compiler,
-                        FlowGraph* graph) {
+static void EmitCodeFor(FlowGraphCompiler* compiler, FlowGraph* graph) {
   // The FlowGraph here is constructed by the intrinsics builder methods, and
   // is different from compiler->flow_graph(), the original method's flow graph.
   compiler->assembler()->Comment("Graph intrinsic begin");
@@ -165,24 +164,22 @@
 #if !defined(TARGET_ARCH_DBC)
   ZoneGrowableArray<const ICData*>* ic_data_array =
       new ZoneGrowableArray<const ICData*>();
-  FlowGraphBuilder builder(parsed_function,
-                           *ic_data_array,
+  FlowGraphBuilder builder(parsed_function, *ic_data_array,
                            NULL,  // NULL = not inlining.
                            Compiler::kNoOSRDeoptId);
 
   intptr_t block_id = builder.AllocateBlockId();
   TargetEntryInstr* normal_entry =
-      new TargetEntryInstr(block_id,
-                           CatchClauseNode::kInvalidTryIndex);
+      new TargetEntryInstr(block_id, CatchClauseNode::kInvalidTryIndex);
   GraphEntryInstr* graph_entry = new GraphEntryInstr(
       parsed_function, normal_entry, Compiler::kNoOSRDeoptId);
   FlowGraph* graph = new FlowGraph(parsed_function, graph_entry, block_id);
   const Function& function = parsed_function.function();
   switch (function.recognized_kind()) {
 #define EMIT_CASE(class_name, function_name, enum_name, type, fp)              \
-    case MethodRecognizer::k##enum_name:                                       \
-      if (!Build_##enum_name(graph)) return false;                             \
-      break;
+  case MethodRecognizer::k##enum_name:                                         \
+    if (!Build_##enum_name(graph)) return false;                               \
+    break;
 
     GRAPH_INTRINSICS_LIST(EMIT_CASE);
     default:
@@ -190,8 +187,8 @@
 #undef EMIT_CASE
   }
 
-  if (FLAG_support_il_printer &&
-      FLAG_print_flow_graph && FlowGraphPrinter::ShouldPrint(function)) {
+  if (FLAG_support_il_printer && FLAG_print_flow_graph &&
+      FlowGraphPrinter::ShouldPrint(function)) {
     THR_Print("Intrinsic graph before\n");
     FlowGraphPrinter printer(*graph);
     printer.PrintBlocks();
@@ -201,8 +198,8 @@
   FlowGraphAllocator allocator(*graph, true);  // Intrinsic mode.
   allocator.AllocateRegisters();
 
-  if (FLAG_support_il_printer &&
-      FLAG_print_flow_graph && FlowGraphPrinter::ShouldPrint(function)) {
+  if (FLAG_support_il_printer && FLAG_print_flow_graph &&
+      FlowGraphPrinter::ShouldPrint(function)) {
     THR_Print("Intrinsic graph after\n");
     FlowGraphPrinter printer(*graph);
     printer.PrintBlocks();
@@ -229,10 +226,10 @@
   }
 
 #define EMIT_CASE(class_name, function_name, enum_name, type, fp)              \
-    case MethodRecognizer::k##enum_name:                                       \
-      compiler->assembler()->Comment("Intrinsic");                             \
-      enum_name(compiler->assembler());                                        \
-      break;
+  case MethodRecognizer::k##enum_name:                                         \
+    compiler->assembler()->Comment("Intrinsic");                               \
+    enum_name(compiler->assembler());                                          \
+    break;
 
   switch (function.recognized_kind()) {
     ALL_INTRINSICS_NO_INTEGER_LIB_LIST(EMIT_CASE);
@@ -245,8 +242,8 @@
       break;
   }
 
-  // On DBC all graph intrinsics are handled in the same way as non-graph
-  // intrinsics.
+// On DBC all graph intrinsics are handled in the same way as non-graph
+// intrinsics.
 #if defined(TARGET_ARCH_DBC)
   switch (function.recognized_kind()) {
     GRAPH_INTRINSICS_LIST(EMIT_CASE)
@@ -288,7 +285,7 @@
 class BlockBuilder : public ValueObject {
  public:
   BlockBuilder(FlowGraph* flow_graph, TargetEntryInstr* entry)
-      : flow_graph_(flow_graph), entry_(entry), current_(entry) { }
+      : flow_graph_(flow_graph), entry_(entry), current_(entry) {}
 
   Definition* AddToInitialDefinitions(Definition* def) {
     def->set_ssa_temp_index(flow_graph_->alloc_ssa_temp_index());
@@ -315,26 +312,19 @@
 
   Definition* AddParameter(intptr_t index) {
     intptr_t adjustment = Intrinsifier::ParameterSlotFromSp();
-    return AddToInitialDefinitions(
-      new ParameterInstr(adjustment + index,
-                         flow_graph_->graph_entry(),
-                         SPREG));
+    return AddToInitialDefinitions(new ParameterInstr(
+        adjustment + index, flow_graph_->graph_entry(), SPREG));
   }
 
-  TokenPosition TokenPos() {
-    return flow_graph_->function().token_pos();
-  }
+  TokenPosition TokenPos() { return flow_graph_->function().token_pos(); }
 
   Definition* AddNullDefinition() {
-    return AddDefinition(
-        new ConstantInstr(Object::ZoneHandle(Object::null())));
+    return AddDefinition(new ConstantInstr(Object::ZoneHandle(Object::null())));
   }
 
-  Definition* AddUnboxInstr(Representation rep,
-                            Value* value,
-                            bool is_checked) {
-    Definition* unboxed_value = AddDefinition(
-        UnboxInstr::Create(rep, value, Thread::kNoDeoptId));
+  Definition* AddUnboxInstr(Representation rep, Value* value, bool is_checked) {
+    Definition* unboxed_value =
+        AddDefinition(UnboxInstr::Create(rep, value, Thread::kNoDeoptId));
     if (is_checked) {
       // The type of |value| has already been checked and it is safe to
       // adjust reaching type. This is done manually because there is no type
@@ -360,9 +350,7 @@
   Definition* InvokeMathCFunctionHelper(MethodRecognizer::Kind recognized_kind,
                                         ZoneGrowableArray<Value*>* args) {
     InvokeMathCFunctionInstr* invoke_math_c_function =
-        new InvokeMathCFunctionInstr(args,
-                                     Thread::kNoDeoptId,
-                                     recognized_kind,
+        new InvokeMathCFunctionInstr(args, Thread::kNoDeoptId, recognized_kind,
                                      TokenPos());
     AddDefinition(invoke_math_c_function);
     return invoke_math_c_function;
@@ -379,15 +367,11 @@
                              Definition* array,
                              Definition* index,
                              intptr_t length_offset) {
-  Definition* length = builder->AddDefinition(
-      new LoadFieldInstr(new Value(array),
-                         length_offset,
-                         Type::ZoneHandle(Type::SmiType()),
-                         TokenPosition::kNoSource));
-  builder->AddInstruction(
-      new CheckArrayBoundInstr(new Value(length),
-                               new Value(index),
-                               Thread::kNoDeoptId));
+  Definition* length = builder->AddDefinition(new LoadFieldInstr(
+      new Value(array), length_offset, Type::ZoneHandle(Type::SmiType()),
+      TokenPosition::kNoSource));
+  builder->AddInstruction(new CheckArrayBoundInstr(
+      new Value(length), new Value(index), Thread::kNoDeoptId));
 }
 
 static bool IntrinsifyArrayGetIndexed(FlowGraph* flow_graph,
@@ -409,19 +393,14 @@
   PrepareIndexedOp(&builder, array, index, length_offset);
 
   if (RawObject::IsExternalTypedDataClassId(array_cid)) {
-    array = builder.AddDefinition(
-      new LoadUntaggedInstr(new Value(array),
-                            ExternalTypedData::data_offset()));
+    array = builder.AddDefinition(new LoadUntaggedInstr(
+        new Value(array), ExternalTypedData::data_offset()));
   }
 
-  Definition* result = builder.AddDefinition(
-      new LoadIndexedInstr(new Value(array),
-                           new Value(index),
-                           Instance::ElementSizeFor(array_cid),  // index scale
-                           array_cid,
-                           kAlignedAccess,
-                           Thread::kNoDeoptId,
-                           builder.TokenPos()));
+  Definition* result = builder.AddDefinition(new LoadIndexedInstr(
+      new Value(array), new Value(index),
+      Instance::ElementSizeFor(array_cid),  // index scale
+      array_cid, kAlignedAccess, Thread::kNoDeoptId, builder.TokenPos()));
   // Box and/or convert result if necessary.
   switch (array_cid) {
     case kTypedDataInt32ArrayCid:
@@ -437,7 +416,7 @@
     case kTypedDataFloat32ArrayCid:
       result = builder.AddDefinition(
           new FloatToDoubleInstr(new Value(result), Thread::kNoDeoptId));
-      // Fall through.
+    // Fall through.
     case kTypedDataFloat64ArrayCid:
       result = builder.AddDefinition(
           BoxInstr::Create(kUnboxedDouble, new Value(result)));
@@ -502,19 +481,17 @@
     case kExternalTypedDataUint8ClampedArrayCid:
     case kTypedDataInt16ArrayCid:
     case kTypedDataUint16ArrayCid:
-      builder.AddInstruction(new CheckSmiInstr(new Value(value),
-                                               Thread::kNoDeoptId,
-                                               builder.TokenPos()));
+      builder.AddInstruction(new CheckSmiInstr(
+          new Value(value), Thread::kNoDeoptId, builder.TokenPos()));
       break;
     case kTypedDataInt32ArrayCid:
     case kExternalTypedDataInt32ArrayCid:
-      // Use same truncating unbox-instruction for int32 and uint32.
-      // Fall-through.
+    // Use same truncating unbox-instruction for int32 and uint32.
+    // Fall-through.
     case kTypedDataUint32ArrayCid:
     case kExternalTypedDataUint32ArrayCid:
       // Supports smi and mint, slow-case for bigints.
-      value = builder.AddUnboxInstr(kUnboxedUint32,
-                                    new Value(value),
+      value = builder.AddUnboxInstr(kUnboxedUint32, new Value(value),
                                     /* is_checked = */ false);
       break;
     case kTypedDataFloat32ArrayCid:
@@ -541,21 +518,16 @@
           // Float32/Float64 case already handled.
           break;
       }
-      const ICData& value_check = ICData::ZoneHandle(ICData::New(
-          flow_graph->function(),
-          Symbols::Empty(),  // Dummy function name.
-          Object::empty_array(),  // Dummy args. descr.
-          Thread::kNoDeoptId,
-          1,
-          false));
+      const ICData& value_check = ICData::ZoneHandle(
+          ICData::New(flow_graph->function(),
+                      Symbols::Empty(),       // Dummy function name.
+                      Object::empty_array(),  // Dummy args. descr.
+                      Thread::kNoDeoptId, 1, false));
       value_check.AddReceiverCheck(value_check_cid, flow_graph->function());
       builder.AddInstruction(
-          new CheckClassInstr(new Value(value),
-                              Thread::kNoDeoptId,
-                              value_check,
+          new CheckClassInstr(new Value(value), Thread::kNoDeoptId, value_check,
                               builder.TokenPos()));
-      value = builder.AddUnboxInstr(rep,
-                                    new Value(value),
+      value = builder.AddUnboxInstr(rep, new Value(value),
                                     /* is_checked = */ true);
       if (array_cid == kTypedDataFloat32ArrayCid) {
         value = builder.AddDefinition(
@@ -568,23 +540,16 @@
   }
 
   if (RawObject::IsExternalTypedDataClassId(array_cid)) {
-    array = builder.AddDefinition(
-      new LoadUntaggedInstr(new Value(array),
-                            ExternalTypedData::data_offset()));
+    array = builder.AddDefinition(new LoadUntaggedInstr(
+        new Value(array), ExternalTypedData::data_offset()));
   }
   // No store barrier.
   ASSERT(RawObject::IsExternalTypedDataClassId(array_cid) ||
          RawObject::IsTypedDataClassId(array_cid));
-  builder.AddInstruction(
-      new StoreIndexedInstr(new Value(array),
-                            new Value(index),
-                            new Value(value),
-                            kNoStoreBarrier,
-                            Instance::ElementSizeFor(array_cid),  // index scale
-                            array_cid,
-                            kAlignedAccess,
-                            Thread::kNoDeoptId,
-                            builder.TokenPos()));
+  builder.AddInstruction(new StoreIndexedInstr(
+      new Value(array), new Value(index), new Value(value), kNoStoreBarrier,
+      Instance::ElementSizeFor(array_cid),  // index scale
+      array_cid, kAlignedAccess, Thread::kNoDeoptId, builder.TokenPos()));
   // Return null.
   Definition* null_def = builder.AddNullDefinition();
   builder.AddIntrinsicReturn(new Value(null_def));
@@ -593,28 +558,26 @@
 
 
 #define DEFINE_ARRAY_GETTER_INTRINSIC(enum_name)                               \
-bool Intrinsifier::Build_##enum_name##GetIndexed(FlowGraph* flow_graph) {      \
-  return IntrinsifyArrayGetIndexed(                                            \
-      flow_graph,                                                              \
-      MethodRecognizer::MethodKindToReceiverCid(                               \
-          MethodRecognizer::k##enum_name##GetIndexed));                        \
-}
+  bool Intrinsifier::Build_##enum_name##GetIndexed(FlowGraph* flow_graph) {    \
+    return IntrinsifyArrayGetIndexed(                                          \
+        flow_graph, MethodRecognizer::MethodKindToReceiverCid(                 \
+                        MethodRecognizer::k##enum_name##GetIndexed));          \
+  }
 
 
 #define DEFINE_ARRAY_SETTER_INTRINSIC(enum_name)                               \
-bool Intrinsifier::Build_##enum_name##SetIndexed(FlowGraph* flow_graph) {      \
-  return IntrinsifyArraySetIndexed(                                            \
-      flow_graph,                                                              \
-      MethodRecognizer::MethodKindToReceiverCid(                               \
-          MethodRecognizer::k##enum_name##SetIndexed));                        \
-}
+  bool Intrinsifier::Build_##enum_name##SetIndexed(FlowGraph* flow_graph) {    \
+    return IntrinsifyArraySetIndexed(                                          \
+        flow_graph, MethodRecognizer::MethodKindToReceiverCid(                 \
+                        MethodRecognizer::k##enum_name##SetIndexed));          \
+  }
 
 DEFINE_ARRAY_GETTER_INTRINSIC(ObjectArray)  // Setter in intrinsifier_<arch>.cc.
 DEFINE_ARRAY_GETTER_INTRINSIC(ImmutableArray)
 
 #define DEFINE_ARRAY_GETTER_SETTER_INTRINSICS(enum_name)                       \
-DEFINE_ARRAY_GETTER_INTRINSIC(enum_name)                                       \
-DEFINE_ARRAY_SETTER_INTRINSIC(enum_name)
+  DEFINE_ARRAY_GETTER_INTRINSIC(enum_name)                                     \
+  DEFINE_ARRAY_SETTER_INTRINSIC(enum_name)
 
 DEFINE_ARRAY_GETTER_SETTER_INTRINSICS(Int8Array)
 DEFINE_ARRAY_GETTER_SETTER_INTRINSICS(Uint8Array)
@@ -632,31 +595,29 @@
 
 
 #define DEFINE_FLOAT_ARRAY_GETTER_INTRINSIC(enum_name)                         \
-bool Intrinsifier::Build_##enum_name##GetIndexed(FlowGraph* flow_graph) {      \
-  if (!FlowGraphCompiler::SupportsUnboxedDoubles()) {                          \
-    return false;                                                              \
-  }                                                                            \
-  return IntrinsifyArrayGetIndexed(                                            \
-      flow_graph,                                                              \
-      MethodRecognizer::MethodKindToReceiverCid(                               \
-          MethodRecognizer::k##enum_name##GetIndexed));                        \
-}
+  bool Intrinsifier::Build_##enum_name##GetIndexed(FlowGraph* flow_graph) {    \
+    if (!FlowGraphCompiler::SupportsUnboxedDoubles()) {                        \
+      return false;                                                            \
+    }                                                                          \
+    return IntrinsifyArrayGetIndexed(                                          \
+        flow_graph, MethodRecognizer::MethodKindToReceiverCid(                 \
+                        MethodRecognizer::k##enum_name##GetIndexed));          \
+  }
 
 
 #define DEFINE_FLOAT_ARRAY_SETTER_INTRINSIC(enum_name)                         \
-bool Intrinsifier::Build_##enum_name##SetIndexed(FlowGraph* flow_graph) {      \
-  if (!FlowGraphCompiler::SupportsUnboxedDoubles()) {                          \
-    return false;                                                              \
-  }                                                                            \
-  return IntrinsifyArraySetIndexed(                                            \
-      flow_graph,                                                              \
-      MethodRecognizer::MethodKindToReceiverCid(                               \
-          MethodRecognizer::k##enum_name##SetIndexed));                        \
-}
+  bool Intrinsifier::Build_##enum_name##SetIndexed(FlowGraph* flow_graph) {    \
+    if (!FlowGraphCompiler::SupportsUnboxedDoubles()) {                        \
+      return false;                                                            \
+    }                                                                          \
+    return IntrinsifyArraySetIndexed(                                          \
+        flow_graph, MethodRecognizer::MethodKindToReceiverCid(                 \
+                        MethodRecognizer::k##enum_name##SetIndexed));          \
+  }
 
 #define DEFINE_FLOAT_ARRAY_GETTER_SETTER_INTRINSICS(enum_name)                 \
-DEFINE_FLOAT_ARRAY_GETTER_INTRINSIC(enum_name)                                 \
-DEFINE_FLOAT_ARRAY_SETTER_INTRINSIC(enum_name)
+  DEFINE_FLOAT_ARRAY_GETTER_INTRINSIC(enum_name)                               \
+  DEFINE_FLOAT_ARRAY_SETTER_INTRINSIC(enum_name)
 
 DEFINE_FLOAT_ARRAY_GETTER_SETTER_INTRINSICS(Float64Array)
 DEFINE_FLOAT_ARRAY_GETTER_SETTER_INTRINSICS(Float32Array)
@@ -667,31 +628,29 @@
 
 
 #define DEFINE_SIMD_ARRAY_GETTER_INTRINSIC(enum_name)                          \
-bool Intrinsifier::Build_##enum_name##GetIndexed(FlowGraph* flow_graph) {      \
-  if (!FlowGraphCompiler::SupportsUnboxedSimd128()) {                          \
-    return false;                                                              \
-  }                                                                            \
-  return IntrinsifyArrayGetIndexed(                                            \
-      flow_graph,                                                              \
-      MethodRecognizer::MethodKindToReceiverCid(                               \
-          MethodRecognizer::k##enum_name##GetIndexed));                        \
-}
+  bool Intrinsifier::Build_##enum_name##GetIndexed(FlowGraph* flow_graph) {    \
+    if (!FlowGraphCompiler::SupportsUnboxedSimd128()) {                        \
+      return false;                                                            \
+    }                                                                          \
+    return IntrinsifyArrayGetIndexed(                                          \
+        flow_graph, MethodRecognizer::MethodKindToReceiverCid(                 \
+                        MethodRecognizer::k##enum_name##GetIndexed));          \
+  }
 
 
 #define DEFINE_SIMD_ARRAY_SETTER_INTRINSIC(enum_name)                          \
-bool Intrinsifier::Build_##enum_name##SetIndexed(FlowGraph* flow_graph) {      \
-  if (!FlowGraphCompiler::SupportsUnboxedSimd128()) {                          \
-    return false;                                                              \
-  }                                                                            \
-  return IntrinsifyArraySetIndexed(                                            \
-      flow_graph,                                                              \
-      MethodRecognizer::MethodKindToReceiverCid(                               \
-          MethodRecognizer::k##enum_name##SetIndexed));                        \
-}
+  bool Intrinsifier::Build_##enum_name##SetIndexed(FlowGraph* flow_graph) {    \
+    if (!FlowGraphCompiler::SupportsUnboxedSimd128()) {                        \
+      return false;                                                            \
+    }                                                                          \
+    return IntrinsifyArraySetIndexed(                                          \
+        flow_graph, MethodRecognizer::MethodKindToReceiverCid(                 \
+                        MethodRecognizer::k##enum_name##SetIndexed));          \
+  }
 
-#define DEFINE_SIMD_ARRAY_GETTER_SETTER_INTRINSICS(enum_name)                 \
-DEFINE_SIMD_ARRAY_GETTER_INTRINSIC(enum_name)                                 \
-DEFINE_SIMD_ARRAY_SETTER_INTRINSIC(enum_name)
+#define DEFINE_SIMD_ARRAY_GETTER_SETTER_INTRINSICS(enum_name)                  \
+  DEFINE_SIMD_ARRAY_GETTER_INTRINSIC(enum_name)                                \
+  DEFINE_SIMD_ARRAY_SETTER_INTRINSIC(enum_name)
 
 DEFINE_SIMD_ARRAY_GETTER_SETTER_INTRINSICS(Float32x4Array)
 DEFINE_SIMD_ARRAY_GETTER_SETTER_INTRINSICS(Int32x4Array)
@@ -713,31 +672,20 @@
 
   // For external strings: Load external data.
   if (cid == kExternalOneByteStringCid) {
-    str = builder.AddDefinition(
-        new LoadUntaggedInstr(new Value(str),
-                              ExternalOneByteString::external_data_offset()));
-    str = builder.AddDefinition(
-        new LoadUntaggedInstr(
-            new Value(str),
-            RawExternalOneByteString::ExternalData::data_offset()));
+    str = builder.AddDefinition(new LoadUntaggedInstr(
+        new Value(str), ExternalOneByteString::external_data_offset()));
+    str = builder.AddDefinition(new LoadUntaggedInstr(
+        new Value(str), RawExternalOneByteString::ExternalData::data_offset()));
   } else if (cid == kExternalTwoByteStringCid) {
-    str = builder.AddDefinition(
-      new LoadUntaggedInstr(new Value(str),
-                            ExternalTwoByteString::external_data_offset()));
-    str = builder.AddDefinition(
-        new LoadUntaggedInstr(
-            new Value(str),
-            RawExternalTwoByteString::ExternalData::data_offset()));
+    str = builder.AddDefinition(new LoadUntaggedInstr(
+        new Value(str), ExternalTwoByteString::external_data_offset()));
+    str = builder.AddDefinition(new LoadUntaggedInstr(
+        new Value(str), RawExternalTwoByteString::ExternalData::data_offset()));
   }
 
-  Definition* result = builder.AddDefinition(
-      new LoadIndexedInstr(new Value(str),
-                           new Value(index),
-                           Instance::ElementSizeFor(cid),
-                           cid,
-                           kAlignedAccess,
-                           Thread::kNoDeoptId,
-                           builder.TokenPos()));
+  Definition* result = builder.AddDefinition(new LoadIndexedInstr(
+      new Value(str), new Value(index), Instance::ElementSizeFor(cid), cid,
+      kAlignedAccess, Thread::kNoDeoptId, builder.TokenPos()));
   builder.AddIntrinsicReturn(new Value(result));
   return true;
 }
@@ -776,34 +724,23 @@
   Definition* left = builder.AddParameter(2);
 
   const ICData& value_check = ICData::ZoneHandle(ICData::New(
-      flow_graph->function(),
-      String::Handle(flow_graph->function().name()),
+      flow_graph->function(), String::Handle(flow_graph->function().name()),
       Object::empty_array(),  // Dummy args. descr.
-      Thread::kNoDeoptId,
-      1,
-      false));
+      Thread::kNoDeoptId, 1, false));
   value_check.AddReceiverCheck(kFloat32x4Cid, flow_graph->function());
   // Check argument. Receiver (left) is known to be a Float32x4.
-  builder.AddInstruction(
-      new CheckClassInstr(new Value(right),
-                          Thread::kNoDeoptId,
-                          value_check,
-                          builder.TokenPos()));
+  builder.AddInstruction(new CheckClassInstr(
+      new Value(right), Thread::kNoDeoptId, value_check, builder.TokenPos()));
   Definition* left_simd =
-      builder.AddUnboxInstr(kUnboxedFloat32x4,
-                            new Value(left),
+      builder.AddUnboxInstr(kUnboxedFloat32x4, new Value(left),
                             /* is_checked = */ true);
 
   Definition* right_simd =
-      builder.AddUnboxInstr(kUnboxedFloat32x4,
-                            new Value(right),
+      builder.AddUnboxInstr(kUnboxedFloat32x4, new Value(right),
                             /* is_checked = */ true);
 
-  Definition* unboxed_result = builder.AddDefinition(
-      new BinaryFloat32x4OpInstr(kind,
-                                 new Value(left_simd),
-                                 new Value(right_simd),
-                                 Thread::kNoDeoptId));
+  Definition* unboxed_result = builder.AddDefinition(new BinaryFloat32x4OpInstr(
+      kind, new Value(left_simd), new Value(right_simd), Thread::kNoDeoptId));
   Definition* result = builder.AddDefinition(
       BoxInstr::Create(kUnboxedFloat32x4, new Value(unboxed_result)));
   builder.AddIntrinsicReturn(new Value(result));
@@ -839,15 +776,11 @@
   Definition* receiver = builder.AddParameter(1);
 
   Definition* unboxed_receiver =
-      builder.AddUnboxInstr(kUnboxedFloat32x4,
-                            new Value(receiver),
+      builder.AddUnboxInstr(kUnboxedFloat32x4, new Value(receiver),
                             /* is_checked = */ true);
 
-  Definition* unboxed_result = builder.AddDefinition(
-      new Simd32x4ShuffleInstr(kind,
-                               new Value(unboxed_receiver),
-                               0,
-                               Thread::kNoDeoptId));
+  Definition* unboxed_result = builder.AddDefinition(new Simd32x4ShuffleInstr(
+      kind, new Value(unboxed_receiver), 0, Thread::kNoDeoptId));
 
   Definition* result = builder.AddDefinition(
       BoxInstr::Create(kUnboxedDouble, new Value(unboxed_result)));
@@ -887,11 +820,8 @@
 
   Definition* array = builder.AddParameter(1);
 
-  Definition* length = builder.AddDefinition(
-      new LoadFieldInstr(new Value(array),
-                         offset,
-                         Type::ZoneHandle(),
-                         builder.TokenPos()));
+  Definition* length = builder.AddDefinition(new LoadFieldInstr(
+      new Value(array), offset, Type::ZoneHandle(), builder.TokenPos()));
   builder.AddIntrinsicReturn(new Value(length));
   return true;
 }
@@ -930,15 +860,11 @@
   Definition* array = builder.AddParameter(1);
 
   Definition* backing_store = builder.AddDefinition(
-      new LoadFieldInstr(new Value(array),
-                         GrowableObjectArray::data_offset(),
-                         Type::ZoneHandle(),
-                         builder.TokenPos()));
+      new LoadFieldInstr(new Value(array), GrowableObjectArray::data_offset(),
+                         Type::ZoneHandle(), builder.TokenPos()));
   Definition* capacity = builder.AddDefinition(
-      new LoadFieldInstr(new Value(backing_store),
-                         Array::length_offset(),
-                         Type::ZoneHandle(),
-                         builder.TokenPos()));
+      new LoadFieldInstr(new Value(backing_store), Array::length_offset(),
+                         Type::ZoneHandle(), builder.TokenPos()));
   builder.AddIntrinsicReturn(new Value(capacity));
   return true;
 }
@@ -952,22 +878,16 @@
   Definition* index = builder.AddParameter(1);
   Definition* growable_array = builder.AddParameter(2);
 
-  PrepareIndexedOp(
-      &builder, growable_array, index, GrowableObjectArray::length_offset());
+  PrepareIndexedOp(&builder, growable_array, index,
+                   GrowableObjectArray::length_offset());
 
-  Definition* backing_store = builder.AddDefinition(
-      new LoadFieldInstr(new Value(growable_array),
-                         GrowableObjectArray::data_offset(),
-                         Type::ZoneHandle(),
-                         builder.TokenPos()));
-  Definition* result = builder.AddDefinition(
-      new LoadIndexedInstr(new Value(backing_store),
-                           new Value(index),
-                           Instance::ElementSizeFor(kArrayCid),  // index scale
-                           kArrayCid,
-                           kAlignedAccess,
-                           Thread::kNoDeoptId,
-                           builder.TokenPos()));
+  Definition* backing_store = builder.AddDefinition(new LoadFieldInstr(
+      new Value(growable_array), GrowableObjectArray::data_offset(),
+      Type::ZoneHandle(), builder.TokenPos()));
+  Definition* result = builder.AddDefinition(new LoadIndexedInstr(
+      new Value(backing_store), new Value(index),
+      Instance::ElementSizeFor(kArrayCid),  // index scale
+      kArrayCid, kAlignedAccess, Thread::kNoDeoptId, builder.TokenPos()));
   builder.AddIntrinsicReturn(new Value(result));
   return true;
 }
@@ -986,25 +906,18 @@
   Definition* index = builder.AddParameter(2);
   Definition* array = builder.AddParameter(3);
 
-  PrepareIndexedOp(
-      &builder, array, index, GrowableObjectArray::length_offset());
+  PrepareIndexedOp(&builder, array, index,
+                   GrowableObjectArray::length_offset());
 
   Definition* backing_store = builder.AddDefinition(
-      new LoadFieldInstr(new Value(array),
-                         GrowableObjectArray::data_offset(),
-                         Type::ZoneHandle(),
-                         builder.TokenPos()));
+      new LoadFieldInstr(new Value(array), GrowableObjectArray::data_offset(),
+                         Type::ZoneHandle(), builder.TokenPos()));
 
-  builder.AddInstruction(
-      new StoreIndexedInstr(new Value(backing_store),
-                            new Value(index),
-                            new Value(value),
-                            kEmitStoreBarrier,
-                            Instance::ElementSizeFor(kArrayCid),  // index scale
-                            kArrayCid,
-                            kAlignedAccess,
-                            Thread::kNoDeoptId,
-                            builder.TokenPos()));
+  builder.AddInstruction(new StoreIndexedInstr(
+      new Value(backing_store), new Value(index), new Value(value),
+      kEmitStoreBarrier,
+      Instance::ElementSizeFor(kArrayCid),  // index scale
+      kArrayCid, kAlignedAccess, Thread::kNoDeoptId, builder.TokenPos()));
   // Return null.
   Definition* null_def = builder.AddNullDefinition();
   builder.AddIntrinsicReturn(new Value(null_def));
@@ -1021,25 +934,16 @@
   Definition* growable_array = builder.AddParameter(2);
 
   const ICData& value_check = ICData::ZoneHandle(ICData::New(
-      flow_graph->function(),
-      String::Handle(flow_graph->function().name()),
+      flow_graph->function(), String::Handle(flow_graph->function().name()),
       Object::empty_array(),  // Dummy args. descr.
-      Thread::kNoDeoptId,
-      1,
-      false));
+      Thread::kNoDeoptId, 1, false));
   value_check.AddReceiverCheck(kArrayCid, flow_graph->function());
-  builder.AddInstruction(
-      new CheckClassInstr(new Value(data),
-                          Thread::kNoDeoptId,
-                          value_check,
-                          builder.TokenPos()));
+  builder.AddInstruction(new CheckClassInstr(
+      new Value(data), Thread::kNoDeoptId, value_check, builder.TokenPos()));
 
-  builder.AddInstruction(
-      new StoreInstanceFieldInstr(GrowableObjectArray::data_offset(),
-                                  new Value(growable_array),
-                                  new Value(data),
-                                  kEmitStoreBarrier,
-                                  builder.TokenPos()));
+  builder.AddInstruction(new StoreInstanceFieldInstr(
+      GrowableObjectArray::data_offset(), new Value(growable_array),
+      new Value(data), kEmitStoreBarrier, builder.TokenPos()));
   // Return null.
   Definition* null_def = builder.AddNullDefinition();
   builder.AddIntrinsicReturn(new Value(null_def));
@@ -1055,16 +959,11 @@
   Definition* length = builder.AddParameter(1);
   Definition* growable_array = builder.AddParameter(2);
 
-  builder.AddInstruction(
-      new CheckSmiInstr(new Value(length),
-                        Thread::kNoDeoptId,
-                        builder.TokenPos()));
-  builder.AddInstruction(
-      new StoreInstanceFieldInstr(GrowableObjectArray::length_offset(),
-                                  new Value(growable_array),
-                                  new Value(length),
-                                  kNoStoreBarrier,
-                                  builder.TokenPos()));
+  builder.AddInstruction(new CheckSmiInstr(
+      new Value(length), Thread::kNoDeoptId, builder.TokenPos()));
+  builder.AddInstruction(new StoreInstanceFieldInstr(
+      GrowableObjectArray::length_offset(), new Value(growable_array),
+      new Value(length), kNoStoreBarrier, builder.TokenPos()));
   Definition* null_def = builder.AddNullDefinition();
   builder.AddIntrinsicReturn(new Value(null_def));
   return true;
@@ -1081,13 +980,10 @@
 
   Definition* receiver = builder.AddParameter(1);
   Definition* unboxed_value =
-      builder.AddUnboxInstr(kUnboxedDouble,
-                            new Value(receiver),
+      builder.AddUnboxInstr(kUnboxedDouble, new Value(receiver),
                             /* is_checked = */ true);
-  Definition* unboxed_result = builder.AddDefinition(
-      new UnaryDoubleOpInstr(Token::kNEGATE,
-                             new Value(unboxed_value),
-                             Thread::kNoDeoptId));
+  Definition* unboxed_result = builder.AddDefinition(new UnaryDoubleOpInstr(
+      Token::kNEGATE, new Value(unboxed_value), Thread::kNoDeoptId));
   Definition* result = builder.AddDefinition(
       BoxInstr::Create(kUnboxedDouble, new Value(unboxed_result)));
   builder.AddIntrinsicReturn(new Value(result));
@@ -1112,8 +1008,7 @@
     args->Add(new Value(unboxed_value));
   }
 
-  Definition* unboxed_result =
-      builder->InvokeMathCFunction(kind, args);
+  Definition* unboxed_result = builder->InvokeMathCFunction(kind, args);
 
   Definition* result = builder->AddDefinition(
       BoxInstr::Create(kUnboxedDouble, new Value(unboxed_result)));
@@ -1131,8 +1026,7 @@
   TargetEntryInstr* normal_entry = graph_entry->normal_entry();
   BlockBuilder builder(flow_graph, normal_entry);
 
-  return BuildInvokeMathCFunction(&builder,
-                                  MethodRecognizer::kMathSin);
+  return BuildInvokeMathCFunction(&builder, MethodRecognizer::kMathSin);
 }
 
 
@@ -1143,8 +1037,7 @@
   TargetEntryInstr* normal_entry = graph_entry->normal_entry();
   BlockBuilder builder(flow_graph, normal_entry);
 
-  return BuildInvokeMathCFunction(&builder,
-                                  MethodRecognizer::kMathCos);
+  return BuildInvokeMathCFunction(&builder, MethodRecognizer::kMathCos);
 }
 
 
@@ -1155,8 +1048,7 @@
   TargetEntryInstr* normal_entry = graph_entry->normal_entry();
   BlockBuilder builder(flow_graph, normal_entry);
 
-  return BuildInvokeMathCFunction(&builder,
-                                  MethodRecognizer::kMathTan);
+  return BuildInvokeMathCFunction(&builder, MethodRecognizer::kMathTan);
 }
 
 
@@ -1167,8 +1059,7 @@
   TargetEntryInstr* normal_entry = graph_entry->normal_entry();
   BlockBuilder builder(flow_graph, normal_entry);
 
-  return BuildInvokeMathCFunction(&builder,
-                                  MethodRecognizer::kMathAsin);
+  return BuildInvokeMathCFunction(&builder, MethodRecognizer::kMathAsin);
 }
 
 
@@ -1179,8 +1070,7 @@
   TargetEntryInstr* normal_entry = graph_entry->normal_entry();
   BlockBuilder builder(flow_graph, normal_entry);
 
-  return BuildInvokeMathCFunction(&builder,
-                                  MethodRecognizer::kMathAcos);
+  return BuildInvokeMathCFunction(&builder, MethodRecognizer::kMathAcos);
 }
 
 
@@ -1191,8 +1081,7 @@
   TargetEntryInstr* normal_entry = graph_entry->normal_entry();
   BlockBuilder builder(flow_graph, normal_entry);
 
-  return BuildInvokeMathCFunction(&builder,
-                                  MethodRecognizer::kMathAtan);
+  return BuildInvokeMathCFunction(&builder, MethodRecognizer::kMathAtan);
 }
 
 
@@ -1203,8 +1092,7 @@
   TargetEntryInstr* normal_entry = graph_entry->normal_entry();
   BlockBuilder builder(flow_graph, normal_entry);
 
-  return BuildInvokeMathCFunction(&builder,
-                                  MethodRecognizer::kMathAtan2,
+  return BuildInvokeMathCFunction(&builder, MethodRecognizer::kMathAtan2,
                                   /* num_parameters = */ 2);
 }
 
@@ -1216,8 +1104,7 @@
   TargetEntryInstr* normal_entry = graph_entry->normal_entry();
   BlockBuilder builder(flow_graph, normal_entry);
 
-  return BuildInvokeMathCFunction(&builder,
-                                  MethodRecognizer::kDoubleMod,
+  return BuildInvokeMathCFunction(&builder, MethodRecognizer::kDoubleMod,
                                   /* num_parameters = */ 2);
 }
 
@@ -1232,8 +1119,7 @@
   TargetEntryInstr* normal_entry = graph_entry->normal_entry();
   BlockBuilder builder(flow_graph, normal_entry);
 
-  return BuildInvokeMathCFunction(&builder,
-                                  MethodRecognizer::kDoubleCeil);
+  return BuildInvokeMathCFunction(&builder, MethodRecognizer::kDoubleCeil);
 }
 
 
@@ -1247,8 +1133,7 @@
   TargetEntryInstr* normal_entry = graph_entry->normal_entry();
   BlockBuilder builder(flow_graph, normal_entry);
 
-  return BuildInvokeMathCFunction(&builder,
-                                  MethodRecognizer::kDoubleFloor);
+  return BuildInvokeMathCFunction(&builder, MethodRecognizer::kDoubleFloor);
 }
 
 
@@ -1262,8 +1147,7 @@
   TargetEntryInstr* normal_entry = graph_entry->normal_entry();
   BlockBuilder builder(flow_graph, normal_entry);
 
-  return BuildInvokeMathCFunction(&builder,
-                                  MethodRecognizer::kDoubleTruncate);
+  return BuildInvokeMathCFunction(&builder, MethodRecognizer::kDoubleTruncate);
 }
 
 
@@ -1274,8 +1158,7 @@
   TargetEntryInstr* normal_entry = graph_entry->normal_entry();
   BlockBuilder builder(flow_graph, normal_entry);
 
-  return BuildInvokeMathCFunction(&builder,
-                                  MethodRecognizer::kDoubleRound);
+  return BuildInvokeMathCFunction(&builder, MethodRecognizer::kDoubleRound);
 }
 #endif  // !defined(TARGET_ARCH_DBC)
 
diff --git a/runtime/vm/intrinsifier.h b/runtime/vm/intrinsifier.h
index 37cf5ef..c7ff0f8 100644
--- a/runtime/vm/intrinsifier.h
+++ b/runtime/vm/intrinsifier.h
@@ -38,7 +38,7 @@
  private:
   static bool CanIntrinsify(const Function& function);
 
-#define DECLARE_FUNCTION(class_name, function_name, enum_name, type, fp) \
+#define DECLARE_FUNCTION(class_name, function_name, enum_name, type, fp)       \
   static void enum_name(Assembler* assembler);
 
   ALL_INTRINSICS_LIST(DECLARE_FUNCTION)
@@ -50,7 +50,7 @@
 #undef DECLARE_FUNCTION
 
 #if !defined(TARGET_ARCH_DBC)
-#define DECLARE_FUNCTION(class_name, function_name, enum_name, type, fp) \
+#define DECLARE_FUNCTION(class_name, function_name, enum_name, type, fp)       \
   static bool Build_##enum_name(FlowGraph* flow_graph);
 
   GRAPH_INTRINSICS_LIST(DECLARE_FUNCTION)
diff --git a/runtime/vm/intrinsifier_arm.cc b/runtime/vm/intrinsifier_arm.cc
index 3be8564..949cc77 100644
--- a/runtime/vm/intrinsifier_arm.cc
+++ b/runtime/vm/intrinsifier_arm.cc
@@ -30,7 +30,9 @@
 #define __ assembler->
 
 
-intptr_t Intrinsifier::ParameterSlotFromSp() { return -1; }
+intptr_t Intrinsifier::ParameterSlotFromSp() {
+  return -1;
+}
 
 
 static bool IsABIPreservedRegister(Register reg) {
@@ -79,7 +81,7 @@
   // Note that R1 is Smi, i.e, times 2.
   ASSERT(kSmiTagShift == 1);
   __ ldr(R2, Address(SP, 0 * kWordSize));  // Value.
-  __ add(R1, R0, Operand(R1, LSL, 1));  // R1 is Smi.
+  __ add(R1, R0, Operand(R1, LSL, 1));     // R1 is Smi.
   __ StoreIntoObject(R0, FieldAddress(R1, Array::data_offset()), R2);
   // Caller is responsible for preserving the value if necessary.
   __ Ret();
@@ -104,24 +106,18 @@
   __ ldr(R1, Address(SP, kArrayOffset));  // Data argument.
   // R0 is new, no barrier needed.
   __ StoreIntoObjectNoBarrier(
-      R0,
-      FieldAddress(R0, GrowableObjectArray::data_offset()),
-      R1);
+      R0, FieldAddress(R0, GrowableObjectArray::data_offset()), R1);
 
   // R0: new growable array object start as a tagged pointer.
   // Store the type argument field in the growable array object.
   __ ldr(R1, Address(SP, kTypeArgumentsOffset));  // Type argument.
   __ StoreIntoObjectNoBarrier(
-      R0,
-      FieldAddress(R0, GrowableObjectArray::type_arguments_offset()),
-      R1);
+      R0, FieldAddress(R0, GrowableObjectArray::type_arguments_offset()), R1);
 
   // Set the length field in the growable array object to 0.
   __ LoadImmediate(R1, 0);
   __ StoreIntoObjectNoBarrier(
-      R0,
-      FieldAddress(R0, GrowableObjectArray::length_offset()),
-      R1);
+      R0, FieldAddress(R0, GrowableObjectArray::length_offset()), R1);
   __ Ret();  // Returns the newly allocated object in R0.
 
   __ Bind(&fall_through);
@@ -167,7 +163,7 @@
   Label fall_through;                                                          \
   const intptr_t kArrayLengthStackOffset = 0 * kWordSize;                      \
   NOT_IN_PRODUCT(__ MaybeTraceAllocation(cid, R2, &fall_through));             \
-  __ ldr(R2, Address(SP, kArrayLengthStackOffset));  /* Array length. */       \
+  __ ldr(R2, Address(SP, kArrayLengthStackOffset)); /* Array length. */        \
   /* Check that length is a positive Smi. */                                   \
   /* R2: requested array length argument. */                                   \
   __ tst(R2, Operand(kSmiTagMask));                                            \
@@ -189,7 +185,7 @@
                                                                                \
   /* R2: allocation size. */                                                   \
   __ adds(R1, R0, Operand(R2));                                                \
-  __ b(&fall_through, CS);  /* Fail on unsigned overflow. */                   \
+  __ b(&fall_through, CS); /* Fail on unsigned overflow. */                    \
                                                                                \
   /* Check if the allocation fits into the remaining space. */                 \
   /* R0: potential new object start. */                                        \
@@ -212,24 +208,24 @@
   /* R4: allocation stats address */                                           \
   {                                                                            \
     __ CompareImmediate(R2, RawObject::SizeTag::kMaxSizeTag);                  \
-    __ mov(R3, Operand(R2, LSL,                                                \
-        RawObject::kSizeTagPos - kObjectAlignmentLog2), LS);                   \
+    __ mov(R3,                                                                 \
+           Operand(R2, LSL, RawObject::kSizeTagPos - kObjectAlignmentLog2),    \
+           LS);                                                                \
     __ mov(R3, Operand(0), HI);                                                \
                                                                                \
     /* Get the class index and insert it into the tags. */                     \
     __ LoadImmediate(TMP, RawObject::ClassIdTag::encode(cid));                 \
     __ orr(R3, R3, Operand(TMP));                                              \
-    __ str(R3, FieldAddress(R0, type_name::tags_offset()));  /* Tags. */       \
+    __ str(R3, FieldAddress(R0, type_name::tags_offset())); /* Tags. */        \
   }                                                                            \
   /* Set the length field. */                                                  \
   /* R0: new object start as a tagged pointer. */                              \
   /* R1: new object end address. */                                            \
   /* R2: allocation size. */                                                   \
   /* R4: allocation stats address. */                                          \
-  __ ldr(R3, Address(SP, kArrayLengthStackOffset));  /* Array length. */       \
-  __ StoreIntoObjectNoBarrier(R0,                                              \
-                              FieldAddress(R0, type_name::length_offset()),    \
-                              R3);                                             \
+  __ ldr(R3, Address(SP, kArrayLengthStackOffset)); /* Array length. */        \
+  __ StoreIntoObjectNoBarrier(                                                 \
+      R0, FieldAddress(R0, type_name::length_offset()), R3);                   \
   /* Initialize all array elements to 0. */                                    \
   /* R0: new object start as a tagged pointer. */                              \
   /* R1: new object end address. */                                            \
@@ -251,16 +247,21 @@
                                                                                \
   NOT_IN_PRODUCT(__ IncrementAllocationStatsWithSize(R4, R2, space));          \
   __ Ret();                                                                    \
-  __ Bind(&fall_through);                                                      \
+  __ Bind(&fall_through);
 
 
 static int GetScaleFactor(intptr_t size) {
   switch (size) {
-    case 1: return 0;
-    case 2: return 1;
-    case 4: return 2;
-    case 8: return 3;
-    case 16: return 4;
+    case 1:
+      return 0;
+    case 2:
+      return 1;
+    case 4:
+      return 2;
+    case 8:
+      return 3;
+    case 16:
+      return 4;
   }
   UNREACHABLE();
   return -1;
@@ -268,12 +269,12 @@
 
 
 #define TYPED_DATA_ALLOCATOR(clazz)                                            \
-void Intrinsifier::TypedData_##clazz##_factory(Assembler* assembler) {         \
-  intptr_t size = TypedData::ElementSizeInBytes(kTypedData##clazz##Cid);       \
-  intptr_t max_len = TypedData::MaxElements(kTypedData##clazz##Cid);           \
-  int shift = GetScaleFactor(size);                                            \
-  TYPED_ARRAY_ALLOCATION(TypedData, kTypedData##clazz##Cid, max_len, shift);   \
-}
+  void Intrinsifier::TypedData_##clazz##_factory(Assembler* assembler) {       \
+    intptr_t size = TypedData::ElementSizeInBytes(kTypedData##clazz##Cid);     \
+    intptr_t max_len = TypedData::MaxElements(kTypedData##clazz##Cid);         \
+    int shift = GetScaleFactor(size);                                          \
+    TYPED_ARRAY_ALLOCATION(TypedData, kTypedData##clazz##Cid, max_len, shift); \
+  }
 CLASS_LIST_TYPED_DATA(TYPED_DATA_ALLOCATOR)
 #undef TYPED_DATA_ALLOCATOR
 
@@ -281,8 +282,8 @@
 // Loads args from stack into R0 and R1
 // Tests if they are smis, jumps to label not_smi if not.
 static void TestBothArgumentsSmis(Assembler* assembler, Label* not_smi) {
-  __ ldr(R0, Address(SP, + 0 * kWordSize));
-  __ ldr(R1, Address(SP, + 1 * kWordSize));
+  __ ldr(R0, Address(SP, +0 * kWordSize));
+  __ ldr(R1, Address(SP, +1 * kWordSize));
   __ orr(TMP, R0, Operand(R1));
   __ tst(TMP, Operand(kSmiTagMask));
   __ b(not_smi, NE);
@@ -293,8 +294,8 @@
 void Intrinsifier::Integer_addFromInteger(Assembler* assembler) {
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);  // Checks two smis.
-  __ adds(R0, R0, Operand(R1));  // Adds.
-  __ bx(LR, VC);  // Return if no overflow.
+  __ adds(R0, R0, Operand(R1));                     // Adds.
+  __ bx(LR, VC);                                    // Return if no overflow.
   // Otherwise fall through.
   __ Bind(&fall_through);
 }
@@ -309,7 +310,7 @@
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
   __ subs(R0, R0, Operand(R1));  // Subtract.
-  __ bx(LR, VC);  // Return if no overflow.
+  __ bx(LR, VC);                 // Return if no overflow.
   // Otherwise fall through.
   __ Bind(&fall_through);
 }
@@ -319,7 +320,7 @@
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
   __ subs(R0, R1, Operand(R0));  // Subtract.
-  __ bx(LR, VC);  // Return if no overflow.
+  __ bx(LR, VC);                 // Return if no overflow.
   // Otherwise fall through.
   __ Bind(&fall_through);
 }
@@ -328,7 +329,7 @@
 void Intrinsifier::Integer_mulFromInteger(Assembler* assembler) {
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);  // checks two smis
-  __ SmiUntag(R0);  // Untags R0. We only want result shifted by one.
+  __ SmiUntag(R0);           // Untags R0. We only want result shifted by one.
   __ smull(R0, IP, R0, R1);  // IP:R0 <- R0 * R1.
   __ cmp(IP, Operand(R0, ASR, 31));
   __ bx(LR, EQ);
@@ -404,8 +405,8 @@
   }
   // Check to see if we have integer division
   Label fall_through;
-  __ ldr(R1, Address(SP, + 0 * kWordSize));
-  __ ldr(R0, Address(SP, + 1 * kWordSize));
+  __ ldr(R1, Address(SP, +0 * kWordSize));
+  __ ldr(R0, Address(SP, +1 * kWordSize));
   __ orr(TMP, R0, Operand(R1));
   __ tst(TMP, Operand(kSmiTagMask));
   __ b(&fall_through, NE);
@@ -452,15 +453,15 @@
   // cannot tag the result.
   __ CompareImmediate(R0, 0x40000000);
   __ SmiTag(R0, NE);  // Not equal. Okay to tag and return.
-  __ bx(LR, NE);  // Return.
+  __ bx(LR, NE);      // Return.
   __ Bind(&fall_through);
 }
 
 
 void Intrinsifier::Integer_negate(Assembler* assembler) {
   Label fall_through;
-  __ ldr(R0, Address(SP, + 0 * kWordSize));  // Grab first argument.
-  __ tst(R0, Operand(kSmiTagMask));  // Test for Smi.
+  __ ldr(R0, Address(SP, +0 * kWordSize));  // Grab first argument.
+  __ tst(R0, Operand(kSmiTagMask));         // Test for Smi.
   __ b(&fall_through, NE);
   __ rsbs(R0, R0, Operand(0));  // R0 is a Smi. R0 <- 0 - R0.
   __ bx(LR, VC);  // Return if there wasn't overflow, fall through otherwise.
@@ -547,16 +548,16 @@
   // lo bits = R1 << R0
   __ LoadImmediate(NOTFP, 1);
   __ mov(NOTFP, Operand(NOTFP, LSL, R0));  // NOTFP <- 1 << R0
-  __ sub(NOTFP, NOTFP, Operand(1));  // NOTFP <- NOTFP - 1
-  __ rsb(R3, R0, Operand(32));  // R3 <- 32 - R0
+  __ sub(NOTFP, NOTFP, Operand(1));        // NOTFP <- NOTFP - 1
+  __ rsb(R3, R0, Operand(32));             // R3 <- 32 - R0
   __ mov(NOTFP, Operand(NOTFP, LSL, R3));  // NOTFP <- NOTFP << R3
-  __ and_(NOTFP, R1, Operand(NOTFP));  // NOTFP <- NOTFP & R1
+  __ and_(NOTFP, R1, Operand(NOTFP));      // NOTFP <- NOTFP & R1
   __ mov(NOTFP, Operand(NOTFP, LSR, R3));  // NOTFP <- NOTFP >> R3
   // Now NOTFP has the bits that fall off of R1 on a left shift.
   __ mov(R1, Operand(R1, LSL, R0));  // R1 gets the low bits.
 
-  const Class& mint_class = Class::Handle(
-      Isolate::Current()->object_store()->mint_class());
+  const Class& mint_class =
+      Class::Handle(Isolate::Current()->object_store()->mint_class());
   __ TryAllocate(mint_class, &fall_through, R0, R2);
 
 
@@ -902,7 +903,7 @@
 
   Label last_carry;
   __ teq(R1, Operand(R6));  // Does not affect carry flag.
-  __ b(&last_carry, EQ);  // If used - a_used == 0.
+  __ b(&last_carry, EQ);    // If used - a_used == 0.
 
   Label carry_loop;
   __ Bind(&carry_loop);
@@ -962,7 +963,7 @@
 
   Label done;
   __ teq(R1, Operand(R6));  // Does not affect carry flag.
-  __ b(&done, EQ);  // If used - a_used == 0.
+  __ b(&done, EQ);          // If used - a_used == 0.
 
   Label carry_loop;
   __ Bind(&carry_loop);
@@ -1121,7 +1122,7 @@
 
   // NOTFP = ajp = &a_digits[i]
   __ ldr(R1, Address(SP, 1 * kWordSize));  // a_digits
-  __ add(R1, R1, Operand(R2, LSL, 2));  // j == 2*i, i is Smi.
+  __ add(R1, R1, Operand(R2, LSL, 2));     // j == 2*i, i is Smi.
   __ add(NOTFP, R1, Operand(TypedData::data_offset() - kHeapObjectTag));
 
   // R8:R0 = t = x*x + *ajp
@@ -1164,7 +1165,7 @@
   __ adc(R2, R2, Operand(0));  // R2:R1:R0 = 2*x*xi.
   __ adds(R0, R0, Operand(R8));
   __ adcs(R1, R1, Operand(R9));
-  __ adc(R2, R2, Operand(0));  // R2:R1:R0 = 2*x*xi + c.
+  __ adc(R2, R2, Operand(0));     // R2:R1:R0 = 2*x*xi + c.
   __ ldr(R8, Address(NOTFP, 0));  // R8 = aj = *ajp.
   __ adds(R0, R0, Operand(R8));
   __ adcs(R8, R1, Operand(0));
@@ -1214,8 +1215,8 @@
   __ ldr(R4, Address(SP, 2 * kWordSize));  // args
 
   // R3 = rho = args[2]
-  __ ldr(R3, FieldAddress(R4,
-                          TypedData::data_offset() + 2*Bigint::kBytesPerDigit));
+  __ ldr(R3, FieldAddress(
+                 R4, TypedData::data_offset() + 2 * Bigint::kBytesPerDigit));
 
   // R2 = digits[i >> 1]
   __ ldrd(R0, R1, SP, 0 * kWordSize);  // R0 = i as Smi, R1 = digits
@@ -1226,8 +1227,8 @@
   __ umull(R0, R1, R2, R3);
 
   // args[4] = t mod DIGIT_BASE = low32(t)
-  __ str(R0,
-         FieldAddress(R4, TypedData::data_offset() + 4*Bigint::kBytesPerDigit));
+  __ str(R0, FieldAddress(
+                 R4, TypedData::data_offset() + 4 * Bigint::kBytesPerDigit));
 
   __ mov(R0, Operand(Smi::RawValue(1)));  // One digit processed.
   __ Ret();
@@ -1321,14 +1322,23 @@
     __ ldr(R0, Address(SP, 1 * kWordSize));  // Left argument.
     __ LoadDFromOffset(D0, R0, Double::value_offset() - kHeapObjectTag);
     switch (kind) {
-      case Token::kADD: __ vaddd(D0, D0, D1); break;
-      case Token::kSUB: __ vsubd(D0, D0, D1); break;
-      case Token::kMUL: __ vmuld(D0, D0, D1); break;
-      case Token::kDIV: __ vdivd(D0, D0, D1); break;
-      default: UNREACHABLE();
+      case Token::kADD:
+        __ vaddd(D0, D0, D1);
+        break;
+      case Token::kSUB:
+        __ vsubd(D0, D0, D1);
+        break;
+      case Token::kMUL:
+        __ vmuld(D0, D0, D1);
+        break;
+      case Token::kDIV:
+        __ vdivd(D0, D0, D1);
+        break;
+      default:
+        UNREACHABLE();
     }
-    const Class& double_class = Class::Handle(
-        Isolate::Current()->object_store()->double_class());
+    const Class& double_class =
+        Class::Handle(Isolate::Current()->object_store()->double_class());
     __ TryAllocate(double_class, &fall_through, R0, R1);  // Result register.
     __ StoreDToOffset(D0, R0, Double::value_offset() - kHeapObjectTag);
     __ Ret();
@@ -1377,8 +1387,8 @@
     __ ldr(R0, Address(SP, 1 * kWordSize));
     __ LoadDFromOffset(D0, R0, Double::value_offset() - kHeapObjectTag);
     __ vmuld(D0, D0, D1);
-    const Class& double_class = Class::Handle(
-        Isolate::Current()->object_store()->double_class());
+    const Class& double_class =
+        Class::Handle(Isolate::Current()->object_store()->double_class());
     __ TryAllocate(double_class, &fall_through, R0, R1);  // Result register.
     __ StoreDToOffset(D0, R0, Double::value_offset() - kHeapObjectTag);
     __ Ret();
@@ -1398,8 +1408,8 @@
     __ SmiUntag(R0);
     __ vmovsr(S0, R0);
     __ vcvtdi(D0, S0);
-    const Class& double_class = Class::Handle(
-        Isolate::Current()->object_store()->double_class());
+    const Class& double_class =
+        Class::Handle(Isolate::Current()->object_store()->double_class());
     __ TryAllocate(double_class, &fall_through, R0, R1);  // Result register.
     __ StoreDToOffset(D0, R0, Double::value_offset() - kHeapObjectTag);
     __ Ret();
@@ -1455,7 +1465,7 @@
     __ vcmpdz(D0);
     __ vmstat();
     __ b(&is_false, VS);  // NaN -> false.
-    __ b(&is_zero, EQ);  // Check for negative zero.
+    __ b(&is_zero, EQ);   // Check for negative zero.
     __ b(&is_false, CS);  // >= 0 -> false.
 
     __ Bind(&is_true);
@@ -1510,8 +1520,8 @@
     __ LoadDFromOffset(D1, R0, Double::value_offset() - kHeapObjectTag);
     __ Bind(&double_op);
     __ vsqrtd(D0, D1);
-    const Class& double_class = Class::Handle(
-        Isolate::Current()->object_store()->double_class());
+    const Class& double_class =
+        Class::Handle(Isolate::Current()->object_store()->double_class());
     __ TryAllocate(double_class, &fall_through, R0, R1);  // Result register.
     __ StoreDToOffset(D0, R0, Double::value_offset() - kHeapObjectTag);
     __ Ret();
@@ -1531,8 +1541,8 @@
 void Intrinsifier::Random_nextState(Assembler* assembler) {
   const Library& math_lib = Library::Handle(Library::MathLibrary());
   ASSERT(!math_lib.IsNull());
-  const Class& random_class = Class::Handle(
-      math_lib.LookupClassAllowPrivate(Symbols::_Random()));
+  const Class& random_class =
+      Class::Handle(math_lib.LookupClassAllowPrivate(Symbols::_Random()));
   ASSERT(!random_class.IsNull());
   const Field& state_field = Field::ZoneHandle(
       random_class.LookupInstanceFieldAllowPrivate(Symbols::_state()));
@@ -1554,8 +1564,8 @@
   // Addresses of _state[0] and _state[1].
 
   const int64_t disp_0 = Instance::DataOffsetFor(kTypedDataUint32ArrayCid);
-  const int64_t disp_1 = disp_0 +
-      Instance::ElementSizeFor(kTypedDataUint32ArrayCid);
+  const int64_t disp_1 =
+      disp_0 + Instance::ElementSizeFor(kTypedDataUint32ArrayCid);
 
   __ LoadImmediate(R0, a_int32_value);
   __ LoadFromOffset(kWord, R2, R1, disp_0 - kHeapObjectTag);
@@ -1613,16 +1623,11 @@
 
 
 static void JumpIfString(Assembler* assembler,
-                          Register cid,
-                          Register tmp,
-                          Label* target) {
-  RangeCheck(assembler,
-             cid,
-             tmp,
-             kOneByteStringCid,
-             kExternalTwoByteStringCid,
-             kIfInRange,
-             target);
+                         Register cid,
+                         Register tmp,
+                         Label* target) {
+  RangeCheck(assembler, cid, tmp, kOneByteStringCid, kExternalTwoByteStringCid,
+             kIfInRange, target);
 }
 
 
@@ -1630,13 +1635,8 @@
                             Register cid,
                             Register tmp,
                             Label* target) {
-  RangeCheck(assembler,
-             cid,
-             tmp,
-             kOneByteStringCid,
-             kExternalTwoByteStringCid,
-             kIfNotInRange,
-             target);
+  RangeCheck(assembler, cid, tmp, kOneByteStringCid, kExternalTwoByteStringCid,
+             kIfNotInRange, target);
 }
 
 
@@ -1800,9 +1800,9 @@
   __ Bind(&loop);
 
   if (receiver_cid == kOneByteStringCid) {
-    __ ldrb(R4, Address(R0, 0));     // this.codeUnitAt(i + start)
+    __ ldrb(R4, Address(R0, 0));  // this.codeUnitAt(i + start)
   } else {
-    __ ldrh(R4, Address(R0, 0));     // this.codeUnitAt(i + start)
+    __ ldrh(R4, Address(R0, 0));  // this.codeUnitAt(i + start)
   }
   if (other_cid == kOneByteStringCid) {
     __ ldrb(NOTFP, Address(R2, 0));  // other.codeUnitAt(i)
@@ -1831,7 +1831,7 @@
   __ ldr(R0, Address(SP, 2 * kWordSize));  // this
   __ ldr(R1, Address(SP, 1 * kWordSize));  // start
   __ ldr(R2, Address(SP, 0 * kWordSize));  // other
-  __ Push(R4);  // Make ARGS_DESC_REG available.
+  __ Push(R4);                             // Make ARGS_DESC_REG available.
 
   __ tst(R1, Operand(kSmiTagMask));
   __ b(&fall_through, NE);  // 'start' is not a Smi.
@@ -1842,20 +1842,16 @@
   __ CompareClassId(R0, kOneByteStringCid, R3);
   __ b(&try_two_byte, NE);
 
-  GenerateSubstringMatchesSpecialization(assembler,
-                                         kOneByteStringCid,
-                                         kOneByteStringCid,
-                                         &return_true,
+  GenerateSubstringMatchesSpecialization(assembler, kOneByteStringCid,
+                                         kOneByteStringCid, &return_true,
                                          &return_false);
 
   __ Bind(&try_two_byte);
   __ CompareClassId(R0, kTwoByteStringCid, R3);
   __ b(&fall_through, NE);
 
-  GenerateSubstringMatchesSpecialization(assembler,
-                                         kTwoByteStringCid,
-                                         kOneByteStringCid,
-                                         &return_true,
+  GenerateSubstringMatchesSpecialization(assembler, kTwoByteStringCid,
+                                         kOneByteStringCid, &return_true,
                                          &return_false);
 
   __ Bind(&return_true);
@@ -2044,14 +2040,11 @@
   }
 
   // Set the length field using the saved length (R8).
-  __ StoreIntoObjectNoBarrier(R0,
-                              FieldAddress(R0, String::length_offset()),
+  __ StoreIntoObjectNoBarrier(R0, FieldAddress(R0, String::length_offset()),
                               R8);
   // Clear hash.
   __ LoadImmediate(TMP, 0);
-  __ StoreIntoObjectNoBarrier(R0,
-                              FieldAddress(R0, String::hash_offset()),
-                              TMP);
+  __ StoreIntoObjectNoBarrier(R0, FieldAddress(R0, String::hash_offset()), TMP);
 
   NOT_IN_PRODUCT(__ IncrementAllocationStatsWithSize(R4, R2, space));
   __ b(ok);
@@ -2073,7 +2066,7 @@
 
   __ ldr(R2, Address(SP, kEndIndexOffset));
   __ ldr(TMP, Address(SP, kStartIndexOffset));
-  __ orr(R3, R2,  Operand(TMP));
+  __ orr(R3, R2, Operand(TMP));
   __ tst(R3, Operand(kSmiTagMask));
   __ b(&fall_through, NE);  // 'start', 'end' not Smi.
 
@@ -2171,8 +2164,9 @@
   // TODO(zra): try out other sequences.
   ASSERT((string_cid == kOneByteStringCid) ||
          (string_cid == kTwoByteStringCid));
-  const intptr_t offset = (string_cid == kOneByteStringCid) ?
-      OneByteString::data_offset() : TwoByteString::data_offset();
+  const intptr_t offset = (string_cid == kOneByteStringCid)
+                              ? OneByteString::data_offset()
+                              : TwoByteString::data_offset();
   __ AddImmediate(R0, offset - kHeapObjectTag);
   __ AddImmediate(R1, offset - kHeapObjectTag);
   __ SmiUntag(R2);
@@ -2258,7 +2252,7 @@
   // R0: Current user tag.
   __ ldr(R0, Address(R1, Isolate::current_tag_offset()));
   // R2: UserTag.
-  __ ldr(R2, Address(SP, + 0 * kWordSize));
+  __ ldr(R2, Address(SP, +0 * kWordSize));
   // Set Isolate::current_tag_.
   __ str(R2, Address(R1, Isolate::current_tag_offset()));
   // R2: UserTag's tag.
diff --git a/runtime/vm/intrinsifier_arm64.cc b/runtime/vm/intrinsifier_arm64.cc
index 756010b..5eba9f6 100644
--- a/runtime/vm/intrinsifier_arm64.cc
+++ b/runtime/vm/intrinsifier_arm64.cc
@@ -29,7 +29,9 @@
 #define __ assembler->
 
 
-intptr_t Intrinsifier::ParameterSlotFromSp() { return -1; }
+intptr_t Intrinsifier::ParameterSlotFromSp() {
+  return -1;
+}
 
 
 static bool IsABIPreservedRegister(Register reg) {
@@ -83,10 +85,8 @@
   // Note that R1 is Smi, i.e, times 2.
   ASSERT(kSmiTagShift == 1);
   __ ldr(R2, Address(SP, 0 * kWordSize));  // Value.
-  __ add(R1, R0, Operand(R1, LSL, 2));  // R1 is Smi.
-  __ StoreIntoObject(R0,
-                     FieldAddress(R1, Array::data_offset()),
-                     R2);
+  __ add(R1, R0, Operand(R1, LSL, 2));     // R1 is Smi.
+  __ StoreIntoObject(R0, FieldAddress(R1, Array::data_offset()), R2);
   // Caller is responsible for preserving the value if necessary.
   __ ret();
   __ Bind(&fall_through);
@@ -110,17 +110,13 @@
   __ ldr(R1, Address(SP, kArrayOffset));  // Data argument.
   // R0 is new, no barrier needed.
   __ StoreIntoObjectNoBarrier(
-      R0,
-      FieldAddress(R0, GrowableObjectArray::data_offset()),
-      R1);
+      R0, FieldAddress(R0, GrowableObjectArray::data_offset()), R1);
 
   // R0: new growable array object start as a tagged pointer.
   // Store the type argument field in the growable array object.
   __ ldr(R1, Address(SP, kTypeArgumentsOffset));  // Type argument.
   __ StoreIntoObjectNoBarrier(
-      R0,
-      FieldAddress(R0, GrowableObjectArray::type_arguments_offset()),
-      R1);
+      R0, FieldAddress(R0, GrowableObjectArray::type_arguments_offset()), R1);
 
   // Set the length field in the growable array object to 0.
   __ LoadImmediate(R1, 0);
@@ -158,9 +154,7 @@
   __ ldr(R0, Address(SP, 0 * kWordSize));  // Value.
   ASSERT(kSmiTagShift == 1);
   __ add(R1, R2, Operand(R1, LSL, 2));
-  __ StoreIntoObject(R2,
-                     FieldAddress(R1, Array::data_offset()),
-                     R0);
+  __ StoreIntoObject(R2, FieldAddress(R1, Array::data_offset()), R0);
   __ LoadObject(R0, Object::null_object());
   __ ret();
   __ Bind(&fall_through);
@@ -169,11 +163,16 @@
 
 static int GetScaleFactor(intptr_t size) {
   switch (size) {
-    case 1: return 0;
-    case 2: return 1;
-    case 4: return 2;
-    case 8: return 3;
-    case 16: return 4;
+    case 1:
+      return 0;
+    case 2:
+      return 1;
+    case 4:
+      return 2;
+    case 8:
+      return 3;
+    case 16:
+      return 4;
   }
   UNREACHABLE();
   return -1;
@@ -184,7 +183,7 @@
   Label fall_through;                                                          \
   const intptr_t kArrayLengthStackOffset = 0 * kWordSize;                      \
   NOT_IN_PRODUCT(__ MaybeTraceAllocation(cid, R2, &fall_through));             \
-  __ ldr(R2, Address(SP, kArrayLengthStackOffset));  /* Array length. */       \
+  __ ldr(R2, Address(SP, kArrayLengthStackOffset)); /* Array length. */        \
   /* Check that length is a positive Smi. */                                   \
   /* R2: requested array length argument. */                                   \
   __ tsti(R2, Immediate(kSmiTagMask));                                         \
@@ -206,7 +205,7 @@
                                                                                \
   /* R2: allocation size. */                                                   \
   __ adds(R1, R0, Operand(R2));                                                \
-  __ b(&fall_through, CS);  /* Fail on unsigned overflow. */                   \
+  __ b(&fall_through, CS); /* Fail on unsigned overflow. */                    \
                                                                                \
   /* Check if the allocation fits into the remaining space. */                 \
   /* R0: potential new object start. */                                        \
@@ -234,15 +233,14 @@
     /* Get the class index and insert it into the tags. */                     \
     __ LoadImmediate(TMP, RawObject::ClassIdTag::encode(cid));                 \
     __ orr(R2, R2, Operand(TMP));                                              \
-    __ str(R2, FieldAddress(R0, type_name::tags_offset()));  /* Tags. */       \
+    __ str(R2, FieldAddress(R0, type_name::tags_offset())); /* Tags. */        \
   }                                                                            \
   /* Set the length field. */                                                  \
   /* R0: new object start as a tagged pointer. */                              \
   /* R1: new object end address. */                                            \
-  __ ldr(R2, Address(SP, kArrayLengthStackOffset));  /* Array length. */       \
-  __ StoreIntoObjectNoBarrier(R0,                                              \
-                              FieldAddress(R0, type_name::length_offset()),    \
-                              R2);                                             \
+  __ ldr(R2, Address(SP, kArrayLengthStackOffset)); /* Array length. */        \
+  __ StoreIntoObjectNoBarrier(                                                 \
+      R0, FieldAddress(R0, type_name::length_offset()), R2);                   \
   /* Initialize all array elements to 0. */                                    \
   /* R0: new object start as a tagged pointer. */                              \
   /* R1: new object end address. */                                            \
@@ -261,16 +259,16 @@
   __ Bind(&done);                                                              \
                                                                                \
   __ ret();                                                                    \
-  __ Bind(&fall_through);                                                      \
+  __ Bind(&fall_through);
 
 
 #define TYPED_DATA_ALLOCATOR(clazz)                                            \
-void Intrinsifier::TypedData_##clazz##_factory(Assembler* assembler) {         \
-  intptr_t size = TypedData::ElementSizeInBytes(kTypedData##clazz##Cid);       \
-  intptr_t max_len = TypedData::MaxElements(kTypedData##clazz##Cid);           \
-  int shift = GetScaleFactor(size);                                            \
-  TYPED_ARRAY_ALLOCATION(TypedData, kTypedData##clazz##Cid, max_len, shift);   \
-}
+  void Intrinsifier::TypedData_##clazz##_factory(Assembler* assembler) {       \
+    intptr_t size = TypedData::ElementSizeInBytes(kTypedData##clazz##Cid);     \
+    intptr_t max_len = TypedData::MaxElements(kTypedData##clazz##Cid);         \
+    int shift = GetScaleFactor(size);                                          \
+    TYPED_ARRAY_ALLOCATION(TypedData, kTypedData##clazz##Cid, max_len, shift); \
+  }
 CLASS_LIST_TYPED_DATA(TYPED_DATA_ALLOCATOR)
 #undef TYPED_DATA_ALLOCATOR
 
@@ -278,8 +276,8 @@
 // Loads args from stack into R0 and R1
 // Tests if they are smis, jumps to label not_smi if not.
 static void TestBothArgumentsSmis(Assembler* assembler, Label* not_smi) {
-  __ ldr(R0, Address(SP, + 0 * kWordSize));
-  __ ldr(R1, Address(SP, + 1 * kWordSize));
+  __ ldr(R0, Address(SP, +0 * kWordSize));
+  __ ldr(R1, Address(SP, +1 * kWordSize));
   __ orr(TMP, R0, Operand(R1));
   __ tsti(TMP, Immediate(kSmiTagMask));
   __ b(not_smi, NE);
@@ -289,8 +287,8 @@
 void Intrinsifier::Integer_addFromInteger(Assembler* assembler) {
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);  // Checks two smis.
-  __ adds(R0, R0, Operand(R1));  // Adds.
-  __ b(&fall_through, VS);  // Fall-through on overflow.
+  __ adds(R0, R0, Operand(R1));                     // Adds.
+  __ b(&fall_through, VS);                          // Fall-through on overflow.
   __ ret();
   __ Bind(&fall_through);
 }
@@ -305,7 +303,7 @@
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
   __ subs(R0, R0, Operand(R1));  // Subtract.
-  __ b(&fall_through, VS);  // Fall-through on overflow.
+  __ b(&fall_through, VS);       // Fall-through on overflow.
   __ ret();
   __ Bind(&fall_through);
 }
@@ -315,7 +313,7 @@
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
   __ subs(R0, R1, Operand(R0));  // Subtract.
-  __ b(&fall_through, VS);  // Fall-through on overflow.
+  __ b(&fall_through, VS);       // Fall-through on overflow.
   __ ret();
   __ Bind(&fall_through);
 }
@@ -404,8 +402,8 @@
 void Intrinsifier::Integer_moduloFromInteger(Assembler* assembler) {
   // Check to see if we have integer division
   Label neg_remainder, fall_through;
-  __ ldr(R1, Address(SP, + 0 * kWordSize));
-  __ ldr(R0, Address(SP, + 1 * kWordSize));
+  __ ldr(R1, Address(SP, +0 * kWordSize));
+  __ ldr(R0, Address(SP, +1 * kWordSize));
   __ orr(TMP, R0, Operand(R1));
   __ tsti(TMP, Immediate(kSmiTagMask));
   __ b(&fall_through, NE);
@@ -453,15 +451,15 @@
   __ CompareImmediate(R0, 0x4000000000000000);
   __ b(&fall_through, EQ);
   __ SmiTag(R0);  // Not equal. Okay to tag and return.
-  __ ret();  // Return.
+  __ ret();       // Return.
   __ Bind(&fall_through);
 }
 
 
 void Intrinsifier::Integer_negate(Assembler* assembler) {
   Label fall_through;
-  __ ldr(R0, Address(SP, + 0 * kWordSize));  // Grab first argument.
-  __ tsti(R0, Immediate(kSmiTagMask));  // Test for Smi.
+  __ ldr(R0, Address(SP, +0 * kWordSize));  // Grab first argument.
+  __ tsti(R0, Immediate(kSmiTagMask));      // Test for Smi.
   __ b(&fall_through, NE);
   __ negs(R0, R0);
   __ b(&fall_through, VS);
@@ -523,8 +521,7 @@
   Label fall_through;
 
   TestBothArgumentsSmis(assembler, &fall_through);
-  __ CompareImmediate(
-      right, reinterpret_cast<int64_t>(Smi::New(Smi::kBits)));
+  __ CompareImmediate(right, reinterpret_cast<int64_t>(Smi::New(Smi::kBits)));
   __ b(&fall_through, CS);
 
   // Left is not a constant.
@@ -813,24 +810,24 @@
   Label add_loop;
   __ Bind(&add_loop);
   // Loop (a_used+1)/2 times, a_used > 0.
-  __ ldr(R0, Address(R3, 2*Bigint::kBytesPerDigit, Address::PostIndex));
-  __ ldr(R1, Address(R5, 2*Bigint::kBytesPerDigit, Address::PostIndex));
+  __ ldr(R0, Address(R3, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
+  __ ldr(R1, Address(R5, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
   __ adcs(R0, R0, R1);
   __ sub(R9, R3, Operand(R7));  // Does not affect carry flag.
-  __ str(R0, Address(R6, 2*Bigint::kBytesPerDigit, Address::PostIndex));
+  __ str(R0, Address(R6, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
   __ cbnz(&add_loop, R9);  // Does not affect carry flag.
 
   Label last_carry;
   __ sub(R9, R3, Operand(R8));  // Does not affect carry flag.
-  __ cbz(&last_carry, R9);  // If used - a_used == 0.
+  __ cbz(&last_carry, R9);      // If used - a_used == 0.
 
   Label carry_loop;
   __ Bind(&carry_loop);
   // Loop (used+1)/2 - (a_used+1)/2 times, used - a_used > 0.
-  __ ldr(R0, Address(R3, 2*Bigint::kBytesPerDigit, Address::PostIndex));
+  __ ldr(R0, Address(R3, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
   __ adcs(R0, R0, ZR);
   __ sub(R9, R3, Operand(R8));  // Does not affect carry flag.
-  __ str(R0, Address(R6, 2*Bigint::kBytesPerDigit, Address::PostIndex));
+  __ str(R0, Address(R6, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
   __ cbnz(&carry_loop, R9);
 
   __ Bind(&last_carry);
@@ -879,24 +876,24 @@
   Label sub_loop;
   __ Bind(&sub_loop);
   // Loop (a_used+1)/2 times, a_used > 0.
-  __ ldr(R0, Address(R3, 2*Bigint::kBytesPerDigit, Address::PostIndex));
-  __ ldr(R1, Address(R5, 2*Bigint::kBytesPerDigit, Address::PostIndex));
+  __ ldr(R0, Address(R3, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
+  __ ldr(R1, Address(R5, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
   __ sbcs(R0, R0, R1);
   __ sub(R9, R3, Operand(R7));  // Does not affect carry flag.
-  __ str(R0, Address(R6, 2*Bigint::kBytesPerDigit, Address::PostIndex));
+  __ str(R0, Address(R6, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
   __ cbnz(&sub_loop, R9);  // Does not affect carry flag.
 
   Label done;
   __ sub(R9, R3, Operand(R8));  // Does not affect carry flag.
-  __ cbz(&done, R9);  // If used - a_used == 0.
+  __ cbz(&done, R9);            // If used - a_used == 0.
 
   Label carry_loop;
   __ Bind(&carry_loop);
   // Loop (used+1)/2 - (a_used+1)/2 times, used - a_used > 0.
-  __ ldr(R0, Address(R3, 2*Bigint::kBytesPerDigit, Address::PostIndex));
+  __ ldr(R0, Address(R3, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
   __ sbcs(R0, R0, ZR);
   __ sub(R9, R3, Operand(R8));  // Does not affect carry flag.
-  __ str(R0, Address(R6, 2*Bigint::kBytesPerDigit, Address::PostIndex));
+  __ str(R0, Address(R6, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
   __ cbnz(&carry_loop, R9);
 
   __ Bind(&done);
@@ -974,21 +971,21 @@
   // t:   R7:R8 (not live at loop entry)
 
   // uint64_t mi = *mip++
-  __ ldr(R2, Address(R4, 2*Bigint::kBytesPerDigit, Address::PostIndex));
+  __ ldr(R2, Address(R4, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
 
   // uint64_t aj = *ajp
   __ ldr(R0, Address(R5, 0));
 
   // uint128_t t = x*mi + aj + c
-  __ mul(R7, R2, R3);  // R7 = low64(R2*R3).
+  __ mul(R7, R2, R3);    // R7 = low64(R2*R3).
   __ umulh(R8, R2, R3);  // R8 = high64(R2*R3), t = R8:R7 = x*mi.
   __ adds(R7, R7, Operand(R0));
-  __ adc(R8, R8, ZR);  // t += aj.
+  __ adc(R8, R8, ZR);            // t += aj.
   __ adds(R0, R7, Operand(R1));  // t += c, R0 = low64(t).
-  __ adc(R1, R8, ZR);  // c = R1 = high64(t).
+  __ adc(R1, R8, ZR);            // c = R1 = high64(t).
 
   // *ajp++ = low64(t) = R0
-  __ str(R0, Address(R5, 2*Bigint::kBytesPerDigit, Address::PostIndex));
+  __ str(R0, Address(R5, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
 
   // while (--n > 0)
   __ subs(R6, R6, Operand(1));  // --n
@@ -1000,14 +997,14 @@
   // *ajp++ += c
   __ ldr(R0, Address(R5, 0));
   __ adds(R0, R0, Operand(R1));
-  __ str(R0, Address(R5, 2*Bigint::kBytesPerDigit, Address::PostIndex));
+  __ str(R0, Address(R5, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
   __ b(&done, CC);
 
   Label propagate_carry_loop;
   __ Bind(&propagate_carry_loop);
   __ ldr(R0, Address(R5, 0));
   __ adds(R0, R0, Operand(1));
-  __ str(R0, Address(R5, 2*Bigint::kBytesPerDigit, Address::PostIndex));
+  __ str(R0, Address(R5, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
   __ b(&propagate_carry_loop, CS);
 
   __ Bind(&done);
@@ -1051,31 +1048,31 @@
 
   // R3 = x = *xip++, return if x == 0
   Label x_zero;
-  __ ldr(R3, Address(R4, 2*Bigint::kBytesPerDigit, Address::PostIndex));
+  __ ldr(R3, Address(R4, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
   __ tst(R3, Operand(R3));
   __ b(&x_zero, EQ);
 
   // R5 = ajp = &a_digits[i]
   __ ldr(R1, Address(SP, 1 * kWordSize));  // a_digits
-  __ add(R1, R1, Operand(R2, LSL, 2));  // j == 2*i, i is Smi.
+  __ add(R1, R1, Operand(R2, LSL, 2));     // j == 2*i, i is Smi.
   __ add(R5, R1, Operand(TypedData::data_offset() - kHeapObjectTag));
 
   // R6:R1 = t = x*x + *ajp
   __ ldr(R0, Address(R5, 0));
-  __ mul(R1, R3, R3);  // R1 = low64(R3*R3).
-  __ umulh(R6, R3, R3);  // R6 = high64(R3*R3).
+  __ mul(R1, R3, R3);            // R1 = low64(R3*R3).
+  __ umulh(R6, R3, R3);          // R6 = high64(R3*R3).
   __ adds(R1, R1, Operand(R0));  // R6:R1 += *ajp.
-  __ adc(R6, R6, ZR);  // R6 = low64(c) = high64(t).
-  __ mov(R7, ZR);  // R7 = high64(c) = 0.
+  __ adc(R6, R6, ZR);            // R6 = low64(c) = high64(t).
+  __ mov(R7, ZR);                // R7 = high64(c) = 0.
 
   // *ajp++ = low64(t) = R1
-  __ str(R1, Address(R5, 2*Bigint::kBytesPerDigit, Address::PostIndex));
+  __ str(R1, Address(R5, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
 
   // int n = (used - i + 1)/2 - 1
   __ ldr(R0, Address(SP, 0 * kWordSize));  // used is Smi
   __ sub(R8, R0, Operand(R2));
   __ add(R8, R8, Operand(2));
-  __ movn(R0, Immediate(1), 0);  // R0 = ~1 = -2.
+  __ movn(R0, Immediate(1), 0);          // R0 = ~1 = -2.
   __ adds(R8, R0, Operand(R8, ASR, 2));  // while (--n >= 0)
 
   Label loop, done;
@@ -1090,24 +1087,24 @@
   // n:   R8
 
   // uint64_t xi = *xip++
-  __ ldr(R2, Address(R4, 2*Bigint::kBytesPerDigit, Address::PostIndex));
+  __ ldr(R2, Address(R4, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
 
   // uint192_t t = R2:R1:R0 = 2*x*xi + aj + c
-  __ mul(R0, R2, R3);  // R0 = low64(R2*R3) = low64(x*xi).
+  __ mul(R0, R2, R3);    // R0 = low64(R2*R3) = low64(x*xi).
   __ umulh(R1, R2, R3);  // R1 = high64(R2*R3) = high64(x*xi).
   __ adds(R0, R0, Operand(R0));
   __ adcs(R1, R1, R1);
   __ adc(R2, ZR, ZR);  // R2:R1:R0 = R1:R0 + R1:R0 = 2*x*xi.
   __ adds(R0, R0, Operand(R6));
   __ adcs(R1, R1, R7);
-  __ adc(R2, R2, ZR);  // R2:R1:R0 += c.
+  __ adc(R2, R2, ZR);          // R2:R1:R0 += c.
   __ ldr(R7, Address(R5, 0));  // R7 = aj = *ajp.
   __ adds(R0, R0, Operand(R7));
   __ adcs(R6, R1, ZR);
   __ adc(R7, R2, ZR);  // R7:R6:R0 = 2*x*xi + aj + c.
 
   // *ajp++ = low64(t) = R0
-  __ str(R0, Address(R5, 2*Bigint::kBytesPerDigit, Address::PostIndex));
+  __ str(R0, Address(R5, 2 * Bigint::kBytesPerDigit, Address::PostIndex));
 
   // while (--n >= 0)
   __ subs(R8, R8, Operand(1));  // --n
@@ -1198,8 +1195,8 @@
   __ b(&return_qd, EQ);
 
   // R1 = dl = digits[(i >> 1) - 3 .. (i >> 1) - 2]
-  __ ldr(R1,
-         FieldAddress(R1, TypedData::data_offset() - 3*Bigint::kBytesPerDigit));
+  __ ldr(R1, FieldAddress(
+                 R1, TypedData::data_offset() - 3 * Bigint::kBytesPerDigit));
 
   // R5 = yth = yt >> 32
   __ orr(R5, ZR, Operand(R3, LSR, 32));
@@ -1297,8 +1294,8 @@
 
   __ Bind(&return_qd);
   // args[2..3] = qd
-  __ str(R0,
-         FieldAddress(R4, TypedData::data_offset() + 2*Bigint::kBytesPerDigit));
+  __ str(R0, FieldAddress(
+                 R4, TypedData::data_offset() + 2 * Bigint::kBytesPerDigit));
 
   __ LoadImmediate(R0, Smi::RawValue(2));  // Two digits processed.
   __ ret();
@@ -1319,8 +1316,8 @@
   __ ldr(R4, Address(SP, 2 * kWordSize));  // args
 
   // R3 = rho = args[2..3]
-  __ ldr(R3,
-         FieldAddress(R4, TypedData::data_offset() + 2*Bigint::kBytesPerDigit));
+  __ ldr(R3, FieldAddress(
+                 R4, TypedData::data_offset() + 2 * Bigint::kBytesPerDigit));
 
   // R2 = digits[i >> 1 .. (i >> 1) + 1]
   // R0 = i as Smi, R1 = digits
@@ -1332,8 +1329,8 @@
   __ mul(R0, R2, R3);  // R0 = low64(R2*R3).
 
   // args[4 .. 5] = R0
-  __ str(R0,
-         FieldAddress(R4, TypedData::data_offset() + 4*Bigint::kBytesPerDigit));
+  __ str(R0, FieldAddress(
+                 R4, TypedData::data_offset() + 4 * Bigint::kBytesPerDigit));
 
   __ LoadImmediate(R0, Smi::RawValue(2));  // Two digits processed.
   __ ret();
@@ -1425,14 +1422,23 @@
   __ ldr(R0, Address(SP, 1 * kWordSize));  // Left argument.
   __ LoadDFieldFromOffset(V0, R0, Double::value_offset());
   switch (kind) {
-    case Token::kADD: __ faddd(V0, V0, V1); break;
-    case Token::kSUB: __ fsubd(V0, V0, V1); break;
-    case Token::kMUL: __ fmuld(V0, V0, V1); break;
-    case Token::kDIV: __ fdivd(V0, V0, V1); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ faddd(V0, V0, V1);
+      break;
+    case Token::kSUB:
+      __ fsubd(V0, V0, V1);
+      break;
+    case Token::kMUL:
+      __ fmuld(V0, V0, V1);
+      break;
+    case Token::kDIV:
+      __ fdivd(V0, V0, V1);
+      break;
+    default:
+      UNREACHABLE();
   }
-  const Class& double_class = Class::Handle(
-      Isolate::Current()->object_store()->double_class());
+  const Class& double_class =
+      Class::Handle(Isolate::Current()->object_store()->double_class());
   __ TryAllocate(double_class, &fall_through, R0, R1);
   __ StoreDFieldToOffset(V0, R0, Double::value_offset());
   __ ret();
@@ -1479,8 +1485,8 @@
   __ ldr(R0, Address(SP, 1 * kWordSize));
   __ LoadDFieldFromOffset(V0, R0, Double::value_offset());
   __ fmuld(V0, V0, V1);
-  const Class& double_class = Class::Handle(
-      Isolate::Current()->object_store()->double_class());
+  const Class& double_class =
+      Class::Handle(Isolate::Current()->object_store()->double_class());
   __ TryAllocate(double_class, &fall_through, R0, R1);
   __ StoreDFieldToOffset(V0, R0, Double::value_offset());
   __ ret();
@@ -1497,8 +1503,8 @@
   // Is Smi.
   __ SmiUntag(R0);
   __ scvtfdx(V0, R0);
-  const Class& double_class = Class::Handle(
-      Isolate::Current()->object_store()->double_class());
+  const Class& double_class =
+      Class::Handle(Isolate::Current()->object_store()->double_class());
   __ TryAllocate(double_class, &fall_through, R0, R1);
   __ StoreDFieldToOffset(V0, R0, Double::value_offset());
   __ ret();
@@ -1542,7 +1548,7 @@
   __ LoadObject(true_reg, Bool::True());
   __ LoadObject(false_reg, Bool::False());
   __ b(&is_false, VS);  // NaN -> false.
-  __ b(&is_zero, EQ);  // Check for negative zero.
+  __ b(&is_zero, EQ);   // Check for negative zero.
   __ b(&is_false, CS);  // >= 0 -> false.
 
   __ Bind(&is_true);
@@ -1590,8 +1596,8 @@
   __ LoadDFieldFromOffset(V1, R0, Double::value_offset());
   __ Bind(&double_op);
   __ fsqrtd(V0, V1);
-  const Class& double_class = Class::Handle(
-      Isolate::Current()->object_store()->double_class());
+  const Class& double_class =
+      Class::Handle(Isolate::Current()->object_store()->double_class());
   __ TryAllocate(double_class, &fall_through, R0, R1);
   __ StoreDFieldToOffset(V0, R0, Double::value_offset());
   __ ret();
@@ -1609,8 +1615,8 @@
 void Intrinsifier::Random_nextState(Assembler* assembler) {
   const Library& math_lib = Library::Handle(Library::MathLibrary());
   ASSERT(!math_lib.IsNull());
-  const Class& random_class = Class::Handle(
-      math_lib.LookupClassAllowPrivate(Symbols::_Random()));
+  const Class& random_class =
+      Class::Handle(math_lib.LookupClassAllowPrivate(Symbols::_Random()));
   ASSERT(!random_class.IsNull());
   const Field& state_field = Field::ZoneHandle(
       random_class.LookupInstanceFieldAllowPrivate(Symbols::_state()));
@@ -1687,16 +1693,11 @@
 
 
 static void JumpIfString(Assembler* assembler,
-                          Register cid,
-                          Register tmp,
-                          Label* target) {
-  RangeCheck(assembler,
-             cid,
-             tmp,
-             kOneByteStringCid,
-             kExternalTwoByteStringCid,
-             kIfInRange,
-             target);
+                         Register cid,
+                         Register tmp,
+                         Label* target) {
+  RangeCheck(assembler, cid, tmp, kOneByteStringCid, kExternalTwoByteStringCid,
+             kIfInRange, target);
 }
 
 
@@ -1704,13 +1705,8 @@
                             Register cid,
                             Register tmp,
                             Label* target) {
-  RangeCheck(assembler,
-             cid,
-             tmp,
-             kOneByteStringCid,
-             kExternalTwoByteStringCid,
-             kIfNotInRange,
-             target);
+  RangeCheck(assembler, cid, tmp, kOneByteStringCid, kExternalTwoByteStringCid,
+             kIfNotInRange, target);
 }
 
 
@@ -1915,20 +1911,16 @@
   __ CompareClassId(R0, kOneByteStringCid);
   __ b(&fall_through, NE);
 
-  GenerateSubstringMatchesSpecialization(assembler,
-                                         kOneByteStringCid,
-                                         kOneByteStringCid,
-                                         &return_true,
+  GenerateSubstringMatchesSpecialization(assembler, kOneByteStringCid,
+                                         kOneByteStringCid, &return_true,
                                          &return_false);
 
   __ Bind(&try_two_byte);
   __ CompareClassId(R0, kTwoByteStringCid);
   __ b(&fall_through, NE);
 
-  GenerateSubstringMatchesSpecialization(assembler,
-                                         kTwoByteStringCid,
-                                         kOneByteStringCid,
-                                         &return_true,
+  GenerateSubstringMatchesSpecialization(assembler, kTwoByteStringCid,
+                                         kOneByteStringCid, &return_true,
                                          &return_false);
 
   __ Bind(&return_true);
@@ -1963,8 +1955,7 @@
   __ CompareImmediate(R1, Symbols::kNumberOfOneCharCodeSymbols);
   __ b(&fall_through, GE);
   __ ldr(R0, Address(THR, Thread::predefined_symbols_address_offset()));
-  __ AddImmediate(
-      R0, R0, Symbols::kNullCharCodeSymbolOffset * kWordSize);
+  __ AddImmediate(R0, R0, Symbols::kNullCharCodeSymbolOffset * kWordSize);
   __ ldr(R0, Address(R0, R1, UXTX, Address::Scaled));
   __ ret();
 
@@ -1977,8 +1968,7 @@
   __ CompareImmediate(R1, Symbols::kNumberOfOneCharCodeSymbols);
   __ b(&fall_through, GE);
   __ ldr(R0, Address(THR, Thread::predefined_symbols_address_offset()));
-  __ AddImmediate(
-      R0, R0, Symbols::kNullCharCodeSymbolOffset * kWordSize);
+  __ AddImmediate(R0, R0, Symbols::kNullCharCodeSymbolOffset * kWordSize);
   __ ldr(R0, Address(R0, R1, UXTX, Address::Scaled));
   __ ret();
 
@@ -2046,8 +2036,7 @@
   __ eorw(R0, R0, Operand(R0, LSR, 11));
   __ addw(R0, R0, Operand(R0, LSL, 15));
   // hash_ = hash_ & ((static_cast<intptr_t>(1) << bits) - 1);
-  __ AndImmediate(
-      R0, R0, (static_cast<intptr_t>(1) << String::kHashBits) - 1);
+  __ AndImmediate(R0, R0, (static_cast<intptr_t>(1) << String::kHashBits) - 1);
   __ CompareRegisters(R0, ZR);
   // return hash_ == 0 ? 1 : hash_;
   __ Bind(&done);
@@ -2118,8 +2107,7 @@
   }
 
   // Set the length field using the saved length (R6).
-  __ StoreIntoObjectNoBarrier(R0,
-                              FieldAddress(R0, String::length_offset()),
+  __ StoreIntoObjectNoBarrier(R0, FieldAddress(R0, String::length_offset()),
                               R6);
   // Clear hash.
   __ mov(TMP, ZR);
@@ -2143,7 +2131,7 @@
 
   __ ldr(R2, Address(SP, kEndIndexOffset));
   __ ldr(TMP, Address(SP, kStartIndexOffset));
-  __ orr(R3, R2,  Operand(TMP));
+  __ orr(R3, R2, Operand(TMP));
   __ tsti(R3, Immediate(kSmiTagMask));
   __ b(&fall_through, NE);  // 'start', 'end' not Smi.
 
@@ -2242,8 +2230,9 @@
   // TODO(zra): try out other sequences.
   ASSERT((string_cid == kOneByteStringCid) ||
          (string_cid == kTwoByteStringCid));
-  const intptr_t offset = (string_cid == kOneByteStringCid) ?
-      OneByteString::data_offset() : TwoByteString::data_offset();
+  const intptr_t offset = (string_cid == kOneByteStringCid)
+                              ? OneByteString::data_offset()
+                              : TwoByteString::data_offset();
   __ AddImmediate(R0, R0, offset - kHeapObjectTag);
   __ AddImmediate(R1, R1, offset - kHeapObjectTag);
   __ SmiUntag(R2);
@@ -2329,7 +2318,7 @@
   // R0: Current user tag.
   __ ldr(R0, Address(R1, Isolate::current_tag_offset()));
   // R2: UserTag.
-  __ ldr(R2, Address(SP, + 0 * kWordSize));
+  __ ldr(R2, Address(SP, +0 * kWordSize));
   // Set Isolate::current_tag_.
   __ str(R2, Address(R1, Isolate::current_tag_offset()));
   // R2: UserTag's tag.
diff --git a/runtime/vm/intrinsifier_dbc.cc b/runtime/vm/intrinsifier_dbc.cc
index 3d0b5d1..e967468 100644
--- a/runtime/vm/intrinsifier_dbc.cc
+++ b/runtime/vm/intrinsifier_dbc.cc
@@ -21,14 +21,16 @@
 
 DECLARE_FLAG(bool, interpret_irregexp);
 
-intptr_t Intrinsifier::ParameterSlotFromSp() { return -1; }
+intptr_t Intrinsifier::ParameterSlotFromSp() {
+  return -1;
+}
 
 #define DEFINE_FUNCTION(class_name, test_function_name, enum_name, type, fp)   \
   void Intrinsifier::enum_name(Assembler* assembler) {                         \
     if (Simulator::IsSupportedIntrinsic(Simulator::k##enum_name##Intrinsic)) { \
       assembler->Intrinsic(Simulator::k##enum_name##Intrinsic);                \
     }                                                                          \
-  }                                                                            \
+  }
 
 ALL_INTRINSICS_LIST(DEFINE_FUNCTION)
 GRAPH_INTRINSICS_LIST(DEFINE_FUNCTION)
diff --git a/runtime/vm/intrinsifier_ia32.cc b/runtime/vm/intrinsifier_ia32.cc
index 8f4d865..2e810d9a4 100644
--- a/runtime/vm/intrinsifier_ia32.cc
+++ b/runtime/vm/intrinsifier_ia32.cc
@@ -37,7 +37,9 @@
 #define __ assembler->
 
 
-intptr_t Intrinsifier::ParameterSlotFromSp() { return 0; }
+intptr_t Intrinsifier::ParameterSlotFromSp() {
+  return 0;
+}
 
 
 void Intrinsifier::IntrinsicCallPrologue(Assembler* assembler) {
@@ -56,8 +58,8 @@
 
 static intptr_t ComputeObjectArrayTypeArgumentsOffset() {
   const Library& core_lib = Library::Handle(Library::CoreLibrary());
-  const Class& cls = Class::Handle(
-      core_lib.LookupClassAllowPrivate(Symbols::_List()));
+  const Class& cls =
+      Class::Handle(core_lib.LookupClassAllowPrivate(Symbols::_List()));
   ASSERT(!cls.IsNull());
   ASSERT(cls.NumTypeArguments() == 1);
   const intptr_t field_offset = cls.type_arguments_field_offset();
@@ -77,12 +79,12 @@
     const Immediate& raw_null =
         Immediate(reinterpret_cast<intptr_t>(Object::null()));
     Label checked_ok;
-    __ movl(EDI, Address(ESP, + 1 * kWordSize));  // Value.
+    __ movl(EDI, Address(ESP, +1 * kWordSize));  // Value.
     // Null value is valid for any type.
     __ cmpl(EDI, raw_null);
     __ j(EQUAL, &checked_ok, Assembler::kNearJump);
 
-    __ movl(EBX, Address(ESP, + 3 * kWordSize));  // Array.
+    __ movl(EBX, Address(ESP, +3 * kWordSize));  // Array.
     __ movl(EBX, FieldAddress(EBX, type_args_field_offset));
     // EBX: Type arguments of array.
     __ cmpl(EBX, raw_null);
@@ -91,21 +93,21 @@
     // Get type at index 0.
     __ movl(EAX, FieldAddress(EBX, TypeArguments::type_at_offset(0)));
     __ CompareObject(EAX, Object::dynamic_type());
-    __ j(EQUAL,  &checked_ok, Assembler::kNearJump);
+    __ j(EQUAL, &checked_ok, Assembler::kNearJump);
     // Check for int and num.
     __ testl(EDI, Immediate(kSmiTagMask));  // Value is Smi?
-    __ j(NOT_ZERO, &fall_through);  // Non-smi value.
+    __ j(NOT_ZERO, &fall_through);          // Non-smi value.
     __ CompareObject(EAX, Type::ZoneHandle(Type::IntType()));
-    __ j(EQUAL,  &checked_ok, Assembler::kNearJump);
+    __ j(EQUAL, &checked_ok, Assembler::kNearJump);
     __ CompareObject(EAX, Type::ZoneHandle(Type::Number()));
     __ j(NOT_EQUAL, &fall_through);
     __ Bind(&checked_ok);
   }
-  __ movl(EBX, Address(ESP, + 2 * kWordSize));  // Index.
+  __ movl(EBX, Address(ESP, +2 * kWordSize));  // Index.
   __ testl(EBX, Immediate(kSmiTagMask));
   // Index not Smi.
   __ j(NOT_ZERO, &fall_through);
-  __ movl(EAX, Address(ESP, + 3 * kWordSize));  // Array.
+  __ movl(EAX, Address(ESP, +3 * kWordSize));  // Array.
   // Range check.
   __ cmpl(EBX, FieldAddress(EAX, Array::length_offset()));
   // Runtime throws exception.
@@ -113,9 +115,8 @@
   // Note that EBX is Smi, i.e, times 2.
   ASSERT(kSmiTagShift == 1);
   // Destroy ECX (ic data) as we will not continue in the function.
-  __ movl(ECX, Address(ESP, + 1 * kWordSize));  // Value.
-  __ StoreIntoObject(EAX,
-                     FieldAddress(EAX, EBX, TIMES_2, Array::data_offset()),
+  __ movl(ECX, Address(ESP, +1 * kWordSize));  // Value.
+  __ StoreIntoObject(EAX, FieldAddress(EAX, EBX, TIMES_2, Array::data_offset()),
                      ECX);
   // Caller is responsible of preserving the value if necessary.
   __ ret();
@@ -142,16 +143,13 @@
   __ movl(EBX, Address(ESP, kArrayOffset));  // data argument.
   // EAX is new, no barrier needed.
   __ StoreIntoObjectNoBarrier(
-      EAX,
-      FieldAddress(EAX, GrowableObjectArray::data_offset()),
-      EBX);
+      EAX, FieldAddress(EAX, GrowableObjectArray::data_offset()), EBX);
 
   // EAX: new growable array object start as a tagged pointer.
   // Store the type argument field in the growable array object.
   __ movl(EBX, Address(ESP, kTypeArgumentsOffset));  // type argument.
   __ StoreIntoObjectNoBarrier(
-      EAX,
-      FieldAddress(EAX, GrowableObjectArray::type_arguments_offset()),
+      EAX, FieldAddress(EAX, GrowableObjectArray::type_arguments_offset()),
       EBX);
 
   __ ZeroInitSmiField(FieldAddress(EAX, GrowableObjectArray::length_offset()));
@@ -169,7 +167,7 @@
   if (Isolate::Current()->type_checks()) return;
 
   Label fall_through;
-  __ movl(EAX, Address(ESP, + 2 * kWordSize));  // Array.
+  __ movl(EAX, Address(ESP, +2 * kWordSize));  // Array.
   __ movl(EBX, FieldAddress(EAX, GrowableObjectArray::length_offset()));
   // EBX: length.
   __ movl(EDI, FieldAddress(EAX, GrowableObjectArray::data_offset()));
@@ -179,10 +177,9 @@
   __ j(EQUAL, &fall_through);  // Must grow data.
   __ IncrementSmiField(FieldAddress(EAX, GrowableObjectArray::length_offset()),
                        1);
-  __ movl(EAX, Address(ESP, + 1 * kWordSize));  // Value
+  __ movl(EAX, Address(ESP, +1 * kWordSize));  // Value
   ASSERT(kSmiTagShift == 1);
-  __ StoreIntoObject(EDI,
-                     FieldAddress(EDI, EBX, TIMES_2, Array::data_offset()),
+  __ StoreIntoObject(EDI, FieldAddress(EDI, EBX, TIMES_2, Array::data_offset()),
                      EAX);
   const Immediate& raw_null =
       Immediate(reinterpret_cast<int32_t>(Object::null()));
@@ -196,7 +193,7 @@
   Label fall_through;                                                          \
   const intptr_t kArrayLengthStackOffset = 1 * kWordSize;                      \
   NOT_IN_PRODUCT(__ MaybeTraceAllocation(cid, EDI, &fall_through, false));     \
-  __ movl(EDI, Address(ESP, kArrayLengthStackOffset));  /* Array length. */    \
+  __ movl(EDI, Address(ESP, kArrayLengthStackOffset)); /* Array length. */     \
   /* Check that length is a positive Smi. */                                   \
   /* EDI: requested array length argument. */                                  \
   __ testl(EDI, Immediate(kSmiTagMask));                                       \
@@ -258,22 +255,21 @@
                                                                                \
     /* Get the class index and insert it into the tags. */                     \
     __ orl(EDI, Immediate(RawObject::ClassIdTag::encode(cid)));                \
-    __ movl(FieldAddress(EAX, type_name::tags_offset()), EDI);  /* Tags. */    \
+    __ movl(FieldAddress(EAX, type_name::tags_offset()), EDI); /* Tags. */     \
   }                                                                            \
   /* Set the length field. */                                                  \
   /* EAX: new object start as a tagged pointer. */                             \
   /* EBX: new object end address. */                                           \
-  __ movl(EDI, Address(ESP, kArrayLengthStackOffset));  /* Array length. */    \
-  __ StoreIntoObjectNoBarrier(EAX,                                             \
-                              FieldAddress(EAX, type_name::length_offset()),   \
-                              EDI);                                            \
+  __ movl(EDI, Address(ESP, kArrayLengthStackOffset)); /* Array length. */     \
+  __ StoreIntoObjectNoBarrier(                                                 \
+      EAX, FieldAddress(EAX, type_name::length_offset()), EDI);                \
   /* Initialize all array elements to 0. */                                    \
   /* EAX: new object start as a tagged pointer. */                             \
   /* EBX: new object end address. */                                           \
   /* EDI: iterator which initially points to the start of the variable */      \
   /* ECX: scratch register. */                                                 \
   /* data area to be initialized. */                                           \
-  __ xorl(ECX, ECX);  /* Zero. */                                              \
+  __ xorl(ECX, ECX); /* Zero. */                                               \
   __ leal(EDI, FieldAddress(EAX, sizeof(Raw##type_name)));                     \
   Label done, init_loop;                                                       \
   __ Bind(&init_loop);                                                         \
@@ -285,16 +281,21 @@
   __ Bind(&done);                                                              \
                                                                                \
   __ ret();                                                                    \
-  __ Bind(&fall_through);                                                      \
+  __ Bind(&fall_through);
 
 
 static ScaleFactor GetScaleFactor(intptr_t size) {
   switch (size) {
-    case 1: return TIMES_1;
-    case 2: return TIMES_2;
-    case 4: return TIMES_4;
-    case 8: return TIMES_8;
-    case 16: return TIMES_16;
+    case 1:
+      return TIMES_1;
+    case 2:
+      return TIMES_2;
+    case 4:
+      return TIMES_4;
+    case 8:
+      return TIMES_8;
+    case 16:
+      return TIMES_16;
   }
   UNREACHABLE();
   return static_cast<ScaleFactor>(0);
@@ -302,12 +303,12 @@
 
 
 #define TYPED_DATA_ALLOCATOR(clazz)                                            \
-void Intrinsifier::TypedData_##clazz##_factory(Assembler* assembler) {         \
-  intptr_t size = TypedData::ElementSizeInBytes(kTypedData##clazz##Cid);       \
-  intptr_t max_len = TypedData::MaxElements(kTypedData##clazz##Cid);           \
-  ScaleFactor scale = GetScaleFactor(size);                                    \
-  TYPED_ARRAY_ALLOCATION(TypedData, kTypedData##clazz##Cid, max_len, scale);   \
-}
+  void Intrinsifier::TypedData_##clazz##_factory(Assembler* assembler) {       \
+    intptr_t size = TypedData::ElementSizeInBytes(kTypedData##clazz##Cid);     \
+    intptr_t max_len = TypedData::MaxElements(kTypedData##clazz##Cid);         \
+    ScaleFactor scale = GetScaleFactor(size);                                  \
+    TYPED_ARRAY_ALLOCATION(TypedData, kTypedData##clazz##Cid, max_len, scale); \
+  }
 CLASS_LIST_TYPED_DATA(TYPED_DATA_ALLOCATOR)
 #undef TYPED_DATA_ALLOCATOR
 
@@ -315,8 +316,8 @@
 // Tests if two top most arguments are smis, jumps to label not_smi if not.
 // Topmost argument is in EAX.
 static void TestBothArgumentsSmis(Assembler* assembler, Label* not_smi) {
-  __ movl(EAX, Address(ESP, + 1 * kWordSize));
-  __ movl(EBX, Address(ESP, + 2 * kWordSize));
+  __ movl(EAX, Address(ESP, +1 * kWordSize));
+  __ movl(EBX, Address(ESP, +2 * kWordSize));
   __ orl(EBX, EAX);
   __ testl(EBX, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, not_smi, Assembler::kNearJump);
@@ -326,7 +327,7 @@
 void Intrinsifier::Integer_addFromInteger(Assembler* assembler) {
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
-  __ addl(EAX, Address(ESP, + 2 * kWordSize));
+  __ addl(EAX, Address(ESP, +2 * kWordSize));
   __ j(OVERFLOW, &fall_through, Assembler::kNearJump);
   // Result is in EAX.
   __ ret();
@@ -342,7 +343,7 @@
 void Intrinsifier::Integer_subFromInteger(Assembler* assembler) {
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
-  __ subl(EAX, Address(ESP, + 2 * kWordSize));
+  __ subl(EAX, Address(ESP, +2 * kWordSize));
   __ j(OVERFLOW, &fall_through, Assembler::kNearJump);
   // Result is in EAX.
   __ ret();
@@ -354,7 +355,7 @@
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
   __ movl(EBX, EAX);
-  __ movl(EAX, Address(ESP, + 2 * kWordSize));
+  __ movl(EAX, Address(ESP, +2 * kWordSize));
   __ subl(EAX, EBX);
   __ j(OVERFLOW, &fall_through, Assembler::kNearJump);
   // Result is in EAX.
@@ -363,13 +364,12 @@
 }
 
 
-
 void Intrinsifier::Integer_mulFromInteger(Assembler* assembler) {
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
   ASSERT(kSmiTag == 0);  // Adjust code below if not the case.
   __ SmiUntag(EAX);
-  __ imull(EAX, Address(ESP, + 2 * kWordSize));
+  __ imull(EAX, Address(ESP, +2 * kWordSize));
   __ j(OVERFLOW, &fall_through, Assembler::kNearJump);
   // Result is in EAX.
   __ ret();
@@ -406,7 +406,7 @@
   __ j(LESS, &modulo, Assembler::kNearJump);
   // left is positive.
   __ cmpl(EAX, EBX);
-  __ j(GREATER, &modulo,  Assembler::kNearJump);
+  __ j(GREATER, &modulo, Assembler::kNearJump);
   // left is less than right, result is left (EAX).
   __ ret();
 
@@ -434,7 +434,7 @@
 void Intrinsifier::Integer_moduloFromInteger(Assembler* assembler) {
   Label fall_through, subtract;
   TestBothArgumentsSmis(assembler, &fall_through);
-  __ movl(EBX, Address(ESP, + 2 * kWordSize));
+  __ movl(EBX, Address(ESP, +2 * kWordSize));
   // EAX: Tagged left (dividend).
   // EBX: Tagged right (divisor).
   // Check if modulo by zero -> exception thrown in main function.
@@ -473,7 +473,7 @@
   __ j(EQUAL, &fall_through, Assembler::kNearJump);
   __ movl(EBX, EAX);
   __ SmiUntag(EBX);
-  __ movl(EAX, Address(ESP, + 2 * kWordSize));  // Left argument (dividend).
+  __ movl(EAX, Address(ESP, +2 * kWordSize));  // Left argument (dividend).
   __ SmiUntag(EAX);
   __ pushl(EDX);  // Preserve EDX in case of 'fall_through'.
   __ cdq();
@@ -491,7 +491,7 @@
 
 void Intrinsifier::Integer_negate(Assembler* assembler) {
   Label fall_through;
-  __ movl(EAX, Address(ESP, + 1 * kWordSize));
+  __ movl(EAX, Address(ESP, +1 * kWordSize));
   __ testl(EAX, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, &fall_through, Assembler::kNearJump);  // Non-smi value.
   __ negl(EAX);
@@ -505,7 +505,7 @@
 void Intrinsifier::Integer_bitAndFromInteger(Assembler* assembler) {
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
-  __ movl(EBX, Address(ESP, + 2 * kWordSize));
+  __ movl(EBX, Address(ESP, +2 * kWordSize));
   __ andl(EAX, EBX);
   // Result is in EAX.
   __ ret();
@@ -521,7 +521,7 @@
 void Intrinsifier::Integer_bitOrFromInteger(Assembler* assembler) {
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
-  __ movl(EBX, Address(ESP, + 2 * kWordSize));
+  __ movl(EBX, Address(ESP, +2 * kWordSize));
   __ orl(EAX, EBX);
   // Result is in EAX.
   __ ret();
@@ -537,7 +537,7 @@
 void Intrinsifier::Integer_bitXorFromInteger(Assembler* assembler) {
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
-  __ movl(EBX, Address(ESP, + 2 * kWordSize));
+  __ movl(EBX, Address(ESP, +2 * kWordSize));
   __ xorl(EAX, EBX);
   // Result is in EAX.
   __ ret();
@@ -560,8 +560,8 @@
   __ j(ABOVE_EQUAL, &fall_through, Assembler::kNearJump);
 
   __ SmiUntag(EAX);
-  __ movl(ECX, EAX);  // Shift amount must be in ECX.
-  __ movl(EAX, Address(ESP, + 2 * kWordSize));  // Value.
+  __ movl(ECX, EAX);                           // Shift amount must be in ECX.
+  __ movl(EAX, Address(ESP, +2 * kWordSize));  // Value.
 
   // Overflow test - all the shifted-out bits must be same as the sign bit.
   __ movl(EBX, EAX);
@@ -586,12 +586,10 @@
   __ xorl(EDI, EDI);
   __ shldl(EDI, EAX, ECX);
   // Result in EDI (high) and EBX (low).
-  const Class& mint_class = Class::Handle(
-      Isolate::Current()->object_store()->mint_class());
-  __ TryAllocate(mint_class,
-                 &fall_through,
-                 Assembler::kNearJump,
-                 EAX,  // Result register.
+  const Class& mint_class =
+      Class::Handle(Isolate::Current()->object_store()->mint_class());
+  __ TryAllocate(mint_class, &fall_through, Assembler::kNearJump,
+                 EAX,   // Result register.
                  ECX);  // temp
   // EBX and EDI are not objects but integer values.
   __ movl(FieldAddress(EAX, Mint::value_offset()), EBX);
@@ -629,7 +627,7 @@
   Label try_mint_smi, is_true, is_false, drop_two_fall_through, fall_through;
   TestBothArgumentsSmis(assembler, &try_mint_smi);
   // EAX contains the right argument.
-  __ cmpl(Address(ESP, + 2 * kWordSize), EAX);
+  __ cmpl(Address(ESP, +2 * kWordSize), EAX);
   __ j(true_condition, &is_true, Assembler::kNearJump);
   __ Bind(&is_false);
   __ LoadObject(EAX, Bool::False());
@@ -661,15 +659,15 @@
   // Note that EDX and ECX must be preserved in case we fall through to main
   // method.
   // EAX contains the right argument.
-  __ movl(EBX, Address(ESP, + 2 * kWordSize));  // Left argument.
+  __ movl(EBX, Address(ESP, +2 * kWordSize));  // Left argument.
   // Push left as 64 bit integer.
   Push64SmiOrMint(assembler, EBX, EDI, &fall_through);
   // Push right as 64 bit integer.
   Push64SmiOrMint(assembler, EAX, EDI, &drop_two_fall_through);
-  __ popl(EBX);  // Right.LO.
-  __ popl(ECX);  // Right.HI.
-  __ popl(EAX);  // Left.LO.
-  __ popl(EDX);  // Left.HI.
+  __ popl(EBX);       // Right.LO.
+  __ popl(ECX);       // Right.HI.
+  __ popl(EAX);       // Left.LO.
+  __ popl(EDX);       // Left.HI.
   __ cmpl(EDX, ECX);  // cmpl left.HI, right.HI.
   __ j(hi_false_cond, &is_false, Assembler::kNearJump);
   __ j(hi_true_cond, &is_true, Assembler::kNearJump);
@@ -684,7 +682,6 @@
 }
 
 
-
 void Intrinsifier::Integer_greaterThanFromInt(Assembler* assembler) {
   CompareIntegers(assembler, LESS);
 }
@@ -715,10 +712,10 @@
 void Intrinsifier::Integer_equalToInteger(Assembler* assembler) {
   Label fall_through, true_label, check_for_mint;
   // For integer receiver '===' check first.
-  __ movl(EAX, Address(ESP, + 1 * kWordSize));
-  __ cmpl(EAX, Address(ESP, + 2 * kWordSize));
+  __ movl(EAX, Address(ESP, +1 * kWordSize));
+  __ cmpl(EAX, Address(ESP, +2 * kWordSize));
   __ j(EQUAL, &true_label, Assembler::kNearJump);
-  __ movl(EBX, Address(ESP, + 2 * kWordSize));
+  __ movl(EBX, Address(ESP, +2 * kWordSize));
   __ orl(EAX, EBX);
   __ testl(EAX, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, &check_for_mint, Assembler::kNearJump);
@@ -732,14 +729,14 @@
   // At least one of the arguments was not Smi.
   Label receiver_not_smi;
   __ Bind(&check_for_mint);
-  __ movl(EAX, Address(ESP, + 2 * kWordSize));  // Receiver.
+  __ movl(EAX, Address(ESP, +2 * kWordSize));  // Receiver.
   __ testl(EAX, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, &receiver_not_smi);
 
   // Left (receiver) is Smi, return false if right is not Double.
   // Note that an instance of Mint or Bigint never contains a value that can be
   // represented by Smi.
-  __ movl(EAX, Address(ESP, + 1 * kWordSize));  // Right argument.
+  __ movl(EAX, Address(ESP, +1 * kWordSize));  // Right argument.
   __ CompareClassId(EAX, kDoubleCid, EDI);
   __ j(EQUAL, &fall_through);
   __ LoadObject(EAX, Bool::False());  // Smi == Mint -> false.
@@ -750,7 +747,7 @@
   __ CompareClassId(EAX, kMintCid, EDI);
   __ j(NOT_EQUAL, &fall_through);
   // Receiver is Mint, return false if right is Smi.
-  __ movl(EAX, Address(ESP, + 1 * kWordSize));  // Right argument.
+  __ movl(EAX, Address(ESP, +1 * kWordSize));  // Right argument.
   __ testl(EAX, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, &fall_through);
   __ LoadObject(EAX, Bool::False());
@@ -782,9 +779,9 @@
   __ j(LESS_EQUAL, &shift_count_ok, Assembler::kNearJump);
   __ movl(EAX, count_limit);
   __ Bind(&shift_count_ok);
-  __ movl(ECX, EAX);  // Shift amount must be in ECX.
-  __ movl(EAX, Address(ESP, + 2 * kWordSize));  // Value.
-  __ SmiUntag(EAX);  // Value.
+  __ movl(ECX, EAX);                           // Shift amount must be in ECX.
+  __ movl(EAX, Address(ESP, +2 * kWordSize));  // Value.
+  __ SmiUntag(EAX);                            // Value.
   __ sarl(EAX, ECX);
   __ SmiTag(EAX);
   __ ret();
@@ -794,7 +791,7 @@
 
 // Argument is Smi (receiver).
 void Intrinsifier::Smi_bitNegate(Assembler* assembler) {
-  __ movl(EAX, Address(ESP, + 1 * kWordSize));  // Receiver.
+  __ movl(EAX, Address(ESP, +1 * kWordSize));  // Receiver.
   __ notl(EAX);
   __ andl(EAX, Immediate(~kSmiTagMask));  // Remove inverted smi-tag.
   __ ret();
@@ -803,7 +800,7 @@
 
 void Intrinsifier::Smi_bitLength(Assembler* assembler) {
   ASSERT(kSmiTagShift == 1);
-  __ movl(EAX, Address(ESP, + 1 * kWordSize));  // Receiver.
+  __ movl(EAX, Address(ESP, +1 * kWordSize));  // Receiver.
   // XOR with sign bit to complement bits if value is negative.
   __ movl(ECX, EAX);
   __ sarl(ECX, Immediate(31));  // All 0 or all 1.
@@ -850,9 +847,8 @@
   Label loop;
   __ Bind(&loop);
   __ movl(EAX, EDX);
-  __ movl(EDX,
-          FieldAddress(EDI, ESI, TIMES_4,
-                       TypedData::data_offset() - Bigint::kBytesPerDigit));
+  __ movl(EDX, FieldAddress(EDI, ESI, TIMES_4,
+                            TypedData::data_offset() - Bigint::kBytesPerDigit));
   __ shldl(EAX, EDX, ECX);
   __ movl(Address(EBX, ESI, TIMES_4, 0), EAX);
   __ decl(ESI);
@@ -881,7 +877,7 @@
   __ SmiUntag(ECX);
   __ movl(EBX, Address(ESP, 2 * kWordSize));  // r_digits
   __ movl(EDX, ECX);
-  __ sarl(EDX, Immediate(5));  // EDX = n ~/ _DIGIT_BITS.
+  __ sarl(EDX, Immediate(5));                 // EDX = n ~/ _DIGIT_BITS.
   __ movl(ESI, Address(ESP, 4 * kWordSize));  // x_used > 0, Smi.
   __ SmiUntag(ESI);
   __ decl(ESI);
@@ -925,10 +921,10 @@
 
   __ movl(EDI, Address(ESP, 6 * kWordSize));  // digits
   __ movl(EAX, Address(ESP, 5 * kWordSize));  // used is Smi
-  __ SmiUntag(EAX);  // used > 0.
+  __ SmiUntag(EAX);                           // used > 0.
   __ movl(ESI, Address(ESP, 4 * kWordSize));  // a_digits
   __ movl(ECX, Address(ESP, 3 * kWordSize));  // a_used is Smi
-  __ SmiUntag(ECX);  // a_used > 0.
+  __ SmiUntag(ECX);                           // a_used > 0.
   __ movl(EBX, Address(ESP, 2 * kWordSize));  // r_digits
 
   // Precompute 'used - a_used' now so that carry flag is not lost later.
@@ -949,7 +945,7 @@
 
   Label last_carry;
   __ popl(ECX);
-  __ decl(ECX);  // Does not affect carry flag.
+  __ decl(ECX);                                   // Does not affect carry flag.
   __ j(ZERO, &last_carry, Assembler::kNearJump);  // If used - a_used == 0.
 
   Label carry_loop;
@@ -985,10 +981,10 @@
 
   __ movl(EDI, Address(ESP, 6 * kWordSize));  // digits
   __ movl(EAX, Address(ESP, 5 * kWordSize));  // used is Smi
-  __ SmiUntag(EAX);  // used > 0.
+  __ SmiUntag(EAX);                           // used > 0.
   __ movl(ESI, Address(ESP, 4 * kWordSize));  // a_digits
   __ movl(ECX, Address(ESP, 3 * kWordSize));  // a_used is Smi
-  __ SmiUntag(ECX);  // a_used > 0.
+  __ SmiUntag(ECX);                           // a_used > 0.
   __ movl(EBX, Address(ESP, 2 * kWordSize));  // r_digits
 
   // Precompute 'used - a_used' now so that carry flag is not lost later.
@@ -1009,7 +1005,7 @@
 
   Label done;
   __ popl(ECX);
-  __ decl(ECX);  // Does not affect carry flag.
+  __ decl(ECX);                             // Does not affect carry flag.
   __ j(ZERO, &done, Assembler::kNearJump);  // If used - a_used == 0.
 
   Label carry_loop;
@@ -1106,7 +1102,7 @@
   __ addl(EDI, Immediate(Bigint::kBytesPerDigit));
 
   // uint64_t t = x*mi
-  __ mull(EBX);  // t = EDX:EAX = EAX * EBX
+  __ mull(EBX);       // t = EDX:EAX = EAX * EBX
   __ addl(EAX, ECX);  // t += c
   __ adcl(EDX, Immediate(0));
 
@@ -1216,7 +1212,7 @@
 
   // uint64_t c = high32(t)
   __ pushl(Immediate(0));  // push high32(c) == 0
-  __ pushl(EDX);  // push low32(c) == high32(t)
+  __ pushl(EDX);           // push low32(c) == high32(t)
 
   Address n_addr = Address(ESP, 2 * kWordSize);
   Address ch_addr = Address(ESP, 1 * kWordSize);
@@ -1240,11 +1236,11 @@
   __ addl(EDI, Immediate(Bigint::kBytesPerDigit));
 
   // uint96_t t = ECX:EDX:EAX = 2*x*xi + aj + c
-  __ mull(EBX);  // EDX:EAX = EAX * EBX
+  __ mull(EBX);       // EDX:EAX = EAX * EBX
   __ xorl(ECX, ECX);  // ECX = 0
   __ shldl(ECX, EDX, Immediate(1));
   __ shldl(EDX, EAX, Immediate(1));
-  __ shll(EAX, Immediate(1));  // ECX:EDX:EAX <<= 1
+  __ shll(EAX, Immediate(1));     // ECX:EDX:EAX <<= 1
   __ addl(EAX, Address(ESI, 0));  // t += aj
   __ adcl(EDX, Immediate(0));
   __ adcl(ECX, Immediate(0));
@@ -1331,9 +1327,9 @@
 
   __ Bind(&return_qd);
   // args[2] = qd
-  __ movl(FieldAddress(EDI,
-                       TypedData::data_offset() + 2*Bigint::kBytesPerDigit),
-          EAX);
+  __ movl(
+      FieldAddress(EDI, TypedData::data_offset() + 2 * Bigint::kBytesPerDigit),
+      EAX);
 
   __ movl(EAX, Immediate(Smi::RawValue(1)));  // One digit processed.
   __ ret();
@@ -1354,9 +1350,8 @@
   __ movl(EDI, Address(ESP, 3 * kWordSize));  // args
 
   // ECX = rho = args[2]
-  __ movl(ECX,
-          FieldAddress(EDI,
-                       TypedData::data_offset() + 2*Bigint::kBytesPerDigit));
+  __ movl(ECX, FieldAddress(
+                   EDI, TypedData::data_offset() + 2 * Bigint::kBytesPerDigit));
 
   // EAX = digits[i >> 1]
   __ movl(EBX, Address(ESP, 2 * kWordSize));  // digits
@@ -1367,9 +1362,9 @@
   __ mull(ECX);
 
   // args[4] = t mod DIGIT_BASE = low32(t)
-  __ movl(FieldAddress(EDI,
-                       TypedData::data_offset() + 4*Bigint::kBytesPerDigit),
-          EAX);
+  __ movl(
+      FieldAddress(EDI, TypedData::data_offset() + 4 * Bigint::kBytesPerDigit),
+      EAX);
 
   __ movl(EAX, Immediate(Smi::RawValue(1)));  // One digit processed.
   __ ret();
@@ -1382,7 +1377,7 @@
 static void TestLastArgumentIsDouble(Assembler* assembler,
                                      Label* is_smi,
                                      Label* not_double_smi) {
-  __ movl(EAX, Address(ESP, + 1 * kWordSize));
+  __ movl(EAX, Address(ESP, +1 * kWordSize));
   __ testl(EAX, Immediate(kSmiTagMask));
   __ j(ZERO, is_smi, Assembler::kNearJump);  // Jump if Smi.
   __ CompareClassId(EAX, kDoubleCid, EBX);
@@ -1401,7 +1396,7 @@
   // Both arguments are double, right operand is in EAX.
   __ movsd(XMM1, FieldAddress(EAX, Double::value_offset()));
   __ Bind(&double_op);
-  __ movl(EAX, Address(ESP, + 2 * kWordSize));  // Left argument.
+  __ movl(EAX, Address(ESP, +2 * kWordSize));  // Left argument.
   __ movsd(XMM0, FieldAddress(EAX, Double::value_offset()));
   __ comisd(XMM0, XMM1);
   __ j(PARITY_EVEN, &is_false, Assembler::kNearJump);  // NaN -> false;
@@ -1459,20 +1454,27 @@
   // Both arguments are double, right operand is in EAX.
   __ movsd(XMM1, FieldAddress(EAX, Double::value_offset()));
   __ Bind(&double_op);
-  __ movl(EAX, Address(ESP, + 2 * kWordSize));  // Left argument.
+  __ movl(EAX, Address(ESP, +2 * kWordSize));  // Left argument.
   __ movsd(XMM0, FieldAddress(EAX, Double::value_offset()));
   switch (kind) {
-    case Token::kADD: __ addsd(XMM0, XMM1); break;
-    case Token::kSUB: __ subsd(XMM0, XMM1); break;
-    case Token::kMUL: __ mulsd(XMM0, XMM1); break;
-    case Token::kDIV: __ divsd(XMM0, XMM1); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ addsd(XMM0, XMM1);
+      break;
+    case Token::kSUB:
+      __ subsd(XMM0, XMM1);
+      break;
+    case Token::kMUL:
+      __ mulsd(XMM0, XMM1);
+      break;
+    case Token::kDIV:
+      __ divsd(XMM0, XMM1);
+      break;
+    default:
+      UNREACHABLE();
   }
-  const Class& double_class = Class::Handle(
-      Isolate::Current()->object_store()->double_class());
-  __ TryAllocate(double_class,
-                 &fall_through,
-                 Assembler::kNearJump,
+  const Class& double_class =
+      Class::Handle(Isolate::Current()->object_store()->double_class());
+  __ TryAllocate(double_class, &fall_through, Assembler::kNearJump,
                  EAX,  // Result register.
                  EBX);
   __ movsd(FieldAddress(EAX, Double::value_offset()), XMM0);
@@ -1509,20 +1511,18 @@
 void Intrinsifier::Double_mulFromInteger(Assembler* assembler) {
   Label fall_through;
   // Only smis allowed.
-  __ movl(EAX, Address(ESP, + 1 * kWordSize));
+  __ movl(EAX, Address(ESP, +1 * kWordSize));
   __ testl(EAX, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, &fall_through, Assembler::kNearJump);
   // Is Smi.
   __ SmiUntag(EAX);
   __ cvtsi2sd(XMM1, EAX);
-  __ movl(EAX, Address(ESP, + 2 * kWordSize));
+  __ movl(EAX, Address(ESP, +2 * kWordSize));
   __ movsd(XMM0, FieldAddress(EAX, Double::value_offset()));
   __ mulsd(XMM0, XMM1);
-  const Class& double_class = Class::Handle(
-      Isolate::Current()->object_store()->double_class());
-  __ TryAllocate(double_class,
-                 &fall_through,
-                 Assembler::kNearJump,
+  const Class& double_class =
+      Class::Handle(Isolate::Current()->object_store()->double_class());
+  __ TryAllocate(double_class, &fall_through, Assembler::kNearJump,
                  EAX,  // Result register.
                  EBX);
   __ movsd(FieldAddress(EAX, Double::value_offset()), XMM0);
@@ -1539,11 +1539,9 @@
   // Is Smi.
   __ SmiUntag(EAX);
   __ cvtsi2sd(XMM0, EAX);
-  const Class& double_class = Class::Handle(
-      Isolate::Current()->object_store()->double_class());
-  __ TryAllocate(double_class,
-                 &fall_through,
-                 Assembler::kNearJump,
+  const Class& double_class =
+      Class::Handle(Isolate::Current()->object_store()->double_class());
+  __ TryAllocate(double_class, &fall_through, Assembler::kNearJump,
                  EAX,  // Result register.
                  EBX);
   __ movsd(FieldAddress(EAX, Double::value_offset()), XMM0);
@@ -1637,11 +1635,9 @@
   __ movsd(XMM1, FieldAddress(EAX, Double::value_offset()));
   __ Bind(&double_op);
   __ sqrtsd(XMM0, XMM1);
-  const Class& double_class = Class::Handle(
-      Isolate::Current()->object_store()->double_class());
-  __ TryAllocate(double_class,
-                 &fall_through,
-                 Assembler::kNearJump,
+  const Class& double_class =
+      Class::Handle(Isolate::Current()->object_store()->double_class());
+  __ TryAllocate(double_class, &fall_through, Assembler::kNearJump,
                  EAX,  // Result register.
                  EBX);
   __ movsd(FieldAddress(EAX, Double::value_offset()), XMM0);
@@ -1660,8 +1656,8 @@
 void Intrinsifier::Random_nextState(Assembler* assembler) {
   const Library& math_lib = Library::Handle(Library::MathLibrary());
   ASSERT(!math_lib.IsNull());
-  const Class& random_class = Class::Handle(
-      math_lib.LookupClassAllowPrivate(Symbols::_Random()));
+  const Class& random_class =
+      Class::Handle(math_lib.LookupClassAllowPrivate(Symbols::_Random()));
   ASSERT(!random_class.IsNull());
   const Field& state_field = Field::ZoneHandle(
       random_class.LookupInstanceFieldAllowPrivate(Symbols::_state()));
@@ -1676,7 +1672,7 @@
   ASSERT(Utils::IsUint(32, a_int_value));
   int32_t a_int32_value = static_cast<int32_t>(a_int_value);
   // Receiver.
-  __ movl(EAX, Address(ESP, + 1 * kWordSize));
+  __ movl(EAX, Address(ESP, +1 * kWordSize));
   // Field '_state'.
   __ movl(EBX, FieldAddress(EAX, state_field.Offset()));
   // Addresses of _state[0] and _state[1].
@@ -1698,8 +1694,8 @@
 // Identity comparison.
 void Intrinsifier::ObjectEquals(Assembler* assembler) {
   Label is_true;
-  __ movl(EAX, Address(ESP, + 1 * kWordSize));
-  __ cmpl(EAX, Address(ESP, + 2 * kWordSize));
+  __ movl(EAX, Address(ESP, +1 * kWordSize));
+  __ cmpl(EAX, Address(ESP, +2 * kWordSize));
   __ j(EQUAL, &is_true, Assembler::kNearJump);
   __ LoadObject(EAX, Bool::False());
   __ ret();
@@ -1725,9 +1721,7 @@
 const Condition kIfInRange = BELOW_EQUAL;
 
 
-static void JumpIfInteger(Assembler* assembler,
-                          Register cid,
-                          Label* target) {
+static void JumpIfInteger(Assembler* assembler, Register cid, Label* target) {
   RangeCheck(assembler, cid, kSmiCid, kBigintCid, kIfInRange, target);
 }
 
@@ -1739,34 +1733,22 @@
 }
 
 
-static void JumpIfString(Assembler* assembler,
-                          Register cid,
-                          Label* target) {
-  RangeCheck(assembler,
-             cid,
-             kOneByteStringCid,
-             kExternalTwoByteStringCid,
-             kIfInRange,
-             target);
+static void JumpIfString(Assembler* assembler, Register cid, Label* target) {
+  RangeCheck(assembler, cid, kOneByteStringCid, kExternalTwoByteStringCid,
+             kIfInRange, target);
 }
 
 
-static void JumpIfNotString(Assembler* assembler,
-                            Register cid,
-                            Label* target) {
-  RangeCheck(assembler,
-             cid,
-             kOneByteStringCid,
-             kExternalTwoByteStringCid,
-             kIfNotInRange,
-             target);
+static void JumpIfNotString(Assembler* assembler, Register cid, Label* target) {
+  RangeCheck(assembler, cid, kOneByteStringCid, kExternalTwoByteStringCid,
+             kIfNotInRange, target);
 }
 
 
 // Return type quickly for simple types (not parameterized and not signature).
 void Intrinsifier::ObjectRuntimeType(Assembler* assembler) {
   Label fall_through, use_canonical_type, not_double, not_integer;
-  __ movl(EAX, Address(ESP, + 1 * kWordSize));
+  __ movl(EAX, Address(ESP, +1 * kWordSize));
   __ LoadClassIdMayBeSmi(EDI, EAX);
 
   __ cmpl(EDI, Immediate(kClosureCid));
@@ -1823,14 +1805,14 @@
 void Intrinsifier::ObjectHaveSameRuntimeType(Assembler* assembler) {
   Label fall_through, different_cids, equal, not_equal, not_integer;
 
-  __ movl(EAX, Address(ESP, + 1 * kWordSize));
+  __ movl(EAX, Address(ESP, +1 * kWordSize));
   __ LoadClassIdMayBeSmi(EDI, EAX);
 
   // Check if left hand size is a closure. Closures are handled in the runtime.
   __ cmpl(EDI, Immediate(kClosureCid));
   __ j(EQUAL, &fall_through);
 
-  __ movl(EAX, Address(ESP, + 2 * kWordSize));
+  __ movl(EAX, Address(ESP, +2 * kWordSize));
   __ LoadClassIdMayBeSmi(EBX, EAX);
 
   // Check whether class ids match. If class ids don't match objects can still
@@ -1886,7 +1868,7 @@
 
 void Intrinsifier::String_getHashCode(Assembler* assembler) {
   Label fall_through;
-  __ movl(EAX, Address(ESP, + 1 * kWordSize));  // String object.
+  __ movl(EAX, Address(ESP, +1 * kWordSize));  // String object.
   __ movl(EAX, FieldAddress(EAX, String::hash_offset()));
   __ cmpl(EAX, Immediate(0));
   __ j(EQUAL, &fall_through, Assembler::kNearJump);
@@ -1904,8 +1886,8 @@
 
 void Intrinsifier::StringBaseCharAt(Assembler* assembler) {
   Label fall_through, try_two_byte_string;
-  __ movl(EBX, Address(ESP, + 1 * kWordSize));  // Index.
-  __ movl(EAX, Address(ESP, + 2 * kWordSize));  // String.
+  __ movl(EBX, Address(ESP, +1 * kWordSize));  // Index.
+  __ movl(EAX, Address(ESP, +2 * kWordSize));  // String.
   __ testl(EBX, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, &fall_through, Assembler::kNearJump);  // Non-smi index.
   // Range check.
@@ -1920,9 +1902,7 @@
   __ j(GREATER_EQUAL, &fall_through);
   __ movl(EAX,
           Immediate(reinterpret_cast<uword>(Symbols::PredefinedAddress())));
-  __ movl(EAX, Address(EAX,
-                       EBX,
-                       TIMES_4,
+  __ movl(EAX, Address(EAX, EBX, TIMES_4,
                        Symbols::kNullCharCodeSymbolOffset * kWordSize));
   __ ret();
 
@@ -1935,9 +1915,7 @@
   __ j(GREATER_EQUAL, &fall_through);
   __ movl(EAX,
           Immediate(reinterpret_cast<uword>(Symbols::PredefinedAddress())));
-  __ movl(EAX, Address(EAX,
-                       EBX,
-                       TIMES_4,
+  __ movl(EAX, Address(EAX, EBX, TIMES_4,
                        Symbols::kNullCharCodeSymbolOffset * kWordSize));
   __ ret();
 
@@ -1948,7 +1926,7 @@
 void Intrinsifier::StringBaseIsEmpty(Assembler* assembler) {
   Label is_true;
   // Get length.
-  __ movl(EAX, Address(ESP, + 1 * kWordSize));  // String object.
+  __ movl(EAX, Address(ESP, +1 * kWordSize));  // String object.
   __ movl(EAX, FieldAddress(EAX, String::length_offset()));
   __ cmpl(EAX, Immediate(Smi::RawValue(0)));
   __ j(EQUAL, &is_true, Assembler::kNearJump);
@@ -1962,7 +1940,7 @@
 
 void Intrinsifier::OneByteString_getHashCode(Assembler* assembler) {
   Label compute_hash;
-  __ movl(EBX, Address(ESP, + 1 * kWordSize));  // OneByteString object.
+  __ movl(EBX, Address(ESP, +1 * kWordSize));  // OneByteString object.
   __ movl(EAX, FieldAddress(EBX, String::hash_offset()));
   __ cmpl(EAX, Immediate(0));
   __ j(EQUAL, &compute_hash, Assembler::kNearJump);
@@ -2016,7 +1994,7 @@
   __ addl(EAX, EDX);
   // hash_ = hash_ & ((static_cast<intptr_t>(1) << bits) - 1);
   __ andl(EAX,
-      Immediate(((static_cast<intptr_t>(1) << String::kHashBits) - 1)));
+          Immediate(((static_cast<intptr_t>(1) << String::kHashBits) - 1)));
 
   // return hash_ == 0 ? 1 : hash_;
   __ cmpl(EAX, Immediate(0));
@@ -2037,7 +2015,7 @@
                                      Label* failure,
                                      Register length_reg) {
   NOT_IN_PRODUCT(
-    __ MaybeTraceAllocation(kOneByteStringCid, EAX, failure, false));
+      __ MaybeTraceAllocation(kOneByteStringCid, EAX, failure, false));
   if (length_reg != EDI) {
     __ movl(EDI, length_reg);
   }
@@ -2095,8 +2073,7 @@
 
   // Set the length field.
   __ popl(EDI);
-  __ StoreIntoObjectNoBarrier(EAX,
-                              FieldAddress(EAX, String::length_offset()),
+  __ StoreIntoObjectNoBarrier(EAX, FieldAddress(EAX, String::length_offset()),
                               EDI);
   // Clear hash.
   __ ZeroInitSmiField(FieldAddress(EAX, String::hash_offset()));
@@ -2117,24 +2094,24 @@
   const intptr_t kStartIndexOffset = 2 * kWordSize;
   const intptr_t kEndIndexOffset = 1 * kWordSize;
   Label fall_through, ok;
-  __ movl(EAX, Address(ESP, + kStartIndexOffset));
-  __ movl(EDI, Address(ESP, + kEndIndexOffset));
+  __ movl(EAX, Address(ESP, +kStartIndexOffset));
+  __ movl(EDI, Address(ESP, +kEndIndexOffset));
   __ orl(EAX, EDI);
   __ testl(EAX, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, &fall_through);  // 'start', 'end' not Smi.
 
-  __ subl(EDI, Address(ESP, + kStartIndexOffset));
+  __ subl(EDI, Address(ESP, +kStartIndexOffset));
   TryAllocateOnebyteString(assembler, &ok, &fall_through, EDI);
   __ Bind(&ok);
   // EAX: new string as tagged pointer.
   // Copy string.
-  __ movl(EDI, Address(ESP, + kStringOffset));
-  __ movl(EBX, Address(ESP, + kStartIndexOffset));
+  __ movl(EDI, Address(ESP, +kStringOffset));
+  __ movl(EBX, Address(ESP, +kStartIndexOffset));
   __ SmiUntag(EBX);
   __ leal(EDI, FieldAddress(EDI, EBX, TIMES_1, OneByteString::data_offset()));
   // EDI: Start address to copy from (untagged).
   // EBX: Untagged start index.
-  __ movl(ECX, Address(ESP, + kEndIndexOffset));
+  __ movl(ECX, Address(ESP, +kEndIndexOffset));
   __ SmiUntag(ECX);
   __ subl(ECX, EBX);
   __ xorl(EDX, EDX);
@@ -2158,9 +2135,9 @@
 
 
 void Intrinsifier::OneByteStringSetAt(Assembler* assembler) {
-  __ movl(ECX, Address(ESP, + 1 * kWordSize));  // Value.
-  __ movl(EBX, Address(ESP, + 2 * kWordSize));  // Index.
-  __ movl(EAX, Address(ESP, + 3 * kWordSize));  // OneByteString.
+  __ movl(ECX, Address(ESP, +1 * kWordSize));  // Value.
+  __ movl(EBX, Address(ESP, +2 * kWordSize));  // Index.
+  __ movl(EAX, Address(ESP, +3 * kWordSize));  // OneByteString.
   __ SmiUntag(EBX);
   __ SmiUntag(ECX);
   __ movb(FieldAddress(EAX, EBX, TIMES_1, OneByteString::data_offset()), CL);
@@ -2169,7 +2146,7 @@
 
 
 void Intrinsifier::OneByteString_allocate(Assembler* assembler) {
-  __ movl(EDI, Address(ESP, + 1 * kWordSize));  // Length.
+  __ movl(EDI, Address(ESP, +1 * kWordSize));  // Length.
   Label fall_through, ok;
   TryAllocateOnebyteString(assembler, &ok, &fall_through, EDI);
   // EDI: Start address to copy from (untagged).
@@ -2184,8 +2161,8 @@
 // TODO(srdjan): Add combinations (one-byte/two-byte/external strings).
 static void StringEquality(Assembler* assembler, intptr_t string_cid) {
   Label fall_through, is_true, is_false, loop;
-  __ movl(EAX, Address(ESP, + 2 * kWordSize));  // This.
-  __ movl(EBX, Address(ESP, + 1 * kWordSize));  // Other.
+  __ movl(EAX, Address(ESP, +2 * kWordSize));  // This.
+  __ movl(EBX, Address(ESP, +1 * kWordSize));  // Other.
 
   // Are identical?
   __ cmpl(EAX, EBX);
@@ -2211,14 +2188,14 @@
   __ j(LESS, &is_true, Assembler::kNearJump);
   if (string_cid == kOneByteStringCid) {
     __ movzxb(ECX,
-        FieldAddress(EAX, EDI, TIMES_1, OneByteString::data_offset()));
+              FieldAddress(EAX, EDI, TIMES_1, OneByteString::data_offset()));
     __ movzxb(EDX,
-        FieldAddress(EBX, EDI, TIMES_1, OneByteString::data_offset()));
+              FieldAddress(EBX, EDI, TIMES_1, OneByteString::data_offset()));
   } else if (string_cid == kTwoByteStringCid) {
     __ movzxw(ECX,
-        FieldAddress(EAX, EDI, TIMES_2, TwoByteString::data_offset()));
+              FieldAddress(EAX, EDI, TIMES_2, TwoByteString::data_offset()));
     __ movzxw(EDX,
-        FieldAddress(EBX, EDI, TIMES_2, TwoByteString::data_offset()));
+              FieldAddress(EBX, EDI, TIMES_2, TwoByteString::data_offset()));
   } else {
     UNIMPLEMENTED();
   }
@@ -2286,7 +2263,7 @@
   // EAX: Current user tag.
   __ movl(EAX, Address(EDI, Isolate::current_tag_offset()));
   // EAX: UserTag.
-  __ movl(EBX, Address(ESP, + 1 * kWordSize));
+  __ movl(EBX, Address(ESP, +1 * kWordSize));
   // Set Isolate::current_tag_.
   __ movl(Address(EDI, Isolate::current_tag_offset()), EBX);
   // EAX: UserTag's tag.
diff --git a/runtime/vm/intrinsifier_mips.cc b/runtime/vm/intrinsifier_mips.cc
index aa512ad..0fa3e19 100644
--- a/runtime/vm/intrinsifier_mips.cc
+++ b/runtime/vm/intrinsifier_mips.cc
@@ -29,7 +29,9 @@
 #define __ assembler->
 
 
-intptr_t Intrinsifier::ParameterSlotFromSp() { return -1; }
+intptr_t Intrinsifier::ParameterSlotFromSp() {
+  return -1;
+}
 
 
 static bool IsABIPreservedRegister(Register reg) {
@@ -76,11 +78,9 @@
   // Note that T1 is Smi, i.e, times 2.
   ASSERT(kSmiTagShift == 1);
   __ lw(T2, Address(SP, 0 * kWordSize));  // Value.
-  __ sll(T1, T1, 1);  // T1 is Smi.
+  __ sll(T1, T1, 1);                      // T1 is Smi.
   __ addu(T1, T0, T1);
-  __ StoreIntoObject(T0,
-                     FieldAddress(T1, Array::data_offset()),
-                     T2);
+  __ StoreIntoObject(T0, FieldAddress(T1, Array::data_offset()), T2);
   // Caller is responsible for preserving the value if necessary.
   __ Ret();
   __ Bind(&fall_through);
@@ -104,21 +104,17 @@
   __ lw(T1, Address(SP, kArrayOffset));  // Data argument.
   // V0 is new, no barrier needed.
   __ StoreIntoObjectNoBarrier(
-      V0,
-      FieldAddress(V0, GrowableObjectArray::data_offset()),
-      T1);
+      V0, FieldAddress(V0, GrowableObjectArray::data_offset()), T1);
 
   // V0: new growable array object start as a tagged pointer.
   // Store the type argument field in the growable array object.
   __ lw(T1, Address(SP, kTypeArgumentsOffset));  // Type argument.
   __ StoreIntoObjectNoBarrier(
-      V0,
-      FieldAddress(V0, GrowableObjectArray::type_arguments_offset()),
-      T1);
+      V0, FieldAddress(V0, GrowableObjectArray::type_arguments_offset()), T1);
   // Set the length field in the growable array object to 0.
   __ Ret();  // Returns the newly allocated object in V0.
   __ delay_slot()->sw(ZR,
-      FieldAddress(V0, GrowableObjectArray::length_offset()));
+                      FieldAddress(V0, GrowableObjectArray::length_offset()));
 
   __ Bind(&fall_through);
 }
@@ -148,9 +144,7 @@
   ASSERT(kSmiTagShift == 1);
   __ sll(T1, T1, 1);
   __ addu(T1, T2, T1);
-  __ StoreIntoObject(T2,
-                     FieldAddress(T1, Array::data_offset()),
-                     T0);
+  __ StoreIntoObject(T2, FieldAddress(T1, Array::data_offset()), T0);
   __ LoadObject(T7, Object::null_object());
   __ Ret();
   __ delay_slot()->mov(V0, T7);
@@ -162,7 +156,7 @@
   Label fall_through;                                                          \
   const intptr_t kArrayLengthStackOffset = 0 * kWordSize;                      \
   NOT_IN_PRODUCT(__ MaybeTraceAllocation(cid, T2, &fall_through));             \
-  __ lw(T2, Address(SP, kArrayLengthStackOffset));  /* Array length. */        \
+  __ lw(T2, Address(SP, kArrayLengthStackOffset)); /* Array length. */         \
   /* Check that length is a positive Smi. */                                   \
   /* T2: requested array length argument. */                                   \
   __ andi(CMPRES1, T2, Immediate(kSmiTagMask));                                \
@@ -209,7 +203,7 @@
                              &size_tag_overflow);                              \
     __ b(&done);                                                               \
     __ delay_slot()->sll(T2, T2,                                               \
-        RawObject::kSizeTagPos - kObjectAlignmentLog2);                        \
+                         RawObject::kSizeTagPos - kObjectAlignmentLog2);       \
                                                                                \
     __ Bind(&size_tag_overflow);                                               \
     __ mov(T2, ZR);                                                            \
@@ -218,15 +212,14 @@
     /* Get the class index and insert it into the tags. */                     \
     __ LoadImmediate(TMP, RawObject::ClassIdTag::encode(cid));                 \
     __ or_(T2, T2, TMP);                                                       \
-    __ sw(T2, FieldAddress(V0, type_name::tags_offset()));  /* Tags. */        \
+    __ sw(T2, FieldAddress(V0, type_name::tags_offset())); /* Tags. */         \
   }                                                                            \
   /* Set the length field. */                                                  \
   /* V0: new object start as a tagged pointer. */                              \
   /* T1: new object end address. */                                            \
-  __ lw(T2, Address(SP, kArrayLengthStackOffset));  /* Array length. */        \
-  __ StoreIntoObjectNoBarrier(V0,                                              \
-                              FieldAddress(V0, type_name::length_offset()),    \
-                              T2);                                             \
+  __ lw(T2, Address(SP, kArrayLengthStackOffset)); /* Array length. */         \
+  __ StoreIntoObjectNoBarrier(                                                 \
+      V0, FieldAddress(V0, type_name::length_offset()), T2);                   \
   /* Initialize all array elements to 0. */                                    \
   /* V0: new object start as a tagged pointer. */                              \
   /* T1: new object end address. */                                            \
@@ -242,16 +235,21 @@
   __ Bind(&done);                                                              \
                                                                                \
   __ Ret();                                                                    \
-  __ Bind(&fall_through);                                                      \
+  __ Bind(&fall_through);
 
 
 static int GetScaleFactor(intptr_t size) {
   switch (size) {
-    case 1: return 0;
-    case 2: return 1;
-    case 4: return 2;
-    case 8: return 3;
-    case 16: return 4;
+    case 1:
+      return 0;
+    case 2:
+      return 1;
+    case 4:
+      return 2;
+    case 8:
+      return 3;
+    case 16:
+      return 4;
   }
   UNREACHABLE();
   return -1;
@@ -259,12 +257,12 @@
 
 
 #define TYPED_DATA_ALLOCATOR(clazz)                                            \
-void Intrinsifier::TypedData_##clazz##_factory(Assembler* assembler) {         \
-  intptr_t size = TypedData::ElementSizeInBytes(kTypedData##clazz##Cid);       \
-  intptr_t max_len = TypedData::MaxElements(kTypedData##clazz##Cid);           \
-  int shift = GetScaleFactor(size);                                            \
-  TYPED_ARRAY_ALLOCATION(TypedData, kTypedData##clazz##Cid, max_len, shift);   \
-}
+  void Intrinsifier::TypedData_##clazz##_factory(Assembler* assembler) {       \
+    intptr_t size = TypedData::ElementSizeInBytes(kTypedData##clazz##Cid);     \
+    intptr_t max_len = TypedData::MaxElements(kTypedData##clazz##Cid);         \
+    int shift = GetScaleFactor(size);                                          \
+    TYPED_ARRAY_ALLOCATION(TypedData, kTypedData##clazz##Cid, max_len, shift); \
+  }
 CLASS_LIST_TYPED_DATA(TYPED_DATA_ALLOCATOR)
 #undef TYPED_DATA_ALLOCATOR
 
@@ -285,8 +283,8 @@
   Label fall_through;
 
   TestBothArgumentsSmis(assembler, &fall_through);  // Checks two Smis.
-  __ AdduDetectOverflow(V0, T0, T1, CMPRES1);  // Add.
-  __ bltz(CMPRES1, &fall_through);  // Fall through on overflow.
+  __ AdduDetectOverflow(V0, T0, T1, CMPRES1);       // Add.
+  __ bltz(CMPRES1, &fall_through);                  // Fall through on overflow.
   __ Ret();  // Nothing in branch delay slot.
   __ Bind(&fall_through);
 }
@@ -302,7 +300,7 @@
 
   TestBothArgumentsSmis(assembler, &fall_through);
   __ SubuDetectOverflow(V0, T0, T1, CMPRES1);  // Subtract.
-  __ bltz(CMPRES1, &fall_through);  // Fall through on overflow.
+  __ bltz(CMPRES1, &fall_through);             // Fall through on overflow.
   __ Ret();
   __ Bind(&fall_through);
 }
@@ -313,8 +311,8 @@
 
   TestBothArgumentsSmis(assembler, &fall_through);
   __ SubuDetectOverflow(V0, T1, T0, CMPRES1);  // Subtract.
-  __ bltz(CMPRES1, &fall_through);  // Fall through on overflow.
-  __ Ret();  // Nothing in branch delay slot.
+  __ bltz(CMPRES1, &fall_through);             // Fall through on overflow.
+  __ Ret();                                    // Nothing in branch delay slot.
   __ Bind(&fall_through);
 }
 
@@ -325,10 +323,10 @@
   TestBothArgumentsSmis(assembler, &fall_through);  // checks two smis
   __ SmiUntag(T0);  // untags T0. only want result shifted by one
 
-  __ mult(T0, T1);  // HI:LO <- T0 * T1.
-  __ mflo(V0);  // V0 <- LO.
-  __ mfhi(T2);  // T2 <- HI.
-  __ sra(T3, V0, 31);  // T3 <- V0 >> 31.
+  __ mult(T0, T1);                // HI:LO <- T0 * T1.
+  __ mflo(V0);                    // V0 <- LO.
+  __ mfhi(T2);                    // T2 <- HI.
+  __ sra(T3, V0, 31);             // T3 <- V0 >> 31.
   __ bne(T2, T3, &fall_through);  // Fall through on overflow.
   __ Ret();
   __ Bind(&fall_through);
@@ -375,7 +373,7 @@
   __ SmiUntag(right);
   __ SmiUntag(left);
   __ div(left, right);  // Divide, remainder goes in HI.
-  __ mfhi(result);  // result <- HI.
+  __ mfhi(result);      // result <- HI.
   return;
 }
 
@@ -433,7 +431,7 @@
   __ SmiUntag(T0);
   __ SmiUntag(T1);
   __ div(T1, T0);  // LO <- T1 / T0
-  __ mflo(V0);  // V0 <- LO
+  __ mflo(V0);     // V0 <- LO
   // Check the corner case of dividing the 'MIN_SMI' with -1, in which case we
   // cannot tag the result.
   __ BranchEqual(V0, Immediate(0x40000000), &fall_through);
@@ -446,9 +444,9 @@
 void Intrinsifier::Integer_negate(Assembler* assembler) {
   Label fall_through;
 
-  __ lw(T0, Address(SP, + 0 * kWordSize));  // Grabs first argument.
+  __ lw(T0, Address(SP, +0 * kWordSize));        // Grabs first argument.
   __ andi(CMPRES1, T0, Immediate(kSmiTagMask));  // Test for Smi.
-  __ bne(CMPRES1, ZR, &fall_through);  // Fall through if not a Smi.
+  __ bne(CMPRES1, ZR, &fall_through);            // Fall through if not a Smi.
   __ SubuDetectOverflow(V0, ZR, T0, CMPRES1);
   __ bltz(CMPRES1, &fall_through);  // There was overflow.
   __ Ret();
@@ -507,8 +505,8 @@
   Label fall_through, overflow;
 
   TestBothArgumentsSmis(assembler, &fall_through);
-  __ BranchUnsignedGreater(
-      T0, Immediate(Smi::RawValue(Smi::kBits)), &fall_through);
+  __ BranchUnsignedGreater(T0, Immediate(Smi::RawValue(Smi::kBits)),
+                           &fall_through);
   __ SmiUntag(T0);
 
   // Check for overflow by shifting left and shifting back arithmetically.
@@ -531,18 +529,18 @@
   // high bits = (((1 << T0) - 1) << (32 - T0)) & T1) >> (32 - T0)
   // lo bits = T1 << T0
   __ LoadImmediate(T3, 1);
-  __ sllv(T3, T3, T0);  // T3 <- T3 << T0
+  __ sllv(T3, T3, T0);              // T3 <- T3 << T0
   __ addiu(T3, T3, Immediate(-1));  // T3 <- T3 - 1
-  __ subu(T4, ZR, T0);  // T4 <- -T0
+  __ subu(T4, ZR, T0);              // T4 <- -T0
   __ addiu(T4, T4, Immediate(32));  // T4 <- 32 - T0
-  __ sllv(T3, T3, T4);  // T3 <- T3 << T4
-  __ and_(T3, T3, T1);  // T3 <- T3 & T1
-  __ srlv(T3, T3, T4);  // T3 <- T3 >> T4
+  __ sllv(T3, T3, T4);              // T3 <- T3 << T4
+  __ and_(T3, T3, T1);              // T3 <- T3 & T1
+  __ srlv(T3, T3, T4);              // T3 <- T3 >> T4
   // Now T3 has the bits that fall off of T1 on a left shift.
   __ sllv(T0, T1, T0);  // T0 gets low bits.
 
-  const Class& mint_class = Class::Handle(
-      Isolate::Current()->object_store()->mint_class());
+  const Class& mint_class =
+      Class::Handle(Isolate::Current()->object_store()->mint_class());
   __ TryAllocate(mint_class, &fall_through, V0, T1);
 
   __ sw(T0, FieldAddress(V0, Mint::value_offset()));
@@ -585,10 +583,18 @@
   // T0 contains the right argument. T1 contains left argument
 
   switch (rel_op) {
-    case LT: __ BranchSignedLess(T1, T0, &is_true); break;
-    case LE: __ BranchSignedLessEqual(T1, T0, &is_true); break;
-    case GT: __ BranchSignedGreater(T1, T0, &is_true); break;
-    case GE: __ BranchSignedGreaterEqual(T1, T0, &is_true); break;
+    case LT:
+      __ BranchSignedLess(T1, T0, &is_true);
+      break;
+    case LE:
+      __ BranchSignedLessEqual(T1, T0, &is_true);
+      break;
+    case GT:
+      __ BranchSignedGreater(T1, T0, &is_true);
+      break;
+    case GE:
+      __ BranchSignedGreaterEqual(T1, T0, &is_true);
+      break;
     default:
       UNREACHABLE();
       break;
@@ -743,7 +749,7 @@
   __ bltz(T0, &fall_through);
 
   __ LoadImmediate(T2, 0x1F);
-  __ slt(CMPRES1, T2, T0);  // CMPRES1 <- 0x1F < T0 ? 1 : 0
+  __ slt(CMPRES1, T2, T0);   // CMPRES1 <- 0x1F < T0 ? 1 : 0
   __ movn(T0, T2, CMPRES1);  // T0 <- 0x1F < T0 ? 0x1F : T0
 
   __ SmiUntag(T1);
@@ -1178,7 +1184,7 @@
 
   // T5 = ajp = &a_digits[i]
   __ lw(T1, Address(SP, 1 * kWordSize));  // a_digits
-  __ sll(T0, T2, 2);  // j == 2*i, i is Smi.
+  __ sll(T0, T2, 2);                      // j == 2*i, i is Smi.
   __ addu(T1, T0, T1);
   __ addiu(T5, T1, Immediate(TypedData::data_offset() - kHeapObjectTag));
 
@@ -1239,7 +1245,7 @@
   __ sltu(T1, T0, T6);
   __ addu(T6, A1, T1);  // No carry out; A2:T6:T0 = 2*x*xi + aj + low32(c).
   __ addu(T6, T6, T7);  // No carry out; A2:T6:T0 = 2*x*xi + aj + c.
-  __ mov(T7, A2);  // T7:T6:T0 = 2*x*xi + aj + c.
+  __ mov(T7, A2);       // T7:T6:T0 = 2*x*xi + aj + c.
 
   // *ajp++ = low32(t) = T0
   __ sw(T0, Address(T5, 0));
@@ -1288,8 +1294,8 @@
   __ lw(T4, Address(SP, 2 * kWordSize));  // args
 
   // T3 = rho = args[2]
-  __ lw(T3,
-        FieldAddress(T4, TypedData::data_offset() + 2*Bigint::kBytesPerDigit));
+  __ lw(T3, FieldAddress(
+                T4, TypedData::data_offset() + 2 * Bigint::kBytesPerDigit));
 
   // T2 = d = digits[i >> 1]
   __ lw(T0, Address(SP, 0 * kWordSize));  // T0 = i as Smi.
@@ -1303,8 +1309,8 @@
 
   // args[4] = t mod DIGIT_BASE = low32(t)
   __ mflo(T0);
-  __ sw(T0,
-        FieldAddress(T4, TypedData::data_offset() + 4*Bigint::kBytesPerDigit));
+  __ sw(T0, FieldAddress(
+                T4, TypedData::data_offset() + 4 * Bigint::kBytesPerDigit));
 
   __ addiu(V0, ZR, Immediate(Smi::RawValue(1)));  // One digit processed.
   __ Ret();
@@ -1349,11 +1355,21 @@
   __ Bind(&no_NaN);
 
   switch (rel_op) {
-    case EQ: __ ceqd(D0, D1); break;
-    case LT: __ coltd(D0, D1); break;
-    case LE: __ coled(D0, D1); break;
-    case GT: __ coltd(D1, D0); break;
-    case GE: __ coled(D1, D0); break;
+    case EQ:
+      __ ceqd(D0, D1);
+      break;
+    case LT:
+      __ coltd(D0, D1);
+      break;
+    case LE:
+      __ coled(D0, D1);
+      break;
+    case GT:
+      __ coltd(D1, D0);
+      break;
+    case GE:
+      __ coled(D1, D0);
+      break;
     default: {
       // Only passing the above conditions to this function.
       UNREACHABLE();
@@ -1420,14 +1436,23 @@
   __ lwc1(F0, FieldAddress(T0, Double::value_offset()));
   __ lwc1(F1, FieldAddress(T0, Double::value_offset() + kWordSize));
   switch (kind) {
-    case Token::kADD: __ addd(D0, D0, D1); break;
-    case Token::kSUB: __ subd(D0, D0, D1); break;
-    case Token::kMUL: __ muld(D0, D0, D1); break;
-    case Token::kDIV: __ divd(D0, D0, D1); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ addd(D0, D0, D1);
+      break;
+    case Token::kSUB:
+      __ subd(D0, D0, D1);
+      break;
+    case Token::kMUL:
+      __ muld(D0, D0, D1);
+      break;
+    case Token::kDIV:
+      __ divd(D0, D0, D1);
+      break;
+    default:
+      UNREACHABLE();
   }
-  const Class& double_class = Class::Handle(
-      Isolate::Current()->object_store()->double_class());
+  const Class& double_class =
+      Class::Handle(Isolate::Current()->object_store()->double_class());
   __ TryAllocate(double_class, &fall_through, V0, T1);  // Result register.
   __ swc1(F0, FieldAddress(V0, Double::value_offset()));
   __ Ret();
@@ -1481,8 +1506,8 @@
   __ lwc1(F0, FieldAddress(T0, Double::value_offset()));
   __ lwc1(F1, FieldAddress(T0, Double::value_offset() + kWordSize));
   __ muld(D0, D0, D1);
-  const Class& double_class = Class::Handle(
-      Isolate::Current()->object_store()->double_class());
+  const Class& double_class =
+      Class::Handle(Isolate::Current()->object_store()->double_class());
   __ TryAllocate(double_class, &fall_through, V0, T1);  // Result register.
   __ swc1(F0, FieldAddress(V0, Double::value_offset()));
   __ Ret();
@@ -1503,8 +1528,8 @@
   __ SmiUntag(T0);
   __ mtc1(T0, F4);
   __ cvtdw(D0, F4);
-  const Class& double_class = Class::Handle(
-      Isolate::Current()->object_store()->double_class());
+  const Class& double_class =
+      Class::Handle(Isolate::Current()->object_store()->double_class());
   __ TryAllocate(double_class, &fall_through, V0, T1);  // Result register.
   __ swc1(F0, FieldAddress(V0, Double::value_offset()));
   __ Ret();
@@ -1576,10 +1601,10 @@
 
   __ Bind(&is_zero);
   // Check for negative zero by looking at the sign bit.
-  __ mfc1(T0, F1);  // Moves bits 32...63 of D0 to T0.
-  __ srl(T0, T0, 31);  // Get the sign bit down to bit 0 of T0.
+  __ mfc1(T0, F1);                     // Moves bits 32...63 of D0 to T0.
+  __ srl(T0, T0, 31);                  // Get the sign bit down to bit 0 of T0.
   __ andi(CMPRES1, T0, Immediate(1));  // Check if the bit is set.
-  __ bne(T0, ZR, &is_true);  // Sign bit set. True.
+  __ bne(T0, ZR, &is_true);            // Sign bit set. True.
   __ b(&is_false);
 }
 
@@ -1610,8 +1635,8 @@
   __ LoadDFromOffset(D1, T0, Double::value_offset() - kHeapObjectTag);
   __ Bind(&double_op);
   __ sqrtd(D0, D1);
-  const Class& double_class = Class::Handle(
-      Isolate::Current()->object_store()->double_class());
+  const Class& double_class =
+      Class::Handle(Isolate::Current()->object_store()->double_class());
   __ TryAllocate(double_class, &fall_through, V0, T1);  // Result register.
   __ swc1(F0, FieldAddress(V0, Double::value_offset()));
   __ Ret();
@@ -1633,8 +1658,8 @@
 void Intrinsifier::Random_nextState(Assembler* assembler) {
   const Library& math_lib = Library::Handle(Library::MathLibrary());
   ASSERT(!math_lib.IsNull());
-  const Class& random_class = Class::Handle(
-      math_lib.LookupClassAllowPrivate(Symbols::_Random()));
+  const Class& random_class =
+      Class::Handle(math_lib.LookupClassAllowPrivate(Symbols::_Random()));
   ASSERT(!random_class.IsNull());
   const Field& state_field = Field::ZoneHandle(
       random_class.LookupInstanceFieldAllowPrivate(Symbols::_state()));
@@ -1689,9 +1714,7 @@
 }
 
 
-enum RangeCheckCondition {
-  kIfNotInRange, kIfInRange
-};
+enum RangeCheckCondition { kIfNotInRange, kIfInRange };
 
 
 static void RangeCheck(Assembler* assembler,
@@ -1728,16 +1751,11 @@
 
 
 static void JumpIfString(Assembler* assembler,
-                          Register cid,
-                          Register tmp,
-                          Label* target) {
-  RangeCheck(assembler,
-             cid,
-             tmp,
-             kOneByteStringCid,
-             kExternalTwoByteStringCid,
-             kIfInRange,
-             target);
+                         Register cid,
+                         Register tmp,
+                         Label* target) {
+  RangeCheck(assembler, cid, tmp, kOneByteStringCid, kExternalTwoByteStringCid,
+             kIfInRange, target);
 }
 
 
@@ -1745,13 +1763,8 @@
                             Register cid,
                             Register tmp,
                             Label* target) {
-  RangeCheck(assembler,
-             cid,
-             tmp,
-             kOneByteStringCid,
-             kExternalTwoByteStringCid,
-             kIfNotInRange,
-             target);
+  RangeCheck(assembler, cid, tmp, kOneByteStringCid, kExternalTwoByteStringCid,
+             kIfNotInRange, target);
 }
 
 
@@ -1764,8 +1777,8 @@
   // Closures are handled in the runtime.
   __ BranchEqual(T1, Immediate(kClosureCid), &fall_through);
 
-  __ BranchUnsignedGreaterEqual(
-      T1, Immediate(kNumPredefinedCids), &use_canonical_type);
+  __ BranchUnsignedGreaterEqual(T1, Immediate(kNumPredefinedCids),
+                                &use_canonical_type);
 
   __ BranchNotEqual(T1, Immediate(kDoubleCid), &not_double);
   // Object is a double.
@@ -1834,8 +1847,7 @@
   // Class ids are different. Check if we are comparing runtime types of
   // two strings (with different representations) or two integers.
   __ Bind(&different_cids);
-  __ BranchUnsignedGreaterEqual(
-      T1, Immediate(kNumPredefinedCids), &not_equal);
+  __ BranchUnsignedGreaterEqual(T1, Immediate(kNumPredefinedCids), &not_equal);
 
   // Check if both are integers.
   JumpIfNotInteger(assembler, T1, T0, &not_integer);
@@ -1950,20 +1962,16 @@
   __ LoadClassId(CMPRES1, A0);
   __ BranchNotEqual(CMPRES1, Immediate(kOneByteStringCid), &try_two_byte);
 
-  GenerateSubstringMatchesSpecialization(assembler,
-                                         kOneByteStringCid,
-                                         kOneByteStringCid,
-                                         &return_true,
+  GenerateSubstringMatchesSpecialization(assembler, kOneByteStringCid,
+                                         kOneByteStringCid, &return_true,
                                          &return_false);
 
   __ Bind(&try_two_byte);
   __ LoadClassId(CMPRES1, A0);
   __ BranchNotEqual(CMPRES1, Immediate(kTwoByteStringCid), &fall_through);
 
-  GenerateSubstringMatchesSpecialization(assembler,
-                                         kTwoByteStringCid,
-                                         kOneByteStringCid,
-                                         &return_true,
+  GenerateSubstringMatchesSpecialization(assembler, kTwoByteStringCid,
+                                         kOneByteStringCid, &return_true,
                                          &return_false);
 
   __ Bind(&return_true);
@@ -1986,13 +1994,13 @@
 
   // Checks.
   __ andi(CMPRES1, T1, Immediate(kSmiTagMask));
-  __ bne(CMPRES1, ZR, &fall_through);  // Index is not a Smi.
+  __ bne(CMPRES1, ZR, &fall_through);                    // Index is not a Smi.
   __ lw(T2, FieldAddress(T0, String::length_offset()));  // Range check.
   // Runtime throws exception.
   __ BranchUnsignedGreaterEqual(T1, T2, &fall_through);
   __ LoadClassId(CMPRES1, T0);  // Class ID check.
-  __ BranchNotEqual(
-      CMPRES1, Immediate(kOneByteStringCid), &try_two_byte_string);
+  __ BranchNotEqual(CMPRES1, Immediate(kOneByteStringCid),
+                    &try_two_byte_string);
 
   // Grab byte and return.
   __ SmiUntag(T1);
@@ -2155,8 +2163,8 @@
     Label overflow, done;
     const intptr_t shift = RawObject::kSizeTagPos - kObjectAlignmentLog2;
 
-    __ BranchUnsignedGreater(
-        T2, Immediate(RawObject::SizeTag::kMaxSizeTag), &overflow);
+    __ BranchUnsignedGreater(T2, Immediate(RawObject::SizeTag::kMaxSizeTag),
+                             &overflow);
     __ b(&done);
     __ delay_slot()->sll(T2, T2, shift);
     __ Bind(&overflow);
@@ -2171,8 +2179,7 @@
   }
 
   // Set the length field using the saved length (T6).
-  __ StoreIntoObjectNoBarrier(V0,
-                              FieldAddress(V0, String::length_offset()),
+  __ StoreIntoObjectNoBarrier(V0, FieldAddress(V0, String::length_offset()),
                               T6);
   // Clear hash.
   __ b(ok);
@@ -2275,7 +2282,7 @@
   // Is other OneByteString?
   __ andi(CMPRES1, T1, Immediate(kSmiTagMask));
   __ beq(CMPRES1, ZR, &fall_through);  // Other is Smi.
-  __ LoadClassId(CMPRES1, T1);  // Class ID check.
+  __ LoadClassId(CMPRES1, T1);         // Class ID check.
   __ BranchNotEqual(CMPRES1, Immediate(string_cid), &fall_through);
 
   // Have same length?
@@ -2367,7 +2374,7 @@
   // V0: Current user tag.
   __ lw(V0, Address(T1, Isolate::current_tag_offset()));
   // T2: UserTag.
-  __ lw(T2, Address(SP, + 0 * kWordSize));
+  __ lw(T2, Address(SP, +0 * kWordSize));
   // Set Isolate::current_tag_.
   __ sw(T2, Address(T1, Isolate::current_tag_offset()));
   // T2: UserTag's tag.
diff --git a/runtime/vm/intrinsifier_x64.cc b/runtime/vm/intrinsifier_x64.cc
index 288d5e4..f4f7313 100644
--- a/runtime/vm/intrinsifier_x64.cc
+++ b/runtime/vm/intrinsifier_x64.cc
@@ -29,7 +29,9 @@
 #define __ assembler->
 
 
-intptr_t Intrinsifier::ParameterSlotFromSp() { return 0; }
+intptr_t Intrinsifier::ParameterSlotFromSp() {
+  return 0;
+}
 
 
 static bool IsABIPreservedRegister(Register reg) {
@@ -61,9 +63,9 @@
   }
 
   Label fall_through;
-  __ movq(RDX, Address(RSP, + 1 * kWordSize));  // Value.
-  __ movq(RCX, Address(RSP, + 2 * kWordSize));  // Index.
-  __ movq(RAX, Address(RSP, + 3 * kWordSize));  // Array.
+  __ movq(RDX, Address(RSP, +1 * kWordSize));  // Value.
+  __ movq(RCX, Address(RSP, +2 * kWordSize));  // Index.
+  __ movq(RAX, Address(RSP, +3 * kWordSize));  // Array.
   __ testq(RCX, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, &fall_through);
   // Range check.
@@ -73,8 +75,7 @@
   // Note that RBX is Smi, i.e, times 2.
   ASSERT(kSmiTagShift == 1);
   // Destroy RCX (ic data) as we will not continue in the function.
-  __ StoreIntoObject(RAX,
-                     FieldAddress(RAX, RCX, TIMES_4, Array::data_offset()),
+  __ StoreIntoObject(RAX, FieldAddress(RAX, RCX, TIMES_4, Array::data_offset()),
                      RDX);
   // Caller is responsible of preserving the value if necessary.
   __ ret();
@@ -101,16 +102,13 @@
   __ movq(RCX, Address(RSP, kArrayOffset));  // data argument.
   // RAX is new, no barrier needed.
   __ StoreIntoObjectNoBarrier(
-      RAX,
-      FieldAddress(RAX, GrowableObjectArray::data_offset()),
-      RCX);
+      RAX, FieldAddress(RAX, GrowableObjectArray::data_offset()), RCX);
 
   // RAX: new growable array object start as a tagged pointer.
   // Store the type argument field in the growable array object.
   __ movq(RCX, Address(RSP, kTypeArgumentsOffset));  // type argument.
   __ StoreIntoObjectNoBarrier(
-      RAX,
-      FieldAddress(RAX, GrowableObjectArray::type_arguments_offset()),
+      RAX, FieldAddress(RAX, GrowableObjectArray::type_arguments_offset()),
       RCX);
 
   // Set the length field in the growable array object to 0.
@@ -128,7 +126,7 @@
   // In checked mode we need to check the incoming argument.
   if (Isolate::Current()->type_checks()) return;
   Label fall_through;
-  __ movq(RAX, Address(RSP, + 2 * kWordSize));  // Array.
+  __ movq(RAX, Address(RSP, +2 * kWordSize));  // Array.
   __ movq(RCX, FieldAddress(RAX, GrowableObjectArray::length_offset()));
   // RCX: length.
   __ movq(RDX, FieldAddress(RAX, GrowableObjectArray::data_offset()));
@@ -139,10 +137,9 @@
   // len = len + 1;
   __ IncrementSmiField(FieldAddress(RAX, GrowableObjectArray::length_offset()),
                        1);
-  __ movq(RAX, Address(RSP, + 1 * kWordSize));  // Value
+  __ movq(RAX, Address(RSP, +1 * kWordSize));  // Value
   ASSERT(kSmiTagShift == 1);
-  __ StoreIntoObject(RDX,
-                     FieldAddress(RDX, RCX, TIMES_4, Array::data_offset()),
+  __ StoreIntoObject(RDX, FieldAddress(RDX, RCX, TIMES_4, Array::data_offset()),
                      RAX);
   __ LoadObject(RAX, Object::null_object());
   __ ret();
@@ -154,7 +151,7 @@
   Label fall_through;                                                          \
   const intptr_t kArrayLengthStackOffset = 1 * kWordSize;                      \
   NOT_IN_PRODUCT(__ MaybeTraceAllocation(cid, &fall_through, false));          \
-  __ movq(RDI, Address(RSP, kArrayLengthStackOffset));  /* Array length. */    \
+  __ movq(RDI, Address(RSP, kArrayLengthStackOffset)); /* Array length. */     \
   /* Check that length is a positive Smi. */                                   \
   /* RDI: requested array length argument. */                                  \
   __ testq(RDI, Immediate(kSmiTagMask));                                       \
@@ -216,22 +213,21 @@
                                                                                \
     /* Get the class index and insert it into the tags. */                     \
     __ orq(RDI, Immediate(RawObject::ClassIdTag::encode(cid)));                \
-    __ movq(FieldAddress(RAX, type_name::tags_offset()), RDI);  /* Tags. */    \
+    __ movq(FieldAddress(RAX, type_name::tags_offset()), RDI); /* Tags. */     \
   }                                                                            \
   /* Set the length field. */                                                  \
   /* RAX: new object start as a tagged pointer. */                             \
   /* RCX: new object end address. */                                           \
-  __ movq(RDI, Address(RSP, kArrayLengthStackOffset));  /* Array length. */    \
-  __ StoreIntoObjectNoBarrier(RAX,                                             \
-                              FieldAddress(RAX, type_name::length_offset()),   \
-                              RDI);                                            \
+  __ movq(RDI, Address(RSP, kArrayLengthStackOffset)); /* Array length. */     \
+  __ StoreIntoObjectNoBarrier(                                                 \
+      RAX, FieldAddress(RAX, type_name::length_offset()), RDI);                \
   /* Initialize all array elements to 0. */                                    \
   /* RAX: new object start as a tagged pointer. */                             \
   /* RCX: new object end address. */                                           \
   /* RDI: iterator which initially points to the start of the variable */      \
   /* RBX: scratch register. */                                                 \
   /* data area to be initialized. */                                           \
-  __ xorq(RBX, RBX);  /* Zero. */                                              \
+  __ xorq(RBX, RBX); /* Zero. */                                               \
   __ leaq(RDI, FieldAddress(RAX, sizeof(Raw##type_name)));                     \
   Label done, init_loop;                                                       \
   __ Bind(&init_loop);                                                         \
@@ -243,16 +239,21 @@
   __ Bind(&done);                                                              \
                                                                                \
   __ ret();                                                                    \
-  __ Bind(&fall_through);                                                      \
+  __ Bind(&fall_through);
 
 
 static ScaleFactor GetScaleFactor(intptr_t size) {
   switch (size) {
-    case 1: return TIMES_1;
-    case 2: return TIMES_2;
-    case 4: return TIMES_4;
-    case 8: return TIMES_8;
-    case 16: return TIMES_16;
+    case 1:
+      return TIMES_1;
+    case 2:
+      return TIMES_2;
+    case 4:
+      return TIMES_4;
+    case 8:
+      return TIMES_8;
+    case 16:
+      return TIMES_16;
   }
   UNREACHABLE();
   return static_cast<ScaleFactor>(0);
@@ -260,12 +261,12 @@
 
 
 #define TYPED_DATA_ALLOCATOR(clazz)                                            \
-void Intrinsifier::TypedData_##clazz##_factory(Assembler* assembler) {         \
-  intptr_t size = TypedData::ElementSizeInBytes(kTypedData##clazz##Cid);       \
-  intptr_t max_len = TypedData::MaxElements(kTypedData##clazz##Cid);           \
-  ScaleFactor scale = GetScaleFactor(size);                                    \
-  TYPED_ARRAY_ALLOCATION(TypedData, kTypedData##clazz##Cid, max_len, scale);   \
-}
+  void Intrinsifier::TypedData_##clazz##_factory(Assembler* assembler) {       \
+    intptr_t size = TypedData::ElementSizeInBytes(kTypedData##clazz##Cid);     \
+    intptr_t max_len = TypedData::MaxElements(kTypedData##clazz##Cid);         \
+    ScaleFactor scale = GetScaleFactor(size);                                  \
+    TYPED_ARRAY_ALLOCATION(TypedData, kTypedData##clazz##Cid, max_len, scale); \
+  }
 CLASS_LIST_TYPED_DATA(TYPED_DATA_ALLOCATOR)
 #undef TYPED_DATA_ALLOCATOR
 
@@ -273,8 +274,8 @@
 // Tests if two top most arguments are smis, jumps to label not_smi if not.
 // Topmost argument is in RAX.
 static void TestBothArgumentsSmis(Assembler* assembler, Label* not_smi) {
-  __ movq(RAX, Address(RSP, + 1 * kWordSize));
-  __ movq(RCX, Address(RSP, + 2 * kWordSize));
+  __ movq(RAX, Address(RSP, +1 * kWordSize));
+  __ movq(RCX, Address(RSP, +2 * kWordSize));
   __ orq(RCX, RAX);
   __ testq(RCX, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, not_smi);
@@ -285,7 +286,7 @@
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
   // RAX contains right argument.
-  __ addq(RAX, Address(RSP, + 2 * kWordSize));
+  __ addq(RAX, Address(RSP, +2 * kWordSize));
   __ j(OVERFLOW, &fall_through, Assembler::kNearJump);
   // Result is in RAX.
   __ ret();
@@ -302,7 +303,7 @@
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
   // RAX contains right argument, which is the actual minuend of subtraction.
-  __ subq(RAX, Address(RSP, + 2 * kWordSize));
+  __ subq(RAX, Address(RSP, +2 * kWordSize));
   __ j(OVERFLOW, &fall_through, Assembler::kNearJump);
   // Result is in RAX.
   __ ret();
@@ -315,7 +316,7 @@
   TestBothArgumentsSmis(assembler, &fall_through);
   // RAX contains right argument, which is the actual subtrahend of subtraction.
   __ movq(RCX, RAX);
-  __ movq(RAX, Address(RSP, + 2 * kWordSize));
+  __ movq(RAX, Address(RSP, +2 * kWordSize));
   __ subq(RAX, RCX);
   __ j(OVERFLOW, &fall_through, Assembler::kNearJump);
   // Result is in RAX.
@@ -324,14 +325,13 @@
 }
 
 
-
 void Intrinsifier::Integer_mulFromInteger(Assembler* assembler) {
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
   // RAX is the right argument.
   ASSERT(kSmiTag == 0);  // Adjust code below if not the case.
   __ SmiUntag(RAX);
-  __ imulq(RAX, Address(RSP, + 2 * kWordSize));
+  __ imulq(RAX, Address(RSP, +2 * kWordSize));
   __ j(OVERFLOW, &fall_through, Assembler::kNearJump);
   // Result is in RAX.
   __ ret();
@@ -368,7 +368,7 @@
   __ j(LESS, &try_modulo, Assembler::kNearJump);
   // left is positive.
   __ cmpq(RAX, RCX);
-  __ j(GREATER, &try_modulo,  Assembler::kNearJump);
+  __ j(GREATER, &try_modulo, Assembler::kNearJump);
   // left is less than right, result is left (RAX).
   __ ret();
 
@@ -420,7 +420,7 @@
 void Intrinsifier::Integer_moduloFromInteger(Assembler* assembler) {
   Label fall_through, negative_result;
   TestBothArgumentsSmis(assembler, &fall_through);
-  __ movq(RCX, Address(RSP, + 2 * kWordSize));
+  __ movq(RCX, Address(RSP, +2 * kWordSize));
   // RAX: Tagged left (dividend).
   // RCX: Tagged right (divisor).
   __ cmpq(RCX, Immediate(0));
@@ -458,7 +458,7 @@
   __ cmpq(RAX, Immediate(0));
   __ j(EQUAL, &fall_through, Assembler::kNearJump);
   __ movq(RCX, RAX);
-  __ movq(RAX, Address(RSP, + 2 * kWordSize));  // Left argument (dividend).
+  __ movq(RAX, Address(RSP, +2 * kWordSize));  // Left argument (dividend).
 
   // Check if both operands fit into 32bits as idiv with 64bit operands
   // requires twice as many cycles and has much higher latency. We are checking
@@ -500,7 +500,7 @@
 
 void Intrinsifier::Integer_negate(Assembler* assembler) {
   Label fall_through;
-  __ movq(RAX, Address(RSP, + 1 * kWordSize));
+  __ movq(RAX, Address(RSP, +1 * kWordSize));
   __ testq(RAX, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, &fall_through, Assembler::kNearJump);  // Non-smi value.
   __ negq(RAX);
@@ -515,7 +515,7 @@
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
   // RAX is the right argument.
-  __ andq(RAX, Address(RSP, + 2 * kWordSize));
+  __ andq(RAX, Address(RSP, +2 * kWordSize));
   // Result is in RAX.
   __ ret();
   __ Bind(&fall_through);
@@ -531,7 +531,7 @@
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
   // RAX is the right argument.
-  __ orq(RAX, Address(RSP, + 2 * kWordSize));
+  __ orq(RAX, Address(RSP, +2 * kWordSize));
   // Result is in RAX.
   __ ret();
   __ Bind(&fall_through);
@@ -547,7 +547,7 @@
   Label fall_through;
   TestBothArgumentsSmis(assembler, &fall_through);
   // RAX is the right argument.
-  __ xorq(RAX, Address(RSP, + 2 * kWordSize));
+  __ xorq(RAX, Address(RSP, +2 * kWordSize));
   // Result is in RAX.
   __ ret();
   __ Bind(&fall_through);
@@ -569,8 +569,8 @@
   __ j(ABOVE_EQUAL, &fall_through, Assembler::kNearJump);
 
   __ SmiUntag(RAX);
-  __ movq(RCX, RAX);  // Shift amount must be in RCX.
-  __ movq(RAX, Address(RSP, + 2 * kWordSize));  // Value.
+  __ movq(RCX, RAX);                           // Shift amount must be in RCX.
+  __ movq(RAX, Address(RSP, +2 * kWordSize));  // Value.
 
   // Overflow test - all the shifted-out bits must be same as the sign bit.
   __ movq(RDI, RAX);
@@ -595,7 +595,7 @@
   Label fall_through, true_label;
   TestBothArgumentsSmis(assembler, &fall_through);
   // RAX contains the right argument.
-  __ cmpq(Address(RSP, + 2 * kWordSize), RAX);
+  __ cmpq(Address(RSP, +2 * kWordSize), RAX);
   __ j(true_condition, &true_label, Assembler::kNearJump);
   __ LoadObject(RAX, Bool::False());
   __ ret();
@@ -639,8 +639,8 @@
   const intptr_t kArgumentOffset = 1;
 
   // For integer receiver '===' check first.
-  __ movq(RAX, Address(RSP, + kArgumentOffset * kWordSize));
-  __ movq(RCX, Address(RSP, + kReceiverOffset * kWordSize));
+  __ movq(RAX, Address(RSP, +kArgumentOffset * kWordSize));
+  __ movq(RCX, Address(RSP, +kReceiverOffset * kWordSize));
   __ cmpq(RAX, RCX);
   __ j(EQUAL, &true_label, Assembler::kNearJump);
   __ orq(RAX, RCX);
@@ -656,14 +656,14 @@
   // At least one of the arguments was not Smi.
   Label receiver_not_smi;
   __ Bind(&check_for_mint);
-  __ movq(RAX, Address(RSP, + kReceiverOffset * kWordSize));
+  __ movq(RAX, Address(RSP, +kReceiverOffset * kWordSize));
   __ testq(RAX, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, &receiver_not_smi);
 
   // Left (receiver) is Smi, return false if right is not Double.
   // Note that an instance of Mint or Bigint never contains a value that can be
   // represented by Smi.
-  __ movq(RAX, Address(RSP, + kArgumentOffset * kWordSize));
+  __ movq(RAX, Address(RSP, +kArgumentOffset * kWordSize));
   __ CompareClassId(RAX, kDoubleCid);
   __ j(EQUAL, &fall_through);
   __ LoadObject(RAX, Bool::False());
@@ -674,7 +674,7 @@
   __ CompareClassId(RAX, kMintCid);
   __ j(NOT_EQUAL, &fall_through);
   // Receiver is Mint, return false if right is Smi.
-  __ movq(RAX, Address(RSP, + kArgumentOffset * kWordSize));
+  __ movq(RAX, Address(RSP, +kArgumentOffset * kWordSize));
   __ testq(RAX, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, &fall_through);
   // Smi == Mint -> false.
@@ -706,9 +706,9 @@
   __ j(LESS_EQUAL, &shift_count_ok, Assembler::kNearJump);
   __ movq(RAX, count_limit);
   __ Bind(&shift_count_ok);
-  __ movq(RCX, RAX);  // Shift amount must be in RCX.
-  __ movq(RAX, Address(RSP, + 2 * kWordSize));  // Value.
-  __ SmiUntag(RAX);  // Value.
+  __ movq(RCX, RAX);                           // Shift amount must be in RCX.
+  __ movq(RAX, Address(RSP, +2 * kWordSize));  // Value.
+  __ SmiUntag(RAX);                            // Value.
   __ sarq(RAX, RCX);
   __ SmiTag(RAX);
   __ ret();
@@ -718,7 +718,7 @@
 
 // Argument is Smi (receiver).
 void Intrinsifier::Smi_bitNegate(Assembler* assembler) {
-  __ movq(RAX, Address(RSP, + 1 * kWordSize));  // Index.
+  __ movq(RAX, Address(RSP, +1 * kWordSize));  // Index.
   __ notq(RAX);
   __ andq(RAX, Immediate(~kSmiTagMask));  // Remove inverted smi-tag.
   __ ret();
@@ -727,7 +727,7 @@
 
 void Intrinsifier::Smi_bitLength(Assembler* assembler) {
   ASSERT(kSmiTagShift == 1);
-  __ movq(RAX, Address(RSP, + 1 * kWordSize));  // Index.
+  __ movq(RAX, Address(RSP, +1 * kWordSize));  // Index.
   // XOR with sign bit to complement bits if value is negative.
   __ movq(RCX, RAX);
   __ sarq(RCX, Immediate(63));  // All 0 or all 1.
@@ -751,7 +751,7 @@
   //                  Uint32List r_digits)
 
   __ movq(RDI, Address(RSP, 4 * kWordSize));  // x_digits
-  __ movq(R8, Address(RSP, 3 * kWordSize));  // x_used is Smi
+  __ movq(R8, Address(RSP, 3 * kWordSize));   // x_used is Smi
   __ subq(R8, Immediate(2));  // x_used > 0, Smi. R8 = x_used - 1, round up.
   __ sarq(R8, Immediate(2));  // R8 + 1 = number of digit pairs to read.
   __ movq(RCX, Address(RSP, 2 * kWordSize));  // n is Smi
@@ -770,9 +770,8 @@
   Label loop;
   __ Bind(&loop);
   __ movq(RAX, RDX);
-  __ movq(RDX,
-          FieldAddress(RDI, R8, TIMES_8,
-                       TypedData::data_offset() - 2 * Bigint::kBytesPerDigit));
+  __ movq(RDX, FieldAddress(RDI, R8, TIMES_8, TypedData::data_offset() -
+                                                  2 * Bigint::kBytesPerDigit));
   __ shldq(RAX, RDX, RCX);
   __ movq(Address(RBX, R8, TIMES_8, 0), RAX);
   __ decq(R8);
@@ -794,7 +793,7 @@
   __ SmiUntag(RCX);
   __ movq(RBX, Address(RSP, 1 * kWordSize));  // r_digits
   __ movq(RDX, RCX);
-  __ sarq(RDX, Immediate(6));  // RDX = n ~/ (2*_DIGIT_BITS).
+  __ sarq(RDX, Immediate(6));                 // RDX = n ~/ (2*_DIGIT_BITS).
   __ movq(RSI, Address(RSP, 3 * kWordSize));  // x_used is Smi
   __ subq(RSI, Immediate(2));  // x_used > 0, Smi. RSI = x_used - 1, round up.
   __ sarq(RSI, Immediate(2));
@@ -828,7 +827,7 @@
   //                     Uint32List r_digits)
 
   __ movq(RDI, Address(RSP, 5 * kWordSize));  // digits
-  __ movq(R8, Address(RSP, 4 * kWordSize));  // used is Smi
+  __ movq(R8, Address(RSP, 4 * kWordSize));   // used is Smi
   __ addq(R8, Immediate(2));  // used > 0, Smi. R8 = used + 1, round up.
   __ sarq(R8, Immediate(2));  // R8 = number of digit pairs to process.
   __ movq(RSI, Address(RSP, 3 * kWordSize));  // a_digits
@@ -853,7 +852,7 @@
   __ j(NOT_ZERO, &add_loop, Assembler::kNearJump);
 
   Label last_carry;
-  __ decq(R8);  // Does not affect carry flag.
+  __ decq(R8);                                    // Does not affect carry flag.
   __ j(ZERO, &last_carry, Assembler::kNearJump);  // If used - a_used == 0.
 
   Label carry_loop;
@@ -863,7 +862,7 @@
   __ adcq(RAX, Immediate(0));
   __ movq(FieldAddress(RBX, RDX, TIMES_8, TypedData::data_offset()), RAX);
   __ incq(RDX);  // Does not affect carry flag.
-  __ decq(R8);  // Does not affect carry flag.
+  __ decq(R8);   // Does not affect carry flag.
   __ j(NOT_ZERO, &carry_loop, Assembler::kNearJump);
 
   __ Bind(&last_carry);
@@ -884,7 +883,7 @@
   //                     Uint32List r_digits)
 
   __ movq(RDI, Address(RSP, 5 * kWordSize));  // digits
-  __ movq(R8, Address(RSP, 4 * kWordSize));  // used is Smi
+  __ movq(R8, Address(RSP, 4 * kWordSize));   // used is Smi
   __ addq(R8, Immediate(2));  // used > 0, Smi. R8 = used + 1, round up.
   __ sarq(R8, Immediate(2));  // R8 = number of digit pairs to process.
   __ movq(RSI, Address(RSP, 3 * kWordSize));  // a_digits
@@ -909,7 +908,7 @@
   __ j(NOT_ZERO, &sub_loop, Assembler::kNearJump);
 
   Label done;
-  __ decq(R8);  // Does not affect carry flag.
+  __ decq(R8);                              // Does not affect carry flag.
   __ j(ZERO, &done, Assembler::kNearJump);  // If used - a_used == 0.
 
   Label carry_loop;
@@ -919,7 +918,7 @@
   __ sbbq(RAX, Immediate(0));
   __ movq(FieldAddress(RBX, RDX, TIMES_8, TypedData::data_offset()), RAX);
   __ incq(RDX);  // Does not affect carry flag.
-  __ decq(R8);  // Does not affect carry flag.
+  __ decq(R8);   // Does not affect carry flag.
   __ j(NOT_ZERO, &carry_loop, Assembler::kNearJump);
 
   __ Bind(&done);
@@ -995,10 +994,10 @@
 
   // uint64_t mi = *mip++
   __ movq(RAX, Address(RDI, 0));
-  __ addq(RDI, Immediate(2*Bigint::kBytesPerDigit));
+  __ addq(RDI, Immediate(2 * Bigint::kBytesPerDigit));
 
   // uint128_t t = x*mi
-  __ mulq(RBX);  // t = RDX:RAX = RAX * RBX, 64-bit * 64-bit -> 64-bit
+  __ mulq(RBX);       // t = RDX:RAX = RAX * RBX, 64-bit * 64-bit -> 64-bit
   __ addq(RAX, RCX);  // t += c
   __ adcq(RDX, Immediate(0));
 
@@ -1008,7 +1007,7 @@
 
   // *ajp++ = low64(t)
   __ movq(Address(RSI, 0), RAX);
-  __ addq(RSI, Immediate(2*Bigint::kBytesPerDigit));
+  __ addq(RSI, Immediate(2 * Bigint::kBytesPerDigit));
 
   // c = high64(t)
   __ movq(RCX, RDX);
@@ -1026,7 +1025,7 @@
 
   Label propagate_carry_loop;
   __ Bind(&propagate_carry_loop);
-  __ addq(RSI, Immediate(2*Bigint::kBytesPerDigit));
+  __ addq(RSI, Immediate(2 * Bigint::kBytesPerDigit));
   __ incq(Address(RSI, 0));  // c == 0 or 1
   __ j(CARRY, &propagate_carry_loop, Assembler::kNearJump);
 
@@ -1073,7 +1072,7 @@
   __ movq(RBX, Address(RDI, 0));
   __ cmpq(RBX, Immediate(0));
   __ j(EQUAL, &x_zero);
-  __ addq(RDI, Immediate(2*Bigint::kBytesPerDigit));
+  __ addq(RDI, Immediate(2 * Bigint::kBytesPerDigit));
 
   // RSI = ajp = &a_digits[i]
   __ movq(RSI, Address(RSP, 2 * kWordSize));  // a_digits
@@ -1087,7 +1086,7 @@
 
   // *ajp++ = low64(t)
   __ movq(Address(RSI, 0), RAX);
-  __ addq(RSI, Immediate(2*Bigint::kBytesPerDigit));
+  __ addq(RSI, Immediate(2 * Bigint::kBytesPerDigit));
 
   // int n = (used - i + 1)/2 - 1
   __ movq(R8, Address(RSP, 1 * kWordSize));  // used is Smi
@@ -1115,14 +1114,14 @@
 
   // uint64_t xi = *xip++
   __ movq(RAX, Address(RDI, 0));
-  __ addq(RDI, Immediate(2*Bigint::kBytesPerDigit));
+  __ addq(RDI, Immediate(2 * Bigint::kBytesPerDigit));
 
   // uint192_t t = RCX:RDX:RAX = 2*x*xi + aj + c
-  __ mulq(RBX);  // RDX:RAX = RAX * RBX
+  __ mulq(RBX);       // RDX:RAX = RAX * RBX
   __ xorq(RCX, RCX);  // RCX = 0
   __ shldq(RCX, RDX, Immediate(1));
   __ shldq(RDX, RAX, Immediate(1));
-  __ shlq(RAX, Immediate(1));  // RCX:RDX:RAX <<= 1
+  __ shlq(RAX, Immediate(1));     // RCX:RDX:RAX <<= 1
   __ addq(RAX, Address(RSI, 0));  // t += aj
   __ adcq(RDX, Immediate(0));
   __ adcq(RCX, Immediate(0));
@@ -1132,7 +1131,7 @@
 
   // *ajp++ = low64(t)
   __ movq(Address(RSI, 0), RAX);
-  __ addq(RSI, Immediate(2*Bigint::kBytesPerDigit));
+  __ addq(RSI, Immediate(2 * Bigint::kBytesPerDigit));
 
   // c = high128(t)
   __ movq(R12, RDX);
@@ -1148,7 +1147,7 @@
   // *ajp++ = low64(t)
   // *ajp = high64(t)
   __ movq(Address(RSI, 0), R12);
-  __ movq(Address(RSI, 2*Bigint::kBytesPerDigit), R13);
+  __ movq(Address(RSI, 2 * Bigint::kBytesPerDigit), R13);
 
   __ Bind(&x_zero);
   __ movq(RAX, Immediate(Smi::RawValue(2)));  // Two digits processed.
@@ -1197,16 +1196,16 @@
   __ j(EQUAL, &return_qd, Assembler::kNearJump);
 
   // RAX = dl = dp[-1]
-  __ movq(RAX, Address(RBX, -2*Bigint::kBytesPerDigit));
+  __ movq(RAX, Address(RBX, -2 * Bigint::kBytesPerDigit));
 
   // RAX = qd = dh:dl / yt = RDX:RAX / RCX
   __ divq(RCX);
 
   __ Bind(&return_qd);
   // args[2..3] = qd
-  __ movq(FieldAddress(RDI,
-                       TypedData::data_offset() + 2*Bigint::kBytesPerDigit),
-          RAX);
+  __ movq(
+      FieldAddress(RDI, TypedData::data_offset() + 2 * Bigint::kBytesPerDigit),
+      RAX);
 
   __ movq(RAX, Immediate(Smi::RawValue(2)));  // Two digits processed.
   __ ret();
@@ -1227,9 +1226,8 @@
   __ movq(RDI, Address(RSP, 3 * kWordSize));  // args
 
   // RCX = rho = args[2 .. 3]
-  __ movq(RCX,
-          FieldAddress(RDI,
-                       TypedData::data_offset() + 2*Bigint::kBytesPerDigit));
+  __ movq(RCX, FieldAddress(
+                   RDI, TypedData::data_offset() + 2 * Bigint::kBytesPerDigit));
 
   // RAX = digits[i >> 1 .. (i >> 1) + 1]
   __ movq(RBX, Address(RSP, 2 * kWordSize));  // digits
@@ -1240,9 +1238,9 @@
   __ mulq(RCX);
 
   // args[4 .. 5] = t mod DIGIT_BASE^2 = low64(t)
-  __ movq(FieldAddress(RDI,
-                       TypedData::data_offset() + 4*Bigint::kBytesPerDigit),
-          RAX);
+  __ movq(
+      FieldAddress(RDI, TypedData::data_offset() + 4 * Bigint::kBytesPerDigit),
+      RAX);
 
   __ movq(RAX, Immediate(Smi::RawValue(2)));  // Two digits processed.
   __ ret();
@@ -1255,7 +1253,7 @@
 static void TestLastArgumentIsDouble(Assembler* assembler,
                                      Label* is_smi,
                                      Label* not_double_smi) {
-  __ movq(RAX, Address(RSP, + 1 * kWordSize));
+  __ movq(RAX, Address(RSP, +1 * kWordSize));
   __ testq(RAX, Immediate(kSmiTagMask));
   __ j(ZERO, is_smi);  // Jump if Smi.
   __ CompareClassId(RAX, kDoubleCid);
@@ -1274,7 +1272,7 @@
   // Both arguments are double, right operand is in RAX.
   __ movsd(XMM1, FieldAddress(RAX, Double::value_offset()));
   __ Bind(&double_op);
-  __ movq(RAX, Address(RSP, + 2 * kWordSize));  // Left argument.
+  __ movq(RAX, Address(RSP, +2 * kWordSize));  // Left argument.
   __ movsd(XMM0, FieldAddress(RAX, Double::value_offset()));
   __ comisd(XMM0, XMM1);
   __ j(PARITY_EVEN, &is_false, Assembler::kNearJump);  // NaN -> false;
@@ -1327,20 +1325,27 @@
   // Both arguments are double, right operand is in RAX.
   __ movsd(XMM1, FieldAddress(RAX, Double::value_offset()));
   __ Bind(&double_op);
-  __ movq(RAX, Address(RSP, + 2 * kWordSize));  // Left argument.
+  __ movq(RAX, Address(RSP, +2 * kWordSize));  // Left argument.
   __ movsd(XMM0, FieldAddress(RAX, Double::value_offset()));
   switch (kind) {
-    case Token::kADD: __ addsd(XMM0, XMM1); break;
-    case Token::kSUB: __ subsd(XMM0, XMM1); break;
-    case Token::kMUL: __ mulsd(XMM0, XMM1); break;
-    case Token::kDIV: __ divsd(XMM0, XMM1); break;
-    default: UNREACHABLE();
+    case Token::kADD:
+      __ addsd(XMM0, XMM1);
+      break;
+    case Token::kSUB:
+      __ subsd(XMM0, XMM1);
+      break;
+    case Token::kMUL:
+      __ mulsd(XMM0, XMM1);
+      break;
+    case Token::kDIV:
+      __ divsd(XMM0, XMM1);
+      break;
+    default:
+      UNREACHABLE();
   }
-  const Class& double_class = Class::Handle(
-      Isolate::Current()->object_store()->double_class());
-  __ TryAllocate(double_class,
-                 &fall_through,
-                 Assembler::kFarJump,
+  const Class& double_class =
+      Class::Handle(Isolate::Current()->object_store()->double_class());
+  __ TryAllocate(double_class, &fall_through, Assembler::kFarJump,
                  RAX,  // Result register.
                  R13);
   __ movsd(FieldAddress(RAX, Double::value_offset()), XMM0);
@@ -1376,20 +1381,18 @@
 void Intrinsifier::Double_mulFromInteger(Assembler* assembler) {
   Label fall_through;
   // Only smis allowed.
-  __ movq(RAX, Address(RSP, + 1 * kWordSize));
+  __ movq(RAX, Address(RSP, +1 * kWordSize));
   __ testq(RAX, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, &fall_through);
   // Is Smi.
   __ SmiUntag(RAX);
   __ cvtsi2sdq(XMM1, RAX);
-  __ movq(RAX, Address(RSP, + 2 * kWordSize));
+  __ movq(RAX, Address(RSP, +2 * kWordSize));
   __ movsd(XMM0, FieldAddress(RAX, Double::value_offset()));
   __ mulsd(XMM0, XMM1);
-  const Class& double_class = Class::Handle(
-      Isolate::Current()->object_store()->double_class());
-  __ TryAllocate(double_class,
-                 &fall_through,
-                 Assembler::kFarJump,
+  const Class& double_class =
+      Class::Handle(Isolate::Current()->object_store()->double_class());
+  __ TryAllocate(double_class, &fall_through, Assembler::kFarJump,
                  RAX,  // Result register.
                  R13);
   __ movsd(FieldAddress(RAX, Double::value_offset()), XMM0);
@@ -1407,11 +1410,9 @@
   // Is Smi.
   __ SmiUntag(RAX);
   __ cvtsi2sdq(XMM0, RAX);
-  const Class& double_class = Class::Handle(
-      Isolate::Current()->object_store()->double_class());
-  __ TryAllocate(double_class,
-                 &fall_through,
-                 Assembler::kFarJump,
+  const Class& double_class =
+      Class::Handle(Isolate::Current()->object_store()->double_class());
+  __ TryAllocate(double_class, &fall_through, Assembler::kFarJump,
                  RAX,  // Result register.
                  R13);
   __ movsd(FieldAddress(RAX, Double::value_offset()), XMM0);
@@ -1501,11 +1502,9 @@
   __ movsd(XMM1, FieldAddress(RAX, Double::value_offset()));
   __ Bind(&double_op);
   __ sqrtsd(XMM0, XMM1);
-  const Class& double_class = Class::Handle(
-      Isolate::Current()->object_store()->double_class());
-  __ TryAllocate(double_class,
-                 &fall_through,
-                 Assembler::kFarJump,
+  const Class& double_class =
+      Class::Handle(Isolate::Current()->object_store()->double_class());
+  __ TryAllocate(double_class, &fall_through, Assembler::kFarJump,
                  RAX,  // Result register.
                  R13);
   __ movsd(FieldAddress(RAX, Double::value_offset()), XMM0);
@@ -1524,8 +1523,8 @@
 void Intrinsifier::Random_nextState(Assembler* assembler) {
   const Library& math_lib = Library::Handle(Library::MathLibrary());
   ASSERT(!math_lib.IsNull());
-  const Class& random_class = Class::Handle(
-      math_lib.LookupClassAllowPrivate(Symbols::_Random()));
+  const Class& random_class =
+      Class::Handle(math_lib.LookupClassAllowPrivate(Symbols::_Random()));
   ASSERT(!random_class.IsNull());
   const Field& state_field = Field::ZoneHandle(
       random_class.LookupInstanceFieldAllowPrivate(Symbols::_state()));
@@ -1537,7 +1536,7 @@
   const Instance& a_value = Instance::Handle(random_A_field.StaticValue());
   const int64_t a_int_value = Integer::Cast(a_value).AsInt64Value();
   // Receiver.
-  __ movq(RAX, Address(RSP, + 1 * kWordSize));
+  __ movq(RAX, Address(RSP, +1 * kWordSize));
   // Field '_state'.
   __ movq(RBX, FieldAddress(RAX, state_field.Offset()));
   // Addresses of _state[0] and _state[1].
@@ -1562,8 +1561,8 @@
   const intptr_t kReceiverOffset = 2;
   const intptr_t kArgumentOffset = 1;
 
-  __ movq(RAX, Address(RSP, + kArgumentOffset * kWordSize));
-  __ cmpq(RAX, Address(RSP, + kReceiverOffset * kWordSize));
+  __ movq(RAX, Address(RSP, +kArgumentOffset * kWordSize));
+  __ cmpq(RAX, Address(RSP, +kReceiverOffset * kWordSize));
   __ j(EQUAL, &is_true, Assembler::kNearJump);
   __ LoadObject(RAX, Bool::False());
   __ ret();
@@ -1589,9 +1588,7 @@
 const Condition kIfInRange = BELOW_EQUAL;
 
 
-static void JumpIfInteger(Assembler* assembler,
-                          Register cid,
-                          Label* target) {
+static void JumpIfInteger(Assembler* assembler, Register cid, Label* target) {
   RangeCheck(assembler, cid, kSmiCid, kBigintCid, kIfInRange, target);
 }
 
@@ -1603,34 +1600,22 @@
 }
 
 
-static void JumpIfString(Assembler* assembler,
-                          Register cid,
-                          Label* target) {
-  RangeCheck(assembler,
-             cid,
-             kOneByteStringCid,
-             kExternalTwoByteStringCid,
-             kIfInRange,
-             target);
+static void JumpIfString(Assembler* assembler, Register cid, Label* target) {
+  RangeCheck(assembler, cid, kOneByteStringCid, kExternalTwoByteStringCid,
+             kIfInRange, target);
 }
 
 
-static void JumpIfNotString(Assembler* assembler,
-                            Register cid,
-                            Label* target) {
-  RangeCheck(assembler,
-             cid,
-             kOneByteStringCid,
-             kExternalTwoByteStringCid,
-             kIfNotInRange,
-             target);
+static void JumpIfNotString(Assembler* assembler, Register cid, Label* target) {
+  RangeCheck(assembler, cid, kOneByteStringCid, kExternalTwoByteStringCid,
+             kIfNotInRange, target);
 }
 
 
 // Return type quickly for simple types (not parameterized and not signature).
 void Intrinsifier::ObjectRuntimeType(Assembler* assembler) {
   Label fall_through, use_canonical_type, not_integer, not_double;
-  __ movq(RAX, Address(RSP, + 1 * kWordSize));
+  __ movq(RAX, Address(RSP, +1 * kWordSize));
   __ LoadClassIdMayBeSmi(RCX, RAX);
 
   // RCX: untagged cid of instance (RAX).
@@ -1688,14 +1673,14 @@
 void Intrinsifier::ObjectHaveSameRuntimeType(Assembler* assembler) {
   Label fall_through, different_cids, equal, not_equal, not_integer;
 
-  __ movq(RAX, Address(RSP, + 1 * kWordSize));
+  __ movq(RAX, Address(RSP, +1 * kWordSize));
   __ LoadClassIdMayBeSmi(RCX, RAX);
 
   // Check if left hand size is a closure. Closures are handled in the runtime.
   __ cmpq(RCX, Immediate(kClosureCid));
   __ j(EQUAL, &fall_through);
 
-  __ movq(RAX, Address(RSP, + 2 * kWordSize));
+  __ movq(RAX, Address(RSP, +2 * kWordSize));
   __ LoadClassIdMayBeSmi(RDX, RAX);
 
   // Check whether class ids match. If class ids don't match objects can still
@@ -1751,7 +1736,7 @@
 
 void Intrinsifier::String_getHashCode(Assembler* assembler) {
   Label fall_through;
-  __ movq(RAX, Address(RSP, + 1 * kWordSize));  // String object.
+  __ movq(RAX, Address(RSP, +1 * kWordSize));  // String object.
   __ movq(RAX, FieldAddress(RAX, String::hash_offset()));
   __ cmpq(RAX, Immediate(0));
   __ j(EQUAL, &fall_through, Assembler::kNearJump);
@@ -1783,8 +1768,8 @@
   __ cmpq(R11, R8);
   __ j(GREATER, return_false);
 
-  __ SmiUntag(RBX);  // start
-  __ SmiUntag(R9);   // other.length
+  __ SmiUntag(RBX);            // start
+  __ SmiUntag(R9);             // other.length
   __ movq(R11, Immediate(0));  // i = 0
 
   // do
@@ -1829,9 +1814,9 @@
 // OneByteString other.
 void Intrinsifier::StringBaseSubstringMatches(Assembler* assembler) {
   Label fall_through, return_true, return_false, try_two_byte;
-  __ movq(RAX, Address(RSP, + 3 * kWordSize));  // receiver
-  __ movq(RBX, Address(RSP, + 2 * kWordSize));  // start
-  __ movq(RCX, Address(RSP, + 1 * kWordSize));  // other
+  __ movq(RAX, Address(RSP, +3 * kWordSize));  // receiver
+  __ movq(RBX, Address(RSP, +2 * kWordSize));  // start
+  __ movq(RCX, Address(RSP, +1 * kWordSize));  // other
 
   __ testq(RBX, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, &fall_through);  // 'start' is not Smi.
@@ -1842,20 +1827,16 @@
   __ CompareClassId(RAX, kOneByteStringCid);
   __ j(NOT_EQUAL, &try_two_byte);
 
-  GenerateSubstringMatchesSpecialization(assembler,
-                                         kOneByteStringCid,
-                                         kOneByteStringCid,
-                                         &return_true,
+  GenerateSubstringMatchesSpecialization(assembler, kOneByteStringCid,
+                                         kOneByteStringCid, &return_true,
                                          &return_false);
 
   __ Bind(&try_two_byte);
   __ CompareClassId(RAX, kTwoByteStringCid);
   __ j(NOT_EQUAL, &fall_through);
 
-  GenerateSubstringMatchesSpecialization(assembler,
-                                         kTwoByteStringCid,
-                                         kOneByteStringCid,
-                                         &return_true,
+  GenerateSubstringMatchesSpecialization(assembler, kTwoByteStringCid,
+                                         kOneByteStringCid, &return_true,
                                          &return_false);
 
   __ Bind(&return_true);
@@ -1872,8 +1853,8 @@
 
 void Intrinsifier::StringBaseCharAt(Assembler* assembler) {
   Label fall_through, try_two_byte_string;
-  __ movq(RCX, Address(RSP, + 1 * kWordSize));  // Index.
-  __ movq(RAX, Address(RSP, + 2 * kWordSize));  // String.
+  __ movq(RCX, Address(RSP, +1 * kWordSize));  // Index.
+  __ movq(RAX, Address(RSP, +2 * kWordSize));  // String.
   __ testq(RCX, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, &fall_through);  // Non-smi index.
   // Range check.
@@ -1887,9 +1868,7 @@
   __ cmpq(RCX, Immediate(Symbols::kNumberOfOneCharCodeSymbols));
   __ j(GREATER_EQUAL, &fall_through);
   __ movq(RAX, Address(THR, Thread::predefined_symbols_address_offset()));
-  __ movq(RAX, Address(RAX,
-                       RCX,
-                       TIMES_8,
+  __ movq(RAX, Address(RAX, RCX, TIMES_8,
                        Symbols::kNullCharCodeSymbolOffset * kWordSize));
   __ ret();
 
@@ -1901,9 +1880,7 @@
   __ cmpq(RCX, Immediate(Symbols::kNumberOfOneCharCodeSymbols));
   __ j(GREATER_EQUAL, &fall_through);
   __ movq(RAX, Address(THR, Thread::predefined_symbols_address_offset()));
-  __ movq(RAX, Address(RAX,
-                       RCX,
-                       TIMES_8,
+  __ movq(RAX, Address(RAX, RCX, TIMES_8,
                        Symbols::kNullCharCodeSymbolOffset * kWordSize));
   __ ret();
 
@@ -1914,7 +1891,7 @@
 void Intrinsifier::StringBaseIsEmpty(Assembler* assembler) {
   Label is_true;
   // Get length.
-  __ movq(RAX, Address(RSP, + 1 * kWordSize));  // String object.
+  __ movq(RAX, Address(RSP, +1 * kWordSize));  // String object.
   __ movq(RAX, FieldAddress(RAX, String::length_offset()));
   __ cmpq(RAX, Immediate(Smi::RawValue(0)));
   __ j(EQUAL, &is_true, Assembler::kNearJump);
@@ -1928,7 +1905,7 @@
 
 void Intrinsifier::OneByteString_getHashCode(Assembler* assembler) {
   Label compute_hash;
-  __ movq(RBX, Address(RSP, + 1 * kWordSize));  // OneByteString object.
+  __ movq(RBX, Address(RSP, +1 * kWordSize));  // OneByteString object.
   __ movq(RAX, FieldAddress(RBX, String::hash_offset()));
   __ cmpq(RAX, Immediate(0));
   __ j(EQUAL, &compute_hash, Assembler::kNearJump);
@@ -1982,7 +1959,7 @@
   __ addl(RAX, RDX);
   // hash_ = hash_ & ((static_cast<intptr_t>(1) << bits) - 1);
   __ andl(RAX,
-      Immediate(((static_cast<intptr_t>(1) << String::kHashBits) - 1)));
+          Immediate(((static_cast<intptr_t>(1) << String::kHashBits) - 1)));
 
   // return hash_ == 0 ? 1 : hash_;
   __ cmpq(RAX, Immediate(0));
@@ -2021,7 +1998,7 @@
   // RDI: allocation size.
   __ movq(RCX, RAX);
   __ addq(RCX, RDI);
-  __ j(CARRY,  &pop_and_fail);
+  __ j(CARRY, &pop_and_fail);
 
   // Check if the allocation fits into the remaining space.
   // RAX: potential new object start.
@@ -2058,8 +2035,7 @@
 
   // Set the length field.
   __ popq(RDI);
-  __ StoreIntoObjectNoBarrier(RAX,
-                              FieldAddress(RAX, String::length_offset()),
+  __ StoreIntoObjectNoBarrier(RAX, FieldAddress(RAX, String::length_offset()),
                               RDI);
   // Clear hash.
   __ ZeroInitSmiField(FieldAddress(RAX, String::hash_offset()));
@@ -2080,24 +2056,24 @@
   const intptr_t kStartIndexOffset = 2 * kWordSize;
   const intptr_t kEndIndexOffset = 1 * kWordSize;
   Label fall_through, ok;
-  __ movq(RSI, Address(RSP, + kStartIndexOffset));
-  __ movq(RDI, Address(RSP, + kEndIndexOffset));
+  __ movq(RSI, Address(RSP, +kStartIndexOffset));
+  __ movq(RDI, Address(RSP, +kEndIndexOffset));
   __ orq(RSI, RDI);
   __ testq(RSI, Immediate(kSmiTagMask));
   __ j(NOT_ZERO, &fall_through);  // 'start', 'end' not Smi.
 
-  __ subq(RDI, Address(RSP, + kStartIndexOffset));
+  __ subq(RDI, Address(RSP, +kStartIndexOffset));
   TryAllocateOnebyteString(assembler, &ok, &fall_through, RDI);
   __ Bind(&ok);
   // RAX: new string as tagged pointer.
   // Copy string.
-  __ movq(RSI, Address(RSP, + kStringOffset));
-  __ movq(RBX, Address(RSP, + kStartIndexOffset));
+  __ movq(RSI, Address(RSP, +kStringOffset));
+  __ movq(RBX, Address(RSP, +kStartIndexOffset));
   __ SmiUntag(RBX);
   __ leaq(RSI, FieldAddress(RSI, RBX, TIMES_1, OneByteString::data_offset()));
   // RSI: Start address to copy from (untagged).
   // RBX: Untagged start index.
-  __ movq(RCX, Address(RSP, + kEndIndexOffset));
+  __ movq(RCX, Address(RSP, +kEndIndexOffset));
   __ SmiUntag(RCX);
   __ subq(RCX, RBX);
   __ xorq(RDX, RDX);
@@ -2121,9 +2097,9 @@
 
 
 void Intrinsifier::OneByteStringSetAt(Assembler* assembler) {
-  __ movq(RCX, Address(RSP, + 1 * kWordSize));  // Value.
-  __ movq(RBX, Address(RSP, + 2 * kWordSize));  // Index.
-  __ movq(RAX, Address(RSP, + 3 * kWordSize));  // OneByteString.
+  __ movq(RCX, Address(RSP, +1 * kWordSize));  // Value.
+  __ movq(RBX, Address(RSP, +2 * kWordSize));  // Index.
+  __ movq(RAX, Address(RSP, +3 * kWordSize));  // OneByteString.
   __ SmiUntag(RBX);
   __ SmiUntag(RCX);
   __ movb(FieldAddress(RAX, RBX, TIMES_1, OneByteString::data_offset()), RCX);
@@ -2132,7 +2108,7 @@
 
 
 void Intrinsifier::OneByteString_allocate(Assembler* assembler) {
-  __ movq(RDI, Address(RSP, + 1 * kWordSize));  // Length.v=
+  __ movq(RDI, Address(RSP, +1 * kWordSize));  // Length.v=
   Label fall_through, ok;
   TryAllocateOnebyteString(assembler, &ok, &fall_through, RDI);
   // RDI: Start address to copy from (untagged).
@@ -2147,8 +2123,8 @@
 // TODO(srdjan): Add combinations (one-byte/two-byte/external strings).
 static void StringEquality(Assembler* assembler, intptr_t string_cid) {
   Label fall_through, is_true, is_false, loop;
-  __ movq(RAX, Address(RSP, + 2 * kWordSize));  // This.
-  __ movq(RCX, Address(RSP, + 1 * kWordSize));  // Other.
+  __ movq(RAX, Address(RSP, +2 * kWordSize));  // This.
+  __ movq(RCX, Address(RSP, +1 * kWordSize));  // Other.
 
   // Are identical?
   __ cmpq(RAX, RCX);
@@ -2174,14 +2150,14 @@
   __ j(LESS, &is_true, Assembler::kNearJump);
   if (string_cid == kOneByteStringCid) {
     __ movzxb(RBX,
-        FieldAddress(RAX, RDI, TIMES_1, OneByteString::data_offset()));
+              FieldAddress(RAX, RDI, TIMES_1, OneByteString::data_offset()));
     __ movzxb(RDX,
-        FieldAddress(RCX, RDI, TIMES_1, OneByteString::data_offset()));
+              FieldAddress(RCX, RDI, TIMES_1, OneByteString::data_offset()));
   } else if (string_cid == kTwoByteStringCid) {
     __ movzxw(RBX,
-        FieldAddress(RAX, RDI, TIMES_2, TwoByteString::data_offset()));
+              FieldAddress(RAX, RDI, TIMES_2, TwoByteString::data_offset()));
     __ movzxw(RDX,
-        FieldAddress(RCX, RDI, TIMES_2, TwoByteString::data_offset()));
+              FieldAddress(RCX, RDI, TIMES_2, TwoByteString::data_offset()));
   } else {
     UNIMPLEMENTED();
   }
@@ -2250,7 +2226,7 @@
   // RAX: Current user tag.
   __ movq(RAX, Address(RBX, Isolate::current_tag_offset()));
   // R10: UserTag.
-  __ movq(R10, Address(RSP, + 1 * kWordSize));
+  __ movq(R10, Address(RSP, +1 * kWordSize));
   // Set Isolate::current_tag_.
   __ movq(Address(RBX, Isolate::current_tag_offset()), R10);
   // R10: UserTag's tag.
diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc
index bfc902e..7f25aec 100644
--- a/runtime/vm/isolate.cc
+++ b/runtime/vm/isolate.cc
@@ -64,7 +64,7 @@
 DECLARE_FLAG(bool, trace_reload);
 
 
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
 static void CheckedModeHandler(bool value) {
   FLAG_enable_asserts = value;
   FLAG_enable_type_checks = value;
@@ -76,10 +76,8 @@
                     enable_checked_mode,
                     "Enable checked mode.");
 
-DEFINE_FLAG_HANDLER(CheckedModeHandler,
-                    checked,
-                    "Enable checked mode.");
-)
+DEFINE_FLAG_HANDLER(CheckedModeHandler, checked, "Enable checked mode.");
+#endif  // !defined(PRODUCT)
 
 
 // Quick access to the locally defined thread() and isolate() methods.
@@ -93,9 +91,7 @@
  public:
   explicit VerifyOriginId(Dart_Port id) : id_(id) {}
 
-  void VisitIsolate(Isolate* isolate) {
-    ASSERT(isolate->origin_id() != id_);
-  }
+  void VisitIsolate(Isolate* isolate) { ASSERT(isolate->origin_id() != id_); }
 
  private:
   Dart_Port id_;
@@ -120,8 +116,7 @@
 }
 
 // TODO(zra): Allocation of Message objects should be centralized.
-static Message* SerializeMessage(
-    Dart_Port dest_port, const Instance& obj) {
+static Message* SerializeMessage(Dart_Port dest_port, const Instance& obj) {
   if (ApiObjectConverter::CanConvert(obj.raw())) {
     return new Message(dest_port, obj.raw(), Message::kNormalPriority);
   } else {
@@ -144,29 +139,28 @@
 
 
 NoReloadScope::NoReloadScope(Isolate* isolate, Thread* thread)
-    : StackResource(thread),
-      isolate_(isolate) {
+    : StackResource(thread), isolate_(isolate) {
   ASSERT(isolate_ != NULL);
   AtomicOperations::FetchAndIncrement(&(isolate_->no_reload_scope_depth_));
-  ASSERT(
-      AtomicOperations::LoadRelaxed(&(isolate_->no_reload_scope_depth_)) >= 0);
+  ASSERT(AtomicOperations::LoadRelaxed(&(isolate_->no_reload_scope_depth_)) >=
+         0);
 }
 
 
 NoReloadScope::~NoReloadScope() {
   AtomicOperations::FetchAndDecrement(&(isolate_->no_reload_scope_depth_));
-  ASSERT(
-      AtomicOperations::LoadRelaxed(&(isolate_->no_reload_scope_depth_)) >= 0);
+  ASSERT(AtomicOperations::LoadRelaxed(&(isolate_->no_reload_scope_depth_)) >=
+         0);
 }
 
 
 void Isolate::RegisterClass(const Class& cls) {
-  NOT_IN_PRODUCT(
-    if (IsReloading()) {
-      reload_context()->RegisterClass(cls);
-      return;
-    }
-  )
+#if !defined(PRODUCT)
+  if (IsReloading()) {
+    reload_context()->RegisterClass(cls);
+    return;
+  }
+#endif  // !defined(PRODUCT)
   class_table()->Register(cls);
 }
 
@@ -196,8 +190,7 @@
   MessageWriter writer(&data, &allocator, false);
   writer.WriteMessage(msg);
 
-  PortMap::PostMessage(new Message(main_port(),
-                                   data, writer.BytesWritten(),
+  PortMap::PostMessage(new Message(main_port(), data, writer.BytesWritten(),
                                    Message::kOOBPriority));
 }
 
@@ -233,12 +226,10 @@
 
 
 IsolateMessageHandler::IsolateMessageHandler(Isolate* isolate)
-    : isolate_(isolate) {
-}
+    : isolate_(isolate) {}
 
 
-IsolateMessageHandler::~IsolateMessageHandler() {
-}
+IsolateMessageHandler::~IsolateMessageHandler() {}
 
 const char* IsolateMessageHandler::name() const {
   return isolate_->name();
@@ -293,19 +284,18 @@
       const Instance& response =
           obj4.IsNull() ? Instance::null_instance() : Instance::Cast(obj4);
       if (priority == Isolate::kImmediateAction) {
-        PortMap::PostMessage(SerializeMessage(
-            send_port.Id(), response));
+        PortMap::PostMessage(SerializeMessage(send_port.Id(), response));
       } else {
         ASSERT((priority == Isolate::kBeforeNextEventAction) ||
                (priority == Isolate::kAsEventAction));
         // Update the message so that it will be handled immediately when it
         // is picked up from the message queue the next time.
-        message.SetAt(0, Smi::Handle(zone,
-            Smi::New(Message::kDelayedIsolateLibOOBMsg)));
-        message.SetAt(3, Smi::Handle(zone,
-            Smi::New(Isolate::kImmediateAction)));
-        this->PostMessage(SerializeMessage(
-            Message::kIllegalPort, message),
+        message.SetAt(
+            0, Smi::Handle(zone, Smi::New(Message::kDelayedIsolateLibOOBMsg)));
+        message.SetAt(3,
+                      Smi::Handle(zone, Smi::New(Isolate::kImmediateAction)));
+        this->PostMessage(
+            SerializeMessage(Message::kIllegalPort, message),
             priority == Isolate::kBeforeNextEventAction /* at_head */);
       }
       break;
@@ -323,22 +313,22 @@
         if (I->VerifyTerminateCapability(obj)) {
           // We will kill the current isolate by returning an UnwindError.
           if (msg_type == Isolate::kKillMsg) {
-            const String& msg = String::Handle(String::New(
-                "isolate terminated by Isolate.kill"));
+            const String& msg = String::Handle(
+                String::New("isolate terminated by Isolate.kill"));
             const UnwindError& error =
                 UnwindError::Handle(UnwindError::New(msg));
             error.set_is_user_initiated(true);
             return error.raw();
           } else if (msg_type == Isolate::kInternalKillMsg) {
-            const String& msg = String::Handle(String::New(
-                "isolate terminated by vm"));
+            const String& msg =
+                String::Handle(String::New("isolate terminated by vm"));
             return UnwindError::New(msg);
           } else if (msg_type == Isolate::kVMRestartMsg) {
             // If this is the main isolate, this request to restart
             // will be caught and handled in the embedder.  Otherwise
             // this unwind error will cause the isolate to exit.
-            const String& msg = String::Handle(String::New(
-                "isolate terminated for vm restart"));
+            const String& msg = String::Handle(
+                String::New("isolate terminated for vm restart"));
             const UnwindError& error =
                 UnwindError::Handle(UnwindError::New(msg));
             error.set_is_vm_restart(true);
@@ -354,12 +344,12 @@
                (priority == Isolate::kAsEventAction));
         // Update the message so that it will be handled immediately when it
         // is picked up from the message queue the next time.
-        message.SetAt(0, Smi::Handle(zone,
-            Smi::New(Message::kDelayedIsolateLibOOBMsg)));
-        message.SetAt(3, Smi::Handle(zone,
-            Smi::New(Isolate::kImmediateAction)));
-        this->PostMessage(SerializeMessage(
-            Message::kIllegalPort, message),
+        message.SetAt(
+            0, Smi::Handle(zone, Smi::New(Message::kDelayedIsolateLibOOBMsg)));
+        message.SetAt(3,
+                      Smi::Handle(zone, Smi::New(Isolate::kImmediateAction)));
+        this->PostMessage(
+            SerializeMessage(Message::kIllegalPort, message),
             priority == Isolate::kBeforeNextEventAction /* at_head */);
       }
       break;
@@ -394,9 +384,9 @@
           if (!response.IsInstance() && !response.IsNull()) {
             return Error::null();
           }
-          I->AddExitListener(listener,
-                             response.IsNull() ? Instance::null_instance()
-                                               : Instance::Cast(response));
+          I->AddExitListener(listener, response.IsNull()
+                                           ? Instance::null_instance()
+                                           : Instance::Cast(response));
           break;
         }
         case Isolate::kDelExitMsg:
@@ -460,8 +450,7 @@
   Zone* zone = stack_zone.GetZone();
   HandleScope handle_scope(thread);
 #ifndef PRODUCT
-  TimelineDurationScope tds(thread,
-                            Timeline::GetIsolateStream(),
+  TimelineDurationScope tds(thread, Timeline::GetIsolateStream(),
                             "HandleMessage");
   tds.SetNumArguments(1);
   tds.CopyArgument(0, "isolateName", I->name());
@@ -571,8 +560,8 @@
       }
     }
   } else {
-    const Object& result = Object::Handle(zone,
-        DartLibraryCalls::HandleMessage(msg_handler, msg));
+    const Object& result =
+        Object::Handle(zone, DartLibraryCalls::HandleMessage(msg_handler, msg));
     if (result.IsError()) {
       status = ProcessUnhandledException(Error::Cast(result));
     } else {
@@ -624,8 +613,7 @@
     ServiceEvent pause_event(I, ServiceEvent::kPauseExit);
     Service::HandleEvent(&pause_event);
   } else if (FLAG_trace_service) {
-    OS::Print("vm-service: Dropping event of type PauseExit (%s)\n",
-              I->name());
+    OS::Print("vm-service: Dropping event of type PauseExit (%s)\n", I->name());
   }
 }
 #endif  // !PRODUCT
@@ -737,17 +725,18 @@
 }
 
 
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
 void Isolate::FlagsCopyFrom(const Dart_IsolateFlags& api_flags) {
   type_checks_ = api_flags.enable_type_checks;
   asserts_ = api_flags.enable_asserts;
   error_on_bad_type_ = api_flags.enable_error_on_bad_type;
   error_on_bad_override_ = api_flags.enable_error_on_bad_override;
   // Leave others at defaults.
-})
+}
+#endif  // !defined(PRODUCT)
 
 
-DEBUG_ONLY(
+#if defined(DEBUG)
 // static
 void BaseIsolate::AssertCurrent(BaseIsolate* isolate) {
   ASSERT(isolate == Isolate::Current());
@@ -757,7 +746,7 @@
   ASSERT(Isolate::Current() == this);
   ASSERT(Thread::Current()->IsMutatorThread());
 }
-)
+#endif  // defined(DEBUG)
 
 #if defined(DEBUG)
 #define REUSABLE_HANDLE_SCOPE_INIT(object)                                     \
@@ -766,13 +755,12 @@
 #define REUSABLE_HANDLE_SCOPE_INIT(object)
 #endif  // defined(DEBUG)
 
-#define REUSABLE_HANDLE_INITIALIZERS(object)                                   \
-  object##_handle_(NULL),
+#define REUSABLE_HANDLE_INITIALIZERS(object) object##_handle_(NULL),
 
 // TODO(srdjan): Some Isolate monitors can be shared. Replace their usage with
 // that shared monitor.
 Isolate::Isolate(const Dart_IsolateFlags& api_flags)
-  :   store_buffer_(new StoreBuffer()),
+    : store_buffer_(new StoreBuffer()),
       heap_(NULL),
       user_tag_(0),
       current_tag_(UserTag::null()),
@@ -837,10 +825,10 @@
       spawn_count_monitor_(new Monitor()),
       spawn_count_(0),
 #define ISOLATE_METRIC_CONSTRUCTORS(type, variable, name, unit)                \
-      metric_##variable##_(),
+  metric_##variable##_(),
       ISOLATE_METRIC_LIST(ISOLATE_METRIC_CONSTRUCTORS)
 #undef ISOLATE_METRIC_CONSTRUCTORS
-      has_attempted_reload_(false),
+          has_attempted_reload_(false),
       no_reload_scope_depth_(0),
       reload_every_n_stack_overflow_checks_(FLAG_reload_every),
       reload_context_(NULL),
@@ -918,7 +906,7 @@
   Isolate* result = new Isolate(api_flags);
   ASSERT(result != NULL);
 
-  // Initialize metrics.
+// Initialize metrics.
 #define ISOLATE_METRIC_INIT(type, variable, name, unit)                        \
   result->metric_##variable##_.Init(result, name, NULL, Metric::unit);
   ISOLATE_METRIC_LIST(ISOLATE_METRIC_INIT);
@@ -967,8 +955,10 @@
   }
   if (FLAG_trace_isolates) {
     if (name_prefix == NULL || strcmp(name_prefix, "vm-isolate") != 0) {
-      OS::Print("[+] Starting isolate:\n"
-                "\tisolate:    %s\n", result->name());
+      OS::Print(
+          "[+] Starting isolate:\n"
+          "\tisolate:    %s\n",
+          result->name());
     }
   }
 
@@ -1004,7 +994,7 @@
     OS::Print("Precompiled instructions are at [0x%" Px ", 0x%" Px ")\n",
               reinterpret_cast<uword>(snapshot.instructions_start()),
               reinterpret_cast<uword>(snapshot.instructions_start()) +
-              snapshot.instructions_size());
+                  snapshot.instructions_size());
   }
 #endif
   heap_->SetupExternalPage(snapshot.instructions_start(),
@@ -1017,14 +1007,13 @@
   DataSnapshot snapshot(data_snapshot_buffer);
 #if defined(DEBUG)
   if (FLAG_trace_isolates) {
-    OS::Print("Precompiled rodata are at [0x%" Px ", 0x%" Px ")\n",
-              reinterpret_cast<uword>(snapshot.data_start()),
-              reinterpret_cast<uword>(snapshot.data_start()) +
-              snapshot.data_size());
+    OS::Print(
+        "Precompiled rodata are at [0x%" Px ", 0x%" Px ")\n",
+        reinterpret_cast<uword>(snapshot.data_start()),
+        reinterpret_cast<uword>(snapshot.data_start()) + snapshot.data_size());
   }
 #endif
-  heap_->SetupExternalPage(snapshot.data_start(),
-                           snapshot.data_size(),
+  heap_->SetupExternalPage(snapshot.data_start(), snapshot.data_size(),
                            /* is_executable = */ false);
 }
 
@@ -1081,8 +1070,8 @@
 
 
 void Isolate::DoneLoading() {
-  GrowableObjectArray& libs = GrowableObjectArray::Handle(current_zone(),
-      object_store()->libraries());
+  GrowableObjectArray& libs =
+      GrowableObjectArray::Handle(current_zone(), object_store()->libraries());
   Library& lib = Library::Handle(current_zone());
   intptr_t num_libs = libs.Length();
   for (intptr_t i = 0; i < num_libs; i++) {
@@ -1100,8 +1089,8 @@
 
 bool Isolate::CanReload() const {
 #ifndef PRODUCT
-  return !ServiceIsolate::IsServiceIsolateDescendant(this) &&
-         is_runnable() && !IsReloading() &&
+  return !ServiceIsolate::IsServiceIsolateDescendant(this) && is_runnable() &&
+         !IsReloading() &&
          (AtomicOperations::LoadRelaxed(&no_reload_scope_depth_) == 0) &&
          IsolateCreationEnabled();
 #else
@@ -1122,16 +1111,6 @@
   if (!dont_delete_reload_context) {
     DeleteReloadContext();
   }
-#if defined(DEBUG)
-  if (success) {
-    return success;
-    Thread* thread = Thread::Current();
-    Isolate* isolate = thread->isolate();
-    isolate->heap()->CollectAllGarbage();
-    VerifyCanonicalVisitor check_canonical(thread);
-    isolate->heap()->IterateObjects(&check_canonical);
-  }
-#endif  // DEBUG
   return success;
 }
 
@@ -1148,15 +1127,14 @@
 
 
 void Isolate::DoneFinalizing() {
-  NOT_IN_PRODUCT(
-    if (IsReloading()) {
-      reload_context_->FinalizeLoading();
-    }
-  )
+#if !defined(PRODUCT)
+  if (IsReloading()) {
+    reload_context_->FinalizeLoading();
+  }
+#endif  // !defined(PRODUCT)
 }
 
 
-
 bool Isolate::MakeRunnable() {
   ASSERT(Isolate::Current() == NULL);
 
@@ -1201,16 +1179,14 @@
 
 
 bool Isolate::VerifyPauseCapability(const Object& capability) const {
-  return !capability.IsNull() &&
-      capability.IsCapability() &&
-      (pause_capability() == Capability::Cast(capability).Id());
+  return !capability.IsNull() && capability.IsCapability() &&
+         (pause_capability() == Capability::Cast(capability).Id());
 }
 
 
 bool Isolate::VerifyTerminateCapability(const Object& capability) const {
-  return !capability.IsNull() &&
-      capability.IsCapability() &&
-      (terminate_capability() == Capability::Cast(capability).Id());
+  return !capability.IsNull() && capability.IsCapability() &&
+         (terminate_capability() == Capability::Cast(capability).Id());
 }
 
 
@@ -1249,7 +1225,7 @@
 
 bool Isolate::RemoveResumeCapability(const Capability& capability) {
   const GrowableObjectArray& caps = GrowableObjectArray::Handle(
-       current_zone(), object_store()->resume_capabilities());
+      current_zone(), object_store()->resume_capabilities());
   Capability& current = Capability::Handle(current_zone());
   for (intptr_t i = 0; i < caps.Length(); i++) {
     current ^= caps.At(i);
@@ -1272,7 +1248,7 @@
   static const intptr_t kMaxListeners = kSmiMax / (12 * kWordSize);
 
   const GrowableObjectArray& listeners = GrowableObjectArray::Handle(
-       current_zone(), object_store()->exit_listeners());
+      current_zone(), object_store()->exit_listeners());
   SendPort& current = SendPort::Handle(current_zone());
   intptr_t insertion_index = -1;
   for (intptr_t i = 0; i < listeners.Length(); i += 2) {
@@ -1439,7 +1415,7 @@
 
 
     if (!ClassFinalizer::ProcessPendingClasses()) {
-      // Error is in sticky error already.
+// Error is in sticky error already.
 #if defined(DEBUG)
       const Error& error = Error::Handle(thread->sticky_error());
       ASSERT(!error.IsUnwindError());
@@ -1494,8 +1470,8 @@
     args.SetAt(2, Instance::Handle(state->BuildArgs(thread)));
     args.SetAt(3, Instance::Handle(state->BuildMessage(thread)));
     args.SetAt(4, is_spawn_uri ? Bool::True() : Bool::False());
-    args.SetAt(5, ReceivePort::Handle(
-        ReceivePort::New(isolate->main_port(), true /* control port */)));
+    args.SetAt(5, ReceivePort::Handle(ReceivePort::New(
+                      isolate->main_port(), true /* control port */)));
     args.SetAt(6, capabilities);
 
     const Library& lib = Library::Handle(Library::IsolateLibrary());
@@ -1526,7 +1502,7 @@
     ASSERT(thread->isolate() == isolate);
     StackZone zone(thread);
     HandleScope handle_scope(thread);
-    // TODO(27003): Enable for precompiled.
+// TODO(27003): Enable for precompiled.
 #if defined(DEBUG) && !defined(DART_PRECOMPILED_RUNTIME)
     if (!isolate->HasAttemptedReload()) {
       // For this verification we need to stop the background compiler earlier.
@@ -1549,17 +1525,15 @@
 
 
 void Isolate::SetStickyError(RawError* sticky_error) {
-  ASSERT(((sticky_error_ == Error::null()) ||
-         (sticky_error == Error::null())) &&
-         (sticky_error != sticky_error_));
+  ASSERT(
+      ((sticky_error_ == Error::null()) || (sticky_error == Error::null())) &&
+      (sticky_error != sticky_error_));
   sticky_error_ = sticky_error;
 }
 
 
 void Isolate::Run() {
-  message_handler()->Run(Dart::thread_pool(),
-                         RunIsolate,
-                         ShutdownIsolate,
+  message_handler()->Run(Dart::thread_pool(), RunIsolate, ShutdownIsolate,
                          reinterpret_cast<uword>(this));
 }
 
@@ -1623,8 +1597,7 @@
 
 class FinalizeWeakPersistentHandlesVisitor : public HandleVisitor {
  public:
-  FinalizeWeakPersistentHandlesVisitor() : HandleVisitor(Thread::Current()) {
-  }
+  FinalizeWeakPersistentHandlesVisitor() : HandleVisitor(Thread::Current()) {}
 
   void VisitHandle(uword addr) {
     FinalizablePersistentHandle* handle =
@@ -1649,8 +1622,7 @@
   // Notify exit listeners that this isolate is shutting down.
   if (object_store() != NULL) {
     const Error& error = Error::Handle(thread->sticky_error());
-    if (error.IsNull() ||
-        !error.IsUnwindError() ||
+    if (error.IsNull() || !error.IsUnwindError() ||
         UnwindError::Cast(error).is_user_initiated()) {
       NotifyExitListeners();
     }
@@ -1674,7 +1646,7 @@
     Timeline::ReclaimCachedBlocksFromThreads();
   }
 
-  // Dump all timing data for the isolate.
+// Dump all timing data for the isolate.
 #ifndef PRODUCT
   if (FLAG_support_timeline && FLAG_timing) {
     TimelinePauseTrace tpt;
@@ -1692,8 +1664,10 @@
   if (FLAG_trace_isolates) {
     heap()->PrintSizes();
     Symbols::DumpStats();
-    OS::Print("[-] Stopping isolate:\n"
-              "\tisolate:    %s\n", name());
+    OS::Print(
+        "[-] Stopping isolate:\n"
+        "\tisolate:    %s\n",
+        name());
   }
   if (FLAG_print_metrics) {
     LogBlock lb;
@@ -1754,9 +1728,9 @@
     HandleScope handle_scope(thread);
 
     // Write compiler stats data if enabled.
-    if (FLAG_support_compiler_stats && FLAG_compiler_stats
-        && !ServiceIsolate::IsServiceIsolateDescendant(this)
-        && (this != Dart::vm_isolate())) {
+    if (FLAG_support_compiler_stats && FLAG_compiler_stats &&
+        !ServiceIsolate::IsServiceIsolateDescendant(this) &&
+        (this != Dart::vm_isolate())) {
       OS::Print("%s", aggregate_compiler_stats()->PrintToZone());
     }
   }
@@ -1775,12 +1749,12 @@
     }
   }
 
-  if (FLAG_check_reloaded && is_runnable() &&
-      (this != Dart::vm_isolate()) &&
+  if (FLAG_check_reloaded && is_runnable() && (this != Dart::vm_isolate()) &&
       !ServiceIsolate::IsServiceIsolateDescendant(this)) {
     if (!HasAttemptedReload()) {
-      FATAL("Isolate did not reload before exiting and "
-            "--check-reloaded is enabled.\n");
+      FATAL(
+          "Isolate did not reload before exiting and "
+          "--check-reloaded is enabled.\n");
     }
   }
 
@@ -1851,8 +1825,7 @@
   visitor->VisitPointer(
       reinterpret_cast<RawObject**>(&deoptimized_code_array_));
 
-  visitor->VisitPointer(
-        reinterpret_cast<RawObject**>(&sticky_error_));
+  visitor->VisitPointer(reinterpret_cast<RawObject**>(&sticky_error_));
 
   // Visit the pending service extension calls.
   visitor->VisitPointer(
@@ -1873,15 +1846,15 @@
     debugger()->VisitObjectPointers(visitor);
   }
 
-  NOT_IN_PRODUCT(
-    // Visit objects that are being used for isolate reload.
-    if (reload_context() != NULL) {
-      reload_context()->VisitObjectPointers(visitor);
-    }
-    if (ServiceIsolate::IsServiceIsolate(this)) {
-      ServiceIsolate::VisitObjectPointers(visitor);
-    }
-  )
+#if !defined(PRODUCT)
+  // Visit objects that are being used for isolate reload.
+  if (reload_context() != NULL) {
+    reload_context()->VisitObjectPointers(visitor);
+  }
+  if (ServiceIsolate::IsServiceIsolate(this)) {
+    ServiceIsolate::VisitObjectPointers(visitor);
+  }
+#endif  // !defined(PRODUCT)
 
   // Visit objects that are being used for deoptimization.
   if (deopt_context() != NULL) {
@@ -1929,9 +1902,9 @@
   // GrowableArray::Add is not atomic and may be interrupt by a profiler
   // stack walk.
   MallocGrowableArray<PendingLazyDeopt>* old_pending_deopts = pending_deopts_;
-  MallocGrowableArray<PendingLazyDeopt>* new_pending_deopts
-      = new MallocGrowableArray<PendingLazyDeopt>(
-          old_pending_deopts->length() + 1);
+  MallocGrowableArray<PendingLazyDeopt>* new_pending_deopts =
+      new MallocGrowableArray<PendingLazyDeopt>(old_pending_deopts->length() +
+                                                1);
   for (intptr_t i = 0; i < old_pending_deopts->length(); i++) {
     ASSERT((*old_pending_deopts)[i].fp() != fp);
     new_pending_deopts->Add((*old_pending_deopts)[i]);
@@ -1990,8 +1963,7 @@
                           static_cast<int64_t>(main_port()));
 
   jsobj.AddProperty("name", debugger_name());
-  jsobj.AddPropertyF("number", "%" Pd64 "",
-                     static_cast<int64_t>(main_port()));
+  jsobj.AddPropertyF("number", "%" Pd64 "", static_cast<int64_t>(main_port()));
   if (ref) {
     return;
   }
@@ -2024,8 +1996,7 @@
              ((debugger() == NULL) || (debugger()->PauseEvent() == NULL))) {
     ServiceEvent pause_event(this, ServiceEvent::kPauseExit);
     jsobj.AddProperty("pauseEvent", &pause_event);
-  } else if ((debugger() != NULL) &&
-             (debugger()->PauseEvent() != NULL) &&
+  } else if ((debugger() != NULL) && (debugger()->PauseEvent() != NULL) &&
              !resume_request_) {
     jsobj.AddProperty("pauseEvent", debugger()->PauseEvent());
   } else {
@@ -2041,8 +2012,7 @@
     jsobj.AddProperty("pauseEvent", &pause_event);
   }
 
-  const Library& lib =
-      Library::Handle(object_store()->root_library());
+  const Library& lib = Library::Handle(object_store()->root_library());
   if (!lib.IsNull()) {
     jsobj.AddProperty("rootLib", lib);
   }
@@ -2083,8 +2053,8 @@
   }
 
   Dart_ExceptionPauseInfo pause_info = (debugger() != NULL)
-      ? debugger()->GetExceptionPauseInfo()
-      : kNoPauseOnExceptions;
+                                           ? debugger()->GetExceptionPauseInfo()
+                                           : kNoPauseOnExceptions;
   jsobj.AddProperty("exceptionPauseMode",
                     ExceptionPauseInfoToServiceEnum(pause_info));
 
@@ -2157,7 +2127,7 @@
 
 
 void Isolate::set_pending_service_extension_calls(
-      const GrowableObjectArray& value) {
+    const GrowableObjectArray& value) {
   pending_service_extension_calls_ = value.raw();
 }
 
@@ -2246,27 +2216,21 @@
     arguments.SetAt(kPendingEntrySize, Bool::Get(FLAG_trace_service));
 
     if (FLAG_trace_service) {
-      OS::Print(
-          "[+%" Pd64 "ms] Isolate %s invoking _runExtension for %s\n",
-          Dart::timestamp(), name(), method_name.ToCString());
+      OS::Print("[+%" Pd64 "ms] Isolate %s invoking _runExtension for %s\n",
+                Dart::timestamp(), name(), method_name.ToCString());
     }
     result = DartEntry::InvokeFunction(run_extension, arguments);
     if (FLAG_trace_service) {
-      OS::Print(
-          "[+%" Pd64 "ms] Isolate %s : _runExtension complete for %s\n",
-          Dart::timestamp(), name(), method_name.ToCString());
+      OS::Print("[+%" Pd64 "ms] Isolate %s : _runExtension complete for %s\n",
+                Dart::timestamp(), name(), method_name.ToCString());
     }
     // Propagate the error.
     if (result.IsError()) {
       // Remaining service extension calls are dropped.
       if (!result.IsUnwindError()) {
         // Send error back over the protocol.
-        Service::PostError(method_name,
-                           parameter_keys,
-                           parameter_values,
-                           reply_port,
-                           id,
-                           Error::Cast(result));
+        Service::PostError(method_name, parameter_keys, parameter_values,
+                           reply_port, id, Error::Cast(result));
       }
       return result.raw();
     }
@@ -2296,9 +2260,8 @@
                                          const Instance& reply_port,
                                          const Instance& id) {
   if (FLAG_trace_service) {
-    OS::Print(
-        "[+%" Pd64 "ms] Isolate %s ENQUEUING request for extension %s\n",
-        Dart::timestamp(), name(), method_name.ToCString());
+    OS::Print("[+%" Pd64 "ms] Isolate %s ENQUEUING request for extension %s\n",
+              Dart::timestamp(), name(), method_name.ToCString());
   }
   GrowableObjectArray& calls =
       GrowableObjectArray::Handle(pending_service_extension_calls());
@@ -2403,8 +2366,7 @@
   Dart_EnterScope();
   MonitorLocker ml(pause_loop_monitor_);
 
-  Dart_MessageNotifyCallback saved_notify_callback =
-      message_notify_callback();
+  Dart_MessageNotifyCallback saved_notify_callback = message_notify_callback();
   set_message_notify_callback(Isolate::WakePauseEventHandler);
 
   const bool had_isolate_reload_context = reload_context() != NULL;
@@ -2427,8 +2389,7 @@
       if (FLAG_trace_reload) {
         const int64_t reload_time_micros =
             OS::GetCurrentMonotonicMicros() - start_time_micros;
-        double reload_millis =
-            MicrosecondsToMilliseconds(reload_time_micros);
+        double reload_millis = MicrosecondsToMilliseconds(reload_time_micros);
         OS::Print("Reloading has finished! (%.2f ms)\n", reload_millis);
       }
       break;
@@ -2564,10 +2525,8 @@
     ASSERT(success);
 
     // Post the message at the given port.
-    success = PortMap::PostMessage(new Message(main_port(),
-                                               buffer,
-                                               writer.BytesWritten(),
-                                               Message::kOOBPriority));
+    success = PortMap::PostMessage(new Message(
+        main_port(), buffer, writer.BytesWritten(), Message::kOOBPriority));
     ASSERT(success);
   }
 }
@@ -2805,9 +2764,7 @@
     class_name_ = NewConstChar(class_name.ToCString());
   }
   bool can_send_any_object = true;
-  SerializeObject(message,
-                  &serialized_message_,
-                  &serialized_message_len_,
+  SerializeObject(message, &serialized_message_, &serialized_message_len_,
                   can_send_any_object);
   // Inherit flags from spawning isolate.
   Isolate::Current()->FlagsCopyTo(isolate_flags());
@@ -2850,13 +2807,9 @@
       errors_are_fatal_(errors_are_fatal) {
   function_name_ = NewConstChar("main");
   bool can_send_any_object = false;
-  SerializeObject(args,
-                  &serialized_args_,
-                  &serialized_args_len_,
+  SerializeObject(args, &serialized_args_, &serialized_args_len_,
                   can_send_any_object);
-  SerializeObject(message,
-                  &serialized_message_,
-                  &serialized_message_len_,
+  SerializeObject(message, &serialized_message_, &serialized_message_len_,
                   can_send_any_object);
   // By default inherit flags from spawning isolate. These can be overridden
   // from the calling code.
@@ -2885,8 +2838,8 @@
   if (library_url() == NULL) {
     // Handle spawnUri lookup rules.
     // Check whether the root library defines a main function.
-    const Library& lib = Library::Handle(zone,
-                                         I->object_store()->root_library());
+    const Library& lib =
+        Library::Handle(zone, I->object_store()->root_library());
     Function& func = Function::Handle(zone, lib.LookupLocalFunction(func_name));
     if (func.IsNull()) {
       // Check whether main is reexported from the root library.
@@ -2896,9 +2849,10 @@
       }
     }
     if (func.IsNull()) {
-      const String& msg = String::Handle(zone, String::NewFormatted(
-          "Unable to resolve function '%s' in script '%s'.",
-          function_name(), script_url()));
+      const String& msg = String::Handle(
+          zone, String::NewFormatted(
+                    "Unable to resolve function '%s' in script '%s'.",
+                    function_name(), script_url()));
       return LanguageError::New(msg);
     }
     return func.raw();
@@ -2907,22 +2861,24 @@
   // Lookup the to be spawned function for the Isolate.spawn implementation.
   // Resolve the library.
   const String& lib_url = String::Handle(zone, String::New(library_url()));
-  const Library& lib = Library::Handle(zone,
-                                       Library::LookupLibrary(thread, lib_url));
+  const Library& lib =
+      Library::Handle(zone, Library::LookupLibrary(thread, lib_url));
   if (lib.IsNull() || lib.IsError()) {
-    const String& msg = String::Handle(zone, String::NewFormatted(
-        "Unable to find library '%s'.", library_url()));
+    const String& msg = String::Handle(
+        zone,
+        String::NewFormatted("Unable to find library '%s'.", library_url()));
     return LanguageError::New(msg);
   }
 
   // Resolve the function.
   if (class_name() == NULL) {
-    const Function& func = Function::Handle(zone,
-                                            lib.LookupLocalFunction(func_name));
+    const Function& func =
+        Function::Handle(zone, lib.LookupLocalFunction(func_name));
     if (func.IsNull()) {
-      const String& msg = String::Handle(zone, String::NewFormatted(
-          "Unable to resolve function '%s' in library '%s'.",
-          function_name(), library_url()));
+      const String& msg = String::Handle(
+          zone, String::NewFormatted(
+                    "Unable to resolve function '%s' in library '%s'.",
+                    function_name(), library_url()));
       return LanguageError::New(msg);
     }
     return func.raw();
@@ -2931,19 +2887,20 @@
   const String& cls_name = String::Handle(zone, String::New(class_name()));
   const Class& cls = Class::Handle(zone, lib.LookupLocalClass(cls_name));
   if (cls.IsNull()) {
-    const String& msg = String::Handle(zone, String::NewFormatted(
-          "Unable to resolve class '%s' in library '%s'.",
-          class_name(),
-          (library_url() != NULL ? library_url() : script_url())));
+    const String& msg = String::Handle(
+        zone, String::NewFormatted(
+                  "Unable to resolve class '%s' in library '%s'.", class_name(),
+                  (library_url() != NULL ? library_url() : script_url())));
     return LanguageError::New(msg);
   }
   const Function& func =
       Function::Handle(zone, cls.LookupStaticFunctionAllowPrivate(func_name));
   if (func.IsNull()) {
-    const String& msg = String::Handle(zone, String::NewFormatted(
-          "Unable to resolve static method '%s.%s' in library '%s'.",
-          class_name(), function_name(),
-          (library_url() != NULL ? library_url() : script_url())));
+    const String& msg = String::Handle(
+        zone, String::NewFormatted(
+                  "Unable to resolve static method '%s.%s' in library '%s'.",
+                  class_name(), function_name(),
+                  (library_url() != NULL ? library_url() : script_url())));
     return LanguageError::New(msg);
   }
   return func.raw();
@@ -2956,8 +2913,8 @@
 
 
 RawInstance* IsolateSpawnState::BuildMessage(Thread* thread) {
-  return DeserializeObject(thread,
-                           serialized_message_, serialized_message_len_);
+  return DeserializeObject(thread, serialized_message_,
+                           serialized_message_len_);
 }
 
 
diff --git a/runtime/vm/isolate.h b/runtime/vm/isolate.h
index d3fe58a..7d43c57 100644
--- a/runtime/vm/isolate.h
+++ b/runtime/vm/isolate.h
@@ -73,7 +73,7 @@
 
 class PendingLazyDeopt {
  public:
-  PendingLazyDeopt(uword fp, uword pc) : fp_(fp), pc_(pc) { }
+  PendingLazyDeopt(uword fp, uword pc) : fp_(fp), pc_(pc) {}
   uword fp() { return fp_; }
   uword pc() { return pc_; }
   void set_pc(uword pc) { pc_ = pc; }
@@ -101,6 +101,7 @@
  public:
   explicit NoOOBMessageScope(Thread* thread);
   ~NoOOBMessageScope();
+
  private:
   DISALLOW_COPY_AND_ASSIGN(NoOOBMessageScope);
 };
@@ -206,8 +207,7 @@
   }
   Dart_Port origin_id() const { return origin_id_; }
   void set_origin_id(Dart_Port id) {
-    ASSERT((id == main_port_ && origin_id_ == 0) ||
-           (origin_id_ == main_port_));
+    ASSERT((id == main_port_ && origin_id_ == 0) || (origin_id_ == main_port_));
     origin_id_ = id;
   }
   void set_pause_capability(uint64_t value) { pause_capability_ = value; }
@@ -231,12 +231,8 @@
   ApiState* api_state() const { return api_state_; }
   void set_api_state(ApiState* value) { api_state_ = value; }
 
-  void set_init_callback_data(void* value) {
-    init_callback_data_ = value;
-  }
-  void* init_callback_data() const {
-    return init_callback_data_;
-  }
+  void set_init_callback_data(void* value) { init_callback_data_ = value; }
+  void* init_callback_data() const { return init_callback_data_; }
 
   Dart_EnvironmentCallback environment_callback() const {
     return environment_callback_;
@@ -254,8 +250,7 @@
 
   void SetupInstructionsSnapshotPage(
       const uint8_t* instructions_snapshot_buffer);
-  void SetupDataSnapshotPage(
-      const uint8_t* instructions_snapshot_buffer);
+  void SetupDataSnapshotPage(const uint8_t* instructions_snapshot_buffer);
 
   void ScheduleMessageInterrupts();
 
@@ -294,9 +289,7 @@
   Mutex* constant_canonicalization_mutex() const {
     return constant_canonicalization_mutex_;
   }
-  Mutex* megamorphic_lookup_mutex() const {
-    return megamorphic_lookup_mutex_;
-  }
+  Mutex* megamorphic_lookup_mutex() const { return megamorphic_lookup_mutex_; }
 
   Debugger* debugger() const {
     if (!FLAG_support_debugger) {
@@ -325,9 +318,7 @@
     last_resume_timestamp_ = OS::GetCurrentTimeMillis();
   }
 
-  int64_t last_resume_timestamp() const {
-    return last_resume_timestamp_;
-  }
+  int64_t last_resume_timestamp() const { return last_resume_timestamp_; }
 
   // Returns whether the vm service has requested that the debugger
   // resume execution.
@@ -399,12 +390,8 @@
     return shutdown_callback_;
   }
 
-  void set_object_id_ring(ObjectIdRing* ring) {
-    object_id_ring_ = ring;
-  }
-  ObjectIdRing* object_id_ring() {
-    return object_id_ring_;
-  }
+  void set_object_id_ring(ObjectIdRing* ring) { object_id_ring_ = ring; }
+  ObjectIdRing* object_id_ring() { return object_id_ring_; }
 
   void AddPendingDeopt(uword fp, uword pc);
   uword FindPendingDeopt(uword fp) const;
@@ -431,14 +418,13 @@
   void enable_background_compiler() {
     background_compiler_disabled_depth_--;
     if (background_compiler_disabled_depth_ < 0) {
-      FATAL("Mismatched number of calls to disable_background_compiler and "
-            "enable_background_compiler.");
+      FATAL(
+          "Mismatched number of calls to disable_background_compiler and "
+          "enable_background_compiler.");
     }
   }
 
-  void disable_background_compiler() {
-    background_compiler_disabled_depth_++;
-  }
+  void disable_background_compiler() { background_compiler_disabled_depth_++; }
 
   bool is_background_compiler_disabled() const {
     return background_compiler_disabled_depth_ > 0;
@@ -485,32 +471,22 @@
     return mutator_thread()->compiler_stats();
   }
 
-  VMTagCounters* vm_tag_counters() {
-    return &vm_tag_counters_;
-  }
+  VMTagCounters* vm_tag_counters() { return &vm_tag_counters_; }
 
-  bool IsReloading() const {
-    return reload_context_ != NULL;
-  }
+  bool IsReloading() const { return reload_context_ != NULL; }
 
-  IsolateReloadContext* reload_context() {
-    return reload_context_;
-  }
+  IsolateReloadContext* reload_context() { return reload_context_; }
 
   void DeleteReloadContext();
 
-  bool HasAttemptedReload() const {
-    return has_attempted_reload_;
-  }
+  bool HasAttemptedReload() const { return has_attempted_reload_; }
 
   bool CanReload() const;
 
   void set_last_reload_timestamp(int64_t value) {
     last_reload_timestamp_ = value;
   }
-  int64_t last_reload_timestamp() const {
-    return last_reload_timestamp_;
-  }
+  int64_t last_reload_timestamp() const { return last_reload_timestamp_; }
 
   bool IsPaused() const;
 
@@ -524,12 +500,8 @@
 
   void PausePostRequest();
 
-  uword user_tag() const {
-    return user_tag_;
-  }
-  static intptr_t user_tag_offset() {
-    return OFFSET_OF(Isolate, user_tag_);
-  }
+  uword user_tag() const { return user_tag_; }
+  static intptr_t user_tag_offset() { return OFFSET_OF(Isolate, user_tag_); }
   static intptr_t current_tag_offset() {
     return OFFSET_OF(Isolate, current_tag_);
   }
@@ -555,13 +527,9 @@
 
   void set_ic_miss_code(const Code& code);
 
-  Metric* metrics_list_head() {
-    return metrics_list_head_;
-  }
+  Metric* metrics_list_head() { return metrics_list_head_; }
 
-  void set_metrics_list_head(Metric* metric) {
-    metrics_list_head_ = metric;
-  }
+  void set_metrics_list_head(Metric* metric) { metrics_list_head_ = metric; }
 
   RawGrowableObjectArray* deoptimized_code_array() const {
     return deoptimized_code_array_;
@@ -576,15 +544,11 @@
   void clear_sticky_error();
 
   bool compilation_allowed() const { return compilation_allowed_; }
-  void set_compilation_allowed(bool allowed) {
-    compilation_allowed_ = allowed;
-  }
+  void set_compilation_allowed(bool allowed) { compilation_allowed_ = allowed; }
 
   // In precompilation we finalize all regular classes before compiling.
   bool all_classes_finalized() const { return all_classes_finalized_; }
-  void set_all_classes_finalized(bool value) {
-    all_classes_finalized_ = value;
-  }
+  void set_all_classes_finalized(bool value) { all_classes_finalized_ = value; }
 
   // True during top level parsing.
   bool IsTopLevelParsing() {
@@ -622,11 +586,11 @@
 #ifndef PRODUCT
   RawObject* InvokePendingServiceExtensionCalls();
   void AppendServiceExtensionCall(const Instance& closure,
-                           const String& method_name,
-                           const Array& parameter_keys,
-                           const Array& parameter_values,
-                           const Instance& reply_port,
-                           const Instance& id);
+                                  const String& method_name,
+                                  const Array& parameter_keys,
+                                  const Array& parameter_values,
+                                  const Instance& reply_port,
+                                  const Instance& id);
   void RegisterServiceExtensionHandler(const String& name,
                                        const Instance& closure);
   RawInstance* LookupServiceExtensionHandler(const String& name);
@@ -655,7 +619,7 @@
   bool asserts() const { return FLAG_enable_asserts; }
   bool error_on_bad_type() const { return FLAG_error_on_bad_type; }
   bool error_on_bad_override() const { return FLAG_error_on_bad_override; }
-#else  // defined(PRODUCT)
+#else   // defined(PRODUCT)
   bool type_checks() const { return type_checks_; }
   bool asserts() const { return asserts_; }
   bool error_on_bad_type() const { return error_on_bad_type_; }
@@ -678,7 +642,7 @@
   void MaybeIncreaseReloadEveryNStackOverflowChecks();
 
  private:
-  friend class Dart;  // Init, InitOnce, Shutdown.
+  friend class Dart;                  // Init, InitOnce, Shutdown.
   friend class IsolateKillerVisitor;  // Kill().
 
   explicit Isolate(const Dart_IsolateFlags& api_flags);
@@ -702,9 +666,7 @@
   // running, and the visitor must not allocate.
   void VisitObjectPointers(ObjectPointerVisitor* visitor, bool validate_frames);
 
-  void set_user_tag(uword tag) {
-    user_tag_ = tag;
-  }
+  void set_user_tag(uword tag) { user_tag_ = tag; }
 
   RawGrowableObjectArray* GetAndClearPendingServiceExtensionCalls();
   RawGrowableObjectArray* pending_service_extension_calls() const {
@@ -719,8 +681,9 @@
 
   Monitor* threads_lock() const;
   Thread* ScheduleThread(bool is_mutator, bool bypass_safepoint = false);
-  void UnscheduleThread(
-      Thread* thread, bool is_mutator, bool bypass_safepoint = false);
+  void UnscheduleThread(Thread* thread,
+                        bool is_mutator,
+                        bool bypass_safepoint = false);
 
   // DEPRECATED: Use Thread's methods instead. During migration, these default
   // to using the mutator thread (which must also be the current thread).
@@ -761,9 +724,9 @@
   bool has_compiled_code_;  // Can check that no compilation occured.
   Random random_;
   Simulator* simulator_;
-  Mutex* mutex_;  // Protects compiler stats.
+  Mutex* mutex_;          // Protects compiler stats.
   Mutex* symbols_mutex_;  // Protects concurrent access to the symbol table.
-  Mutex* type_canonicalization_mutex_;  // Protects type canonicalization.
+  Mutex* type_canonicalization_mutex_;      // Protects type canonicalization.
   Mutex* constant_canonicalization_mutex_;  // Protects const canonicalization.
   Mutex* megamorphic_lookup_mutex_;  // Protects megamorphic table lookup.
   MessageHandler* message_handler_;
@@ -777,13 +740,13 @@
 
   bool is_service_isolate_;
 
-  // Isolate-specific flags.
-  NOT_IN_PRODUCT(
-    bool type_checks_;
-    bool asserts_;
-    bool error_on_bad_type_;
-    bool error_on_bad_override_;
-  )
+// Isolate-specific flags.
+#if !defined(PRODUCT)
+  bool type_checks_;
+  bool asserts_;
+  bool error_on_bad_type_;
+  bool error_on_bad_override_;
+#endif  // !defined(PRODUCT)
 
   // Timestamps of last operation via service.
   int64_t last_allocationprofile_accumulator_reset_timestamp_;
@@ -881,10 +844,10 @@
 
 #define REUSABLE_FRIEND_DECLARATION(name)                                      \
   friend class Reusable##name##HandleScope;
-REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION)
+  REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION)
 #undef REUSABLE_FRIEND_DECLARATION
 
-  friend class Become;  // VisitObjectPointers
+  friend class Become;    // VisitObjectPointers
   friend class GCMarker;  // VisitObjectPointers
   friend class SafepointHandler;
   friend class Scavenger;  // VisitObjectPointers
diff --git a/runtime/vm/isolate_reload.cc b/runtime/vm/isolate_reload.cc
index 139c6d4..4370ab1 100644
--- a/runtime/vm/isolate_reload.cc
+++ b/runtime/vm/isolate_reload.cc
@@ -25,16 +25,24 @@
 namespace dart {
 
 DEFINE_FLAG(bool, trace_reload, false, "Trace isolate reloading");
-DEFINE_FLAG(bool, trace_reload_verbose, false,
+DEFINE_FLAG(bool,
+            trace_reload_verbose,
+            false,
             "trace isolate reloading verbose");
 DEFINE_FLAG(bool, identity_reload, false, "Enable checks for identity reload.");
 DEFINE_FLAG(int, reload_every, 0, "Reload every N stack overflow checks.");
 DEFINE_FLAG(bool, reload_every_optimized, true, "Only from optimized code.");
-DEFINE_FLAG(bool, reload_every_back_off, false,
+DEFINE_FLAG(bool,
+            reload_every_back_off,
+            false,
             "Double the --reload-every value after each reload.");
-DEFINE_FLAG(bool, reload_force_rollback, false,
+DEFINE_FLAG(bool,
+            reload_force_rollback,
+            false,
             "Force all reloads to fail and rollback.");
-DEFINE_FLAG(bool, check_reloaded, false,
+DEFINE_FLAG(bool,
+            check_reloaded,
+            false,
             "Assert that an isolate has reloaded at least once.")
 #ifndef PRODUCT
 
@@ -42,9 +50,8 @@
 #define Z (thread->zone())
 
 #define TIMELINE_SCOPE(name)                                                   \
-    TimelineDurationScope tds##name(Thread::Current(),                         \
-                                   Timeline::GetIsolateStream(),               \
-                                   #name)
+  TimelineDurationScope tds##name(Thread::Current(),                           \
+                                  Timeline::GetIsolateStream(), #name)
 
 
 InstanceMorpher::InstanceMorpher(Zone* zone, const Class& from, const Class& to)
@@ -52,8 +59,8 @@
       to_(Class::Handle(zone, to.raw())),
       mapping_(zone, 0) {
   ComputeMapping();
-  before_ = new(zone) ZoneGrowableArray<const Instance*>(zone, 0);
-  after_ = new(zone) ZoneGrowableArray<const Instance*>(zone, 0);
+  before_ = new (zone) ZoneGrowableArray<const Instance*>(zone, 0);
+  after_ = new (zone) ZoneGrowableArray<const Instance*>(zone, 0);
   ASSERT(from_.id() == to_.id());
   cid_ = from_.id();
 }
@@ -109,9 +116,9 @@
 RawInstance* InstanceMorpher::Morph(const Instance& instance) const {
   const Instance& result = Instance::Handle(Instance::New(to_));
   // Morph the context from instance to result using mapping_.
-  for (intptr_t i = 0; i < mapping_.length(); i +=2) {
+  for (intptr_t i = 0; i < mapping_.length(); i += 2) {
     intptr_t from_offset = mapping_.At(i);
-    intptr_t to_offset = mapping_.At(i+1);
+    intptr_t to_offset = mapping_.At(i + 1);
     const Object& value =
         Object::Handle(instance.RawGetFieldAtOffset(from_offset));
     result.RawSetFieldAtOffset(to_offset, value);
@@ -150,8 +157,8 @@
   }
 
   THR_Print("Mapping: ");
-  for (int i = 0; i < mapping_.length(); i +=2) {
-    THR_Print(" %" Pd "->%" Pd,  mapping_.At(i),  mapping_.At(i+1));
+  for (int i = 0; i < mapping_.length(); i += 2) {
+    THR_Print(" %" Pd "->%" Pd, mapping_.At(i), mapping_.At(i + 1));
   }
   THR_Print("\n");
 }
@@ -176,7 +183,7 @@
   for (int i = 0; i < mapping_.length(); i += 2) {
     JSONArray pair(&map);
     pair.AddValue(mapping_.At(i));
-    pair.AddValue(mapping_.At(i+1));
+    pair.AddValue(mapping_.At(i + 1));
   }
 }
 
@@ -213,8 +220,7 @@
                                                    const Class& to)
     : ReasonForCancelling(zone),
       from_(Class::ZoneHandle(zone, from.raw())),
-      to_(Class::ZoneHandle(zone, to.raw())) {
-}
+      to_(Class::ZoneHandle(zone, to.raw())) {}
 
 
 void ClassReasonForCancelling::AppendTo(JSONArray* array) {
@@ -246,9 +252,7 @@
     return String::Cast(a).Equals(String::Cast(b));
   }
 
-  static uword Hash(const Object& obj) {
-    return String::Cast(obj).Hash();
-  }
+  static uword Hash(const Object& obj) { return String::Cast(obj).Hash(); }
 };
 
 
@@ -279,13 +283,11 @@
     if (!a.IsLibrary() || !b.IsLibrary()) {
       return false;
     }
-    return IsolateReloadContext::IsSameLibrary(
-        Library::Cast(a), Library::Cast(b));
+    return IsolateReloadContext::IsSameLibrary(Library::Cast(a),
+                                               Library::Cast(b));
   }
 
-  static uword Hash(const Object& obj) {
-    return Library::Cast(obj).UrlHash();
-  }
+  static uword Hash(const Object& obj) { return Library::Cast(obj).UrlHash(); }
 };
 
 
@@ -356,8 +358,8 @@
 }
 
 
-bool IsolateReloadContext::IsSameLibrary(
-    const Library& a_lib, const Library& b_lib) {
+bool IsolateReloadContext::IsSameLibrary(const Library& a_lib,
+                                         const Library& b_lib) {
   const String& a_lib_url =
       String::Handle(a_lib.IsNull() ? String::null() : a_lib.url());
   const String& b_lib_url =
@@ -366,8 +368,7 @@
 }
 
 
-IsolateReloadContext::IsolateReloadContext(Isolate* isolate,
-                                           JSONStream* js)
+IsolateReloadContext::IsolateReloadContext(Isolate* isolate, JSONStream* js)
     : zone_(Thread::Current()->zone()),
       start_time_micros_(OS::GetCurrentMonotonicMicros()),
       reload_timestamp_(OS::GetCurrentTimeMillis()),
@@ -400,8 +401,7 @@
 }
 
 
-IsolateReloadContext::~IsolateReloadContext() {
-}
+IsolateReloadContext::~IsolateReloadContext() {}
 
 
 void IsolateReloadContext::ReportError(const Error& error) {
@@ -424,8 +424,7 @@
  public:
   Aborted(Zone* zone, const Error& error)
       : ReasonForCancelling(zone),
-        error_(Error::ZoneHandle(zone, error.raw())) {
-  }
+        error_(Error::ZoneHandle(zone, error.raw())) {}
 
  private:
   const Error& error_;
@@ -463,14 +462,12 @@
   // Preallocate storage for maps.
   old_classes_set_storage_ =
       HashTables::New<UnorderedHashSet<ClassMapTraits> >(4);
-  class_map_storage_ =
-      HashTables::New<UnorderedHashMap<ClassMapTraits> >(4);
+  class_map_storage_ = HashTables::New<UnorderedHashMap<ClassMapTraits> >(4);
   old_libraries_set_storage_ =
       HashTables::New<UnorderedHashSet<LibraryMapTraits> >(4);
   library_map_storage_ =
       HashTables::New<UnorderedHashMap<LibraryMapTraits> >(4);
-  become_map_storage_ =
-      HashTables::New<UnorderedHashMap<BecomeMapTraits> >(4);
+  become_map_storage_ = HashTables::New<UnorderedHashMap<BecomeMapTraits> >(4);
   // Keep a separate array for enum mappings to avoid having to invoke
   // hashCode on the instances.
   become_enum_mappings_ = GrowableObjectArray::New(Heap::kOld);
@@ -511,10 +508,9 @@
     TransitionVMToNative transition(thread);
     Api::Scope api_scope(thread);
 
-    Dart_Handle retval =
-        (I->library_tag_handler())(Dart_kScriptTag,
-                                   Api::NewHandle(thread, Library::null()),
-                                   Api::NewHandle(thread, root_lib_url.raw()));
+    Dart_Handle retval = (I->library_tag_handler())(
+        Dart_kScriptTag, Api::NewHandle(thread, Library::null()),
+        Api::NewHandle(thread, root_lib_url.raw()));
     result = Api::UnwrapHandle(retval);
   }
   //
@@ -522,8 +518,7 @@
 
   BackgroundCompiler::Enable();
 
-  if (result.IsUnwindError() ||
-      result.IsUnhandledException()) {
+  if (result.IsUnwindError() || result.IsUnhandledException()) {
     // If the tag handler returns with an UnwindError or an UnhandledException
     // error, propagate it and give up.
     Exceptions::PropagateError(Error::Cast(result));
@@ -719,8 +714,7 @@
   Class& cls = Class::Handle();
   UnorderedHashSet<ClassMapTraits> old_classes_set(old_classes_set_storage_);
   for (intptr_t i = 0; i < saved_num_cids_; i++) {
-    if (class_table->IsValidIndex(i) &&
-        class_table->HasValidClassAt(i)) {
+    if (class_table->IsValidIndex(i) && class_table->HasValidClassAt(i)) {
       // Copy the class into the saved class table and add it to the set.
       local_saved_class_table[i] = class_table->At(i);
       if (i != kFreeListElement && i != kForwardingCorpse) {
@@ -756,7 +750,7 @@
 
 
 static void PropagateLibraryModified(
-    const ZoneGrowableArray<ZoneGrowableArray<intptr_t>* >* imported_by,
+    const ZoneGrowableArray<ZoneGrowableArray<intptr_t>*>* imported_by,
     intptr_t lib_index,
     BitVector* modified_libs) {
   ZoneGrowableArray<intptr_t>* dep_libs = (*imported_by)[lib_index];
@@ -782,12 +776,11 @@
   intptr_t num_libs = libs.Length();
 
   // Construct the imported-by graph.
-  ZoneGrowableArray<ZoneGrowableArray<intptr_t>* >* imported_by =
-      new(zone_) ZoneGrowableArray<ZoneGrowableArray<intptr_t>* >(
-          zone_, num_libs);
+  ZoneGrowableArray<ZoneGrowableArray<intptr_t>*>* imported_by = new (zone_)
+      ZoneGrowableArray<ZoneGrowableArray<intptr_t>*>(zone_, num_libs);
   imported_by->SetLength(num_libs);
   for (intptr_t i = 0; i < num_libs; i++) {
-    (*imported_by)[i] = new(zone_) ZoneGrowableArray<intptr_t>(zone_, 0);
+    (*imported_by)[i] = new (zone_) ZoneGrowableArray<intptr_t>(zone_, 0);
   }
   Array& ports = Array::Handle();
   Namespace& ns = Namespace::Handle();
@@ -842,7 +835,7 @@
     }
   }
 
-  BitVector* modified_libs = new(Z) BitVector(Z, num_libs);
+  BitVector* modified_libs = new (Z) BitVector(Z, num_libs);
 
   for (intptr_t lib_idx = 0; lib_idx < num_libs; lib_idx++) {
     lib ^= libs.At(lib_idx);
@@ -871,8 +864,7 @@
   TIMELINE_SCOPE(CheckpointLibraries);
   TIR_Print("---- CHECKPOINTING LIBRARIES\n");
   // Save the root library in case we abort the reload.
-  const Library& root_lib =
-      Library::Handle(object_store()->root_library());
+  const Library& root_lib = Library::Handle(object_store()->root_library());
   set_saved_root_library(root_lib);
 
   // Save the old libraries array in case we abort the reload.
@@ -882,11 +874,11 @@
 
   // Make a filtered copy of the old libraries array. Keep "clean" libraries
   // that we will use instead of reloading.
-  const GrowableObjectArray& new_libs = GrowableObjectArray::Handle(
-      GrowableObjectArray::New(Heap::kOld));
+  const GrowableObjectArray& new_libs =
+      GrowableObjectArray::Handle(GrowableObjectArray::New(Heap::kOld));
   Library& lib = Library::Handle();
-  UnorderedHashSet<LibraryMapTraits>
-      old_libraries_set(old_libraries_set_storage_);
+  UnorderedHashSet<LibraryMapTraits> old_libraries_set(
+      old_libraries_set_storage_);
   num_saved_libs_ = 0;
   for (intptr_t i = 0; i < libs.Length(); i++) {
     lib ^= libs.At(i);
@@ -949,8 +941,8 @@
   TIR_Print("---- ROLLING BACK LIBRARY CHANGES\n");
   Thread* thread = Thread::Current();
   Library& lib = Library::Handle();
-  GrowableObjectArray& saved_libs = GrowableObjectArray::Handle(
-      Z, saved_libraries());
+  GrowableObjectArray& saved_libs =
+      GrowableObjectArray::Handle(Z, saved_libraries());
   if (!saved_libs.IsNull()) {
     for (intptr_t i = 0; i < saved_libs.Length(); i++) {
       lib = Library::RawCast(saved_libs.At(i));
@@ -991,7 +983,7 @@
   UnorderedHashMap<ClassMapTraits> class_map(class_map_storage_);
   UnorderedHashMap<ClassMapTraits> reverse_class_map(
       HashTables::New<UnorderedHashMap<ClassMapTraits> >(
-         class_map.NumOccupied()));
+          class_map.NumOccupied()));
   {
     UnorderedHashMap<ClassMapTraits>::Iterator it(&class_map);
     while (it.MoveNext()) {
@@ -1000,9 +992,10 @@
       cls = Class::RawCast(class_map.GetPayload(entry, 0));
       cls2 ^= reverse_class_map.GetOrNull(new_cls);
       if (!cls2.IsNull()) {
-        OS::PrintErr("Classes '%s' and '%s' are distinct classes but both map "
-                     " to class '%s'\n",
-                     cls.ToCString(), cls2.ToCString(), new_cls.ToCString());
+        OS::PrintErr(
+            "Classes '%s' and '%s' are distinct classes but both map "
+            " to class '%s'\n",
+            cls.ToCString(), cls2.ToCString(), new_cls.ToCString());
         UNREACHABLE();
       }
       bool update = reverse_class_map.UpdateOrInsert(cls, new_cls);
@@ -1097,8 +1090,8 @@
     TIMELINE_SCOPE(UpdateLibrariesArray);
     // Update the libraries array.
     Library& lib = Library::Handle();
-    const GrowableObjectArray& libs = GrowableObjectArray::Handle(
-        I->object_store()->libraries());
+    const GrowableObjectArray& libs =
+        GrowableObjectArray::Handle(I->object_store()->libraries());
     for (intptr_t i = 0; i < libs.Length(); i++) {
       lib = Library::RawCast(libs.At(i));
       VTIR_Print("Lib '%s' at index %" Pd "\n", lib.ToCString(), i);
@@ -1118,8 +1111,8 @@
     const GrowableObjectArray& become_enum_mappings =
         GrowableObjectArray::Handle(become_enum_mappings_);
     UnorderedHashMap<BecomeMapTraits> become_map(become_map_storage_);
-    intptr_t replacement_count = become_map.NumOccupied() +
-                                 become_enum_mappings.Length() / 2;
+    intptr_t replacement_count =
+        become_map.NumOccupied() + become_enum_mappings.Length() / 2;
     const Array& before =
         Array::Handle(Array::New(replacement_count, Heap::kOld));
     const Array& after =
@@ -1151,19 +1144,42 @@
   if (FLAG_identity_reload) {
     if (saved_num_cids_ != I->class_table()->NumCids()) {
       TIR_Print("Identity reload failed! B#C=%" Pd " A#C=%" Pd "\n",
-                saved_num_cids_,
-                I->class_table()->NumCids());
+                saved_num_cids_, I->class_table()->NumCids());
     }
     const GrowableObjectArray& saved_libs =
         GrowableObjectArray::Handle(saved_libraries());
     const GrowableObjectArray& libs =
         GrowableObjectArray::Handle(I->object_store()->libraries());
     if (saved_libs.Length() != libs.Length()) {
-     TIR_Print("Identity reload failed! B#L=%" Pd " A#L=%" Pd "\n",
-               saved_libs.Length(),
-               libs.Length());
+      TIR_Print("Identity reload failed! B#L=%" Pd " A#L=%" Pd "\n",
+                saved_libs.Length(), libs.Length());
     }
   }
+
+  // Rehash constants map for all new classes and the closure class.
+  Class& cls = Class::Handle(zone_);
+  cls = I->class_table()->At(kClosureCid);
+  cls.RehashConstants(zone_);
+  {
+    ASSERT(class_map_storage_ != Array::null());
+    UnorderedHashMap<ClassMapTraits> map(class_map_storage_);
+    UnorderedHashMap<ClassMapTraits>::Iterator it(&map);
+    while (it.MoveNext()) {
+      const intptr_t entry = it.Current();
+      cls = Class::RawCast(map.GetKey(entry));
+      cls.RehashConstants(zone_);
+    }
+    map.Release();
+  }
+
+#ifdef DEBUG
+  // Verify that all canonical instances are correctly setup in the
+  // corresponding canonical tables.
+  Thread* thread = Thread::Current();
+  I->heap()->CollectAllGarbage();
+  VerifyCanonicalVisitor check_canonical(thread);
+  I->heap()->IterateObjects(&check_canonical);
+#endif  // DEBUG
 }
 
 
@@ -1212,8 +1228,7 @@
 class ObjectLocator : public ObjectVisitor {
  public:
   explicit ObjectLocator(IsolateReloadContext* context)
-      : context_(context), count_(0) {
-  }
+      : context_(context), count_(0) {}
 
   void VisitObject(RawObject* obj) {
     InstanceMorpher* morpher =
@@ -1252,12 +1267,12 @@
   intptr_t count = locator.count();
   if (count == 0) return;
 
-  TIR_Print("Found %" Pd " object%s subject to morphing.\n",
-            count, (count > 1) ? "s" : "");
+  TIR_Print("Found %" Pd " object%s subject to morphing.\n", count,
+            (count > 1) ? "s" : "");
 
   Array& before = Array::Handle();
   Array& after = Array::Handle();
-  { // Prevent GC to take place due object format confusion.
+  {  // Prevent GC to take place due object format confusion.
     // Hint: More than one class share the same cid.
     NoHeapGrowthControlScope scope;
     for (intptr_t i = 0; i < instance_morphers_.length(); i++) {
@@ -1426,14 +1441,13 @@
   MarkFunctionsForRecompilation(Isolate* isolate,
                                 IsolateReloadContext* reload_context,
                                 Zone* zone)
-    : ObjectVisitor(),
-      handle_(Object::Handle(zone)),
-      owning_class_(Class::Handle(zone)),
-      owning_lib_(Library::Handle(zone)),
-      code_(Code::Handle(zone)),
-      reload_context_(reload_context),
-      zone_(zone) {
-  }
+      : ObjectVisitor(),
+        handle_(Object::Handle(zone)),
+        owning_class_(Class::Handle(zone)),
+        owning_lib_(Library::Handle(zone)),
+        code_(Code::Handle(zone)),
+        reload_context_(reload_context),
+        zone_(zone) {}
 
   virtual void VisitObject(RawObject* obj) {
     if (obj->IsPseudoObject()) {
@@ -1459,7 +1473,7 @@
       if (!stub_code) {
         if (clear_code) {
           VTIR_Print("Marking %s for recompilation, clearning code\n",
-              func.ToCString());
+                     func.ToCString());
           ClearAllCode(func);
         } else {
           PreserveUnoptimizedCode();
@@ -1564,8 +1578,8 @@
 
 RawLibrary* IsolateReloadContext::OldLibraryOrNull(
     const Library& replacement_or_new) {
-  UnorderedHashSet<LibraryMapTraits>
-      old_libraries_set(old_libraries_set_storage_);
+  UnorderedHashSet<LibraryMapTraits> old_libraries_set(
+      old_libraries_set_storage_);
   Library& lib = Library::Handle();
   lib ^= old_libraries_set.GetOrNull(replacement_or_new);
   old_libraries_set.Release();
@@ -1623,8 +1637,8 @@
 }
 
 
-void IsolateReloadContext::AddStaticFieldMapping(
-    const Field& old_field, const Field& new_field) {
+void IsolateReloadContext::AddStaticFieldMapping(const Field& old_field,
+                                                 const Field& new_field) {
   ASSERT(old_field.is_static());
   ASSERT(new_field.is_static());
 
diff --git a/runtime/vm/isolate_reload.h b/runtime/vm/isolate_reload.h
index e8fbd3a..f2a2df9 100644
--- a/runtime/vm/isolate_reload.h
+++ b/runtime/vm/isolate_reload.h
@@ -17,20 +17,20 @@
 
 // 'Trace Isolate Reload' TIR_Print
 #if defined(_MSC_VER)
-#define TIR_Print(format, ...) \
-    if (FLAG_trace_reload) Log::Current()->Print(format, __VA_ARGS__)
+#define TIR_Print(format, ...)                                                 \
+  if (FLAG_trace_reload) Log::Current()->Print(format, __VA_ARGS__)
 #else
-#define TIR_Print(format, ...) \
-    if (FLAG_trace_reload) Log::Current()->Print(format, ##__VA_ARGS__)
+#define TIR_Print(format, ...)                                                 \
+  if (FLAG_trace_reload) Log::Current()->Print(format, ##__VA_ARGS__)
 #endif
 
 // 'Verbose Trace Isolate Reload' VTIR_Print
 #if defined(_MSC_VER)
-#define VTIR_Print(format, ...) \
-    if (FLAG_trace_reload_verbose) Log::Current()->Print(format, __VA_ARGS__)
+#define VTIR_Print(format, ...)                                                \
+  if (FLAG_trace_reload_verbose) Log::Current()->Print(format, __VA_ARGS__)
 #else
-#define VTIR_Print(format, ...) \
-    if (FLAG_trace_reload_verbose) Log::Current()->Print(format, ##__VA_ARGS__)
+#define VTIR_Print(format, ...)                                                \
+  if (FLAG_trace_reload_verbose) Log::Current()->Print(format, ##__VA_ARGS__)
 #endif
 
 namespace dart {
@@ -128,8 +128,7 @@
 
 class IsolateReloadContext {
  public:
-  explicit IsolateReloadContext(Isolate* isolate,
-                                JSONStream* js);
+  explicit IsolateReloadContext(Isolate* isolate, JSONStream* js);
   ~IsolateReloadContext();
 
   void Reload(bool force_reload);
@@ -191,9 +190,7 @@
   void AddInstanceMorpher(InstanceMorpher* morpher);
 
   // Tells whether instance in the heap must be morphed.
-  bool HasInstanceMorphers() const {
-    return !instance_morphers_.is_empty();
-  }
+  bool HasInstanceMorphers() const { return !instance_morphers_.is_empty(); }
 
   // NOTE: FinalizeLoading will be called *before* Reload() returns. This
   // function will not be called if the embedder does not call
@@ -307,8 +304,7 @@
   RawLibrary* OldLibraryOrNull(const Library& replacement_or_new);
   void BuildLibraryMapping();
 
-  void AddClassMapping(const Class& replacement_or_new,
-                       const Class& original);
+  void AddClassMapping(const Class& replacement_or_new, const Class& original);
 
   void AddLibraryMapping(const Library& replacement_or_new,
                          const Library& original);
@@ -348,4 +344,4 @@
 
 }  // namespace dart
 
-#endif   // RUNTIME_VM_ISOLATE_RELOAD_H_
+#endif  // RUNTIME_VM_ISOLATE_RELOAD_H_
diff --git a/runtime/vm/isolate_reload_test.cc b/runtime/vm/isolate_reload_test.cc
index 7fabfe7..7c7daa6 100644
--- a/runtime/vm/isolate_reload_test.cc
+++ b/runtime/vm/isolate_reload_test.cc
@@ -634,8 +634,7 @@
 
   Dart_Handle lib = TestCase::LoadTestScript(kScript, NULL);
   EXPECT_VALID(lib);
-  EXPECT_STREQ("saved:field=mixin1,func=mixin1",
-               SimpleInvokeStr(lib, "main"));
+  EXPECT_STREQ("saved:field=mixin1,func=mixin1", SimpleInvokeStr(lib, "main"));
 
   const char* kReloadScript =
       "class Mixin2 {\n"
@@ -656,9 +655,10 @@
 
   // The saved instance of B retains its old field value from mixin1,
   // but it gets the new implementation of func from mixin2.
-  EXPECT_STREQ("saved:field=mixin1,func=mixin2 "
-               "newer:field=mixin2,func=mixin2",
-               SimpleInvokeStr(lib, "main"));
+  EXPECT_STREQ(
+      "saved:field=mixin1,func=mixin2 "
+      "newer:field=mixin2,func=mixin2",
+      SimpleInvokeStr(lib, "main"));
 }
 
 
@@ -683,10 +683,11 @@
 
   Dart_Handle lib = TestCase::LoadTestScript(kScript, NULL);
   EXPECT_VALID(lib);
-  EXPECT_STREQ("(a is A(true)/ B(false)/ C(false),"
-               " b is A(true)/ B(true)/ C(false),"
-               " c is A(true)/ B(true)/ C(true))",
-               SimpleInvokeStr(lib, "main"));
+  EXPECT_STREQ(
+      "(a is A(true)/ B(false)/ C(false),"
+      " b is A(true)/ B(true)/ C(false),"
+      " c is A(true)/ B(true)/ C(true))",
+      SimpleInvokeStr(lib, "main"));
 
   const char* kReloadScript =
       "class C {\n"
@@ -709,11 +710,12 @@
 
   lib = TestCase::ReloadTestScript(kReloadScript);
   EXPECT_VALID(lib);
-  EXPECT_STREQ("(a is A(true)/ C(true)/ X(true),"
-               " b is A(true)/ C(true)/ X(true),"  // still extends A...
-               " c is A(false)/ C(true)/ X(false),"
-               " x is A(false)/ C(true)/ X(true))",
-               SimpleInvokeStr(lib, "main"));
+  EXPECT_STREQ(
+      "(a is A(true)/ C(true)/ X(true),"
+      " b is A(true)/ C(true)/ X(true),"  // still extends A...
+      " c is A(false)/ C(true)/ X(false),"
+      " x is A(false)/ C(true)/ X(true))",
+      SimpleInvokeStr(lib, "main"));
 
   // Revive the class B and make sure all allocated instances take
   // their place in the inheritance hierarchy.
@@ -741,11 +743,12 @@
 
   lib = TestCase::ReloadTestScript(kReloadScript2);
   EXPECT_VALID(lib);
-  EXPECT_STREQ("(a is A(true)/ B(false)/ C(false)/ X(true),"
-               " b is A(false)/ B(true)/ C(false)/ X(true),"
-               " c is A(true)/ B(false)/ C(true)/ X(true),"
-               " x is A(false)/ B(false)/ C(false)/ X(true))",
-               SimpleInvokeStr(lib, "main"));
+  EXPECT_STREQ(
+      "(a is A(true)/ B(false)/ C(false)/ X(true),"
+      " b is A(false)/ B(true)/ C(false)/ X(true),"
+      " c is A(true)/ B(false)/ C(true)/ X(true),"
+      " x is A(false)/ B(false)/ C(false)/ X(true))",
+      SimpleInvokeStr(lib, "main"));
 }
 
 
@@ -784,8 +787,7 @@
 
 
 TEST_CASE(IsolateReload_LibraryLookup) {
-  const char* kImportScript =
-      "importedFunc() => 'a';\n";
+  const char* kImportScript = "importedFunc() => 'a';\n";
   TestCase::AddTestLib("test:lib1", kImportScript);
 
   const char* kScript =
@@ -827,8 +829,7 @@
 
 
 TEST_CASE(IsolateReload_LibraryHide) {
-  const char* kImportScript =
-      "importedFunc() => 'a';\n";
+  const char* kImportScript = "importedFunc() => 'a';\n";
   TestCase::AddTestLib("test:lib1", kImportScript);
 
   // Import 'test:lib1' with importedFunc hidden. Will result in an
@@ -908,8 +909,7 @@
 // Verifies that we clear the ICs for the functions live on the stack in a way
 // that is compatible with the fast path smi stubs.
 TEST_CASE(IsolateReload_SmiFastPathStubs) {
-  const char* kImportScript =
-      "importedIntFunc() => 4;\n";
+  const char* kImportScript = "importedIntFunc() => 4;\n";
   TestCase::AddTestLib("test:lib1", kImportScript);
 
   const char* kScript =
@@ -1595,8 +1595,10 @@
 
   TestCase::SetReloadTestScript(kReloadScript);
 
-  EXPECT_STREQ("4 NoSuchMethodError: No static getter 'y' declared "
-               "in class 'C'.", SimpleInvokeStr(lib, "main"));
+  EXPECT_STREQ(
+      "4 NoSuchMethodError: No static getter 'y' declared "
+      "in class 'C'.",
+      SimpleInvokeStr(lib, "main"));
 
   lib = TestCase::GetReloadErrorOrRootLibrary();
   EXPECT_VALID(lib);
@@ -1605,8 +1607,7 @@
 
 static void IsolateReload_DanlingGetter_LibraryReload(
     Dart_NativeArguments native_args) {
-  const char* kImportScript2 =
-    "var x;\n";
+  const char* kImportScript2 = "var x;\n";
   TestCase::AddTestLib("test:other", kImportScript2);
 
   DART_CHECK_VALID(TestCase::TriggerReload());
@@ -1769,8 +1770,10 @@
 
   TestCase::SetReloadTestScript(kReloadScript);
 
-  EXPECT_STREQ("5 NoSuchMethodError: No static setter 'y=' declared in "
-               "class 'C'.", SimpleInvokeStr(lib, "main"));
+  EXPECT_STREQ(
+      "5 NoSuchMethodError: No static setter 'y=' declared in "
+      "class 'C'.",
+      SimpleInvokeStr(lib, "main"));
 
   lib = TestCase::GetReloadErrorOrRootLibrary();
   EXPECT_VALID(lib);
@@ -1779,8 +1782,7 @@
 
 static void IsolateReload_DanlingSetter_LibraryReload(
     Dart_NativeArguments native_args) {
-  const char* kImportScript2 =
-    "var x;\n";
+  const char* kImportScript2 = "var x;\n";
   TestCase::AddTestLib("test:other", kImportScript2);
 
   DART_CHECK_VALID(TestCase::TriggerReload());
@@ -1883,8 +1885,10 @@
 
   TestCase::SetReloadTestScript(kReloadScript);
 
-  EXPECT_STREQ("1 NoSuchMethodError: Class 'C' has no instance method "
-               "'foo' with matching arguments.", SimpleInvokeStr(lib, "main"));
+  EXPECT_STREQ(
+      "1 NoSuchMethodError: Class 'C' has no instance method "
+      "'foo' with matching arguments.",
+      SimpleInvokeStr(lib, "main"));
 
   lib = TestCase::GetReloadErrorOrRootLibrary();
   EXPECT_VALID(lib);
@@ -1937,8 +1941,10 @@
 
   TestCase::SetReloadTestScript(kReloadScript);
 
-  EXPECT_STREQ("1 NoSuchMethodError: Closure call with mismatched arguments: "
-               "function 'C.foo'", SimpleInvokeStr(lib, "main"));
+  EXPECT_STREQ(
+      "1 NoSuchMethodError: Closure call with mismatched arguments: "
+      "function 'C.foo'",
+      SimpleInvokeStr(lib, "main"));
 
   lib = TestCase::GetReloadErrorOrRootLibrary();
   EXPECT_VALID(lib);
@@ -2174,8 +2180,7 @@
 
   lib = TestCase::ReloadTestScript(kReloadScript);
   EXPECT_VALID(lib);
-  EXPECT_STREQ("Fruit.Cantalope true 2",
-               SimpleInvokeStr(lib, "main"));
+  EXPECT_STREQ("Fruit.Cantalope true 2", SimpleInvokeStr(lib, "main"));
 }
 
 
@@ -2881,8 +2886,7 @@
 
 
 TEST_CASE(IsolateReload_NoLibsModified) {
-  const char* kImportScript =
-      "importedFunc() => 'fancy';";
+  const char* kImportScript = "importedFunc() => 'fancy';";
   TestCase::AddTestLib("test:lib1", kImportScript);
 
   const char* kScript =
@@ -2895,8 +2899,7 @@
   EXPECT_VALID(lib);
   EXPECT_STREQ("fancy feast", SimpleInvokeStr(lib, "main"));
 
-  const char* kReloadImportScript =
-      "importedFunc() => 'bossy';";
+  const char* kReloadImportScript = "importedFunc() => 'bossy';";
   TestCase::AddTestLib("test:lib1", kReloadImportScript);
 
   const char* kReloadScript =
@@ -2924,8 +2927,7 @@
 
 
 TEST_CASE(IsolateReload_MainLibModified) {
-  const char* kImportScript =
-      "importedFunc() => 'fancy';";
+  const char* kImportScript = "importedFunc() => 'fancy';";
   TestCase::AddTestLib("test:lib1", kImportScript);
 
   const char* kScript =
@@ -2938,8 +2940,7 @@
   EXPECT_VALID(lib);
   EXPECT_STREQ("fancy feast", SimpleInvokeStr(lib, "main"));
 
-  const char* kReloadImportScript =
-      "importedFunc() => 'bossy';";
+  const char* kReloadImportScript = "importedFunc() => 'bossy';";
   TestCase::AddTestLib("test:lib1", kReloadImportScript);
 
   const char* kReloadScript =
@@ -2967,8 +2968,7 @@
 
 
 TEST_CASE(IsolateReload_ImportedLibModified) {
-  const char* kImportScript =
-      "importedFunc() => 'fancy';";
+  const char* kImportScript = "importedFunc() => 'fancy';";
   TestCase::AddTestLib("test:lib1", kImportScript);
 
   const char* kScript =
@@ -2981,8 +2981,7 @@
   EXPECT_VALID(lib);
   EXPECT_STREQ("fancy feast", SimpleInvokeStr(lib, "main"));
 
-  const char* kReloadImportScript =
-      "importedFunc() => 'bossy';";
+  const char* kReloadImportScript = "importedFunc() => 'bossy';";
   TestCase::AddTestLib("test:lib1", kReloadImportScript);
 
   const char* kReloadScript =
@@ -3002,8 +3001,7 @@
 
 
 TEST_CASE(IsolateReload_PrefixImportedLibModified) {
-  const char* kImportScript =
-      "importedFunc() => 'fancy';";
+  const char* kImportScript = "importedFunc() => 'fancy';";
   TestCase::AddTestLib("test:lib1", kImportScript);
 
   const char* kScript =
@@ -3016,8 +3014,7 @@
   EXPECT_VALID(lib);
   EXPECT_STREQ("fancy feast", SimpleInvokeStr(lib, "main"));
 
-  const char* kReloadImportScript =
-      "importedFunc() => 'bossy';";
+  const char* kReloadImportScript = "importedFunc() => 'bossy';";
   TestCase::AddTestLib("test:lib1", kReloadImportScript);
 
   const char* kReloadScript =
@@ -3046,12 +3043,10 @@
 
 
 TEST_CASE(IsolateReload_ExportedLibModified) {
-  const char* kImportScript =
-      "export 'test:exportlib';";
+  const char* kImportScript = "export 'test:exportlib';";
   TestCase::AddTestLib("test:importlib", kImportScript);
 
-  const char* kExportScript =
-      "exportedFunc() => 'fancy';";
+  const char* kExportScript = "exportedFunc() => 'fancy';";
   TestCase::AddTestLib("test:exportlib", kExportScript);
 
   const char* kScript =
@@ -3064,8 +3059,7 @@
   EXPECT_VALID(lib);
   EXPECT_STREQ("fancy feast", SimpleInvokeStr(lib, "main"));
 
-  const char* kReloadExportScript =
-      "exportedFunc() => 'bossy';";
+  const char* kReloadExportScript = "exportedFunc() => 'bossy';";
   TestCase::AddTestLib("test:exportlib", kReloadExportScript);
 
   const char* kReloadScript =
@@ -3085,7 +3079,7 @@
 
 
 TEST_CASE(IsolateReload_SimpleConstFieldUpdate) {
-    const char* kScript =
+  const char* kScript =
       "const value = 'a';\n"
       "main() {\n"
       "  return 'value=${value}';\n"
@@ -3108,7 +3102,7 @@
 
 
 TEST_CASE(IsolateReload_ConstFieldUpdate) {
-    const char* kScript =
+  const char* kScript =
       "const value = const Duration(seconds: 1);\n"
       "main() {\n"
       "  return 'value=${value}';\n"
diff --git a/runtime/vm/isolate_test.cc b/runtime/vm/isolate_test.cc
index 4e39113..5e71ed7 100644
--- a/runtime/vm/isolate_test.cc
+++ b/runtime/vm/isolate_test.cc
@@ -49,9 +49,8 @@
   Dart_Handle internal_lib = Dart_LookupLibrary(url);
   DART_CHECK_VALID(internal_lib);
   Dart_Handle print = Dart_GetField(test_lib, NewString("_nullPrintClosure"));
-  Dart_Handle result = Dart_SetField(internal_lib,
-                                     NewString("_printClosure"),
-                                     print);
+  Dart_Handle result =
+      Dart_SetField(internal_lib, NewString("_printClosure"), print);
 
   DART_CHECK_VALID(result);
 
@@ -60,9 +59,8 @@
   DART_CHECK_VALID(url);
   Dart_Handle isolate_lib = Dart_LookupLibrary(url);
   DART_CHECK_VALID(isolate_lib);
-  Dart_Handle schedule_immediate_closure =
-      Dart_Invoke(isolate_lib, NewString("_getIsolateScheduleImmediateClosure"),
-                  0, NULL);
+  Dart_Handle schedule_immediate_closure = Dart_Invoke(
+      isolate_lib, NewString("_getIsolateScheduleImmediateClosure"), 0, NULL);
   Dart_Handle args[1];
   args[0] = schedule_immediate_closure;
   url = NewString("dart:async");
@@ -90,9 +88,7 @@
   static const intptr_t kIterations;
 
   InterruptChecker(Thread* thread, ThreadBarrier* barrier)
-    : thread_(thread),
-      barrier_(barrier) {
-  }
+      : thread_(thread), barrier_(barrier) {}
 
   virtual void Run() {
     Thread::EnterIsolateAsHelper(thread_->isolate(), Thread::kUnknownTask);
@@ -104,9 +100,9 @@
       do {
         limit = AtomicOperations::LoadRelaxed(
             reinterpret_cast<uword*>(thread_->stack_limit_address()));
-      } while ((limit == thread_->saved_stack_limit_) ||
-               (((limit & Thread::kInterruptsMask) &
-                 Thread::kVMInterrupt) == 0));
+      } while (
+          (limit == thread_->saved_stack_limit_) ||
+          (((limit & Thread::kInterruptsMask) & Thread::kVMInterrupt) == 0));
       // Tell main thread that we observed the interrupt.
       barrier_->Sync();
     }
@@ -157,9 +153,7 @@
 
 class IsolateTestHelper {
  public:
-  static uword GetStackLimit(Thread* thread) {
-    return thread->stack_limit_;
-  }
+  static uword GetStackLimit(Thread* thread) { return thread->stack_limit_; }
   static uword GetSavedStackLimit(Thread* thread) {
     return thread->saved_stack_limit_;
   }
diff --git a/runtime/vm/jit_optimizer.cc b/runtime/vm/jit_optimizer.cc
index 63c79bc..1a7cf2e 100644
--- a/runtime/vm/jit_optimizer.cc
+++ b/runtime/vm/jit_optimizer.cc
@@ -61,8 +61,7 @@
 void JitOptimizer::ApplyClassIds() {
   ASSERT(current_iterator_ == NULL);
   for (BlockIterator block_it = flow_graph_->reverse_postorder_iterator();
-       !block_it.Done();
-       block_it.Advance()) {
+       !block_it.Done(); block_it.Advance()) {
     ForwardInstructionIterator it(block_it.Current());
     current_iterator_ = &it;
     for (; !it.Done(); it.Advance()) {
@@ -105,8 +104,7 @@
 
   const Token::Kind op_kind = call->token_kind();
   if (Token::IsRelationalOperator(op_kind) ||
-      Token::IsEqualityOperator(op_kind) ||
-      Token::IsBinaryOperator(op_kind)) {
+      Token::IsEqualityOperator(op_kind) || Token::IsBinaryOperator(op_kind)) {
     // Guess cid: if one of the inputs is a number assume that the other
     // is a number of same type.
     if (FLAG_guess_icdata_cid) {
@@ -130,24 +128,22 @@
   }
 
   if (all_cids_known) {
-    const Class& receiver_class = Class::Handle(Z,
-        isolate()->class_table()->At(class_ids[0]));
+    const Class& receiver_class =
+        Class::Handle(Z, isolate()->class_table()->At(class_ids[0]));
     if (!receiver_class.is_finalized()) {
       // Do not eagerly finalize classes. ResolveDynamicForReceiverClass can
       // cause class finalization, since callee's receiver class may not be
       // finalized yet.
       return false;
     }
-    const Array& args_desc_array = Array::Handle(Z,
-        ArgumentsDescriptor::New(call->ArgumentCount(),
-                                 call->argument_names()));
+    const Array& args_desc_array =
+        Array::Handle(Z, ArgumentsDescriptor::New(call->ArgumentCount(),
+                                                  call->argument_names()));
     ArgumentsDescriptor args_desc(args_desc_array);
-    const Function& function = Function::Handle(Z,
-        Resolver::ResolveDynamicForReceiverClass(
-            receiver_class,
-            call->function_name(),
-            args_desc,
-            false /* allow add */));
+    const Function& function =
+        Function::Handle(Z, Resolver::ResolveDynamicForReceiverClass(
+                                receiver_class, call->function_name(),
+                                args_desc, false /* allow add */));
     if (function.IsNull()) {
       return false;
     }
@@ -156,8 +152,8 @@
     // since it is attached to the assembly instruction itself.
     // TODO(srdjan): Prevent modification of ICData object that is
     // referenced in assembly code.
-    const ICData& ic_data = ICData::ZoneHandle(Z,
-        ICData::NewFrom(*call->ic_data(), class_ids.length()));
+    const ICData& ic_data = ICData::ZoneHandle(
+        Z, ICData::NewFrom(*call->ic_data(), class_ids.length()));
     if (class_ids.length() > 1) {
       ic_data.AddCheck(class_ids, function);
     } else {
@@ -169,25 +165,22 @@
   }
 
   // Check if getter or setter in function's class and class is currently leaf.
-  if (FLAG_guess_icdata_cid &&
-      ((call->token_kind() == Token::kGET) ||
-          (call->token_kind() == Token::kSET))) {
+  if (FLAG_guess_icdata_cid && ((call->token_kind() == Token::kGET) ||
+                                (call->token_kind() == Token::kSET))) {
     const Class& owner_class = Class::Handle(Z, function().Owner());
-    if (!owner_class.is_abstract() &&
-        !CHA::HasSubclasses(owner_class) &&
+    if (!owner_class.is_abstract() && !CHA::HasSubclasses(owner_class) &&
         !CHA::IsImplemented(owner_class)) {
-      const Array& args_desc_array = Array::Handle(Z,
-          ArgumentsDescriptor::New(call->ArgumentCount(),
-                                   call->argument_names()));
+      const Array& args_desc_array =
+          Array::Handle(Z, ArgumentsDescriptor::New(call->ArgumentCount(),
+                                                    call->argument_names()));
       ArgumentsDescriptor args_desc(args_desc_array);
-      const Function& function = Function::Handle(Z,
-          Resolver::ResolveDynamicForReceiverClass(owner_class,
-                                                   call->function_name(),
-                                                   args_desc,
-                                                   false /* allow_add */));
+      const Function& function =
+          Function::Handle(Z, Resolver::ResolveDynamicForReceiverClass(
+                                  owner_class, call->function_name(), args_desc,
+                                  false /* allow_add */));
       if (!function.IsNull()) {
-        const ICData& ic_data = ICData::ZoneHandle(Z,
-            ICData::NewFrom(*call->ic_data(), class_ids.length()));
+        const ICData& ic_data = ICData::ZoneHandle(
+            Z, ICData::NewFrom(*call->ic_data(), class_ids.length()));
         ic_data.AddReceiverCheck(owner_class.id(), function);
         call->set_ic_data(&ic_data);
         return true;
@@ -212,13 +205,11 @@
   // TODO(fschneider): Try looking up the function on the class if it is
   // not found in the ICData.
   if (!function.IsNull()) {
-    const ICData& new_ic_data = ICData::ZoneHandle(Z, ICData::New(
-        Function::Handle(Z, ic_data.Owner()),
-        String::Handle(Z, ic_data.target_name()),
-        Object::empty_array(),  // Dummy argument descriptor.
-        ic_data.deopt_id(),
-        ic_data.NumArgsTested(),
-        false));
+    const ICData& new_ic_data = ICData::ZoneHandle(
+        Z, ICData::New(Function::Handle(Z, ic_data.Owner()),
+                       String::Handle(Z, ic_data.target_name()),
+                       Object::empty_array(),  // Dummy argument descriptor.
+                       ic_data.deopt_id(), ic_data.NumArgsTested(), false));
     new_ic_data.SetDeoptReasons(ic_data.DeoptReasons());
     new_ic_data.AddReceiverCheck(cid, function);
     return new_ic_data;
@@ -253,10 +244,8 @@
   const bool with_checks = false;
   const bool complete = false;
   PolymorphicInstanceCallInstr* specialized =
-      new(Z) PolymorphicInstanceCallInstr(call->instance_call(),
-                                          ic_data,
-                                          with_checks,
-                                          complete);
+      new (Z) PolymorphicInstanceCallInstr(call->instance_call(), ic_data,
+                                           with_checks, complete);
   call->ReplaceWith(specialized, current_iterator());
 }
 
@@ -321,19 +310,19 @@
 
 
 static bool HasOnlyOneSmi(const ICData& ic_data) {
-  return (ic_data.NumberOfUsedChecks() == 1)
-      && ic_data.HasReceiverClassId(kSmiCid);
+  return (ic_data.NumberOfUsedChecks() == 1) &&
+         ic_data.HasReceiverClassId(kSmiCid);
 }
 
 
 static bool HasOnlySmiOrMint(const ICData& ic_data) {
   if (ic_data.NumberOfUsedChecks() == 1) {
-    return ic_data.HasReceiverClassId(kSmiCid)
-        || ic_data.HasReceiverClassId(kMintCid);
+    return ic_data.HasReceiverClassId(kSmiCid) ||
+           ic_data.HasReceiverClassId(kMintCid);
   }
-  return (ic_data.NumberOfUsedChecks() == 2)
-      && ic_data.HasReceiverClassId(kSmiCid)
-      && ic_data.HasReceiverClassId(kMintCid);
+  return (ic_data.NumberOfUsedChecks() == 2) &&
+         ic_data.HasReceiverClassId(kSmiCid) &&
+         ic_data.HasReceiverClassId(kMintCid);
 }
 
 
@@ -376,8 +365,8 @@
 
 
 static bool HasOnlyOneDouble(const ICData& ic_data) {
-  return (ic_data.NumberOfUsedChecks() == 1)
-      && ic_data.HasReceiverClassId(kDoubleCid);
+  return (ic_data.NumberOfUsedChecks() == 1) &&
+         ic_data.HasReceiverClassId(kDoubleCid);
 }
 
 
@@ -397,8 +386,7 @@
 }
 
 
-void JitOptimizer::ReplaceCall(Definition* call,
-                               Definition* replacement) {
+void JitOptimizer::ReplaceCall(Definition* call, Definition* replacement) {
   // Remove the original push arguments.
   for (intptr_t i = 0; i < call->ArgumentCount(); ++i) {
     PushArgumentInstr* push = call->PushArgumentAt(i);
@@ -415,11 +403,9 @@
                                Instruction* insert_before) {
   if (to_check->Type()->ToCid() != kSmiCid) {
     InsertBefore(insert_before,
-                 new(Z) CheckSmiInstr(new(Z) Value(to_check),
-                                      deopt_id,
-                                      insert_before->token_pos()),
-                 deopt_environment,
-                 FlowGraph::kEffect);
+                 new (Z) CheckSmiInstr(new (Z) Value(to_check), deopt_id,
+                                       insert_before->token_pos()),
+                 deopt_environment, FlowGraph::kEffect);
   }
 }
 
@@ -430,12 +416,10 @@
                                          TokenPosition token_pos) {
   if ((unary_checks.NumberOfUsedChecks() == 1) &&
       unary_checks.HasReceiverClassId(kSmiCid)) {
-    return new(Z) CheckSmiInstr(new(Z) Value(to_check),
-                                deopt_id,
-                                token_pos);
+    return new (Z) CheckSmiInstr(new (Z) Value(to_check), deopt_id, token_pos);
   }
-  return new(Z) CheckClassInstr(
-      new(Z) Value(to_check), deopt_id, unary_checks, token_pos);
+  return new (Z) CheckClassInstr(new (Z) Value(to_check), deopt_id,
+                                 unary_checks, token_pos);
 }
 
 
@@ -445,8 +429,8 @@
                                  Environment* deopt_environment,
                                  Instruction* insert_before) {
   // Type propagation has not run yet, we cannot eliminate the check.
-  Instruction* check = GetCheckClass(
-      to_check, unary_checks, deopt_id, insert_before->token_pos());
+  Instruction* check = GetCheckClass(to_check, unary_checks, deopt_id,
+                                     insert_before->token_pos());
   InsertBefore(insert_before, check, deopt_environment, FlowGraph::kEffect);
 }
 
@@ -454,9 +438,7 @@
 void JitOptimizer::AddReceiverCheck(InstanceCallInstr* call) {
   AddCheckClass(call->ArgumentAt(0),
                 ICData::ZoneHandle(Z, call->ic_data()->AsUnaryClassChecks()),
-                call->deopt_id(),
-                call->env(),
-                call);
+                call->deopt_id(), call->env(), call);
 }
 
 
@@ -534,12 +516,12 @@
       ASSERT(str.Length() == 1);
       ConstantInstr* char_code_left = flow_graph()->GetConstant(
           Smi::ZoneHandle(Z, Smi::New(static_cast<intptr_t>(str.CharAt(0)))));
-      left_val = new(Z) Value(char_code_left);
+      left_val = new (Z) Value(char_code_left);
     } else if (left->IsOneByteStringFromCharCode()) {
       // Use input of string-from-charcode as left value.
       OneByteStringFromCharCodeInstr* instr =
           left->AsOneByteStringFromCharCode();
-      left_val = new(Z) Value(instr->char_code()->definition());
+      left_val = new (Z) Value(instr->char_code()->definition());
       to_remove_left = instr;
     } else {
       // IsLengthOneString(left) should have been false.
@@ -552,32 +534,24 @@
       // Skip string-from-char-code, and use its input as right value.
       OneByteStringFromCharCodeInstr* right_instr =
           right->AsOneByteStringFromCharCode();
-      right_val = new(Z) Value(right_instr->char_code()->definition());
+      right_val = new (Z) Value(right_instr->char_code()->definition());
       to_remove_right = right_instr;
     } else {
       const ICData& unary_checks_1 =
           ICData::ZoneHandle(Z, call->ic_data()->AsUnaryClassChecksForArgNr(1));
-      AddCheckClass(right,
-                    unary_checks_1,
-                    call->deopt_id(),
-                    call->env(),
-                    call);
+      AddCheckClass(right, unary_checks_1, call->deopt_id(), call->env(), call);
       // String-to-char-code instructions returns -1 (illegal charcode) if
       // string is not of length one.
-      StringToCharCodeInstr* char_code_right =
-          new(Z) StringToCharCodeInstr(new(Z) Value(right), kOneByteStringCid);
+      StringToCharCodeInstr* char_code_right = new (Z)
+          StringToCharCodeInstr(new (Z) Value(right), kOneByteStringCid);
       InsertBefore(call, char_code_right, call->env(), FlowGraph::kValue);
-      right_val = new(Z) Value(char_code_right);
+      right_val = new (Z) Value(char_code_right);
     }
 
     // Comparing char-codes instead of strings.
     EqualityCompareInstr* comp =
-        new(Z) EqualityCompareInstr(call->token_pos(),
-                                    op_kind,
-                                    left_val,
-                                    right_val,
-                                    kSmiCid,
-                                    call->deopt_id());
+        new (Z) EqualityCompareInstr(call->token_pos(), op_kind, left_val,
+                                     right_val, kSmiCid, call->deopt_id());
     ReplaceCall(call, comp);
 
     // Remove dead instructions.
@@ -597,7 +571,9 @@
 }
 
 
-static bool SmiFitsInDouble() { return kSmiBits < 53; }
+static bool SmiFitsInDouble() {
+  return kSmiBits < 53;
+}
 
 bool JitOptimizer::TryReplaceWithEqualityOp(InstanceCallInstr* call,
                                             Token::Kind op_kind) {
@@ -617,17 +593,13 @@
     }
   } else if (HasOnlyTwoOf(ic_data, kSmiCid)) {
     InsertBefore(call,
-                 new(Z) CheckSmiInstr(new(Z) Value(left),
-                                      call->deopt_id(),
-                                      call->token_pos()),
-                 call->env(),
-                 FlowGraph::kEffect);
+                 new (Z) CheckSmiInstr(new (Z) Value(left), call->deopt_id(),
+                                       call->token_pos()),
+                 call->env(), FlowGraph::kEffect);
     InsertBefore(call,
-                 new(Z) CheckSmiInstr(new(Z) Value(right),
-                                      call->deopt_id(),
-                                      call->token_pos()),
-                 call->env(),
-                 FlowGraph::kEffect);
+                 new (Z) CheckSmiInstr(new (Z) Value(right), call->deopt_id(),
+                                       call->token_pos()),
+                 call->env(), FlowGraph::kEffect);
     cid = kSmiCid;
   } else if (HasTwoMintOrSmi(ic_data) &&
              FlowGraphCompiler::SupportsUnboxedMints()) {
@@ -642,13 +614,10 @@
         // call.
         return false;
       } else {
-        InsertBefore(call,
-                     new(Z) CheckEitherNonSmiInstr(
-                         new(Z) Value(left),
-                         new(Z) Value(right),
-                         call->deopt_id()),
-                     call->env(),
-                     FlowGraph::kEffect);
+        InsertBefore(call, new (Z) CheckEitherNonSmiInstr(new (Z) Value(left),
+                                                          new (Z) Value(right),
+                                                          call->deopt_id()),
+                     call->env(), FlowGraph::kEffect);
         cid = kDoubleCid;
       }
     }
@@ -659,24 +628,15 @@
     GrowableArray<intptr_t> smi_or_null(2);
     smi_or_null.Add(kSmiCid);
     smi_or_null.Add(kNullCid);
-    if (ICDataHasOnlyReceiverArgumentClassIds(ic_data,
-                                              smi_or_null,
+    if (ICDataHasOnlyReceiverArgumentClassIds(ic_data, smi_or_null,
                                               smi_or_null)) {
       const ICData& unary_checks_0 =
           ICData::ZoneHandle(Z, call->ic_data()->AsUnaryClassChecks());
-      AddCheckClass(left,
-                    unary_checks_0,
-                    call->deopt_id(),
-                    call->env(),
-                    call);
+      AddCheckClass(left, unary_checks_0, call->deopt_id(), call->env(), call);
 
       const ICData& unary_checks_1 =
           ICData::ZoneHandle(Z, call->ic_data()->AsUnaryClassChecksForArgNr(1));
-      AddCheckClass(right,
-                    unary_checks_1,
-                    call->deopt_id(),
-                    call->env(),
-                    call);
+      AddCheckClass(right, unary_checks_1, call->deopt_id(), call->env(), call);
       cid = kSmiCid;
     } else {
       // Shortcut for equality with null.
@@ -684,12 +644,10 @@
       ConstantInstr* left_const = left->AsConstant();
       if ((right_const != NULL && right_const->value().IsNull()) ||
           (left_const != NULL && left_const->value().IsNull())) {
-        StrictCompareInstr* comp =
-            new(Z) StrictCompareInstr(call->token_pos(),
-                                      Token::kEQ_STRICT,
-                                      new(Z) Value(left),
-                                      new(Z) Value(right),
-                                      false);  // No number check.
+        StrictCompareInstr* comp = new (Z)
+            StrictCompareInstr(call->token_pos(), Token::kEQ_STRICT,
+                               new (Z) Value(left), new (Z) Value(right),
+                               false);  // No number check.
         ReplaceCall(call, comp);
         return true;
       }
@@ -697,12 +655,9 @@
     }
   }
   ASSERT(cid != kIllegalCid);
-  EqualityCompareInstr* comp = new(Z) EqualityCompareInstr(call->token_pos(),
-                                                           op_kind,
-                                                           new(Z) Value(left),
-                                                           new(Z) Value(right),
-                                                           cid,
-                                                           call->deopt_id());
+  EqualityCompareInstr* comp = new (Z)
+      EqualityCompareInstr(call->token_pos(), op_kind, new (Z) Value(left),
+                           new (Z) Value(right), cid, call->deopt_id());
   ReplaceCall(call, comp);
   return true;
 }
@@ -720,17 +675,13 @@
   intptr_t cid = kIllegalCid;
   if (HasOnlyTwoOf(ic_data, kSmiCid)) {
     InsertBefore(call,
-                 new(Z) CheckSmiInstr(new(Z) Value(left),
-                                      call->deopt_id(),
-                                      call->token_pos()),
-                 call->env(),
-                 FlowGraph::kEffect);
+                 new (Z) CheckSmiInstr(new (Z) Value(left), call->deopt_id(),
+                                       call->token_pos()),
+                 call->env(), FlowGraph::kEffect);
     InsertBefore(call,
-                 new(Z) CheckSmiInstr(new(Z) Value(right),
-                                      call->deopt_id(),
-                                      call->token_pos()),
-                 call->env(),
-                 FlowGraph::kEffect);
+                 new (Z) CheckSmiInstr(new (Z) Value(right), call->deopt_id(),
+                                       call->token_pos()),
+                 call->env(), FlowGraph::kEffect);
     cid = kSmiCid;
   } else if (HasTwoMintOrSmi(ic_data) &&
              FlowGraphCompiler::SupportsUnboxedMints()) {
@@ -745,13 +696,10 @@
         // call.
         return false;
       } else {
-        InsertBefore(call,
-                     new(Z) CheckEitherNonSmiInstr(
-                         new(Z) Value(left),
-                         new(Z) Value(right),
-                         call->deopt_id()),
-                     call->env(),
-                     FlowGraph::kEffect);
+        InsertBefore(call, new (Z) CheckEitherNonSmiInstr(new (Z) Value(left),
+                                                          new (Z) Value(right),
+                                                          call->deopt_id()),
+                     call->env(), FlowGraph::kEffect);
         cid = kDoubleCid;
       }
     }
@@ -759,12 +707,9 @@
     return false;
   }
   ASSERT(cid != kIllegalCid);
-  RelationalOpInstr* comp = new(Z) RelationalOpInstr(call->token_pos(),
-                                                     op_kind,
-                                                     new(Z) Value(left),
-                                                     new(Z) Value(right),
-                                                     cid,
-                                                     call->deopt_id());
+  RelationalOpInstr* comp =
+      new (Z) RelationalOpInstr(call->token_pos(), op_kind, new (Z) Value(left),
+                                new (Z) Value(right), cid, call->deopt_id());
   ReplaceCall(call, comp);
   return true;
 }
@@ -783,8 +728,8 @@
         // Don't generate smi code if the IC data is marked because
         // of an overflow.
         operands_type = ic_data.HasDeoptReason(ICData::kDeoptBinarySmiOp)
-            ? kMintCid
-            : kSmiCid;
+                            ? kMintCid
+                            : kSmiCid;
       } else if (HasTwoMintOrSmi(ic_data) &&
                  FlowGraphCompiler::SupportsUnboxedMints()) {
         // Don't generate mint code if the IC data is marked because of an
@@ -840,11 +785,11 @@
           return false;
         }
         operands_type = ic_data.HasDeoptReason(ICData::kDeoptBinarySmiOp)
-            ? kMintCid
-            : kSmiCid;
+                            ? kMintCid
+                            : kSmiCid;
       } else if (HasTwoMintOrSmi(ic_data) &&
-                 HasOnlyOneSmi(ICData::Handle(Z,
-                     ic_data.AsUnaryClassChecksForArgNr(1)))) {
+                 HasOnlyOneSmi(ICData::Handle(
+                     Z, ic_data.AsUnaryClassChecksForArgNr(1)))) {
         // Don't generate mint code if the IC data is marked because of an
         // overflow.
         if (ic_data.HasDeoptReason(ICData::kDeoptBinaryMintOp)) {
@@ -883,34 +828,25 @@
     // binary operation with two smis is a smi not a double, except '/' which
     // returns a double for two smis.
     if (op_kind != Token::kDIV) {
-      InsertBefore(call,
-                   new(Z) CheckEitherNonSmiInstr(
-                       new(Z) Value(left),
-                       new(Z) Value(right),
-                       call->deopt_id()),
-                   call->env(),
-                   FlowGraph::kEffect);
+      InsertBefore(call, new (Z) CheckEitherNonSmiInstr(new (Z) Value(left),
+                                                        new (Z) Value(right),
+                                                        call->deopt_id()),
+                   call->env(), FlowGraph::kEffect);
     }
 
-    BinaryDoubleOpInstr* double_bin_op =
-        new(Z) BinaryDoubleOpInstr(op_kind,
-                                   new(Z) Value(left),
-                                   new(Z) Value(right),
-                                   call->deopt_id(), call->token_pos());
+    BinaryDoubleOpInstr* double_bin_op = new (Z)
+        BinaryDoubleOpInstr(op_kind, new (Z) Value(left), new (Z) Value(right),
+                            call->deopt_id(), call->token_pos());
     ReplaceCall(call, double_bin_op);
   } else if (operands_type == kMintCid) {
     if (!FlowGraphCompiler::SupportsUnboxedMints()) return false;
     if ((op_kind == Token::kSHR) || (op_kind == Token::kSHL)) {
-      ShiftMintOpInstr* shift_op =
-          new(Z) ShiftMintOpInstr(
-              op_kind, new(Z) Value(left), new(Z) Value(right),
-              call->deopt_id());
+      ShiftMintOpInstr* shift_op = new (Z) ShiftMintOpInstr(
+          op_kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
       ReplaceCall(call, shift_op);
     } else {
-      BinaryMintOpInstr* bin_op =
-          new(Z) BinaryMintOpInstr(
-              op_kind, new(Z) Value(left), new(Z) Value(right),
-              call->deopt_id());
+      BinaryMintOpInstr* bin_op = new (Z) BinaryMintOpInstr(
+          op_kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
       ReplaceCall(call, bin_op);
     }
   } else if (operands_type == kFloat32x4Cid) {
@@ -927,19 +863,14 @@
         // Insert smi check and attach a copy of the original environment
         // because the smi operation can still deoptimize.
         InsertBefore(call,
-                     new(Z) CheckSmiInstr(new(Z) Value(left),
-                                          call->deopt_id(),
-                                          call->token_pos()),
-                     call->env(),
-                     FlowGraph::kEffect);
-        ConstantInstr* constant =
-            flow_graph()->GetConstant(Smi::Handle(Z,
-                Smi::New(Smi::Cast(obj).Value() - 1)));
+                     new (Z) CheckSmiInstr(new (Z) Value(left),
+                                           call->deopt_id(), call->token_pos()),
+                     call->env(), FlowGraph::kEffect);
+        ConstantInstr* constant = flow_graph()->GetConstant(
+            Smi::Handle(Z, Smi::New(Smi::Cast(obj).Value() - 1)));
         BinarySmiOpInstr* bin_op =
-            new(Z) BinarySmiOpInstr(Token::kBIT_AND,
-                                    new(Z) Value(left),
-                                    new(Z) Value(constant),
-                                    call->deopt_id());
+            new (Z) BinarySmiOpInstr(Token::kBIT_AND, new (Z) Value(left),
+                                     new (Z) Value(constant), call->deopt_id());
         ReplaceCall(call, bin_op);
         return true;
       }
@@ -948,11 +879,8 @@
     // environment because the smi operation can still deoptimize.
     AddCheckSmi(left, call->deopt_id(), call->env(), call);
     AddCheckSmi(right, call->deopt_id(), call->env(), call);
-    BinarySmiOpInstr* bin_op =
-        new(Z) BinarySmiOpInstr(op_kind,
-                                new(Z) Value(left),
-                                new(Z) Value(right),
-                                call->deopt_id());
+    BinarySmiOpInstr* bin_op = new (Z) BinarySmiOpInstr(
+        op_kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
     ReplaceCall(call, bin_op);
   } else {
     ASSERT(operands_type == kSmiCid);
@@ -967,12 +895,8 @@
       left = right;
       right = temp;
     }
-    BinarySmiOpInstr* bin_op =
-        new(Z) BinarySmiOpInstr(
-            op_kind,
-            new(Z) Value(left),
-            new(Z) Value(right),
-            call->deopt_id());
+    BinarySmiOpInstr* bin_op = new (Z) BinarySmiOpInstr(
+        op_kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
     ReplaceCall(call, bin_op);
   }
   return true;
@@ -986,24 +910,21 @@
   Definition* unary_op = NULL;
   if (HasOnlyOneSmi(*call->ic_data())) {
     InsertBefore(call,
-                 new(Z) CheckSmiInstr(new(Z) Value(input),
-                                      call->deopt_id(),
-                                      call->token_pos()),
-                 call->env(),
-                 FlowGraph::kEffect);
-    unary_op = new(Z) UnarySmiOpInstr(
-        op_kind, new(Z) Value(input), call->deopt_id());
+                 new (Z) CheckSmiInstr(new (Z) Value(input), call->deopt_id(),
+                                       call->token_pos()),
+                 call->env(), FlowGraph::kEffect);
+    unary_op = new (Z)
+        UnarySmiOpInstr(op_kind, new (Z) Value(input), call->deopt_id());
   } else if ((op_kind == Token::kBIT_NOT) &&
              HasOnlySmiOrMint(*call->ic_data()) &&
              FlowGraphCompiler::SupportsUnboxedMints()) {
-    unary_op = new(Z) UnaryMintOpInstr(
-        op_kind, new(Z) Value(input), call->deopt_id());
+    unary_op = new (Z)
+        UnaryMintOpInstr(op_kind, new (Z) Value(input), call->deopt_id());
   } else if (HasOnlyOneDouble(*call->ic_data()) &&
-             (op_kind == Token::kNEGATE) &&
-             CanUnboxDouble()) {
+             (op_kind == Token::kNEGATE) && CanUnboxDouble()) {
     AddReceiverCheck(call);
-    unary_op = new(Z) UnaryDoubleOpInstr(
-        Token::kNEGATE, new(Z) Value(input), call->deopt_id());
+    unary_op = new (Z) UnaryDoubleOpInstr(Token::kNEGATE, new (Z) Value(input),
+                                          call->deopt_id());
   } else {
     return false;
   }
@@ -1014,8 +935,7 @@
 
 
 // Using field class.
-RawField* JitOptimizer::GetField(intptr_t class_id,
-                                 const String& field_name) {
+RawField* JitOptimizer::GetField(intptr_t class_id, const String& field_name) {
   Class& cls = Class::Handle(Z, isolate()->class_table()->At(class_id));
   Field& field = Field::Handle(Z);
   while (!cls.IsNull()) {
@@ -1044,19 +964,16 @@
   // Inline implicit instance getter.
   const String& field_name =
       String::Handle(Z, Field::NameFromGetter(call->function_name()));
-  const Field& field =
-      Field::ZoneHandle(Z, GetField(class_ids[0], field_name));
+  const Field& field = Field::ZoneHandle(Z, GetField(class_ids[0], field_name));
   ASSERT(!field.IsNull());
 
-  if (flow_graph()->InstanceCallNeedsClassCheck(
-          call, RawFunction::kImplicitGetter)) {
+  if (flow_graph()->InstanceCallNeedsClassCheck(call,
+                                                RawFunction::kImplicitGetter)) {
     AddReceiverCheck(call);
   }
-  LoadFieldInstr* load = new(Z) LoadFieldInstr(
-      new(Z) Value(call->ArgumentAt(0)),
-      &field,
-      AbstractType::ZoneHandle(Z, field.type()),
-      call->token_pos());
+  LoadFieldInstr* load = new (Z) LoadFieldInstr(
+      new (Z) Value(call->ArgumentAt(0)), &field,
+      AbstractType::ZoneHandle(Z, field.type()), call->token_pos());
   load->set_is_immutable(field.is_final());
   if (field.guarded_cid() != kIllegalCid) {
     if (!field.is_nullable() || (field.guarded_cid() == kNullCid)) {
@@ -1072,9 +989,7 @@
 
   if (load->result_cid() != kDynamicCid) {
     // Reset value types if guarded_cid was used.
-    for (Value::Iterator it(load->input_use_list());
-         !it.Done();
-         it.Advance()) {
+    for (Value::Iterator it(load->input_use_list()); !it.Done(); it.Advance()) {
       it.Current()->SetReachingType(NULL);
     }
   }
@@ -1091,24 +1006,16 @@
   Definition* left = call->ArgumentAt(0);
   Definition* right = call->ArgumentAt(1);
   // Type check left.
-  AddCheckClass(left,
-                ICData::ZoneHandle(
-                    Z, call->ic_data()->AsUnaryClassChecksForArgNr(0)),
-                call->deopt_id(),
-                call->env(),
-                call);
+  AddCheckClass(left, ICData::ZoneHandle(
+                          Z, call->ic_data()->AsUnaryClassChecksForArgNr(0)),
+                call->deopt_id(), call->env(), call);
   // Type check right.
-  AddCheckClass(right,
-                ICData::ZoneHandle(
-                    Z, call->ic_data()->AsUnaryClassChecksForArgNr(1)),
-                call->deopt_id(),
-                call->env(),
-                call);
+  AddCheckClass(right, ICData::ZoneHandle(
+                           Z, call->ic_data()->AsUnaryClassChecksForArgNr(1)),
+                call->deopt_id(), call->env(), call);
   // Replace call.
-  BinaryFloat32x4OpInstr* float32x4_bin_op =
-      new(Z) BinaryFloat32x4OpInstr(
-          op_kind, new(Z) Value(left), new(Z) Value(right),
-          call->deopt_id());
+  BinaryFloat32x4OpInstr* float32x4_bin_op = new (Z) BinaryFloat32x4OpInstr(
+      op_kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
   ReplaceCall(call, float32x4_bin_op);
 
   return true;
@@ -1124,24 +1031,16 @@
   Definition* left = call->ArgumentAt(0);
   Definition* right = call->ArgumentAt(1);
   // Type check left.
-  AddCheckClass(left,
-                ICData::ZoneHandle(
-                    Z, call->ic_data()->AsUnaryClassChecksForArgNr(0)),
-                call->deopt_id(),
-                call->env(),
-                call);
+  AddCheckClass(left, ICData::ZoneHandle(
+                          Z, call->ic_data()->AsUnaryClassChecksForArgNr(0)),
+                call->deopt_id(), call->env(), call);
   // Type check right.
-  AddCheckClass(right,
-                ICData::ZoneHandle(Z,
-                    call->ic_data()->AsUnaryClassChecksForArgNr(1)),
-                call->deopt_id(),
-                call->env(),
-                call);
+  AddCheckClass(right, ICData::ZoneHandle(
+                           Z, call->ic_data()->AsUnaryClassChecksForArgNr(1)),
+                call->deopt_id(), call->env(), call);
   // Replace call.
-  BinaryInt32x4OpInstr* int32x4_bin_op =
-      new(Z) BinaryInt32x4OpInstr(
-          op_kind, new(Z) Value(left), new(Z) Value(right),
-          call->deopt_id());
+  BinaryInt32x4OpInstr* int32x4_bin_op = new (Z) BinaryInt32x4OpInstr(
+      op_kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
   ReplaceCall(call, int32x4_bin_op);
   return true;
 }
@@ -1156,24 +1055,16 @@
   Definition* left = call->ArgumentAt(0);
   Definition* right = call->ArgumentAt(1);
   // Type check left.
-  AddCheckClass(left,
-                ICData::ZoneHandle(
-                    call->ic_data()->AsUnaryClassChecksForArgNr(0)),
-                call->deopt_id(),
-                call->env(),
-                call);
+  AddCheckClass(
+      left, ICData::ZoneHandle(call->ic_data()->AsUnaryClassChecksForArgNr(0)),
+      call->deopt_id(), call->env(), call);
   // Type check right.
-  AddCheckClass(right,
-                ICData::ZoneHandle(
-                    call->ic_data()->AsUnaryClassChecksForArgNr(1)),
-                call->deopt_id(),
-                call->env(),
-                call);
+  AddCheckClass(
+      right, ICData::ZoneHandle(call->ic_data()->AsUnaryClassChecksForArgNr(1)),
+      call->deopt_id(), call->env(), call);
   // Replace call.
-  BinaryFloat64x2OpInstr* float64x2_bin_op =
-      new(Z) BinaryFloat64x2OpInstr(
-          op_kind, new(Z) Value(left), new(Z) Value(right),
-          call->deopt_id());
+  BinaryFloat64x2OpInstr* float64x2_bin_op = new (Z) BinaryFloat64x2OpInstr(
+      op_kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
   ReplaceCall(call, float64x2_bin_op);
   return true;
 }
@@ -1209,15 +1100,12 @@
     MethodRecognizer::Kind recognized_kind) {
   AddReceiverCheck(call);
   ZoneGrowableArray<Value*>* args =
-      new(Z) ZoneGrowableArray<Value*>(call->ArgumentCount());
+      new (Z) ZoneGrowableArray<Value*>(call->ArgumentCount());
   for (intptr_t i = 0; i < call->ArgumentCount(); i++) {
-    args->Add(new(Z) Value(call->ArgumentAt(i)));
+    args->Add(new (Z) Value(call->ArgumentAt(i)));
   }
-  InvokeMathCFunctionInstr* invoke =
-      new(Z) InvokeMathCFunctionInstr(args,
-                                      call->deopt_id(),
-                                      recognized_kind,
-                                      call->token_pos());
+  InvokeMathCFunctionInstr* invoke = new (Z) InvokeMathCFunctionInstr(
+      args, call->deopt_id(), recognized_kind, call->token_pos());
   ReplaceCall(call, invoke);
 }
 
@@ -1242,15 +1130,14 @@
     if (class_ids[0] == kSmiCid) {
       AddReceiverCheck(call);
       ReplaceCall(call,
-                  new(Z) SmiToDoubleInstr(
-                      new(Z) Value(call->ArgumentAt(0)),
-                      call->token_pos()));
+                  new (Z) SmiToDoubleInstr(new (Z) Value(call->ArgumentAt(0)),
+                                           call->token_pos()));
       return true;
     } else if ((class_ids[0] == kMintCid) && CanConvertUnboxedMintToDouble()) {
       AddReceiverCheck(call);
       ReplaceCall(call,
-                  new(Z) MintToDoubleInstr(new(Z) Value(call->ArgumentAt(0)),
-                                           call->deopt_id()));
+                  new (Z) MintToDoubleInstr(new (Z) Value(call->ArgumentAt(0)),
+                                            call->deopt_id()));
       return true;
     }
   }
@@ -1268,12 +1155,11 @@
         Definition* d2i_instr = NULL;
         if (ic_data.HasDeoptReason(ICData::kDeoptDoubleToSmi)) {
           // Do not repeatedly deoptimize because result didn't fit into Smi.
-          d2i_instr =  new(Z) DoubleToIntegerInstr(
-              new(Z) Value(input), call);
+          d2i_instr = new (Z) DoubleToIntegerInstr(new (Z) Value(input), call);
         } else {
           // Optimistically assume result fits into Smi.
-          d2i_instr = new(Z) DoubleToSmiInstr(
-              new(Z) Value(input), call->deopt_id());
+          d2i_instr =
+              new (Z) DoubleToSmiInstr(new (Z) Value(input), call->deopt_id());
         }
         ReplaceCall(call, d2i_instr);
         return true;
@@ -1290,8 +1176,8 @@
         } else {
           AddReceiverCheck(call);
           DoubleToDoubleInstr* d2d_instr =
-              new(Z) DoubleToDoubleInstr(new(Z) Value(call->ArgumentAt(0)),
-                                         recognized_kind, call->deopt_id());
+              new (Z) DoubleToDoubleInstr(new (Z) Value(call->ArgumentAt(0)),
+                                          recognized_kind, call->deopt_id());
           ReplaceCall(call, d2d_instr);
         }
         return true;
@@ -1331,7 +1217,7 @@
     const TypeArguments& type_arguments =
         TypeArguments::Handle(Z, type.arguments());
     const bool is_raw_type = type_arguments.IsNull() ||
-        type_arguments.IsRaw(from_index, num_type_params);
+                             type_arguments.IsRaw(from_index, num_type_params);
     if (!is_raw_type) {
       // Unknown result.
       return Bool::null();
@@ -1348,13 +1234,9 @@
     if (cls.NumTypeArguments() > 0) {
       return Bool::null();
     }
-    const bool is_subtype = cls.IsSubtypeOf(
-        TypeArguments::Handle(Z),
-        type_class,
-        TypeArguments::Handle(Z),
-        NULL,
-        NULL,
-        Heap::kOld);
+    const bool is_subtype =
+        cls.IsSubtypeOf(TypeArguments::Handle(Z), type_class,
+                        TypeArguments::Handle(Z), NULL, NULL, Heap::kOld);
     results->Add(cls.id());
     results->Add(is_subtype);
     if (prev.IsNull()) {
@@ -1365,7 +1247,7 @@
       }
     }
   }
-  return results_differ ?  Bool::null() : prev.raw();
+  return results_differ ? Bool::null() : prev.raw();
 }
 
 
@@ -1388,7 +1270,8 @@
   if (!type_class.IsPrivate()) {
     if (FLAG_use_cha_deopt || isolate()->all_classes_finalized()) {
       if (FLAG_trace_cha) {
-        THR_Print("  **(CHA) Typecheck as class equality since no "
+        THR_Print(
+            "  **(CHA) Typecheck as class equality since no "
             "subclasses: %s\n",
             type_class.ToCString());
       }
@@ -1408,7 +1291,7 @@
     const TypeArguments& type_arguments =
         TypeArguments::Handle(type.arguments());
     const bool is_raw_type = type_arguments.IsNull() ||
-        type_arguments.IsRaw(from_index, num_type_params);
+                             type_arguments.IsRaw(from_index, num_type_params);
     return is_raw_type;
   }
   return true;
@@ -1444,12 +1327,9 @@
   if ((*results)[0] != kSmiCid) {
     const Class& cls = Class::Handle(class_table.At(kSmiCid));
     const Class& type_class = Class::Handle(type.type_class());
-    const bool smi_is_subtype = cls.IsSubtypeOf(TypeArguments::Handle(),
-                                                type_class,
-                                                TypeArguments::Handle(),
-                                                NULL,
-                                                NULL,
-                                                Heap::kOld);
+    const bool smi_is_subtype =
+        cls.IsSubtypeOf(TypeArguments::Handle(), type_class,
+                        TypeArguments::Handle(), NULL, NULL, Heap::kOld);
     results->Add((*results)[results->length() - 2]);
     results->Add((*results)[results->length() - 2]);
     for (intptr_t i = results->length() - 3; i > 1; --i) {
@@ -1506,31 +1386,33 @@
       } else {
         UNIMPLEMENTED();
       }
-      negate = Bool::Cast(call->ArgumentAt(1)->OriginalDefinition()
-                          ->AsConstant()->value()).value();
+      negate =
+          Bool::Cast(
+              call->ArgumentAt(1)->OriginalDefinition()->AsConstant()->value())
+              .value();
     }
   } else {
     type_args = call->ArgumentAt(1);
     type = AbstractType::Cast(call->ArgumentAt(2)->AsConstant()->value()).raw();
-    negate = Bool::Cast(call->ArgumentAt(3)->OriginalDefinition()
-        ->AsConstant()->value()).value();
+    negate =
+        Bool::Cast(
+            call->ArgumentAt(3)->OriginalDefinition()->AsConstant()->value())
+            .value();
   }
   const ICData& unary_checks =
       ICData::ZoneHandle(Z, call->ic_data()->AsUnaryClassChecks());
   if ((unary_checks.NumberOfChecks() > 0) &&
       (unary_checks.NumberOfChecks() <= FLAG_max_polymorphic_checks)) {
     ZoneGrowableArray<intptr_t>* results =
-        new(Z) ZoneGrowableArray<intptr_t>(unary_checks.NumberOfChecks() * 2);
+        new (Z) ZoneGrowableArray<intptr_t>(unary_checks.NumberOfChecks() * 2);
     Bool& as_bool =
         Bool::ZoneHandle(Z, InstanceOfAsBool(unary_checks, type, results));
     if (as_bool.IsNull()) {
       if (results->length() == unary_checks.NumberOfChecks() * 2) {
         const bool can_deopt = TryExpandTestCidsResult(results, type);
-        TestCidsInstr* test_cids = new(Z) TestCidsInstr(
-            call->token_pos(),
-            negate ? Token::kISNOT : Token::kIS,
-            new(Z) Value(left),
-            *results,
+        TestCidsInstr* test_cids = new (Z) TestCidsInstr(
+            call->token_pos(), negate ? Token::kISNOT : Token::kIS,
+            new (Z) Value(left), *results,
             can_deopt ? call->deopt_id() : Thread::kNoDeoptId);
         // Remove type.
         ReplaceCall(call, test_cids);
@@ -1557,33 +1439,23 @@
   }
 
   if (TypeCheckAsClassEquality(type)) {
-    LoadClassIdInstr* left_cid = new(Z) LoadClassIdInstr(new(Z) Value(left));
-    InsertBefore(call,
-                 left_cid,
-                 NULL,
-                 FlowGraph::kValue);
+    LoadClassIdInstr* left_cid = new (Z) LoadClassIdInstr(new (Z) Value(left));
+    InsertBefore(call, left_cid, NULL, FlowGraph::kValue);
     const intptr_t type_cid = Class::Handle(Z, type.type_class()).id();
     ConstantInstr* cid =
         flow_graph()->GetConstant(Smi::Handle(Z, Smi::New(type_cid)));
 
-    StrictCompareInstr* check_cid =
-        new(Z) StrictCompareInstr(
-            call->token_pos(),
-            negate ? Token::kNE_STRICT : Token::kEQ_STRICT,
-            new(Z) Value(left_cid),
-            new(Z) Value(cid),
-            false);  // No number check.
+    StrictCompareInstr* check_cid = new (Z) StrictCompareInstr(
+        call->token_pos(), negate ? Token::kNE_STRICT : Token::kEQ_STRICT,
+        new (Z) Value(left_cid), new (Z) Value(cid),
+        false);  // No number check.
     ReplaceCall(call, check_cid);
     return;
   }
 
-  InstanceOfInstr* instance_of =
-      new(Z) InstanceOfInstr(call->token_pos(),
-                             new(Z) Value(left),
-                             new(Z) Value(type_args),
-                             type,
-                             negate,
-                             call->deopt_id());
+  InstanceOfInstr* instance_of = new (Z)
+      InstanceOfInstr(call->token_pos(), new (Z) Value(left),
+                      new (Z) Value(type_args), type, negate, call->deopt_id());
   ReplaceCall(call, instance_of);
 }
 
@@ -1601,9 +1473,9 @@
   if ((unary_checks.NumberOfChecks() > 0) &&
       (unary_checks.NumberOfChecks() <= FLAG_max_polymorphic_checks)) {
     ZoneGrowableArray<intptr_t>* results =
-        new(Z) ZoneGrowableArray<intptr_t>(unary_checks.NumberOfChecks() * 2);
-    const Bool& as_bool = Bool::ZoneHandle(Z,
-        InstanceOfAsBool(unary_checks, type, results));
+        new (Z) ZoneGrowableArray<intptr_t>(unary_checks.NumberOfChecks() * 2);
+    const Bool& as_bool =
+        Bool::ZoneHandle(Z, InstanceOfAsBool(unary_checks, type, results));
     if (as_bool.raw() == Bool::True().raw()) {
       AddReceiverCheck(call);
       // Remove the original push arguments.
@@ -1619,13 +1491,9 @@
       return;
     }
   }
-  AssertAssignableInstr* assert_as =
-      new(Z) AssertAssignableInstr(call->token_pos(),
-                                   new(Z) Value(left),
-                                   new(Z) Value(type_args),
-                                   type,
-                                   Symbols::InTypeCast(),
-                                   call->deopt_id());
+  AssertAssignableInstr* assert_as = new (Z) AssertAssignableInstr(
+      call->token_pos(), new (Z) Value(left), new (Z) Value(type_args), type,
+      Symbols::InTypeCast(), call->deopt_id());
   ReplaceCall(call, assert_as);
 }
 
@@ -1654,10 +1522,9 @@
 
   const bool is_dense = CheckClassInstr::IsDenseCidRange(unary_checks);
   const intptr_t max_checks = (op_kind == Token::kEQ)
-      ? FLAG_max_equality_polymorphic_checks
-      : FLAG_max_polymorphic_checks;
-  if ((unary_checks.NumberOfChecks() > max_checks) &&
-      !is_dense &&
+                                  ? FLAG_max_equality_polymorphic_checks
+                                  : FLAG_max_polymorphic_checks;
+  if ((unary_checks.NumberOfChecks() > max_checks) && !is_dense &&
       flow_graph()->InstanceCallNeedsClassCheck(
           instr, RawFunction::kRegularFunction)) {
     // Too many checks, it will be megamorphic which needs unary checks.
@@ -1705,12 +1572,10 @@
   if (has_one_target) {
     // Check if the single target is a polymorphic target, if it is,
     // we don't have one target.
-    const Function& target =
-        Function::Handle(Z, unary_checks.GetTargetAt(0));
+    const Function& target = Function::Handle(Z, unary_checks.GetTargetAt(0));
     if (target.recognized_kind() == MethodRecognizer::kObjectRuntimeType) {
-      has_one_target =
-          PolymorphicInstanceCallInstr::ComputeRuntimeType(unary_checks) !=
-              Type::null();
+      has_one_target = PolymorphicInstanceCallInstr::ComputeRuntimeType(
+                           unary_checks) != Type::null();
     } else {
       const bool polymorphic_target =
           MethodRecognizer::PolymorphicTarget(target);
@@ -1723,9 +1588,9 @@
     const RawFunction::Kind function_kind = target.kind();
     if (!flow_graph()->InstanceCallNeedsClassCheck(instr, function_kind)) {
       PolymorphicInstanceCallInstr* call =
-          new(Z) PolymorphicInstanceCallInstr(instr, unary_checks,
-                                              /* call_with_checks = */ false,
-                                              /* complete = */ false);
+          new (Z) PolymorphicInstanceCallInstr(instr, unary_checks,
+                                               /* call_with_checks = */ false,
+                                               /* complete = */ false);
       instr->ReplaceWith(call, current_iterator());
       return;
     }
@@ -1742,10 +1607,9 @@
     } else {
       call_with_checks = true;
     }
-    PolymorphicInstanceCallInstr* call =
-        new(Z) PolymorphicInstanceCallInstr(instr, unary_checks,
-                                            call_with_checks,
-                                            /* complete = */ false);
+    PolymorphicInstanceCallInstr* call = new (Z)
+        PolymorphicInstanceCallInstr(instr, unary_checks, call_with_checks,
+                                     /* complete = */ false);
     instr->ReplaceWith(call, current_iterator());
   }
 }
@@ -1783,37 +1647,27 @@
     case MethodRecognizer::kMathMax: {
       // We can handle only monomorphic min/max call sites with both arguments
       // being either doubles or smis.
-      if (CanUnboxDouble() &&
-          call->HasICData() &&
+      if (CanUnboxDouble() && call->HasICData() &&
           (call->ic_data()->NumberOfChecks() == 1)) {
         const ICData& ic_data = *call->ic_data();
         intptr_t result_cid = kIllegalCid;
-        if (ICDataHasReceiverArgumentClassIds(ic_data,
-                                              kDoubleCid, kDoubleCid)) {
+        if (ICDataHasReceiverArgumentClassIds(ic_data, kDoubleCid,
+                                              kDoubleCid)) {
           result_cid = kDoubleCid;
-        } else if (ICDataHasReceiverArgumentClassIds(ic_data,
-                                                     kSmiCid, kSmiCid)) {
+        } else if (ICDataHasReceiverArgumentClassIds(ic_data, kSmiCid,
+                                                     kSmiCid)) {
           result_cid = kSmiCid;
         }
         if (result_cid != kIllegalCid) {
-          MathMinMaxInstr* min_max = new(Z) MathMinMaxInstr(
-              recognized_kind,
-              new(Z) Value(call->ArgumentAt(0)),
-              new(Z) Value(call->ArgumentAt(1)),
-              call->deopt_id(),
-              result_cid);
+          MathMinMaxInstr* min_max = new (Z) MathMinMaxInstr(
+              recognized_kind, new (Z) Value(call->ArgumentAt(0)),
+              new (Z) Value(call->ArgumentAt(1)), call->deopt_id(), result_cid);
           const ICData& unary_checks =
               ICData::ZoneHandle(Z, ic_data.AsUnaryClassChecks());
-          AddCheckClass(min_max->left()->definition(),
-                        unary_checks,
-                        call->deopt_id(),
-                        call->env(),
-                        call);
-          AddCheckClass(min_max->right()->definition(),
-                        unary_checks,
-                        call->deopt_id(),
-                        call->env(),
-                        call);
+          AddCheckClass(min_max->left()->definition(), unary_checks,
+                        call->deopt_id(), call->env(), call);
+          AddCheckClass(min_max->right()->definition(), unary_checks,
+                        call->deopt_id(), call->env(), call);
           ReplaceCall(call, min_max);
         }
       }
@@ -1827,15 +1681,13 @@
           if (ArgIsAlways(kSmiCid, ic_data, 1)) {
             Definition* arg = call->ArgumentAt(1);
             AddCheckSmi(arg, call->deopt_id(), call->env(), call);
-            ReplaceCall(call,
-                        new(Z) SmiToDoubleInstr(new(Z) Value(arg),
-                                                call->token_pos()));
+            ReplaceCall(call, new (Z) SmiToDoubleInstr(new (Z) Value(arg),
+                                                       call->token_pos()));
           } else if (ArgIsAlways(kMintCid, ic_data, 1) &&
                      CanConvertUnboxedMintToDouble()) {
             Definition* arg = call->ArgumentAt(1);
-            ReplaceCall(call,
-                        new(Z) MintToDoubleInstr(new(Z) Value(arg),
-                                                 call->deopt_id()));
+            ReplaceCall(call, new (Z) MintToDoubleInstr(new (Z) Value(arg),
+                                                        call->deopt_id()));
           }
         }
       }
@@ -1847,8 +1699,7 @@
 }
 
 
-void JitOptimizer::VisitStoreInstanceField(
-    StoreInstanceFieldInstr* instr) {
+void JitOptimizer::VisitStoreInstanceField(StoreInstanceFieldInstr* instr) {
   if (instr->IsUnboxedStore()) {
     // Determine if this field should be unboxed based on the usage of getter
     // and setter functions: The heuristic requires that the setter has a
@@ -1868,7 +1719,7 @@
         unboxed_field = true;
       } else if ((setter.usage_counter() > 0) &&
                  ((FLAG_getter_setter_ratio * setter.usage_counter()) >=
-                   getter.usage_counter())) {
+                  getter.usage_counter())) {
         unboxed_field = true;
       }
     }
@@ -1879,8 +1730,8 @@
       // - deoptimize dependent code.
       if (Compiler::IsBackgroundCompilation()) {
         isolate()->AddDeoptimizingBoxedField(field);
-        Compiler::AbortBackgroundCompilation(Thread::kNoDeoptId,
-            "Unboxing instance field while compiling");
+        Compiler::AbortBackgroundCompilation(
+            Thread::kNoDeoptId, "Unboxing instance field while compiling");
         UNREACHABLE();
       }
       if (FLAG_trace_optimization || FLAG_trace_field_guards) {
@@ -1910,24 +1761,20 @@
                                             instr->num_context_variables());
   instr->ReplaceWith(replacement, current_iterator());
 
-  StoreInstanceFieldInstr* store =
-      new(Z) StoreInstanceFieldInstr(Context::parent_offset(),
-                                     new Value(replacement),
-                                     new Value(flow_graph_->constant_null()),
-                                     kNoStoreBarrier,
-                                     instr->token_pos());
+  StoreInstanceFieldInstr* store = new (Z)
+      StoreInstanceFieldInstr(Context::parent_offset(), new Value(replacement),
+                              new Value(flow_graph_->constant_null()),
+                              kNoStoreBarrier, instr->token_pos());
   // Storing into uninitialized memory; remember to prevent dead store
   // elimination and ensure proper GC barrier.
   store->set_is_initialization(true);
   flow_graph_->InsertAfter(replacement, store, NULL, FlowGraph::kEffect);
   Definition* cursor = store;
   for (intptr_t i = 0; i < instr->num_context_variables(); ++i) {
-    store =
-        new(Z) StoreInstanceFieldInstr(Context::variable_offset(i),
-                                       new Value(replacement),
-                                       new Value(flow_graph_->constant_null()),
-                                       kNoStoreBarrier,
-                                       instr->token_pos());
+    store = new (Z) StoreInstanceFieldInstr(
+        Context::variable_offset(i), new Value(replacement),
+        new Value(flow_graph_->constant_null()), kNoStoreBarrier,
+        instr->token_pos());
     // Storing into uninitialized memory; remember to prevent dead store
     // elimination and ensure proper GC barrier.
     store->set_is_initialization(true);
@@ -1938,10 +1785,9 @@
 
 
 void JitOptimizer::VisitLoadCodeUnits(LoadCodeUnitsInstr* instr) {
-  // TODO(zerny): Use kUnboxedUint32 once it is fully supported/optimized.
+// TODO(zerny): Use kUnboxedUint32 once it is fully supported/optimized.
 #if defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_ARM)
-  if (!instr->can_pack_into_smi())
-    instr->set_representation(kUnboxedMint);
+  if (!instr->can_pack_into_smi()) instr->set_representation(kUnboxedMint);
 #endif
 }
 
@@ -1949,7 +1795,7 @@
 bool JitOptimizer::TryInlineInstanceSetter(InstanceCallInstr* instr,
                                            const ICData& unary_ic_data) {
   ASSERT((unary_ic_data.NumberOfChecks() > 0) &&
-      (unary_ic_data.NumArgsTested() == 1));
+         (unary_ic_data.NumArgsTested() == 1));
   if (I->type_checks()) {
     // Checked mode setters are inlined like normal methods by conventional
     // inlining.
@@ -1976,43 +1822,34 @@
   // Inline implicit instance setter.
   const String& field_name =
       String::Handle(Z, Field::NameFromSetter(instr->function_name()));
-  const Field& field =
-      Field::ZoneHandle(Z, GetField(class_id, field_name));
+  const Field& field = Field::ZoneHandle(Z, GetField(class_id, field_name));
   ASSERT(!field.IsNull());
 
-  if (flow_graph()->InstanceCallNeedsClassCheck(
-          instr, RawFunction::kImplicitSetter)) {
+  if (flow_graph()->InstanceCallNeedsClassCheck(instr,
+                                                RawFunction::kImplicitSetter)) {
     AddReceiverCheck(instr);
   }
   if (field.guarded_cid() != kDynamicCid) {
     ASSERT(FLAG_use_field_guards);
-    InsertBefore(instr,
-                 new(Z) GuardFieldClassInstr(
-                     new(Z) Value(instr->ArgumentAt(1)),
-                      field,
-                      instr->deopt_id()),
-                 instr->env(),
-                 FlowGraph::kEffect);
+    InsertBefore(
+        instr, new (Z) GuardFieldClassInstr(new (Z) Value(instr->ArgumentAt(1)),
+                                            field, instr->deopt_id()),
+        instr->env(), FlowGraph::kEffect);
   }
 
   if (field.needs_length_check()) {
     ASSERT(FLAG_use_field_guards);
-    InsertBefore(instr,
-                 new(Z) GuardFieldLengthInstr(
-                     new(Z) Value(instr->ArgumentAt(1)),
-                      field,
-                      instr->deopt_id()),
-                 instr->env(),
-                 FlowGraph::kEffect);
+    InsertBefore(instr, new (Z) GuardFieldLengthInstr(
+                            new (Z) Value(instr->ArgumentAt(1)), field,
+                            instr->deopt_id()),
+                 instr->env(), FlowGraph::kEffect);
   }
 
   // Field guard was detached.
-  StoreInstanceFieldInstr* store = new(Z) StoreInstanceFieldInstr(
-      field,
-      new(Z) Value(instr->ArgumentAt(0)),
-      new(Z) Value(instr->ArgumentAt(1)),
-      kEmitStoreBarrier,
-      instr->token_pos());
+  StoreInstanceFieldInstr* store = new (Z)
+      StoreInstanceFieldInstr(field, new (Z) Value(instr->ArgumentAt(0)),
+                              new (Z) Value(instr->ArgumentAt(1)),
+                              kEmitStoreBarrier, instr->token_pos());
 
   if (store->IsUnboxedStore()) {
     flow_graph()->parsed_function().AddToGuardedFields(&field);
diff --git a/runtime/vm/jit_optimizer.h b/runtime/vm/jit_optimizer.h
index 462c1df..cc6ac93 100644
--- a/runtime/vm/jit_optimizer.h
+++ b/runtime/vm/jit_optimizer.h
@@ -11,14 +11,15 @@
 namespace dart {
 
 class CSEInstructionMap;
-template <typename T> class GrowableArray;
+template <typename T>
+class GrowableArray;
 class ParsedFunction;
 
 class JitOptimizer : public FlowGraphVisitor {
  public:
   explicit JitOptimizer(FlowGraph* flow_graph)
       : FlowGraphVisitor(flow_graph->reverse_postorder()),
-        flow_graph_(flow_graph) { }
+        flow_graph_(flow_graph) {}
 
   virtual ~JitOptimizer() {}
 
@@ -101,12 +102,9 @@
   bool InstanceCallNeedsClassCheck(InstanceCallInstr* call,
                                    RawFunction::Kind kind) const;
 
-  bool InlineFloat32x4BinaryOp(InstanceCallInstr* call,
-                               Token::Kind op_kind);
-  bool InlineInt32x4BinaryOp(InstanceCallInstr* call,
-                              Token::Kind op_kind);
-  bool InlineFloat64x2BinaryOp(InstanceCallInstr* call,
-                               Token::Kind op_kind);
+  bool InlineFloat32x4BinaryOp(InstanceCallInstr* call, Token::Kind op_kind);
+  bool InlineInt32x4BinaryOp(InstanceCallInstr* call, Token::Kind op_kind);
+  bool InlineFloat64x2BinaryOp(InstanceCallInstr* call, Token::Kind op_kind);
   bool InlineImplicitInstanceGetter(InstanceCallInstr* call);
 
   RawBool* InstanceOfAsBool(const ICData& ic_data,
diff --git a/runtime/vm/json_stream.cc b/runtime/vm/json_stream.cc
index e26c915..8310e70 100644
--- a/runtime/vm/json_stream.cc
+++ b/runtime/vm/json_stream.cc
@@ -65,8 +65,7 @@
 }
 
 
-JSONStream::~JSONStream() {
-}
+JSONStream::~JSONStream() {}
 
 
 void JSONStream::Setup(Zone* zone,
@@ -168,8 +167,7 @@
 }
 
 
-void JSONStream::PrintError(intptr_t code,
-                            const char* details_format, ...) {
+void JSONStream::PrintError(intptr_t code, const char* details_format, ...) {
   SetupError();
   JSONObject jsobj(this);
   jsobj.AddProperty("code", code);
@@ -196,8 +194,8 @@
 
 
 void JSONStream::PostNullReply(Dart_Port port) {
-  PortMap::PostMessage(new Message(
-      port, Object::null(), Message::kNormalPriority));
+  PortMap::PostMessage(
+      new Message(port, Object::null(), Message::kNormalPriority));
 }
 
 
@@ -262,11 +260,13 @@
     const char* isolate_name = isolate->name();
     int64_t total_time = OS::GetCurrentTimeMicros() - setup_time_micros_;
     if (result) {
-      OS::Print("[+%" Pd64 "ms] Isolate %s processed service request %s "
+      OS::Print("[+%" Pd64
+                "ms] Isolate %s processed service request %s "
                 "(%" Pd64 "us)\n",
                 Dart::timestamp(), isolate_name, method_, total_time);
     } else {
-      OS::Print("[+%" Pd64 "ms] Isolate %s processed service request %s "
+      OS::Print("[+%" Pd64
+                "ms] Isolate %s processed service request %s "
                 "(%" Pd64 "us) FAILED\n",
                 Dart::timestamp(), isolate_name, method_, total_time);
     }
@@ -417,7 +417,7 @@
 
 
 static const char base64_digits[65] =
-  "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
 static const char base64_pad = '=';
 
 
@@ -484,9 +484,9 @@
   va_start(args, format);
   intptr_t len = OS::VSNPrint(NULL, 0, format, args);
   va_end(args);
-  char* p = reinterpret_cast<char*>(malloc(len+1));
+  char* p = reinterpret_cast<char*>(malloc(len + 1));
   va_start(args, format);
-  intptr_t len2 = OS::VSNPrint(p, len+1, format, args);
+  intptr_t len2 = OS::VSNPrint(p, len + 1, format, args);
   va_end(args);
   ASSERT(len == len2);
   buffer_.AddChar('"');
@@ -681,9 +681,9 @@
   va_start(args, format);
   intptr_t len = OS::VSNPrint(NULL, 0, format, args);
   va_end(args);
-  char* p = reinterpret_cast<char*>(malloc(len+1));
+  char* p = reinterpret_cast<char*>(malloc(len + 1));
   va_start(args, format);
-  intptr_t len2 = OS::VSNPrint(p, len+1, format, args);
+  intptr_t len2 = OS::VSNPrint(p, len + 1, format, args);
   va_end(args);
   ASSERT(len == len2);
   buffer_.AddChar('"');
@@ -786,7 +786,7 @@
   if (length == 0) {
     return false;
   }
-  char ch = buffer[length-1];
+  char ch = buffer[length - 1];
   return (ch != '[') && (ch != '{') && (ch != ':') && (ch != ',');
 }
 
@@ -794,8 +794,10 @@
 void JSONStream::EnsureIntegerIsRepresentableInJavaScript(int64_t i) {
 #ifdef DEBUG
   if (!Utils::IsJavascriptInt(i)) {
-    OS::Print("JSONStream::EnsureIntegerIsRepresentableInJavaScript failed on "
-              "%" Pd64 "\n", i);
+    OS::Print(
+        "JSONStream::EnsureIntegerIsRepresentableInJavaScript failed on "
+        "%" Pd64 "\n",
+        i);
     UNREACHABLE();
   }
 #endif
@@ -817,7 +819,7 @@
   }
   const uint8_t* s8 = reinterpret_cast<const uint8_t*>(s);
   intptr_t i = 0;
-  for (; i < len; ) {
+  for (; i < len;) {
     // Extract next UTF8 character.
     int32_t ch = 0;
     int32_t ch_len = Utf8::Decode(&s8[i], len - i, &ch);
@@ -850,7 +852,7 @@
       if (i + 1 == limit) {
         buffer_.EscapeAndAddUTF16CodeUnit(code_unit);
       } else {
-        uint16_t next_code_unit = s.CharAt(i+1);
+        uint16_t next_code_unit = s.CharAt(i + 1);
         if (Utf16::IsTrailSurrogate(next_code_unit)) {
           uint32_t decoded = Utf16::Decode(code_unit, next_code_unit);
           buffer_.EscapeAndAddCodeUnit(decoded);
@@ -882,9 +884,9 @@
   va_start(args, format);
   intptr_t len = OS::VSNPrint(NULL, 0, format, args);
   va_end(args);
-  char* p = reinterpret_cast<char*>(malloc(len+1));
+  char* p = reinterpret_cast<char*>(malloc(len + 1));
   va_start(args, format);
-  intptr_t len2 = OS::VSNPrint(p, len+1, format, args);
+  intptr_t len2 = OS::VSNPrint(p, len + 1, format, args);
   va_end(args);
   ASSERT(len == len2);
   stream_->buffer_.AddChar('"');
@@ -941,8 +943,7 @@
     // This unresolved breakpoint was specified at a particular line.
     location.AddProperty("line", bpt_loc->requested_line_number());
     if (bpt_loc->requested_column_number() >= 0) {
-      location.AddProperty("column",
-                           bpt_loc->requested_column_number());
+      location.AddProperty("column", bpt_loc->requested_column_number());
     }
   } else {
     // This unresolved breakpoint was requested at some function entry.
@@ -951,16 +952,15 @@
 }
 
 
-void JSONObject::AddPropertyF(const char* name,
-                              const char* format, ...) const {
+void JSONObject::AddPropertyF(const char* name, const char* format, ...) const {
   stream_->PrintPropertyName(name);
   va_list args;
   va_start(args, format);
   intptr_t len = OS::VSNPrint(NULL, 0, format, args);
   va_end(args);
-  char* p = reinterpret_cast<char*>(malloc(len+1));
+  char* p = reinterpret_cast<char*>(malloc(len + 1));
   va_start(args, format);
-  intptr_t len2 = OS::VSNPrint(p, len+1, format, args);
+  intptr_t len2 = OS::VSNPrint(p, len + 1, format, args);
   va_end(args);
   ASSERT(len == len2);
   stream_->buffer_.AddChar('"');
@@ -976,9 +976,9 @@
   va_start(args, format);
   intptr_t len = OS::VSNPrint(NULL, 0, format, args);
   va_end(args);
-  char* p = reinterpret_cast<char*>(malloc(len+1));
+  char* p = reinterpret_cast<char*>(malloc(len + 1));
   va_start(args, format);
-  intptr_t len2 = OS::VSNPrint(p, len+1, format, args);
+  intptr_t len2 = OS::VSNPrint(p, len + 1, format, args);
   va_end(args);
   ASSERT(len == len2);
   stream_->buffer_.AddChar('"');
diff --git a/runtime/vm/json_stream.h b/runtime/vm/json_stream.h
index 17daf88..b54bfb2 100644
--- a/runtime/vm/json_stream.h
+++ b/runtime/vm/json_stream.h
@@ -39,28 +39,28 @@
 //  - runtime/observatory/lib/src/service/object.dart
 //
 enum JSONRpcErrorCode {
-  kParseError     = -32700,
+  kParseError = -32700,
   kInvalidRequest = -32600,
   kMethodNotFound = -32601,
-  kInvalidParams  = -32602,
-  kInternalError  = -32603,
+  kInvalidParams = -32602,
+  kInternalError = -32603,
 
   kExtensionError = -32000,
 
-  kFeatureDisabled           = 100,
-  kCannotAddBreakpoint       = 102,
-  kStreamAlreadySubscribed   = 103,
-  kStreamNotSubscribed       = 104,
-  kIsolateMustBeRunnable     = 105,
-  kIsolateMustBePaused       = 106,
+  kFeatureDisabled = 100,
+  kCannotAddBreakpoint = 102,
+  kStreamAlreadySubscribed = 103,
+  kStreamNotSubscribed = 104,
+  kIsolateMustBeRunnable = 105,
+  kIsolateMustBePaused = 106,
 
   // Experimental (used in private rpcs).
-  kIsolateIsReloading        = 1000,
-  kFileSystemAlreadyExists   = 1001,
-  kFileSystemDoesNotExist    = 1002,
-  kFileDoesNotExist          = 1003,
-  kIsolateReloadFailed       = 1004,
-  kIsolateReloadBarred       = 1005,
+  kIsolateIsReloading = 1000,
+  kFileSystemAlreadyExists = 1001,
+  kFileSystemDoesNotExist = 1002,
+  kFileDoesNotExist = 1003,
+  kIsolateReloadFailed = 1004,
+  kIsolateReloadBarred = 1005,
 };
 
 // Expected that user_data is a JSONStream*.
@@ -88,12 +88,8 @@
 
   void PostReply();
 
-  void set_id_zone(ServiceIdZone* id_zone) {
-    id_zone_ = id_zone;
-  }
-  ServiceIdZone* id_zone() {
-    return id_zone_;
-  }
+  void set_id_zone(ServiceIdZone* id_zone) { id_zone_ = id_zone; }
+  ServiceIdZone* id_zone() { return id_zone_; }
 
   TextBuffer* buffer() { return &buffer_; }
   const char* ToCString() { return buffer_.buf(); }
@@ -102,7 +98,8 @@
 
   void set_reply_port(Dart_Port port);
 
-  void SetParams(const char** param_keys, const char** param_values,
+  void SetParams(const char** param_keys,
+                 const char** param_values,
                  intptr_t num_params);
 
   Dart_Port reply_port() const { return reply_port_; }
@@ -113,12 +110,8 @@
   RawObject* LookupObjectParam(const char* key) const;
 
   intptr_t num_params() const { return num_params_; }
-  const char* GetParamKey(intptr_t i) const {
-    return param_keys_[i];
-  }
-  const char* GetParamValue(intptr_t i) const {
-    return param_values_[i];
-  }
+  const char* GetParamKey(intptr_t i) const { return param_keys_[i]; }
+  const char* GetParamValue(intptr_t i) const { return param_values_[i]; }
 
   const char* LookupParam(const char* key) const;
 
@@ -152,8 +145,7 @@
   void PrintCommaIfNeeded();
 
   // Append |buffer| to the stream.
-  void AppendSerializedObject(const uint8_t* buffer,
-                              intptr_t buffer_length);
+  void AppendSerializedObject(const uint8_t* buffer, intptr_t buffer_length);
 
   // Append |serialized_object| to the stream with |property_name|.
   void AppendSerializedObject(const char* property_name,
@@ -204,11 +196,13 @@
                            const uint8_t* bytes,
                            intptr_t length);
   void PrintProperty(const char* name, const char* s);
-  bool PrintPropertyStr(const char* name, const String& s,
-                        intptr_t offset, intptr_t count);
+  bool PrintPropertyStr(const char* name,
+                        const String& s,
+                        intptr_t offset,
+                        intptr_t count);
   void PrintPropertyNoEscape(const char* name, const char* s);
   void PrintfProperty(const char* name, const char* format, ...)
-  PRINTF_ATTRIBUTE(3, 4);
+      PRINTF_ATTRIBUTE(3, 4);
   void PrintProperty(const char* name, const Object& o, bool ref = true);
 
   void PrintProperty(const char* name, const ServiceEvent* event);
@@ -265,13 +259,9 @@
   }
   explicit JSONObject(const JSONArray* arr);
 
-  ~JSONObject() {
-    stream_->CloseObject();
-  }
+  ~JSONObject() { stream_->CloseObject(); }
 
-  void AddServiceId(const Object& o) const {
-    stream_->PrintServiceId(o);
-  }
+  void AddServiceId(const Object& o) const { stream_->PrintServiceId(o); }
 
   void AddFixedServiceId(const char* format, ...) const PRINTF_ATTRIBUTE(2, 3);
 
@@ -375,9 +365,7 @@
   explicit JSONArray(const JSONArray* arr) : stream_(arr->stream_) {
     stream_->OpenArray();
   }
-  ~JSONArray() {
-    stream_->CloseArray();
-  }
+  ~JSONArray() { stream_->CloseArray(); }
 
   void AddValueNull() const { stream_->PrintValueNull(); }
   void AddValue(bool b) const { stream_->PrintValueBool(b); }
@@ -397,30 +385,18 @@
   void AddValue(Isolate* isolate, bool ref = true) const {
     stream_->PrintValue(isolate, ref);
   }
-  void AddValue(Breakpoint* bpt) const {
-    stream_->PrintValue(bpt);
-  }
-  void AddValue(TokenPosition tp) const {
-    stream_->PrintValue(tp);
-  }
-  void AddValue(const ServiceEvent* event) const {
-    stream_->PrintValue(event);
-  }
-  void AddValue(Metric* metric) const {
-    stream_->PrintValue(metric);
-  }
-  void AddValue(MessageQueue* queue) const {
-    stream_->PrintValue(queue);
-  }
+  void AddValue(Breakpoint* bpt) const { stream_->PrintValue(bpt); }
+  void AddValue(TokenPosition tp) const { stream_->PrintValue(tp); }
+  void AddValue(const ServiceEvent* event) const { stream_->PrintValue(event); }
+  void AddValue(Metric* metric) const { stream_->PrintValue(metric); }
+  void AddValue(MessageQueue* queue) const { stream_->PrintValue(queue); }
   void AddValue(const TimelineEvent* timeline_event) const {
     stream_->PrintValue(timeline_event);
   }
   void AddValue(const TimelineEventBlock* timeline_event_block) const {
     stream_->PrintValue(timeline_event_block);
   }
-  void AddValueVM(bool ref = true) const {
-    stream_->PrintValueVM(ref);
-  }
+  void AddValueVM(bool ref = true) const { stream_->PrintValueVM(ref); }
   void AddValueF(const char* format, ...) const PRINTF_ATTRIBUTE(2, 3);
 
  private:
diff --git a/runtime/vm/json_test.cc b/runtime/vm/json_test.cc
index a0b27c2..372ec2b 100644
--- a/runtime/vm/json_test.cc
+++ b/runtime/vm/json_test.cc
@@ -24,16 +24,12 @@
 TEST_CASE(JSON_JSONStream_Primitives) {
   {
     JSONStream js;
-    {
-      JSONObject jsobj(&js);
-    }
+    { JSONObject jsobj(&js); }
     EXPECT_STREQ("{}", js.ToCString());
   }
   {
     JSONStream js;
-    {
-      JSONArray jsarr(&js);
-    }
+    { JSONArray jsarr(&js); }
     EXPECT_STREQ("[]", js.ToCString());
   }
   {
@@ -183,24 +179,25 @@
   }
   char buffer[1024];
   ElideJSONSubstring("classes", js.ToCString(), buffer);
-  EXPECT_STREQ("[{\"type\":\"@Instance\","
-               "\"_vmType\":\"null\","
-               "\"class\":{\"type\":\"@Class\",\"fixedId\":true,\"id\":\"\","
-               "\"name\":\"Null\"},"
-               "\"kind\":\"Null\","
-               "\"fixedId\":true,"
-               "\"id\":\"objects\\/null\","
-               "\"valueAsString\":\"null\"},"
-               "{\"object_key\":"
-               "{\"type\":\"@Instance\","
-               "\"_vmType\":\"null\","
-               "\"class\":{\"type\":\"@Class\",\"fixedId\":true,\"id\":\"\","
-               "\"name\":\"Null\"},"
-               "\"kind\":\"Null\","
-               "\"fixedId\":true,"
-               "\"id\":\"objects\\/null\","
-               "\"valueAsString\":\"null\"}}]",
-               buffer);
+  EXPECT_STREQ(
+      "[{\"type\":\"@Instance\","
+      "\"_vmType\":\"null\","
+      "\"class\":{\"type\":\"@Class\",\"fixedId\":true,\"id\":\"\","
+      "\"name\":\"Null\"},"
+      "\"kind\":\"Null\","
+      "\"fixedId\":true,"
+      "\"id\":\"objects\\/null\","
+      "\"valueAsString\":\"null\"},"
+      "{\"object_key\":"
+      "{\"type\":\"@Instance\","
+      "\"_vmType\":\"null\","
+      "\"class\":{\"type\":\"@Class\",\"fixedId\":true,\"id\":\"\","
+      "\"name\":\"Null\"},"
+      "\"kind\":\"Null\","
+      "\"fixedId\":true,"
+      "\"id\":\"objects\\/null\","
+      "\"valueAsString\":\"null\"}}]",
+      buffer);
 }
 
 TEST_CASE(JSON_JSONStream_EscapedString) {
@@ -338,16 +335,13 @@
       const char* test_data = "{a, b, c},";
       AppendJSONStreamConsumer(Dart_StreamConsumer_kData, "",
                                reinterpret_cast<const uint8_t*>(&test_data[0]),
-                               strlen(test_data),
-                               &js);
+                               strlen(test_data), &js);
       AppendJSONStreamConsumer(Dart_StreamConsumer_kData, "",
                                reinterpret_cast<const uint8_t*>(&test_data[0]),
-                               strlen(test_data),
-                               &js);
+                               strlen(test_data), &js);
       AppendJSONStreamConsumer(Dart_StreamConsumer_kData, "",
                                reinterpret_cast<const uint8_t*>(&test_data[0]),
-                               strlen(test_data) - 1,
-                               &js);
+                               strlen(test_data) - 1, &js);
     }
   }
 
diff --git a/runtime/vm/kernel.cc b/runtime/vm/kernel.cc
index 340b60d..d632349 100644
--- a/runtime/vm/kernel.cc
+++ b/runtime/vm/kernel.cc
@@ -23,7 +23,9 @@
 TreeNode::~TreeNode() {}
 
 
-void TreeNode::AcceptVisitor(Visitor* visitor) { AcceptTreeVisitor(visitor); }
+void TreeNode::AcceptVisitor(Visitor* visitor) {
+  AcceptTreeVisitor(visitor);
+}
 
 
 Library::~Library() {}
@@ -1072,7 +1074,9 @@
 Name::~Name() {}
 
 
-void Name::AcceptVisitor(Visitor* visitor) { visitor->VisitName(this); }
+void Name::AcceptVisitor(Visitor* visitor) {
+  visitor->VisitName(this);
+}
 
 
 void Name::VisitChildren(Visitor* visitor) {}
diff --git a/runtime/vm/kernel.h b/runtime/vm/kernel.h
index 5133ce9..09e9f709 100644
--- a/runtime/vm/kernel.h
+++ b/runtime/vm/kernel.h
@@ -9,116 +9,116 @@
 #include "vm/allocation.h"
 #include "vm/globals.h"
 
-#define KERNEL_NODES_DO(M) \
-  M(Name)                  \
-  M(InferredValue)         \
-  M(DartType)              \
-  M(InvalidType)           \
-  M(DynamicType)           \
-  M(VoidType)              \
-  M(InterfaceType)         \
-  M(FunctionType)          \
+#define KERNEL_NODES_DO(M)                                                     \
+  M(Name)                                                                      \
+  M(InferredValue)                                                             \
+  M(DartType)                                                                  \
+  M(InvalidType)                                                               \
+  M(DynamicType)                                                               \
+  M(VoidType)                                                                  \
+  M(InterfaceType)                                                             \
+  M(FunctionType)                                                              \
   M(TypeParameterType)
 
-#define KERNEL_TREE_NODES_DO(M) \
-  M(Library)                    \
-  M(Class)                      \
-  M(NormalClass)                \
-  M(MixinClass)                 \
-  M(Member)                     \
-  M(Field)                      \
-  M(Constructor)                \
-  M(Procedure)                  \
-  M(Initializer)                \
-  M(InvalidInitializer)         \
-  M(FieldInitializer)           \
-  M(SuperInitializer)           \
-  M(RedirectingInitializer)     \
-  M(LocalInitializer)           \
-  M(FunctionNode)               \
-  M(Expression)                 \
-  M(InvalidExpression)          \
-  M(VariableGet)                \
-  M(VariableSet)                \
-  M(PropertyGet)                \
-  M(PropertySet)                \
-  M(DirectPropertyGet)          \
-  M(DirectPropertySet)          \
-  M(StaticGet)                  \
-  M(StaticSet)                  \
-  M(Arguments)                  \
-  M(NamedExpression)            \
-  M(MethodInvocation)           \
-  M(DirectMethodInvocation)     \
-  M(StaticInvocation)           \
-  M(ConstructorInvocation)      \
-  M(Not)                        \
-  M(LogicalExpression)          \
-  M(ConditionalExpression)      \
-  M(StringConcatenation)        \
-  M(IsExpression)               \
-  M(AsExpression)               \
-  M(BasicLiteral)               \
-  M(StringLiteral)              \
-  M(BigintLiteral)              \
-  M(IntLiteral)                 \
-  M(DoubleLiteral)              \
-  M(BoolLiteral)                \
-  M(NullLiteral)                \
-  M(SymbolLiteral)              \
-  M(TypeLiteral)                \
-  M(ThisExpression)             \
-  M(Rethrow)                    \
-  M(Throw)                      \
-  M(ListLiteral)                \
-  M(MapLiteral)                 \
-  M(MapEntry)                   \
-  M(AwaitExpression)            \
-  M(FunctionExpression)         \
-  M(Let)                        \
-  M(BlockExpression)            \
-  M(Statement)                  \
-  M(InvalidStatement)           \
-  M(ExpressionStatement)        \
-  M(Block)                      \
-  M(EmptyStatement)             \
-  M(AssertStatement)            \
-  M(LabeledStatement)           \
-  M(BreakStatement)             \
-  M(WhileStatement)             \
-  M(DoStatement)                \
-  M(ForStatement)               \
-  M(ForInStatement)             \
-  M(SwitchStatement)            \
-  M(SwitchCase)                 \
-  M(ContinueSwitchStatement)    \
-  M(IfStatement)                \
-  M(ReturnStatement)            \
-  M(TryCatch)                   \
-  M(Catch)                      \
-  M(TryFinally)                 \
-  M(YieldStatement)             \
-  M(VariableDeclaration)        \
-  M(FunctionDeclaration)        \
-  M(TypeParameter)              \
+#define KERNEL_TREE_NODES_DO(M)                                                \
+  M(Library)                                                                   \
+  M(Class)                                                                     \
+  M(NormalClass)                                                               \
+  M(MixinClass)                                                                \
+  M(Member)                                                                    \
+  M(Field)                                                                     \
+  M(Constructor)                                                               \
+  M(Procedure)                                                                 \
+  M(Initializer)                                                               \
+  M(InvalidInitializer)                                                        \
+  M(FieldInitializer)                                                          \
+  M(SuperInitializer)                                                          \
+  M(RedirectingInitializer)                                                    \
+  M(LocalInitializer)                                                          \
+  M(FunctionNode)                                                              \
+  M(Expression)                                                                \
+  M(InvalidExpression)                                                         \
+  M(VariableGet)                                                               \
+  M(VariableSet)                                                               \
+  M(PropertyGet)                                                               \
+  M(PropertySet)                                                               \
+  M(DirectPropertyGet)                                                         \
+  M(DirectPropertySet)                                                         \
+  M(StaticGet)                                                                 \
+  M(StaticSet)                                                                 \
+  M(Arguments)                                                                 \
+  M(NamedExpression)                                                           \
+  M(MethodInvocation)                                                          \
+  M(DirectMethodInvocation)                                                    \
+  M(StaticInvocation)                                                          \
+  M(ConstructorInvocation)                                                     \
+  M(Not)                                                                       \
+  M(LogicalExpression)                                                         \
+  M(ConditionalExpression)                                                     \
+  M(StringConcatenation)                                                       \
+  M(IsExpression)                                                              \
+  M(AsExpression)                                                              \
+  M(BasicLiteral)                                                              \
+  M(StringLiteral)                                                             \
+  M(BigintLiteral)                                                             \
+  M(IntLiteral)                                                                \
+  M(DoubleLiteral)                                                             \
+  M(BoolLiteral)                                                               \
+  M(NullLiteral)                                                               \
+  M(SymbolLiteral)                                                             \
+  M(TypeLiteral)                                                               \
+  M(ThisExpression)                                                            \
+  M(Rethrow)                                                                   \
+  M(Throw)                                                                     \
+  M(ListLiteral)                                                               \
+  M(MapLiteral)                                                                \
+  M(MapEntry)                                                                  \
+  M(AwaitExpression)                                                           \
+  M(FunctionExpression)                                                        \
+  M(Let)                                                                       \
+  M(BlockExpression)                                                           \
+  M(Statement)                                                                 \
+  M(InvalidStatement)                                                          \
+  M(ExpressionStatement)                                                       \
+  M(Block)                                                                     \
+  M(EmptyStatement)                                                            \
+  M(AssertStatement)                                                           \
+  M(LabeledStatement)                                                          \
+  M(BreakStatement)                                                            \
+  M(WhileStatement)                                                            \
+  M(DoStatement)                                                               \
+  M(ForStatement)                                                              \
+  M(ForInStatement)                                                            \
+  M(SwitchStatement)                                                           \
+  M(SwitchCase)                                                                \
+  M(ContinueSwitchStatement)                                                   \
+  M(IfStatement)                                                               \
+  M(ReturnStatement)                                                           \
+  M(TryCatch)                                                                  \
+  M(Catch)                                                                     \
+  M(TryFinally)                                                                \
+  M(YieldStatement)                                                            \
+  M(VariableDeclaration)                                                       \
+  M(FunctionDeclaration)                                                       \
+  M(TypeParameter)                                                             \
   M(Program)
 
-#define KERNEL_ALL_NODES_DO(M) \
-  M(Node)                      \
-  KERNEL_NODES_DO(M)           \
-  M(TreeNode)                  \
+#define KERNEL_ALL_NODES_DO(M)                                                 \
+  M(Node)                                                                      \
+  KERNEL_NODES_DO(M)                                                           \
+  M(TreeNode)                                                                  \
   KERNEL_TREE_NODES_DO(M)
 
-#define KERNEL_VISITORS_DO(M) \
-  M(ExpressionVisitor)        \
-  M(StatementVisitor)         \
-  M(MemberVisitor)            \
-  M(ClassVisitor)             \
-  M(InitializerVisitor)       \
-  M(DartTypeVisitor)          \
-  M(ClassReferenceVisitor)    \
-  M(MemberReferenceVisitor)   \
-  M(TreeVisitor)              \
+#define KERNEL_VISITORS_DO(M)                                                  \
+  M(ExpressionVisitor)                                                         \
+  M(StatementVisitor)                                                          \
+  M(MemberVisitor)                                                             \
+  M(ClassVisitor)                                                              \
+  M(InitializerVisitor)                                                        \
+  M(DartTypeVisitor)                                                           \
+  M(ClassReferenceVisitor)                                                     \
+  M(MemberReferenceVisitor)                                                    \
+  M(TreeVisitor)                                                               \
   M(Visitor)
 
 namespace dart {
@@ -336,22 +336,22 @@
 #undef DO
 
 
-#define DEFINE_CASTING_OPERATIONS(klass)       \
-  virtual bool Is##klass() { return true; }    \
-                                               \
-  static klass* Cast(Node* node) {             \
-    ASSERT(node == NULL || node->Is##klass()); \
-    return static_cast<klass*>(node);          \
-  }                                            \
-                                               \
+#define DEFINE_CASTING_OPERATIONS(klass)                                       \
+  virtual bool Is##klass() { return true; }                                    \
+                                                                               \
+  static klass* Cast(Node* node) {                                             \
+    ASSERT(node == NULL || node->Is##klass());                                 \
+    return static_cast<klass*>(node);                                          \
+  }                                                                            \
+                                                                               \
   virtual Node::NodeType Type() { return Node::kType##klass; }
 
-#define DEFINE_IS_OPERATION(klass) \
+#define DEFINE_IS_OPERATION(klass)                                             \
   virtual bool Is##klass() { return false; }
 
-#define DEFINE_ALL_IS_OPERATIONS()     \
-  KERNEL_NODES_DO(DEFINE_IS_OPERATION) \
-  DEFINE_IS_OPERATION(TreeNode)        \
+#define DEFINE_ALL_IS_OPERATIONS()                                             \
+  KERNEL_NODES_DO(DEFINE_IS_OPERATION)                                         \
+  DEFINE_IS_OPERATION(TreeNode)                                                \
   KERNEL_TREE_NODES_DO(DEFINE_IS_OPERATION)
 
 
@@ -374,7 +374,7 @@
   virtual void VisitChildren(Visitor* visitor) = 0;
 
  protected:
-  Node() { }
+  Node() {}
 
  private:
   DISALLOW_COPY_AND_ASSIGN(Node);
@@ -591,7 +591,7 @@
   List<Expression>& annotations() { return annotations_; }
 
  protected:
-  Member() { }
+  Member() {}
 
   template <typename T>
   friend class List;
@@ -751,7 +751,7 @@
   virtual void AcceptInitializerVisitor(InitializerVisitor* visitor) = 0;
 
  protected:
-  Initializer() { }
+  Initializer() {}
 
  private:
   DISALLOW_COPY_AND_ASSIGN(Initializer);
@@ -770,7 +770,7 @@
   virtual void VisitChildren(Visitor* visitor);
 
  private:
-  InvalidInitializer() { }
+  InvalidInitializer() {}
 
   DISALLOW_COPY_AND_ASSIGN(InvalidInitializer);
 };
@@ -934,7 +934,7 @@
   virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor) = 0;
 
  protected:
-  Expression() { }
+  Expression() {}
 
  private:
   DISALLOW_COPY_AND_ASSIGN(Expression);
@@ -954,7 +954,7 @@
   virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
 
  private:
-  InvalidExpression() { }
+  InvalidExpression() {}
 
   DISALLOW_COPY_AND_ASSIGN(InvalidExpression);
 };
@@ -1280,7 +1280,8 @@
   static StaticInvocation* ReadFrom(Reader* reader, bool is_const);
   virtual void WriteTo(Writer* writer);
 
-  explicit StaticInvocation(Procedure* procedure, Arguments* args,
+  explicit StaticInvocation(Procedure* procedure,
+                            Arguments* args,
                             bool is_const)
       : procedure_(procedure), arguments_(args), is_const_(is_const) {}
   ~StaticInvocation();
@@ -1614,7 +1615,7 @@
   virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
 
  private:
-  NullLiteral() { }
+  NullLiteral() {}
 
   DISALLOW_COPY_AND_ASSIGN(NullLiteral);
 };
@@ -1679,7 +1680,7 @@
   virtual void VisitChildren(Visitor* visitor);
 
  private:
-  ThisExpression() { }
+  ThisExpression() {}
 
   DISALLOW_COPY_AND_ASSIGN(ThisExpression);
 };
@@ -1698,7 +1699,7 @@
   virtual void VisitChildren(Visitor* visitor);
 
  private:
-  Rethrow() { }
+  Rethrow() {}
 
   DISALLOW_COPY_AND_ASSIGN(Rethrow);
 };
@@ -1920,7 +1921,7 @@
   virtual void AcceptStatementVisitor(StatementVisitor* visitor) = 0;
 
  protected:
-  Statement() { }
+  Statement() {}
 
  private:
   DISALLOW_COPY_AND_ASSIGN(Statement);
@@ -1940,7 +1941,7 @@
   virtual void VisitChildren(Visitor* visitor);
 
  private:
-  InvalidStatement() { }
+  InvalidStatement() {}
 
   DISALLOW_COPY_AND_ASSIGN(InvalidStatement);
 };
@@ -2007,7 +2008,7 @@
   virtual void VisitChildren(Visitor* visitor);
 
  private:
-  EmptyStatement() { }
+  EmptyStatement() {}
 
   DISALLOW_COPY_AND_ASSIGN(EmptyStatement);
 };
@@ -2569,7 +2570,7 @@
   uint8_t value_bits() { return value_bits_; }
 
  private:
-  InferredValue() { }
+  InferredValue() {}
 
   Ref<Class> klass_;
   BaseClassKind kind_;
@@ -2592,7 +2593,7 @@
   virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor) = 0;
 
  protected:
-  DartType() { }
+  DartType() {}
 
  private:
   DISALLOW_COPY_AND_ASSIGN(DartType);
@@ -2612,7 +2613,7 @@
   virtual void VisitChildren(Visitor* visitor);
 
  private:
-  InvalidType() { }
+  InvalidType() {}
 
   DISALLOW_COPY_AND_ASSIGN(InvalidType);
 };
@@ -2631,7 +2632,7 @@
   virtual void VisitChildren(Visitor* visitor);
 
  private:
-  DynamicType() { }
+  DynamicType() {}
 
   DISALLOW_COPY_AND_ASSIGN(DynamicType);
 };
@@ -2650,7 +2651,7 @@
   virtual void VisitChildren(Visitor* visitor);
 
  private:
-  VoidType() { }
+  VoidType() {}
 
   DISALLOW_COPY_AND_ASSIGN(VoidType);
 };
@@ -2799,11 +2800,13 @@
 class Reference : public AllStatic {
  public:
   static Member* ReadMemberFrom(Reader* reader, bool allow_null = false);
-  static void WriteMemberTo(Writer* writer, Member* member,
+  static void WriteMemberTo(Writer* writer,
+                            Member* member,
                             bool allow_null = false);
 
   static Class* ReadClassFrom(Reader* reader, bool allow_null = false);
-  static void WriteClassTo(Writer* writer, Class* klass,
+  static void WriteClassTo(Writer* writer,
+                           Class* klass,
                            bool allow_null = false);
 
   static String* ReadStringFrom(Reader* reader);
diff --git a/runtime/vm/kernel_binary.cc b/runtime/vm/kernel_binary.cc
index 6cb8d36..aaf3333 100644
--- a/runtime/vm/kernel_binary.cc
+++ b/runtime/vm/kernel_binary.cc
@@ -11,13 +11,13 @@
 #include "vm/os.h"
 
 #if defined(DEBUG)
-#define TRACE_READ_OFFSET() do {               \
-    if (FLAG_trace_kernel_binary)              \
-      reader->DumpOffset(DART_PRETTY_FUNCTION); \
+#define TRACE_READ_OFFSET()                                                    \
+  do {                                                                         \
+    if (FLAG_trace_kernel_binary) reader->DumpOffset(DART_PRETTY_FUNCTION);    \
   } while (0)
-#define TRACE_WRITE_OFFSET() do {              \
-    if (FLAG_trace_kernel_binary)              \
-      writer->DumpOffset(DART_PRETTY_FUNCTION); \
+#define TRACE_WRITE_OFFSET()                                                   \
+  do {                                                                         \
+    if (FLAG_trace_kernel_binary) writer->DumpOffset(DART_PRETTY_FUNCTION);    \
   } while (0)
 #else
 #define TRACE_READ_OFFSET()
diff --git a/runtime/vm/kernel_reader.cc b/runtime/vm/kernel_reader.cc
index d9d7679..f9f2277 100644
--- a/runtime/vm/kernel_reader.cc
+++ b/runtime/vm/kernel_reader.cc
@@ -181,8 +181,9 @@
       Script::New(H.DartString(""), H.DartString(""), RawScript::kScriptTag));
   script.SetLocationOffset(0, 0);
   script.Tokenize(H.DartString("nop() {}"));
-  dart::Class& toplevel_class = dart::Class::Handle(Z, dart::Class::New(
-      library, Symbols::TopLevel(), script, TokenPosition::kNoSource));
+  dart::Class& toplevel_class = dart::Class::Handle(
+      Z, dart::Class::New(library, Symbols::TopLevel(), script,
+                          TokenPosition::kNoSource));
   toplevel_class.set_is_cycle_free();
   library.set_toplevel_class(toplevel_class);
   if (bootstrapping_) {
@@ -273,8 +274,8 @@
 
   // Set super type.  Some classes (e.g., Object) do not have one.
   if (kernel_normal_class->super_class() != NULL) {
-    AbstractType& super_type = T.TranslateTypeWithoutFinalization(
-        kernel_normal_class->super_class());
+    AbstractType& super_type =
+        T.TranslateTypeWithoutFinalization(kernel_normal_class->super_class());
     if (super_type.IsMalformed()) H.ReportError("Malformed super type");
     klass->set_super_type(super_type);
   }
@@ -527,7 +528,8 @@
                                            DartTypeTranslator type_translator,
                                            const dart::Class& klass,
                                            const dart::Function& function,
-                                           FunctionNode* node, bool is_method,
+                                           FunctionNode* node,
+                                           bool is_method,
                                            bool is_closure) {
   dart::Zone* zone = translation_helper.zone();
 
diff --git a/runtime/vm/kernel_reader.h b/runtime/vm/kernel_reader.h
index e6d9e55..23dc2e9 100644
--- a/runtime/vm/kernel_reader.h
+++ b/runtime/vm/kernel_reader.h
@@ -18,8 +18,10 @@
 
 class BuildingTranslationHelper : public TranslationHelper {
  public:
-  BuildingTranslationHelper(KernelReader* reader, dart::Thread* thread,
-                            dart::Zone* zone, Isolate* isolate)
+  BuildingTranslationHelper(KernelReader* reader,
+                            dart::Thread* thread,
+                            dart::Zone* zone,
+                            Isolate* isolate)
       : TranslationHelper(thread, zone, isolate), reader_(reader) {}
   virtual ~BuildingTranslationHelper() {}
 
@@ -72,7 +74,8 @@
                                       const dart::Class& owner,
                                       const dart::Function& function,
                                       FunctionNode* kernel_function,
-                                      bool is_method, bool is_closure);
+                                      bool is_method,
+                                      bool is_closure);
 
   void ReadLibrary(Library* kernel_library);
 
@@ -81,11 +84,14 @@
 
   void ReadPreliminaryClass(dart::Class* klass, Class* kernel_klass);
   void ReadClass(const dart::Library& library, Class* kernel_klass);
-  void ReadProcedure(const dart::Library& library, const dart::Class& owner,
-                     Procedure* procedure, Class* kernel_klass = NULL);
+  void ReadProcedure(const dart::Library& library,
+                     const dart::Class& owner,
+                     Procedure* procedure,
+                     Class* kernel_klass = NULL);
 
   void GenerateFieldAccessors(const dart::Class& klass,
-                              const dart::Field& field, Field* kernel_field);
+                              const dart::Field& field,
+                              Field* kernel_field);
 
   void SetupFieldAccessorFunction(const dart::Class& klass,
                                   const dart::Function& function);
diff --git a/runtime/vm/kernel_to_il.cc b/runtime/vm/kernel_to_il.cc
index 02f5437..46750fd 100644
--- a/runtime/vm/kernel_to_il.cc
+++ b/runtime/vm/kernel_to_il.cc
@@ -63,15 +63,15 @@
 }
 
 
-void ScopeBuilder::ExitScope() { scope_ = scope_->parent(); }
+void ScopeBuilder::ExitScope() {
+  scope_ = scope_->parent();
+}
 
 
 LocalVariable* ScopeBuilder::MakeVariable(const dart::String& name,
                                           const AbstractType& type) {
   return new (Z) LocalVariable(TokenPosition::kNoSource,
-                               TokenPosition::kNoSource,
-                               name,
-                               type);
+                               TokenPosition::kNoSource, name, type);
 }
 
 
@@ -89,9 +89,8 @@
 
 void ScopeBuilder::AddParameter(VariableDeclaration* declaration,
                                 intptr_t pos) {
-  LocalVariable* variable =
-      MakeVariable(H.DartSymbol(declaration->name()),
-                   T.TranslateVariableType(declaration));
+  LocalVariable* variable = MakeVariable(H.DartSymbol(declaration->name()),
+                                         T.TranslateVariableType(declaration));
   if (declaration->IsFinal()) {
     variable->set_is_final();
   }
@@ -108,7 +107,8 @@
 
 
 void ScopeBuilder::AddExceptionVariable(
-    GrowableArray<LocalVariable*>* variables, const char* prefix,
+    GrowableArray<LocalVariable*>* variables,
+    const char* prefix,
     intptr_t nesting_depth) {
   LocalVariable* v = NULL;
 
@@ -268,8 +268,8 @@
   Function& outermost_function = Function::Handle(Z);
   TreeNode* outermost_node = NULL;
   Class* kernel_klass = NULL;
-  DiscoverEnclosingElements(
-      Z, function, &outermost_function, &outermost_node, &kernel_klass);
+  DiscoverEnclosingElements(Z, function, &outermost_function, &outermost_node,
+                            &kernel_klass);
   // Use [klass]/[kernel_klass] as active class.  Type parameters will get
   // resolved via [kernel_klass] unless we are nested inside a static factory
   // in which case we will use [member].
@@ -313,9 +313,8 @@
 
       intptr_t pos = 0;
       if (function.IsClosureFunction()) {
-        LocalVariable* variable =
-            MakeVariable(Symbols::ClosureParameter(),
-                         AbstractType::dynamic_type());
+        LocalVariable* variable = MakeVariable(Symbols::ClosureParameter(),
+                                               AbstractType::dynamic_type());
         variable->set_is_forced_stack();
         scope_->InsertParameterAt(pos++, variable);
       } else if (!function.is_static()) {
@@ -343,8 +342,7 @@
         }
       } else if (function.IsFactory()) {
         LocalVariable* variable = MakeVariable(
-            Symbols::TypeArgumentsParameter(),
-            AbstractType::dynamic_type());
+            Symbols::TypeArgumentsParameter(), AbstractType::dynamic_type());
         scope_->InsertParameterAt(pos++, variable);
         result_->type_arguments_variable = variable;
       }
@@ -377,8 +375,8 @@
         result_->this_variable = variable;
       }
       if (is_setter) {
-        result_->setter_value = MakeVariable(
-            Symbols::Value(), AbstractType::dynamic_type());
+        result_->setter_value =
+            MakeVariable(Symbols::Value(), AbstractType::dynamic_type());
         scope_->InsertParameterAt(pos++, result_->setter_value);
       }
       break;
@@ -575,9 +573,8 @@
 
 void ScopeBuilder::AddSwitchVariable() {
   if ((depth_.function_ == 0) && (result_->switch_variable == NULL)) {
-    LocalVariable* variable = MakeVariable(
-        Symbols::SwitchExpr(),
-        AbstractType::dynamic_type());
+    LocalVariable* variable =
+        MakeVariable(Symbols::SwitchExpr(), AbstractType::dynamic_type());
     variable->set_is_forced_stack();
     current_function_scope_->AddVariable(variable);
     result_->switch_variable = variable;
@@ -595,9 +592,7 @@
   if ((depth_.function_ == 0) && (depth_.finally_ > 0) &&
       (result_->finally_return_variable == NULL)) {
     const dart::String& name = H.DartSymbol(":try_finally_return_value");
-    LocalVariable* variable = MakeVariable(
-        name,
-        AbstractType::dynamic_type());
+    LocalVariable* variable = MakeVariable(name, AbstractType::dynamic_type());
     current_function_scope_->AddVariable(variable);
     result_->finally_return_variable = variable;
   }
@@ -845,7 +840,8 @@
         // Finalizers are executed outside of the try block hence
         // try depth of finalizers are one less than current try
         // depth.
-        try_depth_(builder->try_depth_ - 1) {
+        try_depth_(builder->try_depth_ - 1),
+        try_index_(builder_->CurrentTryIndex()) {
     builder_->try_finally_block_ = this;
   }
   ~TryFinallyBlock() { builder_->try_finally_block_ = outer_; }
@@ -853,6 +849,7 @@
   Statement* finalizer() const { return finalizer_; }
   intptr_t context_depth() const { return context_depth_; }
   intptr_t try_depth() const { return try_depth_; }
+  intptr_t try_index() const { return try_index_; }
   TryFinallyBlock* outer() const { return outer_; }
 
  private:
@@ -861,6 +858,7 @@
   Statement* const finalizer_;
   const intptr_t context_depth_;
   const intptr_t try_depth_;
+  const intptr_t try_index_;
 };
 
 
@@ -876,7 +874,8 @@
   }
   ~TryCatchBlock() { builder_->try_catch_block_ = outer_; }
 
-  intptr_t TryIndex() { return try_index_; }
+  intptr_t try_index() { return try_index_; }
+  TryCatchBlock* outer() const { return outer_; }
 
  private:
   FlowGraphBuilder* builder_;
@@ -887,8 +886,10 @@
 
 class CatchBlock {
  public:
-  CatchBlock(FlowGraphBuilder* builder, LocalVariable* exception_var,
-             LocalVariable* stack_trace_var, intptr_t catch_try_index)
+  CatchBlock(FlowGraphBuilder* builder,
+             LocalVariable* exception_var,
+             LocalVariable* stack_trace_var,
+             intptr_t catch_try_index)
       : builder_(builder),
         outer_(builder->catch_block_),
         exception_var_(exception_var),
@@ -1032,8 +1033,9 @@
   if (content->buffer()[content->size() - 1] == '=') {
     skip = 1;
   }
-  dart::String& name = dart::String::ZoneHandle(Z, dart::String::FromUTF8(
-        content->buffer(), content->size() - skip, allocation_space_));
+  dart::String& name = dart::String::ZoneHandle(
+      Z, dart::String::FromUTF8(content->buffer(), content->size() - skip,
+                                allocation_space_));
   ManglePrivateName(kernel_name->library(), &name, false);
   name = dart::Field::SetterSymbol(name);
   return name;
@@ -1172,7 +1174,8 @@
 
 
 dart::RawFunction* TranslationHelper::LookupConstructorByKernelConstructor(
-    const dart::Class& owner, Constructor* constructor) {
+    const dart::Class& owner,
+    Constructor* constructor) {
   dart::RawFunction* function =
       owner.LookupConstructorAllowPrivate(DartConstructorName(constructor));
   ASSERT(function != Object::null());
@@ -1212,7 +1215,8 @@
 }
 
 
-void TranslationHelper::ReportError(const Error& prev_error, const char* format,
+void TranslationHelper::ReportError(const Error& prev_error,
+                                    const char* format,
                                     ...) {
   const Script& null_script = Script::Handle(Z);
 
@@ -1242,8 +1246,8 @@
 const Array& TranslationHelper::ArgumentNames(List<NamedExpression>* named) {
   if (named->length() == 0) return Array::ZoneHandle(Z);
 
-  const Array& names = Array::ZoneHandle(Z,
-      Array::New(named->length(), allocation_space_));
+  const Array& names =
+      Array::ZoneHandle(Z, Array::New(named->length(), allocation_space_));
   for (intptr_t i = 0; i < named->length(); ++i) {
     names.SetAt(i, DartSymbol((*named)[i]->name()));
   }
@@ -1261,7 +1265,8 @@
       translation_helper_(*h),
       type_translator_(*type_translator),
       script_(dart::Script::Handle(
-            zone, builder_->parsed_function_->function().script())),
+          zone,
+          builder_->parsed_function_->function().script())),
       result_(dart::Instance::Handle(zone)) {}
 
 
@@ -1368,8 +1373,10 @@
 
 
 RawObject* ConstantEvaluator::EvaluateConstConstructorCall(
-    const dart::Class& type_class, const TypeArguments& type_arguments,
-    const Function& constructor, const Object& argument) {
+    const dart::Class& type_class,
+    const TypeArguments& type_arguments,
+    const Function& constructor,
+    const Object& argument) {
   // Factories have one extra argument: the type arguments.
   // Constructors have 1 extra arguments: receiver.
   const int kNumArgs = 1;
@@ -1444,9 +1451,8 @@
   const intptr_t kInitialConstMapSize = 16;
   ASSERT(!script_.InVMHeap());
   if (script_.compile_time_constants() == Array::null()) {
-    const Array& array =
-        Array::Handle(HashTables::New<KernelConstantsMap>(kInitialConstMapSize,
-                                                          Heap::kNew));
+    const Array& array = Array::Handle(
+        HashTables::New<KernelConstantsMap>(kInitialConstMapSize, Heap::kNew));
     script_.set_compile_time_constants(array);
   }
   KernelConstantsMap constants(script_.compile_time_constants());
@@ -1732,7 +1738,8 @@
 
 
 const TypeArguments* ConstantEvaluator::TranslateTypeArguments(
-    const Function& target, dart::Class* target_klass,
+    const Function& target,
+    dart::Class* target_klass,
     Arguments* kernel_arguments) {
   List<DartType>& kernel_type_arguments = kernel_arguments->types();
 
@@ -1804,12 +1811,15 @@
 
 
 FlowGraphBuilder::FlowGraphBuilder(
-    TreeNode* node, ParsedFunction* parsed_function,
+    TreeNode* node,
+    ParsedFunction* parsed_function,
     const ZoneGrowableArray<const ICData*>& ic_data_array,
-    InlineExitCollector* exit_collector, intptr_t osr_id,
+    InlineExitCollector* exit_collector,
+    intptr_t osr_id,
     intptr_t first_block_id)
     : zone_(Thread::Current()->zone()),
-      translation_helper_(Thread::Current(), zone_,
+      translation_helper_(Thread::Current(),
+                          zone_,
                           Thread::Current()->isolate()),
       node_(node),
       parsed_function_(parsed_function),
@@ -1834,7 +1844,9 @@
       next_used_try_index_(0),
       catch_block_(NULL),
       type_translator_(&translation_helper_, &active_class_),
-      constant_evaluator_(this, zone_, &translation_helper_,
+      constant_evaluator_(this,
+                          zone_,
+                          &translation_helper_,
                           &type_translator_) {}
 
 
@@ -1842,8 +1854,10 @@
 
 
 Fragment FlowGraphBuilder::TranslateFinallyFinalizers(
-    TryFinallyBlock* outer_finally, intptr_t target_context_depth) {
+    TryFinallyBlock* outer_finally,
+    intptr_t target_context_depth) {
   TryFinallyBlock* const saved_block = try_finally_block_;
+  TryCatchBlock* const saved_try_catch_block = try_catch_block_;
   const intptr_t saved_depth = context_depth_;
   const intptr_t saved_try_depth = try_depth_;
 
@@ -1859,6 +1873,20 @@
     // block.
     instructions += AdjustContextTo(try_finally_block_->context_depth());
 
+    // The to-be-translated finalizer has to have the correct try-index (namely
+    // the one outside the try-finally block).
+    bool changed_try_index = false;
+    intptr_t target_try_index = try_finally_block_->try_index();
+    while (CurrentTryIndex() != target_try_index) {
+      try_catch_block_ = try_catch_block_->outer();
+      changed_try_index = true;
+    }
+    if (changed_try_index) {
+      JoinEntryInstr* entry = BuildJoinEntry();
+      instructions += Goto(entry);
+      instructions = Fragment(instructions.entry, entry);
+    }
+
     Statement* finalizer = try_finally_block_->finalizer();
     try_finally_block_ = try_finally_block_->outer();
 
@@ -1872,13 +1900,14 @@
   }
 
   if (instructions.is_open() && target_context_depth != -1) {
-    // A target context depth of -1 indicates that we the code after this
+    // A target context depth of -1 indicates that the code after this
     // will not care about the context chain so we can leave it any way we
     // want after the last finalizer.  That is used when returning.
     instructions += AdjustContextTo(target_context_depth);
   }
 
   try_finally_block_ = saved_block;
+  try_catch_block_ = saved_try_catch_block;
   context_depth_ = saved_depth;
   try_depth_ = saved_try_depth;
 
@@ -2106,7 +2135,8 @@
 
 
 Fragment FlowGraphBuilder::BranchIfStrictEqual(
-    TargetEntryInstr** then_entry, TargetEntryInstr** otherwise_entry) {
+    TargetEntryInstr** then_entry,
+    TargetEntryInstr** otherwise_entry) {
   Value* rhs = Pop();
   Value* lhs = Pop();
   StrictCompareInstr* compare = new (Z) StrictCompareInstr(
@@ -2121,10 +2151,9 @@
 Fragment FlowGraphBuilder::CatchBlockEntry(const Array& handler_types,
                                            intptr_t handler_index) {
   ASSERT(CurrentException()->is_captured() ==
-             CurrentStackTrace()->is_captured());
+         CurrentStackTrace()->is_captured());
   const bool should_restore_closure_context =
-      CurrentException()->is_captured() ||
-      CurrentCatchContext()->is_captured();
+      CurrentException()->is_captured() || CurrentCatchContext()->is_captured();
   CatchBlockEntryInstr* entry = new (Z) CatchBlockEntryInstr(
       AllocateBlockId(), CurrentTryIndex(), graph_entry_, handler_types,
       handler_index, *CurrentException(), *CurrentStackTrace(),
@@ -2322,7 +2351,8 @@
 
 
 Fragment FlowGraphBuilder::LoadNativeField(MethodRecognizer::Kind kind,
-                                           intptr_t offset, const Type& type,
+                                           intptr_t offset,
+                                           const Type& type,
                                            intptr_t class_id,
                                            bool is_immutable) {
   LoadFieldInstr* load =
@@ -2452,9 +2482,7 @@
   Value* value = Pop();
   Value* index = Pop();
   const StoreBarrierType emit_store_barrier =
-      value->BindsToConstant()
-          ? kNoStoreBarrier
-          : kEmitStoreBarrier;
+      value->BindsToConstant() ? kNoStoreBarrier : kEmitStoreBarrier;
   StoreIndexedInstr* store = new (Z) StoreIndexedInstr(
       Pop(),  // Array.
       index, value, emit_store_barrier, Instance::ElementSizeFor(class_id),
@@ -2465,7 +2493,8 @@
 
 
 Fragment FlowGraphBuilder::StoreInstanceField(
-    const dart::Field& field, StoreBarrierType emit_store_barrier) {
+    const dart::Field& field,
+    StoreBarrierType emit_store_barrier) {
   Value* value = Pop();
   if (value->BindsToConstant()) {
     emit_store_barrier = kNoStoreBarrier;
@@ -2492,7 +2521,8 @@
 
 
 Fragment FlowGraphBuilder::StoreInstanceField(
-    intptr_t offset, StoreBarrierType emit_store_barrier) {
+    intptr_t offset,
+    StoreBarrierType emit_store_barrier) {
   Value* value = Pop();
   if (value->BindsToConstant()) {
     emit_store_barrier = kNoStoreBarrier;
@@ -2620,7 +2650,8 @@
 
 
 dart::RawFunction* FlowGraphBuilder::LookupMethodByMember(
-    Member* target, const dart::String& method_name) {
+    Member* target,
+    const dart::String& method_name) {
   Class* kernel_klass = Class::Cast(target->parent());
   dart::Class& klass =
       dart::Class::Handle(Z, H.LookupClassByKernelClass(kernel_klass));
@@ -2635,11 +2666,9 @@
   char name[64];
   intptr_t index = stack_->definition()->temp_index();
   OS::SNPrint(name, 64, ":temp%" Pd, index);
-  LocalVariable* variable = new (Z) LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      H.DartSymbol(name),
-      Object::dynamic_type());
+  LocalVariable* variable =
+      new (Z) LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                            H.DartSymbol(name), Object::dynamic_type());
   // Set the index relative to the base of the expression stack including
   // outgoing arguments.
   variable->set_index(parsed_function_->first_stack_local_index() -
@@ -2659,7 +2688,7 @@
   if (try_catch_block_ == NULL) {
     return CatchClauseNode::kInvalidTryIndex;
   } else {
-    return try_catch_block_->TryIndex();
+    return try_catch_block_->try_index();
   }
 }
 
@@ -2785,8 +2814,8 @@
   Function& outermost_function = Function::Handle(Z);
   TreeNode* outermost_node = NULL;
   Class* kernel_klass = NULL;
-  DiscoverEnclosingElements(
-      Z, function, &outermost_function, &outermost_node, &kernel_klass);
+  DiscoverEnclosingElements(Z, function, &outermost_function, &outermost_node,
+                            &kernel_klass);
 
   // Mark that we are using [klass]/[kernell_klass] as active class.  Resolving
   // of type parameters will get resolved via [kernell_klass] unless we are
@@ -2860,8 +2889,8 @@
                                                   Constructor* constructor) {
   const Function& dart_function = parsed_function_->function();
   TargetEntryInstr* normal_entry = BuildTargetEntry();
-  graph_entry_ = new (Z)
-      GraphEntryInstr(*parsed_function_, normal_entry, osr_id_);
+  graph_entry_ =
+      new (Z) GraphEntryInstr(*parsed_function_, normal_entry, osr_id_);
 
   SetupDefaultParameterValues(function);
 
@@ -2882,11 +2911,9 @@
       if (variable->is_captured()) {
         // There is no LocalVariable describing the on-stack parameter so
         // create one directly and use the same type.
-        LocalVariable* parameter =
-            new (Z) LocalVariable(TokenPosition::kNoSource,
-                                  TokenPosition::kNoSource,
-                                  Symbols::TempParam(),
-                                  variable->type());
+        LocalVariable* parameter = new (Z)
+            LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                          Symbols::TempParam(), variable->type());
         parameter->set_index(parameter_index);
         // Mark the stack variable so it will be ignored by the code for
         // try/catch.
@@ -3032,7 +3059,7 @@
   // unreachable from the OSR entry. Catch entries are always considered
   // reachable, even if they become unreachable after OSR.
   if (osr_id_ != Compiler::kNoOSRDeoptId) {
-    BitVector* block_marks = new(Z) BitVector(Z, next_block_id_);
+    BitVector* block_marks = new (Z) BitVector(Z, next_block_id_);
     bool found = graph_entry_->PruneUnreachable(graph_entry_, NULL, osr_id_,
                                                 block_marks);
     ASSERT(found);
@@ -3198,7 +3225,8 @@
 
 
 FlowGraph* FlowGraphBuilder::BuildGraphOfFieldAccessor(
-    Field* kernel_field, LocalVariable* setter_value) {
+    Field* kernel_field,
+    LocalVariable* setter_value) {
   const dart::Function& function = parsed_function_->function();
 
   bool is_setter = function.IsImplicitSetterFunction();
@@ -3334,7 +3362,8 @@
 
 
 FlowGraph* FlowGraphBuilder::BuildGraphOfImplicitClosureFunction(
-    FunctionNode* kernel_function, const Function& function) {
+    FunctionNode* kernel_function,
+    const Function& function) {
   const Function& target = Function::ZoneHandle(Z, function.parent_function());
 
   TargetEntryInstr* normal_entry = BuildTargetEntry();
@@ -3622,7 +3651,8 @@
 
 
 Fragment FlowGraphBuilder::TranslateInitializers(
-    Class* kernel_klass, List<Initializer>* initializers) {
+    Class* kernel_klass,
+    List<Initializer>* initializers) {
   Fragment instructions;
 
   // These come from:
@@ -4013,7 +4043,8 @@
 
 
 const TypeArguments& DartTypeTranslator::TranslateTypeArguments(
-    DartType** dart_types, intptr_t length) {
+    DartType** dart_types,
+    intptr_t length) {
   bool only_dynamic = true;
   for (intptr_t i = 0; i < length; i++) {
     if (!dart_types[i]->IsDynamicType()) {
@@ -4041,7 +4072,8 @@
 
 
 const TypeArguments& DartTypeTranslator::TranslateInstantiatedTypeArguments(
-    const dart::Class& receiver_class, DartType** receiver_type_arguments,
+    const dart::Class& receiver_class,
+    DartType** receiver_type_arguments,
     intptr_t length) {
   const TypeArguments& type_arguments =
       TranslateTypeArguments(receiver_type_arguments, length);
@@ -5420,8 +5452,8 @@
   // Fill in the body of the try.
   ++try_depth_;
   {
-    TryCatchBlock tcb(this, try_handler_index);
     TryFinallyBlock tfb(this, node->finalizer());
+    TryCatchBlock tcb(this, try_handler_index);
     try_body += TranslateStatement(node->body());
   }
   --try_depth_;
diff --git a/runtime/vm/kernel_to_il.h b/runtime/vm/kernel_to_il.h
index 6a62834..5001451 100644
--- a/runtime/vm/kernel_to_il.h
+++ b/runtime/vm/kernel_to_il.h
@@ -38,14 +38,10 @@
   static uword Hash(const TreeNode* key) {
     return HashValue(Smi::Value(KeyAsSmi(key)));
   }
-  static RawObject* NewKey(const TreeNode* key) {
-    return KeyAsSmi(key);
-  }
+  static RawObject* NewKey(const TreeNode* key) { return KeyAsSmi(key); }
 
  private:
-  static uword HashValue(intptr_t pos) {
-    return pos % (Smi::kMaxValue - 13);
-  }
+  static uword HashValue(intptr_t pos) { return pos % (Smi::kMaxValue - 13); }
 
   static RawSmi* KeyAsSmi(const TreeNode* key) {
     // We exploit that all [TreeNode] objects will be aligned and therefore are
@@ -137,7 +133,8 @@
 
 class ActiveClassScope {
  public:
-  ActiveClassScope(ActiveClass* active_class, Class* kernel_class,
+  ActiveClassScope(ActiveClass* active_class,
+                   Class* kernel_class,
                    const dart::Class* klass)
       : active_class_(active_class), saved_(*active_class) {
     active_class_->kernel_class = kernel_class;
@@ -193,8 +190,8 @@
       : thread_(thread),
         zone_(zone),
         isolate_(isolate),
-        allocation_space_(
-            thread_->IsMutatorThread() ? Heap::kNew : Heap::kOld) {}
+        allocation_space_(thread_->IsMutatorThread() ? Heap::kNew
+                                                     : Heap::kOld) {}
   virtual ~TranslationHelper() {}
 
   Thread* thread() { return thread_; }
@@ -248,7 +245,8 @@
   RawFunction* LookupStaticMethodByKernelProcedure(Procedure* procedure);
   RawFunction* LookupConstructorByKernelConstructor(Constructor* constructor);
   dart::RawFunction* LookupConstructorByKernelConstructor(
-      const dart::Class& owner, Constructor* constructor);
+      const dart::Class& owner,
+      Constructor* constructor);
 
   dart::Type& GetCanonicalType(const dart::Class& klass);
 
@@ -282,7 +280,8 @@
 // runtime unless explicitly specified otherwise.
 class DartTypeTranslator : public DartTypeVisitor {
  public:
-  DartTypeTranslator(TranslationHelper* helper, ActiveClass* active_class,
+  DartTypeTranslator(TranslationHelper* helper,
+                     ActiveClass* active_class,
                      bool finalize = true)
       : translation_helper_(*helper),
         active_class_(active_class),
@@ -317,7 +316,8 @@
   // Will return `TypeArguments::null()` in case any of the arguments are
   // malformed.
   const TypeArguments& TranslateInstantiatedTypeArguments(
-      const dart::Class& receiver_class, DartType** receiver_type_arguments,
+      const dart::Class& receiver_class,
+      DartType** receiver_type_arguments,
       intptr_t length);
 
   // Will return `TypeArguments::null()` in case any of the arguments are
@@ -358,7 +358,9 @@
 // compile-time.
 class ConstantEvaluator : public ExpressionVisitor {
  public:
-  ConstantEvaluator(FlowGraphBuilder* builder, Zone* zone, TranslationHelper* h,
+  ConstantEvaluator(FlowGraphBuilder* builder,
+                    Zone* zone,
+                    TranslationHelper* h,
                     DartTypeTranslator* type_translator);
   virtual ~ConstantEvaluator() {}
 
@@ -403,11 +405,13 @@
                                               dart::Class* target_klass,
                                               Arguments* kernel_arguments);
 
-  const Object& RunFunction(const Function& function, Arguments* arguments,
+  const Object& RunFunction(const Function& function,
+                            Arguments* arguments,
                             const Instance* receiver = NULL,
                             const TypeArguments* type_args = NULL);
 
-  const Object& RunFunction(const Function& function, const Array& arguments,
+  const Object& RunFunction(const Function& function,
+                            const Array& arguments,
                             const Array& names);
 
   RawObject* EvaluateConstConstructorCall(const dart::Class& type_class,
@@ -441,13 +445,13 @@
 class ScopeBuildingResult : public ZoneAllocated {
  public:
   ScopeBuildingResult()
-    : this_variable(NULL),
-      type_arguments_variable(NULL),
-      switch_variable(NULL),
-      finally_return_variable(NULL),
-      setter_value(NULL),
-      yield_jump_variable(NULL),
-      yield_context_variable(NULL) {}
+      : this_variable(NULL),
+        type_arguments_variable(NULL),
+        switch_variable(NULL),
+        finally_return_variable(NULL),
+        setter_value(NULL),
+        yield_jump_variable(NULL),
+        yield_context_variable(NULL) {}
 
   Map<VariableDeclaration, LocalVariable*> locals;
   Map<TreeNode, LocalScope*> scopes;
@@ -546,7 +550,8 @@
   void AddParameter(VariableDeclaration* declaration, intptr_t pos);
   void AddVariable(VariableDeclaration* declaration);
   void AddExceptionVariable(GrowableArray<LocalVariable*>* variables,
-                            const char* prefix, intptr_t nesting_depth);
+                            const char* prefix,
+                            intptr_t nesting_depth);
   void AddTryVariables();
   void AddCatchVariables();
   void AddIteratorVariable();
@@ -603,9 +608,11 @@
 
 class FlowGraphBuilder : public TreeVisitor {
  public:
-  FlowGraphBuilder(TreeNode* node, ParsedFunction* parsed_function,
+  FlowGraphBuilder(TreeNode* node,
+                   ParsedFunction* parsed_function,
                    const ZoneGrowableArray<const ICData*>& ic_data_array,
-                   InlineExitCollector* exit_collector, intptr_t osr_id,
+                   InlineExitCollector* exit_collector,
+                   intptr_t osr_id,
                    intptr_t first_block_id = 1);
   virtual ~FlowGraphBuilder();
 
@@ -745,10 +752,14 @@
   Fragment CreateArray();
   Fragment Goto(JoinEntryInstr* destination);
   Fragment IntConstant(int64_t value);
-  Fragment InstanceCall(const dart::String& name, Token::Kind kind,
-                        intptr_t argument_count, intptr_t num_args_checked = 1);
-  Fragment InstanceCall(const dart::String& name, Token::Kind kind,
-                        intptr_t argument_count, const Array& argument_names,
+  Fragment InstanceCall(const dart::String& name,
+                        Token::Kind kind,
+                        intptr_t argument_count,
+                        intptr_t num_args_checked = 1);
+  Fragment InstanceCall(const dart::String& name,
+                        Token::Kind kind,
+                        intptr_t argument_count,
+                        const Array& argument_names,
                         intptr_t num_args_checked = 1);
   Fragment ClosureCall(int argument_count, const Array& argument_names);
   Fragment ThrowException();
@@ -756,8 +767,10 @@
   Fragment LoadClassId();
   Fragment LoadField(const dart::Field& field);
   Fragment LoadField(intptr_t offset, intptr_t class_id = kDynamicCid);
-  Fragment LoadNativeField(MethodRecognizer::Kind kind, intptr_t offset,
-                           const Type& type, intptr_t class_id,
+  Fragment LoadNativeField(MethodRecognizer::Kind kind,
+                           intptr_t offset,
+                           const Type& type,
+                           intptr_t class_id,
                            bool is_immutable = false);
   Fragment LoadLocal(LocalVariable* variable);
   Fragment InitStaticField(const dart::Field& field);
@@ -767,7 +780,8 @@
   Fragment PushArgument();
   Fragment Return();
   Fragment StaticCall(const Function& target, intptr_t argument_count);
-  Fragment StaticCall(const Function& target, intptr_t argument_count,
+  Fragment StaticCall(const Function& target,
+                      intptr_t argument_count,
                       const Array& argument_names);
   Fragment StoreIndexed(intptr_t class_id);
   Fragment StoreInstanceFieldGuarded(const dart::Field& field);
@@ -796,7 +810,8 @@
   intptr_t AllocateTryIndex() { return next_used_try_index_++; }
 
   void AddVariable(VariableDeclaration* declaration, LocalVariable* variable);
-  void AddParameter(VariableDeclaration* declaration, LocalVariable* variable,
+  void AddParameter(VariableDeclaration* declaration,
+                    LocalVariable* variable,
                     intptr_t pos);
   dart::LocalVariable* LookupVariable(VariableDeclaration* var);
 
diff --git a/runtime/vm/libdart_dependency_helper.cc b/runtime/vm/libdart_dependency_helper.cc
index ccf26c8..75040ca 100644
--- a/runtime/vm/libdart_dependency_helper.cc
+++ b/runtime/vm/libdart_dependency_helper.cc
@@ -2,7 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-int main(int argc, char *argv[]) {
+int main(int argc, char* argv[]) {
   return 0;
 }
-
diff --git a/runtime/vm/locations.cc b/runtime/vm/locations.cc
index 5603a1c..5175819 100644
--- a/runtime/vm/locations.cc
+++ b/runtime/vm/locations.cc
@@ -44,8 +44,8 @@
     intptr_t input_count,
     Location out,
     LocationSummary::ContainsCall contains_call) {
-  LocationSummary* summary = new(zone) LocationSummary(
-      zone, input_count, 0, contains_call);
+  LocationSummary* summary =
+      new (zone) LocationSummary(zone, input_count, 0, contains_call);
   for (intptr_t i = 0; i < input_count; i++) {
     summary->set_in(i, Location::RequiresRegister());
   }
@@ -73,48 +73,48 @@
 Location Location::RegisterOrConstant(Value* value) {
   ConstantInstr* constant = value->definition()->AsConstant();
   return ((constant != NULL) && Assembler::IsSafe(constant->value()))
-      ? Location::Constant(constant)
-      : Location::RequiresRegister();
+             ? Location::Constant(constant)
+             : Location::RequiresRegister();
 }
 
 
 Location Location::RegisterOrSmiConstant(Value* value) {
   ConstantInstr* constant = value->definition()->AsConstant();
   return ((constant != NULL) && Assembler::IsSafeSmi(constant->value()))
-      ? Location::Constant(constant)
-      : Location::RequiresRegister();
+             ? Location::Constant(constant)
+             : Location::RequiresRegister();
 }
 
 
 Location Location::WritableRegisterOrSmiConstant(Value* value) {
   ConstantInstr* constant = value->definition()->AsConstant();
   return ((constant != NULL) && Assembler::IsSafeSmi(constant->value()))
-      ? Location::Constant(constant)
-      : Location::WritableRegister();
+             ? Location::Constant(constant)
+             : Location::WritableRegister();
 }
 
 
 Location Location::FixedRegisterOrConstant(Value* value, Register reg) {
   ConstantInstr* constant = value->definition()->AsConstant();
   return ((constant != NULL) && Assembler::IsSafe(constant->value()))
-      ? Location::Constant(constant)
-      : Location::RegisterLocation(reg);
+             ? Location::Constant(constant)
+             : Location::RegisterLocation(reg);
 }
 
 
 Location Location::FixedRegisterOrSmiConstant(Value* value, Register reg) {
   ConstantInstr* constant = value->definition()->AsConstant();
   return ((constant != NULL) && Assembler::IsSafeSmi(constant->value()))
-      ? Location::Constant(constant)
-      : Location::RegisterLocation(reg);
+             ? Location::Constant(constant)
+             : Location::RegisterLocation(reg);
 }
 
 
 Location Location::AnyOrConstant(Value* value) {
   ConstantInstr* constant = value->definition()->AsConstant();
   return ((constant != NULL) && Assembler::IsSafe(constant->value()))
-      ? Location::Constant(constant)
-      : Location::Any();
+             ? Location::Constant(constant)
+             : Location::Any();
 }
 
 
@@ -125,7 +125,7 @@
   const Register base = base_reg();
   if (base == FPREG) {
     if (index < 0) {
-      const intptr_t offset = (kParamEndSlotFromFp - index)  * kWordSize;
+      const intptr_t offset = (kParamEndSlotFromFp - index) * kWordSize;
       return Address(base, offset);
     } else {
       const intptr_t offset = (kFirstLocalSlotFromFp - index) * kWordSize;
@@ -142,7 +142,7 @@
   const intptr_t index = stack_index();
   if (base_reg() == FPREG) {
     if (index < 0) {
-      const intptr_t offset = (kParamEndSlotFromFp - index)  * kWordSize;
+      const intptr_t offset = (kParamEndSlotFromFp - index) * kWordSize;
       return offset;
     } else {
       const intptr_t offset = (kFirstLocalSlotFromFp - index) * kWordSize;
@@ -162,12 +162,18 @@
 
 const char* Location::Name() const {
   switch (kind()) {
-    case kInvalid: return "?";
-    case kRegister: return Assembler::RegisterName(reg());
-    case kFpuRegister: return Assembler::FpuRegisterName(fpu_reg());
-    case kStackSlot: return "S";
-    case kDoubleStackSlot: return "DS";
-    case kQuadStackSlot: return "QS";
+    case kInvalid:
+      return "?";
+    case kRegister:
+      return Assembler::RegisterName(reg());
+    case kFpuRegister:
+      return Assembler::FpuRegisterName(fpu_reg());
+    case kStackSlot:
+      return "S";
+    case kDoubleStackSlot:
+      return "DS";
+    case kQuadStackSlot:
+      return "QS";
     case kUnallocated:
       switch (policy()) {
         case kAny:
diff --git a/runtime/vm/locations.h b/runtime/vm/locations.h
index e81c96b..c2d815b 100644
--- a/runtime/vm/locations.h
+++ b/runtime/vm/locations.h
@@ -87,9 +87,9 @@
 
     // Spill slots allocated by the register allocator.  Payload contains
     // a spill index.
-    kStackSlot = 4,  // Word size slot.
+    kStackSlot = 4,        // Word size slot.
     kDoubleStackSlot = 7,  // 64bit stack slot.
-    kQuadStackSlot = 11,  // 128bit stack slot.
+    kQuadStackSlot = 11,   // 128bit stack slot.
 
     // Register location represents a fixed register.  Payload contains
     // register code.
@@ -132,16 +132,14 @@
     ASSERT(IsInvalid());
   }
 
-  Location(const Location& other) : ValueObject(), value_(other.value_) { }
+  Location(const Location& other) : ValueObject(), value_(other.value_) {}
 
   Location& operator=(const Location& other) {
     value_ = other.value_;
     return *this;
   }
 
-  bool IsInvalid() const {
-    return value_ == kInvalidLocation;
-  }
+  bool IsInvalid() const { return value_ == kInvalidLocation; }
 
   // Constants.
   bool IsConstant() const {
@@ -179,22 +177,16 @@
     kSameAsFirstInput,
   };
 
-  bool IsUnallocated() const {
-    return kind() == kUnallocated;
-  }
+  bool IsUnallocated() const { return kind() == kUnallocated; }
 
-  bool IsRegisterBeneficial() {
-    return !Equals(Any());
-  }
+  bool IsRegisterBeneficial() { return !Equals(Any()); }
 
   static Location UnallocatedLocation(Policy policy) {
     return Location(kUnallocated, PolicyField::encode(policy));
   }
 
   // Any free register is suitable to replace this unallocated location.
-  static Location Any() {
-    return UnallocatedLocation(kAny);
-  }
+  static Location Any() { return UnallocatedLocation(kAny); }
 
   static Location PrefersRegister() {
     return UnallocatedLocation(kPrefersRegister);
@@ -219,9 +211,7 @@
   }
 
   // Empty location. Used if there the location should be ignored.
-  static Location NoLocation() {
-    return Location();
-  }
+  static Location NoLocation() { return Location(); }
 
   Policy policy() const {
     ASSERT(IsUnallocated());
@@ -233,9 +223,7 @@
     return Location(kRegister, reg);
   }
 
-  bool IsRegister() const {
-    return kind() == kRegister;
-  }
+  bool IsRegister() const { return kind() == kRegister; }
 
   Register reg() const {
     ASSERT(IsRegister());
@@ -247,9 +235,7 @@
     return Location(kFpuRegister, reg);
   }
 
-  bool IsFpuRegister() const {
-    return kind() == kFpuRegister;
-  }
+  bool IsFpuRegister() const { return kind() == kFpuRegister; }
 
   FpuRegister fpu_reg() const {
     ASSERT(IsFpuRegister());
@@ -260,8 +246,7 @@
     return (kind == kRegister) || (kind == kFpuRegister);
   }
 
-  static Location MachineRegisterLocation(Kind kind,
-                                          intptr_t reg) {
+  static Location MachineRegisterLocation(Kind kind, intptr_t reg) {
     if (kind == kRegister) {
       return RegisterLocation(static_cast<Register>(reg));
     } else {
@@ -270,9 +255,7 @@
     }
   }
 
-  bool IsMachineRegister() const {
-    return IsMachineRegisterKind(kind());
-  }
+  bool IsMachineRegister() const { return IsMachineRegisterKind(kind()); }
 
   intptr_t register_code() const {
     ASSERT(IsMachineRegister());
@@ -286,45 +269,38 @@
   }
 
   // Spill slots.
-  static Location StackSlot(intptr_t stack_index,
-                            Register base = FPREG) {
-    uword payload = StackSlotBaseField::encode(base)
-        | StackIndexField::encode(EncodeStackIndex(stack_index));
+  static Location StackSlot(intptr_t stack_index, Register base = FPREG) {
+    uword payload = StackSlotBaseField::encode(base) |
+                    StackIndexField::encode(EncodeStackIndex(stack_index));
     Location loc(kStackSlot, payload);
     // Ensure that sign is preserved.
     ASSERT(loc.stack_index() == stack_index);
     return loc;
   }
 
-  bool IsStackSlot() const {
-    return kind() == kStackSlot;
-  }
+  bool IsStackSlot() const { return kind() == kStackSlot; }
 
   static Location DoubleStackSlot(intptr_t stack_index) {
-    uword payload = StackSlotBaseField::encode(FPREG)
-        | StackIndexField::encode(EncodeStackIndex(stack_index));
+    uword payload = StackSlotBaseField::encode(FPREG) |
+                    StackIndexField::encode(EncodeStackIndex(stack_index));
     Location loc(kDoubleStackSlot, payload);
     // Ensure that sign is preserved.
     ASSERT(loc.stack_index() == stack_index);
     return loc;
   }
 
-  bool IsDoubleStackSlot() const {
-    return kind() == kDoubleStackSlot;
-  }
+  bool IsDoubleStackSlot() const { return kind() == kDoubleStackSlot; }
 
   static Location QuadStackSlot(intptr_t stack_index) {
-    uword payload = StackSlotBaseField::encode(FPREG)
-        | StackIndexField::encode(EncodeStackIndex(stack_index));
+    uword payload = StackSlotBaseField::encode(FPREG) |
+                    StackIndexField::encode(EncodeStackIndex(stack_index));
     Location loc(kQuadStackSlot, payload);
     // Ensure that sign is preserved.
     ASSERT(loc.stack_index() == stack_index);
     return loc;
   }
 
-  bool IsQuadStackSlot() const {
-    return kind() == kQuadStackSlot;
-  }
+  bool IsQuadStackSlot() const { return kind() == kQuadStackSlot; }
 
   Register base_reg() const {
     ASSERT(HasStackIndex());
@@ -341,7 +317,7 @@
     return IsStackSlot() || IsDoubleStackSlot() || IsQuadStackSlot();
   }
 
-  // DBC does not have an notion of 'address' in its instruction set.
+// DBC does not have an notion of 'address' in its instruction set.
 #if !defined(TARGET_ARCH_DBC)
   // Return a memory operand for stack slot locations.
   Address ToStackSlotAddress() const;
@@ -364,15 +340,11 @@
   const char* ToCString() const;
 
   // Compare two locations.
-  bool Equals(Location other) const {
-    return value_ == other.value_;
-  }
+  bool Equals(Location other) const { return value_ == other.value_; }
 
   // If current location is constant might return something that
   // is not equal to any Kind.
-  Kind kind() const {
-    return KindField::decode(value_);
-  }
+  Kind kind() const { return KindField::decode(value_); }
 
   Location Copy() const;
 
@@ -381,37 +353,36 @@
                             intptr_t* fpu_reg_slots) const;
 
  private:
-  explicit Location(uword value) : value_(value) { }
+  explicit Location(uword value) : value_(value) {}
 
   Location(Kind kind, uword payload)
-      : value_(KindField::encode(kind) | PayloadField::encode(payload)) { }
+      : value_(KindField::encode(kind) | PayloadField::encode(payload)) {}
 
-  uword payload() const {
-    return PayloadField::decode(value_);
-  }
+  uword payload() const { return PayloadField::decode(value_); }
 
   class KindField : public BitField<uword, Kind, 0, kBitsForKind> {};
-  class PayloadField :
-      public BitField<uword, uword, kBitsForKind, kBitsForPayload> {};
+  class PayloadField
+      : public BitField<uword, uword, kBitsForKind, kBitsForPayload> {};
 
   // Layout for kUnallocated locations payload.
   typedef BitField<uword, Policy, 0, 3> PolicyField;
 
-  // Layout for stack slots.
+// Layout for stack slots.
 #if defined(ARCH_IS_64_BIT)
   static const intptr_t kBitsForBaseReg = 6;
 #else
   static const intptr_t kBitsForBaseReg = 5;
 #endif
   static const intptr_t kBitsForStackIndex = kBitsForPayload - kBitsForBaseReg;
-  class StackSlotBaseField :
-      public BitField<uword, Register, 0, kBitsForBaseReg> {};
-  class StackIndexField :
-      public BitField<uword, intptr_t, kBitsForBaseReg, kBitsForStackIndex> {};
+  class StackSlotBaseField
+      : public BitField<uword, Register, 0, kBitsForBaseReg> {};
+  class StackIndexField
+      : public BitField<uword, intptr_t, kBitsForBaseReg, kBitsForStackIndex> {
+  };
   COMPILE_ASSERT(1 << kBitsForBaseReg >= kNumberOfCpuRegisters);
 
-  static const intptr_t kStackIndexBias =
-      static_cast<intptr_t>(1) << (kBitsForStackIndex - 1);
+  static const intptr_t kStackIndexBias = static_cast<intptr_t>(1)
+                                          << (kBitsForStackIndex - 1);
 
   // Location either contains kind and payload fields or a tagged handle for
   // a constant locations. Values of enumeration Kind are selected in such a
@@ -454,12 +425,12 @@
 };
 
 
-template<typename T>
+template <typename T>
 class SmallSet {
  public:
-  SmallSet() : data_(0) { }
+  SmallSet() : data_(0) {}
 
-  explicit SmallSet(intptr_t data) : data_(data) { }
+  explicit SmallSet(intptr_t data) : data_(data) {}
 
   bool Contains(T value) const { return (data_ & ToMask(value)) != 0; }
 
@@ -484,9 +455,7 @@
 class RegisterSet : public ValueObject {
  public:
   RegisterSet()
-      : cpu_registers_(),
-        untagged_cpu_registers_(),
-        fpu_registers_() {
+      : cpu_registers_(), untagged_cpu_registers_(), fpu_registers_() {
     ASSERT(kNumberOfCpuRegisters <= (kWordSize * kBitsPerByte));
     ASSERT(kNumberOfFpuRegisters <= (kWordSize * kBitsPerByte));
   }
@@ -528,7 +497,7 @@
       Register r = static_cast<Register>(i);
       if (ContainsRegister(r)) {
         THR_Print("%s %s\n", Assembler::RegisterName(r),
-                           IsTagged(r) ? "tagged" : "untagged");
+                  IsTagged(r) ? "tagged" : "untagged");
       }
     }
 
@@ -584,20 +553,14 @@
 // Specification of locations for inputs and output.
 class LocationSummary : public ZoneAllocated {
  public:
-  enum ContainsCall {
-    kNoCall,
-    kCall,
-    kCallOnSlowPath
-  };
+  enum ContainsCall { kNoCall, kCall, kCallOnSlowPath };
 
   LocationSummary(Zone* zone,
                   intptr_t input_count,
                   intptr_t temp_count,
                   LocationSummary::ContainsCall contains_call);
 
-  intptr_t input_count() const {
-    return num_inputs_;
-  }
+  intptr_t input_count() const { return num_inputs_; }
 
   Location in(intptr_t index) const {
     ASSERT(index >= 0);
@@ -618,9 +581,7 @@
     input_locations_[index] = loc;
   }
 
-  intptr_t temp_count() const {
-    return num_temps_;
-  }
+  intptr_t temp_count() const { return num_temps_; }
 
   Location temp(intptr_t index) const {
     ASSERT(index >= 0);
@@ -641,9 +602,7 @@
     temp_locations_[index] = loc;
   }
 
-  intptr_t output_count() const {
-    return 1;
-  }
+  intptr_t output_count() const { return 1; }
 
   Location out(intptr_t index) const {
     ASSERT(index == 0);
@@ -657,12 +616,11 @@
 
   void set_out(intptr_t index, Location loc) {
     ASSERT(index == 0);
-    // DBC calls are different from call on other architectures so this
-    // assert doesn't make sense.
+// DBC calls are different from call on other architectures so this
+// assert doesn't make sense.
 #if !defined(TARGET_ARCH_DBC)
-    ASSERT(!always_calls() ||
-           (loc.IsMachineRegister() || loc.IsInvalid() ||
-            loc.IsPairLocation()));
+    ASSERT(!always_calls() || (loc.IsMachineRegister() || loc.IsInvalid() ||
+                               loc.IsPairLocation()));
 #endif
     output_location_ = loc;
   }
@@ -673,21 +631,13 @@
     }
     return stack_bitmap_;
   }
-  void SetStackBit(intptr_t index) {
-    stack_bitmap()->Set(index, true);
-  }
+  void SetStackBit(intptr_t index) { stack_bitmap()->Set(index, true); }
 
-  bool always_calls() const {
-    return contains_call_ == kCall;
-  }
+  bool always_calls() const { return contains_call_ == kCall; }
 
-  bool can_call() {
-    return contains_call_ != kNoCall;
-  }
+  bool can_call() { return contains_call_ != kNoCall; }
 
-  bool HasCallOnSlowPath() {
-    return can_call() && !always_calls();
-  }
+  bool HasCallOnSlowPath() { return can_call() && !always_calls(); }
 
   void PrintTo(BufferFormatter* f) const;
 
@@ -696,9 +646,7 @@
                                Location out,
                                ContainsCall contains_call);
 
-  RegisterSet* live_registers() {
-    return &live_registers_;
-  }
+  RegisterSet* live_registers() { return &live_registers_; }
 
 #if defined(DEBUG)
   // Debug only verification that ensures that writable registers are correctly
diff --git a/runtime/vm/lockers.cc b/runtime/vm/lockers.cc
index 39733da..6b47e28 100644
--- a/runtime/vm/lockers.cc
+++ b/runtime/vm/lockers.cc
@@ -15,8 +15,8 @@
   uint32_t old_state = Thread::SetAtSafepoint(true, 0);
   uword addr =
       reinterpret_cast<uword>(thread) + Thread::safepoint_state_offset();
-  if (AtomicOperations::CompareAndSwapUint32(
-          reinterpret_cast<uint32_t*>(addr), old_state, 0) != old_state) {
+  if (AtomicOperations::CompareAndSwapUint32(reinterpret_cast<uint32_t*>(addr),
+                                             old_state, 0) != old_state) {
     // Fast update failed which means we could potentially be in the middle
     // of a safepoint operation and need to block for it.
     SafepointHandler* handler = thread->isolate()->safepoint_handler();
@@ -38,8 +38,8 @@
   uint32_t old_state = Thread::SetAtSafepoint(true, 0);
   uword addr =
       reinterpret_cast<uword>(thread) + Thread::safepoint_state_offset();
-  if (AtomicOperations::CompareAndSwapUint32(
-          reinterpret_cast<uint32_t*>(addr), old_state, 0) != old_state) {
+  if (AtomicOperations::CompareAndSwapUint32(reinterpret_cast<uint32_t*>(addr),
+                                             old_state, 0) != old_state) {
     // Fast update failed which means we could potentially be in the middle
     // of a safepoint operation and need to block for it.
     monitor_->Exit();
diff --git a/runtime/vm/lockers.h b/runtime/vm/lockers.h
index 1ffe532..d16c77e 100644
--- a/runtime/vm/lockers.h
+++ b/runtime/vm/lockers.h
@@ -170,19 +170,16 @@
   }
 
   Monitor::WaitResult WaitWithSafepointCheck(
-      Thread* thread, int64_t millis = Monitor::kNoTimeout);
+      Thread* thread,
+      int64_t millis = Monitor::kNoTimeout);
 
   Monitor::WaitResult WaitMicros(int64_t micros = Monitor::kNoTimeout) {
     return monitor_->WaitMicros(micros);
   }
 
-  void Notify() {
-    monitor_->Notify();
-  }
+  void Notify() { monitor_->Notify(); }
 
-  void NotifyAll() {
-    monitor_->NotifyAll();
-  }
+  void NotifyAll() { monitor_->NotifyAll(); }
 
  private:
   Monitor* const monitor_;
@@ -212,9 +209,7 @@
 class SafepointMutexLocker : public ValueObject {
  public:
   explicit SafepointMutexLocker(Mutex* mutex);
-  virtual ~SafepointMutexLocker() {
-    mutex_->Unlock();
-  }
+  virtual ~SafepointMutexLocker() { mutex_->Unlock(); }
 
  private:
   Mutex* const mutex_;
@@ -243,9 +238,7 @@
 class SafepointMonitorLocker : public ValueObject {
  public:
   explicit SafepointMonitorLocker(Monitor* monitor);
-  virtual ~SafepointMonitorLocker() {
-    monitor_->Exit();
-  }
+  virtual ~SafepointMonitorLocker() { monitor_->Exit(); }
 
   Monitor::WaitResult Wait(int64_t millis = Monitor::kNoTimeout);
 
diff --git a/runtime/vm/log.cc b/runtime/vm/log.cc
index f5247c7..15e3e20 100644
--- a/runtime/vm/log.cc
+++ b/runtime/vm/log.cc
@@ -11,16 +11,15 @@
 
 DEFINE_FLAG(bool, force_log_flush, false, "Always flush log messages.");
 
-DEFINE_FLAG(charp, isolate_log_filter, NULL,
+DEFINE_FLAG(charp,
+            isolate_log_filter,
+            NULL,
             "Log isolates whose name include the filter. "
             "Default: service isolate log messages are suppressed "
             "(specify 'vm-service' to log them).");
 
 Log::Log(LogPrinter printer)
-    : printer_(printer),
-      manual_flush_(0),
-      buffer_(0) {
-}
+    : printer_(printer), manual_flush_(0), buffer_(0) {}
 
 
 Log::~Log() {
diff --git a/runtime/vm/log.h b/runtime/vm/log.h
index e6cc336..c9cafc8 100644
--- a/runtime/vm/log.h
+++ b/runtime/vm/log.h
@@ -15,15 +15,12 @@
 class Thread;
 
 #if defined(_MSC_VER)
-#define THR_Print(format, ...) \
-    Log::Current()->Print(format, __VA_ARGS__)
+#define THR_Print(format, ...) Log::Current()->Print(format, __VA_ARGS__)
 #else
-#define THR_Print(format, ...) \
-    Log::Current()->Print(format, ##__VA_ARGS__)
+#define THR_Print(format, ...) Log::Current()->Print(format, ##__VA_ARGS__)
 #endif
 
-#define THR_VPrint(format, args) \
-    Log::Current()->VPrint(format, args)
+#define THR_VPrint(format, args) Log::Current()->VPrint(format, args)
 
 typedef void (*LogPrinter)(const char* str, ...);
 
diff --git a/runtime/vm/longjump.cc b/runtime/vm/longjump.cc
index 2bc7e31..d79ee76 100644
--- a/runtime/vm/longjump.cc
+++ b/runtime/vm/longjump.cc
@@ -31,8 +31,8 @@
   Simulator* sim = Simulator::Current();
   // When using simulator, only mutator thread should refer to Simulator
   // since there can be only one per isolate.
-  uword top_exit_frame_info = thread->IsMutatorThread() ?
-      sim->top_exit_frame_info() : 0;
+  uword top_exit_frame_info =
+      thread->IsMutatorThread() ? sim->top_exit_frame_info() : 0;
 #else
   uword top_exit_frame_info = thread->top_exit_frame_info();
 #endif
@@ -56,7 +56,7 @@
 #if defined(DEBUG)
 #define CHECK_REUSABLE_HANDLE(name)                                            \
   ASSERT(!thread->reusable_##name##_handle_scope_active());
-REUSABLE_HANDLE_LIST(CHECK_REUSABLE_HANDLE)
+  REUSABLE_HANDLE_LIST(CHECK_REUSABLE_HANDLE)
 #undef CHECK_REUSABLE_HANDLE
 #endif  // defined(DEBUG)
 
diff --git a/runtime/vm/longjump.h b/runtime/vm/longjump.h
index b62230f..7fbe9eb 100644
--- a/runtime/vm/longjump.h
+++ b/runtime/vm/longjump.h
@@ -17,15 +17,13 @@
 class LongJumpScope : public StackResource {
  public:
   LongJumpScope()
-    : StackResource(Thread::Current()),
-      top_(NULL),
-      base_(Thread::Current()->long_jump_base()) {
+      : StackResource(Thread::Current()),
+        top_(NULL),
+        base_(Thread::Current()->long_jump_base()) {
     Thread::Current()->set_long_jump_base(this);
   }
 
-  ~LongJumpScope() {
-    Thread::Current()->set_long_jump_base(base_);
-  }
+  ~LongJumpScope() { Thread::Current()->set_long_jump_base(base_); }
 
   jmp_buf* Set();
   void Jump(int value, const Error& error);
diff --git a/runtime/vm/longjump_test.cc b/runtime/vm/longjump_test.cc
index 4f48050..5e35c0c 100644
--- a/runtime/vm/longjump_test.cc
+++ b/runtime/vm/longjump_test.cc
@@ -9,9 +9,8 @@
 namespace dart {
 
 static void LongJumpHelper(LongJumpScope* jump) {
-  const Error& error =
-      Error::Handle(LanguageError::New(
-          String::Handle(String::New("LongJumpHelper"))));
+  const Error& error = Error::Handle(
+      LanguageError::New(String::Handle(String::New("LongJumpHelper"))));
   jump->Jump(1, error);
   UNREACHABLE();
 }
diff --git a/runtime/vm/megamorphic_cache_table.cc b/runtime/vm/megamorphic_cache_table.cc
index 8a4e6af..c6edb75 100644
--- a/runtime/vm/megamorphic_cache_table.cc
+++ b/runtime/vm/megamorphic_cache_table.cc
@@ -53,25 +53,22 @@
 void MegamorphicCacheTable::InitMissHandler(Isolate* isolate) {
   // The miss handler for a class ID not found in the table is invoked as a
   // normal Dart function.
-  const Code& code =
-      Code::Handle(StubCode::Generate("_stub_MegamorphicMiss",
-                                      StubCode::GenerateMegamorphicMissStub));
+  const Code& code = Code::Handle(StubCode::Generate(
+      "_stub_MegamorphicMiss", StubCode::GenerateMegamorphicMissStub));
   // When FLAG_lazy_dispatchers=false, this stub can be on the stack during
   // exceptions, but it has a corresponding function so IsStubCode is false and
   // it is considered in the search for an exception handler.
   code.set_exception_handlers(Object::empty_exception_handlers());
   const Class& cls =
       Class::Handle(Type::Handle(Type::DartFunctionType()).type_class());
-  const Function& function =
-      Function::Handle(Function::New(Symbols::MegamorphicMiss(),
-                                     RawFunction::kRegularFunction,
-                                     true,  // Static, but called as a method.
-                                     false,  // Not const.
-                                     false,  // Not abstract.
-                                     false,  // Not external.
-                                     false,  // Not native.
-                                     cls,
-                                     TokenPosition::kNoSource));
+  const Function& function = Function::Handle(
+      Function::New(Symbols::MegamorphicMiss(), RawFunction::kRegularFunction,
+                    true,   // Static, but called as a method.
+                    false,  // Not const.
+                    false,  // Not abstract.
+                    false,  // Not external.
+                    false,  // Not native.
+                    cls, TokenPosition::kNoSource));
   function.set_result_type(Type::Handle(Type::DynamicType()));
   function.set_is_debuggable(false);
   function.set_is_visible(false);
@@ -101,8 +98,8 @@
       max_size = buckets.Length();
     }
   }
-  OS::Print("%" Pd " megamorphic caches using %" Pd "KB.\n",
-            table.Length(), size / 1024);
+  OS::Print("%" Pd " megamorphic caches using %" Pd "KB.\n", table.Length(),
+            size / 1024);
 
   intptr_t* probe_counts = new intptr_t[max_size];
   intptr_t entry_count = 0;
@@ -143,10 +140,9 @@
   intptr_t cumulative_entries = 0;
   for (intptr_t i = 0; i <= max_probe_count; i++) {
     cumulative_entries += probe_counts[i];
-    OS::Print("Megamorphic probe %" Pd ": %" Pd " (%lf)\n",
-              i, probe_counts[i],
+    OS::Print("Megamorphic probe %" Pd ": %" Pd " (%lf)\n", i, probe_counts[i],
               static_cast<double>(cumulative_entries) /
-              static_cast<double>(entry_count));
+                  static_cast<double>(entry_count));
   }
   delete[] probe_counts;
 }
diff --git a/runtime/vm/memory_region.cc b/runtime/vm/memory_region.cc
index ce0a107..0b4603d 100644
--- a/runtime/vm/memory_region.cc
+++ b/runtime/vm/memory_region.cc
@@ -10,8 +10,8 @@
   ASSERT(from.pointer() != NULL && from.size() > 0);
   ASSERT(this->size() >= from.size());
   ASSERT(offset <= this->size() - from.size());
-  memmove(reinterpret_cast<void*>(start() + offset),
-          from.pointer(), from.size());
+  memmove(reinterpret_cast<void*>(start() + offset), from.pointer(),
+          from.size());
 }
 
 }  // namespace dart
diff --git a/runtime/vm/memory_region.h b/runtime/vm/memory_region.h
index 807588b..2b1763a 100644
--- a/runtime/vm/memory_region.h
+++ b/runtime/vm/memory_region.h
@@ -16,8 +16,8 @@
 // of the region.
 class MemoryRegion : public ValueObject {
  public:
-  MemoryRegion() : pointer_(NULL), size_(0) { }
-  MemoryRegion(void* pointer, uword size) : pointer_(pointer), size_(size) { }
+  MemoryRegion() : pointer_(NULL), size_(0) {}
+  MemoryRegion(void* pointer, uword size) : pointer_(pointer), size_(size) {}
   MemoryRegion(const MemoryRegion& other) : ValueObject() { *this = other; }
   MemoryRegion& operator=(const MemoryRegion& other) {
     pointer_ = other.pointer_;
@@ -34,15 +34,18 @@
   uword start() const { return reinterpret_cast<uword>(pointer_); }
   uword end() const { return start() + size_; }
 
-  template<typename T> T Load(uword offset) const {
+  template <typename T>
+  T Load(uword offset) const {
     return *ComputeInternalPointer<T>(offset);
   }
 
-  template<typename T> void Store(uword offset, T value) const {
+  template <typename T>
+  void Store(uword offset, T value) const {
     *ComputeInternalPointer<T>(offset) = value;
   }
 
-  template<typename T> T* PointerTo(uword offset) const {
+  template <typename T>
+  T* PointerTo(uword offset) const {
     return ComputeInternalPointer<T>(offset);
   }
 
@@ -67,7 +70,8 @@
   }
 
  private:
-  template<typename T> T* ComputeInternalPointer(uword offset) const {
+  template <typename T>
+  T* ComputeInternalPointer(uword offset) const {
     ASSERT(size() >= sizeof(T));
     ASSERT(offset <= size() - sizeof(T));
     return reinterpret_cast<T*>(start() + offset);
diff --git a/runtime/vm/message.cc b/runtime/vm/message.cc
index 0cb618a..4d5fc31 100644
--- a/runtime/vm/message.cc
+++ b/runtime/vm/message.cc
@@ -30,10 +30,10 @@
   switch (priority) {
     case kNormalPriority:
       return "Normal";
-    break;
+      break;
     case kOOBPriority:
       return "OOB";
-    break;
+      break;
     default:
       UNIMPLEMENTED();
       return NULL;
@@ -65,9 +65,9 @@
   } else {
     ASSERT(tail_ != NULL);
     if (!before_events) {
-        // Append at the tail.
-        tail_->next_ = msg;
-        tail_ = msg;
+      // Append at the tail.
+      tail_->next_ = msg;
+      tail_ = msg;
     } else {
       ASSERT(msg->dest_port() == Message::kIllegalPort);
       if (head_->dest_port() != Message::kIllegalPort) {
@@ -106,7 +106,7 @@
     }
 #if defined(DEBUG)
     result->next_ = result;  // Make sure to trigger ASSERT in Enqueue.
-#endif  // DEBUG
+#endif                       // DEBUG
     return result;
   }
   return NULL;
@@ -129,14 +129,12 @@
 }
 
 
-MessageQueue::Iterator::Iterator(const MessageQueue* queue)
-    : next_(NULL) {
+MessageQueue::Iterator::Iterator(const MessageQueue* queue) : next_(NULL) {
   Reset(queue);
 }
 
 
-MessageQueue::Iterator::~Iterator() {
-}
+MessageQueue::Iterator::~Iterator() {}
 
 void MessageQueue::Iterator::Reset(const MessageQueue* queue) {
   ASSERT(queue != NULL);
@@ -171,7 +169,7 @@
   MessageQueue::Iterator it(this);
   while (it.HasNext()) {
     Message* current = it.Next();
-     ASSERT(current != NULL);
+    ASSERT(current != NULL);
     if (current->Id() == id) {
       return current;
     }
@@ -196,14 +194,13 @@
     JSONObject message(&messages);
     message.AddProperty("type", "Message");
     message.AddPropertyF("name", "Isolate Message (%" Px ")", current->Id());
-    message.AddPropertyF("messageObjectId", "messages/%" Px "",
-                         current->Id());
+    message.AddPropertyF("messageObjectId", "messages/%" Px "", current->Id());
     message.AddProperty("size", current->len());
     message.AddProperty("index", depth++);
     message.AddPropertyF("_destinationPort", "%" Pd64 "",
-        static_cast<int64_t>(current->dest_port()));
+                         static_cast<int64_t>(current->dest_port()));
     message.AddProperty("_priority",
-        Message::PriorityAsString(current->priority()));
+                        Message::PriorityAsString(current->priority()));
     // TODO(johnmccutchan): Move port -> handler map out of Dart and into the
     // VM, that way we can lookup the handler without invoking Dart code.
     msg_handler = DartLibraryCalls::LookupHandler(current->dest_port());
diff --git a/runtime/vm/message.h b/runtime/vm/message.h
index 7227e73..4765ef2 100644
--- a/runtime/vm/message.h
+++ b/runtime/vm/message.h
@@ -87,9 +87,7 @@
     ASSERT(len_ > 0);
     return data_;
   }
-  intptr_t len() const {
-    return len_;
-  }
+  intptr_t len() const { return len_; }
   RawObject* raw_obj() const {
     ASSERT(len_ == 0);
     return reinterpret_cast<RawObject*>(data_);
diff --git a/runtime/vm/message_handler.cc b/runtime/vm/message_handler.cc
index 80cfbbf..f98ec65 100644
--- a/runtime/vm/message_handler.cc
+++ b/runtime/vm/message_handler.cc
@@ -19,8 +19,7 @@
 
 class MessageHandlerTask : public ThreadPool::Task {
  public:
-  explicit MessageHandlerTask(MessageHandler* handler)
-      : handler_(handler) {
+  explicit MessageHandlerTask(MessageHandler* handler) : handler_(handler) {
     ASSERT(handler != NULL);
   }
 
@@ -110,9 +109,10 @@
   bool task_running;
   MonitorLocker ml(&monitor_);
   if (FLAG_trace_isolates) {
-    OS::Print("[+] Starting message handler:\n"
-              "\thandler:    %s\n",
-              name());
+    OS::Print(
+        "[+] Starting message handler:\n"
+        "\thandler:    %s\n",
+        name());
   }
   ASSERT(pool_ == NULL);
   ASSERT(!delete_me_);
@@ -137,12 +137,14 @@
       if (source_isolate) {
         source_name = source_isolate->name();
       }
-      OS::Print("[>] Posting message:\n"
-                "\tlen:        %" Pd "\n"
-                "\tsource:     %s\n"
-                "\tdest:       %s\n"
-                "\tdest_port:  %" Pd64 "\n",
-                message->len(), source_name, name(), message->dest_port());
+      OS::Print(
+          "[>] Posting message:\n"
+          "\tlen:        %" Pd
+          "\n"
+          "\tsource:     %s\n"
+          "\tdest:       %s\n"
+          "\tdest_port:  %" Pd64 "\n",
+          message->len(), source_name, name(), message->dest_port());
     }
 
     saved_priority = message->priority();
@@ -191,18 +193,20 @@
   StartIsolateScope start_isolate(isolate());
 
   MessageStatus max_status = kOK;
-  Message::Priority min_priority = ((allow_normal_messages && !paused())
-                                    ? Message::kNormalPriority
-                                    : Message::kOOBPriority);
+  Message::Priority min_priority =
+      ((allow_normal_messages && !paused()) ? Message::kNormalPriority
+                                            : Message::kOOBPriority);
   Message* message = DequeueMessage(min_priority);
   while (message != NULL) {
     intptr_t message_len = message->len();
     if (FLAG_trace_isolates) {
-      OS::Print("[<] Handling message:\n"
-                "\tlen:        %" Pd "\n"
-                "\thandler:    %s\n"
-                "\tport:       %" Pd64 "\n",
-                message_len, name(), message->dest_port());
+      OS::Print(
+          "[<] Handling message:\n"
+          "\tlen:        %" Pd
+          "\n"
+          "\thandler:    %s\n"
+          "\tport:       %" Pd64 "\n",
+          message_len, name(), message->dest_port());
     }
 
     // Release the monitor_ temporarily while we handle the message.
@@ -217,12 +221,13 @@
     message = NULL;  // May be deleted by now.
     ml->Enter();
     if (FLAG_trace_isolates) {
-      OS::Print("[.] Message handled (%s):\n"
-                "\tlen:        %" Pd "\n"
-                "\thandler:    %s\n"
-                "\tport:       %" Pd64 "\n",
-                MessageStatusString(status),
-                message_len, name(), saved_dest_port);
+      OS::Print(
+          "[.] Message handled (%s):\n"
+          "\tlen:        %" Pd
+          "\n"
+          "\thandler:    %s\n"
+          "\tport:       %" Pd64 "\n",
+          MessageStatusString(status), message_len, name(), saved_dest_port);
     }
     // If we are shutting down, do not process any more messages.
     if (status == kShutdown) {
@@ -245,8 +250,8 @@
     // Even if we encounter an error, we still process pending OOB
     // messages so that we don't lose the message notification.
     min_priority = (((max_status == kOK) && allow_normal_messages && !paused())
-                    ? Message::kNormalPriority
-                    : Message::kOOBPriority);
+                        ? Message::kNormalPriority
+                        : Message::kOOBPriority);
     message = DequeueMessage(min_priority);
   }
   return max_status;
@@ -375,8 +380,10 @@
       if (ShouldPauseOnExit(status)) {
         if (!is_paused_on_exit()) {
           if (FLAG_trace_service_pause_events) {
-            OS::PrintErr("Isolate %s paused before exiting. "
-                         "Use the Observatory to release it.\n", name());
+            OS::PrintErr(
+                "Isolate %s paused before exiting. "
+                "Use the Observatory to release it.\n",
+                name());
           }
           PausedOnExitLocked(&ml, true);
           // More messages may have come in while we released the monitor.
@@ -394,14 +401,16 @@
       if (FLAG_trace_isolates) {
         if (status != kOK && thread() != NULL) {
           const Error& error = Error::Handle(thread()->sticky_error());
-          OS::Print("[-] Stopping message handler (%s):\n"
-                    "\thandler:    %s\n"
-                    "\terror:    %s\n",
-                    MessageStatusString(status), name(), error.ToCString());
+          OS::Print(
+              "[-] Stopping message handler (%s):\n"
+              "\thandler:    %s\n"
+              "\terror:    %s\n",
+              MessageStatusString(status), name(), error.ToCString());
         } else {
-          OS::Print("[-] Stopping message handler (%s):\n"
-                    "\thandler:    %s\n",
-                    MessageStatusString(status), name());
+          OS::Print(
+              "[-] Stopping message handler (%s):\n"
+              "\thandler:    %s\n",
+              MessageStatusString(status), name());
         }
       }
       pool_ = NULL;
@@ -431,11 +440,13 @@
 void MessageHandler::ClosePort(Dart_Port port) {
   MonitorLocker ml(&monitor_);
   if (FLAG_trace_isolates) {
-    OS::Print("[-] Closing port:\n"
-              "\thandler:    %s\n"
-              "\tport:       %" Pd64 "\n"
-              "\tports:      live(%" Pd ")\n",
-              name(), port, live_ports_);
+    OS::Print(
+        "[-] Closing port:\n"
+        "\thandler:    %s\n"
+        "\tport:       %" Pd64
+        "\n"
+        "\tports:      live(%" Pd ")\n",
+        name(), port, live_ports_);
   }
 }
 
@@ -443,9 +454,10 @@
 void MessageHandler::CloseAllPorts() {
   MonitorLocker ml(&monitor_);
   if (FLAG_trace_isolates) {
-    OS::Print("[-] Closing all ports:\n"
-              "\thandler:    %s\n",
-              name());
+    OS::Print(
+        "[-] Closing all ports:\n"
+        "\thandler:    %s\n",
+        name());
   }
   queue_->Clear();
   oob_queue_->Clear();
diff --git a/runtime/vm/message_handler.h b/runtime/vm/message_handler.h
index 150dac6..88942ed 100644
--- a/runtime/vm/message_handler.h
+++ b/runtime/vm/message_handler.h
@@ -77,47 +77,38 @@
   // A message handler tracks how many live ports it has.
   bool HasLivePorts() const { return live_ports_ > 0; }
 
-  intptr_t live_ports() const {
-    return live_ports_;
-  }
+  intptr_t live_ports() const { return live_ports_; }
 
   void DebugDump();
 
   bool paused() const { return paused_ > 0; }
 
   void increment_paused() { paused_++; }
-  void decrement_paused() { ASSERT(paused_ > 0); paused_--; }
+  void decrement_paused() {
+    ASSERT(paused_ > 0);
+    paused_--;
+  }
 
   bool ShouldPauseOnStart(MessageStatus status) const;
-  bool should_pause_on_start() const {
-    return should_pause_on_start_;
-  }
+  bool should_pause_on_start() const { return should_pause_on_start_; }
 
   void set_should_pause_on_start(bool should_pause_on_start) {
     should_pause_on_start_ = should_pause_on_start;
   }
 
-  bool is_paused_on_start() const {
-    return is_paused_on_start_;
-  }
+  bool is_paused_on_start() const { return is_paused_on_start_; }
 
   bool ShouldPauseOnExit(MessageStatus status) const;
-  bool should_pause_on_exit() const {
-    return should_pause_on_exit_;
-  }
+  bool should_pause_on_exit() const { return should_pause_on_exit_; }
 
   void set_should_pause_on_exit(bool should_pause_on_exit) {
     should_pause_on_exit_ = should_pause_on_exit;
   }
 
-  bool is_paused_on_exit() const {
-    return is_paused_on_exit_;
-  }
+  bool is_paused_on_exit() const { return is_paused_on_exit_; }
 
   // Timestamp of the paused on start or paused on exit.
-  int64_t paused_timestamp() const {
-    return paused_timestamp_;
-  }
+  int64_t paused_timestamp() const { return paused_timestamp_; }
 
   void PausedOnStart(bool paused);
   void PausedOnExit(bool paused);
@@ -240,7 +231,7 @@
   // thread.
   bool oob_message_handling_allowed_;
   intptr_t live_ports_;  // The number of open ports, including control ports.
-  intptr_t paused_;  // The number of pause messages received.
+  intptr_t paused_;      // The number of pause messages received.
   bool should_pause_on_start_;
   bool should_pause_on_exit_;
   bool is_paused_on_start_;
diff --git a/runtime/vm/message_handler_test.cc b/runtime/vm/message_handler_test.cc
index e6a39a6..fedb823 100644
--- a/runtime/vm/message_handler_test.cc
+++ b/runtime/vm/message_handler_test.cc
@@ -39,16 +39,11 @@
         message_count_(0),
         start_called_(false),
         end_called_(false),
-        results_(NULL) {
-  }
+        results_(NULL) {}
 
-  ~TestMessageHandler() {
-    delete[] port_buffer_;
-  }
+  ~TestMessageHandler() { delete[] port_buffer_; }
 
-  void MessageNotify(Message::Priority priority) {
-    notify_count_++;
-  }
+  void MessageNotify(Message::Priority priority) { notify_count_++; }
 
   MessageStatus HandleMessage(Message* message) {
     // For testing purposes, keep a list of the ports
@@ -248,9 +243,9 @@
 UNIT_TEST_CASE(MessageHandler_HandleNextMessage_ProcessOOBAfterError) {
   TestMessageHandler handler;
   MessageHandler::MessageStatus results[] = {
-    MessageHandler::kError,     // oob_message1
-    MessageHandler::kOK,        // oob_message2
-    MessageHandler::kOK,        // unused
+      MessageHandler::kError,  // oob_message1
+      MessageHandler::kOK,     // oob_message2
+      MessageHandler::kOK,     // unused
   };
   handler.set_results(results);
   MessageHandlerTestPeer handler_peer(&handler);
@@ -278,10 +273,10 @@
 UNIT_TEST_CASE(MessageHandler_HandleNextMessage_Shutdown) {
   TestMessageHandler handler;
   MessageHandler::MessageStatus results[] = {
-    MessageHandler::kOK,        // oob_message1
-    MessageHandler::kShutdown,  // oob_message2
-    MessageHandler::kOK,        // unused
-    MessageHandler::kOK,        // unused
+      MessageHandler::kOK,        // oob_message1
+      MessageHandler::kShutdown,  // oob_message2
+      MessageHandler::kOK,        // unused
+      MessageHandler::kOK,        // unused
   };
   handler.set_results(results);
   MessageHandlerTestPeer handler_peer(&handler);
@@ -368,9 +363,7 @@
   EXPECT(!handler.HasLivePorts());
   handler_peer.increment_live_ports();
 
-  handler.Run(&pool,
-              TestStartFunction,
-              TestEndFunction,
+  handler.Run(&pool, TestStartFunction, TestEndFunction,
               reinterpret_cast<uword>(&handler));
   Dart_Port port = PortMap::CreatePort(&handler);
   Message* message = new Message(port, NULL, 0, Message::kNormalPriority);
diff --git a/runtime/vm/message_test.cc b/runtime/vm/message_test.cc
index 5250a77..d496a7b 100644
--- a/runtime/vm/message_test.cc
+++ b/runtime/vm/message_test.cc
@@ -31,8 +31,8 @@
   const char* str6 = "msg6";
 
   // Add two messages.
-  Message* msg1 = new Message(
-      port, AllocMsg(str1), strlen(str1) + 1, Message::kNormalPriority);
+  Message* msg1 = new Message(port, AllocMsg(str1), strlen(str1) + 1,
+                              Message::kNormalPriority);
   queue.Enqueue(msg1, false);
   EXPECT(queue.Length() == 1);
   EXPECT(!queue.IsEmpty());
@@ -41,8 +41,8 @@
   EXPECT(it.Next() == msg1);
   EXPECT(!it.HasNext());
 
-  Message* msg2 = new Message(
-      port, AllocMsg(str2), strlen(str2) + 1, Message::kNormalPriority);
+  Message* msg2 = new Message(port, AllocMsg(str2), strlen(str2) + 1,
+                              Message::kNormalPriority);
   queue.Enqueue(msg2, false);
   EXPECT(queue.Length() == 2);
   EXPECT(!queue.IsEmpty());
@@ -76,26 +76,23 @@
   EXPECT_STREQ(str2, reinterpret_cast<char*>(msg->data()));
   EXPECT(queue.IsEmpty());
 
-  Message* msg3 = new Message(Message::kIllegalPort,
-                              AllocMsg(str3), strlen(str3) + 1,
-                              Message::kNormalPriority);
+  Message* msg3 = new Message(Message::kIllegalPort, AllocMsg(str3),
+                              strlen(str3) + 1, Message::kNormalPriority);
   queue.Enqueue(msg3, true);
   EXPECT(!queue.IsEmpty());
 
-  Message* msg4 = new Message(Message::kIllegalPort,
-                              AllocMsg(str4), strlen(str4) + 1,
-                              Message::kNormalPriority);
+  Message* msg4 = new Message(Message::kIllegalPort, AllocMsg(str4),
+                              strlen(str4) + 1, Message::kNormalPriority);
   queue.Enqueue(msg4, true);
   EXPECT(!queue.IsEmpty());
 
-  Message* msg5 = new Message(
-      port, AllocMsg(str5), strlen(str5) + 1, Message::kNormalPriority);
+  Message* msg5 = new Message(port, AllocMsg(str5), strlen(str5) + 1,
+                              Message::kNormalPriority);
   queue.Enqueue(msg5, false);
   EXPECT(!queue.IsEmpty());
 
-  Message* msg6 = new Message(Message::kIllegalPort,
-                              AllocMsg(str6), strlen(str6) + 1,
-                              Message::kNormalPriority);
+  Message* msg6 = new Message(Message::kIllegalPort, AllocMsg(str6),
+                              strlen(str6) + 1, Message::kNormalPriority);
   queue.Enqueue(msg6, true);
   EXPECT(!queue.IsEmpty());
 
@@ -137,13 +134,11 @@
   const char* str2 = "msg2";
 
   // Add two messages.
-  Message* msg1 =
-      new Message(port1, AllocMsg(str1), strlen(str1) + 1,
-                  Message::kNormalPriority);
+  Message* msg1 = new Message(port1, AllocMsg(str1), strlen(str1) + 1,
+                              Message::kNormalPriority);
   queue.Enqueue(msg1, false);
-  Message* msg2 =
-      new Message(port2, AllocMsg(str2), strlen(str2) + 1,
-                  Message::kNormalPriority);
+  Message* msg2 = new Message(port2, AllocMsg(str2), strlen(str2) + 1,
+                              Message::kNormalPriority);
   queue.Enqueue(msg2, false);
 
   EXPECT(!queue.IsEmpty());
diff --git a/runtime/vm/method_recognizer.cc b/runtime/vm/method_recognizer.cc
index 649a1fe..f25e4d3 100644
--- a/runtime/vm/method_recognizer.cc
+++ b/runtime/vm/method_recognizer.cc
@@ -27,8 +27,9 @@
 
 intptr_t MethodRecognizer::ResultCid(const Function& function) {
   switch (function.recognized_kind()) {
-#define DEFINE_CASE(cname, fname, ename, result_type, fingerprint) \
-    case k##ename: return k##result_type##Cid;
+#define DEFINE_CASE(cname, fname, ename, result_type, fingerprint)             \
+  case k##ename:                                                               \
+    return k##result_type##Cid;
     RECOGNIZED_LIST(DEFINE_CASE)
 #undef DEFINE_CASE
     default:
@@ -118,12 +119,10 @@
 }
 
 
-#define KIND_TO_STRING(class_name, function_name, enum_name, type, fp) \
+#define KIND_TO_STRING(class_name, function_name, enum_name, type, fp)         \
   #enum_name,
 static const char* recognized_list_method_name[] = {
-  "Unknown",
-  RECOGNIZED_LIST(KIND_TO_STRING)
-};
+    "Unknown", RECOGNIZED_LIST(KIND_TO_STRING)};
 #undef KIND_TO_STRING
 
 const char* MethodRecognizer::KindToCString(Kind kind) {
diff --git a/runtime/vm/method_recognizer.h b/runtime/vm/method_recognizer.h
index 9051240..ed079f6 100644
--- a/runtime/vm/method_recognizer.h
+++ b/runtime/vm/method_recognizer.h
@@ -9,6 +9,7 @@
 
 namespace dart {
 
+// clang-format off
 // (class-name, function-name, recognized enum, result type, fingerprint).
 // When adding a new function add a 0 as fingerprint, build and run to get the
 // correct fingerprint from the mismatch error.
@@ -490,7 +491,9 @@
   V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, 0x4765edda)              \
   V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, 0x7cca4533)          \
   V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, 0x7631bdbc)              \
-  V(Object, get:runtimeType, ObjectRuntimeType, 0x00e7c26b)                    \
+  V(Object, get:runtimeType, ObjectRuntimeType, 0x00e7c26b)
+
+// clang-format on
 
 // Forward declarations.
 class Function;
@@ -502,11 +505,11 @@
  public:
   enum Kind {
     kUnknown,
-#define DEFINE_ENUM_LIST(class_name, function_name, enum_name, type, fp) \
-    k##enum_name,
+#define DEFINE_ENUM_LIST(class_name, function_name, enum_name, type, fp)       \
+  k##enum_name,
     RECOGNIZED_LIST(DEFINE_ENUM_LIST)
 #undef DEFINE_ENUM_LIST
-    kNumRecognizedMethods
+        kNumRecognizedMethods
   };
 
   static Kind RecognizeKind(const Function& function);
@@ -522,14 +525,15 @@
 
 
 #if defined(DART_NO_SNAPSHOT)
-#define CHECK_FINGERPRINT2(f, p0, p1, fp) \
+#define CHECK_FINGERPRINT2(f, p0, p1, fp)                                      \
   ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1, fp))
 
-#define CHECK_FINGERPRINT3(f, p0, p1, p2, fp) \
+#define CHECK_FINGERPRINT3(f, p0, p1, p2, fp)                                  \
   ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1 ", " #p2, fp))
 #endif  // defined(DART_NO_SNAPSHOT).
 
 
+// clang-format off
 // List of recognized list factories:
 // (factory-name-symbol, result-cid, fingerprint).
 #define RECOGNIZED_LIST_FACTORY_LIST(V)                                        \
@@ -547,8 +551,9 @@
   V(_Uint64ArrayFactory, kTypedDataUint64ArrayCid, 0x2c093004)                 \
   V(_Float64ArrayFactory, kTypedDataFloat64ArrayCid, 0x501be4f1)               \
   V(_Float32ArrayFactory, kTypedDataFloat32ArrayCid, 0x738e124b)               \
-  V(_Float32x4ArrayFactory, kTypedDataFloat32x4ArrayCid, 0x7a7dd718)           \
+  V(_Float32x4ArrayFactory, kTypedDataFloat32x4ArrayCid, 0x7a7dd718)
 
+// clang-format on
 
 // Class that recognizes factories and returns corresponding result cid.
 class FactoryRecognizer : public AllStatic {
diff --git a/runtime/vm/metrics.cc b/runtime/vm/metrics.cc
index 137042e..5a2f5a7 100644
--- a/runtime/vm/metrics.cc
+++ b/runtime/vm/metrics.cc
@@ -13,7 +13,9 @@
 
 namespace dart {
 
-DEFINE_FLAG(bool, print_metrics, false,
+DEFINE_FLAG(bool,
+            print_metrics,
+            false,
             "Print metrics when isolates (and the VM) are shutdown.");
 
 Metric* Metric::vm_list_head_ = NULL;
@@ -24,8 +26,7 @@
       description_(NULL),
       unit_(kCounter),
       value_(0),
-      next_(NULL) {
-}
+      next_(NULL) {}
 
 
 void Metric::Init(Isolate* isolate,
@@ -70,8 +71,10 @@
 #ifndef PRODUCT
 static const char* UnitString(intptr_t unit) {
   switch (unit) {
-    case Metric::kCounter: return "counter";
-    case Metric::kByte: return "byte";
+    case Metric::kCounter:
+      return "counter";
+    case Metric::kByte:
+      return "byte";
     default:
       UNREACHABLE();
   }
@@ -122,10 +125,8 @@
         scaled_suffix = "gb";
         scaled_value /= GB;
       }
-      return zone->PrintToString("%.3f %s (%" Pd64 ")",
-                                 scaled_value,
-                                 scaled_suffix,
-                                 value);
+      return zone->PrintToString("%.3f %s (%" Pd64 ")", scaled_value,
+                                 scaled_suffix, value);
     }
     default:
       UNREACHABLE();
@@ -157,7 +158,6 @@
 }
 
 
-
 void Metric::RegisterWithIsolate() {
   ASSERT(isolate_ != NULL);
   ASSERT(next_ == NULL);
@@ -293,7 +293,7 @@
 
 #define VM_METRIC_VARIABLE(type, variable, name, unit)                         \
   static type vm_metric_##variable##_;
-  VM_METRIC_LIST(VM_METRIC_VARIABLE);
+VM_METRIC_LIST(VM_METRIC_VARIABLE);
 #undef VM_METRIC_VARIABLE
 
 
@@ -319,8 +319,7 @@
 }
 
 
-MaxMetric::MaxMetric()
-    : Metric() {
+MaxMetric::MaxMetric() : Metric() {
   set_value(kMinInt64);
 }
 
@@ -332,8 +331,7 @@
 }
 
 
-MinMetric::MinMetric()
-    : Metric() {
+MinMetric::MinMetric() : Metric() {
   set_value(kMaxInt64);
 }
 
diff --git a/runtime/vm/metrics.h b/runtime/vm/metrics.h
index 6694585..fd4449b 100644
--- a/runtime/vm/metrics.h
+++ b/runtime/vm/metrics.h
@@ -25,7 +25,7 @@
   V(MaxMetric, HeapNewCapacityMax, "heap.new.capacity.max", kByte)             \
   V(MetricHeapNewExternal, HeapNewExternal, "heap.new.external", kByte)        \
   V(MetricHeapUsed, HeapGlobalUsed, "heap.global.used", kByte)                 \
-  V(MaxMetric, HeapGlobalUsedMax, "heap.global.used.max", kByte)               \
+  V(MaxMetric, HeapGlobalUsedMax, "heap.global.used.max", kByte)
 
 #define VM_METRIC_LIST(V)                                                      \
   V(MetricIsolateCount, IsolateCount, "vm.isolate.count", kCounter)
@@ -50,9 +50,7 @@
             Unit unit);
 
   // Initialize and register a metric for the VM.
-  void Init(const char* name,
-            const char* description,
-            Unit unit);
+  void Init(const char* name, const char* description, Unit unit);
 
   virtual ~Metric();
 
@@ -72,9 +70,7 @@
   void increment() { value_++; }
 
   Metric* next() const { return next_; }
-  void set_next(Metric* next) {
-    next_ = next;
-  }
+  void set_next(Metric* next) { next_ = next; }
 
   const char* name() const { return name_; }
   const char* description() const { return description_; }
diff --git a/runtime/vm/metrics_test.cc b/runtime/vm/metrics_test.cc
index 1e99b2d..77a762f 100644
--- a/runtime/vm/metrics_test.cc
+++ b/runtime/vm/metrics_test.cc
@@ -16,8 +16,8 @@
 #ifndef PRODUCT
 
 UNIT_TEST_CASE(Metric_Simple) {
-  Dart_CreateIsolate(
-      NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL, NULL);
+  Dart_CreateIsolate(NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL,
+                     NULL);
   {
     Metric metric;
 
@@ -45,8 +45,8 @@
 };
 
 UNIT_TEST_CASE(Metric_OnDemand) {
-  Dart_CreateIsolate(
-      NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL, NULL);
+  Dart_CreateIsolate(NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL,
+                     NULL);
   {
     Thread* thread = Thread::Current();
     StackZone zone(thread);
@@ -63,10 +63,12 @@
     JSONStream js;
     metric.PrintJSON(&js);
     const char* json = js.ToCString();
-    EXPECT_STREQ("{\"type\":\"Counter\",\"name\":\"a.b.c\",\"description\":"
-                 "\"foobar\",\"unit\":\"byte\","
-                 "\"fixedId\":true,\"id\":\"metrics\\/native\\/a.b.c\""
-                 ",\"value\":99.000000}", json);
+    EXPECT_STREQ(
+        "{\"type\":\"Counter\",\"name\":\"a.b.c\",\"description\":"
+        "\"foobar\",\"unit\":\"byte\","
+        "\"fixedId\":true,\"id\":\"metrics\\/native\\/a.b.c\""
+        ",\"value\":99.000000}",
+        json);
   }
   Dart_ShutdownIsolate();
 }
diff --git a/runtime/vm/mirrors_api_impl.cc b/runtime/vm/mirrors_api_impl.cc
index ddc649b..3ed8355 100644
--- a/runtime/vm/mirrors_api_impl.cc
+++ b/runtime/vm/mirrors_api_impl.cc
@@ -32,7 +32,7 @@
     const Class& cls = Class::Handle(Type::Cast(obj).type_class());
     return Api::NewHandle(T, cls.UserVisibleName());
   } else {
-    RETURN_TYPE_ERROR(Z, object, Class/Type);
+    RETURN_TYPE_ERROR(Z, object, Class / Type);
   }
 }
 
@@ -41,8 +41,9 @@
   DARTSCOPE(Thread::Current());
   const Object& obj = Object::Handle(Z, Api::UnwrapHandle(object));
   if (obj.IsType() || obj.IsClass()) {
-    const Class& cls = (obj.IsType()) ?
-        Class::Handle(Z, Type::Cast(obj).type_class()) : Class::Cast(obj);
+    const Class& cls = (obj.IsType())
+                           ? Class::Handle(Z, Type::Cast(obj).type_class())
+                           : Class::Cast(obj);
     const char* str = cls.ToCString();
     if (str == NULL) {
       RETURN_NULL_ERROR(str);
@@ -50,7 +51,7 @@
     CHECK_CALLBACK_STATE(T);
     return Api::NewHandle(T, String::New(str));
   } else {
-    RETURN_TYPE_ERROR(Z, object, Class/Type);
+    RETURN_TYPE_ERROR(Z, object, Class / Type);
   }
 }
 
@@ -121,8 +122,7 @@
     }
   } else {
     return Api::NewError(
-        "%s expects argument 'target' to be a class or library.",
-        CURRENT_FUNC);
+        "%s expects argument 'target' to be a class or library.", CURRENT_FUNC);
   }
   return Api::NewHandle(T, Array::MakeArray(names));
 }
@@ -191,8 +191,7 @@
     }
   } else {
     return Api::NewError(
-        "%s expects argument 'target' to be a class or library.",
-        CURRENT_FUNC);
+        "%s expects argument 'target' to be a class or library.", CURRENT_FUNC);
   }
 
 #if defined(DEBUG)
@@ -232,8 +231,8 @@
   const Class& owner = Class::Handle(Z, func.Owner());
   ASSERT(!owner.IsNull());
   if (owner.IsTopLevel()) {
-    // Top-level functions are implemented as members of a hidden class. We hide
-    // that class here and instead answer the library.
+// Top-level functions are implemented as members of a hidden class. We hide
+// that class here and instead answer the library.
 #if defined(DEBUG)
     const Library& lib = Library::Handle(Z, owner.library());
     if (lib.IsNull()) {
diff --git a/runtime/vm/native_api_impl.cc b/runtime/vm/native_api_impl.cc
index 48d9289..08a8daa 100644
--- a/runtime/vm/native_api_impl.cc
+++ b/runtime/vm/native_api_impl.cc
@@ -37,6 +37,7 @@
       Dart_EnterIsolate(I);
     }
   }
+
  private:
   Isolate* saved_isolate_;
 
@@ -64,8 +65,8 @@
 
 DART_EXPORT bool Dart_PostInteger(Dart_Port port_id, int64_t message) {
   if (Smi::IsValid(message)) {
-    return PortMap::PostMessage(new Message(
-        port_id, Smi::New(message), Message::kNormalPriority));
+    return PortMap::PostMessage(
+        new Message(port_id, Smi::New(message), Message::kNormalPriority));
   }
   Dart_CObject cobj;
   cobj.type = Dart_CObject_kInt64;
@@ -132,8 +133,7 @@
 
 static void ParseAll(Thread* thread, Dart_Handle* result) {
   ASSERT(thread != NULL);
-  const Error& error = Error::Handle(thread->zone(),
-                                     Library::ParseAll(thread));
+  const Error& error = Error::Handle(thread->zone(), Library::ParseAll(thread));
   if (error.IsNull()) {
     *result = Api::Success();
   } else {
diff --git a/runtime/vm/native_arguments.h b/runtime/vm/native_arguments.h
index 3586569..b54499c 100644
--- a/runtime/vm/native_arguments.h
+++ b/runtime/vm/native_arguments.h
@@ -28,20 +28,23 @@
 // C-stack is always aligned on DBC because we don't have any native code.
 #define CHECK_STACK_ALIGNMENT
 #elif defined(USING_SIMULATOR)
-#define CHECK_STACK_ALIGNMENT {                                                \
-  uword current_sp = Simulator::Current()->get_register(SPREG);                \
-  ASSERT(Utils::IsAligned(current_sp, OS::ActivationFrameAlignment()));        \
-}
+#define CHECK_STACK_ALIGNMENT                                                  \
+  {                                                                            \
+    uword current_sp = Simulator::Current()->get_register(SPREG);              \
+    ASSERT(Utils::IsAligned(current_sp, OS::ActivationFrameAlignment()));      \
+  }
 #elif defined(TARGET_OS_WINDOWS)
 // The compiler may dynamically align the stack on Windows, so do not check.
-#define CHECK_STACK_ALIGNMENT { }
+#define CHECK_STACK_ALIGNMENT                                                  \
+  {}
 #else
-#define CHECK_STACK_ALIGNMENT {                                                \
-  uword (*func)() = reinterpret_cast<uword (*)()>(                             \
-      StubCode::GetStackPointer_entry()->EntryPoint());                        \
-  uword current_sp = func();                                                   \
-  ASSERT(Utils::IsAligned(current_sp, OS::ActivationFrameAlignment()));        \
-}
+#define CHECK_STACK_ALIGNMENT                                                  \
+  {                                                                            \
+    uword (*func)() = reinterpret_cast<uword (*)()>(                           \
+        StubCode::GetStackPointer_entry()->EntryPoint());                      \
+    uword current_sp = func();                                                 \
+    ASSERT(Utils::IsAligned(current_sp, OS::ActivationFrameAlignment()));      \
+  }
 #endif
 
 void VerifyOnTransition();
@@ -57,9 +60,12 @@
 
 #else
 
-#define CHECK_STACK_ALIGNMENT { }
-#define VERIFY_ON_TRANSITION { }
-#define DEOPTIMIZE_ALOT { }
+#define CHECK_STACK_ALIGNMENT                                                  \
+  {}
+#define VERIFY_ON_TRANSITION                                                   \
+  {}
+#define DEOPTIMIZE_ALOT                                                        \
+  {}
 
 #endif
 
@@ -70,7 +76,8 @@
   }
 #else
 #define TRACE_NATIVE_CALL(format, name)                                        \
-  do { } while (0)
+  do {                                                                         \
+  } while (0)
 #endif
 
 // Class NativeArguments is used to access arguments passed in from
@@ -138,9 +145,7 @@
     return ArgAt(actual_index);
   }
 
-  void SetReturn(const Object& value) const {
-    *retval_ = value.raw();
-  }
+  void SetReturn(const Object& value) const { *retval_ = value.raw(); }
 
   RawObject* ReturnValue() const {
     // Tell MemorySanitizer the retval_ was initialized (by generated code).
@@ -207,10 +212,10 @@
     kAutoSetupScopeBit = 26,
   };
   class ArgcBits : public BitField<intptr_t, int32_t, kArgcBit, kArgcSize> {};
-  class FunctionBits :
-      public BitField<intptr_t, int, kFunctionBit, kFunctionSize> {};
-  class AutoSetupScopeBits :
-      public BitField<intptr_t, int, kAutoSetupScopeBit, 1> {};
+  class FunctionBits
+      : public BitField<intptr_t, int, kFunctionBit, kFunctionSize> {};
+  class AutoSetupScopeBits
+      : public BitField<intptr_t, int, kAutoSetupScopeBit, 1> {};
   friend class Api;
   friend class BootstrapNatives;
   friend class Simulator;
@@ -221,17 +226,14 @@
                   int argc_tag,
                   RawObject** argv,
                   RawObject** retval)
-      : thread_(thread), argc_tag_(argc_tag), argv_(argv), retval_(retval) {
-  }
+      : thread_(thread), argc_tag_(argc_tag), argv_(argv), retval_(retval) {}
 #endif
 
   // Since this function is passed a RawObject directly, we need to be
   // exceedingly careful when we use it.  If there are any other side
   // effects in the statement that may cause GC, it could lead to
   // bugs.
-  void SetReturnUnsafe(RawObject* value) const {
-    *retval_ = value;
-  }
+  void SetReturnUnsafe(RawObject* value) const { *retval_ = value; }
 
   // Returns true if the arguments are those of an instance function call.
   bool ToInstanceFunction() const {
@@ -254,9 +256,9 @@
     return 0;
   }
 
-  Thread* thread_;  // Current thread pointer.
-  intptr_t argc_tag_;  // Encodes argument count and invoked native call type.
-  RawObject** argv_;  // Pointer to an array of arguments to runtime call.
+  Thread* thread_;      // Current thread pointer.
+  intptr_t argc_tag_;   // Encodes argument count and invoked native call type.
+  RawObject** argv_;    // Pointer to an array of arguments to runtime call.
   RawObject** retval_;  // Pointer to the return value area.
 };
 
diff --git a/runtime/vm/native_entry.cc b/runtime/vm/native_entry.cc
index e56bfa8..7e1655e 100644
--- a/runtime/vm/native_entry.cc
+++ b/runtime/vm/native_entry.cc
@@ -21,7 +21,9 @@
 
 namespace dart {
 
-DEFINE_FLAG(bool, trace_natives, false,
+DEFINE_FLAG(bool,
+            trace_natives,
+            false,
             "Trace invocation of natives (debug mode only)");
 
 
@@ -149,13 +151,11 @@
     TRACE_NATIVE_CALL("0x%" Px "", reinterpret_cast<uintptr_t>(func));
     TransitionGeneratedToNative transition(thread);
     if (scope == NULL) {
-      scope = new ApiLocalScope(current_top_scope,
-                                thread->top_exit_frame_info());
+      scope =
+          new ApiLocalScope(current_top_scope, thread->top_exit_frame_info());
       ASSERT(scope != NULL);
     } else {
-      scope->Reinit(thread,
-                    current_top_scope,
-                    thread->top_exit_frame_info());
+      scope->Reinit(thread, current_top_scope, thread->top_exit_frame_info());
       thread->set_api_reusable_scope(NULL);
     }
     thread->set_api_top_scope(scope);  // New scope is now the top scope.
@@ -197,8 +197,8 @@
 
   const int num_params = NativeArguments::ParameterCountForResolution(func);
   bool auto_setup_scope = true;
-  return NativeEntry::ResolveNative(
-      library, native_name, num_params, &auto_setup_scope);
+  return NativeEntry::ResolveNative(library, native_name, num_params,
+                                    &auto_setup_scope);
 }
 
 
@@ -238,27 +238,25 @@
     }
 
     bool is_bootstrap_native = false;
-    target_function = ResolveNativeFunction(
-        arguments->thread()->zone(), func, &is_bootstrap_native);
+    target_function = ResolveNativeFunction(arguments->thread()->zone(), func,
+                                            &is_bootstrap_native);
     ASSERT(target_function != NULL);
 
 #if defined(DEBUG)
     {
       NativeFunction current_function = NULL;
-      const Code& current_trampoline = Code::Handle(
-          CodePatcher::GetNativeCallAt(caller_frame->pc(),
-                                       code,
-                                       &current_function));
+      const Code& current_trampoline =
+          Code::Handle(CodePatcher::GetNativeCallAt(caller_frame->pc(), code,
+                                                    &current_function));
 #if !defined(USING_SIMULATOR)
       ASSERT(current_function ==
              reinterpret_cast<NativeFunction>(LinkNativeCall));
 #else
-      ASSERT(current_function ==
-             reinterpret_cast<NativeFunction>(
-                 Simulator::RedirectExternalReference(
-                     reinterpret_cast<uword>(LinkNativeCall),
-                     Simulator::kBootstrapNativeCall,
-                     NativeEntry::kNumArguments)));
+      ASSERT(
+          current_function ==
+          reinterpret_cast<NativeFunction>(Simulator::RedirectExternalReference(
+              reinterpret_cast<uword>(LinkNativeCall),
+              Simulator::kBootstrapNativeCall, NativeEntry::kNumArguments)));
 #endif
       ASSERT(current_trampoline.raw() ==
              StubCode::CallBootstrapCFunction_entry()->code());
@@ -267,26 +265,25 @@
 
     call_through_wrapper = !is_bootstrap_native;
     const Code& trampoline =
-        Code::Handle(call_through_wrapper ?
-            StubCode::CallNativeCFunction_entry()->code() :
-            StubCode::CallBootstrapCFunction_entry()->code());
+        Code::Handle(call_through_wrapper
+                         ? StubCode::CallNativeCFunction_entry()->code()
+                         : StubCode::CallBootstrapCFunction_entry()->code());
 
     NativeFunction patch_target_function = target_function;
 #if defined(USING_SIMULATOR)
     if (!call_through_wrapper) {
-      patch_target_function = reinterpret_cast<NativeFunction>(
-          Simulator::RedirectExternalReference(
+      patch_target_function =
+          reinterpret_cast<NativeFunction>(Simulator::RedirectExternalReference(
               reinterpret_cast<uword>(patch_target_function),
               Simulator::kBootstrapNativeCall, NativeEntry::kNumArguments));
     }
 #endif
 
-    CodePatcher::PatchNativeCallAt(
-        caller_frame->pc(), code, patch_target_function, trampoline);
+    CodePatcher::PatchNativeCallAt(caller_frame->pc(), code,
+                                   patch_target_function, trampoline);
 
     if (FLAG_trace_natives) {
-      OS::Print("    -> %p (%s)\n",
-                target_function,
+      OS::Print("    -> %p (%s)\n", target_function,
                 is_bootstrap_native ? "bootstrap" : "non-bootstrap");
     }
   }
diff --git a/runtime/vm/native_entry.h b/runtime/vm/native_entry.h
index 72531fa..9b8f6e34 100644
--- a/runtime/vm/native_entry.h
+++ b/runtime/vm/native_entry.h
@@ -33,15 +33,12 @@
   ASSERT(retval->IsDartInstance());                                            \
   arguments->SetReturnUnsafe(retval);
 #else
-#define SET_NATIVE_RETVAL(arguments, value)                                    \
-  arguments->SetReturnUnsafe(value);
+#define SET_NATIVE_RETVAL(arguments, value) arguments->SetReturnUnsafe(value);
 #endif
 
 #define DEFINE_NATIVE_ENTRY(name, argument_count)                              \
-  static RawObject* DN_Helper##name(Isolate* isolate,                          \
-                                    Thread* thread,                            \
-                                    Zone* zone,                                \
-                                    NativeArguments* arguments);               \
+  static RawObject* DN_Helper##name(Isolate* isolate, Thread* thread,          \
+                                    Zone* zone, NativeArguments* arguments);   \
   void NATIVE_ENTRY_FUNCTION(name)(Dart_NativeArguments args) {                \
     CHECK_STACK_ALIGNMENT;                                                     \
     VERIFY_ON_TRANSITION;                                                      \
@@ -49,26 +46,22 @@
     /* Tell MemorySanitizer 'arguments' is initialized by generated code. */   \
     MSAN_UNPOISON(arguments, sizeof(*arguments));                              \
     ASSERT(arguments->NativeArgCount() == argument_count);                     \
-    TRACE_NATIVE_CALL("%s", ""#name);                                          \
+    TRACE_NATIVE_CALL("%s", "" #name);                                         \
     {                                                                          \
       Thread* thread = arguments->thread();                                    \
       ASSERT(thread == Thread::Current());                                     \
       Isolate* isolate = thread->isolate();                                    \
       TransitionGeneratedToVM transition(thread);                              \
       StackZone zone(thread);                                                  \
-      SET_NATIVE_RETVAL(arguments,                                             \
-                        DN_Helper##name(isolate,                               \
-                                        thread,                                \
-                                        zone.GetZone(),                        \
-                                        arguments));                           \
+      SET_NATIVE_RETVAL(                                                       \
+          arguments,                                                           \
+          DN_Helper##name(isolate, thread, zone.GetZone(), arguments));        \
       DEOPTIMIZE_ALOT;                                                         \
     }                                                                          \
     VERIFY_ON_TRANSITION;                                                      \
   }                                                                            \
-  static RawObject* DN_Helper##name(Isolate* isolate,                          \
-                                    Thread* thread,                            \
-                                    Zone* zone,                                \
-                                    NativeArguments* arguments)
+  static RawObject* DN_Helper##name(Isolate* isolate, Thread* thread,          \
+                                    Zone* zone, NativeArguments* arguments)
 
 
 // Helper that throws an argument exception.
@@ -118,7 +111,7 @@
   static void NativeCallWrapper(Dart_NativeArguments args,
                                 Dart_NativeFunction func);
 
-  // DBC does not support lazy native call linking.
+// DBC does not support lazy native call linking.
 #if !defined(TARGET_ARCH_DBC)
   static uword LinkNativeCallEntry();
   static void LinkNativeCall(Dart_NativeArguments args);
diff --git a/runtime/vm/native_entry_test.cc b/runtime/vm/native_entry_test.cc
index 6929913..eb012e0 100644
--- a/runtime/vm/native_entry_test.cc
+++ b/runtime/vm/native_entry_test.cc
@@ -64,7 +64,7 @@
   for (int i = 0; i < arg_count; i++) {
     Dart_Handle arg = Dart_GetNativeArgument(args, i);
     GET_NATIVE_ARGUMENT(Integer, argument, arguments->NativeArgAt(i));
-    EXPECT(argument.IsInteger());  // May be null.
+    EXPECT(argument.IsInteger());                       // May be null.
     EXPECT_EQ(Api::UnwrapHandle(arg), argument.raw());  // May be null.
     int64_t arg_value = -1;
     if (argument.IsNull()) {
diff --git a/runtime/vm/native_message_handler.cc b/runtime/vm/native_message_handler.cc
index 1763341..41fbd2c 100644
--- a/runtime/vm/native_message_handler.cc
+++ b/runtime/vm/native_message_handler.cc
@@ -13,9 +13,7 @@
 
 NativeMessageHandler::NativeMessageHandler(const char* name,
                                            Dart_NativeMessageHandler func)
-    : name_(strdup(name)),
-      func_(func) {
-}
+    : name_(strdup(name)), func_(func) {}
 
 
 NativeMessageHandler::~NativeMessageHandler() {
diff --git a/runtime/vm/native_symbol_android.cc b/runtime/vm/native_symbol_android.cc
index db43d23..8cb3b67 100644
--- a/runtime/vm/native_symbol_android.cc
+++ b/runtime/vm/native_symbol_android.cc
@@ -11,12 +11,10 @@
 
 namespace dart {
 
-void NativeSymbolResolver::InitOnce() {
-}
+void NativeSymbolResolver::InitOnce() {}
 
 
-void NativeSymbolResolver::ShutdownOnce() {
-}
+void NativeSymbolResolver::ShutdownOnce() {}
 
 
 char* NativeSymbolResolver::LookupSymbolName(uintptr_t pc, uintptr_t* start) {
diff --git a/runtime/vm/native_symbol_fuchsia.cc b/runtime/vm/native_symbol_fuchsia.cc
index 22db3f7..528d4e5 100644
--- a/runtime/vm/native_symbol_fuchsia.cc
+++ b/runtime/vm/native_symbol_fuchsia.cc
@@ -9,16 +9,14 @@
 #include "vm/native_symbol.h"
 
 #include <cxxabi.h>  // NOLINT
-#include <dlfcn.h>  // NOLINT
+#include <dlfcn.h>   // NOLINT
 
 namespace dart {
 
-void NativeSymbolResolver::InitOnce() {
-}
+void NativeSymbolResolver::InitOnce() {}
 
 
-void NativeSymbolResolver::ShutdownOnce() {
-}
+void NativeSymbolResolver::ShutdownOnce() {}
 
 
 char* NativeSymbolResolver::LookupSymbolName(uintptr_t pc, uintptr_t* start) {
diff --git a/runtime/vm/native_symbol_linux.cc b/runtime/vm/native_symbol_linux.cc
index 120ef9a..9556ddb 100644
--- a/runtime/vm/native_symbol_linux.cc
+++ b/runtime/vm/native_symbol_linux.cc
@@ -9,16 +9,14 @@
 #include "vm/native_symbol.h"
 
 #include <cxxabi.h>  // NOLINT
-#include <dlfcn.h>  // NOLINT
+#include <dlfcn.h>   // NOLINT
 
 namespace dart {
 
-void NativeSymbolResolver::InitOnce() {
-}
+void NativeSymbolResolver::InitOnce() {}
 
 
-void NativeSymbolResolver::ShutdownOnce() {
-}
+void NativeSymbolResolver::ShutdownOnce() {}
 
 
 char* NativeSymbolResolver::LookupSymbolName(uintptr_t pc, uintptr_t* start) {
diff --git a/runtime/vm/native_symbol_macos.cc b/runtime/vm/native_symbol_macos.cc
index df944cc..6ca35cd 100644
--- a/runtime/vm/native_symbol_macos.cc
+++ b/runtime/vm/native_symbol_macos.cc
@@ -8,16 +8,14 @@
 #include "vm/native_symbol.h"
 
 #include <cxxabi.h>  // NOLINT
-#include <dlfcn.h>  // NOLINT
+#include <dlfcn.h>   // NOLINT
 
 namespace dart {
 
-void NativeSymbolResolver::InitOnce() {
-}
+void NativeSymbolResolver::InitOnce() {}
 
 
-void NativeSymbolResolver::ShutdownOnce() {
-}
+void NativeSymbolResolver::ShutdownOnce() {}
 
 
 char* NativeSymbolResolver::LookupSymbolName(uintptr_t pc, uintptr_t* start) {
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index bf063f3..87d48c8 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -49,20 +49,32 @@
 
 namespace dart {
 
-DEFINE_FLAG(int, huge_method_cutoff_in_code_size, 200000,
-    "Huge method cutoff in unoptimized code size (in bytes).");
-DEFINE_FLAG(bool, overlap_type_arguments, true,
+DEFINE_FLAG(int,
+            huge_method_cutoff_in_code_size,
+            200000,
+            "Huge method cutoff in unoptimized code size (in bytes).");
+DEFINE_FLAG(
+    bool,
+    overlap_type_arguments,
+    true,
     "When possible, partially or fully overlap the type arguments of a type "
     "with the type arguments of its super type.");
-DEFINE_FLAG(bool, show_internal_names, false,
+DEFINE_FLAG(
+    bool,
+    show_internal_names,
+    false,
     "Show names of internal classes (e.g. \"OneByteString\") in error messages "
     "instead of showing the corresponding interface names (e.g. \"String\")");
 DEFINE_FLAG(bool, use_lib_cache, true, "Use library name cache");
 DEFINE_FLAG(bool, use_exp_cache, true, "Use library exported name cache");
-DEFINE_FLAG(bool, ignore_patch_signature_mismatch, false,
+DEFINE_FLAG(bool,
+            ignore_patch_signature_mismatch,
+            false,
             "Ignore patch file member signature mismatch.");
 
-DEFINE_FLAG(bool, remove_script_timestamps_for_test, false,
+DEFINE_FLAG(bool,
+            remove_script_timestamps_for_test,
+            false,
             "Remove script timestamps to allow for deterministic testing.");
 
 DECLARE_FLAG(bool, show_invisible_frames);
@@ -82,7 +94,7 @@
 RawArray* ICData::cached_icdata_arrays_[kCachedICDataArrayCount];
 
 cpp_vtable Object::handle_vtable_ = 0;
-cpp_vtable Object::builtin_vtables_[kNumPredefinedCids] = { 0 };
+cpp_vtable Object::builtin_vtables_[kNumPredefinedCids] = {0};
 cpp_vtable Smi::handle_vtable_ = 0;
 
 // These are initialized to a value that will force a illegal memory access if
@@ -172,7 +184,8 @@
 static void AppendSubString(Zone* zone,
                             GrowableArray<const char*>* segments,
                             const char* name,
-                            intptr_t start_pos, intptr_t len) {
+                            intptr_t start_pos,
+                            intptr_t len) {
   char* segment = zone->Alloc<char>(len + 1);  // '\0'-terminated.
   memmove(segment, name + start_pos, len);
   segment[len] = '\0';
@@ -227,12 +240,12 @@
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
 
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
   if (name.Equals(Symbols::TopLevel())) {
     // Name of invisible top-level class.
     return Symbols::Empty().raw();
   }
-)
+#endif  // !defined(PRODUCT)
 
   const char* cname = name.ToCString();
   ASSERT(strlen(cname) == static_cast<size_t>(name.Length()));
@@ -242,8 +255,8 @@
   GrowableArray<const char*> unmangled_segments;
   intptr_t sum_segment_len = 0;
   for (intptr_t i = 0; i < name_len; i++) {
-    if ((cname[i] == '@') && ((i + 1) < name_len) &&
-        (cname[i + 1] >= '0') && (cname[i + 1] <= '9')) {
+    if ((cname[i] == '@') && ((i + 1) < name_len) && (cname[i + 1] >= '0') &&
+        (cname[i + 1] <= '9')) {
       // Append the current segment to the unmangled name.
       const intptr_t segment_len = i - start_pos;
       sum_segment_len += segment_len;
@@ -251,8 +264,7 @@
       // Advance until past the name mangling. The private keys are only
       // numbers so we skip until the first non-number.
       i++;  // Skip the '@'.
-      while ((i < name.Length()) &&
-             (name.CharAt(i) >= '0') &&
+      while ((i < name.Length()) && (name.CharAt(i) >= '0') &&
              (name.CharAt(i) <= '9')) {
         i++;
       }
@@ -277,7 +289,7 @@
     unmangled_name = MergeSubStrings(zone, unmangled_segments, sum_segment_len);
   }
 
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
   intptr_t len = sum_segment_len;
   intptr_t start = 0;
   intptr_t dot_pos = -1;  // Position of '.' in the name, if any.
@@ -326,14 +338,14 @@
   }
 
   unmangled_name = MergeSubStrings(zone, unmangled_segments, final_len);
-)
+#endif  // !defined(PRODUCT)
 
   return Symbols::New(thread, unmangled_name);
 }
 
 
 RawString* String::ScrubNameRetainPrivate(const String& name) {
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
   intptr_t len = name.Length();
   intptr_t start = 0;
   intptr_t at_pos = -1;  // Position of '@' in the name, if any.
@@ -376,22 +388,16 @@
   }
 
   return result.raw();
-)
+#endif                // !defined(PRODUCT)
   return name.raw();  // In PRODUCT, return argument unchanged.
 }
 
 
-template<typename type>
+template <typename type>
 static bool IsSpecialCharacter(type value) {
-  return ((value == '"') ||
-          (value == '\n') ||
-          (value == '\f') ||
-          (value == '\b') ||
-          (value == '\t') ||
-          (value == '\v') ||
-          (value == '\r') ||
-          (value == '\\') ||
-          (value == '$'));
+  return ((value == '"') || (value == '\n') || (value == '\f') ||
+          (value == '\b') || (value == '\t') || (value == '\v') ||
+          (value == '\r') || (value == '\\') || (value == '$'));
 }
 
 
@@ -401,10 +407,7 @@
 
 
 static inline bool NeedsEscapeSequence(int32_t c) {
-  return (c == '"')  ||
-         (c == '\\') ||
-         (c == '$')  ||
-         IsAsciiNonprintable(c);
+  return (c == '"') || (c == '\\') || (c == '$') || IsAsciiNonprintable(c);
 }
 
 
@@ -418,7 +421,7 @@
 }
 
 
-template<typename type>
+template <typename type>
 static type SpecialCharacter(type value) {
   if (value == '"') {
     return '"';
@@ -496,8 +499,8 @@
   extractor_parameter_names_ = Array::ReadOnlyHandle();
   sentinel_ = Instance::ReadOnlyHandle();
   transition_sentinel_ = Instance::ReadOnlyHandle();
-  unknown_constant_ =  Instance::ReadOnlyHandle();
-  non_constant_ =  Instance::ReadOnlyHandle();
+  unknown_constant_ = Instance::ReadOnlyHandle();
+  non_constant_ = Instance::ReadOnlyHandle();
   bool_true_ = Bool::ReadOnlyHandle();
   bool_false_ = Bool::ReadOnlyHandle();
   smi_illegal_cid_ = Smi::ReadOnlyHandle();
@@ -724,8 +727,7 @@
     uword address = heap->Allocate(Array::InstanceSize(0), Heap::kOld);
     InitializeObject(address, kImmutableArrayCid, Array::InstanceSize(0), true);
     Array::initializeHandle(
-        empty_array_,
-        reinterpret_cast<RawArray*>(address + kHeapObjectTag));
+        empty_array_, reinterpret_cast<RawArray*>(address + kHeapObjectTag));
     empty_array_->StoreSmi(&empty_array_->raw_ptr()->length_, Smi::New(0));
     empty_array_->SetCanonical();
   }
@@ -736,8 +738,7 @@
     uword address = heap->Allocate(Array::InstanceSize(1), Heap::kOld);
     InitializeObject(address, kImmutableArrayCid, Array::InstanceSize(1), true);
     Array::initializeHandle(
-        zero_array_,
-        reinterpret_cast<RawArray*>(address + kHeapObjectTag));
+        zero_array_, reinterpret_cast<RawArray*>(address + kHeapObjectTag));
     zero_array_->StoreSmi(&zero_array_->raw_ptr()->length_, Smi::New(1));
     smi = Smi::New(0);
     zero_array_->SetAt(0, smi);
@@ -747,9 +748,7 @@
   // Allocate and initialize the canonical empty context scope object.
   {
     uword address = heap->Allocate(ContextScope::InstanceSize(0), Heap::kOld);
-    InitializeObject(address,
-                     kContextScopeCid,
-                     ContextScope::InstanceSize(0),
+    InitializeObject(address, kContextScopeCid, ContextScope::InstanceSize(0),
                      true);
     ContextScope::initializeHandle(
         empty_context_scope_,
@@ -763,25 +762,21 @@
 
   // Allocate and initialize the canonical empty object pool object.
   {
-    uword address =
-        heap->Allocate(ObjectPool::InstanceSize(0), Heap::kOld);
-    InitializeObject(address,
-                     kObjectPoolCid,
-                     ObjectPool::InstanceSize(0),
+    uword address = heap->Allocate(ObjectPool::InstanceSize(0), Heap::kOld);
+    InitializeObject(address, kObjectPoolCid, ObjectPool::InstanceSize(0),
                      true);
     ObjectPool::initializeHandle(
         empty_object_pool_,
         reinterpret_cast<RawObjectPool*>(address + kHeapObjectTag));
-    empty_object_pool_->StoreNonPointer(
-        &empty_object_pool_->raw_ptr()->length_, 0);
+    empty_object_pool_->StoreNonPointer(&empty_object_pool_->raw_ptr()->length_,
+                                        0);
     empty_object_pool_->SetCanonical();
   }
 
   // Allocate and initialize the empty_descriptors instance.
   {
     uword address = heap->Allocate(PcDescriptors::InstanceSize(0), Heap::kOld);
-    InitializeObject(address, kPcDescriptorsCid,
-                     PcDescriptors::InstanceSize(0),
+    InitializeObject(address, kPcDescriptorsCid, PcDescriptors::InstanceSize(0),
                      true);
     PcDescriptors::initializeHandle(
         empty_descriptors_,
@@ -795,10 +790,8 @@
   {
     uword address =
         heap->Allocate(LocalVarDescriptors::InstanceSize(0), Heap::kOld);
-    InitializeObject(address,
-                     kLocalVarDescriptorsCid,
-                     LocalVarDescriptors::InstanceSize(0),
-                     true);
+    InitializeObject(address, kLocalVarDescriptorsCid,
+                     LocalVarDescriptors::InstanceSize(0), true);
     LocalVarDescriptors::initializeHandle(
         empty_var_descriptors_,
         reinterpret_cast<RawLocalVarDescriptors*>(address + kHeapObjectTag));
@@ -813,10 +806,8 @@
   {
     uword address =
         heap->Allocate(ExceptionHandlers::InstanceSize(0), Heap::kOld);
-    InitializeObject(address,
-                     kExceptionHandlersCid,
-                     ExceptionHandlers::InstanceSize(0),
-                     true);
+    InitializeObject(address, kExceptionHandlersCid,
+                     ExceptionHandlers::InstanceSize(0), true);
     ExceptionHandlers::initializeHandle(
         empty_exception_handlers_,
         reinterpret_cast<RawExceptionHandlers*>(address + kHeapObjectTag));
@@ -864,21 +855,17 @@
 
   String& error_str = String::Handle();
   error_str = String::New("SnapshotWriter Error", Heap::kOld);
-  *snapshot_writer_error_ = LanguageError::New(error_str,
-                                               Report::kError,
-                                               Heap::kOld);
+  *snapshot_writer_error_ =
+      LanguageError::New(error_str, Report::kError, Heap::kOld);
   error_str = String::New("Branch offset overflow", Heap::kOld);
-  *branch_offset_error_ = LanguageError::New(error_str,
-                                             Report::kBailout,
-                                             Heap::kOld);
+  *branch_offset_error_ =
+      LanguageError::New(error_str, Report::kBailout, Heap::kOld);
   error_str = String::New("Speculative inlining failed", Heap::kOld);
-  *speculative_inlining_error_ = LanguageError::New(error_str,
-                                                    Report::kBailout,
-                                                    Heap::kOld);
+  *speculative_inlining_error_ =
+      LanguageError::New(error_str, Report::kBailout, Heap::kOld);
   error_str = String::New("Background Compilation Failed", Heap::kOld);
-  *background_compilation_error_ = LanguageError::New(error_str,
-                                                      Report::kBailout,
-                                                      Heap::kOld);
+  *background_compilation_error_ =
+      LanguageError::New(error_str, Report::kBailout, Heap::kOld);
 
   // Some thread fields need to be reinitialized as null constants have not been
   // initialized until now.
@@ -938,7 +925,7 @@
 // premark all objects in the vm_isolate_ heap.
 class PremarkingVisitor : public ObjectVisitor {
  public:
-  PremarkingVisitor() { }
+  PremarkingVisitor() {}
 
   void VisitObject(RawObject* obj) {
     // Free list elements should never be marked.
@@ -955,7 +942,7 @@
 
 #define SET_CLASS_NAME(class_name, name)                                       \
   cls = class_name##_class();                                                  \
-  cls.set_name(Symbols::name());                                               \
+  cls.set_name(Symbols::name());
 
 void Object::FinalizeVMIsolate(Isolate* isolate) {
   // Should only be run by the vm isolate.
@@ -1067,8 +1054,8 @@
       // TODO(iposva): Investigate whether CompareAndSwapWord is necessary.
       do {
         old_tags = tags;
-        tags = AtomicOperations::CompareAndSwapWord(
-            &raw->ptr()->tags_, old_tags, new_tags);
+        tags = AtomicOperations::CompareAndSwapWord(&raw->ptr()->tags_,
+                                                    old_tags, new_tags);
       } while (tags != old_tags);
 
       intptr_t leftover_len = (leftover_size - TypedData::InstanceSize(0));
@@ -1085,8 +1072,8 @@
       // TODO(iposva): Investigate whether CompareAndSwapWord is necessary.
       do {
         old_tags = tags;
-        tags = AtomicOperations::CompareAndSwapWord(
-            &raw->ptr()->tags_, old_tags, new_tags);
+        tags = AtomicOperations::CompareAndSwapWord(&raw->ptr()->tags_,
+                                                    old_tags, new_tags);
       } while (tags != old_tags);
     }
   }
@@ -1136,11 +1123,8 @@
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
   ASSERT(isolate == thread->isolate());
-NOT_IN_PRODUCT(
-  TimelineDurationScope tds(thread,
-                            Timeline::GetIsolateStream(),
-                            "Object::Init");
-)
+  NOT_IN_PRODUCT(TimelineDurationScope tds(thread, Timeline::GetIsolateStream(),
+                                           "Object::Init"));
 
 #if defined(DART_NO_SNAPSHOT)
   // Object::Init version when we are running in a version of dart that does
@@ -1175,8 +1159,8 @@
 
   // Initialize hash set for canonical_type_.
   const intptr_t kInitialCanonicalTypeSize = 16;
-  array = HashTables::New<CanonicalTypeSet>(
-      kInitialCanonicalTypeSize, Heap::kOld);
+  array =
+      HashTables::New<CanonicalTypeSet>(kInitialCanonicalTypeSize, Heap::kOld);
   object_store->set_canonical_types(array);
 
   // Initialize hash set for canonical_type_arguments_.
@@ -1188,14 +1172,14 @@
   // Setup type class early in the process.
   const Class& type_cls = Class::Handle(zone, Class::New<Type>());
   const Class& type_ref_cls = Class::Handle(zone, Class::New<TypeRef>());
-  const Class& type_parameter_cls = Class::Handle(zone,
-                                                  Class::New<TypeParameter>());
-  const Class& bounded_type_cls = Class::Handle(zone,
-                                                Class::New<BoundedType>());
-  const Class& mixin_app_type_cls = Class::Handle(zone,
-                                                  Class::New<MixinAppType>());
-  const Class& library_prefix_cls = Class::Handle(zone,
-                                                  Class::New<LibraryPrefix>());
+  const Class& type_parameter_cls =
+      Class::Handle(zone, Class::New<TypeParameter>());
+  const Class& bounded_type_cls =
+      Class::Handle(zone, Class::New<BoundedType>());
+  const Class& mixin_app_type_cls =
+      Class::Handle(zone, Class::New<MixinAppType>());
+  const Class& library_prefix_cls =
+      Class::Handle(zone, Class::New<LibraryPrefix>());
 
   // Pre-allocate the OneByteString class needed by the symbol table.
   cls = Class::NewStringClass(kOneByteStringCid);
@@ -1209,8 +1193,8 @@
   Symbols::SetupSymbolTable(isolate);
 
   // Set up the libraries array before initializing the core library.
-  const GrowableObjectArray& libraries = GrowableObjectArray::Handle(
-      zone, GrowableObjectArray::New(Heap::kOld));
+  const GrowableObjectArray& libraries =
+      GrowableObjectArray::Handle(zone, GrowableObjectArray::New(Heap::kOld));
   object_store->set_libraries(libraries);
 
   // Pre-register the core library.
@@ -1240,8 +1224,7 @@
   // allocated below represents the raw type _List and not _List<E> as we
   // could expect. Use with caution.
   type ^= Type::New(Object::Handle(zone, cls.raw()),
-                    TypeArguments::Handle(zone),
-                    TokenPosition::kNoSource);
+                    TypeArguments::Handle(zone), TokenPosition::kNoSource);
   type.SetIsFinalized();
   type ^= type.Canonicalize();
   object_store->set_array_type(type);
@@ -1279,9 +1262,8 @@
 
   // Pre-register the isolate library so the native class implementations
   // can be hooked up before compiling it.
-  Library& isolate_lib =
-      Library::Handle(zone, Library::LookupLibrary(thread,
-                                                   Symbols::DartIsolate()));
+  Library& isolate_lib = Library::Handle(
+      zone, Library::LookupLibrary(thread, Symbols::DartIsolate()));
   if (isolate_lib.IsNull()) {
     isolate_lib = Library::NewLibraryHelper(Symbols::DartIsolate(), true);
     isolate_lib.SetLoadRequested();
@@ -1303,8 +1285,7 @@
   RegisterPrivateClass(cls, Symbols::_SendPortImpl(), isolate_lib);
   pending_classes.Add(cls);
 
-  const Class& stacktrace_cls = Class::Handle(zone,
-                                              Class::New<Stacktrace>());
+  const Class& stacktrace_cls = Class::Handle(zone, Class::New<Stacktrace>());
   RegisterPrivateClass(stacktrace_cls, Symbols::_StackTrace(), core_lib);
   pending_classes.Add(stacktrace_cls);
   // Super type set below, after Object is allocated.
@@ -1400,9 +1381,9 @@
   object_store->set_weak_property_class(cls);
   RegisterPrivateClass(cls, Symbols::_WeakProperty(), core_lib);
 
-  // Pre-register the mirrors library so we can place the vm class
-  // MirrorReference there rather than the core library.
-NOT_IN_PRODUCT(
+// Pre-register the mirrors library so we can place the vm class
+// MirrorReference there rather than the core library.
+#if !defined(PRODUCT)
   lib = Library::LookupLibrary(thread, Symbols::DartMirrors());
   if (lib.IsNull()) {
     lib = Library::NewLibraryHelper(Symbols::DartMirrors(), true);
@@ -1415,7 +1396,7 @@
 
   cls = Class::New<MirrorReference>();
   RegisterPrivateClass(cls, Symbols::_MirrorReference(), lib);
-)
+#endif  // !defined(PRODUCT)
 
   // Pre-register the collection library so we can place the vm class
   // LinkedHashMap there rather than the core library.
@@ -1472,14 +1453,14 @@
   ASSERT(lib.raw() == Library::TypedDataLibrary());
 #define REGISTER_TYPED_DATA_CLASS(clazz)                                       \
   cls = Class::NewTypedDataClass(kTypedData##clazz##ArrayCid);                 \
-  RegisterClass(cls, Symbols::clazz##List(), lib);                             \
+  RegisterClass(cls, Symbols::clazz##List(), lib);
 
   DART_CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_CLASS);
 #undef REGISTER_TYPED_DATA_CLASS
 #define REGISTER_TYPED_DATA_VIEW_CLASS(clazz)                                  \
   cls = Class::NewTypedDataViewClass(kTypedData##clazz##ViewCid);              \
   RegisterPrivateClass(cls, Symbols::_##clazz##View(), lib);                   \
-  pending_classes.Add(cls);                                                    \
+  pending_classes.Add(cls);
 
   CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_VIEW_CLASS);
   cls = Class::NewTypedDataViewClass(kByteDataViewCid);
@@ -1488,7 +1469,7 @@
 #undef REGISTER_TYPED_DATA_VIEW_CLASS
 #define REGISTER_EXT_TYPED_DATA_CLASS(clazz)                                   \
   cls = Class::NewExternalTypedDataClass(kExternalTypedData##clazz##Cid);      \
-  RegisterPrivateClass(cls, Symbols::_External##clazz(), lib);                 \
+  RegisterPrivateClass(cls, Symbols::_External##clazz(), lib);
 
   cls = Class::New<Instance>(kByteBufferCid);
   cls.set_instance_size(0);
@@ -1606,7 +1587,7 @@
 
   // Finish the initialization by compiling the bootstrap scripts containing the
   // base interfaces and the implementation of the internal classes.
-  const Error& error = Error::Handle(Bootstrap::LoadandCompileScripts());
+  const Error& error = Error::Handle(Bootstrap::DoBootstrapping());
   if (!error.IsNull()) {
     return error.raw();
   }
@@ -1633,12 +1614,13 @@
   CLASS_LIST_NO_OBJECT(V)
 
 #define ADD_SET_FIELD(clazz)                                                   \
-  field_name = Symbols::New(thread, "cid"#clazz);                              \
-  field = Field::New(field_name, true, false, true, false, cls,                \
-      Type::Handle(Type::IntType()), TokenPosition::kMinSource);               \
+  field_name = Symbols::New(thread, "cid" #clazz);                             \
+  field =                                                                      \
+      Field::New(field_name, true, false, true, false, cls,                    \
+                 Type::Handle(Type::IntType()), TokenPosition::kMinSource);    \
   value = Smi::New(k##clazz##Cid);                                             \
   field.SetStaticValue(value, true);                                           \
-  cls.AddField(field);                                                         \
+  cls.AddField(field);
 
   CLASS_LIST_WITH_NULL(ADD_SET_FIELD)
 #undef ADD_SET_FIELD
@@ -1757,8 +1739,7 @@
   cls = Class::New<MirrorReference>();
   cls = Class::New<UserTag>();
 
-  const Context& context = Context::Handle(zone,
-                                           Context::New(0, Heap::kOld));
+  const Context& context = Context::Handle(zone, Context::New(0, Heap::kOld));
   object_store->set_empty_context(context);
 
 #endif  // defined(DART_NO_SNAPSHOT).
@@ -1768,7 +1749,7 @@
 
 
 #if defined(DEBUG)
-bool Object:: InVMHeap() const {
+bool Object::InVMHeap() const {
   if (FLAG_verify_handles && raw()->IsVMHeapObject()) {
     Heap* vm_isolate_heap = Dart::vm_isolate()->heap();
     ASSERT(vm_isolate_heap->Contains(RawObject::ToAddr(raw())));
@@ -1793,7 +1774,8 @@
                               intptr_t size,
                               bool is_vm_object) {
   uword initial_value = (class_id == kInstructionsCid)
-      ? Assembler::GetBreakInstructionFiller() : reinterpret_cast<uword>(null_);
+                            ? Assembler::GetBreakInstructionFiller()
+                            : reinterpret_cast<uword>(null_);
   uword cur = address;
   uword end = address + size;
   while (cur < end) {
@@ -1834,9 +1816,7 @@
 }
 
 
-RawObject* Object::Allocate(intptr_t cls_id,
-                            intptr_t size,
-                            Heap::Space space) {
+RawObject* Object::Allocate(intptr_t cls_id, intptr_t size, Heap::Space space) {
   ASSERT(Utils::IsAligned(size, kObjectAlignment));
   Thread* thread = Thread::Current();
   Isolate* isolate = thread->isolate();
@@ -1876,8 +1856,10 @@
 
 class StoreBufferUpdateVisitor : public ObjectPointerVisitor {
  public:
-  explicit StoreBufferUpdateVisitor(Thread* thread, RawObject* obj) :
-      ObjectPointerVisitor(thread->isolate()), thread_(thread), old_obj_(obj) {
+  explicit StoreBufferUpdateVisitor(Thread* thread, RawObject* obj)
+      : ObjectPointerVisitor(thread->isolate()),
+        thread_(thread),
+        old_obj_(obj) {
     ASSERT(old_obj_->IsOldObject());
   }
 
@@ -1911,7 +1893,6 @@
 }
 
 
-
 RawObject* Object::Clone(const Object& orig, Heap::Space space) {
   const Class& cls = Class::Handle(orig.clazz());
   intptr_t size = orig.raw()->Size();
@@ -1953,10 +1934,10 @@
 
 
 RawString* Class::UserVisibleName() const {
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
   ASSERT(raw_ptr()->user_name_ != String::null());
   return raw_ptr()->user_name_;
-)
+#endif                               // !defined(PRODUCT)
   return GenerateUserVisibleName();  // No caching in PRODUCT, regenerate.
 }
 
@@ -1969,23 +1950,17 @@
 
 RawAbstractType* Class::RareType() const {
   const Type& type = Type::Handle(Type::New(
-      *this,
-      Object::null_type_arguments(),
-      TokenPosition::kNoSource));
-  return ClassFinalizer::FinalizeType(*this,
-                                      type,
+      *this, Object::null_type_arguments(), TokenPosition::kNoSource));
+  return ClassFinalizer::FinalizeType(*this, type,
                                       ClassFinalizer::kCanonicalize);
 }
 
 
 RawAbstractType* Class::DeclarationType() const {
   const TypeArguments& args = TypeArguments::Handle(type_parameters());
-  const Type& type = Type::Handle(Type::New(
-      *this,
-      args,
-      TokenPosition::kNoSource));
-  return ClassFinalizer::FinalizeType(*this,
-                                      type,
+  const Type& type =
+      Type::Handle(Type::New(*this, args, TokenPosition::kNoSource));
+  return ClassFinalizer::FinalizeType(*this, type,
                                       ClassFinalizer::kCanonicalize);
 }
 
@@ -1995,9 +1970,8 @@
   ASSERT(Object::class_class() != Class::null());
   Class& result = Class::Handle();
   {
-    RawObject* raw = Object::Allocate(Class::kClassId,
-                                      Class::InstanceSize(),
-                                      Heap::kOld);
+    RawObject* raw =
+        Object::Allocate(Class::kClassId, Class::InstanceSize(), Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -2028,12 +2002,9 @@
 }
 
 
-
 static void ReportTooManyTypeArguments(const Class& cls) {
-  Report::MessageF(Report::kError,
-                   Script::Handle(cls.script()),
-                   cls.token_pos(),
-                   Report::AtLocation,
+  Report::MessageF(Report::kError, Script::Handle(cls.script()),
+                   cls.token_pos(), Report::AtLocation,
                    "too many type parameters declared in class '%s' or in its "
                    "super classes",
                    String::Handle(cls.Name()).ToCString());
@@ -2123,6 +2094,7 @@
     }
   }
   intptr_t Hash() const { return name_.Hash(); }
+
  private:
   const String& name_;
   String* tmp_string_;
@@ -2147,9 +2119,7 @@
   static uword Hash(const Object& key) {
     return String::HashRawSymbol(Function::Cast(key).name());
   }
-  static uword Hash(const FunctionName& name) {
-    return name.Hash();
-  }
+  static uword Hash(const FunctionName& name) { return name.Hash(); }
 };
 typedef UnorderedHashSet<ClassFunctionsTraits> ClassFunctionsSet;
 
@@ -2269,7 +2239,6 @@
 }
 
 
-
 intptr_t Class::FindInvocationDispatcherFunctionIndex(
     const Function& needle) const {
   Thread* thread = Thread::Current();
@@ -2340,8 +2309,7 @@
   }
   if (type_parameters() == TypeArguments::null()) {
     const intptr_t cid = id();
-    if ((cid == kArrayCid) ||
-        (cid == kImmutableArrayCid) ||
+    if ((cid == kArrayCid) || (cid == kImmutableArrayCid) ||
         (cid == kGrowableObjectArrayCid)) {
       return 1;  // List's type parameter may not have been parsed yet.
     }
@@ -2363,8 +2331,7 @@
   Isolate* isolate = thread->isolate();
   Zone* zone = thread->zone();
   const intptr_t num_type_params = NumTypeParameters();
-  if (!FLAG_overlap_type_arguments ||
-      (num_type_params == 0) ||
+  if (!FLAG_overlap_type_arguments || (num_type_params == 0) ||
       (super_type() == AbstractType::null()) ||
       (super_type() == isolate->object_store()->object_type())) {
     set_num_own_type_arguments(num_type_params);
@@ -2402,14 +2369,14 @@
   TypeParameter& type_param = TypeParameter::Handle(zone);
   AbstractType& sup_type_arg = AbstractType::Handle(zone);
   for (intptr_t num_overlapping_type_args =
-           (num_type_params < num_sup_type_args) ?
-               num_type_params : num_sup_type_args;
+           (num_type_params < num_sup_type_args) ? num_type_params
+                                                 : num_sup_type_args;
        num_overlapping_type_args > 0; num_overlapping_type_args--) {
     intptr_t i = 0;
     for (; i < num_overlapping_type_args; i++) {
       type_param ^= type_params.TypeAt(i);
-      sup_type_arg = sup_type_args.TypeAt(
-          num_sup_type_args - num_overlapping_type_args + i);
+      sup_type_arg = sup_type_args.TypeAt(num_sup_type_args -
+                                          num_overlapping_type_args + i);
       // BoundedType can nest in case the finalized super type has bounded type
       // arguments that overlap multiple times in its own super class chain.
       while (sup_type_arg.IsBoundedType()) {
@@ -2476,8 +2443,7 @@
 
 
 void Class::set_super_type(const AbstractType& value) const {
-  ASSERT(value.IsNull() ||
-         (value.IsType() && !value.IsDynamicType()) ||
+  ASSERT(value.IsNull() || (value.IsType() && !value.IsDynamicType()) ||
          value.IsMixinAppType());
   StorePointer(&raw_ptr()->super_type_, value.raw());
 }
@@ -2490,7 +2456,7 @@
   REUSABLE_TYPE_PARAMETER_HANDLESCOPE(thread);
   REUSABLE_STRING_HANDLESCOPE(thread);
   TypeArguments& type_params = thread->TypeArgumentsHandle();
-  TypeParameter&  type_param = thread->TypeParameterHandle();
+  TypeParameter& type_param = thread->TypeParameterHandle();
   String& type_param_name = thread->StringHandle();
 
   type_params ^= type_parameters();
@@ -2561,12 +2527,7 @@
                                             const Array& args_desc,
                                             RawFunction::Kind kind,
                                             bool create_if_absent) const {
-  enum {
-    kNameIndex = 0,
-    kArgsDescIndex,
-    kFunctionIndex,
-    kEntrySize
-  };
+  enum { kNameIndex = 0, kArgsDescIndex, kFunctionIndex, kEntrySize };
 
   ASSERT(kind == RawFunction::kNoSuchMethodDispatcher ||
          kind == RawFunction::kInvokeFieldDispatcher);
@@ -2594,8 +2555,8 @@
     if (i == cache.Length()) {
       // Allocate new larger cache.
       intptr_t new_len = (cache.Length() == 0)
-          ? static_cast<intptr_t>(kEntrySize)
-          : cache.Length() * 2;
+                             ? static_cast<intptr_t>(kEntrySize)
+                             : cache.Length() * 2;
       cache ^= Array::Grow(cache, new_len);
       set_invocation_dispatcher_cache(cache);
     }
@@ -2613,24 +2574,23 @@
                                                RawFunction::Kind kind) const {
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
-  Function& invocation = Function::Handle(zone,
-      Function::New(String::Handle(zone, Symbols::New(thread, target_name)),
-                    kind,
-                    false,  // Not static.
-                    false,  // Not const.
-                    false,  // Not abstract.
-                    false,  // Not external.
-                    false,  // Not native.
-                    *this,
-                    TokenPosition::kMinSource));
+  Function& invocation = Function::Handle(
+      zone, Function::New(
+                String::Handle(zone, Symbols::New(thread, target_name)), kind,
+                false,  // Not static.
+                false,  // Not const.
+                false,  // Not abstract.
+                false,  // Not external.
+                false,  // Not native.
+                *this, TokenPosition::kMinSource));
   ArgumentsDescriptor desc(args_desc);
   invocation.set_num_fixed_parameters(desc.PositionalCount());
   invocation.SetNumOptionalParameters(desc.NamedCount(),
                                       false);  // Not positional.
-  invocation.set_parameter_types(Array::Handle(zone, Array::New(desc.Count(),
-                                                                Heap::kOld)));
-  invocation.set_parameter_names(Array::Handle(zone, Array::New(desc.Count(),
-                                                                Heap::kOld)));
+  invocation.set_parameter_types(
+      Array::Handle(zone, Array::New(desc.Count(), Heap::kOld)));
+  invocation.set_parameter_names(
+      Array::Handle(zone, Array::New(desc.Count(), Heap::kOld)));
   // Receiver.
   invocation.SetParameterTypeAt(0, Object::dynamic_type());
   invocation.SetParameterNameAt(0, Symbols::This());
@@ -2640,8 +2600,8 @@
     invocation.SetParameterTypeAt(i, Object::dynamic_type());
     char name[64];
     OS::SNPrint(name, 64, ":p%" Pd, i);
-    invocation.SetParameterNameAt(i, String::Handle(zone,
-        Symbols::New(thread, name)));
+    invocation.SetParameterNameAt(
+        i, String::Handle(zone, Symbols::New(thread, name)));
   }
 
   // Named parameters.
@@ -2673,16 +2633,16 @@
       Function::Handle(zone, ImplicitClosureFunction());
 
   const Class& owner = Class::Handle(zone, closure_function.Owner());
-  Function& extractor = Function::Handle(zone,
-    Function::New(String::Handle(zone, Symbols::New(thread, getter_name)),
-                  RawFunction::kMethodExtractor,
-                  false,  // Not static.
-                  false,  // Not const.
-                  false,  // Not abstract.
-                  false,  // Not external.
-                  false,  // Not native.
-                  owner,
-                  TokenPosition::kMethodExtractor));
+  Function& extractor = Function::Handle(
+      zone,
+      Function::New(String::Handle(zone, Symbols::New(thread, getter_name)),
+                    RawFunction::kMethodExtractor,
+                    false,  // Not static.
+                    false,  // Not const.
+                    false,  // Not abstract.
+                    false,  // Not external.
+                    false,  // Not native.
+                    owner, TokenPosition::kMethodExtractor));
 
   // Initialize signature: receiver is a single fixed parameter.
   const intptr_t kNumParameters = 1;
@@ -2744,8 +2704,7 @@
 class CHACodeArray : public WeakCodeReferences {
  public:
   explicit CHACodeArray(const Class& cls)
-      : WeakCodeReferences(Array::Handle(cls.dependent_code())), cls_(cls) {
-  }
+      : WeakCodeReferences(Array::Handle(cls.dependent_code())), cls_(cls) {}
 
   virtual void UpdateArrayTo(const Array& value) {
     // TODO(fschneider): Fails for classes in the VM isolate.
@@ -2756,18 +2715,17 @@
     if (FLAG_trace_deoptimization || FLAG_trace_deoptimization_verbose) {
       Function& function = Function::Handle(code.function());
       THR_Print("Deoptimizing %s because CHA optimized (%s).\n",
-          function.ToFullyQualifiedCString(),
-          cls_.ToCString());
+                function.ToFullyQualifiedCString(), cls_.ToCString());
     }
   }
 
   virtual void ReportSwitchingCode(const Code& code) {
     if (FLAG_trace_deoptimization || FLAG_trace_deoptimization_verbose) {
       Function& function = Function::Handle(code.function());
-      THR_Print("Switching %s to unoptimized code because CHA invalid"
-                " (%s)\n",
-                function.ToFullyQualifiedCString(),
-                cls_.ToCString());
+      THR_Print(
+          "Switching %s to unoptimized code because CHA invalid"
+          " (%s)\n",
+          function.ToFullyQualifiedCString(), cls_.ToCString());
     }
   }
 
@@ -2788,7 +2746,8 @@
 void Class::RegisterCHACode(const Code& code) {
   if (FLAG_trace_cha) {
     THR_Print("RegisterCHACode '%s' depends on class '%s'\n",
-        Function::Handle(code.function()).ToQualifiedCString(), ToCString());
+              Function::Handle(code.function()).ToQualifiedCString(),
+              ToCString());
   }
   DEBUG_ASSERT(IsMutatorOrAtSafepoint());
   ASSERT(code.is_optimized());
@@ -2844,24 +2803,17 @@
   if (fields() != Object::empty_array().raw()) {
     *error = LanguageError::NewFormatted(
         *error,  // No previous error.
-        Script::Handle(script()),
-        token_pos(),
-        Report::AtLocation,
-        Report::kError,
-        Heap::kNew,
+        Script::Handle(script()), token_pos(), Report::AtLocation,
+        Report::kError, Heap::kNew,
         "new fields are not allowed for this patch");
     return false;
   }
   // There seem to be no functions, the patch is pointless.
   if (functions() == Object::empty_array().raw()) {
-    *error = LanguageError::NewFormatted(
-        *error,  // No previous error.
-        Script::Handle(script()),
-        token_pos(),
-        Report::AtLocation,
-        Report::kError,
-        Heap::kNew,
-        "no functions to patch");
+    *error = LanguageError::NewFormatted(*error,  // No previous error.
+                                         Script::Handle(script()), token_pos(),
+                                         Report::AtLocation, Report::kError,
+                                         Heap::kNew, "no functions to patch");
     return false;
   }
   // Iterate over all functions that will be patched and make sure
@@ -2883,14 +2835,11 @@
         // We can only patch external functions in a post finalized class.
         *error = LanguageError::NewFormatted(
             *error,  // No previous error.
-            Script::Handle(script()),
-            token_pos(),
-            Report::AtLocation,
-            Report::kError,
-            Heap::kNew,
-            !orig_func.is_external() ?
-            "'%s' is not external and therefore cannot be patched" :
-            "'%s' has already executed and therefore cannot be patched",
+            Script::Handle(script()), token_pos(), Report::AtLocation,
+            Report::kError, Heap::kNew,
+            !orig_func.is_external()
+                ? "'%s' is not external and therefore cannot be patched"
+                : "'%s' has already executed and therefore cannot be patched",
             name.ToCString());
         return false;
       }
@@ -2898,11 +2847,8 @@
       // We can only have new private functions that are added.
       *error = LanguageError::NewFormatted(
           *error,  // No previous error.
-          Script::Handle(script()),
-          token_pos(),
-          Report::AtLocation,
-          Report::kError,
-          Heap::kNew,
+          Script::Handle(script()), token_pos(), Report::AtLocation,
+          Report::kError, Heap::kNew,
           "'%s' is not private and therefore cannot be patched",
           name.ToCString());
       return false;
@@ -2945,8 +2891,8 @@
     // Not an implicit constructor, but a user declared one.
     orig_implicit_ctor = Function::null();
   }
-  const GrowableObjectArray& new_functions = GrowableObjectArray::Handle(
-      GrowableObjectArray::New(orig_len));
+  const GrowableObjectArray& new_functions =
+      GrowableObjectArray::Handle(GrowableObjectArray::New(orig_len));
   for (intptr_t i = 0; i < orig_len; i++) {
     orig_func ^= orig_list.At(i);
     member_name ^= orig_func.name();
@@ -2960,18 +2906,15 @@
         new_functions.Add(orig_func);
       }
     } else if (func.UserVisibleSignature() !=
-               orig_func.UserVisibleSignature()
-               && !FLAG_ignore_patch_signature_mismatch) {
+                   orig_func.UserVisibleSignature() &&
+               !FLAG_ignore_patch_signature_mismatch) {
       // Compare user visible signatures to ignore different implicit parameters
       // when patching a constructor with a factory.
       *error = LanguageError::NewFormatted(
           *error,  // No previous error.
-          Script::Handle(patch.script()),
-          func.token_pos(),
-          Report::AtLocation,
-          Report::kError,
-          Heap::kNew,
-          "signature mismatch: '%s'", member_name.ToCString());
+          Script::Handle(patch.script()), func.token_pos(), Report::AtLocation,
+          Report::kError, Heap::kNew, "signature mismatch: '%s'",
+          member_name.ToCString());
       return false;
     }
   }
@@ -3012,12 +2955,9 @@
     if (!orig_field.IsNull()) {
       *error = LanguageError::NewFormatted(
           *error,  // No previous error.
-          Script::Handle(patch.script()),
-          field.token_pos(),
-          Report::AtLocation,
-          Report::kError,
-          Heap::kNew,
-          "duplicate field: %s", member_name.ToCString());
+          Script::Handle(patch.script()), field.token_pos(), Report::AtLocation,
+          Report::kError, Heap::kNew, "duplicate field: %s",
+          member_name.ToCString());
       return false;
     }
     new_list.SetAt(i, field);
@@ -3066,9 +3006,8 @@
   const String& func_src =
       String::Handle(BuildClosureSource(param_names, expr));
   Script& script = Script::Handle();
-  script = Script::New(Symbols::EvalSourceUri(),
-                       func_src,
-                       RawScript::kEvaluateTag);
+  script =
+      Script::New(Symbols::EvalSourceUri(), func_src, RawScript::kEvaluateTag);
   // In order to tokenize the source, we need to get the key to mangle
   // private names from the library from which the class originates.
   const Library& lib = Library::Handle(cls.library());
@@ -3076,8 +3015,8 @@
   const String& lib_key = String::Handle(lib.private_key());
   script.Tokenize(lib_key, false);
 
-  const Function& func = Function::Handle(
-       Function::NewEvalFunction(cls, script, is_static));
+  const Function& func =
+      Function::Handle(Function::NewEvalFunction(cls, script, is_static));
   func.set_result_type(Object::dynamic_type());
   const intptr_t num_implicit_params = is_static ? 0 : 1;
   func.set_num_fixed_parameters(num_implicit_params + param_names.Length());
@@ -3092,8 +3031,8 @@
                            const Array& param_values) const {
   ASSERT(Thread::Current()->IsMutatorThread());
   if (id() < kInstanceCid) {
-    const Instance& exception = Instance::Handle(String::New(
-        "Cannot evaluate against a VM internal class"));
+    const Instance& exception = Instance::Handle(
+        String::New("Cannot evaluate against a VM internal class"));
     const Instance& stacktrace = Instance::Handle();
     return UnhandledException::New(exception, stacktrace);
   }
@@ -3114,12 +3053,12 @@
   }
   if (Compiler::IsBackgroundCompilation()) {
     Compiler::AbortBackgroundCompilation(Thread::kNoDeoptId,
-        "Class finalization while compiling");
+                                         "Class finalization while compiling");
   }
   ASSERT(thread->IsMutatorThread());
   ASSERT(thread != NULL);
-  const Error& error = Error::Handle(
-      thread->zone(), Compiler::CompileClass(*this));
+  const Error& error =
+      Error::Handle(thread->zone(), Compiler::CompileClass(*this));
   if (!error.IsNull()) {
     ASSERT(thread == Thread::Current());
     if (thread->long_jump_base() != NULL) {
@@ -3175,9 +3114,8 @@
   ASSERT(Object::class_class() != Class::null());
   Class& result = Class::Handle();
   {
-    RawObject* raw = Object::Allocate(Class::kClassId,
-                                      Class::InstanceSize(),
-                                      Heap::kOld);
+    RawObject* raw =
+        Object::Allocate(Class::kClassId, Class::InstanceSize(), Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -3307,7 +3245,7 @@
   ASSERT(raw_ptr()->name_ == String::null());
   ASSERT(value.IsSymbol());
   StorePointer(&raw_ptr()->name_, value.raw());
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
   if (raw_ptr()->user_name_ == String::null()) {
     // TODO(johnmccutchan): Eagerly set user name for VM isolate classes,
     // lazily set user name for the other classes.
@@ -3315,15 +3253,15 @@
     const String& user_name = String::Handle(GenerateUserVisibleName());
     set_user_name(user_name);
   }
-)
+#endif  // !defined(PRODUCT)
 }
 
 
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
 void Class::set_user_name(const String& value) const {
   StorePointer(&raw_ptr()->user_name_, value.raw());
 }
-)
+#endif  // !defined(PRODUCT)
 
 
 RawString* Class::GenerateUserVisibleName() const {
@@ -3377,7 +3315,8 @@
     case kTypedDataFloat64ArrayCid:
     case kExternalTypedDataFloat64ArrayCid:
       return Symbols::Float64List().raw();
-NOT_IN_PRODUCT(
+
+#if !defined(PRODUCT)
     case kNullCid:
       return Symbols::Null().raw();
     case kDynamicCid:
@@ -3464,7 +3403,7 @@
     case kImmutableArrayCid:
     case kGrowableObjectArrayCid:
       return Symbols::List().raw();
-)
+#endif  // !defined(PRODUCT)
   }
   const String& name = String::Handle(Name());
   return String::ScrubName(name);
@@ -3495,9 +3434,7 @@
     ASSERT(Dart::snapshot_kind() == Snapshot::kAppNoJIT);
     return TokenPosition::kNoSource;
   }
-  TokenStream::Iterator tkit(zone,
-                             tkns,
-                             token_pos(),
+  TokenStream::Iterator tkit(zone, tkns, token_pos(),
                              TokenStream::Iterator::kNoNewlines);
   intptr_t level = 0;
   while (tkit.CurrentTokenKind() != Token::kEOS) {
@@ -3578,8 +3515,8 @@
 
 void Class::set_is_finalized() const {
   ASSERT(!is_finalized());
-  set_state_bits(ClassFinalizedBits::update(RawClass::kFinalized,
-                                            raw_ptr()->state_bits_));
+  set_state_bits(
+      ClassFinalizedBits::update(RawClass::kFinalized, raw_ptr()->state_bits_));
 }
 
 
@@ -3593,8 +3530,8 @@
 
 void Class::ResetFinalization() const {
   ASSERT(IsTopLevel());
-  set_state_bits(ClassFinalizedBits::update(RawClass::kAllocated,
-                                            raw_ptr()->state_bits_));
+  set_state_bits(
+      ClassFinalizedBits::update(RawClass::kAllocated, raw_ptr()->state_bits_));
   set_state_bits(TypeFinalizedBit::update(false, raw_ptr()->state_bits_));
 }
 
@@ -3762,7 +3699,7 @@
     if (thsi.IsNullClass()) {
       // We already checked for other.IsDynamicClass() above.
       return (test_kind == Class::kIsMoreSpecificThan) ||
-      other.IsObjectClass() || other.IsNullClass();
+             other.IsObjectClass() || other.IsNullClass();
     }
     // Check for ObjectType. Any type that is not NullType or DynamicType
     // (already checked above), is more specific than ObjectType.
@@ -3791,18 +3728,14 @@
         // above.
         return test_kind == Class::kIsSubtypeOf;
       }
-      return type_arguments.TypeTest(test_kind,
-                                     other_type_arguments,
-                                     from_index,
-                                     num_type_params,
-                                     bound_error,
-                                     bound_trail,
-                                     space);
+      return type_arguments.TypeTest(test_kind, other_type_arguments,
+                                     from_index, num_type_params, bound_error,
+                                     bound_trail, space);
     }
     if (other.IsDartFunctionClass()) {
       // Check if type S has a call() method.
-      Function& function = Function::Handle(zone,
-          thsi.LookupDynamicFunctionAllowAbstract(Symbols::Call()));
+      Function& function = Function::Handle(
+          zone, thsi.LookupDynamicFunctionAllowAbstract(Symbols::Call()));
       if (function.IsNull()) {
         // Walk up the super_class chain.
         Class& cls = Class::Handle(zone, thsi.SuperClass());
@@ -3833,8 +3766,8 @@
           // runtime if this type test returns false at compile time.
           continue;
         }
-        ClassFinalizer::FinalizeType(
-            thsi, interface, ClassFinalizer::kCanonicalize);
+        ClassFinalizer::FinalizeType(thsi, interface,
+                                     ClassFinalizer::kCanonicalize);
         interfaces.SetAt(i, interface);
       }
       if (interface.IsMalbounded()) {
@@ -3856,12 +3789,8 @@
         // after the type arguments of the super type of this type.
         // The index of the type parameters is adjusted upon finalization.
         error = Error::null();
-        interface_args =
-            interface_args.InstantiateFrom(type_arguments,
-                                           &error,
-                                           NULL,
-                                           bound_trail,
-                                           space);
+        interface_args = interface_args.InstantiateFrom(
+            type_arguments, &error, NULL, bound_trail, space);
         if (!error.IsNull()) {
           // Return the first bound error to the caller if it requests it.
           if ((bound_error != NULL) && bound_error->IsNull()) {
@@ -3870,13 +3799,9 @@
           continue;  // Another interface may work better.
         }
       }
-      if (interface_class.TypeTest(test_kind,
-                                   interface_args,
-                                   other,
-                                   other_type_arguments,
-                                   bound_error,
-                                   bound_trail,
-                                   space)) {
+      if (interface_class.TypeTest(test_kind, interface_args, other,
+                                   other_type_arguments, bound_error,
+                                   bound_trail, space)) {
         return true;
       }
     }
@@ -3904,13 +3829,8 @@
                      Error* bound_error,
                      TrailPtr bound_trail,
                      Heap::Space space) const {
-  return TypeTestNonRecursive(*this,
-                              test_kind,
-                              type_arguments,
-                              other,
-                              other_type_arguments,
-                              bound_error,
-                              bound_trail,
+  return TypeTestNonRecursive(*this, test_kind, type_arguments, other,
+                              other_type_arguments, bound_error, bound_trail,
                               space);
 }
 
@@ -4047,8 +3967,8 @@
   Function& function = thread->FunctionHandle();
   if (len >= kFunctionLookupHashTreshold) {
     // Cache functions hash table to allow multi threaded access.
-    const Array& hash_table = Array::Handle(thread->zone(),
-                                            raw_ptr()->functions_hash_table_);
+    const Array& hash_table =
+        Array::Handle(thread->zone(), raw_ptr()->functions_hash_table_);
     if (!hash_table.IsNull()) {
       ClassFunctionsSet set(hash_table.raw());
       REUSABLE_STRING_HANDLESCOPE(thread);
@@ -4276,8 +4196,8 @@
   const char* library_name = lib.IsNull() ? "" : lib.ToCString();
   const char* patch_prefix = is_patch() ? "Patch " : "";
   const char* class_name = String::Handle(Name()).ToCString();
-  return OS::SCreate(Thread::Current()->zone(),
-      "%s %sClass: %s", library_name, patch_prefix, class_name);
+  return OS::SCreate(Thread::Current()->zone(), "%s %sClass: %s", library_name,
+                     patch_prefix, class_name);
 }
 
 
@@ -4285,8 +4205,9 @@
 // 'index' points to either:
 // - constants_list_ position of found element, or
 // - constants_list_ position where new canonical can be inserted.
-RawDouble* Class::LookupCanonicalDouble(
-    Zone* zone, double value, intptr_t* index) const {
+RawDouble* Class::LookupCanonicalDouble(Zone* zone,
+                                        double value,
+                                        intptr_t* index) const {
   ASSERT(this->raw() == Isolate::Current()->object_store()->double_class());
   const Array& constants = Array::Handle(zone, this->constants());
   const intptr_t constants_len = constants.Length();
@@ -4308,8 +4229,9 @@
 }
 
 
-RawMint* Class::LookupCanonicalMint(
-    Zone* zone, int64_t value, intptr_t* index) const {
+RawMint* Class::LookupCanonicalMint(Zone* zone,
+                                    int64_t value,
+                                    intptr_t* index) const {
   ASSERT(this->raw() == Isolate::Current()->object_store()->mint_class());
   const Array& constants = Array::Handle(zone, this->constants());
   const intptr_t constants_len = constants.Length();
@@ -4368,9 +4290,7 @@
     }
     return false;
   }
-  uword Hash() const {
-    return key_.ComputeCanonicalTableHash();
-  }
+  uword Hash() const { return key_.ComputeCanonicalTableHash(); }
   const Instance& key_;
 
  private:
@@ -4398,19 +4318,18 @@
     ASSERT(key.IsInstance());
     return Instance::Cast(key).ComputeCanonicalTableHash();
   }
-  static uword Hash(const CanonicalInstanceKey& key) {
-    return key.Hash();
-  }
+  static uword Hash(const CanonicalInstanceKey& key) { return key.Hash(); }
   static RawObject* NewKey(const CanonicalInstanceKey& obj) {
     return obj.key_.raw();
   }
 };
-typedef UnorderedHashSet <CanonicalInstanceTraits> CanonicalInstancesSet;
+typedef UnorderedHashSet<CanonicalInstanceTraits> CanonicalInstancesSet;
 
 
 RawInstance* Class::LookupCanonicalInstance(Zone* zone,
                                             const Instance& value) const {
   ASSERT(this->raw() == value.clazz());
+  ASSERT(is_finalized());
   Instance& canonical_value = Instance::Handle(zone);
   if (this->constants() != Object::empty_array().raw()) {
     CanonicalInstancesSet constants(zone, this->constants());
@@ -4492,9 +4411,8 @@
 
 RawUnresolvedClass* UnresolvedClass::New() {
   ASSERT(Object::unresolved_class_class() != Class::null());
-  RawObject* raw = Object::Allocate(UnresolvedClass::kClassId,
-                                    UnresolvedClass::InstanceSize(),
-                                    Heap::kOld);
+  RawObject* raw = Object::Allocate(
+      UnresolvedClass::kClassId, UnresolvedClass::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawUnresolvedClass*>(raw);
 }
 
@@ -4520,8 +4438,8 @@
   if (library_prefix() != LibraryPrefix::null()) {
     Thread* thread = Thread::Current();
     Zone* zone = thread->zone();
-    const LibraryPrefix& lib_prefix = LibraryPrefix::Handle(zone,
-                                                            library_prefix());
+    const LibraryPrefix& lib_prefix =
+        LibraryPrefix::Handle(zone, library_prefix());
     const String& name = String::Handle(zone, lib_prefix.name());  // Qualifier.
     GrowableHandlePtrArray<const String> strs(zone, 3);
     strs.Add(name);
@@ -4535,9 +4453,8 @@
 
 
 const char* UnresolvedClass::ToCString() const {
-  const char* cname =  String::Handle(Name()).ToCString();
-  return OS::SCreate(Thread::Current()->zone(),
-      "unresolved class '%s'", cname);
+  const char* cname = String::Handle(Name()).ToCString();
+  return OS::SCreate(Thread::Current()->zone(), "unresolved class '%s'", cname);
 }
 
 
@@ -4583,7 +4500,8 @@
   Zone* zone = thread->zone();
   ASSERT(from_index + len <= Length());
   String& name = String::Handle(zone);
-  const intptr_t num_strings = (len == 0) ? 2 : 2*len + 1;  // "<""T"", ""T"">".
+  const intptr_t num_strings =
+      (len == 0) ? 2 : 2 * len + 1;  // "<""T"", ""T"">".
   GrowableHandlePtrArray<const String> pieces(zone, num_strings);
   pieces.Add(Symbols::LAngleBracket());
   AbstractType& type = AbstractType::Handle(zone);
@@ -4688,10 +4606,7 @@
     ASSERT(!type.IsNull());
     other_type = other.TypeAt(from_index + i);
     ASSERT(!other_type.IsNull());
-    if (!type.TypeTest(test_kind,
-                       other_type,
-                       bound_error,
-                       bound_trail,
+    if (!type.TypeTest(test_kind, other_type, bound_error, bound_trail,
                        space)) {
       return false;
     }
@@ -4714,7 +4629,7 @@
   while (prior_instantiations.At(i) != Smi::New(StubCode::kNoInstantiator)) {
     i += 2;
   }
-  return i/2;
+  return i / 2;
 }
 
 
@@ -4740,8 +4655,7 @@
 }
 
 
-void TypeArguments::SetTypeAt(intptr_t index,
-                                const AbstractType& value) const {
+void TypeArguments::SetTypeAt(intptr_t index, const AbstractType& value) const {
   ASSERT(!IsCanonical());
   StorePointer(TypeAddr(index), value.raw());
 }
@@ -4811,7 +4725,7 @@
 // Return true if this uninstantiated type argument vector, once instantiated
 // at runtime, is a prefix of the type argument vector of its instantiator.
 bool TypeArguments::CanShareInstantiatorTypeArguments(
-      const Class& instantiator_class) const {
+    const Class& instantiator_class) const {
   ASSERT(!IsInstantiated());
   const intptr_t num_type_args = Length();
   const intptr_t num_instantiator_type_args =
@@ -4857,16 +4771,16 @@
   if (first_type_param_offset == 0) {
     return true;
   }
-  AbstractType& super_type = AbstractType::Handle(
-      instantiator_class.super_type());
-  const TypeArguments& super_type_args = TypeArguments::Handle(
-      super_type.arguments());
+  AbstractType& super_type =
+      AbstractType::Handle(instantiator_class.super_type());
+  const TypeArguments& super_type_args =
+      TypeArguments::Handle(super_type.arguments());
   if (super_type_args.IsNull()) {
     return false;
   }
   AbstractType& super_type_arg = AbstractType::Handle();
-  for (intptr_t i = 0;
-       (i < first_type_param_offset) && (i < num_type_args); i++) {
+  for (intptr_t i = 0; (i < first_type_param_offset) && (i < num_type_args);
+       i++) {
     type_arg = TypeAt(i);
     super_type_arg = super_type_args.TypeAt(i);
     if (!type_arg.Equals(super_type_arg)) {
@@ -4900,15 +4814,15 @@
       return true;
     }
     if (type.IsTypeParameter()) {
-      const AbstractType& bound = AbstractType::Handle(
-          TypeParameter::Cast(type).bound());
+      const AbstractType& bound =
+          AbstractType::Handle(TypeParameter::Cast(type).bound());
       if (!bound.IsObjectType() && !bound.IsDynamicType()) {
         return true;
       }
       continue;
     }
-    const TypeArguments& type_args = TypeArguments::Handle(
-        Type::Cast(type).arguments());
+    const TypeArguments& type_args =
+        TypeArguments::Handle(Type::Cast(type).arguments());
     if (!type_args.IsNull() && type_args.IsBounded()) {
       return true;
     }
@@ -4924,8 +4838,7 @@
     TrailPtr bound_trail,
     Heap::Space space) const {
   ASSERT(!IsInstantiated());
-  if (!instantiator_type_arguments.IsNull() &&
-      IsUninstantiatedIdentity() &&
+  if (!instantiator_type_arguments.IsNull() && IsUninstantiatedIdentity() &&
       (instantiator_type_arguments.Length() == Length())) {
     return instantiator_type_arguments.raw();
   }
@@ -4942,11 +4855,8 @@
     // solely on the type parameters of A and will be replaced by a non-null
     // type before A is marked as finalized.
     if (!type.IsNull() && !type.IsInstantiated()) {
-      type = type.InstantiateFrom(instantiator_type_arguments,
-                                  bound_error,
-                                  instantiation_trail,
-                                  bound_trail,
-                                  space);
+      type = type.InstantiateFrom(instantiator_type_arguments, bound_error,
+                                  instantiation_trail, bound_trail, space);
     }
     instantiated_array.SetTypeAt(i, type);
   }
@@ -4978,8 +4888,8 @@
   }
   // Cache lookup failed. Instantiate the type arguments.
   TypeArguments& result = TypeArguments::Handle();
-  result = InstantiateFrom(
-      instantiator_type_arguments, bound_error, NULL, NULL, Heap::kOld);
+  result = InstantiateFrom(instantiator_type_arguments, bound_error, NULL, NULL,
+                           Heap::kOld);
   if ((bound_error != NULL) && !bound_error->IsNull()) {
     return result.raw();
   }
@@ -4993,9 +4903,8 @@
   if ((index + 2) >= length) {
     // Grow the instantiations array.
     // The initial array is Object::zero_array() of length 1.
-    length = (length > 64) ?
-        (length + 64) :
-        ((length == 1) ? 3 : ((length - 1) * 2 + 1));
+    length = (length > 64) ? (length + 64)
+                           : ((length == 1) ? 3 : ((length - 1) * 2 + 1));
     prior_instantiations =
         Array::Grow(prior_instantiations, length, Heap::kOld);
     set_instantiations(prior_instantiations);
@@ -5017,8 +4926,7 @@
   TypeArguments& result = TypeArguments::Handle();
   {
     RawObject* raw = Object::Allocate(TypeArguments::kClassId,
-                                      TypeArguments::InstanceSize(len),
-                                      space);
+                                      TypeArguments::InstanceSize(len), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
     // Length must be set before we start storing into the array.
@@ -5033,7 +4941,6 @@
 }
 
 
-
 RawAbstractType* const* TypeArguments::TypeAddr(intptr_t index) const {
   // TODO(iposva): Determine if we should throw an exception here.
   ASSERT((index >= 0) && (index < Length()));
@@ -5056,8 +4963,8 @@
   ASSERT(IsResolved());
   AbstractType& type = AbstractType::Handle();
   const intptr_t num_types = Length();
-  const TypeArguments& clone = TypeArguments::Handle(
-      TypeArguments::New(num_types));
+  const TypeArguments& clone =
+      TypeArguments::Handle(TypeArguments::New(num_types));
   for (intptr_t i = 0; i < num_types; i++) {
     type = TypeAt(i);
     type = type.CloneUnfinalized();
@@ -5068,16 +4975,15 @@
 }
 
 
-RawTypeArguments* TypeArguments::CloneUninstantiated(
-    const Class& new_owner,
-    TrailPtr trail) const {
+RawTypeArguments* TypeArguments::CloneUninstantiated(const Class& new_owner,
+                                                     TrailPtr trail) const {
   ASSERT(!IsNull());
   ASSERT(IsFinalized());
   ASSERT(!IsInstantiated());
   AbstractType& type = AbstractType::Handle();
   const intptr_t num_types = Length();
-  const TypeArguments& clone = TypeArguments::Handle(
-      TypeArguments::New(num_types));
+  const TypeArguments& clone =
+      TypeArguments::Handle(TypeArguments::New(num_types));
   for (intptr_t i = 0; i < num_types; i++) {
     type = TypeAt(i);
     if (!type.IsInstantiated()) {
@@ -5130,8 +5036,8 @@
       ComputeHash();
     }
     SafepointMutexLocker ml(isolate->type_canonicalization_mutex());
-    CanonicalTypeArgumentsSet table(
-        zone, object_store->canonical_type_arguments());
+    CanonicalTypeArgumentsSet table(zone,
+                                    object_store->canonical_type_arguments());
     // Since we canonicalized some type arguments above we need to lookup
     // in the table again to make sure we don't already have an equivalent
     // canonical entry.
@@ -5181,8 +5087,8 @@
     return "NULL TypeArguments";
   }
   Zone* zone = Thread::Current()->zone();
-  const char* prev_cstr = OS::SCreate(
-      zone, "TypeArguments: (%" Pd ")", Smi::Value(raw_ptr()->hash_));
+  const char* prev_cstr = OS::SCreate(zone, "TypeArguments: (%" Pd ")",
+                                      Smi::Value(raw_ptr()->hash_));
   for (int i = 0; i < Length(); i++) {
     const AbstractType& type_at = AbstractType::Handle(zone, TypeAt(i));
     const char* type_cstr = type_at.IsNull() ? "null" : type_at.ToCString();
@@ -5196,8 +5102,7 @@
 const char* PatchClass::ToCString() const {
   const Class& cls = Class::Handle(patched_class());
   const char* cls_name = cls.ToCString();
-  return OS::SCreate(Thread::Current()->zone(),
-      "PatchClass for %s", cls_name);
+  return OS::SCreate(Thread::Current()->zone(), "PatchClass for %s", cls_name);
 }
 
 
@@ -5224,8 +5129,7 @@
 RawPatchClass* PatchClass::New() {
   ASSERT(Object::patch_class_class() != Class::null());
   RawObject* raw = Object::Allocate(PatchClass::kClassId,
-                                    PatchClass::InstanceSize(),
-                                    Heap::kOld);
+                                    PatchClass::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawPatchClass*>(raw);
 }
 
@@ -5287,7 +5191,7 @@
   value.set_owner(*this);
   SetInstructions(value);
   ASSERT(Function::Handle(value.function()).IsNull() ||
-      (value.function() == this->raw()));
+         (value.function() == this->raw()));
 }
 
 
@@ -5313,8 +5217,8 @@
   Zone* zone = thread->zone();
   ASSERT(thread->IsMutatorThread());
 
-  const Error& error = Error::Handle(zone,
-      Compiler::EnsureUnoptimizedCode(thread, *this));
+  const Error& error =
+      Error::Handle(zone, Compiler::EnsureUnoptimizedCode(thread, *this));
   if (!error.IsNull()) {
     Exceptions::PropagateError(error);
   }
@@ -5331,12 +5235,11 @@
 
   if (FLAG_trace_deoptimization_verbose) {
     THR_Print("Disabling optimized code: '%s' entry: %#" Px "\n",
-      ToFullyQualifiedCString(),
-      current_code.UncheckedEntryPoint());
+              ToFullyQualifiedCString(), current_code.UncheckedEntryPoint());
   }
   current_code.DisableDartCode();
-  const Error& error = Error::Handle(zone,
-      Compiler::EnsureUnoptimizedCode(thread, *this));
+  const Error& error =
+      Error::Handle(zone, Compiler::EnsureUnoptimizedCode(thread, *this));
   if (!error.IsNull()) {
     Exceptions::PropagateError(error);
   }
@@ -5496,7 +5399,6 @@
 }
 
 
-
 RawFunction* Function::parent_function() const {
   if (IsClosureFunction()) {
     const Object& obj = Object::Handle(raw_ptr()->data_);
@@ -5528,9 +5430,7 @@
 
 
 RawFunction* Function::implicit_closure_function() const {
-  if (IsClosureFunction() ||
-      IsSignatureFunction() ||
-      IsFactory()) {
+  if (IsClosureFunction() || IsSignatureFunction() || IsFactory()) {
     return Function::null();
   }
   const Object& obj = Object::Handle(raw_ptr()->data_);
@@ -5591,8 +5491,7 @@
     // to _Closure class as well as the owner of the signature function.
     Class& scope_class = Class::Handle(Owner());
     if (!scope_class.IsTypedefClass() &&
-        (is_static() ||
-         !scope_class.IsGeneric() ||
+        (is_static() || !scope_class.IsGeneric() ||
          HasInstantiatedSignature())) {
       scope_class = Isolate::Current()->object_store()->closure_class();
       if (IsSignatureFunction()) {
@@ -5836,8 +5735,8 @@
 }
 
 
-void Function::SetParameterTypeAt(
-    intptr_t index, const AbstractType& value) const {
+void Function::SetParameterTypeAt(intptr_t index,
+                                  const AbstractType& value) const {
   ASSERT(!value.IsNull());
   // Method extractor parameters are shared and are in the VM heap.
   ASSERT(kind() != RawFunction::kMethodExtractor);
@@ -5886,7 +5785,8 @@
 
 
 RawTypeParameter* Function::LookupTypeParameter(
-    const String& type_name, intptr_t* function_level) const {
+    const String& type_name,
+    intptr_t* function_level) const {
   ASSERT(!type_name.IsNull());
   Thread* thread = Thread::Current();
   REUSABLE_TYPE_ARGUMENTS_HANDLESCOPE(thread);
@@ -5894,7 +5794,7 @@
   REUSABLE_STRING_HANDLESCOPE(thread);
   REUSABLE_FUNCTION_HANDLESCOPE(thread);
   TypeArguments& type_params = thread->TypeArgumentsHandle();
-  TypeParameter&  type_param = thread->TypeParameterHandle();
+  TypeParameter& type_param = thread->TypeParameterHandle();
   String& type_param_name = thread->StringHandle();
   Function& function = thread->FunctionHandle();
 
@@ -5976,9 +5876,9 @@
 void Function::SetNumOptionalParameters(intptr_t num_optional_parameters,
                                         bool are_optional_positional) const {
   ASSERT(num_optional_parameters >= 0);
-  set_num_optional_parameters(are_optional_positional ?
-                              num_optional_parameters :
-                              -num_optional_parameters);
+  set_num_optional_parameters(are_optional_positional
+                                  ? num_optional_parameters
+                                  : -num_optional_parameters);
 }
 
 
@@ -5995,7 +5895,7 @@
       (function_length < FLAG_huge_method_cutoff_in_tokens)) {
     // Additional check needed for implicit getters.
     return (unoptimized_code() == Object::null()) ||
-        (Code::Handle(unoptimized_code()).Size() <
+           (Code::Handle(unoptimized_code()).Size() <
             FLAG_huge_method_cutoff_in_code_size);
   }
   return false;
@@ -6025,9 +5925,7 @@
 
 bool Function::CanBeInlined() const {
   Thread* thread = Thread::Current();
-  return is_inlinable() &&
-         !is_external() &&
-         !is_generated_body() &&
+  return is_inlinable() && !is_external() && !is_generated_body() &&
          (!FLAG_support_debugger ||
           !thread->isolate()->debugger()->HasBreakpoint(*this, thread->zone()));
 }
@@ -6066,11 +5964,9 @@
     if (error_message != NULL) {
       const intptr_t kMessageBufferSize = 64;
       char message_buffer[kMessageBufferSize];
-      OS::SNPrint(message_buffer,
-                  kMessageBufferSize,
+      OS::SNPrint(message_buffer, kMessageBufferSize,
                   "%" Pd " named passed, at most %" Pd " expected",
-                  num_named_arguments,
-                  NumOptionalNamedParameters());
+                  num_named_arguments, NumOptionalNamedParameters());
       // Allocate in old space because it can be invoked in background
       // optimizing compilation.
       *error_message = String::New(message_buffer, Heap::kOld);
@@ -6086,8 +5982,7 @@
       char message_buffer[kMessageBufferSize];
       // Hide implicit parameters to the user.
       const intptr_t num_hidden_params = NumImplicitParameters();
-      OS::SNPrint(message_buffer,
-                  kMessageBufferSize,
+      OS::SNPrint(message_buffer, kMessageBufferSize,
                   "%" Pd "%s passed, %s%" Pd " expected",
                   num_pos_args - num_hidden_params,
                   num_opt_pos_params > 0 ? " positional" : "",
@@ -6105,8 +6000,7 @@
       char message_buffer[kMessageBufferSize];
       // Hide implicit parameters to the user.
       const intptr_t num_hidden_params = NumImplicitParameters();
-      OS::SNPrint(message_buffer,
-                  kMessageBufferSize,
+      OS::SNPrint(message_buffer, kMessageBufferSize,
                   "%" Pd "%s passed, %s%" Pd " expected",
                   num_pos_args - num_hidden_params,
                   num_opt_pos_params > 0 ? " positional" : "",
@@ -6127,8 +6021,7 @@
                                  String* error_message) const {
   const intptr_t num_named_arguments =
       argument_names.IsNull() ? 0 : argument_names.Length();
-  if (!AreValidArgumentCounts(num_arguments,
-                              num_named_arguments,
+  if (!AreValidArgumentCounts(num_arguments, num_named_arguments,
                               error_message)) {
     return false;
   }
@@ -6142,8 +6035,7 @@
     bool found = false;
     const intptr_t num_positional_args = num_arguments - num_named_arguments;
     const intptr_t num_parameters = NumParameters();
-    for (intptr_t j = num_positional_args;
-         !found && (j < num_parameters);
+    for (intptr_t j = num_positional_args; !found && (j < num_parameters);
          j++) {
       parameter_name = ParameterNameAt(j);
       ASSERT(argument_name.IsSymbol());
@@ -6155,8 +6047,7 @@
       if (error_message != NULL) {
         const intptr_t kMessageBufferSize = 64;
         char message_buffer[kMessageBufferSize];
-        OS::SNPrint(message_buffer,
-                    kMessageBufferSize,
+        OS::SNPrint(message_buffer, kMessageBufferSize,
                     "no optional formal parameter named '%s'",
                     argument_name.ToCString());
         // Allocate in old space because it can be invoked in background
@@ -6175,8 +6066,7 @@
   const intptr_t num_arguments = args_desc.Count();
   const intptr_t num_named_arguments = args_desc.NamedCount();
 
-  if (!AreValidArgumentCounts(num_arguments,
-                              num_named_arguments,
+  if (!AreValidArgumentCounts(num_arguments, num_named_arguments,
                               error_message)) {
     return false;
   }
@@ -6190,8 +6080,7 @@
     bool found = false;
     const intptr_t num_positional_args = num_arguments - num_named_arguments;
     const int num_parameters = NumParameters();
-    for (intptr_t j = num_positional_args;
-         !found && (j < num_parameters);
+    for (intptr_t j = num_positional_args; !found && (j < num_parameters);
          j++) {
       parameter_name = ParameterNameAt(j);
       ASSERT(argument_name.IsSymbol());
@@ -6203,8 +6092,7 @@
       if (error_message != NULL) {
         const intptr_t kMessageBufferSize = 64;
         char message_buffer[kMessageBufferSize];
-        OS::SNPrint(message_buffer,
-                    kMessageBufferSize,
+        OS::SNPrint(message_buffer, kMessageBufferSize,
                     "no optional formal parameter named '%s'",
                     argument_name.ToCString());
         // Allocate in old space because it can be invoked in background
@@ -6270,14 +6158,11 @@
         OS::SNPrint(NULL, 0, lib_class_format, library_name, class_name);
     ASSERT(chars != NULL);
     *chars = Thread::Current()->zone()->Alloc<char>(reserve_len + 1);
-    written = OS::SNPrint(
-        *chars, reserve_len + 1, lib_class_format, library_name, class_name);
+    written = OS::SNPrint(*chars, reserve_len + 1, lib_class_format,
+                          library_name, class_name);
   } else {
-    written = ConstructFunctionFullyQualifiedCString(parent,
-                                                     chars,
-                                                     reserve_len,
-                                                     with_lib,
-                                                     lib_kind);
+    written = ConstructFunctionFullyQualifiedCString(parent, chars, reserve_len,
+                                                     with_lib, lib_kind);
   }
   ASSERT(*chars != NULL);
   char* next = *chars + written;
@@ -6322,28 +6207,24 @@
   ASSERT((bound_error != NULL) && bound_error->IsNull());
   // Check that this function's signature type is a subtype of the other
   // function's signature type.
-  if (!TypeTest(kIsSubtypeOf, Object::null_type_arguments(),
-                other, Object::null_type_arguments(), bound_error,
-                Heap::kOld)) {
+  if (!TypeTest(kIsSubtypeOf, Object::null_type_arguments(), other,
+                Object::null_type_arguments(), bound_error, Heap::kOld)) {
     // For more informative error reporting, use the location of the other
     // function here, since the caller will use the location of this function.
     *bound_error = LanguageError::NewFormatted(
         *bound_error,  // A bound error if non null.
-        Script::Handle(other.script()),
-        other.token_pos(),
-        Report::AtLocation,
-        Report::kError,
-        Heap::kNew,
+        Script::Handle(other.script()), other.token_pos(), Report::AtLocation,
+        Report::kError, Heap::kNew,
         "signature type '%s' of function '%s' is not a subtype of signature "
         "type '%s' of function '%s' where\n%s%s",
         String::Handle(UserVisibleSignature()).ToCString(),
         String::Handle(UserVisibleName()).ToCString(),
         String::Handle(other.UserVisibleSignature()).ToCString(),
         String::Handle(other.UserVisibleName()).ToCString(),
-        String::Handle(Type::Handle(
-            SignatureType()).EnumerateURIs()).ToCString(),
-        String::Handle(Type::Handle(
-            other.SignatureType()).EnumerateURIs()).ToCString());
+        String::Handle(Type::Handle(SignatureType()).EnumerateURIs())
+            .ToCString(),
+        String::Handle(Type::Handle(other.SignatureType()).EnumerateURIs())
+            .ToCString());
     return false;
   }
   // We should also check that if the other function explicitly specifies a
@@ -6364,21 +6245,19 @@
 // parameter of the other function.
 // Note that we do not apply contravariance of parameter types, but covariance
 // of both parameter types and result type.
-bool Function::TestParameterType(
-    TypeTestKind test_kind,
-    intptr_t parameter_position,
-    intptr_t other_parameter_position,
-    const TypeArguments& type_arguments,
-    const Function& other,
-    const TypeArguments& other_type_arguments,
-    Error* bound_error,
-    Heap::Space space) const {
+bool Function::TestParameterType(TypeTestKind test_kind,
+                                 intptr_t parameter_position,
+                                 intptr_t other_parameter_position,
+                                 const TypeArguments& type_arguments,
+                                 const Function& other,
+                                 const TypeArguments& other_type_arguments,
+                                 Error* bound_error,
+                                 Heap::Space space) const {
   AbstractType& other_param_type =
       AbstractType::Handle(other.ParameterTypeAt(other_parameter_position));
   if (!other_param_type.IsInstantiated()) {
     other_param_type =
-        other_param_type.InstantiateFrom(other_type_arguments,
-                                         bound_error,
+        other_param_type.InstantiateFrom(other_type_arguments, bound_error,
                                          NULL,  // instantiation_trail
                                          NULL,  // bound_trail
                                          space);
@@ -6390,8 +6269,7 @@
   AbstractType& param_type =
       AbstractType::Handle(ParameterTypeAt(parameter_position));
   if (!param_type.IsInstantiated()) {
-    param_type = param_type.InstantiateFrom(type_arguments,
-                                            bound_error,
+    param_type = param_type.InstantiateFrom(type_arguments, bound_error,
                                             NULL,  // instantiation_trail
                                             NULL,  // bound_trail
                                             space);
@@ -6407,8 +6285,8 @@
     }
   } else {
     ASSERT(test_kind == kIsMoreSpecificThan);
-    if (!param_type.IsMoreSpecificThan(
-            other_param_type, bound_error, NULL, space)) {
+    if (!param_type.IsMoreSpecificThan(other_param_type, bound_error, NULL,
+                                       space)) {
       return false;
     }
   }
@@ -6445,16 +6323,15 @@
   // Check the result type.
   AbstractType& other_res_type = AbstractType::Handle(other.result_type());
   if (!other_res_type.IsInstantiated()) {
-    other_res_type = other_res_type.InstantiateFrom(other_type_arguments,
-                                                    bound_error,
-                                                    NULL, NULL, space);
+    other_res_type = other_res_type.InstantiateFrom(
+        other_type_arguments, bound_error, NULL, NULL, space);
     ASSERT((bound_error == NULL) || bound_error->IsNull());
   }
   if (!other_res_type.IsDynamicType() && !other_res_type.IsVoidType()) {
     AbstractType& res_type = AbstractType::Handle(result_type());
     if (!res_type.IsInstantiated()) {
-      res_type = res_type.InstantiateFrom(type_arguments, bound_error,
-                                          NULL, NULL, space);
+      res_type = res_type.InstantiateFrom(type_arguments, bound_error, NULL,
+                                          NULL, space);
       ASSERT((bound_error == NULL) || bound_error->IsNull());
     }
     if (res_type.IsVoidType()) {
@@ -6467,20 +6344,19 @@
       }
     } else {
       ASSERT(test_kind == kIsMoreSpecificThan);
-      if (!res_type.IsMoreSpecificThan(other_res_type, bound_error,
-                                       NULL, space)) {
+      if (!res_type.IsMoreSpecificThan(other_res_type, bound_error, NULL,
+                                       space)) {
         return false;
       }
     }
   }
   // Check the types of fixed and optional positional parameters.
   for (intptr_t i = 0; i < (other_num_fixed_params - other_num_ignored_params +
-                            other_num_opt_pos_params); i++) {
-    if (!TestParameterType(test_kind,
-                           i + num_ignored_params, i + other_num_ignored_params,
-                           type_arguments, other, other_type_arguments,
-                           bound_error,
-                           space)) {
+                            other_num_opt_pos_params);
+       i++) {
+    if (!TestParameterType(test_kind, i + num_ignored_params,
+                           i + other_num_ignored_params, type_arguments, other,
+                           other_type_arguments, bound_error, space)) {
       return false;
     }
   }
@@ -6508,11 +6384,8 @@
       ASSERT(String::Handle(ParameterNameAt(j)).IsSymbol());
       if (ParameterNameAt(j) == other_param_name.raw()) {
         found_param_name = true;
-        if (!TestParameterType(test_kind,
-                               j, i,
-                               type_arguments, other, other_type_arguments,
-                               bound_error,
-                               space)) {
+        if (!TestParameterType(test_kind, j, i, type_arguments, other,
+                               other_type_arguments, bound_error, space)) {
           return false;
         }
         break;
@@ -6560,15 +6433,14 @@
 
 bool Function::IsConstructorClosureFunction() const {
   return IsClosureFunction() &&
-      String::Handle(name()).StartsWith(Symbols::ConstructorClosurePrefix());
+         String::Handle(name()).StartsWith(Symbols::ConstructorClosurePrefix());
 }
 
 
 RawFunction* Function::New() {
   ASSERT(Object::function_class() != Class::null());
   RawObject* raw = Object::Allocate(Function::kClassId,
-                                    Function::InstanceSize(),
-                                    Heap::kOld);
+                                    Function::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawFunction*>(raw);
 }
 
@@ -6596,8 +6468,8 @@
   result.set_is_external(is_external);
   result.set_is_native(is_native);
   result.set_is_reflectable(true);  // Will be computed later.
-  result.set_is_visible(true);  // Will be computed later.
-  result.set_is_debuggable(true);  // Will be computed later.
+  result.set_is_visible(true);      // Will be computed later.
+  result.set_is_debuggable(true);   // Will be computed later.
   result.set_is_intrinsic(false);
   result.set_is_redirecting(false);
   result.set_is_generated_body(false);
@@ -6670,15 +6542,12 @@
   const Object& parent_owner = Object::Handle(parent.raw_ptr()->owner_);
   ASSERT(!parent_owner.IsNull());
   const Function& result = Function::Handle(
-      Function::New(name,
-                    RawFunction::kClosureFunction,
+      Function::New(name, RawFunction::kClosureFunction,
                     /* is_static = */ parent.is_static(),
                     /* is_const = */ false,
                     /* is_abstract = */ false,
                     /* is_external = */ false,
-                    /* is_native = */ false,
-                    parent_owner,
-                    token_pos));
+                    /* is_native = */ false, parent_owner, token_pos));
   result.set_parent_function(parent);
   return result.raw();
 }
@@ -6687,8 +6556,7 @@
 RawFunction* Function::NewSignatureFunction(const Class& owner,
                                             TokenPosition token_pos) {
   const Function& result = Function::Handle(Function::New(
-      Symbols::AnonymousSignature(),
-      RawFunction::kSignatureFunction,
+      Symbols::AnonymousSignature(), RawFunction::kSignatureFunction,
       /* is_static = */ false,
       /* is_const = */ false,
       /* is_abstract = */ false,
@@ -6708,16 +6576,14 @@
                                        bool is_static) {
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
-  const Function& result = Function::Handle(zone,
+  const Function& result = Function::Handle(
+      zone,
       Function::New(String::Handle(Symbols::New(thread, ":Eval")),
-                    RawFunction::kRegularFunction,
-                    is_static,
+                    RawFunction::kRegularFunction, is_static,
                     /* is_const = */ false,
                     /* is_abstract = */ false,
                     /* is_external = */ false,
-                    /* is_native = */ false,
-                    owner,
-                    TokenPosition::kMinSource));
+                    /* is_native = */ false, owner, TokenPosition::kMinSource));
   ASSERT(!script.IsNull());
   result.set_is_debuggable(false);
   result.set_is_visible(true);
@@ -6733,8 +6599,8 @@
   ASSERT(!IsSignatureFunction() && !IsClosureFunction());
   // Create closure function.
   const String& closure_name = String::Handle(name());
-  const Function& closure_function = Function::Handle(
-      NewClosureFunction(closure_name, *this, token_pos()));
+  const Function& closure_function =
+      Function::Handle(NewClosureFunction(closure_name, *this, token_pos()));
 
   // Set closure function's context scope.
   if (is_static()) {
@@ -6767,10 +6633,10 @@
   const int num_params = num_fixed_params + num_opt_params;
   closure_function.set_num_fixed_parameters(num_fixed_params);
   closure_function.SetNumOptionalParameters(num_opt_params, has_opt_pos_params);
-  closure_function.set_parameter_types(Array::Handle(Array::New(num_params,
-                                                                Heap::kOld)));
-  closure_function.set_parameter_names(Array::Handle(Array::New(num_params,
-                                                                Heap::kOld)));
+  closure_function.set_parameter_types(
+      Array::Handle(Array::New(num_params, Heap::kOld)));
+  closure_function.set_parameter_names(
+      Array::Handle(Array::New(num_params, Heap::kOld)));
   AbstractType& param_type = AbstractType::Handle();
   String& param_name = String::Handle();
   // Add implicit closure object parameter.
@@ -6787,8 +6653,8 @@
 
   const Type& signature_type = Type::Handle(closure_function.SignatureType());
   if (!signature_type.IsFinalized()) {
-    ClassFinalizer::FinalizeType(
-        Class::Handle(Owner()), signature_type, ClassFinalizer::kCanonicalize);
+    ClassFinalizer::FinalizeType(Class::Handle(Owner()), signature_type,
+                                 ClassFinalizer::kCanonicalize);
   }
   set_implicit_closure_function(closure_function);
   ASSERT(closure_function.IsImplicitClosureFunction());
@@ -6813,8 +6679,8 @@
   // '_LoadRequest', CommaSpace, '_LoadError'.
   GrowableHandlePtrArray<const String> pieces(zone, 5);
   const TypeArguments& instantiator = TypeArguments::Handle(zone);
-  BuildSignatureParameters(thread, zone,
-                           false, kUserVisibleName, instantiator, &pieces);
+  BuildSignatureParameters(thread, zone, false, kUserVisibleName, instantiator,
+                           &pieces);
   return Symbols::FromConcatAll(thread, pieces);
 }
 
@@ -6842,11 +6708,10 @@
   while (i < num_fixed_params) {
     param_type = ParameterTypeAt(i);
     ASSERT(!param_type.IsNull());
-    if (instantiate &&
-        param_type.IsFinalized() &&
+    if (instantiate && param_type.IsFinalized() &&
         !param_type.IsInstantiated()) {
-      param_type = param_type.InstantiateFrom(instantiator, NULL,
-                                              NULL, NULL, Heap::kNew);
+      param_type = param_type.InstantiateFrom(instantiator, NULL, NULL, NULL,
+                                              Heap::kNew);
     }
     name = param_type.BuildName(name_visibility);
     pieces->Add(name);
@@ -6863,11 +6728,10 @@
     }
     for (intptr_t i = num_fixed_params; i < num_params; i++) {
       param_type = ParameterTypeAt(i);
-      if (instantiate &&
-          param_type.IsFinalized() &&
+      if (instantiate && param_type.IsFinalized() &&
           !param_type.IsInstantiated()) {
-        param_type = param_type.InstantiateFrom(instantiator, NULL,
-                                                NULL, NULL, Heap::kNew);
+        param_type = param_type.InstantiateFrom(instantiator, NULL, NULL, NULL,
+                                                Heap::kNew);
       }
       ASSERT(!param_type.IsNull());
       name = param_type.BuildName(name_visibility);
@@ -6939,8 +6803,8 @@
     const Class& scope_class = Class::Handle(zone, Owner());
     ASSERT(!scope_class.IsNull());
     if (scope_class.IsGeneric()) {
-      const TypeArguments& type_parameters = TypeArguments::Handle(
-          zone, scope_class.type_parameters());
+      const TypeArguments& type_parameters =
+          TypeArguments::Handle(zone, scope_class.type_parameters());
       const String& scope_class_name = String::Handle(zone, scope_class.Name());
       pieces.Add(scope_class_name);
       const intptr_t num_type_parameters = type_parameters.Length();
@@ -6965,16 +6829,13 @@
     }
   }
   pieces.Add(Symbols::LParen());
-  BuildSignatureParameters(thread, zone,
-                           instantiate,
-                           name_visibility,
-                           instantiator,
-                           &pieces);
+  BuildSignatureParameters(thread, zone, instantiate, name_visibility,
+                           instantiator, &pieces);
   pieces.Add(Symbols::RParenArrow());
   AbstractType& res_type = AbstractType::Handle(zone, result_type());
   if (instantiate && res_type.IsFinalized() && !res_type.IsInstantiated()) {
-    res_type = res_type.InstantiateFrom(instantiator, NULL,
-                                        NULL, NULL, Heap::kNew);
+    res_type =
+        res_type.InstantiateFrom(instantiator, NULL, NULL, NULL, Heap::kNew);
   }
   name = res_type.BuildName(name_visibility);
   pieces.Add(name);
@@ -7063,16 +6924,16 @@
     while (fun.IsLocalFunction() && !fun.IsImplicitClosureFunction()) {
       fun = fun.parent_function();
       result = String::Concat(Symbols::Dot(), result, Heap::kOld);
-      result = String::Concat(
-          String::Handle(fun.UserVisibleName()), result, Heap::kOld);
+      result = String::Concat(String::Handle(fun.UserVisibleName()), result,
+                              Heap::kOld);
     }
   }
   const Class& cls = Class::Handle(Owner());
   if (!cls.IsTopLevel()) {
     result = String::Concat(Symbols::Dot(), result, Heap::kOld);
-    const String& cls_name = String::Handle(
-        name_visibility == kScrubbedName ? cls.ScrubbedName()
-                                         : cls.UserVisibleName());
+    const String& cls_name = String::Handle(name_visibility == kScrubbedName
+                                                ? cls.ScrubbedName()
+                                                : cls.UserVisibleName());
     result = String::Concat(cls_name, result, Heap::kOld);
   }
   return result.raw();
@@ -7110,14 +6971,15 @@
   // (2) "foo(() => null);": End token is ')`, but we don't print it.
   // (3) "var foo = () => null;": End token is `;', but in this case the token
   // semicolon belongs to the assignment so we skip it.
-  if ((tkit.CurrentTokenKind() == Token::kCOMMA) ||                   // Case 1.
-      (tkit.CurrentTokenKind() == Token::kRPAREN) ||                  // Case 2.
+  if ((tkit.CurrentTokenKind() == Token::kCOMMA) ||   // Case 1.
+      (tkit.CurrentTokenKind() == Token::kRPAREN) ||  // Case 2.
       (tkit.CurrentTokenKind() == Token::kSEMICOLON &&
        String::Handle(zone, name()).Equals("<anonymous closure>"))) {  // Cas 3.
     last_tok_len = 0;
   }
-  const String& result = String::Handle(zone, func_script.GetSnippet(
-      from_line, from_col, to_line, to_col + last_tok_len));
+  const String& result =
+      String::Handle(zone, func_script.GetSnippet(from_line, from_col, to_line,
+                                                  to_col + last_tok_len));
   ASSERT(!result.IsNull());
   return result.raw();
 }
@@ -7129,8 +6991,7 @@
   uint32_t result = 0;
   Zone* zone = Thread::Current()->zone();
   TokenStream::Iterator tokens_iterator(
-      zone,
-      TokenStream::Handle(zone, Script::Handle(zone, script()).tokens()),
+      zone, TokenStream::Handle(zone, Script::Handle(zone, script()).tokens()),
       token_pos());
   Object& obj = Object::Handle(zone);
   String& literal = String::Handle(zone);
@@ -7192,8 +7053,10 @@
   const intptr_t saved_length = saved_ic_data.Length();
   ASSERT(saved_length > 0);
   if (saved_length > 1) {
-    const intptr_t restored_length = ICData::Cast(Object::Handle(
-        zone, saved_ic_data.At(saved_length - 1))).deopt_id() + 1;
+    const intptr_t restored_length =
+        ICData::Cast(Object::Handle(zone, saved_ic_data.At(saved_length - 1)))
+            .deopt_id() +
+        1;
     deopt_id_to_ic_data->SetLength(restored_length);
     for (intptr_t i = 0; i < restored_length; i++) {
       (*deopt_id_to_ic_data)[i] = NULL;
@@ -7249,11 +7112,10 @@
       // sed -i .bak -f /tmp/newkeys runtime/vm/method_recognizer.h
       THR_Print("s/0x%08x/0x%08x/\n", fp, SourceFingerprint());
     } else {
-      THR_Print("FP mismatch while recognizing method %s:"
-                " expecting 0x%08x found 0x%08x\n",
-                ToFullyQualifiedCString(),
-                fp,
-                SourceFingerprint());
+      THR_Print(
+          "FP mismatch while recognizing method %s:"
+          " expecting 0x%08x found 0x%08x\n",
+          ToFullyQualifiedCString(), fp, SourceFingerprint());
       return false;
     }
   }
@@ -7304,9 +7166,9 @@
       UNREACHABLE();
   }
   const char* function_name = String::Handle(name()).ToCString();
-  return OS::SCreate(Thread::Current()->zone(),
-      "Function '%s':%s%s%s%s.",
-      function_name, static_str, abstract_str, kind_str, const_str);
+  return OS::SCreate(Thread::Current()->zone(), "Function '%s':%s%s%s%s.",
+                     function_name, static_str, abstract_str, kind_str,
+                     const_str);
 }
 
 
@@ -7335,8 +7197,7 @@
 RawClosureData* ClosureData::New() {
   ASSERT(Object::closure_data_class() != Class::null());
   RawObject* raw = Object::Allocate(ClosureData::kClassId,
-                                    ClosureData::InstanceSize(),
-                                    Heap::kOld);
+                                    ClosureData::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawClosureData*>(raw);
 }
 
@@ -7364,9 +7225,8 @@
 
 RawRedirectionData* RedirectionData::New() {
   ASSERT(Object::redirection_data_class() != Class::null());
-  RawObject* raw = Object::Allocate(RedirectionData::kClassId,
-                                    RedirectionData::InstanceSize(),
-                                    Heap::kOld);
+  RawObject* raw = Object::Allocate(
+      RedirectionData::kClassId, RedirectionData::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawRedirectionData*>(raw);
 }
 
@@ -7433,13 +7293,13 @@
 
 RawString* Field::NameFromGetter(const String& getter_name) {
   return Symbols::New(Thread::Current(), getter_name, kGetterPrefixLength,
-      getter_name.Length() - kGetterPrefixLength);
+                      getter_name.Length() - kGetterPrefixLength);
 }
 
 
 RawString* Field::NameFromSetter(const String& setter_name) {
   return Symbols::New(Thread::Current(), setter_name, kSetterPrefixLength,
-      setter_name.Length() - kSetterPrefixLength);
+                      setter_name.Length() - kSetterPrefixLength);
 }
 
 
@@ -7523,9 +7383,8 @@
 
 RawField* Field::New() {
   ASSERT(Object::field_class() != Class::null());
-  RawObject* raw = Object::Allocate(Field::kClassId,
-                                    Field::InstanceSize(),
-                                    Heap::kOld);
+  RawObject* raw =
+      Object::Allocate(Field::kClassId, Field::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawField*>(raw);
 }
 
@@ -7582,14 +7441,8 @@
                      TokenPosition token_pos) {
   ASSERT(!owner.IsNull());
   const Field& result = Field::Handle(Field::New());
-  InitializeNew(result,
-                name,
-                is_static,
-                is_final,
-                is_const,
-                is_reflectable,
-                owner,
-                token_pos);
+  InitializeNew(result, name, is_static, is_final, is_const, is_reflectable,
+                owner, token_pos);
   result.SetFieldType(type);
   return result.raw();
 }
@@ -7602,14 +7455,9 @@
                              TokenPosition token_pos) {
   ASSERT(!owner.IsNull());
   const Field& result = Field::Handle(Field::New());
-  InitializeNew(result,
-                name,
-                true, /* is_static */
-                is_final,
-                is_const,
-                true, /* is_reflectable */
-                owner,
-                token_pos);
+  InitializeNew(result, name, true,       /* is_static */
+                is_final, is_const, true, /* is_reflectable */
+                owner, token_pos);
   return result.raw();
 }
 
@@ -7692,8 +7540,8 @@
   const char* field_name = String::Handle(name()).ToCString();
   const Class& cls = Class::Handle(Owner());
   const char* cls_name = String::Handle(cls.Name()).ToCString();
-  return OS::SCreate(Thread::Current()->zone(),
-      "Field <%s.%s>:%s%s%s", cls_name, field_name, kF0, kF1, kF2);
+  return OS::SCreate(Thread::Current()->zone(), "Field <%s.%s>:%s%s%s",
+                     cls_name, field_name, kF0, kF1, kF2);
 }
 
 
@@ -7709,16 +7557,16 @@
   String& closure_name = String::Handle(zone, this->name());
   closure_name = Symbols::FromConcat(thread, Symbols::HashMark(), closure_name);
   if (make_setter) {
-    closure_name = Symbols::FromConcat(thread,
-        Symbols::HashMark(), closure_name);
+    closure_name =
+        Symbols::FromConcat(thread, Symbols::HashMark(), closure_name);
   }
 
   Field& closure_field = Field::Handle(zone);
   closure_field = field_owner.LookupStaticField(closure_name);
   if (!closure_field.IsNull()) {
     ASSERT(closure_field.is_static());
-    const Instance& closure = Instance::Handle(zone,
-        closure_field.StaticValue());
+    const Instance& closure =
+        Instance::Handle(zone, closure_field.StaticValue());
     ASSERT(!closure.IsNull());
     ASSERT(closure.IsClosure());
     return closure.raw();
@@ -7729,29 +7577,26 @@
   const char* field_name = String::Handle(zone, name()).ToCString();
   String& expr_src = String::Handle(zone);
   if (make_setter) {
-    expr_src =
-        String::NewFormatted("(%s_) { return %s = %s_; }",
-                             field_name, field_name, field_name);
+    expr_src = String::NewFormatted("(%s_) { return %s = %s_; }", field_name,
+                                    field_name, field_name);
   } else {
     expr_src = String::NewFormatted("() { return %s; }", field_name);
   }
-  Object& result = Object::Handle(zone,
-      field_owner.Evaluate(expr_src,
-                           Object::empty_array(),
-                           Object::empty_array()));
+  Object& result =
+      Object::Handle(zone, field_owner.Evaluate(expr_src, Object::empty_array(),
+                                                Object::empty_array()));
   ASSERT(result.IsInstance());
   // The caller may expect the closure to be allocated in old space. Copy
   // the result here, since Object::Clone() is a private method.
   result = Object::Clone(result, Heap::kOld);
 
-  closure_field = Field::New(closure_name,
-                             true,  // is_static
-                             true,  // is_final
-                             true,  // is_const
-                             false,  // is_reflectable
-                             field_owner,
-                             Object::dynamic_type(),
-                             this->token_pos());
+  closure_field =
+      Field::New(closure_name,
+                 true,   // is_static
+                 true,   // is_final
+                 true,   // is_const
+                 false,  // is_reflectable
+                 field_owner, Object::dynamic_type(), this->token_pos());
   closure_field.SetStaticValue(Instance::Cast(result), true);
   field_owner.AddField(closure_field);
 
@@ -7784,7 +7629,7 @@
  public:
   explicit FieldDependentArray(const Field& field)
       : WeakCodeReferences(Array::Handle(field.dependent_code())),
-                           field_(field) {}
+        field_(field) {}
 
   virtual void UpdateArrayTo(const Array& value) {
     field_.set_dependent_code(value);
@@ -7801,10 +7646,10 @@
   virtual void ReportSwitchingCode(const Code& code) {
     if (FLAG_trace_deoptimization || FLAG_trace_deoptimization_verbose) {
       Function& function = Function::Handle(code.function());
-      THR_Print("Switching '%s' to unoptimized code because guard"
-                " on field '%s' was violated.\n",
-                function.ToFullyQualifiedCString(),
-                field_.ToCString());
+      THR_Print(
+          "Switching '%s' to unoptimized code because guard"
+          " on field '%s' was violated.\n",
+          function.ToFullyQualifiedCString(), field_.ToCString());
     }
   }
 
@@ -7835,7 +7680,7 @@
   return (raw_ptr()->guarded_cid_ == other.raw_ptr()->guarded_cid_) &&
          (raw_ptr()->is_nullable_ == other.raw_ptr()->is_nullable_) &&
          (raw_ptr()->guarded_list_length_ ==
-             other.raw_ptr()->guarded_list_length_) &&
+          other.raw_ptr()->guarded_list_length_) &&
          (is_unboxing_candidate() == other.is_unboxing_candidate());
 }
 
@@ -7941,29 +7786,24 @@
     return "<*>";
   }
 
-  const Class& cls = Class::Handle(
-      Isolate::Current()->class_table()->At(guarded_cid()));
+  const Class& cls =
+      Class::Handle(Isolate::Current()->class_table()->At(guarded_cid()));
   const char* class_name = String::Handle(cls.Name()).ToCString();
 
-  if (RawObject::IsBuiltinListClassId(guarded_cid()) &&
-      !is_nullable() &&
+  if (RawObject::IsBuiltinListClassId(guarded_cid()) && !is_nullable() &&
       is_final()) {
     ASSERT(guarded_list_length() != kUnknownFixedLength);
     if (guarded_list_length() == kNoFixedLength) {
-      return Thread::Current()->zone()->PrintToString(
-          "<%s [*]>", class_name);
+      return Thread::Current()->zone()->PrintToString("<%s [*]>", class_name);
     } else {
       return Thread::Current()->zone()->PrintToString(
-          "<%s [%" Pd " @%" Pd "]>",
-          class_name,
-          guarded_list_length(),
+          "<%s [%" Pd " @%" Pd "]>", class_name, guarded_list_length(),
           guarded_list_length_in_object_offset());
     }
   }
 
-  return Thread::Current()->zone()->PrintToString("<%s %s>",
-    is_nullable() ? "nullable" : "not-nullable",
-    class_name);
+  return Thread::Current()->zone()->PrintToString(
+      "<%s %s>", is_nullable() ? "nullable" : "not-nullable", class_name);
 }
 
 
@@ -8064,9 +7904,7 @@
   }
 
   if (FLAG_trace_field_guards) {
-    THR_Print("Store %s %s <- %s\n",
-              ToCString(),
-              GuardedPropertiesAsCString(),
+    THR_Print("Store %s %s <- %s\n", ToCString(), GuardedPropertiesAsCString(),
               value.ToCString());
   }
 
@@ -8105,8 +7943,7 @@
 RawLiteralToken* LiteralToken::New() {
   ASSERT(Object::literal_token_class() != Class::null());
   RawObject* raw = Object::Allocate(LiteralToken::kClassId,
-                                    LiteralToken::InstanceSize(),
-                                    Heap::kOld);
+                                    LiteralToken::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawLiteralToken*>(raw);
 }
 
@@ -8158,7 +7995,7 @@
 
 void TokenStream::DataFinalizer(void* isolate_callback_data,
                                 Dart_WeakPersistentHandle handle,
-                                void *peer) {
+                                void* peer) {
   ASSERT(peer != NULL);
   ::free(peer);
 }
@@ -8174,8 +8011,7 @@
 }
 
 RawString* TokenStream::GenerateSource() const {
-  return GenerateSource(TokenPosition::kMinSource,
-                        TokenPosition::kMaxSource);
+  return GenerateSource(TokenPosition::kMinSource, TokenPosition::kMaxSource);
 }
 
 RawString* TokenStream::GenerateSource(TokenPosition start_pos,
@@ -8183,9 +8019,8 @@
   Zone* zone = Thread::Current()->zone();
   Iterator iterator(zone, *this, start_pos, Iterator::kAllTokens);
   const ExternalTypedData& data = ExternalTypedData::Handle(zone, GetStream());
-  const GrowableObjectArray& literals =
-      GrowableObjectArray::Handle(zone,
-                                  GrowableObjectArray::New(data.Length()));
+  const GrowableObjectArray& literals = GrowableObjectArray::Handle(
+      zone, GrowableObjectArray::New(data.Length()));
   const String& private_key = String::Handle(zone, PrivateKey());
   intptr_t private_len = private_key.Length();
 
@@ -8323,10 +8158,10 @@
       separator = &Symbols::Blank();
     } else if ((curr == Token::kASSIGN) && (next == Token::kLPAREN)) {
       separator = &Symbols::Blank();
-    } else if ((curr == Token::kRETURN  ||
-                curr == Token::kCONDITIONAL ||
+    } else if ((curr == Token::kRETURN || curr == Token::kCONDITIONAL ||
                 Token::IsBinaryOperator(curr) ||
-                Token::IsEqualityOperator(curr)) && (next == Token::kLPAREN)) {
+                Token::IsEqualityOperator(curr)) &&
+               (next == Token::kLPAREN)) {
       separator = &Symbols::Blank();
     } else if ((curr == Token::kLBRACE) && (next == Token::kRBRACE)) {
       separator = NULL;
@@ -8351,9 +8186,9 @@
 
     // Account for indentation in case we printed a newline.
     if (curr == Token::kNEWLINE) {
-        for (int i = 0; i < indent; i++) {
-          literals.Add(Symbols::TwoSpaces());
-        }
+      for (int i = 0; i < indent; i++) {
+        literals.Add(Symbols::TwoSpaces());
+      }
     }
 
     // Setup for next iteration.
@@ -8367,9 +8202,7 @@
 
 intptr_t TokenStream::ComputeSourcePosition(TokenPosition tok_pos) const {
   Zone* zone = Thread::Current()->zone();
-  Iterator iterator(zone,
-                    *this,
-                    TokenPosition::kMinSource,
+  Iterator iterator(zone, *this, TokenPosition::kMinSource,
                     Iterator::kAllTokens);
   intptr_t src_pos = 0;
   Token::Kind kind = iterator.CurrentTokenKind();
@@ -8385,8 +8218,7 @@
 RawTokenStream* TokenStream::New() {
   ASSERT(Object::token_stream_class() != Class::null());
   RawObject* raw = Object::Allocate(TokenStream::kClassId,
-                                    TokenStream::InstanceSize(),
-                                    Heap::kOld);
+                                    TokenStream::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawTokenStream*>(raw);
 }
 
@@ -8400,9 +8232,8 @@
   ASSERT(data != NULL);
   Zone* zone = Thread::Current()->zone();
   const ExternalTypedData& stream = ExternalTypedData::Handle(
-      zone,
-      ExternalTypedData::New(kExternalTypedDataUint8ArrayCid,
-                             data, len, Heap::kOld));
+      zone, ExternalTypedData::New(kExternalTypedDataUint8ArrayCid, data, len,
+                                   Heap::kOld));
   stream.AddFinalizer(data, DataFinalizer, len);
   const TokenStream& result = TokenStream::Handle(zone, TokenStream::New());
   result.SetStream(stream);
@@ -8454,16 +8285,15 @@
   static const bool kPrintTokenObjects = false;
 
   CompressedTokenStreamData(const GrowableObjectArray& ta,
-                            CompressedTokenMap* map) :
-      buffer_(NULL),
-      stream_(&buffer_, Reallocate, kInitialBufferSize),
-      token_objects_(ta),
-      tokens_(map),
-      value_(Object::Handle()),
-      fresh_index_smi_(Smi::Handle()),
-      num_tokens_collected_(0) {
-  }
-  virtual ~CompressedTokenStreamData() { }
+                            CompressedTokenMap* map)
+      : buffer_(NULL),
+        stream_(&buffer_, Reallocate, kInitialBufferSize),
+        token_objects_(ta),
+        tokens_(map),
+        value_(Object::Handle()),
+        fresh_index_smi_(Smi::Handle()),
+        num_tokens_collected_(0) {}
+  virtual ~CompressedTokenStreamData() {}
 
   virtual void AddToken(const Scanner::TokenDescriptor& token) {
     if (token.kind == Token::kIDENT) {  // Identifier token.
@@ -8491,14 +8321,14 @@
     ASSERT(ident.IsSymbol());
     const intptr_t fresh_index = token_objects_.Length();
     fresh_index_smi_ = Smi::New(fresh_index);
-    intptr_t index = Smi::Value(Smi::RawCast(
-        tokens_->InsertOrGetValue(ident, fresh_index_smi_)));
+    intptr_t index = Smi::Value(
+        Smi::RawCast(tokens_->InsertOrGetValue(ident, fresh_index_smi_)));
     if (index == fresh_index) {
       token_objects_.Add(ident);
       if (kPrintTokenObjects) {
         int iid = Isolate::Current()->main_port() % 1024;
-        OS::Print("ident  %03x  %p <%s>\n",
-                  iid, ident.raw(), ident.ToCString());
+        OS::Print("ident  %03x  %p <%s>\n", iid, ident.raw(),
+                  ident.ToCString());
       }
     }
     WriteIndex(index);
@@ -8518,13 +8348,13 @@
       fresh_index_smi_ = Smi::New(fresh_index);
       const LiteralToken& lit = LiteralToken::Handle(
           LiteralToken::New(descriptor.kind, *descriptor.literal));
-      index = Smi::Value(Smi::RawCast(
-          tokens_->InsertOrGetValue(lit, fresh_index_smi_)));
+      index = Smi::Value(
+          Smi::RawCast(tokens_->InsertOrGetValue(lit, fresh_index_smi_)));
       token_objects_.Add(lit);
       if (kPrintTokenObjects) {
         int iid = Isolate::Current()->main_port() % 1024;
-        printf("lit    %03x  %p  %p  %p  <%s>\n",
-               iid, token_objects_.raw(), lit.literal(), lit.value(),
+        printf("lit    %03x  %p  %p  %p  <%s>\n", iid, token_objects_.raw(),
+               lit.literal(), lit.value(),
                String::Handle(lit.literal()).ToCString());
       }
     }
@@ -8532,9 +8362,7 @@
   }
 
   // Add a simple token into the stream.
-  void AddSimpleToken(intptr_t kind) {
-    stream_.WriteUnsigned(kind);
-  }
+  void AddSimpleToken(intptr_t kind) { stream_.WriteUnsigned(kind); }
 
   void WriteIndex(intptr_t value) {
     stream_.WriteUnsigned(value + Token::kNumTokens);
@@ -8581,9 +8409,8 @@
     const int kInitialPrivateCapacity = 256;
     token_objects =
         GrowableObjectArray::New(kInitialPrivateCapacity, Heap::kOld);
-    token_objects_map =
-        HashTables::New<CompressedTokenMap>(kInitialPrivateCapacity,
-                                            Heap::kOld);
+    token_objects_map = HashTables::New<CompressedTokenMap>(
+        kInitialPrivateCapacity, Heap::kOld);
   }
   CompressedTokenMap map(token_objects_map.raw());
   CompressedTokenStreamData data(token_objects, &map);
@@ -8594,8 +8421,8 @@
   // Create and setup the token stream object.
   const ExternalTypedData& stream = ExternalTypedData::Handle(
       zone,
-      ExternalTypedData::New(kExternalTypedDataUint8ArrayCid,
-                             data.GetStream(), data.Length(), Heap::kOld));
+      ExternalTypedData::New(kExternalTypedDataUint8ArrayCid, data.GetStream(),
+                             data.Length(), Heap::kOld));
   intptr_t external_size = data.Length();
   stream.AddFinalizer(data.GetStream(), DataFinalizer, external_size);
   const TokenStream& result = TokenStream::Handle(zone, New());
@@ -8615,15 +8442,14 @@
 
 
 void TokenStream::OpenSharedTokenList(Isolate* isolate) {
-  const int kInitialSharedCapacity = 5*1024;
+  const int kInitialSharedCapacity = 5 * 1024;
   ObjectStore* store = isolate->object_store();
   ASSERT(store->token_objects() == GrowableObjectArray::null());
   const GrowableObjectArray& token_objects = GrowableObjectArray::Handle(
       GrowableObjectArray::New(kInitialSharedCapacity, Heap::kOld));
   store->set_token_objects(token_objects);
   const Array& token_objects_map = Array::Handle(
-      HashTables::New<CompressedTokenMap>(kInitialSharedCapacity,
-                                          Heap::kOld));
+      HashTables::New<CompressedTokenMap>(kInitialSharedCapacity, Heap::kOld));
   store->set_token_objects_map(token_objects_map);
 }
 
@@ -8646,8 +8472,9 @@
     : tokens_(TokenStream::Handle(zone, tokens.raw())),
       data_(ExternalTypedData::Handle(zone, tokens.GetStream())),
       stream_(reinterpret_cast<uint8_t*>(data_.DataAddr(0)), data_.Length()),
-      token_objects_(Array::Handle(zone,
-         GrowableObjectArray::Handle(zone, tokens.TokenObjects()).data())),
+      token_objects_(Array::Handle(
+          zone,
+          GrowableObjectArray::Handle(zone, tokens.TokenObjects()).data())),
       obj_(Object::Handle(zone)),
       cur_token_pos_(token_pos.Pos()),
       cur_token_kind_(Token::kILLEGAL),
@@ -8816,9 +8643,7 @@
   Smi& value = Smi::Handle(zone);
   String& tokenValue = String::Handle(zone);
   ASSERT(!tkns.IsNull());
-  TokenStream::Iterator tkit(zone,
-                             tkns,
-                             TokenPosition::kMinSource,
+  TokenStream::Iterator tkit(zone, tkns, TokenPosition::kMinSource,
                              TokenStream::Iterator::kAllTokens);
   int current_line = -1;
   Scanner s(source, key);
@@ -8940,8 +8765,7 @@
 }
 
 
-void Script::Tokenize(const String& private_key,
-                      bool use_shared_tokens) const {
+void Script::Tokenize(const String& private_key, bool use_shared_tokens) const {
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
   const TokenStream& tkns = TokenStream::Handle(zone, tokens());
@@ -8953,8 +8777,8 @@
   VMTagScope tagScope(thread, VMTag::kCompileScannerTagId);
   CSTAT_TIMER_SCOPE(thread, scanner_timer);
   const String& src = String::Handle(zone, Source());
-  const TokenStream& ts = TokenStream::Handle(zone,
-      TokenStream::New(src, private_key, use_shared_tokens));
+  const TokenStream& ts = TokenStream::Handle(
+      zone, TokenStream::New(src, private_key, use_shared_tokens));
   set_tokens(ts);
   INC_STAT(thread, src_length, src.Length());
 }
@@ -8988,9 +8812,7 @@
     return;
   }
   if (column == NULL) {
-    TokenStream::Iterator tkit(zone,
-                               tkns,
-                               TokenPosition::kMinSource,
+    TokenStream::Iterator tkit(zone, tkns, TokenPosition::kMinSource,
                                TokenStream::Iterator::kAllTokens);
     intptr_t cur_line = line_offset() + 1;
     while ((tkit.CurrentPosition() < token_pos) &&
@@ -9035,9 +8857,7 @@
   const TokenStream& tkns = TokenStream::Handle(zone, tokens());
   line_number -= line_offset();
   if (line_number < 1) line_number = 1;
-  TokenStream::Iterator tkit(zone,
-                             tkns,
-                             TokenPosition::kMinSource,
+  TokenStream::Iterator tkit(zone, tkns, TokenPosition::kMinSource,
                              TokenStream::Iterator::kAllTokens);
   // Scan through the token stream to the required line.
   intptr_t cur_line = 1;
@@ -9087,8 +8907,7 @@
   intptr_t line_start_idx = -1;
   intptr_t last_char_idx = -1;
   for (intptr_t ix = 0;
-       (ix < src.Length()) && (current_line <= relative_line_number);
-       ix++) {
+       (ix < src.Length()) && (current_line <= relative_line_number); ix++) {
     if ((current_line == relative_line_number) && (line_start_idx < 0)) {
       line_start_idx = ix;
     }
@@ -9105,10 +8924,8 @@
   // Guarantee that returned string is never NULL.
 
   if (line_start_idx >= 0) {
-    return String::SubString(src,
-                             line_start_idx,
-                             last_char_idx - line_start_idx + 1,
-                             space);
+    return String::SubString(src, line_start_idx,
+                             last_char_idx - line_start_idx + 1, space);
   } else {
     return Symbols::Empty().raw();
   }
@@ -9172,9 +8989,8 @@
 
 RawScript* Script::New() {
   ASSERT(Object::script_class() != Class::null());
-  RawObject* raw = Object::Allocate(Script::kClassId,
-                                    Script::InstanceSize(),
-                                    Heap::kOld);
+  RawObject* raw =
+      Object::Allocate(Script::kClassId, Script::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawScript*>(raw);
 }
 
@@ -9198,8 +9014,8 @@
       String::Handle(zone, Symbols::New(thread, resolved_url)));
   result.set_source(source);
   result.set_kind(kind);
-  result.set_load_timestamp(FLAG_remove_script_timestamps_for_test
-                            ? 0 : OS::GetCurrentTimeMillis());
+  result.set_load_timestamp(
+      FLAG_remove_script_timestamps_for_test ? 0 : OS::GetCurrentTimeMillis());
   result.SetLocationOffset(0, 0);
   return result.raw();
 }
@@ -9215,8 +9031,8 @@
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
   Isolate* isolate = thread->isolate();
-  const GrowableObjectArray& libs = GrowableObjectArray::Handle(zone,
-      isolate->object_store()->libraries());
+  const GrowableObjectArray& libs =
+      GrowableObjectArray::Handle(zone, isolate->object_store()->libraries());
   Library& lib = Library::Handle(zone);
   Array& scripts = Array::Handle(zone);
   for (intptr_t i = 0; i < libs.Length(); i++) {
@@ -9262,10 +9078,9 @@
 ClassDictionaryIterator::ClassDictionaryIterator(const Library& library,
                                                  IterationKind kind)
     : DictionaryIterator(library),
-      toplevel_class_(Class::Handle(
-          (kind == kIteratePrivate)
-              ? library.toplevel_class()
-              : Class::null())) {
+      toplevel_class_(Class::Handle((kind == kIteratePrivate)
+                                        ? library.toplevel_class()
+                                        : Class::null())) {
   MoveToNextClass();
 }
 
@@ -9324,12 +9139,9 @@
 
 static void ReportTooManyImports(const Library& lib) {
   const String& url = String::Handle(lib.url());
-  Report::MessageF(Report::kError,
-                   Script::Handle(lib.LookupScript(url)),
-                   TokenPosition::kNoSource,
-                   Report::AtLocation,
-                   "too many imports in library '%s'",
-                   url.ToCString());
+  Report::MessageF(Report::kError, Script::Handle(lib.LookupScript(url)),
+                   TokenPosition::kNoSource, Report::AtLocation,
+                   "too many imports in library '%s'", url.ToCString());
   UNREACHABLE();
 }
 
@@ -9391,9 +9203,7 @@
     // Library objects are always canonical.
     return a.raw() == b.raw();
   }
-  static uword Hash(const Object& key) {
-    return Library::Cast(key).UrlHash();
-  }
+  static uword Hash(const Object& key) { return Library::Cast(key).UrlHash(); }
 };
 typedef UnorderedHashSet<LibraryUrlTraits> LibraryLoadErrorSet;
 
@@ -9477,16 +9287,19 @@
 }
 
 
-static RawString* MakeClassMetaName(Thread* thread, Zone* zone,
+static RawString* MakeClassMetaName(Thread* thread,
+                                    Zone* zone,
                                     const Class& cls) {
-  return Symbols::FromConcat(thread,
-                             Symbols::At(), String::Handle(zone, cls.Name()));
+  return Symbols::FromConcat(thread, Symbols::At(),
+                             String::Handle(zone, cls.Name()));
 }
 
 
-static RawString* MakeFieldMetaName(Thread* thread, Zone* zone,
+static RawString* MakeFieldMetaName(Thread* thread,
+                                    Zone* zone,
                                     const Field& field) {
-  const String& cname = String::Handle(zone,
+  const String& cname = String::Handle(
+      zone,
       MakeClassMetaName(thread, zone, Class::Handle(zone, field.Origin())));
   GrowableHandlePtrArray<const String> pieces(zone, 3);
   pieces.Add(cname);
@@ -9496,9 +9309,11 @@
 }
 
 
-static RawString* MakeFunctionMetaName(Thread* thread, Zone* zone,
+static RawString* MakeFunctionMetaName(Thread* thread,
+                                       Zone* zone,
                                        const Function& func) {
-  const String& cname = String::Handle(zone,
+  const String& cname = String::Handle(
+      zone,
       MakeClassMetaName(thread, zone, Class::Handle(zone, func.origin())));
   GrowableHandlePtrArray<const String> pieces(zone, 3);
   pieces.Add(cname);
@@ -9508,9 +9323,11 @@
 }
 
 
-static RawString* MakeTypeParameterMetaName(Thread* thread, Zone* zone,
+static RawString* MakeTypeParameterMetaName(Thread* thread,
+                                            Zone* zone,
                                             const TypeParameter& param) {
-  const String& cname = String::Handle(zone,
+  const String& cname = String::Handle(
+      zone,
       MakeClassMetaName(thread, zone,
                         Class::Handle(zone, param.parameterized_class())));
   GrowableHandlePtrArray<const String> pieces(zone, 3);
@@ -9528,12 +9345,11 @@
   ASSERT(thread->IsMutatorThread());
   Zone* zone = thread->zone();
   const String& metaname = String::Handle(zone, Symbols::New(thread, name));
-  const Field& field = Field::Handle(zone,
-      Field::NewTopLevel(metaname,
-                         false,  // is_final
-                         false,  // is_const
-                         owner,
-                         token_pos));
+  const Field& field =
+      Field::Handle(zone, Field::NewTopLevel(metaname,
+                                             false,  // is_final
+                                             false,  // is_const
+                                             owner, token_pos));
   field.SetFieldType(Object::dynamic_type());
   field.set_is_reflectable(false);
   field.SetStaticValue(Array::empty_array(), true);
@@ -9580,10 +9396,10 @@
                                        TokenPosition token_pos) const {
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
-  AddMetadata(Class::Handle(zone, param.parameterized_class()),
-              String::Handle(zone,
-                             MakeTypeParameterMetaName(thread, zone, param)),
-              token_pos);
+  AddMetadata(
+      Class::Handle(zone, param.parameterized_class()),
+      String::Handle(zone, MakeTypeParameterMetaName(thread, zone, param)),
+      token_pos);
 }
 
 
@@ -9655,14 +9471,12 @@
 
 
 static bool ShouldBePrivate(const String& name) {
-  return
-      (name.Length() >= 1 && name.CharAt(0) == '_') ||
-      (name.Length() >= 5 &&
-        (name.CharAt(4) == '_' &&
-          (name.CharAt(0) == 'g' || name.CharAt(0) == 's') &&
-          name.CharAt(1) == 'e' &&
-          name.CharAt(2) == 't' &&
-          name.CharAt(3) == ':'));
+  return (name.Length() >= 1 && name.CharAt(0) == '_') ||
+         (name.Length() >= 5 &&
+          (name.CharAt(4) == '_' &&
+           (name.CharAt(0) == 'g' || name.CharAt(0) == 's') &&
+           name.CharAt(1) == 'e' && name.CharAt(2) == 't' &&
+           name.CharAt(3) == ':'));
 }
 
 
@@ -9703,9 +9517,7 @@
   static bool IsMatch(const Object& a, const Object& b) {
     return String::Cast(a).Equals(String::Cast(b));
   }
-  static uword Hash(const Object& obj) {
-    return String::Cast(obj).Hash();
-  }
+  static uword Hash(const Object& obj) { return String::Cast(obj).Hash(); }
 };
 typedef UnorderedHashMap<StringEqualsTraits> ResolvedNamesMap;
 
@@ -9713,14 +9525,13 @@
 // Returns true if the name is found in the cache, false no cache hit.
 // obj is set to the cached entry. It may be null, indicating that the
 // name does not resolve to anything in this library.
-bool Library::LookupResolvedNamesCache(const String& name,
-                                       Object* obj) const {
+bool Library::LookupResolvedNamesCache(const String& name, Object* obj) const {
   ResolvedNamesMap cache(resolved_names());
   bool present = false;
   *obj = cache.GetOrNull(name, &present);
-  // Mutator compiler thread may add entries and therefore
-  // change 'resolved_names()' while running a background compilation;
-  // ASSERT that 'resolved_names()' has not changed only in mutator.
+// Mutator compiler thread may add entries and therefore
+// change 'resolved_names()' while running a background compilation;
+// ASSERT that 'resolved_names()' has not changed only in mutator.
 #if defined(DEBUG)
   if (Thread::Current()->IsMutatorThread()) {
     ASSERT(cache.Release().raw() == resolved_names());
@@ -9747,8 +9558,7 @@
 }
 
 
-bool Library::LookupExportedNamesCache(const String& name,
-                                       Object* obj) const {
+bool Library::LookupExportedNamesCache(const String& name, Object* obj) const {
   ASSERT(FLAG_use_exp_cache);
   if (exported_names() == Array::null()) {
     return false;
@@ -9756,9 +9566,9 @@
   ResolvedNamesMap cache(exported_names());
   bool present = false;
   *obj = cache.GetOrNull(name, &present);
-  // Mutator compiler thread may add entries and therefore
-  // change 'exported_names()' while running a background compilation;
-  // do not ASSERT that 'exported_names()' has not changed.
+// Mutator compiler thread may add entries and therefore
+// change 'exported_names()' while running a background compilation;
+// do not ASSERT that 'exported_names()' has not changed.
 #if defined(DEBUG)
   if (Thread::Current()->IsMutatorThread()) {
     ASSERT(cache.Release().raw() == exported_names());
@@ -9862,9 +9672,7 @@
 
 void Library::AddObject(const Object& obj, const String& name) const {
   ASSERT(Thread::Current()->IsMutatorThread());
-  ASSERT(obj.IsClass() ||
-         obj.IsFunction() ||
-         obj.IsField() ||
+  ASSERT(obj.IsClass() || obj.IsFunction() || obj.IsField() ||
          obj.IsLibraryPrefix());
   ASSERT(name.Equals(String::Handle(obj.DictionaryName())));
   ASSERT(LookupLocalObject(name) == Object::null());
@@ -9935,16 +9743,14 @@
     }
   }
   bool in_cycle = (trail->RemoveLast() < 0);
-  if (FLAG_use_exp_cache &&
-      !in_cycle &&
-      !Compiler::IsBackgroundCompilation()) {
+  if (FLAG_use_exp_cache && !in_cycle && !Compiler::IsBackgroundCompilation()) {
     AddToExportedNamesCache(name, obj);
   }
   return obj.raw();
 }
 
 
-RawObject* Library::LookupEntry(const String& name, intptr_t *index) const {
+RawObject* Library::LookupEntry(const String& name, intptr_t* index) const {
   Thread* thread = Thread::Current();
   REUSABLE_ARRAY_HANDLESCOPE(thread);
   REUSABLE_OBJECT_HANDLESCOPE(thread);
@@ -10093,7 +9899,7 @@
       entry = patches.At(i);
       if (entry.IsClass()) {
         owner_script = Class::Cast(entry).script();
-      }  else {
+      } else {
         ASSERT(entry.IsScript());
         owner_script = Script::Cast(entry).raw();
       }
@@ -10147,7 +9953,7 @@
       // If we do a suffix match, only match if the partial path
       // starts at or immediately after the path separator.
       if (((url.CharAt(0) == '/') ||
-          (script_url.CharAt(start_idx - 1) == '/')) &&
+           (script_url.CharAt(start_idx - 1) == '/')) &&
           url.Equals(script_url, start_idx, url_length)) {
         return script.raw();
       }
@@ -10421,7 +10227,7 @@
 // pre-allocate any unused capacity. The assumption is that
 // re-exports are quite rare.
 void Library::AddExport(const Namespace& ns) const {
-  Array &exports = Array::Handle(this->exports());
+  Array& exports = Array::Handle(this->exports());
   intptr_t num_exports = exports.Length();
   exports = Array::Grow(exports, num_exports + 1);
   StorePointer(&raw_ptr()->exports_, exports.raw());
@@ -10475,15 +10281,13 @@
 
 RawLibrary* Library::New() {
   ASSERT(Object::library_class() != Class::null());
-  RawObject* raw = Object::Allocate(Library::kClassId,
-                                    Library::InstanceSize(),
-                                    Heap::kOld);
+  RawObject* raw =
+      Object::Allocate(Library::kClassId, Library::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawLibrary*>(raw);
 }
 
 
-RawLibrary* Library::NewLibraryHelper(const String& url,
-                                      bool import_core_lib) {
+RawLibrary* Library::NewLibraryHelper(const String& url, bool import_core_lib) {
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
   ASSERT(thread->IsMutatorThread());
@@ -10497,16 +10301,15 @@
   result.StorePointer(&result.raw_ptr()->url_, url.raw());
   result.StorePointer(&result.raw_ptr()->resolved_names_,
                       Object::empty_array().raw());
-  result.StorePointer(&result.raw_ptr()->exported_names_,
-                      Array::null());
+  result.StorePointer(&result.raw_ptr()->exported_names_, Array::null());
   result.StorePointer(&result.raw_ptr()->dictionary_,
                       Object::empty_array().raw());
   result.StorePointer(&result.raw_ptr()->metadata_,
                       GrowableObjectArray::New(4, Heap::kOld));
   result.StorePointer(&result.raw_ptr()->toplevel_class_, Class::null());
-  result.StorePointer(&result.raw_ptr()->patch_classes_,
-                      GrowableObjectArray::New(Object::empty_array(),
-                                               Heap::kOld));
+  result.StorePointer(
+      &result.raw_ptr()->patch_classes_,
+      GrowableObjectArray::New(Object::empty_array(), Heap::kOld));
   result.StorePointer(&result.raw_ptr()->imports_, Object::empty_array().raw());
   result.StorePointer(&result.raw_ptr()->exports_, Object::empty_array().raw());
   result.StorePointer(&result.raw_ptr()->loaded_scripts_, Array::null());
@@ -10528,7 +10331,8 @@
   if (import_core_lib) {
     const Library& core_lib = Library::Handle(zone, Library::CoreLibrary());
     ASSERT(!core_lib.IsNull());
-    const Namespace& ns = Namespace::Handle(zone,
+    const Namespace& ns = Namespace::Handle(
+        zone,
         Namespace::New(core_lib, Object::null_array(), Object::null_array()));
     result.AddImport(ns);
   }
@@ -10577,8 +10381,8 @@
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
   const String& native_flds_lib_url = Symbols::DartNativeWrappers();
-  const Library& native_flds_lib = Library::Handle(zone,
-      Library::NewLibraryHelper(native_flds_lib_url, false));
+  const Library& native_flds_lib = Library::Handle(
+      zone, Library::NewLibraryHelper(native_flds_lib_url, false));
   const String& native_flds_lib_name = Symbols::DartNativeWrappersLibName();
   native_flds_lib.SetName(native_flds_lib_name);
   native_flds_lib.SetLoadRequested();
@@ -10591,10 +10395,7 @@
   char name_buffer[kNameLength];
   String& cls_name = String::Handle(zone);
   for (int fld_cnt = 1; fld_cnt <= kNumNativeWrappersClasses; fld_cnt++) {
-    OS::SNPrint(name_buffer,
-                kNameLength,
-                "%s%d",
-                kNativeWrappersClass,
+    OS::SNPrint(name_buffer, kNameLength, "%s%d", kNativeWrappersClass,
                 fld_cnt);
     cls_name = Symbols::New(thread, name_buffer);
     Class::NewNativeWrapper(native_flds_lib, cls_name, fld_cnt);
@@ -10617,19 +10418,15 @@
     return a_str.Equals(b_str);
   }
 
-  static uword Hash(const Object& key) {
-    return String::Cast(key).Hash();
-  }
+  static uword Hash(const Object& key) { return String::Cast(key).Hash(); }
 
-  static RawObject* NewKey(const String& str) {
-    return str.raw();
-  }
+  static RawObject* NewKey(const String& str) { return str.raw(); }
 };
 typedef UnorderedHashMap<LibraryLookupTraits> LibraryLookupMap;
 
 
 // Returns library with given url in current isolate, or NULL.
-RawLibrary* Library::LookupLibrary(Thread* thread, const String &url) {
+RawLibrary* Library::LookupLibrary(Thread* thread, const String& url) {
   Zone* zone = thread->zone();
   Isolate* isolate = thread->isolate();
   ObjectStore* object_store = isolate->object_store();
@@ -10697,16 +10494,15 @@
   const String& url = String::Handle(zone, this->url());
   intptr_t hash_value = url.Hash() & hash_mask;
 
-  const GrowableObjectArray& libs = GrowableObjectArray::Handle(zone,
-      isolate->object_store()->libraries());
+  const GrowableObjectArray& libs =
+      GrowableObjectArray::Handle(zone, isolate->object_store()->libraries());
   intptr_t sequence_value = libs.Length();
 
   char private_key[32];
-  OS::SNPrint(private_key, sizeof(private_key),
-              "%c%" Pd "%06" Pd "",
+  OS::SNPrint(private_key, sizeof(private_key), "%c%" Pd "%06" Pd "",
               kPrivateKeySeparator, sequence_value, hash_value);
-  const String& key = String::Handle(zone, String::New(private_key,
-                                                       Heap::kOld));
+  const String& key =
+      String::Handle(zone, String::New(private_key, Heap::kOld));
   key.Hash();  // This string may end up in the VM isolate.
   StorePointer(&raw_ptr()->private_key_, key.raw());
 }
@@ -10726,8 +10522,8 @@
   String& name = String::Handle(zone, class_name.raw());
   if (class_name.CharAt(0) == kPrivateIdentifierStart) {
     // Private identifiers are mangled on a per library basis.
-    name = Symbols::FromConcat(thread,
-        name, String::Handle(zone, core_lib.private_key()));
+    name = Symbols::FromConcat(thread, name,
+                               String::Handle(zone, core_lib.private_key()));
   }
   return core_lib.LookupClass(name);
 }
@@ -10742,8 +10538,8 @@
   // ASSERT(strchr(name, '@') == NULL);
   String& str = String::Handle(zone);
   str = name.raw();
-  str = Symbols::FromConcat(thread,
-                            str, String::Handle(zone, this->private_key()));
+  str = Symbols::FromConcat(thread, str,
+                            String::Handle(zone, this->private_key()));
   return str.raw();
 }
 
@@ -10774,8 +10570,8 @@
   const String& lib_url = String::Handle(zone, url());
   ASSERT(Library::LookupLibrary(thread, lib_url) == Library::null());
   ASSERT(lib_url.HasHash());
-  GrowableObjectArray& libs = GrowableObjectArray::Handle(zone,
-      object_store->libraries());
+  GrowableObjectArray& libs =
+      GrowableObjectArray::Handle(zone, object_store->libraries());
   ASSERT(!libs.IsNull());
   set_index(libs.Length());
   libs.Add(*this);
@@ -10840,7 +10636,7 @@
 
 
 RawLibrary* Library::InternalLibrary() {
-  return Isolate::Current()->object_store()->internal_library();
+  return Isolate::Current()->object_store()->_internal_library();
 }
 
 
@@ -10854,9 +10650,11 @@
 }
 
 
+#if !defined(PRODUCT)
 RawLibrary* Library::MirrorsLibrary() {
   return Isolate::Current()->object_store()->mirrors_library();
 }
+#endif
 
 
 RawLibrary* Library::NativeWrappersLibrary() {
@@ -10875,14 +10673,14 @@
 
 
 RawLibrary* Library::VMServiceLibrary() {
-  return Isolate::Current()->object_store()->vmservice_library();
+  return Isolate::Current()->object_store()->_vmservice_library();
 }
 
 
 const char* Library::ToCString() const {
   const String& name = String::Handle(url());
-  return OS::SCreate(Thread::Current()->zone(),
-      "Library:'%s'", name.ToCString());
+  return OS::SCreate(Thread::Current()->zone(), "Library:'%s'",
+                     name.ToCString());
 }
 
 
@@ -11080,10 +10878,9 @@
     {
       TransitionVMToNative transition(thread);
       Api::Scope api_scope(thread);
-      obj = Api::UnwrapHandle(
-              handler(Dart_kImportTag,
-                      Api::NewHandle(thread, importer()),
-                      Api::NewHandle(thread, lib_url.raw())));
+      obj = Api::UnwrapHandle(handler(Dart_kImportTag,
+                                      Api::NewHandle(thread, importer()),
+                                      Api::NewHandle(thread, lib_url.raw())));
     }
     if (obj.IsError()) {
       Exceptions::PropagateError(Error::Cast(obj));
@@ -11110,7 +10907,7 @@
  public:
   explicit PrefixDependentArray(const LibraryPrefix& prefix)
       : WeakCodeReferences(Array::Handle(prefix.dependent_code())),
-                           prefix_(prefix) {}
+        prefix_(prefix) {}
 
   virtual void UpdateArrayTo(const Array& value) {
     prefix_.set_dependent_code(value);
@@ -11127,10 +10924,10 @@
   virtual void ReportSwitchingCode(const Code& code) {
     if (FLAG_trace_deoptimization || FLAG_trace_deoptimization_verbose) {
       THR_Print("Prefix '%s': disabling %s code for %s function '%s'\n",
-          String::Handle(prefix_.name()).ToCString(),
-          code.is_optimized() ? "optimized" : "unoptimized",
-          code.IsDisabled() ? "'patched'" : "'unpatched'",
-          Function::Handle(code.function()).ToCString());
+                String::Handle(prefix_.name()).ToCString(),
+                code.is_optimized() ? "optimized" : "unoptimized",
+                code.IsDisabled() ? "'patched'" : "'unpatched'",
+                Function::Handle(code.function()).ToCString());
     }
   }
 
@@ -11159,8 +10956,7 @@
 
 RawLibraryPrefix* LibraryPrefix::New() {
   RawObject* raw = Object::Allocate(LibraryPrefix::kClassId,
-                                    LibraryPrefix::InstanceSize(),
-                                    Heap::kOld);
+                                    LibraryPrefix::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawLibraryPrefix*>(raw);
 }
 
@@ -11207,8 +11003,8 @@
 
 const char* LibraryPrefix::ToCString() const {
   const String& prefix = String::Handle(name());
-  return OS::SCreate(Thread::Current()->zone(),
-      "LibraryPrefix:'%s'", prefix.ToCString());
+  return OS::SCreate(Thread::Current()->zone(), "LibraryPrefix:'%s'",
+                     prefix.ToCString());
 }
 
 
@@ -11222,8 +11018,7 @@
   Field& field = Field::Handle(Field::NewTopLevel(Symbols::TopLevel(),
                                                   false,  // is_final
                                                   false,  // is_const
-                                                  owner,
-                                                  token_pos));
+                                                  owner, token_pos));
   field.set_is_reflectable(false);
   field.SetFieldType(Object::dynamic_type());
   field.SetStaticValue(Array::empty_array(), true);
@@ -11252,8 +11047,8 @@
 
 const char* Namespace::ToCString() const {
   const Library& lib = Library::Handle(library());
-  return OS::SCreate(Thread::Current()->zone(),
-      "Namespace for library '%s'", lib.ToCString());
+  return OS::SCreate(Thread::Current()->zone(), "Namespace for library '%s'",
+                     lib.ToCString());
 }
 
 
@@ -11313,7 +11108,7 @@
     // Look for cycle in reexport graph.
     for (int i = 0; i < trail->length(); i++) {
       if (trail->At(i) == lib.index()) {
-        for (int j = i+1; j < trail->length(); j++) {
+        for (int j = i + 1; j < trail->length(); j++) {
           (*trail)[j] = -1;
         }
         return Object::null();
@@ -11324,8 +11119,7 @@
   intptr_t ignore = 0;
   // Lookup the name in the library's symbols.
   Object& obj = Object::Handle(zone, lib.LookupEntry(name, &ignore));
-  if (!Field::IsGetterName(name) &&
-      !Field::IsSetterName(name) &&
+  if (!Field::IsGetterName(name) && !Field::IsSetterName(name) &&
       (obj.IsNull() || obj.IsLibraryPrefix())) {
     String& accessor_name = String::Handle(zone);
     accessor_name ^= Field::LookupGetterSymbol(name);
@@ -11364,8 +11158,7 @@
 RawNamespace* Namespace::New() {
   ASSERT(Object::namespace_class() != Class::null());
   RawObject* raw = Object::Allocate(Namespace::kClassId,
-                                    Namespace::InstanceSize(),
-                                    Heap::kOld);
+                                    Namespace::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawNamespace*>(raw);
 }
 
@@ -11410,8 +11203,8 @@
   // Inner functions get added to the closures array. As part of compilation
   // more closures can be added to the end of the array. Compile all the
   // closures until we have reached the end of the "worklist".
-  const GrowableObjectArray& closures = GrowableObjectArray::Handle(zone,
-      Isolate::Current()->object_store()->closure_functions());
+  const GrowableObjectArray& closures = GrowableObjectArray::Handle(
+      zone, Isolate::Current()->object_store()->closure_functions());
   Function& func = Function::Handle(zone);
   for (int i = 0; i < closures.Length(); i++) {
     func ^= closures.At(i);
@@ -11432,8 +11225,8 @@
   Zone* zone = thread->zone();
   Error& error = Error::Handle(zone);
   Isolate* isolate = thread->isolate();
-  const GrowableObjectArray& libs = GrowableObjectArray::Handle(
-      isolate->object_store()->libraries());
+  const GrowableObjectArray& libs =
+      GrowableObjectArray::Handle(isolate->object_store()->libraries());
   Library& lib = Library::Handle(zone);
   Class& cls = Class::Handle(zone);
   for (int i = 0; i < libs.Length(); i++) {
@@ -11455,8 +11248,8 @@
   // Inner functions get added to the closures array. As part of compilation
   // more closures can be added to the end of the array. Compile all the
   // closures until we have reached the end of the "worklist".
-  const GrowableObjectArray& closures = GrowableObjectArray::Handle(zone,
-      Isolate::Current()->object_store()->closure_functions());
+  const GrowableObjectArray& closures = GrowableObjectArray::Handle(
+      zone, Isolate::Current()->object_store()->closure_functions());
   Function& func = Function::Handle(zone);
   for (int i = 0; i < closures.Length(); i++) {
     func ^= closures.At(i);
@@ -11522,7 +11315,7 @@
     CHECK_FINGERPRINT3(func, class_name, function_name, dest, fp);             \
   }
 
-#define CHECK_FINGERPRINTS2(class_name, function_name, dest, type, fp) \
+#define CHECK_FINGERPRINTS2(class_name, function_name, dest, type, fp)         \
   CHECK_FINGERPRINTS(class_name, function_name, dest, fp)
 
   all_libs.Add(&Library::ZoneHandle(Library::CoreLibrary()));
@@ -11554,8 +11347,7 @@
 #undef CHECK_FINGERPRINTS2
 
 
-
-Class& cls = Class::Handle();
+  Class& cls = Class::Handle();
 
 #define CHECK_FACTORY_FINGERPRINTS(factory_symbol, cid, fp)                    \
   cls = Isolate::Current()->class_table()->At(cid);                            \
@@ -11563,10 +11355,10 @@
   if (func.IsNull()) {                                                         \
     has_errors = true;                                                         \
     OS::Print("Function not found %s.%s\n", cls.ToCString(),                   \
-        Symbols::factory_symbol().ToCString());                                \
+              Symbols::factory_symbol().ToCString());                          \
   } else {                                                                     \
     CHECK_FINGERPRINT2(func, factory_symbol, cid, fp);                         \
-  }                                                                            \
+  }
 
   RECOGNIZED_LIST_FACTORY_LIST(CHECK_FACTORY_FINGERPRINTS);
 
@@ -11589,12 +11381,12 @@
   Instructions& result = Instructions::Handle();
   {
     uword aligned_size = Instructions::InstanceSize(size);
-    RawObject* raw = Object::Allocate(Instructions::kClassId,
-                                      aligned_size,
-                                      Heap::kCode);
+    RawObject* raw =
+        Object::Allocate(Instructions::kClassId, aligned_size, Heap::kCode);
     NoSafepointScope no_safepoint;
     result ^= raw;
-    result.set_size(has_single_entry_point ? size : -size);
+    result.SetSize(size);
+    result.SetHasSingleEntryPoint(has_single_entry_point);
   }
   return result.raw();
 }
@@ -11606,8 +11398,7 @@
 
 
 // Encode integer |value| in SLEB128 format and store into |data|.
-static void EncodeSLEB128(GrowableArray<uint8_t>* data,
-                          intptr_t value) {
+static void EncodeSLEB128(GrowableArray<uint8_t>* data, intptr_t value) {
   bool is_last_part = false;
   while (!is_last_part) {
     uint8_t part = value & 0x7f;
@@ -11668,9 +11459,7 @@
   ObjectPool& result = ObjectPool::Handle();
   {
     uword size = ObjectPool::InstanceSize(len);
-    RawObject* raw = Object::Allocate(ObjectPool::kClassId,
-                                      size,
-                                      Heap::kOld);
+    RawObject* raw = Object::Allocate(ObjectPool::kClassId, size, Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.SetLength(len);
@@ -11709,9 +11498,8 @@
     THR_Print("  %" Pd " PP+0x%" Px ": ", i, offset);
     if (InfoAt(i) == kTaggedObject) {
       RawObject* obj = ObjectAt(i);
-      THR_Print("0x%" Px " %s (obj)\n",
-          reinterpret_cast<uword>(obj),
-          Object::Handle(obj).ToCString());
+      THR_Print("0x%" Px " %s (obj)\n", reinterpret_cast<uword>(obj),
+                Object::Handle(obj).ToCString());
     } else if (InfoAt(i) == kNativeEntry) {
       THR_Print("0x%" Px " (native entry)\n", RawValueAt(i));
     } else {
@@ -11747,9 +11535,8 @@
   PcDescriptors& result = PcDescriptors::Handle(thread->zone());
   {
     uword size = PcDescriptors::InstanceSize(data->length());
-    RawObject* raw = Object::Allocate(PcDescriptors::kClassId,
-                                      size,
-                                      Heap::kOld);
+    RawObject* raw =
+        Object::Allocate(PcDescriptors::kClassId, size, Heap::kOld);
     INC_STAT(thread, total_code_size, size);
     INC_STAT(thread, pc_desc_size, size);
     NoSafepointScope no_safepoint;
@@ -11767,9 +11554,8 @@
   PcDescriptors& result = PcDescriptors::Handle(thread->zone());
   {
     uword size = PcDescriptors::InstanceSize(length);
-    RawObject* raw = Object::Allocate(PcDescriptors::kClassId,
-                                      size,
-                                      Heap::kOld);
+    RawObject* raw =
+        Object::Allocate(PcDescriptors::kClassId, size, Heap::kOld);
     INC_STAT(thread, total_code_size, size);
     INC_STAT(thread, pc_desc_size, size);
     NoSafepointScope no_safepoint;
@@ -11782,13 +11568,21 @@
 
 const char* PcDescriptors::KindAsStr(RawPcDescriptors::Kind kind) {
   switch (kind) {
-    case RawPcDescriptors::kDeopt:           return "deopt        ";
-    case RawPcDescriptors::kIcCall:          return "ic-call      ";
-    case RawPcDescriptors::kUnoptStaticCall: return "unopt-call   ";
-    case RawPcDescriptors::kRuntimeCall:     return "runtime-call ";
-    case RawPcDescriptors::kOsrEntry:        return "osr-entry    ";
-    case RawPcDescriptors::kOther:           return "other        ";
-    case RawPcDescriptors::kAnyKind:         UNREACHABLE(); break;
+    case RawPcDescriptors::kDeopt:
+      return "deopt        ";
+    case RawPcDescriptors::kIcCall:
+      return "ic-call      ";
+    case RawPcDescriptors::kUnoptStaticCall:
+      return "unopt-call   ";
+    case RawPcDescriptors::kRuntimeCall:
+      return "runtime-call ";
+    case RawPcDescriptors::kOsrEntry:
+      return "osr-entry    ";
+    case RawPcDescriptors::kOther:
+      return "other        ";
+    case RawPcDescriptors::kAnyKind:
+      UNREACHABLE();
+      break;
   }
   UNREACHABLE();
   return "";
@@ -11800,14 +11594,13 @@
   const int addr_width = (kBitsPerWord / 4) + 2;
   // "*" in a printf format specifier tells it to read the field width from
   // the printf argument list.
-  THR_Print("%-*s\tkind    \tdeopt-id\ttok-ix\ttry-ix\n",
-            addr_width, "pc");
+  THR_Print("%-*s\tkind    \tdeopt-id\ttok-ix\ttry-ix\n", addr_width, "pc");
 }
 
 
 const char* PcDescriptors::ToCString() const {
-  // "*" in a printf format specifier tells it to read the field width from
-  // the printf argument list.
+// "*" in a printf format specifier tells it to read the field width from
+// the printf argument list.
 #define FORMAT "%#-*" Px "\t%s\t%" Pd "\t\t%s\t%" Pd "\n"
   if (Length() == 0) {
     return "empty PcDescriptors\n";
@@ -11819,12 +11612,9 @@
   {
     Iterator iter(*this, RawPcDescriptors::kAnyKind);
     while (iter.MoveNext()) {
-      len += OS::SNPrint(NULL, 0, FORMAT, addr_width,
-                         iter.PcOffset(),
-                         KindAsStr(iter.Kind()),
-                         iter.DeoptId(),
-                         iter.TokenPos().ToCString(),
-                         iter.TryIndex());
+      len += OS::SNPrint(NULL, 0, FORMAT, addr_width, iter.PcOffset(),
+                         KindAsStr(iter.Kind()), iter.DeoptId(),
+                         iter.TokenPos().ToCString(), iter.TryIndex());
     }
   }
   // Allocate the buffer.
@@ -11833,12 +11623,10 @@
   intptr_t index = 0;
   Iterator iter(*this, RawPcDescriptors::kAnyKind);
   while (iter.MoveNext()) {
-    index += OS::SNPrint((buffer + index), (len - index), FORMAT, addr_width,
-                         iter.PcOffset(),
-                         KindAsStr(iter.Kind()),
-                         iter.DeoptId(),
-                         iter.TokenPos().ToCString(),
-                         iter.TryIndex());
+    index +=
+        OS::SNPrint((buffer + index), (len - index), FORMAT, addr_width,
+                    iter.PcOffset(), KindAsStr(iter.Kind()), iter.DeoptId(),
+                    iter.TokenPos().ToCString(), iter.TryIndex());
   }
   return buffer;
 #undef FORMAT
@@ -11866,8 +11654,8 @@
   }
 
   Zone* zone = Thread::Current()->zone();
-  BitVector* deopt_ids = new(zone) BitVector(zone, max_deopt_id + 1);
-  BitVector* iccall_ids = new(zone) BitVector(zone, max_deopt_id + 1);
+  BitVector* deopt_ids = new (zone) BitVector(zone, max_deopt_id + 1);
+  BitVector* iccall_ids = new (zone) BitVector(zone, max_deopt_id + 1);
   Iterator iter(*this, RawPcDescriptors::kDeopt | RawPcDescriptors::kIcCall);
   while (iter.MoveNext()) {
     // 'deopt_id' is set for kDeopt and kIcCall and must be unique for one kind.
@@ -11889,8 +11677,7 @@
 }
 
 
-TokenPosition CodeSourceMap::TokenPositionForPCOffset(
-    uword pc_offset) const {
+TokenPosition CodeSourceMap::TokenPositionForPCOffset(uword pc_offset) const {
   Iterator iterator(*this);
 
   TokenPosition result = TokenPosition::kNoSource;
@@ -11953,19 +11740,14 @@
     current_script ^=
         code_source_map.ScriptForPCOffset(code, function, pc_offset);
     if (current_function.IsNull() || current_script.IsNull()) {
-      THR_Print("%#-*" Px "\t%s\t%s\n", addr_width,
-                pc_offset,
-                tp.ToCString(),
+      THR_Print("%#-*" Px "\t%s\t%s\n", addr_width, pc_offset, tp.ToCString(),
                 code_name);
       continue;
     }
     const String& uri = String::Handle(current_script.url());
     ASSERT(!uri.IsNull());
-    THR_Print("%#-*" Px "\t%s\t%s\t%s\n", addr_width,
-              pc_offset,
-              tp.ToCString(),
-              current_function.ToQualifiedCString(),
-              uri.ToCString());
+    THR_Print("%#-*" Px "\t%s\t%s\t%s\n", addr_width, pc_offset, tp.ToCString(),
+              current_function.ToQualifiedCString(), uri.ToCString());
   }
 }
 
@@ -11995,9 +11777,8 @@
   CodeSourceMap& result = CodeSourceMap::Handle(thread->zone());
   {
     uword size = CodeSourceMap::InstanceSize(data->length());
-    RawObject* raw = Object::Allocate(CodeSourceMap::kClassId,
-                                      size,
-                                      Heap::kOld);
+    RawObject* raw =
+        Object::Allocate(CodeSourceMap::kClassId, size, Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.SetLength(data->length());
@@ -12013,9 +11794,8 @@
   CodeSourceMap& result = CodeSourceMap::Handle(thread->zone());
   {
     uword size = CodeSourceMap::InstanceSize(length);
-    RawObject* raw = Object::Allocate(CodeSourceMap::kClassId,
-                                      size,
-                                      Heap::kOld);
+    RawObject* raw =
+        Object::Allocate(CodeSourceMap::kClassId, size, Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.SetLength(length);
@@ -12025,8 +11805,8 @@
 
 
 const char* CodeSourceMap::ToCString() const {
-  // "*" in a printf format specifier tells it to read the field width from
-  // the printf argument list.
+// "*" in a printf format specifier tells it to read the field width from
+// the printf argument list.
 #define FORMAT "%#-*" Px "\t%s\n"
   if (Length() == 0) {
     return "empty CodeSourceMap\n";
@@ -12038,8 +11818,7 @@
   {
     Iterator iter(*this);
     while (iter.MoveNext()) {
-      len += OS::SNPrint(NULL, 0, FORMAT, addr_width,
-                         iter.PcOffset(),
+      len += OS::SNPrint(NULL, 0, FORMAT, addr_width, iter.PcOffset(),
                          iter.TokenPos().ToCString());
     }
   }
@@ -12050,8 +11829,7 @@
   Iterator iter(*this);
   while (iter.MoveNext()) {
     index += OS::SNPrint((buffer + index), (len - index), FORMAT, addr_width,
-                         iter.PcOffset(),
-                         iter.TokenPos().ToCString());
+                         iter.PcOffset(), iter.TokenPos().ToCString());
   }
   return buffer;
 #undef FORMAT
@@ -12106,20 +11884,16 @@
   Stackmap& result = Stackmap::Handle();
   // Guard against integer overflow of the instance size computation.
   intptr_t length = bmap->Length();
-  intptr_t payload_size =
-      Utils::RoundUp(length, kBitsPerByte) / kBitsPerByte;
-  if ((payload_size < 0) ||
-      (payload_size > kMaxLengthInBytes)) {
+  intptr_t payload_size = Utils::RoundUp(length, kBitsPerByte) / kBitsPerByte;
+  if ((payload_size < 0) || (payload_size > kMaxLengthInBytes)) {
     // This should be caught before we reach here.
-    FATAL1("Fatal error in Stackmap::New: invalid length %" Pd "\n",
-           length);
+    FATAL1("Fatal error in Stackmap::New: invalid length %" Pd "\n", length);
   }
   {
     // Stackmap data objects are associated with a code object, allocate them
     // in old generation.
-    RawObject* raw = Object::Allocate(Stackmap::kClassId,
-                                      Stackmap::InstanceSize(length),
-                                      Heap::kOld);
+    RawObject* raw = Object::Allocate(
+        Stackmap::kClassId, Stackmap::InstanceSize(length), Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.SetLength(length);
@@ -12143,20 +11917,16 @@
   ASSERT(Object::stackmap_class() != Class::null());
   Stackmap& result = Stackmap::Handle();
   // Guard against integer overflow of the instance size computation.
-  intptr_t payload_size =
-  Utils::RoundUp(length, kBitsPerByte) / kBitsPerByte;
-  if ((payload_size < 0) ||
-      (payload_size > kMaxLengthInBytes)) {
+  intptr_t payload_size = Utils::RoundUp(length, kBitsPerByte) / kBitsPerByte;
+  if ((payload_size < 0) || (payload_size > kMaxLengthInBytes)) {
     // This should be caught before we reach here.
-    FATAL1("Fatal error in Stackmap::New: invalid length %" Pd "\n",
-           length);
+    FATAL1("Fatal error in Stackmap::New: invalid length %" Pd "\n", length);
   }
   {
     // Stackmap data objects are associated with a code object, allocate them
     // in old generation.
-    RawObject* raw = Object::Allocate(Stackmap::kClassId,
-                                      Stackmap::InstanceSize(length),
-                                      Heap::kOld);
+    RawObject* raw = Object::Allocate(
+        Stackmap::kClassId, Stackmap::InstanceSize(length), Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.SetLength(length);
@@ -12222,44 +11992,36 @@
 }
 
 
-static int PrintVarInfo(char* buffer, int len,
+static int PrintVarInfo(char* buffer,
+                        int len,
                         intptr_t i,
                         const String& var_name,
                         const RawLocalVarDescriptors::VarInfo& info) {
   const RawLocalVarDescriptors::VarInfoKind kind = info.kind();
   const int32_t index = info.index();
   if (kind == RawLocalVarDescriptors::kContextLevel) {
-    return OS::SNPrint(buffer, len,
-                       "%2" Pd " %-13s level=%-3d scope=%-3d"
-                       " begin=%-3d end=%d\n",
-                       i,
-                       LocalVarDescriptors::KindToCString(kind),
-                       index,
-                       info.scope_id,
-                       static_cast<int>(info.begin_pos.Pos()),
+    return OS::SNPrint(buffer, len, "%2" Pd
+                                    " %-13s level=%-3d scope=%-3d"
+                                    " begin=%-3d end=%d\n",
+                       i, LocalVarDescriptors::KindToCString(kind), index,
+                       info.scope_id, static_cast<int>(info.begin_pos.Pos()),
                        static_cast<int>(info.end_pos.Pos()));
   } else if (kind == RawLocalVarDescriptors::kContextVar) {
-    return OS::SNPrint(buffer, len,
-                       "%2" Pd " %-13s level=%-3d index=%-3d"
-                       " begin=%-3d end=%-3d name=%s\n",
-                       i,
-                       LocalVarDescriptors::KindToCString(kind),
-                       info.scope_id,
-                       index,
-                       static_cast<int>(info.begin_pos.Pos()),
-                       static_cast<int>(info.end_pos.Pos()),
-                       var_name.ToCString());
+    return OS::SNPrint(
+        buffer, len, "%2" Pd
+                     " %-13s level=%-3d index=%-3d"
+                     " begin=%-3d end=%-3d name=%s\n",
+        i, LocalVarDescriptors::KindToCString(kind), info.scope_id, index,
+        static_cast<int>(info.begin_pos.Pos()),
+        static_cast<int>(info.end_pos.Pos()), var_name.ToCString());
   } else {
-    return OS::SNPrint(buffer, len,
-                       "%2" Pd " %-13s scope=%-3d index=%-3d"
-                       " begin=%-3d end=%-3d name=%s\n",
-                       i,
-                       LocalVarDescriptors::KindToCString(kind),
-                       info.scope_id,
-                       index,
-                       static_cast<int>(info.begin_pos.Pos()),
-                       static_cast<int>(info.end_pos.Pos()),
-                       var_name.ToCString());
+    return OS::SNPrint(
+        buffer, len, "%2" Pd
+                     " %-13s scope=%-3d index=%-3d"
+                     " begin=%-3d end=%-3d name=%s\n",
+        i, LocalVarDescriptors::KindToCString(kind), info.scope_id, index,
+        static_cast<int>(info.begin_pos.Pos()),
+        static_cast<int>(info.end_pos.Pos()), var_name.ToCString());
   }
 }
 
@@ -12286,9 +12048,8 @@
     RawLocalVarDescriptors::VarInfo info;
     var_name = GetName(i);
     GetInfo(i, &info);
-    num_chars += PrintVarInfo((buffer + num_chars),
-                              (len - num_chars),
-                              i, var_name, info);
+    num_chars += PrintVarInfo((buffer + num_chars), (len - num_chars), i,
+                              var_name, info);
   }
   return buffer;
 }
@@ -12315,16 +12076,16 @@
   ASSERT(Object::var_descriptors_class() != Class::null());
   if (num_variables < 0 || num_variables > kMaxElements) {
     // This should be caught before we reach here.
-    FATAL2("Fatal error in LocalVarDescriptors::New: "
-           "invalid num_variables %" Pd ". Maximum is: %d\n",
-           num_variables, RawLocalVarDescriptors::kMaxIndex);
+    FATAL2(
+        "Fatal error in LocalVarDescriptors::New: "
+        "invalid num_variables %" Pd ". Maximum is: %d\n",
+        num_variables, RawLocalVarDescriptors::kMaxIndex);
   }
   LocalVarDescriptors& result = LocalVarDescriptors::Handle();
   {
     uword size = LocalVarDescriptors::InstanceSize(num_variables);
-    RawObject* raw = Object::Allocate(LocalVarDescriptors::kClassId,
-                                      size,
-                                      Heap::kOld);
+    RawObject* raw =
+        Object::Allocate(LocalVarDescriptors::kClassId, size, Heap::kOld);
     INC_STAT(Thread::Current(), total_code_size, size);
     INC_STAT(Thread::Current(), vardesc_size, size);
     NoSafepointScope no_safepoint;
@@ -12423,23 +12184,23 @@
 RawExceptionHandlers* ExceptionHandlers::New(intptr_t num_handlers) {
   ASSERT(Object::exception_handlers_class() != Class::null());
   if ((num_handlers < 0) || (num_handlers >= kMaxHandlers)) {
-    FATAL1("Fatal error in ExceptionHandlers::New(): "
-           "invalid num_handlers %" Pd "\n",
-           num_handlers);
+    FATAL1(
+        "Fatal error in ExceptionHandlers::New(): "
+        "invalid num_handlers %" Pd "\n",
+        num_handlers);
   }
   ExceptionHandlers& result = ExceptionHandlers::Handle();
   {
     uword size = ExceptionHandlers::InstanceSize(num_handlers);
-    RawObject* raw = Object::Allocate(ExceptionHandlers::kClassId,
-                                      size,
-                                      Heap::kOld);
+    RawObject* raw =
+        Object::Allocate(ExceptionHandlers::kClassId, size, Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.StoreNonPointer(&result.raw_ptr()->num_entries_, num_handlers);
   }
-  const Array& handled_types_data = (num_handlers == 0) ?
-      Object::empty_array() :
-      Array::Handle(Array::New(num_handlers, Heap::kOld));
+  const Array& handled_types_data =
+      (num_handlers == 0) ? Object::empty_array()
+                          : Array::Handle(Array::New(num_handlers, Heap::kOld));
   result.set_handled_types_data(handled_types_data);
   return result.raw();
 }
@@ -12449,16 +12210,16 @@
   ASSERT(Object::exception_handlers_class() != Class::null());
   const intptr_t num_handlers = handled_types_data.Length();
   if ((num_handlers < 0) || (num_handlers >= kMaxHandlers)) {
-    FATAL1("Fatal error in ExceptionHandlers::New(): "
-           "invalid num_handlers %" Pd "\n",
-           num_handlers);
+    FATAL1(
+        "Fatal error in ExceptionHandlers::New(): "
+        "invalid num_handlers %" Pd "\n",
+        num_handlers);
   }
   ExceptionHandlers& result = ExceptionHandlers::Handle();
   {
     uword size = ExceptionHandlers::InstanceSize(num_handlers);
-    RawObject* raw = Object::Allocate(ExceptionHandlers::kClassId,
-                                      size,
-                                      Heap::kOld);
+    RawObject* raw =
+        Object::Allocate(ExceptionHandlers::kClassId, size, Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.StoreNonPointer(&result.raw_ptr()->num_entries_, num_handlers);
@@ -12484,10 +12245,7 @@
     handled_types = GetHandledTypes(i);
     const intptr_t num_types =
         handled_types.IsNull() ? 0 : handled_types.Length();
-    len += OS::SNPrint(NULL, 0, FORMAT1,
-                       i,
-                       info.handler_pc_offset,
-                       num_types,
+    len += OS::SNPrint(NULL, 0, FORMAT1, i, info.handler_pc_offset, num_types,
                        info.outer_try_index);
     for (int k = 0; k < num_types; k++) {
       type ^= handled_types.At(k);
@@ -12504,18 +12262,13 @@
     handled_types = GetHandledTypes(i);
     const intptr_t num_types =
         handled_types.IsNull() ? 0 : handled_types.Length();
-    num_chars += OS::SNPrint((buffer + num_chars),
-                             (len - num_chars),
-                             FORMAT1,
-                             i,
-                             info.handler_pc_offset,
-                             num_types,
-                             info.outer_try_index);
+    num_chars +=
+        OS::SNPrint((buffer + num_chars), (len - num_chars), FORMAT1, i,
+                    info.handler_pc_offset, num_types, info.outer_try_index);
     for (int k = 0; k < num_types; k++) {
       type ^= handled_types.At(k);
-      num_chars += OS::SNPrint((buffer + num_chars),
-                               (len - num_chars),
-                               FORMAT2, k, type.ToCString());
+      num_chars += OS::SNPrint((buffer + num_chars), (len - num_chars), FORMAT2,
+                               k, type.ToCString());
     }
   }
   return buffer;
@@ -12562,13 +12315,12 @@
     TypedData& suffix = TypedData::Handle();
     Smi& offset = Smi::Handle();
     Smi& reason_and_flags = Smi::Handle();
-    DeoptTable::GetEntry(
-      table, info_number, &offset, &suffix, &reason_and_flags);
+    DeoptTable::GetEntry(table, info_number, &offset, &suffix,
+                         &reason_and_flags);
     UnpackInto(table, suffix, unpacked, suffix_length);
   }
 
-  while ((read_stream.PendingBytes() > 0) &&
-         (unpacked->length() < length)) {
+  while ((read_stream.PendingBytes() > 0) && (unpacked->length() < length)) {
     const intptr_t instruction = Reader::Read(&read_stream);
     const intptr_t from_index = Reader::Read(&read_stream);
     unpacked->Add(DeoptInstr::Create(instruction, from_index));
@@ -12607,9 +12359,7 @@
   // Layout the fields in the buffer.
   intptr_t index = 0;
   for (intptr_t i = 0; i < deopt_instrs.length(); i++) {
-    index += OS::SNPrint((buffer + index),
-                         (len - index),
-                         FORMAT,
+    index += OS::SNPrint((buffer + index), (len - index), FORMAT,
                          deopt_instrs[i]->ToCString());
   }
 
@@ -12646,9 +12396,9 @@
   SingleTargetCache& result = SingleTargetCache::Handle();
   {
     // IC data objects are long living objects, allocate them in old generation.
-    RawObject* raw = Object::Allocate(SingleTargetCache::kClassId,
-                                      SingleTargetCache::InstanceSize(),
-                                      Heap::kOld);
+    RawObject* raw =
+        Object::Allocate(SingleTargetCache::kClassId,
+                         SingleTargetCache::InstanceSize(), Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -12677,8 +12427,7 @@
 
 RawUnlinkedCall* UnlinkedCall::New() {
   RawObject* raw = Object::Allocate(UnlinkedCall::kClassId,
-                                    UnlinkedCall::InstanceSize(),
-                                    Heap::kOld);
+                                    UnlinkedCall::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawUnlinkedCall*>(raw);
 }
 
@@ -12694,8 +12443,8 @@
   const intptr_t num_args = NumArgsTested();
   const intptr_t num_checks = NumberOfChecks();
   return OS::SCreate(Thread::Current()->zone(),
-      "ICData target:'%s' num-args: %" Pd " num-checks: %" Pd "",
-      name.ToCString(), num_args, num_checks);
+                     "ICData target:'%s' num-args: %" Pd " num-checks: %" Pd "",
+                     name.ToCString(), num_args, num_checks);
 }
 
 
@@ -12951,8 +12700,8 @@
   GrowableArray<intptr_t> class_ids(2);
   Function& target = Function::Handle();
   GetCheckAt(0, &class_ids, &target);
-  if ((target.raw() == smi_op_target.raw()) &&
-      (class_ids[0] == kSmiCid) && (class_ids[1] == kSmiCid)) {
+  if ((target.raw() == smi_op_target.raw()) && (class_ids[0] == kSmiCid) &&
+      (class_ids[1] == kSmiCid)) {
     // The smi fast path case, preserve the initial entry but reset the count.
     ClearCountAt(0);
     return;
@@ -13027,8 +12776,8 @@
     GrowableArray<intptr_t> class_ids(2);
     Function& target = Function::Handle();
     GetCheckAt(0, &class_ids, &target);
-    if ((target.raw() == smi_op_target.raw()) &&
-        (class_ids[0] == kSmiCid) && (class_ids[1] == kSmiCid)) {
+    if ((target.raw() == smi_op_target.raw()) && (class_ids[0] == kSmiCid) &&
+        (class_ids[1] == kSmiCid)) {
       is_smi_two_args_op = true;
     }
   }
@@ -13341,8 +13090,8 @@
   ASSERT(value <= Smi::kMaxValue);
 
   const Array& data = Array::Handle(ic_data());
-  const intptr_t data_pos = index * TestEntryLength() +
-      CountIndexFor(NumArgsTested());
+  const intptr_t data_pos =
+      index * TestEntryLength() + CountIndexFor(NumArgsTested());
   data.SetAt(data_pos, Smi::Handle(Smi::New(value)));
 }
 
@@ -13350,8 +13099,8 @@
 intptr_t ICData::GetCountAt(intptr_t index) const {
   ASSERT(Isolate::Current()->compilation_allowed());
   const Array& data = Array::Handle(ic_data());
-  const intptr_t data_pos = index * TestEntryLength() +
-      CountIndexFor(NumArgsTested());
+  const intptr_t data_pos =
+      index * TestEntryLength() + CountIndexFor(NumArgsTested());
   return Smi::Value(Smi::RawCast(data.At(data_pos)));
 }
 
@@ -13370,8 +13119,8 @@
 void ICData::SetCodeAt(intptr_t index, const Code& value) const {
   ASSERT(!Isolate::Current()->compilation_allowed());
   const Array& data = Array::Handle(ic_data());
-  const intptr_t data_pos = index * TestEntryLength() +
-      CodeIndexFor(NumArgsTested());
+  const intptr_t data_pos =
+      index * TestEntryLength() + CodeIndexFor(NumArgsTested());
   data.SetAt(data_pos, value);
 }
 
@@ -13379,8 +13128,8 @@
 void ICData::SetEntryPointAt(intptr_t index, const Smi& value) const {
   ASSERT(!Isolate::Current()->compilation_allowed());
   const Array& data = Array::Handle(ic_data());
-  const intptr_t data_pos = index * TestEntryLength() +
-      EntryPointIndexFor(NumArgsTested());
+  const intptr_t data_pos =
+      index * TestEntryLength() + EntryPointIndexFor(NumArgsTested());
   data.SetAt(data_pos, value);
 }
 
@@ -13396,8 +13145,8 @@
 }
 
 
-RawICData* ICData::AsUnaryClassChecksForCid(
-    intptr_t cid, const Function& target) const {
+RawICData* ICData::AsUnaryClassChecksForCid(intptr_t cid,
+                                            const Function& target) const {
   ASSERT(!IsNull());
   const intptr_t kNumArgsTested = 1;
   ICData& result = ICData::Handle(ICData::NewFrom(*this, kNumArgsTested));
@@ -13439,8 +13188,7 @@
       result.IncrementCountAt(duplicate_class_id, count);
     } else {
       // This will make sure that Smi is first if it exists.
-      result.AddReceiverCheck(class_id,
-                              Function::Handle(GetTargetAt(i)),
+      result.AddReceiverCheck(class_id, Function::Handle(GetTargetAt(i)),
                               count);
     }
   }
@@ -13494,8 +13242,8 @@
       }
     }
     if (!found) {
-      aggregate.Add(CidCount(class_id, count,
-                             &Function::ZoneHandle(GetTargetAt(i))));
+      aggregate.Add(
+          CidCount(class_id, count, &Function::ZoneHandle(GetTargetAt(i))));
     }
   }
   aggregate.Sort(CidCount::HighestCountFirst);
@@ -13503,8 +13251,7 @@
   ICData& result = ICData::Handle(ICData::NewFrom(*this, kNumArgsTested));
   ASSERT(result.NumberOfChecks() == 0);
   // Room for all entries and the sentinel.
-  const intptr_t data_len =
-      result.TestEntryLength() * (aggregate.length() + 1);
+  const intptr_t data_len = result.TestEntryLength() * (aggregate.length() + 1);
   // Allocate the array but do not assign it to result until we have populated
   // it with the aggregate data and the terminating sentinel.
   const Array& data = Array::Handle(Array::New(data_len, Heap::kOld));
@@ -13513,7 +13260,7 @@
     data.SetAt(pos + 0, Smi::Handle(Smi::New(aggregate[i].cid)));
     data.SetAt(pos + TargetIndexFor(1), *aggregate[i].function);
     data.SetAt(pos + CountIndexFor(1),
-        Smi::Handle(Smi::New(aggregate[i].count)));
+               Smi::Handle(Smi::New(aggregate[i].count)));
 
     pos += result.TestEntryLength();
   }
@@ -13643,7 +13390,6 @@
 }
 
 
-
 // Does not initialize ICData array.
 RawICData* ICData::NewDescriptor(Zone* zone,
                                  const Function& owner,
@@ -13660,9 +13406,8 @@
   ICData& result = ICData::Handle(zone);
   {
     // IC data objects are long living objects, allocate them in old generation.
-    RawObject* raw = Object::Allocate(ICData::kClassId,
-                                      ICData::InstanceSize(),
-                                      Heap::kOld);
+    RawObject* raw =
+        Object::Allocate(ICData::kClassId, ICData::InstanceSize(), Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -13690,9 +13435,8 @@
   ICData& result = ICData::Handle();
   {
     // IC data objects are long living objects, allocate them in old generation.
-    RawObject* raw = Object::Allocate(ICData::kClassId,
-                                      ICData::InstanceSize(),
-                                      Heap::kOld);
+    RawObject* raw =
+        Object::Allocate(ICData::kClassId, ICData::InstanceSize(), Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -13712,14 +13456,9 @@
                        intptr_t num_args_tested,
                        bool is_static_call) {
   Zone* zone = Thread::Current()->zone();
-  const ICData& result = ICData::Handle(zone,
-                                        NewDescriptor(zone,
-                                                      owner,
-                                                      target_name,
-                                                      arguments_descriptor,
-                                                      deopt_id,
-                                                      num_args_tested,
-                                                      is_static_call));
+  const ICData& result = ICData::Handle(
+      zone, NewDescriptor(zone, owner, target_name, arguments_descriptor,
+                          deopt_id, num_args_tested, is_static_call));
   result.set_ic_data_array(
       Array::Handle(zone, CachedEmptyICDataArray(num_args_tested)));
   return result.raw();
@@ -13728,12 +13467,9 @@
 
 RawICData* ICData::NewFrom(const ICData& from, intptr_t num_args_tested) {
   const ICData& result = ICData::Handle(ICData::New(
-      Function::Handle(from.Owner()),
-      String::Handle(from.target_name()),
-      Array::Handle(from.arguments_descriptor()),
-      from.deopt_id(),
-      num_args_tested,
-      from.is_static_call()));
+      Function::Handle(from.Owner()), String::Handle(from.target_name()),
+      Array::Handle(from.arguments_descriptor()), from.deopt_id(),
+      num_args_tested, from.is_static_call()));
   // Copy deoptimization reasons.
   result.SetDeoptReasons(from.DeoptReasons());
   return result.raw();
@@ -13743,18 +13479,14 @@
 RawICData* ICData::Clone(const ICData& from) {
   Zone* zone = Thread::Current()->zone();
   const ICData& result = ICData::Handle(ICData::NewDescriptor(
-      zone,
-      Function::Handle(zone, from.Owner()),
+      zone, Function::Handle(zone, from.Owner()),
       String::Handle(zone, from.target_name()),
-      Array::Handle(zone, from.arguments_descriptor()),
-      from.deopt_id(),
-      from.NumArgsTested(),
-      from.is_static_call()));
+      Array::Handle(zone, from.arguments_descriptor()), from.deopt_id(),
+      from.NumArgsTested(), from.is_static_call()));
   // Clone entry array.
   const Array& from_array = Array::Handle(zone, from.ic_data());
   const intptr_t len = from_array.Length();
-  const Array& cloned_array =
-      Array::Handle(zone, Array::New(len, Heap::kOld));
+  const Array& cloned_array = Array::Handle(zone, Array::New(len, Heap::kOld));
   Object& obj = Object::Handle(zone);
   for (intptr_t i = 0; i < len; i++) {
     obj = from_array.At(i);
@@ -13794,12 +13526,12 @@
 
 
 intptr_t Code::Comments::PCOffsetAt(intptr_t idx) const {
-  return Smi::Value(Smi::RawCast(
-      comments_.At(idx * kNumberOfEntries + kPCOffsetEntry)));
+  return Smi::Value(
+      Smi::RawCast(comments_.At(idx * kNumberOfEntries + kPCOffsetEntry)));
 }
 
 
-void Code::Comments::SetPCOffsetAt(intptr_t idx, intptr_t pc)  {
+void Code::Comments::SetPCOffsetAt(intptr_t idx, intptr_t pc) {
   comments_.SetAt(idx * kNumberOfEntries + kPCOffsetEntry,
                   Smi::Handle(Smi::New(pc)));
 }
@@ -13815,9 +13547,7 @@
 }
 
 
-Code::Comments::Comments(const Array& comments)
-    : comments_(comments) {
-}
+Code::Comments::Comments(const Array& comments) : comments_(comments) {}
 
 
 RawLocalVarDescriptors* Code::GetLocalVarDescriptors() const {
@@ -13853,8 +13583,7 @@
 void Code::set_stackmaps(const Array& maps) const {
   ASSERT(maps.IsOld());
   StorePointer(&raw_ptr()->stackmaps_, maps.raw());
-  INC_STAT(Thread::Current(),
-           total_code_size,
+  INC_STAT(Thread::Current(), total_code_size,
            maps.IsNull() ? 0 : maps.Length() * sizeof(uword));
 }
 
@@ -13880,9 +13609,8 @@
   // FlowGraphCompiler::AddStaticCallTarget adds pc-offsets to the table while
   // emitting assembly. This guarantees that every succeeding pc-offset is
   // larger than the previously added one.
-  for (intptr_t i = kSCallTableEntryLength;
-      i < value.Length();
-      i += kSCallTableEntryLength) {
+  for (intptr_t i = kSCallTableEntryLength; i < value.Length();
+       i += kSCallTableEntryLength) {
     ASSERT(value.At(i - kSCallTableEntryLength) < value.At(i));
   }
 #endif  // DEBUG
@@ -13971,8 +13699,7 @@
   if (i < 0) {
     return Function::null();
   }
-  const Array& array =
-      Array::Handle(raw_ptr()->static_calls_target_table_);
+  const Array& array = Array::Handle(raw_ptr()->static_calls_target_table_);
   Function& function = Function::Handle();
   function ^= array.At(i + kSCallTableFunctionEntry);
   return function.raw();
@@ -13989,8 +13716,7 @@
   if (i < 0) {
     return Code::null();
   }
-  const Array& array =
-      Array::Handle(raw_ptr()->static_calls_target_table_);
+  const Array& array = Array::Handle(raw_ptr()->static_calls_target_table_);
   Code& code = Code::Handle();
   code ^= array.At(i + kSCallTableCodeEntry);
   return code.raw();
@@ -14004,8 +13730,7 @@
 #else
   const intptr_t i = BinarySearchInSCallTable(pc);
   ASSERT(i >= 0);
-  const Array& array =
-      Array::Handle(raw_ptr()->static_calls_target_table_);
+  const Array& array = Array::Handle(raw_ptr()->static_calls_target_table_);
   ASSERT(code.IsNull() ||
          (code.function() == array.At(i + kSCallTableFunctionEntry)));
   array.SetAt(i + kSCallTableCodeEntry, code);
@@ -14019,8 +13744,7 @@
 #else
   const intptr_t i = BinarySearchInSCallTable(pc);
   ASSERT(i >= 0);
-  const Array& array =
-      Array::Handle(raw_ptr()->static_calls_target_table_);
+  const Array& array = Array::Handle(raw_ptr()->static_calls_target_table_);
 #if defined(DEBUG)
   if (array.At(i + kSCallTableFunctionEntry) == Function::null()) {
     ASSERT(!code.IsNull() && Object::Handle(code.owner()).IsClass());
@@ -14042,15 +13766,15 @@
   const Instructions& instr = Instructions::Handle(instructions());
   uword start = instr.PayloadStart();
   if (formatter == NULL) {
-    Disassembler::Disassemble(start, start + instr.size(), *this);
+    Disassembler::Disassemble(start, start + instr.Size(), *this);
   } else {
-    Disassembler::Disassemble(start, start + instr.size(), formatter, *this);
+    Disassembler::Disassemble(start, start + instr.Size(), formatter, *this);
   }
 #endif
 }
 
 
-const Code::Comments& Code::comments() const  {
+const Code::Comments& Code::comments() const {
 #if defined(DART_PRECOMPILED_RUNTIME)
   Comments* comments = new Code::Comments(Array::Handle());
 #else
@@ -14076,7 +13800,7 @@
 #else
   ASSERT(offset >= 0);
   StoreSmi(
-      reinterpret_cast<RawSmi* const *>(&raw_ptr()->return_address_metadata_),
+      reinterpret_cast<RawSmi* const*>(&raw_ptr()->return_address_metadata_),
       Smi::New(offset));
 #endif
 }
@@ -14265,25 +13989,22 @@
 #ifdef TARGET_ARCH_IA32
   assembler->set_code_object(code);
 #endif
-  Instructions& instrs = Instructions::ZoneHandle(
-      Instructions::New(assembler->CodeSize(),
-                        assembler->has_single_entry_point()));
+  Instructions& instrs = Instructions::ZoneHandle(Instructions::New(
+      assembler->CodeSize(), assembler->has_single_entry_point()));
   INC_STAT(Thread::Current(), total_instr_size, assembler->CodeSize());
   INC_STAT(Thread::Current(), total_code_size, assembler->CodeSize());
 
   // Copy the instructions into the instruction area and apply all fixups.
   // Embedded pointers are still in handles at this point.
   MemoryRegion region(reinterpret_cast<void*>(instrs.PayloadStart()),
-                      instrs.size());
+                      instrs.Size());
   assembler->FinalizeInstructions(region);
-  CPU::FlushICache(instrs.PayloadStart(), instrs.size());
+  CPU::FlushICache(instrs.PayloadStart(), instrs.Size());
 
   code.set_compile_timestamp(OS::GetCurrentMonotonicMicros());
 #ifndef PRODUCT
-  CodeObservers::NotifyAll(name,
-                           instrs.PayloadStart(),
-                           assembler->prologue_offset(),
-                           instrs.size(),
+  CodeObservers::NotifyAll(name, instrs.PayloadStart(),
+                           assembler->prologue_offset(), instrs.Size(),
                            optimized);
 #endif
   {
@@ -14310,16 +14031,15 @@
     code.set_is_alive(true);
 
     // Set object pool in Instructions object.
-    INC_STAT(Thread::Current(),
-             total_code_size, object_pool.Length() * sizeof(uintptr_t));
+    INC_STAT(Thread::Current(), total_code_size,
+             object_pool.Length() * sizeof(uintptr_t));
     code.set_object_pool(object_pool.raw());
 
     if (FLAG_write_protect_code) {
       uword address = RawObject::ToAddr(instrs.raw());
-      bool status = VirtualMemory::Protect(
-          reinterpret_cast<void*>(address),
-          instrs.raw()->Size(),
-          VirtualMemory::kReadExecute);
+      bool status = VirtualMemory::Protect(reinterpret_cast<void*>(address),
+                                           instrs.raw()->Size(),
+                                           VirtualMemory::kReadExecute);
       ASSERT(status);
     }
   }
@@ -14331,8 +14051,8 @@
     // pushed onto the stack.
     code.SetPrologueOffset(assembler->CodeSize());
   }
-  INC_STAT(Thread::Current(),
-           total_code_size, code.comments().comments_.Length());
+  INC_STAT(Thread::Current(), total_code_size,
+           code.comments().comments_.Length());
   return code.raw();
 }
 
@@ -14340,12 +14060,11 @@
 RawCode* Code::FinalizeCode(const Function& function,
                             Assembler* assembler,
                             bool optimized) {
-  // Calling ToLibNamePrefixedQualifiedCString is very expensive,
-  // try to avoid it.
+// Calling ToLibNamePrefixedQualifiedCString is very expensive,
+// try to avoid it.
 #ifndef PRODUCT
   if (CodeObservers::AreActive()) {
-    return FinalizeCode(function.ToLibNamePrefixedQualifiedCString(),
-                        assembler,
+    return FinalizeCode(function.ToLibNamePrefixedQualifiedCString(), assembler,
                         optimized);
   }
 #endif  // !PRODUCT
@@ -14462,8 +14181,8 @@
     Zone* zone = thread->zone();
     const char* name = StubCode::NameOfStub(UncheckedEntryPoint());
     ASSERT(name != NULL);
-    char* stub_name = OS::SCreate(zone,
-        "%s%s", Symbols::StubPrefix().ToCString(), name);
+    char* stub_name =
+        OS::SCreate(zone, "%s%s", Symbols::StubPrefix().ToCString(), name);
     return stub_name;
   } else if (obj.IsClass()) {
     // Allocation stub.
@@ -14472,8 +14191,9 @@
     const Class& cls = Class::Cast(obj);
     String& cls_name = String::Handle(zone, cls.ScrubbedName());
     ASSERT(!cls_name.IsNull());
-    char* stub_name = OS::SCreate(zone,
-        "%s%s", Symbols::AllocationStubFor().ToCString(), cls_name.ToCString());
+    char* stub_name =
+        OS::SCreate(zone, "%s%s", Symbols::AllocationStubFor().ToCString(),
+                    cls_name.ToCString());
     return stub_name;
   } else {
     ASSERT(obj.IsFunction());
@@ -14487,8 +14207,8 @@
 const char* Code::QualifiedName() const {
   const Object& obj = Object::Handle(owner());
   if (obj.IsFunction()) {
-    return String::Handle(
-        Function::Cast(obj).QualifiedScrubbedName()).ToCString();
+    return String::Handle(Function::Cast(obj).QualifiedScrubbedName())
+        .ToCString();
   }
   return Name();
 }
@@ -14553,8 +14273,9 @@
 }
 
 
-RawStackmap* Code::GetStackmap(
-    uint32_t pc_offset, Array* maps, Stackmap* map) const {
+RawStackmap* Code::GetStackmap(uint32_t pc_offset,
+                               Array* maps,
+                               Stackmap* map) const {
   // This code is used during iterating frames during a GC and hence it
   // should not in turn start a GC.
   NoSafepointScope no_safepoint;
@@ -14675,7 +14396,7 @@
       THR_Print("  %s <-", name);
     }
     if (inlined_functions[inlined_functions.length() - 1]->raw() !=
-           inliner.raw()) {
+        inliner.raw()) {
       THR_Print(" (ERROR, missing inliner)\n");
     } else {
       THR_Print("\n");
@@ -14718,9 +14439,8 @@
   }
   Context& result = Context::Handle();
   {
-    RawObject* raw = Object::Allocate(Context::kClassId,
-                                      Context::InstanceSize(num_variables),
-                                      space);
+    RawObject* raw = Object::Allocate(
+        Context::kClassId, Context::InstanceSize(num_variables), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.set_num_variables(num_variables);
@@ -14740,9 +14460,8 @@
                                num_variables());
   } else {
     const char* parent_str = parent_ctx.ToCString();
-    return zone->PrintToString(
-        "Context num_variables: %" Pd " parent:{ %s }",
-        num_variables(), parent_str);
+    return zone->PrintToString("Context num_variables: %" Pd " parent:{ %s }",
+                               num_variables(), parent_str);
   }
 }
 
@@ -14794,9 +14513,7 @@
   intptr_t size = ContextScope::InstanceSize(num_variables);
   ContextScope& result = ContextScope::Handle();
   {
-    RawObject* raw = Object::Allocate(ContextScope::kClassId,
-                                      size,
-                                      Heap::kOld);
+    RawObject* raw = Object::Allocate(ContextScope::kClassId, size, Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.set_num_variables(num_variables);
@@ -14871,8 +14588,8 @@
 }
 
 
-void ContextScope::SetTypeAt(
-    intptr_t scope_index, const AbstractType& type) const {
+void ContextScope::SetTypeAt(intptr_t scope_index,
+                             const AbstractType& type) const {
   StorePointer(&(VariableDescAddr(scope_index)->type), type.raw());
 }
 
@@ -14883,8 +14600,8 @@
 }
 
 
-void ContextScope::SetConstValueAt(
-    intptr_t scope_index, const Instance& value) const {
+void ContextScope::SetConstValueAt(intptr_t scope_index,
+                                   const Instance& value) const {
   ASSERT(IsConstAt(scope_index));
   StorePointer(&(VariableDescAddr(scope_index)->value), value.raw());
 }
@@ -14923,9 +14640,10 @@
     TokenPosition pos = TokenIndexAt(i);
     intptr_t idx = ContextIndexAt(i);
     intptr_t lvl = ContextLevelAt(i);
-    char* chars = OS::SCreate(Thread::Current()->zone(),
-        "%s\nvar %s  token-pos %s  ctx lvl %" Pd "  index %" Pd "",
-        prev_cstr, cname, pos.ToCString(), lvl, idx);
+    char* chars =
+        OS::SCreate(Thread::Current()->zone(),
+                    "%s\nvar %s  token-pos %s  ctx lvl %" Pd "  index %" Pd "",
+                    prev_cstr, cname, pos.ToCString(), lvl, idx);
     prev_cstr = chars;
   }
   return prev_cstr;
@@ -14977,9 +14695,10 @@
 
 RawMegamorphicCache* MegamorphicCache::New() {
   MegamorphicCache& result = MegamorphicCache::Handle();
-  { RawObject* raw = Object::Allocate(MegamorphicCache::kClassId,
-                                      MegamorphicCache::InstanceSize(),
-                                      Heap::kOld);
+  {
+    RawObject* raw =
+        Object::Allocate(MegamorphicCache::kClassId,
+                         MegamorphicCache::InstanceSize(), Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -14991,17 +14710,18 @@
 RawMegamorphicCache* MegamorphicCache::New(const String& target_name,
                                            const Array& arguments_descriptor) {
   MegamorphicCache& result = MegamorphicCache::Handle();
-  { RawObject* raw = Object::Allocate(MegamorphicCache::kClassId,
-                                      MegamorphicCache::InstanceSize(),
-                                      Heap::kOld);
+  {
+    RawObject* raw =
+        Object::Allocate(MegamorphicCache::kClassId,
+                         MegamorphicCache::InstanceSize(), Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
   const intptr_t capacity = kInitialCapacity;
-  const Array& buckets = Array::Handle(
-      Array::New(kEntryLength * capacity, Heap::kOld));
-  const Function& handler = Function::Handle(
-      MegamorphicCacheTable::miss_handler(Isolate::Current()));
+  const Array& buckets =
+      Array::Handle(Array::New(kEntryLength * capacity, Heap::kOld));
+  const Function& handler =
+      Function::Handle(MegamorphicCacheTable::miss_handler(Isolate::Current()));
   for (intptr_t i = 0; i < capacity; ++i) {
     SetEntry(buckets, i, smi_illegal_cid(), handler);
   }
@@ -15067,8 +14787,8 @@
 
 const char* MegamorphicCache::ToCString() const {
   const String& name = String::Handle(target_name());
-  return OS::SCreate(Thread::Current()->zone(),
-                     "MegamorphicCache(%s)", name.ToCString());
+  return OS::SCreate(Thread::Current()->zone(), "MegamorphicCache(%s)",
+                     name.ToCString());
 }
 
 
@@ -15078,9 +14798,9 @@
   {
     // SubtypeTestCache objects are long living objects, allocate them in the
     // old generation.
-    RawObject* raw = Object::Allocate(SubtypeTestCache::kClassId,
-                                      SubtypeTestCache::InstanceSize(),
-                                      Heap::kOld);
+    RawObject* raw =
+        Object::Allocate(SubtypeTestCache::kClassId,
+                         SubtypeTestCache::InstanceSize(), Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -15159,8 +14879,7 @@
 RawApiError* ApiError::New() {
   ASSERT(Object::api_error_class() != Class::null());
   RawObject* raw = Object::Allocate(ApiError::kClassId,
-                                    ApiError::InstanceSize(),
-                                    Heap::kOld);
+                                    ApiError::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawApiError*>(raw);
 }
 
@@ -15169,9 +14888,8 @@
   ASSERT(Object::api_error_class() != Class::null());
   ApiError& result = ApiError::Handle();
   {
-    RawObject* raw = Object::Allocate(ApiError::kClassId,
-                                      ApiError::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(ApiError::kClassId, ApiError::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -15199,8 +14917,7 @@
 RawLanguageError* LanguageError::New() {
   ASSERT(Object::language_error_class() != Class::null());
   RawObject* raw = Object::Allocate(LanguageError::kClassId,
-                                    LanguageError::InstanceSize(),
-                                    Heap::kOld);
+                                    LanguageError::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawLanguageError*>(raw);
 }
 
@@ -15217,8 +14934,7 @@
   LanguageError& result = LanguageError::Handle();
   {
     RawObject* raw = Object::Allocate(LanguageError::kClassId,
-                                      LanguageError::InstanceSize(),
-                                      space);
+                                      LanguageError::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -15227,8 +14943,8 @@
   result.set_token_pos(token_pos);
   result.set_report_after_token(report_after_token);
   result.set_kind(kind);
-  result.set_message(String::Handle(
-      String::NewFormattedV(format, args, space)));
+  result.set_message(
+      String::Handle(String::NewFormattedV(format, args, space)));
   return result.raw();
 }
 
@@ -15239,12 +14955,13 @@
                                               bool report_after_token,
                                               Report::Kind kind,
                                               Heap::Space space,
-                                              const char* format, ...) {
+                                              const char* format,
+                                              ...) {
   va_list args;
   va_start(args, format);
   RawLanguageError* result = LanguageError::NewFormattedV(
-      prev_error, script, token_pos, report_after_token,
-      kind, space, format, args);
+      prev_error, script, token_pos, report_after_token, kind, space, format,
+      args);
   NoSafepointScope no_safepoint;
   va_end(args);
   return result;
@@ -15258,8 +14975,7 @@
   LanguageError& result = LanguageError::Handle();
   {
     RawObject* raw = Object::Allocate(LanguageError::kClassId,
-                                      LanguageError::InstanceSize(),
-                                      space);
+                                      LanguageError::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -15310,11 +15026,8 @@
     return formatted_message();
   }
   String& result = String::Handle(
-      Report::PrependSnippet(kind(),
-                             Script::Handle(script()),
-                             token_pos(),
-                             report_after_token(),
-                             String::Handle(message())));
+      Report::PrependSnippet(kind(), Script::Handle(script()), token_pos(),
+                             report_after_token(), String::Handle(message())));
   // Prepend previous error message.
   const Error& prev_error = Error::Handle(previous_error());
   if (!prev_error.IsNull()) {
@@ -15343,9 +15056,9 @@
   ASSERT(Object::unhandled_exception_class() != Class::null());
   UnhandledException& result = UnhandledException::Handle();
   {
-    RawObject* raw = Object::Allocate(UnhandledException::kClassId,
-                                      UnhandledException::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(UnhandledException::kClassId,
+                         UnhandledException::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -15359,9 +15072,9 @@
   ASSERT(Object::unhandled_exception_class() != Class::null());
   UnhandledException& result = UnhandledException::Handle();
   {
-    RawObject* raw = Object::Allocate(UnhandledException::kClassId,
-                                      UnhandledException::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(UnhandledException::kClassId,
+                         UnhandledException::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -15407,8 +15120,8 @@
   if (!strtmp.IsError()) {
     stack_str = strtmp.ToCString();
   }
-  return OS::SCreate(thread->zone(),
-      "Unhandled exception:\n%s\n%s", exc_str, stack_str);
+  return OS::SCreate(thread->zone(), "Unhandled exception:\n%s\n%s", exc_str,
+                     stack_str);
 }
 
 
@@ -15422,8 +15135,7 @@
   UnwindError& result = UnwindError::Handle();
   {
     RawObject* raw = Object::Allocate(UnwindError::kClassId,
-                                      UnwindError::InstanceSize(),
-                                      space);
+                                      UnwindError::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -15505,8 +15217,7 @@
     }
     uword this_addr = reinterpret_cast<uword>(this->raw_ptr());
     uword other_addr = reinterpret_cast<uword>(other.raw_ptr());
-    for (intptr_t offset = Instance::NextFieldOffset();
-         offset < instance_size;
+    for (intptr_t offset = Instance::NextFieldOffset(); offset < instance_size;
          offset += kWordSize) {
       if ((*reinterpret_cast<RawObject**>(this_addr + offset)) !=
           (*reinterpret_cast<RawObject**>(other_addr + offset))) {
@@ -15525,8 +15236,7 @@
   ASSERT(instance_size != 0);
   uword hash = instance_size;
   uword this_addr = reinterpret_cast<uword>(this->raw_ptr());
-  for (intptr_t offset = Instance::NextFieldOffset();
-       offset < instance_size;
+  for (intptr_t offset = Instance::NextFieldOffset(); offset < instance_size;
        offset += kWordSize) {
     uword value = reinterpret_cast<uword>(
         *reinterpret_cast<RawObject**>(this_addr + offset));
@@ -15567,8 +15277,7 @@
     Object& obj = Object::Handle(zone);
     const intptr_t instance_size = SizeFromClass();
     ASSERT(instance_size != 0);
-    for (intptr_t offset = Instance::NextFieldOffset();
-         offset < instance_size;
+    for (intptr_t offset = Instance::NextFieldOffset(); offset < instance_size;
          offset += kWordSize) {
       obj = *this->FieldAddrAtOffset(offset);
       if (obj.IsInstance() && !obj.IsSmi() && !obj.IsCanonical()) {
@@ -15662,8 +15371,8 @@
     const Class& scope_cls = Class::Handle(type.type_class());
     ASSERT(scope_cls.NumTypeArguments() > 0);
     TypeArguments& type_arguments = TypeArguments::Handle(GetTypeArguments());
-    type = Type::New(
-        scope_cls, type_arguments, TokenPosition::kNoSource, Heap::kNew);
+    type = Type::New(scope_cls, type_arguments, TokenPosition::kNoSource,
+                     Heap::kNew);
     type.set_signature(signature);
     type.SetIsFinalized();
     type ^= type.Canonicalize();
@@ -15719,8 +15428,7 @@
   Zone* zone = Thread::Current()->zone();
   const Class& cls = Class::Handle(zone, clazz());
   if (cls.IsClosureClass()) {
-    if (other.IsObjectType() ||
-        other.IsDartFunctionType() ||
+    if (other.IsObjectType() || other.IsDartFunctionType() ||
         other.IsDartClosureType()) {
       return true;
     }
@@ -15729,8 +15437,8 @@
     // Note that we may encounter a bound error in checked mode.
     if (!other.IsInstantiated()) {
       AbstractType& instantiated_other = AbstractType::Handle(
-          zone, other.InstantiateFrom(other_instantiator, bound_error,
-                                      NULL, NULL, Heap::kOld));
+          zone, other.InstantiateFrom(other_instantiator, bound_error, NULL,
+                                      NULL, Heap::kOld));
       if ((bound_error != NULL) && !bound_error->IsNull()) {
         ASSERT(Isolate::Current()->type_checks());
         return false;
@@ -15759,11 +15467,8 @@
         Function::Handle(zone, Closure::Cast(*this).function());
     const TypeArguments& type_arguments =
         TypeArguments::Handle(zone, GetTypeArguments());
-    return signature.IsSubtypeOf(type_arguments,
-                                 other_signature,
-                                 other_type_arguments,
-                                 bound_error,
-                                 Heap::kOld);
+    return signature.IsSubtypeOf(type_arguments, other_signature,
+                                 other_type_arguments, bound_error, Heap::kOld);
   }
   TypeArguments& type_arguments = TypeArguments::Handle(zone);
   if (cls.NumTypeArguments() > 0) {
@@ -15802,8 +15507,8 @@
   const bool other_is_dart_function = instantiated_other.IsDartFunctionType();
   if (other_is_dart_function || instantiated_other.IsFunctionType()) {
     // Check if this instance understands a call() method of a compatible type.
-    Function& call = Function::Handle(zone,
-        cls.LookupDynamicFunctionAllowAbstract(Symbols::Call()));
+    Function& call = Function::Handle(
+        zone, cls.LookupDynamicFunctionAllowAbstract(Symbols::Call()));
     if (call.IsNull()) {
       // Walk up the super_class chain.
       Class& super_cls = Class::Handle(zone, cls.SuperClass());
@@ -15816,13 +15521,10 @@
       if (other_is_dart_function) {
         return true;
       }
-      const Function& other_signature = Function::Handle(
-          zone, Type::Cast(instantiated_other).signature());
-      if (call.IsSubtypeOf(type_arguments,
-                           other_signature,
-                           other_type_arguments,
-                           bound_error,
-                           Heap::kOld)) {
+      const Function& other_signature =
+          Function::Handle(zone, Type::Cast(instantiated_other).signature());
+      if (call.IsSubtypeOf(type_arguments, other_signature,
+                           other_type_arguments, bound_error, Heap::kOld)) {
         return true;
       }
     }
@@ -16015,11 +15717,11 @@
     if (num_type_arguments > 0) {
       type_arguments = GetTypeArguments();
     }
-    const Type& type = Type::Handle(
-        Type::New(cls, type_arguments, TokenPosition::kNoSource));
+    const Type& type =
+        Type::Handle(Type::New(cls, type_arguments, TokenPosition::kNoSource));
     const String& type_name = String::Handle(type.UserVisibleName());
-    return OS::SCreate(Thread::Current()->zone(),
-        "Instance of '%s'", type_name.ToCString());
+    return OS::SCreate(Thread::Current()->zone(), "Instance of '%s'",
+                       type_name.ToCString());
   }
 }
 
@@ -16065,7 +15767,7 @@
 }
 
 
-RawTypeArguments* AbstractType::arguments() const  {
+RawTypeArguments* AbstractType::arguments() const {
   // AbstractType is an abstract class.
   UNREACHABLE();
   return NULL;
@@ -16184,8 +15886,8 @@
 }
 
 
-RawAbstractType* AbstractType::CloneUninstantiated(
-    const Class& new_owner, TrailPtr trail) const {
+RawAbstractType* AbstractType::CloneUninstantiated(const Class& new_owner,
+                                                   TrailPtr trail) const {
   // AbstractType is an abstract class.
   UNREACHABLE();
   return NULL;
@@ -16282,8 +15984,8 @@
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
   if (IsBoundedType()) {
-    const AbstractType& type = AbstractType::Handle(zone,
-        BoundedType::Cast(*this).type());
+    const AbstractType& type =
+        AbstractType::Handle(zone, BoundedType::Cast(*this).type());
     if (name_visibility == kUserVisibleName) {
       return type.BuildName(kUserVisibleName);
     }
@@ -16292,8 +15994,8 @@
     pieces.Add(type_name);
     pieces.Add(Symbols::SpaceExtendsSpace());
     // Build the bound name without causing divergence.
-    const AbstractType& bound = AbstractType::Handle(zone,
-        BoundedType::Cast(*this).bound());
+    const AbstractType& bound =
+        AbstractType::Handle(zone, BoundedType::Cast(*this).bound());
     String& bound_name = String::Handle(zone);
     if (bound.IsTypeParameter()) {
       bound_name = TypeParameter::Cast(bound).name();
@@ -16323,8 +16025,8 @@
   Class& cls = Class::Handle(zone);
   if (IsFunctionType()) {
     cls = type_class();
-    const Function& signature_function = Function::Handle(zone,
-        Type::Cast(*this).signature());
+    const Function& signature_function =
+        Function::Handle(zone, Type::Cast(*this).signature());
     if (!cls.IsTypedefClass() ||
         (cls.signature_function() != signature_function.raw())) {
       if (!IsFinalized() || IsBeingFinalized() || IsMalformed()) {
@@ -16390,10 +16092,9 @@
       args.IsRaw(first_type_param_index, num_type_params)) {
     // Do nothing.
   } else {
-    const String& args_name = String::Handle(zone,
-        args.SubvectorName(first_type_param_index,
-                           num_type_params,
-                           name_visibility));
+    const String& args_name = String::Handle(
+        zone, args.SubvectorName(first_type_param_index, num_type_params,
+                                 name_visibility));
     pieces.Add(args_name);
   }
   // The name is only used for type checking and debugging purposes.
@@ -16422,91 +16123,79 @@
 
 
 bool AbstractType::IsVoidType() const {
-    return raw() == Object::void_type().raw();
+  return raw() == Object::void_type().raw();
 }
 
 
 bool AbstractType::IsNullType() const {
-  return !IsFunctionType() &&
-      HasResolvedTypeClass() &&
-      (type_class() == Isolate::Current()->object_store()->null_class());
+  return !IsFunctionType() && HasResolvedTypeClass() &&
+         (type_class() == Isolate::Current()->object_store()->null_class());
 }
 
 
 bool AbstractType::IsBoolType() const {
-  return !IsFunctionType() &&
-      HasResolvedTypeClass() &&
-      (type_class() == Isolate::Current()->object_store()->bool_class());
+  return !IsFunctionType() && HasResolvedTypeClass() &&
+         (type_class() == Isolate::Current()->object_store()->bool_class());
 }
 
 
 bool AbstractType::IsIntType() const {
-  return !IsFunctionType() &&
-      HasResolvedTypeClass() &&
-      (type_class() == Type::Handle(Type::IntType()).type_class());
+  return !IsFunctionType() && HasResolvedTypeClass() &&
+         (type_class() == Type::Handle(Type::IntType()).type_class());
 }
 
 
 bool AbstractType::IsDoubleType() const {
-  return !IsFunctionType() &&
-      HasResolvedTypeClass() &&
-      (type_class() == Type::Handle(Type::Double()).type_class());
+  return !IsFunctionType() && HasResolvedTypeClass() &&
+         (type_class() == Type::Handle(Type::Double()).type_class());
 }
 
 
 bool AbstractType::IsFloat32x4Type() const {
-  return !IsFunctionType() &&
-      HasResolvedTypeClass() &&
-      (type_class() == Type::Handle(Type::Float32x4()).type_class());
+  return !IsFunctionType() && HasResolvedTypeClass() &&
+         (type_class() == Type::Handle(Type::Float32x4()).type_class());
 }
 
 
 bool AbstractType::IsFloat64x2Type() const {
-  return !IsFunctionType() &&
-      HasResolvedTypeClass() &&
-      (type_class() == Type::Handle(Type::Float64x2()).type_class());
+  return !IsFunctionType() && HasResolvedTypeClass() &&
+         (type_class() == Type::Handle(Type::Float64x2()).type_class());
 }
 
 
 bool AbstractType::IsInt32x4Type() const {
-  return !IsFunctionType() &&
-      HasResolvedTypeClass() &&
-      (type_class() == Type::Handle(Type::Int32x4()).type_class());
+  return !IsFunctionType() && HasResolvedTypeClass() &&
+         (type_class() == Type::Handle(Type::Int32x4()).type_class());
 }
 
 
 bool AbstractType::IsNumberType() const {
-  return !IsFunctionType() &&
-      HasResolvedTypeClass() &&
-      (type_class() == Type::Handle(Type::Number()).type_class());
+  return !IsFunctionType() && HasResolvedTypeClass() &&
+         (type_class() == Type::Handle(Type::Number()).type_class());
 }
 
 
 bool AbstractType::IsSmiType() const {
-  return !IsFunctionType() &&
-      HasResolvedTypeClass() &&
-      (type_class() == Type::Handle(Type::SmiType()).type_class());
+  return !IsFunctionType() && HasResolvedTypeClass() &&
+         (type_class() == Type::Handle(Type::SmiType()).type_class());
 }
 
 
 bool AbstractType::IsStringType() const {
-  return !IsFunctionType() &&
-      HasResolvedTypeClass() &&
-      (type_class() == Type::Handle(Type::StringType()).type_class());
+  return !IsFunctionType() && HasResolvedTypeClass() &&
+         (type_class() == Type::Handle(Type::StringType()).type_class());
 }
 
 
 bool AbstractType::IsDartFunctionType() const {
-  return !IsFunctionType() &&
-      HasResolvedTypeClass() &&
-      (type_class() == Type::Handle(Type::DartFunctionType()).type_class());
+  return !IsFunctionType() && HasResolvedTypeClass() &&
+         (type_class() == Type::Handle(Type::DartFunctionType()).type_class());
 }
 
 
 bool AbstractType::IsDartClosureType() const {
-  return !IsFunctionType() &&
-      HasResolvedTypeClass() &&
-      (type_class() == Isolate::Current()->object_store()->closure_class());
+  return !IsFunctionType() && HasResolvedTypeClass() &&
+         (type_class() == Isolate::Current()->object_store()->closure_class());
 }
 
 
@@ -16566,18 +16255,12 @@
     if (IsBoundedType()) {
       const AbstractType& bounded_type =
           AbstractType::Handle(zone, BoundedType::Cast(*this).type());
-      return bounded_type.TypeTest(test_kind,
-                                   other,
-                                   bound_error,
-                                   bound_trail,
+      return bounded_type.TypeTest(test_kind, other, bound_error, bound_trail,
                                    space);
     }
     const AbstractType& other_bounded_type =
         AbstractType::Handle(zone, BoundedType::Cast(other).type());
-    return TypeTest(test_kind,
-                    other_bounded_type,
-                    bound_error,
-                    bound_trail,
+    return TypeTest(test_kind, other_bounded_type, bound_error, bound_trail,
                     space);
   }
   // Type parameters cannot be handled by Class::TypeTest().
@@ -16629,16 +16312,13 @@
       // Check for two function types.
       const Function& fun =
           Function::Handle(zone, Type::Cast(*this).signature());
-      return fun.TypeTest(test_kind,
-                          TypeArguments::Handle(zone, arguments()),
-                          other_fun,
-                          TypeArguments::Handle(zone, other.arguments()),
-                          bound_error,
-                          space);
+      return fun.TypeTest(
+          test_kind, TypeArguments::Handle(zone, arguments()), other_fun,
+          TypeArguments::Handle(zone, other.arguments()), bound_error, space);
     }
     // Check if type S has a call() method of function type T.
-    Function& function = Function::Handle(zone,
-        type_cls.LookupDynamicFunctionAllowAbstract(Symbols::Call()));
+    Function& function = Function::Handle(
+        zone, type_cls.LookupDynamicFunctionAllowAbstract(Symbols::Call()));
     if (function.IsNull()) {
       // Walk up the super_class chain.
       Class& cls = Class::Handle(zone, type_cls.SuperClass());
@@ -16649,13 +16329,11 @@
     }
     if (!function.IsNull()) {
       if (other_is_dart_function_type ||
-          function.TypeTest(test_kind,
-                            TypeArguments::Handle(zone, arguments()),
-                            Function::Handle(
-                                zone, Type::Cast(other).signature()),
-                            TypeArguments::Handle(zone, other.arguments()),
-                            bound_error,
-                            space)) {
+          function.TypeTest(
+              test_kind, TypeArguments::Handle(zone, arguments()),
+              Function::Handle(zone, Type::Cast(other).signature()),
+              TypeArguments::Handle(zone, other.arguments()), bound_error,
+              space)) {
         return true;
       }
     }
@@ -16663,13 +16341,10 @@
   if (IsFunctionType()) {
     return false;
   }
-  return type_cls.TypeTest(test_kind,
-                           TypeArguments::Handle(zone, arguments()),
+  return type_cls.TypeTest(test_kind, TypeArguments::Handle(zone, arguments()),
                            Class::Handle(zone, other.type_class()),
                            TypeArguments::Handle(zone, other.arguments()),
-                           bound_error,
-                           bound_trail,
-                           space);
+                           bound_error, bound_trail, space);
 }
 
 
@@ -16772,8 +16447,7 @@
   Type& type = Type::Handle(type_class.CanonicalType());
   if (type.IsNull()) {
     const TypeArguments& no_type_arguments = TypeArguments::Handle();
-    type ^= Type::New(Object::Handle(type_class.raw()),
-                      no_type_arguments,
+    type ^= Type::New(Object::Handle(type_class.raw()), no_type_arguments,
                       TokenPosition::kNoSource);
     type.SetIsFinalized();
     type ^= type.Canonicalize();
@@ -16974,11 +16648,9 @@
   const Class& cls = Class::Handle(zone, type_class());
   TypeArguments& type_arguments = TypeArguments::Handle(zone, arguments());
   ASSERT(type_arguments.Length() == cls.NumTypeArguments());
-  type_arguments = type_arguments.InstantiateFrom(instantiator_type_arguments,
-                                                  bound_error,
-                                                  instantiation_trail,
-                                                  bound_trail,
-                                                  space);
+  type_arguments =
+      type_arguments.InstantiateFrom(instantiator_type_arguments, bound_error,
+                                     instantiation_trail, bound_trail, space);
   // This uninstantiated type is not modified, as it can be instantiated
   // with different instantiators. Allocate a new instantiated version of it.
   const Type& instantiated_type =
@@ -17012,8 +16684,8 @@
   }
   if (other.IsTypeRef()) {
     // Unfold right hand type. Divergence is controlled by left hand type.
-    const AbstractType& other_ref_type = AbstractType::Handle(
-        TypeRef::Cast(other).type());
+    const AbstractType& other_ref_type =
+        AbstractType::Handle(TypeRef::Cast(other).type());
     ASSERT(!other_ref_type.IsTypeRef());
     return IsEquivalent(other_ref_type, trail);
   }
@@ -17051,8 +16723,8 @@
       const intptr_t num_type_args = cls.NumTypeArguments();
       const intptr_t from_index = num_type_args - num_type_params;
       const TypeArguments& type_args = TypeArguments::Handle(zone, arguments());
-      const TypeArguments& other_type_args = TypeArguments::Handle(
-          zone, other_type.arguments());
+      const TypeArguments& other_type_args =
+          TypeArguments::Handle(zone, other_type.arguments());
       if (type_args.IsNull()) {
         // Ignore from_index.
         if (!other_type_args.IsRaw(0, num_type_args)) {
@@ -17063,10 +16735,8 @@
         if (!type_args.IsRaw(0, num_type_args)) {
           return false;
         }
-      } else if (!type_args.IsSubvectorEquivalent(other_type_args,
-                                                  from_index,
-                                                  num_type_params,
-                                                  trail)) {
+      } else if (!type_args.IsSubvectorEquivalent(other_type_args, from_index,
+                                                  num_type_params, trail)) {
         return false;
       }
 #ifdef DEBUG
@@ -17104,8 +16774,8 @@
     return true;
   }
   const Function& sig_fun = Function::Handle(zone, signature());
-  const Function& other_sig_fun = Function::Handle(
-      zone, other_type.signature());
+  const Function& other_sig_fun =
+      Function::Handle(zone, other_type.signature());
 
   // Compare number of function parameters.
   const intptr_t num_fixed_params = sig_fun.num_fixed_parameters();
@@ -17172,7 +16842,7 @@
   if (IsFinalized()) {
     return raw();
   }
-  ASSERT(!IsMalformed());  // Malformed types are finalized.
+  ASSERT(!IsMalformed());       // Malformed types are finalized.
   ASSERT(!IsBeingFinalized());  // Cloning must occur prior to finalization.
   Zone* zone = Thread::Current()->zone();
   const TypeArguments& type_args = TypeArguments::Handle(zone, arguments());
@@ -17181,7 +16851,8 @@
   if (type_args_clone.raw() == type_args.raw()) {
     return raw();
   }
-  const Type& clone = Type::Handle(zone,
+  const Type& clone = Type::Handle(
+      zone,
       Type::New(Class::Handle(zone, type_class()), type_args, token_pos()));
   // Preserve the bound error if any.
   if (IsMalbounded()) {
@@ -17192,8 +16863,8 @@
   Function& fun = Function::Handle(zone, signature());
   if (!fun.IsNull()) {
     const Class& owner = Class::Handle(zone, fun.Owner());
-    Function& fun_clone = Function::Handle(zone,
-        Function::NewSignatureFunction(owner, TokenPosition::kNoSource));
+    Function& fun_clone = Function::Handle(
+        zone, Function::NewSignatureFunction(owner, TokenPosition::kNoSource));
     AbstractType& type = AbstractType::Handle(zone, fun.result_type());
     type = type.CloneUnfinalized();
     fun_clone.set_result_type(type);
@@ -17201,8 +16872,8 @@
     fun_clone.set_num_fixed_parameters(fun.num_fixed_parameters());
     fun_clone.SetNumOptionalParameters(fun.NumOptionalParameters(),
                                        fun.HasOptionalPositionalParameters());
-    fun_clone.set_parameter_types(Array::Handle(Array::New(num_params,
-                                                           Heap::kOld)));
+    fun_clone.set_parameter_types(
+        Array::Handle(Array::New(num_params, Heap::kOld)));
     for (intptr_t i = 0; i < num_params; i++) {
       type = fun.ParameterTypeAt(i);
       type = type.CloneUnfinalized();
@@ -17261,7 +16932,8 @@
       clone.set_arguments(type_args);
       type_args_cloned = true;
     }
-    Function& fun_clone = Function::Handle(zone,
+    Function& fun_clone = Function::Handle(
+        zone,
         Function::NewSignatureFunction(new_owner, TokenPosition::kNoSource));
     AbstractType& type = AbstractType::Handle(zone, fun.result_type());
     type = type.CloneUninstantiated(new_owner, trail);
@@ -17270,8 +16942,8 @@
     fun_clone.set_num_fixed_parameters(fun.num_fixed_parameters());
     fun_clone.SetNumOptionalParameters(fun.NumOptionalParameters(),
                                        fun.HasOptionalPositionalParameters());
-    fun_clone.set_parameter_types(Array::Handle(Array::New(num_params,
-                                                           Heap::kOld)));
+    fun_clone.set_parameter_types(
+        Array::Handle(Array::New(num_params, Heap::kOld)));
     for (intptr_t i = 0; i < num_params; i++) {
       type = fun.ParameterTypeAt(i);
       type = type.CloneUninstantiated(new_owner, trail);
@@ -17394,8 +17066,8 @@
         sig_fun.set_num_fixed_parameters(fun.num_fixed_parameters());
         sig_fun.SetNumOptionalParameters(fun.NumOptionalParameters(),
                                          fun.HasOptionalPositionalParameters());
-        sig_fun.set_parameter_types(Array::Handle(Array::New(num_params,
-                                                             Heap::kOld)));
+        sig_fun.set_parameter_types(
+            Array::Handle(Array::New(num_params, Heap::kOld)));
         for (intptr_t i = 0; i < num_params; i++) {
           type = fun.ParameterTypeAt(i);
           type = type.Canonicalize(trail);
@@ -17548,9 +17220,8 @@
 
 
 RawType* Type::New(Heap::Space space) {
-  RawObject* raw = Object::Allocate(Type::kClassId,
-                                    Type::InstanceSize(),
-                                    space);
+  RawObject* raw =
+      Object::Allocate(Type::kClassId, Type::InstanceSize(), space);
   return reinterpret_cast<RawType*>(raw);
 }
 
@@ -17601,20 +17272,17 @@
   }
   if (IsFunctionType()) {
     const Function& sig_fun = Function::Handle(zone, signature());
-    const String& sig = IsFinalized() ?
-        String::Handle(zone, sig_fun.InstantiatedSignatureFrom(type_args,
-                                                               kInternalName)) :
-        String::Handle(zone, sig_fun.Signature());
+    const String& sig =
+        IsFinalized() ? String::Handle(zone, sig_fun.InstantiatedSignatureFrom(
+                                                 type_args, kInternalName))
+                      : String::Handle(zone, sig_fun.Signature());
     if (cls.IsClosureClass()) {
       ASSERT(type_args.IsNull());
-      return OS::SCreate(zone, "%sFunction Type: %s",
-                         unresolved, sig.ToCString());
+      return OS::SCreate(zone, "%sFunction Type: %s", unresolved,
+                         sig.ToCString());
     }
     return OS::SCreate(zone, "%s Function Type: %s (class: %s, args: %s)",
-                       unresolved,
-                       sig.ToCString(),
-                       class_name,
-                       args_cstr);
+                       unresolved, sig.ToCString(), class_name, args_cstr);
   }
   if (type_args.IsNull()) {
     return OS::SCreate(zone, "%sType: class '%s'", unresolved, class_name);
@@ -17623,8 +17291,8 @@
     return OS::SCreate(zone, "Type: (@%p H%" Px ") class '%s', args:[%s]",
                        raw(), hash, class_name, args_cstr);
   } else {
-    return OS::SCreate(zone, "%sType: class '%s', args:[%s]",
-                       unresolved, class_name, args_cstr);
+    return OS::SCreate(zone, "%sType: class '%s', args:[%s]", unresolved,
+                       class_name, args_cstr);
   }
 }
 
@@ -17668,12 +17336,9 @@
   AbstractType& ref_type = AbstractType::Handle(type());
   ASSERT(!ref_type.IsTypeRef());
   AbstractType& instantiated_ref_type = AbstractType::Handle();
-  instantiated_ref_type = ref_type.InstantiateFrom(
-      instantiator_type_arguments,
-      bound_error,
-      instantiation_trail,
-      bound_trail,
-      space);
+  instantiated_ref_type =
+      ref_type.InstantiateFrom(instantiator_type_arguments, bound_error,
+                               instantiation_trail, bound_trail, space);
   ASSERT(!instantiated_ref_type.IsTypeRef());
   instantiated_type_ref.set_type(instantiated_ref_type);
   return instantiated_type_ref.raw();
@@ -17759,9 +17424,8 @@
 
 
 RawTypeRef* TypeRef::New() {
-  RawObject* raw = Object::Allocate(TypeRef::kClassId,
-                                    TypeRef::InstanceSize(),
-                                    Heap::kOld);
+  RawObject* raw =
+      Object::Allocate(TypeRef::kClassId, TypeRef::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawTypeRef*>(raw);
 }
 
@@ -17774,16 +17438,17 @@
 
 
 const char* TypeRef::ToCString() const {
-  const char* type_cstr = String::Handle(Class::Handle(
-      type_class()).Name()).ToCString();
+  const char* type_cstr =
+      String::Handle(Class::Handle(type_class()).Name()).ToCString();
   AbstractType& ref_type = AbstractType::Handle(type());
   if (ref_type.IsFinalized()) {
     const intptr_t hash = ref_type.Hash();
     return OS::SCreate(Thread::Current()->zone(),
-        "TypeRef: %s<...> (@%p H%" Px ")", type_cstr, ref_type.raw(), hash);
+                       "TypeRef: %s<...> (@%p H%" Px ")", type_cstr,
+                       ref_type.raw(), hash);
   } else {
-    return OS::SCreate(Thread::Current()->zone(),
-        "TypeRef: %s<...>", type_cstr);
+    return OS::SCreate(Thread::Current()->zone(), "TypeRef: %s<...>",
+                       type_cstr);
   }
 }
 
@@ -17800,8 +17465,8 @@
   }
   if (other.IsTypeRef()) {
     // Unfold right hand type. Divergence is controlled by left hand type.
-    const AbstractType& other_ref_type = AbstractType::Handle(
-        TypeRef::Cast(other).type());
+    const AbstractType& other_ref_type =
+        AbstractType::Handle(TypeRef::Cast(other).type());
     ASSERT(!other_ref_type.IsTypeRef());
     return IsEquivalent(other_ref_type, trail);
   }
@@ -17876,8 +17541,8 @@
   if (instantiator_type_arguments.IsNull()) {
     return Type::DynamicType();
   }
-  const AbstractType& type_arg = AbstractType::Handle(
-      instantiator_type_arguments.TypeAt(index()));
+  const AbstractType& type_arg =
+      AbstractType::Handle(instantiator_type_arguments.TypeAt(index()));
   // There is no need to canonicalize the instantiated type parameter, since all
   // type arguments are canonicalized at type finalization time. It would be too
   // early to canonicalize the returned type argument here, since instantiation
@@ -17917,13 +17582,13 @@
     // Report the bound error only if both the bounded type and the upper bound
     // are instantiated. Otherwise, we cannot tell yet it is a bound error.
     if (bounded_type.IsInstantiated() && upper_bound.IsInstantiated()) {
-      const String& bounded_type_name = String::Handle(
-          bounded_type.UserVisibleName());
-      const String& upper_bound_name = String::Handle(
-          upper_bound.UserVisibleName());
+      const String& bounded_type_name =
+          String::Handle(bounded_type.UserVisibleName());
+      const String& upper_bound_name =
+          String::Handle(upper_bound.UserVisibleName());
       const AbstractType& declared_bound = AbstractType::Handle(bound());
-      const String& declared_bound_name = String::Handle(
-          declared_bound.UserVisibleName());
+      const String& declared_bound_name =
+          String::Handle(declared_bound.UserVisibleName());
       const String& type_param_name = String::Handle(UserVisibleName());
       const Class& cls = Class::Handle(parameterized_class());
       const String& class_name = String::Handle(cls.Name());
@@ -17931,18 +17596,12 @@
       // Since the bound may have been canonicalized, its token index is
       // meaningless, therefore use the token index of this type parameter.
       *bound_error = LanguageError::NewFormatted(
-          *bound_error,
-          script,
-          token_pos(),
-          Report::AtLocation,
-          Report::kMalboundedType,
-          Heap::kNew,
+          *bound_error, script, token_pos(), Report::AtLocation,
+          Report::kMalboundedType, Heap::kNew,
           "type parameter '%s' of class '%s' must extend bound '%s', "
           "but type argument '%s' is not a subtype of '%s' where\n%s%s",
-          type_param_name.ToCString(),
-          class_name.ToCString(),
-          declared_bound_name.ToCString(),
-          bounded_type_name.ToCString(),
+          type_param_name.ToCString(), class_name.ToCString(),
+          declared_bound_name.ToCString(), bounded_type_name.ToCString(),
           upper_bound_name.ToCString(),
           String::Handle(bounded_type.EnumerateURIs()).ToCString(),
           String::Handle(upper_bound.EnumerateURIs()).ToCString());
@@ -17958,16 +17617,14 @@
   }
   // No need to clone bound, as it is not part of the finalization state.
   return TypeParameter::New(Class::Handle(parameterized_class()),
-                            Function::Handle(parameterized_function()),
-                            index(),
+                            Function::Handle(parameterized_function()), index(),
                             String::Handle(name()),
-                            AbstractType::Handle(bound()),
-                            token_pos());
+                            AbstractType::Handle(bound()), token_pos());
 }
 
 
-RawAbstractType* TypeParameter::CloneUninstantiated(
-    const Class& new_owner, TrailPtr trail) const {
+RawAbstractType* TypeParameter::CloneUninstantiated(const Class& new_owner,
+                                                    TrailPtr trail) const {
   ASSERT(IsFinalized());
   TypeParameter& clone = TypeParameter::Handle();
   clone ^= OnlyBuddyInTrail(trail);
@@ -17975,13 +17632,11 @@
     return clone.raw();
   }
   const Class& old_owner = Class::Handle(parameterized_class());
-  const intptr_t new_index = index() +
-      new_owner.NumTypeArguments() - old_owner.NumTypeArguments();
+  const intptr_t new_index =
+      index() + new_owner.NumTypeArguments() - old_owner.NumTypeArguments();
   AbstractType& upper_bound = AbstractType::Handle(bound());
   ASSERT(parameterized_function() == Function::null());
-  clone = TypeParameter::New(new_owner,
-                             Function::Handle(),
-                             new_index,
+  clone = TypeParameter::New(new_owner, Function::Handle(), new_index,
                              String::Handle(name()),
                              upper_bound,  // Not cloned yet.
                              token_pos());
@@ -18024,8 +17679,7 @@
 
 RawTypeParameter* TypeParameter::New() {
   RawObject* raw = Object::Allocate(TypeParameter::kClassId,
-                                    TypeParameter::InstanceSize(),
-                                    Heap::kOld);
+                                    TypeParameter::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawTypeParameter*>(raw);
 }
 
@@ -18075,12 +17729,14 @@
   const AbstractType& upper_bound = AbstractType::Handle(bound());
   const char* bound_cstr = String::Handle(upper_bound.Name()).ToCString();
   if (IsFunctionTypeParameter()) {
-    const char* format = "TypeParameter: name %s; index: %d; parent_level: %d, "
+    const char* format =
+        "TypeParameter: name %s; index: %d; parent_level: %d, "
         "function: %s; bound: %s";
     const Function& function = Function::Handle(parameterized_function());
     const char* fun_cstr = String::Handle(function.name()).ToCString();
     intptr_t len = OS::SNPrint(NULL, 0, format, name_cstr, index(),
-                               parent_level(), fun_cstr, bound_cstr) + 1;
+                               parent_level(), fun_cstr, bound_cstr) +
+                   1;
     char* chars = Thread::Current()->zone()->Alloc<char>(len);
     OS::SNPrint(chars, len, format, name_cstr, index(), parent_level(),
                 fun_cstr, bound_cstr);
@@ -18091,8 +17747,9 @@
     const Class& cls = Class::Handle(parameterized_class());
     const char* cls_cstr =
         cls.IsNull() ? " null" : String::Handle(cls.Name()).ToCString();
-    intptr_t len = OS::SNPrint(
-        NULL, 0, format, name_cstr, index(), cls_cstr, bound_cstr) + 1;
+    intptr_t len =
+        OS::SNPrint(NULL, 0, format, name_cstr, index(), cls_cstr, bound_cstr) +
+        1;
     char* chars = Thread::Current()->zone()->Alloc<char>(len);
     OS::SNPrint(chars, len, format, name_cstr, index(), cls_cstr, bound_cstr);
     return chars;
@@ -18128,8 +17785,8 @@
   }
   if (other.IsTypeRef()) {
     // Unfold right hand type. Divergence is controlled by left hand type.
-    const AbstractType& other_ref_type = AbstractType::Handle(
-        TypeRef::Cast(other).type());
+    const AbstractType& other_ref_type =
+        AbstractType::Handle(TypeRef::Cast(other).type());
     ASSERT(!other_ref_type.IsTypeRef());
     return IsEquivalent(other_ref_type, trail);
   }
@@ -18147,8 +17804,7 @@
   }
   const AbstractType& this_bound = AbstractType::Handle(bound());
   const AbstractType& other_bound = AbstractType::Handle(other_bounded.bound());
-  return this_bound.IsFinalized() &&
-         other_bound.IsFinalized() &&
+  return this_bound.IsFinalized() && other_bound.IsFinalized() &&
          this_bound.Equals(other_bound);  // Different graph, do not pass trail.
 }
 
@@ -18159,8 +17815,7 @@
 
 
 void BoundedType::set_type(const AbstractType& value) const {
-  ASSERT(value.IsFinalized() ||
-         value.IsBeingFinalized() ||
+  ASSERT(value.IsFinalized() || value.IsBeingFinalized() ||
          value.IsTypeParameter());
   ASSERT(!value.IsMalformed());
   StorePointer(&raw_ptr()->type_, value.raw());
@@ -18196,18 +17851,15 @@
       AbstractType::Handle(bounded_type.raw());
   if (!bounded_type.IsInstantiated()) {
     instantiated_bounded_type =
-        bounded_type.InstantiateFrom(instantiator_type_arguments,
-                                     bound_error,
-                                     instantiation_trail,
-                                     bound_trail,
-                                     space);
+        bounded_type.InstantiateFrom(instantiator_type_arguments, bound_error,
+                                     instantiation_trail, bound_trail, space);
     // In case types of instantiator_type_arguments are not finalized
     // (or instantiated), then the instantiated_bounded_type is not finalized
     // (or instantiated) either.
     // Note that instantiator_type_arguments must have the final length, though.
   }
-  if ((Isolate::Current()->type_checks()) &&
-      (bound_error != NULL) && bound_error->IsNull()) {
+  if ((Isolate::Current()->type_checks()) && (bound_error != NULL) &&
+      bound_error->IsNull()) {
     AbstractType& upper_bound = AbstractType::Handle(bound());
     ASSERT(upper_bound.IsFinalized());
     ASSERT(!upper_bound.IsObjectType() && !upper_bound.IsDynamicType());
@@ -18215,11 +17867,8 @@
         AbstractType::Handle(upper_bound.raw());
     if (!upper_bound.IsInstantiated()) {
       instantiated_upper_bound =
-          upper_bound.InstantiateFrom(instantiator_type_arguments,
-                                      bound_error,
-                                      instantiation_trail,
-                                      bound_trail,
-                                      space);
+          upper_bound.InstantiateFrom(instantiator_type_arguments, bound_error,
+                                      instantiation_trail, bound_trail, space);
       // The instantiated_upper_bound may not be finalized or instantiated.
       // See comment above.
     }
@@ -18233,10 +17882,8 @@
       if (!instantiated_bounded_type.IsFinalized() ||
           !instantiated_upper_bound.IsFinalized() ||
           (!type_param.CheckBound(instantiated_bounded_type,
-                                  instantiated_upper_bound,
-                                  bound_error,
-                                  bound_trail,
-                                  space) &&
+                                  instantiated_upper_bound, bound_error,
+                                  bound_trail, space) &&
            bound_error->IsNull())) {
         // We cannot determine yet whether the bounded_type is below the
         // upper_bound, because one or both of them is still being finalized or
@@ -18249,9 +17896,8 @@
         // Postpone bound check by returning a new BoundedType with unfinalized
         // or partially instantiated bounded_type and upper_bound, but keeping
         // type_param.
-        instantiated_bounded_type = BoundedType::New(instantiated_bounded_type,
-                                                     instantiated_upper_bound,
-                                                     type_param);
+        instantiated_bounded_type = BoundedType::New(
+            instantiated_bounded_type, instantiated_upper_bound, type_param);
       }
     }
   }
@@ -18271,14 +17917,13 @@
   }
   // No need to clone bound or type parameter, as they are not part of the
   // finalization state of this bounded type.
-  return BoundedType::New(bounded_type,
-                          AbstractType::Handle(bound()),
+  return BoundedType::New(bounded_type, AbstractType::Handle(bound()),
                           TypeParameter::Handle(type_parameter()));
 }
 
 
-RawAbstractType* BoundedType::CloneUninstantiated(
-    const Class& new_owner, TrailPtr trail) const {
+RawAbstractType* BoundedType::CloneUninstantiated(const Class& new_owner,
+                                                  TrailPtr trail) const {
   if (IsInstantiated()) {
     return raw();
   }
@@ -18286,7 +17931,7 @@
   bounded_type = bounded_type.CloneUninstantiated(new_owner, trail);
   AbstractType& upper_bound = AbstractType::Handle(bound());
   upper_bound = upper_bound.CloneUninstantiated(new_owner, trail);
-  TypeParameter& type_param =  TypeParameter::Handle(type_parameter());
+  TypeParameter& type_param = TypeParameter::Handle(type_parameter());
   type_param ^= type_param.CloneUninstantiated(new_owner, trail);
   return BoundedType::New(bounded_type, upper_bound, type_param);
 }
@@ -18302,8 +17947,8 @@
   uint32_t result = AbstractType::Handle(type()).Hash();
   // No need to include the hash of the bound, since the bound is defined by the
   // type parameter (modulo instantiation state).
-  result = CombineHashes(result,
-                         TypeParameter::Handle(type_parameter()).Hash());
+  result =
+      CombineHashes(result, TypeParameter::Handle(type_parameter()).Hash());
   result = FinalizeHash(result, kHashBits);
   SetHash(result);
   return result;
@@ -18312,8 +17957,7 @@
 
 RawBoundedType* BoundedType::New() {
   RawObject* raw = Object::Allocate(BoundedType::kClassId,
-                                    BoundedType::InstanceSize(),
-                                    Heap::kOld);
+                                    BoundedType::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawBoundedType*>(raw);
 }
 
@@ -18332,19 +17976,20 @@
 
 const char* BoundedType::ToCString() const {
   const char* format = "BoundedType: type %s; bound: %s; type param: %s of %s";
-  const char* type_cstr = String::Handle(AbstractType::Handle(
-      type()).Name()).ToCString();
-  const char* bound_cstr = String::Handle(AbstractType::Handle(
-      bound()).Name()).ToCString();
+  const char* type_cstr =
+      String::Handle(AbstractType::Handle(type()).Name()).ToCString();
+  const char* bound_cstr =
+      String::Handle(AbstractType::Handle(bound()).Name()).ToCString();
   const TypeParameter& type_param = TypeParameter::Handle(type_parameter());
   const char* type_param_cstr = String::Handle(type_param.name()).ToCString();
   const Class& cls = Class::Handle(type_param.parameterized_class());
   const char* cls_cstr = String::Handle(cls.Name()).ToCString();
-  intptr_t len = OS::SNPrint(
-      NULL, 0, format, type_cstr, bound_cstr, type_param_cstr, cls_cstr) + 1;
+  intptr_t len = OS::SNPrint(NULL, 0, format, type_cstr, bound_cstr,
+                             type_param_cstr, cls_cstr) +
+                 1;
   char* chars = Thread::Current()->zone()->Alloc<char>(len);
-  OS::SNPrint(
-      chars, len, format, type_cstr, bound_cstr, type_param_cstr, cls_cstr);
+  OS::SNPrint(chars, len, format, type_cstr, bound_cstr, type_param_cstr,
+              cls_cstr);
   return chars;
 }
 
@@ -18366,12 +18011,12 @@
 
 const char* MixinAppType::ToCString() const {
   const char* format = "MixinAppType: super type: %s; first mixin type: %s";
-  const char* super_type_cstr = String::Handle(AbstractType::Handle(
-      super_type()).Name()).ToCString();
-  const char* first_mixin_type_cstr = String::Handle(AbstractType::Handle(
-      MixinTypeAt(0)).Name()).ToCString();
-  intptr_t len = OS::SNPrint(
-      NULL, 0, format, super_type_cstr, first_mixin_type_cstr) + 1;
+  const char* super_type_cstr =
+      String::Handle(AbstractType::Handle(super_type()).Name()).ToCString();
+  const char* first_mixin_type_cstr =
+      String::Handle(AbstractType::Handle(MixinTypeAt(0)).Name()).ToCString();
+  intptr_t len =
+      OS::SNPrint(NULL, 0, format, super_type_cstr, first_mixin_type_cstr) + 1;
   char* chars = Thread::Current()->zone()->Alloc<char>(len);
   OS::SNPrint(chars, len, format, super_type_cstr, first_mixin_type_cstr);
   return chars;
@@ -18397,8 +18042,7 @@
   // MixinAppType objects do not survive finalization, so allocate
   // on new heap.
   RawObject* raw = Object::Allocate(MixinAppType::kClassId,
-                                    MixinAppType::InstanceSize(),
-                                    Heap::kOld);
+                                    MixinAppType::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawMixinAppType*>(raw);
 }
 
@@ -18439,8 +18083,8 @@
         SafepointMutexLocker ml(isolate->constant_canonicalization_mutex());
         // Retry lookup.
         {
-          result ^= cls.LookupCanonicalBigint(
-              zone, Bigint::Cast(*this), &index);
+          result ^=
+              cls.LookupCanonicalBigint(zone, Bigint::Cast(*this), &index);
           if (!result.IsNull()) {
             return result.raw();
           }
@@ -18518,8 +18162,8 @@
   ASSERT(str.IsOneByteString());
   int64_t value;
   if (!OS::StringToInt64(str.ToCString(), &value)) {
-    const Bigint& big = Bigint::Handle(
-        Bigint::NewFromCString(str.ToCString(), space));
+    const Bigint& big =
+        Bigint::Handle(Bigint::NewFromCString(str.ToCString(), space));
     ASSERT(!big.FitsIntoSmi());
     ASSERT(!big.FitsIntoInt64());
     return big.raw();
@@ -18662,15 +18306,15 @@
         if (Smi::kBits < 32) {
           // In 32-bit mode, the product of two Smis fits in a 64-bit result.
           return Integer::New(static_cast<int64_t>(left_value) *
-                              static_cast<int64_t>(right_value),
+                                  static_cast<int64_t>(right_value),
                               space);
         } else {
           // In 64-bit mode, the product of two signed integers fits in a
           // 64-bit result if the sum of the highest bits of their absolute
           // values is smaller than 62.
           ASSERT(sizeof(intptr_t) == sizeof(int64_t));
-          if ((Utils::HighestBit(left_value) +
-               Utils::HighestBit(right_value)) < 62) {
+          if ((Utils::HighestBit(left_value) + Utils::HighestBit(right_value)) <
+              62) {
             return Integer::New(left_value * right_value, space);
           }
         }
@@ -18711,8 +18355,8 @@
         break;
       }
       case Token::kMUL: {
-        if ((Utils::HighestBit(left_value) +
-             Utils::HighestBit(right_value)) < 62) {
+        if ((Utils::HighestBit(left_value) + Utils::HighestBit(right_value)) <
+            62) {
           return Integer::New(left_value * right_value, space);
         }
         break;
@@ -18747,8 +18391,9 @@
 }
 
 
-RawInteger* Integer::BitOp(
-    Token::Kind kind, const Integer& other, Heap::Space space) const {
+RawInteger* Integer::BitOp(Token::Kind kind,
+                           const Integer& other,
+                           Heap::Space space) const {
   if (IsSmi() && other.IsSmi()) {
     intptr_t op1_value = Smi::Value(Smi::RawCast(raw()));
     intptr_t op2_value = Smi::Value(Smi::RawCast(other.raw()));
@@ -18799,7 +18444,7 @@
       if ((left_value == 0) || (right_value == 0)) {
         return raw();
       }
-      { // Check for overflow.
+      {  // Check for overflow.
         int cnt = Utils::BitLength(left_value);
         if ((cnt + right_value) > Smi::kBits) {
           if ((cnt + right_value) > Mint::kBits) {
@@ -18894,9 +18539,8 @@
   ASSERT(Isolate::Current()->object_store()->mint_class() != Class::null());
   Mint& result = Mint::Handle();
   {
-    RawObject* raw = Object::Allocate(Mint::kClassId,
-                                      Mint::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(Mint::kClassId, Mint::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -19036,9 +18680,8 @@
   ASSERT(Isolate::Current()->object_store()->double_class() != Class::null());
   Double& result = Double::Handle();
   {
-    RawObject* raw = Object::Allocate(Double::kClassId,
-                                      Double::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(Double::kClassId, Double::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -19102,7 +18745,7 @@
   // Refactoring can avoid Zone::Alloc and strlen, but gains are insignificant.
   const char* cstr = ToCString();
   intptr_t len = strlen(cstr);
-  // Resulting string is ASCII ...
+// Resulting string is ASCII ...
 #ifdef DEBUG
   for (intptr_t i = 0; i < len; ++i) {
     ASSERT(static_cast<uint8_t>(cstr[i]) < 128);
@@ -19236,9 +18879,8 @@
   ASSERT(isolate->object_store()->bigint_class() != Class::null());
   Bigint& result = Bigint::Handle(zone);
   {
-    RawObject* raw = Object::Allocate(Bigint::kClassId,
-                                      Bigint::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(Bigint::kClassId, Bigint::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -19250,7 +18892,9 @@
 }
 
 
-RawBigint* Bigint::New(bool neg, intptr_t used, const TypedData& digits,
+RawBigint* Bigint::New(bool neg,
+                       intptr_t used,
+                       const TypedData& digits,
                        Heap::Space space) {
   ASSERT((used == 0) ||
          (!digits.IsNull() && (digits.Length() >= (used + (used & 1)))));
@@ -19260,9 +18904,8 @@
   ASSERT(isolate->object_store()->bigint_class() != Class::null());
   Bigint& result = Bigint::Handle(zone);
   {
-    RawObject* raw = Object::Allocate(Bigint::kClassId,
-                                      Bigint::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(Bigint::kClassId, Bigint::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -19314,7 +18957,8 @@
 }
 
 
-RawBigint* Bigint::NewFromShiftedInt64(int64_t value, intptr_t shift,
+RawBigint* Bigint::NewFromShiftedInt64(int64_t value,
+                                       intptr_t shift,
                                        Heap::Space space) {
   ASSERT(kBitsPerDigit == 32);
   ASSERT(shift >= 0);
@@ -19339,8 +18983,8 @@
   SetDigitAt(digits, 1 + digit_shift,
              static_cast<uint32_t>(abs_value >> (32 - bit_shift)));
   SetDigitAt(digits, 2 + digit_shift,
-      (bit_shift == 0) ? 0
-                       : static_cast<uint32_t>(abs_value >> (64 - bit_shift)));
+             (bit_shift == 0) ? 0 : static_cast<uint32_t>(abs_value >>
+                                                          (64 - bit_shift)));
   return New(neg, used, digits, space);
 }
 
@@ -19356,8 +19000,7 @@
   }
   intptr_t used;
   const intptr_t str_length = strlen(str);
-  if ((str_length >= 2) &&
-      (str[0] == '0') &&
+  if ((str_length >= 2) && (str[0] == '0') &&
       ((str[1] == 'x') || (str[1] == 'X'))) {
     digits = NewDigitsFromHexCString(&str[2], &used, space);
   } else {
@@ -19371,8 +19014,8 @@
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
   Isolate* isolate = thread->isolate();
-  const Bigint& value = Bigint::Handle(
-      zone, Bigint::NewFromCString(str.ToCString(), Heap::kOld));
+  const Bigint& value =
+      Bigint::Handle(zone, Bigint::NewFromCString(str.ToCString(), Heap::kOld));
   const Class& cls =
       Class::Handle(zone, isolate->object_store()->bigint_class());
   intptr_t index = 0;
@@ -19399,7 +19042,8 @@
 }
 
 
-RawTypedData* Bigint::NewDigitsFromHexCString(const char* str, intptr_t* used,
+RawTypedData* Bigint::NewDigitsFromHexCString(const char* str,
+                                              intptr_t* used,
                                               Heap::Space space) {
   const int kBitsPerHexDigit = 4;
   const int kHexDigitsPerDigit = 8;
@@ -19430,7 +19074,8 @@
 }
 
 
-RawTypedData* Bigint::NewDigitsFromDecCString(const char* str, intptr_t* used,
+RawTypedData* Bigint::NewDigitsFromDecCString(const char* str,
+                                              intptr_t* used,
                                               Heap::Space space) {
   // Read 9 digits a time. 10^9 < 2^32.
   const int kDecDigitsPerIteration = 9;
@@ -19445,8 +19090,8 @@
   // The extra 5 digits allocated take care of variations.
   const int64_t kLog10Dividend = 33219281;
   const int64_t kLog10Divisor = 10000000;
-  const intptr_t length = (kLog10Dividend * str_length) /
-                          (kLog10Divisor * kBitsPerDigit) + 5;
+  const intptr_t length =
+      (kLog10Dividend * str_length) / (kLog10Divisor * kBitsPerDigit) + 5;
   const TypedData& digits = TypedData::Handle(NewDigits(length, space));
   // Read first digit separately. This avoids a multiplication and addition.
   // The first digit might also not have kDecDigitsPerIteration decimal digits.
@@ -19518,8 +19163,8 @@
   if (y > 0) {
     return static_cast<double>(y);
   } else {
-    const double half = static_cast<double>(
-        static_cast<int64_t>(x >> 1) | (y & 1));
+    const double half =
+        static_cast<double>(static_cast<int64_t>(x >> 1) | (y & 1));
     return half + half;
   }
 #else
@@ -19732,7 +19377,7 @@
     const Bigint& other_bgi = Bigint::Cast(other);
     int64_t result = Used() - other_bgi.Used();
     if (result == 0) {
-      for (intptr_t i = Used(); --i >= 0; ) {
+      for (intptr_t i = Used(); --i >= 0;) {
         result = DigitAt(i);
         result -= other_bgi.DigitAt(i);
         if (result != 0) break;
@@ -19780,8 +19425,8 @@
   while (used > 0) {
     uint32_t remainder = 0;
     for (intptr_t i = used - 1; i >= 0; i--) {
-      uint64_t dividend = (static_cast<uint64_t>(remainder) << kBitsPerDigit) +
-          rest_digits[i];
+      uint64_t dividend =
+          (static_cast<uint64_t>(remainder) << kBitsPerDigit) + rest_digits[i];
       uint32_t quotient = static_cast<uint32_t>(dividend / kDivisor);
       remainder = static_cast<uint32_t>(
           dividend - static_cast<uint64_t>(quotient) * kDivisor);
@@ -19879,9 +19524,7 @@
 class StringHasher : ValueObject {
  public:
   StringHasher() : hash_(0) {}
-  void Add(int32_t ch) {
-    hash_ = CombineHashes(hash_, ch);
-  }
+  void Add(int32_t ch) { hash_ = CombineHashes(hash_, ch); }
   void Add(const String& str, intptr_t begin_index, intptr_t len);
 
   // Return a non-zero hash of at most 'bits' bits.
@@ -19891,6 +19534,7 @@
     ASSERT(hash_ <= static_cast<uint32_t>(kMaxInt32));
     return hash_;
   }
+
  private:
   uint32_t hash_;
 };
@@ -19942,7 +19586,7 @@
 }
 
 
-template<typename T>
+template <typename T>
 static intptr_t HashImpl(const T* characters, intptr_t len) {
   ASSERT(len >= 0);
   StringHasher hasher;
@@ -20062,8 +19706,7 @@
   Scanner::CharAtFunc this_char_at_func = this->CharAtFunc();
   Scanner::CharAtFunc str_char_at_func = str.CharAtFunc();
   for (intptr_t i = 0; i < len; i++) {
-    if (this_char_at_func(*this, i) !=
-        str_char_at_func(str, begin_index + i)) {
+    if (this_char_at_func(*this, i) != str_char_at_func(str, begin_index + i)) {
       return false;
     }
   }
@@ -20082,9 +19725,8 @@
       return false;
     }
     int32_t ch;
-    intptr_t consumed = Utf8::Decode(reinterpret_cast<const uint8_t*>(cstr),
-                                     len,
-                                     &ch);
+    intptr_t consumed =
+        Utf8::Decode(reinterpret_cast<const uint8_t*>(cstr), len, &ch);
     if (consumed == 0 || it.Current() != ch) {
       return false;
     }
@@ -20146,8 +19788,8 @@
 
 bool String::EqualsConcat(const String& str1, const String& str2) const {
   return (Length() == str1.Length() + str2.Length()) &&
-    str1.Equals(*this, 0, str1.Length()) &&
-    str2.Equals(*this, str1.Length(), str2.Length());
+         str1.Equals(*this, 0, str1.Length()) &&
+         str2.Equals(*this, str1.Length(), str2.Length());
 }
 
 
@@ -20228,8 +19870,8 @@
   ASSERT((type == Utf8::kBMP) || (type == Utf8::kSupplementary));
   const String& strobj = String::Handle(TwoByteString::New(len, space));
   NoSafepointScope no_safepoint;
-  Utf8::DecodeToUTF16(utf8_array, array_len,
-                      TwoByteString::CharAddr(strobj, 0), len);
+  Utf8::DecodeToUTF16(utf8_array, array_len, TwoByteString::CharAddr(strobj, 0),
+                      len);
   return strobj.raw();
 }
 
@@ -20315,7 +19957,8 @@
 }
 
 
-void String::Copy(const String& dst, intptr_t dst_offset,
+void String::Copy(const String& dst,
+                  intptr_t dst_offset,
                   const uint8_t* characters,
                   intptr_t len) {
   ASSERT(dst_offset >= 0);
@@ -20324,9 +19967,7 @@
   if (dst.IsOneByteString()) {
     NoSafepointScope no_safepoint;
     if (len > 0) {
-      memmove(OneByteString::CharAddr(dst, dst_offset),
-              characters,
-              len);
+      memmove(OneByteString::CharAddr(dst, dst_offset), characters, len);
     }
   } else if (dst.IsTwoByteString()) {
     for (intptr_t i = 0; i < len; ++i) {
@@ -20336,7 +19977,8 @@
 }
 
 
-void String::Copy(const String& dst, intptr_t dst_offset,
+void String::Copy(const String& dst,
+                  intptr_t dst_offset,
                   const uint16_t* utf16_array,
                   intptr_t array_len) {
   ASSERT(dst_offset >= 0);
@@ -20352,16 +19994,17 @@
     ASSERT(dst.IsTwoByteString());
     NoSafepointScope no_safepoint;
     if (array_len > 0) {
-      memmove(TwoByteString::CharAddr(dst, dst_offset),
-              utf16_array,
+      memmove(TwoByteString::CharAddr(dst, dst_offset), utf16_array,
               array_len * 2);
     }
   }
 }
 
 
-void String::Copy(const String& dst, intptr_t dst_offset,
-                  const String& src, intptr_t src_offset,
+void String::Copy(const String& dst,
+                  intptr_t dst_offset,
+                  const String& src,
+                  intptr_t src_offset,
                   intptr_t len) {
   ASSERT(dst_offset >= 0);
   ASSERT(src_offset >= 0);
@@ -20373,33 +20016,25 @@
     if (char_size == kOneByteChar) {
       if (src.IsOneByteString()) {
         NoSafepointScope no_safepoint;
-        String::Copy(dst,
-                     dst_offset,
-                     OneByteString::CharAddr(src, src_offset),
+        String::Copy(dst, dst_offset, OneByteString::CharAddr(src, src_offset),
                      len);
       } else {
         ASSERT(src.IsExternalOneByteString());
         NoSafepointScope no_safepoint;
-        String::Copy(dst,
-                     dst_offset,
-                     ExternalOneByteString::CharAddr(src, src_offset),
-                     len);
+        String::Copy(dst, dst_offset,
+                     ExternalOneByteString::CharAddr(src, src_offset), len);
       }
     } else {
       ASSERT(char_size == kTwoByteChar);
       if (src.IsTwoByteString()) {
         NoSafepointScope no_safepoint;
-        String::Copy(dst,
-                     dst_offset,
-                     TwoByteString::CharAddr(src, src_offset),
+        String::Copy(dst, dst_offset, TwoByteString::CharAddr(src, src_offset),
                      len);
       } else {
         ASSERT(src.IsExternalTwoByteString());
         NoSafepointScope no_safepoint;
-        String::Copy(dst,
-                     dst_offset,
-                     ExternalTwoByteString::CharAddr(src, src_offset),
-                     len);
+        String::Copy(dst, dst_offset,
+                     ExternalTwoByteString::CharAddr(src, src_offset), len);
       }
     }
   }
@@ -20588,7 +20223,8 @@
 }
 
 
-RawString* String::NewFormattedV(const char* format, va_list args,
+RawString* String::NewFormattedV(const char* format,
+                                 va_list args,
                                  Heap::Space space) {
   va_list args_copy;
   va_copy(args_copy, args);
@@ -20615,8 +20251,7 @@
 }
 
 
-RawString* String::ConcatAll(const Array& strings,
-                             Heap::Space space) {
+RawString* String::ConcatAll(const Array& strings, Heap::Space space) {
   return ConcatAllRange(strings, 0, strings.Length(), space);
 }
 
@@ -20657,9 +20292,7 @@
   if (begin_index >= str.Length()) {
     return String::null();
   }
-  return String::SubString(str,
-                           begin_index,
-                           (str.Length() - begin_index),
+  return String::SubString(str, begin_index, (str.Length() - begin_index),
                            space);
 }
 
@@ -20746,11 +20379,8 @@
     intptr_t external_size) {
   ASSERT((callback != NULL && peer != NULL) ||
          (callback == NULL && peer == NULL));
-  return FinalizablePersistentHandle::New(Isolate::Current(),
-                                          referent,
-                                          peer,
-                                          callback,
-                                          external_size);
+  return FinalizablePersistentHandle::New(Isolate::Current(), referent, peer,
+                                          callback, external_size);
 }
 
 
@@ -20797,8 +20427,8 @@
       } while (tags != old_tags);
       result = this->raw();
       const uint8_t* ext_array = reinterpret_cast<const uint8_t*>(array);
-      ExternalStringData<uint8_t>* ext_data = new ExternalStringData<uint8_t>(
-          ext_array, peer, cback);
+      ExternalStringData<uint8_t>* ext_data =
+          new ExternalStringData<uint8_t>(ext_array, peer, cback);
       ASSERT(result.Length() == str_length);
       ASSERT(!result.HasHash() ||
              (result.Hash() == String::Hash(ext_array, str_length)));
@@ -20813,8 +20443,7 @@
 
       // Copy the data into the external array.
       if (str_length > 0) {
-        memmove(array,
-                TwoByteString::CharAddr(*this, 0),
+        memmove(array, TwoByteString::CharAddr(*this, 0),
                 (str_length * kTwoByteChar));
       }
 
@@ -20835,8 +20464,8 @@
       } while (tags != old_tags);
       result = this->raw();
       const uint16_t* ext_array = reinterpret_cast<const uint16_t*>(array);
-      ExternalStringData<uint16_t>* ext_data = new ExternalStringData<uint16_t>(
-          ext_array, peer, cback);
+      ExternalStringData<uint16_t>* ext_data =
+          new ExternalStringData<uint16_t>(ext_array, peer, cback);
       ASSERT(result.Length() == str_length);
       ASSERT(!result.HasHash() ||
              (result.Hash() == String::Hash(ext_array, str_length)));
@@ -20888,7 +20517,8 @@
 }
 
 bool String::ParseDouble(const String& str,
-                         intptr_t start, intptr_t end,
+                         intptr_t start,
+                         intptr_t end,
                          double* result) {
   ASSERT(0 <= start);
   ASSERT(start <= end);
@@ -20913,8 +20543,8 @@
     }
     startChar = chars;
   }
-  return CStringToDouble(reinterpret_cast<const char*>(startChar),
-                         length, result);
+  return CStringToDouble(reinterpret_cast<const char*>(startChar), length,
+                         result);
 }
 
 
@@ -20929,9 +20559,8 @@
 //
 //    _ReceivePortImpl@6be832b._internal@6be832b
 //
-template<typename T1, typename T2>
-static bool EqualsIgnoringPrivateKey(const String& str1,
-                                     const String& str2) {
+template <typename T1, typename T2>
+static bool EqualsIgnoringPrivateKey(const String& str1, const String& str2) {
   intptr_t len = str1.Length();
   intptr_t str2_len = str2.Length();
   if (len == str2_len) {
@@ -20973,22 +20602,21 @@
 
 #define EQUALS_IGNORING_PRIVATE_KEY(class_id, type, str1, str2)                \
   switch (class_id) {                                                          \
-    case kOneByteStringCid :                                                   \
+    case kOneByteStringCid:                                                    \
       return dart::EqualsIgnoringPrivateKey<type, OneByteString>(str1, str2);  \
-    case kTwoByteStringCid :                                                   \
+    case kTwoByteStringCid:                                                    \
       return dart::EqualsIgnoringPrivateKey<type, TwoByteString>(str1, str2);  \
-    case kExternalOneByteStringCid :                                           \
-      return dart::EqualsIgnoringPrivateKey<type, ExternalOneByteString>(str1, \
-                                                                         str2);\
-    case kExternalTwoByteStringCid :                                           \
-      return dart::EqualsIgnoringPrivateKey<type, ExternalTwoByteString>(str1, \
-                                                                         str2);\
+    case kExternalOneByteStringCid:                                            \
+      return dart::EqualsIgnoringPrivateKey<type, ExternalOneByteString>(      \
+          str1, str2);                                                         \
+    case kExternalTwoByteStringCid:                                            \
+      return dart::EqualsIgnoringPrivateKey<type, ExternalTwoByteString>(      \
+          str1, str2);                                                         \
   }                                                                            \
-  UNREACHABLE();                                                               \
+  UNREACHABLE();
 
 
-bool String::EqualsIgnoringPrivateKey(const String& str1,
-                                      const String& str2) {
+bool String::EqualsIgnoringPrivateKey(const String& str1, const String& str2) {
   if (str1.raw() == str2.raw()) {
     return true;  // Both handles point to the same raw instance.
   }
@@ -20996,19 +20624,19 @@
   intptr_t str1_class_id = str1.raw()->GetClassId();
   intptr_t str2_class_id = str2.raw()->GetClassId();
   switch (str1_class_id) {
-    case kOneByteStringCid :
+    case kOneByteStringCid:
       EQUALS_IGNORING_PRIVATE_KEY(str2_class_id, OneByteString, str1, str2);
       break;
-    case kTwoByteStringCid :
+    case kTwoByteStringCid:
       EQUALS_IGNORING_PRIVATE_KEY(str2_class_id, TwoByteString, str1, str2);
       break;
-    case kExternalOneByteStringCid :
-      EQUALS_IGNORING_PRIVATE_KEY(str2_class_id,
-                                  ExternalOneByteString, str1, str2);
+    case kExternalOneByteStringCid:
+      EQUALS_IGNORING_PRIVATE_KEY(str2_class_id, ExternalOneByteString, str1,
+                                  str2);
       break;
-    case kExternalTwoByteStringCid :
-      EQUALS_IGNORING_PRIVATE_KEY(str2_class_id,
-                                  ExternalTwoByteString, str1, str2);
+    case kExternalTwoByteStringCid:
+      EQUALS_IGNORING_PRIVATE_KEY(str2_class_id, ExternalTwoByteString, str1,
+                                  str2);
       break;
   }
   UNREACHABLE();
@@ -21042,8 +20670,8 @@
     for (intptr_t i = 0; i < len; i++) {
       num_escapes += EscapeOverhead(CharAt(str, i));
     }
-    const String& dststr = String::Handle(
-        OneByteString::New(len + num_escapes, Heap::kNew));
+    const String& dststr =
+        String::Handle(OneByteString::New(len + num_escapes, Heap::kNew));
     intptr_t index = 0;
     for (intptr_t i = 0; i < len; i++) {
       uint8_t ch = CharAt(str, i);
@@ -21076,8 +20704,8 @@
     for (intptr_t i = 0; i < len; i++) {
       num_escapes += EscapeOverhead(CharAt(str, i));
     }
-    const String& dststr = String::Handle(
-        OneByteString::New(len + num_escapes, Heap::kNew));
+    const String& dststr =
+        String::Handle(OneByteString::New(len + num_escapes, Heap::kNew));
     intptr_t index = 0;
     for (intptr_t i = 0; i < len; i++) {
       uint8_t ch = CharAt(str, i);
@@ -21102,8 +20730,7 @@
 }
 
 
-RawOneByteString* OneByteString::New(intptr_t len,
-                                     Heap::Space space) {
+RawOneByteString* OneByteString::New(intptr_t len, Heap::Space space) {
   ASSERT((Isolate::Current() == Dart::vm_isolate()) ||
          ((Isolate::Current()->object_store() != NULL) &&
           (Isolate::Current()->object_store()->one_byte_string_class() !=
@@ -21114,8 +20741,7 @@
   }
   {
     RawObject* raw = Object::Allocate(OneByteString::kClassId,
-                                      OneByteString::InstanceSize(len),
-                                      space);
+                                      OneByteString::InstanceSize(len), space);
     NoSafepointScope no_safepoint;
     RawOneByteString* result = reinterpret_cast<RawOneByteString*>(raw);
     result->StoreSmi(&(result->ptr()->length_), Smi::New(len));
@@ -21163,8 +20789,7 @@
 }
 
 
-RawOneByteString* OneByteString::New(const String& str,
-                                     Heap::Space space) {
+RawOneByteString* OneByteString::New(const String& str, Heap::Space space) {
   intptr_t len = str.Length();
   const String& result = String::Handle(OneByteString::New(len, space));
   String::Copy(result, 0, str, 0, len);
@@ -21197,8 +20822,7 @@
   if (other_len > 0) {
     NoSafepointScope no_safepoint;
     memmove(OneByteString::CharAddr(result, 0),
-            other_typed_data.DataAddr(other_start_index),
-            other_len);
+            other_typed_data.DataAddr(other_start_index), other_len);
   }
   return OneByteString::raw(result);
 }
@@ -21213,8 +20837,7 @@
   if (other_len > 0) {
     NoSafepointScope no_safepoint;
     memmove(OneByteString::CharAddr(result, 0),
-            other_typed_data.DataAddr(other_start_index),
-            other_len);
+            other_typed_data.DataAddr(other_start_index), other_len);
   }
   return OneByteString::raw(result);
 }
@@ -21286,7 +20909,7 @@
   NoSafepointScope no_safepoint;
   if (length > 0) {
     uint8_t* dest = &result->ptr()->data()[0];
-    const uint8_t* src =  &raw_ptr(str)->data()[begin_index];
+    const uint8_t* src = &raw_ptr(str)->data()[begin_index];
     memmove(dest, src, length);
   }
   return result;
@@ -21320,8 +20943,8 @@
     for (intptr_t i = 0; i < len; i++) {
       num_escapes += EscapeOverhead(CharAt(str, i));
     }
-    const String& dststr = String::Handle(
-        TwoByteString::New(len + num_escapes, Heap::kNew));
+    const String& dststr =
+        String::Handle(TwoByteString::New(len + num_escapes, Heap::kNew));
     intptr_t index = 0;
     for (intptr_t i = 0; i < len; i++) {
       uint16_t ch = CharAt(str, i);
@@ -21346,8 +20969,7 @@
 }
 
 
-RawTwoByteString* TwoByteString::New(intptr_t len,
-                                     Heap::Space space) {
+RawTwoByteString* TwoByteString::New(intptr_t len, Heap::Space space) {
   ASSERT(Isolate::Current()->object_store()->two_byte_string_class());
   if (len < 0 || len > kMaxElements) {
     // This should be caught before we reach here.
@@ -21356,8 +20978,7 @@
   String& result = String::Handle();
   {
     RawObject* raw = Object::Allocate(TwoByteString::kClassId,
-                                      TwoByteString::InstanceSize(len),
-                                      space);
+                                      TwoByteString::InstanceSize(len), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.SetLength(len);
@@ -21405,8 +21026,7 @@
 }
 
 
-RawTwoByteString* TwoByteString::New(const String& str,
-                                     Heap::Space space) {
+RawTwoByteString* TwoByteString::New(const String& str, Heap::Space space) {
   intptr_t len = str.Length();
   const String& result = String::Handle(TwoByteString::New(len, space));
   String::Copy(result, 0, str, 0, len);
@@ -21531,8 +21151,8 @@
     void* peer,
     Dart_PeerFinalizer callback,
     Heap::Space space) {
-  ASSERT(Isolate::Current()->object_store()->
-         external_one_byte_string_class() != Class::null());
+  ASSERT(Isolate::Current()->object_store()->external_one_byte_string_class() !=
+         Class::null());
   if (len < 0 || len > kMaxElements) {
     // This should be caught before we reach here.
     FATAL1("Fatal error in ExternalOneByteString::New: invalid len %" Pd "\n",
@@ -21542,9 +21162,9 @@
   ExternalStringData<uint8_t>* external_data =
       new ExternalStringData<uint8_t>(data, peer, callback);
   {
-    RawObject* raw = Object::Allocate(ExternalOneByteString::kClassId,
-                                      ExternalOneByteString::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(ExternalOneByteString::kClassId,
+                         ExternalOneByteString::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.SetLength(len);
@@ -21582,9 +21202,9 @@
   ExternalStringData<uint16_t>* external_data =
       new ExternalStringData<uint16_t>(data, peer, callback);
   {
-    RawObject* raw = Object::Allocate(ExternalTwoByteString::kClassId,
-                                      ExternalTwoByteString::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(ExternalTwoByteString::kClassId,
+                         ExternalTwoByteString::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.SetLength(len);
@@ -21611,9 +21231,8 @@
   {
     // Since the two boolean instances are singletons we allocate them straight
     // in the old generation.
-    RawObject* raw = Object::Allocate(Bool::kClassId,
-                                      Bool::InstanceSize(),
-                                      Heap::kOld);
+    RawObject* raw =
+        Object::Allocate(Bool::kClassId, Bool::InstanceSize(), Heap::kOld);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -21658,8 +21277,8 @@
     return true;
   }
   const TypeArguments& type_args = TypeArguments::Handle(GetTypeArguments());
-  const TypeArguments& other_type_args = TypeArguments::Handle(
-      other.GetTypeArguments());
+  const TypeArguments& other_type_args =
+      TypeArguments::Handle(other.GetTypeArguments());
   if (!type_args.Equals(other_type_args)) {
     return false;
   }
@@ -21695,9 +21314,7 @@
   }
   {
     RawArray* raw = reinterpret_cast<RawArray*>(
-        Object::Allocate(class_id,
-                         Array::InstanceSize(len),
-                         space));
+        Object::Allocate(class_id, Array::InstanceSize(len), space));
     NoSafepointScope no_safepoint;
     raw->StoreSmi(&(raw->ptr()->length_), Smi::New(len));
     return raw;
@@ -21730,8 +21347,8 @@
   uword old_tags;
   do {
     old_tags = tags;
-    uword new_tags = RawObject::ClassIdTag::update(kImmutableArrayCid,
-                                                   old_tags);
+    uword new_tags =
+        RawObject::ClassIdTag::update(kImmutableArrayCid, old_tags);
     tags = CompareAndSwapTags(old_tags, new_tags);
   } while (tags != old_tags);
 }
@@ -21742,8 +21359,8 @@
     return IsImmutable() ? "_ImmutableList NULL" : "_List NULL";
   }
   Zone* zone = Thread::Current()->zone();
-  const char* format = IsImmutable() ? "_ImmutableList len:%" Pd
-                                     : "_List len:%" Pd;
+  const char* format =
+      IsImmutable() ? "_ImmutableList len:%" Pd : "_List len:%" Pd;
   return zone->PrintToString(format, Length());
 }
 
@@ -21839,8 +21456,8 @@
           this->SetAt(i, obj);
         } else {
           ASSERT(error_str != NULL);
-          char* chars = OS::SCreate(
-              zone, "element at index %" Pd ": %s\n", i, obj.ToCString());
+          char* chars = OS::SCreate(zone, "element at index %" Pd ": %s\n", i,
+                                    obj.ToCString());
           *error_str = chars;
           return false;
         }
@@ -21851,8 +21468,7 @@
 }
 
 
-RawImmutableArray* ImmutableArray::New(intptr_t len,
-                                       Heap::Space space) {
+RawImmutableArray* ImmutableArray::New(intptr_t len, Heap::Space space) {
   ASSERT(Isolate::Current()->object_store()->immutable_array_class() !=
          Class::null());
   return reinterpret_cast<RawImmutableArray*>(Array::New(kClassId, len, space));
@@ -21907,13 +21523,13 @@
 
 RawGrowableObjectArray* GrowableObjectArray::New(const Array& array,
                                                  Heap::Space space) {
-  ASSERT(Isolate::Current()->object_store()->growable_object_array_class()
-         != Class::null());
+  ASSERT(Isolate::Current()->object_store()->growable_object_array_class() !=
+         Class::null());
   GrowableObjectArray& result = GrowableObjectArray::Handle();
   {
-    RawObject* raw = Object::Allocate(GrowableObjectArray::kClassId,
-                                      GrowableObjectArray::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(GrowableObjectArray::kClassId,
+                         GrowableObjectArray::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.SetLength(0);
@@ -21928,7 +21544,7 @@
     return "_GrowableList NULL";
   }
   return OS::SCreate(Thread::Current()->zone(),
-      "Instance(length:%" Pd ") of '_GrowableList'", Length());
+                     "Instance(length:%" Pd ") of '_GrowableList'", Length());
 }
 
 
@@ -21970,8 +21586,8 @@
 
 RawLinkedHashMap* LinkedHashMap::NewDefault(Heap::Space space) {
   const Array& data = Array::Handle(Array::New(kInitialIndexSize, space));
-  const TypedData& index = TypedData::Handle(TypedData::New(
-      kTypedDataUint32ArrayCid, kInitialIndexSize, space));
+  const TypedData& index = TypedData::Handle(
+      TypedData::New(kTypedDataUint32ArrayCid, kInitialIndexSize, space));
   // On 32-bit, the top bits are wasted to avoid Mint allocation.
   static const intptr_t kAvailableBits = (kSmiBits >= 32) ? 32 : kSmiBits;
   static const intptr_t kInitialHashMask =
@@ -21986,10 +21602,10 @@
                                      intptr_t used_data,
                                      intptr_t deleted_keys,
                                      Heap::Space space) {
-  ASSERT(Isolate::Current()->object_store()->linked_hash_map_class()
-         != Class::null());
-  LinkedHashMap& result = LinkedHashMap::Handle(
-      LinkedHashMap::NewUninitialized(space));
+  ASSERT(Isolate::Current()->object_store()->linked_hash_map_class() !=
+         Class::null());
+  LinkedHashMap& result =
+      LinkedHashMap::Handle(LinkedHashMap::NewUninitialized(space));
   result.SetData(data);
   result.SetIndex(index);
   result.SetHashMask(hash_mask);
@@ -22000,13 +21616,12 @@
 
 
 RawLinkedHashMap* LinkedHashMap::NewUninitialized(Heap::Space space) {
-  ASSERT(Isolate::Current()->object_store()->linked_hash_map_class()
-         != Class::null());
+  ASSERT(Isolate::Current()->object_store()->linked_hash_map_class() !=
+         Class::null());
   LinkedHashMap& result = LinkedHashMap::Handle();
   {
     RawObject* raw = Object::Allocate(LinkedHashMap::kClassId,
-                                      LinkedHashMap::InstanceSize(),
-                                      space);
+                                      LinkedHashMap::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -22020,15 +21635,17 @@
 }
 
 
-RawFloat32x4* Float32x4::New(float v0, float v1, float v2, float v3,
+RawFloat32x4* Float32x4::New(float v0,
+                             float v1,
+                             float v2,
+                             float v3,
                              Heap::Space space) {
   ASSERT(Isolate::Current()->object_store()->float32x4_class() !=
          Class::null());
   Float32x4& result = Float32x4::Handle();
   {
-    RawObject* raw = Object::Allocate(Float32x4::kClassId,
-                                      Float32x4::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(Float32x4::kClassId, Float32x4::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -22045,9 +21662,8 @@
          Class::null());
   Float32x4& result = Float32x4::Handle();
   {
-    RawObject* raw = Object::Allocate(Float32x4::kClassId,
-                                      Float32x4::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(Float32x4::kClassId, Float32x4::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -22111,20 +21727,21 @@
   float _y = y();
   float _z = z();
   float _w = w();
-  return OS::SCreate(Thread::Current()->zone(),
-      "[%f, %f, %f, %f]", _x, _y, _z, _w);
+  return OS::SCreate(Thread::Current()->zone(), "[%f, %f, %f, %f]", _x, _y, _z,
+                     _w);
 }
 
 
-RawInt32x4* Int32x4::New(int32_t v0, int32_t v1, int32_t v2, int32_t v3,
+RawInt32x4* Int32x4::New(int32_t v0,
+                         int32_t v1,
+                         int32_t v2,
+                         int32_t v3,
                          Heap::Space space) {
-  ASSERT(Isolate::Current()->object_store()->int32x4_class() !=
-         Class::null());
+  ASSERT(Isolate::Current()->object_store()->int32x4_class() != Class::null());
   Int32x4& result = Int32x4::Handle();
   {
-    RawObject* raw = Object::Allocate(Int32x4::kClassId,
-                                      Int32x4::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(Int32x4::kClassId, Int32x4::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -22137,13 +21754,11 @@
 
 
 RawInt32x4* Int32x4::New(simd128_value_t value, Heap::Space space) {
-  ASSERT(Isolate::Current()->object_store()->int32x4_class() !=
-         Class::null());
+  ASSERT(Isolate::Current()->object_store()->int32x4_class() != Class::null());
   Int32x4& result = Int32x4::Handle();
   {
-    RawObject* raw = Object::Allocate(Int32x4::kClassId,
-                                      Int32x4::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(Int32x4::kClassId, Int32x4::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -22207,8 +21822,8 @@
   int32_t _y = y();
   int32_t _z = z();
   int32_t _w = w();
-  return OS::SCreate(Thread::Current()->zone(),
-      "[%08x, %08x, %08x, %08x]", _x, _y, _z, _w);
+  return OS::SCreate(Thread::Current()->zone(), "[%08x, %08x, %08x, %08x]", _x,
+                     _y, _z, _w);
 }
 
 
@@ -22217,9 +21832,8 @@
          Class::null());
   Float64x2& result = Float64x2::Handle();
   {
-    RawObject* raw = Object::Allocate(Float64x2::kClassId,
-                                      Float64x2::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(Float64x2::kClassId, Float64x2::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -22234,9 +21848,8 @@
          Class::null());
   Float64x2& result = Float64x2::Handle();
   {
-    RawObject* raw = Object::Allocate(Float64x2::kClassId,
-                                      Float64x2::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(Float64x2::kClassId, Float64x2::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -22283,20 +21896,20 @@
 
 
 const intptr_t TypedData::element_size_table[TypedData::kNumElementSizes] = {
-  1,   // kTypedDataInt8ArrayCid.
-  1,   // kTypedDataUint8ArrayCid.
-  1,   // kTypedDataUint8ClampedArrayCid.
-  2,   // kTypedDataInt16ArrayCid.
-  2,   // kTypedDataUint16ArrayCid.
-  4,   // kTypedDataInt32ArrayCid.
-  4,   // kTypedDataUint32ArrayCid.
-  8,   // kTypedDataInt64ArrayCid.
-  8,   // kTypedDataUint64ArrayCid.
-  4,   // kTypedDataFloat32ArrayCid.
-  8,   // kTypedDataFloat64ArrayCid.
-  16,  // kTypedDataFloat32x4ArrayCid.
-  16,  // kTypedDataInt32x4ArrayCid.
-  16,  // kTypedDataFloat64x2ArrayCid,
+    1,   // kTypedDataInt8ArrayCid.
+    1,   // kTypedDataUint8ArrayCid.
+    1,   // kTypedDataUint8ClampedArrayCid.
+    2,   // kTypedDataInt16ArrayCid.
+    2,   // kTypedDataUint16ArrayCid.
+    4,   // kTypedDataInt32ArrayCid.
+    4,   // kTypedDataUint32ArrayCid.
+    8,   // kTypedDataInt64ArrayCid.
+    8,   // kTypedDataUint64ArrayCid.
+    4,   // kTypedDataFloat32ArrayCid.
+    8,   // kTypedDataFloat64ArrayCid.
+    16,  // kTypedDataFloat32x4ArrayCid.
+    16,  // kTypedDataInt32x4ArrayCid.
+    16,  // kTypedDataFloat64x2ArrayCid,
 };
 
 
@@ -22322,7 +21935,7 @@
   }
   NoSafepointScope no_safepoint;
   return (len == 0) ||
-      (memcmp(DataAddr(0), other_typed_data.DataAddr(0), len) == 0);
+         (memcmp(DataAddr(0), other_typed_data.DataAddr(0), len) == 0);
 }
 
 
@@ -22346,9 +21959,8 @@
   TypedData& result = TypedData::Handle();
   {
     const intptr_t lengthInBytes = len * ElementSizeInBytes(class_id);
-    RawObject* raw = Object::Allocate(class_id,
-                                      TypedData::InstanceSize(lengthInBytes),
-                                      space);
+    RawObject* raw = Object::Allocate(
+        class_id, TypedData::InstanceSize(lengthInBytes), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.SetLength(len);
@@ -22369,8 +21981,8 @@
     // Already created.
     return isolate->object_store()->empty_uint32_array();
   }
-  const TypedData& array = TypedData::Handle(thread->zone(),
-      TypedData::New(kTypedDataUint32ArrayCid, 0, Heap::kOld));
+  const TypedData& array = TypedData::Handle(
+      thread->zone(), TypedData::New(kTypedDataUint32ArrayCid, 0, Heap::kOld));
   isolate->object_store()->set_empty_uint32_array(array);
   return array.raw();
 }
@@ -22379,8 +21991,9 @@
 const char* TypedData::ToCString() const {
   switch (GetClassId()) {
 #define CASE_TYPED_DATA_CLASS(clazz)                                           \
-  case kTypedData##clazz##Cid: return #clazz;
-  CLASS_LIST_TYPED_DATA(CASE_TYPED_DATA_CLASS);
+  case kTypedData##clazz##Cid:                                                 \
+    return #clazz;
+    CLASS_LIST_TYPED_DATA(CASE_TYPED_DATA_CLASS);
 #undef CASE_TYPED_DATA_CLASS
   }
   return "TypedData";
@@ -22401,9 +22014,8 @@
                                              Heap::Space space) {
   ExternalTypedData& result = ExternalTypedData::Handle();
   {
-    RawObject* raw = Object::Allocate(class_id,
-                                      ExternalTypedData::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(class_id, ExternalTypedData::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.SetLength(len);
@@ -22422,8 +22034,7 @@
   Capability& result = Capability::Handle();
   {
     RawObject* raw = Object::Allocate(Capability::kClassId,
-                                      Capability::InstanceSize(),
-                                      space);
+                                      Capability::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.StoreNonPointer(&result.raw_ptr()->id_, id);
@@ -22449,8 +22060,7 @@
   ReceivePort& result = ReceivePort::Handle(zone);
   {
     RawObject* raw = Object::Allocate(ReceivePort::kClassId,
-                                      ReceivePort::InstanceSize(),
-                                      space);
+                                      ReceivePort::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.StorePointer(&result.raw_ptr()->send_port_, send_port.raw());
@@ -22480,9 +22090,8 @@
   ASSERT(id != ILLEGAL_PORT);
   SendPort& result = SendPort::Handle();
   {
-    RawObject* raw = Object::Allocate(SendPort::kClassId,
-                                      SendPort::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(SendPort::kClassId, SendPort::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.StoreNonPointer(&result.raw_ptr()->id_, id);
@@ -22503,8 +22112,8 @@
   const char* fun_sig = String::Handle(fun.UserVisibleSignature()).ToCString();
   const char* from = is_implicit_closure ? " from " : "";
   const char* fun_desc = is_implicit_closure ? fun.ToCString() : "";
-  return OS::SCreate(Thread::Current()->zone(),
-      "Closure: %s%s%s", fun_sig, from, fun_desc);
+  return OS::SCreate(Thread::Current()->zone(), "Closure: %s%s%s", fun_sig,
+                     from, fun_desc);
 }
 
 
@@ -22513,9 +22122,8 @@
                          Heap::Space space) {
   Closure& result = Closure::Handle();
   {
-    RawObject* raw = Object::Allocate(Closure::kClassId,
-                                      Closure::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(Closure::kClassId, Closure::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.StorePointer(&result.raw_ptr()->function_, function.raw());
@@ -22526,9 +22134,8 @@
 
 
 RawClosure* Closure::New() {
-  RawObject* raw = Object::Allocate(Closure::kClassId,
-                                    Closure::InstanceSize(),
-                                    Heap::kOld);
+  RawObject* raw =
+      Object::Allocate(Closure::kClassId, Closure::InstanceSize(), Heap::kOld);
   return reinterpret_cast<RawClosure*>(raw);
 }
 
@@ -22551,8 +22158,7 @@
 }
 
 
-void Stacktrace::SetCodeAtFrame(intptr_t frame_index,
-                                const Code& code) const {
+void Stacktrace::SetCodeAtFrame(intptr_t frame_index, const Code& code) const {
   const Array& code_array = Array::Handle(raw_ptr()->code_array_);
   code_array.SetAt(frame_index, code);
 }
@@ -22597,8 +22203,7 @@
   Stacktrace& result = Stacktrace::Handle();
   {
     RawObject* raw = Object::Allocate(Stacktrace::kClassId,
-                                      Stacktrace::InstanceSize(),
-                                      space);
+                                      Stacktrace::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -22625,8 +22230,8 @@
   const Script& script = Script::Handle(zone, function.script());
   const String& function_name =
       String::Handle(zone, function.QualifiedUserVisibleName());
-  const String& url = String::Handle(zone,
-      script.IsNull() ? String::New("Kernel") : script.url());
+  const String& url = String::Handle(
+      zone, script.IsNull() ? String::New("Kernel") : script.url());
   intptr_t line = -1;
   intptr_t column = -1;
   if (!script.IsNull() && token_pos.IsReal()) {
@@ -22638,17 +22243,15 @@
   }
   char* chars = NULL;
   if (column >= 0) {
-    chars = OS::SCreate(zone,
-        "#%-6" Pd " %s (%s:%" Pd ":%" Pd ")\n",
-        frame_index, function_name.ToCString(), url.ToCString(), line, column);
+    chars =
+        OS::SCreate(zone, "#%-6" Pd " %s (%s:%" Pd ":%" Pd ")\n", frame_index,
+                    function_name.ToCString(), url.ToCString(), line, column);
   } else if (line >= 0) {
-    chars = OS::SCreate(zone,
-        "#%-6" Pd " %s (%s:%" Pd ")\n",
-        frame_index, function_name.ToCString(), url.ToCString(), line);
+    chars = OS::SCreate(zone, "#%-6" Pd " %s (%s:%" Pd ")\n", frame_index,
+                        function_name.ToCString(), url.ToCString(), line);
   } else {
-    chars = OS::SCreate(zone,
-        "#%-6" Pd " %s (%s)\n",
-        frame_index, function_name.ToCString(), url.ToCString());
+    chars = OS::SCreate(zone, "#%-6" Pd " %s (%s)\n", frame_index,
+                        function_name.ToCString(), url.ToCString());
   }
   frame_strings->Add(chars);
   return strlen(chars);
@@ -22685,8 +22288,7 @@
       code = CodeAtFrame(i);
       ASSERT(function.raw() == code.function());
       uword pc = code.PayloadStart() + Smi::Value(PcOffsetAtFrame(i));
-      if (code.is_optimized() &&
-          expand_inlined() &&
+      if (code.is_optimized() && expand_inlined() &&
           !FLAG_precompiled_runtime) {
         // Traverse inlined frames.
         for (InlinedFunctionsIterator it(code, pc);
@@ -22699,15 +22301,15 @@
             ASSERT(pc != 0);
             ASSERT(code.PayloadStart() <= pc);
             ASSERT(pc < (code.PayloadStart() + code.Size()));
-            total_len += PrintOneStacktrace(
-                zone, &frame_strings, pc, function, code, *frame_index);
+            total_len += PrintOneStacktrace(zone, &frame_strings, pc, function,
+                                            code, *frame_index);
             (*frame_index)++;  // To account for inlined frames.
           }
         }
       } else {
         if (function.is_visible() || FLAG_show_invisible_frames) {
-          total_len += PrintOneStacktrace(
-              zone, &frame_strings, pc, function, code, *frame_index);
+          total_len += PrintOneStacktrace(zone, &frame_strings, pc, function,
+                                          code, *frame_index);
           (*frame_index)++;
         }
       }
@@ -22718,9 +22320,7 @@
   char* chars = zone->Alloc<char>(total_len + 1);
   intptr_t index = 0;
   for (intptr_t i = 0; i < frame_strings.length(); i++) {
-    index += OS::SNPrint((chars + index),
-                         (total_len + 1 - index),
-                         "%s",
+    index += OS::SNPrint((chars + index), (total_len + 1 - index), "%s",
                          frame_strings[i]);
   }
   chars[total_len] = '\0';
@@ -22755,9 +22355,8 @@
 RawRegExp* RegExp::New(Heap::Space space) {
   RegExp& result = RegExp::Handle();
   {
-    RawObject* raw = Object::Allocate(RegExp::kClassId,
-                                      RegExp::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(RegExp::kClassId, RegExp::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
     result.set_type(kUnitialized);
@@ -22784,13 +22383,13 @@
 
 const char* RegExp::Flags() const {
   switch (flags()) {
-    case kGlobal | kIgnoreCase | kMultiLine :
-    case kIgnoreCase | kMultiLine :
+    case kGlobal | kIgnoreCase | kMultiLine:
+    case kIgnoreCase | kMultiLine:
       return "im";
-    case kGlobal | kIgnoreCase :
+    case kGlobal | kIgnoreCase:
     case kIgnoreCase:
       return "i";
-    case kGlobal | kMultiLine :
+    case kGlobal | kMultiLine:
     case kMultiLine:
       return "m";
     default:
@@ -22826,17 +22425,16 @@
 
 const char* RegExp::ToCString() const {
   const String& str = String::Handle(pattern());
-  return OS::SCreate(Thread::Current()->zone(),
-      "RegExp: pattern=%s flags=%s", str.ToCString(), Flags());
+  return OS::SCreate(Thread::Current()->zone(), "RegExp: pattern=%s flags=%s",
+                     str.ToCString(), Flags());
 }
 
 
 RawWeakProperty* WeakProperty::New(Heap::Space space) {
-  ASSERT(Isolate::Current()->object_store()->weak_property_class()
-         != Class::null());
+  ASSERT(Isolate::Current()->object_store()->weak_property_class() !=
+         Class::null());
   RawObject* raw = Object::Allocate(WeakProperty::kClassId,
-                                    WeakProperty::InstanceSize(),
-                                    space);
+                                    WeakProperty::InstanceSize(), space);
   RawWeakProperty* result = reinterpret_cast<RawWeakProperty*>(raw);
   result->ptr()->next_ = 0;  // Init the list to NULL.
   return result;
@@ -22889,8 +22487,7 @@
   MirrorReference& result = MirrorReference::Handle();
   {
     RawObject* raw = Object::Allocate(MirrorReference::kClassId,
-                                      MirrorReference::InstanceSize(),
-                                      space);
+                                      MirrorReference::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -22922,18 +22519,16 @@
     return result.raw();
   }
   if (TagTableIsFull(thread)) {
-    const String& error = String::Handle(
-        String::NewFormatted("UserTag instance limit (%" Pd ") reached.",
-                             UserTags::kMaxUserTags));
+    const String& error = String::Handle(String::NewFormatted(
+        "UserTag instance limit (%" Pd ") reached.", UserTags::kMaxUserTags));
     const Array& args = Array::Handle(Array::New(1));
     args.SetAt(0, error);
     Exceptions::ThrowByType(Exceptions::kUnsupported, args);
   }
   // No tag with label exists, create and register with isolate tag table.
   {
-    RawObject* raw = Object::Allocate(UserTag::kClassId,
-                                      UserTag::InstanceSize(),
-                                      space);
+    RawObject* raw =
+        Object::Allocate(UserTag::kClassId, UserTag::InstanceSize(), space);
     NoSafepointScope no_safepoint;
     result ^= raw;
   }
@@ -22953,8 +22548,8 @@
     return isolate->default_tag();
   }
   // Create default tag.
-  const UserTag& result = UserTag::Handle(zone,
-                                          UserTag::New(Symbols::Default()));
+  const UserTag& result =
+      UserTag::Handle(zone, UserTag::New(Symbols::Default()));
   ASSERT(result.tag() == UserTags::kDefaultUserTag);
   isolate->set_default_tag(result);
   return result.raw();
@@ -22965,8 +22560,8 @@
   Isolate* isolate = thread->isolate();
   Zone* zone = thread->zone();
   ASSERT(isolate->tag_table() != GrowableObjectArray::null());
-  const GrowableObjectArray& tag_table = GrowableObjectArray::Handle(
-      zone, isolate->tag_table());
+  const GrowableObjectArray& tag_table =
+      GrowableObjectArray::Handle(zone, isolate->tag_table());
   UserTag& other = UserTag::Handle(zone);
   String& tag_label = String::Handle(zone);
   for (intptr_t i = 0; i < tag_table.Length(); i++) {
@@ -22986,8 +22581,8 @@
   Isolate* isolate = thread->isolate();
   Zone* zone = thread->zone();
   ASSERT(isolate->tag_table() != GrowableObjectArray::null());
-  const GrowableObjectArray& tag_table = GrowableObjectArray::Handle(
-      zone, isolate->tag_table());
+  const GrowableObjectArray& tag_table =
+      GrowableObjectArray::Handle(zone, isolate->tag_table());
   ASSERT(!TagTableIsFull(thread));
 #if defined(DEBUG)
   // Verify that no existing tag has the same tag id.
@@ -23011,8 +22606,8 @@
 bool UserTag::TagTableIsFull(Thread* thread) {
   Isolate* isolate = thread->isolate();
   ASSERT(isolate->tag_table() != GrowableObjectArray::null());
-  const GrowableObjectArray& tag_table = GrowableObjectArray::Handle(
-      thread->zone(), isolate->tag_table());
+  const GrowableObjectArray& tag_table =
+      GrowableObjectArray::Handle(thread->zone(), isolate->tag_table());
   ASSERT(tag_table.Length() <= UserTags::kMaxUserTags);
   return tag_table.Length() == UserTags::kMaxUserTags;
 }
@@ -23023,8 +22618,8 @@
   Zone* zone = thread->zone();
   Isolate* isolate = thread->isolate();
   ASSERT(isolate->tag_table() != GrowableObjectArray::null());
-  const GrowableObjectArray& tag_table = GrowableObjectArray::Handle(
-      zone, isolate->tag_table());
+  const GrowableObjectArray& tag_table =
+      GrowableObjectArray::Handle(zone, isolate->tag_table());
   UserTag& tag = UserTag::Handle(zone);
   for (intptr_t i = 0; i < tag_table.Length(); i++) {
     tag ^= tag_table.At(i);
diff --git a/runtime/vm/object.h b/runtime/vm/object.h
index 32c4a6c..dbf901e 100644
--- a/runtime/vm/object.h
+++ b/runtime/vm/object.h
@@ -29,8 +29,7 @@
 namespace dart {
 
 // Forward declarations.
-#define DEFINE_FORWARD_DECLARATION(clazz)                                      \
-  class clazz;
+#define DEFINE_FORWARD_DECLARATION(clazz) class clazz;
 CLASS_LIST(DEFINE_FORWARD_DECLARATION)
 #undef DEFINE_FORWARD_DECLARATION
 class Api;
@@ -43,8 +42,7 @@
 class FinalizablePersistentHandle;
 class LocalScope;
 
-#define REUSABLE_FORWARD_DECLARATION(name)                                     \
-  class Reusable##name##HandleScope;
+#define REUSABLE_FORWARD_DECLARATION(name) class Reusable##name##HandleScope;
 REUSABLE_HANDLE_LIST(REUSABLE_FORWARD_DECLARATION)
 #undef REUSABLE_FORWARD_DECLARATION
 
@@ -57,31 +55,27 @@
 #endif
 
 #define BASE_OBJECT_IMPLEMENTATION(object, super)                              \
- public:  /* NOLINT */                                                         \
+ public: /* NOLINT */                                                          \
   Raw##object* raw() const { return reinterpret_cast<Raw##object*>(raw_); }    \
   bool Is##object() const { return true; }                                     \
   static object& Handle(Zone* zone, Raw##object* raw_ptr) {                    \
-    object* obj =                                                              \
-      reinterpret_cast<object*>(VMHandles::AllocateHandle(zone));              \
+    object* obj = reinterpret_cast<object*>(VMHandles::AllocateHandle(zone));  \
     initializeHandle(obj, raw_ptr);                                            \
     return *obj;                                                               \
   }                                                                            \
   static object& Handle() {                                                    \
     return Handle(Thread::Current()->zone(), object::null());                  \
   }                                                                            \
-  static object& Handle(Zone* zone) {                                          \
-    return Handle(zone, object::null());                                       \
-  }                                                                            \
+  static object& Handle(Zone* zone) { return Handle(zone, object::null()); }   \
   static object& Handle(Raw##object* raw_ptr) {                                \
     return Handle(Thread::Current()->zone(), raw_ptr);                         \
   }                                                                            \
   static object& CheckedHandle(Zone* zone, RawObject* raw_ptr) {               \
-    object* obj =                                                              \
-        reinterpret_cast<object*>(VMHandles::AllocateHandle(zone));            \
+    object* obj = reinterpret_cast<object*>(VMHandles::AllocateHandle(zone));  \
     initializeHandle(obj, raw_ptr);                                            \
     if (!obj->Is##object()) {                                                  \
-      FATAL2("Handle check failed: saw %s expected %s",                        \
-             obj->ToCString(), #object);                                       \
+      FATAL2("Handle check failed: saw %s expected %s", obj->ToCString(),      \
+             #object);                                                         \
     }                                                                          \
     return *obj;                                                               \
   }                                                                            \
@@ -89,14 +83,13 @@
     return CheckedHandle(Thread::Current()->zone(), raw_ptr);                  \
   }                                                                            \
   static object& ZoneHandle(Zone* zone, Raw##object* raw_ptr) {                \
-    object* obj = reinterpret_cast<object*>(                                   \
-        VMHandles::AllocateZoneHandle(zone));                                  \
+    object* obj =                                                              \
+        reinterpret_cast<object*>(VMHandles::AllocateZoneHandle(zone));        \
     initializeHandle(obj, raw_ptr);                                            \
     return *obj;                                                               \
   }                                                                            \
   static object* ReadOnlyHandle() {                                            \
-    object* obj = reinterpret_cast<object*>(                                   \
-        Dart::AllocateReadOnlyHandle());                                       \
+    object* obj = reinterpret_cast<object*>(Dart::AllocateReadOnlyHandle());   \
     initializeHandle(obj, object::null());                                     \
     return obj;                                                                \
   }                                                                            \
@@ -110,12 +103,12 @@
     return ZoneHandle(Thread::Current()->zone(), raw_ptr);                     \
   }                                                                            \
   static object& CheckedZoneHandle(Zone* zone, RawObject* raw_ptr) {           \
-    object* obj = reinterpret_cast<object*>(                                   \
-        VMHandles::AllocateZoneHandle(zone));                                  \
+    object* obj =                                                              \
+        reinterpret_cast<object*>(VMHandles::AllocateZoneHandle(zone));        \
     initializeHandle(obj, raw_ptr);                                            \
     if (!obj->Is##object()) {                                                  \
-      FATAL2("Handle check failed: saw %s expected %s",                        \
-             obj->ToCString(), #object);                                       \
+      FATAL2("Handle check failed: saw %s expected %s", obj->ToCString(),      \
+             #object);                                                         \
     }                                                                          \
     return *obj;                                                               \
   }                                                                            \
@@ -138,7 +131,8 @@
   }                                                                            \
   virtual const char* ToCString() const;                                       \
   static const ClassId kClassId = k##object##Cid;                              \
- private:  /* NOLINT */                                                        \
+                                                                               \
+ private: /* NOLINT */                                                         \
   /* Initialize the handle based on the raw_ptr in the presence of null. */    \
   static void initializeHandle(object* obj, RawObject* raw_ptr) {              \
     if (raw_ptr != Object::null()) {                                           \
@@ -150,16 +144,15 @@
     }                                                                          \
   }                                                                            \
   /* Disallow allocation, copy constructors and override super assignment. */  \
- public:  /* NOLINT */                                                         \
-  void operator delete(void* pointer) {                                        \
-    UNREACHABLE();                                                             \
-  }                                                                            \
- private:  /* NOLINT */                                                        \
+ public: /* NOLINT */                                                          \
+  void operator delete(void* pointer) { UNREACHABLE(); }                       \
+                                                                               \
+ private: /* NOLINT */                                                         \
   void* operator new(size_t size);                                             \
   object(const object& value);                                                 \
   void operator=(Raw##super* value);                                           \
   void operator=(const object& value);                                         \
-  void operator=(const super& value);                                          \
+  void operator=(const super& value);
 
 // Conditionally include object_service.cc functionality in the vtable to avoid
 // link errors like the following:
@@ -170,37 +163,31 @@
 //
 #ifndef PRODUCT
 #define OBJECT_SERVICE_SUPPORT(object)                                         \
-   protected:  /* NOLINT */                                                    \
+ protected: /* NOLINT */                                                       \
   /* Object is printed as JSON into stream. If ref is true only a header */    \
   /* with an object id is printed. If ref is false the object is fully   */    \
   /* printed.                                                            */    \
-    virtual void PrintJSONImpl(JSONStream* stream, bool ref) const;            \
-    virtual const char* JSONType() const {                                     \
-      return ""#object;                                                        \
-    }
+  virtual void PrintJSONImpl(JSONStream* stream, bool ref) const;              \
+  virtual const char* JSONType() const { return "" #object; }
 #else
-#define OBJECT_SERVICE_SUPPORT(object)                                         \
-   protected:  /* NOLINT */
-#endif  // !PRODUCT
+#define OBJECT_SERVICE_SUPPORT(object) protected: /* NOLINT */
+#endif                                            // !PRODUCT
 
 #define SNAPSHOT_READER_SUPPORT(object)                                        \
-  static Raw##object* ReadFrom(SnapshotReader* reader,                         \
-                               intptr_t object_id,                             \
-                               intptr_t tags,                                  \
-                               Snapshot::Kind,                                 \
+  static Raw##object* ReadFrom(SnapshotReader* reader, intptr_t object_id,     \
+                               intptr_t tags, Snapshot::Kind,                  \
                                bool as_reference);                             \
-  friend class SnapshotReader;                                                 \
+  friend class SnapshotReader;
 
 #define OBJECT_IMPLEMENTATION(object, super)                                   \
- public:  /* NOLINT */                                                         \
-  void operator=(Raw##object* value) {                                         \
-    initializeHandle(this, value);                                             \
-  }                                                                            \
+ public: /* NOLINT */                                                          \
+  void operator=(Raw##object* value) { initializeHandle(this, value); }        \
   void operator^=(RawObject* value) {                                          \
     initializeHandle(this, value);                                             \
     ASSERT(IsNull() || Is##object());                                          \
   }                                                                            \
- protected:  /* NOLINT */                                                      \
+                                                                               \
+ protected: /* NOLINT */                                                       \
   object() : super() {}                                                        \
   BASE_OBJECT_IMPLEMENTATION(object, super)                                    \
   OBJECT_SERVICE_SUPPORT(object)
@@ -213,11 +200,11 @@
   }                                                                            \
   SNAPSHOT_READER_SUPPORT(object)                                              \
   friend class StackFrame;                                                     \
-  friend class Thread;                                                         \
+  friend class Thread;
 
 // This macro is used to denote types that do not have a sub-type.
 #define FINAL_HEAP_OBJECT_IMPLEMENTATION_HELPER(object, rettype, super)        \
- public:  /* NOLINT */                                                         \
+ public: /* NOLINT */                                                          \
   void operator=(Raw##object* value) {                                         \
     raw_ = value;                                                              \
     CHECK_HANDLE();                                                            \
@@ -226,7 +213,8 @@
     raw_ = value;                                                              \
     CHECK_HANDLE();                                                            \
   }                                                                            \
- private:  /* NOLINT */                                                        \
+                                                                               \
+ private: /* NOLINT */                                                         \
   object() : super() {}                                                        \
   BASE_OBJECT_IMPLEMENTATION(object, super)                                    \
   OBJECT_SERVICE_SUPPORT(object)                                               \
@@ -234,49 +222,39 @@
     ASSERT(raw() != null());                                                   \
     return raw()->ptr();                                                       \
   }                                                                            \
-  static intptr_t NextFieldOffset() {                                          \
-    return -kWordSize;                                                         \
-  }                                                                            \
+  static intptr_t NextFieldOffset() { return -kWordSize; }                     \
   SNAPSHOT_READER_SUPPORT(rettype)                                             \
   friend class StackFrame;                                                     \
-  friend class Thread;                                                         \
+  friend class Thread;
 
 #define FINAL_HEAP_OBJECT_IMPLEMENTATION(object, super)                        \
-  FINAL_HEAP_OBJECT_IMPLEMENTATION_HELPER(object, object, super)               \
+  FINAL_HEAP_OBJECT_IMPLEMENTATION_HELPER(object, object, super)
 
 #define MINT_OBJECT_IMPLEMENTATION(object, rettype, super)                     \
-  FINAL_HEAP_OBJECT_IMPLEMENTATION_HELPER(object, rettype, super)              \
+  FINAL_HEAP_OBJECT_IMPLEMENTATION_HELPER(object, rettype, super)
 
 class Object {
  public:
-  virtual ~Object() { }
+  virtual ~Object() {}
 
   RawObject* raw() const { return raw_; }
-  void operator=(RawObject* value) {
-    initializeHandle(this, value);
-  }
+  void operator=(RawObject* value) { initializeHandle(this, value); }
 
   uword CompareAndSwapTags(uword old_tags, uword new_tags) const {
-    return AtomicOperations::CompareAndSwapWord(
-        &raw()->ptr()->tags_, old_tags, new_tags);
+    return AtomicOperations::CompareAndSwapWord(&raw()->ptr()->tags_, old_tags,
+                                                new_tags);
   }
-  bool IsCanonical() const {
-    return raw()->IsCanonical();
-  }
-  void SetCanonical() const {
-    raw()->SetCanonical();
-  }
-  void ClearCanonical() const {
-    raw()->ClearCanonical();
-  }
+  bool IsCanonical() const { return raw()->IsCanonical(); }
+  void SetCanonical() const { raw()->SetCanonical(); }
+  void ClearCanonical() const { raw()->ClearCanonical(); }
   intptr_t GetClassId() const {
-    return !raw()->IsHeapObject() ?
-        static_cast<intptr_t>(kSmiCid) : raw()->GetClassId();
+    return !raw()->IsHeapObject() ? static_cast<intptr_t>(kSmiCid)
+                                  : raw()->GetClassId();
   }
   inline RawClass* clazz() const;
   static intptr_t tags_offset() { return OFFSET_OF(RawObject, tags_); }
 
-  // Class testers.
+// Class testers.
 #define DEFINE_CLASS_TESTER(clazz)                                             \
   virtual bool Is##clazz() const { return false; }
   CLASS_LIST_FOR_HANDLES(DEFINE_CLASS_TESTER);
@@ -296,9 +274,7 @@
 #ifndef PRODUCT
   void PrintJSON(JSONStream* stream, bool ref = true) const;
   virtual void PrintJSONImpl(JSONStream* stream, bool ref) const;
-  virtual const char* JSONType() const {
-    return IsNull() ? "null" : "Object";
-  }
+  virtual const char* JSONType() const { return IsNull() ? "null" : "Object"; }
 #endif
 
   // Returns the name that is used to identify an object in the
@@ -333,27 +309,22 @@
     return *obj;
   }
   static Object* ReadOnlyHandle() {
-    Object* obj = reinterpret_cast<Object*>(
-        Dart::AllocateReadOnlyHandle());
+    Object* obj = reinterpret_cast<Object*>(Dart::AllocateReadOnlyHandle());
     initializeHandle(obj, Object::null());
     return obj;
   }
 
-  static Object& Handle() {
-    return Handle(Thread::Current()->zone(), null_);
-  }
+  static Object& Handle() { return Handle(Thread::Current()->zone(), null_); }
 
-  static Object& Handle(Zone* zone) {
-    return Handle(zone, null_);
-  }
+  static Object& Handle(Zone* zone) { return Handle(zone, null_); }
 
   static Object& Handle(RawObject* raw_ptr) {
     return Handle(Thread::Current()->zone(), raw_ptr);
   }
 
   static Object& ZoneHandle(Zone* zone, RawObject* raw_ptr) {
-    Object* obj = reinterpret_cast<Object*>(
-        VMHandles::AllocateZoneHandle(zone));
+    Object* obj =
+        reinterpret_cast<Object*>(VMHandles::AllocateZoneHandle(zone));
     initializeHandle(obj, raw_ptr);
     return *obj;
   }
@@ -570,10 +541,7 @@
   static const ClassId kClassId = kObjectCid;
 
   // Different kinds of type tests.
-  enum TypeTestKind {
-    kIsSubtypeOf = 0,
-    kIsMoreSpecificThan
-  };
+  enum TypeTestKind { kIsSubtypeOf = 0, kIsMoreSpecificThan };
 
   // Different kinds of name visibility.
   enum NameVisibility {
@@ -619,9 +587,7 @@
   // Used for extracting the C++ vtable during bringup.
   Object() : raw_(null_) {}
 
-  uword raw_value() const {
-    return reinterpret_cast<uword>(raw());
-  }
+  uword raw_value() const { return reinterpret_cast<uword>(raw()); }
 
   inline void SetRaw(RawObject* value);
   void CheckHandle() const;
@@ -629,9 +595,7 @@
   cpp_vtable vtable() const { return bit_copy<cpp_vtable>(*this); }
   void set_vtable(cpp_vtable value) { *vtable_address() = value; }
 
-  static RawObject* Allocate(intptr_t cls_id,
-                             intptr_t size,
-                             Heap::Space space);
+  static RawObject* Allocate(intptr_t cls_id, intptr_t size, Heap::Space space);
 
   static intptr_t RoundedAllocationSize(intptr_t size) {
     return Utils::RoundUp(size, kObjectAlignment);
@@ -645,7 +609,7 @@
   // methods below or their counterparts in RawObject, to ensure that the
   // write barrier is correctly applied.
 
-  template<typename type>
+  template <typename type>
   void StorePointer(type const* addr, type value) const {
     raw()->StorePointer(addr, value);
   }
@@ -671,14 +635,14 @@
     raw()->StoreSmi(addr, value);
   }
 
-  template<typename FieldType>
+  template <typename FieldType>
   void StoreSimd128(const FieldType* addr, simd128_value_t value) const {
     ASSERT(Contains(reinterpret_cast<uword>(addr)));
     value.writeTo(const_cast<FieldType*>(addr));
   }
 
   // Needs two template arguments to allow assigning enums to fixed-size ints.
-  template<typename FieldType, typename ValueType>
+  template <typename FieldType, typename ValueType>
   void StoreNonPointer(const FieldType* addr, ValueType value) const {
     // Can't use Contains, as it uses tags_, which is set through this method.
     ASSERT(reinterpret_cast<uword>(addr) >= RawObject::ToAddr(raw()));
@@ -688,7 +652,7 @@
   // Provides non-const access to non-pointer fields within the object. Such
   // access does not need a write barrier, but it is *not* GC-safe, since the
   // object might move, hence must be fully contained within a NoSafepointScope.
-  template<typename FieldType>
+  template <typename FieldType>
   FieldType* UnsafeMutableNonPointer(const FieldType* addr) const {
     // Allow pointers at the end of variable-length data, and disallow pointers
     // within the header word.
@@ -699,10 +663,10 @@
     return const_cast<FieldType*>(addr);
   }
 
-  // Fail at link time if StoreNonPointer or UnsafeMutableNonPointer is
-  // instantiated with an object pointer type.
+// Fail at link time if StoreNonPointer or UnsafeMutableNonPointer is
+// instantiated with an object pointer type.
 #define STORE_NON_POINTER_ILLEGAL_TYPE(type)                                   \
-  template<typename ValueType>                                                 \
+  template <typename ValueType>                                                \
   void StoreNonPointer(Raw##type* const* addr, ValueType value) const {        \
     UnimplementedMethod();                                                     \
   }                                                                            \
@@ -768,41 +732,41 @@
   // isolates. They are all allocated in the non-GC'd Dart::vm_isolate_.
   static RawObject* null_;
 
-  static RawClass* class_class_;  // Class of the Class vm object.
-  static RawClass* dynamic_class_;  // Class of the 'dynamic' type.
-  static RawClass* void_class_;  // Class of the 'void' type.
+  static RawClass* class_class_;             // Class of the Class vm object.
+  static RawClass* dynamic_class_;           // Class of the 'dynamic' type.
+  static RawClass* void_class_;              // Class of the 'void' type.
   static RawClass* unresolved_class_class_;  // Class of UnresolvedClass.
   static RawClass* type_arguments_class_;  // Class of TypeArguments vm object.
-  static RawClass* patch_class_class_;  // Class of the PatchClass vm object.
-  static RawClass* function_class_;  // Class of the Function vm object.
-  static RawClass* closure_data_class_;  // Class of ClosureData vm obj.
+  static RawClass* patch_class_class_;     // Class of the PatchClass vm object.
+  static RawClass* function_class_;        // Class of the Function vm object.
+  static RawClass* closure_data_class_;    // Class of ClosureData vm obj.
   static RawClass* redirection_data_class_;  // Class of RedirectionData vm obj.
-  static RawClass* field_class_;  // Class of the Field vm object.
-  static RawClass* literal_token_class_;  // Class of LiteralToken vm object.
+  static RawClass* field_class_;             // Class of the Field vm object.
+  static RawClass* literal_token_class_;     // Class of LiteralToken vm object.
   static RawClass* token_stream_class_;  // Class of the TokenStream vm object.
-  static RawClass* script_class_;  // Class of the Script vm object.
-  static RawClass* library_class_;  // Class of the Library vm object.
-  static RawClass* namespace_class_;  // Class of Namespace vm object.
-  static RawClass* code_class_;  // Class of the Code vm object.
+  static RawClass* script_class_;        // Class of the Script vm object.
+  static RawClass* library_class_;       // Class of the Library vm object.
+  static RawClass* namespace_class_;     // Class of Namespace vm object.
+  static RawClass* code_class_;          // Class of the Code vm object.
   static RawClass* instructions_class_;  // Class of the Instructions vm object.
-  static RawClass* object_pool_class_;  // Class of the ObjectPool vm object.
-  static RawClass* pc_descriptors_class_;  // Class of PcDescriptors vm object.
+  static RawClass* object_pool_class_;   // Class of the ObjectPool vm object.
+  static RawClass* pc_descriptors_class_;   // Class of PcDescriptors vm object.
   static RawClass* code_source_map_class_;  // Class of CodeSourceMap vm object.
-  static RawClass* stackmap_class_;  // Class of Stackmap vm object.
+  static RawClass* stackmap_class_;         // Class of Stackmap vm object.
   static RawClass* var_descriptors_class_;  // Class of LocalVarDescriptors.
   static RawClass* exception_handlers_class_;  // Class of ExceptionHandlers.
-  static RawClass* deopt_info_class_;  // Class of DeoptInfo.
-  static RawClass* context_class_;  // Class of the Context vm object.
+  static RawClass* deopt_info_class_;          // Class of DeoptInfo.
+  static RawClass* context_class_;        // Class of the Context vm object.
   static RawClass* context_scope_class_;  // Class of ContextScope vm object.
-  static RawClass* singletargetcache_class_;  // Class of SingleTargetCache.
-  static RawClass* unlinkedcall_class_;  // Class of UnlinkedCall.
-  static RawClass* icdata_class_;  // Class of ICData.
-  static RawClass* megamorphic_cache_class_;  // Class of MegamorphiCache.
-  static RawClass* subtypetestcache_class_;  // Class of SubtypeTestCache.
-  static RawClass* api_error_class_;  // Class of ApiError.
-  static RawClass* language_error_class_;  // Class of LanguageError.
+  static RawClass* singletargetcache_class_;    // Class of SingleTargetCache.
+  static RawClass* unlinkedcall_class_;         // Class of UnlinkedCall.
+  static RawClass* icdata_class_;               // Class of ICData.
+  static RawClass* megamorphic_cache_class_;    // Class of MegamorphiCache.
+  static RawClass* subtypetestcache_class_;     // Class of SubtypeTestCache.
+  static RawClass* api_error_class_;            // Class of ApiError.
+  static RawClass* language_error_class_;       // Class of LanguageError.
   static RawClass* unhandled_exception_class_;  // Class of UnhandledException.
-  static RawClass* unwind_error_class_;  // Class of UnwindError.
+  static RawClass* unwind_error_class_;         // Class of UnwindError.
 
   // The static values below are read-only handle pointers for singleton
   // objects that are shared between the different isolates.
@@ -848,7 +812,7 @@
 
 #define REUSABLE_FRIEND_DECLARATION(name)                                      \
   friend class Reusable##name##HandleScope;
-REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION)
+  REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION)
 #undef REUSABLE_FRIEND_DECLARATION
 
   DISALLOW_ALLOCATION();
@@ -858,16 +822,12 @@
 
 class PassiveObject : public Object {
  public:
-  void operator=(RawObject* value) {
-    raw_ = value;
-  }
-  void operator^=(RawObject* value) {
-    raw_ = value;
-  }
+  void operator=(RawObject* value) { raw_ = value; }
+  void operator^=(RawObject* value) { raw_ = value; }
 
   static PassiveObject& Handle(Zone* zone, RawObject* raw_ptr) {
-    PassiveObject* obj = reinterpret_cast<PassiveObject*>(
-        VMHandles::AllocateHandle(zone));
+    PassiveObject* obj =
+        reinterpret_cast<PassiveObject*>(VMHandles::AllocateHandle(zone));
     obj->raw_ = raw_ptr;
     obj->set_vtable(0);
     return *obj;
@@ -882,8 +842,8 @@
     return Handle(zone, Object::null());
   }
   static PassiveObject& ZoneHandle(Zone* zone, RawObject* raw_ptr) {
-    PassiveObject* obj = reinterpret_cast<PassiveObject*>(
-        VMHandles::AllocateZoneHandle(zone));
+    PassiveObject* obj =
+        reinterpret_cast<PassiveObject*>(VMHandles::AllocateZoneHandle(zone));
     obj->raw_ = raw_ptr;
     obj->set_vtable(0);
     return *obj;
@@ -994,7 +954,7 @@
   // The type parameters (and their bounds) are specified as an array of
   // TypeParameter.
   RawTypeArguments* type_parameters() const {
-      return raw_ptr()->type_parameters_;
+    return raw_ptr()->type_parameters_;
   }
   void set_type_parameters(const TypeArguments& value) const;
   intptr_t NumTypeParameters(Thread* thread) const;
@@ -1110,16 +1070,14 @@
   bool IsDartFunctionClass() const;
 
   // Check if this class represents the 'Closure' class.
-  bool IsClosureClass() const  { return id() == kClosureCid; }
+  bool IsClosureClass() const { return id() == kClosureCid; }
   static bool IsClosureClass(RawClass* cls) {
     NoSafepointScope no_safepoint;
     return cls->ptr()->id_ == kClosureCid;
   }
 
   // Check if this class represents a typedef class.
-  bool IsTypedefClass() const {
-    return signature_function() != Object::null();
-  }
+  bool IsTypedefClass() const { return signature_function() != Object::null(); }
 
   static bool IsInFullSnapshot(RawClass* cls) {
     NoSafepointScope no_safepoint;
@@ -1133,13 +1091,8 @@
                    Error* bound_error,
                    TrailPtr bound_trail,
                    Heap::Space space) const {
-    return TypeTest(kIsSubtypeOf,
-                    type_arguments,
-                    other,
-                    other_type_arguments,
-                    bound_error,
-                    bound_trail,
-                    space);
+    return TypeTest(kIsSubtypeOf, type_arguments, other, other_type_arguments,
+                    bound_error, bound_trail, space);
   }
 
   // Check the 'more specific' relationship.
@@ -1149,13 +1102,8 @@
                           Error* bound_error,
                           TrailPtr bound_trail,
                           Heap::Space space) const {
-    return TypeTest(kIsMoreSpecificThan,
-                    type_arguments,
-                    other,
-                    other_type_arguments,
-                    bound_error,
-                    bound_trail,
-                    space);
+    return TypeTest(kIsMoreSpecificThan, type_arguments, other,
+                    other_type_arguments, bound_error, bound_trail, space);
   }
 
   // Check if this is the top level class.
@@ -1213,14 +1161,16 @@
   // - constants_list_ position of found element, or
   // - constants_list_ position where new canonical can be inserted.
   RawDouble* LookupCanonicalDouble(Zone* zone,
-                                   double value, intptr_t* index) const;
+                                   double value,
+                                   intptr_t* index) const;
   RawMint* LookupCanonicalMint(Zone* zone,
-                               int64_t value, intptr_t* index) const;
+                               int64_t value,
+                               intptr_t* index) const;
   RawBigint* LookupCanonicalBigint(Zone* zone,
-                                   const Bigint& value, intptr_t* index) const;
+                                   const Bigint& value,
+                                   intptr_t* index) const;
   // The methods above are more efficient than this generic one.
-  RawInstance* LookupCanonicalInstance(Zone* zone,
-                                       const Instance& value) const;
+  RawInstance* LookupCanonicalInstance(Zone* zone, const Instance& value) const;
 
   RawInstance* InsertCanonicalConstant(Zone* zone,
                                        const Instance& constant) const;
@@ -1249,9 +1199,7 @@
   }
   void set_is_type_finalized() const;
 
-  bool is_patch() const {
-    return PatchBit::decode(raw_ptr()->state_bits_);
-  }
+  bool is_patch() const { return PatchBit::decode(raw_ptr()->state_bits_); }
   void set_is_patch() const;
 
   bool is_synthesized_class() const {
@@ -1259,27 +1207,25 @@
   }
   void set_is_synthesized_class() const;
 
-  bool is_enum_class() const {
-    return EnumBit::decode(raw_ptr()->state_bits_);
-  }
+  bool is_enum_class() const { return EnumBit::decode(raw_ptr()->state_bits_); }
   void set_is_enum_class() const;
 
   bool is_finalized() const {
-    return ClassFinalizedBits::decode(raw_ptr()->state_bits_)
-        == RawClass::kFinalized;
+    return ClassFinalizedBits::decode(raw_ptr()->state_bits_) ==
+           RawClass::kFinalized;
   }
   void set_is_finalized() const;
 
   bool is_prefinalized() const {
-    return ClassFinalizedBits::decode(raw_ptr()->state_bits_)
-        == RawClass::kPreFinalized;
+    return ClassFinalizedBits::decode(raw_ptr()->state_bits_) ==
+           RawClass::kPreFinalized;
   }
 
   void set_is_prefinalized() const;
 
   bool is_refinalize_after_patch() const {
-    return ClassFinalizedBits::decode(raw_ptr()->state_bits_)
-        == RawClass::kRefinalizeAfterPatch;
+    return ClassFinalizedBits::decode(raw_ptr()->state_bits_) ==
+           RawClass::kRefinalizeAfterPatch;
   }
 
   void SetRefinalizeAfterPatch() const;
@@ -1319,16 +1265,12 @@
   }
   void set_is_allocated(bool value) const;
 
-  uint16_t num_native_fields() const {
-    return raw_ptr()->num_native_fields_;
-  }
+  uint16_t num_native_fields() const { return raw_ptr()->num_native_fields_; }
   void set_num_native_fields(uint16_t value) const {
     StoreNonPointer(&raw_ptr()->num_native_fields_, value);
   }
 
-  RawCode* allocation_stub() const {
-    return raw_ptr()->allocation_stub_;
-  }
+  RawCode* allocation_stub() const { return raw_ptr()->allocation_stub_; }
   void set_allocation_stub(const Code& value) const;
 
   void DisableAllocationStub() const;
@@ -1362,7 +1304,8 @@
   RawError* EnsureIsFinalized(Thread* thread) const;
 
   // Allocate a class used for VM internal objects.
-  template <class FakeObject> static RawClass* New();
+  template <class FakeObject>
+  static RawClass* New();
 
   // Allocate instance classes.
   static RawClass* New(const Library& lib,
@@ -1423,7 +1366,8 @@
   // Tells whether instances need morphing for reload.
   bool RequiresInstanceMorphing(const Class& replacement) const;
 
-  template <class FakeObject> static RawClass* NewCommon(intptr_t index);
+  template <class FakeObject>
+  static RawClass* NewCommon(intptr_t index);
 
   enum MemberKind {
     kAny = 0,
@@ -1452,24 +1396,24 @@
   };
   class ConstBit : public BitField<uint16_t, bool, kConstBit, 1> {};
   class ImplementedBit : public BitField<uint16_t, bool, kImplementedBit, 1> {};
-  class TypeFinalizedBit :
-      public BitField<uint16_t, bool, kTypeFinalizedBit, 1> {};
+  class TypeFinalizedBit
+      : public BitField<uint16_t, bool, kTypeFinalizedBit, 1> {};
   class ClassFinalizedBits : public BitField<uint16_t,
                                              RawClass::ClassFinalizedState,
                                              kClassFinalizedPos,
                                              kClassFinalizedSize> {};
   class AbstractBit : public BitField<uint16_t, bool, kAbstractBit, 1> {};
   class PatchBit : public BitField<uint16_t, bool, kPatchBit, 1> {};
-  class SynthesizedClassBit :
-      public BitField<uint16_t, bool, kSynthesizedClassBit, 1> {};
-  class MarkedForParsingBit :
-      public BitField<uint16_t, bool, kMarkedForParsingBit, 1> {};
-  class MixinAppAliasBit :
-      public BitField<uint16_t, bool, kMixinAppAliasBit, 1> {};
-  class MixinTypeAppliedBit :
-      public BitField<uint16_t, bool, kMixinTypeAppliedBit, 1> {};
-  class FieldsMarkedNullableBit :
-      public BitField<uint16_t, bool, kFieldsMarkedNullableBit, 1> {};
+  class SynthesizedClassBit
+      : public BitField<uint16_t, bool, kSynthesizedClassBit, 1> {};
+  class MarkedForParsingBit
+      : public BitField<uint16_t, bool, kMarkedForParsingBit, 1> {};
+  class MixinAppAliasBit
+      : public BitField<uint16_t, bool, kMixinAppAliasBit, 1> {};
+  class MixinTypeAppliedBit
+      : public BitField<uint16_t, bool, kMixinTypeAppliedBit, 1> {};
+  class FieldsMarkedNullableBit
+      : public BitField<uint16_t, bool, kFieldsMarkedNullableBit, 1> {};
   class CycleFreeBit : public BitField<uint16_t, bool, kCycleFreeBit, 1> {};
   class EnumBit : public BitField<uint16_t, bool, kEnumBit, 1> {};
   class IsAllocatedBit : public BitField<uint16_t, bool, kIsAllocatedBit, 1> {};
@@ -1496,9 +1440,7 @@
   // Initial value for the cached number of type arguments.
   static const intptr_t kUnknownNumTypeArguments = -1;
 
-  int16_t num_type_arguments() const {
-    return raw_ptr()->num_type_arguments_;
-  }
+  int16_t num_type_arguments() const { return raw_ptr()->num_type_arguments_; }
   void set_num_type_arguments(intptr_t value) const;
   static intptr_t num_type_arguments_offset() {
     return OFFSET_OF(RawClass, num_type_arguments_);
@@ -1523,7 +1465,8 @@
                                       const String& name) const;
 
   // Allocate an instance class which has a VM implementation.
-  template <class FakeInstance> static RawClass* New(intptr_t id);
+  template <class FakeInstance>
+  static RawClass* New(intptr_t id);
 
   // Helper that calls 'Class::New<Instance>(kIllegalCid)'.
   static RawClass* NewInstanceClass();
@@ -1537,15 +1480,14 @@
                 TrailPtr bound_trail,
                 Heap::Space space) const;
 
-  static bool TypeTestNonRecursive(
-      const Class& cls,
-      TypeTestKind test_kind,
-      const TypeArguments& type_arguments,
-      const Class& other,
-      const TypeArguments& other_type_arguments,
-      Error* bound_error,
-      TrailPtr bound_trail,
-      Heap::Space space);
+  static bool TypeTestNonRecursive(const Class& cls,
+                                   TypeTestKind test_kind,
+                                   const TypeArguments& type_arguments,
+                                   const Class& other,
+                                   const TypeArguments& other_type_arguments,
+                                   Error* bound_error,
+                                   TrailPtr bound_trail,
+                                   Heap::Space space);
 
   FINAL_HEAP_OBJECT_IMPLEMENTATION(Class, Object);
   friend class AbstractType;
@@ -1600,15 +1542,13 @@
   intptr_t Length() const;
   RawAbstractType* TypeAt(intptr_t index) const;
   static intptr_t type_at_offset(intptr_t index) {
-    return OFFSET_OF_RETURNED_VALUE(
-        RawTypeArguments, types) + index * kWordSize;
+    return OFFSET_OF_RETURNED_VALUE(RawTypeArguments, types) +
+           index * kWordSize;
   }
   void SetTypeAt(intptr_t index, const AbstractType& value) const;
 
   // The name of this type argument vector, e.g. "<T, dynamic, List<T>, Smi>".
-  RawString* Name() const {
-    return SubvectorName(0, Length(), kInternalName);
-  }
+  RawString* Name() const { return SubvectorName(0, Length(), kInternalName); }
 
   // The name of this type argument vector, e.g. "<T, dynamic, List<T>, int>".
   // Names of internal classes are mapped to their public interfaces.
@@ -1638,8 +1578,8 @@
                    Error* bound_error,
                    TrailPtr bound_trail,
                    Heap::Space space) const {
-    return TypeTest(kIsSubtypeOf, other, from_index, len,
-                    bound_error, bound_trail, space);
+    return TypeTest(kIsSubtypeOf, other, from_index, len, bound_error,
+                    bound_trail, space);
   }
 
   // Check the 'more specific' relationship, considering only a subvector of
@@ -1650,8 +1590,8 @@
                           Error* bound_error,
                           TrailPtr bound_trail,
                           Heap::Space space) const {
-    return TypeTest(kIsMoreSpecificThan, other, from_index, len,
-                    bound_error, bound_trail, space);
+    return TypeTest(kIsMoreSpecificThan, other, from_index, len, bound_error,
+                    bound_trail, space);
   }
 
   // Check if the vectors are equal (they may be null).
@@ -1693,8 +1633,8 @@
   // Clone this type argument vector and clone all uninstantiated type
   // arguments, changing the class owner of type parameters.
   // Instantiated type arguments are shared.
-  RawTypeArguments* CloneUninstantiated(
-      const Class& new_owner, TrailPtr trail = NULL) const;
+  RawTypeArguments* CloneUninstantiated(const Class& new_owner,
+                                        TrailPtr trail = NULL) const;
 
   // Canonicalize only if instantiated, otherwise returns 'this'.
   RawTypeArguments* Canonicalize(TrailPtr trail = NULL) const;
@@ -1745,8 +1685,8 @@
     ASSERT(sizeof(RawTypeArguments) ==
            (sizeof(RawObject) + (kNumFields * kWordSize)));
     ASSERT(0 <= len && len <= kMaxElements);
-    return RoundedAllocationSize(
-        sizeof(RawTypeArguments) + (len * kBytesPerElement));
+    return RoundedAllocationSize(sizeof(RawTypeArguments) +
+                                 (len * kBytesPerElement));
   }
 
   intptr_t Hash() const;
@@ -1811,8 +1751,7 @@
   static RawPatchClass* New(const Class& patched_class,
                             const Class& origin_class);
 
-  static RawPatchClass* New(const Class& patched_class,
-                            const Script& source);
+  static RawPatchClass* New(const Class& patched_class, const Script& source);
 
  private:
   void set_patched_class(const Class& value) const;
@@ -1841,11 +1780,11 @@
   }                                                                            \
   static intptr_t name##_offset() {                                            \
     return OFFSET_OF(RawSingleTargetCache, name##_);                           \
-  }                                                                            \
+  }
 
-DEFINE_NON_POINTER_FIELD_ACCESSORS(uword, entry_point);
-DEFINE_NON_POINTER_FIELD_ACCESSORS(intptr_t, lower_limit);
-DEFINE_NON_POINTER_FIELD_ACCESSORS(intptr_t, upper_limit);
+  DEFINE_NON_POINTER_FIELD_ACCESSORS(uword, entry_point);
+  DEFINE_NON_POINTER_FIELD_ACCESSORS(intptr_t, lower_limit);
+  DEFINE_NON_POINTER_FIELD_ACCESSORS(intptr_t, upper_limit);
 #undef DEFINE_NON_POINTER_FIELD_ACCESSORS
 
   static intptr_t InstanceSize() {
@@ -1892,17 +1831,11 @@
 
   void SetOriginal(const ICData& value) const;
 
-  bool IsOriginal() const {
-    return Original() == this->raw();
-  }
+  bool IsOriginal() const { return Original() == this->raw(); }
 
-  RawString* target_name() const {
-    return raw_ptr()->target_name_;
-  }
+  RawString* target_name() const { return raw_ptr()->target_name_; }
 
-  RawArray* arguments_descriptor() const {
-    return raw_ptr()->args_descriptor_;
-  }
+  RawArray* arguments_descriptor() const { return raw_ptr()->args_descriptor_; }
 
   intptr_t NumArgsTested() const;
 
@@ -1920,31 +1853,31 @@
   void Reset(Zone* zone) const;
   void ResetSwitchable(Zone* zone) const;
 
-  // Note: only deopts with reasons before Unknown in this list are recorded in
-  // the ICData. All other reasons are used purely for informational messages
-  // printed during deoptimization itself.
-  #define DEOPT_REASONS(V)                                                     \
-    V(BinarySmiOp)                                                             \
-    V(BinaryMintOp)                                                            \
-    V(DoubleToSmi)                                                             \
-    V(CheckSmi)                                                                \
-    V(Unknown)                                                                 \
-    V(PolymorphicInstanceCallTestFail)                                         \
-    V(UnaryMintOp)                                                             \
-    V(BinaryDoubleOp)                                                          \
-    V(UnaryOp)                                                                 \
-    V(UnboxInteger)                                                            \
-    V(CheckClass)                                                              \
-    V(CheckArrayBound)                                                         \
-    V(AtCall)                                                                  \
-    V(GuardField)                                                              \
-    V(TestCids)                                                                \
-    V(NumReasons)                                                              \
+// Note: only deopts with reasons before Unknown in this list are recorded in
+// the ICData. All other reasons are used purely for informational messages
+// printed during deoptimization itself.
+#define DEOPT_REASONS(V)                                                       \
+  V(BinarySmiOp)                                                               \
+  V(BinaryMintOp)                                                              \
+  V(DoubleToSmi)                                                               \
+  V(CheckSmi)                                                                  \
+  V(Unknown)                                                                   \
+  V(PolymorphicInstanceCallTestFail)                                           \
+  V(UnaryMintOp)                                                               \
+  V(BinaryDoubleOp)                                                            \
+  V(UnaryOp)                                                                   \
+  V(UnboxInteger)                                                              \
+  V(CheckClass)                                                                \
+  V(CheckArrayBound)                                                           \
+  V(AtCall)                                                                    \
+  V(GuardField)                                                                \
+  V(TestCids)                                                                  \
+  V(NumReasons)
 
   enum DeoptReasonId {
-  #define DEFINE_ENUM_LIST(name) kDeopt##name,
-  DEOPT_REASONS(DEFINE_ENUM_LIST)
-  #undef DEFINE_ENUM_LIST
+#define DEFINE_ENUM_LIST(name) kDeopt##name,
+    DEOPT_REASONS(DEFINE_ENUM_LIST)
+#undef DEFINE_ENUM_LIST
   };
 
   static const intptr_t kLastRecordedDeoptReason = kDeoptUnknown - 1;
@@ -1985,9 +1918,7 @@
     return OFFSET_OF(RawICData, state_bits_);
   }
 
-  static intptr_t NumArgsTestedShift() {
-    return kNumArgsTestedPos;
-  }
+  static intptr_t NumArgsTestedShift() { return kNumArgsTestedPos; }
 
   static intptr_t NumArgsTestedMask() {
     return ((1 << kNumArgsTestedSize) - 1) << kNumArgsTestedPos;
@@ -1997,13 +1928,9 @@
     return OFFSET_OF(RawICData, args_descriptor_);
   }
 
-  static intptr_t ic_data_offset() {
-    return OFFSET_OF(RawICData, ic_data_);
-  }
+  static intptr_t ic_data_offset() { return OFFSET_OF(RawICData, ic_data_); }
 
-  static intptr_t owner_offset() {
-    return OFFSET_OF(RawICData, owner_);
-  }
+  static intptr_t owner_offset() { return OFFSET_OF(RawICData, owner_); }
 
   // Replaces entry |index| with the sentinel.
   void WriteSentinelAt(intptr_t index) const;
@@ -2082,8 +2009,8 @@
   RawICData* AsUnaryClassChecks() const {
     return AsUnaryClassChecksForArgNr(0);
   }
-  RawICData* AsUnaryClassChecksForCid(
-      intptr_t cid, const Function& target) const;
+  RawICData* AsUnaryClassChecksForCid(intptr_t cid,
+                                      const Function& target) const;
 
   // Returns ICData with aggregated receiver count, sorted by highest count.
   // Smi not first!! (the convention for ICData used in code generation is that
@@ -2111,16 +2038,10 @@
 
   static intptr_t TestEntryLengthFor(intptr_t num_args);
 
-  static intptr_t TargetIndexFor(intptr_t num_args) {
-    return num_args;
-  }
-  static intptr_t CodeIndexFor(intptr_t num_args) {
-    return num_args;
-  }
+  static intptr_t TargetIndexFor(intptr_t num_args) { return num_args; }
+  static intptr_t CodeIndexFor(intptr_t num_args) { return num_args; }
 
-  static intptr_t CountIndexFor(intptr_t num_args) {
-    return (num_args + 1);
-  }
+  static intptr_t CountIndexFor(intptr_t num_args) { return (num_args + 1); }
   static intptr_t EntryPointIndexFor(intptr_t num_args) {
     return (num_args + 1);
   }
@@ -2136,9 +2057,7 @@
   // Initialize the preallocated empty ICData entry arrays.
   static void InitOnce();
 
-  enum {
-    kCachedICDataArrayCount = 4
-  };
+  enum { kCachedICDataArrayCount = 4 };
 
 #if defined(TAG_IC_DATA)
   void set_tag(intptr_t value) const;
@@ -2151,9 +2070,7 @@
  private:
   static RawICData* New();
 
-  RawArray* ic_data() const {
-    return raw_ptr()->ic_data_;
-  }
+  RawArray* ic_data() const { return raw_ptr()->ic_data_; }
 
   void set_owner(const Function& value) const;
   void set_target_name(const String& value) const;
@@ -2256,8 +2173,8 @@
   // scope class and its type parameters.
   RawString* UserVisibleSignature() const {
     const bool instantiate = false;
-    return BuildSignature(
-        instantiate, kUserVisibleName, TypeArguments::Handle());
+    return BuildSignature(instantiate, kUserVisibleName,
+                          TypeArguments::Handle());
   }
 
   // Build a string of the form '(A, {B b, C c}) => D' representing the
@@ -2313,7 +2230,7 @@
   // The type parameters (and their bounds) are specified as an array of
   // TypeParameter.
   RawTypeArguments* type_parameters() const {
-      return raw_ptr()->type_parameters_;
+    return raw_ptr()->type_parameters_;
   }
   void set_type_parameters(const TypeArguments& value) const;
   intptr_t NumTypeParameters(Thread* thread) const;
@@ -2347,9 +2264,7 @@
 
   // Return the most recently compiled and installed code for this function.
   // It is not the only Code object that points to this function.
-  RawCode* CurrentCode() const {
-    return raw_ptr()->code_;
-  }
+  RawCode* CurrentCode() const { return raw_ptr()->code_; }
 
   RawCode* unoptimized_code() const {
 #if defined(DART_PRECOMPILED_RUNTIME)
@@ -2361,9 +2276,7 @@
   void set_unoptimized_code(const Code& value) const;
   bool HasCode() const;
 
-  static intptr_t code_offset() {
-    return OFFSET_OF(RawFunction, code_);
-  }
+  static intptr_t code_offset() { return OFFSET_OF(RawFunction, code_); }
 
   static intptr_t entry_point_offset() {
     return OFFSET_OF(RawFunction, entry_point_);
@@ -2506,7 +2419,7 @@
 #else
     return raw_ptr()->end_token_pos_;
 #endif
-}
+  }
   void set_end_token_pos(TokenPosition value) const {
 #if defined(DART_PRECOMPILED_RUNTIME)
     UNREACHABLE();
@@ -2700,12 +2613,8 @@
                    const TypeArguments& other_type_arguments,
                    Error* bound_error,
                    Heap::Space space) const {
-    return TypeTest(kIsSubtypeOf,
-                    type_arguments,
-                    other,
-                    other_type_arguments,
-                    bound_error,
-                    space);
+    return TypeTest(kIsSubtypeOf, type_arguments, other, other_type_arguments,
+                    bound_error, space);
   }
 
   // Returns true if the type of this function is more specific than the type of
@@ -2715,12 +2624,8 @@
                           const TypeArguments& other_type_arguments,
                           Error* bound_error,
                           Heap::Space space) const {
-    return TypeTest(kIsMoreSpecificThan,
-                    type_arguments,
-                    other,
-                    other_type_arguments,
-                    bound_error,
-                    space);
+    return TypeTest(kIsMoreSpecificThan, type_arguments, other,
+                    other_type_arguments, bound_error, space);
   }
 
   // Check the subtype or 'more specific' relationship.
@@ -2786,9 +2691,7 @@
   bool IsConstructorClosureFunction() const;
 
   // Returns true if this function represents a local function.
-  bool IsLocalFunction() const {
-    return parent_function() != Function::null();
-  }
+  bool IsLocalFunction() const { return parent_function() != Function::null(); }
 
   // Returns true if this function represents a signature function without code.
   bool IsSignatureFunction() const {
@@ -2797,43 +2700,37 @@
   static bool IsSignatureFunction(RawFunction* function) {
     NoSafepointScope no_safepoint;
     return KindBits::decode(function->ptr()->kind_tag_) ==
-        RawFunction::kSignatureFunction;
+           RawFunction::kSignatureFunction;
   }
 
-  bool IsAsyncFunction() const {
-    return modifier() == RawFunction::kAsync;
-  }
+  bool IsAsyncFunction() const { return modifier() == RawFunction::kAsync; }
 
   bool IsAsyncClosure() const {
     return is_generated_body() &&
-        Function::Handle(parent_function()).IsAsyncFunction();
+           Function::Handle(parent_function()).IsAsyncFunction();
   }
 
   bool IsGenerator() const {
     return (modifier() & RawFunction::kGeneratorBit) != 0;
   }
 
-  bool IsSyncGenerator() const {
-    return modifier() == RawFunction::kSyncGen;
-  }
+  bool IsSyncGenerator() const { return modifier() == RawFunction::kSyncGen; }
 
   bool IsSyncGenClosure() const {
     return is_generated_body() &&
-        Function::Handle(parent_function()).IsSyncGenerator();
+           Function::Handle(parent_function()).IsSyncGenerator();
   }
 
   bool IsGeneratorClosure() const {
     return is_generated_body() &&
-        Function::Handle(parent_function()).IsGenerator();
+           Function::Handle(parent_function()).IsGenerator();
   }
 
-  bool IsAsyncGenerator() const {
-    return modifier() == RawFunction::kAsyncGen;
-  }
+  bool IsAsyncGenerator() const { return modifier() == RawFunction::kAsyncGen; }
 
   bool IsAsyncGenClosure() const {
     return is_generated_body() &&
-        Function::Handle(parent_function()).IsAsyncGenerator();
+           Function::Handle(parent_function()).IsAsyncGenerator();
   }
 
   bool IsAsyncOrGenerator() const {
@@ -2918,29 +2815,29 @@
 #endif
   }
 
-  // static: Considered during class-side or top-level resolution rather than
-  //         instance-side resolution.
-  // const: Valid target of a const constructor call.
-  // abstract: Skipped during instance-side resolution.
-  // reflectable: Enumerated by mirrors, invocable by mirrors. False for private
-  //              functions of dart: libraries.
-  // debuggable: Valid location of a breakpoint. Synthetic code is not
-  //             debuggable.
-  // visible: Frame is included in stack traces. Synthetic code such as
-  //          dispatchers is not visible. Synthetic code that can trigger
-  //          exceptions such as the outer async functions that create Futures
-  //          is visible.
-  // optimizable: Candidate for going through the optimizing compiler. False for
-  //              some functions known to be execute infrequently and functions
-  //              which have been de-optimized too many times.
-  // instrinsic: Has a hand-written assembly prologue.
-  // inlinable: Candidate for inlining. False for functions with features we
-  //            don't support during inlining (e.g., optional parameters),
-  //            functions which are too big, etc.
-  // native: Bridge to C/C++ code.
-  // redirecting: Redirecting generative or factory constructor.
-  // external: Just a declaration that expects to be defined in another patch
-  //           file.
+// static: Considered during class-side or top-level resolution rather than
+//         instance-side resolution.
+// const: Valid target of a const constructor call.
+// abstract: Skipped during instance-side resolution.
+// reflectable: Enumerated by mirrors, invocable by mirrors. False for private
+//              functions of dart: libraries.
+// debuggable: Valid location of a breakpoint. Synthetic code is not
+//             debuggable.
+// visible: Frame is included in stack traces. Synthetic code such as
+//          dispatchers is not visible. Synthetic code that can trigger
+//          exceptions such as the outer async functions that create Futures
+//          is visible.
+// optimizable: Candidate for going through the optimizing compiler. False for
+//              some functions known to be execute infrequently and functions
+//              which have been de-optimized too many times.
+// instrinsic: Has a hand-written assembly prologue.
+// inlinable: Candidate for inlining. False for functions with features we
+//            don't support during inlining (e.g., optional parameters),
+//            functions which are too big, etc.
+// native: Bridge to C/C++ code.
+// redirecting: Redirecting generative or factory constructor.
+// external: Just a declaration that expects to be defined in another patch
+//           file.
 
 #define FOR_EACH_FUNCTION_KIND_BIT(V)                                          \
   V(Static, is_static)                                                         \
@@ -2959,16 +2856,14 @@
   V(AllowsBoundsCheckGeneralization, allows_bounds_check_generalization)       \
   V(GeneratedBody, is_generated_body)                                          \
   V(AlwaysInline, always_inline)                                               \
-  V(PolymorphicTarget, is_polymorphic_target)                                  \
+  V(PolymorphicTarget, is_polymorphic_target)
 
 #define DEFINE_ACCESSORS(name, accessor_name)                                  \
   void set_##accessor_name(bool value) const {                                 \
     set_kind_tag(name##Bit::update(value, raw_ptr()->kind_tag_));              \
   }                                                                            \
-  bool accessor_name() const {                                                 \
-    return name##Bit::decode(raw_ptr()->kind_tag_);                            \
-  }
-FOR_EACH_FUNCTION_KIND_BIT(DEFINE_ACCESSORS)
+  bool accessor_name() const { return name##Bit::decode(raw_ptr()->kind_tag_); }
+  FOR_EACH_FUNCTION_KIND_BIT(DEFINE_ACCESSORS)
 #undef DEFINE_ACCESSORS
 
  private:
@@ -2983,21 +2878,23 @@
     kModifierPos = kRecognizedTagPos + kRecognizedTagSize,
     kModifierSize = 2,
     kLastModifierBitPos = kModifierPos + (kModifierSize - 1),
-    // Single bit sized fields start here.
+// Single bit sized fields start here.
 #define DECLARE_BIT(name, _) k##name##Bit,
-FOR_EACH_FUNCTION_KIND_BIT(DECLARE_BIT)
+    FOR_EACH_FUNCTION_KIND_BIT(DECLARE_BIT)
 #undef DECLARE_BIT
-    kNumTagBits
+        kNumTagBits
   };
 
-  COMPILE_ASSERT(
-      MethodRecognizer::kNumRecognizedMethods < (1 << kRecognizedTagSize));
-  COMPILE_ASSERT(
-      kNumTagBits <=
-      (kBitsPerByte * sizeof(static_cast<RawFunction*>(0)->kind_tag_)));
+  COMPILE_ASSERT(MethodRecognizer::kNumRecognizedMethods <
+                 (1 << kRecognizedTagSize));
+  COMPILE_ASSERT(kNumTagBits <=
+                 (kBitsPerByte *
+                  sizeof(static_cast<RawFunction*>(0)->kind_tag_)));
 
-  class KindBits :
-    public BitField<uint32_t, RawFunction::Kind, kKindTagPos, kKindTagSize> {};
+  class KindBits : public BitField<uint32_t,
+                                   RawFunction::Kind,
+                                   kKindTagPos,
+                                   kKindTagSize> {};
 
   class RecognizedBits : public BitField<uint32_t,
                                          MethodRecognizer::Kind,
@@ -3008,9 +2905,9 @@
                                        kModifierPos,
                                        kModifierSize> {};
 
-#define DEFINE_BIT(name, _) \
+#define DEFINE_BIT(name, _)                                                    \
   class name##Bit : public BitField<uint32_t, bool, k##name##Bit, 1> {};
-FOR_EACH_FUNCTION_KIND_BIT(DEFINE_BIT)
+  FOR_EACH_FUNCTION_KIND_BIT(DEFINE_BIT)
 #undef DEFINE_BIT
 
   void set_name(const String& value) const;
@@ -3064,7 +2961,7 @@
 };
 
 
-class ClosureData: public Object {
+class ClosureData : public Object {
  public:
   static intptr_t InstanceSize() {
     return RoundedAllocationSize(sizeof(RawClosureData));
@@ -3082,9 +2979,7 @@
   RawType* signature_type() const { return raw_ptr()->signature_type_; }
   void set_signature_type(const Type& value) const;
 
-  RawInstance* implicit_static_closure() const {
-    return raw_ptr()->closure_;
-  }
+  RawInstance* implicit_static_closure() const { return raw_ptr()->closure_; }
   void set_implicit_static_closure(const Instance& closure) const;
 
   static RawClosureData* New();
@@ -3096,7 +2991,7 @@
 };
 
 
-class RedirectionData: public Object {
+class RedirectionData : public Object {
  public:
   static intptr_t InstanceSize() {
     return RoundedAllocationSize(sizeof(RawRedirectionData));
@@ -3194,7 +3089,7 @@
   RawScript* Script() const;
   RawObject* RawOwner() const;
 
-  RawAbstractType* type() const  { return raw_ptr()->type_; }
+  RawAbstractType* type() const { return raw_ptr()->type_; }
   // Used by class finalizer, otherwise initialized in constructor.
   void SetFieldType(const AbstractType& value) const;
 
@@ -3242,8 +3137,8 @@
   void set_has_initializer(bool has_initializer) const {
     ASSERT(IsOriginal());
     ASSERT(Thread::Current()->IsMutatorThread());
-    set_kind_bits(HasInitializerBit::update(has_initializer,
-                                            raw_ptr()->kind_bits_));
+    set_kind_bits(
+        HasInitializerBit::update(has_initializer, raw_ptr()->kind_bits_));
   }
 
   // Return class id that any non-null value read from this field is guaranteed
@@ -3290,9 +3185,7 @@
 
   const char* GuardedPropertiesAsCString() const;
 
-  intptr_t UnboxedFieldCid() const {
-    return guarded_cid();
-  }
+  intptr_t UnboxedFieldCid() const { return guarded_cid(); }
 
   bool is_unboxing_candidate() const {
     return UnboxingCandidateBit::decode(raw_ptr()->kind_bits_);
@@ -3316,9 +3209,7 @@
   // Internally we is_nullable_ field contains either kNullCid (nullable) or
   // any other value (non-nullable) instead of boolean. This is done to simplify
   // guarding sequence in the generated code.
-  bool is_nullable() const {
-    return raw_ptr()->is_nullable_ == kNullCid;
-  }
+  bool is_nullable() const { return raw_ptr()->is_nullable_ == kNullCid; }
   void set_is_nullable(bool val) const {
     ASSERT(Thread::Current()->IsMutatorThread());
     StoreNonPointer(&raw_ptr()->is_nullable_, val ? kNullCid : kIllegalCid);
@@ -3408,13 +3299,13 @@
   class ConstBit : public BitField<uint8_t, bool, kConstBit, 1> {};
   class StaticBit : public BitField<uint8_t, bool, kStaticBit, 1> {};
   class FinalBit : public BitField<uint8_t, bool, kFinalBit, 1> {};
-  class HasInitializerBit :
-      public BitField<uint8_t, bool, kHasInitializerBit, 1> {};
-  class UnboxingCandidateBit :
-      public BitField<uint8_t, bool, kUnboxingCandidateBit, 1> {};
+  class HasInitializerBit
+      : public BitField<uint8_t, bool, kHasInitializerBit, 1> {};
+  class UnboxingCandidateBit
+      : public BitField<uint8_t, bool, kUnboxingCandidateBit, 1> {};
   class ReflectableBit : public BitField<uint8_t, bool, kReflectableBit, 1> {};
-  class DoubleInitializedBit :
-      public BitField<uint8_t, bool, kDoubleInitializedBit, 1> {};
+  class DoubleInitializedBit
+      : public BitField<uint8_t, bool, kDoubleInitializedBit, 1> {};
 
   // Update guarded cid and guarded length for this field. Returns true, if
   // deoptimization of dependent code is required.
@@ -3487,8 +3378,7 @@
   void SetStream(const ExternalTypedData& stream) const;
 
   RawString* GenerateSource() const;
-  RawString* GenerateSource(TokenPosition start,
-                            TokenPosition end) const;
+  RawString* GenerateSource(TokenPosition start, TokenPosition end) const;
   intptr_t ComputeSourcePosition(TokenPosition tok_pos) const;
 
   RawString* PrivateKey() const;
@@ -3512,10 +3402,7 @@
   // in a TokenStream object.
   class Iterator : ValueObject {
    public:
-    enum StreamType {
-      kNoNewlines,
-      kAllTokens
-    };
+    enum StreamType { kNoNewlines, kAllTokens };
 
     Iterator(Zone* zone,
              const TokenStream& tokens,
@@ -3525,9 +3412,7 @@
     void SetStream(const TokenStream& tokens, TokenPosition token_pos);
     bool IsValid() const;
 
-    inline Token::Kind CurrentTokenKind() const {
-      return cur_token_kind_;
-    }
+    inline Token::Kind CurrentTokenKind() const { return cur_token_kind_; }
 
     Token::Kind LookaheadTokenKind(intptr_t num_tokens);
 
@@ -3566,7 +3451,7 @@
   static RawTokenStream* New();
   static void DataFinalizer(void* isolate_callback_data,
                             Dart_WeakPersistentHandle handle,
-                            void *peer);
+                            void* peer);
 
   FINAL_HEAP_OBJECT_IMPLEMENTATION(TokenStream, Object);
   friend class Class;
@@ -3600,8 +3485,7 @@
 
   RawTokenStream* tokens() const { return raw_ptr()->tokens_; }
 
-  void Tokenize(const String& private_key,
-                bool use_shared_tokens = true) const;
+  void Tokenize(const String& private_key, bool use_shared_tokens = true) const;
 
   RawLibrary* FindLibrary() const;
   RawString* GetLine(intptr_t line_number,
@@ -3669,7 +3553,7 @@
 
   const Array& array_;
   const int size_;  // Number of elements to iterate over.
-  int next_ix_;  // Index of next element.
+  int next_ix_;     // Index of next element.
 
   friend class ClassDictionaryIterator;
   friend class LibraryPrefixIterator;
@@ -3690,7 +3574,7 @@
                           IterationKind kind = kNoIteratePrivate);
 
   bool HasNext() const {
-      return (next_ix_ < size_) || !toplevel_class_.IsNull();
+    return (next_ix_ < size_) || !toplevel_class_.IsNull();
   }
 
   // Returns a non-null raw class.
@@ -3709,6 +3593,7 @@
  public:
   explicit LibraryPrefixIterator(const Library& library);
   RawLibraryPrefix* GetNext();
+
  private:
   void Advance();
   DISALLOW_COPY_AND_ASSIGN(LibraryPrefixIterator);
@@ -3804,17 +3689,14 @@
                         const Object& tl_owner,
                         TokenPosition token_pos) const;
   void AddFieldMetadata(const Field& field, TokenPosition token_pos) const;
-  void AddFunctionMetadata(const Function& func,
-                           TokenPosition token_pos) const;
+  void AddFunctionMetadata(const Function& func, TokenPosition token_pos) const;
   void AddLibraryMetadata(const Object& tl_owner,
                           TokenPosition token_pos) const;
   void AddTypeParameterMetadata(const TypeParameter& param,
                                 TokenPosition token_pos) const;
   RawObject* GetMetadata(const Object& obj) const;
 
-  RawClass* toplevel_class() const {
-    return raw_ptr()->toplevel_class_;
-  }
+  RawClass* toplevel_class() const { return raw_ptr()->toplevel_class_; }
   void set_toplevel_class(const Class& value) const;
 
   RawGrowableObjectArray* patch_classes() const {
@@ -3866,23 +3748,17 @@
   static void RegisterLibraries(Thread* thread,
                                 const GrowableObjectArray& libs);
 
-  bool IsDebuggable() const {
-    return raw_ptr()->debuggable_;
-  }
+  bool IsDebuggable() const { return raw_ptr()->debuggable_; }
   void set_debuggable(bool value) const {
     StoreNonPointer(&raw_ptr()->debuggable_, value);
   }
 
-  bool is_dart_scheme() const {
-    return raw_ptr()->is_dart_scheme_;
-  }
+  bool is_dart_scheme() const { return raw_ptr()->is_dart_scheme_; }
   void set_is_dart_scheme(bool value) const {
     StoreNonPointer(&raw_ptr()->is_dart_scheme_, value);
   }
 
-  bool IsCoreLibrary() const {
-    return raw() == CoreLibrary();
-  }
+  bool IsCoreLibrary() const { return raw() == CoreLibrary(); }
 
   inline intptr_t UrlHash() const;
 
@@ -3900,7 +3776,9 @@
   static RawLibrary* InternalLibrary();
   static RawLibrary* IsolateLibrary();
   static RawLibrary* MathLibrary();
+#if !defined(PRODUCT)
   static RawLibrary* MirrorsLibrary();
+#endif
   static RawLibrary* NativeWrappersLibrary();
   static RawLibrary* ProfilerLibrary();
   static RawLibrary* TypedDataLibrary();
@@ -3930,7 +3808,7 @@
                                   const char* function_name);
 
   // Character used to indicate a private identifier.
-  static const char kPrivateIdentifierStart  = '_';
+  static const char kPrivateIdentifierStart = '_';
 
   // Character used to separate private identifiers from
   // the library-specific key.
@@ -3969,9 +3847,8 @@
 
   void InitImportList() const;
   void GrowDictionary(const Array& dict, intptr_t dict_size) const;
-  static RawLibrary* NewLibraryHelper(const String& url,
-                                      bool import_core_lib);
-  RawObject* LookupEntry(const String& name, intptr_t *index) const;
+  static RawLibrary* NewLibraryHelper(const String& url, bool import_core_lib);
+  RawObject* LookupEntry(const String& name, intptr_t* index) const;
 
   void AllocatePrivateKey() const;
 
@@ -4040,9 +3917,9 @@
   };
 
   struct Entry {
-    Entry() : raw_value_(), type_() { }
-    explicit Entry(const Object* obj) : obj_(obj), type_(kTaggedObject) { }
-    Entry(uword value, EntryType info) : raw_value_(value), type_(info) { }
+    Entry() : raw_value_(), type_() {}
+    explicit Entry(const Object* obj) : obj_(obj), type_(kTaggedObject) {}
+    Entry(uword value, EntryType info) : raw_value_(value), type_(info) {}
     union {
       const Object* obj_;
       uword raw_value_;
@@ -4050,16 +3927,12 @@
     EntryType type_;
   };
 
-  intptr_t Length() const {
-    return raw_ptr()->length_;
-  }
+  intptr_t Length() const { return raw_ptr()->length_; }
   void SetLength(intptr_t value) const {
     StoreNonPointer(&raw_ptr()->length_, value);
   }
 
-  RawTypedData* info_array() const {
-    return raw_ptr()->info_array_;
-  }
+  RawTypedData* info_array() const { return raw_ptr()->info_array_; }
 
   void set_info_array(const TypedData& info_array) const;
 
@@ -4068,8 +3941,8 @@
     return OFFSET_OF_RETURNED_VALUE(RawObjectPool, data);
   }
   static intptr_t element_offset(intptr_t index) {
-    return OFFSET_OF_RETURNED_VALUE(RawObjectPool, data)
-        + kBytesPerElement * index;
+    return OFFSET_OF_RETURNED_VALUE(RawObjectPool, data) +
+           kBytesPerElement * index;
   }
 
   EntryType InfoAt(intptr_t index) const;
@@ -4105,8 +3978,8 @@
     // Ensure that variable length data is not adding to the object length.
     ASSERT(sizeof(RawObjectPool) == (sizeof(RawObject) + (2 * kWordSize)));
     ASSERT(0 <= len && len <= kMaxElements);
-    return RoundedAllocationSize(
-        sizeof(RawObjectPool) + (len * kBytesPerElement));
+    return RoundedAllocationSize(sizeof(RawObjectPool) +
+                                 (len * kBytesPerElement));
   }
 
   static RawObjectPool* New(intptr_t len);
@@ -4139,20 +4012,33 @@
 
 class Instructions : public Object {
  public:
-  // Excludes HeaderSize().
-  intptr_t size() const { return abs(raw_ptr()->size_); }
-  bool HasSingleEntryPoint() const { return raw_ptr()->size_ >= 0; }
+  enum {
+    kSizePos = 0,
+    kSizeSize = 31,
+    kFlagsPos = kSizePos + kSizeSize,
+    kFlagsSize = 1,  // Currently, only flag is single entry flag.
+  };
 
-  uword PayloadStart() const {
-    return PayloadStart(raw());
+  class SizeBits : public BitField<uint32_t, uint32_t, kSizePos, kSizeSize> {};
+  class FlagsBits : public BitField<uint32_t, bool, kFlagsPos, kFlagsSize> {};
+
+  // Excludes HeaderSize().
+  intptr_t Size() const { return SizeBits::decode(raw_ptr()->size_and_flags_); }
+  static intptr_t Size(const RawInstructions* instr) {
+    return SizeBits::decode(instr->ptr()->size_and_flags_);
   }
-  uword CheckedEntryPoint() const {
-    return CheckedEntryPoint(raw());
+
+  bool HasSingleEntryPoint() const {
+    return FlagsBits::decode(raw_ptr()->size_and_flags_);
   }
-  uword UncheckedEntryPoint() const {
-    return UncheckedEntryPoint(raw());
+  static bool HasSingleEntryPoint(const RawInstructions* instr) {
+    return FlagsBits::decode(instr->ptr()->size_and_flags_);
   }
-  static uword PayloadStart(RawInstructions* instr) {
+
+  uword PayloadStart() const { return PayloadStart(raw()); }
+  uword CheckedEntryPoint() const { return CheckedEntryPoint(raw()); }
+  uword UncheckedEntryPoint() const { return UncheckedEntryPoint(raw()); }
+  static uword PayloadStart(const RawInstructions* instr) {
     return reinterpret_cast<uword>(instr->ptr()) + HeaderSize();
   }
 
@@ -4178,25 +4064,24 @@
 #error Missing entry offsets for current architecture
 #endif
 
-  static uword CheckedEntryPoint(RawInstructions* instr) {
+  static uword CheckedEntryPoint(const RawInstructions* instr) {
     uword entry = PayloadStart(instr);
-    if (instr->ptr()->size_ < 0) {
+    if (!HasSingleEntryPoint(instr)) {
       entry += kCheckedEntryOffset;
     }
     return entry;
   }
-  static uword UncheckedEntryPoint(RawInstructions* instr) {
+  static uword UncheckedEntryPoint(const RawInstructions* instr) {
     uword entry = PayloadStart(instr);
-    if (instr->ptr()->size_ < 0) {
+    if (!HasSingleEntryPoint(instr)) {
       entry += kUncheckedEntryOffset;
     }
     return entry;
   }
 
-  static const intptr_t kMaxElements = (kMaxInt32 -
-                                        (sizeof(RawInstructions) +
-                                         sizeof(RawObject) +
-                                         (2 * OS::kMaxPreferredCodeAlignment)));
+  static const intptr_t kMaxElements =
+      (kMaxInt32 - (sizeof(RawInstructions) + sizeof(RawObject) +
+                    (2 * OS::kMaxPreferredCodeAlignment)));
 
   static intptr_t InstanceSize() {
     ASSERT(sizeof(RawInstructions) ==
@@ -4205,8 +4090,8 @@
   }
 
   static intptr_t InstanceSize(intptr_t size) {
-    intptr_t instructions_size = Utils::RoundUp(size,
-                                                OS::PreferredCodeAlignment());
+    intptr_t instructions_size =
+        Utils::RoundUp(size, OS::PreferredCodeAlignment());
     intptr_t result = instructions_size + HeaderSize();
     ASSERT(result % OS::PreferredCodeAlignment() == 0);
     return result;
@@ -4218,21 +4103,28 @@
   }
 
   static RawInstructions* FromPayloadStart(uword payload_start) {
-    return reinterpret_cast<RawInstructions*>(
-        payload_start - HeaderSize() + kHeapObjectTag);
+    return reinterpret_cast<RawInstructions*>(payload_start - HeaderSize() +
+                                              kHeapObjectTag);
   }
 
   bool Equals(const Instructions& other) const {
-    if (size() != other.size()) {
+    if (Size() != other.Size()) {
       return false;
     }
     NoSafepointScope no_safepoint;
-    return memcmp(raw_ptr(), other.raw_ptr(), InstanceSize(size())) == 0;
+    return memcmp(raw_ptr(), other.raw_ptr(), InstanceSize(Size())) == 0;
   }
 
  private:
-  void set_size(intptr_t size) const {
-    StoreNonPointer(&raw_ptr()->size_, size);
+  void SetSize(intptr_t value) const {
+    ASSERT(value >= 0);
+    StoreNonPointer(&raw_ptr()->size_and_flags_,
+                    SizeBits::update(value, raw_ptr()->size_and_flags_));
+  }
+
+  void SetHasSingleEntryPoint(bool value) const {
+    StoreNonPointer(&raw_ptr()->size_and_flags_,
+                    FlagsBits::update(value, raw_ptr()->size_and_flags_));
   }
 
   // New is a private method as RawInstruction and RawCode objects should
@@ -4267,13 +4159,14 @@
 
   static intptr_t InstanceSize() {
     ASSERT(sizeof(RawLocalVarDescriptors) ==
-        OFFSET_OF_RETURNED_VALUE(RawLocalVarDescriptors, names));
+           OFFSET_OF_RETURNED_VALUE(RawLocalVarDescriptors, names));
     return 0;
   }
   static intptr_t InstanceSize(intptr_t len) {
     ASSERT(0 <= len && len <= kMaxElements);
-    return RoundedAllocationSize(sizeof(RawLocalVarDescriptors)
-        + (len * kWordSize)  // RawStrings for names.
+    return RoundedAllocationSize(
+        sizeof(RawLocalVarDescriptors) +
+        (len * kWordSize)  // RawStrings for names.
         + (len * sizeof(RawLocalVarDescriptors::VarInfo)));
   }
 
@@ -4332,8 +4225,7 @@
           cur_kind_(0),
           cur_deopt_id_(0),
           cur_token_pos_(0),
-          cur_try_index_(0) {
-    }
+          cur_try_index_(0) {}
 
     bool MoveNext() {
       // Moves to record that matches kind_mask_.
@@ -4447,8 +4339,7 @@
         : code_source_map_(code_source_map),
           byte_index_(0),
           cur_pc_offset_(0),
-          cur_token_pos_(0) {
-    }
+          cur_token_pos_(0) {}
 
     bool MoveNext() {
       // Moves to the next record.
@@ -4528,8 +4419,7 @@
   static intptr_t InstanceSize(intptr_t length) {
     ASSERT(length >= 0);
     // The stackmap payload is in an array of bytes.
-    intptr_t payload_size =
-        Utils::RoundUp(length, kBitsPerByte) / kBitsPerByte;
+    intptr_t payload_size = Utils::RoundUp(length, kBitsPerByte) / kBitsPerByte;
     return RoundedAllocationSize(sizeof(RawStackmap) + payload_size);
   }
   static RawStackmap* New(intptr_t pc_offset,
@@ -4542,7 +4432,7 @@
 
  private:
   void SetLength(intptr_t length) const {
-      StoreNonPointer(&raw_ptr()->length_, length);
+    StoreNonPointer(&raw_ptr()->length_, length);
   }
 
   bool InRange(intptr_t index) const { return index < Length(); }
@@ -4587,7 +4477,7 @@
   static intptr_t InstanceSize(intptr_t len) {
     return RoundedAllocationSize(
         sizeof(RawExceptionHandlers) +
-            (len * sizeof(RawExceptionHandlers::HandlerInfo)));
+        (len * sizeof(RawExceptionHandlers::HandlerInfo)));
   }
 
   static RawExceptionHandlers* New(intptr_t num_handlers);
@@ -4638,8 +4528,7 @@
 
   // Size of the frame part of the translation not counting kMaterializeObject
   // instructions in the prefix.
-  static const char* ToCString(const Array& table,
-                               const TypedData& packed);
+  static const char* ToCString(const Array& table, const TypedData& packed);
 
   // Returns true iff decompression yields the same instructions as the
   // original.
@@ -4693,9 +4582,7 @@
     return OptimizedBit::decode(raw_ptr()->state_bits_);
   }
   void set_is_optimized(bool value) const;
-  bool is_alive() const {
-    return AliveBit::decode(raw_ptr()->state_bits_);
-  }
+  bool is_alive() const { return AliveBit::decode(raw_ptr()->state_bits_); }
   void set_is_alive(bool value) const;
 
   uword PayloadStart() const {
@@ -4712,15 +4599,13 @@
   }
   intptr_t Size() const {
     const Instructions& instr = Instructions::Handle(instructions());
-    return instr.size();
+    return instr.Size();
   }
-  RawObjectPool* GetObjectPool() const {
-    return object_pool();
-  }
+  RawObjectPool* GetObjectPool() const { return object_pool(); }
   bool ContainsInstructionAt(uword addr) const {
     const Instructions& instr = Instructions::Handle(instructions());
     const uword offset = addr - instr.PayloadStart();
-    return offset < static_cast<uword>(instr.size());
+    return offset < static_cast<uword>(instr.Size());
   }
 
   // Returns true if there is a debugger breakpoint set in this code object.
@@ -4768,12 +4653,11 @@
   }
   void set_deopt_info_array(const Array& array) const;
 
-  RawArray* stackmaps() const {
-    return raw_ptr()->stackmaps_;
-  }
+  RawArray* stackmaps() const { return raw_ptr()->stackmaps_; }
   void set_stackmaps(const Array& maps) const;
-  RawStackmap* GetStackmap(
-      uint32_t pc_offset, Array* stackmaps, Stackmap* map) const;
+  RawStackmap* GetStackmap(uint32_t pc_offset,
+                           Array* stackmaps,
+                           Stackmap* map) const;
 
   enum {
     kSCallTableOffsetEntry = 0,
@@ -4824,7 +4708,7 @@
     // Layout of entries describing comments.
     enum {
       kPCOffsetEntry = 0,  // PC offset to a comment as a Smi.
-      kCommentEntry,  // Comment text as a String.
+      kCommentEntry,       // Comment text as a String.
       kNumberOfEntries
     };
 
@@ -4914,9 +4798,7 @@
     return reinterpret_cast<RawFunction*>(raw_ptr()->owner_);
   }
 
-  RawObject* owner() const {
-    return raw_ptr()->owner_;
-  }
+  RawObject* owner() const { return raw_ptr()->owner_; }
 
   void set_owner(const Function& function) const {
     ASSERT(function.IsOld());
@@ -4990,9 +4872,7 @@
     SetActiveInstructions(Instructions::Handle(instructions()));
   }
 
-  bool IsDisabled() const {
-    return instructions() != active_instructions();
-  }
+  bool IsDisabled() const { return instructions() != active_instructions(); }
 
  private:
   void set_state_bits(intptr_t bits) const;
@@ -5012,13 +4892,13 @@
 
   class OptimizedBit : public BitField<int32_t, bool, kOptimizedBit, 1> {};
   class AliveBit : public BitField<int32_t, bool, kAliveBit, 1> {};
-  class PtrOffBits :
-      public BitField<int32_t, intptr_t, kPtrOffBit, kPtrOffSize> {};
+  class PtrOffBits
+      : public BitField<int32_t, intptr_t, kPtrOffBit, kPtrOffSize> {};
 
   class SlowFindRawCodeVisitor : public FindObjectVisitor {
    public:
-    explicit SlowFindRawCodeVisitor(uword pc) : pc_(pc) { }
-    virtual ~SlowFindRawCodeVisitor() { }
+    explicit SlowFindRawCodeVisitor(uword pc) : pc_(pc) {}
+    virtual ~SlowFindRawCodeVisitor() {}
 
     // Check if object matches find condition.
     virtual bool FindObject(RawObject* obj) const;
@@ -5201,8 +5081,8 @@
 
   static intptr_t InstanceSize(intptr_t len) {
     ASSERT(0 <= len && len <= kMaxElements);
-    return RoundedAllocationSize(
-        sizeof(RawContextScope) + (len * kBytesPerElement));
+    return RoundedAllocationSize(sizeof(RawContextScope) +
+                                 (len * kBytesPerElement));
   }
 
   static RawContextScope* New(intptr_t num_variables, bool is_implicit);
@@ -5239,13 +5119,9 @@
   intptr_t mask() const;
   void set_mask(intptr_t mask) const;
 
-  RawString* target_name() const {
-    return raw_ptr()->target_name_;
-  }
+  RawString* target_name() const { return raw_ptr()->target_name_; }
 
-  RawArray* arguments_descriptor() const {
-    return raw_ptr()->args_descriptor_;
-  }
+  RawArray* arguments_descriptor() const { return raw_ptr()->args_descriptor_; }
 
   intptr_t filled_entry_count() const;
   void set_filled_entry_count(intptr_t num) const;
@@ -5307,7 +5183,7 @@
     kInstanceTypeArguments = 1,
     kInstantiatorTypeArguments = 2,
     kTestResult = 3,
-    kTestEntryLength  = 4,
+    kTestEntryLength = 4,
   };
 
   intptr_t NumberOfChecks() const;
@@ -5332,9 +5208,7 @@
   }
 
  private:
-  RawArray* cache() const {
-    return raw_ptr()->cache_;
-  }
+  RawArray* cache() const { return raw_ptr()->cache_; }
 
   void set_cache(const Array& value) const;
 
@@ -5397,8 +5271,8 @@
                                         bool report_after_token,
                                         Report::Kind kind,
                                         Heap::Space space,
-                                        const char* format, ...)
-    PRINTF_ATTRIBUTE(7, 8);
+                                        const char* format,
+                                        ...) PRINTF_ATTRIBUTE(7, 8);
 
   static RawLanguageError* NewFormattedV(const Error& prev_error,
                                          const Script& script,
@@ -5406,7 +5280,8 @@
                                          bool report_after_token,
                                          Report::Kind kind,
                                          Heap::Space space,
-                                         const char* format, va_list args);
+                                         const char* format,
+                                         va_list args);
 
   static RawLanguageError* New(const String& formatted_message,
                                Report::Kind kind = Report::kError,
@@ -5417,9 +5292,7 @@
   TokenPosition token_pos() const { return raw_ptr()->token_pos_; }
 
  private:
-  RawError* previous_error() const {
-    return raw_ptr()->previous_error_;
-  }
+  RawError* previous_error() const { return raw_ptr()->previous_error_; }
   void set_previous_error(const Error& value) const;
 
   RawScript* script() const { return raw_ptr()->script_; }
@@ -5547,9 +5420,7 @@
   virtual bool CheckIsCanonical(Thread* thread) const;
 #endif  // DEBUG
 
-  RawObject* GetField(const Field& field) const {
-    return *FieldAddr(field);
-  }
+  RawObject* GetField(const Field& field) const { return *FieldAddr(field); }
 
   void SetField(const Field& field, const Object& value) const {
     field.RecordStore(value);
@@ -5574,8 +5445,7 @@
   inline intptr_t GetNativeField(int index) const;
   inline void GetNativeFields(uint16_t num_fields,
                               intptr_t* field_values) const;
-  void SetNativeFields(uint16_t num_fields,
-                       const intptr_t* field_values) const;
+  void SetNativeFields(uint16_t num_fields, const intptr_t* field_values) const;
 
   uint16_t NumNativeFields() const {
     return clazz()->ptr()->num_native_fields_;
@@ -5632,9 +5502,7 @@
   }
   bool IsValidFieldOffset(intptr_t offset) const;
 
-  static intptr_t NextFieldOffset() {
-    return sizeof(RawInstance);
-  }
+  static intptr_t NextFieldOffset() { return sizeof(RawInstance); }
 
   // The follwoing raw methods are used for morphing.
   // They are needed due to the extraction of the class in IsValidFieldOffset.
@@ -5782,8 +5650,8 @@
   // but belonging to the new owner class.
   // Apply recursively to type arguments, i.e. instantiated type arguments of
   // an uninstantiated type are not cloned, but shared.
-  virtual RawAbstractType* CloneUninstantiated(
-      const Class& new_owner, TrailPtr trail = NULL) const;
+  virtual RawAbstractType* CloneUninstantiated(const Class& new_owner,
+                                               TrailPtr trail = NULL) const;
 
   virtual RawInstance* CheckAndCanonicalize(Thread* thread,
                                             const char** error_str) const {
@@ -5821,9 +5689,7 @@
   bool TestAndAddBuddyToTrail(TrailPtr* trail, const AbstractType& buddy) const;
 
   // The name of this type, including the names of its type arguments, if any.
-  virtual RawString* Name() const {
-    return BuildName(kInternalName);
-  }
+  virtual RawString* Name() const { return BuildName(kInternalName); }
 
   // The name of this type, including the names of its type arguments, if any.
   // Names of internal classes are mapped to their public interfaces.
@@ -5852,9 +5718,8 @@
   bool IsNullType() const;
 
   bool IsObjectType() const {
-    return !IsFunctionType() &&
-        HasResolvedTypeClass() &&
-        Class::Handle(type_class()).IsObjectClass();
+    return !IsFunctionType() && HasResolvedTypeClass() &&
+           Class::Handle(type_class()).IsObjectClass();
   }
 
   // Check if this type represents the 'bool' type.
@@ -5903,8 +5768,8 @@
                           Error* bound_error,
                           TrailPtr bound_trail,
                           Heap::Space space) const {
-    return TypeTest(kIsMoreSpecificThan, other,
-                    bound_error, bound_trail, space);
+    return TypeTest(kIsMoreSpecificThan, other, bound_error, bound_trail,
+                    space);
   }
 
  private:
@@ -5940,9 +5805,8 @@
     return OFFSET_OF(RawType, type_class_id_);
   }
   virtual bool IsFinalized() const {
-    return
-        (raw_ptr()->type_state_ == RawType::kFinalizedInstantiated) ||
-        (raw_ptr()->type_state_ == RawType::kFinalizedUninstantiated);
+    return (raw_ptr()->type_state_ == RawType::kFinalizedInstantiated) ||
+           (raw_ptr()->type_state_ == RawType::kFinalizedUninstantiated);
   }
   virtual void SetIsFinalized() const;
   void ResetIsFinalized() const;  // Ignore current state and set again.
@@ -5984,9 +5848,8 @@
       TrailPtr bound_trail,
       Heap::Space space) const;
   virtual RawAbstractType* CloneUnfinalized() const;
-  virtual RawAbstractType* CloneUninstantiated(
-      const Class& new_owner,
-      TrailPtr trail = NULL) const;
+  virtual RawAbstractType* CloneUninstantiated(const Class& new_owner,
+                                               TrailPtr trail = NULL) const;
   virtual RawAbstractType* Canonicalize(TrailPtr trail = NULL) const;
 #if defined(DEBUG)
   // Check if type is canonical.
@@ -6107,8 +5970,7 @@
     return AbstractType::Handle(type()).token_pos();
   }
   virtual bool IsInstantiated(TrailPtr trail = NULL) const;
-  virtual bool IsEquivalent(const Instance& other,
-                            TrailPtr trail = NULL) const;
+  virtual bool IsEquivalent(const Instance& other, TrailPtr trail = NULL) const;
   virtual bool IsRecursive() const { return true; }
   virtual RawTypeRef* InstantiateFrom(
       const TypeArguments& instantiator_type_arguments,
@@ -6116,9 +5978,8 @@
       TrailPtr instantiation_trail,
       TrailPtr bound_trail,
       Heap::Space space) const;
-  virtual RawTypeRef* CloneUninstantiated(
-      const Class& new_owner,
-      TrailPtr trail = NULL) const;
+  virtual RawTypeRef* CloneUninstantiated(const Class& new_owner,
+                                          TrailPtr trail = NULL) const;
   virtual RawAbstractType* Canonicalize(TrailPtr trail = NULL) const;
 #if defined(DEBUG)
   // Check if typeref is canonical.
@@ -6192,9 +6053,7 @@
                   TrailPtr bound_trail,
                   Heap::Space space) const;
   virtual TokenPosition token_pos() const { return raw_ptr()->token_pos_; }
-  virtual bool IsInstantiated(TrailPtr trail = NULL) const {
-    return false;
-  }
+  virtual bool IsInstantiated(TrailPtr trail = NULL) const { return false; }
   virtual bool IsEquivalent(const Instance& other, TrailPtr trail = NULL) const;
   virtual bool IsRecursive() const { return false; }
   virtual RawAbstractType* InstantiateFrom(
@@ -6204,16 +6063,14 @@
       TrailPtr bound_trail,
       Heap::Space space) const;
   virtual RawAbstractType* CloneUnfinalized() const;
-  virtual RawAbstractType* CloneUninstantiated(
-      const Class& new_owner, TrailPtr trail = NULL) const;
+  virtual RawAbstractType* CloneUninstantiated(const Class& new_owner,
+                                               TrailPtr trail = NULL) const;
   virtual RawAbstractType* Canonicalize(TrailPtr trail = NULL) const {
     return raw();
   }
 #if defined(DEBUG)
   // Check if type parameter is canonical.
-  virtual bool CheckIsCanonical(Thread* thread) const {
-    return true;
-  }
+  virtual bool CheckIsCanonical(Thread* thread) const { return true; }
 #endif  // DEBUG
   virtual RawString* EnumerateURIs() const;
 
@@ -6304,16 +6161,14 @@
       TrailPtr bound_trail,
       Heap::Space space) const;
   virtual RawAbstractType* CloneUnfinalized() const;
-  virtual RawAbstractType* CloneUninstantiated(
-      const Class& new_owner, TrailPtr trail = NULL) const;
+  virtual RawAbstractType* CloneUninstantiated(const Class& new_owner,
+                                               TrailPtr trail = NULL) const;
   virtual RawAbstractType* Canonicalize(TrailPtr trail = NULL) const {
     return raw();
   }
 #if defined(DEBUG)
   // Check if bounded type is canonical.
-  virtual bool CheckIsCanonical(Thread* thread) const {
-    return true;
-  }
+  virtual bool CheckIsCanonical(Thread* thread) const { return true; }
 #endif  // DEBUG
   virtual RawString* EnumerateURIs() const;
 
@@ -6445,9 +6300,7 @@
 
   virtual double AsDoubleValue() const;
   virtual int64_t AsInt64Value() const;
-  virtual int64_t AsTruncatedInt64Value() const {
-    return AsInt64Value();
-  }
+  virtual int64_t AsTruncatedInt64Value() const { return AsInt64Value(); }
   virtual uint32_t AsTruncatedUint32Value() const;
 
   virtual bool FitsIntoSmi() const;
@@ -6478,9 +6331,7 @@
   static const intptr_t kMaxValue = kSmiMax;
   static const intptr_t kMinValue = kSmiMin;
 
-  intptr_t Value() const {
-    return ValueFromRaw(raw_value());
-  }
+  intptr_t Value() const { return ValueFromRaw(raw_value()); }
 
   virtual bool Equals(const Instance& other) const;
   virtual bool IsZero() const { return Value() == 0; }
@@ -6567,17 +6418,11 @@
   static const int64_t kMinValue =
       static_cast<int64_t>(DART_2PART_UINT64_C(0x80000000, 00000000));
 
-  int64_t value() const {
-    return raw_ptr()->value_;
-  }
+  int64_t value() const { return raw_ptr()->value_; }
   static intptr_t value_offset() { return OFFSET_OF(RawMint, value_); }
 
-  virtual bool IsZero() const {
-    return value() == 0;
-  }
-  virtual bool IsNegative() const {
-    return value() < 0;
-  }
+  virtual bool IsZero() const { return value() == 0; }
+  virtual bool IsNegative() const { return value() < 0; }
 
   virtual bool Equals(const Instance& other) const;
 
@@ -6612,7 +6457,7 @@
 
 class Bigint : public Integer {
  public:
-  virtual bool IsZero() const { return Used() == 0;}
+  virtual bool IsZero() const { return Used() == 0; }
   virtual bool IsNegative() const { return Neg(); }
   virtual bool Equals(const Instance& other) const;
 
@@ -6660,20 +6505,22 @@
 
   static RawBigint* New(Heap::Space space = Heap::kNew);  // For snapshots.
 
-  static RawBigint* New(bool neg, intptr_t used, const TypedData& digits,
+  static RawBigint* New(bool neg,
+                        intptr_t used,
+                        const TypedData& digits,
                         Heap::Space space = Heap::kNew);
 
-  static RawBigint* NewFromInt64(int64_t value,
-                                  Heap::Space space = Heap::kNew);
+  static RawBigint* NewFromInt64(int64_t value, Heap::Space space = Heap::kNew);
 
   static RawBigint* NewFromUint64(uint64_t value,
-                                   Heap::Space space = Heap::kNew);
+                                  Heap::Space space = Heap::kNew);
 
-  static RawBigint* NewFromShiftedInt64(int64_t value, intptr_t shift,
-                                         Heap::Space space = Heap::kNew);
+  static RawBigint* NewFromShiftedInt64(int64_t value,
+                                        intptr_t shift,
+                                        Heap::Space space = Heap::kNew);
 
   static RawBigint* NewFromCString(const char* str,
-                                    Heap::Space space = Heap::kNew);
+                                   Heap::Space space = Heap::kNew);
 
   // Returns a canonical Bigint object allocated in the old gen space.
   static RawBigint* NewCanonical(const String& str);
@@ -6691,10 +6538,12 @@
                          intptr_t index,
                          uint32_t value);
 
-  static RawTypedData* NewDigitsFromHexCString(const char* str, intptr_t* used,
+  static RawTypedData* NewDigitsFromHexCString(const char* str,
+                                               intptr_t* used,
                                                Heap::Space space = Heap::kNew);
 
-  static RawTypedData* NewDigitsFromDecCString(const char* str, intptr_t* used,
+  static RawTypedData* NewDigitsFromDecCString(const char* str,
+                                               intptr_t* used,
                                                Heap::Space space = Heap::kNew);
 
   static RawBigint* Allocate(intptr_t length, Heap::Space space = Heap::kNew);
@@ -6708,9 +6557,7 @@
 // abstract class double in corelib.
 class Double : public Number {
  public:
-  double value() const {
-    return raw_ptr()->value_;
-  }
+  double value() const { return raw_ptr()->value_; }
 
   bool BitwiseEqualsToDouble(double value) const;
   virtual bool OperatorEquals(const Instance& other) const;
@@ -6768,18 +6615,12 @@
   class CodePointIterator : public ValueObject {
    public:
     explicit CodePointIterator(const String& str)
-        : str_(str),
-          ch_(0),
-          index_(-1),
-          end_(str.Length()) {
+        : str_(str), ch_(0), index_(-1), end_(str.Length()) {
       ASSERT(!str_.IsNull());
     }
 
     CodePointIterator(const String& str, intptr_t start, intptr_t length)
-        : str_(str),
-          ch_(0),
-          index_(start - 1),
-          end_(start + length) {
+        : str_(str), ch_(0), index_(start - 1), end_(start + length) {
       ASSERT(start >= 0);
       ASSERT(end_ <= str.Length());
     }
@@ -6845,7 +6686,7 @@
 
   bool Equals(const String& str,
               intptr_t begin_index,  // begin index on 'str'.
-              intptr_t len) const;  // len on 'str'.
+              intptr_t len) const;   // len on 'str'.
 
   // Compares to a '\0' terminated array of UTF-8 encoded characters.
   bool Equals(const char* cstr) const;
@@ -7027,14 +6868,14 @@
   static RawString* ScrubName(const String& name);
   static RawString* ScrubNameRetainPrivate(const String& name);
 
-  static bool EqualsIgnoringPrivateKey(const String& str1,
-                                       const String& str2);
+  static bool EqualsIgnoringPrivateKey(const String& str1, const String& str2);
 
   static RawString* NewFormatted(const char* format, ...)
       PRINTF_ATTRIBUTE(1, 2);
   static RawString* NewFormatted(Heap::Space space, const char* format, ...)
       PRINTF_ATTRIBUTE(2, 3);
-  static RawString* NewFormattedV(const char* format, va_list args,
+  static RawString* NewFormattedV(const char* format,
+                                  va_list args,
                                   Heap::Space space = Heap::kNew);
 
   static bool ParseDouble(const String& str,
@@ -7061,7 +6902,7 @@
     StoreSmi(&raw_ptr()->hash_, Smi::New(value));
   }
 
-  template<typename HandleType, typename ElementType, typename CallbackType>
+  template <typename HandleType, typename ElementType, typename CallbackType>
   static void ReadFromImpl(SnapshotReader* reader,
                            String* str_obj,
                            intptr_t len,
@@ -7074,7 +6915,8 @@
   friend class Class;
   friend class Symbols;
   friend class StringSlice;  // SetHash
-  template<typename CharType> friend class CharArray;  // SetHash
+  template <typename CharType>
+  friend class CharArray;     // SetHash
   friend class ConcatString;  // SetHash
   friend class OneByteString;
   friend class TwoByteString;
@@ -7117,16 +6959,14 @@
   static intptr_t InstanceSize(intptr_t len) {
     ASSERT(sizeof(RawOneByteString) == String::kSizeofRawString);
     ASSERT(0 <= len && len <= kMaxElements);
-    return String::RoundedAllocationSize(
-        sizeof(RawOneByteString) + (len * kBytesPerElement));
+    return String::RoundedAllocationSize(sizeof(RawOneByteString) +
+                                         (len * kBytesPerElement));
   }
 
-  static RawOneByteString* New(intptr_t len,
-                               Heap::Space space);
+  static RawOneByteString* New(intptr_t len, Heap::Space space);
   static RawOneByteString* New(const char* c_string,
                                Heap::Space space = Heap::kNew) {
-    return New(reinterpret_cast<const uint8_t*>(c_string),
-               strlen(c_string),
+    return New(reinterpret_cast<const uint8_t*>(c_string), strlen(c_string),
                space);
   }
   static RawOneByteString* New(const uint8_t* characters,
@@ -7138,8 +6978,7 @@
   static RawOneByteString* New(const int32_t* characters,
                                intptr_t len,
                                Heap::Space space);
-  static RawOneByteString* New(const String& str,
-                               Heap::Space space);
+  static RawOneByteString* New(const String& str, Heap::Space space);
   // 'other' must be OneByteString.
   static RawOneByteString* New(const String& other_one_byte_string,
                                intptr_t other_start_index,
@@ -7253,12 +7092,11 @@
   static intptr_t InstanceSize(intptr_t len) {
     ASSERT(sizeof(RawTwoByteString) == String::kSizeofRawString);
     ASSERT(0 <= len && len <= kMaxElements);
-    return String::RoundedAllocationSize(
-        sizeof(RawTwoByteString) + (len * kBytesPerElement));
+    return String::RoundedAllocationSize(sizeof(RawTwoByteString) +
+                                         (len * kBytesPerElement));
   }
 
-  static RawTwoByteString* New(intptr_t len,
-                               Heap::Space space);
+  static RawTwoByteString* New(intptr_t len, Heap::Space space);
   static RawTwoByteString* New(const uint16_t* characters,
                                intptr_t len,
                                Heap::Space space);
@@ -7266,8 +7104,7 @@
                                const int32_t* characters,
                                intptr_t len,
                                Heap::Space space);
-  static RawTwoByteString* New(const String& str,
-                               Heap::Space space);
+  static RawTwoByteString* New(const String& str, Heap::Space space);
 
   static RawTwoByteString* New(const TypedData& other_typed_data,
                                intptr_t other_start_index,
@@ -7503,21 +7340,15 @@
 // Class Bool implements Dart core class bool.
 class Bool : public Instance {
  public:
-  bool value() const {
-    return raw_ptr()->value_;
-  }
+  bool value() const { return raw_ptr()->value_; }
 
   static intptr_t InstanceSize() {
     return RoundedAllocationSize(sizeof(RawBool));
   }
 
-  static const Bool& True() {
-    return Object::bool_true();
-  }
+  static const Bool& True() { return Object::bool_true(); }
 
-  static const Bool& False() {
-    return Object::bool_false();
-  }
+  static const Bool& False() { return Object::bool_false(); }
 
   static const Bool& Get(bool value) {
     return value ? Bool::True() : Bool::False();
@@ -7556,17 +7387,13 @@
     return OFFSET_OF_RETURNED_VALUE(RawArray, data) + kWordSize * index;
   }
 
-  RawObject* At(intptr_t index) const {
-    return *ObjectAddr(index);
-  }
+  RawObject* At(intptr_t index) const { return *ObjectAddr(index); }
   void SetAt(intptr_t index, const Object& value) const {
     // TODO(iposva): Add storing NoSafepointScope.
     StorePointer(ObjectAddr(index), value.raw());
   }
 
-  bool IsImmutable() const {
-    return raw()->GetClassId() == kImmutableArrayCid;
-  }
+  bool IsImmutable() const { return raw()->GetClassId() == kImmutableArrayCid; }
 
   virtual RawTypeArguments* GetTypeArguments() const {
     return raw_ptr()->type_arguments_;
@@ -7674,9 +7501,7 @@
 
   static const ClassId kClassId = kImmutableArrayCid;
 
-  static intptr_t InstanceSize() {
-    return Array::InstanceSize();
-  }
+  static intptr_t InstanceSize() { return Array::InstanceSize(); }
 
   static intptr_t InstanceSize(intptr_t len) {
     return Array::InstanceSize(len);
@@ -7744,10 +7569,8 @@
     // A GrowableObjectArray is raw or takes one type argument. However, its
     // type argument vector may be longer than 1 due to a type optimization
     // reusing the type argument vector of the instantiator.
-    ASSERT(value.IsNull() ||
-           ((value.Length() >= 1) &&
-            value.IsInstantiated() &&
-            value.IsCanonical()));
+    ASSERT(value.IsNull() || ((value.Length() >= 1) && value.IsInstantiated() &&
+                              value.IsCanonical()));
     const Array& contents = Array::Handle(data());
     contents.SetTypeArguments(value);
     StorePointer(&raw_ptr()->type_arguments_, value.raw());
@@ -7810,8 +7633,11 @@
 
 class Float32x4 : public Instance {
  public:
-  static RawFloat32x4* New(float value0, float value1, float value2,
-                           float value3, Heap::Space space = Heap::kNew);
+  static RawFloat32x4* New(float value0,
+                           float value1,
+                           float value2,
+                           float value3,
+                           Heap::Space space = Heap::kNew);
   static RawFloat32x4* New(simd128_value_t value,
                            Heap::Space space = Heap::kNew);
 
@@ -7832,9 +7658,7 @@
     return RoundedAllocationSize(sizeof(RawFloat32x4));
   }
 
-  static intptr_t value_offset() {
-    return OFFSET_OF(RawFloat32x4, value_);
-  }
+  static intptr_t value_offset() { return OFFSET_OF(RawFloat32x4, value_); }
 
  private:
   FINAL_HEAP_OBJECT_IMPLEMENTATION(Float32x4, Instance);
@@ -7844,10 +7668,12 @@
 
 class Int32x4 : public Instance {
  public:
-  static RawInt32x4* New(int32_t value0, int32_t value1, int32_t value2,
-                          int32_t value3, Heap::Space space = Heap::kNew);
-  static RawInt32x4* New(simd128_value_t value,
-                          Heap::Space space = Heap::kNew);
+  static RawInt32x4* New(int32_t value0,
+                         int32_t value1,
+                         int32_t value2,
+                         int32_t value3,
+                         Heap::Space space = Heap::kNew);
+  static RawInt32x4* New(simd128_value_t value, Heap::Space space = Heap::kNew);
 
   int32_t x() const;
   int32_t y() const;
@@ -7866,9 +7692,7 @@
     return RoundedAllocationSize(sizeof(RawInt32x4));
   }
 
-  static intptr_t value_offset() {
-    return OFFSET_OF(RawInt32x4, value_);
-  }
+  static intptr_t value_offset() { return OFFSET_OF(RawInt32x4, value_); }
 
  private:
   FINAL_HEAP_OBJECT_IMPLEMENTATION(Int32x4, Instance);
@@ -7878,7 +7702,8 @@
 
 class Float64x2 : public Instance {
  public:
-  static RawFloat64x2* New(double value0, double value1,
+  static RawFloat64x2* New(double value0,
+                           double value1,
                            Heap::Space space = Heap::kNew);
   static RawFloat64x2* New(simd128_value_t value,
                            Heap::Space space = Heap::kNew);
@@ -7896,9 +7721,7 @@
     return RoundedAllocationSize(sizeof(RawFloat64x2));
   }
 
-  static intptr_t value_offset() {
-    return OFFSET_OF(RawFloat64x2, value_);
-  }
+  static intptr_t value_offset() { return OFFSET_OF(RawFloat64x2, value_); }
 
  private:
   FINAL_HEAP_OBJECT_IMPLEMENTATION(Float64x2, Instance);
@@ -7936,8 +7759,8 @@
   void* DataAddr(intptr_t byte_offset) const {
     ASSERT((byte_offset == 0) ||
            ((byte_offset > 0) && (byte_offset < LengthInBytes())));
-    return reinterpret_cast<void*>(
-        UnsafeMutableNonPointer(raw_ptr()->data()) + byte_offset);
+    return reinterpret_cast<void*>(UnsafeMutableNonPointer(raw_ptr()->data()) +
+                                   byte_offset);
   }
 
   virtual bool CanonicalizeEquals(const Instance& other) const;
@@ -7983,9 +7806,7 @@
 
 #undef TYPED_GETTER_SETTER
 
-  static intptr_t length_offset() {
-    return OFFSET_OF(RawTypedData, length_);
-  }
+  static intptr_t length_offset() { return OFFSET_OF(RawTypedData, length_); }
 
   static intptr_t data_offset() {
     return OFFSET_OF_RETURNED_VALUE(RawTypedData, data);
@@ -8009,8 +7830,7 @@
 
   static TypedDataElementType ElementType(intptr_t class_id) {
     ASSERT(RawObject::IsTypedDataClassId(class_id));
-    return static_cast<TypedDataElementType>(
-        class_id - kTypedDataInt8ArrayCid);
+    return static_cast<TypedDataElementType>(class_id - kTypedDataInt8ArrayCid);
   }
 
   static intptr_t MaxElements(intptr_t class_id) {
@@ -8023,35 +7843,34 @@
                            Heap::Space space = Heap::kNew);
 
   template <typename DstType, typename SrcType>
-  static void Copy(const DstType& dst, intptr_t dst_offset_in_bytes,
-                   const SrcType& src, intptr_t src_offset_in_bytes,
+  static void Copy(const DstType& dst,
+                   intptr_t dst_offset_in_bytes,
+                   const SrcType& src,
+                   intptr_t src_offset_in_bytes,
                    intptr_t length_in_bytes) {
-    ASSERT(Utils::RangeCheck(src_offset_in_bytes,
-                             length_in_bytes,
+    ASSERT(Utils::RangeCheck(src_offset_in_bytes, length_in_bytes,
                              src.LengthInBytes()));
-    ASSERT(Utils::RangeCheck(dst_offset_in_bytes,
-                             length_in_bytes,
+    ASSERT(Utils::RangeCheck(dst_offset_in_bytes, length_in_bytes,
                              dst.LengthInBytes()));
     {
       NoSafepointScope no_safepoint;
       if (length_in_bytes > 0) {
         memmove(dst.DataAddr(dst_offset_in_bytes),
-                src.DataAddr(src_offset_in_bytes),
-                length_in_bytes);
+                src.DataAddr(src_offset_in_bytes), length_in_bytes);
       }
     }
   }
 
 
   template <typename DstType, typename SrcType>
-  static void ClampedCopy(const DstType& dst, intptr_t dst_offset_in_bytes,
-                          const SrcType& src, intptr_t src_offset_in_bytes,
+  static void ClampedCopy(const DstType& dst,
+                          intptr_t dst_offset_in_bytes,
+                          const SrcType& src,
+                          intptr_t src_offset_in_bytes,
                           intptr_t length_in_bytes) {
-    ASSERT(Utils::RangeCheck(src_offset_in_bytes,
-                             length_in_bytes,
+    ASSERT(Utils::RangeCheck(src_offset_in_bytes, length_in_bytes,
                              src.LengthInBytes()));
-    ASSERT(Utils::RangeCheck(dst_offset_in_bytes,
-                             length_in_bytes,
+    ASSERT(Utils::RangeCheck(dst_offset_in_bytes, length_in_bytes,
                              dst.LengthInBytes()));
     {
       NoSafepointScope no_safepoint;
@@ -8177,8 +7996,8 @@
 
   static TypedDataElementType ElementType(intptr_t class_id) {
     ASSERT(RawObject::IsExternalTypedDataClassId(class_id));
-    return static_cast<TypedDataElementType>(
-        class_id - kExternalTypedDataInt8ArrayCid);
+    return static_cast<TypedDataElementType>(class_id -
+                                             kExternalTypedDataInt8ArrayCid);
   }
 
   static intptr_t MaxElements(intptr_t class_id) {
@@ -8203,8 +8022,8 @@
   }
 
   void SetData(uint8_t* data) const {
-    ASSERT(!Isolate::Current()->heap()->Contains(
-        reinterpret_cast<uword>(data)));
+    ASSERT(
+        !Isolate::Current()->heap()->Contains(reinterpret_cast<uword>(data)));
     StoreNonPointer(&raw_ptr()->data_, data);
   }
 
@@ -8224,20 +8043,20 @@
 
   static RawInstance* Data(const Instance& view_obj) {
     ASSERT(!view_obj.IsNull());
-    return *reinterpret_cast<RawInstance* const*>(
-        view_obj.raw_ptr() + kDataOffset);
+    return *reinterpret_cast<RawInstance* const*>(view_obj.raw_ptr() +
+                                                  kDataOffset);
   }
 
   static RawSmi* OffsetInBytes(const Instance& view_obj) {
     ASSERT(!view_obj.IsNull());
-    return *reinterpret_cast<RawSmi* const*>(
-        view_obj.raw_ptr() + kOffsetInBytesOffset);
+    return *reinterpret_cast<RawSmi* const*>(view_obj.raw_ptr() +
+                                             kOffsetInBytesOffset);
   }
 
   static RawSmi* Length(const Instance& view_obj) {
     ASSERT(!view_obj.IsNull());
-    return *reinterpret_cast<RawSmi* const*>(
-        view_obj.raw_ptr() + kLengthOffset);
+    return *reinterpret_cast<RawSmi* const*>(view_obj.raw_ptr() +
+                                             kLengthOffset);
   }
 
   static bool IsExternalTypedDataView(const Instance& view_obj) {
@@ -8248,26 +8067,21 @@
     return RawObject::IsExternalTypedDataClassId(cid);
   }
 
-  static intptr_t NumberOfFields() {
-    return kLengthOffset;
-  }
+  static intptr_t NumberOfFields() { return kLengthOffset; }
 
-  static intptr_t data_offset() {
-    return kWordSize * kDataOffset;
-  }
+  static intptr_t data_offset() { return kWordSize * kDataOffset; }
 
   static intptr_t offset_in_bytes_offset() {
     return kWordSize * kOffsetInBytesOffset;
   }
 
-  static intptr_t length_offset() {
-    return kWordSize * kLengthOffset;
-  }
+  static intptr_t length_offset() { return kWordSize * kLengthOffset; }
 
   static intptr_t ElementSizeInBytes(intptr_t class_id) {
     ASSERT(RawObject::IsTypedDataViewClassId(class_id));
-    return (class_id == kByteDataViewCid) ?
-        1 : TypedData::element_size(class_id - kTypedDataInt8ArrayViewCid);
+    return (class_id == kByteDataViewCid)
+               ? 1
+               : TypedData::element_size(class_id - kTypedDataInt8ArrayViewCid);
   }
 
  private:
@@ -8283,17 +8097,13 @@
  public:
   static RawInstance* Data(const Instance& view_obj) {
     ASSERT(!view_obj.IsNull());
-    return *reinterpret_cast<RawInstance* const*>(
-        view_obj.raw_ptr() + kDataOffset);
+    return *reinterpret_cast<RawInstance* const*>(view_obj.raw_ptr() +
+                                                  kDataOffset);
   }
 
-  static intptr_t NumberOfFields() {
-    return kDataOffset;
-  }
+  static intptr_t NumberOfFields() { return kDataOffset; }
 
-  static intptr_t data_offset() {
-    return kWordSize * kDataOffset;
-  }
+  static intptr_t data_offset() { return kWordSize * kDataOffset; }
 
  private:
   enum {
@@ -8336,29 +8146,19 @@
     return OFFSET_OF(RawLinkedHashMap, type_arguments_);
   }
 
-  RawTypedData* index() const {
-    return raw_ptr()->index_;
-  }
+  RawTypedData* index() const { return raw_ptr()->index_; }
   void SetIndex(const TypedData& value) const {
     StorePointer(&raw_ptr()->index_, value.raw());
   }
-  static intptr_t index_offset() {
-    return OFFSET_OF(RawLinkedHashMap, index_);
-  }
+  static intptr_t index_offset() { return OFFSET_OF(RawLinkedHashMap, index_); }
 
-  RawArray* data() const {
-    return raw_ptr()->data_;
-  }
+  RawArray* data() const { return raw_ptr()->data_; }
   void SetData(const Array& value) const {
     StorePointer(&raw_ptr()->data_, value.raw());
   }
-  static intptr_t data_offset() {
-    return OFFSET_OF(RawLinkedHashMap, data_);
-  }
+  static intptr_t data_offset() { return OFFSET_OF(RawLinkedHashMap, data_); }
 
-  RawSmi* hash_mask() const {
-    return raw_ptr()->hash_mask_;
-  }
+  RawSmi* hash_mask() const { return raw_ptr()->hash_mask_; }
   void SetHashMask(intptr_t value) const {
     StoreSmi(&raw_ptr()->hash_mask_, Smi::New(value));
   }
@@ -8366,9 +8166,7 @@
     return OFFSET_OF(RawLinkedHashMap, hash_mask_);
   }
 
-  RawSmi* used_data() const {
-    return raw_ptr()->used_data_;
-  }
+  RawSmi* used_data() const { return raw_ptr()->used_data_; }
   void SetUsedData(intptr_t value) const {
     StoreSmi(&raw_ptr()->used_data_, Smi::New(value));
   }
@@ -8376,9 +8174,7 @@
     return OFFSET_OF(RawLinkedHashMap, used_data_);
   }
 
-  RawSmi* deleted_keys() const {
-    return raw_ptr()->deleted_keys_;
-  }
+  RawSmi* deleted_keys() const { return raw_ptr()->deleted_keys_; }
   void SetDeletedKeys(intptr_t value) const {
     StoreSmi(&raw_ptr()->deleted_keys_, Smi::New(value));
   }
@@ -8400,10 +8196,10 @@
   class Iterator : ValueObject {
    public:
     explicit Iterator(const LinkedHashMap& map)
-      : data_(Array::Handle(map.data())),
-        scratch_(Object::Handle()),
-        offset_(-2),
-        length_(Smi::Value(map.used_data())) {}
+        : data_(Array::Handle(map.data())),
+          scratch_(Object::Handle()),
+          offset_(-2),
+          length_(Smi::Value(map.used_data())) {}
 
     bool MoveNext() {
       while (true) {
@@ -8419,13 +8215,9 @@
       }
     }
 
-    RawObject* CurrentKey() const {
-      return data_.At(offset_);
-    }
+    RawObject* CurrentKey() const { return data_.At(offset_); }
 
-    RawObject* CurrentValue() const {
-      return data_.At(offset_ + 1);
-    }
+    RawObject* CurrentValue() const { return data_.At(offset_ + 1); }
 
    private:
     const Array& data_;
@@ -8542,8 +8334,7 @@
   static intptr_t InstanceSize() {
     return RoundedAllocationSize(sizeof(RawSendPort));
   }
-  static RawSendPort* New(Dart_Port id,
-                          Heap::Space space = Heap::kNew);
+  static RawSendPort* New(Dart_Port id, Heap::Space space = Heap::kNew);
   static RawSendPort* New(Dart_Port id,
                           Dart_Port origin_id,
                           Heap::Space space = Heap::kNew);
@@ -8651,7 +8442,7 @@
       case kTwoByteStringCid:
         return OFFSET_OF(RawRegExp, two_byte_function_);
       case kExternalOneByteStringCid:
-         return OFFSET_OF(RawRegExp, external_one_byte_function_);
+        return OFFSET_OF(RawRegExp, external_one_byte_function_);
       case kExternalTwoByteStringCid:
         return OFFSET_OF(RawRegExp, external_two_byte_function_);
     }
@@ -8662,12 +8453,10 @@
 
   RawFunction** FunctionAddr(intptr_t cid) const {
     return reinterpret_cast<RawFunction**>(
-          FieldAddrAtOffset(function_offset(cid)));
+        FieldAddrAtOffset(function_offset(cid)));
   }
 
-  RawFunction* function(intptr_t cid) const {
-    return *FunctionAddr(cid);
-  }
+  RawFunction* function(intptr_t cid) const { return *FunctionAddr(cid); }
 
   void set_pattern(const String& pattern) const;
   void set_function(intptr_t cid, const Function& value) const;
@@ -8705,12 +8494,8 @@
                     FlagsBits::update(value, raw_ptr()->type_flags_));
   }
 
-  RegExType type() const {
-    return TypeBits::decode(raw_ptr()->type_flags_);
-  }
-  intptr_t flags() const {
-    return FlagsBits::decode(raw_ptr()->type_flags_);
-  }
+  RegExType type() const { return TypeBits::decode(raw_ptr()->type_flags_); }
+  intptr_t flags() const { return FlagsBits::decode(raw_ptr()->type_flags_); }
 
   FINAL_HEAP_OBJECT_IMPLEMENTATION(RegExp, Instance);
   friend class Class;
@@ -8719,17 +8504,13 @@
 
 class WeakProperty : public Instance {
  public:
-  RawObject* key() const {
-    return raw_ptr()->key_;
-  }
+  RawObject* key() const { return raw_ptr()->key_; }
 
   void set_key(const Object& key) const {
     StorePointer(&raw_ptr()->key_, key.raw());
   }
 
-  RawObject* value() const {
-    return raw_ptr()->value_;
-  }
+  RawObject* value() const { return raw_ptr()->value_; }
 
   void set_value(const Object& value) const {
     StorePointer(&raw_ptr()->value_, value.raw());
@@ -8755,9 +8536,7 @@
 
 class MirrorReference : public Instance {
  public:
-  RawObject* referent() const {
-    return raw_ptr()->referent_;
-  }
+  RawObject* referent() const { return raw_ptr()->referent_; }
 
   void set_referent(const Object& referent) const {
     StorePointer(&raw_ptr()->referent_, referent.raw());
@@ -8798,9 +8577,7 @@
   }
   static intptr_t tag_offset() { return OFFSET_OF(RawUserTag, tag_); }
 
-  RawString* label() const {
-    return raw_ptr()->label_;
-  }
+  RawString* label() const { return raw_ptr()->label_; }
 
   void MakeActive() const;
 
@@ -8808,8 +8585,7 @@
     return RoundedAllocationSize(sizeof(RawUserTag));
   }
 
-  static RawUserTag* New(const String& label,
-                         Heap::Space space = Heap::kOld);
+  static RawUserTag* New(const String& label, Heap::Space space = Heap::kOld);
   static RawUserTag* DefaultTag();
 
   static bool TagTableIsFull(Thread* thread);
diff --git a/runtime/vm/object_graph.cc b/runtime/vm/object_graph.cc
index b5a5cac..66bbaca 100644
--- a/runtime/vm/object_graph.cc
+++ b/runtime/vm/object_graph.cc
@@ -25,7 +25,7 @@
 class ObjectGraph::Stack : public ObjectPointerVisitor {
  public:
   explicit Stack(Isolate* isolate)
-      : ObjectPointerVisitor(isolate), data_(kInitialCapacity) { }
+      : ObjectPointerVisitor(isolate), data_(kInitialCapacity) {}
 
   // Marks and pushes. Used to initialize this stack with roots.
   virtual void VisitPointers(RawObject** first, RawObject** last) {
@@ -138,7 +138,7 @@
 
 class Unmarker : public ObjectVisitor {
  public:
-  Unmarker() { }
+  Unmarker() {}
 
   void VisitObject(RawObject* obj) {
     if (obj->IsMarked()) {
@@ -156,8 +156,7 @@
 };
 
 
-ObjectGraph::ObjectGraph(Thread* thread)
-    : StackResource(thread) {
+ObjectGraph::ObjectGraph(Thread* thread) : StackResource(thread) {
   // The VM isolate has all its objects pre-marked, so iterating over it
   // would be a no-op.
   ASSERT(thread->isolate() != Dart::vm_isolate());
@@ -193,7 +192,7 @@
 class InstanceAccumulator : public ObjectVisitor {
  public:
   InstanceAccumulator(ObjectGraph::Stack* stack, intptr_t class_id)
-      : stack_(stack), class_id_(class_id) { }
+      : stack_(stack), class_id_(class_id) {}
 
   void VisitObject(RawObject* obj) {
     if (obj->GetClassId() == class_id_) {
@@ -225,7 +224,7 @@
 
 class SizeVisitor : public ObjectGraph::Visitor {
  public:
-  SizeVisitor() : size_(0) { }
+  SizeVisitor() : size_(0) {}
   intptr_t size() const { return size_; }
   virtual bool ShouldSkip(RawObject* obj) const { return false; }
   virtual Direction VisitObject(ObjectGraph::StackIterator* it) {
@@ -236,6 +235,7 @@
     size_ += obj->Size();
     return kProceed;
   }
+
  private:
   intptr_t size_;
 };
@@ -243,8 +243,9 @@
 
 class SizeExcludingObjectVisitor : public SizeVisitor {
  public:
-  explicit SizeExcludingObjectVisitor(const Object& skip) : skip_(skip) { }
+  explicit SizeExcludingObjectVisitor(const Object& skip) : skip_(skip) {}
   virtual bool ShouldSkip(RawObject* obj) const { return obj == skip_.raw(); }
+
  private:
   const Object& skip_;
 };
@@ -252,10 +253,11 @@
 
 class SizeExcludingClassVisitor : public SizeVisitor {
  public:
-  explicit SizeExcludingClassVisitor(intptr_t skip) : skip_(skip) { }
+  explicit SizeExcludingClassVisitor(intptr_t skip) : skip_(skip) {}
   virtual bool ShouldSkip(RawObject* obj) const {
     return obj->GetClassId() == skip_;
   }
+
  private:
   const intptr_t skip_;
 };
@@ -312,10 +314,10 @@
     // and it is less informative than its alternatives.
     intptr_t cid = obj->GetClassId();
     switch (cid) {
-    case kICDataCid:
-      return true;
-    default:
-      return false;
+      case kICDataCid:
+        return true;
+      default:
+        return false;
     }
   }
 
@@ -328,9 +330,7 @@
     return false;
   }
 
-  void StartList() {
-    was_last_array_ = false;
-  }
+  void StartList() { was_last_array_ = false; }
 
   intptr_t HideNDescendant(RawObject* obj) {
     // A GrowableObjectArray overwrites its internal storage.
@@ -408,8 +408,12 @@
                            RawObject* target,
                            const Array& references,
                            Object* scratch)
-    : ObjectPointerVisitor(isolate), source_(NULL),
-      target_(target), references_(references), scratch_(scratch), length_(0) {
+      : ObjectPointerVisitor(isolate),
+        source_(NULL),
+        target_(target),
+        references_(references),
+        scratch_(scratch),
+        length_(0) {
     ASSERT(Thread::Current()->no_safepoint_scope_depth() != 0);
   }
 
@@ -506,8 +510,10 @@
 };
 
 
-static void WriteHeader(RawObject* raw, intptr_t size, intptr_t cid,
-                 WriteStream* stream) {
+static void WriteHeader(RawObject* raw,
+                        intptr_t size,
+                        intptr_t cid,
+                        WriteStream* stream) {
   WritePtr(raw, stream);
   ASSERT(Utils::IsAligned(size, kObjectAlignment));
   stream->WriteUnsigned(size);
@@ -518,7 +524,7 @@
 class WriteGraphVisitor : public ObjectGraph::Visitor {
  public:
   WriteGraphVisitor(Isolate* isolate, WriteStream* stream)
-    : stream_(stream), ptr_writer_(isolate, stream), count_(0) {}
+      : stream_(stream), ptr_writer_(isolate, stream), count_(0) {}
 
   virtual Direction VisitObject(ObjectGraph::StackIterator* it) {
     RawObject* raw_obj = it->Get();
diff --git a/runtime/vm/object_graph.h b/runtime/vm/object_graph.h
index e42e419..cae668a 100644
--- a/runtime/vm/object_graph.h
+++ b/runtime/vm/object_graph.h
@@ -29,9 +29,10 @@
     bool MoveToParent();
     // Offset into parent for the pointer to current object. -1 if no parent.
     intptr_t OffsetFromParentInWords() const;
+
    private:
     StackIterator(const Stack* stack, intptr_t index)
-        : stack_(stack), index_(index) { }
+        : stack_(stack), index_(index) {}
     const Stack* stack_;
     intptr_t index_;
     friend class ObjectGraph::Stack;
@@ -46,7 +47,7 @@
       kBacktrack,  // Ignore this object's pointers.
       kAbort,      // Terminate the entire search immediately.
     };
-    virtual ~Visitor() { }
+    virtual ~Visitor() {}
     // Visits the object pointed to by *it. The iterator is only valid
     // during this call. This method must not allocate from the heap or
     // trigger GC in any way.
diff --git a/runtime/vm/object_graph_test.cc b/runtime/vm/object_graph_test.cc
index 801d01c..0b5c095 100644
--- a/runtime/vm/object_graph_test.cc
+++ b/runtime/vm/object_graph_test.cc
@@ -13,7 +13,7 @@
   // Records the number of objects and total size visited, excluding 'skip'
   // and any objects only reachable through 'skip'.
   CounterVisitor(RawObject* skip, RawObject* expected_parent)
-      : count_(0), size_(0), skip_(skip), expected_parent_(expected_parent) { }
+      : count_(0), size_(0), skip_(skip), expected_parent_(expected_parent) {}
 
   virtual Direction VisitObject(ObjectGraph::StackIterator* it) {
     RawObject* obj = it->Get();
@@ -74,8 +74,7 @@
       graph.IterateObjectsFrom(a, &without);
       // Only 'b' and 'c' were cut off.
       EXPECT_EQ(2, with.count() - without.count());
-      EXPECT_EQ(b_size + c_size,
-                with.size() - without.size());
+      EXPECT_EQ(b_size + c_size, with.size() - without.size());
     }
     {
       // Like above, but iterate over the entire isolate. The counts and sizes
@@ -85,8 +84,7 @@
       CounterVisitor without(b_raw, a.raw());
       graph.IterateObjects(&without);
       EXPECT_EQ(2, with.count() - without.count());
-      EXPECT_EQ(b_size + c_size,
-                with.size() - without.size());
+      EXPECT_EQ(b_size + c_size, with.size() - without.size());
     }
     EXPECT_EQ(a_size + b_size + c_size + d_size,
               graph.SizeRetainedByInstance(a));
diff --git a/runtime/vm/object_id_ring.h b/runtime/vm/object_id_ring.h
index 7b0fcde..4936316 100644
--- a/runtime/vm/object_id_ring.h
+++ b/runtime/vm/object_id_ring.h
@@ -28,9 +28,9 @@
   };
 
   enum IdPolicy {
-    kAllocateId,        // Always allocate a new object id.
-    kReuseId,           // If the object is already in the ring, reuse id.
-                        // Otherwise allocate a new object id.
+    kAllocateId,  // Always allocate a new object id.
+    kReuseId,     // If the object is already in the ring, reuse id.
+                  // Otherwise allocate a new object id.
     kNumIdPolicy,
   };
 
@@ -67,12 +67,8 @@
   int32_t serial_num_;
   bool wrapped_;
 
-  RawObject** table() {
-    return table_;
-  }
-  int32_t table_size() {
-    return capacity_;
-  }
+  RawObject** table() { return table_; }
+  int32_t table_size() { return capacity_; }
 
   int32_t NextSerial();
   int32_t AllocateNewId(RawObject* object);
diff --git a/runtime/vm/object_id_ring_test.cc b/runtime/vm/object_id_ring_test.cc
index dd64aa5..cbd3407 100644
--- a/runtime/vm/object_id_ring_test.cc
+++ b/runtime/vm/object_id_ring_test.cc
@@ -15,7 +15,8 @@
 
 class ObjectIdRingTestHelper {
  public:
-  static void SetCapacityAndMaxSerial(ObjectIdRing* ring, int32_t capacity,
+  static void SetCapacityAndMaxSerial(ObjectIdRing* ring,
+                                      int32_t capacity,
                                       int32_t max_serial) {
     ring->SetCapacityAndMaxSerial(capacity, max_serial);
   }
@@ -123,9 +124,9 @@
 // Test that the ring table is updated when the scavenger moves an object.
 TEST_CASE(ObjectIdRingScavengeMoveTest) {
   const char* kScriptChars =
-  "main() {\n"
-  "  return [1, 2, 3];\n"
-  "}\n";
+      "main() {\n"
+      "  return [1, 2, 3];\n"
+      "}\n";
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
   Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   intptr_t list_length = 0;
@@ -145,14 +146,12 @@
   intptr_t raw_obj_id1 = ring->GetIdForObject(raw_obj);
   EXPECT_EQ(0, raw_obj_id1);
   // Get id 0 again.
-  EXPECT_EQ(raw_obj_id1,
-      ring->GetIdForObject(raw_obj, ObjectIdRing::kReuseId));
+  EXPECT_EQ(raw_obj_id1, ring->GetIdForObject(raw_obj, ObjectIdRing::kReuseId));
   // Add to ring a second time.
   intptr_t raw_obj_id2 = ring->GetIdForObject(raw_obj);
   EXPECT_EQ(1, raw_obj_id2);
   // Get id 0 again.
-  EXPECT_EQ(raw_obj_id1,
-      ring->GetIdForObject(raw_obj, ObjectIdRing::kReuseId));
+  EXPECT_EQ(raw_obj_id1, ring->GetIdForObject(raw_obj, ObjectIdRing::kReuseId));
   RawObject* raw_obj1 = ring->GetObjectForId(raw_obj_id1, &kind);
   EXPECT_EQ(ObjectIdRing::kValid, kind);
   RawObject* raw_obj2 = ring->GetObjectForId(raw_obj_id2, &kind);
@@ -186,7 +185,7 @@
   EXPECT_EQ(3, list_length);
   // Test id reuse.
   EXPECT_EQ(raw_obj_id1,
-      ring->GetIdForObject(raw_object_moved1, ObjectIdRing::kReuseId));
+            ring->GetIdForObject(raw_object_moved1, ObjectIdRing::kReuseId));
 }
 
 
diff --git a/runtime/vm/object_reload.cc b/runtime/vm/object_reload.cc
index 0429adf..a1318b7 100644
--- a/runtime/vm/object_reload.cc
+++ b/runtime/vm/object_reload.cc
@@ -58,7 +58,7 @@
 
 
 void Code::ResetICDatas(Zone* zone) const {
-  // Iterate over the Code's object pool and reset all ICDatas.
+// Iterate over the Code's object pool and reset all ICDatas.
 #ifdef TARGET_ARCH_IA32
   // IA32 does not have an object pool, but, we can iterate over all
   // embedded objects by using the variable length data section.
@@ -161,8 +161,7 @@
     return;
   }
   TIR_Print("Copied %" Pd " canonical constants for class `%s`\n",
-            old_constants.Length(),
-            ToCString());
+            old_constants.Length(), ToCString());
   set_constants(old_constants);
 }
 
@@ -238,8 +237,8 @@
   Instance& old_enum_values = Instance::Handle(zone);
   // The E.values array.
   Instance& enum_values = Instance::Handle(zone);
-  Array& enum_map_storage = Array::Handle(zone,
-      HashTables::New<UnorderedHashMap<EnumMapTraits> >(4));
+  Array& enum_map_storage =
+      Array::Handle(zone, HashTables::New<UnorderedHashMap<EnumMapTraits> >(4));
   ASSERT(!enum_map_storage.IsNull());
 
   TIR_Print("Replacing enum `%s`\n", String::Handle(Name()).ToCString());
@@ -316,8 +315,9 @@
 
   if (enums_deleted && FLAG_trace_reload_verbose) {
     // TODO(johnmccutchan): Add this to the reload 'notices' list.
-    VTIR_Print("The following enum values were deleted and are forever lost in "
-               "the heap:\n");
+    VTIR_Print(
+        "The following enum values were deleted and are forever lost in "
+        "the heap:\n");
     UnorderedHashMap<EnumMapTraits> enum_map(enum_map_storage.raw());
     UnorderedHashMap<EnumMapTraits>::Iterator it(&enum_map);
     while (it.MoveNext()) {
@@ -385,8 +385,7 @@
   Instance& new_closure = Instance::Handle();
   for (intptr_t i = 0; i < funcs.Length(); i++) {
     old_func ^= funcs.At(i);
-    if (old_func.is_static() &&
-      old_func.HasImplicitClosureFunction()) {
+    if (old_func.is_static() && old_func.HasImplicitClosureFunction()) {
       selector = old_func.name();
       new_func = new_cls.LookupFunction(selector);
       if (!new_func.IsNull() && new_func.is_static()) {
@@ -407,13 +406,13 @@
 class EnumClassConflict : public ClassReasonForCancelling {
  public:
   EnumClassConflict(Zone* zone, const Class& from, const Class& to)
-      : ClassReasonForCancelling(zone, from, to) { }
+      : ClassReasonForCancelling(zone, from, to) {}
 
   RawString* ToString() {
     return String::NewFormatted(
         from_.is_enum_class()
-        ? "Enum class cannot be redefined to be a non-enum class: %s"
-        : "Class cannot be redefined to be a enum class: %s",
+            ? "Enum class cannot be redefined to be a non-enum class: %s"
+            : "Class cannot be redefined to be a enum class: %s",
         from_.ToCString());
   }
 };
@@ -425,28 +424,26 @@
                        const Class& from,
                        const Class& to,
                        const Error& error)
-      : ClassReasonForCancelling(zone, from, to), error_(error) { }
+      : ClassReasonForCancelling(zone, from, to), error_(error) {}
 
  private:
   const Error& error_;
 
   RawError* ToError() { return error_.raw(); }
 
-  RawString* ToString() {
-    return String::New(error_.ToErrorCString());
-  }
+  RawString* ToString() { return String::New(error_.ToErrorCString()); }
 };
 
 
 class NativeFieldsConflict : public ClassReasonForCancelling {
  public:
   NativeFieldsConflict(Zone* zone, const Class& from, const Class& to)
-      : ClassReasonForCancelling(zone, from, to) { }
+      : ClassReasonForCancelling(zone, from, to) {}
 
  private:
   RawString* ToString() {
-    return String::NewFormatted(
-        "Number of native fields changed in %s", from_.ToCString());
+    return String::NewFormatted("Number of native fields changed in %s",
+                                from_.ToCString());
   }
 };
 
@@ -473,7 +470,7 @@
 };
 
 
-class PreFinalizedConflict :  public ClassReasonForCancelling {
+class PreFinalizedConflict : public ClassReasonForCancelling {
  public:
   PreFinalizedConflict(Zone* zone, const Class& from, const Class& to)
       : ClassReasonForCancelling(zone, from, to) {}
@@ -488,20 +485,18 @@
 };
 
 
-class InstanceSizeConflict :  public ClassReasonForCancelling {
+class InstanceSizeConflict : public ClassReasonForCancelling {
  public:
   InstanceSizeConflict(Zone* zone, const Class& from, const Class& to)
       : ClassReasonForCancelling(zone, from, to) {}
 
  private:
   RawString* ToString() {
-    return String::NewFormatted(
-        "Instance size mismatch between '%s' (%" Pd ") and replacement "
-        "'%s' ( %" Pd ")",
-        from_.ToCString(),
-        from_.instance_size(),
-        to_.ToCString(),
-        to_.instance_size());
+    return String::NewFormatted("Instance size mismatch between '%s' (%" Pd
+                                ") and replacement "
+                                "'%s' ( %" Pd ")",
+                                from_.ToCString(), from_.instance_size(),
+                                to_.ToCString(), to_.instance_size());
   }
 };
 
@@ -537,9 +532,8 @@
 
   // Class cannot change enum property.
   if (is_enum_class() != replacement.is_enum_class()) {
-    context->AddReasonForCancelling(
-        new(context->zone())
-            EnumClassConflict(context->zone(), *this, replacement));
+    context->AddReasonForCancelling(new (context->zone()) EnumClassConflict(
+        context->zone(), *this, replacement));
     return;
   }
 
@@ -549,7 +543,7 @@
         Error::Handle(replacement.EnsureIsFinalized(Thread::Current()));
     if (!error.IsNull()) {
       context->AddReasonForCancelling(
-          new(context->zone())
+          new (context->zone())
               EnsureFinalizedError(context->zone(), *this, replacement, error));
       return;  // No reason to check other properties.
     }
@@ -559,10 +553,9 @@
 
   // Native field count cannot change.
   if (num_native_fields() != replacement.num_native_fields()) {
-      context->AddReasonForCancelling(
-          new(context->zone())
-              NativeFieldsConflict(context->zone(), *this, replacement));
-      return;
+    context->AddReasonForCancelling(new (context->zone()) NativeFieldsConflict(
+        context->zone(), *this, replacement));
+    return;
   }
 
   // Just checking.
@@ -576,18 +569,17 @@
     if (!CanReloadPreFinalized(replacement, context)) return;
   }
   ASSERT(is_finalized() == replacement.is_finalized());
-  TIR_Print("Class `%s` can be reloaded (%" Pd " and %" Pd ")\n",
-            ToCString(), id(), replacement.id());
+  TIR_Print("Class `%s` can be reloaded (%" Pd " and %" Pd ")\n", ToCString(),
+            id(), replacement.id());
 }
 
 
-
 bool Class::RequiresInstanceMorphing(const Class& replacement) const {
   // Get the field maps for both classes. These field maps walk the class
   // hierarchy.
   const Array& fields = Array::Handle(OffsetToFieldMap());
-  const Array& replacement_fields
-      = Array::Handle(replacement.OffsetToFieldMap());
+  const Array& replacement_fields =
+      Array::Handle(replacement.OffsetToFieldMap());
 
   // Check that the size of the instance is the same.
   if (fields.Length() != replacement_fields.Length()) return true;
@@ -627,15 +619,13 @@
   const AbstractType& replacement_dt =
       AbstractType::Handle(replacement.DeclarationType());
   if (!dt.Equals(replacement_dt)) {
-    context->AddReasonForCancelling(
-        new(context->zone())
-            TypeParametersChanged(context->zone(), *this, replacement));
+    context->AddReasonForCancelling(new (context->zone()) TypeParametersChanged(
+        context->zone(), *this, replacement));
     return false;
   }
   if (RequiresInstanceMorphing(replacement)) {
-    context->AddInstanceMorpher(
-        new(context->zone())
-            InstanceMorpher(context->zone(), *this, replacement));
+    context->AddInstanceMorpher(new (context->zone()) InstanceMorpher(
+        context->zone(), *this, replacement));
   }
   return true;
 }
@@ -645,17 +635,15 @@
                                   IsolateReloadContext* context) const {
   // The replacement class must also prefinalized.
   if (!replacement.is_prefinalized()) {
-      context->AddReasonForCancelling(
-          new(context->zone())
-              PreFinalizedConflict(context->zone(), *this, replacement));
-      return false;
+    context->AddReasonForCancelling(new (context->zone()) PreFinalizedConflict(
+        context->zone(), *this, replacement));
+    return false;
   }
   // Check the instance sizes are equal.
   if (instance_size() != replacement.instance_size()) {
-      context->AddReasonForCancelling(
-          new(context->zone())
-              InstanceSizeConflict(context->zone(), *this, replacement));
-      return false;
+    context->AddReasonForCancelling(new (context->zone()) InstanceSizeConflict(
+        context->zone(), *this, replacement));
+    return false;
   }
   return true;
 }
@@ -672,9 +660,8 @@
     if (prefix.is_deferred_load()) {
       const String& prefix_name = String::Handle(prefix.name());
       context->AddReasonForCancelling(
-          new(context->zone())
-              UnimplementedDeferredLibrary(context->zone(),
-                                           *this, replacement, prefix_name));
+          new (context->zone()) UnimplementedDeferredLibrary(
+              context->zone(), *this, replacement, prefix_name));
       return;
     }
   }
@@ -741,8 +728,7 @@
 
     const Array& args_desc_array = Array::Handle(zone, arguments_descriptor());
     ArgumentsDescriptor args_desc(args_desc_array);
-    if (new_target.IsNull() ||
-        !new_target.AreValidArguments(args_desc, NULL)) {
+    if (new_target.IsNull() || !new_target.AreValidArguments(args_desc, NULL)) {
       // TODO(rmacnak): Patch to a NSME stub.
       VTIR_Print("Cannot rebind static call to %s from %s\n",
                  old_target.ToCString(),
@@ -764,4 +750,4 @@
 
 #endif  // !PRODUCT
 
-}   // namespace dart.
+}  // namespace dart.
diff --git a/runtime/vm/object_service.cc b/runtime/vm/object_service.cc
index b1a87ab..d5441a5 100644
--- a/runtime/vm/object_service.cc
+++ b/runtime/vm/object_service.cc
@@ -87,9 +87,7 @@
   jsobj.AddFixedServiceId("classes/%" Pd "", id());
   const String& scrubbed_name = String::Handle(ScrubbedName());
   const String& vm_name = String::Handle(Name());
-  AddNameProperties(&jsobj,
-                    scrubbed_name.ToCString(),
-                    vm_name.ToCString());
+  AddNameProperties(&jsobj, scrubbed_name.ToCString(), vm_name.ToCString());
   if (ref) {
     return;
   }
@@ -260,16 +258,16 @@
   }
   if (id != -1) {
     ASSERT(selector != NULL);
-    jsobj.AddFixedServiceId("classes/%" Pd "/%s/%" Pd "",
-                            cls.id(), selector, id);
+    jsobj.AddFixedServiceId("classes/%" Pd "/%s/%" Pd "", cls.id(), selector,
+                            id);
     return;
   }
   // Regular functions known to their owner use their name (percent-encoded).
   String& name = String::Handle(f.name());
   if (cls.LookupFunction(name) == f.raw()) {
     const char* encoded_name = String::EncodeIRI(name);
-    jsobj.AddFixedServiceId("classes/%" Pd "/functions/%s",
-                            cls.id(), encoded_name);
+    jsobj.AddFixedServiceId("classes/%" Pd "/functions/%s", cls.id(),
+                            encoded_name);
     return;
   }
   // Oddball functions (not known to their owner) fall back to use the object
@@ -356,8 +354,8 @@
   String& field_name = String::Handle(name());
   const char* encoded_field_name = String::EncodeIRI(field_name);
   AddCommonObjectProperties(&jsobj, "Field", ref);
-  jsobj.AddFixedServiceId("classes/%" Pd "/fields/%s",
-                          cls.id(), encoded_field_name);
+  jsobj.AddFixedServiceId("classes/%" Pd "/fields/%s", cls.id(),
+                          encoded_field_name);
 
   const String& user_name = String::Handle(UserVisibleName());
   const String& vm_name = String::Handle(name());
@@ -442,8 +440,7 @@
     jsobj.AddServiceId(*this);
   } else {
     jsobj.AddFixedServiceId("libraries/%" Pd "/scripts/%s/%" Px64 "",
-                            lib.index(), encoded_uri,
-                            load_timestamp());
+                            lib.index(), encoded_uri, load_timestamp());
   }
   jsobj.AddPropertyStr("uri", uri);
   jsobj.AddProperty("_kind", GetKindAsCString());
@@ -656,23 +653,23 @@
       JSONObject jsentry(stream);
       jsentry.AddProperty("offset", OffsetFromIndex(i));
       switch (InfoAt(i)) {
-      case ObjectPool::kTaggedObject:
-        obj = ObjectAt(i);
-        jsentry.AddProperty("kind", "Object");
-        jsentry.AddProperty("value", obj);
-        break;
-      case ObjectPool::kImmediate:
-        imm = RawValueAt(i);
-        jsentry.AddProperty("kind", "Immediate");
-        jsentry.AddProperty64("value", imm);
-        break;
-      case ObjectPool::kNativeEntry:
-        imm = RawValueAt(i);
-        jsentry.AddProperty("kind", "NativeEntry");
-        jsentry.AddProperty64("value", imm);
-        break;
-      default:
-        UNREACHABLE();
+        case ObjectPool::kTaggedObject:
+          obj = ObjectAt(i);
+          jsentry.AddProperty("kind", "Object");
+          jsentry.AddProperty("value", obj);
+          break;
+        case ObjectPool::kImmediate:
+          imm = RawValueAt(i);
+          jsentry.AddProperty("kind", "Immediate");
+          jsentry.AddProperty64("value", imm);
+          break;
+        case ObjectPool::kNativeEntry:
+          imm = RawValueAt(i);
+          jsentry.AddProperty("kind", "NativeEntry");
+          jsentry.AddProperty64("value", imm);
+          break;
+        default:
+          UNREACHABLE();
       }
     }
   }
@@ -717,8 +714,7 @@
 }
 
 
-void LocalVarDescriptors::PrintJSONImpl(JSONStream* stream,
-                                        bool ref) const {
+void LocalVarDescriptors::PrintJSONImpl(JSONStream* stream, bool ref) const {
   JSONObject jsobj(stream);
   AddCommonObjectProperties(&jsobj, "Object", ref);
   // TODO(johnmccutchan): Generate a stable id. LocalVarDescriptors hang off
@@ -745,8 +741,7 @@
 }
 
 
-void ExceptionHandlers::PrintJSONImpl(JSONStream* stream,
-                                      bool ref) const {
+void ExceptionHandlers::PrintJSONImpl(JSONStream* stream, bool ref) const {
   Object::PrintJSONImpl(stream, ref);
 }
 
@@ -807,8 +802,7 @@
 void Code::PrintJSONImpl(JSONStream* stream, bool ref) const {
   JSONObject jsobj(stream);
   AddCommonObjectProperties(&jsobj, "Code", ref);
-  jsobj.AddFixedServiceId("code/%" Px64"-%" Px "",
-                          compile_timestamp(),
+  jsobj.AddFixedServiceId("code/%" Px64 "-%" Px "", compile_timestamp(),
                           PayloadStart());
   const char* qualified_name = QualifiedName();
   const char* vm_name = Name();
@@ -981,8 +975,7 @@
 }
 
 
-void UnhandledException::PrintJSONImpl(JSONStream* stream,
-                                       bool ref) const {
+void UnhandledException::PrintJSONImpl(JSONStream* stream, bool ref) const {
   JSONObject jsobj(stream);
   AddCommonObjectProperties(&jsobj, "Error", ref);
   jsobj.AddProperty("kind", "UnhandledException");
@@ -1010,8 +1003,7 @@
 }
 
 
-void Instance::PrintSharedInstanceJSON(JSONObject* jsobj,
-                                       bool ref) const {
+void Instance::PrintSharedInstanceJSON(JSONObject* jsobj, bool ref) const {
   AddCommonObjectProperties(jsobj, "Instance", ref);
   if (ref) {
     return;
@@ -1311,8 +1303,7 @@
 }
 
 
-void GrowableObjectArray::PrintJSONImpl(JSONStream* stream,
-                                        bool ref) const {
+void GrowableObjectArray::PrintJSONImpl(JSONStream* stream, bool ref) const {
   JSONObject jsobj(stream);
   PrintSharedInstanceJSON(&jsobj, ref);
   jsobj.AddProperty("kind", "List");
@@ -1433,16 +1424,14 @@
     jsobj.AddProperty("bytes", "");
   } else {
     NoSafepointScope no_safepoint;
-    jsobj.AddPropertyBase64("bytes",
-                            reinterpret_cast<const uint8_t*>(
-                                DataAddr(offset * ElementSizeInBytes())),
+    jsobj.AddPropertyBase64("bytes", reinterpret_cast<const uint8_t*>(DataAddr(
+                                         offset * ElementSizeInBytes())),
                             count * ElementSizeInBytes());
   }
 }
 
 
-void ExternalTypedData::PrintJSONImpl(JSONStream* stream,
-                                      bool ref) const {
+void ExternalTypedData::PrintJSONImpl(JSONStream* stream, bool ref) const {
   JSONObject jsobj(stream);
   PrintSharedInstanceJSON(&jsobj, ref);
   const Class& cls = Class::Handle(clazz());
@@ -1466,9 +1455,8 @@
     jsobj.AddProperty("bytes", "");
   } else {
     NoSafepointScope no_safepoint;
-    jsobj.AddPropertyBase64("bytes",
-                            reinterpret_cast<const uint8_t*>(
-                                DataAddr(offset * ElementSizeInBytes())),
+    jsobj.AddPropertyBase64("bytes", reinterpret_cast<const uint8_t*>(DataAddr(
+                                         offset * ElementSizeInBytes())),
                             count * ElementSizeInBytes());
   }
 }
diff --git a/runtime/vm/object_set.h b/runtime/vm/object_set.h
index f4031fb..a153377 100644
--- a/runtime/vm/object_set.h
+++ b/runtime/vm/object_set.h
@@ -19,8 +19,7 @@
       : start_(start),
         end_(end),
         bit_vector_(zone, (end - start) >> kWordSizeLog2),
-        next_(NULL) {
-  }
+        next_(NULL) {}
 
   bool ContainsAddress(uword address) {
     return address >= start_ && address < end_;
@@ -31,9 +30,7 @@
     return (address - start_) >> kWordSizeLog2;
   }
 
-  void AddObject(uword address) {
-    bit_vector_.Add(IndexForAddress(address));
-  }
+  void AddObject(uword address) { bit_vector_.Add(IndexForAddress(address)); }
 
   bool ContainsObject(uword address) {
     return bit_vector_.Contains(IndexForAddress(address));
@@ -51,18 +48,17 @@
 
 class ObjectSet : public ZoneAllocated {
  public:
-  explicit ObjectSet(Zone* zone) : zone_(zone), head_(NULL) { }
+  explicit ObjectSet(Zone* zone) : zone_(zone), head_(NULL) {}
 
   void AddRegion(uword start, uword end) {
-    ObjectSetRegion* region = new(zone_) ObjectSetRegion(zone_, start, end);
+    ObjectSetRegion* region = new (zone_) ObjectSetRegion(zone_, start, end);
     region->set_next(head_);
     head_ = region;
   }
 
   bool Contains(RawObject* raw_obj) const {
     uword raw_addr = RawObject::ToAddr(raw_obj);
-    for (ObjectSetRegion* region = head_;
-         region != NULL;
+    for (ObjectSetRegion* region = head_; region != NULL;
          region = region->next()) {
       if (region->ContainsAddress(raw_addr)) {
         return region->ContainsObject(raw_addr);
@@ -73,8 +69,7 @@
 
   void Add(RawObject* raw_obj) {
     uword raw_addr = RawObject::ToAddr(raw_obj);
-    for (ObjectSetRegion* region = head_;
-         region != NULL;
+    for (ObjectSetRegion* region = head_; region != NULL;
          region = region->next()) {
       if (region->ContainsAddress(raw_addr)) {
         return region->AddObject(raw_addr);
diff --git a/runtime/vm/object_store.cc b/runtime/vm/object_store.cc
index 8812a8e..a4e4958 100644
--- a/runtime/vm/object_store.cc
+++ b/runtime/vm/object_store.cc
@@ -15,99 +15,98 @@
 namespace dart {
 
 ObjectStore::ObjectStore()
-  : object_class_(Class::null()),
-    object_type_(Type::null()),
-    null_class_(Class::null()),
-    null_type_(Type::null()),
-    function_type_(Type::null()),
-    closure_class_(Class::null()),
-    number_type_(Type::null()),
-    int_type_(Type::null()),
-    integer_implementation_class_(Class::null()),
-    smi_class_(Class::null()),
-    smi_type_(Type::null()),
-    mint_class_(Class::null()),
-    mint_type_(Type::null()),
-    bigint_class_(Class::null()),
-    double_class_(Class::null()),
-    double_type_(Type::null()),
-    float32x4_type_(Type::null()),
-    int32x4_type_(Type::null()),
-    float64x2_type_(Type::null()),
-    string_type_(Type::null()),
-    compiletime_error_class_(Class::null()),
-    future_class_(Class::null()),
-    completer_class_(Class::null()),
-    stream_iterator_class_(Class::null()),
-    symbol_class_(Class::null()),
-    one_byte_string_class_(Class::null()),
-    two_byte_string_class_(Class::null()),
-    external_one_byte_string_class_(Class::null()),
-    external_two_byte_string_class_(Class::null()),
-    bool_type_(Type::null()),
-    bool_class_(Class::null()),
-    array_class_(Class::null()),
-    array_type_(Type::null()),
-    immutable_array_class_(Class::null()),
-    growable_object_array_class_(Class::null()),
-    linked_hash_map_class_(Class::null()),
-    float32x4_class_(Class::null()),
-    int32x4_class_(Class::null()),
-    float64x2_class_(Class::null()),
-    error_class_(Class::null()),
-    weak_property_class_(Class::null()),
-    symbol_table_(Array::null()),
-    canonical_types_(Array::null()),
-    canonical_type_arguments_(Array::null()),
-    async_library_(Library::null()),
-    builtin_library_(Library::null()),
-    core_library_(Library::null()),
-    collection_library_(Library::null()),
-    convert_library_(Library::null()),
-    developer_library_(Library::null()),
-    internal_library_(Library::null()),
-    isolate_library_(Library::null()),
-    math_library_(Library::null()),
-    mirrors_library_(Library::null()),
-    native_wrappers_library_(Library::null()),
-    profiler_library_(Library::null()),
-    root_library_(Library::null()),
-    typed_data_library_(Library::null()),
-    vmservice_library_(Library::null()),
-    libraries_(GrowableObjectArray::null()),
-    libraries_map_(Array::null()),
-    closure_functions_(GrowableObjectArray::null()),
-    pending_classes_(GrowableObjectArray::null()),
-    pending_deferred_loads_(GrowableObjectArray::null()),
-    resume_capabilities_(GrowableObjectArray::null()),
-    exit_listeners_(GrowableObjectArray::null()),
-    error_listeners_(GrowableObjectArray::null()),
-    empty_context_(Context::null()),
-    stack_overflow_(Instance::null()),
-    out_of_memory_(Instance::null()),
-    preallocated_unhandled_exception_(UnhandledException::null()),
-    preallocated_stack_trace_(Stacktrace::null()),
-    lookup_port_handler_(Function::null()),
-    empty_uint32_array_(TypedData::null()),
-    handle_message_function_(Function::null()),
-    simple_instance_of_function_(Function::null()),
-    simple_instance_of_true_function_(Function::null()),
-    simple_instance_of_false_function_(Function::null()),
-    library_load_error_table_(Array::null()),
-    unique_dynamic_targets_(Array::null()),
-    token_objects_(GrowableObjectArray::null()),
-    token_objects_map_(Array::null()),
-    megamorphic_cache_table_(GrowableObjectArray::null()),
-    megamorphic_miss_code_(Code::null()),
-    megamorphic_miss_function_(Function::null()) {
+    : object_class_(Class::null()),
+      object_type_(Type::null()),
+      null_class_(Class::null()),
+      null_type_(Type::null()),
+      function_type_(Type::null()),
+      closure_class_(Class::null()),
+      number_type_(Type::null()),
+      int_type_(Type::null()),
+      integer_implementation_class_(Class::null()),
+      smi_class_(Class::null()),
+      smi_type_(Type::null()),
+      mint_class_(Class::null()),
+      mint_type_(Type::null()),
+      bigint_class_(Class::null()),
+      double_class_(Class::null()),
+      double_type_(Type::null()),
+      float32x4_type_(Type::null()),
+      int32x4_type_(Type::null()),
+      float64x2_type_(Type::null()),
+      string_type_(Type::null()),
+      compiletime_error_class_(Class::null()),
+      future_class_(Class::null()),
+      completer_class_(Class::null()),
+      stream_iterator_class_(Class::null()),
+      symbol_class_(Class::null()),
+      one_byte_string_class_(Class::null()),
+      two_byte_string_class_(Class::null()),
+      external_one_byte_string_class_(Class::null()),
+      external_two_byte_string_class_(Class::null()),
+      bool_type_(Type::null()),
+      bool_class_(Class::null()),
+      array_class_(Class::null()),
+      array_type_(Type::null()),
+      immutable_array_class_(Class::null()),
+      growable_object_array_class_(Class::null()),
+      linked_hash_map_class_(Class::null()),
+      float32x4_class_(Class::null()),
+      int32x4_class_(Class::null()),
+      float64x2_class_(Class::null()),
+      error_class_(Class::null()),
+      weak_property_class_(Class::null()),
+      symbol_table_(Array::null()),
+      canonical_types_(Array::null()),
+      canonical_type_arguments_(Array::null()),
+      async_library_(Library::null()),
+      builtin_library_(Library::null()),
+      core_library_(Library::null()),
+      collection_library_(Library::null()),
+      convert_library_(Library::null()),
+      developer_library_(Library::null()),
+      _internal_library_(Library::null()),
+      isolate_library_(Library::null()),
+      math_library_(Library::null()),
+      mirrors_library_(Library::null()),
+      native_wrappers_library_(Library::null()),
+      profiler_library_(Library::null()),
+      root_library_(Library::null()),
+      typed_data_library_(Library::null()),
+      _vmservice_library_(Library::null()),
+      libraries_(GrowableObjectArray::null()),
+      libraries_map_(Array::null()),
+      closure_functions_(GrowableObjectArray::null()),
+      pending_classes_(GrowableObjectArray::null()),
+      pending_deferred_loads_(GrowableObjectArray::null()),
+      resume_capabilities_(GrowableObjectArray::null()),
+      exit_listeners_(GrowableObjectArray::null()),
+      error_listeners_(GrowableObjectArray::null()),
+      empty_context_(Context::null()),
+      stack_overflow_(Instance::null()),
+      out_of_memory_(Instance::null()),
+      preallocated_unhandled_exception_(UnhandledException::null()),
+      preallocated_stack_trace_(Stacktrace::null()),
+      lookup_port_handler_(Function::null()),
+      empty_uint32_array_(TypedData::null()),
+      handle_message_function_(Function::null()),
+      simple_instance_of_function_(Function::null()),
+      simple_instance_of_true_function_(Function::null()),
+      simple_instance_of_false_function_(Function::null()),
+      library_load_error_table_(Array::null()),
+      unique_dynamic_targets_(Array::null()),
+      token_objects_(GrowableObjectArray::null()),
+      token_objects_map_(Array::null()),
+      megamorphic_cache_table_(GrowableObjectArray::null()),
+      megamorphic_miss_code_(Code::null()),
+      megamorphic_miss_function_(Function::null()) {
   for (RawObject** current = from(); current <= to(); current++) {
     ASSERT(*current == Object::null());
   }
 }
 
 
-ObjectStore::~ObjectStore() {
-}
+ObjectStore::~ObjectStore() {}
 
 
 void ObjectStore::VisitObjectPointers(ObjectPointerVisitor* visitor) {
@@ -134,9 +133,9 @@
     JSONObject fields(jsobj, "fields");
     Object& value = Object::Handle();
 #define PRINT_OBJECT_STORE_FIELD(type, name)                                   \
-    value = name;                                                              \
-    fields.AddProperty(#name, value);
-OBJECT_STORE_FIELD_LIST(PRINT_OBJECT_STORE_FIELD);
+  value = name;                                                                \
+  fields.AddProperty(#name, value);
+    OBJECT_STORE_FIELD_LIST(PRINT_OBJECT_STORE_FIELD);
 #undef PRINT_OBJECT_STORE_FIELD
   }
 }
@@ -167,19 +166,17 @@
   Object& result = Object::Handle();
   const Library& library = Library::Handle(Library::CoreLibrary());
 
-  result = DartLibraryCalls::InstanceCreate(library,
-                                            Symbols::StackOverflowError(),
-                                            Symbols::Dot(),
-                                            Object::empty_array());
+  result =
+      DartLibraryCalls::InstanceCreate(library, Symbols::StackOverflowError(),
+                                       Symbols::Dot(), Object::empty_array());
   if (result.IsError()) {
     return Error::Cast(result).raw();
   }
   set_stack_overflow(Instance::Cast(result));
 
-  result = DartLibraryCalls::InstanceCreate(library,
-                                            Symbols::OutOfMemoryError(),
-                                            Symbols::Dot(),
-                                            Object::empty_array());
+  result =
+      DartLibraryCalls::InstanceCreate(library, Symbols::OutOfMemoryError(),
+                                       Symbols::Dot(), Object::empty_array());
   if (result.IsError()) {
     return Error::Cast(result).raw();
   }
@@ -187,17 +184,17 @@
 
   // Allocate pre-allocated unhandled exception object initialized with the
   // pre-allocated OutOfMemoryError.
-  const UnhandledException& unhandled_exception = UnhandledException::Handle(
-      UnhandledException::New(Instance::Cast(result),
-                              Stacktrace::Handle(zone)));
+  const UnhandledException& unhandled_exception =
+      UnhandledException::Handle(UnhandledException::New(
+          Instance::Cast(result), Stacktrace::Handle(zone)));
   set_preallocated_unhandled_exception(unhandled_exception);
 
-  const Array& code_array = Array::Handle(zone,
-      Array::New(Stacktrace::kPreallocatedStackdepth, Heap::kOld));
-  const Array& pc_offset_array = Array::Handle(zone,
-      Array::New(Stacktrace::kPreallocatedStackdepth, Heap::kOld));
-  const Stacktrace& stack_trace = Stacktrace::Handle(zone,
-      Stacktrace::New(code_array, pc_offset_array));
+  const Array& code_array = Array::Handle(
+      zone, Array::New(Stacktrace::kPreallocatedStackdepth, Heap::kOld));
+  const Array& pc_offset_array = Array::Handle(
+      zone, Array::New(Stacktrace::kPreallocatedStackdepth, Heap::kOld));
+  const Stacktrace& stack_trace =
+      Stacktrace::Handle(zone, Stacktrace::New(code_array, pc_offset_array));
   // Expansion of inlined functions requires additional memory at run time,
   // avoid it.
   stack_trace.set_expand_inlined(false);
@@ -240,7 +237,7 @@
   ASSERT(!cls.IsNull());
   set_stream_iterator_class(cls);
 
-  const Library& internal_lib = Library::Handle(internal_library());
+  const Library& internal_lib = Library::Handle(_internal_library());
   cls = internal_lib.LookupClass(Symbols::Symbol());
   set_symbol_class(cls);
 
diff --git a/runtime/vm/object_store.h b/runtime/vm/object_store.h
index 0ff6a8e..8be015e 100644
--- a/runtime/vm/object_store.h
+++ b/runtime/vm/object_store.h
@@ -13,6 +13,32 @@
 class Isolate;
 class ObjectPointerVisitor;
 
+// A list of the bootstrap libraries including CamelName and name.
+//
+// These are listed in the order that they are compiled (see vm/bootstrap.cc).
+#define FOR_EACH_PRODUCT_LIBRARY(M)                                            \
+  M(Core, core)                                                                \
+  M(Async, async)                                                              \
+  M(Collection, collection)                                                    \
+  M(Convert, convert)                                                          \
+  M(Developer, developer)                                                      \
+  M(Internal, _internal)                                                       \
+  M(Isolate, isolate)                                                          \
+  M(Math, math)                                                                \
+  M(Profiler, profiler)                                                        \
+  M(TypedData, typed_data)                                                     \
+  M(VMService, _vmservice)
+
+#ifdef PRODUCT
+#define FOR_EACH_BOOTSTRAP_LIBRARY(M) FOR_EACH_PRODUCT_LIBRARY(M)
+
+#else
+#define FOR_EACH_BOOTSTRAP_LIBRARY(M)                                          \
+  FOR_EACH_PRODUCT_LIBRARY(M)                                                  \
+  M(Mirrors, mirrors)
+
+#endif
+
 // The object store is a per isolate instance which stores references to
 // objects used by the VM.
 // TODO(iposva): Move the actual store into the object heap for quick handling
@@ -20,19 +46,10 @@
 class ObjectStore {
  public:
   enum BootstrapLibraryId {
-    kNone = 0,
-    kAsync,
-    kCore,
-    kCollection,
-    kConvert,
-    kDeveloper,
-    kInternal,
-    kIsolate,
-    kMath,
-    kMirrors,
-    kProfiler,
-    kTypedData,
-    kVMService,
+#define MAKE_ID(Name, _) k##Name,
+
+    FOR_EACH_BOOTSTRAP_LIBRARY(MAKE_ID)
+#undef MAKE_ID
   };
 
   ~ObjectStore();
@@ -47,9 +64,7 @@
   }
 
   RawType* object_type() const { return object_type_; }
-  void set_object_type(const Type& value) {
-    object_type_ = value.raw();
-  }
+  void set_object_type(const Type& value) { object_type_ = value.raw(); }
 
   RawClass* null_class() const {
     ASSERT(null_class_ != Object::null());
@@ -58,29 +73,19 @@
   void set_null_class(const Class& value) { null_class_ = value.raw(); }
 
   RawType* null_type() const { return null_type_; }
-  void set_null_type(const Type& value) {
-    null_type_ = value.raw();
-  }
+  void set_null_type(const Type& value) { null_type_ = value.raw(); }
 
   RawType* function_type() const { return function_type_; }
-  void set_function_type(const Type& value) {
-    function_type_ = value.raw();
-  }
+  void set_function_type(const Type& value) { function_type_ = value.raw(); }
 
   RawClass* closure_class() const { return closure_class_; }
-  void set_closure_class(const Class& value) {
-    closure_class_ = value.raw();
-  }
+  void set_closure_class(const Class& value) { closure_class_ = value.raw(); }
 
   RawType* number_type() const { return number_type_; }
-  void set_number_type(const Type& value) {
-    number_type_ = value.raw();
-  }
+  void set_number_type(const Type& value) { number_type_ = value.raw(); }
 
   RawType* int_type() const { return int_type_; }
-  void set_int_type(const Type& value) {
-    int_type_ = value.raw();
-  }
+  void set_int_type(const Type& value) { int_type_ = value.raw(); }
   static intptr_t int_type_offset() {
     return OFFSET_OF(ObjectStore, int_type_);
   }
@@ -117,24 +122,18 @@
   void set_bigint_class(const Class& value) { bigint_class_ = value.raw(); }
 
   RawType* string_type() const { return string_type_; }
-  void set_string_type(const Type& value) {
-    string_type_ = value.raw();
-  }
+  void set_string_type(const Type& value) { string_type_ = value.raw(); }
   static intptr_t string_type_offset() {
     return OFFSET_OF(ObjectStore, string_type_);
   }
 
-  RawClass* compiletime_error_class() const {
-    return compiletime_error_class_;
-  }
+  RawClass* compiletime_error_class() const { return compiletime_error_class_; }
   void set_compiletime_error_class(const Class& value) {
     compiletime_error_class_ = value.raw();
   }
 
   RawClass* future_class() const { return future_class_; }
-  void set_future_class(const Class& value) {
-    future_class_ = value.raw();
-  }
+  void set_future_class(const Class& value) { future_class_ = value.raw(); }
 
   RawClass* completer_class() const { return completer_class_; }
   void set_completer_class(const Class& value) {
@@ -147,9 +146,7 @@
   }
 
   RawClass* symbol_class() { return symbol_class_; }
-  void set_symbol_class(const Class& value) {
-    symbol_class_ = value.raw();
-  }
+  void set_symbol_class(const Class& value) { symbol_class_ = value.raw(); }
 
   RawClass* one_byte_string_class() const { return one_byte_string_class_; }
   void set_one_byte_string_class(const Class& value) {
@@ -205,16 +202,12 @@
     return OFFSET_OF(ObjectStore, growable_object_array_class_);
   }
 
-  RawClass* linked_hash_map_class() const {
-    return linked_hash_map_class_;
-  }
+  RawClass* linked_hash_map_class() const { return linked_hash_map_class_; }
   void set_linked_hash_map_class(const Class& value) {
     linked_hash_map_class_ = value.raw();
   }
 
-  RawClass* float32x4_class() const {
-    return float32x4_class_;
-  }
+  RawClass* float32x4_class() const { return float32x4_class_; }
   void set_float32x4_class(const Class& value) {
     float32x4_class_ = value.raw();
   }
@@ -222,19 +215,13 @@
   RawType* float32x4_type() const { return float32x4_type_; }
   void set_float32x4_type(const Type& value) { float32x4_type_ = value.raw(); }
 
-  RawClass* int32x4_class() const {
-    return int32x4_class_;
-  }
-  void set_int32x4_class(const Class& value) {
-    int32x4_class_ = value.raw();
-  }
+  RawClass* int32x4_class() const { return int32x4_class_; }
+  void set_int32x4_class(const Class& value) { int32x4_class_ = value.raw(); }
 
   RawType* int32x4_type() const { return int32x4_type_; }
   void set_int32x4_type(const Type& value) { int32x4_type_ = value.raw(); }
 
-  RawClass* float64x2_class() const {
-    return float64x2_class_;
-  }
+  RawClass* float64x2_class() const { return float64x2_class_; }
   void set_float64x2_class(const Class& value) {
     float64x2_class_ = value.raw();
   }
@@ -242,19 +229,13 @@
   RawType* float64x2_type() const { return float64x2_type_; }
   void set_float64x2_type(const Type& value) { float64x2_type_ = value.raw(); }
 
-  RawClass* error_class() const {
-    return error_class_;
-  }
-  void set_error_class(const Class& value) {
-    error_class_ = value.raw();
-  }
+  RawClass* error_class() const { return error_class_; }
+  void set_error_class(const Class& value) { error_class_ = value.raw(); }
   static intptr_t error_class_offset() {
     return OFFSET_OF(ObjectStore, error_class_);
   }
 
-  RawClass* weak_property_class() const {
-    return weak_property_class_;
-  }
+  RawClass* weak_property_class() const { return weak_property_class_; }
   void set_weak_property_class(const Class& value) {
     weak_property_class_ = value.raw();
   }
@@ -262,9 +243,7 @@
   RawArray* symbol_table() const { return symbol_table_; }
   void set_symbol_table(const Array& value) { symbol_table_ = value.raw(); }
 
-  RawArray* canonical_types() const {
-    return canonical_types_;
-  }
+  RawArray* canonical_types() const { return canonical_types_; }
   void set_canonical_types(const Array& value) {
     canonical_types_ = value.raw();
   }
@@ -276,58 +255,36 @@
     canonical_type_arguments_ = value.raw();
   }
 
-  RawLibrary* async_library() const { return async_library_; }
-  RawLibrary* builtin_library() const { return builtin_library_; }
-  RawLibrary* core_library() const { return core_library_; }
-  RawLibrary* collection_library() const { return collection_library_; }
-  RawLibrary* convert_library() const { return convert_library_; }
-  RawLibrary* developer_library() const { return developer_library_; }
-  RawLibrary* internal_library() const { return internal_library_; }
-  RawLibrary* isolate_library() const { return isolate_library_; }
-  RawLibrary* math_library() const { return math_library_; }
-  RawLibrary* mirrors_library() const { return mirrors_library_; }
-  RawLibrary* profiler_library() const { return profiler_library_; }
-  RawLibrary* typed_data_library() const { return typed_data_library_; }
-  RawLibrary* vmservice_library() const { return vmservice_library_; }
+#define MAKE_GETTER(_, name)                                                   \
+  RawLibrary* name##_library() const { return name##_library_; }
+
+  FOR_EACH_BOOTSTRAP_LIBRARY(MAKE_GETTER)
+#undef MAKE_GETTER
+
+  RawLibrary* bootstrap_library(BootstrapLibraryId index) {
+    switch (index) {
+#define MAKE_CASE(CamelName, name)                                             \
+  case k##CamelName:                                                           \
+    return name##_library_;
+
+      FOR_EACH_BOOTSTRAP_LIBRARY(MAKE_CASE)
+#undef MAKE_CASE
+
+      default:
+        UNREACHABLE();
+        return Library::null();
+    }
+  }
 
   void set_bootstrap_library(BootstrapLibraryId index, const Library& value) {
     switch (index) {
-      case kAsync:
-        async_library_ = value.raw();
-        break;
-      case kCore:
-        core_library_ = value.raw();
-        break;
-      case kCollection:
-        collection_library_ = value.raw();
-        break;
-      case kConvert:
-        convert_library_ = value.raw();
-        break;
-      case kDeveloper:
-        developer_library_ = value.raw();
-        break;
-      case kInternal:
-        internal_library_ = value.raw();
-        break;
-      case kIsolate:
-        isolate_library_ = value.raw();
-        break;
-      case kMath:
-        math_library_ = value.raw();
-        break;
-      case kMirrors:
-        mirrors_library_ = value.raw();
-        break;
-      case kProfiler:
-        profiler_library_ = value.raw();
-        break;
-      case kTypedData:
-        typed_data_library_ = value.raw();
-        break;
-      case kVMService:
-        vmservice_library_ = value.raw();
-        break;
+#define MAKE_CASE(CamelName, name)                                             \
+  case k##CamelName:                                                           \
+    name##_library_ = value.raw();                                             \
+    break;
+
+      FOR_EACH_BOOTSTRAP_LIBRARY(MAKE_CASE)
+#undef MAKE_CASE
       default:
         UNREACHABLE();
     }
@@ -345,9 +302,7 @@
   }
 
   RawLibrary* root_library() const { return root_library_; }
-  void set_root_library(const Library& value) {
-    root_library_ = value.raw();
-  }
+  void set_root_library(const Library& value) { root_library_ = value.raw(); }
 
   RawGrowableObjectArray* libraries() const { return libraries_; }
   void set_libraries(const GrowableObjectArray& value) {
@@ -355,9 +310,7 @@
   }
 
   RawArray* libraries_map() const { return libraries_map_; }
-  void set_libraries_map(const Array& value) {
-    libraries_map_ = value.raw();
-  }
+  void set_libraries_map(const Array& value) { libraries_map_ = value.raw(); }
 
   RawGrowableObjectArray* closure_functions() const {
     return closure_functions_;
@@ -384,18 +337,12 @@
     return resume_capabilities_;
   }
 
-  RawGrowableObjectArray* exit_listeners() const {
-    return exit_listeners_;
-  }
+  RawGrowableObjectArray* exit_listeners() const { return exit_listeners_; }
 
-  RawGrowableObjectArray* error_listeners() const {
-    return error_listeners_;
-  }
+  RawGrowableObjectArray* error_listeners() const { return error_listeners_; }
 
   RawContext* empty_context() const { return empty_context_; }
-  void set_empty_context(const Context& value) {
-    empty_context_ = value.raw();
-  }
+  void set_empty_context(const Context& value) { empty_context_ = value.raw(); }
 
   RawInstance* stack_overflow() const { return stack_overflow_; }
   void set_stack_overflow(const Instance& value) {
@@ -421,16 +368,12 @@
     preallocated_stack_trace_ = value.raw();
   }
 
-  RawFunction* lookup_port_handler() const {
-    return lookup_port_handler_;
-  }
+  RawFunction* lookup_port_handler() const { return lookup_port_handler_; }
   void set_lookup_port_handler(const Function& function) {
     lookup_port_handler_ = function.raw();
   }
 
-  RawTypedData* empty_uint32_array() const {
-    return empty_uint32_array_;
-  }
+  RawTypedData* empty_uint32_array() const { return empty_uint32_array_; }
   void set_empty_uint32_array(const TypedData& array) {
     // Only set once.
     ASSERT(empty_uint32_array_ == TypedData::null());
@@ -455,23 +398,17 @@
     return OFFSET_OF(ObjectStore, library_load_error_table_);
   }
 
-  RawArray* unique_dynamic_targets() const {
-    return unique_dynamic_targets_;
-  }
+  RawArray* unique_dynamic_targets() const { return unique_dynamic_targets_; }
   void set_unique_dynamic_targets(const Array& value) {
     unique_dynamic_targets_ = value.raw();
   }
 
-  RawGrowableObjectArray* token_objects() const {
-    return token_objects_;
-  }
+  RawGrowableObjectArray* token_objects() const { return token_objects_; }
   void set_token_objects(const GrowableObjectArray& value) {
     token_objects_ = value.raw();
   }
 
-  RawArray* token_objects_map() const {
-    return token_objects_map_;
-  }
+  RawArray* token_objects_map() const { return token_objects_map_; }
   void set_token_objects_map(const Array& value) {
     token_objects_map_ = value.raw();
   }
@@ -482,9 +419,7 @@
   void set_megamorphic_cache_table(const GrowableObjectArray& value) {
     megamorphic_cache_table_ = value.raw();
   }
-  RawCode* megamorphic_miss_code() const {
-    return megamorphic_miss_code_;
-  }
+  RawCode* megamorphic_miss_code() const { return megamorphic_miss_code_; }
   RawFunction* megamorphic_miss_function() const {
     return megamorphic_miss_function_;
   }
@@ -577,7 +512,7 @@
   V(RawLibrary*, collection_library_)                                          \
   V(RawLibrary*, convert_library_)                                             \
   V(RawLibrary*, developer_library_)                                           \
-  V(RawLibrary*, internal_library_)                                            \
+  V(RawLibrary*, _internal_library_)                                           \
   V(RawLibrary*, isolate_library_)                                             \
   V(RawLibrary*, math_library_)                                                \
   V(RawLibrary*, mirrors_library_)                                             \
@@ -585,7 +520,7 @@
   V(RawLibrary*, profiler_library_)                                            \
   V(RawLibrary*, root_library_)                                                \
   V(RawLibrary*, typed_data_library_)                                          \
-  V(RawLibrary*, vmservice_library_)                                           \
+  V(RawLibrary*, _vmservice_library_)                                          \
   V(RawGrowableObjectArray*, libraries_)                                       \
   V(RawArray*, libraries_map_)                                                 \
   V(RawGrowableObjectArray*, closure_functions_)                               \
@@ -615,9 +550,8 @@
   // Please remember the last entry must be referred in the 'to' function below.
 
   RawObject** from() { return reinterpret_cast<RawObject**>(&object_class_); }
-#define DECLARE_OBJECT_STORE_FIELD(type, name)                                 \
-  type name;
-OBJECT_STORE_FIELD_LIST(DECLARE_OBJECT_STORE_FIELD)
+#define DECLARE_OBJECT_STORE_FIELD(type, name) type name;
+  OBJECT_STORE_FIELD_LIST(DECLARE_OBJECT_STORE_FIELD)
 #undef DECLARE_OBJECT_STORE_FIELD
   RawObject** to() {
     return reinterpret_cast<RawObject**>(&megamorphic_miss_function_);
diff --git a/runtime/vm/object_test.cc b/runtime/vm/object_test.cc
index 0cd21ea..c0ac1ad 100644
--- a/runtime/vm/object_test.cc
+++ b/runtime/vm/object_test.cc
@@ -62,14 +62,14 @@
   Function& function = Function::Handle();
   String& function_name = String::Handle();
   function_name = Symbols::New(thread, "foo");
-  function = Function::New(
-      function_name, RawFunction::kRegularFunction,
-      false, false, false, false, false, cls, TokenPosition::kMinSource);
+  function =
+      Function::New(function_name, RawFunction::kRegularFunction, false, false,
+                    false, false, false, cls, TokenPosition::kMinSource);
   functions.SetAt(0, function);
   function_name = Symbols::New(thread, "bar");
-  function = Function::New(
-      function_name, RawFunction::kRegularFunction,
-      false, false, false, false, false, cls, TokenPosition::kMinSource);
+  function =
+      Function::New(function_name, RawFunction::kRegularFunction, false, false,
+                    false, false, false, cls, TokenPosition::kMinSource);
 
   const int kNumFixedParameters = 2;
   const int kNumOptionalParameters = 3;
@@ -80,26 +80,26 @@
   functions.SetAt(1, function);
 
   function_name = Symbols::New(thread, "baz");
-  function = Function::New(
-      function_name, RawFunction::kRegularFunction,
-      false, false, false, false, false, cls, TokenPosition::kMinSource);
+  function =
+      Function::New(function_name, RawFunction::kRegularFunction, false, false,
+                    false, false, false, cls, TokenPosition::kMinSource);
   functions.SetAt(2, function);
 
   function_name = Symbols::New(thread, "Foo");
-  function = Function::New(
-      function_name, RawFunction::kRegularFunction,
-      true, false, false, false, false, cls, TokenPosition::kMinSource);
+  function =
+      Function::New(function_name, RawFunction::kRegularFunction, true, false,
+                    false, false, false, cls, TokenPosition::kMinSource);
 
   functions.SetAt(3, function);
   function_name = Symbols::New(thread, "Bar");
-  function = Function::New(
-      function_name, RawFunction::kRegularFunction,
-      true, false, false, false, false, cls, TokenPosition::kMinSource);
+  function =
+      Function::New(function_name, RawFunction::kRegularFunction, true, false,
+                    false, false, false, cls, TokenPosition::kMinSource);
   functions.SetAt(4, function);
   function_name = Symbols::New(thread, "BaZ");
-  function = Function::New(
-      function_name, RawFunction::kRegularFunction,
-      true, false, false, false, false, cls, TokenPosition::kMinSource);
+  function =
+      Function::New(function_name, RawFunction::kRegularFunction, true, false,
+                    false, false, false, cls, TokenPosition::kMinSource);
   functions.SetAt(5, function);
 
   // Setup the functions in the class.
@@ -142,12 +142,12 @@
 VM_TEST_CASE(TypeArguments) {
   const Type& type1 = Type::Handle(Type::Double());
   const Type& type2 = Type::Handle(Type::StringType());
-  const TypeArguments& type_arguments1 = TypeArguments::Handle(
-    TypeArguments::New(2));
+  const TypeArguments& type_arguments1 =
+      TypeArguments::Handle(TypeArguments::New(2));
   type_arguments1.SetTypeAt(0, type1);
   type_arguments1.SetTypeAt(1, type2);
-  const TypeArguments& type_arguments2 = TypeArguments::Handle(
-    TypeArguments::New(2));
+  const TypeArguments& type_arguments2 =
+      TypeArguments::Handle(TypeArguments::New(2));
   type_arguments2.SetTypeAt(0, type1);
   type_arguments2.SetTypeAt(1, type2);
   EXPECT_NE(type_arguments1.raw(), type_arguments2.raw());
@@ -165,8 +165,8 @@
   Zone* zone = Thread::Current()->zone();
   String& source = String::Handle(zone, String::New("= ( 9 , ."));
   String& private_key = String::Handle(zone, String::New(""));
-  const TokenStream& token_stream = TokenStream::Handle(
-      zone, TokenStream::New(source, private_key, false));
+  const TokenStream& token_stream =
+      TokenStream::Handle(zone, TokenStream::New(source, private_key, false));
   TokenStream::Iterator iterator(zone, token_stream, TokenPosition::kMinSource);
   iterator.Advance();  // Advance to '(' token.
   EXPECT_EQ(Token::kLPAREN, iterator.CurrentTokenKind());
@@ -182,36 +182,35 @@
 VM_TEST_CASE(GenerateExactSource) {
   // Verify the exact formatting of generated sources.
   const char* kScriptChars =
-  "\n"
-  "class A {\n"
-  "  static bar() { return 42; }\n"
-  "  static fly() { return 5; }\n"
-  "  void catcher(x) {\n"
-  "    try {\n"
-  "      if (x is! List) {\n"
-  "        for (int i = 0; i < x; i++) {\n"
-  "          fly();\n"
-  "          ++i;\n"
-  "        }\n"
-  "      } else {\n"
-  "        for (int i = 0; i < x; i--) {\n"
-  "          !fly();\n"
-  "          --i;\n"
-  "        }\n"
-  "      }\n"
-  "    } on Blah catch (a) {\n"
-  "      _print(17);\n"
-  "    } catch (e, s) {\n"
-  "      bar()\n"
-  "    }\n"
-  "  }\n"
-  "}\n";
+      "\n"
+      "class A {\n"
+      "  static bar() { return 42; }\n"
+      "  static fly() { return 5; }\n"
+      "  void catcher(x) {\n"
+      "    try {\n"
+      "      if (x is! List) {\n"
+      "        for (int i = 0; i < x; i++) {\n"
+      "          fly();\n"
+      "          ++i;\n"
+      "        }\n"
+      "      } else {\n"
+      "        for (int i = 0; i < x; i--) {\n"
+      "          !fly();\n"
+      "          --i;\n"
+      "        }\n"
+      "      }\n"
+      "    } on Blah catch (a) {\n"
+      "      _print(17);\n"
+      "    } catch (e, s) {\n"
+      "      bar()\n"
+      "    }\n"
+      "  }\n"
+      "}\n";
 
   String& url = String::Handle(String::New("dart-test:GenerateExactSource"));
   String& source = String::Handle(String::New(kScriptChars));
-  Script& script = Script::Handle(Script::New(url,
-                                              source,
-                                              RawScript::kScriptTag));
+  Script& script =
+      Script::Handle(Script::New(url, source, RawScript::kScriptTag));
   script.Tokenize(String::Handle(String::New("")));
   const TokenStream& tokens = TokenStream::Handle(script.tokens());
   const String& gen_source = String::Handle(tokens.GenerateSource());
@@ -221,23 +220,23 @@
 
 TEST_CASE(Class_ComputeEndTokenPos) {
   const char* kScript =
-  "\n"
-  "class A {\n"
-  "  /**\n"
-  "   * Description of foo().\n"
-  "   */\n"
-  "  foo(a) { return '''\"}'''; }\n"
-  "  // }\n"
-  "  var bar = '\\'}';\n"
-  "  var baz = \"${foo('}')}\";\n"
-  "}\n";
+      "\n"
+      "class A {\n"
+      "  /**\n"
+      "   * Description of foo().\n"
+      "   */\n"
+      "  foo(a) { return '''\"}'''; }\n"
+      "  // }\n"
+      "  var bar = '\\'}';\n"
+      "  var baz = \"${foo('}')}\";\n"
+      "}\n";
   Dart_Handle lib_h = TestCase::LoadTestScript(kScript, NULL);
   EXPECT_VALID(lib_h);
   Library& lib = Library::Handle();
   lib ^= Api::UnwrapHandle(lib_h);
   EXPECT(!lib.IsNull());
-  const Class& cls = Class::Handle(
-      lib.LookupClass(String::Handle(String::New("A"))));
+  const Class& cls =
+      Class::Handle(lib.LookupClass(String::Handle(String::New("A"))));
   EXPECT(!cls.IsNull());
   const TokenPosition end_token_pos = cls.ComputeEndTokenPos();
   const Script& scr = Script::Handle(cls.script());
@@ -313,7 +312,7 @@
   EXPECT(Smi::IsValid(0));
   EXPECT(Smi::IsValid(-15));
   EXPECT(Smi::IsValid(0xFFu));
-  // Upper two bits must be either 00 or 11.
+// Upper two bits must be either 00 or 11.
 #if defined(ARCH_IS_64_BIT)
   EXPECT(!Smi::IsValid(kMaxInt64));
   EXPECT(Smi::IsValid(0x3FFFFFFFFFFFFFFF));
@@ -345,10 +344,9 @@
   EXPECT_EQ(-1, c.CompareWith(mint1));
   EXPECT_EQ(1, c.CompareWith(mint2));
 
-  Bigint& big1 = Bigint::Handle(Bigint::NewFromCString(
-      "10000000000000000000"));
-  Bigint& big2 = Bigint::Handle(Bigint::NewFromCString(
-      "-10000000000000000000"));
+  Bigint& big1 = Bigint::Handle(Bigint::NewFromCString("10000000000000000000"));
+  Bigint& big2 =
+      Bigint::Handle(Bigint::NewFromCString("-10000000000000000000"));
   EXPECT_EQ(-1, a.CompareWith(big1));
   EXPECT_EQ(1, a.CompareWith(big2));
   EXPECT_EQ(-1, c.CompareWith(big1));
@@ -365,14 +363,13 @@
   EXPECT(abce.CompareTo(abcd) > 0);
 
   const int kMonkeyLen = 4;
-  const uint8_t monkey_utf8[kMonkeyLen] = { 0xf0, 0x9f, 0x90, 0xb5 };
+  const uint8_t monkey_utf8[kMonkeyLen] = {0xf0, 0x9f, 0x90, 0xb5};
   const String& monkey_face =
       String::Handle(String::FromUTF8(monkey_utf8, kMonkeyLen));
   const int kDogLen = 4;
   // 0x1f436 DOG FACE.
-  const uint8_t dog_utf8[kDogLen] = { 0xf0, 0x9f, 0x90, 0xb6 };
-  const String& dog_face =
-      String::Handle(String::FromUTF8(dog_utf8, kDogLen));
+  const uint8_t dog_utf8[kDogLen] = {0xf0, 0x9f, 0x90, 0xb6};
+  const String& dog_face = String::Handle(String::FromUTF8(dog_utf8, kDogLen));
   EXPECT_EQ(0, monkey_face.CompareTo(monkey_face));
   EXPECT_EQ(0, dog_face.CompareTo(dog_face));
   EXPECT(monkey_face.CompareTo(dog_face) < 0);
@@ -380,7 +377,7 @@
 
   const int kDominoLen = 4;
   // 0x1f036 DOMINO TILE HORIZONTAL-00-05.
-  const uint8_t domino_utf8[kDominoLen] = { 0xf0, 0x9f, 0x80, 0xb6 };
+  const uint8_t domino_utf8[kDominoLen] = {0xf0, 0x9f, 0x80, 0xb6};
   const String& domino =
       String::Handle(String::FromUTF8(domino_utf8, kDominoLen));
   EXPECT_EQ(0, domino.CompareTo(domino));
@@ -442,11 +439,11 @@
 
 VM_TEST_CASE(StringIRITwoByte) {
   const intptr_t kInputLen = 3;
-  const uint16_t kInput[kInputLen] = { 'x', '/', 256 };
+  const uint16_t kInput[kInputLen] = {'x', '/', 256};
   const String& input = String::Handle(String::FromUTF16(kInput, kInputLen));
   const intptr_t kOutputLen = 10;
-  const uint16_t kOutput[kOutputLen] =
-      { 'x', '%', '2', 'F', '%', 'C', '4', '%', '8', '0' };
+  const uint16_t kOutput[kOutputLen] = {'x', '%', '2', 'F', '%',
+                                        'C', '4', '%', '8', '0'};
   const String& output = String::Handle(String::FromUTF16(kOutput, kOutputLen));
   const String& encoded = String::Handle(String::New(String::EncodeIRI(input)));
   EXPECT(output.Equals(encoded));
@@ -459,7 +456,8 @@
 // On 64-bit architectures a Smi is stored in a 64 bit word. A Midint cannot
 // be allocated if it does fit into a Smi.
 #if !defined(ARCH_IS_64_BIT)
-  { Mint& med = Mint::Handle();
+  {
+    Mint& med = Mint::Handle();
     EXPECT(med.IsNull());
     int64_t v = DART_2PART_UINT64_C(1, 0);
     med ^= Integer::New(v);
@@ -507,10 +505,9 @@
   EXPECT_EQ(-1, c.CompareWith(smi1));
   EXPECT_EQ(-1, c.CompareWith(smi2));
 
-  Bigint& big1 = Bigint::Handle(Bigint::NewFromCString(
-      "10000000000000000000"));
-  Bigint& big2 = Bigint::Handle(Bigint::NewFromCString(
-      "-10000000000000000000"));
+  Bigint& big1 = Bigint::Handle(Bigint::NewFromCString("10000000000000000000"));
+  Bigint& big2 =
+      Bigint::Handle(Bigint::NewFromCString("-10000000000000000000"));
   EXPECT_EQ(-1, a.CompareWith(big1));
   EXPECT_EQ(1, a.CompareWith(big2));
   EXPECT_EQ(-1, c.CompareWith(big1));
@@ -586,10 +583,10 @@
     EXPECT(nan0.IsIdenticalTo(nan0));
     EXPECT(nan0.CanonicalizeEquals(nan0));
     EXPECT(!nan0.OperatorEquals(nan0));
-    const Double& nan1 = Double::Handle(
-        Double::New(bit_cast<double>(kMaxUint64 - 0)));
-    const Double& nan2 = Double::Handle(
-        Double::New(bit_cast<double>(kMaxUint64 - 1)));
+    const Double& nan1 =
+        Double::Handle(Double::New(bit_cast<double>(kMaxUint64 - 0)));
+    const Double& nan2 =
+        Double::Handle(Double::New(bit_cast<double>(kMaxUint64 - 1)));
     EXPECT(isnan(nan1.value()));
     EXPECT(isnan(nan2.value()));
     EXPECT(!nan1.IsIdenticalTo(nan2));
@@ -628,12 +625,12 @@
   big = Bigint::NewFromCString("10000000000000000000");
   EXPECT_EQ(1e19, big.AsDoubleValue());
 
-  Bigint& big1 = Bigint::Handle(Bigint::NewFromCString(
-      "100000000000000000000"));
-  Bigint& big2 = Bigint::Handle(Bigint::NewFromCString(
-      "100000000000000000010"));
-  Bigint& big3 = Bigint::Handle(Bigint::NewFromCString(
-      "-10000000000000000000"));
+  Bigint& big1 =
+      Bigint::Handle(Bigint::NewFromCString("100000000000000000000"));
+  Bigint& big2 =
+      Bigint::Handle(Bigint::NewFromCString("100000000000000000010"));
+  Bigint& big3 =
+      Bigint::Handle(Bigint::NewFromCString("-10000000000000000000"));
 
   EXPECT_EQ(0, big1.CompareWith(big1));
   EXPECT_EQ(-1, big1.CompareWith(big2));
@@ -694,7 +691,7 @@
 
   const uint8_t* motto =
       reinterpret_cast<const uint8_t*>("Dart's bescht wos je hets gits");
-  const String& str2 = String::Handle(String::FromUTF8(motto+7, 4));
+  const String& str2 = String::Handle(String::FromUTF8(motto + 7, 4));
   EXPECT_EQ(4, str2.Length());
   EXPECT_EQ('b', str2.CharAt(0));
   EXPECT_EQ('e', str2.CharAt(1));
@@ -721,7 +718,7 @@
   EXPECT(empty1.Equals(empty2, 0, 0));
 
   const intptr_t kCharsLen = 8;
-  const uint8_t chars[kCharsLen] = { 1, 2, 127, 64, 92, 0, 55, 55 };
+  const uint8_t chars[kCharsLen] = {1, 2, 127, 64, 92, 0, 55, 55};
   const String& str8 = String::Handle(String::FromUTF8(chars, kCharsLen));
   EXPECT_EQ(kCharsLen, str8.Length());
   EXPECT_EQ(1, str8.CharAt(0));
@@ -740,9 +737,9 @@
   EXPECT_EQ(55, sub1.CharAt(4));
 
   const intptr_t kWideCharsLen = 7;
-  uint16_t wide_chars[kWideCharsLen] = { 'H', 'e', 'l', 'l', 'o', 256, '!' };
-  const String& two_str = String::Handle(String::FromUTF16(wide_chars,
-                                                           kWideCharsLen));
+  uint16_t wide_chars[kWideCharsLen] = {'H', 'e', 'l', 'l', 'o', 256, '!'};
+  const String& two_str =
+      String::Handle(String::FromUTF16(wide_chars, kWideCharsLen));
   EXPECT(two_str.IsInstance());
   EXPECT(two_str.IsString());
   EXPECT(two_str.IsTwoByteString());
@@ -766,7 +763,7 @@
     EXPECT_EQ(false, str1.StartsWith(str3));
   }
 
-  const int32_t four_chars[] = { 'C', 0xFF, 'h', 0xFFFF, 'a', 0x10FFFF, 'r' };
+  const int32_t four_chars[] = {'C', 0xFF, 'h', 0xFFFF, 'a', 0x10FFFF, 'r'};
   const String& four_str = String::Handle(String::FromUTF32(four_chars, 7));
   EXPECT_EQ(four_str.Hash(), four_str.Hash());
   EXPECT(four_str.IsTwoByteString());
@@ -783,7 +780,7 @@
 
   // Create a 1-byte string from an array of 2-byte elements.
   {
-    const uint16_t char16[] = { 0x00, 0x7F, 0xFF };
+    const uint16_t char16[] = {0x00, 0x7F, 0xFF};
     const String& str8 = String::Handle(String::FromUTF16(char16, 3));
     EXPECT(str8.IsOneByteString());
     EXPECT(!str8.IsTwoByteString());
@@ -794,7 +791,7 @@
 
   // Create a 1-byte string from an array of 4-byte elements.
   {
-    const int32_t char32[] = { 0x00, 0x1F, 0x7F };
+    const int32_t char32[] = {0x00, 0x1F, 0x7F};
     const String& str8 = String::Handle(String::FromUTF32(char32, 3));
     EXPECT(str8.IsOneByteString());
     EXPECT(!str8.IsTwoByteString());
@@ -805,7 +802,7 @@
 
   // Create a 2-byte string from an array of 4-byte elements.
   {
-    const int32_t char32[] = { 0, 0x7FFF, 0xFFFF };
+    const int32_t char32[] = {0, 0x7FFF, 0xFFFF};
     const String& str16 = String::Handle(String::FromUTF32(char32, 3));
     EXPECT(!str16.IsOneByteString());
     EXPECT(str16.IsTwoByteString());
@@ -1010,7 +1007,7 @@
     EXPECT(str1.IsOneByteString());
     EXPECT_EQ(0, str1.Length());
 
-    uint16_t two[] = { 0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9 };
+    uint16_t two[] = {0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9};
     intptr_t two_len = sizeof(two) / sizeof(two[0]);
     const String& str2 = String::Handle(String::FromUTF16(two, two_len));
     EXPECT(str2.IsTwoByteString());
@@ -1056,8 +1053,8 @@
     const String& str7 = String::Handle(String::ConcatAll(array3));
     EXPECT(str7.IsTwoByteString());
     EXPECT_EQ(two_len * 2, str7.Length());
-    uint16_t twotwo[] = { 0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9,
-                          0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9 };
+    uint16_t twotwo[] = {0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9,
+                         0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9};
     intptr_t twotwo_len = sizeof(twotwo) / sizeof(twotwo[0]);
     EXPECT(str7.IsTwoByteString());
     EXPECT(str7.Equals(twotwo, twotwo_len));
@@ -1065,13 +1062,13 @@
 
   // Concatenating non-empty 2-byte strings.
   {
-    const uint16_t one[] = { 0x05D0, 0x05D9, 0x05D9, 0x05DF };
+    const uint16_t one[] = {0x05D0, 0x05D9, 0x05D9, 0x05DF};
     intptr_t one_len = sizeof(one) / sizeof(one[0]);
     const String& str1 = String::Handle(String::FromUTF16(one, one_len));
     EXPECT(str1.IsTwoByteString());
     EXPECT_EQ(one_len, str1.Length());
 
-    const uint16_t two[] = { 0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9 };
+    const uint16_t two[] = {0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9};
     intptr_t two_len = sizeof(two) / sizeof(two[0]);
     const String& str2 = String::Handle(String::FromUTF16(two, two_len));
     EXPECT(str2.IsTwoByteString());
@@ -1081,16 +1078,16 @@
 
     const String& one_two_str = String::Handle(String::Concat(str1, str2));
     EXPECT(one_two_str.IsTwoByteString());
-    const uint16_t one_two[] = { 0x05D0, 0x05D9, 0x05D9, 0x05DF,
-                                 0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9 };
+    const uint16_t one_two[] = {0x05D0, 0x05D9, 0x05D9, 0x05DF, 0x05E6,
+                                0x05D5, 0x05D5, 0x05D9, 0x05D9};
     intptr_t one_two_len = sizeof(one_two) / sizeof(one_two[0]);
     EXPECT_EQ(one_two_len, one_two_str.Length());
     EXPECT(one_two_str.Equals(one_two, one_two_len));
 
     const String& two_one_str = String::Handle(String::Concat(str2, str1));
     EXPECT(two_one_str.IsTwoByteString());
-    const uint16_t two_one[] = { 0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9,
-                                 0x05D0, 0x05D9, 0x05D9, 0x05DF };
+    const uint16_t two_one[] = {0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9,
+                                0x05D0, 0x05D9, 0x05D9, 0x05DF};
     intptr_t two_one_len = sizeof(two_one) / sizeof(two_one[0]);
     EXPECT_EQ(two_one_len, two_one_str.Length());
     EXPECT(two_one_str.Equals(two_one, two_one_len));
@@ -1122,9 +1119,9 @@
     array3.SetAt(2, str1);
     const String& str5 = String::Handle(String::ConcatAll(array3));
     EXPECT(str5.IsTwoByteString());
-    const uint16_t one_two_one[] = { 0x05D0, 0x05D9, 0x05D9, 0x05DF,
-                                     0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9,
-                                     0x05D0, 0x05D9, 0x05D9, 0x05DF };
+    const uint16_t one_two_one[] = {0x05D0, 0x05D9, 0x05D9, 0x05DF, 0x05E6,
+                                    0x05D5, 0x05D5, 0x05D9, 0x05D9, 0x05D0,
+                                    0x05D9, 0x05D9, 0x05DF};
     intptr_t one_two_one_len = sizeof(one_two_one) / sizeof(one_two_one[0]);
     EXPECT_EQ(one_two_one_len, str5.Length());
     EXPECT(str5.Equals(one_two_one, one_two_one_len));
@@ -1136,9 +1133,9 @@
     array4.SetAt(2, str2);
     const String& str6 = String::Handle(String::ConcatAll(array4));
     EXPECT(str6.IsTwoByteString());
-    const uint16_t two_one_two[] = { 0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9,
-                                     0x05D0, 0x05D9, 0x05D9, 0x05DF,
-                                     0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9 };
+    const uint16_t two_one_two[] = {0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9,
+                                    0x05D0, 0x05D9, 0x05D9, 0x05DF, 0x05E6,
+                                    0x05D5, 0x05D5, 0x05D9, 0x05D9};
     intptr_t two_one_two_len = sizeof(two_one_two) / sizeof(two_one_two[0]);
     EXPECT_EQ(two_one_two_len, str6.Length());
     EXPECT(str6.Equals(two_one_two, two_one_two_len));
@@ -1150,7 +1147,7 @@
     EXPECT(str1.IsOneByteString());
     EXPECT_EQ(0, str1.Length());
 
-    int32_t four[] = { 0x1D4D5, 0x1D4DE, 0x1D4E4, 0x1D4E1 };
+    int32_t four[] = {0x1D4D5, 0x1D4DE, 0x1D4E4, 0x1D4E1};
     intptr_t four_len = sizeof(four) / sizeof(four[0]);
     intptr_t expected_len = (four_len * 2);
     const String& str2 = String::Handle(String::FromUTF32(four, four_len));
@@ -1195,8 +1192,8 @@
     array3.SetAt(2, str2);
     const String& str7 = String::Handle(String::ConcatAll(array3));
     EXPECT(str7.IsTwoByteString());
-    int32_t fourfour[] = { 0x1D4D5, 0x1D4DE, 0x1D4E4, 0x1D4E1,
-                           0x1D4D5, 0x1D4DE, 0x1D4E4, 0x1D4E1 };
+    int32_t fourfour[] = {0x1D4D5, 0x1D4DE, 0x1D4E4, 0x1D4E1,
+                          0x1D4D5, 0x1D4DE, 0x1D4E4, 0x1D4E1};
     intptr_t fourfour_len = sizeof(fourfour) / sizeof(fourfour[0]);
     EXPECT_EQ((fourfour_len * 2), str7.Length());
     const String& fourfour_str =
@@ -1206,13 +1203,13 @@
 
   // Concatenate non-empty strings built from 4-byte elements.
   {
-    const int32_t one[] = { 0x105D0, 0x105D9, 0x105D9, 0x105DF };
+    const int32_t one[] = {0x105D0, 0x105D9, 0x105D9, 0x105DF};
     intptr_t one_len = sizeof(one) / sizeof(one[0]);
     const String& onestr = String::Handle(String::FromUTF32(one, one_len));
     EXPECT(onestr.IsTwoByteString());
-    EXPECT_EQ((one_len *2), onestr.Length());
+    EXPECT_EQ((one_len * 2), onestr.Length());
 
-    const int32_t two[] = { 0x105E6, 0x105D5, 0x105D5, 0x105D9, 0x105D9 };
+    const int32_t two[] = {0x105E6, 0x105D5, 0x105D5, 0x105D9, 0x105D9};
     intptr_t two_len = sizeof(two) / sizeof(two[0]);
     const String& twostr = String::Handle(String::FromUTF32(two, two_len));
     EXPECT(twostr.IsTwoByteString());
@@ -1222,8 +1219,8 @@
 
     const String& str1 = String::Handle(String::Concat(onestr, twostr));
     EXPECT(str1.IsTwoByteString());
-    const int32_t one_two[] = { 0x105D0, 0x105D9, 0x105D9, 0x105DF,
-                                0x105E6, 0x105D5, 0x105D5, 0x105D9, 0x105D9 };
+    const int32_t one_two[] = {0x105D0, 0x105D9, 0x105D9, 0x105DF, 0x105E6,
+                               0x105D5, 0x105D5, 0x105D9, 0x105D9};
     intptr_t one_two_len = sizeof(one_two) / sizeof(one_two[0]);
     EXPECT_EQ((one_two_len * 2), str1.Length());
     const String& one_two_str =
@@ -1232,8 +1229,8 @@
 
     const String& str2 = String::Handle(String::Concat(twostr, onestr));
     EXPECT(str2.IsTwoByteString());
-    const int32_t two_one[] = { 0x105E6, 0x105D5, 0x105D5, 0x105D9, 0x105D9,
-                                0x105D0, 0x105D9, 0x105D9, 0x105DF };
+    const int32_t two_one[] = {0x105E6, 0x105D5, 0x105D5, 0x105D9, 0x105D9,
+                               0x105D0, 0x105D9, 0x105D9, 0x105DF};
     intptr_t two_one_len = sizeof(two_one) / sizeof(two_one[0]);
     EXPECT_EQ((two_one_len * 2), str2.Length());
     const String& two_one_str =
@@ -1267,10 +1264,9 @@
     array3.SetAt(2, onestr);
     const String& str5 = String::Handle(String::ConcatAll(array3));
     EXPECT(str5.IsTwoByteString());
-    const int32_t one_two_one[] = { 0x105D0, 0x105D9, 0x105D9, 0x105DF,
-                                    0x105E6, 0x105D5, 0x105D5, 0x105D9,
-                                    0x105D9,
-                                    0x105D0, 0x105D9, 0x105D9, 0x105DF };
+    const int32_t one_two_one[] = {0x105D0, 0x105D9, 0x105D9, 0x105DF, 0x105E6,
+                                   0x105D5, 0x105D5, 0x105D9, 0x105D9, 0x105D0,
+                                   0x105D9, 0x105D9, 0x105DF};
     intptr_t one_two_one_len = sizeof(one_two_one) / sizeof(one_two_one[0]);
     EXPECT_EQ((one_two_one_len * 2), str5.Length());
     const String& one_two_one_str =
@@ -1284,11 +1280,9 @@
     array4.SetAt(2, twostr);
     const String& str6 = String::Handle(String::ConcatAll(array4));
     EXPECT(str6.IsTwoByteString());
-    const int32_t two_one_two[] = { 0x105E6, 0x105D5, 0x105D5, 0x105D9,
-                                    0x105D9,
-                                    0x105D0, 0x105D9, 0x105D9, 0x105DF,
-                                    0x105E6, 0x105D5, 0x105D5, 0x105D9,
-                                    0x105D9 };
+    const int32_t two_one_two[] = {0x105E6, 0x105D5, 0x105D5, 0x105D9, 0x105D9,
+                                   0x105D0, 0x105D9, 0x105D9, 0x105DF, 0x105E6,
+                                   0x105D5, 0x105D5, 0x105D9, 0x105D9};
     intptr_t two_one_two_len = sizeof(two_one_two) / sizeof(two_one_two[0]);
     EXPECT_EQ((two_one_two_len * 2), str6.Length());
     const String& two_one_two_str =
@@ -1298,14 +1292,14 @@
 
   // Concatenate 1-byte strings and 2-byte strings.
   {
-    const uint8_t one[] = { 'o', 'n', 'e', ' ', 'b', 'y', 't', 'e' };
+    const uint8_t one[] = {'o', 'n', 'e', ' ', 'b', 'y', 't', 'e'};
     intptr_t one_len = sizeof(one) / sizeof(one[0]);
     const String& onestr = String::Handle(String::FromLatin1(one, one_len));
     EXPECT(onestr.IsOneByteString());
     EXPECT_EQ(one_len, onestr.Length());
     EXPECT(onestr.EqualsLatin1(one, one_len));
 
-    uint16_t two[] = { 0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9 };
+    uint16_t two[] = {0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9};
     intptr_t two_len = sizeof(two) / sizeof(two[0]);
     const String& twostr = String::Handle(String::FromUTF16(two, two_len));
     EXPECT(twostr.IsTwoByteString());
@@ -1316,16 +1310,16 @@
 
     const String& one_two_str = String::Handle(String::Concat(onestr, twostr));
     EXPECT(one_two_str.IsTwoByteString());
-    uint16_t one_two[] = { 'o', 'n', 'e', ' ', 'b', 'y', 't', 'e',
-                           0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9 };
+    uint16_t one_two[] = {'o', 'n',    'e',    ' ',    'b',    'y',   't',
+                          'e', 0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9};
     intptr_t one_two_len = sizeof(one_two) / sizeof(one_two[0]);
     EXPECT_EQ(one_two_len, one_two_str.Length());
     EXPECT(one_two_str.Equals(one_two, one_two_len));
 
     const String& two_one_str = String::Handle(String::Concat(twostr, onestr));
     EXPECT(two_one_str.IsTwoByteString());
-    uint16_t two_one[] = { 0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9,
-                           'o', 'n', 'e', ' ', 'b', 'y', 't', 'e' };
+    uint16_t two_one[] = {0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9, 'o', 'n',
+                          'e',    ' ',    'b',    'y',    't',    'e'};
     intptr_t two_one_len = sizeof(two_one) / sizeof(two_one[0]);
     EXPECT_EQ(two_one_len, two_one_str.Length());
     EXPECT(two_one_str.Equals(two_one, two_one_len));
@@ -1339,10 +1333,10 @@
     array1.SetAt(2, onestr);
     const String& one_two_one_str = String::Handle(String::ConcatAll(array1));
     EXPECT(one_two_one_str.IsTwoByteString());
-    EXPECT_EQ(onestr.Length()*2 + twostr.Length(), one_two_one_str.Length());
-    uint16_t one_two_one[] = { 'o', 'n', 'e', ' ', 'b', 'y', 't', 'e',
-                               0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9,
-                               'o', 'n', 'e', ' ', 'b', 'y', 't', 'e' };
+    EXPECT_EQ(onestr.Length() * 2 + twostr.Length(), one_two_one_str.Length());
+    uint16_t one_two_one[] = {'o', 'n',    'e',    ' ',    'b',    'y',    't',
+                              'e', 0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9, 'o',
+                              'n', 'e',    ' ',    'b',    'y',    't',    'e'};
     intptr_t one_two_one_len = sizeof(one_two_one) / sizeof(one_two_one[0]);
     EXPECT(one_two_one_str.Equals(one_two_one, one_two_one_len));
 
@@ -1353,10 +1347,10 @@
     array2.SetAt(2, twostr);
     const String& two_one_two_str = String::Handle(String::ConcatAll(array2));
     EXPECT(two_one_two_str.IsTwoByteString());
-    EXPECT_EQ(twostr.Length()*2 + onestr.Length(), two_one_two_str.Length());
-    uint16_t two_one_two[] = { 0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9,
-                               'o', 'n', 'e', ' ', 'b', 'y', 't', 'e',
-                               0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9 };
+    EXPECT_EQ(twostr.Length() * 2 + onestr.Length(), two_one_two_str.Length());
+    uint16_t two_one_two[] = {0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9, 'o',
+                              'n',    'e',    ' ',    'b',    'y',    't',
+                              'e',    0x05E6, 0x05D5, 0x05D5, 0x05D9, 0x05D9};
     intptr_t two_one_two_len = sizeof(two_one_two) / sizeof(two_one_two[0]);
     EXPECT(two_one_two_str.Equals(two_one_two, two_one_two_len));
   }
@@ -1367,22 +1361,21 @@
   EXPECT_EQ(String::Handle(String::New("onebyte")).Hash(),
             String::HashConcat(String::Handle(String::New("one")),
                                String::Handle(String::New("byte"))));
-  uint16_t clef_utf16[] = { 0xD834, 0xDD1E };
+  uint16_t clef_utf16[] = {0xD834, 0xDD1E};
   const String& clef = String::Handle(String::FromUTF16(clef_utf16, 2));
-  int32_t clef_utf32[] = { 0x1D11E };
+  int32_t clef_utf32[] = {0x1D11E};
   EXPECT(clef.Equals(clef_utf32, 1));
   intptr_t hash32 = String::Hash(clef_utf32, 1);
   EXPECT_EQ(hash32, clef.Hash());
   EXPECT_EQ(hash32, String::HashConcat(
-      String::Handle(String::FromUTF16(clef_utf16, 1)),
-      String::Handle(String::FromUTF16(clef_utf16 + 1, 1))));
+                        String::Handle(String::FromUTF16(clef_utf16, 1)),
+                        String::Handle(String::FromUTF16(clef_utf16 + 1, 1))));
 }
 
 
 VM_TEST_CASE(StringSubStringDifferentWidth) {
   // Create 1-byte substring from a 1-byte source string.
-  const char* onechars =
-      "\xC3\xB6\xC3\xB1\xC3\xA9";
+  const char* onechars = "\xC3\xB6\xC3\xB1\xC3\xA9";
 
   const String& onestr = String::Handle(String::New(onechars));
   EXPECT(!onestr.IsNull());
@@ -1470,18 +1463,14 @@
         "\xC3\xB8\xC3\xB9\xC3\xBA\xC3\xBB"
         "\xC3\xBC\xC3\xBD\xC3\xBE\xC3\xBF";
     const uint8_t expected[] = {
-      0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
-      0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,
-      0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7,
-      0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
-      0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
-      0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
-      0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7,
-      0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF,
-      0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
-      0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
-      0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
-      0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF,
+        0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB,
+        0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7,
+        0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3,
+        0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
+        0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB,
+        0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
+        0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3,
+        0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF,
     };
     const String& str = String::Handle(String::New(src));
     EXPECT(str.IsOneByteString());
@@ -1497,10 +1486,8 @@
     const char* src =
         "\xD7\x92\xD7\x9C\xD7\xA2\xD7\x93"
         "\xD7\x91\xD7\xA8\xD7\x9B\xD7\x94";
-    const uint16_t expected[] = {
-      0x5D2, 0x5DC, 0x5E2, 0x5D3,
-      0x5D1, 0x5E8, 0x5DB, 0x5D4
-    };
+    const uint16_t expected[] = {0x5D2, 0x5DC, 0x5E2, 0x5D3,
+                                 0x5D1, 0x5E8, 0x5DB, 0x5D4};
     const String& str = String::Handle(String::New(src));
     EXPECT(str.IsTwoByteString());
     intptr_t expected_size = sizeof(expected) / sizeof(expected[0]);
@@ -1522,10 +1509,9 @@
         "\x80\x80\xEC\x80\x80\xED\x80\x80"
         "\xEE\x80\x80\xEF\x80\x80";
     const intptr_t expected[] = {
-      0x000A, 0x000B, 0x000D, 0x000C, 0x000E, 0x000F, 0x00A0, 0x00B0,
-      0x00C0, 0x00D0, 0x00E0, 0x00F0, 0x0A00, 0x0B00, 0x0C00, 0x0D00,
-      0x0E00, 0x0F00, 0xA000, 0xB000, 0xC000, 0xD000, 0xE000, 0xF000
-    };
+        0x000A, 0x000B, 0x000D, 0x000C, 0x000E, 0x000F, 0x00A0, 0x00B0,
+        0x00C0, 0x00D0, 0x00E0, 0x00F0, 0x0A00, 0x0B00, 0x0C00, 0x0D00,
+        0x0E00, 0x0F00, 0xA000, 0xB000, 0xC000, 0xD000, 0xE000, 0xF000};
     const String& str = String::Handle(String::New(src));
     EXPECT(str.IsTwoByteString());
     intptr_t expected_size = sizeof(expected) / sizeof(expected[0]);
@@ -1541,8 +1527,8 @@
     const char* src =
         "\xF0\x9D\x91\xA0\xF0\x9D\x91\xA1"
         "\xF0\x9D\x91\xA2\xF0\x9D\x91\xA3";
-    const intptr_t expected[] = { 0xd835, 0xdc60, 0xd835, 0xdc61,
-                                  0xd835, 0xdc62, 0xd835, 0xdc63 };
+    const intptr_t expected[] = {0xd835, 0xdc60, 0xd835, 0xdc61,
+                                 0xd835, 0xdc62, 0xd835, 0xdc63};
     const String& str = String::Handle(String::New(src));
     EXPECT(str.IsTwoByteString());
     intptr_t expected_size = (sizeof(expected) / sizeof(expected[0]));
@@ -1564,9 +1550,9 @@
         "\xF0\x9B\x80\x80\xF0\x9D\x80\x80"
         "\xF0\x9E\x80\x80\xF0\x9F\x80\x80";
     const intptr_t expected[] = {
-      0x0A00, 0x0B00, 0x0C00, 0x0D00, 0x0E00, 0x0F00, 0xA000, 0xB000, 0xC000,
-      0xD000, 0xE000, 0xF000, 0xD828, 0xDC00, 0xD82c, 0xDC00, 0xD834, 0xDC00,
-      0xD838, 0xDC00, 0xD83c, 0xDC00,
+        0x0A00, 0x0B00, 0x0C00, 0x0D00, 0x0E00, 0x0F00, 0xA000, 0xB000,
+        0xC000, 0xD000, 0xE000, 0xF000, 0xD828, 0xDC00, 0xD82c, 0xDC00,
+        0xD834, 0xDC00, 0xD838, 0xDC00, 0xD83c, 0xDC00,
     };
     const String& str = String::Handle(String::New(src));
     EXPECT(str.IsTwoByteString());
@@ -1592,11 +1578,10 @@
         "\x80\x80\xF0\x9E\x80\x80\xF0\x9F"
         "\x80\x80";
     const intptr_t expected[] = {
-      0x000A, 0x000B, 0x000D, 0x000C, 0x000E, 0x000F, 0x00A0, 0x00B0,
-      0x00C0, 0x00D0, 0x00E0, 0x00F0, 0x0A00, 0x0B00, 0x0C00, 0x0D00,
-      0x0E00, 0x0F00, 0xA000, 0xB000, 0xC000, 0xD000, 0xE000, 0xF000,
-      0xD828, 0xDC00, 0xD82c, 0xDC00, 0xD834, 0xDC00, 0xD838, 0xDC00,
-      0xD83c, 0xDC00,
+        0x000A, 0x000B, 0x000D, 0x000C, 0x000E, 0x000F, 0x00A0, 0x00B0, 0x00C0,
+        0x00D0, 0x00E0, 0x00F0, 0x0A00, 0x0B00, 0x0C00, 0x0D00, 0x0E00, 0x0F00,
+        0xA000, 0xB000, 0xC000, 0xD000, 0xE000, 0xF000, 0xD828, 0xDC00, 0xD82c,
+        0xDC00, 0xD834, 0xDC00, 0xD838, 0xDC00, 0xD83c, 0xDC00,
     };
     const String& str = String::Handle(String::New(src));
     EXPECT(str.IsTwoByteString());
@@ -1635,8 +1620,9 @@
   EXPECT(!fourstr.Equals("\xF0\x90\x8E\xA0"));
   EXPECT(!fourstr.Equals("\xF0\x90\x8E\xA0\xF0\x90\x8E\xA1"));
   EXPECT(fourstr.Equals("\xF0\x90\x8E\xA0\xF0\x90\x8E\xA1\xF0\x90\x8E\xA2"));
-  EXPECT(!fourstr.Equals("\xF0\x90\x8E\xA0\xF0\x90\x8E\xA1"
-                         "\xF0\x90\x8E\xA2\xF0\x90\x8E\xA3"));
+  EXPECT(
+      !fourstr.Equals("\xF0\x90\x8E\xA0\xF0\x90\x8E\xA1"
+                      "\xF0\x90\x8E\xA2\xF0\x90\x8E\xA3"));
 }
 
 
@@ -1658,12 +1644,11 @@
 
 
 VM_TEST_CASE(ExternalOneByteString) {
-  uint8_t characters[] = { 0xF6, 0xF1, 0xE9 };
+  uint8_t characters[] = {0xF6, 0xF1, 0xE9};
   intptr_t len = ARRAY_SIZE(characters);
 
-  const String& str =
-      String::Handle(
-          ExternalOneByteString::New(characters, len, NULL, NULL, Heap::kNew));
+  const String& str = String::Handle(
+      ExternalOneByteString::New(characters, len, NULL, NULL, Heap::kNew));
   EXPECT(!str.IsOneByteString());
   EXPECT(str.IsExternalOneByteString());
   EXPECT_EQ(str.Length(), len);
@@ -1690,13 +1675,12 @@
 
 
 VM_TEST_CASE(EscapeSpecialCharactersOneByteString) {
-  uint8_t characters[] =
-      { 'a', '\n', '\f', '\b', '\t', '\v', '\r', '\\', '$', 'z' };
+  uint8_t characters[] = {'a',  '\n', '\f', '\b', '\t',
+                          '\v', '\r', '\\', '$',  'z'};
   intptr_t len = ARRAY_SIZE(characters);
 
   const String& str =
-      String::Handle(
-          OneByteString::New(characters, len, Heap::kNew));
+      String::Handle(OneByteString::New(characters, len, Heap::kNew));
   EXPECT(str.IsOneByteString());
   EXPECT_EQ(str.Length(), len);
   EXPECT(str.Equals("a\n\f\b\t\v\r\\$z"));
@@ -1711,13 +1695,12 @@
 
 
 VM_TEST_CASE(EscapeSpecialCharactersExternalOneByteString) {
-  uint8_t characters[] =
-      { 'a', '\n', '\f', '\b', '\t', '\v', '\r', '\\', '$', 'z' };
+  uint8_t characters[] = {'a',  '\n', '\f', '\b', '\t',
+                          '\v', '\r', '\\', '$',  'z'};
   intptr_t len = ARRAY_SIZE(characters);
 
-  const String& str =
-      String::Handle(
-          ExternalOneByteString::New(characters, len, NULL, NULL, Heap::kNew));
+  const String& str = String::Handle(
+      ExternalOneByteString::New(characters, len, NULL, NULL, Heap::kNew));
   EXPECT(!str.IsOneByteString());
   EXPECT(str.IsExternalOneByteString());
   EXPECT_EQ(str.Length(), len);
@@ -1726,9 +1709,8 @@
       String::Handle(String::EscapeSpecialCharacters(str));
   EXPECT(escaped_str.Equals("a\\n\\f\\b\\t\\v\\r\\\\\\$z"));
 
-  const String& empty_str =
-      String::Handle(
-          ExternalOneByteString::New(characters, 0, NULL, NULL, Heap::kNew));
+  const String& empty_str = String::Handle(
+      ExternalOneByteString::New(characters, 0, NULL, NULL, Heap::kNew));
   const String& escaped_empty_str =
       String::Handle(String::EscapeSpecialCharacters(empty_str));
   EXPECT_EQ(empty_str.Length(), 0);
@@ -1736,8 +1718,8 @@
 }
 
 VM_TEST_CASE(EscapeSpecialCharactersTwoByteString) {
-  uint16_t characters[] =
-      { 'a', '\n', '\f', '\b', '\t', '\v', '\r', '\\', '$', 'z' };
+  uint16_t characters[] = {'a',  '\n', '\f', '\b', '\t',
+                           '\v', '\r', '\\', '$',  'z'};
   intptr_t len = ARRAY_SIZE(characters);
 
   const String& str =
@@ -1759,13 +1741,12 @@
 
 
 VM_TEST_CASE(EscapeSpecialCharactersExternalTwoByteString) {
-  uint16_t characters[] =
-      { 'a', '\n', '\f', '\b', '\t', '\v', '\r', '\\', '$', 'z' };
+  uint16_t characters[] = {'a',  '\n', '\f', '\b', '\t',
+                           '\v', '\r', '\\', '$',  'z'};
   intptr_t len = ARRAY_SIZE(characters);
 
-  const String& str =
-      String::Handle(
-          ExternalTwoByteString::New(characters, len, NULL, NULL, Heap::kNew));
+  const String& str = String::Handle(
+      ExternalTwoByteString::New(characters, len, NULL, NULL, Heap::kNew));
   EXPECT(str.IsExternalTwoByteString());
   EXPECT_EQ(str.Length(), len);
   EXPECT(str.Equals("a\n\f\b\t\v\r\\$z"));
@@ -1773,9 +1754,8 @@
       String::Handle(String::EscapeSpecialCharacters(str));
   EXPECT(escaped_str.Equals("a\\n\\f\\b\\t\\v\\r\\\\\\$z"));
 
-  const String& empty_str =
-      String::Handle(
-          ExternalTwoByteString::New(characters, 0, NULL, NULL, Heap::kNew));
+  const String& empty_str = String::Handle(
+      ExternalTwoByteString::New(characters, 0, NULL, NULL, Heap::kNew));
   const String& escaped_empty_str =
       String::Handle(String::EscapeSpecialCharacters(empty_str));
   EXPECT_EQ(empty_str.Length(), 0);
@@ -1784,12 +1764,11 @@
 
 
 VM_TEST_CASE(ExternalTwoByteString) {
-  uint16_t characters[] = { 0x1E6B, 0x1E85, 0x1E53 };
+  uint16_t characters[] = {0x1E6B, 0x1E85, 0x1E53};
   intptr_t len = ARRAY_SIZE(characters);
 
-  const String& str =
-      String::Handle(
-          ExternalTwoByteString::New(characters, len, NULL, NULL, Heap::kNew));
+  const String& str = String::Handle(
+      ExternalTwoByteString::New(characters, len, NULL, NULL, Heap::kNew));
   EXPECT(!str.IsTwoByteString());
   EXPECT(str.IsExternalTwoByteString());
   EXPECT_EQ(str.Length(), len);
@@ -1805,8 +1784,9 @@
   EXPECT(!concat.IsExternalTwoByteString());
   EXPECT(concat.IsTwoByteString());
   EXPECT_EQ(len * 2, concat.Length());
-  EXPECT(concat.Equals("\xE1\xB9\xAB\xE1\xBA\x85\xE1\xB9\x93"
-                       "\xE1\xB9\xAB\xE1\xBA\x85\xE1\xB9\x93"));
+  EXPECT(
+      concat.Equals("\xE1\xB9\xAB\xE1\xBA\x85\xE1\xB9\x93"
+                    "\xE1\xB9\xAB\xE1\xBA\x85\xE1\xB9\x93"));
 
   const String& substr = String::Handle(String::SubString(str, 1, 1));
   EXPECT(!substr.IsExternalTwoByteString());
@@ -1867,9 +1847,9 @@
   EXPECT_EQ(one.raw(), ein_symbol.raw());
   EXPECT(one.raw() != eins.raw());
 
-  uint16_t char16[] = { 'E', 'l', 'f' };
+  uint16_t char16[] = {'E', 'l', 'f'};
   String& elf1 = String::Handle(Symbols::FromUTF16(thread, char16, 3));
-  int32_t char32[] = { 'E', 'l', 'f' };
+  int32_t char32[] = {'E', 'l', 'f'};
   String& elf2 = String::Handle(Symbols::FromUTF32(thread, char32, 3));
   EXPECT(elf1.IsSymbol());
   EXPECT(elf2.IsSymbol());
@@ -1879,7 +1859,7 @@
 
 
 VM_TEST_CASE(SymbolUnicode) {
-  uint16_t monkey_utf16[] = { 0xd83d, 0xdc35 };  // Unicode Monkey Face.
+  uint16_t monkey_utf16[] = {0xd83d, 0xdc35};  // Unicode Monkey Face.
   String& monkey = String::Handle(Symbols::FromUTF16(thread, monkey_utf16, 2));
   EXPECT(monkey.IsSymbol());
   const char monkey_utf8[] = {'\xf0', '\x9f', '\x90', '\xb5', 0};
@@ -1891,10 +1871,10 @@
 
   // Unicode cat face with tears of joy.
   int32_t kCatFaceWithTearsOfJoy = 0x1f639;
-  String& cat = String::Handle(Symbols::FromCharCode(thread,
-                                                     kCatFaceWithTearsOfJoy));
+  String& cat =
+      String::Handle(Symbols::FromCharCode(thread, kCatFaceWithTearsOfJoy));
 
-  uint16_t cat_utf16[] = { 0xd83d, 0xde39 };
+  uint16_t cat_utf16[] = {0xd83d, 0xde39};
   String& cat2 = String::Handle(Symbols::FromUTF16(thread, cat_utf16, 2));
   EXPECT(cat2.IsSymbol());
   EXPECT_EQ(cat2.raw(), cat.raw());
@@ -1954,24 +1934,29 @@
 static void TestIllegalArrayLength(intptr_t length) {
   char buffer[1024];
   OS::SNPrint(buffer, sizeof(buffer),
-      "main() {\n"
-      "  new List(%" Pd ");\n"
-      "}\n",
-      length);
+              "main() {\n"
+              "  new List(%" Pd
+              ");\n"
+              "}\n",
+              length);
   Dart_Handle lib = TestCase::LoadTestScript(buffer, NULL);
   EXPECT_VALID(lib);
   Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   OS::SNPrint(buffer, sizeof(buffer),
-      "Unhandled exception:\n"
-      "RangeError (length): Invalid value: "
-      "Not in range 0..%" Pd ", inclusive: %" Pd,
-      Array::kMaxElements, length);
+              "Unhandled exception:\n"
+              "RangeError (length): Invalid value: "
+              "Not in range 0..%" Pd ", inclusive: %" Pd,
+              Array::kMaxElements, length);
   EXPECT_ERROR(result, buffer);
 }
 
 
-TEST_CASE(ArrayLengthNegativeOne) { TestIllegalArrayLength(-1); }
-TEST_CASE(ArrayLengthSmiMin) { TestIllegalArrayLength(kSmiMin); }
+TEST_CASE(ArrayLengthNegativeOne) {
+  TestIllegalArrayLength(-1);
+}
+TEST_CASE(ArrayLengthSmiMin) {
+  TestIllegalArrayLength(kSmiMin);
+}
 TEST_CASE(ArrayLengthOneTooMany) {
   const intptr_t kOneTooMany = Array::kMaxElements + 1;
   ASSERT(kOneTooMany >= 0);
@@ -1982,10 +1967,11 @@
 TEST_CASE(ArrayLengthMaxElements) {
   char buffer[1024];
   OS::SNPrint(buffer, sizeof(buffer),
-      "main() {\n"
-      "  return new List(%" Pd ");\n"
-      "}\n",
-      Array::kMaxElements);
+              "main() {\n"
+              "  return new List(%" Pd
+              ");\n"
+              "}\n",
+              Array::kMaxElements);
   Dart_Handle lib = TestCase::LoadTestScript(buffer, NULL);
   EXPECT_VALID(lib);
   Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
@@ -2004,15 +1990,16 @@
                                        intptr_t length) {
   char buffer[1024];
   OS::SNPrint(buffer, sizeof(buffer),
-      "import 'dart:typed_data';\n"
-      "main() {\n"
-      "  new %s(%" Pd ");\n"
-      "}\n",
-      class_name, length);
+              "import 'dart:typed_data';\n"
+              "main() {\n"
+              "  new %s(%" Pd
+              ");\n"
+              "}\n",
+              class_name, length);
   Dart_Handle lib = TestCase::LoadTestScript(buffer, NULL);
   EXPECT_VALID(lib);
   Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
-  OS::SNPrint(buffer, sizeof(buffer), "%" Pd,  length);
+  OS::SNPrint(buffer, sizeof(buffer), "%" Pd, length);
   EXPECT_ERROR(result, "Invalid argument(s)");
   EXPECT_ERROR(result, buffer);
 }
@@ -2036,11 +2023,12 @@
   const intptr_t max_elements = TypedData::MaxElements(kTypedDataInt8ArrayCid);
   char buffer[1024];
   OS::SNPrint(buffer, sizeof(buffer),
-      "import 'dart:typed_data';\n"
-      "main() {\n"
-      "  return new Int8List(%" Pd ");\n"
-      "}\n",
-      max_elements);
+              "import 'dart:typed_data';\n"
+              "main() {\n"
+              "  return new Int8List(%" Pd
+              ");\n"
+              "}\n",
+              max_elements);
   Dart_Handle lib = TestCase::LoadTestScript(buffer, NULL);
   EXPECT_VALID(lib);
   Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
@@ -2069,10 +2057,11 @@
   EXPECT_EQ(' ', it1.Current());
   EXPECT(!it1.Next());
 
-  const String& str2 = String::Handle(String::New("\xD7\x92\xD7\x9C"
-                                                  "\xD7\xA2\xD7\x93"
-                                                  "\xD7\x91\xD7\xA8"
-                                                  "\xD7\x9B\xD7\x94"));
+  const String& str2 =
+      String::Handle(String::New("\xD7\x92\xD7\x9C"
+                                 "\xD7\xA2\xD7\x93"
+                                 "\xD7\x91\xD7\xA8"
+                                 "\xD7\x9B\xD7\x94"));
   String::CodePointIterator it2(str2);
   EXPECT(it2.Next());
   EXPECT_EQ(0x5D2, it2.Current());
@@ -2092,10 +2081,11 @@
   EXPECT_EQ(0x5D4, it2.Current());
   EXPECT(!it2.Next());
 
-  const String& str3 = String::Handle(String::New("\xF0\x9D\x91\xA0"
-                                                  "\xF0\x9D\x91\xA1"
-                                                  "\xF0\x9D\x91\xA2"
-                                                  "\xF0\x9D\x91\xA3"));
+  const String& str3 =
+      String::Handle(String::New("\xF0\x9D\x91\xA0"
+                                 "\xF0\x9D\x91\xA1"
+                                 "\xF0\x9D\x91\xA2"
+                                 "\xF0\x9D\x91\xA3"));
   String::CodePointIterator it3(str3);
   EXPECT(it3.Next());
   EXPECT_EQ(0x1D460, it3.Current());
@@ -2249,7 +2239,7 @@
 
 
 VM_TEST_CASE(InternalTypedData) {
-  uint8_t data[] = { 253, 254, 255, 0, 1, 2, 3, 4 };
+  uint8_t data[] = {253, 254, 255, 0, 1, 2, 3, 4};
   intptr_t data_length = ARRAY_SIZE(data);
 
   const TypedData& int8_array =
@@ -2305,30 +2295,24 @@
 
 
 VM_TEST_CASE(ExternalTypedData) {
-  uint8_t data[] = { 253, 254, 255, 0, 1, 2, 3, 4 };
+  uint8_t data[] = {253, 254, 255, 0, 1, 2, 3, 4};
   intptr_t data_length = ARRAY_SIZE(data);
 
   const ExternalTypedData& int8_array =
-      ExternalTypedData::Handle(
-          ExternalTypedData::New(kExternalTypedDataInt8ArrayCid,
-                                 data,
-                                 data_length));
+      ExternalTypedData::Handle(ExternalTypedData::New(
+          kExternalTypedDataInt8ArrayCid, data, data_length));
   EXPECT(!int8_array.IsNull());
   EXPECT_EQ(data_length, int8_array.Length());
 
   const ExternalTypedData& uint8_array =
-      ExternalTypedData::Handle(
-          ExternalTypedData::New(kExternalTypedDataUint8ArrayCid,
-                                  data,
-                                  data_length));
+      ExternalTypedData::Handle(ExternalTypedData::New(
+          kExternalTypedDataUint8ArrayCid, data, data_length));
   EXPECT(!uint8_array.IsNull());
   EXPECT_EQ(data_length, uint8_array.Length());
 
   const ExternalTypedData& uint8_clamped_array =
-      ExternalTypedData::Handle(
-          ExternalTypedData::New(kExternalTypedDataUint8ClampedArrayCid,
-                                 data,
-                                 data_length));
+      ExternalTypedData::Handle(ExternalTypedData::New(
+          kExternalTypedDataUint8ClampedArrayCid, data, data_length));
   EXPECT(!uint8_clamped_array.IsNull());
   EXPECT_EQ(data_length, uint8_clamped_array.Length());
 
@@ -2356,18 +2340,18 @@
   EXPECT_EQ(2, uint8_array.GetUint8(5));
   EXPECT_EQ(2, uint8_clamped_array.GetUint8(5));
 
-  for (intptr_t i = 0 ; i < int8_array.Length(); ++i) {
+  for (intptr_t i = 0; i < int8_array.Length(); ++i) {
     EXPECT_EQ(int8_array.GetUint8(i), uint8_array.GetUint8(i));
   }
 
   int8_array.SetInt8(2, -123);
   uint8_array.SetUint8(0, 123);
-  for (intptr_t i = 0 ; i < int8_array.Length(); ++i) {
+  for (intptr_t i = 0; i < int8_array.Length(); ++i) {
     EXPECT_EQ(int8_array.GetInt8(i), uint8_array.GetInt8(i));
   }
 
   uint8_clamped_array.SetUint8(0, 123);
-  for (intptr_t i = 0 ; i < int8_array.Length(); ++i) {
+  for (intptr_t i = 0; i < int8_array.Length(); ++i) {
     EXPECT_EQ(int8_array.GetUint8(i), uint8_clamped_array.GetUint8(i));
   }
 }
@@ -2378,9 +2362,8 @@
   const char* source_chars = "This will not compile.";
   const String& url = String::Handle(String::New(url_chars));
   const String& source = String::Handle(String::New(source_chars));
-  const Script& script = Script::Handle(Script::New(url,
-                                                    source,
-                                                    RawScript::kScriptTag));
+  const Script& script =
+      Script::Handle(Script::New(url, source, RawScript::kScriptTag));
   EXPECT(!script.IsNull());
   EXPECT(script.IsScript());
   String& str = String::Handle(script.url());
@@ -2408,11 +2391,16 @@
 VM_TEST_CASE(EmbeddedScript) {
   const char* url_chars = "builtin:test-case";
   const char* text =
-      /* 1 */ "<!DOCTYPE html>\n"
-      /* 2 */ "  ... more junk ...\n"
-      /* 3 */ "  <script type='application/dart'>main() {\n"
-      /* 4 */ "    return 'foo';\n"
-      /* 5 */ "  }\n"
+      /* 1 */
+      "<!DOCTYPE html>\n"
+      /* 2 */
+      "  ... more junk ...\n"
+      /* 3 */
+      "  <script type='application/dart'>main() {\n"
+      /* 4 */
+      "    return 'foo';\n"
+      /* 5 */
+      "  }\n"
       /* 6 */ "</script>\n";
   const char* line1 = text;
   const char* line2 = strstr(line1, "\n") + 1;
@@ -2443,8 +2431,8 @@
 
   const String& url = String::Handle(String::New(url_chars));
   const String& source = String::Handle(String::New(src_chars));
-  const Script& script = Script::Handle(
-      Script::New(url, source, RawScript::kScriptTag));
+  const Script& script =
+      Script::Handle(Script::New(url, source, RawScript::kScriptTag));
   script.SetLocationOffset(line_offset, col_offset);
 
   String& str = String::Handle();
@@ -2534,27 +2522,18 @@
 
   const Type& dynamic_type = Type::ZoneHandle(Type::DynamicType());
   const String& a = String::ZoneHandle(Symbols::New(thread, "a"));
-  LocalVariable* var_a =
-      new LocalVariable(TokenPosition::kNoSource,
-                        TokenPosition::kNoSource,
-                        a,
-                        dynamic_type);
+  LocalVariable* var_a = new LocalVariable(
+      TokenPosition::kNoSource, TokenPosition::kNoSource, a, dynamic_type);
   parent_scope->AddVariable(var_a);
 
   const String& b = String::ZoneHandle(Symbols::New(thread, "b"));
-  LocalVariable* var_b =
-      new LocalVariable(TokenPosition::kNoSource,
-                        TokenPosition::kNoSource,
-                        b,
-                        dynamic_type);
+  LocalVariable* var_b = new LocalVariable(
+      TokenPosition::kNoSource, TokenPosition::kNoSource, b, dynamic_type);
   local_scope->AddVariable(var_b);
 
   const String& c = String::ZoneHandle(Symbols::New(thread, "c"));
-  LocalVariable* var_c =
-      new LocalVariable(TokenPosition::kNoSource,
-                        TokenPosition::kNoSource,
-                        c,
-                        dynamic_type);
+  LocalVariable* var_c = new LocalVariable(
+      TokenPosition::kNoSource, TokenPosition::kNoSource, c, dynamic_type);
   parent_scope->AddVariable(var_c);
 
   bool test_only = false;  // Please, insert alias.
@@ -2579,18 +2558,16 @@
   var_c = local_scope->LookupVariable(c, test_only);
   EXPECT(var_c->is_captured());
 
-  EXPECT_EQ(3, local_scope->num_variables());  // a, b, and c alias.
+  EXPECT_EQ(3, local_scope->num_variables());         // a, b, and c alias.
   EXPECT_EQ(2, local_scope->NumCapturedVariables());  // a, c alias.
 
   const int first_parameter_index = 0;
   const int num_parameters = 0;
   const int first_frame_index = -1;
   bool found_captured_vars = false;
-  int next_frame_index = parent_scope->AllocateVariables(first_parameter_index,
-                                                         num_parameters,
-                                                         first_frame_index,
-                                                         NULL,
-                                                         &found_captured_vars);
+  int next_frame_index = parent_scope->AllocateVariables(
+      first_parameter_index, num_parameters, first_frame_index, NULL,
+      &found_captured_vars);
   EXPECT_EQ(first_frame_index, next_frame_index);  // a and c not in frame.
   const intptr_t parent_scope_context_level = 1;
   EXPECT_EQ(parent_scope_context_level, parent_scope->context_level());
@@ -2629,16 +2606,16 @@
   const Context& context = Context::Handle(Context::New(0));
   Function& parent = Function::Handle();
   const String& parent_name = String::Handle(Symbols::New(thread, "foo_papa"));
-  parent = Function::New(parent_name, RawFunction::kRegularFunction,
-                         false, false, false, false, false, cls,
-                         TokenPosition::kMinSource);
+  parent =
+      Function::New(parent_name, RawFunction::kRegularFunction, false, false,
+                    false, false, false, cls, TokenPosition::kMinSource);
   functions.SetAt(0, parent);
   cls.SetFunctions(functions);
 
   Function& function = Function::Handle();
   const String& function_name = String::Handle(Symbols::New(thread, "foo"));
-  function = Function::NewClosureFunction(
-      function_name, parent, TokenPosition::kMinSource);
+  function = Function::NewClosureFunction(function_name, parent,
+                                          TokenPosition::kMinSource);
   const Closure& closure = Closure::Handle(Closure::New(function, context));
   const Class& closure_class = Class::Handle(closure.clazz());
   EXPECT_EQ(closure_class.id(), kClosureCid);
@@ -2657,8 +2634,7 @@
   // bool class and true/false values.
   ObjectStore* object_store = Isolate::Current()->object_store();
   const Class& bool_class = Class::Handle(object_store->bool_class());
-  EXPECT_STREQ("Library:'dart:core' Class: bool",
-               bool_class.ToCString());
+  EXPECT_STREQ("Library:'dart:core' Class: bool", bool_class.ToCString());
   EXPECT_STREQ("true", Bool::True().ToCString());
   EXPECT_STREQ("false", Bool::False().ToCString());
 
@@ -2702,19 +2678,18 @@
   const Script& script = Script::Handle();
   const Class& owner_class =
       Class::Handle(CreateDummyClass(class_name, script));
-  const Library& owner_library =
-      Library::Handle(CreateDummyLibrary(lib_name));
+  const Library& owner_library = Library::Handle(CreateDummyLibrary(lib_name));
   owner_class.set_library(owner_library);
   const String& function_name = String::ZoneHandle(Symbols::New(thread, name));
-  return Function::New(function_name, RawFunction::kRegularFunction,
-                       true, false, false, false, false, owner_class,
+  return Function::New(function_name, RawFunction::kRegularFunction, true,
+                       false, false, false, false, owner_class,
                        TokenPosition::kMinSource);
 }
 
 
 // Test for Code and Instruction object creation.
 VM_TEST_CASE(Code) {
-  extern void GenerateIncrement(Assembler* assembler);
+  extern void GenerateIncrement(Assembler * assembler);
   Assembler _assembler_;
   GenerateIncrement(&_assembler_);
   const Function& function = Function::Handle(CreateFunction("Test_Code"));
@@ -2723,8 +2698,8 @@
   const Instructions& instructions = Instructions::Handle(code.instructions());
   uword payload_start = instructions.PayloadStart();
   EXPECT_EQ(instructions.raw(), Instructions::FromPayloadStart(payload_start));
-  const Object& result = Object::Handle(
-      DartEntry::InvokeFunction(function, Array::empty_array()));
+  const Object& result =
+      Object::Handle(DartEntry::InvokeFunction(function, Array::empty_array()));
   EXPECT_EQ(1, Smi::Cast(result).Value());
 }
 
@@ -2732,7 +2707,7 @@
 // Test for immutability of generated instructions. The test crashes with a
 // segmentation fault when writing into it.
 VM_TEST_CASE(CodeImmutability) {
-  extern void GenerateIncrement(Assembler* assembler);
+  extern void GenerateIncrement(Assembler * assembler);
   Assembler _assembler_;
   GenerateIncrement(&_assembler_);
   const Function& function = Function::Handle(CreateFunction("Test_Code"));
@@ -2754,7 +2729,7 @@
 
 // Test for Embedded String object in the instructions.
 VM_TEST_CASE(EmbedStringInCode) {
-  extern void GenerateEmbedStringInCode(Assembler* assembler, const char* str);
+  extern void GenerateEmbedStringInCode(Assembler * assembler, const char* str);
   const char* kHello = "Hello World!";
   word expected_length = static_cast<word>(strlen(kHello));
   Assembler _assembler_;
@@ -2769,7 +2744,7 @@
   String& string_object = String::Handle();
   string_object ^= result.raw();
   EXPECT(string_object.Length() == expected_length);
-  for (int i = 0; i < expected_length; i ++) {
+  for (int i = 0; i < expected_length; i++) {
     EXPECT(string_object.CharAt(i) == kHello[i]);
   }
 }
@@ -2777,7 +2752,7 @@
 
 // Test for Embedded Smi object in the instructions.
 VM_TEST_CASE(EmbedSmiInCode) {
-  extern void GenerateEmbedSmiInCode(Assembler* assembler, intptr_t value);
+  extern void GenerateEmbedSmiInCode(Assembler * assembler, intptr_t value);
   const intptr_t kSmiTestValue = 5;
   Assembler _assembler_;
   GenerateEmbedSmiInCode(&_assembler_, kSmiTestValue);
@@ -2794,7 +2769,7 @@
 #if defined(ARCH_IS_64_BIT)
 // Test for Embedded Smi object in the instructions.
 VM_TEST_CASE(EmbedSmiIn64BitCode) {
-  extern void GenerateEmbedSmiInCode(Assembler* assembler, intptr_t value);
+  extern void GenerateEmbedSmiInCode(Assembler * assembler, intptr_t value);
   const intptr_t kSmiTestValue = DART_INT64_C(5) << 32;
   Assembler _assembler_;
   GenerateEmbedSmiInCode(&_assembler_, kSmiTestValue);
@@ -2821,7 +2796,7 @@
   exception_handlers.SetHandlerInfo(2, -1, 40u, kNoStacktrace, true);
   exception_handlers.SetHandlerInfo(3, 1, 150u, kNoStacktrace, true);
 
-  extern void GenerateIncrement(Assembler* assembler);
+  extern void GenerateIncrement(Assembler * assembler);
   Assembler _assembler_;
   GenerateIncrement(&_assembler_);
   Code& code = Code::Handle(Code::FinalizeCode(
@@ -2851,23 +2826,18 @@
   DescriptorList* builder = new DescriptorList(0);
 
   // kind, pc_offset, deopt_id, token_pos, try_index
-  builder->AddDescriptor(RawPcDescriptors::kOther,
-                         10, 1, TokenPosition(20), 1);
-  builder->AddDescriptor(RawPcDescriptors::kDeopt,
-                         20, 2, TokenPosition(30), 0);
-  builder->AddDescriptor(RawPcDescriptors::kOther,
-                         30, 3, TokenPosition(40), 1);
-  builder->AddDescriptor(RawPcDescriptors::kOther,
-                         10, 4, TokenPosition(40), 2);
-  builder->AddDescriptor(RawPcDescriptors::kOther,
-                         10, 5, TokenPosition(80), 3);
-  builder->AddDescriptor(RawPcDescriptors::kOther,
-                         80, 6, TokenPosition(150), 3);
+  builder->AddDescriptor(RawPcDescriptors::kOther, 10, 1, TokenPosition(20), 1);
+  builder->AddDescriptor(RawPcDescriptors::kDeopt, 20, 2, TokenPosition(30), 0);
+  builder->AddDescriptor(RawPcDescriptors::kOther, 30, 3, TokenPosition(40), 1);
+  builder->AddDescriptor(RawPcDescriptors::kOther, 10, 4, TokenPosition(40), 2);
+  builder->AddDescriptor(RawPcDescriptors::kOther, 10, 5, TokenPosition(80), 3);
+  builder->AddDescriptor(RawPcDescriptors::kOther, 80, 6, TokenPosition(150),
+                         3);
 
   PcDescriptors& descriptors = PcDescriptors::Handle();
   descriptors ^= builder->FinalizePcDescriptors(0);
 
-  extern void GenerateIncrement(Assembler* assembler);
+  extern void GenerateIncrement(Assembler * assembler);
   Assembler _assembler_;
   GenerateIncrement(&_assembler_);
   Code& code = Code::Handle(Code::FinalizeCode(
@@ -2914,23 +2884,22 @@
   DescriptorList* builder = new DescriptorList(0);
 
   // kind, pc_offset, deopt_id, token_pos, try_index
-  builder->AddDescriptor(RawPcDescriptors::kOther,
-                         100, 1, TokenPosition(200), 1);
-  builder->AddDescriptor(RawPcDescriptors::kDeopt,
-                         200, 2, TokenPosition(300), 0);
-  builder->AddDescriptor(RawPcDescriptors::kOther,
-                         300, 3, TokenPosition(400), 1);
-  builder->AddDescriptor(RawPcDescriptors::kOther,
-                         100, 4, TokenPosition(0), 2);
-  builder->AddDescriptor(RawPcDescriptors::kOther,
-                         100, 5, TokenPosition(800), 3);
-  builder->AddDescriptor(RawPcDescriptors::kOther,
-                         800, 6, TokenPosition(150), 3);
+  builder->AddDescriptor(RawPcDescriptors::kOther, 100, 1, TokenPosition(200),
+                         1);
+  builder->AddDescriptor(RawPcDescriptors::kDeopt, 200, 2, TokenPosition(300),
+                         0);
+  builder->AddDescriptor(RawPcDescriptors::kOther, 300, 3, TokenPosition(400),
+                         1);
+  builder->AddDescriptor(RawPcDescriptors::kOther, 100, 4, TokenPosition(0), 2);
+  builder->AddDescriptor(RawPcDescriptors::kOther, 100, 5, TokenPosition(800),
+                         3);
+  builder->AddDescriptor(RawPcDescriptors::kOther, 800, 6, TokenPosition(150),
+                         3);
 
   PcDescriptors& descriptors = PcDescriptors::Handle();
   descriptors ^= builder->FinalizePcDescriptors(0);
 
-  extern void GenerateIncrement(Assembler* assembler);
+  extern void GenerateIncrement(Assembler * assembler);
   Assembler _assembler_;
   GenerateIncrement(&_assembler_);
   Code& code = Code::Handle(Code::FinalizeCode(
@@ -2974,21 +2943,21 @@
 
 
 static RawClass* CreateTestClass(const char* name) {
-  const String& class_name = String::Handle(Symbols::New(Thread::Current(),
-                                                         name));
-  const Class& cls = Class::Handle(
-      CreateDummyClass(class_name, Script::Handle()));
+  const String& class_name =
+      String::Handle(Symbols::New(Thread::Current(), name));
+  const Class& cls =
+      Class::Handle(CreateDummyClass(class_name, Script::Handle()));
   return cls.raw();
 }
 
 
 static RawField* CreateTestField(const char* name) {
   const Class& cls = Class::Handle(CreateTestClass("global:"));
-  const String& field_name = String::Handle(Symbols::New(Thread::Current(),
-                                                         name));
-  const Field& field =
-      Field::Handle(Field::New(field_name, true, false, false, true, cls,
-          Object::dynamic_type(), TokenPosition::kMinSource));
+  const String& field_name =
+      String::Handle(Symbols::New(Thread::Current(), name));
+  const Field& field = Field::Handle(
+      Field::New(field_name, true, false, false, true, cls,
+                 Object::dynamic_type(), TokenPosition::kMinSource));
   return field.raw();
 }
 
@@ -3017,23 +2986,17 @@
 
 
 static RawFunction* GetDummyTarget(const char* name) {
-  const String& function_name = String::Handle(Symbols::New(Thread::Current(),
-                                                            name));
-  const Class& cls = Class::Handle(
-       CreateDummyClass(function_name, Script::Handle()));
+  const String& function_name =
+      String::Handle(Symbols::New(Thread::Current(), name));
+  const Class& cls =
+      Class::Handle(CreateDummyClass(function_name, Script::Handle()));
   const bool is_static = false;
   const bool is_const = false;
   const bool is_abstract = false;
   const bool is_external = false;
   const bool is_native = false;
-  return Function::New(function_name,
-                       RawFunction::kRegularFunction,
-                       is_static,
-                       is_const,
-                       is_abstract,
-                       is_external,
-                       is_native,
-                       cls,
+  return Function::New(function_name, RawFunction::kRegularFunction, is_static,
+                       is_const, is_abstract, is_external, is_native, cls,
                        TokenPosition::kMinSource);
 }
 
@@ -3046,8 +3009,8 @@
   const Array& args_descriptor =
       Array::Handle(ArgumentsDescriptor::New(1, Object::null_array()));
   ICData& o1 = ICData::Handle();
-  o1 = ICData::New(function, target_name, args_descriptor, id,
-                   num_args_tested, false);
+  o1 = ICData::New(function, target_name, args_descriptor, id, num_args_tested,
+                   false);
   EXPECT_EQ(1, o1.NumArgsTested());
   EXPECT_EQ(id, o1.deopt_id());
   EXPECT_EQ(function.raw(), o1.Owner());
@@ -3104,9 +3067,8 @@
 
   // Check ICData for unoptimized static calls.
   const intptr_t kNumArgsChecked = 0;
-  const ICData& scall_icdata = ICData::Handle(
-      ICData::New(function, target_name, args_descriptor, 57,
-                  kNumArgsChecked, false));
+  const ICData& scall_icdata = ICData::Handle(ICData::New(
+      function, target_name, args_descriptor, 57, kNumArgsChecked, false));
   scall_icdata.AddTarget(target1);
   EXPECT_EQ(target1.raw(), scall_icdata.GetTargetAt(0));
 }
@@ -3129,8 +3091,8 @@
   TypeArguments& test_targ_0 = TypeArguments::Handle();
   TypeArguments& test_targ_1 = TypeArguments::Handle();
   Bool& test_result = Bool::Handle();
-  cache.GetCheck(
-      0, &test_class_id_or_fun, &test_targ_0, &test_targ_1, &test_result);
+  cache.GetCheck(0, &test_class_id_or_fun, &test_targ_0, &test_targ_1,
+                 &test_result);
   EXPECT_EQ(class_id_or_fun.raw(), test_class_id_or_fun.raw());
   EXPECT_EQ(targ_0.raw(), test_targ_0.raw());
   EXPECT_EQ(targ_1.raw(), test_targ_1.raw());
@@ -3155,8 +3117,6 @@
 }
 
 
-
-
 // Expose helper function from object.cc for testing.
 bool EqualsIgnoringPrivate(const String& name, const String& private_name);
 
@@ -3271,9 +3231,9 @@
       reinterpret_cast<const uint8_t*>(ext_mangled_str),
       strlen(ext_mangled_str), NULL, NULL, Heap::kNew);
   EXPECT(ext_mangled_name.IsExternalOneByteString());
-  ext_bare_name = ExternalOneByteString::New(
-      reinterpret_cast<const uint8_t*>(ext_bare_str),
-      strlen(ext_bare_str), NULL, NULL, Heap::kNew);
+  ext_bare_name =
+      ExternalOneByteString::New(reinterpret_cast<const uint8_t*>(ext_bare_str),
+                                 strlen(ext_bare_str), NULL, NULL, Heap::kNew);
   EXPECT(ext_bare_name.IsExternalOneByteString());
   ext_bad_bare_name = ExternalOneByteString::New(
       reinterpret_cast<const uint8_t*>(ext_bad_bare_str),
@@ -3289,8 +3249,8 @@
 
   // str1 - ExternalOneByteString, str2 - ExternalOneByteString.
   EXPECT(String::EqualsIgnoringPrivateKey(ext_mangled_name, ext_bare_name));
-  EXPECT(!String::EqualsIgnoringPrivateKey(ext_mangled_name,
-                                           ext_bad_bare_name));
+  EXPECT(
+      !String::EqualsIgnoringPrivateKey(ext_mangled_name, ext_bad_bare_name));
 }
 
 
@@ -3342,21 +3302,20 @@
   Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
   EXPECT_VALID(lib);
   Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
-  EXPECT_ERROR(
-      result,
-      "Unhandled exception:\n"
-      "MyException\n"
-      "#0      baz (test-lib:2:3)\n"
-      "#1      _OtherClass._OtherClass._named (test-lib:7:5)\n"
-      "#2      globalVar= (test-lib:12:7)\n"
-      "#3      _bar (test-lib:16:3)\n"
-      "#4      MyClass.field (test-lib:25:5)\n"
-      "#5      MyClass.foo.fooHelper (test-lib:30:7)\n"
-      "#6      MyClass.foo (test-lib:32:14)\n"
-      "#7      MyClass.MyClass.<anonymous closure> (test-lib:21:12)\n"
-      "#8      MyClass.MyClass (test-lib:21:18)\n"
-      "#9      main.<anonymous closure> (test-lib:37:14)\n"
-      "#10     main (test-lib:37:24)");
+  EXPECT_ERROR(result,
+               "Unhandled exception:\n"
+               "MyException\n"
+               "#0      baz (test-lib:2:3)\n"
+               "#1      _OtherClass._OtherClass._named (test-lib:7:5)\n"
+               "#2      globalVar= (test-lib:12:7)\n"
+               "#3      _bar (test-lib:16:3)\n"
+               "#4      MyClass.field (test-lib:25:5)\n"
+               "#5      MyClass.foo.fooHelper (test-lib:30:7)\n"
+               "#6      MyClass.foo (test-lib:32:14)\n"
+               "#7      MyClass.MyClass.<anonymous closure> (test-lib:21:12)\n"
+               "#8      MyClass.MyClass (test-lib:21:18)\n"
+               "#9      main.<anonymous closure> (test-lib:37:14)\n"
+               "#10     main (test-lib:37:24)");
 }
 
 
@@ -3768,16 +3727,16 @@
 
 
 static RawFunction* GetFunction(const Class& cls, const char* name) {
-  const Function& result = Function::Handle(cls.LookupDynamicFunction(
-      String::Handle(String::New(name))));
+  const Function& result = Function::Handle(
+      cls.LookupDynamicFunction(String::Handle(String::New(name))));
   EXPECT(!result.IsNull());
   return result.raw();
 }
 
 
 static RawFunction* GetStaticFunction(const Class& cls, const char* name) {
-  const Function& result = Function::Handle(cls.LookupStaticFunction(
-      String::Handle(String::New(name))));
+  const Function& result = Function::Handle(
+      cls.LookupStaticFunction(String::Handle(String::New(name))));
   EXPECT(!result.IsNull());
   return result.raw();
 }
@@ -3809,9 +3768,9 @@
 
   Function& parent = Function::Handle();
   const String& parent_name = String::Handle(Symbols::New(thread, "foo_papa"));
-  parent = Function::New(parent_name, RawFunction::kRegularFunction,
-                         false, false, false, false, false, cls,
-                         TokenPosition::kMinSource);
+  parent =
+      Function::New(parent_name, RawFunction::kRegularFunction, false, false,
+                    false, false, false, cls, TokenPosition::kMinSource);
   functions.SetAt(0, parent);
   cls.SetFunctions(functions);
 
@@ -3846,9 +3805,9 @@
   const Array& functions = Array::Handle(Array::New(1));
   Function& parent = Function::Handle();
   const String& parent_name = String::Handle(Symbols::New(thread, "foo_papa"));
-  parent = Function::New(parent_name, RawFunction::kRegularFunction,
-                         false, false, false, false, false, cls,
-                         TokenPosition::kMinSource);
+  parent =
+      Function::New(parent_name, RawFunction::kRegularFunction, false, false,
+                    false, false, false, cls, TokenPosition::kMinSource);
   functions.SetAt(0, parent);
   cls.SetFunctions(functions);
   cls.Finalize();
@@ -3858,10 +3817,9 @@
       String::Handle(Symbols::New(thread, "myMethod"));
   const Array& args_desc = Array::Handle(ArgumentsDescriptor::New(1));
   Function& invocation_dispatcher = Function::Handle();
-  invocation_dispatcher ^=
-      cls.GetInvocationDispatcher(invocation_dispatcher_name, args_desc,
-                                  RawFunction::kNoSuchMethodDispatcher,
-                                  true /* create_if_absent */);
+  invocation_dispatcher ^= cls.GetInvocationDispatcher(
+      invocation_dispatcher_name, args_desc,
+      RawFunction::kNoSuchMethodDispatcher, true /* create_if_absent */);
   EXPECT(!invocation_dispatcher.IsNull());
   // Get index to function.
   intptr_t invocation_dispatcher_index =
@@ -3885,8 +3843,7 @@
 
 static void PrintMetadata(const char* name, const Object& data) {
   if (data.IsError()) {
-    OS::Print("Error in metadata evaluation for %s: '%s'\n",
-              name,
+    OS::Print("Error in metadata evaluation for %s: '%s'\n", name,
               Error::Cast(data).ToErrorCString());
   }
   EXPECT(data.IsArray());
@@ -3961,8 +3918,8 @@
   res = lib.GetMetadata(func);
   PrintMetadata("main", res);
 
-  func = lib.LookupLocalFunction(String::Handle(Symbols::New(thread,
-                                                             "get:tlGetter")));
+  func = lib.LookupLocalFunction(
+      String::Handle(Symbols::New(thread, "get:tlGetter")));
   EXPECT(!func.IsNull());
   res = lib.GetMetadata(func);
   PrintMetadata("tlGetter", res);
@@ -4018,10 +3975,10 @@
   const Library& lib = Library::Handle(Library::LookupLibrary(thread, name));
   EXPECT(!lib.IsNull());
 
-  const Class& class_a = Class::Handle(
-      lib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
-  const Class& class_b = Class::Handle(
-      lib.LookupClass(String::Handle(Symbols::New(thread, "B"))));
+  const Class& class_a =
+      Class::Handle(lib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
+  const Class& class_b =
+      Class::Handle(lib.LookupClass(String::Handle(Symbols::New(thread, "B"))));
   const Function& a_test1 =
       Function::Handle(GetStaticFunction(class_a, "test1"));
   const Function& b_test1 =
@@ -4036,10 +3993,8 @@
       Function::Handle(GetStaticFunction(class_a, "test5"));
   const Function& b_test5 =
       Function::Handle(GetStaticFunction(class_b, "test5"));
-  const Function& a_test6 =
-      Function::Handle(GetFunction(class_a, "test6"));
-  const Function& b_test6 =
-      Function::Handle(GetFunction(class_b, "test6"));
+  const Function& a_test6 = Function::Handle(GetFunction(class_a, "test6"));
+  const Function& b_test6 = Function::Handle(GetFunction(class_b, "test6"));
 
   EXPECT_EQ(a_test1.SourceFingerprint(), b_test1.SourceFingerprint());
   EXPECT_NE(a_test1.SourceFingerprint(), a_test2.SourceFingerprint());
@@ -4084,8 +4039,7 @@
   EXPECT(!vmlib.IsNull());
   const Class& class_a = Class::Handle(
       vmlib.LookupClass(String::Handle(Symbols::New(thread, "A"))));
-  const Function& func_b =
-      Function::Handle(GetFunction(class_a, "b"));
+  const Function& func_b = Function::Handle(GetFunction(class_a, "b"));
   EXPECT(func_b.CanBeInlined());
 
   // After setting a breakpoint in a function A.b, it is no longer inlineable.
@@ -4132,21 +4086,20 @@
 class ObjectAccumulator : public ObjectVisitor {
  public:
   explicit ObjectAccumulator(GrowableArray<Object*>* objects)
-      : objects_(objects) { }
-  virtual ~ObjectAccumulator() { }
+      : objects_(objects) {}
+  virtual ~ObjectAccumulator() {}
   virtual void VisitObject(RawObject* obj) {
     if (obj->IsPseudoObject()) {
       return;  // Cannot be wrapped in handles.
     }
     Object& handle = Object::Handle(obj);
     // Skip some common simple objects to run in reasonable time.
-    if (handle.IsString() ||
-        handle.IsArray() ||
-        handle.IsLiteralToken()) {
+    if (handle.IsString() || handle.IsArray() || handle.IsLiteralToken()) {
       return;
     }
     objects_->Add(&handle);
   }
+
  private:
   GrowableArray<Object*>* objects_;
 };
@@ -4629,8 +4582,8 @@
     pieces.Add(*data[i]);
     array.SetAt(i, *data[i]);
   }
-  const String& res1 = String::Handle(zone, Symbols::FromConcatAll(thread,
-                                                                   pieces));
+  const String& res1 =
+      String::Handle(zone, Symbols::FromConcatAll(thread, pieces));
   const String& res2 = String::Handle(zone, String::ConcatAll(array));
   EXPECT(res1.Equals(res2));
 }
@@ -4638,65 +4591,63 @@
 
 VM_TEST_CASE(Symbols_FromConcatAll) {
   {
-    const String* data[3] = { &Symbols::FallThroughError(),
-                              &Symbols::Dot(),
-                              &Symbols::isPaused() };
+    const String* data[3] = {&Symbols::FallThroughError(), &Symbols::Dot(),
+                             &Symbols::isPaused()};
     CheckConcatAll(data, 3);
   }
 
   {
     const intptr_t kWideCharsLen = 7;
-    uint16_t wide_chars[kWideCharsLen] = { 'H', 'e', 'l', 'l', 'o', 256, '!' };
-    const String& two_str = String::Handle(String::FromUTF16(wide_chars,
-                                                             kWideCharsLen));
+    uint16_t wide_chars[kWideCharsLen] = {'H', 'e', 'l', 'l', 'o', 256, '!'};
+    const String& two_str =
+        String::Handle(String::FromUTF16(wide_chars, kWideCharsLen));
 
-    const String* data[3] = { &two_str, &Symbols::Dot(), &two_str };
+    const String* data[3] = {&two_str, &Symbols::Dot(), &two_str};
     CheckConcatAll(data, 3);
   }
 
   {
-    uint8_t characters[] = { 0xF6, 0xF1, 0xE9 };
+    uint8_t characters[] = {0xF6, 0xF1, 0xE9};
     intptr_t len = ARRAY_SIZE(characters);
 
     const String& str = String::Handle(
         ExternalOneByteString::New(characters, len, NULL, NULL, Heap::kNew));
-    const String* data[3] = { &str, &Symbols::Dot(), &str };
+    const String* data[3] = {&str, &Symbols::Dot(), &str};
     CheckConcatAll(data, 3);
   }
 
   {
-    uint16_t characters[] =
-        { 'a', '\n', '\f', '\b', '\t', '\v', '\r', '\\', '$', 'z' };
+    uint16_t characters[] = {'a',  '\n', '\f', '\b', '\t',
+                             '\v', '\r', '\\', '$',  'z'};
     intptr_t len = ARRAY_SIZE(characters);
 
     const String& str = String::Handle(
         ExternalTwoByteString::New(characters, len, NULL, NULL, Heap::kNew));
-    const String* data[3] = { &str, &Symbols::Dot(), &str };
+    const String* data[3] = {&str, &Symbols::Dot(), &str};
     CheckConcatAll(data, 3);
   }
 
   {
-    uint8_t characters1[] = { 0xF6, 0xF1, 0xE9 };
+    uint8_t characters1[] = {0xF6, 0xF1, 0xE9};
     intptr_t len1 = ARRAY_SIZE(characters1);
 
     const String& str1 = String::Handle(
         ExternalOneByteString::New(characters1, len1, NULL, NULL, Heap::kNew));
 
-    uint16_t characters2[] =
-        { 'a', '\n', '\f', '\b', '\t', '\v', '\r', '\\', '$', 'z' };
+    uint16_t characters2[] = {'a',  '\n', '\f', '\b', '\t',
+                              '\v', '\r', '\\', '$',  'z'};
     intptr_t len2 = ARRAY_SIZE(characters2);
 
     const String& str2 = String::Handle(
         ExternalTwoByteString::New(characters2, len2, NULL, NULL, Heap::kNew));
-    const String* data[3] = { &str1, &Symbols::Dot(), &str2 };
+    const String* data[3] = {&str1, &Symbols::Dot(), &str2};
     CheckConcatAll(data, 3);
   }
 
   {
     const String& empty = String::Handle(String::New(""));
-    const String* data[3] = { &Symbols::FallThroughError(),
-                              &empty,
-                              &Symbols::isPaused() };
+    const String* data[3] = {&Symbols::FallThroughError(), &empty,
+                             &Symbols::isPaused()};
     CheckConcatAll(data, 3);
   }
 }
@@ -4710,19 +4661,20 @@
 
 VM_TEST_CASE(String_ScrubName) {
   TestResult tests[] = {
-    {"(dynamic, dynamic) => void", "(dynamic, dynamic) => void"},
-    {"_List@915557746", "_List"},
-    {"_HashMap@600006304<K, V>(dynamic) => V", "_HashMap<K, V>(dynamic) => V"},
-    {"set:foo", "foo="},
-    {"get:foo", "foo"},
-    {"_ReceivePortImpl@709387912", "_ReceivePortImpl"},
-    {"_ReceivePortImpl@709387912._internal@709387912",
-        "_ReceivePortImpl._internal"},
-    {"_C@6328321&_E@6328321&_F@6328321", "_C&_E&_F"},
-    {"List.", "List"},
-    {"get:foo@6328321", "foo"},
-    {"_MyClass@6328321.", "_MyClass"},
-    {"_MyClass@6328321.named", "_MyClass.named"},
+      {"(dynamic, dynamic) => void", "(dynamic, dynamic) => void"},
+      {"_List@915557746", "_List"},
+      {"_HashMap@600006304<K, V>(dynamic) => V",
+       "_HashMap<K, V>(dynamic) => V"},
+      {"set:foo", "foo="},
+      {"get:foo", "foo"},
+      {"_ReceivePortImpl@709387912", "_ReceivePortImpl"},
+      {"_ReceivePortImpl@709387912._internal@709387912",
+       "_ReceivePortImpl._internal"},
+      {"_C@6328321&_E@6328321&_F@6328321", "_C&_E&_F"},
+      {"List.", "List"},
+      {"get:foo@6328321", "foo"},
+      {"_MyClass@6328321.", "_MyClass"},
+      {"_MyClass@6328321.named", "_MyClass.named"},
   };
   String& test = String::Handle();
   String& result = String::Handle();
@@ -4739,9 +4691,8 @@
   // and utf32 arrays happens after conversion to utf16 instead of utf32, as
   // required for proper canonicalization of string literals with a lossy
   // utf32->utf16 conversion.
-  int32_t char_codes[] = {
-    0, 0x0a, 0x0d, 0x7f, 0xff, 0xffff, 0xd800, 0xdc00, 0xdbff, 0xdfff
-  };
+  int32_t char_codes[] = {0,      0x0a,   0x0d,   0x7f,   0xff,
+                          0xffff, 0xd800, 0xdc00, 0xdbff, 0xdfff};
 
   const String& str =
       String::Handle(String::FromUTF32(char_codes, ARRAY_SIZE(char_codes)));
diff --git a/runtime/vm/os.h b/runtime/vm/os.h
index e381269..b90b06d 100644
--- a/runtime/vm/os.h
+++ b/runtime/vm/os.h
@@ -121,9 +121,7 @@
   // that occur.
   static int SNPrint(char* str, size_t size, const char* format, ...)
       PRINTF_ATTRIBUTE(3, 4);
-  static int VSNPrint(char* str, size_t size,
-                      const char* format,
-                      va_list args);
+  static int VSNPrint(char* str, size_t size, const char* format, va_list args);
 
   // Allocate a string and print formatted output into the buffer.
   // Uses the zone for allocation if one if provided, and otherwise uses
diff --git a/runtime/vm/os_android.cc b/runtime/vm/os_android.cc
index 92fcfd9..1ce9650 100644
--- a/runtime/vm/os_android.cc
+++ b/runtime/vm/os_android.cc
@@ -7,16 +7,16 @@
 
 #include "vm/os.h"
 
-#include <android/log.h>  // NOLINT
-#include <endian.h>  // NOLINT
-#include <errno.h>  // NOLINT
-#include <limits.h>  // NOLINT
-#include <malloc.h>  // NOLINT
-#include <time.h>  // NOLINT
+#include <android/log.h>   // NOLINT
+#include <endian.h>        // NOLINT
+#include <errno.h>         // NOLINT
+#include <limits.h>        // NOLINT
+#include <malloc.h>        // NOLINT
+#include <time.h>          // NOLINT
 #include <sys/resource.h>  // NOLINT
-#include <sys/time.h>  // NOLINT
-#include <sys/types.h>  // NOLINT
-#include <unistd.h>  // NOLINT
+#include <sys/time.h>      // NOLINT
+#include <sys/types.h>     // NOLINT
+#include <unistd.h>        // NOLINT
 
 #include "platform/utils.h"
 #include "vm/code_observers.h"
@@ -31,8 +31,10 @@
 
 #ifndef PRODUCT
 
-DEFINE_FLAG(bool, generate_perf_events_symbols, false,
-    "Generate events symbols for profiling with perf");
+DEFINE_FLAG(bool,
+            generate_perf_events_symbols,
+            false,
+            "Generate events symbols for profiling with perf");
 
 class PerfCodeObserver : public CodeObserver {
  public:
@@ -69,8 +71,9 @@
       return;
     }
     const char* marker = optimized ? "*" : "";
-    char* buffer = OS::SCreate(Thread::Current()->zone(),
-        "%" Px " %" Px " %s%s\n", base, size, marker, name);
+    char* buffer =
+        OS::SCreate(Thread::Current()->zone(), "%" Px " %" Px " %s%s\n", base,
+                    size, marker, name);
     (*file_write)(buffer, strlen(buffer), out_file_);
   }
 
@@ -184,7 +187,7 @@
 // TODO(5411554):  May need to hoist these architecture dependent code
 // into a architecture specific file e.g: os_ia32_linux.cc
 intptr_t OS::ActivationFrameAlignment() {
-#if defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64) || \
+#if defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64) ||                   \
     defined(TARGET_ARCH_ARM64)
   const int kMinimumAlignment = 16;
 #elif defined(TARGET_ARCH_ARM) || defined(TARGET_ARCH_DBC)
@@ -203,10 +206,8 @@
 
 
 intptr_t OS::PreferredCodeAlignment() {
-#if defined(TARGET_ARCH_IA32) ||                                               \
-    defined(TARGET_ARCH_X64) ||                                                \
-    defined(TARGET_ARCH_ARM64) ||                                              \
-    defined(TARGET_ARCH_DBC)
+#if defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64) ||                   \
+    defined(TARGET_ARCH_ARM64) || defined(TARGET_ARCH_DBC)
   const int kMinimumAlignment = 32;
 #elif defined(TARGET_ARCH_ARM) || defined(TARGET_ARCH_MIPS)
   const int kMinimumAlignment = 16;
@@ -390,8 +391,7 @@
   if (str[0] == '-') {
     i = 1;
   }
-  if ((str[i] == '0') &&
-      (str[i + 1] == 'x' || str[i + 1] == 'X') &&
+  if ((str[i] == '0') && (str[i + 1] == 'x' || str[i + 1] == 'X') &&
       (str[i + 2] != '\0')) {
     base = 16;
   }
@@ -430,8 +430,7 @@
 }
 
 
-void OS::Shutdown() {
-}
+void OS::Shutdown() {}
 
 
 void OS::Abort() {
diff --git a/runtime/vm/os_fuchsia.cc b/runtime/vm/os_fuchsia.cc
index 41a5d96..65e743c 100644
--- a/runtime/vm/os_fuchsia.cc
+++ b/runtime/vm/os_fuchsia.cc
@@ -18,8 +18,10 @@
 
 #ifndef PRODUCT
 
-DEFINE_FLAG(bool, generate_perf_events_symbols, false,
-    "Generate events symbols for profiling with perf");
+DEFINE_FLAG(bool,
+            generate_perf_events_symbols,
+            false,
+            "Generate events symbols for profiling with perf");
 
 #endif  // !PRODUCT
 
@@ -105,7 +107,7 @@
 // TODO(5411554):  May need to hoist these architecture dependent code
 // into a architecture specific file e.g: os_ia32_fuchsia.cc
 intptr_t OS::ActivationFrameAlignment() {
-#if defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64) || \
+#if defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64) ||                   \
     defined(TARGET_ARCH_ARM64)
   const int kMinimumAlignment = 16;
 #elif defined(TARGET_ARCH_ARM) || defined(TARGET_ARCH_DBC)
@@ -124,10 +126,8 @@
 
 
 intptr_t OS::PreferredCodeAlignment() {
-#if defined(TARGET_ARCH_IA32) ||                                               \
-    defined(TARGET_ARCH_X64) ||                                                \
-    defined(TARGET_ARCH_ARM64) ||                                              \
-    defined(TARGET_ARCH_DBC)
+#if defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64) ||                   \
+    defined(TARGET_ARCH_ARM64) || defined(TARGET_ARCH_DBC)
   const int kMinimumAlignment = 32;
 #elif defined(TARGET_ARCH_ARM) || defined(TARGET_ARCH_MIPS)
   const int kMinimumAlignment = 16;
@@ -163,14 +163,13 @@
 
 
 void OS::Sleep(int64_t millis) {
-  mx_nanosleep(
-      millis * kMicrosecondsPerMillisecond * kNanosecondsPerMicrosecond);
+  mx_nanosleep(millis * kMicrosecondsPerMillisecond *
+               kNanosecondsPerMicrosecond);
 }
 
 
 void OS::SleepMicros(int64_t micros) {
-  mx_nanosleep(
-      micros * kNanosecondsPerMicrosecond);
+  mx_nanosleep(micros * kNanosecondsPerMicrosecond);
 }
 
 
@@ -262,8 +261,7 @@
   if (str[0] == '-') {
     i = 1;
   }
-  if ((str[i] == '0') &&
-      (str[i + 1] == 'x' || str[i + 1] == 'X') &&
+  if ((str[i] == '0') && (str[i + 1] == 'x' || str[i + 1] == 'X') &&
       (str[i + 2] != '\0')) {
     base = 16;
   }
@@ -300,8 +298,7 @@
 }
 
 
-void OS::Shutdown() {
-}
+void OS::Shutdown() {}
 
 
 void OS::Abort() {
diff --git a/runtime/vm/os_linux.cc b/runtime/vm/os_linux.cc
index 7f5eff7..163f436 100644
--- a/runtime/vm/os_linux.cc
+++ b/runtime/vm/os_linux.cc
@@ -7,17 +7,17 @@
 
 #include "vm/os.h"
 
-#include <errno.h>  // NOLINT
-#include <limits.h>  // NOLINT
-#include <malloc.h>  // NOLINT
-#include <time.h>  // NOLINT
+#include <errno.h>         // NOLINT
+#include <limits.h>        // NOLINT
+#include <malloc.h>        // NOLINT
+#include <time.h>          // NOLINT
 #include <sys/resource.h>  // NOLINT
-#include <sys/time.h>  // NOLINT
-#include <sys/types.h>  // NOLINT
-#include <sys/syscall.h>  // NOLINT
-#include <sys/stat.h>  // NOLINT
-#include <fcntl.h>  // NOLINT
-#include <unistd.h>  // NOLINT
+#include <sys/time.h>      // NOLINT
+#include <sys/types.h>     // NOLINT
+#include <sys/syscall.h>   // NOLINT
+#include <sys/stat.h>      // NOLINT
+#include <fcntl.h>         // NOLINT
+#include <unistd.h>        // NOLINT
 
 #include "platform/memory_sanitizer.h"
 #include "platform/utils.h"
@@ -34,8 +34,10 @@
 
 #ifndef PRODUCT
 
-DEFINE_FLAG(bool, generate_perf_events_symbols, false,
-    "Generate events symbols for profiling with perf");
+DEFINE_FLAG(bool,
+            generate_perf_events_symbols,
+            false,
+            "Generate events symbols for profiling with perf");
 
 // Linux CodeObservers.
 class PerfCodeObserver : public CodeObserver {
@@ -73,8 +75,9 @@
       return;
     }
     const char* marker = optimized ? "*" : "";
-    char* buffer = OS::SCreate(Thread::Current()->zone(),
-        "%" Px " %" Px " %s%s\n", base, size, marker, name);
+    char* buffer =
+        OS::SCreate(Thread::Current()->zone(), "%" Px " %" Px " %s%s\n", base,
+                    size, marker, name);
     {
       MutexLocker ml(CodeObservers::mutex());
       (*file_write)(buffer, strlen(buffer), out_file_);
@@ -192,10 +195,8 @@
 // TODO(5411554):  May need to hoist these architecture dependent code
 // into a architecture specific file e.g: os_ia32_linux.cc
 intptr_t OS::ActivationFrameAlignment() {
-#if defined(TARGET_ARCH_IA32) ||                                               \
-    defined(TARGET_ARCH_X64) ||                                                \
-    defined(TARGET_ARCH_ARM64) ||                                              \
-    defined(TARGET_ARCH_DBC)
+#if defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64) ||                   \
+    defined(TARGET_ARCH_ARM64) || defined(TARGET_ARCH_DBC)
   const int kMinimumAlignment = 16;
 #elif defined(TARGET_ARCH_ARM) || defined(TARGET_ARCH_MIPS)
   const int kMinimumAlignment = 8;
@@ -213,10 +214,8 @@
 
 
 intptr_t OS::PreferredCodeAlignment() {
-#if defined(TARGET_ARCH_IA32) ||                                               \
-    defined(TARGET_ARCH_X64) ||                                                \
-    defined(TARGET_ARCH_ARM64) ||                                              \
-    defined(TARGET_ARCH_DBC)
+#if defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64) ||                   \
+    defined(TARGET_ARCH_ARM64) || defined(TARGET_ARCH_DBC)
   const int kMinimumAlignment = 32;
 #elif defined(TARGET_ARCH_ARM) || defined(TARGET_ARCH_MIPS)
   const int kMinimumAlignment = 16;
@@ -372,8 +371,7 @@
   if (str[0] == '-') {
     i = 1;
   }
-  if ((str[i] == '0') &&
-      (str[i + 1] == 'x' || str[i + 1] == 'X') &&
+  if ((str[i] == '0') && (str[i + 1] == 'x' || str[i + 1] == 'X') &&
       (str[i + 2] != '\0')) {
     base = 16;
   }
@@ -410,8 +408,7 @@
 }
 
 
-void OS::Shutdown() {
-}
+void OS::Shutdown() {}
 
 
 void OS::Abort() {
diff --git a/runtime/vm/os_macos.cc b/runtime/vm/os_macos.cc
index db3adbb..7038dd5 100644
--- a/runtime/vm/os_macos.cc
+++ b/runtime/vm/os_macos.cc
@@ -7,17 +7,17 @@
 
 #include "vm/os.h"
 
-#include <errno.h>  // NOLINT
-#include <limits.h>  // NOLINT
-#include <mach/mach.h>  // NOLINT
-#include <mach/clock.h>  // NOLINT
+#include <errno.h>           // NOLINT
+#include <limits.h>          // NOLINT
+#include <mach/mach.h>       // NOLINT
+#include <mach/clock.h>      // NOLINT
 #include <mach/mach_time.h>  // NOLINT
-#include <sys/time.h>  // NOLINT
-#include <sys/resource.h>  // NOLINT
-#include <unistd.h>  // NOLINT
+#include <sys/time.h>        // NOLINT
+#include <sys/resource.h>    // NOLINT
+#include <unistd.h>          // NOLINT
 #if TARGET_OS_IOS
 #include <sys/sysctl.h>  // NOLINT
-#include <syslog.h>  // NOLINT
+#include <syslog.h>      // NOLINT
 #endif
 
 #include "platform/utils.h"
@@ -153,8 +153,8 @@
   if (thread_port == MACH_PORT_NULL) {
     return -1;
   }
-  kern_return_t r = thread_info(thread_port, THREAD_BASIC_INFO,
-                                (thread_info_t)info, &count);
+  kern_return_t r =
+      thread_info(thread_port, THREAD_BASIC_INFO, (thread_info_t)info, &count);
   mach_port_deallocate(mach_task_self(), thread_port);
   ASSERT(r == KERN_SUCCESS);
   int64_t thread_cpu_micros =
@@ -183,7 +183,7 @@
 #else
 #error Unimplemented
 #endif
-#else  // TARGET_OS_IOS
+#else   // TARGET_OS_IOS
   // OS X activation frames must be 16 byte-aligned; see "Mac OS X ABI
   // Function Call Guide".
   return 16;
@@ -192,10 +192,8 @@
 
 
 intptr_t OS::PreferredCodeAlignment() {
-#if defined(TARGET_ARCH_IA32) ||                                               \
-    defined(TARGET_ARCH_X64) ||                                                \
-    defined(TARGET_ARCH_ARM64) ||                                              \
-    defined(TARGET_ARCH_DBC)
+#if defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64) ||                   \
+    defined(TARGET_ARCH_ARM64) || defined(TARGET_ARCH_DBC)
   const int kMinimumAlignment = 32;
 #elif defined(TARGET_ARCH_ARM) || defined(TARGET_ARCH_MIPS)
   const int kMinimumAlignment = 16;
@@ -269,9 +267,9 @@
 
 
 char* OS::StrNDup(const char* s, intptr_t n) {
-  // strndup has only been added to Mac OS X in 10.7. We are supplying
-  // our own copy here if needed.
-#if !defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) || \
+// strndup has only been added to Mac OS X in 10.7. We are supplying
+// our own copy here if needed.
+#if !defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) ||                 \
     __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ <= 1060
   intptr_t len = strlen(s);
   if ((n < 0) || (len < 0)) {
@@ -286,16 +284,16 @@
   }
   result[len] = '\0';
   return reinterpret_cast<char*>(memmove(result, s, len));
-#else  // !defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) || ...
+#else   // !defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) || ...
   return strndup(s, n);
 #endif  // !defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) || ...
 }
 
 
 intptr_t OS::StrNLen(const char* s, intptr_t n) {
-  // strnlen has only been added to Mac OS X in 10.7. We are supplying
-  // our own copy here if needed.
-#if !defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) || \
+// strnlen has only been added to Mac OS X in 10.7. We are supplying
+// our own copy here if needed.
+#if !defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) ||                 \
     __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ <= 1060
   intptr_t len = 0;
   while ((len <= n) && (*s != '\0')) {
@@ -303,7 +301,7 @@
     len++;
   }
   return len;
-#else  // !defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) || ...
+#else   // !defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) || ...
   return strnlen(s, n);
 #endif  // !defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) || ...
 }
@@ -389,8 +387,7 @@
   if (str[0] == '-') {
     i = 1;
   }
-  if ((str[i] == '0') &&
-      (str[i + 1] == 'x' || str[i + 1] == 'X') &&
+  if ((str[i] == '0') && (str[i + 1] == 'x' || str[i + 1] == 'X') &&
       (str[i + 2] != '\0')) {
     base = 16;
   }
@@ -400,8 +397,7 @@
 }
 
 
-void OS::RegisterCodeObservers() {
-}
+void OS::RegisterCodeObservers() {}
 
 
 void OS::PrintErr(const char* format, ...) {
@@ -429,8 +425,7 @@
 }
 
 
-void OS::Shutdown() {
-}
+void OS::Shutdown() {}
 
 
 void OS::Abort() {
diff --git a/runtime/vm/os_thread.cc b/runtime/vm/os_thread.cc
index 3700c9f..f5818a2 100644
--- a/runtime/vm/os_thread.cc
+++ b/runtime/vm/os_thread.cc
@@ -20,23 +20,23 @@
 bool OSThread::creation_enabled_ = false;
 
 
-OSThread::OSThread() :
-    BaseThread(true),
-    id_(OSThread::GetCurrentThreadId()),
+OSThread::OSThread()
+    : BaseThread(true),
+      id_(OSThread::GetCurrentThreadId()),
 #if defined(DEBUG)
-    join_id_(kInvalidThreadJoinId),
+      join_id_(kInvalidThreadJoinId),
 #endif
 #ifndef PRODUCT
-    trace_id_(OSThread::GetCurrentThreadTraceId()),
+      trace_id_(OSThread::GetCurrentThreadTraceId()),
 #endif
-    name_(NULL),
-    timeline_block_lock_(new Mutex()),
-    timeline_block_(NULL),
-    thread_list_next_(NULL),
-    thread_interrupt_disabled_(1),  // Thread interrupts disabled by default.
-    log_(new class Log()),
-    stack_base_(0),
-    thread_(NULL) {
+      name_(NULL),
+      timeline_block_lock_(new Mutex()),
+      timeline_block_(NULL),
+      thread_list_next_(NULL),
+      thread_interrupt_disabled_(1),  // Thread interrupts disabled by default.
+      log_(new class Log()),
+      stack_base_(0),
+      thread_(NULL) {
 }
 
 
@@ -67,7 +67,6 @@
 }
 
 
-
 void OSThread::SetName(const char* name) {
   MutexLocker ml(thread_list_lock_);
   // Clear the old thread name.
@@ -135,8 +134,8 @@
 
 
 void OSThread::Cleanup() {
-  // We cannot delete the thread local key and thread list lock,  yet.
-  // See the note on thread_list_lock_ in os_thread.h.
+// We cannot delete the thread local key and thread list lock,  yet.
+// See the note on thread_list_lock_ in os_thread.h.
 #if 0
   if (thread_list_lock_ != NULL) {
     // Delete the thread local key.
@@ -243,7 +242,7 @@
           previous->thread_list_next_ = current->thread_list_next_;
         }
         thread->thread_list_next_ = NULL;
-        final_thread = !creation_enabled_  && (thread_list_head_ == NULL);
+        final_thread = !creation_enabled_ && (thread_list_head_ == NULL);
         break;
       }
       previous = current;
diff --git a/runtime/vm/os_thread.h b/runtime/vm/os_thread.h
index 00fad7c..da29831 100644
--- a/runtime/vm/os_thread.h
+++ b/runtime/vm/os_thread.h
@@ -70,9 +70,7 @@
   }
 #endif
 
-  const char* name() const {
-    return name_;
-  }
+  const char* name() const { return name_; }
 
   void SetName(const char* name);
 
@@ -83,14 +81,10 @@
     name_ = strdup(name);
   }
 
-  Mutex* timeline_block_lock() const {
-    return timeline_block_lock_;
-  }
+  Mutex* timeline_block_lock() const { return timeline_block_lock_; }
 
   // Only safe to access when holding |timeline_block_lock_|.
-  TimelineEventBlock* timeline_block() const {
-    return timeline_block_;
-  }
+  TimelineEventBlock* timeline_block() const { return timeline_block_; }
 
   // Only safe to access when holding |timeline_block_lock_|.
   void set_timeline_block(TimelineEventBlock* block) {
@@ -147,18 +141,17 @@
   static BaseThread* GetCurrentTLS() {
     return reinterpret_cast<BaseThread*>(OSThread::GetThreadLocal(thread_key_));
   }
-  static void SetCurrentTLS(uword value) {
-    SetThreadLocal(thread_key_, value);
-  }
+  static void SetCurrentTLS(uword value) { SetThreadLocal(thread_key_, value); }
 
-  typedef void (*ThreadStartFunction) (uword parameter);
-  typedef void (*ThreadDestructor) (void* parameter);
+  typedef void (*ThreadStartFunction)(uword parameter);
+  typedef void (*ThreadDestructor)(void* parameter);
 
   // Start a thread running the specified function. Returns 0 if the
   // thread started successfuly and a system specific error code if
   // the thread failed to start.
-  static int Start(
-      const char* name, ThreadStartFunction function, uword parameter);
+  static int Start(const char* name,
+                   ThreadStartFunction function,
+                   uword parameter);
 
   static ThreadLocalKey CreateThreadLocal(ThreadDestructor destructor = NULL);
   static void DeleteThreadLocal(ThreadLocalKey key);
@@ -202,9 +195,7 @@
   // We could eliminate this requirement if the windows thread interrupter
   // is implemented differently.
   Thread* thread() const { return thread_; }
-  void set_thread(Thread* value) {
-    thread_ = value;
-  }
+  void set_thread(Thread* value) { thread_ = value; }
 
   static void Cleanup();
 #ifndef PRODUCT
@@ -311,10 +302,7 @@
 
 class Monitor {
  public:
-  enum WaitResult {
-    kNotified,
-    kTimedOut
-  };
+  enum WaitResult { kNotified, kTimedOut };
 
   static const int64_t kNoTimeout = 0;
 
diff --git a/runtime/vm/os_thread_android.cc b/runtime/vm/os_thread_android.cc
index 8f9c648..c1a9303 100644
--- a/runtime/vm/os_thread_android.cc
+++ b/runtime/vm/os_thread_android.cc
@@ -9,7 +9,7 @@
 
 #include "vm/os_thread.h"
 
-#include <errno.h>  // NOLINT
+#include <errno.h>     // NOLINT
 #include <sys/time.h>  // NOLINT
 
 #include "platform/assert.h"
@@ -20,13 +20,13 @@
 
 namespace dart {
 
-#define VALIDATE_PTHREAD_RESULT(result) \
-  if (result != 0) { \
-    const int kBufferSize = 1024; \
-    char error_message[kBufferSize]; \
-    NOT_IN_PRODUCT(Profiler::DumpStackTrace(true /* native_stack_trace */)); \
-    Utils::StrError(result, error_message, kBufferSize); \
-    FATAL2("pthread error: %d (%s)", result, error_message); \
+#define VALIDATE_PTHREAD_RESULT(result)                                        \
+  if (result != 0) {                                                           \
+    const int kBufferSize = 1024;                                              \
+    char error_message[kBufferSize];                                           \
+    NOT_IN_PRODUCT(Profiler::DumpStackTrace(true /* native_stack_trace */));   \
+    Utils::StrError(result, error_message, kBufferSize);                       \
+    FATAL2("pthread error: %d (%s)", result, error_message);                   \
   }
 
 
@@ -39,17 +39,17 @@
 
 
 #ifdef DEBUG
-#define RETURN_ON_PTHREAD_FAILURE(result) \
-  if (result != 0) { \
-    const int kBufferSize = 1024; \
-    char error_message[kBufferSize]; \
-    Utils::StrError(result, error_message, kBufferSize); \
-    fprintf(stderr, "%s:%d: pthread error: %d (%s)\n", \
-            __FILE__, __LINE__, result, error_message); \
-    return result; \
+#define RETURN_ON_PTHREAD_FAILURE(result)                                      \
+  if (result != 0) {                                                           \
+    const int kBufferSize = 1024;                                              \
+    char error_message[kBufferSize];                                           \
+    Utils::StrError(result, error_message, kBufferSize);                       \
+    fprintf(stderr, "%s:%d: pthread error: %d (%s)\n", __FILE__, __LINE__,     \
+            result, error_message);                                            \
+    return result;                                                             \
   }
 #else
-#define RETURN_ON_PTHREAD_FAILURE(result) \
+#define RETURN_ON_PTHREAD_FAILURE(result)                                      \
   if (result != 0) return result;
 #endif
 
diff --git a/runtime/vm/os_thread_fuchsia.cc b/runtime/vm/os_thread_fuchsia.cc
index 481e59f..c57c2a1 100644
--- a/runtime/vm/os_thread_fuchsia.cc
+++ b/runtime/vm/os_thread_fuchsia.cc
@@ -16,9 +16,9 @@
 
 namespace dart {
 
-#define VALIDATE_PTHREAD_RESULT(result) \
-  if (result != 0) { \
-    FATAL1("pthread error: %d", result); \
+#define VALIDATE_PTHREAD_RESULT(result)                                        \
+  if (result != 0) {                                                           \
+    FATAL1("pthread error: %d", result);                                       \
   }
 
 
@@ -31,16 +31,13 @@
 
 
 #ifdef DEBUG
-#define RETURN_ON_PTHREAD_FAILURE(result) \
-  if (result != 0) { \
-    const int kBufferSize = 1024; \
-    char error_buf[kBufferSize]; \
-    fprintf(stderr, "%s:%d: pthread error: %d\n", \
-            __FILE__, __LINE__, result); \
-    return result; \
+#define RETURN_ON_PTHREAD_FAILURE(result)                                      \
+  if (result != 0) {                                                           \
+    fprintf(stderr, "%s:%d: pthread error: %d\n", __FILE__, __LINE__, result); \
+    return result;                                                             \
   }
 #else
-#define RETURN_ON_PTHREAD_FAILURE(result) \
+#define RETURN_ON_PTHREAD_FAILURE(result)                                      \
   if (result != 0) return result;
 #endif
 
diff --git a/runtime/vm/os_thread_linux.cc b/runtime/vm/os_thread_linux.cc
index ac8a02b..8190521 100644
--- a/runtime/vm/os_thread_linux.cc
+++ b/runtime/vm/os_thread_linux.cc
@@ -8,10 +8,10 @@
 
 #include "vm/os_thread.h"
 
-#include <errno.h>  // NOLINT
+#include <errno.h>         // NOLINT
 #include <sys/resource.h>  // NOLINT
-#include <sys/syscall.h>  // NOLINT
-#include <sys/time.h>  // NOLINT
+#include <sys/syscall.h>   // NOLINT
+#include <sys/time.h>      // NOLINT
 
 #include "platform/assert.h"
 #include "platform/signal_blocker.h"
@@ -21,13 +21,13 @@
 
 namespace dart {
 
-#define VALIDATE_PTHREAD_RESULT(result) \
-  if (result != 0) { \
-    const int kBufferSize = 1024; \
-    char error_buf[kBufferSize]; \
-    NOT_IN_PRODUCT(Profiler::DumpStackTrace(true /* native_stack_trace */)); \
-    FATAL2("pthread error: %d (%s)", result, \
-           Utils::StrError(result, error_buf, kBufferSize)); \
+#define VALIDATE_PTHREAD_RESULT(result)                                        \
+  if (result != 0) {                                                           \
+    const int kBufferSize = 1024;                                              \
+    char error_buf[kBufferSize];                                               \
+    NOT_IN_PRODUCT(Profiler::DumpStackTrace(true /* native_stack_trace */));   \
+    FATAL2("pthread error: %d (%s)", result,                                   \
+           Utils::StrError(result, error_buf, kBufferSize));                   \
   }
 
 
@@ -40,17 +40,16 @@
 
 
 #ifdef DEBUG
-#define RETURN_ON_PTHREAD_FAILURE(result) \
-  if (result != 0) { \
-    const int kBufferSize = 1024; \
-    char error_buf[kBufferSize]; \
-    fprintf(stderr, "%s:%d: pthread error: %d (%s)\n", \
-            __FILE__, __LINE__, result, \
-            Utils::StrError(result, error_buf, kBufferSize)); \
-    return result; \
+#define RETURN_ON_PTHREAD_FAILURE(result)                                      \
+  if (result != 0) {                                                           \
+    const int kBufferSize = 1024;                                              \
+    char error_buf[kBufferSize];                                               \
+    fprintf(stderr, "%s:%d: pthread error: %d (%s)\n", __FILE__, __LINE__,     \
+            result, Utils::StrError(result, error_buf, kBufferSize));          \
+    return result;                                                             \
   }
 #else
-#define RETURN_ON_PTHREAD_FAILURE(result) \
+#define RETURN_ON_PTHREAD_FAILURE(result)                                      \
   if (result != 0) return result;
 #endif
 
diff --git a/runtime/vm/os_thread_macos.cc b/runtime/vm/os_thread_macos.cc
index 92d0414..ec0959b 100644
--- a/runtime/vm/os_thread_macos.cc
+++ b/runtime/vm/os_thread_macos.cc
@@ -7,16 +7,16 @@
 
 #include "vm/os_thread.h"
 
-#include <sys/errno.h>  // NOLINT
-#include <sys/types.h>  // NOLINT
-#include <sys/sysctl.h>  // NOLINT
-#include <mach/mach_init.h>  // NOLINT
-#include <mach/mach_host.h>  // NOLINT
-#include <mach/mach_port.h>  // NOLINT
-#include <mach/mach_traps.h>  // NOLINT
-#include <mach/task_info.h>  // NOLINT
+#include <sys/errno.h>         // NOLINT
+#include <sys/types.h>         // NOLINT
+#include <sys/sysctl.h>        // NOLINT
+#include <mach/mach_init.h>    // NOLINT
+#include <mach/mach_host.h>    // NOLINT
+#include <mach/mach_port.h>    // NOLINT
+#include <mach/mach_traps.h>   // NOLINT
+#include <mach/task_info.h>    // NOLINT
 #include <mach/thread_info.h>  // NOLINT
-#include <mach/thread_act.h>  // NOLINT
+#include <mach/thread_act.h>   // NOLINT
 
 #include "platform/assert.h"
 #include "platform/utils.h"
@@ -25,13 +25,13 @@
 
 namespace dart {
 
-#define VALIDATE_PTHREAD_RESULT(result)         \
-  if (result != 0) { \
-    const int kBufferSize = 1024; \
-    char error_message[kBufferSize]; \
-    NOT_IN_PRODUCT(Profiler::DumpStackTrace(true /* native_stack_trace */)); \
-    Utils::StrError(result, error_message, kBufferSize); \
-    FATAL2("pthread error: %d (%s)", result, error_message); \
+#define VALIDATE_PTHREAD_RESULT(result)                                        \
+  if (result != 0) {                                                           \
+    const int kBufferSize = 1024;                                              \
+    char error_message[kBufferSize];                                           \
+    NOT_IN_PRODUCT(Profiler::DumpStackTrace(true /* native_stack_trace */));   \
+    Utils::StrError(result, error_message, kBufferSize);                       \
+    FATAL2("pthread error: %d (%s)", result, error_message);                   \
   }
 
 
@@ -44,17 +44,17 @@
 
 
 #ifdef DEBUG
-#define RETURN_ON_PTHREAD_FAILURE(result) \
-  if (result != 0) { \
-    const int kBufferSize = 1024; \
-    char error_message[kBufferSize]; \
-    Utils::StrError(result, error_message, kBufferSize); \
-    fprintf(stderr, "%s:%d: pthread error: %d (%s)\n", \
-            __FILE__, __LINE__, result, error_message); \
-    return result; \
+#define RETURN_ON_PTHREAD_FAILURE(result)                                      \
+  if (result != 0) {                                                           \
+    const int kBufferSize = 1024;                                              \
+    char error_message[kBufferSize];                                           \
+    Utils::StrError(result, error_message, kBufferSize);                       \
+    fprintf(stderr, "%s:%d: pthread error: %d (%s)\n", __FILE__, __LINE__,     \
+            result, error_message);                                            \
+    return result;                                                             \
   }
 #else
-#define RETURN_ON_PTHREAD_FAILURE(result) \
+#define RETURN_ON_PTHREAD_FAILURE(result)                                      \
   if (result != 0) return result;
 #endif
 
@@ -394,9 +394,8 @@
         (micros - (secs * kMicrosecondsPerSecond)) * kNanosecondsPerMicrosecond;
     ts.tv_sec = static_cast<int32_t>(secs);
     ts.tv_nsec = static_cast<long>(nanos);  // NOLINT (long used in timespec).
-    int result = pthread_cond_timedwait_relative_np(data_.cond(),
-                                                    data_.mutex(),
-                                                    &ts);
+    int result =
+        pthread_cond_timedwait_relative_np(data_.cond(), data_.mutex(), &ts);
     ASSERT((result == 0) || (result == ETIMEDOUT));
     if (result == ETIMEDOUT) {
       retval = kTimedOut;
diff --git a/runtime/vm/os_thread_win.cc b/runtime/vm/os_thread_win.cc
index 6be6804..7599195 100644
--- a/runtime/vm/os_thread_win.cc
+++ b/runtime/vm/os_thread_win.cc
@@ -314,7 +314,7 @@
 void MonitorWaitData::ThreadExit() {
   if (MonitorWaitData::monitor_wait_data_key_ != kUnsetThreadLocalKey) {
     uword raw_wait_data =
-      OSThread::GetThreadLocal(MonitorWaitData::monitor_wait_data_key_);
+        OSThread::GetThreadLocal(MonitorWaitData::monitor_wait_data_key_);
     // Clear in case this is called a second time.
     OSThread::SetThreadLocal(MonitorWaitData::monitor_wait_data_key_, 0);
     if (raw_wait_data != 0) {
@@ -425,7 +425,7 @@
   // Get the MonitorWaitData object containing the event for this
   // thread from thread local storage. Create it if it does not exist.
   uword raw_wait_data =
-    OSThread::GetThreadLocal(MonitorWaitData::monitor_wait_data_key_);
+      OSThread::GetThreadLocal(MonitorWaitData::monitor_wait_data_key_);
   MonitorWaitData* wait_data = NULL;
   if (raw_wait_data == 0) {
     HANDLE event = CreateEvent(NULL, FALSE, FALSE, NULL);
diff --git a/runtime/vm/os_thread_win.h b/runtime/vm/os_thread_win.h
index 714d175..3620570 100644
--- a/runtime/vm/os_thread_win.h
+++ b/runtime/vm/os_thread_win.h
@@ -122,24 +122,18 @@
 };
 
 
-typedef void (*ThreadDestructor) (void* parameter);
+typedef void (*ThreadDestructor)(void* parameter);
 
 
 class ThreadLocalEntry {
  public:
   ThreadLocalEntry(ThreadLocalKey key, ThreadDestructor destructor)
-      : key_(key),
-        destructor_(destructor) {
-  }
+      : key_(key), destructor_(destructor) {}
 
-  ThreadLocalKey key() const {
-    return key_;
-  }
+  ThreadLocalKey key() const { return key_; }
 
 
-  ThreadDestructor destructor() const {
-    return destructor_;
-  }
+  ThreadDestructor destructor() const { return destructor_; }
 
  private:
   ThreadLocalKey key_;
@@ -149,7 +143,7 @@
 };
 
 
-template<typename T>
+template <typename T>
 class MallocGrowableArray;
 
 
diff --git a/runtime/vm/os_win.cc b/runtime/vm/os_win.cc
index 129dcd1..1134ce7 100644
--- a/runtime/vm/os_win.cc
+++ b/runtime/vm/os_win.cc
@@ -7,10 +7,10 @@
 
 #include "vm/os.h"
 
-#include <malloc.h>  // NOLINT
+#include <malloc.h>   // NOLINT
 #include <process.h>  // NOLINT
-#include <psapi.h>  // NOLINT
-#include <time.h>  // NOLINT
+#include <psapi.h>    // NOLINT
+#include <time.h>     // NOLINT
 
 #include "platform/utils.h"
 #include "platform/assert.h"
@@ -79,14 +79,12 @@
   }
 
   // Convert the wchar string to a null-terminated utf8 string.
-  wchar_t* wchar_name = daylight_savings
-                      ? zone_information.DaylightName
-                      : zone_information.StandardName;
-  intptr_t utf8_len = WideCharToMultiByte(
-      CP_UTF8, 0, wchar_name, -1, NULL, 0, NULL, NULL);
+  wchar_t* wchar_name = daylight_savings ? zone_information.DaylightName
+                                         : zone_information.StandardName;
+  intptr_t utf8_len =
+      WideCharToMultiByte(CP_UTF8, 0, wchar_name, -1, NULL, 0, NULL, NULL);
   char* name = Thread::Current()->zone()->Alloc<char>(utf8_len + 1);
-  WideCharToMultiByte(
-      CP_UTF8, 0, wchar_name, -1, name, utf8_len, NULL, NULL);
+  WideCharToMultiByte(CP_UTF8, 0, wchar_name, -1, name, utf8_len, NULL, NULL);
   name[utf8_len] = '\0';
   return name;
 }
@@ -377,8 +375,7 @@
   if (str[0] == '-') {
     i = 1;
   }
-  if ((str[i] == '0') &&
-      (str[i + 1] == 'x' || str[i + 1] == 'X') &&
+  if ((str[i] == '0') && (str[i + 1] == 'x' || str[i + 1] == 'X') &&
       (str[i + 2] != '\0')) {
     base = 16;
   }
@@ -388,8 +385,7 @@
 }
 
 
-void OS::RegisterCodeObservers() {
-}
+void OS::RegisterCodeObservers() {}
 
 
 void OS::PrintErr(const char* format, ...) {
diff --git a/runtime/vm/pages.cc b/runtime/vm/pages.cc
index f2bbdf2..36019130 100644
--- a/runtime/vm/pages.cc
+++ b/runtime/vm/pages.cc
@@ -17,23 +17,41 @@
 
 namespace dart {
 
-DEFINE_FLAG(int, heap_growth_rate, 0,
+DEFINE_FLAG(int,
+            heap_growth_rate,
+            0,
             "The max number of pages the heap can grow at a time");
-DEFINE_FLAG(int, old_gen_growth_space_ratio, 20,
+DEFINE_FLAG(int,
+            old_gen_growth_space_ratio,
+            20,
             "The desired maximum percentage of free space after old gen GC");
-DEFINE_FLAG(int, old_gen_growth_time_ratio, 3,
+DEFINE_FLAG(int,
+            old_gen_growth_time_ratio,
+            3,
             "The desired maximum percentage of time spent in old gen GC");
-DEFINE_FLAG(int, old_gen_growth_rate, 280,
+DEFINE_FLAG(int,
+            old_gen_growth_rate,
+            280,
             "The max number of pages the old generation can grow at a time");
-DEFINE_FLAG(bool, print_free_list_before_gc, false,
+DEFINE_FLAG(bool,
+            print_free_list_before_gc,
+            false,
             "Print free list statistics before a GC");
-DEFINE_FLAG(bool, print_free_list_after_gc, false,
+DEFINE_FLAG(bool,
+            print_free_list_after_gc,
+            false,
             "Print free list statistics after a GC");
-DEFINE_FLAG(int, code_collection_interval_in_us, 30000000,
+DEFINE_FLAG(int,
+            code_collection_interval_in_us,
+            30000000,
             "Time between attempts to collect unused code.");
-DEFINE_FLAG(bool, log_code_drop, false,
+DEFINE_FLAG(bool,
+            log_code_drop,
+            false,
             "Emit a log message when pointers to unused code are dropped.");
-DEFINE_FLAG(bool, always_drop_code, false,
+DEFINE_FLAG(bool,
+            always_drop_code,
+            false,
             "Always try to drop code if the function's usage counter is >= 0");
 DEFINE_FLAG(bool, log_growth, false, "Log PageSpace growth policy decisions.");
 
@@ -405,22 +423,22 @@
     // A successful allocation should increase usage_.
     ASSERT(usage_before.used_in_words < usage_.used_in_words);
   }
-  // Note we cannot assert that a failed allocation should not change
-  // used_in_words as another thread could have changed used_in_words.
+// Note we cannot assert that a failed allocation should not change
+// used_in_words as another thread could have changed used_in_words.
 #endif
   ASSERT((result & kObjectAlignmentMask) == kOldObjectAlignmentOffset);
   return result;
 }
 
 
-  void PageSpace::AcquireDataLock() {
-    freelist_[HeapPage::kData].mutex()->Lock();
-  }
+void PageSpace::AcquireDataLock() {
+  freelist_[HeapPage::kData].mutex()->Lock();
+}
 
 
-  void PageSpace::ReleaseDataLock() {
-    freelist_[HeapPage::kData].mutex()->Unlock();
-  }
+void PageSpace::ReleaseDataLock() {
+  freelist_[HeapPage::kData].mutex()->Unlock();
+}
 
 
 void PageSpace::AllocateExternal(intptr_t size) {
@@ -456,6 +474,7 @@
     ASSERT(!Done());
     page_ = space_->NextPageAnySize(page_);
   }
+
  private:
   const PageSpace* space_;
   MutexLocker ml_;
@@ -479,6 +498,7 @@
     ASSERT(!Done());
     page_ = page_->next();
   }
+
  private:
   const PageSpace* space_;
   MutexLocker ml_;
@@ -501,6 +521,7 @@
     ASSERT(!Done());
     page_ = page_->next();
   }
+
  private:
   const PageSpace* space_;
   MutexLocker ml_;
@@ -549,8 +570,7 @@
   ASSERT(heap_ != NULL);
   ASSERT(heap_->isolate() != NULL);
   Isolate* isolate = heap_->isolate();
-  isolate->GetHeapOldUsedMaxMetric()->SetValue(
-      UsedInWords() * kWordSize);
+  isolate->GetHeapOldUsedMaxMetric()->SetValue(UsedInWords() * kWordSize);
 }
 
 
@@ -699,25 +719,25 @@
 
 class HeapMapAsJSONVisitor : public ObjectVisitor {
  public:
-  explicit HeapMapAsJSONVisitor(JSONArray* array) : array_(array) { }
+  explicit HeapMapAsJSONVisitor(JSONArray* array) : array_(array) {}
   virtual void VisitObject(RawObject* obj) {
     array_->AddValue(obj->Size() / kObjectAlignment);
     array_->AddValue(obj->GetClassId());
   }
+
  private:
   JSONArray* array_;
 };
 
 
-void PageSpace::PrintHeapMapToJSONStream(
-    Isolate* isolate, JSONStream* stream) const {
+void PageSpace::PrintHeapMapToJSONStream(Isolate* isolate,
+                                         JSONStream* stream) const {
   if (!FLAG_support_service) {
     return;
   }
   JSONObject heap_map(stream);
   heap_map.AddProperty("type", "HeapMap");
-  heap_map.AddProperty("freeClassId",
-                       static_cast<intptr_t>(kFreeListElement));
+  heap_map.AddProperty("freeClassId", static_cast<intptr_t>(kFreeListElement));
   heap_map.AddProperty("unitSizeBytes",
                        static_cast<intptr_t>(kObjectAlignment));
   heap_map.AddProperty("pageSizeBytes", kPageSizeInWords * kWordSize);
@@ -735,16 +755,16 @@
     JSONArray all_pages(&heap_map, "pages");
     for (HeapPage* page = pages_; page != NULL; page = page->next()) {
       JSONObject page_container(&all_pages);
-      page_container.AddPropertyF("objectStart",
-                                  "0x%" Px "", page->object_start());
+      page_container.AddPropertyF("objectStart", "0x%" Px "",
+                                  page->object_start());
       JSONArray page_map(&page_container, "objects");
       HeapMapAsJSONVisitor printer(&page_map);
       page->VisitObjects(&printer);
     }
     for (HeapPage* page = exec_pages_; page != NULL; page = page->next()) {
       JSONObject page_container(&all_pages);
-      page_container.AddPropertyF("objectStart",
-                                  "0x%" Px "", page->object_start());
+      page_container.AddPropertyF("objectStart", "0x%" Px "",
+                                  page->object_start());
       JSONArray page_map(&page_container, "objects");
       HeapMapAsJSONVisitor printer(&page_map);
       page->VisitObjects(&printer);
@@ -841,8 +861,7 @@
     SpaceUsage usage_before = GetCurrentUsage();
 
     // Mark all reachable old-gen objects.
-    bool collect_code = FLAG_collect_code &&
-                        ShouldCollectCode() &&
+    bool collect_code = FLAG_collect_code && ShouldCollectCode() &&
                         !isolate->HasAttemptedReload();
     GCMarker marker(heap_);
     marker.MarkObjects(isolate, this, invoke_api_callbacks, collect_code);
@@ -911,8 +930,8 @@
         page = pages_;
         while (page != NULL) {
           HeapPage* next_page = page->next();
-          bool page_in_use = sweeper.SweepPage(
-              page, &freelist_[page->type()], true);
+          bool page_in_use =
+              sweeper.SweepPage(page, &freelist_[page->type()], true);
           if (page_in_use) {
             prev_page = page;
           } else {
@@ -928,8 +947,8 @@
         }
       } else {
         // Start the concurrent sweeper task now.
-        GCSweeper::SweepConcurrent(
-            isolate, pages_, pages_tail_, &freelist_[HeapPage::kData]);
+        GCSweeper::SweepConcurrent(isolate, pages_, pages_tail_,
+                                   &freelist_[HeapPage::kData]);
       }
     }
 
@@ -939,9 +958,8 @@
     int64_t end = OS::GetCurrentTimeMicros();
 
     // Record signals for growth control. Include size of external allocations.
-    page_space_controller_.EvaluateGarbageCollection(usage_before,
-                                                     GetCurrentUsage(),
-                                                     start, end);
+    page_space_controller_.EvaluateGarbageCollection(
+        usage_before, GetCurrentUsage(), start, end);
 
     heap_->RecordTime(kMarkObjects, mid1 - start);
     heap_->RecordTime(kResetFreeLists, mid2 - mid1);
@@ -979,21 +997,18 @@
   if (remaining < size) {
     // Checking this first would be logical, but needlessly slow.
     if (size >= kAllocatablePageSize) {
-      return is_locked ?
-          TryAllocateDataLocked(size, growth_policy) :
-          TryAllocate(size, HeapPage::kData, growth_policy);
+      return is_locked ? TryAllocateDataLocked(size, growth_policy)
+                       : TryAllocate(size, HeapPage::kData, growth_policy);
     }
-    FreeListElement* block = is_locked ?
-        freelist_[HeapPage::kData].TryAllocateLargeLocked(size) :
-        freelist_[HeapPage::kData].TryAllocateLarge(size);
+    FreeListElement* block =
+        is_locked ? freelist_[HeapPage::kData].TryAllocateLargeLocked(size)
+                  : freelist_[HeapPage::kData].TryAllocateLarge(size);
     if (block == NULL) {
       // Allocating from a new page (if growth policy allows) will have the
       // side-effect of populating the freelist with a large block. The next
       // bump allocation request will have a chance to consume that block.
       // TODO(koda): Could take freelist lock just once instead of twice.
-      return TryAllocateInFreshPage(size,
-                                    HeapPage::kData,
-                                    growth_policy,
+      return TryAllocateInFreshPage(size, HeapPage::kData, growth_policy,
                                     is_locked);
     }
     intptr_t block_size = block->Size();
@@ -1013,7 +1028,7 @@
   bump_top_ += size;
   AtomicOperations::IncrementBy(&(usage_.used_in_words),
                                 (size >> kWordSizeLog2));
-  // Note: Remaining block is unwalkable until MakeIterable is called.
+// Note: Remaining block is unwalkable until MakeIterable is called.
 #ifdef DEBUG
   if (bump_top_ < bump_end_) {
     // Fail fast if we try to walk the remaining block.
@@ -1071,7 +1086,7 @@
   page->object_end_ = memory->end();
 
   MutexLocker ml(pages_lock_);
-  HeapPage** first, **tail;
+  HeapPage **first, **tail;
   if (is_executable) {
     ASSERT(Utils::IsAligned(pointer, OS::PreferredCodeAlignment()));
     page->type_ = HeapPage::kExecutable;
@@ -1102,8 +1117,7 @@
       desired_utilization_((100.0 - heap_growth_ratio) / 100.0),
       heap_growth_max_(heap_growth_max),
       garbage_collection_time_ratio_(garbage_collection_time_ratio),
-      last_code_collection_in_us_(OS::GetCurrentTimeMicros()) {
-}
+      last_code_collection_in_us_(OS::GetCurrentTimeMicros()) {}
 
 
 PageSpaceController::~PageSpaceController() {}
@@ -1139,18 +1153,17 @@
   bool needs_gc = capacity_increase_in_pages * multiplier > grow_heap_;
   if (FLAG_log_growth) {
     OS::PrintErr("%s: %" Pd " * %f %s %" Pd "\n",
-                 needs_gc ? "NEEDS GC" : "grow",
-                 capacity_increase_in_pages,
-                 multiplier,
-                 needs_gc ? ">" : "<=",
-                 grow_heap_);
+                 needs_gc ? "NEEDS GC" : "grow", capacity_increase_in_pages,
+                 multiplier, needs_gc ? ">" : "<=", grow_heap_);
   }
   return needs_gc;
 }
 
 
-void PageSpaceController::EvaluateGarbageCollection(
-    SpaceUsage before, SpaceUsage after, int64_t start, int64_t end) {
+void PageSpaceController::EvaluateGarbageCollection(SpaceUsage before,
+                                                    SpaceUsage after,
+                                                    int64_t start,
+                                                    int64_t end) {
   ASSERT(end >= start);
   history_.AddGarbageCollectionTime(start, end);
   const int gc_time_fraction = history_.GarbageCollectionTimeFraction();
@@ -1174,15 +1187,16 @@
       t += (gc_time_fraction - garbage_collection_time_ratio_) / 100.0;
     }
 
-    const intptr_t grow_ratio = (
-        static_cast<intptr_t>(after.capacity_in_words / desired_utilization_) -
-        after.capacity_in_words) / PageSpace::kPageSizeInWords;
+    const intptr_t grow_ratio =
+        (static_cast<intptr_t>(after.capacity_in_words / desired_utilization_) -
+         after.capacity_in_words) /
+        PageSpace::kPageSizeInWords;
     if (garbage_ratio == 0) {
       // No garbage in the previous cycle so it would be hard to compute a
       // grow_heap_ size based on estimated garbage so we use growth ratio
       // heuristics instead.
-      grow_heap_ = Utils::Maximum(static_cast<intptr_t>(heap_growth_max_),
-                                  grow_ratio);
+      grow_heap_ =
+          Utils::Maximum(static_cast<intptr_t>(heap_growth_max_), grow_ratio);
     } else {
       // Find minimum 'grow_heap_' such that after increasing capacity by
       // 'grow_heap_' pages and filling them, we expect a GC to be worthwhile.
@@ -1192,7 +1206,7 @@
       while (min < max) {
         local_grow_heap = (max + min) / 2;
         const intptr_t limit = after.capacity_in_words +
-            (grow_heap_ * PageSpace::kPageSizeInWords);
+                               (grow_heap_ * PageSpace::kPageSizeInWords);
         const intptr_t allocated_before_next_gc = limit - after.used_in_words;
         const double estimated_garbage = k * allocated_before_next_gc;
         if (t <= estimated_garbage / limit) {
@@ -1225,8 +1239,8 @@
 }
 
 
-void PageSpaceGarbageCollectionHistory::
-    AddGarbageCollectionTime(int64_t start, int64_t end) {
+void PageSpaceGarbageCollectionHistory::AddGarbageCollectionTime(int64_t start,
+                                                                 int64_t end) {
   Entry entry;
   entry.start = start;
   entry.end = end;
@@ -1247,8 +1261,8 @@
     return 0;
   } else {
     ASSERT(total_time >= gc_time);
-    int result = static_cast<int>((static_cast<double>(gc_time) /
-                                   static_cast<double>(total_time)) * 100);
+    int result = static_cast<int>(
+        (static_cast<double>(gc_time) / static_cast<double>(total_time)) * 100);
     return result;
   }
 }
diff --git a/runtime/vm/pages.h b/runtime/vm/pages.h
index ff7a0e8..d1cfad2 100644
--- a/runtime/vm/pages.h
+++ b/runtime/vm/pages.h
@@ -28,30 +28,17 @@
 // A page containing old generation objects.
 class HeapPage {
  public:
-  enum PageType {
-    kData = 0,
-    kExecutable,
-    kReadOnlyData,
-    kNumPageTypes
-  };
+  enum PageType { kData = 0, kExecutable, kReadOnlyData, kNumPageTypes };
 
   HeapPage* next() const { return next_; }
   void set_next(HeapPage* next) { next_ = next; }
 
-  bool Contains(uword addr) {
-    return memory_->Contains(addr);
-  }
+  bool Contains(uword addr) { return memory_->Contains(addr); }
 
-  uword object_start() const {
-    return memory_->start() + ObjectStartOffset();
-  }
-  uword object_end() const {
-    return object_end_;
-  }
+  uword object_start() const { return memory_->start() + ObjectStartOffset(); }
+  uword object_end() const { return object_end_; }
 
-  PageType type() const {
-    return type_;
-  }
+  PageType type() const { return type_; }
 
   bool embedder_allocated() const { return memory_->embedder_allocated(); }
 
@@ -137,26 +124,19 @@
   // Should be called after each collection to update the controller state.
   void EvaluateGarbageCollection(SpaceUsage before,
                                  SpaceUsage after,
-                                 int64_t start, int64_t end);
+                                 int64_t start,
+                                 int64_t end);
 
   int64_t last_code_collection_in_us() { return last_code_collection_in_us_; }
   void set_last_code_collection_in_us(int64_t t) {
     last_code_collection_in_us_ = t;
   }
 
-  void set_last_usage(SpaceUsage current) {
-    last_usage_ = current;
-  }
+  void set_last_usage(SpaceUsage current) { last_usage_ = current; }
 
-  void Enable() {
-    is_enabled_ = true;
-  }
-  void Disable() {
-    is_enabled_ = false;
-  }
-  bool is_enabled() {
-    return is_enabled_;
-  }
+  void Enable() { is_enabled_ = true; }
+  void Disable() { is_enabled_ = false; }
+  bool is_enabled() { return is_enabled_; }
 
  private:
   Heap* heap_;
@@ -199,10 +179,7 @@
   // TODO(iposva): Determine heap sizes and tune the page size accordingly.
   static const intptr_t kPageSizeInWords = 256 * KBInWords;
 
-  enum GrowthPolicy {
-    kControlGrowth,
-    kForceGrowth
-  };
+  enum GrowthPolicy { kControlGrowth, kForceGrowth };
 
   PageSpace(Heap* heap,
             intptr_t max_capacity_in_words,
@@ -215,8 +192,8 @@
     bool is_protected =
         (type == HeapPage::kExecutable) && FLAG_write_protect_code;
     bool is_locked = false;
-    return TryAllocateInternal(
-        size, type, growth_policy, is_protected, is_locked);
+    return TryAllocateInternal(size, type, growth_policy, is_protected,
+                               is_locked);
   }
 
   bool NeedsGarbageCollection() const {
@@ -230,8 +207,8 @@
     return usage_.capacity_in_words;
   }
   void IncreaseCapacityInWords(intptr_t increase_in_words) {
-     MutexLocker ml(pages_lock_);
-     IncreaseCapacityInWordsLocked(increase_in_words);
+    MutexLocker ml(pages_lock_);
+    IncreaseCapacityInWordsLocked(increase_in_words);
   }
   void IncreaseCapacityInWordsLocked(intptr_t increase_in_words) {
     DEBUG_ASSERT(pages_lock_->IsOwnedByCurrentThread());
@@ -242,9 +219,7 @@
   void UpdateMaxCapacityLocked();
   void UpdateMaxUsed();
 
-  int64_t ExternalInWords() const {
-    return usage_.external_in_words;
-  }
+  int64_t ExternalInWords() const { return usage_.external_in_words; }
   SpaceUsage GetCurrentUsage() const {
     MutexLocker ml(pages_lock_);
     return usage_;
@@ -252,9 +227,7 @@
 
   bool Contains(uword addr) const;
   bool Contains(uword addr, HeapPage::PageType type) const;
-  bool IsValidAddress(uword addr) const {
-    return Contains(addr);
-  }
+  bool IsValidAddress(uword addr) const { return Contains(addr); }
 
   void VisitObjects(ObjectVisitor* visitor) const;
   void VisitObjectsNoEmbedderPages(ObjectVisitor* visitor) const;
@@ -285,13 +258,11 @@
     }
   }
 
-  bool GrowthControlState() {
-    return page_space_controller_.is_enabled();
-  }
+  bool GrowthControlState() { return page_space_controller_.is_enabled(); }
 
   bool NeedsExternalGC() const {
     return (max_external_in_words_ != 0) &&
-        (ExternalInWords() > max_external_in_words_);
+           (ExternalInWords() > max_external_in_words_);
   }
 
   // Note: Code pages are made executable/non-executable when 'read_only' is
@@ -299,21 +270,13 @@
   void WriteProtect(bool read_only);
   void WriteProtectCode(bool read_only);
 
-  void AddGCTime(int64_t micros) {
-    gc_time_micros_ += micros;
-  }
+  void AddGCTime(int64_t micros) { gc_time_micros_ += micros; }
 
-  int64_t gc_time_micros() const {
-    return gc_time_micros_;
-  }
+  int64_t gc_time_micros() const { return gc_time_micros_; }
 
-  void IncrementCollections() {
-    collections_++;
-  }
+  void IncrementCollections() { collections_++; }
 
-  intptr_t collections() const {
-    return collections_;
-  }
+  intptr_t collections() const { return collections_; }
 
 #ifndef PRODUCT
   void PrintToJSONObject(JSONObject* object) const;
@@ -330,9 +293,7 @@
   uword TryAllocateDataLocked(intptr_t size, GrowthPolicy growth_policy) {
     bool is_protected = false;
     bool is_locked = true;
-    return TryAllocateInternal(size,
-                               HeapPage::kData,
-                               growth_policy,
+    return TryAllocateInternal(size, HeapPage::kData, growth_policy,
                                is_protected, is_locked);
   }
 
diff --git a/runtime/vm/parser.cc b/runtime/vm/parser.cc
index a685452..86264b9 100644
--- a/runtime/vm/parser.cc
+++ b/runtime/vm/parser.cc
@@ -45,20 +45,32 @@
 DEFINE_FLAG(bool, enable_debug_break, false, "Allow use of break \"message\".");
 DEFINE_FLAG(bool, trace_parser, false, "Trace parser operations.");
 DEFINE_FLAG(bool, warn_mixin_typedef, true, "Warning on legacy mixin typedef.");
+DEFINE_FLAG(bool, warn_new_tearoff_syntax, true, "Warning on new tear off.");
 // TODO(floitsch): remove the conditional-directive flag, once we publicly
 // committed to the current version.
-DEFINE_FLAG(bool, conditional_directives, true,
-    "Enable conditional directives");
+DEFINE_FLAG(bool,
+            conditional_directives,
+            true,
+            "Enable conditional directives");
 DEFINE_FLAG(bool, generic_method_syntax, false, "Enable generic functions.");
-DEFINE_FLAG(bool, initializing_formal_access, false,
-    "Make initializing formal parameters visible in initializer list.");
-DEFINE_FLAG(bool, warn_super, false,
-    "Warning if super initializer not last in initializer list.");
+DEFINE_FLAG(bool,
+            initializing_formal_access,
+            false,
+            "Make initializing formal parameters visible in initializer list.");
+DEFINE_FLAG(bool,
+            warn_super,
+            false,
+            "Warning if super initializer not last in initializer list.");
 DEFINE_FLAG(bool, warn_patch, false, "Warn on old-style patch syntax.");
-DEFINE_FLAG(bool, await_is_keyword, false,
+DEFINE_FLAG(
+    bool,
+    await_is_keyword,
+    false,
     "await and yield are treated as proper keywords in synchronous code.");
-DEFINE_FLAG(bool, assert_initializer, false,
-    "Allow asserts in initializer lists.");
+DEFINE_FLAG(bool,
+            assert_initializer,
+            false,
+            "Allow asserts in initializer lists.");
 
 DECLARE_FLAG(bool, profile_vm);
 DECLARE_FLAG(bool, trace_service);
@@ -86,8 +98,8 @@
         intptr_t line, column;
         script.GetTokenLocation(token_pos, &line, &column);
         PrintIndent();
-        OS::Print("%s (line %" Pd ", col %" Pd ", token %" Pd ")\n",
-                  msg, line, column, token_pos.value());
+        OS::Print("%s (line %" Pd ", col %" Pd ", token %" Pd ")\n", msg, line,
+                  column, token_pos.value());
       }
       (*indent_)++;
     }
@@ -101,13 +113,15 @@
 
  private:
   void PrintIndent() {
-    for (intptr_t i = 0; i < *indent_; i++) { OS::Print(". "); }
+    for (intptr_t i = 0; i < *indent_; i++) {
+      OS::Print(". ");
+    }
   }
   intptr_t* indent_;
 };
 
 
-#define TRACE_PARSER(s) \
+#define TRACE_PARSER(s)                                                        \
   TraceParser __p__(this->TokenPos(), this->script_, &this->trace_indent_, s)
 
 #else  // not DEBUG
@@ -120,9 +134,7 @@
   BoolScope(bool* addr, bool new_value) : _addr(addr), _saved_value(*addr) {
     *_addr = new_value;
   }
-  ~BoolScope() {
-    *_addr = _saved_value;
-  }
+  ~BoolScope() { *_addr = _saved_value; }
 
  private:
   bool* _addr;
@@ -133,14 +145,9 @@
 // Helper class to save and restore token position.
 class Parser::TokenPosScope : public ValueObject {
  public:
-  explicit TokenPosScope(Parser *p) : p_(p) {
-    saved_pos_ = p_->TokenPos();
-  }
-  TokenPosScope(Parser *p, TokenPosition pos) : p_(p), saved_pos_(pos) {
-  }
-  ~TokenPosScope() {
-    p_->SetPosition(saved_pos_);
-  }
+  explicit TokenPosScope(Parser* p) : p_(p) { saved_pos_ = p_->TokenPos(); }
+  TokenPosScope(Parser* p, TokenPosition pos) : p_(p), saved_pos_(pos) {}
+  ~TokenPosScope() { p_->SetPosition(saved_pos_); }
 
  private:
   Parser* p_;
@@ -161,9 +168,7 @@
       parser_->CheckStack();
     }
   }
-  ~RecursionChecker() {
-    parser_->recursion_counter_--;
-  }
+  ~RecursionChecker() { parser_->recursion_counter_--; }
 
  private:
   Parser* parser_;
@@ -197,7 +202,8 @@
       // the resulting code anyway.
       if (Compiler::IsBackgroundCompilation()) {
         if (!other->IsConsistentWith(*field)) {
-          Compiler::AbortBackgroundCompilation(Thread::kNoDeoptId,
+          Compiler::AbortBackgroundCompilation(
+              Thread::kNoDeoptId,
               "Field's guarded state changed during compilation");
         }
       }
@@ -215,14 +221,10 @@
 
 
 void ParsedFunction::Bailout(const char* origin, const char* reason) const {
-  Report::MessageF(Report::kBailout,
-                   Script::Handle(function_.script()),
-                   function_.token_pos(),
-                   Report::AtLocation,
-                   "%s Bailout in %s: %s",
-                   origin,
-                   String::Handle(function_.name()).ToCString(),
-                   reason);
+  Report::MessageF(Report::kBailout, Script::Handle(function_.script()),
+                   function_.token_pos(), Report::AtLocation,
+                   "%s Bailout in %s: %s", origin,
+                   String::Handle(function_.name()).ToCString(), reason);
   UNREACHABLE();
 }
 
@@ -243,10 +245,8 @@
 LocalVariable* ParsedFunction::EnsureExpressionTemp() {
   if (!has_expression_temp_var()) {
     LocalVariable* temp =
-        new (Z) LocalVariable(function_.token_pos(),
-                              function_.token_pos(),
-                              Symbols::ExprTemp(),
-                              Object::dynamic_type());
+        new (Z) LocalVariable(function_.token_pos(), function_.token_pos(),
+                              Symbols::ExprTemp(), Object::dynamic_type());
     ASSERT(temp != NULL);
     set_expression_temp_var(temp);
   }
@@ -257,11 +257,9 @@
 
 void ParsedFunction::EnsureFinallyReturnTemp(bool is_async) {
   if (!has_finally_return_temp_var()) {
-    LocalVariable* temp = new(Z) LocalVariable(
-        function_.token_pos(),
-        function_.token_pos(),
-        Symbols::FinallyRetVal(),
-        Object::dynamic_type());
+    LocalVariable* temp =
+        new (Z) LocalVariable(function_.token_pos(), function_.token_pos(),
+                              Symbols::FinallyRetVal(), Object::dynamic_type());
     ASSERT(temp != NULL);
     temp->set_is_final();
     if (is_async) {
@@ -328,12 +326,9 @@
   // Allocate parameters and local variables, either in the local frame or
   // in the context(s).
   bool found_captured_variables = false;
-  int next_free_frame_index =
-      scope->AllocateVariables(first_parameter_index_,
-                               num_params,
-                               first_stack_local_index_,
-                               NULL,
-                               &found_captured_variables);
+  int next_free_frame_index = scope->AllocateVariables(
+      first_parameter_index_, num_params, first_stack_local_index_, NULL,
+      &found_captured_variables);
 
   // Frame indices are relative to the frame pointer and are decreasing.
   ASSERT(next_free_frame_index <= first_stack_local_index_);
@@ -346,7 +341,7 @@
       : token_pos(TokenPosition::kNoSource),
         type(NULL),
         name(NULL),
-        var(NULL) { }
+        var(NULL) {}
   TokenPosition token_pos;
   const AbstractType* type;
   const String* name;
@@ -374,7 +369,7 @@
 
 struct Parser::Block : public ZoneAllocated {
   Block(Block* outer_block, LocalScope* local_scope, SequenceNode* seq)
-    : parent(outer_block), scope(local_scope), statements(seq) {
+      : parent(outer_block), scope(local_scope), statements(seq) {
     ASSERT(scope != NULL);
     ASSERT(statements != NULL);
   }
@@ -395,7 +390,7 @@
         outer_try_(outer_try),
         try_index_(try_index),
         inside_catch_(false),
-        inside_finally_(false) { }
+        inside_finally_(false) {}
 
   TryStack* outer_try() const { return outer_try_; }
   Block* try_block() const { return try_block_; }
@@ -407,7 +402,7 @@
   void exit_finally() { inside_finally_ = false; }
 
   void AddNodeForFinallyInlining(AstNode* node);
-  void RemoveJumpToLabel(SourceLabel *label);
+  void RemoveJumpToLabel(SourceLabel* label);
   AstNode* GetNodeToInlineFinally(int index) {
     if (0 <= index && index < inlined_finally_nodes_.length()) {
       return inlined_finally_nodes_[index];
@@ -420,7 +415,7 @@
   GrowableArray<AstNode*> inlined_finally_nodes_;
   TryStack* outer_try_;
   const intptr_t try_index_;
-  bool inside_catch_;  // True when parsing a catch clause of this try.
+  bool inside_catch_;    // True when parsing a catch clause of this try.
   bool inside_finally_;  // True when parsing a finally clause of an inner try
                          // of this try.
 
@@ -433,7 +428,7 @@
 }
 
 
-void Parser::TryStack::RemoveJumpToLabel(SourceLabel *label) {
+void Parser::TryStack::RemoveJumpToLabel(SourceLabel* label) {
   int i = 0;
   while (i < inlined_finally_nodes_.length()) {
     if (inlined_finally_nodes_[i]->IsJumpNode()) {
@@ -501,14 +496,15 @@
       current_member_(NULL),
       allow_function_literals_(true),
       parsed_function_(parsed_function),
-      innermost_function_(Function::Handle(zone(),
-                                           parsed_function->function().raw())),
+      innermost_function_(
+          Function::Handle(zone(), parsed_function->function().raw())),
       literal_token_(LiteralToken::Handle(zone())),
-      current_class_(Class::Handle(zone(),
-                                   parsed_function->function().Owner())),
-      library_(Library::Handle(zone(), Class::Handle(
+      current_class_(
+          Class::Handle(zone(), parsed_function->function().Owner())),
+      library_(Library::Handle(
           zone(),
-          parsed_function->function().origin()).library())),
+          Class::Handle(zone(), parsed_function->function().origin())
+              .library())),
       try_stack_(NULL),
       last_used_try_index_(0),
       unregister_pending_function_(false),
@@ -528,7 +524,7 @@
     ASSERT(!pending_functions.IsNull());
     ASSERT(pending_functions.Length() > 0);
     ASSERT(pending_functions.At(pending_functions.Length() - 1) ==
-        current_function().raw());
+           current_function().raw());
     pending_functions.RemoveLast();
   }
 }
@@ -546,8 +542,8 @@
 
 void Parser::SetScript(const Script& script, TokenPosition token_pos) {
   script_ = script.raw();
-  tokens_iterator_.SetStream(
-      TokenStream::Handle(Z, script.tokens()), token_pos);
+  tokens_iterator_.SetStream(TokenStream::Handle(Z, script.tokens()),
+                             token_pos);
   token_kind_ = Token::kILLEGAL;
 }
 
@@ -616,8 +612,7 @@
   CSTAT_TIMER_SCOPE(thread, parser_timer);
 #ifndef PRODUCT
   VMTagScope tagScope(thread, VMTag::kCompileTopLevelTagId);
-  TimelineDurationScope tds(thread,
-                            Timeline::GetCompilerStream(),
+  TimelineDurationScope tds(thread, Timeline::GetCompilerStream(),
                             "CompileTopLevel");
   if (tds.enabled()) {
     tds.SetNumArguments(1);
@@ -646,8 +641,7 @@
 
 
 String* Parser::CurrentLiteral() const {
-  String& result =
-      String::ZoneHandle(Z, tokens_iterator_.CurrentLiteral());
+  String& result = String::ZoneHandle(Z, tokens_iterator_.CurrentLiteral());
   return &result;
 }
 
@@ -677,13 +671,13 @@
         var(NULL),
         is_final(false),
         is_field_initializer(false),
-        has_explicit_type(false) { }
+        has_explicit_type(false) {}
   const AbstractType* type;
   TokenPosition name_pos;
   const String* name;
   const Instance* default_value;  // NULL if not an optional parameter.
   const Object* metadata;  // NULL if no metadata or metadata not evaluated.
-  LocalVariable* var;  // Scope variable allocated for this parameter.
+  LocalVariable* var;      // Scope variable allocated for this parameter.
   bool is_final;
   bool is_field_initializer;
   bool has_explicit_type;
@@ -691,9 +685,7 @@
 
 
 struct ParamList {
-  ParamList() {
-    Clear();
-  }
+  ParamList() { Clear(); }
 
   void Clear() {
     num_fixed_parameters = 0;
@@ -719,8 +711,7 @@
     this->parameters->Add(param);
   }
 
-  void AddReceiver(const AbstractType* receiver_type,
-                   TokenPosition token_pos) {
+  void AddReceiver(const AbstractType* receiver_type, TokenPosition token_pos) {
     ASSERT(this->parameters->is_empty());
     AddFinalParameter(token_pos, &Symbols::This(), receiver_type);
   }
@@ -756,9 +747,7 @@
     }
   }
 
-  void SetImplicitlyFinal() {
-    implicitly_final = true;
-  }
+  void SetImplicitlyFinal() { implicitly_final = true; }
 
   int num_fixed_parameters;
   int num_optional_parameters;
@@ -773,9 +762,7 @@
 
 
 struct MemberDesc {
-  MemberDesc() {
-    Clear();
-  }
+  MemberDesc() { Clear(); }
 
   void Clear() {
     has_abstract = false;
@@ -808,12 +795,8 @@
   bool IsFactoryOrConstructor() const {
     return (kind == RawFunction::kConstructor);
   }
-  bool IsGetter() const {
-    return kind == RawFunction::kGetterFunction;
-  }
-  bool IsSetter() const {
-    return kind == RawFunction::kSetterFunction;
-  }
+  bool IsGetter() const { return kind == RawFunction::kGetterFunction; }
+  bool IsSetter() const { return kind == RawFunction::kSetterFunction; }
   const char* ToCString() const {
     if (field_ != NULL) {
       return "field";
@@ -828,9 +811,7 @@
     }
     return "method";
   }
-  String* DictName() const {
-    return (dict_name  != NULL) ? dict_name : name;
-  }
+  String* DictName() const { return (dict_name != NULL) ? dict_name : name; }
   bool has_abstract;
   bool has_external;
   bool has_final;
@@ -873,32 +854,23 @@
         class_name_(cls_name),
         token_pos_(token_pos),
         functions_(zone, 4),
-        fields_(zone, 4) {
-  }
+        fields_(zone, 4) {}
 
   void AddFunction(const Function& function) {
     functions_.Add(&Function::ZoneHandle(zone_, function.raw()));
   }
 
-  const GrowableArray<const Function*>& functions() const {
-    return functions_;
-  }
+  const GrowableArray<const Function*>& functions() const { return functions_; }
 
   void AddField(const Field& field) {
     fields_.Add(&Field::ZoneHandle(zone_, field.raw()));
   }
 
-  const GrowableArray<const Field*>& fields() const {
-    return fields_;
-  }
+  const GrowableArray<const Field*>& fields() const { return fields_; }
 
-  const Class& clazz() const {
-    return clazz_;
-  }
+  const Class& clazz() const { return clazz_; }
 
-  const String& class_name() const {
-    return class_name_;
-  }
+  const String& class_name() const { return class_name_; }
 
   bool has_constructor() const {
     for (int i = 0; i < functions_.length(); i++) {
@@ -910,17 +882,11 @@
     return false;
   }
 
-  TokenPosition token_pos() const {
-    return token_pos_;
-  }
+  TokenPosition token_pos() const { return token_pos_; }
 
-  void AddMember(const MemberDesc& member) {
-    members_.Add(member);
-  }
+  void AddMember(const MemberDesc& member) { members_.Add(member); }
 
-  const GrowableArray<MemberDesc>& members() const {
-    return members_;
-  }
+  const GrowableArray<MemberDesc>& members() const { return members_; }
 
   MemberDesc* LookupMember(const String& name) const {
     for (int i = 0; i < members_.length(); i++) {
@@ -944,7 +910,7 @@
   Zone* zone_;
   const Class& clazz_;
   const String& class_name_;
-  TokenPosition token_pos_;   // Token index of "class" keyword.
+  TokenPosition token_pos_;  // Token index of "class" keyword.
   GrowableArray<const Function*> functions_;
   GrowableArray<const Field*> fields_;
   GrowableArray<MemberDesc> members_;
@@ -953,10 +919,8 @@
 
 class TopLevel : public ValueObject {
  public:
-  explicit TopLevel(Zone* zone) :
-      zone_(zone),
-      fields_(zone, 4),
-      functions_(zone, 4) { }
+  explicit TopLevel(Zone* zone)
+      : zone_(zone), fields_(zone, 4), functions_(zone, 4) {}
 
   void AddField(const Field& field) {
     fields_.Add(&Field::ZoneHandle(zone_, field.raw()));
@@ -966,13 +930,9 @@
     functions_.Add(&Function::ZoneHandle(zone_, function.raw()));
   }
 
-  const GrowableArray<const Field*>& fields() const {
-    return fields_;
-  }
+  const GrowableArray<const Field*>& fields() const { return fields_; }
 
-  const GrowableArray<const Function*>& functions() const {
-    return functions_;
-  }
+  const GrowableArray<const Function*>& functions() const { return functions_; }
 
  private:
   Zone* zone_;
@@ -986,8 +946,7 @@
   Zone* zone = thread->zone();
   const int64_t num_tokes_before = STAT_VALUE(thread, num_tokens_consumed);
 #ifndef PRODUCT
-  TimelineDurationScope tds(thread,
-                            Timeline::GetCompilerStream(),
+  TimelineDurationScope tds(thread, Timeline::GetCompilerStream(),
                             "ParseClass");
   if (tds.enabled()) {
     tds.SetNumArguments(1);
@@ -1024,30 +983,32 @@
     const Script& script = Script::Handle(zone, func.script());
     const Class& owner = Class::Handle(zone, func.Owner());
     ASSERT(!owner.IsNull());
-    ParsedFunction* parsed_function = new ParsedFunction(
-        thread, Function::ZoneHandle(zone, func.raw()));
+    ParsedFunction* parsed_function =
+        new ParsedFunction(thread, Function::ZoneHandle(zone, func.raw()));
     Parser parser(script, parsed_function, func.token_pos());
     parser.SkipFunctionPreamble();
     ParamList params;
     parser.ParseFormalParameterList(true, true, &params);
     ParamDesc* param = params.parameters->data();
-    const int param_cnt = params.num_fixed_parameters +
-                          params.num_optional_parameters;
+    const int param_cnt =
+        params.num_fixed_parameters + params.num_optional_parameters;
     const Array& param_descriptor =
         Array::Handle(Array::New(param_cnt * kParameterEntrySize, Heap::kOld));
     for (int i = 0, j = 0; i < param_cnt; i++, j += kParameterEntrySize) {
       param_descriptor.SetAt(j + kParameterIsFinalOffset,
                              param[i].is_final ? Bool::True() : Bool::False());
       param_descriptor.SetAt(j + kParameterDefaultValueOffset,
-          (param[i].default_value == NULL) ? Object::null_instance() :
-                                             *(param[i].default_value));
+                             (param[i].default_value == NULL)
+                                 ? Object::null_instance()
+                                 : *(param[i].default_value));
       const Object* metadata = param[i].metadata;
       if ((metadata != NULL) && (*metadata).IsError()) {
         return metadata->raw();  // Error evaluating the metadata.
       }
       param_descriptor.SetAt(j + kParameterMetadataOffset,
-          (param[i].metadata == NULL) ? Object::null_instance() :
-                                        *(param[i].metadata));
+                             (param[i].metadata == NULL)
+                                 ? Object::null_instance()
+                                 : *(param[i].metadata));
     }
     return param_descriptor.raw();
   } else {
@@ -1103,8 +1064,7 @@
 #ifndef PRODUCT
   VMTagScope tagScope(thread, VMTag::kCompileParseFunctionTagId,
                       FLAG_profile_vm);
-  TimelineDurationScope tds(thread,
-                            Timeline::GetCompilerStream(),
+  TimelineDurationScope tds(thread, Timeline::GetCompilerStream(),
                             "ParseFunction");
 #endif  // !PRODUCT
   ASSERT(thread->long_jump_base()->IsSafeToJump());
@@ -1129,7 +1089,7 @@
         node_sequence = parser.ParseConstructorClosure(func);
         break;
       }
-      // Fall-through: Handle non-implicit closures.
+    // Fall-through: Handle non-implicit closures.
     case RawFunction::kRegularFunction:
     case RawFunction::kGetterFunction:
     case RawFunction::kSetterFunction:
@@ -1158,12 +1118,10 @@
       INC_STAT(thread, num_method_extractors, 1);
       break;
     case RawFunction::kNoSuchMethodDispatcher:
-      node_sequence =
-          parser.ParseNoSuchMethodDispatcher(func);
+      node_sequence = parser.ParseNoSuchMethodDispatcher(func);
       break;
     case RawFunction::kInvokeFieldDispatcher:
-      node_sequence =
-          parser.ParseInvokeFieldDispatcher(func);
+      node_sequence = parser.ParseInvokeFieldDispatcher(func);
       break;
     case RawFunction::kIrregexpFunction:
       UNREACHABLE();  // Irregexp functions have their own parser.
@@ -1174,8 +1132,7 @@
   if (parsed_function->has_expression_temp_var()) {
     node_sequence->scope()->AddVariable(parsed_function->expression_temp_var());
   }
-  node_sequence->scope()->AddVariable(
-      parsed_function->current_context_var());
+  node_sequence->scope()->AddVariable(parsed_function->current_context_var());
   if (parsed_function->has_finally_return_temp_var()) {
     node_sequence->scope()->AddVariable(
         parsed_function->finally_return_temp_var());
@@ -1216,19 +1173,17 @@
     // normally used for expressions and assume current_function is non-null,
     // so we create a fake function to use as the current_function rather than
     // scattering special cases throughout the parser.
-    const Function& fake_function = Function::ZoneHandle(zone, Function::New(
-        Symbols::At(),
-        RawFunction::kRegularFunction,
-        true,  // is_static
-        false,  // is_const
-        false,  // is_abstract
-        false,  // is_external
-        false,  // is_native
-        Object::Handle(zone, meta_data.RawOwner()),
-        token_pos));
+    const Function& fake_function = Function::ZoneHandle(
+        zone,
+        Function::New(Symbols::At(), RawFunction::kRegularFunction,
+                      true,   // is_static
+                      false,  // is_const
+                      false,  // is_abstract
+                      false,  // is_external
+                      false,  // is_native
+                      Object::Handle(zone, meta_data.RawOwner()), token_pos));
     fake_function.set_is_debuggable(false);
-    ParsedFunction* parsed_function =
-        new ParsedFunction(thread, fake_function);
+    ParsedFunction* parsed_function = new ParsedFunction(thread, fake_function);
     Parser parser(script, parsed_function, token_pos);
     parser.set_current_class(owner_class);
     parser.OpenFunctionBlock(fake_function);
@@ -1270,10 +1225,10 @@
     AstNode* expr = NULL;
     if ((LookaheadToken(1) == Token::kLPAREN) ||
         ((LookaheadToken(1) == Token::kPERIOD) &&
-            (LookaheadToken(3) == Token::kLPAREN)) ||
+         (LookaheadToken(3) == Token::kLPAREN)) ||
         ((LookaheadToken(1) == Token::kPERIOD) &&
-            (LookaheadToken(3) == Token::kPERIOD) &&
-            (LookaheadToken(5) == Token::kLPAREN))) {
+         (LookaheadToken(3) == Token::kPERIOD) &&
+         (LookaheadToken(5) == Token::kLPAREN))) {
       expr = ParseNewOperator(Token::kCONST);
     } else {
       // Can be x, C.x, or L.C.x.
@@ -1303,16 +1258,12 @@
         String* ident = ExpectIdentifier("identifier expected");
         const Field& field = Field::Handle(Z, cls.LookupStaticField(*ident));
         if (field.IsNull()) {
-          ReportError(ident_pos,
-                      "Class '%s' has no field '%s'",
-                      cls.ToCString(),
-                      ident->ToCString());
+          ReportError(ident_pos, "Class '%s' has no field '%s'",
+                      cls.ToCString(), ident->ToCString());
         }
         if (!field.is_const()) {
-          ReportError(ident_pos,
-                      "Field '%s' of class '%s' is not const",
-                      ident->ToCString(),
-                      cls.ToCString());
+          ReportError(ident_pos, "Field '%s' of class '%s' is not const",
+                      ident->ToCString(), cls.ToCString());
         }
         expr = GenerateStaticFieldLookup(field, ident_pos);
       }
@@ -1334,7 +1285,7 @@
   OpenFunctionBlock(parsed_function()->function());
   TokenPosition expr_pos = TokenPos();
   AstNode* expr = ParseExpr(kAllowConst, kConsumeCascades);
-  ReturnNode* ret = new(Z) ReturnNode(expr_pos, expr);
+  ReturnNode* ret = new (Z) ReturnNode(expr_pos, expr);
   current_block_->statements->Add(ret);
   return CloseBlock();
 }
@@ -1353,24 +1304,21 @@
 #endif  // !PRODUCT
 
   const String& field_name = String::Handle(zone, field.name());
-  String& init_name = String::Handle(zone,
-      Symbols::FromConcat(thread, Symbols::InitPrefix(), field_name));
+  String& init_name = String::Handle(
+      zone, Symbols::FromConcat(thread, Symbols::InitPrefix(), field_name));
 
   const Script& script = Script::Handle(zone, field.Script());
   Object& initializer_owner = Object::Handle(field.Owner());
-  initializer_owner =
-      PatchClass::New(Class::Handle(field.Owner()), script);
+  initializer_owner = PatchClass::New(Class::Handle(field.Owner()), script);
 
-  const Function& initializer = Function::ZoneHandle(zone,
-      Function::New(init_name,
-                    RawFunction::kImplicitStaticFinalGetter,
-                    true,   // static
-                    false,  // !const
-                    false,  // !abstract
-                    false,  // !external
-                    false,  // !native
-                    initializer_owner,
-                    field.token_pos()));
+  const Function& initializer = Function::ZoneHandle(
+      zone, Function::New(init_name, RawFunction::kImplicitStaticFinalGetter,
+                          true,   // static
+                          false,  // !const
+                          false,  // !abstract
+                          false,  // !external
+                          false,  // !native
+                          initializer_owner, field.token_pos()));
   initializer.set_result_type(AbstractType::Handle(zone, field.type()));
   // Static initializer functions are hidden from the user.
   // Since they are only executed once, we avoid inlining them.
@@ -1440,11 +1388,10 @@
     // Call runtime support to parse and evaluate the initializer expression.
     // The runtime function will detect circular dependencies in expressions
     // and handle errors while evaluating the expression.
-    current_block_->statements->Add(
-        new (Z) InitStaticFieldNode(ident_pos, field));
+    current_block_->statements->Add(new (Z)
+                                        InitStaticFieldNode(ident_pos, field));
     ReturnNode* return_node =
-        new ReturnNode(ident_pos,
-                       new LoadStaticFieldNode(ident_pos, field));
+        new ReturnNode(ident_pos, new LoadStaticFieldNode(ident_pos, field));
     current_block_->statements->Add(return_node);
   }
   return CloseBlock();
@@ -1508,9 +1455,7 @@
   ParamList params;
   ASSERT(current_class().raw() == func.Owner());
   params.AddReceiver(ReceiverType(current_class()), ident_pos);
-  params.AddFinalParameter(ident_pos,
-                           &Symbols::Value(),
-                           &field_type);
+  params.AddFinalParameter(ident_pos, &Symbols::Value(), &field_type);
   ASSERT(func.num_fixed_parameters() == 2);  // receiver, value.
   ASSERT(!func.HasOptionalParameters());
   ASSERT(AbstractType::Handle(Z, func.result_type()).IsVoidType());
@@ -1546,8 +1491,7 @@
   ParamList params;
   // The first parameter of the closure function is the
   // implicit closure argument.
-  params.AddFinalParameter(token_pos,
-                           &Symbols::ClosureParameter(),
+  params.AddFinalParameter(token_pos, &Symbols::ClosureParameter(),
                            &Object::dynamic_type());
   bool params_ok = ParseFormalParameters(constructor, &params);
   USE(params_ok);
@@ -1595,17 +1539,14 @@
   OpenFunctionBlock(func);
 
   ParamList params;
-  params.AddFinalParameter(
-      token_pos,
-      &Symbols::ClosureParameter(),
-      &Object::dynamic_type());
+  params.AddFinalParameter(token_pos, &Symbols::ClosureParameter(),
+                           &Object::dynamic_type());
 
   const Function& parent = Function::Handle(func.parent_function());
   if (parent.IsImplicitSetterFunction()) {
     const TokenPosition ident_pos = func.token_pos();
     ASSERT(IsIdentifier());
-    params.AddFinalParameter(ident_pos,
-                             &Symbols::Value(),
+    params.AddFinalParameter(ident_pos, &Symbols::Value(),
                              &Object::dynamic_type());
     ASSERT(func.num_fixed_parameters() == 2);  // closure, value.
   } else if (!parent.IsGetterFunction() && !parent.IsImplicitGetterFunction()) {
@@ -1648,8 +1589,7 @@
   Function& target = Function::ZoneHandle(owner.LookupFunction(func_name));
   if (target.raw() != parent.raw()) {
     ASSERT(Isolate::Current()->HasAttemptedReload());
-    if (target.IsNull() ||
-        (target.is_static() != parent.is_static()) ||
+    if (target.IsNull() || (target.is_static() != parent.is_static()) ||
         (target.kind() != parent.kind())) {
       target = Function::null();
     }
@@ -1675,16 +1615,14 @@
     const intptr_t kNumArguments = 2;  // Receiver, InvocationMirror.
     ArgumentsDescriptor args_desc(
         Array::Handle(Z, ArgumentsDescriptor::New(kNumArguments)));
-    Function& no_such_method = Function::ZoneHandle(Z,
-    Resolver::ResolveDynamicForReceiverClass(owner,
-                                             Symbols::NoSuchMethod(),
-                                             args_desc));
+    Function& no_such_method =
+        Function::ZoneHandle(Z, Resolver::ResolveDynamicForReceiverClass(
+                                    owner, Symbols::NoSuchMethod(), args_desc));
     if (no_such_method.IsNull()) {
       // If noSuchMethod(i) is not found, call Object:noSuchMethod.
       no_such_method ^= Resolver::ResolveDynamicForReceiverClass(
           Class::Handle(Z, I->object_store()->object_class()),
-          Symbols::NoSuchMethod(),
-          args_desc);
+          Symbols::NoSuchMethod(), args_desc);
     }
     call = new StaticCallNode(token_pos, no_such_method, arguments);
   } else {
@@ -1702,12 +1640,8 @@
     } else {
       im_type = InvocationMirror::kMethod;
     }
-    call = ThrowNoSuchMethodError(TokenPos(),
-                                  owner,
-                                  func_name,
-                                  func_args,
-                                  InvocationMirror::kStatic,
-                                  im_type,
+    call = ThrowNoSuchMethodError(TokenPos(), owner, func_name, func_args,
+                                  InvocationMirror::kStatic, im_type,
                                   NULL);  // No existing function.
   }
 
@@ -1739,10 +1673,8 @@
   LoadLocalNode* load_receiver = new LoadLocalNode(ident_pos, receiver);
 
   ClosureNode* closure = new ClosureNode(
-      ident_pos,
-      Function::ZoneHandle(Z, func.extracted_method_closure()),
-      load_receiver,
-      NULL);
+      ident_pos, Function::ZoneHandle(Z, func.extracted_method_closure()),
+      load_receiver, NULL);
 
   ReturnNode* return_node = new ReturnNode(ident_pos, closure);
   current_block_->statements->Add(return_node);
@@ -1821,21 +1753,20 @@
   }
 
   const String& func_name = String::ZoneHandle(Z, func.name());
-  ArgumentListNode* arguments = BuildNoSuchMethodArguments(
-      token_pos, func_name, *func_args, NULL, false);
+  ArgumentListNode* arguments =
+      BuildNoSuchMethodArguments(token_pos, func_name, *func_args, NULL, false);
   const intptr_t kNumArguments = 2;  // Receiver, InvocationMirror.
   ArgumentsDescriptor args_desc(
       Array::Handle(Z, ArgumentsDescriptor::New(kNumArguments)));
-  Function& no_such_method = Function::ZoneHandle(Z,
-      Resolver::ResolveDynamicForReceiverClass(Class::Handle(Z, func.Owner()),
-                                               Symbols::NoSuchMethod(),
-                                               args_desc));
+  Function& no_such_method = Function::ZoneHandle(
+      Z,
+      Resolver::ResolveDynamicForReceiverClass(
+          Class::Handle(Z, func.Owner()), Symbols::NoSuchMethod(), args_desc));
   if (no_such_method.IsNull()) {
     // If noSuchMethod(i) is not found, call Object:noSuchMethod.
     no_such_method ^= Resolver::ResolveDynamicForReceiverClass(
         Class::Handle(Z, I->object_store()->object_class()),
-        Symbols::NoSuchMethod(),
-        args_desc);
+        Symbols::NoSuchMethod(), args_desc);
   }
   StaticCallNode* call =
       new StaticCallNode(token_pos, no_such_method, arguments);
@@ -1865,8 +1796,8 @@
   ArgumentListNode* no_args = new ArgumentListNode(token_pos);
   LoadLocalNode* receiver = new LoadLocalNode(token_pos, scope->VariableAt(0));
 
-  const Class& closure_cls = Class::Handle(
-      Isolate::Current()->object_store()->closure_class());
+  const Class& closure_cls =
+      Class::Handle(Isolate::Current()->object_store()->closure_class());
 
   const Class& owner = Class::Handle(Z, func.Owner());
   ASSERT(!owner.IsNull());
@@ -1875,16 +1806,16 @@
   if (owner.raw() == closure_cls.raw() && name.Equals(Symbols::Call())) {
     function_object = receiver;
   } else {
-    const String& getter_name = String::ZoneHandle(Z,
-        Field::GetterSymbol(name));
-    function_object = new(Z) InstanceCallNode(
-        token_pos, receiver, getter_name, no_args);
+    const String& getter_name =
+        String::ZoneHandle(Z, Field::GetterSymbol(name));
+    function_object =
+        new (Z) InstanceCallNode(token_pos, receiver, getter_name, no_args);
   }
 
   // Pass arguments 1..n to the closure call.
-  ArgumentListNode* args = new(Z) ArgumentListNode(token_pos);
-  const Array& names = Array::Handle(
-      Z, Array::New(desc.NamedCount(), Heap::kOld));
+  ArgumentListNode* args = new (Z) ArgumentListNode(token_pos);
+  const Array& names =
+      Array::Handle(Z, Array::New(desc.NamedCount(), Heap::kOld));
   // Positional parameters.
   intptr_t i = 1;
   for (; i < desc.PositionalCount(); ++i) {
@@ -1892,7 +1823,7 @@
   }
   // Named parameters.
   for (; i < desc.Count(); i++) {
-    args->Add(new(Z) LoadLocalNode(token_pos, scope->VariableAt(i)));
+    args->Add(new (Z) LoadLocalNode(token_pos, scope->VariableAt(i)));
     intptr_t index = i - desc.PositionalCount();
     names.SetAt(index, String::Handle(Z, desc.NameAt(index)));
   }
@@ -1914,10 +1845,7 @@
 AstNode* Parser::BuildClosureCall(TokenPosition token_pos,
                                   AstNode* closure,
                                   ArgumentListNode* arguments) {
-  return new InstanceCallNode(token_pos,
-                              closure,
-                              Symbols::Call(),
-                              arguments);
+  return new InstanceCallNode(token_pos, closure, Symbols::Call(), arguments);
 }
 
 
@@ -1930,7 +1858,7 @@
   // Adding the first opening brace here, because it will be consumed
   // in the loop right away.
   token_stack.Add(opening_token);
-  const TokenPosition start_pos =  TokenPos();
+  const TokenPosition start_pos = TokenPos();
   TokenPosition opening_pos = start_pos;
   token_pos_stack.Add(start_pos);
   bool is_match = true;
@@ -1974,20 +1902,18 @@
     }
   } while (!token_stack.is_empty() && is_match && !unexpected_token_found);
   if (!is_match) {
-    const Error& error = Error::Handle(
-        LanguageError::NewFormatted(Error::Handle(),
-            script_, opening_pos, Report::AtLocation,
-            Report::kWarning, Heap::kNew,
-            "unbalanced '%s' opens here", Token::Str(opening_token)));
-    ReportErrors(error, script_, token_pos,
-                 "unbalanced '%s'", Token::Str(token));
+    const Error& error = Error::Handle(LanguageError::NewFormatted(
+        Error::Handle(), script_, opening_pos, Report::AtLocation,
+        Report::kWarning, Heap::kNew, "unbalanced '%s' opens here",
+        Token::Str(opening_token)));
+    ReportErrors(error, script_, token_pos, "unbalanced '%s'",
+                 Token::Str(token));
   } else if (unexpected_token_found) {
     ReportError(start_pos, "unterminated '%s'", Token::Str(opening_token));
   }
 }
 
 
-
 void Parser::SkipBlock() {
   ASSERT(CurrentToken() == Token::kLBRACE);
   SkipToMatching();
@@ -2071,8 +1997,8 @@
       parameter.has_explicit_type = true;
       // It is too early to resolve the type here, since it can be a result type
       // referring to a not yet declared function type parameter.
-      parameter.type = &AbstractType::ZoneHandle(Z,
-          ParseType(ClassFinalizer::kDoNotResolve));
+      parameter.type = &AbstractType::ZoneHandle(
+          Z, ParseType(ClassFinalizer::kDoNotResolve));
     } else {
       // If this is an initializing formal, its type will be set to the type of
       // the respective field when the constructor is fully parsed.
@@ -2130,9 +2056,9 @@
       // signature functions (except typedef signature functions), therefore
       // we do not need to keep the correct script via a patch class. Use the
       // actual current class as owner of the signature function.
-      const Function& signature_function = Function::Handle(Z,
-          Function::NewSignatureFunction(current_class(),
-                                         TokenPosition::kNoSource));
+      const Function& signature_function =
+          Function::Handle(Z, Function::NewSignatureFunction(
+                                  current_class(), TokenPosition::kNoSource));
       signature_function.set_parent_function(innermost_function());
       innermost_function_ = signature_function.raw();
 
@@ -2151,10 +2077,8 @@
       ParamList func_params;
 
       // Add implicit closure object parameter.
-      func_params.AddFinalParameter(
-          TokenPos(),
-          &Symbols::ClosureParameter(),
-          &Object::dynamic_type());
+      func_params.AddFinalParameter(TokenPos(), &Symbols::ClosureParameter(),
+                                    &Object::dynamic_type());
 
       const bool no_explicit_default_values = false;
       ParseFormalParameterList(no_explicit_default_values, false, &func_params);
@@ -2187,8 +2111,7 @@
       ResolveType(ClassFinalizer::kResolveTypeParameters, &type);
       if (!is_top_level_) {
         type = ClassFinalizer::FinalizeType(
-            Class::Handle(Z, innermost_function().origin()),
-            type,
+            Class::Handle(Z, innermost_function().origin()), type,
             ClassFinalizer::kCanonicalize);
       }
       parameter.type = &type;
@@ -2261,16 +2184,16 @@
       params->has_optional_named_parameters = true;
       return;
     }
-    Token::Kind terminator =
-       params->has_optional_positional_parameters ? Token::kRBRACK :
-       params->has_optional_named_parameters ? Token::kRBRACE :
-       Token :: kRPAREN;
+    Token::Kind terminator = params->has_optional_positional_parameters
+                                 ? Token::kRBRACK
+                                 : params->has_optional_named_parameters
+                                       ? Token::kRBRACE
+                                       : Token::kRPAREN;
     if (has_seen_parameter && CurrentToken() == terminator) {
       // Allow a trailing comma.
       break;
     }
-    ParseFormalParameter(allow_explicit_default_values,
-                         evaluate_metadata,
+    ParseFormalParameter(allow_explicit_default_values, evaluate_metadata,
                          params);
     has_seen_parameter = true;
   } while (CurrentToken() == Token::kCOMMA);
@@ -2285,14 +2208,12 @@
 
   if (LookaheadToken(1) != Token::kRPAREN) {
     // Parse fixed parameters.
-    ParseFormalParameters(allow_explicit_default_values,
-                          evaluate_metadata,
+    ParseFormalParameters(allow_explicit_default_values, evaluate_metadata,
                           params);
     if (params->has_optional_positional_parameters ||
         params->has_optional_named_parameters) {
       // Parse optional parameters.
-      ParseFormalParameters(allow_explicit_default_values,
-                            evaluate_metadata,
+      ParseFormalParameters(allow_explicit_default_values, evaluate_metadata,
                             params);
       if (params->has_optional_positional_parameters) {
         CheckToken(Token::kRBRACK, "',' or ']' expected");
@@ -2338,11 +2259,10 @@
     ReportError(token_pos, "class '%s' does not have a superclass",
                 String::Handle(Z, current_class().Name()).ToCString());
   }
-  Function& super_func = Function::Handle(Z,
-      Resolver::ResolveDynamicAnyArgs(Z, super_class, name));
+  Function& super_func = Function::Handle(
+      Z, Resolver::ResolveDynamicAnyArgs(Z, super_class, name));
   if (!super_func.IsNull() &&
-      !super_func.AreValidArguments(arguments->length(),
-                                    arguments->names(),
+      !super_func.AreValidArguments(arguments->length(), arguments->names(),
                                     NULL)) {
     super_func = Function::null();
   } else if (super_func.IsNull() && resolve_getter) {
@@ -2352,8 +2272,8 @@
            (super_func.kind() != RawFunction::kImplicitStaticFinalGetter));
   }
   if (super_func.IsNull()) {
-    super_func = Resolver::ResolveDynamicAnyArgs(Z,
-        super_class, Symbols::NoSuchMethod());
+    super_func = Resolver::ResolveDynamicAnyArgs(Z, super_class,
+                                                 Symbols::NoSuchMethod());
     ASSERT(!super_func.IsNull());
     *is_no_such_method = true;
   } else {
@@ -2376,9 +2296,8 @@
   // The first argument is the original function name.
   arguments->Add(new LiteralNode(args_pos, function_name));
   // The second argument is the arguments descriptor of the original function.
-  const Array& args_descriptor =
-      Array::ZoneHandle(ArgumentsDescriptor::New(function_args.length(),
-                                                 function_args.names()));
+  const Array& args_descriptor = Array::ZoneHandle(
+      ArgumentsDescriptor::New(function_args.length(), function_args.names()));
   arguments->Add(new LiteralNode(args_pos, args_descriptor));
   // The third argument is an array containing the original function arguments,
   // including the receiver.
@@ -2388,11 +2307,10 @@
     AstNode* arg = function_args.NodeAt(i);
     if ((temp_for_last_arg != NULL) && (i == function_args.length() - 1)) {
       LetNode* store_arg = new LetNode(arg->token_pos());
-      store_arg->AddNode(new StoreLocalNode(arg->token_pos(),
-                                           temp_for_last_arg,
-                                           arg));
-      store_arg->AddNode(new LoadLocalNode(arg->token_pos(),
-                                           temp_for_last_arg));
+      store_arg->AddNode(
+          new StoreLocalNode(arg->token_pos(), temp_for_last_arg, arg));
+      store_arg->AddNode(
+          new LoadLocalNode(arg->token_pos(), temp_for_last_arg));
       args_array->AddElement(store_arg);
     } else {
       args_array->AddElement(arg);
@@ -2404,8 +2322,8 @@
   const Class& mirror_class =
       Class::Handle(Library::LookupCoreClass(Symbols::InvocationMirror()));
   ASSERT(!mirror_class.IsNull());
-  const Function& allocation_function = Function::ZoneHandle(
-      mirror_class.LookupStaticFunction(
+  const Function& allocation_function =
+      Function::ZoneHandle(mirror_class.LookupStaticFunction(
           Library::PrivateCoreLibName(Symbols::AllocateInvocationMirror())));
   ASSERT(!allocation_function.IsNull());
   return new StaticCallNode(call_pos, allocation_function, arguments);
@@ -2423,11 +2341,9 @@
   ArgumentListNode* arguments = new ArgumentListNode(args_pos);
   arguments->Add(function_args.NodeAt(0));
   // The second argument is the invocation mirror.
-  arguments->Add(BuildInvocationMirrorAllocation(call_pos,
-                                                 function_name,
-                                                 function_args,
-                                                 temp_for_last_arg,
-                                                 is_super_invocation));
+  arguments->Add(
+      BuildInvocationMirrorAllocation(call_pos, function_name, function_args,
+                                      temp_for_last_arg, is_super_invocation));
   return arguments;
 }
 
@@ -2445,20 +2361,15 @@
 
   const bool kResolveGetter = true;
   bool is_no_such_method = false;
-  const Function& super_function = Function::ZoneHandle(Z,
-      GetSuperFunction(supercall_pos,
-                       function_name,
-                       arguments,
-                       kResolveGetter,
-                       &is_no_such_method));
+  const Function& super_function = Function::ZoneHandle(
+      Z, GetSuperFunction(supercall_pos, function_name, arguments,
+                          kResolveGetter, &is_no_such_method));
   if (super_function.IsGetterFunction() ||
       super_function.IsImplicitGetterFunction()) {
     const Class& super_class =
         Class::ZoneHandle(Z, current_class().SuperClass());
-    AstNode* closure = new StaticGetterNode(supercall_pos,
-                                            LoadReceiver(supercall_pos),
-                                            super_class,
-                                            function_name);
+    AstNode* closure = new StaticGetterNode(
+        supercall_pos, LoadReceiver(supercall_pos), super_class, function_name);
     // 'this' is not passed as parameter to the closure.
     ArgumentListNode* closure_arguments = new ArgumentListNode(supercall_pos);
     for (int i = 1; i < arguments->length(); i++) {
@@ -2467,8 +2378,8 @@
     return BuildClosureCall(supercall_pos, closure, closure_arguments);
   }
   if (is_no_such_method) {
-    arguments = BuildNoSuchMethodArguments(
-        supercall_pos, function_name, *arguments, NULL, true);
+    arguments = BuildNoSuchMethodArguments(supercall_pos, function_name,
+                                           *arguments, NULL, true);
   }
   return new StaticCallNode(supercall_pos, super_function, arguments);
 }
@@ -2484,8 +2395,7 @@
   ASSERT(super->IsSuper());
   AstNode* super_op = NULL;
   const TokenPosition super_pos = super->token_pos();
-  if ((op == Token::kNEGATE) ||
-      (op == Token::kBIT_NOT)) {
+  if ((op == Token::kNEGATE) || (op == Token::kBIT_NOT)) {
     // Resolve the operator function in the superclass.
     const String& operator_function_name = Symbols::Token(op);
     ArgumentListNode* op_arguments = new ArgumentListNode(super_pos);
@@ -2493,12 +2403,9 @@
     op_arguments->Add(receiver);
     const bool kResolveGetter = false;
     bool is_no_such_method = false;
-    const Function& super_operator = Function::ZoneHandle(Z,
-        GetSuperFunction(super_pos,
-                         operator_function_name,
-                         op_arguments,
-                         kResolveGetter,
-                         &is_no_such_method));
+    const Function& super_operator = Function::ZoneHandle(
+        Z, GetSuperFunction(super_pos, operator_function_name, op_arguments,
+                            kResolveGetter, &is_no_such_method));
     if (is_no_such_method) {
       op_arguments = BuildNoSuchMethodArguments(
           super_pos, operator_function_name, *op_arguments, NULL, true);
@@ -2550,12 +2457,9 @@
     const String& operator_function_name = Symbols::Token(op);
     const bool kResolveGetter = false;
     bool is_no_such_method = false;
-    const Function& super_operator = Function::ZoneHandle(Z,
-        GetSuperFunction(operator_pos,
-                         operator_function_name,
-                         op_arguments,
-                         kResolveGetter,
-                         &is_no_such_method));
+    const Function& super_operator = Function::ZoneHandle(
+        Z, GetSuperFunction(operator_pos, operator_function_name, op_arguments,
+                            kResolveGetter, &is_no_such_method));
     if (is_no_such_method) {
       op_arguments = BuildNoSuchMethodArguments(
           operator_pos, operator_function_name, *op_arguments, NULL, true);
@@ -2599,37 +2503,36 @@
         String::ZoneHandle(Z, Field::LookupSetterSymbol(field_name));
     Function& super_setter = Function::ZoneHandle(Z);
     if (!setter_name.IsNull()) {
-      super_setter = Resolver::ResolveDynamicAnyArgs(Z,
-          super_class, setter_name);
+      super_setter =
+          Resolver::ResolveDynamicAnyArgs(Z, super_class, setter_name);
     }
     if (super_setter.IsNull()) {
       // Check if this is an access to an implicit closure using 'super'.
       // If a function exists of the specified field_name then try
       // accessing it as a getter, at runtime we will handle this by
       // creating an implicit closure of the function and returning it.
-      const Function& super_function = Function::ZoneHandle(Z,
-          Resolver::ResolveDynamicAnyArgs(Z, super_class, field_name));
+      const Function& super_function = Function::ZoneHandle(
+          Z, Resolver::ResolveDynamicAnyArgs(Z, super_class, field_name));
       if (!super_function.IsNull()) {
         // In case CreateAssignmentNode is called later on this
         // CreateImplicitClosureNode, it will be replaced by a StaticSetterNode.
-        return CreateImplicitClosureNode(super_function,
-                                         field_pos,
+        return CreateImplicitClosureNode(super_function, field_pos,
                                          implicit_argument);
       }
       // No function or field exists of the specified field_name.
       // Emit a StaticGetterNode anyway, so that noSuchMethod gets called.
     }
   }
-  return new(Z) StaticGetterNode(
-      field_pos, implicit_argument, super_class, field_name);
+  return new (Z)
+      StaticGetterNode(field_pos, implicit_argument, super_class, field_name);
 }
 
 
 StaticCallNode* Parser::GenerateSuperConstructorCall(
-      const Class& cls,
-      TokenPosition supercall_pos,
-      LocalVariable* receiver,
-      ArgumentListNode* forwarding_args) {
+    const Class& cls,
+    TokenPosition supercall_pos,
+    LocalVariable* receiver,
+    ArgumentListNode* forwarding_args) {
   const Class& super_class = Class::Handle(Z, cls.SuperClass());
   // Omit the implicit super() if there is no super class (i.e.
   // we're not compiling class Object), or if the super class is an
@@ -2659,27 +2562,26 @@
     if (ctor_name.Length() > class_name.Length() + 1) {
       // Generating a forwarding call to a named constructor 'C.n'.
       // Add the constructor name 'n' to the super constructor.
-      const intptr_t kLen =  class_name.Length() + 1;
+      const intptr_t kLen = class_name.Length() + 1;
       ctor_name = Symbols::New(T, ctor_name, kLen, ctor_name.Length() - kLen);
       super_ctor_name = Symbols::FromConcat(T, super_ctor_name, ctor_name);
     }
   }
 
   // Resolve super constructor function and check arguments.
-  const Function& super_ctor = Function::ZoneHandle(Z,
-      super_class.LookupConstructor(super_ctor_name));
+  const Function& super_ctor =
+      Function::ZoneHandle(Z, super_class.LookupConstructor(super_ctor_name));
   if (super_ctor.IsNull()) {
-      ReportError(supercall_pos,
-                  "unresolved implicit call to super constructor '%s()'",
-                  String::Handle(Z, super_class.Name()).ToCString());
+    ReportError(supercall_pos,
+                "unresolved implicit call to super constructor '%s()'",
+                String::Handle(Z, super_class.Name()).ToCString());
   }
   if (current_function().is_const() && !super_ctor.is_const()) {
     ReportError(supercall_pos, "implicit call to non-const super constructor");
   }
 
   String& error_message = String::Handle(Z);
-  if (!super_ctor.AreValidArguments(arguments->length(),
-                                    arguments->names(),
+  if (!super_ctor.AreValidArguments(arguments->length(), arguments->names(),
                                     &error_message)) {
     ReportError(supercall_pos,
                 "invalid arguments passed to super constructor '%s()': %s",
@@ -2699,11 +2601,11 @@
   const Class& super_class = Class::Handle(Z, cls.SuperClass());
   ASSERT(!super_class.IsNull());
   String& ctor_name = String::Handle(Z, super_class.Name());
-  ctor_name =  Symbols::FromConcat(T, ctor_name, Symbols::Dot());
+  ctor_name = Symbols::FromConcat(T, ctor_name, Symbols::Dot());
   if (CurrentToken() == Token::kPERIOD) {
     ConsumeToken();
-    ctor_name = Symbols::FromConcat(T,
-        ctor_name, *ExpectIdentifier("constructor name expected"));
+    ctor_name = Symbols::FromConcat(
+        T, ctor_name, *ExpectIdentifier("constructor name expected"));
   }
   CheckToken(Token::kLPAREN, "parameter list expected");
 
@@ -2718,24 +2620,21 @@
   receiver->set_invisible(false);
 
   // Resolve the constructor.
-  const Function& super_ctor = Function::ZoneHandle(Z,
-      super_class.LookupConstructor(ctor_name));
+  const Function& super_ctor =
+      Function::ZoneHandle(Z, super_class.LookupConstructor(ctor_name));
   if (super_ctor.IsNull()) {
-    ReportError(supercall_pos,
-                "super class constructor '%s' not found",
+    ReportError(supercall_pos, "super class constructor '%s' not found",
                 ctor_name.ToCString());
   }
   if (current_function().is_const() && !super_ctor.is_const()) {
     ReportError(supercall_pos, "super constructor must be const");
   }
   String& error_message = String::Handle(Z);
-  if (!super_ctor.AreValidArguments(arguments->length(),
-                                    arguments->names(),
+  if (!super_ctor.AreValidArguments(arguments->length(), arguments->names(),
                                     &error_message)) {
     ReportError(supercall_pos,
                 "invalid arguments passed to super class constructor '%s': %s",
-                ctor_name.ToCString(),
-                error_message.ToCString());
+                ctor_name.ToCString(), error_message.ToCString());
   }
   return new StaticCallNode(supercall_pos, super_ctor, arguments);
 }
@@ -2783,13 +2682,13 @@
                 field_name.ToCString());
   }
   EnsureExpressionTemp();
-  AstNode* instance = new(Z) LoadLocalNode(field_pos, receiver);
-  AstNode* initializer = CheckDuplicateFieldInit(field_pos,
-      initialized_fields, instance, &field, init_expr);
+  AstNode* instance = new (Z) LoadLocalNode(field_pos, receiver);
+  AstNode* initializer = CheckDuplicateFieldInit(field_pos, initialized_fields,
+                                                 instance, &field, init_expr);
   if (initializer == NULL) {
     initializer =
-        new(Z) StoreInstanceFieldNode(field_pos, instance, field, init_expr,
-                                      /* is_initializer = */ true);
+        new (Z) StoreInstanceFieldNode(field_pos, instance, field, init_expr,
+                                       /* is_initializer = */ true);
   }
   return initializer;
 }
@@ -2860,9 +2759,10 @@
 }
 
 
-void Parser::ParseInitializedInstanceFields(const Class& cls,
-                 LocalVariable* receiver,
-                 GrowableArray<Field*>* initialized_fields) {
+void Parser::ParseInitializedInstanceFields(
+    const Class& cls,
+    LocalVariable* receiver,
+    GrowableArray<Field*>* initialized_fields) {
   TRACE_PARSER("ParseInitializedInstanceFields");
   const Array& fields = Array::Handle(Z, cls.fields());
   Field& f = Field::Handle(Z);
@@ -2901,12 +2801,9 @@
       ASSERT(init_expr != NULL);
       AstNode* instance = new LoadLocalNode(field.token_pos(), receiver);
       EnsureExpressionTemp();
-      AstNode* field_init =
-          new StoreInstanceFieldNode(field.token_pos(),
-                                     instance,
-                                     field,
-                                     init_expr,
-                                     /* is_initializer = */ true);
+      AstNode* field_init = new StoreInstanceFieldNode(
+          field.token_pos(), instance, field, init_expr,
+          /* is_initializer = */ true);
       current_block_->statements->Add(field_init);
     }
   }
@@ -2951,46 +2848,42 @@
       //     List argumentNames,
       //     List existingArgumentNames);
 
-      ArgumentListNode* nsm_args = new(Z) ArgumentListNode(init_pos);
+      ArgumentListNode* nsm_args = new (Z) ArgumentListNode(init_pos);
       // Object receiver.
       nsm_args->Add(instance);
 
       // String memberName.
       String& setter_name = String::ZoneHandle(field->name());
       setter_name = Field::SetterSymbol(setter_name);
-      nsm_args->Add(new(Z) LiteralNode(init_pos, setter_name));
+      nsm_args->Add(new (Z) LiteralNode(init_pos, setter_name));
 
       // Smi invocation_type.
-      const int invocation_type =
-          InvocationMirror::EncodeType(InvocationMirror::kDynamic,
-                                       InvocationMirror::kSetter);
-      nsm_args->Add(new(Z) LiteralNode(
+      const int invocation_type = InvocationMirror::EncodeType(
+          InvocationMirror::kDynamic, InvocationMirror::kSetter);
+      nsm_args->Add(new (Z) LiteralNode(
           init_pos, Smi::ZoneHandle(Z, Smi::New(invocation_type))));
 
       // List arguments.
       GrowableArray<AstNode*> setter_args;
       setter_args.Add(init_value);
-      ArrayNode* setter_args_array = new(Z) ArrayNode(
-          init_pos,
-          Type::ZoneHandle(Z, Type::ArrayType()),
-          setter_args);
+      ArrayNode* setter_args_array = new (Z) ArrayNode(
+          init_pos, Type::ZoneHandle(Z, Type::ArrayType()), setter_args);
       nsm_args->Add(setter_args_array);
 
       // List argumentNames.
       // The missing implicit setter of the field has no argument names.
-      nsm_args->Add(new(Z) LiteralNode(init_pos, Object::null_array()));
+      nsm_args->Add(new (Z) LiteralNode(init_pos, Object::null_array()));
 
       // List existingArgumentNames.
       // There is no setter for the final field, thus there are
       // no existing names.
-      nsm_args->Add(new(Z) LiteralNode(init_pos, Object::null_array()));
+      nsm_args->Add(new (Z) LiteralNode(init_pos, Object::null_array()));
 
       AstNode* nsm_call = MakeStaticCall(
           Symbols::NoSuchMethodError(),
-          Library::PrivateCoreLibName(Symbols::ThrowNew()),
-          nsm_args);
+          Library::PrivateCoreLibName(Symbols::ThrowNew()), nsm_args);
 
-      LetNode* let = new(Z) LetNode(init_pos);
+      LetNode* let = new (Z) LetNode(init_pos);
       let->AddNode(init_value);
       let->AddNode(nsm_call);
       result = let;
@@ -3004,8 +2897,7 @@
     Field* initialized_field = (*initialized_fields)[initializer_idx];
     initializer_idx++;
     if (initialized_field->raw() == field->raw()) {
-      ReportError(init_pos,
-                  "duplicate initializer for field %s",
+      ReportError(init_pos, "duplicate initializer for field %s",
                   String::Handle(Z, field->name()).ToCString());
     }
   }
@@ -3068,16 +2960,16 @@
     }
     ASSERT(super_init_index >= 0);
     ArgumentListNode* ctor_args = super_init_call->arguments();
-    LetNode* saved_args = new(Z) LetNode(super_init_call->token_pos());
+    LetNode* saved_args = new (Z) LetNode(super_init_call->token_pos());
     // The super initializer call has at least 1 arguments: the
     // implicit receiver.
     ASSERT(ctor_args->length() >= 1);
     for (int i = 1; i < ctor_args->length(); i++) {
       AstNode* arg = ctor_args->NodeAt(i);
       LocalVariable* temp = CreateTempConstVariable(arg->token_pos(), "sca");
-      AstNode* save_temp = new(Z) StoreLocalNode(arg->token_pos(), temp, arg);
+      AstNode* save_temp = new (Z) StoreLocalNode(arg->token_pos(), temp, arg);
       saved_args->AddNode(save_temp);
-      ctor_args->SetNodeAt(i, new(Z) LoadLocalNode(arg->token_pos(), temp));
+      ctor_args->SetNodeAt(i, new (Z) LoadLocalNode(arg->token_pos(), temp));
     }
     current_block_->statements->ReplaceNodeAt(super_init_index, saved_args);
     current_block_->statements->Add(super_init_call);
@@ -3113,23 +3005,20 @@
   ParseActualParameters(arguments, kAllowConst);
   receiver->set_invisible(false);
   // Resolve the constructor.
-  const Function& redirect_ctor = Function::ZoneHandle(Z,
-      cls.LookupConstructor(ctor_name));
+  const Function& redirect_ctor =
+      Function::ZoneHandle(Z, cls.LookupConstructor(ctor_name));
   if (redirect_ctor.IsNull()) {
     ReportError(call_pos, "constructor '%s' not found",
-        String::Handle(Z, redirect_ctor.UserVisibleName()).ToCString());
+                String::Handle(Z, redirect_ctor.UserVisibleName()).ToCString());
   }
   if (current_function().is_const() && !redirect_ctor.is_const()) {
-    ReportError(call_pos,
-        "redirection constructor '%s' must be const",
-        String::Handle(Z, redirect_ctor.UserVisibleName()).ToCString());
+    ReportError(call_pos, "redirection constructor '%s' must be const",
+                String::Handle(Z, redirect_ctor.UserVisibleName()).ToCString());
   }
   String& error_message = String::Handle(Z);
-  if (!redirect_ctor.AreValidArguments(arguments->length(),
-                                       arguments->names(),
+  if (!redirect_ctor.AreValidArguments(arguments->length(), arguments->names(),
                                        &error_message)) {
-    ReportError(call_pos,
-                "invalid arguments passed to constructor '%s': %s",
+    ReportError(call_pos, "invalid arguments passed to constructor '%s': %s",
                 String::Handle(Z, redirect_ctor.UserVisibleName()).ToCString(),
                 error_message.ToCString());
   }
@@ -3144,11 +3033,9 @@
   const TokenPosition ctor_pos = TokenPos();
   OpenFunctionBlock(func);
 
-  LocalVariable* receiver = new LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      Symbols::This(),
-      *ReceiverType(current_class()));
+  LocalVariable* receiver =
+      new LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                        Symbols::This(), *ReceiverType(current_class()));
   current_block_->scope->InsertParameterAt(0, receiver);
 
   // Parse expressions of instance fields that have an explicit
@@ -3156,8 +3043,8 @@
   // The receiver must not be visible to field initializer expressions.
   receiver->set_invisible(true);
   GrowableArray<Field*> initialized_fields;
-  ParseInitializedInstanceFields(
-      current_class(), receiver, &initialized_fields);
+  ParseInitializedInstanceFields(current_class(), receiver,
+                                 &initialized_fields);
   receiver->set_invisible(false);
 
   // If the class of this implicit constructor is a mixin application alias,
@@ -3193,21 +3080,17 @@
     // The first user-defined argument is at position 1.
     forwarding_args = new ArgumentListNode(ST(ctor_pos));
     for (int i = 1; i < func.NumParameters(); i++) {
-      LocalVariable* param = new LocalVariable(
-          TokenPosition::kNoSource,
-          TokenPosition::kNoSource,
-          String::ZoneHandle(Z, func.ParameterNameAt(i)),
-          Object::dynamic_type());
+      LocalVariable* param =
+          new LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                            String::ZoneHandle(Z, func.ParameterNameAt(i)),
+                            Object::dynamic_type());
       current_block_->scope->InsertParameterAt(i, param);
       forwarding_args->Add(new LoadLocalNode(ST(ctor_pos), param));
     }
   }
 
-  AstNode* super_call = GenerateSuperConstructorCall(
-      current_class(),
-      ctor_pos,
-      receiver,
-      forwarding_args);
+  AstNode* super_call = GenerateSuperConstructorCall(current_class(), ctor_pos,
+                                                     receiver, forwarding_args);
   if (super_call != NULL) {
     current_block_->statements->Add(super_call);
   }
@@ -3249,8 +3132,7 @@
             DumpPendingFunctions(Z, pending_functions);
         ASSERT(pending_function_dump != NULL);
         ReportError("circular dependency for function %s\n%s",
-                    fname.ToCString(),
-                    pending_function_dump);
+                    fname.ToCString(), pending_function_dump);
       } else {
         ReportError("circular dependency for function %s", fname.ToCString());
       }
@@ -3309,10 +3191,10 @@
 
   const bool is_redirecting_constructor =
       (CurrentToken() == Token::kCOLON) &&
-          ((LookaheadToken(1) == Token::kTHIS) &&
-              ((LookaheadToken(2) == Token::kLPAREN) ||
-              ((LookaheadToken(2) == Token::kPERIOD) &&
-              (LookaheadToken(4) == Token::kLPAREN))));
+      ((LookaheadToken(1) == Token::kTHIS) &&
+       ((LookaheadToken(2) == Token::kLPAREN) ||
+        ((LookaheadToken(2) == Token::kPERIOD) &&
+         (LookaheadToken(4) == Token::kLPAREN))));
 
   GrowableArray<Field*> initialized_fields;
   LocalVariable* receiver = (*params.parameters)[0].var;
@@ -3370,16 +3252,12 @@
         ASSERT(p != NULL);
         AstNode* value = new LoadLocalNode(param.name_pos, p);
         EnsureExpressionTemp();
-        AstNode* initializer =
-            CheckDuplicateFieldInit(param.name_pos,
-                                    &initialized_fields,
-                                    instance,
-                                    &field,
-                                    value);
+        AstNode* initializer = CheckDuplicateFieldInit(
+            param.name_pos, &initialized_fields, instance, &field, value);
         if (initializer == NULL) {
-          initializer = new(Z) StoreInstanceFieldNode(
-              param.name_pos, instance, field, value,
-              /* is_initializer = */ true);
+          initializer = new (Z)
+              StoreInstanceFieldNode(param.name_pos, instance, field, value,
+                                     /* is_initializer = */ true);
         }
         current_block_->statements->Add(initializer);
       }
@@ -3417,14 +3295,11 @@
     if (func.is_external()) {
       // Body of an external method contains a single throw.
       const String& function_name = String::ZoneHandle(func.name());
-      current_block_->statements->Add(
-          ThrowNoSuchMethodError(TokenPos(),
-                                 cls,
-                                 function_name,
-                                 NULL,   // No arguments.
-                                 InvocationMirror::kStatic,
-                                 InvocationMirror::kMethod,
-                                 NULL));  // No existing function.
+      current_block_->statements->Add(ThrowNoSuchMethodError(
+          TokenPos(), cls, function_name,
+          NULL,  // No arguments.
+          InvocationMirror::kStatic, InvocationMirror::kMethod,
+          NULL));  // No existing function.
     }
   } else {
     UnexpectedToken();
@@ -3470,10 +3345,8 @@
   if (func.IsClosureFunction()) {
     // The first parameter of a closure function is the closure object.
     ASSERT(!func.is_const());  // Closure functions cannot be const.
-    params.AddFinalParameter(
-        TokenPos(),
-        &Symbols::ClosureParameter(),
-        &Object::dynamic_type());
+    params.AddFinalParameter(TokenPos(), &Symbols::ClosureParameter(),
+                             &Object::dynamic_type());
   } else if (!func.is_static()) {
     // Static functions do not have a receiver.
     ASSERT(current_class().raw() == func.Owner());
@@ -3481,17 +3354,14 @@
   } else if (func.IsFactory()) {
     // The first parameter of a factory is the TypeArguments vector of
     // the type of the instance to be allocated.
-    params.AddFinalParameter(
-        TokenPos(),
-        &Symbols::TypeArgumentsParameter(),
-        &Object::dynamic_type());
+    params.AddFinalParameter(TokenPos(), &Symbols::TypeArgumentsParameter(),
+                             &Object::dynamic_type());
   }
   // Expect the parameter list unless this is a getter function, or the
   // body closure of an async or generator getter function.
-  ASSERT((CurrentToken() == Token::kLPAREN) ||
-         func.IsGetterFunction() ||
+  ASSERT((CurrentToken() == Token::kLPAREN) || func.IsGetterFunction() ||
          (func.is_generated_body() &&
-             Function::Handle(func.parent_function()).IsGetterFunction()));
+          Function::Handle(func.parent_function()).IsGetterFunction()));
   const bool allow_explicit_default_values = true;
   if (func.IsGetterFunction()) {
     // Populate function scope with the formal parameters. Since in this case
@@ -3549,8 +3419,7 @@
     // Populate function scope with the formal parameters.
     AddFormalParamsToScope(&params, current_block_->scope);
 
-    if (I->type_checks() &&
-        (FunctionLevel() > 0)) {
+    if (I->type_checks() && (FunctionLevel() > 0)) {
       // We are parsing, but not compiling, a local function.
       // The instantiator may be required at run time for generic type checks.
       if (IsInstantiatorRequired()) {
@@ -3620,8 +3489,7 @@
                   "=> style function may not be sync* or async* generator");
     }
     ConsumeToken();
-    if (String::Handle(Z, func.name()).Equals(
-        Symbols::EqualOperator())) {
+    if (String::Handle(Z, func.name()).Equals(Symbols::EqualOperator())) {
       const Class& owner = Class::Handle(Z, func.Owner());
       if (!owner.IsObjectClass()) {
         AddEqualityNullCheck();
@@ -3636,8 +3504,7 @@
       ExpectSemicolon();
     }
   } else if (IsSymbol(Symbols::Native())) {
-    if (String::Handle(Z, func.name()).Equals(
-        Symbols::EqualOperator())) {
+    if (String::Handle(Z, func.name()).Equals(Symbols::EqualOperator())) {
       const Class& owner = Class::Handle(Z, func.Owner());
       if (!owner.IsObjectClass()) {
         AddEqualityNullCheck();
@@ -3649,16 +3516,13 @@
   } else if (func.is_external()) {
     // Body of an external method contains a single throw.
     const String& function_name = String::ZoneHandle(Z, func.name());
-    current_block_->statements->Add(
-        ThrowNoSuchMethodError(TokenPos(),
-                               Class::Handle(func.Owner()),
-                               function_name,
-                               NULL,  // Ignore arguments.
-                               func.is_static() ?
-                                   InvocationMirror::kStatic :
-                                   InvocationMirror::kDynamic,
-                               InvocationMirror::kMethod,
-                               &func));  // Unpatched external function.
+    current_block_->statements->Add(ThrowNoSuchMethodError(
+        TokenPos(), Class::Handle(func.Owner()), function_name,
+        NULL,  // Ignore arguments.
+        func.is_static() ? InvocationMirror::kStatic
+                         : InvocationMirror::kDynamic,
+        InvocationMirror::kMethod,
+        &func));  // Unpatched external function.
     end_token_pos = TokenPos();
   } else {
     UnexpectedToken();
@@ -3693,28 +3557,20 @@
 
 
 void Parser::AddEqualityNullCheck() {
-  AstNode* argument =
-      new LoadLocalNode(TokenPosition::kNoSource,
-                        current_block_->scope->parent()->VariableAt(1));
+  AstNode* argument = new LoadLocalNode(
+      TokenPosition::kNoSource, current_block_->scope->parent()->VariableAt(1));
   LiteralNode* null_operand =
       new LiteralNode(TokenPosition::kNoSource, Instance::ZoneHandle(Z));
-  ComparisonNode* check_arg =
-      new ComparisonNode(TokenPosition::kNoSource,
-                         Token::kEQ_STRICT,
-                         argument,
-                         null_operand);
+  ComparisonNode* check_arg = new ComparisonNode(
+      TokenPosition::kNoSource, Token::kEQ_STRICT, argument, null_operand);
   ComparisonNode* result =
-      new ComparisonNode(TokenPosition::kNoSource,
-                         Token::kEQ_STRICT,
-                         LoadReceiver(TokenPosition::kNoSource),
-                         null_operand);
-  SequenceNode* arg_is_null = new SequenceNode(TokenPosition::kNoSource,
-                                               current_block_->scope);
+      new ComparisonNode(TokenPosition::kNoSource, Token::kEQ_STRICT,
+                         LoadReceiver(TokenPosition::kNoSource), null_operand);
+  SequenceNode* arg_is_null =
+      new SequenceNode(TokenPosition::kNoSource, current_block_->scope);
   arg_is_null->Add(new ReturnNode(TokenPosition::kNoSource, result));
-  IfNode* if_arg_null = new IfNode(TokenPosition::kNoSource,
-                                   check_arg,
-                                   arg_is_null,
-                                   NULL);
+  IfNode* if_arg_null =
+      new IfNode(TokenPosition::kNoSource, check_arg, arg_is_null, NULL);
   current_block_->statements->Add(if_arg_null);
 }
 
@@ -3807,8 +3663,7 @@
 void Parser::ParseMethodOrConstructor(ClassDesc* members, MemberDesc* method) {
   TRACE_PARSER("ParseMethodOrConstructor");
   // We are at the beginning of the formal parameters list.
-  ASSERT(CurrentToken() == Token::kLPAREN ||
-         CurrentToken() == Token::kLT ||
+  ASSERT(CurrentToken() == Token::kLPAREN || CurrentToken() == Token::kLT ||
          method->IsGetter());
   ASSERT(method->type != NULL);  // May still be unresolved.
   ASSERT(current_member_ == method);
@@ -3820,10 +3675,9 @@
     ReportError(method->name_pos, "'final' not allowed for methods");
   }
   if (method->has_abstract && method->has_static) {
-    ReportError(method->name_pos,
-                "static method '%s' cannot be abstract",
+    ReportError(method->name_pos, "static method '%s' cannot be abstract",
                 method->name->ToCString());
-     }
+  }
   if (method->has_const && !method->IsFactoryOrConstructor()) {
     ReportError(method->name_pos, "'const' not allowed for methods");
   }
@@ -3834,16 +3688,14 @@
     current_class().set_is_const();
   }
 
-  Function& func = Function::Handle(Z,
+  Function& func = Function::Handle(
+      Z,
       Function::New(*method->name,  // May change.
-                    method->kind,
-                    method->has_static,
-                    method->has_const,
+                    method->kind, method->has_static, method->has_const,
                     method->has_abstract,  // May change.
                     method->has_external,
                     method->has_native,  // May change.
-                    current_class(),
-                    method->decl_begin_pos));
+                    current_class(), method->decl_begin_pos));
 
   ASSERT(innermost_function().IsNull());
   innermost_function_ = func.raw();
@@ -3858,7 +3710,7 @@
     }
     if (method->IsGetter() || method->IsSetter()) {
       ReportError(type_param_pos, "%s cannot be generic",
-          method->IsGetter() ? "getter" : "setter");
+                  method->IsGetter() ? "getter" : "setter");
     }
     ParseTypeParameters(false);  // Not parameterizing class, but function.
   }
@@ -3881,17 +3733,15 @@
   if (!method->has_static || method->IsConstructor()) {
     method->params.AddReceiver(ReceiverType(current_class()), formal_param_pos);
   } else if (method->IsFactory()) {
-    method->params.AddFinalParameter(
-        formal_param_pos,
-        &Symbols::TypeArgumentsParameter(),
-        &Object::dynamic_type());
+    method->params.AddFinalParameter(formal_param_pos,
+                                     &Symbols::TypeArgumentsParameter(),
+                                     &Object::dynamic_type());
   }
   if (are_implicitly_final) {
     method->params.SetImplicitlyFinal();
   }
   if (!method->IsGetter()) {
-    ParseFormalParameterList(allow_explicit_default_values,
-                             false,
+    ParseFormalParameterList(allow_explicit_default_values, false,
                              &method->params);
   }
 
@@ -3899,7 +3749,7 @@
   // unary and binary operator -.
   if (method->has_operator) {
     if ((method->operator_token == Token::kSUB) &&
-       (method->params.num_fixed_parameters == 1)) {
+        (method->params.num_fixed_parameters == 1)) {
       // Patch up name for unary operator - so it does not clash with the
       // name for binary operator -.
       method->operator_token = Token::kNEGATE;
@@ -3919,8 +3769,8 @@
     } else {
       ASSERT(method->IsSetter());
       expected_num_parameters = (method->has_static) ? 1 : 2;
-      method->dict_name = &String::ZoneHandle(Z,
-          Symbols::FromConcat(T, *method->name, Symbols::Equals()));
+      method->dict_name = &String::ZoneHandle(
+          Z, Symbols::FromConcat(T, *method->name, Symbols::Equals()));
       method->name = &String::ZoneHandle(Z, Field::SetterSymbol(*method->name));
     }
     if ((method->params.num_fixed_parameters != expected_num_parameters) ||
@@ -3937,9 +3787,10 @@
   if (method->IsFactory() && (CurrentToken() == Token::kASSIGN)) {
     // Default parameter values are disallowed in redirecting factories.
     if (method->params.has_explicit_default_values) {
-      ReportError("redirecting factory '%s' may not specify default values "
-                  "for optional parameters",
-                  method->name->ToCString());
+      ReportError(
+          "redirecting factory '%s' may not specify default values "
+          "for optional parameters",
+          method->name->ToCString());
     }
     if (method->has_external) {
       ReportError(TokenPos(),
@@ -3952,16 +3803,14 @@
     const bool consume_unresolved_prefix =
         (LookaheadToken(3) == Token::kLT) ||
         (LookaheadToken(3) == Token::kPERIOD);
-    const AbstractType& type = AbstractType::Handle(Z,
-        ParseType(ClassFinalizer::kResolveTypeParameters,
-                  true,
-                  consume_unresolved_prefix));
+    const AbstractType& type = AbstractType::Handle(
+        Z, ParseType(ClassFinalizer::kResolveTypeParameters, true,
+                     consume_unresolved_prefix));
     if (!type.IsMalformed() && type.IsTypeParameter()) {
       // Replace the type with a malformed type and compile a throw when called.
       redirection_type = ClassFinalizer::NewFinalizedMalformedType(
           Error::Handle(Z),  // No previous error.
-          script_,
-          type_pos,
+          script_, type_pos,
           "factory '%s' may not redirect to type parameter '%s'",
           method->name->ToCString(),
           String::Handle(Z, type.UserVisibleName()).ToCString());
@@ -3992,7 +3841,8 @@
       if (method->params.has_field_initializer) {
         // Constructors that redirect to another constructor must not
         // initialize any fields using field initializer parameters.
-        ReportError(formal_param_pos, "Redirecting constructor "
+        ReportError(formal_param_pos,
+                    "Redirecting constructor "
                     "may not use field initializer parameters");
       }
       ConsumeToken();  // Colon.
@@ -4018,8 +3868,7 @@
   // Only constructors can redirect to another method.
   ASSERT((method->redirect_name == NULL) || method->IsConstructor());
 
-  if (method->IsConstructor() &&
-      method->has_external &&
+  if (method->IsConstructor() && method->has_external &&
       method->params.has_field_initializer) {
     ReportError(method->name_pos,
                 "external constructor '%s' may not have field initializers",
@@ -4030,23 +3879,20 @@
   RawFunction::AsyncModifier async_modifier = ParseFunctionModifier();
   if ((method->IsFactoryOrConstructor() || method->IsSetter()) &&
       (async_modifier != RawFunction::kNoModifier)) {
-    ReportError(modifier_pos,
-                "%s '%s' may not be async, async* or sync*",
+    ReportError(modifier_pos, "%s '%s' may not be async, async* or sync*",
                 (method->IsSetter()) ? "setter" : "constructor",
                 method->name->ToCString());
   }
 
   TokenPosition method_end_pos = TokenPos();
   String* native_name = NULL;
-  if ((CurrentToken() == Token::kLBRACE) ||
-      (CurrentToken() == Token::kARROW)) {
+  if ((CurrentToken() == Token::kLBRACE) || (CurrentToken() == Token::kARROW)) {
     if (method->has_abstract) {
       ReportError(TokenPos(),
                   "abstract method '%s' may not have a function body",
                   method->name->ToCString());
     } else if (method->has_external) {
-      ReportError(TokenPos(),
-                  "external %s '%s' may not have a function body",
+      ReportError(TokenPos(), "external %s '%s' may not have a function body",
                   method->IsFactoryOrConstructor() ? "constructor" : "method",
                   method->name->ToCString());
     } else if (method->IsConstructor() && method->has_const) {
@@ -4054,8 +3900,7 @@
                   "const constructor '%s' may not have a function body",
                   method->name->ToCString());
     } else if (method->IsFactory() && method->has_const) {
-      ReportError(TokenPos(),
-                  "const factory '%s' may not have a function body",
+      ReportError(TokenPos(), "const factory '%s' may not have a function body",
                   method->name->ToCString());
     }
     if (method->redirect_name != NULL) {
@@ -4085,8 +3930,7 @@
                   "abstract method '%s' may not have a function body",
                   method->name->ToCString());
     } else if (method->IsConstructor() && method->has_const) {
-      ReportError(method->name_pos,
-                  "const constructor '%s' may not be native",
+      ReportError(method->name_pos, "const constructor '%s' may not be native",
                   method->name->ToCString());
     }
     if (method->redirect_name != NULL) {
@@ -4099,23 +3943,19 @@
     method->has_native = true;
   } else {
     // We haven't found a method body. Issue error if one is required.
-    const bool must_have_body =
-        method->has_static &&
-        !method->has_external &&
-        redirection_type.IsNull();
+    const bool must_have_body = method->has_static && !method->has_external &&
+                                redirection_type.IsNull();
     if (must_have_body) {
-      ReportError(method->name_pos,
-                  "function body expected for method '%s'",
+      ReportError(method->name_pos, "function body expected for method '%s'",
                   method->name->ToCString());
     }
 
     if (CurrentToken() == Token::kSEMICOLON) {
       ConsumeToken();
-      if (!method->has_static &&
-          !method->has_external &&
+      if (!method->has_static && !method->has_external &&
           !method->IsConstructor()) {
-          // Methods, getters and setters without a body are
-          // implicitly abstract.
+        // Methods, getters and setters without a body are
+        // implicitly abstract.
         method->has_abstract = true;
       }
     } else {
@@ -4188,8 +4028,7 @@
   // The parser has read the first field name and is now at the token
   // after the field name.
   ASSERT(CurrentToken() == Token::kSEMICOLON ||
-         CurrentToken() == Token::kCOMMA ||
-         CurrentToken() == Token::kASSIGN);
+         CurrentToken() == Token::kCOMMA || CurrentToken() == Token::kASSIGN);
   ASSERT(field->type != NULL);
   ASSERT(field->name_pos.IsReal());
   ASSERT(current_member_ == field);
@@ -4249,14 +4088,9 @@
     // Create the field object.
     const bool is_reflectable =
         !(library_.is_dart_scheme() && library_.IsPrivate(*field->name));
-    class_field = Field::New(*field->name,
-                             field->has_static,
-                             field->has_final,
-                             field->has_const,
-                             is_reflectable,
-                             current_class(),
-                             *field->type,
-                             field->name_pos);
+    class_field = Field::New(*field->name, field->has_static, field->has_final,
+                             field->has_const, is_reflectable, current_class(),
+                             *field->type, field->name_pos);
     class_field.set_has_initializer(has_initializer);
     members->AddField(class_field);
     field->field_ = &class_field;
@@ -4286,15 +4120,12 @@
       if (!has_simple_literal) {
         String& getter_name =
             String::Handle(Z, Field::GetterSymbol(*field->name));
-        getter = Function::New(getter_name,
-                               RawFunction::kImplicitStaticFinalGetter,
-                               field->has_static,
-                               field->has_const,
-                               /* is_abstract = */ false,
-                               /* is_external = */ false,
-                               /* is_native = */ false,
-                               current_class(),
-                               field->name_pos);
+        getter = Function::New(
+            getter_name, RawFunction::kImplicitStaticFinalGetter,
+            field->has_static, field->has_const,
+            /* is_abstract = */ false,
+            /* is_external = */ false,
+            /* is_native = */ false, current_class(), field->name_pos);
         getter.set_result_type(*field->type);
         getter.set_is_debuggable(false);
         if (library_.is_dart_scheme() && library_.IsPrivate(*field->name)) {
@@ -4309,12 +4140,10 @@
       String& getter_name =
           String::Handle(Z, Field::GetterSymbol(*field->name));
       getter = Function::New(getter_name, RawFunction::kImplicitGetter,
-                             field->has_static,
-                             field->has_final,
+                             field->has_static, field->has_final,
                              /* is_abstract = */ false,
                              /* is_external = */ false,
-                             /* is_native = */ false,
-                             current_class(),
+                             /* is_native = */ false, current_class(),
                              field->name_pos);
       ParamList params;
       ASSERT(current_class().raw() == getter.Owner());
@@ -4328,19 +4157,15 @@
         String& setter_name =
             String::Handle(Z, Field::SetterSymbol(*field->name));
         setter = Function::New(setter_name, RawFunction::kImplicitSetter,
-                               field->has_static,
-                               field->has_final,
+                               field->has_static, field->has_final,
                                /* is_abstract = */ false,
                                /* is_external = */ false,
-                               /* is_native = */ false,
-                               current_class(),
+                               /* is_native = */ false, current_class(),
                                field->name_pos);
         ParamList params;
         ASSERT(current_class().raw() == setter.Owner());
         params.AddReceiver(ReceiverType(current_class()), field->name_pos);
-        params.AddFinalParameter(TokenPos(),
-                                 &Symbols::Value(),
-                                 field->type);
+        params.AddFinalParameter(TokenPos(), &Symbols::Value(), field->type);
         setter.set_result_type(Object::void_type());
         setter.set_is_debuggable(false);
         if (library_.is_dart_scheme() && library_.IsPrivate(*field->name)) {
@@ -4383,29 +4208,22 @@
 }
 
 
-void Parser::CheckMemberNameConflict(ClassDesc* members,
-                                     MemberDesc* member) {
+void Parser::CheckMemberNameConflict(ClassDesc* members, MemberDesc* member) {
   const String& name = *member->DictName();
   if (name.Equals(members->class_name())) {
-    ReportError(member->name_pos,
-                "%s '%s' conflicts with class name",
-                member->ToCString(),
-                name.ToCString());
+    ReportError(member->name_pos, "%s '%s' conflicts with class name",
+                member->ToCString(), name.ToCString());
   }
   if (members->clazz().LookupTypeParameter(name) != TypeParameter::null()) {
-    ReportError(member->name_pos,
-                "%s '%s' conflicts with type parameter",
-                member->ToCString(),
-                name.ToCString());
+    ReportError(member->name_pos, "%s '%s' conflicts with type parameter",
+                member->ToCString(), name.ToCString());
   }
   for (int i = 0; i < members->members().length(); i++) {
     MemberDesc* existing_member = &members->members()[i];
     if (name.Equals(*existing_member->DictName())) {
-      ReportError(member->name_pos,
-                  "%s '%s' conflicts with previously declared %s",
-                  member->ToCString(),
-                  name.ToCString(),
-                  existing_member->ToCString());
+      ReportError(
+          member->name_pos, "%s '%s' conflicts with previously declared %s",
+          member->ToCString(), name.ToCString(), existing_member->ToCString());
     }
   }
 }
@@ -4447,7 +4265,7 @@
     // The member type is the 'dynamic' type.
     member.type = &Object::dynamic_type();
   } else if ((CurrentToken() == Token::kFACTORY) &&
-      (LookaheadToken(1) != Token::kLPAREN)) {
+             (LookaheadToken(1) != Token::kLPAREN)) {
     ConsumeToken();
     if (member.has_static) {
       ReportError("factory method cannot be explicitly marked static");
@@ -4471,10 +4289,9 @@
       // Lookahead to determine whether the next tokens are a return type.
       TokenPosScope saved_pos(this);
       if (TryParseReturnType()) {
-        if (IsIdentifier() ||
-           (CurrentToken() == Token::kGET) ||
-           (CurrentToken() == Token::kSET) ||
-           (CurrentToken() == Token::kOPERATOR)) {
+        if (IsIdentifier() || (CurrentToken() == Token::kGET) ||
+            (CurrentToken() == Token::kSET) ||
+            (CurrentToken() == Token::kOPERATOR)) {
           found_type = true;
         }
       }
@@ -4482,8 +4299,8 @@
     if (found_type) {
       // It is too early to resolve the type here, since it can be a result type
       // referring to a not yet declared function type parameter.
-      member.type = &AbstractType::ZoneHandle(Z,
-          ParseType(ClassFinalizer::kDoNotResolve));
+      member.type = &AbstractType::ZoneHandle(
+          Z, ParseType(ClassFinalizer::kDoNotResolve));
     }
   }
 
@@ -4508,17 +4325,17 @@
     }
     // Do not bypass class resolution by using current_class() directly, since
     // it may be a patch class.
-    const Object& result_type_class = Object::Handle(Z,
-        UnresolvedClass::New(LibraryPrefix::Handle(Z),
-                             *member.name,
-                             member.name_pos));
+    const Object& result_type_class =
+        Object::Handle(Z, UnresolvedClass::New(LibraryPrefix::Handle(Z),
+                                               *member.name, member.name_pos));
     // The type arguments of the result type are the type parameters of the
     // current class. Note that in the case of a patch class, they are copied
     // from the class being patched.
-    member.type = &Type::ZoneHandle(Z, Type::New(
-        result_type_class,
-        TypeArguments::Handle(Z, current_class().type_parameters()),
-        member.name_pos));
+    member.type = &Type::ZoneHandle(
+        Z,
+        Type::New(result_type_class,
+                  TypeArguments::Handle(Z, current_class().type_parameters()),
+                  member.name_pos));
 
     // We must be dealing with a constructor or named constructor.
     member.kind = RawFunction::kConstructor;
@@ -4537,7 +4354,7 @@
              (LookaheadToken(1) != Token::kLPAREN) &&
              (LookaheadToken(1) != Token::kLT) &&
              (LookaheadToken(1) != Token::kASSIGN) &&
-             (LookaheadToken(1) != Token::kCOMMA)  &&
+             (LookaheadToken(1) != Token::kCOMMA) &&
              (LookaheadToken(1) != Token::kSEMICOLON)) {
     ConsumeToken();
     member.kind = RawFunction::kGetterFunction;
@@ -4548,8 +4365,8 @@
              (LookaheadToken(1) != Token::kLPAREN) &&
              (LookaheadToken(1) != Token::kLT) &&
              (LookaheadToken(1) != Token::kASSIGN) &&
-             (LookaheadToken(1) != Token::kCOMMA)  &&
-             (LookaheadToken(1) != Token::kSEMICOLON))  {
+             (LookaheadToken(1) != Token::kCOMMA) &&
+             (LookaheadToken(1) != Token::kSEMICOLON)) {
     ConsumeToken();
     member.kind = RawFunction::kSetterFunction;
     member.name_pos = this->TokenPos();
@@ -4563,7 +4380,7 @@
   } else if ((CurrentToken() == Token::kOPERATOR) && !member.has_var &&
              (LookaheadToken(1) != Token::kLPAREN) &&
              (LookaheadToken(1) != Token::kASSIGN) &&
-             (LookaheadToken(1) != Token::kCOMMA)  &&
+             (LookaheadToken(1) != Token::kCOMMA) &&
              (LookaheadToken(1) != Token::kSEMICOLON)) {
     // TODO(hausner): handle the case of a generic function named 'operator':
     // eg: T operator<T>(a, b) => ...
@@ -4578,8 +4395,8 @@
     member.has_operator = true;
     member.kind = RawFunction::kRegularFunction;
     member.name_pos = this->TokenPos();
-    member.name = &String::ZoneHandle(Z,
-        Symbols::Token(member.operator_token).raw());
+    member.name =
+        &String::ZoneHandle(Z, Symbols::Token(member.operator_token).raw());
     ConsumeToken();
   } else if (IsIdentifier()) {
     member.name = CurrentLiteral();
@@ -4598,7 +4415,7 @@
     ASSERT(member.IsFactory() == member.has_factory);
     // Note that member.type may still be unresolved.
     ParseMethodOrConstructor(members, &member);
-  } else if (CurrentToken() ==  Token::kSEMICOLON ||
+  } else if (CurrentToken() == Token::kSEMICOLON ||
              CurrentToken() == Token::kCOMMA ||
              CurrentToken() == Token::kASSIGN) {
     // Field definition.
@@ -4610,8 +4427,9 @@
       if (member.has_final) {
         member.type = &Object::dynamic_type();
       } else {
-        ReportError("missing 'var', 'final', 'const' or type"
-                    " in field declaration");
+        ReportError(
+            "missing 'var', 'final', 'const' or type"
+            " in field declaration");
       }
     } else if (member.type->IsVoidType()) {
       ReportError(member.name_pos, "field may not be 'void'");
@@ -4687,7 +4505,7 @@
   bool is_patch = false;
   bool is_abstract = false;
   TokenPosition declaration_pos =
-    metadata_pos.IsReal() ? metadata_pos : TokenPos();
+      metadata_pos.IsReal() ? metadata_pos : TokenPos();
   if (is_patch_source() && IsPatchAnnotation(metadata_pos)) {
     is_patch = true;
     metadata_pos = TokenPosition::kNoSource;
@@ -4769,8 +4587,7 @@
           ReportError(new_type_param.token_pos(),
                       "type parameter '%s' of patch class '%s' does not match "
                       "original type parameter '%s'",
-                      new_name.ToCString(),
-                      class_name.ToCString(),
+                      new_name.ToCString(), class_name.ToCString(),
                       orig_name.ToCString());
         }
         new_bound = new_type_param.bound();
@@ -4780,8 +4597,7 @@
                       "bound '%s' of type parameter '%s' of patch class '%s' "
                       "does not match original type parameter bound '%s'",
                       String::Handle(new_bound.UserVisibleName()).ToCString(),
-                      new_name.ToCString(),
-                      class_name.ToCString(),
+                      new_name.ToCString(), class_name.ToCString(),
                       String::Handle(orig_bound.UserVisibleName()).ToCString());
         }
       }
@@ -4813,16 +4629,13 @@
     }
     if (super_type.IsDynamicType()) {
       // Unlikely here, since super type is not resolved yet.
-      ReportError(type_pos,
-                  "class '%s' may not extend 'dynamic'",
+      ReportError(type_pos, "class '%s' may not extend 'dynamic'",
                   class_name.ToCString());
     }
     if (super_type.IsTypeParameter()) {
-      ReportError(type_pos,
-                  "class '%s' may not extend type parameter '%s'",
+      ReportError(type_pos, "class '%s' may not extend type parameter '%s'",
                   class_name.ToCString(),
-                  String::Handle(Z,
-                                 super_type.UserVisibleName()).ToCString());
+                  String::Handle(Z, super_type.UserVisibleName()).ToCString());
     }
     // The class finalizer will check whether the super type is malbounded.
     if (is_mixin_declaration) {
@@ -4895,8 +4708,7 @@
   ExpectToken(Token::kRBRACE);
 
   if (cls.LookupTypeParameter(class_name) != TypeParameter::null()) {
-    ReportError(class_pos,
-                "class name conflicts with type parameter '%s'",
+    ReportError(class_pos, "class name conflicts with type parameter '%s'",
                 class_name.ToCString());
   }
   CheckConstructors(&members);
@@ -4962,24 +4774,19 @@
                            true,   // Field is final.
                            false,  // Not const.
                            true,   // Is reflectable.
-                           cls,
-                           int_type,
-                           cls.token_pos());
+                           cls, int_type, cls.token_pos());
   enum_members.AddField(index_field);
 
   // Add implicit getter for index field.
   const String& getter_name =
       String::Handle(Z, Field::GetterSymbol(Symbols::Index()));
   Function& getter = Function::Handle(Z);
-  getter = Function::New(getter_name,
-                         RawFunction::kImplicitGetter,
+  getter = Function::New(getter_name, RawFunction::kImplicitGetter,
                          /* is_static = */ false,
                          /* is_const = */ true,
                          /* is_abstract = */ false,
                          /* is_external = */ false,
-                         /* is_native = */ false,
-                         cls,
-                         cls.token_pos());
+                         /* is_native = */ false, cls, cls.token_pos());
   getter.set_result_type(int_type);
   getter.set_is_debuggable(false);
   ParamList params;
@@ -5002,22 +4809,24 @@
     // Check for name conflicts.
     if (enum_ident->raw() == cls.Name()) {
       ReportError("enum identifier '%s' cannot be equal to enum type name",
-          CurrentLiteral()->ToCString());
+                  CurrentLiteral()->ToCString());
     } else if (enum_ident->raw() == Symbols::Index().raw()) {
-      ReportError("enum identifier conflicts with "
-                  "implicit instance field 'index'");
+      ReportError(
+          "enum identifier conflicts with "
+          "implicit instance field 'index'");
     } else if (enum_ident->raw() == Symbols::Values().raw()) {
-      ReportError("enum identifier conflicts with "
-                  "implicit static field 'values'");
+      ReportError(
+          "enum identifier conflicts with "
+          "implicit static field 'values'");
     } else if (enum_ident->raw() == Symbols::toString().raw()) {
-      ReportError("enum identifier conflicts with "
-                  "implicit instance method 'toString()'");
+      ReportError(
+          "enum identifier conflicts with "
+          "implicit instance method 'toString()'");
     }
     for (intptr_t n = 0; n < declared_names.length(); n++) {
       if (enum_ident->Equals(*declared_names[n])) {
         ReportError("Duplicate name '%s' in enum definition '%s'",
-                    enum_ident->ToCString(),
-                    enum_name.ToCString());
+                    enum_ident->ToCString(), enum_name.ToCString());
       }
     }
     declared_names.Add(enum_ident);
@@ -5027,10 +4836,8 @@
                             /* is_static = */ true,
                             /* is_final = */ true,
                             /* is_const = */ true,
-                            /* is_reflectable = */ true,
-                            cls,
-                            Object::dynamic_type(),
-                            cls.token_pos());
+                            /* is_reflectable = */ true, cls,
+                            Object::dynamic_type(), cls.token_pos());
     enum_value.set_has_initializer(false);
     enum_members.AddField(enum_value);
     // Initialize the field with the ordinal value. It will be patched
@@ -5049,14 +4856,13 @@
 
   // Add static field 'const List values'.
   Field& values_field = Field::ZoneHandle(Z);
-  values_field = Field::New(Symbols::Values(),
-                            /* is_static = */ true,
-                            /* is_final = */ true,
-                            /* is_const = */ true,
-                            /* is_reflectable = */ true,
-                            cls,
-                            Type::Handle(Z, Type::ArrayType()),
-                            cls.token_pos());
+  values_field =
+      Field::New(Symbols::Values(),
+                 /* is_static = */ true,
+                 /* is_final = */ true,
+                 /* is_const = */ true,
+                 /* is_reflectable = */ true, cls,
+                 Type::Handle(Z, Type::ArrayType()), cls.token_pos());
   enum_members.AddField(values_field);
 
   // Allocate the immutable array containing the enumeration values.
@@ -5066,8 +4872,8 @@
   values_field.RecordStore(values_array);
 
   // Clone the _name field from the helper class.
-  Field& _name_field = Field::Handle(Z,
-      helper_class.LookupInstanceFieldAllowPrivate(Symbols::_name()));
+  Field& _name_field = Field::Handle(
+      Z, helper_class.LookupInstanceFieldAllowPrivate(Symbols::_name()));
   ASSERT(!_name_field.IsNull());
   _name_field = _name_field.Clone(cls);
   enum_members.AddField(_name_field);
@@ -5076,18 +4882,15 @@
   // name directly here so that the private key matches those of the other
   // cloned helper functions and fields.
   const Type& string_type = Type::Handle(Z, Type::StringType());
-  const String& name_getter_name = String::Handle(Z,
-      Field::GetterSymbol(String::Handle(_name_field.name())));
+  const String& name_getter_name = String::Handle(
+      Z, Field::GetterSymbol(String::Handle(_name_field.name())));
   Function& name_getter = Function::Handle(Z);
-  name_getter = Function::New(name_getter_name,
-                              RawFunction::kImplicitGetter,
+  name_getter = Function::New(name_getter_name, RawFunction::kImplicitGetter,
                               /* is_static = */ false,
                               /* is_const = */ true,
                               /* is_abstract = */ false,
                               /* is_external = */ false,
-                              /* is_native = */ false,
-                              cls,
-                              cls.token_pos());
+                              /* is_native = */ false, cls, cls.token_pos());
   name_getter.set_result_type(string_type);
   name_getter.set_is_debuggable(false);
   ParamList name_params;
@@ -5096,15 +4899,15 @@
   enum_members.AddFunction(name_getter);
 
   // Clone the toString() function from the helper class.
-  Function& to_string_func = Function::Handle(Z,
-      helper_class.LookupDynamicFunctionAllowPrivate(Symbols::toString()));
+  Function& to_string_func = Function::Handle(
+      Z, helper_class.LookupDynamicFunctionAllowPrivate(Symbols::toString()));
   ASSERT(!to_string_func.IsNull());
   to_string_func = to_string_func.Clone(cls);
   enum_members.AddFunction(to_string_func);
 
   // Clone the hashCode getter function from the helper class.
-  Function& hash_code_func = Function::Handle(Z,
-      helper_class.LookupDynamicFunctionAllowPrivate(Symbols::hashCode()));
+  Function& hash_code_func = Function::Handle(
+      Z, helper_class.LookupDynamicFunctionAllowPrivate(Symbols::hashCode()));
   ASSERT(!hash_code_func.IsNull());
   hash_code_func = hash_code_func.Clone(cls);
   enum_members.AddFunction(hash_code_func);
@@ -5123,16 +4926,13 @@
   // To indicate that this is an implicit constructor, we set the
   // token position and end token position of the function
   // to the token position of the class.
-  Function& ctor = Function::Handle(Z,
-      Function::New(ctor_name,
-                    RawFunction::kConstructor,
-                    /* is_static = */ false,
-                    /* is_const = */ false,
-                    /* is_abstract = */ false,
-                    /* is_external = */ false,
-                    /* is_native = */ false,
-                    cls,
-                    cls.token_pos()));
+  Function& ctor = Function::Handle(
+      Z, Function::New(ctor_name, RawFunction::kConstructor,
+                       /* is_static = */ false,
+                       /* is_const = */ false,
+                       /* is_abstract = */ false,
+                       /* is_external = */ false,
+                       /* is_native = */ false, cls, cls.token_pos()));
   ctor.set_end_token_pos(ctor.token_pos());
   ctor.set_is_debuggable(false);
   if (library_.is_dart_scheme() && library_.IsPrivate(ctor_name)) {
@@ -5183,10 +4983,9 @@
 }
 
 
-void Parser::ParseMixinAppAlias(
-    const GrowableObjectArray& pending_classes,
-    const Object& tl_owner,
-    TokenPosition metadata_pos) {
+void Parser::ParseMixinAppAlias(const GrowableObjectArray& pending_classes,
+                                const Object& tl_owner,
+                                TokenPosition metadata_pos) {
   TRACE_PARSER("ParseMixinAppAlias");
   const TokenPosition classname_pos = TokenPos();
   String& class_name = *ExpectUserDefinedTypeIdentifier("class name expected");
@@ -5199,9 +4998,8 @@
     ReportError(classname_pos, "'%s' is already defined",
                 class_name.ToCString());
   }
-  const Class& mixin_application =
-      Class::Handle(Z, Class::New(library_, class_name,
-                                  script_, classname_pos));
+  const Class& mixin_application = Class::Handle(
+      Z, Class::New(library_, class_name, script_, classname_pos));
   mixin_application.set_is_mixin_app_alias();
   library_.AddClass(mixin_application);
   set_current_class(mixin_application);
@@ -5215,12 +5013,10 @@
   }
 
   const TokenPosition type_pos = TokenPos();
-  AbstractType& type =
-      AbstractType::Handle(Z,
-                           ParseType(ClassFinalizer::kResolveTypeParameters));
+  AbstractType& type = AbstractType::Handle(
+      Z, ParseType(ClassFinalizer::kResolveTypeParameters));
   if (type.IsTypeParameter()) {
-    ReportError(type_pos,
-                "class '%s' may not extend type parameter '%s'",
+    ReportError(type_pos, "class '%s' may not extend type parameter '%s'",
                 class_name.ToCString(),
                 String::Handle(Z, type.UserVisibleName()).ToCString());
   }
@@ -5317,17 +5113,16 @@
   const Object& obj =
       Object::Handle(Z, library_.LookupLocalObject(*alias_name));
   if (!obj.IsNull()) {
-    ReportError(alias_name_pos,
-                "'%s' is already defined", alias_name->ToCString());
+    ReportError(alias_name_pos, "'%s' is already defined",
+                alias_name->ToCString());
   }
 
   // Create the function type alias scope class. It will be linked to its
   // signature function after it has been parsed. The type parameters, in order
   // to be properly finalized, need to be associated to this scope class as
   // they are parsed.
-  const Class& function_type_alias =
-      Class::Handle(Z, Class::New(
-          library_, *alias_name, script_, declaration_pos));
+  const Class& function_type_alias = Class::Handle(
+      Z, Class::New(library_, *alias_name, script_, declaration_pos));
   function_type_alias.set_is_synthesized_class();
   function_type_alias.set_is_abstract();
   function_type_alias.set_is_prefinalized();
@@ -5345,18 +5140,15 @@
   ParamList func_params;
 
   // Add implicit closure object parameter.
-  func_params.AddFinalParameter(
-      TokenPos(),
-      &Symbols::ClosureParameter(),
-      &Object::dynamic_type());
+  func_params.AddFinalParameter(TokenPos(), &Symbols::ClosureParameter(),
+                                &Object::dynamic_type());
 
   // Mark the current class as a typedef class (by setting its signature
   // function field to a non-null function) before parsing its formal parameters
   // so that parsed function types are aware that their owner class is a
   // typedef class.
-  Function& signature_function =
-      Function::Handle(Z, Function::NewSignatureFunction(function_type_alias,
-                                                         alias_name_pos));
+  Function& signature_function = Function::Handle(
+      Z, Function::NewSignatureFunction(function_type_alias, alias_name_pos));
   ASSERT(innermost_function().IsNull());
   innermost_function_ = signature_function.raw();
   // Set the signature function in the function type alias class.
@@ -5380,9 +5172,7 @@
   ASSERT(!function_type_alias.is_finalized());
   pending_classes.Add(function_type_alias, Heap::kOld);
   if (FLAG_enable_mirrors && metadata_pos.IsReal()) {
-    library_.AddClassMetadata(function_type_alias,
-                              tl_owner,
-                              metadata_pos);
+    library_.AddClassMetadata(function_type_alias, tl_owner, metadata_pos);
   }
 }
 
@@ -5517,10 +5307,7 @@
       type_parameter = TypeParameter::New(
           parameterizing_class ? current_class() : Class::Handle(Z),
           parameterizing_class ? Function::Handle(Z) : innermost_function(),
-          index,
-          type_parameter_name,
-          type_parameter_bound,
-          declaration_pos);
+          index, type_parameter_name, type_parameter_bound, declaration_pos);
       if (!parameterizing_class) {
         // TODO(regis): Resolve and finalize function type parameter in
         // class finalizer. For now, already mark as finalized.
@@ -5641,7 +5428,7 @@
     mixin_types.Add(mixin_type);
   } while (CurrentToken() == Token::kCOMMA);
   return MixinAppType::New(super_type,
-      Array::Handle(Z, Array::MakeArray(mixin_types)));
+                           Array::Handle(Z, Array::MakeArray(mixin_types)));
 }
 
 
@@ -5653,8 +5440,8 @@
   // Const fields are implicitly final.
   const bool is_final = is_const || (CurrentToken() == Token::kFINAL);
   const bool is_static = true;
-  const AbstractType& type = AbstractType::ZoneHandle(Z,
-      ParseConstFinalVarOrType(ClassFinalizer::kResolveTypeParameters));
+  const AbstractType& type = AbstractType::ZoneHandle(
+      Z, ParseConstFinalVarOrType(ClassFinalizer::kResolveTypeParameters));
   Field& field = Field::Handle(Z);
   Function& getter = Function::Handle(Z);
   while (true) {
@@ -5706,15 +5493,12 @@
       if (!has_simple_literal) {
         // Create a static final getter.
         String& getter_name = String::Handle(Z, Field::GetterSymbol(var_name));
-        getter = Function::New(getter_name,
-                               RawFunction::kImplicitStaticFinalGetter,
-                               is_static,
-                               is_const,
-                               /* is_abstract = */ false,
-                               /* is_external = */ false,
-                               /* is_native = */ false,
-                               owner,
-                               name_pos);
+        getter =
+            Function::New(getter_name, RawFunction::kImplicitStaticFinalGetter,
+                          is_static, is_const,
+                          /* is_abstract = */ false,
+                          /* is_external = */ false,
+                          /* is_native = */ false, owner, name_pos);
         getter.set_result_type(type);
         getter.set_is_debuggable(false);
         getter.set_is_reflectable(is_reflectable);
@@ -5749,8 +5533,7 @@
     } else {
       return RawFunction::kAsync;
     }
-  } else if (IsSymbol(Symbols::Sync()) &&
-      (LookaheadToken(1) == Token::kMUL)) {
+  } else if (IsSymbol(Symbols::Sync()) && (LookaheadToken(1) == Token::kMUL)) {
     const bool enableSyncStar = true;
     if (!enableSyncStar) {
       ReportError("sync* generator functions are not yet supported");
@@ -5807,16 +5590,13 @@
   // A setter named x= may co-exist with a function named x, thus we do
   // not need to check setters.
 
-  Function& func = Function::Handle(Z,
-      Function::New(func_name,
-                    RawFunction::kRegularFunction,
-                    /* is_static = */ true,
-                    /* is_const = */ false,
-                    /* is_abstract = */ false,
-                    is_external,
-                    /* is_native = */ false,  // May change.
-                    owner,
-                    decl_begin_pos));
+  Function& func = Function::Handle(
+      Z, Function::New(func_name, RawFunction::kRegularFunction,
+                       /* is_static = */ true,
+                       /* is_const = */ false,
+                       /* is_abstract = */ false, is_external,
+                       /* is_native = */ false,  // May change.
+                       owner, decl_begin_pos));
 
   ASSERT(innermost_function().IsNull());
   innermost_function_ = func.raw();
@@ -5919,8 +5699,7 @@
     is_external = true;
   }
   bool is_getter = (CurrentToken() == Token::kGET);
-  if (CurrentToken() == Token::kGET ||
-      CurrentToken() == Token::kSET) {
+  if (CurrentToken() == Token::kGET || CurrentToken() == Token::kSET) {
     ConsumeToken();
     result_type = Type::DynamicType();
   } else {
@@ -5979,12 +5758,10 @@
   bool found = library_.LookupLocalObject(accessor_name) != Object::null();
   if (found && !is_patch) {
     ReportError(name_pos, "%s for '%s' is already defined",
-                is_getter ? "getter" : "setter",
-                field_name->ToCString());
+                is_getter ? "getter" : "setter", field_name->ToCString());
   } else if (!found && is_patch) {
     ReportError(name_pos, "missing %s for '%s' cannot be patched",
-                is_getter ? "getter" : "setter",
-                field_name->ToCString());
+                is_getter ? "getter" : "setter", field_name->ToCString());
   }
 
   const TokenPosition modifier_pos = TokenPos();
@@ -6023,17 +5800,13 @@
   } else {
     ReportError("function block expected");
   }
-  Function& func = Function::Handle(Z,
-      Function::New(accessor_name,
-                    is_getter ? RawFunction::kGetterFunction :
-                                RawFunction::kSetterFunction,
-                    is_static,
-                    /* is_const = */ false,
-                    /* is_abstract = */ false,
-                    is_external,
-                    is_native,
-                    owner,
-                    decl_begin_pos));
+  Function& func = Function::Handle(
+      Z, Function::New(accessor_name, is_getter ? RawFunction::kGetterFunction
+                                                : RawFunction::kSetterFunction,
+                       is_static,
+                       /* is_const = */ false,
+                       /* is_abstract = */ false, is_external, is_native, owner,
+                       decl_begin_pos));
   func.set_result_type(result_type);
   func.set_end_token_pos(accessor_end_pos);
   func.set_modifier(func_modifier);
@@ -6050,9 +5823,9 @@
     library_.AddObject(func, accessor_name);
   } else {
     // Need to remove the previously added accessor that is being patched.
-    const Class& toplevel_cls = Class::Handle(Z,
-        owner.IsClass() ? Class::Cast(owner).raw()
-                        : PatchClass::Cast(owner).patched_class());
+    const Class& toplevel_cls = Class::Handle(
+        Z, owner.IsClass() ? Class::Cast(owner).raw()
+                           : PatchClass::Cast(owner).patched_class());
     const Function& replaced_func =
         Function::Handle(Z, toplevel_cls.LookupFunction(accessor_name));
     ASSERT(!replaced_func.IsNull());
@@ -6085,8 +5858,7 @@
   {
     TransitionVMToNative transition(T);
     Api::Scope api_scope(T);
-    Dart_Handle retval = handler(tag,
-                                 Api::NewHandle(T, library_.raw()),
+    Dart_Handle retval = handler(tag, Api::NewHandle(T, library_.raw()),
                                  Api::NewHandle(T, url.raw()));
     result = Api::UnwrapHandle(retval);
   }
@@ -6185,9 +5957,10 @@
       // Check if this conditional line overrides the default import.
       const String& key = String::Handle(
           String::ConcatAll(Array::Handle(Array::MakeArray(pieces))));
-      const String& value = (valueNode == NULL)
-          ? Symbols::True()
-          : String::Cast(valueNode->AsLiteralNode()->literal());
+      const String& value =
+          (valueNode == NULL)
+              ? Symbols::True()
+              : String::Cast(valueNode->AsLiteralNode()->literal());
       // Call the embedder to supply us with the environment.
       const String& env_value =
           String::Handle(Api::GetEnvironmentValue(T, key));
@@ -6219,8 +5992,7 @@
 
   Array& show_names = Array::Handle(Z);
   Array& hide_names = Array::Handle(Z);
-  if (is_deferred_import ||
-      IsSymbol(Symbols::Show()) ||
+  if (is_deferred_import || IsSymbol(Symbols::Show()) ||
       IsSymbol(Symbols::Hide())) {
     GrowableObjectArray& show_list =
         GrowableObjectArray::Handle(Z, GrowableObjectArray::New());
@@ -6271,8 +6043,8 @@
     CallLibraryTagHandler(Dart_kImportTag, import_pos, canon_url);
   }
 
-  Namespace& ns = Namespace::Handle(Z,
-      Namespace::New(library, show_names, hide_names));
+  Namespace& ns =
+      Namespace::Handle(Z, Namespace::New(library, show_names, hide_names));
   if (FLAG_enable_mirrors && metadata_pos.IsReal()) {
     ns.AddMetadata(tl_owner, metadata_pos);
   }
@@ -6369,7 +6141,7 @@
     metadata_pos = SkipMetadata();
   }
   while ((CurrentToken() == Token::kIMPORT) ||
-      (CurrentToken() == Token::kEXPORT)) {
+         (CurrentToken() == Token::kEXPORT)) {
     ParseLibraryImportExport(tl_owner, metadata_pos);
     rewind_pos = TokenPos();
     metadata_pos = SkipMetadata();
@@ -6379,7 +6151,8 @@
   if (!library_.ImportsCorelib()) {
     Library& core_lib = Library::Handle(Z, Library::CoreLibrary());
     ASSERT(!core_lib.IsNull());
-    const Namespace& core_ns = Namespace::Handle(Z,
+    const Namespace& core_ns = Namespace::Handle(
+        Z,
         Namespace::New(core_lib, Object::null_array(), Object::null_array()));
     library_.AddImport(core_ns);
   }
@@ -6455,7 +6228,7 @@
       set_current_class(toplevel_class);
       ParseTypedef(pending_classes, tl_owner, metadata_pos);
     } else if ((CurrentToken() == Token::kABSTRACT) &&
-        (LookaheadToken(1) == Token::kCLASS)) {
+               (LookaheadToken(1) == Token::kCLASS)) {
       ParseClassDeclaration(pending_classes, tl_owner, metadata_pos);
     } else {
       set_current_class(toplevel_class);
@@ -6499,10 +6272,8 @@
 
 
 void Parser::ChainNewBlock(LocalScope* outer_scope) {
-  Block* block = new(Z) Block(
-      current_block_,
-      outer_scope,
-      new(Z) SequenceNode(TokenPos(), outer_scope));
+  Block* block = new (Z) Block(current_block_, outer_scope,
+                               new (Z) SequenceNode(TokenPos(), outer_scope));
   current_block_ = block;
 }
 
@@ -6510,18 +6281,16 @@
 void Parser::OpenBlock() {
   ASSERT(current_block_ != NULL);
   LocalScope* outer_scope = current_block_->scope;
-  ChainNewBlock(new(Z) LocalScope(
-      outer_scope, outer_scope->function_level(), outer_scope->loop_level()));
+  ChainNewBlock(new (Z) LocalScope(outer_scope, outer_scope->function_level(),
+                                   outer_scope->loop_level()));
 }
 
 
 void Parser::OpenLoopBlock() {
   ASSERT(current_block_ != NULL);
   LocalScope* outer_scope = current_block_->scope;
-  ChainNewBlock(new(Z) LocalScope(
-      outer_scope,
-      outer_scope->function_level(),
-      outer_scope->loop_level() + 1));
+  ChainNewBlock(new (Z) LocalScope(outer_scope, outer_scope->function_level(),
+                                   outer_scope->loop_level() + 1));
 }
 
 
@@ -6530,22 +6299,20 @@
   if (current_block_ == NULL) {
     if (!func.IsLocalFunction()) {
       // We are compiling a non-nested function.
-      outer_scope = new(Z) LocalScope(NULL, 0, 0);
+      outer_scope = new (Z) LocalScope(NULL, 0, 0);
     } else {
       // We are compiling the function of an invoked closure.
       // Restore the outer scope containing all captured variables.
       const ContextScope& context_scope =
           ContextScope::Handle(Z, func.context_scope());
       ASSERT(!context_scope.IsNull());
-      outer_scope = new(Z) LocalScope(
-          LocalScope::RestoreOuterScope(context_scope), 0, 0);
+      outer_scope = new (Z)
+          LocalScope(LocalScope::RestoreOuterScope(context_scope), 0, 0);
     }
   } else {
     // We are parsing a nested function while compiling the enclosing function.
-    outer_scope =
-        new(Z) LocalScope(current_block_->scope,
-                                  current_block_->scope->function_level() + 1,
-                                  0);
+    outer_scope = new (Z) LocalScope(
+        current_block_->scope, current_block_->scope->function_level() + 1, 0);
   }
   ChainNewBlock(outer_scope);
 }
@@ -6558,7 +6325,7 @@
 }
 
 
-SequenceNode* Parser::CloseAsyncGeneratorTryBlock(SequenceNode *body) {
+SequenceNode* Parser::CloseAsyncGeneratorTryBlock(SequenceNode* body) {
   TRACE_PARSER("CloseAsyncGeneratorTryBlock");
   // The generated try-catch-finally that wraps the async generator function
   // body is the outermost try statement.
@@ -6586,25 +6353,24 @@
   stack_trace_param.type = &Object::dynamic_type();
   stack_trace_param.name = &Symbols::StackTraceParameter();
 
-  AddCatchParamsToScope(
-      &exception_param, &stack_trace_param, current_block_->scope);
+  AddCatchParamsToScope(&exception_param, &stack_trace_param,
+                        current_block_->scope);
 
   // Generate code to save the exception object and stack trace
   // in local variables.
-  LocalVariable* context_var = try_scope->LocalLookupVariable(
-      Symbols::SavedTryContextVar());
+  LocalVariable* context_var =
+      try_scope->LocalLookupVariable(Symbols::SavedTryContextVar());
   ASSERT(context_var != NULL);
 
-  LocalVariable* exception_var = try_scope->LocalLookupVariable(
-      Symbols::ExceptionVar());
+  LocalVariable* exception_var =
+      try_scope->LocalLookupVariable(Symbols::ExceptionVar());
   ASSERT(exception_var != NULL);
   if (exception_param.var != NULL) {
     // Generate code to load the exception object (:exception_var) into
     // the exception variable specified in this block.
-    current_block_->statements->Add(new(Z) StoreLocalNode(
-        TokenPosition::kNoSource,
-        exception_param.var,
-        new(Z) LoadLocalNode(TokenPosition::kNoSource, exception_var)));
+    current_block_->statements->Add(new (Z) StoreLocalNode(
+        TokenPosition::kNoSource, exception_param.var,
+        new (Z) LoadLocalNode(TokenPosition::kNoSource, exception_var)));
   }
 
   LocalVariable* stack_trace_var =
@@ -6614,19 +6380,16 @@
     // A stack trace variable is specified in this block, so generate code
     // to load the stack trace object (:stack_trace_var) into the stack
     // trace variable specified in this block.
-    current_block_->statements->Add(new(Z) StoreLocalNode(
-        TokenPosition::kNoSource,
-        stack_trace_param.var,
-        new(Z) LoadLocalNode(TokenPosition::kNoSource, stack_trace_var)));
+    current_block_->statements->Add(new (Z) StoreLocalNode(
+        TokenPosition::kNoSource, stack_trace_param.var,
+        new (Z) LoadLocalNode(TokenPosition::kNoSource, stack_trace_var)));
   }
-  LocalVariable* saved_exception_var = try_scope->LocalLookupVariable(
-      Symbols::SavedExceptionVar());
-  LocalVariable* saved_stack_trace_var = try_scope->LocalLookupVariable(
-      Symbols::SavedStackTraceVar());
-  SaveExceptionAndStacktrace(current_block_->statements,
-                             exception_var,
-                             stack_trace_var,
-                             saved_exception_var,
+  LocalVariable* saved_exception_var =
+      try_scope->LocalLookupVariable(Symbols::SavedExceptionVar());
+  LocalVariable* saved_stack_trace_var =
+      try_scope->LocalLookupVariable(Symbols::SavedStackTraceVar());
+  SaveExceptionAndStacktrace(current_block_->statements, exception_var,
+                             stack_trace_var, saved_exception_var,
                              saved_stack_trace_var);
 
   // Catch block: add the error to the stream.
@@ -6635,18 +6398,15 @@
   LocalVariable* controller =
       current_block_->scope->LookupVariable(Symbols::Controller(), false);
   ASSERT(controller != NULL);
-  ArgumentListNode* args =
-      new(Z) ArgumentListNode(TokenPosition::kNoSource);
-  args->Add(new(Z) LoadLocalNode(
-      TokenPosition::kNoSource, exception_param.var));
-  args->Add(new(Z) LoadLocalNode(
-      TokenPosition::kNoSource, stack_trace_param.var));
-  current_block_->statements->Add(
-      new(Z) InstanceCallNode(try_end_pos,
-          new(Z) LoadLocalNode(TokenPosition::kNoSource, controller),
-          Symbols::AddError(),
-          args));
-  ReturnNode* return_node = new(Z) ReturnNode(TokenPosition::kNoSource);
+  ArgumentListNode* args = new (Z) ArgumentListNode(TokenPosition::kNoSource);
+  args->Add(new (Z)
+                LoadLocalNode(TokenPosition::kNoSource, exception_param.var));
+  args->Add(new (Z)
+                LoadLocalNode(TokenPosition::kNoSource, stack_trace_param.var));
+  current_block_->statements->Add(new (Z) InstanceCallNode(
+      try_end_pos, new (Z) LoadLocalNode(TokenPosition::kNoSource, controller),
+      Symbols::AddError(), args));
+  ReturnNode* return_node = new (Z) ReturnNode(TokenPosition::kNoSource);
   AddNodeForFinallyInlining(return_node);
   current_block_->statements->Add(return_node);
   AstNode* catch_block = CloseBlock();
@@ -6671,20 +6431,17 @@
   do {
     OpenBlock();
     ArgumentListNode* no_args =
-        new(Z) ArgumentListNode(TokenPosition::kNoSource);
-    current_block_->statements->Add(
-        new(Z) InstanceCallNode(try_end_pos,
-            new(Z) LoadLocalNode(TokenPosition::kNoSource, controller),
-            Symbols::Close(),
-            no_args));
+        new (Z) ArgumentListNode(TokenPosition::kNoSource);
+    current_block_->statements->Add(new (Z) InstanceCallNode(
+        try_end_pos,
+        new (Z) LoadLocalNode(TokenPosition::kNoSource, controller),
+        Symbols::Close(), no_args));
 
     // Suspend after the close.
-    AwaitMarkerNode* await_marker =
-        new(Z) AwaitMarkerNode(async_temp_scope_,
-                               current_block_->scope,
-                               TokenPosition::kNoSource);
+    AwaitMarkerNode* await_marker = new (Z) AwaitMarkerNode(
+        async_temp_scope_, current_block_->scope, TokenPosition::kNoSource);
     current_block_->statements->Add(await_marker);
-    ReturnNode* continuation_ret = new(Z) ReturnNode(try_end_pos);
+    ReturnNode* continuation_ret = new (Z) ReturnNode(try_end_pos);
     continuation_ret->set_return_type(ReturnNode::kContinuationTarget);
     current_block_->statements->Add(continuation_ret);
 
@@ -6692,11 +6449,9 @@
     AstNode* node_to_inline = try_statement->GetNodeToInlineFinally(node_index);
     if (node_to_inline != NULL) {
       InlinedFinallyNode* node =
-          new(Z) InlinedFinallyNode(try_end_pos,
-                                    finally_clause,
-                                    context_var,
-                                    // No outer try statement
-                                    CatchClauseNode::kInvalidTryIndex);
+          new (Z) InlinedFinallyNode(try_end_pos, finally_clause, context_var,
+                                     // No outer try statement
+                                     CatchClauseNode::kInvalidTryIndex);
       finally_clause = NULL;
       AddFinallyClauseToNode(true, node_to_inline, node);
       node_index++;
@@ -6712,28 +6467,17 @@
   // Catch block handles all exceptions.
   handler_types.Add(Object::dynamic_type());
 
-  CatchClauseNode* catch_clause = new(Z) CatchClauseNode(
-      TokenPosition::kNoSource,
-      catch_handler_list,
-      Array::ZoneHandle(Z, Array::MakeArray(handler_types)),
-      context_var,
-      exception_var,
-      stack_trace_var,
-      saved_exception_var,
-      saved_stack_trace_var,
-      AllocateTryIndex(),
-      true);
+  CatchClauseNode* catch_clause = new (Z) CatchClauseNode(
+      TokenPosition::kNoSource, catch_handler_list,
+      Array::ZoneHandle(Z, Array::MakeArray(handler_types)), context_var,
+      exception_var, stack_trace_var, saved_exception_var,
+      saved_stack_trace_var, AllocateTryIndex(), true);
 
   const intptr_t try_index = try_statement->try_index();
 
-  AstNode* try_catch_node =
-      new(Z) TryCatchNode(TokenPosition::kNoSource,
-                          body,
-                          context_var,
-                          catch_clause,
-                          finally_clause,
-                          try_index,
-                          finally_clause);
+  AstNode* try_catch_node = new (Z)
+      TryCatchNode(TokenPosition::kNoSource, body, context_var, catch_clause,
+                   finally_clause, try_index, finally_clause);
   current_block_->statements->Add(try_catch_node);
   return CloseBlock();
 }
@@ -6759,23 +6503,22 @@
   stack_trace_param.type = &Object::dynamic_type();
   stack_trace_param.name = &Symbols::StackTraceParameter();
 
-  AddCatchParamsToScope(
-      &exception_param, &stack_trace_param, current_block_->scope);
+  AddCatchParamsToScope(&exception_param, &stack_trace_param,
+                        current_block_->scope);
 
-  LocalVariable* context_var = try_scope->LocalLookupVariable(
-      Symbols::SavedTryContextVar());
+  LocalVariable* context_var =
+      try_scope->LocalLookupVariable(Symbols::SavedTryContextVar());
   ASSERT(context_var != NULL);
 
-  LocalVariable* exception_var = try_scope->LocalLookupVariable(
-      Symbols::ExceptionVar());
+  LocalVariable* exception_var =
+      try_scope->LocalLookupVariable(Symbols::ExceptionVar());
   if (exception_param.var != NULL) {
     // Generate code to load the exception object (:exception_var) into
     // the exception variable specified in this block.
     ASSERT(exception_var != NULL);
-    current_block_->statements->Add(new(Z) StoreLocalNode(
-        TokenPosition::kNoSource,
-        exception_param.var,
-        new(Z) LoadLocalNode(TokenPosition::kNoSource, exception_var)));
+    current_block_->statements->Add(new (Z) StoreLocalNode(
+        TokenPosition::kNoSource, exception_param.var,
+        new (Z) LoadLocalNode(TokenPosition::kNoSource, exception_var)));
   }
 
   LocalVariable* stack_trace_var =
@@ -6785,38 +6528,33 @@
     // to load the stack trace object (:stack_trace_var) into the stack
     // trace variable specified in this block.
     ASSERT(stack_trace_var != NULL);
-    current_block_->statements->Add(new(Z) StoreLocalNode(
-        TokenPosition::kNoSource,
-        stack_trace_param.var,
-        new(Z) LoadLocalNode(TokenPosition::kNoSource, stack_trace_var)));
+    current_block_->statements->Add(new (Z) StoreLocalNode(
+        TokenPosition::kNoSource, stack_trace_param.var,
+        new (Z) LoadLocalNode(TokenPosition::kNoSource, stack_trace_var)));
   }
-  LocalVariable* saved_exception_var = try_scope->LocalLookupVariable(
-      Symbols::SavedExceptionVar());
-  LocalVariable* saved_stack_trace_var = try_scope->LocalLookupVariable(
-      Symbols::SavedStackTraceVar());
-  SaveExceptionAndStacktrace(current_block_->statements,
-                             exception_var,
-                             stack_trace_var,
-                             saved_exception_var,
+  LocalVariable* saved_exception_var =
+      try_scope->LocalLookupVariable(Symbols::SavedExceptionVar());
+  LocalVariable* saved_stack_trace_var =
+      try_scope->LocalLookupVariable(Symbols::SavedStackTraceVar());
+  SaveExceptionAndStacktrace(current_block_->statements, exception_var,
+                             stack_trace_var, saved_exception_var,
                              saved_stack_trace_var);
 
   // Complete the async future with an error. This catch block executes
   // unconditionally, there is no need to generate a type check for.
-  LocalVariable* async_completer = current_block_->scope->LookupVariable(
-      Symbols::AsyncCompleter(), false);
+  LocalVariable* async_completer =
+      current_block_->scope->LookupVariable(Symbols::AsyncCompleter(), false);
   ASSERT(async_completer != NULL);
   ArgumentListNode* completer_args =
       new (Z) ArgumentListNode(TokenPosition::kNoSource);
   completer_args->Add(
       new (Z) LoadLocalNode(TokenPosition::kNoSource, exception_param.var));
   completer_args->Add(
-      new (Z) LoadLocalNode(TokenPosition::kNoSource,
-                            stack_trace_param.var));
+      new (Z) LoadLocalNode(TokenPosition::kNoSource, stack_trace_param.var));
   current_block_->statements->Add(new (Z) InstanceCallNode(
       TokenPos(),
       new (Z) LoadLocalNode(TokenPosition::kNoSource, async_completer),
-      Symbols::CompleterCompleteError(),
-      completer_args));
+      Symbols::CompleterCompleteError(), completer_args));
   ReturnNode* return_node = new (Z) ReturnNode(TokenPosition::kNoSource);
   // Behavior like a continuation return, i.e,. don't call a completer.
   return_node->set_return_type(ReturnNode::kContinuation);
@@ -6834,21 +6572,12 @@
   const intptr_t try_index = try_statement->try_index();
 
   CatchClauseNode* catch_clause = new (Z) CatchClauseNode(
-      TokenPosition::kNoSource,
-      catch_handler_list,
-      Array::ZoneHandle(Z, Array::MakeArray(handler_types)),
-      context_var,
-      exception_var,
-      stack_trace_var,
-      saved_exception_var,
-      saved_stack_trace_var,
-      CatchClauseNode::kInvalidTryIndex,
-      true);
+      TokenPosition::kNoSource, catch_handler_list,
+      Array::ZoneHandle(Z, Array::MakeArray(handler_types)), context_var,
+      exception_var, stack_trace_var, saved_exception_var,
+      saved_stack_trace_var, CatchClauseNode::kInvalidTryIndex, true);
   AstNode* try_catch_node = new (Z) TryCatchNode(
-      TokenPosition::kNoSource,
-      try_block,
-      context_var,
-      catch_clause,
+      TokenPosition::kNoSource, try_block, context_var, catch_clause,
       NULL,  // No finally clause.
       try_index,
       NULL);  // No rethrow-finally clause.
@@ -6866,13 +6595,9 @@
   LocalVariable* stack_trace_var = NULL;
   LocalVariable* saved_exception_var = NULL;
   LocalVariable* saved_stack_trace_var = NULL;
-  SetupExceptionVariables(current_block_->scope,
-                          true,
-                          &context_var,
-                          &exception_var,
-                          &stack_trace_var,
-                          &saved_exception_var,
-                          &saved_stack_trace_var);
+  SetupExceptionVariables(current_block_->scope, true, &context_var,
+                          &exception_var, &stack_trace_var,
+                          &saved_exception_var, &saved_stack_trace_var);
 
   // Open the try block.
   OpenBlock();
@@ -6890,10 +6615,9 @@
   // 2) Iterator
   // Add implicit closure parameter if not already present.
   if (params->parameters->length() == 0) {
-    params->AddFinalParameter(
-        TokenPosition::kMinSource,
-        &Symbols::ClosureParameter(),
-        &Object::dynamic_type());
+    params->AddFinalParameter(TokenPosition::kMinSource,
+                              &Symbols::ClosureParameter(),
+                              &Object::dynamic_type());
   }
   ParamDesc iterator_param;
   iterator_param.name = &Symbols::IteratorParameter();
@@ -6931,8 +6655,7 @@
     String& generator_name = String::Handle(Z, innermost_function().name());
     body_closure_name =
         Symbols::NewFormatted(T, "<%s_sync_body>", generator_name.ToCString());
-    body = Function::NewClosureFunction(body_closure_name,
-                                        innermost_function(),
+    body = Function::NewClosureFunction(body_closure_name, innermost_function(),
                                         func_pos);
     body.set_is_generated_body(true);
     body.set_result_type(Object::dynamic_type());
@@ -6975,33 +6698,31 @@
   // :await_jump_var = -1;
   LocalVariable* jump_var =
       current_block_->scope->LookupVariable(Symbols::AwaitJumpVar(), false);
-  LiteralNode* init_value = new(Z) LiteralNode(TokenPosition::kNoSource,
-                                               Smi::ZoneHandle(Smi::New(-1)));
+  LiteralNode* init_value = new (Z)
+      LiteralNode(TokenPosition::kNoSource, Smi::ZoneHandle(Smi::New(-1)));
   current_block_->statements->Add(
-      new(Z) StoreLocalNode(TokenPosition::kNoSource, jump_var, init_value));
+      new (Z) StoreLocalNode(TokenPosition::kNoSource, jump_var, init_value));
 
   // return new SyncIterable(body_closure);
   const Class& iterable_class =
       Class::Handle(Z, Library::LookupCoreClass(Symbols::_SyncIterable()));
   ASSERT(!iterable_class.IsNull());
-  const Function& iterable_constructor = Function::ZoneHandle(Z,
-      iterable_class.LookupConstructorAllowPrivate(
-          Symbols::_SyncIterableConstructor()));
+  const Function& iterable_constructor =
+      Function::ZoneHandle(Z, iterable_class.LookupConstructorAllowPrivate(
+                                  Symbols::_SyncIterableConstructor()));
   ASSERT(!iterable_constructor.IsNull());
 
   const String& closure_name = String::Handle(Z, closure.name());
   ASSERT(closure_name.IsSymbol());
 
   ArgumentListNode* arguments =
-      new(Z) ArgumentListNode(TokenPosition::kNoSource);
-  ClosureNode* closure_obj = new(Z) ClosureNode(
+      new (Z) ArgumentListNode(TokenPosition::kNoSource);
+  ClosureNode* closure_obj = new (Z) ClosureNode(
       TokenPosition::kNoSource, closure, NULL, closure_body->scope());
   arguments->Add(closure_obj);
-  ConstructorCallNode* new_iterable =
-      new(Z) ConstructorCallNode(TokenPosition::kNoSource,
-          TypeArguments::ZoneHandle(Z),
-          iterable_constructor,
-          arguments);
+  ConstructorCallNode* new_iterable = new (Z) ConstructorCallNode(
+      TokenPosition::kNoSource, TypeArguments::ZoneHandle(Z),
+      iterable_constructor, arguments);
   ReturnNode* return_node =
       new (Z) ReturnNode(TokenPosition::kNoSource, new_iterable);
   current_block_->statements->Add(return_node);
@@ -7017,10 +6738,9 @@
   ASSERT(params->parameters->length() <= 1);
   // Add implicit closure parameter if not yet present.
   if (params->parameters->length() == 0) {
-    params->AddFinalParameter(
-        TokenPosition::kMinSource,
-        &Symbols::ClosureParameter(),
-        &Object::dynamic_type());
+    params->AddFinalParameter(TokenPosition::kMinSource,
+                              &Symbols::ClosureParameter(),
+                              &Object::dynamic_type());
   }
   ParamDesc result_param;
   result_param.name = &Symbols::AsyncOperationParam();
@@ -7061,12 +6781,11 @@
     // Create the closure containing the body of this async function.
     const String& async_func_name =
         String::Handle(Z, innermost_function().name());
-    String& closure_name = String::Handle(Z, Symbols::NewFormatted(T,
-        "<%s_async_body>", async_func_name.ToCString()));
-    closure = Function::NewClosureFunction(
-        closure_name,
-        innermost_function(),
-        async_func_pos);
+    String& closure_name =
+        String::Handle(Z, Symbols::NewFormatted(T, "<%s_async_body>",
+                                                async_func_name.ToCString()));
+    closure = Function::NewClosureFunction(closure_name, innermost_function(),
+                                           async_func_pos);
     closure.set_is_generated_body(true);
     closure.set_result_type(Object::dynamic_type());
     is_new_closure = true;
@@ -7104,17 +6823,13 @@
   // Add to current block's scope:
   //   var :await_jump_var;
   //   var :await_ctx_var;
-  LocalVariable* await_jump_var = new (Z) LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      Symbols::AwaitJumpVar(),
-      Object::dynamic_type());
+  LocalVariable* await_jump_var =
+      new (Z) LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                            Symbols::AwaitJumpVar(), Object::dynamic_type());
   current_block_->scope->AddVariable(await_jump_var);
-  LocalVariable* await_ctx_var = new (Z) LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      Symbols::AwaitContextVar(),
-      Object::dynamic_type());
+  LocalVariable* await_ctx_var =
+      new (Z) LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                            Symbols::AwaitContextVar(), Object::dynamic_type());
   current_block_->scope->AddVariable(await_ctx_var);
 }
 
@@ -7125,29 +6840,21 @@
   //   var :async_then_callback;
   //   var :async_catch_error_callback;
   //   var :async_completer;
-  LocalVariable* async_op_var = new(Z) LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      Symbols::AsyncOperation(),
-      Object::dynamic_type());
+  LocalVariable* async_op_var =
+      new (Z) LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                            Symbols::AsyncOperation(), Object::dynamic_type());
   current_block_->scope->AddVariable(async_op_var);
-  LocalVariable* async_then_callback_var = new(Z) LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      Symbols::AsyncThenCallback(),
-      Object::dynamic_type());
+  LocalVariable* async_then_callback_var = new (Z)
+      LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                    Symbols::AsyncThenCallback(), Object::dynamic_type());
   current_block_->scope->AddVariable(async_then_callback_var);
-  LocalVariable* async_catch_error_callback_var = new(Z) LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      Symbols::AsyncCatchErrorCallback(),
-      Object::dynamic_type());
+  LocalVariable* async_catch_error_callback_var = new (Z)
+      LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                    Symbols::AsyncCatchErrorCallback(), Object::dynamic_type());
   current_block_->scope->AddVariable(async_catch_error_callback_var);
-  LocalVariable* async_completer = new(Z) LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      Symbols::AsyncCompleter(),
-      Object::dynamic_type());
+  LocalVariable* async_completer =
+      new (Z) LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                            Symbols::AsyncCompleter(), Object::dynamic_type());
   current_block_->scope->AddVariable(async_completer);
 }
 
@@ -7163,35 +6870,26 @@
   //   var :async_catch_error_callback;
   // These variables are used to store the async generator closure containing
   // the body of the async* function. They are used by the await operator.
-  LocalVariable* controller_var = new(Z) LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      Symbols::Controller(),
-      Object::dynamic_type());
+  LocalVariable* controller_var =
+      new (Z) LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                            Symbols::Controller(), Object::dynamic_type());
   current_block_->scope->AddVariable(controller_var);
-  LocalVariable* async_op_var = new(Z) LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      Symbols::AsyncOperation(),
-      Object::dynamic_type());
+  LocalVariable* async_op_var =
+      new (Z) LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                            Symbols::AsyncOperation(), Object::dynamic_type());
   current_block_->scope->AddVariable(async_op_var);
-  LocalVariable* async_then_callback_var = new(Z) LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      Symbols::AsyncThenCallback(),
-      Object::dynamic_type());
+  LocalVariable* async_then_callback_var = new (Z)
+      LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                    Symbols::AsyncThenCallback(), Object::dynamic_type());
   current_block_->scope->AddVariable(async_then_callback_var);
-  LocalVariable* async_catch_error_callback_var = new(Z) LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      Symbols::AsyncCatchErrorCallback(),
-      Object::dynamic_type());
+  LocalVariable* async_catch_error_callback_var = new (Z)
+      LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                    Symbols::AsyncCatchErrorCallback(), Object::dynamic_type());
   current_block_->scope->AddVariable(async_catch_error_callback_var);
 }
 
 
-RawFunction* Parser::OpenAsyncGeneratorFunction(
-    TokenPosition async_func_pos) {
+RawFunction* Parser::OpenAsyncGeneratorFunction(TokenPosition async_func_pos) {
   TRACE_PARSER("OpenAsyncGeneratorFunction");
   AddContinuationVariables();
   AddAsyncGeneratorVariables();
@@ -7211,10 +6909,10 @@
     // Create the closure containing the body of this async generator function.
     const String& async_generator_name =
         String::Handle(Z, innermost_function().name());
-    const String& closure_name = String::Handle(Z, Symbols::NewFormatted(T,
-          "<%s_async_gen_body>", async_generator_name.ToCString()));
-    closure = Function::NewClosureFunction(closure_name,
-                                           innermost_function(),
+    const String& closure_name = String::Handle(
+        Z, Symbols::NewFormatted(T, "<%s_async_gen_body>",
+                                 async_generator_name.ToCString()));
+    closure = Function::NewClosureFunction(closure_name, innermost_function(),
                                            async_func_pos);
     closure.set_is_generated_body(true);
     closure.set_result_type(Object::dynamic_type());
@@ -7267,17 +6965,17 @@
 
   // Explicitly reference variables of the async genenerator function from the
   // closure body in order to mark them as captured.
-  LocalVariable* existing_var = closure_body->scope()->LookupVariable(
-      Symbols::AwaitJumpVar(), false);
+  LocalVariable* existing_var =
+      closure_body->scope()->LookupVariable(Symbols::AwaitJumpVar(), false);
   ASSERT((existing_var != NULL) && existing_var->is_captured());
-  existing_var = closure_body->scope()->LookupVariable(
-      Symbols::AwaitContextVar(), false);
+  existing_var =
+      closure_body->scope()->LookupVariable(Symbols::AwaitContextVar(), false);
   ASSERT((existing_var != NULL) && existing_var->is_captured());
-  existing_var = closure_body->scope()->LookupVariable(
-      Symbols::Controller(), false);
+  existing_var =
+      closure_body->scope()->LookupVariable(Symbols::Controller(), false);
   ASSERT((existing_var != NULL) && existing_var->is_captured());
-  existing_var = closure_body->scope()->LookupVariable(
-      Symbols::AsyncOperation(), false);
+  existing_var =
+      closure_body->scope()->LookupVariable(Symbols::AsyncOperation(), false);
   ASSERT((existing_var != NULL) && existing_var->is_captured());
   existing_var = closure_body->scope()->LookupVariable(
       Symbols::AsyncThenCallback(), false);
@@ -7288,106 +6986,96 @@
 
   const Library& async_lib = Library::Handle(Library::AsyncLibrary());
 
-  const Class& controller_class = Class::Handle(Z,
-      async_lib.LookupClassAllowPrivate(
-          Symbols::_AsyncStarStreamController()));
+  const Class& controller_class = Class::Handle(
+      Z,
+      async_lib.LookupClassAllowPrivate(Symbols::_AsyncStarStreamController()));
   ASSERT(!controller_class.IsNull());
-  const Function& controller_constructor = Function::ZoneHandle(Z,
-      controller_class.LookupConstructorAllowPrivate(
-          Symbols::_AsyncStarStreamControllerConstructor()));
+  const Function& controller_constructor = Function::ZoneHandle(
+      Z, controller_class.LookupConstructorAllowPrivate(
+             Symbols::_AsyncStarStreamControllerConstructor()));
 
   // :await_jump_var = -1;
   LocalVariable* jump_var =
       current_block_->scope->LookupVariable(Symbols::AwaitJumpVar(), false);
-  LiteralNode* init_value = new(Z) LiteralNode(TokenPosition::kNoSource,
-                                               Smi::ZoneHandle(Smi::New(-1)));
+  LiteralNode* init_value = new (Z)
+      LiteralNode(TokenPosition::kNoSource, Smi::ZoneHandle(Smi::New(-1)));
   current_block_->statements->Add(
-      new(Z) StoreLocalNode(TokenPosition::kNoSource, jump_var, init_value));
+      new (Z) StoreLocalNode(TokenPosition::kNoSource, jump_var, init_value));
 
   // Add to AST:
   //   :async_op = <closure>;  (containing the original body)
   LocalVariable* async_op_var =
       current_block_->scope->LookupVariable(Symbols::AsyncOperation(), false);
-  ClosureNode* closure_obj = new(Z) ClosureNode(
+  ClosureNode* closure_obj = new (Z) ClosureNode(
       TokenPosition::kNoSource, closure_func, NULL, closure_body->scope());
-  StoreLocalNode* store_async_op = new (Z) StoreLocalNode(
-      TokenPosition::kNoSource,
-      async_op_var,
-      closure_obj);
+  StoreLocalNode* store_async_op = new (Z)
+      StoreLocalNode(TokenPosition::kNoSource, async_op_var, closure_obj);
 
   current_block_->statements->Add(store_async_op);
 
   // :async_then_callback = _asyncThenWrapperHelper(:async_op)
   const Function& async_then_wrapper_helper = Function::ZoneHandle(
-      Z, async_lib.LookupFunctionAllowPrivate(
-          Symbols::AsyncThenWrapperHelper()));
+      Z,
+      async_lib.LookupFunctionAllowPrivate(Symbols::AsyncThenWrapperHelper()));
   ASSERT(!async_then_wrapper_helper.IsNull());
-  ArgumentListNode* async_then_wrapper_helper_args = new (Z) ArgumentListNode(
-      TokenPosition::kNoSource);
+  ArgumentListNode* async_then_wrapper_helper_args =
+      new (Z) ArgumentListNode(TokenPosition::kNoSource);
   async_then_wrapper_helper_args->Add(
       new (Z) LoadLocalNode(TokenPosition::kNoSource, async_op_var));
-  StaticCallNode* then_wrapper_call = new (Z) StaticCallNode(
-      TokenPosition::kNoSource,
-      async_then_wrapper_helper,
-      async_then_wrapper_helper_args);
+  StaticCallNode* then_wrapper_call = new (Z)
+      StaticCallNode(TokenPosition::kNoSource, async_then_wrapper_helper,
+                     async_then_wrapper_helper_args);
   LocalVariable* async_then_callback_var =
-      current_block_->scope->LookupVariable(
-          Symbols::AsyncThenCallback(), false);
+      current_block_->scope->LookupVariable(Symbols::AsyncThenCallback(),
+                                            false);
   StoreLocalNode* store_async_then_callback = new (Z) StoreLocalNode(
-      TokenPosition::kNoSource,
-      async_then_callback_var,
-      then_wrapper_call);
+      TokenPosition::kNoSource, async_then_callback_var, then_wrapper_call);
 
   current_block_->statements->Add(store_async_then_callback);
 
   // :async_catch_error_callback = _asyncErrorWrapperHelper(:async_op)
 
   const Function& async_error_wrapper_helper = Function::ZoneHandle(
-      Z, async_lib.LookupFunctionAllowPrivate(
-          Symbols::AsyncErrorWrapperHelper()));
+      Z,
+      async_lib.LookupFunctionAllowPrivate(Symbols::AsyncErrorWrapperHelper()));
   ASSERT(!async_error_wrapper_helper.IsNull());
-  ArgumentListNode* async_error_wrapper_helper_args = new (Z) ArgumentListNode(
-      TokenPosition::kNoSource);
+  ArgumentListNode* async_error_wrapper_helper_args =
+      new (Z) ArgumentListNode(TokenPosition::kNoSource);
   async_error_wrapper_helper_args->Add(
       new (Z) LoadLocalNode(TokenPosition::kNoSource, async_op_var));
-  StaticCallNode* error_wrapper_call = new (Z) StaticCallNode(
-      TokenPosition::kNoSource,
-      async_error_wrapper_helper,
-      async_error_wrapper_helper_args);
+  StaticCallNode* error_wrapper_call = new (Z)
+      StaticCallNode(TokenPosition::kNoSource, async_error_wrapper_helper,
+                     async_error_wrapper_helper_args);
   LocalVariable* async_catch_error_callback_var =
-      current_block_->scope->LookupVariable(
-          Symbols::AsyncCatchErrorCallback(), false);
-  StoreLocalNode* store_async_catch_error_callback = new (Z) StoreLocalNode(
-      TokenPosition::kNoSource,
-      async_catch_error_callback_var,
-      error_wrapper_call);
+      current_block_->scope->LookupVariable(Symbols::AsyncCatchErrorCallback(),
+                                            false);
+  StoreLocalNode* store_async_catch_error_callback = new (Z)
+      StoreLocalNode(TokenPosition::kNoSource, async_catch_error_callback_var,
+                     error_wrapper_call);
 
   current_block_->statements->Add(store_async_catch_error_callback);
 
   // :controller = new _AsyncStarStreamController(body_closure);
   ArgumentListNode* arguments =
-      new(Z) ArgumentListNode(TokenPosition::kNoSource);
-  arguments->Add(
-      new (Z) LoadLocalNode(TokenPosition::kNoSource, async_op_var));
+      new (Z) ArgumentListNode(TokenPosition::kNoSource);
+  arguments->Add(new (Z) LoadLocalNode(TokenPosition::kNoSource, async_op_var));
   ConstructorCallNode* controller_constructor_call =
-      new(Z) ConstructorCallNode(TokenPosition::kNoSource,
-                                 TypeArguments::ZoneHandle(Z),
-                                 controller_constructor,
-                                 arguments);
+      new (Z) ConstructorCallNode(TokenPosition::kNoSource,
+                                  TypeArguments::ZoneHandle(Z),
+                                  controller_constructor, arguments);
   LocalVariable* controller_var =
-     current_block_->scope->LookupVariable(Symbols::Controller(), false);
-  StoreLocalNode* store_controller =
-      new(Z) StoreLocalNode(TokenPosition::kNoSource,
-                            controller_var,
-                            controller_constructor_call);
+      current_block_->scope->LookupVariable(Symbols::Controller(), false);
+  StoreLocalNode* store_controller = new (Z) StoreLocalNode(
+      TokenPosition::kNoSource, controller_var, controller_constructor_call);
   current_block_->statements->Add(store_controller);
 
   // return :controller.stream;
-  ReturnNode* return_node = new(Z) ReturnNode(TokenPosition::kNoSource,
-      new(Z) InstanceGetterNode(TokenPosition::kNoSource,
-          new(Z) LoadLocalNode(TokenPosition::kNoSource,
-              controller_var),
-              Symbols::Stream()));
+  ReturnNode* return_node = new (Z) ReturnNode(
+      TokenPosition::kNoSource,
+      new (Z) InstanceGetterNode(
+          TokenPosition::kNoSource,
+          new (Z) LoadLocalNode(TokenPosition::kNoSource, controller_var),
+          Symbols::Stream()));
   current_block_->statements->Add(return_node);
   return CloseBlock();
 }
@@ -7413,15 +7101,15 @@
 // Add a return node to the sequence if necessary.
 void Parser::EnsureHasReturnStatement(SequenceNode* seq,
                                       TokenPosition return_pos) {
-  if ((seq->length() == 0) ||
-      !seq->NodeAt(seq->length() - 1)->IsReturnNode()) {
+  if ((seq->length() == 0) || !seq->NodeAt(seq->length() - 1)->IsReturnNode()) {
     const Function& func = innermost_function();
     // The implicit return value of synchronous generator closures is false,
     // to indicate that there are no more elements in the iterable.
     // In other cases the implicit return value is null.
-    AstNode* return_value = func.IsSyncGenClosure()
-        ? new LiteralNode(return_pos, Bool::False())
-        : new LiteralNode(return_pos, Instance::ZoneHandle());
+    AstNode* return_value =
+        func.IsSyncGenClosure()
+            ? new LiteralNode(return_pos, Bool::False())
+            : new LiteralNode(return_pos, Instance::ZoneHandle());
     seq->Add(new ReturnNode(return_pos, return_value));
   }
 }
@@ -7464,115 +7152,96 @@
   // No need to capture parameters or other variables, since they have already
   // been captured in the corresponding scope as the body has been parsed within
   // a nested block (contained in the async function's block).
-  const Class& future =
-      Class::ZoneHandle(Z, I->object_store()->future_class());
+  const Class& future = Class::ZoneHandle(Z, I->object_store()->future_class());
   ASSERT(!future.IsNull());
-  const Function& constructor = Function::ZoneHandle(Z,
-      future.LookupFunction(Symbols::FutureMicrotask()));
+  const Function& constructor = Function::ZoneHandle(
+      Z, future.LookupFunction(Symbols::FutureMicrotask()));
   ASSERT(!constructor.IsNull());
   const Class& completer =
       Class::ZoneHandle(Z, I->object_store()->completer_class());
   ASSERT(!completer.IsNull());
-  const Function& completer_constructor = Function::ZoneHandle(Z,
-      completer.LookupFunction(Symbols::CompleterSyncConstructor()));
+  const Function& completer_constructor = Function::ZoneHandle(
+      Z, completer.LookupFunction(Symbols::CompleterSyncConstructor()));
   ASSERT(!completer_constructor.IsNull());
 
-  LocalVariable* async_completer = current_block_->scope->LookupVariable(
-      Symbols::AsyncCompleter(), false);
+  LocalVariable* async_completer =
+      current_block_->scope->LookupVariable(Symbols::AsyncCompleter(), false);
 
   const TokenPosition token_pos = ST(closure_body->token_pos());
   // Add to AST:
   //   :async_completer = new Completer.sync();
-  ArgumentListNode* empty_args =
-      new (Z) ArgumentListNode(token_pos);
-  ConstructorCallNode* completer_constructor_node = new (Z) ConstructorCallNode(
-      token_pos,
-      TypeArguments::ZoneHandle(Z),
-      completer_constructor,
-      empty_args);
-  StoreLocalNode* store_completer = new (Z) StoreLocalNode(
-      token_pos,
-      async_completer,
-      completer_constructor_node);
+  ArgumentListNode* empty_args = new (Z) ArgumentListNode(token_pos);
+  ConstructorCallNode* completer_constructor_node =
+      new (Z) ConstructorCallNode(token_pos, TypeArguments::ZoneHandle(Z),
+                                  completer_constructor, empty_args);
+  StoreLocalNode* store_completer = new (Z)
+      StoreLocalNode(token_pos, async_completer, completer_constructor_node);
   current_block_->statements->Add(store_completer);
 
   // :await_jump_var = -1;
   LocalVariable* jump_var =
       current_block_->scope->LookupVariable(Symbols::AwaitJumpVar(), false);
   LiteralNode* init_value =
-      new(Z) LiteralNode(token_pos,
-                         Smi::ZoneHandle(Smi::New(-1)));
+      new (Z) LiteralNode(token_pos, Smi::ZoneHandle(Smi::New(-1)));
   current_block_->statements->Add(
-      new(Z) StoreLocalNode(token_pos, jump_var, init_value));
+      new (Z) StoreLocalNode(token_pos, jump_var, init_value));
 
   // Add to AST:
   //   :async_op = <closure>;  (containing the original body)
-  LocalVariable* async_op_var = current_block_->scope->LookupVariable(
-      Symbols::AsyncOperation(), false);
-  ClosureNode* cn = new(Z) ClosureNode(
-      token_pos, closure, NULL, closure_body->scope());
-  StoreLocalNode* store_async_op = new (Z) StoreLocalNode(
-      token_pos,
-      async_op_var,
-      cn);
+  LocalVariable* async_op_var =
+      current_block_->scope->LookupVariable(Symbols::AsyncOperation(), false);
+  ClosureNode* cn =
+      new (Z) ClosureNode(token_pos, closure, NULL, closure_body->scope());
+  StoreLocalNode* store_async_op =
+      new (Z) StoreLocalNode(token_pos, async_op_var, cn);
   current_block_->statements->Add(store_async_op);
 
   const Library& async_lib = Library::Handle(Library::AsyncLibrary());
   // :async_then_callback = _asyncThenWrapperHelper(:async_op)
   const Function& async_then_wrapper_helper = Function::ZoneHandle(
-      Z, async_lib.LookupFunctionAllowPrivate(
-          Symbols::AsyncThenWrapperHelper()));
+      Z,
+      async_lib.LookupFunctionAllowPrivate(Symbols::AsyncThenWrapperHelper()));
   ASSERT(!async_then_wrapper_helper.IsNull());
-  ArgumentListNode* async_then_wrapper_helper_args = new (Z) ArgumentListNode(
-      token_pos);
+  ArgumentListNode* async_then_wrapper_helper_args =
+      new (Z) ArgumentListNode(token_pos);
   async_then_wrapper_helper_args->Add(
       new (Z) LoadLocalNode(token_pos, async_op_var));
   StaticCallNode* then_wrapper_call = new (Z) StaticCallNode(
-      token_pos,
-      async_then_wrapper_helper,
-      async_then_wrapper_helper_args);
+      token_pos, async_then_wrapper_helper, async_then_wrapper_helper_args);
   LocalVariable* async_then_callback_var =
-      current_block_->scope->LookupVariable(
-          Symbols::AsyncThenCallback(), false);
-  StoreLocalNode* store_async_then_callback = new (Z) StoreLocalNode(
-      token_pos,
-      async_then_callback_var,
-      then_wrapper_call);
+      current_block_->scope->LookupVariable(Symbols::AsyncThenCallback(),
+                                            false);
+  StoreLocalNode* store_async_then_callback = new (Z)
+      StoreLocalNode(token_pos, async_then_callback_var, then_wrapper_call);
 
   current_block_->statements->Add(store_async_then_callback);
 
   // :async_catch_error_callback = _asyncErrorWrapperHelper(:async_op)
 
   const Function& async_error_wrapper_helper = Function::ZoneHandle(
-      Z, async_lib.LookupFunctionAllowPrivate(
-          Symbols::AsyncErrorWrapperHelper()));
+      Z,
+      async_lib.LookupFunctionAllowPrivate(Symbols::AsyncErrorWrapperHelper()));
   ASSERT(!async_error_wrapper_helper.IsNull());
-  ArgumentListNode* async_error_wrapper_helper_args = new (Z) ArgumentListNode(
-      token_pos);
+  ArgumentListNode* async_error_wrapper_helper_args =
+      new (Z) ArgumentListNode(token_pos);
   async_error_wrapper_helper_args->Add(
       new (Z) LoadLocalNode(token_pos, async_op_var));
   StaticCallNode* error_wrapper_call = new (Z) StaticCallNode(
-      token_pos,
-      async_error_wrapper_helper,
-      async_error_wrapper_helper_args);
+      token_pos, async_error_wrapper_helper, async_error_wrapper_helper_args);
   LocalVariable* async_catch_error_callback_var =
-      current_block_->scope->LookupVariable(
-          Symbols::AsyncCatchErrorCallback(), false);
+      current_block_->scope->LookupVariable(Symbols::AsyncCatchErrorCallback(),
+                                            false);
   StoreLocalNode* store_async_catch_error_callback = new (Z) StoreLocalNode(
-      token_pos,
-      async_catch_error_callback_var,
-      error_wrapper_call);
+      token_pos, async_catch_error_callback_var, error_wrapper_call);
 
   current_block_->statements->Add(store_async_catch_error_callback);
 
   // Add to AST:
   //   new Future.microtask(:async_op);
   ArgumentListNode* arguments = new (Z) ArgumentListNode(token_pos);
-  arguments->Add(new (Z) LoadLocalNode(
-      token_pos, async_op_var));
+  arguments->Add(new (Z) LoadLocalNode(token_pos, async_op_var));
   ConstructorCallNode* future_node = new (Z) ConstructorCallNode(
-      token_pos, TypeArguments::ZoneHandle(Z), constructor,
-      arguments);
+      token_pos, TypeArguments::ZoneHandle(Z), constructor, arguments);
   current_block_->statements->Add(future_node);
 
   // Add to AST:
@@ -7580,10 +7249,7 @@
   ReturnNode* return_node = new (Z) ReturnNode(
       token_pos,
       new (Z) InstanceGetterNode(
-          token_pos,
-          new (Z) LoadLocalNode(
-              token_pos,
-              async_completer),
+          token_pos, new (Z) LoadLocalNode(token_pos, async_completer),
           Symbols::CompleterFuture()));
   current_block_->statements->Add(return_node);
   return CloseBlock();
@@ -7632,9 +7298,8 @@
   if (!Utils::IsInt(16, params->num_fixed_parameters) ||
       !Utils::IsInt(16, params->num_optional_parameters)) {
     const Script& script = Script::Handle(Class::Handle(func.Owner()).script());
-    Report::MessageF(Report::kError,
-                     script, func.token_pos(), Report::AtLocation,
-                     "too many formal parameters");
+    Report::MessageF(Report::kError, script, func.token_pos(),
+                     Report::AtLocation, "too many formal parameters");
   }
   func.set_num_fixed_parameters(params->num_fixed_parameters);
   func.SetNumOptionalParameters(params->num_optional_parameters,
@@ -7643,10 +7308,10 @@
   ASSERT(num_parameters == func.NumParameters());
   ASSERT(func.parameter_types() == Object::empty_array().raw());
   ASSERT(func.parameter_names() == Object::empty_array().raw());
-  func.set_parameter_types(Array::Handle(Array::New(num_parameters,
-                                                    Heap::kOld)));
-  func.set_parameter_names(Array::Handle(Array::New(num_parameters,
-                                                    Heap::kOld)));
+  func.set_parameter_types(
+      Array::Handle(Array::New(num_parameters, Heap::kOld)));
+  func.set_parameter_names(
+      Array::Handle(Array::New(num_parameters, Heap::kOld)));
   for (int i = 0; i < num_parameters; i++) {
     ParamDesc& param_desc = (*params->parameters)[i];
     func.SetParameterTypeAt(i, *param_desc.type);
@@ -7671,14 +7336,10 @@
     ParamDesc& param_desc = (*params->parameters)[i];
     ASSERT(!is_top_level_ || param_desc.type->IsResolved());
     const String* name = param_desc.name;
-    LocalVariable* parameter = new(Z) LocalVariable(
-        param_desc.name_pos,
-        param_desc.name_pos,
-        *name,
-        *param_desc.type);
+    LocalVariable* parameter = new (Z) LocalVariable(
+        param_desc.name_pos, param_desc.name_pos, *name, *param_desc.type);
     if (!scope->InsertParameterAt(i, parameter)) {
-      ReportError(param_desc.name_pos,
-                  "name '%s' already exists in scope",
+      ReportError(param_desc.name_pos, "name '%s' already exists in scope",
                   param_desc.name->ToCString());
     }
     param_desc.var = parameter;
@@ -7706,14 +7367,11 @@
   const String& native_name = ParseNativeDeclaration();
 
   // Now add the NativeBodyNode and return statement.
-  current_block_->statements->Add(new(Z) ReturnNode(
+  current_block_->statements->Add(new (Z) ReturnNode(
       TokenPos(),
-      new(Z) NativeBodyNode(
-          TokenPos(),
-          Function::ZoneHandle(Z, func.raw()),
-          native_name,
-          current_block_->scope,
-          FLAG_link_natives_lazily)));
+      new (Z) NativeBodyNode(TokenPos(), Function::ZoneHandle(Z, func.raw()),
+                             native_name, current_block_->scope,
+                             FLAG_link_natives_lazily)));
 }
 
 
@@ -7733,8 +7391,9 @@
 
 void Parser::CaptureInstantiator() {
   ASSERT(FunctionLevel() > 0);
-  const String* variable_name = current_function().IsInFactoryScope() ?
-      &Symbols::TypeArgumentsParameter() : &Symbols::This();
+  const String* variable_name = current_function().IsInFactoryScope()
+                                    ? &Symbols::TypeArgumentsParameter()
+                                    : &Symbols::This();
   current_block_->scope->CaptureVariable(
       current_block_->scope->LookupVariable(*variable_name, true));
 }
@@ -7756,14 +7415,14 @@
   if (receiver == NULL) {
     ReportError(token_pos, "illegal implicit access to receiver 'this'");
   }
-  return new(Z) LoadLocalNode(TokenPos(), receiver);
+  return new (Z) LoadLocalNode(TokenPos(), receiver);
 }
 
 
 InstanceGetterNode* Parser::CallGetter(TokenPosition token_pos,
                                        AstNode* object,
                                        const String& name) {
-  return new(Z) InstanceGetterNode(token_pos, object, name);
+  return new (Z) InstanceGetterNode(token_pos, object, name);
 }
 
 
@@ -7783,16 +7442,11 @@
   if (CurrentToken() == Token::kASSIGN) {
     // Variable initialization.
     ConsumeToken();
-    AstNode* expr = ParseAwaitableExpr(
-        is_const, kConsumeCascades, await_preamble);
+    AstNode* expr =
+        ParseAwaitableExpr(is_const, kConsumeCascades, await_preamble);
     const TokenPosition expr_end_pos = TokenPos();
-    variable = new(Z) LocalVariable(
-        ident_pos,
-        expr_end_pos,
-        ident,
-        type);
-    initialization = new(Z) StoreLocalNode(
-        assign_pos, variable, expr);
+    variable = new (Z) LocalVariable(ident_pos, expr_end_pos, ident, type);
+    initialization = new (Z) StoreLocalNode(assign_pos, variable, expr);
     if (is_const) {
       ASSERT(expr->IsLiteralNode());
       variable->SetConstValue(expr->AsLiteralNode()->literal());
@@ -7802,14 +7456,10 @@
                 "missing initialization of 'final' or 'const' variable");
   } else {
     // Initialize variable with null.
-    variable = new(Z) LocalVariable(
-        ident_pos,
-        assign_pos,
-        ident,
-        type);
-    AstNode* null_expr = new(Z) LiteralNode(ident_pos, Object::null_instance());
-    initialization = new(Z) StoreLocalNode(
-        ident_pos, variable, null_expr);
+    variable = new (Z) LocalVariable(ident_pos, assign_pos, ident, type);
+    AstNode* null_expr =
+        new (Z) LiteralNode(ident_pos, Object::null_instance());
+    initialization = new (Z) StoreLocalNode(ident_pos, variable, null_expr);
   }
 
   ASSERT(current_block_ != NULL);
@@ -7818,17 +7468,14 @@
   if (previous_pos.IsReal()) {
     ASSERT(!script_.IsNull());
     if (previous_pos > ident_pos) {
-      ReportError(ident_pos,
-                  "initializer of '%s' may not refer to itself",
+      ReportError(ident_pos, "initializer of '%s' may not refer to itself",
                   ident.ToCString());
 
     } else {
       intptr_t line_number;
       script_.GetTokenLocation(previous_pos, &line_number, NULL);
-      ReportError(ident_pos,
-                  "identifier '%s' previously used in line %" Pd "",
-                  ident.ToCString(),
-                  line_number);
+      ReportError(ident_pos, "identifier '%s' previously used in line %" Pd "",
+                  ident.ToCString(), line_number);
     }
   }
 
@@ -7877,10 +7524,10 @@
     Token::Kind follower = LookaheadToken(1);
     // We have an identifier followed by a 'follower' token.
     // We either parse a type or return now.
-    if ((follower != Token::kLT) &&  // Parameterized type.
-        (follower != Token::kPERIOD) &&  // Qualified class name of type.
+    if ((follower != Token::kLT) &&        // Parameterized type.
+        (follower != Token::kPERIOD) &&    // Qualified class name of type.
         !Token::IsIdentifier(follower) &&  // Variable name following a type.
-        (follower != Token::kTHIS)) {  // Field parameter following a type.
+        (follower != Token::kTHIS)) {      // Field parameter following a type.
       return Type::DynamicType();
     }
   }
@@ -7896,9 +7543,10 @@
   SkipMetadata();
   bool is_final = (CurrentToken() == Token::kFINAL);
   bool is_const = (CurrentToken() == Token::kCONST);
-  const AbstractType& type = AbstractType::ZoneHandle(Z,
-      ParseConstFinalVarOrType(I->type_checks() ?
-          ClassFinalizer::kCanonicalize : ClassFinalizer::kIgnore));
+  const AbstractType& type = AbstractType::ZoneHandle(
+      Z,
+      ParseConstFinalVarOrType(I->type_checks() ? ClassFinalizer::kCanonicalize
+                                                : ClassFinalizer::kIgnore));
   if (!IsIdentifier()) {
     ReportError("identifier expected");
   }
@@ -7918,12 +7566,11 @@
     }
     // We have a second initializer. Allocate a sequence node now.
     // The sequence does not own the current scope. Set its own scope to NULL.
-    SequenceNode* sequence = NodeAsSequenceNode(initializers->token_pos(),
-                                                initializers,
-                                                NULL);
+    SequenceNode* sequence =
+        NodeAsSequenceNode(initializers->token_pos(), initializers, NULL);
     preamble = NULL;
-    AstNode* declaration = ParseVariableDeclaration(
-        type, is_final, is_const, &preamble);
+    AstNode* declaration =
+        ParseVariableDeclaration(type, is_final, is_const, &preamble);
     if (preamble != NULL) {
       sequence->Add(preamble);
     }
@@ -7973,8 +7620,7 @@
       script_.GetTokenLocation(previous_pos, &line_number, NULL);
       ReportError(function_name_pos,
                   "identifier '%s' previously used in line %" Pd "",
-                  function_name->ToCString(),
-                  line_number);
+                  function_name->ToCString(), line_number);
     }
   }
 
@@ -7995,8 +7641,7 @@
     // function has been properly setup.
     found_func = false;
     function = Function::NewClosureFunction(*function_name,
-                                            innermost_function(),
-                                            function_pos);
+                                            innermost_function(), function_pos);
     function.set_result_type(result_type);
     if (FLAG_enable_mirrors && metadata_pos.IsReal()) {
       library_.AddFunctionMetadata(function, metadata_pos);
@@ -8021,8 +7666,8 @@
     // Now that type parameters are declared, the result type can be resolved
     // and finalized.
     ResolveType(ClassFinalizer::kResolveTypeParameters, &result_type);
-    result_type = ClassFinalizer::FinalizeType(
-        current_class(), result_type, ClassFinalizer::kCanonicalize);
+    result_type = ClassFinalizer::FinalizeType(current_class(), result_type,
+                                               ClassFinalizer::kCanonicalize);
     function.set_result_type(result_type);
   }
 
@@ -8040,27 +7685,23 @@
     // function is parsed. Therefore, we set the function type to a new
     // function type to be patched after the actual type is known.
     // We temporarily use the Closure class as scope class.
-    const Class& unknown_scope_class = Class::Handle(Z,
-        I->object_store()->closure_class());
-    function_type = Type::New(unknown_scope_class,
-                              TypeArguments::Handle(Z),
-                              function_pos);
+    const Class& unknown_scope_class =
+        Class::Handle(Z, I->object_store()->closure_class());
+    function_type =
+        Type::New(unknown_scope_class, TypeArguments::Handle(Z), function_pos);
     function_type.set_signature(function);
     function_type.SetIsFinalized();  // No finalization needed.
 
     // Add the function variable to the scope before parsing the function in
     // order to allow self reference from inside the function.
-    function_variable = new(Z) LocalVariable(function_name_pos,
-                                             function_pos,
-                                             *variable_name,
-                                             function_type);
+    function_variable = new (Z) LocalVariable(function_name_pos, function_pos,
+                                              *variable_name, function_type);
     function_variable->set_is_final();
     ASSERT(current_block_ != NULL);
     ASSERT(current_block_->scope != NULL);
     if (!current_block_->scope->AddVariable(function_variable)) {
-      LocalVariable* existing_var =
-          current_block_->scope->LookupVariable(function_variable->name(),
-                                                true);
+      LocalVariable* existing_var = current_block_->scope->LookupVariable(
+          function_variable->name(), true);
       ASSERT(existing_var != NULL);
       // Use before define cases have already been detected and reported above.
       ASSERT(existing_var->owner() == current_block_->scope);
@@ -8124,8 +7765,7 @@
 
   if (variable_name != NULL) {
     // Patch the function type of the variable now that the signature is known.
-    function_type.set_type_class(
-        Class::Handle(Z, signature_type.type_class()));
+    function_type.set_type_class(Class::Handle(Z, signature_type.type_class()));
     function_type.set_arguments(
         TypeArguments::Handle(Z, signature_type.arguments()));
     ASSERT(function_type.signature() == function.raw());
@@ -8159,8 +7799,8 @@
   // This pruning is done by omitting to hook the local scope in its parent
   // scope in the constructor of LocalScope.
   AstNode* closure =
-      new(Z) ClosureNode(function_pos, function, NULL,
-                         statements != NULL ? statements->scope() : NULL);
+      new (Z) ClosureNode(function_pos, function, NULL,
+                          statements != NULL ? statements->scope() : NULL);
 
   ASSERT(innermost_function_.raw() == function.raw());
   innermost_function_ = function.parent_function();
@@ -8169,8 +7809,8 @@
     ASSERT(is_literal);
     return closure;
   } else {
-    AstNode* initialization = new(Z) StoreLocalNode(
-        function_pos, function_variable, closure);
+    AstNode* initialization =
+        new (Z) StoreLocalNode(function_pos, function_variable, closure);
     return initialization;
   }
 }
@@ -8195,8 +7835,7 @@
         // Consume the identifier, the period will be consumed below.
         ConsumeToken();
       }
-    } else if ((ct != Token::kCOMMA) &&
-               (ct != Token::kEXTENDS) &&
+    } else if ((ct != Token::kCOMMA) && (ct != Token::kEXTENDS) &&
                (!FLAG_generic_method_syntax || (ct != Token::kSUPER))) {
       // We are looking at something other than type parameters.
       return false;
@@ -8329,16 +7968,16 @@
 // Returns true if the current token is kIDENT or a pseudo-keyword.
 bool Parser::IsIdentifier() {
   return Token::IsIdentifier(CurrentToken()) &&
-      !(await_is_keyword_ &&
-       ((CurrentLiteral()->raw() == Symbols::Await().raw()) ||
-       (CurrentLiteral()->raw() == Symbols::Async().raw()) ||
-       (CurrentLiteral()->raw() == Symbols::YieldKw().raw())));
+         !(await_is_keyword_ &&
+           ((CurrentLiteral()->raw() == Symbols::Await().raw()) ||
+            (CurrentLiteral()->raw() == Symbols::Async().raw()) ||
+            (CurrentLiteral()->raw() == Symbols::YieldKw().raw())));
 }
 
 
 bool Parser::IsSymbol(const String& symbol) {
   return (CurrentLiteral()->raw() == symbol.raw()) &&
-      (CurrentToken() == Token::kIDENT);
+         (CurrentToken() == Token::kIDENT);
 }
 
 
@@ -8399,8 +8038,7 @@
 //   | type ident (';' | '=' | ',')
 // Token position remains unchanged.
 bool Parser::IsVariableDeclaration() {
-  if ((CurrentToken() == Token::kVAR) ||
-      (CurrentToken() == Token::kFINAL)) {
+  if ((CurrentToken() == Token::kVAR) || (CurrentToken() == Token::kFINAL)) {
     return true;
   }
   // Skip optional metadata.
@@ -8424,8 +8062,8 @@
   }
   if (IsIdentifier()) {  // Type or variable name.
     Token::Kind follower = LookaheadToken(1);
-    if ((follower == Token::kLT) ||  // Parameterized type.
-        (follower == Token::kPERIOD) ||  // Qualified class name of type.
+    if ((follower == Token::kLT) ||       // Parameterized type.
+        (follower == Token::kPERIOD) ||   // Qualified class name of type.
         Token::IsIdentifier(follower)) {  // Variable name following a type.
       // We see the beginning of something that could be a type.
       const TokenPosition type_pos = TokenPos();
@@ -8498,12 +8136,9 @@
 
   // Check parameter list and the following token.
   SkipToMatchingParenthesis();
-  if ((CurrentToken() == Token::kLBRACE) ||
-      (CurrentToken() == Token::kARROW) ||
-      (is_top_level_ && IsSymbol(Symbols::Native())) ||
-      is_external ||
-      IsSymbol(Symbols::Async()) ||
-      IsSymbol(Symbols::Sync())) {
+  if ((CurrentToken() == Token::kLBRACE) || (CurrentToken() == Token::kARROW) ||
+      (is_top_level_ && IsSymbol(Symbols::Native())) || is_external ||
+      IsSymbol(Symbols::Async()) || IsSymbol(Symbols::Sync())) {
     return true;
   }
   return false;
@@ -8545,7 +8180,7 @@
     ParseFunctionModifier();
     if ((CurrentToken() == Token::kLBRACE) ||
         (CurrentToken() == Token::kARROW)) {
-       return true;
+      return true;
     }
   }
   return false;
@@ -8560,8 +8195,7 @@
   // Allow const modifier as well when recognizing a for-in statement
   // pattern. We will get an error later if the loop variable is
   // declared with const.
-  if (CurrentToken() == Token::kVAR ||
-      CurrentToken() == Token::kFINAL ||
+  if (CurrentToken() == Token::kVAR || CurrentToken() == Token::kFINAL ||
       CurrentToken() == Token::kCONST) {
     ConsumeToken();
   }
@@ -8582,11 +8216,10 @@
 static bool ContainsAbruptCompletingStatement(SequenceNode* seq);
 
 static bool IsAbruptCompleting(AstNode* statement) {
-  return statement->IsReturnNode() ||
-         statement->IsJumpNode()   ||
-         statement->IsThrowNode()  ||
+  return statement->IsReturnNode() || statement->IsJumpNode() ||
+         statement->IsThrowNode() ||
          (statement->IsSequenceNode() &&
-             ContainsAbruptCompletingStatement(statement->AsSequenceNode()));
+          ContainsAbruptCompletingStatement(statement->AsSequenceNode()));
 }
 
 
@@ -8676,8 +8309,8 @@
     ConsumeToken();
     false_branch = ParseNestedStatement(parsing_loop_body, NULL);
   }
-  AstNode* if_node = new(Z) IfNode(
-      if_pos, cond_expr, true_branch, false_branch);
+  AstNode* if_node =
+      new (Z) IfNode(if_pos, cond_expr, true_branch, false_branch);
   if (label != NULL) {
     current_block_->statements->Add(if_node);
     SequenceNode* sequence = CloseBlock();
@@ -8692,7 +8325,8 @@
 // == operator.
 static bool ImplementsEqualOperator(Zone* zone, const Instance& value) {
   Class& cls = Class::Handle(value.clazz());
-  const Function& equal_op = Function::Handle(zone,
+  const Function& equal_op = Function::Handle(
+      zone,
       Resolver::ResolveDynamicAnyArgs(zone, cls, Symbols::EqualOperator()));
   ASSERT(!equal_op.IsNull());
   cls = equal_op.Owner();
@@ -8763,7 +8397,7 @@
   bool default_seen = false;
   const TokenPosition case_pos = TokenPos();
   // The case expressions node sequence does not own the enclosing scope.
-  SequenceNode* case_expressions = new(Z) SequenceNode(case_pos, NULL);
+  SequenceNode* case_expressions = new (Z) SequenceNode(case_pos, NULL);
   while (CurrentToken() == Token::kCASE || CurrentToken() == Token::kDEFAULT) {
     if (CurrentToken() == Token::kCASE) {
       if (default_seen) {
@@ -8775,10 +8409,10 @@
       ASSERT(expr->IsLiteralNode());
       case_expr_values->Add(expr->AsLiteralNode());
 
-      AstNode* switch_expr_load = new(Z) LoadLocalNode(
-          case_pos, switch_expr_value);
-      AstNode* case_comparison = new(Z) ComparisonNode(
-          expr_pos, Token::kEQ, expr, switch_expr_load);
+      AstNode* switch_expr_load =
+          new (Z) LoadLocalNode(case_pos, switch_expr_value);
+      AstNode* case_comparison =
+          new (Z) ComparisonNode(expr_pos, Token::kEQ, expr, switch_expr_load);
       case_expressions->Add(case_comparison);
     } else {
       if (default_seen) {
@@ -8811,15 +8445,13 @@
       // End of this case clause. If there is a possible fall-through to
       // the next case clause, throw an implicit FallThroughError.
       if (!abrupt_completing_seen) {
-        ArgumentListNode* arguments = new(Z) ArgumentListNode(TokenPos());
-        arguments->Add(new(Z) LiteralNode(
-            TokenPos(),
-            Integer::ZoneHandle(Z, Integer::New(TokenPos().value(),
-                                                Heap::kOld))));
-        current_block_->statements->Add(
-            MakeStaticCall(Symbols::FallThroughError(),
-                           Library::PrivateCoreLibName(Symbols::ThrowNew()),
-                           arguments));
+        ArgumentListNode* arguments = new (Z) ArgumentListNode(TokenPos());
+        arguments->Add(new (Z) LiteralNode(
+            TokenPos(), Integer::ZoneHandle(
+                            Z, Integer::New(TokenPos().value(), Heap::kOld))));
+        current_block_->statements->Add(MakeStaticCall(
+            Symbols::FallThroughError(),
+            Library::PrivateCoreLibName(Symbols::ThrowNew()), arguments));
       }
       break;
     }
@@ -8831,8 +8463,8 @@
     }
   }
   SequenceNode* statements = CloseBlock();
-  return new(Z) CaseNode(case_pos, case_label,
-      case_expressions, default_seen, switch_expr_value, statements);
+  return new (Z) CaseNode(case_pos, case_label, case_expressions, default_seen,
+                          switch_expr_value, statements);
 }
 
 
@@ -8845,8 +8477,8 @@
   ConsumeToken();
   ExpectToken(Token::kLPAREN);
   const TokenPosition expr_pos = TokenPos();
-  AstNode* switch_expr = ParseAwaitableExpr(
-      kAllowConst, kConsumeCascades, NULL);
+  AstNode* switch_expr =
+      ParseAwaitableExpr(kAllowConst, kConsumeCascades, NULL);
   ExpectToken(Token::kRPAREN);
   ExpectToken(Token::kLBRACE);
   OpenBlock();
@@ -8857,16 +8489,15 @@
   // type of the case clause expressions. Therefore, we have to allocate
   // a new type representing dynamic and can't reuse the canonical
   // type object for dynamic.
-  const Type& temp_var_type = Type::ZoneHandle(Z,
-       Type::New(Class::Handle(Z, Object::dynamic_class()),
-                 TypeArguments::Handle(Z),
-                 expr_pos));
+  const Type& temp_var_type =
+      Type::ZoneHandle(Z, Type::New(Class::Handle(Z, Object::dynamic_class()),
+                                    TypeArguments::Handle(Z), expr_pos));
   temp_var_type.SetIsFinalized();
-  LocalVariable* temp_variable = new(Z) LocalVariable(
-      expr_pos, expr_pos,  Symbols::SwitchExpr(), temp_var_type);
+  LocalVariable* temp_variable = new (Z)
+      LocalVariable(expr_pos, expr_pos, Symbols::SwitchExpr(), temp_var_type);
   current_block_->scope->AddVariable(temp_variable);
-  AstNode* save_switch_expr = new(Z) StoreLocalNode(
-      expr_pos, temp_variable, switch_expr);
+  AstNode* save_switch_expr =
+      new (Z) StoreLocalNode(expr_pos, temp_variable, switch_expr);
   current_block_->statements->Add(save_switch_expr);
 
   // Parse case clauses
@@ -8884,8 +8515,8 @@
       case_label = current_block_->scope->LocalLookupLabel(*label_name);
       if (case_label == NULL) {
         // Label does not exist yet. Add it to scope of switch statement.
-        case_label = new(Z) SourceLabel(
-            label_pos, *label_name, SourceLabel::kCase);
+        case_label =
+            new (Z) SourceLabel(label_pos, *label_name, SourceLabel::kCase);
         current_block_->scope->AddLabel(case_label);
       } else if (case_label->kind() == SourceLabel::kForward) {
         // We have seen a 'continue' with this label name. Resolve
@@ -8898,8 +8529,7 @@
       }
       ASSERT(case_label->kind() == SourceLabel::kCase);
     }
-    if (CurrentToken() == Token::kCASE ||
-        CurrentToken() == Token::kDEFAULT) {
+    if (CurrentToken() == Token::kCASE || CurrentToken() == Token::kDEFAULT) {
       if (default_seen) {
         ReportError("no case clauses allowed after default clause");
       }
@@ -8933,7 +8563,7 @@
 
   SequenceNode* switch_body = CloseBlock();
   ExpectToken(Token::kRBRACE);
-  return new(Z) SwitchNode(switch_pos, label, switch_body);
+  return new (Z) SwitchNode(switch_pos, label, switch_body);
 }
 
 
@@ -8945,16 +8575,13 @@
   ConsumeToken();
   ExpectToken(Token::kLPAREN);
   SequenceNode* await_preamble = NULL;
-  AstNode* cond_expr = ParseAwaitableExpr(
-      kAllowConst, kConsumeCascades, &await_preamble);
+  AstNode* cond_expr =
+      ParseAwaitableExpr(kAllowConst, kConsumeCascades, &await_preamble);
   ExpectToken(Token::kRPAREN);
-  const bool parsing_loop_body =  true;
+  const bool parsing_loop_body = true;
   SequenceNode* while_body = ParseNestedStatement(parsing_loop_body, label);
-  WhileNode* while_node = new (Z) WhileNode(while_pos,
-                                            label,
-                                            cond_expr,
-                                            await_preamble,
-                                            while_body);
+  WhileNode* while_node = new (Z)
+      WhileNode(while_pos, label, cond_expr, await_preamble, while_body);
   return while_node;
 }
 
@@ -8965,7 +8592,7 @@
   SourceLabel* label =
       SourceLabel::New(do_pos, label_name, SourceLabel::kDoWhile);
   ConsumeToken();
-  const bool parsing_loop_body =  true;
+  const bool parsing_loop_body = true;
   SequenceNode* dowhile_body = ParseNestedStatement(parsing_loop_body, label);
   ExpectToken(Token::kWHILE);
   ExpectToken(Token::kLPAREN);
@@ -8975,14 +8602,14 @@
       ParseAwaitableExpr(kAllowConst, kConsumeCascades, &await_preamble);
   if (await_preamble != NULL) {
     // Prepend the preamble to the condition.
-    LetNode* await_cond = new(Z) LetNode(expr_pos);
+    LetNode* await_cond = new (Z) LetNode(expr_pos);
     await_cond->AddNode(await_preamble);
     await_cond->AddNode(cond_expr);
     cond_expr = await_cond;
   }
   ExpectToken(Token::kRPAREN);
   ExpectSemicolon();
-  return new(Z) DoWhileNode(do_pos, label, cond_expr, dowhile_body);
+  return new (Z) DoWhileNode(do_pos, label, cond_expr, dowhile_body);
 }
 
 
@@ -8998,11 +8625,10 @@
                                                     LocalScope* scope,
                                                     uint16_t try_index) {
   Zone* zone = thread->zone();
-  const String& async_saved_try_ctx_name = String::ZoneHandle(zone,
-      Symbols::NewFormatted(thread,
-                            "%s%d",
-                            Symbols::AsyncSavedTryCtxVarPrefix().ToCString(),
-                            try_index));
+  const String& async_saved_try_ctx_name = String::ZoneHandle(
+      zone, Symbols::NewFormatted(
+                thread, "%s%d",
+                Symbols::AsyncSavedTryCtxVarPrefix().ToCString(), try_index));
   LocalVariable* var = scope->LocalLookupVariable(async_saved_try_ctx_name);
   ASSERT(var != NULL);
   return var;
@@ -9040,8 +8666,8 @@
       // The block declaring :saved_try_ctx_var variable is the parent of the
       // pushed try block.
       *saved_try_ctx = LookupSavedTryContextVar(scope->parent());
-      *async_saved_try_ctx = LookupAsyncSavedTryContextVar(T,
-          async_temp_scope_, try_index);
+      *async_saved_try_ctx =
+          LookupAsyncSavedTryContextVar(T, async_temp_scope_, try_index);
       if ((try_stack_->outer_try() != NULL) && !try_stack_->inside_finally()) {
         // Collecting the outer try scope is not necessary if we
         // are in a finally block.
@@ -9049,8 +8675,8 @@
         try_index = try_stack_->outer_try()->try_index();
         if (scope->function_level() == current_function_level) {
           *outer_saved_try_ctx = LookupSavedTryContextVar(scope->parent());
-          *outer_async_saved_try_ctx = LookupAsyncSavedTryContextVar(T,
-              async_temp_scope_, try_index);
+          *outer_async_saved_try_ctx =
+              LookupAsyncSavedTryContextVar(T, async_temp_scope_, try_index);
         }
       }
     }
@@ -9058,8 +8684,7 @@
   // An async or async* has an implicitly created try-catch around the
   // function body, so the await or yield inside the async closure should always
   // be created with a try scope.
-  ASSERT((*saved_try_ctx != NULL) ||
-         innermost_function().IsAsyncFunction() ||
+  ASSERT((*saved_try_ctx != NULL) || innermost_function().IsAsyncFunction() ||
          innermost_function().IsAsyncGenerator() ||
          innermost_function().IsSyncGenClosure() ||
          innermost_function().IsSyncGenerator());
@@ -9070,15 +8695,15 @@
 // Used during debugging to insert print in generated dart code.
 AstNode* Parser::DartPrint(const char* str) {
   const Library& lib = Library::Handle(Library::CoreLibrary());
-  const Function& print_fn = Function::ZoneHandle(
-      Z, lib.LookupFunctionAllowPrivate(Symbols::print()));
+  const Function& print_fn =
+      Function::ZoneHandle(Z, lib.LookupFunctionAllowPrivate(Symbols::print()));
   ASSERT(!print_fn.IsNull());
   ArgumentListNode* one_arg =
-      new(Z) ArgumentListNode(TokenPosition::kNoSource);
+      new (Z) ArgumentListNode(TokenPosition::kNoSource);
   String& msg = String::ZoneHandle(Symbols::NewFormatted(T, "%s", str));
-  one_arg->Add(new(Z) LiteralNode(TokenPosition::kNoSource, msg));
+  one_arg->Add(new (Z) LiteralNode(TokenPosition::kNoSource, msg));
   AstNode* print_call =
-      new(Z) StaticCallNode(TokenPosition::kNoSource, print_fn, one_arg);
+      new (Z) StaticCallNode(TokenPosition::kNoSource, print_fn, one_arg);
   return print_call;
 }
 
@@ -9106,15 +8731,15 @@
     ReportError("Loop variable cannot be 'const'");
   }
   bool new_loop_var = false;
-  AbstractType& loop_var_type =  AbstractType::ZoneHandle(Z);
+  AbstractType& loop_var_type = AbstractType::ZoneHandle(Z);
   if (LookaheadToken(1) != Token::kIN) {
     // Declaration of a new loop variable.
     // Delay creation of the local variable until we know its actual
     // position, which is inside the loop body.
     new_loop_var = true;
-    loop_var_type = ParseConstFinalVarOrType(
-       I->type_checks() ? ClassFinalizer::kCanonicalize :
-                                  ClassFinalizer::kIgnore);
+    loop_var_type = ParseConstFinalVarOrType(I->type_checks()
+                                                 ? ClassFinalizer::kCanonicalize
+                                                 : ClassFinalizer::kIgnore);
   }
   TokenPosition loop_var_pos = TokenPos();
   const String* loop_var_name = ExpectIdentifier("variable name expected");
@@ -9140,23 +8765,20 @@
   const Class& stream_iterator_cls =
       Class::ZoneHandle(Z, I->object_store()->stream_iterator_class());
   ASSERT(!stream_iterator_cls.IsNull());
-  const Function& iterator_ctor =
-      Function::ZoneHandle(Z, stream_iterator_cls.LookupFunction(
-          Symbols::StreamIteratorConstructor()));
+  const Function& iterator_ctor = Function::ZoneHandle(
+      Z,
+      stream_iterator_cls.LookupFunction(Symbols::StreamIteratorConstructor()));
   ASSERT(!iterator_ctor.IsNull());
   ArgumentListNode* ctor_args = new (Z) ArgumentListNode(stream_expr_pos);
   ctor_args->Add(stream_expr);
-  ConstructorCallNode* ctor_call =
-      new (Z) ConstructorCallNode(stream_expr_pos,
-                              TypeArguments::ZoneHandle(Z),
-                              iterator_ctor,
-                              ctor_args);
+  ConstructorCallNode* ctor_call = new (Z) ConstructorCallNode(
+      stream_expr_pos, TypeArguments::ZoneHandle(Z), iterator_ctor, ctor_args);
   const AbstractType& iterator_type = Object::dynamic_type();
-  LocalVariable* iterator_var = new(Z) LocalVariable(
+  LocalVariable* iterator_var = new (Z) LocalVariable(
       stream_expr_pos, stream_expr_pos, Symbols::ForInIter(), iterator_type);
   current_block_->scope->AddVariable(iterator_var);
   AstNode* iterator_init =
-      new(Z) StoreLocalNode(stream_expr_pos, iterator_var, ctor_call);
+      new (Z) StoreLocalNode(stream_expr_pos, iterator_var, ctor_call);
   current_block_->statements->Add(iterator_init);
 
   // We need to ensure that the stream is cancelled after the loop.
@@ -9175,11 +8797,8 @@
   LocalVariable* saved_stack_trace_var = NULL;
   SetupExceptionVariables(current_block_->scope,
                           false,  // Do not create the saved_ vars.
-                          &context_var,
-                          &exception_var,
-                          &stack_trace_var,
-                          &saved_exception_var,
-                          &saved_stack_trace_var);
+                          &context_var, &exception_var, &stack_trace_var,
+                          &saved_exception_var, &saved_stack_trace_var);
   OpenBlock();  // try block.
   PushTry(current_block_);
   SetupSavedTryContext(context_var);
@@ -9190,25 +8809,16 @@
   LocalVariable* async_saved_try_ctx;
   LocalVariable* outer_saved_try_ctx;
   LocalVariable* outer_async_saved_try_ctx;
-  CheckAsyncOpInTryBlock(&saved_try_ctx,
-                         &async_saved_try_ctx,
-                         &outer_saved_try_ctx,
-                         &outer_async_saved_try_ctx);
-  ArgumentListNode* no_args = new(Z) ArgumentListNode(stream_expr_pos);
-  AstNode* iterator_moveNext = new(Z) InstanceCallNode(
-      stream_expr_pos,
-      new(Z) LoadLocalNode(stream_expr_pos, iterator_var),
-                           Symbols::MoveNext(),
-                           no_args);
+  CheckAsyncOpInTryBlock(&saved_try_ctx, &async_saved_try_ctx,
+                         &outer_saved_try_ctx, &outer_async_saved_try_ctx);
+  ArgumentListNode* no_args = new (Z) ArgumentListNode(stream_expr_pos);
+  AstNode* iterator_moveNext = new (Z) InstanceCallNode(
+      stream_expr_pos, new (Z) LoadLocalNode(stream_expr_pos, iterator_var),
+      Symbols::MoveNext(), no_args);
   OpenBlock();
-  AstNode* await_moveNext =
-      new(Z) AwaitNode(stream_expr_pos,
-                       iterator_moveNext,
-                       saved_try_ctx,
-                       async_saved_try_ctx,
-                       outer_saved_try_ctx,
-                       outer_async_saved_try_ctx,
-                       current_block_->scope);
+  AstNode* await_moveNext = new (Z) AwaitNode(
+      stream_expr_pos, iterator_moveNext, saved_try_ctx, async_saved_try_ctx,
+      outer_saved_try_ctx, outer_async_saved_try_ctx, current_block_->scope);
   AwaitTransformer at(current_block_->statements, async_temp_scope_);
   await_moveNext = at.Transform(await_moveNext);
   SequenceNode* await_preamble = CloseBlock();
@@ -9224,9 +8834,9 @@
   current_block_->scope->AddLabel(label);
   const TokenPosition loop_var_assignment_pos = TokenPos();
 
-  AstNode* iterator_current = new(Z) InstanceGetterNode(
+  AstNode* iterator_current = new (Z) InstanceGetterNode(
       loop_var_assignment_pos,
-      new(Z) LoadLocalNode(loop_var_assignment_pos, iterator_var),
+      new (Z) LoadLocalNode(loop_var_assignment_pos, iterator_var),
       Symbols::Current());
 
   // Generate assignment of next iterator value to loop variable.
@@ -9237,24 +8847,21 @@
     // Note that the variable token position needs to be inside the
     // loop block, so it gets put in the loop context level.
     LocalVariable* loop_var =
-        new(Z) LocalVariable(loop_var_assignment_pos,
-                             loop_var_assignment_pos,
-                             *loop_var_name,
-                             loop_var_type);
+        new (Z) LocalVariable(loop_var_assignment_pos, loop_var_assignment_pos,
+                              *loop_var_name, loop_var_type);
     if (loop_var_is_final) {
       loop_var->set_is_final();
     }
     current_block_->scope->AddVariable(loop_var);
-    loop_var_assignment = new(Z) StoreLocalNode(
-        loop_var_assignment_pos, loop_var, iterator_current);
+    loop_var_assignment = new (Z)
+        StoreLocalNode(loop_var_assignment_pos, loop_var, iterator_current);
   } else {
     AstNode* loop_var_primary =
         ResolveIdent(loop_var_pos, *loop_var_name, false);
     ASSERT(!loop_var_primary->IsPrimaryNode());
-    loop_var_assignment = CreateAssignmentNode(loop_var_primary,
-                                               iterator_current,
-                                               loop_var_name,
-                                               loop_var_assignment_pos);
+    loop_var_assignment =
+        CreateAssignmentNode(loop_var_primary, iterator_current, loop_var_name,
+                             loop_var_assignment_pos);
     ASSERT(loop_var_assignment != NULL);
   }
   current_block_->statements->Add(loop_var_assignment);
@@ -9272,11 +8879,8 @@
   }
   SequenceNode* for_loop_block = CloseBlock();
 
-  WhileNode* while_node = new (Z) WhileNode(await_for_pos,
-                                            label,
-                                            await_moveNext,
-                                            await_preamble,
-                                            for_loop_block);
+  WhileNode* while_node = new (Z) WhileNode(
+      await_for_pos, label, await_moveNext, await_preamble, for_loop_block);
   // Add the while loop to the try block.
   current_block_->statements->Add(while_node);
   SequenceNode* try_block = CloseBlock();
@@ -9284,12 +8888,11 @@
   // Create an empty "catch all" block that rethrows the current
   // exception and stacktrace.
   try_stack_->enter_catch();
-  SequenceNode* catch_block = new(Z) SequenceNode(await_for_pos, NULL);
+  SequenceNode* catch_block = new (Z) SequenceNode(await_for_pos, NULL);
 
   if (outer_saved_try_ctx != NULL) {
     catch_block->Add(new (Z) StoreLocalNode(
-        TokenPosition::kNoSource,
-        outer_saved_try_ctx,
+        TokenPosition::kNoSource, outer_saved_try_ctx,
         new (Z) LoadLocalNode(TokenPosition::kNoSource,
                               outer_async_saved_try_ctx)));
   }
@@ -9299,16 +8902,16 @@
   // is no code in the catch clause that could suspend the function.
 
   // Rethrow the exception.
-  catch_block->Add(new(Z) ThrowNode(
-      await_for_pos,
-      new(Z) LoadLocalNode(await_for_pos, exception_var),
-      new(Z) LoadLocalNode(await_for_pos, stack_trace_var)));
+  catch_block->Add(new (Z) ThrowNode(
+      await_for_pos, new (Z) LoadLocalNode(await_for_pos, exception_var),
+      new (Z) LoadLocalNode(await_for_pos, stack_trace_var)));
 
   TryStack* try_statement = PopTry();
   const intptr_t try_index = try_statement->try_index();
   TryStack* outer_try = try_stack_;
-  const intptr_t outer_try_index = (outer_try != NULL) ?
-      outer_try->try_index() : CatchClauseNode::kInvalidTryIndex;
+  const intptr_t outer_try_index = (outer_try != NULL)
+                                       ? outer_try->try_index()
+                                       : CatchClauseNode::kInvalidTryIndex;
 
   // The finally block contains a call to cancel the stream.
   // :for-in-iter.cancel();
@@ -9326,28 +8929,24 @@
     // exists.
     if (outer_saved_try_ctx != NULL) {
       current_block_->statements->Add(new (Z) StoreLocalNode(
-          TokenPosition::kNoSource,
-          outer_saved_try_ctx,
+          TokenPosition::kNoSource, outer_saved_try_ctx,
           new (Z) LoadLocalNode(TokenPosition::kNoSource,
                                 outer_async_saved_try_ctx)));
     }
     // :for-in-iter.cancel();
     ArgumentListNode* no_args =
-        new(Z) ArgumentListNode(TokenPosition::kNoSource);
-    current_block_->statements->Add(
-        new(Z) InstanceCallNode(TokenPosition::kNoSource,
-            new(Z) LoadLocalNode(TokenPosition::kNoSource, iterator_var),
-            Symbols::Cancel(),
-            no_args));
+        new (Z) ArgumentListNode(TokenPosition::kNoSource);
+    current_block_->statements->Add(new (Z) InstanceCallNode(
+        TokenPosition::kNoSource,
+        new (Z) LoadLocalNode(TokenPosition::kNoSource, iterator_var),
+        Symbols::Cancel(), no_args));
     finally_clause = CloseBlock();
 
     AstNode* node_to_inline = try_statement->GetNodeToInlineFinally(node_index);
     if (node_to_inline != NULL) {
       InlinedFinallyNode* node =
-          new(Z) InlinedFinallyNode(TokenPosition::kNoSource,
-                                    finally_clause,
-                                    context_var,
-                                    outer_try_index);
+          new (Z) InlinedFinallyNode(TokenPosition::kNoSource, finally_clause,
+                                     context_var, outer_try_index);
       finally_clause = NULL;
       AddFinallyClauseToNode(true, node_to_inline, node);
       node_index++;
@@ -9365,25 +8964,14 @@
   // Catch block handles all exceptions.
   handler_types.SetAt(0, Object::dynamic_type());
 
-  CatchClauseNode* catch_clause = new(Z) CatchClauseNode(await_for_pos,
-      catch_block,
-      handler_types,
-      context_var,
-      exception_var,
-      stack_trace_var,
-      exception_var,
-      stack_trace_var,
-      AllocateTryIndex(),
+  CatchClauseNode* catch_clause = new (Z) CatchClauseNode(
+      await_for_pos, catch_block, handler_types, context_var, exception_var,
+      stack_trace_var, exception_var, stack_trace_var, AllocateTryIndex(),
       true);  // Needs stack trace.
 
   AstNode* try_catch_node =
-      new(Z) TryCatchNode(await_for_pos,
-                         try_block,
-                         context_var,
-                         catch_clause,
-                         finally_clause,
-                         try_index,
-                         finally_clause);
+      new (Z) TryCatchNode(await_for_pos, try_block, context_var, catch_clause,
+                           finally_clause, try_index, finally_clause);
 
   ASSERT(current_block_ == await_for_block);
   await_for_block->statements->Add(try_catch_node);
@@ -9402,7 +8990,7 @@
   const String* loop_var_name = NULL;
   TokenPosition loop_var_pos = TokenPosition::kNoSource;
   bool new_loop_var = false;
-  AbstractType& loop_var_type =  AbstractType::ZoneHandle(Z);
+  AbstractType& loop_var_type = AbstractType::ZoneHandle(Z);
   if (LookaheadToken(1) == Token::kIN) {
     loop_var_pos = TokenPos();
     loop_var_name = ExpectIdentifier("variable name expected");
@@ -9411,9 +8999,9 @@
     // Delay creation of the local variable until we know its actual
     // position, which is inside the loop body.
     new_loop_var = true;
-    loop_var_type = ParseConstFinalVarOrType(
-        I->type_checks() ? ClassFinalizer::kCanonicalize :
-                                   ClassFinalizer::kIgnore);
+    loop_var_type = ParseConstFinalVarOrType(I->type_checks()
+                                                 ? ClassFinalizer::kCanonicalize
+                                                 : ClassFinalizer::kIgnore);
     loop_var_pos = TokenPos();
     loop_var_name = ExpectIdentifier("variable name expected");
   }
@@ -9437,25 +9025,22 @@
   // It is better to leave the iterator untyped and postpone the type error
   // until the loop variable is assigned to.
   const AbstractType& iterator_type = Object::dynamic_type();
-  LocalVariable* iterator_var = new(Z) LocalVariable(
-      collection_pos,
-      collection_pos, Symbols::ForInIter(), iterator_type);
+  LocalVariable* iterator_var = new (Z) LocalVariable(
+      collection_pos, collection_pos, Symbols::ForInIter(), iterator_type);
   current_block_->scope->AddVariable(iterator_var);
 
   // Generate initialization of iterator variable.
-  ArgumentListNode* no_args = new(Z) ArgumentListNode(collection_pos);
-  AstNode* get_iterator = new(Z) InstanceGetterNode(
-      collection_pos, collection_expr, Symbols::Iterator());
+  ArgumentListNode* no_args = new (Z) ArgumentListNode(collection_pos);
+  AstNode* get_iterator = new (Z)
+      InstanceGetterNode(collection_pos, collection_expr, Symbols::Iterator());
   AstNode* iterator_init =
-      new(Z) StoreLocalNode(collection_pos, iterator_var, get_iterator);
+      new (Z) StoreLocalNode(collection_pos, iterator_var, get_iterator);
   current_block_->statements->Add(iterator_init);
 
   // Generate while loop condition.
-  AstNode* iterator_moveNext = new(Z) InstanceCallNode(
-      collection_pos,
-      new(Z) LoadLocalNode(collection_pos, iterator_var),
-      Symbols::MoveNext(),
-      no_args);
+  AstNode* iterator_moveNext = new (Z) InstanceCallNode(
+      collection_pos, new (Z) LoadLocalNode(collection_pos, iterator_var),
+      Symbols::MoveNext(), no_args);
 
   // Parse the for loop body. Ideally, we would use ParseNestedStatement()
   // here, but that does not work well because we have to insert an implicit
@@ -9465,9 +9050,9 @@
   current_block_->scope->AddLabel(label);
   const TokenPosition loop_var_assignment_pos = TokenPos();
 
-  AstNode* iterator_current = new(Z) InstanceGetterNode(
+  AstNode* iterator_current = new (Z) InstanceGetterNode(
       loop_var_assignment_pos,
-      new(Z) LoadLocalNode(loop_var_assignment_pos, iterator_var),
+      new (Z) LoadLocalNode(loop_var_assignment_pos, iterator_var),
       Symbols::Current());
 
   // Generate assignment of next iterator value to loop variable.
@@ -9475,25 +9060,21 @@
   if (new_loop_var) {
     // The for loop variable is new for each iteration.
     // Create a variable and add it to the loop body scope.
-    LocalVariable* loop_var =
-       new(Z) LocalVariable(loop_var_pos,
-                            loop_var_assignment_pos,
-                            *loop_var_name,
-                            loop_var_type);
+    LocalVariable* loop_var = new (Z) LocalVariable(
+        loop_var_pos, loop_var_assignment_pos, *loop_var_name, loop_var_type);
     if (loop_var_is_final) {
       loop_var->set_is_final();
     }
     current_block_->scope->AddVariable(loop_var);
-    loop_var_assignment = new(Z) StoreLocalNode(
-        loop_var_assignment_pos, loop_var, iterator_current);
+    loop_var_assignment = new (Z)
+        StoreLocalNode(loop_var_assignment_pos, loop_var, iterator_current);
   } else {
     AstNode* loop_var_primary =
         ResolveIdent(loop_var_pos, *loop_var_name, false);
     ASSERT(!loop_var_primary->IsPrimaryNode());
-    loop_var_assignment = CreateAssignmentNode(loop_var_primary,
-                                               iterator_current,
-                                               loop_var_name,
-                                               loop_var_assignment_pos);
+    loop_var_assignment =
+        CreateAssignmentNode(loop_var_primary, iterator_current, loop_var_name,
+                             loop_var_assignment_pos);
     ASSERT(loop_var_assignment != NULL);
   }
   current_block_->statements->Add(loop_var_assignment);
@@ -9512,8 +9093,8 @@
 
   SequenceNode* for_loop_statement = CloseBlock();
 
-  AstNode* while_statement = new(Z) WhileNode(
-      forin_pos, label, iterator_moveNext, NULL, for_loop_statement);
+  AstNode* while_statement = new (Z)
+      WhileNode(forin_pos, label, iterator_moveNext, NULL, for_loop_statement);
   current_block_->statements->Add(while_statement);
 
   return CloseBlock();  // Implicit block around while loop.
@@ -9546,8 +9127,8 @@
   AstNode* condition = NULL;
   SequenceNode* condition_preamble = NULL;
   if (CurrentToken() != Token::kSEMICOLON) {
-    condition = ParseAwaitableExpr(
-        kAllowConst, kConsumeCascades, &condition_preamble);
+    condition =
+        ParseAwaitableExpr(kAllowConst, kConsumeCascades, &condition_preamble);
   }
   ExpectSemicolon();
   AstNode* increment = NULL;
@@ -9556,7 +9137,7 @@
     increment = ParseAwaitableExprList();
   }
   ExpectToken(Token::kRPAREN);
-  const bool parsing_loop_body =  true;
+  const bool parsing_loop_body = true;
   SequenceNode* body = ParseNestedStatement(parsing_loop_body, label);
 
   // Check whether any of the variables in the initializer part of
@@ -9566,8 +9147,8 @@
   for (int i = 0; i < init_scope->num_variables(); i++) {
     if (init_scope->VariableAt(i)->is_captured() &&
         (init_scope->VariableAt(i)->owner() == init_scope)) {
-      SequenceNode* incr_sequence = new(Z) SequenceNode(incr_pos, NULL);
-      incr_sequence->Add(new(Z) CloneContextNode(for_pos));
+      SequenceNode* incr_sequence = new (Z) SequenceNode(incr_pos, NULL);
+      incr_sequence->Add(new (Z) CloneContextNode(for_pos));
       if (increment != NULL) {
         incr_sequence->Add(increment);
       }
@@ -9575,14 +9156,10 @@
       break;
     }
   }
-  AstNode* for_node = new(Z) ForNode(
-      for_pos,
-      label,
-      NodeAsSequenceNode(init_pos, initializer, NULL),
-      condition,
-      condition_preamble,
-      NodeAsSequenceNode(incr_pos, increment, NULL),
-      body);
+  AstNode* for_node = new (Z)
+      ForNode(for_pos, label, NodeAsSequenceNode(init_pos, initializer, NULL),
+              condition, condition_preamble,
+              NodeAsSequenceNode(incr_pos, increment, NULL), body);
   current_block_->statements->Add(for_node);
   return CloseBlock();
 }
@@ -9594,13 +9171,11 @@
                                 ArgumentListNode* arguments) {
   const Class& cls = Class::Handle(Z, Library::LookupCoreClass(cls_name));
   ASSERT(!cls.IsNull());
-  const Function& func = Function::ZoneHandle(Z,
-      Resolver::ResolveStatic(cls,
-                              func_name,
-                              arguments->length(),
-                              arguments->names()));
+  const Function& func = Function::ZoneHandle(
+      Z, Resolver::ResolveStatic(cls, func_name, arguments->length(),
+                                 arguments->names()));
   ASSERT(!func.IsNull());
-  return new(Z) StaticCallNode(arguments->token_pos(), func, arguments);
+  return new (Z) StaticCallNode(arguments->token_pos(), func, arguments);
 }
 
 
@@ -9622,13 +9197,16 @@
   const TokenPosition condition_end = TokenPos();
   ExpectToken(Token::kRPAREN);
 
-  ArgumentListNode* arguments = new(Z) ArgumentListNode(condition_pos);
+  ArgumentListNode* arguments = new (Z) ArgumentListNode(condition_pos);
   arguments->Add(condition);
-  arguments->Add(new(Z) LiteralNode(condition_pos,
+  arguments->Add(new (Z) LiteralNode(
+      condition_pos,
       Integer::ZoneHandle(Z, Integer::New(condition_pos.value(), Heap::kOld))));
-  arguments->Add(new(Z) LiteralNode(condition_end,
+  arguments->Add(new (Z) LiteralNode(
+      condition_end,
       Integer::ZoneHandle(Z, Integer::New(condition_end.value(), Heap::kOld))));
-  AstNode* assert_throw = MakeStaticCall(Symbols::AssertionError(),
+  AstNode* assert_throw = MakeStaticCall(
+      Symbols::AssertionError(),
       Library::PrivateCoreLibName(is_const ? Symbols::CheckConstAssertion()
                                            : Symbols::CheckAssertion()),
       arguments);
@@ -9642,22 +9220,18 @@
                                    CatchParamDesc* stack_trace_param,
                                    LocalScope* scope) {
   if (exception_param->name != NULL) {
-    LocalVariable* var = new(Z) LocalVariable(
-        exception_param->token_pos,
-        exception_param->token_pos,
-        *exception_param->name,
-        *exception_param->type);
+    LocalVariable* var = new (Z)
+        LocalVariable(exception_param->token_pos, exception_param->token_pos,
+                      *exception_param->name, *exception_param->type);
     var->set_is_final();
     bool added_to_scope = scope->AddVariable(var);
     ASSERT(added_to_scope);
     exception_param->var = var;
   }
   if (stack_trace_param->name != NULL) {
-    LocalVariable* var = new(Z) LocalVariable(
-        stack_trace_param->token_pos,
-        stack_trace_param->token_pos,
-        *stack_trace_param->name,
-        *stack_trace_param->type);
+    LocalVariable* var = new (Z) LocalVariable(
+        stack_trace_param->token_pos, stack_trace_param->token_pos,
+        *stack_trace_param->name, *stack_trace_param->type);
     var->set_is_final();
     bool added_to_scope = scope->AddVariable(var);
     if (!added_to_scope) {
@@ -9689,17 +9263,15 @@
 
   ASSERT(saved_exception_var != NULL);
   ASSERT(exception_var != NULL);
-  statements->Add(new(Z) StoreLocalNode(
-      TokenPosition::kNoSource,
-      saved_exception_var,
-      new(Z) LoadLocalNode(TokenPosition::kNoSource, exception_var)));
+  statements->Add(new (Z) StoreLocalNode(
+      TokenPosition::kNoSource, saved_exception_var,
+      new (Z) LoadLocalNode(TokenPosition::kNoSource, exception_var)));
 
   ASSERT(saved_stack_trace_var != NULL);
   ASSERT(stack_trace_var != NULL);
-  statements->Add(new(Z) StoreLocalNode(
-      TokenPosition::kNoSource,
-      saved_stack_trace_var,
-      new(Z) LoadLocalNode(TokenPosition::kNoSource, stack_trace_var)));
+  statements->Add(new (Z) StoreLocalNode(
+      TokenPosition::kNoSource, saved_stack_trace_var,
+      new (Z) LoadLocalNode(TokenPosition::kNoSource, stack_trace_var)));
 }
 
 
@@ -9738,24 +9310,20 @@
       if (scope->function_level() == current_block_->scope->function_level()) {
         LocalVariable* saved_try_ctx =
             LookupSavedTryContextVar(scope->parent());
-        LocalVariable* async_saved_try_ctx = LookupAsyncSavedTryContextVar(T,
-            async_temp_scope_, try_stack_->try_index());
-        current_block_->statements->Add(
-            new (Z) StoreLocalNode(
-                TokenPosition::kNoSource,
-                saved_try_ctx,
-                new (Z) LoadLocalNode(TokenPosition::kNoSource,
-                                      async_saved_try_ctx)));
+        LocalVariable* async_saved_try_ctx = LookupAsyncSavedTryContextVar(
+            T, async_temp_scope_, try_stack_->try_index());
+        current_block_->statements->Add(new (Z) StoreLocalNode(
+            TokenPosition::kNoSource, saved_try_ctx,
+            new (Z)
+                LoadLocalNode(TokenPosition::kNoSource, async_saved_try_ctx)));
       }
     }
     // We need to save the exception variables as in catch clauses, whether
     // there is an outer try or not. Note that this is only necessary if the
     // finally clause contains an await or yield.
     // TODO(hausner): Optimize.
-    SaveExceptionAndStacktrace(current_block_->statements,
-                               exception_var,
-                               stack_trace_var,
-                               rethrow_exception_var,
+    SaveExceptionAndStacktrace(current_block_->statements, exception_var,
+                               stack_trace_var, rethrow_exception_var,
                                rethrow_stack_trace_var);
   }
 
@@ -9773,7 +9341,7 @@
 
 void Parser::PushTry(Block* try_block) {
   intptr_t try_index = AllocateTryIndex();
-  try_stack_ = new(Z) TryStack(try_block, try_stack_, try_index);
+  try_stack_ = new (Z) TryStack(try_block, try_stack_, try_index);
 }
 
 
@@ -9792,7 +9360,7 @@
   const intptr_t func_level = FunctionLevel();
   TryStack* iterator = try_stack_;
   while ((iterator != NULL) &&
-      (iterator->try_block()->scope->function_level() == func_level)) {
+         (iterator->try_block()->scope->function_level() == func_level)) {
     // For continue and break node check if the target label is in scope.
     if (node->IsJumpNode()) {
       SourceLabel* label = node->AsJumpNode()->label();
@@ -9873,8 +9441,8 @@
     CatchParamDesc stack_trace_param;
     if (IsSymbol(Symbols::On())) {
       ConsumeToken();
-      exception_param.type = &AbstractType::ZoneHandle(Z,
-          ParseType(ClassFinalizer::kCanonicalize));
+      exception_param.type = &AbstractType::ZoneHandle(
+          Z, ParseType(ClassFinalizer::kCanonicalize));
     } else {
       exception_param.type = &Object::dynamic_type();
     }
@@ -9907,9 +9475,9 @@
       // Generate code to load the exception object (:exception_var) into
       // the exception variable specified in this block.
       ASSERT(exception_var != NULL);
-      current_block_->statements->Add(new(Z) StoreLocalNode(
-          catch_pos, exception_param.var, new(Z) LoadLocalNode(
-              catch_pos, exception_var)));
+      current_block_->statements->Add(new (Z) StoreLocalNode(
+          catch_pos, exception_param.var,
+          new (Z) LoadLocalNode(catch_pos, exception_var)));
     }
     if (stack_trace_param.var != NULL) {
       // A stack trace variable is specified in this block, so generate code
@@ -9917,9 +9485,9 @@
       // trace variable specified in this block.
       *needs_stack_trace = true;
       ASSERT(stack_trace_var != NULL);
-      current_block_->statements->Add(new(Z) StoreLocalNode(
-          catch_pos, stack_trace_param.var, new(Z) LoadLocalNode(
-              catch_pos, stack_trace_var)));
+      current_block_->statements->Add(new (Z) StoreLocalNode(
+          catch_pos, stack_trace_param.var,
+          new (Z) LoadLocalNode(catch_pos, stack_trace_var)));
     }
 
     // Add nested block with user-defined code.  This block allows
@@ -9929,18 +9497,17 @@
     current_block_->statements->Add(ParseNestedStatement(false, NULL));
     catch_blocks.Add(CloseBlock());
 
-    const bool is_bad_type =
-        exception_param.type->IsMalformed() ||
-        exception_param.type->IsMalbounded();
+    const bool is_bad_type = exception_param.type->IsMalformed() ||
+                             exception_param.type->IsMalbounded();
     if (exception_param.type->IsDynamicType() || is_bad_type) {
       // There is no exception type or else it is malformed or malbounded.
       // In the first case, unconditionally execute the catch body.  In the
       // second case, unconditionally throw.
       generic_catch_seen = true;
-      type_tests.Add(new(Z) LiteralNode(catch_pos, Bool::True()));
+      type_tests.Add(new (Z) LiteralNode(catch_pos, Bool::True()));
       if (is_bad_type) {
         // Replace the body with one that throws.
-        SequenceNode* block = new(Z) SequenceNode(catch_pos, NULL);
+        SequenceNode* block = new (Z) SequenceNode(catch_pos, NULL);
         block->Add(ThrowTypeError(catch_pos, *exception_param.type));
         catch_blocks.Last() = block;
       }
@@ -9951,20 +9518,19 @@
     } else {
       // Has a type specification that is not malformed or malbounded.  Now
       // form an 'if type check' to guard the catch handler code.
-      if (!exception_param.type->IsInstantiated() &&
-          (FunctionLevel() > 0)) {
+      if (!exception_param.type->IsInstantiated() && (FunctionLevel() > 0)) {
         // Make sure that the instantiator is captured.
         CaptureInstantiator();
       }
-      TypeNode* exception_type = new(Z) TypeNode(
-          catch_pos, *exception_param.type);
-      AstNode* exception_value = new(Z) LoadLocalNode(
-          catch_pos, exception_var);
+      TypeNode* exception_type =
+          new (Z) TypeNode(catch_pos, *exception_param.type);
+      AstNode* exception_value =
+          new (Z) LoadLocalNode(catch_pos, exception_var);
       if (!exception_type->type().IsInstantiated()) {
         EnsureExpressionTemp();
       }
-      type_tests.Add(new(Z) ComparisonNode(
-          catch_pos, Token::kIS, exception_value, exception_type));
+      type_tests.Add(new (Z) ComparisonNode(catch_pos, Token::kIS,
+                                            exception_value, exception_type));
 
       // Do not add uninstantiated types (e.g. type parameter T or generic
       // type List<T>), since the debugger won't be able to instantiate it
@@ -9994,11 +9560,10 @@
     // An await cannot possibly be executed inbetween the catch entry and here,
     // therefore, it is safe to rethrow the stack-based :exception_var instead
     // of the captured copy :saved_exception_var.
-    current = new(Z) SequenceNode(handler_pos, NULL);
-    current->Add(new(Z) ThrowNode(
-        handler_pos,
-        new(Z) LoadLocalNode(handler_pos, exception_var),
-        new(Z) LoadLocalNode(handler_pos, stack_trace_var)));
+    current = new (Z) SequenceNode(handler_pos, NULL);
+    current->Add(new (Z) ThrowNode(
+        handler_pos, new (Z) LoadLocalNode(handler_pos, exception_var),
+        new (Z) LoadLocalNode(handler_pos, stack_trace_var)));
   } else if (type_tests.Last()->IsLiteralNode()) {
     ASSERT(type_tests.Last()->AsLiteralNode()->literal().raw() ==
            Bool::True().raw());
@@ -10015,7 +9580,7 @@
   while (!type_tests.is_empty()) {
     AstNode* type_test = type_tests.RemoveLast();
     SequenceNode* catch_block = catch_blocks.RemoveLast();
-    current_block_->statements->Add(new(Z) IfNode(
+    current_block_->statements->Add(new (Z) IfNode(
         type_test->token_pos(), type_test, catch_block, current));
     current = CloseBlock();
   }
@@ -10023,28 +9588,23 @@
   // the catch clauses.
   if (is_async && (current != NULL)) {
     ASSERT(try_stack_ != NULL);
-    SequenceNode* async_code = new(Z) SequenceNode(handler_pos, NULL);
+    SequenceNode* async_code = new (Z) SequenceNode(handler_pos, NULL);
     const TryStack* try_block = try_stack_->outer_try();
     if (try_block != NULL) {
       LocalScope* scope = try_block->try_block()->scope;
       if (scope->function_level() == current_block_->scope->function_level()) {
         LocalVariable* saved_try_ctx =
             LookupSavedTryContextVar(scope->parent());
-        LocalVariable* async_saved_try_ctx = LookupAsyncSavedTryContextVar(T,
-            async_temp_scope_, try_block->try_index());
-        async_code->Add(
-            new (Z) StoreLocalNode(
-                TokenPosition::kNoSource,
-                saved_try_ctx,
-                new (Z) LoadLocalNode(TokenPosition::kNoSource,
-                                      async_saved_try_ctx)));
+        LocalVariable* async_saved_try_ctx = LookupAsyncSavedTryContextVar(
+            T, async_temp_scope_, try_block->try_index());
+        async_code->Add(new (Z) StoreLocalNode(
+            TokenPosition::kNoSource, saved_try_ctx,
+            new (Z)
+                LoadLocalNode(TokenPosition::kNoSource, async_saved_try_ctx)));
       }
     }
-    SaveExceptionAndStacktrace(async_code,
-                               exception_var,
-                               stack_trace_var,
-                               rethrow_exception_var,
-                               rethrow_stack_trace_var);
+    SaveExceptionAndStacktrace(async_code, exception_var, stack_trace_var,
+                               rethrow_exception_var, rethrow_stack_trace_var);
     // The async_code node sequence contains code to restore the context (if
     // an outer try block is present) and code to save the exception and
     // stack trace variables.
@@ -10058,23 +9618,19 @@
 
 
 void Parser::SetupSavedTryContext(LocalVariable* saved_try_context) {
-  const String& async_saved_try_ctx_name = String::ZoneHandle(Z,
-      Symbols::NewFormatted(T,
-                            "%s%d",
-                            Symbols::AsyncSavedTryCtxVarPrefix().ToCString(),
-                            last_used_try_index_ - 1));
-  LocalVariable* async_saved_try_ctx = new (Z) LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      async_saved_try_ctx_name,
-      Object::dynamic_type());
+  const String& async_saved_try_ctx_name = String::ZoneHandle(
+      Z, Symbols::NewFormatted(T, "%s%d",
+                               Symbols::AsyncSavedTryCtxVarPrefix().ToCString(),
+                               last_used_try_index_ - 1));
+  LocalVariable* async_saved_try_ctx =
+      new (Z) LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                            async_saved_try_ctx_name, Object::dynamic_type());
   ASSERT(async_temp_scope_ != NULL);
   async_temp_scope_->AddVariable(async_saved_try_ctx);
   ASSERT(saved_try_context != NULL);
-  current_block_->statements->Add(new(Z) StoreLocalNode(
-      TokenPosition::kNoSource,
-      async_saved_try_ctx,
-      new(Z) LoadLocalNode(TokenPosition::kNoSource, saved_try_context)));
+  current_block_->statements->Add(new (Z) StoreLocalNode(
+      TokenPosition::kNoSource, async_saved_try_ctx,
+      new (Z) LoadLocalNode(TokenPosition::kNoSource, saved_try_context)));
 }
 
 
@@ -10105,50 +9661,40 @@
   // Consecutive try statements share the same set of variables.
   *context_var = try_scope->LocalLookupVariable(Symbols::SavedTryContextVar());
   if (*context_var == NULL) {
-    *context_var = new(Z) LocalVariable(
-        TokenPos(),
-        TokenPos(),
-        Symbols::SavedTryContextVar(),
-        Object::dynamic_type());
+    *context_var = new (Z)
+        LocalVariable(TokenPos(), TokenPos(), Symbols::SavedTryContextVar(),
+                      Object::dynamic_type());
     try_scope->AddVariable(*context_var);
   }
   *exception_var = try_scope->LocalLookupVariable(Symbols::ExceptionVar());
   if (*exception_var == NULL) {
-    *exception_var = new(Z) LocalVariable(
-        TokenPos(),
-        TokenPos(),
-        Symbols::ExceptionVar(),
-        Object::dynamic_type());
+    *exception_var =
+        new (Z) LocalVariable(TokenPos(), TokenPos(), Symbols::ExceptionVar(),
+                              Object::dynamic_type());
     try_scope->AddVariable(*exception_var);
   }
   *stack_trace_var = try_scope->LocalLookupVariable(Symbols::StackTraceVar());
   if (*stack_trace_var == NULL) {
-    *stack_trace_var = new(Z) LocalVariable(
-        TokenPos(),
-        TokenPos(),
-        Symbols::StackTraceVar(),
-        Object::dynamic_type());
+    *stack_trace_var =
+        new (Z) LocalVariable(TokenPos(), TokenPos(), Symbols::StackTraceVar(),
+                              Object::dynamic_type());
     try_scope->AddVariable(*stack_trace_var);
   }
   if (is_async) {
-    *saved_exception_var = try_scope->LocalLookupVariable(
-        Symbols::SavedExceptionVar());
+    *saved_exception_var =
+        try_scope->LocalLookupVariable(Symbols::SavedExceptionVar());
     if (*saved_exception_var == NULL) {
-      *saved_exception_var = new(Z) LocalVariable(
-          TokenPos(),
-          TokenPos(),
-          Symbols::SavedExceptionVar(),
-          Object::dynamic_type());
+      *saved_exception_var = new (Z)
+          LocalVariable(TokenPos(), TokenPos(), Symbols::SavedExceptionVar(),
+                        Object::dynamic_type());
       try_scope->AddVariable(*saved_exception_var);
     }
-    *saved_stack_trace_var = try_scope->LocalLookupVariable(
-        Symbols::SavedStackTraceVar());
+    *saved_stack_trace_var =
+        try_scope->LocalLookupVariable(Symbols::SavedStackTraceVar());
     if (*saved_stack_trace_var == NULL) {
-      *saved_stack_trace_var = new(Z) LocalVariable(
-          TokenPos(),
-          TokenPos(),
-          Symbols::SavedStackTraceVar(),
-          Object::dynamic_type());
+      *saved_stack_trace_var = new (Z)
+          LocalVariable(TokenPos(), TokenPos(), Symbols::SavedStackTraceVar(),
+                        Object::dynamic_type());
       try_scope->AddVariable(*saved_stack_trace_var);
     }
   }
@@ -10177,13 +9723,9 @@
   LocalVariable* stack_trace_var = NULL;
   LocalVariable* saved_exception_var = NULL;
   LocalVariable* saved_stack_trace_var = NULL;
-  SetupExceptionVariables(current_block_->scope,
-                          is_async,
-                          &context_var,
-                          &exception_var,
-                          &stack_trace_var,
-                          &saved_exception_var,
-                          &saved_stack_trace_var);
+  SetupExceptionVariables(current_block_->scope, is_async, &context_var,
+                          &exception_var, &stack_trace_var,
+                          &saved_exception_var, &saved_stack_trace_var);
 
   ConsumeToken();  // Consume the 'try'.
 
@@ -10212,20 +9754,17 @@
       GrowableObjectArray::Handle(Z, GrowableObjectArray::New(Heap::kOld));
   bool needs_stack_trace = false;
   SequenceNode* catch_handler_list =
-      ParseCatchClauses(handler_pos,
-                        is_async,
-                        exception_var,
-                        stack_trace_var,
+      ParseCatchClauses(handler_pos, is_async, exception_var, stack_trace_var,
                         is_async ? saved_exception_var : exception_var,
                         is_async ? saved_stack_trace_var : stack_trace_var,
-                        handler_types,
-                        &needs_stack_trace);
+                        handler_types, &needs_stack_trace);
 
   TryStack* try_statement = PopTry();
   const intptr_t try_index = try_statement->try_index();
   TryStack* outer_try = try_stack_;
-  const intptr_t outer_try_index = (outer_try != NULL) ?
-      outer_try->try_index() : CatchClauseNode::kInvalidTryIndex;
+  const intptr_t outer_try_index = (outer_try != NULL)
+                                       ? outer_try->try_index()
+                                       : CatchClauseNode::kInvalidTryIndex;
 
   // Finally, parse or generate the 'finally' clause.
   // A finally clause is required in async code to restore the saved try context
@@ -10244,28 +9783,20 @@
     AstNode* node_to_inline = try_statement->GetNodeToInlineFinally(node_index);
     while (node_to_inline != NULL) {
       finally_clause = EnsureFinallyClause(
-          parse,
-          is_async,
-          exception_var,
-          stack_trace_var,
+          parse, is_async, exception_var, stack_trace_var,
           is_async ? saved_exception_var : exception_var,
           is_async ? saved_stack_trace_var : stack_trace_var);
-      InlinedFinallyNode* node = new(Z) InlinedFinallyNode(finally_pos,
-                                                           finally_clause,
-                                                           context_var,
-                                                           outer_try_index);
+      InlinedFinallyNode* node = new (Z) InlinedFinallyNode(
+          finally_pos, finally_clause, context_var, outer_try_index);
       AddFinallyClauseToNode(is_async, node_to_inline, node);
       node_index += 1;
       node_to_inline = try_statement->GetNodeToInlineFinally(node_index);
       tokens_iterator_.SetCurrentPosition(finally_pos);
     }
-    finally_clause = EnsureFinallyClause(
-        parse,
-        is_async,
-        exception_var,
-        stack_trace_var,
-        is_async ? saved_exception_var : exception_var,
-        is_async ? saved_stack_trace_var : stack_trace_var);
+    finally_clause =
+        EnsureFinallyClause(parse, is_async, exception_var, stack_trace_var,
+                            is_async ? saved_exception_var : exception_var,
+                            is_async ? saved_stack_trace_var : stack_trace_var);
     if (finally_clause != NULL) {
       // Re-parse to create a duplicate of finally clause to avoid unintended
       // sharing of try-indices if the finally-block contains a try-catch.
@@ -10274,34 +9805,28 @@
       // non-exception case (see EffectGraphVisitor::VisitTryCatchNode)
       tokens_iterator_.SetCurrentPosition(finally_pos);
       rethrow_clause = EnsureFinallyClause(
-          parse,
-          is_async,
-          exception_var,
-          stack_trace_var,
+          parse, is_async, exception_var, stack_trace_var,
           is_async ? saved_exception_var : exception_var,
           is_async ? saved_stack_trace_var : stack_trace_var);
     }
   }
 
-  CatchClauseNode* catch_clause = new(Z) CatchClauseNode(
-      handler_pos,
-      catch_handler_list,
-      Array::ZoneHandle(Z, Array::MakeArray(handler_types)),
-      context_var,
-      exception_var,
-      stack_trace_var,
+  CatchClauseNode* catch_clause = new (Z) CatchClauseNode(
+      handler_pos, catch_handler_list,
+      Array::ZoneHandle(Z, Array::MakeArray(handler_types)), context_var,
+      exception_var, stack_trace_var,
       is_async ? saved_exception_var : exception_var,
       is_async ? saved_stack_trace_var : stack_trace_var,
-      (finally_clause != NULL) ?
-          AllocateTryIndex() : CatchClauseNode::kInvalidTryIndex,
+      (finally_clause != NULL) ? AllocateTryIndex()
+                               : CatchClauseNode::kInvalidTryIndex,
       needs_stack_trace);
 
   // Now create the try/catch ast node and return it. If there is a label
   // on the try/catch, close the block that's embedding the try statement
   // and attach the label to it.
-  AstNode* try_catch_node = new(Z) TryCatchNode(
-      try_pos, try_block, context_var, catch_clause, finally_clause, try_index,
-      rethrow_clause);
+  AstNode* try_catch_node =
+      new (Z) TryCatchNode(try_pos, try_block, context_var, catch_clause,
+                           finally_clause, try_index, rethrow_clause);
 
   if (try_label != NULL) {
     current_block_->statements->Add(try_catch_node);
@@ -10343,8 +9868,8 @@
       LocalScope* switch_scope = current_block_->scope->LookupSwitchScope();
       if (switch_scope != NULL) {
         // We found a switch scope. Enter a forward reference to the label.
-        target = new(Z) SourceLabel(
-            TokenPos(), target_name, SourceLabel::kForward);
+        target =
+            new (Z) SourceLabel(TokenPos(), target_name, SourceLabel::kForward);
         switch_scope->AddLabel(target);
       }
     }
@@ -10354,7 +9879,7 @@
   } else if (FLAG_enable_debug_break && (CurrentToken() == Token::kSTRING)) {
     const char* message = strdup(CurrentLiteral()->ToCString());
     ConsumeToken();
-    return new(Z) StopNode(jump_pos, message);
+    return new (Z) StopNode(jump_pos, message);
   } else {
     target = current_block_->scope->LookupInnermostLabel(jump_kind);
     if (target == NULL) {
@@ -10377,7 +9902,7 @@
     ReportError(jump_pos, "'%s' target must be in same function context",
                 Token::Str(jump_kind));
   }
-  return new(Z) JumpNode(jump_pos, jump_kind, target);
+  return new (Z) JumpNode(jump_pos, jump_kind, target);
 }
 
 
@@ -10398,7 +9923,7 @@
 
   AstNode* expr = ParseAwaitableExpr(kAllowConst, kConsumeCascades, NULL);
 
-  LetNode* yield = new(Z) LetNode(yield_pos);
+  LetNode* yield = new (Z) LetNode(yield_pos);
   if (innermost_function().IsSyncGenerator() ||
       innermost_function().IsSyncGenClosure()) {
     // Yield statement in sync* function.
@@ -10408,31 +9933,25 @@
     ASSERT(iterator_param != NULL);
     // Generate :iterator.current = expr;
     AstNode* iterator =
-        new(Z) LoadLocalNode(TokenPosition::kNoSource, iterator_param);
-    AstNode* store_current =
-        new(Z) InstanceSetterNode(TokenPosition::kNoSource,
-                                  iterator,
-                                  Library::PrivateCoreLibName(
-                                      Symbols::_current()),
-                                  expr);
+        new (Z) LoadLocalNode(TokenPosition::kNoSource, iterator_param);
+    AstNode* store_current = new (Z) InstanceSetterNode(
+        TokenPosition::kNoSource, iterator,
+        Library::PrivateCoreLibName(Symbols::_current()), expr);
     yield->AddNode(store_current);
     if (is_yield_each) {
       // Generate :iterator.isYieldEach = true;
-      AstNode* set_is_yield_each =
-          new(Z) InstanceSetterNode(TokenPosition::kNoSource,
-              iterator,
-              String::ZoneHandle(Symbols::IsYieldEach().raw()),
-              new(Z) LiteralNode(TokenPos(), Bool::True()));
+      AstNode* set_is_yield_each = new (Z)
+          InstanceSetterNode(TokenPosition::kNoSource, iterator,
+                             String::ZoneHandle(Symbols::IsYieldEach().raw()),
+                             new (Z) LiteralNode(TokenPos(), Bool::True()));
       yield->AddNode(set_is_yield_each);
     }
-    AwaitMarkerNode* await_marker =
-        new(Z) AwaitMarkerNode(async_temp_scope_,
-                               current_block_->scope,
-                               TokenPosition::kNoSource);
+    AwaitMarkerNode* await_marker = new (Z) AwaitMarkerNode(
+        async_temp_scope_, current_block_->scope, TokenPosition::kNoSource);
     yield->AddNode(await_marker);
     // Return true to indicate that a value has been generated.
-    ReturnNode* return_true = new(Z) ReturnNode(yield_pos,
-        new(Z) LiteralNode(TokenPos(), Bool::True()));
+    ReturnNode* return_true = new (Z)
+        ReturnNode(yield_pos, new (Z) LiteralNode(TokenPos(), Bool::True()));
     return_true->set_return_type(ReturnNode::kContinuationTarget);
     yield->AddNode(return_true);
 
@@ -10443,20 +9962,16 @@
     LocalVariable* async_saved_try_ctx;
     LocalVariable* outer_saved_try_ctx;
     LocalVariable* outer_async_saved_try_ctx;
-    CheckAsyncOpInTryBlock(&saved_try_ctx,
-                           &async_saved_try_ctx,
-                           &outer_saved_try_ctx,
-                           &outer_async_saved_try_ctx);
+    CheckAsyncOpInTryBlock(&saved_try_ctx, &async_saved_try_ctx,
+                           &outer_saved_try_ctx, &outer_async_saved_try_ctx);
     if (saved_try_ctx != NULL) {
       yield->AddNode(new (Z) StoreLocalNode(
-          TokenPosition::kNoSource,
-          saved_try_ctx,
-          new (Z) LoadLocalNode(TokenPosition::kNoSource,
-                                async_saved_try_ctx)));
+          TokenPosition::kNoSource, saved_try_ctx,
+          new (Z)
+              LoadLocalNode(TokenPosition::kNoSource, async_saved_try_ctx)));
       if (outer_saved_try_ctx != NULL) {
         yield->AddNode(new (Z) StoreLocalNode(
-            TokenPosition::kNoSource,
-            outer_saved_try_ctx,
+            TokenPosition::kNoSource, outer_saved_try_ctx,
             new (Z) LoadLocalNode(TokenPosition::kNoSource,
                                   outer_async_saved_try_ctx)));
       }
@@ -10471,13 +9986,12 @@
     LocalVariable* controller_var = LookupLocalScope(Symbols::Controller());
     ASSERT(controller_var != NULL);
     // :controller.add[Stream](expr);
-    ArgumentListNode* add_args = new(Z) ArgumentListNode(yield_pos);
+    ArgumentListNode* add_args = new (Z) ArgumentListNode(yield_pos);
     add_args->Add(expr);
-    AstNode* add_call =
-        new(Z) InstanceCallNode(yield_pos,
-            new(Z) LoadLocalNode(TokenPosition::kNoSource, controller_var),
-            is_yield_each ? Symbols::AddStream() : Symbols::add(),
-            add_args);
+    AstNode* add_call = new (Z) InstanceCallNode(
+        yield_pos,
+        new (Z) LoadLocalNode(TokenPosition::kNoSource, controller_var),
+        is_yield_each ? Symbols::AddStream() : Symbols::add(), add_args);
 
     // if (:controller.add[Stream](expr)) {
     //   return;
@@ -10487,20 +10001,18 @@
     // restore saved_try_context
 
     SequenceNode* true_branch =
-        new(Z) SequenceNode(TokenPosition::kNoSource, NULL);
-    AstNode* return_from_generator = new(Z) ReturnNode(yield_pos);
+        new (Z) SequenceNode(TokenPosition::kNoSource, NULL);
+    AstNode* return_from_generator = new (Z) ReturnNode(yield_pos);
     true_branch->Add(return_from_generator);
     AddNodeForFinallyInlining(return_from_generator);
     AstNode* if_is_cancelled =
-       new(Z) IfNode(TokenPosition::kNoSource, add_call, true_branch, NULL);
+        new (Z) IfNode(TokenPosition::kNoSource, add_call, true_branch, NULL);
     yield->AddNode(if_is_cancelled);
 
-    AwaitMarkerNode* await_marker =
-        new(Z) AwaitMarkerNode(async_temp_scope_,
-                               current_block_->scope,
-                               TokenPosition::kNoSource);
+    AwaitMarkerNode* await_marker = new (Z) AwaitMarkerNode(
+        async_temp_scope_, current_block_->scope, TokenPosition::kNoSource);
     yield->AddNode(await_marker);
-    ReturnNode* continuation_return = new(Z) ReturnNode(yield_pos);
+    ReturnNode* continuation_return = new (Z) ReturnNode(yield_pos);
     continuation_return->set_return_type(ReturnNode::kContinuationTarget);
     yield->AddNode(continuation_return);
 
@@ -10511,20 +10023,16 @@
     LocalVariable* async_saved_try_ctx;
     LocalVariable* outer_saved_try_ctx;
     LocalVariable* outer_async_saved_try_ctx;
-    CheckAsyncOpInTryBlock(&saved_try_ctx,
-                           &async_saved_try_ctx,
-                           &outer_saved_try_ctx,
-                           &outer_async_saved_try_ctx);
+    CheckAsyncOpInTryBlock(&saved_try_ctx, &async_saved_try_ctx,
+                           &outer_saved_try_ctx, &outer_async_saved_try_ctx);
     if (saved_try_ctx != NULL) {
       yield->AddNode(new (Z) StoreLocalNode(
-          TokenPosition::kNoSource,
-          saved_try_ctx,
-          new (Z) LoadLocalNode(TokenPosition::kNoSource,
-                                async_saved_try_ctx)));
+          TokenPosition::kNoSource, saved_try_ctx,
+          new (Z)
+              LoadLocalNode(TokenPosition::kNoSource, async_saved_try_ctx)));
       if (outer_saved_try_ctx != NULL) {
         yield->AddNode(new (Z) StoreLocalNode(
-            TokenPosition::kNoSource,
-            outer_saved_try_ctx,
+            TokenPosition::kNoSource, outer_saved_try_ctx,
             new (Z) LoadLocalNode(TokenPosition::kNoSource,
                                   outer_async_saved_try_ctx)));
       }
@@ -10577,7 +10085,7 @@
         ReportError(expr_pos,
                     "return of a value is not allowed in constructors");
       } else if (current_function().IsGeneratorClosure() &&
-          (function_level == 0)) {
+                 (function_level == 0)) {
         ReportError(expr_pos, "generator functions may not return a value");
       }
       AstNode* expr = ParseAwaitableExpr(kAllowConst, kConsumeCascades, NULL);
@@ -10601,46 +10109,37 @@
           if (!result_type_args.IsNull() && (result_type_args.Length() == 1)) {
             const AbstractType& result_type_arg =
                 AbstractType::ZoneHandle(Z, result_type_args.TypeAt(0));
-            LetNode* checked_expr = new(Z) LetNode(expr_pos);
+            LetNode* checked_expr = new (Z) LetNode(expr_pos);
             LocalVariable* temp = checked_expr->AddInitializer(expr);
             temp->set_is_final();
             const AbstractType& future_type =
                 AbstractType::ZoneHandle(Z, future_class.RareType());
-            AstNode* is_future = new(Z) LoadLocalNode(expr_pos, temp);
-            is_future = new(Z) ComparisonNode(expr_pos,
-                                              Token::kIS,
-                                              is_future,
-                                              new(Z) TypeNode(expr_pos,
-                                                              future_type));
-            AstNode* as_future_t = new(Z) LoadLocalNode(expr_pos, temp);
-            as_future_t = new(Z) AssignableNode(expr_pos,
-                                                as_future_t,
-                                                result_type,
-                                                Symbols::FunctionResult());
-            AstNode* as_t = new(Z) LoadLocalNode(expr_pos, temp);
-            as_t = new(Z) AssignableNode(expr_pos,
-                                         as_t,
-                                         result_type_arg,
-                                         Symbols::FunctionResult());
-            checked_expr->AddNode(new(Z) ConditionalExprNode(expr_pos,
-                                                             is_future,
-                                                             as_future_t,
-                                                             as_t));
+            AstNode* is_future = new (Z) LoadLocalNode(expr_pos, temp);
+            is_future =
+                new (Z) ComparisonNode(expr_pos, Token::kIS, is_future,
+                                       new (Z) TypeNode(expr_pos, future_type));
+            AstNode* as_future_t = new (Z) LoadLocalNode(expr_pos, temp);
+            as_future_t = new (Z) AssignableNode(
+                expr_pos, as_future_t, result_type, Symbols::FunctionResult());
+            AstNode* as_t = new (Z) LoadLocalNode(expr_pos, temp);
+            as_t = new (Z) AssignableNode(expr_pos, as_t, result_type_arg,
+                                          Symbols::FunctionResult());
+            checked_expr->AddNode(new (Z) ConditionalExprNode(
+                expr_pos, is_future, as_future_t, as_t));
             expr = checked_expr;
           }
         }
       }
-      statement = new(Z) ReturnNode(statement_pos, expr);
+      statement = new (Z) ReturnNode(statement_pos, expr);
     } else {
-      if (current_function().IsSyncGenClosure() &&
-          (FunctionLevel() == 0)) {
+      if (current_function().IsSyncGenClosure() && (FunctionLevel() == 0)) {
         // In a synchronous generator, return without an expression
         // returns false, signaling that the iterator terminates and
         // did not yield a value.
-        statement = new(Z) ReturnNode(statement_pos,
-            new(Z) LiteralNode(return_pos, Bool::False()));
+        statement = new (Z) ReturnNode(
+            statement_pos, new (Z) LiteralNode(return_pos, Bool::False()));
       } else {
-        statement = new(Z) ReturnNode(statement_pos);
+        statement = new (Z) ReturnNode(statement_pos);
       }
     }
     AddNodeForFinallyInlining(statement);
@@ -10722,10 +10221,9 @@
     ASSERT(excp_var != NULL);
     ASSERT(trace_var != NULL);
 
-    statement = new(Z) ThrowNode(
-        statement_pos,
-        new(Z) LoadLocalNode(statement_pos, excp_var),
-        new(Z) LoadLocalNode(statement_pos, trace_var));
+    statement = new (Z)
+        ThrowNode(statement_pos, new (Z) LoadLocalNode(statement_pos, excp_var),
+                  new (Z) LoadLocalNode(statement_pos, trace_var));
   } else {
     statement = ParseAwaitableExpr(kAllowConst, kConsumeCascades, NULL);
     ExpectSemicolon();
@@ -10741,8 +10239,10 @@
 
 
 void Parser::ReportErrors(const Error& prev_error,
-                          const Script& script, TokenPosition token_pos,
-                          const char* format, ...) {
+                          const Script& script,
+                          TokenPosition token_pos,
+                          const char* format,
+                          ...) {
   va_list args;
   va_start(args, format);
   Report::LongJumpV(prev_error, script, token_pos, format, args);
@@ -10752,11 +10252,12 @@
 
 
 void Parser::ReportError(TokenPosition token_pos,
-                         const char* format, ...) const {
+                         const char* format,
+                         ...) const {
   va_list args;
   va_start(args, format);
-  Report::MessageV(Report::kError,
-                   script_, token_pos, Report::AtLocation, format, args);
+  Report::MessageV(Report::kError, script_, token_pos, Report::AtLocation,
+                   format, args);
   va_end(args);
   UNREACHABLE();
 }
@@ -10765,9 +10266,8 @@
 void Parser::ReportErrorBefore(const char* format, ...) {
   va_list args;
   va_start(args, format);
-  Report::MessageV(Report::kError,
-                   script_, PrevTokenPos(), Report::AfterLocation,
-                   format, args);
+  Report::MessageV(Report::kError, script_, PrevTokenPos(),
+                   Report::AfterLocation, format, args);
   va_end(args);
   UNREACHABLE();
 }
@@ -10776,19 +10276,20 @@
 void Parser::ReportError(const char* format, ...) const {
   va_list args;
   va_start(args, format);
-  Report::MessageV(Report::kError,
-                   script_, TokenPos(), Report::AtLocation, format, args);
+  Report::MessageV(Report::kError, script_, TokenPos(), Report::AtLocation,
+                   format, args);
   va_end(args);
   UNREACHABLE();
 }
 
 
 void Parser::ReportWarning(TokenPosition token_pos,
-                           const char* format, ...) const {
+                           const char* format,
+                           ...) const {
   va_list args;
   va_start(args, format);
-  Report::MessageV(Report::kWarning,
-                   script_, token_pos, Report::AtLocation, format, args);
+  Report::MessageV(Report::kWarning, script_, token_pos, Report::AtLocation,
+                   format, args);
   va_end(args);
 }
 
@@ -10796,8 +10297,8 @@
 void Parser::ReportWarning(const char* format, ...) const {
   va_list args;
   va_start(args, format);
-  Report::MessageV(Report::kWarning,
-                   script_, TokenPos(), Report::AtLocation, format, args);
+  Report::MessageV(Report::kWarning, script_, TokenPos(), Report::AtLocation,
+                   format, args);
   va_end(args);
 }
 
@@ -10830,9 +10331,9 @@
 
 
 void Parser::UnexpectedToken() {
-  ReportError("unexpected token '%s'",
-              CurrentToken() == Token::kIDENT ?
-                  CurrentLiteral()->ToCString() : Token::Str(CurrentToken()));
+  ReportError("unexpected token '%s'", CurrentToken() == Token::kIDENT
+                                           ? CurrentLiteral()->ToCString()
+                                           : Token::Str(CurrentToken()));
 }
 
 
@@ -10862,13 +10363,13 @@
 
 bool Parser::IsAwaitKeyword() {
   return (FLAG_await_is_keyword || await_is_keyword_) &&
-      IsSymbol(Symbols::Await());
+         IsSymbol(Symbols::Await());
 }
 
 
 bool Parser::IsYieldKeyword() {
   return (FLAG_await_is_keyword || await_is_keyword_) &&
-      IsSymbol(Symbols::YieldKw());
+         IsSymbol(Symbols::YieldKw());
 }
 
 
@@ -10878,8 +10379,7 @@
 
 
 static bool IsPrefixOperator(Token::Kind token) {
-  return (token == Token::kSUB) ||
-         (token == Token::kNOT) ||
+  return (token == Token::kSUB) || (token == Token::kNOT) ||
          (token == Token::kBIT_NOT);
 }
 
@@ -10902,28 +10402,28 @@
 AstNode* Parser::ThrowTypeError(TokenPosition type_pos,
                                 const AbstractType& type,
                                 LibraryPrefix* prefix) {
-  ArgumentListNode* arguments = new(Z) ArgumentListNode(type_pos);
+  ArgumentListNode* arguments = new (Z) ArgumentListNode(type_pos);
 
   String& method_name = String::Handle(Z);
   if (prefix == NULL) {
     method_name = Library::PrivateCoreLibName(Symbols::ThrowNew()).raw();
   } else {
-    arguments->Add(new(Z) LiteralNode(type_pos, *prefix));
-    method_name = Library::PrivateCoreLibName(
-        Symbols::ThrowNewIfNotLoaded()).raw();
+    arguments->Add(new (Z) LiteralNode(type_pos, *prefix));
+    method_name =
+        Library::PrivateCoreLibName(Symbols::ThrowNewIfNotLoaded()).raw();
   }
   // Location argument.
-  arguments->Add(new(Z) LiteralNode(
-      type_pos, Integer::ZoneHandle(Z, Integer::New(type_pos.value(),
-                                                    Heap::kOld))));
+  arguments->Add(new (Z) LiteralNode(
+      type_pos,
+      Integer::ZoneHandle(Z, Integer::New(type_pos.value(), Heap::kOld))));
   // Src value argument.
-  arguments->Add(new(Z) LiteralNode(type_pos, Object::null_instance()));
+  arguments->Add(new (Z) LiteralNode(type_pos, Object::null_instance()));
   // Dst type argument.
-  arguments->Add(new(Z) LiteralNode(type_pos, type));
+  arguments->Add(new (Z) LiteralNode(type_pos, type));
   // Dst name argument.
-  arguments->Add(new(Z) LiteralNode(type_pos, Symbols::Empty()));
+  arguments->Add(new (Z) LiteralNode(type_pos, Symbols::Empty()));
   // Bound error msg argument.
-  arguments->Add(new(Z) LiteralNode(type_pos, Object::null_instance()));
+  arguments->Add(new (Z) LiteralNode(type_pos, Object::null_instance()));
   return MakeStaticCall(Symbols::TypeError(), method_name, arguments);
 }
 
@@ -10937,31 +10437,31 @@
                                         InvocationMirror::Type im_type,
                                         const Function* func,
                                         const LibraryPrefix* prefix) {
-  ArgumentListNode* arguments = new(Z) ArgumentListNode(call_pos);
+  ArgumentListNode* arguments = new (Z) ArgumentListNode(call_pos);
 
   String& method_name = String::Handle(Z);
   if (prefix == NULL) {
     method_name = Library::PrivateCoreLibName(Symbols::ThrowNew()).raw();
   } else {
-    arguments->Add(new(Z) LiteralNode(call_pos, *prefix));
-    method_name = Library::PrivateCoreLibName(
-        Symbols::ThrowNewIfNotLoaded()).raw();
+    arguments->Add(new (Z) LiteralNode(call_pos, *prefix));
+    method_name =
+        Library::PrivateCoreLibName(Symbols::ThrowNewIfNotLoaded()).raw();
   }
   // Object receiver.
   // If the function is external and dynamic, pass the actual receiver,
   // otherwise, pass a class literal of the unresolved method's owner.
-  if ((func != NULL) && !func->IsNull() &&
-      func->is_external() && !func->is_static()) {
+  if ((func != NULL) && !func->IsNull() && func->is_external() &&
+      !func->is_static()) {
     arguments->Add(LoadReceiver(func->token_pos()));
   } else {
     AbstractType& type = AbstractType::ZoneHandle(Z);
     type ^= Type::New(cls, TypeArguments::Handle(Z), call_pos, Heap::kOld);
-    type ^= ClassFinalizer::FinalizeType(
-        current_class(), type, ClassFinalizer::kCanonicalize);
-    arguments->Add(new(Z) LiteralNode(call_pos, type));
+    type ^= ClassFinalizer::FinalizeType(current_class(), type,
+                                         ClassFinalizer::kCanonicalize);
+    arguments->Add(new (Z) LiteralNode(call_pos, type));
   }
   // String memberName.
-  arguments->Add(new(Z) LiteralNode(
+  arguments->Add(new (Z) LiteralNode(
       call_pos, String::ZoneHandle(Z, Symbols::New(T, function_name))));
   // Smi invocation_type.
   if (cls.IsTopLevel()) {
@@ -10969,23 +10469,23 @@
            im_call == InvocationMirror::kTopLevel);
     im_call = InvocationMirror::kTopLevel;
   }
-  arguments->Add(new(Z) LiteralNode(call_pos, Smi::ZoneHandle(Z,
-      Smi::New(InvocationMirror::EncodeType(im_call, im_type)))));
+  arguments->Add(new (Z) LiteralNode(
+      call_pos, Smi::ZoneHandle(Z, Smi::New(InvocationMirror::EncodeType(
+                                       im_call, im_type)))));
   // List arguments.
   if (function_arguments == NULL) {
-    arguments->Add(new(Z) LiteralNode(call_pos, Object::null_array()));
+    arguments->Add(new (Z) LiteralNode(call_pos, Object::null_array()));
   } else {
-    ArrayNode* array = new(Z) ArrayNode(
-        call_pos,
-        Type::ZoneHandle(Z, Type::ArrayType()),
-        function_arguments->nodes());
+    ArrayNode* array =
+        new (Z) ArrayNode(call_pos, Type::ZoneHandle(Z, Type::ArrayType()),
+                          function_arguments->nodes());
     arguments->Add(array);
   }
   // List argumentNames.
   if (function_arguments == NULL) {
-    arguments->Add(new(Z) LiteralNode(call_pos, Object::null_array()));
+    arguments->Add(new (Z) LiteralNode(call_pos, Object::null_array()));
   } else {
-    arguments->Add(new(Z) LiteralNode(call_pos, function_arguments->names()));
+    arguments->Add(new (Z) LiteralNode(call_pos, function_arguments->names()));
   }
 
   // List existingArgumentNames.
@@ -11017,7 +10517,7 @@
     array = Array::New(1, Heap::kOld);
     array.SetAt(0, String::Handle(Z, function.UserVisibleFormalParameters()));
   }
-  arguments->Add(new(Z) LiteralNode(call_pos, array));
+  arguments->Add(new (Z) LiteralNode(call_pos, array));
 
   return MakeStaticCall(Symbols::NoSuchMethodError(), method_name, arguments);
 }
@@ -11047,13 +10547,13 @@
           op_kind = Token::kISNOT;
         }
         const TokenPosition type_pos = TokenPos();
-        const AbstractType& type = AbstractType::ZoneHandle(Z,
-            ParseType(ClassFinalizer::kCanonicalize));
+        const AbstractType& type = AbstractType::ZoneHandle(
+            Z, ParseType(ClassFinalizer::kCanonicalize));
         if (!type.IsInstantiated() && (FunctionLevel() > 0)) {
           // Make sure that the instantiator is captured.
           CaptureInstantiator();
         }
-        right_operand = new(Z) TypeNode(type_pos, type);
+        right_operand = new (Z) TypeNode(type_pos, type);
         // In production mode, the type may be malformed.
         // In checked mode, the type may be malformed or malbounded.
         if (type.IsMalformedOrMalbounded()) {
@@ -11061,23 +10561,23 @@
           // a type cast even if the tested value is null.
           // We need to evaluate the left operand for potential
           // side effects.
-          LetNode* let = new(Z) LetNode(left_operand->token_pos());
+          LetNode* let = new (Z) LetNode(left_operand->token_pos());
           let->AddNode(left_operand);
           let->AddNode(ThrowTypeError(type_pos, type));
           left_operand = let;
           break;  // Type checks and casts can't be chained.
         }
       }
-      if (Token::IsRelationalOperator(op_kind)
-          || Token::IsTypeTestOperator(op_kind)
-          || Token::IsTypeCastOperator(op_kind)
-          || Token::IsEqualityOperator(op_kind)) {
-        left_operand = new(Z) ComparisonNode(
-            op_pos, op_kind, left_operand, right_operand);
+      if (Token::IsRelationalOperator(op_kind) ||
+          Token::IsTypeTestOperator(op_kind) ||
+          Token::IsTypeCastOperator(op_kind) ||
+          Token::IsEqualityOperator(op_kind)) {
+        left_operand = new (Z)
+            ComparisonNode(op_pos, op_kind, left_operand, right_operand);
         break;  // Equality and relational operators cannot be chained.
       } else {
-        left_operand = OptimizeBinaryOpNode(
-            op_pos, op_kind, left_operand, right_operand);
+        left_operand =
+            OptimizeBinaryOpNode(op_pos, op_kind, left_operand, right_operand);
       }
     }
     current_preced--;
@@ -11089,21 +10589,21 @@
 AstNode* Parser::ParseAwaitableExprList() {
   TRACE_PARSER("ParseAwaitableExprList");
   SequenceNode* preamble = NULL;
-  AstNode* expressions = ParseAwaitableExpr(
-      kAllowConst, kConsumeCascades, &preamble);
+  AstNode* expressions =
+      ParseAwaitableExpr(kAllowConst, kConsumeCascades, &preamble);
   if (preamble != NULL) {
     preamble->Add(expressions);
     expressions = preamble;
   }
   if (CurrentToken() == Token::kCOMMA) {
     // Collect comma-separated expressions in a non scope owning sequence node.
-    SequenceNode* list = new(Z) SequenceNode(TokenPos(), NULL);
+    SequenceNode* list = new (Z) SequenceNode(TokenPos(), NULL);
     list->Add(expressions);
     while (CurrentToken() == Token::kCOMMA) {
       ConsumeToken();
       preamble = NULL;
-      AstNode* expr = ParseAwaitableExpr(
-          kAllowConst, kConsumeCascades, &preamble);
+      AstNode* expr =
+          ParseAwaitableExpr(kAllowConst, kConsumeCascades, &preamble);
       if (preamble != NULL) {
         list->Add(preamble);
       }
@@ -11125,10 +10625,8 @@
                                                const char* s) {
   char name[64];
   OS::SNPrint(name, 64, ":%s%" Pd "", s, token_pos.value());
-  LocalVariable* temp = new(Z) LocalVariable(
-      token_pos,
-      token_pos,
-      String::ZoneHandle(Z, Symbols::New(T, name)),
+  LocalVariable* temp = new (Z) LocalVariable(
+      token_pos, token_pos, String::ZoneHandle(Z, Symbols::New(T, name)),
       Object::dynamic_type());
   temp->set_is_final();
   current_block_->scope->AddVariable(temp);
@@ -11148,9 +10646,9 @@
       double left_double = Double::Cast(lhs_literal->literal()).value();
       double right_double = Double::Cast(rhs_literal->literal()).value();
       if (binary_op == Token::kDIV) {
-        const Double& dbl_obj = Double::ZoneHandle(Z,
-            Double::NewCanonical((left_double / right_double)));
-        return new(Z) LiteralNode(op_pos, dbl_obj);
+        const Double& dbl_obj = Double::ZoneHandle(
+            Z, Double::NewCanonical((left_double / right_double)));
+        return new (Z) LiteralNode(op_pos, dbl_obj);
       }
     }
   }
@@ -11166,33 +10664,28 @@
   if (binary_op == Token::kIFNULL) {
     // Handle a ?? b.
     if ((lhs->EvalConstExpr() != NULL) && (rhs->EvalConstExpr() != NULL)) {
-      Instance& expr_value = Instance::ZoneHandle(Z,
-          EvaluateConstExpr(lhs->token_pos(), lhs).raw());
+      Instance& expr_value = Instance::ZoneHandle(
+          Z, EvaluateConstExpr(lhs->token_pos(), lhs).raw());
       if (expr_value.IsNull()) {
         expr_value = EvaluateConstExpr(rhs->token_pos(), rhs).raw();
       }
-      return new(Z) LiteralNode(op_pos, expr_value);
+      return new (Z) LiteralNode(op_pos, expr_value);
     }
 
-    LetNode* result = new(Z) LetNode(op_pos);
+    LetNode* result = new (Z) LetNode(op_pos);
     LocalVariable* left_temp = result->AddInitializer(lhs);
     left_temp->set_is_final();
     const TokenPosition no_pos = TokenPosition::kNoSource;
     LiteralNode* null_operand =
-        new(Z) LiteralNode(no_pos, Object::null_instance());
-    LoadLocalNode* load_left_temp = new(Z) LoadLocalNode(no_pos, left_temp);
-    ComparisonNode* null_compare =
-        new(Z) ComparisonNode(no_pos,
-                              Token::kNE_STRICT,
-                              load_left_temp,
-                              null_operand);
-    result->AddNode(new(Z) ConditionalExprNode(op_pos,
-                                               null_compare,
-                                               load_left_temp,
-                                               rhs));
+        new (Z) LiteralNode(no_pos, Object::null_instance());
+    LoadLocalNode* load_left_temp = new (Z) LoadLocalNode(no_pos, left_temp);
+    ComparisonNode* null_compare = new (Z)
+        ComparisonNode(no_pos, Token::kNE_STRICT, load_left_temp, null_operand);
+    result->AddNode(
+        new (Z) ConditionalExprNode(op_pos, null_compare, load_left_temp, rhs));
     return result;
   }
-  return new(Z) BinaryOpNode(op_pos, binary_op, lhs, rhs);
+  return new (Z) BinaryOpNode(op_pos, binary_op, lhs, rhs);
 }
 
 
@@ -11205,29 +10698,29 @@
     case Token::kASSIGN:
       return rhs;
     case Token::kASSIGN_ADD:
-      return new(Z) BinaryOpNode(op_pos, Token::kADD, lhs, rhs);
+      return new (Z) BinaryOpNode(op_pos, Token::kADD, lhs, rhs);
     case Token::kASSIGN_SUB:
-      return new(Z) BinaryOpNode(op_pos, Token::kSUB, lhs, rhs);
+      return new (Z) BinaryOpNode(op_pos, Token::kSUB, lhs, rhs);
     case Token::kASSIGN_MUL:
-      return new(Z) BinaryOpNode(op_pos, Token::kMUL, lhs, rhs);
+      return new (Z) BinaryOpNode(op_pos, Token::kMUL, lhs, rhs);
     case Token::kASSIGN_TRUNCDIV:
-      return new(Z) BinaryOpNode(op_pos, Token::kTRUNCDIV, lhs, rhs);
+      return new (Z) BinaryOpNode(op_pos, Token::kTRUNCDIV, lhs, rhs);
     case Token::kASSIGN_DIV:
-      return new(Z) BinaryOpNode(op_pos, Token::kDIV, lhs, rhs);
+      return new (Z) BinaryOpNode(op_pos, Token::kDIV, lhs, rhs);
     case Token::kASSIGN_MOD:
-      return new(Z) BinaryOpNode(op_pos, Token::kMOD, lhs, rhs);
+      return new (Z) BinaryOpNode(op_pos, Token::kMOD, lhs, rhs);
     case Token::kASSIGN_SHR:
-      return new(Z) BinaryOpNode(op_pos, Token::kSHR, lhs, rhs);
+      return new (Z) BinaryOpNode(op_pos, Token::kSHR, lhs, rhs);
     case Token::kASSIGN_SHL:
-      return new(Z) BinaryOpNode(op_pos, Token::kSHL, lhs, rhs);
+      return new (Z) BinaryOpNode(op_pos, Token::kSHL, lhs, rhs);
     case Token::kASSIGN_OR:
-      return new(Z) BinaryOpNode(op_pos, Token::kBIT_OR, lhs, rhs);
+      return new (Z) BinaryOpNode(op_pos, Token::kBIT_OR, lhs, rhs);
     case Token::kASSIGN_AND:
-      return new(Z) BinaryOpNode(op_pos, Token::kBIT_AND, lhs, rhs);
+      return new (Z) BinaryOpNode(op_pos, Token::kBIT_AND, lhs, rhs);
     case Token::kASSIGN_XOR:
-      return new(Z) BinaryOpNode(op_pos, Token::kBIT_XOR, lhs, rhs);
+      return new (Z) BinaryOpNode(op_pos, Token::kBIT_XOR, lhs, rhs);
     case Token::kASSIGN_COND:
-      return new(Z) BinaryOpNode(op_pos, Token::kIFNULL, lhs, rhs);
+      return new (Z) BinaryOpNode(op_pos, Token::kIFNULL, lhs, rhs);
     default:
       ReportError(op_pos,
                   "internal error: ExpandAssignableOp '%s' unimplemented",
@@ -11247,31 +10740,28 @@
   if (expr->EvalConstExpr() == NULL) {
     ReportError(expr_pos, "expression is not a valid compile-time constant");
   }
-  return new(Z) LiteralNode(expr_pos, EvaluateConstExpr(expr_pos, expr));
+  return new (Z) LiteralNode(expr_pos, EvaluateConstExpr(expr_pos, expr));
 }
 
 
 LetNode* Parser::PrepareCompoundAssignmentNodes(AstNode** expr) {
   AstNode* node = *expr;
   TokenPosition token_pos = node->token_pos();
-  LetNode* result = new(Z) LetNode(token_pos);
+  LetNode* result = new (Z) LetNode(token_pos);
   if (node->IsLoadIndexedNode()) {
     LoadIndexedNode* load_indexed = node->AsLoadIndexedNode();
     AstNode* array = load_indexed->array();
     AstNode* index = load_indexed->index_expr();
     if (!IsSimpleLocalOrLiteralNode(load_indexed->array())) {
       LocalVariable* t0 = result->AddInitializer(load_indexed->array());
-      array = new(Z) LoadLocalNode(token_pos, t0);
+      array = new (Z) LoadLocalNode(token_pos, t0);
     }
     if (!IsSimpleLocalOrLiteralNode(load_indexed->index_expr())) {
-      LocalVariable* t1 = result->AddInitializer(
-          load_indexed->index_expr());
-      index = new(Z) LoadLocalNode(token_pos, t1);
+      LocalVariable* t1 = result->AddInitializer(load_indexed->index_expr());
+      index = new (Z) LoadLocalNode(token_pos, t1);
     }
-    *expr = new(Z) LoadIndexedNode(token_pos,
-                                   array,
-                                   index,
-                                   load_indexed->super_class());
+    *expr = new (Z)
+        LoadIndexedNode(token_pos, array, index, load_indexed->super_class());
     return result;
   }
   if (node->IsInstanceGetterNode()) {
@@ -11279,9 +10769,9 @@
     AstNode* receiver = getter->receiver();
     if (!IsSimpleLocalOrLiteralNode(getter->receiver())) {
       LocalVariable* t0 = result->AddInitializer(getter->receiver());
-      receiver = new(Z) LoadLocalNode(token_pos, t0);
+      receiver = new (Z) LoadLocalNode(token_pos, t0);
     }
-    *expr = new(Z) InstanceGetterNode(
+    *expr = new (Z) InstanceGetterNode(
         token_pos, receiver, getter->field_name(), getter->is_conditional());
     return result;
   }
@@ -11324,28 +10814,25 @@
       name = Symbols::New(T, original->AsTypeNode()->TypeName());
     } else if (original->IsLoadStaticFieldNode()) {
       name = original->AsLoadStaticFieldNode()->field().name();
-      target_cls = &Class::Handle(Z,
-          original->AsLoadStaticFieldNode()->field().Owner());
+      target_cls =
+          &Class::Handle(Z, original->AsLoadStaticFieldNode()->field().Owner());
     } else if ((left_ident != NULL) &&
-               (original->IsLiteralNode() ||
-                original->IsLoadLocalNode())) {
+               (original->IsLiteralNode() || original->IsLoadLocalNode())) {
       name = left_ident->raw();
     }
     if (name.IsNull()) {
       ReportError(left_pos, "expression is not assignable");
     }
     ArgumentListNode* error_arguments =
-        new(Z) ArgumentListNode(rhs->token_pos());
+        new (Z) ArgumentListNode(rhs->token_pos());
     error_arguments->Add(rhs);
-    result = ThrowNoSuchMethodError(
-         original->token_pos(),
-         *target_cls,
-         String::Handle(Z, Field::SetterName(name)),
-         error_arguments,
-         InvocationMirror::kStatic,
-         original->IsLoadLocalNode() ?
-         InvocationMirror::kLocalVar : InvocationMirror::kSetter,
-         NULL);  // No existing function.
+    result = ThrowNoSuchMethodError(original->token_pos(), *target_cls,
+                                    String::Handle(Z, Field::SetterName(name)),
+                                    error_arguments, InvocationMirror::kStatic,
+                                    original->IsLoadLocalNode()
+                                        ? InvocationMirror::kLocalVar
+                                        : InvocationMirror::kSetter,
+                                    NULL);  // No existing function.
   }
   // The compound assignment operator a ??= b is different from other
   // a op= b assignments. If a is non-null, the assignment to a must be
@@ -11353,19 +10840,13 @@
   // normally: a op= b ==> a = a op b
   // however:  a ??= b ==> a ?? (a = b)
   // Therefore, we need to transform a = (a ?? b) into a ?? (a = b)
-  if (is_compound &&
-      rhs->IsBinaryOpNode() &&
+  if (is_compound && rhs->IsBinaryOpNode() &&
       (rhs->AsBinaryOpNode()->kind() == Token::kIFNULL)) {
     BinaryOpNode* ifnull = rhs->AsBinaryOpNode();
     AstNode* modified_assign =
-        CreateAssignmentNode(original,
-                             ifnull->right(),
-                             left_ident,
-                             left_pos);
-    result = OptimizeBinaryOpNode(ifnull->token_pos(),
-                                  ifnull->kind(),
-                                  ifnull->left(),
-                                  modified_assign);
+        CreateAssignmentNode(original, ifnull->right(), left_ident, left_pos);
+    result = OptimizeBinaryOpNode(ifnull->token_pos(), ifnull->kind(),
+                                  ifnull->left(), modified_assign);
   }
   return result;
 }
@@ -11373,12 +10854,12 @@
 
 AstNode* Parser::ParseCascades(AstNode* expr) {
   TokenPosition cascade_pos = TokenPos();
-  LetNode* cascade = new(Z) LetNode(cascade_pos);
+  LetNode* cascade = new (Z) LetNode(cascade_pos);
   LocalVariable* cascade_receiver_var = cascade->AddInitializer(expr);
   while (CurrentToken() == Token::kCASCADE) {
     cascade_pos = TokenPos();
     LoadLocalNode* load_cascade_receiver =
-        new(Z) LoadLocalNode(cascade_pos, cascade_receiver_var);
+        new (Z) LoadLocalNode(cascade_pos, cascade_receiver_var);
     if (Token::IsIdentifier(LookaheadToken(1))) {
       // Replace .. with . for ParseSelectors().
       token_kind_ = Token::kPERIOD;
@@ -11423,7 +10904,7 @@
   }
   // The result is an expression with the (side effects of the) cascade
   // sequence followed by the (value of the) receiver temp variable load.
-  cascade->AddNode(new(Z) LoadLocalNode(cascade_pos, cascade_receiver_var));
+  cascade->AddNode(new (Z) LoadLocalNode(cascade_pos, cascade_receiver_var));
   return cascade;
 }
 
@@ -11436,9 +10917,8 @@
         !expr->AsLoadStaticFieldNode()->is_deferred_reference()) {
       ASSERT(field.StaticValue() != Object::sentinel().raw());
       ASSERT(field.StaticValue() != Object::transition_sentinel().raw());
-      return new(zone) LiteralNode(
-          expr->token_pos(),
-          Instance::ZoneHandle(zone, field.StaticValue()));
+      return new (zone) LiteralNode(
+          expr->token_pos(), Instance::ZoneHandle(zone, field.StaticValue()));
     }
   }
   return expr;
@@ -11489,7 +10969,7 @@
       ReportError("expression expected after throw");
     }
     AstNode* expr = ParseExpr(require_compiletime_const, consume_cascades);
-    return new(Z) ThrowNode(expr_pos, expr, NULL);
+    return new (Z) ThrowNode(expr_pos, expr, NULL);
   }
 
   if (require_compiletime_const) {
@@ -11498,7 +10978,7 @@
     Instance& existing_const = Instance::ZoneHandle(Z);
     if (GetCachedConstant(expr_pos, &existing_const)) {
       SkipConditionalExpr();
-      return new(Z) LiteralNode(expr_pos, existing_const);
+      return new (Z) LiteralNode(expr_pos, existing_const);
     }
   }
 
@@ -11568,7 +11048,7 @@
     AstNode* expr1 = ParseExpr(kAllowConst, kNoCascades);
     ExpectToken(Token::kCOLON);
     AstNode* expr2 = ParseExpr(kAllowConst, kNoCascades);
-    expr = new(Z) ConditionalExprNode(expr_pos, expr, expr1, expr2);
+    expr = new (Z) ConditionalExprNode(expr_pos, expr, expr1, expr2);
   }
   return expr;
 }
@@ -11593,17 +11073,11 @@
     LocalVariable* async_saved_try_ctx;
     LocalVariable* outer_saved_try_ctx;
     LocalVariable* outer_async_saved_try_ctx;
-    CheckAsyncOpInTryBlock(&saved_try_ctx,
-                           &async_saved_try_ctx,
-                           &outer_saved_try_ctx,
-                           &outer_async_saved_try_ctx);
-    expr = new (Z) AwaitNode(op_pos,
-                             ParseUnaryExpr(),
-                             saved_try_ctx,
-                             async_saved_try_ctx,
-                             outer_saved_try_ctx,
-                             outer_async_saved_try_ctx,
-                             current_block_->scope);
+    CheckAsyncOpInTryBlock(&saved_try_ctx, &async_saved_try_ctx,
+                           &outer_saved_try_ctx, &outer_async_saved_try_ctx);
+    expr = new (Z) AwaitNode(op_pos, ParseUnaryExpr(), saved_try_ctx,
+                             async_saved_try_ctx, outer_saved_try_ctx,
+                             outer_async_saved_try_ctx, current_block_->scope);
   } else if (IsPrefixOperator(CurrentToken())) {
     Token::Kind unary_op = CurrentToken();
     if (unary_op == Token::kSUB) {
@@ -11630,11 +11104,9 @@
     LetNode* let_expr = PrepareCompoundAssignmentNodes(&expr);
     Token::Kind binary_op =
         (incr_op == Token::kINCR) ? Token::kADD : Token::kSUB;
-    BinaryOpNode* add = new(Z) BinaryOpNode(
-        op_pos,
-        binary_op,
-        expr,
-        new(Z) LiteralNode(op_pos, Smi::ZoneHandle(Z, Smi::New(1))));
+    BinaryOpNode* add = new (Z) BinaryOpNode(
+        op_pos, binary_op, expr,
+        new (Z) LiteralNode(op_pos, Smi::ZoneHandle(Z, Smi::New(1))));
     AstNode* store =
         CreateAssignmentNode(expr, add, expr_ident, expr_pos, true);
     ASSERT(store != NULL);
@@ -11648,14 +11120,14 @@
 
 
 ArgumentListNode* Parser::ParseActualParameters(
-                              ArgumentListNode* implicit_arguments,
-                              bool require_const) {
+    ArgumentListNode* implicit_arguments,
+    bool require_const) {
   TRACE_PARSER("ParseActualParameters");
   ASSERT(CurrentToken() == Token::kLPAREN);
   const bool saved_mode = SetAllowFunctionLiterals(true);
   ArgumentListNode* arguments;
   if (implicit_arguments == NULL) {
-    arguments = new(Z) ArgumentListNode(TokenPos());
+    arguments = new (Z) ArgumentListNode(TokenPos());
   } else {
     arguments = implicit_arguments;
   }
@@ -11712,11 +11184,9 @@
   ASSERT(CurrentToken() == Token::kLPAREN);
   ArgumentListNode* arguments = ParseActualParameters(NULL, kAllowConst);
   const int num_arguments = arguments->length();
-  const Function& func = Function::ZoneHandle(Z,
-      Resolver::ResolveStatic(cls,
-                              func_name,
-                              num_arguments,
-                              arguments->names()));
+  const Function& func = Function::ZoneHandle(
+      Z, Resolver::ResolveStatic(cls, func_name, num_arguments,
+                                 arguments->names()));
   if (func.IsNull()) {
     // Check if there is a static field of the same name, it could be a closure
     // and so we try and invoke the closure.
@@ -11728,17 +11198,12 @@
       const String& getter_name =
           String::ZoneHandle(Z, Field::GetterName(func_name));
       const int kNumArguments = 0;  // no arguments.
-      func = Resolver::ResolveStatic(cls,
-                                     getter_name,
-                                     kNumArguments,
+      func = Resolver::ResolveStatic(cls, getter_name, kNumArguments,
                                      Object::empty_array());
       if (!func.IsNull()) {
         ASSERT(func.kind() != RawFunction::kImplicitStaticFinalGetter);
-        closure = new(Z) StaticGetterNode(
-            call_pos,
-            NULL,
-            Class::ZoneHandle(Z, cls.raw()),
-            func_name);
+        closure = new (Z) StaticGetterNode(
+            call_pos, NULL, Class::ZoneHandle(Z, cls.raw()), func_name);
         return BuildClosureCall(call_pos, closure, arguments);
       }
     } else {
@@ -11746,16 +11211,12 @@
       return BuildClosureCall(call_pos, closure, arguments);
     }
     // Could not resolve static method: throw a NoSuchMethodError.
-    return ThrowNoSuchMethodError(ident_pos,
-                                  cls,
-                                  func_name,
-                                  arguments,
+    return ThrowNoSuchMethodError(ident_pos, cls, func_name, arguments,
                                   InvocationMirror::kStatic,
                                   InvocationMirror::kMethod,
                                   NULL);  // No existing function.
-  } else if (cls.IsTopLevel() &&
-      (cls.library() == Library::CoreLibrary()) &&
-      (func.name() == Symbols::Identical().raw())) {
+  } else if (cls.IsTopLevel() && (cls.library() == Library::CoreLibrary()) &&
+             (func.name() == Symbols::Identical().raw())) {
     // This is the predefined toplevel function identical(a,b).
     // Create a comparison node instead of a static call to the function.
     ASSERT(num_arguments == 2);
@@ -11771,20 +11232,18 @@
       AstNode* arg1 = arguments->NodeAt(1);
       const Instance* val1 = arg1->EvalConstExpr();
       if ((val1 != NULL) && (val1->IsString())) {
-        arguments->SetNodeAt(0,
-            new(Z) LiteralNode(arg0->token_pos(),
-                               EvaluateConstExpr(arg0->token_pos(), arg0)));
-        arguments->SetNodeAt(1,
-            new(Z) LiteralNode(arg1->token_pos(),
-                               EvaluateConstExpr(arg1->token_pos(), arg1)));
+        arguments->SetNodeAt(
+            0, new (Z) LiteralNode(arg0->token_pos(),
+                                   EvaluateConstExpr(arg0->token_pos(), arg0)));
+        arguments->SetNodeAt(
+            1, new (Z) LiteralNode(arg1->token_pos(),
+                                   EvaluateConstExpr(arg1->token_pos(), arg1)));
       }
     }
-    return new(Z) ComparisonNode(ident_pos,
-                                 Token::kEQ_STRICT,
-                                 arguments->NodeAt(0),
-                                 arguments->NodeAt(1));
+    return new (Z) ComparisonNode(ident_pos, Token::kEQ_STRICT,
+                                  arguments->NodeAt(0), arguments->NodeAt(1));
   }
-  return new(Z) StaticCallNode(ident_pos, func, arguments);
+  return new (Z) StaticCallNode(ident_pos, func, arguments);
 }
 
 
@@ -11795,11 +11254,8 @@
   TRACE_PARSER("ParseInstanceCall");
   CheckToken(Token::kLPAREN);
   ArgumentListNode* arguments = ParseActualParameters(NULL, kAllowConst);
-  return new(Z) InstanceCallNode(ident_pos,
-                                 receiver,
-                                 func_name,
-                                 arguments,
-                                 is_conditional);
+  return new (Z) InstanceCallNode(ident_pos, receiver, func_name, arguments,
+                                  is_conditional);
 }
 
 
@@ -11828,18 +11284,17 @@
   const String& field_name = String::ZoneHandle(Z, field.name());
   const String& getter_name =
       String::Handle(Z, Field::GetterSymbol(field_name));
-  const Function& getter = Function::Handle(Z,
-      field_owner.LookupStaticFunction(getter_name));
+  const Function& getter =
+      Function::Handle(Z, field_owner.LookupStaticFunction(getter_name));
   // Never load field directly if there is a getter (deterministic AST).
   if (getter.IsNull() || field.is_const()) {
-    return new(Z) LoadStaticFieldNode(
-        ident_pos, Field::ZoneHandle(Z, field.raw()));
+    return new (Z)
+        LoadStaticFieldNode(ident_pos, Field::ZoneHandle(Z, field.raw()));
   } else {
     ASSERT(getter.kind() == RawFunction::kImplicitStaticFinalGetter);
-    return new(Z) StaticGetterNode(ident_pos,
-                                   NULL,  // Receiver.
-                                   field_owner,
-                                   field_name);
+    return new (Z) StaticGetterNode(ident_pos,
+                                    NULL,  // Receiver.
+                                    field_owner, field_name);
   }
 }
 
@@ -11866,14 +11321,12 @@
         // Create a getter call, which may later be turned into
         // a setter call, or else the backend will generate
         // a throw NoSuchMethodError().
-        access = new(Z) StaticGetterNode(ident_pos,
-                                         NULL,
-                                         Class::ZoneHandle(Z, cls.raw()),
-                                         field_name);
+        access = new (Z) StaticGetterNode(
+            ident_pos, NULL, Class::ZoneHandle(Z, cls.raw()), field_name);
       }
     } else {
       ASSERT(func.kind() != RawFunction::kImplicitStaticFinalGetter);
-      access = new(Z) StaticGetterNode(
+      access = new (Z) StaticGetterNode(
           ident_pos, NULL, Class::ZoneHandle(Z, cls.raw()), field_name);
     }
   } else {
@@ -11900,11 +11353,10 @@
         String::Cast(Object::ZoneHandle(primary->primary().raw()));
     if (current_function().is_static() ||
         current_function().IsInFactoryScope()) {
-      StaticGetterNode* getter = new(Z) StaticGetterNode(
-          primary->token_pos(),
-          NULL,  // No receiver.
-          Class::ZoneHandle(Z, current_class().raw()),
-          name);
+      StaticGetterNode* getter = new (Z)
+          StaticGetterNode(primary->token_pos(),
+                           NULL,  // No receiver.
+                           Class::ZoneHandle(Z, current_class().raw()), name);
       getter->set_is_deferred(primary->is_deferred_reference());
       return getter;
     } else {
@@ -11964,7 +11416,7 @@
     type_parameter ^= ClassFinalizer::FinalizeType(
         current_class(), type_parameter, ClassFinalizer::kCanonicalize);
     ASSERT(!type_parameter.IsMalformed());
-    return new(Z) TypeNode(primary_pos, type_parameter);
+    return new (Z) TypeNode(primary_pos, type_parameter);
   } else {
     ASSERT(type_parameter.IsFunctionTypeParameter());
     // TODO(regis): Verify that CaptureFunctionInstantiator() was already
@@ -11972,7 +11424,7 @@
     // TODO(regis): Finalize type parameter and return as type node.
     // For now, map to dynamic type.
     Type& type = Type::ZoneHandle(Z, Type::DynamicType());
-    return new(Z) TypeNode(primary_pos, type);
+    return new (Z) TypeNode(primary_pos, type);
   }
 }
 
@@ -12036,10 +11488,8 @@
         }
         if (cls.IsNull()) {
           // Instance field access.
-          selector = new(Z) InstanceGetterNode(ident_pos,
-                                               left,
-                                               *ident,
-                                               is_conditional);
+          selector = new (Z)
+              InstanceGetterNode(ident_pos, left, *ident, is_conditional);
         } else {
           // Static field access.
           selector = GenerateStaticFieldAccess(cls, *ident, ident_pos);
@@ -12070,22 +11520,22 @@
           array = LoadClosure(primary_node);
         } else if (primary_node->primary().IsClass()) {
           const Class& type_class = Class::Cast(primary_node->primary());
-          AbstractType& type = Type::ZoneHandle(Z,
-              Type::New(type_class, TypeArguments::Handle(Z),
-                        primary_pos, Heap::kOld));
-          type ^= ClassFinalizer::FinalizeType(
-              current_class(), type, ClassFinalizer::kCanonicalize);
+          AbstractType& type = Type::ZoneHandle(
+              Z, Type::New(type_class, TypeArguments::Handle(Z), primary_pos,
+                           Heap::kOld));
+          type ^= ClassFinalizer::FinalizeType(current_class(), type,
+                                               ClassFinalizer::kCanonicalize);
           // Type may be malbounded, but not malformed.
           ASSERT(!type.IsMalformed());
-          array = new(Z) TypeNode(primary_pos, type);
+          array = new (Z) TypeNode(primary_pos, type);
         } else if (primary_node->primary().IsTypeParameter()) {
           array = LoadTypeParameter(primary_node);
         } else {
           UNREACHABLE();  // Internal parser error.
         }
       }
-      selector =  new(Z) LoadIndexedNode(
-          bracket_pos, array, index, Class::ZoneHandle(Z));
+      selector = new (Z)
+          LoadIndexedNode(bracket_pos, array, index, Class::ZoneHandle(Z));
     } else if (IsArgumentPart()) {
       if (CurrentToken() == Token::kLT) {
         // Type arguments.
@@ -12114,10 +11564,9 @@
                           "from static function",
                           func_name.ToCString());
             }
-            selector = ParseInstanceCall(LoadReceiver(primary_pos),
-                                         func_name,
-                                         primary_pos,
-                                         false /* is_conditional */);
+            selector =
+                ParseInstanceCall(LoadReceiver(primary_pos), func_name,
+                                  primary_pos, false /* is_conditional */);
           }
         } else if (primary_node->primary().IsString()) {
           // Primary is an unresolved name.
@@ -12131,10 +11580,9 @@
             selector = ParseStaticCall(current_class(), name, primary_pos);
           } else {
             // Treat as call to unresolved (instance) method.
-            selector = ParseInstanceCall(LoadReceiver(primary_pos),
-                                         name,
-                                         primary_pos,
-                                         false /* is_conditional */);
+            selector =
+                ParseInstanceCall(LoadReceiver(primary_pos), name, primary_pos,
+                                  false /* is_conditional */);
           }
         } else if (primary_node->primary().IsTypeParameter()) {
           TypeParameter& type_parameter = TypeParameter::ZoneHandle(Z);
@@ -12142,17 +11590,16 @@
           const String& name = String::ZoneHandle(Z, type_parameter.name());
           if (type_parameter.IsClassTypeParameter()) {
             if (ParsingStaticMember()) {
-                // Treat as this.T(), because T is in scope.
-                ReportError(primary_pos,
-                            "cannot access type parameter '%s' "
-                            "from static function",
-                            name.ToCString());
+              // Treat as this.T(), because T is in scope.
+              ReportError(primary_pos,
+                          "cannot access type parameter '%s' "
+                          "from static function",
+                          name.ToCString());
             } else {
               // Treat as call to unresolved (instance) method.
-              selector = ParseInstanceCall(LoadReceiver(primary_pos),
-                                           name,
-                                           primary_pos,
-                                           false /* is_conditional */);
+              selector =
+                  ParseInstanceCall(LoadReceiver(primary_pos), name,
+                                    primary_pos, false /* is_conditional */);
             }
           } else {
             ASSERT(type_parameter.IsFunctionTypeParameter());
@@ -12163,13 +11610,14 @@
           }
         } else if (primary_node->primary().IsClass()) {
           const Class& type_class = Class::Cast(primary_node->primary());
-          AbstractType& type = Type::ZoneHandle(Z, Type::New(
-              type_class, TypeArguments::Handle(Z), primary_pos, Heap::kOld));
-          type ^= ClassFinalizer::FinalizeType(
-              current_class(), type, ClassFinalizer::kCanonicalize);
+          AbstractType& type = Type::ZoneHandle(
+              Z, Type::New(type_class, TypeArguments::Handle(Z), primary_pos,
+                           Heap::kOld));
+          type ^= ClassFinalizer::FinalizeType(current_class(), type,
+                                               ClassFinalizer::kCanonicalize);
           // Type may be malbounded, but not malformed.
           ASSERT(!type.IsMalformed());
-          selector = new(Z) TypeNode(primary_pos, type);
+          selector = new (Z) TypeNode(primary_pos, type);
         } else {
           UNREACHABLE();  // Internal parser error.
         }
@@ -12189,13 +11637,14 @@
           left = LoadClosure(primary_node);
         } else if (primary_node->primary().IsClass()) {
           const Class& type_class = Class::Cast(primary_node->primary());
-          AbstractType& type = Type::ZoneHandle(Z, Type::New(
-              type_class, TypeArguments::Handle(Z), primary_pos, Heap::kOld));
-          type = ClassFinalizer::FinalizeType(
-              current_class(), type, ClassFinalizer::kCanonicalize);
+          AbstractType& type = Type::ZoneHandle(
+              Z, Type::New(type_class, TypeArguments::Handle(Z), primary_pos,
+                           Heap::kOld));
+          type = ClassFinalizer::FinalizeType(current_class(), type,
+                                              ClassFinalizer::kCanonicalize);
           // Type may be malbounded, but not malformed.
           ASSERT(!type.IsMalformed());
-          left = new(Z) TypeNode(primary_pos, type);
+          left = new (Z) TypeNode(primary_pos, type);
         } else if (primary_node->primary().IsTypeParameter()) {
           left = LoadTypeParameter(primary_node);
         } else if (primary_node->IsSuper()) {
@@ -12217,6 +11666,11 @@
 
 // Closurization e#m of getter, setter, method or operator.
 AstNode* Parser::ParseClosurization(AstNode* primary) {
+  if (FLAG_warn_new_tearoff_syntax) {
+    ReportWarning(
+        "Tear-offs using the x#id syntax is a deprecated feature,"
+        "it will not be supported in the next release");
+  }
   ExpectToken(Token::kHASH);
   TokenPosition property_pos = TokenPos();
   bool is_setter_name = false;
@@ -12281,22 +11735,19 @@
       const Field& field = Field::Cast(obj);
       if (is_setter_name && !field.is_final()) {
         Instance& setter_closure = Instance::ZoneHandle(field.SetterClosure());
-        return new(Z) LiteralNode(property_pos, setter_closure);
+        return new (Z) LiteralNode(property_pos, setter_closure);
       }
       if (!is_setter_name) {
         Instance& getter_closure = Instance::ZoneHandle(field.GetterClosure());
-        return new(Z) LiteralNode(property_pos, getter_closure);
+        return new (Z) LiteralNode(property_pos, getter_closure);
       }
     }
-    return ThrowNoSuchMethodError(property_pos,
-                                  current_class(),
-                                  extractor_name,
-                                  NULL,  // No arguments.
-                                  InvocationMirror::kTopLevel,
-                                  is_setter_name
-                                      ? InvocationMirror::kSetter
-                                      : InvocationMirror::kMethod,
-                                  NULL);  // No existing function.
+    return ThrowNoSuchMethodError(
+        property_pos, current_class(), extractor_name,
+        NULL,  // No arguments.
+        InvocationMirror::kTopLevel,
+        is_setter_name ? InvocationMirror::kSetter : InvocationMirror::kMethod,
+        NULL);  // No existing function.
   }
 
   // Handle closurization of static properties of classes, C#n.
@@ -12315,13 +11766,13 @@
           // Note: the created closure is cached after it's created
           // once. If eager compilation is desired, the compiler can
           // be invoked here. The same applies for getters below.
-          return new(Z) LiteralNode(property_pos, setter_closure);
+          return new (Z) LiteralNode(property_pos, setter_closure);
         }
       } else {
         const Instance& getter_closure =
             Instance::ZoneHandle(Z, field.GetterClosure());
         ASSERT(getter_closure.IsClosure());
-        return new(Z) LiteralNode(property_pos, getter_closure);
+        return new (Z) LiteralNode(property_pos, getter_closure);
       }
     } else {
       Function& func = Function::Handle(Z);
@@ -12340,15 +11791,12 @@
         return CreateImplicitClosureNode(func, property_pos, NULL);
       }
     }
-    return ThrowNoSuchMethodError(property_pos,
-                                  cls,
-                                  extractor_name,
-                                  NULL,  // No arguments.
-                                  InvocationMirror::kStatic,
-                                  is_setter_name
-                                      ? InvocationMirror::kSetter
-                                      : InvocationMirror::kMethod,
-                                  NULL);  // No existing function.
+    return ThrowNoSuchMethodError(
+        property_pos, cls, extractor_name,
+        NULL,  // No arguments.
+        InvocationMirror::kStatic,
+        is_setter_name ? InvocationMirror::kSetter : InvocationMirror::kMethod,
+        NULL);  // No existing function.
   }
 
   // Closurization of instance getter, setter, method or operator.
@@ -12359,7 +11807,7 @@
   }
   pieces.Add(extractor_name);
   extractor_name = Symbols::FromConcatAll(T, pieces);
-  return new(Z) InstanceGetterNode(property_pos, primary, extractor_name);
+  return new (Z) InstanceGetterNode(property_pos, primary, extractor_name);
 }
 
 
@@ -12388,18 +11836,16 @@
     LocalVariable* temp = let_expr->AddInitializer(expr);
     Token::Kind binary_op =
         (incr_op == Token::kINCR) ? Token::kADD : Token::kSUB;
-    BinaryOpNode* add = new(Z) BinaryOpNode(
-        op_pos,
-        binary_op,
-        new(Z) LoadLocalNode(op_pos, temp),
-        new(Z) LiteralNode(op_pos, Smi::ZoneHandle(Z, Smi::New(1))));
+    BinaryOpNode* add = new (Z) BinaryOpNode(
+        op_pos, binary_op, new (Z) LoadLocalNode(op_pos, temp),
+        new (Z) LiteralNode(op_pos, Smi::ZoneHandle(Z, Smi::New(1))));
     AstNode* store =
         CreateAssignmentNode(expr, add, expr_ident, expr_pos, true);
     ASSERT(store != NULL);
     // The result is a pair of the (side effects of the) store followed by
     // the (value of the) initial value temp variable load.
     let_expr->AddNode(store);
-    let_expr->AddNode(new(Z) LoadLocalNode(op_pos, temp));
+    let_expr->AddNode(new (Z) LoadLocalNode(op_pos, temp));
     return let_expr;
   }
   return expr;
@@ -12429,9 +11875,9 @@
       // First check if the type is a function type parameter.
       if (!innermost_function().IsNull()) {
         // TODO(regis): Shortcut this lookup if no generic functions in scope.
-        TypeParameter& type_parameter = TypeParameter::ZoneHandle(Z,
-            innermost_function().LookupTypeParameter(unresolved_class_name,
-                                                     NULL));
+        TypeParameter& type_parameter = TypeParameter::ZoneHandle(
+            Z, innermost_function().LookupTypeParameter(unresolved_class_name,
+                                                        NULL));
         if (!type_parameter.IsNull()) {
           // TODO(regis): Check for absence of type arguments.
           // For now, resolve the function type parameter to dynamic.
@@ -12440,16 +11886,15 @@
         }
       }
       // Then check if the type is a class type parameter.
-      const TypeParameter& type_parameter = TypeParameter::Handle(Z,
-          current_class().LookupTypeParameter(unresolved_class_name));
+      const TypeParameter& type_parameter = TypeParameter::Handle(
+          Z, current_class().LookupTypeParameter(unresolved_class_name));
       if (!type_parameter.IsNull()) {
         // A type parameter is considered to be a malformed type when
         // referenced by a static member.
         if (ParsingStaticMember()) {
           *type = ClassFinalizer::NewFinalizedMalformedType(
               Error::Handle(Z),  // No previous error.
-              script_,
-              type->token_pos(),
+              script_, type->token_pos(),
               "type parameter '%s' cannot be referenced "
               "from static member",
               String::Handle(Z, type_parameter.name()).ToCString());
@@ -12460,8 +11905,7 @@
         if (type->arguments() != TypeArguments::null()) {
           *type = ClassFinalizer::NewFinalizedMalformedType(
               Error::Handle(Z),  // No previous error.
-              script_,
-              type_parameter.token_pos(),
+              script_, type_parameter.token_pos(),
               "type parameter '%s' cannot be parameterized",
               String::Handle(Z, type_parameter.name()).ToCString());
           return;
@@ -12489,9 +11933,7 @@
     } else if (finalization >= ClassFinalizer::kCanonicalize) {
       ClassFinalizer::FinalizeMalformedType(
           Error::Handle(Z),  // No previous error.
-          script_,
-          parameterized_type,
-          "type '%s' is not loaded",
+          script_, parameterized_type, "type '%s' is not loaded",
           String::Handle(Z, parameterized_type.UserVisibleName()).ToCString());
       return;
     }
@@ -12535,12 +11977,12 @@
 
 bool Parser::ParsingStaticMember() const {
   if (is_top_level_) {
-    return (current_member_ != NULL) &&
-           current_member_->has_static && !current_member_->has_factory;
+    return (current_member_ != NULL) && current_member_->has_static &&
+           !current_member_->has_factory;
   }
   ASSERT(!current_function().IsNull());
-  return
-      current_function().is_static() && !current_function().IsInFactoryScope();
+  return current_function().is_static() &&
+         !current_function().IsInFactoryScope();
 }
 
 
@@ -12582,9 +12024,8 @@
   const intptr_t kInitialConstMapSize = 16;
   ASSERT(!script.InVMHeap());
   if (script.compile_time_constants() == Array::null()) {
-    const Array& array =
-        Array::Handle(HashTables::New<ConstantsMap>(kInitialConstMapSize,
-                                                    Heap::kNew));
+    const Array& array = Array::Handle(
+        HashTables::New<ConstantsMap>(kInitialConstMapSize, Heap::kNew));
     script.set_compile_time_constants(array);
   }
   ConstantsMap constants(script.compile_time_constants());
@@ -12643,14 +12084,15 @@
 // Otherwise, if the field is constant, initialize the field and return no ast.
 // If the field is not initialized and not const, return the ast for the getter.
 StaticGetterNode* Parser::RunStaticFieldInitializer(
-    const Field& field, TokenPosition field_ref_pos) {
+    const Field& field,
+    TokenPosition field_ref_pos) {
   ASSERT(field.is_static());
   const Class& field_owner = Class::ZoneHandle(Z, field.Owner());
   const String& field_name = String::ZoneHandle(Z, field.name());
   const String& getter_name =
       String::Handle(Z, Field::GetterSymbol(field_name));
-  const Function& getter = Function::Handle(Z,
-      field_owner.LookupStaticFunction(getter_name));
+  const Function& getter =
+      Function::Handle(Z, field_owner.LookupStaticFunction(getter_name));
   const Instance& value = Instance::Handle(Z, field.StaticValue());
   if (value.raw() == Object::transition_sentinel().raw()) {
     if (field.is_const()) {
@@ -12658,8 +12100,8 @@
                   field_name.ToCString());
     } else {
       // The implicit static getter will throw the exception if necessary.
-      return new(Z) StaticGetterNode(
-          field_ref_pos, NULL, field_owner, field_name);
+      return new (Z)
+          StaticGetterNode(field_ref_pos, NULL, field_owner, field_name);
     }
   } else if (value.raw() == Object::sentinel().raw()) {
     // This field has not been referenced yet and thus the value has
@@ -12670,11 +12112,9 @@
       NoOOBMessageScope no_msg_scope(thread());
       field.SetStaticValue(Object::transition_sentinel());
       const int kNumArguments = 0;  // no arguments.
-      const Function& func = Function::Handle(Z,
-          Resolver::ResolveStatic(field_owner,
-                                  getter_name,
-                                  kNumArguments,
-                                  Object::empty_array()));
+      const Function& func = Function::Handle(
+          Z, Resolver::ResolveStatic(field_owner, getter_name, kNumArguments,
+                                     Object::empty_array()));
       ASSERT(!func.IsNull());
       ASSERT(func.kind() == RawFunction::kImplicitStaticFinalGetter);
       Object& const_value = Object::Handle(Z);
@@ -12690,8 +12130,7 @@
           // It is a compile-time error if evaluation of a compile-time constant
           // would raise an exception.
           const String& field_name = String::Handle(Z, field.name());
-          ReportErrors(error,
-                       script_, field_ref_pos,
+          ReportErrors(error, script_, field_ref_pos,
                        "error initializing const field '%s'",
                        field_name.ToCString());
         } else {
@@ -12704,10 +12143,10 @@
       instance ^= const_value.raw();
       instance = TryCanonicalize(instance, field_ref_pos);
       field.SetStaticValue(instance);
-      return NULL;   // Constant
+      return NULL;  // Constant
     } else {
-      return new(Z) StaticGetterNode(
-          field_ref_pos, NULL, field_owner, field_name);
+      return new (Z)
+          StaticGetterNode(field_ref_pos, NULL, field_owner, field_name);
     }
   }
   if (getter.IsNull() ||
@@ -12715,8 +12154,7 @@
     return NULL;
   }
   ASSERT(getter.kind() == RawFunction::kImplicitGetter);
-  return new(Z) StaticGetterNode(
-      field_ref_pos, NULL, field_owner, field_name);
+  return new (Z) StaticGetterNode(field_ref_pos, NULL, field_owner, field_name);
 }
 
 
@@ -12755,22 +12193,22 @@
     ASSERT(arg->IsLiteralNode());
     arg_values.SetAt((i + kNumExtraArgs), arg->AsLiteralNode()->literal());
   }
-  const Array& args_descriptor = Array::Handle(Z,
-      ArgumentsDescriptor::New(num_arguments, arguments->names()));
-  const Object& result = Object::Handle(Z,
-      DartEntry::InvokeFunction(constructor, arg_values, args_descriptor));
+  const Array& args_descriptor = Array::Handle(
+      Z, ArgumentsDescriptor::New(num_arguments, arguments->names()));
+  const Object& result = Object::Handle(
+      Z, DartEntry::InvokeFunction(constructor, arg_values, args_descriptor));
   if (result.IsError()) {
-      // An exception may not occur in every parse attempt, i.e., the
-      // generated AST is not deterministic. Therefore mark the function as
-      // not optimizable.
-      current_function().SetIsOptimizable(false);
-      if (result.IsUnhandledException()) {
-        return result.raw();
-      } else {
-        thread()->long_jump_base()->Jump(1, Error::Cast(result));
-        UNREACHABLE();
-        return Object::null();
-      }
+    // An exception may not occur in every parse attempt, i.e., the
+    // generated AST is not deterministic. Therefore mark the function as
+    // not optimizable.
+    current_function().SetIsOptimizable(false);
+    if (result.IsUnhandledException()) {
+      return result.raw();
+    } else {
+      thread()->long_jump_base()->Jump(1, Error::Cast(result));
+      UNREACHABLE();
+      return Object::null();
+    }
   } else {
     if (constructor.IsFactory()) {
       // The factory method returns the allocated object.
@@ -12785,7 +12223,7 @@
 // return true if the identifier is found, false otherwise.
 // If node is non NULL return an AST node corresponding to the identifier.
 bool Parser::ResolveIdentInLocalScope(TokenPosition ident_pos,
-                                      const String &ident,
+                                      const String& ident,
                                       AstNode** node,
                                       intptr_t* function_level) {
   TRACE_PARSER("ResolveIdentInLocalScope");
@@ -12796,7 +12234,7 @@
   }
   if (local != NULL) {
     if (node != NULL) {
-      *node = new(Z) LoadLocalNode(ident_pos, local);
+      *node = new (Z) LoadLocalNode(ident_pos, local);
     }
     if (function_level != NULL) {
       *function_level = local->owner()->function_level();
@@ -12845,13 +12283,11 @@
 
   // Check if an instance/static function exists.
   func = cls.LookupFunction(ident);
-  if (!func.IsNull() &&
-      (func.IsDynamicFunction() ||
-      func.IsStaticFunction() ||
-      func.is_abstract())) {
+  if (!func.IsNull() && (func.IsDynamicFunction() || func.IsStaticFunction() ||
+                         func.is_abstract())) {
     if (node != NULL) {
-      *node = new(Z) PrimaryNode(
-          ident_pos, Function::ZoneHandle(Z, func.raw()));
+      *node =
+          new (Z) PrimaryNode(ident_pos, Function::ZoneHandle(Z, func.raw()));
     }
     return true;
   }
@@ -12876,10 +12312,8 @@
       return true;
     } else if (func.IsStaticFunction()) {
       if (node != NULL) {
-        *node = new(Z) StaticGetterNode(ident_pos,
-                                        NULL,
-                                        Class::ZoneHandle(Z, cls.raw()),
-                                        ident);
+        *node = new (Z) StaticGetterNode(
+            ident_pos, NULL, Class::ZoneHandle(Z, cls.raw()), ident);
       }
       return true;
     }
@@ -12903,7 +12337,7 @@
   const Object& obj = Object::Handle(Z, library_.ResolveName(ident));
   if (obj.IsClass()) {
     const Class& cls = Class::Cast(obj);
-    return new(Z) PrimaryNode(ident_pos, Class::ZoneHandle(Z, cls.raw()));
+    return new (Z) PrimaryNode(ident_pos, Class::ZoneHandle(Z, cls.raw()));
   } else if (obj.IsField()) {
     const Field& field = Field::Cast(obj);
     ASSERT(field.is_static());
@@ -12916,26 +12350,24 @@
     const Function& func = Function::Cast(obj);
     ASSERT(func.is_static());
     if (func.IsGetterFunction() || func.IsSetterFunction()) {
-      StaticGetterNode* getter =
-          new(Z) StaticGetterNode(ident_pos,
-                                  /* receiver */ NULL,
-                                  Class::ZoneHandle(Z, func.Owner()),
-                                  ident);
+      StaticGetterNode* getter = new (Z) StaticGetterNode(
+          ident_pos,
+          /* receiver */ NULL, Class::ZoneHandle(Z, func.Owner()), ident);
       getter->set_owner(library_);
       return getter;
     } else {
-      return new(Z) PrimaryNode(ident_pos, Function::ZoneHandle(Z, func.raw()));
+      return new (Z)
+          PrimaryNode(ident_pos, Function::ZoneHandle(Z, func.raw()));
     }
   } else if (obj.IsLibraryPrefix()) {
     const LibraryPrefix& prefix = LibraryPrefix::Cast(obj);
-    ReportError(ident_pos,
-                "illegal use of library prefix '%s'",
+    ReportError(ident_pos, "illegal use of library prefix '%s'",
                 String::Handle(prefix.name()).ToCString());
   } else {
     ASSERT(obj.IsNull());
   }
   // Lexically unresolved primary identifiers are referenced by their name.
-  return new(Z) PrimaryNode(ident_pos, ident);
+  return new (Z) PrimaryNode(ident_pos, ident);
 }
 
 
@@ -12974,7 +12406,7 @@
   } else if (obj.IsClass()) {
     const Class& cls = Class::Cast(obj);
     PrimaryNode* primary =
-        new(Z) PrimaryNode(ident_pos, Class::ZoneHandle(Z, cls.raw()));
+        new (Z) PrimaryNode(ident_pos, Class::ZoneHandle(Z, cls.raw()));
     primary->set_is_deferred(is_deferred);
     return primary;
   } else if (obj.IsField()) {
@@ -12995,17 +12427,15 @@
     const Function& func = Function::Cast(obj);
     ASSERT(func.is_static());
     if (func.IsGetterFunction() || func.IsSetterFunction()) {
-      StaticGetterNode* getter = new(Z) StaticGetterNode(
-         ident_pos,
-         /* receiver */ NULL,
-         Class::ZoneHandle(Z, func.Owner()),
-         ident);
+      StaticGetterNode* getter = new (Z) StaticGetterNode(
+          ident_pos,
+          /* receiver */ NULL, Class::ZoneHandle(Z, func.Owner()), ident);
       getter->set_is_deferred(is_deferred);
       getter->set_owner(prefix);
       return getter;
     } else {
-      PrimaryNode* primary = new(Z) PrimaryNode(
-           ident_pos, Function::ZoneHandle(Z, func.raw()));
+      PrimaryNode* primary =
+          new (Z) PrimaryNode(ident_pos, Function::ZoneHandle(Z, func.raw()));
       primary->set_is_deferred(is_deferred);
       return primary;
     }
@@ -13033,9 +12463,9 @@
   if (!innermost_function().IsNull()) {
     // TODO(regis): Shortcut this lookup if no generic functions in scope.
     intptr_t type_param_func_level = FunctionLevel();
-    const TypeParameter& type_parameter = TypeParameter::ZoneHandle(Z,
-        innermost_function().LookupTypeParameter(ident,
-                                                 &type_param_func_level));
+    const TypeParameter& type_parameter =
+        TypeParameter::ZoneHandle(Z, innermost_function().LookupTypeParameter(
+                                         ident, &type_param_func_level));
     if (!type_parameter.IsNull()) {
       if ((resolved == NULL) || (resolved_func_level < type_param_func_level)) {
         // The identifier is a function type parameter, possibly shadowing
@@ -13047,15 +12477,15 @@
         // TODO(regis): Finalize type parameter and return as type node.
         // For now, map to dynamic type.
         Type& type = Type::ZoneHandle(Z, Type::DynamicType());
-        return new(Z) TypeNode(ident_pos, type);
+        return new (Z) TypeNode(ident_pos, type);
       }
     }
   }
   if (resolved == NULL) {
     // Check whether the identifier is a class type parameter.
     if (!current_class().IsNull()) {
-      TypeParameter& type_parameter = TypeParameter::ZoneHandle(Z,
-          current_class().LookupTypeParameter(ident));
+      TypeParameter& type_parameter = TypeParameter::ZoneHandle(
+          Z, current_class().LookupTypeParameter(ident));
       if (!type_parameter.IsNull()) {
         if (FunctionLevel() > 0) {
           // Make sure that the class instantiator is captured.
@@ -13064,7 +12494,7 @@
         type_parameter ^= ClassFinalizer::FinalizeType(
             current_class(), type_parameter, ClassFinalizer::kCanonicalize);
         ASSERT(!type_parameter.IsMalformed());
-        return new(Z) TypeNode(ident_pos, type_parameter);
+        return new (Z) TypeNode(ident_pos, type_parameter);
       }
     }
     // Not found in the local scope, and the name is not a type parameter.
@@ -13082,9 +12512,7 @@
       // the unresolved name to an instance field access, since a
       // subclass might define a field with this name.
       if (current_function().is_static()) {
-        resolved = ThrowNoSuchMethodError(ident_pos,
-                                          current_class(),
-                                          ident,
+        resolved = ThrowNoSuchMethodError(ident_pos, current_class(), ident,
                                           NULL,  // No arguments.
                                           InvocationMirror::kStatic,
                                           InvocationMirror::kField,
@@ -13102,14 +12530,14 @@
       }
     } else if (primary->primary().IsClass()) {
       const Class& type_class = Class::Cast(primary->primary());
-      AbstractType& type = Type::ZoneHandle(Z,
-          Type::New(type_class, TypeArguments::Handle(Z), primary_pos,
-                    Heap::kOld));
-      type ^= ClassFinalizer::FinalizeType(
-          current_class(), type, ClassFinalizer::kCanonicalize);
+      AbstractType& type =
+          Type::ZoneHandle(Z, Type::New(type_class, TypeArguments::Handle(Z),
+                                        primary_pos, Heap::kOld));
+      type ^= ClassFinalizer::FinalizeType(current_class(), type,
+                                           ClassFinalizer::kCanonicalize);
       // Type may be malbounded, but not malformed.
       ASSERT(!type.IsMalformed());
-      resolved = new(Z) TypeNode(primary_pos, type);
+      resolved = new (Z) TypeNode(primary_pos, type);
     }
   }
   return resolved;
@@ -13121,8 +12549,8 @@
     bool allow_deferred_type,
     bool consume_unresolved_prefix) {
   LibraryPrefix& prefix = LibraryPrefix::Handle(Z);
-  return ParseType(finalization, allow_deferred_type,
-                   consume_unresolved_prefix, &prefix);
+  return ParseType(finalization, allow_deferred_type, consume_unresolved_prefix,
+                   &prefix);
 }
 
 // Parses type = [ident "."] ident ["<" type { "," type } ">"], then resolve and
@@ -13157,8 +12585,7 @@
     // If we didn't see a valid prefix but the identifier is followed by
     // a period and another identifier, consume the qualified identifier
     // and create a malformed type.
-    if (consume_unresolved_prefix &&
-        prefix->IsNull() &&
+    if (consume_unresolved_prefix && prefix->IsNull() &&
         (CurrentToken() == Token::kPERIOD) &&
         (Token::IsIdentifier(LookaheadToken(1)))) {
       if (!is_top_level_ && (current_block_ != NULL)) {
@@ -13176,24 +12603,19 @@
       ParseTypeArguments(ClassFinalizer::kIgnore);
       return ClassFinalizer::NewFinalizedMalformedType(
           Error::Handle(Z),  // No previous error.
-          script_,
-          ident_pos,
-          "qualified name '%s' does not refer to a type",
+          script_, ident_pos, "qualified name '%s' does not refer to a type",
           qualified_name.ToCString());
     }
 
     // If parsing inside a local scope, check whether the type name
     // is shadowed by a local declaration.
-    if (!is_top_level_ &&
-        (prefix->IsNull()) &&
+    if (!is_top_level_ && (prefix->IsNull()) &&
         ResolveIdentInLocalScope(ident_pos, type_name, NULL, NULL)) {
       // The type is malformed. Skip over its type arguments.
       ParseTypeArguments(ClassFinalizer::kIgnore);
       return ClassFinalizer::NewFinalizedMalformedType(
           Error::Handle(Z),  // No previous error.
-          script_,
-          ident_pos,
-          "using '%s' in this context is invalid",
+          script_, ident_pos, "using '%s' in this context is invalid",
           type_name.ToCString());
     }
     if ((!FLAG_load_deferred_eagerly || !allow_deferred_type) &&
@@ -13209,16 +12631,14 @@
       // loaded when finalization is requested, return a malformed type.
       // Otherwise, handle resolution below, as needed.
       if (!allow_deferred_type ||
-          (!prefix->is_loaded()
-              && (finalization > ClassFinalizer::kResolveTypeParameters))) {
+          (!prefix->is_loaded() &&
+           (finalization > ClassFinalizer::kResolveTypeParameters))) {
         ParseTypeArguments(ClassFinalizer::kIgnore);
         return ClassFinalizer::NewFinalizedMalformedType(
             Error::Handle(Z),  // No previous error.
-            script_,
-            ident_pos,
-            !prefix->is_loaded() && allow_deferred_type
-                ? "deferred type '%s.%s' is not yet loaded"
-                : "using deferred type '%s.%s' is invalid",
+            script_, ident_pos, !prefix->is_loaded() && allow_deferred_type
+                                    ? "deferred type '%s.%s' is not yet loaded"
+                                    : "using deferred type '%s.%s' is invalid",
             String::Handle(Z, prefix->name()).ToCString(),
             type_name.ToCString());
       }
@@ -13229,8 +12649,8 @@
   if (finalization != ClassFinalizer::kIgnore) {
     type_class = UnresolvedClass::New(*prefix, type_name, ident_pos);
   }
-  TypeArguments& type_arguments = TypeArguments::Handle(
-      Z, ParseTypeArguments(finalization));
+  TypeArguments& type_arguments =
+      TypeArguments::Handle(Z, ParseTypeArguments(finalization));
   if (finalization == ClassFinalizer::kIgnore) {
     return Type::DynamicType();
   }
@@ -13247,7 +12667,8 @@
 
 
 void Parser::CheckConstructorCallTypeArguments(
-    TokenPosition pos, const Function& constructor,
+    TokenPosition pos,
+    const Function& constructor,
     const TypeArguments& type_arguments) {
   if (!type_arguments.IsNull()) {
     const Class& constructor_class = Class::Handle(Z, constructor.Owner());
@@ -13279,7 +12700,7 @@
     Instance& existing_const = Instance::ZoneHandle(Z);
     if (GetCachedConstant(literal_pos, &existing_const)) {
       SkipListLiteral();
-      return new(Z) LiteralNode(literal_pos, existing_const);
+      return new (Z) LiteralNode(literal_pos, existing_const);
     }
   }
 
@@ -13296,7 +12717,7 @@
     // List literals take a single type argument.
     if (list_type_arguments.Length() == 1) {
       element_type = list_type_arguments.TypeAt(0);
-      ASSERT(!element_type.IsMalformed());  // Would be mapped to dynamic.
+      ASSERT(!element_type.IsMalformed());   // Would be mapped to dynamic.
       ASSERT(!element_type.IsMalbounded());  // No declared bound in List.
       if (element_type.IsDynamicType()) {
         list_type_arguments = TypeArguments::null();
@@ -13317,10 +12738,10 @@
   }
   ASSERT(list_type_arguments.IsNull() || (list_type_arguments.Length() == 1));
   const Class& array_class = Class::Handle(Z, I->object_store()->array_class());
-  Type& type = Type::ZoneHandle(Z,
-      Type::New(array_class, list_type_arguments, type_pos, Heap::kOld));
-  type ^= ClassFinalizer::FinalizeType(
-      current_class(), type, ClassFinalizer::kCanonicalize);
+  Type& type = Type::ZoneHandle(
+      Z, Type::New(array_class, list_type_arguments, type_pos, Heap::kOld));
+  type ^= ClassFinalizer::FinalizeType(current_class(), type,
+                                       ClassFinalizer::kCanonicalize);
   GrowableArray<AstNode*> element_list;
   // Parse the list elements. Note: there may be an optional extra
   // comma after the last element.
@@ -13329,13 +12750,9 @@
     while (CurrentToken() != Token::kRBRACK) {
       const TokenPosition element_pos = TokenPos();
       AstNode* element = ParseExpr(is_const, kConsumeCascades);
-      if (I->type_checks() &&
-          !is_const &&
-          !element_type.IsDynamicType()) {
-        element = new(Z) AssignableNode(element_pos,
-                                        element,
-                                        element_type,
-                                        Symbols::ListLiteralElement());
+      if (I->type_checks() && !is_const && !element_type.IsDynamicType()) {
+        element = new (Z) AssignableNode(element_pos, element, element_type,
+                                         Symbols::ListLiteralElement());
       }
       element_list.Add(element);
       if (CurrentToken() == Token::kCOMMA) {
@@ -13351,10 +12768,10 @@
   if (is_const) {
     // Allocate and initialize the const list at compile time.
     if ((element_list.length() == 0) && list_type_arguments.IsNull()) {
-      return new(Z) LiteralNode(literal_pos, Object::empty_array());
+      return new (Z) LiteralNode(literal_pos, Object::empty_array());
     }
-    Array& const_list = Array::ZoneHandle(Z,
-        Array::New(element_list.length(), Heap::kOld));
+    Array& const_list =
+        Array::ZoneHandle(Z, Array::New(element_list.length(), Heap::kOld));
     const_list.SetTypeArguments(
         TypeArguments::Handle(Z, list_type_arguments.Canonicalize()));
     Error& bound_error = Error::Handle(Z);
@@ -13363,23 +12780,19 @@
       // Arguments have been evaluated to a literal value already.
       ASSERT(elem->IsLiteralNode());
       ASSERT(!is_top_level_);  // We cannot check unresolved types.
-      if (I->type_checks() &&
-          !element_type.IsDynamicType() &&
+      if (I->type_checks() && !element_type.IsDynamicType() &&
           (!elem->AsLiteralNode()->literal().IsNull() &&
            !elem->AsLiteralNode()->literal().IsInstanceOf(
-               element_type,
-               TypeArguments::Handle(Z),
-               &bound_error))) {
+               element_type, TypeArguments::Handle(Z), &bound_error))) {
         // If the failure is due to a bound error, display it instead.
         if (!bound_error.IsNull()) {
           ReportError(bound_error);
         } else {
-          ReportError(elem->AsLiteralNode()->token_pos(),
-                      "list literal element at index %d must be "
-                      "a constant of type '%s'",
-                      i,
-                      String::Handle(Z,
-                          element_type.UserVisibleName()).ToCString());
+          ReportError(
+              elem->AsLiteralNode()->token_pos(),
+              "list literal element at index %d must be "
+              "a constant of type '%s'",
+              i, String::Handle(Z, element_type.UserVisibleName()).ToCString());
         }
       }
       const_list.SetAt(i, elem->AsLiteralNode()->literal());
@@ -13387,19 +12800,18 @@
     const_list.MakeImmutable();
     const_list ^= TryCanonicalize(const_list, literal_pos);
     CacheConstantValue(literal_pos, const_list);
-    return new(Z) LiteralNode(literal_pos, const_list);
+    return new (Z) LiteralNode(literal_pos, const_list);
   } else {
     // Factory call at runtime.
     const Class& factory_class =
         Class::Handle(Z, Library::LookupCoreClass(Symbols::List()));
     ASSERT(!factory_class.IsNull());
-    const Function& factory_method = Function::ZoneHandle(Z,
-        factory_class.LookupFactory(
-            Library::PrivateCoreLibName(Symbols::ListLiteralFactory())));
+    const Function& factory_method = Function::ZoneHandle(
+        Z, factory_class.LookupFactory(
+               Library::PrivateCoreLibName(Symbols::ListLiteralFactory())));
     ASSERT(!factory_method.IsNull());
     if (!list_type_arguments.IsNull() &&
-        !list_type_arguments.IsInstantiated() &&
-        (FunctionLevel() > 0)) {
+        !list_type_arguments.IsInstantiated() && (FunctionLevel() > 0)) {
       // Make sure that the instantiator is captured.
       CaptureInstantiator();
     }
@@ -13409,28 +12821,25 @@
     // type argument vector.
     if (!factory_type_args.IsNull() && (factory_class.NumTypeArguments() > 1)) {
       ASSERT(factory_type_args.Length() == 1);
-      Type& factory_type = Type::Handle(Z, Type::New(
-          factory_class, factory_type_args, type_pos, Heap::kOld));
+      Type& factory_type = Type::Handle(
+          Z, Type::New(factory_class, factory_type_args, type_pos, Heap::kOld));
       factory_type ^= ClassFinalizer::FinalizeType(
           current_class(), factory_type, ClassFinalizer::kFinalize);
       factory_type_args = factory_type.arguments();
       ASSERT(factory_type_args.Length() == factory_class.NumTypeArguments());
     }
     factory_type_args = factory_type_args.Canonicalize();
-    ArgumentListNode* factory_param = new(Z) ArgumentListNode(
-        literal_pos);
+    ArgumentListNode* factory_param = new (Z) ArgumentListNode(literal_pos);
     if (element_list.length() == 0) {
       LiteralNode* empty_array_literal =
-          new(Z) LiteralNode(TokenPos(), Object::empty_array());
+          new (Z) LiteralNode(TokenPos(), Object::empty_array());
       factory_param->Add(empty_array_literal);
     } else {
-      ArrayNode* list = new(Z) ArrayNode(TokenPos(), type, element_list);
+      ArrayNode* list = new (Z) ArrayNode(TokenPos(), type, element_list);
       factory_param->Add(list);
     }
-    return CreateConstructorCallNode(literal_pos,
-                                     factory_type_args,
-                                     factory_method,
-                                     factory_param);
+    return CreateConstructorCallNode(literal_pos, factory_type_args,
+                                     factory_method, factory_param);
   }
 }
 
@@ -13443,8 +12852,8 @@
   if (!type_arguments.IsNull() && !type_arguments.IsInstantiated()) {
     EnsureExpressionTemp();
   }
-  return new(Z) ConstructorCallNode(
-      token_pos, type_arguments, constructor, arguments);
+  return new (Z)
+      ConstructorCallNode(token_pos, type_arguments, constructor, arguments);
 }
 
 
@@ -13485,7 +12894,7 @@
     Instance& existing_const = Instance::ZoneHandle(Z);
     if (GetCachedConstant(literal_pos, &existing_const)) {
       SkipMapLiteral();
-      return new(Z) LiteralNode(literal_pos, existing_const);
+      return new (Z) LiteralNode(literal_pos, existing_const);
     }
   }
 
@@ -13534,11 +12943,9 @@
     const bool saved_mode = SetAllowFunctionLiterals(true);
     const TokenPosition key_pos = TokenPos();
     AstNode* key = ParseExpr(is_const, kConsumeCascades);
-    if (I->type_checks() &&
-        !is_const &&
-        !key_type.IsDynamicType()) {
-      key = new(Z) AssignableNode(
-          key_pos, key, key_type, Symbols::ListLiteralElement());
+    if (I->type_checks() && !is_const && !key_type.IsDynamicType()) {
+      key = new (Z)
+          AssignableNode(key_pos, key, key_type, Symbols::ListLiteralElement());
     }
     if (is_const) {
       ASSERT(key->IsLiteralNode());
@@ -13546,8 +12953,7 @@
       if (key_value.IsDouble()) {
         ReportError(key_pos, "key value must not be of type double");
       }
-      if (!key_value.IsInteger() &&
-          !key_value.IsString() &&
+      if (!key_value.IsInteger() && !key_value.IsString() &&
           (key_value.clazz() != I->object_store()->symbol_class()) &&
           ImplementsEqualOperator(Z, key_value)) {
         ReportError(key_pos, "key value must not implement operator ==");
@@ -13557,11 +12963,9 @@
     const TokenPosition value_pos = TokenPos();
     AstNode* value = ParseExpr(is_const, kConsumeCascades);
     SetAllowFunctionLiterals(saved_mode);
-    if (I->type_checks() &&
-        !is_const &&
-        !value_type.IsDynamicType()) {
-      value = new(Z) AssignableNode(
-          value_pos, value, value_type, Symbols::ListLiteralElement());
+    if (I->type_checks() && !is_const && !value_type.IsDynamicType()) {
+      value = new (Z) AssignableNode(value_pos, value, value_type,
+                                     Symbols::ListLiteralElement());
     }
     AddKeyValuePair(&kv_pairs_list, is_const, key, value);
 
@@ -13600,20 +13004,17 @@
         if (!arg_type.IsDynamicType() &&
             (!arg->AsLiteralNode()->literal().IsNull() &&
              !arg->AsLiteralNode()->literal().IsInstanceOf(
-                 arg_type,
-                 Object::null_type_arguments(),
-                 &bound_error))) {
+                 arg_type, Object::null_type_arguments(), &bound_error))) {
           // If the failure is due to a bound error, display it.
           if (!bound_error.IsNull()) {
             ReportError(bound_error);
           } else {
-            ReportError(arg->AsLiteralNode()->token_pos(),
-                        "map literal %s at index %d must be "
-                        "a constant of type '%s'",
-                        ((i % 2) == 0) ? "key" : "value",
-                        i >> 1,
-                        String::Handle(Z,
-                                       arg_type.UserVisibleName()).ToCString());
+            ReportError(
+                arg->AsLiteralNode()->token_pos(),
+                "map literal %s at index %d must be "
+                "a constant of type '%s'",
+                ((i % 2) == 0) ? "key" : "value", i >> 1,
+                String::Handle(Z, arg_type.UserVisibleName()).ToCString());
           }
         }
       }
@@ -13623,44 +13024,40 @@
     key_value_array ^= TryCanonicalize(key_value_array, TokenPos());
 
     // Construct the map object.
-    const Class& immutable_map_class = Class::Handle(Z,
-        Library::LookupCoreClass(Symbols::ImmutableMap()));
+    const Class& immutable_map_class =
+        Class::Handle(Z, Library::LookupCoreClass(Symbols::ImmutableMap()));
     ASSERT(!immutable_map_class.IsNull());
     // If the immutable map class extends other parameterized classes, we need
     // to adjust the type argument vector. This is currently not the case.
     ASSERT(immutable_map_class.NumTypeArguments() == 2);
-    ArgumentListNode* constr_args = new(Z) ArgumentListNode(TokenPos());
-    constr_args->Add(new(Z) LiteralNode(literal_pos, key_value_array));
-    const Function& map_constr =
-        Function::ZoneHandle(Z, immutable_map_class.LookupConstructor(
-            Library::PrivateCoreLibName(Symbols::ImmutableMapConstructor())));
+    ArgumentListNode* constr_args = new (Z) ArgumentListNode(TokenPos());
+    constr_args->Add(new (Z) LiteralNode(literal_pos, key_value_array));
+    const Function& map_constr = Function::ZoneHandle(
+        Z, immutable_map_class.LookupConstructor(Library::PrivateCoreLibName(
+               Symbols::ImmutableMapConstructor())));
     ASSERT(!map_constr.IsNull());
-    const Object& constructor_result = Object::Handle(Z,
-        EvaluateConstConstructorCall(immutable_map_class,
-                                     map_type_arguments,
-                                     map_constr,
-                                     constr_args));
+    const Object& constructor_result = Object::Handle(
+        Z, EvaluateConstConstructorCall(immutable_map_class, map_type_arguments,
+                                        map_constr, constr_args));
     if (constructor_result.IsUnhandledException()) {
-      ReportErrors(Error::Cast(constructor_result),
-                   script_, literal_pos,
+      ReportErrors(Error::Cast(constructor_result), script_, literal_pos,
                    "error executing const Map constructor");
     } else {
       const Instance& const_instance = Instance::Cast(constructor_result);
       CacheConstantValue(literal_pos, const_instance);
-      return new(Z) LiteralNode(
-          literal_pos, Instance::ZoneHandle(Z, const_instance.raw()));
+      return new (Z) LiteralNode(literal_pos,
+                                 Instance::ZoneHandle(Z, const_instance.raw()));
     }
   } else {
     // Factory call at runtime.
     const Class& factory_class =
         Class::Handle(Z, Library::LookupCoreClass(Symbols::Map()));
     ASSERT(!factory_class.IsNull());
-    const Function& factory_method = Function::ZoneHandle(Z,
-        factory_class.LookupFactory(
-            Library::PrivateCoreLibName(Symbols::MapLiteralFactory())));
+    const Function& factory_method = Function::ZoneHandle(
+        Z, factory_class.LookupFactory(
+               Library::PrivateCoreLibName(Symbols::MapLiteralFactory())));
     ASSERT(!factory_method.IsNull());
-    if (!map_type_arguments.IsNull() &&
-        !map_type_arguments.IsInstantiated() &&
+    if (!map_type_arguments.IsNull() && !map_type_arguments.IsInstantiated() &&
         (FunctionLevel() > 0)) {
       // Make sure that the instantiator is captured.
       CaptureInstantiator();
@@ -13671,34 +13068,30 @@
     // type argument vector.
     if (!factory_type_args.IsNull() && (factory_class.NumTypeArguments() > 2)) {
       ASSERT(factory_type_args.Length() == 2);
-      Type& factory_type = Type::Handle(Z, Type::New(
-          factory_class, factory_type_args, type_pos, Heap::kOld));
+      Type& factory_type = Type::Handle(
+          Z, Type::New(factory_class, factory_type_args, type_pos, Heap::kOld));
       factory_type ^= ClassFinalizer::FinalizeType(
           current_class(), factory_type, ClassFinalizer::kFinalize);
       factory_type_args = factory_type.arguments();
       ASSERT(factory_type_args.Length() == factory_class.NumTypeArguments());
     }
     factory_type_args = factory_type_args.Canonicalize();
-    ArgumentListNode* factory_param = new(Z) ArgumentListNode(literal_pos);
+    ArgumentListNode* factory_param = new (Z) ArgumentListNode(literal_pos);
     // The kv_pair array is temporary and of element type dynamic. It is passed
     // to the factory to initialize a properly typed map. Pass a pre-allocated
     // array for the common empty map literal case.
     if (kv_pairs_list.length() == 0) {
       LiteralNode* empty_array_literal =
-          new(Z) LiteralNode(TokenPos(), Object::empty_array());
+          new (Z) LiteralNode(TokenPos(), Object::empty_array());
       factory_param->Add(empty_array_literal);
     } else {
-      ArrayNode* kv_pairs = new(Z) ArrayNode(
-          TokenPos(),
-          Type::ZoneHandle(Z, Type::ArrayType()),
-          kv_pairs_list);
+      ArrayNode* kv_pairs = new (Z) ArrayNode(
+          TokenPos(), Type::ZoneHandle(Z, Type::ArrayType()), kv_pairs_list);
       factory_param->Add(kv_pairs);
     }
 
-    return CreateConstructorCallNode(literal_pos,
-                                     factory_type_args,
-                                     factory_method,
-                                     factory_param);
+    return CreateConstructorCallNode(literal_pos, factory_type_args,
+                                     factory_method, factory_param);
   }
   UNREACHABLE();
   return NULL;
@@ -13713,15 +13106,14 @@
     ConsumeToken();
   }
   const TokenPosition type_pos = TokenPos();
-  TypeArguments& type_arguments = TypeArguments::Handle(Z,
-      ParseTypeArguments(ClassFinalizer::kCanonicalize));
+  TypeArguments& type_arguments = TypeArguments::Handle(
+      Z, ParseTypeArguments(ClassFinalizer::kCanonicalize));
   // Malformed type arguments are mapped to dynamic, so we will not encounter
   // them here.
   // Map and List interfaces do not declare bounds on their type parameters, so
   // we will not see malbounded type arguments here.
   AstNode* primary = NULL;
-  if ((CurrentToken() == Token::kLBRACK) ||
-      (CurrentToken() == Token::kINDEX)) {
+  if ((CurrentToken() == Token::kLBRACK) || (CurrentToken() == Token::kINDEX)) {
     primary = ParseListLiteral(type_pos, is_const, type_arguments);
   } else if (CurrentToken() == Token::kLBRACE) {
     primary = ParseMapLiteral(type_pos, is_const, type_arguments);
@@ -13758,35 +13150,32 @@
 
   Instance& symbol_instance = Instance::ZoneHandle(Z);
   if (GetCachedConstant(symbol_pos, &symbol_instance)) {
-    return new(Z) LiteralNode(symbol_pos, symbol_instance);
+    return new (Z) LiteralNode(symbol_pos, symbol_instance);
   }
 
   // Call Symbol class constructor to create a symbol instance.
   const Class& symbol_class = Class::Handle(I->object_store()->symbol_class());
   ASSERT(!symbol_class.IsNull());
-  ArgumentListNode* constr_args = new(Z) ArgumentListNode(symbol_pos);
-  constr_args->Add(new(Z) LiteralNode(symbol_pos, symbol));
-  const Function& constr = Function::ZoneHandle(Z,
-      symbol_class.LookupConstructor(Symbols::SymbolCtor()));
+  ArgumentListNode* constr_args = new (Z) ArgumentListNode(symbol_pos);
+  constr_args->Add(new (Z) LiteralNode(symbol_pos, symbol));
+  const Function& constr = Function::ZoneHandle(
+      Z, symbol_class.LookupConstructor(Symbols::SymbolCtor()));
   ASSERT(!constr.IsNull());
-  const Object& result = Object::Handle(Z,
-      EvaluateConstConstructorCall(symbol_class,
-                                   TypeArguments::Handle(Z),
-                                   constr,
-                                   constr_args));
+  const Object& result = Object::Handle(
+      Z, EvaluateConstConstructorCall(symbol_class, TypeArguments::Handle(Z),
+                                      constr, constr_args));
   if (result.IsUnhandledException()) {
-    ReportErrors(Error::Cast(result),
-                 script_, symbol_pos,
+    ReportErrors(Error::Cast(result), script_, symbol_pos,
                  "error executing const Symbol constructor");
   }
   symbol_instance ^= result.raw();
   CacheConstantValue(symbol_pos, symbol_instance);
-  return new(Z) LiteralNode(symbol_pos, symbol_instance);
+  return new (Z) LiteralNode(symbol_pos, symbol_instance);
 }
 
 
-RawFunction* Parser::BuildConstructorClosureFunction(
-    const Function& ctr, TokenPosition token_pos) {
+RawFunction* Parser::BuildConstructorClosureFunction(const Function& ctr,
+                                                     TokenPosition token_pos) {
   ASSERT(ctr.kind() == RawFunction::kConstructor);
   Function& closure = Function::Handle(Z);
   closure = I->LookupClosureFunction(innermost_function(), token_pos);
@@ -13796,12 +13185,11 @@
   }
 
   String& closure_name = String::Handle(Z, ctr.name());
-  closure_name = Symbols::FromConcat(T,
-      Symbols::ConstructorClosurePrefix(), closure_name);
+  closure_name =
+      Symbols::FromConcat(T, Symbols::ConstructorClosurePrefix(), closure_name);
 
   ParamList params;
-  params.AddFinalParameter(token_pos,
-                           &Symbols::ClosureParameter(),
+  params.AddFinalParameter(token_pos, &Symbols::ClosureParameter(),
                            &Object::dynamic_type());
 
   ParseFormalParameters(ctr, &params);
@@ -13809,8 +13197,7 @@
   // Replace the types parsed from the constructor.
   params.EraseParameterTypes();
 
-  closure = Function::NewClosureFunction(closure_name,
-                                         innermost_function(),
+  closure = Function::NewClosureFunction(closure_name, innermost_function(),
                                          token_pos);
   closure.set_is_generated_body(true);
   closure.set_is_debuggable(false);
@@ -13837,8 +13224,8 @@
   // unnamed constructor for class 'A' is labeled 'A.'.
   // This convention prevents users from explicitly calling constructors.
   Zone* zone = thread->zone();
-  String& constructor_name = String::Handle(zone,
-      Symbols::FromDot(thread, type_class_name));
+  String& constructor_name =
+      String::Handle(zone, Symbols::FromDot(thread, type_class_name));
   if (named_constructor != NULL) {
     constructor_name =
         Symbols::FromConcat(thread, constructor_name, *named_constructor);
@@ -13861,15 +13248,19 @@
   const bool consume_unresolved_prefix =
       (la3 == Token::kLT) || (la3 == Token::kPERIOD) || (la3 == Token::kHASH);
   LibraryPrefix& prefix = LibraryPrefix::ZoneHandle(Z);
-  AbstractType& type = AbstractType::Handle(Z,
-      ParseType(ClassFinalizer::kCanonicalizeWellFormed,
-      true,  // allow deferred type
-      consume_unresolved_prefix,
-      &prefix));
+  AbstractType& type =
+      AbstractType::Handle(Z, ParseType(ClassFinalizer::kCanonicalizeWellFormed,
+                                        true,  // allow deferred type
+                                        consume_unresolved_prefix, &prefix));
   // A constructor tear-off closure can only have been created for a
   // type that is loaded.
   ASSERT(prefix.IsNull() || prefix.is_loaded());
   ASSERT(!type.IsMalformed() && !type.IsTypeParameter());
+  if (FLAG_warn_new_tearoff_syntax) {
+    ReportWarning(
+        "Tear-offs using the x#id syntax is a deprecated feature,"
+        "it will not be supported in the next release");
+  }
   ExpectToken(Token::kHASH);
   String* named_constructor = NULL;
   if (IsIdentifier()) {
@@ -13880,8 +13271,8 @@
   Class& type_class = Class::Handle(Z, type.type_class());
   String& type_class_name = String::Handle(Z, type_class.Name());
   *type_arguments = type.arguments();
-  String& constructor_name = BuildConstructorName(T,
-      type_class_name, named_constructor);
+  String& constructor_name =
+      BuildConstructorName(T, type_class_name, named_constructor);
   *constructor = type_class.LookupConstructor(constructor_name);
   if (constructor->IsNull()) {
     *constructor = type_class.LookupFactory(constructor_name);
@@ -13892,8 +13283,7 @@
       ASSERT(!type.IsMalformedOrMalbounded());
       if (!type.IsInstantiated()) {
         Error& error = Error::Handle(Z);
-        type ^= type.InstantiateFrom(*type_arguments,
-                                     &error,
+        type ^= type.InstantiateFrom(*type_arguments, &error,
                                      NULL,  // instantiation_trail
                                      NULL,  // bound_trail
                                      Heap::kOld);
@@ -13922,21 +13312,17 @@
       (la3 == Token::kLT) || (la3 == Token::kPERIOD) || (la3 == Token::kHASH);
 
   LibraryPrefix& prefix = LibraryPrefix::ZoneHandle(Z);
-  AbstractType& type = AbstractType::ZoneHandle(Z,
-      ParseType(ClassFinalizer::kCanonicalizeWellFormed,
-                allow_deferred_type,
-                consume_unresolved_prefix,
-                &prefix));
+  AbstractType& type = AbstractType::ZoneHandle(
+      Z, ParseType(ClassFinalizer::kCanonicalizeWellFormed, allow_deferred_type,
+                   consume_unresolved_prefix, &prefix));
 
-  if (FLAG_load_deferred_eagerly &&
-      !prefix.IsNull() && prefix.is_deferred_load() && !prefix.is_loaded()) {
+  if (FLAG_load_deferred_eagerly && !prefix.IsNull() &&
+      prefix.is_deferred_load() && !prefix.is_loaded()) {
     // Add runtime check.
     Type& malformed_type = Type::ZoneHandle(Z);
     malformed_type = ClassFinalizer::NewFinalizedMalformedType(
         Error::Handle(Z),  // No previous error.
-        script_,
-        type_pos,
-        "deferred type '%s.%s' is not yet loaded",
+        script_, type_pos, "deferred type '%s.%s' is not yet loaded",
         String::Handle(Z, prefix.name()).ToCString(),
         String::Handle(type.Name()).ToCString());
     // Note: Adding a statement to current block is a hack, parsing an
@@ -13950,13 +13336,11 @@
     // Replace the type with a malformed type.
     type = ClassFinalizer::NewFinalizedMalformedType(
         Error::Handle(Z),  // No previous error.
-        script_,
-        type_pos,
-        "%s'%s' cannot be instantiated",
+        script_, type_pos, "%s'%s' cannot be instantiated",
         type.IsTypeParameter() ? "type parameter " : "",
-        type.IsTypeParameter() ?
-            String::Handle(Z, type.UserVisibleName()).ToCString() :
-            "dynamic");
+        type.IsTypeParameter()
+            ? String::Handle(Z, type.UserVisibleName()).ToCString()
+            : "dynamic");
   }
   // Attempting to instantiate an enum type is a compile-time error.
   Class& type_class = Class::Handle(Z, type.type_class());
@@ -13975,6 +13359,11 @@
     if (is_const) {
       ReportError("tear-off closure not allowed with const allocation");
     }
+    if (FLAG_warn_new_tearoff_syntax) {
+      ReportWarning(
+          "Tear-offs using the x#id syntax is a deprecated feature,"
+          "and will not be supported in the next release");
+    }
     ConsumeToken();
     if (IsIdentifier()) {
       named_constructor = ExpectIdentifier("name of constructor expected");
@@ -13994,7 +13383,7 @@
   } else {
     // Allocate dummy node with no arguments so we don't have to deal
     // with the NULL corner case below.
-    arguments = new(Z) ArgumentListNode(TokenPos());
+    arguments = new (Z) ArgumentListNode(TokenPos());
   }
 
   // Parsing is complete, so we can return a throw in case of a malformed or
@@ -14006,7 +13395,7 @@
     }
     if (arguments->length() > 0) {
       // Evaluate arguments for side-effects and throw.
-      LetNode* error_result = new(Z) LetNode(type_pos);
+      LetNode* error_result = new (Z) LetNode(type_pos);
       for (intptr_t i = 0; i < arguments->length(); ++i) {
         error_result->AddNode(arguments->NodeAt(i));
       }
@@ -14030,10 +13419,10 @@
   AbstractType& type_bound = AbstractType::ZoneHandle(Z);
 
   // Make sure that an appropriate constructor exists.
-  String& constructor_name = BuildConstructorName(T,
-              type_class_name, named_constructor);
-  Function& constructor = Function::ZoneHandle(Z,
-      type_class.LookupConstructor(constructor_name));
+  String& constructor_name =
+      BuildConstructorName(T, type_class_name, named_constructor);
+  Function& constructor =
+      Function::ZoneHandle(Z, type_class.LookupConstructor(constructor_name));
   if (constructor.IsNull()) {
     constructor = type_class.LookupFactory(constructor_name);
     if (constructor.IsNull()) {
@@ -14044,20 +13433,16 @@
       if (is_const) {
         type = ClassFinalizer::NewFinalizedMalformedType(
             Error::Handle(Z),  // No previous error.
-            script_,
-            call_pos,
+            script_, call_pos,
             "class '%s' has no constructor or factory named '%s'",
             String::Handle(Z, type_class.Name()).ToCString(),
             external_constructor_name.ToCString());
         ReportError(Error::Handle(Z, type.error()));
       }
-      return ThrowNoSuchMethodError(call_pos,
-                                    type_class,
-                                    external_constructor_name,
-                                    arguments,
-                                    InvocationMirror::kConstructor,
-                                    InvocationMirror::kMethod,
-                                    NULL);  // No existing function.
+      return ThrowNoSuchMethodError(
+          call_pos, type_class, external_constructor_name, arguments,
+          InvocationMirror::kConstructor, InvocationMirror::kMethod,
+          NULL);  // No existing function.
     } else if (constructor.IsRedirectingFactory()) {
       ClassFinalizer::ResolveRedirectingFactory(type_class, constructor);
       Type& redirect_type = Type::ZoneHandle(Z, constructor.RedirectionType());
@@ -14066,17 +13451,14 @@
         // The type arguments of the redirection type are instantiated from the
         // type arguments of the parsed type of the 'new' or 'const' expression.
         Error& error = Error::Handle(Z);
-        redirect_type ^= redirect_type.InstantiateFrom(
-            type_arguments,
-            &error,
-            NULL,  // instantiation_trail
-            NULL,  // bound_trail
-            Heap::kOld);
+        redirect_type ^=
+            redirect_type.InstantiateFrom(type_arguments, &error,
+                                          NULL,  // instantiation_trail
+                                          NULL,  // bound_trail
+                                          Heap::kOld);
         if (!error.IsNull()) {
           redirect_type = ClassFinalizer::NewFinalizedMalformedType(
-              error,
-              script_,
-              call_pos,
+              error, script_, call_pos,
               "redirecting factory type '%s' cannot be instantiated",
               String::Handle(Z, redirect_type.UserVisibleName()).ToCString());
         }
@@ -14097,9 +13479,7 @@
           parsed_function()->AddDeferredPrefix(prefix);
         }
         redirect_type = ClassFinalizer::NewFinalizedMalformedType(
-            Error::Handle(Z),
-            script_,
-            call_pos,
+            Error::Handle(Z), script_, call_pos,
             "redirection type '%s' is not loaded",
             String::Handle(Z, redirect_type.UserVisibleName()).ToCString());
       }
@@ -14111,7 +13491,7 @@
         return ThrowTypeError(redirect_type.token_pos(), redirect_type);
       }
       if (I->type_checks() &&
-              !redirect_type.IsSubtypeOf(type, NULL, NULL, Heap::kOld)) {
+          !redirect_type.IsSubtypeOf(type, NULL, NULL, Heap::kOld)) {
         // Additional type checking of the result is necessary.
         type_bound = type.raw();
       }
@@ -14136,28 +13516,27 @@
   // a dynamic error to instantiate an abstract class.
   if (type_class.is_abstract() && !constructor.IsFactory()) {
     // Evaluate arguments before throwing.
-    LetNode* result = new(Z) LetNode(call_pos);
+    LetNode* result = new (Z) LetNode(call_pos);
     for (intptr_t i = 0; i < arguments->length(); ++i) {
       result->AddNode(arguments->NodeAt(i));
     }
-    ArgumentListNode* error_arguments = new(Z) ArgumentListNode(type_pos);
-    error_arguments->Add(new(Z) LiteralNode(
-        TokenPos(), Integer::ZoneHandle(Z, Integer::New(type_pos.value(),
-                                                        Heap::kOld))));
-    error_arguments->Add(new(Z) LiteralNode(
+    ArgumentListNode* error_arguments = new (Z) ArgumentListNode(type_pos);
+    error_arguments->Add(new (Z) LiteralNode(
+        TokenPos(),
+        Integer::ZoneHandle(Z, Integer::New(type_pos.value(), Heap::kOld))));
+    error_arguments->Add(new (Z) LiteralNode(
         TokenPos(), String::ZoneHandle(Z, type_class_name.raw())));
-    result->AddNode(
-        MakeStaticCall(Symbols::AbstractClassInstantiationError(),
-                       Library::PrivateCoreLibName(Symbols::ThrowNew()),
-                       error_arguments));
+    result->AddNode(MakeStaticCall(
+        Symbols::AbstractClassInstantiationError(),
+        Library::PrivateCoreLibName(Symbols::ThrowNew()), error_arguments));
     return result;
   }
 
   type_arguments ^= type_arguments.Canonicalize();
 
   if (is_tearoff_expression) {
-    const Function& tearoff_func = Function::ZoneHandle(Z,
-        BuildConstructorClosureFunction(constructor, new_pos));
+    const Function& tearoff_func = Function::ZoneHandle(
+        Z, BuildConstructorClosureFunction(constructor, new_pos));
 
     // Local functions normally get parsed when the enclosing function is
     // compiled. Since constructor tearoff closures don't get parsed here,
@@ -14167,20 +13546,19 @@
     OpenFunctionBlock(tearoff_func);
     // If there are type arguments in the tearoff expression that are
     // not yet instantiated, capture the instantiator.
-    if (IsInstantiatorRequired() &&
-        !type_arguments.IsNull() && !type_arguments.IsInstantiated()) {
+    if (IsInstantiatorRequired() && !type_arguments.IsNull() &&
+        !type_arguments.IsInstantiated()) {
       CaptureInstantiator();
     }
     SequenceNode* tearoff_body = CloseBlock();
     ClosureNode* closure_obj =
-        new(Z) ClosureNode(new_pos, tearoff_func, NULL, tearoff_body->scope());
+        new (Z) ClosureNode(new_pos, tearoff_func, NULL, tearoff_body->scope());
     return closure_obj;
   }
 
   ASSERT(!is_tearoff_expression);
   String& error_message = String::Handle(Z);
-  if (!constructor.AreValidArguments(arguments_length,
-                                     arguments->names(),
+  if (!constructor.AreValidArguments(arguments_length, arguments->names(),
                                      &error_message)) {
     const String& external_constructor_name =
         (named_constructor ? constructor_name : type_class_name);
@@ -14192,13 +13570,10 @@
                   String::Handle(Z, type_class.Name()).ToCString(),
                   error_message.ToCString());
     }
-    return ThrowNoSuchMethodError(call_pos,
-                                  type_class,
-                                  external_constructor_name,
-                                  arguments,
+    return ThrowNoSuchMethodError(call_pos, type_class,
+                                  external_constructor_name, arguments,
                                   InvocationMirror::kConstructor,
-                                  InvocationMirror::kMethod,
-                                  &constructor);
+                                  InvocationMirror::kMethod, &constructor);
   }
 
   // Return a throw in case of a malformed or malbounded type or report a
@@ -14216,42 +13591,37 @@
     if (!constructor.is_const()) {
       const String& external_constructor_name =
           (named_constructor ? constructor_name : type_class_name);
-      ReportError("non-const constructor '%s' cannot be used in "
-                  "const object creation",
-                  external_constructor_name.ToCString());
+      ReportError(
+          "non-const constructor '%s' cannot be used in "
+          "const object creation",
+          external_constructor_name.ToCString());
     }
 
     Instance& const_instance = Instance::ZoneHandle(Z);
     if (GetCachedConstant(new_pos, &const_instance)) {
       // Cache hit, nothing else to do.
     } else {
-      Object& constructor_result = Object::Handle(Z,
-          EvaluateConstConstructorCall(type_class,
-                                       type_arguments,
-                                       constructor,
-                                       arguments));
+      Object& constructor_result = Object::Handle(
+          Z, EvaluateConstConstructorCall(type_class, type_arguments,
+                                          constructor, arguments));
       if (constructor_result.IsUnhandledException()) {
         // It's a compile-time error if invocation of a const constructor
         // call fails.
-        ReportErrors(Error::Cast(constructor_result),
-                     script_, new_pos,
+        ReportErrors(Error::Cast(constructor_result), script_, new_pos,
                      "error while evaluating const constructor");
       }
       const_instance ^= constructor_result.raw();
       CacheConstantValue(new_pos, const_instance);
     }
-    new_object = new(Z) LiteralNode(new_pos, const_instance);
+    new_object = new (Z) LiteralNode(new_pos, const_instance);
     if (!type_bound.IsNull()) {
       ASSERT(!type_bound.IsMalformed());
       Error& bound_error = Error::Handle(Z);
       ASSERT(!is_top_level_);  // We cannot check unresolved types.
-      if (!const_instance.IsInstanceOf(type_bound,
-                                       TypeArguments::Handle(Z),
+      if (!const_instance.IsInstanceOf(type_bound, TypeArguments::Handle(Z),
                                        &bound_error)) {
         type_bound = ClassFinalizer::NewFinalizedMalformedType(
-            bound_error,
-            script_,
-            new_pos,
+            bound_error, script_, new_pos,
             "const factory result is not an instance of '%s'",
             String::Handle(Z, type_bound.UserVisibleName()).ToCString());
         new_object = ThrowTypeError(new_pos, type_bound);
@@ -14260,20 +13630,19 @@
     }
   } else {
     CheckConstructorCallTypeArguments(new_pos, constructor, type_arguments);
-    if (!type_arguments.IsNull() &&
-        !type_arguments.IsInstantiated() &&
+    if (!type_arguments.IsNull() && !type_arguments.IsInstantiated() &&
         (FunctionLevel() > 0)) {
       // Make sure that the instantiator is captured.
       CaptureInstantiator();
     }
     // If the type argument vector is not instantiated, we verify in checked
     // mode at runtime that it is within its declared bounds.
-    new_object = CreateConstructorCallNode(
-        new_pos, type_arguments, constructor, arguments);
+    new_object = CreateConstructorCallNode(new_pos, type_arguments, constructor,
+                                           arguments);
   }
   if (!type_bound.IsNull()) {
-    new_object = new(Z) AssignableNode(
-         new_pos, new_object, type_bound, Symbols::FactoryResult());
+    new_object = new (Z) AssignableNode(new_pos, new_object, type_bound,
+                                        Symbols::FactoryResult());
   }
   return new_object;
 }
@@ -14282,16 +13651,17 @@
 String& Parser::Interpolate(const GrowableArray<AstNode*>& values) {
   NoReloadScope no_reload_scope(isolate(), thread());
   NoOOBMessageScope no_msg_scope(thread());
-  const Class& cls = Class::Handle(
-      Z, Library::LookupCoreClass(Symbols::StringBase()));
+  const Class& cls =
+      Class::Handle(Z, Library::LookupCoreClass(Symbols::StringBase()));
   ASSERT(!cls.IsNull());
-  const Function& func = Function::Handle(Z, cls.LookupStaticFunction(
-      Library::PrivateCoreLibName(Symbols::Interpolate())));
+  const Function& func = Function::Handle(
+      Z, cls.LookupStaticFunction(
+             Library::PrivateCoreLibName(Symbols::Interpolate())));
   ASSERT(!func.IsNull());
 
   // Build the array of literal values to interpolate.
-  const Array& value_arr = Array::Handle(Z,
-      Array::New(values.length(), Heap::kOld));
+  const Array& value_arr =
+      Array::Handle(Z, Array::New(values.length(), Heap::kOld));
   for (int i = 0; i < values.length(); i++) {
     ASSERT(values[i]->IsLiteralNode());
     value_arr.SetAt(i, values[i]->AsLiteralNode()->literal());
@@ -14326,11 +13696,10 @@
   const TokenPosition literal_start = TokenPos();
   ASSERT(CurrentToken() == Token::kSTRING);
   Token::Kind l1_token = LookaheadToken(1);
-  if ((l1_token != Token::kSTRING) &&
-      (l1_token != Token::kINTERPOL_VAR) &&
+  if ((l1_token != Token::kSTRING) && (l1_token != Token::kINTERPOL_VAR) &&
       (l1_token != Token::kINTERPOL_START)) {
     // Common case: no interpolation.
-    primary = new(Z) LiteralNode(literal_start, *CurrentLiteral());
+    primary = new (Z) LiteralNode(literal_start, *CurrentLiteral());
     ConsumeToken();
     return primary;
   }
@@ -14341,8 +13710,8 @@
   Instance& cached_string = Instance::Handle(Z);
   if (GetCachedConstant(literal_start, &cached_string)) {
     SkipStringLiteral();
-    return new(Z) LiteralNode(literal_start,
-                              Instance::ZoneHandle(Z, cached_string.raw()));
+    return new (Z) LiteralNode(literal_start,
+                               Instance::ZoneHandle(Z, cached_string.raw()));
   }
 
   bool is_compiletime_const = true;
@@ -14352,11 +13721,11 @@
     if (CurrentLiteral()->Length() > 0) {
       // Only add non-empty string sections to the values list
       // that will be concatenated.
-      values_list.Add(new(Z) LiteralNode(TokenPos(), *CurrentLiteral()));
+      values_list.Add(new (Z) LiteralNode(TokenPos(), *CurrentLiteral()));
     }
     ConsumeToken();
     while ((CurrentToken() == Token::kINTERPOL_VAR) ||
-        (CurrentToken() == Token::kINTERPOL_START)) {
+           (CurrentToken() == Token::kINTERPOL_START)) {
       if (!allow_interpolation) {
         ReportError("string interpolation not allowed in this context");
       }
@@ -14381,13 +13750,11 @@
       if (is_compiletime_const) {
         const Object* const_expr = expr->EvalConstExpr();
         if ((const_expr != NULL) &&
-            (const_expr->IsNumber() ||
-            const_expr->IsString() ||
-            const_expr->IsBool() ||
-            const_expr->IsNull())) {
+            (const_expr->IsNumber() || const_expr->IsString() ||
+             const_expr->IsBool() || const_expr->IsNull())) {
           // Change expr into a literal.
-          expr = new(Z) LiteralNode(expr_pos,
-                                    EvaluateConstExpr(expr_pos, expr));
+          expr =
+              new (Z) LiteralNode(expr_pos, EvaluateConstExpr(expr_pos, expr));
         } else {
           is_compiletime_const = false;
         }
@@ -14398,7 +13765,7 @@
   if (is_compiletime_const) {
     if (has_interpolation) {
       const String& interpolated_string = Interpolate(values_list);
-      primary = new(Z) LiteralNode(literal_start, interpolated_string);
+      primary = new (Z) LiteralNode(literal_start, interpolated_string);
       CacheConstantValue(literal_start, interpolated_string);
     } else {
       GrowableHandlePtrArray<const String> pieces(Z, values_list.length());
@@ -14407,18 +13774,16 @@
         ASSERT(part.IsString());
         pieces.Add(String::Cast(part));
       }
-      const String& lit = String::ZoneHandle(Z,
-          Symbols::FromConcatAll(T, pieces));
-      primary = new(Z) LiteralNode(literal_start, lit);
+      const String& lit =
+          String::ZoneHandle(Z, Symbols::FromConcatAll(T, pieces));
+      primary = new (Z) LiteralNode(literal_start, lit);
       // Caching of constant not necessary because the symbol lookup will
       // find the value next time.
     }
   } else {
-    ArrayNode* values = new(Z) ArrayNode(
-        TokenPos(),
-        Type::ZoneHandle(Z, Type::ArrayType()),
-        values_list);
-    primary = new(Z) StringInterpolateNode(TokenPos(), values);
+    ArrayNode* values = new (Z) ArrayNode(
+        TokenPos(), Type::ZoneHandle(Z, Type::ArrayType()), values_list);
+    primary = new (Z) StringInterpolateNode(TokenPos(), values);
   }
   return primary;
 }
@@ -14440,8 +13805,13 @@
     const LibraryPrefix& prefix = LibraryPrefix::ZoneHandle(Z, ParsePrefix());
     if (!prefix.IsNull()) {
       if (CurrentToken() == Token::kHASH) {
+        if (FLAG_warn_new_tearoff_syntax) {
+          ReportWarning(
+              "Tear-offs using the x#id syntax is a deprecated feature,"
+              "it will not be supported in the next release");
+        }
         // Closurization of top-level entity in prefix scope.
-        return new(Z) LiteralNode(qual_ident_pos, prefix);
+        return new (Z) LiteralNode(qual_ident_pos, prefix);
       } else {
         ExpectToken(Token::kPERIOD);
       }
@@ -14450,15 +13820,15 @@
     ConsumeToken();
     if (prefix.IsNull()) {
       intptr_t primary_func_level = 0;
-      ResolveIdentInLocalScope(
-          qual_ident_pos, ident, &primary, &primary_func_level);
+      ResolveIdentInLocalScope(qual_ident_pos, ident, &primary,
+                               &primary_func_level);
       // Check whether the identifier is shadowed by a function type parameter.
       if (!innermost_function().IsNull()) {
         // TODO(regis): Shortcut this lookup if no generic functions in scope.
         intptr_t type_param_func_level = FunctionLevel();
-        TypeParameter& type_param = TypeParameter::ZoneHandle(Z,
-            innermost_function().LookupTypeParameter(ident,
-                                                     &type_param_func_level));
+        TypeParameter& type_param = TypeParameter::ZoneHandle(
+            Z, innermost_function().LookupTypeParameter(
+                   ident, &type_param_func_level));
         if (!type_param.IsNull()) {
           if ((primary == NULL) ||
               (primary_func_level < type_param_func_level)) {
@@ -14468,17 +13838,17 @@
               // Make sure that the function instantiator is captured.
               CaptureFunctionInstantiator();
             }
-            return new(Z) PrimaryNode(qual_ident_pos, type_param);
+            return new (Z) PrimaryNode(qual_ident_pos, type_param);
           }
         }
       }
       if (primary == NULL) {
         // Check whether the identifier is a type parameter.
         if (!current_class().IsNull()) {
-          TypeParameter& type_param = TypeParameter::ZoneHandle(Z,
-              current_class().LookupTypeParameter(ident));
+          TypeParameter& type_param = TypeParameter::ZoneHandle(
+              Z, current_class().LookupTypeParameter(ident));
           if (!type_param.IsNull()) {
-            return new(Z) PrimaryNode(qual_ident_pos, type_param);
+            return new (Z) PrimaryNode(qual_ident_pos, type_param);
           }
         }
         // This is a non-local unqualified identifier so resolve the
@@ -14497,22 +13867,21 @@
       // interpret the unresolved identifier as an instance method or
       // instance getter call when compiling an instance method.
       if (primary == NULL) {
-        if (prefix.is_deferred_load() &&
-            ident.Equals(Symbols::LoadLibrary())) {
+        if (prefix.is_deferred_load() && ident.Equals(Symbols::LoadLibrary())) {
           // Hack Alert: recognize special 'loadLibrary' call on the
           // prefix object. The prefix is the primary. Rewind parser and
           // let ParseSelectors() handle the loadLibrary call.
           SetPosition(qual_ident_pos);
           ConsumeToken();  // Prefix name.
-          primary = new(Z) LiteralNode(qual_ident_pos, prefix);
+          primary = new (Z) LiteralNode(qual_ident_pos, prefix);
         } else {
           GrowableHandlePtrArray<const String> pieces(Z, 3);
           pieces.Add(String::Handle(Z, prefix.name()));
           pieces.Add(Symbols::Dot());
           pieces.Add(ident);
-          const String& qualified_name = String::ZoneHandle(Z,
-              Symbols::FromConcatAll(T, pieces));
-          primary = new(Z) PrimaryNode(qual_ident_pos, qualified_name);
+          const String& qualified_name =
+              String::ZoneHandle(Z, Symbols::FromConcatAll(T, pieces));
+          primary = new (Z) PrimaryNode(qual_ident_pos, qualified_name);
         }
       } else if (FLAG_load_deferred_eagerly && prefix.is_deferred_load()) {
         // primary != NULL.
@@ -14520,22 +13889,19 @@
         pieces.Add(String::Handle(Z, prefix.name()));
         pieces.Add(Symbols::Dot());
         pieces.Add(ident);
-        const String& qualified_name = String::ZoneHandle(Z,
-            Symbols::FromConcatAll(T, pieces));
-        InvocationMirror::Type call_type =
-            CurrentToken() == Token::kLPAREN ?
-                InvocationMirror::kMethod : InvocationMirror::kGetter;
+        const String& qualified_name =
+            String::ZoneHandle(Z, Symbols::FromConcatAll(T, pieces));
+        InvocationMirror::Type call_type = CurrentToken() == Token::kLPAREN
+                                               ? InvocationMirror::kMethod
+                                               : InvocationMirror::kGetter;
         // Note: Adding a statement to current block is a hack, parsing an
         // espression should have no side-effect.
         current_block_->statements->Add(ThrowNoSuchMethodError(
-                                            qual_ident_pos,
-                                            current_class(),
-                                            qualified_name,
-                                            NULL,  // No arguments.
-                                            InvocationMirror::kTopLevel,
-                                            call_type,
-                                            NULL,  // No existing function.
-                                            &prefix));
+            qual_ident_pos, current_class(), qualified_name,
+            NULL,  // No arguments.
+            InvocationMirror::kTopLevel, call_type,
+            NULL,  // No existing function.
+            &prefix));
       }
     }
     ASSERT(primary != NULL);
@@ -14544,20 +13910,20 @@
     if (local == NULL) {
       ReportError("receiver 'this' is not in scope");
     }
-    primary = new(Z) LoadLocalNode(TokenPos(), local);
+    primary = new (Z) LoadLocalNode(TokenPos(), local);
     ConsumeToken();
   } else if (token == Token::kINTEGER) {
     const Integer& literal = Integer::ZoneHandle(Z, CurrentIntegerLiteral());
-    primary = new(Z) LiteralNode(TokenPos(), literal);
+    primary = new (Z) LiteralNode(TokenPos(), literal);
     ConsumeToken();
   } else if (token == Token::kTRUE) {
-    primary = new(Z) LiteralNode(TokenPos(), Bool::True());
+    primary = new (Z) LiteralNode(TokenPos(), Bool::True());
     ConsumeToken();
   } else if (token == Token::kFALSE) {
-    primary = new(Z) LiteralNode(TokenPos(), Bool::False());
+    primary = new (Z) LiteralNode(TokenPos(), Bool::False());
     ConsumeToken();
   } else if (token == Token::kNULL) {
-    primary = new(Z) LiteralNode(TokenPos(), Object::null_instance());
+    primary = new (Z) LiteralNode(TokenPos(), Object::null_instance());
     ConsumeToken();
   } else if (token == Token::kLPAREN) {
     ConsumeToken();
@@ -14570,7 +13936,7 @@
     if (double_value.IsNull()) {
       ReportError("invalid double literal");
     }
-    primary = new(Z) LiteralNode(TokenPos(), double_value);
+    primary = new (Z) LiteralNode(TokenPos(), double_value);
     ConsumeToken();
   } else if (token == Token::kSTRING) {
     primary = ParseStringLiteral(true);
@@ -14587,10 +13953,8 @@
       ConsumeToken();
       primary = ParseNewOperator(Token::kCONST);
     }
-  } else if (token == Token::kLT ||
-             token == Token::kLBRACK ||
-             token == Token::kINDEX ||
-             token == Token::kLBRACE) {
+  } else if (token == Token::kLT || token == Token::kLBRACK ||
+             token == Token::kINDEX || token == Token::kLBRACE) {
     primary = ParseCompoundLiteral();
   } else if (token == Token::kHASH) {
     primary = ParseSymbolLiteral();
@@ -14614,13 +13978,13 @@
         primary = ParseSuperFieldAccess(ident, ident_pos);
       }
     } else if ((CurrentToken() == Token::kLBRACK) ||
-        Token::CanBeOverloaded(CurrentToken()) ||
-        (CurrentToken() == Token::kNE)) {
+               Token::CanBeOverloaded(CurrentToken()) ||
+               (CurrentToken() == Token::kNE)) {
       primary = ParseSuperOperator();
     } else if (CurrentToken() == Token::kQM_PERIOD) {
       ReportError("super call or super getter may not use ?.");
     } else {
-      primary = new(Z) PrimaryNode(super_pos, Symbols::Super());
+      primary = new (Z) PrimaryNode(super_pos, Symbols::Super());
     }
   } else {
     UnexpectedToken();
@@ -14638,7 +14002,7 @@
   if (expr->IsLiteralNode()) {
     return expr->AsLiteralNode()->literal();
   } else if (expr->IsLoadLocalNode() &&
-      expr->AsLoadLocalNode()->local().IsConst()) {
+             expr->AsLoadLocalNode()->local().IsConst()) {
     return *expr->AsLoadLocalNode()->local().ConstValue();
   } else if (expr->IsLoadStaticFieldNode()) {
     const Field& field = expr->AsLoadStaticFieldNode()->field();
@@ -14665,18 +14029,17 @@
     if (GetCachedConstant(expr_pos, &value)) {
       return value;
     }
-    ReturnNode* ret = new(Z) ReturnNode(expr_pos, expr);
+    ReturnNode* ret = new (Z) ReturnNode(expr_pos, expr);
     // Compile time constant expressions cannot reference anything from a
     // local scope.
-    LocalScope* empty_scope = new(Z) LocalScope(NULL, 0, 0);
-    SequenceNode* seq = new(Z) SequenceNode(expr_pos, empty_scope);
+    LocalScope* empty_scope = new (Z) LocalScope(NULL, 0, 0);
+    SequenceNode* seq = new (Z) SequenceNode(expr_pos, empty_scope);
     seq->Add(ret);
 
     INC_STAT(thread_, num_execute_const, 1);
     Object& result = Object::Handle(Z, Compiler::ExecuteOnce(seq));
     if (result.IsError()) {
-      ReportErrors(Error::Cast(result),
-                   script_, expr_pos,
+      ReportErrors(Error::Cast(result), script_, expr_pos,
                    "error evaluating constant expression");
     }
     ASSERT(result.IsInstance() || result.IsNull());
@@ -14795,8 +14158,7 @@
   if (CurrentToken() == Token::kLT) {
     SkipTypeArguments();
   }
-  if ((CurrentToken() == Token::kLBRACK) ||
-      (CurrentToken() == Token::kINDEX)) {
+  if ((CurrentToken() == Token::kLBRACK) || (CurrentToken() == Token::kINDEX)) {
     SkipListLiteral();
   } else if (CurrentToken() == Token::kLBRACE) {
     SkipMapLiteral();
@@ -14935,7 +14297,7 @@
         ExpectIdentifier("identifier or [ expected after ..");
       }
     } else if ((current_token == Token::kPERIOD) ||
-        (current_token == Token::kQM_PERIOD)) {
+               (current_token == Token::kQM_PERIOD)) {
       ConsumeToken();
       ExpectIdentifier("identifier expected");
     } else if (current_token == Token::kLBRACK) {
@@ -14971,8 +14333,7 @@
 
 
 void Parser::SkipUnaryExpr() {
-  if (IsPrefixOperator(CurrentToken()) ||
-      IsIncrementOperator(CurrentToken()) ||
+  if (IsPrefixOperator(CurrentToken()) || IsIncrementOperator(CurrentToken()) ||
       IsAwaitKeyword()) {
     ConsumeToken();
     SkipUnaryExpr();
@@ -14987,7 +14348,7 @@
   const int min_prec = Token::Precedence(Token::kIFNULL);
   const int max_prec = Token::Precedence(Token::kMUL);
   while (((min_prec <= Token::Precedence(CurrentToken())) &&
-      (Token::Precedence(CurrentToken()) <= max_prec))) {
+          (Token::Precedence(CurrentToken()) <= max_prec))) {
     if (CurrentToken() == Token::kIS) {
       ConsumeToken();
       if (CurrentToken() == Token::kNOT) {
diff --git a/runtime/vm/parser.h b/runtime/vm/parser.h
index b7c7b14..004913e 100644
--- a/runtime/vm/parser.h
+++ b/runtime/vm/parser.h
@@ -36,7 +36,8 @@
 class LocalVariable;
 struct RegExpCompileData;
 class SourceLabel;
-template <typename T> class GrowableArray;
+template <typename T>
+class GrowableArray;
 class Parser;
 
 struct CatchParamDesc;
@@ -74,18 +75,14 @@
     const Smi& key = Smi::Cast(obj);
     return HashValue(key.Value());
   }
-  static uword Hash(const TokenPosition& key) {
-    return HashValue(key.value());
-  }
+  static uword Hash(const TokenPosition& key) { return HashValue(key.value()); }
   // Used by CacheConstantValue if a new constant is added to the map.
   static RawObject* NewKey(const TokenPosition& key) {
     return Smi::New(key.value());
   }
 
  private:
-  static uword HashValue(intptr_t pos) {
-    return pos % (Smi::kMaxValue - 13);
-  }
+  static uword HashValue(intptr_t pos) { return pos % (Smi::kMaxValue - 13); }
 };
 typedef UnorderedHashMap<ConstMapKeyEqualsTraits> ConstantsMap;
 
@@ -113,11 +110,9 @@
         kernel_scopes_(NULL) {
     ASSERT(function.IsZoneHandle());
     // Every function has a local variable for the current context.
-    LocalVariable* temp = new(zone()) LocalVariable(
-        function.token_pos(),
-        function.token_pos(),
-        Symbols::CurrentContextVar(),
-        Object::dynamic_type());
+    LocalVariable* temp = new (zone())
+        LocalVariable(function.token_pos(), function.token_pos(),
+                      Symbols::CurrentContextVar(), Object::dynamic_type());
     ASSERT(temp != NULL);
     current_context_var_ = temp;
   }
@@ -159,9 +154,7 @@
     return default_parameter_values_;
   }
 
-  LocalVariable* current_context_var() const {
-    return current_context_var_;
-  }
+  LocalVariable* current_context_var() const { return current_context_var_; }
 
   LocalVariable* expression_temp_var() const {
     ASSERT(has_expression_temp_var());
@@ -171,9 +164,7 @@
     ASSERT(!has_expression_temp_var());
     expression_temp_var_ = value;
   }
-  bool has_expression_temp_var() const {
-    return expression_temp_var_ != NULL;
-  }
+  bool has_expression_temp_var() const { return expression_temp_var_ != NULL; }
 
   LocalVariable* finally_return_temp_var() const {
     ASSERT(has_finally_return_temp_var());
@@ -205,8 +196,7 @@
   int num_copied_params() const { return num_copied_params_; }
   int num_stack_locals() const { return num_stack_locals_; }
   int num_non_copied_params() const {
-    return (num_copied_params_ == 0)
-        ? function().num_fixed_parameters() : 0;
+    return (num_copied_params_ == 0) ? function().num_fixed_parameters() : 0;
   }
 
   void AllocateVariables();
@@ -301,9 +291,7 @@
   class TryStack;
   class TokenPosScope;
 
-  Parser(const Script& script,
-         const Library& library,
-         TokenPosition token_pos);
+  Parser(const Script& script, const Library& library, TokenPosition token_pos);
   Parser(const Script& script,
          ParsedFunction* function,
          TokenPosition token_pos);
@@ -345,9 +333,7 @@
   void set_current_class(const Class& value);
 
   // ParsedFunction accessor.
-  ParsedFunction* parsed_function() const {
-    return parsed_function_;
-  }
+  ParsedFunction* parsed_function() const { return parsed_function_; }
 
   const Script& script() const { return script_; }
   void SetScript(const Script& script, TokenPosition token_pos);
@@ -358,7 +344,7 @@
   // Parsing a library or a regular source script.
   bool is_library_source() const {
     return (script_.kind() == RawScript::kScriptTag) ||
-        (script_.kind() == RawScript::kLibraryTag);
+           (script_.kind() == RawScript::kLibraryTag);
   }
 
   bool is_part_source() const {
@@ -370,9 +356,7 @@
     return script_.kind() == RawScript::kPatchTag;
   }
 
-  TokenPosition TokenPos() const {
-    return tokens_iterator_.CurrentPosition();
-  }
+  TokenPosition TokenPos() const { return tokens_iterator_.CurrentPosition(); }
   TokenPosition PrevTokenPos() const { return prev_token_pos_; }
 
   Token::Kind CurrentToken() {
@@ -453,8 +437,10 @@
 
   // Concatenate and report an already formatted error and a new error message.
   static void ReportErrors(const Error& prev_error,
-                           const Script& script, TokenPosition token_pos,
-                           const char* format, ...) PRINTF_ATTRIBUTE(4, 5);
+                           const Script& script,
+                           TokenPosition token_pos,
+                           const char* format,
+                           ...) PRINTF_ATTRIBUTE(4, 5);
 
   // Report error message at location of current token in current script.
   void ReportError(const char* msg, ...) const PRINTF_ATTRIBUTE(2, 3);
@@ -462,15 +448,15 @@
   void ReportErrorBefore(const char* format, ...) PRINTF_ATTRIBUTE(2, 3);
 
   // Report error message at given location in current script.
-  void ReportError(TokenPosition token_pos,
-                   const char* msg, ...) const PRINTF_ATTRIBUTE(3, 4);
+  void ReportError(TokenPosition token_pos, const char* msg, ...) const
+      PRINTF_ATTRIBUTE(3, 4);
 
   // Report warning message at location of current token in current script.
   void ReportWarning(const char* msg, ...) const PRINTF_ATTRIBUTE(2, 3);
 
   // Report warning message at given location in current script.
-  void ReportWarning(TokenPosition token_pos,
-                     const char* msg, ...) const PRINTF_ATTRIBUTE(3, 4);
+  void ReportWarning(TokenPosition token_pos, const char* msg, ...) const
+      PRINTF_ATTRIBUTE(3, 4);
 
   void CheckRecursiveInvocation();
 
@@ -500,11 +486,14 @@
                     const Object& tl_owner,
                     TokenPosition metadata_pos);
   void ParseTopLevelVariable(TopLevel* top_level,
-                             const Object& owner, TokenPosition metadata_pos);
+                             const Object& owner,
+                             TokenPosition metadata_pos);
   void ParseTopLevelFunction(TopLevel* top_level,
-                             const Object& owner, TokenPosition metadata_pos);
+                             const Object& owner,
+                             TokenPosition metadata_pos);
   void ParseTopLevelAccessor(TopLevel* top_level,
-                             const Object& owner, TokenPosition metadata_pos);
+                             const Object& owner,
+                             TokenPosition metadata_pos);
   RawArray* EvaluateMetadata();
 
   RawFunction::AsyncModifier ParseFunctionModifier();
@@ -529,11 +518,10 @@
   RawAbstractType* ParseType(ClassFinalizer::FinalizationKind finalization,
                              bool allow_deferred_type = false,
                              bool consume_unresolved_prefix = true);
-  RawAbstractType* ParseType(
-      ClassFinalizer::FinalizationKind finalization,
-      bool allow_deferred_type,
-      bool consume_unresolved_prefix,
-      LibraryPrefix* prefix);
+  RawAbstractType* ParseType(ClassFinalizer::FinalizationKind finalization,
+                             bool allow_deferred_type,
+                             bool consume_unresolved_prefix,
+                             LibraryPrefix* prefix);
 
   void ParseTypeParameters(bool parameterizing_class);
   RawTypeArguments* ParseTypeArguments(
@@ -560,20 +548,18 @@
       const Class& cls,
       LocalVariable* receiver,
       GrowableArray<Field*>* initialized_fields);
-  AstNode* CheckDuplicateFieldInit(
-      TokenPosition init_pos,
-      GrowableArray<Field*>* initialized_fields,
-      AstNode* instance,
-      Field* field,
-      AstNode* init_value);
+  AstNode* CheckDuplicateFieldInit(TokenPosition init_pos,
+                                   GrowableArray<Field*>* initialized_fields,
+                                   AstNode* instance,
+                                   Field* field,
+                                   AstNode* init_value);
   StaticCallNode* GenerateSuperConstructorCall(
       const Class& cls,
       TokenPosition supercall_pos,
       LocalVariable* receiver,
       ArgumentListNode* forwarding_args);
-  StaticCallNode* ParseSuperInitializer(
-      const Class& cls,
-      LocalVariable* receiver);
+  StaticCallNode* ParseSuperInitializer(const Class& cls,
+                                        LocalVariable* receiver);
   AstNode* ParseInitializer(const Class& cls,
                             LocalVariable* receiver,
                             GrowableArray<Field*>* initialized_fields);
@@ -663,7 +649,7 @@
 
   SequenceNode* CloseAsyncClosure(SequenceNode* body);
   SequenceNode* CloseAsyncTryBlock(SequenceNode* try_block);
-  SequenceNode* CloseAsyncGeneratorTryBlock(SequenceNode *body);
+  SequenceNode* CloseAsyncGeneratorTryBlock(SequenceNode* body);
 
   void AddAsyncClosureParameters(ParamList* params);
   void AddContinuationVariables();
@@ -734,11 +720,10 @@
   // Pop the inner most try block from the stack.
   TryStack* PopTry();
   // Collect saved try context variables if await or yield is in try block.
-  void CheckAsyncOpInTryBlock(
-      LocalVariable** saved_try_ctx,
-      LocalVariable** async_saved_try_ctx,
-      LocalVariable** outer_saved_try_ctx,
-      LocalVariable** outer_async_saved_try_ctx) const;
+  void CheckAsyncOpInTryBlock(LocalVariable** saved_try_ctx,
+                              LocalVariable** async_saved_try_ctx,
+                              LocalVariable** outer_saved_try_ctx,
+                              LocalVariable** outer_async_saved_try_ctx) const;
   // Add specified node to try block list so that it can be patched with
   // inlined finally code if needed.
   void AddNodeForFinallyInlining(AstNode* node);
@@ -840,7 +825,7 @@
   const AbstractType* ReceiverType(const Class& cls);
   bool IsInstantiatorRequired() const;
   bool ResolveIdentInLocalScope(TokenPosition ident_pos,
-                                const String &ident,
+                                const String& ident,
                                 AstNode** node,
                                 intptr_t* function_level);
   static const bool kResolveLocally = true;
@@ -924,7 +909,7 @@
   Isolate* isolate() const { return isolate_; }
   Zone* zone() const { return thread_->zone(); }
 
-  Thread* thread_;  // Cached current thread.
+  Thread* thread_;    // Cached current thread.
   Isolate* isolate_;  // Cached current isolate.
 
   Script& script_;
diff --git a/runtime/vm/parser_test.cc b/runtime/vm/parser_test.cc
index 14fae8e..ece6a9a 100644
--- a/runtime/vm/parser_test.cc
+++ b/runtime/vm/parser_test.cc
@@ -21,8 +21,8 @@
 static void DumpFunction(const Library& lib,
                          const char* cname,
                          const char* fname) {
-  const String& classname = String::Handle(Symbols::New(Thread::Current(),
-                                                        cname));
+  const String& classname =
+      String::Handle(Symbols::New(Thread::Current(), cname));
   String& funcname = String::Handle(String::New(fname));
 
   bool retval;
@@ -32,7 +32,7 @@
     Class& cls = Class::Handle(lib.LookupClass(classname));
     EXPECT(!cls.IsNull());
     Function& function =
-      Function::ZoneHandle(cls.LookupStaticFunction(funcname));
+        Function::ZoneHandle(cls.LookupStaticFunction(funcname));
     EXPECT(!function.IsNull());
     ParsedFunction* parsed_function =
         new ParsedFunction(Thread::Current(), function);
@@ -58,8 +58,8 @@
                 const char* field_name,
                 bool expect_static,
                 bool is_final) {
-  const String& classname = String::Handle(Symbols::New(Thread::Current(),
-                                                        class_name));
+  const String& classname =
+      String::Handle(Symbols::New(Thread::Current(), class_name));
   Class& cls = Class::Handle(lib.LookupClass(classname));
   EXPECT(!cls.IsNull());
 
@@ -94,8 +94,8 @@
                    const char* class_name,
                    const char* function_name,
                    bool expect_static) {
-  const String& classname = String::Handle(Symbols::New(Thread::Current(),
-                                                        class_name));
+  const String& classname =
+      String::Handle(Symbols::New(Thread::Current(), class_name));
   Class& cls = Class::Handle(lib.LookupClass(classname));
   EXPECT(!cls.IsNull());
 
@@ -126,9 +126,8 @@
 
   String& url = String::Handle(String::New("dart-test:Parser_TopLevel"));
   String& source = String::Handle(String::New(script_chars));
-  Script& script = Script::Handle(Script::New(url,
-                                              source,
-                                              RawScript::kScriptTag));
+  Script& script =
+      Script::Handle(Script::New(url, source, RawScript::kScriptTag));
   Library& lib = Library::ZoneHandle(Library::CoreLibrary());
 
   script.Tokenize(String::Handle(String::New("")));
@@ -161,9 +160,8 @@
 
   String& url = String::Handle(String::New("dart-test:Parser_TopLevel"));
   String& source = String::Handle(String::New(script_chars));
-  Script& script = Script::Handle(Script::New(url,
-                                              source,
-                                              RawScript::kScriptTag));
+  Script& script =
+      Script::Handle(Script::New(url, source, RawScript::kScriptTag));
   Library& lib = Library::ZoneHandle(Library::CoreLibrary());
 
   script.Tokenize(String::Handle(String::New("")));
@@ -217,8 +215,7 @@
 static void SaveVars(Dart_IsolateId isolate_id,
                      intptr_t bp_id,
                      const Dart_CodeLocation& loc) {
-  DebuggerStackTrace* stack =
-      Isolate::Current()->debugger()->StackTrace();
+  DebuggerStackTrace* stack = Isolate::Current()->debugger()->StackTrace();
   intptr_t num_frames = stack->Length();
   const int kBufferLen = 2048;
   char* buffer = new char[kBufferLen];
@@ -228,13 +225,12 @@
     ActivationFrame* frame = stack->FrameAt(i);
     var_desc = frame->code().GetLocalVarDescriptors();
     const char* var_str = SkipIndex(var_desc.ToCString());
-    const char* function_str = String::Handle(
-        frame->function().QualifiedUserVisibleName()).ToCString();
-    pos += OS::SNPrint(pos, (kBufferLen - (pos - buffer)),
-                       "%s\n%s",
-                       function_str,
-                       var_str);
-    delete [] var_str;
+    const char* function_str =
+        String::Handle(frame->function().QualifiedUserVisibleName())
+            .ToCString();
+    pos += OS::SNPrint(pos, (kBufferLen - (pos - buffer)), "%s\n%s",
+                       function_str, var_str);
+    delete[] var_str;
   }
   pos[0] = '\0';
   saved_vars = buffer;
diff --git a/runtime/vm/port.cc b/runtime/vm/port.cc
index d5513d5..20a142d 100644
--- a/runtime/vm/port.cc
+++ b/runtime/vm/port.cc
@@ -112,11 +112,12 @@
     map_[index].handler->increment_live_ports();
   }
   if (FLAG_trace_isolates) {
-    OS::Print("[^] Port (%s) -> (%s): \n"
-              "\thandler:    %s\n"
-              "\tport:       %" Pd64 "\n",
-              PortStateString(old_state), PortStateString(state),
-              map_[index].handler->name(), port);
+    OS::Print(
+        "[^] Port (%s) -> (%s): \n"
+        "\thandler:    %s\n"
+        "\tport:       %" Pd64 "\n",
+        PortStateString(old_state), PortStateString(state),
+        map_[index].handler->name(), port);
   }
 }
 
@@ -174,10 +175,11 @@
   MaintainInvariants();
 
   if (FLAG_trace_isolates) {
-    OS::Print("[+] Opening port: \n"
-              "\thandler:    %s\n"
-              "\tport:       %" Pd64 "\n",
-              handler->name(), entry.port);
+    OS::Print(
+        "[+] Opening port: \n"
+        "\thandler:    %s\n"
+        "\tport:       %" Pd64 "\n",
+        handler->name(), entry.port);
   }
 
   return entry.port;
diff --git a/runtime/vm/port_test.cc b/runtime/vm/port_test.cc
index ee443cd..d42a3e6 100644
--- a/runtime/vm/port_test.cc
+++ b/runtime/vm/port_test.cc
@@ -34,9 +34,7 @@
  public:
   PortTestMessageHandler() : notify_count(0) {}
 
-  void MessageNotify(Message::Priority priority) {
-    notify_count++;
-  }
+  void MessageNotify(Message::Priority priority) { notify_count++; }
 
   MessageStatus HandleMessage(Message* message) { return kOK; }
 
@@ -141,9 +139,9 @@
   const char* message = "msg";
   intptr_t message_len = strlen(message) + 1;
 
-  EXPECT(PortMap::PostMessage(new Message(
-      port, reinterpret_cast<uint8_t*>(strdup(message)), message_len,
-      Message::kNormalPriority)));
+  EXPECT(PortMap::PostMessage(
+      new Message(port, reinterpret_cast<uint8_t*>(strdup(message)),
+                  message_len, Message::kNormalPriority)));
 
   // Check that the message notify callback was called.
   EXPECT_EQ(1, handler.notify_count);
@@ -156,8 +154,8 @@
   Dart_Port port = PortMap::CreatePort(&handler);
   EXPECT_EQ(0, handler.notify_count);
 
-  EXPECT(PortMap::PostMessage(new Message(
-      port, Smi::New(42), Message::kNormalPriority)));
+  EXPECT(PortMap::PostMessage(
+      new Message(port, Smi::New(42), Message::kNormalPriority)));
 
   // Check that the message notify callback was called.
   EXPECT_EQ(1, handler.notify_count);
@@ -170,8 +168,8 @@
   Dart_Port port = PortMap::CreatePort(&handler);
   EXPECT_EQ(0, handler.notify_count);
 
-  EXPECT(PortMap::PostMessage(new Message(
-      port, Object::null(), Message::kNormalPriority)));
+  EXPECT(PortMap::PostMessage(
+      new Message(port, Object::null(), Message::kNormalPriority)));
 
   // Check that the message notify callback was called.
   EXPECT_EQ(1, handler.notify_count);
@@ -188,9 +186,9 @@
   const char* message = "msg";
   intptr_t message_len = strlen(message) + 1;
 
-  EXPECT(!PortMap::PostMessage(new Message(
-      port, reinterpret_cast<uint8_t*>(strdup(message)), message_len,
-      Message::kNormalPriority)));
+  EXPECT(!PortMap::PostMessage(
+      new Message(port, reinterpret_cast<uint8_t*>(strdup(message)),
+                  message_len, Message::kNormalPriority)));
 }
 
 }  // namespace dart
diff --git a/runtime/vm/precompiler.cc b/runtime/vm/precompiler.cc
index 6f57ab8..5c50458 100644
--- a/runtime/vm/precompiler.cc
+++ b/runtime/vm/precompiler.cc
@@ -53,7 +53,10 @@
 
 DEFINE_FLAG(bool, print_unique_targets, false, "Print unique dynaic targets");
 DEFINE_FLAG(bool, trace_precompiler, false, "Trace precompiler.");
-DEFINE_FLAG(int, max_speculative_inlining_attempts, 1,
+DEFINE_FLAG(
+    int,
+    max_speculative_inlining_attempts,
+    1,
     "Max number of attempts with speculative inlining (precompilation only)");
 DEFINE_FLAG(int, precompiler_rounds, 1, "Number of precompiler iterations");
 
@@ -80,16 +83,13 @@
  public:
   explicit DartPrecompilationPipeline(Zone* zone,
                                       FieldTypeMap* field_map = NULL)
-      : zone_(zone),
-        result_type_(CompileType::None()),
-        field_map_(field_map) { }
+      : zone_(zone), result_type_(CompileType::None()), field_map_(field_map) {}
 
   virtual void FinalizeCompilation(FlowGraph* flow_graph) {
-    if ((field_map_ != NULL )&&
+    if ((field_map_ != NULL) &&
         flow_graph->function().IsGenerativeConstructor()) {
       for (BlockIterator block_it = flow_graph->reverse_postorder_iterator();
-           !block_it.Done();
-           block_it.Advance()) {
+           !block_it.Done(); block_it.Advance()) {
         ForwardInstructionIterator it(block_it.Current());
         for (; !it.Done(); it.Advance()) {
           StoreInstanceFieldInstr* store = it.Current()->AsStoreInstanceField();
@@ -106,18 +106,18 @@
                     &Field::Handle(zone_, store->field().raw()),  // Re-wrap.
                     store->value()->Type()->ToCid()));
                 if (FLAG_trace_precompiler && FLAG_support_il_printer) {
-                    THR_Print(" initial type = %s\n",
-                              store->value()->Type()->ToCString());
+                  THR_Print(" initial type = %s\n",
+                            store->value()->Type()->ToCString());
                 }
                 continue;
               }
               CompileType type = CompileType::FromCid(entry->cid_);
               if (FLAG_trace_precompiler && FLAG_support_il_printer) {
-                  THR_Print(" old type = %s\n", type.ToCString());
+                THR_Print(" old type = %s\n", type.ToCString());
               }
               type.Union(store->value()->Type());
               if (FLAG_trace_precompiler && FLAG_support_il_printer) {
-                  THR_Print(" new type = %s\n", type.ToCString());
+                THR_Print(" new type = %s\n", type.ToCString());
               }
               entry->cid_ = type.ToCid();
             }
@@ -128,8 +128,7 @@
 
     CompileType result_type = CompileType::None();
     for (BlockIterator block_it = flow_graph->reverse_postorder_iterator();
-         !block_it.Done();
-         block_it.Advance()) {
+         !block_it.Done(); block_it.Advance()) {
       ForwardInstructionIterator it(block_it.Current());
       for (; !it.Done(); it.Advance()) {
         ReturnInstr* return_instr = it.Current()->AsReturn();
@@ -158,8 +157,7 @@
       : precompiler_(precompiler),
         parsed_function_(parsed_function),
         optimized_(optimized),
-        thread_(Thread::Current()) {
-  }
+        thread_(Thread::Current()) {}
 
   bool Compile(CompilationPipeline* pipeline);
 
@@ -216,7 +214,8 @@
   const TypeArguments& type_arguments =
       TypeArguments::Handle(zone, type.arguments());
   if (!type_arguments.IsNull() &&
-      !type_arguments.IsRaw(0, type_arguments.Length())) return false;
+      !type_arguments.IsRaw(0, type_arguments.Length()))
+    return false;
 
 
   intptr_t type_cid = type.type_class_id();
@@ -290,36 +289,35 @@
 }
 
 
-Precompiler::Precompiler(Thread* thread, bool reset_fields) :
-    thread_(thread),
-    zone_(NULL),
-    isolate_(thread->isolate()),
-    reset_fields_(reset_fields),
-    changed_(false),
-    function_count_(0),
-    class_count_(0),
-    selector_count_(0),
-    dropped_function_count_(0),
-    dropped_field_count_(0),
-    dropped_class_count_(0),
-    dropped_typearg_count_(0),
-    dropped_type_count_(0),
-    dropped_library_count_(0),
-    libraries_(GrowableObjectArray::Handle(I->object_store()->libraries())),
-    pending_functions_(
-        GrowableObjectArray::Handle(GrowableObjectArray::New())),
-    sent_selectors_(),
-    enqueued_functions_(),
-    fields_to_retain_(),
-    functions_to_retain_(),
-    classes_to_retain_(),
-    typeargs_to_retain_(),
-    types_to_retain_(),
-    consts_to_retain_(),
-    field_type_map_(),
-    error_(Error::Handle()),
-    get_runtime_type_is_unique_(false) {
-}
+Precompiler::Precompiler(Thread* thread, bool reset_fields)
+    : thread_(thread),
+      zone_(NULL),
+      isolate_(thread->isolate()),
+      reset_fields_(reset_fields),
+      changed_(false),
+      function_count_(0),
+      class_count_(0),
+      selector_count_(0),
+      dropped_function_count_(0),
+      dropped_field_count_(0),
+      dropped_class_count_(0),
+      dropped_typearg_count_(0),
+      dropped_type_count_(0),
+      dropped_library_count_(0),
+      libraries_(GrowableObjectArray::Handle(I->object_store()->libraries())),
+      pending_functions_(
+          GrowableObjectArray::Handle(GrowableObjectArray::New())),
+      sent_selectors_(),
+      enqueued_functions_(),
+      fields_to_retain_(),
+      functions_to_retain_(),
+      classes_to_retain_(),
+      typeargs_to_retain_(),
+      types_to_retain_(),
+      consts_to_retain_(),
+      field_type_map_(),
+      error_(Error::Handle()),
+      get_runtime_type_is_unique_(false) {}
 
 
 void Precompiler::DoCompileAll(
@@ -330,7 +328,8 @@
     StackZone stack_zone(T);
     zone_ = stack_zone.GetZone();
 
-    { HANDLESCOPE(T);
+    {
+      HANDLESCOPE(T);
       // Make sure class hierarchy is stable before compilation so that CHA
       // can be used. Also ensures lookup of entry points won't miss functions
       // because their class hasn't been finalized yet.
@@ -454,15 +453,14 @@
   class StaticInitializerVisitor : public ClassVisitor {
    public:
     explicit StaticInitializerVisitor(Zone* zone)
-      : fields_(Array::Handle(zone)),
-        field_(Field::Handle(zone)),
-        function_(Function::Handle(zone)) { }
+        : fields_(Array::Handle(zone)),
+          field_(Field::Handle(zone)),
+          function_(Function::Handle(zone)) {}
     void Visit(const Class& cls) {
       fields_ = cls.fields();
       for (intptr_t j = 0; j < fields_.Length(); j++) {
         field_ ^= fields_.At(j);
-        if (field_.is_static() &&
-            field_.is_final() &&
+        if (field_.is_static() && field_.is_final() &&
             field_.has_initializer()) {
           if (FLAG_trace_precompiler) {
             THR_Print("Precompiling initializer for %s\n", field_.ToCString());
@@ -488,8 +486,7 @@
   class ConstructorVisitor : public FunctionVisitor {
    public:
     explicit ConstructorVisitor(Precompiler* precompiler, Zone* zone)
-        : precompiler_(precompiler), zone_(zone) {
-    }
+        : precompiler_(precompiler), zone_(zone) {}
     void Visit(const Function& function) {
       if (!function.IsGenerativeConstructor()) return;
       if (function.HasCode()) {
@@ -500,10 +497,7 @@
       if (FLAG_trace_precompiler) {
         THR_Print("Precompiling constructor %s\n", function.ToCString());
       }
-      CompileFunction(precompiler_,
-                      Thread::Current(),
-                      zone_,
-                      function,
+      CompileFunction(precompiler_, Thread::Current(), zone_, function,
                       precompiler_->field_type_map());
     }
 
@@ -517,14 +511,14 @@
   VisitFunctions(&visitor);
 
   FieldTypeMap::Iterator it(field_type_map_.GetIterator());
-  for (FieldTypePair* current = it.Next();
-       current != NULL;
+  for (FieldTypePair* current = it.Next(); current != NULL;
        current = it.Next()) {
     const intptr_t cid = current->cid_;
     current->field_->set_guarded_cid(cid);
     current->field_->set_is_nullable(cid == kNullCid || cid == kDynamicCid);
     if (FLAG_trace_precompiler) {
-      THR_Print("Field %s <- Type %s\n", current->field_->ToCString(),
+      THR_Print(
+          "Field %s <- Type %s\n", current->field_->ToCString(),
           Class::Handle(T->isolate()->class_table()->At(cid)).ToCString());
     }
   }
@@ -542,9 +536,7 @@
   VisitFunctions(&function_visitor);
 
   class ClearCodeClassVisitor : public ClassVisitor {
-    void Visit(const Class& cls) {
-      cls.DisableAllocationStub();
-    }
+    void Visit(const Class& cls) { cls.DisableAllocationStub(); }
   };
   ClearCodeClassVisitor class_visitor;
   VisitClasses(&class_visitor);
@@ -566,10 +558,8 @@
     if (!isolate()->class_table()->HasValidClassAt(cid)) {
       continue;
     }
-    if ((cid == kDynamicCid) ||
-        (cid == kVoidCid) ||
-        (cid == kFreeListElement) ||
-        (cid == kForwardingCorpse)) {
+    if ((cid == kDynamicCid) || (cid == kVoidCid) ||
+        (cid == kFreeListElement) || (cid == kForwardingCorpse)) {
       continue;
     }
     cls = isolate()->class_table()->At(cid);
@@ -578,49 +568,48 @@
 
   Dart_QualifiedFunctionName vm_entry_points[] = {
     // Functions
-    { "dart:async", "::", "_setScheduleImmediateClosure" },
-    { "dart:core", "::", "_completeDeferredLoads" },
-    { "dart:core", "AbstractClassInstantiationError",
-                   "AbstractClassInstantiationError._create" },
-    { "dart:core", "ArgumentError", "ArgumentError." },
-    { "dart:core", "CyclicInitializationError",
-                   "CyclicInitializationError." },
-    { "dart:core", "FallThroughError", "FallThroughError._create" },
-    { "dart:core", "FormatException", "FormatException." },
-    { "dart:core", "NoSuchMethodError", "NoSuchMethodError._withType" },
-    { "dart:core", "NullThrownError", "NullThrownError." },
-    { "dart:core", "OutOfMemoryError", "OutOfMemoryError." },
-    { "dart:core", "RangeError", "RangeError." },
-    { "dart:core", "RangeError", "RangeError.range" },
-    { "dart:core", "StackOverflowError", "StackOverflowError." },
-    { "dart:core", "UnsupportedError", "UnsupportedError." },
-    { "dart:core", "_AssertionError", "_AssertionError._create" },
-    { "dart:core", "_CastError", "_CastError._create" },
-    { "dart:core", "_InternalError", "_InternalError." },
-    { "dart:core", "_InvocationMirror", "_allocateInvocationMirror" },
-    { "dart:core", "_TypeError", "_TypeError._create" },
-    { "dart:isolate", "IsolateSpawnException", "IsolateSpawnException." },
-    { "dart:isolate", "::", "_getIsolateScheduleImmediateClosure" },
-    { "dart:isolate", "::", "_setupHooks" },
-    { "dart:isolate", "::", "_startMainIsolate" },
-    { "dart:isolate", "::", "_startIsolate" },
-    { "dart:isolate", "_RawReceivePortImpl", "_handleMessage" },
-    { "dart:isolate", "_RawReceivePortImpl", "_lookupHandler" },
-    { "dart:isolate", "_SendPortImpl", "send" },
-    { "dart:typed_data", "ByteData", "ByteData." },
-    { "dart:typed_data", "ByteData", "ByteData._view" },
-    { "dart:typed_data", "ByteBuffer", "ByteBuffer._New" },
-    { "dart:_vmservice", "::", "_registerIsolate" },
-    { "dart:_vmservice", "::", "boot" },
+    {"dart:async", "::", "_setScheduleImmediateClosure"},
+    {"dart:core", "::", "_completeDeferredLoads"},
+    {"dart:core", "AbstractClassInstantiationError",
+     "AbstractClassInstantiationError._create"},
+    {"dart:core", "ArgumentError", "ArgumentError."},
+    {"dart:core", "CyclicInitializationError", "CyclicInitializationError."},
+    {"dart:core", "FallThroughError", "FallThroughError._create"},
+    {"dart:core", "FormatException", "FormatException."},
+    {"dart:core", "NoSuchMethodError", "NoSuchMethodError._withType"},
+    {"dart:core", "NullThrownError", "NullThrownError."},
+    {"dart:core", "OutOfMemoryError", "OutOfMemoryError."},
+    {"dart:core", "RangeError", "RangeError."},
+    {"dart:core", "RangeError", "RangeError.range"},
+    {"dart:core", "StackOverflowError", "StackOverflowError."},
+    {"dart:core", "UnsupportedError", "UnsupportedError."},
+    {"dart:core", "_AssertionError", "_AssertionError._create"},
+    {"dart:core", "_CastError", "_CastError._create"},
+    {"dart:core", "_InternalError", "_InternalError."},
+    {"dart:core", "_InvocationMirror", "_allocateInvocationMirror"},
+    {"dart:core", "_TypeError", "_TypeError._create"},
+    {"dart:isolate", "IsolateSpawnException", "IsolateSpawnException."},
+    {"dart:isolate", "::", "_getIsolateScheduleImmediateClosure"},
+    {"dart:isolate", "::", "_setupHooks"},
+    {"dart:isolate", "::", "_startMainIsolate"},
+    {"dart:isolate", "::", "_startIsolate"},
+    {"dart:isolate", "_RawReceivePortImpl", "_handleMessage"},
+    {"dart:isolate", "_RawReceivePortImpl", "_lookupHandler"},
+    {"dart:isolate", "_SendPortImpl", "send"},
+    {"dart:typed_data", "ByteData", "ByteData."},
+    {"dart:typed_data", "ByteData", "ByteData._view"},
+    {"dart:typed_data", "ByteBuffer", "ByteBuffer._New"},
+    {"dart:_vmservice", "::", "_registerIsolate"},
+    {"dart:_vmservice", "::", "boot"},
 #if !defined(PRODUCT)
-    { "dart:developer", "Metrics", "_printMetrics" },
-    { "dart:developer", "::", "_runExtension" },
-    { "dart:isolate", "::", "_runPendingImmediateCallback" },
+    {"dart:developer", "Metrics", "_printMetrics"},
+    {"dart:developer", "::", "_runExtension"},
+    {"dart:isolate", "::", "_runPendingImmediateCallback"},
 #endif  // !PRODUCT
     // Fields
-    { "dart:core", "Error", "_stackTrace" },
-    { "dart:math", "_Random", "_state" },
-    { NULL, NULL, NULL }  // Must be terminated with NULL entries.
+    {"dart:core", "Error", "_stackTrace"},
+    {"dart:math", "_Random", "_state"},
+    {NULL, NULL, NULL}  // Must be terminated with NULL entries.
   };
 
   AddEntryPoints(vm_entry_points);
@@ -644,8 +633,9 @@
 
     lib = Library::LookupLibrary(T, library_uri);
     if (lib.IsNull()) {
-      String& msg = String::Handle(Z, String::NewFormatted(
-          "Cannot find entry point %s\n", entry_points[i].library_uri));
+      String& msg =
+          String::Handle(Z, String::NewFormatted("Cannot find entry point %s\n",
+                                                 entry_points[i].library_uri));
       Jump(Error::Handle(Z, ApiError::New(msg)));
       UNREACHABLE();
     }
@@ -662,10 +652,10 @@
       }
       cls = lib.LookupLocalClass(class_name);
       if (cls.IsNull()) {
-        String& msg = String::Handle(Z, String::NewFormatted(
-            "Cannot find entry point %s %s\n",
-            entry_points[i].library_uri,
-            entry_points[i].class_name));
+        String& msg = String::Handle(
+            Z, String::NewFormatted("Cannot find entry point %s %s\n",
+                                    entry_points[i].library_uri,
+                                    entry_points[i].class_name));
         Jump(Error::Handle(Z, ApiError::New(msg)));
         UNREACHABLE();
       }
@@ -676,11 +666,11 @@
     }
 
     if (func.IsNull() && field.IsNull()) {
-      String& msg = String::Handle(Z, String::NewFormatted(
-          "Cannot find entry point %s %s %s\n",
-          entry_points[i].library_uri,
-          entry_points[i].class_name,
-          entry_points[i].function_name));
+      String& msg = String::Handle(
+          Z, String::NewFormatted("Cannot find entry point %s %s %s\n",
+                                  entry_points[i].library_uri,
+                                  entry_points[i].class_name,
+                                  entry_points[i].function_name));
       Jump(Error::Handle(Z, ApiError::New(msg)));
       UNREACHABLE();
     }
@@ -759,8 +749,7 @@
         if (FLAG_trace_precompiler) {
           THR_Print("Found callback field %s\n", field_name.ToCString());
         }
-        args_desc =
-            ArgumentsDescriptor::New(function.num_fixed_parameters());
+        args_desc = ArgumentsDescriptor::New(function.num_fixed_parameters());
         cids.Clear();
         if (T->cha()->ConcreteSubclasses(cls, &cids)) {
           for (intptr_t j = 0; j < cids.length(); ++j) {
@@ -768,9 +757,7 @@
             if (subcls.is_allocated()) {
               // Add dispatcher to cls.
               dispatcher = subcls.GetInvocationDispatcher(
-                  field_name,
-                  args_desc,
-                  RawFunction::kInvokeFieldDispatcher,
+                  field_name, args_desc, RawFunction::kInvokeFieldDispatcher,
                   /* create_if_absent = */ true);
               if (FLAG_trace_precompiler) {
                 THR_Print("Added invoke-field-dispatcher for %s to %s\n",
@@ -791,8 +778,7 @@
     function_count_++;
 
     if (FLAG_trace_precompiler) {
-      THR_Print("Precompiling %" Pd " %s (%s, %s)\n",
-                function_count_,
+      THR_Print("Precompiling %" Pd " %s (%s, %s)\n", function_count_,
                 function.ToLibNamePrefixedQualifiedCString(),
                 function.token_pos().ToCString(),
                 Function::KindToCString(function.kind()));
@@ -1057,10 +1043,10 @@
 
   class ConstObjectVisitor : public ObjectPointerVisitor {
    public:
-    ConstObjectVisitor(Precompiler* precompiler, Isolate* isolate) :
-        ObjectPointerVisitor(isolate),
-        precompiler_(precompiler),
-        subinstance_(Object::Handle()) {}
+    ConstObjectVisitor(Precompiler* precompiler, Isolate* isolate)
+        : ObjectPointerVisitor(isolate),
+          precompiler_(precompiler),
+          subinstance_(Object::Handle()) {}
 
     virtual void VisitPointers(RawObject** first, RawObject** last) {
       for (RawObject** current = first; current <= last; current++) {
@@ -1087,11 +1073,10 @@
       Array::Handle(Z, call_site.arguments_descriptor());
   const Class& cache_class =
       Class::Handle(Z, I->object_store()->closure_class());
-  const Function& dispatcher = Function::Handle(Z,
-      cache_class.GetInvocationDispatcher(Symbols::Call(),
-                                          arguments_descriptor,
-                                          RawFunction::kInvokeFieldDispatcher,
-                                          true /* create_if_absent */));
+  const Function& dispatcher = Function::Handle(
+      Z, cache_class.GetInvocationDispatcher(
+             Symbols::Call(), arguments_descriptor,
+             RawFunction::kInvokeFieldDispatcher, true /* create_if_absent */));
   AddFunction(dispatcher);
 }
 
@@ -1118,8 +1103,8 @@
           THR_Print("Precompiling initializer for %s\n", field.ToCString());
         }
         ASSERT(Dart::snapshot_kind() != Snapshot::kAppNoJIT);
-        const Function& initializer = Function::Handle(Z,
-            CompileStaticInitializer(field, /* compute_type = */ true));
+        const Function& initializer = Function::Handle(
+            Z, CompileStaticInitializer(field, /* compute_type = */ true));
         ASSERT(!initializer.IsNull());
         field.SetPrecompiledInitializer(initializer);
         AddCalleesOf(initializer);
@@ -1187,8 +1172,7 @@
   } else {
     Thread* const thread = Thread::Current();
     StackZone zone(thread);
-    const Error& error =
-        Error::Handle(thread->zone(), thread->sticky_error());
+    const Error& error = Error::Handle(thread->zone(), thread->sticky_error());
     thread->clear_sticky_error();
     return error.raw();
   }
@@ -1214,7 +1198,7 @@
     const Function& func = Function::ZoneHandle(Function::New(
         String::Handle(Symbols::New(thread, kEvalConst)),
         RawFunction::kRegularFunction,
-        true,  // static function
+        true,   // static function
         false,  // not const function
         false,  // not abstract
         false,  // not external
@@ -1235,8 +1219,7 @@
     ParsedFunction* parsed_function = new ParsedFunction(thread, func);
     parsed_function->SetNodeSequence(fragment);
     fragment->scope()->AddVariable(parsed_function->EnsureExpressionTemp());
-    fragment->scope()->AddVariable(
-        parsed_function->current_context_var());
+    fragment->scope()->AddVariable(parsed_function->current_context_var());
     parsed_function->AllocateVariables();
 
     // Non-optimized code generator.
@@ -1245,16 +1228,15 @@
                                           parsed_function,
                                           /* optimized = */ false);
     helper.Compile(&pipeline);
-    Code::Handle(func.unoptimized_code()).set_var_descriptors(
-        Object::empty_var_descriptors());
+    Code::Handle(func.unoptimized_code())
+        .set_var_descriptors(Object::empty_var_descriptors());
 
     const Object& result = PassiveObject::Handle(
         DartEntry::InvokeFunction(func, Object::empty_array()));
     return result.raw();
   } else {
     Thread* const thread = Thread::Current();
-    const Object& result =
-      PassiveObject::Handle(thread->sticky_error());
+    const Object& result = PassiveObject::Handle(thread->sticky_error());
     thread->clear_sticky_error();
     return result.raw();
   }
@@ -1289,8 +1271,7 @@
     changed_ = true;
 
     if (FLAG_trace_precompiler) {
-      THR_Print("Enqueueing selector %" Pd " %s\n",
-                selector_count_,
+      THR_Print("Enqueueing selector %" Pd " %s\n", selector_count_,
                 selector.ToCString());
     }
   }
@@ -1362,8 +1343,8 @@
             // Function is get:foo and somewhere foo is called.
             AddFunction(function);
           }
-          selector3 = Symbols::LookupFromConcat(thread(),
-              Symbols::ClosurizePrefix(), selector2);
+          selector3 = Symbols::LookupFromConcat(
+              thread(), Symbols::ClosurizePrefix(), selector2);
           if (IsSent(selector3)) {
             // Hash-closurization.
             // Function is get:foo and somewhere get:#foo is called.
@@ -1377,8 +1358,8 @@
             AddFunction(function2);
           }
         } else if (Field::IsSetterName(selector)) {
-          selector2 = Symbols::LookupFromConcat(thread(),
-              Symbols::ClosurizePrefix(), selector);
+          selector2 = Symbols::LookupFromConcat(
+              thread(), Symbols::ClosurizePrefix(), selector);
           if (IsSent(selector2)) {
             // Hash-closurization.
             // Function is set:foo and somewhere get:#set:foo is called.
@@ -1403,8 +1384,8 @@
             function2 = function.GetMethodExtractor(selector2);
             AddFunction(function2);
           }
-          selector2 = Symbols::LookupFromConcat(thread(),
-              Symbols::ClosurizePrefix(), selector);
+          selector2 = Symbols::LookupFromConcat(
+              thread(), Symbols::ClosurizePrefix(), selector);
           if (IsSent(selector2)) {
             // Hash-closurization.
             // Function is foo and somewhere get:#foo is called.
@@ -1429,14 +1410,10 @@
 
   static bool IsMatch(const Object& a, const Object& b) {
     return a.IsString() && b.IsString() &&
-        String::Cast(a).Equals(String::Cast(b));
+           String::Cast(a).Equals(String::Cast(b));
   }
-  static uword Hash(const Object& obj) {
-    return String::Cast(obj).Hash();
-  }
-  static RawObject* NewKey(const String& str) {
-    return str.raw();
-  }
+  static uword Hash(const Object& obj) { return String::Cast(obj).Hash(); }
+  static RawObject* NewKey(const String& str) { return str.raw(); }
 };
 
 typedef UnorderedHashMap<NameFunctionsTraits> Table;
@@ -1530,7 +1507,7 @@
       THR_Print("* %s\n", function.ToQualifiedCString());
     }
     THR_Print("%" Pd " of %" Pd " dynamic selectors are unique\n",
-        functions_set.NumOccupied(), table.NumOccupied());
+              functions_set.NumOccupied(), table.NumOccupied());
   }
 
   isolate()->object_store()->set_unique_dynamic_targets(
@@ -1736,8 +1713,7 @@
           }
           dropped_field_count_++;
           if (FLAG_trace_precompiler) {
-            THR_Print("Dropping field %s\n",
-                      field.ToCString());
+            THR_Print("Dropping field %s\n", field.ToCString());
           }
         }
       }
@@ -1816,8 +1792,8 @@
   // Now construct a new type arguments table and save in the object store.
   const intptr_t dict_size =
       Utils::RoundUpToPowerOfTwo(retained_typeargs.Length() * 4 / 3);
-  typeargs_array = HashTables::New<CanonicalTypeArgumentsSet>(dict_size,
-                                                              Heap::kOld);
+  typeargs_array =
+      HashTables::New<CanonicalTypeArgumentsSet>(dict_size, Heap::kOld);
   CanonicalTypeArgumentsSet typeargs_table(Z, typeargs_array.raw());
   bool present;
   for (intptr_t i = 0; i < retained_typeargs.Length(); i++) {
@@ -1969,8 +1945,7 @@
         class_table->StatsWithUpdatedSize(cid)->post_gc.old_count;
     if (instances != 0) {
       FATAL2("Want to drop class %s, but it has %" Pd " instances\n",
-             cls.ToCString(),
-             instances);
+             cls.ToCString(), instances);
     }
 #endif
 
@@ -1994,8 +1969,8 @@
 void Precompiler::DropLibraries() {
   const GrowableObjectArray& retained_libraries =
       GrowableObjectArray::Handle(Z, GrowableObjectArray::New());
-  const Library& root_lib = Library::Handle(Z,
-      I->object_store()->root_library());
+  const Library& root_lib =
+      Library::Handle(Z, I->object_store()->root_library());
   Library& lib = Library::Handle(Z);
 
   for (intptr_t i = 0; i < libraries_.Length(); i++) {
@@ -2047,13 +2022,12 @@
 void Precompiler::BindStaticCalls() {
   class BindStaticCallsVisitor : public FunctionVisitor {
    public:
-    explicit BindStaticCallsVisitor(Zone* zone) :
-        code_(Code::Handle(zone)),
-        table_(Array::Handle(zone)),
-        pc_offset_(Smi::Handle(zone)),
-        target_(Function::Handle(zone)),
-        target_code_(Code::Handle(zone)) {
-    }
+    explicit BindStaticCallsVisitor(Zone* zone)
+        : code_(Code::Handle(zone)),
+          table_(Array::Handle(zone)),
+          pc_offset_(Smi::Handle(zone)),
+          target_(Function::Handle(zone)),
+          target_code_(Code::Handle(zone)) {}
 
     void Visit(const Function& function) {
       if (!function.HasCode()) {
@@ -2062,8 +2036,7 @@
       code_ = function.CurrentCode();
       table_ = code_.static_calls_target_table();
 
-      for (intptr_t i = 0;
-           i < table_.Length();
+      for (intptr_t i = 0; i < table_.Length();
            i += Code::kSCallTableEntryLength) {
         pc_offset_ ^= table_.At(i + Code::kSCallTableOffsetEntry);
         target_ ^= table_.At(i + Code::kSCallTableFunctionEntry);
@@ -2114,18 +2087,17 @@
 
   class SwitchICCallsVisitor : public FunctionVisitor {
    public:
-    explicit SwitchICCallsVisitor(Zone* zone) :
-        zone_(zone),
-        code_(Code::Handle(zone)),
-        pool_(ObjectPool::Handle(zone)),
-        entry_(Object::Handle(zone)),
-        ic_(ICData::Handle(zone)),
-        target_name_(String::Handle(zone)),
-        args_descriptor_(Array::Handle(zone)),
-        unlinked_(UnlinkedCall::Handle(zone)),
-        target_code_(Code::Handle(zone)),
-        canonical_unlinked_calls_() {
-    }
+    explicit SwitchICCallsVisitor(Zone* zone)
+        : zone_(zone),
+          code_(Code::Handle(zone)),
+          pool_(ObjectPool::Handle(zone)),
+          entry_(Object::Handle(zone)),
+          ic_(ICData::Handle(zone)),
+          target_name_(String::Handle(zone)),
+          args_descriptor_(Array::Handle(zone)),
+          unlinked_(UnlinkedCall::Handle(zone)),
+          target_code_(Code::Handle(zone)),
+          canonical_unlinked_calls_() {}
 
     void Visit(const Function& function) {
       if (!function.HasCode()) {
@@ -2191,18 +2163,18 @@
 
 
 void Precompiler::ShareMegamorphicBuckets() {
-  const GrowableObjectArray& table = GrowableObjectArray::Handle(Z,
-      I->object_store()->megamorphic_cache_table());
+  const GrowableObjectArray& table = GrowableObjectArray::Handle(
+      Z, I->object_store()->megamorphic_cache_table());
   if (table.IsNull()) return;
   MegamorphicCache& cache = MegamorphicCache::Handle(Z);
 
   const intptr_t capacity = 1;
-  const Array& buckets = Array::Handle(Z,
-      Array::New(MegamorphicCache::kEntryLength * capacity, Heap::kOld));
+  const Array& buckets = Array::Handle(
+      Z, Array::New(MegamorphicCache::kEntryLength * capacity, Heap::kOld));
   const Function& handler =
       Function::Handle(Z, MegamorphicCacheTable::miss_handler(I));
-  MegamorphicCache::SetEntry(buckets, 0,
-                             MegamorphicCache::smi_illegal_cid(), handler);
+  MegamorphicCache::SetEntry(buckets, 0, MegamorphicCache::smi_illegal_cid(),
+                             handler);
 
   for (intptr_t i = 0; i < table.Length(); i++) {
     cache ^= table.At(i);
@@ -2216,13 +2188,12 @@
 void Precompiler::DedupStackmaps() {
   class DedupStackmapsVisitor : public FunctionVisitor {
    public:
-    explicit DedupStackmapsVisitor(Zone* zone) :
-      zone_(zone),
-      canonical_stackmaps_(),
-      code_(Code::Handle(zone)),
-      stackmaps_(Array::Handle(zone)),
-      stackmap_(Stackmap::Handle(zone)) {
-    }
+    explicit DedupStackmapsVisitor(Zone* zone)
+        : zone_(zone),
+          canonical_stackmaps_(),
+          code_(Code::Handle(zone)),
+          stackmaps_(Array::Handle(zone)),
+          stackmap_(Stackmap::Handle(zone)) {}
 
     void Visit(const Function& function) {
       if (!function.HasCode()) {
@@ -2266,12 +2237,11 @@
 void Precompiler::DedupLists() {
   class DedupListsVisitor : public FunctionVisitor {
    public:
-    explicit DedupListsVisitor(Zone* zone) :
-      zone_(zone),
-      canonical_lists_(),
-      code_(Code::Handle(zone)),
-      list_(Array::Handle(zone)) {
-    }
+    explicit DedupListsVisitor(Zone* zone)
+        : zone_(zone),
+          canonical_lists_(),
+          code_(Code::Handle(zone)),
+          list_(Array::Handle(zone)) {}
 
     void Visit(const Function& function) {
       code_ = function.CurrentCode();
@@ -2285,10 +2255,8 @@
 
       list_ = function.parameter_types();
       if (!list_.IsNull()) {
-        if (!function.IsSignatureFunction() &&
-            !function.IsClosureFunction() &&
-            (function.name() != Symbols::Call().raw()) &&
-            !list_.InVMHeap()) {
+        if (!function.IsSignatureFunction() && !function.IsClosureFunction() &&
+            (function.name() != Symbols::Call().raw()) && !list_.InVMHeap()) {
           // Parameter types not needed for function type tests.
           for (intptr_t i = 0; i < list_.Length(); i++) {
             list_.SetAt(i, Object::dynamic_type());
@@ -2300,8 +2268,7 @@
 
       list_ = function.parameter_names();
       if (!list_.IsNull()) {
-        if (!function.HasOptionalNamedParameters() &&
-            !list_.InVMHeap()) {
+        if (!function.HasOptionalNamedParameters() && !list_.InVMHeap()) {
           // Parameter names not needed for resolution.
           for (intptr_t i = 0; i < list_.Length(); i++) {
             list_.SetAt(i, Symbols::OptimizedOut());
@@ -2337,12 +2304,11 @@
 void Precompiler::DedupInstructions() {
   class DedupInstructionsVisitor : public FunctionVisitor {
    public:
-    explicit DedupInstructionsVisitor(Zone* zone) :
-      zone_(zone),
-      canonical_instructions_set_(),
-      code_(Code::Handle(zone)),
-      instructions_(Instructions::Handle(zone)) {
-    }
+    explicit DedupInstructionsVisitor(Zone* zone)
+        : zone_(zone),
+          canonical_instructions_set_(),
+          code_(Code::Handle(zone)),
+          instructions_(Instructions::Handle(zone)) {}
 
     void Visit(const Function& function) {
       if (!function.HasCode()) {
@@ -2463,9 +2429,11 @@
     lib ^= libraries_.At(i);
     if (!lib.Loaded()) {
       String& uri = String::Handle(Z, lib.url());
-      String& msg = String::Handle(Z, String::NewFormatted(
-          "Library '%s' is not loaded. "
-          "Did you forget to call Dart_FinalizeLoading?", uri.ToCString()));
+      String& msg = String::Handle(
+          Z,
+          String::NewFormatted("Library '%s' is not loaded. "
+                               "Did you forget to call Dart_FinalizeLoading?",
+                               uri.ToCString()));
       Jump(Error::Handle(Z, ApiError::New(msg)));
     }
 
@@ -2523,8 +2491,8 @@
     if (old_to_new_cid[cid] == -1) {
       old_to_new_cid[cid] = next_new_cid++;
       if (FLAG_trace_precompiler) {
-        THR_Print("%" Pd ": %s, was %" Pd "\n",
-                  old_to_new_cid[cid], cls.ToCString(), cid);
+        THR_Print("%" Pd ": %s, was %" Pd "\n", old_to_new_cid[cid],
+                  cls.ToCString(), cid);
       }
     }
     subclasses = cls.direct_subclasses();
@@ -2543,8 +2511,8 @@
       old_to_new_cid[cid] = next_new_cid++;
       if (FLAG_trace_precompiler && table->HasValidClassAt(cid)) {
         cls = table->At(cid);
-        THR_Print("%" Pd ": %s, was %" Pd "\n",
-                  old_to_new_cid[cid], cls.ToCString(), cid);
+        THR_Print("%" Pd ": %s, was %" Pd "\n", old_to_new_cid[cid],
+                  cls.ToCString(), cid);
       }
     }
   }
@@ -2558,7 +2526,7 @@
 class CidRewriteVisitor : public ObjectVisitor {
  public:
   explicit CidRewriteVisitor(intptr_t* old_to_new_cids)
-      : old_to_new_cids_(old_to_new_cids) { }
+      : old_to_new_cids_(old_to_new_cids) {}
 
   intptr_t Map(intptr_t cid) {
     ASSERT(cid != -1);
@@ -2670,8 +2638,8 @@
            deopt_info_array.Length() * sizeof(uword));
   // Allocates instruction object. Since this occurs only at safepoint,
   // there can be no concurrent access to the instruction page.
-  const Code& code = Code::Handle(
-      Code::FinalizeCode(function, assembler, optimized()));
+  const Code& code =
+      Code::Handle(Code::FinalizeCode(function, assembler, optimized()));
   code.set_is_optimized(optimized());
   code.set_owner(function);
   if (!function.IsOptimizable()) {
@@ -2681,8 +2649,7 @@
   }
 
   const Array& intervals = graph_compiler->inlined_code_intervals();
-  INC_STAT(thread(), total_code_size,
-           intervals.Length() * sizeof(uword));
+  INC_STAT(thread(), total_code_size, intervals.Length() * sizeof(uword));
   code.SetInlinedIntervals(intervals);
 
   const Array& inlined_id_array =
@@ -2767,16 +2734,13 @@
       {
         CSTAT_TIMER_SCOPE(thread(), graphbuilder_timer);
         ZoneGrowableArray<const ICData*>* ic_data_array =
-            new(zone) ZoneGrowableArray<const ICData*>();
+            new (zone) ZoneGrowableArray<const ICData*>();
 #ifndef PRODUCT
-        TimelineDurationScope tds(thread(),
-                                  compiler_timeline,
+        TimelineDurationScope tds(thread(), compiler_timeline,
                                   "BuildFlowGraph");
 #endif  // !PRODUCT
-        flow_graph = pipeline->BuildFlowGraph(zone,
-                                              parsed_function(),
-                                              *ic_data_array,
-                                              Compiler::kNoOSRDeoptId);
+        flow_graph = pipeline->BuildFlowGraph(
+            zone, parsed_function(), *ic_data_array, Compiler::kNoOSRDeoptId);
       }
 
       const bool print_flow_graph =
@@ -2790,9 +2754,7 @@
 
       if (optimized()) {
 #ifndef PRODUCT
-        TimelineDurationScope tds(thread(),
-                                  compiler_timeline,
-                                  "ComputeSSA");
+        TimelineDurationScope tds(thread(), compiler_timeline, "ComputeSSA");
 #endif  // !PRODUCT
         CSTAT_TIMER_SCOPE(thread(), ssa_timer);
         // Transform to SSA (virtual register 0 and no inlining arguments).
@@ -2815,8 +2777,7 @@
       // potentially affect optimizations.
       if (optimized()) {
 #ifndef PRODUCT
-        TimelineDurationScope tds(thread(),
-                                  compiler_timeline,
+        TimelineDurationScope tds(thread(), compiler_timeline,
                                   "OptimizationPasses");
 #endif  // !PRODUCT
         inline_id_to_function.Add(&function);
@@ -2830,10 +2791,8 @@
         caller_inline_id.Add(-1);
         CSTAT_TIMER_SCOPE(thread(), graphoptimizer_timer);
 
-        AotOptimizer optimizer(precompiler_,
-                               flow_graph,
-                               use_speculative_inlining,
-                               &inlining_black_list);
+        AotOptimizer optimizer(precompiler_, flow_graph,
+                               use_speculative_inlining, &inlining_black_list);
         optimizer.PopulateWithICData();
 
         optimizer.ApplyClassIds();
@@ -2855,9 +2814,7 @@
         // Inlining (mutates the flow graph)
         if (FLAG_use_inlining) {
 #ifndef PRODUCT
-          TimelineDurationScope tds2(thread(),
-                                     compiler_timeline,
-                                     "Inlining");
+          TimelineDurationScope tds2(thread(), compiler_timeline, "Inlining");
 #endif  // !PRODUCT
           CSTAT_TIMER_SCOPE(thread(), graphinliner_timer);
           // Propagate types to create more inlining opportunities.
@@ -2868,13 +2825,10 @@
           optimizer.ApplyClassIds();
           DEBUG_ASSERT(flow_graph->VerifyUseLists());
 
-          FlowGraphInliner inliner(flow_graph,
-                                   &inline_id_to_function,
-                                   &inline_id_to_token_pos,
-                                   &caller_inline_id,
+          FlowGraphInliner inliner(flow_graph, &inline_id_to_function,
+                                   &inline_id_to_token_pos, &caller_inline_id,
                                    use_speculative_inlining,
-                                   &inlining_black_list,
-                                   precompiler_);
+                                   &inlining_black_list, precompiler_);
           inliner.Inline();
           // Use lists are maintained and validated by the inliner.
           DEBUG_ASSERT(flow_graph->VerifyUseLists());
@@ -2886,8 +2840,7 @@
 
         {
 #ifndef PRODUCT
-          TimelineDurationScope tds2(thread(),
-                                     compiler_timeline,
+          TimelineDurationScope tds2(thread(), compiler_timeline,
                                      "ApplyClassIds");
 #endif  // !PRODUCT
           // Use propagated class-ids to optimize further.
@@ -2910,8 +2863,7 @@
 
         {
 #ifndef PRODUCT
-          TimelineDurationScope tds2(thread(),
-                                     compiler_timeline,
+          TimelineDurationScope tds2(thread(), compiler_timeline,
                                      "BranchSimplifier");
 #endif  // !PRODUCT
           BranchSimplifier::Simplify(flow_graph);
@@ -2923,8 +2875,7 @@
 
         if (FLAG_constant_propagation) {
 #ifndef PRODUCT
-          TimelineDurationScope tds2(thread(),
-                                     compiler_timeline,
+          TimelineDurationScope tds2(thread(), compiler_timeline,
                                      "ConstantPropagation");
 #endif  // !PRODUCT
           ConstantPropagator::Optimize(flow_graph);
@@ -2954,8 +2905,7 @@
 
         {
 #ifndef PRODUCT
-          TimelineDurationScope tds2(thread(),
-                                     compiler_timeline,
+          TimelineDurationScope tds2(thread(), compiler_timeline,
                                      "SelectRepresentations");
 #endif  // !PRODUCT
           // Where beneficial convert Smi operations into Int32 operations.
@@ -2971,8 +2921,7 @@
 
         {
 #ifndef PRODUCT
-          TimelineDurationScope tds2(thread(),
-                                     compiler_timeline,
+          TimelineDurationScope tds2(thread(), compiler_timeline,
                                      "CommonSubexpressionElinination");
 #endif  // !PRODUCT
           if (FLAG_common_subexpression_elimination ||
@@ -3013,8 +2962,7 @@
 
         {
 #ifndef PRODUCT
-          TimelineDurationScope tds2(thread(),
-                                     compiler_timeline,
+          TimelineDurationScope tds2(thread(), compiler_timeline,
                                      "DeadStoreElimination");
 #endif  // !PRODUCT
           DeadStoreElimination::Optimize(flow_graph);
@@ -3022,8 +2970,7 @@
 
         if (FLAG_range_analysis) {
 #ifndef PRODUCT
-          TimelineDurationScope tds2(thread(),
-                                     compiler_timeline,
+          TimelineDurationScope tds2(thread(), compiler_timeline,
                                      "RangeAnalysis");
 #endif  // !PRODUCT
           // Propagate types after store-load-forwarding. Some phis may have
@@ -3041,8 +2988,7 @@
 
         if (FLAG_constant_propagation) {
 #ifndef PRODUCT
-          TimelineDurationScope tds2(thread(),
-                                     compiler_timeline,
+          TimelineDurationScope tds2(thread(), compiler_timeline,
                                      "ConstantPropagator::OptimizeBranches");
 #endif  // !PRODUCT
           // Constant propagation can use information from range analysis to
@@ -3059,8 +3005,7 @@
 
         {
 #ifndef PRODUCT
-          TimelineDurationScope tds2(thread(),
-                                     compiler_timeline,
+          TimelineDurationScope tds2(thread(), compiler_timeline,
                                      "TryCatchAnalyzer::Optimize");
 #endif  // !PRODUCT
           // Optimize try-blocks.
@@ -3074,8 +3019,7 @@
 
         {
 #ifndef PRODUCT
-          TimelineDurationScope tds2(thread(),
-                                     compiler_timeline,
+          TimelineDurationScope tds2(thread(), compiler_timeline,
                                      "EliminateDeadPhis");
 #endif  // !PRODUCT
           DeadCodeElimination::EliminateDeadPhis(flow_graph);
@@ -3090,10 +3034,9 @@
         // the deoptimization path.
         AllocationSinking* sinking = NULL;
         if (FLAG_allocation_sinking &&
-            (flow_graph->graph_entry()->SuccessorCount()  == 1)) {
+            (flow_graph->graph_entry()->SuccessorCount() == 1)) {
 #ifndef PRODUCT
-          TimelineDurationScope tds2(thread(),
-                                     compiler_timeline,
+          TimelineDurationScope tds2(thread(), compiler_timeline,
                                      "AllocationSinking::Optimize");
 #endif  // !PRODUCT
           // TODO(fschneider): Support allocation sinking with try-catch.
@@ -3110,8 +3053,7 @@
 
         {
 #ifndef PRODUCT
-          TimelineDurationScope tds2(thread(),
-                                     compiler_timeline,
+          TimelineDurationScope tds2(thread(), compiler_timeline,
                                      "SelectRepresentations");
 #endif  // !PRODUCT
           // Ensure that all phis inserted by optimization passes have
@@ -3132,8 +3074,7 @@
         if (sinking != NULL) {
 #ifndef PRODUCT
           TimelineDurationScope tds2(
-              thread(),
-              compiler_timeline,
+              thread(), compiler_timeline,
               "AllocationSinking::DetachMaterializations");
 #endif  // !PRODUCT
           // Remove all MaterializeObject instructions inserted by allocation
@@ -3152,8 +3093,7 @@
 
         {
 #ifndef PRODUCT
-          TimelineDurationScope tds2(thread(),
-                                     compiler_timeline,
+          TimelineDurationScope tds2(thread(), compiler_timeline,
                                      "AllocateRegisters");
 #endif  // !PRODUCT
           // Perform register allocation on the SSA graph.
@@ -3168,25 +3108,20 @@
 
       ASSERT(inline_id_to_function.length() == caller_inline_id.length());
       Assembler assembler(use_far_branches);
-      FlowGraphCompiler graph_compiler(&assembler, flow_graph,
-                                       *parsed_function(), optimized(),
-                                       inline_id_to_function,
-                                       inline_id_to_token_pos,
-                                       caller_inline_id);
+      FlowGraphCompiler graph_compiler(
+          &assembler, flow_graph, *parsed_function(), optimized(),
+          inline_id_to_function, inline_id_to_token_pos, caller_inline_id);
       {
         CSTAT_TIMER_SCOPE(thread(), graphcompiler_timer);
 #ifndef PRODUCT
-        TimelineDurationScope tds(thread(),
-                                  compiler_timeline,
-                                  "CompileGraph");
+        TimelineDurationScope tds(thread(), compiler_timeline, "CompileGraph");
 #endif  // !PRODUCT
         graph_compiler.CompileGraph();
         pipeline->FinalizeCompilation(flow_graph);
       }
       {
 #ifndef PRODUCT
-        TimelineDurationScope tds(thread(),
-                                  compiler_timeline,
+        TimelineDurationScope tds(thread(), compiler_timeline,
                                   "FinalizeCompilation");
 #endif  // !PRODUCT
         ASSERT(thread()->IsMutatorThread());
@@ -3267,20 +3202,17 @@
     StackZone stack_zone(thread);
     Zone* const zone = stack_zone.GetZone();
     const bool trace_compiler =
-        FLAG_trace_compiler ||
-        (FLAG_trace_optimizing_compiler && optimized);
+        FLAG_trace_compiler || (FLAG_trace_optimizing_compiler && optimized);
     Timer per_compile_timer(trace_compiler, "Compilation time");
     per_compile_timer.Start();
 
-    ParsedFunction* parsed_function = new(zone) ParsedFunction(
-        thread, Function::ZoneHandle(zone, function.raw()));
+    ParsedFunction* parsed_function = new (zone)
+        ParsedFunction(thread, Function::ZoneHandle(zone, function.raw()));
     if (trace_compiler) {
-      THR_Print(
-          "Precompiling %sfunction: '%s' @ token %" Pd ", size %" Pd "\n",
-          (optimized ? "optimized " : ""),
-          function.ToFullyQualifiedCString(),
-          function.token_pos().Pos(),
-          (function.end_token_pos().Pos() - function.token_pos().Pos()));
+      THR_Print("Precompiling %sfunction: '%s' @ token %" Pd ", size %" Pd "\n",
+                (optimized ? "optimized " : ""),
+                function.ToFullyQualifiedCString(), function.token_pos().Pos(),
+                (function.end_token_pos().Pos() - function.token_pos().Pos()));
     }
     INC_STAT(thread, num_functions_compiled, 1);
     if (optimized) {
@@ -3291,13 +3223,12 @@
       const int64_t num_tokens_before = STAT_VALUE(thread, num_tokens_consumed);
       pipeline->ParseFunction(parsed_function);
       const int64_t num_tokens_after = STAT_VALUE(thread, num_tokens_consumed);
-      INC_STAT(thread,
-               num_func_tokens_compiled,
+      INC_STAT(thread, num_func_tokens_compiled,
                num_tokens_after - num_tokens_before);
     }
 
-    PrecompileParsedFunctionHelper helper(
-        precompiler, parsed_function, optimized);
+    PrecompileParsedFunctionHelper helper(precompiler, parsed_function,
+                                          optimized);
     const bool success = helper.Compile(pipeline);
     if (!success) {
       // Encountered error.
@@ -3322,8 +3253,7 @@
 
     if (FLAG_disassemble && FlowGraphPrinter::ShouldPrint(function)) {
       Disassembler::DisassembleCode(function, optimized);
-    } else if (FLAG_disassemble_optimized &&
-               optimized &&
+    } else if (FLAG_disassemble_optimized && optimized &&
                FlowGraphPrinter::ShouldPrint(function)) {
       Disassembler::DisassembleCode(function, true);
     }
diff --git a/runtime/vm/precompiler.h b/runtime/vm/precompiler.h
index f3a8d02..2566a78 100644
--- a/runtime/vm/precompiler.h
+++ b/runtime/vm/precompiler.h
@@ -69,9 +69,7 @@
 
   static Value ValueOf(Pair kv) { return kv; }
 
-  static inline intptr_t Hashcode(Key key) {
-    return key->Hash();
-  }
+  static inline intptr_t Hashcode(Key key) { return key->Hash(); }
 
   static inline bool IsKeyEqual(Pair pair, Key key) {
     return pair->raw() == key->raw();
@@ -91,9 +89,7 @@
 
   static Value ValueOf(Pair kv) { return kv; }
 
-  static inline intptr_t Hashcode(Key key) {
-    return key->PcOffset();
-  }
+  static inline intptr_t Hashcode(Key key) { return key->PcOffset(); }
 
   static inline bool IsKeyEqual(Pair pair, Key key) {
     return pair->Equals(*key);
@@ -114,9 +110,7 @@
 
   static Value ValueOf(Pair kv) { return kv; }
 
-  static inline intptr_t Hashcode(Key key) {
-    return key->Length();
-  }
+  static inline intptr_t Hashcode(Key key) { return key->Length(); }
 
   static inline bool IsKeyEqual(Pair pair, Key key) {
     if (pair->Length() != key->Length()) {
@@ -145,9 +139,7 @@
 
   static Value ValueOf(Pair kv) { return kv; }
 
-  static inline intptr_t Hashcode(Key key) {
-    return key->size();
-  }
+  static inline intptr_t Hashcode(Key key) { return key->Size(); }
 
   static inline bool IsKeyEqual(Pair pair, Key key) {
     return pair->Equals(*key);
@@ -174,7 +166,7 @@
 
   static inline bool IsKeyEqual(Pair pair, Key key) {
     return (pair->target_name() == key->target_name()) &&
-        (pair->args_descriptor() == key->args_descriptor());
+           (pair->args_descriptor() == key->args_descriptor());
   }
 };
 
@@ -192,9 +184,7 @@
 
   static Value ValueOf(Pair kv) { return kv; }
 
-  static inline intptr_t Hashcode(Key key) {
-    return key->token_pos().value();
-  }
+  static inline intptr_t Hashcode(Key key) { return key->token_pos().value(); }
 
   static inline bool IsKeyEqual(Pair pair, Key key) {
     return pair->raw() == key->raw();
@@ -215,9 +205,7 @@
 
   static Value ValueOf(Pair kv) { return kv; }
 
-  static inline intptr_t Hashcode(Key key) {
-    return key->token_pos().value();
-  }
+  static inline intptr_t Hashcode(Key key) { return key->token_pos().value(); }
 
   static inline bool IsKeyEqual(Pair pair, Key key) {
     return pair->raw() == key->raw();
@@ -238,9 +226,7 @@
 
   static Value ValueOf(Pair kv) { return kv; }
 
-  static inline intptr_t Hashcode(Key key) {
-    return key->token_pos().value();
-  }
+  static inline intptr_t Hashcode(Key key) { return key->token_pos().value(); }
 
   static inline bool IsKeyEqual(Pair pair, Key key) {
     return pair->raw() == key->raw();
@@ -261,9 +247,7 @@
 
   static Value ValueOf(Pair kv) { return kv; }
 
-  static inline intptr_t Hashcode(Key key) {
-    return key->Hash();
-  }
+  static inline intptr_t Hashcode(Key key) { return key->Hash(); }
 
   static inline bool IsKeyEqual(Pair pair, Key key) {
     return pair->raw() == key->raw();
@@ -284,9 +268,7 @@
 
   static Value ValueOf(Pair kv) { return kv; }
 
-  static inline intptr_t Hashcode(Key key) {
-    return key->Hash();
-  }
+  static inline intptr_t Hashcode(Key key) { return key->Hash(); }
 
   static inline bool IsKeyEqual(Pair pair, Key key) {
     return pair->raw() == key->raw();
@@ -307,9 +289,7 @@
 
   static Value ValueOf(Pair kv) { return kv; }
 
-  static inline intptr_t Hashcode(Key key) {
-    return key->GetClassId();
-  }
+  static inline intptr_t Hashcode(Key key) { return key->GetClassId(); }
 
   static inline bool IsKeyEqual(Pair pair, Key key) {
     return pair->raw() == key->raw();
@@ -329,17 +309,15 @@
 
   static Value ValueOf(Pair kv) { return kv.cid_; }
 
-  static inline intptr_t Hashcode(Key key) {
-    return key->token_pos().value();
-  }
+  static inline intptr_t Hashcode(Key key) { return key->token_pos().value(); }
 
   static inline bool IsKeyEqual(Pair pair, Key key) {
     return pair.field_->raw() == key->raw();
   }
 
-  FieldTypePair(const Field* f, intptr_t cid) : field_(f), cid_(cid) { }
+  FieldTypePair(const Field* f, intptr_t cid) : field_(f), cid_(cid) {}
 
-  FieldTypePair() : field_(NULL), cid_(-1) { }
+  FieldTypePair() : field_(NULL), cid_(-1) {}
 
   void Print() const;
 
@@ -373,9 +351,7 @@
     return get_runtime_type_is_unique_;
   }
 
-  FieldTypeMap* field_type_map() {
-    return &field_type_map_;
-  }
+  FieldTypeMap* field_type_map() { return &field_type_map_; }
 
  private:
   Precompiler(Thread* thread, bool reset_fields);
@@ -427,7 +403,7 @@
   void PrecompileStaticInitializers();
   void PrecompileConstructors();
 
-  template<typename T>
+  template <typename T>
   class Visitor : public ValueObject {
    public:
     virtual ~Visitor() {}
@@ -503,9 +479,7 @@
       return String::Cast(obj).Hash();
     }
   }
-  static RawObject* NewKey(const Function& function) {
-    return function.raw();
-  }
+  static RawObject* NewKey(const Function& function) { return function.raw(); }
 };
 
 typedef UnorderedHashSet<FunctionsTraits> UniqueFunctionsSet;
diff --git a/runtime/vm/proccpuinfo.cc b/runtime/vm/proccpuinfo.cc
index 94e8db6..dd8416f 100644
--- a/runtime/vm/proccpuinfo.cc
+++ b/runtime/vm/proccpuinfo.cc
@@ -7,7 +7,7 @@
 
 #include "vm/proccpuinfo.h"
 
-#include <ctype.h>  // NOLINT
+#include <ctype.h>   // NOLINT
 #include <string.h>  // NOLINT
 
 #include "platform/assert.h"
@@ -41,7 +41,7 @@
   data_ = reinterpret_cast<char*>(malloc(datalen_ + 1));
   fp = fopen(PATHNAME, "r");
   if (fp != NULL) {
-    for (intptr_t offset = 0; offset < datalen_; ) {
+    for (intptr_t offset = 0; offset < datalen_;) {
       size_t n = fread(data_ + offset, 1, datalen_ - offset, fp);
       if (n == 0) {
         break;
diff --git a/runtime/vm/profiler.cc b/runtime/vm/profiler.cc
index 50a202a..05f8302 100644
--- a/runtime/vm/profiler.cc
+++ b/runtime/vm/profiler.cc
@@ -33,20 +33,24 @@
 
 #if defined(TARGET_OS_ANDROID) || defined(TARGET_ARCH_ARM64) ||                \
     defined(TARGET_ARCH_ARM) || defined(TARGET_ARCH_MIPS)
-  DEFINE_FLAG(int, profile_period, 10000,
-              "Time between profiler samples in microseconds. Minimum 50.");
+DEFINE_FLAG(int,
+            profile_period,
+            10000,
+            "Time between profiler samples in microseconds. Minimum 50.");
 #else
-  DEFINE_FLAG(int, profile_period, 1000,
-              "Time between profiler samples in microseconds. Minimum 50.");
+DEFINE_FLAG(int,
+            profile_period,
+            1000,
+            "Time between profiler samples in microseconds. Minimum 50.");
 #endif
-DEFINE_FLAG(int, max_profile_depth, kSampleSize * kMaxSamplesPerTick,
+DEFINE_FLAG(int,
+            max_profile_depth,
+            kSampleSize* kMaxSamplesPerTick,
             "Maximum number stack frames walked. Minimum 1. Maximum 255.");
 #if defined(USING_SIMULATOR)
-DEFINE_FLAG(bool, profile_vm, true,
-            "Always collect native stack traces.");
+DEFINE_FLAG(bool, profile_vm, true, "Always collect native stack traces.");
 #else
-DEFINE_FLAG(bool, profile_vm, false,
-            "Always collect native stack traces.");
+DEFINE_FLAG(bool, profile_vm, false, "Always collect native stack traces.");
 #endif
 
 #ifndef PRODUCT
@@ -113,21 +117,20 @@
 
 void Sample::InitOnce() {
   pcs_length_ = kSampleSize;
-  instance_size_ =
-      sizeof(Sample) + (sizeof(uword) * pcs_length_);  // NOLINT.
+  instance_size_ = sizeof(Sample) + (sizeof(uword) * pcs_length_);  // NOLINT.
 }
 
 
 uword* Sample::GetPCArray() const {
-  return reinterpret_cast<uword*>(
-        reinterpret_cast<uintptr_t>(this) + sizeof(*this));
+  return reinterpret_cast<uword*>(reinterpret_cast<uintptr_t>(this) +
+                                  sizeof(*this));
 }
 
 
 SampleBuffer::SampleBuffer(intptr_t capacity) {
   ASSERT(Sample::instance_size() > 0);
-  samples_ = reinterpret_cast<Sample*>(
-      calloc(capacity, Sample::instance_size()));
+  samples_ =
+      reinterpret_cast<Sample*>(calloc(capacity, Sample::instance_size()));
   if (FLAG_trace_profiler) {
     OS::Print("Profiler holds %" Pd " samples\n", capacity);
     OS::Print("Profiler sample is %" Pd " bytes\n", Sample::instance_size());
@@ -194,9 +197,7 @@
     ASSERT(code_.ContainsInstructionAt(pc_));
   }
 
-  uword pc() {
-    return pc_;
-  }
+  uword pc() { return pc_; }
 
   // Returns false on failure.
   bool LocateReturnAddress(uword* return_address);
@@ -303,8 +304,7 @@
 
 
 bool SampleFilter::TimeFilterSample(Sample* sample) {
-  if ((time_origin_micros_ == -1) ||
-      (time_extent_micros_ == -1)) {
+  if ((time_origin_micros_ == -1) || (time_extent_micros_ == -1)) {
     // No time filter passed in, always pass.
     return true;
   }
@@ -321,8 +321,7 @@
 
 
 ClearProfileVisitor::ClearProfileVisitor(Isolate* isolate)
-    : SampleVisitor(isolate) {
-}
+    : SampleVisitor(isolate) {}
 
 
 void ClearProfileVisitor::VisitSample(Sample* sample) {
@@ -332,8 +331,7 @@
 
 static void DumpStackFrame(intptr_t frame_index, uword pc) {
   uintptr_t start = 0;
-  char* native_symbol_name =
-      NativeSymbolResolver::LookupSymbolName(pc, &start);
+  char* native_symbol_name = NativeSymbolResolver::LookupSymbolName(pc, &start);
   if (native_symbol_name == NULL) {
     OS::PrintErr("  [0x%" Pp "] Unknown symbol\n", pc);
   } else {
@@ -343,14 +341,12 @@
 }
 
 
-static void DumpStackFrame(intptr_t frame_index,
-                           uword pc,
-                           const Code& code) {
+static void DumpStackFrame(intptr_t frame_index, uword pc, const Code& code) {
   if (code.IsNull()) {
     DumpStackFrame(frame_index, pc);
   } else {
-    OS::PrintErr("Frame[%" Pd "] = Dart:`%s` [0x%" Px "]\n",
-                 frame_index, code.ToCString(), pc);
+    OS::PrintErr("Frame[%" Pd "] = Dart:`%s` [0x%" Px "]\n", frame_index,
+                 code.ToCString(), pc);
   }
 }
 
@@ -360,11 +356,11 @@
   ProfilerStackWalker(Isolate* isolate,
                       Sample* head_sample,
                       SampleBuffer* sample_buffer)
-    : isolate_(isolate),
-      sample_(head_sample),
-      sample_buffer_(sample_buffer),
-      frame_index_(0),
-      total_frames_(0) {
+      : isolate_(isolate),
+        sample_(head_sample),
+        sample_buffer_(sample_buffer),
+        frame_index_(0),
+        total_frames_(0) {
     ASSERT(isolate_ != NULL);
     if (sample_ == NULL) {
       ASSERT(sample_buffer_ == NULL);
@@ -430,8 +426,7 @@
                               Sample* sample,
                               SampleBuffer* sample_buffer)
       : ProfilerStackWalker(isolate, sample, sample_buffer),
-        frame_iterator_(thread) {
-  }
+        frame_iterator_(thread) {}
 
   void walk() {
     // Mark that this sample was collected from an exit frame.
@@ -595,9 +590,7 @@
     return reinterpret_cast<uword*>(*exit_link_ptr);
   }
 
-  bool ValidFramePointer() const {
-    return ValidFramePointer(fp_);
-  }
+  bool ValidFramePointer() const { return ValidFramePointer(fp_); }
 
   bool ValidFramePointer(uword* fp) const {
     if (fp == NULL) {
@@ -635,8 +628,7 @@
         original_pc_(pc),
         original_fp_(fp),
         original_sp_(sp),
-        lower_bound_(stack_lower) {
-  }
+        lower_bound_(stack_lower) {}
 
   void walk() {
     const uword kMaxStep = VirtualMemory::PageSize();
@@ -778,32 +770,32 @@
   __try {
 #endif
 
-  if (in_dart_code) {
-    // We can only trust the stack pointer if we are executing Dart code.
-    // See http://dartbug.com/20421 for details.
-    CopyStackBuffer(sample, sp);
-  }
+    if (in_dart_code) {
+      // We can only trust the stack pointer if we are executing Dart code.
+      // See http://dartbug.com/20421 for details.
+      CopyStackBuffer(sample, sp);
+    }
 
-  if (FLAG_profile_vm) {
-    // Always walk the native stack collecting both native and Dart frames.
-    AtomicOperations::IncrementInt64By(&counters->stack_walker_native, 1);
-    native_stack_walker->walk();
-  } else if (StubCode::HasBeenInitialized() && exited_dart_code) {
-    AtomicOperations::IncrementInt64By(&counters->stack_walker_dart_exit, 1);
-    // We have a valid exit frame info, use the Dart stack walker.
-    dart_exit_stack_walker->walk();
-  } else if (StubCode::HasBeenInitialized() && in_dart_code) {
-    AtomicOperations::IncrementInt64By(&counters->stack_walker_dart, 1);
-    // We are executing Dart code. We have frame pointers.
-    dart_stack_walker->walk();
-  } else {
-    AtomicOperations::IncrementInt64By(&counters->stack_walker_none, 1);
-    sample->SetAt(0, pc);
-  }
+    if (FLAG_profile_vm) {
+      // Always walk the native stack collecting both native and Dart frames.
+      AtomicOperations::IncrementInt64By(&counters->stack_walker_native, 1);
+      native_stack_walker->walk();
+    } else if (StubCode::HasBeenInitialized() && exited_dart_code) {
+      AtomicOperations::IncrementInt64By(&counters->stack_walker_dart_exit, 1);
+      // We have a valid exit frame info, use the Dart stack walker.
+      dart_exit_stack_walker->walk();
+    } else if (StubCode::HasBeenInitialized() && in_dart_code) {
+      AtomicOperations::IncrementInt64By(&counters->stack_walker_dart, 1);
+      // We are executing Dart code. We have frame pointers.
+      dart_stack_walker->walk();
+    } else {
+      AtomicOperations::IncrementInt64By(&counters->stack_walker_none, 1);
+      sample->SetAt(0, pc);
+    }
 
 #if defined(TARGET_OS_WINDOWS)
-  // Use structured exception handling to trap guard page access.
-  } __except(GuardPageExceptionFilter(GetExceptionInformation())) {
+    // Use structured exception handling to trap guard page access.
+  } __except (GuardPageExceptionFilter(GetExceptionInformation())) {  // NOLINT
     // Sample collection triggered a guard page fault:
     // 1) discard entire sample.
     sample->set_ignore_sample(true);
@@ -812,10 +804,9 @@
     // https://goo.gl/5mCsXW
     DWORD new_protect = PAGE_READWRITE | PAGE_GUARD;
     DWORD old_protect = 0;
-    BOOL success = VirtualProtect(reinterpret_cast<void*>(fault_address),
-                                  sizeof(fault_address),
-                                  new_protect,
-                                  &old_protect);
+    BOOL success =
+        VirtualProtect(reinterpret_cast<void*>(fault_address),
+                       sizeof(fault_address), new_protect, &old_protect);
     USE(success);
     ASSERT(success);
     ASSERT(old_protect == PAGE_READWRITE);
@@ -942,8 +933,7 @@
 
 
 #if defined(TARGET_OS_WINDOWS)
-__declspec(noinline)
-static uintptr_t GetProgramCounter() {
+__declspec(noinline) static uintptr_t GetProgramCounter() {
   return reinterpret_cast<uintptr_t>(_ReturnAddress());
 }
 #else
@@ -990,15 +980,11 @@
   uword stack_upper = 0;
 
   if (!InitialRegisterCheck(pc, fp, sp)) {
-    OS::PrintErr(
-        "Stack dump aborted because InitialRegisterCheck.\n");
+    OS::PrintErr("Stack dump aborted because InitialRegisterCheck.\n");
     return;
   }
 
-  if (!GetAndValidateIsolateStackBounds(thread,
-                                        fp,
-                                        sp,
-                                        &stack_lower,
+  if (!GetAndValidateIsolateStackBounds(thread, fp, sp, &stack_lower,
                                         &stack_upper)) {
     OS::PrintErr(
         "Stack dump aborted because GetAndValidateIsolateStackBounds.\n");
@@ -1006,30 +992,16 @@
   }
 
   if (native_stack_trace) {
-    ProfilerNativeStackWalker native_stack_walker(isolate,
-                                                  NULL,
-                                                  NULL,
-                                                  stack_lower,
-                                                  stack_upper,
-                                                  pc,
-                                                  fp,
-                                                  sp);
+    ProfilerNativeStackWalker native_stack_walker(
+        isolate, NULL, NULL, stack_lower, stack_upper, pc, fp, sp);
     native_stack_walker.walk();
   } else if (exited_dart_code) {
-    ProfilerDartExitStackWalker dart_exit_stack_walker(thread,
-                                                       isolate,
-                                                       NULL,
+    ProfilerDartExitStackWalker dart_exit_stack_walker(thread, isolate, NULL,
                                                        NULL);
     dart_exit_stack_walker.walk();
   } else {
-    ProfilerDartStackWalker dart_stack_walker(isolate,
-                                              NULL,
-                                              NULL,
-                                              stack_lower,
-                                              stack_upper,
-                                              pc,
-                                              fp,
-                                              sp);
+    ProfilerDartStackWalker dart_stack_walker(isolate, NULL, NULL, stack_lower,
+                                              stack_upper, pc, fp, sp);
   }
   OS::PrintErr("-- End of DumpStackTrace\n");
 }
@@ -1066,10 +1038,7 @@
       return;
     }
 
-    if (!GetAndValidateIsolateStackBounds(thread,
-                                          fp,
-                                          sp,
-                                          &stack_lower,
+    if (!GetAndValidateIsolateStackBounds(thread, fp, sp, &stack_lower,
                                           &stack_upper)) {
       // Could not get stack boundary.
       return;
@@ -1077,21 +1046,13 @@
 
     Sample* sample = SetupSample(thread, sample_buffer, os_thread->trace_id());
     sample->SetAllocationCid(cid);
-    ProfilerNativeStackWalker native_stack_walker(isolate,
-                                                  sample,
-                                                  sample_buffer,
-                                                  stack_lower,
-                                                  stack_upper,
-                                                  pc,
-                                                  fp,
-                                                  sp);
+    ProfilerNativeStackWalker native_stack_walker(
+        isolate, sample, sample_buffer, stack_lower, stack_upper, pc, fp, sp);
     native_stack_walker.walk();
   } else if (exited_dart_code) {
     Sample* sample = SetupSample(thread, sample_buffer, os_thread->trace_id());
     sample->SetAllocationCid(cid);
-    ProfilerDartExitStackWalker dart_exit_stack_walker(thread,
-                                                       isolate,
-                                                       sample,
+    ProfilerDartExitStackWalker dart_exit_stack_walker(thread, isolate, sample,
                                                        sample_buffer);
     dart_exit_stack_walker.walk();
   } else {
@@ -1163,7 +1124,7 @@
 #endif
 
   if (in_dart_code) {
-    // If we're in Dart code, use the Dart stack pointer.
+// If we're in Dart code, use the Dart stack pointer.
 #if defined(TARGET_ARCH_DBC)
     simulator = isolate->simulator();
     sp = simulator->get_sp();
@@ -1203,13 +1164,10 @@
 
   uword stack_lower = 0;
   uword stack_upper = 0;
-  if (!GetAndValidateIsolateStackBounds(thread,
-                                        fp,
-                                        sp,
-                                        &stack_lower,
+  if (!GetAndValidateIsolateStackBounds(thread, fp, sp, &stack_lower,
                                         &stack_upper)) {
     AtomicOperations::IncrementInt64By(
-       &counters_.single_frame_sample_get_and_validate_stack_bounds, 1);
+        &counters_.single_frame_sample_get_and_validate_stack_bounds, 1);
     // Could not get stack boundary.
     SampleThreadSingleFrame(thread, pc);
     return;
@@ -1232,47 +1190,24 @@
     counters->Increment(sample->vm_tag());
   }
 
-  ProfilerNativeStackWalker native_stack_walker(isolate,
-                                                sample,
-                                                sample_buffer,
-                                                stack_lower,
-                                                stack_upper,
-                                                pc,
-                                                fp,
-                                                sp);
+  ProfilerNativeStackWalker native_stack_walker(
+      isolate, sample, sample_buffer, stack_lower, stack_upper, pc, fp, sp);
 
-  ProfilerDartExitStackWalker dart_exit_stack_walker(thread,
-                                                     isolate,
-                                                     sample,
+  ProfilerDartExitStackWalker dart_exit_stack_walker(thread, isolate, sample,
                                                      sample_buffer);
 
-  ProfilerDartStackWalker dart_stack_walker(isolate,
-                                            sample,
-                                            sample_buffer,
-                                            stack_lower,
-                                            stack_upper,
-                                            pc,
-                                            fp,
-                                            sp);
+  ProfilerDartStackWalker dart_stack_walker(
+      isolate, sample, sample_buffer, stack_lower, stack_upper, pc, fp, sp);
 
   const bool exited_dart_code = thread->HasExitedDartCode();
 
   // All memory access is done inside CollectSample.
-  CollectSample(isolate,
-                exited_dart_code,
-                in_dart_code,
-                sample,
-                &native_stack_walker,
-                &dart_exit_stack_walker,
-                &dart_stack_walker,
-                pc,
-                fp,
-                sp,
-                &counters_);
+  CollectSample(isolate, exited_dart_code, in_dart_code, sample,
+                &native_stack_walker, &dart_exit_stack_walker,
+                &dart_stack_walker, pc, fp, sp, &counters_);
 }
 
 
-
 CodeDescriptor::CodeDescriptor(const Code& code) : code_(code) {
   ASSERT(!code_.IsNull());
 }
@@ -1304,8 +1239,7 @@
     ASSERT(table_ != NULL);
   }
 
-  ~CodeLookupTableBuilder() {
-  }
+  ~CodeLookupTableBuilder() {}
 
   void VisitObject(RawObject* raw_obj) {
     uword tags = raw_obj->ptr()->tags_;
@@ -1408,7 +1342,7 @@
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
 
-  ProcessedSampleBuffer* buffer = new(zone) ProcessedSampleBuffer();
+  ProcessedSampleBuffer* buffer = new (zone) ProcessedSampleBuffer();
 
   const intptr_t length = capacity();
   for (intptr_t i = 0; i < length; i++) {
@@ -1457,7 +1391,7 @@
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
 
-  ProcessedSample* processed_sample = new(zone) ProcessedSample();
+  ProcessedSample* processed_sample = new (zone) ProcessedSample();
 
   // Copy state bits from sample.
   processed_sample->set_timestamp(sample->timestamp());
@@ -1485,8 +1419,7 @@
   }
 
   if (!sample->exit_frame_sample()) {
-    processed_sample->FixupCaller(clt,
-                                  sample->pc_marker(),
+    processed_sample->FixupCaller(clt, sample->pc_marker(),
                                   sample->GetStackBuffer());
   }
 
@@ -1496,8 +1429,7 @@
 
 
 Sample* SampleBuffer::Next(Sample* sample) {
-  if (!sample->is_continuation_sample())
-    return NULL;
+  if (!sample->is_continuation_sample()) return NULL;
   Sample* next_sample = At(sample->continuation_index());
   // Sanity check.
   ASSERT(sample != next_sample);
@@ -1522,8 +1454,7 @@
       user_tag_(0),
       allocation_cid_(-1),
       truncated_(false),
-      timeline_trie_(NULL) {
-}
+      timeline_trie_(NULL) {}
 
 
 void ProcessedSample::FixupCaller(const CodeLookupTable& clt,
diff --git a/runtime/vm/profiler.h b/runtime/vm/profiler.h
index 4f7ce96..1ea5f2d 100644
--- a/runtime/vm/profiler.h
+++ b/runtime/vm/profiler.h
@@ -52,9 +52,7 @@
   static void SetSampleDepth(intptr_t depth);
   static void SetSamplePeriod(intptr_t period);
 
-  static SampleBuffer* sample_buffer() {
-    return sample_buffer_;
-  }
+  static SampleBuffer* sample_buffer() { return sample_buffer_; }
 
   static void DumpStackTrace(bool native_stack_trace = true);
 
@@ -68,8 +66,7 @@
   //   * Allocating memory -- Because this takes locks which may already be
   //                          held, resulting in a dead lock.
   //   * Taking a lock -- See above.
-  static void SampleThread(Thread* thread,
-                           const InterruptedThreadState& state);
+  static void SampleThread(Thread* thread, const InterruptedThreadState& state);
 
   static ProfilerCounters counters() {
     // Copies the counter values.
@@ -91,22 +88,16 @@
 
 class SampleVisitor : public ValueObject {
  public:
-  explicit SampleVisitor(Isolate* isolate) : isolate_(isolate), visited_(0) { }
+  explicit SampleVisitor(Isolate* isolate) : isolate_(isolate), visited_(0) {}
   virtual ~SampleVisitor() {}
 
   virtual void VisitSample(Sample* sample) = 0;
 
-  intptr_t visited() const {
-    return visited_;
-  }
+  intptr_t visited() const { return visited_; }
 
-  void IncrementVisited() {
-    visited_++;
-  }
+  void IncrementVisited() { visited_++; }
 
-  Isolate* isolate() const {
-    return isolate_;
-  }
+  Isolate* isolate() const { return isolate_; }
 
  private:
   Isolate* isolate_;
@@ -130,17 +121,13 @@
     ASSERT(time_origin_micros_ >= -1);
     ASSERT(time_extent_micros_ >= -1);
   }
-  virtual ~SampleFilter() { }
+  virtual ~SampleFilter() {}
 
   // Override this function.
   // Return |true| if |sample| passes the filter.
-  virtual bool FilterSample(Sample* sample) {
-    return true;
-  }
+  virtual bool FilterSample(Sample* sample) { return true; }
 
-  Isolate* isolate() const {
-    return isolate_;
-  }
+  Isolate* isolate() const { return isolate_; }
 
   // Returns |true| if |sample| passes the time filter.
   bool TimeFilterSample(Sample* sample);
@@ -175,14 +162,10 @@
   }
 
   // Isolate sample was taken from.
-  Isolate* isolate() const {
-    return isolate_;
-  }
+  Isolate* isolate() const { return isolate_; }
 
   // Thread sample was taken on.
-  ThreadId tid() const {
-    return tid_;
-  }
+  ThreadId tid() const { return tid_; }
 
   void Clear() {
     isolate_ = NULL;
@@ -204,14 +187,10 @@
   }
 
   // Timestamp sample was taken at.
-  int64_t timestamp() const {
-    return timestamp_;
-  }
+  int64_t timestamp() const { return timestamp_; }
 
   // Top most pc.
-  uword pc() const {
-    return At(0);
-  }
+  uword pc() const { return At(0); }
 
   // Get stack trace entry.
   uword At(intptr_t i) const {
@@ -229,56 +208,36 @@
     pcs[i] = pc;
   }
 
-  uword vm_tag() const {
-    return vm_tag_;
-  }
+  uword vm_tag() const { return vm_tag_; }
   void set_vm_tag(uword tag) {
     ASSERT(tag != VMTag::kInvalidTagId);
     vm_tag_ = tag;
   }
 
-  uword user_tag() const {
-    return user_tag_;
-  }
-  void set_user_tag(uword tag) {
-    user_tag_ = tag;
-  }
+  uword user_tag() const { return user_tag_; }
+  void set_user_tag(uword tag) { user_tag_ = tag; }
 
-  uword pc_marker() const {
-    return pc_marker_;
-  }
+  uword pc_marker() const { return pc_marker_; }
 
-  void set_pc_marker(uword pc_marker) {
-    pc_marker_ = pc_marker;
-  }
+  void set_pc_marker(uword pc_marker) { pc_marker_ = pc_marker; }
 
-  uword lr() const {
-    return lr_;
-  }
+  uword lr() const { return lr_; }
 
-  void set_lr(uword link_register) {
-    lr_ = link_register;
-  }
+  void set_lr(uword link_register) { lr_ = link_register; }
 
-  bool leaf_frame_is_dart() const {
-    return LeafFrameIsDart::decode(state_);
-  }
+  bool leaf_frame_is_dart() const { return LeafFrameIsDart::decode(state_); }
 
   void set_leaf_frame_is_dart(bool leaf_frame_is_dart) {
     state_ = LeafFrameIsDart::update(leaf_frame_is_dart, state_);
   }
 
-  bool ignore_sample() const {
-    return IgnoreBit::decode(state_);
-  }
+  bool ignore_sample() const { return IgnoreBit::decode(state_); }
 
   void set_ignore_sample(bool ignore_sample) {
     state_ = IgnoreBit::update(ignore_sample, state_);
   }
 
-  bool exit_frame_sample() const {
-    return ExitFrameBit::decode(state_);
-  }
+  bool exit_frame_sample() const { return ExitFrameBit::decode(state_); }
 
   void set_exit_frame_sample(bool exit_frame_sample) {
     state_ = ExitFrameBit::update(exit_frame_sample, state_);
@@ -292,9 +251,7 @@
     state_ = MissingFrameInsertedBit::update(missing_frame_inserted, state_);
   }
 
-  bool truncated_trace() const {
-    return TruncatedTraceBit::decode(state_);
-  }
+  bool truncated_trace() const { return TruncatedTraceBit::decode(state_); }
 
   void set_truncated_trace(bool truncated_trace) {
     state_ = TruncatedTraceBit::update(truncated_trace, state_);
@@ -308,9 +265,7 @@
     state_ = ClassAllocationSampleBit::update(allocation_sample, state_);
   }
 
-  Thread::TaskKind thread_task() const {
-    return ThreadTaskBit::decode(state_);
-  }
+  Thread::TaskKind thread_task() const { return ThreadTaskBit::decode(state_); }
 
   void set_thread_task(Thread::TaskKind task) {
     state_ = ThreadTaskBit::update(task, state_);
@@ -342,13 +297,9 @@
     state_ = HeadSampleBit::update(head_sample, state_);
   }
 
-  bool head_sample() const {
-    return HeadSampleBit::decode(state_);
-  }
+  bool head_sample() const { return HeadSampleBit::decode(state_); }
 
-  void set_metadata(intptr_t metadata) {
-    metadata_ = metadata;
-  }
+  void set_metadata(intptr_t metadata) { metadata_ = metadata; }
 
   void SetAllocationCid(intptr_t cid) {
     set_is_allocation_sample(true);
@@ -357,16 +308,12 @@
 
   static void InitOnce();
 
-  static intptr_t instance_size() {
-    return instance_size_;
-  }
+  static intptr_t instance_size() { return instance_size_; }
 
   uword* GetPCArray() const;
 
   static const int kStackBufferSizeInWords = 2;
-  uword* GetStackBuffer() {
-    return &stack_buffer_[0];
-  }
+  uword* GetStackBuffer() { return &stack_buffer_[0]; }
 
  private:
   static intptr_t instance_size_;
@@ -384,14 +331,14 @@
     kNextFreeBit = 13,
   };
   class HeadSampleBit : public BitField<uword, bool, kHeadSampleBit, 1> {};
-  class LeafFrameIsDart :
-      public BitField<uword, bool, kLeafFrameIsDartBit, 1> {};
+  class LeafFrameIsDart : public BitField<uword, bool, kLeafFrameIsDartBit, 1> {
+  };
   class IgnoreBit : public BitField<uword, bool, kIgnoreBit, 1> {};
   class ExitFrameBit : public BitField<uword, bool, kExitFrameBit, 1> {};
   class MissingFrameInsertedBit
       : public BitField<uword, bool, kMissingFrameInsertedBit, 1> {};
-  class TruncatedTraceBit :
-      public BitField<uword, bool, kTruncatedTraceBit, 1> {};
+  class TruncatedTraceBit
+      : public BitField<uword, bool, kTruncatedTraceBit, 1> {};
   class ClassAllocationSampleBit
       : public BitField<uword, bool, kClassAllocationSampleBit, 1> {};
   class ContinuationSampleBit
@@ -429,21 +376,16 @@
 
   int64_t CompileTimestamp() const;
 
-  RawCode* code() const {
-    return code_.raw();
-  }
+  RawCode* code() const { return code_.raw(); }
 
-  const char* Name() const {
-    return code_.Name();
-  }
+  const char* Name() const { return code_.Name(); }
 
   bool Contains(uword pc) const {
     uword end = Start() + Size();
     return (pc >= Start()) && (pc < end);
   }
 
-  static int Compare(CodeDescriptor* const* a,
-                     CodeDescriptor* const* b) {
+  static int Compare(CodeDescriptor* const* a, CodeDescriptor* const* b) {
     ASSERT(a != NULL);
     ASSERT(b != NULL);
 
@@ -471,9 +413,7 @@
  public:
   explicit CodeLookupTable(Thread* thread);
 
-  intptr_t length() const {
-    return code_objects_.length();
-  }
+  intptr_t length() const { return code_objects_.length(); }
 
   const CodeDescriptor* At(intptr_t index) const {
     return code_objects_.At(index);
@@ -571,14 +511,10 @@
   ProcessedSample();
 
   // Add |pc| to stack trace.
-  void Add(uword pc) {
-    pcs_.Add(pc);
-  }
+  void Add(uword pc) { pcs_.Add(pc); }
 
   // Insert |pc| at |index|.
-  void InsertAt(intptr_t index, uword pc) {
-    pcs_.InsertAt(index, pc);
-  }
+  void InsertAt(intptr_t index, uword pc) { pcs_.InsertAt(index, pc); }
 
   // Number of pcs in stack trace.
   intptr_t length() const { return pcs_.length(); }
@@ -609,9 +545,7 @@
   intptr_t allocation_cid() const { return allocation_cid_; }
   void set_allocation_cid(intptr_t cid) { allocation_cid_ = cid; }
 
-  bool IsAllocationSample() const {
-    return allocation_cid_ > 0;
-  }
+  bool IsAllocationSample() const { return allocation_cid_ > 0; }
 
   // Was the stack trace truncated?
   bool truncated() const { return truncated_; }
@@ -659,17 +593,11 @@
  public:
   ProcessedSampleBuffer();
 
-  void Add(ProcessedSample* sample) {
-    samples_.Add(sample);
-  }
+  void Add(ProcessedSample* sample) { samples_.Add(sample); }
 
-  intptr_t length() const {
-    return samples_.length();
-  }
+  intptr_t length() const { return samples_.length(); }
 
-  ProcessedSample* At(intptr_t index) {
-    return samples_.At(index);
-  }
+  ProcessedSample* At(intptr_t index) { return samples_.At(index); }
 
   const CodeLookupTable& code_lookup_table() const {
     return *code_lookup_table_;
diff --git a/runtime/vm/profiler_service.cc b/runtime/vm/profiler_service.cc
index b198a22..6731e2d 100644
--- a/runtime/vm/profiler_service.cc
+++ b/runtime/vm/profiler_service.cc
@@ -29,9 +29,8 @@
       : previous_(
             GrowableObjectArray::ZoneHandle(isolate->deoptimized_code_array())),
         current_(GrowableObjectArray::ZoneHandle(
-            previous_.IsNull() ? GrowableObjectArray::null() :
-                                 GrowableObjectArray::New())) {
-  }
+            previous_.IsNull() ? GrowableObjectArray::null()
+                               : GrowableObjectArray::New())) {}
 
   void Add(const Code& code) {
     if (current_.IsNull()) {
@@ -49,9 +48,10 @@
     if ((size_before > 0) && FLAG_trace_profiler) {
       intptr_t length_before = previous_.Length();
       intptr_t length_after = current_.Length();
-      OS::Print("Updating isolate deoptimized code array: "
-                "%" Pd " -> %" Pd " [%" Pd " -> %" Pd "]\n",
-                size_before, size_after, length_before, length_after);
+      OS::Print(
+          "Updating isolate deoptimized code array: "
+          "%" Pd " -> %" Pd " [%" Pd " -> %" Pd "]\n",
+          size_before, size_after, length_before, length_after);
     }
     isolate->set_deoptimized_code_array(current_);
   }
@@ -93,10 +93,7 @@
 
 ProfileFunctionSourcePosition::ProfileFunctionSourcePosition(
     TokenPosition token_pos)
-    : token_pos_(token_pos),
-      exclusive_ticks_(0),
-      inclusive_ticks_(0) {
-}
+    : token_pos_(token_pos), exclusive_ticks_(0), inclusive_ticks_(0) {}
 
 
 void ProfileFunctionSourcePosition::Tick(bool exclusive) {
@@ -109,9 +106,9 @@
 
 
 ProfileFunction::ProfileFunction(Kind kind,
-                  const char* name,
-                  const Function& function,
-                  const intptr_t table_index)
+                                 const char* name,
+                                 const Function& function,
+                                 const intptr_t table_index)
     : kind_(kind),
       name_(name),
       function_(Function::ZoneHandle(function.raw())),
@@ -273,10 +270,7 @@
 
 
 ProfileCodeAddress::ProfileCodeAddress(uword pc)
-    : pc_(pc),
-      exclusive_ticks_(0),
-      inclusive_ticks_(0) {
-}
+    : pc_(pc), exclusive_ticks_(0), inclusive_ticks_(0) {}
 
 
 void ProfileCodeAddress::Tick(bool exclusive) {
@@ -304,8 +298,7 @@
       compile_timestamp_(0),
       function_(NULL),
       code_table_index_(-1),
-      address_ticks_(0) {
-}
+      address_ticks_(0) {}
 
 
 void ProfileCode::AdjustExtent(uword start, uword end) {
@@ -321,10 +314,8 @@
 
 bool ProfileCode::Overlaps(const ProfileCode* other) const {
   ASSERT(other != NULL);
-  return other->Contains(start_)   ||
-         other->Contains(end_ - 1) ||
-         Contains(other->start())  ||
-         Contains(other->end() - 1);
+  return other->Contains(start_) || other->Contains(end_ - 1) ||
+         Contains(other->start()) || Contains(other->end() - 1);
 }
 
 
@@ -347,8 +338,8 @@
 void ProfileCode::GenerateAndSetSymbolName(const char* prefix) {
   const intptr_t kBuffSize = 512;
   char buff[kBuffSize];
-  OS::SNPrint(&buff[0], kBuffSize-1, "%s [%" Px ", %" Px ")",
-              prefix, start(), end());
+  OS::SNPrint(&buff[0], kBuffSize - 1, "%s [%" Px ", %" Px ")", prefix, start(),
+              end());
   SetName(buff);
 }
 
@@ -527,8 +518,8 @@
       : null_function_(Function::ZoneHandle()),
         unknown_function_(NULL),
         table_(8) {
-    unknown_function_ = Add(ProfileFunction::kUnknownFunction,
-                            "<unknown Dart function>");
+    unknown_function_ =
+        Add(ProfileFunction::kUnknownFunction, "<unknown Dart function>");
   }
 
   ProfileFunction* LookupOrAdd(const Function& function) {
@@ -568,9 +559,7 @@
     return Add(ProfileFunction::kStubFunction, name);
   }
 
-  intptr_t length() const {
-    return table_.length();
-  }
+  intptr_t length() const { return table_.length(); }
 
   ProfileFunction* At(intptr_t i) const {
     ASSERT(i >= 0);
@@ -583,21 +572,15 @@
     ASSERT(kind != ProfileFunction::kDartFunction);
     ASSERT(name != NULL);
     ProfileFunction* profile_function =
-        new ProfileFunction(kind,
-                            name,
-                            null_function_,
-                            table_.length());
+        new ProfileFunction(kind, name, null_function_, table_.length());
     table_.Add(profile_function);
     return profile_function;
   }
 
   ProfileFunction* Add(const Function& function) {
     ASSERT(Lookup(function) == NULL);
-    ProfileFunction* profile_function =
-        new ProfileFunction(ProfileFunction::kDartFunction,
-                            NULL,
-                            function,
-                            table_.length());
+    ProfileFunction* profile_function = new ProfileFunction(
+        ProfileFunction::kDartFunction, NULL, function, table_.length());
     table_.Add(profile_function);
     function_hash_.Insert(profile_function);
     return profile_function;
@@ -609,17 +592,11 @@
     typedef const Function* Key;
     typedef ProfileFunction* Pair;
 
-    static Key KeyOf(Pair kv) {
-      return kv->function();
-    }
+    static Key KeyOf(Pair kv) { return kv->function(); }
 
-    static Value ValueOf(Pair kv) {
-      return kv;
-    }
+    static Value ValueOf(Pair kv) { return kv; }
 
-    static inline intptr_t Hashcode(Key key) {
-      return key->Hash();
-    }
+    static inline intptr_t Hashcode(Key key) { return key->Hash(); }
 
     static inline bool IsKeyEqual(Pair kv, Key key) {
       return kv->function()->raw() == key->raw();
@@ -667,8 +644,7 @@
         const char* tag_name = UserTags::TagName(start());
         ASSERT(tag_name != NULL);
         SetName(tag_name);
-      } else if (VMTag::IsVMTag(start()) ||
-                 VMTag::IsRuntimeEntryTag(start()) ||
+      } else if (VMTag::IsVMTag(start()) || VMTag::IsRuntimeEntryTag(start()) ||
                  VMTag::IsNativeEntryTag(start())) {
         const char* tag_name = VMTag::TagName(start());
         ASSERT(tag_name != NULL);
@@ -701,7 +677,7 @@
             break;
           default:
             UNIMPLEMENTED();
-          break;
+            break;
         }
       }
     }
@@ -722,9 +698,7 @@
 
 class ProfileCodeTable : public ZoneAllocated {
  public:
-  ProfileCodeTable()
-      : table_(8) {
-  }
+  ProfileCodeTable() : table_(8) {}
 
   intptr_t length() const { return table_.length(); }
 
@@ -846,8 +820,10 @@
     return end <= pc;
   }
 
-  void HandleOverlap(ProfileCode* existing, ProfileCode* code,
-                     uword start, uword end) {
+  void HandleOverlap(ProfileCode* existing,
+                     ProfileCode* code,
+                     uword start,
+                     uword end) {
     // We should never see overlapping Dart code regions.
     ASSERT(existing->kind() != ProfileCode::kDartCode);
     // We should never see overlapping Tag code regions.
@@ -874,12 +850,10 @@
     const intptr_t length = table_.length();
     for (intptr_t i = 0; i < length; i++) {
       ProfileCode* a = table_[i];
-      for (intptr_t j = i+1; j < length; j++) {
+      for (intptr_t j = i + 1; j < length; j++) {
         ProfileCode* b = table_[j];
-        ASSERT(!a->Contains(b->start()) &&
-               !a->Contains(b->end() - 1) &&
-               !b->Contains(a->start()) &&
-               !b->Contains(a->end() - 1));
+        ASSERT(!a->Contains(b->start()) && !a->Contains(b->end() - 1) &&
+               !b->Contains(a->start()) && !b->Contains(a->end() - 1));
       }
     }
   }
@@ -889,16 +863,12 @@
 
 
 ProfileTrieNode::ProfileTrieNode(intptr_t table_index)
-    : table_index_(table_index),
-      count_(0),
-      children_(0),
-      frame_id_(-1) {
+    : table_index_(table_index), count_(0), children_(0), frame_id_(-1) {
   ASSERT(table_index_ >= 0);
 }
 
 
-ProfileTrieNode::~ProfileTrieNode() {
-}
+ProfileTrieNode::~ProfileTrieNode() {}
 
 
 void ProfileTrieNode::SortChildren() {
@@ -923,8 +893,7 @@
 class ProfileCodeTrieNode : public ProfileTrieNode {
  public:
   explicit ProfileCodeTrieNode(intptr_t table_index)
-      : ProfileTrieNode(table_index) {
-  }
+      : ProfileTrieNode(table_index) {}
 
   void PrintToJSONArray(JSONArray* array) const {
     ASSERT(array != NULL);
@@ -971,21 +940,13 @@
 class ProfileFunctionTrieNodeCode {
  public:
   explicit ProfileFunctionTrieNodeCode(intptr_t index)
-      : code_index_(index),
-        ticks_(0) {
-  }
+      : code_index_(index), ticks_(0) {}
 
-  intptr_t index() const {
-    return code_index_;
-  }
+  intptr_t index() const { return code_index_; }
 
-  void Tick() {
-    ticks_++;
-  }
+  void Tick() { ticks_++; }
 
-  intptr_t ticks() const {
-    return ticks_;
-  }
+  intptr_t ticks() const { return ticks_; }
 
  private:
   intptr_t code_index_;
@@ -996,9 +957,7 @@
 class ProfileFunctionTrieNode : public ProfileTrieNode {
  public:
   explicit ProfileFunctionTrieNode(intptr_t table_index)
-      : ProfileTrieNode(table_index),
-        code_objects_(1) {
-  }
+      : ProfileTrieNode(table_index), code_objects_(1) {}
 
   void PrintToJSONArray(JSONArray* array) const {
     ASSERT(array != NULL);
@@ -1069,9 +1028,7 @@
 
 class ProfileCodeInlinedFunctionsCache : public ValueObject {
  public:
-  ProfileCodeInlinedFunctionsCache()
-      : cache_cursor_(0),
-        last_hit_(0) {
+  ProfileCodeInlinedFunctionsCache() : cache_cursor_(0), last_hit_(0) {
     for (intptr_t i = 0; i < kCacheSize; i++) {
       cache_[i].Reset();
     }
@@ -1082,10 +1039,8 @@
   ~ProfileCodeInlinedFunctionsCache() {
     if (FLAG_trace_profiler) {
       intptr_t total = cache_hit_ + cache_miss_;
-      OS::Print("LOOKUPS: %" Pd " HITS: %" Pd " MISSES: %" Pd "\n",
-                total,
-                cache_hit_,
-                cache_miss_);
+      OS::Print("LOOKUPS: %" Pd " HITS: %" Pd " MISSES: %" Pd "\n", total,
+                cache_hit_, cache_miss_);
     }
   }
 
@@ -1098,16 +1053,13 @@
            GrowableArray<TokenPosition>** inlined_token_positions,
            TokenPosition* token_position) {
     const intptr_t offset = OffsetForPC(pc, code, sample, frame_index);
-    if (FindInCache(pc,
-                    offset,
-                    inlined_functions,
-                    inlined_token_positions,
+    if (FindInCache(pc, offset, inlined_functions, inlined_token_positions,
                     token_position)) {
       // Found in cache.
       return;
     }
-    Add(pc, code, sample, frame_index,
-        inlined_functions, inlined_token_positions, token_position);
+    Add(pc, code, sample, frame_index, inlined_functions,
+        inlined_token_positions, token_position);
   }
 
  private:
@@ -1151,8 +1103,7 @@
     CacheEntry* cache_entry = &cache_[NextFreeIndex()];
     cache_entry->pc = pc;
     cache_entry->offset = offset;
-    code.GetInlinedFunctionsAt(offset,
-                               &(cache_entry->inlined_functions),
+    code.GetInlinedFunctionsAt(offset, &(cache_entry->inlined_functions),
                                &(cache_entry->inlined_token_positions));
     cache_entry->token_position = code.GetTokenPositionAt(offset);
     *token_position = (cache_entry->token_position);
@@ -1164,9 +1115,8 @@
     // The inlined token position table does not include the token position
     // of the final call. Insert it at the beginning because the table.
     // is reversed.
-    cache_entry->inlined_token_positions.InsertAt(
-        0,
-        cache_entry->token_position);
+    cache_entry->inlined_token_positions.InsertAt(0,
+                                                  cache_entry->token_position);
 
     // Write outputs.
     *inlined_functions = &(cache_entry->inlined_functions);
@@ -1275,8 +1225,8 @@
  private:
   // Returns true if |frame_index| in |sample| is using CPU.
   static bool IsExecutingFrame(ProcessedSample* sample, intptr_t frame_index) {
-    return (frame_index == 0) && (sample->first_frame_executing() ||
-                                  sample->IsAllocationSample());
+    return (frame_index == 0) &&
+           (sample->first_frame_executing() || sample->IsAllocationSample());
   }
 
   static bool IsInclusiveTrie(Profile::TrieKind kind) {
@@ -1340,17 +1290,13 @@
       ASSERT(descriptor != NULL);
       const Code& code = Code::Handle(descriptor->code());
       ASSERT(!code.IsNull());
-      RegisterLiveProfileCode(
-          new ProfileCode(ProfileCode::kDartCode,
-                          code.PayloadStart(),
-                          code.PayloadStart() + code.Size(),
-                          code.compile_timestamp(),
-                          code));
+      RegisterLiveProfileCode(new ProfileCode(
+          ProfileCode::kDartCode, code.PayloadStart(),
+          code.PayloadStart() + code.Size(), code.compile_timestamp(), code));
     }
 
     // Iterate over samples.
-    for (intptr_t sample_index = 0;
-         sample_index < samples_->length();
+    for (intptr_t sample_index = 0; sample_index < samples_->length();
          sample_index++) {
       ProcessedSample* sample = samples_->At(sample_index);
       const int64_t timestamp = sample->timestamp();
@@ -1371,8 +1317,7 @@
 
       // Make sure that a ProfileCode objects exist for all pcs in the sample
       // and tick each one.
-      for (intptr_t frame_index = 0;
-           frame_index < sample->length();
+      for (intptr_t frame_index = 0; frame_index < sample->length();
            frame_index++) {
         const uword pc = sample->At(frame_index);
         ASSERT(pc != 0);
@@ -1461,8 +1406,7 @@
   void BuildInclusiveCodeTrie(ProfileCodeTrieNode* root) {
     ScopeTimer sw("ProfileBuilder::BuildInclusiveCodeTrie",
                   FLAG_trace_profiler);
-    for (intptr_t sample_index = 0;
-         sample_index < samples_->length();
+    for (intptr_t sample_index = 0; sample_index < samples_->length();
          sample_index++) {
       ProcessedSample* sample = samples_->At(sample_index);
 
@@ -1482,8 +1426,7 @@
 
       // Walk the sampled PCs.
       Code& code = Code::Handle();
-      for (intptr_t frame_index = sample->length() - 1;
-           frame_index >= 0;
+      for (intptr_t frame_index = sample->length() - 1; frame_index >= 0;
            frame_index--) {
         ASSERT(sample->At(frame_index) != 0);
         intptr_t index =
@@ -1507,8 +1450,7 @@
   void BuildExclusiveCodeTrie(ProfileCodeTrieNode* root) {
     ScopeTimer sw("ProfileBuilder::BuildExclusiveCodeTrie",
                   FLAG_trace_profiler);
-    for (intptr_t sample_index = 0;
-         sample_index < samples_->length();
+    for (intptr_t sample_index = 0; sample_index < samples_->length();
          sample_index++) {
       ProcessedSample* sample = samples_->At(sample_index);
 
@@ -1527,8 +1469,7 @@
 
       // Walk the sampled PCs.
       Code& code = Code::Handle();
-      for (intptr_t frame_index = 0;
-           frame_index < sample->length();
+      for (intptr_t frame_index = 0; frame_index < sample->length();
            frame_index++) {
         ASSERT(sample->At(frame_index) != 0);
         intptr_t index =
@@ -1552,9 +1493,8 @@
   }
 
   void BuildFunctionTrie(Profile::TrieKind kind) {
-    ProfileFunctionTrieNode* root =
-        new ProfileFunctionTrieNode(
-            GetProfileFunctionTagIndex(VMTag::kRootTagId));
+    ProfileFunctionTrieNode* root = new ProfileFunctionTrieNode(
+        GetProfileFunctionTagIndex(VMTag::kRootTagId));
     // We tick the functions while building the trie, but, we don't want to do
     // it for both tries, just the exclusive trie.
     inclusive_tree_ = IsInclusiveTrie(kind);
@@ -1572,8 +1512,7 @@
     ScopeTimer sw("ProfileBuilder::BuildInclusiveFunctionTrie",
                   FLAG_trace_profiler);
     ASSERT(!tick_functions_);
-    for (intptr_t sample_index = 0;
-         sample_index < samples_->length();
+    for (intptr_t sample_index = 0; sample_index < samples_->length();
          sample_index++) {
       ProcessedSample* sample = samples_->At(sample_index);
 
@@ -1590,8 +1529,7 @@
       }
 
       // Walk the sampled PCs.
-      for (intptr_t frame_index = sample->length() - 1;
-           frame_index >= 0;
+      for (intptr_t frame_index = sample->length() - 1; frame_index >= 0;
            frame_index--) {
         ASSERT(sample->At(frame_index) != 0);
         current = ProcessFrame(current, sample_index, sample, frame_index);
@@ -1609,8 +1547,7 @@
     ScopeTimer sw("ProfileBuilder::BuildExclusiveFunctionTrie",
                   FLAG_trace_profiler);
     ASSERT(tick_functions_);
-    for (intptr_t sample_index = 0;
-         sample_index < samples_->length();
+    for (intptr_t sample_index = 0; sample_index < samples_->length();
          sample_index++) {
       ProcessedSample* sample = samples_->At(sample_index);
 
@@ -1628,8 +1565,7 @@
       }
 
       // Walk the sampled PCs.
-      for (intptr_t frame_index = 0;
-           frame_index < sample->length();
+      for (intptr_t frame_index = 0; frame_index < sample->length();
            frame_index++) {
         ASSERT(sample->At(frame_index) != 0);
         current = ProcessFrame(current, sample_index, sample, frame_index);
@@ -1645,14 +1581,12 @@
     }
   }
 
-  ProfileFunctionTrieNode* ProcessFrame(
-      ProfileFunctionTrieNode* current,
-      intptr_t sample_index,
-      ProcessedSample* sample,
-      intptr_t frame_index) {
+  ProfileFunctionTrieNode* ProcessFrame(ProfileFunctionTrieNode* current,
+                                        intptr_t sample_index,
+                                        ProcessedSample* sample,
+                                        intptr_t frame_index) {
     const uword pc = sample->At(frame_index);
-    ProfileCode* profile_code = GetProfileCode(pc,
-                                               sample->timestamp());
+    ProfileCode* profile_code = GetProfileCode(pc, sample->timestamp());
     ProfileFunction* function = profile_code->function();
     ASSERT(function != NULL);
     const intptr_t code_index = profile_code->code_table_index();
@@ -1663,34 +1597,26 @@
     TokenPosition token_position = TokenPosition::kNoSource;
     if (!code.IsNull()) {
       inlined_functions_cache_.Get(pc, code, sample, frame_index,
-                                   &inlined_functions,
-                                   &inlined_token_positions,
+                                   &inlined_functions, &inlined_token_positions,
                                    &token_position);
       if (FLAG_trace_profiler_verbose) {
         for (intptr_t i = 0; i < inlined_functions->length(); i++) {
           const String& name =
               String::Handle((*inlined_functions)[i]->QualifiedScrubbedName());
-          THR_Print("InlinedFunction[%" Pd "] = {%s, %s}\n",
-                    i,
+          THR_Print("InlinedFunction[%" Pd "] = {%s, %s}\n", i,
                     name.ToCString(),
                     (*inlined_token_positions)[i].ToCString());
         }
       }
     }
-    if (code.IsNull() ||
-        (inlined_functions == NULL) ||
+    if (code.IsNull() || (inlined_functions == NULL) ||
         (inlined_functions->length() == 0)) {
       // No inlined functions.
       if (inclusive_tree_) {
         current = AppendKind(code, current);
       }
-      current = ProcessFunction(current,
-                                sample_index,
-                                sample,
-                                frame_index,
-                                function,
-                                token_position,
-                                code_index);
+      current = ProcessFunction(current, sample_index, sample, frame_index,
+                                function, token_position, code_index);
       if (!inclusive_tree_) {
         current = AppendKind(code, current);
       }
@@ -1709,13 +1635,9 @@
         if (inliner) {
           current = AppendKind(code, current);
         }
-        current = ProcessInlinedFunction(current,
-                                         sample_index,
-                                         sample,
-                                         frame_index,
-                                         inlined_function,
-                                         inlined_token_position,
-                                         code_index);
+        current = ProcessInlinedFunction(current, sample_index, sample,
+                                         frame_index, inlined_function,
+                                         inlined_token_position, code_index);
         if (inliner) {
           current = AppendKind(kInlineStart, current);
         }
@@ -1733,13 +1655,9 @@
         if (inliner) {
           current = AppendKind(kInlineStart, current);
         }
-        current = ProcessInlinedFunction(current,
-                                         sample_index,
-                                         sample,
-                                         frame_index + i,
-                                         inlined_function,
-                                         inlined_token_position,
-                                         code_index);
+        current = ProcessInlinedFunction(current, sample_index, sample,
+                                         frame_index + i, inlined_function,
+                                         inlined_token_position, code_index);
         if (inliner) {
           current = AppendKind(code, current);
         }
@@ -1760,13 +1678,8 @@
     ProfileFunctionTable* function_table = profile_->functions_;
     ProfileFunction* function = function_table->LookupOrAdd(*inlined_function);
     ASSERT(function != NULL);
-    return ProcessFunction(current,
-                           sample_index,
-                           sample,
-                           frame_index,
-                           function,
-                           inlined_token_position,
-                           code_index);
+    return ProcessFunction(current, sample_index, sample, frame_index, function,
+                           inlined_token_position, code_index);
   }
 
   bool ShouldTickNode(ProcessedSample* sample, intptr_t frame_index) {
@@ -1775,8 +1688,8 @@
     }
     // Only tick the first frame's node, if we are executing OR
     // vm tags have been emitted.
-    return IsExecutingFrame(sample, frame_index) ||
-           !FLAG_profile_vm || vm_tags_emitted();
+    return IsExecutingFrame(sample, frame_index) || !FLAG_profile_vm ||
+           vm_tags_emitted();
   }
 
   ProfileFunctionTrieNode* ProcessFunction(ProfileFunctionTrieNode* current,
@@ -1791,15 +1704,11 @@
     }
     if (tick_functions_) {
       if (FLAG_trace_profiler_verbose) {
-        THR_Print("S[%" Pd "]F[%" Pd "] %s %s 0x%" Px "\n",
-                  sample_index,
-                  frame_index,
-                  function->Name(),
-                  token_position.ToCString(),
+        THR_Print("S[%" Pd "]F[%" Pd "] %s %s 0x%" Px "\n", sample_index,
+                  frame_index, function->Name(), token_position.ToCString(),
                   sample->At(frame_index));
       }
-      function->Tick(IsExecutingFrame(sample, frame_index),
-                     sample_index,
+      function->Tick(IsExecutingFrame(sample, frame_index), sample_index,
                      token_position);
     }
     function->AddProfileCode(code_index);
@@ -1847,8 +1756,7 @@
     return current;
   }
 
-  ProfileCodeTrieNode* AppendVMTag(uword vm_tag,
-                                   ProfileCodeTrieNode* current) {
+  ProfileCodeTrieNode* AppendVMTag(uword vm_tag, ProfileCodeTrieNode* current) {
     if (VMTag::IsNativeEntryTag(vm_tag)) {
       // Insert a dummy kNativeTagId node.
       intptr_t tag_index = GetProfileCodeTagIndex(VMTag::kNativeTagId);
@@ -1871,10 +1779,10 @@
   }
 
   ProfileCodeTrieNode* AppendSpecificNativeRuntimeEntryVMTag(
-      uword vm_tag, ProfileCodeTrieNode* current) {
+      uword vm_tag,
+      ProfileCodeTrieNode* current) {
     // Only Native and Runtime entries have a second VM tag.
-    if (!VMTag::IsNativeEntryTag(vm_tag) &&
-        !VMTag::IsRuntimeEntryTag(vm_tag)) {
+    if (!VMTag::IsNativeEntryTag(vm_tag) && !VMTag::IsRuntimeEntryTag(vm_tag)) {
       return current;
     }
     intptr_t tag_index = GetProfileCodeTagIndex(vm_tag);
@@ -1976,8 +1884,7 @@
       return current;
     }
 
-    if (VMTag::IsNativeEntryTag(vm_tag) ||
-        VMTag::IsRuntimeEntryTag(vm_tag)) {
+    if (VMTag::IsNativeEntryTag(vm_tag) || VMTag::IsRuntimeEntryTag(vm_tag)) {
       current = AppendSpecificNativeRuntimeEntryVMTag(vm_tag, current);
     } else {
       intptr_t tag_index = GetProfileCodeTagIndex(vm_tag);
@@ -2025,9 +1932,7 @@
   }
 
   // ProfileFunctionTrieNode
-  void ResetKind() {
-    info_kind_ = kNone;
-  }
+  void ResetKind() { info_kind_ = kNone; }
 
   ProfileFunctionTrieNode* AppendKind(ProfileInfoKind kind,
                                       ProfileFunctionTrieNode* current) {
@@ -2101,10 +2006,10 @@
   }
 
   ProfileFunctionTrieNode* AppendSpecificNativeRuntimeEntryVMTag(
-      uword vm_tag, ProfileFunctionTrieNode* current) {
+      uword vm_tag,
+      ProfileFunctionTrieNode* current) {
     // Only Native and Runtime entries have a second VM tag.
-    if (!VMTag::IsNativeEntryTag(vm_tag) &&
-        !VMTag::IsRuntimeEntryTag(vm_tag)) {
+    if (!VMTag::IsNativeEntryTag(vm_tag) && !VMTag::IsRuntimeEntryTag(vm_tag)) {
       return current;
     }
     intptr_t tag_index = GetProfileFunctionTagIndex(vm_tag);
@@ -2130,8 +2035,7 @@
     if (!VMTag::IsExitFrameTag(vm_tag)) {
       return current;
     }
-    if (VMTag::IsNativeEntryTag(vm_tag) ||
-        VMTag::IsRuntimeEntryTag(vm_tag)) {
+    if (VMTag::IsNativeEntryTag(vm_tag) || VMTag::IsRuntimeEntryTag(vm_tag)) {
       current = AppendSpecificNativeRuntimeEntryVMTag(vm_tag, current);
     } else {
       intptr_t tag_index = GetProfileFunctionTagIndex(vm_tag);
@@ -2240,21 +2144,15 @@
       // Already created.
       return;
     }
-    ProfileCode* code = new ProfileCode(ProfileCode::kTagCode,
-                                        tag,
-                                        tag + 1,
-                                        0,
-                                        null_code_);
+    ProfileCode* code =
+        new ProfileCode(ProfileCode::kTagCode, tag, tag + 1, 0, null_code_);
     index = tag_table->InsertCode(code);
     ASSERT(index >= 0);
   }
 
   ProfileCode* CreateProfileCodeReused(uword pc) {
-    ProfileCode* code = new ProfileCode(ProfileCode::kReusedCode,
-                                        pc,
-                                        pc + 1,
-                                        0,
-                                        null_code_);
+    ProfileCode* code =
+        new ProfileCode(ProfileCode::kReusedCode, pc, pc + 1, 0, null_code_);
     return code;
   }
 
@@ -2277,8 +2175,8 @@
 
     // Check NativeSymbolResolver for pc.
     uintptr_t native_start = 0;
-    char* native_name = NativeSymbolResolver::LookupSymbolName(pc,
-                                                               &native_start);
+    char* native_name =
+        NativeSymbolResolver::LookupSymbolName(pc, &native_start);
     if (native_name == NULL) {
       // Failed to find a native symbol for pc.
       native_start = pc;
@@ -2291,11 +2189,8 @@
 #endif
 
     ASSERT(pc >= native_start);
-    profile_code = new ProfileCode(ProfileCode::kNativeCode,
-                                   native_start,
-                                   pc + 1,
-                                   0,
-                                   code);
+    profile_code = new ProfileCode(ProfileCode::kNativeCode, native_start,
+                                   pc + 1, 0, code);
     if (native_name != NULL) {
       profile_code->SetName(native_name);
       NativeSymbolResolver::FreeSymbolName(native_name);
@@ -2340,14 +2235,11 @@
     return FindOrRegisterDeadProfileCode(pc);
   }
 
-  Profile::TagOrder tag_order() const {
-    return tag_order_;
-  }
+  Profile::TagOrder tag_order() const { return tag_order_; }
 
   bool vm_tags_emitted() const {
     return (tag_order_ == Profile::kUserVM) ||
-           (tag_order_ == Profile::kVMUser) ||
-           (tag_order_ == Profile::kVM);
+           (tag_order_ == Profile::kVMUser) || (tag_order_ == Profile::kVM);
   }
 
   bool TagsEnabled(intptr_t extra_tags_bits) const {
@@ -2441,10 +2333,8 @@
 
 
 void Profile::PrintHeaderJSON(JSONObject* obj) {
-  obj->AddProperty("samplePeriod",
-                   static_cast<intptr_t>(FLAG_profile_period));
-  obj->AddProperty("stackDepth",
-                   static_cast<intptr_t>(FLAG_max_profile_depth));
+  obj->AddProperty("samplePeriod", static_cast<intptr_t>(FLAG_profile_period));
+  obj->AddProperty("stackDepth", static_cast<intptr_t>(FLAG_max_profile_depth));
   obj->AddProperty("sampleCount", sample_count());
   obj->AddProperty("timeSpan", MicrosecondsToSeconds(GetTimeSpan()));
   obj->AddPropertyTimeMicros("timeOriginMicros", min_time());
@@ -2453,36 +2343,24 @@
   ProfilerCounters counters = Profiler::counters();
   {
     JSONObject counts(obj, "counters");
-    counts.AddProperty64(
-        "bail_out_unknown_task",
-        counters.bail_out_unknown_task);
-    counts.AddProperty64(
-        "bail_out_jump_to_exception_handler",
-        counters.bail_out_jump_to_exception_handler);
-    counts.AddProperty64(
-        "bail_out_check_isolate",
-        counters.bail_out_check_isolate);
-    counts.AddProperty64(
-        "single_frame_sample_deoptimizing",
-        counters.single_frame_sample_deoptimizing);
-    counts.AddProperty64(
-        "single_frame_sample_register_check",
-        counters.single_frame_sample_register_check);
+    counts.AddProperty64("bail_out_unknown_task",
+                         counters.bail_out_unknown_task);
+    counts.AddProperty64("bail_out_jump_to_exception_handler",
+                         counters.bail_out_jump_to_exception_handler);
+    counts.AddProperty64("bail_out_check_isolate",
+                         counters.bail_out_check_isolate);
+    counts.AddProperty64("single_frame_sample_deoptimizing",
+                         counters.single_frame_sample_deoptimizing);
+    counts.AddProperty64("single_frame_sample_register_check",
+                         counters.single_frame_sample_register_check);
     counts.AddProperty64(
         "single_frame_sample_get_and_validate_stack_bounds",
         counters.single_frame_sample_get_and_validate_stack_bounds);
-    counts.AddProperty64(
-        "stack_walker_native",
-        counters.stack_walker_native);
-    counts.AddProperty64(
-        "stack_walker_dart_exit",
-        counters.stack_walker_dart_exit);
-    counts.AddProperty64(
-        "stack_walker_dart",
-        counters.stack_walker_dart);
-    counts.AddProperty64(
-        "stack_walker_none",
-        counters.stack_walker_none);
+    counts.AddProperty64("stack_walker_native", counters.stack_walker_native);
+    counts.AddProperty64("stack_walker_dart_exit",
+                         counters.stack_walker_dart_exit);
+    counts.AddProperty64("stack_walker_dart", counters.stack_walker_dart);
+    counts.AddProperty64("stack_walker_none", counters.stack_walker_none);
   }
 }
 
@@ -2501,16 +2379,16 @@
     // The samples from many isolates may be merged into a single timeline,
     // so prefix frames id with the isolate.
     intptr_t isolate_id = reinterpret_cast<intptr_t>(isolate_);
-    const char* key = zone_->PrintToString("%" Pd "-%" Pd,
-                                           isolate_id, current->frame_id());
+    const char* key =
+        zone_->PrintToString("%" Pd "-%" Pd, isolate_id, current->frame_id());
     JSONObject frame(frames, key);
     frame.AddProperty("category", "Dart");
     ProfileFunction* func = GetFunction(current->table_index());
     frame.AddProperty("name", func->Name());
     if (parent != NULL) {
       ASSERT(parent->frame_id() != -1);
-      frame.AddPropertyF("parent", "%" Pd "-%" Pd,
-                         isolate_id, parent->frame_id());
+      frame.AddPropertyF("parent", "%" Pd "-%" Pd, isolate_id,
+                         parent->frame_id());
     }
   }
 
@@ -2536,8 +2414,7 @@
     JSONArray events(&obj, "traceEvents");
     intptr_t pid = OS::ProcessId();
     intptr_t isolate_id = reinterpret_cast<intptr_t>(isolate_);
-    for (intptr_t sample_index = 0;
-         sample_index < samples_->length();
+    for (intptr_t sample_index = 0; sample_index < samples_->length();
          sample_index++) {
       ProcessedSample* sample = samples_->At(sample_index);
       JSONObject event(&events);
@@ -2549,8 +2426,7 @@
 
       ProfileTrieNode* trie = sample->timeline_trie();
       ASSERT(trie->frame_id() != -1);
-      event.AddPropertyF("sf", "%" Pd "-%" Pd,
-                         isolate_id, trie->frame_id());
+      event.AddPropertyF("sf", "%" Pd "-%" Pd, isolate_id, trie->frame_id());
     }
   }
 }
@@ -2801,12 +2677,9 @@
       : SampleFilter(isolate,
                      thread_task_mask,
                      time_origin_micros,
-                     time_extent_micros) {
-  }
+                     time_extent_micros) {}
 
-  bool FilterSample(Sample* sample) {
-    return !sample->is_allocation_sample();
-  }
+  bool FilterSample(Sample* sample) { return !sample->is_allocation_sample(); }
 };
 
 
@@ -2817,10 +2690,8 @@
                                 int64_t time_extent_micros) {
   Thread* thread = Thread::Current();
   Isolate* isolate = thread->isolate();
-  NoAllocationSampleFilter filter(isolate,
-                                  Thread::kMutatorTask,
-                                  time_origin_micros,
-                                  time_extent_micros);
+  NoAllocationSampleFilter filter(isolate, Thread::kMutatorTask,
+                                  time_origin_micros, time_extent_micros);
   const bool as_timeline = false;
   PrintJSONImpl(thread, stream, tag_order, extra_tags, &filter, as_timeline);
 }
@@ -2858,11 +2729,8 @@
                                           int64_t time_extent_micros) {
   Thread* thread = Thread::Current();
   Isolate* isolate = thread->isolate();
-  ClassAllocationSampleFilter filter(isolate,
-                                     cls,
-                                     Thread::kMutatorTask,
-                                     time_origin_micros,
-                                     time_extent_micros);
+  ClassAllocationSampleFilter filter(isolate, cls, Thread::kMutatorTask,
+                                     time_origin_micros, time_extent_micros);
   const bool as_timeline = false;
   PrintJSONImpl(thread, stream, tag_order, kNoExtraTags, &filter, as_timeline);
 }
@@ -2876,11 +2744,8 @@
   Isolate* isolate = thread->isolate();
   const intptr_t thread_task_mask = Thread::kMutatorTask |
                                     Thread::kCompilerTask |
-                                    Thread::kSweeperTask |
-                                    Thread::kMarkerTask;
-  NoAllocationSampleFilter filter(isolate,
-                                  thread_task_mask,
-                                  time_origin_micros,
+                                    Thread::kSweeperTask | Thread::kMarkerTask;
+  NoAllocationSampleFilter filter(isolate, thread_task_mask, time_origin_micros,
                                   time_extent_micros);
   const bool as_timeline = true;
   PrintJSONImpl(thread, stream, tag_order, kNoExtraTags, &filter, as_timeline);
diff --git a/runtime/vm/profiler_service.h b/runtime/vm/profiler_service.h
index 61c8891..7251432 100644
--- a/runtime/vm/profiler_service.h
+++ b/runtime/vm/profiler_service.h
@@ -54,10 +54,10 @@
 class ProfileFunction : public ZoneAllocated {
  public:
   enum Kind {
-    kDartFunction,    // Dart function.
-    kNativeFunction,  // Synthetic function for Native (C/C++).
-    kTagFunction,     // Synthetic function for a VM or User tag.
-    kStubFunction,    // Synthetic function for stub code.
+    kDartFunction,     // Dart function.
+    kNativeFunction,   // Synthetic function for Native (C/C++).
+    kTagFunction,      // Synthetic function for a VM or User tag.
+    kStubFunction,     // Synthetic function for stub code.
     kUnknownFunction,  // A singleton function for unknown objects.
   };
 
@@ -73,26 +73,18 @@
 
   const char* Name() const;
 
-  const Function* function() const {
-    return &function_;
-  }
+  const Function* function() const { return &function_; }
 
   bool is_visible() const;
 
-  intptr_t table_index() const {
-    return table_index_;
-  }
+  intptr_t table_index() const { return table_index_; }
 
-  Kind kind() const {
-    return kind_;
-  }
+  Kind kind() const { return kind_; }
 
   intptr_t exclusive_ticks() const { return exclusive_ticks_; }
   intptr_t inclusive_ticks() const { return inclusive_ticks_; }
 
-  void IncInclusiveTicks() {
-    inclusive_ticks_++;
-  }
+  void IncInclusiveTicks() { inclusive_ticks_++; }
 
   void Tick(bool exclusive,
             intptr_t inclusive_serial,
@@ -180,9 +172,7 @@
 
   void AdjustExtent(uword start, uword end);
 
-  bool Contains(uword pc) const {
-    return (pc >= start_) && (pc < end_);
-  }
+  bool Contains(uword pc) const { return (pc >= start_) && (pc < end_); }
 
   bool Overlaps(const ProfileCode* other) const;
 
@@ -195,22 +185,16 @@
   void set_exclusive_ticks(intptr_t exclusive_ticks) {
     exclusive_ticks_ = exclusive_ticks;
   }
-  void IncExclusiveTicks() {
-    exclusive_ticks_++;
-  }
+  void IncExclusiveTicks() { exclusive_ticks_++; }
 
   intptr_t inclusive_ticks() const { return inclusive_ticks_; }
   void set_inclusive_ticks(intptr_t inclusive_ticks) {
     inclusive_ticks_ = inclusive_ticks;
   }
-  void IncInclusiveTicks() {
-    inclusive_ticks_++;
-  }
+  void IncInclusiveTicks() { inclusive_ticks_++; }
 
   bool IsOptimizedDart() const;
-  RawCode* code() const {
-    return code_.raw();
-  }
+  RawCode* code() const { return code_.raw(); }
 
   const char* name() const { return name_; }
   void SetName(const char* name);
@@ -226,9 +210,7 @@
 
   ProfileFunction* SetFunctionAndName(ProfileFunctionTable* table);
 
-  ProfileFunction* function() const {
-    return function_;
-  }
+  ProfileFunction* function() const { return function_; }
 
   void PrintNativeCode(JSONObject* profile_code_obj);
   void PrintCollectedCode(JSONObject* profile_code_obj);
@@ -275,17 +257,11 @@
 
   intptr_t count() const { return count_; }
 
-  void Tick() {
-    count_++;
-  }
+  void Tick() { count_++; }
 
-  intptr_t NumChildren() const {
-    return children_.length();
-  }
+  intptr_t NumChildren() const { return children_.length(); }
 
-  ProfileTrieNode* At(intptr_t i) {
-    return children_.At(i);
-  }
+  ProfileTrieNode* At(intptr_t i) { return children_.At(i); }
 
   intptr_t IndexOf(ProfileTrieNode* node);
 
@@ -319,13 +295,7 @@
 // a zone must be created that lives longer than this object.
 class Profile : public ValueObject {
  public:
-  enum TagOrder {
-    kNoTags,
-    kUser,
-    kUserVM,
-    kVM,
-    kVMUser
-  };
+  enum TagOrder { kNoTags, kUser, kUserVM, kVM, kVMUser };
 
   enum TrieKind {
     kExclusiveCode,
@@ -339,22 +309,20 @@
     return (kind == kExclusiveCode) || (kind == kInclusiveCode);
   }
 
-  static bool IsFunctionTrie(TrieKind kind) {
-    return !IsCodeTrie(kind);
-  }
+  static bool IsFunctionTrie(TrieKind kind) { return !IsCodeTrie(kind); }
 
   explicit Profile(Isolate* isolate);
 
   // Build a filtered model using |filter| with the specified |tag_order|.
   void Build(Thread* thread,
-             SampleFilter* filter, TagOrder tag_order, intptr_t extra_tags = 0);
+             SampleFilter* filter,
+             TagOrder tag_order,
+             intptr_t extra_tags = 0);
 
   // After building:
   int64_t min_time() const { return min_time_; }
   int64_t max_time() const { return max_time_; }
-  int64_t GetTimeSpan() const {
-    return max_time() - min_time();
-  }
+  int64_t GetTimeSpan() const { return max_time() - min_time(); }
   intptr_t sample_count() const { return sample_count_; }
 
   intptr_t NumFunctions() const;
@@ -399,10 +367,7 @@
 class ProfileTrieWalker : public ValueObject {
  public:
   explicit ProfileTrieWalker(Profile* profile)
-      : profile_(profile),
-        parent_(NULL),
-        current_(NULL),
-        code_trie_(false) {
+      : profile_(profile), parent_(NULL), current_(NULL), code_trie_(false) {
     ASSERT(profile_ != NULL);
   }
 
diff --git a/runtime/vm/profiler_test.cc b/runtime/vm/profiler_test.cc
index 3f9c92a..f1c0b92 100644
--- a/runtime/vm/profiler_test.cc
+++ b/runtime/vm/profiler_test.cc
@@ -24,14 +24,11 @@
 // Some tests are written assuming native stack trace profiling is disabled.
 class DisableNativeProfileScope : public ValueObject {
  public:
-  DisableNativeProfileScope()
-      : FLAG_profile_vm_(FLAG_profile_vm) {
+  DisableNativeProfileScope() : FLAG_profile_vm_(FLAG_profile_vm) {
     FLAG_profile_vm = false;
   }
 
-  ~DisableNativeProfileScope() {
-    FLAG_profile_vm = FLAG_profile_vm_;
-  }
+  ~DisableNativeProfileScope() { FLAG_profile_vm = FLAG_profile_vm_; }
 
  private:
   const bool FLAG_profile_vm_;
@@ -62,9 +59,7 @@
     Profiler::SetSampleDepth(new_max_depth);
   }
 
-  ~MaxProfileDepthScope() {
-    Profiler::SetSampleDepth(FLAG_max_profile_depth_);
-  }
+  ~MaxProfileDepthScope() { Profiler::SetSampleDepth(FLAG_max_profile_depth_); }
 
  private:
   const intptr_t FLAG_max_profile_depth_;
@@ -161,9 +156,8 @@
 
 
 static RawClass* GetClass(const Library& lib, const char* name) {
-  const Class& cls = Class::Handle(
-      lib.LookupClassAllowPrivate(String::Handle(Symbols::New(Thread::Current(),
-                                                              name))));
+  const Class& cls = Class::Handle(lib.LookupClassAllowPrivate(
+      String::Handle(Symbols::New(Thread::Current(), name))));
   EXPECT(!cls.IsNull());  // No ambiguity error expected.
   return cls.raw();
 }
@@ -188,22 +182,17 @@
                      time_origin_micros,
                      time_extent_micros),
         cid_(cid),
-        enable_vm_ticks_(false) {
-  }
+        enable_vm_ticks_(false) {}
 
   bool FilterSample(Sample* sample) {
-    if (!enable_vm_ticks_ &&
-        (sample->vm_tag() == VMTag::kVMTagId)) {
+    if (!enable_vm_ticks_ && (sample->vm_tag() == VMTag::kVMTagId)) {
       // We don't want to see embedder ticks in the test.
       return false;
     }
-    return sample->is_allocation_sample() &&
-           (sample->allocation_cid() == cid_);
+    return sample->is_allocation_sample() && (sample->allocation_cid() == cid_);
   }
 
-  void set_enable_vm_ticks(bool enable) {
-    enable_vm_ticks_ = enable;
-  }
+  void set_enable_vm_ticks(bool enable) { enable_vm_ticks_ = enable; }
 
  private:
   intptr_t cid_;
@@ -250,9 +239,7 @@
     HANDLESCOPE(thread);
     Profile profile(isolate);
     // Filter for the class in the time range.
-    AllocationFilter filter(isolate,
-                            class_a.id(),
-                            before_allocations_micros,
+    AllocationFilter filter(isolate, class_a.id(), before_allocations_micros,
                             allocation_extent_micros);
     profile.Build(thread, &filter, Profile::kNoTags);
     // We should have 1 allocation sample.
@@ -311,9 +298,7 @@
     StackZone zone(thread);
     HANDLESCOPE(thread);
     Profile profile(isolate);
-    AllocationFilter filter(isolate,
-                            class_a.id(),
-                            Dart_TimelineGetMicros(),
+    AllocationFilter filter(isolate, class_a.id(), Dart_TimelineGetMicros(),
                             16000);
     profile.Build(thread, &filter, Profile::kNoTags);
     // We should have no allocation samples because none occured within
@@ -657,7 +642,9 @@
       Class::Handle(isolate->object_store()->double_class());
   EXPECT(!double_class.IsNull());
 
-  Dart_Handle args[2] = { Dart_NewDouble(1.0), Dart_NewDouble(2.0), };
+  Dart_Handle args[2] = {
+      Dart_NewDouble(1.0), Dart_NewDouble(2.0),
+  };
 
   Dart_Handle result = Dart_Invoke(lib, NewString("foo"), 2, &args[0]);
   EXPECT_VALID(result);
@@ -836,8 +823,7 @@
   root_library ^= Api::UnwrapHandle(lib);
   Isolate* isolate = thread->isolate();
 
-  const Class& context_class =
-      Class::Handle(Object::context_class());
+  const Class& context_class = Class::Handle(Object::context_class());
   EXPECT(!context_class.IsNull());
 
   Dart_Handle result = Dart_Invoke(lib, NewString("foo"), 0, NULL);
@@ -1059,7 +1045,9 @@
       Class::Handle(isolate->object_store()->one_byte_string_class());
   EXPECT(!one_byte_string_class.IsNull());
 
-  Dart_Handle args[2] = { NewString("a"), NewString("b"), };
+  Dart_Handle args[2] = {
+      NewString("a"), NewString("b"),
+  };
 
   Dart_Handle result = Dart_Invoke(lib, NewString("foo"), 2, &args[0]);
   EXPECT_VALID(result);
@@ -1142,7 +1130,9 @@
       Class::Handle(isolate->object_store()->one_byte_string_class());
   EXPECT(!one_byte_string_class.IsNull());
 
-  Dart_Handle args[2] = { NewString("a"), NewString("b"), };
+  Dart_Handle args[2] = {
+      NewString("a"), NewString("b"),
+  };
 
   Dart_Handle result = Dart_Invoke(lib, NewString("foo"), 2, &args[0]);
   EXPECT_VALID(result);
@@ -1397,9 +1387,7 @@
     HANDLESCOPE(thread);
     Profile profile(isolate);
     AllocationFilter filter(isolate, class_a.id());
-    profile.Build(thread,
-                  &filter,
-                  Profile::kNoTags,
+    profile.Build(thread, &filter, Profile::kNoTags,
                   ProfilerService::kCodeTransitionTagsBit);
     // We should have 50,000 allocation samples.
     EXPECT_EQ(50000, profile.sample_count());
@@ -2358,14 +2346,12 @@
 }
 
 
-static void InsertFakeSample(SampleBuffer* sample_buffer,
-                             uword* pc_offsets) {
+static void InsertFakeSample(SampleBuffer* sample_buffer, uword* pc_offsets) {
   ASSERT(sample_buffer != NULL);
   Isolate* isolate = Isolate::Current();
   Sample* sample = sample_buffer->ReserveSample();
   ASSERT(sample != NULL);
-  sample->Init(isolate,
-               OS::GetCurrentMonotonicMicros(),
+  sample->Init(isolate, OS::GetCurrentMonotonicMicros(),
                OSThread::Current()->trace_id());
   sample->set_thread_task(Thread::kMutatorTask);
 
@@ -2473,10 +2459,8 @@
   CodeSourceMap::Dump(main_code_source_map, main_code, main);
 
   // Look up some source token position's pc.
-  uword squarePositionPc =
-      FindPCForTokenPosition(do_work_code,
-                             do_work_code_source_map,
-                             squarePosition);
+  uword squarePositionPc = FindPCForTokenPosition(
+      do_work_code, do_work_code_source_map, squarePosition);
   EXPECT(squarePositionPc != 0);
 
   uword callPositionPc =
@@ -2484,16 +2468,12 @@
   EXPECT(callPositionPc != 0);
 
   // Look up some classifying token position's pc.
-  uword controlFlowPc =
-      FindPCForTokenPosition(do_work_code,
-                             do_work_code_source_map,
-                             TokenPosition::kControlFlow);
+  uword controlFlowPc = FindPCForTokenPosition(
+      do_work_code, do_work_code_source_map, TokenPosition::kControlFlow);
   EXPECT(controlFlowPc != 0);
 
-  uword tempMovePc =
-      FindPCForTokenPosition(main_code,
-                             main_code_source_map,
-                             TokenPosition::kTempMove);
+  uword tempMovePc = FindPCForTokenPosition(main_code, main_code_source_map,
+                                            TokenPosition::kTempMove);
   EXPECT(tempMovePc != 0);
 
   // Insert fake samples.
@@ -2501,34 +2481,28 @@
   // Sample 1:
   // squarePositionPc exclusive.
   // callPositionPc inclusive.
-  uword sample1[] = {
-    squarePositionPc,  // doWork.
-    callPositionPc,    // main.
-    0
-  };
+  uword sample1[] = {squarePositionPc,  // doWork.
+                     callPositionPc,    // main.
+                     0};
 
   // Sample 2:
   // squarePositionPc exclusive.
   uword sample2[] = {
-    squarePositionPc,  // doWork.
-    0,
+      squarePositionPc,  // doWork.
+      0,
   };
 
   // Sample 3:
   // controlFlowPc exclusive.
   // callPositionPc inclusive.
-  uword sample3[] = {
-    controlFlowPc,   // doWork.
-    callPositionPc,  // main.
-    0
-  };
+  uword sample3[] = {controlFlowPc,   // doWork.
+                     callPositionPc,  // main.
+                     0};
 
   // Sample 4:
   // tempMovePc exclusive.
-  uword sample4[] = {
-    tempMovePc,  // main.
-    0
-  };
+  uword sample4[] = {tempMovePc,  // main.
+                     0};
 
   InsertFakeSample(sample_buffer, &sample1[0]);
   InsertFakeSample(sample_buffer, &sample2[0]);
@@ -2538,9 +2512,7 @@
   // Generate source report for main.
   SourceReport sourceReport(SourceReport::kProfile);
   JSONStream js;
-  sourceReport.PrintJSON(&js,
-                         script,
-                         do_work.token_pos(),
+  sourceReport.PrintJSON(&js, script, do_work.token_pos(),
                          main.end_token_pos());
 
   // Verify positions in do_work.
diff --git a/runtime/vm/random.h b/runtime/vm/random.h
index 311760f8..2af1fa7 100644
--- a/runtime/vm/random.h
+++ b/runtime/vm/random.h
@@ -20,7 +20,7 @@
   uint32_t NextUInt32();
   uint64_t NextUInt64() {
     return (static_cast<uint64_t>(NextUInt32()) << 32) |
-        static_cast<uint64_t>(NextUInt32());
+           static_cast<uint64_t>(NextUInt32());
   }
 
  private:
diff --git a/runtime/vm/raw_object.cc b/runtime/vm/raw_object.cc
index dea8f2d..bfe850a 100644
--- a/runtime/vm/raw_object.cc
+++ b/runtime/vm/raw_object.cc
@@ -68,13 +68,12 @@
     case kInstructionsCid: {
       const RawInstructions* raw_instructions =
           reinterpret_cast<const RawInstructions*>(this);
-      intptr_t instructions_size = abs(raw_instructions->ptr()->size_);
+      intptr_t instructions_size = Instructions::Size(raw_instructions);
       instance_size = Instructions::InstanceSize(instructions_size);
       break;
     }
     case kContextCid: {
-      const RawContext* raw_context =
-          reinterpret_cast<const RawContext*>(this);
+      const RawContext* raw_context = reinterpret_cast<const RawContext*>(this);
       intptr_t num_variables = raw_context->ptr()->num_variables_;
       instance_size = Context::InstanceSize(num_variables);
       break;
@@ -114,17 +113,16 @@
       instance_size = ObjectPool::InstanceSize(len);
       break;
     }
-#define SIZE_FROM_CLASS(clazz)                                                 \
-    case kTypedData##clazz##Cid:
-    CLASS_LIST_TYPED_DATA(SIZE_FROM_CLASS) {
-      const RawTypedData* raw_obj =
-          reinterpret_cast<const RawTypedData*>(this);
-      intptr_t cid = raw_obj->GetClassId();
-      intptr_t array_len = Smi::Value(raw_obj->ptr()->length_);
-      intptr_t lengthInBytes = array_len * TypedData::ElementSizeInBytes(cid);
-      instance_size = TypedData::InstanceSize(lengthInBytes);
-      break;
-    }
+#define SIZE_FROM_CLASS(clazz) case kTypedData##clazz##Cid:
+      CLASS_LIST_TYPED_DATA(SIZE_FROM_CLASS) {
+        const RawTypedData* raw_obj =
+            reinterpret_cast<const RawTypedData*>(this);
+        intptr_t cid = raw_obj->GetClassId();
+        intptr_t array_len = Smi::Value(raw_obj->ptr()->length_);
+        intptr_t lengthInBytes = array_len * TypedData::ElementSizeInBytes(cid);
+        instance_size = TypedData::InstanceSize(lengthInBytes);
+        break;
+      }
 #undef SIZE_FROM_CLASS
     case kTypeArgumentsCid: {
       const RawTypeArguments* raw_array =
@@ -187,13 +185,13 @@
       ClassTable* class_table = isolate->class_table();
       if (!class_table->IsValidIndex(class_id) ||
           !class_table->HasValidClassAt(class_id)) {
-        FATAL2("Invalid class id: %" Pd " from tags %" Px "\n",
-               class_id, ptr()->tags_);
+        FATAL2("Invalid class id: %" Pd " from tags %" Px "\n", class_id,
+               ptr()->tags_);
       }
 #endif  // DEBUG
       RawClass* raw_class = isolate->GetClassForHeapWalkAt(class_id);
-      instance_size =
-          raw_class->ptr()->instance_size_in_words_ << kWordSizeLog2;
+      instance_size = raw_class->ptr()->instance_size_in_words_
+                      << kWordSizeLog2;
     }
   }
   ASSERT(instance_size != 0);
@@ -233,23 +231,21 @@
   if (class_id < kNumPredefinedCids) {
     switch (class_id) {
 #define RAW_VISITPOINTERS(clazz)                                               \
-      case k##clazz##Cid: {                                                    \
-        Raw##clazz* raw_obj = reinterpret_cast<Raw##clazz*>(this);             \
-        size = Raw##clazz::Visit##clazz##Pointers(raw_obj, visitor);           \
-        break;                                                                 \
-      }
+  case k##clazz##Cid: {                                                        \
+    Raw##clazz* raw_obj = reinterpret_cast<Raw##clazz*>(this);                 \
+    size = Raw##clazz::Visit##clazz##Pointers(raw_obj, visitor);               \
+    break;                                                                     \
+  }
       CLASS_LIST_NO_OBJECT(RAW_VISITPOINTERS)
 #undef RAW_VISITPOINTERS
-#define RAW_VISITPOINTERS(clazz)                                               \
-      case kTypedData##clazz##Cid:
+#define RAW_VISITPOINTERS(clazz) case kTypedData##clazz##Cid:
       CLASS_LIST_TYPED_DATA(RAW_VISITPOINTERS) {
         RawTypedData* raw_obj = reinterpret_cast<RawTypedData*>(this);
         size = RawTypedData::VisitTypedDataPointers(raw_obj, visitor);
         break;
       }
 #undef RAW_VISITPOINTERS
-#define RAW_VISITPOINTERS(clazz)                                               \
-      case kExternalTypedData##clazz##Cid:
+#define RAW_VISITPOINTERS(clazz) case kExternalTypedData##clazz##Cid:
       CLASS_LIST_TYPED_DATA(RAW_VISITPOINTERS) {
         RawExternalTypedData* raw_obj =
             reinterpret_cast<RawExternalTypedData*>(this);
@@ -258,8 +254,7 @@
         break;
       }
 #undef RAW_VISITPOINTERS
-#define RAW_VISITPOINTERS(clazz)                                               \
-      case kTypedData##clazz##ViewCid:
+#define RAW_VISITPOINTERS(clazz) case kTypedData##clazz##ViewCid:
       CLASS_LIST_TYPED_DATA(RAW_VISITPOINTERS)
       case kByteDataViewCid:
       case kByteBufferCid: {
@@ -313,57 +308,63 @@
 
 
 intptr_t RawUnresolvedClass::VisitUnresolvedClassPointers(
-    RawUnresolvedClass* raw_obj, ObjectPointerVisitor* visitor) {
+    RawUnresolvedClass* raw_obj,
+    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return UnresolvedClass::InstanceSize();
 }
 
 
 intptr_t RawAbstractType::VisitAbstractTypePointers(
-    RawAbstractType* raw_obj, ObjectPointerVisitor* visitor) {
+    RawAbstractType* raw_obj,
+    ObjectPointerVisitor* visitor) {
   // RawAbstractType is an abstract class.
   UNREACHABLE();
   return 0;
 }
 
 
-intptr_t RawType::VisitTypePointers(
-    RawType* raw_obj, ObjectPointerVisitor* visitor) {
+intptr_t RawType::VisitTypePointers(RawType* raw_obj,
+                                    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return Type::InstanceSize();
 }
 
 
-intptr_t RawTypeRef::VisitTypeRefPointers(
-    RawTypeRef* raw_obj, ObjectPointerVisitor* visitor) {
+intptr_t RawTypeRef::VisitTypeRefPointers(RawTypeRef* raw_obj,
+                                          ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return TypeRef::InstanceSize();
 }
 
 
 intptr_t RawTypeParameter::VisitTypeParameterPointers(
-    RawTypeParameter* raw_obj, ObjectPointerVisitor* visitor) {
+    RawTypeParameter* raw_obj,
+    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return TypeParameter::InstanceSize();
 }
 
 
 intptr_t RawBoundedType::VisitBoundedTypePointers(
-    RawBoundedType* raw_obj, ObjectPointerVisitor* visitor) {
+    RawBoundedType* raw_obj,
+    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return BoundedType::InstanceSize();
 }
 
 
 intptr_t RawMixinAppType::VisitMixinAppTypePointers(
-    RawMixinAppType* raw_obj, ObjectPointerVisitor* visitor) {
+    RawMixinAppType* raw_obj,
+    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return MixinAppType::InstanceSize();
 }
 
 
 intptr_t RawTypeArguments::VisitTypeArgumentsPointers(
-    RawTypeArguments* raw_obj, ObjectPointerVisitor* visitor) {
+    RawTypeArguments* raw_obj,
+    ObjectPointerVisitor* visitor) {
   intptr_t length = Smi::Value(raw_obj->ptr()->length_);
   visitor->VisitPointers(raw_obj->from(), raw_obj->to(length));
   return TypeArguments::InstanceSize(length);
@@ -377,22 +378,24 @@
 }
 
 
-intptr_t RawClosure::VisitClosurePointers(
-    RawClosure* raw_obj, ObjectPointerVisitor* visitor) {
+intptr_t RawClosure::VisitClosurePointers(RawClosure* raw_obj,
+                                          ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return Closure::InstanceSize();
 }
 
 
 intptr_t RawClosureData::VisitClosureDataPointers(
-    RawClosureData* raw_obj, ObjectPointerVisitor* visitor) {
+    RawClosureData* raw_obj,
+    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return ClosureData::InstanceSize();
 }
 
 
 intptr_t RawRedirectionData::VisitRedirectionDataPointers(
-    RawRedirectionData* raw_obj, ObjectPointerVisitor* visitor) {
+    RawRedirectionData* raw_obj,
+    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return RedirectionData::InstanceSize();
 }
@@ -473,14 +476,16 @@
 
 
 intptr_t RawLiteralToken::VisitLiteralTokenPointers(
-    RawLiteralToken* raw_obj, ObjectPointerVisitor* visitor) {
+    RawLiteralToken* raw_obj,
+    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return LiteralToken::InstanceSize();
 }
 
 
 intptr_t RawTokenStream::VisitTokenStreamPointers(
-    RawTokenStream* raw_obj, ObjectPointerVisitor* visitor) {
+    RawTokenStream* raw_obj,
+    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return TokenStream::InstanceSize();
 }
@@ -501,14 +506,15 @@
 
 
 intptr_t RawLibraryPrefix::VisitLibraryPrefixPointers(
-    RawLibraryPrefix* raw_obj, ObjectPointerVisitor* visitor) {
+    RawLibraryPrefix* raw_obj,
+    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return LibraryPrefix::InstanceSize();
 }
 
 
-intptr_t RawNamespace::VisitNamespacePointers(
-    RawNamespace* raw_obj, ObjectPointerVisitor* visitor) {
+intptr_t RawNamespace::VisitNamespacePointers(RawNamespace* raw_obj,
+                                              ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return Namespace::InstanceSize();
 }
@@ -536,7 +542,7 @@
   // find those pointers for tracing.
   if (Code::AliveBit::decode(obj->state_bits_)) {
     uword entry_point = reinterpret_cast<uword>(obj->instructions_->ptr()) +
-        Instructions::HeaderSize();
+                        Instructions::HeaderSize();
     for (intptr_t i = 0; i < length; i++) {
       int32_t offset = obj->data()[i];
       visitor->VisitPointer(
@@ -553,8 +559,8 @@
 }
 
 
-intptr_t RawObjectPool::VisitObjectPoolPointers(
-    RawObjectPool* raw_obj, ObjectPointerVisitor* visitor) {
+intptr_t RawObjectPool::VisitObjectPoolPointers(RawObjectPool* raw_obj,
+                                                ObjectPointerVisitor* visitor) {
   visitor->VisitPointer(
       reinterpret_cast<RawObject**>(&raw_obj->ptr()->info_array_));
   const intptr_t len = raw_obj->ptr()->length_;
@@ -572,29 +578,31 @@
 
 
 intptr_t RawInstructions::VisitInstructionsPointers(
-    RawInstructions* raw_obj, ObjectPointerVisitor* visitor) {
-  RawInstructions* obj = raw_obj->ptr();
-  return Instructions::InstanceSize(abs(obj->size_));
+    RawInstructions* raw_obj,
+    ObjectPointerVisitor* visitor) {
+  return Instructions::InstanceSize(Instructions::Size(raw_obj));
 }
 
 
 bool RawInstructions::ContainsPC(RawInstructions* raw_instr, uword pc) {
   uword start_pc =
       reinterpret_cast<uword>(raw_instr->ptr()) + Instructions::HeaderSize();
-  uword end_pc = start_pc + abs(raw_instr->ptr()->size_);
+  uword end_pc = start_pc + Instructions::Size(raw_instr);
   ASSERT(end_pc > start_pc);
   return (pc >= start_pc) && (pc < end_pc);
 }
 
 
 intptr_t RawPcDescriptors::VisitPcDescriptorsPointers(
-    RawPcDescriptors* raw_obj, ObjectPointerVisitor* visitor) {
+    RawPcDescriptors* raw_obj,
+    ObjectPointerVisitor* visitor) {
   return PcDescriptors::InstanceSize(raw_obj->ptr()->length_);
 }
 
 
 intptr_t RawCodeSourceMap::VisitCodeSourceMapPointers(
-    RawCodeSourceMap* raw_obj, ObjectPointerVisitor* visitor) {
+    RawCodeSourceMap* raw_obj,
+    ObjectPointerVisitor* visitor) {
   return CodeSourceMap::InstanceSize(raw_obj->ptr()->length_);
 }
 
@@ -606,7 +614,8 @@
 
 
 intptr_t RawLocalVarDescriptors::VisitLocalVarDescriptorsPointers(
-    RawLocalVarDescriptors* raw_obj, ObjectPointerVisitor* visitor) {
+    RawLocalVarDescriptors* raw_obj,
+    ObjectPointerVisitor* visitor) {
   intptr_t num_entries = raw_obj->ptr()->num_entries_;
   visitor->VisitPointers(raw_obj->from(), raw_obj->to(num_entries));
   return LocalVarDescriptors::InstanceSize(num_entries);
@@ -614,7 +623,8 @@
 
 
 intptr_t RawExceptionHandlers::VisitExceptionHandlersPointers(
-    RawExceptionHandlers* raw_obj, ObjectPointerVisitor* visitor) {
+    RawExceptionHandlers* raw_obj,
+    ObjectPointerVisitor* visitor) {
   RawExceptionHandlers* obj = raw_obj->ptr();
   intptr_t len = obj->num_entries_;
   visitor->VisitPointer(
@@ -632,7 +642,8 @@
 
 
 intptr_t RawContextScope::VisitContextScopePointers(
-    RawContextScope* raw_obj, ObjectPointerVisitor* visitor) {
+    RawContextScope* raw_obj,
+    ObjectPointerVisitor* visitor) {
   intptr_t num_variables = raw_obj->ptr()->num_variables_;
   visitor->VisitPointers(raw_obj->from(), raw_obj->to(num_variables));
   return ContextScope::InstanceSize(num_variables);
@@ -640,14 +651,16 @@
 
 
 intptr_t RawSingleTargetCache::VisitSingleTargetCachePointers(
-    RawSingleTargetCache* raw_obj, ObjectPointerVisitor* visitor) {
+    RawSingleTargetCache* raw_obj,
+    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return SingleTargetCache::InstanceSize();
 }
 
 
 intptr_t RawUnlinkedCall::VisitUnlinkedCallPointers(
-    RawUnlinkedCall* raw_obj, ObjectPointerVisitor* visitor) {
+    RawUnlinkedCall* raw_obj,
+    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return UnlinkedCall::InstanceSize();
 }
@@ -669,7 +682,8 @@
 
 
 intptr_t RawSubtypeTestCache::VisitSubtypeTestCachePointers(
-    RawSubtypeTestCache* raw_obj, ObjectPointerVisitor* visitor) {
+    RawSubtypeTestCache* raw_obj,
+    ObjectPointerVisitor* visitor) {
   // Make sure that we got here with the tagged pointer as this.
   RawSubtypeTestCache* obj = raw_obj->ptr();
   visitor->VisitPointer(reinterpret_cast<RawObject**>(&obj->cache_));
@@ -685,29 +699,32 @@
 }
 
 
-intptr_t RawApiError::VisitApiErrorPointers(
-    RawApiError* raw_obj, ObjectPointerVisitor* visitor) {
+intptr_t RawApiError::VisitApiErrorPointers(RawApiError* raw_obj,
+                                            ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return ApiError::InstanceSize();
 }
 
 
 intptr_t RawLanguageError::VisitLanguageErrorPointers(
-    RawLanguageError* raw_obj, ObjectPointerVisitor* visitor) {
+    RawLanguageError* raw_obj,
+    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return LanguageError::InstanceSize();
 }
 
 
 intptr_t RawUnhandledException::VisitUnhandledExceptionPointers(
-    RawUnhandledException* raw_obj, ObjectPointerVisitor* visitor) {
+    RawUnhandledException* raw_obj,
+    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return UnhandledException::InstanceSize();
 }
 
 
 intptr_t RawUnwindError::VisitUnwindErrorPointers(
-    RawUnwindError* raw_obj, ObjectPointerVisitor* visitor) {
+    RawUnwindError* raw_obj,
+    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return UnwindError::InstanceSize();
 }
@@ -793,7 +810,8 @@
 
 
 intptr_t RawOneByteString::VisitOneByteStringPointers(
-    RawOneByteString* raw_obj, ObjectPointerVisitor* visitor) {
+    RawOneByteString* raw_obj,
+    ObjectPointerVisitor* visitor) {
   ASSERT(!raw_obj->ptr()->length_->IsHeapObject());
   ASSERT(!raw_obj->ptr()->hash_->IsHeapObject());
   intptr_t length = Smi::Value(raw_obj->ptr()->length_);
@@ -802,7 +820,8 @@
 
 
 intptr_t RawTwoByteString::VisitTwoByteStringPointers(
-    RawTwoByteString* raw_obj, ObjectPointerVisitor* visitor) {
+    RawTwoByteString* raw_obj,
+    ObjectPointerVisitor* visitor) {
   ASSERT(!raw_obj->ptr()->length_->IsHeapObject());
   ASSERT(!raw_obj->ptr()->hash_->IsHeapObject());
   intptr_t length = Smi::Value(raw_obj->ptr()->length_);
@@ -811,7 +830,8 @@
 
 
 intptr_t RawExternalOneByteString::VisitExternalOneByteStringPointers(
-    RawExternalOneByteString* raw_obj, ObjectPointerVisitor* visitor) {
+    RawExternalOneByteString* raw_obj,
+    ObjectPointerVisitor* visitor) {
   // Make sure that we got here with the tagged pointer as this.
   ASSERT(raw_obj->IsHeapObject());
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
@@ -820,7 +840,8 @@
 
 
 intptr_t RawExternalTwoByteString::VisitExternalTwoByteStringPointers(
-    RawExternalTwoByteString* raw_obj, ObjectPointerVisitor* visitor) {
+    RawExternalTwoByteString* raw_obj,
+    ObjectPointerVisitor* visitor) {
   // Make sure that we got here with the tagged pointer as this.
   ASSERT(raw_obj->IsHeapObject());
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
@@ -845,50 +866,50 @@
 
 
 intptr_t RawImmutableArray::VisitImmutableArrayPointers(
-    RawImmutableArray* raw_obj, ObjectPointerVisitor* visitor) {
+    RawImmutableArray* raw_obj,
+    ObjectPointerVisitor* visitor) {
   return RawArray::VisitArrayPointers(raw_obj, visitor);
 }
 
 
 intptr_t RawGrowableObjectArray::VisitGrowableObjectArrayPointers(
-    RawGrowableObjectArray* raw_obj, ObjectPointerVisitor* visitor) {
+    RawGrowableObjectArray* raw_obj,
+    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return GrowableObjectArray::InstanceSize();
 }
 
 
 intptr_t RawLinkedHashMap::VisitLinkedHashMapPointers(
-    RawLinkedHashMap* raw_obj, ObjectPointerVisitor* visitor) {
+    RawLinkedHashMap* raw_obj,
+    ObjectPointerVisitor* visitor) {
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
   return LinkedHashMap::InstanceSize();
 }
 
 
-intptr_t RawFloat32x4::VisitFloat32x4Pointers(
-    RawFloat32x4* raw_obj,
-    ObjectPointerVisitor* visitor) {
-    ASSERT(raw_obj->IsHeapObject());
-    return Float32x4::InstanceSize();
+intptr_t RawFloat32x4::VisitFloat32x4Pointers(RawFloat32x4* raw_obj,
+                                              ObjectPointerVisitor* visitor) {
+  ASSERT(raw_obj->IsHeapObject());
+  return Float32x4::InstanceSize();
 }
 
 
-intptr_t RawInt32x4::VisitInt32x4Pointers(
-    RawInt32x4* raw_obj,
-    ObjectPointerVisitor* visitor) {
-    ASSERT(raw_obj->IsHeapObject());
-    return Int32x4::InstanceSize();
+intptr_t RawInt32x4::VisitInt32x4Pointers(RawInt32x4* raw_obj,
+                                          ObjectPointerVisitor* visitor) {
+  ASSERT(raw_obj->IsHeapObject());
+  return Int32x4::InstanceSize();
 }
 
 
-intptr_t RawFloat64x2::VisitFloat64x2Pointers(
-    RawFloat64x2* raw_obj,
-    ObjectPointerVisitor* visitor) {
-    ASSERT(raw_obj->IsHeapObject());
-    return Float64x2::InstanceSize();
+intptr_t RawFloat64x2::VisitFloat64x2Pointers(RawFloat64x2* raw_obj,
+                                              ObjectPointerVisitor* visitor) {
+  ASSERT(raw_obj->IsHeapObject());
+  return Float64x2::InstanceSize();
 }
 
-intptr_t RawTypedData::VisitTypedDataPointers(
-    RawTypedData* raw_obj, ObjectPointerVisitor* visitor) {
+intptr_t RawTypedData::VisitTypedDataPointers(RawTypedData* raw_obj,
+                                              ObjectPointerVisitor* visitor) {
   // Make sure that we got here with the tagged pointer as this.
   ASSERT(raw_obj->IsHeapObject());
   intptr_t cid = raw_obj->GetClassId();
@@ -900,7 +921,8 @@
 
 
 intptr_t RawExternalTypedData::VisitExternalTypedDataPointers(
-    RawExternalTypedData* raw_obj, ObjectPointerVisitor* visitor) {
+    RawExternalTypedData* raw_obj,
+    ObjectPointerVisitor* visitor) {
   // Make sure that we got here with the tagged pointer as this.
   ASSERT(raw_obj->IsHeapObject());
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
@@ -916,7 +938,8 @@
 
 
 intptr_t RawReceivePort::VisitReceivePortPointers(
-    RawReceivePort* raw_obj, ObjectPointerVisitor* visitor) {
+    RawReceivePort* raw_obj,
+    ObjectPointerVisitor* visitor) {
   // Make sure that we got here with the tagged pointer as this.
   ASSERT(raw_obj->IsHeapObject());
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
@@ -951,7 +974,8 @@
 
 
 intptr_t RawWeakProperty::VisitWeakPropertyPointers(
-    RawWeakProperty* raw_obj, ObjectPointerVisitor* visitor) {
+    RawWeakProperty* raw_obj,
+    ObjectPointerVisitor* visitor) {
   // Make sure that we got here with the tagged pointer as this.
   ASSERT(raw_obj->IsHeapObject());
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
@@ -960,7 +984,8 @@
 
 
 intptr_t RawMirrorReference::VisitMirrorReferencePointers(
-    RawMirrorReference* raw_obj, ObjectPointerVisitor* visitor) {
+    RawMirrorReference* raw_obj,
+    ObjectPointerVisitor* visitor) {
   // Make sure that we got here with the tagged pointer as this.
   ASSERT(raw_obj->IsHeapObject());
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
@@ -968,8 +993,8 @@
 }
 
 
-intptr_t RawUserTag::VisitUserTagPointers(
-    RawUserTag* raw_obj, ObjectPointerVisitor* visitor) {
+intptr_t RawUserTag::VisitUserTagPointers(RawUserTag* raw_obj,
+                                          ObjectPointerVisitor* visitor) {
   // Make sure that we got here with the tagged pointer as this.
   ASSERT(raw_obj->IsHeapObject());
   visitor->VisitPointers(raw_obj->from(), raw_obj->to());
diff --git a/runtime/vm/raw_object.h b/runtime/vm/raw_object.h
index cb47575..71b64583 100644
--- a/runtime/vm/raw_object.h
+++ b/runtime/vm/raw_object.h
@@ -45,52 +45,52 @@
   V(MegamorphicCache)                                                          \
   V(SubtypeTestCache)                                                          \
   V(Error)                                                                     \
-    V(ApiError)                                                                \
-    V(LanguageError)                                                           \
-    V(UnhandledException)                                                      \
-    V(UnwindError)                                                             \
+  V(ApiError)                                                                  \
+  V(LanguageError)                                                             \
+  V(UnhandledException)                                                        \
+  V(UnwindError)                                                               \
   V(Instance)                                                                  \
-    V(LibraryPrefix)                                                           \
-    V(AbstractType)                                                            \
-      V(Type)                                                                  \
-      V(TypeRef)                                                               \
-      V(TypeParameter)                                                         \
-      V(BoundedType)                                                           \
-      V(MixinAppType)                                                          \
-    V(Closure)                                                                 \
-    V(Number)                                                                  \
-      V(Integer)                                                               \
-        V(Smi)                                                                 \
-        V(Mint)                                                                \
-        V(Bigint)                                                              \
-      V(Double)                                                                \
-    V(Bool)                                                                    \
-    V(GrowableObjectArray)                                                     \
-    V(Float32x4)                                                               \
-    V(Int32x4)                                                                 \
-    V(Float64x2)                                                               \
-    V(TypedData)                                                               \
-    V(ExternalTypedData)                                                       \
-    V(Capability)                                                              \
-    V(ReceivePort)                                                             \
-    V(SendPort)                                                                \
-    V(Stacktrace)                                                              \
-    V(RegExp)                                                                  \
-    V(WeakProperty)                                                            \
-    V(MirrorReference)                                                         \
-    V(LinkedHashMap)                                                           \
-    V(UserTag)                                                                 \
+  V(LibraryPrefix)                                                             \
+  V(AbstractType)                                                              \
+  V(Type)                                                                      \
+  V(TypeRef)                                                                   \
+  V(TypeParameter)                                                             \
+  V(BoundedType)                                                               \
+  V(MixinAppType)                                                              \
+  V(Closure)                                                                   \
+  V(Number)                                                                    \
+  V(Integer)                                                                   \
+  V(Smi)                                                                       \
+  V(Mint)                                                                      \
+  V(Bigint)                                                                    \
+  V(Double)                                                                    \
+  V(Bool)                                                                      \
+  V(GrowableObjectArray)                                                       \
+  V(Float32x4)                                                                 \
+  V(Int32x4)                                                                   \
+  V(Float64x2)                                                                 \
+  V(TypedData)                                                                 \
+  V(ExternalTypedData)                                                         \
+  V(Capability)                                                                \
+  V(ReceivePort)                                                               \
+  V(SendPort)                                                                  \
+  V(Stacktrace)                                                                \
+  V(RegExp)                                                                    \
+  V(WeakProperty)                                                              \
+  V(MirrorReference)                                                           \
+  V(LinkedHashMap)                                                             \
+  V(UserTag)
 
 #define CLASS_LIST_ARRAYS(V)                                                   \
   V(Array)                                                                     \
-    V(ImmutableArray)                                                          \
+  V(ImmutableArray)
 
 #define CLASS_LIST_STRINGS(V)                                                  \
   V(String)                                                                    \
-    V(OneByteString)                                                           \
-    V(TwoByteString)                                                           \
-    V(ExternalOneByteString)                                                   \
-    V(ExternalTwoByteString)
+  V(OneByteString)                                                             \
+  V(TwoByteString)                                                             \
+  V(ExternalOneByteString)                                                     \
+  V(ExternalTwoByteString)
 
 #define CLASS_LIST_TYPED_DATA(V)                                               \
   V(Int8Array)                                                                 \
@@ -106,7 +106,7 @@
   V(Float64Array)                                                              \
   V(Float32x4Array)                                                            \
   V(Int32x4Array)                                                              \
-  V(Float64x2Array)                                                            \
+  V(Float64x2Array)
 
 #define DART_CLASS_LIST_TYPED_DATA(V)                                          \
   V(Int8)                                                                      \
@@ -141,8 +141,7 @@
 
 // Forward declarations.
 class Isolate;
-#define DEFINE_FORWARD_DECLARATION(clazz)                                      \
-  class Raw##clazz;
+#define DEFINE_FORWARD_DECLARATION(clazz) class Raw##clazz;
 CLASS_LIST(DEFINE_FORWARD_DECLARATION)
 #undef DEFINE_FORWARD_DECLARATION
 
@@ -158,30 +157,26 @@
   kFreeListElement,
   kForwardingCorpse,
 
-  // List of Ids for predefined classes.
-#define DEFINE_OBJECT_KIND(clazz)                                              \
-  k##clazz##Cid,
-CLASS_LIST(DEFINE_OBJECT_KIND)
+// List of Ids for predefined classes.
+#define DEFINE_OBJECT_KIND(clazz) k##clazz##Cid,
+  CLASS_LIST(DEFINE_OBJECT_KIND)
 #undef DEFINE_OBJECT_KIND
 
-#define DEFINE_OBJECT_KIND(clazz)                                              \
-  kTypedData##clazz##Cid,
-CLASS_LIST_TYPED_DATA(DEFINE_OBJECT_KIND)
+#define DEFINE_OBJECT_KIND(clazz) kTypedData##clazz##Cid,
+      CLASS_LIST_TYPED_DATA(DEFINE_OBJECT_KIND)
 #undef DEFINE_OBJECT_KIND
 
-#define DEFINE_OBJECT_KIND(clazz)                                              \
-  kTypedData##clazz##ViewCid,
-CLASS_LIST_TYPED_DATA(DEFINE_OBJECT_KIND)
+#define DEFINE_OBJECT_KIND(clazz) kTypedData##clazz##ViewCid,
+          CLASS_LIST_TYPED_DATA(DEFINE_OBJECT_KIND)
 #undef DEFINE_OBJECT_KIND
 
-  kByteDataViewCid,
+              kByteDataViewCid,
 
-#define DEFINE_OBJECT_KIND(clazz)                                              \
-  kExternalTypedData##clazz##Cid,
-CLASS_LIST_TYPED_DATA(DEFINE_OBJECT_KIND)
+#define DEFINE_OBJECT_KIND(clazz) kExternalTypedData##clazz##Cid,
+  CLASS_LIST_TYPED_DATA(DEFINE_OBJECT_KIND)
 #undef DEFINE_OBJECT_KIND
 
-  kByteBufferCid,
+      kByteBufferCid,
 
   // The following entries do not describe a predefined class, but instead
   // are class indexes for pre-allocated instance (Null, dynamic and Void).
@@ -212,25 +207,23 @@
 
 enum TypedDataElementType {
 #define V(name) k##name##Element,
-CLASS_LIST_TYPED_DATA(V)
+  CLASS_LIST_TYPED_DATA(V)
 #undef V
 };
 
 #define SNAPSHOT_WRITER_SUPPORT()                                              \
-  void WriteTo(                                                                \
-      SnapshotWriter* writer, intptr_t object_id,                              \
-      Snapshot::Kind kind, bool as_reference);                                 \
-  friend class SnapshotWriter;                                                 \
+  void WriteTo(SnapshotWriter* writer, intptr_t object_id,                     \
+               Snapshot::Kind kind, bool as_reference);                        \
+  friend class SnapshotWriter;
 
 #define VISITOR_SUPPORT(object)                                                \
   static intptr_t Visit##object##Pointers(Raw##object* raw_obj,                \
                                           ObjectPointerVisitor* visitor);
 
-#define HEAP_PROFILER_SUPPORT()                                                \
-  friend class HeapProfiler;                                                   \
+#define HEAP_PROFILER_SUPPORT() friend class HeapProfiler;
 
 #define RAW_OBJECT_IMPLEMENTATION(object)                                      \
- private:  /* NOLINT */                                                        \
+ private: /* NOLINT */                                                         \
   VISITOR_SUPPORT(object)                                                      \
   friend class object;                                                         \
   friend class RawObject;                                                      \
@@ -242,17 +235,17 @@
 
 // TODO(koda): Make ptr() return const*, like Object::raw_ptr().
 #define RAW_HEAP_OBJECT_IMPLEMENTATION(object)                                 \
-  private:                                                                     \
-    RAW_OBJECT_IMPLEMENTATION(object);                                         \
-    Raw##object* ptr() const {                                                 \
-      ASSERT(IsHeapObject());                                                  \
-      return reinterpret_cast<Raw##object*>(                                   \
-          reinterpret_cast<uword>(this) - kHeapObjectTag);                     \
-    }                                                                          \
-    SNAPSHOT_WRITER_SUPPORT()                                                  \
-    HEAP_PROFILER_SUPPORT()                                                    \
-    friend class object##SerializationCluster;                                 \
-    friend class object##DeserializationCluster;                               \
+ private:                                                                      \
+  RAW_OBJECT_IMPLEMENTATION(object);                                           \
+  Raw##object* ptr() const {                                                   \
+    ASSERT(IsHeapObject());                                                    \
+    return reinterpret_cast<Raw##object*>(reinterpret_cast<uword>(this) -      \
+                                          kHeapObjectTag);                     \
+  }                                                                            \
+  SNAPSHOT_WRITER_SUPPORT()                                                    \
+  HEAP_PROFILER_SUPPORT()                                                      \
+  friend class object##SerializationCluster;                                   \
+  friend class object##DeserializationCluster;
 
 // RawObject is the base class of all raw objects; even though it carries the
 // tags_ field not all raw objects are allocated in the heap and thus cannot
@@ -289,8 +282,8 @@
   // Encodes the object size in the tag in units of object alignment.
   class SizeTag {
    public:
-    static const intptr_t kMaxSizeTag =
-        ((1 << RawObject::kSizeTagSize) - 1) << kObjectAlignmentLog2;
+    static const intptr_t kMaxSizeTag = ((1 << RawObject::kSizeTagSize) - 1)
+                                        << kObjectAlignmentLog2;
 
     static uword encode(intptr_t size) {
       return SizeBits::encode(SizeToTagValue(size));
@@ -306,25 +299,25 @@
 
    private:
     // The actual unscaled bit field used within the tag field.
-    class SizeBits :
-        public BitField<uword, intptr_t, kSizeTagPos, kSizeTagSize> {};
+    class SizeBits
+        : public BitField<uword, intptr_t, kSizeTagPos, kSizeTagSize> {};
 
     static intptr_t SizeToTagValue(intptr_t size) {
       ASSERT(Utils::IsAligned(size, kObjectAlignment));
-      return  (size > kMaxSizeTag) ? 0 : (size >> kObjectAlignmentLog2);
+      return (size > kMaxSizeTag) ? 0 : (size >> kObjectAlignmentLog2);
     }
     static intptr_t TagValueToSize(intptr_t value) {
       return value << kObjectAlignmentLog2;
     }
   };
 
-  class ClassIdTag :
-      public BitField<uword, intptr_t, kClassIdTagPos, kClassIdTagSize> {};
+  class ClassIdTag
+      : public BitField<uword, intptr_t, kClassIdTagPos, kClassIdTagSize> {};
 
   bool IsWellFormed() const {
     uword value = reinterpret_cast<uword>(this);
     return (value & kSmiTagMask) == 0 ||
-        Utils::IsAligned(value - kHeapObjectTag, kWordSize);
+           Utils::IsAligned(value - kHeapObjectTag, kWordSize);
   }
   bool IsHeapObject() const {
     ASSERT(IsWellFormed());
@@ -356,9 +349,7 @@
   }
 
   // Support for GC marking bit.
-  bool IsMarked() const {
-    return MarkBit::decode(ptr()->tags_);
-  }
+  bool IsMarked() const { return MarkBit::decode(ptr()->tags_); }
   void SetMarkBit() {
     ASSERT(!IsMarked());
     UpdateTagBit<MarkBit>(true);
@@ -374,31 +365,17 @@
   }
   // Returns false if the bit was already set.
   // TODO(koda): Add "must use result" annotation here, after we add support.
-  bool TryAcquireMarkBit() {
-    return TryAcquireTagBit<MarkBit>();
-  }
+  bool TryAcquireMarkBit() { return TryAcquireTagBit<MarkBit>(); }
 
   // Support for object tags.
-  bool IsCanonical() const {
-    return CanonicalObjectTag::decode(ptr()->tags_);
-  }
-  void SetCanonical() {
-    UpdateTagBit<CanonicalObjectTag>(true);
-  }
-  void ClearCanonical() {
-    UpdateTagBit<CanonicalObjectTag>(false);
-  }
-  bool IsVMHeapObject() const {
-    return VMHeapObjectTag::decode(ptr()->tags_);
-  }
-  void SetVMHeapObject() {
-    UpdateTagBit<VMHeapObjectTag>(true);
-  }
+  bool IsCanonical() const { return CanonicalObjectTag::decode(ptr()->tags_); }
+  void SetCanonical() { UpdateTagBit<CanonicalObjectTag>(true); }
+  void ClearCanonical() { UpdateTagBit<CanonicalObjectTag>(false); }
+  bool IsVMHeapObject() const { return VMHeapObjectTag::decode(ptr()->tags_); }
+  void SetVMHeapObject() { UpdateTagBit<VMHeapObjectTag>(true); }
 
   // Support for GC remembered bit.
-  bool IsRemembered() const {
-    return RememberedBit::decode(ptr()->tags_);
-  }
+  bool IsRemembered() const { return RememberedBit::decode(ptr()->tags_); }
   void SetRememberedBit() {
     ASSERT(!IsRemembered());
     UpdateTagBit<RememberedBit>(true);
@@ -408,22 +385,18 @@
     uword tags = ptr()->tags_;
     ptr()->tags_ = RememberedBit::update(true, tags);
   }
-  void ClearRememberedBit() {
-    UpdateTagBit<RememberedBit>(false);
-  }
+  void ClearRememberedBit() { UpdateTagBit<RememberedBit>(false); }
   void ClearRememberedBitUnsynchronized() {
     uword tags = ptr()->tags_;
     ptr()->tags_ = RememberedBit::update(false, tags);
   }
   // Returns false if the bit was already set.
   // TODO(koda): Add "must use result" annotation here, after we add support.
-  bool TryAcquireRememberedBit() {
-    return TryAcquireTagBit<RememberedBit>();
-  }
+  bool TryAcquireRememberedBit() { return TryAcquireTagBit<RememberedBit>(); }
 
 #define DEFINE_IS_CID(clazz)                                                   \
   bool Is##clazz() const { return ((GetClassId() == k##clazz##Cid)); }
-CLASS_LIST(DEFINE_IS_CID)
+  CLASS_LIST(DEFINE_IS_CID)
 #undef DEFINE_IS_CID
 
 #define DEFINE_IS_CID(clazz)                                                   \
@@ -436,12 +409,10 @@
   bool IsExternalTypedData##clazz() const {                                    \
     return ((GetClassId() == kExternalTypedData##clazz##Cid));                 \
   }
-CLASS_LIST_TYPED_DATA(DEFINE_IS_CID)
+  CLASS_LIST_TYPED_DATA(DEFINE_IS_CID)
 #undef DEFINE_IS_CID
 
-  bool IsStringInstance() const {
-    return IsStringClassId(GetClassId());
-  }
+  bool IsStringInstance() const { return IsStringClassId(GetClassId()); }
   bool IsDartInstance() const {
     return (!IsHeapObject() || (GetClassId() >= kInstanceCid));
   }
@@ -524,14 +495,14 @@
 
   class VMHeapObjectTag : public BitField<uword, bool, kVMHeapObjectBit, 1> {};
 
-  class ReservedBits : public
-      BitField<uword, intptr_t, kReservedTagPos, kReservedTagSize> {};
+  class ReservedBits
+      : public BitField<uword, intptr_t, kReservedTagPos, kReservedTagSize> {};
 
   // TODO(koda): After handling tags_, return const*, like Object::raw_ptr().
   RawObject* ptr() const {
     ASSERT(IsHeapObject());
-    return reinterpret_cast<RawObject*>(
-        reinterpret_cast<uword>(this) - kHeapObjectTag);
+    return reinterpret_cast<RawObject*>(reinterpret_cast<uword>(this) -
+                                        kHeapObjectTag);
   }
 
   intptr_t SizeFromClass() const;
@@ -546,19 +517,19 @@
     ptr()->tags_ = ClassIdTag::update(new_cid, tags);
   }
 
-  template<class TagBitField>
+  template <class TagBitField>
   void UpdateTagBit(bool value) {
     uword tags = ptr()->tags_;
     uword old_tags;
     do {
       old_tags = tags;
       uword new_tags = TagBitField::update(value, old_tags);
-      tags = AtomicOperations::CompareAndSwapWord(
-          &ptr()->tags_, old_tags, new_tags);
+      tags = AtomicOperations::CompareAndSwapWord(&ptr()->tags_, old_tags,
+                                                  new_tags);
     } while (tags != old_tags);
   }
 
-  template<class TagBitField>
+  template <class TagBitField>
   bool TryAcquireTagBit() {
     uword tags = ptr()->tags_;
     uword old_tags;
@@ -566,8 +537,8 @@
       old_tags = tags;
       if (TagBitField::decode(tags)) return false;
       uword new_tags = TagBitField::update(true, old_tags);
-      tags = AtomicOperations::CompareAndSwapWord(
-          &ptr()->tags_, old_tags, new_tags);
+      tags = AtomicOperations::CompareAndSwapWord(&ptr()->tags_, old_tags,
+                                                  new_tags);
     } while (tags != old_tags);
     return true;
   }
@@ -576,13 +547,12 @@
   // methods below or their counterparts in Object, to ensure that the
   // write barrier is correctly applied.
 
-  template<typename type>
+  template <typename type>
   void StorePointer(type const* addr, type value) {
     *const_cast<type*>(addr) = value;
     // Filter stores based on source and target.
     if (!value->IsHeapObject()) return;
-    if (value->IsNewObject() && this->IsOldObject() &&
-        !this->IsRemembered()) {
+    if (value->IsNewObject() && this->IsOldObject() && !this->IsRemembered()) {
       this->SetRememberedBit();
       Thread::Current()->StoreBufferAddObject(this);
     }
@@ -598,7 +568,7 @@
 
   friend class Api;
   friend class ApiMessageReader;  // GetClassId
-  friend class Serializer;  // GetClassId
+  friend class Serializer;        // GetClassId
   friend class Array;
   friend class Become;  // GetClassId
   friend class Bigint;
@@ -617,7 +587,8 @@
   friend class Heap;
   friend class HeapMapAsJSONVisitor;
   friend class ClassStatsVisitor;
-  template<bool> friend class MarkingVisitorBase;
+  template <bool>
+  friend class MarkingVisitorBase;
   friend class Mint;
   friend class Object;
   friend class OneByteString;  // StoreSmi
@@ -629,10 +600,10 @@
   friend class Scavenger;
   friend class ScavengerVisitor;
   friend class SizeExcludingClassVisitor;  // GetClassId
-  friend class InstanceAccumulator;  // GetClassId
-  friend class RetainingPathVisitor;  // GetClassId
-  friend class SkippedCodeFunctions;  // StorePointer
-  friend class InstructionsReader;  // tags_ check
+  friend class InstanceAccumulator;        // GetClassId
+  friend class RetainingPathVisitor;       // GetClassId
+  friend class SkippedCodeFunctions;       // StorePointer
+  friend class InstructionsReader;         // tags_ check
   friend class AssemblyInstructionsWriter;
   friend class BlobInstructionsWriter;
   friend class SnapshotReader;
@@ -642,11 +613,11 @@
   friend class Type;  // GetClassId
   friend class TypedData;
   friend class TypedDataView;
-  friend class WeakProperty;  // StorePointer
-  friend class Instance;  // StorePointer
-  friend class StackFrame;  // GetCodeObject assertion.
+  friend class WeakProperty;            // StorePointer
+  friend class Instance;                // StorePointer
+  friend class StackFrame;              // GetCodeObject assertion.
   friend class CodeLookupTableBuilder;  // profiler
-  friend class NativeEntry;  // GetClassId
+  friend class NativeEntry;             // GetClassId
   friend class Simulator;
   friend class SimulatorHelpers;
   friend class ObjectLocator;
@@ -661,9 +632,9 @@
 class RawClass : public RawObject {
  public:
   enum ClassFinalizedState {
-    kAllocated = 0,  // Initial state.
-    kPreFinalized,  // VM classes: size precomputed, but no checks done.
-    kFinalized,  // Class parsed, finalized and ready for use.
+    kAllocated = 0,         // Initial state.
+    kPreFinalized,          // VM classes: size precomputed, but no checks done.
+    kFinalized,             // Class parsed, finalized and ready for use.
     kRefinalizeAfterPatch,  // Class needs to be refinalized (patched).
   };
 
@@ -684,12 +655,12 @@
   RawAbstractType* super_type_;
   RawType* mixin_;  // Generic mixin type, e.g. M<T>, not M<int>.
   RawFunction* signature_function_;  // Associated function for typedef class.
-  RawArray* constants_;  // Canonicalized const instances of this class.
+  RawArray* constants_;      // Canonicalized const instances of this class.
   RawType* canonical_type_;  // Canonical type for this class.
   RawArray* invocation_dispatcher_cache_;  // Cache for dispatcher functions.
   RawCode* allocation_stub_;  // Stub code for allocation of instances.
   RawGrowableObjectArray* direct_subclasses_;  // Array of Class.
-  RawArray* dependent_code_;  // CHA optimized codes.
+  RawArray* dependent_code_;                   // CHA optimized codes.
   RawObject** to() {
     return reinterpret_cast<RawObject**>(&ptr()->dependent_code_);
   }
@@ -714,10 +685,10 @@
   int32_t instance_size_in_words_;  // Size if fixed len or 0 if variable len.
   int32_t type_arguments_field_offset_in_words_;  // Offset of type args fld.
   int32_t next_field_offset_in_words_;  // Offset of the next instance field.
-  classid_t id_;  // Class Id, also index in the class table.
+  classid_t id_;                // Class Id, also index in the class table.
   int16_t num_type_arguments_;  // Number of type arguments in flattened vector.
   int16_t num_own_type_arguments_;  // Number of non-overlapping type arguments.
-  uint16_t num_native_fields_;  // Number of native fields in class.
+  uint16_t num_native_fields_;      // Number of native fields in class.
   uint16_t state_bits_;
 
   friend class Instance;
@@ -738,10 +709,8 @@
     return reinterpret_cast<RawObject**>(&ptr()->library_prefix_);
   }
   RawLibraryPrefix* library_prefix_;  // Library prefix qualifier for the ident.
-  RawString* ident_;  // Name of the unresolved identifier.
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->ident_);
-  }
+  RawString* ident_;                  // Name of the unresolved identifier.
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->ident_); }
   TokenPosition token_pos_;
 };
 
@@ -787,9 +756,7 @@
   RawClass* patched_class_;
   RawClass* origin_class_;
   RawScript* script_;
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->script_);
-  }
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->script_); }
 
   friend class Function;
 };
@@ -804,23 +771,23 @@
     kGetterFunction,     // represents getter functions e.g: get foo() { .. }.
     kSetterFunction,     // represents setter functions e.g: set foo(..) { .. }.
     kConstructor,
-    kImplicitGetter,     // represents an implicit getter for fields.
-    kImplicitSetter,     // represents an implicit setter for fields.
+    kImplicitGetter,             // represents an implicit getter for fields.
+    kImplicitSetter,             // represents an implicit setter for fields.
     kImplicitStaticFinalGetter,  // represents an implicit getter for static
                                  // final fields (incl. static const fields).
     kMethodExtractor,  // converts method into implicit closure on the receiver.
     kNoSuchMethodDispatcher,  // invokes noSuchMethod.
-    kInvokeFieldDispatcher,  // invokes a field as a closure.
-    kIrregexpFunction,   // represents a generated irregexp matcher function.
+    kInvokeFieldDispatcher,   // invokes a field as a closure.
+    kIrregexpFunction,  // represents a generated irregexp matcher function.
   };
 
   enum AsyncModifier {
     kNoModifier = 0x0,
-    kAsyncBit   = 0x1,
-    kGeneratorBit =  0x2,
-    kAsync      = kAsyncBit,
-    kSyncGen    = kGeneratorBit,
-    kAsyncGen   = kAsyncBit | kGeneratorBit,
+    kAsyncBit = 0x1,
+    kGeneratorBit = 0x2,
+    kAsync = kAsyncBit,
+    kSyncGen = kGeneratorBit,
+    kAsyncGen = kAsyncBit | kGeneratorBit,
   };
 
  private:
@@ -866,7 +833,7 @@
   NOT_IN_PRECOMPILED(TokenPosition end_token_pos_);
   NOT_IN_PRECOMPILED(int32_t usage_counter_);  // Accessed from generated code
                                                // (JIT only).
-  uint32_t kind_tag_;  // See Function::KindTagBits.
+  uint32_t kind_tag_;                          // See Function::KindTagBits.
   int16_t num_fixed_parameters_;
   int16_t num_optional_parameters_;  // > 0: positional; < 0: named.
   NOT_IN_PRECOMPILED(void* kernel_function_);
@@ -888,9 +855,7 @@
   RawFunction* parent_function_;  // Enclosing function of this local function.
   RawType* signature_type_;
   RawInstance* closure_;  // Closure object for static implicit closures.
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->closure_);
-  }
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->closure_); }
 
   friend class Function;
 };
@@ -900,15 +865,11 @@
  private:
   RAW_HEAP_OBJECT_IMPLEMENTATION(RedirectionData);
 
-  RawObject** from() {
-    return reinterpret_cast<RawObject**>(&ptr()->type_);
-  }
+  RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->type_); }
   RawType* type_;
   RawString* identifier_;
   RawFunction* target_;
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->target_);
-  }
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->target_); }
 };
 
 
@@ -922,7 +883,7 @@
   RawAbstractType* type_;
   union {
     RawInstance* static_value_;  // Value for static fields.
-    RawSmi* offset_;  // Offset in words for instance fields.
+    RawSmi* offset_;             // Offset in words for instance fields.
   } value_;
   union {
     // When precompiling we need to save the static initializer function here
@@ -975,14 +936,10 @@
 class RawLiteralToken : public RawObject {
   RAW_HEAP_OBJECT_IMPLEMENTATION(LiteralToken);
 
-  RawObject** from() {
-    return reinterpret_cast<RawObject**>(&ptr()->literal_);
-  }
+  RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->literal_); }
   RawString* literal_;  // Literal characters as they appear in source text.
-  RawObject* value_;  // The actual object corresponding to the token.
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->value_);
-  }
+  RawObject* value_;    // The actual object corresponding to the token.
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->value_); }
   Token::Kind kind_;  // The literal kind (string, integer, double).
 
   friend class SnapshotReader;
@@ -998,9 +955,7 @@
   RawString* private_key_;  // Key used for private identifiers.
   RawGrowableObjectArray* token_objects_;
   RawExternalTypedData* stream_;
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->stream_);
-  }
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->stream_); }
 
   friend class SnapshotReader;
 };
@@ -1025,7 +980,7 @@
   RawArray* compile_time_constants_;
   RawTokenStream* tokens_;
   RawString* source_;
-  RawObject** to() {return reinterpret_cast<RawObject**>(&ptr()->source_); }
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->source_); }
   RawObject** to_snapshot(Snapshot::Kind kind) {
     switch (kind) {
       case Snapshot::kAppNoJIT:
@@ -1065,32 +1020,32 @@
   RawString* name_;
   RawString* url_;
   RawString* private_key_;
-  RawArray* dictionary_;         // Top-level names in this library.
+  RawArray* dictionary_;              // Top-level names in this library.
   RawGrowableObjectArray* metadata_;  // Metadata on classes, methods etc.
-  RawClass* toplevel_class_;     // Class containing top-level elements.
+  RawClass* toplevel_class_;          // Class containing top-level elements.
   RawGrowableObjectArray* patch_classes_;
-  RawArray* imports_;            // List of Namespaces imported without prefix.
-  RawArray* exports_;            // List of re-exported Namespaces.
-  RawInstance* load_error_;      // Error iff load_state_ == kLoadError.
+  RawArray* imports_;        // List of Namespaces imported without prefix.
+  RawArray* exports_;        // List of re-exported Namespaces.
+  RawInstance* load_error_;  // Error iff load_state_ == kLoadError.
   RawObject** to_snapshot() {
     return reinterpret_cast<RawObject**>(&ptr()->load_error_);
   }
-  RawArray* resolved_names_;     // Cache of resolved names in library scope.
-  RawArray* exported_names_;     // Cache of exported names by library.
-  RawArray* loaded_scripts_;     // Array of scripts loaded in this library.
+  RawArray* resolved_names_;  // Cache of resolved names in library scope.
+  RawArray* exported_names_;  // Cache of exported names by library.
+  RawArray* loaded_scripts_;  // Array of scripts loaded in this library.
   RawObject** to() {
     return reinterpret_cast<RawObject**>(&ptr()->loaded_scripts_);
   }
 
   Dart_NativeEntryResolver native_entry_resolver_;  // Resolves natives.
   Dart_NativeEntrySymbol native_entry_symbol_resolver_;
-  classid_t index_;              // Library id number.
-  uint16_t num_imports_;         // Number of entries in imports_.
-  int8_t load_state_;            // Of type LibraryState.
+  classid_t index_;       // Library id number.
+  uint16_t num_imports_;  // Number of entries in imports_.
+  int8_t load_state_;     // Of type LibraryState.
   bool corelib_imported_;
   bool is_dart_scheme_;
-  bool debuggable_;              // True if debugger can stop in library.
-  bool is_in_fullsnapshot_;      // True if library is in a full snapshot.
+  bool debuggable_;          // True if debugger can stop in library.
+  bool is_in_fullsnapshot_;  // True if library is in a full snapshot.
 
   friend class Class;
   friend class Isolate;
@@ -1100,14 +1055,12 @@
 class RawNamespace : public RawObject {
   RAW_HEAP_OBJECT_IMPLEMENTATION(Namespace);
 
-  RawObject** from() {
-    return reinterpret_cast<RawObject**>(&ptr()->library_);
-  }
-  RawLibrary* library_;          // library with name dictionary.
-  RawArray* show_names_;         // list of names that are exported.
-  RawArray* hide_names_;         // blacklist of names that are not exported.
-  RawField* metadata_field_;     // remembers the token pos of metadata if any,
-                                 // and the metadata values if computed.
+  RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->library_); }
+  RawLibrary* library_;       // library with name dictionary.
+  RawArray* show_names_;      // list of names that are exported.
+  RawArray* hide_names_;      // blacklist of names that are not exported.
+  RawField* metadata_field_;  // remembers the token pos of metadata if any,
+                              // and the metadata values if computed.
   RawObject** to() {
     return reinterpret_cast<RawObject**>(&ptr()->metadata_field_);
   }
@@ -1125,13 +1078,13 @@
 
   RAW_HEAP_OBJECT_IMPLEMENTATION(Code);
 
-  uword entry_point_;  // Accessed from generated code.
+  uword entry_point_;          // Accessed from generated code.
   uword checked_entry_point_;  // Accessed from generated code (AOT only).
 
   RawObject** from() {
     return reinterpret_cast<RawObject**>(&ptr()->object_pool_);
   }
-  RawObjectPool* object_pool_;  // Accessed from generated code.
+  RawObjectPool* object_pool_;     // Accessed from generated code.
   RawInstructions* instructions_;  // Accessed from generated code.
   // If owner_ is Function::null() the owner is a regular stub.
   // If owner_ is a Class the owner is the allocation stub for that class.
@@ -1175,7 +1128,8 @@
   static bool ContainsPC(RawObject* raw_obj, uword pc);
 
   friend class Function;
-  template<bool> friend class MarkingVisitorBase;
+  template <bool>
+  friend class MarkingVisitorBase;
   friend class SkippedCodeFunctions;
   friend class StackFrame;
   friend class Profiler;
@@ -1207,7 +1161,9 @@
 class RawInstructions : public RawObject {
   RAW_HEAP_OBJECT_IMPLEMENTATION(Instructions);
 
-  int32_t size_;
+  // Instructions size in bytes and flags.
+  // Currently, only flag indicates 1 or 2 entry points.
+  uint32_t size_and_flags_;
 
   // Variable length data follows here.
   uint8_t* data() { OPEN_ARRAY_START(uint8_t, uint8_t); }
@@ -1221,7 +1177,8 @@
   friend class RawFunction;
   friend class Code;
   friend class StackFrame;
-  template<bool> friend class MarkingVisitorBase;
+  template <bool>
+  friend class MarkingVisitorBase;
   friend class SkippedCodeFunctions;
   friend class Function;
   friend class InstructionsReader;
@@ -1232,14 +1189,14 @@
 class RawPcDescriptors : public RawObject {
  public:
   enum Kind {
-    kDeopt           = 1,  // Deoptimization continuation point.
-    kIcCall          = kDeopt << 1,  // IC call.
-    kUnoptStaticCall = kIcCall << 1,  // Call to a known target via stub.
-    kRuntimeCall     = kUnoptStaticCall << 1,  // Runtime call.
-    kOsrEntry        = kRuntimeCall << 1,  // OSR entry point in unopt. code.
-    kOther           = kOsrEntry << 1,
-    kLastKind        = kOther,
-    kAnyKind         = -1
+    kDeopt = 1,                            // Deoptimization continuation point.
+    kIcCall = kDeopt << 1,                 // IC call.
+    kUnoptStaticCall = kIcCall << 1,       // Call to a known target via stub.
+    kRuntimeCall = kUnoptStaticCall << 1,  // Runtime call.
+    kOsrEntry = kRuntimeCall << 1,         // OSR entry point in unopt. code.
+    kOther = kOsrEntry << 1,
+    kLastKind = kOther,
+    kAnyKind = -1
   };
 
   class MergedKindTry {
@@ -1315,7 +1272,7 @@
   // to be as large as 96, meaning 7 bits, leaving 25 bits for the length, or
   // as large as ~33 million entries. If that is sufficient, then these two
   // fields can be merged into a BitField.
-  int32_t length_;  // Length of payload, in bits.
+  int32_t length_;               // Length of payload, in bits.
   int32_t slow_path_bit_count_;  // Slow path live values, included in length_.
 
   // Offset from code entry point corresponding to this stack map
@@ -1350,15 +1307,15 @@
   };
 
   class IndexBits : public BitField<int32_t, int32_t, kIndexPos, kIndexSize> {};
-  class KindBits : public BitField<int32_t, int8_t, kKindPos, kKindSize>{};
+  class KindBits : public BitField<int32_t, int8_t, kKindPos, kKindSize> {};
 
   struct VarInfo {
     int32_t index_kind;  // Bitfield for slot index on stack or in context,
                          // and Entry kind of type VarInfoKind.
-    TokenPosition declaration_pos;   // Token position of declaration.
-    TokenPosition begin_pos;   // Token position of scope start.
-    TokenPosition end_pos;     // Token position of scope end.
-    int16_t scope_id;    // Scope to which the variable belongs.
+    TokenPosition declaration_pos;  // Token position of declaration.
+    TokenPosition begin_pos;        // Token position of scope start.
+    TokenPosition end_pos;          // Token position of scope end.
+    int16_t scope_id;               // Scope to which the variable belongs.
 
     VarInfoKind kind() const {
       return static_cast<VarInfoKind>(KindBits::decode(index_kind));
@@ -1366,9 +1323,7 @@
     void set_kind(VarInfoKind kind) {
       index_kind = KindBits::update(kind, index_kind);
     }
-    int32_t index() const {
-      return IndexBits::decode(index_kind) - kIndexBias;
-    }
+    int32_t index() const { return IndexBits::decode(index_kind) - kIndexBias; }
     void set_index(int32_t index) {
       index_kind = IndexBits::update(index + kIndexBias, index_kind);
     }
@@ -1385,9 +1340,7 @@
     // Array of [num_entries_] variable names.
     OPEN_ARRAY_START(RawString*, RawString*);
   }
-  RawString** nameAddrAt(intptr_t i) {
-    return &(ptr()->names()[i]);
-  }
+  RawString** nameAddrAt(intptr_t i) { return &(ptr()->names()[i]); }
 
   RawObject** to(intptr_t num_entries) {
     return reinterpret_cast<RawObject**>(nameAddrAt(num_entries - 1));
@@ -1408,9 +1361,9 @@
   // the try_index of the handler.
   struct HandlerInfo {
     uint32_t handler_pc_offset;  // PC offset value of handler.
-    int16_t outer_try_index;   // Try block index of enclosing try block.
-    int8_t needs_stacktrace;   // True if a stacktrace is needed.
-    int8_t has_catch_all;      // Catches all exceptions.
+    int16_t outer_try_index;     // Try block index of enclosing try block.
+    int8_t needs_stacktrace;     // True if a stacktrace is needed.
+    int8_t has_catch_all;        // Catches all exceptions.
   };
 
  private:
@@ -1441,9 +1394,7 @@
 
   // Variable length data follows here.
   RawObject** data() { OPEN_ARRAY_START(RawObject*, RawObject*); }
-  RawObject* const* data() const {
-      OPEN_ARRAY_START(RawObject*, RawObject*);
-  }
+  RawObject* const* data() const { OPEN_ARRAY_START(RawObject*, RawObject*); }
   RawObject** to(intptr_t num_vars) {
     return reinterpret_cast<RawObject**>(&ptr()->data()[num_vars - 1]);
   }
@@ -1499,13 +1450,9 @@
 
 class RawSingleTargetCache : public RawObject {
   RAW_HEAP_OBJECT_IMPLEMENTATION(SingleTargetCache);
-  RawObject** from() {
-    return reinterpret_cast<RawObject**>(&ptr()->target_);
-  }
+  RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->target_); }
   RawCode* target_;
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->target_);
-  }
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->target_); }
   uword entry_point_;
   classid_t lower_limit_;
   classid_t upper_limit_;
@@ -1528,16 +1475,12 @@
 class RawICData : public RawObject {
   RAW_HEAP_OBJECT_IMPLEMENTATION(ICData);
 
-  RawObject** from() {
-    return reinterpret_cast<RawObject**>(&ptr()->ic_data_);
-  }
-  RawArray* ic_data_;  // Contains class-ids, target and count.
-  RawString* target_name_;  // Name of target function.
+  RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->ic_data_); }
+  RawArray* ic_data_;          // Contains class-ids, target and count.
+  RawString* target_name_;     // Name of target function.
   RawArray* args_descriptor_;  // Arguments descriptor.
   RawObject* owner_;  // Parent/calling function or original IC of cloned IC.
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->owner_);
-  }
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->owner_); }
   RawObject** to_snapshot(Snapshot::Kind kind) {
     switch (kind) {
       case Snapshot::kAppNoJIT:
@@ -1566,9 +1509,7 @@
 class RawMegamorphicCache : public RawObject {
   RAW_HEAP_OBJECT_IMPLEMENTATION(MegamorphicCache);
 
-  RawObject** from() {
-    return reinterpret_cast<RawObject**>(&ptr()->buckets_);
-  }
+  RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->buckets_); }
   RawArray* buckets_;
   RawSmi* mask_;
   RawString* target_name_;     // Name of target function.
@@ -1595,13 +1536,9 @@
 class RawApiError : public RawError {
   RAW_HEAP_OBJECT_IMPLEMENTATION(ApiError);
 
-  RawObject** from() {
-    return reinterpret_cast<RawObject**>(&ptr()->message_);
-  }
+  RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->message_); }
   RawString* message_;
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->message_);
-  }
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->message_); }
 };
 
 
@@ -1620,7 +1557,7 @@
   }
   TokenPosition token_pos_;  // Source position in script_.
   bool report_after_token_;  // Report message at or after the token.
-  int8_t kind_;  // Of type Report::Kind.
+  int8_t kind_;              // Of type Report::Kind.
 };
 
 
@@ -1641,13 +1578,9 @@
 class RawUnwindError : public RawError {
   RAW_HEAP_OBJECT_IMPLEMENTATION(UnwindError);
 
-  RawObject** from() {
-    return reinterpret_cast<RawObject**>(&ptr()->message_);
-  }
+  RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->message_); }
   RawString* message_;
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->message_);
-  }
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->message_); }
   bool is_user_initiated_;
   bool is_vm_restart_;
 };
@@ -1662,11 +1595,11 @@
   RAW_HEAP_OBJECT_IMPLEMENTATION(LibraryPrefix);
 
   RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->name_); }
-  RawString* name_;               // Library prefix name.
-  RawLibrary* importer_;          // Library which declares this prefix.
-  RawArray* imports_;             // Libraries imported with this prefix.
-  RawArray* dependent_code_;      // Code that refers to deferred, unloaded
-                                  // library prefix.
+  RawString* name_;           // Library prefix name.
+  RawLibrary* importer_;      // Library which declares this prefix.
+  RawArray* imports_;         // Libraries imported with this prefix.
+  RawArray* dependent_code_;  // Code that refers to deferred, unloaded
+                              // library prefix.
   RawObject** to() {
     return reinterpret_cast<RawObject**>(&ptr()->dependent_code_);
   }
@@ -1686,7 +1619,7 @@
     UNREACHABLE();
     return NULL;
   }
-  uint16_t num_imports_;          // Number of library entries in libraries_.
+  uint16_t num_imports_;  // Number of library entries in libraries_.
   bool is_deferred_load_;
   bool is_loaded_;
 };
@@ -1695,10 +1628,10 @@
 class RawAbstractType : public RawInstance {
  protected:
   enum TypeState {
-    kAllocated,  // Initial state.
-    kResolved,  // Type class and type arguments resolved.
-    kBeingFinalized,  // In the process of being finalized.
-    kFinalizedInstantiated,  // Instantiated type ready for use.
+    kAllocated,                // Initial state.
+    kResolved,                 // Type class and type arguments resolved.
+    kBeingFinalized,           // In the process of being finalized.
+    kFinalizedInstantiated,    // Instantiated type ready for use.
     kFinalizedUninstantiated,  // Uninstantiated type ready for use.
   };
 
@@ -1727,7 +1660,7 @@
   // function type, its signature is lost, but the message in the error object
   // can describe the issue without needing the signature.
   union {
-    RawFunction* signature_;  // If not null, this type is a function type.
+    RawFunction* signature_;   // If not null, this type is a function type.
     RawLanguageError* error_;  // If not null, type is malformed or malbounded.
   } sig_or_err_;
   RawObject** to() {
@@ -1744,13 +1677,9 @@
  private:
   RAW_HEAP_OBJECT_IMPLEMENTATION(TypeRef);
 
-  RawObject** from() {
-    return reinterpret_cast<RawObject**>(&ptr()->type_);
-  }
+  RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->type_); }
   RawAbstractType* type_;  // The referenced type.
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->type_);
-  }
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->type_); }
 };
 
 
@@ -1758,9 +1687,7 @@
  private:
   RAW_HEAP_OBJECT_IMPLEMENTATION(TypeParameter);
 
-  RawObject** from() {
-    return reinterpret_cast<RawObject**>(&ptr()->name_);
-  }
+  RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->name_); }
   RawString* name_;
   RawSmi* hash_;
   RawAbstractType* bound_;  // ObjectType if no explicit bound specified.
@@ -1782,9 +1709,7 @@
  private:
   RAW_HEAP_OBJECT_IMPLEMENTATION(BoundedType);
 
-  RawObject** from() {
-    return reinterpret_cast<RawObject**>(&ptr()->type_);
-  }
+  RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->type_); }
   RawAbstractType* type_;
   RawAbstractType* bound_;
   RawSmi* hash_;
@@ -1823,9 +1748,7 @@
   RawFunction* function_;
   RawContext* context_;
 
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->context_);
-  }
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->context_); }
 };
 
 
@@ -1915,22 +1838,17 @@
 };
 
 
-template<typename T>
+template <typename T>
 class ExternalStringData {
  public:
-  ExternalStringData(const T* data, void* peer, Dart_PeerFinalizer callback) :
-      data_(data), peer_(peer), callback_(callback) {
-  }
+  ExternalStringData(const T* data, void* peer, Dart_PeerFinalizer callback)
+      : data_(data), peer_(peer), callback_(callback) {}
   ~ExternalStringData() {
     if (callback_ != NULL) (*callback_)(peer_);
   }
 
-  const T* data() {
-    return data_;
-  }
-  void* peer() {
-    return peer_;
-  }
+  const T* data() { return data_; }
+  void* peer() { return peer_; }
 
   static intptr_t data_offset() {
     return OFFSET_OF(ExternalStringData<T>, data_);
@@ -1945,6 +1863,7 @@
 
 class RawExternalOneByteString : public RawString {
   RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalOneByteString);
+
  public:
   typedef ExternalStringData<uint8_t> ExternalData;
 
@@ -1956,6 +1875,7 @@
 
 class RawExternalTwoByteString : public RawString {
   RAW_HEAP_OBJECT_IMPLEMENTATION(ExternalTwoByteString);
+
  public:
   typedef ExternalStringData<uint16_t> ExternalData;
 
@@ -1997,7 +1917,7 @@
   friend class LinkedHashMap;
   friend class RawLinkedHashMap;
   friend class Object;
-  friend class ICData;  // For high performance access.
+  friend class ICData;            // For high performance access.
   friend class SubtypeTestCache;  // For high performance access.
 };
 
@@ -2018,9 +1938,7 @@
   RawTypeArguments* type_arguments_;
   RawSmi* length_;
   RawArray* data_;
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->data_);
-  }
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->data_); }
 
   friend class SnapshotReader;
 };
@@ -2164,9 +2082,7 @@
   }
   RawSendPort* send_port_;
   RawInstance* handler_;
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->handler_);
-  }
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->handler_); }
 };
 
 
@@ -2180,7 +2096,7 @@
   RawObject** from() {
     return reinterpret_cast<RawObject**>(&ptr()->code_array_);
   }
-  RawArray* code_array_;  // Code object for each frame in the stack trace.
+  RawArray* code_array_;       // Code object for each frame in the stack trace.
   RawArray* pc_offset_array_;  // Offset of PC for each frame.
   RawObject** to() {
     return reinterpret_cast<RawObject**>(&ptr()->pc_offset_array_);
@@ -2221,21 +2137,18 @@
 class RawWeakProperty : public RawInstance {
   RAW_HEAP_OBJECT_IMPLEMENTATION(WeakProperty);
 
-  RawObject** from() {
-    return reinterpret_cast<RawObject**>(&ptr()->key_);
-  }
+  RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->key_); }
   RawObject* key_;
   RawObject* value_;
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->value_);
-  }
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->value_); }
 
   // Linked list is chaining all pending weak properties.
   // Untyped to make it clear that it is not to be visited by GC.
   uword next_;
 
   friend class GCMarker;
-  template<bool> friend class MarkingVisitorBase;
+  template <bool>
+  friend class MarkingVisitorBase;
   friend class Scavenger;
   friend class ScavengerVisitor;
 };
@@ -2249,9 +2162,7 @@
     return reinterpret_cast<RawObject**>(&ptr()->referent_);
   }
   RawObject* referent_;
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->referent_);
-  }
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->referent_); }
 };
 
 
@@ -2259,15 +2170,11 @@
 class RawUserTag : public RawInstance {
   RAW_HEAP_OBJECT_IMPLEMENTATION(UserTag);
 
-  RawObject** from() {
-    return reinterpret_cast<RawObject**>(&ptr()->label_);
-  }
+  RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->label_); }
 
   RawString* label_;
 
-  RawObject** to() {
-    return reinterpret_cast<RawObject**>(&ptr()->label_);
-  }
+  RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->label_); }
 
   // Isolate unique tag.
   uword tag_;
@@ -2283,21 +2190,18 @@
 
 inline bool RawObject::IsErrorClassId(intptr_t index) {
   // Make sure this function is updated when new Error types are added.
-  COMPILE_ASSERT(kApiErrorCid == kErrorCid + 1 &&
-                 kLanguageErrorCid == kErrorCid + 2 &&
-                 kUnhandledExceptionCid == kErrorCid + 3 &&
-                 kUnwindErrorCid == kErrorCid + 4 &&
-                 kInstanceCid == kErrorCid + 5);
+  COMPILE_ASSERT(
+      kApiErrorCid == kErrorCid + 1 && kLanguageErrorCid == kErrorCid + 2 &&
+      kUnhandledExceptionCid == kErrorCid + 3 &&
+      kUnwindErrorCid == kErrorCid + 4 && kInstanceCid == kErrorCid + 5);
   return (index >= kErrorCid && index < kInstanceCid);
 }
 
 
 inline bool RawObject::IsNumberClassId(intptr_t index) {
   // Make sure this function is updated when new Number types are added.
-  COMPILE_ASSERT(kIntegerCid == kNumberCid + 1 &&
-                 kSmiCid == kNumberCid + 2 &&
-                 kMintCid == kNumberCid + 3 &&
-                 kBigintCid == kNumberCid + 4 &&
+  COMPILE_ASSERT(kIntegerCid == kNumberCid + 1 && kSmiCid == kNumberCid + 2 &&
+                 kMintCid == kNumberCid + 3 && kBigintCid == kNumberCid + 4 &&
                  kDoubleCid == kNumberCid + 5);
   return (index >= kNumberCid && index < kBoolCid);
 }
@@ -2305,8 +2209,7 @@
 
 inline bool RawObject::IsIntegerClassId(intptr_t index) {
   // Make sure this function is updated when new Integer types are added.
-  COMPILE_ASSERT(kSmiCid == kIntegerCid + 1 &&
-                 kMintCid == kIntegerCid + 2 &&
+  COMPILE_ASSERT(kSmiCid == kIntegerCid + 1 && kMintCid == kIntegerCid + 2 &&
                  kBigintCid == kIntegerCid + 3 &&
                  kDoubleCid == kIntegerCid + 4);
   return (index >= kIntegerCid && index < kDoubleCid);
@@ -2358,10 +2261,8 @@
   // Make sure this function is updated when new builtin List types are added.
   COMPILE_ASSERT(kImmutableArrayCid == kArrayCid + 1);
   return ((index >= kArrayCid && index <= kImmutableArrayCid) ||
-          (index == kGrowableObjectArrayCid) ||
-          IsTypedDataClassId(index) ||
-          IsTypedDataViewClassId(index) ||
-          IsExternalTypedDataClassId(index) ||
+          (index == kGrowableObjectArrayCid) || IsTypedDataClassId(index) ||
+          IsTypedDataViewClassId(index) || IsExternalTypedDataClassId(index) ||
           (index == kByteBufferCid));
 }
 
@@ -2405,28 +2306,23 @@
       kTypedDataFloat64x2ArrayViewCid == kTypedDataInt8ArrayViewCid + 13 &&
       kByteDataViewCid == kTypedDataInt8ArrayViewCid + 14 &&
       kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 15);
-  return (index >= kTypedDataInt8ArrayViewCid &&
-          index <= kByteDataViewCid);
+  return (index >= kTypedDataInt8ArrayViewCid && index <= kByteDataViewCid);
 }
 
 
 inline bool RawObject::IsExternalTypedDataClassId(intptr_t index) {
   // Make sure this is updated when new ExternalTypedData types are added.
   COMPILE_ASSERT(
-      (kExternalTypedDataUint8ArrayCid ==
-       kExternalTypedDataInt8ArrayCid + 1) &&
+      (kExternalTypedDataUint8ArrayCid == kExternalTypedDataInt8ArrayCid + 1) &&
       (kExternalTypedDataUint8ClampedArrayCid ==
        kExternalTypedDataInt8ArrayCid + 2) &&
-      (kExternalTypedDataInt16ArrayCid ==
-       kExternalTypedDataInt8ArrayCid + 3) &&
+      (kExternalTypedDataInt16ArrayCid == kExternalTypedDataInt8ArrayCid + 3) &&
       (kExternalTypedDataUint16ArrayCid ==
        kExternalTypedDataInt8ArrayCid + 4) &&
-      (kExternalTypedDataInt32ArrayCid ==
-       kExternalTypedDataInt8ArrayCid + 5) &&
+      (kExternalTypedDataInt32ArrayCid == kExternalTypedDataInt8ArrayCid + 5) &&
       (kExternalTypedDataUint32ArrayCid ==
        kExternalTypedDataInt8ArrayCid + 6) &&
-      (kExternalTypedDataInt64ArrayCid ==
-       kExternalTypedDataInt8ArrayCid + 7) &&
+      (kExternalTypedDataInt64ArrayCid == kExternalTypedDataInt8ArrayCid + 7) &&
       (kExternalTypedDataUint64ArrayCid ==
        kExternalTypedDataInt8ArrayCid + 8) &&
       (kExternalTypedDataFloat32ArrayCid ==
@@ -2452,23 +2348,16 @@
 
 
 inline bool RawObject::IsVariableSizeClassId(intptr_t index) {
-  return (index == kArrayCid) ||
-         (index == kImmutableArrayCid) ||
+  return (index == kArrayCid) || (index == kImmutableArrayCid) ||
          RawObject::IsOneByteStringClassId(index) ||
          RawObject::IsTwoByteStringClassId(index) ||
-         RawObject::IsTypedDataClassId(index) ||
-         (index == kContextCid) ||
-         (index == kTypeArgumentsCid) ||
-         (index == kInstructionsCid) ||
-         (index == kObjectPoolCid) ||
-         (index == kPcDescriptorsCid) ||
-         (index == kCodeSourceMapCid) ||
-         (index == kStackmapCid) ||
+         RawObject::IsTypedDataClassId(index) || (index == kContextCid) ||
+         (index == kTypeArgumentsCid) || (index == kInstructionsCid) ||
+         (index == kObjectPoolCid) || (index == kPcDescriptorsCid) ||
+         (index == kCodeSourceMapCid) || (index == kStackmapCid) ||
          (index == kLocalVarDescriptorsCid) ||
-         (index == kExceptionHandlersCid) ||
-         (index == kCodeCid) ||
-         (index == kContextScopeCid) ||
-         (index == kInstanceCid) ||
+         (index == kExceptionHandlersCid) || (index == kCodeCid) ||
+         (index == kContextScopeCid) || (index == kInstanceCid) ||
          (index == kRegExpCid);
 }
 
diff --git a/runtime/vm/raw_object_snapshot.cc b/runtime/vm/raw_object_snapshot.cc
index 91a752e..aebda45 100644
--- a/runtime/vm/raw_object_snapshot.cc
+++ b/runtime/vm/raw_object_snapshot.cc
@@ -25,8 +25,7 @@
   for (intptr_t i = 0; i <= num_flds; i++) {                                   \
     (*reader->PassiveObjectHandle()) =                                         \
         reader->ReadObjectImpl(as_reference, object_id, (i + from_offset));    \
-    object.StorePointer(((from) + i),                                          \
-                        reader->PassiveObjectHandle()->raw());                 \
+    object.StorePointer(((from) + i), reader->PassiveObjectHandle()->raw());   \
   }
 
 RawClass* Class::ReadFrom(SnapshotReader* reader,
@@ -65,9 +64,7 @@
     cls.set_state_bits(reader->Read<uint16_t>());
 
     // Set all the object fields.
-    READ_OBJECT_FIELDS(cls,
-                       cls.raw()->from(),
-                       cls.raw()->to_snapshot(kind),
+    READ_OBJECT_FIELDS(cls, cls.raw()->from(), cls.raw()->to_snapshot(kind),
                        kAsReference);
     cls.StorePointer(&cls.raw_ptr()->dependent_code_, Array::null());
     ASSERT(!cls.IsInFullSnapshot());
@@ -143,8 +140,8 @@
   ASSERT(reader != NULL);
 
   // Allocate unresolved class object.
-  UnresolvedClass& unresolved_class = UnresolvedClass::ZoneHandle(
-      reader->zone(), UnresolvedClass::New());
+  UnresolvedClass& unresolved_class =
+      UnresolvedClass::ZoneHandle(reader->zone(), UnresolvedClass::New());
   reader->AddBackRef(object_id, &unresolved_class, kIsDeserialized);
 
   // Set all non object fields.
@@ -152,10 +149,8 @@
       TokenPosition::SnapshotDecode(reader->Read<int32_t>()));
 
   // Set all the object fields.
-  READ_OBJECT_FIELDS(unresolved_class,
-                     unresolved_class.raw()->from(),
-                     unresolved_class.raw()->to(),
-                     kAsReference);
+  READ_OBJECT_FIELDS(unresolved_class, unresolved_class.raw()->from(),
+                     unresolved_class.raw()->to(), kAsReference);
 
   return unresolved_class.raw();
 }
@@ -214,7 +209,8 @@
   // Allocate type object.
   Type& type = Type::ZoneHandle(reader->zone(), Type::New());
   bool is_canonical = RawObject::IsCanonical(tags);
-  bool defer_canonicalization = is_canonical &&
+  bool defer_canonicalization =
+      is_canonical &&
       ((kind == Snapshot::kMessage) ||
        (!Snapshot::IsFull(kind) && typeclass_is_in_fullsnapshot));
   reader->AddBackRef(object_id, &type, kIsDeserialized, defer_canonicalization);
@@ -298,13 +294,11 @@
   ASSERT(reader != NULL);
 
   // Allocate type ref object.
-  TypeRef& type_ref = TypeRef::ZoneHandle(
-      reader->zone(), TypeRef::New());
+  TypeRef& type_ref = TypeRef::ZoneHandle(reader->zone(), TypeRef::New());
   reader->AddBackRef(object_id, &type_ref, kIsDeserialized);
 
   // Set all the object fields.
-  READ_OBJECT_FIELDS(type_ref,
-                     type_ref.raw()->from(), type_ref.raw()->to(),
+  READ_OBJECT_FIELDS(type_ref, type_ref.raw()->from(), type_ref.raw()->to(),
                      kAsReference);
 
   return type_ref.raw();
@@ -338,8 +332,8 @@
   ASSERT(reader != NULL);
 
   // Allocate type parameter object.
-  TypeParameter& type_parameter = TypeParameter::ZoneHandle(
-      reader->zone(), TypeParameter::New());
+  TypeParameter& type_parameter =
+      TypeParameter::ZoneHandle(reader->zone(), TypeParameter::New());
   reader->AddBackRef(object_id, &type_parameter, kIsDeserialized);
 
   // Set all non object fields.
@@ -350,9 +344,8 @@
   type_parameter.set_type_state(reader->Read<int8_t>());
 
   // Set all the object fields.
-  READ_OBJECT_FIELDS(type_parameter,
-                     type_parameter.raw()->from(), type_parameter.raw()->to(),
-                     kAsReference);
+  READ_OBJECT_FIELDS(type_parameter, type_parameter.raw()->from(),
+                     type_parameter.raw()->to(), kAsReference);
 
   // Read in the parameterized class.
   (*reader->ClassHandle()) =
@@ -404,14 +397,13 @@
   ASSERT(reader != NULL);
 
   // Allocate bounded type object.
-  BoundedType& bounded_type = BoundedType::ZoneHandle(
-      reader->zone(), BoundedType::New());
+  BoundedType& bounded_type =
+      BoundedType::ZoneHandle(reader->zone(), BoundedType::New());
   reader->AddBackRef(object_id, &bounded_type, kIsDeserialized);
 
   // Set all the object fields.
-  READ_OBJECT_FIELDS(bounded_type,
-                     bounded_type.raw()->from(), bounded_type.raw()->to(),
-                     kAsReference);
+  READ_OBJECT_FIELDS(bounded_type, bounded_type.raw()->from(),
+                     bounded_type.raw()->to(), kAsReference);
 
   return bounded_type.raw();
 }
@@ -468,16 +460,15 @@
       reader->zone(), TypeArguments::New(len, HEAP_SPACE(kind)));
   bool is_canonical = RawObject::IsCanonical(tags);
   bool defer_canonicalization = is_canonical && (!Snapshot::IsFull(kind));
-  reader->AddBackRef(object_id,
-                     &type_arguments,
-                     kIsDeserialized,
+  reader->AddBackRef(object_id, &type_arguments, kIsDeserialized,
                      defer_canonicalization);
 
   // Set the instantiations field, which is only read from a full snapshot.
   type_arguments.set_instantiations(Object::zero_array());
 
   // Now set all the type fields.
-  intptr_t offset = type_arguments.TypeAddr(0) -
+  intptr_t offset =
+      type_arguments.TypeAddr(0) -
       reinterpret_cast<RawAbstractType**>(type_arguments.raw()->ptr());
   for (intptr_t i = 0; i < len; i++) {
     *reader->TypeHandle() ^=
@@ -527,8 +518,7 @@
   ASSERT(kind == Snapshot::kScript);
 
   // Allocate function object.
-  PatchClass& cls = PatchClass::ZoneHandle(reader->zone(),
-                                           PatchClass::New());
+  PatchClass& cls = PatchClass::ZoneHandle(reader->zone(), PatchClass::New());
   reader->AddBackRef(object_id, &cls, kIsDeserialized);
 
   // Set all the object fields.
@@ -577,8 +567,7 @@
   // Check if closure is serializable, throw an exception otherwise.
   RawFunction* func = writer->IsSerializableClosure(this);
   if (func != Function::null()) {
-    writer->WriteStaticImplicitClosure(object_id,
-                                       func,
+    writer->WriteStaticImplicitClosure(object_id, func,
                                        writer->GetObjectTags(this));
     return;
   }
@@ -596,13 +585,12 @@
   ASSERT(kind == Snapshot::kScript);
 
   // Allocate closure data object.
-  ClosureData& data = ClosureData::ZoneHandle(reader->zone(),
-                                              ClosureData::New());
+  ClosureData& data =
+      ClosureData::ZoneHandle(reader->zone(), ClosureData::New());
   reader->AddBackRef(object_id, &data, kIsDeserialized);
 
   // Set all the object fields.
-  READ_OBJECT_FIELDS(data,
-                     data.raw()->from(), data.raw()->to(),
+  READ_OBJECT_FIELDS(data, data.raw()->from(), data.raw()->to(),
                      kAsInlinedObject);
 
   return data.raw();
@@ -653,14 +641,12 @@
   ASSERT(kind == Snapshot::kScript);
 
   // Allocate redirection data object.
-  RedirectionData& data = RedirectionData::ZoneHandle(reader->zone(),
-                                                      RedirectionData::New());
+  RedirectionData& data =
+      RedirectionData::ZoneHandle(reader->zone(), RedirectionData::New());
   reader->AddBackRef(object_id, &data, kIsDeserialized);
 
   // Set all the object fields.
-  READ_OBJECT_FIELDS(data,
-                     data.raw()->from(), data.raw()->to(),
-                     kAsReference);
+  READ_OBJECT_FIELDS(data, data.raw()->from(), data.raw()->to(), kAsReference);
 
   return data.raw();
 }
@@ -697,8 +683,7 @@
   bool is_in_fullsnapshot = reader->Read<bool>();
   if (!is_in_fullsnapshot) {
     // Allocate function object.
-    Function& func = Function::ZoneHandle(reader->zone(),
-                                          Function::New());
+    Function& func = Function::ZoneHandle(reader->zone(), Function::New());
     reader->AddBackRef(object_id, &func, kIsDeserialized);
 
     // Set all the non object fields. Read the token positions now but
@@ -718,8 +703,7 @@
     func.set_was_compiled(false);
 
     // Set all the object fields.
-    READ_OBJECT_FIELDS(func,
-                       func.raw()->from(), func.raw()->to_snapshot(),
+    READ_OBJECT_FIELDS(func, func.raw()->from(), func.raw()->to_snapshot(),
                        kAsReference);
     // Initialize all fields that are not part of the snapshot.
     bool is_optimized = func.usage_counter() != 0;
@@ -750,10 +734,11 @@
     intptr_t tags = writer->GetObjectTags(ptr()->owner_);
     intptr_t cid = ClassIdTag::decode(tags);
     owner_is_class = (cid == kClassCid);
-    is_in_fullsnapshot = owner_is_class ?
-        Class::IsInFullSnapshot(reinterpret_cast<RawClass*>(ptr()->owner_)) :
-        PatchClass::IsInFullSnapshot(
-            reinterpret_cast<RawPatchClass*>(ptr()->owner_));
+    is_in_fullsnapshot =
+        owner_is_class ? Class::IsInFullSnapshot(
+                             reinterpret_cast<RawClass*>(ptr()->owner_))
+                       : PatchClass::IsInFullSnapshot(
+                             reinterpret_cast<RawPatchClass*>(ptr()->owner_));
   }
 
   // Write out the serialization header value for this object.
@@ -771,7 +756,7 @@
   if (!is_in_fullsnapshot) {
     bool is_optimized = Code::IsOptimized(ptr()->code_);
 
-    // Write out all the non object fields.
+// Write out all the non object fields.
 #if !defined(DART_PRECOMPILED_RUNTIME)
     writer->Write<int32_t>(ptr()->token_pos_.SnapshotEncode());
     writer->Write<int32_t>(ptr()->end_token_pos_.SnapshotEncode());
@@ -816,17 +801,14 @@
   reader->AddBackRef(object_id, &field, kIsDeserialized);
 
   // Set all non object fields.
-  field.set_token_pos(
-      TokenPosition::SnapshotDecode(reader->Read<int32_t>()));
+  field.set_token_pos(TokenPosition::SnapshotDecode(reader->Read<int32_t>()));
   field.set_guarded_cid(reader->Read<int32_t>());
   field.set_is_nullable(reader->Read<int32_t>());
   field.set_kind_bits(reader->Read<uint8_t>());
   field.set_kernel_field(NULL);
 
   // Set all the object fields.
-  READ_OBJECT_FIELDS(field,
-                     field.raw()->from(),
-                     field.raw()->to_snapshot(kind),
+  READ_OBJECT_FIELDS(field, field.raw()->from(), field.raw()->to_snapshot(kind),
                      kAsReference);
   field.StorePointer(&field.raw_ptr()->dependent_code_, Array::null());
 
@@ -897,8 +879,8 @@
   ASSERT(kind != Snapshot::kMessage);
 
   // Create the literal token object.
-  LiteralToken& literal_token = LiteralToken::ZoneHandle(reader->zone(),
-                                                         LiteralToken::New());
+  LiteralToken& literal_token =
+      LiteralToken::ZoneHandle(reader->zone(), LiteralToken::New());
   reader->AddBackRef(object_id, &literal_token, kIsDeserialized);
 
   // Read the token attributes.
@@ -906,9 +888,8 @@
   literal_token.set_kind(token_kind);
 
   // Set all the object fields.
-  READ_OBJECT_FIELDS(literal_token,
-                     literal_token.raw()->from(), literal_token.raw()->to(),
-                     kAsReference);
+  READ_OBJECT_FIELDS(literal_token, literal_token.raw()->from(),
+                     literal_token.raw()->to(), kAsReference);
 
   return literal_token.raw();
 }
@@ -949,8 +930,8 @@
   intptr_t len = reader->ReadSmiValue();
 
   // Create the token stream object.
-  TokenStream& token_stream = TokenStream::ZoneHandle(reader->zone(),
-                                                      TokenStream::New(len));
+  TokenStream& token_stream =
+      TokenStream::ZoneHandle(reader->zone(), TokenStream::New(len));
   reader->AddBackRef(object_id, &token_stream, kIsDeserialized);
 
   // Read the stream of tokens into the TokenStream object for script
@@ -1015,8 +996,7 @@
                          reader->Read<int32_t>());
   script.StoreNonPointer(&script.raw_ptr()->col_offset_,
                          reader->Read<int32_t>());
-  script.StoreNonPointer(&script.raw_ptr()->kind_,
-                         reader->Read<int8_t>());
+  script.StoreNonPointer(&script.raw_ptr()->kind_, reader->Read<int8_t>());
 
   *reader->StringHandle() ^= String::null();
   script.set_source(*reader->StringHandle());
@@ -1033,8 +1013,8 @@
                         reader->PassiveObjectHandle()->raw());
   }
 
-  script.set_load_timestamp(FLAG_remove_script_timestamps_for_test
-                            ? 0 : OS::GetCurrentTimeMillis());
+  script.set_load_timestamp(
+      FLAG_remove_script_timestamps_for_test ? 0 : OS::GetCurrentTimeMillis());
 
   return script.raw();
 }
@@ -1182,8 +1162,8 @@
   ASSERT(kind == Snapshot::kScript);
 
   // Allocate library prefix object.
-  LibraryPrefix& prefix = LibraryPrefix::ZoneHandle(reader->zone(),
-                                                    LibraryPrefix::New());
+  LibraryPrefix& prefix =
+      LibraryPrefix::ZoneHandle(reader->zone(), LibraryPrefix::New());
   reader->AddBackRef(object_id, &prefix, kIsDeserialized);
 
   // Set all non object fields.
@@ -1195,12 +1175,9 @@
                          !prefix.raw_ptr()->is_deferred_load_);
 
   // Set all the object fields.
-  READ_OBJECT_FIELDS(prefix,
-                     prefix.raw()->from(),
-                     prefix.raw()->to_snapshot(kind),
-                     kAsReference);
-  prefix.StorePointer(&prefix.raw_ptr()->dependent_code_,
-                      Array::null());
+  READ_OBJECT_FIELDS(prefix, prefix.raw()->from(),
+                     prefix.raw()->to_snapshot(kind), kAsReference);
+  prefix.StorePointer(&prefix.raw_ptr()->dependent_code_, Array::null());
 
   return prefix.raw();
 }
@@ -1581,10 +1558,8 @@
 #endif
 
   // Set all the object fields.
-  READ_OBJECT_FIELDS(result,
-                     result.raw()->from(),
-                     result.raw()->to_snapshot(kind),
-                     kAsReference);
+  READ_OBJECT_FIELDS(result, result.raw()->from(),
+                     result.raw()->to_snapshot(kind), kAsReference);
 
   return result.raw();
 }
@@ -1680,13 +1655,11 @@
   ASSERT(reader != NULL);
 
   // Allocate ApiError object.
-  ApiError& api_error =
-      ApiError::ZoneHandle(reader->zone(), ApiError::New());
+  ApiError& api_error = ApiError::ZoneHandle(reader->zone(), ApiError::New());
   reader->AddBackRef(object_id, &api_error, kIsDeserialized);
 
   // Set all the object fields.
-  READ_OBJECT_FIELDS(api_error,
-                     api_error.raw()->from(), api_error.raw()->to(),
+  READ_OBJECT_FIELDS(api_error, api_error.raw()->from(), api_error.raw()->to(),
                      kAsReference);
 
   return api_error.raw();
@@ -1731,9 +1704,8 @@
   language_error.set_kind(reader->Read<uint8_t>());
 
   // Set all the object fields.
-  READ_OBJECT_FIELDS(language_error,
-                     language_error.raw()->from(), language_error.raw()->to(),
-                     kAsReference);
+  READ_OBJECT_FIELDS(language_error, language_error.raw()->from(),
+                     language_error.raw()->to(), kAsReference);
 
   return language_error.raw();
 }
@@ -1768,13 +1740,12 @@
                                                     intptr_t tags,
                                                     Snapshot::Kind kind,
                                                     bool as_reference) {
-  UnhandledException& result = UnhandledException::ZoneHandle(
-      reader->zone(), UnhandledException::New());
+  UnhandledException& result =
+      UnhandledException::ZoneHandle(reader->zone(), UnhandledException::New());
   reader->AddBackRef(object_id, &result, kIsDeserialized);
 
   // Set all the object fields.
-  READ_OBJECT_FIELDS(result,
-                     result.raw()->from(), result.raw()->to(),
+  READ_OBJECT_FIELDS(result, result.raw()->from(), result.raw()->to(),
                      kAsReference);
 
   return result.raw();
@@ -1825,8 +1796,7 @@
   // Create an Instance object or get canonical one if it is a canonical
   // constant.
   Instance& obj = Instance::ZoneHandle(reader->zone(), Instance::null());
-  obj ^= Object::Allocate(kInstanceCid,
-                          Instance::InstanceSize(),
+  obj ^= Object::Allocate(kInstanceCid, Instance::InstanceSize(),
                           HEAP_SPACE(kind));
   if (RawObject::IsCanonical(tags)) {
     obj = obj.CheckAndCanonicalize(reader->thread(), NULL);
@@ -1865,8 +1835,8 @@
   // Check if the value could potentially fit in a Smi in our current
   // architecture, if so return the object as a Smi.
   if (Smi::IsValid(value)) {
-    Smi& smi = Smi::ZoneHandle(reader->zone(),
-                               Smi::New(static_cast<intptr_t>(value)));
+    Smi& smi =
+        Smi::ZoneHandle(reader->zone(), Smi::New(static_cast<intptr_t>(value)));
     reader->AddBackRef(object_id, &smi, kIsDeserialized);
     return smi.raw();
   }
@@ -2017,7 +1987,7 @@
 }
 
 
-template<typename StringType, typename CharacterType, typename CallbackType>
+template <typename StringType, typename CharacterType, typename CallbackType>
 void String::ReadFromImpl(SnapshotReader* reader,
                           String* str_obj,
                           intptr_t len,
@@ -2060,8 +2030,8 @@
   intptr_t len = reader->ReadSmiValue();
   String& str_obj = String::ZoneHandle(reader->zone(), String::null());
 
-  String::ReadFromImpl<OneByteString, uint8_t>(
-      reader, &str_obj, len, tags, Symbols::FromLatin1, kind);
+  String::ReadFromImpl<OneByteString, uint8_t>(reader, &str_obj, len, tags,
+                                               Symbols::FromLatin1, kind);
   reader->AddBackRef(object_id, &str_obj, kIsDeserialized);
   return raw(str_obj);
 }
@@ -2077,14 +2047,14 @@
   intptr_t len = reader->ReadSmiValue();
   String& str_obj = String::ZoneHandle(reader->zone(), String::null());
 
-  String::ReadFromImpl<TwoByteString, uint16_t>(
-      reader, &str_obj, len, tags, Symbols::FromUTF16, kind);
+  String::ReadFromImpl<TwoByteString, uint16_t>(reader, &str_obj, len, tags,
+                                                Symbols::FromUTF16, kind);
   reader->AddBackRef(object_id, &str_obj, kIsDeserialized);
   return raw(str_obj);
 }
 
 
-template<typename T>
+template <typename T>
 static void StringWriteTo(SnapshotWriter* writer,
                           intptr_t object_id,
                           Snapshot::Kind kind,
@@ -2122,13 +2092,8 @@
                                intptr_t object_id,
                                Snapshot::Kind kind,
                                bool as_reference) {
-  StringWriteTo(writer,
-                object_id,
-                kind,
-                kOneByteStringCid,
-                writer->GetObjectTags(this),
-                ptr()->length_,
-                ptr()->data());
+  StringWriteTo(writer, object_id, kind, kOneByteStringCid,
+                writer->GetObjectTags(this), ptr()->length_, ptr()->data());
 }
 
 
@@ -2136,13 +2101,8 @@
                                intptr_t object_id,
                                Snapshot::Kind kind,
                                bool as_reference) {
-  StringWriteTo(writer,
-                object_id,
-                kind,
-                kTwoByteStringCid,
-                writer->GetObjectTags(this),
-                ptr()->length_,
-                ptr()->data());
+  StringWriteTo(writer, object_id, kind, kTwoByteStringCid,
+                writer->GetObjectTags(this), ptr()->length_, ptr()->data());
 }
 
 
@@ -2173,12 +2133,8 @@
                                        Snapshot::Kind kind,
                                        bool as_reference) {
   // Serialize as a non-external one byte string.
-  StringWriteTo(writer,
-                object_id,
-                kind,
-                kOneByteStringCid,
-                writer->GetObjectTags(this),
-                ptr()->length_,
+  StringWriteTo(writer, object_id, kind, kOneByteStringCid,
+                writer->GetObjectTags(this), ptr()->length_,
                 ptr()->external_data_->data());
 }
 
@@ -2188,12 +2144,8 @@
                                        Snapshot::Kind kind,
                                        bool as_reference) {
   // Serialize as a non-external two byte string.
-  StringWriteTo(writer,
-                object_id,
-                kind,
-                kTwoByteStringCid,
-                writer->GetObjectTags(this),
-                ptr()->length_,
+  StringWriteTo(writer, object_id, kind, kTwoByteStringCid,
+                writer->GetObjectTags(this), ptr()->length_,
                 ptr()->external_data_->data());
 }
 
@@ -2234,8 +2186,8 @@
     state = kIsNotDeserialized;
   }
   if (array == NULL) {
-    array = &(Array::ZoneHandle(reader->zone(),
-                                Array::New(len, HEAP_SPACE(kind))));
+    array =
+        &(Array::ZoneHandle(reader->zone(), Array::New(len, HEAP_SPACE(kind))));
     reader->AddBackRef(object_id, array, state);
   }
   if (!as_reference) {
@@ -2265,9 +2217,8 @@
     state = kIsNotDeserialized;
   }
   if (array == NULL) {
-    array = &(Array::ZoneHandle(
-        reader->zone(),
-        ImmutableArray::New(len, HEAP_SPACE(kind))));
+    array = &(Array::ZoneHandle(reader->zone(),
+                                ImmutableArray::New(len, HEAP_SPACE(kind))));
     reader->AddBackRef(object_id, array, state);
   }
   if (!as_reference) {
@@ -2286,12 +2237,8 @@
                        Snapshot::Kind kind,
                        bool as_reference) {
   ASSERT(!this->IsCanonical());
-  writer->ArrayWriteTo(object_id,
-                       kArrayCid,
-                       writer->GetObjectTags(this),
-                       ptr()->length_,
-                       ptr()->type_arguments_,
-                       ptr()->data(),
+  writer->ArrayWriteTo(object_id, kArrayCid, writer->GetObjectTags(this),
+                       ptr()->length_, ptr()->type_arguments_, ptr()->data(),
                        as_reference);
 }
 
@@ -2300,13 +2247,9 @@
                                 intptr_t object_id,
                                 Snapshot::Kind kind,
                                 bool as_reference) {
-  writer->ArrayWriteTo(object_id,
-                       kImmutableArrayCid,
-                       writer->GetObjectTags(this),
-                       ptr()->length_,
-                       ptr()->type_arguments_,
-                       ptr()->data(),
-                       as_reference);
+  writer->ArrayWriteTo(object_id, kImmutableArrayCid,
+                       writer->GetObjectTags(this), ptr()->length_,
+                       ptr()->type_arguments_, ptr()->data(), as_reference);
 }
 
 
@@ -2373,8 +2316,8 @@
                                           bool as_reference) {
   ASSERT(reader != NULL);
 
-  LinkedHashMap& map = LinkedHashMap::ZoneHandle(
-      reader->zone(), LinkedHashMap::null());
+  LinkedHashMap& map =
+      LinkedHashMap::ZoneHandle(reader->zone(), LinkedHashMap::null());
   if (kind == Snapshot::kScript) {
     // The immutable maps that seed map literals are not yet VM-internal, so
     // we don't reach this.
@@ -2398,9 +2341,9 @@
   map.SetUsedData(used_data);
 
   // Allocate the data array.
-  intptr_t data_size = Utils::Maximum(
-      Utils::RoundUpToPowerOfTwo(used_data),
-      static_cast<uintptr_t>(LinkedHashMap::kInitialIndexSize));
+  intptr_t data_size =
+      Utils::Maximum(Utils::RoundUpToPowerOfTwo(used_data),
+                     static_cast<uintptr_t>(LinkedHashMap::kInitialIndexSize));
   Array& data = Array::ZoneHandle(reader->zone(),
                                   Array::New(data_size, HEAP_SPACE(kind)));
   map.SetData(data);
@@ -2487,8 +2430,7 @@
   float value3 = reader->Read<float>();
 
   // Create a Float32x4 object.
-  Float32x4& simd = Float32x4::ZoneHandle(reader->zone(),
-                                          Float32x4::null());
+  Float32x4& simd = Float32x4::ZoneHandle(reader->zone(), Float32x4::null());
   simd = Float32x4::New(value0, value1, value2, value3, HEAP_SPACE(kind));
   reader->AddBackRef(object_id, &simd, kIsDeserialized);
   return simd.raw();
@@ -2568,8 +2510,7 @@
   double value1 = reader->Read<double>();
 
   // Create a Float64x2 object.
-  Float64x2& simd = Float64x2::ZoneHandle(reader->zone(),
-                                          Float64x2::null());
+  Float64x2& simd = Float64x2::ZoneHandle(reader->zone(), Float64x2::null());
   simd = Float64x2::New(value0, value1, HEAP_SPACE(kind));
   reader->AddBackRef(object_id, &simd, kIsDeserialized);
   return simd.raw();
@@ -2598,7 +2539,7 @@
 #define TYPED_DATA_READ(setter, type)                                          \
   for (intptr_t i = 0; i < length_in_bytes; i += element_size) {               \
     result.Set##setter(i, reader->Read<type>());                               \
-  }                                                                            \
+  }
 
 
 RawTypedData* TypedData::ReadFrom(SnapshotReader* reader,
@@ -2677,8 +2618,8 @@
   intptr_t cid = RawObject::ClassIdTag::decode(tags);
   intptr_t length = reader->ReadSmiValue();
   uint8_t* data = reinterpret_cast<uint8_t*>(reader->ReadRawPointerValue());
-  ExternalTypedData& obj = ExternalTypedData::ZoneHandle(
-      ExternalTypedData::New(cid, data, length));
+  ExternalTypedData& obj =
+      ExternalTypedData::ZoneHandle(ExternalTypedData::New(cid, data, length));
   reader->AddBackRef(object_id, &obj, kIsDeserialized);
   void* peer = reinterpret_cast<void*>(reader->ReadRawPointerValue());
   Dart_WeakPersistentHandleFinalizer callback =
@@ -2696,7 +2637,7 @@
     for (intptr_t i = 0; i < len; i++) {                                       \
       writer->Write(data[i]);                                                  \
     }                                                                          \
-  }                                                                            \
+  }
 
 
 void RawTypedData::WriteTo(SnapshotWriter* writer,
@@ -2762,14 +2703,14 @@
     for (intptr_t i = 0; i < len; i++) {                                       \
       writer->Write(data[i]);                                                  \
     }                                                                          \
-  }                                                                            \
+  }
 
 
 #define EXT_TYPED_DATA_WRITE(cid, type)                                        \
   writer->WriteIndexedObject(cid);                                             \
   writer->WriteTags(writer->GetObjectTags(this));                              \
   writer->Write<RawObject*>(ptr()->length_);                                   \
-  TYPED_EXT_DATA_WRITE(type)                                                   \
+  TYPED_EXT_DATA_WRITE(type)
 
 
 void RawExternalTypedData::WriteTo(SnapshotWriter* writer,
@@ -2832,8 +2773,8 @@
                                     bool as_reference) {
   uint64_t id = reader->Read<uint64_t>();
 
-  Capability& result = Capability::ZoneHandle(reader->zone(),
-                                              Capability::New(id));
+  Capability& result =
+      Capability::ZoneHandle(reader->zone(), Capability::New(id));
   reader->AddBackRef(object_id, &result, kIsDeserialized);
   return result.raw();
 }
@@ -2890,8 +2831,7 @@
   uint64_t origin_id = reader->Read<uint64_t>();
 
   SendPort& result =
-      SendPort::ZoneHandle(reader->zone(),
-                           SendPort::New(id, origin_id));
+      SendPort::ZoneHandle(reader->zone(), SendPort::New(id, origin_id));
   reader->AddBackRef(object_id, &result, kIsDeserialized);
   return result.raw();
 }
@@ -2952,8 +2892,7 @@
   regex.set_pattern(*reader->StringHandle());
   regex.StoreNonPointer(&regex.raw_ptr()->num_registers_,
                         reader->Read<int32_t>());
-  regex.StoreNonPointer(&regex.raw_ptr()->type_flags_,
-                        reader->Read<int8_t>());
+  regex.StoreNonPointer(&regex.raw_ptr()->type_flags_, reader->Read<int8_t>());
 
   // TODO(18854): Need to implement a way of recreating the irrexp functions.
   const Function& no_function = Function::Handle(reader->zone());
@@ -2999,14 +2938,13 @@
   ASSERT(reader != NULL);
 
   // Allocate the weak property object.
-  WeakProperty& weak_property = WeakProperty::ZoneHandle(reader->zone(),
-                                                         WeakProperty::New());
+  WeakProperty& weak_property =
+      WeakProperty::ZoneHandle(reader->zone(), WeakProperty::New());
   reader->AddBackRef(object_id, &weak_property, kIsDeserialized);
 
   // Set all the object fields.
-  READ_OBJECT_FIELDS(weak_property,
-                     weak_property.raw()->from(), weak_property.raw()->to(),
-                     kAsReference);
+  READ_OBJECT_FIELDS(weak_property, weak_property.raw()->from(),
+                     weak_property.raw()->to(), kAsReference);
 
   return weak_property.raw();
 }
diff --git a/runtime/vm/redundancy_elimination.cc b/runtime/vm/redundancy_elimination.cc
index c13ec9d..e8ffd2c 100644
--- a/runtime/vm/redundancy_elimination.cc
+++ b/runtime/vm/redundancy_elimination.cc
@@ -16,8 +16,10 @@
 
 DEFINE_FLAG(bool, dead_store_elimination, true, "Eliminate dead stores");
 DEFINE_FLAG(bool, load_cse, true, "Use redundant load elimination.");
-DEFINE_FLAG(bool, trace_load_optimization, false,
-    "Print live sets for load optimization pass.");
+DEFINE_FLAG(bool,
+            trace_load_optimization,
+            false,
+            "Print live sets for load optimization pass.");
 
 // Quick access to the current zone.
 #define Z (zone())
@@ -31,12 +33,11 @@
   // forwarding pass via Alias structure.
   COMPILE_ASSERT(EffectSet::kLastEffect == 1);
 
-  CSEInstructionMap() : independent_(), dependent_() { }
+  CSEInstructionMap() : independent_(), dependent_() {}
   explicit CSEInstructionMap(const CSEInstructionMap& other)
       : ValueObject(),
         independent_(other.independent_),
-        dependent_(other.dependent_) {
-  }
+        dependent_(other.dependent_) {}
 
   void RemoveAffected(EffectSet effects) {
     if (!effects.IsNone()) {
@@ -48,12 +49,10 @@
     return GetMapFor(other)->LookupValue(other);
   }
 
-  void Insert(Instruction* instr) {
-    return GetMapFor(instr)->Insert(instr);
-  }
+  void Insert(Instruction* instr) { return GetMapFor(instr)->Insert(instr); }
 
  private:
-  typedef DirectChainedHashMap<PointerKeyValueTrait<Instruction> >  Map;
+  typedef DirectChainedHashMap<PointerKeyValueTrait<Instruction> > Map;
 
   Map* GetMapFor(Instruction* instr) {
     return instr->Dependencies().IsNone() ? &independent_ : &dependent_;
@@ -178,16 +177,12 @@
         flags_(other.flags_),
         instance_(other.instance_),
         raw_selector_(other.raw_selector_),
-        id_(other.id_) {
-  }
+        id_(other.id_) {}
 
   // Construct a place from instruction if instruction accesses any place.
   // Otherwise constructs kNone place.
   Place(Instruction* instr, bool* is_load, bool* is_store)
-      : flags_(0),
-        instance_(NULL),
-        raw_selector_(0),
-        id_(0) {
+      : flags_(0), instance_(NULL), raw_selector_(0), id_(0) {
     switch (instr->tag()) {
       case Instruction::kLoadField: {
         LoadFieldInstr* load_field = instr->AsLoadField();
@@ -205,8 +200,7 @@
       }
 
       case Instruction::kStoreInstanceField: {
-        StoreInstanceFieldInstr* store =
-            instr->AsStoreInstanceField();
+        StoreInstanceFieldInstr* store = instr->AsStoreInstanceField();
         set_representation(store->RequiredInputRepresentation(
             StoreInstanceFieldInstr::kValuePos));
         instance_ = store->instance()->definition()->OriginalDefinition();
@@ -230,8 +224,9 @@
 
       case Instruction::kStoreStaticField:
         set_kind(kField);
-        set_representation(instr->AsStoreStaticField()->
-            RequiredInputRepresentation(StoreStaticFieldInstr::kValuePos));
+        set_representation(
+            instr->AsStoreStaticField()->RequiredInputRepresentation(
+                StoreStaticFieldInstr::kValuePos));
         field_ = &instr->AsStoreStaticField()->field();
         *is_store = true;
         break;
@@ -241,20 +236,18 @@
         set_representation(load_indexed->representation());
         instance_ = load_indexed->array()->definition()->OriginalDefinition();
         SetIndex(load_indexed->index()->definition(),
-                 load_indexed->index_scale(),
-                 load_indexed->class_id());
+                 load_indexed->index_scale(), load_indexed->class_id());
         *is_load = true;
         break;
       }
 
       case Instruction::kStoreIndexed: {
         StoreIndexedInstr* store_indexed = instr->AsStoreIndexed();
-        set_representation(store_indexed->
-            RequiredInputRepresentation(StoreIndexedInstr::kValuePos));
+        set_representation(store_indexed->RequiredInputRepresentation(
+            StoreIndexedInstr::kValuePos));
         instance_ = store_indexed->array()->definition()->OriginalDefinition();
         SetIndex(store_indexed->index()->definition(),
-                 store_indexed->index_scale(),
-                 store_indexed->class_id());
+                 store_indexed->index_scale(), store_indexed->class_id());
         *is_store = true;
         break;
       }
@@ -265,12 +258,10 @@
   }
 
   // Create object representing *[*] alias.
-  static Place* CreateAnyInstanceAnyIndexAlias(Zone* zone,
-                                               intptr_t id) {
-    return Wrap(zone, Place(
-        EncodeFlags(kIndexed, kNoRepresentation, kNoSize),
-        NULL,
-        0), id);
+  static Place* CreateAnyInstanceAnyIndexAlias(Zone* zone, intptr_t id) {
+    return Wrap(
+        zone, Place(EncodeFlags(kIndexed, kNoRepresentation, kNoSize), NULL, 0),
+        id);
   }
 
   // Return least generic alias for this place. Given that aliases are
@@ -321,8 +312,7 @@
   // Given alias X[C] or *[C] return X[*] and *[*] respectively.
   Place CopyWithoutIndex() const {
     ASSERT(kind() == kConstantIndexed);
-    return Place(EncodeFlags(kIndexed, kNoRepresentation, kNoSize),
-                 instance_,
+    return Place(EncodeFlags(kIndexed, kNoRepresentation, kNoSize), instance_,
                  0);
   }
 
@@ -337,8 +327,7 @@
     ASSERT(kind() == kConstantIndexed);
     ASSERT(element_size() != kNoSize);
     ASSERT(element_size() < to);
-    return Place(ElementSizeBits::update(to, flags_),
-                 instance_,
+    return Place(ElementSizeBits::update(to, flags_), instance_,
                  RoundByteOffset(to, index_constant_));
   }
 
@@ -376,9 +365,7 @@
     return index_;
   }
 
-  ElementSize element_size() const {
-    return ElementSizeBits::decode(flags_);
-  }
+  ElementSize element_size() const { return ElementSizeBits::decode(flags_); }
 
   intptr_t index_constant() const {
     ASSERT(kind() == kConstantIndexed);
@@ -389,8 +376,8 @@
     if (def == NULL) {
       return "*";
     } else {
-      return Thread::Current()->zone()->PrintToString(
-            "v%" Pd, def->ssa_temp_index());
+      return Thread::Current()->zone()->PrintToString("v%" Pd,
+                                                      def->ssa_temp_index());
     }
   }
 
@@ -402,8 +389,7 @@
       case kField: {
         const char* field_name = String::Handle(field().name()).ToCString();
         if (field().is_static()) {
-          return Thread::Current()->zone()->PrintToString(
-              "<%s>", field_name);
+          return Thread::Current()->zone()->PrintToString("<%s>", field_name);
         } else {
           return Thread::Current()->zone()->PrintToString(
               "<%s.%s>", DefinitionName(instance()), field_name);
@@ -412,28 +398,20 @@
 
       case kVMField:
         return Thread::Current()->zone()->PrintToString(
-            "<%s.@%" Pd ">",
-            DefinitionName(instance()),
-            offset_in_bytes());
+            "<%s.@%" Pd ">", DefinitionName(instance()), offset_in_bytes());
 
       case kIndexed:
         return Thread::Current()->zone()->PrintToString(
-            "<%s[%s]>",
-            DefinitionName(instance()),
-            DefinitionName(index()));
+            "<%s[%s]>", DefinitionName(instance()), DefinitionName(index()));
 
       case kConstantIndexed:
         if (element_size() == kNoSize) {
           return Thread::Current()->zone()->PrintToString(
-              "<%s[%" Pd "]>",
-              DefinitionName(instance()),
-              index_constant());
+              "<%s[%" Pd "]>", DefinitionName(instance()), index_constant());
         } else {
           return Thread::Current()->zone()->PrintToString(
-              "<%s[%" Pd "|%" Pd "]>",
-              DefinitionName(instance()),
-              index_constant(),
-              ElementSizeMultiplier(element_size()));
+              "<%s[%" Pd "|%" Pd "]>", DefinitionName(instance()),
+              index_constant(), ElementSizeMultiplier(element_size()));
         }
     }
     UNREACHABLE();
@@ -444,20 +422,18 @@
   // Handle static finals as non-final with precompilation because
   // they may be reset to uninitialized after compilation.
   bool IsImmutableField() const {
-    return (kind() == kField)
-        && field().is_final()
-        && (!field().is_static() || !FLAG_fields_may_be_reset);
+    return (kind() == kField) && field().is_final() &&
+           (!field().is_static() || !FLAG_fields_may_be_reset);
   }
 
   intptr_t Hashcode() const {
     return (flags_ * 63 + reinterpret_cast<intptr_t>(instance_)) * 31 +
-        FieldHashcode();
+           FieldHashcode();
   }
 
   bool Equals(const Place* other) const {
-    return (flags_ == other->flags_) &&
-        (instance_ == other->instance_) &&
-        SameField(other);
+    return (flags_ == other->flags_) && (instance_ == other->instance_) &&
+           SameField(other);
   }
 
   // Create a zone allocated copy of this place and assign given id to it.
@@ -465,25 +441,20 @@
 
   static bool IsAllocation(Definition* defn) {
     return (defn != NULL) &&
-        (defn->IsAllocateObject() ||
-         defn->IsCreateArray() ||
-         defn->IsAllocateUninitializedContext() ||
-         (defn->IsStaticCall() &&
-          defn->AsStaticCall()->IsRecognizedFactory()));
+           (defn->IsAllocateObject() || defn->IsCreateArray() ||
+            defn->IsAllocateUninitializedContext() ||
+            (defn->IsStaticCall() &&
+             defn->AsStaticCall()->IsRecognizedFactory()));
   }
 
  private:
   Place(uword flags, Definition* instance, intptr_t selector)
-      : flags_(flags),
-        instance_(instance),
-        raw_selector_(selector),
-        id_(0) {
-  }
+      : flags_(flags), instance_(instance), raw_selector_(selector), id_(0) {}
 
   bool SameField(const Place* other) const {
-    return (kind() == kField) ?
-        (field().Original() == other->field().Original()) :
-        (offset_in_bytes_ == other->offset_in_bytes_);
+    return (kind() == kField)
+               ? (field().Original() == other->field().Original())
+               : (offset_in_bytes_ == other->offset_in_bytes_);
   }
 
   intptr_t FieldHashcode() const {
@@ -495,9 +466,7 @@
     flags_ = RepresentationBits::update(rep, flags_);
   }
 
-  void set_kind(Kind kind) {
-    flags_ = KindBits::update(kind, flags_);
-  }
+  void set_kind(Kind kind) { flags_ = KindBits::update(kind, flags_); }
 
   void set_element_size(ElementSize scale) {
     flags_ = ElementSizeBits::update(scale, flags_);
@@ -539,9 +508,8 @@
 
   static uword EncodeFlags(Kind kind, Representation rep, ElementSize scale) {
     ASSERT((kind == kConstantIndexed) || (scale == kNoSize));
-    return KindBits::encode(kind) |
-        RepresentationBits::encode(rep) |
-        ElementSizeBits::encode(scale);
+    return KindBits::encode(kind) | RepresentationBits::encode(rep) |
+           ElementSizeBits::encode(scale);
   }
 
   static ElementSize ElementSizeFor(intptr_t class_id) {
@@ -597,10 +565,10 @@
   }
 
   class KindBits : public BitField<uword, Kind, 0, 3> {};
-  class RepresentationBits :
-      public BitField<uword, Representation, KindBits::kNextBit, 11> {};
-  class ElementSizeBits :
-      public BitField<uword, ElementSize, RepresentationBits::kNextBit, 3> {};
+  class RepresentationBits
+      : public BitField<uword, Representation, KindBits::kNextBit, 11> {};
+  class ElementSizeBits
+      : public BitField<uword, ElementSize, RepresentationBits::kNextBit, 3> {};
 
   uword flags_;
   Definition* instance_;
@@ -618,7 +586,7 @@
 
 class ZonePlace : public ZoneAllocated {
  public:
-  explicit ZonePlace(const Place& place) : place_(place) { }
+  explicit ZonePlace(const Place& place) : place_(place) {}
 
   Place* place() { return &place_; }
 
@@ -628,7 +596,7 @@
 
 
 Place* Place::Wrap(Zone* zone, const Place& place, intptr_t id) {
-  Place* wrapped = (new(zone) ZonePlace(place))->place();
+  Place* wrapped = (new (zone) ZonePlace(place))->place();
   wrapped->id_ = id;
   return wrapped;
 }
@@ -641,14 +609,16 @@
   // Record a move from the place with id |from| to the place with id |to| at
   // the given block.
   void CreateOutgoingMove(Zone* zone,
-                          BlockEntryInstr* block, intptr_t from, intptr_t to) {
+                          BlockEntryInstr* block,
+                          intptr_t from,
+                          intptr_t to) {
     const intptr_t block_num = block->preorder_number();
     while (moves_.length() <= block_num) {
       moves_.Add(NULL);
     }
 
     if (moves_[block_num] == NULL) {
-      moves_[block_num] = new(zone) ZoneGrowableArray<Move>(5);
+      moves_[block_num] = new (zone) ZoneGrowableArray<Move>(5);
     }
 
     moves_[block_num]->Add(Move(from, to));
@@ -656,7 +626,7 @@
 
   class Move {
    public:
-    Move(intptr_t from, intptr_t to) : from_(from), to_(to) { }
+    Move(intptr_t from, intptr_t to) : from_(from), to_(to) {}
 
     intptr_t from() const { return from_; }
     intptr_t to() const { return to_; }
@@ -670,12 +640,11 @@
 
   MovesList GetOutgoingMoves(BlockEntryInstr* block) const {
     const intptr_t block_num = block->preorder_number();
-    return (block_num < moves_.length()) ?
-        moves_[block_num] : NULL;
+    return (block_num < moves_.length()) ? moves_[block_num] : NULL;
   }
 
  private:
-  GrowableArray<ZoneGrowableArray<Move>* > moves_;
+  GrowableArray<ZoneGrowableArray<Move>*> moves_;
 };
 
 
@@ -697,9 +666,9 @@
         typed_data_access_sizes_(),
         representatives_(),
         killed_(),
-        aliased_by_effects_(new(zone) BitVector(zone, places->length())) {
-    InsertAlias(Place::CreateAnyInstanceAnyIndexAlias(zone_,
-        kAnyInstanceAnyIndexAlias));
+        aliased_by_effects_(new (zone) BitVector(zone, places->length())) {
+    InsertAlias(Place::CreateAnyInstanceAnyIndexAlias(
+        zone_, kAnyInstanceAnyIndexAlias));
     for (intptr_t i = 0; i < places_.length(); i++) {
       AddRepresentative(places_[i]);
     }
@@ -720,9 +689,7 @@
 
   BitVector* aliased_by_effects() const { return aliased_by_effects_; }
 
-  const ZoneGrowableArray<Place*>& places() const {
-    return places_;
-  }
+  const ZoneGrowableArray<Place*>& places() const { return places_; }
 
   Place* LookupCanonical(Place* place) const {
     return places_map_->LookupValue(place);
@@ -730,9 +697,7 @@
 
   void PrintSet(BitVector* set) {
     bool comma = false;
-    for (BitVector::Iterator it(set);
-         !it.Done();
-         it.Advance()) {
+    for (BitVector::Iterator it(set); !it.Done(); it.Advance()) {
       if (comma) {
         THR_Print(", ");
       }
@@ -763,9 +728,7 @@
     return !alloc->Identity().IsNotAliased();
   }
 
-  enum {
-    kNoAlias = 0
-  };
+  enum { kNoAlias = 0 };
 
  private:
   enum {
@@ -795,13 +758,13 @@
       // killed sets computation.
       if (alias->kind() == Place::kConstantIndexed) {
         if (CanBeAliased(alias->instance())) {
-          EnsureSet(&representatives_, kAnyConstantIndexedAlias)->
-              Add(place->id());
+          EnsureSet(&representatives_, kAnyConstantIndexedAlias)
+              ->Add(place->id());
         }
 
         if (alias->instance() == NULL) {
-          EnsureSet(&representatives_, kUnknownInstanceConstantIndexedAlias)->
-              Add(place->id());
+          EnsureSet(&representatives_, kUnknownInstanceConstantIndexedAlias)
+              ->Add(place->id());
         }
 
         // Collect all element sizes used to access TypedData arrays in
@@ -812,8 +775,8 @@
         }
       } else if ((alias->kind() == Place::kIndexed) &&
                  CanBeAliased(place->instance())) {
-        EnsureSet(&representatives_, kAnyAllocationIndexedAlias)->
-            Add(place->id());
+        EnsureSet(&representatives_, kAnyAllocationIndexedAlias)
+            ->Add(place->id());
       }
 
       if (!IsIndependentFromEffects(place)) {
@@ -853,8 +816,7 @@
   const Place* CanonicalizeAlias(const Place& alias) {
     const Place* canonical = aliases_map_.LookupValue(&alias);
     if (canonical == NULL) {
-      canonical = Place::Wrap(zone_,
-                              alias,
+      canonical = Place::Wrap(zone_, alias,
                               kAnyInstanceAnyIndexAlias + aliases_.length());
       InsertAlias(canonical);
     }
@@ -866,15 +828,14 @@
     return (alias < representatives_.length()) ? representatives_[alias] : NULL;
   }
 
-  BitVector* EnsureSet(GrowableArray<BitVector*>* sets,
-                       intptr_t alias) {
+  BitVector* EnsureSet(GrowableArray<BitVector*>* sets, intptr_t alias) {
     while (sets->length() <= alias) {
       sets->Add(NULL);
     }
 
     BitVector* set = (*sets)[alias];
     if (set == NULL) {
-      (*sets)[alias] = set = new(zone_) BitVector(zone_, max_place_id());
+      (*sets)[alias] = set = new (zone_) BitVector(zone_, max_place_id());
     }
     return set;
   }
@@ -941,8 +902,7 @@
           // (if there are any) would update kill set for this alias when they
           // are visited.
           for (intptr_t i = static_cast<intptr_t>(alias->element_size()) + 1;
-               i <= Place::kLargestElementSize;
-               i++) {
+               i <= Place::kLargestElementSize; i++) {
             // Skip element sizes that a guaranteed to have no representatives.
             if (!typed_data_access_sizes_.Contains(alias->element_size())) {
               continue;
@@ -1010,8 +970,8 @@
     }
 
     return ((place->kind() == Place::kField) ||
-         (place->kind() == Place::kVMField)) &&
-        !CanBeAliased(place->instance());
+            (place->kind() == Place::kVMField)) &&
+           !CanBeAliased(place->instance());
   }
 
   // Returns true if there are direct loads from the given place.
@@ -1019,12 +979,10 @@
     ASSERT((place->kind() == Place::kField) ||
            (place->kind() == Place::kVMField));
 
-    for (Value* use = defn->input_use_list();
-         use != NULL;
+    for (Value* use = defn->input_use_list(); use != NULL;
          use = use->next_use()) {
       Instruction* instr = use->instruction();
-      if ((instr->IsRedefinition() ||
-           instr->IsAssertAssignable()) &&
+      if ((instr->IsRedefinition() || instr->IsAssertAssignable()) &&
           HasLoadsFromPlace(instr->AsDefinition(), place)) {
         return true;
       }
@@ -1042,21 +1000,21 @@
   // Check if any use of the definition can create an alias.
   // Can add more objects into aliasing_worklist_.
   bool AnyUseCreatesAlias(Definition* defn) {
-    for (Value* use = defn->input_use_list();
-         use != NULL;
+    for (Value* use = defn->input_use_list(); use != NULL;
          use = use->next_use()) {
       Instruction* instr = use->instruction();
-      if (instr->IsPushArgument() ||
-          (instr->IsStoreIndexed()
-           && (use->use_index() == StoreIndexedInstr::kValuePos)) ||
-          instr->IsStoreStaticField() ||
-          instr->IsPhi()) {
+      if (instr->IsPushArgument() || instr->IsCheckedSmiOp() ||
+          instr->IsCheckedSmiComparison() ||
+          (instr->IsStoreIndexed() &&
+           (use->use_index() == StoreIndexedInstr::kValuePos)) ||
+          instr->IsStoreStaticField() || instr->IsPhi()) {
         return true;
       } else if ((instr->IsAssertAssignable() || instr->IsRedefinition()) &&
                  AnyUseCreatesAlias(instr->AsDefinition())) {
         return true;
-      } else if ((instr->IsStoreInstanceField()
-           && (use->use_index() != StoreInstanceFieldInstr::kInstancePos))) {
+      } else if ((instr->IsStoreInstanceField() &&
+                  (use->use_index() !=
+                   StoreInstanceFieldInstr::kInstancePos))) {
         ASSERT(use->use_index() == StoreInstanceFieldInstr::kValuePos);
         // If we store this value into an object that is not aliased itself
         // and we never load again then the store does not create an alias.
@@ -1088,8 +1046,7 @@
   // Mark any value stored into the given object as potentially aliased.
   void MarkStoredValuesEscaping(Definition* defn) {
     // Find all stores into this object.
-    for (Value* use = defn->input_use_list();
-         use != NULL;
+    for (Value* use = defn->input_use_list(); use != NULL;
          use = use->next_use()) {
       if (use->instruction()->IsRedefinition() ||
           use->instruction()->IsAssertAssignable()) {
@@ -1203,8 +1160,7 @@
 static bool IsPhiDependentPlace(Place* place) {
   return ((place->kind() == Place::kField) ||
           (place->kind() == Place::kVMField)) &&
-        (place->instance() != NULL) &&
-        place->instance()->IsPhi();
+         (place->instance() != NULL) && place->instance()->IsPhi();
 }
 
 
@@ -1217,7 +1173,7 @@
     ZoneGrowableArray<Place*>* places) {
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
-  PhiPlaceMoves* phi_moves = new(zone) PhiPlaceMoves();
+  PhiPlaceMoves* phi_moves = new (zone) PhiPlaceMoves();
 
   for (intptr_t i = 0; i < places->length(); i++) {
     Place* place = (*places)[i];
@@ -1240,15 +1196,12 @@
           map->Insert(result);
           places->Add(result);
           if (FLAG_trace_optimization) {
-            THR_Print("  adding place %s as %" Pd "\n",
-                      result->ToCString(),
+            THR_Print("  adding place %s as %" Pd "\n", result->ToCString(),
                       result->id());
           }
         }
-        phi_moves->CreateOutgoingMove(zone,
-                                      block->PredecessorAt(j),
-                                      result->id(),
-                                      place->id());
+        phi_moves->CreateOutgoingMove(zone, block->PredecessorAt(j),
+                                      result->id(), place->id());
       }
     }
   }
@@ -1257,10 +1210,7 @@
 }
 
 
-enum CSEMode {
-  kOptimizeLoads,
-  kOptimizeStores
-};
+enum CSEMode { kOptimizeLoads, kOptimizeStores };
 
 
 static AliasedSet* NumberPlaces(
@@ -1270,18 +1220,15 @@
   // Loads representing different expression ids will be collected and
   // used to build per offset kill sets.
   Zone* zone = graph->zone();
-  ZoneGrowableArray<Place*>* places =
-      new(zone) ZoneGrowableArray<Place*>(10);
+  ZoneGrowableArray<Place*>* places = new (zone) ZoneGrowableArray<Place*>(10);
 
   bool has_loads = false;
   bool has_stores = false;
-  for (BlockIterator it = graph->reverse_postorder_iterator();
-       !it.Done();
+  for (BlockIterator it = graph->reverse_postorder_iterator(); !it.Done();
        it.Advance()) {
     BlockEntryInstr* block = it.Current();
 
-    for (ForwardInstructionIterator instr_it(block);
-         !instr_it.Done();
+    for (ForwardInstructionIterator instr_it(block); !instr_it.Done();
          instr_it.Advance()) {
       Instruction* instr = instr_it.Current();
       Place place(instr, &has_loads, &has_stores);
@@ -1296,8 +1243,7 @@
         places->Add(result);
 
         if (FLAG_trace_optimization) {
-          THR_Print("numbering %s as %" Pd "\n",
-                    result->ToCString(),
+          THR_Print("numbering %s as %" Pd "\n", result->ToCString(),
                     result->id());
         }
       }
@@ -1316,26 +1262,23 @@
   PhiPlaceMoves* phi_moves = ComputePhiMoves(map, places);
 
   // Build aliasing sets mapping aliases to loads.
-  return new(zone) AliasedSet(zone, map, places, phi_moves);
+  return new (zone) AliasedSet(zone, map, places, phi_moves);
 }
 
 
 // Load instructions handled by load elimination.
 static bool IsLoadEliminationCandidate(Instruction* instr) {
-  return instr->IsLoadField()
-      || instr->IsLoadIndexed()
-      || instr->IsLoadStaticField();
+  return instr->IsLoadField() || instr->IsLoadIndexed() ||
+         instr->IsLoadStaticField();
 }
 
 
 static bool IsLoopInvariantLoad(ZoneGrowableArray<BitVector*>* sets,
                                 intptr_t loop_header_index,
                                 Instruction* instr) {
-  return IsLoadEliminationCandidate(instr) &&
-      (sets != NULL) &&
-      instr->HasPlaceId() &&
-      ((*sets)[loop_header_index] != NULL) &&
-      (*sets)[loop_header_index]->Contains(instr->place_id());
+  return IsLoadEliminationCandidate(instr) && (sets != NULL) &&
+         instr->HasPlaceId() && ((*sets)[loop_header_index] != NULL) &&
+         (*sets)[loop_header_index]->Contains(instr->place_id());
 }
 
 
@@ -1360,10 +1303,8 @@
   }
   if (FLAG_trace_optimization) {
     THR_Print("Hoisting instruction %s:%" Pd " from B%" Pd " to B%" Pd "\n",
-              current->DebugName(),
-              current->GetDeoptId(),
-              current->GetBlock()->block_id(),
-              pre_header->block_id());
+              current->DebugName(), current->GetDeoptId(),
+              current->GetBlock()->block_id(), pre_header->block_id());
   }
   // Move the instruction out of the loop.
   current->RemoveEnvironment();
@@ -1410,8 +1351,7 @@
   }
 
   CheckSmiInstr* check = NULL;
-  for (Value* use = phi->input_use_list();
-       (use != NULL) && (check == NULL);
+  for (Value* use = phi->input_use_list(); (use != NULL) && (check == NULL);
        use = use->next_use()) {
     check = use->instruction()->AsCheckSmi();
   }
@@ -1475,13 +1415,10 @@
     BlockEntryInstr* pre_header = header->ImmediateDominator();
     if (pre_header == NULL) continue;
 
-    for (BitVector::Iterator loop_it(header->loop_info());
-         !loop_it.Done();
+    for (BitVector::Iterator loop_it(header->loop_info()); !loop_it.Done();
          loop_it.Advance()) {
       BlockEntryInstr* block = flow_graph()->preorder()[loop_it.Current()];
-      for (ForwardInstructionIterator it(block);
-           !it.Done();
-           it.Advance()) {
+      for (ForwardInstructionIterator it(block); !it.Done(); it.Advance()) {
         Instruction* current = it.Current();
         if ((current->AllowsCSE() &&
              block_effects->CanBeMovedTo(current, pre_header)) ||
@@ -1494,8 +1431,7 @@
               break;
             }
           }
-          if (inputs_loop_invariant &&
-              !current->IsAssertAssignable() &&
+          if (inputs_loop_invariant && !current->IsAssertAssignable() &&
               !current->IsAssertBoolean()) {
             // TODO(fschneider): Enable hoisting of Assert-instructions
             // if it safe to do.
@@ -1527,18 +1463,16 @@
     const intptr_t num_blocks = graph_->preorder().length();
     for (intptr_t i = 0; i < num_blocks; i++) {
       out_.Add(NULL);
-      gen_.Add(new(Z) BitVector(Z, aliased_set_->max_place_id()));
-      kill_.Add(new(Z) BitVector(Z, aliased_set_->max_place_id()));
-      in_.Add(new(Z) BitVector(Z, aliased_set_->max_place_id()));
+      gen_.Add(new (Z) BitVector(Z, aliased_set_->max_place_id()));
+      kill_.Add(new (Z) BitVector(Z, aliased_set_->max_place_id()));
+      in_.Add(new (Z) BitVector(Z, aliased_set_->max_place_id()));
 
       exposed_values_.Add(NULL);
       out_values_.Add(NULL);
     }
   }
 
-  ~LoadOptimizer() {
-    aliased_set_->RollbackAliasedIdentites();
-  }
+  ~LoadOptimizer() { aliased_set_->RollbackAliasedIdentites(); }
 
   Isolate* isolate() const { return graph_->isolate(); }
   Zone* zone() const { return graph_->zone(); }
@@ -1551,9 +1485,8 @@
 
     // For now, bail out for large functions to avoid OOM situations.
     // TODO(fschneider): Fix the memory consumption issue.
-    intptr_t function_length =
-        graph->function().end_token_pos().Pos() -
-        graph->function().token_pos().Pos();
+    intptr_t function_length = graph->function().end_token_pos().Pos() -
+                               graph->function().token_pos().Pos();
     if (function_length >= FLAG_huge_method_cutoff_in_tokens) {
       return false;
     }
@@ -1599,8 +1532,7 @@
   // instructions.
   void ComputeInitialSets() {
     for (BlockIterator block_it = graph_->reverse_postorder_iterator();
-         !block_it.Done();
-         block_it.Advance()) {
+         !block_it.Done(); block_it.Advance()) {
       BlockEntryInstr* block = block_it.Current();
       const intptr_t preorder_number = block->preorder_number();
 
@@ -1610,8 +1542,7 @@
       ZoneGrowableArray<Definition*>* exposed_values = NULL;
       ZoneGrowableArray<Definition*>* out_values = NULL;
 
-      for (ForwardInstructionIterator instr_it(block);
-           !instr_it.Done();
+      for (ForwardInstructionIterator instr_it(block); !instr_it.Done();
            instr_it.Advance()) {
         Instruction* instr = instr_it.Current();
 
@@ -1659,8 +1590,7 @@
           // to loads because other array stores (intXX/uintXX/float32)
           // may implicitly convert the value stored.
           StoreIndexedInstr* array_store = instr->AsStoreIndexed();
-          if ((array_store == NULL) ||
-              (array_store->class_id() == kArrayCid) ||
+          if ((array_store == NULL) || (array_store->class_id() == kArrayCid) ||
               (array_store->class_id() == kTypedDataFloat64ArrayCid) ||
               (array_store->class_id() == kTypedDataFloat32ArrayCid) ||
               (array_store->class_id() == kTypedDataFloat32x4ArrayCid)) {
@@ -1682,7 +1612,7 @@
           // load forwarding.
           const Place* canonical = aliased_set_->LookupCanonical(&place);
           if ((canonical != NULL) &&
-            (canonical->id() != instr->AsDefinition()->place_id())) {
+              (canonical->id() != instr->AsDefinition()->place_id())) {
             instr->AsDefinition()->set_place_id(canonical->id());
           }
         }
@@ -1712,8 +1642,7 @@
         // constructor invocation.
         AllocateObjectInstr* alloc = instr->AsAllocateObject();
         if ((alloc != NULL)) {
-          for (Value* use = alloc->input_use_list();
-               use != NULL;
+          for (Value* use = alloc->input_use_list(); use != NULL;
                use = use->next_use()) {
             // Look for all immediate loads from this object.
             if (use->use_index() != 0) {
@@ -1728,8 +1657,7 @@
               // Forward for all fields for non-escaping objects and only
               // non-final fields and type arguments for escaping ones.
               if (aliased_set_->CanBeAliased(alloc) &&
-                  (load->field() != NULL) &&
-                  load->field()->is_final()) {
+                  (load->field() != NULL) && load->field()->is_final()) {
                 continue;
               }
 
@@ -1763,8 +1691,7 @@
           graph_->EnsureSSATempIndex(defn, replacement);
           if (FLAG_trace_optimization) {
             THR_Print("Replacing load v%" Pd " with v%" Pd "\n",
-                      defn->ssa_temp_index(),
-                      replacement->ssa_temp_index());
+                      defn->ssa_temp_index(), replacement->ssa_temp_index());
           }
 
           defn->ReplaceUsesWith(replacement);
@@ -1777,7 +1704,7 @@
           // the block entry.
           if (exposed_values == NULL) {
             static const intptr_t kMaxExposedValuesInitialSize = 5;
-            exposed_values = new(Z) ZoneGrowableArray<Definition*>(
+            exposed_values = new (Z) ZoneGrowableArray<Definition*>(
                 Utils::Minimum(kMaxExposedValuesInitialSize,
                                aliased_set_->max_place_id()));
           }
@@ -1825,18 +1752,17 @@
   // Compute OUT sets by propagating them iteratively until fix point
   // is reached.
   void ComputeOutSets() {
-    BitVector* temp = new(Z) BitVector(Z, aliased_set_->max_place_id());
+    BitVector* temp = new (Z) BitVector(Z, aliased_set_->max_place_id());
     BitVector* forwarded_loads =
-        new(Z) BitVector(Z, aliased_set_->max_place_id());
-    BitVector* temp_out = new(Z) BitVector(Z, aliased_set_->max_place_id());
+        new (Z) BitVector(Z, aliased_set_->max_place_id());
+    BitVector* temp_out = new (Z) BitVector(Z, aliased_set_->max_place_id());
 
     bool changed = true;
     while (changed) {
       changed = false;
 
       for (BlockIterator block_it = graph_->reverse_postorder_iterator();
-           !block_it.Done();
-           block_it.Advance()) {
+           !block_it.Done(); block_it.Advance()) {
         BlockEntryInstr* block = block_it.Current();
 
         const intptr_t preorder_number = block->preorder_number();
@@ -1880,7 +1806,7 @@
           if ((block_out == NULL) || !block_out->Equals(*temp)) {
             if (block_out == NULL) {
               block_out = out_[preorder_number] =
-                  new(Z) BitVector(Z, aliased_set_->max_place_id());
+                  new (Z) BitVector(Z, aliased_set_->max_place_id());
             }
             block_out->CopyFrom(temp);
             changed = true;
@@ -1903,8 +1829,7 @@
     ZoneGrowableArray<Definition*>* temp_forwarded_values = NULL;
 
     for (BlockIterator block_it = graph_->reverse_postorder_iterator();
-         !block_it.Done();
-         block_it.Advance()) {
+         !block_it.Done(); block_it.Advance()) {
       BlockEntryInstr* block = block_it.Current();
 
       const bool can_merge_eagerly = CanMergeEagerly(block);
@@ -1917,8 +1842,7 @@
 
       // If OUT set has changed then we have new values available out of
       // the block. Compute these values creating phi where necessary.
-      for (BitVector::Iterator it(out_[preorder_number]);
-           !it.Done();
+      for (BitVector::Iterator it(out_[preorder_number]); !it.Done();
            it.Advance()) {
         const intptr_t place_id = it.Current();
 
@@ -1929,12 +1853,12 @@
 
         if ((*block_out_values)[place_id] == NULL) {
           ASSERT(block->PredecessorCount() > 0);
-          Definition* in_value = can_merge_eagerly ?
-              MergeIncomingValues(block, place_id) : NULL;
+          Definition* in_value =
+              can_merge_eagerly ? MergeIncomingValues(block, place_id) : NULL;
           if ((in_value == NULL) &&
               (in_[preorder_number]->Contains(place_id))) {
-            PhiInstr* phi = new(Z) PhiInstr(block->AsJoinEntry(),
-                                            block->PredecessorCount());
+            PhiInstr* phi = new (Z)
+                PhiInstr(block->AsJoinEntry(), block->PredecessorCount());
             phi->set_place_id(place_id);
             pending_phis.Add(phi);
             in_value = phi;
@@ -2007,7 +1931,7 @@
         graph_->LoopHeaders();
 
     ZoneGrowableArray<BitVector*>* invariant_loads =
-        new(Z) ZoneGrowableArray<BitVector*>(loop_headers.length());
+        new (Z) ZoneGrowableArray<BitVector*>(loop_headers.length());
 
     for (intptr_t i = 0; i < loop_headers.length(); i++) {
       BlockEntryInstr* header = loop_headers[i];
@@ -2017,16 +1941,14 @@
         continue;
       }
 
-      BitVector* loop_gen = new(Z) BitVector(Z, aliased_set_->max_place_id());
-      for (BitVector::Iterator loop_it(header->loop_info());
-           !loop_it.Done();
+      BitVector* loop_gen = new (Z) BitVector(Z, aliased_set_->max_place_id());
+      for (BitVector::Iterator loop_it(header->loop_info()); !loop_it.Done();
            loop_it.Advance()) {
         const intptr_t preorder_number = loop_it.Current();
         loop_gen->AddAll(gen_[preorder_number]);
       }
 
-      for (BitVector::Iterator loop_it(header->loop_info());
-           !loop_it.Done();
+      for (BitVector::Iterator loop_it(header->loop_info()); !loop_it.Done();
            loop_it.Advance()) {
         const intptr_t preorder_number = loop_it.Current();
         loop_gen->RemoveAll(kill_[preorder_number]);
@@ -2073,8 +1995,8 @@
     }
 
     // Incoming values are different. Phi is required to merge.
-    PhiInstr* phi = new(Z) PhiInstr(
-        block->AsJoinEntry(), block->PredecessorCount());
+    PhiInstr* phi =
+        new (Z) PhiInstr(block->AsJoinEntry(), block->PredecessorCount());
     phi->set_place_id(place_id);
     FillPhiInputs(phi);
     return phi;
@@ -2096,7 +2018,7 @@
       // To prevent using them we additionally mark definitions themselves
       // as replaced and store a pointer to the replacement.
       Definition* replacement = (*pred_out_values)[place_id]->Replacement();
-      Value* input = new(Z) Value(replacement);
+      Value* input = new (Z) Value(replacement);
       phi->SetInputAt(i, input);
       replacement->AddInputUse(input);
     }
@@ -2105,8 +2027,7 @@
     phis_.Add(phi);  // Postpone phi insertion until after load forwarding.
 
     if (FLAG_support_il_printer && FLAG_trace_load_optimization) {
-      THR_Print("created pending phi %s for %s at B%" Pd "\n",
-                phi->ToCString(),
+      THR_Print("created pending phi %s for %s at B%" Pd "\n", phi->ToCString(),
                 aliased_set_->places()[place_id]->ToCString(),
                 block->block_id());
     }
@@ -2116,8 +2037,7 @@
   // values.
   void ForwardLoads() {
     for (BlockIterator block_it = graph_->reverse_postorder_iterator();
-         !block_it.Done();
-         block_it.Advance()) {
+         !block_it.Done(); block_it.Advance()) {
       BlockEntryInstr* block = block_it.Current();
 
       ZoneGrowableArray<Definition*>* loads =
@@ -2145,8 +2065,7 @@
 
           if (FLAG_trace_optimization) {
             THR_Print("Replacing load v%" Pd " with v%" Pd "\n",
-                      load->ssa_temp_index(),
-                      replacement->ssa_temp_index());
+                      load->ssa_temp_index(), replacement->ssa_temp_index());
           }
 
           load->ReplaceUsesWith(replacement);
@@ -2169,7 +2088,7 @@
 
     worklist_.Clear();
     if (in_worklist_ == NULL) {
-      in_worklist_ = new(Z) BitVector(Z, graph_->current_ssa_temp_index());
+      in_worklist_ = new (Z) BitVector(Z, graph_->current_ssa_temp_index());
     } else {
       in_worklist_->Clear();
     }
@@ -2215,9 +2134,9 @@
   // are congruent.
   bool CanBeCongruent(Definition* a, Definition* b) {
     return (a->tag() == b->tag()) &&
-       ((a->IsPhi() && (a->GetBlock() == b->GetBlock())) ||
-        (a->AllowsCSE() && a->Dependencies().IsNone() &&
-         a->AttributesEqual(b)));
+           ((a->IsPhi() && (a->GetBlock() == b->GetBlock())) ||
+            (a->AllowsCSE() && a->Dependencies().IsNone() &&
+             a->AttributesEqual(b)));
   }
 
   // Given two definitions check if they are congruent under assumption that
@@ -2271,8 +2190,7 @@
     BlockEntryInstr* other_block = other->GetBlock();
 
     if (dom_block == other_block) {
-      for (Instruction* current = dom->next();
-           current != NULL;
+      for (Instruction* current = dom->next(); current != NULL;
            current = current->next()) {
         if (current == other) {
           return true;
@@ -2292,7 +2210,7 @@
 
     congruency_worklist_.Clear();
     if (in_worklist_ == NULL) {
-      in_worklist_ = new(Z) BitVector(Z, graph_->current_ssa_temp_index());
+      in_worklist_ = new (Z) BitVector(Z, graph_->current_ssa_temp_index());
     } else {
       in_worklist_->Clear();
     }
@@ -2333,8 +2251,7 @@
       }
 
       if (FLAG_support_il_printer && FLAG_trace_load_optimization) {
-        THR_Print("Replacing %s with congruent %s\n",
-                  a->ToCString(),
+        THR_Print("Replacing %s with congruent %s\n", a->ToCString(),
                   b->ToCString());
       }
 
@@ -2397,7 +2314,7 @@
 
   ZoneGrowableArray<Definition*>* CreateBlockOutValues() {
     ZoneGrowableArray<Definition*>* out =
-        new(Z) ZoneGrowableArray<Definition*>(aliased_set_->max_place_id());
+        new (Z) ZoneGrowableArray<Definition*>(aliased_set_->max_place_id());
     for (intptr_t i = 0; i < aliased_set_->max_place_id(); i++) {
       out->Add(NULL);
     }
@@ -2456,10 +2373,9 @@
 }
 
 
-bool DominatorBasedCSE::OptimizeRecursive(
-    FlowGraph* graph,
-    BlockEntryInstr* block,
-    CSEInstructionMap* map) {
+bool DominatorBasedCSE::OptimizeRecursive(FlowGraph* graph,
+                                          BlockEntryInstr* block,
+                                          CSEInstructionMap* map) {
   bool changed = false;
   for (ForwardInstructionIterator it(block); !it.Done(); it.Advance()) {
     Instruction* current = it.Current();
@@ -2488,7 +2404,7 @@
   intptr_t num_children = block->dominated_blocks().length();
   for (intptr_t i = 0; i < num_children; ++i) {
     BlockEntryInstr* child = block->dominated_blocks()[i];
-    if (i  < num_children - 1) {
+    if (i < num_children - 1) {
       // Copy map.
       CSEInstructionMap child_map(*map);
       changed = OptimizeRecursive(graph, child, &child_map) || changed;
@@ -2525,9 +2441,8 @@
 
     // For now, bail out for large functions to avoid OOM situations.
     // TODO(fschneider): Fix the memory consumption issue.
-    intptr_t function_length =
-        graph->function().end_token_pos().Pos() -
-        graph->function().token_pos().Pos();
+    intptr_t function_length = graph->function().end_token_pos().Pos() -
+                               graph->function().token_pos().Pos();
     if (function_length >= FLAG_huge_method_cutoff_in_tokens) {
       return;
     }
@@ -2570,12 +2485,11 @@
 
   virtual void ComputeInitialSets() {
     Zone* zone = graph_->zone();
-    BitVector* all_places = new(zone) BitVector(zone,
-        aliased_set_->max_place_id());
+    BitVector* all_places =
+        new (zone) BitVector(zone, aliased_set_->max_place_id());
     all_places->SetAll();
     for (BlockIterator block_it = graph_->postorder_iterator();
-         !block_it.Done();
-         block_it.Advance()) {
+         !block_it.Done(); block_it.Advance()) {
       BlockEntryInstr* block = block_it.Current();
       const intptr_t postorder_number = block->postorder_number();
 
@@ -2586,8 +2500,7 @@
       ZoneGrowableArray<Instruction*>* exposed_stores = NULL;
 
       // Iterate backwards starting at the last instruction.
-      for (BackwardInstructionIterator instr_it(block);
-           !instr_it.Done();
+      for (BackwardInstructionIterator instr_it(block); !instr_it.Done();
            instr_it.Advance()) {
         Instruction* instr = instr_it.Current();
 
@@ -2605,9 +2518,9 @@
             if (!live_in->Contains(instr->place_id()) &&
                 CanEliminateStore(instr)) {
               if (FLAG_trace_optimization) {
-                THR_Print(
-                    "Removing dead store to place %" Pd " in block B%" Pd "\n",
-                    instr->place_id(), block->block_id());
+                THR_Print("Removing dead store to place %" Pd " in block B%" Pd
+                          "\n",
+                          instr->place_id(), block->block_id());
               }
               instr_it.RemoveCurrentFromGraph();
             }
@@ -2616,7 +2529,7 @@
             // candidates for the global store elimination.
             if (exposed_stores == NULL) {
               const intptr_t kMaxExposedStoresInitialSize = 5;
-              exposed_stores = new(zone) ZoneGrowableArray<Instruction*>(
+              exposed_stores = new (zone) ZoneGrowableArray<Instruction*>(
                   Utils::Minimum(kMaxExposedStoresInitialSize,
                                  aliased_set_->max_place_id()));
             }
@@ -2629,11 +2542,8 @@
         }
 
         // Handle side effects, deoptimization and function return.
-        if (!instr->Effects().IsNone() ||
-            instr->CanDeoptimize() ||
-            instr->IsThrow() ||
-            instr->IsReThrow() ||
-            instr->IsReturn()) {
+        if (!instr->Effects().IsNone() || instr->CanDeoptimize() ||
+            instr->IsThrow() || instr->IsReThrow() || instr->IsReturn()) {
           // Instructions that return from the function, instructions with side
           // effects and instructions that can deoptimize are considered as
           // loads from all places.
@@ -2665,15 +2575,14 @@
   void EliminateDeadStores() {
     // Iteration order does not matter here.
     for (BlockIterator block_it = graph_->postorder_iterator();
-         !block_it.Done();
-         block_it.Advance()) {
+         !block_it.Done(); block_it.Advance()) {
       BlockEntryInstr* block = block_it.Current();
       const intptr_t postorder_number = block->postorder_number();
 
       BitVector* live_out = live_out_[postorder_number];
 
       ZoneGrowableArray<Instruction*>* exposed_stores =
-        exposed_stores_[postorder_number];
+          exposed_stores_[postorder_number];
       if (exposed_stores == NULL) continue;  // No exposed stores.
 
       // Iterate over candidate stores.
@@ -2754,8 +2663,8 @@
     if (use == store->value()) {
       Definition* instance = store->instance()->definition();
       return instance->IsAllocateObject() &&
-          ((check_type == kOptimisticCheck) ||
-           instance->Identity().IsAllocationSinkingCandidate());
+             ((check_type == kOptimisticCheck) ||
+              instance->Identity().IsAllocationSinkingCandidate());
     }
     return true;
   }
@@ -2770,14 +2679,12 @@
 // We do not support materialization of the object that has type arguments.
 static bool IsAllocationSinkingCandidate(Definition* alloc,
                                          SafeUseCheck check_type) {
-  for (Value* use = alloc->input_use_list();
-       use != NULL;
+  for (Value* use = alloc->input_use_list(); use != NULL;
        use = use->next_use()) {
     if (!IsSafeUse(use, check_type)) {
       if (FLAG_support_il_printer && FLAG_trace_optimization) {
         THR_Print("use of %s at %s is unsafe for allocation sinking\n",
-                  alloc->ToCString(),
-                  use->instruction()->ToCString());
+                  alloc->ToCString(), use->instruction()->ToCString());
       }
       return false;
     }
@@ -2811,18 +2718,15 @@
 
   // As an allocation sinking candidate it is only used in stores to its own
   // fields. Remove these stores.
-  for (Value* use = alloc->input_use_list();
-       use != NULL;
+  for (Value* use = alloc->input_use_list(); use != NULL;
        use = alloc->input_use_list()) {
     use->instruction()->RemoveFromGraph();
   }
 
-  // There should be no environment uses. The pass replaced them with
-  // MaterializeObject instructions.
+// There should be no environment uses. The pass replaced them with
+// MaterializeObject instructions.
 #ifdef DEBUG
-  for (Value* use = alloc->env_use_list();
-       use != NULL;
-       use = use->next_use()) {
+  for (Value* use = alloc->env_use_list(); use != NULL; use = use->next_use()) {
     ASSERT(use->instruction()->IsMaterializeObject());
   }
 #endif
@@ -2843,18 +2747,19 @@
 void AllocationSinking::CollectCandidates() {
   // Optimistically collect all potential candidates.
   for (BlockIterator block_it = flow_graph_->reverse_postorder_iterator();
-       !block_it.Done();
-       block_it.Advance()) {
+       !block_it.Done(); block_it.Advance()) {
     BlockEntryInstr* block = block_it.Current();
     for (ForwardInstructionIterator it(block); !it.Done(); it.Advance()) {
-      { AllocateObjectInstr* alloc = it.Current()->AsAllocateObject();
+      {
+        AllocateObjectInstr* alloc = it.Current()->AsAllocateObject();
         if ((alloc != NULL) &&
             IsAllocationSinkingCandidate(alloc, kOptimisticCheck)) {
           alloc->SetIdentity(AliasIdentity::AllocationSinkingCandidate());
           candidates_.Add(alloc);
         }
       }
-      { AllocateUninitializedContextInstr* alloc =
+      {
+        AllocateUninitializedContextInstr* alloc =
             it.Current()->AsAllocateUninitializedContext();
         if ((alloc != NULL) &&
             IsAllocationSinkingCandidate(alloc, kOptimisticCheck)) {
@@ -2908,9 +2813,7 @@
     Definition* alloc = candidates_[i];
 
     Value* next_use;
-    for (Value* use = alloc->input_use_list();
-         use != NULL;
-         use = next_use) {
+    for (Value* use = alloc->input_use_list(); use != NULL; use = next_use) {
       next_use = use->next_use();
       if (use->instruction()->IsMaterializeObject()) {
         use->BindTo(MaterializationFor(alloc, use->instruction()));
@@ -2986,8 +2889,7 @@
       }
 
 #ifdef DEBUG
-      for (Value* use = alloc->env_use_list();
-           use != NULL;
+      for (Value* use = alloc->env_use_list(); use != NULL;
            use = use->next_use()) {
         ASSERT(use->instruction()->IsMaterializeObject());
       }
@@ -2998,8 +2900,7 @@
       // use list: we will reconstruct it when we start removing
       // materializations.
       alloc->set_env_use_list(NULL);
-      for (Value* use = alloc->input_use_list();
-           use != NULL;
+      for (Value* use = alloc->input_use_list(); use != NULL;
            use = use->next_use()) {
         if (use->instruction()->IsLoadField()) {
           LoadFieldInstr* load = use->instruction()->AsLoadField();
@@ -3143,14 +3044,14 @@
 // Given the allocation and deoptimization exit try to find MaterializeObject
 // instruction corresponding to this allocation at this exit.
 MaterializeObjectInstr* AllocationSinking::MaterializationFor(
-    Definition* alloc, Instruction* exit) {
+    Definition* alloc,
+    Instruction* exit) {
   if (exit->IsMaterializeObject()) {
     exit = ExitForMaterialization(exit->AsMaterializeObject());
   }
 
   for (MaterializeObjectInstr* mat = exit->previous()->AsMaterializeObject();
-       mat != NULL;
-       mat = mat->previous()->AsMaterializeObject()) {
+       mat != NULL; mat = mat->previous()->AsMaterializeObject()) {
     if (mat->allocation() == alloc) {
       return mat;
     }
@@ -3167,7 +3068,7 @@
     Definition* alloc,
     const ZoneGrowableArray<const Object*>& slots) {
   ZoneGrowableArray<Value*>* values =
-      new(Z) ZoneGrowableArray<Value*>(slots.length());
+      new (Z) ZoneGrowableArray<Value*>(slots.length());
 
   // All loads should be inserted before the first materialization so that
   // IR follows the following pattern: loads, materializations, deoptimizing
@@ -3176,29 +3077,25 @@
 
   // Insert load instruction for every field.
   for (intptr_t i = 0; i < slots.length(); i++) {
-    LoadFieldInstr* load = slots[i]->IsField()
-        ? new(Z) LoadFieldInstr(
-            new(Z) Value(alloc),
-            &Field::Cast(*slots[i]),
-            AbstractType::ZoneHandle(Z),
-            alloc->token_pos())
-        : new(Z) LoadFieldInstr(
-            new(Z) Value(alloc),
-            Smi::Cast(*slots[i]).Value(),
-            AbstractType::ZoneHandle(Z),
-            alloc->token_pos());
-    flow_graph_->InsertBefore(
-        load_point, load, NULL, FlowGraph::kValue);
-    values->Add(new(Z) Value(load));
+    LoadFieldInstr* load =
+        slots[i]->IsField()
+            ? new (Z) LoadFieldInstr(
+                  new (Z) Value(alloc), &Field::Cast(*slots[i]),
+                  AbstractType::ZoneHandle(Z), alloc->token_pos())
+            : new (Z) LoadFieldInstr(
+                  new (Z) Value(alloc), Smi::Cast(*slots[i]).Value(),
+                  AbstractType::ZoneHandle(Z), alloc->token_pos());
+    flow_graph_->InsertBefore(load_point, load, NULL, FlowGraph::kValue);
+    values->Add(new (Z) Value(load));
   }
 
   MaterializeObjectInstr* mat = NULL;
   if (alloc->IsAllocateObject()) {
-    mat = new(Z) MaterializeObjectInstr(
-        alloc->AsAllocateObject(), slots, values);
+    mat = new (Z)
+        MaterializeObjectInstr(alloc->AsAllocateObject(), slots, values);
   } else {
     ASSERT(alloc->IsAllocateUninitializedContext());
-    mat = new(Z) MaterializeObjectInstr(
+    mat = new (Z) MaterializeObjectInstr(
         alloc->AsAllocateUninitializedContext(), slots, values);
   }
 
@@ -3208,8 +3105,7 @@
   // MaterializeObject instruction.
   // We must preserve the identity: all mentions are replaced by the same
   // materialization.
-  for (Environment::DeepIterator env_it(exit->env());
-       !env_it.Done();
+  for (Environment::DeepIterator env_it(exit->env()); !env_it.Done();
        env_it.Advance()) {
     Value* use = env_it.CurrentValue();
     if (use->definition() == alloc) {
@@ -3222,7 +3118,7 @@
   // Mark MaterializeObject as an environment use of this allocation.
   // This will allow us to discover it when we are looking for deoptimization
   // exits for another allocation that potentially flows into this one.
-  Value* val = new(Z) Value(alloc);
+  Value* val = new (Z) Value(alloc);
   val->set_instruction(mat);
   alloc->AddEnvUse(val);
 
@@ -3233,7 +3129,7 @@
 
 // Add given instruction to the list of the instructions if it is not yet
 // present there.
-template<typename T>
+template <typename T>
 void AddInstruction(GrowableArray<T*>* list, T* value) {
   ASSERT(!value->IsGraphEntry());
   for (intptr_t i = 0; i < list->length(); i++) {
@@ -3251,12 +3147,10 @@
 // dematerialized and that are referenced by deopt environments that
 // don't contain this allocation explicitly.
 void AllocationSinking::ExitsCollector::Collect(Definition* alloc) {
-  for (Value* use = alloc->env_use_list();
-       use != NULL;
-       use = use->next_use()) {
+  for (Value* use = alloc->env_use_list(); use != NULL; use = use->next_use()) {
     if (use->instruction()->IsMaterializeObject()) {
       AddInstruction(&exits_, ExitForMaterialization(
-          use->instruction()->AsMaterializeObject()));
+                                  use->instruction()->AsMaterializeObject()));
     } else {
       AddInstruction(&exits_, use->instruction());
     }
@@ -3266,8 +3160,7 @@
   // candidate and put it on worklist so that we conservatively collect all
   // exits for that candidate as well because they potentially might see
   // this object.
-  for (Value* use = alloc->input_use_list();
-       use != NULL;
+  for (Value* use = alloc->input_use_list(); use != NULL;
        use = use->next_use()) {
     Definition* obj = StoreInto(use);
     if ((obj != NULL) && (obj != alloc)) {
@@ -3297,10 +3190,9 @@
 void AllocationSinking::InsertMaterializations(Definition* alloc) {
   // Collect all fields that are written for this instance.
   ZoneGrowableArray<const Object*>* slots =
-      new(Z) ZoneGrowableArray<const Object*>(5);
+      new (Z) ZoneGrowableArray<const Object*>(5);
 
-  for (Value* use = alloc->input_use_list();
-       use != NULL;
+  for (Value* use = alloc->input_use_list(); use != NULL;
        use = use->next_use()) {
     StoreInstanceFieldInstr* store = use->instruction()->AsStoreInstanceField();
     if ((store != NULL) && (store->instance()->definition() == alloc)) {
@@ -3325,8 +3217,7 @@
 
   // Insert materializations at environment uses.
   for (intptr_t i = 0; i < exits_collector_.exits().length(); i++) {
-    CreateMaterializationAt(
-        exits_collector_.exits()[i], alloc, *slots);
+    CreateMaterializationAt(exits_collector_.exits()[i], alloc, *slots);
   }
 }
 
@@ -3339,8 +3230,7 @@
   const GrowableArray<CatchBlockEntryInstr*>& catch_entries =
       flow_graph->graph_entry()->catch_entries();
   intptr_t base = kFirstLocalSlotFromFp + flow_graph->num_non_copied_params();
-  for (intptr_t catch_idx = 0;
-       catch_idx < catch_entries.length();
+  for (intptr_t catch_idx = 0; catch_idx < catch_entries.length();
        ++catch_idx) {
     CatchBlockEntryInstr* catch_entry = catch_entries[catch_idx];
 
@@ -3364,20 +3254,17 @@
     }
 
     for (BlockIterator block_it = flow_graph->reverse_postorder_iterator();
-         !block_it.Done();
-         block_it.Advance()) {
+         !block_it.Done(); block_it.Advance()) {
       BlockEntryInstr* block = block_it.Current();
       if (block->try_index() == catch_entry->catch_try_index()) {
-        for (ForwardInstructionIterator instr_it(block);
-             !instr_it.Done();
+        for (ForwardInstructionIterator instr_it(block); !instr_it.Done();
              instr_it.Advance()) {
           Instruction* current = instr_it.Current();
           if (current->MayThrow()) {
             Environment* env = current->env()->Outermost();
             ASSERT(env != NULL);
             for (intptr_t env_idx = 0; env_idx < cdefs.length(); ++env_idx) {
-              if (cdefs[env_idx] != NULL &&
-                  !cdefs[env_idx]->IsConstant() &&
+              if (cdefs[env_idx] != NULL && !cdefs[env_idx]->IsConstant() &&
                   env->ValueAt(env_idx)->BindsToConstant()) {
                 // If the recorded definition is not a constant, record this
                 // definition as the current constant definition.
@@ -3398,7 +3285,7 @@
         Definition* old = (*idefs)[j];
         ConstantInstr* orig = cdefs[j]->AsConstant();
         ConstantInstr* copy =
-            new(flow_graph->zone()) ConstantInstr(orig->value());
+            new (flow_graph->zone()) ConstantInstr(orig->value());
         copy->set_ssa_temp_index(flow_graph->alloc_ssa_temp_index());
         old->ReplaceUsesWith(copy);
         (*idefs)[j] = copy;
@@ -3413,9 +3300,7 @@
   // Environment uses are real (non-phi) uses.
   if (def->env_use_list() != NULL) return true;
 
-  for (Value::Iterator it(def->input_use_list());
-       !it.Done();
-       it.Advance()) {
+  for (Value::Iterator it(def->input_use_list()); !it.Done(); it.Advance()) {
     if (!it.Current()->instruction()->IsPhi()) return true;
   }
   return false;
@@ -3424,8 +3309,7 @@
 
 void DeadCodeElimination::EliminateDeadPhis(FlowGraph* flow_graph) {
   GrowableArray<PhiInstr*> live_phis;
-  for (BlockIterator b = flow_graph->postorder_iterator();
-       !b.Done();
+  for (BlockIterator b = flow_graph->postorder_iterator(); !b.Done();
        b.Advance()) {
     JoinEntryInstr* join = b.Current()->AsJoinEntry();
     if (join != NULL) {
@@ -3455,8 +3339,7 @@
     }
   }
 
-  for (BlockIterator it(flow_graph->postorder_iterator());
-       !it.Done();
+  for (BlockIterator it(flow_graph->postorder_iterator()); !it.Done();
        it.Advance()) {
     JoinEntryInstr* join = it.Current()->AsJoinEntry();
     if (join != NULL) {
@@ -3480,7 +3363,7 @@
             (*join->phis_)[i] = NULL;
             if (FLAG_trace_optimization) {
               THR_Print("Removing redundant phi v%" Pd "\n",
-                         phi->ssa_temp_index());
+                        phi->ssa_temp_index());
             }
           } else {
             (*join->phis_)[to_index++] = phi;
diff --git a/runtime/vm/redundancy_elimination.h b/runtime/vm/redundancy_elimination.h
index 8fc6dc4..47afe21 100644
--- a/runtime/vm/redundancy_elimination.h
+++ b/runtime/vm/redundancy_elimination.h
@@ -15,13 +15,9 @@
 class AllocationSinking : public ZoneAllocated {
  public:
   explicit AllocationSinking(FlowGraph* flow_graph)
-      : flow_graph_(flow_graph),
-        candidates_(5),
-        materializations_(5) { }
+      : flow_graph_(flow_graph), candidates_(5), materializations_(5) {}
 
-  const GrowableArray<Definition*>& candidates() const {
-    return candidates_;
-  }
+  const GrowableArray<Definition*>& candidates() const { return candidates_; }
 
   // Find the materialization insterted for the given allocation
   // at the given exit.
@@ -40,7 +36,7 @@
   // this object.
   class ExitsCollector : public ValueObject {
    public:
-    ExitsCollector() : exits_(10), worklist_(3) { }
+    ExitsCollector() : exits_(10), worklist_(3) {}
 
     const GrowableArray<Instruction*>& exits() const { return exits_; }
 
@@ -66,10 +62,9 @@
 
   void InsertMaterializations(Definition* alloc);
 
-  void CreateMaterializationAt(
-      Instruction* exit,
-      Definition* alloc,
-      const ZoneGrowableArray<const Object*>& fields);
+  void CreateMaterializationAt(Instruction* exit,
+                               Definition* alloc,
+                               const ZoneGrowableArray<const Object*>& fields);
 
   void EliminateAllocation(Definition* alloc);
 
@@ -94,10 +89,9 @@
   static bool Optimize(FlowGraph* graph);
 
  private:
-  static bool OptimizeRecursive(
-      FlowGraph* graph,
-      BlockEntryInstr* entry,
-      CSEInstructionMap* map);
+  static bool OptimizeRecursive(FlowGraph* graph,
+                                BlockEntryInstr* entry,
+                                CSEInstructionMap* map);
 };
 
 
diff --git a/runtime/vm/regexp.cc b/runtime/vm/regexp.cc
index 2b9df95..19b88c5 100644
--- a/runtime/vm/regexp.cc
+++ b/runtime/vm/regexp.cc
@@ -270,9 +270,9 @@
  private:
   class CharacterFrequency {
    public:
-    CharacterFrequency() : counter_(0), character_(-1) { }
+    CharacterFrequency() : counter_(0), character_(-1) {}
     explicit CharacterFrequency(intptr_t character)
-        : counter_(0), character_(character) { }
+        : counter_(0), character_(character) {}
 
     void Increment() { counter_++; }
     intptr_t counter() { return counter_; }
@@ -294,19 +294,14 @@
 
 class RegExpCompiler : public ValueObject {
  public:
-  RegExpCompiler(intptr_t capture_count,
-                 bool ignore_case,
-                 bool is_one_byte);
+  RegExpCompiler(intptr_t capture_count, bool ignore_case, bool is_one_byte);
 
-  intptr_t AllocateRegister() {
-    return next_register_++;
-  }
+  intptr_t AllocateRegister() { return next_register_++; }
 
-  RegExpEngine::CompilationResult Assemble(
-      IRRegExpMacroAssembler* assembler,
-      RegExpNode* start,
-      intptr_t capture_count,
-      const String& pattern);
+  RegExpEngine::CompilationResult Assemble(IRRegExpMacroAssembler* assembler,
+                                           RegExpNode* start,
+                                           intptr_t capture_count,
+                                           const String& pattern);
 
   RegExpEngine::CompilationResult Assemble(
       BytecodeRegExpMacroAssembler* assembler,
@@ -364,6 +359,7 @@
     compiler->IncrementRecursionDepth();
   }
   ~RecursionCheck() { compiler_->DecrementRecursionDepth(); }
+
  private:
   RegExpCompiler* compiler_;
 };
@@ -387,7 +383,7 @@
       reg_exp_too_big_(false),
       current_expansion_factor_(1),
       zone_(Thread::Current()->zone()) {
-  accept_ = new(Z) EndNode(EndNode::ACCEPT, Z);
+  accept_ = new (Z) EndNode(EndNode::ACCEPT, Z);
 }
 
 
@@ -415,11 +411,10 @@
   macro_assembler->GenerateBacktrackBlock();
   macro_assembler->FinalizeRegistersArray();
 
-  return RegExpEngine::CompilationResult(macro_assembler->backtrack_goto(),
-                                         macro_assembler->graph_entry(),
-                                         macro_assembler->num_blocks(),
-                                         macro_assembler->num_stack_locals(),
-                                         next_register_);
+  return RegExpEngine::CompilationResult(
+      macro_assembler->backtrack_goto(), macro_assembler->graph_entry(),
+      macro_assembler->num_blocks(), macro_assembler->num_stack_locals(),
+      next_register_);
 }
 
 
@@ -460,11 +455,9 @@
 
 
 bool Trace::mentions_reg(intptr_t reg) {
-  for (DeferredAction* action = actions_;
-       action != NULL;
+  for (DeferredAction* action = actions_; action != NULL;
        action = action->next()) {
-    if (action->Mentions(reg))
-      return true;
+    if (action->Mentions(reg)) return true;
   }
   return false;
 }
@@ -472,8 +465,7 @@
 
 bool Trace::GetStoredPosition(intptr_t reg, intptr_t* cp_offset) {
   ASSERT(*cp_offset == 0);
-  for (DeferredAction* action = actions_;
-       action != NULL;
+  for (DeferredAction* action = actions_; action != NULL;
        action = action->next()) {
     if (action->Mentions(reg)) {
       if (action->action_type() == ActionNode::STORE_POSITION) {
@@ -491,11 +483,9 @@
 // This is called as we come into a loop choice node and some other tricky
 // nodes.  It normalizes the state of the code generator to ensure we can
 // generate generic code.
-intptr_t Trace::FindAffectedRegisters(OutSet* affected_registers,
-                                      Zone* zone) {
+intptr_t Trace::FindAffectedRegisters(OutSet* affected_registers, Zone* zone) {
   intptr_t max_register = RegExpCompiler::kNoRegister;
-  for (DeferredAction* action = actions_;
-       action != NULL;
+  for (DeferredAction* action = actions_; action != NULL;
        action = action->next()) {
     if (action->action_type() == ActionNode::CLEAR_CAPTURES) {
       Interval range = static_cast<DeferredClearCaptures*>(action)->range();
@@ -552,8 +542,7 @@
     intptr_t store_position = -1;
     // This is a little tricky because we are scanning the actions in reverse
     // historical order (newest first).
-    for (DeferredAction* action = actions_;
-         action != NULL;
+    for (DeferredAction* action = actions_; action != NULL;
          action = action->next()) {
       if (action->Mentions(reg)) {
         switch (action->action_type()) {
@@ -677,12 +666,8 @@
   intptr_t max_register = FindAffectedRegisters(&affected_registers, zone);
   OutSet registers_to_pop;
   OutSet registers_to_clear;
-  PerformDeferredActions(assembler,
-                         max_register,
-                         affected_registers,
-                         &registers_to_pop,
-                         &registers_to_clear,
-                         zone);
+  PerformDeferredActions(assembler, max_register, affected_registers,
+                         &registers_to_pop, &registers_to_clear, zone);
   if (cp_offset_ != 0) {
     assembler->AdvanceCurrentPosition(cp_offset_);
   }
@@ -695,9 +680,7 @@
 
   // On backtrack we need to restore state.
   assembler->BindBlock(&undo);
-  RestoreAffectedRegisters(assembler,
-                           max_register,
-                           registers_to_pop,
+  RestoreAffectedRegisters(assembler, max_register, registers_to_pop,
                            registers_to_clear);
   if (backtrack() == NULL) {
     assembler->Backtrack();
@@ -760,8 +743,7 @@
 
 
 void GuardedAlternative::AddGuard(Guard* guard, Zone* zone) {
-  if (guards_ == NULL)
-    guards_ = new(zone) ZoneGrowableArray<Guard*>(1);
+  if (guards_ == NULL) guards_ = new (zone) ZoneGrowableArray<Guard*>(1);
   guards_->Add(guard);
 }
 
@@ -770,7 +752,7 @@
                                     intptr_t val,
                                     RegExpNode* on_success) {
   ActionNode* result =
-      new(on_success->zone()) ActionNode(SET_REGISTER, on_success);
+      new (on_success->zone()) ActionNode(SET_REGISTER, on_success);
   result->data_.u_store_register.reg = reg;
   result->data_.u_store_register.value = val;
   return result;
@@ -780,7 +762,7 @@
 ActionNode* ActionNode::IncrementRegister(intptr_t reg,
                                           RegExpNode* on_success) {
   ActionNode* result =
-      new(on_success->zone()) ActionNode(INCREMENT_REGISTER, on_success);
+      new (on_success->zone()) ActionNode(INCREMENT_REGISTER, on_success);
   result->data_.u_increment_register.reg = reg;
   return result;
 }
@@ -790,17 +772,16 @@
                                       bool is_capture,
                                       RegExpNode* on_success) {
   ActionNode* result =
-      new(on_success->zone()) ActionNode(STORE_POSITION, on_success);
+      new (on_success->zone()) ActionNode(STORE_POSITION, on_success);
   result->data_.u_position_register.reg = reg;
   result->data_.u_position_register.is_capture = is_capture;
   return result;
 }
 
 
-ActionNode* ActionNode::ClearCaptures(Interval range,
-                                      RegExpNode* on_success) {
+ActionNode* ActionNode::ClearCaptures(Interval range, RegExpNode* on_success) {
   ActionNode* result =
-      new(on_success->zone()) ActionNode(CLEAR_CAPTURES, on_success);
+      new (on_success->zone()) ActionNode(CLEAR_CAPTURES, on_success);
   result->data_.u_clear_captures.range_from = range.from();
   result->data_.u_clear_captures.range_to = range.to();
   return result;
@@ -811,7 +792,7 @@
                                       intptr_t position_reg,
                                       RegExpNode* on_success) {
   ActionNode* result =
-      new(on_success->zone()) ActionNode(BEGIN_SUBMATCH, on_success);
+      new (on_success->zone()) ActionNode(BEGIN_SUBMATCH, on_success);
   result->data_.u_submatch.stack_pointer_register = stack_reg;
   result->data_.u_submatch.current_position_register = position_reg;
   return result;
@@ -823,9 +804,8 @@
                                                 intptr_t clear_register_count,
                                                 intptr_t clear_register_from,
                                                 RegExpNode* on_success) {
-  ActionNode* result =
-      new(on_success->zone()) ActionNode(POSITIVE_SUBMATCH_SUCCESS,
-                                            on_success);
+  ActionNode* result = new (on_success->zone())
+      ActionNode(POSITIVE_SUBMATCH_SUCCESS, on_success);
   result->data_.u_submatch.stack_pointer_register = stack_reg;
   result->data_.u_submatch.current_position_register = position_reg;
   result->data_.u_submatch.clear_register_count = clear_register_count;
@@ -839,7 +819,7 @@
                                         intptr_t repetition_limit,
                                         RegExpNode* on_success) {
   ActionNode* result =
-      new(on_success->zone()) ActionNode(EMPTY_MATCH_CHECK, on_success);
+      new (on_success->zone()) ActionNode(EMPTY_MATCH_CHECK, on_success);
   result->data_.u_empty_match_check.start_register = start_register;
   result->data_.u_empty_match_check.repetition_register = repetition_register;
   result->data_.u_empty_match_check.repetition_limit = repetition_limit;
@@ -847,10 +827,8 @@
 }
 
 
-#define DEFINE_ACCEPT(Type)                                          \
-  void Type##Node::Accept(NodeVisitor* visitor) {                    \
-    visitor->Visit##Type(this);                                      \
-  }
+#define DEFINE_ACCEPT(Type)                                                    \
+  void Type##Node::Accept(NodeVisitor* visitor) { visitor->Visit##Type(this); }
 FOR_EACH_NODE_TYPE(DEFINE_ACCEPT)
 #undef DEFINE_ACCEPT
 
@@ -870,14 +848,12 @@
   switch (guard->op()) {
     case Guard::LT:
       ASSERT(!trace->mentions_reg(guard->reg()));
-      macro_assembler->IfRegisterGE(guard->reg(),
-                                    guard->value(),
+      macro_assembler->IfRegisterGE(guard->reg(), guard->value(),
                                     trace->backtrack());
       break;
     case Guard::GEQ:
       ASSERT(!trace->mentions_reg(guard->reg()));
-      macro_assembler->IfRegisterLT(guard->reg(),
-                                    guard->value(),
+      macro_assembler->IfRegisterLT(guard->reg(), guard->value(),
                                     trace->backtrack());
       break;
   }
@@ -919,10 +895,7 @@
   RegExpMacroAssembler* assembler = compiler->macro_assembler();
   bool bound_checked = false;
   if (!preloaded) {
-    assembler->LoadCurrentCharacter(
-        cp_offset,
-        on_failure,
-        check);
+    assembler->LoadCurrentCharacter(cp_offset, on_failure, check);
     bound_checked = true;
   }
   assembler->CheckNotCharacter(c, on_failure);
@@ -995,9 +968,7 @@
     // trick.  We avoid the theoretical case where negative numbers are
     // involved in order to simplify code generation.
     uint16_t mask = char_mask ^ diff;
-    macro_assembler->CheckNotCharacterAfterMinusAnd(c1 - diff,
-                                                    diff,
-                                                    mask,
+    macro_assembler->CheckNotCharacterAfterMinusAnd(c1 - diff, diff, mask,
                                                     on_failure);
     return true;
   }
@@ -1036,11 +1007,8 @@
   ASSERT(unibrow::Ecma262UnCanonicalize::kMaxWidth == 4);
   switch (length) {
     case 2: {
-      if (ShortCutEmitCharacterPair(macro_assembler,
-                                    one_byte,
-                                    chars[0],
-                                    chars[1],
-                                    on_failure)) {
+      if (ShortCutEmitCharacterPair(macro_assembler, one_byte, chars[0],
+                                    chars[1], on_failure)) {
       } else {
         macro_assembler->CheckCharacter(chars[0], &ok);
         macro_assembler->CheckNotCharacter(chars[1], on_failure);
@@ -1050,7 +1018,7 @@
     }
     case 4:
       macro_assembler->CheckCharacter(chars[3], &ok);
-      // Fall through!
+    // Fall through!
     case 3:
       macro_assembler->CheckCharacter(chars[0], &ok);
       macro_assembler->CheckCharacter(chars[1], &ok);
@@ -1104,15 +1072,14 @@
 
 // even_label is for ranges[i] to ranges[i + 1] where i - start_index is even.
 // odd_label is for ranges[i] to ranges[i + 1] where i - start_index is odd.
-static void EmitUseLookupTable(
-    RegExpMacroAssembler* masm,
-    ZoneGrowableArray<int>* ranges,
-    intptr_t start_index,
-    intptr_t end_index,
-    intptr_t min_char,
-    BlockLabel* fall_through,
-    BlockLabel* even_label,
-    BlockLabel* odd_label) {
+static void EmitUseLookupTable(RegExpMacroAssembler* masm,
+                               ZoneGrowableArray<int>* ranges,
+                               intptr_t start_index,
+                               intptr_t end_index,
+                               intptr_t min_char,
+                               BlockLabel* fall_through,
+                               BlockLabel* even_label,
+                               BlockLabel* odd_label) {
   static const intptr_t kSize = RegExpMacroAssembler::kTableSize;
   static const intptr_t kMask = RegExpMacroAssembler::kTableMask;
 
@@ -1154,8 +1121,7 @@
   }
   // TODO(erikcorry): Cache these.
   const TypedData& ba = TypedData::ZoneHandle(
-        masm->zone(),
-        TypedData::New(kTypedDataUint8ArrayCid, kSize, Heap::kOld));
+      masm->zone(), TypedData::New(kTypedDataUint8ArrayCid, kSize, Heap::kOld));
   for (intptr_t i = 0; i < kSize; i++) {
     ba.SetUint8(i, templ[i]);
   }
@@ -1174,11 +1140,8 @@
   bool odd = (((cut_index - start_index) & 1) == 1);
   BlockLabel* in_range_label = odd ? odd_label : even_label;
   BlockLabel dummy;
-  EmitDoubleBoundaryTest(masm,
-                         ranges->At(cut_index),
-                         ranges->At(cut_index + 1) - 1,
-                         &dummy,
-                         in_range_label,
+  EmitDoubleBoundaryTest(masm, ranges->At(cut_index),
+                         ranges->At(cut_index + 1) - 1, &dummy, in_range_label,
                          &dummy);
   ASSERT(!dummy.IsLinked());
   // Cut out the single range by rewriting the array.  This creates a new
@@ -1231,8 +1194,7 @@
   // punctuation).
   if (*border - 1 > Symbols::kMaxOneCharCodeSymbol &&  // Latin1 case.
       end_index - start_index > (*new_start_index - start_index) * 2 &&
-      last - first > kSize * 2 &&
-      binary_chop_index > *new_start_index &&
+      last - first > kSize * 2 && binary_chop_index > *new_start_index &&
       ranges->At(binary_chop_index) >= first + 2 * kSize) {
     intptr_t scan_forward_for_section_border = binary_chop_index;
     intptr_t new_border = (ranges->At(binary_chop_index) | kMask) + 1;
@@ -1290,8 +1252,8 @@
   // Another almost trivial case:  There is one interval in the middle that is
   // different from the end intervals.
   if (start_index + 1 == end_index) {
-    EmitDoubleBoundaryTest(
-        masm, first, last, fall_through, even_label, odd_label);
+    EmitDoubleBoundaryTest(masm, first, last, fall_through, even_label,
+                           odd_label);
     return;
   }
 
@@ -1309,18 +1271,11 @@
       }
     }
     if (cut == kNoCutIndex) cut = start_index;
-    CutOutRange(
-        masm, ranges, start_index, end_index, cut, even_label, odd_label);
+    CutOutRange(masm, ranges, start_index, end_index, cut, even_label,
+                odd_label);
     ASSERT(end_index - start_index >= 2);
-    GenerateBranches(masm,
-                     ranges,
-                     start_index + 1,
-                     end_index - 1,
-                     min_char,
-                     max_char,
-                     fall_through,
-                     even_label,
-                     odd_label);
+    GenerateBranches(masm, ranges, start_index + 1, end_index - 1, min_char,
+                     max_char, fall_through, even_label, odd_label);
     return;
   }
 
@@ -1329,28 +1284,15 @@
   static const intptr_t kBits = RegExpMacroAssembler::kTableSizeBits;
 
   if ((max_char >> kBits) == (min_char >> kBits)) {
-    EmitUseLookupTable(masm,
-                       ranges,
-                       start_index,
-                       end_index,
-                       min_char,
-                       fall_through,
-                       even_label,
-                       odd_label);
+    EmitUseLookupTable(masm, ranges, start_index, end_index, min_char,
+                       fall_through, even_label, odd_label);
     return;
   }
 
   if ((min_char >> kBits) != (first >> kBits)) {
     masm->CheckCharacterLT(first, odd_label);
-    GenerateBranches(masm,
-                     ranges,
-                     start_index + 1,
-                     end_index,
-                     first,
-                     max_char,
-                     fall_through,
-                     odd_label,
-                     even_label);
+    GenerateBranches(masm, ranges, start_index + 1, end_index, first, max_char,
+                     fall_through, odd_label, even_label);
     return;
   }
 
@@ -1358,12 +1300,8 @@
   intptr_t new_end_index = 0;
   intptr_t border = 0;
 
-  SplitSearchSpace(ranges,
-                   start_index,
-                   end_index,
-                   &new_start_index,
-                   &new_end_index,
-                   &border);
+  SplitSearchSpace(ranges, start_index, end_index, &new_start_index,
+                   &new_end_index, &border);
 
   BlockLabel handle_rest;
   BlockLabel* above = &handle_rest;
@@ -1386,34 +1324,20 @@
   ASSERT(ranges->At(new_end_index) < border);
   ASSERT(border < ranges->At(new_start_index) ||
          (border == ranges->At(new_start_index) &&
-          new_start_index == end_index &&
-          new_end_index == end_index - 1 &&
+          new_start_index == end_index && new_end_index == end_index - 1 &&
           border == last + 1));
   ASSERT(new_start_index == 0 || border >= ranges->At(new_start_index - 1));
 
   masm->CheckCharacterGT(border - 1, above);
   BlockLabel dummy;
-  GenerateBranches(masm,
-                   ranges,
-                   start_index,
-                   new_end_index,
-                   min_char,
-                   border - 1,
-                   &dummy,
-                   even_label,
-                   odd_label);
+  GenerateBranches(masm, ranges, start_index, new_end_index, min_char,
+                   border - 1, &dummy, even_label, odd_label);
 
   if (handle_rest.IsLinked()) {
     masm->BindBlock(&handle_rest);
     bool flip = (new_start_index & 1) != (start_index & 1);
-    GenerateBranches(masm,
-                     ranges,
-                     new_start_index,
-                     end_index,
-                     border,
-                     max_char,
-                     &dummy,
-                     flip ? odd_label : even_label,
+    GenerateBranches(masm, ranges, new_start_index, end_index, border, max_char,
+                     &dummy, flip ? odd_label : even_label,
                      flip ? even_label : odd_label);
   }
 }
@@ -1460,8 +1384,7 @@
     return;
   }
 
-  if (last_valid_range == 0 &&
-      ranges->At(0).IsEverything(max_char)) {
+  if (last_valid_range == 0 && ranges->At(0).IsEverything(max_char)) {
     if (cc->is_negated()) {
       macro_assembler->GoTo(on_failure);
     } else {
@@ -1472,8 +1395,7 @@
     }
     return;
   }
-  if (last_valid_range == 0 &&
-      !cc->is_negated() &&
+  if (last_valid_range == 0 && !cc->is_negated() &&
       ranges->At(0).IsEverything(max_char)) {
     // This is a common case hit by non-anchored expressions.
     if (check_offset) {
@@ -1487,9 +1409,9 @@
   }
 
   if (cc->is_standard() &&
-        macro_assembler->CheckSpecialCharacterClass(cc->standard_type(),
-                                                    on_failure)) {
-      return;
+      macro_assembler->CheckSpecialCharacterClass(cc->standard_type(),
+                                                  on_failure)) {
+    return;
   }
 
 
@@ -1500,7 +1422,7 @@
   // was already one there we fall through for success on that entry.
   // Subsequent entries have alternating meaning (success/failure).
   ZoneGrowableArray<int>* range_boundaries =
-      new(zone) ZoneGrowableArray<int>(last_valid_range);
+      new (zone) ZoneGrowableArray<int>(last_valid_range);
 
   bool zeroth_entry_is_failure = !cc->is_negated();
 
@@ -1520,21 +1442,18 @@
   }
 
   BlockLabel fall_through;
-  GenerateBranches(macro_assembler,
-                   range_boundaries,
+  GenerateBranches(macro_assembler, range_boundaries,
                    0,  // start_index.
                    end_index,
                    0,  // min_char.
-                   max_char,
-                   &fall_through,
+                   max_char, &fall_through,
                    zeroth_entry_is_failure ? &fall_through : on_failure,
                    zeroth_entry_is_failure ? on_failure : &fall_through);
   macro_assembler->BindBlock(&fall_through);
 }
 
 
-RegExpNode::~RegExpNode() {
-}
+RegExpNode::~RegExpNode() {}
 
 
 RegExpNode::LimitResult RegExpNode::LimitVersions(RegExpCompiler* compiler,
@@ -1567,8 +1486,7 @@
   // We are being asked to make a non-generic version.  Keep track of how many
   // non-generic versions we generate so as not to overdo it.
   trace_count_++;
-  if (kRegexpOptimization &&
-      trace_count_ < kMaxCopiesCodeGenerated &&
+  if (kRegexpOptimization && trace_count_ < kMaxCopiesCodeGenerated &&
       compiler->recursion_depth() <= RegExpCompiler::kMaxRecursion) {
     return CONTINUE;
   }
@@ -1586,9 +1504,7 @@
                                  bool not_at_start) {
   if (budget <= 0) return 0;
   if (action_type_ == POSITIVE_SUBMATCH_SUCCESS) return 0;  // Rewinds input!
-  return on_success()->EatsAtLeast(still_to_find,
-                                   budget - 1,
-                                   not_at_start);
+  return on_success()->EatsAtLeast(still_to_find, budget - 1, not_at_start);
 }
 
 
@@ -1615,9 +1531,7 @@
   // that won't prevent us from preloading a lot of characters for the other
   // branches in the node graph.
   if (assertion_type() == AT_START && not_at_start) return still_to_find;
-  return on_success()->EatsAtLeast(still_to_find,
-                                   budget - 1,
-                                   not_at_start);
+  return on_success()->EatsAtLeast(still_to_find, budget - 1, not_at_start);
 }
 
 
@@ -1636,9 +1550,7 @@
                                         intptr_t budget,
                                         bool not_at_start) {
   if (budget <= 0) return 0;
-  return on_success()->EatsAtLeast(still_to_find,
-                                   budget - 1,
-                                   not_at_start);
+  return on_success()->EatsAtLeast(still_to_find, budget - 1, not_at_start);
 }
 
 
@@ -1649,9 +1561,8 @@
   if (answer >= still_to_find) return answer;
   if (budget <= 0) return answer;
   // We are not at start after this node so we set the last argument to 'true'.
-  return answer + on_success()->EatsAtLeast(still_to_find - answer,
-                                            budget - 1,
-                                            true);
+  return answer +
+         on_success()->EatsAtLeast(still_to_find - answer, budget - 1, true);
 }
 
 
@@ -1701,20 +1612,14 @@
 intptr_t LoopChoiceNode::EatsAtLeast(intptr_t still_to_find,
                                      intptr_t budget,
                                      bool not_at_start) {
-  return EatsAtLeastHelper(still_to_find,
-                           budget - 1,
-                           loop_node_,
-                           not_at_start);
+  return EatsAtLeastHelper(still_to_find, budget - 1, loop_node_, not_at_start);
 }
 
 
 intptr_t ChoiceNode::EatsAtLeast(intptr_t still_to_find,
                                  intptr_t budget,
                                  bool not_at_start) {
-  return EatsAtLeastHelper(still_to_find,
-                           budget,
-                           NULL,
-                           not_at_start);
+  return EatsAtLeastHelper(still_to_find, budget, NULL, not_at_start);
 }
 
 
@@ -1761,8 +1666,8 @@
                                 QuickCheckDetails* details,
                                 bool fall_through_on_failure) {
   if (details->characters() == 0) return false;
-  GetQuickCheckDetails(
-      details, compiler, 0, trace->at_start() == Trace::FALSE_VALUE);
+  GetQuickCheckDetails(details, compiler, 0,
+                       trace->at_start() == Trace::FALSE_VALUE);
   if (details->cannot_match()) return false;
   if (!details->Rationalize(compiler->one_byte())) return false;
   ASSERT(details->characters() == 1 ||
@@ -1778,10 +1683,9 @@
     // any choice would eat, so if the bounds check fails, then none of the
     // choices can succeed, so we can just immediately backtrack, rather
     // than go to the next choice.
-    assembler->LoadCurrentCharacter(trace->cp_offset(),
-                                    bounds_check_trace->backtrack(),
-                                    !preload_has_checked_bounds,
-                                    details->characters());
+    assembler->LoadCurrentCharacter(
+        trace->cp_offset(), bounds_check_trace->backtrack(),
+        !preload_has_checked_bounds, details->characters());
   }
 
 
@@ -1948,7 +1852,7 @@
         // A mask and compare is only perfect if the differing bits form a
         // number like 00011111 with one single block of trailing 1s.
         if ((differing_bits & (differing_bits + 1)) == 0 &&
-             from + differing_bits == to) {
+            from + differing_bits == to) {
           pos->determines_perfectly = true;
         }
         uint32_t common_bits = ~SmearBitsRight(differing_bits);
@@ -1985,10 +1889,8 @@
   }
   ASSERT(characters_filled_in != details->characters());
   if (!details->cannot_match()) {
-    on_success()-> GetQuickCheckDetails(details,
-                                        compiler,
-                                        characters_filled_in,
-                                        true);
+    on_success()->GetQuickCheckDetails(details, compiler, characters_filled_in,
+                                       true);
   }
 }
 
@@ -2036,8 +1938,7 @@
   for (intptr_t i = from_index; i < characters_; i++) {
     QuickCheckDetails::Position* pos = positions(i);
     QuickCheckDetails::Position* other_pos = other->positions(i);
-    if (pos->mask != other_pos->mask ||
-        pos->value != other_pos->value ||
+    if (pos->mask != other_pos->mask || pos->value != other_pos->value ||
         !other_pos->determines_perfectly) {
       // Our mask-compare operation will be approximate unless we have the
       // exact same operation on both sides of the alternation.
@@ -2059,9 +1960,8 @@
     ASSERT(!info->visited);
     info->visited = true;
   }
-  ~VisitMarker() {
-    info_->visited = false;
-  }
+  ~VisitMarker() { info_->visited = false; }
+
  private:
   NodeInfo* info_;
 };
@@ -2087,8 +1987,8 @@
 // We need to check for the following characters: 0x39c 0x3bc 0x178.
 static inline bool RangeContainsLatin1Equivalents(CharacterRange range) {
   // TODO(dcarney): this could be a lot more efficient.
-  return range.Contains(0x39c) ||
-      range.Contains(0x3bc) || range.Contains(0x178);
+  return range.Contains(0x39c) || range.Contains(0x3bc) ||
+         range.Contains(0x178);
 }
 
 
@@ -2150,8 +2050,7 @@
       // Now they are in order so we only need to look at the first.
       intptr_t range_count = ranges->length();
       if (cc->is_negated()) {
-        if (range_count != 0 &&
-            ranges->At(0).from() == 0 &&
+        if (range_count != 0 && ranges->At(0).from() == 0 &&
             ranges->At(0).to() >= Symbols::kMaxOneCharCodeSymbol) {
           // This will be handled in a later filter.
           if (ignore_case && RangesContainLatin1Equivalents(ranges)) continue;
@@ -2226,7 +2125,7 @@
   // Only some of the nodes survived the filtering.  We need to rebuild the
   // alternatives list.
   ZoneGrowableArray<GuardedAlternative>* new_alternatives =
-      new(Z) ZoneGrowableArray<GuardedAlternative>(surviving);
+      new (Z) ZoneGrowableArray<GuardedAlternative>(surviving);
   for (intptr_t i = 0; i < choice_count; i++) {
     RegExpNode* replacement =
         (*alternatives_)[i].node()->FilterOneByte(depth - 1, ignore_case);
@@ -2269,10 +2168,8 @@
                                           bool not_at_start) {
   if (body_can_be_zero_length_ || info()->visited) return;
   VisitMarker marker(info());
-  return ChoiceNode::GetQuickCheckDetails(details,
-                                          compiler,
-                                          characters_filled_in,
-                                          not_at_start);
+  return ChoiceNode::GetQuickCheckDetails(details, compiler,
+                                          characters_filled_in, not_at_start);
 }
 
 
@@ -2297,15 +2194,12 @@
   not_at_start = (not_at_start || not_at_start_);
   intptr_t choice_count = alternatives_->length();
   ASSERT(choice_count > 0);
-  (*alternatives_)[0].node()->GetQuickCheckDetails(details,
-                                                    compiler,
-                                                    characters_filled_in,
-                                                    not_at_start);
+  (*alternatives_)[0].node()->GetQuickCheckDetails(
+      details, compiler, characters_filled_in, not_at_start);
   for (intptr_t i = 1; i < choice_count; i++) {
     QuickCheckDetails new_details(details->characters());
     RegExpNode* node = (*alternatives_)[i].node();
-    node->GetQuickCheckDetails(&new_details, compiler,
-                               characters_filled_in,
+    node->GetQuickCheckDetails(&new_details, compiler, characters_filled_in,
                                not_at_start);
     // Here we merge the quick match details of the two branches.
     details->Merge(&new_details, characters_filled_in);
@@ -2357,11 +2251,9 @@
   }
   // We already checked that we are not at the start of input so it must be
   // OK to load the previous character.
-  assembler->LoadCurrentCharacter(new_trace.cp_offset() -1,
-                                  new_trace.backtrack(),
-                                  false);
-  if (!assembler->CheckSpecialCharacterClass('n',
-                                             new_trace.backtrack())) {
+  assembler->LoadCurrentCharacter(new_trace.cp_offset() - 1,
+                                  new_trace.backtrack(), false);
+  if (!assembler->CheckSpecialCharacterClass('n', new_trace.backtrack())) {
     // Newline means \n, \r, 0x2028 or 0x2029.
     if (!compiler->one_byte()) {
       assembler->CheckCharacterAfterAnd(0x2028, 0xfffe, &ok);
@@ -2383,22 +2275,19 @@
   if (lookahead == NULL) {
     intptr_t eats_at_least =
         Utils::Minimum(kMaxLookaheadForBoyerMoore,
-                       EatsAtLeast(kMaxLookaheadForBoyerMoore,
-                                   kRecursionBudget,
+                       EatsAtLeast(kMaxLookaheadForBoyerMoore, kRecursionBudget,
                                    not_at_start));
     if (eats_at_least >= 1) {
       BoyerMooreLookahead* bm =
-          new(Z) BoyerMooreLookahead(eats_at_least, compiler, Z);
+          new (Z) BoyerMooreLookahead(eats_at_least, compiler, Z);
       FillInBMInfo(0, kRecursionBudget, bm, not_at_start);
-      if (bm->at(0)->is_non_word())
-        next_is_word_character = Trace::FALSE_VALUE;
+      if (bm->at(0)->is_non_word()) next_is_word_character = Trace::FALSE_VALUE;
       if (bm->at(0)->is_word()) next_is_word_character = Trace::TRUE_VALUE;
     }
   } else {
     if (lookahead->at(0)->is_non_word())
       next_is_word_character = Trace::FALSE_VALUE;
-    if (lookahead->at(0)->is_word())
-      next_is_word_character = Trace::TRUE_VALUE;
+    if (lookahead->at(0)->is_word()) next_is_word_character = Trace::TRUE_VALUE;
   }
   bool at_boundary = (assertion_type_ == AssertionNode::AT_BOUNDARY);
   if (next_is_word_character == Trace::UNKNOWN) {
@@ -2442,12 +2331,12 @@
 
   BlockLabel fall_through, dummy;
 
-  BlockLabel* non_word = backtrack_if_previous == kIsNonWord ?
-                         new_trace.backtrack() :
-                         &fall_through;
-  BlockLabel* word = backtrack_if_previous == kIsNonWord ?
-                     &fall_through :
-                     new_trace.backtrack();
+  BlockLabel* non_word = backtrack_if_previous == kIsNonWord
+                             ? new_trace.backtrack()
+                             : &fall_through;
+  BlockLabel* word = backtrack_if_previous == kIsNonWord
+                         ? &fall_through
+                         : new_trace.backtrack();
 
   if (new_trace.cp_offset() == 0) {
     // The start of input counts as a non-word character, so the question is
@@ -2472,9 +2361,7 @@
     details->set_cannot_match();
     return;
   }
-  return on_success()->GetQuickCheckDetails(details,
-                                            compiler,
-                                            filled_in,
+  return on_success()->GetQuickCheckDetails(details, compiler, filled_in,
                                             not_at_start);
 }
 
@@ -2501,8 +2388,7 @@
         on_success()->Emit(compiler, &at_start_trace);
         return;
       }
-    }
-    break;
+    } break;
     case AFTER_NEWLINE:
       EmitHat(compiler, on_success(), trace);
       return;
@@ -2600,13 +2486,9 @@
             break;
         }
         if (emit_function != NULL) {
-          bool bound_checked = emit_function(Z,
-                                             compiler,
-                                             quarks->At(j),
-                                             backtrack,
-                                             cp_offset + j,
-                                             *checked_up_to < cp_offset + j,
-                                             preloaded);
+          bool bound_checked = emit_function(
+              Z, compiler, quarks->At(j), backtrack, cp_offset + j,
+              *checked_up_to < cp_offset + j, preloaded);
           if (bound_checked) UpdateBoundsCheck(cp_offset + j, checked_up_to);
         }
       }
@@ -2616,14 +2498,8 @@
         if (first_element_checked && i == 0) continue;
         if (DeterminedAlready(quick_check, elm.cp_offset())) continue;
         RegExpCharacterClass* cc = elm.char_class();
-        EmitCharClass(assembler,
-                      cc,
-                      one_byte,
-                      backtrack,
-                      cp_offset,
-                      *checked_up_to < cp_offset,
-                      preloaded,
-                      Z);
+        EmitCharClass(assembler, cc, one_byte, backtrack, cp_offset,
+                      *checked_up_to < cp_offset, preloaded, Z);
         UpdateBoundsCheck(cp_offset, checked_up_to);
       }
     }
@@ -2678,12 +2554,8 @@
   if (trace->characters_preloaded() == 1) {
     for (intptr_t pass = kFirstRealPass; pass <= kLastPass; pass++) {
       if (!SkipPass(pass, compiler->ignore_case())) {
-        TextEmitPass(compiler,
-                     static_cast<TextEmitPassType>(pass),
-                     true,
-                     trace,
-                     false,
-                     &bound_checked_to);
+        TextEmitPass(compiler, static_cast<TextEmitPassType>(pass), true, trace,
+                     false, &bound_checked_to);
       }
     }
     first_elt_done = true;
@@ -2691,12 +2563,8 @@
 
   for (intptr_t pass = kFirstRealPass; pass <= kLastPass; pass++) {
     if (!SkipPass(pass, compiler->ignore_case())) {
-      TextEmitPass(compiler,
-                   static_cast<TextEmitPassType>(pass),
-                   false,
-                   trace,
-                   first_elt_done,
-                   &bound_checked_to);
+      TextEmitPass(compiler, static_cast<TextEmitPassType>(pass), false, trace,
+                   first_elt_done, &bound_checked_to);
     }
   }
 
@@ -2729,8 +2597,8 @@
     compiler->SetRegExpTooBig();
     cp_offset_ = 0;
   }
-  bound_checked_up_to_ = Utils::Maximum(static_cast<intptr_t>(0),
-                                        bound_checked_up_to_ - by);
+  bound_checked_up_to_ =
+      Utils::Maximum(static_cast<intptr_t>(0), bound_checked_up_to_ - by);
 }
 
 
@@ -2849,8 +2717,8 @@
 
 intptr_t ChoiceNode::CalculatePreloadCharacters(RegExpCompiler* compiler,
                                                 intptr_t eats_at_least) {
-  intptr_t preload_characters = Utils::Minimum(static_cast<intptr_t>(4),
-                                               eats_at_least);
+  intptr_t preload_characters =
+      Utils::Minimum(static_cast<intptr_t>(4), eats_at_least);
   if (compiler->macro_assembler()->CanReadUnaligned()) {
     bool one_byte = compiler->one_byte();
     if (one_byte) {
@@ -2876,7 +2744,7 @@
       : possible_success(),
         expects_preload(false),
         after(),
-        quick_check_details() { }
+        quick_check_details() {}
   BlockLabel possible_success;
   bool expects_preload;
   BlockLabel after;
@@ -2888,8 +2756,7 @@
 // size then it is on the stack, otherwise the excess is on the heap.
 class AlternativeGenerationList {
  public:
-  explicit AlternativeGenerationList(intptr_t count)
-      : alt_gens_(count) {
+  explicit AlternativeGenerationList(intptr_t count) : alt_gens_(count) {
     for (intptr_t i = 0; i < count && i < kAFew; i++) {
       alt_gens_.Add(a_few_alt_gens_ + i);
     }
@@ -2904,9 +2771,7 @@
     }
   }
 
-  AlternativeGeneration* at(intptr_t i) {
-    return alt_gens_[i];
-  }
+  AlternativeGeneration* at(intptr_t i) { return alt_gens_[i]; }
 
  private:
   static const intptr_t kAFew = 10;
@@ -2920,20 +2785,20 @@
 // The '2' variant is inclusive from and exclusive to.
 // This covers \s as defined in ECMA-262 5.1, 15.10.2.12,
 // which include WhiteSpace (7.2) or LineTerminator (7.3) values.
-static const intptr_t kSpaceRanges[] = { '\t', '\r' + 1, ' ', ' ' + 1,
-    0x00A0, 0x00A1, 0x1680, 0x1681, 0x180E, 0x180F, 0x2000, 0x200B,
-    0x2028, 0x202A, 0x202F, 0x2030, 0x205F, 0x2060, 0x3000, 0x3001,
-    0xFEFF, 0xFF00, 0x10000 };
+static const intptr_t kSpaceRanges[] = {
+    '\t',   '\r' + 1, ' ',    ' ' + 1, 0x00A0, 0x00A1, 0x1680, 0x1681,
+    0x180E, 0x180F,   0x2000, 0x200B,  0x2028, 0x202A, 0x202F, 0x2030,
+    0x205F, 0x2060,   0x3000, 0x3001,  0xFEFF, 0xFF00, 0x10000};
 static const intptr_t kSpaceRangeCount = ARRAY_SIZE(kSpaceRanges);
-static const intptr_t kWordRanges[] = {
-    '0', '9' + 1, 'A', 'Z' + 1, '_', '_' + 1, 'a', 'z' + 1, 0x10000 };
+static const intptr_t kWordRanges[] = {'0',     '9' + 1, 'A',     'Z' + 1, '_',
+                                       '_' + 1, 'a',     'z' + 1, 0x10000};
 static const intptr_t kWordRangeCount = ARRAY_SIZE(kWordRanges);
-static const intptr_t kDigitRanges[] = { '0', '9' + 1, 0x10000 };
+static const intptr_t kDigitRanges[] = {'0', '9' + 1, 0x10000};
 static const intptr_t kDigitRangeCount = ARRAY_SIZE(kDigitRanges);
-static const intptr_t kSurrogateRanges[] = { 0xd800, 0xe000, 0x10000 };
+static const intptr_t kSurrogateRanges[] = {0xd800, 0xe000, 0x10000};
 static const intptr_t kSurrogateRangeCount = ARRAY_SIZE(kSurrogateRanges);
-static const intptr_t kLineTerminatorRanges[] = {
-    0x000A, 0x000B, 0x000D, 0x000E, 0x2028, 0x202A, 0x10000 };
+static const intptr_t kLineTerminatorRanges[] = {0x000A, 0x000B, 0x000D, 0x000E,
+                                                 0x2028, 0x202A, 0x10000};
 static const intptr_t kLineTerminatorRangeCount =
     ARRAY_SIZE(kLineTerminatorRanges);
 
@@ -2952,7 +2817,8 @@
   if (interval.to() - interval.from() >= kMapSize - 1) {
     if (map_count_ != kMapSize) {
       map_count_ = kMapSize;
-      for (intptr_t i = 0; i < kMapSize; i++) (*map_)[i] = true;
+      for (intptr_t i = 0; i < kMapSize; i++)
+        (*map_)[i] = true;
     }
     return;
   }
@@ -2971,23 +2837,24 @@
   s_ = w_ = d_ = kLatticeUnknown;
   if (map_count_ != kMapSize) {
     map_count_ = kMapSize;
-    for (intptr_t i = 0; i < kMapSize; i++) (*map_)[i] = true;
+    for (intptr_t i = 0; i < kMapSize; i++)
+      (*map_)[i] = true;
   }
 }
 
 
-BoyerMooreLookahead::BoyerMooreLookahead(
-    intptr_t length, RegExpCompiler* compiler, Zone* zone)
-    : length_(length),
-      compiler_(compiler) {
+BoyerMooreLookahead::BoyerMooreLookahead(intptr_t length,
+                                         RegExpCompiler* compiler,
+                                         Zone* zone)
+    : length_(length), compiler_(compiler) {
   if (compiler->one_byte()) {
     max_char_ = Symbols::kMaxOneCharCodeSymbol;
   } else {
     max_char_ = Utf16::kMaxCodeUnit;
   }
-  bitmaps_ = new(zone) ZoneGrowableArray<BoyerMoorePositionInfo*>(length);
+  bitmaps_ = new (zone) ZoneGrowableArray<BoyerMoorePositionInfo*>(length);
   for (intptr_t i = 0; i < length; i++) {
-    bitmaps_->Add(new(zone) BoyerMoorePositionInfo(zone));
+    bitmaps_->Add(new (zone) BoyerMoorePositionInfo(zone));
   }
 }
 
@@ -3000,8 +2867,7 @@
   // If more than 32 characters out of 128 can occur it is unlikely that we can
   // be lucky enough to step forwards much of the time.
   const intptr_t kMaxMax = 32;
-  for (intptr_t max_number_of_chars = 4;
-       max_number_of_chars < kMaxMax;
+  for (intptr_t max_number_of_chars = 4; max_number_of_chars < kMaxMax;
        max_number_of_chars *= 2) {
     biggest_points =
         FindBestInterval(max_number_of_chars, biggest_points, from, to);
@@ -3017,22 +2883,24 @@
 // of points as the product of width-of-the-range and
 // probability-of-finding-one-of-the-characters, where the probability is
 // calculated using the frequency distribution of the sample subject string.
-intptr_t BoyerMooreLookahead::FindBestInterval(
-    intptr_t max_number_of_chars,
-    intptr_t old_biggest_points,
-    intptr_t* from,
-    intptr_t* to) {
+intptr_t BoyerMooreLookahead::FindBestInterval(intptr_t max_number_of_chars,
+                                               intptr_t old_biggest_points,
+                                               intptr_t* from,
+                                               intptr_t* to) {
   intptr_t biggest_points = old_biggest_points;
   static const intptr_t kSize = RegExpMacroAssembler::kTableSize;
-  for (intptr_t i = 0; i < length_; ) {
-    while (i < length_ && Count(i) > max_number_of_chars) i++;
+  for (intptr_t i = 0; i < length_;) {
+    while (i < length_ && Count(i) > max_number_of_chars)
+      i++;
     if (i == length_) break;
     intptr_t remembered_from = i;
     bool union_map[kSize];
-    for (intptr_t j = 0; j < kSize; j++) union_map[j] = false;
+    for (intptr_t j = 0; j < kSize; j++)
+      union_map[j] = false;
     while (i < length_ && Count(i) <= max_number_of_chars) {
       BoyerMoorePositionInfo* map = bitmaps_->At(i);
-      for (intptr_t j = 0; j < kSize; j++) union_map[j] |= map->at(j);
+      for (intptr_t j = 0; j < kSize; j++)
+        union_map[j] |= map->at(j);
       i++;
     }
     intptr_t frequency = 0;
@@ -3051,8 +2919,9 @@
     // dividing by 2 we switch off the skipping if the probability of skipping
     // is less than 50%.  This is because the multibyte mask-and-compare
     // skipping in quickcheck is more likely to do well on this case.
-    bool in_quickcheck_range = ((i - remembered_from < 4) ||
-        (compiler_->one_byte() ? remembered_from <= 4 : remembered_from <= 2));
+    bool in_quickcheck_range =
+        ((i - remembered_from < 4) ||
+         (compiler_->one_byte() ? remembered_from <= 4 : remembered_from <= 2));
     // Called 'probability' but it is only a rough estimate and can actually
     // be outside the 0-kSize range.
     intptr_t probability =
@@ -3140,8 +3009,7 @@
     masm->LoadCurrentCharacter(max_lookahead, &cont, true);
     if (max_char_ > kSize) {
       masm->CheckCharacterAfterAnd(single_character,
-                                   RegExpMacroAssembler::kTableMask,
-                                   &cont);
+                                   RegExpMacroAssembler::kTableMask, &cont);
     } else {
       masm->CheckCharacter(single_character, &cont);
     }
@@ -3152,10 +3020,10 @@
   }
 
   const TypedData& boolean_skip_table = TypedData::ZoneHandle(
-        compiler_->zone(),
-        TypedData::New(kTypedDataUint8ArrayCid, kSize, Heap::kOld));
-  intptr_t skip_distance = GetSkipTable(
-      min_lookahead, max_lookahead, boolean_skip_table);
+      compiler_->zone(),
+      TypedData::New(kTypedDataUint8ArrayCid, kSize, Heap::kOld));
+  intptr_t skip_distance =
+      GetSkipTable(min_lookahead, max_lookahead, boolean_skip_table);
   ASSERT(skip_distance != 0);
 
   BlockLabel cont, again;
@@ -3269,18 +3137,18 @@
 void ChoiceNode::SetUpPreLoad(RegExpCompiler* compiler,
                               Trace* current_trace,
                               PreloadState* state) {
-    if (state->eats_at_least_ == PreloadState::kEatsAtLeastNotYetInitialized) {
-      // Save some time by looking at most one machine word ahead.
-      state->eats_at_least_ =
-          EatsAtLeast(compiler->one_byte() ? 4 : 2, kRecursionBudget,
-                      current_trace->at_start() == Trace::FALSE_VALUE);
-    }
-    state->preload_characters_ =
-        CalculatePreloadCharacters(compiler, state->eats_at_least_);
+  if (state->eats_at_least_ == PreloadState::kEatsAtLeastNotYetInitialized) {
+    // Save some time by looking at most one machine word ahead.
+    state->eats_at_least_ =
+        EatsAtLeast(compiler->one_byte() ? 4 : 2, kRecursionBudget,
+                    current_trace->at_start() == Trace::FALSE_VALUE);
+  }
+  state->preload_characters_ =
+      CalculatePreloadCharacters(compiler, state->eats_at_least_);
 
-    state->preload_is_current_ =
-        (current_trace->characters_preloaded() == state->preload_characters_);
-    state->preload_has_checked_bounds_ = state->preload_is_current_;
+  state->preload_is_current_ =
+      (current_trace->characters_preloaded() == state->preload_characters_);
+  state->preload_has_checked_bounds_ = state->preload_is_current_;
 }
 
 
@@ -3311,12 +3179,8 @@
   AlternativeGenerationList alt_gens(choice_count);
 
   if (choice_count > 1 && text_length != kNodeIsTooComplexForGreedyLoops) {
-    trace = EmitGreedyLoop(compiler,
-                           trace,
-                           &alt_gens,
-                           &preload,
-                           &greedy_loop_state,
-                           text_length);
+    trace = EmitGreedyLoop(compiler, trace, &alt_gens, &preload,
+                           &greedy_loop_state, text_length);
   } else {
     // TODO(erikcorry): Delete this.  We don't need this label, but it makes us
     // match the traces produced pre-cleanup.
@@ -3325,11 +3189,7 @@
 
     preload.eats_at_least_ = EmitOptimizedUnanchoredSearch(compiler, trace);
 
-    EmitChoices(compiler,
-                &alt_gens,
-                0,
-                trace,
-                &preload);
+    EmitChoices(compiler, &alt_gens, 0, trace, &preload);
   }
 
   // At this point we need to generate slow checks for the alternatives where
@@ -3347,11 +3207,8 @@
     }
     bool next_expects_preload =
         i == choice_count - 1 ? false : alt_gens.at(i + 1)->expects_preload;
-    EmitOutOfLineContinuation(compiler,
-                              &new_trace,
-                              alternatives_->At(i),
-                              alt_gen,
-                              preload.preload_characters_,
+    EmitOutOfLineContinuation(compiler, &new_trace, alternatives_->At(i),
+                              alt_gen, preload.preload_characters_,
                               next_expects_preload);
   }
 }
@@ -3388,11 +3245,7 @@
 
   Trace* new_trace = greedy_loop_state->counter_backtrack_trace();
 
-  EmitChoices(compiler,
-              alt_gens,
-              1,
-              new_trace,
-              preload);
+  EmitChoices(compiler, alt_gens, 1, new_trace, preload);
 
   macro_assembler->BindBlock(greedy_loop_state->label());
   // If we have unwound to the bottom then backtrack.
@@ -3436,12 +3289,11 @@
   // small alternation.
   BoyerMooreLookahead* bm = bm_info(false);
   if (bm == NULL) {
-    eats_at_least = Utils::Minimum(kMaxLookaheadForBoyerMoore,
-                        EatsAtLeast(kMaxLookaheadForBoyerMoore,
-                                    kRecursionBudget,
-                                    false));
+    eats_at_least = Utils::Minimum(
+        kMaxLookaheadForBoyerMoore,
+        EatsAtLeast(kMaxLookaheadForBoyerMoore, kRecursionBudget, false));
     if (eats_at_least >= 1) {
-      bm = new(Z) BoyerMooreLookahead(eats_at_least, compiler, Z);
+      bm = new (Z) BoyerMooreLookahead(eats_at_least, compiler, Z);
       GuardedAlternative alt0 = alternatives_->At(0);
       alt0.node()->FillInBMInfo(0, kRecursionBudget, bm, false);
     }
@@ -3476,9 +3328,8 @@
     ZoneGrowableArray<Guard*>* guards = alternative.guards();
     intptr_t guard_count = (guards == NULL) ? 0 : guards->length();
     Trace new_trace(*trace);
-    new_trace.set_characters_preloaded(preload->preload_is_current_ ?
-                                         preload->preload_characters_ :
-                                         0);
+    new_trace.set_characters_preloaded(
+        preload->preload_is_current_ ? preload->preload_characters_ : 0);
     if (preload->preload_has_checked_bounds_) {
       new_trace.set_bound_checked_up_to(preload->preload_characters_);
     }
@@ -3491,13 +3342,10 @@
     bool generate_full_check_inline = false;
     if (kRegexpOptimization &&
         try_to_emit_quick_check_for_alternative(i == 0) &&
-        alternative.node()->EmitQuickCheck(compiler,
-                                           trace,
-                                           &new_trace,
-                                           preload->preload_has_checked_bounds_,
-                                           &alt_gen->possible_success,
-                                           &alt_gen->quick_check_details,
-                                           fall_through_on_failure)) {
+        alternative.node()->EmitQuickCheck(
+            compiler, trace, &new_trace, preload->preload_has_checked_bounds_,
+            &alt_gen->possible_success, &alt_gen->quick_check_details,
+            fall_through_on_failure)) {
       // Quick check was generated for this choice.
       preload->preload_is_current_ = true;
       preload->preload_has_checked_bounds_ = true;
@@ -3569,9 +3417,7 @@
     // Reload the current character, since the next quick check expects that.
     // We don't need to check bounds here because we only get into this
     // code through a quick check which already did the checked load.
-    macro_assembler->LoadCurrentCharacter(trace->cp_offset(),
-                                          NULL,
-                                          false,
+    macro_assembler->LoadCurrentCharacter(trace->cp_offset(), NULL, false,
                                           preload_characters);
     macro_assembler->GoTo(&(alt_gen->after));
   } else {
@@ -3594,35 +3440,33 @@
 
   switch (action_type_) {
     case STORE_POSITION: {
-      Trace::DeferredCapture
-          new_capture(data_.u_position_register.reg,
-                      data_.u_position_register.is_capture,
-                      trace);
+      Trace::DeferredCapture new_capture(data_.u_position_register.reg,
+                                         data_.u_position_register.is_capture,
+                                         trace);
       Trace new_trace = *trace;
       new_trace.add_action(&new_capture);
       on_success()->Emit(compiler, &new_trace);
       break;
     }
     case INCREMENT_REGISTER: {
-      Trace::DeferredIncrementRegister
-          new_increment(data_.u_increment_register.reg);
+      Trace::DeferredIncrementRegister new_increment(
+          data_.u_increment_register.reg);
       Trace new_trace = *trace;
       new_trace.add_action(&new_increment);
       on_success()->Emit(compiler, &new_trace);
       break;
     }
     case SET_REGISTER: {
-      Trace::DeferredSetRegister
-          new_set(data_.u_store_register.reg, data_.u_store_register.value);
+      Trace::DeferredSetRegister new_set(data_.u_store_register.reg,
+                                         data_.u_store_register.value);
       Trace new_trace = *trace;
       new_trace.add_action(&new_set);
       on_success()->Emit(compiler, &new_trace);
       break;
     }
     case CLEAR_CAPTURES: {
-      Trace::DeferredClearCaptures
-        new_capture(Interval(data_.u_clear_captures.range_from,
-                             data_.u_clear_captures.range_to));
+      Trace::DeferredClearCaptures new_capture(Interval(
+          data_.u_clear_captures.range_from, data_.u_clear_captures.range_to));
       Trace new_trace = *trace;
       new_trace.add_action(&new_capture);
       on_success()->Emit(compiler, &new_trace);
@@ -3722,8 +3566,7 @@
 
   ASSERT(start_reg_ + 1 == end_reg_);
   if (compiler->ignore_case()) {
-    assembler->CheckNotBackReferenceIgnoreCase(start_reg_,
-                                               trace->backtrack());
+    assembler->CheckNotBackReferenceIgnoreCase(start_reg_, trace->backtrack());
   } else {
     assembler->CheckNotBackReference(start_reg_, trace->backtrack());
   }
@@ -3738,16 +3581,15 @@
 #ifdef DEBUG
 
 
-class DotPrinter: public NodeVisitor {
+class DotPrinter : public NodeVisitor {
  public:
   explicit DotPrinter(bool ignore_case) {}
   void PrintNode(const char* label, RegExpNode* node);
   void Visit(RegExpNode* node);
   void PrintAttributes(RegExpNode* from);
   void PrintOnFailure(RegExpNode* from, RegExpNode* to);
-#define DECLARE_VISIT(Type)                                          \
-  virtual void Visit##Type(Type##Node* that);
-FOR_EACH_NODE_TYPE(DECLARE_VISIT)
+#define DECLARE_VISIT(Type) virtual void Visit##Type(Type##Node* that);
+  FOR_EACH_NODE_TYPE(DECLARE_VISIT)
 #undef DECLARE_VISIT
 };
 
@@ -3813,19 +3655,21 @@
 
 
 void DotPrinter::PrintAttributes(RegExpNode* that) {
-  OS::Print("  a%p [shape=Mrecord, color=grey, fontcolor=grey, "
-            "margin=0.1, fontsize=10, label=\"{", that);
+  OS::Print(
+      "  a%p [shape=Mrecord, color=grey, fontcolor=grey, "
+      "margin=0.1, fontsize=10, label=\"{",
+      that);
   AttributePrinter printer;
   NodeInfo* info = that->info();
   printer.PrintBit("NI", info->follows_newline_interest);
   printer.PrintBit("WI", info->follows_word_interest);
   printer.PrintBit("SI", info->follows_start_interest);
   BlockLabel* label = that->label();
-  if (label->IsBound())
-    printer.PrintPositive("@", label->Position());
-  OS::Print("}\"];\n"
-            "  a%p -> n%p [style=dashed, color=grey, arrowhead=none];\n",
-            that, that);
+  if (label->IsBound()) printer.PrintPositive("@", label->Position());
+  OS::Print(
+      "}\"];\n"
+      "  a%p -> n%p [style=dashed, color=grey, arrowhead=none];\n",
+      that, that);
 }
 
 
@@ -3985,20 +3829,20 @@
 RegExpNode* RegExpAtom::ToNode(RegExpCompiler* compiler,
                                RegExpNode* on_success) {
   ZoneGrowableArray<TextElement>* elms =
-      new(OZ) ZoneGrowableArray<TextElement>(1);
+      new (OZ) ZoneGrowableArray<TextElement>(1);
   elms->Add(TextElement::Atom(this));
-  return new(OZ) TextNode(elms, on_success);
+  return new (OZ) TextNode(elms, on_success);
 }
 
 
 RegExpNode* RegExpText::ToNode(RegExpCompiler* compiler,
                                RegExpNode* on_success) {
   ZoneGrowableArray<TextElement>* elms =
-      new(OZ) ZoneGrowableArray<TextElement>(1);
-  for (intptr_t  i = 0; i < elements()->length(); i++) {
+      new (OZ) ZoneGrowableArray<TextElement>(1);
+  for (intptr_t i = 0; i < elements()->length(); i++) {
     elms->Add(elements()->At(i));
   }
-  return new(OZ) TextNode(elms, on_success);
+  return new (OZ) TextNode(elms, on_success);
 }
 
 
@@ -4022,7 +3866,7 @@
       return false;
     }
     range = ranges->At((i >> 1) + 1);
-    if (special_class[i+1] != range.from()) {
+    if (special_class[i + 1] != range.from()) {
       return false;
     }
   }
@@ -4069,14 +3913,12 @@
     set_.set_standard_set_type('S');
     return true;
   }
-  if (CompareInverseRanges(set_.ranges(),
-                           kLineTerminatorRanges,
+  if (CompareInverseRanges(set_.ranges(), kLineTerminatorRanges,
                            kLineTerminatorRangeCount)) {
     set_.set_standard_set_type('.');
     return true;
   }
-  if (CompareRanges(set_.ranges(),
-                    kLineTerminatorRanges,
+  if (CompareRanges(set_.ranges(), kLineTerminatorRanges,
                     kLineTerminatorRangeCount)) {
     set_.set_standard_set_type('n');
     return true;
@@ -4095,7 +3937,7 @@
 
 RegExpNode* RegExpCharacterClass::ToNode(RegExpCompiler* compiler,
                                          RegExpNode* on_success) {
-  return new(OZ) TextNode(this, on_success);
+  return new (OZ) TextNode(this, on_success);
 }
 
 
@@ -4103,11 +3945,10 @@
                                       RegExpNode* on_success) {
   ZoneGrowableArray<RegExpTree*>* alternatives = this->alternatives();
   intptr_t length = alternatives->length();
-  ChoiceNode* result =
-      new(OZ) ChoiceNode(length, OZ);
+  ChoiceNode* result = new (OZ) ChoiceNode(length, OZ);
   for (intptr_t i = 0; i < length; i++) {
-    GuardedAlternative alternative(alternatives->At(i)->ToNode(compiler,
-                                                               on_success));
+    GuardedAlternative alternative(
+        alternatives->At(i)->ToNode(compiler, on_success));
     result->AddAlternative(alternative);
   }
   return result;
@@ -4116,12 +3957,7 @@
 
 RegExpNode* RegExpQuantifier::ToNode(RegExpCompiler* compiler,
                                      RegExpNode* on_success) {
-  return ToNode(min(),
-                max(),
-                is_greedy(),
-                body(),
-                compiler,
-                on_success);
+  return ToNode(min(), max(), is_greedy(), body(), compiler, on_success);
 }
 
 
@@ -4207,14 +4043,13 @@
     // Only unroll if there are no captures and the body can't be
     // empty.
     {
-      RegExpExpansionLimiter limiter(
-          compiler, min + ((max != min) ? 1 : 0));
+      RegExpExpansionLimiter limiter(compiler, min + ((max != min) ? 1 : 0));
       if (min > 0 && min <= kMaxUnrolledMinMatches && limiter.ok_to_expand()) {
         intptr_t new_max = (max == kInfinity) ? max : max - min;
         // Recurse once to get the loop or optional matches after the fixed
         // ones.
-        RegExpNode* answer = ToNode(
-            0, new_max, is_greedy, body, compiler, on_success, true);
+        RegExpNode* answer =
+            ToNode(0, new_max, is_greedy, body, compiler, on_success, true);
         // Unroll the forced matches from 0 to min.  This can cause chains of
         // TextNodes (which the parser does not generate).  These should be
         // combined if it turns out they hinder good code generation.
@@ -4231,7 +4066,7 @@
         // Unroll the optional matches up to max.
         RegExpNode* answer = on_success;
         for (intptr_t i = 0; i < max; i++) {
-          ChoiceNode* alternation = new(zone) ChoiceNode(2, zone);
+          ChoiceNode* alternation = new (zone) ChoiceNode(2, zone);
           if (is_greedy) {
             alternation->AddAlternative(
                 GuardedAlternative(body->ToNode(compiler, answer)));
@@ -4251,22 +4086,20 @@
   bool has_min = min > 0;
   bool has_max = max < RegExpTree::kInfinity;
   bool needs_counter = has_min || has_max;
-  intptr_t reg_ctr = needs_counter
-      ? compiler->AllocateRegister()
-      : RegExpCompiler::kNoRegister;
-  LoopChoiceNode* center = new(zone) LoopChoiceNode(body->min_match() == 0,
-                                                       zone);
+  intptr_t reg_ctr = needs_counter ? compiler->AllocateRegister()
+                                   : RegExpCompiler::kNoRegister;
+  LoopChoiceNode* center =
+      new (zone) LoopChoiceNode(body->min_match() == 0, zone);
   if (not_at_start) center->set_not_at_start();
-  RegExpNode* loop_return = needs_counter
-      ? static_cast<RegExpNode*>(ActionNode::IncrementRegister(reg_ctr, center))
-      : static_cast<RegExpNode*>(center);
+  RegExpNode* loop_return =
+      needs_counter ? static_cast<RegExpNode*>(
+                          ActionNode::IncrementRegister(reg_ctr, center))
+                    : static_cast<RegExpNode*>(center);
   if (body_can_be_empty) {
     // If the body can be empty we need to check if it was and then
     // backtrack.
-    loop_return = ActionNode::EmptyMatchCheck(body_start_reg,
-                                              reg_ctr,
-                                              min,
-                                              loop_return);
+    loop_return =
+        ActionNode::EmptyMatchCheck(body_start_reg, reg_ctr, min, loop_return);
   }
   RegExpNode* body_node = body->ToNode(compiler, loop_return);
   if (body_can_be_empty) {
@@ -4280,13 +4113,12 @@
   }
   GuardedAlternative body_alt(body_node);
   if (has_max) {
-    Guard* body_guard =
-        new(zone) Guard(reg_ctr, Guard::LT, max);
+    Guard* body_guard = new (zone) Guard(reg_ctr, Guard::LT, max);
     body_alt.AddGuard(body_guard, zone);
   }
   GuardedAlternative rest_alt(on_success);
   if (has_min) {
-    Guard* rest_guard = new(zone) Guard(reg_ctr, Guard::GEQ, min);
+    Guard* rest_guard = new (zone) Guard(reg_ctr, Guard::GEQ, min);
     rest_alt.AddGuard(rest_guard, zone);
   }
   if (is_greedy) {
@@ -4331,17 +4163,14 @@
       CharacterRange::AddClassEscape('n', newline_ranges);
       RegExpCharacterClass* newline_atom = new RegExpCharacterClass('n');
       TextNode* newline_matcher = new TextNode(
-         newline_atom,
-         ActionNode::PositiveSubmatchSuccess(stack_pointer_register,
-                                             position_register,
-                                             0,  // No captures inside.
-                                             -1,  // Ignored if no captures.
-                                             on_success));
+          newline_atom, ActionNode::PositiveSubmatchSuccess(
+                            stack_pointer_register, position_register,
+                            0,   // No captures inside.
+                            -1,  // Ignored if no captures.
+                            on_success));
       // Create an end-of-input matcher.
       RegExpNode* end_of_line = ActionNode::BeginSubmatch(
-          stack_pointer_register,
-          position_register,
-          newline_matcher);
+          stack_pointer_register, position_register, newline_matcher);
       // Add the two alternatives to the ChoiceNode.
       GuardedAlternative eol_alternative(end_of_line);
       result->AddAlternative(eol_alternative);
@@ -4358,10 +4187,9 @@
 
 RegExpNode* RegExpBackReference::ToNode(RegExpCompiler* compiler,
                                         RegExpNode* on_success) {
-  return new(OZ)
+  return new (OZ)
       BackReferenceNode(RegExpCapture::StartRegister(index()),
-                        RegExpCapture::EndRegister(index()),
-                        on_success);
+                        RegExpCapture::EndRegister(index()), on_success);
 }
 
 
@@ -4380,20 +4208,16 @@
   const intptr_t register_of_first_capture = 2;
   intptr_t register_count = capture_count_ * registers_per_capture;
   intptr_t register_start =
-    register_of_first_capture + capture_from_ * registers_per_capture;
+      register_of_first_capture + capture_from_ * registers_per_capture;
 
   RegExpNode* success;
   if (is_positive()) {
     RegExpNode* node = ActionNode::BeginSubmatch(
-        stack_pointer_register,
-        position_register,
-        body()->ToNode(
-            compiler,
-            ActionNode::PositiveSubmatchSuccess(stack_pointer_register,
-                                                position_register,
-                                                register_count,
-                                                register_start,
-                                                on_success)));
+        stack_pointer_register, position_register,
+        body()->ToNode(compiler,
+                       ActionNode::PositiveSubmatchSuccess(
+                           stack_pointer_register, position_register,
+                           register_count, register_start, on_success)));
     return node;
   } else {
     // We use a ChoiceNode for a negative lookahead because it has most of
@@ -4408,19 +4232,12 @@
     // checks.
 
     GuardedAlternative body_alt(
-        body()->ToNode(
-            compiler,
-            success = new(OZ) NegativeSubmatchSuccess(stack_pointer_register,
-                                                      position_register,
-                                                      register_count,
-                                                      register_start,
-                                                      OZ)));
-    ChoiceNode* choice_node =
-        new(OZ) NegativeLookaheadChoiceNode(body_alt,
-                                            GuardedAlternative(on_success),
-                                            OZ);
-    return ActionNode::BeginSubmatch(stack_pointer_register,
-                                     position_register,
+        body()->ToNode(compiler, success = new (OZ) NegativeSubmatchSuccess(
+                                     stack_pointer_register, position_register,
+                                     register_count, register_start, OZ)));
+    ChoiceNode* choice_node = new (OZ) NegativeLookaheadChoiceNode(
+        body_alt, GuardedAlternative(on_success), OZ);
+    return ActionNode::BeginSubmatch(stack_pointer_register, position_register,
                                      choice_node);
   }
 }
@@ -4467,13 +4284,13 @@
 }
 
 
-static void AddClassNegated(const intptr_t *elmv,
+static void AddClassNegated(const intptr_t* elmv,
                             intptr_t elmc,
                             ZoneGrowableArray<CharacterRange>* ranges) {
   elmc--;
   ASSERT(elmv[elmc] == 0x10000);
   ASSERT(elmv[0] != 0x0000);
-  ASSERT(elmv[elmc-1] != Utf16::kMaxCodeUnit);
+  ASSERT(elmv[elmc - 1] != Utf16::kMaxCodeUnit);
   uint16_t last = 0x0000;
   for (intptr_t i = 0; i < elmc; i += 2) {
     ASSERT(last <= elmv[i] - 1);
@@ -4507,9 +4324,7 @@
       AddClassNegated(kDigitRanges, kDigitRangeCount, ranges);
       break;
     case '.':
-      AddClassNegated(kLineTerminatorRanges,
-                      kLineTerminatorRangeCount,
-                      ranges);
+      AddClassNegated(kLineTerminatorRanges, kLineTerminatorRangeCount, ranges);
       break;
     // This is not a character range as defined by the spec but a
     // convenient shorthand for a character class that matches any
@@ -4520,9 +4335,7 @@
     // This is the set of characters matched by the $ and ^ symbols
     // in multiline mode.
     case 'n':
-      AddClass(kLineTerminatorRanges,
-               kLineTerminatorRangeCount,
-               ranges);
+      AddClass(kLineTerminatorRanges, kLineTerminatorRangeCount, ranges);
       break;
     default:
       UNREACHABLE();
@@ -4531,9 +4344,9 @@
 
 
 void CharacterRange::AddCaseEquivalents(
-                        ZoneGrowableArray<CharacterRange>* ranges,
-                        bool is_one_byte,
-                        Zone* zone) {
+    ZoneGrowableArray<CharacterRange>* ranges,
+    bool is_one_byte,
+    Zone* zone) {
   uint16_t bottom = from();
   uint16_t top = to();
   if (is_one_byte && !RangeContainsLatin1Equivalents(*this)) {
@@ -4548,7 +4361,8 @@
   int32_t chars[unibrow::Ecma262UnCanonicalize::kMaxWidth];
   if (top == bottom) {
     // If this is a singleton we just expand the one character.
-    intptr_t length = jsregexp_uncanonicalize.get(bottom, '\0', chars); // NOLINT
+    intptr_t length =
+        jsregexp_uncanonicalize.get(bottom, '\0', chars);  // NOLINT
     for (intptr_t i = 0; i < length; i++) {
       uint32_t chr = chars[i];
       if (chr != bottom) {
@@ -4586,7 +4400,7 @@
         block_end = range[0];
       }
       intptr_t end = (block_end > top) ? top : block_end;
-      length = jsregexp_uncanonicalize.get(block_end, '\0', range); // NOLINT
+      length = jsregexp_uncanonicalize.get(block_end, '\0', range);  // NOLINT
       for (intptr_t i = 0; i < length; i++) {
         uint32_t c = range[i];
         uint16_t range_from = c - (block_end - pos);
@@ -4644,9 +4458,9 @@
 
 
 static intptr_t InsertRangeInCanonicalList(
-                    ZoneGrowableArray<CharacterRange>* list,
-                    intptr_t count,
-                    CharacterRange insert) {
+    ZoneGrowableArray<CharacterRange>* list,
+    intptr_t count,
+    CharacterRange insert) {
   // Inserts a range into list[0..count[, which must be sorted
   // by from value and non-overlapping and non-adjacent, using at most
   // list[0..count] for the result. Returns the number of resulting
@@ -4734,11 +4548,10 @@
   // list, in order).
   // Notice that inserting a range can reduce the number of ranges in the
   // result due to combining of adjacent and overlapping ranges.
-  intptr_t read = i;  // Range to insert.
+  intptr_t read = i;           // Range to insert.
   intptr_t num_canonical = i;  // Length of canonicalized part of list.
   do {
-    num_canonical = InsertRangeInCanonicalList(character_ranges,
-                                               num_canonical,
+    num_canonical = InsertRangeInCanonicalList(character_ranges, num_canonical,
                                                character_ranges->At(read));
     read++;
   } while (read < n);
@@ -4776,8 +4589,7 @@
 
 
 // Workaround for the fact that ZoneGrowableArray does not have contains().
-static bool ArrayContains(ZoneGrowableArray<unsigned>* array,
-                          unsigned value) {
+static bool ArrayContains(ZoneGrowableArray<unsigned>* array, unsigned value) {
   for (intptr_t i = 0; i < array->length(); i++) {
     if (array->At(i) == value) {
       return true;
@@ -4792,7 +4604,7 @@
     first_ |= (1 << value);
   } else {
     if (remaining_ == NULL)
-      remaining_ = new(zone) ZoneGrowableArray<unsigned>(1);
+      remaining_ = new (zone) ZoneGrowableArray<unsigned>(1);
 
     bool remaining_contains_value = ArrayContains(remaining_, value);
     if (remaining_->is_empty() || !remaining_contains_value) {
@@ -4818,8 +4630,7 @@
 
 
 void Analysis::EnsureAnalyzed(RegExpNode* that) {
-  if (that->info()->been_analyzed || that->info()->being_analyzed)
-    return;
+  if (that->info()->been_analyzed || that->info()->being_analyzed) return;
   that->info()->being_analyzed = true;
   that->Accept(this);
   that->info()->being_analyzed = false;
@@ -4967,8 +4778,7 @@
         if (bm->compiler()->ignore_case()) {
           int32_t chars[unibrow::Ecma262UnCanonicalize::kMaxWidth];
           intptr_t length = GetCaseIndependentLetters(
-              character,
-              bm->max_char() == Symbols::kMaxOneCharCodeSymbol,
+              character, bm->max_char() == Symbols::kMaxOneCharCodeSymbol,
               chars);
           for (intptr_t j = 0; j < length; j++) {
             bm->Set(offset, chars[j]);
@@ -4987,8 +4797,8 @@
         for (intptr_t k = 0; k < ranges->length(); k++) {
           CharacterRange& range = (*ranges)[k];
           if (range.from() > max_char) continue;
-          intptr_t to = Utils::Minimum(max_char,
-                                       static_cast<intptr_t>(range.to()));
+          intptr_t to =
+              Utils::Minimum(max_char, static_cast<intptr_t>(range.to()));
           bm->SetInterval(offset, Interval(range.from(), to));
         }
       }
@@ -4999,9 +4809,7 @@
     if (initial_offset == 0) set_bm_info(not_at_start, bm);
     return;
   }
-  on_success()->FillInBMInfo(offset,
-                             budget - 1,
-                             bm,
+  on_success()->FillInBMInfo(offset, budget - 1, bm,
                              true);  // Not at start after a text node.
   if (initial_offset == 0) set_bm_info(not_at_start, bm);
 }
@@ -5039,10 +4847,8 @@
   // I'm not sure the performance gains are relevant enough.
 
   // Wrap the body of the regexp in capture #0.
-  RegExpNode* captured_body = RegExpCapture::ToNode(data->tree,
-                                                    0,
-                                                    &compiler,
-                                                    compiler.accept());
+  RegExpNode* captured_body =
+      RegExpCapture::ToNode(data->tree, 0, &compiler, compiler.accept());
 
   RegExpNode* node = captured_body;
   bool is_end_anchored = data->tree->IsAnchoredAtEnd();
@@ -5051,23 +4857,17 @@
   if (!is_start_anchored) {
     // Add a .*? at the beginning, outside the body capture, unless
     // this expression is anchored at the beginning.
-    RegExpNode* loop_node =
-        RegExpQuantifier::ToNode(0,
-                                 RegExpTree::kInfinity,
-                                 false,
-                                 new(zone) RegExpCharacterClass('*'),
-                                 &compiler,
-                                 captured_body,
-                                 data->contains_anchor);
+    RegExpNode* loop_node = RegExpQuantifier::ToNode(
+        0, RegExpTree::kInfinity, false, new (zone) RegExpCharacterClass('*'),
+        &compiler, captured_body, data->contains_anchor);
 
     if (data->contains_anchor) {
       // Unroll loop once, to take care of the case that might start
       // at the start of input.
-      ChoiceNode* first_step_node = new(zone) ChoiceNode(2, zone);
+      ChoiceNode* first_step_node = new (zone) ChoiceNode(2, zone);
       first_step_node->AddAlternative(GuardedAlternative(captured_body));
-      first_step_node->AddAlternative(GuardedAlternative(
-          new(zone) TextNode(
-              new(zone) RegExpCharacterClass('*'), loop_node)));
+      first_step_node->AddAlternative(GuardedAlternative(new (zone) TextNode(
+          new (zone) RegExpCharacterClass('*'), loop_node)));
       node = first_step_node;
     } else {
       node = loop_node;
@@ -5082,7 +4882,7 @@
     }
   }
 
-  if (node == NULL) node = new(zone) EndNode(EndNode::BACKTRACK, zone);
+  if (node == NULL) node = new (zone) EndNode(EndNode::BACKTRACK, zone);
   data->node = node;
   Analysis analysis(ignore_case, is_one_byte);
   analysis.EnsureAnalyzed(node);
@@ -5094,17 +4894,13 @@
   // Native regexp implementation.
 
   IRRegExpMacroAssembler* macro_assembler =
-      new(zone) IRRegExpMacroAssembler(specialization_cid,
-                                       data->capture_count,
-                                       parsed_function,
-                                       ic_data_array,
-                                       zone);
+      new (zone) IRRegExpMacroAssembler(specialization_cid, data->capture_count,
+                                        parsed_function, ic_data_array, zone);
 
   // Inserted here, instead of in Assembler, because it depends on information
   // in the AST that isn't replicated in the Node structure.
   static const intptr_t kMaxBacksearchLimit = 1024;
-  if (is_end_anchored &&
-      !is_start_anchored &&
+  if (is_end_anchored && !is_start_anchored &&
       max_length < kMaxBacksearchLimit) {
     macro_assembler->SetCurrentPositionFromEnd(max_length);
   }
@@ -5117,10 +4913,7 @@
   }
 
   RegExpEngine::CompilationResult result =
-      compiler.Assemble(macro_assembler,
-                        node,
-                        data->capture_count,
-                        pattern);
+      compiler.Assemble(macro_assembler, node, data->capture_count, pattern);
 
   if (FLAG_trace_irregexp) {
     macro_assembler->PrintBlocks();
@@ -5156,10 +4949,8 @@
   // I'm not sure the performance gains are relevant enough.
 
   // Wrap the body of the regexp in capture #0.
-  RegExpNode* captured_body = RegExpCapture::ToNode(data->tree,
-                                                    0,
-                                                    &compiler,
-                                                    compiler.accept());
+  RegExpNode* captured_body =
+      RegExpCapture::ToNode(data->tree, 0, &compiler, compiler.accept());
 
   RegExpNode* node = captured_body;
   bool is_end_anchored = data->tree->IsAnchoredAtEnd();
@@ -5168,23 +4959,17 @@
   if (!is_start_anchored) {
     // Add a .*? at the beginning, outside the body capture, unless
     // this expression is anchored at the beginning.
-    RegExpNode* loop_node =
-        RegExpQuantifier::ToNode(0,
-                                 RegExpTree::kInfinity,
-                                 false,
-                                 new(zone) RegExpCharacterClass('*'),
-                                 &compiler,
-                                 captured_body,
-                                 data->contains_anchor);
+    RegExpNode* loop_node = RegExpQuantifier::ToNode(
+        0, RegExpTree::kInfinity, false, new (zone) RegExpCharacterClass('*'),
+        &compiler, captured_body, data->contains_anchor);
 
     if (data->contains_anchor) {
       // Unroll loop once, to take care of the case that might start
       // at the start of input.
-      ChoiceNode* first_step_node = new(zone) ChoiceNode(2, zone);
+      ChoiceNode* first_step_node = new (zone) ChoiceNode(2, zone);
       first_step_node->AddAlternative(GuardedAlternative(captured_body));
-      first_step_node->AddAlternative(GuardedAlternative(
-          new(zone) TextNode(
-              new(zone) RegExpCharacterClass('*'), loop_node)));
+      first_step_node->AddAlternative(GuardedAlternative(new (zone) TextNode(
+          new (zone) RegExpCharacterClass('*'), loop_node)));
       node = first_step_node;
     } else {
       node = loop_node;
@@ -5199,7 +4984,7 @@
     }
   }
 
-  if (node == NULL) node = new(zone) EndNode(EndNode::BACKTRACK, zone);
+  if (node == NULL) node = new (zone) EndNode(EndNode::BACKTRACK, zone);
   data->node = node;
   Analysis analysis(ignore_case, is_one_byte);
   analysis.EnsureAnalyzed(node);
@@ -5212,13 +4997,12 @@
 
   ZoneGrowableArray<uint8_t> buffer(zone, 1024);
   BytecodeRegExpMacroAssembler* macro_assembler =
-      new(zone) BytecodeRegExpMacroAssembler(&buffer, zone);
+      new (zone) BytecodeRegExpMacroAssembler(&buffer, zone);
 
   // Inserted here, instead of in Assembler, because it depends on information
   // in the AST that isn't replicated in the Node structure.
   static const intptr_t kMaxBacksearchLimit = 1024;
-  if (is_end_anchored &&
-      !is_start_anchored &&
+  if (is_end_anchored && !is_start_anchored &&
       max_length < kMaxBacksearchLimit) {
     macro_assembler->SetCurrentPositionFromEnd(max_length);
   }
@@ -5231,10 +5015,7 @@
   }
 
   RegExpEngine::CompilationResult result =
-      compiler.Assemble(macro_assembler,
-                        node,
-                        data->capture_count,
-                        pattern);
+      compiler.Assemble(macro_assembler, node, data->capture_count, pattern);
 
   if (FLAG_trace_irregexp) {
     macro_assembler->PrintBlocks();
@@ -5244,29 +5025,29 @@
 }
 
 
-static void CreateSpecializedFunction(Thread* thread, Zone* zone,
+static void CreateSpecializedFunction(Thread* thread,
+                                      Zone* zone,
                                       const RegExp& regexp,
                                       intptr_t specialization_cid,
                                       const Object& owner) {
   const intptr_t kParamCount = RegExpMacroAssembler::kParamCount;
 
-  Function& fn = Function::Handle(zone, Function::New(
-      Symbols::ColonMatcher(),
-      RawFunction::kIrregexpFunction,
-      true,  // Static.
-      false,  // Not const.
-      false,  // Not abstract.
-      false,  // Not external.
-      false,  // Not native.
-      owner,
-      TokenPosition::kMinSource));
+  Function& fn =
+      Function::Handle(zone, Function::New(Symbols::ColonMatcher(),
+                                           RawFunction::kIrregexpFunction,
+                                           true,   // Static.
+                                           false,  // Not const.
+                                           false,  // Not abstract.
+                                           false,  // Not external.
+                                           false,  // Not native.
+                                           owner, TokenPosition::kMinSource));
 
   // TODO(zerny): Share these arrays between all irregexp functions.
   fn.set_num_fixed_parameters(kParamCount);
-  fn.set_parameter_types(Array::Handle(zone, Array::New(kParamCount,
-                                                        Heap::kOld)));
-  fn.set_parameter_names(Array::Handle(zone, Array::New(kParamCount,
-                                                        Heap::kOld)));
+  fn.set_parameter_types(
+      Array::Handle(zone, Array::New(kParamCount, Heap::kOld)));
+  fn.set_parameter_names(
+      Array::Handle(zone, Array::New(kParamCount, Heap::kOld)));
   fn.SetParameterTypeAt(RegExpMacroAssembler::kParamRegExpIndex,
                         Object::dynamic_type());
   fn.SetParameterNameAt(RegExpMacroAssembler::kParamRegExpIndex,
@@ -5310,19 +5091,19 @@
   // TODO(zerny): We might want to use normal string searching algorithms
   // for simple patterns.
   regexp.set_is_complex();
-  regexp.set_is_global();   // All dart regexps are global.
+  regexp.set_is_global();  // All dart regexps are global.
 
   if (!FLAG_interpret_irregexp) {
     const Library& lib = Library::Handle(zone, Library::CoreLibrary());
-    const Class& owner = Class::Handle(zone,
-                                       lib.LookupClass(Symbols::RegExp()));
+    const Class& owner =
+        Class::Handle(zone, lib.LookupClass(Symbols::RegExp()));
 
     CreateSpecializedFunction(thread, zone, regexp, kOneByteStringCid, owner);
     CreateSpecializedFunction(thread, zone, regexp, kTwoByteStringCid, owner);
-    CreateSpecializedFunction(thread, zone,
-                              regexp, kExternalOneByteStringCid, owner);
-    CreateSpecializedFunction(thread, zone,
-                              regexp, kExternalTwoByteStringCid, owner);
+    CreateSpecializedFunction(thread, zone, regexp, kExternalOneByteStringCid,
+                              owner);
+    CreateSpecializedFunction(thread, zone, regexp, kExternalTwoByteStringCid,
+                              owner);
   }
 
   return regexp.raw();
diff --git a/runtime/vm/regexp.h b/runtime/vm/regexp.h
index bf457be..e026073 100644
--- a/runtime/vm/regexp.h
+++ b/runtime/vm/regexp.h
@@ -25,8 +25,8 @@
 // inclusive.
 class CharacterRange {
  public:
-  CharacterRange() : from_(0), to_(0) { }
-  CharacterRange(uint16_t from, uint16_t to) : from_(from), to_(to) { }
+  CharacterRange() : from_(0), to_(0) {}
+  CharacterRange(uint16_t from, uint16_t to) : from_(from), to_(to) {}
 
   static void AddClassEscape(uint16_t type,
                              ZoneGrowableArray<CharacterRange>* ranges);
@@ -81,9 +81,9 @@
 
 // A set of unsigned integers that behaves especially well on small
 // integers (< 32).  May do zone-allocation.
-class OutSet: public ZoneAllocated {
+class OutSet : public ZoneAllocated {
  public:
-  OutSet() : first_(0), remaining_(NULL), successors_(NULL) { }
+  OutSet() : first_(0), remaining_(NULL), successors_(NULL) {}
   OutSet* Extend(unsigned value, Zone* zone);
   bool Get(unsigned value) const;
   static const unsigned kFirstLimit = 32;
@@ -100,7 +100,7 @@
   ZoneGrowableArray<OutSet*>* successors() { return successors_; }
 
   OutSet(uint32_t first, ZoneGrowableArray<unsigned>* remaining)
-      : first_(first), remaining_(remaining), successors_(NULL) { }
+      : first_(first), remaining_(remaining), successors_(NULL) {}
   uint32_t first_;
   ZoneGrowableArray<unsigned>* remaining_;
   ZoneGrowableArray<OutSet*>* successors_;
@@ -108,26 +108,26 @@
 };
 
 
-#define FOR_EACH_NODE_TYPE(VISIT)                                    \
-  VISIT(End)                                                         \
-  VISIT(Action)                                                      \
-  VISIT(Choice)                                                      \
-  VISIT(BackReference)                                               \
-  VISIT(Assertion)                                                   \
+#define FOR_EACH_NODE_TYPE(VISIT)                                              \
+  VISIT(End)                                                                   \
+  VISIT(Action)                                                                \
+  VISIT(Choice)                                                                \
+  VISIT(BackReference)                                                         \
+  VISIT(Assertion)                                                             \
   VISIT(Text)
 
 
-#define FOR_EACH_REG_EXP_TREE_TYPE(VISIT)                            \
-  VISIT(Disjunction)                                                 \
-  VISIT(Alternative)                                                 \
-  VISIT(Assertion)                                                   \
-  VISIT(CharacterClass)                                              \
-  VISIT(Atom)                                                        \
-  VISIT(Quantifier)                                                  \
-  VISIT(Capture)                                                     \
-  VISIT(Lookahead)                                                   \
-  VISIT(BackReference)                                               \
-  VISIT(Empty)                                                       \
+#define FOR_EACH_REG_EXP_TREE_TYPE(VISIT)                                      \
+  VISIT(Disjunction)                                                           \
+  VISIT(Alternative)                                                           \
+  VISIT(Assertion)                                                             \
+  VISIT(CharacterClass)                                                        \
+  VISIT(Atom)                                                                  \
+  VISIT(Quantifier)                                                            \
+  VISIT(Capture)                                                               \
+  VISIT(Lookahead)                                                             \
+  VISIT(BackReference)                                                         \
+  VISIT(Empty)                                                                 \
   VISIT(Text)
 
 
@@ -138,10 +138,7 @@
 
 class TextElement {
  public:
-  enum TextType {
-    ATOM,
-    CHAR_CLASS
-  };
+  enum TextType { ATOM, CHAR_CLASS };
 
   static TextElement Atom(RegExpAtom* atom);
   static TextElement CharClass(RegExpCharacterClass* char_class);
@@ -190,7 +187,7 @@
         follows_start_interest(false),
         at_end(false),
         visited(false),
-        replacement_calculated(false) { }
+        replacement_calculated(false) {}
 
   // Returns true if the interests and assumptions of this node
   // matches the given one.
@@ -211,8 +208,7 @@
   }
 
   bool HasLookbehind() {
-    return follows_word_interest ||
-           follows_newline_interest ||
+    return follows_word_interest || follows_newline_interest ||
            follows_start_interest;
   }
 
@@ -229,18 +225,18 @@
     been_analyzed = false;
   }
 
-  bool being_analyzed: 1;
-  bool been_analyzed: 1;
+  bool being_analyzed : 1;
+  bool been_analyzed : 1;
 
   // These bits are set of this node has to know what the preceding
   // character was.
-  bool follows_word_interest: 1;
-  bool follows_newline_interest: 1;
-  bool follows_start_interest: 1;
+  bool follows_word_interest : 1;
+  bool follows_newline_interest : 1;
+  bool follows_start_interest : 1;
 
-  bool at_end: 1;
-  bool visited: 1;
-  bool replacement_calculated: 1;
+  bool at_end : 1;
+  bool visited : 1;
+  bool replacement_calculated : 1;
 };
 
 
@@ -249,15 +245,9 @@
 class QuickCheckDetails {
  public:
   QuickCheckDetails()
-      : characters_(0),
-        mask_(0),
-        value_(0),
-        cannot_match_(false) { }
+      : characters_(0), mask_(0), value_(0), cannot_match_(false) {}
   explicit QuickCheckDetails(intptr_t characters)
-      : characters_(characters),
-        mask_(0),
-        value_(0),
-        cannot_match_(false) { }
+      : characters_(characters), mask_(0), value_(0), cannot_match_(false) {}
   bool Rationalize(bool one_byte);
   // Merge in the information from another branch of an alternation.
   void Merge(QuickCheckDetails* other, intptr_t from_index);
@@ -267,7 +257,7 @@
   bool cannot_match() { return cannot_match_; }
   void set_cannot_match() { cannot_match_ = true; }
   struct Position {
-    Position() : mask(0), value(0), determines_perfectly(false) { }
+    Position() : mask(0), value(0), determines_perfectly(false) {}
     uint16_t mask;
     uint16_t value;
     bool determines_perfectly;
@@ -298,10 +288,10 @@
 };
 
 
-class RegExpNode: public ZoneAllocated {
+class RegExpNode : public ZoneAllocated {
  public:
   explicit RegExpNode(Zone* zone)
-  : replacement_(NULL), trace_count_(0), zone_(zone) {
+      : replacement_(NULL), trace_count_(0), zone_(zone) {
     bm_info_[0] = bm_info_[1] = NULL;
   }
   virtual ~RegExpNode();
@@ -315,7 +305,8 @@
   // used to indicate that we know we are not at the start of the input.  In
   // this case anchored branches will always fail and can be ignored when
   // determining how many characters are consumed on success.
-  virtual intptr_t EatsAtLeast(intptr_t still_to_find, intptr_t budget,
+  virtual intptr_t EatsAtLeast(intptr_t still_to_find,
+                               intptr_t budget,
                                bool not_at_start) = 0;
   // Emits some quick code that checks whether the preloaded characters match.
   // Falls through on certain failure, jumps to the label on possible success.
@@ -372,7 +363,7 @@
   }
   RegExpNode* set_replacement(RegExpNode* replacement) {
     info()->replacement_calculated = true;
-    replacement_ =  replacement;
+    replacement_ = replacement;
     return replacement;  // For convenience.
   }
 
@@ -428,8 +419,8 @@
 // A simple closed interval.
 class Interval {
  public:
-  Interval() : from_(kNone), to_(kNone) { }
-  Interval(intptr_t from, intptr_t to) : from_(from), to_(to) { }
+  Interval() : from_(kNone), to_(kNone) {}
+  Interval(intptr_t from, intptr_t to) : from_(from), to_(to) {}
 
   Interval Union(Interval that) {
     if (that.from_ == kNone)
@@ -457,10 +448,10 @@
 };
 
 
-class SeqRegExpNode: public RegExpNode {
+class SeqRegExpNode : public RegExpNode {
  public:
   explicit SeqRegExpNode(RegExpNode* on_success)
-      : RegExpNode(on_success->zone()), on_success_(on_success) { }
+      : RegExpNode(on_success->zone()), on_success_(on_success) {}
   RegExpNode* on_success() { return on_success_; }
   void set_on_success(RegExpNode* node) { on_success_ = node; }
   virtual RegExpNode* FilterOneByte(intptr_t depth, bool ignore_case);
@@ -480,7 +471,7 @@
 };
 
 
-class ActionNode: public SeqRegExpNode {
+class ActionNode : public SeqRegExpNode {
  public:
   enum ActionType {
     SET_REGISTER,
@@ -491,7 +482,8 @@
     EMPTY_MATCH_CHECK,
     CLEAR_CAPTURES
   };
-  static ActionNode* SetRegister(intptr_t reg, intptr_t val,
+  static ActionNode* SetRegister(intptr_t reg,
+                                 intptr_t val,
                                  RegExpNode* on_success);
   static ActionNode* IncrementRegister(intptr_t reg, RegExpNode* on_success);
   static ActionNode* StorePosition(intptr_t reg,
@@ -512,14 +504,15 @@
                                      RegExpNode* on_success);
   virtual void Accept(NodeVisitor* visitor);
   virtual void Emit(RegExpCompiler* compiler, Trace* trace);
-  virtual intptr_t EatsAtLeast(intptr_t still_to_find, intptr_t budget,
+  virtual intptr_t EatsAtLeast(intptr_t still_to_find,
+                               intptr_t budget,
                                bool not_at_start);
   virtual void GetQuickCheckDetails(QuickCheckDetails* details,
                                     RegExpCompiler* compiler,
                                     intptr_t filled_in,
                                     bool not_at_start) {
-    return on_success()->GetQuickCheckDetails(
-        details, compiler, filled_in, not_at_start);
+    return on_success()->GetQuickCheckDetails(details, compiler, filled_in,
+                                              not_at_start);
   }
   virtual void FillInBMInfo(intptr_t offset,
                             intptr_t budget,
@@ -561,28 +554,25 @@
     } u_clear_captures;
   } data_;
   ActionNode(ActionType action_type, RegExpNode* on_success)
-      : SeqRegExpNode(on_success),
-        action_type_(action_type) { }
+      : SeqRegExpNode(on_success), action_type_(action_type) {}
   ActionType action_type_;
   friend class DotPrinter;
 };
 
 
-class TextNode: public SeqRegExpNode {
+class TextNode : public SeqRegExpNode {
  public:
-  TextNode(ZoneGrowableArray<TextElement>* elms,
-           RegExpNode* on_success)
+  TextNode(ZoneGrowableArray<TextElement>* elms, RegExpNode* on_success)
+      : SeqRegExpNode(on_success), elms_(elms) {}
+  TextNode(RegExpCharacterClass* that, RegExpNode* on_success)
       : SeqRegExpNode(on_success),
-        elms_(elms) { }
-  TextNode(RegExpCharacterClass* that,
-           RegExpNode* on_success)
-      : SeqRegExpNode(on_success),
-        elms_(new(zone()) ZoneGrowableArray<TextElement>(1)) {
+        elms_(new (zone()) ZoneGrowableArray<TextElement>(1)) {
     elms_->Add(TextElement::CharClass(that));
   }
   virtual void Accept(NodeVisitor* visitor);
   virtual void Emit(RegExpCompiler* compiler, Trace* trace);
-  virtual intptr_t EatsAtLeast(intptr_t still_to_find, intptr_t budget,
+  virtual intptr_t EatsAtLeast(intptr_t still_to_find,
+                               intptr_t budget,
                                bool not_at_start);
   virtual void GetQuickCheckDetails(QuickCheckDetails* details,
                                     RegExpCompiler* compiler,
@@ -622,7 +612,7 @@
 };
 
 
-class AssertionNode: public SeqRegExpNode {
+class AssertionNode : public SeqRegExpNode {
  public:
   enum AssertionType {
     AT_END,
@@ -632,24 +622,24 @@
     AFTER_NEWLINE
   };
   static AssertionNode* AtEnd(RegExpNode* on_success) {
-    return new(on_success->zone()) AssertionNode(AT_END, on_success);
+    return new (on_success->zone()) AssertionNode(AT_END, on_success);
   }
   static AssertionNode* AtStart(RegExpNode* on_success) {
-    return new(on_success->zone()) AssertionNode(AT_START, on_success);
+    return new (on_success->zone()) AssertionNode(AT_START, on_success);
   }
   static AssertionNode* AtBoundary(RegExpNode* on_success) {
-    return new(on_success->zone()) AssertionNode(AT_BOUNDARY, on_success);
+    return new (on_success->zone()) AssertionNode(AT_BOUNDARY, on_success);
   }
   static AssertionNode* AtNonBoundary(RegExpNode* on_success) {
-    return new(on_success->zone()) AssertionNode(AT_NON_BOUNDARY,
-                                                    on_success);
+    return new (on_success->zone()) AssertionNode(AT_NON_BOUNDARY, on_success);
   }
   static AssertionNode* AfterNewline(RegExpNode* on_success) {
-    return new(on_success->zone()) AssertionNode(AFTER_NEWLINE, on_success);
+    return new (on_success->zone()) AssertionNode(AFTER_NEWLINE, on_success);
   }
   virtual void Accept(NodeVisitor* visitor);
   virtual void Emit(RegExpCompiler* compiler, Trace* trace);
-  virtual intptr_t EatsAtLeast(intptr_t still_to_find, intptr_t budget,
+  virtual intptr_t EatsAtLeast(intptr_t still_to_find,
+                               intptr_t budget,
                                bool not_at_start);
   virtual void GetQuickCheckDetails(QuickCheckDetails* details,
                                     RegExpCompiler* compiler,
@@ -668,19 +658,17 @@
                            Trace* trace,
                            IfPrevious backtrack_if_previous);
   AssertionNode(AssertionType t, RegExpNode* on_success)
-      : SeqRegExpNode(on_success), assertion_type_(t) { }
+      : SeqRegExpNode(on_success), assertion_type_(t) {}
   AssertionType assertion_type_;
 };
 
 
-class BackReferenceNode: public SeqRegExpNode {
+class BackReferenceNode : public SeqRegExpNode {
  public:
   BackReferenceNode(intptr_t start_reg,
                     intptr_t end_reg,
                     RegExpNode* on_success)
-      : SeqRegExpNode(on_success),
-        start_reg_(start_reg),
-        end_reg_(end_reg) { }
+      : SeqRegExpNode(on_success), start_reg_(start_reg), end_reg_(end_reg) {}
   virtual void Accept(NodeVisitor* visitor);
   intptr_t start_register() { return start_reg_; }
   intptr_t end_register() { return end_reg_; }
@@ -705,16 +693,18 @@
 };
 
 
-class EndNode: public RegExpNode {
+class EndNode : public RegExpNode {
  public:
   enum Action { ACCEPT, BACKTRACK, NEGATIVE_SUBMATCH_SUCCESS };
   explicit EndNode(Action action, Zone* zone)
-      : RegExpNode(zone), action_(action) { }
+      : RegExpNode(zone), action_(action) {}
   virtual void Accept(NodeVisitor* visitor);
   virtual void Emit(RegExpCompiler* compiler, Trace* trace);
   virtual intptr_t EatsAtLeast(intptr_t still_to_find,
-                          intptr_t recursion_depth,
-                          bool not_at_start) { return 0; }
+                               intptr_t recursion_depth,
+                               bool not_at_start) {
+    return 0;
+  }
   virtual void GetQuickCheckDetails(QuickCheckDetails* details,
                                     RegExpCompiler* compiler,
                                     intptr_t characters_filled_in,
@@ -735,7 +725,7 @@
 };
 
 
-class NegativeSubmatchSuccess: public EndNode {
+class NegativeSubmatchSuccess : public EndNode {
  public:
   NegativeSubmatchSuccess(intptr_t stack_pointer_reg,
                           intptr_t position_reg,
@@ -746,7 +736,7 @@
         stack_pointer_register_(stack_pointer_reg),
         current_position_register_(position_reg),
         clear_capture_count_(clear_capture_count),
-        clear_capture_start_(clear_capture_start) { }
+        clear_capture_start_(clear_capture_start) {}
   virtual void Emit(RegExpCompiler* compiler, Trace* trace);
 
  private:
@@ -757,13 +747,11 @@
 };
 
 
-class Guard: public ZoneAllocated {
+class Guard : public ZoneAllocated {
  public:
   enum Relation { LT, GEQ };
   Guard(intptr_t reg, Relation op, intptr_t value)
-      : reg_(reg),
-        op_(op),
-        value_(value) { }
+      : reg_(reg), op_(op), value_(value) {}
   intptr_t reg() { return reg_; }
   Relation op() { return op_; }
   intptr_t value() { return value_; }
@@ -777,7 +765,7 @@
 
 class GuardedAlternative {
  public:
-  explicit GuardedAlternative(RegExpNode* node) : node_(node), guards_(NULL) { }
+  explicit GuardedAlternative(RegExpNode* node) : node_(node), guards_(NULL) {}
   void AddGuard(Guard* guard, Zone* zone);
   RegExpNode* node() { return node_; }
   void set_node(RegExpNode* node) { node_ = node; }
@@ -794,23 +782,22 @@
 struct AlternativeGeneration;
 
 
-class ChoiceNode: public RegExpNode {
+class ChoiceNode : public RegExpNode {
  public:
   explicit ChoiceNode(intptr_t expected_size, Zone* zone)
       : RegExpNode(zone),
-        alternatives_(new(zone)
-                      ZoneGrowableArray<GuardedAlternative>(expected_size)),
+        alternatives_(new (zone)
+                          ZoneGrowableArray<GuardedAlternative>(expected_size)),
         not_at_start_(false),
-        being_calculated_(false) { }
+        being_calculated_(false) {}
   virtual void Accept(NodeVisitor* visitor);
-  void AddAlternative(GuardedAlternative node) {
-    alternatives()->Add(node);
-  }
+  void AddAlternative(GuardedAlternative node) { alternatives()->Add(node); }
   ZoneGrowableArray<GuardedAlternative>* alternatives() {
     return alternatives_;
   }
   virtual void Emit(RegExpCompiler* compiler, Trace* trace);
-  virtual intptr_t EatsAtLeast(intptr_t still_to_find, intptr_t budget,
+  virtual intptr_t EatsAtLeast(intptr_t still_to_find,
+                               intptr_t budget,
                                bool not_at_start);
   intptr_t EatsAtLeastHelper(intptr_t still_to_find,
                              intptr_t budget,
@@ -875,7 +862,7 @@
 };
 
 
-class NegativeLookaheadChoiceNode: public ChoiceNode {
+class NegativeLookaheadChoiceNode : public ChoiceNode {
  public:
   explicit NegativeLookaheadChoiceNode(GuardedAlternative this_must_fail,
                                        GuardedAlternative then_do_this,
@@ -884,7 +871,8 @@
     AddAlternative(this_must_fail);
     AddAlternative(then_do_this);
   }
-  virtual intptr_t EatsAtLeast(intptr_t still_to_find, intptr_t budget,
+  virtual intptr_t EatsAtLeast(intptr_t still_to_find,
+                               intptr_t budget,
                                bool not_at_start);
   virtual void GetQuickCheckDetails(QuickCheckDetails* details,
                                     RegExpCompiler* compiler,
@@ -894,8 +882,8 @@
                             intptr_t budget,
                             BoyerMooreLookahead* bm,
                             bool not_at_start) {
-    (*alternatives_)[1].node()->FillInBMInfo(
-        offset, budget - 1, bm, not_at_start);
+    (*alternatives_)[1].node()->FillInBMInfo(offset, budget - 1, bm,
+                                             not_at_start);
     if (offset == 0) set_bm_info(not_at_start, bm);
   }
   // For a negative lookahead we don't emit the quick check for the
@@ -910,17 +898,18 @@
 };
 
 
-class LoopChoiceNode: public ChoiceNode {
+class LoopChoiceNode : public ChoiceNode {
  public:
   explicit LoopChoiceNode(bool body_can_be_zero_length, Zone* zone)
       : ChoiceNode(2, zone),
         loop_node_(NULL),
         continue_node_(NULL),
-        body_can_be_zero_length_(body_can_be_zero_length) { }
+        body_can_be_zero_length_(body_can_be_zero_length) {}
   void AddLoopAlternative(GuardedAlternative alt);
   void AddContinueAlternative(GuardedAlternative alt);
   virtual void Emit(RegExpCompiler* compiler, Trace* trace);
-  virtual intptr_t EatsAtLeast(intptr_t still_to_find,  intptr_t budget,
+  virtual intptr_t EatsAtLeast(intptr_t still_to_find,
+                               intptr_t budget,
                                bool not_at_start);
   virtual void GetQuickCheckDetails(QuickCheckDetails* details,
                                     RegExpCompiler* compiler,
@@ -997,15 +986,15 @@
 class BoyerMoorePositionInfo : public ZoneAllocated {
  public:
   explicit BoyerMoorePositionInfo(Zone* zone)
-      : map_(new(zone) ZoneGrowableArray<bool>(kMapSize)),
+      : map_(new (zone) ZoneGrowableArray<bool>(kMapSize)),
         map_count_(0),
         w_(kNotYet),
         s_(kNotYet),
         d_(kNotYet),
         surrogate_(kNotYet) {
-     for (intptr_t i = 0; i < kMapSize; i++) {
-       map_->Add(false);
-     }
+    for (intptr_t i = 0; i < kMapSize; i++) {
+      map_->Add(false);
+    }
   }
 
   bool& at(intptr_t i) { return (*map_)[i]; }
@@ -1023,18 +1012,17 @@
 
  private:
   ZoneGrowableArray<bool>* map_;
-  intptr_t map_count_;  // Number of set bits in the map.
-  ContainedInLattice w_;  // The \w character class.
-  ContainedInLattice s_;  // The \s character class.
-  ContainedInLattice d_;  // The \d character class.
+  intptr_t map_count_;            // Number of set bits in the map.
+  ContainedInLattice w_;          // The \w character class.
+  ContainedInLattice s_;          // The \s character class.
+  ContainedInLattice d_;          // The \d character class.
   ContainedInLattice surrogate_;  // Surrogate UTF-16 code units.
 };
 
 
-class BoyerMooreLookahead : public ZoneAllocated{
+class BoyerMooreLookahead : public ZoneAllocated {
  public:
-  BoyerMooreLookahead(intptr_t length, RegExpCompiler* compiler,
-                      Zone* Zone);
+  BoyerMooreLookahead(intptr_t length, RegExpCompiler* compiler, Zone* Zone);
 
   intptr_t length() { return length_; }
   intptr_t max_char() { return max_char_; }
@@ -1062,12 +1050,11 @@
     }
   }
 
-  void SetAll(intptr_t map_number) {
-    bitmaps_->At(map_number)->SetAll();
-  }
+  void SetAll(intptr_t map_number) { bitmaps_->At(map_number)->SetAll(); }
 
   void SetRest(intptr_t from_map) {
-    for (intptr_t i = from_map; i < length_; i++) SetAll(i);
+    for (intptr_t i = from_map; i < length_; i++)
+      SetAll(i);
   }
   void EmitSkipInstructions(RegExpMacroAssembler* masm);
 
@@ -1086,10 +1073,10 @@
                         intptr_t max_lookahead,
                         const TypedData& boolean_skip_table);
   bool FindWorthwhileInterval(intptr_t* from, intptr_t* to);
-  intptr_t FindBestInterval(
-      intptr_t max_number_of_chars,
-      intptr_t old_biggest_points,
-      intptr_t* from, intptr_t* to);
+  intptr_t FindBestInterval(intptr_t max_number_of_chars,
+                            intptr_t old_biggest_points,
+                            intptr_t* from,
+                            intptr_t* to);
 };
 
 
@@ -1108,18 +1095,17 @@
  public:
   // A value for a property that is either known to be true, know to be false,
   // or not known.
-  enum TriBool {
-    UNKNOWN = -1, FALSE_VALUE = 0, TRUE_VALUE = 1
-  };
+  enum TriBool { UNKNOWN = -1, FALSE_VALUE = 0, TRUE_VALUE = 1 };
 
   class DeferredAction {
    public:
     DeferredAction(ActionNode::ActionType action_type, intptr_t reg)
-        : action_type_(action_type), reg_(reg), next_(NULL) { }
+        : action_type_(action_type), reg_(reg), next_(NULL) {}
     DeferredAction* next() { return next_; }
     bool Mentions(intptr_t reg);
     intptr_t reg() { return reg_; }
     ActionNode::ActionType action_type() { return action_type_; }
+
    private:
     ActionNode::ActionType action_type_;
     intptr_t reg_;
@@ -1134,9 +1120,10 @@
     DeferredCapture(intptr_t reg, bool is_capture, Trace* trace)
         : DeferredAction(ActionNode::STORE_POSITION, reg),
           cp_offset_(trace->cp_offset()),
-          is_capture_(is_capture) { }
+          is_capture_(is_capture) {}
     intptr_t cp_offset() { return cp_offset_; }
     bool is_capture() { return is_capture_; }
+
    private:
     intptr_t cp_offset_;
     bool is_capture_;
@@ -1146,9 +1133,9 @@
   class DeferredSetRegister : public DeferredAction {
    public:
     DeferredSetRegister(intptr_t reg, intptr_t value)
-        : DeferredAction(ActionNode::SET_REGISTER, reg),
-          value_(value) { }
+        : DeferredAction(ActionNode::SET_REGISTER, reg), value_(value) {}
     intptr_t value() { return value_; }
+
    private:
     intptr_t value_;
   };
@@ -1156,9 +1143,9 @@
   class DeferredClearCaptures : public DeferredAction {
    public:
     explicit DeferredClearCaptures(Interval range)
-        : DeferredAction(ActionNode::CLEAR_CAPTURES, -1),
-          range_(range) { }
+        : DeferredAction(ActionNode::CLEAR_CAPTURES, -1), range_(range) {}
     Interval range() { return range_; }
+
    private:
     Interval range_;
   };
@@ -1166,7 +1153,7 @@
   class DeferredIncrementRegister : public DeferredAction {
    public:
     explicit DeferredIncrementRegister(intptr_t reg)
-        : DeferredAction(ActionNode::INCREMENT_REGISTER, reg) { }
+        : DeferredAction(ActionNode::INCREMENT_REGISTER, reg) {}
   };
 
   Trace()
@@ -1178,7 +1165,7 @@
         characters_preloaded_(0),
         bound_checked_up_to_(0),
         flush_budget_(100),
-        at_start_(UNKNOWN) { }
+        at_start_(UNKNOWN) {}
 
   // End the trace.  This involves flushing the deferred actions in the trace
   // and pushing a backtrack location onto the backtrack stack.  Once this is
@@ -1198,13 +1185,9 @@
   // a trivial trace is recorded in a label in the node so that gotos can be
   // generated to that code.
   bool is_trivial() {
-    return backtrack_ == NULL &&
-           actions_ == NULL &&
-           cp_offset_ == 0 &&
-           characters_preloaded_ == 0 &&
-           bound_checked_up_to_ == 0 &&
-           quick_check_performed_.characters() == 0 &&
-           at_start_ == UNKNOWN;
+    return backtrack_ == NULL && actions_ == NULL && cp_offset_ == 0 &&
+           characters_preloaded_ == 0 && bound_checked_up_to_ == 0 &&
+           quick_check_performed_.characters() == 0 && at_start_ == UNKNOWN;
   }
   TriBool at_start() { return at_start_; }
   void set_at_start(bool at_start) {
@@ -1289,9 +1272,7 @@
   bool preload_has_checked_bounds_;
   intptr_t preload_characters_;
   intptr_t eats_at_least_;
-  void init() {
-    eats_at_least_ = kEatsAtLeastNotYetInitialized;
-  }
+  void init() { eats_at_least_ = kEatsAtLeastNotYetInitialized; }
 
   DISALLOW_ALLOCATION();
 };
@@ -1299,10 +1280,9 @@
 
 class NodeVisitor : public ValueObject {
  public:
-  virtual ~NodeVisitor() { }
-#define DECLARE_VISIT(Type)                                          \
-  virtual void Visit##Type(Type##Node* that) = 0;
-FOR_EACH_NODE_TYPE(DECLARE_VISIT)
+  virtual ~NodeVisitor() {}
+#define DECLARE_VISIT(Type) virtual void Visit##Type(Type##Node* that) = 0;
+  FOR_EACH_NODE_TYPE(DECLARE_VISIT)
 #undef DECLARE_VISIT
   virtual void VisitLoopChoice(LoopChoiceNode* that) { VisitChoice(that); }
 };
@@ -1320,17 +1300,16 @@
 //   +-------+  --->  +------------+
 //   | word? |        | check word |
 //   +-------+        +------------+
-class Analysis: public NodeVisitor {
+class Analysis : public NodeVisitor {
  public:
   Analysis(bool ignore_case, bool is_one_byte)
       : ignore_case_(ignore_case),
         is_one_byte_(is_one_byte),
-        error_message_(NULL) { }
+        error_message_(NULL) {}
   void EnsureAnalyzed(RegExpNode* node);
 
-#define DECLARE_VISIT(Type)                                          \
-  virtual void Visit##Type(Type##Node* that);
-FOR_EACH_NODE_TYPE(DECLARE_VISIT)
+#define DECLARE_VISIT(Type) virtual void Visit##Type(Type##Node* that);
+  FOR_EACH_NODE_TYPE(DECLARE_VISIT)
 #undef DECLARE_VISIT
   virtual void VisitLoopChoice(LoopChoiceNode* that);
 
@@ -1339,9 +1318,7 @@
     ASSERT(error_message_ != NULL);
     return error_message_;
   }
-  void fail(const char* error_message) {
-    error_message_ = error_message;
-  }
+  void fail(const char* error_message) { error_message_ = error_message; }
 
  private:
   bool ignore_case_;
@@ -1354,12 +1331,12 @@
 
 struct RegExpCompileData : public ZoneAllocated {
   RegExpCompileData()
-    : tree(NULL),
-      node(NULL),
-      simple(true),
-      contains_anchor(false),
-      error(String::Handle(String::null())),
-      capture_count(0) { }
+      : tree(NULL),
+        node(NULL),
+        simple(true),
+        contains_anchor(false),
+        error(String::Handle(String::null())),
+        capture_count(0) {}
   RegExpTree* tree;
   RegExpNode* node;
   bool simple;
@@ -1369,7 +1346,7 @@
 };
 
 
-class RegExpEngine: public AllStatic {
+class RegExpEngine : public AllStatic {
  public:
   struct CompilationResult {
     explicit CompilationResult(const char* error_message)
@@ -1395,12 +1372,12 @@
                       intptr_t num_blocks,
                       intptr_t num_stack_locals,
                       intptr_t num_registers)
-      : backtrack_goto(backtrack_goto),
-        graph_entry(graph_entry),
-        num_blocks(num_blocks),
-        num_stack_locals(num_stack_locals),
-        error_message(NULL),
-        bytecode(NULL) {}
+        : backtrack_goto(backtrack_goto),
+          graph_entry(graph_entry),
+          num_blocks(num_blocks),
+          num_stack_locals(num_stack_locals),
+          error_message(NULL),
+          bytecode(NULL) {}
 
     IndirectGotoInstr* backtrack_goto;
     GraphEntryInstr* graph_entry;
@@ -1418,17 +1395,15 @@
       const ParsedFunction* parsed_function,
       const ZoneGrowableArray<const ICData*>& ic_data_array);
 
-  static CompilationResult CompileBytecode(
-      RegExpCompileData* data,
-      const RegExp& regexp,
-      bool is_one_byte,
-      Zone* zone);
+  static CompilationResult CompileBytecode(RegExpCompileData* data,
+                                           const RegExp& regexp,
+                                           bool is_one_byte,
+                                           Zone* zone);
 
-  static RawRegExp* CreateRegExp(
-      Thread* thread,
-      const String& pattern,
-      bool multi_line,
-      bool ignore_case);
+  static RawRegExp* CreateRegExp(Thread* thread,
+                                 const String& pattern,
+                                 bool multi_line,
+                                 bool ignore_case);
 
   static void DotPrint(const char* label, RegExpNode* node, bool ignore_case);
 };
diff --git a/runtime/vm/regexp_assembler.cc b/runtime/vm/regexp_assembler.cc
index c916c70..df8a650 100644
--- a/runtime/vm/regexp_assembler.cc
+++ b/runtime/vm/regexp_assembler.cc
@@ -10,10 +10,7 @@
 namespace dart {
 
 BlockLabel::BlockLabel()
-    : block_(NULL),
-      is_bound_(false),
-      is_linked_(false),
-      pos_(-1) {
+    : block_(NULL), is_bound_(false), is_linked_(false), pos_(-1) {
   if (!FLAG_interpret_irregexp) {
     // Only needed by the compiled IR backend.
     block_ = new JoinEntryInstr(-1, -1);
@@ -22,13 +19,9 @@
 
 
 RegExpMacroAssembler::RegExpMacroAssembler(Zone* zone)
-  : slow_safe_compiler_(false),
-    global_mode_(NOT_GLOBAL),
-    zone_(zone) {
-}
+    : slow_safe_compiler_(false), global_mode_(NOT_GLOBAL), zone_(zone) {}
 
 
-RegExpMacroAssembler::~RegExpMacroAssembler() {
-}
+RegExpMacroAssembler::~RegExpMacroAssembler() {}
 
 }  // namespace dart
diff --git a/runtime/vm/regexp_assembler.h b/runtime/vm/regexp_assembler.h
index 399ae7f..1a12789 100644
--- a/runtime/vm/regexp_assembler.h
+++ b/runtime/vm/regexp_assembler.h
@@ -31,9 +31,7 @@
   }
 
   bool IsLinked() const { return !is_bound_ && is_linked_; }
-  void SetLinked() {
-    is_linked_ = true;
-  }
+  void SetLinked() { is_linked_ = true; }
 
   intptr_t Position() const {
     ASSERT(IsBound());
@@ -48,13 +46,9 @@
 
   // Used by the bytecode assembler.
  public:
-  ~BlockLabel() {
-    ASSERT(!is_linked());
-  }
+  ~BlockLabel() { ASSERT(!is_linked()); }
 
-  intptr_t pos() const {
-    return pos_;
-  }
+  intptr_t pos() const { return pos_; }
   bool is_bound() const { return IsBound(); }
   bool is_linked() const { return IsLinked(); }
 
@@ -101,10 +95,7 @@
     kParamCount
   };
 
-  enum IrregexpImplementation {
-    kBytecodeImplementation,
-    kIRImplementation
-  };
+  enum IrregexpImplementation { kBytecodeImplementation, kIRImplementation };
 
   explicit RegExpMacroAssembler(Zone* zone);
   virtual ~RegExpMacroAssembler();
@@ -132,8 +123,8 @@
   virtual void CheckCharacterLT(uint16_t limit, BlockLabel* on_less) = 0;
   virtual void CheckGreedyLoop(BlockLabel* on_tos_equals_current_position) = 0;
   virtual void CheckNotAtStart(BlockLabel* on_not_at_start) = 0;
-  virtual void CheckNotBackReference(
-      intptr_t start_reg, BlockLabel* on_no_match) = 0;
+  virtual void CheckNotBackReference(intptr_t start_reg,
+                                     BlockLabel* on_no_match) = 0;
   virtual void CheckNotBackReferenceIgnoreCase(intptr_t start_reg,
                                                BlockLabel* on_no_match) = 0;
   // Check the current character for a match with a literal character.  If we
@@ -178,12 +169,14 @@
   virtual void Fail() = 0;
   // Check whether a register is >= a given constant and go to a label if it
   // is.  Backtracks instead if the label is NULL.
-  virtual void IfRegisterGE(
-      intptr_t reg, intptr_t comparand, BlockLabel* if_ge) = 0;
+  virtual void IfRegisterGE(intptr_t reg,
+                            intptr_t comparand,
+                            BlockLabel* if_ge) = 0;
   // Check whether a register is < a given constant and go to a label if it is.
   // Backtracks instead if the label is NULL.
-  virtual void IfRegisterLT(
-      intptr_t reg, intptr_t comparand, BlockLabel* if_lt) = 0;
+  virtual void IfRegisterLT(intptr_t reg,
+                            intptr_t comparand,
+                            BlockLabel* if_lt) = 0;
   // Check whether a register is == to the current position and go to a
   // label if it is.
   virtual void IfRegisterEqPos(intptr_t reg, BlockLabel* if_eq) = 0;
@@ -213,8 +206,8 @@
   virtual void SetRegister(intptr_t register_index, intptr_t to) = 0;
   // Return whether the matching (with a global regexp) will be restarted.
   virtual bool Succeed() = 0;
-  virtual void WriteCurrentPositionToRegister(
-      intptr_t reg, intptr_t cp_offset) = 0;
+  virtual void WriteCurrentPositionToRegister(intptr_t reg,
+                                              intptr_t cp_offset) = 0;
   virtual void ClearRegisters(intptr_t reg_from, intptr_t reg_to) = 0;
   virtual void WriteStackPointerToRegister(intptr_t reg) = 0;
 
@@ -227,9 +220,7 @@
   // a failure in a global regexp may still mean success overall.
   inline void set_global_mode(GlobalMode mode) { global_mode_ = mode; }
   inline bool global() { return global_mode_ != NOT_GLOBAL; }
-  inline bool global_with_zero_length_check() {
-    return global_mode_ == GLOBAL;
-  }
+  inline bool global_with_zero_length_check() { return global_mode_ == GLOBAL; }
 
   Zone* zone() const { return zone_; }
 
diff --git a/runtime/vm/regexp_assembler_bytecode.cc b/runtime/vm/regexp_assembler_bytecode.cc
index 986c0e3..a67c37b 100644
--- a/runtime/vm/regexp_assembler_bytecode.cc
+++ b/runtime/vm/regexp_assembler_bytecode.cc
@@ -22,7 +22,7 @@
     : RegExpMacroAssembler(zone),
       buffer_(buffer),
       pc_(0),
-      advance_current_end_(kInvalidPC) { }
+      advance_current_end_(kInvalidPC) {}
 
 
 BytecodeRegExpMacroAssembler::~BytecodeRegExpMacroAssembler() {
@@ -81,7 +81,8 @@
 
 
 void BytecodeRegExpMacroAssembler::WriteCurrentPositionToRegister(
-    intptr_t register_index, intptr_t cp_offset) {
+    intptr_t register_index,
+    intptr_t cp_offset) {
   ASSERT(register_index >= 0);
   ASSERT(register_index <= kMaxRegister);
   Emit(BC_SET_REGISTER_TO_CP, register_index);
@@ -204,7 +205,7 @@
 
 
 void BytecodeRegExpMacroAssembler::CheckGreedyLoop(
-      BlockLabel* on_tos_equals_current_position) {
+    BlockLabel* on_tos_equals_current_position) {
   Emit(BC_CHECK_GREEDY, 0);
   EmitOrLink(on_tos_equals_current_position);
 }
@@ -356,8 +357,8 @@
 }
 
 
-void BytecodeRegExpMacroAssembler::CheckBitInTable(
-    const TypedData& table, BlockLabel* on_bit_set) {
+void BytecodeRegExpMacroAssembler::CheckBitInTable(const TypedData& table,
+                                                   BlockLabel* on_bit_set) {
   Emit(BC_CHECK_BIT_IN_TABLE, 0);
   EmitOrLink(on_bit_set);
   for (int i = 0; i < kTableSize; i += kBitsPerByte) {
@@ -449,28 +450,30 @@
   buffer_->Add(0);
   buffer_->Add(0);
   intptr_t x = buffer_->length();
-  for (intptr_t i = 0; i < x; i++) buffer_->Add(0);
+  for (intptr_t i = 0; i < x; i++)
+    buffer_->Add(0);
 }
 
 
 static intptr_t Prepare(const RegExp& regexp,
                         const String& subject,
                         Zone* zone) {
-  bool is_one_byte = subject.IsOneByteString() ||
-                     subject.IsExternalOneByteString();
+  bool is_one_byte =
+      subject.IsOneByteString() || subject.IsExternalOneByteString();
 
   if (regexp.bytecode(is_one_byte) == TypedData::null()) {
     const String& pattern = String::Handle(zone, regexp.pattern());
-    NOT_IN_PRODUCT(TimelineDurationScope tds(Thread::Current(),
-                                             Timeline::GetCompilerStream(),
-                                             "CompileIrregexpBytecode");
+#if !defined(PRODUCT)
+    TimelineDurationScope tds(Thread::Current(), Timeline::GetCompilerStream(),
+                              "CompileIrregexpBytecode");
     if (tds.enabled()) {
       tds.SetNumArguments(1);
       tds.CopyArgument(0, "pattern", pattern.ToCString());
-    });  // !PRODUCT
+    }
+#endif  // !defined(PRODUCT)
 
     const bool multiline = regexp.is_multi_line();
-    RegExpCompileData* compile_data = new(zone) RegExpCompileData();
+    RegExpCompileData* compile_data = new (zone) RegExpCompileData();
     if (!RegExpParser::ParseRegExp(pattern, multiline, compile_data)) {
       // Parsing failures are handled in the RegExp factory constructor.
       UNREACHABLE();
@@ -505,15 +508,15 @@
                                                    int32_t* output,
                                                    intptr_t output_size,
                                                    Zone* zone) {
-  bool is_one_byte = subject.IsOneByteString() ||
-                     subject.IsExternalOneByteString();
+  bool is_one_byte =
+      subject.IsOneByteString() || subject.IsExternalOneByteString();
 
   ASSERT(regexp.num_bracket_expressions() != Smi::null());
 
   // We must have done EnsureCompiledIrregexp, so we can get the number of
   // registers.
   int number_of_capture_registers =
-     (Smi::Value(regexp.num_bracket_expressions()) + 1) * 2;
+      (Smi::Value(regexp.num_bracket_expressions()) + 1) * 2;
   int32_t* raw_output = &output[number_of_capture_registers];
 
   // We do not touch the actual capture result registers until we know there
@@ -558,21 +561,17 @@
   // V8 uses a shared copy on the isolate when smaller than some threshold.
   int32_t* output_registers = zone->Alloc<int32_t>(required_registers);
 
-  IrregexpInterpreter::IrregexpResult result = ExecRaw(regexp,
-                                                       subject,
-                                                       start_index.Value(),
-                                                       output_registers,
-                                                       required_registers,
-                                                       zone);
+  IrregexpInterpreter::IrregexpResult result =
+      ExecRaw(regexp, subject, start_index.Value(), output_registers,
+              required_registers, zone);
 
   if (result == IrregexpInterpreter::RE_SUCCESS) {
     intptr_t capture_count = Smi::Value(regexp.num_bracket_expressions());
     intptr_t capture_register_count = (capture_count + 1) * 2;
     ASSERT(required_registers >= capture_register_count);
 
-    const TypedData& result =
-        TypedData::Handle(TypedData::New(kTypedDataInt32ArrayCid,
-                                         capture_register_count));
+    const TypedData& result = TypedData::Handle(
+        TypedData::New(kTypedDataInt32ArrayCid, capture_register_count));
     {
 #ifdef DEBUG
       // These indices will be used with substring operations that don't check
@@ -584,8 +583,7 @@
 #endif
 
       NoSafepointScope no_safepoint;
-      memmove(result.DataAddr(0),
-              output_registers,
+      memmove(result.DataAddr(0), output_registers,
               capture_register_count * sizeof(int32_t));
     }
 
diff --git a/runtime/vm/regexp_assembler_bytecode.h b/runtime/vm/regexp_assembler_bytecode.h
index eec47a4..e8d6174 100644
--- a/runtime/vm/regexp_assembler_bytecode.h
+++ b/runtime/vm/regexp_assembler_bytecode.h
@@ -10,7 +10,7 @@
 
 namespace dart {
 
-class BytecodeRegExpMacroAssembler: public RegExpMacroAssembler {
+class BytecodeRegExpMacroAssembler : public RegExpMacroAssembler {
  public:
   // Create an assembler. Instructions and relocation information are emitted
   // into a buffer, with the instructions starting from the beginning and the
@@ -25,8 +25,7 @@
   // for code generation and assumes its size to be buffer_size. If the buffer
   // is too small, a fatal error occurs. No deallocation of the buffer is done
   // upon destruction of the assembler.
-  BytecodeRegExpMacroAssembler(ZoneGrowableArray<uint8_t>* buffer,
-                               Zone* zone);
+  BytecodeRegExpMacroAssembler(ZoneGrowableArray<uint8_t>* buffer, Zone* zone);
   virtual ~BytecodeRegExpMacroAssembler();
 
   // The byte-code interpreter checks on each push anyway.
@@ -101,7 +100,7 @@
     // extra goto.
     return true;
   }
-  virtual void Print(const char* str)  { UNIMPLEMENTED(); }
+  virtual void Print(const char* str) { UNIMPLEMENTED(); }
   virtual void PrintBlocks() { UNIMPLEMENTED(); }
   /////
 
diff --git a/runtime/vm/regexp_assembler_bytecode_inl.h b/runtime/vm/regexp_assembler_bytecode_inl.h
index d3855c7..d2fe476 100644
--- a/runtime/vm/regexp_assembler_bytecode_inl.h
+++ b/runtime/vm/regexp_assembler_bytecode_inl.h
@@ -15,7 +15,7 @@
                                         uint32_t twenty_four_bits) {
   uint32_t word = ((twenty_four_bits << BYTECODE_SHIFT) | byte);
   ASSERT(pc_ <= buffer_->length());
-  if (pc_  + 3 >= buffer_->length()) {
+  if (pc_ + 3 >= buffer_->length()) {
     Expand();
   }
   *reinterpret_cast<uint32_t*>(buffer_->data() + pc_) = word;
diff --git a/runtime/vm/regexp_assembler_ir.cc b/runtime/vm/regexp_assembler_ir.cc
index 24a1468..efb9d64 100644
--- a/runtime/vm/regexp_assembler_ir.cc
+++ b/runtime/vm/regexp_assembler_ir.cc
@@ -21,14 +21,20 @@
 
 // Debugging output macros. TAG() is called at the head of each interesting
 // function and prints its name during execution if irregexp tracing is enabled.
-#define TAG() if (FLAG_trace_irregexp) { TAG_(); }
-#define TAG_() \
-  Print(PushArgument( \
-    Bind(new(Z) ConstantInstr(String::ZoneHandle(Z, String::Concat( \
-        String::Handle(String::New("TAG: ")), \
-        String::Handle(String::New(__FUNCTION__)), Heap::kOld))))));
+#define TAG()                                                                  \
+  if (FLAG_trace_irregexp) {                                                   \
+    TAG_();                                                                    \
+  }
+#define TAG_()                                                                 \
+  Print(PushArgument(Bind(new (Z) ConstantInstr(String::ZoneHandle(            \
+      Z, String::Concat(String::Handle(String::New("TAG: ")),                  \
+                        String::Handle(String::New(__FUNCTION__)),             \
+                        Heap::kOld))))));
 
-#define PRINT(arg) if (FLAG_trace_irregexp) { Print(arg); }
+#define PRINT(arg)                                                             \
+  if (FLAG_trace_irregexp) {                                                   \
+    Print(arg);                                                                \
+  }
 
 namespace dart {
 
@@ -40,8 +46,8 @@
 
 
 void PrintUtf16(uint16_t c) {
-  const char* format = (0x20 <= c && c <= 0x7F) ?
-        "%c" : (c <= 0xff) ? "\\x%02x" : "\\u%04x";
+  const char* format =
+      (0x20 <= c && c <= 0x7F) ? "%c" : (c <= 0xff) ? "\\x%02x" : "\\u%04x";
   OS::Print(format, c);
 }
 
@@ -92,10 +98,15 @@
       registers_array_(TypedData::ZoneHandle(zone, TypedData::null())) {
   switch (specialization_cid) {
     case kOneByteStringCid:
-    case kExternalOneByteStringCid: mode_ = ASCII; break;
+    case kExternalOneByteStringCid:
+      mode_ = ASCII;
+      break;
     case kTwoByteStringCid:
-    case kExternalTwoByteStringCid: mode_ = UC16; break;
-    default: UNREACHABLE();
+    case kExternalTwoByteStringCid:
+      mode_ = UC16;
+      break;
+    default:
+      UNREACHABLE();
   }
 
   InitializeLocals();
@@ -103,23 +114,22 @@
   // Allocate an initial stack backing of the minimum stack size. The stack
   // backing is indirectly referred to so we can reuse it on subsequent matches
   // even in the case where the backing has been enlarged and thus reallocated.
-  stack_array_cell_.SetAt(0, TypedData::Handle(zone,
-    TypedData::New(kTypedDataInt32ArrayCid, kMinStackSize / 4, Heap::kOld)));
+  stack_array_cell_.SetAt(
+      0,
+      TypedData::Handle(zone, TypedData::New(kTypedDataInt32ArrayCid,
+                                             kMinStackSize / 4, Heap::kOld)));
 
   // Create and generate all preset blocks.
-  entry_block_ =
-      new(zone) GraphEntryInstr(
-        *parsed_function_,
-        new(zone) TargetEntryInstr(block_id_.Alloc(), kInvalidTryIndex),
-        Compiler::kNoOSRDeoptId);
-  start_block_ =
-      new(zone) JoinEntryInstr(block_id_.Alloc(), kInvalidTryIndex);
+  entry_block_ = new (zone) GraphEntryInstr(
+      *parsed_function_,
+      new (zone) TargetEntryInstr(block_id_.Alloc(), kInvalidTryIndex),
+      Compiler::kNoOSRDeoptId);
+  start_block_ = new (zone) JoinEntryInstr(block_id_.Alloc(), kInvalidTryIndex);
   success_block_ =
-      new(zone) JoinEntryInstr(block_id_.Alloc(), kInvalidTryIndex);
+      new (zone) JoinEntryInstr(block_id_.Alloc(), kInvalidTryIndex);
   backtrack_block_ =
-      new(zone) JoinEntryInstr(block_id_.Alloc(), kInvalidTryIndex);
-  exit_block_ =
-      new(zone) JoinEntryInstr(block_id_.Alloc(), kInvalidTryIndex);
+      new (zone) JoinEntryInstr(block_id_.Alloc(), kInvalidTryIndex);
+  exit_block_ = new (zone) JoinEntryInstr(block_id_.Alloc(), kInvalidTryIndex);
 
   GenerateEntryBlock();
   GenerateSuccessBlock();
@@ -137,7 +147,7 @@
 }
 
 
-IRRegExpMacroAssembler::~IRRegExpMacroAssembler() { }
+IRRegExpMacroAssembler::~IRRegExpMacroAssembler() {}
 
 
 void IRRegExpMacroAssembler::InitializeLocals() {
@@ -175,12 +185,10 @@
   // Store string.length.
   PushArgumentInstr* string_push = PushLocal(string_param_);
 
-  StoreLocal(
-      string_param_length_,
-      Bind(InstanceCall(
-          InstanceCallDescriptor(
-              String::ZoneHandle(Field::GetterSymbol(Symbols::Length()))),
-          string_push)));
+  StoreLocal(string_param_length_,
+             Bind(InstanceCall(InstanceCallDescriptor(String::ZoneHandle(
+                                   Field::GetterSymbol(Symbols::Length()))),
+                               string_push)));
 
   // Store (start_index - string.length) as the current position (since it's a
   // negative offset from the end of the string).
@@ -191,16 +199,16 @@
 
   // Generate a local list variable to represent "registers" and
   // initialize capture registers (others remain garbage).
-  StoreLocal(registers_, Bind(new(Z) ConstantInstr(registers_array_)));
+  StoreLocal(registers_, Bind(new (Z) ConstantInstr(registers_array_)));
   ClearRegisters(0, saved_registers_count_ - 1);
 
   // Generate a local list variable to represent the backtracking stack.
   PushArgumentInstr* stack_cell_push =
-      PushArgument(Bind(new(Z) ConstantInstr(stack_array_cell_)));
-  StoreLocal(stack_, Bind(InstanceCall(
-      InstanceCallDescriptor::FromToken(Token::kINDEX),
-      stack_cell_push,
-      PushArgument(Bind(Uint64Constant(0))))));
+      PushArgument(Bind(new (Z) ConstantInstr(stack_array_cell_)));
+  StoreLocal(stack_,
+             Bind(InstanceCall(InstanceCallDescriptor::FromToken(Token::kINDEX),
+                               stack_cell_push,
+                               PushArgument(Bind(Uint64Constant(0))))));
   StoreLocal(stack_pointer_, Bind(Int64Constant(-1)));
 
   // Jump to the start block.
@@ -215,19 +223,18 @@
 
   const intptr_t entries_count = entry_block_->indirect_entries().length();
 
-  TypedData& offsets = TypedData::ZoneHandle(Z,
-      TypedData::New(kTypedDataInt32ArrayCid, entries_count, Heap::kOld));
+  TypedData& offsets = TypedData::ZoneHandle(
+      Z, TypedData::New(kTypedDataInt32ArrayCid, entries_count, Heap::kOld));
 
   PushArgumentInstr* block_offsets_push =
-      PushArgument(Bind(new(Z) ConstantInstr(offsets)));
+      PushArgument(Bind(new (Z) ConstantInstr(offsets)));
   PushArgumentInstr* block_id_push = PushArgument(Bind(PopStack()));
 
   Value* offset_value =
       Bind(InstanceCall(InstanceCallDescriptor::FromToken(Token::kINDEX),
-                        block_offsets_push,
-                        block_id_push));
+                        block_offsets_push, block_id_push));
 
-  backtrack_goto_ = new(Z) IndirectGotoInstr(&offsets, offset_value);
+  backtrack_goto_ = new (Z) IndirectGotoInstr(&offsets, offset_value);
   CloseBlockWith(backtrack_goto_);
 
   // Add an edge from the "indirect" goto to each of the targets.
@@ -242,11 +249,11 @@
   set_current_instruction(success_block_);
   TAG();
 
-  Value* type = Bind(new(Z) ConstantInstr(
+  Value* type = Bind(new (Z) ConstantInstr(
       TypeArguments::ZoneHandle(Z, TypeArguments::null())));
   Value* length = Bind(Uint64Constant(saved_registers_count_));
-  Value* array = Bind(new(Z) CreateArrayInstr(
-      TokenPosition::kNoSource, type, length));
+  Value* array =
+      Bind(new (Z) CreateArrayInstr(TokenPosition::kNoSource, type, length));
   StoreLocal(result_, array);
 
   // Store captured offsets in the `matches` parameter.
@@ -262,17 +269,15 @@
         PushArgument(Bind(Add(offset_push, len_push)));
 
     Do(InstanceCall(InstanceCallDescriptor::FromToken(Token::kASSIGN_INDEX),
-                    matches_push,
-                    index_push,
-                    value_push));
+                    matches_push, index_push, value_push));
   }
 
   // Print the result if tracing.
   PRINT(PushLocal(result_));
 
   // Return true on success.
-  AppendInstruction(new(Z) ReturnInstr(
-      TokenPosition::kNoSource, Bind(LoadLocal(result_))));
+  AppendInstruction(
+      new (Z) ReturnInstr(TokenPosition::kNoSource, Bind(LoadLocal(result_))));
 }
 
 
@@ -281,8 +286,8 @@
   TAG();
 
   // Return false on failure.
-  AppendInstruction(new(Z) ReturnInstr(
-      TokenPosition::kNoSource, Bind(LoadLocal(result_))));
+  AppendInstruction(
+      new (Z) ReturnInstr(TokenPosition::kNoSource, Bind(LoadLocal(result_))));
 }
 
 
@@ -293,8 +298,7 @@
 }
 
 
-#if defined(TARGET_ARCH_ARM64) ||                                              \
-    defined(TARGET_ARCH_ARM) ||                                                \
+#if defined(TARGET_ARCH_ARM64) || defined(TARGET_ARCH_ARM) ||                  \
     defined(TARGET_ARCH_MIPS)
 // Disabling unaligned accesses forces the regexp engine to load characters one
 // by one instead of up to 4 at once, along with the associated performance hit.
@@ -310,11 +314,10 @@
 }
 
 
-RawArray* IRRegExpMacroAssembler::Execute(
-    const RegExp& regexp,
-    const String& input,
-    const Smi& start_offset,
-    Zone* zone) {
+RawArray* IRRegExpMacroAssembler::Execute(const RegExp& regexp,
+                                          const String& input,
+                                          const Smi& start_offset,
+                                          Zone* zone) {
   const intptr_t cid = input.GetClassId();
   const Function& fun = Function::Handle(regexp.function(cid));
   ASSERT(!fun.IsNull());
@@ -362,10 +365,10 @@
     int32_t c1 = str.CharAt(lhs_index.Value() + i);
     int32_t c2 = str.CharAt(rhs_index.Value() + i);
     if (c1 != c2) {
-      int32_t s1[1] = { c1 };
+      int32_t s1[1] = {c1};
       canonicalize.get(c1, '\0', s1);
       if (s1[0] != c2) {
-        int32_t s2[1] = { c2 };
+        int32_t s2[1] = {c2};
         canonicalize.get(c2, '\0', s2);
         if (s1[0] != s2[0]) {
           return Bool::False().raw();
@@ -378,17 +381,17 @@
 
 
 DEFINE_RAW_LEAF_RUNTIME_ENTRY(
-    CaseInsensitiveCompareUC16, 4, false /* is_float */,
+    CaseInsensitiveCompareUC16,
+    4,
+    false /* is_float */,
     reinterpret_cast<RuntimeFunction>(&CaseInsensitiveCompareUC16));
 
 
 LocalVariable* IRRegExpMacroAssembler::Parameter(const String& name,
                                                  intptr_t index) const {
-  LocalVariable* local = new(Z) LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      name,
-      Object::dynamic_type());
+  LocalVariable* local =
+      new (Z) LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                            name, Object::dynamic_type());
 
   intptr_t param_frame_index = kParamEndSlotFromFp + kParamCount - index;
   local->set_index(param_frame_index);
@@ -398,11 +401,9 @@
 
 
 LocalVariable* IRRegExpMacroAssembler::Local(const String& name) {
-  LocalVariable* local = new(Z) LocalVariable(
-      TokenPosition::kNoSource,
-      TokenPosition::kNoSource,
-      name,
-      Object::dynamic_type());
+  LocalVariable* local =
+      new (Z) LocalVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
+                            name, Object::dynamic_type());
   local->set_index(GetNextLocalIndex());
 
   return local;
@@ -410,33 +411,34 @@
 
 
 ConstantInstr* IRRegExpMacroAssembler::Int64Constant(int64_t value) const {
-  return new(Z) ConstantInstr(
-        Integer::ZoneHandle(Z, Integer::New(value, Heap::kOld)));
+  return new (Z)
+      ConstantInstr(Integer::ZoneHandle(Z, Integer::New(value, Heap::kOld)));
 }
 
 
 ConstantInstr* IRRegExpMacroAssembler::Uint64Constant(uint64_t value) const {
-  return new(Z) ConstantInstr(
-        Integer::ZoneHandle(Z, Integer::NewFromUint64(value, Heap::kOld)));
+  return new (Z) ConstantInstr(
+      Integer::ZoneHandle(Z, Integer::NewFromUint64(value, Heap::kOld)));
 }
 
 
 ConstantInstr* IRRegExpMacroAssembler::BoolConstant(bool value) const {
-  return new(Z) ConstantInstr(value ? Bool::True() : Bool::False());
+  return new (Z) ConstantInstr(value ? Bool::True() : Bool::False());
 }
 
 
 ConstantInstr* IRRegExpMacroAssembler::StringConstant(const char* value) const {
-  return new(Z) ConstantInstr(
-        String::ZoneHandle(Z, String::New(value, Heap::kOld)));
+  return new (Z)
+      ConstantInstr(String::ZoneHandle(Z, String::New(value, Heap::kOld)));
 }
 
 
 ConstantInstr* IRRegExpMacroAssembler::WordCharacterMapConstant() const {
   const Library& lib = Library::Handle(Z, Library::CoreLibrary());
-  const Class& regexp_class = Class::Handle(Z,
-        lib.LookupClassAllowPrivate(Symbols::_RegExp()));
-  const Field& word_character_field = Field::ZoneHandle(Z,
+  const Class& regexp_class =
+      Class::Handle(Z, lib.LookupClassAllowPrivate(Symbols::_RegExp()));
+  const Field& word_character_field = Field::ZoneHandle(
+      Z,
       regexp_class.LookupStaticFieldAllowPrivate(Symbols::_wordCharacterMap()));
   ASSERT(!word_character_field.IsNull());
 
@@ -446,54 +448,53 @@
   }
   ASSERT(!word_character_field.IsUninitialized());
 
-  return new(Z) ConstantInstr(
-        Instance::ZoneHandle(Z, word_character_field.StaticValue()));
+  return new (Z) ConstantInstr(
+      Instance::ZoneHandle(Z, word_character_field.StaticValue()));
 }
 
 
-ComparisonInstr* IRRegExpMacroAssembler::Comparison(
-    ComparisonKind kind, PushArgumentInstr* lhs, PushArgumentInstr* rhs) {
+ComparisonInstr* IRRegExpMacroAssembler::Comparison(ComparisonKind kind,
+                                                    PushArgumentInstr* lhs,
+                                                    PushArgumentInstr* rhs) {
   Token::Kind strict_comparison = Token::kEQ_STRICT;
   Token::Kind intermediate_operator = Token::kILLEGAL;
   switch (kind) {
-  case kEQ:
-    intermediate_operator = Token::kEQ;
-    break;
-  case kNE:
-    intermediate_operator = Token::kEQ;
-    strict_comparison = Token::kNE_STRICT;
-    break;
-  case kLT:
-    intermediate_operator = Token::kLT;
-    break;
-  case kGT:
-    intermediate_operator = Token::kGT;
-    break;
-  case kLTE:
-    intermediate_operator = Token::kLTE;
-    break;
-  case kGTE:
-    intermediate_operator = Token::kGTE;
-    break;
-  default:
-    UNREACHABLE();
+    case kEQ:
+      intermediate_operator = Token::kEQ;
+      break;
+    case kNE:
+      intermediate_operator = Token::kEQ;
+      strict_comparison = Token::kNE_STRICT;
+      break;
+    case kLT:
+      intermediate_operator = Token::kLT;
+      break;
+    case kGT:
+      intermediate_operator = Token::kGT;
+      break;
+    case kLTE:
+      intermediate_operator = Token::kLTE;
+      break;
+    case kGTE:
+      intermediate_operator = Token::kGTE;
+      break;
+    default:
+      UNREACHABLE();
   }
 
   ASSERT(intermediate_operator != Token::kILLEGAL);
 
-  Value* lhs_value =
-      Bind(InstanceCall(
-             InstanceCallDescriptor::FromToken(intermediate_operator),
-             lhs,
-             rhs));
+  Value* lhs_value = Bind(InstanceCall(
+      InstanceCallDescriptor::FromToken(intermediate_operator), lhs, rhs));
   Value* rhs_value = Bind(BoolConstant(true));
 
-  return new(Z) StrictCompareInstr(
-      TokenPosition::kNoSource, strict_comparison, lhs_value, rhs_value, true);
+  return new (Z) StrictCompareInstr(TokenPosition::kNoSource, strict_comparison,
+                                    lhs_value, rhs_value, true);
 }
 
-ComparisonInstr* IRRegExpMacroAssembler::Comparison(
-    ComparisonKind kind, Definition* lhs, Definition* rhs) {
+ComparisonInstr* IRRegExpMacroAssembler::Comparison(ComparisonKind kind,
+                                                    Definition* lhs,
+                                                    Definition* rhs) {
   PushArgumentInstr* lhs_push = PushArgument(Bind(lhs));
   PushArgumentInstr* rhs_push = PushArgument(Bind(rhs));
   return Comparison(kind, lhs_push, rhs_push);
@@ -503,7 +504,7 @@
 StaticCallInstr* IRRegExpMacroAssembler::StaticCall(
     const Function& function) const {
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(0);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(0);
   return StaticCall(function, arguments);
 }
 
@@ -512,7 +513,7 @@
     const Function& function,
     PushArgumentInstr* arg1) const {
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(1);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(1);
   arguments->Add(arg1);
 
   return StaticCall(function, arguments);
@@ -524,7 +525,7 @@
     PushArgumentInstr* arg1,
     PushArgumentInstr* arg2) const {
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(2);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(2);
   arguments->Add(arg1);
   arguments->Add(arg2);
 
@@ -535,11 +536,9 @@
 StaticCallInstr* IRRegExpMacroAssembler::StaticCall(
     const Function& function,
     ZoneGrowableArray<PushArgumentInstr*>* arguments) const {
-  return new(Z) StaticCallInstr(TokenPosition::kNoSource,
-                                function,
-                                Object::null_array(),
-                                arguments,
-                                ic_data_array_);
+  return new (Z)
+      StaticCallInstr(TokenPosition::kNoSource, function, Object::null_array(),
+                      arguments, ic_data_array_);
 }
 
 
@@ -547,7 +546,7 @@
     const InstanceCallDescriptor& desc,
     PushArgumentInstr* arg1) const {
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(1);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(1);
   arguments->Add(arg1);
 
   return InstanceCall(desc, arguments);
@@ -559,7 +558,7 @@
     PushArgumentInstr* arg1,
     PushArgumentInstr* arg2) const {
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(2);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(2);
   arguments->Add(arg1);
   arguments->Add(arg2);
 
@@ -573,7 +572,7 @@
     PushArgumentInstr* arg2,
     PushArgumentInstr* arg3) const {
   ZoneGrowableArray<PushArgumentInstr*>* arguments =
-      new(Z) ZoneGrowableArray<PushArgumentInstr*>(3);
+      new (Z) ZoneGrowableArray<PushArgumentInstr*>(3);
   arguments->Add(arg1);
   arguments->Add(arg2);
   arguments->Add(arg3);
@@ -584,26 +583,20 @@
 
 InstanceCallInstr* IRRegExpMacroAssembler::InstanceCall(
     const InstanceCallDescriptor& desc,
-    ZoneGrowableArray<PushArgumentInstr*> *arguments) const {
-  return
-    new(Z) InstanceCallInstr(TokenPosition::kNoSource,
-                             desc.name,
-                             desc.token_kind,
-                             arguments,
-                             Object::null_array(),
-                             desc.checked_argument_count,
-                             ic_data_array_);
+    ZoneGrowableArray<PushArgumentInstr*>* arguments) const {
+  return new (Z) InstanceCallInstr(
+      TokenPosition::kNoSource, desc.name, desc.token_kind, arguments,
+      Object::null_array(), desc.checked_argument_count, ic_data_array_);
 }
 
 
 LoadLocalInstr* IRRegExpMacroAssembler::LoadLocal(LocalVariable* local) const {
-  return new(Z) LoadLocalInstr(*local, TokenPosition::kNoSource);
+  return new (Z) LoadLocalInstr(*local, TokenPosition::kNoSource);
 }
 
 
-void IRRegExpMacroAssembler::StoreLocal(LocalVariable* local,
-                                        Value* value) {
-  Do(new(Z) StoreLocalInstr(*local, value, TokenPosition::kNoSource));
+void IRRegExpMacroAssembler::StoreLocal(LocalVariable* local, Value* value) {
+  Do(new (Z) StoreLocalInstr(*local, value, TokenPosition::kNoSource));
 }
 
 
@@ -616,7 +609,7 @@
   AppendInstruction(definition);
   definition->set_temp_index(temp_id_.Alloc());
 
-  return new(Z) Value(definition);
+  return new (Z) Value(definition);
 }
 
 
@@ -627,10 +620,10 @@
 
 Value* IRRegExpMacroAssembler::BindLoadLocal(const LocalVariable& local) {
   if (local.IsConst()) {
-    return Bind(new(Z) ConstantInstr(*local.ConstValue()));
+    return Bind(new (Z) ConstantInstr(*local.ConstValue()));
   }
   ASSERT(!local.is_captured());
-  return Bind(new(Z) LoadLocalInstr(local, TokenPosition::kNoSource));
+  return Bind(new (Z) LoadLocalInstr(local, TokenPosition::kNoSource));
 }
 
 
@@ -638,15 +631,16 @@
 // a jmp not followed by a bind. We cannot do the same, since it is impossible
 // to append to a block following a jmp. In such cases, assume that we are doing
 // the correct thing, but output a warning when tracing.
-#define HANDLE_DEAD_CODE_EMISSION() \
-  if (current_instruction_ == NULL) { \
-    if (FLAG_trace_irregexp) { \
-      OS::Print("WARNING: Attempting to append to a closed assembler. " \
-                "This could be either a bug or generation of dead code " \
-                "inherited from V8.\n"); \
-    } \
-    BlockLabel dummy; \
-    BindBlock(&dummy); \
+#define HANDLE_DEAD_CODE_EMISSION()                                            \
+  if (current_instruction_ == NULL) {                                          \
+    if (FLAG_trace_irregexp) {                                                 \
+      OS::Print(                                                               \
+          "WARNING: Attempting to append to a closed assembler. "              \
+          "This could be either a bug or generation of dead code "             \
+          "inherited from V8.\n");                                             \
+    }                                                                          \
+    BlockLabel dummy;                                                          \
+    BindBlock(&dummy);                                                         \
   }
 
 void IRRegExpMacroAssembler::AppendInstruction(Instruction* instruction) {
@@ -701,7 +695,7 @@
 
 PushArgumentInstr* IRRegExpMacroAssembler::PushArgument(Value* value) {
   arg_id_.Alloc();
-  PushArgumentInstr* push = new(Z) PushArgumentInstr(value);
+  PushArgumentInstr* push = new (Z) PushArgumentInstr(value);
   // Do *not* use Do() for push argument instructions.
   AppendInstruction(push);
   return push;
@@ -714,16 +708,15 @@
 
 
 void IRRegExpMacroAssembler::Print(const char* str) {
-  Print(PushArgument(
-    Bind(new(Z) ConstantInstr(
-           String::ZoneHandle(Z, String::New(str, Heap::kOld))))));
+  Print(PushArgument(Bind(new (Z) ConstantInstr(
+      String::ZoneHandle(Z, String::New(str, Heap::kOld))))));
 }
 
 
 void IRRegExpMacroAssembler::Print(PushArgumentInstr* argument) {
   const Library& lib = Library::Handle(Library::CoreLibrary());
-  const Function& print_fn = Function::ZoneHandle(
-        Z, lib.LookupFunctionAllowPrivate(Symbols::print()));
+  const Function& print_fn =
+      Function::ZoneHandle(Z, lib.LookupFunctionAllowPrivate(Symbols::print()));
   Do(StaticCall(print_fn, argument));
 }
 
@@ -735,7 +728,7 @@
 }
 
 
-intptr_t IRRegExpMacroAssembler::stack_limit_slack()  {
+intptr_t IRRegExpMacroAssembler::stack_limit_slack() {
   return 32;
 }
 
@@ -804,8 +797,7 @@
   PushArgumentInstr* registers_push = PushLocal(registers_);
   PushArgumentInstr* index_push = PushRegisterIndex(index);
   return Bind(InstanceCall(InstanceCallDescriptor::FromToken(Token::kINDEX),
-                           registers_push,
-                           index_push));
+                           registers_push, index_push));
 }
 
 void IRRegExpMacroAssembler::StoreRegister(intptr_t index, intptr_t value) {
@@ -821,9 +813,7 @@
                                            PushArgumentInstr* value) {
   TAG();
   Do(InstanceCall(InstanceCallDescriptor::FromToken(Token::kASSIGN_INDEX),
-                  registers,
-                  index,
-                  value));
+                  registers, index, value));
 }
 
 PushArgumentInstr* IRRegExpMacroAssembler::PushRegisterIndex(intptr_t index) {
@@ -846,10 +836,9 @@
 void IRRegExpMacroAssembler::CheckCharacterGT(uint16_t limit,
                                               BlockLabel* on_greater) {
   TAG();
-  BranchOrBacktrack(Comparison(kGT,
-                               LoadLocal(current_character_),
-                               Uint64Constant(limit)),
-                    on_greater);
+  BranchOrBacktrack(
+      Comparison(kGT, LoadLocal(current_character_), Uint64Constant(limit)),
+      on_greater);
 }
 
 
@@ -859,10 +848,9 @@
   BlockLabel not_at_start;
 
   // Did we start the match at the start of the string at all?
-  BranchOrBacktrack(Comparison(kNE,
-                               LoadLocal(start_index_param_),
-                               Uint64Constant(0)),
-                    &not_at_start);
+  BranchOrBacktrack(
+      Comparison(kNE, LoadLocal(start_index_param_), Uint64Constant(0)),
+      &not_at_start);
 
   // If we did, are we still at the start of the input, i.e. is
   // (offset == string_length * -1)?
@@ -870,8 +858,7 @@
       InstanceCall(InstanceCallDescriptor::FromToken(Token::kNEGATE),
                    PushLocal(string_param_length_));
   Definition* offset_def = LoadLocal(current_position_);
-  BranchOrBacktrack(Comparison(kEQ, neg_len_def, offset_def),
-                    on_at_start);
+  BranchOrBacktrack(Comparison(kEQ, neg_len_def, offset_def), on_at_start);
 
   BindBlock(&not_at_start);
 }
@@ -881,10 +868,9 @@
   TAG();
 
   // Did we start the match at the start of the string at all?
-  BranchOrBacktrack(Comparison(kNE,
-                               LoadLocal(start_index_param_),
-                               Uint64Constant(0)),
-                    on_not_at_start);
+  BranchOrBacktrack(
+      Comparison(kNE, LoadLocal(start_index_param_), Uint64Constant(0)),
+      on_not_at_start);
 
   // If we did, are we still at the start of the input, i.e. is
   // (offset == string_length * -1)?
@@ -892,18 +878,16 @@
       InstanceCall(InstanceCallDescriptor::FromToken(Token::kNEGATE),
                    PushLocal(string_param_length_));
   Definition* offset_def = LoadLocal(current_position_);
-  BranchOrBacktrack(Comparison(kNE, neg_len_def, offset_def),
-                    on_not_at_start);
+  BranchOrBacktrack(Comparison(kNE, neg_len_def, offset_def), on_not_at_start);
 }
 
 
 void IRRegExpMacroAssembler::CheckCharacterLT(uint16_t limit,
                                               BlockLabel* on_less) {
   TAG();
-  BranchOrBacktrack(Comparison(kLT,
-                               LoadLocal(current_character_),
-                               Uint64Constant(limit)),
-                    on_less);
+  BranchOrBacktrack(
+      Comparison(kLT, LoadLocal(current_character_), Uint64Constant(limit)),
+      on_less);
 }
 
 
@@ -914,8 +898,7 @@
 
   Definition* head = PeekStack();
   Definition* cur_pos_def = LoadLocal(current_position_);
-  BranchOrBacktrack(Comparison(kNE, head, cur_pos_def),
-                    &fallthrough);
+  BranchOrBacktrack(Comparison(kNE, head, cur_pos_def), &fallthrough);
 
   // Pop, throwing away the value.
   Do(PopStack());
@@ -943,29 +926,26 @@
   // the start of the capture.
   // BranchOrBacktrack(less, on_no_match);
 
-  BranchOrBacktrack(Comparison(kLT,
-                               LoadLocal(capture_length_),
-                               Uint64Constant(0)),
-                    on_no_match);
+  BranchOrBacktrack(
+      Comparison(kLT, LoadLocal(capture_length_), Uint64Constant(0)),
+      on_no_match);
 
   // If length is zero, either the capture is empty or it is completely
   // uncaptured. In either case succeed immediately.
-  BranchOrBacktrack(Comparison(kEQ,
-                               LoadLocal(capture_length_),
-                               Uint64Constant(0)),
-                    &fallthrough);
+  BranchOrBacktrack(
+      Comparison(kEQ, LoadLocal(capture_length_), Uint64Constant(0)),
+      &fallthrough);
 
 
   // Check that there are sufficient characters left in the input.
   PushArgumentInstr* pos_push = PushLocal(current_position_);
   PushArgumentInstr* len_push = PushLocal(capture_length_);
   BranchOrBacktrack(
-        Comparison(kGT,
-                   InstanceCall(InstanceCallDescriptor::FromToken(Token::kADD),
-                                pos_push,
-                                len_push),
-                   Uint64Constant(0)),
-        on_no_match);
+      Comparison(kGT,
+                 InstanceCall(InstanceCallDescriptor::FromToken(Token::kADD),
+                              pos_push, len_push),
+                 Uint64Constant(0)),
+      on_no_match);
 
   pos_push = PushLocal(current_position_);
   len_push = PushLocal(string_param_length_);
@@ -988,63 +968,54 @@
     StoreLocal(char_in_capture_, CharacterAt(capture_start_index_));
     StoreLocal(char_in_match_, CharacterAt(match_start_index_));
 
-    BranchOrBacktrack(Comparison(kEQ,
-                                 LoadLocal(char_in_capture_),
-                                 LoadLocal(char_in_match_)),
-                      &loop_increment);
+    BranchOrBacktrack(
+        Comparison(kEQ, LoadLocal(char_in_capture_), LoadLocal(char_in_match_)),
+        &loop_increment);
 
     // Mismatch, try case-insensitive match (converting letters to lower-case).
     PushArgumentInstr* match_char_push = PushLocal(char_in_match_);
     PushArgumentInstr* mask_push = PushArgument(Bind(Uint64Constant(0x20)));
-    StoreLocal(char_in_match_,
-               Bind(InstanceCall(
-                      InstanceCallDescriptor::FromToken(Token::kBIT_OR),
-                      match_char_push,
-                      mask_push)));
+    StoreLocal(
+        char_in_match_,
+        Bind(InstanceCall(InstanceCallDescriptor::FromToken(Token::kBIT_OR),
+                          match_char_push, mask_push)));
 
     BlockLabel convert_capture;
     BlockLabel on_not_in_range;
-    BranchOrBacktrack(Comparison(kLT,
-                                 LoadLocal(char_in_match_),
-                                 Uint64Constant('a')),
-                      &on_not_in_range);
-    BranchOrBacktrack(Comparison(kGT,
-                                 LoadLocal(char_in_match_),
-                                 Uint64Constant('z')),
-                      &on_not_in_range);
+    BranchOrBacktrack(
+        Comparison(kLT, LoadLocal(char_in_match_), Uint64Constant('a')),
+        &on_not_in_range);
+    BranchOrBacktrack(
+        Comparison(kGT, LoadLocal(char_in_match_), Uint64Constant('z')),
+        &on_not_in_range);
     GoTo(&convert_capture);
     BindBlock(&on_not_in_range);
 
     // Latin-1: Check for values in range [224,254] but not 247.
-    BranchOrBacktrack(Comparison(kLT,
-                                 LoadLocal(char_in_match_),
-                                 Uint64Constant(224)),
-                      on_no_match);
-    BranchOrBacktrack(Comparison(kGT,
-                                 LoadLocal(char_in_match_),
-                                 Uint64Constant(254)),
-                      on_no_match);
+    BranchOrBacktrack(
+        Comparison(kLT, LoadLocal(char_in_match_), Uint64Constant(224)),
+        on_no_match);
+    BranchOrBacktrack(
+        Comparison(kGT, LoadLocal(char_in_match_), Uint64Constant(254)),
+        on_no_match);
 
-    BranchOrBacktrack(Comparison(kEQ,
-                                 LoadLocal(char_in_match_),
-                                 Uint64Constant(247)),
-                      on_no_match);
+    BranchOrBacktrack(
+        Comparison(kEQ, LoadLocal(char_in_match_), Uint64Constant(247)),
+        on_no_match);
 
     // Also convert capture character.
     BindBlock(&convert_capture);
 
     PushArgumentInstr* capture_char_push = PushLocal(char_in_capture_);
     mask_push = PushArgument(Bind(Uint64Constant(0x20)));
-    StoreLocal(char_in_capture_,
-               Bind(InstanceCall(
-                      InstanceCallDescriptor::FromToken(Token::kBIT_OR),
-                      capture_char_push,
-                      mask_push)));
+    StoreLocal(
+        char_in_capture_,
+        Bind(InstanceCall(InstanceCallDescriptor::FromToken(Token::kBIT_OR),
+                          capture_char_push, mask_push)));
 
-    BranchOrBacktrack(Comparison(kNE,
-                                 LoadLocal(char_in_match_),
-                                 LoadLocal(char_in_capture_)),
-                      on_no_match);
+    BranchOrBacktrack(
+        Comparison(kNE, LoadLocal(char_in_match_), LoadLocal(char_in_capture_)),
+        on_no_match);
 
     BindBlock(&loop_increment);
 
@@ -1058,8 +1029,7 @@
     StoreLocal(match_start_index_, Bind(Add(index_push, inc_push)));
 
     // Compare to end of match, and loop if not done.
-    BranchOrBacktrack(Comparison(kLT,
-                                 LoadLocal(match_start_index_),
+    BranchOrBacktrack(Comparison(kLT, LoadLocal(match_start_index_),
                                  LoadLocal(match_end_index_)),
                       &loop);
   } else {
@@ -1070,13 +1040,9 @@
     Value* rhs_index_value = Bind(LoadLocal(capture_start_index_));
     Value* length_value = Bind(LoadLocal(capture_length_));
 
-    Definition* is_match_def =
-        new(Z) CaseInsensitiveCompareUC16Instr(
-                            string_value,
-                            lhs_index_value,
-                            rhs_index_value,
-                            length_value,
-                            specialization_cid_);
+    Definition* is_match_def = new (Z) CaseInsensitiveCompareUC16Instr(
+        string_value, lhs_index_value, rhs_index_value, length_value,
+        specialization_cid_);
 
     BranchOrBacktrack(Comparison(kNE, is_match_def, BoolConstant(true)),
                       on_no_match);
@@ -1093,9 +1059,8 @@
 }
 
 
-void IRRegExpMacroAssembler::CheckNotBackReference(
-    intptr_t start_reg,
-    BlockLabel* on_no_match) {
+void IRRegExpMacroAssembler::CheckNotBackReference(intptr_t start_reg,
+                                                   BlockLabel* on_no_match) {
   TAG();
   ASSERT(start_reg + 1 <= registers_count_);
 
@@ -1108,27 +1073,24 @@
   StoreLocal(capture_length_, Bind(Sub(end_push, start_push)));
 
   // Fail on partial or illegal capture (start of capture after end of capture).
-  BranchOrBacktrack(Comparison(kLT,
-                               LoadLocal(capture_length_),
-                               Uint64Constant(0)),
-                    on_no_match);
+  BranchOrBacktrack(
+      Comparison(kLT, LoadLocal(capture_length_), Uint64Constant(0)),
+      on_no_match);
 
   // Succeed on empty capture (including no capture)
-  BranchOrBacktrack(Comparison(kEQ,
-                               LoadLocal(capture_length_),
-                               Uint64Constant(0)),
-                    &fallthrough);
+  BranchOrBacktrack(
+      Comparison(kEQ, LoadLocal(capture_length_), Uint64Constant(0)),
+      &fallthrough);
 
   // Check that there are sufficient characters left in the input.
   PushArgumentInstr* pos_push = PushLocal(current_position_);
   PushArgumentInstr* len_push = PushLocal(capture_length_);
   BranchOrBacktrack(
-        Comparison(kGT,
-                   InstanceCall(InstanceCallDescriptor::FromToken(Token::kADD),
-                                pos_push,
-                                len_push),
-                   Uint64Constant(0)),
-        on_no_match);
+      Comparison(kGT,
+                 InstanceCall(InstanceCallDescriptor::FromToken(Token::kADD),
+                              pos_push, len_push),
+                 Uint64Constant(0)),
+      on_no_match);
 
   // Compute pointers to match string and capture string.
   pos_push = PushLocal(current_position_);
@@ -1149,10 +1111,9 @@
   StoreLocal(char_in_capture_, CharacterAt(capture_start_index_));
   StoreLocal(char_in_match_, CharacterAt(match_start_index_));
 
-  BranchOrBacktrack(Comparison(kNE,
-                               LoadLocal(char_in_capture_),
-                               LoadLocal(char_in_match_)),
-                    on_no_match);
+  BranchOrBacktrack(
+      Comparison(kNE, LoadLocal(char_in_capture_), LoadLocal(char_in_match_)),
+      on_no_match);
 
   // Increment indexes into capture and match strings.
   PushArgumentInstr* index_push = PushLocal(capture_start_index_);
@@ -1164,8 +1125,7 @@
   StoreLocal(match_start_index_, Bind(Add(index_push, inc_push)));
 
   // Check if we have reached end of match area.
-  BranchOrBacktrack(Comparison(kLT,
-                               LoadLocal(match_start_index_),
+  BranchOrBacktrack(Comparison(kLT, LoadLocal(match_start_index_),
                                LoadLocal(match_end_index_)),
                     &loop);
 
@@ -1183,10 +1143,9 @@
 void IRRegExpMacroAssembler::CheckNotCharacter(uint32_t c,
                                                BlockLabel* on_not_equal) {
   TAG();
-  BranchOrBacktrack(Comparison(kNE,
-                               LoadLocal(current_character_),
-                               Uint64Constant(c)),
-                    on_not_equal);
+  BranchOrBacktrack(
+      Comparison(kNE, LoadLocal(current_character_), Uint64Constant(c)),
+      on_not_equal);
 }
 
 
@@ -1201,8 +1160,7 @@
   PushArgumentInstr* actual_push = PushArgument(Bind(actual_def));
   PushArgumentInstr* mask_push = PushArgument(Bind(Uint64Constant(mask)));
   actual_def = InstanceCall(InstanceCallDescriptor::FromToken(Token::kBIT_AND),
-                            actual_push,
-                            mask_push);
+                            actual_push, mask_push);
 
   BranchOrBacktrack(Comparison(kEQ, actual_def, expected_def), on_equal);
 }
@@ -1220,8 +1178,7 @@
   PushArgumentInstr* actual_push = PushArgument(Bind(actual_def));
   PushArgumentInstr* mask_push = PushArgument(Bind(Uint64Constant(mask)));
   actual_def = InstanceCall(InstanceCallDescriptor::FromToken(Token::kBIT_AND),
-                            actual_push,
-                            mask_push);
+                            actual_push, mask_push);
 
   BranchOrBacktrack(Comparison(kNE, actual_def, expected_def), on_not_equal);
 }
@@ -1244,17 +1201,15 @@
   actual_push = PushArgument(Bind(Sub(actual_push, minus_push)));
   PushArgumentInstr* mask_push = PushArgument(Bind(Uint64Constant(mask)));
   actual_def = InstanceCall(InstanceCallDescriptor::FromToken(Token::kBIT_AND),
-                            actual_push,
-                            mask_push);
+                            actual_push, mask_push);
 
   BranchOrBacktrack(Comparison(kNE, actual_def, expected_def), on_not_equal);
 }
 
 
-void IRRegExpMacroAssembler::CheckCharacterInRange(
-    uint16_t from,
-    uint16_t to,
-    BlockLabel* on_in_range) {
+void IRRegExpMacroAssembler::CheckCharacterInRange(uint16_t from,
+                                                   uint16_t to,
+                                                   BlockLabel* on_in_range) {
   TAG();
   ASSERT(from <= to);
 
@@ -1262,14 +1217,12 @@
   // compares. This pattern repeats in various places.
 
   BlockLabel on_not_in_range;
-  BranchOrBacktrack(Comparison(kLT,
-                               LoadLocal(current_character_),
-                               Uint64Constant(from)),
-                    &on_not_in_range);
-  BranchOrBacktrack(Comparison(kGT,
-                               LoadLocal(current_character_),
-                               Uint64Constant(to)),
-                    &on_not_in_range);
+  BranchOrBacktrack(
+      Comparison(kLT, LoadLocal(current_character_), Uint64Constant(from)),
+      &on_not_in_range);
+  BranchOrBacktrack(
+      Comparison(kGT, LoadLocal(current_character_), Uint64Constant(to)),
+      &on_not_in_range);
   BranchOrBacktrack(NULL, on_in_range);
 
   BindBlock(&on_not_in_range);
@@ -1283,40 +1236,34 @@
   TAG();
   ASSERT(from <= to);
 
-  BranchOrBacktrack(Comparison(kLT,
-                               LoadLocal(current_character_),
-                               Uint64Constant(from)),
-                    on_not_in_range);
+  BranchOrBacktrack(
+      Comparison(kLT, LoadLocal(current_character_), Uint64Constant(from)),
+      on_not_in_range);
 
-  BranchOrBacktrack(Comparison(kGT,
-                               LoadLocal(current_character_),
-                               Uint64Constant(to)),
-                    on_not_in_range);
+  BranchOrBacktrack(
+      Comparison(kGT, LoadLocal(current_character_), Uint64Constant(to)),
+      on_not_in_range);
 }
 
 
-void IRRegExpMacroAssembler::CheckBitInTable(
-    const TypedData& table,
-    BlockLabel* on_bit_set) {
+void IRRegExpMacroAssembler::CheckBitInTable(const TypedData& table,
+                                             BlockLabel* on_bit_set) {
   TAG();
 
   PushArgumentInstr* table_push =
-      PushArgument(Bind(new(Z) ConstantInstr(table)));
+      PushArgument(Bind(new (Z) ConstantInstr(table)));
   PushArgumentInstr* index_push = PushLocal(current_character_);
 
   if (mode_ != ASCII || kTableMask != Symbols::kMaxOneCharCodeSymbol) {
     PushArgumentInstr* mask_push =
         PushArgument(Bind(Uint64Constant(kTableSize - 1)));
     index_push = PushArgument(
-          Bind(InstanceCall(InstanceCallDescriptor::FromToken(Token::kBIT_AND),
-                            index_push,
-                            mask_push)));
+        Bind(InstanceCall(InstanceCallDescriptor::FromToken(Token::kBIT_AND),
+                          index_push, mask_push)));
   }
 
-  Definition* byte_def =
-      InstanceCall(InstanceCallDescriptor::FromToken(Token::kINDEX),
-                   table_push,
-                   index_push);
+  Definition* byte_def = InstanceCall(
+      InstanceCallDescriptor::FromToken(Token::kINDEX), table_push, index_push);
   Definition* zero_def = Int64Constant(0);
 
   BranchOrBacktrack(Comparison(kNE, byte_def, zero_def), on_bit_set);
@@ -1331,145 +1278,131 @@
   // Range checks (c in min..max) are generally implemented by an unsigned
   // (c - min) <= (max - min) check
   switch (type) {
-  case 's':
-    // Match space-characters
-    if (mode_ == ASCII) {
-      // One byte space characters are '\t'..'\r', ' ' and \u00a0.
+    case 's':
+      // Match space-characters
+      if (mode_ == ASCII) {
+        // One byte space characters are '\t'..'\r', ' ' and \u00a0.
+        BlockLabel success;
+        // Space (' ').
+        BranchOrBacktrack(
+            Comparison(kEQ, LoadLocal(current_character_), Uint64Constant(' ')),
+            &success);
+        // Check range 0x09..0x0d.
+        CheckCharacterInRange('\t', '\r', &success);
+        // \u00a0 (NBSP).
+        BranchOrBacktrack(Comparison(kNE, LoadLocal(current_character_),
+                                     Uint64Constant(0x00a0)),
+                          on_no_match);
+        BindBlock(&success);
+        return true;
+      }
+      return false;
+    case 'S':
+      // The emitted code for generic character classes is good enough.
+      return false;
+    case 'd':
+      // Match ASCII digits ('0'..'9')
+      CheckCharacterNotInRange('0', '9', on_no_match);
+      return true;
+    case 'D':
+      // Match non ASCII-digits
+      CheckCharacterInRange('0', '9', on_no_match);
+      return true;
+    case '.': {
+      // Match non-newlines (not 0x0a('\n'), 0x0d('\r'), 0x2028 and 0x2029)
+      BranchOrBacktrack(
+          Comparison(kEQ, LoadLocal(current_character_), Uint64Constant('\n')),
+          on_no_match);
+      BranchOrBacktrack(
+          Comparison(kEQ, LoadLocal(current_character_), Uint64Constant('\r')),
+          on_no_match);
+      if (mode_ == UC16) {
+        BranchOrBacktrack(Comparison(kEQ, LoadLocal(current_character_),
+                                     Uint64Constant(0x2028)),
+                          on_no_match);
+        BranchOrBacktrack(Comparison(kEQ, LoadLocal(current_character_),
+                                     Uint64Constant(0x2029)),
+                          on_no_match);
+      }
+      return true;
+    }
+    case 'w': {
+      if (mode_ != ASCII) {
+        // Table is 128 entries, so all ASCII characters can be tested.
+        BranchOrBacktrack(
+            Comparison(kGT, LoadLocal(current_character_), Uint64Constant('z')),
+            on_no_match);
+      }
+
+      PushArgumentInstr* table_push =
+          PushArgument(Bind(WordCharacterMapConstant()));
+      PushArgumentInstr* index_push = PushLocal(current_character_);
+
+      Definition* byte_def =
+          InstanceCall(InstanceCallDescriptor::FromToken(Token::kINDEX),
+                       table_push, index_push);
+      Definition* zero_def = Int64Constant(0);
+
+      BranchOrBacktrack(Comparison(kEQ, byte_def, zero_def), on_no_match);
+
+      return true;
+    }
+    case 'W': {
+      BlockLabel done;
+      if (mode_ != ASCII) {
+        // Table is 128 entries, so all ASCII characters can be tested.
+        BranchOrBacktrack(
+            Comparison(kGT, LoadLocal(current_character_), Uint64Constant('z')),
+            &done);
+      }
+
+      // TODO(zerny): Refactor to use CheckBitInTable if possible.
+
+      PushArgumentInstr* table_push =
+          PushArgument(Bind(WordCharacterMapConstant()));
+      PushArgumentInstr* index_push = PushLocal(current_character_);
+
+      Definition* byte_def =
+          InstanceCall(InstanceCallDescriptor::FromToken(Token::kINDEX),
+                       table_push, index_push);
+      Definition* zero_def = Int64Constant(0);
+
+      BranchOrBacktrack(Comparison(kNE, byte_def, zero_def), on_no_match);
+
+      if (mode_ != ASCII) {
+        BindBlock(&done);
+      }
+      return true;
+    }
+    // Non-standard classes (with no syntactic shorthand) used internally.
+    case '*':
+      // Match any character.
+      return true;
+    case 'n': {
+      // Match newlines (0x0a('\n'), 0x0d('\r'), 0x2028 or 0x2029).
+      // The opposite of '.'.
       BlockLabel success;
-      // Space (' ').
-      BranchOrBacktrack(Comparison(kEQ,
-                                   LoadLocal(current_character_),
-                                   Uint64Constant(' ')),
-                        &success);
-      // Check range 0x09..0x0d.
-      CheckCharacterInRange('\t', '\r', &success);
-      // \u00a0 (NBSP).
-      BranchOrBacktrack(Comparison(kNE,
-                                   LoadLocal(current_character_),
-                                   Uint64Constant(0x00a0)),
-                        on_no_match);
+      BranchOrBacktrack(
+          Comparison(kEQ, LoadLocal(current_character_), Uint64Constant('\n')),
+          &success);
+      BranchOrBacktrack(
+          Comparison(kEQ, LoadLocal(current_character_), Uint64Constant('\r')),
+          &success);
+      if (mode_ == UC16) {
+        BranchOrBacktrack(Comparison(kEQ, LoadLocal(current_character_),
+                                     Uint64Constant(0x2028)),
+                          &success);
+        BranchOrBacktrack(Comparison(kEQ, LoadLocal(current_character_),
+                                     Uint64Constant(0x2029)),
+                          &success);
+      }
+      BranchOrBacktrack(NULL, on_no_match);
       BindBlock(&success);
       return true;
     }
-    return false;
-  case 'S':
-    // The emitted code for generic character classes is good enough.
-    return false;
-  case 'd':
-    // Match ASCII digits ('0'..'9')
-    CheckCharacterNotInRange('0', '9', on_no_match);
-    return true;
-  case 'D':
-    // Match non ASCII-digits
-    CheckCharacterInRange('0', '9', on_no_match);
-    return true;
-  case '.': {
-    // Match non-newlines (not 0x0a('\n'), 0x0d('\r'), 0x2028 and 0x2029)
-    BranchOrBacktrack(Comparison(kEQ,
-                                 LoadLocal(current_character_),
-                                 Uint64Constant('\n')),
-                      on_no_match);
-    BranchOrBacktrack(Comparison(kEQ,
-                                 LoadLocal(current_character_),
-                                 Uint64Constant('\r')),
-                      on_no_match);
-    if (mode_ == UC16) {
-      BranchOrBacktrack(Comparison(kEQ,
-                                   LoadLocal(current_character_),
-                                   Uint64Constant(0x2028)),
-                        on_no_match);
-      BranchOrBacktrack(Comparison(kEQ,
-                                   LoadLocal(current_character_),
-                                   Uint64Constant(0x2029)),
-                        on_no_match);
-    }
-    return true;
-  }
-  case 'w': {
-    if (mode_ != ASCII) {
-      // Table is 128 entries, so all ASCII characters can be tested.
-      BranchOrBacktrack(Comparison(kGT,
-                                   LoadLocal(current_character_),
-                                   Uint64Constant('z')),
-                        on_no_match);
-    }
-
-    PushArgumentInstr* table_push =
-        PushArgument(Bind(WordCharacterMapConstant()));
-    PushArgumentInstr* index_push = PushLocal(current_character_);
-
-    Definition* byte_def =
-        InstanceCall(InstanceCallDescriptor::FromToken(Token::kINDEX),
-                     table_push,
-                     index_push);
-    Definition* zero_def = Int64Constant(0);
-
-    BranchOrBacktrack(Comparison(kEQ, byte_def, zero_def), on_no_match);
-
-    return true;
-  }
-  case 'W': {
-    BlockLabel done;
-    if (mode_ != ASCII) {
-      // Table is 128 entries, so all ASCII characters can be tested.
-      BranchOrBacktrack(Comparison(kGT,
-                                   LoadLocal(current_character_),
-                                   Uint64Constant('z')),
-                        &done);
-    }
-
-    // TODO(zerny): Refactor to use CheckBitInTable if possible.
-
-    PushArgumentInstr* table_push =
-        PushArgument(Bind(WordCharacterMapConstant()));
-    PushArgumentInstr* index_push = PushLocal(current_character_);
-
-    Definition* byte_def =
-        InstanceCall(InstanceCallDescriptor::FromToken(Token::kINDEX),
-                     table_push,
-                     index_push);
-    Definition* zero_def = Int64Constant(0);
-
-    BranchOrBacktrack(Comparison(kNE, byte_def, zero_def), on_no_match);
-
-    if (mode_ != ASCII) {
-      BindBlock(&done);
-    }
-    return true;
-  }
-  // Non-standard classes (with no syntactic shorthand) used internally.
-  case '*':
-    // Match any character.
-    return true;
-  case 'n': {
-    // Match newlines (0x0a('\n'), 0x0d('\r'), 0x2028 or 0x2029).
-    // The opposite of '.'.
-    BlockLabel success;
-    BranchOrBacktrack(Comparison(kEQ,
-                                 LoadLocal(current_character_),
-                                 Uint64Constant('\n')),
-                      &success);
-    BranchOrBacktrack(Comparison(kEQ,
-                                 LoadLocal(current_character_),
-                                 Uint64Constant('\r')),
-                      &success);
-    if (mode_ == UC16) {
-      BranchOrBacktrack(Comparison(kEQ,
-                                   LoadLocal(current_character_),
-                                   Uint64Constant(0x2028)),
-                        &success);
-      BranchOrBacktrack(Comparison(kEQ,
-                                   LoadLocal(current_character_),
-                                   Uint64Constant(0x2029)),
-                        &success);
-    }
-    BranchOrBacktrack(NULL, on_no_match);
-    BindBlock(&success);
-    return true;
-  }
-  // No custom implementation (yet): s(uint16_t), S(uint16_t).
-  default:
-    return false;
+    // No custom implementation (yet): s(uint16_t), S(uint16_t).
+    default:
+      return false;
   }
 }
 
@@ -1504,8 +1437,7 @@
 }
 
 
-void IRRegExpMacroAssembler::IfRegisterEqPos(intptr_t reg,
-                                             BlockLabel* if_eq) {
+void IRRegExpMacroAssembler::IfRegisterEqPos(intptr_t reg, BlockLabel* if_eq) {
   TAG();
   PushArgumentInstr* reg_push = PushArgument(LoadRegister(reg));
   PushArgumentInstr* pos = PushArgument(Bind(LoadLocal(current_position_)));
@@ -1514,7 +1446,7 @@
 
 
 RegExpMacroAssembler::IrregexpImplementation
-    IRRegExpMacroAssembler::Implementation() {
+IRRegExpMacroAssembler::Implementation() {
   return kIRImplementation;
 }
 
@@ -1524,8 +1456,8 @@
                                                   bool check_bounds,
                                                   intptr_t characters) {
   TAG();
-  ASSERT(cp_offset >= -1);      // ^ and \b can look behind one character.
-  ASSERT(cp_offset < (1<<30));  // Be sane! (And ensure negation works)
+  ASSERT(cp_offset >= -1);        // ^ and \b can look behind one character.
+  ASSERT(cp_offset < (1 << 30));  // Be sane! (And ensure negation works)
   if (check_bounds) {
     CheckPosition(cp_offset + characters - 1, on_end_of_input);
   }
@@ -1549,19 +1481,16 @@
 }
 
 
-void IRRegExpMacroAssembler::PushStack(Definition *definition) {
+void IRRegExpMacroAssembler::PushStack(Definition* definition) {
   PushArgumentInstr* stack_push = PushLocal(stack_);
   PushArgumentInstr* stack_pointer_push = PushLocal(stack_pointer_);
-  StoreLocal(stack_pointer_,
-             Bind(Add(stack_pointer_push,
-                      PushArgument(Bind(Uint64Constant(1))))));
+  StoreLocal(stack_pointer_, Bind(Add(stack_pointer_push,
+                                      PushArgument(Bind(Uint64Constant(1))))));
   stack_pointer_push = PushLocal(stack_pointer_);
   // TODO(zerny): bind value and push could break stack discipline.
   PushArgumentInstr* value_push = PushArgument(Bind(definition));
   Do(InstanceCall(InstanceCallDescriptor::FromToken(Token::kASSIGN_INDEX),
-                  stack_push,
-                  stack_pointer_push,
-                  value_push));
+                  stack_push, stack_pointer_push, value_push));
 }
 
 
@@ -1569,12 +1498,10 @@
   PushArgumentInstr* stack_push = PushLocal(stack_);
   PushArgumentInstr* stack_pointer_push1 = PushLocal(stack_pointer_);
   PushArgumentInstr* stack_pointer_push2 = PushLocal(stack_pointer_);
-  StoreLocal(stack_pointer_,
-             Bind(Sub(stack_pointer_push2,
-                      PushArgument(Bind(Uint64Constant(1))))));
+  StoreLocal(stack_pointer_, Bind(Sub(stack_pointer_push2,
+                                      PushArgument(Bind(Uint64Constant(1))))));
   return InstanceCall(InstanceCallDescriptor::FromToken(Token::kINDEX),
-                      stack_push,
-                      stack_pointer_push1);
+                      stack_push, stack_pointer_push1);
 }
 
 
@@ -1582,8 +1509,7 @@
   PushArgumentInstr* stack_push = PushLocal(stack_);
   PushArgumentInstr* stack_pointer_push = PushLocal(stack_pointer_);
   return InstanceCall(InstanceCallDescriptor::FromToken(Token::kINDEX),
-                      stack_push,
-                      stack_pointer_push);
+                      stack_push, stack_pointer_push);
 }
 
 
@@ -1616,16 +1542,13 @@
   // TODO(zerny): Refactor PushStack so it can be reused here.
   PushArgumentInstr* stack_push = PushLocal(stack_);
   PushArgumentInstr* stack_pointer_push = PushLocal(stack_pointer_);
-  StoreLocal(stack_pointer_,
-             Bind(Add(stack_pointer_push,
-                      PushArgument(Bind(Uint64Constant(1))))));
+  StoreLocal(stack_pointer_, Bind(Add(stack_pointer_push,
+                                      PushArgument(Bind(Uint64Constant(1))))));
   stack_pointer_push = PushLocal(stack_pointer_);
   // TODO(zerny): bind value and push could break stack discipline.
   PushArgumentInstr* value_push = PushArgument(LoadRegister(reg));
   Do(InstanceCall(InstanceCallDescriptor::FromToken(Token::kASSIGN_INDEX),
-                  stack_push,
-                  stack_pointer_push,
-                  value_push));
+                  stack_push, stack_pointer_push, value_push));
   CheckStackLimit();
 }
 
@@ -1637,24 +1560,21 @@
 void IRRegExpMacroAssembler::CheckStackLimit() {
   TAG();
   PushArgumentInstr* stack_push = PushLocal(stack_);
-  PushArgumentInstr* length_push = PushArgument(Bind(InstanceCall(
-      InstanceCallDescriptor(
-          String::ZoneHandle(Field::GetterSymbol(Symbols::Length()))),
-      stack_push)));
+  PushArgumentInstr* length_push = PushArgument(
+      Bind(InstanceCall(InstanceCallDescriptor(String::ZoneHandle(
+                            Field::GetterSymbol(Symbols::Length()))),
+                        stack_push)));
   PushArgumentInstr* capacity_push = PushArgument(Bind(Sub(
-      length_push,
-      PushArgument(Bind(Uint64Constant(stack_limit_slack()))))));
+      length_push, PushArgument(Bind(Uint64Constant(stack_limit_slack()))))));
   PushArgumentInstr* stack_pointer_push = PushLocal(stack_pointer_);
-  BranchInstr* branch = new(Z) BranchInstr(
-      Comparison(kGT, capacity_push, stack_pointer_push));
+  BranchInstr* branch =
+      new (Z) BranchInstr(Comparison(kGT, capacity_push, stack_pointer_push));
   CloseBlockWith(branch);
 
   BlockLabel grow_stack;
   BlockLabel fallthrough;
-  *branch->true_successor_address() =
-      TargetWithJoinGoto(fallthrough.block());
-  *branch->false_successor_address() =
-      TargetWithJoinGoto(grow_stack.block());
+  *branch->true_successor_address() = TargetWithJoinGoto(fallthrough.block());
+  *branch->false_successor_address() = TargetWithJoinGoto(grow_stack.block());
 
   BindBlock(&grow_stack);
   GrowStack();
@@ -1665,8 +1585,8 @@
 
 void IRRegExpMacroAssembler::GrowStack() {
   TAG();
-  Value* cell = Bind(new(Z) ConstantInstr(stack_array_cell_));
-  StoreLocal(stack_, Bind(new(Z) GrowRegExpStackInstr(cell)));
+  Value* cell = Bind(new (Z) ConstantInstr(stack_array_cell_));
+  StoreLocal(stack_, Bind(new (Z) GrowRegExpStackInstr(cell)));
 }
 
 
@@ -1682,7 +1602,7 @@
   StoreLocal(stack_pointer_, LoadRegister(reg));
 }
 
-void IRRegExpMacroAssembler::SetCurrentPositionFromEnd(intptr_t by)  {
+void IRRegExpMacroAssembler::SetCurrentPositionFromEnd(intptr_t by) {
   TAG();
 
   BlockLabel after_position;
@@ -1720,7 +1640,8 @@
 
 
 void IRRegExpMacroAssembler::WriteCurrentPositionToRegister(
-    intptr_t reg, intptr_t cp_offset) {
+    intptr_t reg,
+    intptr_t cp_offset) {
   TAG();
 
   PushArgumentInstr* registers_push = PushLocal(registers_);
@@ -1734,8 +1655,8 @@
 }
 
 
-void IRRegExpMacroAssembler::ClearRegisters(
-    intptr_t reg_from, intptr_t reg_to) {
+void IRRegExpMacroAssembler::ClearRegisters(intptr_t reg_from,
+                                            intptr_t reg_to) {
   TAG();
 
   ASSERT(reg_from <= reg_to);
@@ -1746,8 +1667,7 @@
   for (intptr_t reg = reg_from; reg <= reg_to; reg++) {
     PushArgumentInstr* registers_push = PushLocal(registers_);
     PushArgumentInstr* index_push = PushRegisterIndex(reg);
-    PushArgumentInstr* minus_one_push =
-        PushArgument(Bind(Int64Constant(-1)));
+    PushArgumentInstr* minus_one_push = PushArgument(Bind(Int64Constant(-1)));
     PushArgumentInstr* length_push = PushLocal(string_param_length_);
     PushArgumentInstr* value_push =
         PushArgument(Bind(Sub(minus_one_push, length_push)));
@@ -1778,14 +1698,12 @@
   // If (current_position_ < -cp_offset), we are in bounds.
   // Remember, current_position_ is a negative offset from the string end.
 
-  BranchOrBacktrack(Comparison(kGTE, curpos_def, cp_off_def),
-                    on_outside_input);
+  BranchOrBacktrack(Comparison(kGTE, curpos_def, cp_off_def), on_outside_input);
 }
 
 
-void IRRegExpMacroAssembler::BranchOrBacktrack(
-    ComparisonInstr* comparison,
-    BlockLabel* true_successor) {
+void IRRegExpMacroAssembler::BranchOrBacktrack(ComparisonInstr* comparison,
+                                               BlockLabel* true_successor) {
   if (comparison == NULL) {  // No condition
     if (true_successor == NULL) {
       Backtrack();
@@ -1806,11 +1724,9 @@
   // If the condition is not true, fall through to a new block.
   BlockLabel fallthrough;
 
-  BranchInstr* branch = new(Z) BranchInstr(comparison);
-  *branch->true_successor_address() =
-      TargetWithJoinGoto(true_successor_block);
-  *branch->false_successor_address() =
-      TargetWithJoinGoto(fallthrough.block());
+  BranchInstr* branch = new (Z) BranchInstr(comparison);
+  *branch->true_successor_address() = TargetWithJoinGoto(true_successor_block);
+  *branch->false_successor_address() = TargetWithJoinGoto(fallthrough.block());
 
   CloseBlockWith(branch);
   BindBlock(&fallthrough);
@@ -1819,11 +1735,11 @@
 
 TargetEntryInstr* IRRegExpMacroAssembler::TargetWithJoinGoto(
     JoinEntryInstr* dst) {
-  TargetEntryInstr* target = new(Z) TargetEntryInstr(
-          block_id_.Alloc(), kInvalidTryIndex);
+  TargetEntryInstr* target =
+      new (Z) TargetEntryInstr(block_id_.Alloc(), kInvalidTryIndex);
   blocks_.Add(target);
 
-  target->AppendInstruction(new(Z) GotoInstr(dst));
+  target->AppendInstruction(new (Z) GotoInstr(dst));
 
   return target;
 }
@@ -1831,11 +1747,11 @@
 
 IndirectEntryInstr* IRRegExpMacroAssembler::IndirectWithJoinGoto(
     JoinEntryInstr* dst) {
-  IndirectEntryInstr* target = new(Z) IndirectEntryInstr(
-          block_id_.Alloc(), indirect_id_.Alloc(), kInvalidTryIndex);
+  IndirectEntryInstr* target = new (Z) IndirectEntryInstr(
+      block_id_.Alloc(), indirect_id_.Alloc(), kInvalidTryIndex);
   blocks_.Add(target);
 
-  target->AppendInstruction(new(Z) GotoInstr(dst));
+  target->AppendInstruction(new (Z) GotoInstr(dst));
 
   return target;
 }
@@ -1843,27 +1759,26 @@
 
 void IRRegExpMacroAssembler::CheckPreemption() {
   TAG();
-  AppendInstruction(new(Z) CheckStackOverflowInstr(
-      TokenPosition::kNoSource, 0));
+  AppendInstruction(new (Z)
+                        CheckStackOverflowInstr(TokenPosition::kNoSource, 0));
 }
 
 
-Definition* IRRegExpMacroAssembler::Add(
-    PushArgumentInstr* lhs,
-    PushArgumentInstr* rhs) {
+Definition* IRRegExpMacroAssembler::Add(PushArgumentInstr* lhs,
+                                        PushArgumentInstr* rhs) {
   return InstanceCall(InstanceCallDescriptor::FromToken(Token::kADD), lhs, rhs);
 }
 
 
-Definition* IRRegExpMacroAssembler::Sub(
-    PushArgumentInstr* lhs,
-    PushArgumentInstr* rhs) {
+Definition* IRRegExpMacroAssembler::Sub(PushArgumentInstr* lhs,
+                                        PushArgumentInstr* rhs) {
   return InstanceCall(InstanceCallDescriptor::FromToken(Token::kSUB), lhs, rhs);
 }
 
 
 void IRRegExpMacroAssembler::LoadCurrentCharacterUnchecked(
-    intptr_t cp_offset, intptr_t characters) {
+    intptr_t cp_offset,
+    intptr_t characters) {
   TAG();
 
   ASSERT(characters == 1 || CanReadUnaligned());
@@ -1877,12 +1792,9 @@
   // Calculate the addressed string index as:
   //    cp_offset + current_position_ + string_param_length_
   // TODO(zerny): Avoid generating 'add' instance-calls here.
-  PushArgumentInstr* off_arg =
-      PushArgument(Bind(Int64Constant(cp_offset)));
-  PushArgumentInstr* pos_arg =
-      PushArgument(BindLoadLocal(*current_position_));
-  PushArgumentInstr* off_pos_arg =
-      PushArgument(Bind(Add(off_arg, pos_arg)));
+  PushArgumentInstr* off_arg = PushArgument(Bind(Int64Constant(cp_offset)));
+  PushArgumentInstr* pos_arg = PushArgument(BindLoadLocal(*current_position_));
+  PushArgumentInstr* off_pos_arg = PushArgument(Bind(Add(off_arg, pos_arg)));
   PushArgumentInstr* len_arg =
       PushArgument(BindLoadLocal(*string_param_length_));
   // Index is stored in a temporary local so that we can later load it safely.
@@ -1921,20 +1833,16 @@
     // the first value is consumed to obtain the second value which is consumed
     // by LoadCodeUnitsAtInstr below.
     Value* external_val =
-        Bind(new(Z) LoadUntaggedInstr(pattern_val, external_offset));
-    pattern_val =
-        Bind(new(Z) LoadUntaggedInstr(external_val, data_offset));
+        Bind(new (Z) LoadUntaggedInstr(pattern_val, external_offset));
+    pattern_val = Bind(new (Z) LoadUntaggedInstr(external_val, data_offset));
   }
 
   // Here pattern_val might be untagged so this must not trigger a GC.
   Value* index_val = BindLoadLocal(*index);
 
-  return Bind(new(Z) LoadCodeUnitsInstr(
-      pattern_val,
-      index_val,
-      characters,
-      specialization_cid_,
-      TokenPosition::kNoSource));
+  return Bind(new (Z) LoadCodeUnitsInstr(pattern_val, index_val, characters,
+                                         specialization_cid_,
+                                         TokenPosition::kNoSource));
 }
 
 
diff --git a/runtime/vm/regexp_assembler_ir.h b/runtime/vm/regexp_assembler_ir.h
index 8aae558..a08e05f 100644
--- a/runtime/vm/regexp_assembler_ir.h
+++ b/runtime/vm/regexp_assembler_ir.h
@@ -83,13 +83,15 @@
   // Checks whether the given offset from the current position is before
   // the end of the string.
   virtual void CheckPosition(intptr_t cp_offset, BlockLabel* on_outside_input);
-  virtual bool CheckSpecialCharacterClass(
-      uint16_t type, BlockLabel* on_no_match);
+  virtual bool CheckSpecialCharacterClass(uint16_t type,
+                                          BlockLabel* on_no_match);
   virtual void Fail();
   virtual void IfRegisterGE(intptr_t reg,
-                            intptr_t comparand, BlockLabel* if_ge);
+                            intptr_t comparand,
+                            BlockLabel* if_ge);
   virtual void IfRegisterLT(intptr_t reg,
-                            intptr_t comparand, BlockLabel* if_lt);
+                            intptr_t comparand,
+                            BlockLabel* if_lt);
   virtual void IfRegisterEqPos(intptr_t reg, BlockLabel* if_eq);
   virtual IrregexpImplementation Implementation();
   virtual void GoTo(BlockLabel* to);
@@ -149,44 +151,48 @@
   struct InstanceCallDescriptor {
     // Standard (i.e. most non-Smi) functions.
     explicit InstanceCallDescriptor(const String& name)
-      : name(name),
-        token_kind(Token::kILLEGAL),
-        checked_argument_count(1) { }
+        : name(name), token_kind(Token::kILLEGAL), checked_argument_count(1) {}
 
     InstanceCallDescriptor(const String& name,
                            Token::Kind token_kind,
                            intptr_t checked_argument_count)
-      : name(name),
-        token_kind(token_kind),
-        checked_argument_count(checked_argument_count) { }
+        : name(name),
+          token_kind(token_kind),
+          checked_argument_count(checked_argument_count) {}
 
     // Special cases for Smi and indexing functions.
     static InstanceCallDescriptor FromToken(Token::Kind token_kind) {
       switch (token_kind) {
-        case Token::kEQ: return InstanceCallDescriptor(
-                  Symbols::EqualOperator(), token_kind, 2);
-        case Token::kADD: return InstanceCallDescriptor(
-                Symbols::Plus(), token_kind, 2);
-        case Token::kSUB: return InstanceCallDescriptor(
-                Symbols::Minus(), token_kind, 2);
-        case Token::kBIT_OR: return InstanceCallDescriptor(
-                Symbols::BitOr(), token_kind, 2);
-        case Token::kBIT_AND: return InstanceCallDescriptor(
-                Symbols::BitAnd(), token_kind, 2);
-        case Token::kLT: return InstanceCallDescriptor(
-                Symbols::LAngleBracket(), token_kind, 2);
-        case Token::kLTE: return InstanceCallDescriptor(
-                Symbols::LessEqualOperator(), token_kind, 2);
-        case Token::kGT: return InstanceCallDescriptor(
-                Symbols::RAngleBracket(), token_kind, 2);
-        case Token::kGTE: return InstanceCallDescriptor(
-                Symbols::GreaterEqualOperator(), token_kind, 2);
-        case Token::kNEGATE: return InstanceCallDescriptor(
-                Symbols::UnaryMinus(), token_kind, 1);
-        case Token::kINDEX: return InstanceCallDescriptor(
-                Symbols::IndexToken(), token_kind, 2);
-        case Token::kASSIGN_INDEX: return InstanceCallDescriptor(
-                Symbols::AssignIndexToken(), token_kind, 2);
+        case Token::kEQ:
+          return InstanceCallDescriptor(Symbols::EqualOperator(), token_kind,
+                                        2);
+        case Token::kADD:
+          return InstanceCallDescriptor(Symbols::Plus(), token_kind, 2);
+        case Token::kSUB:
+          return InstanceCallDescriptor(Symbols::Minus(), token_kind, 2);
+        case Token::kBIT_OR:
+          return InstanceCallDescriptor(Symbols::BitOr(), token_kind, 2);
+        case Token::kBIT_AND:
+          return InstanceCallDescriptor(Symbols::BitAnd(), token_kind, 2);
+        case Token::kLT:
+          return InstanceCallDescriptor(Symbols::LAngleBracket(), token_kind,
+                                        2);
+        case Token::kLTE:
+          return InstanceCallDescriptor(Symbols::LessEqualOperator(),
+                                        token_kind, 2);
+        case Token::kGT:
+          return InstanceCallDescriptor(Symbols::RAngleBracket(), token_kind,
+                                        2);
+        case Token::kGTE:
+          return InstanceCallDescriptor(Symbols::GreaterEqualOperator(),
+                                        token_kind, 2);
+        case Token::kNEGATE:
+          return InstanceCallDescriptor(Symbols::UnaryMinus(), token_kind, 1);
+        case Token::kINDEX:
+          return InstanceCallDescriptor(Symbols::IndexToken(), token_kind, 2);
+        case Token::kASSIGN_INDEX:
+          return InstanceCallDescriptor(Symbols::AssignIndexToken(), token_kind,
+                                        2);
         default:
           UNREACHABLE();
       }
@@ -294,9 +300,7 @@
   intptr_t GetNextLocalIndex();
 
   // We never have any copied parameters.
-  intptr_t num_copied_params() const {
-    return 0;
-  }
+  intptr_t num_copied_params() const { return 0; }
 
   // Return the position register at the specified index, creating it if
   // necessary. Note that the number of such registers can exceed the amount
@@ -336,7 +340,7 @@
   // A utility class tracking ids of various objects such as blocks, temps, etc.
   class IdAllocator : public ValueObject {
    public:
-    IdAllocator() : next_id(0) { }
+    IdAllocator() : next_id(0) {}
 
     intptr_t Count() const { return next_id; }
     intptr_t Alloc(intptr_t count = 1) {
diff --git a/runtime/vm/regexp_ast.cc b/runtime/vm/regexp_ast.cc
index 9296170..7e0cbc7 100644
--- a/runtime/vm/regexp_ast.cc
+++ b/runtime/vm/regexp_ast.cc
@@ -9,25 +9,21 @@
 
 namespace dart {
 
-#define MAKE_ACCEPT(Name)                                            \
-  void* RegExp##Name::Accept(RegExpVisitor* visitor, void* data) {   \
-    return visitor->Visit##Name(this, data);                         \
+#define MAKE_ACCEPT(Name)                                                      \
+  void* RegExp##Name::Accept(RegExpVisitor* visitor, void* data) {             \
+    return visitor->Visit##Name(this, data);                                   \
   }
 FOR_EACH_REG_EXP_TREE_TYPE(MAKE_ACCEPT)
 #undef MAKE_ACCEPT
 
-#define MAKE_TYPE_CASE(Name)                                         \
-  RegExp##Name* RegExpTree::As##Name() {                             \
-    return NULL;                                                     \
-  }                                                                  \
+#define MAKE_TYPE_CASE(Name)                                                   \
+  RegExp##Name* RegExpTree::As##Name() { return NULL; }                        \
   bool RegExpTree::Is##Name() const { return false; }
 FOR_EACH_REG_EXP_TREE_TYPE(MAKE_TYPE_CASE)
 #undef MAKE_TYPE_CASE
 
-#define MAKE_TYPE_CASE(Name)                                        \
-  RegExp##Name* RegExp##Name::As##Name() {                          \
-    return this;                                                    \
-  }                                                                 \
+#define MAKE_TYPE_CASE(Name)                                                   \
+  RegExp##Name* RegExp##Name::As##Name() { return this; }                      \
   bool RegExp##Name::Is##Name() const { return true; }
 FOR_EACH_REG_EXP_TREE_TYPE(MAKE_TYPE_CASE)
 #undef MAKE_TYPE_CASE
@@ -81,8 +77,12 @@
   ZoneGrowableArray<RegExpTree*>* nodes = this->nodes();
   for (intptr_t i = 0; i < nodes->length(); i++) {
     RegExpTree* node = nodes->At(i);
-    if (node->IsAnchoredAtStart()) { return true; }
-    if (node->max_match() > 0) { return false; }
+    if (node->IsAnchoredAtStart()) {
+      return true;
+    }
+    if (node->max_match() > 0) {
+      return false;
+    }
   }
   return false;
 }
@@ -92,8 +92,12 @@
   ZoneGrowableArray<RegExpTree*>* nodes = this->nodes();
   for (intptr_t i = nodes->length() - 1; i >= 0; i--) {
     RegExpTree* node = nodes->At(i);
-    if (node->IsAnchoredAtEnd()) { return true; }
-    if (node->max_match() > 0) { return false; }
+    if (node->IsAnchoredAtEnd()) {
+      return true;
+    }
+    if (node->max_match() > 0) {
+      return false;
+    }
   }
   return false;
 }
@@ -102,8 +106,7 @@
 bool RegExpDisjunction::IsAnchoredAtStart() const {
   ZoneGrowableArray<RegExpTree*>* alternatives = this->alternatives();
   for (intptr_t i = 0; i < alternatives->length(); i++) {
-    if (!alternatives->At(i)->IsAnchoredAtStart())
-      return false;
+    if (!alternatives->At(i)->IsAnchoredAtStart()) return false;
   }
   return true;
 }
@@ -112,8 +115,7 @@
 bool RegExpDisjunction::IsAnchoredAtEnd() const {
   ZoneGrowableArray<RegExpTree*>* alternatives = this->alternatives();
   for (intptr_t i = 0; i < alternatives->length(); i++) {
-    if (!alternatives->At(i)->IsAnchoredAtEnd())
-      return false;
+    if (!alternatives->At(i)->IsAnchoredAtEnd()) return false;
   }
   return true;
 }
@@ -142,8 +144,7 @@
 class RegExpUnparser : public RegExpVisitor {
  public:
   void VisitCharacterRange(CharacterRange that);
-#define MAKE_CASE(Name) virtual void* Visit##Name(RegExp##Name*,          \
-                                                  void* data);
+#define MAKE_CASE(Name) virtual void* Visit##Name(RegExp##Name*, void* data);
   FOR_EACH_REG_EXP_TREE_TYPE(MAKE_CASE)
 #undef MAKE_CASE
 };
@@ -151,7 +152,7 @@
 
 void* RegExpUnparser::VisitDisjunction(RegExpDisjunction* that, void* data) {
   OS::Print("(|");
-  for (intptr_t i = 0; i <  that->alternatives()->length(); i++) {
+  for (intptr_t i = 0; i < that->alternatives()->length(); i++) {
     OS::Print(" ");
     (*that->alternatives())[i]->Accept(this, data);
   }
@@ -180,7 +181,6 @@
 }
 
 
-
 void* RegExpUnparser::VisitCharacterClass(RegExpCharacterClass* that,
                                           void* data) {
   if (that->is_negated()) OS::Print("^");
@@ -207,7 +207,7 @@
       break;
     case RegExpAssertion::END_OF_LINE:
       OS::Print("@$l");
-       break;
+      break;
     case RegExpAssertion::BOUNDARY:
       OS::Print("@b");
       break;
@@ -275,8 +275,7 @@
 }
 
 
-void* RegExpUnparser::VisitBackReference(RegExpBackReference* that,
-                                         void*) {
+void* RegExpUnparser::VisitBackReference(RegExpBackReference* that, void*) {
   OS::Print("(<- %" Pd ")", that->index());
   return NULL;
 }
diff --git a/runtime/vm/regexp_ast.h b/runtime/vm/regexp_ast.h
index 1eca49b..3d5601a 100644
--- a/runtime/vm/regexp_ast.h
+++ b/runtime/vm/regexp_ast.h
@@ -28,8 +28,8 @@
 
 class RegExpVisitor : public ValueObject {
  public:
-  virtual ~RegExpVisitor() { }
-#define MAKE_CASE(Name)                                              \
+  virtual ~RegExpVisitor() {}
+#define MAKE_CASE(Name)                                                        \
   virtual void* Visit##Name(RegExp##Name*, void* data) = 0;
   FOR_EACH_REG_EXP_TREE_TYPE(MAKE_CASE)
 #undef MAKE_CASE
@@ -53,8 +53,8 @@
   virtual Interval CaptureRegisters() const { return Interval::Empty(); }
   virtual void AppendToText(RegExpText* text);
   void Print();
-#define MAKE_ASTYPE(Name)                                                  \
-  virtual RegExp##Name* As##Name();                                        \
+#define MAKE_ASTYPE(Name)                                                      \
+  virtual RegExp##Name* As##Name();                                            \
   virtual bool Is##Name() const;
   FOR_EACH_REG_EXP_TREE_TYPE(MAKE_ASTYPE)
 #undef MAKE_ASTYPE
@@ -65,8 +65,7 @@
  public:
   explicit RegExpDisjunction(ZoneGrowableArray<RegExpTree*>* alternatives);
   virtual void* Accept(RegExpVisitor* visitor, void* data);
-  virtual RegExpNode* ToNode(RegExpCompiler* compiler,
-                             RegExpNode* on_success);
+  virtual RegExpNode* ToNode(RegExpCompiler* compiler, RegExpNode* on_success);
   virtual RegExpDisjunction* AsDisjunction();
   virtual Interval CaptureRegisters() const;
   virtual bool IsDisjunction() const;
@@ -75,6 +74,7 @@
   virtual intptr_t min_match() const { return min_match_; }
   virtual intptr_t max_match() const { return max_match_; }
   ZoneGrowableArray<RegExpTree*>* alternatives() const { return alternatives_; }
+
  private:
   ZoneGrowableArray<RegExpTree*>* alternatives_;
   intptr_t min_match_;
@@ -86,8 +86,7 @@
  public:
   explicit RegExpAlternative(ZoneGrowableArray<RegExpTree*>* nodes);
   virtual void* Accept(RegExpVisitor* visitor, void* data);
-  virtual RegExpNode* ToNode(RegExpCompiler* compiler,
-                             RegExpNode* on_success);
+  virtual RegExpNode* ToNode(RegExpCompiler* compiler, RegExpNode* on_success);
   virtual RegExpAlternative* AsAlternative();
   virtual Interval CaptureRegisters() const;
   virtual bool IsAlternative() const;
@@ -96,6 +95,7 @@
   virtual intptr_t min_match() const { return min_match_; }
   virtual intptr_t max_match() const { return max_match_; }
   ZoneGrowableArray<RegExpTree*>* nodes() const { return nodes_; }
+
  private:
   ZoneGrowableArray<RegExpTree*>* nodes_;
   intptr_t min_match_;
@@ -113,10 +113,9 @@
     BOUNDARY,
     NON_BOUNDARY
   };
-  explicit RegExpAssertion(AssertionType type) : assertion_type_(type) { }
+  explicit RegExpAssertion(AssertionType type) : assertion_type_(type) {}
   virtual void* Accept(RegExpVisitor* visitor, void* data);
-  virtual RegExpNode* ToNode(RegExpCompiler* compiler,
-                             RegExpNode* on_success);
+  virtual RegExpNode* ToNode(RegExpCompiler* compiler, RegExpNode* on_success);
   virtual RegExpAssertion* AsAssertion();
   virtual bool IsAssertion() const;
   virtual bool IsAnchoredAtStart() const;
@@ -124,6 +123,7 @@
   virtual intptr_t min_match() const { return 0; }
   virtual intptr_t max_match() const { return 0; }
   AssertionType assertion_type() const { return assertion_type_; }
+
  private:
   AssertionType assertion_type_;
 };
@@ -132,11 +132,9 @@
 class CharacterSet : public ValueObject {
  public:
   explicit CharacterSet(uint16_t standard_set_type)
-      : ranges_(NULL),
-        standard_set_type_(standard_set_type) {}
+      : ranges_(NULL), standard_set_type_(standard_set_type) {}
   explicit CharacterSet(ZoneGrowableArray<CharacterRange>* ranges)
-      : ranges_(ranges),
-        standard_set_type_(0) {}
+      : ranges_(ranges), standard_set_type_(0) {}
   CharacterSet(const CharacterSet& that)
       : ValueObject(),
         ranges_(that.ranges_),
@@ -148,6 +146,7 @@
   }
   bool is_standard() { return standard_set_type_ != 0; }
   void Canonicalize();
+
  private:
   ZoneGrowableArray<CharacterRange>* ranges_;
   // If non-zero, the value represents a standard set (e.g., all whitespace
@@ -160,14 +159,11 @@
  public:
   RegExpCharacterClass(ZoneGrowableArray<CharacterRange>* ranges,
                        bool is_negated)
-      : set_(ranges),
-        is_negated_(is_negated) { }
+      : set_(ranges), is_negated_(is_negated) {}
   explicit RegExpCharacterClass(uint16_t type)
-      : set_(type),
-        is_negated_(false) { }
+      : set_(type), is_negated_(false) {}
   virtual void* Accept(RegExpVisitor* visitor, void* data);
-  virtual RegExpNode* ToNode(RegExpCompiler* compiler,
-                             RegExpNode* on_success);
+  virtual RegExpNode* ToNode(RegExpCompiler* compiler, RegExpNode* on_success);
   virtual RegExpCharacterClass* AsCharacterClass();
   virtual bool IsCharacterClass() const;
   virtual bool IsTextElement() const { return true; }
@@ -190,9 +186,7 @@
   // . : non-unicode non-newline
   // * : All characters
   uint16_t standard_type() const { return set_.standard_set_type(); }
-  ZoneGrowableArray<CharacterRange>* ranges() {
-    return set_.ranges();
-  }
+  ZoneGrowableArray<CharacterRange>* ranges() { return set_.ranges(); }
   bool is_negated() const { return is_negated_; }
 
  private:
@@ -203,10 +197,9 @@
 
 class RegExpAtom : public RegExpTree {
  public:
-  explicit RegExpAtom(ZoneGrowableArray<uint16_t>* data) : data_(data) { }
+  explicit RegExpAtom(ZoneGrowableArray<uint16_t>* data) : data_(data) {}
   virtual void* Accept(RegExpVisitor* visitor, void* data);
-  virtual RegExpNode* ToNode(RegExpCompiler* compiler,
-                             RegExpNode* on_success);
+  virtual RegExpNode* ToNode(RegExpCompiler* compiler, RegExpNode* on_success);
   virtual RegExpAtom* AsAtom();
   virtual bool IsAtom() const;
   virtual bool IsTextElement() const { return true; }
@@ -215,6 +208,7 @@
   virtual void AppendToText(RegExpText* text);
   ZoneGrowableArray<uint16_t>* data() const { return data_; }
   intptr_t length() const { return data_->length(); }
+
  private:
   ZoneGrowableArray<uint16_t>* data_;
 };
@@ -224,19 +218,19 @@
  public:
   RegExpText() : elements_(2), length_(0) {}
   virtual void* Accept(RegExpVisitor* visitor, void* data);
-  virtual RegExpNode* ToNode(RegExpCompiler* compiler,
-                             RegExpNode* on_success);
+  virtual RegExpNode* ToNode(RegExpCompiler* compiler, RegExpNode* on_success);
   virtual RegExpText* AsText();
   virtual bool IsText() const;
   virtual bool IsTextElement() const { return true; }
   virtual intptr_t min_match() const { return length_; }
   virtual intptr_t max_match() const { return length_; }
   virtual void AppendToText(RegExpText* text);
-  void AddElement(TextElement elm)  {
+  void AddElement(TextElement elm) {
     elements_.Add(elm);
     length_ += elm.length();
   }
   GrowableArray<TextElement>* elements() { return &elements_; }
+
  private:
   GrowableArray<TextElement> elements_;
   intptr_t length_;
@@ -246,8 +240,10 @@
 class RegExpQuantifier : public RegExpTree {
  public:
   enum QuantifierType { GREEDY, NON_GREEDY, POSSESSIVE };
-  RegExpQuantifier(intptr_t min, intptr_t max,
-                   QuantifierType type, RegExpTree* body)
+  RegExpQuantifier(intptr_t min,
+                   intptr_t max,
+                   QuantifierType type,
+                   RegExpTree* body)
       : body_(body),
         min_(min),
         max_(max),
@@ -260,8 +256,7 @@
     }
   }
   virtual void* Accept(RegExpVisitor* visitor, void* data);
-  virtual RegExpNode* ToNode(RegExpCompiler* compiler,
-                             RegExpNode* on_success);
+  virtual RegExpNode* ToNode(RegExpCompiler* compiler, RegExpNode* on_success);
   static RegExpNode* ToNode(intptr_t min,
                             intptr_t max,
                             bool is_greedy,
@@ -294,10 +289,9 @@
 class RegExpCapture : public RegExpTree {
  public:
   explicit RegExpCapture(RegExpTree* body, intptr_t index)
-      : body_(body), index_(index) { }
+      : body_(body), index_(index) {}
   virtual void* Accept(RegExpVisitor* visitor, void* data);
-  virtual RegExpNode* ToNode(RegExpCompiler* compiler,
-                             RegExpNode* on_success);
+  virtual RegExpNode* ToNode(RegExpCompiler* compiler, RegExpNode* on_success);
   static RegExpNode* ToNode(RegExpTree* body,
                             intptr_t index,
                             RegExpCompiler* compiler,
@@ -329,11 +323,10 @@
       : body_(body),
         is_positive_(is_positive),
         capture_count_(capture_count),
-        capture_from_(capture_from) { }
+        capture_from_(capture_from) {}
 
   virtual void* Accept(RegExpVisitor* visitor, void* data);
-  virtual RegExpNode* ToNode(RegExpCompiler* compiler,
-                             RegExpNode* on_success);
+  virtual RegExpNode* ToNode(RegExpCompiler* compiler, RegExpNode* on_success);
   virtual RegExpLookahead* AsLookahead();
   virtual Interval CaptureRegisters() const;
   virtual bool IsLookahead() const;
@@ -355,17 +348,16 @@
 
 class RegExpBackReference : public RegExpTree {
  public:
-  explicit RegExpBackReference(RegExpCapture* capture)
-      : capture_(capture) { }
+  explicit RegExpBackReference(RegExpCapture* capture) : capture_(capture) {}
   virtual void* Accept(RegExpVisitor* visitor, void* data);
-  virtual RegExpNode* ToNode(RegExpCompiler* compiler,
-                             RegExpNode* on_success);
+  virtual RegExpNode* ToNode(RegExpCompiler* compiler, RegExpNode* on_success);
   virtual RegExpBackReference* AsBackReference();
   virtual bool IsBackReference() const;
   virtual intptr_t min_match() const { return 0; }
   virtual intptr_t max_match() const { return capture_->max_match(); }
   intptr_t index() const { return capture_->index(); }
   RegExpCapture* capture() const { return capture_; }
+
  private:
   RegExpCapture* capture_;
 };
@@ -373,10 +365,9 @@
 
 class RegExpEmpty : public RegExpTree {
  public:
-  RegExpEmpty() { }
+  RegExpEmpty() {}
   virtual void* Accept(RegExpVisitor* visitor, void* data);
-  virtual RegExpNode* ToNode(RegExpCompiler* compiler,
-                             RegExpNode* on_success);
+  virtual RegExpNode* ToNode(RegExpCompiler* compiler, RegExpNode* on_success);
   virtual RegExpEmpty* AsEmpty();
   virtual bool IsEmpty() const;
   virtual intptr_t min_match() const { return 0; }
diff --git a/runtime/vm/regexp_bytecodes.h b/runtime/vm/regexp_bytecodes.h
index 67d26dc..c2ef82b 100644
--- a/runtime/vm/regexp_bytecodes.h
+++ b/runtime/vm/regexp_bytecodes.h
@@ -14,6 +14,7 @@
 const unsigned int MAX_FIRST_ARG = 0x7fffffu;
 const int BYTECODE_SHIFT = 8;
 
+// clang-format off
 #define BYTECODE_ITERATOR(V)                                                   \
 V(BREAK,              0, 4)   /* bc8                                        */ \
 V(PUSH_CP,            1, 4)   /* bc8 pad24                                  */ \
@@ -64,12 +65,13 @@
 V(ADVANCE_CP_AND_GOTO, 46, 8) /* bc8 offset24 addr32                        */ \
 V(SET_CURRENT_POSITION_FROM_END, 47, 4) /* bc8 idx24                        */
 
-#define DECLARE_BYTECODES(name, code, length) \
-  static const int BC_##name = code;
+// clang-format on
+
+#define DECLARE_BYTECODES(name, code, length) static const int BC_##name = code;
 BYTECODE_ITERATOR(DECLARE_BYTECODES)
 #undef DECLARE_BYTECODES
 
-#define DECLARE_BYTECODE_LENGTH(name, code, length) \
+#define DECLARE_BYTECODE_LENGTH(name, code, length)                            \
   static const int BC_##name##_LENGTH = length;
 BYTECODE_ITERATOR(DECLARE_BYTECODE_LENGTH)
 #undef DECLARE_BYTECODE_LENGTH
diff --git a/runtime/vm/regexp_interpreter.cc b/runtime/vm/regexp_interpreter.cc
index b036ec8..956d4ba 100644
--- a/runtime/vm/regexp_interpreter.cc
+++ b/runtime/vm/regexp_interpreter.cc
@@ -19,7 +19,7 @@
 
 typedef unibrow::Mapping<unibrow::Ecma262Canonicalize> Canonicalize;
 
-template<typename Char>
+template <typename Char>
 static bool BackRefMatchesNoCase(Canonicalize* interp_canonicalize,
                                  intptr_t from,
                                  intptr_t current,
@@ -36,8 +36,8 @@
     int32_t old_char = subject.CharAt(from++);
     int32_t new_char = subject.CharAt(current++);
     if (old_char == new_char) continue;
-    int32_t old_string[1] = { old_char };
-    int32_t new_string[1] = { new_char };
+    int32_t old_string[1] = {old_char};
+    int32_t new_string[1] = {new_char};
     interp_canonicalize->get(old_char, '\0', old_string);
     interp_canonicalize->get(new_char, '\0', new_string);
     if (old_string[0] != new_string[0]) {
@@ -82,16 +82,11 @@
   if (FLAG_trace_regexp_bytecodes) {
     bool printable = (current_char < 127 && current_char >= 32);
     const char* format =
-        printable ?
-        "pc = %02x, sp = %d, curpos = %d, curchar = %08x (%c), bc = %s" :
-        "pc = %02x, sp = %d, curpos = %d, curchar = %08x .%c., bc = %s";
-    OS::Print(format,
-              pc - code_base,
-              stack_depth,
-              current_position,
-              current_char,
-              printable ? current_char : '.',
-              bytecode_name);
+        printable
+            ? "pc = %02x, sp = %d, curpos = %d, curchar = %08x (%c), bc = %s"
+            : "pc = %02x, sp = %d, curpos = %d, curchar = %08x .%c., bc = %s";
+    OS::Print(format, pc - code_base, stack_depth, current_position,
+              current_char, printable ? current_char : '.', bytecode_name);
     for (int i = 0; i < bytecode_length; i++) {
       OS::Print(", %02x", pc[i]);
     }
@@ -109,30 +104,25 @@
 }
 
 
-#define BYTECODE(name)                                                      \
-  case BC_##name:                                                           \
-    TraceInterpreter(code_base,                                             \
-                     pc,                                                    \
-                     static_cast<int>(backtrack_sp - backtrack_stack_base), \
-                     current,                                               \
-                     current_char,                                          \
-                     BC_##name##_LENGTH,                                    \
-                     #name);
+#define BYTECODE(name)                                                         \
+  case BC_##name:                                                              \
+    TraceInterpreter(code_base, pc,                                            \
+                     static_cast<int>(backtrack_sp - backtrack_stack_base),    \
+                     current, current_char, BC_##name##_LENGTH, #name);
 #else
-#define BYTECODE(name)                                                      \
-  case BC_##name:
+#define BYTECODE(name) case BC_##name:
 #endif
 
 
 static int32_t Load32Aligned(const uint8_t* pc) {
   ASSERT((reinterpret_cast<intptr_t>(pc) & 3) == 0);
-  return *reinterpret_cast<const int32_t *>(pc);
+  return *reinterpret_cast<const int32_t*>(pc);
 }
 
 
 static int32_t Load16Aligned(const uint8_t* pc) {
   ASSERT((reinterpret_cast<intptr_t>(pc) & 1) == 0);
-  return *reinterpret_cast<const uint16_t *>(pc);
+  return *reinterpret_cast<const uint16_t*>(pc);
 }
 
 
@@ -190,97 +180,98 @@
     int32_t insn = Load32Aligned(pc);
     switch (insn & BYTECODE_MASK) {
       BYTECODE(BREAK)
-        UNREACHABLE();
-        return IrregexpInterpreter::RE_FAILURE;
+      UNREACHABLE();
+      return IrregexpInterpreter::RE_FAILURE;
       BYTECODE(PUSH_CP)
-        if (--backtrack_stack_space < 0) {
-          return IrregexpInterpreter::RE_EXCEPTION;
-        }
-        *backtrack_sp++ = current;
-        pc += BC_PUSH_CP_LENGTH;
-        break;
+      if (--backtrack_stack_space < 0) {
+        return IrregexpInterpreter::RE_EXCEPTION;
+      }
+      *backtrack_sp++ = current;
+      pc += BC_PUSH_CP_LENGTH;
+      break;
       BYTECODE(PUSH_BT)
-        if (--backtrack_stack_space < 0) {
-          return IrregexpInterpreter::RE_EXCEPTION;
-        }
-        *backtrack_sp++ = Load32Aligned(pc + 4);
-        pc += BC_PUSH_BT_LENGTH;
-        break;
+      if (--backtrack_stack_space < 0) {
+        return IrregexpInterpreter::RE_EXCEPTION;
+      }
+      *backtrack_sp++ = Load32Aligned(pc + 4);
+      pc += BC_PUSH_BT_LENGTH;
+      break;
       BYTECODE(PUSH_REGISTER)
-        if (--backtrack_stack_space < 0) {
-          return IrregexpInterpreter::RE_EXCEPTION;
-        }
-        *backtrack_sp++ = registers[insn >> BYTECODE_SHIFT];
-        pc += BC_PUSH_REGISTER_LENGTH;
-        break;
+      if (--backtrack_stack_space < 0) {
+        return IrregexpInterpreter::RE_EXCEPTION;
+      }
+      *backtrack_sp++ = registers[insn >> BYTECODE_SHIFT];
+      pc += BC_PUSH_REGISTER_LENGTH;
+      break;
       BYTECODE(SET_REGISTER)
-        registers[insn >> BYTECODE_SHIFT] = Load32Aligned(pc + 4);
-        pc += BC_SET_REGISTER_LENGTH;
-        break;
+      registers[insn >> BYTECODE_SHIFT] = Load32Aligned(pc + 4);
+      pc += BC_SET_REGISTER_LENGTH;
+      break;
       BYTECODE(ADVANCE_REGISTER)
-        registers[insn >> BYTECODE_SHIFT] += Load32Aligned(pc + 4);
-        pc += BC_ADVANCE_REGISTER_LENGTH;
-        break;
+      registers[insn >> BYTECODE_SHIFT] += Load32Aligned(pc + 4);
+      pc += BC_ADVANCE_REGISTER_LENGTH;
+      break;
       BYTECODE(SET_REGISTER_TO_CP)
-        registers[insn >> BYTECODE_SHIFT] = current + Load32Aligned(pc + 4);
-        pc += BC_SET_REGISTER_TO_CP_LENGTH;
-        break;
+      registers[insn >> BYTECODE_SHIFT] = current + Load32Aligned(pc + 4);
+      pc += BC_SET_REGISTER_TO_CP_LENGTH;
+      break;
       BYTECODE(SET_CP_TO_REGISTER)
-        current = registers[insn >> BYTECODE_SHIFT];
-        pc += BC_SET_CP_TO_REGISTER_LENGTH;
-        break;
+      current = registers[insn >> BYTECODE_SHIFT];
+      pc += BC_SET_CP_TO_REGISTER_LENGTH;
+      break;
       BYTECODE(SET_REGISTER_TO_SP)
-        registers[insn >> BYTECODE_SHIFT] =
-            static_cast<int>(backtrack_sp - backtrack_stack_base);
-        pc += BC_SET_REGISTER_TO_SP_LENGTH;
-        break;
+      registers[insn >> BYTECODE_SHIFT] =
+          static_cast<int>(backtrack_sp - backtrack_stack_base);
+      pc += BC_SET_REGISTER_TO_SP_LENGTH;
+      break;
       BYTECODE(SET_SP_TO_REGISTER)
-        backtrack_sp = backtrack_stack_base + registers[insn >> BYTECODE_SHIFT];
-        backtrack_stack_space = backtrack_stack.max_size() -
-            static_cast<int>(backtrack_sp - backtrack_stack_base);
-        pc += BC_SET_SP_TO_REGISTER_LENGTH;
-        break;
+      backtrack_sp = backtrack_stack_base + registers[insn >> BYTECODE_SHIFT];
+      backtrack_stack_space =
+          backtrack_stack.max_size() -
+          static_cast<int>(backtrack_sp - backtrack_stack_base);
+      pc += BC_SET_SP_TO_REGISTER_LENGTH;
+      break;
       BYTECODE(POP_CP)
-        backtrack_stack_space++;
-        --backtrack_sp;
-        current = *backtrack_sp;
-        pc += BC_POP_CP_LENGTH;
-        break;
+      backtrack_stack_space++;
+      --backtrack_sp;
+      current = *backtrack_sp;
+      pc += BC_POP_CP_LENGTH;
+      break;
       BYTECODE(POP_BT)
-        backtrack_stack_space++;
-        --backtrack_sp;
-        pc = code_base + *backtrack_sp;
-        break;
+      backtrack_stack_space++;
+      --backtrack_sp;
+      pc = code_base + *backtrack_sp;
+      break;
       BYTECODE(POP_REGISTER)
-        backtrack_stack_space++;
-        --backtrack_sp;
-        registers[insn >> BYTECODE_SHIFT] = *backtrack_sp;
-        pc += BC_POP_REGISTER_LENGTH;
-        break;
+      backtrack_stack_space++;
+      --backtrack_sp;
+      registers[insn >> BYTECODE_SHIFT] = *backtrack_sp;
+      pc += BC_POP_REGISTER_LENGTH;
+      break;
       BYTECODE(FAIL)
-        return IrregexpInterpreter::RE_FAILURE;
+      return IrregexpInterpreter::RE_FAILURE;
       BYTECODE(SUCCEED)
-        return IrregexpInterpreter::RE_SUCCESS;
+      return IrregexpInterpreter::RE_SUCCESS;
       BYTECODE(ADVANCE_CP)
-        current += insn >> BYTECODE_SHIFT;
-        pc += BC_ADVANCE_CP_LENGTH;
-        break;
+      current += insn >> BYTECODE_SHIFT;
+      pc += BC_ADVANCE_CP_LENGTH;
+      break;
       BYTECODE(GOTO)
-        pc = code_base + Load32Aligned(pc + 4);
-        break;
+      pc = code_base + Load32Aligned(pc + 4);
+      break;
       BYTECODE(ADVANCE_CP_AND_GOTO)
-        current += insn >> BYTECODE_SHIFT;
-        pc = code_base + Load32Aligned(pc + 4);
-        break;
+      current += insn >> BYTECODE_SHIFT;
+      pc = code_base + Load32Aligned(pc + 4);
+      break;
       BYTECODE(CHECK_GREEDY)
-        if (current == backtrack_sp[-1]) {
-          backtrack_sp--;
-          backtrack_stack_space++;
-          pc = code_base + Load32Aligned(pc + 4);
-        } else {
-          pc += BC_CHECK_GREEDY_LENGTH;
-        }
-        break;
+      if (current == backtrack_sp[-1]) {
+        backtrack_sp--;
+        backtrack_stack_space++;
+        pc = code_base + Load32Aligned(pc + 4);
+      } else {
+        pc += BC_CHECK_GREEDY_LENGTH;
+      }
+      break;
       BYTECODE(LOAD_CURRENT_CHAR) {
         int pos = current + (insn >> BYTECODE_SHIFT);
         if (pos >= subject_length) {
@@ -303,8 +294,8 @@
           pc = code_base + Load32Aligned(pc + 4);
         } else {
           Char next = subject.CharAt(pos + 1);
-          current_char = subject.CharAt(pos) |
-                         (next << (kBitsPerByte * sizeof(Char)));
+          current_char =
+              subject.CharAt(pos) | (next << (kBitsPerByte * sizeof(Char)));
           pc += BC_LOAD_2_CURRENT_CHARS_LENGTH;
         }
         break;
@@ -312,8 +303,8 @@
       BYTECODE(LOAD_2_CURRENT_CHARS_UNCHECKED) {
         int pos = current + (insn >> BYTECODE_SHIFT);
         Char next = subject.CharAt(pos + 1);
-        current_char = subject.CharAt(pos) |
-                       (next << (kBitsPerByte * sizeof(Char)));
+        current_char =
+            subject.CharAt(pos) | (next << (kBitsPerByte * sizeof(Char)));
         pc += BC_LOAD_2_CURRENT_CHARS_UNCHECKED_LENGTH;
         break;
       }
@@ -326,9 +317,7 @@
           Char next1 = subject.CharAt(pos + 1);
           Char next2 = subject.CharAt(pos + 2);
           Char next3 = subject.CharAt(pos + 3);
-          current_char = (subject.CharAt(pos) |
-                          (next1 << 8) |
-                          (next2 << 16) |
+          current_char = (subject.CharAt(pos) | (next1 << 8) | (next2 << 16) |
                           (next3 << 24));
           pc += BC_LOAD_4_CURRENT_CHARS_LENGTH;
         }
@@ -340,9 +329,7 @@
         Char next1 = subject.CharAt(pos + 1);
         Char next2 = subject.CharAt(pos + 2);
         Char next3 = subject.CharAt(pos + 3);
-        current_char = (subject.CharAt(pos) |
-                        (next1 << 8) |
-                        (next2 << 16) |
+        current_char = (subject.CharAt(pos) | (next1 << 8) | (next2 << 16) |
                         (next3 << 24));
         pc += BC_LOAD_4_CURRENT_CHARS_UNCHECKED_LENGTH;
         break;
@@ -480,34 +467,34 @@
         break;
       }
       BYTECODE(CHECK_REGISTER_LT)
-        if (registers[insn >> BYTECODE_SHIFT] < Load32Aligned(pc + 4)) {
-          pc = code_base + Load32Aligned(pc + 8);
-        } else {
-          pc += BC_CHECK_REGISTER_LT_LENGTH;
-        }
-        break;
+      if (registers[insn >> BYTECODE_SHIFT] < Load32Aligned(pc + 4)) {
+        pc = code_base + Load32Aligned(pc + 8);
+      } else {
+        pc += BC_CHECK_REGISTER_LT_LENGTH;
+      }
+      break;
       BYTECODE(CHECK_REGISTER_GE)
-        if (registers[insn >> BYTECODE_SHIFT] >= Load32Aligned(pc + 4)) {
-          pc = code_base + Load32Aligned(pc + 8);
-        } else {
-          pc += BC_CHECK_REGISTER_GE_LENGTH;
-        }
-        break;
+      if (registers[insn >> BYTECODE_SHIFT] >= Load32Aligned(pc + 4)) {
+        pc = code_base + Load32Aligned(pc + 8);
+      } else {
+        pc += BC_CHECK_REGISTER_GE_LENGTH;
+      }
+      break;
       BYTECODE(CHECK_REGISTER_EQ_POS)
-        if (registers[insn >> BYTECODE_SHIFT] == current) {
-          pc = code_base + Load32Aligned(pc + 4);
-        } else {
-          pc += BC_CHECK_REGISTER_EQ_POS_LENGTH;
-        }
-        break;
+      if (registers[insn >> BYTECODE_SHIFT] == current) {
+        pc = code_base + Load32Aligned(pc + 4);
+      } else {
+        pc += BC_CHECK_REGISTER_EQ_POS_LENGTH;
+      }
+      break;
       BYTECODE(CHECK_NOT_REGS_EQUAL)
-        if (registers[insn >> BYTECODE_SHIFT] ==
-            registers[Load32Aligned(pc + 4)]) {
-          pc += BC_CHECK_NOT_REGS_EQUAL_LENGTH;
-        } else {
-          pc = code_base + Load32Aligned(pc + 8);
-        }
-        break;
+      if (registers[insn >> BYTECODE_SHIFT] ==
+          registers[Load32Aligned(pc + 4)]) {
+        pc += BC_CHECK_NOT_REGS_EQUAL_LENGTH;
+      } else {
+        pc = code_base + Load32Aligned(pc + 8);
+      }
+      break;
       BYTECODE(CHECK_NOT_BACK_REF) {
         int from = registers[insn >> BYTECODE_SHIFT];
         int len = registers[(insn >> BYTECODE_SHIFT) + 1] - from;
@@ -543,8 +530,8 @@
           pc = code_base + Load32Aligned(pc + 4);
           break;
         } else {
-          if (BackRefMatchesNoCase<Char>(&canonicalize,
-                                         from, current, len, subject)) {
+          if (BackRefMatchesNoCase<Char>(&canonicalize, from, current, len,
+                                         subject)) {
             current += len;
             pc += BC_CHECK_NOT_BACK_REF_NO_CASE_LENGTH;
           } else {
@@ -554,19 +541,19 @@
         break;
       }
       BYTECODE(CHECK_AT_START)
-        if (current == 0) {
-          pc = code_base + Load32Aligned(pc + 4);
-        } else {
-          pc += BC_CHECK_AT_START_LENGTH;
-        }
-        break;
+      if (current == 0) {
+        pc = code_base + Load32Aligned(pc + 4);
+      } else {
+        pc += BC_CHECK_AT_START_LENGTH;
+      }
+      break;
       BYTECODE(CHECK_NOT_AT_START)
-        if (current == 0) {
-          pc += BC_CHECK_NOT_AT_START_LENGTH;
-        } else {
-          pc = code_base + Load32Aligned(pc + 4);
-        }
-        break;
+      if (current == 0) {
+        pc += BC_CHECK_NOT_AT_START_LENGTH;
+      } else {
+        pc = code_base + Load32Aligned(pc + 4);
+      }
+      break;
       BYTECODE(SET_CURRENT_POSITION_FROM_END) {
         int by = static_cast<uint32_t>(insn) >> BYTECODE_SHIFT;
         if (subject_length - current > by) {
@@ -599,19 +586,11 @@
   }
 
   if (subject.IsOneByteString() || subject.IsExternalOneByteString()) {
-    return RawMatch<uint8_t>(code_base,
-                             subject,
-                             registers,
-                             start_position,
-                             previous_char,
-                             zone);
+    return RawMatch<uint8_t>(code_base, subject, registers, start_position,
+                             previous_char, zone);
   } else if (subject.IsTwoByteString() || subject.IsExternalTwoByteString()) {
-    return RawMatch<uint16_t>(code_base,
-                              subject,
-                              registers,
-                              start_position,
-                              previous_char,
-                              zone);
+    return RawMatch<uint16_t>(code_base, subject, registers, start_position,
+                              previous_char, zone);
   } else {
     UNREACHABLE();
     return IrregexpInterpreter::RE_FAILURE;
diff --git a/runtime/vm/regexp_interpreter.h b/runtime/vm/regexp_interpreter.h
index e6b1898..9e4e567 100644
--- a/runtime/vm/regexp_interpreter.h
+++ b/runtime/vm/regexp_interpreter.h
@@ -15,11 +15,7 @@
 
 class IrregexpInterpreter : public AllStatic {
  public:
-  enum IrregexpResult {
-    RE_FAILURE = 0,
-    RE_SUCCESS = 1,
-    RE_EXCEPTION = -1
-  };
+  enum IrregexpResult { RE_FAILURE = 0, RE_SUCCESS = 1, RE_EXCEPTION = -1 };
 
   static IrregexpResult Match(const TypedData& bytecode,
                               const String& subject,
diff --git a/runtime/vm/regexp_parser.cc b/runtime/vm/regexp_parser.cc
index c4d471a..f75b30f 100644
--- a/runtime/vm/regexp_parser.cc
+++ b/runtime/vm/regexp_parser.cc
@@ -21,15 +21,17 @@
       text_(),
       alternatives_()
 #ifdef DEBUG
-    , last_added_(ADD_NONE)
+      ,
+      last_added_(ADD_NONE)
 #endif
-  {}
+{
+}
 
 
 void RegExpBuilder::FlushCharacters() {
   pending_empty_ = false;
   if (characters_ != NULL) {
-    RegExpTree* atom = new(Z) RegExpAtom(characters_);
+    RegExpTree* atom = new (Z) RegExpAtom(characters_);
     characters_ = NULL;
     text_.Add(atom);
     LAST(ADD_ATOM);
@@ -45,7 +47,7 @@
   } else if (num_text == 1) {
     terms_.Add(text_.Last());
   } else {
-    RegExpText* text = new(Z) RegExpText();
+    RegExpText* text = new (Z) RegExpText();
     for (intptr_t i = 0; i < num_text; i++)
       text_[i]->AppendToText(text);
     terms_.Add(text);
@@ -57,7 +59,7 @@
 void RegExpBuilder::AddCharacter(uint16_t c) {
   pending_empty_ = false;
   if (characters_ == NULL) {
-    characters_ = new(Z) ZoneGrowableArray<uint16_t>(4);
+    characters_ = new (Z) ZoneGrowableArray<uint16_t>(4);
   }
   characters_->Add(c);
   LAST(ADD_CHAR);
@@ -107,11 +109,11 @@
     alternative = terms_.Last();
   } else {
     ZoneGrowableArray<RegExpTree*>* terms =
-        new(Z) ZoneGrowableArray<RegExpTree*>();
+        new (Z) ZoneGrowableArray<RegExpTree*>();
     for (intptr_t i = 0; i < terms_.length(); i++) {
       terms->Add(terms_[i]);
     }
-    alternative = new(Z) RegExpAlternative(terms);
+    alternative = new (Z) RegExpAlternative(terms);
   }
   alternatives_.Add(alternative);
   terms_.Clear();
@@ -129,11 +131,11 @@
     return alternatives_.Last();
   }
   ZoneGrowableArray<RegExpTree*>* alternatives =
-      new(Z) ZoneGrowableArray<RegExpTree*>();
+      new (Z) ZoneGrowableArray<RegExpTree*>();
   for (intptr_t i = 0; i < alternatives_.length(); i++) {
     alternatives->Add(alternatives_[i]);
   }
-  return new(Z) RegExpDisjunction(alternatives);
+  return new (Z) RegExpDisjunction(alternatives);
 }
 
 
@@ -150,23 +152,23 @@
     DEBUG_ASSERT(last_added_ == ADD_CHAR);
     // Last atom was character.
 
-    ZoneGrowableArray<uint16_t> *char_vector =
-        new(Z) ZoneGrowableArray<uint16_t>();
+    ZoneGrowableArray<uint16_t>* char_vector =
+        new (Z) ZoneGrowableArray<uint16_t>();
     char_vector->AddArray(*characters_);
     intptr_t num_chars = char_vector->length();
     if (num_chars > 1) {
-      ZoneGrowableArray<uint16_t> *prefix =
-          new(Z) ZoneGrowableArray<uint16_t>();
+      ZoneGrowableArray<uint16_t>* prefix =
+          new (Z) ZoneGrowableArray<uint16_t>();
       for (intptr_t i = 0; i < num_chars - 1; i++) {
         prefix->Add(char_vector->At(i));
       }
-      text_.Add(new(Z) RegExpAtom(prefix));
-      ZoneGrowableArray<uint16_t> *tail = new(Z) ZoneGrowableArray<uint16_t>();
+      text_.Add(new (Z) RegExpAtom(prefix));
+      ZoneGrowableArray<uint16_t>* tail = new (Z) ZoneGrowableArray<uint16_t>();
       tail->Add(char_vector->At(num_chars - 1));
       char_vector = tail;
     }
     characters_ = NULL;
-    atom = new(Z) RegExpAtom(char_vector);
+    atom = new (Z) RegExpAtom(char_vector);
     FlushText();
   } else if (text_.length() > 0) {
     DEBUG_ASSERT(last_added_ == ADD_ATOM);
@@ -189,16 +191,14 @@
     UNREACHABLE();
     return;
   }
-  terms_.Add(new(Z) RegExpQuantifier(min, max, quantifier_type, atom));
+  terms_.Add(new (Z) RegExpQuantifier(min, max, quantifier_type, atom));
   LAST(ADD_TERM);
 }
 
 // ----------------------------------------------------------------------------
 // Implementation of Parser
 
-RegExpParser::RegExpParser(const String& in,
-                           String* error,
-                           bool multiline)
+RegExpParser::RegExpParser(const String& in, String* error, bool multiline)
     : zone_(Thread::Current()->zone()),
       error_(error),
       captures_(NULL),
@@ -216,7 +216,7 @@
 }
 
 
-bool RegExpParser::ParseFunction(ParsedFunction *parsed_function) {
+bool RegExpParser::ParseFunction(ParsedFunction* parsed_function) {
   VMTagScope tagScope(parsed_function->thread(),
                       VMTag::kCompileParseRegExpTagId);
   Zone* zone = parsed_function->zone();
@@ -225,7 +225,7 @@
   const String& pattern = String::Handle(regexp.pattern());
   const bool multiline = regexp.is_multi_line();
 
-  RegExpCompileData* compile_data = new(zone) RegExpCompileData();
+  RegExpCompileData* compile_data = new (zone) RegExpCompileData();
   if (!RegExpParser::ParseRegExp(pattern, multiline, compile_data)) {
     // Parsing failures are handled in the RegExp factory constructor.
     UNREACHABLE();
@@ -327,314 +327,325 @@
   RegExpBuilder* builder = initial_state.builder();
   while (true) {
     switch (current()) {
-    case kEndMarker:
-      if (stored_state->IsSubexpression()) {
-        // Inside a parenthesized group when hitting end of input.
-        ReportError("Unterminated group");
-        UNREACHABLE();
-      }
-      ASSERT(INITIAL == stored_state->group_type());
-      // Parsing completed successfully.
-      return builder->ToRegExp();
-    case ')': {
-      if (!stored_state->IsSubexpression()) {
-        ReportError("Unmatched ')'");
-        UNREACHABLE();
-      }
-      ASSERT(INITIAL != stored_state->group_type());
-
-      Advance();
-      // End disjunction parsing and convert builder content to new single
-      // regexp atom.
-      RegExpTree* body = builder->ToRegExp();
-
-      intptr_t end_capture_index = captures_started();
-
-      intptr_t capture_index = stored_state->capture_index();
-      SubexpressionType group_type = stored_state->group_type();
-
-      // Restore previous state.
-      stored_state = stored_state->previous_state();
-      builder = stored_state->builder();
-
-      // Build result of subexpression.
-      if (group_type == CAPTURE) {
-        RegExpCapture* capture = new(Z) RegExpCapture(body, capture_index);
-        (*captures_)[capture_index - 1] = capture;
-        body = capture;
-      } else if (group_type != GROUPING) {
-        ASSERT(group_type == POSITIVE_LOOKAHEAD ||
-               group_type == NEGATIVE_LOOKAHEAD);
-        bool is_positive = (group_type == POSITIVE_LOOKAHEAD);
-        body = new(Z) RegExpLookahead(body,
-                                      is_positive,
-                                      end_capture_index - capture_index,
-                                      capture_index);
-      }
-      builder->AddAtom(body);
-      // For compatibility with JSC and ES3, we allow quantifiers after
-      // lookaheads, and break in all cases.
-      break;
-    }
-    case '|': {
-      Advance();
-      builder->NewAlternative();
-      continue;
-    }
-    case '*':
-    case '+':
-    case '?':
-      ReportError("Nothing to repeat");
-      UNREACHABLE();
-    case '^': {
-      Advance();
-      if (multiline_) {
-        builder->AddAssertion(
-            new(Z) RegExpAssertion(RegExpAssertion::START_OF_LINE));
-      } else {
-        builder->AddAssertion(
-            new(Z) RegExpAssertion(RegExpAssertion::START_OF_INPUT));
-        set_contains_anchor();
-      }
-      continue;
-    }
-    case '$': {
-      Advance();
-      RegExpAssertion::AssertionType assertion_type =
-          multiline_ ? RegExpAssertion::END_OF_LINE :
-                       RegExpAssertion::END_OF_INPUT;
-      builder->AddAssertion(new RegExpAssertion(assertion_type));
-      continue;
-    }
-    case '.': {
-      Advance();
-      // everything except \x0a, \x0d, \u2028 and \u2029
-      ZoneGrowableArray<CharacterRange>* ranges =
-          new ZoneGrowableArray<CharacterRange>(2);
-      CharacterRange::AddClassEscape('.', ranges);
-      RegExpTree* atom = new RegExpCharacterClass(ranges, false);
-      builder->AddAtom(atom);
-      break;
-    }
-    case '(': {
-      SubexpressionType subexpr_type = CAPTURE;
-      Advance();
-      if (current() == '?') {
-        switch (Next()) {
-          case ':':
-            subexpr_type = GROUPING;
-            break;
-          case '=':
-            subexpr_type = POSITIVE_LOOKAHEAD;
-            break;
-          case '!':
-            subexpr_type = NEGATIVE_LOOKAHEAD;
-            break;
-          default:
-            ReportError("Invalid group");
-            UNREACHABLE();
-        }
-        Advance(2);
-      } else {
-        if (captures_ == NULL) {
-          captures_ = new ZoneGrowableArray<RegExpCapture*>(2);
-        }
-        if (captures_started() >= kMaxCaptures) {
-          ReportError("Too many captures");
+      case kEndMarker:
+        if (stored_state->IsSubexpression()) {
+          // Inside a parenthesized group when hitting end of input.
+          ReportError("Unterminated group");
           UNREACHABLE();
         }
-        captures_->Add(NULL);
+        ASSERT(INITIAL == stored_state->group_type());
+        // Parsing completed successfully.
+        return builder->ToRegExp();
+      case ')': {
+        if (!stored_state->IsSubexpression()) {
+          ReportError("Unmatched ')'");
+          UNREACHABLE();
+        }
+        ASSERT(INITIAL != stored_state->group_type());
+
+        Advance();
+        // End disjunction parsing and convert builder content to new single
+        // regexp atom.
+        RegExpTree* body = builder->ToRegExp();
+
+        intptr_t end_capture_index = captures_started();
+
+        intptr_t capture_index = stored_state->capture_index();
+        SubexpressionType group_type = stored_state->group_type();
+
+        // Restore previous state.
+        stored_state = stored_state->previous_state();
+        builder = stored_state->builder();
+
+        // Build result of subexpression.
+        if (group_type == CAPTURE) {
+          RegExpCapture* capture = new (Z) RegExpCapture(body, capture_index);
+          (*captures_)[capture_index - 1] = capture;
+          body = capture;
+        } else if (group_type != GROUPING) {
+          ASSERT(group_type == POSITIVE_LOOKAHEAD ||
+                 group_type == NEGATIVE_LOOKAHEAD);
+          bool is_positive = (group_type == POSITIVE_LOOKAHEAD);
+          body = new (Z)
+              RegExpLookahead(body, is_positive,
+                              end_capture_index - capture_index, capture_index);
+        }
+        builder->AddAtom(body);
+        // For compatibility with JSC and ES3, we allow quantifiers after
+        // lookaheads, and break in all cases.
+        break;
       }
-      // Store current state and begin new disjunction parsing.
-      stored_state = new RegExpParserState(stored_state, subexpr_type,
-                                           captures_started(), Z);
-      builder = stored_state->builder();
-      continue;
-    }
-    case '[': {
-      RegExpTree* atom = ParseCharacterClass();
-      builder->AddAtom(atom);
-      break;
-    }
-    // Atom ::
-    //   \ AtomEscape
-    case '\\':
-      switch (Next()) {
-      case kEndMarker:
-        ReportError("\\ at end of pattern");
+      case '|': {
+        Advance();
+        builder->NewAlternative();
+        continue;
+      }
+      case '*':
+      case '+':
+      case '?':
+        ReportError("Nothing to repeat");
         UNREACHABLE();
-      case 'b':
-        Advance(2);
-        builder->AddAssertion(
-            new RegExpAssertion(RegExpAssertion::BOUNDARY));
+      case '^': {
+        Advance();
+        if (multiline_) {
+          builder->AddAssertion(
+              new (Z) RegExpAssertion(RegExpAssertion::START_OF_LINE));
+        } else {
+          builder->AddAssertion(
+              new (Z) RegExpAssertion(RegExpAssertion::START_OF_INPUT));
+          set_contains_anchor();
+        }
         continue;
-      case 'B':
-        Advance(2);
-        builder->AddAssertion(
-            new RegExpAssertion(RegExpAssertion::NON_BOUNDARY));
+      }
+      case '$': {
+        Advance();
+        RegExpAssertion::AssertionType assertion_type =
+            multiline_ ? RegExpAssertion::END_OF_LINE
+                       : RegExpAssertion::END_OF_INPUT;
+        builder->AddAssertion(new RegExpAssertion(assertion_type));
         continue;
-      // AtomEscape ::
-      //   CharacterClassEscape
-      //
-      // CharacterClassEscape :: one of
-      //   d D s S w W
-      case 'd': case 'D': case 's': case 'S': case 'w': case 'W': {
-        uint32_t c = Next();
-        Advance(2);
+      }
+      case '.': {
+        Advance();
+        // everything except \x0a, \x0d, \u2028 and \u2029
         ZoneGrowableArray<CharacterRange>* ranges =
             new ZoneGrowableArray<CharacterRange>(2);
-        CharacterRange::AddClassEscape(c, ranges);
+        CharacterRange::AddClassEscape('.', ranges);
         RegExpTree* atom = new RegExpCharacterClass(ranges, false);
         builder->AddAtom(atom);
         break;
       }
-      case '1': case '2': case '3': case '4': case '5': case '6':
-      case '7': case '8': case '9': {
-        intptr_t index = 0;
-        if (ParseBackReferenceIndex(&index)) {
-          RegExpCapture* capture = NULL;
-          if (captures_ != NULL && index <= captures_->length()) {
-            capture = captures_->At(index - 1);
+      case '(': {
+        SubexpressionType subexpr_type = CAPTURE;
+        Advance();
+        if (current() == '?') {
+          switch (Next()) {
+            case ':':
+              subexpr_type = GROUPING;
+              break;
+            case '=':
+              subexpr_type = POSITIVE_LOOKAHEAD;
+              break;
+            case '!':
+              subexpr_type = NEGATIVE_LOOKAHEAD;
+              break;
+            default:
+              ReportError("Invalid group");
+              UNREACHABLE();
           }
-          if (capture == NULL) {
-            builder->AddEmpty();
+          Advance(2);
+        } else {
+          if (captures_ == NULL) {
+            captures_ = new ZoneGrowableArray<RegExpCapture*>(2);
+          }
+          if (captures_started() >= kMaxCaptures) {
+            ReportError("Too many captures");
+            UNREACHABLE();
+          }
+          captures_->Add(NULL);
+        }
+        // Store current state and begin new disjunction parsing.
+        stored_state = new RegExpParserState(stored_state, subexpr_type,
+                                             captures_started(), Z);
+        builder = stored_state->builder();
+        continue;
+      }
+      case '[': {
+        RegExpTree* atom = ParseCharacterClass();
+        builder->AddAtom(atom);
+        break;
+      }
+      // Atom ::
+      //   \ AtomEscape
+      case '\\':
+        switch (Next()) {
+          case kEndMarker:
+            ReportError("\\ at end of pattern");
+            UNREACHABLE();
+          case 'b':
+            Advance(2);
+            builder->AddAssertion(
+                new RegExpAssertion(RegExpAssertion::BOUNDARY));
+            continue;
+          case 'B':
+            Advance(2);
+            builder->AddAssertion(
+                new RegExpAssertion(RegExpAssertion::NON_BOUNDARY));
+            continue;
+          // AtomEscape ::
+          //   CharacterClassEscape
+          //
+          // CharacterClassEscape :: one of
+          //   d D s S w W
+          case 'd':
+          case 'D':
+          case 's':
+          case 'S':
+          case 'w':
+          case 'W': {
+            uint32_t c = Next();
+            Advance(2);
+            ZoneGrowableArray<CharacterRange>* ranges =
+                new ZoneGrowableArray<CharacterRange>(2);
+            CharacterRange::AddClassEscape(c, ranges);
+            RegExpTree* atom = new RegExpCharacterClass(ranges, false);
+            builder->AddAtom(atom);
             break;
           }
-          RegExpTree* atom = new RegExpBackReference(capture);
-          builder->AddAtom(atom);
-          break;
-        }
-        uint32_t first_digit = Next();
-        if (first_digit == '8' || first_digit == '9') {
-          // Treat as identity escape
-          builder->AddCharacter(first_digit);
-          Advance(2);
-          break;
-        }
-      }
-      // FALLTHROUGH
-      case '0': {
-        Advance();
-        uint32_t octal = ParseOctalLiteral();
-        builder->AddCharacter(octal);
-        break;
-      }
-      // ControlEscape :: one of
-      //   f n r t v
-      case 'f':
-        Advance(2);
-        builder->AddCharacter('\f');
-        break;
-      case 'n':
-        Advance(2);
-        builder->AddCharacter('\n');
-        break;
-      case 'r':
-        Advance(2);
-        builder->AddCharacter('\r');
-        break;
-      case 't':
-        Advance(2);
-        builder->AddCharacter('\t');
-        break;
-      case 'v':
-        Advance(2);
-        builder->AddCharacter('\v');
-        break;
-      case 'c': {
-        Advance();
-        uint32_t controlLetter = Next();
-        // Special case if it is an ASCII letter.
-        // Convert lower case letters to uppercase.
-        uint32_t letter = controlLetter & ~('a' ^ 'A');
-        if (letter < 'A' || 'Z' < letter) {
-          // controlLetter is not in range 'A'-'Z' or 'a'-'z'.
-          // This is outside the specification. We match JSC in
-          // reading the backslash as a literal character instead
-          // of as starting an escape.
-          builder->AddCharacter('\\');
-        } else {
-          Advance(2);
-          builder->AddCharacter(controlLetter & 0x1f);
+          case '1':
+          case '2':
+          case '3':
+          case '4':
+          case '5':
+          case '6':
+          case '7':
+          case '8':
+          case '9': {
+            intptr_t index = 0;
+            if (ParseBackReferenceIndex(&index)) {
+              RegExpCapture* capture = NULL;
+              if (captures_ != NULL && index <= captures_->length()) {
+                capture = captures_->At(index - 1);
+              }
+              if (capture == NULL) {
+                builder->AddEmpty();
+                break;
+              }
+              RegExpTree* atom = new RegExpBackReference(capture);
+              builder->AddAtom(atom);
+              break;
+            }
+            uint32_t first_digit = Next();
+            if (first_digit == '8' || first_digit == '9') {
+              // Treat as identity escape
+              builder->AddCharacter(first_digit);
+              Advance(2);
+              break;
+            }
+          }
+          // FALLTHROUGH
+          case '0': {
+            Advance();
+            uint32_t octal = ParseOctalLiteral();
+            builder->AddCharacter(octal);
+            break;
+          }
+          // ControlEscape :: one of
+          //   f n r t v
+          case 'f':
+            Advance(2);
+            builder->AddCharacter('\f');
+            break;
+          case 'n':
+            Advance(2);
+            builder->AddCharacter('\n');
+            break;
+          case 'r':
+            Advance(2);
+            builder->AddCharacter('\r');
+            break;
+          case 't':
+            Advance(2);
+            builder->AddCharacter('\t');
+            break;
+          case 'v':
+            Advance(2);
+            builder->AddCharacter('\v');
+            break;
+          case 'c': {
+            Advance();
+            uint32_t controlLetter = Next();
+            // Special case if it is an ASCII letter.
+            // Convert lower case letters to uppercase.
+            uint32_t letter = controlLetter & ~('a' ^ 'A');
+            if (letter < 'A' || 'Z' < letter) {
+              // controlLetter is not in range 'A'-'Z' or 'a'-'z'.
+              // This is outside the specification. We match JSC in
+              // reading the backslash as a literal character instead
+              // of as starting an escape.
+              builder->AddCharacter('\\');
+            } else {
+              Advance(2);
+              builder->AddCharacter(controlLetter & 0x1f);
+            }
+            break;
+          }
+          case 'x': {
+            Advance(2);
+            uint32_t value;
+            if (ParseHexEscape(2, &value)) {
+              builder->AddCharacter(value);
+            } else {
+              builder->AddCharacter('x');
+            }
+            break;
+          }
+          case 'u': {
+            Advance(2);
+            uint32_t value;
+            if (ParseHexEscape(4, &value)) {
+              builder->AddCharacter(value);
+            } else {
+              builder->AddCharacter('u');
+            }
+            break;
+          }
+          default:
+            // Identity escape.
+            builder->AddCharacter(Next());
+            Advance(2);
+            break;
         }
         break;
-      }
-      case 'x': {
-        Advance(2);
-        uint32_t value;
-        if (ParseHexEscape(2, &value)) {
-          builder->AddCharacter(value);
-        } else {
-          builder->AddCharacter('x');
+      case '{': {
+        intptr_t dummy;
+        if (ParseIntervalQuantifier(&dummy, &dummy)) {
+          ReportError("Nothing to repeat");
+          UNREACHABLE();
         }
-        break;
-      }
-      case 'u': {
-        Advance(2);
-        uint32_t value;
-        if (ParseHexEscape(4, &value)) {
-          builder->AddCharacter(value);
-        } else {
-          builder->AddCharacter('u');
-        }
-        break;
+        // fallthrough
       }
       default:
-        // Identity escape.
-        builder->AddCharacter(Next());
-        Advance(2);
+        builder->AddCharacter(current());
+        Advance();
         break;
-      }
-      break;
-    case '{': {
-      intptr_t dummy;
-      if (ParseIntervalQuantifier(&dummy, &dummy)) {
-        ReportError("Nothing to repeat");
-        UNREACHABLE();
-      }
-      // fallthrough
-    }
-    default:
-      builder->AddCharacter(current());
-      Advance();
-      break;
     }  // end switch(current())
 
     intptr_t min;
     intptr_t max;
     switch (current()) {
-    // QuantifierPrefix ::
-    //   *
-    //   +
-    //   ?
-    //   {
-    case '*':
-      min = 0;
-      max = RegExpTree::kInfinity;
-      Advance();
-      break;
-    case '+':
-      min = 1;
-      max = RegExpTree::kInfinity;
-      Advance();
-      break;
-    case '?':
-      min = 0;
-      max = 1;
-      Advance();
-      break;
-    case '{':
-      if (ParseIntervalQuantifier(&min, &max)) {
-        if (max < min) {
-          ReportError("numbers out of order in {} quantifier.");
-          UNREACHABLE();
-        }
+      // QuantifierPrefix ::
+      //   *
+      //   +
+      //   ?
+      //   {
+      case '*':
+        min = 0;
+        max = RegExpTree::kInfinity;
+        Advance();
         break;
-      } else {
+      case '+':
+        min = 1;
+        max = RegExpTree::kInfinity;
+        Advance();
+        break;
+      case '?':
+        min = 0;
+        max = 1;
+        Advance();
+        break;
+      case '{':
+        if (ParseIntervalQuantifier(&min, &max)) {
+          if (max < min) {
+            ReportError("numbers out of order in {} quantifier.");
+            UNREACHABLE();
+          }
+          break;
+        } else {
+          continue;
+        }
+      default:
         continue;
-      }
-    default:
-      continue;
     }
     RegExpQuantifier::QuantifierType quantifier_type = RegExpQuantifier::GREEDY;
     if (current() == '?') {
@@ -654,9 +665,12 @@
 // Currently only used in an ASSERT.
 static bool IsSpecialClassEscape(uint32_t c) {
   switch (c) {
-    case 'd': case 'D':
-    case 's': case 'S':
-    case 'w': case 'W':
+    case 'd':
+    case 'D':
+    case 's':
+    case 'S':
+    case 'w':
+    case 'W':
       return true;
     default:
       return false;
@@ -843,7 +857,7 @@
 }
 
 
-bool RegExpParser::ParseHexEscape(intptr_t length, uint32_t *value) {
+bool RegExpParser::ParseHexEscape(intptr_t length, uint32_t* value) {
   intptr_t start = position();
   uint32_t val = 0;
   bool done = false;
@@ -896,8 +910,7 @@
       // For compatibility with JSC, inside a character class
       // we also accept digits and underscore as control characters.
       if ((controlLetter >= '0' && controlLetter <= '9') ||
-          controlLetter == '_' ||
-          (letter >= 'A' && letter <= 'Z')) {
+          controlLetter == '_' || (letter >= 'A' && letter <= 'Z')) {
         Advance(2);
         // Control letters mapped to ASCII control characters in the range
         // 0x00-0x1f.
@@ -907,8 +920,14 @@
       // character instead of as starting an escape.
       return '\\';
     }
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7':
+    case '0':
+    case '1':
+    case '2':
+    case '3':
+    case '4':
+    case '5':
+    case '6':
+    case '7':
       // For compatibility, we interpret a decimal escape that isn't
       // a back reference (and therefore either \0 or not valid according
       // to the specification) as a 1..3 digit octal character code.
@@ -951,7 +970,12 @@
   uint32_t first = current();
   if (first == '\\') {
     switch (Next()) {
-      case 'w': case 'W': case 'd': case 'D': case 's': case 'S': {
+      case 'w':
+      case 'W':
+      case 'd':
+      case 'D':
+      case 's':
+      case 'S': {
         *char_class = Next();
         Advance(2);
         return CharacterRange::Singleton(0);  // Return dummy value.
@@ -998,7 +1022,7 @@
     Advance();
   }
   ZoneGrowableArray<CharacterRange>* ranges =
-      new(Z) ZoneGrowableArray<CharacterRange>(2);
+      new (Z) ZoneGrowableArray<CharacterRange>(2);
   while (has_more() && current() != ']') {
     uint16_t char_class = kNoCharClass;
     CharacterRange first = ParseClassAtom(&char_class);
@@ -1040,7 +1064,7 @@
     ranges->Add(CharacterRange::Everything());
     is_negated = !is_negated;
   }
-  return new(Z) RegExpCharacterClass(ranges, is_negated);
+  return new (Z) RegExpCharacterClass(ranges, is_negated);
 }
 
 
@@ -1067,8 +1091,8 @@
     Thread::Current()->clear_sticky_error();
 
     // Throw a FormatException on parsing failures.
-    const String& message = String::Handle(
-          String::Concat(result->error, input));
+    const String& message =
+        String::Handle(String::Concat(result->error, input));
     const Array& args = Array::Handle(Array::New(1));
     args.SetAt(0, message);
 
diff --git a/runtime/vm/regexp_parser.h b/runtime/vm/regexp_parser.h
index 5108e93..7ebfcd1 100644
--- a/runtime/vm/regexp_parser.h
+++ b/runtime/vm/regexp_parser.h
@@ -12,7 +12,7 @@
 namespace dart {
 
 // Accumulates RegExp atoms and assertions into lists of terms and alternatives.
-class RegExpBuilder: public ZoneAllocated {
+class RegExpBuilder : public ZoneAllocated {
  public:
   RegExpBuilder();
 
@@ -23,8 +23,9 @@
   void AddAtom(RegExpTree* tree);
   void AddAssertion(RegExpTree* tree);
   void NewAlternative();  // '|'
-  void AddQuantifierToAtom(
-      intptr_t min, intptr_t max, RegExpQuantifier::QuantifierType type);
+  void AddQuantifierToAtom(intptr_t min,
+                           intptr_t max,
+                           RegExpQuantifier::QuantifierType type);
   RegExpTree* ToRegExp();
 
  private:
@@ -41,7 +42,7 @@
   GrowableArray<RegExpTree*> text_;
   GrowableArray<RegExpTree*> alternatives_;
 #ifdef DEBUG
-  enum {ADD_NONE, ADD_CHAR, ADD_TERM, ADD_ASSERT, ADD_ATOM} last_added_;
+  enum { ADD_NONE, ADD_CHAR, ADD_TERM, ADD_ASSERT, ADD_ATOM } last_added_;
 #define LAST(x) last_added_ = x;
 #else
 #define LAST(x)
@@ -50,9 +51,7 @@
 
 class RegExpParser : public ValueObject {
  public:
-  RegExpParser(const String& in,
-               String* error,
-               bool multiline_mode);
+  RegExpParser(const String& in, String* error, bool multiline_mode);
 
   static bool ParseFunction(ParsedFunction* parsed_function);
 
@@ -96,8 +95,9 @@
   bool simple();
   bool contains_anchor() { return contains_anchor_; }
   void set_contains_anchor() { contains_anchor_ = true; }
-  intptr_t captures_started() { return captures_ == NULL ?
-          0 : captures_->length(); }
+  intptr_t captures_started() {
+    return captures_ == NULL ? 0 : captures_->length();
+  }
   intptr_t position() { return next_pos_ - 1; }
   bool failed() { return failed_; }
 
@@ -118,9 +118,9 @@
     RegExpParserState(RegExpParserState* previous_state,
                       SubexpressionType group_type,
                       intptr_t disjunction_capture_index,
-                      Zone *zone)
+                      Zone* zone)
         : previous_state_(previous_state),
-          builder_(new(zone) RegExpBuilder()),
+          builder_(new (zone) RegExpBuilder()),
           group_type_(group_type),
           disjunction_capture_index_(disjunction_capture_index) {}
     // Parser state of containing expression, if any.
diff --git a/runtime/vm/regexp_test.cc b/runtime/vm/regexp_test.cc
index 3948f64..b7f5a77 100644
--- a/runtime/vm/regexp_test.cc
+++ b/runtime/vm/regexp_test.cc
@@ -15,17 +15,17 @@
 static RawArray* Match(const String& pat, const String& str) {
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
-  const RegExp& regexp = RegExp::Handle(
-      RegExpEngine::CreateRegExp(thread, pat, false, false));
+  const RegExp& regexp =
+      RegExp::Handle(RegExpEngine::CreateRegExp(thread, pat, false, false));
   const Smi& idx = Smi::Handle(Smi::New(0));
   return IRRegExpMacroAssembler::Execute(regexp, str, idx, zone);
 }
 
 TEST_CASE(RegExp_OneByteString) {
-  uint8_t chars[] = { 'a', 'b', 'c', 'b', 'a' };
+  uint8_t chars[] = {'a', 'b', 'c', 'b', 'a'};
   intptr_t len = ARRAY_SIZE(chars);
-  const String& str = String::Handle(
-      OneByteString::New(chars, len, Heap::kNew));
+  const String& str =
+      String::Handle(OneByteString::New(chars, len, Heap::kNew));
 
   const String& pat = String::Handle(String::New("bc"));
   const Array& res = Array::Handle(Match(pat, str));
@@ -43,10 +43,10 @@
 }
 
 TEST_CASE(RegExp_TwoByteString) {
-  uint16_t chars[] = { 'a', 'b', 'c', 'b', 'a' };
+  uint16_t chars[] = {'a', 'b', 'c', 'b', 'a'};
   intptr_t len = ARRAY_SIZE(chars);
-  const String& str = String::Handle(
-      TwoByteString::New(chars, len, Heap::kNew));
+  const String& str =
+      String::Handle(TwoByteString::New(chars, len, Heap::kNew));
 
   const String& pat = String::Handle(String::New("bc"));
   const Array& res = Array::Handle(Match(pat, str));
@@ -64,7 +64,7 @@
 }
 
 TEST_CASE(RegExp_ExternalOneByteString) {
-  uint8_t chars[] = { 'a', 'b', 'c', 'b', 'a' };
+  uint8_t chars[] = {'a', 'b', 'c', 'b', 'a'};
   intptr_t len = ARRAY_SIZE(chars);
   const String& str = String::Handle(
       ExternalOneByteString::New(chars, len, NULL, NULL, Heap::kNew));
@@ -85,7 +85,7 @@
 }
 
 TEST_CASE(RegExp_ExternalTwoByteString) {
-  uint16_t chars[] = { 'a', 'b', 'c', 'b', 'a' };
+  uint16_t chars[] = {'a', 'b', 'c', 'b', 'a'};
   intptr_t len = ARRAY_SIZE(chars);
   const String& str = String::Handle(
       ExternalTwoByteString::New(chars, len, NULL, NULL, Heap::kNew));
diff --git a/runtime/vm/report.cc b/runtime/vm/report.cc
index b53c494..ba87b5e 100644
--- a/runtime/vm/report.cc
+++ b/runtime/vm/report.cc
@@ -24,12 +24,24 @@
                                   const String& message) {
   const char* message_header;
   switch (kind) {
-    case kWarning: message_header = "warning"; break;
-    case kError: message_header = "error"; break;
-    case kMalformedType: message_header = "malformed type"; break;
-    case kMalboundedType: message_header = "malbounded type"; break;
-    case kBailout: message_header = "bailout"; break;
-    default: message_header = ""; UNREACHABLE();
+    case kWarning:
+      message_header = "warning";
+      break;
+    case kError:
+      message_header = "error";
+      break;
+    case kMalformedType:
+      message_header = "malformed type";
+      break;
+    case kMalboundedType:
+      message_header = "malbounded type";
+      break;
+    case kBailout:
+      message_header = "bailout";
+      break;
+    default:
+      message_header = "";
+      UNREACHABLE();
   }
   String& result = String::Handle();
   if (!script.IsNull()) {
@@ -47,42 +59,34 @@
       // optimizing compilation. Those strings are created rarely and should not
       // polute old space.
       if (script.HasSource()) {
-        result = String::NewFormatted(Heap::kOld,
-                                      "'%s': %s: line %" Pd " pos %" Pd ": ",
-                                      script_url.ToCString(),
-                                      message_header,
-                                      line,
-                                      column);
+        result = String::NewFormatted(
+            Heap::kOld, "'%s': %s: line %" Pd " pos %" Pd ": ",
+            script_url.ToCString(), message_header, line, column);
       } else {
-        result = String::NewFormatted(Heap::kOld,
-                                      "'%s': %s: line %" Pd ": ",
-                                      script_url.ToCString(),
-                                      message_header,
-                                      line);
+        result =
+            String::NewFormatted(Heap::kOld, "'%s': %s: line %" Pd ": ",
+                                 script_url.ToCString(), message_header, line);
       }
       // Append the formatted error or warning message.
-      const Array& strs = Array::Handle(
-          Array::New(6, Heap::kOld));
+      const Array& strs = Array::Handle(Array::New(6, Heap::kOld));
       strs.SetAt(0, result);
       strs.SetAt(1, message);
       // Append the source line.
-      const String& script_line = String::Handle(
-          script.GetLine(line, Heap::kOld));
+      const String& script_line =
+          String::Handle(script.GetLine(line, Heap::kOld));
       ASSERT(!script_line.IsNull());
       strs.SetAt(2, Symbols::NewLine());
       strs.SetAt(3, script_line);
       strs.SetAt(4, Symbols::NewLine());
       // Append the column marker.
-      const String& column_line = String::Handle(
-          String::NewFormatted(Heap::kOld,
-                               "%*s\n", static_cast<int>(column), "^"));
+      const String& column_line = String::Handle(String::NewFormatted(
+          Heap::kOld, "%*s\n", static_cast<int>(column), "^"));
       strs.SetAt(5, column_line);
       result = String::ConcatAll(strs, Heap::kOld);
     } else {
       // Token position is unknown.
       result = String::NewFormatted(Heap::kOld, "'%s': %s: ",
-                                    script_url.ToCString(),
-                                    message_header);
+                                    script_url.ToCString(), message_header);
       result = String::Concat(result, message, Heap::kOld);
     }
   } else {
@@ -102,8 +106,10 @@
 
 
 void Report::LongJumpF(const Error& prev_error,
-                       const Script& script, TokenPosition token_pos,
-                       const char* format, ...) {
+                       const Script& script,
+                       TokenPosition token_pos,
+                       const char* format,
+                       ...) {
   va_list args;
   va_start(args, format);
   LongJumpV(prev_error, script, token_pos, format, args);
@@ -113,11 +119,12 @@
 
 
 void Report::LongJumpV(const Error& prev_error,
-                       const Script& script, TokenPosition token_pos,
-                       const char* format, va_list args) {
+                       const Script& script,
+                       TokenPosition token_pos,
+                       const char* format,
+                       va_list args) {
   const Error& error = Error::Handle(LanguageError::NewFormattedV(
-      prev_error, script, token_pos, Report::AtLocation,
-      kError, Heap::kOld,
+      prev_error, script, token_pos, Report::AtLocation, kError, Heap::kOld,
       format, args));
   LongJump(error);
   UNREACHABLE();
@@ -128,7 +135,8 @@
                       const Script& script,
                       TokenPosition token_pos,
                       bool report_after_token,
-                      const char* format, ...) {
+                      const char* format,
+                      ...) {
   va_list args;
   va_start(args, format);
   MessageV(kind, script, token_pos, report_after_token, format, args);
@@ -140,7 +148,8 @@
                       const Script& script,
                       TokenPosition token_pos,
                       bool report_after_token,
-                      const char* format, va_list args) {
+                      const char* format,
+                      va_list args) {
   if (kind < kError) {
     // Reporting a warning.
     if (FLAG_silent_warnings) {
@@ -155,14 +164,11 @@
     }
   }
   // Reporting an error (or a warning as error).
-  const Error& error = Error::Handle(
-      LanguageError::NewFormattedV(Error::Handle(),  // No previous error.
-                                   script, token_pos, report_after_token,
-                                   kind, Heap::kOld,
-                                   format, args));
+  const Error& error = Error::Handle(LanguageError::NewFormattedV(
+      Error::Handle(),  // No previous error.
+      script, token_pos, report_after_token, kind, Heap::kOld, format, args));
   LongJump(error);
   UNREACHABLE();
 }
 
 }  // namespace dart
-
diff --git a/runtime/vm/report.h b/runtime/vm/report.h
index e2efa54..00d45bd 100644
--- a/runtime/vm/report.h
+++ b/runtime/vm/report.h
@@ -36,23 +36,29 @@
 
   // Concatenate and report an already formatted error and a new error message.
   static void LongJumpF(const Error& prev_error,
-                        const Script& script, TokenPosition token_pos,
-                        const char* format, ...) PRINTF_ATTRIBUTE(4, 5);
+                        const Script& script,
+                        TokenPosition token_pos,
+                        const char* format,
+                        ...) PRINTF_ATTRIBUTE(4, 5);
   static void LongJumpV(const Error& prev_error,
-                        const Script& script, TokenPosition token_pos,
-                        const char* format, va_list args);
+                        const Script& script,
+                        TokenPosition token_pos,
+                        const char* format,
+                        va_list args);
 
   // Report a warning/jswarning/error/bailout message.
   static void MessageF(Kind kind,
                        const Script& script,
                        TokenPosition token_pos,
                        bool report_after_token,
-                       const char* format, ...) PRINTF_ATTRIBUTE(5, 6);
+                       const char* format,
+                       ...) PRINTF_ATTRIBUTE(5, 6);
   static void MessageV(Kind kind,
                        const Script& script,
                        TokenPosition token_pos,
                        bool report_after_token,
-                       const char* format, va_list args);
+                       const char* format,
+                       va_list args);
 
   // Prepend a source snippet to the message.
   // A null script means no source and a negative token_pos means no position.
@@ -69,4 +75,3 @@
 }  // namespace dart
 
 #endif  // RUNTIME_VM_REPORT_H_
-
diff --git a/runtime/vm/resolver.cc b/runtime/vm/resolver.cc
index 95f8c62..41169e4 100644
--- a/runtime/vm/resolver.cc
+++ b/runtime/vm/resolver.cc
@@ -39,11 +39,11 @@
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
 
-  Function& function = Function::Handle(zone,
+  Function& function = Function::Handle(
+      zone,
       ResolveDynamicAnyArgs(zone, receiver_class, function_name, allow_add));
 
-  if (function.IsNull() ||
-      !function.AreValidArguments(args_desc, NULL)) {
+  if (function.IsNull() || !function.AreValidArguments(args_desc, NULL)) {
     // Return a null function to signal to the upper levels to dispatch to
     // "noSuchMethod" function.
     if (FLAG_trace_resolving) {
@@ -53,8 +53,7 @@
         // Obtain more detailed error message.
         function.AreValidArguments(args_desc, &error_message);
       }
-      THR_Print("ResolveDynamic error '%s': %s.\n",
-                function_name.ToCString(),
+      THR_Print("ResolveDynamic error '%s': %s.\n", function_name.ToCString(),
                 error_message.ToCString());
     }
     return Function::null();
@@ -63,15 +62,13 @@
 }
 
 
-RawFunction* Resolver::ResolveDynamicAnyArgs(
-    Zone* zone,
-    const Class& receiver_class,
-    const String& function_name,
-    bool allow_add) {
+RawFunction* Resolver::ResolveDynamicAnyArgs(Zone* zone,
+                                             const Class& receiver_class,
+                                             const String& function_name,
+                                             bool allow_add) {
   Class& cls = Class::Handle(zone, receiver_class.raw());
   if (FLAG_trace_resolving) {
-    THR_Print("ResolveDynamic '%s' for class %s\n",
-              function_name.ToCString(),
+    THR_Print("ResolveDynamic '%s' for class %s\n", function_name.ToCString(),
               String::Handle(zone, cls.Name()).ToCString());
   }
 
@@ -162,12 +159,10 @@
         if (FLAG_trace_resolving) {
           String& error_message = String::Handle();
           // Obtain more detailed error message.
-          function.AreValidArguments(num_arguments,
-                                     argument_names,
+          function.AreValidArguments(num_arguments, argument_names,
                                      &error_message);
           THR_Print("ResolveStatic error '%s': %s.\n",
-                    function_name.ToCString(),
-                    error_message.ToCString());
+                    function_name.ToCString(), error_message.ToCString());
         }
         function = Function::null();
       }
@@ -183,22 +178,19 @@
     // ResolveStatic will return a NULL function object.
     const Class& cls = Class::Handle(library.LookupClass(class_name));
     if (!cls.IsNull()) {
-      function = ResolveStatic(cls,
-                               function_name,
-                               num_arguments,
-                               argument_names);
+      function =
+          ResolveStatic(cls, function_name, num_arguments, argument_names);
     }
     if (FLAG_trace_resolving && function.IsNull()) {
       THR_Print("ResolveStatic error: function '%s.%s' not found.\n",
-                class_name.ToCString(),
-                function_name.ToCString());
+                class_name.ToCString(), function_name.ToCString());
     }
   }
   return function.raw();
 }
 
 
-RawFunction* Resolver::ResolveStatic(const Class&  cls,
+RawFunction* Resolver::ResolveStatic(const Class& cls,
                                      const String& function_name,
                                      intptr_t num_arguments,
                                      const Array& argument_names) {
@@ -216,12 +208,10 @@
       String& error_message = String::Handle(String::New("function not found"));
       if (!function.IsNull()) {
         // Obtain more detailed error message.
-        function.AreValidArguments(num_arguments,
-                                   argument_names,
+        function.AreValidArguments(num_arguments, argument_names,
                                    &error_message);
       }
-      THR_Print("ResolveStatic error '%s': %s.\n",
-                function_name.ToCString(),
+      THR_Print("ResolveStatic error '%s': %s.\n", function_name.ToCString(),
                 error_message.ToCString());
     }
     return Function::null();
@@ -230,7 +220,7 @@
 }
 
 
-RawFunction* Resolver::ResolveStaticAllowPrivate(const Class&  cls,
+RawFunction* Resolver::ResolveStaticAllowPrivate(const Class& cls,
                                                  const String& function_name,
                                                  intptr_t num_arguments,
                                                  const Array& argument_names) {
@@ -248,13 +238,11 @@
       String& error_message = String::Handle(String::New("function not found"));
       if (!function.IsNull()) {
         // Obtain more detailed error message.
-        function.AreValidArguments(num_arguments,
-                                   argument_names,
+        function.AreValidArguments(num_arguments, argument_names,
                                    &error_message);
       }
       THR_Print("ResolveStaticAllowPrivate error '%s': %s.\n",
-                function_name.ToCString(),
-                error_message.ToCString());
+                function_name.ToCString(), error_message.ToCString());
     }
     return Function::null();
   }
diff --git a/runtime/vm/resolver.h b/runtime/vm/resolver.h
index 620bb52..8ce80c7 100644
--- a/runtime/vm/resolver.h
+++ b/runtime/vm/resolver.h
@@ -36,11 +36,10 @@
       bool allow_add = true);
 
   // If 'allow_add' is true we may add a function to the class during lookup.
-  static RawFunction* ResolveDynamicAnyArgs(
-      Zone* zone,
-      const Class& receiver_class,
-      const String& function_name,
-      bool allow_add = true);
+  static RawFunction* ResolveDynamicAnyArgs(Zone* zone,
+                                            const Class& receiver_class,
+                                            const String& function_name,
+                                            bool allow_add = true);
 
   // Resolve specified dart static function. If library.IsNull, use
   // either application library or core library if no application library
@@ -56,14 +55,14 @@
 
   // Resolve specified dart static function with specified arity. Only resolves
   // public functions.
-  static RawFunction* ResolveStatic(const Class&  cls,
+  static RawFunction* ResolveStatic(const Class& cls,
                                     const String& function_name,
                                     intptr_t num_arguments,
                                     const Array& argument_names);
 
   // Resolve specified dart static function with specified arity. Resolves both
   // public and private functions.
-  static RawFunction* ResolveStaticAllowPrivate(const Class&  cls,
+  static RawFunction* ResolveStaticAllowPrivate(const Class& cls,
                                                 const String& function_name,
                                                 intptr_t num_arguments,
                                                 const Array& argument_names);
diff --git a/runtime/vm/resolver_test.cc b/runtime/vm/resolver_test.cc
index 2252e23..b5a25aa 100644
--- a/runtime/vm/resolver_test.cc
+++ b/runtime/vm/resolver_test.cc
@@ -24,8 +24,7 @@
 
   // Setup a dart class and function.
   char script_chars[1024];
-  OS::SNPrint(script_chars,
-              sizeof(script_chars),
+  OS::SNPrint(script_chars, sizeof(script_chars),
               "class Base {\n"
               "  dynCall() { return 3; }\n"
               "  static statCall() { return 4; }\n"
@@ -34,17 +33,15 @@
               "class %s extends Base {\n"
               "  %s %s(String s, int i) { return i; }\n"
               "}\n",
-              test_class_name,
-              is_static ? "static" : "",
+              test_class_name, is_static ? "static" : "",
               test_static_function_name);
 
-  String& url = String::Handle(zone,
-      is_static ?
-          String::New("dart-test:DartStaticResolve") :
-          String::New("dart-test:DartDynamicResolve"));
+  String& url = String::Handle(
+      zone, is_static ? String::New("dart-test:DartStaticResolve")
+                      : String::New("dart-test:DartDynamicResolve"));
   String& source = String::Handle(zone, String::New(script_chars));
-  Script& script = Script::Handle(zone,
-      Script::New(url, source, RawScript::kScriptTag));
+  Script& script =
+      Script::Handle(zone, Script::New(url, source, RawScript::kScriptTag));
   const String& lib_name = String::Handle(zone, String::New(test_library_name));
   Library& lib = Library::Handle(zone, Library::New(lib_name));
   lib.Register(thread);
@@ -58,9 +55,7 @@
                                 const char* test_class_name,
                                 const char* test_static_function_name) {
   // Setup a static dart class and function.
-  SetupFunction(test_library_name,
-                test_class_name,
-                test_static_function_name,
+  SetupFunction(test_library_name, test_class_name, test_static_function_name,
                 true);
 }
 
@@ -70,10 +65,7 @@
                                   const char* test_class_name,
                                   const char* test_function_name) {
   // Setup a static dart class and function.
-  SetupFunction(test_library_name,
-                test_class_name,
-                test_function_name,
-                false);
+  SetupFunction(test_library_name, test_class_name, test_function_name, false);
 }
 
 
@@ -84,8 +76,7 @@
   const int kTestValue = 42;
 
   // Setup a static function which can be invoked.
-  SetupStaticFunction(test_library_name,
-                      test_class_name,
+  SetupStaticFunction(test_library_name, test_class_name,
                       test_static_function_name);
 
   const String& library_name = String::Handle(String::New(test_library_name));
@@ -99,11 +90,8 @@
   {
     const int kNumArguments = 2;
     const Function& function = Function::Handle(
-        Resolver::ResolveStatic(library,
-                                class_name,
-                                static_function_name,
-                                kNumArguments,
-                                Object::empty_array()));
+        Resolver::ResolveStatic(library, class_name, static_function_name,
+                                kNumArguments, Object::empty_array()));
     EXPECT(!function.IsNull());  // No ambiguity error expected.
     const Array& args = Array::Handle(Array::New(kNumArguments));
     const String& arg0 = String::Handle(String::New("junk"));
@@ -119,11 +107,8 @@
   {
     const int kNumArguments = 1;
     const Function& bad_function = Function::Handle(
-        Resolver::ResolveStatic(library,
-                                class_name,
-                                static_function_name,
-                                kNumArguments,
-                                Object::empty_array()));
+        Resolver::ResolveStatic(library, class_name, static_function_name,
+                                kNumArguments, Object::empty_array()));
     EXPECT(bad_function.IsNull());  // No ambiguity error expected.
   }
 
@@ -133,12 +118,9 @@
         String::Handle(String::New("statCall"));
     const String& super_class_name = String::Handle(String::New("Base"));
     const int kNumArguments = 0;
-    const Function& super_function = Function::Handle(
-        Resolver::ResolveStatic(library,
-                                super_class_name,
-                                super_static_function_name,
-                                kNumArguments,
-                                Object::empty_array()));
+    const Function& super_function = Function::Handle(Resolver::ResolveStatic(
+        library, super_class_name, super_static_function_name, kNumArguments,
+        Object::empty_array()));
     EXPECT(!super_function.IsNull());  // No ambiguity error expected.
   }
 }
@@ -151,18 +133,16 @@
   const int kTestValue = 42;
 
   // Setup a function which can be invoked.
-  SetupInstanceFunction(test_library_name,
-                        test_class_name,
-                        test_function_name);
+  SetupInstanceFunction(test_library_name, test_class_name, test_function_name);
 
   // Now create an instance object of the class and try to
   // resolve a function in it.
   const String& lib_name = String::Handle(String::New(test_library_name));
-  const Library& lib = Library::Handle(Library::LookupLibrary(thread,
-                                                              lib_name));
+  const Library& lib =
+      Library::Handle(Library::LookupLibrary(thread, lib_name));
   ASSERT(!lib.IsNull());
-  const Class& cls = Class::Handle(lib.LookupClass(
-      String::Handle(Symbols::New(thread, test_class_name))));
+  const Class& cls = Class::Handle(
+      lib.LookupClass(String::Handle(Symbols::New(thread, test_class_name))));
   EXPECT(!cls.IsNull());  // No ambiguity error expected.
 
   Instance& receiver = Instance::Handle(Instance::New(cls));
@@ -174,9 +154,7 @@
     ArgumentsDescriptor args_desc(
         Array::Handle(ArgumentsDescriptor::New(kNumArguments)));
     const Function& function = Function::Handle(
-        Resolver::ResolveDynamic(receiver,
-                                 function_name,
-                                 args_desc));
+        Resolver::ResolveDynamic(receiver, function_name, args_desc));
     EXPECT(!function.IsNull());
     const Array& args = Array::Handle(Array::New(kNumArguments));
     args.SetAt(0, receiver);
@@ -195,9 +173,7 @@
     ArgumentsDescriptor args_desc(
         Array::Handle(ArgumentsDescriptor::New(kNumArguments)));
     const Function& bad_function = Function::Handle(
-        Resolver::ResolveDynamic(receiver,
-                                 function_name,
-                                 args_desc));
+        Resolver::ResolveDynamic(receiver, function_name, args_desc));
     EXPECT(bad_function.IsNull());
   }
 
@@ -206,12 +182,9 @@
     const int kNumArguments = 1;
     ArgumentsDescriptor args_desc(
         Array::Handle(ArgumentsDescriptor::New(kNumArguments)));
-    const String& super_function_name =
-        String::Handle(String::New("dynCall"));
+    const String& super_function_name = String::Handle(String::New("dynCall"));
     const Function& super_function = Function::Handle(
-        Resolver::ResolveDynamic(receiver,
-                                 super_function_name,
-                                 args_desc));
+        Resolver::ResolveDynamic(receiver, super_function_name, args_desc));
     EXPECT(!super_function.IsNull());
   }
 }
diff --git a/runtime/vm/reusable_handles.h b/runtime/vm/reusable_handles.h
index 83855d6..11178d8 100644
--- a/runtime/vm/reusable_handles.h
+++ b/runtime/vm/reusable_handles.h
@@ -35,8 +35,7 @@
 #define REUSABLE_SCOPE(name)                                                   \
   class Reusable##name##HandleScope : public ValueObject {                     \
    public:                                                                     \
-    explicit Reusable##name##HandleScope(Thread* thread)                       \
-        : thread_(thread) {                                                    \
+    explicit Reusable##name##HandleScope(Thread* thread) : thread_(thread) {   \
       ASSERT(!thread->reusable_##name##_handle_scope_active());                \
       thread->set_reusable_##name##_handle_scope_active(true);                 \
     }                                                                          \
@@ -53,6 +52,7 @@
       ASSERT(thread_->name##_handle_ != NULL);                                 \
       return *thread_->name##_handle_;                                         \
     }                                                                          \
+                                                                               \
    private:                                                                    \
     Thread* thread_;                                                           \
     DISALLOW_COPY_AND_ASSIGN(Reusable##name##HandleScope);                     \
@@ -62,18 +62,15 @@
   class Reusable##name##HandleScope : public ValueObject {                     \
    public:                                                                     \
     explicit Reusable##name##HandleScope(Thread* thread)                       \
-        : handle_(thread->name##_handle_) {                                    \
-    }                                                                          \
+        : handle_(thread->name##_handle_) {}                                   \
     Reusable##name##HandleScope()                                              \
-        : handle_(Thread::Current()->name##_handle_) {                         \
-    }                                                                          \
-    ~Reusable##name##HandleScope() {                                           \
-      handle_->raw_ = name::null();                                            \
-    }                                                                          \
+        : handle_(Thread::Current()->name##_handle_) {}                        \
+    ~Reusable##name##HandleScope() { handle_->raw_ = name::null(); }           \
     name& Handle() const {                                                     \
       ASSERT(handle_ != NULL);                                                 \
       return *handle_;                                                         \
     }                                                                          \
+                                                                               \
    private:                                                                    \
     name* handle_;                                                             \
     DISALLOW_COPY_AND_ASSIGN(Reusable##name##HandleScope);                     \
@@ -93,15 +90,14 @@
 #define REUSABLE_ERROR_HANDLESCOPE(thread)                                     \
   ReusableErrorHandleScope reused_error_handle(thread);
 #define REUSABLE_EXCEPTION_HANDLERS_HANDLESCOPE(thread)                        \
-  ReusableExceptionHandlersHandleScope                                         \
-      reused_exception_handlers_handle(thread);
+  ReusableExceptionHandlersHandleScope reused_exception_handlers_handle(thread);
 #define REUSABLE_FIELD_HANDLESCOPE(thread)                                     \
   ReusableFieldHandleScope reused_field_handle(thread);
 #define REUSABLE_FUNCTION_HANDLESCOPE(thread)                                  \
   ReusableFunctionHandleScope reused_function_handle(thread);
 #define REUSABLE_GROWABLE_OBJECT_ARRAY_HANDLESCOPE(thread)                     \
-  ReusableGrowableObjectArrayHandleScope                                       \
-      reused_growable_object_array_handle(thread)
+  ReusableGrowableObjectArrayHandleScope reused_growable_object_array_handle(  \
+      thread)
 #define REUSABLE_INSTANCE_HANDLESCOPE(thread)                                  \
   ReusableInstanceHandleScope reused_instance_handle(thread);
 #define REUSABLE_LIBRARY_HANDLESCOPE(thread)                                   \
diff --git a/runtime/vm/ring_buffer.h b/runtime/vm/ring_buffer.h
index 77f6314..a8079b5 100644
--- a/runtime/vm/ring_buffer.h
+++ b/runtime/vm/ring_buffer.h
@@ -11,14 +11,12 @@
 namespace dart {
 
 // Fixed-capacity ring buffer.
-template<typename T, int N>
+template <typename T, int N>
 class RingBuffer {
  public:
-  RingBuffer() : count_(0) { }
+  RingBuffer() : count_(0) {}
 
-  void Add(const T& t) {
-    data_[count_++ & kMask] = t;
-  }
+  void Add(const T& t) { data_[count_++ & kMask] = t; }
 
   // Returns the i'th most recently added element. Requires 0 <= i < Size().
   const T& Get(int i) const {
diff --git a/runtime/vm/runtime_entry.cc b/runtime/vm/runtime_entry.cc
index 68b2fd7..b0cd46e 100644
--- a/runtime/vm/runtime_entry.cc
+++ b/runtime/vm/runtime_entry.cc
@@ -29,20 +29,12 @@
   const String& class_name = String::Handle(Symbols::New(thread, "ownerClass"));
   const Script& script = Script::Handle();
   const Library& lib = Library::Handle(Library::CoreLibrary());
-  const Class& owner_class =
-      Class::Handle(Class::New(lib, class_name, script,
-                               TokenPosition::kNoSource));
+  const Class& owner_class = Class::Handle(
+      Class::New(lib, class_name, script, TokenPosition::kNoSource));
   const String& function_name = String::ZoneHandle(Symbols::New(thread, name));
-  const Function& function = Function::ZoneHandle(
-      Function::New(function_name,
-                    RawFunction::kRegularFunction,
-                    true,
-                    false,
-                    false,
-                    false,
-                    false,
-                    owner_class,
-                    TokenPosition::kMinSource));
+  const Function& function = Function::ZoneHandle(Function::New(
+      function_name, RawFunction::kRegularFunction, true, false, false, false,
+      false, owner_class, TokenPosition::kMinSource));
   const Array& functions = Array::Handle(Array::New(1));
   functions.SetAt(0, function);
   owner_class.SetFunctions(functions);
diff --git a/runtime/vm/runtime_entry.h b/runtime/vm/runtime_entry.h
index 93f4048..c9e7bd3 100644
--- a/runtime/vm/runtime_entry.h
+++ b/runtime/vm/runtime_entry.h
@@ -22,14 +22,12 @@
 
 enum RuntimeFunctionId {
   kNoRuntimeFunctionId = -1,
-#define DECLARE_ENUM_VALUE(name) \
-  k##name##Id,
+#define DECLARE_ENUM_VALUE(name) k##name##Id,
   RUNTIME_ENTRY_LIST(DECLARE_ENUM_VALUE)
 #undef DECLARE_ENUM_VALUE
 
-#define DECLARE_LEAF_ENUM_VALUE(type, name, ...) \
-  k##name##Id,
-  LEAF_RUNTIME_ENTRY_LIST(DECLARE_LEAF_ENUM_VALUE)
+#define DECLARE_LEAF_ENUM_VALUE(type, name, ...) k##name##Id,
+      LEAF_RUNTIME_ENTRY_LIST(DECLARE_LEAF_ENUM_VALUE)
 #undef DECLARE_LEAF_ENUM_VALUE
 };
 
@@ -38,8 +36,11 @@
 // by the function.
 class RuntimeEntry : public ValueObject {
  public:
-  RuntimeEntry(const char* name, RuntimeFunction function,
-               intptr_t argument_count, bool is_leaf, bool is_float)
+  RuntimeEntry(const char* name,
+               RuntimeFunction function,
+               intptr_t argument_count,
+               bool is_leaf,
+               bool is_float)
       : name_(name),
         function_(function),
         argument_count_(argument_count),
@@ -83,7 +84,8 @@
   }
 #else
 #define TRACE_RUNTIME_CALL(format, name)                                       \
-  do { } while (0)
+  do {                                                                         \
+  } while (0)
 #endif
 
 // Helper macros for declaring and defining runtime entries.
@@ -91,16 +93,14 @@
 #define DEFINE_RUNTIME_ENTRY(name, argument_count)                             \
   extern void DRT_##name(NativeArguments arguments);                           \
   extern const RuntimeEntry k##name##RuntimeEntry(                             \
-      "DRT_"#name, &DRT_##name, argument_count, false, false);                 \
-  static void DRT_Helper##name(Isolate* isolate,                               \
-                               Thread* thread,                                 \
-                               Zone* zone,                                     \
+      "DRT_" #name, &DRT_##name, argument_count, false, false);                \
+  static void DRT_Helper##name(Isolate* isolate, Thread* thread, Zone* zone,   \
                                NativeArguments arguments);                     \
   void DRT_##name(NativeArguments arguments) {                                 \
     CHECK_STACK_ALIGNMENT;                                                     \
     VERIFY_ON_TRANSITION;                                                      \
     ASSERT(arguments.ArgCount() == argument_count);                            \
-    TRACE_RUNTIME_CALL("%s", ""#name);                                         \
+    TRACE_RUNTIME_CALL("%s", "" #name);                                        \
     {                                                                          \
       Thread* thread = arguments.thread();                                     \
       ASSERT(thread == Thread::Current());                                     \
@@ -112,23 +112,21 @@
     }                                                                          \
     VERIFY_ON_TRANSITION;                                                      \
   }                                                                            \
-  static void DRT_Helper##name(Isolate* isolate,                               \
-                               Thread* thread,                                 \
-                               Zone* zone,                                     \
+  static void DRT_Helper##name(Isolate* isolate, Thread* thread, Zone* zone,   \
                                NativeArguments arguments)
 
 #define DECLARE_RUNTIME_ENTRY(name)                                            \
   extern const RuntimeEntry k##name##RuntimeEntry;                             \
-  extern void DRT_##name(NativeArguments arguments);                           \
+  extern void DRT_##name(NativeArguments arguments);
 
 #define DEFINE_LEAF_RUNTIME_ENTRY(type, name, argument_count, ...)             \
   extern "C" type DLRT_##name(__VA_ARGS__);                                    \
   extern const RuntimeEntry k##name##RuntimeEntry(                             \
-      "DLRT_"#name, reinterpret_cast<RuntimeFunction>(&DLRT_##name),           \
+      "DLRT_" #name, reinterpret_cast<RuntimeFunction>(&DLRT_##name),          \
       argument_count, true, false);                                            \
   type DLRT_##name(__VA_ARGS__) {                                              \
     CHECK_STACK_ALIGNMENT;                                                     \
-    NoSafepointScope no_safepoint_scope;                                       \
+    NoSafepointScope no_safepoint_scope;
 
 #define END_LEAF_RUNTIME_ENTRY }
 
@@ -136,11 +134,11 @@
 // DEFINE_LEAF_RUNTIME_ENTRY instead.
 #define DEFINE_RAW_LEAF_RUNTIME_ENTRY(name, argument_count, is_float, func)    \
   extern const RuntimeEntry k##name##RuntimeEntry(                             \
-      "DFLRT_"#name, func, argument_count, true, is_float)                     \
+      "DFLRT_" #name, func, argument_count, true, is_float)
 
 #define DECLARE_LEAF_RUNTIME_ENTRY(type, name, ...)                            \
   extern const RuntimeEntry k##name##RuntimeEntry;                             \
-  extern "C" type DLRT_##name(__VA_ARGS__);                                    \
+  extern "C" type DLRT_##name(__VA_ARGS__);
 
 
 // Declare all runtime functions here.
@@ -154,14 +152,16 @@
 
 
 uword RuntimeEntry::AddressFromId(RuntimeFunctionId id) {
-    switch (id) {
+  switch (id) {
 #define DEFINE_RUNTIME_CASE(name)                                              \
-    case k##name##Id: return k##name##RuntimeEntry.GetEntryPoint();
+  case k##name##Id:                                                            \
+    return k##name##RuntimeEntry.GetEntryPoint();
     RUNTIME_ENTRY_LIST(DEFINE_RUNTIME_CASE)
 #undef DEFINE_RUNTIME_CASE
 
 #define DEFINE_LEAF_RUNTIME_CASE(type, name, ...)                              \
-    case k##name##Id: return k##name##RuntimeEntry.GetEntryPoint();
+  case k##name##Id:                                                            \
+    return k##name##RuntimeEntry.GetEntryPoint();
     LEAF_RUNTIME_ENTRY_LIST(DEFINE_LEAF_RUNTIME_CASE)
 #undef DEFINE_LEAF_RUNTIME_CASE
     default:
diff --git a/runtime/vm/runtime_entry_arm.cc b/runtime/vm/runtime_entry_arm.cc
index a0bb2e9..846b91b 100644
--- a/runtime/vm/runtime_entry_arm.cc
+++ b/runtime/vm/runtime_entry_arm.cc
@@ -25,8 +25,7 @@
   // Redirection to leaf runtime calls supports a maximum of 4 arguments passed
   // in registers (maximum 2 double arguments for leaf float runtime calls).
   ASSERT(argument_count() >= 0);
-  ASSERT(!is_leaf() ||
-         (!is_float() && (argument_count() <= 4)) ||
+  ASSERT(!is_leaf() || (!is_float() && (argument_count() <= 4)) ||
          (argument_count() <= 2));
   Simulator::CallKind call_kind =
       is_leaf() ? (is_float() ? Simulator::kLeafFloatRuntimeCall
diff --git a/runtime/vm/runtime_entry_arm64.cc b/runtime/vm/runtime_entry_arm64.cc
index f3e98bc..2186fc3 100644
--- a/runtime/vm/runtime_entry_arm64.cc
+++ b/runtime/vm/runtime_entry_arm64.cc
@@ -25,8 +25,7 @@
   // Redirection to leaf runtime calls supports a maximum of 4 arguments passed
   // in registers (maximum 2 double arguments for leaf float runtime calls).
   ASSERT(argument_count() >= 0);
-  ASSERT(!is_leaf() ||
-         (!is_float() && (argument_count() <= 4)) ||
+  ASSERT(!is_leaf() || (!is_float() && (argument_count() <= 4)) ||
          (argument_count() <= 2));
   Simulator::CallKind call_kind =
       is_leaf() ? (is_float() ? Simulator::kLeafFloatRuntimeCall
diff --git a/runtime/vm/runtime_entry_list.h b/runtime/vm/runtime_entry_list.h
index 835cf3c..d450ee4 100644
--- a/runtime/vm/runtime_entry_list.h
+++ b/runtime/vm/runtime_entry_list.h
@@ -46,7 +46,7 @@
   V(CompileFunction)                                                           \
   V(MonomorphicMiss)                                                           \
   V(SingleTargetMiss)                                                          \
-  V(UnlinkedCall)                                                              \
+  V(UnlinkedCall)
 
 #define LEAF_RUNTIME_ENTRY_LIST(V)                                             \
   V(void, PrintStopMessage, const char*)                                       \
@@ -67,8 +67,7 @@
   V(double, LibcAsin, double)                                                  \
   V(double, LibcAtan, double)                                                  \
   V(double, LibcAtan2, double, double)                                         \
-  V(RawBool*, CaseInsensitiveCompareUC16,                                      \
-    RawString*, RawSmi*, RawSmi*, RawSmi*)                                     \
+  V(RawBool*, CaseInsensitiveCompareUC16, RawString*, RawSmi*, RawSmi*, RawSmi*)
 
 }  // namespace dart
 
diff --git a/runtime/vm/runtime_entry_mips.cc b/runtime/vm/runtime_entry_mips.cc
index b310556..b89781f 100644
--- a/runtime/vm/runtime_entry_mips.cc
+++ b/runtime/vm/runtime_entry_mips.cc
@@ -25,8 +25,7 @@
   // Redirection to leaf runtime calls supports a maximum of 4 arguments passed
   // in registers (maximum 2 double arguments for leaf float runtime calls).
   ASSERT(argument_count() >= 0);
-  ASSERT(!is_leaf() ||
-         (!is_float() && (argument_count() <= 4)) ||
+  ASSERT(!is_leaf() || (!is_float() && (argument_count() <= 4)) ||
          (argument_count() <= 2));
   Simulator::CallKind call_kind =
       is_leaf() ? (is_float() ? Simulator::kLeafFloatRuntimeCall
diff --git a/runtime/vm/safepoint.cc b/runtime/vm/safepoint.cc
index 7f5d92d..a554a9a 100644
--- a/runtime/vm/safepoint.cc
+++ b/runtime/vm/safepoint.cc
@@ -42,8 +42,7 @@
       safepoint_lock_(new Monitor()),
       number_threads_not_at_safepoint_(0),
       safepoint_operation_count_(0),
-      owner_(NULL) {
-}
+      owner_(NULL) {}
 
 
 SafepointHandler::~SafepointHandler() {
@@ -114,8 +113,7 @@
           // We have been waiting too long, start logging this as we might
           // have an issue where a thread is not checking in for a safepoint.
           OS::Print("Attempt:%" Pd " waiting for %d threads to check in\n",
-                    num_attempts,
-                    number_threads_not_at_safepoint_);
+                    num_attempts, number_threads_not_at_safepoint_);
         }
       }
     }
diff --git a/runtime/vm/safepoint.h b/runtime/vm/safepoint.h
index 8a48f29..5547ce7 100644
--- a/runtime/vm/safepoint.h
+++ b/runtime/vm/safepoint.h
@@ -320,8 +320,7 @@
 class TransitionToGenerated : public TransitionSafepointState {
  public:
   explicit TransitionToGenerated(Thread* T)
-      : TransitionSafepointState(T),
-        execution_state_(T->execution_state()) {
+      : TransitionSafepointState(T), execution_state_(T->execution_state()) {
     ASSERT(T == Thread::Current());
     ASSERT((execution_state_ == Thread::kThreadInVM) ||
            (execution_state_ == Thread::kThreadInNative));
@@ -357,8 +356,8 @@
 // transition set up.
 class TransitionToVM : public TransitionSafepointState {
  public:
-  explicit TransitionToVM(Thread* T) : TransitionSafepointState(T),
-                                       execution_state_(T->execution_state()) {
+  explicit TransitionToVM(Thread* T)
+      : TransitionSafepointState(T), execution_state_(T->execution_state()) {
     ASSERT(T == Thread::Current());
     ASSERT((execution_state_ == Thread::kThreadInVM) ||
            (execution_state_ == Thread::kThreadInNative));
diff --git a/runtime/vm/scanner.cc b/runtime/vm/scanner.cc
index cd8abf5..a34439b 100644
--- a/runtime/vm/scanner.cc
+++ b/runtime/vm/scanner.cc
@@ -23,10 +23,10 @@
 class ScanContext : public ZoneAllocated {
  public:
   explicit ScanContext(Scanner* scanner)
-      :  next_(scanner->saved_context_),
-         string_delimiter_(scanner->string_delimiter_),
-         string_is_multiline_(scanner->string_is_multiline_),
-         brace_level_(scanner->brace_level_) {}
+      : next_(scanner->saved_context_),
+        string_delimiter_(scanner->string_delimiter_),
+        string_is_multiline_(scanner->string_is_multiline_),
+        brace_level_(scanner->brace_level_) {}
 
   void CopyTo(Scanner* scanner) {
     scanner->string_delimiter_ = string_delimiter_;
@@ -100,7 +100,7 @@
 
 
 void Scanner::PushContext() {
-  ScanContext* ctx = new(Z) ScanContext(this);
+  ScanContext* ctx = new (Z) ScanContext(this);
   saved_context_ = ctx;
   string_delimiter_ = '\0';
   string_is_multiline_ = false;
@@ -146,9 +146,8 @@
 
 
 bool Scanner::IsHexDigit(int32_t c) {
-  return IsDecimalDigit(c)
-         || (('A' <= c) && (c <= 'F'))
-         || (('a' <= c) && (c <= 'f'));
+  return IsDecimalDigit(c) || (('A' <= c) && (c <= 'F')) ||
+         (('a' <= c) && (c <= 'f'));
 }
 
 
@@ -169,7 +168,7 @@
   if (str.Length() == 0 || !IsIdentStartChar(CallCharAt()(str, 0))) {
     return false;
   }
-  for (int i =  1; i < str.Length(); i++) {
+  for (int i = 1; i < str.Length(); i++) {
     if (!IsIdentChar(CallCharAt()(str, i))) {
       return false;
     }
@@ -192,16 +191,13 @@
   s.Scan();
   tokens[2] = s.current_token();
 
-  if ((tokens[0].kind == Token::kINTEGER) &&
-      (tokens[1].kind == Token::kEOS)) {
+  if ((tokens[0].kind == Token::kINTEGER) && (tokens[1].kind == Token::kEOS)) {
     *is_positive = true;
     *value = tokens[0].literal;
     return true;
   }
-  if (((tokens[0].kind == Token::kADD) ||
-       (tokens[0].kind == Token::kSUB)) &&
-      (tokens[1].kind == Token::kINTEGER) &&
-      (tokens[2].kind == Token::kEOS)) {
+  if (((tokens[0].kind == Token::kADD) || (tokens[0].kind == Token::kSUB)) &&
+      (tokens[1].kind == Token::kINTEGER) && (tokens[2].kind == Token::kEOS)) {
     // Check there is no space between "+/-" and number.
     if ((tokens[0].offset + 1) != tokens[1].offset) {
       return false;
@@ -291,7 +287,7 @@
     }
   }
   current_token_.kind =
-    (nesting_level == 0) ? Token::kWHITESP : Token::kILLEGAL;
+      (nesting_level == 0) ? Token::kWHITESP : Token::kILLEGAL;
 }
 
 
@@ -317,7 +313,7 @@
         int char_pos = 1;
         while ((char_pos < ident_length) &&
                (keyword[char_pos] ==
-                   CallCharAt()(source_, ident_pos + char_pos))) {
+                CallCharAt()(source_, ident_pos + char_pos))) {
           char_pos++;
         }
         if (char_pos == ident_length) {
@@ -374,8 +370,7 @@
       }
     }
     if (((c0_ == 'e') || (c0_ == 'E')) &&
-        (IsDecimalDigit(LookaheadChar(1)) ||
-         (LookaheadChar(1) == '-') ||
+        (IsDecimalDigit(LookaheadChar(1)) || (LookaheadChar(1) == '-') ||
          (LookaheadChar(1) == '+'))) {
       Recognize(Token::kDOUBLE);
       if ((c0_ == '-') || (c0_ == '+')) {
@@ -544,8 +539,8 @@
       // Scanned a string piece.
       ASSERT(string_chars.data() != NULL);
       // Strings are canonicalized: Allocate a symbol.
-      current_token_.literal = &String::ZoneHandle(Z,
-          Symbols::FromUTF32(T, string_chars.data(), string_chars.length()));
+      current_token_.literal = &String::ZoneHandle(
+          Z, Symbols::FromUTF32(T, string_chars.data(), string_chars.length()));
       // Preserve error tokens.
       if (current_token_.kind != Token::kERROR) {
         current_token_.kind = Token::kSTRING;
@@ -553,9 +548,8 @@
       return;
     } else if (c0_ == string_delimiter_) {
       // Check if we are at the end of the string literal.
-      if (!string_is_multiline_ ||
-          ((LookaheadChar(1) == string_delimiter_) &&
-           (LookaheadChar(2) == string_delimiter_))) {
+      if (!string_is_multiline_ || ((LookaheadChar(1) == string_delimiter_) &&
+                                    (LookaheadChar(2) == string_delimiter_))) {
         if (string_is_multiline_) {
           ReadChar();  // Skip two string delimiters.
           ReadChar();
@@ -567,9 +561,9 @@
           Recognize(Token::kSTRING);
           ASSERT(string_chars.data() != NULL);
           // Strings are canonicalized: Allocate a symbol.
-          current_token_.literal = &String::ZoneHandle(Z,
-              Symbols::FromUTF32(T,
-                                 string_chars.data(), string_chars.length()));
+          current_token_.literal =
+              &String::ZoneHandle(Z, Symbols::FromUTF32(T, string_chars.data(),
+                                                        string_chars.length()));
         }
         EndStringLiteral();
         return;
@@ -877,8 +871,8 @@
           char utf8_char[5];
           int len = Utf8::Encode(c0_, utf8_char);
           utf8_char[len] = '\0';
-          OS::SNPrint(msg, sizeof(msg),
-                      "unexpected character: '%s' (U+%04X)\n", utf8_char, c0_);
+          OS::SNPrint(msg, sizeof(msg), "unexpected character: '%s' (U+%04X)\n",
+                      utf8_char, c0_);
           ErrorMsg(msg);
           ReadChar();
         }
@@ -893,8 +887,7 @@
     Scan();
     bool inserted_new_lines = false;
     for (intptr_t diff = current_token_.position.line - prev_token_line_;
-         diff > 0;
-         diff--) {
+         diff > 0; diff--) {
       newline_token_.position.line = current_token_.position.line - diff;
       collector->AddToken(newline_token_);
       inserted_new_lines = true;
@@ -902,11 +895,11 @@
     if (inserted_new_lines &&
         ((current_token_.kind == Token::kINTERPOL_VAR) ||
          (current_token_.kind == Token::kINTERPOL_START))) {
-          // NOTE: If this changes, be sure to update
-          // Script::GenerateLineNumberArray to stay in sync.
-          empty_string_token_.position.line = current_token_.position.line;
-          collector->AddToken(empty_string_token_);
-        }
+      // NOTE: If this changes, be sure to update
+      // Script::GenerateLineNumberArray to stay in sync.
+      empty_string_token_.position.line = current_token_.position.line;
+      collector->AddToken(empty_string_token_);
+    }
     collector->AddToken(current_token_);
     prev_token_line_ = current_token_.position.line;
   } while (current_token_.kind != Token::kEOS);
@@ -921,8 +914,7 @@
     Scan();
     bool inserted_new_lines = false;
     for (intptr_t diff = current_token_.position.line - prev_token_line_;
-         diff > 0;
-         diff--) {
+         diff > 0; diff--) {
       // Advance the index to account for tokens added in ScanAll.
       index++;
       inserted_new_lines = true;
@@ -930,8 +922,8 @@
     if (inserted_new_lines &&
         ((current_token_.kind == Token::kINTERPOL_VAR) ||
          (current_token_.kind == Token::kINTERPOL_START))) {
-          // Advance the index to account for tokens added in ScanAll.
-          index++;
+      // Advance the index to account for tokens added in ScanAll.
+      index++;
     }
     index++;
     prev_token_line_ = current_token_.position.line;
diff --git a/runtime/vm/scanner.h b/runtime/vm/scanner.h
index aff5b3a..d26b989 100644
--- a/runtime/vm/scanner.h
+++ b/runtime/vm/scanner.h
@@ -46,9 +46,10 @@
 
   class TokenCollector : public ValueObject {
    public:
-    TokenCollector() { }
-    virtual ~TokenCollector() { }
-    virtual void AddToken(const TokenDescriptor& token) { }
+    TokenCollector() {}
+    virtual ~TokenCollector() {}
+    virtual void AddToken(const TokenDescriptor& token) {}
+
    private:
     DISALLOW_COPY_AND_ASSIGN(TokenCollector);
   };
@@ -166,12 +167,8 @@
 
   // Reads identifier.
   void ScanIdentChars(bool allow_dollar);
-  void ScanIdent() {
-    ScanIdentChars(true);
-  }
-  void ScanIdentNoDollar() {
-    ScanIdentChars(false);
-  }
+  void ScanIdent() { ScanIdentChars(true); }
+  void ScanIdentNoDollar() { ScanIdentChars(false); }
 
   // Reads a number literal.
   void ScanNumber(bool dec_point_seen);
@@ -183,17 +180,17 @@
   Thread* thread() const { return thread_; }
   Zone* zone() const { return zone_; }
 
-  TokenDescriptor current_token_;  // Current token.
-  TokenDescriptor newline_token_;  // Newline token.
+  TokenDescriptor current_token_;       // Current token.
+  TokenDescriptor newline_token_;       // Newline token.
   TokenDescriptor empty_string_token_;  // Token for "".
-  const String& source_;           // The source text being tokenized.
-  intptr_t source_length_;         // The length of the source text.
-  intptr_t lookahead_pos_;         // Position of lookahead character
-                                   // within source_.
-  intptr_t token_start_;           // Begin of current token in src_.
-  int32_t c0_;                     // Lookahead character.
-  bool newline_seen_;              // Newline before current token.
-  intptr_t prev_token_line_;       // Line number of the previous token.
+  const String& source_;                // The source text being tokenized.
+  intptr_t source_length_;              // The length of the source text.
+  intptr_t lookahead_pos_;              // Position of lookahead character
+                                        // within source_.
+  intptr_t token_start_;                // Begin of current token in src_.
+  int32_t c0_;                          // Lookahead character.
+  bool newline_seen_;                   // Newline before current token.
+  intptr_t prev_token_line_;            // Line number of the previous token.
 
   // The following fields keep track whether we are scanning a string literal
   // and its interpolated expressions.
@@ -204,7 +201,7 @@
 
   const String& private_key_;
 
-  SourcePosition c0_pos_;      // Source position of lookahead character c0_.
+  SourcePosition c0_pos_;  // Source position of lookahead character c0_.
 
   const CharAtFunc char_at_func_;
 
diff --git a/runtime/vm/scanner_test.cc b/runtime/vm/scanner_test.cc
index b6d4d23..f934c54 100644
--- a/runtime/vm/scanner_test.cc
+++ b/runtime/vm/scanner_test.cc
@@ -15,9 +15,8 @@
 
 
 static void LogTokenDesc(Scanner::TokenDescriptor token) {
-  OS::Print("pos %2d:%d-%d token %s  ",
-            token.position.line, token.position.column,
-            token.position.column,
+  OS::Print("pos %2d:%d-%d token %s  ", token.position.line,
+            token.position.column, token.position.column,
             Token::Name(token.kind));
   if (token.literal != NULL) {
     OS::Print("%s", token.literal->ToCString());
@@ -39,73 +38,73 @@
 }
 
 
-static void CheckKind(const GrowableTokenStream &token_stream,
-               int index,
-               Token::Kind kind) {
+static void CheckKind(const GrowableTokenStream& token_stream,
+                      int index,
+                      Token::Kind kind) {
   if (token_stream[index].kind != kind) {
     OS::PrintErr("Token %d: expected kind %s but got %s\n", index,
-        Token::Name(kind), Token::Name(token_stream[index].kind));
+                 Token::Name(kind), Token::Name(token_stream[index].kind));
   }
   EXPECT_EQ(kind, token_stream[index].kind);
 }
 
 
 static void CheckLiteral(const GrowableTokenStream& token_stream,
-                 int index,
-                 const char* literal) {
+                         int index,
+                         const char* literal) {
   if (token_stream[index].literal == NULL) {
-    OS::PrintErr("Token %d: expected literal \"%s\" but got nothing\n",
-                 index, literal);
+    OS::PrintErr("Token %d: expected literal \"%s\" but got nothing\n", index,
+                 literal);
   } else if (strcmp(literal, token_stream[index].literal->ToCString())) {
-    OS::PrintErr("Token %d: expected literal \"%s\" but got \"%s\"\n",
-                 index, literal, token_stream[index].literal->ToCString());
+    OS::PrintErr("Token %d: expected literal \"%s\" but got \"%s\"\n", index,
+                 literal, token_stream[index].literal->ToCString());
   }
 }
 
 
 static void CheckIdent(const GrowableTokenStream& token_stream,
-               int index,
-               const char* literal) {
+                       int index,
+                       const char* literal) {
   CheckKind(token_stream, index, Token::kIDENT);
   CheckLiteral(token_stream, index, literal);
 }
 
 
 static void CheckInteger(const GrowableTokenStream& token_stream,
-                 int index,
-                 const char* literal) {
+                         int index,
+                         const char* literal) {
   CheckKind(token_stream, index, Token::kINTEGER);
   CheckLiteral(token_stream, index, literal);
 }
 
 
 static void CheckLineNumber(const GrowableTokenStream& token_stream,
-                     int index,
-                     int line_number) {
+                            int index,
+                            int line_number) {
   if (token_stream[index].position.line != line_number) {
-    OS::PrintErr("Token %d: expected line number %d but got %d\n",
-        index, line_number, token_stream[index].position.line);
+    OS::PrintErr("Token %d: expected line number %d but got %d\n", index,
+                 line_number, token_stream[index].position.line);
   }
 }
 
 
-static void CheckNumTokens(const GrowableTokenStream& token_stream,
-                    int index) {
+static void CheckNumTokens(const GrowableTokenStream& token_stream, int index) {
   if (token_stream.length() != index) {
-    OS::PrintErr("Expected %d tokens but got only %" Pd ".\n",
-        index, token_stream.length());
+    OS::PrintErr("Expected %d tokens but got only %" Pd ".\n", index,
+                 token_stream.length());
   }
 }
 
 
 class Collector : public Scanner::TokenCollector {
  public:
-  explicit Collector(GrowableTokenStream* ts) : ts_(ts) { }
-  virtual ~Collector() { }
+  explicit Collector(GrowableTokenStream* ts) : ts_(ts) {}
+  virtual ~Collector() {}
 
   virtual void AddToken(const Scanner::TokenDescriptor& token) {
     ts_->Add(token);
   }
+
  private:
   GrowableTokenStream* ts_;
 };
@@ -138,9 +137,9 @@
 
 
 static void CommentTest() {
-  const GrowableTokenStream& tokens =
-      Scan("Foo( /*block \n"
-           "comment*/ 0xff) // line comment;");
+  const GrowableTokenStream& tokens = Scan(
+      "Foo( /*block \n"
+      "comment*/ 0xff) // line comment;");
 
   CheckNumTokens(tokens, 6);
   CheckIdent(tokens, 0, "Foo");
@@ -192,15 +191,13 @@
 
 
 static void InvalidStringEscapes() {
-  const GrowableTokenStream& out_of_range_low =
-      Scan("\"\\u{110000}\"");
+  const GrowableTokenStream& out_of_range_low = Scan("\"\\u{110000}\"");
   EXPECT_EQ(2, out_of_range_low.length());
   CheckKind(out_of_range_low, 0, Token::kERROR);
   EXPECT(out_of_range_low[0].literal->Equals("invalid code point"));
   CheckKind(out_of_range_low, 1, Token::kEOS);
 
-  const GrowableTokenStream& out_of_range_high =
-      Scan("\"\\u{FFFFFF}\"");
+  const GrowableTokenStream& out_of_range_high = Scan("\"\\u{FFFFFF}\"");
   EXPECT_EQ(2, out_of_range_high.length());
   CheckKind(out_of_range_high, 0, Token::kERROR);
   EXPECT(out_of_range_high[0].literal->Equals("invalid code point"));
@@ -223,7 +220,7 @@
 
   EXPECT_EQ('\\', litchars[0]);
   EXPECT_EQ('\'', litchars[1]);
-  EXPECT_EQ(' ',  litchars[2]);
+  EXPECT_EQ(' ', litchars[2]);
   EXPECT_EQ('\\', litchars[3]);
   EXPECT_EQ('\\', litchars[4]);
 }
@@ -248,12 +245,12 @@
   const char* litchars = (tokens)[2].literal->ToCString();
   EXPECT_EQ(6, (tokens)[2].literal->Length());
 
-  EXPECT_EQ('1',  litchars[0]);  // First newline is dropped.
+  EXPECT_EQ('1', litchars[0]);  // First newline is dropped.
   EXPECT_EQ('\'', litchars[1]);
-  EXPECT_EQ(' ',  litchars[2]);
-  EXPECT_EQ('x',  litchars[3]);
+  EXPECT_EQ(' ', litchars[2]);
+  EXPECT_EQ('x', litchars[3]);
   EXPECT_EQ('\n', litchars[4]);
-  EXPECT_EQ('2',  litchars[5]);
+  EXPECT_EQ('2', litchars[5]);
 }
 
 
@@ -285,8 +282,7 @@
 
 
 static void NumberLiteral() {
-  const GrowableTokenStream& tokens =
-      Scan("5 0x5d 0.3 0.33 1E+12 .42 +5");
+  const GrowableTokenStream& tokens = Scan("5 0x5d 0.3 0.33 1E+12 .42 +5");
 
   CheckKind(tokens, 0, Token::kINTEGER);
   CheckKind(tokens, 1, Token::kINTEGER);
@@ -365,8 +361,7 @@
 
 
 void InvalidText() {
-  const GrowableTokenStream& tokens =
-      Scan("\\");
+  const GrowableTokenStream& tokens = Scan("\\");
 
   EXPECT_EQ(2, tokens.length());
   CheckKind(tokens, 0, Token::kERROR);
@@ -400,9 +395,9 @@
 
   EXPECT_EQ(4, (tokens)[5].literal->Length());
   const char* litchars = (tokens)[5].literal->ToCString();
-  EXPECT_EQ('c',  litchars[0]);  // First newline is dropped.
+  EXPECT_EQ('c', litchars[0]);  // First newline is dropped.
   EXPECT_EQ('\n', litchars[1]);
-  EXPECT_EQ('d',  litchars[2]);
+  EXPECT_EQ('d', litchars[2]);
   EXPECT_EQ('\n', litchars[3]);
 }
 
diff --git a/runtime/vm/scavenger.cc b/runtime/vm/scavenger.cc
index e5e21e1..69d09cb 100644
--- a/runtime/vm/scavenger.cc
+++ b/runtime/vm/scavenger.cc
@@ -22,10 +22,14 @@
 
 namespace dart {
 
-DEFINE_FLAG(int, early_tenuring_threshold, 66,
+DEFINE_FLAG(int,
+            early_tenuring_threshold,
+            66,
             "When more than this percentage of promotion candidates survive, "
             "promote all survivors of next scavenge.");
-DEFINE_FLAG(int, new_gen_garbage_threshold, 90,
+DEFINE_FLAG(int,
+            new_gen_garbage_threshold,
+            90,
             "Grow new gen when less than this percentage is garbage.");
 DEFINE_FLAG(int, new_gen_growth_factor, 4, "Grow new gen by this factor.");
 
@@ -72,7 +76,7 @@
         vm_heap_(Dart::vm_isolate()->heap()),
         page_space_(scavenger->heap_->old_space()),
         bytes_promoted_(0),
-        visiting_old_object_(NULL) { }
+        visiting_old_object_(NULL) {}
 
   void VisitPointers(RawObject** first, RawObject** last) {
     ASSERT((visiting_old_object_ != NULL) ||
@@ -159,8 +163,7 @@
       ASSERT(new_addr != 0);
       // Copy the object to the new location.
       memmove(reinterpret_cast<void*>(new_addr),
-              reinterpret_cast<void*>(raw_addr),
-              size);
+              reinterpret_cast<void*>(raw_addr), size);
       // Remember forwarding address.
       ForwardTo(raw_addr, new_addr);
     }
@@ -193,16 +196,16 @@
  public:
   ScavengerWeakVisitor(Thread* thread,
                        Scavenger* scavenger,
-                       FinalizationQueue* finalization_queue) :
-      HandleVisitor(thread),
-      scavenger_(scavenger),
-      queue_(finalization_queue) {
+                       FinalizationQueue* finalization_queue)
+      : HandleVisitor(thread),
+        scavenger_(scavenger),
+        queue_(finalization_queue) {
     ASSERT(scavenger->heap_->isolate() == thread->isolate());
   }
 
   void VisitHandle(uword addr) {
     FinalizablePersistentHandle* handle =
-      reinterpret_cast<FinalizablePersistentHandle*>(addr);
+        reinterpret_cast<FinalizablePersistentHandle*>(addr);
     RawObject** p = handle->raw_addr();
     if (scavenger_->IsUnreachable(p)) {
       handle->UpdateUnreachable(thread()->isolate(), queue_);
@@ -223,8 +226,7 @@
 // StoreBuffers.
 class VerifyStoreBufferPointerVisitor : public ObjectPointerVisitor {
  public:
-  VerifyStoreBufferPointerVisitor(Isolate* isolate,
-                                  const SemiSpace* to)
+  VerifyStoreBufferPointerVisitor(Isolate* isolate, const SemiSpace* to)
       : ObjectPointerVisitor(isolate), to_(to) {}
 
   void VisitPointers(RawObject** first, RawObject** last) {
@@ -254,8 +256,8 @@
 SemiSpace::~SemiSpace() {
   if (reserved_ != NULL) {
 #if defined(DEBUG)
-    memset(reserved_->address(), Heap::kZapByte,
-           size_in_words() << kWordSizeLog2);
+    memset(reserved_->address(), Heap::kZapByte, size_in_words()
+                                                     << kWordSizeLog2);
 #endif  // defined(DEBUG)
     delete reserved_;
   }
@@ -320,8 +322,8 @@
 
 void SemiSpace::WriteProtect(bool read_only) {
   if (reserved_ != NULL) {
-    bool success = reserved_->Protect(
-        read_only ? VirtualMemory::kReadOnly : VirtualMemory::kReadWrite);
+    bool success = reserved_->Protect(read_only ? VirtualMemory::kReadOnly
+                                                : VirtualMemory::kReadWrite);
     ASSERT(success);
   }
 }
@@ -343,7 +345,8 @@
   ASSERT(Object::tags_offset() == 0);
 
   // Set initial size resulting in a total of three different levels.
-  const intptr_t initial_semi_capacity_in_words = max_semi_capacity_in_words /
+  const intptr_t initial_semi_capacity_in_words =
+      max_semi_capacity_in_words /
       (FLAG_new_gen_growth_factor * FLAG_new_gen_growth_factor);
   to_ = SemiSpace::New(initial_semi_capacity_in_words);
   if (to_ == NULL) {
@@ -543,8 +546,7 @@
 
 void Scavenger::ProcessToSpace(ScavengerVisitor* visitor) {
   // Iterate until all work has been drained.
-  while ((resolved_top_ < top_) ||
-         PromotedStackHasMore()) {
+  while ((resolved_top_ < top_) || PromotedStackHasMore()) {
     while (resolved_top_ < top_) {
       RawObject* raw_obj = RawObject::FromAddr(resolved_top_);
       intptr_t class_id = raw_obj->GetClassId();
@@ -613,8 +615,8 @@
   ASSERT(heap_ != NULL);
   Isolate* isolate = heap_->isolate();
   ASSERT(isolate != NULL);
-  isolate->GetHeapNewCapacityMaxMetric()->SetValue(
-      to_->size_in_words() * kWordSize);
+  isolate->GetHeapNewCapacityMaxMetric()->SetValue(to_->size_in_words() *
+                                                   kWordSize);
 }
 
 
@@ -635,11 +637,11 @@
   ASSERT(raw_weak->IsHeapObject());
   ASSERT(raw_weak->IsNewObject());
   ASSERT(raw_weak->IsWeakProperty());
-  DEBUG_ONLY(
-      uword raw_addr = RawObject::ToAddr(raw_weak);
-      uword header = *reinterpret_cast<uword*>(raw_addr);
-      ASSERT(!IsForwarding(header));
-  )
+#if defined(DEBUG)
+  uword raw_addr = RawObject::ToAddr(raw_weak);
+  uword header = *reinterpret_cast<uword*>(raw_addr);
+  ASSERT(!IsForwarding(header));
+#endif  // defined(DEBUG)
   ASSERT(raw_weak->ptr()->next_ == 0);
   raw_weak->ptr()->next_ = reinterpret_cast<uword>(delayed_weak_properties_);
   delayed_weak_properties_ = raw_weak;
@@ -666,13 +668,10 @@
 
 void Scavenger::ProcessWeakReferences() {
   // Rehash the weak tables now that we know which objects survive this cycle.
-  for (int sel = 0;
-       sel < Heap::kNumWeakSelectors;
-       sel++) {
-    WeakTable* table = heap_->GetWeakTable(
-        Heap::kNew, static_cast<Heap::WeakSelector>(sel));
-    heap_->SetWeakTable(Heap::kNew,
-                        static_cast<Heap::WeakSelector>(sel),
+  for (int sel = 0; sel < Heap::kNumWeakSelectors; sel++) {
+    WeakTable* table =
+        heap_->GetWeakTable(Heap::kNew, static_cast<Heap::WeakSelector>(sel));
+    heap_->SetWeakTable(Heap::kNew, static_cast<Heap::WeakSelector>(sel),
                         WeakTable::NewFrom(table));
     intptr_t size = table->size();
     for (intptr_t i = 0; i < size; i++) {
@@ -685,8 +684,7 @@
           // The object has survived.  Preserve its record.
           uword new_addr = ForwardedAddr(header);
           raw_obj = RawObject::FromAddr(new_addr);
-          heap_->SetWeakEntry(raw_obj,
-                              static_cast<Heap::WeakSelector>(sel),
+          heap_->SetWeakEntry(raw_obj, static_cast<Heap::WeakSelector>(sel),
                               table->ValueAt(i));
         }
       }
@@ -706,14 +704,14 @@
       // Reset the next pointer in the weak property.
       cur_weak->ptr()->next_ = 0;
 
-      DEBUG_ONLY(
-          RawObject* raw_key = cur_weak->ptr()->key_;
-          uword raw_addr = RawObject::ToAddr(raw_key);
-          uword header = *reinterpret_cast<uword*>(raw_addr);
-          ASSERT(!IsForwarding(header));
-          ASSERT(raw_key->IsHeapObject());
-          ASSERT(raw_key->IsNewObject());  // Key still points into from space.
-      )
+#if defined(DEBUG)
+      RawObject* raw_key = cur_weak->ptr()->key_;
+      uword raw_addr = RawObject::ToAddr(raw_key);
+      uword header = *reinterpret_cast<uword*>(raw_addr);
+      ASSERT(!IsForwarding(header));
+      ASSERT(raw_key->IsHeapObject());
+      ASSERT(raw_key->IsNewObject());  // Key still points into from space.
+#endif                                 // defined(DEBUG)
 
       WeakProperty::Clear(cur_weak);
 
@@ -836,11 +834,9 @@
     int64_t end = OS::GetCurrentTimeMicros();
     heap_->RecordTime(kProcessToSpace, middle - start);
     heap_->RecordTime(kIterateWeaks, end - middle);
-    stats_history_.Add(
-        ScavengeStats(start, end,
-                      usage_before, GetCurrentUsage(),
-                      promo_candidate_words,
-                      visitor.bytes_promoted() >> kWordSizeLog2));
+    stats_history_.Add(ScavengeStats(
+        start, end, usage_before, GetCurrentUsage(), promo_candidate_words,
+        visitor.bytes_promoted() >> kWordSizeLog2));
   }
   Epilogue(isolate, from, invoke_api_callbacks);
 
diff --git a/runtime/vm/scavenger.h b/runtime/vm/scavenger.h
index caa2daf..ee64a06 100644
--- a/runtime/vm/scavenger.h
+++ b/runtime/vm/scavenger.h
@@ -71,13 +71,13 @@
                 SpaceUsage before,
                 SpaceUsage after,
                 intptr_t promo_candidates_in_words,
-                intptr_t promoted_in_words) :
-      start_micros_(start_micros),
-      end_micros_(end_micros),
-      before_(before),
-      after_(after),
-      promo_candidates_in_words_(promo_candidates_in_words),
-      promoted_in_words_(promoted_in_words) {}
+                intptr_t promoted_in_words)
+      : start_micros_(start_micros),
+        end_micros_(end_micros),
+        before_(before),
+        after_(after),
+        promo_candidates_in_words_(promo_candidates_in_words),
+        promoted_in_words_(promoted_in_words) {}
 
   // Of all data before scavenge, what fraction was found to be garbage?
   double GarbageFraction() const {
@@ -88,14 +88,13 @@
   // Fraction of promotion candidates that survived and was thereby promoted.
   // Returns zero if there were no promotion candidates.
   double PromoCandidatesSuccessFraction() const {
-    return promo_candidates_in_words_ > 0 ?
-        promoted_in_words_ / static_cast<double>(promo_candidates_in_words_) :
-        0.0;
+    return promo_candidates_in_words_ > 0
+               ? promoted_in_words_ /
+                     static_cast<double>(promo_candidates_in_words_)
+               : 0.0;
   }
 
-  int64_t DurationMicros() const {
-    return end_micros_ - start_micros_;
-  }
+  int64_t DurationMicros() const { return end_micros_ - start_micros_; }
 
  private:
   int64_t start_micros_;
@@ -118,9 +117,7 @@
   // During scavenging both the to and from spaces contain "legal" objects.
   // During a scavenge this function only returns true for addresses that will
   // be part of the surviving objects.
-  bool Contains(uword addr) const {
-    return to_->Contains(addr);
-  }
+  bool Contains(uword addr) const { return to_->Contains(addr); }
 
   RawObject* FindObject(FindObjectVisitor* visitor) const;
 
@@ -165,12 +162,8 @@
   int64_t UsedInWords() const {
     return (top_ - FirstObjectStart()) >> kWordSizeLog2;
   }
-  int64_t CapacityInWords() const {
-    return to_->size_in_words();
-  }
-  int64_t ExternalInWords() const {
-    return external_size_ >> kWordSizeLog2;
-  }
+  int64_t CapacityInWords() const { return to_->size_in_words(); }
+  int64_t ExternalInWords() const { return external_size_ >> kWordSizeLog2; }
   SpaceUsage GetCurrentUsage() const {
     SpaceUsage usage;
     usage.used_in_words = UsedInWords();
@@ -186,21 +179,13 @@
 
   void WriteProtect(bool read_only);
 
-  void AddGCTime(int64_t micros) {
-    gc_time_micros_ += micros;
-  }
+  void AddGCTime(int64_t micros) { gc_time_micros_ += micros; }
 
-  int64_t gc_time_micros() const {
-    return gc_time_micros_;
-  }
+  int64_t gc_time_micros() const { return gc_time_micros_; }
 
-  void IncrementCollections() {
-    collections_++;
-  }
+  void IncrementCollections() { collections_++; }
 
-  intptr_t collections() const {
-    return collections_;
-  }
+  intptr_t collections() const { return collections_; }
 
 #ifndef PRODUCT
   void PrintToJSONObject(JSONObject* object) const;
diff --git a/runtime/vm/scavenger_test.cc b/runtime/vm/scavenger_test.cc
index 9776cca..cd8d610 100644
--- a/runtime/vm/scavenger_test.cc
+++ b/runtime/vm/scavenger_test.cc
@@ -12,10 +12,8 @@
 // Expects to visit no objects (since the space should be empty).
 class FailingObjectVisitor : public ObjectVisitor {
  public:
-  FailingObjectVisitor() { }
-  virtual void VisitObject(RawObject* obj) {
-    EXPECT(false);
-  }
+  FailingObjectVisitor() {}
+  virtual void VisitObject(RawObject* obj) { EXPECT(false); }
 };
 
 // Expects to visit no objects (since the space should be empty).
@@ -30,7 +28,7 @@
 // Expects to visit no objects (since the space should be empty).
 class FailingFindObjectVisitor : public FindObjectVisitor {
  public:
-  FailingFindObjectVisitor() { }
+  FailingFindObjectVisitor() {}
   virtual bool FindObject(RawObject* obj) const {
     EXPECT(false);
     return false;
diff --git a/runtime/vm/scope_timer.h b/runtime/vm/scope_timer.h
index f45854e..1266f29 100644
--- a/runtime/vm/scope_timer.h
+++ b/runtime/vm/scope_timer.h
@@ -13,10 +13,8 @@
 class ScopeTimer : public ValueObject {
  public:
   explicit ScopeTimer(const char* name, bool enabled = true)
-      : enabled_(enabled),
-        name_(name),
-        start_(0) {
-    if (!enabled_)     {
+      : enabled_(enabled), name_(name), start_(0) {
+    if (!enabled_) {
       return;
     }
     start_ = OS::GetCurrentTimeMicros();
diff --git a/runtime/vm/scopes.cc b/runtime/vm/scopes.cc
index 834ad1b..75f5d68 100644
--- a/runtime/vm/scopes.cc
+++ b/runtime/vm/scopes.cc
@@ -10,7 +10,9 @@
 
 namespace dart {
 
-DEFINE_FLAG(bool, share_enclosing_context, true,
+DEFINE_FLAG(bool,
+            share_enclosing_context,
+            true,
             "Allocate captured variables in the existing context of an "
             "enclosing scope (up to innermost loop) and spare the allocation "
             "of a local context.");
@@ -201,7 +203,7 @@
   ASSERT(num_parameters >= 0);
   // Parameters must be listed first and must all appear in the top scope.
   ASSERT(num_parameters <= num_variables());
-  int pos = 0;  // Current variable position.
+  int pos = 0;                              // Current variable position.
   int frame_index = first_parameter_index;  // Current free frame index.
   while (pos < num_parameters) {
     LocalVariable* parameter = VariableAt(pos);
@@ -241,13 +243,11 @@
   int min_frame_index = frame_index;  // Frame index decreases with allocations.
   LocalScope* child = this->child();
   while (child != NULL) {
-    int const dummy_parameter_index = 0;  // Ignored, since no parameters.
+    int const dummy_parameter_index = 0;    // Ignored, since no parameters.
     int const num_parameters_in_child = 0;  // No parameters in children scopes.
-    int child_frame_index = child->AllocateVariables(dummy_parameter_index,
-                                                     num_parameters_in_child,
-                                                     frame_index,
-                                                     context_owner,
-                                                     found_captured_variables);
+    int child_frame_index = child->AllocateVariables(
+        dummy_parameter_index, num_parameters_in_child, frame_index,
+        context_owner, found_captured_variables);
     if (child_frame_index < min_frame_index) {
       min_frame_index = child_frame_index;
     }
@@ -462,7 +462,7 @@
           (label->kind() == SourceLabel::kFor) ||
           (label->kind() == SourceLabel::kDoWhile) ||
           ((jump_kind == Token::kBREAK) &&
-              (label->kind() == SourceLabel::kSwitch))) {
+           (label->kind() == SourceLabel::kSwitch))) {
         return label;
       }
     }
@@ -533,8 +533,8 @@
 }
 
 
-RawContextScope* LocalScope::PreserveOuterScope(int current_context_level)
-    const {
+RawContextScope* LocalScope::PreserveOuterScope(
+    int current_context_level) const {
   // Since code generation for nested functions is postponed until first
   // invocation, the function level of the closure scope can only be 1.
   ASSERT(function_level() == 1);
@@ -587,19 +587,18 @@
   for (int i = 0; i < context_scope.num_variables(); i++) {
     LocalVariable* variable;
     if (context_scope.IsConstAt(i)) {
-      variable = new LocalVariable(
-          context_scope.DeclarationTokenIndexAt(i),
-          context_scope.TokenIndexAt(i),
-          String::ZoneHandle(context_scope.NameAt(i)),
-          Object::dynamic_type());
+      variable = new LocalVariable(context_scope.DeclarationTokenIndexAt(i),
+                                   context_scope.TokenIndexAt(i),
+                                   String::ZoneHandle(context_scope.NameAt(i)),
+                                   Object::dynamic_type());
       variable->SetConstValue(
           Instance::ZoneHandle(context_scope.ConstValueAt(i)));
     } else {
-      variable = new LocalVariable(
-          context_scope.DeclarationTokenIndexAt(i),
-          context_scope.TokenIndexAt(i),
-          String::ZoneHandle(context_scope.NameAt(i)),
-          AbstractType::ZoneHandle(context_scope.TypeAt(i)));
+      variable =
+          new LocalVariable(context_scope.DeclarationTokenIndexAt(i),
+                            context_scope.TokenIndexAt(i),
+                            String::ZoneHandle(context_scope.NameAt(i)),
+                            AbstractType::ZoneHandle(context_scope.TypeAt(i)));
     }
     variable->set_is_captured();
     variable->set_index(context_scope.ContextIndexAt(i));
diff --git a/runtime/vm/scopes.h b/runtime/vm/scopes.h
index 69551d0..688050a 100644
--- a/runtime/vm/scopes.h
+++ b/runtime/vm/scopes.h
@@ -25,18 +25,18 @@
                 TokenPosition token_pos,
                 const String& name,
                 const AbstractType& type)
-    : declaration_pos_(declaration_pos),
-      token_pos_(token_pos),
-      name_(name),
-      owner_(NULL),
-      type_(type),
-      const_value_(NULL),
-      is_final_(false),
-      is_captured_(false),
-      is_invisible_(false),
-      is_captured_parameter_(false),
-      is_forced_stack_(false),
-      index_(LocalVariable::kUninitializedIndex) {
+      : declaration_pos_(declaration_pos),
+        token_pos_(token_pos),
+        name_(name),
+        owner_(NULL),
+        type_(type),
+        const_value_(NULL),
+        is_final_(false),
+        is_captured_(false),
+        is_invisible_(false),
+        is_captured_parameter_(false),
+        is_forced_stack_(false),
+        index_(LocalVariable::kUninitializedIndex) {
     ASSERT(type.IsZoneHandle() || type.IsReadOnlyHandle());
     ASSERT(type.IsFinalized());
     ASSERT(name.IsSymbol());
@@ -66,9 +66,7 @@
   bool is_forced_stack() const { return is_forced_stack_; }
   void set_is_forced_stack() { is_forced_stack_ = true; }
 
-  bool HasIndex() const {
-    return index_ != kUninitializedIndex;
-  }
+  bool HasIndex() const { return index_ != kUninitializedIndex; }
   int index() const {
     ASSERT(HasIndex());
     return index_;
@@ -80,24 +78,16 @@
     index_ = index;
   }
 
-  void set_invisible(bool value) {
-    is_invisible_ = value;
-  }
+  void set_invisible(bool value) { is_invisible_ = value; }
   bool is_invisible() const { return is_invisible_; }
 
   bool is_captured_parameter() const { return is_captured_parameter_; }
-  void set_is_captured_parameter(bool value) {
-    is_captured_parameter_ = value;
-  }
+  void set_is_captured_parameter(bool value) { is_captured_parameter_ = value; }
 
   // By convention, internal variables start with a colon.
-  bool IsInternal() const {
-    return name_.CharAt(0) == ':';
-  }
+  bool IsInternal() const { return name_.CharAt(0) == ':'; }
 
-  bool IsConst() const {
-    return const_value_ != NULL;
-  }
+  bool IsConst() const { return const_value_ != NULL; }
 
   void SetConstValue(const Instance& value) {
     ASSERT(value.IsZoneHandle() || value.IsReadOnlyHandle());
@@ -127,9 +117,9 @@
 
   const AbstractType& type_;  // Declaration type of local variable.
 
-  const Instance* const_value_;   // NULL or compile-time const value.
+  const Instance* const_value_;  // NULL or compile-time const value.
 
-  bool is_final_;  // If true, this variable is readonly.
+  bool is_final_;     // If true, this variable is readonly.
   bool is_captured_;  // If true, this variable lives in the context, otherwise
                       // in the stack frame.
   bool is_invisible_;
@@ -146,13 +136,13 @@
 class NameReference : public ZoneAllocated {
  public:
   NameReference(TokenPosition token_pos, const String& name)
-    : token_pos_(token_pos),
-      name_(name) {
+      : token_pos_(token_pos), name_(name) {
     ASSERT(name.IsSymbol());
   }
   const String& name() const { return name_; }
   TokenPosition token_pos() const { return token_pos_; }
   void set_token_pos(TokenPosition value) { token_pos_ = value; }
+
  private:
   TokenPosition token_pos_;
   const String& name_;
@@ -174,10 +164,7 @@
   };
 
   SourceLabel(TokenPosition token_pos, const String& name, Kind kind)
-    : token_pos_(token_pos),
-      name_(name),
-      owner_(NULL),
-      kind_(kind) {
+      : token_pos_(token_pos), name_(name), owner_(NULL), kind_(kind) {
     ASSERT(name.IsSymbol());
   }
 
@@ -185,18 +172,14 @@
     if (name != NULL) {
       return new SourceLabel(token_pos, *name, kind);
     } else {
-      return new SourceLabel(token_pos,
-                             Symbols::DefaultLabel(),
-                             kind);
+      return new SourceLabel(token_pos, Symbols::DefaultLabel(), kind);
     }
   }
 
   TokenPosition token_pos() const { return token_pos_; }
   const String& name() const { return name_; }
   LocalScope* owner() const { return owner_; }
-  void set_owner(LocalScope* owner) {
-    owner_ = owner;
-  }
+  void set_owner(LocalScope* owner) { owner_ = owner; }
 
   Kind kind() const { return kind_; }
 
@@ -379,10 +362,10 @@
   LocalScope* parent_;
   LocalScope* child_;
   LocalScope* sibling_;
-  int function_level_;  // Reflects the nesting level of local functions.
-  int loop_level_;      // Reflects the loop nesting level.
-  int context_level_;   // Reflects the level of the runtime context.
-  int num_context_variables_;   // Only set if this scope is a context owner.
+  int function_level_;         // Reflects the nesting level of local functions.
+  int loop_level_;             // Reflects the loop nesting level.
+  int context_level_;          // Reflects the level of the runtime context.
+  int num_context_variables_;  // Only set if this scope is a context owner.
   TokenPosition begin_token_pos_;  // Token index of beginning of scope.
   TokenPosition end_token_pos_;    // Token index of end of scope.
   GrowableArray<LocalVariable*> variables_;
diff --git a/runtime/vm/scopes_test.cc b/runtime/vm/scopes_test.cc
index fb6e438..f2171a5 100644
--- a/runtime/vm/scopes_test.cc
+++ b/runtime/vm/scopes_test.cc
@@ -13,20 +13,16 @@
   // Allocate a couple of local variables first.
   const Type& dynamic_type = Type::ZoneHandle(Type::DynamicType());
   const String& a = String::ZoneHandle(Symbols::New(thread, "a"));
-  LocalVariable* var_a =
-      new LocalVariable(TokenPosition::kNoSource,
-                        TokenPosition::kNoSource, a, dynamic_type);
-  LocalVariable* inner_var_a =
-      new LocalVariable(TokenPosition::kNoSource,
-                        TokenPosition::kNoSource, a, dynamic_type);
+  LocalVariable* var_a = new LocalVariable(
+      TokenPosition::kNoSource, TokenPosition::kNoSource, a, dynamic_type);
+  LocalVariable* inner_var_a = new LocalVariable(
+      TokenPosition::kNoSource, TokenPosition::kNoSource, a, dynamic_type);
   const String& b = String::ZoneHandle(Symbols::New(thread, "b"));
-  LocalVariable* var_b =
-      new LocalVariable(TokenPosition::kNoSource,
-                        TokenPosition::kNoSource, b, dynamic_type);
+  LocalVariable* var_b = new LocalVariable(
+      TokenPosition::kNoSource, TokenPosition::kNoSource, b, dynamic_type);
   const String& c = String::ZoneHandle(Symbols::New(thread, "c"));
-  LocalVariable* var_c =
-      new LocalVariable(TokenPosition::kNoSource,
-                        TokenPosition::kNoSource, c, dynamic_type);
+  LocalVariable* var_c = new LocalVariable(
+      TokenPosition::kNoSource, TokenPosition::kNoSource, c, dynamic_type);
   const String& L = String::ZoneHandle(Symbols::New(thread, "L"));
   SourceLabel* label_L =
       new SourceLabel(TokenPosition::kNoSource, L, SourceLabel::kFor);
diff --git a/runtime/vm/service.cc b/runtime/vm/service.cc
index bb9ada1..1c05a5c 100644
--- a/runtime/vm/service.cc
+++ b/runtime/vm/service.cc
@@ -48,11 +48,15 @@
 DECLARE_FLAG(bool, trace_service);
 DECLARE_FLAG(bool, trace_service_pause_events);
 DECLARE_FLAG(bool, profile_vm);
-DEFINE_FLAG(charp, vm_name, "vm",
+DEFINE_FLAG(charp,
+            vm_name,
+            "vm",
             "The default name of this vm as reported by the VM service "
             "protocol");
 
-DEFINE_FLAG(bool, warn_on_pause_with_no_debugger, false,
+DEFINE_FLAG(bool,
+            warn_on_pause_with_no_debugger,
+            false,
             "Print a message when an isolate is paused but there is no "
             "debugger attached.");
 
@@ -69,26 +73,21 @@
 }
 
 
-ServiceIdZone::ServiceIdZone() {
-}
+ServiceIdZone::ServiceIdZone() {}
 
 
-ServiceIdZone::~ServiceIdZone() {
-}
+ServiceIdZone::~ServiceIdZone() {}
 
 
 RingServiceIdZone::RingServiceIdZone()
-    : ring_(NULL),
-      policy_(ObjectIdRing::kAllocateId) {
-}
+    : ring_(NULL), policy_(ObjectIdRing::kAllocateId) {}
 
 
-RingServiceIdZone::~RingServiceIdZone() {
-}
+RingServiceIdZone::~RingServiceIdZone() {}
 
 
-void RingServiceIdZone::Init(
-    ObjectIdRing* ring, ObjectIdRing::IdPolicy policy) {
+void RingServiceIdZone::Init(ObjectIdRing* ring,
+                             ObjectIdRing::IdPolicy policy) {
   ring_ = ring;
   policy_ = policy;
 }
@@ -128,25 +127,19 @@
 StreamInfo Service::timeline_stream("Timeline");
 
 static StreamInfo* streams_[] = {
-  &Service::vm_stream,
-  &Service::isolate_stream,
-  &Service::debug_stream,
-  &Service::gc_stream,
-  &Service::echo_stream,
-  &Service::graph_stream,
-  &Service::logging_stream,
-  &Service::extension_stream,
-  &Service::timeline_stream,
+    &Service::vm_stream,       &Service::isolate_stream,
+    &Service::debug_stream,    &Service::gc_stream,
+    &Service::echo_stream,     &Service::graph_stream,
+    &Service::logging_stream,  &Service::extension_stream,
+    &Service::timeline_stream,
 };
 
 
 bool Service::ListenStream(const char* stream_id) {
   if (FLAG_trace_service) {
-    OS::Print("vm-service: starting stream '%s'\n",
-              stream_id);
+    OS::Print("vm-service: starting stream '%s'\n", stream_id);
   }
-  intptr_t num_streams = sizeof(streams_) /
-                         sizeof(streams_[0]);
+  intptr_t num_streams = sizeof(streams_) / sizeof(streams_[0]);
   for (intptr_t i = 0; i < num_streams; i++) {
     if (strcmp(stream_id, streams_[i]->id()) == 0) {
       streams_[i]->set_enabled(true);
@@ -164,11 +157,9 @@
 
 void Service::CancelStream(const char* stream_id) {
   if (FLAG_trace_service) {
-    OS::Print("vm-service: stopping stream '%s'\n",
-              stream_id);
+    OS::Print("vm-service: stopping stream '%s'\n", stream_id);
   }
-  intptr_t num_streams = sizeof(streams_) /
-                         sizeof(streams_[0]);
+  intptr_t num_streams = sizeof(streams_) / sizeof(streams_[0]);
   for (intptr_t i = 0; i < num_streams; i++) {
     if (strcmp(stream_id, streams_[i]->id()) == 0) {
       streams_[i]->set_enabled(false);
@@ -198,20 +189,18 @@
     return Object::null();
   }
   if (!object.IsTypedData()) {
-    const String& error_message =
-        String::Handle(
-            String::New("An implementation of Dart_GetVMServiceAssetsArchive "
-                        "should return a Uint8Array or null."));
+    const String& error_message = String::Handle(
+        String::New("An implementation of Dart_GetVMServiceAssetsArchive "
+                    "should return a Uint8Array or null."));
     const Error& error = Error::Handle(ApiError::New(error_message));
     Exceptions::PropagateError(error);
     return Object::null();
   }
   const TypedData& typed_data = TypedData::Cast(object);
   if (typed_data.ElementSizeInBytes() != 1) {
-    const String& error_message =
-        String::Handle(
-            String::New("An implementation of Dart_GetVMServiceAssetsArchive "
-                        "should return a Uint8Array or null."));
+    const String& error_message = String::Handle(
+        String::New("An implementation of Dart_GetVMServiceAssetsArchive "
+                    "should return a Uint8Array or null."));
     const Error& error = Error::Handle(ApiError::New(error_message));
     Exceptions::PropagateError(error);
     return Object::null();
@@ -229,26 +218,21 @@
 }
 
 
-static void PrintMissingParamError(JSONStream* js,
-                                   const char* param) {
-  js->PrintError(kInvalidParams,
-                 "%s expects the '%s' parameter", js->method(), param);
+static void PrintMissingParamError(JSONStream* js, const char* param) {
+  js->PrintError(kInvalidParams, "%s expects the '%s' parameter", js->method(),
+                 param);
 }
 
 
-static void PrintInvalidParamError(JSONStream* js,
-                                   const char* param) {
-  js->PrintError(kInvalidParams,
-                 "%s: invalid '%s' parameter: %s",
-                 js->method(), param, js->LookupParam(param));
+static void PrintInvalidParamError(JSONStream* js, const char* param) {
+  js->PrintError(kInvalidParams, "%s: invalid '%s' parameter: %s", js->method(),
+                 param, js->LookupParam(param));
 }
 
 
-static void PrintIllegalParamError(JSONStream* js,
-                                   const char* param) {
-  js->PrintError(kInvalidParams,
-                 "%s: illegal '%s' parameter: %s",
-                 js->method(), param, js->LookupParam(param));
+static void PrintIllegalParamError(JSONStream* js, const char* param) {
+  js->PrintError(kInvalidParams, "%s: illegal '%s' parameter: %s", js->method(),
+                 param, js->LookupParam(param));
 }
 
 
@@ -416,26 +400,17 @@
 class MethodParameter {
  public:
   MethodParameter(const char* name, bool required)
-      : name_(name), required_(required) {
-  }
+      : name_(name), required_(required) {}
 
-  virtual ~MethodParameter() { }
+  virtual ~MethodParameter() {}
 
-  virtual bool Validate(const char* value) const {
-    return true;
-  }
+  virtual bool Validate(const char* value) const { return true; }
 
-  virtual bool ValidateObject(const Object& value) const {
-    return true;
-  }
+  virtual bool ValidateObject(const Object& value) const { return true; }
 
-  const char* name() const {
-    return name_;
-  }
+  const char* name() const { return name_; }
 
-  bool required() const {
-    return required_;
-  }
+  bool required() const { return required_; }
 
   virtual void PrintError(const char* name,
                           const char* value,
@@ -458,8 +433,7 @@
 class DartStringParameter : public MethodParameter {
  public:
   DartStringParameter(const char* name, bool required)
-      : MethodParameter(name, required) {
-  }
+      : MethodParameter(name, required) {}
 
   virtual bool ValidateObject(const Object& value) const {
     return value.IsString();
@@ -470,8 +444,7 @@
 class DartListParameter : public MethodParameter {
  public:
   DartListParameter(const char* name, bool required)
-      : MethodParameter(name, required) {
-  }
+      : MethodParameter(name, required) {}
 
   virtual bool ValidateObject(const Object& value) const {
     return value.IsArray() || value.IsGrowableObjectArray();
@@ -481,13 +454,9 @@
 
 class NoSuchParameter : public MethodParameter {
  public:
-  explicit NoSuchParameter(const char* name)
-    : MethodParameter(name, false) {
-  }
+  explicit NoSuchParameter(const char* name) : MethodParameter(name, false) {}
 
-  virtual bool Validate(const char* value) const {
-    return (value == NULL);
-  }
+  virtual bool Validate(const char* value) const { return (value == NULL); }
 
   virtual bool ValidateObject(const Object& value) const {
     return value.IsNull();
@@ -498,8 +467,7 @@
 class BoolParameter : public MethodParameter {
  public:
   BoolParameter(const char* name, bool required)
-      : MethodParameter(name, required) {
-  }
+      : MethodParameter(name, required) {}
 
   virtual bool Validate(const char* value) const {
     if (value == NULL) {
@@ -520,8 +488,7 @@
 class UIntParameter : public MethodParameter {
  public:
   UIntParameter(const char* name, bool required)
-      : MethodParameter(name, required) {
-  }
+      : MethodParameter(name, required) {}
 
   virtual bool Validate(const char* value) const {
     if (value == NULL) {
@@ -550,8 +517,7 @@
 class Int64Parameter : public MethodParameter {
  public:
   Int64Parameter(const char* name, bool required)
-      : MethodParameter(name, required) {
-  }
+      : MethodParameter(name, required) {}
 
   virtual bool Validate(const char* value) const {
     if (value == NULL) {
@@ -580,20 +546,16 @@
 class IdParameter : public MethodParameter {
  public:
   IdParameter(const char* name, bool required)
-      : MethodParameter(name, required) {
-  }
+      : MethodParameter(name, required) {}
 
-  virtual bool Validate(const char* value) const {
-    return (value != NULL);
-  }
+  virtual bool Validate(const char* value) const { return (value != NULL); }
 };
 
 
 class RunnableIsolateParameter : public MethodParameter {
  public:
   explicit RunnableIsolateParameter(const char* name)
-      : MethodParameter(name, true) {
-  }
+      : MethodParameter(name, true) {}
 
   virtual bool Validate(const char* value) const {
     Isolate* isolate = Isolate::Current();
@@ -616,9 +578,7 @@
 class EnumParameter : public MethodParameter {
  public:
   EnumParameter(const char* name, bool required, const char* const* enums)
-      : MethodParameter(name, required),
-        enums_(enums) {
-  }
+      : MethodParameter(name, required), enums_(enums) {}
 
   virtual bool Validate(const char* value) const {
     if (value == NULL) {
@@ -639,7 +599,7 @@
 
 // If the key is not found, this function returns the last element in the
 // values array. This can be used to encode the default value.
-template<typename T>
+template <typename T>
 T EnumMapper(const char* value, const char* const* enums, T* values) {
   ASSERT(value != NULL);
   intptr_t i = 0;
@@ -656,9 +616,7 @@
 class EnumListParameter : public MethodParameter {
  public:
   EnumListParameter(const char* name, bool required, const char* const* enums)
-      : MethodParameter(name, required),
-        enums_(enums) {
-  }
+      : MethodParameter(name, required), enums_(enums) {}
 
   virtual bool Validate(const char* value) const {
     return ElementCount(value) >= 0;
@@ -695,8 +653,7 @@
  private:
   // For now observatory enums are ascii letters plus underscore.
   static bool IsEnumChar(char c) {
-    return (((c >= 'a') && (c <= 'z')) ||
-            ((c >= 'A') && (c <= 'Z')) ||
+    return (((c >= 'a') && (c <= 'z')) || ((c >= 'A') && (c <= 'Z')) ||
             (c == '_'));
   }
 
@@ -777,13 +734,13 @@
 struct ServiceMethodDescriptor {
   const char* name;
   const ServiceMethodEntry entry;
-  const MethodParameter* const * parameters;
+  const MethodParameter* const* parameters;
 };
 
 
 // TODO(johnmccutchan): Do we reject unexpected parameters?
 static bool ValidateParameters(const MethodParameter* const* parameters,
-                              JSONStream* js) {
+                               JSONStream* js) {
   if (parameters == NULL) {
     return true;
   }
@@ -835,11 +792,10 @@
   StackZone zone(T);
   HANDLESCOPE(T);
   JSONStream js;
-  js.Setup(zone.GetZone(), SendPort::Cast(reply_port).Id(),
-           id, method_name, parameter_keys, parameter_values);
-  js.PrintError(kExtensionError,
-                "Error in extension `%s`: %s",
-                js.method(), error.ToErrorCString());
+  js.Setup(zone.GetZone(), SendPort::Cast(reply_port).Id(), id, method_name,
+           parameter_keys, parameter_values);
+  js.PrintError(kExtensionError, "Error in extension `%s`: %s", js.method(),
+                error.ToErrorCString());
   js.PostReply();
 }
 
@@ -880,12 +836,8 @@
     }
 
     JSONStream js;
-    js.Setup(zone.GetZone(), SendPort::Cast(reply_port).Id(),
-             seq,
-             method_name,
-             param_keys,
-             param_values,
-             parameters_are_dart_objects);
+    js.Setup(zone.GetZone(), SendPort::Cast(reply_port).Id(), seq, method_name,
+             param_keys, param_values, parameters_are_dart_objects);
 
     // RPC came in with a custom service id zone.
     const char* id_zone_param = js.LookupParam("_idZone");
@@ -938,15 +890,11 @@
       return;
     }
 
-    const Instance& extension_handler = Instance::Handle(Z,
-        I->LookupServiceExtensionHandler(method_name));
+    const Instance& extension_handler =
+        Instance::Handle(Z, I->LookupServiceExtensionHandler(method_name));
     if (!extension_handler.IsNull()) {
-      ScheduleExtensionHandler(extension_handler,
-                               method_name,
-                               param_keys,
-                               param_values,
-                               reply_port,
-                               seq);
+      ScheduleExtensionHandler(extension_handler, method_name, param_keys,
+                               param_values, reply_port, seq);
       // Schedule was successful. Extension code will post a reply
       // asynchronously.
       return;
@@ -995,9 +943,10 @@
   ASSERT(!ServiceIsolate::IsServiceIsolateDescendant(isolate));
 
   if (FLAG_trace_service) {
-    OS::Print("vm-service: Pushing ServiceEvent(isolate='%s', kind='%s',"
-              " len=%" Pd ") to stream %s\n",
-              isolate->name(), event_type, bytes_length, stream_id);
+    OS::Print(
+        "vm-service: Pushing ServiceEvent(isolate='%s', kind='%s',"
+        " len=%" Pd ") to stream %s\n",
+        isolate->name(), event_type, bytes_length, stream_id);
   }
 
   bool result;
@@ -1066,26 +1015,30 @@
 
 static void ReportPauseOnConsole(ServiceEvent* event) {
   const char* name = event->isolate()->debugger_name();
-  switch (event->kind())  {
+  switch (event->kind()) {
     case ServiceEvent::kPauseStart:
       OS::PrintErr(
           "vm-service: isolate '%s' has no debugger attached and is paused at "
-          "start.", name);
+          "start.",
+          name);
       break;
     case ServiceEvent::kPauseExit:
       OS::PrintErr(
           "vm-service: isolate '%s' has no debugger attached and is paused at "
-          "exit.", name);
+          "exit.",
+          name);
       break;
     case ServiceEvent::kPauseException:
       OS::PrintErr(
           "vm-service: isolate '%s' has no debugger attached and is paused due "
-          "to exception.", name);
+          "to exception.",
+          name);
       break;
     case ServiceEvent::kPauseInterrupted:
       OS::PrintErr(
           "vm-service: isolate '%s' has no debugger attached and is paused due "
-          "to interrupt.", name);
+          "to interrupt.",
+          name);
       break;
     case ServiceEvent::kPauseBreakpoint:
       OS::PrintErr(
@@ -1095,7 +1048,8 @@
     case ServiceEvent::kPausePostRequest:
       OS::PrintErr(
           "vm-service: isolate '%s' has no debugger attached and is paused "
-          "post reload.", name);
+          "post reload.",
+          name);
       break;
     default:
       UNREACHABLE();
@@ -1117,10 +1071,8 @@
 
 
 void Service::HandleEvent(ServiceEvent* event) {
-  if (event->stream_info() != NULL &&
-      !event->stream_info()->enabled()) {
-    if (FLAG_warn_on_pause_with_no_debugger &&
-        event->IsPause()) {
+  if (event->stream_info() != NULL && !event->stream_info()->enabled()) {
+    if (FLAG_warn_on_pause_with_no_debugger && event->IsPause()) {
       // If we are about to pause a running program which has no
       // debugger connected, tell the user about it.
       ReportPauseOnConsole(event);
@@ -1180,9 +1132,10 @@
     if (isolate != NULL) {
       isolate_name = isolate->name();
     }
-    OS::Print("vm-service: Pushing ServiceEvent(isolate='%s', kind='%s') "
-              "to stream %s\n",
-              isolate_name, kind, stream_id);
+    OS::Print(
+        "vm-service: Pushing ServiceEvent(isolate='%s', kind='%s') "
+        "to stream %s\n",
+        isolate_name, kind, stream_id);
   }
 
   Dart_PostCObject(ServiceIsolate::Port(), &list_cobj);
@@ -1191,17 +1144,13 @@
 
 class EmbedderServiceHandler {
  public:
-  explicit EmbedderServiceHandler(const char* name) : name_(NULL),
-                                                      callback_(NULL),
-                                                      user_data_(NULL),
-                                                      next_(NULL) {
+  explicit EmbedderServiceHandler(const char* name)
+      : name_(NULL), callback_(NULL), user_data_(NULL), next_(NULL) {
     ASSERT(name != NULL);
     name_ = strdup(name);
   }
 
-  ~EmbedderServiceHandler() {
-    free(name_);
-  }
+  ~EmbedderServiceHandler() { free(name_); }
 
   const char* name() const { return name_; }
 
@@ -1211,14 +1160,10 @@
   }
 
   void* user_data() const { return user_data_; }
-  void set_user_data(void* user_data) {
-    user_data_ = user_data;
-  }
+  void set_user_data(void* user_data) { user_data_ = user_data; }
 
   EmbedderServiceHandler* next() const { return next_; }
-  void set_next(EmbedderServiceHandler* next) {
-    next_ = next;
-  }
+  void set_next(EmbedderServiceHandler* next) { next_ = next; }
 
  private:
   char* name_;
@@ -1275,8 +1220,7 @@
 }
 
 
-EmbedderServiceHandler* Service::FindIsolateEmbedderHandler(
-    const char* name) {
+EmbedderServiceHandler* Service::FindIsolateEmbedderHandler(const char* name) {
   EmbedderServiceHandler* current = isolate_service_handler_head_;
   while (current != NULL) {
     if (strcmp(name, current->name()) == 0) {
@@ -1288,10 +1232,9 @@
 }
 
 
-void Service::RegisterRootEmbedderCallback(
-    const char* name,
-    Dart_ServiceRequestCallback callback,
-    void* user_data) {
+void Service::RegisterRootEmbedderCallback(const char* name,
+                                           Dart_ServiceRequestCallback callback,
+                                           void* user_data) {
   if (name == NULL) {
     return;
   }
@@ -1327,8 +1270,7 @@
 }
 
 
-EmbedderServiceHandler* Service::FindRootEmbedderHandler(
-    const char* name) {
+EmbedderServiceHandler* Service::FindRootEmbedderHandler(const char* name) {
   EmbedderServiceHandler* current = root_service_handler_head_;
   while (current != NULL) {
     if (strcmp(name, current->name()) == 0) {
@@ -1353,18 +1295,13 @@
   ASSERT(!reply_port.IsNull());
   Isolate* isolate = Isolate::Current();
   ASSERT(isolate != NULL);
-  isolate->AppendServiceExtensionCall(handler,
-                                      method_name,
-                                      parameter_keys,
-                                      parameter_values,
-                                      reply_port,
-                                      id);
+  isolate->AppendServiceExtensionCall(handler, method_name, parameter_keys,
+                                      parameter_values, reply_port, id);
 }
 
 
 static const MethodParameter* get_isolate_params[] = {
-  ISOLATE_PARAMETER,
-  NULL,
+    ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -1375,9 +1312,7 @@
 
 
 static const MethodParameter* get_stack_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new BoolParameter("_full", false),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, new BoolParameter("_full", false), NULL,
 };
 
 
@@ -1447,9 +1382,8 @@
     }
   }
   uint8_t data[] = {0, 128, 255};
-  SendEventWithData(echo_stream.id(), "_Echo",
-                    js.buffer()->buf(), js.buffer()->length(),
-                    data, sizeof(data));
+  SendEventWithData(echo_stream.id(), "_Echo", js.buffer()->buf(),
+                    js.buffer()->length(), data, sizeof(data));
 }
 
 
@@ -1517,13 +1451,12 @@
   if (strncmp(arg, "int-", 4) == 0) {
     arg += 4;
     int64_t value = 0;
-    if (!OS::StringToInt64(arg, &value) ||
-        !Smi::IsValid(value)) {
+    if (!OS::StringToInt64(arg, &value) || !Smi::IsValid(value)) {
       *kind = ObjectIdRing::kInvalid;
       return Object::null();
     }
-    const Integer& obj = Integer::Handle(thread->zone(),
-        Smi::New(static_cast<intptr_t>(value)));
+    const Integer& obj =
+        Integer::Handle(thread->zone(), Smi::New(static_cast<intptr_t>(value)));
     return obj.raw();
   } else if (strcmp(arg, "bool-true") == 0) {
     return Bool::True().raw();
@@ -1545,7 +1478,8 @@
 
 
 static RawObject* LookupHeapObjectLibraries(Isolate* isolate,
-                                            char** parts, int num_parts) {
+                                            char** parts,
+                                            int num_parts) {
   // Library ids look like "libraries/35"
   if (num_parts < 2) {
     return Object::sentinel().raw();
@@ -1603,7 +1537,8 @@
 }
 
 static RawObject* LookupHeapObjectClasses(Thread* thread,
-                                          char** parts, int num_parts) {
+                                          char** parts,
+                                          int num_parts) {
   // Class ids look like: "classes/17"
   if (num_parts < 2) {
     return Object::sentinel().raw();
@@ -1612,8 +1547,7 @@
   Zone* zone = thread->zone();
   ClassTable* table = isolate->class_table();
   intptr_t id;
-  if (!GetIntegerId(parts[1], &id) ||
-      !table->IsValidIndex(id)) {
+  if (!GetIntegerId(parts[1], &id) || !table->IsValidIndex(id)) {
     return Object::sentinel().raw();
   }
   Class& cls = Class::Handle(zone, table->At(id));
@@ -1726,7 +1660,8 @@
 
 
 static RawObject* LookupHeapObjectTypeArguments(Thread* thread,
-                                                char** parts, int num_parts) {
+                                                char** parts,
+                                                int num_parts) {
   Isolate* isolate = thread->isolate();
   // TypeArguments ids look like: "typearguments/17"
   if (num_parts < 2) {
@@ -1737,8 +1672,8 @@
     return Object::sentinel().raw();
   }
   ObjectStore* object_store = isolate->object_store();
-  const Array& table = Array::Handle(thread->zone(),
-                                     object_store->canonical_type_arguments());
+  const Array& table =
+      Array::Handle(thread->zone(), object_store->canonical_type_arguments());
   ASSERT(table.Length() > 0);
   const intptr_t table_size = table.Length() - 1;
   if ((id < 0) || (id >= table_size) || (table.At(id) == Object::null())) {
@@ -1749,7 +1684,8 @@
 
 
 static RawObject* LookupHeapObjectCode(Isolate* isolate,
-                                       char** parts, int num_parts) {
+                                       char** parts,
+                                       int num_parts) {
   if (num_parts != 2) {
     return Object::sentinel().raw();
   }
@@ -1797,7 +1733,8 @@
 
 
 static RawObject* LookupHeapObjectMessage(Thread* thread,
-                                          char** parts, int num_parts) {
+                                          char** parts,
+                                          int num_parts) {
   if (num_parts != 2) {
     return Object::sentinel().raw();
   }
@@ -1812,9 +1749,7 @@
     return Object::sentinel().raw();
   }
   if (message->len() > 0) {
-    MessageSnapshotReader reader(message->data(),
-                                 message->len(),
-                                 thread);
+    MessageSnapshotReader reader(message->data(), message->len(), thread);
     return reader.ReadObject();
   } else {
     return message->raw_obj();
@@ -1966,8 +1901,8 @@
 
       jselement.AddProperty("source", source);
       if (source.IsArray()) {
-        intptr_t element_index = slot_offset.Value() -
-            (Array::element_offset(0) >> kWordSizeLog2);
+        intptr_t element_index =
+            slot_offset.Value() - (Array::element_offset(0) >> kWordSizeLog2);
         jselement.AddProperty("parentListIndex", element_index);
       } else if (source.IsInstance()) {
         source_class ^= source.clazz();
@@ -1996,8 +1931,7 @@
 
 
 static const MethodParameter* get_inbound_references_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -2067,14 +2001,14 @@
       slot_offset ^= path.At((i * 2) - 1);
       jselement.AddProperty("offset", slot_offset.Value());
       if (element.IsArray() || element.IsGrowableObjectArray()) {
-        intptr_t element_index = slot_offset.Value() -
-            (Array::element_offset(0) >> kWordSizeLog2);
+        intptr_t element_index =
+            slot_offset.Value() - (Array::element_offset(0) >> kWordSizeLog2);
         jselement.AddProperty("parentListIndex", element_index);
       } else if (element.IsLinkedHashMap()) {
         map = static_cast<RawLinkedHashMap*>(path.At(i * 2));
         map_data = map.data();
-        intptr_t element_index = slot_offset.Value() -
-            (Array::element_offset(0) >> kWordSizeLog2);
+        intptr_t element_index =
+            slot_offset.Value() - (Array::element_offset(0) >> kWordSizeLog2);
         LinkedHashMap::Iterator iterator(map);
         while (iterator.MoveNext()) {
           if (iterator.CurrentKey() == map_data.At(element_index) ||
@@ -2111,8 +2045,7 @@
 
 
 static const MethodParameter* get_retaining_path_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -2154,9 +2087,7 @@
 
 
 static const MethodParameter* get_retained_size_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new IdParameter("targetId", true),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, new IdParameter("targetId", true), NULL,
 };
 
 
@@ -2164,8 +2095,8 @@
   const char* target_id = js->LookupParam("targetId");
   ASSERT(target_id != NULL);
   ObjectIdRing::LookupResult lookup_result;
-  Object& obj = Object::Handle(LookupHeapObject(thread, target_id,
-                                                &lookup_result));
+  Object& obj =
+      Object::Handle(LookupHeapObject(thread, target_id, &lookup_result));
   if (obj.raw() == Object::sentinel().raw()) {
     if (lookup_result == ObjectIdRing::kCollected) {
       PrintSentinel(js, kCollectedSentinel);
@@ -2196,9 +2127,7 @@
 
 
 static const MethodParameter* get_reachable_size_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new IdParameter("targetId", true),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, new IdParameter("targetId", true), NULL,
 };
 
 
@@ -2206,8 +2135,8 @@
   const char* target_id = js->LookupParam("targetId");
   ASSERT(target_id != NULL);
   ObjectIdRing::LookupResult lookup_result;
-  Object& obj = Object::Handle(LookupHeapObject(thread, target_id,
-                                                &lookup_result));
+  Object& obj =
+      Object::Handle(LookupHeapObject(thread, target_id, &lookup_result));
   if (obj.raw() == Object::sentinel().raw()) {
     if (lookup_result == ObjectIdRing::kCollected) {
       PrintSentinel(js, kCollectedSentinel);
@@ -2238,8 +2167,7 @@
 
 
 static const MethodParameter* evaluate_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -2262,8 +2190,8 @@
   Zone* zone = thread->zone();
   const String& expr_str = String::Handle(zone, String::New(expr));
   ObjectIdRing::LookupResult lookup_result;
-  Object& obj = Object::Handle(zone, LookupHeapObject(thread, target_id,
-                                                      &lookup_result));
+  Object& obj =
+      Object::Handle(zone, LookupHeapObject(thread, target_id, &lookup_result));
   if (obj.raw() == Object::sentinel().raw()) {
     if (lookup_result == ObjectIdRing::kCollected) {
       PrintSentinel(js, kCollectedSentinel);
@@ -2276,44 +2204,42 @@
   }
   if (obj.IsLibrary()) {
     const Library& lib = Library::Cast(obj);
-    const Object& result = Object::Handle(zone,
+    const Object& result = Object::Handle(
+        zone,
         lib.Evaluate(expr_str, Array::empty_array(), Array::empty_array()));
     result.PrintJSON(js, true);
     return true;
   }
   if (obj.IsClass()) {
     const Class& cls = Class::Cast(obj);
-    const Object& result = Object::Handle(zone,
+    const Object& result = Object::Handle(
+        zone,
         cls.Evaluate(expr_str, Array::empty_array(), Array::empty_array()));
     result.PrintJSON(js, true);
     return true;
   }
-  if ((obj.IsInstance() || obj.IsNull()) &&
-      !ContainsNonInstance(obj)) {
+  if ((obj.IsInstance() || obj.IsNull()) && !ContainsNonInstance(obj)) {
     // We don't use Instance::Cast here because it doesn't allow null.
     Instance& instance = Instance::Handle(zone);
     instance ^= obj.raw();
     const Class& receiver_cls = Class::Handle(zone, instance.clazz());
-    const Object& result =
-        Object::Handle(zone, instance.Evaluate(receiver_cls,
-                                               expr_str,
-                                               Array::empty_array(),
-                                               Array::empty_array()));
+    const Object& result = Object::Handle(
+        zone, instance.Evaluate(receiver_cls, expr_str, Array::empty_array(),
+                                Array::empty_array()));
     result.PrintJSON(js, true);
     return true;
   }
   js->PrintError(kInvalidParams,
                  "%s: invalid 'targetId' parameter: "
-                 "Cannot evaluate against a VM-internal object", js->method());
+                 "Cannot evaluate against a VM-internal object",
+                 js->method());
   return true;
 }
 
 
 static const MethodParameter* evaluate_in_frame_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new UIntParameter("frameIndex", true),
-  new MethodParameter("expression", true),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, new UIntParameter("frameIndex", true),
+    new MethodParameter("expression", true), NULL,
 };
 
 
@@ -2375,8 +2301,7 @@
 
 
 static const MethodParameter* get_instances_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -2396,10 +2321,8 @@
     PrintInvalidParamError(js, "limit");
     return true;
   }
-  const Object& obj =
-      Object::Handle(LookupHeapObject(thread, target_id, NULL));
-  if (obj.raw() == Object::sentinel().raw() ||
-      !obj.IsClass()) {
+  const Object& obj = Object::Handle(LookupHeapObject(thread, target_id, NULL));
+  if (obj.raw() == Object::sentinel().raw() || !obj.IsClass()) {
     PrintInvalidParamError(js, "classId");
     return true;
   }
@@ -2432,28 +2355,29 @@
 
 
 static const char* const report_enum_names[] = {
-  SourceReport::kCallSitesStr,
-  SourceReport::kCoverageStr,
-  SourceReport::kPossibleBreakpointsStr,
-  SourceReport::kProfileStr,
-  NULL,
+    SourceReport::kCallSitesStr,
+    SourceReport::kCoverageStr,
+    SourceReport::kPossibleBreakpointsStr,
+    SourceReport::kProfileStr,
+    NULL,
 };
 
 
 static const MethodParameter* get_source_report_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new EnumListParameter("reports", true, report_enum_names),
-  new IdParameter("scriptId", false),
-  new UIntParameter("tokenPos", false),
-  new UIntParameter("endTokenPos", false),
-  new BoolParameter("forceCompile", false),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER,
+    new EnumListParameter("reports", true, report_enum_names),
+    new IdParameter("scriptId", false),
+    new UIntParameter("tokenPos", false),
+    new UIntParameter("endTokenPos", false),
+    new BoolParameter("forceCompile", false),
+    NULL,
 };
 
 
 static bool GetSourceReport(Thread* thread, JSONStream* js) {
   if (!thread->isolate()->compilation_allowed()) {
-    js->PrintError(kFeatureDisabled,
+    js->PrintError(
+        kFeatureDisabled,
         "Cannot get source report when running a precompiled program.");
     return true;
   }
@@ -2511,19 +2435,15 @@
     }
   }
   SourceReport report(report_set, compile_mode);
-  report.PrintJSON(js,
-                   script,
-                   TokenPosition(start_pos),
+  report.PrintJSON(js, script, TokenPosition(start_pos),
                    TokenPosition(end_pos));
   return true;
 }
 
 
 static const MethodParameter* reload_sources_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new BoolParameter("force", false),
-  new BoolParameter("pause", false),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, new BoolParameter("force", false),
+    new BoolParameter("pause", false), NULL,
 };
 
 
@@ -2531,12 +2451,12 @@
   Isolate* isolate = thread->isolate();
   if (!isolate->compilation_allowed()) {
     js->PrintError(kFeatureDisabled,
-        "Cannot reload source when running a precompiled program.");
+                   "Cannot reload source when running a precompiled program.");
     return true;
   }
   if (Dart::snapshot_kind() == Snapshot::kAppWithJIT) {
     js->PrintError(kFeatureDisabled,
-        "Cannot reload source when running an app snapshot.");
+                   "Cannot reload source when running an app snapshot.");
     return true;
   }
   Dart_LibraryTagHandler handler = isolate->library_tag_handler();
@@ -2553,8 +2473,7 @@
     return true;
   }
   if (isolate->IsReloading()) {
-    js->PrintError(kIsolateIsReloading,
-                   "This isolate is being reloaded.");
+    js->PrintError(kIsolateIsReloading, "This isolate is being reloaded.");
     return true;
   }
   if (!isolate->CanReload()) {
@@ -2595,7 +2514,8 @@
                                 JSONStream* js,
                                 const String& script_uri) {
   if (!thread->isolate()->compilation_allowed()) {
-    js->PrintError(kFeatureDisabled,
+    js->PrintError(
+        kFeatureDisabled,
         "Cannot use breakpoints when running a precompiled program.");
     return true;
   }
@@ -2613,12 +2533,12 @@
   }
   ASSERT(!script_uri.IsNull());
   Breakpoint* bpt = NULL;
-  bpt = thread->isolate()->debugger()->
-      SetBreakpointAtLineCol(script_uri, line, col);
+  bpt = thread->isolate()->debugger()->SetBreakpointAtLineCol(script_uri, line,
+                                                              col);
   if (bpt == NULL) {
     js->PrintError(kCannotAddBreakpoint,
-                   "%s: Cannot add breakpoint at line '%s'",
-                   js->method(), line_param);
+                   "%s: Cannot add breakpoint at line '%s'", js->method(),
+                   line_param);
     return true;
   }
   bpt->PrintJSON(js);
@@ -2627,17 +2547,18 @@
 
 
 static const MethodParameter* add_breakpoint_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new IdParameter("scriptId", true),
-  new UIntParameter("line", true),
-  new UIntParameter("column", false),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER,
+    new IdParameter("scriptId", true),
+    new UIntParameter("line", true),
+    new UIntParameter("column", false),
+    NULL,
 };
 
 
 static bool AddBreakpoint(Thread* thread, JSONStream* js) {
   if (!thread->isolate()->compilation_allowed()) {
-    js->PrintError(kFeatureDisabled,
+    js->PrintError(
+        kFeatureDisabled,
         "Cannot use breakpoints when running a precompiled program.");
     return true;
   }
@@ -2655,17 +2576,18 @@
 
 
 static const MethodParameter* add_breakpoint_with_script_uri_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new IdParameter("scriptUri", true),
-  new UIntParameter("line", true),
-  new UIntParameter("column", false),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER,
+    new IdParameter("scriptUri", true),
+    new UIntParameter("line", true),
+    new UIntParameter("column", false),
+    NULL,
 };
 
 
 static bool AddBreakpointWithScriptUri(Thread* thread, JSONStream* js) {
   if (!thread->isolate()->compilation_allowed()) {
-    js->PrintError(kFeatureDisabled,
+    js->PrintError(
+        kFeatureDisabled,
         "Cannot use breakpoints when running a precompiled program.");
     return true;
   }
@@ -2676,15 +2598,14 @@
 
 
 static const MethodParameter* add_breakpoint_at_entry_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new IdParameter("functionId", true),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, new IdParameter("functionId", true), NULL,
 };
 
 
 static bool AddBreakpointAtEntry(Thread* thread, JSONStream* js) {
   if (!thread->isolate()->compilation_allowed()) {
-    js->PrintError(kFeatureDisabled,
+    js->PrintError(
+        kFeatureDisabled,
         "Cannot use breakpoints when running a precompiled program.");
     return true;
   }
@@ -2699,8 +2620,8 @@
       thread->isolate()->debugger()->SetBreakpointAtEntry(function, false);
   if (bpt == NULL) {
     js->PrintError(kCannotAddBreakpoint,
-                   "%s: Cannot add breakpoint at function '%s'",
-                   js->method(), function.ToCString());
+                   "%s: Cannot add breakpoint at function '%s'", js->method(),
+                   function.ToCString());
     return true;
   }
   bpt->PrintJSON(js);
@@ -2709,15 +2630,14 @@
 
 
 static const MethodParameter* add_breakpoint_at_activation_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new IdParameter("objectId", true),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, new IdParameter("objectId", true), NULL,
 };
 
 
 static bool AddBreakpointAtActivation(Thread* thread, JSONStream* js) {
   if (!thread->isolate()->compilation_allowed()) {
-    js->PrintError(kFeatureDisabled,
+    js->PrintError(
+        kFeatureDisabled,
         "Cannot use breakpoints when running a precompiled program.");
     return true;
   }
@@ -2732,8 +2652,7 @@
       thread->isolate()->debugger()->SetBreakpointAtActivation(closure, false);
   if (bpt == NULL) {
     js->PrintError(kCannotAddBreakpoint,
-                   "%s: Cannot add breakpoint at activation",
-                   js->method());
+                   "%s: Cannot add breakpoint at activation", js->method());
     return true;
   }
   bpt->PrintJSON(js);
@@ -2742,14 +2661,14 @@
 
 
 static const MethodParameter* remove_breakpoint_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
 static bool RemoveBreakpoint(Thread* thread, JSONStream* js) {
   if (!thread->isolate()->compilation_allowed()) {
-    js->PrintError(kFeatureDisabled,
+    js->PrintError(
+        kFeatureDisabled,
         "Cannot use breakpoints when running a precompiled program.");
     return true;
   }
@@ -2775,11 +2694,9 @@
 
 static RawClass* GetMetricsClass(Thread* thread) {
   Zone* zone = thread->zone();
-  const Library& prof_lib =
-      Library::Handle(zone, Library::DeveloperLibrary());
+  const Library& prof_lib = Library::Handle(zone, Library::DeveloperLibrary());
   ASSERT(!prof_lib.IsNull());
-  const String& metrics_cls_name =
-      String::Handle(zone, String::New("Metrics"));
+  const String& metrics_cls_name = String::Handle(zone, String::New("Metrics"));
   ASSERT(!metrics_cls_name.IsNull());
   const Class& metrics_cls =
       Class::Handle(zone, prof_lib.LookupClass(metrics_cls_name));
@@ -2788,7 +2705,6 @@
 }
 
 
-
 static bool HandleNativeMetricsList(Thread* thread, JSONStream* js) {
   JSONObject obj(js);
   obj.AddProperty("type", "MetricList");
@@ -2822,14 +2738,12 @@
 
 static bool HandleDartMetricsList(Thread* thread, JSONStream* js) {
   Zone* zone = thread->zone();
-  const Class& metrics_cls =
-      Class::Handle(zone, GetMetricsClass(thread));
+  const Class& metrics_cls = Class::Handle(zone, GetMetricsClass(thread));
   const String& print_metrics_name =
       String::Handle(String::New("_printMetrics"));
   ASSERT(!print_metrics_name.IsNull());
   const Function& print_metrics = Function::Handle(
-      zone,
-      metrics_cls.LookupStaticFunctionAllowPrivate(print_metrics_name));
+      zone, metrics_cls.LookupStaticFunctionAllowPrivate(print_metrics_name));
   ASSERT(!print_metrics.IsNull());
   const Array& args = Object::empty_array();
   const Object& result =
@@ -2844,14 +2758,11 @@
 
 static bool HandleDartMetric(Thread* thread, JSONStream* js, const char* id) {
   Zone* zone = thread->zone();
-  const Class& metrics_cls =
-      Class::Handle(zone, GetMetricsClass(thread));
-  const String& print_metric_name =
-      String::Handle(String::New("_printMetric"));
+  const Class& metrics_cls = Class::Handle(zone, GetMetricsClass(thread));
+  const String& print_metric_name = String::Handle(String::New("_printMetric"));
   ASSERT(!print_metric_name.IsNull());
   const Function& print_metric = Function::Handle(
-      zone,
-      metrics_cls.LookupStaticFunctionAllowPrivate(print_metric_name));
+      zone, metrics_cls.LookupStaticFunctionAllowPrivate(print_metric_name));
   ASSERT(!print_metric.IsNull());
   const String& arg0 = String::Handle(String::New(id));
   ASSERT(!arg0.IsNull());
@@ -2872,8 +2783,7 @@
 
 
 static const MethodParameter* get_isolate_metric_list_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -2900,8 +2810,7 @@
 
 
 static const MethodParameter* get_isolate_metric_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -2933,8 +2842,7 @@
 
 
 static const MethodParameter* get_vm_metric_list_params[] = {
-  NO_ISOLATE_PARAMETER,
-  NULL,
+    NO_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -2944,8 +2852,7 @@
 
 
 static const MethodParameter* get_vm_metric_params[] = {
-  NO_ISOLATE_PARAMETER,
-  NULL,
+    NO_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -2958,20 +2865,17 @@
 }
 
 static const char* const timeline_streams_enum_names[] = {
-  "all",
-#define DEFINE_NAME(name, unused)                                              \
-  #name,
-TIMELINE_STREAM_LIST(DEFINE_NAME)
+    "all",
+#define DEFINE_NAME(name, unused) #name,
+    TIMELINE_STREAM_LIST(DEFINE_NAME)
 #undef DEFINE_NAME
-  NULL
-};
+        NULL};
 
 static const MethodParameter* set_vm_timeline_flags_params[] = {
-  NO_ISOLATE_PARAMETER,
-  new EnumListParameter("recordedStreams",
-                        false,
-                        timeline_streams_enum_names),
-  NULL,
+    NO_ISOLATE_PARAMETER, new EnumListParameter("recordedStreams",
+                                                false,
+                                                timeline_streams_enum_names),
+    NULL,
 };
 
 
@@ -3005,7 +2909,7 @@
 
 #define SET_ENABLE_STREAM(name, unused)                                        \
   Timeline::SetStream##name##Enabled(HasStream(recorded_streams, #name));
-TIMELINE_STREAM_LIST(SET_ENABLE_STREAM);
+  TIMELINE_STREAM_LIST(SET_ENABLE_STREAM);
 #undef SET_ENABLE_STREAM
 
   PrintSuccess(js);
@@ -3015,8 +2919,7 @@
 
 
 static const MethodParameter* get_vm_timeline_flags_params[] = {
-  NO_ISOLATE_PARAMETER,
-  NULL,
+    NO_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3035,8 +2938,7 @@
 
 
 static const MethodParameter* clear_vm_timeline_params[] = {
-  NO_ISOLATE_PARAMETER,
-  NULL,
+    NO_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3054,10 +2956,8 @@
 
 
 static const MethodParameter* get_vm_timeline_params[] = {
-  NO_ISOLATE_PARAMETER,
-  new Int64Parameter("timeOriginMicros", false),
-  new Int64Parameter("timeExtentMicros", false),
-  NULL,
+    NO_ISOLATE_PARAMETER, new Int64Parameter("timeOriginMicros", false),
+    new Int64Parameter("timeExtentMicros", false), NULL,
 };
 
 
@@ -3080,8 +2980,7 @@
 
 
 static const MethodParameter* resume_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3150,8 +3049,7 @@
 
 
 static const MethodParameter* pause_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3169,8 +3067,7 @@
 
 
 static const MethodParameter* get_tag_profile_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3183,32 +3080,24 @@
 
 
 static const char* const tags_enum_names[] = {
-  "None",
-  "UserVM",
-  "UserOnly",
-  "VMUser",
-  "VMOnly",
-  NULL,
+    "None", "UserVM", "UserOnly", "VMUser", "VMOnly", NULL,
 };
 
 
 static const Profile::TagOrder tags_enum_values[] = {
-  Profile::kNoTags,
-  Profile::kUserVM,
-  Profile::kUser,
-  Profile::kVMUser,
-  Profile::kVM,
-  Profile::kNoTags,  // Default value.
+    Profile::kNoTags, Profile::kUserVM, Profile::kUser,
+    Profile::kVMUser, Profile::kVM,
+    Profile::kNoTags,  // Default value.
 };
 
 
 static const MethodParameter* get_cpu_profile_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new EnumParameter("tags", true, tags_enum_names),
-  new BoolParameter("_codeTransitionTags", false),
-  new Int64Parameter("timeOriginMicros", false),
-  new Int64Parameter("timeExtentMicros", false),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER,
+    new EnumParameter("tags", true, tags_enum_names),
+    new BoolParameter("_codeTransitionTags", false),
+    new Int64Parameter("timeOriginMicros", false),
+    new Int64Parameter("timeExtentMicros", false),
+    NULL,
 };
 
 
@@ -3224,21 +3113,18 @@
       Int64Parameter::Parse(js->LookupParam("timeOriginMicros"));
   int64_t time_extent_micros =
       Int64Parameter::Parse(js->LookupParam("timeExtentMicros"));
-  ProfilerService::PrintJSON(js,
-                             tag_order,
-                             extra_tags,
-                             time_origin_micros,
+  ProfilerService::PrintJSON(js, tag_order, extra_tags, time_origin_micros,
                              time_extent_micros);
   return true;
 }
 
 
 static const MethodParameter* get_cpu_profile_timeline_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new EnumParameter("tags", true, tags_enum_names),
-  new Int64Parameter("timeOriginMicros", false),
-  new Int64Parameter("timeExtentMicros", false),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER,
+    new EnumParameter("tags", true, tags_enum_names),
+    new Int64Parameter("timeOriginMicros", false),
+    new Int64Parameter("timeExtentMicros", false),
+    NULL,
 };
 
 
@@ -3249,21 +3135,19 @@
       UIntParameter::Parse(js->LookupParam("timeOriginMicros"));
   int64_t time_extent_micros =
       UIntParameter::Parse(js->LookupParam("timeExtentMicros"));
-  ProfilerService::PrintTimelineJSON(js,
-                                     tag_order,
-                                     time_origin_micros,
+  ProfilerService::PrintTimelineJSON(js, tag_order, time_origin_micros,
                                      time_extent_micros);
   return true;
 }
 
 
 static const MethodParameter* get_allocation_samples_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new EnumParameter("tags", true, tags_enum_names),
-  new IdParameter("classId", false),
-  new Int64Parameter("timeOriginMicros", false),
-  new Int64Parameter("timeExtentMicros", false),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER,
+    new EnumParameter("tags", true, tags_enum_names),
+    new IdParameter("classId", false),
+    new Int64Parameter("timeOriginMicros", false),
+    new Int64Parameter("timeExtentMicros", false),
+    NULL,
 };
 
 
@@ -3280,10 +3164,7 @@
   Isolate* isolate = thread->isolate();
   if (IsValidClassId(isolate, cid)) {
     const Class& cls = Class::Handle(GetClassForId(isolate, cid));
-    ProfilerService::PrintAllocationJSON(js,
-                                         tag_order,
-                                         cls,
-                                         time_origin_micros,
+    ProfilerService::PrintAllocationJSON(js, tag_order, cls, time_origin_micros,
                                          time_extent_micros);
   } else {
     PrintInvalidParamError(js, "classId");
@@ -3293,8 +3174,7 @@
 
 
 static const MethodParameter* clear_cpu_profile_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3306,8 +3186,7 @@
 
 
 static const MethodParameter* get_allocation_profile_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3345,8 +3224,7 @@
 
 
 static const MethodParameter* get_heap_map_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3358,9 +3236,8 @@
 
 
 static const MethodParameter* request_heap_snapshot_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new BoolParameter("collectGarbage", false /* not required */),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER,
+    new BoolParameter("collectGarbage", false /* not required */), NULL,
 };
 
 
@@ -3413,12 +3290,11 @@
 
     uint8_t* chunk_start = buffer + (i * kChunkSize);
     intptr_t chunk_size = (i + 1 == num_chunks)
-        ? stream.bytes_written() - (i * kChunkSize)
-        : kChunkSize;
+                              ? stream.bytes_written() - (i * kChunkSize)
+                              : kChunkSize;
 
-    SendEventWithData(graph_stream.id(), "_Graph",
-                      js.buffer()->buf(), js.buffer()->length(),
-                      chunk_start, chunk_size);
+    SendEventWithData(graph_stream.id(), "_Graph", js.buffer()->buf(),
+                      js.buffer()->length(), chunk_start, chunk_size);
   }
 }
 
@@ -3493,8 +3369,8 @@
 
 class ContainsAddressVisitor : public FindObjectVisitor {
  public:
-  explicit ContainsAddressVisitor(uword addr) : addr_(addr) { }
-  virtual ~ContainsAddressVisitor() { }
+  explicit ContainsAddressVisitor(uword addr) : addr_(addr) {}
+  virtual ~ContainsAddressVisitor() {}
 
   virtual uword filter_addr() const { return addr_; }
 
@@ -3506,14 +3382,14 @@
     uword obj_end = obj_begin + obj->Size();
     return obj_begin <= addr_ && addr_ < obj_end;
   }
+
  private:
   uword addr_;
 };
 
 
 static const MethodParameter* get_object_by_address_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3555,8 +3431,8 @@
     return true;
   }
   bool ref = js->HasParam("ref") && js->ParamIs("ref", "true");
-  const Object& obj = Object::Handle(thread->zone(),
-      GetObjectHelper(thread, addr));
+  const Object& obj =
+      Object::Handle(thread->zone(), GetObjectHelper(thread, addr));
   if (obj.IsNull()) {
     PrintSentinel(js, kFreeSentinel);
   } else {
@@ -3567,17 +3443,15 @@
 
 
 static const MethodParameter* get_persistent_handles_params[] = {
-  ISOLATE_PARAMETER,
-  NULL,
+    ISOLATE_PARAMETER, NULL,
 };
 
 
-template<typename T>
+template <typename T>
 class PersistentHandleVisitor : public HandleVisitor {
  public:
   PersistentHandleVisitor(Thread* thread, JSONArray* handles)
-      : HandleVisitor(thread),
-        handles_(handles) {
+      : HandleVisitor(thread), handles_(handles) {
     ASSERT(handles_ != NULL);
   }
 
@@ -3595,28 +3469,21 @@
 
     JSONObject obj(handles_);
     obj.AddProperty("type", "_WeakPersistentHandle");
-    const Object& object =
-        Object::Handle(weak_persistent_handle->raw());
+    const Object& object = Object::Handle(weak_persistent_handle->raw());
     obj.AddProperty("object", object);
+    obj.AddPropertyF("peer", "0x%" Px "", reinterpret_cast<uintptr_t>(
+                                              weak_persistent_handle->peer()));
     obj.AddPropertyF(
-        "peer",
-        "0x%" Px "",
-        reinterpret_cast<uintptr_t>(weak_persistent_handle->peer()));
-    obj.AddPropertyF(
-        "callbackAddress",
-        "0x%" Px "",
+        "callbackAddress", "0x%" Px "",
         reinterpret_cast<uintptr_t>(weak_persistent_handle->callback()));
     // Attempt to include a native symbol name.
     char* name = NativeSymbolResolver::LookupSymbolName(
-        reinterpret_cast<uintptr_t>(weak_persistent_handle->callback()),
-        NULL);
-    obj.AddProperty("callbackSymbolName",
-                    (name == NULL) ? "" : name);
+        reinterpret_cast<uintptr_t>(weak_persistent_handle->callback()), NULL);
+    obj.AddProperty("callbackSymbolName", (name == NULL) ? "" : name);
     if (name != NULL) {
       NativeSymbolResolver::FreeSymbolName(name);
     }
-    obj.AddPropertyF("externalSize",
-                     "%" Pd "",
+    obj.AddPropertyF("externalSize", "%" Pd "",
                      weak_persistent_handle->external_size());
   }
 
@@ -3644,8 +3511,8 @@
     {
       JSONArray persistent_handles(&obj, "persistentHandles");
       PersistentHandles& handles = api_state->persistent_handles();
-      PersistentHandleVisitor<PersistentHandle> visitor(
-          thread, &persistent_handles);
+      PersistentHandleVisitor<PersistentHandle> visitor(thread,
+                                                        &persistent_handles);
       handles.Visit(&visitor);
     }
     // Weak persistent handles.
@@ -3664,8 +3531,7 @@
 
 
 static const MethodParameter* get_ports_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3697,10 +3563,8 @@
 
 
 static const MethodParameter* get_object_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new UIntParameter("offset", false),
-  new UIntParameter("count", false),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, new UIntParameter("offset", false),
+    new UIntParameter("count", false), NULL,
 };
 
 
@@ -3759,8 +3623,7 @@
 
 
 static const MethodParameter* get_object_store_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3772,8 +3635,7 @@
 
 
 static const MethodParameter* get_class_list_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3786,8 +3648,7 @@
 
 
 static const MethodParameter* get_type_arguments_list_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3802,8 +3663,8 @@
       zone, object_store->canonical_type_arguments());
   const intptr_t table_size = typeargs_table.NumEntries();
   const intptr_t table_used = typeargs_table.NumOccupied();
-  const Array& typeargs_array = Array::Handle(
-      zone, HashTables::ToArray(typeargs_table, false));
+  const Array& typeargs_array =
+      Array::Handle(zone, HashTables::ToArray(typeargs_table, false));
   ASSERT(typeargs_array.Length() == table_used);
   TypeArguments& typeargs = TypeArguments::Handle(zone);
   JSONObject jsobj(js);
@@ -3825,8 +3686,7 @@
 
 
 static const MethodParameter* get_version_params[] = {
-  NO_ISOLATE_PARAMETER,
-  NULL,
+    NO_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3845,9 +3705,7 @@
 
 class ServiceIsolateVisitor : public IsolateVisitor {
  public:
-  explicit ServiceIsolateVisitor(JSONArray* jsarr)
-      : jsarr_(jsarr) {
-  }
+  explicit ServiceIsolateVisitor(JSONArray* jsarr) : jsarr_(jsarr) {}
 
   virtual ~ServiceIsolateVisitor() {}
 
@@ -3864,8 +3722,7 @@
 
 
 static const MethodParameter* get_vm_params[] = {
-  NO_ISOLATE_PARAMETER,
-  NULL,
+    NO_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3884,8 +3741,8 @@
   jsobj.AddProperty("_profilerMode", FLAG_profile_vm ? "VM" : "Dart");
   jsobj.AddProperty64("pid", OS::ProcessId());
   jsobj.AddProperty64("_maxRSS", OS::MaxRSS());
-  int64_t start_time_millis = (vm_isolate->start_time() /
-                               kMicrosecondsPerMillisecond);
+  int64_t start_time_millis =
+      (vm_isolate->start_time() / kMicrosecondsPerMillisecond);
   jsobj.AddPropertyTimeMillis("startTime", start_time_millis);
   // Construct the isolate list.
   {
@@ -3903,8 +3760,7 @@
 
 
 static const MethodParameter* restart_vm_params[] = {
-  NO_ISOLATE_PARAMETER,
-  NULL,
+    NO_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3916,25 +3772,19 @@
 
 
 static const char* exception_pause_mode_names[] = {
-  "All",
-  "None",
-  "Unhandled",
-  NULL,
+    "All", "None", "Unhandled", NULL,
 };
 
 
 static Dart_ExceptionPauseInfo exception_pause_mode_values[] = {
-  kPauseOnAllExceptions,
-  kNoPauseOnExceptions,
-  kPauseOnUnhandledExceptions,
-  kInvalidExceptionPauseInfo,
+    kPauseOnAllExceptions, kNoPauseOnExceptions, kPauseOnUnhandledExceptions,
+    kInvalidExceptionPauseInfo,
 };
 
 
 static const MethodParameter* set_exception_pause_mode_params[] = {
-  ISOLATE_PARAMETER,
-  new EnumParameter("mode", true, exception_pause_mode_names),
-  NULL,
+    ISOLATE_PARAMETER,
+    new EnumParameter("mode", true, exception_pause_mode_names), NULL,
 };
 
 
@@ -3962,8 +3812,7 @@
 
 
 static const MethodParameter* get_flag_list_params[] = {
-  NO_ISOLATE_PARAMETER,
-  NULL,
+    NO_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -3974,8 +3823,7 @@
 
 
 static const MethodParameter* set_flags_params[] = {
-  NO_ISOLATE_PARAMETER,
-  NULL,
+    NO_ISOLATE_PARAMETER, NULL,
 };
 
 
@@ -4004,18 +3852,16 @@
 
 
 static const MethodParameter* set_library_debuggable_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new IdParameter("libraryId", true),
-  new BoolParameter("isDebuggable", true),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, new IdParameter("libraryId", true),
+    new BoolParameter("isDebuggable", true), NULL,
 };
 
 
 static bool SetLibraryDebuggable(Thread* thread, JSONStream* js) {
   const char* lib_id = js->LookupParam("libraryId");
   ObjectIdRing::LookupResult lookup_result;
-  Object& obj = Object::Handle(LookupHeapObject(thread, lib_id,
-                                                &lookup_result));
+  Object& obj =
+      Object::Handle(LookupHeapObject(thread, lib_id, &lookup_result));
   const bool is_debuggable =
       BoolParameter::Parse(js->LookupParam("isDebuggable"), false);
   if (obj.IsLibrary()) {
@@ -4037,9 +3883,7 @@
 
 
 static const MethodParameter* set_name_params[] = {
-  ISOLATE_PARAMETER,
-  new MethodParameter("name", true),
-  NULL,
+    ISOLATE_PARAMETER, new MethodParameter("name", true), NULL,
 };
 
 
@@ -4056,9 +3900,7 @@
 
 
 static const MethodParameter* set_vm_name_params[] = {
-  NO_ISOLATE_PARAMETER,
-  new MethodParameter("name", true),
-  NULL,
+    NO_ISOLATE_PARAMETER, new MethodParameter("name", true), NULL,
 };
 
 
@@ -4076,16 +3918,15 @@
 
 
 static const MethodParameter* set_trace_class_allocation_params[] = {
-  RUNNABLE_ISOLATE_PARAMETER,
-  new IdParameter("classId", true),
-  new BoolParameter("enable", true),
-  NULL,
+    RUNNABLE_ISOLATE_PARAMETER, new IdParameter("classId", true),
+    new BoolParameter("enable", true), NULL,
 };
 
 
 static bool SetTraceClassAllocation(Thread* thread, JSONStream* js) {
   if (!thread->isolate()->compilation_allowed()) {
-    js->PrintError(kFeatureDisabled,
+    js->PrintError(
+        kFeatureDisabled,
         "Cannot trace allocation when running a precompiled program.");
     return true;
   }
@@ -4106,6 +3947,7 @@
 }
 
 
+// clang-format off
 static const ServiceMethodDescriptor service_methods_[] = {
   { "_dumpIdZone", DumpIdZone, NULL },
   { "_echo", Echo,
@@ -4221,11 +4063,10 @@
   { "_setVMTimelineFlags", SetVMTimelineFlags,
     set_vm_timeline_flags_params },
 };
-
+// clang-format on
 
 const ServiceMethodDescriptor* FindMethod(const char* method_name) {
-  intptr_t num_methods = sizeof(service_methods_) /
-                         sizeof(service_methods_[0]);
+  intptr_t num_methods = sizeof(service_methods_) / sizeof(service_methods_[0]);
   for (intptr_t i = 0; i < num_methods; i++) {
     const ServiceMethodDescriptor& method = service_methods_[i];
     if (strcmp(method_name, method.name) == 0) {
diff --git a/runtime/vm/service.h b/runtime/vm/service.h
index 830d2ee..a47fdbe 100644
--- a/runtime/vm/service.h
+++ b/runtime/vm/service.h
@@ -51,13 +51,9 @@
   // Returned string will be zone allocated.
   virtual char* GetServiceId(const Object& obj);
 
-  void set_policy(ObjectIdRing::IdPolicy policy) {
-    policy_ = policy;
-  }
+  void set_policy(ObjectIdRing::IdPolicy policy) { policy_ = policy; }
 
-  ObjectIdRing::IdPolicy policy() const {
-    return policy_;
-  }
+  ObjectIdRing::IdPolicy policy() const { return policy_; }
 
  private:
   ObjectIdRing* ring_;
@@ -99,10 +95,9 @@
       Dart_ServiceRequestCallback callback,
       void* user_data);
 
-  static void RegisterRootEmbedderCallback(
-      const char* name,
-      Dart_ServiceRequestCallback callback,
-      void* user_data);
+  static void RegisterRootEmbedderCallback(const char* name,
+                                           Dart_ServiceRequestCallback callback,
+                                           void* user_data);
 
   static void SetEmbedderStreamCallbacks(
       Dart_ServiceStreamListenCallback listen_callback,
diff --git a/runtime/vm/service_event.h b/runtime/vm/service_event.h
index ff90328..d0db082 100644
--- a/runtime/vm/service_event.h
+++ b/runtime/vm/service_event.h
@@ -22,7 +22,7 @@
 class ServiceEvent {
  public:
   enum EventKind {
-    kVMUpdate,           // VM identity information has changed
+    kVMUpdate,  // VM identity information has changed
 
     kIsolateStart,           // New isolate has started
     kIsolateRunnable,        // Isolate is ready to run
@@ -32,13 +32,13 @@
     kIsolateSpawn,           // Result of an isolate spawn request
     kServiceExtensionAdded,  // A service extension was registered
 
-    kPauseStart,         // --pause-isolates-on-start
-    kPauseExit,          // --pause-isolates-on-exit
+    kPauseStart,  // --pause-isolates-on-start
+    kPauseExit,   // --pause-isolates-on-exit
     kPauseBreakpoint,
     kPauseInterrupted,
     kPauseException,
-    kPausePostRequest,    // isolate is paused after a service request.
-    kNone,                // isolate has not been made runnable yet.
+    kPausePostRequest,  // isolate is paused after a service request.
+    kNone,              // isolate has not been made runnable yet.
     kResume,
     kBreakpointAdded,
     kBreakpointResolved,
@@ -80,14 +80,12 @@
   Isolate* isolate() const { return isolate_; }
 
   // Used by the C embedding api.
-  Dart_Port isolate_id() const {
-    return isolate_->main_port();
-  }
+  Dart_Port isolate_id() const { return isolate_->main_port(); }
 
   EventKind kind() const { return kind_; }
 
   bool IsPause() const {
-    switch (kind())  {
+    switch (kind()) {
       case kPauseStart:
       case kPauseExit:
       case kPauseBreakpoint:
@@ -115,39 +113,27 @@
     embedder_stream_id_ = stream_id;
   }
 
-  Breakpoint* breakpoint() const {
-    return breakpoint_;
-  }
+  Breakpoint* breakpoint() const { return breakpoint_; }
   void set_breakpoint(Breakpoint* bpt) {
-    ASSERT(kind() == kPauseBreakpoint ||
-           kind() == kBreakpointAdded ||
-           kind() == kBreakpointResolved ||
-           kind() == kBreakpointRemoved);
+    ASSERT(kind() == kPauseBreakpoint || kind() == kBreakpointAdded ||
+           kind() == kBreakpointResolved || kind() == kBreakpointRemoved);
     breakpoint_ = bpt;
   }
 
-  ActivationFrame* top_frame() const {
-    return top_frame_;
-  }
+  ActivationFrame* top_frame() const { return top_frame_; }
   void set_top_frame(ActivationFrame* frame) {
-    ASSERT(kind() == kPauseBreakpoint ||
-           kind() == kPauseInterrupted ||
-           kind() == kPauseException ||
-           kind() == kPausePostRequest ||
+    ASSERT(kind() == kPauseBreakpoint || kind() == kPauseInterrupted ||
+           kind() == kPauseException || kind() == kPausePostRequest ||
            kind() == kResume);
     top_frame_ = frame;
   }
 
-  const String* extension_rpc() const {
-    return extension_rpc_;
-  }
+  const String* extension_rpc() const { return extension_rpc_; }
   void set_extension_rpc(const String* extension_rpc) {
     extension_rpc_ = extension_rpc;
   }
 
-  const Object* exception() const {
-    return exception_;
-  }
+  const Object* exception() const { return exception_; }
   void set_exception(const Object* exception) {
     ASSERT(kind_ == kPauseException);
     exception_ = exception;
@@ -180,45 +166,29 @@
     spawn_error_ = error;
   }
 
-  bool at_async_jump() const {
-    return at_async_jump_;
-  }
-  void set_at_async_jump(bool value) {
-    at_async_jump_ = value;
-  }
+  bool at_async_jump() const { return at_async_jump_; }
+  void set_at_async_jump(bool value) { at_async_jump_ = value; }
 
-  const Object* inspectee() const {
-    return inspectee_;
-  }
+  const Object* inspectee() const { return inspectee_; }
   void set_inspectee(const Object* inspectee) {
     ASSERT(kind_ == kInspect);
     inspectee_ = inspectee;
   }
 
-  const Heap::GCStats* gc_stats() const {
-    return gc_stats_;
-  }
+  const Heap::GCStats* gc_stats() const { return gc_stats_; }
 
-  void set_gc_stats(const Heap::GCStats* gc_stats) {
-    gc_stats_ = gc_stats;
-  }
+  void set_gc_stats(const Heap::GCStats* gc_stats) { gc_stats_ = gc_stats; }
 
-  const uint8_t* bytes() const {
-    return bytes_;
-  }
+  const uint8_t* bytes() const { return bytes_; }
 
-  intptr_t bytes_length() const {
-    return bytes_length_;
-  }
+  intptr_t bytes_length() const { return bytes_length_; }
 
   void set_bytes(const uint8_t* bytes, intptr_t bytes_length) {
     bytes_ = bytes;
     bytes_length_ = bytes_length;
   }
 
-  void set_log_record(const LogRecord& log_record) {
-    log_record_ = log_record;
-  }
+  void set_log_record(const LogRecord& log_record) { log_record_ = log_record; }
 
   void set_extension_event(const ExtensionEvent& extension_event) {
     extension_event_ = extension_event;
@@ -226,9 +196,7 @@
 
   void UpdateTimestamp();
 
-  int64_t timestamp() const {
-    return timestamp_;
-  }
+  int64_t timestamp() const { return timestamp_; }
 
   const TimelineEventBlock* timeline_event_block() const {
     return timeline_event_block_;
diff --git a/runtime/vm/service_isolate.cc b/runtime/vm/service_isolate.cc
index 5a3b1d4..75342b5 100644
--- a/runtime/vm/service_isolate.cc
+++ b/runtime/vm/service_isolate.cc
@@ -27,9 +27,13 @@
 
 
 DEFINE_FLAG(bool, trace_service, false, "Trace VM service requests.");
-DEFINE_FLAG(bool, trace_service_pause_events, false,
+DEFINE_FLAG(bool,
+            trace_service_pause_events,
+            false,
             "Trace VM service isolate pause events.");
-DEFINE_FLAG(bool, trace_service_verbose, false,
+DEFINE_FLAG(bool,
+            trace_service_verbose,
+            false,
             "Provide extra service tracing information.");
 
 static uint8_t* allocator(uint8_t* ptr, intptr_t old_size, intptr_t new_size) {
@@ -46,7 +50,8 @@
 #define VM_SERVICE_WEB_SERVER_CONTROL_MESSAGE_ID 3
 #define VM_SERVICE_SERVER_INFO_MESSAGE_ID 4
 
-static RawArray* MakeServiceControlMessage(Dart_Port port_id, intptr_t code,
+static RawArray* MakeServiceControlMessage(Dart_Port port_id,
+                                           intptr_t code,
                                            const String& name) {
   const Array& list = Array::Handle(Array::New(4));
   ASSERT(!list.IsNull());
@@ -97,11 +102,8 @@
 char* ServiceIsolate::server_address_ = NULL;
 
 void ServiceIsolate::RequestServerInfo(const SendPort& sp) {
-  const Array& message =
-      Array::Handle(
-          MakeServerControlMessage(sp,
-                                   VM_SERVICE_SERVER_INFO_MESSAGE_ID,
-                                   false /* ignored */));
+  const Array& message = Array::Handle(MakeServerControlMessage(
+      sp, VM_SERVICE_SERVER_INFO_MESSAGE_ID, false /* ignored */));
   ASSERT(!message.IsNull());
   uint8_t* data = NULL;
   MessageWriter writer(&data, &allocator, false);
@@ -112,11 +114,8 @@
 
 
 void ServiceIsolate::ControlWebServer(const SendPort& sp, bool enable) {
-  const Array& message =
-      Array::Handle(
-          MakeServerControlMessage(sp,
-                                   VM_SERVICE_WEB_SERVER_CONTROL_MESSAGE_ID,
-                                   enable));
+  const Array& message = Array::Handle(MakeServerControlMessage(
+      sp, VM_SERVICE_WEB_SERVER_CONTROL_MESSAGE_ID, enable));
   ASSERT(!message.IsNull());
   uint8_t* data = NULL;
   MessageWriter writer(&data, &allocator, false);
@@ -204,10 +203,8 @@
   HANDLESCOPE(thread);
   const String& name = String::Handle(String::New(isolate->name()));
   ASSERT(!name.IsNull());
-  const Array& list = Array::Handle(
-      MakeServiceControlMessage(Dart_GetMainPortId(),
-                                VM_SERVICE_ISOLATE_STARTUP_MESSAGE_ID,
-                                name));
+  const Array& list = Array::Handle(MakeServiceControlMessage(
+      Dart_GetMainPortId(), VM_SERVICE_ISOLATE_STARTUP_MESSAGE_ID, name));
   ASSERT(!list.IsNull());
   uint8_t* data = NULL;
   MessageWriter writer(&data, &allocator, false);
@@ -215,8 +212,7 @@
   intptr_t len = writer.BytesWritten();
   if (FLAG_trace_service) {
     OS::Print("vm-service: Isolate %s %" Pd64 " registered.\n",
-              name.ToCString(),
-              Dart_GetMainPortId());
+              name.ToCString(), Dart_GetMainPortId());
   }
   return PortMap::PostMessage(
       new Message(port_, data, len, Message::kNormalPriority));
@@ -236,10 +232,8 @@
   HANDLESCOPE(thread);
   const String& name = String::Handle(String::New(isolate->name()));
   ASSERT(!name.IsNull());
-  const Array& list = Array::Handle(
-      MakeServiceControlMessage(Dart_GetMainPortId(),
-                                VM_SERVICE_ISOLATE_SHUTDOWN_MESSAGE_ID,
-                                name));
+  const Array& list = Array::Handle(MakeServiceControlMessage(
+      Dart_GetMainPortId(), VM_SERVICE_ISOLATE_SHUTDOWN_MESSAGE_ID, name));
   ASSERT(!list.IsNull());
   uint8_t* data = NULL;
   MessageWriter writer(&data, &allocator, false);
@@ -247,8 +241,7 @@
   intptr_t len = writer.BytesWritten();
   if (FLAG_trace_service) {
     OS::Print("vm-service: Isolate %s %" Pd64 " deregistered.\n",
-              name.ToCString(),
-              Dart_GetMainPortId());
+              name.ToCString(), Dart_GetMainPortId());
   }
   return PortMap::PostMessage(
       new Message(port_, data, len, Message::kNormalPriority));
@@ -265,9 +258,7 @@
   if (FLAG_trace_service) {
     OS::Print("vm-service: sending service exit message.\n");
   }
-  PortMap::PostMessage(new Message(port_,
-                                   exit_message_,
-                                   exit_message_length_,
+  PortMap::PostMessage(new Message(port_, exit_message_, exit_message_length_,
                                    Message::kNormalPriority));
 }
 
@@ -349,8 +340,7 @@
   virtual void Run() {
     ASSERT(Isolate::Current() == NULL);
 #ifndef PRODUCT
-    TimelineDurationScope tds(Timeline::GetVMStream(),
-                              "ServiceIsolateStartup");
+    TimelineDurationScope tds(Timeline::GetVMStream(), "ServiceIsolateStartup");
 #endif  // !PRODUCT
     char* error = NULL;
     Isolate* isolate = NULL;
@@ -367,14 +357,8 @@
     Dart_IsolateFlags api_flags;
     Isolate::FlagsInitialize(&api_flags);
 
-    isolate =
-        reinterpret_cast<Isolate*>(create_callback(ServiceIsolate::kName,
-                                                   NULL,
-                                                   NULL,
-                                                   NULL,
-                                                   &api_flags,
-                                                   NULL,
-                                                   &error));
+    isolate = reinterpret_cast<Isolate*>(create_callback(
+        ServiceIsolate::kName, NULL, NULL, NULL, &api_flags, NULL, &error));
     if (isolate == NULL) {
       if (FLAG_trace_service) {
         OS::PrintErr("vm-service: Isolate creation error: %s\n", error);
@@ -400,9 +384,7 @@
 
     ServiceIsolate::FinishedInitializing();
 
-    isolate->message_handler()->Run(Dart::thread_pool(),
-                                    NULL,
-                                    ShutdownIsolate,
+    isolate->message_handler()->Run(Dart::thread_pool(), NULL, ShutdownIsolate,
                                     reinterpret_cast<uword>(isolate));
   }
 
@@ -450,8 +432,8 @@
     StackZone zone(T);
     HANDLESCOPE(T);
     // Invoke main which will return the loadScriptPort.
-    const Library& root_library = Library::Handle(Z,
-        I->object_store()->root_library());
+    const Library& root_library =
+        Library::Handle(Z, I->object_store()->root_library());
     if (root_library.IsNull()) {
       if (FLAG_trace_service) {
         OS::Print("vm-service: Embedder did not install a script.");
@@ -462,8 +444,8 @@
     ASSERT(!root_library.IsNull());
     const String& entry_name = String::Handle(Z, String::New("main"));
     ASSERT(!entry_name.IsNull());
-    const Function& entry = Function::Handle(Z,
-        root_library.LookupFunctionAllowPrivate(entry_name));
+    const Function& entry = Function::Handle(
+        Z, root_library.LookupFunctionAllowPrivate(entry_name));
     if (entry.IsNull()) {
       // Service isolate is not supported by embedder.
       if (FLAG_trace_service) {
@@ -472,8 +454,8 @@
       return false;
     }
     ASSERT(!entry.IsNull());
-    const Object& result = Object::Handle(Z,
-        DartEntry::InvokeFunction(entry, Object::empty_array()));
+    const Object& result = Object::Handle(
+        Z, DartEntry::InvokeFunction(entry, Object::empty_array()));
     ASSERT(!result.IsNull());
     if (result.IsError()) {
       // Service isolate did not initialize properly.
@@ -556,13 +538,11 @@
       Library::Handle(Library::LookupLibrary(thread, Symbols::DartVMService()));
   ASSERT(!vmservice_library.IsNull());
   const String& boot_function_name = String::Handle(String::New("boot"));
-  const Function& boot_function =
-      Function::Handle(
-          vmservice_library.LookupFunctionAllowPrivate(boot_function_name));
+  const Function& boot_function = Function::Handle(
+      vmservice_library.LookupFunctionAllowPrivate(boot_function_name));
   ASSERT(!boot_function.IsNull());
-  const Object& result =
-      Object::Handle(
-          DartEntry::InvokeFunction(boot_function, Object::empty_array()));
+  const Object& result = Object::Handle(
+      DartEntry::InvokeFunction(boot_function, Object::empty_array()));
   ASSERT(!result.IsNull());
   Dart_Port port = ILLEGAL_PORT;
   if (result.IsReceivePort()) {
@@ -573,7 +553,6 @@
 }
 
 
-void ServiceIsolate::VisitObjectPointers(ObjectPointerVisitor* visitor) {
-}
+void ServiceIsolate::VisitObjectPointers(ObjectPointerVisitor* visitor) {}
 
 }  // namespace dart
diff --git a/runtime/vm/service_isolate.h b/runtime/vm/service_isolate.h
index fdcb26c..9060301 100644
--- a/runtime/vm/service_isolate.h
+++ b/runtime/vm/service_isolate.h
@@ -43,9 +43,7 @@
   static void SetServerAddress(const char* address);
 
   // Returns the server's web address or NULL if none is running.
-  static const char* server_address() {
-    return server_address_;
-  }
+  static const char* server_address() { return server_address_; }
 
   static void VisitObjectPointers(ObjectPointerVisitor* visitor);
 
diff --git a/runtime/vm/service_test.cc b/runtime/vm/service_test.cc
index 378b65b..0bbed74 100644
--- a/runtime/vm/service_test.cc
+++ b/runtime/vm/service_test.cc
@@ -28,9 +28,7 @@
  public:
   ServiceTestMessageHandler() : _msg(NULL) {}
 
-  ~ServiceTestMessageHandler() {
-    free(_msg);
-  }
+  ~ServiceTestMessageHandler() { free(_msg); }
 
   MessageStatus HandleMessage(Message* message) {
     if (_msg != NULL) {
@@ -112,8 +110,8 @@
 
 
 static RawFunction* GetFunction(const Class& cls, const char* name) {
-  const Function& result = Function::Handle(cls.LookupDynamicFunction(
-      String::Handle(String::New(name))));
+  const Function& result = Function::Handle(
+      cls.LookupDynamicFunction(String::Handle(String::New(name))));
   EXPECT(!result.IsNull());
   return result.raw();
 }
@@ -140,8 +138,7 @@
 
 
 TEST_CASE(Service_IsolateStickyError) {
-  const char* kScript =
-      "main() => throw 'HI THERE STICKY';\n";
+  const char* kScript = "main() => throw 'HI THERE STICKY';\n";
 
   Isolate* isolate = thread->isolate();
   isolate->set_is_runnable(true);
@@ -276,10 +273,10 @@
 
   // The following test checks that a code object can be found only
   // at compile_timestamp()-code.EntryPoint().
-  service_msg = EvalF(lib, "[0, port, '0', 'getObject', "
-                      "['objectId'], ['code/%" Px64"-%" Px "']]",
-                      compile_timestamp,
-                      entry);
+  service_msg = EvalF(lib,
+                      "[0, port, '0', 'getObject', "
+                      "['objectId'], ['code/%" Px64 "-%" Px "']]",
+                      compile_timestamp, entry);
   HandleIsolateMessage(isolate, service_msg);
   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage());
   EXPECT_SUBSTRING("\"type\":\"Code\"", handler.msg());
@@ -287,20 +284,19 @@
     // Only perform a partial match.
     const intptr_t kBufferSize = 512;
     char buffer[kBufferSize];
-    OS::SNPrint(buffer, kBufferSize-1,
+    OS::SNPrint(buffer, kBufferSize - 1,
                 "\"fixedId\":true,\"id\":\"code\\/%" Px64 "-%" Px "\",",
-                compile_timestamp,
-                entry);
+                compile_timestamp, entry);
     EXPECT_SUBSTRING(buffer, handler.msg());
   }
 
   // Request code object at compile_timestamp-code.EntryPoint() + 16
   // Expect this to fail because the address is not the entry point.
   uintptr_t address = entry + 16;
-  service_msg = EvalF(lib, "[0, port, '0', 'getObject', "
-                      "['objectId'], ['code/%" Px64"-%" Px "']]",
-                      compile_timestamp,
-                      address);
+  service_msg = EvalF(lib,
+                      "[0, port, '0', 'getObject', "
+                      "['objectId'], ['code/%" Px64 "-%" Px "']]",
+                      compile_timestamp, address);
   HandleIsolateMessage(isolate, service_msg);
   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage());
   EXPECT_SUBSTRING("\"error\"", handler.msg());
@@ -308,27 +304,28 @@
   // Request code object at (compile_timestamp - 1)-code.EntryPoint()
   // Expect this to fail because the timestamp is wrong.
   address = entry;
-  service_msg = EvalF(lib, "[0, port, '0', 'getObject', "
-                      "['objectId'], ['code/%" Px64"-%" Px "']]",
-                      compile_timestamp - 1,
-                      address);
+  service_msg = EvalF(lib,
+                      "[0, port, '0', 'getObject', "
+                      "['objectId'], ['code/%" Px64 "-%" Px "']]",
+                      compile_timestamp - 1, address);
   HandleIsolateMessage(isolate, service_msg);
   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage());
   EXPECT_SUBSTRING("\"error\"", handler.msg());
 
   // Request native code at address. Expect the null code object back.
   address = last;
-  service_msg = EvalF(lib, "[0, port, '0', 'getObject', "
+  service_msg = EvalF(lib,
+                      "[0, port, '0', 'getObject', "
                       "['objectId'], ['code/native-%" Px "']]",
                       address);
   HandleIsolateMessage(isolate, service_msg);
   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage());
   // TODO(turnidge): It is pretty broken to return an Instance here.  Fix.
-  EXPECT_SUBSTRING("\"kind\":\"Null\"",
-                   handler.msg());
+  EXPECT_SUBSTRING("\"kind\":\"Null\"", handler.msg());
 
   // Request malformed native code.
-  service_msg = EvalF(lib, "[0, port, '0', 'getObject', ['objectId'], "
+  service_msg = EvalF(lib,
+                      "[0, port, '0', 'getObject', ['objectId'], "
                       "['code/native%" Px "']]",
                       address);
   HandleIsolateMessage(isolate, service_msg);
@@ -372,8 +369,10 @@
   Array& service_msg = Array::Handle();
 
   // Fetch object.
-  service_msg = EvalF(lib, "[0, port, '0', 'getObject', "
-                      "['objectId'], ['objects/%" Pd "']]", id);
+  service_msg = EvalF(lib,
+                      "[0, port, '0', 'getObject', "
+                      "['objectId'], ['objects/%" Pd "']]",
+                      id);
   HandleIsolateMessage(isolate, service_msg);
   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage());
 
@@ -387,21 +386,21 @@
 
 TEST_CASE(Service_PcDescriptors) {
   const char* kScript =
-    "var port;\n"  // Set to our mock port by C++.
-    "\n"
-    "class A {\n"
-    "  var a;\n"
-    "  dynamic b() {}\n"
-    "  dynamic c() {\n"
-    "    var d = () { b(); };\n"
-    "    return d;\n"
-    "  }\n"
-    "}\n"
-    "main() {\n"
-    "  var z = new A();\n"
-    "  var x = z.c();\n"
-    "  x();\n"
-    "}";
+      "var port;\n"  // Set to our mock port by C++.
+      "\n"
+      "class A {\n"
+      "  var a;\n"
+      "  dynamic b() {}\n"
+      "  dynamic c() {\n"
+      "    var d = () { b(); };\n"
+      "    return d;\n"
+      "  }\n"
+      "}\n"
+      "main() {\n"
+      "  var z = new A();\n"
+      "  var x = z.c();\n"
+      "  x();\n"
+      "}";
 
   Isolate* isolate = thread->isolate();
   isolate->set_is_runnable(true);
@@ -435,8 +434,10 @@
   Array& service_msg = Array::Handle();
 
   // Fetch object.
-  service_msg = EvalF(lib, "[0, port, '0', 'getObject', "
-                      "['objectId'], ['objects/%" Pd "']]", id);
+  service_msg = EvalF(lib,
+                      "[0, port, '0', 'getObject', "
+                      "['objectId'], ['objects/%" Pd "']]",
+                      id);
   HandleIsolateMessage(isolate, service_msg);
   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage());
   // Check type.
@@ -449,21 +450,21 @@
 
 TEST_CASE(Service_LocalVarDescriptors) {
   const char* kScript =
-    "var port;\n"  // Set to our mock port by C++.
-    "\n"
-    "class A {\n"
-    "  var a;\n"
-    "  dynamic b() {}\n"
-    "  dynamic c() {\n"
-    "    var d = () { b(); };\n"
-    "    return d;\n"
-    "  }\n"
-    "}\n"
-    "main() {\n"
-    "  var z = new A();\n"
-    "  var x = z.c();\n"
-    "  x();\n"
-    "}";
+      "var port;\n"  // Set to our mock port by C++.
+      "\n"
+      "class A {\n"
+      "  var a;\n"
+      "  dynamic b() {}\n"
+      "  dynamic c() {\n"
+      "    var d = () { b(); };\n"
+      "    return d;\n"
+      "  }\n"
+      "}\n"
+      "main() {\n"
+      "  var z = new A();\n"
+      "  var x = z.c();\n"
+      "  x();\n"
+      "}";
 
   Isolate* isolate = thread->isolate();
   isolate->set_is_runnable(true);
@@ -497,8 +498,10 @@
   Array& service_msg = Array::Handle();
 
   // Fetch object.
-  service_msg = EvalF(lib, "[0, port, '0', 'getObject', "
-                      "['objectId'], ['objects/%" Pd "']]", id);
+  service_msg = EvalF(lib,
+                      "[0, port, '0', 'getObject', "
+                      "['objectId'], ['objects/%" Pd "']]",
+                      id);
   HandleIsolateMessage(isolate, service_msg);
   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage());
   // Check type.
@@ -509,24 +512,22 @@
 }
 
 
-
 static void WeakHandleFinalizer(void* isolate_callback_data,
                                 Dart_WeakPersistentHandle handle,
-                                void* peer) {
-}
+                                void* peer) {}
 
 
 TEST_CASE(Service_PersistentHandles) {
   const char* kScript =
-    "var port;\n"  // Set to our mock port by C++.
-    "\n"
-    "class A {\n"
-    "  var a;\n"
-    "}\n"
-    "var global = new A();\n"
-    "main() {\n"
-    "  return global;\n"
-    "}";
+      "var port;\n"  // Set to our mock port by C++.
+      "\n"
+      "class A {\n"
+      "  var a;\n"
+      "}\n"
+      "var global = new A();\n"
+      "main() {\n"
+      "  return global;\n"
+      "}";
 
   Isolate* isolate = thread->isolate();
   isolate->set_is_runnable(true);
@@ -543,10 +544,8 @@
 
   // Create a weak persistent handle to global.
   Dart_WeakPersistentHandle weak_persistent_handle =
-      Dart_NewWeakPersistentHandle(result,
-                                   reinterpret_cast<void*>(0xdeadbeef),
-                                   128,
-                                   WeakHandleFinalizer);
+      Dart_NewWeakPersistentHandle(result, reinterpret_cast<void*>(0xdeadbeef),
+                                   128, WeakHandleFinalizer);
 
   // Build a mock message handler and wrap it in a dart port.
   ServiceTestMessageHandler handler;
@@ -613,52 +612,50 @@
     char buf[1024];
     bool ref = offset % 2 == 0;
     OS::SNPrint(buf, sizeof(buf),
-                (ref
-                 ? "[0, port, '0', '_getObjectByAddress', "
-                   "['address', 'ref'], ['%" Px "', 'true']]"
-                 : "[0, port, '0', '_getObjectByAddress', "
-                   "['address'], ['%" Px "']]"),
+                (ref ? "[0, port, '0', '_getObjectByAddress', "
+                       "['address', 'ref'], ['%" Px "', 'true']]"
+                     : "[0, port, '0', '_getObjectByAddress', "
+                       "['address'], ['%" Px "']]"),
                 addr);
     service_msg = Eval(lib, buf);
     HandleIsolateMessage(isolate, service_msg);
     EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage());
-    EXPECT_SUBSTRING(ref ? "\"type\":\"@Instance\"" :
-                           "\"type\":\"Instance\"",
+    EXPECT_SUBSTRING(ref ? "\"type\":\"@Instance\"" : "\"type\":\"Instance\"",
                      handler.msg());
     EXPECT_SUBSTRING("\"kind\":\"String\"", handler.msg());
     EXPECT_SUBSTRING("foobar", handler.msg());
   }
   // Expect null when no object is found.
-  service_msg = Eval(lib, "[0, port, '0', '_getObjectByAddress', "
+  service_msg = Eval(lib,
+                     "[0, port, '0', '_getObjectByAddress', "
                      "['address'], ['7']]");
   HandleIsolateMessage(isolate, service_msg);
   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage());
   // TODO(turnidge): Should this be a ServiceException instead?
-  EXPECT_SUBSTRING("{\"type\":\"Sentinel\",\"kind\":\"Free\","
-                   "\"valueAsString\":\"<free>\"",
-               handler.msg());
+  EXPECT_SUBSTRING(
+      "{\"type\":\"Sentinel\",\"kind\":\"Free\","
+      "\"valueAsString\":\"<free>\"",
+      handler.msg());
 }
 
 
-static bool alpha_callback(
-    const char* name,
-    const char** option_keys,
-    const char** option_values,
-    intptr_t num_options,
-    void* user_data,
-    const char** result) {
+static bool alpha_callback(const char* name,
+                           const char** option_keys,
+                           const char** option_values,
+                           intptr_t num_options,
+                           void* user_data,
+                           const char** result) {
   *result = strdup("alpha");
   return true;
 }
 
 
-static bool beta_callback(
-    const char* name,
-    const char** option_keys,
-    const char** option_values,
-    intptr_t num_options,
-    void* user_data,
-    const char** result) {
+static bool beta_callback(const char* name,
+                          const char** option_keys,
+                          const char** option_values,
+                          intptr_t num_options,
+                          void* user_data,
+                          const char** result) {
   *result = strdup("beta");
   return false;
 }
@@ -666,13 +663,13 @@
 
 TEST_CASE(Service_EmbedderRootHandler) {
   const char* kScript =
-    "var port;\n"  // Set to our mock port by C++.
-    "\n"
-    "var x = 7;\n"
-    "main() {\n"
-    "  x = x * x;\n"
-    "  x = x / 13;\n"
-    "}";
+      "var port;\n"  // Set to our mock port by C++.
+      "\n"
+      "var x = 7;\n"
+      "main() {\n"
+      "  x = x * x;\n"
+      "  x = x / 13;\n"
+      "}";
 
   Dart_RegisterRootServiceRequestCallback("alpha", alpha_callback, NULL);
   Dart_RegisterRootServiceRequestCallback("beta", beta_callback, NULL);
@@ -699,20 +696,19 @@
   service_msg = Eval(lib, "[0, port, 1, 'beta', [], []]");
   HandleRootMessage(service_msg);
   EXPECT_EQ(MessageHandler::kOK, handler.HandleNextMessage());
-  EXPECT_STREQ("{\"jsonrpc\":\"2.0\", \"error\":beta,\"id\":1}",
-               handler.msg());
+  EXPECT_STREQ("{\"jsonrpc\":\"2.0\", \"error\":beta,\"id\":1}", handler.msg());
 }
 
 
 TEST_CASE(Service_EmbedderIsolateHandler) {
   const char* kScript =
-    "var port;\n"  // Set to our mock port by C++.
-    "\n"
-    "var x = 7;\n"
-    "main() {\n"
-    "  x = x * x;\n"
-    "  x = x / 13;\n"
-    "}";
+      "var port;\n"  // Set to our mock port by C++.
+      "\n"
+      "var x = 7;\n"
+      "main() {\n"
+      "  x = x * x;\n"
+      "  x = x / 13;\n"
+      "}";
 
   Dart_RegisterIsolateServiceRequestCallback("alpha", alpha_callback, NULL);
   Dart_RegisterIsolateServiceRequestCallback("beta", beta_callback, NULL);
diff --git a/runtime/vm/signal_handler.h b/runtime/vm/signal_handler.h
index 654087d..734db06 100644
--- a/runtime/vm/signal_handler.h
+++ b/runtime/vm/signal_handler.h
@@ -9,7 +9,7 @@
 #include "vm/globals.h"
 
 #if defined(TARGET_OS_LINUX)
-#include <signal.h>  // NOLINT
+#include <signal.h>    // NOLINT
 #include <ucontext.h>  // NOLINT
 #elif defined(TARGET_OS_ANDROID)
 #include <signal.h>  // NOLINT
@@ -19,23 +19,22 @@
 typedef struct sigcontext mcontext_t;
 typedef struct ucontext {
   uint32_t uc_flags;
-  struct ucontext *uc_link;
+  struct ucontext* uc_link;
   stack_t uc_stack;
   struct sigcontext uc_mcontext;
   uint32_t uc_sigmask;
 } ucontext_t;
-#endif  // !defined(__BIONIC_HAVE_UCONTEXT_T)
+#endif                       // !defined(__BIONIC_HAVE_UCONTEXT_T)
 #elif defined(TARGET_OS_MACOS)
-#include <signal.h>  // NOLINT
+#include <signal.h>        // NOLINT
 #include <sys/ucontext.h>  // NOLINT
 #elif defined(TARGET_OS_WINDOWS)
 // Stub out for windows.
 struct siginfo_t;
 struct mcontext_t;
-struct sigset_t {
-};
+struct sigset_t {};
 #elif defined(TARGET_OS_FUCHSIA)
-#include <signal.h>  // NOLINT
+#include <signal.h>    // NOLINT
 #include <ucontext.h>  // NOLINT
 #endif
 
@@ -43,8 +42,8 @@
 // Old linux kernels on ARM might require a trampoline to
 // work around incorrect Thumb -> ARM transitions. See SignalHandlerTrampoline
 // below for more details.
-#if defined(HOST_ARCH_ARM) && \
-    (defined(TARGET_OS_LINUX) || defined(TARGET_OS_ANDROID)) && \
+#if defined(HOST_ARCH_ARM) &&                                                  \
+    (defined(TARGET_OS_LINUX) || defined(TARGET_OS_ANDROID)) &&                \
     !defined(__thumb__)
 #define USE_SIGNAL_HANDLER_TRAMPOLINE
 #endif
@@ -52,12 +51,11 @@
 
 namespace dart {
 
-typedef void (*SignalAction)(int signal, siginfo_t* info,
-                             void* context);
+typedef void (*SignalAction)(int signal, siginfo_t* info, void* context);
 
 class SignalHandler : public AllStatic {
  public:
-  template<SignalAction action>
+  template <SignalAction action>
   static void Install() {
 #if defined(USE_SIGNAL_HANDLER_TRAMPOLINE)
     InstallImpl(SignalHandlerTrampoline<action>);
@@ -108,10 +106,9 @@
     register siginfo_t* arg1 asm("r1") = info;
     register void* arg2 asm("r2") = context_;
     asm volatile("bx %3"
-                  :
-                  : "r"(arg0), "r"(arg1), "r"(arg2),
-                    "r"(action)
-                  : "memory");
+                 :
+                 : "r"(arg0), "r"(arg1), "r"(arg2), "r"(action)
+                 : "memory");
   }
 #endif  // defined(USE_SIGNAL_HANDLER_TRAMPOLINE)
 };
diff --git a/runtime/vm/simulator_arm.cc b/runtime/vm/simulator_arm.cc
index 9c3e3cf..232b1a4 100644
--- a/runtime/vm/simulator_arm.cc
+++ b/runtime/vm/simulator_arm.cc
@@ -24,9 +24,13 @@
 
 namespace dart {
 
-DEFINE_FLAG(uint64_t, trace_sim_after, ULLONG_MAX,
+DEFINE_FLAG(uint64_t,
+            trace_sim_after,
+            ULLONG_MAX,
             "Trace simulator execution after instruction count reached.");
-DEFINE_FLAG(uint64_t, stop_sim_at, ULLONG_MAX,
+DEFINE_FLAG(uint64_t,
+            stop_sim_at,
+            ULLONG_MAX,
             "Instruction address or instruction count to stop simulator at.");
 
 
@@ -96,7 +100,9 @@
 
   static TokenPosition GetApproximateTokenIndex(const Code& code, uword pc);
 
-  static void PrintDartFrame(uword pc, uword fp, uword sp,
+  static void PrintDartFrame(uword pc,
+                             uword fp,
+                             uword sp,
                              const Function& function,
                              TokenPosition token_pos,
                              bool is_optimized,
@@ -119,8 +125,7 @@
 }
 
 
-SimulatorDebugger::~SimulatorDebugger() {
-}
+SimulatorDebugger::~SimulatorDebugger() {}
 
 
 void SimulatorDebugger::Stop(Instr* instr, const char* message) {
@@ -130,22 +135,13 @@
 
 
 static Register LookupCpuRegisterByName(const char* name) {
-  static const char* kNames[] = {
-      "r0",  "r1",  "r2",  "r3",
-      "r4",  "r5",  "r6",  "r7",
-      "r8",  "r9",  "r10", "r11",
-      "r12", "r13", "r14", "r15",
-      "pc",  "lr",  "sp",  "ip",
-      "fp",  "pp",  "ctx"
-  };
-  static const Register kRegisters[] = {
-      R0,  R1,  R2,  R3,
-      R4,  R5,  R6,  R7,
-      R8,  R9,  R10, R11,
-      R12, R13, R14, R15,
-      PC,  LR,  SP,  IP,
-      FP,  PP,  CTX
-  };
+  static const char* kNames[] = {"r0",  "r1",  "r2",  "r3",  "r4",  "r5",
+                                 "r6",  "r7",  "r8",  "r9",  "r10", "r11",
+                                 "r12", "r13", "r14", "r15", "pc",  "lr",
+                                 "sp",  "ip",  "fp",  "pp",  "ctx"};
+  static const Register kRegisters[] = {R0, R1, R2,  R3,  R4,  R5,  R6,  R7,
+                                        R8, R9, R10, R11, R12, R13, R14, R15,
+                                        PC, LR, SP,  IP,  FP,  PP,  CTX};
   ASSERT(ARRAY_SIZE(kNames) == ARRAY_SIZE(kRegisters));
   for (unsigned i = 0; i < ARRAY_SIZE(kNames); i++) {
     if (strcmp(kNames[i], name) == 0) {
@@ -245,7 +241,7 @@
 
 
 TokenPosition SimulatorDebugger::GetApproximateTokenIndex(const Code& code,
-                                                            uword pc) {
+                                                          uword pc) {
   TokenPosition token_pos = TokenPosition::kNoSource;
   uword pc_offset = pc - code.PayloadStart();
   const PcDescriptors& descriptors =
@@ -262,7 +258,9 @@
 }
 
 
-void SimulatorDebugger::PrintDartFrame(uword pc, uword fp, uword sp,
+void SimulatorDebugger::PrintDartFrame(uword pc,
+                                       uword fp,
+                                       uword sp,
                                        const Function& function,
                                        TokenPosition token_pos,
                                        bool is_optimized,
@@ -275,19 +273,15 @@
   if (token_pos.IsReal()) {
     script.GetTokenLocation(token_pos, &line, &column);
   }
-  OS::Print("pc=0x%" Px " fp=0x%" Px " sp=0x%" Px " %s%s (%s:%" Pd
-            ":%" Pd ")\n",
-            pc, fp, sp,
-            is_optimized ? (is_inlined ? "inlined " : "optimized ") : "",
-            func_name.ToCString(),
-            url.ToCString(),
-            line, column);
+  OS::Print(
+      "pc=0x%" Px " fp=0x%" Px " sp=0x%" Px " %s%s (%s:%" Pd ":%" Pd ")\n", pc,
+      fp, sp, is_optimized ? (is_inlined ? "inlined " : "optimized ") : "",
+      func_name.ToCString(), url.ToCString(), line, column);
 }
 
 
 void SimulatorDebugger::PrintBacktrace() {
-  StackFrameIterator frames(sim_->get_register(FP),
-                            sim_->get_register(SP),
+  StackFrameIterator frames(sim_->get_register(FP), sim_->get_register(SP),
                             sim_->get_pc(),
                             StackFrameIterator::kDontValidateFrames);
   StackFrame* frame = frames.NextFrame();
@@ -312,25 +306,25 @@
           uword unoptimized_pc = it.pc();
           it.Advance();
           if (!it.Done()) {
-            PrintDartFrame(unoptimized_pc, frame->fp(), frame->sp(),
-                           inlined_function,
-                           GetApproximateTokenIndex(unoptimized_code,
-                                                    unoptimized_pc),
-                           true, true);
+            PrintDartFrame(
+                unoptimized_pc, frame->fp(), frame->sp(), inlined_function,
+                GetApproximateTokenIndex(unoptimized_code, unoptimized_pc),
+                true, true);
           }
         }
         // Print the optimized inlining frame below.
       }
-      PrintDartFrame(frame->pc(), frame->fp(), frame->sp(),
-                     function,
+      PrintDartFrame(frame->pc(), frame->fp(), frame->sp(), function,
                      GetApproximateTokenIndex(code, frame->pc()),
                      code.is_optimized(), false);
     } else {
       OS::Print("pc=0x%" Px " fp=0x%" Px " sp=0x%" Px " %s frame\n",
                 frame->pc(), frame->fp(), frame->sp(),
-                frame->IsEntryFrame() ? "entry" :
-                    frame->IsExitFrame() ? "exit" :
-                        frame->IsStubFrame() ? "stub" : "invalid");
+                frame->IsEntryFrame()
+                    ? "entry"
+                    : frame->IsExitFrame()
+                          ? "exit"
+                          : frame->IsStubFrame() ? "stub" : "invalid");
     }
     frame = frames.NextFrame();
   }
@@ -425,26 +419,27 @@
                         "%" XSTR(ARG_SIZE) "s",
                         cmd, arg1, arg2);
       if ((strcmp(cmd, "h") == 0) || (strcmp(cmd, "help") == 0)) {
-        OS::Print("c/cont -- continue execution\n"
-                  "disasm -- disassemble instrs at current pc location\n"
-                  "  other variants are:\n"
-                  "    disasm <address>\n"
-                  "    disasm <address> <number_of_instructions>\n"
-                  "  by default 10 instrs are disassembled\n"
-                  "del -- delete breakpoints\n"
-                  "flags -- print flag values\n"
-                  "gdb -- transfer control to gdb\n"
-                  "h/help -- print this help string\n"
-                  "break <address> -- set break point at specified address\n"
-                  "p/print <reg or icount or value or *addr> -- print integer\n"
-                  "ps/printsingle <sreg or *addr> -- print float value\n"
-                  "pd/printdouble <dreg or *addr> -- print double value\n"
-                  "po/printobject <*reg or *addr> -- print object\n"
-                  "si/stepi -- single step an instruction\n"
-                  "trace -- toggle execution tracing mode\n"
-                  "bt -- print backtrace\n"
-                  "unstop -- if current pc is a stop instr make it a nop\n"
-                  "q/quit -- Quit the debugger and exit the program\n");
+        OS::Print(
+            "c/cont -- continue execution\n"
+            "disasm -- disassemble instrs at current pc location\n"
+            "  other variants are:\n"
+            "    disasm <address>\n"
+            "    disasm <address> <number_of_instructions>\n"
+            "  by default 10 instrs are disassembled\n"
+            "del -- delete breakpoints\n"
+            "flags -- print flag values\n"
+            "gdb -- transfer control to gdb\n"
+            "h/help -- print this help string\n"
+            "break <address> -- set break point at specified address\n"
+            "p/print <reg or icount or value or *addr> -- print integer\n"
+            "ps/printsingle <sreg or *addr> -- print float value\n"
+            "pd/printdouble <dreg or *addr> -- print double value\n"
+            "po/printobject <*reg or *addr> -- print object\n"
+            "si/stepi -- single step an instruction\n"
+            "trace -- toggle execution tracing mode\n"
+            "bt -- print backtrace\n"
+            "unstop -- if current pc is a stop instr make it a nop\n"
+            "q/quit -- Quit the debugger and exit the program\n");
       } else if ((strcmp(cmd, "quit") == 0) || (strcmp(cmd, "q") == 0)) {
         OS::Print("Quitting\n");
         OS::Exit(0);
@@ -488,8 +483,8 @@
           double dvalue;
           if (GetDValue(arg1, &dvalue)) {
             uint64_t long_value = bit_cast<uint64_t, double>(dvalue);
-            OS::Print("%s: %llu 0x%llx %.8g\n",
-                arg1, long_value, long_value, dvalue);
+            OS::Print("%s: %llu 0x%llx %.8g\n", arg1, long_value, long_value,
+                      dvalue);
           } else {
             OS::Print("%s unrecognized\n", arg1);
           }
@@ -506,8 +501,8 @@
             if (Isolate::Current()->heap()->Contains(value)) {
               OS::Print("%s: \n", arg1);
 #if defined(DEBUG)
-              const Object& obj = Object::Handle(
-                  reinterpret_cast<RawObject*>(value));
+              const Object& obj =
+                  Object::Handle(reinterpret_cast<RawObject*>(value));
               obj.Print();
 #endif  // defined(DEBUG)
             } else {
@@ -641,9 +636,7 @@
       return NULL;
     }
     intptr_t len = strlen(line_buf);
-    if (len > 1 &&
-        line_buf[len - 2] == '\\' &&
-        line_buf[len - 1] == '\n') {
+    if (len > 1 && line_buf[len - 2] == '\\' && line_buf[len - 1] == '\n') {
       // When we read a line that ends with a "\" we remove the escape and
       // append the remainder.
       line_buf[len - 2] = '\n';
@@ -689,8 +682,8 @@
 
 // Synchronization primitives support.
 Mutex* Simulator::exclusive_access_lock_ = NULL;
-Simulator::AddressTag Simulator::exclusive_access_state_[kNumAddressTags] =
-    {{NULL, 0}};
+Simulator::AddressTag Simulator::exclusive_access_state_[kNumAddressTags] = {
+    {NULL, 0}};
 int Simulator::next_address_tag_ = 0;
 
 
@@ -707,9 +700,9 @@
   // the size specified by the user and the buffer space needed for
   // handling stack overflow exceptions. To be safe in potential
   // stack underflows we also add some underflow buffer space.
-  stack_ = new char[(OSThread::GetSpecifiedStackSize() +
-                     OSThread::kStackSizeBuffer +
-                     kSimulatorStackUnderflowSize)];
+  stack_ =
+      new char[(OSThread::GetSpecifiedStackSize() + OSThread::kStackSizeBuffer +
+                kSimulatorStackUnderflowSize)];
   pc_modified_ = false;
   icount_ = 0;
   break_pc_ = NULL;
@@ -741,7 +734,7 @@
   }
   // Since VFP registers are overlapping, single-precision registers should
   // already be initialized.
-  ASSERT(2*kNumberOfDRegisters >= kNumberOfSRegisters);
+  ASSERT(2 * kNumberOfDRegisters >= kNumberOfSRegisters);
   for (int i = 0; i < kNumberOfSRegisters; i++) {
     ASSERT(sregisters_[i] == 0.0);
   }
@@ -820,10 +813,9 @@
     Redirection* list_head = list_;
     do {
       next_ = list_head;
-      list_head = reinterpret_cast<Redirection*>(
-          AtomicOperations::CompareAndSwapWord(
-              reinterpret_cast<uword*>(&list_),
-              reinterpret_cast<uword>(next_),
+      list_head =
+          reinterpret_cast<Redirection*>(AtomicOperations::CompareAndSwapWord(
+              reinterpret_cast<uword*>(&list_), reinterpret_cast<uword>(next_),
               reinterpret_cast<uword>(this)));
     } while (list_head != next_);
   }
@@ -980,8 +972,8 @@
   // it will be possible to disassemble the code and inspect registers.
   char buffer[128];
   snprintf(buffer, sizeof(buffer),
-           "illegal memory access at 0x%" Px ", pc=0x%" Px "\n",
-           addr, fault_pc);
+           "illegal memory access at 0x%" Px ", pc=0x%" Px "\n", addr,
+           fault_pc);
   SimulatorDebugger dbg(this);
   dbg.Stop(instr, buffer);
   // The debugger will return control in non-interactive mode.
@@ -1001,8 +993,8 @@
   // The debugger will not be able to single step past this instruction, but
   // it will be possible to disassemble the code and inspect registers.
   char buffer[64];
-  snprintf(buffer, sizeof(buffer),
-           "unaligned %s at 0x%" Px ", pc=%p\n", msg, addr, instr);
+  snprintf(buffer, sizeof(buffer), "unaligned %s at 0x%" Px ", pc=%p\n", msg,
+           addr, instr);
   SimulatorDebugger dbg(this);
   dbg.Stop(instr, buffer);
   // The debugger will return control in non-interactive mode.
@@ -1194,7 +1186,7 @@
   // To be safe in potential stack underflows we leave some buffer above and
   // set the stack top.
   return StackBase() +
-      (OSThread::GetSpecifiedStackSize() + OSThread::kStackSizeBuffer);
+         (OSThread::GetSpecifiedStackSize() + OSThread::kStackSizeBuffer);
 }
 
 
@@ -1205,8 +1197,7 @@
 
 // Unsupported instructions use Format to print an error and stop execution.
 void Simulator::Format(Instr* instr, const char* format) {
-  OS::Print("Simulator found unsupported instruction:\n 0x%p: %s\n",
-            instr,
+  OS::Print("Simulator found unsupported instruction:\n 0x%p: %s\n", instr,
             format);
   UNIMPLEMENTED();
 }
@@ -1216,22 +1207,38 @@
 // condition bits.
 bool Simulator::ConditionallyExecute(Instr* instr) {
   switch (instr->ConditionField()) {
-    case EQ: return z_flag_;
-    case NE: return !z_flag_;
-    case CS: return c_flag_;
-    case CC: return !c_flag_;
-    case MI: return n_flag_;
-    case PL: return !n_flag_;
-    case VS: return v_flag_;
-    case VC: return !v_flag_;
-    case HI: return c_flag_ && !z_flag_;
-    case LS: return !c_flag_ || z_flag_;
-    case GE: return n_flag_ == v_flag_;
-    case LT: return n_flag_ != v_flag_;
-    case GT: return !z_flag_ && (n_flag_ == v_flag_);
-    case LE: return z_flag_ || (n_flag_ != v_flag_);
-    case AL: return true;
-    default: UNREACHABLE();
+    case EQ:
+      return z_flag_;
+    case NE:
+      return !z_flag_;
+    case CS:
+      return c_flag_;
+    case CC:
+      return !c_flag_;
+    case MI:
+      return n_flag_;
+    case PL:
+      return !n_flag_;
+    case VS:
+      return v_flag_;
+    case VC:
+      return !v_flag_;
+    case HI:
+      return c_flag_ && !z_flag_;
+    case LS:
+      return !c_flag_ || z_flag_;
+    case GE:
+      return n_flag_ == v_flag_;
+    case LT:
+      return n_flag_ != v_flag_;
+    case GT:
+      return !z_flag_ && (n_flag_ == v_flag_);
+    case LE:
+      return z_flag_ || (n_flag_ != v_flag_);
+    case AL:
+      return true;
+    default:
+      UNREACHABLE();
   }
   return false;
 }
@@ -1341,7 +1348,7 @@
   } else {
     // by register
     Register rs = instr->RsField();
-    shift_amount = get_register(rs) &0xff;
+    shift_amount = get_register(rs) & 0xff;
     switch (shift) {
       case ASR: {
         if (shift_amount == 0) {
@@ -1509,8 +1516,10 @@
 typedef void (*SimulatorRuntimeCall)(NativeArguments arguments);
 
 // Calls to leaf Dart runtime functions are based on this interface.
-typedef int32_t (*SimulatorLeafRuntimeCall)(
-    int32_t r0, int32_t r1, int32_t r2, int32_t r3);
+typedef int32_t (*SimulatorLeafRuntimeCall)(int32_t r0,
+                                            int32_t r1,
+                                            int32_t r2,
+                                            int32_t r3);
 
 // Calls to leaf float Dart runtime functions are based on this interface.
 typedef double (*SimulatorLeafFloatRuntimeCall)(double d0, double d1);
@@ -1542,7 +1551,7 @@
         }
         if (redirection->call_kind() == kRuntimeCall) {
           NativeArguments arguments;
-          ASSERT(sizeof(NativeArguments) == 4*kWordSize);
+          ASSERT(sizeof(NativeArguments) == 4 * kWordSize);
           arguments.thread_ = reinterpret_cast<Thread*>(get_register(R0));
           arguments.argc_tag_ = get_register(R1);
           arguments.argv_ = reinterpret_cast<RawObject**>(get_register(R2));
@@ -1562,7 +1571,7 @@
           SimulatorLeafRuntimeCall target =
               reinterpret_cast<SimulatorLeafRuntimeCall>(external);
           r0 = target(r0, r1, r2, r3);
-          set_register(R0, r0);  // Set returned result from function.
+          set_register(R0, r0);       // Set returned result from function.
           set_register(R1, icount_);  // Zap unused result register.
         } else if (redirection->call_kind() == kLeafFloatRuntimeCall) {
           ASSERT((0 <= redirection->argument_count()) &&
@@ -1627,8 +1636,8 @@
           for (int i = D1; i <= D7; i++) {
             set_dregister(static_cast<DRegister>(i), zap_dvalue);
           }
-          // The above loop also zaps overlapping registers S2-S15.
-          // Registers D8-D15 (overlapping with S16-S31) are preserved.
+// The above loop also zaps overlapping registers S2-S15.
+// Registers D8-D15 (overlapping with S16-S31) are preserved.
 #if defined(VFPv3_D32)
           for (int i = D16; i <= D31; i++) {
             set_dregister(static_cast<DRegister>(i), zap_dvalue);
@@ -1719,7 +1728,7 @@
               dbg.Stop(instr, buffer);
             }
           } else {
-             // Format(instr, "smc'cond");
+            // Format(instr, "smc'cond");
             UnimplementedInstruction(instr);
           }
           break;
@@ -1741,8 +1750,8 @@
         int32_t rd_val = 0;
         switch (instr->Bits(21, 3)) {
           case 1:
-            // Registers rd, rn, rm, ra are encoded as rn, rm, rs, rd.
-            // Format(instr, "mla'cond's 'rn, 'rm, 'rs, 'rd");
+          // Registers rd, rn, rm, ra are encoded as rn, rm, rs, rd.
+          // Format(instr, "mla'cond's 'rn, 'rm, 'rs, 'rd");
           case 3: {
             // Registers rd, rn, rm, ra are encoded as rn, rm, rs, rd.
             // Format(instr, "mls'cond's 'rn, 'rm, 'rs, 'rd");
@@ -1768,18 +1777,18 @@
             break;
           }
           case 4:
-            // Registers rd_lo, rd_hi, rn, rm are encoded as rd, rn, rm, rs.
-            // Format(instr, "umull'cond's 'rd, 'rn, 'rm, 'rs");
+          // Registers rd_lo, rd_hi, rn, rm are encoded as rd, rn, rm, rs.
+          // Format(instr, "umull'cond's 'rd, 'rn, 'rm, 'rs");
           case 6: {
             // Registers rd_lo, rd_hi, rn, rm are encoded as rd, rn, rm, rs.
             // Format(instr, "smull'cond's 'rd, 'rn, 'rm, 'rs");
             int64_t result;
             if (instr->Bits(21, 3) == 4) {  // umull
-              uint64_t left_op  = static_cast<uint32_t>(rm_val);
+              uint64_t left_op = static_cast<uint32_t>(rm_val);
               uint64_t right_op = static_cast<uint32_t>(rs_val);
               result = left_op * right_op;  // Unsigned multiplication.
-            } else {  // smull
-              int64_t left_op  = static_cast<int32_t>(rm_val);
+            } else {                        // smull
+              int64_t left_op = static_cast<int32_t>(rm_val);
               int64_t right_op = static_cast<int32_t>(rs_val);
               result = left_op * right_op;  // Signed multiplication.
             }
@@ -1792,7 +1801,7 @@
                 // Collapse bits 0..31 into bit 32 so that 32-bit Z check works.
                 hi_res |= 1;
               }
-              ASSERT((result == 0) == (hi_res == 0));  // Z bit
+              ASSERT((result == 0) == (hi_res == 0));                 // Z bit
               ASSERT(((result & (1LL << 63)) != 0) == (hi_res < 0));  // N bit
               SetNZFlags(hi_res);
             }
@@ -1806,8 +1815,8 @@
               UnimplementedInstruction(instr);
             }
           case 5:
-            // Registers rd_lo, rd_hi, rn, rm are encoded as rd, rn, rm, rs.
-            // Format(instr, "umlal'cond's 'rd, 'rn, 'rm, 'rs");
+          // Registers rd_lo, rd_hi, rn, rm are encoded as rd, rn, rm, rs.
+          // Format(instr, "umlal'cond's 'rd, 'rn, 'rm, 'rs");
           case 7: {
             // Registers rd_lo, rd_hi, rn, rm are encoded as rd, rn, rm, rs.
             // Format(instr, "smlal'cond's 'rd, 'rn, 'rm, 'rs");
@@ -1818,21 +1827,21 @@
             int64_t accum = Utils::LowHighTo64Bits(accum_lo, accum_hi);
             int64_t result;
             if (instr->Bits(21, 3) == 5) {  // umlal
-              uint64_t left_op  = static_cast<uint32_t>(rm_val);
+              uint64_t left_op = static_cast<uint32_t>(rm_val);
               uint64_t right_op = static_cast<uint32_t>(rs_val);
               result = accum + left_op * right_op;  // Unsigned multiplication.
-            } else if (instr->Bits(21, 3) == 7) {  // smlal
-              int64_t left_op  = static_cast<int32_t>(rm_val);
+            } else if (instr->Bits(21, 3) == 7) {   // smlal
+              int64_t left_op = static_cast<int32_t>(rm_val);
               int64_t right_op = static_cast<int32_t>(rs_val);
               result = accum + left_op * right_op;  // Signed multiplication.
             } else {
               ASSERT(instr->Bits(21, 3) == 2);  // umaal
               ASSERT(!instr->HasS());
-              uint64_t left_op  = static_cast<uint32_t>(rm_val);
+              uint64_t left_op = static_cast<uint32_t>(rm_val);
               uint64_t right_op = static_cast<uint32_t>(rs_val);
               result = left_op * right_op +  // Unsigned multiplication.
-                  static_cast<uint32_t>(rd_lo_val) +
-                  static_cast<uint32_t>(rd_hi_val);
+                       static_cast<uint32_t>(rd_lo_val) +
+                       static_cast<uint32_t>(rd_hi_val);
             }
             int32_t hi_res = Utils::High32Bits(result);
             int32_t lo_res = Utils::Low32Bits(result);
@@ -1843,7 +1852,7 @@
                 // Collapse bits 0..31 into bit 32 so that 32-bit Z check works.
                 hi_res |= 1;
               }
-              ASSERT((result == 0) == (hi_res == 0));  // Z bit
+              ASSERT((result == 0) == (hi_res == 0));                 // Z bit
               ASSERT(((result & (1LL << 63)) != 0) == (hi_res < 0));  // N bit
               SetNZFlags(hi_res);
             }
@@ -2484,7 +2493,7 @@
   if (instr->HasLink()) {
     set_register(LR, pc + Instr::kInstrSize);
   }
-  set_pc(pc+off);
+  set_pc(pc + off);
 }
 
 
@@ -2514,12 +2523,12 @@
         set_register(rn, Utils::High32Bits(dm_val));
       } else {
         // Format(instr, "vmovdrr'cond 'dm, 'rd, 'rn");
-        int64_t dm_val = Utils::LowHighTo64Bits(get_register(rd),
-                                                get_register(rn));
+        int64_t dm_val =
+            Utils::LowHighTo64Bits(get_register(rd), get_register(rn));
         set_dregister_bits(dm, dm_val);
       }
     }
-  } else if (instr-> IsVFPLoadStore()) {
+  } else if (instr->IsVFPLoadStore()) {
     Register rn = instr->RnField();
     int32_t addr = get_register(rn);
     int32_t imm_val = instr->Bits(0, 8) << 2;
@@ -2718,7 +2727,7 @@
           }
           break;
         }
-        case 0xb: {  // Other VFP data-processing instructions
+        case 0xb: {                  // Other VFP data-processing instructions
           if (instr->Bit(6) == 0) {  // vmov immediate
             if (instr->Bit(8) == 0) {
               // Format(instr, "vmovs'cond 'sd, #'immf");
@@ -2788,8 +2797,8 @@
               }
               break;
             }
-            case 4:  // vcmp, vcmpe
-            case 5: {  // vcmp #0.0, vcmpe #0.0
+            case 4:                      // vcmp, vcmpe
+            case 5: {                    // vcmp #0.0, vcmpe #0.0
               if (instr->Bit(7) == 1) {  // vcmpe
                 UnimplementedInstruction(instr);
               } else {
@@ -2952,9 +2961,9 @@
               set_sregister_bits(sd, sd_val);
               break;
             }
-            case 2:  // vcvtb, vcvtt
-            case 3:  // vcvtb, vcvtt
-            case 9:  // undefined
+            case 2:   // vcvtb, vcvtt
+            case 3:   // vcvtb, vcvtt
+            case 9:   // undefined
             case 10:  // vcvt between floating-point and fixed-point
             case 11:  // vcvt between floating-point and fixed-point
             case 14:  // vcvt between floating-point and fixed-point
@@ -2964,8 +2973,7 @@
               break;
             }
           }
-        }
-        break;
+        } break;
       }
     } else {
       // 8, 16, or 32-bit Transfer between ARM Core and VFP
@@ -3019,9 +3027,12 @@
 
 static float arm_reciprocal_sqrt_estimate(float a) {
   // From the ARM Architecture Reference Manual A2-87.
-  if (isinf(a) || (fabs(a) >= exp2f(126))) return 0.0;
-  else if (a == 0.0) return kPosInfinity;
-  else if (isnan(a)) return a;
+  if (isinf(a) || (fabs(a) >= exp2f(126)))
+    return 0.0;
+  else if (a == 0.0)
+    return kPosInfinity;
+  else if (isnan(a))
+    return a;
 
   uint32_t a_bits = bit_cast<uint32_t, float>(a);
   uint64_t scaled;
@@ -3059,10 +3070,11 @@
   // r in units of 1/256 rounded to nearest.
   int32_t s = static_cast<int>(256.0 * r + 0.5);
   double estimate = static_cast<double>(s) / 256.0;
-  ASSERT((estimate >= 1.0) && (estimate <= (511.0/256.0)));
+  ASSERT((estimate >= 1.0) && (estimate <= (511.0 / 256.0)));
 
   // result = 0 : result_exp<7:0> : estimate<51:29>
-  int32_t result_bits = ((result_exp & 0xff) << 23) |
+  int32_t result_bits =
+      ((result_exp & 0xff) << 23) |
       ((bit_cast<uint64_t, double>(estimate) >> 29) & 0x7fffff);
   return bit_cast<float, int32_t>(result_bits);
 }
@@ -3070,9 +3082,12 @@
 
 static float arm_recip_estimate(float a) {
   // From the ARM Architecture Reference Manual A2-85.
-  if (isinf(a) || (fabs(a) >= exp2f(126))) return 0.0;
-  else if (a == 0.0) return kPosInfinity;
-  else if (isnan(a)) return a;
+  if (isinf(a) || (fabs(a) >= exp2f(126)))
+    return 0.0;
+  else if (a == 0.0)
+    return kPosInfinity;
+  else if (isnan(a))
+    return a;
 
   uint32_t a_bits = bit_cast<uint32_t, float>(a);
   // scaled = '0011 1111 1110' : a<22:0> : Zeros(29)
@@ -3092,7 +3107,7 @@
   // r in units of 1/256 rounded to nearest.
   int32_t s = static_cast<int32_t>(256.0 * r + 0.5);
   double estimate = static_cast<double>(s) / 256.0;
-  ASSERT((estimate >= 1.0) && (estimate <= (511.0/256.0)));
+  ASSERT((estimate >= 1.0) && (estimate <= (511.0 / 256.0)));
 
   // result = sign : result_exp<7:0> : estimate<51:29>
   int32_t result_bits =
@@ -3102,8 +3117,10 @@
 }
 
 
-static void simd_value_swap(simd_value_t* s1, int i1,
-                            simd_value_t* s2, int i2) {
+static void simd_value_swap(simd_value_t* s1,
+                            int i1,
+                            simd_value_t* s2,
+                            int i2) {
   uint32_t tmp;
   tmp = s1->data_[i1].u;
   s1->data_[i1].u = s2->data_[i2].u;
@@ -3344,7 +3361,7 @@
       // Format(instr, "vmaxqs 'qd, 'qn, 'qm");
       for (int i = 0; i < 4; i++) {
         s8d.data_[i].f =
-          s8n.data_[i].f >= s8m.data_[i].f ? s8n.data_[i].f : s8m.data_[i].f;
+            s8n.data_[i].f >= s8m.data_[i].f ? s8n.data_[i].f : s8m.data_[i].f;
       }
     } else if ((instr->Bits(8, 4) == 7) && (instr->Bit(4) == 0) &&
                (instr->Bits(20, 2) == 3) && (instr->Bits(23, 2) == 3) &&
@@ -3907,10 +3924,10 @@
   set_register(kExceptionObjectReg, bit_cast<int32_t>(raw_exception));
   set_register(kStackTraceObjectReg, bit_cast<int32_t>(raw_stacktrace));
   // Restore pool pointer.
-  int32_t code = *reinterpret_cast<int32_t*>(
-      fp + kPcMarkerSlotFromFp * kWordSize);
-  int32_t pp = *reinterpret_cast<int32_t*>(
-      code + Code::object_pool_offset() - kHeapObjectTag);
+  int32_t code =
+      *reinterpret_cast<int32_t*>(fp + kPcMarkerSlotFromFp * kWordSize);
+  int32_t pp = *reinterpret_cast<int32_t*>(code + Code::object_pool_offset() -
+                                           kHeapObjectTag);
   set_register(CODE_REG, code);
   set_register(PP, pp);
   buf->Longjmp();
diff --git a/runtime/vm/simulator_arm.h b/runtime/vm/simulator_arm.h
index 2a505cc..605ccec 100644
--- a/runtime/vm/simulator_arm.h
+++ b/runtime/vm/simulator_arm.h
@@ -52,9 +52,7 @@
   void set_register(Register reg, int32_t value);
   int32_t get_register(Register reg) const;
 
-  int32_t get_sp() const {
-    return get_register(SPREG);
-  }
+  int32_t get_sp() const { return get_register(SPREG); }
 
   // Special case of set_register and get_register to access the raw PC value.
   void set_pc(int32_t value);
@@ -177,9 +175,7 @@
   int32_t break_instr_;
 
   // Illegal memory access support.
-  static bool IsIllegalAddress(uword addr) {
-    return addr < 64*1024;
-  }
+  static bool IsIllegalAddress(uword addr) { return addr < 64 * 1024; }
   void HandleIllegalAccess(uword addr, Instr* instr);
 
   // Handles a legal instruction that the simulator does not implement.
@@ -273,9 +269,7 @@
   bool IsTracingExecution() const;
 
   // Longjmp support for exceptions.
-  SimulatorSetjmpBuffer* last_setjmp_buffer() {
-    return last_setjmp_buffer_;
-  }
+  SimulatorSetjmpBuffer* last_setjmp_buffer() { return last_setjmp_buffer_; }
   void set_last_setjmp_buffer(SimulatorSetjmpBuffer* buffer) {
     last_setjmp_buffer_ = buffer;
   }
diff --git a/runtime/vm/simulator_arm64.cc b/runtime/vm/simulator_arm64.cc
index 0cfcb2a..a055567 100644
--- a/runtime/vm/simulator_arm64.cc
+++ b/runtime/vm/simulator_arm64.cc
@@ -23,9 +23,13 @@
 
 namespace dart {
 
-DEFINE_FLAG(uint64_t, trace_sim_after, ULLONG_MAX,
+DEFINE_FLAG(uint64_t,
+            trace_sim_after,
+            ULLONG_MAX,
             "Trace simulator execution after instruction count reached.");
-DEFINE_FLAG(uint64_t, stop_sim_at, ULLONG_MAX,
+DEFINE_FLAG(uint64_t,
+            stop_sim_at,
+            ULLONG_MAX,
             "Instruction address or instruction count to stop simulator at.");
 
 
@@ -96,7 +100,9 @@
 
   static TokenPosition GetApproximateTokenIndex(const Code& code, uword pc);
 
-  static void PrintDartFrame(uword pc, uword fp, uword sp,
+  static void PrintDartFrame(uword pc,
+                             uword fp,
+                             uword sp,
                              const Function& function,
                              TokenPosition token_pos,
                              bool is_optimized,
@@ -119,8 +125,7 @@
 }
 
 
-SimulatorDebugger::~SimulatorDebugger() {
-}
+SimulatorDebugger::~SimulatorDebugger() {}
 
 
 void SimulatorDebugger::Stop(Instr* instr, const char* message) {
@@ -131,24 +136,19 @@
 
 static Register LookupCpuRegisterByName(const char* name) {
   static const char* kNames[] = {
-      "r0",  "r1",  "r2",  "r3",
-      "r4",  "r5",  "r6",  "r7",
-      "r8",  "r9",  "r10", "r11",
-      "r12", "r13", "r14", "r15",
-      "r16", "r17", "r18", "r19",
-      "r20", "r21", "r22", "r23",
-      "r24", "r25", "r26", "r27",
-      "r28", "r29", "r30",
+      "r0",  "r1",  "r2",  "r3",  "r4",  "r5",  "r6",  "r7",
+      "r8",  "r9",  "r10", "r11", "r12", "r13", "r14", "r15",
+      "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
+      "r24", "r25", "r26", "r27", "r28", "r29", "r30",
 
-      "ip0", "ip1", "pp",  "ctx", "fp",  "lr",  "sp", "zr",
+      "ip0", "ip1", "pp",  "ctx", "fp",  "lr",  "sp",  "zr",
   };
   static const Register kRegisters[] = {
-      R0,  R1,  R2,  R3,  R4,  R5,  R6,  R7,
-      R8,  R9,  R10, R11, R12, R13, R14, R15,
-      R16, R17, R18, R19, R20, R21, R22, R23,
-      R24, R25, R26, R27, R28, R29, R30,
+      R0,  R1,  R2,  R3,  R4,  R5,  R6,  R7,  R8,  R9,  R10,
+      R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21,
+      R22, R23, R24, R25, R26, R27, R28, R29, R30,
 
-      IP0, IP1, PP, CTX, FP, LR, R31, ZR,
+      IP0, IP1, PP,  CTX, FP,  LR,  R31, ZR,
   };
   ASSERT(ARRAY_SIZE(kNames) == ARRAY_SIZE(kRegisters));
   for (unsigned i = 0; i < ARRAY_SIZE(kNames); i++) {
@@ -263,7 +263,7 @@
 
 
 TokenPosition SimulatorDebugger::GetApproximateTokenIndex(const Code& code,
-                                                            uword pc) {
+                                                          uword pc) {
   TokenPosition token_pos = TokenPosition::kNoSource;
   uword pc_offset = pc - code.PayloadStart();
   const PcDescriptors& descriptors =
@@ -280,7 +280,9 @@
 }
 
 
-void SimulatorDebugger::PrintDartFrame(uword pc, uword fp, uword sp,
+void SimulatorDebugger::PrintDartFrame(uword pc,
+                                       uword fp,
+                                       uword sp,
                                        const Function& function,
                                        TokenPosition token_pos,
                                        bool is_optimized,
@@ -293,19 +295,15 @@
   if (token_pos.IsReal()) {
     script.GetTokenLocation(token_pos, &line, &column);
   }
-  OS::Print("pc=0x%" Px " fp=0x%" Px " sp=0x%" Px " %s%s (%s:%" Pd
-            ":%" Pd ")\n",
-            pc, fp, sp,
-            is_optimized ? (is_inlined ? "inlined " : "optimized ") : "",
-            func_name.ToCString(),
-            url.ToCString(),
-            line, column);
+  OS::Print(
+      "pc=0x%" Px " fp=0x%" Px " sp=0x%" Px " %s%s (%s:%" Pd ":%" Pd ")\n", pc,
+      fp, sp, is_optimized ? (is_inlined ? "inlined " : "optimized ") : "",
+      func_name.ToCString(), url.ToCString(), line, column);
 }
 
 
 void SimulatorDebugger::PrintBacktrace() {
-  StackFrameIterator frames(sim_->get_register(FP),
-                            sim_->get_register(SP),
+  StackFrameIterator frames(sim_->get_register(FP), sim_->get_register(SP),
                             sim_->get_pc(),
                             StackFrameIterator::kDontValidateFrames);
   StackFrame* frame = frames.NextFrame();
@@ -330,25 +328,25 @@
           uword unoptimized_pc = it.pc();
           it.Advance();
           if (!it.Done()) {
-            PrintDartFrame(unoptimized_pc, frame->fp(), frame->sp(),
-                           inlined_function,
-                           GetApproximateTokenIndex(unoptimized_code,
-                                                    unoptimized_pc),
-                           true, true);
+            PrintDartFrame(
+                unoptimized_pc, frame->fp(), frame->sp(), inlined_function,
+                GetApproximateTokenIndex(unoptimized_code, unoptimized_pc),
+                true, true);
           }
         }
         // Print the optimized inlining frame below.
       }
-      PrintDartFrame(frame->pc(), frame->fp(), frame->sp(),
-                     function,
+      PrintDartFrame(frame->pc(), frame->fp(), frame->sp(), function,
                      GetApproximateTokenIndex(code, frame->pc()),
                      code.is_optimized(), false);
     } else {
       OS::Print("pc=0x%" Px " fp=0x%" Px " sp=0x%" Px " %s frame\n",
                 frame->pc(), frame->fp(), frame->sp(),
-                frame->IsEntryFrame() ? "entry" :
-                    frame->IsExitFrame() ? "exit" :
-                        frame->IsStubFrame() ? "stub" : "invalid");
+                frame->IsEntryFrame()
+                    ? "entry"
+                    : frame->IsExitFrame()
+                          ? "exit"
+                          : frame->IsStubFrame() ? "stub" : "invalid");
     }
     frame = frames.NextFrame();
   }
@@ -443,27 +441,28 @@
                         "%" XSTR(ARG_SIZE) "s",
                         cmd, arg1, arg2);
       if ((strcmp(cmd, "h") == 0) || (strcmp(cmd, "help") == 0)) {
-        OS::Print("c/cont -- continue execution\n"
-                  "disasm -- disassemble instrs at current pc location\n"
-                  "  other variants are:\n"
-                  "    disasm <address>\n"
-                  "    disasm <address> <number_of_instructions>\n"
-                  "  by default 10 instrs are disassembled\n"
-                  "del -- delete breakpoints\n"
-                  "flags -- print flag values\n"
-                  "gdb -- transfer control to gdb\n"
-                  "h/help -- print this help string\n"
-                  "break <address> -- set break point at specified address\n"
-                  "p/print <reg or icount or value or *addr> -- print integer\n"
-                  "pf/printfloat <vreg or *addr> --print float value\n"
-                  "pd/printdouble <vreg or *addr> -- print double value\n"
-                  "pq/printquad <vreg or *addr> -- print vector register\n"
-                  "po/printobject <*reg or *addr> -- print object\n"
-                  "si/stepi -- single step an instruction\n"
-                  "trace -- toggle execution tracing mode\n"
-                  "bt -- print backtrace\n"
-                  "unstop -- if current pc is a stop instr make it a nop\n"
-                  "q/quit -- Quit the debugger and exit the program\n");
+        OS::Print(
+            "c/cont -- continue execution\n"
+            "disasm -- disassemble instrs at current pc location\n"
+            "  other variants are:\n"
+            "    disasm <address>\n"
+            "    disasm <address> <number_of_instructions>\n"
+            "  by default 10 instrs are disassembled\n"
+            "del -- delete breakpoints\n"
+            "flags -- print flag values\n"
+            "gdb -- transfer control to gdb\n"
+            "h/help -- print this help string\n"
+            "break <address> -- set break point at specified address\n"
+            "p/print <reg or icount or value or *addr> -- print integer\n"
+            "pf/printfloat <vreg or *addr> --print float value\n"
+            "pd/printdouble <vreg or *addr> -- print double value\n"
+            "pq/printquad <vreg or *addr> -- print vector register\n"
+            "po/printobject <*reg or *addr> -- print object\n"
+            "si/stepi -- single step an instruction\n"
+            "trace -- toggle execution tracing mode\n"
+            "bt -- print backtrace\n"
+            "unstop -- if current pc is a stop instr make it a nop\n"
+            "q/quit -- Quit the debugger and exit the program\n");
       } else if ((strcmp(cmd, "quit") == 0) || (strcmp(cmd, "q") == 0)) {
         OS::Print("Quitting\n");
         OS::Exit(0);
@@ -488,14 +487,12 @@
         } else {
           OS::Print("print <reg or icount or value or *addr>\n");
         }
-      } else if ((strcmp(cmd, "pf") == 0) ||
-                 (strcmp(cmd, "printfloat") == 0)) {
+      } else if ((strcmp(cmd, "pf") == 0) || (strcmp(cmd, "printfloat") == 0)) {
         if (args == 2) {
           uint32_t value;
           if (GetSValue(arg1, &value)) {
             float svalue = bit_cast<float, uint32_t>(value);
-            OS::Print("%s: %d 0x%x %.8g\n",
-                arg1, value, value, svalue);
+            OS::Print("%s: %d 0x%x %.8g\n", arg1, value, value, svalue);
           } else {
             OS::Print("%s unrecognized\n", arg1);
           }
@@ -508,16 +505,15 @@
           uint64_t long_value;
           if (GetDValue(arg1, &long_value)) {
             double dvalue = bit_cast<double, uint64_t>(long_value);
-            OS::Print("%s: %" Pu64 " 0x%" Px64 " %.8g\n",
-                arg1, long_value, long_value, dvalue);
+            OS::Print("%s: %" Pu64 " 0x%" Px64 " %.8g\n", arg1, long_value,
+                      long_value, dvalue);
           } else {
             OS::Print("%s unrecognized\n", arg1);
           }
         } else {
           OS::Print("printdouble <vreg or *addr>\n");
         }
-      } else if ((strcmp(cmd, "pq") == 0) ||
-                 (strcmp(cmd, "printquad") == 0)) {
+      } else if ((strcmp(cmd, "pq") == 0) || (strcmp(cmd, "printquad") == 0)) {
         if (args == 2) {
           simd_value_t quad_value;
           if (GetQValue(arg1, &quad_value)) {
@@ -555,8 +551,8 @@
             if (Isolate::Current()->heap()->Contains(value)) {
               OS::Print("%s: \n", arg1);
 #if defined(DEBUG)
-              const Object& obj = Object::Handle(
-                  reinterpret_cast<RawObject*>(value));
+              const Object& obj =
+                  Object::Handle(reinterpret_cast<RawObject*>(value));
               obj.Print();
 #endif  // defined(DEBUG)
             } else {
@@ -687,9 +683,7 @@
       return NULL;
     }
     intptr_t len = strlen(line_buf);
-    if (len > 1 &&
-        line_buf[len - 2] == '\\' &&
-        line_buf[len - 1] == '\n') {
+    if (len > 1 && line_buf[len - 2] == '\\' && line_buf[len - 1] == '\n') {
       // When we read a line that ends with a "\" we remove the escape and
       // append the remainder.
       line_buf[len - 2] = '\n';
@@ -735,8 +729,8 @@
 
 // Synchronization primitives support.
 Mutex* Simulator::exclusive_access_lock_ = NULL;
-Simulator::AddressTag Simulator::exclusive_access_state_[kNumAddressTags] =
-    {{NULL, 0}};
+Simulator::AddressTag Simulator::exclusive_access_state_[kNumAddressTags] = {
+    {NULL, 0}};
 int Simulator::next_address_tag_ = 0;
 
 
@@ -753,9 +747,9 @@
   // the size specified by the user and the buffer space needed for
   // handling stack overflow exceptions. To be safe in potential
   // stack underflows we also add some underflow buffer space.
-  stack_ = new char[(OSThread::GetSpecifiedStackSize() +
-                     OSThread::kStackSizeBuffer +
-                     kSimulatorStackUnderflowSize)];
+  stack_ =
+      new char[(OSThread::GetSpecifiedStackSize() + OSThread::kStackSizeBuffer +
+                kSimulatorStackUnderflowSize)];
   pc_modified_ = false;
   icount_ = 0;
   break_pc_ = NULL;
@@ -857,10 +851,9 @@
     Redirection* list_head = list_;
     do {
       next_ = list_head;
-      list_head = reinterpret_cast<Redirection*>(
-          AtomicOperations::CompareAndSwapWord(
-              reinterpret_cast<uword*>(&list_),
-              reinterpret_cast<uword>(next_),
+      list_head =
+          reinterpret_cast<Redirection*>(AtomicOperations::CompareAndSwapWord(
+              reinterpret_cast<uword*>(&list_), reinterpret_cast<uword>(next_),
               reinterpret_cast<uword>(this)));
     } while (list_head != next_);
   }
@@ -903,8 +896,10 @@
 
 
 // Sets the register in the architecture state.
-void Simulator::set_register(
-    Instr* instr, Register reg, int64_t value, R31Type r31t) {
+void Simulator::set_register(Instr* instr,
+                             Register reg,
+                             int64_t value,
+                             R31Type r31t) {
   // Register is in range.
   ASSERT((reg >= 0) && (reg < kNumberOfCpuRegisters));
   ASSERT(instr == NULL || reg != R18);  // R18 is globally reserved on iOS.
@@ -1020,9 +1015,9 @@
   uword fault_pc = get_pc();
   uword last_pc = get_last_pc();
   char buffer[128];
-  snprintf(buffer, sizeof(buffer),
-      "illegal memory access at 0x%" Px ", pc=0x%" Px ", last_pc=0x%" Px"\n",
-      addr, fault_pc, last_pc);
+  snprintf(buffer, sizeof(buffer), "illegal memory access at 0x%" Px
+                                   ", pc=0x%" Px ", last_pc=0x%" Px "\n",
+           addr, fault_pc, last_pc);
   SimulatorDebugger dbg(this);
   dbg.Stop(instr, buffer);
   // The debugger will return control in non-interactive mode.
@@ -1035,8 +1030,8 @@
 // so let's just not generate any.
 void Simulator::UnalignedAccess(const char* msg, uword addr, Instr* instr) {
   char buffer[128];
-  snprintf(buffer, sizeof(buffer),
-           "unaligned %s at 0x%" Px ", pc=%p\n", msg, addr, instr);
+  snprintf(buffer, sizeof(buffer), "unaligned %s at 0x%" Px ", pc=%p\n", msg,
+           addr, instr);
   SimulatorDebugger dbg(this);
   dbg.Stop(instr, buffer);
   // The debugger will not be able to single step past this instruction, but
@@ -1048,8 +1043,8 @@
 void Simulator::UnimplementedInstruction(Instr* instr) {
   char buffer[128];
   snprintf(buffer, sizeof(buffer),
-      "Unimplemented instruction: at %p, last_pc=0x%" Px64 "\n",
-      instr, get_last_pc());
+           "Unimplemented instruction: at %p, last_pc=0x%" Px64 "\n", instr,
+           get_last_pc());
   SimulatorDebugger dbg(this);
   dbg.Stop(instr, buffer);
   FATAL("Cannot continue execution after unimplemented instruction.");
@@ -1062,7 +1057,7 @@
   // To be safe in potential stack underflows we leave some buffer above and
   // set the stack top.
   return StackBase() +
-      (OSThread::GetSpecifiedStackSize() + OSThread::kStackSizeBuffer);
+         (OSThread::GetSpecifiedStackSize() + OSThread::kStackSizeBuffer);
 }
 
 
@@ -1282,8 +1277,7 @@
 
 // Unsupported instructions use Format to print an error and stop execution.
 void Simulator::Format(Instr* instr, const char* format) {
-  OS::Print("Simulator found unsupported instruction:\n 0x%p: %s\n",
-            instr,
+  OS::Print("Simulator found unsupported instruction:\n 0x%p: %s\n", instr,
             format);
   UNIMPLEMENTED();
 }
@@ -1321,7 +1315,9 @@
 
 // Calculate C flag value for additions and subtractions.
 bool Simulator::CarryFromX(int64_t alu_out,
-                           int64_t left, int64_t right, bool addition) {
+                           int64_t left,
+                           int64_t right,
+                           bool addition) {
   if (addition) {
     return (((left & right) | ((left | right) & ~alu_out)) >> 63) != 0;
   } else {
@@ -1332,7 +1328,9 @@
 
 // Calculate V flag value for additions and subtractions.
 bool Simulator::OverflowFromX(int64_t alu_out,
-                              int64_t left, int64_t right, bool addition) {
+                              int64_t left,
+                              int64_t right,
+                              bool addition) {
   if (addition) {
     return (((alu_out ^ left) & (alu_out ^ right)) >> 63) != 0;
   } else {
@@ -1357,8 +1355,8 @@
   const Register rd = instr->RdField();
   const int hw = instr->HWField();
   const int64_t shift = hw << 4;
-  const int64_t shifted_imm =
-      static_cast<int64_t>(instr->Imm16Field()) << shift;
+  const int64_t shifted_imm = static_cast<int64_t>(instr->Imm16Field())
+                              << shift;
 
   if (instr->SFField()) {
     if (instr->Bits(29, 2) == 0) {
@@ -1378,7 +1376,7 @@
   } else if ((hw & 0x2) == 0) {
     if (instr->Bits(29, 2) == 0) {
       // Format(instr, "movn'sf 'rd, 'imm16 'hw");
-      set_wregister(rd, ~shifted_imm & kWRegMask,  instr->RdMode());
+      set_wregister(rd, ~shifted_imm & kWRegMask, instr->RdMode());
     } else if (instr->Bits(29, 2) == 2) {
       // Format(instr, "movz'sf 'rd, 'imm16 'hw");
       set_wregister(rd, shifted_imm & kWRegMask, instr->RdMode());
@@ -1438,7 +1436,8 @@
   const int op = instr->Bits(29, 2);
   const bool set_flags = op == 3;
   const int out_size = ((instr->SFField() == 0) && (instr->NField() == 0))
-                       ? kWRegSizeInBits : kXRegSizeInBits;
+                           ? kWRegSizeInBits
+                           : kXRegSizeInBits;
   const Register rn = instr->RnField();
   const Register rd = instr->RdField();
   const int64_t rn_val = get_register(rn, instr->RnMode());
@@ -1544,22 +1543,38 @@
     cond = instr->ConditionField();
   }
   switch (cond) {
-    case EQ: return z_flag_;
-    case NE: return !z_flag_;
-    case CS: return c_flag_;
-    case CC: return !c_flag_;
-    case MI: return n_flag_;
-    case PL: return !n_flag_;
-    case VS: return v_flag_;
-    case VC: return !v_flag_;
-    case HI: return c_flag_ && !z_flag_;
-    case LS: return !c_flag_ || z_flag_;
-    case GE: return n_flag_ == v_flag_;
-    case LT: return n_flag_ != v_flag_;
-    case GT: return !z_flag_ && (n_flag_ == v_flag_);
-    case LE: return z_flag_ || (n_flag_ != v_flag_);
-    case AL: return true;
-    default: UNREACHABLE();
+    case EQ:
+      return z_flag_;
+    case NE:
+      return !z_flag_;
+    case CS:
+      return c_flag_;
+    case CC:
+      return !c_flag_;
+    case MI:
+      return n_flag_;
+    case PL:
+      return !n_flag_;
+    case VS:
+      return v_flag_;
+    case VC:
+      return !v_flag_;
+    case HI:
+      return c_flag_ && !z_flag_;
+    case LS:
+      return !c_flag_ || z_flag_;
+    case GE:
+      return n_flag_ == v_flag_;
+    case LT:
+      return n_flag_ != v_flag_;
+    case GT:
+      return !z_flag_ && (n_flag_ == v_flag_);
+    case LE:
+      return z_flag_ || (n_flag_ != v_flag_);
+    case AL:
+      return true;
+    default:
+      UNREACHABLE();
   }
   return false;
 }
@@ -1582,14 +1597,24 @@
 typedef void (*SimulatorRuntimeCall)(NativeArguments arguments);
 
 // Calls to leaf Dart runtime functions are based on this interface.
-typedef int64_t (*SimulatorLeafRuntimeCall)(
-    int64_t r0, int64_t r1, int64_t r2, int64_t r3,
-    int64_t r4, int64_t r5, int64_t r6, int64_t r7);
+typedef int64_t (*SimulatorLeafRuntimeCall)(int64_t r0,
+                                            int64_t r1,
+                                            int64_t r2,
+                                            int64_t r3,
+                                            int64_t r4,
+                                            int64_t r5,
+                                            int64_t r6,
+                                            int64_t r7);
 
 // Calls to leaf float Dart runtime functions are based on this interface.
-typedef double (*SimulatorLeafFloatRuntimeCall)(
-    double d0, double d1, double d2, double d3,
-    double d4, double d5, double d6, double d7);
+typedef double (*SimulatorLeafFloatRuntimeCall)(double d0,
+                                                double d1,
+                                                double d2,
+                                                double d3,
+                                                double d4,
+                                                double d5,
+                                                double d6,
+                                                double d7);
 
 // Calls to native Dart functions are based on this interface.
 typedef void (*SimulatorBootstrapNativeCall)(NativeArguments* arguments);
@@ -1635,7 +1660,7 @@
       const int64_t r6 = get_register(R6);
       const int64_t r7 = get_register(R7);
       const int64_t res = target(r0, r1, r2, r3, r4, r5, r6, r7);
-      set_register(instr, R0, res);  // Set returned result from function.
+      set_register(instr, R0, res);      // Set returned result from function.
       set_register(instr, R1, icount_);  // Zap unused result register.
     } else if (redirection->call_kind() == kLeafFloatRuntimeCall) {
       ASSERT((0 <= redirection->argument_count()) &&
@@ -1865,8 +1890,8 @@
   const Register rt = instr->RtField();
   const VRegister vt = instr->VtField();
   const int64_t rn_val = get_register(rn, R31IsSP);
-  const uint32_t size =
-      (instr->Bit(26) == 1) ? ((instr->Bit(23) << 2) | instr->SzField())
+  const uint32_t size = (instr->Bit(26) == 1)
+                            ? ((instr->Bit(23) << 2) | instr->SzField())
                             : instr->SzField();
   uword address = 0;
   uword wb_address = 0;
@@ -1876,7 +1901,7 @@
     const uint32_t imm12 = static_cast<uint32_t>(instr->Imm12Field());
     const uint32_t offset = imm12 << size;
     address = rn_val + offset;
-  }  else if (instr->Bits(10, 2) == 0) {
+  } else if (instr->Bits(10, 2) == 0) {
     // addr = rn + signed 9-bit immediate offset.
     wb = false;
     const int64_t offset = static_cast<int64_t>(instr->SImm9Field());
@@ -1899,8 +1924,7 @@
     // addr = rn + (rm EXT optionally scaled by operand instruction size).
     const Register rm = instr->RmField();
     const Extend ext = instr->ExtendTypeField();
-    const uint8_t scale =
-        (ext == UXTX) && (instr->Bit(12) == 1) ? size : 0;
+    const uint8_t scale = (ext == UXTX) && (instr->Bit(12) == 1) ? size : 0;
     const int64_t rm_val = get_register(rm, R31IsZR);
     const int64_t offset = ExtendOperand(kXRegSizeInBits, rm_val, ext, scale);
     address = rn_val + offset;
@@ -2170,9 +2194,7 @@
 
 
 void Simulator::DecodeLoadStoreExclusive(Instr* instr) {
-  if ((instr->Bit(23) != 0) ||
-      (instr->Bit(21) != 0) ||
-      (instr->Bit(15) != 0)) {
+  if ((instr->Bit(23) != 0) || (instr->Bit(21) != 0) || (instr->Bit(15) != 0)) {
     UNIMPLEMENTED();
   }
   const int32_t size = instr->Bits(30, 2);
@@ -2773,7 +2795,7 @@
       // Format(instr, "vmovrd 'rd, 'vn'idx5");
       set_register(instr, rd, get_vregisterd(vn, idx5), R31IsZR);
     }
-  } else if ((Q == 1)  && (op == 0) && (imm4 == 0)) {
+  } else if ((Q == 1) && (op == 0) && (imm4 == 0)) {
     // Format(instr, "vdup'csz 'vd, 'vn'idx5");
     if (element_bytes == 4) {
       for (int i = 0; i < 4; i++) {
@@ -2984,9 +3006,12 @@
 
 static float arm_reciprocal_sqrt_estimate(float a) {
   // From the ARM Architecture Reference Manual A2-87.
-  if (isinf(a) || (fabs(a) >= exp2f(126))) return 0.0;
-  else if (a == 0.0) return kPosInfinity;
-  else if (isnan(a)) return a;
+  if (isinf(a) || (fabs(a) >= exp2f(126)))
+    return 0.0;
+  else if (a == 0.0)
+    return kPosInfinity;
+  else if (isnan(a))
+    return a;
 
   uint32_t a_bits = bit_cast<uint32_t, float>(a);
   uint64_t scaled;
@@ -3024,10 +3049,11 @@
   // r in units of 1/256 rounded to nearest.
   int32_t s = static_cast<int>(256.0 * r + 0.5);
   double estimate = static_cast<double>(s) / 256.0;
-  ASSERT((estimate >= 1.0) && (estimate <= (511.0/256.0)));
+  ASSERT((estimate >= 1.0) && (estimate <= (511.0 / 256.0)));
 
   // result = 0 : result_exp<7:0> : estimate<51:29>
-  int32_t result_bits = ((result_exp & 0xff) << 23) |
+  int32_t result_bits =
+      ((result_exp & 0xff) << 23) |
       ((bit_cast<uint64_t, double>(estimate) >> 29) & 0x7fffff);
   return bit_cast<float, int32_t>(result_bits);
 }
@@ -3035,9 +3061,12 @@
 
 static float arm_recip_estimate(float a) {
   // From the ARM Architecture Reference Manual A2-85.
-  if (isinf(a) || (fabs(a) >= exp2f(126))) return 0.0;
-  else if (a == 0.0) return kPosInfinity;
-  else if (isnan(a)) return a;
+  if (isinf(a) || (fabs(a) >= exp2f(126)))
+    return 0.0;
+  else if (a == 0.0)
+    return kPosInfinity;
+  else if (isnan(a))
+    return a;
 
   uint32_t a_bits = bit_cast<uint32_t, float>(a);
   // scaled = '0011 1111 1110' : a<22:0> : Zeros(29)
@@ -3057,7 +3086,7 @@
   // r in units of 1/256 rounded to nearest.
   int32_t s = static_cast<int32_t>(256.0 * r + 0.5);
   double estimate = static_cast<double>(s) / 256.0;
-  ASSERT((estimate >= 1.0) && (estimate <= (511.0/256.0)));
+  ASSERT((estimate >= 1.0) && (estimate <= (511.0 / 256.0)));
 
   // result = sign : result_exp<7:0> : estimate<51:29>
   int32_t result_bits =
@@ -3217,8 +3246,9 @@
     // Format(instr, "scvtfd'sf 'vd, 'rn");
     const int64_t rn_val64 = get_register(rn, instr->RnMode());
     const int32_t rn_val32 = get_wregister(rn, instr->RnMode());
-    const double vn_dbl = (instr->SFField() == 1) ?
-        static_cast<double>(rn_val64) : static_cast<double>(rn_val32);
+    const double vn_dbl = (instr->SFField() == 1)
+                              ? static_cast<double>(rn_val64)
+                              : static_cast<double>(rn_val32);
     set_vregisterd(vd, 0, bit_cast<int64_t, double>(vn_dbl));
     set_vregisterd(vd, 1, 0);
   } else if (instr->Bits(16, 5) == 6) {
@@ -3605,10 +3635,10 @@
   set_register(NULL, kExceptionObjectReg, bit_cast<int64_t>(raw_exception));
   set_register(NULL, kStackTraceObjectReg, bit_cast<int64_t>(raw_stacktrace));
   // Restore pool pointer.
-  int64_t code = *reinterpret_cast<int64_t*>(
-      fp + kPcMarkerSlotFromFp * kWordSize);
-  int64_t pp = *reinterpret_cast<int64_t*>(
-      code + Code::object_pool_offset() - kHeapObjectTag);
+  int64_t code =
+      *reinterpret_cast<int64_t*>(fp + kPcMarkerSlotFromFp * kWordSize);
+  int64_t pp = *reinterpret_cast<int64_t*>(code + Code::object_pool_offset() -
+                                           kHeapObjectTag);
   pp -= kHeapObjectTag;  // In the PP register, the pool pointer is untagged.
   set_register(NULL, CODE_REG, code);
   set_register(NULL, PP, pp);
diff --git a/runtime/vm/simulator_arm64.h b/runtime/vm/simulator_arm64.h
index 406976a..79f9ced 100644
--- a/runtime/vm/simulator_arm64.h
+++ b/runtime/vm/simulator_arm64.h
@@ -50,8 +50,10 @@
   // specifying the type. We also can't translate a dummy value for SPREG into
   // a real value because the architecture independent code expects SPREG to
   // be a real register value.
-  void set_register(
-      Instr* instr, Register reg, int64_t value, R31Type r31t = R31IsSP);
+  void set_register(Instr* instr,
+                    Register reg,
+                    int64_t value,
+                    R31Type r31t = R31IsSP);
   int64_t get_register(Register reg, R31Type r31t = R31IsSP) const;
   void set_wregister(Register reg, int32_t value, R31Type r31t = R31IsSP);
   int32_t get_wregister(Register reg, R31Type r31t = R31IsSP) const;
@@ -65,9 +67,7 @@
   void get_vregister(VRegister reg, simd_value_t* value) const;
   void set_vregister(VRegister reg, const simd_value_t& value);
 
-  int64_t get_sp() const {
-    return get_register(SPREG);
-  }
+  int64_t get_sp() const { return get_register(SPREG); }
 
   int64_t get_pc() const;
   int64_t get_last_pc() const;
@@ -165,9 +165,7 @@
   int64_t break_instr_;
 
   // Illegal memory access support.
-  static bool IsIllegalAddress(uword addr) {
-    return addr < 64*1024;
-  }
+  static bool IsIllegalAddress(uword addr) { return addr < 64 * 1024; }
   void HandleIllegalAccess(uword addr, Instr* instr);
 
   // Handles an unaligned memory access.
@@ -232,8 +230,10 @@
 
   void SetNZFlagsX(int64_t val);
   bool CarryFromX(int64_t alu_out, int64_t left, int64_t right, bool addition);
-  bool OverflowFromX(
-      int64_t alu_out, int64_t left, int64_t right, bool addition);
+  bool OverflowFromX(int64_t alu_out,
+                     int64_t left,
+                     int64_t right,
+                     bool addition);
 
   void SetCFlag(bool val);
   void SetVFlag(bool val);
@@ -256,10 +256,9 @@
 
   // Decode instructions.
   void InstructionDecode(Instr* instr);
-  #define DECODE_OP(op)                                                        \
-    void Decode##op(Instr* instr);
+#define DECODE_OP(op) void Decode##op(Instr* instr);
   APPLY_OP_LIST(DECODE_OP)
-  #undef DECODE_OP
+#undef DECODE_OP
 
   // Executes ARM64 instructions until the PC reaches kEndSimulatingPC.
   void Execute();
@@ -268,9 +267,7 @@
   bool IsTracingExecution() const;
 
   // Longjmp support for exceptions.
-  SimulatorSetjmpBuffer* last_setjmp_buffer() {
-    return last_setjmp_buffer_;
-  }
+  SimulatorSetjmpBuffer* last_setjmp_buffer() { return last_setjmp_buffer_; }
   void set_last_setjmp_buffer(SimulatorSetjmpBuffer* buffer) {
     last_setjmp_buffer_ = buffer;
   }
diff --git a/runtime/vm/simulator_dbc.cc b/runtime/vm/simulator_dbc.cc
index a34d93b..0ac2ae9 100644
--- a/runtime/vm/simulator_dbc.cc
+++ b/runtime/vm/simulator_dbc.cc
@@ -32,9 +32,13 @@
 
 namespace dart {
 
-DEFINE_FLAG(uint64_t, trace_sim_after, ULLONG_MAX,
+DEFINE_FLAG(uint64_t,
+            trace_sim_after,
+            ULLONG_MAX,
             "Trace simulator execution after instruction count reached.");
-DEFINE_FLAG(uint64_t, stop_sim_at, ULLONG_MAX,
+DEFINE_FLAG(uint64_t,
+            stop_sim_at,
+            ULLONG_MAX,
             "Instruction address or instruction count to stop simulator at.");
 
 #define LIKELY(cond) __builtin_expect((cond), 1)
@@ -97,17 +101,17 @@
 }
 
 
-#define RAW_CAST(Type, val)  (SimulatorHelpers::CastTo##Type(val))
+#define RAW_CAST(Type, val) (SimulatorHelpers::CastTo##Type(val))
 
 
 class SimulatorHelpers {
  public:
-#define DEFINE_CASTS(Type)                                              \
-    DART_FORCE_INLINE static Raw##Type* CastTo##Type(RawObject* obj) {  \
-      ASSERT((k##Type##Cid == kSmiCid) ? !obj->IsHeapObject()           \
-                                       : obj->Is##Type());              \
-      return reinterpret_cast<Raw##Type*>(obj);                         \
-    }
+#define DEFINE_CASTS(Type)                                                     \
+  DART_FORCE_INLINE static Raw##Type* CastTo##Type(RawObject* obj) {           \
+    ASSERT((k##Type##Cid == kSmiCid) ? !obj->IsHeapObject()                    \
+                                     : obj->Is##Type());                       \
+    return reinterpret_cast<Raw##Type*>(obj);                                  \
+  }
   CLASS_LIST(DEFINE_CASTS)
 #undef DEFINE_CASTS
 
@@ -132,8 +136,7 @@
     const intptr_t raw_smi_old =
         reinterpret_cast<intptr_t>(entries[offset + count_offset]);
     const intptr_t raw_smi_new = raw_smi_old + Smi::RawValue(1);
-    *reinterpret_cast<intptr_t*>(&entries[offset + count_offset]) =
-        raw_smi_new;
+    *reinterpret_cast<intptr_t*>(&entries[offset + count_offset]) = raw_smi_new;
   }
 
   DART_FORCE_INLINE static bool IsStrictEqualWithNumberCheck(RawObject* lhs,
@@ -173,10 +176,9 @@
   }
 
   DART_FORCE_INLINE static bool CheckIndex(RawSmi* index, RawSmi* length) {
-    return !index->IsHeapObject() &&
-           (reinterpret_cast<intptr_t>(index) >= 0) &&
+    return !index->IsHeapObject() && (reinterpret_cast<intptr_t>(index) >= 0) &&
            (reinterpret_cast<intptr_t>(index) <
-                reinterpret_cast<intptr_t>(length));
+            reinterpret_cast<intptr_t>(length));
   }
 
   static bool ObjectArraySetIndexed(Thread* thread,
@@ -247,9 +249,8 @@
                               RawObject** result) {
     RawObject** args = FrameArguments(FP, 1);
     RawDouble* d = static_cast<RawDouble*>(args[0]);
-    *result = isnan(d->ptr()->value_)
-            ? Bool::True().raw()
-            : Bool::False().raw();
+    *result =
+        isnan(d->ptr()->value_) ? Bool::True().raw() : Bool::False().raw();
     return true;
   }
 
@@ -258,15 +259,12 @@
                                    RawObject** result) {
     RawObject** args = FrameArguments(FP, 1);
     RawDouble* d = static_cast<RawDouble*>(args[0]);
-    *result = isinf(d->ptr()->value_)
-            ? Bool::True().raw()
-            : Bool::False().raw();
+    *result =
+        isinf(d->ptr()->value_) ? Bool::True().raw() : Bool::False().raw();
     return true;
   }
 
-  static bool ObjectEquals(Thread* thread,
-                           RawObject** FP,
-                           RawObject** result) {
+  static bool ObjectEquals(Thread* thread, RawObject** FP, RawObject** result) {
     RawObject** args = FrameArguments(FP, 2);
     *result = args[0] == args[1] ? Bool::True().raw() : Bool::False().raw();
     return true;
@@ -307,8 +305,8 @@
   static bool GetDoubleOperands(RawObject** args, double* d1, double* d2) {
     RawObject* obj2 = args[1];
     if (!obj2->IsHeapObject()) {
-      *d2 = static_cast<double>(
-          reinterpret_cast<intptr_t>(obj2) >> kSmiTagSize);
+      *d2 =
+          static_cast<double>(reinterpret_cast<intptr_t>(obj2) >> kSmiTagSize);
     } else if (obj2->GetClassId() == kDoubleCid) {
       RawDouble* obj2d = static_cast<RawDouble*>(obj2);
       *d2 = obj2d->ptr()->value_;
@@ -322,8 +320,7 @@
 
   static RawObject* AllocateDouble(Thread* thread, double value) {
     const intptr_t instance_size = Double::InstanceSize();
-    const uword start =
-        thread->heap()->new_space()->TryAllocate(instance_size);
+    const uword start = thread->heap()->new_space()->TryAllocate(instance_size);
     if (LIKELY(start != 0)) {
       uword tags = 0;
       tags = RawObject::ClassIdTag::update(kDoubleCid, tags);
@@ -335,9 +332,7 @@
     return NULL;
   }
 
-  static bool Double_add(Thread* thread,
-                         RawObject** FP,
-                         RawObject** result) {
+  static bool Double_add(Thread* thread, RawObject** FP, RawObject** result) {
     double d1, d2;
     if (!GetDoubleOperands(FrameArguments(FP, 2), &d1, &d2)) {
       return false;
@@ -350,9 +345,7 @@
     return false;
   }
 
-  static bool Double_mul(Thread* thread,
-                         RawObject** FP,
-                         RawObject** result) {
+  static bool Double_mul(Thread* thread, RawObject** FP, RawObject** result) {
     double d1, d2;
     if (!GetDoubleOperands(FrameArguments(FP, 2), &d1, &d2)) {
       return false;
@@ -365,9 +358,7 @@
     return false;
   }
 
-  static bool Double_sub(Thread* thread,
-                         RawObject** FP,
-                         RawObject** result) {
+  static bool Double_sub(Thread* thread, RawObject** FP, RawObject** result) {
     double d1, d2;
     if (!GetDoubleOperands(FrameArguments(FP, 2), &d1, &d2)) {
       return false;
@@ -380,9 +371,7 @@
     return false;
   }
 
-  static bool Double_div(Thread* thread,
-                         RawObject** FP,
-                         RawObject** result) {
+  static bool Double_div(Thread* thread, RawObject** FP, RawObject** result) {
     double d1, d2;
     if (!GetDoubleOperands(FrameArguments(FP, 2), &d1, &d2)) {
       return false;
@@ -407,8 +396,8 @@
   }
 
   static bool Double_greaterEqualThan(Thread* thread,
-                                 RawObject** FP,
-                                 RawObject** result) {
+                                      RawObject** FP,
+                                      RawObject** result) {
     double d1, d2;
     if (!GetDoubleOperands(FrameArguments(FP, 2), &d1, &d2)) {
       return false;
@@ -418,8 +407,8 @@
   }
 
   static bool Double_lessThan(Thread* thread,
-                                 RawObject** FP,
-                                 RawObject** result) {
+                              RawObject** FP,
+                              RawObject** result) {
     double d1, d2;
     if (!GetDoubleOperands(FrameArguments(FP, 2), &d1, &d2)) {
       return false;
@@ -428,9 +417,7 @@
     return true;
   }
 
-  static bool Double_equal(Thread* thread,
-                                 RawObject** FP,
-                                 RawObject** result) {
+  static bool Double_equal(Thread* thread, RawObject** FP, RawObject** result) {
     double d1, d2;
     if (!GetDoubleOperands(FrameArguments(FP, 2), &d1, &d2)) {
       return false;
@@ -440,8 +427,8 @@
   }
 
   static bool Double_lessEqualThan(Thread* thread,
-                                 RawObject** FP,
-                                 RawObject** result) {
+                                   RawObject** FP,
+                                   RawObject** result) {
     double d1, d2;
     if (!GetDoubleOperands(FrameArguments(FP, 2), &d1, &d2)) {
       return false;
@@ -461,8 +448,8 @@
     FP[kPcMarkerSlotFromFp] = code;
   }
 
-  DART_FORCE_INLINE static uint8_t* GetTypedData(
-      RawObject* obj, RawObject* index) {
+  DART_FORCE_INLINE static uint8_t* GetTypedData(RawObject* obj,
+                                                 RawObject* index) {
     ASSERT(RawObject::IsTypedDataClassId(obj->GetClassId()));
     RawTypedData* array = reinterpret_cast<RawTypedData*>(obj);
     const intptr_t byte_offset = Smi::Value(RAW_CAST(Smi, index));
@@ -501,40 +488,29 @@
       SimulatorHelpers::GrowableArraySetIndexed;
   intrinsics_[kGrowableArrayGetIndexedIntrinsic] =
       SimulatorHelpers::GrowableArrayGetIndexed;
-  intrinsics_[kObjectEqualsIntrinsic] =
-      SimulatorHelpers::ObjectEquals;
+  intrinsics_[kObjectEqualsIntrinsic] = SimulatorHelpers::ObjectEquals;
   intrinsics_[kObjectRuntimeTypeIntrinsic] =
       SimulatorHelpers::ObjectRuntimeType;
 
-  intrinsics_[kDouble_getIsNaNIntrinsic] =
-      SimulatorHelpers::Double_getIsNan;
+  intrinsics_[kDouble_getIsNaNIntrinsic] = SimulatorHelpers::Double_getIsNan;
   intrinsics_[kDouble_getIsInfiniteIntrinsic] =
       SimulatorHelpers::Double_getIsInfinite;
-  intrinsics_[kDouble_addIntrinsic] =
-      SimulatorHelpers::Double_add;
-  intrinsics_[kDouble_mulIntrinsic] =
-      SimulatorHelpers::Double_mul;
-  intrinsics_[kDouble_subIntrinsic] =
-      SimulatorHelpers::Double_sub;
-  intrinsics_[kDouble_divIntrinsic] =
-      SimulatorHelpers::Double_div;
+  intrinsics_[kDouble_addIntrinsic] = SimulatorHelpers::Double_add;
+  intrinsics_[kDouble_mulIntrinsic] = SimulatorHelpers::Double_mul;
+  intrinsics_[kDouble_subIntrinsic] = SimulatorHelpers::Double_sub;
+  intrinsics_[kDouble_divIntrinsic] = SimulatorHelpers::Double_div;
   intrinsics_[kDouble_greaterThanIntrinsic] =
       SimulatorHelpers::Double_greaterThan;
   intrinsics_[kDouble_greaterEqualThanIntrinsic] =
       SimulatorHelpers::Double_greaterEqualThan;
-  intrinsics_[kDouble_lessThanIntrinsic] =
-      SimulatorHelpers::Double_lessThan;
-  intrinsics_[kDouble_equalIntrinsic] =
-      SimulatorHelpers::Double_equal;
+  intrinsics_[kDouble_lessThanIntrinsic] = SimulatorHelpers::Double_lessThan;
+  intrinsics_[kDouble_equalIntrinsic] = SimulatorHelpers::Double_equal;
   intrinsics_[kDouble_lessEqualThanIntrinsic] =
       SimulatorHelpers::Double_lessEqualThan;
 }
 
 
-Simulator::Simulator()
-    : stack_(NULL),
-      fp_(NULL),
-      sp_(NULL) {
+Simulator::Simulator() : stack_(NULL), fp_(NULL), sp_(NULL) {
   // Setup simulator support first. Some of this information is needed to
   // setup the architecture state.
   // We allocate the stack here, the size is computed as the sum of
@@ -726,7 +702,7 @@
 
 
 #define SMI_MUL(lhs, rhs, pres) SignedMulWithOverflow((lhs), (rhs) >> 1, pres)
-#define SMI_COND(cond, lhs, rhs, pres) \
+#define SMI_COND(cond, lhs, rhs, pres)                                         \
   ((*(pres) = ((lhs cond rhs) ? true_value : false_value)), false)
 #define SMI_EQ(lhs, rhs, pres) SMI_COND(==, lhs, rhs, pres)
 #define SMI_LT(lhs, rhs, pres) SMI_COND(<, lhs, rhs, pres)
@@ -825,14 +801,8 @@
   // Handler arguments: arguments to check and an ICData object.
   const intptr_t miss_handler_argc = checked_args + 1;
   RawObject** exit_frame = miss_handler_args + miss_handler_argc;
-  CallRuntime(thread,
-              FP,
-              exit_frame,
-              pc,
-              miss_handler_argc,
-              miss_handler_args,
-              result,
-              reinterpret_cast<uword>(handler));
+  CallRuntime(thread, FP, exit_frame, pc, miss_handler_argc, miss_handler_args,
+              result, reinterpret_cast<uword>(handler));
 }
 
 
@@ -857,8 +827,7 @@
   bool found = false;
   const intptr_t length = Smi::Value(cache->length_);
   intptr_t i;
-  for (i = 0;
-       i < (length - (kCheckedArgs + 2)); i += (kCheckedArgs + 2)) {
+  for (i = 0; i < (length - (kCheckedArgs + 2)); i += (kCheckedArgs + 2)) {
     if (cache->data()[i + 0] == receiver_cid) {
       top[0] = cache->data()[i + kCheckedArgs];
       found = true;
@@ -871,8 +840,8 @@
       SimulatorHelpers::IncrementICUsageCount(cache->data(), i, kCheckedArgs);
     }
   } else {
-    InlineCacheMiss(
-        kCheckedArgs, thread, icdata, call_base, top, *pc, *FP, *SP);
+    InlineCacheMiss(kCheckedArgs, thread, icdata, call_base, top, *pc, *FP,
+                    *SP);
   }
 
   *argdesc = icdata->ptr()->args_descriptor_;
@@ -902,8 +871,7 @@
   bool found = false;
   const intptr_t length = Smi::Value(cache->length_);
   intptr_t i;
-  for (i = 0;
-       i < (length - (kCheckedArgs + 2)); i += (kCheckedArgs + 2)) {
+  for (i = 0; i < (length - (kCheckedArgs + 2)); i += (kCheckedArgs + 2)) {
     if ((cache->data()[i + 0] == receiver_cid) &&
         (cache->data()[i + 1] == arg0_cid)) {
       top[0] = cache->data()[i + kCheckedArgs];
@@ -917,8 +885,8 @@
       SimulatorHelpers::IncrementICUsageCount(cache->data(), i, kCheckedArgs);
     }
   } else {
-    InlineCacheMiss(
-        kCheckedArgs, thread, icdata, call_base, top, *pc, *FP, *SP);
+    InlineCacheMiss(kCheckedArgs, thread, icdata, call_base, top, *pc, *FP,
+                    *SP);
   }
 
   *argdesc = icdata->ptr()->args_descriptor_;
@@ -929,11 +897,10 @@
 // Note: functions below are marked DART_NOINLINE to recover performance on
 // ARM where inlining these functions into the interpreter loop seemed to cause
 // some code quality issues.
-static DART_NOINLINE bool InvokeRuntime(
-    Thread* thread,
-    Simulator* sim,
-    RuntimeFunction drt,
-    const NativeArguments& args) {
+static DART_NOINLINE bool InvokeRuntime(Thread* thread,
+                                        Simulator* sim,
+                                        RuntimeFunction drt,
+                                        const NativeArguments& args) {
   SimulatorSetjmpBuffer buffer(sim);
   if (!setjmp(buffer.buffer_)) {
     thread->set_vm_tag(reinterpret_cast<uword>(drt));
@@ -947,11 +914,10 @@
 }
 
 
-static DART_NOINLINE bool InvokeNative(
-    Thread* thread,
-    Simulator* sim,
-    SimulatorBootstrapNativeCall f,
-    NativeArguments* args) {
+static DART_NOINLINE bool InvokeNative(Thread* thread,
+                                       Simulator* sim,
+                                       SimulatorBootstrapNativeCall f,
+                                       NativeArguments* args) {
   SimulatorSetjmpBuffer buffer(sim);
   if (!setjmp(buffer.buffer_)) {
     thread->set_vm_tag(reinterpret_cast<uword>(f));
@@ -965,11 +931,10 @@
 }
 
 
-static DART_NOINLINE bool InvokeNativeWrapper(
-    Thread* thread,
-    Simulator* sim,
-    Dart_NativeFunction f,
-    NativeArguments* args) {
+static DART_NOINLINE bool InvokeNativeWrapper(Thread* thread,
+                                              Simulator* sim,
+                                              Dart_NativeFunction f,
+                                              NativeArguments* args) {
   SimulatorSetjmpBuffer buffer(sim);
   if (!setjmp(buffer.buffer_)) {
     thread->set_vm_tag(reinterpret_cast<uword>(f));
@@ -987,29 +952,32 @@
 
 // Decode opcode and A part of the given value and dispatch to the
 // corresponding bytecode handler.
-#define DISPATCH_OP(val)         \
-  do {                           \
-    op = (val);                \
-    rA = ((op >> 8) & 0xFF);   \
-    goto* dispatch[op & 0xFF]; \
+#define DISPATCH_OP(val)                                                       \
+  do {                                                                         \
+    op = (val);                                                                \
+    rA = ((op >> 8) & 0xFF);                                                   \
+    goto* dispatch[op & 0xFF];                                                 \
   } while (0)
 
 // Fetch next operation from PC, increment program counter and dispatch.
 #define DISPATCH() DISPATCH_OP(*pc++)
 
 // Define entry point that handles bytecode Name with the given operand format.
-#define BYTECODE(Name, Operands) \
+#define BYTECODE(Name, Operands)                                               \
   BYTECODE_HEADER(Name, DECLARE_##Operands, DECODE_##Operands)
 
-#define BYTECODE_HEADER(Name, Declare, Decode) \
-  Declare;                                     \
-  bc##Name : Decode                            \
+#define BYTECODE_HEADER(Name, Declare, Decode)                                 \
+  Declare;                                                                     \
+  bc##Name : Decode
 
 // Helpers to decode common instruction formats. Used in conjunction with
 // BYTECODE() macro.
-#define DECLARE_A_B_C uint16_t rB, rC; USE(rB); USE(rC)
-#define DECODE_A_B_C \
-  rB = ((op >> Bytecode::kBShift) & Bytecode::kBMask);    \
+#define DECLARE_A_B_C                                                          \
+  uint16_t rB, rC;                                                             \
+  USE(rB);                                                                     \
+  USE(rC)
+#define DECODE_A_B_C                                                           \
+  rB = ((op >> Bytecode::kBShift) & Bytecode::kBMask);                         \
   rC = ((op >> Bytecode::kCShift) & Bytecode::kCMask);
 
 #define DECLARE_0
@@ -1018,13 +986,17 @@
 #define DECLARE_A
 #define DECODE_A
 
-#define DECLARE___D uint32_t rD; USE(rD)
+#define DECLARE___D                                                            \
+  uint32_t rD;                                                                 \
+  USE(rD)
 #define DECODE___D rD = (op >> Bytecode::kDShift);
 
 #define DECLARE_A_D DECLARE___D
 #define DECODE_A_D DECODE___D
 
-#define DECLARE_A_X int32_t rD; USE(rD)
+#define DECLARE_A_X                                                            \
+  int32_t rD;                                                                  \
+  USE(rD)
 #define DECODE_A_X rD = (static_cast<int32_t>(op) >> Bytecode::kDShift);
 
 
@@ -1035,7 +1007,7 @@
     const RawICData* icdata = RAW_CAST(ICData, LOAD_CONSTANT(kidx));           \
     RawObject** entries = icdata->ptr()->ic_data_->ptr()->data();              \
     SimulatorHelpers::IncrementICUsageCount(entries, 0, 2);                    \
-  } while (0);                                                                 \
+  } while (0);
 
 // Declare bytecode handler for a smi operation (e.g. AddTOS) with the
 // given result type and the given behavior specified as a function
@@ -1047,8 +1019,7 @@
     const intptr_t rhs = reinterpret_cast<intptr_t>(SP[-0]);                   \
     ResultT* slot = reinterpret_cast<ResultT*>(SP - 1);                        \
     if (LIKELY(!thread->isolate()->single_step()) &&                           \
-        LIKELY(AreBothSmis(lhs, rhs) &&                                        \
-        !Func(lhs, rhs, slot))) {                                              \
+        LIKELY(AreBothSmis(lhs, rhs) && !Func(lhs, rhs, slot))) {              \
       SMI_FASTPATH_ICDATA_INC;                                                 \
       /* Fast path succeeded. Skip the generic call that follows. */           \
       pc++;                                                                    \
@@ -1076,7 +1047,7 @@
     const intptr_t rhs = reinterpret_cast<intptr_t>(FP[rC]);                   \
     ResultT* slot = reinterpret_cast<ResultT*>(&FP[rA]);                       \
     Func(lhs, rhs, slot);                                                      \
-  }                                                                            \
+  }
 
 
 // Exception handling helper. Gets handler FP and PC from the Simulator where
@@ -1088,7 +1059,7 @@
   do {                                                                         \
     FP = reinterpret_cast<RawObject**>(fp_);                                   \
     pc = reinterpret_cast<uint32_t*>(pc_);                                     \
-    if ((reinterpret_cast<uword>(pc) & 2) != 0) {  /* Entry frame? */          \
+    if ((reinterpret_cast<uword>(pc) & 2) != 0) { /* Entry frame? */           \
       fp_ = sp_ = reinterpret_cast<RawObject**>(fp_[0]);                       \
       thread->set_top_exit_frame_info(reinterpret_cast<uword>(sp_));           \
       thread->set_top_resource(top_resource);                                  \
@@ -1097,23 +1068,23 @@
     }                                                                          \
     pp = SimulatorHelpers::FrameCode(FP)->ptr()->object_pool_->ptr();          \
     goto DispatchAfterException;                                               \
-  } while (0)                                                                  \
+  } while (0)
 
 // Runtime call helpers: handle invocation and potential exception after return.
-#define INVOKE_RUNTIME(Func, Args)                \
-  if (!InvokeRuntime(thread, this, Func, Args)) { \
-    HANDLE_EXCEPTION;                             \
-  }                                               \
+#define INVOKE_RUNTIME(Func, Args)                                             \
+  if (!InvokeRuntime(thread, this, Func, Args)) {                              \
+    HANDLE_EXCEPTION;                                                          \
+  }
 
-#define INVOKE_NATIVE(Func, Args)                 \
-  if (!InvokeNative(thread, this, Func, &Args)) { \
-    HANDLE_EXCEPTION;                             \
-  }                                               \
+#define INVOKE_NATIVE(Func, Args)                                              \
+  if (!InvokeNative(thread, this, Func, &Args)) {                              \
+    HANDLE_EXCEPTION;                                                          \
+  }
 
-#define INVOKE_NATIVE_WRAPPER(Func, Args)                \
-  if (!InvokeNativeWrapper(thread, this, Func, &Args)) { \
-    HANDLE_EXCEPTION;                                    \
-  }                                                      \
+#define INVOKE_NATIVE_WRAPPER(Func, Args)                                      \
+  if (!InvokeNativeWrapper(thread, this, Func, &Args)) {                       \
+    HANDLE_EXCEPTION;                                                          \
+  }
 
 #define LOAD_CONSTANT(index) (pp->data()[(index)].raw_obj_)
 
@@ -1130,10 +1101,10 @@
   };
 
   // Interpreter state (see constants_dbc.h for high-level overview).
-  uint32_t* pc;  // Program Counter: points to the next op to execute.
+  uint32_t* pc;       // Program Counter: points to the next op to execute.
   RawObjectPool* pp;  // Pool Pointer.
-  RawObject** FP;  // Frame Pointer.
-  RawObject** SP;  // Stack Pointer.
+  RawObject** FP;     // Frame Pointer.
+  RawObject** SP;     // Stack Pointer.
 
   RawArray* argdesc;  // Arguments Descriptor: used to pass information between
                       // call instruction and the function entry.
@@ -1301,7 +1272,7 @@
       // descriptor.
       RawObject** argdesc_data = argdesc->ptr()->data();
 
-      intptr_t i = named_count - 1;  // argument position
+      intptr_t i = named_count - 1;           // argument position
       intptr_t j = num_opt_named_params - 1;  // parameter position
       while ((j >= 0) && (i >= 0)) {
         // Fetch formal parameter information: name, default value, target slot.
@@ -1365,8 +1336,7 @@
       // Process the list of default values encoded as a sequence of
       // LoadConstant instructions after EntryOpt bytecode.
       // Execute only those that correspond to parameters the were not passed.
-      for (intptr_t i = pos_count - num_fixed_params;
-           i < num_opt_pos_params;
+      for (intptr_t i = pos_count - num_fixed_params; i < num_opt_pos_params;
            i++) {
         const uint32_t load_value = pc[i];
         ASSERT(Bytecode::DecodeOpcode(load_value) == Bytecode::kLoadConstant);
@@ -1428,7 +1398,7 @@
     BYTECODE(HotCheck, A_D);
     const uint8_t increment = rA;
     const uint16_t threshold = rD;
-    RawFunction* f =  FrameFunction(FP);
+    RawFunction* f = FrameFunction(FP);
     int32_t counter = f->ptr()->usage_counter_;
     // Note: we don't increment usage counter in the prologue of optimized
     // functions.
@@ -1673,8 +1643,7 @@
       RawICData* ic_data = RAW_CAST(ICData, ic_data_obj);
       RawObject** data = ic_data->ptr()->ic_data_->ptr()->data();
       SimulatorHelpers::IncrementICUsageCount(data, 0, 0);
-      SP[0] = data[ICData::TargetIndexFor(
-          ic_data->ptr()->state_bits_ & 0x3)];
+      SP[0] = data[ICData::TargetIndexFor(ic_data->ptr()->state_bits_ & 0x3)];
       RawObject** call_base = SP - argc;
       RawObject** call_top = SP;  // *SP contains function
       argdesc = static_cast<RawArray*>(LOAD_CONSTANT(rD));
@@ -1714,9 +1683,8 @@
       RawICData* icdata = RAW_CAST(ICData, LOAD_CONSTANT(kidx));
       SimulatorHelpers::IncrementUsageCounter(
           RAW_CAST(Function, icdata->ptr()->owner_));
-      InstanceCall1(thread, icdata, call_base, call_top,
-                    &argdesc, &pp, &pc, &FP, &SP,
-                    false /* optimized */);
+      InstanceCall1(thread, icdata, call_base, call_top, &argdesc, &pp, &pc,
+                    &FP, &SP, false /* optimized */);
     }
 
     DISPATCH();
@@ -1740,9 +1708,8 @@
       RawICData* icdata = RAW_CAST(ICData, LOAD_CONSTANT(kidx));
       SimulatorHelpers::IncrementUsageCounter(
           RAW_CAST(Function, icdata->ptr()->owner_));
-      InstanceCall2(thread, icdata, call_base, call_top,
-                    &argdesc, &pp, &pc, &FP, &SP,
-                    false /* optimized */);
+      InstanceCall2(thread, icdata, call_base, call_top, &argdesc, &pp, &pc,
+                    &FP, &SP, false /* optimized */);
     }
 
     DISPATCH();
@@ -1760,9 +1727,8 @@
 
       RawICData* icdata = RAW_CAST(ICData, LOAD_CONSTANT(kidx));
       SimulatorHelpers::IncrementUsageCounter(FrameFunction(FP));
-      InstanceCall1(thread, icdata, call_base, call_top,
-                    &argdesc, &pp, &pc, &FP, &SP,
-                    true /* optimized */);
+      InstanceCall1(thread, icdata, call_base, call_top, &argdesc, &pp, &pc,
+                    &FP, &SP, true /* optimized */);
     }
 
     DISPATCH();
@@ -1780,9 +1746,8 @@
 
       RawICData* icdata = RAW_CAST(ICData, LOAD_CONSTANT(kidx));
       SimulatorHelpers::IncrementUsageCounter(FrameFunction(FP));
-      InstanceCall2(thread, icdata, call_base, call_top,
-                    &argdesc, &pp, &pc, &FP, &SP,
-                    true /* optimized */);
+      InstanceCall2(thread, icdata, call_base, call_top, &argdesc, &pp, &pc,
+                    &FP, &SP, true /* optimized */);
     }
 
     DISPATCH();
@@ -1794,7 +1759,7 @@
     const intptr_t cids_length = rD;
     RawObject** args = SP - argc + 1;
     const intptr_t receiver_cid = SimulatorHelpers::GetClassId(args[0]);
-    for (intptr_t i = 0; i < 2*cids_length; i+=2) {
+    for (intptr_t i = 0; i < 2 * cids_length; i += 2) {
       const intptr_t icdata_cid = Bytecode::DecodeD(*(pc + i));
       if (receiver_cid == icdata_cid) {
         RawFunction* target =
@@ -1980,8 +1945,8 @@
     const intptr_t rhs = reinterpret_cast<intptr_t>(FP[rC]);
     if (rhs != 0) {
       const intptr_t lhs = reinterpret_cast<intptr_t>(FP[rB]);
-      const intptr_t res =
-          ((lhs >> kSmiTagSize) % (rhs >> kSmiTagSize)) << kSmiTagSize;
+      const intptr_t res = ((lhs >> kSmiTagSize) % (rhs >> kSmiTagSize))
+                           << kSmiTagSize;
       *reinterpret_cast<intptr_t*>(&FP[rA]) =
           (res < 0) ? ((rhs < 0) ? (res - rhs) : (res + rhs)) : res;
       pc++;
@@ -2010,8 +1975,8 @@
       const intptr_t shift_amount =
           (rhs >= kBitsPerWord) ? (kBitsPerWord - 1) : rhs;
       const intptr_t lhs = reinterpret_cast<intptr_t>(FP[rB]) >> kSmiTagSize;
-      *reinterpret_cast<intptr_t*>(&FP[rA]) =
-          (lhs >> shift_amount) << kSmiTagSize;
+      *reinterpret_cast<intptr_t*>(&FP[rA]) = (lhs >> shift_amount)
+                                              << kSmiTagSize;
       pc++;
     }
     DISPATCH();
@@ -2365,7 +2330,7 @@
     FP[rA] = Smi::New(static_cast<intptr_t>(value32));
     DISPATCH();
   }
-#else  // defined(ARCH_IS_64_BIT)
+#else   // defined(ARCH_IS_64_BIT)
   {
     BYTECODE(WriteIntoDouble, A_D);
     UNIMPLEMENTED();
@@ -2590,7 +2555,7 @@
 
     BYTECODE(ReturnTOS, 0);
     result = *SP;
-    // Fall through to the ReturnImpl.
+  // Fall through to the ReturnImpl.
 
   ReturnImpl:
     // Restore caller PC.
@@ -2732,8 +2697,7 @@
     BYTECODE(AllocateUninitializedContext, A_D);
     const uint16_t num_context_variables = rD;
     const intptr_t instance_size = Context::InstanceSize(num_context_variables);
-    const uword start =
-        thread->heap()->new_space()->TryAllocate(instance_size);
+    const uword start = thread->heap()->new_space()->TryAllocate(instance_size);
     if (LIKELY(start != 0)) {
       uword tags = 0;
       tags = RawObject::ClassIdTag::update(kContextCid, tags);
@@ -2780,8 +2744,7 @@
     if (LIKELY(start != 0)) {
       *reinterpret_cast<uword*>(start + Instance::tags_offset()) = tags;
       for (intptr_t current_offset = sizeof(RawInstance);
-           current_offset < instance_size;
-           current_offset += kWordSize) {
+           current_offset < instance_size; current_offset += kWordSize) {
         *reinterpret_cast<RawObject**>(start + current_offset) = null_value;
       }
       FP[rA] = reinterpret_cast<RawObject*>(start + kHeapObjectTag);
@@ -2792,9 +2755,9 @@
 
   {
     BYTECODE(Allocate, A_D);
-    SP[1] = 0;  // Space for the result.
+    SP[1] = 0;                  // Space for the result.
     SP[2] = LOAD_CONSTANT(rD);  // Class object.
-    SP[3] = null_value;  // Type arguments.
+    SP[3] = null_value;         // Type arguments.
     Exit(thread, FP, SP + 4, pc);
     NativeArguments args(thread, 2, SP + 2, SP + 1);
     INVOKE_RUNTIME(DRT_AllocateObject, args);
@@ -2812,8 +2775,7 @@
       const intptr_t type_args_offset = Bytecode::DecodeD(*pc);
       *reinterpret_cast<uword*>(start + Instance::tags_offset()) = tags;
       for (intptr_t current_offset = sizeof(RawInstance);
-           current_offset < instance_size;
-           current_offset += kWordSize) {
+           current_offset < instance_size; current_offset += kWordSize) {
         *reinterpret_cast<RawObject**>(start + current_offset) = null_value;
       }
       *reinterpret_cast<RawObject**>(start + type_args_offset) = type_args;
@@ -2838,10 +2800,10 @@
   {
     BYTECODE(CreateArrayOpt, A_B_C);
     const intptr_t length = Smi::Value(RAW_CAST(Smi, FP[rB]));
-    if (LIKELY(length <= Array::kMaxElements)) {
+    if (LIKELY(static_cast<uintptr_t>(length) <= Array::kMaxElements)) {
       const intptr_t fixed_size = sizeof(RawArray) + kObjectAlignment - 1;
       const intptr_t instance_size =
-          (fixed_size + length*kWordSize) & ~(kObjectAlignment - 1);
+          (fixed_size + length * kWordSize) & ~(kObjectAlignment - 1);
       const uword start =
           thread->heap()->new_space()->TryAllocate(instance_size);
       if (LIKELY(start != 0)) {
@@ -2899,15 +2861,13 @@
       } else {
         instance_cid_or_function = Smi::New(cid);
 
-        RawClass* instance_class =
-            thread->isolate()->class_table()->At(cid);
+        RawClass* instance_class = thread->isolate()->class_table()->At(cid);
         if (instance_class->ptr()->num_type_arguments_ < 0) {
           goto InstanceOfCallRuntime;
         } else if (instance_class->ptr()->num_type_arguments_ > 0) {
           instance_type_arguments = reinterpret_cast<RawTypeArguments**>(
-              instance
-                  ->ptr())[instance_class->ptr()
-                               ->type_arguments_field_offset_in_words_];
+              instance->ptr())[instance_class->ptr()
+                                   ->type_arguments_field_offset_in_words_];
         }
       }
 
@@ -2915,17 +2875,18 @@
            entries[0] != null_value;
            entries += SubtypeTestCache::kTestEntryLength) {
         if ((entries[SubtypeTestCache::kInstanceClassIdOrFunction] ==
-                instance_cid_or_function) &&
+             instance_cid_or_function) &&
             (entries[SubtypeTestCache::kInstanceTypeArguments] ==
-                instance_type_arguments) &&
+             instance_type_arguments) &&
             (entries[SubtypeTestCache::kInstantiatorTypeArguments] ==
-                instantiator_type_arguments)) {
+             instantiator_type_arguments)) {
           SP[-3] = entries[SubtypeTestCache::kTestResult];
           goto InstanceOfOk;
         }
       }
     }
 
+  // clang-format off
   InstanceOfCallRuntime:
     {
       SP[1] = instance;
@@ -2936,6 +2897,7 @@
       NativeArguments native_args(thread, 4, SP + 1, SP - 3);
       INVOKE_RUNTIME(DRT_Instanceof, native_args);
     }
+  // clang-format on
 
   InstanceOfOk:
     SP -= 3;
@@ -2988,15 +2950,13 @@
         } else {
           instance_cid_or_function = Smi::New(cid);
 
-          RawClass* instance_class =
-              thread->isolate()->class_table()->At(cid);
+          RawClass* instance_class = thread->isolate()->class_table()->At(cid);
           if (instance_class->ptr()->num_type_arguments_ < 0) {
             goto AssertAssignableCallRuntime;
           } else if (instance_class->ptr()->num_type_arguments_ > 0) {
             instance_type_arguments = reinterpret_cast<RawTypeArguments**>(
-                instance
-                    ->ptr())[instance_class->ptr()
-                                 ->type_arguments_field_offset_in_words_];
+                instance->ptr())[instance_class->ptr()
+                                     ->type_arguments_field_offset_in_words_];
           }
         }
 
@@ -3004,11 +2964,11 @@
              entries[0] != null_value;
              entries += SubtypeTestCache::kTestEntryLength) {
           if ((entries[SubtypeTestCache::kInstanceClassIdOrFunction] ==
-                  instance_cid_or_function) &&
+               instance_cid_or_function) &&
               (entries[SubtypeTestCache::kInstanceTypeArguments] ==
-                  instance_type_arguments) &&
+               instance_type_arguments) &&
               (entries[SubtypeTestCache::kInstantiatorTypeArguments] ==
-                  instantiator_type_arguments)) {
+               instantiator_type_arguments)) {
             if (true_value == entries[SubtypeTestCache::kTestResult]) {
               goto AssertAssignableOk;
             } else {
@@ -3360,7 +3320,7 @@
     pc += (lhs > rhs) ? 0 : 1;
     DISPATCH();
   }
-#else  // defined(ARCH_IS_64_BIT)
+#else   // defined(ARCH_IS_64_BIT)
   {
     BYTECODE(IfDEq, A_D);
     UNREACHABLE();
@@ -3677,9 +3637,8 @@
     pc = SavedCallerPC(FP);
 
     const bool has_dart_caller = (reinterpret_cast<uword>(pc) & 2) == 0;
-    const intptr_t argc = has_dart_caller
-                              ? Bytecode::DecodeArgc(pc[-1])
-                              : (reinterpret_cast<uword>(pc) >> 2);
+    const intptr_t argc = has_dart_caller ? Bytecode::DecodeArgc(pc[-1])
+                                          : (reinterpret_cast<uword>(pc) >> 2);
 
     SP = FrameArguments(FP, 0);
     RawObject** args = SP - argc;
diff --git a/runtime/vm/simulator_dbc.h b/runtime/vm/simulator_dbc.h
index 4e2f649..8acdbce 100644
--- a/runtime/vm/simulator_dbc.h
+++ b/runtime/vm/simulator_dbc.h
@@ -76,12 +76,11 @@
   uword get_pc() const { return reinterpret_cast<uword>(pc_); }
 
   enum IntrinsicId {
-#define V(test_class_name, test_function_name, enum_name, type, fp) \
-    k##enum_name##Intrinsic,
-  ALL_INTRINSICS_LIST(V)
-  GRAPH_INTRINSICS_LIST(V)
+#define V(test_class_name, test_function_name, enum_name, type, fp)            \
+  k##enum_name##Intrinsic,
+    ALL_INTRINSICS_LIST(V) GRAPH_INTRINSICS_LIST(V)
 #undef V
-    kIntrinsicCount,
+        kIntrinsicCount,
   };
 
   static bool IsSupportedIntrinsic(IntrinsicId id) {
@@ -136,7 +135,8 @@
                        RawObject** call_base,
                        RawObject** top,
                        uint32_t* pc,
-                       RawObject** FP, RawObject** SP);
+                       RawObject** FP,
+                       RawObject** SP);
 
   void InstanceCall1(Thread* thread,
                      RawICData* icdata,
@@ -145,7 +145,8 @@
                      RawArray** argdesc,
                      RawObjectPool** pp,
                      uint32_t** pc,
-                     RawObject*** FP, RawObject*** SP,
+                     RawObject*** FP,
+                     RawObject*** SP,
                      bool optimized);
 
   void InstanceCall2(Thread* thread,
@@ -155,13 +156,12 @@
                      RawArray** argdesc,
                      RawObjectPool** pp,
                      uint32_t** pc,
-                     RawObject*** FP, RawObject*** SP,
+                     RawObject*** FP,
+                     RawObject*** SP,
                      bool optimized);
 
   // Longjmp support for exceptions.
-  SimulatorSetjmpBuffer* last_setjmp_buffer() {
-    return last_setjmp_buffer_;
-  }
+  SimulatorSetjmpBuffer* last_setjmp_buffer() { return last_setjmp_buffer_; }
   void set_last_setjmp_buffer(SimulatorSetjmpBuffer* buffer) {
     last_setjmp_buffer_ = buffer;
   }
diff --git a/runtime/vm/simulator_mips.cc b/runtime/vm/simulator_mips.cc
index f42b3fa..f65b9ed 100644
--- a/runtime/vm/simulator_mips.cc
+++ b/runtime/vm/simulator_mips.cc
@@ -23,9 +23,13 @@
 
 namespace dart {
 
-DEFINE_FLAG(uint64_t, trace_sim_after, ULLONG_MAX,
+DEFINE_FLAG(uint64_t,
+            trace_sim_after,
+            ULLONG_MAX,
             "Trace simulator execution after instruction count reached.");
-DEFINE_FLAG(uint64_t, stop_sim_at, ULLONG_MAX,
+DEFINE_FLAG(uint64_t,
+            stop_sim_at,
+            ULLONG_MAX,
             "Instruction address or instruction count to stop simulator at.");
 
 
@@ -95,7 +99,9 @@
 
   static TokenPosition GetApproximateTokenIndex(const Code& code, uword pc);
 
-  static void PrintDartFrame(uword pc, uword fp, uword sp,
+  static void PrintDartFrame(uword pc,
+                             uword fp,
+                             uword sp,
                              const Function& function,
                              TokenPosition token_pos,
                              bool is_optimized,
@@ -118,8 +124,7 @@
 }
 
 
-SimulatorDebugger::~SimulatorDebugger() {
-}
+SimulatorDebugger::~SimulatorDebugger() {}
 
 
 void SimulatorDebugger::Stop(Instr* instr, const char* message) {
@@ -130,43 +135,23 @@
 
 static Register LookupCpuRegisterByName(const char* name) {
   static const char* kNames[] = {
-      "r0",  "r1",  "r2",  "r3",
-      "r4",  "r5",  "r6",  "r7",
-      "r8",  "r9",  "r10", "r11",
-      "r12", "r13", "r14", "r15",
-      "r16", "r17", "r18", "r19",
-      "r20", "r21", "r22", "r23",
-      "r24", "r25", "r26", "r27",
-      "r28", "r29", "r30", "r31",
+      "r0",  "r1",  "r2",  "r3",  "r4",  "r5",  "r6",  "r7",
+      "r8",  "r9",  "r10", "r11", "r12", "r13", "r14", "r15",
+      "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
+      "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31",
 
-      "zr",  "at",  "v0",  "v1",
-      "a0",  "a1",  "a2",  "a3",
-      "t0",  "t1",  "t2",  "t3",
-      "t4",  "t5",  "t6",  "t7",
-      "s0",  "s1",  "s2",  "s3",
-      "s4",  "s5",  "s6",  "s7",
-      "t8",  "t9",  "k0",  "k1",
-      "gp",  "sp",  "fp",  "ra"
-  };
+      "zr",  "at",  "v0",  "v1",  "a0",  "a1",  "a2",  "a3",
+      "t0",  "t1",  "t2",  "t3",  "t4",  "t5",  "t6",  "t7",
+      "s0",  "s1",  "s2",  "s3",  "s4",  "s5",  "s6",  "s7",
+      "t8",  "t9",  "k0",  "k1",  "gp",  "sp",  "fp",  "ra"};
   static const Register kRegisters[] = {
-      R0,  R1,  R2,  R3,
-      R4,  R5,  R6,  R7,
-      R8,  R9,  R10, R11,
-      R12, R13, R14, R15,
-      R16, R17, R18, R19,
-      R20, R21, R22, R23,
-      R24, R25, R26, R27,
-      R28, R29, R30, R31,
+      R0,  R1,  R2,  R3,  R4,  R5,  R6,  R7,  R8,  R9,  R10,
+      R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21,
+      R22, R23, R24, R25, R26, R27, R28, R29, R30, R31,
 
-      ZR,  AT,  V0,  V1,
-      A0,  A1,  A2,  A3,
-      T0,  T1,  T2,  T3,
-      T4,  T5,  T6,  T7,
-      S0,  S1,  S2,  S3,
-      S4,  S5,  S6,  S7,
-      T8,  T9,  K0,  K1,
-      GP,  SP,  FP,  RA
-  };
+      ZR,  AT,  V0,  V1,  A0,  A1,  A2,  A3,  T0,  T1,  T2,
+      T3,  T4,  T5,  T6,  T7,  S0,  S1,  S2,  S3,  S4,  S5,
+      S6,  S7,  T8,  T9,  K0,  K1,  GP,  SP,  FP,  RA};
   ASSERT(ARRAY_SIZE(kNames) == ARRAY_SIZE(kRegisters));
   for (unsigned i = 0; i < ARRAY_SIZE(kNames); i++) {
     if (strcmp(kNames[i], name) == 0) {
@@ -256,7 +241,7 @@
 
 
 TokenPosition SimulatorDebugger::GetApproximateTokenIndex(const Code& code,
-                                                     uword pc) {
+                                                          uword pc) {
   TokenPosition token_pos = TokenPosition::kNoSource;
   uword pc_offset = pc - code.PayloadStart();
   const PcDescriptors& descriptors =
@@ -273,7 +258,9 @@
 }
 
 
-void SimulatorDebugger::PrintDartFrame(uword pc, uword fp, uword sp,
+void SimulatorDebugger::PrintDartFrame(uword pc,
+                                       uword fp,
+                                       uword sp,
                                        const Function& function,
                                        TokenPosition token_pos,
                                        bool is_optimized,
@@ -286,19 +273,15 @@
   if (token_pos.IsReal()) {
     script.GetTokenLocation(token_pos, &line, &column);
   }
-  OS::Print("pc=0x%" Px " fp=0x%" Px " sp=0x%" Px " %s%s (%s:%" Pd
-            ":%" Pd ")\n",
-            pc, fp, sp,
-            is_optimized ? (is_inlined ? "inlined " : "optimized ") : "",
-            func_name.ToCString(),
-            url.ToCString(),
-            line, column);
+  OS::Print(
+      "pc=0x%" Px " fp=0x%" Px " sp=0x%" Px " %s%s (%s:%" Pd ":%" Pd ")\n", pc,
+      fp, sp, is_optimized ? (is_inlined ? "inlined " : "optimized ") : "",
+      func_name.ToCString(), url.ToCString(), line, column);
 }
 
 
 void SimulatorDebugger::PrintBacktrace() {
-  StackFrameIterator frames(sim_->get_register(FP),
-                            sim_->get_register(SP),
+  StackFrameIterator frames(sim_->get_register(FP), sim_->get_register(SP),
                             sim_->get_pc(),
                             StackFrameIterator::kDontValidateFrames);
   StackFrame* frame = frames.NextFrame();
@@ -323,25 +306,25 @@
           uword unoptimized_pc = it.pc();
           it.Advance();
           if (!it.Done()) {
-            PrintDartFrame(unoptimized_pc, frame->fp(), frame->sp(),
-                           inlined_function,
-                           GetApproximateTokenIndex(unoptimized_code,
-                                                    unoptimized_pc),
-                           true, true);
+            PrintDartFrame(
+                unoptimized_pc, frame->fp(), frame->sp(), inlined_function,
+                GetApproximateTokenIndex(unoptimized_code, unoptimized_pc),
+                true, true);
           }
         }
         // Print the optimized inlining frame below.
       }
-      PrintDartFrame(frame->pc(), frame->fp(), frame->sp(),
-                     function,
+      PrintDartFrame(frame->pc(), frame->fp(), frame->sp(), function,
                      GetApproximateTokenIndex(code, frame->pc()),
                      code.is_optimized(), false);
     } else {
       OS::Print("pc=0x%" Px " fp=0x%" Px " sp=0x%" Px " %s frame\n",
                 frame->pc(), frame->fp(), frame->sp(),
-                frame->IsEntryFrame() ? "entry" :
-                    frame->IsExitFrame() ? "exit" :
-                        frame->IsStubFrame() ? "stub" : "invalid");
+                frame->IsEntryFrame()
+                    ? "entry"
+                    : frame->IsExitFrame()
+                          ? "exit"
+                          : frame->IsStubFrame() ? "stub" : "invalid");
     }
     frame = frames.NextFrame();
   }
@@ -436,24 +419,25 @@
                         "%" XSTR(ARG_SIZE) "s",
                         cmd, arg1, arg2);
       if ((strcmp(cmd, "h") == 0) || (strcmp(cmd, "help") == 0)) {
-        OS::Print("c/cont -- continue execution\n"
-                  "disasm -- disassemble instrs at current pc location\n"
-                  "  other variants are:\n"
-                  "    disasm <address>\n"
-                  "    disasm <address> <number_of_instructions>\n"
-                  "  by default 10 instrs are disassembled\n"
-                  "del -- delete breakpoints\n"
-                  "gdb -- transfer control to gdb\n"
-                  "h/help -- print this help string\n"
-                  "break <address> -- set break point at specified address\n"
-                  "p/print <reg or icount or value or *addr> -- print integer\n"
-                  "pf/printfloat <freg or *addr> -- print float value\n"
-                  "po/printobject <*reg or *addr> -- print object\n"
-                  "si/stepi -- single step an instruction\n"
-                  "trace -- toggle execution tracing mode\n"
-                  "bt -- print backtrace\n"
-                  "unstop -- if current pc is a stop instr make it a nop\n"
-                  "q/quit -- Quit the debugger and exit the program\n");
+        OS::Print(
+            "c/cont -- continue execution\n"
+            "disasm -- disassemble instrs at current pc location\n"
+            "  other variants are:\n"
+            "    disasm <address>\n"
+            "    disasm <address> <number_of_instructions>\n"
+            "  by default 10 instrs are disassembled\n"
+            "del -- delete breakpoints\n"
+            "gdb -- transfer control to gdb\n"
+            "h/help -- print this help string\n"
+            "break <address> -- set break point at specified address\n"
+            "p/print <reg or icount or value or *addr> -- print integer\n"
+            "pf/printfloat <freg or *addr> -- print float value\n"
+            "po/printobject <*reg or *addr> -- print object\n"
+            "si/stepi -- single step an instruction\n"
+            "trace -- toggle execution tracing mode\n"
+            "bt -- print backtrace\n"
+            "unstop -- if current pc is a stop instr make it a nop\n"
+            "q/quit -- Quit the debugger and exit the program\n");
       } else if ((strcmp(cmd, "quit") == 0) || (strcmp(cmd, "q") == 0)) {
         OS::Print("Quitting\n");
         OS::Exit(0);
@@ -478,14 +462,13 @@
         } else {
           OS::Print("print <reg or icount or value or *addr>\n");
         }
-      } else if ((strcmp(cmd, "pf") == 0) ||
-                 (strcmp(cmd, "printfloat") == 0)) {
+      } else if ((strcmp(cmd, "pf") == 0) || (strcmp(cmd, "printfloat") == 0)) {
         if (args == 2) {
           double dvalue;
           if (GetFValue(arg1, &dvalue)) {
             uint64_t long_value = bit_cast<uint64_t, double>(dvalue);
-            OS::Print("%s: %llu 0x%llx %.8g\n",
-                arg1, long_value, long_value, dvalue);
+            OS::Print("%s: %llu 0x%llx %.8g\n", arg1, long_value, long_value,
+                      dvalue);
           } else {
             OS::Print("%s unrecognized\n", arg1);
           }
@@ -498,8 +481,8 @@
           double dvalue;
           if (GetDValue(arg1, &dvalue)) {
             uint64_t long_value = bit_cast<uint64_t, double>(dvalue);
-            OS::Print("%s: %llu 0x%llx %.8g\n",
-                arg1, long_value, long_value, dvalue);
+            OS::Print("%s: %llu 0x%llx %.8g\n", arg1, long_value, long_value,
+                      dvalue);
           } else {
             OS::Print("%s unrecognized\n", arg1);
           }
@@ -516,8 +499,8 @@
             if (Isolate::Current()->heap()->Contains(value)) {
               OS::Print("%s: \n", arg1);
 #if defined(DEBUG)
-              const Object& obj = Object::Handle(
-                  reinterpret_cast<RawObject*>(value));
+              const Object& obj =
+                  Object::Handle(reinterpret_cast<RawObject*>(value));
               obj.Print();
 #endif  // defined(DEBUG)
             } else {
@@ -640,9 +623,7 @@
       return NULL;
     }
     intptr_t len = strlen(line_buf);
-    if (len > 1 &&
-        line_buf[len - 2] == '\\' &&
-        line_buf[len - 1] == '\n') {
+    if (len > 1 && line_buf[len - 2] == '\\' && line_buf[len - 1] == '\n') {
       // When we read a line that ends with a "\" we remove the escape and
       // append the remainder.
       line_buf[len - 2] = '\n';
@@ -688,8 +669,8 @@
 
 // Synchronization primitives support.
 Mutex* Simulator::exclusive_access_lock_ = NULL;
-Simulator::AddressTag Simulator::exclusive_access_state_[kNumAddressTags] =
-    {{NULL, 0}};
+Simulator::AddressTag Simulator::exclusive_access_state_[kNumAddressTags] = {
+    {NULL, 0}};
 int Simulator::next_address_tag_ = 0;
 
 
@@ -706,9 +687,9 @@
   // the size specified by the user and the buffer space needed for
   // handling stack overflow exceptions. To be safe in potential
   // stack underflows we also add some underflow buffer space.
-  stack_ = new char[(OSThread::GetSpecifiedStackSize() +
-                     OSThread::kStackSizeBuffer +
-                     kSimulatorStackUnderflowSize)];
+  stack_ =
+      new char[(OSThread::GetSpecifiedStackSize() + OSThread::kStackSizeBuffer +
+                kSimulatorStackUnderflowSize)];
   icount_ = 0;
   delay_slot_ = false;
   break_pc_ = NULL;
@@ -803,10 +784,9 @@
     Redirection* list_head = list_;
     do {
       next_ = list_head;
-      list_head = reinterpret_cast<Redirection*>(
-          AtomicOperations::CompareAndSwapWord(
-              reinterpret_cast<uword*>(&list_),
-              reinterpret_cast<uword>(next_),
+      list_head =
+          reinterpret_cast<Redirection*>(AtomicOperations::CompareAndSwapWord(
+              reinterpret_cast<uword*>(&list_), reinterpret_cast<uword>(next_),
               reinterpret_cast<uword>(this)));
     } while (list_head != next_);
   }
@@ -976,8 +956,8 @@
   // it will be possible to disassemble the code and inspect registers.
   char buffer[128];
   snprintf(buffer, sizeof(buffer),
-           "illegal memory access at 0x%" Px ", pc=0x%" Px "\n",
-           addr, fault_pc);
+           "illegal memory access at 0x%" Px ", pc=0x%" Px "\n", addr,
+           fault_pc);
   SimulatorDebugger dbg(this);
   dbg.Stop(instr, buffer);
   // The debugger will return control in non-interactive mode.
@@ -989,8 +969,8 @@
   // The debugger will not be able to single step past this instruction, but
   // it will be possible to disassemble the code and inspect registers.
   char buffer[128];
-  snprintf(buffer, sizeof(buffer),
-           "pc=%p, unaligned %s at 0x%" Px "\n",  instr, msg, addr);
+  snprintf(buffer, sizeof(buffer), "pc=%p, unaligned %s at 0x%" Px "\n", instr,
+           msg, addr);
   SimulatorDebugger dbg(this);
   dbg.Stop(instr, buffer);
   // The debugger will return control in non-interactive mode.
@@ -1004,7 +984,7 @@
   // To be safe in potential stack underflows we leave some buffer above and
   // set the stack top.
   return StackBase() +
-      (OSThread::GetSpecifiedStackSize() + OSThread::kStackSizeBuffer);
+         (OSThread::GetSpecifiedStackSize() + OSThread::kStackSizeBuffer);
 }
 
 
@@ -1212,8 +1192,10 @@
 typedef void (*SimulatorRuntimeCall)(NativeArguments arguments);
 
 // Calls to leaf Dart runtime functions are based on this interface.
-typedef int32_t (*SimulatorLeafRuntimeCall)(
-    int32_t r0, int32_t r1, int32_t r2, int32_t r3);
+typedef int32_t (*SimulatorLeafRuntimeCall)(int32_t r0,
+                                            int32_t r1,
+                                            int32_t r2,
+                                            int32_t r3);
 
 // Calls to leaf float Dart runtime functions are based on this interface.
 typedef double (*SimulatorLeafFloatRuntimeCall)(double d0, double d1);
@@ -1223,7 +1205,7 @@
 typedef void (*SimulatorNativeCall)(NativeArguments* arguments, uword target);
 
 
-void Simulator::DoBreak(Instr *instr) {
+void Simulator::DoBreak(Instr* instr) {
   ASSERT(instr->OpcodeField() == SPECIAL);
   ASSERT(instr->FunctionField() == BREAK);
   if (instr->BreakCodeField() == Instr::kStopMessageCode) {
@@ -1253,7 +1235,7 @@
       }
       if (redirection->call_kind() == kRuntimeCall) {
         NativeArguments arguments;
-        ASSERT(sizeof(NativeArguments) == 4*kWordSize);
+        ASSERT(sizeof(NativeArguments) == 4 * kWordSize);
         arguments.thread_ = reinterpret_cast<Thread*>(get_register(A0));
         arguments.argc_tag_ = get_register(A1);
         arguments.argv_ = reinterpret_cast<RawObject**>(get_register(A2));
@@ -1271,7 +1253,7 @@
         SimulatorLeafRuntimeCall target =
             reinterpret_cast<SimulatorLeafRuntimeCall>(external);
         a0 = target(a0, a1, a2, a3);
-        set_register(V0, a0);  // Set returned result from function.
+        set_register(V0, a0);       // Set returned result from function.
         set_register(V1, icount_);  // Zap second result register.
       } else if (redirection->call_kind() == kLeafFloatRuntimeCall) {
         ASSERT((0 <= redirection->argument_count()) &&
@@ -1424,7 +1406,7 @@
       ASSERT(instr->RsField() != instr->RdField());
       ASSERT(!delay_slot_);
       // Format(instr, "jalr'hint 'rd, rs");
-      set_register(instr->RdField(), pc_ + 2*Instr::kInstrSize);
+      set_register(instr->RdField(), pc_ + 2 * Instr::kInstrSize);
       uword next_pc = get_register(instr->RsField());
       ExecuteDelaySlot();
       // Set return address to be the instruction after the delay slot.
@@ -1547,8 +1529,7 @@
     }
     case SLL: {
       ASSERT(instr->RsField() == 0);
-      if ((instr->RdField() == R0) &&
-          (instr->RtField() == R0) &&
+      if ((instr->RdField() == R0) && (instr->RtField() == R0) &&
           (instr->SaField() == 0)) {
         // Format(instr, "nop");
         // Nothing to be done for NOP.
@@ -1745,14 +1726,14 @@
     case BGEZAL: {
       int32_t rs_val = get_register(instr->RsField());
       // Return address is one after the delay slot.
-      set_register(RA, pc_ + (2*Instr::kInstrSize));
+      set_register(RA, pc_ + (2 * Instr::kInstrSize));
       DoBranch(instr, rs_val >= 0, false);
       break;
     }
     case BLTZAL: {
       int32_t rs_val = get_register(instr->RsField());
       // Return address is one after the delay slot.
-      set_register(RA, pc_ + (2*Instr::kInstrSize));
+      set_register(RA, pc_ + (2 * Instr::kInstrSize));
       DoBranch(instr, rs_val < 0, false);
       break;
     }
@@ -1858,7 +1839,7 @@
         ASSERT(instr->FormatField() == FMT_D);  // Only D supported.
         ASSERT(instr->FdField() == F0);
         set_fcsr_bit(fcsr_cc,
-            (fs_val == ft_val) || isnan(fs_val) || isnan(ft_val));
+                     (fs_val == ft_val) || isnan(fs_val) || isnan(ft_val));
         break;
       }
       case COP1_C_OLT: {
@@ -1871,7 +1852,7 @@
         ASSERT(instr->FormatField() == FMT_D);  // Only D supported.
         ASSERT(instr->FdField() == F0);
         set_fcsr_bit(fcsr_cc,
-            (fs_val < ft_val) || isnan(fs_val) || isnan(ft_val));
+                     (fs_val < ft_val) || isnan(fs_val) || isnan(ft_val));
         break;
       }
       case COP1_C_OLE: {
@@ -1884,7 +1865,7 @@
         ASSERT(instr->FormatField() == FMT_D);  // Only D supported.
         ASSERT(instr->FdField() == F0);
         set_fcsr_bit(fcsr_cc,
-            (fs_val <= ft_val) || isnan(fs_val) || isnan(ft_val));
+                     (fs_val <= ft_val) || isnan(fs_val) || isnan(ft_val));
         break;
       }
       case COP1_TRUNC_W: {
@@ -2310,7 +2291,7 @@
     }
     default: {
       OS::PrintErr("Undecoded instruction: 0x%x at %p\n",
-                    instr->InstructionBits(), instr);
+                   instr->InstructionBits(), instr);
       UnimplementedInstruction(instr);
       break;
     }
@@ -2531,10 +2512,10 @@
   set_register(kExceptionObjectReg, bit_cast<int32_t>(raw_exception));
   set_register(kStackTraceObjectReg, bit_cast<int32_t>(raw_stacktrace));
   // Restore pool pointer.
-  int32_t code = *reinterpret_cast<int32_t*>(
-      fp + kPcMarkerSlotFromFp * kWordSize);
-  int32_t pp = *reinterpret_cast<int32_t*>(
-      code + Code::object_pool_offset() - kHeapObjectTag);
+  int32_t code =
+      *reinterpret_cast<int32_t*>(fp + kPcMarkerSlotFromFp * kWordSize);
+  int32_t pp = *reinterpret_cast<int32_t*>(code + Code::object_pool_offset() -
+                                           kHeapObjectTag);
   set_register(CODE_REG, code);
   set_register(PP, pp);
   buf->Longjmp();
diff --git a/runtime/vm/simulator_mips.h b/runtime/vm/simulator_mips.h
index 89b7273..d6b5323 100644
--- a/runtime/vm/simulator_mips.h
+++ b/runtime/vm/simulator_mips.h
@@ -58,9 +58,7 @@
   int64_t get_dregister_bits(DRegister freg) const;
   double get_dregister(DRegister freg) const;
 
-  int32_t get_sp() const {
-    return get_register(SPREG);
-  }
+  int32_t get_sp() const { return get_register(SPREG); }
 
   // Accessor for the pc.
   void set_pc(int32_t value) { pc_ = value; }
@@ -88,9 +86,7 @@
     }
   }
 
-  bool test_fcsr_bit(uint32_t cc) {
-    return fcsr_ & (1 << cc);
-  }
+  bool test_fcsr_bit(uint32_t cc) { return fcsr_ & (1 << cc); }
 
   // Accessors to the internal simulator stack base and top.
   uword StackBase() const { return reinterpret_cast<uword>(stack_); }
@@ -178,9 +174,7 @@
   int32_t break_instr_;
 
   // Illegal memory access support.
-  static bool IsIllegalAddress(uword addr) {
-    return addr < 64*1024;
-  }
+  static bool IsIllegalAddress(uword addr) { return addr < 64 * 1024; }
   void HandleIllegalAccess(uword addr, Instr* instr);
 
   // Read and write memory.
@@ -196,7 +190,7 @@
   inline int8_t ReadB(uword addr);
   inline uint8_t ReadBU(uword addr);
   inline int16_t ReadH(uword addr, Instr* instr);
-  inline uint16_t ReadHU(uword addr, Instr *instr);
+  inline uint16_t ReadHU(uword addr, Instr* instr);
   inline intptr_t ReadW(uword addr, Instr* instr);
 
   inline void WriteB(uword addr, uint8_t value);
@@ -238,7 +232,7 @@
   static bool HasExclusiveAccessAndOpen(uword addr);
 
   void DoBranch(Instr* instr, bool taken, bool likely);
-  void DoBreak(Instr *instr);
+  void DoBreak(Instr* instr);
 
   void DecodeSpecial(Instr* instr);
   void DecodeSpecial2(Instr* instr);
@@ -253,9 +247,7 @@
   bool IsTracingExecution() const;
 
   // Longjmp support for exceptions.
-  SimulatorSetjmpBuffer* last_setjmp_buffer() {
-    return last_setjmp_buffer_;
-  }
+  SimulatorSetjmpBuffer* last_setjmp_buffer() { return last_setjmp_buffer_; }
   void set_last_setjmp_buffer(SimulatorSetjmpBuffer* buffer) {
     last_setjmp_buffer_ = buffer;
   }
diff --git a/runtime/vm/snapshot.cc b/runtime/vm/snapshot.cc
index 08cf77c..427a196 100644
--- a/runtime/vm/snapshot.cc
+++ b/runtime/vm/snapshot.cc
@@ -22,9 +22,9 @@
 #include "vm/version.h"
 
 // We currently only expect the Dart mutator to read snapshots.
-#define ASSERT_NO_SAFEPOINT_SCOPE()                            \
-    isolate()->AssertCurrentThreadIsMutator();                 \
-    ASSERT(thread()->no_safepoint_scope_depth() != 0)
+#define ASSERT_NO_SAFEPOINT_SCOPE()                                            \
+  isolate()->AssertCurrentThreadIsMutator();                                   \
+  ASSERT(thread()->no_safepoint_scope_depth() != 0)
 
 namespace dart {
 
@@ -60,10 +60,8 @@
   // Return whether this class is serialized in two steps: first a reference,
   // with sufficient information to allocate a correctly sized object, and then
   // later inline with complete contents.
-  return class_id >= kNumPredefinedCids ||
-         class_id == kArrayCid ||
-         class_id == kImmutableArrayCid ||
-         class_id == kObjectPoolCid ||
+  return class_id >= kNumPredefinedCids || class_id == kArrayCid ||
+         class_id == kImmutableArrayCid || class_id == kObjectPoolCid ||
          RawObject::IsImplicitFieldClassId(class_id);
 }
 
@@ -84,26 +82,38 @@
 
 static RawType* GetType(ObjectStore* object_store, intptr_t index) {
   switch (index) {
-    case kObjectType: return object_store->object_type();
-    case kNullType: return object_store->null_type();
-    case kFunctionType: return object_store->function_type();
-    case kNumberType: return object_store->number_type();
-    case kSmiType: return object_store->smi_type();
-    case kMintType: return object_store->mint_type();
-    case kDoubleType: return object_store->double_type();
-    case kIntType: return object_store->int_type();
-    case kBoolType: return object_store->bool_type();
-    case kStringType: return object_store->string_type();
-    case kArrayType: return object_store->array_type();
-    default: break;
+    case kObjectType:
+      return object_store->object_type();
+    case kNullType:
+      return object_store->null_type();
+    case kFunctionType:
+      return object_store->function_type();
+    case kNumberType:
+      return object_store->number_type();
+    case kSmiType:
+      return object_store->smi_type();
+    case kMintType:
+      return object_store->mint_type();
+    case kDoubleType:
+      return object_store->double_type();
+    case kIntType:
+      return object_store->int_type();
+    case kBoolType:
+      return object_store->bool_type();
+    case kStringType:
+      return object_store->string_type();
+    case kArrayType:
+      return object_store->array_type();
+    default:
+      break;
   }
   UNREACHABLE();
   return Type::null();
 }
 
 
-static intptr_t GetTypeIndex(
-    ObjectStore* object_store, const RawType* raw_type) {
+static intptr_t GetTypeIndex(ObjectStore* object_store,
+                             const RawType* raw_type) {
   ASSERT(raw_type->IsHeapObject());
   if (raw_type == object_store->object_type()) {
     return kObjectType;
@@ -132,6 +142,27 @@
 }
 
 
+const char* Snapshot::KindToCString(Kind kind) {
+  switch (kind) {
+    case kCore:
+      return "core";
+    case kScript:
+      return "script";
+    case kMessage:
+      return "message";
+    case kAppWithJIT:
+      return "app-jit";
+    case kAppNoJIT:
+      return "app-aot";
+    case kNone:
+      return "none";
+    case kInvalid:
+    default:
+      return "invalid";
+  }
+}
+
+
 // TODO(5411462): Temporary setup of snapshot for testing purposes,
 // the actual creation of a snapshot maybe done differently.
 const Snapshot* Snapshot::SetupFromBuffer(const void* raw_memory) {
@@ -163,12 +194,11 @@
 }
 
 
-SnapshotReader::SnapshotReader(
-    const uint8_t* buffer,
-    intptr_t size,
-    Snapshot::Kind kind,
-    ZoneGrowableArray<BackRefNode>* backward_refs,
-    Thread* thread)
+SnapshotReader::SnapshotReader(const uint8_t* buffer,
+                               intptr_t size,
+                               Snapshot::Kind kind,
+                               ZoneGrowableArray<BackRefNode>* backward_refs,
+                               Thread* thread)
     : BaseReader(buffer, size),
       kind_(kind),
       thread_(thread),
@@ -191,10 +221,10 @@
       function_(Function::Handle(zone_)),
       error_(UnhandledException::Handle(zone_)),
       max_vm_isolate_object_id_(
-          (Snapshot::IsFull(kind)) ?
-              Object::vm_isolate_snapshot_object_table().Length() : 0),
-      backward_references_(backward_refs) {
-}
+          (Snapshot::IsFull(kind))
+              ? Object::vm_isolate_snapshot_object_table().Length()
+              : 0),
+      backward_references_(backward_refs) {}
 
 
 RawObject* SnapshotReader::ReadObject() {
@@ -327,8 +357,8 @@
 
 
 intptr_t SnapshotReader::NextAvailableObjectId() const {
-  return backward_references_->length() +
-      kMaxPredefinedObjectIds + max_vm_isolate_object_id_;
+  return backward_references_->length() + kMaxPredefinedObjectIds +
+         max_vm_isolate_object_id_;
 }
 
 
@@ -338,10 +368,8 @@
   args.SetAt(0, error_str);
   Object& result = Object::Handle(zone());
   const Library& library = Library::Handle(zone(), Library::CoreLibrary());
-  result = DartLibraryCalls::InstanceCreate(library,
-                                            Symbols::ArgumentError(),
-                                            Symbols::Dot(),
-                                            args);
+  result = DartLibraryCalls::InstanceCreate(library, Symbols::ArgumentError(),
+                                            Symbols::Dot(), args);
   const Stacktrace& stacktrace = Stacktrace::Handle(zone());
   const UnhandledException& error = UnhandledException::Handle(
       zone(), UnhandledException::New(Instance::Cast(result), stacktrace));
@@ -367,10 +395,8 @@
     return NewInteger(header_value);
   }
   ASSERT((header_value <= kIntptrMax) && (header_value >= kIntptrMin));
-  return ReadObjectImpl(static_cast<intptr_t>(header_value),
-                        as_reference,
-                        patch_object_id,
-                        patch_offset);
+  return ReadObjectImpl(static_cast<intptr_t>(header_value), as_reference,
+                        patch_object_id, patch_offset);
 }
 
 
@@ -383,8 +409,7 @@
   }
   if (SerializedHeaderTag::decode(header_value) == kObjectId) {
     return ReadIndexedObject(SerializedHeaderData::decode(header_value),
-                             patch_object_id,
-                             patch_offset);
+                             patch_object_id, patch_offset);
   }
   ASSERT(SerializedHeaderTag::decode(header_value) == kInlined);
   intptr_t object_id = SerializedHeaderData::decode(header_value);
@@ -410,24 +435,22 @@
   intptr_t class_id = LookupInternalClass(class_header);
   switch (class_id) {
 #define SNAPSHOT_READ(clazz)                                                   \
-    case clazz::kClassId: {                                                    \
-      pobj_ = clazz::ReadFrom(this, object_id, tags, kind_, read_as_reference);\
-      break;                                                                   \
-    }
+  case clazz::kClassId: {                                                      \
+    pobj_ = clazz::ReadFrom(this, object_id, tags, kind_, read_as_reference);  \
+    break;                                                                     \
+  }
     CLASS_LIST_NO_OBJECT(SNAPSHOT_READ)
 #undef SNAPSHOT_READ
-#define SNAPSHOT_READ(clazz)                                                   \
-        case kTypedData##clazz##Cid:                                           \
+#define SNAPSHOT_READ(clazz) case kTypedData##clazz##Cid:
 
     CLASS_LIST_TYPED_DATA(SNAPSHOT_READ) {
       tags = RawObject::ClassIdTag::update(class_id, tags);
-      pobj_ = TypedData::ReadFrom(
-          this, object_id, tags, kind_, read_as_reference);
+      pobj_ =
+          TypedData::ReadFrom(this, object_id, tags, kind_, read_as_reference);
       break;
     }
 #undef SNAPSHOT_READ
-#define SNAPSHOT_READ(clazz)                                                   \
-    case kExternalTypedData##clazz##Cid:                                       \
+#define SNAPSHOT_READ(clazz) case kExternalTypedData##clazz##Cid:
 
     CLASS_LIST_TYPED_DATA(SNAPSHOT_READ) {
       tags = RawObject::ClassIdTag::update(class_id, tags);
@@ -435,7 +458,9 @@
       break;
     }
 #undef SNAPSHOT_READ
-    default: UNREACHABLE(); break;
+    default:
+      UNREACHABLE();
+      break;
   }
   if (!read_as_reference) {
     AddPatchRecord(object_id, patch_object_id, patch_offset);
@@ -488,8 +513,7 @@
       pobj_ = ReadObjectImpl(read_as_reference);
       result->SetFieldAtOffset(offset, pobj_);
       if ((offset != type_argument_field_offset) &&
-          (kind_ == Snapshot::kMessage) &&
-          FLAG_use_field_guards) {
+          (kind_ == Snapshot::kMessage) && FLAG_use_field_guards) {
         // TODO(fschneider): Consider hoisting these lookups out of the loop.
         // This would involve creating a handle, since cls_ can't be reused
         // across the call to ReadObjectImpl.
@@ -543,11 +567,9 @@
  public:
   HeapLocker(Thread* thread, PageSpace* page_space)
       : StackResource(thread), page_space_(page_space) {
-        page_space_->AcquireDataLock();
+    page_space_->AcquireDataLock();
   }
-  ~HeapLocker() {
-    page_space_->ReleaseDataLock();
-  }
+  ~HeapLocker() { page_space_->ReleaseDataLock(); }
 
  private:
   PageSpace* page_space_;
@@ -569,8 +591,7 @@
     if (!obj_.IsError()) {
       const intptr_t kMessageBufferSize = 128;
       char message_buffer[kMessageBufferSize];
-      OS::SNPrint(message_buffer,
-                  kMessageBufferSize,
+      OS::SNPrint(message_buffer, kMessageBufferSize,
                   "Invalid object %s found in script snapshot",
                   obj_.ToCString());
       const String& msg = String::Handle(String::New(message_buffer));
@@ -591,8 +612,7 @@
   if (PendingBytes() < version_len) {
     const intptr_t kMessageBufferSize = 128;
     char message_buffer[kMessageBufferSize];
-    OS::SNPrint(message_buffer,
-                kMessageBufferSize,
+    OS::SNPrint(message_buffer, kMessageBufferSize,
                 "No full snapshot version found, expected '%s'",
                 expected_version);
     // This can also fail while bringing up the VM isolate, so make sure to
@@ -607,11 +627,9 @@
     const intptr_t kMessageBufferSize = 256;
     char message_buffer[kMessageBufferSize];
     char* actual_version = OS::StrNDup(version, version_len);
-    OS::SNPrint(message_buffer,
-                kMessageBufferSize,
+    OS::SNPrint(message_buffer, kMessageBufferSize,
                 "Wrong %s snapshot version, expected '%s' found '%s'",
-                (Snapshot::IsFull(kind_)) ? "full" : "script",
-                expected_version,
+                (Snapshot::IsFull(kind_)) ? "full" : "script", expected_version,
                 actual_version);
     free(actual_version);
     // This can also fail while bringing up the VM isolate, so make sure to
@@ -632,13 +650,11 @@
       strncmp(features, expected_features, expected_len)) {
     const intptr_t kMessageBufferSize = 256;
     char message_buffer[kMessageBufferSize];
-    char* actual_features = OS::StrNDup(features, buffer_len < 128 ? buffer_len
-                                                                   : 128);
-    OS::SNPrint(message_buffer,
-                kMessageBufferSize,
+    char* actual_features =
+        OS::StrNDup(features, buffer_len < 128 ? buffer_len : 128);
+    OS::SNPrint(message_buffer, kMessageBufferSize,
                 "Wrong features in snapshot, expected '%s' found '%s'",
-                expected_features,
-                actual_features);
+                expected_features, actual_features);
     free(const_cast<char*>(expected_features));
     free(actual_features);
     // This can also fail while bringing up the VM isolate, so make sure to
@@ -694,8 +710,7 @@
 
 static void EnsureIdentifier(char* label) {
   for (char c = *label; c != '\0'; c = *++label) {
-    if (((c >= 'a') && (c <= 'z')) ||
-        ((c >= 'A') && (c <= 'Z')) ||
+    if (((c >= 'a') && (c <= 'z')) || ((c >= 'A') && (c <= 'Z')) ||
         ((c >= '0') && (c <= '9'))) {
       continue;
     }
@@ -710,8 +725,8 @@
                                        intptr_t isolate_length) {
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
-  NOT_IN_PRODUCT(TimelineDurationScope tds(thread,
-      Timeline::GetIsolateStream(), "WriteInstructions"));
+  NOT_IN_PRODUCT(TimelineDurationScope tds(thread, Timeline::GetIsolateStream(),
+                                           "WriteInstructions"));
 
   // Handlify collected raw pointers as building the names below
   // will allocate on the Dart heap.
@@ -770,8 +785,7 @@
       beginning += sizeof(uword);
 
       for (uword* cursor = reinterpret_cast<uword*>(beginning);
-           cursor < reinterpret_cast<uword*>(entry);
-           cursor++) {
+           cursor < reinterpret_cast<uword*>(entry); cursor++) {
         WriteWordLiteralText(*cursor);
       }
     }
@@ -785,8 +799,8 @@
       str = Class::Cast(owner).Name();
       const char* name = str.ToCString();
       EnsureIdentifier(const_cast<char*>(name));
-      assembly_stream_.Print("Precompiled_AllocationStub_%s_%" Pd ":\n",
-                             name, i);
+      assembly_stream_.Print("Precompiled_AllocationStub_%s_%" Pd ":\n", name,
+                             i);
     } else if (owner.IsFunction()) {
       const char* name = Function::Cast(owner).ToQualifiedCString();
       EnsureIdentifier(const_cast<char*>(name));
@@ -800,7 +814,7 @@
       NoSafepointScope no_safepoint;
       uword beginning = reinterpret_cast<uword>(insns.raw()) - kHeapObjectTag;
       uword entry = beginning + Instructions::HeaderSize();
-      uword payload_size = insns.size();
+      uword payload_size = insns.Size();
       payload_size = Utils::RoundUp(payload_size, OS::PreferredCodeAlignment());
       uword end = entry + payload_size;
 
@@ -809,8 +823,7 @@
       ASSERT(Utils::IsAligned(end, sizeof(uint64_t)));
 
       for (uword* cursor = reinterpret_cast<uword*>(entry);
-           cursor < reinterpret_cast<uword*>(end);
-           cursor++) {
+           cursor < reinterpret_cast<uword*>(end); cursor++) {
         WriteWordLiteralText(*cursor);
       }
     }
@@ -847,8 +860,7 @@
     WriteWordLiteralData(marked_tags);
     start += sizeof(uword);
     for (uword* cursor = reinterpret_cast<uword*>(start);
-         cursor < reinterpret_cast<uword*>(end);
-         cursor++) {
+         cursor < reinterpret_cast<uword*>(end); cursor++) {
       WriteWordLiteralData(*cursor);
     }
   }
@@ -876,8 +888,8 @@
                                    intptr_t isolate_length) {
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
-  NOT_IN_PRODUCT(TimelineDurationScope tds(thread,
-      Timeline::GetIsolateStream(), "WriteInstructions"));
+  NOT_IN_PRODUCT(TimelineDurationScope tds(thread, Timeline::GetIsolateStream(),
+                                           "WriteInstructions"));
 
   // Handlify collected raw pointers as building the names below
   // will allocate on the Dart heap.
@@ -923,8 +935,7 @@
       beginning += sizeof(uword);
 
       for (uword* cursor = reinterpret_cast<uword*>(beginning);
-           cursor < reinterpret_cast<uword*>(entry);
-           cursor++) {
+           cursor < reinterpret_cast<uword*>(entry); cursor++) {
         instructions_blob_stream_.WriteWord(*cursor);
       }
     }
@@ -934,7 +945,7 @@
       NoSafepointScope no_safepoint;
       uword beginning = reinterpret_cast<uword>(insns.raw()) - kHeapObjectTag;
       uword entry = beginning + Instructions::HeaderSize();
-      uword payload_size = insns.size();
+      uword payload_size = insns.Size();
       payload_size = Utils::RoundUp(payload_size, OS::PreferredCodeAlignment());
       uword end = entry + payload_size;
 
@@ -943,8 +954,7 @@
       ASSERT(Utils::IsAligned(end, sizeof(uint64_t)));
 
       for (uword* cursor = reinterpret_cast<uword*>(entry);
-           cursor < reinterpret_cast<uword*>(end);
-           cursor++) {
+           cursor < reinterpret_cast<uword*>(end); cursor++) {
         instructions_blob_stream_.WriteWord(*cursor);
       }
     }
@@ -971,8 +981,7 @@
     rodata_blob_stream_.WriteWord(marked_tags);
     start += sizeof(uword);
     for (uword* cursor = reinterpret_cast<uword*>(start);
-         cursor < reinterpret_cast<uword*>(end);
-         cursor++) {
+         cursor < reinterpret_cast<uword*>(end); cursor++) {
       rodata_blob_stream_.WriteWord(*cursor);
     }
   }
@@ -988,9 +997,8 @@
 RawObject* InstructionsReader::GetObjectAt(int32_t offset) {
   ASSERT(Utils::IsAligned(offset, kWordSize));
 
-  RawObject* result =
-      reinterpret_cast<RawObject*>(
-          reinterpret_cast<uword>(data_buffer_) + offset + kHeapObjectTag);
+  RawObject* result = reinterpret_cast<RawObject*>(
+      reinterpret_cast<uword>(data_buffer_) + offset + kHeapObjectTag);
   ASSERT(result->IsMarked());
 
   return result;
@@ -1015,7 +1023,7 @@
 #define READ_VM_SINGLETON_OBJ(id, obj)                                         \
   if (object_id == id) {                                                       \
     return obj;                                                                \
-  }                                                                            \
+  }
 
 RawObject* SnapshotReader::ReadVMIsolateObject(intptr_t header_value) {
   intptr_t object_id = GetVMIsolateObjectId(header_value);
@@ -1134,7 +1142,7 @@
         // First we replace the back ref table with the canonical object.
         *objref = newobj.raw();
         // Now we go over all the patch records and patch the canonical object.
-        for (intptr_t j = 0; j < patches->length(); j+=2) {
+        for (intptr_t j = 0; j < patches->length(); j += 2) {
           NoSafepointScope no_safepoint;
           intptr_t patch_object_id = (*patches)[j];
           intptr_t patch_offset = (*patches)[j + 1];
@@ -1161,18 +1169,16 @@
   // Setup the object fields.
   const intptr_t typeargs_offset =
       GrowableObjectArray::type_arguments_offset() / kWordSize;
-  *TypeArgumentsHandle() ^= ReadObjectImpl(kAsInlinedObject,
-                                           object_id,
-                                           typeargs_offset);
+  *TypeArgumentsHandle() ^=
+      ReadObjectImpl(kAsInlinedObject, object_id, typeargs_offset);
   result.SetTypeArguments(*TypeArgumentsHandle());
 
   bool as_reference = RawObject::IsCanonical(tags) ? false : true;
   intptr_t offset = result.raw_ptr()->data() -
-      reinterpret_cast<RawObject**>(result.raw()->ptr());
+                    reinterpret_cast<RawObject**>(result.raw()->ptr());
   for (intptr_t i = 0; i < len; i++) {
-    *PassiveObjectHandle() = ReadObjectImpl(as_reference,
-                                            object_id,
-                                            (i + offset));
+    *PassiveObjectHandle() =
+        ReadObjectImpl(as_reference, object_id, (i + offset));
     result.SetAt(i, *PassiveObjectHandle());
   }
 }
@@ -1185,8 +1191,7 @@
                      size,
                      Snapshot::kScript,
                      new ZoneGrowableArray<BackRefNode>(kNumInitialReferences),
-                     thread) {
-}
+                     thread) {}
 
 
 ScriptSnapshotReader::~ScriptSnapshotReader() {
@@ -1201,8 +1206,7 @@
                      size,
                      Snapshot::kMessage,
                      new ZoneGrowableArray<BackRefNode>(kNumInitialReferences),
-                     thread) {
-}
+                     thread) {}
 
 
 MessageSnapshotReader::~MessageSnapshotReader() {
@@ -1247,21 +1251,21 @@
   V(Mint)                                                                      \
   V(Bigint)                                                                    \
   V(Double)                                                                    \
-  V(ImmutableArray)                                                            \
+  V(ImmutableArray)
 
 #define VM_OBJECT_WRITE(clazz)                                                 \
   case clazz::kClassId: {                                                      \
     object_id = forward_list_->AddObject(zone(), rawobj, kIsSerialized);       \
     Raw##clazz* raw_obj = reinterpret_cast<Raw##clazz*>(rawobj);               \
-        raw_obj->WriteTo(this, object_id, kind(), false);                      \
+    raw_obj->WriteTo(this, object_id, kind(), false);                          \
     return true;                                                               \
-  }                                                                            \
+  }
 
 #define WRITE_VM_SINGLETON_OBJ(obj, id)                                        \
   if (rawobj == obj) {                                                         \
     WriteVMIsolateObject(id);                                                  \
     return true;                                                               \
-  }                                                                            \
+  }
 
 bool SnapshotWriter::HandleVMIsolateObject(RawObject* rawobj) {
   // Check if it is one of the singleton VM objects.
@@ -1353,15 +1357,13 @@
 // objects and their accompanying token streams.
 class ScriptVisitor : public ObjectVisitor {
  public:
-  explicit ScriptVisitor(Thread* thread) :
-      objHandle_(Object::Handle(thread->zone())),
-      count_(0),
-      scripts_(NULL) {}
+  explicit ScriptVisitor(Thread* thread)
+      : objHandle_(Object::Handle(thread->zone())), count_(0), scripts_(NULL) {}
 
-  ScriptVisitor(Thread* thread, const Array* scripts) :
-      objHandle_(Object::Handle(thread->zone())),
-      count_(0),
-      scripts_(scripts) {}
+  ScriptVisitor(Thread* thread, const Array* scripts)
+      : objHandle_(Object::Handle(thread->zone())),
+        count_(0),
+        scripts_(scripts) {}
 
   void VisitObject(RawObject* obj) {
     if (obj->IsScript()) {
@@ -1533,16 +1535,15 @@
   }
   switch (class_id) {
 #define SNAPSHOT_WRITE(clazz)                                                  \
-    case clazz::kClassId: {                                                    \
-      Raw##clazz* raw_obj = reinterpret_cast<Raw##clazz*>(raw);                \
-          raw_obj->WriteTo(this, object_id, kind_, as_reference);              \
-      return;                                                                  \
-    }                                                                          \
+  case clazz::kClassId: {                                                      \
+    Raw##clazz* raw_obj = reinterpret_cast<Raw##clazz*>(raw);                  \
+    raw_obj->WriteTo(this, object_id, kind_, as_reference);                    \
+    return;                                                                    \
+  }
 
     CLASS_LIST_NO_OBJECT(SNAPSHOT_WRITE)
 #undef SNAPSHOT_WRITE
-#define SNAPSHOT_WRITE(clazz)                                                  \
-    case kTypedData##clazz##Cid:                                               \
+#define SNAPSHOT_WRITE(clazz) case kTypedData##clazz##Cid:
 
     CLASS_LIST_TYPED_DATA(SNAPSHOT_WRITE) {
       RawTypedData* raw_obj = reinterpret_cast<RawTypedData*>(raw);
@@ -1550,17 +1551,17 @@
       return;
     }
 #undef SNAPSHOT_WRITE
-#define SNAPSHOT_WRITE(clazz)                                                  \
-    case kExternalTypedData##clazz##Cid:                                       \
+#define SNAPSHOT_WRITE(clazz) case kExternalTypedData##clazz##Cid:
 
     CLASS_LIST_TYPED_DATA(SNAPSHOT_WRITE) {
       RawExternalTypedData* raw_obj =
-        reinterpret_cast<RawExternalTypedData*>(raw);
+          reinterpret_cast<RawExternalTypedData*>(raw);
       raw_obj->WriteTo(this, object_id, kind_, as_reference);
       return;
     }
 #undef SNAPSHOT_WRITE
-    default: break;
+    default:
+      break;
   }
 
   const Object& obj = Object::Handle(raw);
@@ -1592,18 +1593,17 @@
 
 
 void ForwardList::SerializeAll(ObjectVisitor* writer) {
-  // Write out all objects that were added to the forward list and have
-  // not been serialized yet. These would typically be fields of instance
-  // objects, arrays or immutable arrays (this is done in order to avoid
-  // deep recursive calls to WriteObjectImpl).
-  // NOTE: The forward list might grow as we process the list.
+// Write out all objects that were added to the forward list and have
+// not been serialized yet. These would typically be fields of instance
+// objects, arrays or immutable arrays (this is done in order to avoid
+// deep recursive calls to WriteObjectImpl).
+// NOTE: The forward list might grow as we process the list.
 #ifdef DEBUG
   for (intptr_t i = first_object_id(); i < first_unprocessed_object_id_; ++i) {
     ASSERT(NodeForObjectId(i)->is_serialized());
   }
 #endif  // DEBUG
-  for (intptr_t id = first_unprocessed_object_id_;
-       id < next_object_id();
+  for (intptr_t id = first_unprocessed_object_id_; id < next_object_id();
        ++id) {
     if (!NodeForObjectId(id)->is_serialized()) {
       // Write the object out in the stream.
@@ -1633,10 +1633,11 @@
 
 void SnapshotWriter::WriteFunctionId(RawFunction* func, bool owner_is_class) {
   ASSERT(kind_ == Snapshot::kScript);
-  RawClass* cls = (owner_is_class) ?
-      reinterpret_cast<RawClass*>(func->ptr()->owner_) :
-      reinterpret_cast<RawPatchClass*>(
-          func->ptr()->owner_)->ptr()->patched_class_;
+  RawClass* cls = (owner_is_class)
+                      ? reinterpret_cast<RawClass*>(func->ptr()->owner_)
+                      : reinterpret_cast<RawPatchClass*>(func->ptr()->owner_)
+                            ->ptr()
+                            ->patched_class_;
 
   // Write out the library url and class name.
   RawLibrary* library = cls->ptr()->library_;
@@ -1730,7 +1731,8 @@
   ASSERT(!errorFunc.IsNull());
 
   // All other closures are errors.
-  char* chars = OS::SCreate(thread()->zone(),
+  char* chars = OS::SCreate(
+      thread()->zone(),
       "Illegal argument in isolate message : (object is a closure - %s)",
       errorFunc.ToCString());
   SetWriteException(Exceptions::kArgument, chars);
@@ -1756,9 +1758,9 @@
     HANDLESCOPE(thread());
     const Class& clazz = Class::Handle(zone(), cls);
     char* chars = OS::SCreate(thread()->zone(),
-        "Illegal argument in isolate message"
-        " : (object extends NativeWrapper - %s)",
-        clazz.ToCString());
+                              "Illegal argument in isolate message"
+                              " : (object extends NativeWrapper - %s)",
+                              clazz.ToCString());
     SetWriteException(Exceptions::kArgument, chars);
   }
 }
@@ -1769,8 +1771,7 @@
   set_exception_type(type);
   set_exception_msg(msg);
   // The more specific error is set up in SnapshotWriter::ThrowException().
-  thread()->long_jump_base()->
-      Jump(1, Object::snapshot_writer_error());
+  thread()->long_jump_base()->Jump(1, Object::snapshot_writer_error());
 }
 
 
@@ -1797,8 +1798,8 @@
     // Write out the class information for this object.
     WriteObjectImpl(cls, kAsInlinedObject);
   } else {
-    intptr_t next_field_offset =
-        cls->ptr()->next_field_offset_in_words_ << kWordSizeLog2;
+    intptr_t next_field_offset = cls->ptr()->next_field_offset_in_words_
+                                 << kWordSizeLog2;
     ASSERT(next_field_offset > 0);
 
     // Write out the serialization header value for this object.
@@ -1877,8 +1878,7 @@
 }
 
 
-ScriptSnapshotWriter::ScriptSnapshotWriter(uint8_t** buffer,
-                                           ReAlloc alloc)
+ScriptSnapshotWriter::ScriptSnapshotWriter(uint8_t** buffer, ReAlloc alloc)
     : SnapshotWriter(Thread::Current(),
                      Snapshot::kScript,
                      buffer,
diff --git a/runtime/vm/snapshot.h b/runtime/vm/snapshot.h
index 924f61c..7bc946f 100644
--- a/runtime/vm/snapshot.h
+++ b/runtime/vm/snapshot.h
@@ -109,7 +109,7 @@
 // - Object that is seen for the first time (inlined in the stream):
 //   (a unique id for this object | 0x1)
 enum SerializedHeaderType {
-  kInlined  = 0x1,
+  kInlined = 0x1,
   kObjectId = 0x3,
 };
 static const int8_t kHeaderTagBits = 2;
@@ -120,12 +120,13 @@
 static const intptr_t kInvalidPatchIndex = -1;
 
 
-class SerializedHeaderTag :
-    public BitField<intptr_t, enum SerializedHeaderType, 0, kHeaderTagBits> {};
+class SerializedHeaderTag
+    : public BitField<intptr_t, enum SerializedHeaderType, 0, kHeaderTagBits> {
+};
 
 
-class SerializedHeaderData :
-    public BitField<intptr_t, intptr_t, kHeaderTagBits, kObjectIdBits> {};
+class SerializedHeaderData
+    : public BitField<intptr_t, intptr_t, kHeaderTagBits, kObjectIdBits> {};
 
 
 enum DeserializeState {
@@ -164,6 +165,7 @@
     kNone,        // dart_bootstrap/gen_snapshot
     kInvalid
   };
+  static const char* KindToCString(Kind kind);
 
   static const int kHeaderSize = 2 * sizeof(int64_t);
   static const int kLengthIndex = 0;
@@ -192,9 +194,7 @@
   static intptr_t length_offset() {
     return OFFSET_OF(Snapshot, unaligned_length_);
   }
-  static intptr_t kind_offset() {
-    return OFFSET_OF(Snapshot, unaligned_kind_);
-  }
+  static intptr_t kind_offset() { return OFFSET_OF(Snapshot, unaligned_kind_); }
 
  private:
   // Prevent Snapshot from ever being allocated directly.
@@ -202,7 +202,7 @@
 
   // The following fields are potentially unaligned.
   int64_t unaligned_length_;  // Stream length.
-  int64_t unaligned_kind_;  // Kind of snapshot.
+  int64_t unaligned_kind_;    // Kind of snapshot.
 
   // Variable length data follows here.
 
@@ -213,13 +213,13 @@
 class InstructionsSnapshot : ValueObject {
  public:
   explicit InstructionsSnapshot(const void* raw_memory)
-    : raw_memory_(raw_memory) {
+      : raw_memory_(raw_memory) {
     ASSERT(Utils::IsAligned(raw_memory, OS::kMaxPreferredCodeAlignment));
   }
 
   void* instructions_start() {
-    return reinterpret_cast<void*>(
-        reinterpret_cast<uword>(raw_memory_) + kHeaderSize);
+    return reinterpret_cast<void*>(reinterpret_cast<uword>(raw_memory_) +
+                                   kHeaderSize);
   }
 
   uword instructions_size() {
@@ -238,14 +238,13 @@
 
 class DataSnapshot : ValueObject {
  public:
-  explicit DataSnapshot(const void* raw_memory)
-    : raw_memory_(raw_memory) {
+  explicit DataSnapshot(const void* raw_memory) : raw_memory_(raw_memory) {
     ASSERT(Utils::IsAligned(raw_memory, 2 * kWordSize));  // kObjectAlignment
   }
 
   void* data_start() {
-    return reinterpret_cast<void*>(
-        reinterpret_cast<uword>(raw_memory_) + kHeaderSize);
+    return reinterpret_cast<void*>(reinterpret_cast<uword>(raw_memory_) +
+                                   kHeaderSize);
   }
 
   uword data_size() {
@@ -285,9 +284,7 @@
   }
   COMPILE_ASSERT(sizeof(uint32_t) >= sizeof(classid_t));
 
-  void ReadBytes(uint8_t* addr, intptr_t len) {
-    stream_.ReadBytes(addr, len);
-  }
+  void ReadBytes(uint8_t* addr, intptr_t len) { stream_.ReadBytes(addr, len); }
 
   double ReadDouble() {
     double result;
@@ -304,13 +301,9 @@
     return stream_.AddressOfCurrentPosition();
   }
 
-  void Advance(intptr_t value) {
-    stream_.Advance(value);
-  }
+  void Advance(intptr_t value) { stream_.Advance(value); }
 
-  intptr_t PendingBytes() const {
-    return stream_.PendingBytes();
-  }
+  intptr_t PendingBytes() const { return stream_.PendingBytes(); }
 
   RawSmi* ReadAsSmi();
   intptr_t ReadSmiValue();
@@ -374,8 +367,7 @@
  public:
   InstructionsReader(const uint8_t* instructions_buffer,
                      const uint8_t* data_buffer)
-    : instructions_buffer_(instructions_buffer),
-      data_buffer_(data_buffer) {
+      : instructions_buffer_(instructions_buffer), data_buffer_(data_buffer) {
     ASSERT(instructions_buffer != NULL);
     ASSERT(data_buffer != NULL);
     ASSERT(Utils::IsAligned(reinterpret_cast<uword>(instructions_buffer),
@@ -441,7 +433,7 @@
                  Snapshot::Kind kind,
                  ZoneGrowableArray<BackRefNode>* backward_references,
                  Thread* thread);
-  ~SnapshotReader() { }
+  ~SnapshotReader() {}
 
   ZoneGrowableArray<BackRefNode>* GetBackwardReferenceTable() const {
     return backward_references_;
@@ -464,9 +456,7 @@
                             intptr_t patch_offset);
 
   // Read a Dart Instance object.
-  RawObject* ReadInstance(intptr_t object_id,
-                          intptr_t tags,
-                          bool as_reference);
+  RawObject* ReadInstance(intptr_t object_id, intptr_t tags, bool as_reference);
 
   // Read a VM isolate object that was serialized as an Id.
   RawObject* ReadVMIsolateObject(intptr_t object_id);
@@ -502,26 +492,26 @@
 
   bool is_vm_isolate() const;
 
-  Snapshot::Kind kind_;  // Indicates type of snapshot(full, script, message).
-  Thread* thread_;  // Current thread.
-  Zone* zone_;  // Zone for allocations while reading snapshot.
-  Heap* heap_;  // Heap of the current isolate.
+  Snapshot::Kind kind_;   // Indicates type of snapshot(full, script, message).
+  Thread* thread_;        // Current thread.
+  Zone* zone_;            // Zone for allocations while reading snapshot.
+  Heap* heap_;            // Heap of the current isolate.
   PageSpace* old_space_;  // Old space of the current isolate.
-  Class& cls_;  // Temporary Class handle.
-  Object& obj_;  // Temporary Object handle.
-  PassiveObject& pobj_;  // Temporary PassiveObject handle.
-  Array& array_;  // Temporary Array handle.
-  Field& field_;  // Temporary Field handle.
-  String& str_;  // Temporary String handle.
-  Library& library_;  // Temporary library handle.
-  AbstractType& type_;  // Temporary type handle.
+  Class& cls_;            // Temporary Class handle.
+  Object& obj_;           // Temporary Object handle.
+  PassiveObject& pobj_;   // Temporary PassiveObject handle.
+  Array& array_;          // Temporary Array handle.
+  Field& field_;          // Temporary Field handle.
+  String& str_;           // Temporary String handle.
+  Library& library_;      // Temporary library handle.
+  AbstractType& type_;    // Temporary type handle.
   TypeArguments& type_arguments_;  // Temporary type argument handle.
-  GrowableObjectArray& tokens_;  // Temporary tokens handle.
-  TokenStream& stream_;  // Temporary token stream handle.
-  ExternalTypedData& data_;  // Temporary stream data handle.
-  TypedData& typed_data_;  // Temporary typed data handle.
-  Function& function_;  // Temporary function handle.
-  UnhandledException& error_;  // Error handle.
+  GrowableObjectArray& tokens_;    // Temporary tokens handle.
+  TokenStream& stream_;            // Temporary token stream handle.
+  ExternalTypedData& data_;        // Temporary stream data handle.
+  TypedData& typed_data_;          // Temporary typed data handle.
+  Function& function_;             // Temporary function handle.
+  UnhandledException& error_;      // Error handle.
   intptr_t max_vm_isolate_object_id_;
   ZoneGrowableArray<BackRefNode>* backward_references_;
 
@@ -567,9 +557,7 @@
 
 class ScriptSnapshotReader : public SnapshotReader {
  public:
-  ScriptSnapshotReader(const uint8_t* buffer,
-                       intptr_t size,
-                       Thread* thread);
+  ScriptSnapshotReader(const uint8_t* buffer, intptr_t size, Thread* thread);
   ~ScriptSnapshotReader();
 
  private:
@@ -579,9 +567,7 @@
 
 class MessageSnapshotReader : public SnapshotReader {
  public:
-  MessageSnapshotReader(const uint8_t* buffer,
-                        intptr_t size,
-                        Thread* thread);
+  MessageSnapshotReader(const uint8_t* buffer, intptr_t size, Thread* thread);
   ~MessageSnapshotReader();
 
  private:
@@ -601,13 +587,9 @@
     WriteStream::Raw<sizeof(T), T>::Write(&stream_, value);
   }
 
-  void WriteRawPointerValue(intptr_t value) {
-    Write<int64_t>(value);
-  }
+  void WriteRawPointerValue(intptr_t value) { Write<int64_t>(value); }
 
-  void WriteClassIDValue(classid_t value) {
-    Write<uint32_t>(value);
-  }
+  void WriteClassIDValue(classid_t value) { Write<uint32_t>(value); }
   COMPILE_ASSERT(sizeof(uint32_t) >= sizeof(classid_t));
 
   // Write an object that is serialized as an Id (singleton in object store,
@@ -653,15 +635,12 @@
   }
 
  protected:
-  BaseWriter(uint8_t** buffer,
-             ReAlloc alloc,
-             intptr_t initial_size)
-      : StackResource(Thread::Current()),
-        stream_(buffer, alloc, initial_size) {
+  BaseWriter(uint8_t** buffer, ReAlloc alloc, intptr_t initial_size)
+      : StackResource(Thread::Current()), stream_(buffer, alloc, initial_size) {
     ASSERT(buffer != NULL);
     ASSERT(alloc != NULL);
   }
-  ~BaseWriter() { }
+  ~BaseWriter() {}
 
   void ReserveHeader() {
     // Make room for recording snapshot buffer size.
@@ -739,12 +718,11 @@
 class InstructionsWriter : public ZoneAllocated {
  public:
   InstructionsWriter()
-    : next_offset_(InstructionsSnapshot::kHeaderSize),
-      next_object_offset_(DataSnapshot::kHeaderSize),
-      instructions_(),
-      objects_() {
-  }
-  virtual ~InstructionsWriter() { }
+      : next_offset_(InstructionsSnapshot::kHeaderSize),
+        next_object_offset_(DataSnapshot::kHeaderSize),
+        instructions_(),
+        objects_() {}
+  virtual ~InstructionsWriter() {}
 
   int32_t GetOffsetFor(RawInstructions* instructions, RawCode* code);
 
@@ -762,7 +740,7 @@
     explicit InstructionsData(RawInstructions* insns,
                               RawCode* code,
                               intptr_t offset)
-        : raw_insns_(insns), raw_code_(code), offset_(offset) { }
+        : raw_insns_(insns), raw_code_(code), offset_(offset) {}
 
     union {
       RawInstructions* raw_insns_;
@@ -776,8 +754,7 @@
   };
 
   struct ObjectData {
-    explicit ObjectData(RawObject* raw_obj)
-        : raw_obj_(raw_obj) { }
+    explicit ObjectData(RawObject* raw_obj) : raw_obj_(raw_obj) {}
 
     union {
       RawObject* raw_obj_;
@@ -800,11 +777,10 @@
   AssemblyInstructionsWriter(uint8_t** assembly_buffer,
                              ReAlloc alloc,
                              intptr_t initial_size)
-    : InstructionsWriter(),
-      assembly_stream_(assembly_buffer, alloc, initial_size),
-      text_size_(0),
-      data_size_(0) {
-  }
+      : InstructionsWriter(),
+        assembly_stream_(assembly_buffer, alloc, initial_size),
+        text_size_(0),
+        data_size_(0) {}
 
   virtual void Write(uint8_t* vmisolate_buffer,
                      intptr_t vmisolate_length,
@@ -817,7 +793,7 @@
 
  private:
   void WriteWordLiteralText(uword value) {
-    // Padding is helpful for comparing the .S with --disassemble.
+// Padding is helpful for comparing the .S with --disassemble.
 #if defined(ARCH_IS_64_BIT)
     assembly_stream_.Print(".quad 0x%0.16" Px "\n", value);
 #else
@@ -827,7 +803,7 @@
   }
 
   void WriteWordLiteralData(uword value) {
-    // Padding is helpful for comparing the .S with --disassemble.
+// Padding is helpful for comparing the .S with --disassemble.
 #if defined(ARCH_IS_64_BIT)
     assembly_stream_.Print(".quad 0x%0.16" Px "\n", value);
 #else
@@ -850,10 +826,11 @@
                          uint8_t** rodata_blob_buffer,
                          ReAlloc alloc,
                          intptr_t initial_size)
-    : InstructionsWriter(),
-      instructions_blob_stream_(instructions_blob_buffer, alloc, initial_size),
-      rodata_blob_stream_(rodata_blob_buffer, alloc, initial_size) {
-  }
+      : InstructionsWriter(),
+        instructions_blob_stream_(instructions_blob_buffer,
+                                  alloc,
+                                  initial_size),
+        rodata_blob_stream_(rodata_blob_buffer, alloc, initial_size) {}
 
   virtual void Write(uint8_t* vmisolate_buffer,
                      intptr_t vmisolate_length,
@@ -900,16 +877,12 @@
 
   uword GetObjectTags(RawObject* raw);
 
-  Exceptions::ExceptionType exception_type() const {
-    return exception_type_;
-  }
+  Exceptions::ExceptionType exception_type() const { return exception_type_; }
   void set_exception_type(Exceptions::ExceptionType type) {
     exception_type_ = type;
   }
   const char* exception_msg() const { return exception_msg_; }
-  void set_exception_msg(const char* msg) {
-    exception_msg_ = msg;
-  }
+  void set_exception_msg(const char* msg) { exception_msg_ = msg; }
   bool can_send_any_object() const { return can_send_any_object_; }
   void ThrowException(Exceptions::ExceptionType type, const char* msg);
 
@@ -963,7 +936,7 @@
   ForwardList* forward_list_;
   Exceptions::ExceptionType exception_type_;  // Exception type.
   const char* exception_msg_;  // Message associated with exception.
-  bool can_send_any_object_;  // True if any Dart instance can be sent.
+  bool can_send_any_object_;   // True if any Dart instance can be sent.
 
   friend class RawArray;
   friend class RawClass;
@@ -1002,7 +975,7 @@
  public:
   static const intptr_t kInitialSize = 64 * KB;
   ScriptSnapshotWriter(uint8_t** buffer, ReAlloc alloc);
-  ~ScriptSnapshotWriter() { }
+  ~ScriptSnapshotWriter() {}
 
   // Writes a partial snapshot of the script.
   void WriteScriptSnapshot(const Library& lib);
@@ -1018,7 +991,7 @@
  public:
   static const intptr_t kInitialSize = 512;
   MessageWriter(uint8_t** buffer, ReAlloc alloc, bool can_send_any_object);
-  ~MessageWriter() { }
+  ~MessageWriter() {}
 
   void WriteMessage(const Object& obj);
 
diff --git a/runtime/vm/snapshot_ids.h b/runtime/vm/snapshot_ids.h
index 26ad769..1e01b28 100644
--- a/runtime/vm/snapshot_ids.h
+++ b/runtime/vm/snapshot_ids.h
@@ -53,10 +53,11 @@
   kEmptyExceptionHandlers,
   kCachedArgumentsDescriptor0,
   kCachedArgumentsDescriptorN = (kCachedArgumentsDescriptor0 +
-      ArgumentsDescriptor::kCachedDescriptorCount - 1),
+                                 ArgumentsDescriptor::kCachedDescriptorCount -
+                                 1),
   kCachedICDataArray0,
-  kCachedICDataArrayN = (kCachedICDataArray0 +
-      ICData::kCachedICDataArrayCount - 1),
+  kCachedICDataArrayN =
+      (kCachedICDataArray0 + ICData::kCachedICDataArrayCount - 1),
 
   kInstanceObjectId,
   kStaticImplicitClosureObjectId,
diff --git a/runtime/vm/snapshot_test.cc b/runtime/vm/snapshot_test.cc
index 39450e4..81c4342 100644
--- a/runtime/vm/snapshot_test.cc
+++ b/runtime/vm/snapshot_test.cc
@@ -50,14 +50,16 @@
 }
 
 
-static uint8_t* malloc_allocator(
-    uint8_t* ptr, intptr_t old_size, intptr_t new_size) {
+static uint8_t* malloc_allocator(uint8_t* ptr,
+                                 intptr_t old_size,
+                                 intptr_t new_size) {
   return reinterpret_cast<uint8_t*>(realloc(ptr, new_size));
 }
 
 
-static uint8_t* zone_allocator(
-    uint8_t* ptr, intptr_t old_size, intptr_t new_size) {
+static uint8_t* zone_allocator(uint8_t* ptr,
+                               intptr_t old_size,
+                               intptr_t new_size) {
   Zone* zone = Thread::Current()->zone();
   return zone->Realloc<uint8_t>(ptr, old_size, new_size);
 }
@@ -258,10 +260,10 @@
   Mint& mint = Mint::Handle();
   mint ^= Integer::New(value);
   Dart_CObject* mint_cobject = SerializeAndDeserializeMint(mint);
-  // On 64-bit platforms mints always require 64-bits as the smi range
-  // here covers most of the 64-bit range. On 32-bit platforms the smi
-  // range covers most of the 32-bit range and values outside that
-  // range are also represented as mints.
+// On 64-bit platforms mints always require 64-bits as the smi range
+// here covers most of the 64-bit range. On 32-bit platforms the smi
+// range covers most of the 32-bit range and values outside that
+// range are also represented as mints.
 #if defined(ARCH_IS_64_BIT)
   EXPECT_EQ(Dart_CObject_kInt64, mint_cobject->type);
   EXPECT_EQ(value, mint_cobject->value.as_int64);
@@ -557,12 +559,13 @@
 TEST_CASE(SerializeString) {
   TestString("This string shall be serialized");
   TestString("æøå");  // This file is UTF-8 encoded.
-  const char* data = "\x01"
-                     "\x7F"
-                     "\xC2\x80"       // U+0080
-                     "\xDF\xBF"       // U+07FF
-                     "\xE0\xA0\x80"   // U+0800
-                     "\xEF\xBF\xBF";  // U+FFFF
+  const char* data =
+      "\x01"
+      "\x7F"
+      "\xC2\x80"       // U+0080
+      "\xDF\xBF"       // U+07FF
+      "\xE0\xA0\x80"   // U+0800
+      "\xEF\xBF\xBF";  // U+FFFF
 
   TestString(data);
   // TODO(sgjesse): Add tests with non-BMP characters.
@@ -616,7 +619,7 @@
 TEST_CASE(FailSerializeLargeNestedArray) {
   Dart_CObject parent;
   Dart_CObject child;
-  Dart_CObject* values[1] = { &child };
+  Dart_CObject* values[1] = {&child};
 
   parent.type = Dart_CObject_kArray;
   parent.value.as_array.length = 1;
@@ -733,7 +736,7 @@
     serialized_array ^= reader.ReadObject();                                   \
     for (int i = 0; i < kArrayLength; i++) {                                   \
       EXPECT_EQ(static_cast<ctype>(i),                                         \
-                serialized_array.Get##darttype(i*scale));                      \
+                serialized_array.Get##darttype(i* scale));                     \
     }                                                                          \
   }
 
@@ -741,7 +744,7 @@
 #define TEST_EXTERNAL_TYPED_ARRAY(darttype, ctype)                             \
   {                                                                            \
     StackZone zone(thread);                                                    \
-    ctype data[] = { 0, 11, 22, 33, 44, 55, 66, 77 };                          \
+    ctype data[] = {0, 11, 22, 33, 44, 55, 66, 77};                            \
     intptr_t length = ARRAY_SIZE(data);                                        \
     ExternalTypedData& array = ExternalTypedData::Handle(                      \
         ExternalTypedData::New(kExternalTypedData##darttype##ArrayCid,         \
@@ -756,7 +759,7 @@
     serialized_array ^= reader.ReadObject();                                   \
     for (int i = 0; i < length; i++) {                                         \
       EXPECT_EQ(static_cast<ctype>(data[i]),                                   \
-                serialized_array.Get##darttype(i*scale));                      \
+                serialized_array.Get##darttype(i* scale));                     \
     }                                                                          \
   }
 
@@ -832,12 +835,10 @@
     ASSERT(buffer != NULL);
     ASSERT(alloc != NULL);
   }
-  ~TestSnapshotWriter() { }
+  ~TestSnapshotWriter() {}
 
   // Writes just a script object
-  void WriteScript(const Script& script) {
-    WriteObject(script.raw());
-  }
+  void WriteScript(const Script& script) { WriteObject(script.raw()); }
 
  private:
   ForwardList forward_list_;
@@ -853,23 +854,17 @@
   Zone* zone = Thread::Current()->zone();
   const TokenStream& expected_tokens =
       TokenStream::Handle(zone, script.tokens());
-  TokenStream::Iterator expected_iterator(
-      zone,
-      expected_tokens,
-      TokenPosition::kMinSource,
-      TokenStream::Iterator::kAllTokens);
+  TokenStream::Iterator expected_iterator(zone, expected_tokens,
+                                          TokenPosition::kMinSource,
+                                          TokenStream::Iterator::kAllTokens);
   const String& str = String::Handle(zone, expected_tokens.GenerateSource());
   const String& private_key =
       String::Handle(zone, expected_tokens.PrivateKey());
   const TokenStream& reconstructed_tokens =
-      TokenStream::Handle(zone, TokenStream::New(str,
-                                                 private_key,
-                                                 false));
+      TokenStream::Handle(zone, TokenStream::New(str, private_key, false));
   expected_iterator.SetCurrentPosition(TokenPosition::kMinSource);
   TokenStream::Iterator reconstructed_iterator(
-      zone,
-      reconstructed_tokens,
-      TokenPosition::kMinSource,
+      zone, reconstructed_tokens, TokenPosition::kMinSource,
       TokenStream::Iterator::kAllTokens);
   Token::Kind expected_kind = expected_iterator.CurrentTokenKind();
   Token::Kind reconstructed_kind = reconstructed_iterator.CurrentTokenKind();
@@ -935,9 +930,8 @@
   Zone* zone = thread->zone();
   String& url = String::Handle(zone, String::New("dart-test:SerializeScript"));
   String& source = String::Handle(zone, String::New(kScriptChars));
-  Script& script = Script::Handle(zone, Script::New(url,
-                                                    source,
-                                                    RawScript::kScriptTag));
+  Script& script =
+      Script::Handle(zone, Script::New(url, source, RawScript::kScriptTag));
   const String& lib_url = String::Handle(zone, Symbols::New(thread, "TestLib"));
   Library& lib = Library::Handle(zone, Library::New(lib_url));
   lib.Register(thread);
@@ -969,11 +963,9 @@
   const ExternalTypedData& serialized_data =
       ExternalTypedData::Handle(zone, serialized_tokens.GetStream());
   EXPECT_EQ(expected_data.Length(), serialized_data.Length());
-  TokenStream::Iterator expected_iterator(zone,
-                                          expected_tokens,
+  TokenStream::Iterator expected_iterator(zone, expected_tokens,
                                           TokenPosition::kMinSource);
-  TokenStream::Iterator serialized_iterator(zone,
-                                            serialized_tokens,
+  TokenStream::Iterator serialized_iterator(zone, serialized_tokens,
                                             TokenPosition::kMinSource);
   Token::Kind expected_kind = expected_iterator.CurrentTokenKind();
   Token::Kind serialized_kind = serialized_iterator.CurrentTokenKind();
@@ -1034,10 +1026,8 @@
     Dart_EnterScope();  // Start a Dart API scope for invoking API functions.
 
     // Write out the script snapshot.
-    result = Dart_CreateSnapshot(NULL,
-                                 &vm_isolate_snapshot_size,
-                                 &isolate_snapshot,
-                                 &isolate_snapshot_size);
+    result = Dart_CreateSnapshot(NULL, &vm_isolate_snapshot_size,
+                                 &isolate_snapshot, &isolate_snapshot_size);
     EXPECT_VALID(result);
     full_snapshot = reinterpret_cast<uint8_t*>(malloc(isolate_snapshot_size));
     memmove(full_snapshot, isolate_snapshot, isolate_snapshot_size);
@@ -1122,8 +1112,8 @@
 VM_TEST_CASE(GenerateSource) {
   Zone* zone = thread->zone();
   Isolate* isolate = thread->isolate();
-  const GrowableObjectArray& libs = GrowableObjectArray::Handle(
-      zone, isolate->object_store()->libraries());
+  const GrowableObjectArray& libs =
+      GrowableObjectArray::Handle(zone, isolate->object_store()->libraries());
   Library& lib = Library::Handle();
   String& uri = String::Handle();
   for (intptr_t i = 0; i < libs.Length(); i++) {
@@ -1182,9 +1172,7 @@
 
     // Write snapshot with object content.
     {
-      FullSnapshotWriter writer(Snapshot::kCore,
-                                NULL,
-                                &isolate_snapshot_buffer,
+      FullSnapshotWriter writer(Snapshot::kCore, NULL, &isolate_snapshot_buffer,
                                 &malloc_allocator,
                                 NULL /* instructions_writer */);
       writer.WriteFullSnapshot();
@@ -1202,8 +1190,7 @@
     OS::PrintErr("From Snapshot: %" Pd64 "us\n", timer2.TotalElapsedTime());
 
     // Invoke a function which returns an object.
-    Dart_Handle cls =
-        Dart_GetClass(TestCase::lib(), NewString("FieldsTest"));
+    Dart_Handle cls = Dart_GetClass(TestCase::lib(), NewString("FieldsTest"));
     result = Dart_Invoke(cls, NewString("testMain"), 0, NULL);
     EXPECT_VALID(result);
     Dart_ExitScope();
@@ -1242,9 +1229,7 @@
 
     // Write snapshot with object content.
     {
-      FullSnapshotWriter writer(Snapshot::kCore,
-                                NULL,
-                                &isolate_snapshot_buffer,
+      FullSnapshotWriter writer(Snapshot::kCore, NULL, &isolate_snapshot_buffer,
                                 &malloc_allocator,
                                 NULL /* instructions_writer */);
       writer.WriteFullSnapshot();
@@ -1267,8 +1252,7 @@
     OS::PrintErr("From Snapshot: %" Pd64 "us\n", timer2.TotalElapsedTime());
 
     // Invoke a function which returns an object.
-    Dart_Handle cls = Dart_GetClass(TestCase::lib(),
-                                    NewString("FieldsTest"));
+    Dart_Handle cls = Dart_GetClass(TestCase::lib(), NewString("FieldsTest"));
     Dart_Handle result = Dart_Invoke(cls, NewString("testMain"), 0, NULL);
     if (Dart_IsError(result)) {
       // Print the error.  It is probably an unhandled exception.
@@ -1347,10 +1331,8 @@
     Dart_EnterScope();  // Start a Dart API scope for invoking API functions.
 
     // Write out the script snapshot.
-    result = Dart_CreateSnapshot(NULL,
-                                 &vm_isolate_snapshot_size,
-                                 &isolate_snapshot,
-                                 &isolate_snapshot_size);
+    result = Dart_CreateSnapshot(NULL, &vm_isolate_snapshot_size,
+                                 &isolate_snapshot, &isolate_snapshot_size);
     EXPECT_VALID(result);
     full_snapshot = reinterpret_cast<uint8_t*>(malloc(isolate_snapshot_size));
     memmove(full_snapshot, isolate_snapshot, isolate_snapshot_size);
@@ -1366,18 +1348,16 @@
     Dart_EnterScope();  // Start a Dart API scope for invoking API functions.
 
     // Load the library.
-    Dart_Handle import_lib = Dart_LoadLibrary(NewString("dart_import_lib"),
-                                              Dart_Null(),
-                                              NewString(kLibScriptChars),
-                                              0, 0);
+    Dart_Handle import_lib =
+        Dart_LoadLibrary(NewString("dart_import_lib"), Dart_Null(),
+                         NewString(kLibScriptChars), 0, 0);
     EXPECT_VALID(import_lib);
 
     // Create a test library and Load up a test script in it.
     TestCase::LoadTestScript(kScriptChars, NULL);
 
-    EXPECT_VALID(Dart_LibraryImportLibrary(TestCase::lib(),
-                                           import_lib,
-                                           Dart_Null()));
+    EXPECT_VALID(
+        Dart_LibraryImportLibrary(TestCase::lib(), import_lib, Dart_Null()));
     EXPECT_VALID(Api::CheckAndFinalizePendingClasses(Thread::Current()));
 
     // Get list of library URLs loaded and save the count.
@@ -1429,10 +1409,8 @@
     Dart_EnterScope();  // Start a Dart API scope for invoking API functions.
 
     // Load the library.
-    Dart_Handle lib = Dart_LoadLibrary(NewString("dart_lib"),
-                                       Dart_Null(),
-                                       NewString(kScriptChars),
-                                       0, 0);
+    Dart_Handle lib = Dart_LoadLibrary(NewString("dart_lib"), Dart_Null(),
+                                       NewString(kScriptChars), 0, 0);
     EXPECT_VALID(lib);
 
     // Write out the script snapshot.
@@ -1469,10 +1447,10 @@
 
 UNIT_TEST_CASE(ScriptSnapshot1) {
   const char* kScriptChars =
-    "class _SimpleNumEnumerable<T extends num> {"
+      "class _SimpleNumEnumerable<T extends num> {"
       "final Iterable<T> _source;"
       "const _SimpleNumEnumerable(this._source) : super();"
-    "}";
+      "}";
 
   Dart_Handle result;
   uint8_t* buffer;
@@ -1493,10 +1471,8 @@
     Dart_EnterScope();  // Start a Dart API scope for invoking API functions.
 
     // Write out the script snapshot.
-    result = Dart_CreateSnapshot(NULL,
-                                 &vm_isolate_snapshot_size,
-                                 &isolate_snapshot,
-                                 &isolate_snapshot_size);
+    result = Dart_CreateSnapshot(NULL, &vm_isolate_snapshot_size,
+                                 &isolate_snapshot, &isolate_snapshot_size);
     EXPECT_VALID(result);
     full_snapshot = reinterpret_cast<uint8_t*>(malloc(isolate_snapshot_size));
     memmove(full_snapshot, isolate_snapshot, isolate_snapshot_size);
@@ -1587,10 +1563,8 @@
     Dart_EnterScope();  // Start a Dart API scope for invoking API functions.
 
     // Write out the script snapshot.
-    result = Dart_CreateSnapshot(NULL,
-                                 &vm_isolate_snapshot_size,
-                                 &isolate_snapshot,
-                                 &isolate_snapshot_size);
+    result = Dart_CreateSnapshot(NULL, &vm_isolate_snapshot_size,
+                                 &isolate_snapshot, &isolate_snapshot_size);
     EXPECT_VALID(result);
     full_snapshot = reinterpret_cast<uint8_t*>(malloc(isolate_snapshot_size));
     memmove(full_snapshot, isolate_snapshot, isolate_snapshot_size);
@@ -1605,18 +1579,16 @@
     Dart_EnterScope();  // Start a Dart API scope for invoking API functions.
 
     // Load the library.
-    Dart_Handle import_lib = Dart_LoadLibrary(NewString("dart_import_lib"),
-                                              Dart_Null(),
-                                              NewString(kLibScriptChars),
-                                              0, 0);
+    Dart_Handle import_lib =
+        Dart_LoadLibrary(NewString("dart_import_lib"), Dart_Null(),
+                         NewString(kLibScriptChars), 0, 0);
     EXPECT_VALID(import_lib);
 
     // Create a test library and Load up a test script in it.
     TestCase::LoadTestScript(kScriptChars, NULL);
 
-    EXPECT_VALID(Dart_LibraryImportLibrary(TestCase::lib(),
-                                           import_lib,
-                                           Dart_Null()));
+    EXPECT_VALID(
+        Dart_LibraryImportLibrary(TestCase::lib(), import_lib, Dart_Null()));
     EXPECT_VALID(Api::CheckAndFinalizePendingClasses(Thread::Current()));
 
     // Write out the script snapshot.
@@ -1662,6 +1634,86 @@
 }
 
 
+UNIT_TEST_CASE(MismatchedSnapshotKinds) {
+  const char* kScriptChars = "main() { print('Hello, world!'); }";
+  Dart_Handle result;
+
+  uint8_t* buffer;
+  intptr_t size;
+  intptr_t vm_isolate_snapshot_size;
+  uint8_t* isolate_snapshot = NULL;
+  intptr_t isolate_snapshot_size;
+  uint8_t* full_snapshot = NULL;
+  uint8_t* script_snapshot = NULL;
+
+  bool saved_load_deferred_eagerly_mode = FLAG_load_deferred_eagerly;
+  FLAG_load_deferred_eagerly = true;
+  bool saved_concurrent_sweep_mode = FLAG_concurrent_sweep;
+  FLAG_concurrent_sweep = false;
+  {
+    // Start an Isolate, and create a full snapshot of it.
+    TestIsolateScope __test_isolate__;
+    Dart_EnterScope();  // Start a Dart API scope for invoking API functions.
+
+    // Write out the script snapshot.
+    result = Dart_CreateSnapshot(NULL, &vm_isolate_snapshot_size,
+                                 &isolate_snapshot, &isolate_snapshot_size);
+    EXPECT_VALID(result);
+    full_snapshot = reinterpret_cast<uint8_t*>(malloc(isolate_snapshot_size));
+    memmove(full_snapshot, isolate_snapshot, isolate_snapshot_size);
+    Dart_ExitScope();
+  }
+  FLAG_concurrent_sweep = saved_concurrent_sweep_mode;
+  FLAG_load_deferred_eagerly = saved_load_deferred_eagerly_mode;
+
+  {
+    // Create an Isolate using the full snapshot, load a script and create
+    // a script snapshot of the script.
+    TestCase::CreateTestIsolateFromSnapshot(full_snapshot);
+    Dart_EnterScope();  // Start a Dart API scope for invoking API functions.
+
+    // Create a test library and Load up a test script in it.
+    TestCase::LoadTestScript(kScriptChars, NULL);
+
+    EXPECT_VALID(Api::CheckAndFinalizePendingClasses(Thread::Current()));
+
+    // Write out the script snapshot.
+    result = Dart_CreateScriptSnapshot(&buffer, &size);
+    EXPECT_VALID(result);
+    script_snapshot = reinterpret_cast<uint8_t*>(malloc(size));
+    memmove(script_snapshot, buffer, size);
+    Dart_ExitScope();
+    Dart_ShutdownIsolate();
+  }
+
+  {
+    // Use a script snapshot where a full snapshot is expected.
+    char* error = NULL;
+    Dart_Isolate isolate = Dart_CreateIsolate(
+        "script-uri", "main", script_snapshot, NULL, NULL, &error);
+    EXPECT(isolate == NULL);
+    EXPECT(error != NULL);
+    EXPECT_SUBSTRING("got 'script', expected 'core'", error);
+  }
+
+  {
+    TestCase::CreateTestIsolateFromSnapshot(full_snapshot);
+    Dart_EnterScope();  // Start a Dart API scope for invoking API functions.
+
+    // Use a full snapshot where a script snapshot is expected.
+    Dart_Handle result = Dart_LoadScriptFromSnapshot(full_snapshot, size);
+    EXPECT_ERROR(result,
+                 "Dart_LoadScriptFromSnapshot expects parameter"
+                 " 'buffer' to be a script type snapshot.");
+
+    Dart_ExitScope();
+  }
+  Dart_ShutdownIsolate();
+  free(full_snapshot);
+  free(script_snapshot);
+}
+
+
 #endif  // !PRODUCT
 
 
@@ -1792,8 +1844,7 @@
   EXPECT(isolate != NULL);
   Dart_EnterScope();
 
-  Dart_Handle lib = TestCase::LoadTestScript(kCustomIsolateScriptChars,
-                                             NULL);
+  Dart_Handle lib = TestCase::LoadTestScript(kCustomIsolateScriptChars, NULL);
   EXPECT_VALID(lib);
   Dart_Handle smi_result;
   smi_result = Dart_Invoke(lib, NewString("getSmi"), 0, NULL);
@@ -2685,9 +2736,9 @@
 static void CheckTypedData(Dart_CObject* object,
                            Dart_TypedData_Type typed_data_type,
                            int len) {
-    EXPECT_EQ(Dart_CObject_kTypedData, object->type);
-    EXPECT_EQ(typed_data_type, object->value.as_typed_data.type);
-    EXPECT_EQ(len, object->value.as_typed_data.length);
+  EXPECT_EQ(Dart_CObject_kTypedData, object->type);
+  EXPECT_EQ(typed_data_type, object->value.as_typed_data.type);
+  EXPECT_EQ(len, object->value.as_typed_data.length);
 }
 
 UNIT_TEST_CASE(DartGeneratedListMessagesWithTypedData) {
@@ -2786,23 +2837,16 @@
         Dart_TypedData_Type type;
         int size;
       } expected[] = {
-        { Dart_TypedData_kInt8, 256},
-        { Dart_TypedData_kUint8, 256},
-        { Dart_TypedData_kInt16, 512},
-        { Dart_TypedData_kUint16, 512},
-        { Dart_TypedData_kInt32, 1024},
-        { Dart_TypedData_kUint32, 1024},
-        { Dart_TypedData_kInt64, 2048},
-        { Dart_TypedData_kUint64, 2048},
-        { Dart_TypedData_kFloat32, 1024},
-        { Dart_TypedData_kFloat64, 2048},
-        { Dart_TypedData_kInvalid, -1 }
-      };
+          {Dart_TypedData_kInt8, 256},     {Dart_TypedData_kUint8, 256},
+          {Dart_TypedData_kInt16, 512},    {Dart_TypedData_kUint16, 512},
+          {Dart_TypedData_kInt32, 1024},   {Dart_TypedData_kUint32, 1024},
+          {Dart_TypedData_kInt64, 2048},   {Dart_TypedData_kUint64, 2048},
+          {Dart_TypedData_kFloat32, 1024}, {Dart_TypedData_kFloat64, 2048},
+          {Dart_TypedData_kInvalid, -1}};
 
       int i = 0;
       while (expected[i].type != Dart_TypedData_kInvalid) {
-        CheckTypedData(root->value.as_array.values[i],
-                       expected[i].type,
+        CheckTypedData(root->value.as_array.values[i], expected[i].type,
                        expected[i].size);
         i++;
       }
@@ -2819,46 +2863,29 @@
         Dart_TypedData_Type type;
         int size;
       } expected[] = {
-        { Dart_TypedData_kInt8, 256},
-        { Dart_TypedData_kUint8, 256},
-        { Dart_TypedData_kInt16, 512},
-        { Dart_TypedData_kUint16, 512},
-        { Dart_TypedData_kInt32, 1024},
-        { Dart_TypedData_kUint32, 1024},
-        { Dart_TypedData_kInt64, 2048},
-        { Dart_TypedData_kUint64, 2048},
-        { Dart_TypedData_kFloat32, 1024},
-        { Dart_TypedData_kFloat64, 2048},
+          {Dart_TypedData_kInt8, 256},     {Dart_TypedData_kUint8, 256},
+          {Dart_TypedData_kInt16, 512},    {Dart_TypedData_kUint16, 512},
+          {Dart_TypedData_kInt32, 1024},   {Dart_TypedData_kUint32, 1024},
+          {Dart_TypedData_kInt64, 2048},   {Dart_TypedData_kUint64, 2048},
+          {Dart_TypedData_kFloat32, 1024}, {Dart_TypedData_kFloat64, 2048},
 
-        { Dart_TypedData_kInt8, 512},
-        { Dart_TypedData_kUint8, 512},
-        { Dart_TypedData_kInt8, 1024},
-        { Dart_TypedData_kUint8, 1024},
-        { Dart_TypedData_kInt8, 2048},
-        { Dart_TypedData_kUint8, 2048},
-        { Dart_TypedData_kInt8, 1024},
-        { Dart_TypedData_kUint8, 1024},
-        { Dart_TypedData_kInt8, 2048},
-        { Dart_TypedData_kUint8, 2048},
+          {Dart_TypedData_kInt8, 512},     {Dart_TypedData_kUint8, 512},
+          {Dart_TypedData_kInt8, 1024},    {Dart_TypedData_kUint8, 1024},
+          {Dart_TypedData_kInt8, 2048},    {Dart_TypedData_kUint8, 2048},
+          {Dart_TypedData_kInt8, 1024},    {Dart_TypedData_kUint8, 1024},
+          {Dart_TypedData_kInt8, 2048},    {Dart_TypedData_kUint8, 2048},
 
-        { Dart_TypedData_kInt16, 256},
-        { Dart_TypedData_kUint16, 256},
-        { Dart_TypedData_kInt16, 1024},
-        { Dart_TypedData_kUint16, 1024},
-        { Dart_TypedData_kInt16, 2048},
-        { Dart_TypedData_kUint16, 2048},
-        { Dart_TypedData_kInt16, 1024},
-        { Dart_TypedData_kUint16, 1024},
-        { Dart_TypedData_kInt16, 2048},
-        { Dart_TypedData_kUint16, 2048},
+          {Dart_TypedData_kInt16, 256},    {Dart_TypedData_kUint16, 256},
+          {Dart_TypedData_kInt16, 1024},   {Dart_TypedData_kUint16, 1024},
+          {Dart_TypedData_kInt16, 2048},   {Dart_TypedData_kUint16, 2048},
+          {Dart_TypedData_kInt16, 1024},   {Dart_TypedData_kUint16, 1024},
+          {Dart_TypedData_kInt16, 2048},   {Dart_TypedData_kUint16, 2048},
 
-        { Dart_TypedData_kInvalid, -1 }
-      };
+          {Dart_TypedData_kInvalid, -1}};
 
       int i = 0;
       while (expected[i].type != Dart_TypedData_kInvalid) {
-        CheckTypedData(root->value.as_array.values[i],
-                       expected[i].type,
+        CheckTypedData(root->value.as_array.values[i], expected[i].type,
                        expected[i].size);
         i++;
       }
@@ -2876,23 +2903,16 @@
         Dart_TypedData_Type type;
         int size;
       } expected[] = {
-        { Dart_TypedData_kInt8, 256},
-        { Dart_TypedData_kUint8, 256},
-        { Dart_TypedData_kInt16, 256},
-        { Dart_TypedData_kUint16, 256},
-        { Dart_TypedData_kInt32, 256},
-        { Dart_TypedData_kUint32, 256},
-        { Dart_TypedData_kInt64, 256},
-        { Dart_TypedData_kUint64, 256},
-        { Dart_TypedData_kFloat32, 256},
-        { Dart_TypedData_kFloat64, 256},
-        { Dart_TypedData_kInvalid, -1 }
-      };
+          {Dart_TypedData_kInt8, 256},    {Dart_TypedData_kUint8, 256},
+          {Dart_TypedData_kInt16, 256},   {Dart_TypedData_kUint16, 256},
+          {Dart_TypedData_kInt32, 256},   {Dart_TypedData_kUint32, 256},
+          {Dart_TypedData_kInt64, 256},   {Dart_TypedData_kUint64, 256},
+          {Dart_TypedData_kFloat32, 256}, {Dart_TypedData_kFloat64, 256},
+          {Dart_TypedData_kInvalid, -1}};
 
       int i = 0;
       while (expected[i].type != Dart_TypedData_kInvalid) {
-        CheckTypedData(root->value.as_array.values[i],
-                       expected[i].type,
+        CheckTypedData(root->value.as_array.values[i], expected[i].type,
                        expected[i].size);
 
         // All views point to the same data.
@@ -2980,18 +3000,14 @@
   EXPECT(Dart_PostCObject(port_id, &object));
 
   static const int kArrayLength = 10;
-  Dart_CObject* array =
-      reinterpret_cast<Dart_CObject*>(
-          Dart_ScopeAllocate(
-              sizeof(Dart_CObject) + sizeof(Dart_CObject*) * kArrayLength));  // NOLINT
+  Dart_CObject* array = reinterpret_cast<Dart_CObject*>(Dart_ScopeAllocate(
+      sizeof(Dart_CObject) + sizeof(Dart_CObject*) * kArrayLength));  // NOLINT
   array->type = Dart_CObject_kArray;
   array->value.as_array.length = kArrayLength;
-  array->value.as_array.values =
-      reinterpret_cast<Dart_CObject**>(array + 1);
+  array->value.as_array.values = reinterpret_cast<Dart_CObject**>(array + 1);
   for (int i = 0; i < kArrayLength; i++) {
-    Dart_CObject* element =
-        reinterpret_cast<Dart_CObject*>(
-            Dart_ScopeAllocate(sizeof(Dart_CObject)));
+    Dart_CObject* element = reinterpret_cast<Dart_CObject*>(
+        Dart_ScopeAllocate(sizeof(Dart_CObject)));
     element->type = Dart_CObject_kInt32;
     element->value.as_int32 = i;
     array->value.as_array.values[i] = element;
diff --git a/runtime/vm/source_report.cc b/runtime/vm/source_report.cc
index 26f2cd2..390c0f5 100644
--- a/runtime/vm/source_report.cc
+++ b/runtime/vm/source_report.cc
@@ -26,8 +26,7 @@
       start_pos_(TokenPosition::kNoSource),
       end_pos_(TokenPosition::kNoSource),
       profile_(Isolate::Current()),
-      next_script_index_(0) {
-}
+      next_script_index_(0) {}
 
 
 SourceReport::~SourceReport() {
@@ -57,9 +56,8 @@
   ClearScriptTable();
   if (IsReportRequested(kProfile)) {
     // Build the profile.
-    SampleFilter samplesForIsolate(thread_->isolate(),
-                                   Thread::kMutatorTask,
-                                   -1, -1);
+    SampleFilter samplesForIsolate(thread_->isolate(), Thread::kMutatorTask, -1,
+                                   -1);
     profile_.Build(thread, &samplesForIsolate, Profile::kNoTags);
   }
 }
@@ -95,8 +93,7 @@
     default:
       return true;
   }
-  if (func.is_abstract() ||
-      func.IsImplicitConstructor() ||
+  if (func.is_abstract() || func.IsImplicitConstructor() ||
       func.IsRedirectingFactory()) {
     return true;
   }
@@ -166,10 +163,10 @@
   const TokenPosition end_pos = function.end_token_pos();
 
   ZoneGrowableArray<const ICData*>* ic_data_array =
-      new(zone()) ZoneGrowableArray<const ICData*>();
+      new (zone()) ZoneGrowableArray<const ICData*>();
   function.RestoreICDataMap(ic_data_array, false /* clone ic-data */);
-  const PcDescriptors& descriptors = PcDescriptors::Handle(
-      zone(), code.pc_descriptors());
+  const PcDescriptors& descriptors =
+      PcDescriptors::Handle(zone(), code.pc_descriptors());
 
   JSONArray sites(jsobj, "callSites");
 
@@ -178,7 +175,7 @@
       RawPcDescriptors::kIcCall | RawPcDescriptors::kUnoptStaticCall);
   while (iter.MoveNext()) {
     HANDLESCOPE(thread());
-    // TODO(zra): Remove this bailout once DBC has reliable ICData.
+// TODO(zra): Remove this bailout once DBC has reliable ICData.
 #if defined(TARGET_ARCH_DBC)
     if (iter.DeoptId() >= ic_data_array->length()) {
       continue;
@@ -206,10 +203,10 @@
   const TokenPosition end_pos = function.end_token_pos();
 
   ZoneGrowableArray<const ICData*>* ic_data_array =
-      new(zone()) ZoneGrowableArray<const ICData*>();
+      new (zone()) ZoneGrowableArray<const ICData*>();
   function.RestoreICDataMap(ic_data_array, false /* clone ic-data */);
-  const PcDescriptors& descriptors = PcDescriptors::Handle(
-      zone(), code.pc_descriptors());
+  const PcDescriptors& descriptors =
+      PcDescriptors::Handle(zone(), code.pc_descriptors());
 
   const int kCoverageNone = 0;
   const int kCoverageMiss = 1;
@@ -227,7 +224,7 @@
       RawPcDescriptors::kIcCall | RawPcDescriptors::kUnoptStaticCall);
   while (iter.MoveNext()) {
     HANDLESCOPE(thread());
-    // TODO(zra): Remove this bailout once DBC has reliable ICData.
+// TODO(zra): Remove this bailout once DBC has reliable ICData.
 #if defined(TARGET_ARCH_DBC)
     if (iter.DeoptId() >= ic_data_array->length()) {
       continue;
@@ -279,14 +276,14 @@
 void SourceReport::PrintPossibleBreakpointsData(JSONObject* jsobj,
                                                 const Function& func,
                                                 const Code& code) {
-  const uint8_t kSafepointKind = (RawPcDescriptors::kIcCall |
-                                  RawPcDescriptors::kUnoptStaticCall |
-                                  RawPcDescriptors::kRuntimeCall);
+  const uint8_t kSafepointKind =
+      (RawPcDescriptors::kIcCall | RawPcDescriptors::kUnoptStaticCall |
+       RawPcDescriptors::kRuntimeCall);
   const TokenPosition begin_pos = func.token_pos();
   const TokenPosition end_pos = func.end_token_pos();
 
-  const PcDescriptors& descriptors = PcDescriptors::Handle(
-      zone(), code.pc_descriptors());
+  const PcDescriptors& descriptors =
+      PcDescriptors::Handle(zone(), code.pc_descriptors());
 
   intptr_t func_length = (end_pos.Pos() - begin_pos.Pos()) + 1;
   GrowableArray<char> possible(func_length);
@@ -416,8 +413,7 @@
   // We skip compiled async functions.  Once an async function has
   // been compiled, there is another function with the same range which
   // actually contains the user code.
-  if (func.IsAsyncFunction() ||
-      func.IsAsyncGenerator() ||
+  if (func.IsAsyncFunction() || func.IsAsyncGenerator() ||
       func.IsSyncGenerator()) {
     return;
   }
diff --git a/runtime/vm/source_report.h b/runtime/vm/source_report.h
index 05870f2..8db2418 100644
--- a/runtime/vm/source_report.h
+++ b/runtime/vm/source_report.h
@@ -20,10 +20,10 @@
 class SourceReport {
  public:
   enum ReportKind {
-    kCallSites           = 0x1,
-    kCoverage            = 0x2,
+    kCallSites = 0x1,
+    kCoverage = 0x2,
     kPossibleBreakpoints = 0x4,
-    kProfile             = 0x8,
+    kProfile = 0x8,
   };
 
   static const char* kCallSitesStr;
@@ -31,29 +31,28 @@
   static const char* kPossibleBreakpointsStr;
   static const char* kProfileStr;
 
-  enum CompileMode {
-    kNoCompile,
-    kForceCompile
-  };
+  enum CompileMode { kNoCompile, kForceCompile };
 
   // report_set is a bitvector indicating which reports to generate
   // (e.g. kCallSites | kCoverage).
-  explicit SourceReport(intptr_t report_set,
-                        CompileMode compile = kNoCompile);
+  explicit SourceReport(intptr_t report_set, CompileMode compile = kNoCompile);
   ~SourceReport();
 
   // Generate a source report for (some subrange of) a script.
   //
   // If script is null, then the report is generated for all scripts
   // in the isolate.
-  void PrintJSON(JSONStream* js, const Script& script,
+  void PrintJSON(JSONStream* js,
+                 const Script& script,
                  TokenPosition start_pos = TokenPosition::kNoSource,
                  TokenPosition end_pos = TokenPosition::kNoSource);
 
  private:
   void ClearScriptTable();
-  void Init(Thread* thread, const Script* script,
-            TokenPosition start_pos, TokenPosition end_pos);
+  void Init(Thread* thread,
+            const Script* script,
+            TokenPosition start_pos,
+            TokenPosition end_pos);
 
   Thread* thread() const { return thread_; }
   Zone* zone() const { return thread_->zone(); }
@@ -65,11 +64,14 @@
   bool ScriptIsLoadedByLibrary(const Script& script, const Library& lib);
 
   void PrintCallSitesData(JSONObject* jsobj,
-                          const Function& func, const Code& code);
+                          const Function& func,
+                          const Code& code);
   void PrintCoverageData(JSONObject* jsobj,
-                         const Function& func, const Code& code);
+                         const Function& func,
+                         const Code& code);
   void PrintPossibleBreakpointsData(JSONObject* jsobj,
-                                    const Function& func, const Code& code);
+                                    const Function& func,
+                                    const Code& code);
   void PrintProfileData(JSONObject* jsobj, ProfileFunction* profile_function);
 #if defined(DEBUG)
   void VerifyScriptTable();
@@ -95,17 +97,11 @@
     typedef const String* Key;
     typedef ScriptTableEntry* Pair;
 
-    static Key KeyOf(Pair kv) {
-      return kv->key;
-    }
+    static Key KeyOf(Pair kv) { return kv->key; }
 
-    static Value ValueOf(Pair kv) {
-      return kv;
-    }
+    static Value ValueOf(Pair kv) { return kv; }
 
-    static inline intptr_t Hashcode(Key key) {
-      return key->Hash();
-    }
+    static inline intptr_t Hashcode(Key key) { return key->Hash(); }
 
     static inline bool IsKeyEqual(Pair kv, Key key) {
       return kv->key->Equals(*key);
diff --git a/runtime/vm/source_report_test.cc b/runtime/vm/source_report_test.cc
index 2d3f5bc..1651c4f 100644
--- a/runtime/vm/source_report_test.cc
+++ b/runtime/vm/source_report_test.cc
@@ -31,8 +31,8 @@
   Library& lib = Library::Handle();
   lib ^= ExecuteScript(kScript);
   ASSERT(!lib.IsNull());
-  const Script& script = Script::Handle(lib.LookupScript(
-      String::Handle(String::New("test-lib"))));
+  const Script& script =
+      Script::Handle(lib.LookupScript(String::Handle(String::New("test-lib"))));
 
   SourceReport report(SourceReport::kCoverage);
   JSONStream js;
@@ -68,8 +68,8 @@
   Library& lib = Library::Handle();
   lib ^= ExecuteScript(kScript);
   ASSERT(!lib.IsNull());
-  const Script& script = Script::Handle(lib.LookupScript(
-      String::Handle(String::New("test-lib"))));
+  const Script& script =
+      Script::Handle(lib.LookupScript(String::Handle(String::New("test-lib"))));
 
   SourceReport report(SourceReport::kCoverage);
   JSONStream js;
@@ -113,8 +113,8 @@
   Library& lib = Library::Handle();
   lib ^= ExecuteScript(kScript);
   ASSERT(!lib.IsNull());
-  const Script& script = Script::Handle(lib.LookupScript(
-      String::Handle(String::New("test-lib"))));
+  const Script& script =
+      Script::Handle(lib.LookupScript(String::Handle(String::New("test-lib"))));
 
   SourceReport report(SourceReport::kCoverage, SourceReport::kForceCompile);
   JSONStream js;
@@ -157,8 +157,8 @@
   Library& lib = Library::Handle();
   lib ^= ExecuteScript(kScript);
   ASSERT(!lib.IsNull());
-  const Script& script = Script::Handle(lib.LookupScript(
-      String::Handle(String::New("test-lib"))));
+  const Script& script =
+      Script::Handle(lib.LookupScript(String::Handle(String::New("test-lib"))));
 
   SourceReport report(SourceReport::kCoverage);
   JSONStream js;
@@ -200,8 +200,8 @@
   Library& lib = Library::Handle();
   lib ^= ExecuteScript(kScript);
   ASSERT(!lib.IsNull());
-  const Script& script = Script::Handle(lib.LookupScript(
-      String::Handle(String::New("test-lib"))));
+  const Script& script =
+      Script::Handle(lib.LookupScript(String::Handle(String::New("test-lib"))));
 
   SourceReport report(SourceReport::kCoverage, SourceReport::kForceCompile);
   JSONStream js;
@@ -244,8 +244,8 @@
   Library& lib = Library::Handle();
   lib ^= ExecuteScript(kScript);
   ASSERT(!lib.IsNull());
-  const Script& script = Script::Handle(lib.LookupScript(
-      String::Handle(String::New("test-lib"))));
+  const Script& script =
+      Script::Handle(lib.LookupScript(String::Handle(String::New("test-lib"))));
 
   SourceReport report(SourceReport::kCoverage, SourceReport::kForceCompile);
   JSONStream js;
@@ -297,8 +297,8 @@
   Library& lib = Library::Handle();
   lib ^= ExecuteScript(kScript);
   ASSERT(!lib.IsNull());
-  const Script& script = Script::Handle(lib.LookupScript(
-      String::Handle(String::New("test-lib"))));
+  const Script& script =
+      Script::Handle(lib.LookupScript(String::Handle(String::New("test-lib"))));
 
   SourceReport report(SourceReport::kCoverage);
   JSONStream js;
@@ -353,8 +353,8 @@
   Library& lib = Library::Handle();
   lib ^= ExecuteScript(kScript);
   ASSERT(!lib.IsNull());
-  const Script& script = Script::Handle(lib.LookupScript(
-      String::Handle(String::New("test-lib"))));
+  const Script& script =
+      Script::Handle(lib.LookupScript(String::Handle(String::New("test-lib"))));
   const Function& helper = Function::Handle(
       lib.LookupLocalFunction(String::Handle(String::New("helper0"))));
 
@@ -480,8 +480,8 @@
   Library& lib = Library::Handle();
   lib ^= ExecuteScript(kScript);
   ASSERT(!lib.IsNull());
-  const Script& script = Script::Handle(lib.LookupScript(
-      String::Handle(String::New("test-lib"))));
+  const Script& script =
+      Script::Handle(lib.LookupScript(String::Handle(String::New("test-lib"))));
 
   SourceReport report(SourceReport::kCallSites);
   JSONStream js;
@@ -537,8 +537,8 @@
   Library& lib = Library::Handle();
   lib ^= ExecuteScript(kScript);
   ASSERT(!lib.IsNull());
-  const Script& script = Script::Handle(lib.LookupScript(
-      String::Handle(String::New("test-lib"))));
+  const Script& script =
+      Script::Handle(lib.LookupScript(String::Handle(String::New("test-lib"))));
   const Function& helper = Function::Handle(
       lib.LookupLocalFunction(String::Handle(String::New("helper"))));
 
@@ -601,10 +601,10 @@
   Library& lib = Library::Handle();
   lib ^= ExecuteScript(kScript);
   ASSERT(!lib.IsNull());
-  const Script& script = Script::Handle(lib.LookupScript(
-      String::Handle(String::New("test-lib"))));
+  const Script& script =
+      Script::Handle(lib.LookupScript(String::Handle(String::New("test-lib"))));
 
-  SourceReport report(SourceReport::kCallSites|SourceReport::kCoverage);
+  SourceReport report(SourceReport::kCallSites | SourceReport::kCoverage);
   JSONStream js;
   report.PrintJSON(&js, script);
   ElideJSONSubstring("classes", js.ToCString(), buffer);
@@ -654,8 +654,8 @@
   Library& lib = Library::Handle();
   lib ^= ExecuteScript(kScript);
   ASSERT(!lib.IsNull());
-  const Script& script = Script::Handle(lib.LookupScript(
-      String::Handle(String::New("test-lib"))));
+  const Script& script =
+      Script::Handle(lib.LookupScript(String::Handle(String::New("test-lib"))));
 
   SourceReport report(SourceReport::kPossibleBreakpoints);
   JSONStream js;
diff --git a/runtime/vm/spaces.h b/runtime/vm/spaces.h
index 4b94b481..33e2031 100644
--- a/runtime/vm/spaces.h
+++ b/runtime/vm/spaces.h
@@ -12,10 +12,7 @@
 
 // Usage statistics for a space/generation at a particular moment in time.
 struct SpaceUsage {
-  SpaceUsage()
-    : capacity_in_words(0),
-      used_in_words(0),
-      external_in_words(0) {}
+  SpaceUsage() : capacity_in_words(0), used_in_words(0), external_in_words(0) {}
   intptr_t capacity_in_words;
   intptr_t used_in_words;
   intptr_t external_in_words;
diff --git a/runtime/vm/stack_frame.cc b/runtime/vm/stack_frame.cc
index 6603127..b621047 100644
--- a/runtime/vm/stack_frame.cc
+++ b/runtime/vm/stack_frame.cc
@@ -46,19 +46,17 @@
     if (owner.IsFunction()) {
       const Function& function = Function::Cast(owner);
       return zone->PrintToString(
-          "[%-8s : sp(%#" Px ") fp(%#" Px ") pc(%#" Px ") %s ]",
-          GetName(), sp(), fp(), pc(),
-          function.ToFullyQualifiedCString());
+          "[%-8s : sp(%#" Px ") fp(%#" Px ") pc(%#" Px ") %s ]", GetName(),
+          sp(), fp(), pc(), function.ToFullyQualifiedCString());
     } else {
       return zone->PrintToString(
-          "[%-8s : sp(%#" Px ") fp(%#" Px ") pc(%#" Px ") %s ]",
-          GetName(), sp(), fp(), pc(),
-          owner.ToCString());
+          "[%-8s : sp(%#" Px ") fp(%#" Px ") pc(%#" Px ") %s ]", GetName(),
+          sp(), fp(), pc(), owner.ToCString());
     }
   } else {
-    return zone->PrintToString(
-        "[%-8s : sp(%#" Px ") fp(%#" Px ") pc(%#" Px ")]",
-        GetName(), sp(), fp(), pc());
+    return zone->PrintToString("[%-8s : sp(%#" Px ") fp(%#" Px ") pc(%#" Px
+                               ")]",
+                               GetName(), sp(), fp(), pc());
   }
 }
 
@@ -222,9 +220,9 @@
 
 
 RawCode* StackFrame::LookupDartCode() const {
-  // We add a no gc scope to ensure that the code below does not trigger
-  // a GC as we are handling raw object references here. It is possible
-  // that the code is called while a GC is in progress, that is ok.
+// We add a no gc scope to ensure that the code below does not trigger
+// a GC as we are handling raw object references here. It is possible
+// that the code is called while a GC is in progress, that is ok.
 #if !defined(TARGET_OS_WINDOWS)
   // On Windows, the profiler calls this from a separate thread where
   // Thread::Current() is NULL, so we cannot create a NoSafepointScope.
@@ -353,7 +351,8 @@
 }
 
 
-StackFrameIterator::StackFrameIterator(uword last_fp, bool validate,
+StackFrameIterator::StackFrameIterator(uword last_fp,
+                                       bool validate,
                                        Thread* thread)
     : validate_(validate),
       entry_(thread),
@@ -370,8 +369,11 @@
 
 
 #if !defined(TARGET_ARCH_DBC)
-StackFrameIterator::StackFrameIterator(uword fp, uword sp, uword pc,
-                                       bool validate, Thread* thread)
+StackFrameIterator::StackFrameIterator(uword fp,
+                                       uword sp,
+                                       uword pc,
+                                       bool validate,
+                                       Thread* thread)
     : validate_(validate),
       entry_(thread),
       exit_(thread),
@@ -410,7 +412,8 @@
       // Iteration starts from an exit frame given by its fp.
       current_frame_ = NextExitFrame();
     } else if (*(reinterpret_cast<uword*>(
-        frames_.fp_ + (kSavedCallerFpSlotFromFp * kWordSize))) == 0) {
+                   frames_.fp_ + (kSavedCallerFpSlotFromFp * kWordSize))) ==
+               0) {
       // Iteration starts from an entry frame given by its fp, sp, and pc.
       current_frame_ = NextEntryFrame();
     } else {
@@ -486,15 +489,15 @@
 
 
 InlinedFunctionsIterator::InlinedFunctionsIterator(const Code& code, uword pc)
-  : index_(0),
-    num_materializations_(0),
-    dest_frame_size_(0),
-    code_(Code::Handle(code.raw())),
-    deopt_info_(TypedData::Handle()),
-    function_(Function::Handle()),
-    pc_(pc),
-    deopt_instructions_(),
-    object_table_(ObjectPool::Handle()) {
+    : index_(0),
+      num_materializations_(0),
+      dest_frame_size_(0),
+      code_(Code::Handle(code.raw())),
+      deopt_info_(TypedData::Handle()),
+      function_(Function::Handle()),
+      pc_(pc),
+      deopt_instructions_(),
+      object_table_(ObjectPool::Handle()) {
   ASSERT(code_.is_optimized());
   ASSERT(pc_ != 0);
   ASSERT(code.ContainsInstructionAt(pc));
@@ -546,9 +549,7 @@
 // current frame were to be deoptimized.
 intptr_t InlinedFunctionsIterator::GetDeoptFpOffset() const {
   ASSERT(deopt_instructions_.length() != 0);
-  for (intptr_t index = index_;
-       index < deopt_instructions_.length();
-       index++) {
+  for (intptr_t index = index_; index < deopt_instructions_.length(); index++) {
     DeoptInstr* deopt_instr = deopt_instructions_[index];
     if (deopt_instr->kind() == DeoptInstr::kCallerFp) {
 #if defined(TARGET_ARCH_DBC)
diff --git a/runtime/vm/stack_frame.h b/runtime/vm/stack_frame.h
index 5076939..dcc6cee 100644
--- a/runtime/vm/stack_frame.h
+++ b/runtime/vm/stack_frame.h
@@ -35,7 +35,7 @@
 // Generic stack frame.
 class StackFrame : public ValueObject {
  public:
-  virtual ~StackFrame() { }
+  virtual ~StackFrame() {}
 
   // Accessors to get the pc, sp and fp of a frame.
   uword sp() const { return sp_; }
@@ -52,8 +52,8 @@
   }
 
   uword IsMarkedForLazyDeopt() const {
-    uword raw_pc = *reinterpret_cast<uword*>(
-        sp() + (kSavedPcSlotFromSp * kWordSize));
+    uword raw_pc =
+        *reinterpret_cast<uword*>(sp() + (kSavedPcSlotFromSp * kWordSize));
     return raw_pc == StubCode::DeoptimizeLazyFromReturn_entry()->EntryPoint();
   }
   void MarkForLazyDeopt() {
@@ -107,10 +107,12 @@
 
  protected:
   explicit StackFrame(Thread* thread)
-      : fp_(0), sp_(0), pc_(0), thread_(thread) { }
+      : fp_(0), sp_(0), pc_(0), thread_(thread) {}
 
   // Name of the frame, used for generic frame printing functionality.
-  virtual const char* GetName() const { return IsStubFrame()? "stub" : "dart"; }
+  virtual const char* GetName() const {
+    return IsStubFrame() ? "stub" : "dart";
+  }
 
   Isolate* isolate() const { return thread_->isolate(); }
 
@@ -119,13 +121,11 @@
  private:
   RawCode* GetCodeObject() const;
 
-  uword GetCallerSp() const {
-    return fp() + (kCallerSpSlotFromFp * kWordSize);
-  }
+  uword GetCallerSp() const { return fp() + (kCallerSpSlotFromFp * kWordSize); }
 
   uword GetCallerFp() const {
-    return *(reinterpret_cast<uword*>(
-      fp() + (kSavedCallerFpSlotFromFp * kWordSize)));
+    return *(reinterpret_cast<uword*>(fp() +
+                                      (kSavedCallerFpSlotFromFp * kWordSize)));
   }
 
   uword GetCallerPc() const {
@@ -167,7 +167,7 @@
   virtual const char* GetName() const { return "exit"; }
 
  private:
-  explicit ExitFrame(Thread* thread) : StackFrame(thread) { }
+  explicit ExitFrame(Thread* thread) : StackFrame(thread) {}
 
   friend class StackFrameIterator;
   DISALLOW_COPY_AND_ASSIGN(ExitFrame);
@@ -178,9 +178,7 @@
 // dart code.
 class EntryFrame : public StackFrame {
  public:
-  bool IsValid() const {
-    return StubCode::InInvocationStub(pc());
-  }
+  bool IsValid() const { return StubCode::InInvocationStub(pc()); }
   bool IsDartFrame(bool validate = true) const { return false; }
   bool IsStubFrame() const { return false; }
   bool IsEntryFrame() const { return true; }
@@ -192,7 +190,7 @@
   virtual const char* GetName() const { return "entry"; }
 
  private:
-  explicit EntryFrame(Thread* thread) : StackFrame(thread) { }
+  explicit EntryFrame(Thread* thread) : StackFrame(thread) {}
 
   friend class StackFrameIterator;
   DISALLOW_COPY_AND_ASSIGN(EntryFrame);
@@ -211,15 +209,19 @@
 
   // Iterators for iterating over all frames from the last ExitFrame to the
   // first EntryFrame.
-  StackFrameIterator(bool validate,
-                     Thread* thread = Thread::Current());
-  StackFrameIterator(uword last_fp, bool validate,
+  explicit StackFrameIterator(bool validate,
+                              Thread* thread = Thread::Current());
+  StackFrameIterator(uword last_fp,
+                     bool validate,
                      Thread* thread = Thread::Current());
 
 #if !defined(TARGET_ARCH_DBC)
   // Iterator for iterating over all frames from the current frame (given by its
   // fp, sp, and pc) to the first EntryFrame.
-  StackFrameIterator(uword fp, uword sp, uword pc, bool validate,
+  StackFrameIterator(uword fp,
+                     uword sp,
+                     uword pc,
+                     bool validate,
                      Thread* thread = Thread::Current());
 #endif
 
@@ -241,8 +243,8 @@
       if (fp_ == 0) {
         return false;
       }
-      const uword pc = *(reinterpret_cast<uword*>(
-          sp_ + (kSavedPcSlotFromSp * kWordSize)));
+      const uword pc =
+          *(reinterpret_cast<uword*>(sp_ + (kSavedPcSlotFromSp * kWordSize)));
       return !StubCode::InInvocationStub(pc);
     }
 
@@ -251,7 +253,7 @@
 
    private:
     explicit FrameSetIterator(Thread* thread)
-        : fp_(0), sp_(0), pc_(0), stack_frame_(thread), thread_(thread) { }
+        : fp_(0), sp_(0), pc_(0), stack_frame_(thread), thread_(thread) {}
     uword fp_;
     uword sp_;
     uword pc_;
@@ -277,9 +279,9 @@
   void SetupLastExitFrameData();
   void SetupNextExitFrameData();
 
-  bool validate_;  // Validate each frame as we traverse the frames.
+  bool validate_;     // Validate each frame as we traverse the frames.
   EntryFrame entry_;  // Singleton entry frame returned by NextEntryFrame().
-  ExitFrame exit_;  // Singleton exit frame returned by NextExitFrame().
+  ExitFrame exit_;    // Singleton exit frame returned by NextExitFrame().
   FrameSetIterator frames_;
   StackFrame* current_frame_;  // Points to the current frame in the iterator.
   Thread* thread_;
@@ -298,19 +300,16 @@
 class DartFrameIterator : public ValueObject {
  public:
   explicit DartFrameIterator(Thread* thread = Thread::Current())
-      : frames_(StackFrameIterator::kDontValidateFrames, thread) { }
-  DartFrameIterator(uword last_fp,
-                    Thread* thread = Thread::Current())
-      : frames_(last_fp, StackFrameIterator::kDontValidateFrames, thread) { }
+      : frames_(StackFrameIterator::kDontValidateFrames, thread) {}
+  explicit DartFrameIterator(uword last_fp, Thread* thread = Thread::Current())
+      : frames_(last_fp, StackFrameIterator::kDontValidateFrames, thread) {}
 
 #if !defined(TARGET_ARCH_DBC)
   DartFrameIterator(uword fp,
                     uword sp,
                     uword pc,
                     Thread* thread = Thread::Current())
-      : frames_(fp, sp, pc,
-                StackFrameIterator::kDontValidateFrames, thread) {
-  }
+      : frames_(fp, sp, pc, StackFrameIterator::kDontValidateFrames, thread) {}
 #endif
 
   // Get next dart frame.
diff --git a/runtime/vm/stack_frame_dbc.h b/runtime/vm/stack_frame_dbc.h
index f355fa9..9cc08ac 100644
--- a/runtime/vm/stack_frame_dbc.h
+++ b/runtime/vm/stack_frame_dbc.h
@@ -43,7 +43,7 @@
 static const int kSavedCallerFpSlotFromFp = -1;
 static const int kSavedCallerPpSlotFromFp = kSavedCallerFpSlotFromFp;
 static const int kSavedCallerPcSlotFromFp = -2;
-static const int kCallerSpSlotFromFp = -kDartFrameFixedSize-1;
+static const int kCallerSpSlotFromFp = -kDartFrameFixedSize - 1;
 static const int kPcMarkerSlotFromFp = -3;
 static const int kFunctionSlotFromFp = -4;
 
diff --git a/runtime/vm/stack_frame_test.cc b/runtime/vm/stack_frame_test.cc
index a2198aa..d1ebde6 100644
--- a/runtime/vm/stack_frame_test.cc
+++ b/runtime/vm/stack_frame_test.cc
@@ -34,8 +34,7 @@
 
 
 #define FUNCTION_NAME(name) StackFrame_##name
-#define REGISTER_FUNCTION(name, count)                                         \
-  { ""#name, FUNCTION_NAME(name), count },
+#define REGISTER_FUNCTION(name, count) {"" #name, FUNCTION_NAME(name), count},
 
 
 void FUNCTION_NAME(StackFrame_equals)(Dart_NativeArguments args) {
@@ -43,8 +42,8 @@
   const Instance& expected = Instance::CheckedHandle(arguments->NativeArgAt(0));
   const Instance& actual = Instance::CheckedHandle(arguments->NativeArgAt(1));
   if (!expected.OperatorEquals(actual)) {
-    OS::Print("expected: '%s' actual: '%s'\n",
-        expected.ToCString(), actual.ToCString());
+    OS::Print("expected: '%s' actual: '%s'\n", expected.ToCString(),
+              actual.ToCString());
     FATAL("Expect_equals fails.\n");
   }
 }
@@ -99,8 +98,8 @@
       const char* name = function.ToFullyQualifiedCString();
       // Currently all unit tests are loaded as being part of dart:core-lib.
       String& url = String::Handle(zone, String::New(TestCase::url()));
-      const Library& lib = Library::Handle(zone,
-                                           Library::LookupLibrary(thread, url));
+      const Library& lib =
+          Library::Handle(zone, Library::LookupLibrary(thread, url));
       ASSERT(!lib.IsNull());
       const char* lib_name = String::Handle(zone, lib.url()).ToCString();
       char* full_name = OS::SCreate(zone, "%s_%s", lib_name, expected_name);
@@ -123,16 +122,14 @@
   V(StackFrame_equals, 2)                                                      \
   V(StackFrame_frameCount, 0)                                                  \
   V(StackFrame_dartFrameCount, 0)                                              \
-  V(StackFrame_validateFrame, 2)                                               \
+  V(StackFrame_validateFrame, 2)
 
 
 static struct NativeEntries {
   const char* name_;
   Dart_NativeFunction function_;
   int argument_count_;
-} BuiltinEntries[] = {
-  STACKFRAME_NATIVE_LIST(REGISTER_FUNCTION)
-};
+} BuiltinEntries[] = {STACKFRAME_NATIVE_LIST(REGISTER_FUNCTION)};
 
 
 static Dart_NativeFunction native_lookup(Dart_Handle name,
@@ -237,8 +234,7 @@
       "  }"
       "}";
   Dart_Handle lib = TestCase::LoadTestScript(
-      kScriptChars,
-      reinterpret_cast<Dart_NativeEntryResolver>(native_lookup));
+      kScriptChars, reinterpret_cast<Dart_NativeEntryResolver>(native_lookup));
   Dart_Handle cls = Dart_GetClass(lib, NewString("StackFrameTest"));
   EXPECT_VALID(Dart_Invoke(cls, NewString("testMain"), 0, NULL));
 }
@@ -252,75 +248,77 @@
   // methods are marked invisible.
   if (FLAG_lazy_dispatchers) {
     kScriptChars =
-      "class StackFrame {"
-      "  static equals(var obj1, var obj2) native \"StackFrame_equals\";"
-      "  static int frameCount() native \"StackFrame_frameCount\";"
-      "  static int dartFrameCount() native \"StackFrame_dartFrameCount\";"
-      "  static validateFrame(int index,"
-      "                       String name) native \"StackFrame_validateFrame\";"
-      "} "
-      "class StackFrame2Test {"
-      "  StackFrame2Test() {}"
-      "  noSuchMethod(Invocation im) {"
-      "    /* We should have 6 general frames and 4 dart frames as follows:"
-      "     * exit frame"
-      "     * dart frame corresponding to StackFrame.frameCount"
-      "     * dart frame corresponding to StackFrame2Test.noSuchMethod"
-      "     * frame for instance function invocation stub calling noSuchMethod"
-      "     * dart frame corresponding to StackFrame2Test.testMain"
-      "     * entry frame"
-      "     */"
-      "    StackFrame.equals(6, StackFrame.frameCount());"
-      "    StackFrame.equals(4, StackFrame.dartFrameCount());"
-      "    StackFrame.validateFrame(0, \"StackFrame_validateFrame\");"
-      "    StackFrame.validateFrame(1, \"StackFrame2Test_noSuchMethod\");"
-      "    StackFrame.validateFrame(2, \"StackFrame2Test_foo\");"
-      "    StackFrame.validateFrame(3, \"StackFrame2Test_testMain\");"
-      "    return 5;"
-      "  }"
-      "  static testMain() {"
-      "    var obj = new StackFrame2Test();"
-      "    StackFrame.equals(5, obj.foo(101, 202));"
-      "  }"
-      "}";
+        "class StackFrame {"
+        "  static equals(var obj1, var obj2) native \"StackFrame_equals\";"
+        "  static int frameCount() native \"StackFrame_frameCount\";"
+        "  static int dartFrameCount() native \"StackFrame_dartFrameCount\";"
+        "  static validateFrame(int index,"
+        "                       String name) native "
+        "\"StackFrame_validateFrame\";"
+        "} "
+        "class StackFrame2Test {"
+        "  StackFrame2Test() {}"
+        "  noSuchMethod(Invocation im) {"
+        "    /* We should have 6 general frames and 4 dart frames as follows:"
+        "     * exit frame"
+        "     * dart frame corresponding to StackFrame.frameCount"
+        "     * dart frame corresponding to StackFrame2Test.noSuchMethod"
+        "     * frame for instance function invocation stub calling "
+        "noSuchMethod"
+        "     * dart frame corresponding to StackFrame2Test.testMain"
+        "     * entry frame"
+        "     */"
+        "    StackFrame.equals(6, StackFrame.frameCount());"
+        "    StackFrame.equals(4, StackFrame.dartFrameCount());"
+        "    StackFrame.validateFrame(0, \"StackFrame_validateFrame\");"
+        "    StackFrame.validateFrame(1, \"StackFrame2Test_noSuchMethod\");"
+        "    StackFrame.validateFrame(2, \"StackFrame2Test_foo\");"
+        "    StackFrame.validateFrame(3, \"StackFrame2Test_testMain\");"
+        "    return 5;"
+        "  }"
+        "  static testMain() {"
+        "    var obj = new StackFrame2Test();"
+        "    StackFrame.equals(5, obj.foo(101, 202));"
+        "  }"
+        "}";
   } else {
     kScriptChars =
-      "class StackFrame {"
-      "  static equals(var obj1, var obj2) native \"StackFrame_equals\";"
-      "  static int frameCount() native \"StackFrame_frameCount\";"
-      "  static int dartFrameCount() native \"StackFrame_dartFrameCount\";"
-      "  static validateFrame(int index,"
-      "                       String name) native \"StackFrame_validateFrame\";"
-      "} "
-      "class StackFrame2Test {"
-      "  StackFrame2Test() {}"
-      "  noSuchMethod(Invocation im) {"
-      "    /* We should have 8 general frames and 3 dart frames as follows:"
-      "     * exit frame"
-      "     * dart frame corresponding to StackFrame.frameCount"
-      "     * dart frame corresponding to StackFrame2Test.noSuchMethod"
-      "     * entry frame"
-      "     * exit frame (call to runtime InvokeNoSuchMethodDispatcher)"
-      "     * IC stub"
-      "     * dart frame corresponding to StackFrame2Test.testMain"
-      "     * entry frame"
-      "     */"
-      "    StackFrame.equals(8, StackFrame.frameCount());"
-      "    StackFrame.equals(3, StackFrame.dartFrameCount());"
-      "    StackFrame.validateFrame(0, \"StackFrame_validateFrame\");"
-      "    StackFrame.validateFrame(1, \"StackFrame2Test_noSuchMethod\");"
-      "    StackFrame.validateFrame(2, \"StackFrame2Test_testMain\");"
-      "    return 5;"
-      "  }"
-      "  static testMain() {"
-      "    var obj = new StackFrame2Test();"
-      "    StackFrame.equals(5, obj.foo(101, 202));"
-      "  }"
-      "}";
+        "class StackFrame {"
+        "  static equals(var obj1, var obj2) native \"StackFrame_equals\";"
+        "  static int frameCount() native \"StackFrame_frameCount\";"
+        "  static int dartFrameCount() native \"StackFrame_dartFrameCount\";"
+        "  static validateFrame(int index,"
+        "                       String name) native "
+        "\"StackFrame_validateFrame\";"
+        "} "
+        "class StackFrame2Test {"
+        "  StackFrame2Test() {}"
+        "  noSuchMethod(Invocation im) {"
+        "    /* We should have 8 general frames and 3 dart frames as follows:"
+        "     * exit frame"
+        "     * dart frame corresponding to StackFrame.frameCount"
+        "     * dart frame corresponding to StackFrame2Test.noSuchMethod"
+        "     * entry frame"
+        "     * exit frame (call to runtime InvokeNoSuchMethodDispatcher)"
+        "     * IC stub"
+        "     * dart frame corresponding to StackFrame2Test.testMain"
+        "     * entry frame"
+        "     */"
+        "    StackFrame.equals(8, StackFrame.frameCount());"
+        "    StackFrame.equals(3, StackFrame.dartFrameCount());"
+        "    StackFrame.validateFrame(0, \"StackFrame_validateFrame\");"
+        "    StackFrame.validateFrame(1, \"StackFrame2Test_noSuchMethod\");"
+        "    StackFrame.validateFrame(2, \"StackFrame2Test_testMain\");"
+        "    return 5;"
+        "  }"
+        "  static testMain() {"
+        "    var obj = new StackFrame2Test();"
+        "    StackFrame.equals(5, obj.foo(101, 202));"
+        "  }"
+        "}";
   }
   Dart_Handle lib = TestCase::LoadTestScript(
-      kScriptChars,
-      reinterpret_cast<Dart_NativeEntryResolver>(native_lookup));
+      kScriptChars, reinterpret_cast<Dart_NativeEntryResolver>(native_lookup));
   Dart_Handle cls = Dart_GetClass(lib, NewString("StackFrame2Test"));
   EXPECT_VALID(Dart_Invoke(cls, NewString("testMain"), 0, NULL));
 }
diff --git a/runtime/vm/store_buffer.cc b/runtime/vm/store_buffer.cc
index 67f0fcb..95e6f96 100644
--- a/runtime/vm/store_buffer.cc
+++ b/runtime/vm/store_buffer.cc
@@ -15,40 +15,39 @@
 }
 END_LEAF_RUNTIME_ENTRY
 
-template<int BlockSize>
-typename BlockStack<BlockSize>::List*
-BlockStack<BlockSize>::global_empty_ = NULL;
-template<int BlockSize>
+template <int BlockSize>
+typename BlockStack<BlockSize>::List* BlockStack<BlockSize>::global_empty_ =
+    NULL;
+template <int BlockSize>
 Mutex* BlockStack<BlockSize>::global_mutex_ = NULL;
 
 
-template<int BlockSize>
+template <int BlockSize>
 void BlockStack<BlockSize>::InitOnce() {
   global_empty_ = new List();
   global_mutex_ = new Mutex();
 }
 
 
-template<int BlockSize>
+template <int BlockSize>
 void BlockStack<BlockSize>::ShutDown() {
   delete global_empty_;
   delete global_mutex_;
 }
 
 
-template<int BlockSize>
-BlockStack<BlockSize>::BlockStack() : mutex_(new Mutex()) {
-}
+template <int BlockSize>
+BlockStack<BlockSize>::BlockStack() : mutex_(new Mutex()) {}
 
 
-template<int BlockSize>
+template <int BlockSize>
 BlockStack<BlockSize>::~BlockStack() {
   Reset();
   delete mutex_;
 }
 
 
-template<int BlockSize>
+template <int BlockSize>
 void BlockStack<BlockSize>::Reset() {
   MutexLocker local_mutex_locker(mutex_);
   {
@@ -69,7 +68,7 @@
 }
 
 
-template<int BlockSize>
+template <int BlockSize>
 typename BlockStack<BlockSize>::Block* BlockStack<BlockSize>::Blocks() {
   MutexLocker ml(mutex_);
   while (!partial_.IsEmpty()) {
@@ -79,7 +78,7 @@
 }
 
 
-template<int BlockSize>
+template <int BlockSize>
 void BlockStack<BlockSize>::PushBlockImpl(Block* block) {
   ASSERT(block->next() == NULL);  // Should be just a single block.
   if (block->IsFull()) {
@@ -110,7 +109,7 @@
 }
 
 
-template<int BlockSize>
+template <int BlockSize>
 typename BlockStack<BlockSize>::Block*
 BlockStack<BlockSize>::PopNonFullBlock() {
   {
@@ -123,7 +122,7 @@
 }
 
 
-template<int BlockSize>
+template <int BlockSize>
 typename BlockStack<BlockSize>::Block* BlockStack<BlockSize>::PopEmptyBlock() {
   {
     MutexLocker ml(global_mutex_);
@@ -135,7 +134,7 @@
 }
 
 
-template<int BlockSize>
+template <int BlockSize>
 typename BlockStack<BlockSize>::Block*
 BlockStack<BlockSize>::PopNonEmptyBlock() {
   MutexLocker ml(mutex_);
@@ -149,14 +148,14 @@
 }
 
 
-template<int BlockSize>
+template <int BlockSize>
 bool BlockStack<BlockSize>::IsEmpty() {
   MutexLocker ml(mutex_);
   return full_.IsEmpty() && partial_.IsEmpty();
 }
 
 
-template<int BlockSize>
+template <int BlockSize>
 BlockStack<BlockSize>::List::~List() {
   while (!IsEmpty()) {
     delete Pop();
@@ -164,7 +163,7 @@
 }
 
 
-template<int BlockSize>
+template <int BlockSize>
 typename BlockStack<BlockSize>::Block* BlockStack<BlockSize>::List::Pop() {
   Block* result = head_;
   head_ = head_->next_;
@@ -174,7 +173,7 @@
 }
 
 
-template<int BlockSize>
+template <int BlockSize>
 typename BlockStack<BlockSize>::Block* BlockStack<BlockSize>::List::PopAll() {
   Block* result = head_;
   head_ = NULL;
@@ -183,7 +182,7 @@
 }
 
 
-template<int BlockSize>
+template <int BlockSize>
 void BlockStack<BlockSize>::List::Push(Block* block) {
   ASSERT(block->next_ == NULL);
   block->next_ = head_;
@@ -198,7 +197,7 @@
 }
 
 
-template<int BlockSize>
+template <int BlockSize>
 void BlockStack<BlockSize>::TrimGlobalEmpty() {
   DEBUG_ASSERT(global_mutex_->IsOwnedByCurrentThread());
   while (global_empty_->length() > kMaxGlobalEmpty) {
diff --git a/runtime/vm/store_buffer.h b/runtime/vm/store_buffer.h
index 46b0110..45a0957 100644
--- a/runtime/vm/store_buffer.h
+++ b/runtime/vm/store_buffer.h
@@ -16,7 +16,7 @@
 class RawObject;
 
 // A set of RawObject*. Must be emptied before destruction (using Pop/Reset).
-template<int Size>
+template <int Size>
 class PointerBlock {
  public:
   enum { kSize = Size };
@@ -68,7 +68,8 @@
   int32_t top_;
   RawObject* pointers_[kSize];
 
-  template<int> friend class BlockStack;
+  template <int>
+  friend class BlockStack;
 
   DISALLOW_COPY_AND_ASSIGN(PointerBlock);
 };
@@ -77,7 +78,7 @@
 // A synchronized collection of pointer blocks of a particular size.
 // This class is meant to be used as a base (note PushBlockImpl is protected).
 // The global list of cached empty blocks is currently per-size.
-template<int BlockSize>
+template <int BlockSize>
 class BlockStack {
  public:
   typedef PointerBlock<BlockSize> Block;
@@ -112,6 +113,7 @@
     intptr_t length() const { return length_; }
     bool IsEmpty() const { return head_ == NULL; }
     Block* PopAll();
+
    private:
     Block* head_;
     intptr_t length_;
@@ -144,10 +146,7 @@
   // Interrupt when crossing this threshold of non-empty blocks in the buffer.
   static const intptr_t kMaxNonEmpty = 100;
 
-  enum ThresholdPolicy {
-    kCheckThreshold,
-    kIgnoreThreshold
-  };
+  enum ThresholdPolicy { kCheckThreshold, kIgnoreThreshold };
 
   // Adds and transfers ownership of the block to the buffer. Optionally
   // checks the number of non-empty blocks for overflow, and schedules an
diff --git a/runtime/vm/stub_code.cc b/runtime/vm/stub_code.cc
index f0eaf6d..0418da8 100644
--- a/runtime/vm/stub_code.cc
+++ b/runtime/vm/stub_code.cc
@@ -20,8 +20,7 @@
 
 DEFINE_FLAG(bool, disassemble_stubs, false, "Disassemble generated stubs.");
 
-#define STUB_CODE_DECLARE(name)                                                \
-  StubEntry* StubCode::name##_entry_ = NULL;
+#define STUB_CODE_DECLARE(name) StubEntry* StubCode::name##_entry_ = NULL;
 VM_STUB_CODE_LIST(STUB_CODE_DECLARE);
 #undef STUB_CODE_DECLARE
 
@@ -31,8 +30,7 @@
       entry_point_(code.UncheckedEntryPoint()),
       checked_entry_point_(code.CheckedEntryPoint()),
       size_(code.Size()),
-      label_(code.UncheckedEntryPoint()) {
-}
+      label_(code.UncheckedEntryPoint()) {}
 
 
 // Visit all object pointers.
@@ -43,7 +41,7 @@
 
 
 #define STUB_CODE_GENERATE(name)                                               \
-  code ^= Generate("_stub_"#name, StubCode::Generate##name##Stub);             \
+  code ^= Generate("_stub_" #name, StubCode::Generate##name##Stub);            \
   name##_entry_ = new StubEntry(code);
 
 
@@ -62,16 +60,14 @@
 
 
 void StubCode::Push(Serializer* serializer) {
-#define WRITE_STUB(name)                                                       \
-  serializer->Push(StubCode::name##_entry()->code());
+#define WRITE_STUB(name) serializer->Push(StubCode::name##_entry()->code());
   VM_STUB_CODE_LIST(WRITE_STUB);
 #undef WRITE_STUB
 }
 
 
 void StubCode::WriteRef(Serializer* serializer) {
-#define WRITE_STUB(name)                                                       \
-  serializer->WriteRef(StubCode::name##_entry()->code());
+#define WRITE_STUB(name) serializer->WriteRef(StubCode::name##_entry()->code());
   VM_STUB_CODE_LIST(WRITE_STUB);
 #undef WRITE_STUB
 }
@@ -87,12 +83,10 @@
 }
 
 
-
-void StubCode::Init(Isolate* isolate) { }
+void StubCode::Init(Isolate* isolate) {}
 
 
-void StubCode::VisitObjectPointers(ObjectPointerVisitor* visitor) {
-}
+void StubCode::VisitObjectPointers(ObjectPointerVisitor* visitor) {}
 
 
 bool StubCode::HasBeenInitialized() {
@@ -135,7 +129,7 @@
 
 
 RawCode* StubCode::GetAllocationStubForClass(const Class& cls) {
-  // These stubs are not used by DBC.
+// These stubs are not used by DBC.
 #if !defined(TARGET_ARCH_DBC)
   Thread* thread = Thread::Current();
   Zone* zone = thread->zone();
@@ -205,7 +199,7 @@
 
 const StubEntry* StubCode::UnoptimizedStaticCallEntry(
     intptr_t num_args_tested) {
-  // These stubs are not used by DBC.
+// These stubs are not used by DBC.
 #if !defined(TARGET_ARCH_DBC)
   switch (num_args_tested) {
     case 0:
@@ -228,8 +222,8 @@
                             void (*GenerateStub)(Assembler* assembler)) {
   Assembler assembler;
   GenerateStub(&assembler);
-  const Code& code = Code::Handle(
-      Code::FinalizeCode(name, &assembler, false /* optimized */));
+  const Code& code =
+      Code::Handle(Code::FinalizeCode(name, &assembler, false /* optimized */));
 #ifndef PRODUCT
   if (FLAG_support_disassembler && FLAG_disassemble_stubs) {
     LogBlock lb;
@@ -249,7 +243,7 @@
 #define VM_STUB_CODE_TESTER(name)                                              \
   if ((name##_entry() != NULL) &&                                              \
       (entry_point == name##_entry()->EntryPoint())) {                         \
-    return ""#name;                                                            \
+    return "" #name;                                                           \
   }
   VM_STUB_CODE_LIST(VM_STUB_CODE_TESTER);
 #undef VM_STUB_CODE_TESTER
diff --git a/runtime/vm/stub_code.h b/runtime/vm/stub_code.h
index d183296..7d0dd14 100644
--- a/runtime/vm/stub_code.h
+++ b/runtime/vm/stub_code.h
@@ -67,7 +67,7 @@
   V(Subtype2TestCache)                                                         \
   V(Subtype3TestCache)                                                         \
   V(CallClosureNoSuchMethod)                                                   \
-  V(FrameAwaitingMaterialization)                                              \
+  V(FrameAwaitingMaterialization)
 
 #else
 #define VM_STUB_CODE_LIST(V)                                                   \
@@ -77,7 +77,7 @@
   V(Deoptimize)                                                                \
   V(DeoptimizeLazyFromReturn)                                                  \
   V(DeoptimizeLazyFromThrow)                                                   \
-  V(FrameAwaitingMaterialization)                                              \
+  V(FrameAwaitingMaterialization)
 
 #endif  // !defined(TARGET_ARCH_DBC)
 
@@ -144,14 +144,10 @@
   // Returns NULL if no stub found.
   static const char* NameOfStub(uword entry_point);
 
-  // Define the shared stub code accessors.
+// Define the shared stub code accessors.
 #define STUB_CODE_ACCESSOR(name)                                               \
-  static const StubEntry* name##_entry() {                                     \
-    return name##_entry_;                                                      \
-  }                                                                            \
-  static intptr_t name##Size() {                                               \
-    return name##_entry()->Size();                                             \
-  }
+  static const StubEntry* name##_entry() { return name##_entry_; }             \
+  static intptr_t name##Size() { return name##_entry()->Size(); }
   VM_STUB_CODE_LIST(STUB_CODE_ACCESSOR);
 #undef STUB_CODE_ACCESSOR
 
@@ -171,8 +167,7 @@
   VM_STUB_CODE_LIST(STUB_CODE_GENERATE);
 #undef STUB_CODE_GENERATE
 
-#define STUB_CODE_ENTRY(name)                                                  \
-  static StubEntry* name##_entry_;
+#define STUB_CODE_ENTRY(name) static StubEntry* name##_entry_;
   VM_STUB_CODE_LIST(STUB_CODE_ENTRY);
 #undef STUB_CODE_ENTRY
 
@@ -196,11 +191,7 @@
 };
 
 
-enum DeoptStubKind {
-  kLazyDeoptFromReturn,
-  kLazyDeoptFromThrow,
-  kEagerDeopt
-};
+enum DeoptStubKind { kLazyDeoptFromReturn, kLazyDeoptFromThrow, kEagerDeopt };
 
 }  // namespace dart
 
diff --git a/runtime/vm/stub_code_arm.cc b/runtime/vm/stub_code_arm.cc
index 6831e9a..10722cc 100644
--- a/runtime/vm/stub_code_arm.cc
+++ b/runtime/vm/stub_code_arm.cc
@@ -23,8 +23,10 @@
 namespace dart {
 
 DEFINE_FLAG(bool, inline_alloc, true, "Inline allocation of objects.");
-DEFINE_FLAG(bool, use_slow_path, false,
-    "Set to true for debugging & verifying the slow paths.");
+DEFINE_FLAG(bool,
+            use_slow_path,
+            false,
+            "Set to true for debugging & verifying the slow paths.");
 DECLARE_FLAG(bool, trace_optimized_ic_calls);
 
 // Input parameters:
@@ -47,7 +49,8 @@
   __ StoreToOffset(kWord, FP, THR, Thread::top_exit_frame_info_offset());
 
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that we are always entering from Dart code.
     __ LoadFromOffset(kWord, R8, THR, Thread::vm_tag_offset());
     __ CompareImmediate(R8, VMTag::kDartTagId);
@@ -139,7 +142,8 @@
   __ StoreToOffset(kWord, FP, THR, Thread::top_exit_frame_info_offset());
 
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that we are always entering from Dart code.
     __ LoadFromOffset(kWord, R8, THR, Thread::vm_tag_offset());
     __ CompareImmediate(R8, VMTag::kDartTagId);
@@ -179,7 +183,7 @@
   // Passing the structure by value as in runtime calls would require changing
   // Dart API for native functions.
   // For now, space is reserved on the stack and we pass a pointer to it.
-  __ stm(IA, SP,  (1 << R0) | (1 << R1) | (1 << R2) | (1 << R3));
+  __ stm(IA, SP, (1 << R0) | (1 << R1) | (1 << R2) | (1 << R3));
   __ mov(R0, Operand(SP));  // Pass the pointer to the NativeArguments.
 
   __ mov(R1, Operand(R9));  // Pass the function entrypoint to call.
@@ -220,7 +224,8 @@
   __ StoreToOffset(kWord, FP, THR, Thread::top_exit_frame_info_offset());
 
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that we are always entering from Dart code.
     __ LoadFromOffset(kWord, R8, THR, Thread::vm_tag_offset());
     __ CompareImmediate(R8, VMTag::kDartTagId);
@@ -260,7 +265,7 @@
   // Passing the structure by value as in runtime calls would require changing
   // Dart API for native functions.
   // For now, space is reserved on the stack and we pass a pointer to it.
-  __ stm(IA, SP,  (1 << R0) | (1 << R1) | (1 << R2) | (1 << R3));
+  __ stm(IA, SP, (1 << R0) | (1 << R1) | (1 << R2) | (1 << R3));
   __ mov(R0, Operand(SP));  // Pass the pointer to the NativeArguments.
 
   // Call native function or redirection via simulator.
@@ -463,8 +468,8 @@
   }
 
   __ mov(R0, Operand(SP));  // Pass address of saved registers block.
-  bool is_lazy = (kind == kLazyDeoptFromReturn) ||
-                 (kind == kLazyDeoptFromThrow);
+  bool is_lazy =
+      (kind == kLazyDeoptFromReturn) || (kind == kLazyDeoptFromThrow);
   __ mov(R1, Operand(is_lazy ? 1 : 0));
   __ ReserveAlignedFrameSpace(0);
   __ CallRuntime(kDeoptimizeCopyFrameRuntimeEntry, 2);
@@ -645,7 +650,7 @@
   // Compute the size to be allocated, it is based on the array length
   // and is computed as:
   // RoundedAllocationSize((array_length * kwordSize) + sizeof(RawArray)).
-  __ MoveRegister(R3, R2);   // Array length.
+  __ MoveRegister(R3, R2);  // Array length.
   // Check that length is a positive Smi.
   __ tst(R3, Operand(kSmiTagMask));
   if (FLAG_use_slow_path) {
@@ -677,7 +682,7 @@
   // Potential new object start.
   __ ldr(R0, Address(R8, Heap::TopOffset(space)));
   __ adds(NOTFP, R0, Operand(R9));  // Potential next object start.
-  __ b(&slow_case, CS);  // Branch if unsigned overflow.
+  __ b(&slow_case, CS);             // Branch if unsigned overflow.
 
   // Check if the allocation fits into the remaining space.
   // R0: potential new object start.
@@ -715,14 +720,11 @@
   // R0: new object start as a tagged pointer.
   // NOTFP: new object end address.
   // Store the type argument field.
-  __ StoreIntoObjectNoBarrier(R0,
-                              FieldAddress(R0, Array::type_arguments_offset()),
-                              R1);
+  __ StoreIntoObjectNoBarrier(
+      R0, FieldAddress(R0, Array::type_arguments_offset()), R1);
 
   // Set the length field.
-  __ StoreIntoObjectNoBarrier(R0,
-                              FieldAddress(R0, Array::length_offset()),
-                              R2);
+  __ StoreIntoObjectNoBarrier(R0, FieldAddress(R0, Array::length_offset()), R2);
 
   // Initialize all array elements to raw_null.
   // R0: new object start as a tagged pointer.
@@ -1021,7 +1023,7 @@
   __ Bind(&add_to_buffer);
   // R2: Header word.
   if (TargetCPUFeatures::arm_version() == ARMv5TE) {
-    // TODO(21263): Implement 'swp' and use it below.
+// TODO(21263): Implement 'swp' and use it below.
 #if !defined(USING_SIMULATOR)
     ASSERT(OS::NumberOfAvailableProcessors() <= 1);
 #endif
@@ -1147,8 +1149,8 @@
       if ((end_offset - begin_offset) >= (2 * kWordSize)) {
         __ mov(R3, Operand(R2));
       }
-      __ InitializeFieldsNoBarrierUnrolled(R0, R0, begin_offset, end_offset,
-                                           R2, R3);
+      __ InitializeFieldsNoBarrierUnrolled(R0, R0, begin_offset, end_offset, R2,
+                                           R3);
     } else {
       // There are more than kInlineInstanceSize(12) fields
       __ add(R4, R0, Operand(Instance::NextFieldOffset() - kHeapObjectTag));
@@ -1191,7 +1193,7 @@
   // calling into the runtime.
   __ EnterStubFrame();  // Uses pool pointer to pass cls to runtime.
   __ LoadObject(R2, Object::null_object());
-  __ Push(R2);  // Setup space on stack for return value.
+  __ Push(R2);         // Setup space on stack for return value.
   __ PushObject(cls);  // Push class of object to be allocated.
   if (is_cls_parameterized) {
     // Push type arguments.
@@ -1201,7 +1203,7 @@
     __ Push(R2);
   }
   __ CallRuntime(kAllocateObjectRuntimeEntry, 2);  // Allocate object.
-  __ Drop(2);  // Pop arguments.
+  __ Drop(2);                                      // Pop arguments.
   __ Pop(R0);  // Pop result (newly allocated object).
   // R0: new object
   // Restore the frame pointer.
@@ -1251,10 +1253,10 @@
   if (FLAG_trace_optimized_ic_calls) {
     __ EnterStubFrame();
     __ PushList((1 << R9) | (1 << R8));  // Preserve.
-    __ Push(ic_reg);  // Argument.
-    __ Push(func_reg);  // Argument.
+    __ Push(ic_reg);                     // Argument.
+    __ Push(func_reg);                   // Argument.
     __ CallRuntime(kTraceICCallRuntimeEntry, 2);
-    __ Drop(2);  // Discard argument;
+    __ Drop(2);                         // Discard argument;
     __ PopList((1 << R9) | (1 << R8));  // Restore.
     __ LeaveStubFrame();
   }
@@ -1296,12 +1298,12 @@
   __ b(not_smi_or_overflow, NE);
   switch (kind) {
     case Token::kADD: {
-      __ adds(R0, R1, Operand(R0));  // Adds.
+      __ adds(R0, R1, Operand(R0));   // Adds.
       __ b(not_smi_or_overflow, VS);  // Branch if overflow.
       break;
     }
     case Token::kSUB: {
-      __ subs(R0, R1, Operand(R0));  // Subtract.
+      __ subs(R0, R1, Operand(R0));   // Subtract.
       __ b(not_smi_or_overflow, VS);  // Branch if overflow.
       break;
     }
@@ -1311,13 +1313,14 @@
       __ LoadObject(R0, Bool::False(), NE);
       break;
     }
-    default: UNIMPLEMENTED();
+    default:
+      UNIMPLEMENTED();
   }
   // R9: IC data object (preserved).
   __ ldr(R8, FieldAddress(R9, ICData::ic_data_offset()));
   // R8: ic_data_array with check entries: classes and target functions.
   __ AddImmediate(R8, R8, Array::data_offset() - kHeapObjectTag);
-  // R8: points directly to the first ic data array element.
+// R8: points directly to the first ic data array element.
 #if defined(DEBUG)
   // Check that first entry is for Smi/Smi.
   Label error, ok;
@@ -1363,7 +1366,8 @@
   __ CheckCodePointer();
   ASSERT(num_args > 0);
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that the IC data array has NumArgsTested() == num_args.
     // 'NumArgsTested' is stored in the least significant bits of 'state_bits'.
     __ ldr(R8, FieldAddress(R9, ICData::state_bits_offset()));
@@ -1443,7 +1447,7 @@
 
   const intptr_t entry_size = ICData::TestEntryLengthFor(num_args) * kWordSize;
   __ AddImmediate(R8, entry_size);  // Next entry.
-  __ ldr(R1, Address(R8, 0));  // Next class ID.
+  __ ldr(R1, Address(R8, 0));       // Next class ID.
 
   __ Bind(&test);
   __ CompareImmediate(R1, Smi::RawValue(kIllegalCid));  // Done?
@@ -1529,42 +1533,37 @@
 //   - 1 target function.
 void StubCode::GenerateOneArgCheckInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, R8);
-  GenerateNArgsCheckInlineCacheStub(assembler,
-      1,
-      kInlineCacheMissHandlerOneArgRuntimeEntry,
-      Token::kILLEGAL);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 1, kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL);
 }
 
 
 void StubCode::GenerateTwoArgsCheckInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, R8);
-  GenerateNArgsCheckInlineCacheStub(assembler,
-      2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry,
-      Token::kILLEGAL);
+  GenerateNArgsCheckInlineCacheStub(assembler, 2,
+                                    kInlineCacheMissHandlerTwoArgsRuntimeEntry,
+                                    Token::kILLEGAL);
 }
 
 
 void StubCode::GenerateSmiAddInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, R8);
-  GenerateNArgsCheckInlineCacheStub(assembler,
-      2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry,
-      Token::kADD);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kADD);
 }
 
 
 void StubCode::GenerateSmiSubInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, R8);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kSUB);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kSUB);
 }
 
 
 void StubCode::GenerateSmiEqualInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, R8);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kEQ);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kEQ);
 }
 
 
@@ -1572,8 +1571,8 @@
     Assembler* assembler) {
   GenerateOptimizedUsageCounterIncrement(assembler);
   GenerateNArgsCheckInlineCacheStub(assembler, 1,
-      kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL,
-      true /* optimized */);
+                                    kInlineCacheMissHandlerOneArgRuntimeEntry,
+                                    Token::kILLEGAL, true /* optimized */);
 }
 
 
@@ -1581,8 +1580,8 @@
     Assembler* assembler) {
   GenerateOptimizedUsageCounterIncrement(assembler);
   GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL,
-      true /* optimized */);
+                                    kInlineCacheMissHandlerTwoArgsRuntimeEntry,
+                                    Token::kILLEGAL, true /* optimized */);
 }
 
 
@@ -1592,7 +1591,8 @@
 void StubCode::GenerateZeroArgsUnoptimizedStaticCallStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, R8);
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that the IC data array has NumArgsTested() == 0.
     // 'NumArgsTested' is stored in the least significant bits of 'state_bits'.
     __ ldr(R8, FieldAddress(R9, ICData::state_bits_offset()));
@@ -1662,8 +1662,8 @@
 
 void StubCode::GenerateTwoArgsUnoptimizedStaticCallStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, R8);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kStaticCallMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kStaticCallMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL);
 }
 
 
@@ -1677,7 +1677,7 @@
   __ PushList((1 << R4) | (1 << R9));
   __ Push(R0);  // Pass function.
   __ CallRuntime(kCompileFunctionRuntimeEntry, 1);
-  __ Pop(R0);  // Restore argument.
+  __ Pop(R0);                         // Restore argument.
   __ PopList((1 << R4) | (1 << R9));  // Restore arg desc. and IC data.
   __ LeaveStubFrame();
 
@@ -1716,8 +1716,7 @@
 
 
 // Called only from unoptimized code. All relevant registers have been saved.
-void StubCode::GenerateDebugStepCheckStub(
-    Assembler* assembler) {
+void StubCode::GenerateDebugStepCheckStub(Assembler* assembler) {
   // Check single stepping.
   Label stepping, done_stepping;
   __ LoadIsolate(R1);
@@ -1749,8 +1748,8 @@
     // Compute instance type arguments into R4.
     Label has_no_type_arguments;
     __ LoadObject(R4, Object::null_object());
-    __ ldr(R9, FieldAddress(R3,
-        Class::type_arguments_field_offset_in_words_offset()));
+    __ ldr(R9, FieldAddress(
+                   R3, Class::type_arguments_field_offset_in_words_offset()));
     __ CompareImmediate(R9, Class::kNoTypeArguments);
     __ b(&has_no_type_arguments, EQ);
     __ add(R9, R0, Operand(R9, LSL, 2));
@@ -1792,7 +1791,7 @@
     } else {
       __ b(&next_iteration, NE);
       __ ldr(R9, Address(R2, kWordSize *
-                             SubtypeTestCache::kInstantiatorTypeArguments));
+                                 SubtypeTestCache::kInstantiatorTypeArguments));
       __ cmp(R9, Operand(R1));
       __ b(&found, EQ);
     }
@@ -1863,13 +1862,13 @@
 void StubCode::GenerateJumpToExceptionHandlerStub(Assembler* assembler) {
   ASSERT(kExceptionObjectReg == R0);
   ASSERT(kStackTraceObjectReg == R1);
-  __ mov(IP, Operand(R1));  // Copy Stack pointer into IP.
-  __ mov(LR, Operand(R0));  // Program counter.
-  __ mov(R0, Operand(R3));  // Exception object.
-  __ ldr(R1, Address(SP, 0));  // StackTrace object.
+  __ mov(IP, Operand(R1));      // Copy Stack pointer into IP.
+  __ mov(LR, Operand(R0));      // Program counter.
+  __ mov(R0, Operand(R3));      // Exception object.
+  __ ldr(R1, Address(SP, 0));   // StackTrace object.
   __ ldr(THR, Address(SP, 4));  // Thread.
-  __ mov(FP, Operand(R2));  // Frame_pointer.
-  __ mov(SP, Operand(IP));  // Set Stack pointer.
+  __ mov(FP, Operand(R2));      // Frame_pointer.
+  __ mov(SP, Operand(IP));      // Set Stack pointer.
   // Set the tag.
   __ LoadImmediate(R2, VMTag::kDartTagId);
   __ StoreToOffset(kWord, R2, THR, Thread::vm_tag_offset());
@@ -1958,7 +1957,7 @@
   __ b(&done, NE);
   __ EnterStubFrame();
   __ ReserveAlignedFrameSpace(2 * kWordSize);
-  __ stm(IA, SP,  (1 << R0) | (1 << R1));
+  __ stm(IA, SP, (1 << R0) | (1 << R1));
   __ CallRuntime(kBigintCompareRuntimeEntry, 2);
   // Result in R0, 0 means equal.
   __ LeaveStubFrame();
diff --git a/runtime/vm/stub_code_arm64.cc b/runtime/vm/stub_code_arm64.cc
index 443ab1c..71dae4b 100644
--- a/runtime/vm/stub_code_arm64.cc
+++ b/runtime/vm/stub_code_arm64.cc
@@ -22,8 +22,10 @@
 namespace dart {
 
 DEFINE_FLAG(bool, inline_alloc, true, "Inline allocation of objects.");
-DEFINE_FLAG(bool, use_slow_path, false,
-    "Set to true for debugging & verifying the slow paths.");
+DEFINE_FLAG(bool,
+            use_slow_path,
+            false,
+            "Set to true for debugging & verifying the slow paths.");
 DECLARE_FLAG(bool, trace_optimized_ic_calls);
 
 // Input parameters:
@@ -48,7 +50,8 @@
   __ StoreToOffset(FP, THR, Thread::top_exit_frame_info_offset());
 
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that we are always entering from Dart code.
     __ LoadFromOffset(R8, THR, Thread::vm_tag_offset());
     __ CompareImmediate(R8, VMTag::kDartTagId);
@@ -86,7 +89,7 @@
   // Set argv in NativeArguments.
   __ AddImmediate(R2, R2, kParamEndSlotFromFp * kWordSize);
 
-    ASSERT(retval_offset == 3 * kWordSize);
+  ASSERT(retval_offset == 3 * kWordSize);
   __ AddImmediate(R3, R2, kWordSize);
 
   __ StoreToOffset(R0, SP, thread_offset);
@@ -152,7 +155,8 @@
   __ StoreToOffset(FP, THR, Thread::top_exit_frame_info_offset());
 
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that we are always entering from Dart code.
     __ LoadFromOffset(R6, THR, Thread::vm_tag_offset());
     __ CompareImmediate(R6, VMTag::kDartTagId);
@@ -245,7 +249,8 @@
   __ StoreToOffset(FP, THR, Thread::top_exit_frame_info_offset());
 
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that we are always entering from Dart code.
     __ LoadFromOffset(R6, THR, Thread::vm_tag_offset());
     __ CompareImmediate(R6, VMTag::kDartTagId);
@@ -479,8 +484,8 @@
   }
 
   __ mov(R0, SP);  // Pass address of saved registers block.
-  bool is_lazy = (kind == kLazyDeoptFromReturn) ||
-                 (kind == kLazyDeoptFromThrow);
+  bool is_lazy =
+      (kind == kLazyDeoptFromReturn) || (kind == kLazyDeoptFromThrow);
   __ LoadImmediate(R1, is_lazy ? 1 : 0);
   __ ReserveAlignedFrameSpace(0);
   __ CallRuntime(kDeoptimizeCopyFrameRuntimeEntry, 2);
@@ -738,8 +743,7 @@
   // R7: new object end address.
 
   // Store the type argument field.
-  __ StoreIntoObjectOffsetNoBarrier(
-      R0, Array::type_arguments_offset(), R1);
+  __ StoreIntoObjectOffsetNoBarrier(R0, Array::type_arguments_offset(), R1);
 
   // Set the length field.
   __ StoreIntoObjectOffsetNoBarrier(R0, Array::length_offset(), R2);
@@ -1020,8 +1024,7 @@
     // R1: number of context variables.
     // R2: raw null.
     Label loop, done;
-    __ AddImmediate(
-        R3, R0, Context::variable_offset(0) - kHeapObjectTag);
+    __ AddImmediate(R3, R0, Context::variable_offset(0) - kHeapObjectTag);
     __ Bind(&loop);
     __ subs(R1, R1, Operand(1));
     __ b(&done, MI);
@@ -1184,8 +1187,7 @@
       // Check if the object contains any non-header fields.
       // Small objects are initialized using a consecutive set of writes.
       for (intptr_t current_offset = Instance::NextFieldOffset();
-           current_offset < instance_size;
-           current_offset += kWordSize) {
+           current_offset < instance_size; current_offset += kWordSize) {
         __ StoreToOffset(R0, R2, current_offset);
       }
     } else {
@@ -1224,8 +1226,8 @@
   // Create a stub frame as we are pushing some objects on the stack before
   // calling into the runtime.
   __ EnterStubFrame();  // Uses pool pointer to pass cls to runtime.
-  __ Push(ZR);  // Result slot.
-  __ PushObject(cls);  // Push class of object to be allocated.
+  __ Push(ZR);          // Result slot.
+  __ PushObject(cls);   // Push class of object to be allocated.
   if (is_cls_parameterized) {
     // Push type arguments.
     __ Push(R1);
@@ -1234,7 +1236,7 @@
     __ PushObject(Object::null_object());
   }
   __ CallRuntime(kAllocateObjectRuntimeEntry, 2);  // Allocate object.
-  __ Drop(2);  // Pop arguments.
+  __ Drop(2);                                      // Pop arguments.
   __ Pop(R0);  // Pop result (newly allocated object).
   // R0: new object
   // Restore the frame pointer.
@@ -1284,9 +1286,9 @@
   Register func_reg = R6;
   if (FLAG_trace_optimized_ic_calls) {
     __ EnterStubFrame();
-    __ Push(R6);  // Preserve.
-    __ Push(R5);  // Preserve.
-    __ Push(ic_reg);  // Argument.
+    __ Push(R6);        // Preserve.
+    __ Push(R5);        // Preserve.
+    __ Push(ic_reg);    // Argument.
     __ Push(func_reg);  // Argument.
     __ CallRuntime(kTraceICCallRuntimeEntry, 2);
     __ Drop(2);  // Discard argument;
@@ -1294,11 +1296,9 @@
     __ Pop(R6);  // Restore.
     __ LeaveStubFrame();
   }
-  __ LoadFieldFromOffset(
-      R7, func_reg, Function::usage_counter_offset(), kWord);
+  __ LoadFieldFromOffset(R7, func_reg, Function::usage_counter_offset(), kWord);
   __ add(R7, R7, Operand(1));
-  __ StoreFieldToOffset(
-      R7, func_reg, Function::usage_counter_offset(), kWord);
+  __ StoreFieldToOffset(R7, func_reg, Function::usage_counter_offset(), kWord);
 }
 
 
@@ -1311,11 +1311,11 @@
     ASSERT(temp_reg == R6);
     __ Comment("Increment function counter");
     __ LoadFieldFromOffset(func_reg, ic_reg, ICData::owner_offset());
-    __ LoadFieldFromOffset(
-        R7, func_reg, Function::usage_counter_offset(), kWord);
+    __ LoadFieldFromOffset(R7, func_reg, Function::usage_counter_offset(),
+                           kWord);
     __ AddImmediate(R7, R7, 1);
-    __ StoreFieldToOffset(
-        R7, func_reg, Function::usage_counter_offset(), kWord);
+    __ StoreFieldToOffset(R7, func_reg, Function::usage_counter_offset(),
+                          kWord);
   }
 }
 
@@ -1329,19 +1329,19 @@
                           intptr_t num_args,
                           Label* not_smi_or_overflow) {
   __ Comment("Fast Smi op");
-  __ ldr(R0, Address(SP, + 0 * kWordSize));  // Right.
-  __ ldr(R1, Address(SP, + 1 * kWordSize));  // Left.
+  __ ldr(R0, Address(SP, +0 * kWordSize));  // Right.
+  __ ldr(R1, Address(SP, +1 * kWordSize));  // Left.
   __ orr(TMP, R0, Operand(R1));
   __ tsti(TMP, Immediate(kSmiTagMask));
   __ b(not_smi_or_overflow, NE);
   switch (kind) {
     case Token::kADD: {
-      __ adds(R0, R1, Operand(R0));  // Adds.
+      __ adds(R0, R1, Operand(R0));   // Adds.
       __ b(not_smi_or_overflow, VS);  // Branch if overflow.
       break;
     }
     case Token::kSUB: {
-      __ subs(R0, R1, Operand(R0));  // Subtract.
+      __ subs(R0, R1, Operand(R0));   // Subtract.
       __ b(not_smi_or_overflow, VS);  // Branch if overflow.
       break;
     }
@@ -1352,14 +1352,15 @@
       __ csel(R0, R1, R0, NE);
       break;
     }
-    default: UNIMPLEMENTED();
+    default:
+      UNIMPLEMENTED();
   }
 
   // R5: IC data object (preserved).
   __ LoadFieldFromOffset(R6, R5, ICData::ic_data_offset());
   // R6: ic_data_array with check entries: classes and target functions.
   __ AddImmediate(R6, R6, Array::data_offset() - kHeapObjectTag);
-  // R6: points directly to the first ic data array element.
+// R6: points directly to the first ic data array element.
 #if defined(DEBUG)
   // Check that first entry is for Smi/Smi.
   Label error, ok;
@@ -1406,7 +1407,8 @@
     bool optimized) {
   ASSERT(num_args > 0);
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that the IC data array has NumArgsTested() == num_args.
     // 'NumArgsTested' is stored in the least significant bits of 'state_bits'.
     __ LoadFromOffset(R6, R5, ICData::state_bits_offset() - kHeapObjectTag,
@@ -1424,8 +1426,7 @@
   if (FLAG_support_debugger && !optimized) {
     __ Comment("Check single stepping");
     __ LoadIsolate(R6);
-    __ LoadFromOffset(
-        R6, R6, Isolate::single_step_offset(), kUnsignedByte);
+    __ LoadFromOffset(R6, R6, Isolate::single_step_offset(), kUnsignedByte);
     __ CompareRegisters(R6, ZR);
     __ b(&stepping, NE);
     __ Bind(&done_stepping);
@@ -1433,10 +1434,7 @@
 
   Label not_smi_or_overflow;
   if (kind != Token::kILLEGAL) {
-    EmitFastSmiOp(assembler,
-                  kind,
-                  num_args,
-                  &not_smi_or_overflow);
+    EmitFastSmiOp(assembler, kind, num_args, &not_smi_or_overflow);
   }
   __ Bind(&not_smi_or_overflow);
 
@@ -1496,7 +1494,7 @@
 
   const intptr_t entry_size = ICData::TestEntryLengthFor(num_args) * kWordSize;
   __ AddImmediate(R6, R6, entry_size);  // Next entry.
-  __ ldr(R1, Address(R6));  // Next class ID.
+  __ ldr(R1, Address(R6));              // Next class ID.
 
   __ Bind(&test);
   __ CompareImmediate(R1, Smi::RawValue(kIllegalCid));  // Done?
@@ -1589,36 +1587,37 @@
 //   - 1 target function.
 void StubCode::GenerateOneArgCheckInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, R6);
-  GenerateNArgsCheckInlineCacheStub(assembler, 1,
-      kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 1, kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL);
 }
 
 
 void StubCode::GenerateTwoArgsCheckInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, R6);
   GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL);
+                                    kInlineCacheMissHandlerTwoArgsRuntimeEntry,
+                                    Token::kILLEGAL);
 }
 
 
 void StubCode::GenerateSmiAddInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, R6);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kADD);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kADD);
 }
 
 
 void StubCode::GenerateSmiSubInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, R6);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kSUB);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kSUB);
 }
 
 
 void StubCode::GenerateSmiEqualInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, R6);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kEQ);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kEQ);
 }
 
 
@@ -1626,8 +1625,8 @@
     Assembler* assembler) {
   GenerateOptimizedUsageCounterIncrement(assembler);
   GenerateNArgsCheckInlineCacheStub(assembler, 1,
-      kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL,
-      true /* optimized */);
+                                    kInlineCacheMissHandlerOneArgRuntimeEntry,
+                                    Token::kILLEGAL, true /* optimized */);
 }
 
 
@@ -1635,15 +1634,16 @@
     Assembler* assembler) {
   GenerateOptimizedUsageCounterIncrement(assembler);
   GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL,
-      true /* optimized */);
+                                    kInlineCacheMissHandlerTwoArgsRuntimeEntry,
+                                    Token::kILLEGAL, true /* optimized */);
 }
 
 
 void StubCode::GenerateZeroArgsUnoptimizedStaticCallStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, R6);
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that the IC data array has NumArgsTested() == 0.
     // 'NumArgsTested' is stored in the least significant bits of 'state_bits'.
     __ LoadFromOffset(R6, R5, ICData::state_bits_offset() - kHeapObjectTag,
@@ -1659,10 +1659,9 @@
 
   // Check single stepping.
   Label stepping, done_stepping;
-    if (FLAG_support_debugger) {
+  if (FLAG_support_debugger) {
     __ LoadIsolate(R6);
-    __ LoadFromOffset(
-        R6, R6, Isolate::single_step_offset(), kUnsignedByte);
+    __ LoadFromOffset(R6, R6, Isolate::single_step_offset(), kUnsignedByte);
     __ CompareImmediate(R6, 0);
     __ b(&stepping, NE);
     __ Bind(&done_stepping);
@@ -1716,8 +1715,8 @@
 
 void StubCode::GenerateTwoArgsUnoptimizedStaticCallStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, R6);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kStaticCallMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kStaticCallMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL);
 }
 
 
@@ -1768,13 +1767,11 @@
 }
 
 // Called only from unoptimized code. All relevant registers have been saved.
-void StubCode::GenerateDebugStepCheckStub(
-    Assembler* assembler) {
+void StubCode::GenerateDebugStepCheckStub(Assembler* assembler) {
   // Check single stepping.
   Label stepping, done_stepping;
   __ LoadIsolate(R1);
-  __ LoadFromOffset(
-      R1, R1, Isolate::single_step_offset(), kUnsignedByte);
+  __ LoadFromOffset(R1, R1, Isolate::single_step_offset(), kUnsignedByte);
   __ CompareImmediate(R1, 0);
   __ b(&stepping, NE);
   __ Bind(&done_stepping);
@@ -1803,8 +1800,8 @@
     // Compute instance type arguments into R4.
     Label has_no_type_arguments;
     __ LoadObject(R4, Object::null_object());
-    __ LoadFieldFromOffset(R5, R3,
-        Class::type_arguments_field_offset_in_words_offset(), kWord);
+    __ LoadFieldFromOffset(
+        R5, R3, Class::type_arguments_field_offset_in_words_offset(), kWord);
     __ CompareImmediate(R5, Class::kNoTypeArguments);
     __ b(&has_no_type_arguments, EQ);
     __ add(R5, R0, Operand(R5, LSL, 3));
@@ -1830,8 +1827,8 @@
   __ LoadFieldFromOffset(R3, R0, Closure::function_offset());
   // R3: instance class id as Smi or function.
   __ Bind(&loop);
-  __ LoadFromOffset(
-      R5, R2, kWordSize * SubtypeTestCache::kInstanceClassIdOrFunction);
+  __ LoadFromOffset(R5, R2,
+                    kWordSize * SubtypeTestCache::kInstanceClassIdOrFunction);
   __ CompareObject(R5, Object::null_object());
   __ b(&not_found, EQ);
   __ CompareRegisters(R5, R3);
@@ -1839,22 +1836,21 @@
     __ b(&found, EQ);
   } else {
     __ b(&next_iteration, NE);
-    __ LoadFromOffset(
-        R5, R2, kWordSize * SubtypeTestCache::kInstanceTypeArguments);
+    __ LoadFromOffset(R5, R2,
+                      kWordSize * SubtypeTestCache::kInstanceTypeArguments);
     __ CompareRegisters(R5, R4);
     if (n == 2) {
       __ b(&found, EQ);
     } else {
       __ b(&next_iteration, NE);
-      __ LoadFromOffset(R5, R2,
-          kWordSize * SubtypeTestCache::kInstantiatorTypeArguments);
+      __ LoadFromOffset(
+          R5, R2, kWordSize * SubtypeTestCache::kInstantiatorTypeArguments);
       __ CompareRegisters(R5, R1);
       __ b(&found, EQ);
     }
   }
   __ Bind(&next_iteration);
-  __ AddImmediate(
-      R2, R2, kWordSize * SubtypeTestCache::kTestEntryLength);
+  __ AddImmediate(R2, R2, kWordSize * SubtypeTestCache::kTestEntryLength);
   __ b(&loop);
   // Fall through to not found.
   __ Bind(&not_found);
diff --git a/runtime/vm/stub_code_arm64_test.cc b/runtime/vm/stub_code_arm64_test.cc
index f2d8a25..7112f26 100644
--- a/runtime/vm/stub_code_arm64_test.cc
+++ b/runtime/vm/stub_code_arm64_test.cc
@@ -20,25 +20,23 @@
 namespace dart {
 
 static Function* CreateFunction(const char* name) {
-  const String& class_name = String::Handle(Symbols::New(Thread::Current(),
-                                                         "ownerClass"));
+  const String& class_name =
+      String::Handle(Symbols::New(Thread::Current(), "ownerClass"));
   const Script& script = Script::Handle();
   const Library& lib = Library::Handle(Library::New(class_name));
   const Class& owner_class = Class::Handle(
       Class::New(lib, class_name, script, TokenPosition::kNoSource));
-  const String& function_name = String::ZoneHandle(
-      Symbols::New(Thread::Current(), name));
-  Function& function = Function::ZoneHandle(
-      Function::New(function_name, RawFunction::kRegularFunction,
-                    true, false, false, false, false, owner_class,
-                    TokenPosition::kNoSource));
+  const String& function_name =
+      String::ZoneHandle(Symbols::New(Thread::Current(), name));
+  Function& function = Function::ZoneHandle(Function::New(
+      function_name, RawFunction::kRegularFunction, true, false, false, false,
+      false, owner_class, TokenPosition::kNoSource));
   return &function;
 }
 
 
 // Test calls to stub code which calls into the runtime.
-static void GenerateCallToCallRuntimeStub(Assembler* assembler,
-                                          int length) {
+static void GenerateCallToCallRuntimeStub(Assembler* assembler, int length) {
   const int argc = 2;
   const Smi& smi_length = Smi::ZoneHandle(Smi::New(length));
   __ EnterDartFrame(0);
diff --git a/runtime/vm/stub_code_arm_test.cc b/runtime/vm/stub_code_arm_test.cc
index a0c35cc..5a79e93 100644
--- a/runtime/vm/stub_code_arm_test.cc
+++ b/runtime/vm/stub_code_arm_test.cc
@@ -20,25 +20,23 @@
 namespace dart {
 
 static Function* CreateFunction(const char* name) {
-  const String& class_name = String::Handle(Symbols::New(Thread::Current(),
-                                                         "ownerClass"));
+  const String& class_name =
+      String::Handle(Symbols::New(Thread::Current(), "ownerClass"));
   const Script& script = Script::Handle();
   const Library& lib = Library::Handle(Library::New(class_name));
   const Class& owner_class = Class::Handle(
       Class::New(lib, class_name, script, TokenPosition::kNoSource));
-  const String& function_name = String::ZoneHandle(
-      Symbols::New(Thread::Current(), name));
-  Function& function = Function::ZoneHandle(
-      Function::New(function_name, RawFunction::kRegularFunction,
-                    true, false, false, false, false, owner_class,
-                    TokenPosition::kNoSource));
+  const String& function_name =
+      String::ZoneHandle(Symbols::New(Thread::Current(), name));
+  Function& function = Function::ZoneHandle(Function::New(
+      function_name, RawFunction::kRegularFunction, true, false, false, false,
+      false, owner_class, TokenPosition::kNoSource));
   return &function;
 }
 
 
 // Test calls to stub code which calls into the runtime.
-static void GenerateCallToCallRuntimeStub(Assembler* assembler,
-                                          int length) {
+static void GenerateCallToCallRuntimeStub(Assembler* assembler, int length) {
   const int argc = 2;
   const Smi& smi_length = Smi::ZoneHandle(Smi::New(length));
   __ EnterDartFrame(0);
diff --git a/runtime/vm/stub_code_dbc.cc b/runtime/vm/stub_code_dbc.cc
index 81a83d6..54711516 100644
--- a/runtime/vm/stub_code_dbc.cc
+++ b/runtime/vm/stub_code_dbc.cc
@@ -23,8 +23,10 @@
 namespace dart {
 
 DEFINE_FLAG(bool, inline_alloc, true, "Inline allocation of objects.");
-DEFINE_FLAG(bool, use_slow_path, false,
-    "Set to true for debugging & verifying the slow paths.");
+DEFINE_FLAG(bool,
+            use_slow_path,
+            false,
+            "Set to true for debugging & verifying the slow paths.");
 DECLARE_FLAG(bool, trace_optimized_ic_calls);
 
 void StubCode::GenerateLazyCompileStub(Assembler* assembler) {
diff --git a/runtime/vm/stub_code_ia32.cc b/runtime/vm/stub_code_ia32.cc
index 83f6ba0..1de178a8 100644
--- a/runtime/vm/stub_code_ia32.cc
+++ b/runtime/vm/stub_code_ia32.cc
@@ -24,8 +24,10 @@
 namespace dart {
 
 DEFINE_FLAG(bool, inline_alloc, true, "Inline allocation of objects.");
-DEFINE_FLAG(bool, use_slow_path, false,
-    "Set to true for debugging & verifying the slow paths.");
+DEFINE_FLAG(bool,
+            use_slow_path,
+            false,
+            "Set to true for debugging & verifying the slow paths.");
 DECLARE_FLAG(bool, trace_optimized_ic_calls);
 
 #define INT32_SIZEOF(x) static_cast<int32_t>(sizeof(x))
@@ -51,7 +53,8 @@
   __ movl(Address(THR, Thread::top_exit_frame_info_offset()), EBP);
 
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that we are always entering from Dart code.
     __ cmpl(Assembler::VMTagAddress(), Immediate(VMTag::kDartTagId));
     __ j(EQUAL, &ok, Assembler::kNearJump);
@@ -76,8 +79,8 @@
   __ movl(Address(ESP, argc_tag_offset), EDX);  // Set argc in NativeArguments.
   // Compute argv.
   __ leal(EAX, Address(EBP, EDX, TIMES_4, kParamEndSlotFromFp * kWordSize));
-  __ movl(Address(ESP, argv_offset), EAX);  // Set argv in NativeArguments.
-  __ addl(EAX, Immediate(1 * kWordSize));  // Retval is next to 1st argument.
+  __ movl(Address(ESP, argv_offset), EAX);    // Set argv in NativeArguments.
+  __ addl(EAX, Immediate(1 * kWordSize));     // Retval is next to 1st argument.
   __ movl(Address(ESP, retval_offset), EAX);  // Set retval in NativeArguments.
   __ call(ECX);
 
@@ -137,7 +140,8 @@
   __ movl(Address(THR, Thread::top_exit_frame_info_offset()), EBP);
 
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that we are always entering from Dart code.
     __ cmpl(Assembler::VMTagAddress(), Immediate(VMTag::kDartTagId));
     __ j(EQUAL, &ok, Assembler::kNearJump);
@@ -159,10 +163,10 @@
   }
 
   // Pass NativeArguments structure by value and call native function.
-  __ movl(Address(ESP, thread_offset), THR);  // Set thread in NativeArgs.
+  __ movl(Address(ESP, thread_offset), THR);    // Set thread in NativeArgs.
   __ movl(Address(ESP, argc_tag_offset), EDX);  // Set argc in NativeArguments.
-  __ movl(Address(ESP, argv_offset), EAX);  // Set argv in NativeArguments.
-  __ leal(EAX, Address(EBP, 2 * kWordSize));  // Compute return value addr.
+  __ movl(Address(ESP, argv_offset), EAX);      // Set argv in NativeArguments.
+  __ leal(EAX, Address(EBP, 2 * kWordSize));    // Compute return value addr.
   __ movl(Address(ESP, retval_offset), EAX);  // Set retval in NativeArguments.
   __ leal(EAX, Address(ESP, 2 * kWordSize));  // Pointer to the NativeArguments.
   __ movl(Address(ESP, 0), EAX);  // Pass the pointer to the NativeArguments.
@@ -205,7 +209,8 @@
   __ movl(Address(THR, Thread::top_exit_frame_info_offset()), EBP);
 
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that we are always entering from Dart code.
     __ cmpl(Assembler::VMTagAddress(), Immediate(VMTag::kDartTagId));
     __ j(EQUAL, &ok, Assembler::kNearJump);
@@ -226,12 +231,12 @@
   }
 
   // Pass NativeArguments structure by value and call native function.
-  __ movl(Address(ESP, thread_offset), THR);  // Set thread in NativeArgs.
+  __ movl(Address(ESP, thread_offset), THR);    // Set thread in NativeArgs.
   __ movl(Address(ESP, argc_tag_offset), EDX);  // Set argc in NativeArguments.
-  __ movl(Address(ESP, argv_offset), EAX);  // Set argv in NativeArguments.
-  __ leal(EAX, Address(EBP, 2 * kWordSize));  // Compute return value addr.
+  __ movl(Address(ESP, argv_offset), EAX);      // Set argv in NativeArguments.
+  __ leal(EAX, Address(EBP, 2 * kWordSize));    // Compute return value addr.
   __ movl(Address(ESP, retval_offset), EAX);  // Set retval in NativeArguments.
-  __ leal(EAX, Address(ESP, kWordSize));  // Pointer to the NativeArguments.
+  __ leal(EAX, Address(ESP, kWordSize));      // Pointer to the NativeArguments.
   __ movl(Address(ESP, 0), EAX);  // Pass the pointer to the NativeArguments.
   __ call(ECX);
 
@@ -249,7 +254,7 @@
 //   EDX: arguments descriptor array.
 void StubCode::GenerateCallStaticFunctionStub(Assembler* assembler) {
   __ EnterStubFrame();
-  __ pushl(EDX);  // Preserve arguments descriptor array.
+  __ pushl(EDX);           // Preserve arguments descriptor array.
   __ pushl(Immediate(0));  // Setup space on stack for return value.
   __ CallRuntime(kPatchStaticCallRuntimeEntry, 0);
   __ popl(EAX);  // Get Code object result.
@@ -269,7 +274,7 @@
   // Create a stub frame as we are pushing some objects on the stack before
   // calling into the runtime.
   __ EnterStubFrame();
-  __ pushl(EDX);  // Preserve arguments descriptor array.
+  __ pushl(EDX);           // Preserve arguments descriptor array.
   __ pushl(Immediate(0));  // Setup space on stack for return value.
   __ CallRuntime(kFixCallersTargetRuntimeEntry, 0);
   __ popl(EAX);  // Get Code object.
@@ -387,8 +392,8 @@
   __ movl(ECX, ESP);  // Preserve saved registers block.
   __ ReserveAlignedFrameSpace(2 * kWordSize);
   __ movl(Address(ESP, 0 * kWordSize), ECX);  // Start of register block.
-  bool is_lazy = (kind == kLazyDeoptFromReturn) ||
-                 (kind == kLazyDeoptFromThrow);
+  bool is_lazy =
+      (kind == kLazyDeoptFromReturn) || (kind == kLazyDeoptFromThrow);
   __ movl(Address(ESP, 1 * kWordSize), Immediate(is_lazy ? 1 : 0));
   __ CallRuntime(kDeoptimizeCopyFrameRuntimeEntry, 2);
   // Result (EAX) is stack-size (FP - SP) in bytes.
@@ -403,10 +408,10 @@
   }
 
   __ LeaveFrame();
-  __ popl(EDX);  // Preserve return address.
+  __ popl(EDX);       // Preserve return address.
   __ movl(ESP, EBP);  // Discard optimized frame.
   __ subl(ESP, EAX);  // Reserve space for deoptimized frame.
-  __ pushl(EDX);  // Restore return address.
+  __ pushl(EDX);      // Restore return address.
 
   // Leaf runtime function DeoptimizeFillFrame expects a Dart frame.
   __ EnterDartFrame(0);
@@ -454,9 +459,9 @@
   }
   __ LeaveFrame();
 
-  __ popl(ECX);  // Pop return address.
+  __ popl(ECX);       // Pop return address.
   __ addl(ESP, EBX);  // Remove materialization arguments.
-  __ pushl(ECX);  // Push return address.
+  __ pushl(ECX);      // Push return address.
   __ ret();
 }
 
@@ -495,12 +500,12 @@
   __ EnterStubFrame();
   // Load the receiver.
   __ movl(EDI, FieldAddress(EDX, ArgumentsDescriptor::count_offset()));
-  __ movl(EAX, Address(
-      EBP, EDI, TIMES_HALF_WORD_SIZE, kParamEndSlotFromFp * kWordSize));
+  __ movl(EAX, Address(EBP, EDI, TIMES_HALF_WORD_SIZE,
+                       kParamEndSlotFromFp * kWordSize));
   __ pushl(Immediate(0));  // Setup space on stack for result.
-  __ pushl(EAX);  // Receiver.
-  __ pushl(ECX);  // ICData/MegamorphicCache.
-  __ pushl(EDX);  // Arguments descriptor array.
+  __ pushl(EAX);           // Receiver.
+  __ pushl(ECX);           // ICData/MegamorphicCache.
+  __ pushl(EDX);           // Arguments descriptor array.
   __ movl(EDX, EDI);
   // EDX: Smi-tagged arguments array length.
   PushArgumentsArray(assembler);
@@ -526,9 +531,9 @@
   __ pushl(EDX);
 
   __ pushl(Immediate(0));  // Space for the result of the runtime call.
-  __ pushl(EAX);  // Pass receiver.
-  __ pushl(ECX);  // Pass IC data.
-  __ pushl(EDX);  // Pass arguments descriptor.
+  __ pushl(EAX);           // Pass receiver.
+  __ pushl(ECX);           // Pass IC data.
+  __ pushl(EDX);           // Pass arguments descriptor.
   __ CallRuntime(kMegamorphicCacheMissHandlerRuntimeEntry, 3);
   // Discard arguments.
   __ popl(EAX);
@@ -570,7 +575,7 @@
     __ j(NOT_ZERO, &slow_case);
   }
   __ cmpl(EDX, Immediate(0));
-  __ j(LESS,  &slow_case);
+  __ j(LESS, &slow_case);
 
   // Check for maximum allowed length.
   const Immediate& max_len =
@@ -578,10 +583,8 @@
   __ cmpl(EDX, max_len);
   __ j(GREATER, &slow_case);
 
-  NOT_IN_PRODUCT(__ MaybeTraceAllocation(kArrayCid,
-                                         EAX,
-                                         &slow_case,
-                                         Assembler::kFarJump));
+  NOT_IN_PRODUCT(
+      __ MaybeTraceAllocation(kArrayCid, EAX, &slow_case, Assembler::kFarJump));
 
   const intptr_t fixed_size = sizeof(RawArray) + kObjectAlignment - 1;
   __ leal(EBX, Address(EDX, TIMES_2, fixed_size));  // EDX is Smi.
@@ -642,13 +645,11 @@
   // EDX: Array length as Smi (preserved).
   // Store the type argument field.
   // No generetional barrier needed, since we store into a new object.
-  __ StoreIntoObjectNoBarrier(EAX,
-                              FieldAddress(EAX, Array::type_arguments_offset()),
-                              ECX);
+  __ StoreIntoObjectNoBarrier(
+      EAX, FieldAddress(EAX, Array::type_arguments_offset()), ECX);
 
   // Set the length field.
-  __ StoreIntoObjectNoBarrier(EAX,
-                              FieldAddress(EAX, Array::length_offset()),
+  __ StoreIntoObjectNoBarrier(EAX, FieldAddress(EAX, Array::length_offset()),
                               EDX);
 
   // Initialize all array elements to raw_null.
@@ -679,8 +680,8 @@
   // calling into the runtime.
   __ EnterStubFrame();
   __ pushl(Immediate(0));  // Setup space on stack for return value.
-  __ pushl(EDX);  // Array length as Smi.
-  __ pushl(ECX);  // Element type.
+  __ pushl(EDX);           // Array length as Smi.
+  __ pushl(ECX);           // Element type.
   __ CallRuntime(kAllocateArrayRuntimeEntry, 2);
   __ popl(EAX);  // Pop element type argument.
   __ popl(EDX);  // Pop array length argument (preserved).
@@ -814,9 +815,7 @@
     __ leal(EBX, Address(EDX, TIMES_4, fixed_size));
     __ andl(EBX, Immediate(-kObjectAlignment));
 
-    NOT_IN_PRODUCT(__ MaybeTraceAllocation(kContextCid,
-                                           EAX,
-                                           &slow_case,
+    NOT_IN_PRODUCT(__ MaybeTraceAllocation(kContextCid, EAX, &slow_case,
                                            Assembler::kFarJump));
 
     // Now allocate the object.
@@ -874,8 +873,7 @@
       // EAX: new object.
       // EDX: number of context variables.
       // EBX: size and bit tags.
-      __ orl(EBX,
-             Immediate(RawObject::ClassIdTag::encode(cid)));
+      __ orl(EBX, Immediate(RawObject::ClassIdTag::encode(cid)));
       __ movl(FieldAddress(EAX, Context::tags_offset()), EBX);  // Tags.
     }
 
@@ -903,8 +901,7 @@
       __ Bind(&loop);
       __ decl(EDX);
       // No generational barrier needed, since we are storing null.
-      __ StoreIntoObjectNoBarrier(EAX,
-                                  Address(EBX, EDX, TIMES_4, 0),
+      __ StoreIntoObjectNoBarrier(EAX, Address(EBX, EDX, TIMES_4, 0),
                                   Object::null_object());
       __ Bind(&entry);
       __ cmpl(EDX, Immediate(0));
@@ -1008,8 +1005,8 @@
 // Uses EAX, EBX, ECX, EDX, EDI as temporary registers.
 // Returns patch_code_pc offset where patching code for disabling the stub
 // has been generated (similar to regularly generated Dart code).
-void StubCode::GenerateAllocationStubForClass(
-    Assembler* assembler, const Class& cls) {
+void StubCode::GenerateAllocationStubForClass(Assembler* assembler,
+                                              const Class& cls) {
   const intptr_t kObjectTypeArgumentsOffset = 1 * kWordSize;
   const Immediate& raw_null =
       Immediate(reinterpret_cast<intptr_t>(Object::null()));
@@ -1072,10 +1069,8 @@
       // Check if the object contains any non-header fields.
       // Small objects are initialized using a consecutive set of writes.
       for (intptr_t current_offset = Instance::NextFieldOffset();
-           current_offset < instance_size;
-           current_offset += kWordSize) {
-        __ StoreIntoObjectNoBarrier(EAX,
-                                    FieldAddress(EAX, current_offset),
+           current_offset < instance_size; current_offset += kWordSize) {
+        __ StoreIntoObjectNoBarrier(EAX, FieldAddress(EAX, current_offset),
                                     Object::null_object());
       }
     } else {
@@ -1090,9 +1085,7 @@
       __ Bind(&init_loop);
       __ cmpl(ECX, EBX);
       __ j(ABOVE_EQUAL, &done, Assembler::kNearJump);
-      __ StoreIntoObjectNoBarrier(EAX,
-                                  Address(ECX, 0),
-                                  Object::null_object());
+      __ StoreIntoObjectNoBarrier(EAX, Address(ECX, 0), Object::null_object());
       __ addl(ECX, Immediate(kWordSize));
       __ jmp(&init_loop, Assembler::kNearJump);
       __ Bind(&done);
@@ -1149,8 +1142,8 @@
   __ movl(EAX, Address(EBP, EDI, TIMES_2, kParamEndSlotFromFp * kWordSize));
 
   __ pushl(Immediate(0));  // Setup space on stack for result from noSuchMethod.
-  __ pushl(EAX);  // Receiver.
-  __ pushl(EDX);  // Arguments descriptor array.
+  __ pushl(EAX);           // Receiver.
+  __ pushl(EDX);           // Arguments descriptor array.
 
   __ movl(EDX, EDI);
   // EDX: Smi-tagged arguments array length.
@@ -1170,15 +1163,15 @@
   Register func_reg = EBX;
   if (FLAG_trace_optimized_ic_calls) {
     __ EnterStubFrame();
-    __ pushl(func_reg);     // Preserve
-    __ pushl(ic_reg);       // Preserve.
-    __ pushl(ic_reg);       // Argument.
-    __ pushl(func_reg);     // Argument.
+    __ pushl(func_reg);  // Preserve
+    __ pushl(ic_reg);    // Preserve.
+    __ pushl(ic_reg);    // Argument.
+    __ pushl(func_reg);  // Argument.
     __ CallRuntime(kTraceICCallRuntimeEntry, 2);
-    __ popl(EAX);          // Discard argument;
-    __ popl(EAX);          // Discard argument;
-    __ popl(ic_reg);       // Restore.
-    __ popl(func_reg);     // Restore.
+    __ popl(EAX);       // Discard argument;
+    __ popl(EAX);       // Discard argument;
+    __ popl(ic_reg);    // Restore.
+    __ popl(func_reg);  // Restore.
     __ LeaveFrame();
   }
   __ incl(FieldAddress(func_reg, Function::usage_counter_offset()));
@@ -1209,8 +1202,8 @@
                           Label* not_smi_or_overflow) {
   __ Comment("Fast Smi op");
   ASSERT(num_args == 2);
-  __ movl(EDI, Address(ESP, + 1 * kWordSize));  // Right
-  __ movl(EAX, Address(ESP, + 2 * kWordSize));  // Left
+  __ movl(EDI, Address(ESP, +1 * kWordSize));  // Right
+  __ movl(EAX, Address(ESP, +2 * kWordSize));  // Left
   __ movl(EBX, EDI);
   __ orl(EBX, EAX);
   __ testl(EBX, Immediate(kSmiTagMask));
@@ -1243,7 +1236,8 @@
       __ Bind(&done);
       break;
     }
-    default: UNIMPLEMENTED();
+    default:
+      UNIMPLEMENTED();
   }
 
   // ECX: IC data object.
@@ -1294,7 +1288,8 @@
     bool optimized) {
   ASSERT(num_args > 0);
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that the IC data array has NumArgsTested() == num_args.
     // 'NumArgsTested' is stored in the least significant bits of 'state_bits'.
     __ movl(EBX, FieldAddress(ECX, ICData::state_bits_offset()));
@@ -1349,7 +1344,7 @@
     if (i > 0) {
       // If not the first, load the next argument's class ID.
       __ movl(EAX, FieldAddress(EDX, ArgumentsDescriptor::count_offset()));
-      __ movl(EDI, Address(ESP, EAX, TIMES_2, - i * kWordSize));
+      __ movl(EDI, Address(ESP, EAX, TIMES_2, -i * kWordSize));
       __ LoadTaggedClassIdMayBeSmi(EAX, EDI);
 
       // EAX: next argument class ID (smi).
@@ -1374,7 +1369,7 @@
 
   const intptr_t entry_size = ICData::TestEntryLengthFor(num_args) * kWordSize;
   __ addl(EBX, Immediate(entry_size));  // Next entry.
-  __ movl(EDI, Address(EBX, 0));  // Next class ID.
+  __ movl(EDI, Address(EBX, 0));        // Next class ID.
 
   __ Bind(&test);
   __ cmpl(EDI, Immediate(Smi::RawValue(kIllegalCid)));  // Done?
@@ -1388,8 +1383,8 @@
   // Create a stub frame as we are pushing some objects on the stack before
   // calling into the runtime.
   __ EnterStubFrame();
-  __ pushl(EDX);  // Preserve arguments descriptor array.
-  __ pushl(ECX);  // Preserve IC data object.
+  __ pushl(EDX);           // Preserve arguments descriptor array.
+  __ pushl(ECX);           // Preserve IC data object.
   __ pushl(Immediate(0));  // Result slot.
   // Push call arguments.
   for (intptr_t i = 0; i < num_args; i++) {
@@ -1458,41 +1453,37 @@
 //   - 1 target function.
 void StubCode::GenerateOneArgCheckInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, EBX);
-  GenerateNArgsCheckInlineCacheStub(assembler, 1,
-      kInlineCacheMissHandlerOneArgRuntimeEntry,
-      Token::kILLEGAL);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 1, kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL);
 }
 
 
 void StubCode::GenerateTwoArgsCheckInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, EBX);
   GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry,
-      Token::kILLEGAL);
+                                    kInlineCacheMissHandlerTwoArgsRuntimeEntry,
+                                    Token::kILLEGAL);
 }
 
 
 void StubCode::GenerateSmiAddInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, EBX);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry,
-      Token::kADD);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kADD);
 }
 
 
 void StubCode::GenerateSmiSubInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, EBX);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry,
-      Token::kSUB);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kSUB);
 }
 
 
 void StubCode::GenerateSmiEqualInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, EBX);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry,
-      Token::kEQ);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kEQ);
 }
 
 
@@ -1511,9 +1502,8 @@
     Assembler* assembler) {
   GenerateOptimizedUsageCounterIncrement(assembler);
   GenerateNArgsCheckInlineCacheStub(assembler, 1,
-      kInlineCacheMissHandlerOneArgRuntimeEntry,
-      Token::kILLEGAL,
-      true /* optimized */);
+                                    kInlineCacheMissHandlerOneArgRuntimeEntry,
+                                    Token::kILLEGAL, true /* optimized */);
 }
 
 
@@ -1521,9 +1511,8 @@
     Assembler* assembler) {
   GenerateOptimizedUsageCounterIncrement(assembler);
   GenerateNArgsCheckInlineCacheStub(assembler, 2,
-     kInlineCacheMissHandlerTwoArgsRuntimeEntry,
-     Token::kILLEGAL,
-     true /* optimized */);
+                                    kInlineCacheMissHandlerTwoArgsRuntimeEntry,
+                                    Token::kILLEGAL, true /* optimized */);
 }
 
 
@@ -1534,7 +1523,8 @@
   GenerateUsageCounterIncrement(assembler, EBX);
 
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that the IC data array has NumArgsTested() == num_args.
     // 'NumArgsTested' is stored in the least significant bits of 'state_bits'.
     __ movl(EBX, FieldAddress(ECX, ICData::state_bits_offset()));
@@ -1595,16 +1585,14 @@
 void StubCode::GenerateOneArgUnoptimizedStaticCallStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, EBX);
   GenerateNArgsCheckInlineCacheStub(
-      assembler, 1, kStaticCallMissHandlerOneArgRuntimeEntry,
-      Token::kILLEGAL);
+      assembler, 1, kStaticCallMissHandlerOneArgRuntimeEntry, Token::kILLEGAL);
 }
 
 
 void StubCode::GenerateTwoArgsUnoptimizedStaticCallStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, EBX);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kStaticCallMissHandlerTwoArgsRuntimeEntry,
-      Token::kILLEGAL);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kStaticCallMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL);
 }
 
 
@@ -1699,8 +1687,9 @@
     // Compute instance type arguments into EBX.
     Label has_no_type_arguments;
     __ movl(EBX, raw_null);
-    __ movl(EDI, FieldAddress(ECX,
-        Class::type_arguments_field_offset_in_words_offset()));
+    __ movl(EDI,
+            FieldAddress(ECX,
+                         Class::type_arguments_field_offset_in_words_offset()));
     __ cmpl(EDI, Immediate(Class::kNoTypeArguments));
     __ j(EQUAL, &has_no_type_arguments, Assembler::kNearJump);
     __ movl(EBX, FieldAddress(EAX, EDI, TIMES_4, 0));
@@ -1724,9 +1713,8 @@
   __ movl(ECX, FieldAddress(EAX, Closure::function_offset()));
   // ECX: instance class id as Smi or function.
   __ Bind(&loop);
-  __ movl(EDI,
-          Address(EDX,
-                  kWordSize * SubtypeTestCache::kInstanceClassIdOrFunction));
+  __ movl(EDI, Address(EDX, kWordSize *
+                                SubtypeTestCache::kInstanceClassIdOrFunction));
   __ cmpl(EDI, raw_null);
   __ j(EQUAL, &not_found, Assembler::kNearJump);
   __ cmpl(EDI, ECX);
@@ -1735,7 +1723,7 @@
   } else {
     __ j(NOT_EQUAL, &next_iteration, Assembler::kNearJump);
     __ movl(EDI,
-          Address(EDX, kWordSize * SubtypeTestCache::kInstanceTypeArguments));
+            Address(EDX, kWordSize * SubtypeTestCache::kInstanceTypeArguments));
     __ cmpl(EDI, EBX);
     if (n == 2) {
       __ j(EQUAL, &found, Assembler::kNearJump);
@@ -1743,7 +1731,7 @@
       __ j(NOT_EQUAL, &next_iteration, Assembler::kNearJump);
       __ movl(EDI,
               Address(EDX, kWordSize *
-                           SubtypeTestCache::kInstantiatorTypeArguments));
+                               SubtypeTestCache::kInstantiatorTypeArguments));
       __ cmpl(EDI, Address(ESP, kInstantiatorTypeArgumentsInBytes));
       __ j(EQUAL, &found, Assembler::kNearJump);
     }
diff --git a/runtime/vm/stub_code_ia32_test.cc b/runtime/vm/stub_code_ia32_test.cc
index 6ba14dc..ed2951b 100644
--- a/runtime/vm/stub_code_ia32_test.cc
+++ b/runtime/vm/stub_code_ia32_test.cc
@@ -20,25 +20,23 @@
 namespace dart {
 
 static Function* CreateFunction(const char* name) {
-  const String& class_name = String::Handle(Symbols::New(Thread::Current(),
-                                                         "ownerClass"));
+  const String& class_name =
+      String::Handle(Symbols::New(Thread::Current(), "ownerClass"));
   const Script& script = Script::Handle();
   const Library& lib = Library::Handle(Library::New(class_name));
   const Class& owner_class = Class::Handle(
       Class::New(lib, class_name, script, TokenPosition::kNoSource));
-  const String& function_name = String::ZoneHandle(
-      Symbols::New(Thread::Current(), name));
-  Function& function = Function::ZoneHandle(
-      Function::New(function_name, RawFunction::kRegularFunction,
-                    true, false, false, false, false, owner_class,
-                    TokenPosition::kMinSource));
+  const String& function_name =
+      String::ZoneHandle(Symbols::New(Thread::Current(), name));
+  Function& function = Function::ZoneHandle(Function::New(
+      function_name, RawFunction::kRegularFunction, true, false, false, false,
+      false, owner_class, TokenPosition::kMinSource));
   return &function;
 }
 
 
 // Test calls to stub code which calls into the runtime.
-static void GenerateCallToCallRuntimeStub(Assembler* assembler,
-                                          int length) {
+static void GenerateCallToCallRuntimeStub(Assembler* assembler, int length) {
   const int argc = 2;
   const Smi& smi_length = Smi::ZoneHandle(Smi::New(length));
   __ enter(Immediate(0));
diff --git a/runtime/vm/stub_code_mips.cc b/runtime/vm/stub_code_mips.cc
index 692d91a..40c8bb8 100644
--- a/runtime/vm/stub_code_mips.cc
+++ b/runtime/vm/stub_code_mips.cc
@@ -22,8 +22,10 @@
 namespace dart {
 
 DEFINE_FLAG(bool, inline_alloc, true, "Inline allocation of objects.");
-DEFINE_FLAG(bool, use_slow_path, false,
-    "Set to true for debugging & verifying the slow paths.");
+DEFINE_FLAG(bool,
+            use_slow_path,
+            false,
+            "Set to true for debugging & verifying the slow paths.");
 DECLARE_FLAG(bool, trace_optimized_ic_calls);
 
 // Input parameters:
@@ -48,7 +50,8 @@
   __ sw(FP, Address(THR, Thread::top_exit_frame_info_offset()));
 
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that we are always entering from Dart code.
     __ lw(T0, Assembler::VMTagAddress());
     __ BranchEqual(T0, Immediate(VMTag::kDartTagId), &ok);
@@ -90,7 +93,7 @@
   __ mov(T9, S5);
   __ jalr(T9);
 
-    ASSERT(retval_offset == 3 * kWordSize);
+  ASSERT(retval_offset == 3 * kWordSize);
   // Retval is next to 1st argument.
   __ delay_slot()->addiu(A3, A2, Immediate(kWordSize));
   __ Comment("CallToRuntimeStub return");
@@ -146,7 +149,8 @@
   __ sw(FP, Address(THR, Thread::top_exit_frame_info_offset()));
 
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that we are always entering from Dart code.
     __ lw(T0, Assembler::VMTagAddress());
     __ BranchEqual(T0, Immediate(VMTag::kDartTagId), &ok);
@@ -188,7 +192,7 @@
   __ mov(A0, SP);  // Pass the pointer to the NativeArguments.
 
 
-  __ mov(A1, T5);  // Pass the function entrypoint.
+  __ mov(A1, T5);                              // Pass the function entrypoint.
   __ ReserveAlignedFrameSpace(2 * kWordSize);  // Just passing A0, A1.
 
   // Call native wrapper function or redirection via simulator.
@@ -228,7 +232,8 @@
   __ sw(FP, Address(THR, Thread::top_exit_frame_info_offset()));
 
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that we are always entering from Dart code.
     __ lw(T0, Assembler::VMTagAddress());
     __ BranchEqual(T0, Immediate(VMTag::kDartTagId), &ok);
@@ -473,8 +478,8 @@
   }
 
   __ mov(A0, SP);  // Pass address of saved registers block.
-  bool is_lazy = (kind == kLazyDeoptFromReturn) ||
-                 (kind == kLazyDeoptFromThrow);
+  bool is_lazy =
+      (kind == kLazyDeoptFromReturn) || (kind == kLazyDeoptFromThrow);
   __ LoadImmediate(A1, is_lazy ? 1 : 0);
   __ ReserveAlignedFrameSpace(1 * kWordSize);
   __ CallRuntime(kDeoptimizeCopyFrameRuntimeEntry, 2);
@@ -703,7 +708,7 @@
   // Potential new object start.
   __ lw(T0, Address(T3, Heap::TopOffset(space)));
 
-  __ addu(T1, T0, T2);  // Potential next object start.
+  __ addu(T1, T0, T2);                        // Potential next object start.
   __ BranchUnsignedLess(T1, T0, &slow_case);  // Branch on unsigned overflow.
 
   // Check if the allocation fits into the remaining space.
@@ -729,8 +734,8 @@
     Label overflow, done;
     const intptr_t shift = RawObject::kSizeTagPos - kObjectAlignmentLog2;
 
-    __ BranchUnsignedGreater(
-        T2, Immediate(RawObject::SizeTag::kMaxSizeTag), &overflow);
+    __ BranchUnsignedGreater(T2, Immediate(RawObject::SizeTag::kMaxSizeTag),
+                             &overflow);
     __ b(&done);
     __ delay_slot()->sll(T2, T2, shift);
     __ Bind(&overflow);
@@ -747,14 +752,11 @@
   // T0: new object start as a tagged pointer.
   // T1: new object end address.
   // Store the type argument field.
-  __ StoreIntoObjectNoBarrier(T0,
-                              FieldAddress(T0, Array::type_arguments_offset()),
-                              A0);
+  __ StoreIntoObjectNoBarrier(
+      T0, FieldAddress(T0, Array::type_arguments_offset()), A0);
 
   // Set the length field.
-  __ StoreIntoObjectNoBarrier(T0,
-                              FieldAddress(T0, Array::length_offset()),
-                              A1);
+  __ StoreIntoObjectNoBarrier(T0, FieldAddress(T0, Array::length_offset()), A1);
 
   __ LoadObject(T7, Object::null_object());
   // Initialize all array elements to raw_null.
@@ -822,8 +824,8 @@
   // The saved vm tag, top resource, and top exit frame info.
   const intptr_t kPreservedSlots = 3;
   const intptr_t kPreservedRegSpace =
-      kWordSize * (kAbiPreservedCpuRegCount + kAbiPreservedFpuRegCount +
-                   kPreservedSlots);
+      kWordSize *
+      (kAbiPreservedCpuRegCount + kAbiPreservedFpuRegCount + kPreservedSlots);
 
   __ addiu(SP, SP, Immediate(-kPreservedRegSpace));
   for (int i = S0; i <= S7; i++) {
@@ -832,12 +834,11 @@
     __ sw(r, Address(SP, slot * kWordSize));
   }
 
-  for (intptr_t i = kAbiFirstPreservedFpuReg;
-       i <= kAbiLastPreservedFpuReg; i++) {
+  for (intptr_t i = kAbiFirstPreservedFpuReg; i <= kAbiLastPreservedFpuReg;
+       i++) {
     FRegister r = static_cast<FRegister>(i);
-    const intptr_t slot =
-        kAbiPreservedCpuRegCount + kPreservedSlots + i -
-        kAbiFirstPreservedFpuReg;
+    const intptr_t slot = kAbiPreservedCpuRegCount + kPreservedSlots + i -
+                          kAbiFirstPreservedFpuReg;
     __ swc1(r, Address(SP, slot * kWordSize));
   }
 
@@ -928,12 +929,11 @@
     __ lw(r, Address(SP, slot * kWordSize));
   }
 
-  for (intptr_t i = kAbiFirstPreservedFpuReg;
-       i <= kAbiLastPreservedFpuReg; i++) {
+  for (intptr_t i = kAbiFirstPreservedFpuReg; i <= kAbiLastPreservedFpuReg;
+       i++) {
     FRegister r = static_cast<FRegister>(i);
-    const intptr_t slot =
-        kAbiPreservedCpuRegCount + kPreservedSlots + i -
-        kAbiFirstPreservedFpuReg;
+    const intptr_t slot = kAbiPreservedCpuRegCount + kPreservedSlots + i -
+                          kAbiFirstPreservedFpuReg;
     __ lwc1(r, Address(SP, slot * kWordSize));
   }
 
@@ -960,7 +960,7 @@
     __ sll(T0, T1, 2);
     __ addu(T2, T2, T0);
     ASSERT(kSmiTagShift == 1);
-    __ LoadImmediate(T0, ~((kObjectAlignment) - 1));
+    __ LoadImmediate(T0, ~((kObjectAlignment)-1));
     __ and_(T2, T2, T0);
 
     NOT_IN_PRODUCT(__ MaybeTraceAllocation(kContextCid, T4, &slow_case));
@@ -1004,8 +1004,8 @@
     const intptr_t shift = RawObject::kSizeTagPos - kObjectAlignmentLog2;
     __ LoadImmediate(TMP, RawObject::SizeTag::kMaxSizeTag);
     __ sltu(CMPRES1, TMP, T2);  // CMPRES1 = T2 > TMP ? 1 : 0.
-    __ movn(T2, ZR, CMPRES1);  // T2 = CMPRES1 != 0 ? 0 : T2.
-    __ sll(TMP, T2, shift);  // TMP = T2 << shift.
+    __ movn(T2, ZR, CMPRES1);   // T2 = CMPRES1 != 0 ? 0 : T2.
+    __ sll(TMP, T2, shift);     // TMP = T2 << shift.
     __ movz(T2, TMP, CMPRES1);  // T2 = CMPRES1 == 0 ? TMP : T2.
 
     // Get the class index and insert it into the tags.
@@ -1053,8 +1053,8 @@
   __ sw(TMP, Address(SP, 1 * kWordSize));  // Store null.
   __ sw(T1, Address(SP, 0 * kWordSize));
   __ CallRuntime(kAllocateContextRuntimeEntry, 1);  // Allocate context.
-  __ lw(V0, Address(SP, 1 * kWordSize));  // Get the new context.
-  __ addiu(SP, SP, Immediate(2 * kWordSize));  // Pop argument and return.
+  __ lw(V0, Address(SP, 1 * kWordSize));            // Get the new context.
+  __ addiu(SP, SP, Immediate(2 * kWordSize));       // Pop argument and return.
 
   // V0: new object
   // Restore the frame pointer.
@@ -1204,8 +1204,7 @@
       // Check if the object contains any non-header fields.
       // Small objects are initialized using a consecutive set of writes.
       for (intptr_t current_offset = Instance::NextFieldOffset();
-           current_offset < instance_size;
-           current_offset += kWordSize) {
+           current_offset < instance_size; current_offset += kWordSize) {
         __ sw(T7, Address(T2, current_offset));
       }
     } else {
@@ -1313,7 +1312,7 @@
     __ addiu(SP, SP, Immediate(-4 * kWordSize));
     __ sw(T0, Address(SP, 3 * kWordSize));
     __ sw(S5, Address(SP, 2 * kWordSize));
-    __ sw(ic_reg, Address(SP, 1 * kWordSize));  // Argument.
+    __ sw(ic_reg, Address(SP, 1 * kWordSize));    // Argument.
     __ sw(func_reg, Address(SP, 0 * kWordSize));  // Argument.
     __ CallRuntime(kTraceICCallRuntimeEntry, 2);
     __ lw(S5, Address(SP, 2 * kWordSize));
@@ -1361,13 +1360,13 @@
   __ bne(CMPRES1, ZR, not_smi_or_overflow);
   switch (kind) {
     case Token::kADD: {
-     __ AdduDetectOverflow(V0, T1, T0, CMPRES1);  // Add.
-     __ bltz(CMPRES1, not_smi_or_overflow);  // Fall through on overflow.
+      __ AdduDetectOverflow(V0, T1, T0, CMPRES1);  // Add.
+      __ bltz(CMPRES1, not_smi_or_overflow);       // Fall through on overflow.
       break;
     }
     case Token::kSUB: {
       __ SubuDetectOverflow(V0, T1, T0, CMPRES1);  // Subtract.
-      __ bltz(CMPRES1, not_smi_or_overflow);  // Fall through on overflow.
+      __ bltz(CMPRES1, not_smi_or_overflow);       // Fall through on overflow.
       break;
     }
     case Token::kEQ: {
@@ -1380,13 +1379,14 @@
       __ Bind(&done);
       break;
     }
-    default: UNIMPLEMENTED();
+    default:
+      UNIMPLEMENTED();
   }
   // S5: IC data object (preserved).
   __ lw(T0, FieldAddress(S5, ICData::ic_data_offset()));
   // T0: ic_data_array with check entries: classes and target functions.
   __ AddImmediate(T0, Array::data_offset() - kHeapObjectTag);
-  // T0: points directly to the first ic data array element.
+// T0: points directly to the first ic data array element.
 #if defined(DEBUG)
   // Check that first entry is for Smi/Smi.
   Label error, ok;
@@ -1433,7 +1433,8 @@
   __ Comment("NArgsCheckInlineCacheStub");
   ASSERT(num_args > 0);
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that the IC data array has NumArgsTested() == num_args.
     // 'NumArgsTested' is stored in the least significant bits of 'state_bits'.
     __ lw(T0, FieldAddress(S5, ICData::state_bits_offset()));
@@ -1510,7 +1511,7 @@
       // Last check, all checks before matched.
       Label skip;
       __ bne(T3, T4, &skip);
-      __ b(&found);  // Break.
+      __ b(&found);                  // Break.
       __ delay_slot()->mov(RA, T2);  // Restore return address if found.
       __ Bind(&skip);
     }
@@ -1526,7 +1527,7 @@
 
   const intptr_t entry_size = ICData::TestEntryLengthFor(num_args) * kWordSize;
   __ AddImmediate(T0, entry_size);  // Next entry.
-  __ lw(T4, Address(T0));  // Next class ID.
+  __ lw(T4, Address(T0));           // Next class ID.
 
   __ Bind(&test);
   __ BranchNotEqual(T4, Immediate(Smi::RawValue(kIllegalCid)), &loop);  // Done?
@@ -1635,36 +1636,37 @@
 //   - 1 target function.
 void StubCode::GenerateOneArgCheckInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, T0);
-  GenerateNArgsCheckInlineCacheStub(assembler, 1,
-      kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 1, kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL);
 }
 
 
 void StubCode::GenerateTwoArgsCheckInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, T0);
   GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL);
+                                    kInlineCacheMissHandlerTwoArgsRuntimeEntry,
+                                    Token::kILLEGAL);
 }
 
 
 void StubCode::GenerateSmiAddInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, T0);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kADD);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kADD);
 }
 
 
 void StubCode::GenerateSmiSubInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, T0);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kSUB);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kSUB);
 }
 
 
 void StubCode::GenerateSmiEqualInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, T0);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kEQ);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kEQ);
 }
 
 
@@ -1672,8 +1674,8 @@
     Assembler* assembler) {
   GenerateOptimizedUsageCounterIncrement(assembler);
   GenerateNArgsCheckInlineCacheStub(assembler, 1,
-      kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL,
-      true /* optimized */);
+                                    kInlineCacheMissHandlerOneArgRuntimeEntry,
+                                    Token::kILLEGAL, true /* optimized */);
 }
 
 
@@ -1681,8 +1683,8 @@
     Assembler* assembler) {
   GenerateOptimizedUsageCounterIncrement(assembler);
   GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL,
-      true /* optimized */);
+                                    kInlineCacheMissHandlerTwoArgsRuntimeEntry,
+                                    Token::kILLEGAL, true /* optimized */);
 }
 
 
@@ -1693,7 +1695,8 @@
   GenerateUsageCounterIncrement(assembler, T0);
   __ Comment("UnoptimizedStaticCallStub");
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that the IC data array has NumArgsTested() == 0.
     // 'NumArgsTested' is stored in the least significant bits of 'state_bits'.
     __ lw(T0, FieldAddress(S5, ICData::state_bits_offset()));
@@ -1733,7 +1736,7 @@
   }
 
   // Load arguments descriptor into S4.
-  __ lw(S4,  FieldAddress(S5, ICData::arguments_descriptor_offset()));
+  __ lw(S4, FieldAddress(S5, ICData::arguments_descriptor_offset()));
 
   // Get function and call it, if possible.
   __ lw(T0, Address(T0, target_offset));
@@ -1768,8 +1771,8 @@
 
 void StubCode::GenerateTwoArgsUnoptimizedStaticCallStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, T0);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kStaticCallMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kStaticCallMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL);
 }
 
 
@@ -1871,10 +1874,10 @@
     // Compute instance type arguments into T1.
     Label has_no_type_arguments;
     __ LoadObject(T1, Object::null_object());
-    __ lw(T2, FieldAddress(T0,
-        Class::type_arguments_field_offset_in_words_offset()));
-    __ BranchEqual(
-        T2, Immediate(Class::kNoTypeArguments), &has_no_type_arguments);
+    __ lw(T2, FieldAddress(
+                  T0, Class::type_arguments_field_offset_in_words_offset()));
+    __ BranchEqual(T2, Immediate(Class::kNoTypeArguments),
+                   &has_no_type_arguments);
     __ sll(T2, T2, 2);
     __ addu(T2, A0, T2);  // T2 <- A0 + T2 * 4
     __ lw(T1, FieldAddress(T2, 0));
@@ -1916,14 +1919,14 @@
     } else {
       __ bne(T3, T1, &next_iteration);
       __ lw(T3, Address(T2, kWordSize *
-                        SubtypeTestCache::kInstantiatorTypeArguments));
+                                SubtypeTestCache::kInstantiatorTypeArguments));
       __ beq(T3, A1, &found);
     }
   }
   __ Bind(&next_iteration);
   __ b(&loop);
-  __ delay_slot()->addiu(T2, T2,
-      Immediate(kWordSize * SubtypeTestCache::kTestEntryLength));
+  __ delay_slot()->addiu(
+      T2, T2, Immediate(kWordSize * SubtypeTestCache::kTestEntryLength));
   // Fall through to not found.
   __ Bind(&not_found);
   __ Ret();
@@ -1992,8 +1995,8 @@
   __ mov(V0, A3);  // Exception object.
   // MIPS ABI reserves stack space for all arguments. The StackTrace object is
   // the last of five arguments, so it is first pushed on the stack.
-  __ lw(V1, Address(SP, 4 * kWordSize));  // StackTrace object.
-  __ mov(FP, A2);  // Frame_pointer.
+  __ lw(V1, Address(SP, 4 * kWordSize));   // StackTrace object.
+  __ mov(FP, A2);                          // Frame_pointer.
   __ lw(THR, Address(SP, 5 * kWordSize));  // Thread.
   // Set tag.
   __ LoadImmediate(A2, VMTag::kDartTagId);
@@ -2003,7 +2006,7 @@
   // Restore pool pointer.
   __ RestoreCodePointer();
   __ LoadPoolPointer();
-  __ jr(A0);  // Jump to the exception handler code.
+  __ jr(A0);                     // Jump to the exception handler code.
   __ delay_slot()->mov(SP, A1);  // Stack pointer.
 }
 
@@ -2021,8 +2024,8 @@
   __ sw(T0, Address(SP, 0 * kWordSize));
   __ CallRuntime(kOptimizeInvokedFunctionRuntimeEntry, 1);
   __ Comment("OptimizeFunctionStub return");
-  __ lw(T0, Address(SP, 1 * kWordSize));  // Get Function object
-  __ lw(S4, Address(SP, 2 * kWordSize));  // Restore argument descriptor.
+  __ lw(T0, Address(SP, 1 * kWordSize));       // Get Function object
+  __ lw(S4, Address(SP, 2 * kWordSize));       // Restore argument descriptor.
   __ addiu(SP, SP, Immediate(3 * kWordSize));  // Discard argument.
 
   __ lw(CODE_REG, FieldAddress(T0, Function::code_offset()));
diff --git a/runtime/vm/stub_code_mips_test.cc b/runtime/vm/stub_code_mips_test.cc
index 65ff616..13e3101 100644
--- a/runtime/vm/stub_code_mips_test.cc
+++ b/runtime/vm/stub_code_mips_test.cc
@@ -20,25 +20,23 @@
 namespace dart {
 
 static Function* CreateFunction(const char* name) {
-  const String& class_name = String::Handle(Symbols::New(Thread::Current(),
-                                                         "ownerClass"));
+  const String& class_name =
+      String::Handle(Symbols::New(Thread::Current(), "ownerClass"));
   const Script& script = Script::Handle();
   const Library& lib = Library::Handle(Library::New(class_name));
   const Class& owner_class = Class::Handle(
       Class::New(lib, class_name, script, TokenPosition::kNoSource));
-  const String& function_name = String::ZoneHandle(
-      Symbols::New(Thread::Current(), name));
-  Function& function = Function::ZoneHandle(
-      Function::New(function_name, RawFunction::kRegularFunction,
-                    true, false, false, false, false, owner_class,
-                    TokenPosition::kNoSource));
+  const String& function_name =
+      String::ZoneHandle(Symbols::New(Thread::Current(), name));
+  Function& function = Function::ZoneHandle(Function::New(
+      function_name, RawFunction::kRegularFunction, true, false, false, false,
+      false, owner_class, TokenPosition::kNoSource));
   return &function;
 }
 
 
 // Test calls to stub code which calls into the runtime.
-static void GenerateCallToCallRuntimeStub(Assembler* assembler,
-                                          int length) {
+static void GenerateCallToCallRuntimeStub(Assembler* assembler, int length) {
   const int argc = 2;
   const Smi& smi_length = Smi::ZoneHandle(Smi::New(length));
   __ EnterDartFrame(0);
diff --git a/runtime/vm/stub_code_x64.cc b/runtime/vm/stub_code_x64.cc
index f5692b7..9ca6a6e2 100644
--- a/runtime/vm/stub_code_x64.cc
+++ b/runtime/vm/stub_code_x64.cc
@@ -23,8 +23,10 @@
 namespace dart {
 
 DEFINE_FLAG(bool, inline_alloc, true, "Inline allocation of objects.");
-DEFINE_FLAG(bool, use_slow_path, false,
-    "Set to true for debugging & verifying the slow paths.");
+DEFINE_FLAG(bool,
+            use_slow_path,
+            false,
+            "Set to true for debugging & verifying the slow paths.");
 DECLARE_FLAG(bool, trace_optimized_ic_calls);
 
 // Input parameters:
@@ -48,7 +50,8 @@
   __ movq(Address(THR, Thread::top_exit_frame_info_offset()), RBP);
 
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that we are always entering from Dart code.
     __ movq(RAX, Immediate(VMTag::kDartTagId));
     __ cmpq(RAX, Assembler::VMTagAddress());
@@ -74,8 +77,8 @@
   __ movq(Address(RSP, argc_tag_offset), R10);  // Set argc in NativeArguments.
   // Compute argv.
   __ leaq(RAX, Address(RBP, R10, TIMES_8, kParamEndSlotFromFp * kWordSize));
-  __ movq(Address(RSP, argv_offset), RAX);  // Set argv in NativeArguments.
-  __ addq(RAX, Immediate(1 * kWordSize));  // Retval is next to 1st argument.
+  __ movq(Address(RSP, argv_offset), RAX);    // Set argv in NativeArguments.
+  __ addq(RAX, Immediate(1 * kWordSize));     // Retval is next to 1st argument.
   __ movq(Address(RSP, retval_offset), RAX);  // Set retval in NativeArguments.
 #if defined(_WIN64)
   ASSERT(sizeof(NativeArguments) > CallingConventions::kRegisterTransferLimit);
@@ -107,7 +110,7 @@
 // Must preserve all registers.
 void StubCode::GeneratePrintStopMessageStub(Assembler* assembler) {
   __ EnterCallRuntimeFrame(0);
-  // Call the runtime leaf function. RDI already contains the parameter.
+// Call the runtime leaf function. RDI already contains the parameter.
 #if defined(_WIN64)
   __ movq(CallingConventions::kArg1Reg, RDI);
 #endif
@@ -141,7 +144,8 @@
   __ movq(Address(THR, Thread::top_exit_frame_info_offset()), RBP);
 
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that we are always entering from Dart code.
     __ movq(R8, Immediate(VMTag::kDartTagId));
     __ cmpq(R8, Assembler::VMTagAddress());
@@ -163,10 +167,10 @@
   }
 
   // Pass NativeArguments structure by value and call native function.
-  __ movq(Address(RSP, thread_offset), THR);  // Set thread in NativeArgs.
+  __ movq(Address(RSP, thread_offset), THR);    // Set thread in NativeArgs.
   __ movq(Address(RSP, argc_tag_offset), R10);  // Set argc in NativeArguments.
-  __ movq(Address(RSP, argv_offset), RAX);  // Set argv in NativeArguments.
-  __ leaq(RAX, Address(RBP, 2 * kWordSize));  // Compute return value addr.
+  __ movq(Address(RSP, argv_offset), RAX);      // Set argv in NativeArguments.
+  __ leaq(RAX, Address(RBP, 2 * kWordSize));    // Compute return value addr.
   __ movq(Address(RSP, retval_offset), RAX);  // Set retval in NativeArguments.
 
   // Pass the pointer to the NativeArguments.
@@ -212,7 +216,8 @@
   __ movq(Address(THR, Thread::top_exit_frame_info_offset()), RBP);
 
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that we are always entering from Dart code.
     __ movq(R8, Immediate(VMTag::kDartTagId));
     __ cmpq(R8, Assembler::VMTagAddress());
@@ -234,10 +239,10 @@
   }
 
   // Pass NativeArguments structure by value and call native function.
-  __ movq(Address(RSP, thread_offset), THR);  // Set thread in NativeArgs.
+  __ movq(Address(RSP, thread_offset), THR);    // Set thread in NativeArgs.
   __ movq(Address(RSP, argc_tag_offset), R10);  // Set argc in NativeArguments.
-  __ movq(Address(RSP, argv_offset), RAX);  // Set argv in NativeArguments.
-  __ leaq(RAX, Address(RBP, 2 * kWordSize));  // Compute return value addr.
+  __ movq(Address(RSP, argv_offset), RAX);      // Set argv in NativeArguments.
+  __ leaq(RAX, Address(RBP, 2 * kWordSize));    // Compute return value addr.
   __ movq(Address(RSP, retval_offset), RAX);  // Set retval in NativeArguments.
 
   // Pass the pointer to the NativeArguments.
@@ -264,7 +269,7 @@
   __ pushq(Immediate(0));
   __ CallRuntime(kPatchStaticCallRuntimeEntry, 0);
   __ popq(CODE_REG);  // Get Code object result.
-  __ popq(R10);  // Restore arguments descriptor array.
+  __ popq(R10);       // Restore arguments descriptor array.
   // Remove the stub frame as we are about to jump to the dart function.
   __ LeaveStubFrame();
 
@@ -287,7 +292,7 @@
   __ pushq(Immediate(0));
   __ CallRuntime(kFixCallersTargetRuntimeEntry, 0);
   __ popq(CODE_REG);  // Get Code object.
-  __ popq(R10);  // Restore arguments descriptor array.
+  __ popq(R10);       // Restore arguments descriptor array.
   __ movq(RAX, FieldAddress(CODE_REG, Code::entry_point_offset()));
   __ LeaveStubFrame();
   __ jmp(RAX);
@@ -412,8 +417,8 @@
 
   // Pass address of saved registers block.
   __ movq(CallingConventions::kArg1Reg, RSP);
-  bool is_lazy = (kind == kLazyDeoptFromReturn) ||
-                 (kind == kLazyDeoptFromThrow);
+  bool is_lazy =
+      (kind == kLazyDeoptFromReturn) || (kind == kLazyDeoptFromThrow);
   __ movq(CallingConventions::kArg2Reg, Immediate(is_lazy ? 1 : 0));
   __ ReserveAlignedFrameSpace(0);  // Ensure stack is aligned before the call.
   __ CallRuntime(kDeoptimizeCopyFrameRuntimeEntry, 2);
@@ -432,10 +437,10 @@
   __ RestoreCodePointer();
   __ LeaveStubFrame();
 
-  __ popq(RCX);   // Preserve return address.
+  __ popq(RCX);       // Preserve return address.
   __ movq(RSP, RBP);  // Discard optimized frame.
   __ subq(RSP, RAX);  // Reserve space for deoptimized frame.
-  __ pushq(RCX);  // Restore return address.
+  __ pushq(RCX);      // Restore return address.
 
   // DeoptimizeFillFrame expects a Dart frame, i.e. EnterDartFrame(0), but there
   // is no need to set the correct PC marker or load PP, since they get patched.
@@ -490,9 +495,9 @@
   }
   __ LeaveStubFrame();
 
-  __ popq(RCX);  // Pop return address.
+  __ popq(RCX);       // Pop return address.
   __ addq(RSP, RBX);  // Remove materialization arguments.
-  __ pushq(RCX);  // Push return address.
+  __ pushq(RCX);      // Push return address.
   __ ret();
 }
 
@@ -535,12 +540,12 @@
   __ EnterStubFrame();
   // Load the receiver.
   __ movq(RDI, FieldAddress(R10, ArgumentsDescriptor::count_offset()));
-  __ movq(RAX, Address(
-      RBP, RDI, TIMES_HALF_WORD_SIZE, kParamEndSlotFromFp * kWordSize));
+  __ movq(RAX, Address(RBP, RDI, TIMES_HALF_WORD_SIZE,
+                       kParamEndSlotFromFp * kWordSize));
   __ pushq(Immediate(0));  // Setup space on stack for result.
-  __ pushq(RAX);  // Receiver.
-  __ pushq(RBX);  // ICData/MegamorphicCache.
-  __ pushq(R10);  // Arguments descriptor array.
+  __ pushq(RAX);           // Receiver.
+  __ pushq(RBX);           // ICData/MegamorphicCache.
+  __ pushq(R10);           // Arguments descriptor array.
   __ movq(R10, RDI);
   // EDX: Smi-tagged arguments array length.
   PushArgumentsArray(assembler);
@@ -560,8 +565,8 @@
   __ movq(RAX, FieldAddress(R10, ArgumentsDescriptor::count_offset()));
   // Three words (saved pp, saved fp, stub's pc marker)
   // in the stack above the return address.
-  __ movq(RAX, Address(RSP, RAX, TIMES_4,
-                       kSavedAboveReturnAddress * kWordSize));
+  __ movq(RAX,
+          Address(RSP, RAX, TIMES_4, kSavedAboveReturnAddress * kWordSize));
   // Preserve IC data and arguments descriptor.
   __ pushq(RBX);
   __ pushq(R10);
@@ -620,9 +625,8 @@
   __ j(GREATER, &slow_case);
 
   // Check for allocation tracing.
-  NOT_IN_PRODUCT(__ MaybeTraceAllocation(kArrayCid,
-                                         &slow_case,
-                                         Assembler::kFarJump));
+  NOT_IN_PRODUCT(
+      __ MaybeTraceAllocation(kArrayCid, &slow_case, Assembler::kFarJump));
 
   const intptr_t fixed_size = sizeof(RawArray) + kObjectAlignment - 1;
   __ leaq(RDI, Address(RDI, TIMES_4, fixed_size));  // RDI is a Smi.
@@ -674,13 +678,11 @@
   // RAX: new object start as a tagged pointer.
   // Store the type argument field.
   // No generetional barrier needed, since we store into a new object.
-  __ StoreIntoObjectNoBarrier(RAX,
-                              FieldAddress(RAX, Array::type_arguments_offset()),
-                              RBX);
+  __ StoreIntoObjectNoBarrier(
+      RAX, FieldAddress(RAX, Array::type_arguments_offset()), RBX);
 
   // Set the length field.
-  __ StoreIntoObjectNoBarrier(RAX,
-                              FieldAddress(RAX, Array::length_offset()),
+  __ StoreIntoObjectNoBarrier(RAX, FieldAddress(RAX, Array::length_offset()),
                               R10);
 
   // Initialize all array elements to raw_null.
@@ -738,9 +740,9 @@
   __ EnterFrame(0);
 
   const Register kTargetCodeReg = CallingConventions::kArg1Reg;
-  const Register kArgDescReg    = CallingConventions::kArg2Reg;
-  const Register kArgsReg       = CallingConventions::kArg3Reg;
-  const Register kThreadReg     = CallingConventions::kArg4Reg;
+  const Register kArgDescReg = CallingConventions::kArg2Reg;
+  const Register kArgsReg = CallingConventions::kArg3Reg;
+  const Register kThreadReg = CallingConventions::kArg4Reg;
 
   // Push code object to PC marker slot.
   __ pushq(Address(kThreadReg, Thread::invoke_dart_code_stub_offset()));
@@ -752,7 +754,7 @@
 
   const intptr_t kInitialOffset = 2;
   // Save arguments descriptor array.
-  const intptr_t kArgumentsDescOffset = -(kInitialOffset) * kWordSize;
+  const intptr_t kArgumentsDescOffset = -(kInitialOffset)*kWordSize;
   __ pushq(kArgDescReg);
 
   // Save C++ ABI callee-saved registers.
@@ -778,8 +780,7 @@
   // StackFrameIterator reads the top exit frame info saved in this frame.
   __ movq(RAX, Address(THR, Thread::top_resource_offset()));
   __ pushq(RAX);
-  __ movq(Address(THR, Thread::top_resource_offset()),
-          Immediate(0));
+  __ movq(Address(THR, Thread::top_resource_offset()), Immediate(0));
   __ movq(RAX, Address(THR, Thread::top_exit_frame_info_offset()));
   // The constant kExitLinkSlotFromEntryFp must be kept in sync with the
   // code below.
@@ -795,8 +796,7 @@
   }
 #endif
 
-  __ movq(Address(THR, Thread::top_exit_frame_info_offset()),
-          Immediate(0));
+  __ movq(Address(THR, Thread::top_exit_frame_info_offset()), Immediate(0));
 
   // Load arguments descriptor array into R10, which is passed to Dart code.
   __ movq(R10, Address(kArgDescReg, VMHandles::kOffsetOfRawPtrInHandle));
@@ -875,9 +875,8 @@
     __ andq(R13, Immediate(-kObjectAlignment));
 
     // Check for allocation tracing.
-    NOT_IN_PRODUCT(__ MaybeTraceAllocation(kContextCid,
-                                           &slow_case,
-                                           Assembler::kFarJump));
+    NOT_IN_PRODUCT(
+        __ MaybeTraceAllocation(kContextCid, &slow_case, Assembler::kFarJump));
 
     // Now allocate the object.
     // R10: number of context variables.
@@ -931,8 +930,7 @@
       // RAX: new object.
       // R10: number of context variables.
       // R13: size and bit tags.
-      __ orq(R13,
-             Immediate(RawObject::ClassIdTag::encode(cid)));
+      __ orq(R13, Immediate(RawObject::ClassIdTag::encode(cid)));
       __ movq(FieldAddress(RAX, Context::tags_offset()), R13);  // Tags.
     }
 
@@ -945,9 +943,8 @@
     // RAX: new object.
     // R10: number of context variables.
     // No generational barrier needed, since we are storing null.
-    __ StoreIntoObjectNoBarrier(RAX,
-                                FieldAddress(RAX, Context::parent_offset()),
-                                R9);
+    __ StoreIntoObjectNoBarrier(
+        RAX, FieldAddress(RAX, Context::parent_offset()), R9);
 
     // Initialize the context variables.
     // RAX: new object.
@@ -964,9 +961,7 @@
       __ Bind(&loop);
       __ decq(R10);
       // No generational barrier needed, since we are storing null.
-      __ StoreIntoObjectNoBarrier(RAX,
-                                  Address(R13, R10, TIMES_8, 0),
-                                  R9);
+      __ StoreIntoObjectNoBarrier(RAX, Address(R13, R10, TIMES_8, 0), R9);
       __ Bind(&entry);
       __ cmpq(R10, Immediate(0));
       __ j(NOT_EQUAL, &loop, Assembler::kNearJump);
@@ -1123,11 +1118,8 @@
       // Check if the object contains any non-header fields.
       // Small objects are initialized using a consecutive set of writes.
       for (intptr_t current_offset = Instance::NextFieldOffset();
-           current_offset < instance_size;
-           current_offset += kWordSize) {
-        __ StoreIntoObjectNoBarrier(RAX,
-                                    FieldAddress(RAX, current_offset),
-                                    R9);
+           current_offset < instance_size; current_offset += kWordSize) {
+        __ StoreIntoObjectNoBarrier(RAX, FieldAddress(RAX, current_offset), R9);
       }
     } else {
       __ leaq(RCX, FieldAddress(RAX, Instance::NextFieldOffset()));
@@ -1168,8 +1160,8 @@
   // RDX: new object type arguments.
   // Create a stub frame.
   __ EnterStubFrame();  // Uses PP to access class object.
-  __ pushq(R9);  // Setup space on stack for return value.
-  __ PushObject(cls);  // Push class of object to be allocated.
+  __ pushq(R9);         // Setup space on stack for return value.
+  __ PushObject(cls);   // Push class of object to be allocated.
   if (is_cls_parameterized) {
     __ pushq(RDX);  // Push type arguments of object to be allocated.
   } else {
@@ -1201,8 +1193,8 @@
   __ movq(RAX, Address(RBP, R13, TIMES_4, kParamEndSlotFromFp * kWordSize));
 
   __ pushq(Immediate(0));  // Result slot.
-  __ pushq(RAX);  // Receiver.
-  __ pushq(R10);  // Arguments descriptor array.
+  __ pushq(RAX);           // Receiver.
+  __ pushq(R10);           // Arguments descriptor array.
 
   __ movq(R10, R13);  // Smi-tagged arguments array length.
   PushArgumentsArray(assembler);
@@ -1221,15 +1213,15 @@
   Register func_reg = RDI;
   if (FLAG_trace_optimized_ic_calls) {
     __ EnterStubFrame();
-    __ pushq(func_reg);     // Preserve
-    __ pushq(ic_reg);       // Preserve.
-    __ pushq(ic_reg);       // Argument.
-    __ pushq(func_reg);     // Argument.
+    __ pushq(func_reg);  // Preserve
+    __ pushq(ic_reg);    // Preserve.
+    __ pushq(ic_reg);    // Argument.
+    __ pushq(func_reg);  // Argument.
     __ CallRuntime(kTraceICCallRuntimeEntry, 2);
-    __ popq(RAX);          // Discard argument;
-    __ popq(RAX);          // Discard argument;
-    __ popq(ic_reg);       // Restore.
-    __ popq(func_reg);     // Restore.
+    __ popq(RAX);       // Discard argument;
+    __ popq(RAX);       // Discard argument;
+    __ popq(ic_reg);    // Restore.
+    __ popq(func_reg);  // Restore.
     __ LeaveStubFrame();
   }
   __ incl(FieldAddress(func_reg, Function::usage_counter_offset()));
@@ -1260,8 +1252,8 @@
                           Label* not_smi_or_overflow) {
   __ Comment("Fast Smi op");
   ASSERT(num_args == 2);
-  __ movq(RCX, Address(RSP, + 1 * kWordSize));  // Right
-  __ movq(RAX, Address(RSP, + 2 * kWordSize));  // Left.
+  __ movq(RCX, Address(RSP, +1 * kWordSize));  // Right
+  __ movq(RAX, Address(RSP, +2 * kWordSize));  // Left.
   __ movq(R13, RCX);
   __ orq(R13, RAX);
   __ testq(R13, Immediate(kSmiTagMask));
@@ -1288,14 +1280,15 @@
       __ Bind(&done);
       break;
     }
-    default: UNIMPLEMENTED();
+    default:
+      UNIMPLEMENTED();
   }
 
   // RBX: IC data object (preserved).
   __ movq(R13, FieldAddress(RBX, ICData::ic_data_offset()));
   // R13: ic_data_array with check entries: classes and target functions.
   __ leaq(R13, FieldAddress(R13, Array::data_offset()));
-  // R13: points directly to the first ic data array element.
+// R13: points directly to the first ic data array element.
 #if defined(DEBUG)
   // Check that first entry is for Smi/Smi.
   Label error, ok;
@@ -1342,7 +1335,8 @@
     bool optimized) {
   ASSERT(num_args > 0);
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that the IC data array has NumArgsTested() == num_args.
     // 'NumArgsTested' is stored in the least significant bits of 'state_bits'.
     __ movl(RCX, FieldAddress(RBX, ICData::state_bits_offset()));
@@ -1366,11 +1360,7 @@
 
   Label not_smi_or_overflow;
   if (kind != Token::kILLEGAL) {
-    EmitFastSmiOp(
-        assembler,
-        kind,
-        num_args,
-        &not_smi_or_overflow);
+    EmitFastSmiOp(assembler, kind, num_args, &not_smi_or_overflow);
   }
   __ Bind(&not_smi_or_overflow);
 
@@ -1400,7 +1390,7 @@
     if (i > 0) {
       // If not the first, load the next argument's class ID.
       __ movq(RAX, FieldAddress(R10, ArgumentsDescriptor::count_offset()));
-      __ movq(R9, Address(RSP, RAX, TIMES_4, - i * kWordSize));
+      __ movq(R9, Address(RSP, RAX, TIMES_4, -i * kWordSize));
       __ LoadTaggedClassIdMayBeSmi(RAX, R9);
       // RAX: next argument class ID (smi).
       __ movq(R9, Address(R13, i * kWordSize));
@@ -1424,7 +1414,7 @@
 
   const intptr_t entry_size = ICData::TestEntryLengthFor(num_args) * kWordSize;
   __ addq(R13, Immediate(entry_size));  // Next entry.
-  __ movq(R9, Address(R13, 0));  // Next class ID.
+  __ movq(R9, Address(R13, 0));         // Next class ID.
 
   __ Bind(&test);
   __ cmpq(R9, Immediate(Smi::RawValue(kIllegalCid)));  // Done?
@@ -1436,8 +1426,8 @@
   __ movq(RAX, FieldAddress(R10, ArgumentsDescriptor::count_offset()));
   __ leaq(RAX, Address(RSP, RAX, TIMES_4, 0));  // RAX is Smi.
   __ EnterStubFrame();
-  __ pushq(R10);  // Preserve arguments descriptor array.
-  __ pushq(RBX);  // Preserve IC data object.
+  __ pushq(R10);           // Preserve arguments descriptor array.
+  __ pushq(RBX);           // Preserve IC data object.
   __ pushq(Immediate(0));  // Result slot.
   // Push call arguments.
   for (intptr_t i = 0; i < num_args; i++) {
@@ -1511,41 +1501,37 @@
 //   - 1 target function.
 void StubCode::GenerateOneArgCheckInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, RCX);
-  GenerateNArgsCheckInlineCacheStub(assembler, 1,
-      kInlineCacheMissHandlerOneArgRuntimeEntry,
-      Token::kILLEGAL);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 1, kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL);
 }
 
 
 void StubCode::GenerateTwoArgsCheckInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, RCX);
   GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry,
-      Token::kILLEGAL);
+                                    kInlineCacheMissHandlerTwoArgsRuntimeEntry,
+                                    Token::kILLEGAL);
 }
 
 
 void StubCode::GenerateSmiAddInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, RCX);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry,
-      Token::kADD);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kADD);
 }
 
 
 void StubCode::GenerateSmiSubInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, RCX);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry,
-      Token::kSUB);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kSUB);
 }
 
 
 void StubCode::GenerateSmiEqualInlineCacheStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, RCX);
-  GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry,
-      Token::kEQ);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kEQ);
 }
 
 
@@ -1564,9 +1550,8 @@
     Assembler* assembler) {
   GenerateOptimizedUsageCounterIncrement(assembler);
   GenerateNArgsCheckInlineCacheStub(assembler, 1,
-      kInlineCacheMissHandlerOneArgRuntimeEntry,
-      Token::kILLEGAL,
-      true /* optimized */);
+                                    kInlineCacheMissHandlerOneArgRuntimeEntry,
+                                    Token::kILLEGAL, true /* optimized */);
 }
 
 
@@ -1574,9 +1559,8 @@
     Assembler* assembler) {
   GenerateOptimizedUsageCounterIncrement(assembler);
   GenerateNArgsCheckInlineCacheStub(assembler, 2,
-      kInlineCacheMissHandlerTwoArgsRuntimeEntry,
-      Token::kILLEGAL,
-      true /* optimized */);
+                                    kInlineCacheMissHandlerTwoArgsRuntimeEntry,
+                                    Token::kILLEGAL, true /* optimized */);
 }
 
 
@@ -1586,7 +1570,8 @@
 void StubCode::GenerateZeroArgsUnoptimizedStaticCallStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, RCX);
 #if defined(DEBUG)
-  { Label ok;
+  {
+    Label ok;
     // Check that the IC data array has NumArgsTested() == 0.
     // 'NumArgsTested' is stored in the least significant bits of 'state_bits'.
     __ movl(RCX, FieldAddress(RBX, ICData::state_bits_offset()));
@@ -1606,9 +1591,9 @@
     __ movzxb(RAX, Address(RAX, Isolate::single_step_offset()));
     __ cmpq(RAX, Immediate(0));
 #if defined(DEBUG)
-      static const bool kJumpLength = Assembler::kFarJump;
+    static const bool kJumpLength = Assembler::kFarJump;
 #else
-      static const bool kJumpLength = Assembler::kNearJump;
+    static const bool kJumpLength = Assembler::kNearJump;
 #endif  // DEBUG
     __ j(NOT_EQUAL, &stepping, kJumpLength);
     __ Bind(&done_stepping);
@@ -1656,19 +1641,14 @@
 void StubCode::GenerateOneArgUnoptimizedStaticCallStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, RCX);
   GenerateNArgsCheckInlineCacheStub(
-      assembler,
-      1,
-      kStaticCallMissHandlerOneArgRuntimeEntry,
-      Token::kILLEGAL);
+      assembler, 1, kStaticCallMissHandlerOneArgRuntimeEntry, Token::kILLEGAL);
 }
 
 
 void StubCode::GenerateTwoArgsUnoptimizedStaticCallStub(Assembler* assembler) {
   GenerateUsageCounterIncrement(assembler, RCX);
-  GenerateNArgsCheckInlineCacheStub(assembler,
-      2,
-      kStaticCallMissHandlerTwoArgsRuntimeEntry,
-      Token::kILLEGAL);
+  GenerateNArgsCheckInlineCacheStub(
+      assembler, 2, kStaticCallMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL);
 }
 
 
@@ -1697,15 +1677,15 @@
 // TOS(0): return address (Dart code).
 void StubCode::GenerateICCallBreakpointStub(Assembler* assembler) {
   __ EnterStubFrame();
-  __ pushq(RBX);  // Preserve IC data.
+  __ pushq(RBX);           // Preserve IC data.
   __ pushq(Immediate(0));  // Result slot.
   __ CallRuntime(kBreakpointRuntimeHandlerRuntimeEntry, 0);
   __ popq(CODE_REG);  // Original stub.
-  __ popq(RBX);  // Restore IC data.
+  __ popq(RBX);       // Restore IC data.
   __ LeaveStubFrame();
 
   __ movq(RAX, FieldAddress(CODE_REG, Code::entry_point_offset()));
-  __ jmp(RAX);   // Jump to original stub.
+  __ jmp(RAX);  // Jump to original stub.
 }
 
 
@@ -1718,7 +1698,7 @@
   __ LeaveStubFrame();
 
   __ movq(RAX, FieldAddress(CODE_REG, Code::entry_point_offset()));
-  __ jmp(RAX);   // Jump to original stub.
+  __ jmp(RAX);  // Jump to original stub.
 }
 
 
@@ -1759,8 +1739,9 @@
     // Compute instance type arguments into R13.
     Label has_no_type_arguments;
     __ movq(R13, R9);
-    __ movl(RDI, FieldAddress(R10,
-        Class::type_arguments_field_offset_in_words_offset()));
+    __ movl(RDI,
+            FieldAddress(R10,
+                         Class::type_arguments_field_offset_in_words_offset()));
     __ cmpl(RDI, Immediate(Class::kNoTypeArguments));
     __ j(EQUAL, &has_no_type_arguments, Assembler::kNearJump);
     __ movq(R13, FieldAddress(RAX, RDI, TIMES_8, 0));
@@ -1783,9 +1764,8 @@
   __ movq(R10, FieldAddress(RAX, Closure::function_offset()));
   // R10: instance class id as Smi or function.
   __ Bind(&loop);
-  __ movq(RDI,
-          Address(RDX,
-                  kWordSize * SubtypeTestCache::kInstanceClassIdOrFunction));
+  __ movq(RDI, Address(RDX, kWordSize *
+                                SubtypeTestCache::kInstanceClassIdOrFunction));
   __ cmpq(RDI, R9);
   __ j(EQUAL, &not_found, Assembler::kNearJump);
   __ cmpq(RDI, R10);
@@ -1794,15 +1774,15 @@
   } else {
     __ j(NOT_EQUAL, &next_iteration, Assembler::kNearJump);
     __ movq(RDI,
-        Address(RDX, kWordSize * SubtypeTestCache::kInstanceTypeArguments));
+            Address(RDX, kWordSize * SubtypeTestCache::kInstanceTypeArguments));
     __ cmpq(RDI, R13);
     if (n == 2) {
       __ j(EQUAL, &found, Assembler::kNearJump);
     } else {
       __ j(NOT_EQUAL, &next_iteration, Assembler::kNearJump);
       __ movq(RDI,
-          Address(RDX,
-                  kWordSize * SubtypeTestCache::kInstantiatorTypeArguments));
+              Address(RDX, kWordSize *
+                               SubtypeTestCache::kInstantiatorTypeArguments));
       __ cmpq(RDI, Address(RSP, kInstantiatorTypeArgumentsInBytes));
       __ j(EQUAL, &found, Assembler::kNearJump);
     }
@@ -1895,8 +1875,7 @@
   // Set the tag.
   __ movq(Assembler::VMTagAddress(), Immediate(VMTag::kDartTagId));
   // Clear top exit frame.
-  __ movq(Address(THR, Thread::top_exit_frame_info_offset()),
-          Immediate(0));
+  __ movq(Address(THR, Thread::top_exit_frame_info_offset()), Immediate(0));
   // Restore the pool pointer.
   __ RestoreCodePointer();
   __ LoadPoolPointer(PP);
@@ -1909,9 +1888,9 @@
 // R10: argument descriptor (preserved).
 void StubCode::GenerateOptimizeFunctionStub(Assembler* assembler) {
   __ EnterStubFrame();
-  __ pushq(R10);  // Preserve args descriptor.
+  __ pushq(R10);           // Preserve args descriptor.
   __ pushq(Immediate(0));  // Result slot.
-  __ pushq(RDI);  // Arg0: function to optimize
+  __ pushq(RDI);           // Arg0: function to optimize
   __ CallRuntime(kOptimizeInvokedFunctionRuntimeEntry, 1);
   __ popq(RAX);  // Disard argument.
   __ popq(RAX);  // Get Code object.
diff --git a/runtime/vm/stub_code_x64_test.cc b/runtime/vm/stub_code_x64_test.cc
index 66feaeb..d217c32 100644
--- a/runtime/vm/stub_code_x64_test.cc
+++ b/runtime/vm/stub_code_x64_test.cc
@@ -20,25 +20,23 @@
 namespace dart {
 
 static Function* CreateFunction(const char* name) {
-  const String& class_name = String::Handle(Symbols::New(Thread::Current(),
-                                                         "ownerClass"));
+  const String& class_name =
+      String::Handle(Symbols::New(Thread::Current(), "ownerClass"));
   const Script& script = Script::Handle();
   const Library& lib = Library::Handle(Library::New(class_name));
   const Class& owner_class = Class::Handle(
       Class::New(lib, class_name, script, TokenPosition::kNoSource));
-  const String& function_name = String::ZoneHandle(
-      Symbols::New(Thread::Current(), name));
-  Function& function = Function::ZoneHandle(
-      Function::New(function_name, RawFunction::kRegularFunction,
-                    true, false, false, false, false, owner_class,
-                    TokenPosition::kNoSource));
+  const String& function_name =
+      String::ZoneHandle(Symbols::New(Thread::Current(), name));
+  Function& function = Function::ZoneHandle(Function::New(
+      function_name, RawFunction::kRegularFunction, true, false, false, false,
+      false, owner_class, TokenPosition::kNoSource));
   return &function;
 }
 
 
 // Test calls to stub code which calls into the runtime.
-static void GenerateCallToCallRuntimeStub(Assembler* assembler,
-                                          int length) {
+static void GenerateCallToCallRuntimeStub(Assembler* assembler, int length) {
   const int argc = 2;
   const Smi& smi_length = Smi::ZoneHandle(Smi::New(length));
   __ EnterStubFrame();
diff --git a/runtime/vm/symbols.cc b/runtime/vm/symbols.cc
index 0f91fb6..0d95289 100644
--- a/runtime/vm/symbols.cc
+++ b/runtime/vm/symbols.cc
@@ -21,38 +21,38 @@
 String* Symbols::symbol_handles_[Symbols::kMaxPredefinedId];
 
 static const char* names[] = {
+    // clang-format off
   NULL,
-
-#define DEFINE_SYMBOL_LITERAL(symbol, literal)                                 \
-  literal,
-PREDEFINED_SYMBOLS_LIST(DEFINE_SYMBOL_LITERAL)
+#define DEFINE_SYMBOL_LITERAL(symbol, literal) literal,
+  PREDEFINED_SYMBOLS_LIST(DEFINE_SYMBOL_LITERAL)
 #undef DEFINE_SYMBOL_LITERAL
-
   "",  // matches kTokenTableStart.
-
-#define DEFINE_TOKEN_SYMBOL_INDEX(t, s, p, a)                                  \
-  s,
+#define DEFINE_TOKEN_SYMBOL_INDEX(t, s, p, a) s,
   DART_TOKEN_LIST(DEFINE_TOKEN_SYMBOL_INDEX)
   DART_KEYWORD_LIST(DEFINE_TOKEN_SYMBOL_INDEX)
 #undef DEFINE_TOKEN_SYMBOL_INDEX
+    // clang-format on
 };
 
 RawString* StringFrom(const uint8_t* data, intptr_t len, Heap::Space space) {
   return String::FromLatin1(data, len, space);
 }
+
+
 RawString* StringFrom(const uint16_t* data, intptr_t len, Heap::Space space) {
   return String::FromUTF16(data, len, space);
 }
+
+
 RawString* StringFrom(const int32_t* data, intptr_t len, Heap::Space space) {
   return String::FromUTF32(data, len, space);
 }
 
 
-template<typename CharType>
+template <typename CharType>
 class CharArray {
  public:
-  CharArray(const CharType* data, intptr_t len)
-      : data_(data), len_(len) {
+  CharArray(const CharType* data, intptr_t len) : data_(data), len_(len) {
     hash_ = String::Hash(data, len);
   }
   RawString* ToSymbol() const {
@@ -69,6 +69,7 @@
     return other.Equals(data_, len_);
   }
   intptr_t Hash() const { return hash_; }
+
  private:
   const CharType* data_;
   intptr_t len_;
@@ -94,6 +95,7 @@
     return other.Equals(str_, begin_index_, len_);
   }
   intptr_t Hash() const { return hash_; }
+
  private:
   bool is_all() const { return begin_index_ == 0 && len_ == str_.Length(); }
   const String& str_;
@@ -108,8 +110,8 @@
     str_.SetCanonical();
     return str_.raw();
   } else {
-    String& result = String::Handle(
-        String::SubString(str_, begin_index_, len_, Heap::kOld));
+    String& result =
+        String::Handle(String::SubString(str_, begin_index_, len_, Heap::kOld));
     result.SetCanonical();
     result.SetHash(hash_);
     return result.raw();
@@ -130,6 +132,7 @@
     return other.EqualsConcat(str1_, str2_);
   }
   intptr_t Hash() const { return hash_; }
+
  private:
   const String& str1_;
   const String& str2_;
@@ -165,7 +168,7 @@
     // Use a comparison which does not consider the state of the canonical bit.
     return a_str.Equals(b_str, 0, a_len);
   }
-  template<typename CharType>
+  template <typename CharType>
   static bool IsMatch(const CharArray<CharType>& array, const Object& obj) {
     return array.Equals(String::Cast(obj));
   }
@@ -175,20 +178,14 @@
   static bool IsMatch(const ConcatString& concat, const Object& obj) {
     return concat.Equals(String::Cast(obj));
   }
-  static uword Hash(const Object& key) {
-    return String::Cast(key).Hash();
-  }
-  template<typename CharType>
+  static uword Hash(const Object& key) { return String::Cast(key).Hash(); }
+  template <typename CharType>
   static uword Hash(const CharArray<CharType>& array) {
     return array.Hash();
   }
-  static uword Hash(const StringSlice& slice) {
-    return slice.Hash();
-  }
-  static uword Hash(const ConcatString& concat) {
-    return concat.Hash();
-  }
-  template<typename CharType>
+  static uword Hash(const StringSlice& slice) { return slice.Hash(); }
+  static uword Hash(const ConcatString& concat) { return concat.Hash(); }
+  template <typename CharType>
   static RawObject* NewKey(const CharArray<CharType>& array) {
     return array.ToSymbol();
   }
@@ -310,8 +307,9 @@
   ASSERT(isolate != NULL);
 
   // Setup the symbol table used within the String class.
-  const intptr_t initial_size = (isolate == Dart::vm_isolate()) ?
-      kInitialVMIsolateSymtabSize : kInitialSymtabSize;
+  const intptr_t initial_size = (isolate == Dart::vm_isolate())
+                                    ? kInitialVMIsolateSymtabSize
+                                    : kInitialSymtabSize;
   Array& array =
       Array::Handle(HashTables::New<SymbolTable>(initial_size, Heap::kOld));
   isolate->object_store()->set_symbol_table(array);
@@ -330,8 +328,8 @@
                        Dart::vm_isolate()->object_store()->symbol_table());
   SymbolTable table(zone, isolate->object_store()->symbol_table());
   intptr_t unified_size = vm_table.NumOccupied() + table.NumOccupied();
-  SymbolTable unified_table(zone, HashTables::New<SymbolTable>(unified_size,
-                                                               Heap::kOld));
+  SymbolTable unified_table(
+      zone, HashTables::New<SymbolTable>(unified_size, Heap::kOld));
   String& symbol = String::Handle(zone);
 
   SymbolTable::Iterator vm_iter(&vm_table);
@@ -369,10 +367,8 @@
   GrowableArray<String*> symbols;
   class SymbolCollector : public ObjectVisitor {
    public:
-    SymbolCollector(Thread* thread,
-                    GrowableArray<String*>* symbols)
-        : symbols_(symbols),
-          zone_(thread->zone()) {}
+    SymbolCollector(Thread* thread, GrowableArray<String*>* symbols)
+        : symbols_(symbols), zone_(thread->zone()) {}
 
     void VisitObject(RawObject* obj) {
       if (obj->IsCanonical() && obj->IsStringInstance()) {
@@ -389,9 +385,8 @@
   isolate->heap()->IterateObjects(&visitor);
 
   // 3. Build a new table from the surviving symbols.
-  Array& array =
-      Array::Handle(zone, HashTables::New<SymbolTable>(symbols.length() * 4 / 3,
-                                                       Heap::kOld));
+  Array& array = Array::Handle(
+      zone, HashTables::New<SymbolTable>(symbols.length() * 4 / 3, Heap::kOld));
   SymbolTable table(zone, array.raw());
   for (intptr_t i = 0; i < symbols.length(); i++) {
     String& symbol = *symbols[i];
@@ -402,7 +397,7 @@
   }
   isolate->object_store()->set_symbol_table(table.Release());
 }
-#endif   // DART_PRECOMPILER
+#endif  // DART_PRECOMPILER
 
 
 void Symbols::GetStats(Isolate* isolate, intptr_t* size, intptr_t* capacity) {
@@ -495,7 +490,8 @@
 // TODO(srdjan): If this becomes performance critical code, consider looking
 // up symbol from hash of pieces instead of concatenating them first into
 // a string.
-RawString* Symbols::FromConcatAll(Thread* thread,
+RawString* Symbols::FromConcatAll(
+    Thread* thread,
     const GrowableHandlePtrArray<const String>& strs) {
   const intptr_t strs_length = strs.length();
   GrowableArray<intptr_t> lengths(strs_length);
@@ -527,9 +523,9 @@
       if (str_len > 0) {
         const String& str = strs[i];
         ASSERT(str.IsOneByteString() || str.IsExternalOneByteString());
-        const uint8_t* src_p = str.IsOneByteString() ?
-            OneByteString::CharAddr(str, 0) :
-            ExternalOneByteString::CharAddr(str, 0);
+        const uint8_t* src_p = str.IsOneByteString()
+                                   ? OneByteString::CharAddr(str, 0)
+                                   : ExternalOneByteString::CharAddr(str, 0);
         memmove(buffer, src_p, str_len);
         buffer += str_len;
       }
@@ -551,9 +547,9 @@
         } else {
           // One-byte to two-byte string copy.
           ASSERT(str.IsOneByteString() || str.IsExternalOneByteString());
-          const uint8_t* src_p = str.IsOneByteString() ?
-              OneByteString::CharAddr(str, 0) :
-              ExternalOneByteString::CharAddr(str, 0);
+          const uint8_t* src_p = str.IsOneByteString()
+                                     ? OneByteString::CharAddr(str, 0)
+                                     : ExternalOneByteString::CharAddr(str, 0);
           for (int n = 0; n < str_len; n++) {
             buffer[n] = src_p[n];
           }
@@ -568,7 +564,7 @@
 
 
 // StringType can be StringSlice, ConcatString, or {Latin1,UTF16,UTF32}Array.
-template<typename StringType>
+template <typename StringType>
 RawString* Symbols::NewSymbol(Thread* thread, const StringType& str) {
   REUSABLE_OBJECT_HANDLESCOPE(thread);
   REUSABLE_SMI_HANDLESCOPE(thread);
@@ -598,7 +594,7 @@
 }
 
 
-template<typename StringType>
+template <typename StringType>
 RawString* Symbols::Lookup(Thread* thread, const StringType& str) {
   REUSABLE_OBJECT_HANDLESCOPE(thread);
   REUSABLE_SMI_HANDLESCOPE(thread);
@@ -628,8 +624,9 @@
 }
 
 
-RawString* Symbols::LookupFromConcat(
-    Thread* thread, const String& str1, const String& str2) {
+RawString* Symbols::LookupFromConcat(Thread* thread,
+                                     const String& str1,
+                                     const String& str2) {
   if (str1.Length() == 0) {
     return Lookup(thread, str2);
   } else if (str2.Length() == 0) {
@@ -671,7 +668,6 @@
 }
 
 
-
 RawString* Symbols::NewFormatted(Thread* thread, const char* format, ...) {
   va_list args;
   va_start(args, format);
diff --git a/runtime/vm/symbols.h b/runtime/vm/symbols.h
index afcb3ff..a728610 100644
--- a/runtime/vm/symbols.h
+++ b/runtime/vm/symbols.h
@@ -230,20 +230,20 @@
   V(Float64x2List, "Float64x2List")                                            \
   V(Float32List, "Float32List")                                                \
   V(Float64List, "Float64List")                                                \
-  V(_Int8ArrayFactory, "Int8List.")                                          \
-  V(_Uint8ArrayFactory, "Uint8List.")                                        \
-  V(_Uint8ClampedArrayFactory, "Uint8ClampedList.")                          \
-  V(_Int16ArrayFactory, "Int16List.")                                        \
-  V(_Uint16ArrayFactory, "Uint16List.")                                      \
-  V(_Int32ArrayFactory, "Int32List.")                                        \
-  V(_Uint32ArrayFactory, "Uint32List.")                                      \
-  V(_Int64ArrayFactory, "Int64List.")                                        \
-  V(_Uint64ArrayFactory, "Uint64List.")                                      \
-  V(_Float32x4ArrayFactory, "Float32x4List.")                                \
-  V(_Int32x4ArrayFactory, "Int32x4List.")                                    \
-  V(_Float64x2ArrayFactory, "Float64x2List.")                                \
-  V(_Float32ArrayFactory, "Float32List.")                                    \
-  V(_Float64ArrayFactory, "Float64List.")                                    \
+  V(_Int8ArrayFactory, "Int8List.")                                            \
+  V(_Uint8ArrayFactory, "Uint8List.")                                          \
+  V(_Uint8ClampedArrayFactory, "Uint8ClampedList.")                            \
+  V(_Int16ArrayFactory, "Int16List.")                                          \
+  V(_Uint16ArrayFactory, "Uint16List.")                                        \
+  V(_Int32ArrayFactory, "Int32List.")                                          \
+  V(_Uint32ArrayFactory, "Uint32List.")                                        \
+  V(_Int64ArrayFactory, "Int64List.")                                          \
+  V(_Uint64ArrayFactory, "Uint64List.")                                        \
+  V(_Float32x4ArrayFactory, "Float32x4List.")                                  \
+  V(_Int32x4ArrayFactory, "Int32x4List.")                                      \
+  V(_Float64x2ArrayFactory, "Float64x2List.")                                  \
+  V(_Float32ArrayFactory, "Float32List.")                                      \
+  V(_Float64ArrayFactory, "Float64List.")                                      \
   V(_Int8ArrayView, "_Int8ArrayView")                                          \
   V(_Uint8ArrayView, "_Uint8ArrayView")                                        \
   V(_Uint8ClampedArrayView, "_Uint8ClampedArrayView")                          \
@@ -404,7 +404,7 @@
   V(_classRangeCheck, "_classRangeCheck")                                      \
   V(_classRangeCheckNegative, "_classRangeCheckNegative")                      \
   V(GetRuntimeType, "get:runtimeType")                                         \
-  V(HaveSameRuntimeType, "_haveSameRuntimeType")                               \
+  V(HaveSameRuntimeType, "_haveSameRuntimeType")
 
 
 // Contains a list of frequently used strings in a canonicalized form. This
@@ -416,23 +416,23 @@
 
   // List of strings that are pre created in the vm isolate.
   enum SymbolId {
+    // clang-format off
     kIllegal = 0,
 
-#define DEFINE_SYMBOL_INDEX(symbol, literal)                                   \
-    k##symbol##Id,
+#define DEFINE_SYMBOL_INDEX(symbol, literal) k##symbol##Id,
     PREDEFINED_SYMBOLS_LIST(DEFINE_SYMBOL_INDEX)
 #undef DEFINE_SYMBOL_INDEX
 
     kTokenTableStart,  // First token at kTokenTableStart + 1.
 
-#define DEFINE_TOKEN_SYMBOL_INDEX(t, s, p, a)                                  \
-    t##Id,
-    DART_TOKEN_LIST(DEFINE_TOKEN_SYMBOL_INDEX)
-    DART_KEYWORD_LIST(DEFINE_TOKEN_SYMBOL_INDEX)
+#define DEFINE_TOKEN_SYMBOL_INDEX(t, s, p, a) t##Id,
+    DART_TOKEN_LIST(DEFINE_TOKEN_SYMBOL_INDEX) DART_KEYWORD_LIST(
+        DEFINE_TOKEN_SYMBOL_INDEX)
 #undef DEFINE_TOKEN_SYMBOL_INDEX
 
     kNullCharId,  // One char code symbol starts here and takes up 256 entries.
     kMaxPredefinedId = kNullCharId + kMaxOneCharCodeSymbol + 1,
+    // clang-format on
   };
 
   // Number of one character symbols being predefined in the predefined_ array.
@@ -448,21 +448,13 @@
   }
 
   // Access methods for one byte character symbols stored in the vm isolate.
-  static const String& Dot() {
-    return *(symbol_handles_[kNullCharId + '.']);
-  }
+  static const String& Dot() { return *(symbol_handles_[kNullCharId + '.']); }
   static const String& Equals() {
     return *(symbol_handles_[kNullCharId + '=']);
   }
-  static const String& Plus() {
-    return *(symbol_handles_[kNullCharId + '+']);
-  }
-  static const String& Minus() {
-    return *(symbol_handles_[kNullCharId + '-']);
-  }
-  static const String& BitOr() {
-    return *(symbol_handles_[kNullCharId + '|']);
-  }
+  static const String& Plus() { return *(symbol_handles_[kNullCharId + '+']); }
+  static const String& Minus() { return *(symbol_handles_[kNullCharId + '-']); }
+  static const String& BitOr() { return *(symbol_handles_[kNullCharId + '|']); }
   static const String& BitAnd() {
     return *(symbol_handles_[kNullCharId + '&']);
   }
@@ -490,9 +482,7 @@
   static const String& RBrace() {
     return *(symbol_handles_[kNullCharId + '}']);
   }
-  static const String& Blank() {
-    return *(symbol_handles_[kNullCharId + ' ']);
-  }
+  static const String& Blank() { return *(symbol_handles_[kNullCharId + ' ']); }
   static const String& Dollar() {
     return *(symbol_handles_[kNullCharId + '$']);
   }
@@ -508,39 +498,27 @@
   static const String& LowercaseR() {
     return *(symbol_handles_[kNullCharId + 'r']);
   }
-  static const String& Dash() {
-    return *(symbol_handles_[kNullCharId + '-']);
-  }
+  static const String& Dash() { return *(symbol_handles_[kNullCharId + '-']); }
   static const String& Ampersand() {
     return *(symbol_handles_[kNullCharId + '&']);
   }
   static const String& Backtick() {
     return *(symbol_handles_[kNullCharId + '`']);
   }
-  static const String& Slash() {
-    return *(symbol_handles_[kNullCharId + '/']);
-  }
-  static const String& At() {
-    return *(symbol_handles_[kNullCharId + '@']);
-  }
+  static const String& Slash() { return *(symbol_handles_[kNullCharId + '/']); }
+  static const String& At() { return *(symbol_handles_[kNullCharId + '@']); }
   static const String& HashMark() {
     return *(symbol_handles_[kNullCharId + '#']);
   }
   static const String& Semicolon() {
     return *(symbol_handles_[kNullCharId + ';']);
   }
-  static const String& Star() {
-    return *(symbol_handles_[kNullCharId + '*']);
-  }
+  static const String& Star() { return *(symbol_handles_[kNullCharId + '*']); }
   static const String& Percent() {
     return *(symbol_handles_[kNullCharId + '%']);
   }
-  static const String& Caret() {
-    return *(symbol_handles_[kNullCharId + '^']);
-  }
-  static const String& Tilde() {
-    return *(symbol_handles_[kNullCharId + '~']);
-  }
+  static const String& Caret() { return *(symbol_handles_[kNullCharId + '^']); }
+  static const String& Tilde() { return *(symbol_handles_[kNullCharId + '~']); }
 
   static const String& Empty() { return *(symbol_handles_[kTokenTableStart]); }
   static const String& False() { return *(symbol_handles_[kFALSEId]); }
@@ -550,14 +528,14 @@
   static const String& True() { return *(symbol_handles_[kTRUEId]); }
   static const String& Void() { return *(symbol_handles_[kVOIDId]); }
 
-  // Access methods for symbol handles stored in the vm isolate for predefined
-  // symbols.
+// Access methods for symbol handles stored in the vm isolate for predefined
+// symbols.
 #define DEFINE_SYMBOL_HANDLE_ACCESSOR(symbol, literal)                         \
   static const String& symbol() { return *(symbol_handles_[k##symbol##Id]); }
   PREDEFINED_SYMBOLS_LIST(DEFINE_SYMBOL_HANDLE_ACCESSOR)
 #undef DEFINE_SYMBOL_HANDLE_ACCESSOR
 
-  // Access methods for symbol handles stored in the vm isolate for keywords.
+// Access methods for symbol handles stored in the vm isolate for keywords.
 #define DEFINE_SYMBOL_HANDLE_ACCESSOR(t, s, p, a)                              \
   static const String& t() { return *(symbol_handles_[t##Id]); }
   DART_TOKEN_LIST(DEFINE_SYMBOL_HANDLE_ACCESSOR)
@@ -625,7 +603,8 @@
                                const String& str1,
                                const String& str2);
 
-  static RawString* FromConcatAll(Thread* thread,
+  static RawString* FromConcatAll(
+      Thread* thread,
       const GrowableHandlePtrArray<const String>& strs);
 
   static RawString* FromGet(Thread* thread, const String& str);
@@ -644,7 +623,7 @@
   static void DumpStats();
 
   // Returns Symbol::Null if no symbol is found.
-  template<typename StringType>
+  template <typename StringType>
   static RawString* Lookup(Thread* thread, const StringType& str);
 
   // Returns Symbol::Null if no symbol is found.
@@ -656,17 +635,12 @@
   static RawString* LookupFromSet(Thread* thread, const String& str);
   static RawString* LookupFromDot(Thread* thread, const String& str);
 
-  static void GetStats(Isolate* isolate,
-                       intptr_t* size,
-                       intptr_t* capacity);
+  static void GetStats(Isolate* isolate, intptr_t* size, intptr_t* capacity);
 
  private:
-  enum {
-    kInitialVMIsolateSymtabSize = 1024,
-    kInitialSymtabSize = 2048
-  };
+  enum { kInitialVMIsolateSymtabSize = 1024, kInitialSymtabSize = 2048 };
 
-  template<typename StringType>
+  template <typename StringType>
   static RawString* NewSymbol(Thread* thread, const StringType& str);
 
   static intptr_t LookupPredefinedSymbol(RawObject* obj);
diff --git a/runtime/vm/tags.cc b/runtime/vm/tags.cc
index ccb52ab..30e284c 100644
--- a/runtime/vm/tags.cc
+++ b/runtime/vm/tags.cc
@@ -83,12 +83,13 @@
 
 
 VMTag::TagEntry VMTag::entries_[] = {
-  { "InvalidTag", kInvalidTagId, },
-#define DEFINE_VM_TAG_ENTRY(tag)                                               \
-  { ""#tag, k##tag##TagId },
-  VM_TAG_LIST(DEFINE_VM_TAG_ENTRY)
+    {
+        "InvalidTag", kInvalidTagId,
+    },
+#define DEFINE_VM_TAG_ENTRY(tag) {"" #tag, k##tag##TagId},
+    VM_TAG_LIST(DEFINE_VM_TAG_ENTRY)
 #undef DEFINE_VM_TAG_ENTRY
-  { "kNumVMTags", kNumVMTags },
+        {"kNumVMTags", kNumVMTags},
 };
 
 
@@ -162,8 +163,7 @@
   ASSERT(tag_id >= kUserTagIdOffset);
   ASSERT(tag_id < kUserTagIdOffset + kMaxUserTags);
   Zone* zone = Thread::Current()->zone();
-  const UserTag& tag =
-      UserTag::Handle(zone, UserTag::FindTagById(tag_id));
+  const UserTag& tag = UserTag::Handle(zone, UserTag::FindTagById(tag_id));
   ASSERT(!tag.IsNull());
   const String& label = String::Handle(zone, tag.label());
   return label.ToCString();
diff --git a/runtime/vm/tags.h b/runtime/vm/tags.h
index c6a0230c..66ab39e 100644
--- a/runtime/vm/tags.h
+++ b/runtime/vm/tags.h
@@ -14,9 +14,9 @@
 class RuntimeEntry;
 
 #define VM_TAG_LIST(V)                                                         \
-  V(Idle)          /* isolate is idle and is_runnable() */                     \
-  V(LoadWait)      /* isolate is idle and !is_runnable() */                    \
-  V(VM)            /* Catch all */                                             \
+  V(Idle)     /* isolate is idle and is_runnable() */                          \
+  V(LoadWait) /* isolate is idle and !is_runnable() */                         \
+  V(VM)       /* Catch all */                                                  \
   V(CompileOptimized)                                                          \
   V(CompileUnoptimized)                                                        \
   V(CompileClass)                                                              \
@@ -30,17 +30,16 @@
   V(GCOldSpace)                                                                \
   V(Embedder)                                                                  \
   V(Runtime)                                                                   \
-  V(Native)                                                                    \
+  V(Native)
 
 class VMTag : public AllStatic {
  public:
   enum VMTagId {
     kInvalidTagId = 0,
-#define DEFINE_VM_TAG_ID(tag)                                                  \
-    k##tag##TagId,
+#define DEFINE_VM_TAG_ID(tag) k##tag##TagId,
     VM_TAG_LIST(DEFINE_VM_TAG_ID)
 #undef DEFINE_VM_TAG_KIND
-    kNumVMTags,
+        kNumVMTags,
     //
     // All tags below |kNumVMTags| are special meta-data tags and do not
     // indicate the state of the VM during a sample.
@@ -82,6 +81,7 @@
  public:
   VMTagScope(Thread* thread, uword tag, bool conditional_set = true);
   ~VMTagScope();
+
  private:
   uword previous_tag_;
 
diff --git a/runtime/vm/thread.cc b/runtime/vm/thread.cc
index d3534af..dc4e1ca 100644
--- a/runtime/vm/thread.cc
+++ b/runtime/vm/thread.cc
@@ -56,8 +56,7 @@
 #define REUSABLE_HANDLE_SCOPE_INIT(object)
 #endif  // defined(DEBUG)
 
-#define REUSABLE_HANDLE_INITIALIZERS(object)                                   \
-  object##_handle_(NULL),
+#define REUSABLE_HANDLE_INITIALIZERS(object) object##_handle_(NULL),
 
 
 Thread::Thread(Isolate* isolate)
@@ -97,27 +96,24 @@
       sticky_error_(Error::null()),
       compiler_stats_(NULL),
       REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_INITIALIZERS)
-      REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_SCOPE_INIT)
-      safepoint_state_(0),
+          REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_SCOPE_INIT) safepoint_state_(0),
       execution_state_(kThreadInNative),
       next_(NULL) {
-NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
   dart_stream_ = Timeline::GetDartStream();
   ASSERT(dart_stream_ != NULL);
-)
+#endif
 #define DEFAULT_INIT(type_name, member_name, init_expr, default_init_value)    \
   member_name = default_init_value;
-CACHED_CONSTANTS_LIST(DEFAULT_INIT)
+  CACHED_CONSTANTS_LIST(DEFAULT_INIT)
 #undef DEFAULT_INIT
 
-#define DEFAULT_INIT(name)                                                     \
-  name##_entry_point_ = 0;
-RUNTIME_ENTRY_LIST(DEFAULT_INIT)
+#define DEFAULT_INIT(name) name##_entry_point_ = 0;
+  RUNTIME_ENTRY_LIST(DEFAULT_INIT)
 #undef DEFAULT_INIT
 
-#define DEFAULT_INIT(returntype, name, ...)                                    \
-  name##_entry_point_ = 0;
-LEAF_RUNTIME_ENTRY_LIST(DEFAULT_INIT)
+#define DEFAULT_INIT(returntype, name, ...) name##_entry_point_ = 0;
+  LEAF_RUNTIME_ENTRY_LIST(DEFAULT_INIT)
 #undef DEFAULT_INIT
 
   // We cannot initialize the VM constants here for the vm isolate thread
@@ -138,73 +134,67 @@
 static const struct ALIGN16 {
   uint64_t a;
   uint64_t b;
-} double_negate_constant =
-    {0x8000000000000000LL, 0x8000000000000000LL};
+} double_negate_constant = {0x8000000000000000LL, 0x8000000000000000LL};
 
 static const struct ALIGN16 {
   uint64_t a;
   uint64_t b;
-} double_abs_constant =
-    {0x7FFFFFFFFFFFFFFFLL, 0x7FFFFFFFFFFFFFFFLL};
+} double_abs_constant = {0x7FFFFFFFFFFFFFFFLL, 0x7FFFFFFFFFFFFFFFLL};
 
 static const struct ALIGN16 {
   uint32_t a;
   uint32_t b;
   uint32_t c;
   uint32_t d;
-} float_not_constant =
-    { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF };
+} float_not_constant = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF};
 
 static const struct ALIGN16 {
   uint32_t a;
   uint32_t b;
   uint32_t c;
   uint32_t d;
-} float_negate_constant =
-    { 0x80000000, 0x80000000, 0x80000000, 0x80000000 };
+} float_negate_constant = {0x80000000, 0x80000000, 0x80000000, 0x80000000};
 
 static const struct ALIGN16 {
   uint32_t a;
   uint32_t b;
   uint32_t c;
   uint32_t d;
-} float_absolute_constant =
-    { 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF };
+} float_absolute_constant = {0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF};
 
 static const struct ALIGN16 {
   uint32_t a;
   uint32_t b;
   uint32_t c;
   uint32_t d;
-} float_zerow_constant =
-    { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000 };
+} float_zerow_constant = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000};
 
 
 void Thread::InitVMConstants() {
 #define ASSERT_VM_HEAP(type_name, member_name, init_expr, default_init_value)  \
   ASSERT((init_expr)->IsOldObject());
-CACHED_VM_OBJECTS_LIST(ASSERT_VM_HEAP)
+  CACHED_VM_OBJECTS_LIST(ASSERT_VM_HEAP)
 #undef ASSERT_VM_HEAP
 
 #define INIT_VALUE(type_name, member_name, init_expr, default_init_value)      \
   ASSERT(member_name == default_init_value);                                   \
   member_name = (init_expr);
-CACHED_CONSTANTS_LIST(INIT_VALUE)
+  CACHED_CONSTANTS_LIST(INIT_VALUE)
 #undef INIT_VALUE
 
 #define INIT_VALUE(name)                                                       \
   ASSERT(name##_entry_point_ == 0);                                            \
   name##_entry_point_ = k##name##RuntimeEntry.GetEntryPoint();
-RUNTIME_ENTRY_LIST(INIT_VALUE)
+  RUNTIME_ENTRY_LIST(INIT_VALUE)
 #undef INIT_VALUE
 
 #define INIT_VALUE(returntype, name, ...)                                      \
   ASSERT(name##_entry_point_ == 0);                                            \
   name##_entry_point_ = k##name##RuntimeEntry.GetEntryPoint();
-LEAF_RUNTIME_ENTRY_LIST(INIT_VALUE)
+  LEAF_RUNTIME_ENTRY_LIST(INIT_VALUE)
 #undef INIT_VALUE
 
-  // Setup the thread specific reusable handles.
+// Setup the thread specific reusable handles.
 #define REUSABLE_HANDLE_ALLOCATION(object)                                     \
   this->object##_handle_ = this->AllocateReusableHandle<object>();
   REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_ALLOCATION)
@@ -280,8 +270,8 @@
                                   bool bypass_safepoint) {
   ASSERT(kind != kMutatorTask);
   const bool kIsNotMutatorThread = false;
-  Thread* thread = isolate->ScheduleThread(kIsNotMutatorThread,
-                                           bypass_safepoint);
+  Thread* thread =
+      isolate->ScheduleThread(kIsNotMutatorThread, bypass_safepoint);
   if (thread != NULL) {
     ASSERT(thread->store_buffer_block_ == NULL);
     // TODO(koda): Use StoreBufferAcquire once we properly flush
@@ -326,14 +316,14 @@
 
 
 void Thread::SetStackLimitFromStackBase(uword stack_base) {
-  // Set stack limit.
+// Set stack limit.
 #if !defined(TARGET_ARCH_DBC)
 #if defined(USING_SIMULATOR)
   // Ignore passed-in native stack top and use Simulator stack top.
   Simulator* sim = Simulator::Current();  // May allocate a simulator.
   ASSERT(isolate()->simulator() == sim);  // Isolate's simulator is current one.
   stack_base = sim->StackTop();
-  // The overflow area is accounted for by the simulator.
+// The overflow area is accounted for by the simulator.
 #endif
   SetStackLimit(stack_base - OSThread::GetSpecifiedStackSize());
 #else
@@ -370,7 +360,7 @@
 #else
   uword (*func)() = NULL;
 #endif
-  // But for performance (and to support simulators), we normally use a local.
+// But for performance (and to support simulators), we normally use a local.
 #if defined(__has_feature)
 #if __has_feature(address_sanitizer)
   uword current_sp = func();
@@ -506,8 +496,10 @@
       // False result from HandleOOBMessages signals that the isolate should
       // be terminating.
       if (FLAG_trace_isolates) {
-        OS::Print("[!] Terminating isolate due to OOB message:\n"
-                  "\tisolate:    %s\n", isolate()->name());
+        OS::Print(
+            "[!] Terminating isolate due to OOB message:\n"
+            "\tisolate:    %s\n",
+            isolate()->name());
       }
       Thread* thread = Thread::Current();
       const Error& error = Error::Handle(thread->sticky_error());
@@ -578,18 +570,16 @@
 
 
 bool Thread::IsExecutingDartCode() const {
-  return (top_exit_frame_info() == 0) &&
-         (vm_tag() == VMTag::kDartTagId);
+  return (top_exit_frame_info() == 0) && (vm_tag() == VMTag::kDartTagId);
 }
 
 
 bool Thread::HasExitedDartCode() const {
-  return (top_exit_frame_info() != 0) &&
-         (vm_tag() != VMTag::kDartTagId);
+  return (top_exit_frame_info() != 0) && (vm_tag() != VMTag::kDartTagId);
 }
 
 
-template<class C>
+template <class C>
 C* Thread::AllocateReusableHandle() {
   C* handle = reinterpret_cast<C*>(reusable_handles_.AllocateScopedHandle());
   C::initializeHandle(handle, C::null());
@@ -598,8 +588,7 @@
 
 
 void Thread::ClearReusableHandles() {
-#define CLEAR_REUSABLE_HANDLE(object)                                          \
-  *object##_handle_ = object::null();
+#define CLEAR_REUSABLE_HANDLE(object) *object##_handle_ = object::null();
   REUSABLE_HANDLE_LIST(CLEAR_REUSABLE_HANDLE)
 #undef CLEAR_REUSABLE_HANDLE
 }
@@ -616,10 +605,8 @@
   // Visit objects in thread specific handles area.
   reusable_handles_.VisitObjectPointers(visitor);
 
-  visitor->VisitPointer(
-      reinterpret_cast<RawObject**>(&pending_functions_));
-  visitor->VisitPointer(
-      reinterpret_cast<RawObject**>(&sticky_error_));
+  visitor->VisitPointer(reinterpret_cast<RawObject**>(&pending_functions_));
+  visitor->VisitPointer(reinterpret_cast<RawObject**>(&sticky_error_));
 
   // Visit the api local scope as it has all the api local handles.
   ApiLocalScope* scope = api_top_scope_;
@@ -629,8 +616,7 @@
   }
 
   // Iterate over all the stack frames and visit objects on the stack.
-  StackFrameIterator frames_iterator(top_exit_frame_info(),
-                                     validate_frames);
+  StackFrameIterator frames_iterator(top_exit_frame_info(), validate_frames);
   StackFrame* frame = frames_iterator.NextFrame();
   while (frame != NULL) {
     frame->VisitObjectPointers(visitor);
@@ -642,7 +628,7 @@
 bool Thread::CanLoadFromThread(const Object& object) {
 #define CHECK_OBJECT(type_name, member_name, expr, default_init_value)         \
   if (object.raw() == expr) return true;
-CACHED_VM_OBJECTS_LIST(CHECK_OBJECT)
+  CACHED_VM_OBJECTS_LIST(CHECK_OBJECT)
 #undef CHECK_OBJECT
   return false;
 }
@@ -652,7 +638,7 @@
 #define COMPUTE_OFFSET(type_name, member_name, expr, default_init_value)       \
   ASSERT((expr)->IsVMHeapObject());                                            \
   if (object.raw() == expr) return Thread::member_name##offset();
-CACHED_VM_OBJECTS_LIST(COMPUTE_OFFSET)
+  CACHED_VM_OBJECTS_LIST(COMPUTE_OFFSET)
 #undef COMPUTE_OFFSET
   UNREACHABLE();
   return -1;
@@ -671,7 +657,7 @@
     *object = expr;                                                            \
     return true;                                                               \
   }
-CACHED_VM_OBJECTS_LIST(COMPUTE_OFFSET)
+  CACHED_VM_OBJECTS_LIST(COMPUTE_OFFSET)
 #undef COMPUTE_OFFSET
   return false;
 }
@@ -679,17 +665,17 @@
 
 intptr_t Thread::OffsetFromThread(const RuntimeEntry* runtime_entry) {
 #define COMPUTE_OFFSET(name)                                                   \
-  if (runtime_entry->function() == k##name##RuntimeEntry.function())         { \
+  if (runtime_entry->function() == k##name##RuntimeEntry.function()) {         \
     return Thread::name##_entry_point_offset();                                \
   }
-RUNTIME_ENTRY_LIST(COMPUTE_OFFSET)
+  RUNTIME_ENTRY_LIST(COMPUTE_OFFSET)
 #undef COMPUTE_OFFSET
 
 #define COMPUTE_OFFSET(returntype, name, ...)                                  \
-  if (runtime_entry->function() == k##name##RuntimeEntry.function())         { \
+  if (runtime_entry->function() == k##name##RuntimeEntry.function()) {         \
     return Thread::name##_entry_point_offset();                                \
   }
-LEAF_RUNTIME_ENTRY_LIST(COMPUTE_OFFSET)
+  LEAF_RUNTIME_ENTRY_LIST(COMPUTE_OFFSET)
 #undef COMPUTE_OFFSET
 
   UNREACHABLE();
@@ -735,8 +721,7 @@
   // Unwind all scopes using the same stack_marker, i.e. all scopes allocated
   // under the same top_exit_frame_info.
   ApiLocalScope* scope = api_top_scope_;
-  while (scope != NULL &&
-         scope->stack_marker() != 0 &&
+  while (scope != NULL && scope->stack_marker() != 0 &&
          scope->stack_marker() == stack_marker) {
     api_top_scope_ = scope->previous();
     delete scope;
diff --git a/runtime/vm/thread.h b/runtime/vm/thread.h
index 4e3741e..95d04b2 100644
--- a/runtime/vm/thread.h
+++ b/runtime/vm/thread.h
@@ -71,7 +71,7 @@
   V(Smi)                                                                       \
   V(String)                                                                    \
   V(TypeArguments)                                                             \
-  V(TypeParameter)                                                             \
+  V(TypeParameter)
 
 
 #if defined(TARGET_ARCH_DBC)
@@ -86,8 +86,8 @@
     StubCode::FixAllocationStubTarget_entry()->code(), NULL)                   \
   V(RawCode*, invoke_dart_code_stub_,                                          \
     StubCode::InvokeDartCode_entry()->code(), NULL)                            \
-  V(RawCode*, call_to_runtime_stub_,                                           \
-    StubCode::CallToRuntime_entry()->code(), NULL)                             \
+  V(RawCode*, call_to_runtime_stub_, StubCode::CallToRuntime_entry()->code(),  \
+    NULL)                                                                      \
   V(RawCode*, monomorphic_miss_stub_,                                          \
     StubCode::MonomorphicMiss_entry()->code(), NULL)                           \
   V(RawCode*, ic_lookup_through_code_stub_,                                    \
@@ -95,7 +95,7 @@
   V(RawCode*, lazy_deopt_from_return_stub_,                                    \
     StubCode::DeoptimizeLazyFromReturn_entry()->code(), NULL)                  \
   V(RawCode*, lazy_deopt_from_throw_stub_,                                     \
-    StubCode::DeoptimizeLazyFromThrow_entry()->code(), NULL)                   \
+    StubCode::DeoptimizeLazyFromThrow_entry()->code(), NULL)
 
 #endif
 
@@ -104,7 +104,7 @@
   V(RawObject*, object_null_, Object::null(), NULL)                            \
   V(RawBool*, bool_true_, Object::bool_true().raw(), NULL)                     \
   V(RawBool*, bool_false_, Object::bool_false().raw(), NULL)                   \
-  CACHED_VM_STUBS_LIST(V)                                                      \
+  CACHED_VM_STUBS_LIST(V)
 
 #if defined(TARGET_ARCH_DBC)
 #define CACHED_VM_STUBS_ADDRESSES_LIST(V)
@@ -117,7 +117,7 @@
   V(uword, megamorphic_call_checked_entry_,                                    \
     StubCode::MegamorphicCall_entry()->EntryPoint(), 0)                        \
   V(uword, monomorphic_miss_entry_,                                            \
-    StubCode::MonomorphicMiss_entry()->EntryPoint(), 0)                        \
+    StubCode::MonomorphicMiss_entry()->EntryPoint(), 0)
 
 #endif
 
@@ -125,24 +125,24 @@
   CACHED_VM_STUBS_ADDRESSES_LIST(V)                                            \
   V(uword, native_call_wrapper_entry_point_,                                   \
     NativeEntry::NativeCallWrapperEntry(), 0)                                  \
-  V(RawString**, predefined_symbols_address_,                                  \
-    Symbols::PredefinedAddress(), NULL)                                        \
+  V(RawString**, predefined_symbols_address_, Symbols::PredefinedAddress(),    \
+    NULL)                                                                      \
   V(uword, double_negate_address_,                                             \
     reinterpret_cast<uword>(&double_negate_constant), 0)                       \
-  V(uword, double_abs_address_,                                                \
-    reinterpret_cast<uword>(&double_abs_constant), 0)                          \
-  V(uword, float_not_address_,                                                 \
-    reinterpret_cast<uword>(&float_not_constant), 0)                           \
+  V(uword, double_abs_address_, reinterpret_cast<uword>(&double_abs_constant), \
+    0)                                                                         \
+  V(uword, float_not_address_, reinterpret_cast<uword>(&float_not_constant),   \
+    0)                                                                         \
   V(uword, float_negate_address_,                                              \
     reinterpret_cast<uword>(&float_negate_constant), 0)                        \
   V(uword, float_absolute_address_,                                            \
     reinterpret_cast<uword>(&float_absolute_constant), 0)                      \
   V(uword, float_zerow_address_,                                               \
-    reinterpret_cast<uword>(&float_zerow_constant), 0)                         \
+    reinterpret_cast<uword>(&float_zerow_constant), 0)
 
 #define CACHED_CONSTANTS_LIST(V)                                               \
   CACHED_VM_OBJECTS_LIST(V)                                                    \
-  CACHED_ADDRESSES_LIST(V)                                                     \
+  CACHED_ADDRESSES_LIST(V)
 
 // A VM thread; may be executing Dart code or performing helper tasks like
 // garbage collection or compilation. The Thread structure associated with
@@ -210,9 +210,7 @@
 
 #if defined(TARGET_ARCH_DBC)
   // Access to the current stack limit for DBC interpreter.
-  uword stack_limit() const {
-    return stack_limit_;
-  }
+  uword stack_limit() const { return stack_limit_; }
 #endif
 
   // Stack overflow flags
@@ -231,9 +229,7 @@
     return ++stack_overflow_count_;
   }
 
-  TaskKind task_kind() const {
-    return task_kind_;
-  }
+  TaskKind task_kind() const { return task_kind_; }
 
   // Retrieves and clears the stack overflow flags.  These are set by
   // the generated code before the slow path runtime routine for a
@@ -255,9 +251,7 @@
 
   // OSThread corresponding to this thread.
   OSThread* os_thread() const { return os_thread_; }
-  void set_os_thread(OSThread* os_thread) {
-    os_thread_ = os_thread;
-  }
+  void set_os_thread(OSThread* os_thread) { os_thread_ = os_thread; }
 
   // Monitor corresponding to this thread.
   Monitor* thread_lock() const { return thread_lock_; }
@@ -281,9 +275,7 @@
 
   // The isolate that this thread is operating on, or NULL if none.
   Isolate* isolate() const { return isolate_; }
-  static intptr_t isolate_offset() {
-    return OFFSET_OF(Thread, isolate_);
-  }
+  static intptr_t isolate_offset() { return OFFSET_OF(Thread, isolate_); }
   bool IsMutatorThread() const;
   bool CanCollectGarbage() const;
 
@@ -314,9 +306,7 @@
     type_range_cache_ = value;
   }
 
-  int32_t no_callback_scope_depth() const {
-    return no_callback_scope_depth_;
-  }
+  int32_t no_callback_scope_depth() const { return no_callback_scope_depth_; }
 
   void IncrementNoCallbackScopeDepth() {
     ASSERT(no_callback_scope_depth_ < INT_MAX);
@@ -340,9 +330,7 @@
     return OFFSET_OF(Thread, store_buffer_block_);
   }
 
-  uword top_exit_frame_info() const {
-    return top_exit_frame_info_;
-  }
+  uword top_exit_frame_info() const { return top_exit_frame_info_; }
   void set_top_exit_frame_info(uword top_exit_frame_info) {
     top_exit_frame_info_ = top_exit_frame_info;
   }
@@ -351,18 +339,14 @@
   }
 
   StackResource* top_resource() const { return top_resource_; }
-  void set_top_resource(StackResource* value) {
-    top_resource_ = value;
-  }
+  void set_top_resource(StackResource* value) { top_resource_ = value; }
   static intptr_t top_resource_offset() {
     return OFFSET_OF(Thread, top_resource_);
   }
 
   // Heap of the isolate that this thread is operating on.
   Heap* heap() const { return heap_; }
-  static intptr_t heap_offset() {
-    return OFFSET_OF(Thread, heap_);
-  }
+  static intptr_t heap_offset() { return OFFSET_OF(Thread, heap_); }
 
   int32_t no_handle_scope_depth() const {
 #if defined(DEBUG)
@@ -426,21 +410,21 @@
   static intptr_t member_name##offset() {                                      \
     return OFFSET_OF(Thread, member_name);                                     \
   }
-CACHED_CONSTANTS_LIST(DEFINE_OFFSET_METHOD)
+  CACHED_CONSTANTS_LIST(DEFINE_OFFSET_METHOD)
 #undef DEFINE_OFFSET_METHOD
 
 #define DEFINE_OFFSET_METHOD(name)                                             \
   static intptr_t name##_entry_point_offset() {                                \
     return OFFSET_OF(Thread, name##_entry_point_);                             \
   }
-RUNTIME_ENTRY_LIST(DEFINE_OFFSET_METHOD)
+  RUNTIME_ENTRY_LIST(DEFINE_OFFSET_METHOD)
 #undef DEFINE_OFFSET_METHOD
 
 #define DEFINE_OFFSET_METHOD(returntype, name, ...)                            \
   static intptr_t name##_entry_point_offset() {                                \
     return OFFSET_OF(Thread, name##_entry_point_);                             \
   }
-LEAF_RUNTIME_ENTRY_LIST(DEFINE_OFFSET_METHOD)
+  LEAF_RUNTIME_ENTRY_LIST(DEFINE_OFFSET_METHOD)
 #undef DEFINE_OFFSET_METHOD
 
   static bool CanLoadFromThread(const Object& object);
@@ -478,19 +462,11 @@
   }
 
   LongJumpScope* long_jump_base() const { return long_jump_base_; }
-  void set_long_jump_base(LongJumpScope* value) {
-    long_jump_base_ = value;
-  }
+  void set_long_jump_base(LongJumpScope* value) { long_jump_base_ = value; }
 
-  uword vm_tag() const {
-    return vm_tag_;
-  }
-  void set_vm_tag(uword tag) {
-    vm_tag_ = tag;
-  }
-  static intptr_t vm_tag_offset() {
-    return OFFSET_OF(Thread, vm_tag_);
-  }
+  uword vm_tag() const { return vm_tag_; }
+  void set_vm_tag(uword tag) { vm_tag_ = tag; }
+  static intptr_t vm_tag_offset() { return OFFSET_OF(Thread, vm_tag_); }
 
   RawGrowableObjectArray* pending_functions();
   void clear_pending_functions();
@@ -514,7 +490,9 @@
 
   bool IsAnyReusableHandleScopeActive() const {
 #define IS_REUSABLE_HANDLE_SCOPE_ACTIVE(object)                                \
-    if (reusable_##object##_handle_scope_active_) return true;
+  if (reusable_##object##_handle_scope_active_) {                              \
+    return true;                                                               \
+  }
     REUSABLE_HANDLE_LIST(IS_REUSABLE_HANDLE_SCOPE_ACTIVE)
     return false;
 #undef IS_REUSABLE_HANDLE_SCOPE_ACTIVE
@@ -524,9 +502,7 @@
   void ClearReusableHandles();
 
 #define REUSABLE_HANDLE(object)                                                \
-  object& object##Handle() const {                                             \
-    return *object##_handle_;                                                  \
-  }
+  object& object##Handle() const { return *object##_handle_; }
   REUSABLE_HANDLE_LIST(REUSABLE_HANDLE)
 #undef REUSABLE_HANDLE
 
@@ -577,9 +553,8 @@
     do {
       old_state = safepoint_state_;
       new_state = SafepointRequestedField::update(value, old_state);
-    } while (AtomicOperations::CompareAndSwapUint32(&safepoint_state_,
-                                                    old_state,
-                                                    new_state) != old_state);
+    } while (AtomicOperations::CompareAndSwapUint32(
+                 &safepoint_state_, old_state, new_state) != old_state);
     return old_state;
   }
   static bool IsBlockedForSafepoint(uint32_t state) {
@@ -656,7 +631,8 @@
   void InitVMConstants();
 
  private:
-  template<class T> T* AllocateReusableHandle();
+  template <class T>
+  T* AllocateReusableHandle();
 
   // Accessed from generated code:
   uword stack_limit_;
@@ -667,20 +643,18 @@
   StoreBufferBlock* store_buffer_block_;
   uword vm_tag_;
   TaskKind task_kind_;
-  // State that is cached in the TLS for fast access in generated code.
+// State that is cached in the TLS for fast access in generated code.
 #define DECLARE_MEMBERS(type_name, member_name, expr, default_init_value)      \
   type_name member_name;
-CACHED_CONSTANTS_LIST(DECLARE_MEMBERS)
+  CACHED_CONSTANTS_LIST(DECLARE_MEMBERS)
 #undef DECLARE_MEMBERS
 
-#define DECLARE_MEMBERS(name)      \
-  uword name##_entry_point_;
-RUNTIME_ENTRY_LIST(DECLARE_MEMBERS)
+#define DECLARE_MEMBERS(name) uword name##_entry_point_;
+  RUNTIME_ENTRY_LIST(DECLARE_MEMBERS)
 #undef DECLARE_MEMBERS
 
-#define DECLARE_MEMBERS(returntype, name, ...)      \
-  uword name##_entry_point_;
-LEAF_RUNTIME_ENTRY_LIST(DECLARE_MEMBERS)
+#define DECLARE_MEMBERS(returntype, name, ...) uword name##_entry_point_;
+  LEAF_RUNTIME_ENTRY_LIST(DECLARE_MEMBERS)
 #undef DECLARE_MEMBERS
 
   TimelineStream* dart_stream_;
@@ -714,9 +688,8 @@
 
   CompilerStats* compiler_stats_;
 
-  // Reusable handles support.
-#define REUSABLE_HANDLE_FIELDS(object)                                         \
-  object* object##_handle_;
+// Reusable handles support.
+#define REUSABLE_HANDLE_FIELDS(object) object* object##_handle_;
   REUSABLE_HANDLE_LIST(REUSABLE_HANDLE_FIELDS)
 #undef REUSABLE_HANDLE_FIELDS
 
@@ -741,13 +714,9 @@
       StoreBuffer::ThresholdPolicy policy = StoreBuffer::kCheckThreshold);
   void StoreBufferAcquire();
 
-  void set_zone(Zone* zone) {
-    zone_ = zone;
-  }
+  void set_zone(Zone* zone) { zone_ = zone; }
 
-  void set_safepoint_state(uint32_t value) {
-    safepoint_state_ = value;
-  }
+  void set_safepoint_state(uint32_t value) { safepoint_state_ = value; }
   void EnterSafepointUsingLock();
   void ExitSafepointUsingLock();
   void BlockForSafepoint();
@@ -761,7 +730,7 @@
 
 #define REUSABLE_FRIEND_DECLARATION(name)                                      \
   friend class Reusable##name##HandleScope;
-REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION)
+  REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION)
 #undef REUSABLE_FRIEND_DECLARATION
 
   friend class ApiZone;
diff --git a/runtime/vm/thread_barrier.h b/runtime/vm/thread_barrier.h
index 458f28d..020fcf6 100644
--- a/runtime/vm/thread_barrier.h
+++ b/runtime/vm/thread_barrier.h
@@ -49,12 +49,12 @@
   explicit ThreadBarrier(intptr_t num_threads,
                          Monitor* monitor,
                          Monitor* done_monitor)
-    : num_threads_(num_threads),
-      monitor_(monitor),
-      remaining_(num_threads),
-      parity_(false),
-      done_monitor_(done_monitor),
-      done_(false) {
+      : num_threads_(num_threads),
+        monitor_(monitor),
+        remaining_(num_threads),
+        parity_(false),
+        done_monitor_(done_monitor),
+        done_(false) {
     ASSERT(remaining_ > 0);
   }
 
diff --git a/runtime/vm/thread_barrier_test.cc b/runtime/vm/thread_barrier_test.cc
index 7ca11c6..9fcdc1c 100644
--- a/runtime/vm/thread_barrier_test.cc
+++ b/runtime/vm/thread_barrier_test.cc
@@ -12,13 +12,8 @@
 
 class FuzzTask : public ThreadPool::Task {
  public:
-  FuzzTask(intptr_t num_rounds,
-           ThreadBarrier* barrier,
-           uint64_t seed)
-    : num_rounds_(num_rounds),
-      barrier_(barrier),
-      rng_(seed) {
-  }
+  FuzzTask(intptr_t num_rounds, ThreadBarrier* barrier, uint64_t seed)
+      : num_rounds_(num_rounds), barrier_(barrier), rng_(seed) {}
 
   virtual void Run() {
     for (intptr_t i = 0; i < num_rounds_; ++i) {
diff --git a/runtime/vm/thread_interrupter.cc b/runtime/vm/thread_interrupter.cc
index fa14d2e..0ad9ead 100644
--- a/runtime/vm/thread_interrupter.cc
+++ b/runtime/vm/thread_interrupter.cc
@@ -47,8 +47,7 @@
 // effect: if the thread is interrupted by a signal handler during a ThreadState
 // update the signal handler will immediately return.
 
-DEFINE_FLAG(bool, trace_thread_interrupter, false,
-            "Trace thread interrupter");
+DEFINE_FLAG(bool, trace_thread_interrupter, false, "Trace thread interrupter");
 
 bool ThreadInterrupter::initialized_ = false;
 bool ThreadInterrupter::shutdown_ = false;
diff --git a/runtime/vm/thread_interrupter_android.cc b/runtime/vm/thread_interrupter_android.cc
index 58f302f..30bd440 100644
--- a/runtime/vm/thread_interrupter_android.cc
+++ b/runtime/vm/thread_interrupter_android.cc
@@ -6,7 +6,7 @@
 #if defined(TARGET_OS_ANDROID)
 
 #include <sys/syscall.h>  // NOLINT
-#include <errno.h>  // NOLINT
+#include <errno.h>        // NOLINT
 
 #include "vm/flags.h"
 #include "vm/os.h"
@@ -23,7 +23,8 @@
 
 class ThreadInterrupterAndroid : public AllStatic {
  public:
-  static void ThreadInterruptSignalHandler(int signal, siginfo_t* info,
+  static void ThreadInterruptSignalHandler(int signal,
+                                           siginfo_t* info,
                                            void* context_) {
     if (signal != SIGPROF) {
       return;
diff --git a/runtime/vm/thread_interrupter_linux.cc b/runtime/vm/thread_interrupter_linux.cc
index 4eb07f4..167581e 100644
--- a/runtime/vm/thread_interrupter_linux.cc
+++ b/runtime/vm/thread_interrupter_linux.cc
@@ -20,7 +20,8 @@
 
 class ThreadInterrupterLinux : public AllStatic {
  public:
-  static void ThreadInterruptSignalHandler(int signal, siginfo_t* info,
+  static void ThreadInterruptSignalHandler(int signal,
+                                           siginfo_t* info,
                                            void* context_) {
     if (signal != SIGPROF) {
       return;
diff --git a/runtime/vm/thread_interrupter_macos.cc b/runtime/vm/thread_interrupter_macos.cc
index 222a294..fb9e145 100644
--- a/runtime/vm/thread_interrupter_macos.cc
+++ b/runtime/vm/thread_interrupter_macos.cc
@@ -22,7 +22,8 @@
 
 class ThreadInterrupterMacOS : public AllStatic {
  public:
-  static void ThreadInterruptSignalHandler(int signal, siginfo_t* info,
+  static void ThreadInterruptSignalHandler(int signal,
+                                           siginfo_t* info,
                                            void* context_) {
     if (signal != SIGPROF) {
       return;
diff --git a/runtime/vm/thread_interrupter_win.cc b/runtime/vm/thread_interrupter_win.cc
index 30d6d8b..bcbcc77 100644
--- a/runtime/vm/thread_interrupter_win.cc
+++ b/runtime/vm/thread_interrupter_win.cc
@@ -56,11 +56,9 @@
 
   static void Interrupt(OSThread* os_thread) {
     ASSERT(!OSThread::Compare(GetCurrentThreadId(), os_thread->id()));
-    HANDLE handle = OpenThread(THREAD_GET_CONTEXT |
-                               THREAD_QUERY_INFORMATION |
-                               THREAD_SUSPEND_RESUME,
-                               false,
-                               os_thread->id());
+    HANDLE handle = OpenThread(
+        THREAD_GET_CONTEXT | THREAD_QUERY_INFORMATION | THREAD_SUSPEND_RESUME,
+        false, os_thread->id());
     ASSERT(handle != NULL);
     DWORD result = SuspendThread(handle);
     if (result == kThreadError) {
diff --git a/runtime/vm/thread_pool.cc b/runtime/vm/thread_pool.cc
index 0c326d3..40ca9d5 100644
--- a/runtime/vm/thread_pool.cc
+++ b/runtime/vm/thread_pool.cc
@@ -10,20 +10,21 @@
 
 namespace dart {
 
-DEFINE_FLAG(int, worker_timeout_millis, 5000,
+DEFINE_FLAG(int,
+            worker_timeout_millis,
+            5000,
             "Free workers when they have been idle for this amount of time.");
 
 ThreadPool::ThreadPool()
-  : shutting_down_(false),
-    all_workers_(NULL),
-    idle_workers_(NULL),
-    count_started_(0),
-    count_stopped_(0),
-    count_running_(0),
-    count_idle_(0),
-    shutting_down_workers_(NULL),
-    join_list_(NULL) {
-}
+    : shutting_down_(false),
+      all_workers_(NULL),
+      idle_workers_(NULL),
+      count_started_(0),
+      count_stopped_(0),
+      count_running_(0),
+      count_idle_(0),
+      shutting_down_workers_(NULL),
+      join_list_(NULL) {}
 
 
 ThreadPool::~ThreadPool() {
@@ -146,8 +147,7 @@
 
 bool ThreadPool::IsIdle(Worker* worker) {
   ASSERT(worker != NULL && worker->owned_);
-  for (Worker* current = idle_workers_;
-       current != NULL;
+  for (Worker* current = idle_workers_; current != NULL;
        current = current->idle_next_) {
     if (current == worker) {
       return true;
@@ -170,8 +170,7 @@
     return true;
   }
 
-  for (Worker* current = idle_workers_;
-       current->idle_next_ != NULL;
+  for (Worker* current = idle_workers_; current->idle_next_ != NULL;
        current = current->idle_next_) {
     if (current->idle_next_ == worker) {
       current->idle_next_ = worker->idle_next_;
@@ -198,8 +197,7 @@
     return true;
   }
 
-  for (Worker* current = all_workers_;
-       current->all_next_ != NULL;
+  for (Worker* current = all_workers_; current->all_next_ != NULL;
        current = current->all_next_) {
     if (current->all_next_ == worker) {
       current->all_next_ = worker->all_next_;
@@ -298,8 +296,7 @@
   }
 
   for (Worker* current = shutting_down_workers_;
-       current->shutdown_next_ != NULL;
-       current = current->shutdown_next_) {
+       current->shutdown_next_ != NULL; current = current->shutdown_next_) {
     if (current->shutdown_next_ == worker) {
       current->shutdown_next_ = worker->shutdown_next_;
       worker->shutdown_next_ = NULL;
@@ -325,24 +322,21 @@
 }
 
 
-ThreadPool::Task::Task() {
-}
+ThreadPool::Task::Task() {}
 
 
-ThreadPool::Task::~Task() {
-}
+ThreadPool::Task::~Task() {}
 
 
 ThreadPool::Worker::Worker(ThreadPool* pool)
-  : pool_(pool),
-    task_(NULL),
-    id_(OSThread::kInvalidThreadId),
-    done_(false),
-    owned_(false),
-    all_next_(NULL),
-    idle_next_(NULL),
-    shutdown_next_(NULL) {
-}
+    : pool_(pool),
+      task_(NULL),
+      id_(OSThread::kInvalidThreadId),
+      done_(false),
+      owned_(false),
+      all_next_(NULL),
+      idle_next_(NULL),
+      shutdown_next_(NULL) {}
 
 
 ThreadId ThreadPool::Worker::id() {
@@ -354,13 +348,12 @@
 void ThreadPool::Worker::StartThread() {
 #if defined(DEBUG)
   // Must call SetTask before StartThread.
-  { // NOLINT
+  {  // NOLINT
     MonitorLocker ml(&monitor_);
     ASSERT(task_ != NULL);
   }
 #endif
-  int result = OSThread::Start("Dart ThreadPool Worker",
-                               &Worker::Main,
+  int result = OSThread::Start("Dart ThreadPool Worker", &Worker::Main,
                                reinterpret_cast<uword>(this));
   if (result != 0) {
     FATAL1("Could not start worker thread: result = %d.", result);
@@ -478,8 +471,8 @@
       JoinList::AddLocked(join_id, &pool->join_list_);
     }
 
-    // worker->id_ should never be read again, so set to invalid in debug mode
-    // for asserts.
+// worker->id_ should never be read again, so set to invalid in debug mode
+// for asserts.
 #if defined(DEBUG)
     {
       MonitorLocker ml(&worker->monitor_);
diff --git a/runtime/vm/thread_pool.h b/runtime/vm/thread_pool.h
index d9a4634..6fbe0d7 100644
--- a/runtime/vm/thread_pool.h
+++ b/runtime/vm/thread_pool.h
@@ -93,8 +93,7 @@
 
   class JoinList {
    public:
-    explicit JoinList(ThreadJoinId id, JoinList* next) : id_(id), next_(next) {
-    }
+    explicit JoinList(ThreadJoinId id, JoinList* next) : id_(id), next_(next) {}
 
     // The thread pool's mutex_ must be held when calling this.
     static void AddLocked(ThreadJoinId id, JoinList** list);
diff --git a/runtime/vm/thread_pool_test.cc b/runtime/vm/thread_pool_test.cc
index a555503..23d6140 100644
--- a/runtime/vm/thread_pool_test.cc
+++ b/runtime/vm/thread_pool_test.cc
@@ -19,9 +19,7 @@
 
 class TestTask : public ThreadPool::Task {
  public:
-  TestTask(Monitor* sync, bool* done)
-      : sync_(sync), done_(done) {
-  }
+  TestTask(Monitor* sync, bool* done) : sync_(sync), done_(done) {}
 
   // Before running the task, *done_ should be true. This lets the caller
   // ASSERT things knowing that the thread is still around. To unblock the
@@ -94,8 +92,7 @@
       : sync_(sync),
         started_count_(started_count),
         slept_count_(slept_count),
-        millis_(millis) {
-  }
+        millis_(millis) {}
 
   virtual void Run() {
     {
@@ -200,8 +197,7 @@
 class SpawnTask : public ThreadPool::Task {
  public:
   SpawnTask(ThreadPool* pool, Monitor* sync, int todo, int total, int* done)
-      : pool_(pool), sync_(sync), todo_(todo), total_(total), done_(done) {
-  }
+      : pool_(pool), sync_(sync), todo_(todo), total_(total), done_(done) {}
 
   virtual void Run() {
     todo_--;  // Subtract one for current task.
@@ -209,8 +205,8 @@
 
     // Spawn 0-2 children.
     if (todo_ > 0) {
-      pool_->Run(new SpawnTask(
-          pool_, sync_, todo_ - child_todo, total_, done_));
+      pool_->Run(
+          new SpawnTask(pool_, sync_, todo_ - child_todo, total_, done_));
     }
     if (todo_ > 1) {
       pool_->Run(new SpawnTask(pool_, sync_, child_todo, total_, done_));
diff --git a/runtime/vm/thread_registry.h b/runtime/vm/thread_registry.h
index 4965e75..eb2d327 100644
--- a/runtime/vm/thread_registry.h
+++ b/runtime/vm/thread_registry.h
@@ -43,7 +43,7 @@
   // we need to iterate over threads (both active and free) in an isolate.
   Monitor* threads_lock_;
   Thread* active_list_;  // List of active threads in the isolate.
-  Thread* free_list_;  // Free list of Thread objects that can be reused.
+  Thread* free_list_;    // Free list of Thread objects that can be reused.
 
   // TODO(asiva): Currently we treat a mutator thread as a special thread
   // and always schedule execution of Dart code on the same mutator thread
diff --git a/runtime/vm/thread_test.cc b/runtime/vm/thread_test.cc
index dc2edac..2dcf568 100644
--- a/runtime/vm/thread_test.cc
+++ b/runtime/vm/thread_test.cc
@@ -15,8 +15,8 @@
 
 UNIT_TEST_CASE(Mutex) {
   // This unit test case needs a running isolate.
-  Dart_CreateIsolate(
-      NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL, NULL);
+  Dart_CreateIsolate(NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL,
+                     NULL);
 
   Mutex* mutex = new Mutex();
   mutex->Lock();
@@ -37,8 +37,8 @@
 
 UNIT_TEST_CASE(Monitor) {
   // This unit test case needs a running isolate.
-  Dart_CreateIsolate(
-      NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL, NULL);
+  Dart_CreateIsolate(NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL,
+                     NULL);
   OSThread* thread = OSThread::Current();
   // Thread interrupter interferes with this test, disable interrupts.
   thread->DisableThreadInterrupts();
@@ -63,7 +63,7 @@
     // Check whether this attempt falls within the exptected time limits.
     int64_t wakeup_time = stop - start;
     OS::Print("wakeup_time: %" Pd64 "\n", wakeup_time);
-    const int kAcceptableTimeJitter = 20;  // Measured in milliseconds.
+    const int kAcceptableTimeJitter = 20;    // Measured in milliseconds.
     const int kAcceptableWakeupDelay = 150;  // Measured in milliseconds.
     if (((wait_time - kAcceptableTimeJitter) <= wakeup_time) &&
         (wakeup_time <= (wait_time + kAcceptableWakeupDelay))) {
@@ -85,7 +85,7 @@
 class ObjectCounter : public ObjectPointerVisitor {
  public:
   explicit ObjectCounter(Isolate* isolate, const Object* obj)
-      : ObjectPointerVisitor(isolate), obj_(obj), count_(0) { }
+      : ObjectPointerVisitor(isolate), obj_(obj), count_(0) {}
 
   virtual void VisitPointers(RawObject** first, RawObject** last) {
     for (RawObject** current = first; current <= last; ++current) {
@@ -119,7 +119,7 @@
       HANDLESCOPE(thread);
       Zone* zone = thread->zone();
       EXPECT_EQ(zone, stack_zone.GetZone());
-      ZoneGrowableArray<bool>* a0 = new(zone) ZoneGrowableArray<bool>(zone, 1);
+      ZoneGrowableArray<bool>* a0 = new (zone) ZoneGrowableArray<bool>(zone, 1);
       GrowableArray<bool> a1(zone, 1);
       for (intptr_t i = 0; i < 100000; ++i) {
         a0->Add(true);
@@ -135,9 +135,8 @@
       {
         ObjectCounter counter(isolate_, &smi);
         // Ensure that our particular zone is visited.
-        isolate_->IterateObjectPointers(
-            &counter,
-            StackFrameIterator::kValidateFrames);
+        isolate_->IterateObjectPointers(&counter,
+                                        StackFrameIterator::kValidateFrames);
         EXPECT_EQ(1, counter.count());
       }
       char* unique_chars = zone->PrintToString("unique_str_%" Pd, id_);
@@ -152,9 +151,8 @@
       {
         ObjectCounter str_counter(isolate_, &unique_str);
         // Ensure that our particular zone is visited.
-        isolate_->IterateObjectPointers(
-            &str_counter,
-            StackFrameIterator::kValidateFrames);
+        isolate_->IterateObjectPointers(&str_counter,
+                                        StackFrameIterator::kValidateFrames);
         // We should visit the string object exactly once.
         EXPECT_EQ(1, str_counter.count());
       }
@@ -213,14 +211,14 @@
   char* orig_str = orig_zone->PrintToString("foo");
   Dart_ExitIsolate();
   // Create and enter a new isolate.
-  Dart_CreateIsolate(
-      NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL, NULL);
+  Dart_CreateIsolate(NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL,
+                     NULL);
   Zone* zone0 = Thread::Current()->zone();
   EXPECT(zone0 != orig_zone);
   Dart_ShutdownIsolate();
   // Create and enter yet another isolate.
-  Dart_CreateIsolate(
-      NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL, NULL);
+  Dart_CreateIsolate(NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL,
+                     NULL);
   {
     // Create a stack resource this time, and exercise it.
     StackZone stack_zone(Thread::Current());
@@ -251,12 +249,12 @@
                     intptr_t* expected_count,
                     intptr_t* total_done,
                     intptr_t* exited)
-    : isolate_(isolate),
-      monitor_(monitor),
-      expected_count_(expected_count),
-      total_done_(total_done),
-      exited_(exited),
-      local_done_(false) {}
+      : isolate_(isolate),
+        monitor_(monitor),
+        expected_count_(expected_count),
+        total_done_(total_done),
+        exited_(exited),
+        local_done_(false) {}
 
   virtual void Run() {
     Thread::EnterIsolateAsHelper(isolate_, Thread::kUnknownTask);
@@ -265,7 +263,7 @@
       ++*expected_count_;
     }
     Thread* thread = Thread::Current();
-    for (int i = reinterpret_cast<intptr_t>(thread); ; ++i) {
+    for (int i = reinterpret_cast<intptr_t>(thread);; ++i) {
       StackZone stack_zone(thread);
       Zone* zone = thread->zone();
       HANDLESCOPE(thread);
@@ -278,9 +276,8 @@
         // But occasionally, organize a rendezvous.
         SafepointOperationScope safepoint_scope(thread);
         ObjectCounter counter(isolate_, &smi);
-        isolate_->IterateObjectPointers(
-            &counter,
-            StackFrameIterator::kValidateFrames);
+        isolate_->IterateObjectPointers(&counter,
+                                        StackFrameIterator::kValidateFrames);
         {
           MonitorLocker ml(monitor_);
           EXPECT_EQ(*expected_count_, counter.count());
@@ -345,10 +342,10 @@
     Dart::thread_pool()->Run(new SafepointTestTask(
         isolate, &monitor, &expected_count, &total_done, &exited));
   }
-  // Run Dart code on the main thread long enough to allow all helpers
-  // to get their verification done and exit. Use a specific UserTag
-  // to enable the helpers to verify that the main thread is
-  // successfully interrupted in the pure Dart loop.
+// Run Dart code on the main thread long enough to allow all helpers
+// to get their verification done and exit. Use a specific UserTag
+// to enable the helpers to verify that the main thread is
+// successfully interrupted in the pure Dart loop.
 #if defined(USING_SIMULATOR)
   const intptr_t kLoopCount = 12345678;
 #else
@@ -356,14 +353,16 @@
 #endif  // USING_SIMULATOR
   char buffer[1024];
   OS::SNPrint(buffer, sizeof(buffer),
-      "import 'dart:developer';\n"
-      "int dummy = 0;\n"
-      "main() {\n"
-      "  new UserTag('foo').makeCurrent();\n"
-      "  for (dummy = 0; dummy < %" Pd "; ++dummy) {\n"
-      "    dummy += (dummy & 1);\n"
-      "  }\n"
-      "}\n", kLoopCount);
+              "import 'dart:developer';\n"
+              "int dummy = 0;\n"
+              "main() {\n"
+              "  new UserTag('foo').makeCurrent();\n"
+              "  for (dummy = 0; dummy < %" Pd
+              "; ++dummy) {\n"
+              "    dummy += (dummy & 1);\n"
+              "  }\n"
+              "}\n",
+              kLoopCount);
   Dart_Handle lib = TestCase::LoadTestScript(buffer, NULL);
   EXPECT_VALID(lib);
   Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
@@ -491,8 +490,7 @@
     MonitorLocker ml(params.monitor);
     EXPECT(params.spawned_thread_id == OSThread::kInvalidThreadId);
     // Spawn thread and wait to receive the thread id.
-    OSThread::Start("ThreadIteratorTest",
-                    ThreadIteratorTestMain,
+    OSThread::Start("ThreadIteratorTest", ThreadIteratorTestMain,
                     reinterpret_cast<uword>(&params));
     while (params.spawned_thread_id == OSThread::kInvalidThreadId) {
       ml.Wait();
@@ -586,13 +584,8 @@
 
 class AllocAndGCTask : public ThreadPool::Task {
  public:
-  AllocAndGCTask(Isolate* isolate,
-                 Monitor* done_monitor,
-                 bool* done)
-    : isolate_(isolate),
-      done_monitor_(done_monitor),
-      done_(done) {
-  }
+  AllocAndGCTask(Isolate* isolate, Monitor* done_monitor, bool* done)
+      : isolate_(isolate), done_monitor_(done_monitor), done_(done) {}
 
   virtual void Run() {
     Thread::EnterIsolateAsHelper(isolate_, Thread::kUnknownTask);
diff --git a/runtime/vm/timeline.cc b/runtime/vm/timeline.cc
index 2627ac9..f0b0ee1 100644
--- a/runtime/vm/timeline.cc
+++ b/runtime/vm/timeline.cc
@@ -23,20 +23,29 @@
 DEFINE_FLAG(bool, complete_timeline, false, "Record the complete timeline");
 DEFINE_FLAG(bool, startup_timeline, false, "Record the startup timeline");
 DEFINE_FLAG(bool, systrace_timeline, false, "Record the timeline to systrace");
-DEFINE_FLAG(bool, trace_timeline, false,
-            "Trace timeline backend");
-DEFINE_FLAG(bool, trace_timeline_analysis, false,
+DEFINE_FLAG(bool, trace_timeline, false, "Trace timeline backend");
+DEFINE_FLAG(bool,
+            trace_timeline_analysis,
+            false,
             "Trace timeline analysis backend");
-DEFINE_FLAG(bool, timing, false,
+DEFINE_FLAG(bool,
+            timing,
+            false,
             "Dump isolate timing information from timeline.");
-DEFINE_FLAG(charp, timeline_dir, NULL,
+DEFINE_FLAG(charp,
+            timeline_dir,
+            NULL,
             "Enable all timeline trace streams and output VM global trace "
             "into specified directory.");
-DEFINE_FLAG(charp, timeline_streams, NULL,
+DEFINE_FLAG(charp,
+            timeline_streams,
+            NULL,
             "Comma separated list of timeline streams to record. "
             "Valid values: all, API, Compiler, Dart, Debugger, Embedder, "
             "GC, Isolate, and VM.");
-DEFINE_FLAG(charp, timeline_recorder, "ring",
+DEFINE_FLAG(charp,
+            timeline_recorder,
+            "ring",
             "Select the timeline recorder used. "
             "Valid values: ring, endless, startup, and systrace.")
 
@@ -164,8 +173,8 @@
 
 // Returns true if |streams| contains |stream| or "all". Not case sensitive.
 static bool HasStream(MallocGrowableArray<char*>* streams, const char* stream) {
-  if ((FLAG_timeline_dir != NULL) ||
-      FLAG_timing || FLAG_complete_timeline || FLAG_startup_timeline) {
+  if ((FLAG_timeline_dir != NULL) || FLAG_timing || FLAG_complete_timeline ||
+      FLAG_startup_timeline) {
     return true;
   }
   for (intptr_t i = 0; i < streams->length(); i++) {
@@ -184,10 +193,9 @@
   recorder_ = CreateTimelineRecorder();
   ASSERT(recorder_ != NULL);
   enabled_streams_ = GetEnabledByDefaultTimelineStreams();
-  // Global overrides.
+// Global overrides.
 #define TIMELINE_STREAM_FLAG_DEFAULT(name, not_used)                           \
-  stream_##name##_.Init(#name,                                                 \
-                        HasStream(enabled_streams_, #name));
+  stream_##name##_.Init(#name, HasStream(enabled_streams_, #name));
   TIMELINE_STREAM_LIST(TIMELINE_STREAM_FLAG_DEFAULT)
 #undef TIMELINE_STREAM_FLAG_DEFAULT
 
@@ -226,7 +234,7 @@
     recorder_->WriteTo(FLAG_timeline_dir);
   }
 
-  // Disable global streams.
+// Disable global streams.
 #define TIMELINE_STREAM_DISABLE(name, not_used)                                \
   Timeline::stream_##name##_.set_enabled(false);
   TIMELINE_STREAM_LIST(TIMELINE_STREAM_DISABLE)
@@ -278,18 +286,17 @@
   }
   {
     JSONArray availableStreams(&obj, "availableStreams");
-#define ADD_STREAM_NAME(name, not_used)                                        \
-    availableStreams.AddValue(#name);
-TIMELINE_STREAM_LIST(ADD_STREAM_NAME);
+#define ADD_STREAM_NAME(name, not_used) availableStreams.AddValue(#name);
+    TIMELINE_STREAM_LIST(ADD_STREAM_NAME);
 #undef ADD_STREAM_NAME
   }
   {
     JSONArray recordedStreams(&obj, "recordedStreams");
 #define ADD_RECORDED_STREAM_NAME(name, not_used)                               \
-    if (stream_##name##_.enabled()) {                                          \
-      recordedStreams.AddValue(#name);                                         \
-    }
-TIMELINE_STREAM_LIST(ADD_RECORDED_STREAM_NAME);
+  if (stream_##name##_.enabled()) {                                            \
+    recordedStreams.AddValue(#name);                                           \
+  }
+    TIMELINE_STREAM_LIST(ADD_RECORDED_STREAM_NAME);
 #undef ADD_RECORDED_STREAM_NAME
   }
 }
@@ -312,7 +319,7 @@
 
 #define TIMELINE_STREAM_DEFINE(name, enabled_by_default)                       \
   TimelineStream Timeline::stream_##name##_;
-  TIMELINE_STREAM_LIST(TIMELINE_STREAM_DEFINE)
+TIMELINE_STREAM_LIST(TIMELINE_STREAM_DEFINE)
 #undef TIMELINE_STREAM_DEFINE
 
 TimelineEvent::TimelineEvent()
@@ -326,8 +333,7 @@
       label_(NULL),
       category_(""),
       thread_(OSThread::kInvalidThreadId),
-      isolate_id_(ILLEGAL_PORT) {
-}
+      isolate_id_(ILLEGAL_PORT) {}
 
 
 TimelineEvent::~TimelineEvent() {
@@ -390,16 +396,14 @@
 }
 
 
-void TimelineEvent::DurationEnd(int64_t micros,
-                                int64_t thread_micros) {
+void TimelineEvent::DurationEnd(int64_t micros, int64_t thread_micros) {
   ASSERT(timestamp1_ == 0);
   set_timestamp1(micros);
   set_thread_timestamp1(thread_micros);
 }
 
 
-void TimelineEvent::Instant(const char* label,
-                            int64_t micros) {
+void TimelineEvent::Instant(const char* label, int64_t micros) {
   Init(kInstant, label);
   set_timestamp0(micros);
 }
@@ -477,8 +481,10 @@
 }
 
 
-void TimelineEvent::FormatArgument(intptr_t i, const char* name,
-                                   const char* fmt, ...) {
+void TimelineEvent::FormatArgument(intptr_t i,
+                                   const char* name,
+                                   const char* fmt,
+                                   ...) {
   ASSERT(i >= 0);
   ASSERT(i < arguments_length_);
   va_list args;
@@ -519,25 +525,20 @@
   switch (event_type()) {
     case kBegin: {
       length = OS::SNPrint(buffer, buffer_size, "B|%" Pd64 "|%s", pid, label());
-    }
-    break;
+    } break;
     case kEnd: {
       length = OS::SNPrint(buffer, buffer_size, "E");
-    }
-    break;
+    } break;
     case kCounter: {
       if (arguments_length_ > 0) {
         // We only report the first counter value.
-        length = OS::SNPrint(buffer, buffer_size,
-                             "C|%" Pd64 "|%s|%s",
-                             pid,
-                             label(),
-                             arguments_[0].value);
+        length = OS::SNPrint(buffer, buffer_size, "C|%" Pd64 "|%s|%s", pid,
+                             label(), arguments_[0].value);
       }
     }
     default:
       // Ignore event types that we cannot serialize to the Systrace format.
-    break;
+      break;
   }
   return length;
 }
@@ -573,8 +574,7 @@
 }
 
 
-void TimelineEvent::Init(EventType event_type,
-                         const char* label) {
+void TimelineEvent::Init(EventType event_type, const char* label) {
   ASSERT(label != NULL);
   state_ = 0;
   timestamp0_ = 0;
@@ -600,8 +600,7 @@
 
 bool TimelineEvent::Within(int64_t time_origin_micros,
                            int64_t time_extent_micros) {
-  if ((time_origin_micros == -1) ||
-      (time_extent_micros == -1)) {
+  if ((time_origin_micros == -1) || (time_extent_micros == -1)) {
     // No time range specified.
     return true;
   }
@@ -653,48 +652,39 @@
   switch (event_type()) {
     case kBegin: {
       obj.AddProperty("ph", "B");
-    }
-    break;
+    } break;
     case kEnd: {
       obj.AddProperty("ph", "E");
-    }
-    break;
+    } break;
     case kDuration: {
       obj.AddProperty("ph", "X");
       obj.AddPropertyTimeMicros("dur", TimeDuration());
       if (HasThreadCPUTime()) {
         obj.AddPropertyTimeMicros("tdur", ThreadCPUTimeDuration());
       }
-    }
-    break;
+    } break;
     case kInstant: {
       obj.AddProperty("ph", "i");
       obj.AddProperty("s", "p");
-    }
-    break;
+    } break;
     case kAsyncBegin: {
       obj.AddProperty("ph", "b");
       obj.AddPropertyF("id", "%" Px64 "", AsyncId());
-    }
-    break;
+    } break;
     case kAsyncInstant: {
       obj.AddProperty("ph", "n");
       obj.AddPropertyF("id", "%" Px64 "", AsyncId());
-    }
-    break;
+    } break;
     case kAsyncEnd: {
       obj.AddProperty("ph", "e");
       obj.AddPropertyF("id", "%" Px64 "", AsyncId());
-    }
-    break;
+    } break;
     case kMetadata: {
       obj.AddProperty("ph", "M");
-    }
-    break;
+    } break;
     case kCounter: {
       obj.AddProperty("ph", "C");
-    }
-    break;
+    } break;
     default:
       UNIMPLEMENTED();
   }
@@ -751,7 +741,6 @@
 }
 
 
-
 int64_t TimelineEvent::ThreadCPUTimeOrigin() const {
   ASSERT(HasThreadCPUTime());
   return thread_timestamp0_;
@@ -768,14 +757,10 @@
 }
 
 
-TimelineStream::TimelineStream()
-    : name_(NULL),
-      enabled_(false) {
-}
+TimelineStream::TimelineStream() : name_(NULL), enabled_(false) {}
 
 
-void TimelineStream::Init(const char* name,
-                          bool enabled) {
+void TimelineStream::Init(const char* name, bool enabled) {
   name_ = name;
   enabled_ = enabled;
 }
@@ -879,7 +864,8 @@
 
 void TimelineEventScope::FormatArgument(intptr_t i,
                                         const char* name,
-                                        const char* fmt, ...) {
+                                        const char* fmt,
+                                        ...) {
   if (!enabled()) {
     return;
   }
@@ -958,11 +944,8 @@
   }
   ASSERT(event != NULL);
   // Emit a duration event.
-  event->Duration(label(),
-                  timestamp_,
-                  OS::GetCurrentMonotonicMicros(),
-                  thread_timestamp_,
-                  OS::GetCurrentThreadCPUMicros());
+  event->Duration(label(), timestamp_, OS::GetCurrentMonotonicMicros(),
+                  thread_timestamp_, OS::GetCurrentThreadCPUMicros());
   StealArguments(event);
   event->Complete();
 }
@@ -1047,25 +1030,19 @@
 }
 
 
-TimelineEventFilter::~TimelineEventFilter() {
-}
+TimelineEventFilter::~TimelineEventFilter() {}
 
 
 IsolateTimelineEventFilter::IsolateTimelineEventFilter(
     Dart_Port isolate_id,
     int64_t time_origin_micros,
     int64_t time_extent_micros)
-    : TimelineEventFilter(time_origin_micros,
-                          time_extent_micros),
-      isolate_id_(isolate_id) {
-}
+    : TimelineEventFilter(time_origin_micros, time_extent_micros),
+      isolate_id_(isolate_id) {}
 
 
 TimelineEventRecorder::TimelineEventRecorder()
-    : async_id_(0),
-      time_low_micros_(0),
-      time_high_micros_(0) {
-}
+    : async_id_(0), time_low_micros_(0), time_high_micros_(0) {}
 
 
 void TimelineEventRecorder::PrintJSONMeta(JSONArray* events) const {
@@ -1133,7 +1110,7 @@
     TimelineEvent* event = thread_block->StartEvent();
     return event;
   }
-  // Drop lock here as no event is being handed out.
+// Drop lock here as no event is being handed out.
 #if defined(DEBUG)
   if (T != NULL) {
     T->DecrementNoSafepointScopeDepth();
@@ -1210,8 +1187,8 @@
   Timeline::ReclaimCachedBlocksFromThreads();
 
   intptr_t pid = OS::ProcessId();
-  char* filename = OS::SCreate(NULL,
-      "%s/dart-timeline-%" Pd ".json", directory, pid);
+  char* filename =
+      OS::SCreate(NULL, "%s/dart-timeline-%" Pd ".json", directory, pid);
   void* file = (*file_open)(filename, true);
   if (file == NULL) {
     OS::Print("Failed to write timeline file: %s\n", filename);
@@ -1238,8 +1215,8 @@
 
 int64_t TimelineEventRecorder::GetNextAsyncId() {
   // TODO(johnmccutchan): Gracefully handle wrap around.
-  uint32_t next = static_cast<uint32_t>(
-      AtomicOperations::FetchAndIncrement(&async_id_));
+  uint32_t next =
+      static_cast<uint32_t>(AtomicOperations::FetchAndIncrement(&async_id_));
   return static_cast<int64_t>(next);
 }
 
@@ -1261,17 +1238,13 @@
 
 TimelineEventFixedBufferRecorder::TimelineEventFixedBufferRecorder(
     intptr_t capacity)
-    : blocks_(NULL),
-      capacity_(capacity),
-      num_blocks_(0),
-      block_cursor_(0) {
+    : blocks_(NULL), capacity_(capacity), num_blocks_(0), block_cursor_(0) {
   // Capacity must be a multiple of TimelineEventBlock::kBlockSize
   ASSERT((capacity % TimelineEventBlock::kBlockSize) == 0);
   // Allocate blocks array.
   num_blocks_ = capacity / TimelineEventBlock::kBlockSize;
-  blocks_ =
-      reinterpret_cast<TimelineEventBlock**>(
-          calloc(num_blocks_, sizeof(TimelineEventBlock*)));
+  blocks_ = reinterpret_cast<TimelineEventBlock**>(
+      calloc(num_blocks_, sizeof(TimelineEventBlock*)));
   // Allocate each block.
   for (intptr_t i = 0; i < num_blocks_; i++) {
     blocks_[i] = new TimelineEventBlock(i);
@@ -1401,8 +1374,7 @@
 
 
 TimelineEventSystraceRecorder::TimelineEventSystraceRecorder(intptr_t capacity)
-    : TimelineEventFixedBufferRecorder(capacity),
-      systrace_fd_(-1) {
+    : TimelineEventFixedBufferRecorder(capacity), systrace_fd_(-1) {
 #if defined(TARGET_OS_ANDROID) || defined(TARGET_OS_LINUX)
   const char* kSystracePath = "/sys/kernel/debug/tracing/trace_marker";
   systrace_fd_ = open(kSystracePath, O_WRONLY);
@@ -1411,8 +1383,9 @@
                  kSystracePath);
   }
 #else
-  OS::PrintErr("Warning: The systrace timeline recorder is equivalent to the"
-               "ring recorder on this platform.");
+  OS::PrintErr(
+      "Warning: The systrace timeline recorder is equivalent to the"
+      "ring recorder on this platform.");
 #endif
 }
 
@@ -1487,16 +1460,14 @@
 }
 
 
-TimelineEventCallbackRecorder::TimelineEventCallbackRecorder() {
-}
+TimelineEventCallbackRecorder::TimelineEventCallbackRecorder() {}
 
 
-TimelineEventCallbackRecorder::~TimelineEventCallbackRecorder() {
-}
+TimelineEventCallbackRecorder::~TimelineEventCallbackRecorder() {}
 
 
 void TimelineEventCallbackRecorder::PrintJSON(JSONStream* js,
-                                               TimelineEventFilter* filter) {
+                                              TimelineEventFilter* filter) {
   if (!FLAG_support_service) {
     return;
   }
@@ -1532,9 +1503,7 @@
 
 
 TimelineEventEndlessRecorder::TimelineEventEndlessRecorder()
-    : head_(NULL),
-      block_index_(0) {
-}
+    : head_(NULL), block_index_(0) {}
 
 
 void TimelineEventEndlessRecorder::PrintJSON(JSONStream* js,
@@ -1662,8 +1631,7 @@
       length_(0),
       block_index_(block_index),
       thread_id_(OSThread::kInvalidThreadId),
-      in_use_(false) {
-}
+      in_use_(false) {}
 
 
 TimelineEventBlock::~TimelineEventBlock() {
@@ -1760,8 +1728,7 @@
 
 TimelineEventBlockIterator::TimelineEventBlockIterator(
     TimelineEventRecorder* recorder)
-    : current_(NULL),
-      recorder_(NULL) {
+    : current_(NULL), recorder_(NULL) {
   Reset(recorder);
 }
 
diff --git a/runtime/vm/timeline.h b/runtime/vm/timeline.h
index 64d11a0..cc93040 100644
--- a/runtime/vm/timeline.h
+++ b/runtime/vm/timeline.h
@@ -44,20 +44,13 @@
  public:
   TimelineStream();
 
-  void Init(const char* name,
-            bool enabled);
+  void Init(const char* name, bool enabled);
 
-  const char* name() const {
-    return name_;
-  }
+  const char* name() const { return name_; }
 
-  bool enabled() const {
-    return enabled_ != 0;
-  }
+  bool enabled() const { return enabled_ != 0; }
 
-  void set_enabled(bool enabled) {
-    enabled_ = enabled ? 1 : 0;
-  }
+  void set_enabled(bool enabled) { enabled_ = enabled ? 1 : 0; }
 
   // Records an event. Will return |NULL| if not enabled. The returned
   // |TimelineEvent| is in an undefined state and must be initialized.
@@ -230,18 +223,15 @@
   // |name| must be a compile time constant. Copies |argument|.
   void CopyArgument(intptr_t i, const char* name, const char* argument);
   // |name| must be a compile time constant.
-  void FormatArgument(intptr_t i,
-                      const char* name,
-                      const char* fmt, ...) PRINTF_ATTRIBUTE(4, 5);
+  void FormatArgument(intptr_t i, const char* name, const char* fmt, ...)
+      PRINTF_ATTRIBUTE(4, 5);
 
   void StealArguments(intptr_t arguments_length,
                       TimelineEventArgument* arguments);
   // Mandatory to call when this event is completely filled out.
   void Complete();
 
-  EventType event_type() const {
-    return EventTypeField::decode(state_);
-  }
+  EventType event_type() const { return EventTypeField::decode(state_); }
 
   bool IsFinishedDuration() const {
     return (event_type() == kDuration) && (timestamp1_ > timestamp0_);
@@ -266,43 +256,27 @@
 
   void PrintJSON(JSONStream* stream) const;
 
-  ThreadId thread() const {
-    return thread_;
-  }
+  ThreadId thread() const { return thread_; }
 
-  void set_thread(ThreadId tid) {
-    thread_ = tid;
-  }
+  void set_thread(ThreadId tid) { thread_ = tid; }
 
-  Dart_Port isolate_id() const {
-    return isolate_id_;
-  }
+  Dart_Port isolate_id() const { return isolate_id_; }
 
-  const char* label() const {
-    return label_;
-  }
+  const char* label() const { return label_; }
 
   // Does this duration end before |micros| ?
   bool DurationFinishedBefore(int64_t micros) const {
     return TimeEnd() <= micros;
   }
 
-  bool IsDuration() const {
-    return (event_type() == kDuration);
-  }
+  bool IsDuration() const { return (event_type() == kDuration); }
 
-  bool IsBegin() const {
-    return (event_type() == kBegin);
-  }
+  bool IsBegin() const { return (event_type() == kBegin); }
 
-  bool IsEnd() const {
-    return (event_type() == kEnd);
-  }
+  bool IsEnd() const { return (event_type() == kEnd); }
 
   // Is this event a synchronous begin or end event?
-  bool IsBeginOrEnd() const {
-    return IsBegin() || IsEnd();
-  }
+  bool IsBeginOrEnd() const { return IsBegin() || IsEnd(); }
 
   // Does this duration fully contain |other| ?
   bool DurationContains(TimelineEvent* other) const {
@@ -333,8 +307,7 @@
     }
   }
 
-  bool Within(int64_t time_origin_micros,
-              int64_t time_extent_micros);
+  bool Within(int64_t time_origin_micros, int64_t time_extent_micros);
 
   const char* GetSerializedJSON() const;
 
@@ -376,17 +349,13 @@
     thread_timestamp1_ = value;
   }
 
-  bool pre_serialized_json() const {
-    return PreSerializedJSON::decode(state_);
-  }
+  bool pre_serialized_json() const { return PreSerializedJSON::decode(state_); }
 
   void set_pre_serialized_json(bool pre_serialized_json) {
     state_ = PreSerializedJSON::update(pre_serialized_json, state_);
   }
 
-  bool owns_label() const {
-    return OwnsLabelBit::decode(state_);
-  }
+  bool owns_label() const { return OwnsLabelBit::decode(state_); }
 
   enum StateBits {
     kEventTypeBit = 0,  // reserve 4 bits for type.
@@ -396,8 +365,8 @@
   };
 
   class EventTypeField : public BitField<uword, EventType, kEventTypeBit, 4> {};
-  class PreSerializedJSON :
-      public BitField<uword, bool, kPreSerializedJSON, 1> {};
+  class PreSerializedJSON
+      : public BitField<uword, bool, kPreSerializedJSON, 1> {};
   class OwnsLabelBit : public BitField<uword, bool, kOwnsLabelBit, 1> {};
 
   int64_t timestamp0_;
@@ -425,15 +394,11 @@
 
 #ifndef PRODUCT
 #define TIMELINE_FUNCTION_COMPILATION_DURATION(thread, name, function)         \
-  TimelineDurationScope tds(thread,                                            \
-                            Timeline::GetCompilerStream(),                     \
-                            name);                                             \
+  TimelineDurationScope tds(thread, Timeline::GetCompilerStream(), name);      \
   if (tds.enabled()) {                                                         \
     tds.SetNumArguments(1);                                                    \
-    tds.CopyArgument(                                                          \
-        0,                                                                     \
-        "function",                                                            \
-        function.ToLibNamePrefixedQualifiedCString());                         \
+    tds.CopyArgument(0, "function",                                            \
+                     function.ToLibNamePrefixedQualifiedCString());            \
   }
 
 #define TIMELINE_FUNCTION_GC_DURATION(thread, name)                            \
@@ -446,9 +411,7 @@
 // See |TimelineDurationScope| and |TimelineBeginEndScope|.
 class TimelineEventScope : public StackResource {
  public:
-  bool enabled() const {
-    return enabled_;
-  }
+  bool enabled() const { return enabled_; }
 
   void SetNumArguments(intptr_t length);
 
@@ -456,33 +419,21 @@
 
   void CopyArgument(intptr_t i, const char* name, const char* argument);
 
-  void FormatArgument(intptr_t i,
-                      const char* name,
-                      const char* fmt, ...)  PRINTF_ATTRIBUTE(4, 5);
+  void FormatArgument(intptr_t i, const char* name, const char* fmt, ...)
+      PRINTF_ATTRIBUTE(4, 5);
 
  protected:
-  TimelineEventScope(TimelineStream* stream,
-                     const char* label);
+  TimelineEventScope(TimelineStream* stream, const char* label);
 
-  TimelineEventScope(Thread* thread,
-                     TimelineStream* stream,
-                     const char* label);
+  TimelineEventScope(Thread* thread, TimelineStream* stream, const char* label);
 
-  bool ShouldEmitEvent() const {
-    return enabled_;
-  }
+  bool ShouldEmitEvent() const { return enabled_; }
 
-  void set_enabled(bool enabled) {
-    enabled_ = enabled;
-  }
+  void set_enabled(bool enabled) { enabled_ = enabled; }
 
-  const char* label() const {
-    return label_;
-  }
+  const char* label() const { return label_; }
 
-  TimelineStream* stream() const {
-    return stream_;
-  }
+  TimelineStream* stream() const { return stream_; }
 
   virtual ~TimelineEventScope();
 
@@ -504,8 +455,7 @@
 
 class TimelineDurationScope : public TimelineEventScope {
  public:
-  TimelineDurationScope(TimelineStream* stream,
-                        const char* label);
+  TimelineDurationScope(TimelineStream* stream, const char* label);
 
   TimelineDurationScope(Thread* thread,
                         TimelineStream* stream,
@@ -523,8 +473,7 @@
 
 class TimelineBeginEndScope : public TimelineEventScope {
  public:
-  TimelineBeginEndScope(TimelineStream* stream,
-                        const char* label);
+  TimelineBeginEndScope(TimelineStream* stream, const char* label);
 
   TimelineBeginEndScope(Thread* thread,
                         TimelineStream* stream,
@@ -548,28 +497,16 @@
   explicit TimelineEventBlock(intptr_t index);
   ~TimelineEventBlock();
 
-  TimelineEventBlock* next() const {
-    return next_;
-  }
-  void set_next(TimelineEventBlock* next) {
-    next_ = next;
-  }
+  TimelineEventBlock* next() const { return next_; }
+  void set_next(TimelineEventBlock* next) { next_ = next; }
 
-  intptr_t length() const {
-    return length_;
-  }
+  intptr_t length() const { return length_; }
 
-  intptr_t block_index() const {
-    return block_index_;
-  }
+  intptr_t block_index() const { return block_index_; }
 
-  bool IsEmpty() const {
-    return length_ == 0;
-  }
+  bool IsEmpty() const { return length_ == 0; }
 
-  bool IsFull() const {
-    return length_ == kBlockSize;
-  }
+  bool IsFull() const { return length_ == kBlockSize; }
 
   TimelineEvent* At(intptr_t index) {
     ASSERT(index >= 0);
@@ -595,14 +532,10 @@
   void Reset();
 
   // Only safe to access under the recorder's lock.
-  bool in_use() const {
-    return in_use_;
-  }
+  bool in_use() const { return in_use_; }
 
   // Only safe to access under the recorder's lock.
-  ThreadId thread_id() const {
-    return thread_id_;
-  }
+  ThreadId thread_id() const { return thread_id_; }
 
  protected:
   void PrintJSON(JSONStream* stream) const;
@@ -657,13 +590,9 @@
     return event->IsValid();
   }
 
-  int64_t time_origin_micros() const {
-    return time_origin_micros_;
-  }
+  int64_t time_origin_micros() const { return time_origin_micros_; }
 
-  int64_t time_extent_micros() const {
-    return time_extent_micros_;
-  }
+  int64_t time_extent_micros() const { return time_extent_micros_; }
 
  private:
   int64_t time_origin_micros_;
@@ -686,8 +615,7 @@
   }
 
   bool IncludeEvent(TimelineEvent* event) {
-    return event->IsValid() &&
-           (event->isolate_id() == isolate_id_);
+    return event->IsValid() && (event->isolate_id() == isolate_id_);
   }
 
  private:
@@ -782,9 +710,7 @@
       : TimelineEventFixedBufferRecorder(capacity) {}
   ~TimelineEventRingRecorder() {}
 
-  const char* name() const {
-    return "Ring";
-  }
+  const char* name() const { return "Ring"; }
 
  protected:
   TimelineEventBlock* GetNewBlockLocked();
@@ -794,16 +720,13 @@
 // A recorder that writes events to Android Systrace. Events are also stored in
 // a buffer of fixed capacity. When the buffer is full, new events overwrite
 // old events.
-class TimelineEventSystraceRecorder
-    : public TimelineEventFixedBufferRecorder {
+class TimelineEventSystraceRecorder : public TimelineEventFixedBufferRecorder {
  public:
   explicit TimelineEventSystraceRecorder(intptr_t capacity = kDefaultCapacity);
 
   ~TimelineEventSystraceRecorder();
 
-  const char* name() const {
-    return "Systrace";
-  }
+  const char* name() const { return "Systrace"; }
 
  protected:
   TimelineEventBlock* GetNewBlockLocked();
@@ -821,9 +744,7 @@
       : TimelineEventFixedBufferRecorder(capacity) {}
   ~TimelineEventStartupRecorder() {}
 
-  const char* name() const {
-    return "Startup";
-  }
+  const char* name() const { return "Startup"; }
 
  protected:
   TimelineEventBlock* GetNewBlockLocked();
@@ -844,19 +765,12 @@
   // |event| as it may be freed as soon as this function returns.
   virtual void OnEvent(TimelineEvent* event) = 0;
 
-  const char* name() const {
-    return "Callback";
-  }
+  const char* name() const { return "Callback"; }
 
  protected:
-  TimelineEventBlock* GetNewBlockLocked() {
-    return NULL;
-  }
-  TimelineEventBlock* GetHeadBlockLocked() {
-    return NULL;
-  }
-  void Clear() {
-  }
+  TimelineEventBlock* GetNewBlockLocked() { return NULL; }
+  TimelineEventBlock* GetHeadBlockLocked() { return NULL; }
+  void Clear() {}
   TimelineEvent* StartEvent();
   void CompleteEvent(TimelineEvent* event);
 };
@@ -872,9 +786,7 @@
   void PrintJSON(JSONStream* js, TimelineEventFilter* filter);
   void PrintTraceEvent(JSONStream* js, TimelineEventFilter* filter);
 
-  const char* name() const {
-    return "Endless";
-  }
+  const char* name() const { return "Endless"; }
 
  protected:
   TimelineEvent* StartEvent();
diff --git a/runtime/vm/timeline_analysis.cc b/runtime/vm/timeline_analysis.cc
index 5360d29..f4e7fd0 100644
--- a/runtime/vm/timeline_analysis.cc
+++ b/runtime/vm/timeline_analysis.cc
@@ -15,13 +15,10 @@
 DECLARE_FLAG(bool, trace_timeline_analysis);
 DECLARE_FLAG(bool, timing);
 
-TimelineAnalysisThread::TimelineAnalysisThread(ThreadId id)
-    : id_(id) {
-}
+TimelineAnalysisThread::TimelineAnalysisThread(ThreadId id) : id_(id) {}
 
 
-TimelineAnalysisThread::~TimelineAnalysisThread() {
-}
+TimelineAnalysisThread::~TimelineAnalysisThread() {}
 
 
 void TimelineAnalysisThread::AddBlock(TimelineEventBlock* block) {
@@ -43,8 +40,7 @@
   blocks_.Sort(CompareBlocksLowerTimeBound);
   if (FLAG_trace_timeline_analysis) {
     THR_Print("Thread %" Px " has %" Pd " blocks\n",
-              OSThread::ThreadIdToIntPtr(id_),
-              blocks_.length());
+              OSThread::ThreadIdToIntPtr(id_), blocks_.length());
   }
 }
 
@@ -120,8 +116,7 @@
 }
 
 
-TimelineAnalysis::~TimelineAnalysis() {
-}
+TimelineAnalysis::~TimelineAnalysis() {}
 
 
 void TimelineAnalysis::BuildThreads() {
@@ -166,11 +161,15 @@
     }
     if (!block->CheckBlock()) {
       if (FLAG_trace_timeline_analysis) {
-        THR_Print("DiscoverThreads block %" Pd " "
-                  "violates invariants.\n", block->block_index());
+        THR_Print("DiscoverThreads block %" Pd
+                  " "
+                  "violates invariants.\n",
+                  block->block_index());
       }
-      SetError("Block %" Pd " violates invariants. See "
-               "TimelineEventBlock::CheckBlock", block->block_index());
+      SetError("Block %" Pd
+               " violates invariants. See "
+               "TimelineEventBlock::CheckBlock",
+               block->block_index());
       return;
     }
     TimelineAnalysisThread* thread = GetOrAddThread(block->thread_id());
@@ -268,8 +267,7 @@
 TimelinePauses::TimelinePauses(Zone* zone,
                                Isolate* isolate,
                                TimelineEventRecorder* recorder)
-    : TimelineAnalysis(zone, isolate, recorder) {
-}
+    : TimelineAnalysis(zone, isolate, recorder) {}
 
 
 void TimelinePauses::Setup() {
@@ -376,8 +374,7 @@
   PopFinishedDurations(kMaxInt64);
   if (FLAG_trace_timeline_analysis) {
     THR_Print("<<< TimelinePauses::ProcessThread %" Px " had %" Pd " events\n",
-              OSThread::ThreadIdToIntPtr(thread->id()),
-              event_count);
+              OSThread::ThreadIdToIntPtr(thread->id()), event_count);
   }
 }
 
@@ -410,10 +407,8 @@
       // Top of stack completes before |start|.
       stack_.RemoveLast();
       if (FLAG_trace_timeline_analysis) {
-        THR_Print("Popping %s (%" Pd64 " <= %" Pd64 ")\n",
-                  top.event->label(),
-                  top.event->TimeEnd(),
-                  start);
+        THR_Print("Popping %s (%" Pd64 " <= %" Pd64 ")\n", top.event->label(),
+                  top.event->TimeEnd(), start);
       }
     } else {
       return;
@@ -440,26 +435,22 @@
   const int64_t duration = end - start;
   // Sanity checks.
   if (strcmp(top_label, label) != 0) {
-    SetError("PopBegin(%s, ...) called with %s at the top of stack",
-             label, top.event->label());
+    SetError("PopBegin(%s, ...) called with %s at the top of stack", label,
+             top.event->label());
     return;
   }
   if (!top_is_begin) {
-    SetError("kEnd event not paired with kBegin event for label %s",
-             label);
+    SetError("kEnd event not paired with kBegin event for label %s", label);
     return;
   }
   // Pop this event.
   // Add duration to exclusive micros.
   if (FLAG_trace_timeline_analysis) {
-    THR_Print("Popping %s (%" Pd64 ")\n",
-              top.event->label(),
-              duration);
+    THR_Print("Popping %s (%" Pd64 ")\n", top.event->label(), duration);
   }
   const int64_t exclusive_micros = top.exclusive_micros + duration;
   stack_.RemoveLast();
-  top.pause_info->OnBeginPop(duration,
-                             exclusive_micros,
+  top.pause_info->OnBeginPop(duration, exclusive_micros,
                              IsLabelOnStack(top_label));
   if (StackDepth() > 0) {
     StackItem& top = GetStackTop();
@@ -474,8 +465,7 @@
   ASSERT(pause_info != NULL);
   // |pause_info| will be running for |event->TimeDuration()|.
   if (FLAG_trace_timeline_analysis) {
-    THR_Print("Pushing %s %" Pd64 " us\n",
-              pause_info->name(),
+    THR_Print("Pushing %s %" Pd64 " us\n", pause_info->name(),
               event->TimeDuration());
   }
   if (event->IsDuration()) {
@@ -541,12 +531,10 @@
 }
 
 
-TimelinePauseTrace::TimelinePauseTrace() {
-}
+TimelinePauseTrace::TimelinePauseTrace() {}
 
 
-TimelinePauseTrace::~TimelinePauseTrace() {
-}
+TimelinePauseTrace::~TimelinePauseTrace() {}
 
 
 void TimelinePauseTrace::Print() {
@@ -561,16 +549,14 @@
   TimelinePauses pauses(zone, isolate, recorder);
   pauses.Setup();
 
-  THR_Print("Timing for isolate %s (from %" Pd " threads)\n",
-            isolate->name(),
+  THR_Print("Timing for isolate %s (from %" Pd " threads)\n", isolate->name(),
             pauses.NumThreads());
   THR_Print("\n");
   for (intptr_t t_idx = 0; t_idx < pauses.NumThreads(); t_idx++) {
     TimelineAnalysisThread* tat = pauses.At(t_idx);
     ASSERT(tat != NULL);
     pauses.CalculatePauseTimesForThread(tat->id());
-    THR_Print("Thread %" Pd " (%" Px "):\n",
-              t_idx,
+    THR_Print("Thread %" Pd " (%" Px "):\n", t_idx,
               OSThread::ThreadIdToIntPtr(tat->id()));
     for (intptr_t j = 0; j < pauses.NumPauseInfos(); j++) {
       const TimelineLabelPauseInfo* pause_info = pauses.PauseInfoAt(j);
diff --git a/runtime/vm/timeline_analysis.h b/runtime/vm/timeline_analysis.h
index 2e457c9..ca1424b 100644
--- a/runtime/vm/timeline_analysis.h
+++ b/runtime/vm/timeline_analysis.h
@@ -15,17 +15,11 @@
   explicit TimelineAnalysisThread(ThreadId id);
   ~TimelineAnalysisThread();
 
-  ThreadId id() const {
-    return id_;
-  }
+  ThreadId id() const { return id_; }
 
-  intptr_t NumBlocks() const {
-    return blocks_.length();
-  }
+  intptr_t NumBlocks() const { return blocks_.length(); }
 
-  TimelineEventBlock* At(intptr_t i) const {
-    return blocks_.At(i);
-  }
+  TimelineEventBlock* At(intptr_t i) const { return blocks_.At(i); }
 
  private:
   void AddBlock(TimelineEventBlock* block);
@@ -69,23 +63,15 @@
 
   void BuildThreads();
 
-  intptr_t NumThreads() const {
-    return threads_.length();
-  }
+  intptr_t NumThreads() const { return threads_.length(); }
 
-  TimelineAnalysisThread* At(intptr_t i) const {
-    return threads_[i];
-  }
+  TimelineAnalysisThread* At(intptr_t i) const { return threads_[i]; }
 
   TimelineAnalysisThread* GetThread(ThreadId tid);
 
-  bool has_error() const {
-    return has_error_;
-  }
+  bool has_error() const { return has_error_; }
 
-  const char* error_msg() const {
-    return error_msg_;
-  }
+  const char* error_msg() const { return error_msg_; }
 
  protected:
   TimelineAnalysisThread* GetOrAddThread(ThreadId tid);
@@ -109,25 +95,15 @@
  public:
   explicit TimelineLabelPauseInfo(const char* name);
 
-  const char* name() const {
-    return name_;
-  }
+  const char* name() const { return name_; }
 
-  int64_t inclusive_micros() const {
-    return inclusive_micros_;
-  }
+  int64_t inclusive_micros() const { return inclusive_micros_; }
 
-  int64_t exclusive_micros() const {
-    return exclusive_micros_;
-  }
+  int64_t exclusive_micros() const { return exclusive_micros_; }
 
-  int64_t max_inclusive_micros() const {
-    return max_inclusive_micros_;
-  }
+  int64_t max_inclusive_micros() const { return max_inclusive_micros_; }
 
-  int64_t max_exclusive_micros() const {
-    return max_exclusive_micros_;
-  }
+  int64_t max_exclusive_micros() const { return max_exclusive_micros_; }
 
  private:
   // Adjusts |inclusive_micros_| and |exclusive_micros_| by |micros|.
@@ -174,9 +150,7 @@
 
 class TimelinePauses : public TimelineAnalysis {
  public:
-  TimelinePauses(Zone* zone,
-                 Isolate* isolate,
-                 TimelineEventRecorder* recorder);
+  TimelinePauses(Zone* zone, Isolate* isolate, TimelineEventRecorder* recorder);
 
   void Setup();
 
@@ -189,9 +163,7 @@
   int64_t MaxInclusiveTime(const char* name) const;
   int64_t MaxExclusiveTime(const char* name) const;
 
-  intptr_t NumPauseInfos() const {
-    return labels_.length();
-  }
+  intptr_t NumPauseInfos() const { return labels_.length(); }
 
   const TimelineLabelPauseInfo* PauseInfoAt(intptr_t i) const {
     return labels_.At(i);
diff --git a/runtime/vm/timeline_test.cc b/runtime/vm/timeline_test.cc
index e7f0e7a..2266898 100644
--- a/runtime/vm/timeline_test.cc
+++ b/runtime/vm/timeline_test.cc
@@ -24,9 +24,7 @@
     Timeline::recorder_ = new_recorder;
   }
 
-  ~TimelineRecorderOverride() {
-    Timeline::recorder_ = recorder_;
-  }
+  ~TimelineRecorderOverride() { Timeline::recorder_ = recorder_; }
 
  private:
   TimelineEventRecorder* recorder_;
@@ -39,11 +37,10 @@
     event->StreamInit(stream);
   }
 
-  static void FakeThreadEvent(
-      TimelineEventBlock* block,
-      intptr_t ftid,
-      const char* label = "fake",
-      TimelineStream* stream = NULL) {
+  static void FakeThreadEvent(TimelineEventBlock* block,
+                              intptr_t ftid,
+                              const char* label = "fake",
+                              TimelineStream* stream = NULL) {
     TimelineEvent* event = block->StartEvent();
     ASSERT(event != NULL);
     event->DurationBegin(label);
@@ -53,16 +50,14 @@
     }
   }
 
-  static void SetBlockThread(TimelineEventBlock* block,
-                             intptr_t ftid) {
+  static void SetBlockThread(TimelineEventBlock* block, intptr_t ftid) {
     block->thread_id_ = OSThread::ThreadIdFromIntPtr(ftid);
   }
 
-  static void FakeDuration(
-      TimelineEventRecorder* recorder,
-      const char* label,
-      int64_t start,
-      int64_t end) {
+  static void FakeDuration(TimelineEventRecorder* recorder,
+                           const char* label,
+                           int64_t start,
+                           int64_t end) {
     ASSERT(recorder != NULL);
     ASSERT(start < end);
     ASSERT(label != NULL);
@@ -72,10 +67,9 @@
     event->Complete();
   }
 
-  static void FakeBegin(
-      TimelineEventRecorder* recorder,
-      const char* label,
-      int64_t start) {
+  static void FakeBegin(TimelineEventRecorder* recorder,
+                        const char* label,
+                        int64_t start) {
     ASSERT(recorder != NULL);
     ASSERT(label != NULL);
     ASSERT(start >= 0);
@@ -85,10 +79,9 @@
     event->Complete();
   }
 
-  static void FakeEnd(
-      TimelineEventRecorder* recorder,
-      const char* label,
-      int64_t end) {
+  static void FakeEnd(TimelineEventRecorder* recorder,
+                      const char* label,
+                      int64_t end) {
     ASSERT(recorder != NULL);
     ASSERT(label != NULL);
     ASSERT(end >= 0);
@@ -103,9 +96,7 @@
     recorder->Clear();
   }
 
-  static void FinishBlock(TimelineEventBlock* block) {
-    block->Finish();
-  }
+  static void FinishBlock(TimelineEventBlock* block) { block->Finish(); }
 };
 
 
@@ -289,13 +280,9 @@
     }
   }
 
-  void OnEvent(TimelineEvent* event) {
-    counts_[event->event_type()]++;
-  }
+  void OnEvent(TimelineEvent* event) { counts_[event->event_type()]++; }
 
-  intptr_t CountFor(TimelineEvent::EventType type) {
-    return counts_[type];
-  }
+  intptr_t CountFor(TimelineEvent::EventType type) { return counts_[type]; }
 
  private:
   intptr_t counts_[TimelineEvent::kNumEventTypes];
@@ -307,8 +294,7 @@
   TimelineRecorderOverride override(recorder);
 
   // Initial counts are all zero.
-  for (intptr_t i = TimelineEvent::kNone + 1;
-       i < TimelineEvent::kNumEventTypes;
+  for (intptr_t i = TimelineEvent::kNone + 1; i < TimelineEvent::kNumEventTypes;
        i++) {
     EXPECT_EQ(0, recorder->CountFor(static_cast<TimelineEvent::EventType>(i)));
   }
diff --git a/runtime/vm/timer.cc b/runtime/vm/timer.cc
index 5b76b48..94835e9 100644
--- a/runtime/vm/timer.cc
+++ b/runtime/vm/timer.cc
@@ -6,8 +6,4 @@
 #include "vm/timer.h"
 #include "vm/json_stream.h"
 
-namespace dart {
-
-
-
-}  // namespace dart
+namespace dart {}  // namespace dart
diff --git a/runtime/vm/timer.h b/runtime/vm/timer.h
index 7d32522..1cf28c9 100644
--- a/runtime/vm/timer.h
+++ b/runtime/vm/timer.h
@@ -16,8 +16,7 @@
 // Timer class allows timing of specific operations in the VM.
 class Timer : public ValueObject {
  public:
-  Timer(bool report, const char* message)
-      : report_(report), message_(message) {
+  Timer(bool report, const char* message) : report_(report), message_(message) {
     Reset();
   }
   ~Timer() {}
@@ -69,7 +68,7 @@
 
   bool IsReset() const {
     return (start_ == 0) && (stop_ == 0) && (total_ == 0) &&
-        (max_contiguous_ == 0) && !running_;
+           (max_contiguous_ == 0) && !running_;
   }
 
   void AddTotal(const Timer& other) {
@@ -111,9 +110,7 @@
 class TimerScope : public StackResource {
  public:
   TimerScope(bool flag, Timer* timer, Thread* thread = NULL)
-      : StackResource(thread),
-        nested_(false),
-        timer_(flag ? timer : NULL) {
+      : StackResource(thread), nested_(false), timer_(flag ? timer : NULL) {
     Init();
   }
 
@@ -146,9 +143,7 @@
 class PauseTimerScope : public StackResource {
  public:
   PauseTimerScope(bool flag, Timer* timer, Thread* thread = NULL)
-      : StackResource(thread),
-        nested_(false),
-        timer_(flag ? timer : NULL) {
+      : StackResource(thread), nested_(false), timer_(flag ? timer : NULL) {
     if (timer_) {
       if (timer_->running()) {
         timer_->Stop();
@@ -174,7 +169,6 @@
 };
 
 
-
 }  // namespace dart
 
 #endif  // RUNTIME_VM_TIMER_H_
diff --git a/runtime/vm/token.cc b/runtime/vm/token.cc
index b6a34ce..5109177 100644
--- a/runtime/vm/token.cc
+++ b/runtime/vm/token.cc
@@ -9,31 +9,23 @@
 namespace dart {
 
 #define TOKEN_NAME(t, s, p, a) #t,
-const char* Token::name_[] = {
-  DART_TOKEN_LIST(TOKEN_NAME)
-  DART_KEYWORD_LIST(TOKEN_NAME)
-};
+const char* Token::name_[] = {DART_TOKEN_LIST(TOKEN_NAME)
+                                  DART_KEYWORD_LIST(TOKEN_NAME)};
 #undef TOKEN_NAME
 
 #define TOKEN_STRING(t, s, p, a) s,
-const char* Token::tok_str_[] = {
-  DART_TOKEN_LIST(TOKEN_STRING)
-  DART_KEYWORD_LIST(TOKEN_STRING)
-};
+const char* Token::tok_str_[] = {DART_TOKEN_LIST(TOKEN_STRING)
+                                     DART_KEYWORD_LIST(TOKEN_STRING)};
 #undef TOKEN_STRING
 
 #define TOKEN_PRECEDENCE(t, s, p, a) p,
-const uint8_t Token::precedence_[] = {
-  DART_TOKEN_LIST(TOKEN_PRECEDENCE)
-  DART_KEYWORD_LIST(TOKEN_PRECEDENCE)
-};
+const uint8_t Token::precedence_[] = {DART_TOKEN_LIST(TOKEN_PRECEDENCE)
+                                          DART_KEYWORD_LIST(TOKEN_PRECEDENCE)};
 #undef TOKEN_PRECEDENCE
 
 #define TOKEN_ATTRIBUTE(t, s, p, a) a,
-  const Token::Attribute Token::attributes_[] = {
-    DART_TOKEN_LIST(TOKEN_ATTRIBUTE)
-    DART_KEYWORD_LIST(TOKEN_ATTRIBUTE)
-  };
+const Token::Attribute Token::attributes_[] = {
+    DART_TOKEN_LIST(TOKEN_ATTRIBUTE) DART_KEYWORD_LIST(TOKEN_ATTRIBUTE)};
 #undef TOKEN_ATTRIBUTE
 
 
@@ -77,4 +69,18 @@
   return (token == kBIT_NOT) || (token == kNEGATE);
 }
 
+
+bool Token::IsBinaryBitwiseOperator(Token::Kind token) {
+  switch (token) {
+    case Token::kBIT_OR:
+    case Token::kBIT_XOR:
+    case Token::kBIT_AND:
+    case Token::kSHL:
+    case Token::kSHR:
+      return true;
+    default:
+      return false;
+  }
+}
+
 }  // namespace dart
diff --git a/runtime/vm/token.h b/runtime/vm/token.h
index 0f5ff54..3d2e821 100644
--- a/runtime/vm/token.h
+++ b/runtime/vm/token.h
@@ -42,12 +42,12 @@
   TOK(kLBRACE, "{", 0, kNoAttribute)                                           \
   TOK(kRBRACE, "}", 0, kNoAttribute)                                           \
   TOK(kARROW, "=>", 0, kNoAttribute)                                           \
-  TOK(kCOLON,  ":", 0, kNoAttribute)                                           \
+  TOK(kCOLON, ":", 0, kNoAttribute)                                            \
   TOK(kSEMICOLON, ";", 0, kNoAttribute)                                        \
   TOK(kPERIOD, ".", 0, kNoAttribute)                                           \
   TOK(kQM_PERIOD, "?.", 0, kNoAttribute)                                       \
-  TOK(kINCR,   "++", 0, kNoAttribute)                                          \
-  TOK(kDECR,   "--", 0, kNoAttribute)                                          \
+  TOK(kINCR, "++", 0, kNoAttribute)                                            \
+  TOK(kDECR, "--", 0, kNoAttribute)                                            \
                                                                                \
   /* Assignment operators.                            */                       \
   /* Please update IsAssignmentOperator() if you make */                       \
@@ -139,7 +139,7 @@
   TOK(kSCRIPTTAG, "#!", 0, kNoAttribute)                                       \
                                                                                \
   /* Support for optimized code */                                             \
-  TOK(kREM, "", 0, kNoAttribute)                                               \
+  TOK(kREM, "", 0, kNoAttribute)
 
 // List of keywords. The list must be alphabetically ordered. The
 // keyword recognition code depends on the ordering.
@@ -199,17 +199,13 @@
 class Token {
  public:
 #define T(t, s, p, a) t,
-  enum Kind {
-    DART_TOKEN_LIST(T)
-    DART_KEYWORD_LIST(T)
-    kNumTokens
-  };
+  enum Kind { DART_TOKEN_LIST(T) DART_KEYWORD_LIST(T) kNumTokens };
 #undef T
 
   enum Attribute {
-    kNoAttribute     = 0,
-    kKeyword         = 1 << 0,
-    kPseudoKeyword   = 1 << 1,
+    kNoAttribute = 0,
+    kKeyword = 1 << 0,
+    kPseudoKeyword = 1 << 1,
   };
 
   static const Kind kFirstKeyword = kABSTRACT;
@@ -236,9 +232,7 @@
     return (tok == kIS) || (tok == kISNOT);
   }
 
-  static bool IsTypeCastOperator(Kind tok) {
-    return tok == kAS;
-  }
+  static bool IsTypeCastOperator(Kind tok) { return tok == kAS; }
 
   static bool IsIndexOperator(Kind tok) {
     return tok == kINDEX || tok == kASSIGN_INDEX;
@@ -248,9 +242,7 @@
     return (Attributes(tok) & kPseudoKeyword) != 0;
   }
 
-  static bool IsKeyword(Kind tok) {
-    return (Attributes(tok) & kKeyword) != 0;
-  }
+  static bool IsKeyword(Kind tok) { return (Attributes(tok) & kKeyword) != 0; }
 
   static bool IsIdentifier(Kind tok) {
     return (tok == kIDENT) || IsPseudoKeyword(tok);
@@ -278,20 +270,16 @@
 
   static bool CanBeOverloaded(Kind tok) {
     ASSERT(tok < kNumTokens);
-    return IsRelationalOperator(tok) ||
-           (tok == kEQ) ||
-           (tok >= kADD && tok <= kMOD) ||  // Arithmetic operations.
+    return IsRelationalOperator(tok) || (tok == kEQ) ||
+           (tok >= kADD && tok <= kMOD) ||     // Arithmetic operations.
            (tok >= kBIT_OR && tok <= kSHR) ||  // Bit operations.
-           (tok == kINDEX) ||
-           (tok == kASSIGN_INDEX);
+           (tok == kINDEX) || (tok == kASSIGN_INDEX);
   }
 
   static bool NeedsLiteralToken(Kind tok) {
     ASSERT(tok < kNumTokens);
-    return ((tok == Token::kINTEGER) ||
-            (tok == Token::kSTRING) ||
-            (tok == Token::kINTERPOL_VAR) ||
-            (tok == Token::kERROR) ||
+    return ((tok == Token::kINTEGER) || (tok == Token::kSTRING) ||
+            (tok == Token::kINTERPOL_VAR) || (tok == Token::kERROR) ||
             (tok == Token::kDOUBLE));
   }
 
@@ -301,20 +289,32 @@
   static bool IsBinaryArithmeticOperator(Token::Kind token);
   static bool IsUnaryArithmeticOperator(Token::Kind token);
 
+  static bool IsBinaryBitwiseOperator(Token::Kind token);
+
   // For a comparison operation return an operation for the negated comparison:
   // !(a (op) b) === a (op') b
   static Token::Kind NegateComparison(Token::Kind op) {
     switch (op) {
-      case Token::kEQ: return Token::kNE;
-      case Token::kNE: return Token::kEQ;
-      case Token::kLT: return Token::kGTE;
-      case Token::kGT: return Token::kLTE;
-      case Token::kLTE: return Token::kGT;
-      case Token::kGTE: return Token::kLT;
-      case Token::kEQ_STRICT: return Token::kNE_STRICT;
-      case Token::kNE_STRICT: return Token::kEQ_STRICT;
-      case Token::kIS:    return Token::kISNOT;
-      case Token::kISNOT: return Token::kIS;
+      case Token::kEQ:
+        return Token::kNE;
+      case Token::kNE:
+        return Token::kEQ;
+      case Token::kLT:
+        return Token::kGTE;
+      case Token::kGT:
+        return Token::kLTE;
+      case Token::kLTE:
+        return Token::kGT;
+      case Token::kGTE:
+        return Token::kLT;
+      case Token::kEQ_STRICT:
+        return Token::kNE_STRICT;
+      case Token::kNE_STRICT:
+        return Token::kEQ_STRICT;
+      case Token::kIS:
+        return Token::kISNOT;
+      case Token::kISNOT:
+        return Token::kIS;
       default:
         UNREACHABLE();
         return Token::kILLEGAL;
diff --git a/runtime/vm/token_position.cc b/runtime/vm/token_position.cc
index a6490cd..cfda6af 100644
--- a/runtime/vm/token_position.cc
+++ b/runtime/vm/token_position.cc
@@ -31,20 +31,19 @@
 
 
 #define DEFINE_VALUES(name, value)                                             \
-const TokenPosition TokenPosition::k##name = TokenPosition(value);
-  SENTINEL_TOKEN_DESCRIPTORS(DEFINE_VALUES);
+  const TokenPosition TokenPosition::k##name = TokenPosition(value);
+SENTINEL_TOKEN_DESCRIPTORS(DEFINE_VALUES);
 #undef DEFINE_VALUES
-const TokenPosition TokenPosition::kMinSource =
-    TokenPosition(kMinSourcePos);
+const TokenPosition TokenPosition::kMinSource = TokenPosition(kMinSourcePos);
 
-const TokenPosition TokenPosition::kMaxSource =
-    TokenPosition(kMaxSourcePos);
+const TokenPosition TokenPosition::kMaxSource = TokenPosition(kMaxSourcePos);
 
 
 const char* TokenPosition::ToCString() const {
   switch (value_) {
 #define DEFINE_CASE(name, value)                                               \
-    case value: return #name;
+  case value:                                                                  \
+    return #name;
     SENTINEL_TOKEN_DESCRIPTORS(DEFINE_CASE);
 #undef DEFINE_CASE
     default: {
diff --git a/runtime/vm/token_position.h b/runtime/vm/token_position.h
index dc7c5a0e..b0a2062 100644
--- a/runtime/vm/token_position.h
+++ b/runtime/vm/token_position.h
@@ -29,41 +29,33 @@
 // This organization allows for ~1 billion token positions.
 
 #define SENTINEL_TOKEN_DESCRIPTORS(V)                                          \
-    V(NoSource, -1)                                                            \
-    V(Box, -2)                                                                 \
-    V(ParallelMove, -3)                                                        \
-    V(TempMove, -4)                                                            \
-    V(Constant, -5)                                                            \
-    V(PushArgument, -6)                                                        \
-    V(ControlFlow, -7)                                                         \
-    V(Context, -8)                                                             \
-    V(MethodExtractor, -9)                                                     \
-    V(DeferredSlowPath, -10)                                                   \
-    V(DeferredDeoptInfo, -11)                                                  \
-    V(DartCodePrologue, -12)                                                   \
-    V(DartCodeEpilogue, -13)                                                   \
-    V(Last, -14)   // Always keep this at the end.
+  V(NoSource, -1)                                                              \
+  V(Box, -2)                                                                   \
+  V(ParallelMove, -3)                                                          \
+  V(TempMove, -4)                                                              \
+  V(Constant, -5)                                                              \
+  V(PushArgument, -6)                                                          \
+  V(ControlFlow, -7)                                                           \
+  V(Context, -8)                                                               \
+  V(MethodExtractor, -9)                                                       \
+  V(DeferredSlowPath, -10)                                                     \
+  V(DeferredDeoptInfo, -11)                                                    \
+  V(DartCodePrologue, -12)                                                     \
+  V(DartCodeEpilogue, -13)                                                     \
+  V(Last, -14)  // Always keep this at the end.
 
 // A token position representing a debug safe source (real) position,
 // non-debug safe source (synthetic) positions, or a classifying value used
 // by the profiler.
 class TokenPosition {
  public:
-  TokenPosition()
-      : value_(kNoSource.value()) {
-  }
+  TokenPosition() : value_(kNoSource.value()) {}
 
-  explicit TokenPosition(intptr_t value)
-      : value_(value) {
-  }
+  explicit TokenPosition(intptr_t value) : value_(value) {}
 
-  bool operator==(const TokenPosition& b) const {
-    return value() == b.value();
-  }
+  bool operator==(const TokenPosition& b) const { return value() == b.value(); }
 
-  bool operator!=(const TokenPosition& b) const {
-    return !(*this == b);
-  }
+  bool operator!=(const TokenPosition& b) const { return !(*this == b); }
 
   bool operator<(const TokenPosition& b) const {
     // TODO(johnmccutchan): Assert that this is a source position.
@@ -87,8 +79,7 @@
 
   static const intptr_t kMaxSentinelDescriptors = 64;
 
-#define DECLARE_VALUES(name, value)                                            \
-  static const TokenPosition k##name;
+#define DECLARE_VALUES(name, value) static const TokenPosition k##name;
   SENTINEL_TOKEN_DESCRIPTORS(DECLARE_VALUES);
 #undef DECLARE_VALUES
   static const TokenPosition kMinSource;
@@ -109,9 +100,7 @@
 
   // The raw value.
   // TODO(johnmccutchan): Make this private.
-  intptr_t value() const {
-    return value_;
-  }
+  intptr_t value() const { return value_; }
 
   // Return the source position.
   intptr_t Pos() const {
@@ -134,9 +123,7 @@
   }
 
   // Is |this| the no source position sentinel?
-  bool IsNoSource() const {
-    return *this == kNoSource;
-  }
+  bool IsNoSource() const { return *this == kNoSource; }
 
   // Is |this| a synthetic source position?
   // Synthetic source positions are used by the profiler to attribute ticks to a
@@ -144,9 +131,7 @@
   bool IsSynthetic() const;
 
   // Is |this| a real source position?
-  bool IsReal() const {
-    return value_ >= kMinSourcePos;
-  }
+  bool IsReal() const { return value_ >= kMinSourcePos; }
 
   // Is |this| a source position?
   bool IsSourcePosition() const {
diff --git a/runtime/vm/type_table.h b/runtime/vm/type_table.h
index 6e3818c..6541d20 100644
--- a/runtime/vm/type_table.h
+++ b/runtime/vm/type_table.h
@@ -13,14 +13,9 @@
 
 class CanonicalTypeKey {
  public:
-  explicit CanonicalTypeKey(const Type& key) : key_(key) {
-  }
-  bool Matches(const Type& arg) const {
-    return key_.Equals(arg);
-  }
-  uword Hash() const {
-    return key_.Hash();
-  }
+  explicit CanonicalTypeKey(const Type& key) : key_(key) {}
+  bool Matches(const Type& arg) const { return key_.Equals(arg); }
+  uword Hash() const { return key_.Hash(); }
   const Type& key_;
 
  private:
@@ -49,26 +44,21 @@
     ASSERT(key.IsType());
     return Type::Cast(key).Hash();
   }
-  static uword Hash(const CanonicalTypeKey& key) {
-    return key.Hash();
-  }
+  static uword Hash(const CanonicalTypeKey& key) { return key.Hash(); }
   static RawObject* NewKey(const CanonicalTypeKey& obj) {
     return obj.key_.raw();
   }
 };
-typedef UnorderedHashSet <CanonicalTypeTraits> CanonicalTypeSet;
+typedef UnorderedHashSet<CanonicalTypeTraits> CanonicalTypeSet;
 
 
 class CanonicalTypeArgumentsKey {
  public:
-  explicit CanonicalTypeArgumentsKey(const TypeArguments& key) : key_(key) {
-  }
+  explicit CanonicalTypeArgumentsKey(const TypeArguments& key) : key_(key) {}
   bool Matches(const TypeArguments& arg) const {
     return key_.Equals(arg) && (key_.Hash() == arg.Hash());
   }
-  uword Hash() const {
-    return key_.Hash();
-  }
+  uword Hash() const { return key_.Hash(); }
   const TypeArguments& key_;
 
  private:
@@ -97,9 +87,7 @@
     ASSERT(key.IsTypeArguments());
     return TypeArguments::Cast(key).Hash();
   }
-  static uword Hash(const CanonicalTypeArgumentsKey& key) {
-    return key.Hash();
-  }
+  static uword Hash(const CanonicalTypeArgumentsKey& key) { return key.Hash(); }
   static RawObject* NewKey(const CanonicalTypeArgumentsKey& obj) {
     return obj.key_.raw();
   }
diff --git a/runtime/vm/unibrow-inl.h b/runtime/vm/unibrow-inl.h
index 47ef64d..ab6f5d5 100644
--- a/runtime/vm/unibrow-inl.h
+++ b/runtime/vm/unibrow-inl.h
@@ -11,8 +11,8 @@
 
 namespace unibrow {
 
-template <class T, intptr_t s> intptr_t Mapping<T, s>::get(
-    int32_t c, int32_t n, int32_t* result) {
+template <class T, intptr_t s>
+intptr_t Mapping<T, s>::get(int32_t c, int32_t n, int32_t* result) {
   CacheEntry entry = entries_[c & kMask];
   if (entry.code_point_ == c) {
     if (entry.offset_ == 0) {
@@ -26,8 +26,8 @@
   }
 }
 
-template <class T, intptr_t s> intptr_t Mapping<T, s>::CalculateValue(
-    int32_t c, int32_t n, int32_t* result) {
+template <class T, intptr_t s>
+intptr_t Mapping<T, s>::CalculateValue(int32_t c, int32_t n, int32_t* result) {
   bool allow_caching = true;
   intptr_t length = T::Convert(c, n, result, &allow_caching);
   if (allow_caching) {
diff --git a/runtime/vm/unibrow.cc b/runtime/vm/unibrow.cc
index 7f590d4..e39a6d3 100644
--- a/runtime/vm/unibrow.cc
+++ b/runtime/vm/unibrow.cc
@@ -188,7 +188,7 @@
 
 
 // Letter:               point.category in ['Lu', 'Ll', 'Lt', 'Lm', 'Lo', 'Nl']
-
+// clang-format off
 static const uint16_t kLetterTable0Size = 431;
 static const int32_t kLetterTable0[431] = {
     1073741889, 90,         1073741921, 122,
@@ -1823,34 +1823,29 @@
 static const uint16_t kCanonicalizationRangeTable7Size = 4;  // NOLINT
 static const int32_t kCanonicalizationRangeTable7[8] = {
   1073749793, 100, 7994, 0, 1073749825, 100, 8026, 0 };  // NOLINT
+
+// clang-format on
+
 intptr_t CanonicalizationRange::Convert(int32_t c,
-                      int32_t n,
-                      int32_t* result,
-                      bool* allow_caching_ptr) {
+                                        int32_t n,
+                                        int32_t* result,
+                                        bool* allow_caching_ptr) {
   intptr_t chunk_index = c >> 13;
   switch (chunk_index) {
-    case 0: return LookupMapping<false>(kCanonicalizationRangeTable0,
-                                           kCanonicalizationRangeTable0Size,
-                                           kCanonicalizationRangeMultiStrings0,
-                                           c,
-                                           n,
-                                           result,
-                                           allow_caching_ptr);
-    case 1: return LookupMapping<false>(kCanonicalizationRangeTable1,
-                                           kCanonicalizationRangeTable1Size,
-                                           kCanonicalizationRangeMultiStrings1,
-                                           c,
-                                           n,
-                                           result,
-                                           allow_caching_ptr);
-    case 7: return LookupMapping<false>(kCanonicalizationRangeTable7,
-                                           kCanonicalizationRangeTable7Size,
-                                           kCanonicalizationRangeMultiStrings7,
-                                           c,
-                                           n,
-                                           result,
-                                           allow_caching_ptr);
-    default: return 0;
+    case 0:
+      return LookupMapping<false>(
+          kCanonicalizationRangeTable0, kCanonicalizationRangeTable0Size,
+          kCanonicalizationRangeMultiStrings0, c, n, result, allow_caching_ptr);
+    case 1:
+      return LookupMapping<false>(
+          kCanonicalizationRangeTable1, kCanonicalizationRangeTable1Size,
+          kCanonicalizationRangeMultiStrings1, c, n, result, allow_caching_ptr);
+    case 7:
+      return LookupMapping<false>(
+          kCanonicalizationRangeTable7, kCanonicalizationRangeTable7Size,
+          kCanonicalizationRangeMultiStrings7, c, n, result, allow_caching_ptr);
+    default:
+      return 0;
   }
 }
 
diff --git a/runtime/vm/unibrow.h b/runtime/vm/unibrow.h
index f4ac7b5..565a9a8 100644
--- a/runtime/vm/unibrow.h
+++ b/runtime/vm/unibrow.h
@@ -23,16 +23,16 @@
 template <class T, intptr_t size = 256>
 class Mapping {
  public:
-  inline Mapping() { }
+  inline Mapping() {}
   inline intptr_t get(int32_t c, int32_t n, int32_t* result);
+
  private:
   friend class Test;
   intptr_t CalculateValue(int32_t c, int32_t n, int32_t* result);
   struct CacheEntry {
-    inline CacheEntry() : code_point_(kNoChar), offset_(0) { }
+    inline CacheEntry() : code_point_(kNoChar), offset_(0) {}
     inline CacheEntry(int32_t code_point, signed offset)
-      : code_point_(code_point),
-        offset_(offset) { }
+        : code_point_(code_point), offset_(offset) {}
     int32_t code_point_;
     signed offset_;
     static const intptr_t kNoChar = (1 << 21) - 1;
diff --git a/runtime/vm/unicode.cc b/runtime/vm/unicode.cc
index 8e1649e..f271574 100644
--- a/runtime/vm/unicode.cc
+++ b/runtime/vm/unicode.cc
@@ -10,6 +10,7 @@
 
 namespace dart {
 
+// clang-format off
 const int8_t Utf8::kTrailBytes[256] = {
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -28,29 +29,17 @@
   3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
   4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 0, 0
 };
+// clang-format on
 
-
-const uint32_t Utf8::kMagicBits[7] = {
-  0,  // Padding.
-  0x00000000,
-  0x00003080,
-  0x000E2080,
-  0x03C82080,
-  0xFA082080,
-  0x82082080
-};
+const uint32_t Utf8::kMagicBits[7] = {0,  // Padding.
+                                      0x00000000, 0x00003080, 0x000E2080,
+                                      0x03C82080, 0xFA082080, 0x82082080};
 
 
 // Minimum values of code points used to check shortest form.
-const uint32_t Utf8::kOverlongMinimum[7] = {
-  0,  // Padding.
-  0x0,
-  0x80,
-  0x800,
-  0x10000,
-  0xFFFFFFFF,
-  0xFFFFFFFF
-};
+const uint32_t Utf8::kOverlongMinimum[7] = {0,  // Padding.
+                                            0x0,     0x80,       0x800,
+                                            0x10000, 0xFFFFFFFF, 0xFFFFFFFF};
 
 
 // Returns the most restricted coding form in which the sequence of utf8
@@ -65,7 +54,7 @@
     uint8_t code_unit = utf8_array[i];
     if (!IsTrailByte(code_unit)) {
       ++len;
-      if (!IsLatin1SequenceStart(code_unit)) {  // > U+00FF
+      if (!IsLatin1SequenceStart(code_unit)) {          // > U+00FF
         if (IsSupplementarySequenceStart(code_unit)) {  // >= U+10000
           char_type = kSupplementary;
           ++len;
@@ -99,10 +88,8 @@
         }
       }
       ch -= kMagicBits[num_trail_bytes];
-      if (!((is_malformed == false) &&
-            (j == num_trail_bytes) &&
-            !Utf::IsOutOfRange(ch) &&
-            !IsNonShortestForm(ch, j))) {
+      if (!((is_malformed == false) && (j == num_trail_bytes) &&
+            !Utf::IsOutOfRange(ch) && !IsNonShortestForm(ch, j))) {
         return false;
       }
     }
@@ -197,10 +184,8 @@
       }
     }
     ch -= kMagicBits[num_trail_bytes];
-    if (!((is_malformed == false) &&
-          (i == num_trail_bytes) &&
-          !Utf::IsOutOfRange(ch) &&
-          !IsNonShortestForm(ch, i))) {
+    if (!((is_malformed == false) && (i == num_trail_bytes) &&
+          !Utf::IsOutOfRange(ch) && !IsNonShortestForm(ch, i))) {
       *dst = -1;
       return 0;
     }
diff --git a/runtime/vm/unicode.h b/runtime/vm/unicode.h
index 6acf84f..5116863 100644
--- a/runtime/vm/unicode.h
+++ b/runtime/vm/unicode.h
@@ -38,8 +38,8 @@
 class Utf8 : AllStatic {
  public:
   enum Type {
-    kLatin1 = 0,  // Latin-1 code point [U+0000, U+00FF].
-    kBMP,  // Basic Multilingual Plane code point [U+0000, U+FFFF].
+    kLatin1 = 0,     // Latin-1 code point [U+0000, U+00FF].
+    kBMP,            // Basic Multilingual Plane code point [U+0000, U+FFFF].
     kSupplementary,  // Supplementary code point [U+010000, U+10FFFF].
   };
 
@@ -75,14 +75,12 @@
                             intptr_t array_len,
                             int32_t* dst,
                             intptr_t len);
-  static bool DecodeCStringToUTF32(const char* str,
-                                   int32_t* dst,
-                                   intptr_t len);
+  static bool DecodeCStringToUTF32(const char* str, int32_t* dst, intptr_t len);
 
-  static const int32_t kMaxOneByteChar   = 0x7F;
-  static const int32_t kMaxTwoByteChar   = 0x7FF;
+  static const int32_t kMaxOneByteChar = 0x7F;
+  static const int32_t kMaxTwoByteChar = 0x7FF;
   static const int32_t kMaxThreeByteChar = 0xFFFF;
-  static const int32_t kMaxFourByteChar  = Utf::kMaxCodePoint;
+  static const int32_t kMaxFourByteChar = Utf::kMaxCodePoint;
 
  private:
   static bool IsTrailByte(uint8_t code_unit) {
@@ -117,9 +115,7 @@
   }
 
   // Returns true if ch is a lead or trail surrogate.
-  static bool IsSurrogate(uint32_t ch) {
-    return (ch & 0xFFFFF800) == 0xD800;
-  }
+  static bool IsSurrogate(uint32_t ch) { return (ch & 0xFFFFF800) == 0xD800; }
 
   // Returns true if ch is a lead surrogate.
   static bool IsLeadSurrogate(uint32_t ch) {
diff --git a/runtime/vm/unicode_data.cc b/runtime/vm/unicode_data.cc
index e61eccb..d8fed1e 100644
--- a/runtime/vm/unicode_data.cc
+++ b/runtime/vm/unicode_data.cc
@@ -6,6 +6,7 @@
 
 namespace dart {
 
+// clang-format off
 const uint8_t CaseMapping::stage1_[261] = {
   0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 6,
   6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 9, 10, 6, 11, 6, 6, 12, 6, 6, 6,
@@ -679,5 +680,6 @@
   { 0, -10783 },  // U+2C6F
   { 0, -35332 },  // U+A77D
 };
+// clang-format on
 
 }  // namespace dart
diff --git a/runtime/vm/unicode_test.cc b/runtime/vm/unicode_test.cc
index 36fdf85..c8f6a26 100644
--- a/runtime/vm/unicode_test.cc
+++ b/runtime/vm/unicode_test.cc
@@ -12,7 +12,7 @@
   // Examples from the Unicode specification, chapter 3
   {
     const char* src = "\x41\xC3\xB1\x42";
-    int32_t expected[] = { 0x41, 0xF1, 0x42 };
+    int32_t expected[] = {0x41, 0xF1, 0x42};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -22,7 +22,7 @@
 
   {
     const char* src = "\x4D";
-    int32_t expected[] = { 0x4D };
+    int32_t expected[] = {0x4D};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -32,7 +32,7 @@
 
   {
     const char* src = "\xD0\xB0";
-    int32_t expected[] = { 0x430 };
+    int32_t expected[] = {0x430};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -42,7 +42,7 @@
 
   {
     const char* src = "\xE4\xBA\x8C";
-    int32_t expected[] = { 0x4E8C };
+    int32_t expected[] = {0x4E8C};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -52,7 +52,7 @@
 
   {
     const char* src = "\xF0\x90\x8C\x82";
-    int32_t expected[] = { 0x10302 };
+    int32_t expected[] = {0x10302};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -62,7 +62,7 @@
 
   {
     const char* src = "\x4D\xD0\xB0\xE4\xBA\x8C\xF0\x90\x8C\x82";
-    int32_t expected[] = { 0x4D, 0x430, 0x4E8C, 0x10302 };
+    int32_t expected[] = {0x4D, 0x430, 0x4E8C, 0x10302};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -72,12 +72,12 @@
 
   // Mixture of non-ASCII and ASCII characters
   {
-    const char* src = "\xD7\x92\xD7\x9C\xD7\xA2\xD7\x93"
-                      "\x20"
-                      "\xD7\x91\xD7\xA8\xD7\x9B\xD7\x94";
-    int32_t expected[] = { 0x5D2, 0x5DC, 0x5E2, 0x5D3,
-                           0x20,
-                           0x5D1, 0x5E8, 0x5DB, 0x5D4 };
+    const char* src =
+        "\xD7\x92\xD7\x9C\xD7\xA2\xD7\x93"
+        "\x20"
+        "\xD7\x91\xD7\xA8\xD7\x9B\xD7\x94";
+    int32_t expected[] = {0x5D2, 0x5DC, 0x5E2, 0x5D3, 0x20,
+                          0x5D1, 0x5E8, 0x5DB, 0x5D4};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -90,7 +90,7 @@
   // 1 - Some correct UTF-8 text
   {
     const char* src = "\xCE\xBA\xE1\xBD\xB9\xCF\x83\xCE\xBC\xCE\xB5";
-    int32_t expected[] = { 0x3BA, 0x1F79, 0x3C3, 0x3BC, 0x3B5 };
+    int32_t expected[] = {0x3BA, 0x1F79, 0x3C3, 0x3BC, 0x3B5};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -105,7 +105,7 @@
   // 2.1.1 - 1 byte (U-00000000):        "\x00"
   {
     const char* src = "\x00";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0xFF, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -116,7 +116,7 @@
   // 2.1.2 - 2 bytes (U-00000080):        "\xC2\x80"
   {
     const char* src = "\xC2\x80";
-    int32_t expected[] = { 0x80 };
+    int32_t expected[] = {0x80};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -127,7 +127,7 @@
   // 2.1.3 - 3 bytes (U-00000800):        "\xE0\xA0\x80"
   {
     const char* src = "\xE0\xA0\x80";
-    int32_t expected[] = { 0x800 };
+    int32_t expected[] = {0x800};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -138,7 +138,7 @@
   // 2.1.4 - 4 bytes (U-00010000):        "\xF0\x90\x80\x80"
   {
     const char* src = "\xF0\x90\x80\x80";
-    int32_t expected[] = { 0x10000 };
+    int32_t expected[] = {0x10000};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -149,7 +149,7 @@
   // 2.1.5 - 5 bytes (U-00200000):        "\xF8\x88\x80\x80\x80"
   {
     const char* src = "\xF8\x88\x80\x80\x80";
-    int32_t expected[] = { 0x200000 };
+    int32_t expected[] = {0x200000};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -160,7 +160,7 @@
   // 2.1.6 - 6 bytes (U-04000000):        "\xFC\x84\x80\x80\x80\x80"
   {
     const char* src = "\xFC\x84\x80\x80\x80\x80";
-    int32_t expected[] = { 0x400000 };
+    int32_t expected[] = {0x400000};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -173,7 +173,7 @@
   // 2.2.1 - 1 byte (U-0000007F):        "\x7F"
   {
     const char* src = "\x7F";
-    int32_t expected[] = { 0x7F };
+    int32_t expected[] = {0x7F};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -184,7 +184,7 @@
   // 2.2.2 - 2 bytes (U-000007FF):        "\xDF\xBF"
   {
     const char* src = "\xDF\xBF";
-    int32_t expected[] = { 0x7FF };
+    int32_t expected[] = {0x7FF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -195,7 +195,7 @@
   // 2.2.3 - 3 bytes (U-0000FFFF):        "\xEF\xBF\xBF"
   {
     const char* src = "\xEF\xBF\xBF";
-    int32_t expected[] = { 0xFFFF };
+    int32_t expected[] = {0xFFFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -206,7 +206,7 @@
   // 2.2.4 - 4 bytes (U-001FFFFF):        "\xF7\xBF\xBF\xBF"
   {
     const char* src = "\xF7\xBF\xBF\xBF";
-    int32_t expected[] = { 0x1FFFF };
+    int32_t expected[] = {0x1FFFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -217,7 +217,7 @@
   // 2.2.5 - 5 bytes (U-03FFFFFF):        "\xFB\xBF\xBF\xBF\xBF"
   {
     const char* src = "\xFB\xBF\xBF\xBF\xBF";
-    int32_t expected[] = { 0x3FFFFFF };
+    int32_t expected[] = {0x3FFFFFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -228,7 +228,7 @@
   // 2.2.6 - 6 bytes (U-7FFFFFFF):        "\xFD\xBF\xBF\xBF\xBF\xBF"
   {
     const char* src = "\xFD\xBF\xBF\xBF\xBF\xBF";
-    int32_t expected[] = { 0x7FFFFFF };
+    int32_t expected[] = {0x7FFFFFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -241,7 +241,7 @@
   // 2.3.1 - U-0000D7FF = ed 9f bf = "\xED\x9F\xBF"
   {
     const char* src = "\xED\x9F\xBF";
-    int32_t expected[] = { 0xD7FF };
+    int32_t expected[] = {0xD7FF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -252,7 +252,7 @@
   // 2.3.2 - U-0000E000 = ee 80 80 = "\xEE\x80\x80"
   {
     const char* src = "\xEE\x80\x80";
-    int32_t expected[] = { 0xE000 };
+    int32_t expected[] = {0xE000};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -263,7 +263,7 @@
   // 2.3.3 - U-0000FFFD = ef bf bd = "\xEF\xBF\xBD"
   {
     const char* src = "\xEF\xBF\xBD";
-    int32_t expected[] = { 0xFFFD };
+    int32_t expected[] = {0xFFFD};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -274,7 +274,7 @@
   // 2.3.4 - U-0010FFFF = f4 8f bf bf = "\xF4\x8F\xBF\xBF"
   {
     const char* src = "\xF4\x8F\xBF\xBF";
-    int32_t expected[] = { 0x10FFFF };
+    int32_t expected[] = {0x10FFFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -285,7 +285,7 @@
   // 2.3.5 - U-00110000 = f4 90 80 80 = "\xF4\x90\x80\x80"
   {
     const char* src = "\xF4\x90\x80\x80";
-    int32_t expected[] = { 0x110000 };
+    int32_t expected[] = {0x110000};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -300,7 +300,7 @@
   // 3.1.1 - First continuation byte 0x80: "\x80"
   {
     const char* src = "\x80";
-    int32_t expected[] = { 0x80 };
+    int32_t expected[] = {0x80};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -311,7 +311,7 @@
   // 3.1.2 - Last continuation byte 0xbf: "\xBF"
   {
     const char* src = "\xBF";
-    int32_t expected[] = { 0xBF };
+    int32_t expected[] = {0xBF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -322,7 +322,7 @@
   // 3.1.3 - 2 continuation bytes: "\x80\xBF"
   {
     const char* src = "\x80\xBF";
-    int32_t expected[] = { 0x80, 0xBF };
+    int32_t expected[] = {0x80, 0xBF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -333,7 +333,7 @@
   // 3.1.4 - 3 continuation bytes: "\x80\xBF\x80"
   {
     const char* src = "\x80\xBF\x80";
-    int32_t expected[] = { 0x80, 0xBF, 0x80 };
+    int32_t expected[] = {0x80, 0xBF, 0x80};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -344,7 +344,7 @@
   // 3.1.5 - 4 continuation bytes: "\x80\xBF\x80\xBF"
   {
     const char* src = "\x80\xBF\x80\xBF";
-    int32_t expected[] = { 0x80, 0xBF, 0x80, 0xBF  };
+    int32_t expected[] = {0x80, 0xBF, 0x80, 0xBF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -355,7 +355,7 @@
   // 3.1.6 - 5 continuation bytes: "\x80\xBF\x80\xBF\x80"
   {
     const char* src = "\x80\xBF\x80\xBF\x80";
-    int32_t expected[] = { 0x80, 0xBF, 0x80, 0xBF, 0x80 };
+    int32_t expected[] = {0x80, 0xBF, 0x80, 0xBF, 0x80};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -366,7 +366,7 @@
   // 3.1.7 - 6 continuation bytes: "\x80\xBF\x80\xBF\x80\xBF"
   {
     const char* src = "\x80\xBF\x80\xBF\x80\xBF";
-    int32_t expected[] = { 0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF };
+    int32_t expected[] = {0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -377,7 +377,7 @@
   // 3.1.8 - 7 continuation bytes: "\x80\xBF\x80\xBF\x80\xBF\x80"
   {
     const char* src = "\x80\xBF\x80\xBF\x80\xBF\x80";
-    int32_t expected[] = { 0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF, 0x80 };
+    int32_t expected[] = {0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF, 0x80};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -387,15 +387,16 @@
 
   // 3.1.9 - Sequence of all 64 possible continuation bytes (0x80-0xbf):
   {
-    const char* src = "\x80\x81\x82\x83\x84\x85\x86\x87"
-                      "\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F"
-                      "\x90\x91\x92\x93\x94\x95\x96\x97"
-                      "\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F"
-                      "\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7"
-                      "\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF"
-                      "\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7"
-                      "\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF";
-    int32_t expected[] = { 0x0 };
+    const char* src =
+        "\x80\x81\x82\x83\x84\x85\x86\x87"
+        "\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F"
+        "\x90\x91\x92\x93\x94\x95\x96\x97"
+        "\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F"
+        "\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7"
+        "\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF"
+        "\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7"
+        "\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF";
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     for (size_t i = 0; i < strlen(src); ++i) {
       memset(dst, 0xFF, sizeof(dst));
@@ -410,15 +411,16 @@
   // 3.2.1 - All 32 first bytes of 2-byte sequences (0xc0-0xdf), each
   //         followed by a space character:
   {
-    const char* src = "\xC0\x20\xC1\x20\xC2\x20\xC3\x20"
-                      "\xC4\x20\xC5\x20\xC6\x20\xC7\x20"
-                      "\xC8\x20\xC9\x20\xCA\x20\xCB\x20"
-                      "\xCC\x20\xCD\x20\xCE\x20\xCF\x20"
-                      "\xD0\x20\xD1\x20\xD2\x20\xD3\x20"
-                      "\xD4\x20\xD5\x20\xD6\x20\xD7\x20"
-                      "\xD8\x20\xD9\x20\xDA\x20\xDB\x20"
-                      "\xDC\x20\xDD\x20\xDE\x20\xDF\x20";
-    int32_t expected[] = { 0x0 };
+    const char* src =
+        "\xC0\x20\xC1\x20\xC2\x20\xC3\x20"
+        "\xC4\x20\xC5\x20\xC6\x20\xC7\x20"
+        "\xC8\x20\xC9\x20\xCA\x20\xCB\x20"
+        "\xCC\x20\xCD\x20\xCE\x20\xCF\x20"
+        "\xD0\x20\xD1\x20\xD2\x20\xD3\x20"
+        "\xD4\x20\xD5\x20\xD6\x20\xD7\x20"
+        "\xD8\x20\xD9\x20\xDA\x20\xDB\x20"
+        "\xDC\x20\xDD\x20\xDE\x20\xDF\x20";
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     for (size_t i = 0; i < strlen(src); i += 2) {
       memset(dst, 0xFF, sizeof(dst));
@@ -431,11 +433,12 @@
   // 3.2.2 - All 16 first bytes of 3-byte sequences (0xe0-0xef), each
   //         followed by a space character:
   {
-    const char* src = "\xE0\x20\xE1\x20\xE2\x20\xE3\x20"
-                      "\xE4\x20\xE5\x20\xE6\x20\xE7\x20"
-                      "\xE8\x20\xE9\x20\xEA\x20\xEB\x20"
-                      "\xEC\x20\xED\x20\xEE\x20\xEF\x20";
-    int32_t expected[] = { 0x0 };
+    const char* src =
+        "\xE0\x20\xE1\x20\xE2\x20\xE3\x20"
+        "\xE4\x20\xE5\x20\xE6\x20\xE7\x20"
+        "\xE8\x20\xE9\x20\xEA\x20\xEB\x20"
+        "\xEC\x20\xED\x20\xEE\x20\xEF\x20";
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     for (size_t i = 0; i < strlen(src); i += 2) {
       memset(dst, 0xFF, sizeof(dst));
@@ -448,9 +451,10 @@
   // 3.2.3 - All 8 first bytes of 4-byte sequences (0xf0-0xf7), each
   //         followed by a space character:
   {
-    const char* src = "\xF0\x20\xF1\x20\xF2\x20\xF3\x20"
-                      "\xF4\x20\xF5\x20\xF6\x20\xF7\x20";
-    int32_t expected[] = { 0x0 };
+    const char* src =
+        "\xF0\x20\xF1\x20\xF2\x20\xF3\x20"
+        "\xF4\x20\xF5\x20\xF6\x20\xF7\x20";
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     for (size_t i = 0; i < strlen(src); i += 2) {
       memset(dst, 0xFF, sizeof(dst));
@@ -464,7 +468,7 @@
   //         followed by a space character:
   {
     const char* src = "\xF8\x20\xF9\x20\xFA\x20\xFB\x20";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     for (size_t i = 0; i < strlen(src); i += 2) {
       memset(dst, 0xFF, sizeof(dst));
@@ -478,7 +482,7 @@
   //         followed by a space character:
   {
     const char* src = "\xFC\x20\xFD\x20";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     for (size_t i = 0; i < strlen(src); i += 2) {
       memset(dst, 0xFF, sizeof(dst));
@@ -493,7 +497,7 @@
   // 3.3.1 - 2-byte sequence with last byte missing (U+0000): "\xC0"
   {
     const char* src = "\xC0";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0xFF, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -504,7 +508,7 @@
   // 3.3.2 - 3-byte sequence with last byte missing (U+0000): "\xE0\x80"
   {
     const char* src = "\xE0\x80";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0xFF, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -515,7 +519,7 @@
   // 3.3.3 - 4-byte sequence with last byte missing (U+0000): "\xF0\x80\x80"
   {
     const char* src = "\xF0\x80\x80";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0xFF, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -526,7 +530,7 @@
   // 3.3.4 - 5-byte sequence with last byte missing (U+0000): "\xF8\x80\x80\x80"
   {
     const char* src = "\xF8\x80\x80\x80";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0xFF, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -538,7 +542,7 @@
   // "\xFC\x80\x80\x80\x80"
   {
     const char* src = "\xFC\x80\x80\x80\x80";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0xFF, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -549,7 +553,7 @@
   // 3.3.6 - 2-byte sequence with last byte missing (U-000007FF): "\xDF"
   {
     const char* src = "\xDF";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0xFF, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -560,7 +564,7 @@
   // 3.3.7 - 3-byte sequence with last byte missing (U-0000FFFF): "\xEF\xBF"
   {
     const char* src = "\xEF\xBF";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0xFF, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -571,7 +575,7 @@
   // 3.3.8 - 4-byte sequence with last byte missing (U-001FFFFF): "\xF7\xBF\xBF"
   {
     const char* src = "\xF7\xBF\xBF";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0xFF, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -583,7 +587,7 @@
   // "\xFB\xBF\xBF\xBF"
   {
     const char* src = "\xFB\xBF\xBF\xBF";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0xFF, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -595,7 +599,7 @@
   // "\xFD\xBF\xBF\xBF\xBF"
   {
     const char* src = "\xFD\xBF\xBF\xBF\xBF";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0xFF, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -605,18 +609,19 @@
 
   // 3.4 - Concatenation of incomplete sequences
   {
-    const char* src = "\xC0\xE0\x80\xF0\x80\x80"
-                      "\xF8\x80\x80\x80\xFC\x80"
-                      "\x80\x80\x80\xDF\xEF\xBF"
-                      "\xF7\xBF\xBF\xFB\xBF\xBF"
-                      "\xBF\xFD\xBF\xBF\xBF\xBF";
-    int32_t expected[] = { 0x0 };
+    const char* src =
+        "\xC0\xE0\x80\xF0\x80\x80"
+        "\xF8\x80\x80\x80\xFC\x80"
+        "\x80\x80\x80\xDF\xEF\xBF"
+        "\xF7\xBF\xBF\xFB\xBF\xBF"
+        "\xBF\xFD\xBF\xBF\xBF\xBF";
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     for (size_t i = 0; i < strlen(src); ++i) {
       for (size_t j = 1; j < (strlen(src) - i); ++j) {
         memset(dst, 0xFF, sizeof(dst));
-        bool is_valid = Utf8::DecodeCStringToUTF32(&src[i],
-                                                   dst, ARRAY_SIZE(dst));
+        bool is_valid =
+            Utf8::DecodeCStringToUTF32(&src[i], dst, ARRAY_SIZE(dst));
         EXPECT(!is_valid);
         EXPECT(memcmp(expected, dst, sizeof(expected)));
       }
@@ -628,7 +633,7 @@
   // 3.5.1 - fe = "\xFE"
   {
     const char* src = "\xFE";
-    int32_t expected[] = { 0xFE };
+    int32_t expected[] = {0xFE};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -639,7 +644,7 @@
   // 3.5.2 - ff = "\xFF"
   {
     const char* src = "\xFF";
-    int32_t expected[] = { 0xFF };
+    int32_t expected[] = {0xFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -650,7 +655,7 @@
   // 3.5.3 - fe fe ff ff = "\xFE\xFE\xFF\xFF"
   {
     const char* src = "\xFE\xFE\xFF\xFF";
-    int32_t expected[] = { 0xFF };
+    int32_t expected[] = {0xFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -665,7 +670,7 @@
   // 4.1.1 - U+002F = c0 af             = "\xC0\xAF"
   {
     const char* src = "\xC0\xAF";
-    int32_t expected[] = { 0x2F };
+    int32_t expected[] = {0x2F};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -676,7 +681,7 @@
   // 4.1.2 - U+002F = e0 80 af          = "\xE0\x80\xAF"
   {
     const char* src = "\xE0\x80\xAF";
-    int32_t expected[] = { 0x2F };
+    int32_t expected[] = {0x2F};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -687,7 +692,7 @@
   // 4.1.3 - U+002F = f0 80 80 af       = "\xF0\x80\x80\xAF"
   {
     const char* src = "\xF0\x80\x80\xAF";
-    int32_t expected[] = { 0x2F };
+    int32_t expected[] = {0x2F};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -698,7 +703,7 @@
   // 4.1.4 - U+002F = f8 80 80 80 af    = "\xF8\x80\x80\x80\xAF"
   {
     const char* src = "\xF8\x80\x80\x80\xAF";
-    int32_t expected[] = { 0x2F };
+    int32_t expected[] = {0x2F};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -709,7 +714,7 @@
   // 4.1.5 - U+002F = fc 80 80 80 80 af = "\xFC\x80\x80\x80\x80\xAF"
   {
     const char* src = "\xFC\x80\x80\x80\x80\xAF";
-    int32_t expected[] = { 0x2F };
+    int32_t expected[] = {0x2F};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -722,7 +727,7 @@
   // 4.2.1 - U-0000007F = c1 bf             = "\xC1\xBF"
   {
     const char* src = "\xC1\xBF";
-    int32_t expected[] = { 0x7F };
+    int32_t expected[] = {0x7F};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -733,7 +738,7 @@
   // 4.2.2 U+000007FF = e0 9f bf          = "\xE0\x9F\xBF"
   {
     const char* src = "\xE0\x9F\xBF";
-    int32_t expected[] = { 0x7FF };
+    int32_t expected[] = {0x7FF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -744,7 +749,7 @@
   // 4.2.3 - U+0000FFFF = f0 8f bf bf       = "\xF0\x8F\xBF\xBF"
   {
     const char* src = "\xF0\x8F\xBF\xBF";
-    int32_t expected[] = { 0xFFFF };
+    int32_t expected[] = {0xFFFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -755,7 +760,7 @@
   // 4.2.4  U-001FFFFF = f8 87 bf bf bf    = "\xF8\x87\xBF\xBF\xBF"
   {
     const char* src = "\xF8\x87\xBF\xBF\xBF";
-    int32_t expected[] = { 0x1FFFFF };
+    int32_t expected[] = {0x1FFFFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -766,7 +771,7 @@
   // 4.2.5  U-03FFFFFF = fc 83 bf bf bf bf = "\xFC\x83\xBF\xBF\xBF\xBF"
   {
     const char* src = "\xFC\x83\xBF\xBF\xBF\xBF";
-    int32_t expected[] = { 0x3FFFFFF };
+    int32_t expected[] = {0x3FFFFFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -779,7 +784,7 @@
   // 4.3.1 - U+0000 = "\xC0\x80"
   {
     const char* src = "\xC0\x80";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0xFF, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -790,7 +795,7 @@
   // 4.3.2  U+0000 = e0 80 80 = "\xE0\x80\x80"
   {
     const char* src = "\xE0\x80\x80";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0xFF, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -801,7 +806,7 @@
   // 4.3.3  U+0000 = f0 80 80 80 = "\xF0\x80\x80\x80"
   {
     const char* src = "\xF0\x80\x80\x80";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0xFF, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -812,7 +817,7 @@
   // 4.3.4  U+0000 = f8 80 80 80 80 = "\xF8\x80\x80\x80\x80"
   {
     const char* src = "\xF8\x80\x80\x80\x80";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0xFF, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -823,7 +828,7 @@
   // 4.3.5  U+0000 = fc 80 80 80 80 80 = "\xFC\x80\x80\x80\x80\x80"
   {
     const char* src = "\xFC\x80\x80\x80\x80\x80";
-    int32_t expected[] = { 0x0 };
+    int32_t expected[] = {0x0};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0xFF, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -838,7 +843,7 @@
   // 5.1.1 - U+D800 = ed a0 80 = "\xED\xA0\x80"
   {
     const char* src = "\xED\xA0\x80";
-    int32_t expected[] = { 0xD800 };
+    int32_t expected[] = {0xD800};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -849,7 +854,7 @@
   // 5.1.2 - U+DB7F = ed ad bf = "\xED\xAD\xBF"
   {
     const char* src = "\xED\xAD\xBF";
-    int32_t expected[] = { 0xDB7F };
+    int32_t expected[] = {0xDB7F};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -860,7 +865,7 @@
   // 5.1.3 - U+DB80 = ed ae 80 = "\xED\xAE\x80"
   {
     const char* src = "\xED\xAE\x80";
-    int32_t expected[] = { 0xDB80 };
+    int32_t expected[] = {0xDB80};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -871,7 +876,7 @@
   // 5.1.4 - U+DBFF = ed af bf = "\xED\xAF\xBF"
   {
     const char* src = "\xED\xAF\xBF";
-    int32_t expected[] = { 0xDBFF };
+    int32_t expected[] = {0xDBFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -882,7 +887,7 @@
   // 5.1.5 - U+DC00 = ed b0 80 = "\xED\xB0\x80"
   {
     const char* src = "\xED\xB0\x80";
-    int32_t expected[] = { 0xDC00 };
+    int32_t expected[] = {0xDC00};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -893,7 +898,7 @@
   // 5.1.6 - U+DF80 = ed be 80 = "\xED\xBE\x80"
   {
     const char* src = "\xED\xBE\x80";
-    int32_t expected[] = { 0xDF80 };
+    int32_t expected[] = {0xDF80};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -904,7 +909,7 @@
   // 5.1.7 - U+DFFF = ed bf bf = "\xED\xBF\xBF"
   {
     const char* src = "\xED\xBF\xBF";
-    int32_t expected[] = { 0xDFFF };
+    int32_t expected[] = {0xDFFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -922,7 +927,7 @@
   // 5.2.1 - U+D800 U+DC00 = ed a0 80 ed b0 80 = "\xED\xA0\x80\xED\xB0\x80"
   {
     const char* src = "\xED\xA0\x80\xED\xB0\x80";
-    int32_t expected[] = { 0xD800, 0xDC00 };
+    int32_t expected[] = {0xD800, 0xDC00};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -933,7 +938,7 @@
   // 5.2.2 - U+D800 U+DFFF = ed a0 80 ed bf bf = "\xED\xA0\x80\xED\xBF\xBF"
   {
     const char* src = "\xED\xA0\x80\xED\xBF\xBF";
-    int32_t expected[] = { 0xD800, 0xDFFF };
+    int32_t expected[] = {0xD800, 0xDFFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -944,7 +949,7 @@
   // 5.2.3 - U+DB7F U+DC00 = ed a0 80 ed bf bf = "\xED\xAD\xBF\xED\xB0\x80"
   {
     const char* src = "\xED\xAD\xBF\xED\xB0\x80";
-    int32_t expected[] = { 0xDB7F, 0xDC00 };
+    int32_t expected[] = {0xDB7F, 0xDC00};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -955,7 +960,7 @@
   // 5.2.4 - U+DB7F U+DFFF = ed ad bf ed bf bf = "\xED\xAD\xBF\xED\xBF\xBF"
   {
     const char* src = "\xED\xAD\xBF\xED\xBF\xBF";
-    int32_t expected[] = { 0xDB7F, 0xDFFF };
+    int32_t expected[] = {0xDB7F, 0xDFFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -966,7 +971,7 @@
   // 5.2.5 - U+DB80 U+DC00 = ed ae 80 ed b0 80 = "\xED\xAE\x80\xED\xB0\x80"
   {
     const char* src = "\xED\xAE\x80\xED\xB0\x80";
-    int32_t expected[] = { 0xDB80, 0xDC00 };
+    int32_t expected[] = {0xDB80, 0xDC00};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -977,7 +982,7 @@
   // 5.2.6 - U+DB80 U+DFFF = ed ae 80 ed bf bf = "\xED\xAE\x80\xED\xBF\xBF"
   {
     const char* src = "\xED\xAE\x80\xED\xBF\xBF";
-    int32_t expected[] = { 0xDB80, 0xDFFF };
+    int32_t expected[] = {0xDB80, 0xDFFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -988,7 +993,7 @@
   // 5.2.7 - U+DBFF U+DC00 = ed af bf ed b0 80 = "\xED\xAF\xBF\xED\xB0\x80"
   {
     const char* src = "\xED\xAF\xBF\xED\xB0\x80";
-    int32_t expected[] = { 0xDBFF, 0xDC00 };
+    int32_t expected[] = {0xDBFF, 0xDC00};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -999,7 +1004,7 @@
   // 5.2.8 - U+DBFF U+DFFF = ed af bf ed bf bf = "\xED\xAF\xBF\xED\xBF\xBF"
   {
     const char* src = "\xED\xAF\xBF\xED\xBF\xBF";
-    int32_t expected[] = { 0xDBFF, 0xDFFF };
+    int32_t expected[] = {0xDBFF, 0xDFFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -1012,7 +1017,7 @@
   // 5.3.1 - U+FFFE = ef bf be = "\xEF\xBF\xBE"
   {
     const char* src = "\xEF\xBF\xBE";
-    int32_t expected[] = { 0xFFFE };
+    int32_t expected[] = {0xFFFE};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
@@ -1023,7 +1028,7 @@
   // 5.3.2 - U+FFFF = ef bf bf = "\xEF\xBF\xBF"
   {
     const char* src = "\xEF\xBF\xBF";
-    int32_t expected[] = { 0xFFFF };
+    int32_t expected[] = {0xFFFF};
     int32_t dst[ARRAY_SIZE(expected)];
     memset(dst, 0, sizeof(dst));
     bool is_valid = Utf8::DecodeCStringToUTF32(src, dst, ARRAY_SIZE(dst));
diff --git a/runtime/vm/unit_test.cc b/runtime/vm/unit_test.cc
index b507c00..1c138e7 100644
--- a/runtime/vm/unit_test.cc
+++ b/runtime/vm/unit_test.cc
@@ -54,8 +54,8 @@
 Dart_Isolate TestCase::CreateIsolate(const uint8_t* buffer, const char* name) {
   bin::IsolateData* isolate_data = new bin::IsolateData(name, NULL, NULL);
   char* err;
-  Dart_Isolate isolate = Dart_CreateIsolate(
-      name, NULL, buffer, NULL, isolate_data, &err);
+  Dart_Isolate isolate =
+      Dart_CreateIsolate(name, NULL, buffer, NULL, isolate_data, &err);
   if (isolate == NULL) {
     OS::Print("Creation of isolate failed '%s'\n", err);
     free(err);
@@ -118,8 +118,7 @@
   const char* kIsolateReloadTestLibUri = "test:isolate_reload_helper";
   static const intptr_t kIsolateReloadTestLibUriLen =
       strlen(kIsolateReloadTestLibUri);
-  return (strncmp(url_name,
-                  kIsolateReloadTestLibUri,
+  return (strncmp(url_name, kIsolateReloadTestLibUri,
                   kIsolateReloadTestLibUriLen) == 0);
 }
 
@@ -149,8 +148,7 @@
   Dart_Handle dart_args[kNumArgs];
   dart_args[0] = DartUtils::NewString(uri_chars);
   return Dart_Invoke(DartUtils::BuiltinLib(),
-                     DartUtils::NewString("_filePathFromUri"),
-                     kNumArgs,
+                     DartUtils::NewString("_filePathFromUri"), kNumArgs,
                      dart_args);
 }
 
@@ -170,16 +168,11 @@
   if (tag == Dart_kScriptTag) {
     // Reload request.
     ASSERT(script_reload_key != kUnsetThreadLocalKey);
-    const char* script_source =
-       reinterpret_cast<const char*>(
-           OSThread::GetThreadLocal(script_reload_key));
+    const char* script_source = reinterpret_cast<const char*>(
+        OSThread::GetThreadLocal(script_reload_key));
     ASSERT(script_source != NULL);
     OSThread::SetThreadLocal(script_reload_key, 0);
-    return Dart_LoadScript(url,
-                           Dart_Null(),
-                           NewString(script_source),
-                           0,
-                           0);
+    return Dart_LoadScript(url, Dart_Null(), NewString(script_source), 0, 0);
   }
   if (!Dart_IsLibrary(library)) {
     return Dart_NewApiError("not a library");
@@ -217,20 +210,19 @@
     Dart_Handle source = Dart_NewStringFromCString(lib_source);
     return Dart_LoadLibrary(url, Dart_Null(), source, 0, 0);
   }
-  NOT_IN_PRODUCT(
+#if !defined(PRODUCT)
   if (IsIsolateReloadTestLib(url_chars)) {
     Dart_Handle library =
         Dart_LoadLibrary(url, Dart_Null(), IsolateReloadTestLibSource(), 0, 0);
     DART_CHECK_VALID(library);
     Dart_SetNativeResolver(library, IsolateReloadTestNativeResolver, 0);
     return library;
-  })
+  }
+#endif
   if (is_io_library) {
     ASSERT(tag == Dart_kSourceTag);
-    return Dart_LoadSource(library,
-                           url, Dart_Null(),
-                           Builtin::PartSource(Builtin::kIOLibrary,
-                                               url_chars),
+    return Dart_LoadSource(library, url, Dart_Null(),
+                           Builtin::PartSource(Builtin::kIOLibrary, url_chars),
                            0, 0);
   }
   Dart_Handle resolved_url = url;
@@ -378,27 +370,22 @@
 
 
 void AssemblerTest::Assemble() {
-  const String& function_name = String::ZoneHandle(
-      Symbols::New(Thread::Current(), name_));
+  const String& function_name =
+      String::ZoneHandle(Symbols::New(Thread::Current(), name_));
 
   // We make a dummy script so that exception objects can be composed for
   // assembler instructions that do runtime calls, in particular on DBC.
   const char* kDummyScript = "assembler_test_dummy_function() {}";
-  const Script& script = Script::Handle(Script::New(
-      function_name,
-      String::Handle(String::New(kDummyScript)),
-      RawScript::kSourceTag));
+  const Script& script = Script::Handle(
+      Script::New(function_name, String::Handle(String::New(kDummyScript)),
+                  RawScript::kSourceTag));
   script.Tokenize(String::Handle());
   const Library& lib = Library::Handle(Library::CoreLibrary());
   const Class& cls = Class::ZoneHandle(
-      Class::New(lib,
-                 function_name,
-                 script,
-                 TokenPosition::kMinSource));
+      Class::New(lib, function_name, script, TokenPosition::kMinSource));
   Function& function = Function::ZoneHandle(
-      Function::New(function_name, RawFunction::kRegularFunction,
-                    true, false, false, false, false, cls,
-                    TokenPosition::kMinSource));
+      Function::New(function_name, RawFunction::kRegularFunction, true, false,
+                    false, false, false, cls, TokenPosition::kMinSource));
   code_ = Code::FinalizeCode(function, assembler_);
   code_.set_owner(function);
   code_.set_exception_handlers(Object::empty_exception_handlers());
@@ -416,22 +403,21 @@
 
 
 CodeGenTest::CodeGenTest(const char* name)
-  : function_(Function::ZoneHandle()),
-    node_sequence_(new SequenceNode(TokenPosition::kMinSource,
-                                    new LocalScope(NULL, 0, 0))),
-    default_parameter_values_(new ZoneGrowableArray<const Instance*> ()) {
+    : function_(Function::ZoneHandle()),
+      node_sequence_(new SequenceNode(TokenPosition::kMinSource,
+                                      new LocalScope(NULL, 0, 0))),
+      default_parameter_values_(new ZoneGrowableArray<const Instance*>()) {
   ASSERT(name != NULL);
-  const String& function_name = String::ZoneHandle(
-      Symbols::New(Thread::Current(), name));
+  const String& function_name =
+      String::ZoneHandle(Symbols::New(Thread::Current(), name));
   // Add function to a class and that class to the class dictionary so that
   // frame walking can be used.
   Library& lib = Library::Handle(Library::CoreLibrary());
-  const Class& cls = Class::ZoneHandle(
-      Class::New(lib, function_name, Script::Handle(),
-                  TokenPosition::kMinSource));
-  function_ = Function::New(
-      function_name, RawFunction::kRegularFunction,
-      true, false, false, false, false, cls, TokenPosition::kMinSource);
+  const Class& cls = Class::ZoneHandle(Class::New(
+      lib, function_name, Script::Handle(), TokenPosition::kMinSource));
+  function_ =
+      Function::New(function_name, RawFunction::kRegularFunction, true, false,
+                    false, false, false, cls, TokenPosition::kMinSource);
   function_.set_result_type(Type::Handle(Type::DynamicType()));
   const Array& functions = Array::Handle(Array::New(1));
   functions.SetAt(0, function_);
@@ -447,8 +433,7 @@
   parsed_function->SetNodeSequence(node_sequence_);
   parsed_function->set_instantiator(NULL);
   parsed_function->set_default_parameter_values(default_parameter_values_);
-  node_sequence_->scope()->AddVariable(
-      parsed_function->current_context_var());
+  node_sequence_->scope()->AddVariable(parsed_function->current_context_var());
   parsed_function->EnsureExpressionTemp();
   node_sequence_->scope()->AddVariable(parsed_function->expression_temp_var());
   parsed_function->AllocateVariables();
@@ -464,8 +449,7 @@
   ASSERT(isolate != NULL);
   const Error& error = Error::Handle(Compiler::Compile(library, script));
   if (!error.IsNull()) {
-    OS::Print("Error compiling test script:\n%s\n",
-    error.ToErrorCString());
+    OS::Print("Error compiling test script:\n%s\n", error.ToErrorCString());
   }
   return error.IsNull();
 }
@@ -475,8 +459,8 @@
   Thread* thread = Thread::Current();
   ASSERT(thread != NULL);
   ASSERT(ClassFinalizer::AllClassesFinalized());
-  const Error& error = Error::Handle(Compiler::CompileFunction(thread,
-                                                               function));
+  const Error& error =
+      Error::Handle(Compiler::CompileFunction(thread, function));
   return error.IsNull();
 }
 
diff --git a/runtime/vm/unit_test.h b/runtime/vm/unit_test.h
index 61d0715..c08f36e 100644
--- a/runtime/vm/unit_test.h
+++ b/runtime/vm/unit_test.h
@@ -34,8 +34,7 @@
 // this macro is transitioned from kThreadInNative to kThreadInVM.
 #define VM_TEST_CASE(name)                                                     \
   static void Dart_TestHelper##name(Thread* thread);                           \
-  UNIT_TEST_CASE(name)                                                         \
-  {                                                                            \
+  UNIT_TEST_CASE(name) {                                                       \
     TestIsolateScope __test_isolate__;                                         \
     Thread* __thread__ = Thread::Current();                                    \
     ASSERT(__thread__->isolate() == __test_isolate__.isolate());               \
@@ -52,8 +51,7 @@
 // execution state of threads using this macro remains kThreadNative.
 #define TEST_CASE(name)                                                        \
   static void Dart_TestHelper##name(Thread* thread);                           \
-  UNIT_TEST_CASE(name)                                                         \
-  {                                                                            \
+  UNIT_TEST_CASE(name) {                                                       \
     TestIsolateScope __test_isolate__;                                         \
     Thread* __thread__ = Thread::Current();                                    \
     ASSERT(__thread__->isolate() == __test_isolate__.isolate());               \
@@ -80,7 +78,7 @@
   static void AssemblerTestRun##name(AssemblerTest* test);                     \
   VM_TEST_CASE(name) {                                                         \
     Assembler __assembler__;                                                   \
-    AssemblerTest test(""#name, &__assembler__);                               \
+    AssemblerTest test("" #name, &__assembler__);                              \
     AssemblerTestGenerate##name(test.assembler());                             \
     test.Assemble();                                                           \
     AssemblerTestRun##name(&test);                                             \
@@ -102,7 +100,7 @@
 #define CODEGEN_TEST_RUN(name, expected)                                       \
   static void CodeGenTestRun##name(const Function& function);                  \
   VM_TEST_CASE(name) {                                                         \
-    CodeGenTest __test__(""#name);                                             \
+    CodeGenTest __test__("" #name);                                            \
     CodeGenTestGenerate##name(&__test__);                                      \
     __test__.Compile();                                                        \
     CodeGenTestRun##name(__test__.function());                                 \
@@ -122,7 +120,7 @@
 #define CODEGEN_TEST_RAW_RUN(name, function)                                   \
   static void CodeGenTestRun##name(const Function& function);                  \
   VM_TEST_CASE(name) {                                                         \
-    CodeGenTest __test__(""#name);                                             \
+    CodeGenTest __test__("" #name);                                            \
     CodeGenTestGenerate##name(&__test__);                                      \
     __test__.Compile();                                                        \
     CodeGenTestRun##name(__test__.function());                                 \
@@ -136,11 +134,11 @@
   static void CodeGenTestRun##name1(const Function& function);                 \
   VM_TEST_CASE(name1) {                                                        \
     /* Generate code for name2 */                                              \
-    CodeGenTest __test2__(""#name2);                                           \
+    CodeGenTest __test2__("" #name2);                                          \
     CodeGenTestGenerate##name2(&__test2__);                                    \
     __test2__.Compile();                                                       \
     /* Generate code for name1, providing function2 */                         \
-    CodeGenTest __test1__(""#name1);                                           \
+    CodeGenTest __test1__("" #name1);                                          \
     CodeGenTestGenerate##name1(__test2__.function(), &__test1__);              \
     __test1__.Compile();                                                       \
     CodeGenTestRun##name1(__test1__.function());                               \
@@ -155,85 +153,76 @@
   }
 
 
-#if defined(TARGET_ARCH_ARM) ||                                                \
-    defined(TARGET_ARCH_MIPS) ||                                               \
+#if defined(TARGET_ARCH_ARM) || defined(TARGET_ARCH_MIPS) ||                   \
     defined(TARGET_ARCH_ARM64)
-#if defined(HOST_ARCH_ARM) ||                                                  \
-    defined(HOST_ARCH_MIPS) ||                                                 \
+#if defined(HOST_ARCH_ARM) || defined(HOST_ARCH_MIPS) ||                       \
     defined(HOST_ARCH_ARM64)
 // Running on actual ARM or MIPS hardware, execute code natively.
 #define EXECUTE_TEST_CODE_INT32(name, entry) reinterpret_cast<name>(entry)()
 #define EXECUTE_TEST_CODE_INT64(name, entry) reinterpret_cast<name>(entry)()
 #define EXECUTE_TEST_CODE_INT64_LL(name, entry, long_arg0, long_arg1)          \
-    reinterpret_cast<name>(entry)(long_arg0, long_arg1)
+  reinterpret_cast<name>(entry)(long_arg0, long_arg1)
 #define EXECUTE_TEST_CODE_FLOAT(name, entry) reinterpret_cast<name>(entry)()
 #define EXECUTE_TEST_CODE_DOUBLE(name, entry) reinterpret_cast<name>(entry)()
 #define EXECUTE_TEST_CODE_INT32_F(name, entry, float_arg)                      \
-    reinterpret_cast<name>(entry)(float_arg)
+  reinterpret_cast<name>(entry)(float_arg)
 #define EXECUTE_TEST_CODE_INT32_D(name, entry, double_arg)                     \
-    reinterpret_cast<name>(entry)(double_arg)
+  reinterpret_cast<name>(entry)(double_arg)
 #define EXECUTE_TEST_CODE_INTPTR_INTPTR(name, entry, pointer_arg)              \
-    reinterpret_cast<name>(entry)(pointer_arg)
+  reinterpret_cast<name>(entry)(pointer_arg)
 #define EXECUTE_TEST_CODE_INT32_INTPTR(name, entry, pointer_arg)               \
-    reinterpret_cast<name>(entry)(pointer_arg)
+  reinterpret_cast<name>(entry)(pointer_arg)
 #else
 // Not running on ARM or MIPS hardware, call simulator to execute code.
 #if defined(ARCH_IS_64_BIT)
 #define EXECUTE_TEST_CODE_INT64(name, entry)                                   \
-  static_cast<int64_t>(Simulator::Current()->Call(                             \
-      bit_cast<int64_t, uword>(entry), 0, 0, 0, 0))
+  static_cast<int64_t>(                                                        \
+      Simulator::Current()->Call(bit_cast<int64_t, uword>(entry), 0, 0, 0, 0))
 #define EXECUTE_TEST_CODE_DOUBLE(name, entry)                                  \
   bit_cast<double, int64_t>(Simulator::Current()->Call(                        \
       bit_cast<int64_t, uword>(entry), 0, 0, 0, 0, true))
 #define EXECUTE_TEST_CODE_INTPTR_INTPTR(name, entry, pointer_arg)              \
   static_cast<intptr_t>(Simulator::Current()->Call(                            \
       bit_cast<int64_t, uword>(entry),                                         \
-      bit_cast<int64_t, intptr_t>(pointer_arg),                                \
-      0, 0, 0))
+      bit_cast<int64_t, intptr_t>(pointer_arg), 0, 0, 0))
 #define EXECUTE_TEST_CODE_INT32_INTPTR(name, entry, pointer_arg)               \
   static_cast<int32_t>(Simulator::Current()->Call(                             \
       bit_cast<int64_t, uword>(entry),                                         \
-      bit_cast<int64_t, intptr_t>(pointer_arg),                                \
-      0, 0, 0))
+      bit_cast<int64_t, intptr_t>(pointer_arg), 0, 0, 0))
 #else
 #define EXECUTE_TEST_CODE_INT32(name, entry)                                   \
-  static_cast<int32_t>(Simulator::Current()->Call(                             \
-      bit_cast<int32_t, uword>(entry), 0, 0, 0, 0))
+  static_cast<int32_t>(                                                        \
+      Simulator::Current()->Call(bit_cast<int32_t, uword>(entry), 0, 0, 0, 0))
 #define EXECUTE_TEST_CODE_DOUBLE(name, entry)                                  \
   bit_cast<double, int64_t>(Simulator::Current()->Call(                        \
       bit_cast<int32_t, uword>(entry), 0, 0, 0, 0, true))
 #define EXECUTE_TEST_CODE_INTPTR_INTPTR(name, entry, pointer_arg)              \
   static_cast<intptr_t>(Simulator::Current()->Call(                            \
       bit_cast<int32_t, uword>(entry),                                         \
-      bit_cast<int32_t, intptr_t>(pointer_arg),                                \
-      0, 0, 0))
+      bit_cast<int32_t, intptr_t>(pointer_arg), 0, 0, 0))
 #define EXECUTE_TEST_CODE_INT32_INTPTR(name, entry, pointer_arg)               \
   static_cast<int32_t>(Simulator::Current()->Call(                             \
       bit_cast<int32_t, uword>(entry),                                         \
-      bit_cast<int32_t, intptr_t>(pointer_arg),                                \
-      0, 0, 0))
+      bit_cast<int32_t, intptr_t>(pointer_arg), 0, 0, 0))
 #endif  // defined(ARCH_IS_64_BIT)
 #define EXECUTE_TEST_CODE_INT64_LL(name, entry, long_arg0, long_arg1)          \
   static_cast<int64_t>(Simulator::Current()->Call(                             \
-      bit_cast<int32_t, uword>(entry),                                         \
-      Utils::Low32Bits(long_arg0),                                             \
-      Utils::High32Bits(long_arg0),                                            \
-      Utils::Low32Bits(long_arg1),                                             \
+      bit_cast<int32_t, uword>(entry), Utils::Low32Bits(long_arg0),            \
+      Utils::High32Bits(long_arg0), Utils::Low32Bits(long_arg1),               \
       Utils::High32Bits(long_arg1)))
 #define EXECUTE_TEST_CODE_FLOAT(name, entry)                                   \
   bit_cast<float, int32_t>(Simulator::Current()->Call(                         \
       bit_cast<int32_t, uword>(entry), 0, 0, 0, 0, true))
 #define EXECUTE_TEST_CODE_INT32_F(name, entry, float_arg)                      \
   static_cast<int32_t>(Simulator::Current()->Call(                             \
-      bit_cast<int32_t, uword>(entry),                                         \
-      bit_cast<int32_t, float>(float_arg),                                     \
-      0, 0, 0, false, true))
+      bit_cast<int32_t, uword>(entry), bit_cast<int32_t, float>(float_arg), 0, \
+      0, 0, false, true))
 #define EXECUTE_TEST_CODE_INT32_D(name, entry, double_arg)                     \
   static_cast<int32_t>(Simulator::Current()->Call(                             \
       bit_cast<int32_t, uword>(entry),                                         \
       Utils::Low32Bits(bit_cast<int64_t, double>(double_arg)),                 \
-      Utils::High32Bits(bit_cast<int64_t, double>(double_arg)),                \
-      0, 0, false, true))
+      Utils::High32Bits(bit_cast<int64_t, double>(double_arg)), 0, 0, false,   \
+      true))
 #endif  // defined(HOST_ARCH_ARM) || defined(HOST_ARCH_MIPS)
 #endif  // defined(TARGET_ARCH_{ARM, ARM64, MIPS})
 
@@ -265,7 +254,7 @@
 class TestCaseBase {
  public:
   explicit TestCaseBase(const char* name);
-  virtual ~TestCaseBase() { }
+  virtual ~TestCaseBase() {}
 
   const char* name() const { return name_; }
 
@@ -289,9 +278,9 @@
 
 class TestCase : TestCaseBase {
  public:
-  typedef void (RunEntry)();
+  typedef void(RunEntry)();
 
-  TestCase(RunEntry* run, const char* name) : TestCaseBase(name), run_(run) { }
+  TestCase(RunEntry* run, const char* name) : TestCaseBase(name), run_(run) {}
 
   static Dart_Handle LoadTestScript(const char* script,
                                     Dart_NativeEntryResolver resolver,
@@ -301,8 +290,8 @@
                                         Dart_NativeEntryResolver resolver);
   static Dart_Handle lib();
   static const char* url() { return USER_TEST_URI; }
-  static Dart_Isolate CreateTestIsolateFromSnapshot(
-      uint8_t* buffer, const char* name = NULL) {
+  static Dart_Isolate CreateTestIsolateFromSnapshot(uint8_t* buffer,
+                                                    const char* name = NULL) {
     return CreateIsolate(buffer, name);
   }
   static Dart_Isolate CreateTestIsolate(const char* name = NULL) {
@@ -356,22 +345,26 @@
 };
 
 
-template<typename T> struct is_void {
+template <typename T>
+struct is_void {
   static const bool value = false;
 };
 
 
-template<> struct is_void<void> {
+template <>
+struct is_void<void> {
   static const bool value = true;
 };
 
 
-template<typename T> struct is_double {
+template <typename T>
+struct is_double {
   static const bool value = false;
 };
 
 
-template<> struct is_double<double> {
+template <>
+struct is_double<double> {
   static const bool value = true;
 };
 
@@ -379,13 +372,11 @@
 class AssemblerTest {
  public:
   AssemblerTest(const char* name, Assembler* assembler)
-      : name_(name),
-        assembler_(assembler),
-        code_(Code::ZoneHandle()) {
+      : name_(name), assembler_(assembler), code_(Code::ZoneHandle()) {
     ASSERT(name != NULL);
     ASSERT(assembler != NULL);
   }
-  ~AssemblerTest() { }
+  ~AssemblerTest() {}
 
   Assembler* assembler() const { return assembler_; }
 
@@ -394,10 +385,10 @@
   uword payload_start() const { return code_.PayloadStart(); }
   uword entry() const { return code_.UncheckedEntryPoint(); }
 
-  // Invoke/InvokeWithCodeAndThread is used to call assembler test functions
-  // using the ABI calling convention.
-  // ResultType is the return type of the assembler test function.
-  // ArgNType is the type of the Nth argument.
+// Invoke/InvokeWithCodeAndThread is used to call assembler test functions
+// using the ABI calling convention.
+// ResultType is the return type of the assembler test function.
+// ArgNType is the type of the Nth argument.
 #if defined(USING_SIMULATOR) && !defined(TARGET_ARCH_DBC)
 
 #if defined(ARCH_IS_64_BIT)
@@ -407,18 +398,17 @@
   // on 32-bit platforms when returning an int32_t. Since template functions
   // don't support partial specialization, we'd need to introduce a helper
   // class to support 32-bit return types.
-  template<typename ResultType> ResultType InvokeWithCodeAndThread() {
+  template <typename ResultType>
+  ResultType InvokeWithCodeAndThread() {
     const bool fp_return = is_double<ResultType>::value;
     const bool fp_args = false;
     Thread* thread = Thread::Current();
     ASSERT(thread != NULL);
     return bit_cast<ResultType, int64_t>(Simulator::Current()->Call(
-        bit_cast<intptr_t, uword>(entry()),
-        reinterpret_cast<intptr_t>(&code_),
-        reinterpret_cast<intptr_t>(thread),
-        0, 0, fp_return, fp_args));
+        bit_cast<intptr_t, uword>(entry()), reinterpret_cast<intptr_t>(&code_),
+        reinterpret_cast<intptr_t>(thread), 0, 0, fp_return, fp_args));
   }
-  template<typename ResultType, typename Arg1Type>
+  template <typename ResultType, typename Arg1Type>
   ResultType InvokeWithCodeAndThread(Arg1Type arg1) {
     const bool fp_return = is_double<ResultType>::value;
     const bool fp_args = is_double<Arg1Type>::value;
@@ -427,18 +417,16 @@
     Thread* thread = Thread::Current();
     ASSERT(thread != NULL);
     return bit_cast<ResultType, int64_t>(Simulator::Current()->Call(
-        bit_cast<intptr_t, uword>(entry()),
-        reinterpret_cast<intptr_t>(&code_),
-        reinterpret_cast<intptr_t>(thread),
-        reinterpret_cast<intptr_t>(arg1),
-        0, fp_return, fp_args));
+        bit_cast<intptr_t, uword>(entry()), reinterpret_cast<intptr_t>(&code_),
+        reinterpret_cast<intptr_t>(thread), reinterpret_cast<intptr_t>(arg1), 0,
+        fp_return, fp_args));
   }
 #endif  // ARCH_IS_64_BIT
 
-  template<typename ResultType,
-           typename Arg1Type,
-           typename Arg2Type,
-           typename Arg3Type>
+  template <typename ResultType,
+            typename Arg1Type,
+            typename Arg2Type,
+            typename Arg3Type>
   ResultType Invoke(Arg1Type arg1, Arg2Type arg2, Arg3Type arg3) {
     // TODO(fschneider): Support double arguments for simulator calls.
     COMPILE_ASSERT(is_void<ResultType>::value);
@@ -448,17 +436,15 @@
     const bool fp_args = false;
     const bool fp_return = false;
     Simulator::Current()->Call(
-        bit_cast<intptr_t, uword>(entry()),
-        reinterpret_cast<intptr_t>(arg1),
-        reinterpret_cast<intptr_t>(arg2),
-        reinterpret_cast<intptr_t>(arg3),
-        0, fp_return, fp_args);
+        bit_cast<intptr_t, uword>(entry()), reinterpret_cast<intptr_t>(arg1),
+        reinterpret_cast<intptr_t>(arg2), reinterpret_cast<intptr_t>(arg3), 0,
+        fp_return, fp_args);
   }
 #elif defined(USING_SIMULATOR) && defined(TARGET_ARCH_DBC)
-  template<typename ResultType,
-           typename Arg1Type,
-           typename Arg2Type,
-           typename Arg3Type>
+  template <typename ResultType,
+            typename Arg1Type,
+            typename Arg2Type,
+            typename Arg3Type>
   ResultType Invoke(Arg1Type arg1, Arg2Type arg2, Arg3Type arg3) {
     // TODO(fschneider): Support double arguments for simulator calls.
     COMPILE_ASSERT(is_void<ResultType>::value);
@@ -471,34 +457,32 @@
     const Array& arguments = Array::Handle(Array::New(2));
     arguments.SetAt(0, arg1obj);
     arguments.SetAt(1, arg2obj);
-    Simulator::Current()->Call(
-        code(),
-        argdesc,
-        arguments,
-        reinterpret_cast<Thread*>(arg3));
+    Simulator::Current()->Call(code(), argdesc, arguments,
+                               reinterpret_cast<Thread*>(arg3));
   }
 #else
-  template<typename ResultType> ResultType InvokeWithCodeAndThread() {
+  template <typename ResultType>
+  ResultType InvokeWithCodeAndThread() {
     Thread* thread = Thread::Current();
     ASSERT(thread != NULL);
-    typedef ResultType (*FunctionType) (const Code&, Thread*);
+    typedef ResultType (*FunctionType)(const Code&, Thread*);
     return reinterpret_cast<FunctionType>(entry())(code_, thread);
   }
 
-  template<typename ResultType, typename Arg1Type>
+  template <typename ResultType, typename Arg1Type>
   ResultType InvokeWithCodeAndThread(Arg1Type arg1) {
     Thread* thread = Thread::Current();
     ASSERT(thread != NULL);
-    typedef ResultType (*FunctionType) (const Code&, Thread*, Arg1Type);
+    typedef ResultType (*FunctionType)(const Code&, Thread*, Arg1Type);
     return reinterpret_cast<FunctionType>(entry())(code_, thread, arg1);
   }
 
-  template<typename ResultType,
-           typename Arg1Type,
-           typename Arg2Type,
-           typename Arg3Type>
+  template <typename ResultType,
+            typename Arg1Type,
+            typename Arg2Type,
+            typename Arg3Type>
   ResultType Invoke(Arg1Type arg1, Arg2Type arg2, Arg3Type arg3) {
-    typedef ResultType (*FunctionType) (Arg1Type, Arg2Type, Arg3Type);
+    typedef ResultType (*FunctionType)(Arg1Type, Arg2Type, Arg3Type);
     return reinterpret_cast<FunctionType>(entry())(arg1, arg2, arg3);
   }
 #endif  // defined(USING_SIMULATOR) && !defined(TARGET_ARCH_DBC)
@@ -518,9 +502,9 @@
 class CodeGenTest {
  public:
   explicit CodeGenTest(const char* name);
-  ~CodeGenTest() { }
+  ~CodeGenTest() {}
 
-    // Accessors.
+  // Accessors.
   const Function& function() const { return function_; }
 
   SequenceNode* node_sequence() const { return node_sequence_; }
@@ -556,10 +540,12 @@
   do {                                                                         \
     Dart_Handle tmp_handle = (handle);                                         \
     if (Dart_IsError(tmp_handle)) {                                            \
-      dart::Expect(__FILE__, __LINE__).Fail(                                   \
-          "expected '%s' to be a valid handle but found an error handle:\n"    \
-          "    '%s'\n",                                                        \
-          #handle, Dart_GetError(tmp_handle));                                 \
+      dart::Expect(__FILE__, __LINE__)                                         \
+          .Fail(                                                               \
+              "expected '%s' to be a valid handle but found an error "         \
+              "handle:\n"                                                      \
+              "    '%s'\n",                                                    \
+              #handle, Dart_GetError(tmp_handle));                             \
     }                                                                          \
   } while (0)
 
@@ -567,12 +553,14 @@
   do {                                                                         \
     Dart_Handle tmp_handle = (handle);                                         \
     if (Dart_IsError(tmp_handle)) {                                            \
-      dart::Expect(__FILE__, __LINE__).IsSubstring((substring),                \
-                                                   Dart_GetError(tmp_handle)); \
+      dart::Expect(__FILE__, __LINE__)                                         \
+          .IsSubstring((substring), Dart_GetError(tmp_handle));                \
     } else {                                                                   \
-      dart::Expect(__FILE__, __LINE__).Fail(                                   \
-          "expected '%s' to be an error handle but found a valid handle.\n",   \
-          #handle);                                                            \
+      dart::Expect(__FILE__, __LINE__)                                         \
+          .Fail(                                                               \
+              "expected '%s' to be an error handle but found a valid "         \
+              "handle.\n",                                                     \
+              #handle);                                                        \
     }                                                                          \
   } while (0)
 
@@ -583,12 +571,12 @@
       bool value;                                                              \
       Dart_BooleanValue(tmp_handle, &value);                                   \
       if (!value) {                                                            \
-        dart::Expect(__FILE__, __LINE__).Fail("expected True, but was '%s'\n", \
-            #handle);                                                          \
+        dart::Expect(__FILE__, __LINE__)                                       \
+            .Fail("expected True, but was '%s'\n", #handle);                   \
       }                                                                        \
     } else {                                                                   \
-      dart::Expect(__FILE__, __LINE__).Fail("expected True, but was '%s'\n",   \
-          #handle);                                                            \
+      dart::Expect(__FILE__, __LINE__)                                         \
+          .Fail("expected True, but was '%s'\n", #handle);                     \
     }                                                                          \
   } while (0)
 
@@ -610,18 +598,14 @@
 void ElideJSONSubstring(const char* prefix, const char* in, char* out);
 
 
-template<typename T>
+template <typename T>
 class SetFlagScope : public ValueObject {
  public:
-  SetFlagScope(T* flag, T value)
-      : flag_(flag),
-        original_value_(*flag) {
+  SetFlagScope(T* flag, T value) : flag_(flag), original_value_(*flag) {
     *flag_ = value;
   }
 
-  ~SetFlagScope() {
-    *flag_ = original_value_;
-  }
+  ~SetFlagScope() { *flag_ = original_value_; }
 
  private:
   T* flag_;
diff --git a/runtime/vm/uri.cc b/runtime/vm/uri.cc
index 7d9ef76..6b8c9c4 100644
--- a/runtime/vm/uri.cc
+++ b/runtime/vm/uri.cc
@@ -9,23 +9,32 @@
 namespace dart {
 
 static bool IsUnreservedChar(intptr_t value) {
-  return ((value >= 'a' && value <= 'z') ||
-          (value >= 'A' && value <= 'Z') ||
-          (value >= '0' && value <= '9') ||
-          value == '-' ||
-          value == '.' ||
-          value == '_' ||
-          value == '~');
+  return ((value >= 'a' && value <= 'z') || (value >= 'A' && value <= 'Z') ||
+          (value >= '0' && value <= '9') || value == '-' || value == '.' ||
+          value == '_' || value == '~');
 }
 
 
 static bool IsDelimiter(intptr_t value) {
   switch (value) {
-    case ':': case '/': case '?': case '#':
-    case '[': case ']': case '@': case '!':
-    case '$': case '&': case '\'': case '(':
-    case ')': case '*': case '+': case ',':
-    case ';': case '=':
+    case ':':
+    case '/':
+    case '?':
+    case '#':
+    case '[':
+    case ']':
+    case '@':
+    case '!':
+    case '$':
+    case '&':
+    case '\'':
+    case '(':
+    case ')':
+    case '*':
+    case '+':
+    case ',':
+    case ';':
+    case '=':
       return true;
     default:
       return false;
@@ -34,8 +43,7 @@
 
 
 static bool IsHexDigit(char value) {
-  return ((value >= '0' && value <= '9') ||
-          (value >= 'A' && value <= 'F') ||
+  return ((value >= '0' && value <= '9') || (value >= 'A' && value <= 'F') ||
           (value >= 'a' && value <= 'f'));
 }
 
@@ -224,8 +232,7 @@
   if (*question_pos == '?') {
     // There is a query part.
     const char* query_start = question_pos + 1;
-    parsed_uri->query =
-        NormalizeEscapes(query_start, (hash_pos - query_start));
+    parsed_uri->query = NormalizeEscapes(query_start, (hash_pos - query_start));
   } else {
     parsed_uri->query = NULL;
   }
@@ -235,8 +242,7 @@
     // There is an authority part.
     const char* authority_start = rest + 2;  // 2 for '//'.
 
-    intptr_t authority_len =
-        ParseAuthority(authority_start, parsed_uri);
+    intptr_t authority_len = ParseAuthority(authority_start, parsed_uri);
     if (authority_len < 0) {
       ClearParsedUri(parsed_uri);
       return false;
@@ -367,7 +373,7 @@
   intptr_t truncated_base_len = last_slash - base_path;
   intptr_t ref_path_len = strlen(ref_path);
   intptr_t len = truncated_base_len + ref_path_len + 1;  // +1 for '/'
-  char* buffer = zone->Alloc<char>(len + 1);  // +1 for '\0'
+  char* buffer = zone->Alloc<char>(len + 1);             // +1 for '\0'
 
   // Copy truncated base.
   strncpy(buffer, base_path, truncated_base_len);
@@ -399,17 +405,16 @@
   // relative urls inside a "dart:" library.
   if (uri.scheme == NULL) {
     ASSERT(uri.userinfo == NULL && uri.host == NULL && uri.port == NULL);
-    return zone->PrintToString("%s%s%s%s%s",
-                               uri.path, query_separator, query,
+    return zone->PrintToString("%s%s%s%s%s", uri.path, query_separator, query,
                                fragment_separator, fragment);
   }
 
   // Uri with no authority: "scheme:path[?query][#fragment]"
   if (uri.host == NULL) {
     ASSERT(uri.userinfo == NULL && uri.port == NULL);
-    return zone->PrintToString("%s:%s%s%s%s%s",
-                               uri.scheme, uri.path, query_separator, query,
-                               fragment_separator, fragment);
+    return zone->PrintToString("%s:%s%s%s%s%s", uri.scheme, uri.path,
+                               query_separator, query, fragment_separator,
+                               fragment);
   }
 
   const char* user = uri.userinfo == NULL ? "" : uri.userinfo;
@@ -419,16 +424,16 @@
 
   // If the path doesn't start with a '/', add one.  We need it to
   // separate the path from the authority.
-  const char* path_separator = ((uri.path[0] == '\0' || uri.path[0] == '/')
-                                ? "" : "/");
+  const char* path_separator =
+      ((uri.path[0] == '\0' || uri.path[0] == '/') ? "" : "/");
 
   // Uri with authority:
   //   "scheme://[userinfo@]host[:port][/]path[?query][#fragment]"
   return zone->PrintToString(
       "%s://%s%s%s%s%s%s%s%s%s%s%s",  // There is *nothing* wrong with this.
       uri.scheme, user, user_separator, uri.host, port_separator, port,
-      path_separator, uri.path, query_separator, query,
-      fragment_separator, fragment);
+      path_separator, uri.path, query_separator, query, fragment_separator,
+      fragment);
 }
 
 
diff --git a/runtime/vm/uri_test.cc b/runtime/vm/uri_test.cc
index 34631a5..14f26fb 100644
--- a/runtime/vm/uri_test.cc
+++ b/runtime/vm/uri_test.cc
@@ -48,8 +48,8 @@
 
 TEST_CASE(ParseUri_WithScheme_WithQueryWithFragment) {
   ParsedUri uri;
-  EXPECT(ParseUri("foo://example.com:8042/over/there?name=ferret#fragment",
-                  &uri));
+  EXPECT(
+      ParseUri("foo://example.com:8042/over/there?name=ferret#fragment", &uri));
   EXPECT_STREQ("foo", uri.scheme);
   EXPECT(uri.userinfo == NULL);
   EXPECT_STREQ("example.com", uri.host);
@@ -244,8 +244,8 @@
 
 TEST_CASE(ParseUri_NormalizeEscapes_PathQueryFragment) {
   ParsedUri uri;
-  EXPECT(ParseUri(
-      "scheme:/This%09Is A P%61th?This%09Is A Qu%65ry#A Fr%61gment", &uri));
+  EXPECT(ParseUri("scheme:/This%09Is A P%61th?This%09Is A Qu%65ry#A Fr%61gment",
+                  &uri));
   EXPECT_STREQ("scheme", uri.scheme);
   EXPECT(uri.userinfo == NULL);
   EXPECT(uri.host == NULL);
@@ -258,8 +258,7 @@
 
 TEST_CASE(ParseUri_NormalizeEscapes_UppercaseEscapesPreferred) {
   ParsedUri uri;
-  EXPECT(ParseUri(
-      "scheme:/%1b%1B", &uri));
+  EXPECT(ParseUri("scheme:/%1b%1B", &uri));
   EXPECT_STREQ("scheme", uri.scheme);
   EXPECT(uri.userinfo == NULL);
   EXPECT(uri.host == NULL);
@@ -272,8 +271,7 @@
 
 TEST_CASE(ParseUri_NormalizeEscapes_Authority) {
   ParsedUri uri;
-  EXPECT(ParseUri(
-      "scheme://UsEr N%61%4de@h%4FsT.c%6fm:80/", &uri));
+  EXPECT(ParseUri("scheme://UsEr N%61%4de@h%4FsT.c%6fm:80/", &uri));
   EXPECT_STREQ("scheme", uri.scheme);
   EXPECT_STREQ("UsEr%20NaMe", uri.userinfo);  // Normalized, case preserved.
   EXPECT_STREQ("host.com", uri.host);         // Normalized, lower-cased.
@@ -299,8 +297,7 @@
 
 TEST_CASE(ParseUri_BrokenEscapeSequence) {
   ParsedUri uri;
-  EXPECT(ParseUri(
-      "scheme:/%1g", &uri));
+  EXPECT(ParseUri("scheme:/%1g", &uri));
   EXPECT_STREQ("scheme", uri.scheme);
   EXPECT(uri.userinfo == NULL);
   EXPECT(uri.host == NULL);
@@ -340,8 +337,7 @@
 
 TEST_CASE(ResolveUri_NoSchemeNoAuthority_AbsolutePath) {
   const char* target_uri;
-  EXPECT(ResolveUri("/ref/path",
-                    "bscheme://buser@bhost:11/base/path?baseQuery",
+  EXPECT(ResolveUri("/ref/path", "bscheme://buser@bhost:11/base/path?baseQuery",
                     &target_uri));
   EXPECT_STREQ("bscheme://buser@bhost:11/ref/path", target_uri);
 }
@@ -349,8 +345,7 @@
 
 TEST_CASE(ResolveUri_NoSchemeNoAuthority_RelativePath) {
   const char* target_uri;
-  EXPECT(ResolveUri("ref/path",
-                    "bscheme://buser@bhost:11/base/path?baseQuery",
+  EXPECT(ResolveUri("ref/path", "bscheme://buser@bhost:11/base/path?baseQuery",
                     &target_uri));
   EXPECT_STREQ("bscheme://buser@bhost:11/base/ref/path", target_uri);
 }
@@ -358,18 +353,14 @@
 
 TEST_CASE(ResolveUri_NoSchemeNoAuthority_RelativePathEmptyBasePath) {
   const char* target_uri;
-  EXPECT(ResolveUri("ref/path",
-                    "bscheme://buser@bhost:11",
-                    &target_uri));
+  EXPECT(ResolveUri("ref/path", "bscheme://buser@bhost:11", &target_uri));
   EXPECT_STREQ("bscheme://buser@bhost:11/ref/path", target_uri);
 }
 
 
 TEST_CASE(ResolveUri_NoSchemeNoAuthority_RelativePathWeirdBasePath) {
   const char* target_uri;
-  EXPECT(ResolveUri("ref/path",
-                    "bscheme:base",
-                    &target_uri));
+  EXPECT(ResolveUri("ref/path", "bscheme:base", &target_uri));
   EXPECT_STREQ("bscheme:ref/path", target_uri);
 }
 
@@ -405,36 +396,28 @@
 
 TEST_CASE(ResolveUri_RemoveDots_RemoveOneDotSegment) {
   const char* target_uri;
-  EXPECT(ResolveUri("./refpath",
-                    "scheme://auth/a/b/c/d",
-                    &target_uri));
+  EXPECT(ResolveUri("./refpath", "scheme://auth/a/b/c/d", &target_uri));
   EXPECT_STREQ("scheme://auth/a/b/c/refpath", target_uri);
 }
 
 
 TEST_CASE(ResolveUri_RemoveDots_RemoveTwoDotSegments) {
   const char* target_uri;
-  EXPECT(ResolveUri("././refpath",
-                    "scheme://auth/a/b/c/d",
-                    &target_uri));
+  EXPECT(ResolveUri("././refpath", "scheme://auth/a/b/c/d", &target_uri));
   EXPECT_STREQ("scheme://auth/a/b/c/refpath", target_uri);
 }
 
 
 TEST_CASE(ResolveUri_RemoveDots_RemoveOneDotDotSegment) {
   const char* target_uri;
-  EXPECT(ResolveUri("../refpath",
-                    "scheme://auth/a/b/c/d",
-                    &target_uri));
+  EXPECT(ResolveUri("../refpath", "scheme://auth/a/b/c/d", &target_uri));
   EXPECT_STREQ("scheme://auth/a/b/refpath", target_uri);
 }
 
 
 TEST_CASE(ResolveUri_RemoveDots_RemoveTwoDotDotSegments) {
   const char* target_uri;
-  EXPECT(ResolveUri("../../refpath",
-                    "scheme://auth/a/b/c/d",
-                    &target_uri));
+  EXPECT(ResolveUri("../../refpath", "scheme://auth/a/b/c/d", &target_uri));
   EXPECT_STREQ("scheme://auth/a/refpath", target_uri);
 }
 
@@ -442,47 +425,36 @@
 TEST_CASE(ResolveUri_RemoveDots_RemoveTooManyDotDotSegments) {
   const char* target_uri;
   EXPECT(ResolveUri("../../../../../../../../../refpath",
-                    "scheme://auth/a/b/c/d",
-                    &target_uri));
+                    "scheme://auth/a/b/c/d", &target_uri));
   EXPECT_STREQ("scheme://auth/refpath", target_uri);
 }
 
 
 TEST_CASE(ResolveUri_RemoveDots_RemoveDotSegmentsNothingLeft1) {
   const char* target_uri;
-  EXPECT(ResolveUri("../../../../..",
-                    "scheme://auth/a/b/c/d",
-                    &target_uri));
+  EXPECT(ResolveUri("../../../../..", "scheme://auth/a/b/c/d", &target_uri));
   EXPECT_STREQ("scheme://auth/", target_uri);
 }
 
 
-
 TEST_CASE(ResolveUri_RemoveDots_RemoveDotSegmentsNothingLeft2) {
   const char* target_uri;
-  EXPECT(ResolveUri(".",
-                    "scheme://auth/",
-                    &target_uri));
+  EXPECT(ResolveUri(".", "scheme://auth/", &target_uri));
   EXPECT_STREQ("scheme://auth/", target_uri);
 }
 
 
-
 TEST_CASE(ResolveUri_RemoveDots_RemoveDotSegmentsInitialPrefix) {
   const char* target_uri;
-  EXPECT(ResolveUri("../../../../refpath",
-                    "scheme://auth",
-                    &target_uri));
+  EXPECT(ResolveUri("../../../../refpath", "scheme://auth", &target_uri));
   EXPECT_STREQ("scheme://auth/refpath", target_uri);
 }
 
 
-
 TEST_CASE(ResolveUri_RemoveDots_RemoveDotSegmentsMixed) {
   const char* target_uri;
   EXPECT(ResolveUri("../../1/./2/../3/4/../5/././6/../7",
-                    "scheme://auth/a/b/c/d/e",
-                    &target_uri));
+                    "scheme://auth/a/b/c/d/e", &target_uri));
   EXPECT_STREQ("scheme://auth/a/b/1/3/5/7", target_uri);
 }
 
@@ -500,19 +472,15 @@
 
 TEST_CASE(ResolveUri_NormalizeEscapes_UppercaseHexPreferred) {
   const char* target_uri;
-  EXPECT(ResolveUri("",
-                    "scheme:/%1b%1B",
-                    &target_uri));
-  EXPECT_STREQ("scheme:/%1B%1B",
-               target_uri);
+  EXPECT(ResolveUri("", "scheme:/%1b%1B", &target_uri));
+  EXPECT_STREQ("scheme:/%1B%1B", target_uri);
 }
 
 
 TEST_CASE(ResolveUri_NormalizeEscapes_Authority) {
   const char* target_uri;
-  EXPECT(ResolveUri("",
-                    "scheme://UsEr N%61%4de@h%4FsT.c%6fm:80/",
-                    &target_uri));
+  EXPECT(
+      ResolveUri("", "scheme://UsEr N%61%4de@h%4FsT.c%6fm:80/", &target_uri));
   // userinfo is normalized and case is preserved.  host is normalized
   // and lower-cased.
   EXPECT_STREQ("scheme://UsEr%20NaMe@host.com:80/", target_uri);
@@ -521,18 +489,30 @@
 
 TEST_CASE(ResolveUri_NormalizeEscapes_BrokenEscapeSequence) {
   const char* target_uri;
-  EXPECT(ResolveUri("",
-                    "scheme:/%1g",
-                    &target_uri));
+  EXPECT(ResolveUri("", "scheme:/%1g", &target_uri));
   // We don't change broken escape sequences.
-  EXPECT_STREQ("scheme:/%1g",
-               target_uri);
+  EXPECT_STREQ("scheme:/%1g", target_uri);
 }
 
 
 TEST_CASE(ResolveUri_DataUri) {
   const char* data_uri =
-      "data:application/dart;charset=utf-8,%20%20%20%20%20%20%20%20import%20%22dart:isolate%22;%0A%0A%20%20%20%20%20%20%20%20import%20%22package:stream_channel/stream_channel.dart%22;%0A%0A%20%20%20%20%20%20%20%20import%20%22package:test/src/runner/plugin/remote_platform_helpers.dart%22;%0A%20%20%20%20%20%20%20%20import%20%22package:test/src/runner/vm/catch_isolate_errors.dart%22;%0A%0A%20%20%20%20%20%20%20%20import%20%22file:///home/sra/xxxx/dev_compiler/test/all_tests.dart%22%20as%20test;%0A%0A%20%20%20%20%20%20%20%20void%20main(_,%20SendPort%20message)%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20channel%20=%20serializeSuite(()%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20catchIsolateErrors();%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20test.main;%0A%20%20%20%20%20%20%20%20%20%20%7D);%0A%20%20%20%20%20%20%20%20%20%20new%20IsolateChannel.connectSend(message).pipe(channel);%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20";  // NOLINT
+      "data:application/"
+      "dart;charset=utf-8,%20%20%20%20%20%20%20%20import%20%22dart:isolate%22;%"
+      "0A%0A%20%20%20%20%20%20%20%20import%20%22package:stream_channel/"
+      "stream_channel.dart%22;%0A%0A%20%20%20%20%20%20%20%20import%20%"
+      "22package:test/src/runner/plugin/"
+      "remote_platform_helpers.dart%22;%0A%20%20%20%20%20%20%20%20import%20%"
+      "22package:test/src/runner/vm/"
+      "catch_isolate_errors.dart%22;%0A%0A%20%20%20%20%20%20%20%20import%20%"
+      "22file:///home/sra/xxxx/dev_compiler/test/"
+      "all_tests.dart%22%20as%20test;%0A%0A%20%20%20%20%20%20%20%20void%20main("
+      "_,%20SendPort%20message)%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%"
+      "20channel%20=%20serializeSuite(()%20%7B%0A%20%20%20%20%20%20%20%20%20%"
+      "20%20%20catchIsolateErrors();%0A%20%20%20%20%20%20%20%20%20%20%20%"
+      "20return%20test.main;%0A%20%20%20%20%20%20%20%20%20%20%7D);%0A%20%20%20%"
+      "20%20%20%20%20%20%20new%20IsolateChannel.connectSend(message).pipe("
+      "channel);%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20";
 
   const char* target_uri;
   EXPECT(ResolveUri(data_uri,
@@ -581,51 +561,51 @@
   const char* base = "http://a/b/c/d;p?q";
 
   // From RFC 3986
-  EXPECT_STREQ("g:h",                   TestResolve(base, "g:h"));
-  EXPECT_STREQ("http://a/b/c/g",        TestResolve(base, "g"));
-  EXPECT_STREQ("http://a/b/c/g",        TestResolve(base, "./g"));
-  EXPECT_STREQ("http://a/b/c/g/",       TestResolve(base, "g/"));
-  EXPECT_STREQ("http://a/g",            TestResolve(base, "/g"));
-  EXPECT_STREQ("http://g",              TestResolve(base, "//g"));
-  EXPECT_STREQ("http://a/b/c/d;p?y",    TestResolve(base, "?y"));
-  EXPECT_STREQ("http://a/b/c/g?y",      TestResolve(base, "g?y"));
-  EXPECT_STREQ("http://a/b/c/d;p?q#s",  TestResolve(base, "#s"));
-  EXPECT_STREQ("http://a/b/c/g#s",      TestResolve(base, "g#s"));
-  EXPECT_STREQ("http://a/b/c/g?y#s",    TestResolve(base, "g?y#s"));
-  EXPECT_STREQ("http://a/b/c/;x",       TestResolve(base, ";x"));
-  EXPECT_STREQ("http://a/b/c/g;x",      TestResolve(base, "g;x"));
-  EXPECT_STREQ("http://a/b/c/g;x?y#s",  TestResolve(base, "g;x?y#s"));
-  EXPECT_STREQ("http://a/b/c/d;p?q",    TestResolve(base, ""));
-  EXPECT_STREQ("http://a/b/c/",         TestResolve(base, "."));
-  EXPECT_STREQ("http://a/b/c/",         TestResolve(base, "./"));
-  EXPECT_STREQ("http://a/b/",           TestResolve(base, ".."));
-  EXPECT_STREQ("http://a/b/",           TestResolve(base, "../"));
-  EXPECT_STREQ("http://a/b/g",          TestResolve(base, "../g"));
-  EXPECT_STREQ("http://a/",             TestResolve(base, "../.."));
-  EXPECT_STREQ("http://a/",             TestResolve(base, "../../"));
-  EXPECT_STREQ("http://a/g",            TestResolve(base, "../../g"));
-  EXPECT_STREQ("http://a/g",            TestResolve(base, "../../../g"));
-  EXPECT_STREQ("http://a/g",            TestResolve(base, "../../../../g"));
-  EXPECT_STREQ("http://a/g",            TestResolve(base, "/./g"));
-  EXPECT_STREQ("http://a/g",            TestResolve(base, "/../g"));
-  EXPECT_STREQ("http://a/b/c/g.",       TestResolve(base, "g."));
-  EXPECT_STREQ("http://a/b/c/.g",       TestResolve(base, ".g"));
-  EXPECT_STREQ("http://a/b/c/g..",      TestResolve(base, "g.."));
-  EXPECT_STREQ("http://a/b/c/..g",      TestResolve(base, "..g"));
-  EXPECT_STREQ("http://a/b/g",          TestResolve(base, "./../g"));
-  EXPECT_STREQ("http://a/b/c/g/",       TestResolve(base, "./g/."));
-  EXPECT_STREQ("http://a/b/c/g/h",      TestResolve(base, "g/./h"));
-  EXPECT_STREQ("http://a/b/c/h",        TestResolve(base, "g/../h"));
-  EXPECT_STREQ("http://a/b/c/g;x=1/y",  TestResolve(base, "g;x=1/./y"));
-  EXPECT_STREQ("http://a/b/c/y",        TestResolve(base, "g;x=1/../y"));
-  EXPECT_STREQ("http://a/b/c/g?y/./x",  TestResolve(base, "g?y/./x"));
+  EXPECT_STREQ("g:h", TestResolve(base, "g:h"));
+  EXPECT_STREQ("http://a/b/c/g", TestResolve(base, "g"));
+  EXPECT_STREQ("http://a/b/c/g", TestResolve(base, "./g"));
+  EXPECT_STREQ("http://a/b/c/g/", TestResolve(base, "g/"));
+  EXPECT_STREQ("http://a/g", TestResolve(base, "/g"));
+  EXPECT_STREQ("http://g", TestResolve(base, "//g"));
+  EXPECT_STREQ("http://a/b/c/d;p?y", TestResolve(base, "?y"));
+  EXPECT_STREQ("http://a/b/c/g?y", TestResolve(base, "g?y"));
+  EXPECT_STREQ("http://a/b/c/d;p?q#s", TestResolve(base, "#s"));
+  EXPECT_STREQ("http://a/b/c/g#s", TestResolve(base, "g#s"));
+  EXPECT_STREQ("http://a/b/c/g?y#s", TestResolve(base, "g?y#s"));
+  EXPECT_STREQ("http://a/b/c/;x", TestResolve(base, ";x"));
+  EXPECT_STREQ("http://a/b/c/g;x", TestResolve(base, "g;x"));
+  EXPECT_STREQ("http://a/b/c/g;x?y#s", TestResolve(base, "g;x?y#s"));
+  EXPECT_STREQ("http://a/b/c/d;p?q", TestResolve(base, ""));
+  EXPECT_STREQ("http://a/b/c/", TestResolve(base, "."));
+  EXPECT_STREQ("http://a/b/c/", TestResolve(base, "./"));
+  EXPECT_STREQ("http://a/b/", TestResolve(base, ".."));
+  EXPECT_STREQ("http://a/b/", TestResolve(base, "../"));
+  EXPECT_STREQ("http://a/b/g", TestResolve(base, "../g"));
+  EXPECT_STREQ("http://a/", TestResolve(base, "../.."));
+  EXPECT_STREQ("http://a/", TestResolve(base, "../../"));
+  EXPECT_STREQ("http://a/g", TestResolve(base, "../../g"));
+  EXPECT_STREQ("http://a/g", TestResolve(base, "../../../g"));
+  EXPECT_STREQ("http://a/g", TestResolve(base, "../../../../g"));
+  EXPECT_STREQ("http://a/g", TestResolve(base, "/./g"));
+  EXPECT_STREQ("http://a/g", TestResolve(base, "/../g"));
+  EXPECT_STREQ("http://a/b/c/g.", TestResolve(base, "g."));
+  EXPECT_STREQ("http://a/b/c/.g", TestResolve(base, ".g"));
+  EXPECT_STREQ("http://a/b/c/g..", TestResolve(base, "g.."));
+  EXPECT_STREQ("http://a/b/c/..g", TestResolve(base, "..g"));
+  EXPECT_STREQ("http://a/b/g", TestResolve(base, "./../g"));
+  EXPECT_STREQ("http://a/b/c/g/", TestResolve(base, "./g/."));
+  EXPECT_STREQ("http://a/b/c/g/h", TestResolve(base, "g/./h"));
+  EXPECT_STREQ("http://a/b/c/h", TestResolve(base, "g/../h"));
+  EXPECT_STREQ("http://a/b/c/g;x=1/y", TestResolve(base, "g;x=1/./y"));
+  EXPECT_STREQ("http://a/b/c/y", TestResolve(base, "g;x=1/../y"));
+  EXPECT_STREQ("http://a/b/c/g?y/./x", TestResolve(base, "g?y/./x"));
   EXPECT_STREQ("http://a/b/c/g?y/../x", TestResolve(base, "g?y/../x"));
-  EXPECT_STREQ("http://a/b/c/g#s/./x",  TestResolve(base, "g#s/./x"));
+  EXPECT_STREQ("http://a/b/c/g#s/./x", TestResolve(base, "g#s/./x"));
   EXPECT_STREQ("http://a/b/c/g#s/../x", TestResolve(base, "g#s/../x"));
-  EXPECT_STREQ("http:g",                TestResolve(base, "http:g"));
+  EXPECT_STREQ("http:g", TestResolve(base, "http:g"));
 
   // Additional tests (not from RFC 3986).
-  EXPECT_STREQ("http://a/b/g;p/h;s",    TestResolve(base, "../g;p/h;s"));
+  EXPECT_STREQ("http://a/b/g;p/h;s", TestResolve(base, "../g;p/h;s"));
 
   base = "s:a/b";
   EXPECT_STREQ("s:/c", TestResolve(base, "../c"));
@@ -635,32 +615,32 @@
 // This test is ported from sdk/tests/corelib/uri_test.dart (testResolvePath).
 TEST_CASE(ResolveUri_MoreDotSegmentTests) {
   const char* base = "/";
-  EXPECT_STREQ("/a/g",    TestResolve(base, "/a/b/c/./../../g"));
-  EXPECT_STREQ("/a/g",    TestResolve(base, "/a/b/c/./../../g"));
-  EXPECT_STREQ("/mid/6",  TestResolve(base, "mid/content=5/../6"));
-  EXPECT_STREQ("/a/b/e",  TestResolve(base, "a/b/c/d/../../e"));
-  EXPECT_STREQ("/a/b/e",  TestResolve(base, "../a/b/c/d/../../e"));
-  EXPECT_STREQ("/a/b/e",  TestResolve(base, "./a/b/c/d/../../e"));
-  EXPECT_STREQ("/a/b/e",  TestResolve(base, "../a/b/./c/d/../../e"));
-  EXPECT_STREQ("/a/b/e",  TestResolve(base, "./a/b/./c/d/../../e"));
+  EXPECT_STREQ("/a/g", TestResolve(base, "/a/b/c/./../../g"));
+  EXPECT_STREQ("/a/g", TestResolve(base, "/a/b/c/./../../g"));
+  EXPECT_STREQ("/mid/6", TestResolve(base, "mid/content=5/../6"));
+  EXPECT_STREQ("/a/b/e", TestResolve(base, "a/b/c/d/../../e"));
+  EXPECT_STREQ("/a/b/e", TestResolve(base, "../a/b/c/d/../../e"));
+  EXPECT_STREQ("/a/b/e", TestResolve(base, "./a/b/c/d/../../e"));
+  EXPECT_STREQ("/a/b/e", TestResolve(base, "../a/b/./c/d/../../e"));
+  EXPECT_STREQ("/a/b/e", TestResolve(base, "./a/b/./c/d/../../e"));
   EXPECT_STREQ("/a/b/e/", TestResolve(base, "./a/b/./c/d/../../e/."));
   EXPECT_STREQ("/a/b/e/", TestResolve(base, "./a/b/./c/d/../../e/./."));
   EXPECT_STREQ("/a/b/e/", TestResolve(base, "./a/b/./c/d/../../e/././."));
 
-  #define LH "http://localhost"
+#define LH "http://localhost"
   base = LH;
-  EXPECT_STREQ(LH "/a/g",    TestResolve(base, "/a/b/c/./../../g"));
-  EXPECT_STREQ(LH "/a/g",    TestResolve(base, "/a/b/c/./../../g"));
-  EXPECT_STREQ(LH "/mid/6",  TestResolve(base, "mid/content=5/../6"));
-  EXPECT_STREQ(LH "/a/b/e",  TestResolve(base, "a/b/c/d/../../e"));
-  EXPECT_STREQ(LH "/a/b/e",  TestResolve(base, "../a/b/c/d/../../e"));
-  EXPECT_STREQ(LH "/a/b/e",  TestResolve(base, "./a/b/c/d/../../e"));
-  EXPECT_STREQ(LH "/a/b/e",  TestResolve(base, "../a/b/./c/d/../../e"));
-  EXPECT_STREQ(LH "/a/b/e",  TestResolve(base, "./a/b/./c/d/../../e"));
+  EXPECT_STREQ(LH "/a/g", TestResolve(base, "/a/b/c/./../../g"));
+  EXPECT_STREQ(LH "/a/g", TestResolve(base, "/a/b/c/./../../g"));
+  EXPECT_STREQ(LH "/mid/6", TestResolve(base, "mid/content=5/../6"));
+  EXPECT_STREQ(LH "/a/b/e", TestResolve(base, "a/b/c/d/../../e"));
+  EXPECT_STREQ(LH "/a/b/e", TestResolve(base, "../a/b/c/d/../../e"));
+  EXPECT_STREQ(LH "/a/b/e", TestResolve(base, "./a/b/c/d/../../e"));
+  EXPECT_STREQ(LH "/a/b/e", TestResolve(base, "../a/b/./c/d/../../e"));
+  EXPECT_STREQ(LH "/a/b/e", TestResolve(base, "./a/b/./c/d/../../e"));
   EXPECT_STREQ(LH "/a/b/e/", TestResolve(base, "./a/b/./c/d/../../e/."));
   EXPECT_STREQ(LH "/a/b/e/", TestResolve(base, "./a/b/./c/d/../../e/./."));
   EXPECT_STREQ(LH "/a/b/e/", TestResolve(base, "./a/b/./c/d/../../e/././."));
-  #undef LH
+#undef LH
 }
 
 }  // namespace dart
diff --git a/runtime/vm/verifier.cc b/runtime/vm/verifier.cc
index a2ce0c3..5bc4765 100644
--- a/runtime/vm/verifier.cc
+++ b/runtime/vm/verifier.cc
@@ -26,18 +26,18 @@
       }
     } else {
       switch (mark_expectation_) {
-       case kForbidMarked:
-        if (raw_obj->IsMarked()) {
-          FATAL1("Marked object encountered %#" Px "\n", raw_addr);
-        }
-        break;
-       case kAllowMarked:
-        break;
-       case kRequireMarked:
-        if (!raw_obj->IsMarked()) {
-          FATAL1("Unmarked object encountered %#" Px "\n", raw_addr);
-        }
-        break;
+        case kForbidMarked:
+          if (raw_obj->IsMarked()) {
+            FATAL1("Marked object encountered %#" Px "\n", raw_addr);
+          }
+          break;
+        case kAllowMarked:
+          break;
+        case kRequireMarked:
+          if (!raw_obj->IsMarked()) {
+            FATAL1("Unmarked object encountered %#" Px "\n", raw_addr);
+          }
+          break;
       }
     }
   }
@@ -72,13 +72,11 @@
   Thread* thread = Thread::Current();
   Isolate* isolate = thread->isolate();
   StackZone stack_zone(thread);
-  ObjectSet* allocated_set =
-      isolate->heap()->CreateAllocatedObjectSet(stack_zone.GetZone(),
-                                                mark_expectation);
+  ObjectSet* allocated_set = isolate->heap()->CreateAllocatedObjectSet(
+      stack_zone.GetZone(), mark_expectation);
   VerifyPointersVisitor visitor(isolate, allocated_set);
   // Visit all strongly reachable objects.
-  isolate->IterateObjectPointers(&visitor,
-                                 StackFrameIterator::kValidateFrames);
+  isolate->IterateObjectPointers(&visitor, StackFrameIterator::kValidateFrames);
   VerifyWeakPointersVisitor weak_visitor(&visitor);
   // Visit weak handles and prologue weak handles.
   isolate->VisitWeakPersistentHandles(&weak_visitor);
@@ -87,9 +85,7 @@
 
 #if defined(DEBUG)
 VerifyCanonicalVisitor::VerifyCanonicalVisitor(Thread* thread)
-    : thread_(thread),
-      instanceHandle_(Instance::Handle(thread->zone())) {
-}
+    : thread_(thread), instanceHandle_(Instance::Handle(thread->zone())) {}
 
 
 void VerifyCanonicalVisitor::VisitObject(RawObject* obj) {
diff --git a/runtime/vm/verifier.h b/runtime/vm/verifier.h
index bade6ab..e949738 100644
--- a/runtime/vm/verifier.h
+++ b/runtime/vm/verifier.h
@@ -18,22 +18,17 @@
 class RawObject;
 
 
-enum MarkExpectation {
-  kForbidMarked,
-  kAllowMarked,
-  kRequireMarked
-};
+enum MarkExpectation { kForbidMarked, kAllowMarked, kRequireMarked };
 
 
 class VerifyObjectVisitor : public ObjectVisitor {
  public:
   VerifyObjectVisitor(Isolate* isolate,
-                     ObjectSet* allocated_set,
-                     MarkExpectation mark_expectation)
+                      ObjectSet* allocated_set,
+                      MarkExpectation mark_expectation)
       : isolate_(isolate),
         allocated_set_(allocated_set),
-        mark_expectation_(mark_expectation) {
-  }
+        mark_expectation_(mark_expectation) {}
 
   virtual void VisitObject(RawObject* obj);
 
@@ -50,9 +45,7 @@
 class VerifyPointersVisitor : public ObjectPointerVisitor {
  public:
   explicit VerifyPointersVisitor(Isolate* isolate, ObjectSet* allocated_set)
-      : ObjectPointerVisitor(isolate),
-        allocated_set_(allocated_set) {
-  }
+      : ObjectPointerVisitor(isolate), allocated_set_(allocated_set) {}
 
   virtual void VisitPointers(RawObject** first, RawObject** last);
 
@@ -67,9 +60,7 @@
 class VerifyWeakPointersVisitor : public HandleVisitor {
  public:
   explicit VerifyWeakPointersVisitor(VerifyPointersVisitor* visitor)
-      :  HandleVisitor(Thread::Current()),
-         visitor_(visitor) {
-  }
+      : HandleVisitor(Thread::Current()), visitor_(visitor) {}
 
   virtual void VisitHandle(uword addr);
 
diff --git a/runtime/vm/virtual_memory.cc b/runtime/vm/virtual_memory.cc
index 1372545..1e62f8b 100644
--- a/runtime/vm/virtual_memory.cc
+++ b/runtime/vm/virtual_memory.cc
@@ -19,7 +19,7 @@
   ASSERT((new_size & (PageSize() - 1)) == 0);
   ASSERT(new_size <= size());
   if (try_unmap &&
-      (reserved_size_ == size()) &&  /* Don't create holes in reservation. */
+      (reserved_size_ == size()) && /* Don't create holes in reservation. */
       FreeSubSegment(reinterpret_cast<void*>(start() + new_size),
                      size() - new_size)) {
     reserved_size_ = new_size;
diff --git a/runtime/vm/virtual_memory.h b/runtime/vm/virtual_memory.h
index 8eefd30..a26b8ce7 100644
--- a/runtime/vm/virtual_memory.h
+++ b/runtime/vm/virtual_memory.h
@@ -32,9 +32,7 @@
 
   static void InitOnce();
 
-  bool Contains(uword addr) const {
-    return region_.Contains(addr);
-  }
+  bool Contains(uword addr) const { return region_.Contains(addr); }
 
   // Commits the virtual memory area, which is guaranteed to be zeroed. Returns
   // true on success and false on failure (e.g., out-of-memory).
@@ -44,15 +42,11 @@
 
   // Changes the protection of the virtual memory area.
   static bool Protect(void* address, intptr_t size, Protection mode);
-  bool Protect(Protection mode) {
-    return Protect(address(), size(), mode);
-  }
+  bool Protect(Protection mode) { return Protect(address(), size(), mode); }
 
   // Reserves a virtual memory segment with size. If a segment of the requested
   // size cannot be allocated NULL is returned.
-  static VirtualMemory* Reserve(intptr_t size) {
-    return ReserveInternal(size);
-  }
+  static VirtualMemory* Reserve(intptr_t size) { return ReserveInternal(size); }
 
   static intptr_t PageSize() {
     ASSERT(page_size_ != 0);
@@ -83,11 +77,11 @@
 
   // This constructor is only used internally when reserving new virtual spaces.
   // It does not reserve any virtual address space on its own.
-  explicit VirtualMemory(const MemoryRegion& region, int32_t handle = 0) :
-      region_(region.pointer(), region.size()),
-      reserved_size_(region.size()),
-      handle_(handle),
-      embedder_allocated_(false) { }
+  explicit VirtualMemory(const MemoryRegion& region, int32_t handle = 0)
+      : region_(region.pointer(), region.size()),
+        reserved_size_(region.size()),
+        handle_(handle),
+        embedder_allocated_(false) {}
 
   MemoryRegion region_;
 
diff --git a/runtime/vm/virtual_memory_android.cc b/runtime/vm/virtual_memory_android.cc
index 16aa834..7406d22 100644
--- a/runtime/vm/virtual_memory_android.cc
+++ b/runtime/vm/virtual_memory_android.cc
@@ -8,7 +8,7 @@
 #include "vm/virtual_memory.h"
 
 #include <sys/mman.h>  // NOLINT
-#include <unistd.h>  // NOLINT
+#include <unistd.h>    // NOLINT
 
 #include "platform/assert.h"
 #include "platform/utils.h"
@@ -33,8 +33,7 @@
 VirtualMemory* VirtualMemory::ReserveInternal(intptr_t size) {
   // TODO(4408): use ashmem instead of anonymous memory.
   void* address = mmap(NULL, size, PROT_NONE,
-                       MAP_PRIVATE | MAP_ANON | MAP_NORESERVE,
-                       -1, 0);
+                       MAP_PRIVATE | MAP_ANON | MAP_NORESERVE, -1, 0);
   if (address == MAP_FAILED) {
     return NULL;
   }
@@ -72,8 +71,7 @@
   ASSERT(Contains(addr + size) || (addr + size == end()));
   int prot = PROT_READ | PROT_WRITE | (executable ? PROT_EXEC : 0);
   void* address = mmap(reinterpret_cast<void*>(addr), size, prot,
-                       MAP_PRIVATE | MAP_ANON | MAP_FIXED,
-                       -1, 0);
+                       MAP_PRIVATE | MAP_ANON | MAP_FIXED, -1, 0);
   if (address == MAP_FAILED) {
     return false;
   }
@@ -106,8 +104,7 @@
       break;
   }
   return (mprotect(reinterpret_cast<void*>(page_address),
-                   end_address - page_address,
-                   prot) == 0);
+                   end_address - page_address, prot) == 0);
 }
 
 }  // namespace dart
diff --git a/runtime/vm/virtual_memory_fuchsia.cc b/runtime/vm/virtual_memory_fuchsia.cc
index 49b6e4a..bd78bf9 100644
--- a/runtime/vm/virtual_memory_fuchsia.cc
+++ b/runtime/vm/virtual_memory_fuchsia.cc
@@ -34,12 +34,10 @@
   // TODO(zra): map with PERM_NONE, when that works, and relax with
   // Commit and Protect when they are implemented.
   // Issue MG-161.
-  const int prot = MX_VM_FLAG_PERM_READ |
-                   MX_VM_FLAG_PERM_WRITE |
-                   MX_VM_FLAG_PERM_EXECUTE;
+  const int prot =
+      MX_VM_FLAG_PERM_READ | MX_VM_FLAG_PERM_WRITE | MX_VM_FLAG_PERM_EXECUTE;
   uintptr_t addr;
-  status = mx_process_map_vm(
-      mx_process_self(), vmo, 0, size, &addr, prot);
+  status = mx_process_map_vm(mx_process_self(), vmo, 0, size, &addr, prot);
   if (status != NO_ERROR) {
     mx_handle_close(vmo);
     FATAL("VirtualMemory::ReserveInternal FAILED");
@@ -56,8 +54,8 @@
     // TODO(zra): Use reserved_size_.
     // Issue MG-162.
     uintptr_t addr = reinterpret_cast<uintptr_t>(address());
-    mx_status_t status = mx_process_unmap_vm(
-        mx_process_self(), addr, 0 /*reserved_size_*/);
+    mx_status_t status =
+        mx_process_unmap_vm(mx_process_self(), addr, 0 /*reserved_size_*/);
     if (status != NO_ERROR) {
       FATAL("VirtualMemory::~VirtualMemory: unamp FAILED");
     }
diff --git a/runtime/vm/virtual_memory_linux.cc b/runtime/vm/virtual_memory_linux.cc
index 0228f68..be3655f 100644
--- a/runtime/vm/virtual_memory_linux.cc
+++ b/runtime/vm/virtual_memory_linux.cc
@@ -8,7 +8,7 @@
 #include "vm/virtual_memory.h"
 
 #include <sys/mman.h>  // NOLINT
-#include <unistd.h>  // NOLINT
+#include <unistd.h>    // NOLINT
 
 #include "platform/assert.h"
 #include "platform/utils.h"
@@ -32,8 +32,7 @@
 
 VirtualMemory* VirtualMemory::ReserveInternal(intptr_t size) {
   void* address = mmap(NULL, size, PROT_NONE,
-                       MAP_PRIVATE | MAP_ANON | MAP_NORESERVE,
-                       -1, 0);
+                       MAP_PRIVATE | MAP_ANON | MAP_NORESERVE, -1, 0);
   if (address == MAP_FAILED) {
     return NULL;
   }
@@ -71,8 +70,7 @@
   ASSERT(Contains(addr + size) || (addr + size == end()));
   int prot = PROT_READ | PROT_WRITE | (executable ? PROT_EXEC : 0);
   void* address = mmap(reinterpret_cast<void*>(addr), size, prot,
-                       MAP_PRIVATE | MAP_ANON | MAP_FIXED,
-                       -1, 0);
+                       MAP_PRIVATE | MAP_ANON | MAP_FIXED, -1, 0);
   if (address == MAP_FAILED) {
     return false;
   }
@@ -105,8 +103,7 @@
       break;
   }
   return (mprotect(reinterpret_cast<void*>(page_address),
-                   end_address - page_address,
-                   prot) == 0);
+                   end_address - page_address, prot) == 0);
 }
 
 
diff --git a/runtime/vm/virtual_memory_macos.cc b/runtime/vm/virtual_memory_macos.cc
index 484ad78..6f42b55 100644
--- a/runtime/vm/virtual_memory_macos.cc
+++ b/runtime/vm/virtual_memory_macos.cc
@@ -8,7 +8,7 @@
 #include "vm/virtual_memory.h"
 
 #include <sys/mman.h>  // NOLINT
-#include <unistd.h>  // NOLINT
+#include <unistd.h>    // NOLINT
 
 #include "platform/assert.h"
 #include "platform/utils.h"
@@ -33,8 +33,7 @@
 VirtualMemory* VirtualMemory::ReserveInternal(intptr_t size) {
   ASSERT((size & (PageSize() - 1)) == 0);
   void* address = mmap(NULL, size, PROT_NONE,
-                       MAP_PRIVATE | MAP_ANON | MAP_NORESERVE,
-                       -1, 0);
+                       MAP_PRIVATE | MAP_ANON | MAP_NORESERVE, -1, 0);
   if (address == MAP_FAILED) {
     return NULL;
   }
@@ -72,8 +71,7 @@
   ASSERT(Contains(addr + size) || (addr + size == end()));
   int prot = PROT_READ | PROT_WRITE | (executable ? PROT_EXEC : 0);
   void* address = mmap(reinterpret_cast<void*>(addr), size, prot,
-                       MAP_PRIVATE | MAP_ANON | MAP_FIXED,
-                       -1, 0);
+                       MAP_PRIVATE | MAP_ANON | MAP_FIXED, -1, 0);
   if (address == MAP_FAILED) {
     return false;
   }
@@ -106,8 +104,7 @@
       break;
   }
   return (mprotect(reinterpret_cast<void*>(page_address),
-                   end_address - page_address,
-                   prot) == 0);
+                   end_address - page_address, prot) == 0);
 }
 
 }  // namespace dart
diff --git a/runtime/vm/virtual_memory_win.cc b/runtime/vm/virtual_memory_win.cc
index 2584613..de9156d 100644
--- a/runtime/vm/virtual_memory_win.cc
+++ b/runtime/vm/virtual_memory_win.cc
@@ -90,9 +90,7 @@
   }
   DWORD old_prot = 0;
   bool result = VirtualProtect(reinterpret_cast<void*>(page_address),
-                        end_address - page_address,
-                        prot,
-                        &old_prot);
+                               end_address - page_address, prot, &old_prot);
   return result;
 }
 
diff --git a/runtime/vm/visitor.h b/runtime/vm/visitor.h
index 3c35b10..51f95ed 100644
--- a/runtime/vm/visitor.h
+++ b/runtime/vm/visitor.h
@@ -18,8 +18,8 @@
 // An object pointer visitor interface.
 class ObjectPointerVisitor {
  public:
-  explicit ObjectPointerVisitor(Isolate* isolate) : isolate_(isolate) { }
-  virtual ~ObjectPointerVisitor() { }
+  explicit ObjectPointerVisitor(Isolate* isolate) : isolate_(isolate) {}
+  virtual ~ObjectPointerVisitor() {}
 
   Isolate* isolate() const { return isolate_; }
 
@@ -27,15 +27,13 @@
   virtual void VisitPointers(RawObject** first, RawObject** last) = 0;
 
   virtual bool visit_function_code() const { return true; }
-  virtual void add_skipped_code_function(RawFunction* funct) {
-    UNREACHABLE();
-  }
+  virtual void add_skipped_code_function(RawFunction* funct) { UNREACHABLE(); }
   // len argument is the number of pointers to visit starting from 'p'.
   void VisitPointers(RawObject** p, intptr_t len) {
     VisitPointers(p, (p + len - 1));
   }
 
-  void VisitPointer(RawObject** p) { VisitPointers(p , p); }
+  void VisitPointer(RawObject** p) { VisitPointers(p, p); }
 
  private:
   Isolate* isolate_;
@@ -48,9 +46,9 @@
 // An object visitor interface.
 class ObjectVisitor {
  public:
-  ObjectVisitor() { }
+  ObjectVisitor() {}
 
-  virtual ~ObjectVisitor() { }
+  virtual ~ObjectVisitor() {}
 
   // Invoked for each object.
   virtual void VisitObject(RawObject* obj) = 0;
@@ -63,8 +61,8 @@
 // An object finder visitor interface.
 class FindObjectVisitor {
  public:
-  FindObjectVisitor() { }
-  virtual ~FindObjectVisitor() { }
+  FindObjectVisitor() {}
+  virtual ~FindObjectVisitor() {}
 
   // Allow to specify a address filter.
   virtual uword filter_addr() const { return 0; }
diff --git a/runtime/vm/weak_code.cc b/runtime/vm/weak_code.cc
index 4de2189..c7e12d1 100644
--- a/runtime/vm/weak_code.cc
+++ b/runtime/vm/weak_code.cc
@@ -32,13 +32,13 @@
     }
   }
 
-  const WeakProperty& weak_property = WeakProperty::Handle(
-      WeakProperty::New(Heap::kOld));
+  const WeakProperty& weak_property =
+      WeakProperty::Handle(WeakProperty::New(Heap::kOld));
   weak_property.set_key(value);
 
   intptr_t length = array_.IsNull() ? 0 : array_.Length();
-  const Array& new_array = Array::Handle(
-      Array::Grow(array_, length + 1, Heap::kOld));
+  const Array& new_array =
+      Array::Handle(Array::Grow(array_, length + 1, Heap::kOld));
   new_array.SetAt(length, weak_property);
   UpdateArrayTo(new_array);
 }
diff --git a/runtime/vm/weak_table.cc b/runtime/vm/weak_table.cc
index e45e9c8..a9e8c11 100644
--- a/runtime/vm/weak_table.cc
+++ b/runtime/vm/weak_table.cc
@@ -18,8 +18,9 @@
     // Increase the capacity.
     result = size * 2;
     if (result < size) {
-      FATAL("Reached impossible state of having more weak table entries"
-            " than memory available for heap objects.");
+      FATAL(
+          "Reached impossible state of having more weak table entries"
+          " than memory available for heap objects.");
     }
   }
   if (result < kMinSize) {
@@ -91,8 +92,8 @@
 
   intptr_t new_size = SizeFor(count(), size());
   ASSERT(Utils::IsPowerOfTwo(new_size));
-  intptr_t* new_data = reinterpret_cast<intptr_t*>(
-      calloc(new_size, kEntrySize * kWordSize));
+  intptr_t* new_data =
+      reinterpret_cast<intptr_t*>(calloc(new_size, kEntrySize * kWordSize));
 
   intptr_t mask = new_size - 1;
   set_used(0);
diff --git a/runtime/vm/weak_table.h b/runtime/vm/weak_table.h
index 8489dda..5814bb0 100644
--- a/runtime/vm/weak_table.h
+++ b/runtime/vm/weak_table.h
@@ -26,7 +26,7 @@
     }
     // Get a max size that avoids overflows.
     const intptr_t kMaxSize =
-      (kIntptrOne << (kBitsPerWord - 2)) / (kEntrySize * kWordSize);
+        (kIntptrOne << (kBitsPerWord - 2)) / (kEntrySize * kWordSize);
     ASSERT(Utils::IsPowerOfTwo(kMaxSize));
     if (size > kMaxSize) {
       size = kMaxSize;
@@ -36,9 +36,7 @@
     data_ = reinterpret_cast<intptr_t*>(calloc(size_, kEntrySize * kWordSize));
   }
 
-  ~WeakTable() {
-    free(data_);
-  }
+  ~WeakTable() { free(data_); }
 
   static WeakTable* NewFrom(WeakTable* original) {
     return new WeakTable(SizeFor(original->count(), original->size()));
@@ -49,11 +47,9 @@
   intptr_t count() const { return count_; }
 
   bool IsValidEntryAt(intptr_t i) const {
-    ASSERT(((ValueAt(i) == 0) &&
-            ((ObjectAt(i) == NULL) ||
-             (data_[ObjectIndex(i)] == kDeletedEntry))) ||
-           ((ValueAt(i) != 0) &&
-            (ObjectAt(i) != NULL) &&
+    ASSERT(((ValueAt(i) == 0) && ((ObjectAt(i) == NULL) ||
+                                  (data_[ObjectIndex(i)] == kDeletedEntry))) ||
+           ((ValueAt(i) != 0) && (ObjectAt(i) != NULL) &&
             (data_[ObjectIndex(i)] != kDeletedEntry)));
     return (data_[ValueIndex(i)] != 0);
   }
@@ -111,9 +107,7 @@
   }
   intptr_t limit() const { return LimitFor(size()); }
 
-  intptr_t index(intptr_t i) const {
-    return i * kEntrySize;
-  }
+  intptr_t index(intptr_t i) const { return i * kEntrySize; }
 
   void set_used(intptr_t val) {
     ASSERT(val <= limit());
@@ -126,13 +120,9 @@
     count_ = val;
   }
 
-  intptr_t ObjectIndex(intptr_t i) const {
-    return index(i) + kObjectOffset;
-  }
+  intptr_t ObjectIndex(intptr_t i) const { return index(i) + kObjectOffset; }
 
-  intptr_t ValueIndex(intptr_t i) const {
-    return index(i) + kValueOffset;
-  }
+  intptr_t ValueIndex(intptr_t i) const { return index(i) + kValueOffset; }
 
   void SetObjectAt(intptr_t i, RawObject* key) {
     ASSERT(i >= 0);
diff --git a/runtime/vm/zone.cc b/runtime/vm/zone.cc
index bace1f3..45314dc 100644
--- a/runtime/vm/zone.cc
+++ b/runtime/vm/zone.cc
@@ -107,7 +107,7 @@
     Segment::DeleteSegmentList(large_segments_);
   }
 
-  // Reset zone state.
+// Reset zone state.
 #ifdef DEBUG
   memset(initial_buffer_.pointer(), kZapDeletedByte, initial_buffer_.size());
 #endif
@@ -147,11 +147,11 @@
   // there isn't enough room in the Zone to satisfy the request.
   ASSERT(Utils::IsAligned(size, kAlignment));
   intptr_t free_size = (limit_ - position_);
-  ASSERT(free_size <  size);
+  ASSERT(free_size < size);
 
   // First check to see if we should just chain it as a large segment.
-  intptr_t max_size = Utils::RoundDown(kSegmentSize - sizeof(Segment),
-                                       kAlignment);
+  intptr_t max_size =
+      Utils::RoundDown(kSegmentSize - sizeof(Segment), kAlignment);
   ASSERT(max_size > 0);
   if (size > max_size) {
     return AllocateLargeSegment(size);
@@ -175,7 +175,7 @@
   // there isn't enough room in the Zone to satisfy the request.
   ASSERT(Utils::IsAligned(size, kAlignment));
   intptr_t free_size = (limit_ - position_);
-  ASSERT(free_size <  size);
+  ASSERT(free_size < size);
 
   // Create a new large segment and chain it up.
   ASSERT(Utils::IsAligned(sizeof(Segment), kAlignment));
@@ -230,7 +230,8 @@
   for (Segment* s = large_segments_; s != NULL; s = s->next()) {
     size += s->size();
   }
-  OS::PrintErr("***   Zone(0x%" Px ") size in bytes,"
+  OS::PrintErr("***   Zone(0x%" Px
+               ") size in bytes,"
                " Total = %" Pd " Large Segments = %" Pd "\n",
                reinterpret_cast<intptr_t>(this), SizeInBytes(), size);
 }
diff --git a/runtime/vm/zone.h b/runtime/vm/zone.h
index 6d216e9..4e2e8a9 100644
--- a/runtime/vm/zone.h
+++ b/runtime/vm/zone.h
@@ -98,9 +98,7 @@
   uword AllocateLargeSegment(intptr_t size);
 
   // Insert zone into zone chain, after current_zone.
-  void Link(Zone* current_zone) {
-    previous_ = current_zone;
-  }
+  void Link(Zone* current_zone) { previous_ = current_zone; }
 
   // Delete all objects and free all memory allocated in the zone.
   void DeleteAll();
@@ -156,9 +154,9 @@
 
   friend class StackZone;
   friend class ApiZone;
-  template<typename T, typename B, typename Allocator>
+  template <typename T, typename B, typename Allocator>
   friend class BaseGrowableArray;
-  template<typename T, typename B, typename Allocator>
+  template <typename T, typename B, typename Allocator>
   friend class BaseDirectChainedHashMap;
   DISALLOW_COPY_AND_ASSIGN(Zone);
 };
@@ -181,8 +179,10 @@
  private:
   Zone zone_;
 
-  template<typename T> friend class GrowableArray;
-  template<typename T> friend class ZoneGrowableArray;
+  template <typename T>
+  friend class GrowableArray;
+  template <typename T>
+  friend class ZoneGrowableArray;
 
   DISALLOW_IMPLICIT_CONSTRUCTORS(StackZone);
 };
@@ -251,8 +251,7 @@
   ElementType* new_data = Alloc<ElementType>(new_len);
   if (old_data != 0) {
     memmove(reinterpret_cast<void*>(new_data),
-            reinterpret_cast<void*>(old_data),
-            old_len * kElementSize);
+            reinterpret_cast<void*>(old_data), old_len * kElementSize);
   }
   return new_data;
 }
diff --git a/runtime/vm/zone_test.cc b/runtime/vm/zone_test.cc
index 9ddf276..4cb9231 100644
--- a/runtime/vm/zone_test.cc
+++ b/runtime/vm/zone_test.cc
@@ -14,8 +14,8 @@
 #if defined(DEBUG)
   FLAG_trace_zones = true;
 #endif
-  Dart_CreateIsolate(
-      NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL, NULL);
+  Dart_CreateIsolate(NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL,
+                     NULL);
   Thread* thread = Thread::Current();
   EXPECT(thread->zone() == NULL);
   {
@@ -46,8 +46,8 @@
 
     // Test corner cases of kSegmentSize.
     uint8_t* buffer = NULL;
-    buffer = reinterpret_cast<uint8_t*>(
-        zone->AllocUnsafe(kSegmentSize - kWordSize));
+    buffer =
+        reinterpret_cast<uint8_t*>(zone->AllocUnsafe(kSegmentSize - kWordSize));
     EXPECT(buffer != NULL);
     buffer[(kSegmentSize - kWordSize) - 1] = 0;
     allocated_size += (kSegmentSize - kWordSize);
@@ -60,8 +60,8 @@
     allocated_size += (kSegmentSize - (2 * kWordSize));
     EXPECT_LE(allocated_size, zone->SizeInBytes());
 
-    buffer = reinterpret_cast<uint8_t*>(
-        zone->AllocUnsafe(kSegmentSize + kWordSize));
+    buffer =
+        reinterpret_cast<uint8_t*>(zone->AllocUnsafe(kSegmentSize + kWordSize));
     EXPECT(buffer != NULL);
     buffer[(kSegmentSize + kWordSize) - 1] = 0;
     allocated_size += (kSegmentSize + kWordSize);
@@ -76,8 +76,8 @@
 #if defined(DEBUG)
   FLAG_trace_zones = true;
 #endif
-  Dart_CreateIsolate(
-      NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL, NULL);
+  Dart_CreateIsolate(NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL,
+                     NULL);
   Thread* thread = Thread::Current();
   EXPECT(thread->zone() == NULL);
   {
@@ -100,8 +100,8 @@
 #if defined(DEBUG)
   FLAG_trace_zones = true;
 #endif
-  Dart_CreateIsolate(
-      NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL, NULL);
+  Dart_CreateIsolate(NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL,
+                     NULL);
   Thread* thread = Thread::Current();
   EXPECT(thread->zone() == NULL);
   {
@@ -119,16 +119,16 @@
 #if defined(DEBUG)
   FLAG_trace_zones = true;
 #endif
-  Dart_CreateIsolate(
-      NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL, NULL);
+  Dart_CreateIsolate(NULL, NULL, bin::isolate_snapshot_buffer, NULL, NULL,
+                     NULL);
   Thread* thread = Thread::Current();
   EXPECT(thread->zone() == NULL);
   static int marker;
 
   class SimpleZoneObject : public ZoneAllocated {
    public:
-    SimpleZoneObject() : slot(marker++) { }
-    virtual ~SimpleZoneObject() { }
+    SimpleZoneObject() : slot(marker++) {}
+    virtual ~SimpleZoneObject() {}
     virtual int GetSlot() { return slot; }
     int slot;
   };
diff --git a/samples/samples.status b/samples/samples.status
index 02b193f..fd8f581 100644
--- a/samples/samples.status
+++ b/samples/samples.status
@@ -14,12 +14,17 @@
 [ $compiler == dart2js && $cps_ir && $checked ]
 sample_extension: Crash # Unable to compile UnsupportedError.message.
 
-
 [ $compiler == dart2analyzer ]
 build_dart: Skip
 
+[ $arch == ia32 && $system == windows ]
+sample_extension/test/sample_extension_app_snapshot_test: RuntimeError # Issue 27786
+
 [ $arch == arm ]
 sample_extension/test/*: Skip # Issue 14705
 
-[ $noopt || $runtime == dart_precompiled || $runtime == dart_app ]
-sample_extension: Skip # Platform.executable
+[ $compiler == precompiler ]
+sample_extension/test/*: Skip # These tests attempt to spawn another script using the precompiled runtime.
+
+[ $runtime == dart_app ]
+sample_extension/test/*: Skip # Shared use of a temp directory
diff --git a/sdk/lib/_internal/js_runtime/lib/interceptors.dart b/sdk/lib/_internal/js_runtime/lib/interceptors.dart
index 23025ad..7246c40 100644
--- a/sdk/lib/_internal/js_runtime/lib/interceptors.dart
+++ b/sdk/lib/_internal/js_runtime/lib/interceptors.dart
@@ -168,24 +168,69 @@
     }
   }
 
-  var interceptor = lookupAndCacheInterceptor(object);
-  if (interceptor == null) {
-    // JavaScript Objects created via object literals and `Object.create(null)`
-    // are 'plain' Objects.  This test could be simplified and the dispatch path
-    // be faster if Object.prototype was pre-patched with a non-leaf dispatch
-    // record.
-    if (JS('bool', 'typeof # == "function"', object)) {
-      return JS_INTERCEPTOR_CONSTANT(JavaScriptFunction);
-    }
-    var proto = JS('', 'Object.getPrototypeOf(#)', object);
-    if (JS('bool', '# == null || # === Object.prototype', proto, proto)) {
-      return JS_INTERCEPTOR_CONSTANT(PlainJavaScriptObject);
-    } else {
-      return JS_INTERCEPTOR_CONSTANT(UnknownJavaScriptObject);
-    }
-  }
+  // Check for cached UnknownJavaScriptObject. This avoids doing the slow
+  // dispatch-record based lookup for repeated js-interop classes.
+  var constructor = JS('', '#.constructor', object);
+  var interceptor = lookupInterceptorByConstructor(constructor);
+  if (interceptor != null) return interceptor;
 
-  return interceptor;
+  // This takes care of dispatch-record based caching, but not constructor based
+  // caching of [UnknownJavaScriptObject]s.
+  interceptor = lookupAndCacheInterceptor(object);
+  if (interceptor != null) return interceptor;
+
+  // JavaScript Objects created via object literals and `Object.create(null)`
+  // are 'plain' Objects.  This test could be simplified and the dispatch path
+  // be faster if Object.prototype was pre-patched with a non-leaf dispatch
+  // record.
+  if (JS('bool', 'typeof # == "function"', object)) {
+    interceptor = JS_INTERCEPTOR_CONSTANT(JavaScriptFunction);
+    // TODO(sra): Investigate caching on `Function`. It might be impossible if
+    // some HTML embedded objects on some browsers are (still) JS functions.
+    return interceptor;
+  }
+  var proto = JS('', 'Object.getPrototypeOf(#)', object);
+  if (JS('bool', '# == null', proto)) {
+    // Nowhere to cache output.
+    return JS_INTERCEPTOR_CONSTANT(PlainJavaScriptObject);
+  }
+  interceptor = JS_INTERCEPTOR_CONSTANT(UnknownJavaScriptObject);
+  if (JS('bool', '# === Object.prototype', proto)) {
+    interceptor = JS_INTERCEPTOR_CONSTANT(PlainJavaScriptObject);
+    // TODO(sra): Investigate caching on 'Object'. It might be impossible if
+    // some native class is plain Object (e.g. like Firefox's ImageData).
+    return interceptor;
+  }
+  if (JS('bool', 'typeof # == "function"', constructor)) {
+    cacheInterceptorOnConstructor(constructor, interceptor);
+    return interceptor;
+  }
+  return JS_INTERCEPTOR_CONSTANT(UnknownJavaScriptObject);
+}
+
+
+// A JS String or Symbol.
+final JS_INTEROP_INTERCEPTOR_TAG = getIsolateAffinityTag(r'_$dart_js');
+
+lookupInterceptorByConstructor(constructor) {
+  return constructor == null
+      ? null
+      : JS('', '#[#]', constructor, JS_INTEROP_INTERCEPTOR_TAG);
+}
+
+void cacheInterceptorOnConstructor(constructor, interceptor) {
+  defineProperty(constructor, JS_INTEROP_INTERCEPTOR_TAG, interceptor);
+}
+
+var constructorToInterceptor =
+    JS('', 'typeof(self.WeakMap) == "undefined" ? new Map() : new WeakMap()');
+
+XlookupInterceptorByConstructor(constructor) {
+  return JS('', '#.get(#)', constructorToInterceptor, constructor);
+}
+
+void XcacheInterceptorOnConstructor(constructor, interceptor) {
+  JS('', '#.set(#, #)', constructorToInterceptor, constructor, interceptor);
 }
 
 /**
diff --git a/sdk/lib/_internal/js_runtime/lib/native_helper.dart b/sdk/lib/_internal/js_runtime/lib/native_helper.dart
index 30d3ba7..d3ef5f2 100644
--- a/sdk/lib/_internal/js_runtime/lib/native_helper.dart
+++ b/sdk/lib/_internal/js_runtime/lib/native_helper.dart
@@ -449,13 +449,9 @@
 
 const _baseHooks = const JS_CONST(r'''
 function() {
-  function typeNameInChrome(o) {
-    var constructor = o.constructor;
-    if (constructor) {
-      var name = constructor.name;
-      if (name) return name;
-    }
-    var s = Object.prototype.toString.call(o);
+  var toStringFunction = Object.prototype.toString;
+  function getTag(o) {
+    var s = toStringFunction.call(o);
     return s.substring(8, s.length - 1);
   }
   function getUnknownTag(object, tag) {
@@ -463,7 +459,7 @@
     // here allows [getUnknownTag] to be tested on d8.
     if (/^HTML[A-Z].*Element$/.test(tag)) {
       // Check that it is not a simple JavaScript object.
-      var name = Object.prototype.toString.call(object);
+      var name = toStringFunction.call(object);
       if (name == "[object Object]") return null;
       return "HTMLElement";
     }
@@ -484,7 +480,7 @@
   var isBrowser = typeof navigator == "object";
 
   return {
-    getTag: typeNameInChrome,
+    getTag: getTag,
     getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag,
     prototypeForTag: prototypeForTag,
     discriminator: discriminator };
@@ -501,30 +497,6 @@
  */
 const _constructorNameFallback = const JS_CONST(r'''
 function getTagFallback(o) {
-  var constructor = o.constructor;
-  if (typeof constructor == "function") {
-    var name = constructor.name;
-    // If the name is a non-empty string, we use that as the type name of this
-    // object.  There are various cases where that does not work, so we have to
-    // detect them and fall through to the toString() based implementation.
-
-    if (typeof name == "string" &&
-
-        // Sometimes the string is empty.  This test also catches minified
-        // shadow dom polyfil wrapper for Window on Firefox where the faked
-        // constructor name does not 'stick'.  The shortest real DOM object
-        // names have three characters (e.g. URL, CSS).
-        name.length > 2 &&
-
-        // On Firefox we often get "Object" as the constructor name, even for
-        // more specialized DOM objects.
-        name !== "Object" &&
-
-        // This can happen in Opera.
-        name !== "Function.prototype") {
-      return name;
-    }
-  }
   var s = Object.prototype.toString.call(o);
   return s.substring(8, s.length - 1);
 }''');
diff --git a/sdk/lib/core/stopwatch.dart b/sdk/lib/core/stopwatch.dart
index e923083..f6dd85e 100644
--- a/sdk/lib/core/stopwatch.dart
+++ b/sdk/lib/core/stopwatch.dart
@@ -9,31 +9,35 @@
  */
 class Stopwatch {
   /**
-   * Frequency of the elapsed counter in Hz.
+   * Cached frequency of the system. Must be initialized in [_initTicker];
    */
-  int get frequency => _frequency;
+  static int _frequency;
 
   // The _start and _stop fields capture the time when [start] and [stop]
   // are called respectively.
-  // If _start is null, then the [Stopwatch] has not been started yet.
-  // If _stop is null, then the [Stopwatch] has not been stopped yet,
-  // or is running.
-  int _start;
-  int _stop;
+  // If _stop is null, the stopwatched is running.
+  int _start = 0;
+  int _stop = 0;
 
   /**
    * Creates a [Stopwatch] in stopped state with a zero elapsed count.
    *
    * The following example shows how to start a [Stopwatch]
    * immediately after allocation.
-   *
-   *     Stopwatch stopwatch = new Stopwatch()..start();
+   * ```
+   * var stopwatch = new Stopwatch()..start();
+   * ```
    */
   Stopwatch() {
-    _initTicker();
+    if (_frequency == null) _initTicker();
   }
 
   /**
+   * Frequency of the elapsed counter in Hz.
+   */
+  int get frequency => _frequency;
+
+  /**
    * Starts the [Stopwatch].
    *
    * The [elapsed] count is increasing monotonically. If the [Stopwatch] has
@@ -43,14 +47,10 @@
    * If the [Stopwatch] is currently running, then calling start does nothing.
    */
   void start() {
-    if (isRunning) return;
-    if (_start == null) {
-      // This stopwatch has never been started.
-      _start = _now();
-    } else {
-      // Restart this stopwatch. Prepend the elapsed time to the current
-      // start time.
-      _start = _now() - (_stop - _start);
+    if (_stop != null) {
+      // (Re)start this stopwatch.
+      // Don't count the time while the stopwatch has been stopped.
+      _start += _now() - _stop;
       _stop = null;
     }
   }
@@ -63,8 +63,7 @@
    * effect.
    */
   void stop() {
-    if (!isRunning) return;
-    _stop = _now();
+    _stop ??= _now();
   }
 
   /**
@@ -73,51 +72,40 @@
    * This method does not stop or start the [Stopwatch].
    */
   void reset() {
-    if (_start == null) return;
-    // If [_start] is not null, then the stopwatch had already been started. It
-    // may running right now.
-    _start = _now();
-    if (_stop != null) {
-      // The watch is not running. So simply set the [_stop] to [_start] thus
-      // having an elapsed time of 0.
-      _stop = _start;
-    }
+    _start = _stop ?? _now();
   }
 
   /**
-   * Returns the elapsed number of clock ticks since calling [start] while the
+   * The elapsed number of clock ticks since calling [start] while the
    * [Stopwatch] is running.
    *
-   * Returns the elapsed number of clock ticks between calling [start] and
+   * This is the elapsed number of clock ticks between calling [start] and
    * calling [stop].
    *
-   * Returns 0 if the [Stopwatch] has never been started.
+   * Is 0 if the [Stopwatch] has never been started.
    *
    * The elapsed number of clock ticks increases by [frequency] every second.
    */
   int get elapsedTicks {
-    if (_start == null) {
-      return 0;
-    }
-    return (_stop == null) ? (_now() - _start) : (_stop - _start);
+    return (_stop ?? _now()) - _start;
   }
 
   /**
-   * Returns the [elapsedTicks] counter converted to a [Duration].
+   * The [elapsedTicks] counter converted to a [Duration].
    */
   Duration get elapsed {
     return new Duration(microseconds: elapsedMicroseconds);
   }
 
   /**
-   * Returns the [elapsedTicks] counter converted to microseconds.
+   * The [elapsedTicks] counter converted to microseconds.
    */
   int get elapsedMicroseconds {
     return (elapsedTicks * 1000000) ~/ frequency;
   }
 
   /**
-   * Returns the [elapsedTicks] counter converted to milliseconds.
+   * The [elapsedTicks] counter converted to milliseconds.
    */
   int get elapsedMilliseconds {
     return (elapsedTicks * 1000) ~/ frequency;
@@ -125,14 +113,9 @@
 
 
   /**
-   * Returns wether the [StopWatch] is currently running.
+   * Whether the [StopWatch] is currently running.
    */
-  bool get isRunning => _start != null && _stop == null;
-
-  /**
-   * Cached frequency of the system. Must be initialized in [_initTicker];
-   */
-  static int _frequency;
+  bool get isRunning => _stop == null;
 
   /**
    * Initializes the time-measuring system. *Must* initialize the [_frequency]
diff --git a/sdk/lib/developer/extension.dart b/sdk/lib/developer/extension.dart
index 75737f6..5883fb5 100644
--- a/sdk/lib/developer/extension.dart
+++ b/sdk/lib/developer/extension.dart
@@ -13,7 +13,7 @@
   final int _errorCode;
   final String _errorDetail;
 
-  /// Creates a successful to a service protocol extension RPC.
+  /// Creates a successful response to a service protocol extension RPC.
   ///
   /// Requires [result] to be a JSON object encoded as a string. When forming
   /// the JSON-RPC message [result] will be inlined directly.
diff --git a/sdk/lib/developer/service.dart b/sdk/lib/developer/service.dart
index 2934afe..9ccf0dc 100644
--- a/sdk/lib/developer/service.dart
+++ b/sdk/lib/developer/service.dart
@@ -4,7 +4,10 @@
 
 part of dart.developer;
 
-/// Information about the service protocol.
+/// Service protocol is the protocol that a client like the observatory
+/// could use to access the services provided by the Dart VM for
+/// debugging and inspecting Dart programs. This class encapsulates the
+/// version number and Uri for accessing this service.
 class ServiceProtocolInfo {
   /// The major version of the protocol. If the running Dart environment does
   /// not support the service protocol, this is 0.
@@ -28,9 +31,12 @@
   }
 }
 
-/// Access information about the service protocol and control the web server.
+/// Access information about the service protocol and control the web server
+/// that provides access to the services provided by the Dart VM for
+/// debugging and inspecting Dart programs.
 class Service {
-  /// Get information about the service protocol.
+  /// Get information about the service protocol (version number and
+  /// Uri to access the service).
   static Future<ServiceProtocolInfo> getInfo() async {
     // Port to receive response from service isolate.
     final RawReceivePort receivePort = new RawReceivePort();
@@ -46,6 +52,8 @@
   }
 
   /// Control the web server that the service protocol is accessed through.
+  /// The [enable] argument must be a boolean and is used as a toggle to
+  /// enable(true) or disable(false) the web server servicing requests.
   static Future<ServiceProtocolInfo> controlWebServer(
       {bool enable: false}) async {
     if (enable is! bool) {
diff --git a/tests/compiler/dart2js/call_site_simple_type_inferer_test.dart b/tests/compiler/dart2js/call_site_simple_type_inferer_test.dart
index 8a6e86b..f12fe38 100644
--- a/tests/compiler/dart2js/call_site_simple_type_inferer_test.dart
+++ b/tests/compiler/dart2js/call_site_simple_type_inferer_test.dart
@@ -211,7 +211,7 @@
     var expectedTypes = f(compiler);
     var signature = element.functionSignature;
     int index = 0;
-    var inferrer = compiler.globalInference.typesInferrer;
+    var inferrer = compiler.globalInference.typesInferrerInternal;
     signature.forEachParameter((Element element) {
       Expect.equals(expectedTypes[index++],
           simplify(inferrer.getTypeOfElement(element), compiler), test);
@@ -230,31 +230,37 @@
 }
 
 void test() {
-  runTest(TEST_1, (compiler) => [compiler.commonMasks.stringType]);
-  runTest(TEST_2, (compiler) => [compiler.commonMasks.uint31Type]);
-  runTest(TEST_3, (compiler) => [compiler.commonMasks.intType]);
-  runTest(TEST_4, (compiler) => [compiler.commonMasks.numType]);
-  runTest(TEST_5, (compiler) => [compiler.commonMasks.numType]);
-  runTest(TEST_6, (compiler) => [compiler.commonMasks.numType]);
+  runTest(TEST_1, (compiler) => [compiler.closedWorld.commonMasks.stringType]);
+  runTest(TEST_2, (compiler) => [compiler.closedWorld.commonMasks.uint31Type]);
+  runTest(TEST_3, (compiler) => [compiler.closedWorld.commonMasks.intType]);
+  runTest(TEST_4, (compiler) => [compiler.closedWorld.commonMasks.numType]);
+  runTest(TEST_5, (compiler) => [compiler.closedWorld.commonMasks.numType]);
+  runTest(TEST_6, (compiler) => [compiler.closedWorld.commonMasks.numType]);
   runTest(TEST_7a, (compiler) => [subclassOfInterceptor(compiler)]);
   runTest(
-      TEST_7b, (compiler) => [compiler.commonMasks.dynamicType.nonNullable()]);
+      TEST_7b,
+      (compiler) =>
+          [compiler.closedWorld.commonMasks.dynamicType.nonNullable()]);
 
   runTest(
       TEST_8,
       (compiler) => [
-            compiler.commonMasks.uint31Type,
+            compiler.closedWorld.commonMasks.uint31Type,
             subclassOfInterceptor(compiler),
-            compiler.commonMasks.dynamicType.nonNullable()
+            compiler.closedWorld.commonMasks.dynamicType.nonNullable()
           ]);
   runTest(
       TEST_9,
-      (compiler) =>
-          [compiler.commonMasks.uint31Type, compiler.commonMasks.uint31Type]);
+      (compiler) => [
+            compiler.closedWorld.commonMasks.uint31Type,
+            compiler.closedWorld.commonMasks.uint31Type
+          ]);
   runTest(
       TEST_10,
-      (compiler) =>
-          [compiler.commonMasks.uint31Type, compiler.commonMasks.uint31Type]);
+      (compiler) => [
+            compiler.closedWorld.commonMasks.uint31Type,
+            compiler.closedWorld.commonMasks.uint31Type
+          ]);
   runTest(
       TEST_11,
       (compiler) =>
@@ -262,35 +268,41 @@
 
   runTest(
       TEST_12,
-      (compiler) =>
-          [compiler.commonMasks.stringType, compiler.commonMasks.uint31Type]);
+      (compiler) => [
+            compiler.closedWorld.commonMasks.stringType,
+            compiler.closedWorld.commonMasks.uint31Type
+          ]);
 
-  runTest(TEST_13, (compiler) => [compiler.commonMasks.numType]);
+  runTest(TEST_13, (compiler) => [compiler.closedWorld.commonMasks.numType]);
 
   runTest(
       TEST_14,
-      (compiler) =>
-          [compiler.commonMasks.uint31Type, compiler.commonMasks.stringType]);
+      (compiler) => [
+            compiler.closedWorld.commonMasks.uint31Type,
+            compiler.closedWorld.commonMasks.stringType
+          ]);
 
   runTest(
       TEST_15,
-      (compiler) =>
-          [compiler.commonMasks.stringType, compiler.commonMasks.boolType]);
+      (compiler) => [
+            compiler.closedWorld.commonMasks.stringType,
+            compiler.closedWorld.commonMasks.boolType
+          ]);
 
   runTest(
       TEST_16,
       (compiler) => [
-            compiler.commonMasks.uint31Type,
-            compiler.commonMasks.uint31Type,
-            compiler.commonMasks.stringType
+            compiler.closedWorld.commonMasks.uint31Type,
+            compiler.closedWorld.commonMasks.uint31Type,
+            compiler.closedWorld.commonMasks.stringType
           ]);
 
   runTest(
       TEST_17,
       (compiler) => [
-            compiler.commonMasks.uint31Type,
-            compiler.commonMasks.boolType,
-            compiler.commonMasks.doubleType
+            compiler.closedWorld.commonMasks.uint31Type,
+            compiler.closedWorld.commonMasks.boolType,
+            compiler.closedWorld.commonMasks.doubleType
           ]);
 
   runTest(
diff --git a/tests/compiler/dart2js/closure_tracer_test.dart b/tests/compiler/dart2js/closure_tracer_test.dart
index 110ccd4..f76bea1 100644
--- a/tests/compiler/dart2js/closure_tracer_test.dart
+++ b/tests/compiler/dart2js/closure_tracer_test.dart
@@ -154,8 +154,8 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var commonMasks = compiler.commonMasks;
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var commonMasks = compiler.closedWorld.commonMasks;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkType(String name, type) {
           var element = findElement(compiler, name);
diff --git a/tests/compiler/dart2js/compiler_helper.dart b/tests/compiler/dart2js/compiler_helper.dart
index c9bd508..eaa26df 100644
--- a/tests/compiler/dart2js/compiler_helper.dart
+++ b/tests/compiler/dart2js/compiler_helper.dart
@@ -72,10 +72,9 @@
     lego.Element element = compiler.mainApp.find(entry);
     if (element == null) return null;
     compiler.phase = Compiler.PHASE_RESOLVING;
-    compiler.backend.enqueueHelpers(
-        compiler.enqueuer.resolution, compiler.globalDependencies);
+    compiler.backend.enqueueHelpers(compiler.enqueuer.resolution);
     compiler.processQueue(compiler.enqueuer.resolution, element);
-    compiler.openWorld.closeWorld();
+    compiler.openWorld.closeWorld(compiler.reporter);
     compiler.backend.onResolutionComplete();
     ResolutionWorkItem resolutionWork = new ResolutionWorkItem(element);
     resolutionWork.run(compiler, compiler.enqueuer.resolution);
diff --git a/tests/compiler/dart2js/concrete_type_inference_test.dart b/tests/compiler/dart2js/concrete_type_inference_test.dart
index e3833ad..ce5b556 100644
--- a/tests/compiler/dart2js/concrete_type_inference_test.dart
+++ b/tests/compiler/dart2js/concrete_type_inference_test.dart
@@ -20,47 +20,44 @@
   asyncTest(() => compileAndFind('main() { print($expression); }', 'print',
           (compiler, printElement) {
         var parameter = printElement.functionSignature.requiredParameters.first;
-        var type = compiler.globalInference.results.typeOf(parameter);
-        checkType(compiler, type);
+        checkType(compiler, _typeOf(compiler, parameter));
       }));
 
   asyncTest(() =>
       compileAndFind('main() { var x = print; print($expression); }', 'print',
           (compiler, printElement) {
         var parameter = printElement.functionSignature.requiredParameters.first;
-        var type = compiler.globalInference.results.typeOf(parameter);
-        checkType(compiler, type);
+        checkType(compiler, _typeOf(compiler, parameter));
       }));
 
   asyncTest(() => compileAndFind(
           'main() { print($expression); print($expression); }', 'print',
           (compiler, printElement) {
         var parameter = printElement.functionSignature.requiredParameters.first;
-        var type = compiler.globalInference.results.typeOf(parameter);
-        checkType(compiler, type);
+        checkType(compiler, _typeOf(compiler, parameter));
       }));
 }
 
 void testBasicTypes() {
   checkPrintType('true', (compiler, type) {
     if (type.isForwarding) type = type.forwardTo;
-    Expect.identical(compiler.commonMasks.boolType, type);
+    Expect.identical(compiler.closedWorld.commonMasks.boolType, type);
   });
   checkPrintType('1.5', (compiler, type) {
-    Expect.identical(compiler.commonMasks.doubleType, type);
+    Expect.identical(compiler.closedWorld.commonMasks.doubleType, type);
   });
   checkPrintType('1', (compiler, type) {
-    Expect.identical(compiler.commonMasks.uint31Type, type);
+    Expect.identical(compiler.closedWorld.commonMasks.uint31Type, type);
   });
   checkPrintType('[]', (compiler, type) {
     if (type.isForwarding) type = type.forwardTo;
-    Expect.identical(compiler.commonMasks.growableListType, type);
+    Expect.identical(compiler.closedWorld.commonMasks.growableListType, type);
   });
   checkPrintType('null', (compiler, type) {
-    Expect.identical(compiler.commonMasks.nullType, type);
+    Expect.identical(compiler.closedWorld.commonMasks.nullType, type);
   });
   checkPrintType('"foo"', (compiler, type) {
-    Expect.isTrue(compiler.commonMasks.stringType
+    Expect.isTrue(compiler.closedWorld.commonMasks.stringType
         .containsOnlyString(compiler.closedWorld));
   });
 }
@@ -71,14 +68,10 @@
     var firstParameter = fiskElement.functionSignature.requiredParameters[0];
     var secondParameter = fiskElement.functionSignature.optionalParameters[0];
     var thirdParameter = fiskElement.functionSignature.optionalParameters[1];
-    var commonMasks = compiler.commonMasks;
-    var inference = compiler.globalInference;
-    Expect.identical(
-        commonMasks.uint31Type, inference.results.typeOf(firstParameter));
-    Expect.identical(
-        commonMasks.nullType, inference.results.typeOf(secondParameter));
-    Expect.identical(
-        commonMasks.nullType, inference.results.typeOf(thirdParameter));
+    var commonMasks = compiler.closedWorld.commonMasks;
+    Expect.identical(commonMasks.uint31Type, _typeOf(compiler, firstParameter));
+    Expect.identical(commonMasks.nullType, _typeOf(compiler, secondParameter));
+    Expect.identical(commonMasks.nullType, _typeOf(compiler, thirdParameter));
   });
 }
 
@@ -86,3 +79,6 @@
   testBasicTypes();
   testOptionalParameters();
 }
+
+_typeOf(compiler, parameter) =>
+    compiler.globalInference.results.resultOf(parameter).type;
diff --git a/tests/compiler/dart2js/container_mask_equal_test.dart b/tests/compiler/dart2js/container_mask_equal_test.dart
index 21836b7..9f67840 100644
--- a/tests/compiler/dart2js/container_mask_equal_test.dart
+++ b/tests/compiler/dart2js/container_mask_equal_test.dart
@@ -30,7 +30,7 @@
   asyncTest(() async {
     var result = await runCompiler(memorySourceFiles: MEMORY_SOURCE_FILES);
     var compiler = result.compiler;
-    var typesInferrer = compiler.globalInference.typesInferrer;
+    var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
     var element = compiler.mainApp.find('a');
     var mask1 = typesInferrer.getReturnTypeOfElement(element);
diff --git a/tests/compiler/dart2js/deferred_load_graph_segmentation_test.dart b/tests/compiler/dart2js/deferred_load_graph_segmentation_test.dart
index 5e67cc3..0563a63 100644
--- a/tests/compiler/dart2js/deferred_load_graph_segmentation_test.dart
+++ b/tests/compiler/dart2js/deferred_load_graph_segmentation_test.dart
@@ -24,7 +24,6 @@
 
     var main = compiler.mainFunction;
     Expect.isNotNull(main, "Could not find 'main'");
-    compiler.deferredLoadTask.onResolutionComplete(main);
 
     var outputUnitForElement = compiler.deferredLoadTask.outputUnitForElement;
 
diff --git a/tests/compiler/dart2js/dictionary_types_test.dart b/tests/compiler/dart2js/dictionary_types_test.dart
index 0a169d6..15a4e57 100644
--- a/tests/compiler/dart2js/dictionary_types_test.dart
+++ b/tests/compiler/dart2js/dictionary_types_test.dart
@@ -141,8 +141,8 @@
         compiler.stopAfterTypeInference = !createCode;
       });
   var compiler = result.compiler;
-  var commonMasks = compiler.commonMasks;
-  var typesInferrer = compiler.globalInference.typesInferrer;
+  var commonMasks = compiler.closedWorld.commonMasks;
+  var typesInferrer = compiler.globalInference.typesInferrerInternal;
   getType(String name) {
     var element = findElement(compiler, name);
     return typesInferrer.getTypeOfElement(element);
diff --git a/tests/compiler/dart2js/expect_annotations_test.dart b/tests/compiler/dart2js/expect_annotations_test.dart
index 10ee78c..c9c47e0 100644
--- a/tests/compiler/dart2js/expect_annotations_test.dart
+++ b/tests/compiler/dart2js/expect_annotations_test.dart
@@ -92,17 +92,18 @@
           expectAssumeDynamic,
           backend.annotations.assumeDynamic(method),
           "Unexpected annotation of @AssumeDynamic on '$method'.");
-      TypesInferrer inferrer = compiler.globalInference.typesInferrer;
+      TypesInferrer inferrer = compiler.globalInference.typesInferrerInternal;
       if (expectTrustTypeAnnotations && expectedParameterType != null) {
         testTypeMatch(
             method, expectedParameterType, expectedReturnType, inferrer);
       } else if (expectAssumeDynamic) {
-        testTypeMatch(method, compiler.commonMasks.dynamicType, null, inferrer);
+        testTypeMatch(method, compiler.closedWorld.commonMasks.dynamicType,
+            null, inferrer);
       }
     }
 
-    TypeMask jsStringType = compiler.commonMasks.stringType;
-    TypeMask jsIntType = compiler.commonMasks.intType;
+    TypeMask jsStringType = compiler.closedWorld.commonMasks.stringType;
+    TypeMask jsIntType = compiler.closedWorld.commonMasks.intType;
     TypeMask coreStringType = new TypeMask.subtype(
         compiler.coreClasses.stringClass, compiler.closedWorld);
 
diff --git a/tests/compiler/dart2js/field_type_simple_inferer_test.dart b/tests/compiler/dart2js/field_type_simple_inferer_test.dart
index 03d7de3..0e930a0 100644
--- a/tests/compiler/dart2js/field_type_simple_inferer_test.dart
+++ b/tests/compiler/dart2js/field_type_simple_inferer_test.dart
@@ -5,6 +5,8 @@
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'package:compiler/src/types/types.dart' show TypeMask;
+import 'package:compiler/src/types/masks.dart' show CommonMasks;
+import 'package:compiler/src/compiler.dart' show Compiler;
 
 import 'compiler_helper.dart';
 import 'type_mask_test_helper.dart';
@@ -469,11 +471,14 @@
   }
 """;
 
-void doTest(String test, bool disableInlining, Map<String, Function> fields) {
-  fields.forEach((String name, Function f) {
+typedef TypeMask TestCallback(Compiler compiler, CommonMasks masks);
+
+void doTest(
+    String test, bool disableInlining, Map<String, TestCallback> fields) {
+  fields.forEach((String name, TestCallback f) {
     compileAndFind(test, 'A', name, disableInlining, (compiler, field) {
-      TypeMask type = f(compiler.commonMasks);
-      var inferrer = compiler.globalInference.typesInferrer;
+      TypeMask type = f(compiler, compiler.closedWorld.commonMasks);
+      var inferrer = compiler.globalInference.typesInferrerInternal;
       TypeMask inferredType =
           simplify(inferrer.getTypeOfElement(field), inferrer.compiler);
       Expect.equals(type, inferredType, test);
@@ -481,92 +486,120 @@
   });
 }
 
-void runTest(String test, Map<String, Function> fields) {
+void runTest(String test, Map<String, TestCallback> fields) {
   doTest(test, false, fields);
   doTest(test, true, fields);
 }
 
 void test() {
-  subclassOfInterceptor(types) =>
-      findTypeMask(types.compiler, 'Interceptor', 'nonNullSubclass');
+  TypeMask subclassOfInterceptor(Compiler compiler, CommonMasks types) =>
+      findTypeMask(compiler, 'Interceptor', 'nonNullSubclass');
 
-  runTest(TEST_1, {'f': (types) => types.nullType});
-  runTest(TEST_2,
-      {'f1': (types) => types.nullType, 'f2': (types) => types.uint31Type});
-  runTest(TEST_3, {
-    'f1': (types) => types.uint31Type,
-    'f2': (types) => types.uint31Type.nullable()
+  runTest(
+      TEST_1, <String, TestCallback>{'f': (compiler, types) => types.nullType});
+  runTest(TEST_2, <String, TestCallback>{
+    'f1': (compiler, types) => types.nullType,
+    'f2': (compiler, types) => types.uint31Type
   });
-  runTest(TEST_4, {
+  runTest(TEST_3, <String, TestCallback>{
+    'f1': (compiler, types) => types.uint31Type,
+    'f2': (compiler, types) => types.uint31Type.nullable()
+  });
+  runTest(TEST_4, <String, TestCallback>{
     'f1': subclassOfInterceptor,
-    'f2': (types) => types.stringType.nullable()
+    'f2': (compiler, types) => types.stringType.nullable()
   });
 
   // TODO(ngeoffray): We should try to infer that the initialization
   // code at the declaration site of the fields does not matter.
-  runTest(TEST_5, {'f1': subclassOfInterceptor, 'f2': subclassOfInterceptor});
-  runTest(TEST_6, {'f1': subclassOfInterceptor, 'f2': subclassOfInterceptor});
-  runTest(TEST_7, {'f1': subclassOfInterceptor, 'f2': subclassOfInterceptor});
+  runTest(TEST_5, <String, TestCallback>{
+    'f1': subclassOfInterceptor,
+    'f2': subclassOfInterceptor
+  });
+  runTest(TEST_6, <String, TestCallback>{
+    'f1': subclassOfInterceptor,
+    'f2': subclassOfInterceptor
+  });
+  runTest(TEST_7, <String, TestCallback>{
+    'f1': subclassOfInterceptor,
+    'f2': subclassOfInterceptor
+  });
 
-  runTest(TEST_8, {'f': (types) => types.stringType.nullable()});
-  runTest(TEST_9, {'f': (types) => types.stringType.nullable()});
-  runTest(TEST_10, {'f': (types) => types.uint31Type});
-  runTest(TEST_11, {'fs': (types) => types.uint31Type});
+  runTest(TEST_8, <String, TestCallback>{
+    'f': (compiler, types) => types.stringType.nullable()
+  });
+  runTest(TEST_9, <String, TestCallback>{
+    'f': (compiler, types) => types.stringType.nullable()
+  });
+  runTest(TEST_10,
+      <String, TestCallback>{'f': (compiler, types) => types.uint31Type});
+  runTest(TEST_11,
+      <String, TestCallback>{'fs': (compiler, types) => types.uint31Type});
 
   // TODO(ngeoffray): We should try to infer that the initialization
   // code at the declaration site of the fields does not matter.
-  runTest(TEST_12, {'fs': subclassOfInterceptor});
+  runTest(TEST_12, <String, TestCallback>{'fs': subclassOfInterceptor});
 
-  runTest(TEST_13, {'fs': (types) => types.uint31Type});
-  runTest(TEST_14, {'f': (types) => types.uint31Type});
-  runTest(TEST_15, {
-    'f': (types) {
-      ClassElement cls = types.compiler.backend.helpers.jsIndexableClass;
-      return new TypeMask.nonNullSubtype(cls, types.compiler.closedWorld);
+  runTest(TEST_13,
+      <String, TestCallback>{'fs': (compiler, types) => types.uint31Type});
+  runTest(TEST_14,
+      <String, TestCallback>{'f': (compiler, types) => types.uint31Type});
+  runTest(TEST_15, <String, TestCallback>{
+    'f': (compiler, types) {
+      ClassElement cls = compiler.backend.helpers.jsIndexableClass;
+      return new TypeMask.nonNullSubtype(cls, compiler.closedWorld);
     }
   });
-  runTest(TEST_16, {'f': subclassOfInterceptor});
-  runTest(TEST_17, {'f': (types) => types.uint31Type.nullable()});
-  runTest(TEST_18, {
-    'f1': (types) => types.uint31Type,
-    'f2': (types) => types.stringType,
-    'f3': (types) => types.dynamicType
+  runTest(TEST_16, <String, TestCallback>{'f': subclassOfInterceptor});
+  runTest(TEST_17, <String, TestCallback>{
+    'f': (compiler, types) => types.uint31Type.nullable()
   });
-  runTest(TEST_19, {
-    'f1': (types) => types.uint31Type,
-    'f2': (types) => types.stringType,
-    'f3': (types) => types.dynamicType
+  runTest(TEST_18, <String, TestCallback>{
+    'f1': (compiler, types) => types.uint31Type,
+    'f2': (compiler, types) => types.stringType,
+    'f3': (compiler, types) => types.dynamicType
   });
-  runTest(TEST_20, {'f': (types) => types.uint31Type.nullable()});
-  runTest(TEST_21, {'f': (types) => types.uint31Type.nullable()});
-
-  runTest(TEST_22, {
-    'f1': (types) => types.uint31Type,
-    'f2': (types) => types.uint31Type,
-    'f3': (types) => types.stringType.nullable()
+  runTest(TEST_19, <String, TestCallback>{
+    'f1': (compiler, types) => types.uint31Type,
+    'f2': (compiler, types) => types.stringType,
+    'f3': (compiler, types) => types.dynamicType
+  });
+  runTest(TEST_20, <String, TestCallback>{
+    'f': (compiler, types) => types.uint31Type.nullable()
+  });
+  runTest(TEST_21, <String, TestCallback>{
+    'f': (compiler, types) => types.uint31Type.nullable()
   });
 
-  runTest(TEST_23, {
-    'f1': (types) => types.uint31Type.nullable(),
-    'f2': (types) => types.uint31Type.nullable(),
-    'f3': (types) => types.uint31Type.nullable(),
-    'f4': (types) => types.uint31Type.nullable()
+  runTest(TEST_22, <String, TestCallback>{
+    'f1': (compiler, types) => types.uint31Type,
+    'f2': (compiler, types) => types.uint31Type,
+    'f3': (compiler, types) => types.stringType.nullable()
   });
 
-  runTest(TEST_24, {
-    'f1': (types) => types.positiveIntType,
-    'f2': (types) => types.positiveIntType,
-    'f3': (types) => types.uint31Type,
-    'f4': (types) => types.uint31Type,
-    'f5': (types) => types.numType.nullable(),
-    'f6': (types) => types.stringType.nullable()
+  runTest(TEST_23, <String, TestCallback>{
+    'f1': (compiler, types) => types.uint31Type.nullable(),
+    'f2': (compiler, types) => types.uint31Type.nullable(),
+    'f3': (compiler, types) => types.uint31Type.nullable(),
+    'f4': (compiler, types) => types.uint31Type.nullable()
   });
 
-  runTest(TEST_25, {'f1': (types) => types.uint31Type});
-  runTest(TEST_26, {'f1': (types) => types.positiveIntType});
-  runTest(TEST_27, {
-    'f1': (types) => types.uint31Type,
-    'f2': (types) => types.uint31Type.nullable()
+  runTest(TEST_24, <String, TestCallback>{
+    'f1': (compiler, types) => types.positiveIntType,
+    'f2': (compiler, types) => types.positiveIntType,
+    'f3': (compiler, types) => types.uint31Type,
+    'f4': (compiler, types) => types.uint31Type,
+    'f5': (compiler, types) => types.numType.nullable(),
+    'f6': (compiler, types) => types.stringType.nullable()
+  });
+
+  runTest(TEST_25,
+      <String, TestCallback>{'f1': (compiler, types) => types.uint31Type});
+  runTest(TEST_26,
+      <String, TestCallback>{'f1': (compiler, types) => types.positiveIntType});
+  runTest(TEST_27, <String, TestCallback>{
+    'f1': (compiler, types) => types.uint31Type,
+    'f2': (compiler, types) => types.uint31Type.nullable()
   });
 }
 
diff --git a/tests/compiler/dart2js/issue13354_test.dart b/tests/compiler/dart2js/issue13354_test.dart
index 32826cc..ecf8dba 100644
--- a/tests/compiler/dart2js/issue13354_test.dart
+++ b/tests/compiler/dart2js/issue13354_test.dart
@@ -29,8 +29,8 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var commonMasks = compiler.commonMasks;
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var commonMasks = compiler.closedWorld.commonMasks;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkReturn(String name, type) {
           var element = findElement(compiler, name);
diff --git a/tests/compiler/dart2js/kernel/closed_world_test.dart b/tests/compiler/dart2js/kernel/closed_world_test.dart
new file mode 100644
index 0000000..d277221
--- /dev/null
+++ b/tests/compiler/dart2js/kernel/closed_world_test.dart
@@ -0,0 +1,114 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Tests that the closed world computed from [WorldImpact]s derived from kernel
+// is equivalent to the original computed from resolution.
+library dart2js.kernel.closed_world_test;
+
+import 'package:async_helper/async_helper.dart';
+import 'package:compiler/src/commandline_options.dart';
+import 'package:compiler/src/common.dart';
+import 'package:compiler/src/common/names.dart';
+import 'package:compiler/src/common/resolution.dart';
+import 'package:compiler/src/compiler.dart';
+import 'package:compiler/src/constants/expressions.dart';
+import 'package:compiler/src/dart_types.dart';
+import 'package:compiler/src/elements/elements.dart';
+import 'package:compiler/src/enqueue.dart';
+import 'package:compiler/src/js_backend/backend.dart';
+import 'package:compiler/src/js_backend/type_variable_handler.dart';
+import 'package:compiler/src/resolution/registry.dart';
+import 'package:compiler/src/resolution/tree_elements.dart';
+import 'package:compiler/src/ssa/kernel_impact.dart';
+import 'package:compiler/src/serialization/equivalence.dart';
+import 'package:compiler/src/universe/call_structure.dart';
+import 'package:compiler/src/universe/feature.dart';
+import 'package:compiler/src/universe/world_impact.dart';
+import 'package:compiler/src/world.dart';
+import 'package:expect/expect.dart';
+import 'impact_test.dart';
+import '../memory_compiler.dart';
+import '../serialization/helper.dart';
+import '../serialization/model_test_helper.dart';
+
+const SOURCE = const {
+  'main.dart': '''
+main() {
+  print('Hello World!');
+}
+'''
+};
+
+main(List<String> args) {
+  Arguments arguments = new Arguments.from(args);
+  Uri entryPoint;
+  Map<String, String> memorySourceFiles;
+  if (arguments.uri != null) {
+    entryPoint = arguments.uri;
+    memorySourceFiles = const <String, String>{};
+  } else {
+    entryPoint = Uri.parse('memory:main.dart');
+    memorySourceFiles = SOURCE;
+  }
+
+  asyncTest(() async {
+    enableDebugMode();
+    Compiler compiler = compilerFor(
+        entryPoint: entryPoint,
+        memorySourceFiles: memorySourceFiles,
+        options: [
+          Flags.analyzeOnly,
+          Flags.useKernel,
+          Flags.enableAssertMessage
+        ]);
+    compiler.resolution.retainCachesForTesting = true;
+    await compiler.run(entryPoint);
+    compiler.openWorld.closeWorld(compiler.reporter);
+
+    JavaScriptBackend backend = compiler.backend;
+    // Create a new resolution enqueuer and feed it with the [WorldImpact]s
+    // computed from kernel through the [build] in `kernel_impact.dart`.
+    ResolutionEnqueuer enqueuer = new ResolutionEnqueuer(
+        compiler.enqueuer,
+        compiler.options,
+        compiler.resolution,
+        compiler.enqueuerFilter,
+        const TreeShakingEnqueuerStrategy(),
+        compiler.globalDependencies,
+        backend,
+        compiler.commonElements,
+        compiler.cacheStrategy);
+    // TODO(johnniwinther): Store backend info separately. This replacement is
+    // made to reset a field in [TypeVariableHandler] that prevents it from
+    // enqueuing twice.
+    backend.typeVariableHandler = new TypeVariableHandler(compiler);
+
+    backend.enqueueHelpers(enqueuer);
+    enqueuer.addToWorkList(compiler.mainFunction);
+    enqueuer.forEach((work) {
+      AstElement element = work.element;
+      ResolutionImpact resolutionImpact = build(compiler, element.resolvedAst);
+      WorldImpact worldImpact = compiler.backend.impactTransformer
+          .transformResolutionImpact(enqueuer, resolutionImpact);
+      enqueuer.registerProcessedElement(element);
+      enqueuer.applyImpact(compiler.impactStrategy, worldImpact,
+          impactSource: element);
+    });
+    ClosedWorld closedWorld =
+        enqueuer.universe.openWorld.closeWorld(compiler.reporter);
+
+    checkResolutionEnqueuers(compiler.enqueuer.resolution, enqueuer,
+        typeEquivalence: (DartType a, DartType b) {
+      return areTypesEquivalent(unalias(a), unalias(b));
+    }, elementFilter: (Element element) {
+      if (element is ConstructorElement && element.isRedirectingFactory) {
+        // Redirecting factory constructors are skipped in kernel.
+        return false;
+      }
+      return true;
+    }, verbose: arguments.verbose);
+    checkClosedWorlds(compiler.closedWorld, closedWorld,
+        verbose: arguments.verbose);
+  });
+}
diff --git a/tests/compiler/dart2js/kernel/impact_test.dart b/tests/compiler/dart2js/kernel/impact_test.dart
index 363f44d..fd2467f 100644
--- a/tests/compiler/dart2js/kernel/impact_test.dart
+++ b/tests/compiler/dart2js/kernel/impact_test.dart
@@ -688,13 +688,18 @@
       new ResolutionWorldImpactBuilder('Lax impact of ${element}');
   for (StaticUse staticUse in impact.staticUses) {
     switch (staticUse.kind) {
+      case StaticUseKind.CONSTRUCTOR_INVOKE:
       case StaticUseKind.CONST_CONSTRUCTOR_INVOKE:
         ConstructorElement constructor = staticUse.element;
         ConstructorElement effectiveTarget = constructor.effectiveTarget;
         DartType effectiveTargetType =
             constructor.computeEffectiveTargetType(staticUse.type);
-        builder.registerStaticUse(new StaticUse.constConstructorInvoke(
-            effectiveTarget.declaration, null, effectiveTargetType));
+        builder.registerStaticUse(
+            staticUse.kind == StaticUseKind.CONST_CONSTRUCTOR_INVOKE
+                ? new StaticUse.constConstructorInvoke(
+                    effectiveTarget.declaration, null, effectiveTargetType)
+                : new StaticUse.typedConstructorInvoke(
+                    effectiveTarget.declaration, null, effectiveTargetType));
         break;
       default:
         builder.registerStaticUse(staticUse);
diff --git a/tests/compiler/dart2js/kernel/visitor_test.dart b/tests/compiler/dart2js/kernel/visitor_test.dart
index e8ad842..ec8e3ae 100644
--- a/tests/compiler/dart2js/kernel/visitor_test.dart
+++ b/tests/compiler/dart2js/kernel/visitor_test.dart
@@ -22,8 +22,8 @@
 const String TESTCASE_DIR = 'third_party/pkg/kernel/testcases/';
 
 const List<String> SKIP_TESTS = const <String>[
-  // Encoding of redirecting factories have changed.
-  'redirecting_factory',
+  /// The test expects an unpatched api.
+  'external',
 ];
 
 main(List<String> arguments) {
diff --git a/tests/compiler/dart2js/list_tracer2_test.dart b/tests/compiler/dart2js/list_tracer2_test.dart
index d03ab91..c0a5166 100644
--- a/tests/compiler/dart2js/list_tracer2_test.dart
+++ b/tests/compiler/dart2js/list_tracer2_test.dart
@@ -24,7 +24,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkType(String name, type) {
           var element = findElement(compiler, name);
@@ -32,6 +32,6 @@
           Expect.equals(type, simplify(mask.elementType, compiler), name);
         }
 
-        checkType('myList', compiler.commonMasks.uint31Type);
+        checkType('myList', compiler.closedWorld.commonMasks.uint31Type);
       }));
 }
diff --git a/tests/compiler/dart2js/list_tracer3_test.dart b/tests/compiler/dart2js/list_tracer3_test.dart
index cb1b936..1e61858 100644
--- a/tests/compiler/dart2js/list_tracer3_test.dart
+++ b/tests/compiler/dart2js/list_tracer3_test.dart
@@ -26,7 +26,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkType(String name, type) {
           var element = findElement(compiler, name);
diff --git a/tests/compiler/dart2js/list_tracer_test.dart b/tests/compiler/dart2js/list_tracer_test.dart
index fe1bd17..c407ce8 100644
--- a/tests/compiler/dart2js/list_tracer_test.dart
+++ b/tests/compiler/dart2js/list_tracer_test.dart
@@ -198,8 +198,8 @@
   var compiler = compilerFor(generateTest(allocation), uri,
       expectedErrors: 0, expectedWarnings: 1);
   asyncTest(() => compiler.run(uri).then((_) {
-        var commonMasks = compiler.commonMasks;
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var commonMasks = compiler.closedWorld.commonMasks;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkType(String name, type) {
           var element = findElement(compiler, name);
diff --git a/tests/compiler/dart2js/list_tracer_typed_data_length_test.dart b/tests/compiler/dart2js/list_tracer_typed_data_length_test.dart
index b0dc4fd..ee15963 100644
--- a/tests/compiler/dart2js/list_tracer_typed_data_length_test.dart
+++ b/tests/compiler/dart2js/list_tracer_typed_data_length_test.dart
@@ -29,7 +29,7 @@
   asyncTest(() async {
     CompilationResult result = await runCompiler(memorySourceFiles: TEST);
     Compiler compiler = result.compiler;
-    var typesInferrer = compiler.globalInference.typesInferrer;
+    var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
     checkType(String name, type, length) {
       var element = findElement(compiler, name);
@@ -40,7 +40,7 @@
       Expect.equals(container.length, length);
     }
 
-    checkType('myList', compiler.commonMasks.numType, 42);
-    checkType('myOtherList', compiler.commonMasks.uint31Type, 32);
+    checkType('myList', compiler.closedWorld.commonMasks.numType, 42);
+    checkType('myOtherList', compiler.closedWorld.commonMasks.uint31Type, 32);
   });
 }
diff --git a/tests/compiler/dart2js/map_tracer_const_test.dart b/tests/compiler/dart2js/map_tracer_const_test.dart
index ee20f9f..69d9554 100644
--- a/tests/compiler/dart2js/map_tracer_const_test.dart
+++ b/tests/compiler/dart2js/map_tracer_const_test.dart
@@ -33,8 +33,8 @@
   var compiler = compilerFor(TEST, uri, expectedErrors: 0, expectedWarnings: 0);
   compiler.stopAfterTypeInference = true;
   asyncTest(() => compiler.run(uri).then((_) {
-        var commonMasks = compiler.commonMasks;
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var commonMasks = compiler.closedWorld.commonMasks;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
         var element = findElement(compiler, 'closure');
         var mask = typesInferrer.getReturnTypeOfElement(element);
         Expect.equals(commonMasks.numType, simplify(mask, compiler));
diff --git a/tests/compiler/dart2js/map_tracer_keys_test.dart b/tests/compiler/dart2js/map_tracer_keys_test.dart
index 4516fb3..4394879 100644
--- a/tests/compiler/dart2js/map_tracer_keys_test.dart
+++ b/tests/compiler/dart2js/map_tracer_keys_test.dart
@@ -57,8 +57,8 @@
   var compiler = compilerFor(generateTest(key, value, initial), uri,
       expectedErrors: 0, expectedWarnings: 0);
   asyncTest(() => compiler.run(uri).then((_) {
-        var commonMasks = compiler.commonMasks;
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var commonMasks = compiler.closedWorld.commonMasks;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
         var aDoubleType =
             typesInferrer.getTypeOfElement(findElement(compiler, 'aDouble'));
         var aListType =
diff --git a/tests/compiler/dart2js/map_tracer_test.dart b/tests/compiler/dart2js/map_tracer_test.dart
index 4399798..571450c 100644
--- a/tests/compiler/dart2js/map_tracer_test.dart
+++ b/tests/compiler/dart2js/map_tracer_test.dart
@@ -211,11 +211,11 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(generateTest(allocation), uri,
       expectedErrors: 0, expectedWarnings: 1);
-  var closedWorld = compiler.openWorld.closeWorld();
+  var closedWorld = compiler.openWorld.closeWorld(compiler.reporter);
   asyncTest(() => compiler.run(uri).then((_) {
         var keyType, valueType;
-        var commonMasks = compiler.commonMasks;
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var commonMasks = compiler.closedWorld.commonMasks;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
         var emptyType = new TypeMask.nonNullEmpty();
         var aKeyType =
             typesInferrer.getTypeOfElement(findElement(compiler, 'aKey'));
diff --git a/tests/compiler/dart2js/mirror_final_field_inferrer2_test.dart b/tests/compiler/dart2js/mirror_final_field_inferrer2_test.dart
index 4f109a4..3d5ce6d 100644
--- a/tests/compiler/dart2js/mirror_final_field_inferrer2_test.dart
+++ b/tests/compiler/dart2js/mirror_final_field_inferrer2_test.dart
@@ -28,8 +28,8 @@
     var result = await runCompiler(memorySourceFiles: MEMORY_SOURCE_FILES);
     var compiler = result.compiler;
     var element = findElement(compiler, 'field');
-    var commonMasks = compiler.commonMasks;
-    var typesInferrer = compiler.globalInference.typesInferrer;
+    var commonMasks = compiler.closedWorld.commonMasks;
+    var typesInferrer = compiler.globalInference.typesInferrerInternal;
     Expect.equals(commonMasks.uint31Type,
         simplify(typesInferrer.getTypeOfElement(element), compiler), 'field');
   });
diff --git a/tests/compiler/dart2js/mirror_final_field_inferrer_test.dart b/tests/compiler/dart2js/mirror_final_field_inferrer_test.dart
index 31b555d..78ea487 100644
--- a/tests/compiler/dart2js/mirror_final_field_inferrer_test.dart
+++ b/tests/compiler/dart2js/mirror_final_field_inferrer_test.dart
@@ -28,8 +28,8 @@
     var result = await runCompiler(memorySourceFiles: MEMORY_SOURCE_FILES);
     var compiler = result.compiler;
     var element = findElement(compiler, 'field');
-    var commonMasks = compiler.commonMasks;
-    var typesInferrer = compiler.globalInference.typesInferrer;
+    var commonMasks = compiler.closedWorld.commonMasks;
+    var typesInferrer = compiler.globalInference.typesInferrerInternal;
     Expect.equals(commonMasks.uint31Type,
         simplify(typesInferrer.getTypeOfElement(element), compiler), 'field');
   });
diff --git a/tests/compiler/dart2js/mirror_tree_shaking_test.dart b/tests/compiler/dart2js/mirror_tree_shaking_test.dart
index 3618c816..744d36e 100644
--- a/tests/compiler/dart2js/mirror_tree_shaking_test.dart
+++ b/tests/compiler/dart2js/mirror_tree_shaking_test.dart
@@ -16,15 +16,18 @@
     CompilationResult result = await runCompiler(
         memorySourceFiles: MEMORY_SOURCE_FILES, diagnosticHandler: collector);
     Compiler compiler = result.compiler;
+    JavaScriptBackend backend = compiler.backend;
     Expect.isTrue(collector.errors.isEmpty);
     Expect.isTrue(collector.infos.isEmpty);
     Expect.isFalse(compiler.compilationFailed);
-    Expect.isFalse(compiler.enqueuer.resolution.hasEnqueuedReflectiveElements);
+    Expect.isFalse(backend
+        .mirrorsAnalysis.resolutionHandler.hasEnqueuedReflectiveElements);
+    Expect.isFalse(backend
+        .mirrorsAnalysis.resolutionHandler.hasEnqueuedReflectiveStaticFields);
     Expect.isFalse(
-        compiler.enqueuer.resolution.hasEnqueuedReflectiveStaticFields);
-    JavaScriptBackend backend = compiler.backend;
-    Expect.isFalse(backend.codegenEnqueuer.hasEnqueuedReflectiveElements);
-    Expect.isFalse(backend.codegenEnqueuer.hasEnqueuedReflectiveStaticFields);
+        backend.mirrorsAnalysis.codegenHandler.hasEnqueuedReflectiveElements);
+    Expect.isFalse(backend
+        .mirrorsAnalysis.codegenHandler.hasEnqueuedReflectiveStaticFields);
     Expect.isFalse(compiler.disableTypeInference);
     Expect.isFalse(backend.hasRetainedMetadata);
   });
diff --git a/tests/compiler/dart2js/patch_test.dart b/tests/compiler/dart2js/patch_test.dart
index f12c2b2..f7b34dd 100644
--- a/tests/compiler/dart2js/patch_test.dart
+++ b/tests/compiler/dart2js/patch_test.dart
@@ -920,7 +920,7 @@
       """,
       runCompiler: true,
       analyzeOnly: true);
-  ClosedWorld world = compiler.openWorld.closeWorld();
+  ClosedWorld world = compiler.openWorld.closeWorld(compiler.reporter);
 
   ClassElement cls = ensure(
       compiler, "A", compiler.commonElements.coreLibrary.find,
diff --git a/tests/compiler/dart2js/related_types.dart b/tests/compiler/dart2js/related_types.dart
index 09b28ea..a2516f7 100644
--- a/tests/compiler/dart2js/related_types.dart
+++ b/tests/compiler/dart2js/related_types.dart
@@ -35,7 +35,7 @@
 
 /// Check all loaded libraries in [compiler] for unrelated types.
 void checkRelatedTypes(Compiler compiler) {
-  compiler.openWorld.closeWorld();
+  compiler.openWorld.closeWorld(compiler.reporter);
   for (LibraryElement library in compiler.libraryLoader.libraries) {
     checkLibraryElement(compiler, library);
   }
diff --git a/tests/compiler/dart2js/related_types_test.dart b/tests/compiler/dart2js/related_types_test.dart
index 38449bc..6711fb2 100644
--- a/tests/compiler/dart2js/related_types_test.dart
+++ b/tests/compiler/dart2js/related_types_test.dart
@@ -267,7 +267,7 @@
     Expect.isFalse(
         collector.hasRegularMessages, "Unexpected analysis messages.");
     Compiler compiler = result.compiler;
-    compiler.openWorld.closeWorld();
+    compiler.openWorld.closeWorld(compiler.reporter);
 
     void checkMember(MemberElement member) {
       if (!member.name.startsWith('test_')) return;
diff --git a/tests/compiler/dart2js/serialization/helper.dart b/tests/compiler/dart2js/serialization/helper.dart
index cd6ecb2..7fab60f 100644
--- a/tests/compiler/dart2js/serialization/helper.dart
+++ b/tests/compiler/dart2js/serialization/helper.dart
@@ -11,6 +11,7 @@
 import 'package:compiler/src/common/names.dart';
 import 'package:compiler/src/compiler.dart';
 import 'package:compiler/src/elements/elements.dart';
+import 'package:compiler/src/filenames.dart';
 
 import '../memory_compiler.dart';
 import 'test_data.dart';
@@ -71,6 +72,13 @@
         saveSerializedData: saveSerializedData);
   }
 
+  Uri get uri {
+    if (filename != null) {
+      return Uri.base.resolve(nativeToUriPath(filename));
+    }
+    return null;
+  }
+
   Future forEachTest(SerializedData serializedData, List<Test> tests,
       TestFunction testFunction) async {
     Uri entryPoint = Uri.parse('memory:main.dart');
diff --git a/tests/compiler/dart2js/serialization/model_test_helper.dart b/tests/compiler/dart2js/serialization/model_test_helper.dart
index 9a4484a..152bd39 100644
--- a/tests/compiler/dart2js/serialization/model_test_helper.dart
+++ b/tests/compiler/dart2js/serialization/model_test_helper.dart
@@ -13,13 +13,16 @@
 import 'package:compiler/src/common.dart';
 import 'package:compiler/src/constants/values.dart';
 import 'package:compiler/src/compiler.dart';
+import 'package:compiler/src/dart_types.dart';
 import 'package:compiler/src/deferred_load.dart';
 import 'package:compiler/src/elements/elements.dart';
+import 'package:compiler/src/enqueue.dart';
 import 'package:compiler/src/filenames.dart';
 import 'package:compiler/src/js_backend/js_backend.dart';
 import 'package:compiler/src/serialization/equivalence.dart';
 import 'package:compiler/src/tree/nodes.dart';
 import 'package:compiler/src/universe/class_set.dart';
+import 'package:compiler/src/world.dart' show ClosedWorld;
 import '../memory_compiler.dart';
 import 'helper.dart';
 import 'test_data.dart';
@@ -36,8 +39,8 @@
     Arguments arguments = new Arguments.from(args);
     SerializedData serializedData =
         await serializeDartCore(arguments: arguments);
-    if (arguments.filename != null) {
-      Uri entryPoint = Uri.base.resolve(nativeToUriPath(arguments.filename));
+    if (arguments.uri != null) {
+      Uri entryPoint = arguments.uri;
       SerializationResult result =
           await measure('${entryPoint}', 'serialize', () {
         return serialize(entryPoint,
@@ -90,97 +93,121 @@
 
   return measure(title, 'check models', () async {
     checkAllImpacts(compilerNormal, compilerDeserialized, verbose: verbose);
-
-    checkSets(
-        compilerNormal.resolverWorld.directlyInstantiatedClasses,
-        compilerDeserialized.resolverWorld.directlyInstantiatedClasses,
-        "Directly instantiated classes mismatch",
-        areElementsEquivalent,
+    checkResolutionEnqueuers(compilerNormal.enqueuer.resolution,
+        compilerDeserialized.enqueuer.resolution,
         verbose: verbose);
-
-    checkSets(
-        compilerNormal.resolverWorld.instantiatedTypes,
-        compilerDeserialized.resolverWorld.instantiatedTypes,
-        "Instantiated types mismatch",
-        areTypesEquivalent,
+    checkClosedWorlds(
+        compilerNormal.closedWorld, compilerDeserialized.closedWorld,
         verbose: verbose);
+    checkBackendInfo(compilerNormal, compilerDeserialized, verbose: verbose);
+  });
+}
 
-    checkSets(
-        compilerNormal.resolverWorld.isChecks,
-        compilerDeserialized.resolverWorld.isChecks,
-        "Is-check mismatch",
-        areTypesEquivalent,
-        verbose: verbose);
+void checkResolutionEnqueuers(
+    ResolutionEnqueuer enqueuer1, ResolutionEnqueuer enqueuer2,
+    {bool typeEquivalence(DartType a, DartType b): areTypesEquivalent,
+    bool elementFilter(Element element),
+    bool verbose: false}) {
+  Iterable<Element> processedElements1 = enqueuer1.processedElements;
+  Iterable<Element> processedElements2 = enqueuer2.processedElements;
+  if (elementFilter != null) {
+    processedElements1 = processedElements1.where(elementFilter);
+    processedElements2 = processedElements2.where(elementFilter);
+  }
 
-    checkSets(
-        compilerNormal.enqueuer.resolution.processedElements,
-        compilerDeserialized.enqueuer.resolution.processedElements,
-        "Processed element mismatch",
-        areElementsEquivalent, onSameElement: (a, b) {
-      checkElements(compilerNormal, compilerDeserialized, a, b,
-          verbose: verbose);
-    }, verbose: verbose);
+  checkSets(processedElements1, processedElements2,
+      "Processed element mismatch", areElementsEquivalent,
+      verbose: verbose);
 
-    checkClassHierarchyNodes(
-        compilerNormal,
-        compilerDeserialized,
-        compilerNormal.closedWorld
-            .getClassHierarchyNode(compilerNormal.coreClasses.objectClass),
-        compilerDeserialized.closedWorld.getClassHierarchyNode(
-            compilerDeserialized.coreClasses.objectClass),
-        verbose: verbose);
+  checkSets(
+      enqueuer1.universe.directlyInstantiatedClasses,
+      enqueuer2.universe.directlyInstantiatedClasses,
+      "Directly instantiated classes mismatch",
+      areElementsEquivalent,
+      verbose: verbose);
 
-    Expect.equals(
-        compilerNormal.enabledInvokeOn,
-        compilerDeserialized.enabledInvokeOn,
-        "Compiler.enabledInvokeOn mismatch");
-    Expect.equals(
-        compilerNormal.enabledFunctionApply,
-        compilerDeserialized.enabledFunctionApply,
-        "Compiler.enabledFunctionApply mismatch");
-    Expect.equals(
-        compilerNormal.enabledRuntimeType,
-        compilerDeserialized.enabledRuntimeType,
-        "Compiler.enabledRuntimeType mismatch");
-    Expect.equals(
-        compilerNormal.hasIsolateSupport,
-        compilerDeserialized.hasIsolateSupport,
-        "Compiler.hasIsolateSupport mismatch");
-    Expect.equals(
-        compilerNormal.deferredLoadTask.isProgramSplit,
-        compilerDeserialized.deferredLoadTask.isProgramSplit,
-        "isProgramSplit mismatch");
+  checkSets(
+      enqueuer1.universe.instantiatedTypes,
+      enqueuer2.universe.instantiatedTypes,
+      "Instantiated types mismatch",
+      typeEquivalence,
+      verbose: verbose);
 
-    Map<ConstantValue, OutputUnit> constants1 =
-        compilerNormal.deferredLoadTask.outputUnitForConstantsForTesting;
-    Map<ConstantValue, OutputUnit> constants2 =
-        compilerDeserialized.deferredLoadTask.outputUnitForConstantsForTesting;
-    checkSets(
-        constants1.keys,
-        constants2.keys,
-        'deferredLoadTask._outputUnitForConstants.keys',
-        areConstantValuesEquivalent,
-        failOnUnfound: false,
-        failOnExtra: false,
-        onSameElement: (ConstantValue value1, ConstantValue value2) {
-      OutputUnit outputUnit1 = constants1[value1];
-      OutputUnit outputUnit2 = constants2[value2];
-      checkOutputUnits(
-          outputUnit1,
-          outputUnit2,
-          'for ${value1.toStructuredText()} '
-          'vs ${value2.toStructuredText()}');
-    }, onUnfoundElement: (ConstantValue value1) {
-      OutputUnit outputUnit1 = constants1[value1];
-      Expect.isTrue(outputUnit1.isMainOutput,
-          "Missing deferred constant: ${value1.toStructuredText()}");
-    }, onExtraElement: (ConstantValue value2) {
-      OutputUnit outputUnit2 = constants2[value2];
-      Expect.isTrue(outputUnit2.isMainOutput,
-          "Extra deferred constant: ${value2.toStructuredText()}");
-    }, elementToString: (a) {
-      return '${a.toStructuredText()} -> ${constants1[a]}/${constants2[a]}';
-    });
+  checkSets(enqueuer1.universe.isChecks, enqueuer2.universe.isChecks,
+      "Is-check mismatch", typeEquivalence,
+      verbose: verbose);
+
+  JavaScriptBackend backend1 = enqueuer1.backend;
+  JavaScriptBackend backend2 = enqueuer2.backend;
+  Expect.equals(backend1.hasInvokeOnSupport, backend2.hasInvokeOnSupport,
+      "Compiler.enabledInvokeOn mismatch");
+  Expect.equals(
+      enqueuer1.universe.hasFunctionApplySupport,
+      enqueuer2.universe.hasFunctionApplySupport,
+      "ResolutionEnqueuer.universe.hasFunctionApplySupport mismatch");
+  Expect.equals(
+      enqueuer1.universe.hasRuntimeTypeSupport,
+      enqueuer2.universe.hasRuntimeTypeSupport,
+      "ResolutionEnqueuer.universe.hasRuntimeTypeSupport mismatch");
+  Expect.equals(
+      enqueuer1.universe.hasIsolateSupport,
+      enqueuer2.universe.hasIsolateSupport,
+      "ResolutionEnqueuer.universe.hasIsolateSupport mismatch");
+}
+
+void checkClosedWorlds(ClosedWorld closedWorld1, ClosedWorld closedWorld2,
+    {bool verbose: false}) {
+  checkClassHierarchyNodes(
+      closedWorld1,
+      closedWorld2,
+      closedWorld1.getClassHierarchyNode(closedWorld1.coreClasses.objectClass),
+      closedWorld2.getClassHierarchyNode(closedWorld2.coreClasses.objectClass),
+      verbose: verbose);
+}
+
+void checkBackendInfo(Compiler compilerNormal, Compiler compilerDeserialized,
+    {bool verbose: false}) {
+  checkSets(
+      compilerNormal.enqueuer.resolution.processedElements,
+      compilerDeserialized.enqueuer.resolution.processedElements,
+      "Processed element mismatch",
+      areElementsEquivalent, onSameElement: (a, b) {
+    checkElements(compilerNormal, compilerDeserialized, a, b, verbose: verbose);
+  }, verbose: verbose);
+  Expect.equals(
+      compilerNormal.deferredLoadTask.isProgramSplit,
+      compilerDeserialized.deferredLoadTask.isProgramSplit,
+      "isProgramSplit mismatch");
+
+  Map<ConstantValue, OutputUnit> constants1 =
+      compilerNormal.deferredLoadTask.outputUnitForConstantsForTesting;
+  Map<ConstantValue, OutputUnit> constants2 =
+      compilerDeserialized.deferredLoadTask.outputUnitForConstantsForTesting;
+  checkSets(
+      constants1.keys,
+      constants2.keys,
+      'deferredLoadTask._outputUnitForConstants.keys',
+      areConstantValuesEquivalent,
+      failOnUnfound: false,
+      failOnExtra: false,
+      onSameElement: (ConstantValue value1, ConstantValue value2) {
+    OutputUnit outputUnit1 = constants1[value1];
+    OutputUnit outputUnit2 = constants2[value2];
+    checkOutputUnits(
+        outputUnit1,
+        outputUnit2,
+        'for ${value1.toStructuredText()} '
+        'vs ${value2.toStructuredText()}');
+  }, onUnfoundElement: (ConstantValue value1) {
+    OutputUnit outputUnit1 = constants1[value1];
+    Expect.isTrue(outputUnit1.isMainOutput,
+        "Missing deferred constant: ${value1.toStructuredText()}");
+  }, onExtraElement: (ConstantValue value2) {
+    OutputUnit outputUnit2 = constants2[value2];
+    Expect.isTrue(outputUnit2.isMainOutput,
+        "Extra deferred constant: ${value2.toStructuredText()}");
+  }, elementToString: (a) {
+    return '${a.toStructuredText()} -> ${constants1[a]}/${constants2[a]}';
   });
 }
 
@@ -260,19 +287,19 @@
   checkElementOutputUnits(compiler1, compiler2, element1, element2);
 }
 
-void checkMixinUses(Compiler compiler1, Compiler compiler2, ClassElement class1,
-    ClassElement class2,
+void checkMixinUses(ClosedWorld closedWorld1, ClosedWorld closedWorld2,
+    ClassElement class1, ClassElement class2,
     {bool verbose: false}) {
-  checkSets(
-      compiler1.closedWorld.mixinUsesOf(class1),
-      compiler2.closedWorld.mixinUsesOf(class2),
-      "Mixin uses of $class1 vs $class2",
-      areElementsEquivalent,
+  checkSets(closedWorld1.mixinUsesOf(class1), closedWorld2.mixinUsesOf(class2),
+      "Mixin uses of $class1 vs $class2", areElementsEquivalent,
       verbose: verbose);
 }
 
-void checkClassHierarchyNodes(Compiler compiler1, Compiler compiler2,
-    ClassHierarchyNode node1, ClassHierarchyNode node2,
+void checkClassHierarchyNodes(
+    ClosedWorld closedWorld1,
+    ClosedWorld closedWorld2,
+    ClassHierarchyNode node1,
+    ClassHierarchyNode node2,
     {bool verbose: false}) {
   if (verbose) {
     print('Checking $node1 vs $node2');
@@ -295,7 +322,7 @@
     bool found = false;
     for (ClassHierarchyNode other in node2.directSubclasses) {
       if (areElementsEquivalent(child.cls, other.cls)) {
-        checkClassHierarchyNodes(compiler1, compiler2, child, other,
+        checkClassHierarchyNodes(closedWorld1, closedWorld2, child, other,
             verbose: verbose);
         found = true;
         break;
@@ -305,10 +332,10 @@
       if (child.isInstantiated) {
         print('Missing subclass ${child.cls} of ${node1.cls} '
             'in ${node2.directSubclasses}');
-        print(compiler1.closedWorld
-            .dump(verbose ? compiler1.coreClasses.objectClass : node1.cls));
-        print(compiler2.closedWorld
-            .dump(verbose ? compiler2.coreClasses.objectClass : node2.cls));
+        print(closedWorld1
+            .dump(verbose ? closedWorld1.coreClasses.objectClass : node1.cls));
+        print(closedWorld2
+            .dump(verbose ? closedWorld2.coreClasses.objectClass : node2.cls));
       }
       Expect.isFalse(
           child.isInstantiated,
@@ -316,7 +343,8 @@
           '${node2.directSubclasses}');
     }
   }
-  checkMixinUses(compiler1, compiler2, node1.cls, node2.cls, verbose: verbose);
+  checkMixinUses(closedWorld1, closedWorld2, node1.cls, node2.cls,
+      verbose: verbose);
 }
 
 bool areLocalsEquivalent(Local a, Local b) {
diff --git a/tests/compiler/dart2js/simple_inferrer_and_or_test.dart b/tests/compiler/dart2js/simple_inferrer_and_or_test.dart
index ac2e682..2c81edc 100644
--- a/tests/compiler/dart2js/simple_inferrer_and_or_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_and_or_test.dart
@@ -96,7 +96,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkReturn(String name, type) {
           var element = findElement(compiler, name);
@@ -112,16 +112,17 @@
         checkReturn('returnDyn1', subclassOfInterceptor);
         checkReturn('returnDyn2', subclassOfInterceptor);
         checkReturn('returnDyn3', subclassOfInterceptor);
-        checkReturn(
-            'returnDyn4', compiler.commonMasks.dynamicType.nonNullable());
-        checkReturn(
-            'returnDyn5', compiler.commonMasks.dynamicType.nonNullable());
-        checkReturn(
-            'returnDyn6', compiler.commonMasks.dynamicType.nonNullable());
+        checkReturn('returnDyn4',
+            compiler.closedWorld.commonMasks.dynamicType.nonNullable());
+        checkReturn('returnDyn5',
+            compiler.closedWorld.commonMasks.dynamicType.nonNullable());
+        checkReturn('returnDyn6',
+            compiler.closedWorld.commonMasks.dynamicType.nonNullable());
         checkReturn('returnDyn7', subclassOfInterceptor);
         checkReturn('returnDyn7b', subclassOfInterceptor);
         checkReturn('returnDyn8', subclassOfInterceptor);
         checkReturn('returnDyn9', subclassOfInterceptor);
-        checkReturn('returnString', compiler.commonMasks.stringType);
+        checkReturn(
+            'returnString', compiler.closedWorld.commonMasks.stringType);
       }));
 }
diff --git a/tests/compiler/dart2js/simple_inferrer_callers_test.dart b/tests/compiler/dart2js/simple_inferrer_callers_test.dart
index 85b537e..41b9457 100644
--- a/tests/compiler/dart2js/simple_inferrer_callers_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_callers_test.dart
@@ -35,10 +35,13 @@
 
 void main() {
   Uri uri = new Uri(scheme: 'source');
-  var compiler = compilerFor(TEST, uri);
-  var inferrer = new MyInferrer(compiler, compiler.commonMasks);
-  compiler.globalInference.typesInferrer = inferrer;
+  var compiler = compilerFor(TEST, uri, analyzeOnly: true);
   asyncTest(() => compiler.run(uri).then((_) {
+        compiler.closeResolution();
+        var inferrer =
+            new MyInferrer(compiler, compiler.closedWorld.commonMasks);
+        compiler.globalInference.typesInferrerInternal = inferrer;
+        compiler.globalInference.runGlobalTypeInference(compiler.mainFunction);
         var mainElement = findElement(compiler, 'main');
         var classA = findElement(compiler, 'A');
         var fieldA = classA.lookupLocalMember('field');
diff --git a/tests/compiler/dart2js/simple_inferrer_closure_test.dart b/tests/compiler/dart2js/simple_inferrer_closure_test.dart
index 5a12baa..109f197 100644
--- a/tests/compiler/dart2js/simple_inferrer_closure_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_closure_test.dart
@@ -118,7 +118,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkReturn(String name, type) {
           var element = findElement(compiler, name);
@@ -128,20 +128,20 @@
               name);
         }
 
-        checkReturn('returnInt1', compiler.commonMasks.uint31Type);
-        checkReturn('returnInt2', compiler.commonMasks.uint31Type);
-        checkReturn('returnInt3', compiler.commonMasks.uint31Type);
-        checkReturn('returnInt4', compiler.commonMasks.uint31Type);
-        checkReturn(
-            'returnIntOrNull', compiler.commonMasks.uint31Type.nullable());
+        checkReturn('returnInt1', compiler.closedWorld.commonMasks.uint31Type);
+        checkReturn('returnInt2', compiler.closedWorld.commonMasks.uint31Type);
+        checkReturn('returnInt3', compiler.closedWorld.commonMasks.uint31Type);
+        checkReturn('returnInt4', compiler.closedWorld.commonMasks.uint31Type);
+        checkReturn('returnIntOrNull',
+            compiler.closedWorld.commonMasks.uint31Type.nullable());
 
-        checkReturn(
-            'returnDyn1', compiler.commonMasks.dynamicType.nonNullable());
-        checkReturn(
-            'returnDyn2', compiler.commonMasks.dynamicType.nonNullable());
-        checkReturn(
-            'returnDyn3', compiler.commonMasks.dynamicType.nonNullable());
-        checkReturn('returnNum1', compiler.commonMasks.numType);
+        checkReturn('returnDyn1',
+            compiler.closedWorld.commonMasks.dynamicType.nonNullable());
+        checkReturn('returnDyn2',
+            compiler.closedWorld.commonMasks.dynamicType.nonNullable());
+        checkReturn('returnDyn3',
+            compiler.closedWorld.commonMasks.dynamicType.nonNullable());
+        checkReturn('returnNum1', compiler.closedWorld.commonMasks.numType);
 
         checkReturnInClass(String className, String methodName, type) {
           var cls = findElement(compiler, className);
diff --git a/tests/compiler/dart2js/simple_inferrer_const_closure2_test.dart b/tests/compiler/dart2js/simple_inferrer_const_closure2_test.dart
index 175d716..2e59a21 100644
--- a/tests/compiler/dart2js/simple_inferrer_const_closure2_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_const_closure2_test.dart
@@ -28,7 +28,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkReturn(String name, type) {
           var element = findElement(compiler, name);
@@ -38,7 +38,7 @@
               name);
         }
 
-        checkReturn('method', compiler.commonMasks.numType);
-        checkReturn('returnNum', compiler.commonMasks.numType);
+        checkReturn('method', compiler.closedWorld.commonMasks.numType);
+        checkReturn('returnNum', compiler.closedWorld.commonMasks.numType);
       }));
 }
diff --git a/tests/compiler/dart2js/simple_inferrer_const_closure3_test.dart b/tests/compiler/dart2js/simple_inferrer_const_closure3_test.dart
index 1a60bc8..a354985 100644
--- a/tests/compiler/dart2js/simple_inferrer_const_closure3_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_const_closure3_test.dart
@@ -28,7 +28,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkArgument(String functionName, type) {
           var functionElement = findElement(compiler, functionName);
@@ -40,6 +40,6 @@
               functionName);
         }
 
-        checkArgument('method', compiler.commonMasks.uint31Type);
+        checkArgument('method', compiler.closedWorld.commonMasks.uint31Type);
       }));
 }
diff --git a/tests/compiler/dart2js/simple_inferrer_const_closure4_test.dart b/tests/compiler/dart2js/simple_inferrer_const_closure4_test.dart
index 40914d4..eeeeb02 100644
--- a/tests/compiler/dart2js/simple_inferrer_const_closure4_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_const_closure4_test.dart
@@ -29,7 +29,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkArgument(String functionName, type) {
           var functionElement = findElement(compiler, functionName);
@@ -41,7 +41,7 @@
               functionName);
         }
 
-        checkArgument('method', compiler.commonMasks.numType);
-        checkArgument('returnNum', compiler.commonMasks.numType);
+        checkArgument('method', compiler.closedWorld.commonMasks.numType);
+        checkArgument('returnNum', compiler.closedWorld.commonMasks.numType);
       }));
 }
diff --git a/tests/compiler/dart2js/simple_inferrer_const_closure5_test.dart b/tests/compiler/dart2js/simple_inferrer_const_closure5_test.dart
index 413a385..a41c254 100644
--- a/tests/compiler/dart2js/simple_inferrer_const_closure5_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_const_closure5_test.dart
@@ -29,7 +29,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkArgument(String functionName, type) {
           var functionElement = findElement(compiler, functionName);
@@ -41,6 +41,6 @@
               functionName);
         }
 
-        checkArgument('method', compiler.commonMasks.numType);
+        checkArgument('method', compiler.closedWorld.commonMasks.numType);
       }));
 }
diff --git a/tests/compiler/dart2js/simple_inferrer_const_closure_default_test.dart b/tests/compiler/dart2js/simple_inferrer_const_closure_default_test.dart
index 0a97f95..f2d38c6 100644
--- a/tests/compiler/dart2js/simple_inferrer_const_closure_default_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_const_closure_default_test.dart
@@ -42,7 +42,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkArgument(String functionName, type) {
           var functionElement = findElement(compiler, functionName);
@@ -66,41 +66,47 @@
               functionName);
         }
 
-        checkArgument('foo1', compiler.commonMasks.functionType);
+        checkArgument('foo1', compiler.closedWorld.commonMasks.functionType);
 
         /// 01: ok
-        checkArgument('foo2', compiler.commonMasks.functionType);
+        checkArgument('foo2', compiler.closedWorld.commonMasks.functionType);
 
         /// 02: ok
-        checkArgument('foo3', compiler.commonMasks.functionType);
+        checkArgument('foo3', compiler.closedWorld.commonMasks.functionType);
 
         /// 03: ok
-        checkArgument('foo4', compiler.commonMasks.functionType);
+        checkArgument('foo4', compiler.closedWorld.commonMasks.functionType);
 
         /// 04: ok
-        checkArgument('foo5', compiler.commonMasks.dynamicType);
+        checkArgument('foo5', compiler.closedWorld.commonMasks.dynamicType);
 
         /// 05: ok
-        checkArgument('foo6', compiler.commonMasks.dynamicType);
+        checkArgument('foo6', compiler.closedWorld.commonMasks.dynamicType);
 
         /// 06: ok
 
-        checkArgument('defaultFn1', compiler.commonMasks.uint31Type);
+        checkArgument(
+            'defaultFn1', compiler.closedWorld.commonMasks.uint31Type);
 
         /// 07: ok
-        checkArgument('defaultFn2', compiler.commonMasks.uint31Type);
+        checkArgument(
+            'defaultFn2', compiler.closedWorld.commonMasks.uint31Type);
 
         /// 08: ok
-        checkArgument('defaultFn3', compiler.commonMasks.uint31Type);
+        checkArgument(
+            'defaultFn3', compiler.closedWorld.commonMasks.uint31Type);
 
         /// 09: ok
-        checkArgument('defaultFn4', compiler.commonMasks.uint31Type);
+        checkArgument(
+            'defaultFn4', compiler.closedWorld.commonMasks.uint31Type);
 
         /// 10: ok
-        checkArgument('defaultFn5', compiler.commonMasks.uint31Type);
+        checkArgument(
+            'defaultFn5', compiler.closedWorld.commonMasks.uint31Type);
 
         /// 11: ok
-        checkArgument('defaultFn6', compiler.commonMasks.uint31Type);
+        checkArgument(
+            'defaultFn6', compiler.closedWorld.commonMasks.uint31Type);
 
         /// 12: ok
       }));
diff --git a/tests/compiler/dart2js/simple_inferrer_const_closure_test.dart b/tests/compiler/dart2js/simple_inferrer_const_closure_test.dart
index bb5e17e..6dbd781 100644
--- a/tests/compiler/dart2js/simple_inferrer_const_closure_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_const_closure_test.dart
@@ -37,7 +37,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkReturn(String name, type) {
           var element = findElement(compiler, name);
@@ -47,10 +47,10 @@
               name);
         }
 
-        checkReturn('method1', compiler.commonMasks.uint31Type);
-        checkReturn('returnInt1', compiler.commonMasks.uint31Type);
+        checkReturn('method1', compiler.closedWorld.commonMasks.uint31Type);
+        checkReturn('returnInt1', compiler.closedWorld.commonMasks.uint31Type);
 
-        checkReturn('method2', compiler.commonMasks.uint31Type);
-        checkReturn('returnInt2', compiler.commonMasks.uint31Type);
+        checkReturn('method2', compiler.closedWorld.commonMasks.uint31Type);
+        checkReturn('returnInt2', compiler.closedWorld.commonMasks.uint31Type);
       }));
 }
diff --git a/tests/compiler/dart2js/simple_inferrer_final_field2_test.dart b/tests/compiler/dart2js/simple_inferrer_final_field2_test.dart
index cc429df..2a31462 100644
--- a/tests/compiler/dart2js/simple_inferrer_final_field2_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_final_field2_test.dart
@@ -28,7 +28,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkFieldTypeInClass(String className, String fieldName, type) {
           var cls = findElement(compiler, className);
diff --git a/tests/compiler/dart2js/simple_inferrer_final_field3_test.dart b/tests/compiler/dart2js/simple_inferrer_final_field3_test.dart
index caa821f..7eeefae 100644
--- a/tests/compiler/dart2js/simple_inferrer_final_field3_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_final_field3_test.dart
@@ -27,7 +27,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkFieldTypeInClass(String className, String fieldName, type) {
           var cls = findElement(compiler, className);
diff --git a/tests/compiler/dart2js/simple_inferrer_final_field_test.dart b/tests/compiler/dart2js/simple_inferrer_final_field_test.dart
index d36ffa9..78b3ebc 100644
--- a/tests/compiler/dart2js/simple_inferrer_final_field_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_final_field_test.dart
@@ -31,7 +31,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkFieldTypeInClass(String className, String fieldName, type) {
           var cls = findElement(compiler, className);
@@ -40,12 +40,13 @@
               simplify(typesInferrer.getTypeOfElement(element), compiler));
         }
 
-        checkFieldTypeInClass('A', 'intField', compiler.commonMasks.uint31Type);
+        checkFieldTypeInClass(
+            'A', 'intField', compiler.closedWorld.commonMasks.uint31Type);
         checkFieldTypeInClass('A', 'giveUpField1',
             findTypeMask(compiler, 'Interceptor', 'nonNullSubclass'));
         checkFieldTypeInClass('A', 'giveUpField2',
-            compiler.commonMasks.dynamicType.nonNullable());
+            compiler.closedWorld.commonMasks.dynamicType.nonNullable());
         checkFieldTypeInClass(
-            'A', 'fieldParameter', compiler.commonMasks.uint31Type);
+            'A', 'fieldParameter', compiler.closedWorld.commonMasks.uint31Type);
       }));
 }
diff --git a/tests/compiler/dart2js/simple_inferrer_global_field_closure2_test.dart b/tests/compiler/dart2js/simple_inferrer_global_field_closure2_test.dart
index c2e7492..01a896a 100644
--- a/tests/compiler/dart2js/simple_inferrer_global_field_closure2_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_global_field_closure2_test.dart
@@ -28,7 +28,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkArgument(String functionName, type) {
           var functionElement = findElement(compiler, functionName);
@@ -40,6 +40,6 @@
               functionName);
         }
 
-        checkArgument('method', compiler.commonMasks.uint31Type);
+        checkArgument('method', compiler.closedWorld.commonMasks.uint31Type);
       }));
 }
diff --git a/tests/compiler/dart2js/simple_inferrer_global_field_closure_test.dart b/tests/compiler/dart2js/simple_inferrer_global_field_closure_test.dart
index eb486bc..f20912a 100644
--- a/tests/compiler/dart2js/simple_inferrer_global_field_closure_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_global_field_closure_test.dart
@@ -37,7 +37,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkReturn(String name, type) {
           var element = findElement(compiler, name);
@@ -47,10 +47,10 @@
               name);
         }
 
-        checkReturn('method1', compiler.commonMasks.uint31Type);
-        checkReturn('returnInt1', compiler.commonMasks.uint31Type);
+        checkReturn('method1', compiler.closedWorld.commonMasks.uint31Type);
+        checkReturn('returnInt1', compiler.closedWorld.commonMasks.uint31Type);
 
-        checkReturn('method2', compiler.commonMasks.uint31Type);
-        checkReturn('returnInt2', compiler.commonMasks.uint31Type);
+        checkReturn('method2', compiler.closedWorld.commonMasks.uint31Type);
+        checkReturn('returnInt2', compiler.closedWorld.commonMasks.uint31Type);
       }));
 }
diff --git a/tests/compiler/dart2js/simple_inferrer_no_such_method_test.dart b/tests/compiler/dart2js/simple_inferrer_no_such_method_test.dart
index 96ede85..a68120c 100644
--- a/tests/compiler/dart2js/simple_inferrer_no_such_method_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_no_such_method_test.dart
@@ -164,7 +164,7 @@
   Uri uri = new Uri(scheme: 'source');
 
   checkReturn(MockCompiler compiler, String name, type) {
-    var typesInferrer = compiler.globalInference.typesInferrer;
+    var typesInferrer = compiler.globalInference.typesInferrerInternal;
     var element = findElement(compiler, name);
     Expect.equals(
         type,
@@ -174,51 +174,74 @@
 
   var compiler1 = compilerFor(TEST1, uri);
   asyncTest(() => compiler1.run(uri).then((_) {
-        checkReturn(compiler1, 'test1', compiler1.commonMasks.uint31Type);
+        checkReturn(
+            compiler1, 'test1', compiler1.closedWorld.commonMasks.uint31Type);
         checkReturn(compiler1, 'test2',
-            compiler1.commonMasks.dynamicType.nonNullable());
-        checkReturn(compiler1, 'test3', compiler1.commonMasks.uint31Type);
-        checkReturn(compiler1, 'test4', compiler1.commonMasks.mapType);
+            compiler1.closedWorld.commonMasks.dynamicType.nonNullable());
+        checkReturn(
+            compiler1, 'test3', compiler1.closedWorld.commonMasks.uint31Type);
+        checkReturn(
+            compiler1, 'test4', compiler1.closedWorld.commonMasks.mapType);
         checkReturn(compiler1, 'test5',
-            compiler1.commonMasks.dynamicType.nonNullable());
+            compiler1.closedWorld.commonMasks.dynamicType.nonNullable());
         checkReturn(compiler1, 'test6',
-            compiler1.commonMasks.dynamicType.nonNullable());
+            compiler1.closedWorld.commonMasks.dynamicType.nonNullable());
       }));
 
   var compiler2 = compilerFor(TEST2, uri);
   asyncTest(() => compiler2.run(uri).then((_) {
+        checkReturn(compiler2, 'test1',
+            compiler2.closedWorld.commonMasks.mapType.nonNullable());
         checkReturn(
-            compiler2, 'test1', compiler2.commonMasks.mapType.nonNullable());
-        checkReturn(compiler2, 'test2', compiler2.commonMasks.mapType);
-        checkReturn(compiler2, 'test3', compiler2.commonMasks.mapType);
-        checkReturn(compiler2, 'test4', compiler2.commonMasks.mapType);
-        checkReturn(compiler2, 'test5', compiler2.commonMasks.mapType);
+            compiler2, 'test2', compiler2.closedWorld.commonMasks.mapType);
+        checkReturn(
+            compiler2, 'test3', compiler2.closedWorld.commonMasks.mapType);
+        checkReturn(
+            compiler2, 'test4', compiler2.closedWorld.commonMasks.mapType);
+        checkReturn(
+            compiler2, 'test5', compiler2.closedWorld.commonMasks.mapType);
 
-        checkReturn(compiler2, 'test6', compiler2.commonMasks.numType);
-        checkReturn(compiler2, 'test7', compiler2.commonMasks.uint31Type);
-        checkReturn(compiler2, 'test8', compiler2.commonMasks.uint31Type);
-        checkReturn(compiler2, 'test9', compiler2.commonMasks.uint31Type);
-        checkReturn(compiler2, 'test10', compiler2.commonMasks.numType);
-        checkReturn(compiler2, 'test11', compiler2.commonMasks.doubleType);
+        checkReturn(
+            compiler2, 'test6', compiler2.closedWorld.commonMasks.numType);
+        checkReturn(
+            compiler2, 'test7', compiler2.closedWorld.commonMasks.uint31Type);
+        checkReturn(
+            compiler2, 'test8', compiler2.closedWorld.commonMasks.uint31Type);
+        checkReturn(
+            compiler2, 'test9', compiler2.closedWorld.commonMasks.uint31Type);
+        checkReturn(
+            compiler2, 'test10', compiler2.closedWorld.commonMasks.numType);
+        checkReturn(
+            compiler2, 'test11', compiler2.closedWorld.commonMasks.doubleType);
       }));
 
   var compiler3 = compilerFor(TEST3, uri);
   asyncTest(() => compiler3.run(uri).then((_) {
         checkReturn(compiler3, 'test1', const TypeMask.nonNullEmpty());
-        checkReturn(compiler3, 'test2', compiler3.commonMasks.mapType);
-        checkReturn(compiler3, 'test3', compiler3.commonMasks.mapType);
-        checkReturn(compiler3, 'test4', compiler3.commonMasks.mapType);
-        checkReturn(compiler3, 'test5', compiler3.commonMasks.mapType);
-        checkReturn(compiler3, 'test6', compiler3.commonMasks.mapType);
+        checkReturn(
+            compiler3, 'test2', compiler3.closedWorld.commonMasks.mapType);
+        checkReturn(
+            compiler3, 'test3', compiler3.closedWorld.commonMasks.mapType);
+        checkReturn(
+            compiler3, 'test4', compiler3.closedWorld.commonMasks.mapType);
+        checkReturn(
+            compiler3, 'test5', compiler3.closedWorld.commonMasks.mapType);
+        checkReturn(
+            compiler3, 'test6', compiler3.closedWorld.commonMasks.mapType);
       }));
 
   var compiler4 = compilerFor(TEST4, uri);
   asyncTest(() => compiler4.run(uri).then((_) {
         checkReturn(compiler4, 'test1', const TypeMask.nonNullEmpty());
-        checkReturn(compiler4, 'test2', compiler4.commonMasks.mapType);
-        checkReturn(compiler4, 'test3', compiler4.commonMasks.mapType);
-        checkReturn(compiler4, 'test4', compiler4.commonMasks.mapType);
-        checkReturn(compiler4, 'test5', compiler4.commonMasks.mapType);
-        checkReturn(compiler4, 'test6', compiler4.commonMasks.mapType);
+        checkReturn(
+            compiler4, 'test2', compiler4.closedWorld.commonMasks.mapType);
+        checkReturn(
+            compiler4, 'test3', compiler4.closedWorld.commonMasks.mapType);
+        checkReturn(
+            compiler4, 'test4', compiler4.closedWorld.commonMasks.mapType);
+        checkReturn(
+            compiler4, 'test5', compiler4.closedWorld.commonMasks.mapType);
+        checkReturn(
+            compiler4, 'test6', compiler4.closedWorld.commonMasks.mapType);
       }));
 }
diff --git a/tests/compiler/dart2js/simple_inferrer_postfix_prefix_test.dart b/tests/compiler/dart2js/simple_inferrer_postfix_prefix_test.dart
index 3b308f0..3d37e58 100644
--- a/tests/compiler/dart2js/simple_inferrer_postfix_prefix_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_postfix_prefix_test.dart
@@ -66,8 +66,8 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var commonMasks = compiler.commonMasks;
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var commonMasks = compiler.closedWorld.commonMasks;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkReturnInClass(String className, String methodName, type) {
           var cls = findElement(compiler, className);
diff --git a/tests/compiler/dart2js/simple_inferrer_test.dart b/tests/compiler/dart2js/simple_inferrer_test.dart
index ccb07a8..cf29a1a 100644
--- a/tests/compiler/dart2js/simple_inferrer_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_test.dart
@@ -727,8 +727,8 @@
   var compiler = compilerFor(TEST, uri);
   compiler.diagnosticHandler = createHandler(compiler, TEST);
   asyncTest(() => compiler.run(uri).then((_) {
-        var commonMasks = compiler.commonMasks;
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var commonMasks = compiler.closedWorld.commonMasks;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
         var world = compiler.closedWorld;
 
         checkReturn(String name, type) {
diff --git a/tests/compiler/dart2js/simple_inferrer_try_catch_test.dart b/tests/compiler/dart2js/simple_inferrer_try_catch_test.dart
index 28c8fde..207a861 100644
--- a/tests/compiler/dart2js/simple_inferrer_try_catch_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_try_catch_test.dart
@@ -167,8 +167,8 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var commonMasks = compiler.commonMasks;
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var commonMasks = compiler.closedWorld.commonMasks;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkReturn(String name, type) {
           var element = findElement(compiler, name);
diff --git a/tests/compiler/dart2js/simple_inferrer_unregister_call_test.dart b/tests/compiler/dart2js/simple_inferrer_unregister_call_test.dart
index 1253b83..f0be6f8 100644
--- a/tests/compiler/dart2js/simple_inferrer_unregister_call_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_unregister_call_test.dart
@@ -32,7 +32,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         checkReturnInClass(String className, String methodName, type) {
           var cls = findElement(compiler, className);
@@ -40,6 +40,7 @@
           Expect.equals(type, typesInferrer.getReturnTypeOfElement(element));
         }
 
-        checkReturnInClass('A', '+', compiler.commonMasks.uint31Type);
+        checkReturnInClass(
+            'A', '+', compiler.closedWorld.commonMasks.uint31Type);
       }));
 }
diff --git a/tests/compiler/dart2js/trust_type_annotations_test.dart b/tests/compiler/dart2js/trust_type_annotations_test.dart
index c140fed..764e5ef 100644
--- a/tests/compiler/dart2js/trust_type_annotations_test.dart
+++ b/tests/compiler/dart2js/trust_type_annotations_test.dart
@@ -50,7 +50,7 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri, trustTypeAnnotations: true);
   asyncTest(() => compiler.run(uri).then((_) {
-        var typesInferrer = compiler.globalInference.typesInferrer;
+        var typesInferrer = compiler.globalInference.typesInferrerInternal;
 
         ClassElement classA = findElement(compiler, "A");
 
diff --git a/tests/compiler/dart2js/type_combination_test.dart b/tests/compiler/dart2js/type_combination_test.dart
index f15d471f..875f276 100644
--- a/tests/compiler/dart2js/type_combination_test.dart
+++ b/tests/compiler/dart2js/type_combination_test.dart
@@ -736,24 +736,23 @@
     """);
     JavaScriptBackend backend = compiler.backend;
     BackendHelpers helpers = backend.helpers;
-    ClosedWorld world = compiler.openWorld.closeWorld();
+    ClosedWorld world = compiler.openWorld.closeWorld(compiler.reporter);
     helpers.interceptorsLibrary.forEachLocalMember((element) {
       if (element.isClass) {
         element.ensureResolved(compiler.resolution);
-        backend.registerInstantiatedType(element.rawType,
-            compiler.enqueuer.resolution, compiler.globalDependencies);
+        compiler.enqueuer.resolution.registerInstantiatedType(element.rawType);
       }
     });
     ClassElement patternImplClass = compiler.mainApp.find('PatternImpl');
     patternImplClass.ensureResolved(compiler.resolution);
 
-    backend.registerInstantiatedType(compiler.coreTypes.mapType(),
-        compiler.enqueuer.resolution, compiler.globalDependencies);
-    backend.registerInstantiatedType(compiler.coreTypes.functionType,
-        compiler.enqueuer.resolution, compiler.globalDependencies);
-    backend.registerInstantiatedType(patternImplClass.rawType,
-        compiler.enqueuer.resolution, compiler.globalDependencies);
-    compiler.openWorld.closeWorld();
+    compiler.enqueuer.resolution
+        .registerInstantiatedType(compiler.coreTypes.mapType());
+    compiler.enqueuer.resolution
+        .registerInstantiatedType(compiler.coreTypes.functionType);
+    compiler.enqueuer.resolution
+        .registerInstantiatedType(patternImplClass.rawType);
+    compiler.openWorld.closeWorld(compiler.reporter);
 
     // Grab hold of a supertype for String so we can produce potential
     // string types.
diff --git a/tests/compiler/dart2js/type_inference6_test.dart b/tests/compiler/dart2js/type_inference6_test.dart
index 7eaf0a5..a9cdc0a 100644
--- a/tests/compiler/dart2js/type_inference6_test.dart
+++ b/tests/compiler/dart2js/type_inference6_test.dart
@@ -24,8 +24,8 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST, uri);
   return compiler.run(uri).then((_) {
-    var commonMasks = compiler.commonMasks;
-    var typesInferrer = compiler.globalInference.typesInferrer;
+    var commonMasks = compiler.closedWorld.commonMasks;
+    var typesInferrer = compiler.globalInference.typesInferrerInternal;
     var element = findElement(compiler, "foo");
     var mask = typesInferrer.getReturnTypeOfElement(element);
     Expect.equals(commonMasks.uint31Type, simplify(mask, compiler));
diff --git a/tests/compiler/dart2js/type_inference7_test.dart b/tests/compiler/dart2js/type_inference7_test.dart
index 42b19b0..a8ebbb0 100644
--- a/tests/compiler/dart2js/type_inference7_test.dart
+++ b/tests/compiler/dart2js/type_inference7_test.dart
@@ -23,8 +23,8 @@
     // Assertions enabled:
     var compiler = compilerFor(TEST, uri, enableUserAssertions: true);
     await compiler.run(uri);
-    var commonMasks = compiler.commonMasks;
-    var typesInferrer = compiler.globalInference.typesInferrer;
+    var commonMasks = compiler.closedWorld.commonMasks;
+    var typesInferrer = compiler.globalInference.typesInferrerInternal;
     var foo = findElement(compiler, "foo");
     // Return type is null|bool.
     var mask = typesInferrer.getReturnTypeOfElement(foo);
@@ -52,8 +52,8 @@
     // Assertions disabled:
     var compiler = compilerFor(TEST, uri, enableUserAssertions: false);
     await compiler.run(uri);
-    var commonMasks = compiler.commonMasks;
-    var typesInferrer = compiler.globalInference.typesInferrer;
+    var commonMasks = compiler.closedWorld.commonMasks;
+    var typesInferrer = compiler.globalInference.typesInferrerInternal;
     var foo = findElement(compiler, "foo");
     // Return type is null.
     var mask = typesInferrer.getReturnTypeOfElement(foo);
diff --git a/tests/compiler/dart2js/type_inference8_test.dart b/tests/compiler/dart2js/type_inference8_test.dart
index bcae368..fb4717c 100644
--- a/tests/compiler/dart2js/type_inference8_test.dart
+++ b/tests/compiler/dart2js/type_inference8_test.dart
@@ -34,8 +34,8 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST1, uri);
   return compiler.run(uri).then((_) {
-    var commonMasks = compiler.commonMasks;
-    var typesInferrer = compiler.globalInference.typesInferrer;
+    var commonMasks = compiler.closedWorld.commonMasks;
+    var typesInferrer = compiler.globalInference.typesInferrerInternal;
     var element = findElement(compiler, "foo");
     var mask = typesInferrer.getReturnTypeOfElement(element);
     var falseType =
@@ -77,8 +77,8 @@
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(TEST2, uri);
   return compiler.run(uri).then((_) {
-    var commonMasks = compiler.commonMasks;
-    var typesInferrer = compiler.globalInference.typesInferrer;
+    var commonMasks = compiler.closedWorld.commonMasks;
+    var typesInferrer = compiler.globalInference.typesInferrerInternal;
     var element = findElement(compiler, "foo");
     var mask = typesInferrer.getReturnTypeOfElement(element);
     // Can't infer value for foo's return type, it could be either true or false
diff --git a/tests/compiler/dart2js/type_inference_switch_test.dart b/tests/compiler/dart2js/type_inference_switch_test.dart
index bac1abd..181fc41 100644
--- a/tests/compiler/dart2js/type_inference_switch_test.dart
+++ b/tests/compiler/dart2js/type_inference_switch_test.dart
@@ -135,15 +135,15 @@
   var compiler = compilerFor(test, uri);
 
   checkTypeOf(String name, TypeMask type) {
-    var commonMasks = compiler.commonMasks;
-    var typesInferrer = compiler.globalInference.typesInferrer;
+    var commonMasks = compiler.closedWorld.commonMasks;
+    var typesInferrer = compiler.globalInference.typesInferrerInternal;
     var element = findElement(compiler, name);
     var mask = typesInferrer.getReturnTypeOfElement(element);
     Expect.equals(type, simplify(mask, compiler));
   }
 
   return compiler.run(uri).then((_) {
-    checker(compiler.commonMasks, checkTypeOf);
+    checker(compiler.closedWorld.commonMasks, checkTypeOf);
   });
 }
 
diff --git a/tests/compiler/dart2js/type_mask_test.dart b/tests/compiler/dart2js/type_mask_test.dart
index fae28df..3cb01a0 100644
--- a/tests/compiler/dart2js/type_mask_test.dart
+++ b/tests/compiler/dart2js/type_mask_test.dart
@@ -21,7 +21,7 @@
 main() {
   Uri uri = new Uri(scheme: 'source');
   var compiler = compilerFor(CODE, uri);
-  var closedWorld = compiler.openWorld.closeWorld();
+  var closedWorld = compiler.openWorld.closeWorld(compiler.reporter);
 
   asyncTest(() => compiler.run(uri).then((_) {
         var classA = findElement(compiler, 'A');
diff --git a/tests/compiler/dart2js/union_type_test.dart b/tests/compiler/dart2js/union_type_test.dart
index 336ce10..65e6da6 100644
--- a/tests/compiler/dart2js/union_type_test.dart
+++ b/tests/compiler/dart2js/union_type_test.dart
@@ -22,7 +22,8 @@
       }
       """,
         useMockCompiler: false);
-    ClosedWorld world = env.compiler.openWorld.closeWorld();
+    ClosedWorld world =
+        env.compiler.openWorld.closeWorld(env.compiler.reporter);
     FlatTypeMask mask1 = new FlatTypeMask.exact(env.getElement('A'));
     FlatTypeMask mask2 = new FlatTypeMask.exact(env.getElement('B'));
     UnionTypeMask union1 = mask1.nonNullable().union(mask2, world);
diff --git a/tests/compiler/dart2js_native/abstract_class_test.dart b/tests/compiler/dart2js_native/abstract_class_test.dart
index 18e0af3..d90fe2e 100644
--- a/tests/compiler/dart2js_native/abstract_class_test.dart
+++ b/tests/compiler/dart2js_native/abstract_class_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Native classes can have subclasses that are not declared to the program.  The
 // subclasses are indistinguishable from the base class.  This means that
@@ -29,17 +28,17 @@
 B.prototype.foo = function() { return 'B.foo'; };
 makeA = function(){return new A};
 makeB = function(){return new B};
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
-var inscrutable;
 main() {
+  nativeTesting();
   setup();
-  inscrutable = (x) => x;
-  inscrutable = inscrutable(inscrutable);
 
   var a = makeA();
   var b = makeB();
-  var c = inscrutable(new C());
+  var c = confuse(new C());
 
   Expect.isTrue(a is A);
   Expect.isFalse(b is A);
diff --git a/tests/compiler/dart2js_native/bound_closure_super_test.dart b/tests/compiler/dart2js_native/bound_closure_super_test.dart
index 35b19e0..d97d8e1 100644
--- a/tests/compiler/dart2js_native/bound_closure_super_test.dart
+++ b/tests/compiler/dart2js_native/bound_closure_super_test.dart
@@ -5,7 +5,7 @@
 // Test calling convention of property extraction closures (super edition).
 library bound_closure_super_test;
 
-import "package:expect/expect.dart";
+import 'package:expect/expect.dart';
 
 import 'bound_closure_test.dart' as bound_closure_test;
 
diff --git a/tests/compiler/dart2js_native/bound_closure_test.dart b/tests/compiler/dart2js_native/bound_closure_test.dart
index a637121..325f23f 100644
--- a/tests/compiler/dart2js_native/bound_closure_test.dart
+++ b/tests/compiler/dart2js_native/bound_closure_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 // Test calling convention of property extraction closures.
 
@@ -42,9 +41,13 @@
 makeBB = function(){return new BB;};
 makeCC = function(){return new CC;};
 inscrutable = function(a){return a;};
+
+self.nativeConstructor(BB);
+self.nativeConstructor(CC);
 """;
 
 main() {
+  nativeTesting();
   setup();
   var a = inscrutable(new AA());
   var b = inscrutable(makeBB());
diff --git a/tests/compiler/dart2js_native/browser_compat_1_prepatched_test.dart b/tests/compiler/dart2js_native/browser_compat_1_prepatched_test.dart
index 40662d8..606d4b1 100644
--- a/tests/compiler/dart2js_native/browser_compat_1_prepatched_test.dart
+++ b/tests/compiler/dart2js_native/browser_compat_1_prepatched_test.dart
@@ -2,10 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
-//import 'dart:_foreign_helper' show JS;
-//import 'dart:_js_helper' show Creates, setNativeSubclassDispatchRecord;
+import "native_testing.dart";
 
 // Test for dartNativeDispatchHooksTransformer, getTag hook.
 
@@ -42,6 +39,10 @@
 makeT1B = function(){return new T1CrazyB;};
 makeT1C = function(){return new T1fakeA;};
 
+self.nativeConstructor(T1A);
+self.nativeConstructor(T1CrazyB);
+self.nativeConstructor(T1fakeA);
+
 var getTagCount = 0;
 getTagCallCount = function() { return getTagCount; }
 
@@ -69,11 +70,9 @@
 dartNativeDispatchHooksTransformer = [transformer1];
 ''';
 
-var inscrutable;
-
 main() {
+  nativeTesting();
   setup();
-  inscrutable = (x) => x;
 
   var t1a = makeT1A();
   var t1b = makeT1B();
@@ -85,9 +84,9 @@
 
   Expect.equals(2, getTagCallCount());
 
-  Expect.equals(true, inscrutable(t1a) is T1A, '$t1a is T1A');
-  Expect.equals(true, inscrutable(t1b) is T1B, '$t1b is T1B');
-  Expect.equals(true, inscrutable(t1c) is T1C, '$t1c is T1C');
+  Expect.equals(true, confuse(t1a) is T1A, '$t1a is T1A');
+  Expect.equals(true, confuse(t1b) is T1B, '$t1b is T1B');
+  Expect.equals(true, confuse(t1c) is T1C, '$t1c is T1C');
 
   Expect.equals(2, getTagCallCount());
 }
diff --git a/tests/compiler/dart2js_native/browser_compat_1_unpatched_test.dart b/tests/compiler/dart2js_native/browser_compat_1_unpatched_test.dart
index 5e494d4..f2ada1e 100644
--- a/tests/compiler/dart2js_native/browser_compat_1_unpatched_test.dart
+++ b/tests/compiler/dart2js_native/browser_compat_1_unpatched_test.dart
@@ -2,10 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
-//import 'dart:_foreign_helper' show JS;
-//import 'dart:_js_helper' show Creates, setNativeSubclassDispatchRecord;
+import "native_testing.dart";
 
 // Test for dartNativeDispatchHooksTransformer, getTag hook.
 // Same as browser_compat_1_prepatched_test but with prepatching disabled.
@@ -43,6 +40,10 @@
 makeT1B = function(){return new T1CrazyB;};
 makeT1C = function(){return new T1fakeA;};
 
+self.nativeConstructor(T1A);
+self.nativeConstructor(T1CrazyB);
+self.nativeConstructor(T1fakeA);
+
 var getTagCount = 0;
 getTagCallCount = function() { return getTagCount; }
 
@@ -72,11 +73,9 @@
 dartNativeDispatchHooksTransformer = [transformer1];
 ''';
 
-var inscrutable;
-
 main() {
+  nativeTesting();
   setup();
-  inscrutable = (x) => x;
 
   var t1a = makeT1A();
   var t1b = makeT1B();
@@ -88,9 +87,9 @@
 
   Expect.equals(3, getTagCallCount());
 
-  Expect.equals(true, inscrutable(t1a) is T1A, '$t1a is T1A');
-  Expect.equals(true, inscrutable(t1b) is T1B, '$t1b is T1B');
-  Expect.equals(true, inscrutable(t1c) is T1C, '$t1c is T1C');
+  Expect.equals(true, confuse(t1a) is T1A, '$t1a is T1A');
+  Expect.equals(true, confuse(t1b) is T1B, '$t1b is T1B');
+  Expect.equals(true, confuse(t1c) is T1C, '$t1c is T1C');
 
   Expect.equals(3, getTagCallCount());
 }
diff --git a/tests/compiler/dart2js_native/browser_compat_2_test.dart b/tests/compiler/dart2js_native/browser_compat_2_test.dart
index eeb87fa..e659ce4 100644
--- a/tests/compiler/dart2js_native/browser_compat_2_test.dart
+++ b/tests/compiler/dart2js_native/browser_compat_2_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test for dartNativeDispatchHooksTransformer
 //  - uncached, instance, leaf and interior caching modes.
@@ -63,6 +62,11 @@
 makeT1C = function(){return new T1C;};
 makeT1D = function(){return new T1D;};
 
+self.nativeConstructor(T1A);
+self.nativeConstructor(T1B);
+self.nativeConstructor(T1C);
+self.nativeConstructor(T1D);
+
 var getTagCount = 0;
 getTagCallCount = function() { return getTagCount; }
 clearTagCallCount = function() { getTagCount = 0; }
@@ -99,11 +103,9 @@
 dartNativeDispatchHooksTransformer = [transformer1, transformer2];
 ''';
 
-var inscrutable;
-
 main() {
+  nativeTesting();
   setup();
-  inscrutable = (x) => x;
 
   var t1a = makeT1A();
   var t1b = makeT1B();
@@ -111,17 +113,17 @@
   var t1d = makeT1D();
 
   clearTagCallCount();
-  Expect.equals("aA", inscrutable(t1a).foo(), 't1a is T1A');
-  Expect.equals("bB", inscrutable(t1b).foo(), 't1b is T1B');
-  Expect.equals("cC", inscrutable(t1c).foo(), 't1c is T1C');
-  Expect.equals("dD", inscrutable(t1d).foo(), 't1d is T1D');
+  Expect.equals("aA", confuse(t1a).foo(), 't1a is T1A');
+  Expect.equals("bB", confuse(t1b).foo(), 't1b is T1B');
+  Expect.equals("cC", confuse(t1c).foo(), 't1c is T1C');
+  Expect.equals("dD", confuse(t1d).foo(), 't1d is T1D');
   Expect.equals(4, getTagCallCount(), '4 fresh instances / types');
 
   clearTagCallCount();
-  Expect.equals("aA", inscrutable(t1a).foo(), 't1a is T1A');
-  Expect.equals("bB", inscrutable(t1b).foo(), 't1b is T1B');
-  Expect.equals("cC", inscrutable(t1c).foo(), 't1c is T1C');
-  Expect.equals("dD", inscrutable(t1d).foo(), 't1d is T1D');
+  Expect.equals("aA", confuse(t1a).foo(), 't1a is T1A');
+  Expect.equals("bB", confuse(t1b).foo(), 't1b is T1B');
+  Expect.equals("cC", confuse(t1c).foo(), 't1c is T1C');
+  Expect.equals("dD", confuse(t1d).foo(), 't1d is T1D');
   Expect.equals(1, getTagCallCount(), '1 = 1 uncached + (3 cached)');
 
   t1a = makeT1A();
@@ -130,18 +132,18 @@
   t1d = makeT1D();
 
   clearTagCallCount();
-  Expect.equals("aA", inscrutable(t1a).foo(), 't1a is T1A');
-  Expect.equals("bB", inscrutable(t1b).foo(), 't1b is T1B');
-  Expect.equals("cC", inscrutable(t1c).foo(), 't1c is T1C');
-  Expect.equals("dD", inscrutable(t1d).foo(), 't1d is T1D');
+  Expect.equals("aA", confuse(t1a).foo(), 't1a is T1A');
+  Expect.equals("bB", confuse(t1b).foo(), 't1b is T1B');
+  Expect.equals("cC", confuse(t1c).foo(), 't1c is T1C');
+  Expect.equals("dD", confuse(t1d).foo(), 't1d is T1D');
   Expect.equals(2, getTagCallCount(),
       '2 = 1 fresh instance + 1 uncached (+ 2 proto cached)');
 
   clearTagCallCount();
-  Expect.equals("aA", inscrutable(t1a).foo(), 't1a is T1A');
-  Expect.equals("bB", inscrutable(t1b).foo(), 't1b is T1B');
-  Expect.equals("cC", inscrutable(t1c).foo(), 't1c is T1C');
-  Expect.equals("dD", inscrutable(t1d).foo(), 't1d is T1D');
+  Expect.equals("aA", confuse(t1a).foo(), 't1a is T1A');
+  Expect.equals("bB", confuse(t1b).foo(), 't1b is T1B');
+  Expect.equals("cC", confuse(t1c).foo(), 't1c is T1C');
+  Expect.equals("dD", confuse(t1d).foo(), 't1d is T1D');
   Expect.equals(1, getTagCallCount(),
       '1 = 2 proto cached + 1 instance cached + 1 uncached');
 }
diff --git a/tests/compiler/dart2js_native/catch_javascript_null_stack_trace_test.dart b/tests/compiler/dart2js_native/catch_javascript_null_stack_trace_test.dart
index 43a6b22..cf9f528 100644
--- a/tests/compiler/dart2js_native/catch_javascript_null_stack_trace_test.dart
+++ b/tests/compiler/dart2js_native/catch_javascript_null_stack_trace_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:_foreign_helper' show JS;
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 // Try throwing a javascript null, and getting a stack-trace from it.
 
diff --git a/tests/compiler/dart2js_native/core_type_check_native_test.dart b/tests/compiler/dart2js_native/core_type_check_native_test.dart
index 261acf7..307509f 100644
--- a/tests/compiler/dart2js_native/core_type_check_native_test.dart
+++ b/tests/compiler/dart2js_native/core_type_check_native_test.dart
@@ -2,10 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
-
-var inscrutable = (int x) => x == 0 ? 0 : x | inscrutable(x & (x - 1));
+import "native_testing.dart";
 
 @Native("A")
 class A {}
@@ -33,6 +30,11 @@
 makeC = function() { return new C; }
 function D() {};
 makeD = function() { return new D; }
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
+self.nativeConstructor(C);
+self.nativeConstructor(D);
 """;
 
 checkTest(value, expectComparable, expectPattern) {
@@ -65,7 +67,7 @@
     makeC(),
     makeD()
   ];
-  value(i) => things[inscrutable(i)];
+  value(i) => confuse(things[i]);
 
   check(value(0), false, false); // List
   check(value(1), true, false); // int
@@ -79,6 +81,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
 
   checkAll(checkTest);
diff --git a/tests/compiler/dart2js_native/dart2js_native.status b/tests/compiler/dart2js_native/dart2js_native.status
index 080c6e1..874ace3 100644
--- a/tests/compiler/dart2js_native/dart2js_native.status
+++ b/tests/compiler/dart2js_native/dart2js_native.status
@@ -25,11 +25,3 @@
 
 [ $compiler == dart2js && $runtime == d8 && $system == windows ]
 compute_this_script_test: Skip # Issue 17458
-
-[ $compiler == dart2js && $cps_ir ]
-foreign_test: RuntimeError # Expect.equals(expected: <1234567891011>, actual: <1234567891011>) fails.
-native_exception_test: RuntimeError # Issue 24421
-optimization_hints_test: RuntimeError # Please triage this failure.
-
-[ $compiler == dart2js && $cps_ir && $checked ]
-*: Skip # `assert` not implemented, 75% of the tests fail.
diff --git a/tests/compiler/dart2js_native/dispatch_property_initialization_test.dart b/tests/compiler/dart2js_native/dispatch_property_initialization_test.dart
index 174eaf8..6da238e 100644
--- a/tests/compiler/dart2js_native/dispatch_property_initialization_test.dart
+++ b/tests/compiler/dart2js_native/dispatch_property_initialization_test.dart
@@ -4,9 +4,7 @@
 
 // Test for initialization of dispatchPropertyName.
 
-import "package:expect/expect.dart";
-import 'dart:_foreign_helper' show JS;
-import 'dart:_js_helper' show Native;
+import 'native_testing.dart';
 
 @Native("Foo")
 class Foo {
@@ -20,10 +18,13 @@
 Foo.prototype.method = function(x) { return 'Foo ' + x; }
 
 self.makeFoo = function() { return new Foo(); }
+
+self.nativeConstructor(Foo);
 """;
 
 
 main() {
+  nativeTesting();
   setup();
 
   // If the dispatchPropertyName is uninitialized, it will be `undefined` or
diff --git a/tests/compiler/dart2js_native/downcast_test.dart b/tests/compiler/dart2js_native/downcast_test.dart
index f993388..dab6ec8 100644
--- a/tests/compiler/dart2js_native/downcast_test.dart
+++ b/tests/compiler/dart2js_native/downcast_test.dart
@@ -4,8 +4,7 @@
 
 // Test for downcasts on native classes.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 abstract class J {}
 
@@ -48,6 +47,9 @@
 A.prototype.write = function(x) { this._x = x; };
 makeA = function(){return new A};
 makeB = function(){return new B};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
 class C {}
@@ -55,6 +57,7 @@
 bool _check(a, b) => identical(a, b);
 
 main() {
+  nativeTesting();
   setup();
 
   var a1 = makeA();
diff --git a/tests/compiler/dart2js_native/error_safeToString_test.dart b/tests/compiler/dart2js_native/error_safeToString_test.dart
index fa022d9..7e117f9 100644
--- a/tests/compiler/dart2js_native/error_safeToString_test.dart
+++ b/tests/compiler/dart2js_native/error_safeToString_test.dart
@@ -2,9 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
-import 'dart:_foreign_helper' show JS_INTERCEPTOR_CONSTANT, JS;
-import 'dart:_js_helper' show Native, Creates;
+import "native_testing.dart";
+import 'dart:_foreign_helper' show JS_INTERCEPTOR_CONSTANT;
 import 'dart:_interceptors'
     show
         Interceptor,
@@ -70,6 +69,9 @@
 function RRRR(){}
 makeR = function(){return new RRRR();};
 
+self.nativeConstructor(PPPP);
+self.nativeConstructor(QQQQ);
+self.nativeConstructor(RRRR);
 """;
 
 expectTypeName(expectedName, s) {
@@ -158,6 +160,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
 
   testDistinctInterceptors();
diff --git a/tests/compiler/dart2js_native/event_loop_test.dart b/tests/compiler/dart2js_native/event_loop_test.dart
index 18d2068..60dd77a 100644
--- a/tests/compiler/dart2js_native/event_loop_test.dart
+++ b/tests/compiler/dart2js_native/event_loop_test.dart
@@ -3,9 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import "dart:async";
-import "dart:_js_helper";
 import "package:async_helper/async_helper.dart";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 typedef void Callback0();
 
@@ -20,9 +19,11 @@
 function A() {}
 A.prototype.foo = function(f) { return f(); };
 makeA = function() { return new A; };
+self.nativeConstructor(A);
 """;
 
 main() {
+  nativeTesting();
   setup();
 
   // Makes sure that we don't run the event-loop when we have a reentrant
diff --git a/tests/compiler/dart2js_native/fake_thing_2_test.dart b/tests/compiler/dart2js_native/fake_thing_2_test.dart
index 3ec92e0..157e08f 100644
--- a/tests/compiler/dart2js_native/fake_thing_2_test.dart
+++ b/tests/compiler/dart2js_native/fake_thing_2_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 // Test that native objects cannot accidentally or maliciously be mistaken for
 // Dart objects.
@@ -27,19 +26,20 @@
 function NT() {}
 NT.prototype.$isThing = true;
 make3 = function(){return new NT;};
+
+self.nativeConstructor(NT);
 """;
 
-var inscrutable;
 main() {
+  nativeTesting();
   setup();
-  inscrutable = (x) => x;
 
   var a = new Thing();
   var b = make1();
   var c = make2();
   var d = make3();
-  Expect.isTrue(inscrutable(a) is Thing);
-  Expect.isFalse(inscrutable(b) is Thing);
-  Expect.isFalse(inscrutable(c) is Thing);
-  Expect.isFalse(inscrutable(d) is Thing);
+  Expect.isTrue(confuse(a) is Thing);
+  Expect.isFalse(confuse(b) is Thing);
+  Expect.isFalse(confuse(c) is Thing);
+  Expect.isFalse(confuse(d) is Thing);
 }
diff --git a/tests/compiler/dart2js_native/field_type2_test.dart b/tests/compiler/dart2js_native/field_type2_test.dart
index 31de669..e3f0693 100644
--- a/tests/compiler/dart2js_native/field_type2_test.dart
+++ b/tests/compiler/dart2js_native/field_type2_test.dart
@@ -5,7 +5,7 @@
 // Test that a closure call on a native field is recognized by the
 // type inferrer.
 
-import 'dart:_js_helper';
+import 'native_testing.dart';
 
 @Native("Node")
 class Node {
@@ -18,9 +18,12 @@
 // This code is all inside 'setup' and so not accesible from the global scope.
 function Node(parent){ this.parentNode = parent; }
 makeNode = function(p){return new Node(p);};
+
+self.nativeConstructor(Node);
 """;
 
 main() {
+  nativeTesting();
   setup();
   var node = makeNode(null);
   if (node.parentNode != null) {
diff --git a/tests/compiler/dart2js_native/field_type_test.dart b/tests/compiler/dart2js_native/field_type_test.dart
index ebb83c6..c9f4ec9 100644
--- a/tests/compiler/dart2js_native/field_type_test.dart
+++ b/tests/compiler/dart2js_native/field_type_test.dart
@@ -6,8 +6,7 @@
 // This regression test verifies that compiler accounts for hidden constructor
 // when analysing field values.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 @Native("Node")
 class Node {
@@ -48,9 +47,11 @@
 // This code is all inside 'setup' and so not accesible from the global scope.
 function Node(parent){ this.parentNode = parent; }
 makeNode = function(p){return new Node(p);};
+self.nativeConstructor(Node);
 """;
 
 main() {
+  nativeTesting();
   setup();
 
   var n1 = makeNode(null);
diff --git a/tests/compiler/dart2js_native/fixup_get_tag_test.dart b/tests/compiler/dart2js_native/fixup_get_tag_test.dart
index 8fc9b70..160e41a 100644
--- a/tests/compiler/dart2js_native/fixup_get_tag_test.dart
+++ b/tests/compiler/dart2js_native/fixup_get_tag_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test for dartExperimentalFixupGetTag.
 
@@ -34,12 +33,15 @@
 
 makeA = function() { return new A; };
 makeB = function() { return new B; };
+
+self.nativeConstructor(A);
 """;
 
 makeA() native ;
 makeB() native ;
 
 main() {
+  nativeTesting();
   setup();
 
   var a = makeA();
diff --git a/tests/compiler/dart2js_native/foreign_test.dart b/tests/compiler/dart2js_native/foreign_test.dart
index e2a4c4e..c1d1c65 100644
--- a/tests/compiler/dart2js_native/foreign_test.dart
+++ b/tests/compiler/dart2js_native/foreign_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
-import 'dart:_foreign_helper' show JS;
+import "native_testing.dart";
 
 foreign1(var a, var b) {
   return JS("num", r"# + #", a, b);
diff --git a/tests/compiler/dart2js_native/hash_code_test.dart b/tests/compiler/dart2js_native/hash_code_test.dart
index c909a10..8bf0180 100644
--- a/tests/compiler/dart2js_native/hash_code_test.dart
+++ b/tests/compiler/dart2js_native/hash_code_test.dart
@@ -2,20 +2,32 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 @Native("A")
 class A {}
 
+@Native("B")
+class B {
+  int get hashCode => 1234567;
+}
+
 makeA() native ;
+makeB() native ;
 
 void setup() native """
 function A() {}
+function B() {}
 makeA = function(){return new A;};
+makeB = function(){return new B;};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
 main() {
+  nativeTesting();
   setup();
   Expect.isTrue(makeA().hashCode is int);
+  Expect.equals(1234567, makeB().hashCode);
 }
diff --git a/tests/compiler/dart2js_native/inference_of_helper_methods_test.dart b/tests/compiler/dart2js_native/inference_of_helper_methods_test.dart
index 7d821c3..ef29951 100644
--- a/tests/compiler/dart2js_native/inference_of_helper_methods_test.dart
+++ b/tests/compiler/dart2js_native/inference_of_helper_methods_test.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 import 'dart:_js_helper' show intTypeCheck;
 
 bool get inCheckedMode {
@@ -18,7 +18,7 @@
   var a = [];
   a.add(42);
   a.add('foo');
-  // By calling direclty [intTypeCheck] with an int, we're making the
+  // By calling directly [intTypeCheck] with an int, we're making the
   // type inferrer infer that the parameter type of [intTypeCheck] is
   // always an int, and therefore the method will be compiled to
   // never throw. So when the backend actually uses the helper for
diff --git a/tests/compiler/dart2js_native/is_check_test.dart b/tests/compiler/dart2js_native/is_check_test.dart
index ecc42b2..ec1d703 100644
--- a/tests/compiler/dart2js_native/is_check_test.dart
+++ b/tests/compiler/dart2js_native/is_check_test.dart
@@ -2,13 +2,12 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 @Native("A")
 class A {}
 
 main() {
-  var a = [new Object()];
-  Expect.isFalse(a[0] is A);
+  JS('A', '(null)'); // Class 'A' appears to be created.
+  Expect.isFalse(confuse(new Object()) is A);
 }
diff --git a/tests/compiler/dart2js_native/issue9182_test.dart b/tests/compiler/dart2js_native/issue9182_test.dart
index 5e06b35..1b5d1ac 100644
--- a/tests/compiler/dart2js_native/issue9182_test.dart
+++ b/tests/compiler/dart2js_native/issue9182_test.dart
@@ -5,8 +5,7 @@
 // Regression test for Issue 9182.  The generative constructor body function
 // should not have the interceptor calling convention.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 @Native("A")
 class Foo {
@@ -28,16 +27,17 @@
 void setup() native r"""
 function A(){}
 makeA = function() { return new A; };
+self.nativeConstructor(A);
 """;
 
 makeA() native ;
 
 main() {
+  nativeTesting();
   setup();
 
-  var things = [new Foo(), new Bar(30, 40)];
-  var foo = things[0];
-  var bar = things[1];
+  var foo = confuse(new Foo());
+  var bar = confuse(new Bar(30, 40));
 
   Expect.equals(123, foo.Bar()); // Ensure that Foo.Bar is used.
 
diff --git a/tests/compiler/dart2js_native/js_constant_test.dart b/tests/compiler/dart2js_native/js_constant_test.dart
index 7658dc0..bc9837e 100644
--- a/tests/compiler/dart2js_native/js_constant_test.dart
+++ b/tests/compiler/dart2js_native/js_constant_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:_foreign_helper' show JS;
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 // Negative constant numbers must be generated as negation, not just a literal
 // with a sign, i.e.
diff --git a/tests/compiler/dart2js_native/jsobject_test.dart b/tests/compiler/dart2js_native/jsobject_test.dart
index f7a92f9..7f31dd1 100644
--- a/tests/compiler/dart2js_native/jsobject_test.dart
+++ b/tests/compiler/dart2js_native/jsobject_test.dart
@@ -2,8 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
-import 'dart:_js_helper' show Native, Creates, setNativeSubclassDispatchRecord;
+import 'native_testing.dart';
+import 'dart:_js_helper' show setNativeSubclassDispatchRecord;
 import 'dart:_interceptors'
     show
         JSObject, // The interface, which may be re-exported by a
@@ -32,6 +32,8 @@
 
 function QQ(){}
 makeQ = function(){return new QQ();};
+
+self.nativeConstructor(QQ);
 """;
 
 class Is<T> {
@@ -93,6 +95,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
 
   dynamic_test();
diff --git a/tests/compiler/dart2js_native/load_elim_refinement_test.dart b/tests/compiler/dart2js_native/load_elim_refinement_test.dart
index 026b142..981c0fa 100644
--- a/tests/compiler/dart2js_native/load_elim_refinement_test.dart
+++ b/tests/compiler/dart2js_native/load_elim_refinement_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
-import 'dart:_foreign_helper' show JS;
+import 'native_testing.dart';
 
 class A {
   int a;
diff --git a/tests/compiler/dart2js_native/mirror_intercepted_field_test.dart b/tests/compiler/dart2js_native/mirror_intercepted_field_test.dart
index a9cb2e0..4a3b337 100644
--- a/tests/compiler/dart2js_native/mirror_intercepted_field_test.dart
+++ b/tests/compiler/dart2js_native/mirror_intercepted_field_test.dart
@@ -3,8 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import 'dart:mirrors';
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 @Native("B")
 class B {
@@ -20,6 +19,7 @@
 const symF = const Symbol('f');
 
 main() {
+  JS('B', '(null)'); // B appears to be created.
   var a = new A();
 
   InstanceMirror mirror = reflect(a);
diff --git a/tests/compiler/dart2js_native/native_call_arity1_frog_test.dart b/tests/compiler/dart2js_native/native_call_arity1_frog_test.dart
index ed3d131..d435bdd 100644
--- a/tests/compiler/dart2js_native/native_call_arity1_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_call_arity1_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test that native methods with unnamed* optional arguments are called with the
 // number of arguments in the call site.  This is necessary because native
@@ -38,12 +37,14 @@
 
 makeA = function(){return new A;};
 makeB = function(){return new B;};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
 testDynamicContext() {
-  var things = [makeA(), makeB()];
-  var a = things[0];
-  var b = things[1];
+  var a = confuse(makeA());
+  var b = confuse(makeB());
 
   Expect.throws(() => a.foo());
   Expect.equals(1, a.foo(10));
@@ -76,6 +77,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
   testDynamicContext();
   testStaticContext();
diff --git a/tests/compiler/dart2js_native/native_call_arity2_frog_test.dart b/tests/compiler/dart2js_native/native_call_arity2_frog_test.dart
index b99e07b..029122c 100644
--- a/tests/compiler/dart2js_native/native_call_arity2_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_call_arity2_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // This is a similar test to NativeCallArity1FrogTest, but makes sure
 // that subclasses also get the right number of arguments.
@@ -41,12 +40,14 @@
 
 makeA = function(){return new A;};
 makeB = function(){return new B;};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
 testDynamicContext() {
-  var things = [makeA(), makeB()];
-  var a = things[0];
-  var b = things[1];
+  var a = confuse(makeA());
+  var b = confuse(makeB());
 
   Expect.equals(0, a.foo());
   Expect.equals(1, a.foo(10));
@@ -91,6 +92,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
   testDynamicContext();
   testStaticContext();
diff --git a/tests/compiler/dart2js_native/native_call_arity3_frog_test.dart b/tests/compiler/dart2js_native/native_call_arity3_frog_test.dart
index 1b4048e..f333d81 100644
--- a/tests/compiler/dart2js_native/native_call_arity3_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_call_arity3_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test similar to NativeCallArity1FrogTest, but with default values to
 // parameters set to null. These parameters should be treated as if they
@@ -34,12 +33,14 @@
 
 makeA = function(){return new A;};
 makeB = function(){return new B;};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
 testDynamicContext() {
-  var things = [makeA(), makeB()];
-  var a = things[0];
-  var b = things[1];
+  var a = confuse(makeA());
+  var b = confuse(makeB());
 
   Expect.throws(() => a.foo());
   Expect.equals(1, a.foo(10));
@@ -78,6 +79,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
   testDynamicContext();
   testStaticContext();
diff --git a/tests/compiler/dart2js_native/native_checked_arguments1_frog_test.dart b/tests/compiler/dart2js_native/native_checked_arguments1_frog_test.dart
index 9a64a3d..e0f1e31 100644
--- a/tests/compiler/dart2js_native/native_checked_arguments1_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_checked_arguments1_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 // Test that type checks occur on native methods.
 
@@ -33,6 +32,9 @@
 
 makeA = function(){return new A;};
 makeB = function(){return new B;};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
 expectThrows(action()) {
@@ -135,6 +137,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
 
   if (isCheckedMode()) {
diff --git a/tests/compiler/dart2js_native/native_checked_fields_frog_test.dart b/tests/compiler/dart2js_native/native_checked_fields_frog_test.dart
index 3ae79bf..83f5bac 100644
--- a/tests/compiler/dart2js_native/native_checked_fields_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_checked_fields_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 // Test that type checks occur on assignment to fields of native methods.
 
@@ -27,6 +26,9 @@
 
 makeA = function(){return new A;};
 makeB = function(){return new B;};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
 expectThrows(action()) {
@@ -109,6 +111,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
 
   if (isCheckedMode()) {
diff --git a/tests/compiler/dart2js_native/native_class_avoids_hidden_name_frog_test.dart b/tests/compiler/dart2js_native/native_class_avoids_hidden_name_frog_test.dart
index 8690e4b..3f28682 100644
--- a/tests/compiler/dart2js_native/native_class_avoids_hidden_name_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_class_avoids_hidden_name_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test that hidden native class names are not used by generated code.
 
@@ -41,18 +40,18 @@
 function CC(){}
 makeA = function(){return new BB};  // AA is native "BB"
 makeB = function(){return new CC};  // BB is native "CC"
+self.nativeConstructor(BB);
+self.nativeConstructor(CC);
 """;
 
-int inscrutable(int x) => x == 0 ? 0 : x | inscrutable(x & (x - 1));
-
 main() {
+  nativeTesting();
   setup1();
   setup2();
 
-  var things = [AA.create(), BB.create(), CC.create()];
-  var a = things[inscrutable(0)];
-  var b = things[inscrutable(1)];
-  var c = things[inscrutable(2)];
+  var a = confuse(AA.create());
+  var b = confuse(BB.create());
+  var c = confuse(CC.create());
 
   Expect.equals('AA', a.name);
   Expect.equals('BB', b.name);
diff --git a/tests/compiler/dart2js_native/native_class_fields_2_test.dart b/tests/compiler/dart2js_native/native_class_fields_2_test.dart
index 419d82f..efd4398 100644
--- a/tests/compiler/dart2js_native/native_class_fields_2_test.dart
+++ b/tests/compiler/dart2js_native/native_class_fields_2_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Verify that methods are not renamed to clash with native field names
 // that are known from the DOM (like x, y, z).
@@ -23,7 +22,7 @@
 
 function A(){
   var a = Object.create(
-      { constructor: { name: 'A'}},
+      { constructor: A },
       { x: { get: getter, configurable: false, writeable: false },
         y: { get: getter, configurable: false, writeable: false },
         z: { get: getter, configurable: false, writeable: false }
@@ -33,6 +32,7 @@
 }
 
 makeA = function() { return new A; };
+self.nativeConstructor(A);
 """;
 
 A makeA() native ;
@@ -72,9 +72,10 @@
 int inscrutable(int x) => x == 0 ? 0 : x | inscrutable(x & (x - 1));
 
 main() {
+  nativeTesting();
   setup();
-  var both = [makeA(), new B()];
-  var x = both[inscrutable(0)];
+  confuse(new B()).a();
+  var x = confuse(makeA());
   // Each of these will throw, because an instance of A doesn't have any of
   // these functions.  The important thing is that none of them have been
   // renamed to be called 'z' by the minifier, because then the getter will be
diff --git a/tests/compiler/dart2js_native/native_class_fields_3_test.dart b/tests/compiler/dart2js_native/native_class_fields_3_test.dart
index ce6c28d..5576638 100644
--- a/tests/compiler/dart2js_native/native_class_fields_3_test.dart
+++ b/tests/compiler/dart2js_native/native_class_fields_3_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Verify that we can have fields with names that start with g and s even
 // though those names are reserved for getters and setters in minified mode.
@@ -45,7 +44,7 @@
 
 function A(){
   var a = Object.create(
-      { constructor: { name: 'A'}},
+      { constructor: A },
       { bar: descriptor,
         g: descriptor,
         s: descriptor,
@@ -59,30 +58,46 @@
 }
 
 makeA = function() { return new A; };
+self.nativeConstructor(A);
 """;
 
 A makeA() native ;
 
 class B {}
 
-int inscrutable(int x) => x == 0 ? 0 : x | inscrutable(x & (x - 1));
-
 main() {
+  nativeTesting();
   setup();
-  var both = [makeA(), new B()];
-  var foo = both[inscrutable(0)];
-  Expect.equals(42, foo.bar);
-  Expect.equals(42, foo.g);
-  Expect.equals(42, foo.s);
-  Expect.equals(42, foo.end);
-  Expect.equals(42, foo.gend);
-  Expect.equals(42, foo.send);
-  Expect.equals(271, foo.bar = 271);
-  Expect.equals(271, foo.g = 271);
-  Expect.equals(271, foo.s = 271);
-  Expect.equals(271, foo.end = 271);
-  Expect.equals(271, foo.gend = 271);
-  Expect.equals(271, foo.send = 271);
-  Expect.equals(6, foo.gettersCalled);
-  Expect.equals(6, foo.settersCalled);
+  confuse(new B());
+  var a = makeA();
+
+  Expect.equals(42, confuse(a).bar);
+  Expect.equals(42, confuse(a).g);
+  Expect.equals(42, confuse(a).s);
+  Expect.equals(42, confuse(a).end);
+  Expect.equals(42, confuse(a).gend);
+  Expect.equals(42, confuse(a).send);
+  Expect.equals(271, confuse(a).bar = 271);
+  Expect.equals(271, confuse(a).g = 271);
+  Expect.equals(271, confuse(a).s = 271);
+  Expect.equals(271, confuse(a).end = 271);
+  Expect.equals(271, confuse(a).gend = 271);
+  Expect.equals(271, confuse(a).send = 271);
+  Expect.equals(6, confuse(a).gettersCalled);
+  Expect.equals(6, confuse(a).settersCalled);
+
+  Expect.equals(42, a.bar);
+  Expect.equals(42, a.g);
+  Expect.equals(42, a.s);
+  Expect.equals(42, a.end);
+  Expect.equals(42, a.gend);
+  Expect.equals(42, a.send);
+  Expect.equals(271, a.bar = 271);
+  Expect.equals(271, a.g = 271);
+  Expect.equals(271, a.s = 271);
+  Expect.equals(271, a.end = 271);
+  Expect.equals(271, a.gend = 271);
+  Expect.equals(271, a.send = 271);
+  Expect.equals(12, a.gettersCalled);
+  Expect.equals(12, a.settersCalled);
 }
diff --git a/tests/compiler/dart2js_native/native_class_fields_test.dart b/tests/compiler/dart2js_native/native_class_fields_test.dart
index 45a45bf..67380cb 100644
--- a/tests/compiler/dart2js_native/native_class_fields_test.dart
+++ b/tests/compiler/dart2js_native/native_class_fields_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Verify that native fields on classes are not renamed by the minifier.
 @Native("A")
@@ -25,7 +24,7 @@
 
 function A(){
   var a = Object.create(
-      { constructor: { name: 'A'}},
+      { constructor: A},
       { myLongPropertyName: { get: getter,
                               set: setter,
                               configurable: false,
@@ -37,17 +36,24 @@
 }
 
 makeA = function(){return new A;};
+self.nativeConstructor(A);
 """;
 
 A makeA() native ;
 
 main() {
+  nativeTesting();
   setup();
   var a = makeA();
   a.myLongPropertyName = 21;
   int gotten = a.myLongPropertyName;
   Expect.equals(11, gotten);
 
+  // Force interceptor dispatch.
+  confuse(a).myLongPropertyName = 99;
+  gotten = confuse(a).myLongPropertyName;
+  Expect.equals(22, gotten);
+
   var a2 = makeA();
   if (a2 is A) {
     // Inside this 'if' the compiler knows that a2 is an A, so it is tempted
diff --git a/tests/compiler/dart2js_native/native_class_inheritance1_frog_test.dart b/tests/compiler/dart2js_native/native_class_inheritance1_frog_test.dart
index 3b0ab8b..2693b13 100644
--- a/tests/compiler/dart2js_native/native_class_inheritance1_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_class_inheritance1_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test to see if resolving a hidden native class's method interferes with
 // subsequent resolving the subclass's method.  This might happen if the
@@ -67,9 +66,15 @@
 
 makeA2 = function(){return new A2};
 makeB2 = function(){return new B2};
+
+self.nativeConstructor(A1);
+self.nativeConstructor(A2);
+self.nativeConstructor(B1);
+self.nativeConstructor(B2);
 """;
 
 main() {
+  nativeTesting();
   setup();
 
   var a1 = makeA1();
diff --git a/tests/compiler/dart2js_native/native_class_inheritance2_frog_test.dart b/tests/compiler/dart2js_native/native_class_inheritance2_frog_test.dart
index d01b4ff..49c7bfd 100644
--- a/tests/compiler/dart2js_native/native_class_inheritance2_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_class_inheritance2_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test to see if resolving a hidden native class's method interferes with
 // subsequent resolving the subclass's method.  This might happen if the
@@ -59,9 +58,15 @@
 makeB = function(){return new B};
 makeC = function(){return new C};
 makeD = function(){return new D};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
+self.nativeConstructor(C);
+self.nativeConstructor(D);
 """;
 
 main() {
+  nativeTesting();
   setup();
 
   var a = makeA();
diff --git a/tests/compiler/dart2js_native/native_class_inheritance3_frog_test.dart b/tests/compiler/dart2js_native/native_class_inheritance3_frog_test.dart
index 9c23566..900b011 100644
--- a/tests/compiler/dart2js_native/native_class_inheritance3_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_class_inheritance3_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test to see if resolving a hidden native class's method to noSuchMethod
 // interferes with subsequent resolving of the method.  This might happen if the
@@ -59,9 +58,15 @@
 makeB2 = function(){return new B2};
 
 makeObject = function(){return new Object};
+
+self.nativeConstructor(A1);
+self.nativeConstructor(A2);
+self.nativeConstructor(B1);
+self.nativeConstructor(B2);
 """;
 
 main() {
+  nativeTesting();
   setup();
 
   var a1 = makeA1();
diff --git a/tests/compiler/dart2js_native/native_class_inheritance4_frog_test.dart b/tests/compiler/dart2js_native/native_class_inheritance4_frog_test.dart
index 3f7544a..3ba8cc8 100644
--- a/tests/compiler/dart2js_native/native_class_inheritance4_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_class_inheritance4_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Additional Dart code may be 'placed on' hidden native classes.  With
 // inheritance, the superclass method must not be reached by a call on the
@@ -53,6 +52,9 @@
 inherits(B, A);
 makeA = function(){return new A;};
 makeB = function(){return new B;};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
 testBasicA_dynamic() {
@@ -145,6 +147,7 @@
 }
 
 main() {
+  nativeTesting();
   testBasicA_dynamic();
   testBasicA_typed();
   testBasicB_dynamic();
diff --git a/tests/compiler/dart2js_native/native_class_is_check1_frog_test.dart b/tests/compiler/dart2js_native/native_class_is_check1_frog_test.dart
index b5ace6d..3c2e908 100644
--- a/tests/compiler/dart2js_native/native_class_is_check1_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_class_is_check1_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test for correct simple is-checks on hidden native classes.
 
@@ -29,11 +28,13 @@
 A.prototype.read = function() { return this._x; };
 A.prototype.write = function(x) { this._x = x; };
 makeA = function(){return new A};
+self.nativeConstructor(A);
 """;
 
 class B {}
 
 main() {
+  nativeTesting();
   setup();
 
   var a1 = makeA();
diff --git a/tests/compiler/dart2js_native/native_class_is_check3_frog_test.dart b/tests/compiler/dart2js_native/native_class_is_check3_frog_test.dart
index e6d55fe..f24c355 100644
--- a/tests/compiler/dart2js_native/native_class_is_check3_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_class_is_check3_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test for correct simple is-checks on hidden native classes.
 
@@ -48,11 +47,14 @@
 A.prototype.write = function(x) { this._x = x; };
 makeA = function(){return new A};
 makeB = function(){return new B};
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
 class C {}
 
 main() {
+  nativeTesting();
   setup();
 
   var a1 = makeA();
diff --git a/tests/compiler/dart2js_native/native_class_with_dart_methods_frog_test.dart b/tests/compiler/dart2js_native/native_class_with_dart_methods_frog_test.dart
index 08d19ef..5c90a1b 100644
--- a/tests/compiler/dart2js_native/native_class_with_dart_methods_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_class_with_dart_methods_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 // Additional Dart code may be 'placed on' hidden native classes.
 
@@ -24,9 +23,11 @@
 void setup() native """
 function A() {}
 makeA = function(){return new A;};
+self.nativeConstructor(A);
 """;
 
 main() {
+  nativeTesting();
   setup();
 
   var a = makeA();
diff --git a/tests/compiler/dart2js_native/native_closure_identity_frog_test.dart b/tests/compiler/dart2js_native/native_closure_identity_frog_test.dart
index 2a27d5d..3d73c35 100644
--- a/tests/compiler/dart2js_native/native_closure_identity_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_closure_identity_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 typedef void MyFunctionType();
 
@@ -22,6 +21,8 @@
 A.prototype.check = function(f) { return this.f === f; };
 A.prototype.invoke = function() { return this.f(); };
 makeA = function(){return new A;};
+
+self.nativeConstructor(A);
 """;
 
 var staticClosure;
@@ -45,6 +46,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
 
   staticClosure = () => 44;
diff --git a/tests/compiler/dart2js_native/native_constructor_name_test.dart b/tests/compiler/dart2js_native/native_constructor_name_test.dart
index 76a30d7..34e6734c 100644
--- a/tests/compiler/dart2js_native/native_constructor_name_test.dart
+++ b/tests/compiler/dart2js_native/native_constructor_name_test.dart
@@ -8,8 +8,7 @@
 // This could be done by renaming the Dart constructor or by being able to check
 // that objects are Dart classes.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 class A {}
 
@@ -23,9 +22,11 @@
 void setup() native """
 function A(){}
 makeZ = function(){return new A};
+self.nativeConstructor(A);
 """;
 
 main() {
+  nativeTesting();
   setup();
 
   var a = new A();
diff --git a/tests/compiler/dart2js_native/native_equals_frog_test.dart b/tests/compiler/dart2js_native/native_equals_frog_test.dart
index b8868a5..c6913ec 100644
--- a/tests/compiler/dart2js_native/native_equals_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_equals_frog_test.dart
@@ -2,20 +2,35 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 @Native("A")
 class A {}
 
+int calls = 0;
+@Native("B")
+class B {
+  bool operator==(other) {
+    ++calls;
+    return other is B;
+  }
+  int get hashCode => 1;
+}
+
 makeA() native ;
+makeB() native ;
 
 void setup() native """
 function A() {}
+function B() {}
 makeA = function(){return new A;};
+makeB = function(){return new B;};
+
+self.nativeConstructor(B);
 """;
 
 main() {
+  nativeTesting();
   setup();
   var a = makeA();
   Expect.isTrue(a == a);
@@ -23,4 +38,13 @@
 
   Expect.isFalse(a == makeA());
   Expect.isFalse(identical(a, makeA()));
+
+  var b = makeB();
+  Expect.isTrue(b == b);
+  Expect.isTrue(identical(b, b));
+
+  Expect.isTrue(b == makeB());
+  Expect.isFalse(identical(b, makeB()));
+
+  Expect.equals(2, calls);
 }
diff --git a/tests/compiler/dart2js_native/native_exception2_test.dart b/tests/compiler/dart2js_native/native_exception2_test.dart
index 44f89fb..916709b 100644
--- a/tests/compiler/dart2js_native/native_exception2_test.dart
+++ b/tests/compiler/dart2js_native/native_exception2_test.dart
@@ -8,19 +8,24 @@
 library native_exception2_test;
 
 import 'native_exception_test.dart' as other;
-import 'dart:_js_helper';
+import 'native_testing.dart';
 
 @Native("NativeClass")
-class NativeClass {}
+class NativeClass {
+  foo() => 'oof';
+}
 
 makeNativeClass() native ;
 
 setup() native """
 function NativeClass() {}
 makeNativeClass = function() { return new NativeClass; }
+self.nativeConstructor(NativeClass);
 """;
 
 main() {
+  nativeTesting();
   setup();
+  Expect.equals('oof', makeNativeClass().foo());
   other.main();
 }
diff --git a/tests/compiler/dart2js_native/native_exception_test.dart b/tests/compiler/dart2js_native/native_exception_test.dart
index 0c2edf5..e3e4a98 100644
--- a/tests/compiler/dart2js_native/native_exception_test.dart
+++ b/tests/compiler/dart2js_native/native_exception_test.dart
@@ -6,9 +6,7 @@
 
 library native_exception_test;
 
-import 'dart:_foreign_helper' show JS;
-import 'dart:_js_helper';
-import 'package:expect/expect.dart';
+import 'native_testing.dart';
 
 main() {
   var previous;
diff --git a/tests/compiler/dart2js_native/native_exceptions1_frog_test.dart b/tests/compiler/dart2js_native/native_exceptions1_frog_test.dart
index a111650..9ab4283 100644
--- a/tests/compiler/dart2js_native/native_exceptions1_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_exceptions1_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 // Test that hidden native exception classes can be marked as existing.
 //
@@ -57,11 +56,15 @@
   return  x / 2;
 };
 makeA = function(){return new A};
+
+self.nativeConstructor(E);
+self.nativeConstructor(A);
 """;
 
 int inscrutable(int x) => x == 0 ? 0 : x | inscrutable(x & (x - 1));
 
 main() {
+  nativeTesting();
   setup1();
   setup2();
 
diff --git a/tests/compiler/dart2js_native/native_field_invocation2_test.dart b/tests/compiler/dart2js_native/native_field_invocation2_test.dart
index 290a68f..05e2eab 100644
--- a/tests/compiler/dart2js_native/native_field_invocation2_test.dart
+++ b/tests/compiler/dart2js_native/native_field_invocation2_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 @Native("NNative")
 class NNative {
@@ -11,19 +10,9 @@
 
   var f;
 
-  ClickCounter() {
-    f = wrap(g);
-  }
-
   g(val) => "### $val ###";
 }
 
-nativeId(x) native ;
-
-void setup() native """
-nativeId = function(x) { return x; }
-""";
-
 class ClickCounter {
   var status;
 
@@ -42,6 +31,13 @@
   };
 }
 
+nativeId(x) native ;
+
+void setup() native """
+nativeId = function(x) { return x; }
+""";
+
+
 main() {
   setup();
   // Make sure the ClickCounter class goes through interceptors.
diff --git a/tests/compiler/dart2js_native/native_field_invocation3_test.dart b/tests/compiler/dart2js_native/native_field_invocation3_test.dart
index 0944f17..18390cd 100644
--- a/tests/compiler/dart2js_native/native_field_invocation3_test.dart
+++ b/tests/compiler/dart2js_native/native_field_invocation3_test.dart
@@ -2,14 +2,14 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 makeCC() native ;
 
 void setup() native """
 function CC() {}
 makeCC = function() { return new CC; }
+self.nativeConstructor(CC);
 """;
 
 @Native("CC")
@@ -32,6 +32,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
   var c = makeCC();
   c.init();
diff --git a/tests/compiler/dart2js_native/native_field_invocation4_test.dart b/tests/compiler/dart2js_native/native_field_invocation4_test.dart
index 18489d5..40f8670 100644
--- a/tests/compiler/dart2js_native/native_field_invocation4_test.dart
+++ b/tests/compiler/dart2js_native/native_field_invocation4_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 @Native("A")
 class A {
@@ -26,8 +25,8 @@
   b.foo = (x) => x + 1;
   b = nativeId(b); // Inferrer doesn't know if A has been instantiated.
   // At this point b could be A or B. The call to "foo" thus needs to go through
-  // an interceptor. Tests that the interceptor doesn't screw with retrieving
-  // the field and invoking the closure.
+  // an interceptor. Tests that the interceptor works for retrieving the field
+  // and invoking the closure.
   // Use a type-check to guarantee that b is a "B".
   if (b is B) {
     Expect.equals(499, b.foo(498));
diff --git a/tests/compiler/dart2js_native/native_field_invocation5_test.dart b/tests/compiler/dart2js_native/native_field_invocation5_test.dart
index abc60aa..5c3ff7b 100644
--- a/tests/compiler/dart2js_native/native_field_invocation5_test.dart
+++ b/tests/compiler/dart2js_native/native_field_invocation5_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 makeCC() native ;
 nativeFirst(x, y) native ;
@@ -12,6 +11,7 @@
 function CC() {}
 makeCC = function() { return new CC; }
 nativeFirst = function(x, y) { return x; }
+self.nativeConstructor(CC);
 """;
 
 class C {
@@ -38,6 +38,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
   var c = makeCC();
   c.init();
diff --git a/tests/compiler/dart2js_native/native_field_invocation6_test.dart b/tests/compiler/dart2js_native/native_field_invocation6_test.dart
index 3d3b264..ec27608 100644
--- a/tests/compiler/dart2js_native/native_field_invocation6_test.dart
+++ b/tests/compiler/dart2js_native/native_field_invocation6_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 makeA() native ;
 nativeFirst(x, y) native ;
@@ -13,6 +12,7 @@
 
 function A() {}
 makeA = function() { return new A; }
+self.nativeConstructor(A);
 """;
 
 @Native("A")
@@ -39,6 +39,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
   var a = makeA();
   a.init();
diff --git a/tests/compiler/dart2js_native/native_field_invocation_test.dart b/tests/compiler/dart2js_native/native_field_invocation_test.dart
index df6b9ab..2bfb71d 100644
--- a/tests/compiler/dart2js_native/native_field_invocation_test.dart
+++ b/tests/compiler/dart2js_native/native_field_invocation_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 @Native("A")
 class A {
@@ -26,7 +25,7 @@
   b.foo = (x) => x + 1;
   b = nativeId(b); // Inferrer doesn't know if A has been instantiated.
   // At this point b could be A or B. The call to "foo" thus needs to go through
-  // an interceptor. Tests that the interceptor doesn't screw with retrieving
-  // the field and invoking the closure.
+  // an interceptor. Tests that the interceptor works for retrieving the Dart
+  // class field and invoking the closure.
   Expect.equals(499, b.foo(498));
 }
diff --git a/tests/compiler/dart2js_native/native_field_name_test.dart b/tests/compiler/dart2js_native/native_field_name_test.dart
index b0001a8..6269e4f 100644
--- a/tests/compiler/dart2js_native/native_field_name_test.dart
+++ b/tests/compiler/dart2js_native/native_field_name_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 // Check that native fields are not incorrectly renamed.
 
@@ -29,7 +28,7 @@
 
 function A(){
   var a = Object.create(
-      { constructor: { name: 'A'}},
+      { constructor: A },
       { myLongPropertyName: { get: getter,
                               set: setter,
                               configurable: false,
@@ -41,11 +40,14 @@
 }
 
 makeA = function(){return new A;};
+
+self.nativeConstructor(A);
 """;
 
-A makeA() native ;
+/*A*/ makeA() native ;
 
 main() {
+  nativeTesting();
   setup();
   var a = makeA();
   a.myLongPropertyName = 21;
diff --git a/tests/compiler/dart2js_native/native_field_optimization_test.dart b/tests/compiler/dart2js_native/native_field_optimization_test.dart
index a24be43..0210071 100644
--- a/tests/compiler/dart2js_native/native_field_optimization_test.dart
+++ b/tests/compiler/dart2js_native/native_field_optimization_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 // Test that compiler is cautious with optimizations on native fields.  The
 // motivation is that DOM properties are getters and setters with arbitrary
@@ -42,6 +41,8 @@
 });
 
 makeFoo = function() { return new Foo() }
+
+self.nativeConstructor(Foo);
 """;
 
 test1() {
@@ -84,6 +85,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
   (test1)();
   (test2)();
diff --git a/tests/compiler/dart2js_native/native_field_rename_1_frog_test.dart b/tests/compiler/dart2js_native/native_field_rename_1_frog_test.dart
index aaa578b..a18c31c 100644
--- a/tests/compiler/dart2js_native/native_field_rename_1_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_field_rename_1_frog_test.dart
@@ -6,8 +6,7 @@
 // fields.  However, native fields keep their name.  The implication: a getter
 // for the field must be based on the field's name, not the field's jsname.
 
-import "package:expect/expect.dart";
-import 'dart:_js_helper' show Native, JSName;
+import 'native_testing.dart';
 
 @Native("A")
 class A {
@@ -44,13 +43,15 @@
 
 makeA = function(){return new A};
 makeX = function(){return new X};
+
+self.nativeConstructor(A);
+self.nativeConstructor(X);
 """;
 
 testDynamic() {
-  var things = [makeA(), new B(), makeX()];
-  var a = things[0];
-  var b = things[1];
-  var x = things[2];
+  var a = confuse(makeA());
+  var b = confuse(new B());
+  var x = confuse(makeX());
 
   Expect.equals(111, a.key);
   Expect.equals(222, b.key);
@@ -77,6 +78,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
 
   testTyped();
diff --git a/tests/compiler/dart2js_native/native_field_rename_2_frog_test.dart b/tests/compiler/dart2js_native/native_field_rename_2_frog_test.dart
index cb093cb..1d3cdcc 100644
--- a/tests/compiler/dart2js_native/native_field_rename_2_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_field_rename_2_frog_test.dart
@@ -6,8 +6,7 @@
 // fields.  However, native fields keep their name.  The implication: a getter
 // for the field must be based on the field's name, not the field's jsname.
 
-import "package:expect/expect.dart";
-import 'dart:_js_helper' show Native, JSName;
+import 'native_testing.dart';
 
 abstract class I {
   int key;
@@ -47,13 +46,15 @@
 
 makeA = function(){return new A};
 makeX = function(){return new X};
+
+self.nativeConstructor(A);
+self.nativeConstructor(X);
 """;
 
 testDynamic() {
-  var things = [makeA(), new B(), makeX()];
-  var a = things[0];
-  var b = things[1];
-  var x = things[2];
+  var a = confuse(makeA());
+  var b = confuse(new B());
+  var x = confuse(makeX());
 
   Expect.equals(111, a.key);
   Expect.equals(222, b.key);
@@ -91,6 +92,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
 
   testTyped();
diff --git a/tests/compiler/dart2js_native/native_library_same_name_used_frog_test.dart b/tests/compiler/dart2js_native/native_library_same_name_used_frog_test.dart
index 9f305f7..e90e9f4 100644
--- a/tests/compiler/dart2js_native/native_library_same_name_used_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_library_same_name_used_frog_test.dart
@@ -6,7 +6,7 @@
 
 library main;
 
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 import 'native_library_same_name_used_lib1.dart';
 
 void setup() native """
@@ -15,6 +15,7 @@
   I.prototype.read = function() { return this._x; };
   I.prototype.write = function(x) { this._x = x; };
   makeI = function(){return new I};
+  self.nativeConstructor(I);
 """;
 
 // A pure Dart implementation of I.
@@ -31,6 +32,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
 
   var a1 = makeI();
@@ -47,4 +49,7 @@
 
   Expect.isTrue(a1 is I, 'a1 is I');
   Expect.isFalse(a1 is ProxyI, 'a1 is ProxyI');
+
+  Expect.isTrue(confuse(a1) is I, 'a1 is I');
+  Expect.isFalse(confuse(a1) is ProxyI, 'a1 is ProxyI');
 }
diff --git a/tests/compiler/dart2js_native/native_method_inlining_test.dart b/tests/compiler/dart2js_native/native_method_inlining_test.dart
index dce81ec..07a0620 100644
--- a/tests/compiler/dart2js_native/native_method_inlining_test.dart
+++ b/tests/compiler/dart2js_native/native_method_inlining_test.dart
@@ -5,8 +5,7 @@
 // Test that native methods with unnamed optional arguments are called with the
 // number of arguments in the call site AND the call site is inlined.
 
-import "package:expect/expect.dart";
-import 'dart:_js_helper' show Native, NoInline;
+import 'native_testing.dart';
 
 typedef int Int2Int(int x);
 
@@ -71,6 +70,8 @@
     if (s.indexOf(string)>0) return s;
   }
 };
+
+self.nativeConstructor(A);
 """;
 
 bool get isCheckedMode {
@@ -148,6 +149,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
   test1();
   test2();
diff --git a/tests/compiler/dart2js_native/native_method_rename1_frog_test.dart b/tests/compiler/dart2js_native/native_method_rename1_frog_test.dart
index e38cd28..4d8ead2 100644
--- a/tests/compiler/dart2js_native/native_method_rename1_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_method_rename1_frog_test.dart
@@ -4,7 +4,7 @@
 
 // Test the feature where the native string declares the native method's name.
 
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 import 'dart:_js_helper' show Native, JSName;
 
 @Native("A")
@@ -34,14 +34,13 @@
 A.prototype.bazA = function(){return 300;};
 
 makeA = function(){return new A};
+
+self.nativeConstructor(A);
 """;
 
 testDynamic() {
-  setup();
-
-  var things = [makeA(), new B()];
-  var a = things[0];
-  var b = things[1];
+  var a = confuse(makeA());
+  var b = confuse(new B());
 
   Expect.equals(100, a.foo());
   Expect.equals(200, a.bar());
@@ -62,6 +61,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
   testDynamic();
   testTyped();
diff --git a/tests/compiler/dart2js_native/native_method_rename2_frog_test.dart b/tests/compiler/dart2js_native/native_method_rename2_frog_test.dart
index e375f2f..5979e1e 100644
--- a/tests/compiler/dart2js_native/native_method_rename2_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_method_rename2_frog_test.dart
@@ -4,8 +4,7 @@
 
 // Test the feature where the native string declares the native method's name.
 
-import "package:expect/expect.dart";
-import 'dart:_js_helper' show Native, JSName;
+import "native_testing.dart";
 
 @Native("A")
 class A {
@@ -42,6 +41,9 @@
 
 makeA = function(){return new A};
 makeB = function(){return new B};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
 testDynamic() {
@@ -76,6 +78,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
 
   testDynamic();
diff --git a/tests/compiler/dart2js_native/native_method_rename3_frog_test.dart b/tests/compiler/dart2js_native/native_method_rename3_frog_test.dart
index fcfd40b..014e669 100644
--- a/tests/compiler/dart2js_native/native_method_rename3_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_method_rename3_frog_test.dart
@@ -5,8 +5,7 @@
 // Test the feature where the native string declares the native method's name.
 // #3. The name does not get
 
-import "package:expect/expect.dart";
-import 'dart:_js_helper' show Native, JSName;
+import 'native_testing.dart';
 
 @Native("A")
 class A {
@@ -49,13 +48,15 @@
 
 makeA = function(){return new A};
 makeB = function(){return new B};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
 testDynamic() {
-  var things = [makeA(), makeB(), new Decoy()];
-  var a = things[0];
-  var b = things[1];
-  var d = things[2];
+  var a = confuse(makeA());
+  var b = confuse(makeB());
+  var d = confuse(new Decoy());
 
   Expect.equals(100, a.foo());
   Expect.equals(200, b.foo());
@@ -87,6 +88,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
 
   testDynamic();
diff --git a/tests/compiler/dart2js_native/native_method_with_keyword_name_test.dart b/tests/compiler/dart2js_native/native_method_with_keyword_name_test.dart
index cb16ab1..d35c1c7 100644
--- a/tests/compiler/dart2js_native/native_method_with_keyword_name_test.dart
+++ b/tests/compiler/dart2js_native/native_method_with_keyword_name_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 // Make sure we can have a native with a name that is a JavaScript keyword.
 
@@ -19,13 +18,15 @@
 A.prototype.delete = function() { return 87; };
 
 makeA = function(){return new A;};
+self.nativeConstructor(A);
 """;
 
 main() {
+  nativeTesting();
   setup();
 
-  var a = makeA();
-  Expect.equals(87, a.delete());
-  A aa = a;
-  Expect.equals(87, aa.delete());
+  var a1 = confuse(makeA());
+  Expect.equals(87, a1.delete());
+  A a2 = makeA();
+  Expect.equals(87, a2.delete());
 }
diff --git a/tests/compiler/dart2js_native/native_mirror_test.dart b/tests/compiler/dart2js_native/native_mirror_test.dart
index 58e8ffe..99551c6 100644
--- a/tests/compiler/dart2js_native/native_mirror_test.dart
+++ b/tests/compiler/dart2js_native/native_mirror_test.dart
@@ -9,9 +9,9 @@
 // calling-convention for parts of the compiler, and the non-intercepted
 // convention for others, making this fail.
 
-import "package:expect/expect.dart";
-import "dart:_js_helper";
-import "dart:mirrors";
+import 'native_testing.dart';
+import 'dart:_js_helper';
+import 'dart:mirrors';
 
 @Native("A")
 class A {
diff --git a/tests/compiler/dart2js_native/native_missing_method1_frog_test.dart b/tests/compiler/dart2js_native/native_missing_method1_frog_test.dart
index a6c0e077..6223080 100644
--- a/tests/compiler/dart2js_native/native_missing_method1_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_missing_method1_frog_test.dart
@@ -2,47 +2,50 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 @Native("A")
 class A {}
 
-makeA() native ;
+A makeA() native ;
 
 void setup() native """
 function A() {};
-A.prototype.foo = function() { return  42; }
+A.prototype.foo = function() { return  99; }
 makeA = function() { return new A; }
+self.nativeConstructor(A);
 """;
 
 class B {
-  // We need to define a foo method so that Frog sees it. Because it's
-  // the only occurence of 'foo', Frog does not bother mangling the
-  // call sites. It thinks all calls will either go to this method, or
-  // throw a NoSuchMethodError.
+  // We need to define a foo method so that dart2js sees it. Because the the
+  // only occurences of 'foo' is on B, a Dart class, no interceptor is used.  It
+  // thinks all calls will either go to this method, or throw a
+  // NoSuchMethodError. It is possible that the native class will shadow a
+  // method, but it will not shadow 'foo' because the name is either 'mangled'
+  // with the arity, or minified.
   foo() {
     return 42;
   }
 }
 
 typedContext() {
-  var things = [makeA(), new B()];
-  A a = things[0];
+  confuse(new B()).foo();
+  A a = makeA();
   Expect.throws(() => a.foo(), (e) => e is NoSuchMethodError);
   Expect.throws(() => a.foo, (e) => e is NoSuchMethodError);
   Expect.throws(() => a.foo = 4, (e) => e is NoSuchMethodError);
 }
 
 untypedContext() {
-  var things = [makeA(), new B()];
-  var a = things[0];
+  confuse(new B()).foo();
+  var a = confuse(makeA());
   Expect.throws(() => a.foo(), (e) => e is NoSuchMethodError);
   Expect.throws(() => a.foo, (e) => e is NoSuchMethodError);
   Expect.throws(() => a.foo = 4, (e) => e is NoSuchMethodError);
 }
 
 main() {
+  nativeTesting();
   setup();
   typedContext();
   untypedContext();
diff --git a/tests/compiler/dart2js_native/native_missing_method2_frog_test.dart b/tests/compiler/dart2js_native/native_missing_method2_frog_test.dart
index 0a7b1f4..2baba11 100644
--- a/tests/compiler/dart2js_native/native_missing_method2_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_missing_method2_frog_test.dart
@@ -2,18 +2,17 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
-
+import 'native_testing.dart';
 @Native("A")
 class A {}
 
-makeA() native ;
+A makeA() native ;
 
 void setup() native """
 function A() {};
 A.prototype.foo = function() { return  42; }
 makeA = function() { return new A; }
+self.nativeConstructor(A);
 """;
 
 class B {
@@ -31,23 +30,24 @@
 }
 
 typedContext() {
-  var things = [makeA(), new B()];
-  A a = things[0];
+  A a = makeA();
   Expect.throws(() => a.foo(), (e) => e is NoSuchMethodError);
   Expect.throws(() => a.foo, (e) => e is NoSuchMethodError);
   Expect.throws(() => a.foo = 4, (e) => e is NoSuchMethodError);
 }
 
 untypedContext() {
-  var things = [makeA(), new B()];
-  var a = things[0];
+  var a = confuse(makeA());
   Expect.throws(() => a.foo(), (e) => e is NoSuchMethodError);
   Expect.throws(() => a.foo, (e) => e is NoSuchMethodError);
   Expect.throws(() => a.foo = 4, (e) => e is NoSuchMethodError);
 }
 
 main() {
+  nativeTesting();
   setup();
+  confuse(new B()).foo();
+  confuse(new C()).foo(1);
   typedContext();
   untypedContext();
 }
diff --git a/tests/compiler/dart2js_native/native_mixin_field_test.dart b/tests/compiler/dart2js_native/native_mixin_field_test.dart
index 87688c5..5cf736b 100644
--- a/tests/compiler/dart2js_native/native_mixin_field_test.dart
+++ b/tests/compiler/dart2js_native/native_mixin_field_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test that native classes can use ordinary Dart classes with fields
 // as mixins.
@@ -35,9 +34,14 @@
 function B() {A.call(this);this.bar='B-bar';this.baz='M1-baz';}
 makeA = function(){return new A;};
 makeB = function(){return new B;};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
+
 main() {
+  nativeTesting();
   setup();
   A a = makeA();
   Expect.equals("A-foo", a.foo);
diff --git a/tests/compiler/dart2js_native/native_mixin_multiple2_test.dart b/tests/compiler/dart2js_native/native_mixin_multiple2_test.dart
index e3196e1..2fb2b2b 100644
--- a/tests/compiler/dart2js_native/native_mixin_multiple2_test.dart
+++ b/tests/compiler/dart2js_native/native_mixin_multiple2_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test that native classes can access methods defined only by mixins.
 
@@ -30,9 +29,12 @@
 void setup() native """
 function B() {}
 makeB = function(){return new B;};
+
+self.nativeConstructor(B);
 """;
 
 main() {
+  nativeTesting();
   setup();
 
   B b = makeB();
diff --git a/tests/compiler/dart2js_native/native_mixin_multiple3_test.dart b/tests/compiler/dart2js_native/native_mixin_multiple3_test.dart
index 3b8875c..ccbdd0c 100644
--- a/tests/compiler/dart2js_native/native_mixin_multiple3_test.dart
+++ b/tests/compiler/dart2js_native/native_mixin_multiple3_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test that native classes and plain classes can access methods defined only by
 // the same mixin.
@@ -46,6 +45,10 @@
 makeA = function(){return new A;};
 makeB = function(){return new B;};
 makeC = function(){return new C;};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
+self.nativeConstructor(C);
 """;
 
 var g;
@@ -62,6 +65,7 @@
 makeAll() => [makeA(), makeB(), makeC(), new D(), new E()];
 
 main() {
+  nativeTesting();
   setup();
   /*
   var a = makeA();
diff --git a/tests/compiler/dart2js_native/native_mixin_multiple_test.dart b/tests/compiler/dart2js_native/native_mixin_multiple_test.dart
index 0e43179..b8167bc 100644
--- a/tests/compiler/dart2js_native/native_mixin_multiple_test.dart
+++ b/tests/compiler/dart2js_native/native_mixin_multiple_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test that native classes can use ordinary Dart classes as mixins.
 
@@ -35,9 +34,13 @@
 function B() {}
 makeA = function(){return new A;};
 makeB = function(){return new B;};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
 main() {
+  nativeTesting();
   setup();
   A a = makeA();
   Expect.equals("A-foo", a.foo());
diff --git a/tests/compiler/dart2js_native/native_mixin_test.dart b/tests/compiler/dart2js_native/native_mixin_test.dart
index 667da82..a0ab15b 100644
--- a/tests/compiler/dart2js_native/native_mixin_test.dart
+++ b/tests/compiler/dart2js_native/native_mixin_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test that native classes can use ordinary Dart classes as mixins.
 
@@ -31,9 +30,13 @@
 function B() {}
 makeA = function(){return new A;};
 makeB = function(){return new B;};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
 main() {
+  nativeTesting();
   setup();
   A a = makeA();
   Expect.equals("A-foo", a.foo());
diff --git a/tests/compiler/dart2js_native/native_mixin_with_plain_test.dart b/tests/compiler/dart2js_native/native_mixin_with_plain_test.dart
index 92377a1..5311c32 100644
--- a/tests/compiler/dart2js_native/native_mixin_with_plain_test.dart
+++ b/tests/compiler/dart2js_native/native_mixin_with_plain_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test that native classes and ordinary Dart classes can both use the same
 // ordinary Dart classes as a mixin.
@@ -46,9 +45,13 @@
 function B() {this.aa = 'bb'}
 makeA = function(){return new A;};
 makeB = function(){return new B;};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
 main() {
+  nativeTesting();
   setup();
   var things = [makeA, makeB, () => new C(), () => new D(), () => new M()]
       .map((f) => f())
diff --git a/tests/compiler/dart2js_native/native_named_constructors2_frog_test.dart b/tests/compiler/dart2js_native/native_named_constructors2_frog_test.dart
index 9553be5..ef9429a 100644
--- a/tests/compiler/dart2js_native/native_named_constructors2_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_named_constructors2_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Native class with named constructors and static methods.
 
@@ -30,9 +29,11 @@
 function A(arg) { this._x = arg; }
 A.prototype.foo = function() { return this._x; };
 makeA = function(arg) { return new A(arg); }
+self.nativeConstructor(A);
 """;
 
 main() {
+  nativeTesting();
   setup();
   var a1 = new A(100);
   var a2 = new A.fromString('Hello');
diff --git a/tests/compiler/dart2js_native/native_named_constructors3_frog_test.dart b/tests/compiler/dart2js_native/native_named_constructors3_frog_test.dart
index dcc89fa..390835c 100644
--- a/tests/compiler/dart2js_native/native_named_constructors3_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_named_constructors3_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Hidden native class with factory constructors and NO static methods.
 // Regression test.
@@ -29,9 +28,11 @@
 function A(arg) { this._x = arg; }
 A.prototype.foo = function(){ return this._x; }
 makeA = function(arg) { return new A(arg); }
+self.nativeConstructor(A);
 """;
 
 main() {
+  nativeTesting();
   setup();
   var a1 = new A(100);
   var a2 = new A.fromString('Hello');
diff --git a/tests/compiler/dart2js_native/native_no_such_method_exception2_frog_test.dart b/tests/compiler/dart2js_native/native_no_such_method_exception2_frog_test.dart
index 42a6bda..369b3d9 100644
--- a/tests/compiler/dart2js_native/native_no_such_method_exception2_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_no_such_method_exception2_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 @Native("A")
 class A {}
@@ -33,9 +32,13 @@
   makeA = function() { return new A; }
   makeB = function() { return new B; }
   B.prototype.foo = function() { return 42; }
+
+  self.nativeConstructor(A);
+  self.nativeConstructor(B);
 """;
 
 main() {
+  nativeTesting();
   setup();
   var a = makeA();
   var exception;
diff --git a/tests/compiler/dart2js_native/native_no_such_method_exception3_frog_test.dart b/tests/compiler/dart2js_native/native_no_such_method_exception3_frog_test.dart
index ca125cb..367cb2a 100644
--- a/tests/compiler/dart2js_native/native_no_such_method_exception3_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_no_such_method_exception3_frog_test.dart
@@ -3,8 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import "dart:mirrors" show reflect;
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 class GetName {
   foo(x, y, [z]) => "foo";
@@ -32,9 +31,12 @@
 setup() native """
   function A() {}
   makeA = function() { return new A; }
+
+  self.nativeConstructor(A);
 """;
 
 main() {
+  nativeTesting();
   setup();
   var a = makeA();
   a.bar();
diff --git a/tests/compiler/dart2js_native/native_no_such_method_exception4_frog_test.dart b/tests/compiler/dart2js_native/native_no_such_method_exception4_frog_test.dart
index 3bf26fd..6d3f866 100644
--- a/tests/compiler/dart2js_native/native_no_such_method_exception4_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_no_such_method_exception4_frog_test.dart
@@ -3,8 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import "dart:mirrors" show reflect;
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 class GetName {
   foo(x, y) => "foo";
@@ -29,9 +28,11 @@
 setup() native """
   function A() {}
   makeA = function() { return new A; }
+  self.nativeConstructor(A);
 """;
 
 main() {
+  nativeTesting();
   setup();
   var a = makeA();
   a.bar();
diff --git a/tests/compiler/dart2js_native/native_no_such_method_exception5_frog_test.dart b/tests/compiler/dart2js_native/native_no_such_method_exception5_frog_test.dart
index 141ab49..0d744c9 100644
--- a/tests/compiler/dart2js_native/native_no_such_method_exception5_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_no_such_method_exception5_frog_test.dart
@@ -3,8 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import "dart:mirrors" show reflect;
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 class GetName {
   foo(x, [y]) => "foo";
@@ -34,9 +33,11 @@
 setup() native """
   function A() {}
   makeA = function() { return new A; }
+  self.nativeConstructor(A);
 """;
 
 main() {
+  nativeTesting();
   setup();
   var a = makeA();
   a.bar();
diff --git a/tests/compiler/dart2js_native/native_no_such_method_exception_frog_test.dart b/tests/compiler/dart2js_native/native_no_such_method_exception_frog_test.dart
index f578e89..9aaa100 100644
--- a/tests/compiler/dart2js_native/native_no_such_method_exception_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_no_such_method_exception_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 @Native("A")
 class A {
@@ -20,9 +19,11 @@
 setup() native """
   function A() {}
   makeA = function() { return new A; }
+  self.nativeConstructor(A);
 """;
 
 main() {
+  nativeTesting();
   setup();
   var a = makeA();
   a.bar();
diff --git a/tests/compiler/dart2js_native/native_novel_html_test.dart b/tests/compiler/dart2js_native/native_novel_html_test.dart
index e03589e..01b5099 100644
--- a/tests/compiler/dart2js_native/native_novel_html_test.dart
+++ b/tests/compiler/dart2js_native/native_novel_html_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 // Test to see if novel HTML tags are interpreted as HTMLElement.
 
@@ -31,15 +30,11 @@
 };
 makeF = function(){return new HTMLFakeyElement};
 
-// Make the HTMLGoofyElement look like a real host object.
-var theRealObjectToString = Object.prototype.toString;
-Object.prototype.toString = function() {
-  if (this instanceof HTMLGoofyElement) return '[object HTMLGoofyElement]';
-  return theRealObjectToString.call(this);
-}
+self.nativeConstructor(HTMLGoofyElement);
 """;
 
 main() {
+  nativeTesting();
   setup();
 
   var e = makeE();
diff --git a/tests/compiler/dart2js_native/native_null_closure_frog_test.dart b/tests/compiler/dart2js_native/native_null_closure_frog_test.dart
index ec6f8d5..7f19e1e 100644
--- a/tests/compiler/dart2js_native/native_null_closure_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_null_closure_frog_test.dart
@@ -4,9 +4,7 @@
 
 // Test that exception unwrapping handle cases like ({foo:null}).foo().
 
-import "dart:_js_helper";
-
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 typedef void MyFunctionType();
 
@@ -25,9 +23,12 @@
 A.prototype.check = function(f) { return this.f === f; };
 A.prototype.invoke = function() { return this.f(); };
 makeA = function(){return new A;};
+
+self.nativeConstructor(A);
 """;
 
 main() {
+  nativeTesting();
   setup();
   A a = makeA();
   a.setClosure(null);
@@ -35,7 +36,7 @@
   bool caughtException = false;
   try {
     a.invoke();
-  } on JsNoSuchMethodError catch (e) {
+  } on NoSuchMethodError catch (e) {
     print(e);
     caughtException = true;
   }
diff --git a/tests/compiler/dart2js_native/native_null_frog_test.dart b/tests/compiler/dart2js_native/native_null_frog_test.dart
index d554a52..9bd08eb 100644
--- a/tests/compiler/dart2js_native/native_null_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_null_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test for values of some basic types.
 
@@ -24,10 +23,11 @@
 A.prototype.returnEmptyString = function() { return ""; };
 A.prototype.returnZero = function() { return 0; };
 makeA = function(){return new A;};
+self.nativeConstructor(A);
 """;
 
-main() {
-  setup();
+@NoInline()
+staticTests() {
   A a = makeA();
   Expect.equals(null, a.returnNull());
   Expect.equals(null, a.returnUndefined());
@@ -39,3 +39,24 @@
   Expect.isTrue(a.returnZero() is int);
   Expect.equals(0, a.returnZero());
 }
+
+@NoInline()
+dynamicTests() {
+  A a = makeA();
+  Expect.equals(null, confuse(a).returnNull());
+  Expect.equals(null, confuse(a).returnUndefined());
+
+  Expect.equals('', confuse(a).returnEmptyString());
+  Expect.isTrue(confuse(a).returnEmptyString().isEmpty);
+  Expect.isTrue(confuse(a).returnEmptyString() is String);
+
+  Expect.isTrue(confuse(a).returnZero() is int);
+  Expect.equals(0, confuse(a).returnZero());
+}
+
+main() {
+  nativeTesting();
+  setup();
+  staticTests();
+  dynamicTests();
+}
diff --git a/tests/compiler/dart2js_native/native_property_frog_test.dart b/tests/compiler/dart2js_native/native_property_frog_test.dart
index a897596..ae68f6e 100644
--- a/tests/compiler/dart2js_native/native_property_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_property_frog_test.dart
@@ -4,9 +4,7 @@
 
 // Properties on hidden native classes.
 
-import "package:expect/expect.dart";
-import "dart:_js_helper";
-import 'dart:_foreign_helper' show JS;
+import 'native_testing.dart';
 
 @Native("A")
 class A {
@@ -36,10 +34,13 @@
 });
 
 makeA = function(){return new A;};
+
+self.nativeConstructor(A);
 """;
 
 
 main() {
+  nativeTesting();
   setup();
 
   var a = makeA();
@@ -54,4 +55,11 @@
   Expect.equals(10, a.X);
   Expect.equals(20, a.Y);
   Expect.equals(30, a.Z);
+
+  confuse(a).setX(6);
+  Expect.equals(6, confuse(a).getX());
+
+  Expect.equals(6, confuse(a).X);
+  Expect.equals(20, confuse(a).Y);
+  Expect.equals(30, confuse(a).Z);
 }
diff --git a/tests/compiler/dart2js_native/native_testing.dart b/tests/compiler/dart2js_native/native_testing.dart
new file mode 100644
index 0000000..8d90b0b
--- /dev/null
+++ b/tests/compiler/dart2js_native/native_testing.dart
@@ -0,0 +1,50 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Native testing library. Provides support for mock @Native classes and
+// collects common imports.
+
+
+import "package:expect/expect.dart";
+import 'dart:_js_helper' show Native;
+
+export "package:expect/expect.dart";
+export 'dart:_js_helper' show Creates, Native, JSName, Returns;
+export 'dart:_foreign_helper' show JS;
+
+void _setup() native r'''
+((function() {
+  var toStringResultProperty = "_toStringResult";
+  var objectToStringMethod = Object.prototype.toString;
+
+  Object.prototype.toString = function() {
+    if (this != null) {
+      var constructor = this.constructor;
+      if (constructor != null) {
+        var result = constructor[toStringResultProperty];
+        if (typeof result == "string") return result;
+      }
+    }
+    return objectToStringMethod.call(this);
+  }
+
+  // To mock a @Native class with JavaScript constructor `Foo`, add
+  //
+  //     self.nativeConstructor(Foo);
+  //
+  // to the JavaScript code.
+  self.nativeConstructor = function(constructor, opt_name) {
+    var toStringResult = "[object " + (opt_name || constructor.name) + "]";
+    constructor[toStringResultProperty] = toStringResult;
+  }
+})());
+''';
+
+void nativeTesting() {
+  _setup();
+}
+
+@NoInline()
+@AssumeDynamic()
+confuse(x) => x;
diff --git a/tests/compiler/dart2js_native/native_to_string_frog_test.dart b/tests/compiler/dart2js_native/native_to_string_frog_test.dart
index cff3ac4..1eaffb7 100644
--- a/tests/compiler/dart2js_native/native_to_string_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_to_string_frog_test.dart
@@ -2,20 +2,28 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 @Native("A")
-class A {}
+class A {
+  toString() => 'AAA';
+}
 
 makeA() native ;
 
 void setup() native """
 function A() {}
 makeA = function(){return new A;};
+self.nativeConstructor(A);
 """;
 
 main() {
+  nativeTesting();
   setup();
+
   Expect.isTrue(makeA().toString() is String);
+  Expect.equals('AAA', makeA().toString());
+
+  Expect.isTrue(confuse(makeA()).toString() is String);
+  Expect.equals('AAA', confuse(makeA()).toString());
 }
diff --git a/tests/compiler/dart2js_native/native_use_native_name_in_table_frog_test.dart b/tests/compiler/dart2js_native/native_use_native_name_in_table_frog_test.dart
index 712d173..604cfa1 100644
--- a/tests/compiler/dart2js_native/native_use_native_name_in_table_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_use_native_name_in_table_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import 'native_testing.dart';
 
 // Test that we put native names and not Dart names into the dynamic
 // dispatch table.
@@ -37,18 +36,18 @@
 
 makeA = function(){return new NativeA;};
 makeB = function(){return new NativeB;};
+
+self.nativeConstructor(NativeA);
+self.nativeConstructor(NativeB);
 """;
 
 main() {
+  nativeTesting();
   setup();
 
-  var a = makeA();
-  Expect.equals(42, a.foo());
-  A aa = a;
-  Expect.equals(42, aa.foo());
+  Expect.equals(42, makeA().foo());
+  Expect.equals(42, confuse(makeA()).foo());
 
-  var b = makeB();
-  Expect.equals(42, b.foo());
-  B bb = b;
-  Expect.equals(42, bb.foo());
+  Expect.equals(42, makeB().foo());
+  Expect.equals(42, confuse(makeB()).foo());
 }
diff --git a/tests/compiler/dart2js_native/native_window1_frog_test.dart b/tests/compiler/dart2js_native/native_window1_frog_test.dart
index 80c56cb..fd18641 100644
--- a/tests/compiler/dart2js_native/native_window1_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_window1_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 abstract class Window {
   final int document;
@@ -19,6 +18,7 @@
 class Win implements Window {}
 
 main() {
+  nativeTesting();
   // By typing this variable to 'Window', Frog will optimize calls on
   // it.
   Window win = new Win();
diff --git a/tests/compiler/dart2js_native/native_window2_frog_test.dart b/tests/compiler/dart2js_native/native_window2_frog_test.dart
index d523667..77846c3 100644
--- a/tests/compiler/dart2js_native/native_window2_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_window2_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 abstract class Window {
   final int document;
@@ -19,6 +18,7 @@
 class Win implements Window {}
 
 main() {
+  nativeTesting();
   // By not typing the variable, Frog does not try to optimize calls
   // on it.
   var win = new Win();
diff --git a/tests/compiler/dart2js_native/native_wrapping_function3_frog_test.dart b/tests/compiler/dart2js_native/native_wrapping_function3_frog_test.dart
index 4e82838..a331521 100644
--- a/tests/compiler/dart2js_native/native_wrapping_function3_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_wrapping_function3_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
-import "dart:_js_helper";
+import "native_testing.dart";
 
 typedef void Callback0();
 typedef void Callback1(arg1);
@@ -15,7 +14,7 @@
   foo2(Callback2 closure, [arg1 = 0, arg2 = 1]) native ;
 }
 
-makeA() native ;
+A makeA() native ;
 
 void setup() native """
 function A() {}
@@ -24,21 +23,24 @@
   return closure(arg1, arg2);
 };
 makeA = function(){return new A;};
+self.nativeConstructor(A);
 """;
 
 main() {
+  nativeTesting();
   setup();
   var a = makeA();
+  // Statically known receiver type calls.
   Expect.equals(43, a.foo1((arg1) => arg1, 43));
   Expect.equals(0, a.foo1((arg1) => arg1));
 
   Expect.equals(44, a.foo2((arg1, arg2) => arg1 + arg2, 21, 23));
   Expect.equals(22, a.foo2((arg1, arg2) => arg1 + arg2, 21));
 
-  A aa = a;
-  Expect.equals(43, aa.foo1((arg1) => arg1, 43));
-  Expect.equals(0, aa.foo1((arg1) => arg1));
+  // Dynamic calls.
+  Expect.equals(43, confuse(a).foo1((arg1) => arg1, 43));
+  Expect.equals(0, confuse(a).foo1((arg1) => arg1));
 
-  Expect.equals(44, aa.foo2((arg1, arg2) => arg1 + arg2, 21, 23));
-  Expect.equals(22, aa.foo2((arg1, arg2) => arg1 + arg2, 21));
+  Expect.equals(44, confuse(a).foo2((arg1, arg2) => arg1 + arg2, 21, 23));
+  Expect.equals(22, confuse(a).foo2((arg1, arg2) => arg1 + arg2, 21));
 }
diff --git a/tests/compiler/dart2js_native/native_wrapping_function_frog_test.dart b/tests/compiler/dart2js_native/native_wrapping_function_frog_test.dart
index e57daf6..51597dd 100644
--- a/tests/compiler/dart2js_native/native_wrapping_function_frog_test.dart
+++ b/tests/compiler/dart2js_native/native_wrapping_function_frog_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 typedef void Callback0();
 typedef void Callback1(arg1);
@@ -26,9 +25,11 @@
   return closure(arg1, arg2);
 };
 makeA = function(){return new A;};
+self.nativeConstructor(A);
 """;
 
 main() {
+  nativeTesting();
   setup();
   var a = makeA();
   Expect.equals(42, a.foo0(() => 42));
diff --git a/tests/compiler/dart2js_native/oddly_named_fields_test.dart b/tests/compiler/dart2js_native/oddly_named_fields_test.dart
index 9561a58..23b244e 100644
--- a/tests/compiler/dart2js_native/oddly_named_fields_test.dart
+++ b/tests/compiler/dart2js_native/oddly_named_fields_test.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:_js_helper';
+import 'native_testing.dart';
 
 // JavaScript reserved words:
 //
@@ -1384,9 +1384,11 @@
 setup() native """
 function NativeClassWithOddNames() {}
 makeNativeClassWithOddNames = function() { return new NativeClassWithOddNames; }
+self.nativeConstructor(NativeClassWithOddNames);
 """;
 
 main() {
+  nativeTesting();
   setup();
   var object = makeNativeClassWithOddNames();
   object.testMyFields();
diff --git a/tests/compiler/dart2js_native/runtimetype_test.dart b/tests/compiler/dart2js_native/runtimetype_test.dart
index 4667eca..babdc11 100644
--- a/tests/compiler/dart2js_native/runtimetype_test.dart
+++ b/tests/compiler/dart2js_native/runtimetype_test.dart
@@ -2,9 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
-import "dart:_js_helper";
-import 'dart:_foreign_helper' show JS;
+import 'native_testing.dart';
 
 // Test to see runtimeType works on native classes and does not use the native
 // constructor name.
@@ -33,6 +31,9 @@
 
 makeA = function(){return new TAGX};
 makeB = function(){return new TAGY};
+
+self.nativeConstructor(TAGX);
+self.nativeConstructor(TAGY);
 """;
 
 testDynamicContext() {
@@ -58,6 +59,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
 
   testDynamicContext();
diff --git a/tests/compiler/dart2js_native/static_methods_test.dart b/tests/compiler/dart2js_native/static_methods_test.dart
index f1cfd44..c646bfd 100644
--- a/tests/compiler/dart2js_native/static_methods_test.dart
+++ b/tests/compiler/dart2js_native/static_methods_test.dart
@@ -7,8 +7,8 @@
 //   identifier @JSName -> use @Native tag as 'scope' for @JSName.
 //   other @JSName -> use @JSName as an expression.
 
-import "package:expect/expect.dart";
-import 'dart:_js_helper' show Native, JSName, convertDartClosureToJS;
+import 'native_testing.dart';
+import 'dart:_js_helper' show convertDartClosureToJS;
 
 typedef int Callback(String s);
 
@@ -51,6 +51,7 @@
 """;
 
 main() {
+  nativeTesting();
   setup();
 
   // TODO(sra): Investigate why this line is necessary to get a correctly
diff --git a/tests/compiler/dart2js_native/subclassing_1_test.dart b/tests/compiler/dart2js_native/subclassing_1_test.dart
index 77ca191..69a2aa9 100644
--- a/tests/compiler/dart2js_native/subclassing_1_test.dart
+++ b/tests/compiler/dart2js_native/subclassing_1_test.dart
@@ -2,8 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
-import 'dart:_js_helper' show Native, Creates, setNativeSubclassDispatchRecord;
+import "native_testing.dart";
+import 'dart:_js_helper' show setNativeSubclassDispatchRecord;
 import 'dart:_interceptors' show findInterceptorForType;
 
 // Test that subclasses of native classes can be defined by setting the dispatch
@@ -43,6 +43,7 @@
 """;
 
 main() {
+  nativeTesting();
   setup();
 
   setNativeSubclassDispatchRecord(getBPrototype(), findInterceptorForType(B));
diff --git a/tests/compiler/dart2js_native/subclassing_2_test.dart b/tests/compiler/dart2js_native/subclassing_2_test.dart
index 4b9785c..a6b8bb3 100644
--- a/tests/compiler/dart2js_native/subclassing_2_test.dart
+++ b/tests/compiler/dart2js_native/subclassing_2_test.dart
@@ -2,8 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
-import 'dart:_js_helper' show Native, Creates, setNativeSubclassDispatchRecord;
+import 'native_testing.dart';
+import 'dart:_js_helper' show setNativeSubclassDispatchRecord;
 import 'dart:_interceptors' show findInterceptorForType;
 
 // Test calling convention of methods introduced on subclasses of native
@@ -37,6 +37,7 @@
 """;
 
 main() {
+  nativeTesting();
   setup();
 
   setNativeSubclassDispatchRecord(getBPrototype(), findInterceptorForType(B));
diff --git a/tests/compiler/dart2js_native/subclassing_3_test.dart b/tests/compiler/dart2js_native/subclassing_3_test.dart
index 890f556..528104d 100644
--- a/tests/compiler/dart2js_native/subclassing_3_test.dart
+++ b/tests/compiler/dart2js_native/subclassing_3_test.dart
@@ -2,8 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
-import 'dart:_js_helper' show Native, Creates, setNativeSubclassDispatchRecord;
+import 'native_testing.dart';
+import 'dart:_js_helper' show setNativeSubclassDispatchRecord;
 import 'dart:_interceptors' show Interceptor, findInterceptorForType;
 
 // Test calling convention of methods introduced on subclasses of native
@@ -42,6 +42,7 @@
 """;
 
 main() {
+  nativeTesting();
   setup();
 
   setNativeSubclassDispatchRecord(getBPrototype(), findInterceptorForType(B));
diff --git a/tests/compiler/dart2js_native/subclassing_4_test.dart b/tests/compiler/dart2js_native/subclassing_4_test.dart
index 3e5d482..a284158 100644
--- a/tests/compiler/dart2js_native/subclassing_4_test.dart
+++ b/tests/compiler/dart2js_native/subclassing_4_test.dart
@@ -2,8 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
-import 'dart:_js_helper' show Native, Creates, setNativeSubclassDispatchRecord;
+import 'native_testing.dart';
+import 'dart:_js_helper' show setNativeSubclassDispatchRecord;
 import 'dart:_interceptors' show Interceptor, findInterceptorForType;
 
 // Test calling convention on subclasses of native classes.
@@ -39,6 +39,7 @@
 """;
 
 main() {
+  nativeTesting();
   setup();
 
   setNativeSubclassDispatchRecord(getBPrototype(), findInterceptorForType(B));
diff --git a/tests/compiler/dart2js_native/subclassing_5_test.dart b/tests/compiler/dart2js_native/subclassing_5_test.dart
index 7985893..26a4655 100644
--- a/tests/compiler/dart2js_native/subclassing_5_test.dart
+++ b/tests/compiler/dart2js_native/subclassing_5_test.dart
@@ -2,8 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
-import 'dart:_js_helper' show Native, Creates, setNativeSubclassDispatchRecord;
+import 'native_testing.dart';
+import 'dart:_js_helper' show setNativeSubclassDispatchRecord;
 import 'dart:_interceptors' show Interceptor, findInterceptorForType;
 
 // Test type checks.
@@ -121,51 +121,49 @@
   Expect.identical(x, z);
 }
 
-var inscrutable;
-
 main() {
+  nativeTesting();
   setup();
-  inscrutable = (x) => x;
 
   setNativeSubclassDispatchRecord(getBPrototype(), findInterceptorForType(B));
 
-  var b = inscrutable(makeB());
+  var b = confuse(makeB());
 
-  inscrutable(testIsB)(b);
-  inscrutable(testIsA)(b);
-  inscrutable(testIsN)(b);
-  inscrutable(testIsM)(b);
-  inscrutable(testIsI)(b);
+  confuse(testIsB)(b);
+  confuse(testIsA)(b);
+  confuse(testIsN)(b);
+  confuse(testIsM)(b);
+  confuse(testIsI)(b);
 
-  inscrutable(new Checks<B>().isCheck)(b);
-  inscrutable(new Checks<A>().isCheck)(b);
-  inscrutable(new Checks<N>().isCheck)(b);
-  inscrutable(new Checks<M>().isCheck)(b);
-  inscrutable(new Checks<I>().isCheck)(b);
+  confuse(new Checks<B>().isCheck)(b);
+  confuse(new Checks<A>().isCheck)(b);
+  confuse(new Checks<N>().isCheck)(b);
+  confuse(new Checks<M>().isCheck)(b);
+  confuse(new Checks<I>().isCheck)(b);
 
   if (isCheckedMode()) {
-    inscrutable(testAssignB)(b);
-    inscrutable(testAssignA)(b);
-    inscrutable(testAssignN)(b);
-    inscrutable(testAssignM)(b);
-    inscrutable(testAssignI)(b);
+    confuse(testAssignB)(b);
+    confuse(testAssignA)(b);
+    confuse(testAssignN)(b);
+    confuse(testAssignM)(b);
+    confuse(testAssignI)(b);
 
-    inscrutable(testCastB)(b);
-    inscrutable(testCastA)(b);
-    inscrutable(testCastN)(b);
-    inscrutable(testCastM)(b);
-    inscrutable(testCastI)(b);
+    confuse(testCastB)(b);
+    confuse(testCastA)(b);
+    confuse(testCastN)(b);
+    confuse(testCastM)(b);
+    confuse(testCastI)(b);
 
-    inscrutable(new Checks<B>().assignCheck)(b);
-    inscrutable(new Checks<A>().assignCheck)(b);
-    inscrutable(new Checks<N>().assignCheck)(b);
-    inscrutable(new Checks<M>().assignCheck)(b);
-    inscrutable(new Checks<I>().assignCheck)(b);
+    confuse(new Checks<B>().assignCheck)(b);
+    confuse(new Checks<A>().assignCheck)(b);
+    confuse(new Checks<N>().assignCheck)(b);
+    confuse(new Checks<M>().assignCheck)(b);
+    confuse(new Checks<I>().assignCheck)(b);
 
-    inscrutable(new Checks<B>().castCheck)(b);
-    inscrutable(new Checks<A>().castCheck)(b);
-    inscrutable(new Checks<N>().castCheck)(b);
-    inscrutable(new Checks<M>().castCheck)(b);
-    inscrutable(new Checks<I>().castCheck)(b);
+    confuse(new Checks<B>().castCheck)(b);
+    confuse(new Checks<A>().castCheck)(b);
+    confuse(new Checks<N>().castCheck)(b);
+    confuse(new Checks<M>().castCheck)(b);
+    confuse(new Checks<I>().castCheck)(b);
   }
 }
diff --git a/tests/compiler/dart2js_native/subclassing_constructor_1_test.dart b/tests/compiler/dart2js_native/subclassing_constructor_1_test.dart
index 657dc96..cbd04e5 100644
--- a/tests/compiler/dart2js_native/subclassing_constructor_1_test.dart
+++ b/tests/compiler/dart2js_native/subclassing_constructor_1_test.dart
@@ -2,9 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
-import 'dart:_foreign_helper' show JS;
-import 'dart:_js_helper' show Native, Creates, setNativeSubclassDispatchRecord;
+import "native_testing.dart";
+import 'dart:_js_helper' show setNativeSubclassDispatchRecord;
 import 'dart:_interceptors'
     show findInterceptorForType, findConstructorForNativeSubclassType;
 
@@ -158,11 +157,9 @@
   checkThrows(() => new B.three([]), 'new B.three([])');
 }
 
-var inscrutable;
-
 main() {
+  nativeTesting();
   setup();
-  inscrutable = (x) => x;
   log = (message) {
     trace.add('$message');
     return message;
diff --git a/tests/compiler/dart2js_native/subclassing_constructor_2_test.dart b/tests/compiler/dart2js_native/subclassing_constructor_2_test.dart
index 2b9f6c5..f1c8dd1 100644
--- a/tests/compiler/dart2js_native/subclassing_constructor_2_test.dart
+++ b/tests/compiler/dart2js_native/subclassing_constructor_2_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test that native classes and subclasses of native classes cannot be directly
 // created via a generative constructor.
diff --git a/tests/compiler/dart2js_native/subclassing_super_call_test.dart b/tests/compiler/dart2js_native/subclassing_super_call_test.dart
index a3bb7f4..be90112 100644
--- a/tests/compiler/dart2js_native/subclassing_super_call_test.dart
+++ b/tests/compiler/dart2js_native/subclassing_super_call_test.dart
@@ -2,9 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
-import 'dart:_foreign_helper' show JS;
-import 'dart:_js_helper' show Native, Creates, setNativeSubclassDispatchRecord;
+import "native_testing.dart";
+import 'dart:_js_helper' show setNativeSubclassDispatchRecord;
 import 'dart:_interceptors'
     show findInterceptorForType, findConstructorForNativeSubclassType;
 
@@ -53,8 +52,6 @@
 getBBPrototype = function(){return BB.prototype;};
 """;
 
-var inscrutable;
-
 testSuperOnNative() {
   BB b1 = makeBB();
   BB b2 = makeBB();
@@ -64,14 +61,14 @@
   JS('', '#(#)', constructor, b1);
   JS('', '#(#)', constructor, b2);
 
-  b1.text = inscrutable('one');
-  b2.text = inscrutable('two');
+  b1.text = confuse('one');
+  b2.text = confuse('two');
 
-  print('b1.text ${inscrutable(b1).text}');
-  print('b2.text ${inscrutable(b2).text}');
+  print('b1.text ${confuse(b1).text}');
+  print('b2.text ${confuse(b2).text}');
 
-  print('b1.foo() ${inscrutable(b1).foo()}');
-  print('b2.foo() ${inscrutable(b2).foo()}');
+  print('b1.foo() ${confuse(b1).foo()}');
+  print('b2.foo() ${confuse(b2).foo()}');
 
   Expect.equals('one', b1.text);
   Expect.equals('two', b2.text);
@@ -79,14 +76,14 @@
   Expect.equals('foo:one', b1.foo());
   Expect.equals('foo:two', b2.foo());
 
-  inscrutable(b1).text = inscrutable('three');
-  inscrutable(b2).text = inscrutable('four');
+  confuse(b1).text = confuse('three');
+  confuse(b2).text = confuse('four');
 
-  Expect.equals('three', inscrutable(b1).text);
-  Expect.equals('four', inscrutable(b2).text);
+  Expect.equals('three', confuse(b1).text);
+  Expect.equals('four', confuse(b2).text);
 
-  Expect.equals('foo:three', inscrutable(b1).foo());
-  Expect.equals('foo:four', inscrutable(b2).foo());
+  Expect.equals('foo:three', confuse(b1).foo());
+  Expect.equals('foo:four', confuse(b2).foo());
 }
 
 testSuperOnSubclassOfNative() {
@@ -98,14 +95,14 @@
   JS('', '#(#)', constructor, b1);
   JS('', '#(#)', constructor, b2);
 
-  b1.afield = inscrutable('one');
-  b2.afield = inscrutable('two');
+  b1.afield = confuse('one');
+  b2.afield = confuse('two');
 
-  print('b1.afield ${inscrutable(b1).afield}');
-  print('b2.afield ${inscrutable(b2).afield}');
+  print('b1.afield ${confuse(b1).afield}');
+  print('b2.afield ${confuse(b2).afield}');
 
-  print('b1.afun() ${inscrutable(b1).afun()}');
-  print('b2.afun() ${inscrutable(b2).afun()}');
+  print('b1.afun() ${confuse(b1).afun()}');
+  print('b2.afun() ${confuse(b2).afun()}');
 
   Expect.equals('one', b1.afield);
   Expect.equals('two', b2.afield);
@@ -113,19 +110,19 @@
   Expect.equals('afun:one', b1.afun());
   Expect.equals('afun:two', b2.afun());
 
-  inscrutable(b1).afield = inscrutable('three');
-  inscrutable(b2).afield = inscrutable('four');
+  confuse(b1).afield = confuse('three');
+  confuse(b2).afield = confuse('four');
 
-  Expect.equals('three', inscrutable(b1).afield);
-  Expect.equals('four', inscrutable(b2).afield);
+  Expect.equals('three', confuse(b1).afield);
+  Expect.equals('four', confuse(b2).afield);
 
-  Expect.equals('afun:three', inscrutable(b1).afun());
-  Expect.equals('afun:four', inscrutable(b2).afun());
+  Expect.equals('afun:three', confuse(b1).afun());
+  Expect.equals('afun:four', confuse(b2).afun());
 }
 
 main() {
+  nativeTesting();
   setup();
-  inscrutable = (x) => x;
 
   setNativeSubclassDispatchRecord(getBBPrototype(), findInterceptorForType(BB));
 
diff --git a/tests/compiler/dart2js_native/subclassing_super_field_1_test.dart b/tests/compiler/dart2js_native/subclassing_super_field_1_test.dart
index 1e602df..c3fb6fd 100644
--- a/tests/compiler/dart2js_native/subclassing_super_field_1_test.dart
+++ b/tests/compiler/dart2js_native/subclassing_super_field_1_test.dart
@@ -2,9 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
-import 'dart:_foreign_helper' show JS;
-import 'dart:_js_helper' show Native, Creates, setNativeSubclassDispatchRecord;
+import "native_testing.dart";
+import 'dart:_js_helper' show setNativeSubclassDispatchRecord;
 import 'dart:_interceptors'
     show findInterceptorForType, findConstructorForNativeSubclassType;
 
@@ -40,11 +39,9 @@
 getBPrototype = function(){return B.prototype;};
 """;
 
-var inscrutable;
-
 main() {
+  nativeTesting();
   setup();
-  inscrutable = (x) => x;
 
   setNativeSubclassDispatchRecord(getBPrototype(), findInterceptorForType(B));
 
@@ -56,8 +53,8 @@
 
   print(b);
 
-  Expect.equals(222, inscrutable(b).Bfoo());
-  Expect.equals(111, inscrutable(b).Afoo());
+  Expect.equals(222, confuse(b).Bfoo());
+  Expect.equals(111, confuse(b).Afoo());
 
   Expect.equals(222, b.Bfoo());
   Expect.equals(111, b.Afoo());
diff --git a/tests/compiler/dart2js_native/subclassing_super_field_2_test.dart b/tests/compiler/dart2js_native/subclassing_super_field_2_test.dart
index 4778ed1..8e9bd93 100644
--- a/tests/compiler/dart2js_native/subclassing_super_field_2_test.dart
+++ b/tests/compiler/dart2js_native/subclassing_super_field_2_test.dart
@@ -2,9 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
-import 'dart:_foreign_helper' show JS;
-import 'dart:_js_helper' show Native, Creates, setNativeSubclassDispatchRecord;
+import "native_testing.dart";
+import 'dart:_js_helper' show setNativeSubclassDispatchRecord;
 import 'dart:_interceptors'
     show findInterceptorForType, findConstructorForNativeSubclassType;
 
@@ -44,11 +43,9 @@
 getBPrototype = function(){return B.prototype;};
 """;
 
-var inscrutable;
-
 main() {
+  nativeTesting();
   setup();
-  inscrutable = (x) => x;
 
   setNativeSubclassDispatchRecord(getBPrototype(), findInterceptorForType(B));
 
@@ -60,9 +57,9 @@
 
   print(b);
 
-  Expect.equals(333, inscrutable(b).Bfoo());
-  Expect.equals(222, inscrutable(b).Afoo());
-  Expect.equals(111, inscrutable(b).Nfoo());
+  Expect.equals(333, confuse(b).Bfoo());
+  Expect.equals(222, confuse(b).Afoo());
+  Expect.equals(111, confuse(b).Nfoo());
 
   Expect.equals(333, b.Bfoo());
   Expect.equals(222, b.Afoo());
diff --git a/tests/compiler/dart2js_native/subclassing_type_test.dart b/tests/compiler/dart2js_native/subclassing_type_test.dart
index a4e14e8..3ab4af9 100644
--- a/tests/compiler/dart2js_native/subclassing_type_test.dart
+++ b/tests/compiler/dart2js_native/subclassing_type_test.dart
@@ -2,8 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "package:expect/expect.dart";
-import 'dart:_js_helper' show Native, Creates, setNativeSubclassDispatchRecord;
+import 'native_testing.dart';
+import 'dart:_js_helper' show setNativeSubclassDispatchRecord;
 import 'dart:_interceptors' show Interceptor, findInterceptorForType;
 
 // Test that type checks and casts work for subclasses of native classes and
diff --git a/tests/compiler/dart2js_native/super_call_test.dart b/tests/compiler/dart2js_native/super_call_test.dart
index b420516..0a880f3 100644
--- a/tests/compiler/dart2js_native/super_call_test.dart
+++ b/tests/compiler/dart2js_native/super_call_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test to see if resolving a hidden native class's method interferes with
 // subsequent resolving the subclass's method.  This might happen if the
@@ -62,9 +61,15 @@
 makeB = function(){return new B};
 makeC = function(){return new C};
 makeD = function(){return new D};
+
+self.nativeConstructor(A);
+self.nativeConstructor(B);
+self.nativeConstructor(C);
+self.nativeConstructor(D);
 """;
 
 main() {
+  nativeTesting();
   setup();
 
   var a = makeA();
diff --git a/tests/compiler/dart2js_native/super_property_test.dart b/tests/compiler/dart2js_native/super_property_test.dart
index fbe98f7..0174525 100644
--- a/tests/compiler/dart2js_native/super_property_test.dart
+++ b/tests/compiler/dart2js_native/super_property_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Tests super setter where the HInvokeSuper is using interceptor aka
 // explicit-receiver calling convention.
@@ -47,6 +46,8 @@
 function B(){}
 makeA = function(){return new A};
 makeB = function(){return new B};
+self.nativeConstructor(A);
+self.nativeConstructor(B);
 """;
 
 testThing(a) {
@@ -60,6 +61,7 @@
 }
 
 main() {
+  nativeTesting();
   setup();
   var things = [makeA(), makeB(), new C(), new D()];
   var test = testThing;
diff --git a/tests/compiler/dart2js_native/type_error_decode_test.dart b/tests/compiler/dart2js_native/type_error_decode_test.dart
index 3c9a8f0..1c37f03 100644
--- a/tests/compiler/dart2js_native/type_error_decode_test.dart
+++ b/tests/compiler/dart2js_native/type_error_decode_test.dart
@@ -4,9 +4,8 @@
 
 library test.type_error_decode_test;
 
-import 'package:expect/expect.dart';
-
-import 'dart:_js_helper';
+import 'native_testing.dart';
+import 'dart:_js_helper' show NullError, JsNoSuchMethodError;
 
 class Foo {
   var field;
@@ -41,12 +40,19 @@
   var s = "Cannot call method 'foo' of null";
   var nul = null;
   var f = new Foo();
-  // This should foil code analysis so the variables aren't inlined below.
-  [].forEach((y) => f.field = nul = s = x = z = v = y);
+
   expectThrows(() => x.fisk(), isNullError);
   expectThrows(() => v.fisk(), isNullError);
   expectThrows(() => z.fisk(), isJsNoSuchMethodError);
   expectThrows(() => s.fisk(), isJsNoSuchMethodError);
   expectThrows(() => null(), isNullError);
   expectThrows(() => f.field(), isNullError);
+
+  expectThrows(() => confuse(x).fisk(), isNullError);
+  expectThrows(() => confuse(v).fisk(), isNullError);
+  expectThrows(() => confuse(z).fisk(), isJsNoSuchMethodError);
+  expectThrows(() => confuse(s).fisk(), isJsNoSuchMethodError);
+  expectThrows(() => confuse(null)(), isNullError);
+  expectThrows(() => confuse(f).field(), isNullError);
+  expectThrows(() => confuse(f.field)(), isNullError);
 }
diff --git a/tests/compiler/dart2js_native/undefined_bailout_test.dart b/tests/compiler/dart2js_native/undefined_bailout_test.dart
index 8819be1..feff806 100644
--- a/tests/compiler/dart2js_native/undefined_bailout_test.dart
+++ b/tests/compiler/dart2js_native/undefined_bailout_test.dart
@@ -18,8 +18,7 @@
 // comparison does not work for undefined, which the DOM sometimes
 // returns.
 
-import "package:expect/expect.dart";
-import 'dart:_foreign_helper' show JS;
+import "native_testing.dart";
 
 var a = 42;
 var b = 0;
diff --git a/tests/compiler/dart2js_native/uninstantiated_type_parameter_test.dart b/tests/compiler/dart2js_native/uninstantiated_type_parameter_test.dart
index 730a5bb..158063c 100644
--- a/tests/compiler/dart2js_native/uninstantiated_type_parameter_test.dart
+++ b/tests/compiler/dart2js_native/uninstantiated_type_parameter_test.dart
@@ -2,8 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import "dart:_js_helper";
-import "package:expect/expect.dart";
+import "native_testing.dart";
 
 // Test for uninstantiated native classes as type parameters.
 
diff --git a/tests/html/html.status b/tests/html/html.status
index 419e7bb..b3aece5 100644
--- a/tests/html/html.status
+++ b/tests/html/html.status
@@ -14,6 +14,8 @@
 js_typed_interop_type3_test: Fail, OK # tests dart2js-specific behavior.
 
 native_gc_test: Skip # Dartium JSInterop failure
+js_interop_constructor_name_test/HTMLDivElement-methods: Fail # Investigate.
+js_interop_constructor_name_test/HTMLDivElement-types: Fail # ditto
 
 [ $compiler == none && ($runtime == drt || $runtime == dartium ) ]
 worker_api_test: Fail # Issue 10223
@@ -32,7 +34,8 @@
 js_type_test/dynamic-null-not-Foo: Fail  # Issue 26838
 js_type_test/dynamic-String-not-Foo: Fail  # Issue 26838
 js_type_test/dynamic-String-not-dynamic-Foo: Fail  # Issue 26838
-
+js_interop_constructor_name_test/HTMLDivElement-types-erroneous1: Fail # Issue 26838
+js_interop_constructor_name_test/HTMLDivElement-types-erroneous2: Fail # Issue 26838
 
 [ $compiler == dart2js && $checked ]
 js_function_getter_trust_types_test: Skip # --trust-type-annotations incompatible with --checked
diff --git a/tests/html/js_interop_constructor_name_test.dart b/tests/html/js_interop_constructor_name_test.dart
new file mode 100644
index 0000000..0b488f4
--- /dev/null
+++ b/tests/html/js_interop_constructor_name_test.dart
@@ -0,0 +1,98 @@
+// Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library jsTest;
+
+import 'dart:async';
+import 'dart:html' as html;
+import 'dart:js';
+import 'package:js/js.dart';
+
+import 'package:unittest/unittest.dart';
+import 'package:unittest/html_individual_config.dart';
+import 'package:expect/expect.dart' show NoInline, AssumeDynamic;
+
+@JS()
+external makeDiv(String text);
+
+@JS()
+class HTMLDivElement {
+  external String bar();
+}
+
+@NoInline() @AssumeDynamic()
+confuse(x) => x;
+
+main() {
+  useHtmlIndividualConfiguration();
+
+  group('HTMLDivElement-types', () {
+    test('dom-is-dom', () {
+      var e = confuse(new html.DivElement());
+      expect(e is html.DivElement, isTrue);
+    });
+
+    test('js-is-dom', () {
+      var e = confuse(makeDiv('hello'));
+      expect(e is html.DivElement, isFalse);
+    });
+
+    test('js-is-js', () {
+      var e = confuse(makeDiv('hello'));
+      expect(e is HTMLDivElement, isTrue);
+    });
+
+  });
+
+  group('HTMLDivElement-types-erroneous1', () {
+    test('dom-is-js', () {
+      var e = confuse(new html.DivElement());
+      // TODO(26838): When Issue 26838 is fixed and this test passes, move this
+      // test into group `HTMLDivElement-types`.
+
+      // Currently, HTML types are not [JavaScriptObject]s. We could change that
+      // by having HTML types extend JavaScriptObject, in which case we would
+      // change this expectation.
+      expect(e is HTMLDivElement, isFalse);
+    });
+  });
+
+  group('HTMLDivElement-types-erroneous2', () {
+    test('String-is-not-js', () {
+      var e = confuse('kombucha');
+      // TODO(26838): When Issue 26838 is fixed and this test passes, move this
+      // test into group `HTMLDivElement-types`.
+
+      // A String should not be a JS interop type. The type test flags are added
+      // to Interceptor, but should be added to the class that implements all
+      // the JS-interop methods.
+      expect(e is HTMLDivElement, isFalse);
+    });
+  });
+
+
+  group('HTMLDivElement-methods', () {
+
+    test('js-call-js-method', () {
+      var e = confuse(makeDiv('hello'));
+      expect(e.bar(), equals('hello'));
+    });
+
+    test('dom-call-js-method', () {
+      var e = confuse(new html.DivElement());
+      expect(() => e.bar(), throws);
+    });
+
+    test('js-call-dom-method', () {
+      var e = confuse(makeDiv('hello'));
+      expect(() => e.clone(false), throws);
+    });
+
+    test('dom-call-dom-method', () {
+      var e = confuse(new html.DivElement());
+      expect(e.clone(false), new isInstanceOf<html.DivElement>());
+    });
+
+  });
+}
diff --git a/tests/html/js_interop_constructor_name_test.html b/tests/html/js_interop_constructor_name_test.html
new file mode 100644
index 0000000..4b21d8b
--- /dev/null
+++ b/tests/html/js_interop_constructor_name_test.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="dart.unittest" content="full-stack-traces">
+  <title> js_interop_constructor_name_test </title>
+  <style>
+     .unittest-table { font-family:monospace; border:1px; }
+     .unittest-pass { background: #6b3;}
+     .unittest-fail { background: #d55;}
+     .unittest-error { background: #a11;}
+  </style>
+</head>
+<body>
+  <h1> Running js_interop_constructor_name_test </h1>
+  <script type="text/javascript"
+      src="/root_dart/tests/html/js_interop_constructor_name_test_js.js"></script>
+  <script type="text/javascript"
+      src="/root_dart/tools/testing/dart/test_controller.js"></script>
+  %TEST_SCRIPTS%
+</body>
+</html>
diff --git a/tests/html/js_interop_constructor_name_test_js.js b/tests/html/js_interop_constructor_name_test_js.js
new file mode 100644
index 0000000..828cbc9
--- /dev/null
+++ b/tests/html/js_interop_constructor_name_test_js.js
@@ -0,0 +1,20 @@
+(function() {
+
+  // A constructor function with the same name as a HTML element.
+  function HTMLDivElement(a) {
+    this.a = a;
+  }
+
+  HTMLDivElement.prototype.bar = function() {
+    return this.a;
+  }
+
+  HTMLDivElement.prototype.toString = function() {
+    return "HTMLDivElement(" + this.a + ")";
+  }
+
+  self.makeDiv = function(text) {
+    return new HTMLDivElement(text);
+  };
+
+})();
diff --git a/tests/kernel/unsorted/try_finally_test.dart b/tests/kernel/unsorted/try_finally_test.dart
index db3069b..87bb968 100644
--- a/tests/kernel/unsorted/try_finally_test.dart
+++ b/tests/kernel/unsorted/try_finally_test.dart
@@ -144,6 +144,34 @@
   }
 }
 
+testNestedFinally() {
+  var events = '';
+  try {
+    try {
+      events = '$events|start';
+    } finally {
+      events = '$events|start-catch';
+    }
+    try {
+      try {
+        return;
+      } finally {
+        events = '$events|inner';
+        throw 0;
+      }
+    } finally {
+      events = '$events|middle';
+    }
+  } catch (e) {
+    events = '$events|outer-catch';
+  } finally {
+    events = '$events|outer-finally';
+  }
+  Expect.equals(
+      events,
+      '|start|start-catch|inner|middle|outer-catch|outer-finally');
+}
+
 main() {
   Expect.isTrue(testSimpleBreak() == 3);
   Expect.isTrue(testReturnFinally() == 42);
@@ -155,4 +183,5 @@
   Expect.isTrue(testStopContinueInsideLoop() == 42);
   Expect.isTrue(testStopContinueInsideSwitch() == 42);
   Expect.isTrue(testStopContinueInsideSwitch2() == 42);
+  testNestedFinally();
 }
diff --git a/tests/language/language.status b/tests/language/language.status
index 2357dd9..e6b27de 100644
--- a/tests/language/language.status
+++ b/tests/language/language.status
@@ -261,6 +261,7 @@
 library_env_test/has_mirror_support: RuntimeError, OK
 
 [ $hot_reload || $hot_reload_rollback ]
+methods_as_constants_test: Skip # Issue 27803
 static_closure_identical_test: Pass, Fail # Closure identity
 cha_deopt1_test: Crash # Requires deferred libraries
 cha_deopt2_test: Crash # Requires deferred libraries
diff --git a/tests/language/vm/optimized_list_constructor_test.dart b/tests/language/vm/optimized_list_constructor_test.dart
new file mode 100644
index 0000000..a6e27ce
--- /dev/null
+++ b/tests/language/vm/optimized_list_constructor_test.dart
@@ -0,0 +1,26 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+// Test various optimizations and deoptimizations of optimizing compiler..
+// VMOptions=--optimization-counter-threshold=10 --no-background-compilation
+
+import "package:expect/expect.dart";
+
+// Test correct throwing of ArgumentError in optimized code.
+
+test() {
+  try {
+    var r = new List<int>(-1);
+    Expect.isTrue(false);  // Unreachable.
+  } on RangeError {
+    return true;
+  }
+  Expect.isTrue(false);  // Unreachable.
+}
+
+main() {
+  for (var i = 0; i < 20; i++) {
+    Expect.isTrue(test());
+  }
+}
+
diff --git a/tests/lib/lib.status b/tests/lib/lib.status
index 8d83a13..8f43474 100644
--- a/tests/lib/lib.status
+++ b/tests/lib/lib.status
@@ -396,8 +396,11 @@
 convert/utf85_test: Pass, Timeout
 
 [ $hot_reload || $hot_reload_rollback ]
+async/zone_debug_test: Skip # Issue 27803
+async/intercept_print1_test: Skip # Issue 27803
 async/multiple_timer_test: Pass, Fail # Timing related
 async/stream_transformer_test: Pass, Fail # Closure identity
+convert/json_toEncodable_reviver_test: Skip # Issue 27803
 mirrors/closurization_equivalence_test: SkipByDesign # Method equality
 mirrors/fake_function_with_call_test: SkipByDesign # Method equality
 
@@ -411,7 +414,6 @@
 mirrors/load_library_test: Crash # Deferred loading
 
 [ $hot_reload ]
-mirrors/metadata_scope_test/none: Fail # Constant equality - Issue 26868
 mirrors/generic_bounded_test/02: Fail # Type equality - Issue 26869
 mirrors/typedef_reflected_type_test/01: Fail # Type equality - Issue 26869
 mirrors/generic_bounded_by_type_parameter_test/02: Fail # Type equality - Issue 26869
diff --git a/tests/standalone/fixed_precision_double_test.dart b/tests/standalone/fixed_precision_double_test.dart
deleted file mode 100644
index 350bbc3..0000000
--- a/tests/standalone/fixed_precision_double_test.dart
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import "package:expect/expect.dart";
-
-bool testAssociativity(Function f) {
-  // Example from https://en.wikipedia.org/wiki/Floating_point
-  // Test that (a + b) + c == a + (b + c).
-  double a = f(1234.567);  // Chop literals.
-  double b = f(45.67834);
-  double c = f(0.0004);
-  double x = (a + b) + c;  // Chop result of multiplication or division only.
-  double y = a + (b + c);
-  print("x: $x");
-  print("y: $y");
-  return x == y;
-}
-
-bool testDistributivity(Function f) {
-  // Example from https://en.wikipedia.org/wiki/Floating_point
-  // Test that (a + b)*c == a*c + b*c.
-  double a = f(1234.567);  // Chop literals.
-  double b = f(1.234567);
-  double c = f(3.333333);
-  double x = f((a + b)*c);  // Chop result of multiplication.
-  double y = f(a*c) + f(b*c);
-  print("x: $x");
-  print("y: $y");
-  return x == y;
-}
-
-// Simulate precision checking with assert.
-assertP(double d) {
-  assert(d == d.p);
-}
-
-bool assertionsEnabled() {
-  try {
-    assert(false);
-    return false;
-  } on AssertionError catch (e) {
-    return true;
-  }
-  return false;
-}
-
-main() {
-  // The getter p keeps only 20 (by default) bits after the decimal point.
-  Expect.equals(0.0, 0.0.p);  // 0.0 has no 1-bit after the decimal point.
-  Expect.equals(1.5, 1.5.p);  // 1.5 has a single 1-bit after the decimal point.
-  Expect.notEquals(1.1, 1.1.p);  // 1.1 has many 1-bits after the decimal point.
-  Expect.notEquals(1/3, (1/3).p);  // 0.33333333... ditto.
-
-  Expect.equals(1.1 + 1/3, 1/3 + 1.1);  // Test addition commutativity.
-  Expect.equals(1.1.p + (1/3).p, (1/3).p + 1.1.p);
-  Expect.equals(1.1 * 1/3, 1/3 * 1.1);  // Test multiplication commutativity.
-  Expect.equals(1.1.p * (1/3).p, (1/3).p * 1.1.p);
-
-  print("Without chopping fractional bits:");
-  Expect.isFalse(testAssociativity((x) => x));
-  Expect.isFalse(testDistributivity((x) => x));
-  print("With chopping fractional bits:");
-  Expect.isTrue(testAssociativity((x) => x.p));
-  Expect.isTrue(testDistributivity((x) => x.p));
-
-  // Check that p works with NaN and Infinity.
-  Expect.isTrue(double.NAN.p.isNaN);
-  Expect.isTrue(double.INFINITY.p.isInfinite);
-  Expect.isFalse(double.INFINITY.p.isNegative);
-  Expect.isTrue(double.NEGATIVE_INFINITY.p.isInfinite);
-  Expect.isTrue(double.NEGATIVE_INFINITY.p.isNegative);
-
-  // Check use of assert to verify precision.
-  if (assertionsEnabled()) {
-    assertP(1.5);
-    assertP(1.1.p);
-    Expect.throws(() => assertP(1.1), (e) => e is AssertionError);
-    assertP(1.23456789.p);
-    Expect.throws(() => assertP(1.23456789), (e) => e is AssertionError);
-  }
-}
diff --git a/tests/standalone/standalone.status b/tests/standalone/standalone.status
index 85e68b6..866135b 100644
--- a/tests/standalone/standalone.status
+++ b/tests/standalone/standalone.status
@@ -16,13 +16,9 @@
 package/scenarios/empty_packages_file/empty_packages_file_option_test: Fail, OK # CompileTimeErrors intentionally
 package/scenarios/invalid/invalid_package_name_test: RuntimeError, CompileTimeError # Errors intentionally
 package/scenarios/invalid/same_package_twice_test.dart: RuntimeError, CompileTimeError # Errors intentionally
-full_coverage_test: Pass, Slow, Timeout
 
 issue14236_test: Pass # Do not remove this line. It serves as a marker for Issue 14516 comment #4.
 
-[ ($runtime != vm || $compiler != none) && $compiler != dartanalyzer && $compiler != dart2analyzer ]
-packages_file_test: Skip # Uses Platform.executable
-
 [ ($runtime != vm && $runtime != dart_precompiled && $runtime != dart_app) && ($runtime != drt || $compiler != none)) ]
 no_assert_test: Fail, OK # This is testing a vm flag.
 env_test: Skip # This is testing a vm command line parsing scenario.
@@ -67,7 +63,6 @@
 typed_data_isolate_test: SkipByDesign # This test uses dart:io
 io/*: SkipByDesign # Don't run tests using dart:io in the browser
 package/*: Skip # Do not run those in Dartium.
-full_coverage_test: Skip
 http_launch_test: Skip
 vmservice/*: SkipByDesign # Do not run standalone vm service tests in browser.
 issue14236_test: Skip # Issue 14236 Script snapshots do not work in the browser.
@@ -80,7 +75,6 @@
 
 [ $compiler == dartanalyzer || $compiler == dart2analyzer ]
 issue14236_test: Skip # Analyzer can't handle Script snapshots.
-fixed_precision_double_test: Skip # double p getter only implemented in VM.
 
 # test issue https://code.google.com/p/dart/issues/detail?id=11518
 io/file_constructor_test: fail
@@ -105,7 +99,6 @@
 package/package_test: Fail, OK # dart2js does not support 'package:foo.dart' imports
 package/package1_test: Fail, OK # dart2js does not support 'package:foo.dart' imports
 package/scenarios/invalid/*: CompileTimeError  # Negative tests expecting CompileTimeErrors.
-full_coverage_test: Skip
 left_shift_bit_and_op_test: Skip # Integers exceed dart2js precision.
 pow_test: Skip # Precision > 53 bits.
 double_smi_comparison_test: Skip # Precision > 53 bits.
@@ -117,7 +110,6 @@
 pair_location_remapping_test: Skip
 regress_25335_test: Skip # Int64List not supported.
 deferred_transitive_import_error_test: Skip # Contains intentional errors.
-fixed_precision_double_test: Skip # double p getter only implemented in VM.
 
 [ $compiler == dart2js && $cps_ir && $checked ]
 *: Skip # `assert` not implemented
@@ -163,7 +155,6 @@
 [ $arch == mips && $mode == debug ]
 io/web_socket_test: SkipSlow # Times out. Issue 20352
 io/test_runner_test: Skip # Flakily times out in a subtest. Issue 201351
-full_coverage_test: SkipSlow # Times out. Issue 20352
 io/http_client_stays_alive_test: Skip # Timing dependent test, MIPS machine too slow.
 
 [ $compiler == none && $runtime == dartium && $unchecked ]
@@ -206,7 +197,6 @@
 io/sleep_test: Pass, Fail # Issue 25757
 
 [ ($runtime == vm || $runtime == dart_precompiled || $runtime == dart_app) && $mode == debug && $builder_tag == asan ]
-full_coverage_test: Skip  # Timeout.
 io/file_lock_test: Skip  # Timeout.
 io/test_runner_test: Skip  # Timeout.
 io/http_client_stays_alive_test: Skip  # Timeout.
@@ -229,56 +219,56 @@
 map_insert_remove_oom_test: Skip # Heap limit too low. Increasing iteration count to make a higher limit a meaningful test makes it too slow for simarm[64] bots.
 io/web_socket_test: Pass, RuntimeError # Issue 24674
 
-[ $noopt || $compiler == precompiler || $compiler == dart2app || $compiler == dart2appjit ]
-io/test_extension_test: Skip # Platform.executable
-io/test_extension_fail_test: Skip # Platform.executable
-io/platform_test: Skip # Platform.executable
-io/code_collection_test: Skip # Platform.executable
-full_coverage_test: Skip # Platform.executable
-regress_26031_test: Skip # Platform.resolvedExecutable
-
 [ $compiler == precompiler || $compiler == dart2app || $compiler == dart2appjit ]
 io/compile_all_test: Skip # Incompatible flag --compile_all
 
 [ $runtime == dart_app ]
 io/stdout_bad_argument_test: Skip # Test exits and so can't generate snapshot.
+io/directory_list_sync_test: Skip # Snapshot path differs from script path.
+io/test_extension_test: Skip # Snapshot path differs from script path.
+io/test_extension_fail_test: Skip # Snapshot path differs from script path.
+io/platform_test: Skip # Snapshot path differs from script path.
 
 [ $runtime == dart_precompiled ]
-full_coverage_test: Skip # Platform.executable
-http_launch_test: Skip # Platform.executable
-io/addlatexhash_test: Skip # Platform.executable
-io/file_read_special_device_test: Skip # Platform.executable
-io/file_stream_test: Skip # Platform.executable
-io/file_test: Skip # Platform.executable
-io/http_cross_process_test: Skip # Platform.executable
-io/https_unauthorized_test: Skip # Platform.executable
-io/platform_resolved_executable_test: Skip # Platform.resolvedExecutable
-io/skipping_dart2js_compilations_test: Skip # Platform.executable
-io/snapshot_fail_test: Skip # Platform.executable
-io/stdin_sync_test: Skip # Platform.executable
-io/test_extension_fail_test: Skip # Platform.executable
-io/file_read_special_device_test: Skip # Platform.executable
-verbose_gc_to_bmu_test: Skip # Platform.executable
-io/http_server_close_response_after_error_test: Skip # Platform.executable
-io/http_client_stays_alive_test: Skip # Platform.executable
-io/print_sync_test: Skip # Platform.executable
-io/signals_test: Skip # Platform.executable
-io/stdio_implicit_close_test: Skip # Platform.executable
-io/stdio_nonblocking_test: Skip # Platform.executable
-io/regress_7191_test: Skip # Platform.executable
-io/secure_unauthorized_test: Skip # Platform.executable
-io/dart_std_io_pipe_test: Skip # Platform.executable
-io/platform_test: Skip # Platform.executable
-io/socket_cross_process_test: Skip # Platform.executable
-io/test_runner_test: Skip # Platform.executable
-io/file_lock_test: Skip # Platform.executable
-io/code_collection_test: Skip # Platform.executable
-io/file_blocking_lock_test: Skip # Platform.executable
-io/raw_socket_cross_process_test: Skip # Platform.executable
-io/test_extension_test: Skip # Platform.executable
-io/named_pipe_script_test: Skip # Platform.executable
-io/regress_7679_test: Skip # Platform.executable
-io/process_*: Skip # Most use Platform.executable
+# These tests attempt to spawn another script using the precompiled runtime.
+http_launch_test: Skip
+io/addlatexhash_test: Skip
+io/dart_std_io_pipe_test: Skip
+io/dart_std_io_pipe_test: Skip
+io/file_blocking_lock_test: Skip
+io/file_lock_test: Skip
+io/file_read_special_device_test: Skip
+io/http_client_stays_alive_test: Skip
+io/http_response_deadline_test: Skip
+io/http_server_close_response_after_error_test: Skip
+io/https_unauthorized_test: Skip
+io/named_pipe_script_test: Skip
+io/print_sync_test: Skip
+io/process_check_arguments_test: Skip
+io/process_detached_test: Skip
+io/process_environment_test: Skip
+io/process_non_ascii_test: Skip
+io/process_run_output_test: Skip
+io/process_set_exit_code_test: Skip
+io/process_shell_test: Skip
+io/process_stderr_test: Skip
+io/process_stdin_transform_unsubscribe_test: Skip
+io/process_stdout_test: Skip
+io/process_sync_test: Skip
+io/raw_datagram_socket_test: Skip
+io/regress_7191_test: Skip
+io/regress_7679_test: Skip
+io/secure_unauthorized_test: Skip
+io/signals_test: Skip
+io/stdin_sync_test: Skip
+io/stdio_implicit_close_test: Skip
+io/stdio_nonblocking_test: Skip
+io/test_extension_test: Skip
+io/test_extension_fail_test: Skip
+verbose_gc_to_bmu_test: Skip
+
+io/platform_test: RuntimeError # Expects to be running from 'dart' instead of 'dart_precompiled_runtime'
+io/directory_list_sync_test: Timeout, Skip # Expects to find the test directory relative to the script.
 
 [ $runtime == dart_precompiled || $mode == product ]
 io/skipping_dart2js_compilations_test: CompileTimeError # Imports dart:mirrors
@@ -290,10 +280,6 @@
 no_assert_test: SkipByDesign # Requires checked mode.
 io/code_collection_test: Skip # Incompatible flags
 
-# Code coverage is not supported in product mode.
-[ $mode == product ]
-full_coverage_test: SkipByDesign
-
 # Overriding these flags are not supported in product mode.
 [ $mode == product ]
 no_profiler_test: SkipByDesign
@@ -317,9 +303,6 @@
 package/scenarios/packages_option_only/packages_option_only_test: Skip
 
 [ $arch == simdbc || $arch == simdbc64 ]
-# TODO(vegorov) SIMDBC interpreter doesn't support coverage yet.
-full_coverage_test: Skip
-
 # SIMDBC interpreter doesn't support lazy linking of natives.
 link_natives_lazily_test: SkipByDesign
 
diff --git a/tools/VERSION b/tools/VERSION
index bbdce97..4b02ee1e 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -28,5 +28,5 @@
 MAJOR 1
 MINOR 21
 PATCH 0
-PRERELEASE 5
+PRERELEASE 6
 PRERELEASE_PATCH 0
diff --git a/tools/bots/ddc_tests.py b/tools/bots/ddc_tests.py
index 73f8f4a..fc6830f 100644
--- a/tools/bots/ddc_tests.py
+++ b/tools/bots/ddc_tests.py
@@ -21,6 +21,12 @@
 CHANNEL = bot_utils.GetChannelFromName(bot_name)
 
 if __name__ == '__main__':
-  print "This step should run dartdevc tests"
-  print "Current directory when running on a bot should be"
-  print "/b/build/slave/[builder name]/build/sdk"
+  with utils.ChangedWorkingDirectory('pkg/dev_compiler'):
+    with bot.BuildStep('npm install'):
+      bot.RunProcess(['npm', 'install'])
+
+    with bot.BuildStep('Compile tests and run unit tests'):
+      bot.RunProcess([utils.CheckedInSdkExecutable(), 'test/all_tests.dart'])
+
+    with bot.BuildStep('Execute compiled tests'):
+      bot.RunProcess(['npm', 'test'])
diff --git a/tools/bots/gn_tests.py b/tools/bots/gn_tests.py
old mode 100644
new mode 100755
index cd7ffaa..1f44d69
--- a/tools/bots/gn_tests.py
+++ b/tools/bots/gn_tests.py
@@ -20,6 +20,18 @@
       + argv[1:])
   if build_result != 0:
     return build_result
+  build_result = subprocess.call(
+      ['python', test_py, '--builder-tag=no_ipv6',
+       '-cdart2js', '-rd8', '--use-sdk', 'language/first']
+      + argv[1:])
+  if build_result != 0:
+    return build_result
+  build_result = subprocess.call(
+      ['python', test_py, '--builder-tag=no_ipv6',
+       '-cdart2analyzer', '-rnone', '--use-sdk', 'language/first']
+      + argv[1:])
+  if build_result != 0:
+    return build_result
   return 0
 
 if __name__ == '__main__':
diff --git a/tools/dart_for_gn.py b/tools/dart_for_gn.py
deleted file mode 100755
index 2e6871d..0000000
--- a/tools/dart_for_gn.py
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env python
-# Copyright 2016 The Dart project authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# Usage: dart_for_gn.py path_to_dart_binary [arguments]
-#
-# We have gn set up so that actions can only run python scripts.
-# We use this wrapper script when we need an action to run the Dart VM
-# The first command line argument is mandatory and should be the absolute path
-# to the Dart VM binary.
-
-import subprocess
-import sys
-
-def run_command(command):
-  try:
-    subprocess.check_output(command, stderr=subprocess.STDOUT)
-    return 0
-  except subprocess.CalledProcessError as e:
-    return ("Command failed: " + ' '.join(command) + "\n" +
-            "output: " + e.output)
-
-def main(argv):
-  if len(argv) < 2:
-    print "Requires path to Dart VM binary as first argument"
-    return -1
-  result = run_command(argv[1:])
-  if result != 0:
-    print result
-    return -1
-  return 0
-
-if __name__ == '__main__':
-    sys.exit(main(sys.argv))
diff --git a/tools/gn.py b/tools/gn.py
index 0a385f3..2ff3bc2 100755
--- a/tools/gn.py
+++ b/tools/gn.py
@@ -87,8 +87,14 @@
   gn_args['dart_use_tcmalloc'] = (gn_args['target_os'] == 'linux'
                                   and not args.asan)
 
-  if gn_args['target_cpu'].startswith('arm'):
+  # Force -mfloat-abi=hard and -mfpu=neon on Linux as we're specifying
+  # a gnueabihf compiler in //build/toolchain/linux BUILD.gn.
+  # TODO(zra): This will likely need some adjustment to build for armv6 etc.
+  hard_float = (gn_args['target_cpu'].startswith('arm') and
+                gn_args['target_os'] == 'linux')
+  if hard_float:
     gn_args['arm_float_abi'] = 'hard'
+    gn_args['arm_use_neon'] = True
 
   gn_args['is_debug'] = mode == 'debug'
   gn_args['is_release'] = mode == 'release'
diff --git a/tools/gypi_to_gn.py b/tools/gypi_to_gn.py
index ca62a12..7cb1190 100755
--- a/tools/gypi_to_gn.py
+++ b/tools/gypi_to_gn.py
@@ -3,9 +3,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-"""Converts a given gypi file to a python scope and writes the result to stdout.
+"""Converts given gypi files to a python scope and writes the result to stdout.
 
-It is assumed that the file contains a toplevel dictionary, and this script
+It is assumed that the files contain a toplevel dictionary, and this script
 will return that dictionary as a GN "scope" (see example below). This script
 does not know anything about GYP and it will not expand variables or execute
 conditions.
@@ -22,10 +22,11 @@
   }
 
 You would call it like this:
+  gypi_files = [ "your_file.gypi", "your_other_file.gypi" ]
   gypi_values = exec_script("//build/gypi_to_gn.py",
-                            [ rebase_path("your_file.gypi") ],
+                            [ rebase_path(gypi_files) ],
                             "scope",
-                            [ "your_file.gypi" ])
+                            [ gypi_files ])
 
 Notes:
  - The rebase_path call converts the gypi file from being relative to the
@@ -41,14 +42,14 @@
 
 Read the values into a target like this:
   component("mycomponent") {
-    sources = gypi_values.sources
-    defines = gypi_values.defines
+    sources = gypi_values.your_file_sources
+    defines = gypi_values.your_file_defines
   }
 
 Sometimes your .gypi file will include paths relative to a different
 directory than the current .gn file. In this case, you can rebase them to
 be relative to the current directory.
-  sources = rebase_path(gypi_values.sources, ".",
+  sources = rebase_path(gypi_values.your_files_sources, ".",
                         "//path/gypi/input/values/are/relative/to")
 
 This script will tolerate a 'variables' in the toplevel dictionary or not. If
@@ -73,6 +74,7 @@
 import gn_helpers
 from optparse import OptionParser
 import sys
+import os.path
 
 def LoadPythonDictionary(path):
   file_string = open(path).read()
@@ -105,30 +107,6 @@
   return file_data
 
 
-def ReplaceSubstrings(values, search_for, replace_with):
-  """Recursively replaces substrings in a value.
-
-  Replaces all substrings of the "search_for" with "repace_with" for all
-  strings occurring in "values". This is done by recursively iterating into
-  lists as well as the keys and values of dictionaries."""
-  if isinstance(values, str):
-    return values.replace(search_for, replace_with)
-
-  if isinstance(values, list):
-    return [ReplaceSubstrings(v, search_for, replace_with) for v in values]
-
-  if isinstance(values, dict):
-    # For dictionaries, do the search for both the key and values.
-    result = {}
-    for key, value in values.items():
-      new_key = ReplaceSubstrings(key, search_for, replace_with)
-      new_value = ReplaceSubstrings(value, search_for, replace_with)
-      result[new_key] = new_value
-    return result
-
-  # Assume everything else is unchanged.
-  return values
-
 def KeepOnly(values, filters):
   """Recursively filters out strings not ending in "f" from "values"""
 
@@ -147,37 +125,41 @@
 
 def main():
   parser = OptionParser()
-  parser.add_option("-r", "--replace", action="append",
-    help="Replaces substrings. If passed a=b, replaces all substrs a with b.")
   parser.add_option("-k", "--keep_only", default = [], action="append",
     help="Keeps only files ending with the listed strings.")
+  parser.add_option("--prefix", action="store_true",
+    help="Prefix variables with base name")
   (options, args) = parser.parse_args()
 
-  if len(args) != 1:
-    raise Exception("Need one argument which is the .gypi file to read.")
+  if len(args) < 1:
+    raise Exception("Need at least one .gypi file to read.")
 
-  data = LoadPythonDictionary(args[0])
-  if options.replace:
-    # Do replacements for all specified patterns.
-    for replace in options.replace:
-      split = replace.split('=')
-      # Allow "foo=" to replace with nothing.
-      if len(split) == 1:
-        split.append('')
-      assert len(split) == 2, "Replacement must be of the form 'key=value'."
-      data = ReplaceSubstrings(data, split[0], split[1])
+  data = {}
 
-  if options.keep_only != []:
-    data = KeepOnly(data, options.keep_only)
+  for gypi in args:
+    gypi_data = LoadPythonDictionary(gypi)
 
-  # Sometimes .gypi files use the GYP syntax with percents at the end of the
-  # variable name (to indicate not to overwrite a previously-defined value):
-  #   'foo%': 'bar',
-  # Convert these to regular variables.
-  for key in data:
-    if len(key) > 1 and key[len(key) - 1] == '%':
-      data[key[:-1]] = data[key]
-      del data[key]
+    if options.keep_only != []:
+      gypi_data = KeepOnly(gypi_data, options.keep_only)
+
+    # Sometimes .gypi files use the GYP syntax with percents at the end of the
+    # variable name (to indicate not to overwrite a previously-defined value):
+    #   'foo%': 'bar',
+    # Convert these to regular variables.
+    for key in gypi_data:
+      if len(key) > 1 and key[len(key) - 1] == '%':
+        gypi_data[key[:-1]] = gypi_data[key]
+        del gypi_data[key]
+    gypi_name = os.path.basename(gypi)[:-len(".gypi")]
+    for key in gypi_data:
+      if options.prefix:
+        # Prefix all variables from this gypi file with the name to disambiguate
+        data[gypi_name + "_" + key] = gypi_data[key]
+      elif key in data:
+        for entry in gypi_data[key]:
+            data[key].append(entry)
+      else:
+        data[key] = gypi_data[key]
 
   print gn_helpers.ToGNString(data)
 
diff --git a/tools/process_gypis.py b/tools/process_gypis.py
new file mode 100755
index 0000000..b74ce2c
--- /dev/null
+++ b/tools/process_gypis.py
@@ -0,0 +1,69 @@
+#!/usr/bin/env python
+# Copyright 2016, the Dart project authors.  Please see the AUTHORS file
+# for details. All rights reserved. Use of this source code is governed by a
+# BSD-style license that can be found in the LICENSE file.
+
+import gn_helpers
+import os.path
+import sys
+
+# Given a list of dart package names read in the set of runtime and sdk library
+# sources into variables in a gn scope.
+
+
+def LoadPythonDictionary(path):
+  file_string = open(path).read()
+  try:
+    file_data = eval(file_string, {'__builtins__': None}, None)
+  except SyntaxError, e:
+    e.filename = path
+    raise
+  except Exception, e:
+    raise Exception('Unexpected error while reading %s: %s' %
+                    (path, str(e)))
+
+  assert isinstance(
+    file_data, dict), '%s does not eval to a dictionary' % path
+  return file_data
+
+
+def main():
+  dart_root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+  runtime_dir = os.path.join(dart_root_dir, 'runtime')
+  runtime_lib_dir = os.path.join(runtime_dir, 'lib')
+  sdk_lib_dir = os.path.join(dart_root_dir, 'sdk', 'lib')
+  libs = sys.argv[1:]
+  data = {}
+  data['allsources'] = []
+
+  for lib in libs:
+    runtime_path = os.path.join(runtime_lib_dir, lib + '_sources.gypi')
+    sdk_path = os.path.join(sdk_lib_dir, lib, lib + '_sources.gypi')
+    runtime_dict = LoadPythonDictionary(runtime_path)
+    for source in runtime_dict['sources']:
+      data['allsources'].append(source)
+    data[lib + '_runtime_sources'] = runtime_dict['sources']
+    sdk_dict = LoadPythonDictionary(sdk_path)
+    data[lib + '_sdk_sources'] = sdk_dict['sources']
+
+  vm_sources_path = os.path.join(runtime_dir, 'vm', 'vm_sources.gypi')
+  vm_sources_dict = LoadPythonDictionary(vm_sources_path)
+  data['vm_sources'] = vm_sources_dict['sources']
+
+  platform_sources_base = os.path.join(runtime_dir, 'platform', 'platform_')
+  platform_headers_dict = LoadPythonDictionary(
+      platform_sources_base + 'headers.gypi')
+  platform_sources_dict = LoadPythonDictionary(
+      platform_sources_base + 'sources.gypi')
+  data['platform_sources'] = platform_headers_dict[
+      'sources'] + platform_sources_dict['sources']
+
+  bin_io_sources_path = os.path.join(runtime_dir, 'bin', 'io_sources.gypi')
+  bin_io_sources_dict = LoadPythonDictionary(bin_io_sources_path)
+  data['bin_io_sources'] = bin_io_sources_dict['sources']
+
+  print gn_helpers.ToGNString(data)
+  return 0
+
+if __name__ == '__main__':
+  sys.exit(main())
diff --git a/utils/analysis_server/BUILD.gn b/utils/analysis_server/BUILD.gn
index 032a086..9359e2c 100644
--- a/utils/analysis_server/BUILD.gn
+++ b/utils/analysis_server/BUILD.gn
@@ -2,7 +2,7 @@
 # for details. All rights reserved. Use of this source code is governed by a
 # BSD-style license that can be found in the LICENSE file.
 
-import("../invoke_dart.gni")
+import("../application_snapshot.gni")
 
 application_snapshot("analysis_server") {
   main_dart = "../../pkg/analysis_server/bin/server.dart"
diff --git a/utils/application_snapshot.gni b/utils/application_snapshot.gni
new file mode 100644
index 0000000..0f36737
--- /dev/null
+++ b/utils/application_snapshot.gni
@@ -0,0 +1,51 @@
+# Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+# for details. All rights reserved. Use of this source code is governed by a
+# BSD-style license that can be found in the LICENSE file.
+
+import("//build/compiled_action.gni")
+
+_dart_root = rebase_path("..")
+
+template("application_snapshot") {
+  assert(defined(invoker.main_dart), "Must specify 'main_dart'")
+  assert(defined(invoker.training_args), "Must specify 'training_args'")
+  main_dart = invoker.main_dart
+  training_args = invoker.training_args
+  name = target_name
+  if (defined(invoker.name)) {
+    name = invoker.name
+  }
+  extra_deps = []
+  if (defined(invoker.deps)) {
+    extra_deps += invoker.deps
+  }
+  extra_inputs = []
+  if (defined(invoker.inputs)) {
+    extra_inputs += invoker.inputs
+  }
+  compiled_action(target_name) {
+    tool = get_path_info("$_dart_root/runtime/bin:dart", "abspath")
+    deps = extra_deps + [ "$_dart_root/pkg:pkg_files_stamp" ]
+
+    inputs = extra_inputs + [
+               "$_dart_root/sdk/lib/_internal/sdk_library_metadata/lib/libraries.dart",
+               "$root_gen_dir/pkg_files.stamp",
+             ]
+
+    output = "$root_gen_dir/$name.dart.snapshot"
+    outputs = [
+      output,
+    ]
+
+    dot_packages = rebase_path("$_dart_root/.packages")
+    abs_output = rebase_path(output)
+    main_file = rebase_path(main_dart)
+
+    args = [
+             "--packages=$dot_packages",
+             "--snapshot=$abs_output",
+             "--snapshot-kind=app-jit",
+             main_file,
+           ] + training_args
+  }
+}
diff --git a/utils/compiler/BUILD.gn b/utils/compiler/BUILD.gn
index e13cea2..c0e428d 100644
--- a/utils/compiler/BUILD.gn
+++ b/utils/compiler/BUILD.gn
@@ -2,8 +2,9 @@
 # for details. All rights reserved. Use of this source code is governed by a
 # BSD-style license that can be found in the LICENSE file.
 
+import("//build/compiled_action.gni")
 import("../create_timestamp.gni")
-import("../invoke_dart.gni")
+import("../application_snapshot.gni")
 
 create_timestamp_file("dart2js_files_stamp") {
   path = rebase_path("../../pkg/compiler/lib")
@@ -20,7 +21,8 @@
   output = "$target_gen_dir/dartdoc_files.stamp"
 }
 
-invoke_dart("dart2js_create_snapshot_entries") {
+compiled_action("dart2js_create_snapshot_entries") {
+  tool = "../../runtime/bin:dart"
   deps = [
     ":dart2js_files_stamp",
     ":dartdoc_files_stamp",
diff --git a/utils/dartanalyzer/BUILD.gn b/utils/dartanalyzer/BUILD.gn
index e4d4a62..dbefeec 100644
--- a/utils/dartanalyzer/BUILD.gn
+++ b/utils/dartanalyzer/BUILD.gn
@@ -2,7 +2,8 @@
 # for details. All rights reserved. Use of this source code is governed by a
 # BSD-style license that can be found in the LICENSE file.
 
-import("../invoke_dart.gni")
+import("//build/compiled_action.gni")
+import("../application_snapshot.gni")
 
 group("dartanalyzer") {
   deps = [
@@ -37,7 +38,8 @@
   assert(defined(invoker.type), "Must specify the summary type")
   type = invoker.type
   assert(type == "spec" || type == "strong")
-  invoke_dart(target_name) {
+  compiled_action(target_name) {
+    tool = "../../runtime/bin:dart"
     inputs = sdk_lib_files + analyzer_files
 
     output = "$root_gen_dir/$type.sum"
diff --git a/utils/dartdevc/BUILD.gn b/utils/dartdevc/BUILD.gn
index 34aaf88..0c93423 100644
--- a/utils/dartdevc/BUILD.gn
+++ b/utils/dartdevc/BUILD.gn
@@ -2,7 +2,7 @@
 # for details. All rights reserved. Use of this source code is governed by a
 # BSD-style license that can be found in the LICENSE file.
 
-import("../invoke_dart.gni")
+import("../application_snapshot.gni")
 
 application_snapshot("dartdevc") {
   main_dart = "../../pkg/dev_compiler/bin/dartdevc.dart"
diff --git a/utils/dartdoc/BUILD.gn b/utils/dartdoc/BUILD.gn
index d7fa984..6abdc9a 100644
--- a/utils/dartdoc/BUILD.gn
+++ b/utils/dartdoc/BUILD.gn
@@ -2,7 +2,7 @@
 # for details. All rights reserved. Use of this source code is governed by a
 # BSD-style license that can be found in the LICENSE file.
 
-import("../invoke_dart.gni")
+import("../application_snapshot.gni")
 
 application_snapshot("dartdoc") {
   main_dart = "../../third_party/pkg/dartdoc/bin/dartdoc.dart"
diff --git a/utils/dartfmt/BUILD.gn b/utils/dartfmt/BUILD.gn
index bb875f0..41c5bc4 100644
--- a/utils/dartfmt/BUILD.gn
+++ b/utils/dartfmt/BUILD.gn
@@ -2,7 +2,7 @@
 # for details. All rights reserved. Use of this source code is governed by a
 # BSD-style license that can be found in the LICENSE file.
 
-import("../invoke_dart.gni")
+import("../application_snapshot.gni")
 
 application_snapshot("dartfmt") {
   main_dart = "../../third_party/pkg_tested/dart_style/bin/format.dart"
diff --git a/utils/invoke_dart.gni b/utils/invoke_dart.gni
deleted file mode 100644
index bc4747a..0000000
--- a/utils/invoke_dart.gni
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
-# for details. All rights reserved. Use of this source code is governed by a
-# BSD-style license that can be found in the LICENSE file.
-
-_dart_root = rebase_path("..")
-
-if (defined(is_win) && is_win) {
-  dart_executable_suffix = ".exe"
-} else {
-  dart_executable_suffix = ""
-}
-
-template("invoke_dart") {
-  assert(defined(invoker.outputs), "invoke_dart must specify outputs")
-  extra_deps = []
-  if (defined(invoker.deps)) {
-    extra_deps += invoker.deps
-  }
-
-  extra_inputs = []
-  if (defined(invoker.inputs)) {
-    extra_inputs += invoker.inputs
-  }
-
-  extra_args = []
-  if (defined(invoker.args)) {
-    extra_args += invoker.args
-  }
-
-  action(target_name) {
-    relative_dart_root = rebase_path(_dart_root, ".")
-    deps =
-        extra_deps + [ "$relative_dart_root/runtime/bin:dart($host_toolchain)" ]
-
-    dart_out_dir =
-        get_label_info("$relative_dart_root/runtime/bin:dart($host_toolchain)",
-                       "root_out_dir")
-    dart = rebase_path("$dart_out_dir/dart$dart_executable_suffix")
-
-    inputs = [ dart ] + extra_inputs
-
-    outputs = invoker.outputs
-
-    script = "$_dart_root/tools/dart_for_gn.py"
-    args = [ dart ] + extra_args
-  }
-}
-
-template("application_snapshot") {
-  assert(defined(invoker.main_dart), "Must specify 'main_dart'")
-  assert(defined(invoker.training_args), "Must specify 'training_args'")
-  main_dart = invoker.main_dart
-  training_args = invoker.training_args
-  name = target_name
-  if (defined(invoker.name)) {
-    name = invoker.name
-  }
-  extra_deps = []
-  if (defined(invoker.deps)) {
-    extra_deps += invoker.deps
-  }
-  extra_inputs = []
-  if (defined(invoker.inputs)) {
-    extra_inputs += invoker.inputs
-  }
-  invoke_dart(target_name) {
-    deps = extra_deps + [ "$_dart_root/pkg:pkg_files_stamp" ]
-
-    inputs = extra_inputs + [
-               "$_dart_root/sdk/lib/_internal/sdk_library_metadata/lib/libraries.dart",
-               "$root_gen_dir/pkg_files.stamp",
-             ]
-
-    output = "$root_gen_dir/$name.dart.snapshot"
-    outputs = [
-      output,
-    ]
-
-    dot_packages = rebase_path("$_dart_root/.packages")
-    abs_output = rebase_path(output)
-    main_file = rebase_path(main_dart)
-
-    args = [
-             "--packages=$dot_packages",
-             "--snapshot=$abs_output",
-             "--snapshot-kind=app-jit",
-             main_file,
-           ] + training_args
-  }
-}
diff --git a/utils/pub/BUILD.gn b/utils/pub/BUILD.gn
index d1238cd..82669cb 100644
--- a/utils/pub/BUILD.gn
+++ b/utils/pub/BUILD.gn
@@ -2,7 +2,7 @@
 # for details. All rights reserved. Use of this source code is governed by a
 # BSD-style license that can be found in the LICENSE file.
 
-import("../invoke_dart.gni")
+import("../application_snapshot.gni")
 
 application_snapshot("pub") {
   main_dart = "../../third_party/pkg/pub/bin/pub.dart"