[vm/compiler] Support UnboxedDouble representation in unoptimized code

In the unoptimized code unboxed double inputs are now unboxed in the
instruction prologue, and unboxed double output is boxed in the
instruction epilogue. Double values are still always boxed on the
expression stack in the unoptimized mode.

Support for unboxed doubles in unoptimized code allows us to have
one implementation of double and dart:math built-in functions,
shared across optimized and unoptimized modes.

TEST=ci
Issue: https://github.com/dart-lang/sdk/issues/46650
Change-Id: Ic1e42b72ee80cb2c12019b7abab8111240b05efd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211302
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
diff --git a/runtime/vm/compiler/assembler/assembler_arm.h b/runtime/vm/compiler/assembler/assembler_arm.h
index c41b62d..025bd56 100644
--- a/runtime/vm/compiler/assembler/assembler_arm.h
+++ b/runtime/vm/compiler/assembler/assembler_arm.h
@@ -1040,6 +1040,12 @@
                       Register base,
                       int32_t offset,
                       Condition cond = AL);
+  void LoadUnboxedDouble(FpuRegister dst, Register base, int32_t offset) {
+    LoadDFromOffset(EvenDRegisterOf(dst), base, offset);
+  }
+  void StoreUnboxedDouble(FpuRegister src, Register base, int32_t offset) {
+    StoreDToOffset(EvenDRegisterOf(src), base, offset);
+  }
 
   void LoadMultipleDFromOffset(DRegister first,
                                intptr_t count,
diff --git a/runtime/vm/compiler/assembler/assembler_arm64.h b/runtime/vm/compiler/assembler/assembler_arm64.h
index 596ee9d..4f8c93b 100644
--- a/runtime/vm/compiler/assembler/assembler_arm64.h
+++ b/runtime/vm/compiler/assembler/assembler_arm64.h
@@ -1808,6 +1808,13 @@
     StoreQToOffset(src, base, offset - kHeapObjectTag);
   }
 
+  void LoadUnboxedDouble(FpuRegister dst, Register base, int32_t offset) {
+    LoadDFromOffset(dst, base, offset);
+  }
+  void StoreUnboxedDouble(FpuRegister src, Register base, int32_t offset) {
+    StoreDToOffset(src, base, offset);
+  }
+
   void LoadCompressed(Register dest, const Address& slot);
   void LoadCompressedFromOffset(Register dest, Register base, int32_t offset);
   void LoadCompressedSmi(Register dest, const Address& slot);
diff --git a/runtime/vm/compiler/assembler/assembler_ia32.h b/runtime/vm/compiler/assembler/assembler_ia32.h
index 3726cbc..24256d6 100644
--- a/runtime/vm/compiler/assembler/assembler_ia32.h
+++ b/runtime/vm/compiler/assembler/assembler_ia32.h
@@ -654,6 +654,12 @@
   void StoreMemoryValue(Register src, Register base, int32_t offset) {
     movl(Address(base, offset), src);
   }
+  void LoadUnboxedDouble(FpuRegister dst, Register base, int32_t offset) {
+    movsd(dst, Address(base, offset));
+  }
+  void StoreUnboxedDouble(FpuRegister src, Register base, int32_t offset) {
+    movsd(Address(base, offset), src);
+  }
   void LoadAcquire(Register dst, Register address, int32_t offset = 0) {
     // On intel loads have load-acquire behavior (i.e. loads are not re-ordered
     // with other loads).
diff --git a/runtime/vm/compiler/assembler/assembler_x64.h b/runtime/vm/compiler/assembler/assembler_x64.h
index 27b45dd..f14cd1e 100644
--- a/runtime/vm/compiler/assembler/assembler_x64.h
+++ b/runtime/vm/compiler/assembler/assembler_x64.h
@@ -1027,6 +1027,12 @@
   void StoreMemoryValue(Register src, Register base, int32_t offset) {
     movq(Address(base, offset), src);
   }
+  void LoadUnboxedDouble(FpuRegister dst, Register base, int32_t offset) {
+    movsd(dst, Address(base, offset));
+  }
+  void StoreUnboxedDouble(FpuRegister src, Register base, int32_t offset) {
+    movsd(Address(base, offset), src);
+  }
 
 #if defined(USING_THREAD_SANITIZER)
   void TsanLoadAcquire(Address addr);
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler.cc b/runtime/vm/compiler/backend/flow_graph_compiler.cc
index 58a9649..fc99bfc 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler.cc
@@ -564,7 +564,7 @@
 
 static bool IsPusher(Instruction* instr) {
   if (auto def = instr->AsDefinition()) {
-    return def->HasTemp();
+    return def->HasTemp() && (instr->representation() == kTagged);
   }
   return false;
 }
@@ -1566,6 +1566,18 @@
   return kNoRegister;
 }
 
+// Allocate a FPU register that is not explictly blocked.
+static FpuRegister AllocateFreeFpuRegister(bool* blocked_registers) {
+  for (intptr_t regno = 0; regno < kNumberOfFpuRegisters; regno++) {
+    if (!blocked_registers[regno]) {
+      blocked_registers[regno] = true;
+      return static_cast<FpuRegister>(regno);
+    }
+  }
+  UNREACHABLE();
+  return kNoFpuRegister;
+}
+
 void FlowGraphCompiler::AllocateRegistersLocally(Instruction* instr) {
   ASSERT(!is_optimizing());
   instr->InitializeLocationSummary(zone(), false);  // Not optimizing.
@@ -1573,13 +1585,15 @@
   LocationSummary* locs = instr->locs();
 
   bool blocked_registers[kNumberOfCpuRegisters];
+  bool blocked_fpu_registers[kNumberOfFpuRegisters];
 
   // Connect input with peephole output for some special cases. All other
   // cases are handled by simply allocating registers and generating code.
   if (top_of_stack_ != nullptr) {
     const intptr_t p = locs->input_count() - 1;
     Location peephole = top_of_stack_->locs()->out(0);
-    if (locs->in(p).IsUnallocated() || locs->in(p).IsConstant()) {
+    if ((instr->RequiredInputRepresentation(p) == kTagged) &&
+        (locs->in(p).IsUnallocated() || locs->in(p).IsConstant())) {
       // If input is unallocated, match with an output register, if set. Also,
       // if input is a direct constant, but the peephole output is a register,
       // use that register to avoid wasting the already generated code.
@@ -1594,6 +1608,9 @@
   for (intptr_t i = 0; i < kNumberOfCpuRegisters; i++) {
     blocked_registers[i] = (kDartAvailableCpuRegs & (1 << i)) == 0;
   }
+  for (intptr_t i = 0; i < kNumberOfFpuRegisters; i++) {
+    blocked_fpu_registers[i] = false;
+  }
 
   // Mark all fixed input, temp and output registers as used.
   for (intptr_t i = 0; i < locs->input_count(); i++) {
@@ -1602,6 +1619,10 @@
       // Check that a register is not specified twice in the summary.
       ASSERT(!blocked_registers[loc.reg()]);
       blocked_registers[loc.reg()] = true;
+    } else if (loc.IsFpuRegister()) {
+      // Check that a register is not specified twice in the summary.
+      ASSERT(!blocked_fpu_registers[loc.fpu_reg()]);
+      blocked_fpu_registers[loc.fpu_reg()] = true;
     }
   }
 
@@ -1611,6 +1632,10 @@
       // Check that a register is not specified twice in the summary.
       ASSERT(!blocked_registers[loc.reg()]);
       blocked_registers[loc.reg()] = true;
+    } else if (loc.IsFpuRegister()) {
+      // Check that a register is not specified twice in the summary.
+      ASSERT(!blocked_fpu_registers[loc.fpu_reg()]);
+      blocked_fpu_registers[loc.fpu_reg()] = true;
     }
   }
 
@@ -1618,23 +1643,50 @@
     // Fixed output registers are allowed to overlap with
     // temps and inputs.
     blocked_registers[locs->out(0).reg()] = true;
+  } else if (locs->out(0).IsFpuRegister()) {
+    // Fixed output registers are allowed to overlap with
+    // temps and inputs.
+    blocked_fpu_registers[locs->out(0).fpu_reg()] = true;
   }
 
   // Allocate all unallocated input locations.
   const bool should_pop = !instr->IsPushArgument();
+  Register fpu_unboxing_temp = kNoRegister;
   for (intptr_t i = locs->input_count() - 1; i >= 0; i--) {
     Location loc = locs->in(i);
     Register reg = kNoRegister;
+    FpuRegister fpu_reg = kNoFpuRegister;
     if (loc.IsRegister()) {
       reg = loc.reg();
+    } else if (loc.IsFpuRegister()) {
+      fpu_reg = loc.fpu_reg();
     } else if (loc.IsUnallocated()) {
-      ASSERT((loc.policy() == Location::kRequiresRegister) ||
-             (loc.policy() == Location::kWritableRegister) ||
-             (loc.policy() == Location::kPrefersRegister) ||
-             (loc.policy() == Location::kAny));
-      reg = AllocateFreeRegister(blocked_registers);
-      locs->set_in(i, Location::RegisterLocation(reg));
+      switch (loc.policy()) {
+        case Location::kRequiresRegister:
+        case Location::kWritableRegister:
+        case Location::kPrefersRegister:
+        case Location::kAny:
+          reg = AllocateFreeRegister(blocked_registers);
+          locs->set_in(i, Location::RegisterLocation(reg));
+          break;
+        case Location::kRequiresFpuRegister:
+          fpu_reg = AllocateFreeFpuRegister(blocked_fpu_registers);
+          locs->set_in(i, Location::FpuRegisterLocation(fpu_reg));
+          break;
+        default:
+          UNREACHABLE();
+      }
     }
+
+    if (fpu_reg != kNoFpuRegister) {
+      ASSERT(reg == kNoRegister);
+      // Allocate temporary CPU register for unboxing, but only once.
+      if (fpu_unboxing_temp == kNoRegister) {
+        fpu_unboxing_temp = AllocateFreeRegister(blocked_registers);
+      }
+      reg = fpu_unboxing_temp;
+    }
+
     ASSERT(reg != kNoRegister || loc.IsConstant());
 
     // Inputs are consumed from the simulated frame (or a peephole push/pop).
@@ -1644,7 +1696,8 @@
         if (!loc.IsConstant()) {
           // Moves top of stack location of the peephole into the required
           // input. None of the required moves needs a temp register allocator.
-          EmitMove(locs->in(i), top_of_stack_->locs()->out(0), nullptr);
+          EmitMove(Location::RegisterLocation(reg),
+                   top_of_stack_->locs()->out(0), nullptr);
         }
         top_of_stack_ = nullptr;  // consumed!
       } else if (loc.IsConstant()) {
@@ -1652,6 +1705,24 @@
       } else {
         assembler()->PopRegister(reg);
       }
+      if (!loc.IsConstant()) {
+        switch (instr->RequiredInputRepresentation(i)) {
+          case kUnboxedDouble:
+            ASSERT(fpu_reg != kNoFpuRegister);
+            ASSERT(instr->SpeculativeModeOfInput(i) ==
+                   Instruction::kNotSpeculative);
+            assembler()->LoadUnboxedDouble(
+                fpu_reg, reg,
+                compiler::target::Double::value_offset() - kHeapObjectTag);
+            break;
+          default:
+            // No automatic unboxing for other representations.
+            ASSERT(fpu_reg == kNoFpuRegister);
+            break;
+        }
+      }
+    } else {
+      ASSERT(fpu_reg == kNoFpuRegister);
     }
   }
 
@@ -1659,9 +1730,20 @@
   for (intptr_t i = 0; i < locs->temp_count(); i++) {
     Location loc = locs->temp(i);
     if (loc.IsUnallocated()) {
-      ASSERT(loc.policy() == Location::kRequiresRegister);
-      loc = Location::RegisterLocation(AllocateFreeRegister(blocked_registers));
-      locs->set_temp(i, loc);
+      switch (loc.policy()) {
+        case Location::kRequiresRegister:
+          loc = Location::RegisterLocation(
+              AllocateFreeRegister(blocked_registers));
+          locs->set_temp(i, loc);
+          break;
+        case Location::kRequiresFpuRegister:
+          loc = Location::FpuRegisterLocation(
+              AllocateFreeFpuRegister(blocked_fpu_registers));
+          locs->set_temp(i, loc);
+          break;
+        default:
+          UNREACHABLE();
+      }
     }
   }
 
@@ -1679,6 +1761,9 @@
         result_location = locs->in(0);
         break;
       case Location::kRequiresFpuRegister:
+        result_location = Location::FpuRegisterLocation(
+            AllocateFreeFpuRegister(blocked_fpu_registers));
+        break;
       case Location::kRequiresStackSlot:
         UNREACHABLE();
         break;
@@ -3103,6 +3188,10 @@
 void FlowGraphCompiler::FrameStatePush(Definition* defn) {
   Representation rep = defn->representation();
   ASSERT(!is_optimizing());
+  if ((rep == kUnboxedDouble) && defn->locs()->out(0).IsFpuRegister()) {
+    // Output value is boxed in the instruction epilogue.
+    rep = kTagged;
+  }
   ASSERT((rep == kTagged) || (rep == kUntagged) ||
          RepresentationUtils::IsUnboxedInteger(rep));
   ASSERT(rep != kUntagged || flow_graph_.IsIrregexpFunction());
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc b/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc
index 2e5a194..4b0f692 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc
@@ -241,7 +241,25 @@
   }
   Definition* defn = instr->AsDefinition();
   if ((defn != NULL) && defn->HasTemp()) {
-    __ Push(defn->locs()->out(0).reg());
+    const Location value = defn->locs()->out(0);
+    if (value.IsRegister()) {
+      __ PushRegister(value.reg());
+    } else if (value.IsFpuRegister()) {
+      ASSERT(instr->representation() == kUnboxedDouble);
+      // In unoptimized code at instruction epilogue the only
+      // live register is an output register.
+      instr->locs()->live_registers()->Clear();
+      if (value.fpu_reg() != BoxDoubleStubABI::kValueReg) {
+        __ vmovd(EvenDRegisterOf(BoxDoubleStubABI::kValueReg),
+                 EvenDRegisterOf(value.fpu_reg()));
+      }
+      GenerateNonLazyDeoptableStubCall(
+          InstructionSource(),  // No token position.
+          StubCode::BoxDouble(), UntaggedPcDescriptors::kOther, instr->locs());
+      __ PushRegister(BoxDoubleStubABI::kResultReg);
+    } else {
+      UNREACHABLE();
+    }
   }
 }
 
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc b/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc
index d7b3759..586f923 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc
@@ -232,7 +232,24 @@
   }
   Definition* defn = instr->AsDefinition();
   if ((defn != NULL) && defn->HasTemp()) {
-    __ Push(defn->locs()->out(0).reg());
+    const Location value = defn->locs()->out(0);
+    if (value.IsRegister()) {
+      __ PushRegister(value.reg());
+    } else if (value.IsFpuRegister()) {
+      ASSERT(instr->representation() == kUnboxedDouble);
+      // In unoptimized code at instruction epilogue the only
+      // live register is an output register.
+      instr->locs()->live_registers()->Clear();
+      if (value.fpu_reg() != BoxDoubleStubABI::kValueReg) {
+        __ fmovdd(BoxDoubleStubABI::kValueReg, value.fpu_reg());
+      }
+      GenerateNonLazyDeoptableStubCall(
+          InstructionSource(),  // No token position.
+          StubCode::BoxDouble(), UntaggedPcDescriptors::kOther, instr->locs());
+      __ PushRegister(BoxDoubleStubABI::kResultReg);
+    } else {
+      UNREACHABLE();
+    }
   }
 }
 
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc b/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
index 4634363..ddbd741 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
@@ -363,7 +363,19 @@
   if ((defn != NULL) && defn->HasTemp()) {
     Location value = defn->locs()->out(0);
     if (value.IsRegister()) {
-      __ pushl(value.reg());
+      __ PushRegister(value.reg());
+    } else if (value.IsFpuRegister()) {
+      ASSERT(instr->representation() == kUnboxedDouble);
+      // In unoptimized code at instruction epilogue the only
+      // live register is an output register.
+      instr->locs()->live_registers()->Clear();
+      if (value.fpu_reg() != BoxDoubleStubABI::kValueReg) {
+        __ movaps(BoxDoubleStubABI::kValueReg, value.fpu_reg());
+      }
+      GenerateNonLazyDeoptableStubCall(
+          InstructionSource(),  // No token position.
+          StubCode::BoxDouble(), UntaggedPcDescriptors::kOther, instr->locs());
+      __ PushRegister(BoxDoubleStubABI::kResultReg);
     } else if (value.IsConstant()) {
       __ PushObject(value.constant());
     } else {
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc b/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc
index 6092741..056c2a4 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc
@@ -235,7 +235,19 @@
   if ((defn != NULL) && defn->HasTemp()) {
     Location value = defn->locs()->out(0);
     if (value.IsRegister()) {
-      __ pushq(value.reg());
+      __ PushRegister(value.reg());
+    } else if (value.IsFpuRegister()) {
+      ASSERT(instr->representation() == kUnboxedDouble);
+      // In unoptimized code at instruction epilogue the only
+      // live register is an output register.
+      instr->locs()->live_registers()->Clear();
+      if (value.fpu_reg() != BoxDoubleStubABI::kValueReg) {
+        __ movaps(BoxDoubleStubABI::kValueReg, value.fpu_reg());
+      }
+      GenerateNonLazyDeoptableStubCall(
+          InstructionSource(),  // No token position.
+          StubCode::BoxDouble(), UntaggedPcDescriptors::kOther, instr->locs());
+      __ PushRegister(BoxDoubleStubABI::kResultReg);
     } else if (value.IsConstant()) {
       __ PushObject(value.constant());
     } else {
diff --git a/runtime/vm/compiler/backend/il.cc b/runtime/vm/compiler/backend/il.cc
index 41ef3cb..28f499c 100644
--- a/runtime/vm/compiler/backend/il.cc
+++ b/runtime/vm/compiler/backend/il.cc
@@ -978,7 +978,7 @@
     // The instance is always tagged.
     return kTagged;
   }
-  if (IsUnboxedDartFieldStore()) {
+  if (IsUnboxedDartFieldStore() && CompilerState::Current().is_optimizing()) {
     return FlowGraph::UnboxedFieldRepresentationOf(slot().field());
   }
   return slot().representation();
diff --git a/runtime/vm/compiler/backend/locations.h b/runtime/vm/compiler/backend/locations.h
index 11ffcdb..dd01b09 100644
--- a/runtime/vm/compiler/backend/locations.h
+++ b/runtime/vm/compiler/backend/locations.h
@@ -543,6 +543,8 @@
 
   bool IsEmpty() const { return data_ == 0; }
 
+  void Clear() { data_ = 0; }
+
   intptr_t data() const { return data_; }
 
  private:
@@ -705,6 +707,12 @@
   intptr_t cpu_registers() const { return cpu_registers_.data(); }
   intptr_t fpu_registers() const { return fpu_registers_.data(); }
 
+  void Clear() {
+    cpu_registers_.Clear();
+    fpu_registers_.Clear();
+    untagged_cpu_registers_.Clear();
+  }
+
  private:
   SmallSet<Register> cpu_registers_;
   SmallSet<Register> untagged_cpu_registers_;
diff --git a/runtime/vm/compiler/runtime_api.h b/runtime/vm/compiler/runtime_api.h
index 52642b1..ba5d79b 100644
--- a/runtime/vm/compiler/runtime_api.h
+++ b/runtime/vm/compiler/runtime_api.h
@@ -1105,6 +1105,7 @@
   static word stack_limit_offset();
   static word saved_stack_limit_offset();
   static word unboxed_int64_runtime_arg_offset();
+  static word unboxed_double_runtime_arg_offset();
 
   static word callback_code_offset();
   static word callback_stack_return_offset();
diff --git a/runtime/vm/compiler/runtime_offsets_extracted.h b/runtime/vm/compiler/runtime_offsets_extracted.h
index 97c5270..7720933 100644
--- a/runtime/vm/compiler/runtime_offsets_extracted.h
+++ b/runtime/vm/compiler/runtime_offsets_extracted.h
@@ -244,154 +244,154 @@
 static constexpr dart::compiler::target::word String_length_offset = 4;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 4;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 368;
+    Thread_AllocateArray_entry_point_offset = 376;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    732;
+    744;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    736;
+    748;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_code_offset = 120;
+    Thread_array_write_barrier_code_offset = 128;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_entry_point_offset = 264;
+    Thread_array_write_barrier_entry_point_offset = 272;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 272;
+    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 280;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_stub_offset = 180;
+    Thread_allocate_mint_with_fpu_regs_stub_offset = 188;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 276;
+    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 284;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_stub_offset = 184;
+    Thread_allocate_mint_without_fpu_regs_stub_offset = 192;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_entry_point_offset = 280;
+    Thread_allocate_object_entry_point_offset = 288;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_stub_offset = 188;
+    Thread_allocate_object_stub_offset = 196;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_entry_point_offset = 284;
+    Thread_allocate_object_parameterized_entry_point_offset = 292;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_stub_offset = 192;
+    Thread_allocate_object_parameterized_stub_offset = 200;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_entry_point_offset = 288;
+    Thread_allocate_object_slow_entry_point_offset = 296;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_stub_offset = 196;
-static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 772;
+    Thread_allocate_object_slow_stub_offset = 204;
+static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 784;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 332;
-static constexpr dart::compiler::target::word Thread_bool_false_offset = 112;
-static constexpr dart::compiler::target::word Thread_bool_true_offset = 108;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 340;
+static constexpr dart::compiler::target::word Thread_bool_false_offset = 120;
+static constexpr dart::compiler::target::word Thread_bool_true_offset = 116;
 static constexpr dart::compiler::target::word
-    Thread_bootstrap_native_wrapper_entry_point_offset = 324;
+    Thread_bootstrap_native_wrapper_entry_point_offset = 332;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_entry_point_offset = 268;
+    Thread_call_to_runtime_entry_point_offset = 276;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_stub_offset = 136;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 780;
+    Thread_call_to_runtime_stub_offset = 144;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 792;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 48;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
-    308;
-static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 224;
+    316;
+static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 232;
 static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
-    312;
+    320;
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
-    228;
+    236;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
-    348;
+    356;
 static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 344;
+    Thread_double_negate_address_offset = 352;
 static constexpr dart::compiler::target::word Thread_end_offset = 56;
 static constexpr dart::compiler::target::word
-    Thread_enter_safepoint_stub_offset = 248;
+    Thread_enter_safepoint_stub_offset = 256;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    764;
+static constexpr dart::compiler::target::word
+    Thread_exit_safepoint_stub_offset = 260;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_stub_offset = 264;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_entry_point_offset = 324;
+static constexpr dart::compiler::target::word
+    Thread_fix_allocation_stub_code_offset = 136;
+static constexpr dart::compiler::target::word
+    Thread_fix_callers_target_code_offset = 132;
+static constexpr dart::compiler::target::word
+    Thread_float_absolute_address_offset = 368;
+static constexpr dart::compiler::target::word
+    Thread_float_negate_address_offset = 364;
+static constexpr dart::compiler::target::word Thread_float_not_address_offset =
+    360;
+static constexpr dart::compiler::target::word
+    Thread_float_zerow_address_offset = 372;
+static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
     752;
 static constexpr dart::compiler::target::word
-    Thread_exit_safepoint_stub_offset = 252;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_stub_offset = 256;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 316;
-static constexpr dart::compiler::target::word
-    Thread_fix_allocation_stub_code_offset = 128;
-static constexpr dart::compiler::target::word
-    Thread_fix_callers_target_code_offset = 124;
-static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 360;
-static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 356;
-static constexpr dart::compiler::target::word Thread_float_not_address_offset =
-    352;
-static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 364;
-static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    740;
-static constexpr dart::compiler::target::word
-    Thread_invoke_dart_code_stub_offset = 132;
+    Thread_invoke_dart_code_stub_offset = 140;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    768;
+    780;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 44;
-static constexpr dart::compiler::target::word Thread_isolate_group_offset = 784;
+static constexpr dart::compiler::target::word Thread_isolate_group_offset = 796;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     68;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_return_stub_offset = 232;
+    Thread_lazy_deopt_from_return_stub_offset = 240;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_throw_stub_offset = 236;
+    Thread_lazy_deopt_from_throw_stub_offset = 244;
 static constexpr dart::compiler::target::word
-    Thread_lazy_specialize_type_test_stub_offset = 244;
+    Thread_lazy_specialize_type_test_stub_offset = 252;
 static constexpr dart::compiler::target::word
     Thread_marking_stack_block_offset = 84;
 static constexpr dart::compiler::target::word
-    Thread_megamorphic_call_checked_entry_offset = 300;
+    Thread_megamorphic_call_checked_entry_offset = 308;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_entry_offset = 304;
+    Thread_switchable_call_miss_entry_offset = 312;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_stub_offset = 208;
+    Thread_switchable_call_miss_stub_offset = 216;
 static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 328;
+    Thread_no_scope_native_wrapper_entry_point_offset = 336;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 144;
+    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 152;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 140;
+    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 148;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_with_fpu_regs_stub_offset = 152;
+    Thread_null_error_shared_with_fpu_regs_stub_offset = 160;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_without_fpu_regs_stub_offset = 148;
+    Thread_null_error_shared_without_fpu_regs_stub_offset = 156;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 160;
+    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 168;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 156;
+    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 164;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 168;
+    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 176;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 164;
+    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 172;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_with_fpu_regs_stub_offset = 176;
+    Thread_range_error_shared_with_fpu_regs_stub_offset = 184;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_without_fpu_regs_stub_offset = 172;
-static constexpr dart::compiler::target::word Thread_object_null_offset = 104;
+    Thread_range_error_shared_without_fpu_regs_stub_offset = 180;
+static constexpr dart::compiler::target::word Thread_object_null_offset = 112;
 static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 336;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 744;
+    Thread_predefined_symbols_address_offset = 344;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 756;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 748;
+    Thread_saved_shadow_call_stack_offset = 760;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    756;
+    768;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_stub_offset = 240;
+    Thread_slow_type_test_stub_offset = 248;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_entry_point_offset = 320;
+    Thread_slow_type_test_entry_point_offset = 328;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 32;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
     60;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_flags_offset = 64;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 296;
+    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 304;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 204;
+    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 212;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 292;
+    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 300;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 200;
+    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 208;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
     80;
 static constexpr dart::compiler::target::word
@@ -400,17 +400,19 @@
 static constexpr dart::compiler::target::word Thread_top_resource_offset = 20;
 static constexpr dart::compiler::target::word
     Thread_unboxed_int64_runtime_arg_offset = 96;
+static constexpr dart::compiler::target::word
+    Thread_unboxed_double_runtime_arg_offset = 104;
 static constexpr dart::compiler::target::word Thread_vm_tag_offset = 92;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
-    116;
+    124;
 static constexpr dart::compiler::target::word
-    Thread_write_barrier_entry_point_offset = 260;
+    Thread_write_barrier_entry_point_offset = 268;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     36;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 40;
-static constexpr dart::compiler::target::word Thread_callback_code_offset = 760;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 772;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 764;
+    Thread_callback_stack_return_offset = 776;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset = 8;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 12;
 static constexpr dart::compiler::target::word Type_arguments_offset = 16;
@@ -470,7 +472,7 @@
     4, 12, 8, 16};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        700, 704, 708, 712, 716, -1, 720, -1, 724, 728, -1, -1, -1, -1, -1, -1};
+        712, 716, 720, 724, 728, -1, 732, -1, 736, 740, -1, -1, -1, -1, -1, -1};
 static constexpr dart::compiler::target::word AbstractType_InstanceSize = 12;
 static constexpr dart::compiler::target::word ApiError_InstanceSize = 8;
 static constexpr dart::compiler::target::word Array_header_size = 12;
@@ -788,156 +790,156 @@
 static constexpr dart::compiler::target::word String_length_offset = 8;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 728;
+    Thread_AllocateArray_entry_point_offset = 736;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1480;
+    1496;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    1488;
+    1504;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_code_offset = 232;
+    Thread_array_write_barrier_code_offset = 240;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_entry_point_offset = 520;
+    Thread_array_write_barrier_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    Thread_allocate_mint_with_fpu_regs_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    Thread_allocate_mint_without_fpu_regs_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_entry_point_offset = 552;
+    Thread_allocate_object_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_stub_offset = 368;
+    Thread_allocate_object_stub_offset = 376;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_entry_point_offset = 560;
+    Thread_allocate_object_parameterized_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_stub_offset = 376;
+    Thread_allocate_object_parameterized_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_entry_point_offset = 568;
+    Thread_allocate_object_slow_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_stub_offset = 384;
+    Thread_allocate_object_slow_stub_offset = 392;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1560;
+    1576;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
-static constexpr dart::compiler::target::word Thread_bool_true_offset = 208;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 664;
+static constexpr dart::compiler::target::word Thread_bool_false_offset = 224;
+static constexpr dart::compiler::target::word Thread_bool_true_offset = 216;
 static constexpr dart::compiler::target::word
-    Thread_bootstrap_native_wrapper_entry_point_offset = 640;
+    Thread_bootstrap_native_wrapper_entry_point_offset = 648;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_entry_point_offset = 528;
+    Thread_call_to_runtime_entry_point_offset = 536;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1576;
+    Thread_call_to_runtime_stub_offset = 272;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1592;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 96;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
-    608;
-static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 440;
-static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
     616;
+static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 448;
+static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
+    624;
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
-    448;
+    456;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
-    688;
-static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 680;
-static constexpr dart::compiler::target::word Thread_end_offset = 112;
-static constexpr dart::compiler::target::word
-    Thread_enter_safepoint_stub_offset = 488;
-static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1520;
-static constexpr dart::compiler::target::word
-    Thread_exit_safepoint_stub_offset = 496;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_stub_offset = 504;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 624;
-static constexpr dart::compiler::target::word
-    Thread_fix_allocation_stub_code_offset = 248;
-static constexpr dart::compiler::target::word
-    Thread_fix_callers_target_code_offset = 240;
-static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 712;
-static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 704;
-static constexpr dart::compiler::target::word Thread_float_not_address_offset =
     696;
 static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 720;
-static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1496;
+    Thread_double_negate_address_offset = 688;
+static constexpr dart::compiler::target::word Thread_end_offset = 112;
 static constexpr dart::compiler::target::word
-    Thread_invoke_dart_code_stub_offset = 256;
+    Thread_enter_safepoint_stub_offset = 496;
+static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    1536;
+static constexpr dart::compiler::target::word
+    Thread_exit_safepoint_stub_offset = 504;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_stub_offset = 512;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_entry_point_offset = 632;
+static constexpr dart::compiler::target::word
+    Thread_fix_allocation_stub_code_offset = 256;
+static constexpr dart::compiler::target::word
+    Thread_fix_callers_target_code_offset = 248;
+static constexpr dart::compiler::target::word
+    Thread_float_absolute_address_offset = 720;
+static constexpr dart::compiler::target::word
+    Thread_float_negate_address_offset = 712;
+static constexpr dart::compiler::target::word Thread_float_not_address_offset =
+    704;
+static constexpr dart::compiler::target::word
+    Thread_float_zerow_address_offset = 728;
+static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
+    1512;
+static constexpr dart::compiler::target::word
+    Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1552;
+    1568;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 88;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1584;
+    1600;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_return_stub_offset = 456;
+    Thread_lazy_deopt_from_return_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_throw_stub_offset = 464;
+    Thread_lazy_deopt_from_throw_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    Thread_lazy_specialize_type_test_stub_offset = 480;
+    Thread_lazy_specialize_type_test_stub_offset = 488;
 static constexpr dart::compiler::target::word
     Thread_marking_stack_block_offset = 168;
 static constexpr dart::compiler::target::word
-    Thread_megamorphic_call_checked_entry_offset = 592;
+    Thread_megamorphic_call_checked_entry_offset = 600;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_entry_offset = 600;
+    Thread_switchable_call_miss_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_stub_offset = 408;
+    Thread_switchable_call_miss_stub_offset = 416;
 static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    Thread_no_scope_native_wrapper_entry_point_offset = 656;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 272;
+    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 280;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    Thread_null_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    Thread_null_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    Thread_range_error_shared_with_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
-static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
+    Thread_range_error_shared_without_fpu_regs_stub_offset = 344;
+static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 664;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1504;
+    Thread_predefined_symbols_address_offset = 672;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1520;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1512;
+    Thread_saved_shadow_call_stack_offset = 1528;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1528;
+    1544;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_stub_offset = 472;
+    Thread_slow_type_test_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_entry_point_offset = 632;
+    Thread_slow_type_test_entry_point_offset = 640;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 64;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
     120;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_flags_offset = 128;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 408;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 584;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 400;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
     160;
 static constexpr dart::compiler::target::word
@@ -946,18 +948,20 @@
 static constexpr dart::compiler::target::word Thread_top_resource_offset = 40;
 static constexpr dart::compiler::target::word
     Thread_unboxed_int64_runtime_arg_offset = 192;
+static constexpr dart::compiler::target::word
+    Thread_unboxed_double_runtime_arg_offset = 200;
 static constexpr dart::compiler::target::word Thread_vm_tag_offset = 184;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
-    224;
+    232;
 static constexpr dart::compiler::target::word
-    Thread_write_barrier_entry_point_offset = 512;
+    Thread_write_barrier_entry_point_offset = 520;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     72;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 80;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1536;
+    1552;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1544;
+    Thread_callback_stack_return_offset = 1560;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset =
     16;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 16;
@@ -1018,8 +1022,8 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        1392, 1400, 1408, 1416, -1,   -1,   1424, 1432,
-        1440, 1448, 1456, -1,   1464, 1472, -1,   -1};
+        1408, 1416, 1424, 1432, -1,   -1,   1440, 1448,
+        1456, 1464, 1472, -1,   1480, 1488, -1,   -1};
 static constexpr dart::compiler::target::word AbstractType_InstanceSize = 24;
 static constexpr dart::compiler::target::word ApiError_InstanceSize = 16;
 static constexpr dart::compiler::target::word Array_header_size = 24;
@@ -1335,154 +1339,154 @@
 static constexpr dart::compiler::target::word String_length_offset = 4;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 4;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 368;
+    Thread_AllocateArray_entry_point_offset = 376;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    700;
+    712;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    704;
+    716;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_code_offset = 120;
+    Thread_array_write_barrier_code_offset = 128;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_entry_point_offset = 264;
+    Thread_array_write_barrier_entry_point_offset = 272;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 272;
+    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 280;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_stub_offset = 180;
+    Thread_allocate_mint_with_fpu_regs_stub_offset = 188;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 276;
+    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 284;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_stub_offset = 184;
+    Thread_allocate_mint_without_fpu_regs_stub_offset = 192;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_entry_point_offset = 280;
+    Thread_allocate_object_entry_point_offset = 288;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_stub_offset = 188;
+    Thread_allocate_object_stub_offset = 196;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_entry_point_offset = 284;
+    Thread_allocate_object_parameterized_entry_point_offset = 292;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_stub_offset = 192;
+    Thread_allocate_object_parameterized_stub_offset = 200;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_entry_point_offset = 288;
+    Thread_allocate_object_slow_entry_point_offset = 296;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_stub_offset = 196;
-static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 740;
+    Thread_allocate_object_slow_stub_offset = 204;
+static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 752;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 332;
-static constexpr dart::compiler::target::word Thread_bool_false_offset = 112;
-static constexpr dart::compiler::target::word Thread_bool_true_offset = 108;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 340;
+static constexpr dart::compiler::target::word Thread_bool_false_offset = 120;
+static constexpr dart::compiler::target::word Thread_bool_true_offset = 116;
 static constexpr dart::compiler::target::word
-    Thread_bootstrap_native_wrapper_entry_point_offset = 324;
+    Thread_bootstrap_native_wrapper_entry_point_offset = 332;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_entry_point_offset = 268;
+    Thread_call_to_runtime_entry_point_offset = 276;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_stub_offset = 136;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 748;
+    Thread_call_to_runtime_stub_offset = 144;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 760;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 48;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
-    308;
-static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 224;
+    316;
+static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 232;
 static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
-    312;
+    320;
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
-    228;
+    236;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
-    348;
+    356;
 static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 344;
+    Thread_double_negate_address_offset = 352;
 static constexpr dart::compiler::target::word Thread_end_offset = 56;
 static constexpr dart::compiler::target::word
-    Thread_enter_safepoint_stub_offset = 248;
+    Thread_enter_safepoint_stub_offset = 256;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    732;
+static constexpr dart::compiler::target::word
+    Thread_exit_safepoint_stub_offset = 260;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_stub_offset = 264;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_entry_point_offset = 324;
+static constexpr dart::compiler::target::word
+    Thread_fix_allocation_stub_code_offset = 136;
+static constexpr dart::compiler::target::word
+    Thread_fix_callers_target_code_offset = 132;
+static constexpr dart::compiler::target::word
+    Thread_float_absolute_address_offset = 368;
+static constexpr dart::compiler::target::word
+    Thread_float_negate_address_offset = 364;
+static constexpr dart::compiler::target::word Thread_float_not_address_offset =
+    360;
+static constexpr dart::compiler::target::word
+    Thread_float_zerow_address_offset = 372;
+static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
     720;
 static constexpr dart::compiler::target::word
-    Thread_exit_safepoint_stub_offset = 252;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_stub_offset = 256;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 316;
-static constexpr dart::compiler::target::word
-    Thread_fix_allocation_stub_code_offset = 128;
-static constexpr dart::compiler::target::word
-    Thread_fix_callers_target_code_offset = 124;
-static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 360;
-static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 356;
-static constexpr dart::compiler::target::word Thread_float_not_address_offset =
-    352;
-static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 364;
-static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    708;
-static constexpr dart::compiler::target::word
-    Thread_invoke_dart_code_stub_offset = 132;
+    Thread_invoke_dart_code_stub_offset = 140;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    736;
+    748;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 44;
-static constexpr dart::compiler::target::word Thread_isolate_group_offset = 752;
+static constexpr dart::compiler::target::word Thread_isolate_group_offset = 764;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     68;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_return_stub_offset = 232;
+    Thread_lazy_deopt_from_return_stub_offset = 240;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_throw_stub_offset = 236;
+    Thread_lazy_deopt_from_throw_stub_offset = 244;
 static constexpr dart::compiler::target::word
-    Thread_lazy_specialize_type_test_stub_offset = 244;
+    Thread_lazy_specialize_type_test_stub_offset = 252;
 static constexpr dart::compiler::target::word
     Thread_marking_stack_block_offset = 84;
 static constexpr dart::compiler::target::word
-    Thread_megamorphic_call_checked_entry_offset = 300;
+    Thread_megamorphic_call_checked_entry_offset = 308;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_entry_offset = 304;
+    Thread_switchable_call_miss_entry_offset = 312;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_stub_offset = 208;
+    Thread_switchable_call_miss_stub_offset = 216;
 static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 328;
+    Thread_no_scope_native_wrapper_entry_point_offset = 336;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 144;
+    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 152;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 140;
+    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 148;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_with_fpu_regs_stub_offset = 152;
+    Thread_null_error_shared_with_fpu_regs_stub_offset = 160;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_without_fpu_regs_stub_offset = 148;
+    Thread_null_error_shared_without_fpu_regs_stub_offset = 156;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 160;
+    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 168;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 156;
+    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 164;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 168;
+    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 176;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 164;
+    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 172;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_with_fpu_regs_stub_offset = 176;
+    Thread_range_error_shared_with_fpu_regs_stub_offset = 184;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_without_fpu_regs_stub_offset = 172;
-static constexpr dart::compiler::target::word Thread_object_null_offset = 104;
+    Thread_range_error_shared_without_fpu_regs_stub_offset = 180;
+static constexpr dart::compiler::target::word Thread_object_null_offset = 112;
 static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 336;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 712;
+    Thread_predefined_symbols_address_offset = 344;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 724;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 716;
+    Thread_saved_shadow_call_stack_offset = 728;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    724;
+    736;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_stub_offset = 240;
+    Thread_slow_type_test_stub_offset = 248;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_entry_point_offset = 320;
+    Thread_slow_type_test_entry_point_offset = 328;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 32;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
     60;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_flags_offset = 64;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 296;
+    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 304;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 204;
+    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 212;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 292;
+    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 300;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 200;
+    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 208;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
     80;
 static constexpr dart::compiler::target::word
@@ -1491,17 +1495,19 @@
 static constexpr dart::compiler::target::word Thread_top_resource_offset = 20;
 static constexpr dart::compiler::target::word
     Thread_unboxed_int64_runtime_arg_offset = 96;
+static constexpr dart::compiler::target::word
+    Thread_unboxed_double_runtime_arg_offset = 104;
 static constexpr dart::compiler::target::word Thread_vm_tag_offset = 92;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
-    116;
+    124;
 static constexpr dart::compiler::target::word
-    Thread_write_barrier_entry_point_offset = 260;
+    Thread_write_barrier_entry_point_offset = 268;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     36;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 40;
-static constexpr dart::compiler::target::word Thread_callback_code_offset = 728;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 740;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 732;
+    Thread_callback_stack_return_offset = 744;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset = 8;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 12;
 static constexpr dart::compiler::target::word Type_arguments_offset = 16;
@@ -1876,156 +1882,156 @@
 static constexpr dart::compiler::target::word String_length_offset = 8;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 728;
+    Thread_AllocateArray_entry_point_offset = 736;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1544;
+    1560;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    1552;
+    1568;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_code_offset = 232;
+    Thread_array_write_barrier_code_offset = 240;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_entry_point_offset = 520;
+    Thread_array_write_barrier_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    Thread_allocate_mint_with_fpu_regs_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    Thread_allocate_mint_without_fpu_regs_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_entry_point_offset = 552;
+    Thread_allocate_object_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_stub_offset = 368;
+    Thread_allocate_object_stub_offset = 376;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_entry_point_offset = 560;
+    Thread_allocate_object_parameterized_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_stub_offset = 376;
+    Thread_allocate_object_parameterized_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_entry_point_offset = 568;
+    Thread_allocate_object_slow_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_stub_offset = 384;
+    Thread_allocate_object_slow_stub_offset = 392;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1624;
+    1640;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
-static constexpr dart::compiler::target::word Thread_bool_true_offset = 208;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 664;
+static constexpr dart::compiler::target::word Thread_bool_false_offset = 224;
+static constexpr dart::compiler::target::word Thread_bool_true_offset = 216;
 static constexpr dart::compiler::target::word
-    Thread_bootstrap_native_wrapper_entry_point_offset = 640;
+    Thread_bootstrap_native_wrapper_entry_point_offset = 648;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_entry_point_offset = 528;
+    Thread_call_to_runtime_entry_point_offset = 536;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1640;
+    Thread_call_to_runtime_stub_offset = 272;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1656;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 96;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
-    608;
-static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 440;
-static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
     616;
+static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 448;
+static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
+    624;
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
-    448;
+    456;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
-    688;
-static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 680;
-static constexpr dart::compiler::target::word Thread_end_offset = 112;
-static constexpr dart::compiler::target::word
-    Thread_enter_safepoint_stub_offset = 488;
-static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1584;
-static constexpr dart::compiler::target::word
-    Thread_exit_safepoint_stub_offset = 496;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_stub_offset = 504;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 624;
-static constexpr dart::compiler::target::word
-    Thread_fix_allocation_stub_code_offset = 248;
-static constexpr dart::compiler::target::word
-    Thread_fix_callers_target_code_offset = 240;
-static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 712;
-static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 704;
-static constexpr dart::compiler::target::word Thread_float_not_address_offset =
     696;
 static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 720;
-static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1560;
+    Thread_double_negate_address_offset = 688;
+static constexpr dart::compiler::target::word Thread_end_offset = 112;
 static constexpr dart::compiler::target::word
-    Thread_invoke_dart_code_stub_offset = 256;
+    Thread_enter_safepoint_stub_offset = 496;
+static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    1600;
+static constexpr dart::compiler::target::word
+    Thread_exit_safepoint_stub_offset = 504;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_stub_offset = 512;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_entry_point_offset = 632;
+static constexpr dart::compiler::target::word
+    Thread_fix_allocation_stub_code_offset = 256;
+static constexpr dart::compiler::target::word
+    Thread_fix_callers_target_code_offset = 248;
+static constexpr dart::compiler::target::word
+    Thread_float_absolute_address_offset = 720;
+static constexpr dart::compiler::target::word
+    Thread_float_negate_address_offset = 712;
+static constexpr dart::compiler::target::word Thread_float_not_address_offset =
+    704;
+static constexpr dart::compiler::target::word
+    Thread_float_zerow_address_offset = 728;
+static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
+    1576;
+static constexpr dart::compiler::target::word
+    Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1616;
+    1632;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 88;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1648;
+    1664;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_return_stub_offset = 456;
+    Thread_lazy_deopt_from_return_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_throw_stub_offset = 464;
+    Thread_lazy_deopt_from_throw_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    Thread_lazy_specialize_type_test_stub_offset = 480;
+    Thread_lazy_specialize_type_test_stub_offset = 488;
 static constexpr dart::compiler::target::word
     Thread_marking_stack_block_offset = 168;
 static constexpr dart::compiler::target::word
-    Thread_megamorphic_call_checked_entry_offset = 592;
+    Thread_megamorphic_call_checked_entry_offset = 600;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_entry_offset = 600;
+    Thread_switchable_call_miss_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_stub_offset = 408;
+    Thread_switchable_call_miss_stub_offset = 416;
 static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    Thread_no_scope_native_wrapper_entry_point_offset = 656;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 272;
+    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 280;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    Thread_null_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    Thread_null_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    Thread_range_error_shared_with_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
-static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
+    Thread_range_error_shared_without_fpu_regs_stub_offset = 344;
+static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 664;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1568;
+    Thread_predefined_symbols_address_offset = 672;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1584;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1576;
+    Thread_saved_shadow_call_stack_offset = 1592;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1592;
+    1608;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_stub_offset = 472;
+    Thread_slow_type_test_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_entry_point_offset = 632;
+    Thread_slow_type_test_entry_point_offset = 640;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 64;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
     120;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_flags_offset = 128;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 408;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 584;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 400;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
     160;
 static constexpr dart::compiler::target::word
@@ -2034,18 +2040,20 @@
 static constexpr dart::compiler::target::word Thread_top_resource_offset = 40;
 static constexpr dart::compiler::target::word
     Thread_unboxed_int64_runtime_arg_offset = 192;
+static constexpr dart::compiler::target::word
+    Thread_unboxed_double_runtime_arg_offset = 200;
 static constexpr dart::compiler::target::word Thread_vm_tag_offset = 184;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
-    224;
+    232;
 static constexpr dart::compiler::target::word
-    Thread_write_barrier_entry_point_offset = 512;
+    Thread_write_barrier_entry_point_offset = 520;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     72;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 80;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1600;
+    1616;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1608;
+    Thread_callback_stack_return_offset = 1624;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset =
     16;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 16;
@@ -2106,9 +2114,9 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        1392, 1400, 1408, 1416, 1424, 1432, 1440, 1448, 1456, 1464, 1472,
-        1480, 1488, 1496, 1504, -1,   -1,   -1,   -1,   1512, 1520, -1,
-        -1,   1528, 1536, 1544, -1,   -1,   -1,   -1,   -1,   -1};
+        1408, 1416, 1424, 1432, 1440, 1448, 1456, 1464, 1472, 1480, 1488,
+        1496, 1504, 1512, 1520, -1,   -1,   -1,   -1,   1528, 1536, -1,
+        -1,   1544, 1552, 1560, -1,   -1,   -1,   -1,   -1,   -1};
 static constexpr dart::compiler::target::word AbstractType_InstanceSize = 24;
 static constexpr dart::compiler::target::word ApiError_InstanceSize = 16;
 static constexpr dart::compiler::target::word Array_header_size = 24;
@@ -2425,156 +2433,156 @@
 static constexpr dart::compiler::target::word String_length_offset = 8;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 728;
+    Thread_AllocateArray_entry_point_offset = 736;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1480;
+    1496;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    1488;
+    1504;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_code_offset = 232;
+    Thread_array_write_barrier_code_offset = 240;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_entry_point_offset = 520;
+    Thread_array_write_barrier_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    Thread_allocate_mint_with_fpu_regs_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    Thread_allocate_mint_without_fpu_regs_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_entry_point_offset = 552;
+    Thread_allocate_object_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_stub_offset = 368;
+    Thread_allocate_object_stub_offset = 376;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_entry_point_offset = 560;
+    Thread_allocate_object_parameterized_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_stub_offset = 376;
+    Thread_allocate_object_parameterized_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_entry_point_offset = 568;
+    Thread_allocate_object_slow_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_stub_offset = 384;
+    Thread_allocate_object_slow_stub_offset = 392;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1560;
+    1576;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
-static constexpr dart::compiler::target::word Thread_bool_true_offset = 208;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 664;
+static constexpr dart::compiler::target::word Thread_bool_false_offset = 224;
+static constexpr dart::compiler::target::word Thread_bool_true_offset = 216;
 static constexpr dart::compiler::target::word
-    Thread_bootstrap_native_wrapper_entry_point_offset = 640;
+    Thread_bootstrap_native_wrapper_entry_point_offset = 648;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_entry_point_offset = 528;
+    Thread_call_to_runtime_entry_point_offset = 536;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1576;
+    Thread_call_to_runtime_stub_offset = 272;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1592;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 96;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
-    608;
-static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 440;
-static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
     616;
+static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 448;
+static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
+    624;
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
-    448;
+    456;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
-    688;
-static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 680;
-static constexpr dart::compiler::target::word Thread_end_offset = 112;
-static constexpr dart::compiler::target::word
-    Thread_enter_safepoint_stub_offset = 488;
-static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1520;
-static constexpr dart::compiler::target::word
-    Thread_exit_safepoint_stub_offset = 496;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_stub_offset = 504;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 624;
-static constexpr dart::compiler::target::word
-    Thread_fix_allocation_stub_code_offset = 248;
-static constexpr dart::compiler::target::word
-    Thread_fix_callers_target_code_offset = 240;
-static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 712;
-static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 704;
-static constexpr dart::compiler::target::word Thread_float_not_address_offset =
     696;
 static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 720;
-static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1496;
+    Thread_double_negate_address_offset = 688;
+static constexpr dart::compiler::target::word Thread_end_offset = 112;
 static constexpr dart::compiler::target::word
-    Thread_invoke_dart_code_stub_offset = 256;
+    Thread_enter_safepoint_stub_offset = 496;
+static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    1536;
+static constexpr dart::compiler::target::word
+    Thread_exit_safepoint_stub_offset = 504;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_stub_offset = 512;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_entry_point_offset = 632;
+static constexpr dart::compiler::target::word
+    Thread_fix_allocation_stub_code_offset = 256;
+static constexpr dart::compiler::target::word
+    Thread_fix_callers_target_code_offset = 248;
+static constexpr dart::compiler::target::word
+    Thread_float_absolute_address_offset = 720;
+static constexpr dart::compiler::target::word
+    Thread_float_negate_address_offset = 712;
+static constexpr dart::compiler::target::word Thread_float_not_address_offset =
+    704;
+static constexpr dart::compiler::target::word
+    Thread_float_zerow_address_offset = 728;
+static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
+    1512;
+static constexpr dart::compiler::target::word
+    Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1552;
+    1568;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 88;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1584;
+    1600;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_return_stub_offset = 456;
+    Thread_lazy_deopt_from_return_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_throw_stub_offset = 464;
+    Thread_lazy_deopt_from_throw_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    Thread_lazy_specialize_type_test_stub_offset = 480;
+    Thread_lazy_specialize_type_test_stub_offset = 488;
 static constexpr dart::compiler::target::word
     Thread_marking_stack_block_offset = 168;
 static constexpr dart::compiler::target::word
-    Thread_megamorphic_call_checked_entry_offset = 592;
+    Thread_megamorphic_call_checked_entry_offset = 600;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_entry_offset = 600;
+    Thread_switchable_call_miss_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_stub_offset = 408;
+    Thread_switchable_call_miss_stub_offset = 416;
 static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    Thread_no_scope_native_wrapper_entry_point_offset = 656;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 272;
+    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 280;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    Thread_null_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    Thread_null_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    Thread_range_error_shared_with_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
-static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
+    Thread_range_error_shared_without_fpu_regs_stub_offset = 344;
+static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 664;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1504;
+    Thread_predefined_symbols_address_offset = 672;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1520;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1512;
+    Thread_saved_shadow_call_stack_offset = 1528;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1528;
+    1544;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_stub_offset = 472;
+    Thread_slow_type_test_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_entry_point_offset = 632;
+    Thread_slow_type_test_entry_point_offset = 640;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 64;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
     120;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_flags_offset = 128;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 408;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 584;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 400;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
     160;
 static constexpr dart::compiler::target::word
@@ -2583,18 +2591,20 @@
 static constexpr dart::compiler::target::word Thread_top_resource_offset = 40;
 static constexpr dart::compiler::target::word
     Thread_unboxed_int64_runtime_arg_offset = 192;
+static constexpr dart::compiler::target::word
+    Thread_unboxed_double_runtime_arg_offset = 200;
 static constexpr dart::compiler::target::word Thread_vm_tag_offset = 184;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
-    224;
+    232;
 static constexpr dart::compiler::target::word
-    Thread_write_barrier_entry_point_offset = 512;
+    Thread_write_barrier_entry_point_offset = 520;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     72;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 80;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1536;
+    1552;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1544;
+    Thread_callback_stack_return_offset = 1560;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset =
     16;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 16;
@@ -2655,8 +2665,8 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        1392, 1400, 1408, 1416, -1,   -1,   1424, 1432,
-        1440, 1448, 1456, -1,   1464, 1472, -1,   -1};
+        1408, 1416, 1424, 1432, -1,   -1,   1440, 1448,
+        1456, 1464, 1472, -1,   1480, 1488, -1,   -1};
 static constexpr dart::compiler::target::word AbstractType_InstanceSize = 24;
 static constexpr dart::compiler::target::word ApiError_InstanceSize = 16;
 static constexpr dart::compiler::target::word Array_header_size = 16;
@@ -2973,156 +2983,156 @@
 static constexpr dart::compiler::target::word String_length_offset = 8;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 728;
+    Thread_AllocateArray_entry_point_offset = 736;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1544;
+    1560;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    1552;
+    1568;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_code_offset = 232;
+    Thread_array_write_barrier_code_offset = 240;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_entry_point_offset = 520;
+    Thread_array_write_barrier_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    Thread_allocate_mint_with_fpu_regs_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    Thread_allocate_mint_without_fpu_regs_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_entry_point_offset = 552;
+    Thread_allocate_object_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_stub_offset = 368;
+    Thread_allocate_object_stub_offset = 376;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_entry_point_offset = 560;
+    Thread_allocate_object_parameterized_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_stub_offset = 376;
+    Thread_allocate_object_parameterized_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_entry_point_offset = 568;
+    Thread_allocate_object_slow_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_stub_offset = 384;
+    Thread_allocate_object_slow_stub_offset = 392;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1624;
+    1640;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
-static constexpr dart::compiler::target::word Thread_bool_true_offset = 208;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 664;
+static constexpr dart::compiler::target::word Thread_bool_false_offset = 224;
+static constexpr dart::compiler::target::word Thread_bool_true_offset = 216;
 static constexpr dart::compiler::target::word
-    Thread_bootstrap_native_wrapper_entry_point_offset = 640;
+    Thread_bootstrap_native_wrapper_entry_point_offset = 648;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_entry_point_offset = 528;
+    Thread_call_to_runtime_entry_point_offset = 536;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1640;
+    Thread_call_to_runtime_stub_offset = 272;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1656;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 96;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
-    608;
-static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 440;
-static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
     616;
+static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 448;
+static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
+    624;
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
-    448;
+    456;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
-    688;
-static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 680;
-static constexpr dart::compiler::target::word Thread_end_offset = 112;
-static constexpr dart::compiler::target::word
-    Thread_enter_safepoint_stub_offset = 488;
-static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1584;
-static constexpr dart::compiler::target::word
-    Thread_exit_safepoint_stub_offset = 496;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_stub_offset = 504;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 624;
-static constexpr dart::compiler::target::word
-    Thread_fix_allocation_stub_code_offset = 248;
-static constexpr dart::compiler::target::word
-    Thread_fix_callers_target_code_offset = 240;
-static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 712;
-static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 704;
-static constexpr dart::compiler::target::word Thread_float_not_address_offset =
     696;
 static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 720;
-static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1560;
+    Thread_double_negate_address_offset = 688;
+static constexpr dart::compiler::target::word Thread_end_offset = 112;
 static constexpr dart::compiler::target::word
-    Thread_invoke_dart_code_stub_offset = 256;
+    Thread_enter_safepoint_stub_offset = 496;
+static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    1600;
+static constexpr dart::compiler::target::word
+    Thread_exit_safepoint_stub_offset = 504;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_stub_offset = 512;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_entry_point_offset = 632;
+static constexpr dart::compiler::target::word
+    Thread_fix_allocation_stub_code_offset = 256;
+static constexpr dart::compiler::target::word
+    Thread_fix_callers_target_code_offset = 248;
+static constexpr dart::compiler::target::word
+    Thread_float_absolute_address_offset = 720;
+static constexpr dart::compiler::target::word
+    Thread_float_negate_address_offset = 712;
+static constexpr dart::compiler::target::word Thread_float_not_address_offset =
+    704;
+static constexpr dart::compiler::target::word
+    Thread_float_zerow_address_offset = 728;
+static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
+    1576;
+static constexpr dart::compiler::target::word
+    Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1616;
+    1632;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 88;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1648;
+    1664;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_return_stub_offset = 456;
+    Thread_lazy_deopt_from_return_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_throw_stub_offset = 464;
+    Thread_lazy_deopt_from_throw_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    Thread_lazy_specialize_type_test_stub_offset = 480;
+    Thread_lazy_specialize_type_test_stub_offset = 488;
 static constexpr dart::compiler::target::word
     Thread_marking_stack_block_offset = 168;
 static constexpr dart::compiler::target::word
-    Thread_megamorphic_call_checked_entry_offset = 592;
+    Thread_megamorphic_call_checked_entry_offset = 600;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_entry_offset = 600;
+    Thread_switchable_call_miss_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_stub_offset = 408;
+    Thread_switchable_call_miss_stub_offset = 416;
 static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    Thread_no_scope_native_wrapper_entry_point_offset = 656;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 272;
+    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 280;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    Thread_null_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    Thread_null_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    Thread_range_error_shared_with_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
-static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
+    Thread_range_error_shared_without_fpu_regs_stub_offset = 344;
+static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 664;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1568;
+    Thread_predefined_symbols_address_offset = 672;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1584;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1576;
+    Thread_saved_shadow_call_stack_offset = 1592;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1592;
+    1608;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_stub_offset = 472;
+    Thread_slow_type_test_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_entry_point_offset = 632;
+    Thread_slow_type_test_entry_point_offset = 640;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 64;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
     120;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_flags_offset = 128;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 408;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 584;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 400;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
     160;
 static constexpr dart::compiler::target::word
@@ -3131,18 +3141,20 @@
 static constexpr dart::compiler::target::word Thread_top_resource_offset = 40;
 static constexpr dart::compiler::target::word
     Thread_unboxed_int64_runtime_arg_offset = 192;
+static constexpr dart::compiler::target::word
+    Thread_unboxed_double_runtime_arg_offset = 200;
 static constexpr dart::compiler::target::word Thread_vm_tag_offset = 184;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
-    224;
+    232;
 static constexpr dart::compiler::target::word
-    Thread_write_barrier_entry_point_offset = 512;
+    Thread_write_barrier_entry_point_offset = 520;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     72;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 80;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1600;
+    1616;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1608;
+    Thread_callback_stack_return_offset = 1624;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset =
     16;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 16;
@@ -3203,9 +3215,9 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        1392, 1400, 1408, 1416, 1424, 1432, 1440, 1448, 1456, 1464, 1472,
-        1480, 1488, 1496, 1504, -1,   -1,   -1,   -1,   1512, 1520, -1,
-        -1,   1528, 1536, 1544, -1,   -1,   -1,   -1,   -1,   -1};
+        1408, 1416, 1424, 1432, 1440, 1448, 1456, 1464, 1472, 1480, 1488,
+        1496, 1504, 1512, 1520, -1,   -1,   -1,   -1,   1528, 1536, -1,
+        -1,   1544, 1552, 1560, -1,   -1,   -1,   -1,   -1,   -1};
 static constexpr dart::compiler::target::word AbstractType_InstanceSize = 24;
 static constexpr dart::compiler::target::word ApiError_InstanceSize = 16;
 static constexpr dart::compiler::target::word Array_header_size = 16;
@@ -3517,154 +3529,154 @@
 static constexpr dart::compiler::target::word String_length_offset = 4;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 4;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 368;
+    Thread_AllocateArray_entry_point_offset = 376;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    732;
+    744;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    736;
+    748;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_code_offset = 120;
+    Thread_array_write_barrier_code_offset = 128;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_entry_point_offset = 264;
+    Thread_array_write_barrier_entry_point_offset = 272;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 272;
+    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 280;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_stub_offset = 180;
+    Thread_allocate_mint_with_fpu_regs_stub_offset = 188;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 276;
+    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 284;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_stub_offset = 184;
+    Thread_allocate_mint_without_fpu_regs_stub_offset = 192;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_entry_point_offset = 280;
+    Thread_allocate_object_entry_point_offset = 288;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_stub_offset = 188;
+    Thread_allocate_object_stub_offset = 196;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_entry_point_offset = 284;
+    Thread_allocate_object_parameterized_entry_point_offset = 292;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_stub_offset = 192;
+    Thread_allocate_object_parameterized_stub_offset = 200;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_entry_point_offset = 288;
+    Thread_allocate_object_slow_entry_point_offset = 296;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_stub_offset = 196;
-static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 772;
+    Thread_allocate_object_slow_stub_offset = 204;
+static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 784;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 332;
-static constexpr dart::compiler::target::word Thread_bool_false_offset = 112;
-static constexpr dart::compiler::target::word Thread_bool_true_offset = 108;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 340;
+static constexpr dart::compiler::target::word Thread_bool_false_offset = 120;
+static constexpr dart::compiler::target::word Thread_bool_true_offset = 116;
 static constexpr dart::compiler::target::word
-    Thread_bootstrap_native_wrapper_entry_point_offset = 324;
+    Thread_bootstrap_native_wrapper_entry_point_offset = 332;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_entry_point_offset = 268;
+    Thread_call_to_runtime_entry_point_offset = 276;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_stub_offset = 136;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 780;
+    Thread_call_to_runtime_stub_offset = 144;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 792;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 48;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
-    308;
-static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 224;
+    316;
+static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 232;
 static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
-    312;
+    320;
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
-    228;
+    236;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
-    348;
+    356;
 static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 344;
+    Thread_double_negate_address_offset = 352;
 static constexpr dart::compiler::target::word Thread_end_offset = 56;
 static constexpr dart::compiler::target::word
-    Thread_enter_safepoint_stub_offset = 248;
+    Thread_enter_safepoint_stub_offset = 256;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    764;
+static constexpr dart::compiler::target::word
+    Thread_exit_safepoint_stub_offset = 260;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_stub_offset = 264;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_entry_point_offset = 324;
+static constexpr dart::compiler::target::word
+    Thread_fix_allocation_stub_code_offset = 136;
+static constexpr dart::compiler::target::word
+    Thread_fix_callers_target_code_offset = 132;
+static constexpr dart::compiler::target::word
+    Thread_float_absolute_address_offset = 368;
+static constexpr dart::compiler::target::word
+    Thread_float_negate_address_offset = 364;
+static constexpr dart::compiler::target::word Thread_float_not_address_offset =
+    360;
+static constexpr dart::compiler::target::word
+    Thread_float_zerow_address_offset = 372;
+static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
     752;
 static constexpr dart::compiler::target::word
-    Thread_exit_safepoint_stub_offset = 252;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_stub_offset = 256;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 316;
-static constexpr dart::compiler::target::word
-    Thread_fix_allocation_stub_code_offset = 128;
-static constexpr dart::compiler::target::word
-    Thread_fix_callers_target_code_offset = 124;
-static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 360;
-static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 356;
-static constexpr dart::compiler::target::word Thread_float_not_address_offset =
-    352;
-static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 364;
-static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    740;
-static constexpr dart::compiler::target::word
-    Thread_invoke_dart_code_stub_offset = 132;
+    Thread_invoke_dart_code_stub_offset = 140;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    768;
+    780;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 44;
-static constexpr dart::compiler::target::word Thread_isolate_group_offset = 784;
+static constexpr dart::compiler::target::word Thread_isolate_group_offset = 796;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     68;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_return_stub_offset = 232;
+    Thread_lazy_deopt_from_return_stub_offset = 240;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_throw_stub_offset = 236;
+    Thread_lazy_deopt_from_throw_stub_offset = 244;
 static constexpr dart::compiler::target::word
-    Thread_lazy_specialize_type_test_stub_offset = 244;
+    Thread_lazy_specialize_type_test_stub_offset = 252;
 static constexpr dart::compiler::target::word
     Thread_marking_stack_block_offset = 84;
 static constexpr dart::compiler::target::word
-    Thread_megamorphic_call_checked_entry_offset = 300;
+    Thread_megamorphic_call_checked_entry_offset = 308;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_entry_offset = 304;
+    Thread_switchable_call_miss_entry_offset = 312;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_stub_offset = 208;
+    Thread_switchable_call_miss_stub_offset = 216;
 static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 328;
+    Thread_no_scope_native_wrapper_entry_point_offset = 336;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 144;
+    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 152;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 140;
+    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 148;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_with_fpu_regs_stub_offset = 152;
+    Thread_null_error_shared_with_fpu_regs_stub_offset = 160;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_without_fpu_regs_stub_offset = 148;
+    Thread_null_error_shared_without_fpu_regs_stub_offset = 156;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 160;
+    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 168;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 156;
+    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 164;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 168;
+    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 176;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 164;
+    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 172;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_with_fpu_regs_stub_offset = 176;
+    Thread_range_error_shared_with_fpu_regs_stub_offset = 184;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_without_fpu_regs_stub_offset = 172;
-static constexpr dart::compiler::target::word Thread_object_null_offset = 104;
+    Thread_range_error_shared_without_fpu_regs_stub_offset = 180;
+static constexpr dart::compiler::target::word Thread_object_null_offset = 112;
 static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 336;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 744;
+    Thread_predefined_symbols_address_offset = 344;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 756;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 748;
+    Thread_saved_shadow_call_stack_offset = 760;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    756;
+    768;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_stub_offset = 240;
+    Thread_slow_type_test_stub_offset = 248;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_entry_point_offset = 320;
+    Thread_slow_type_test_entry_point_offset = 328;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 32;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
     60;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_flags_offset = 64;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 296;
+    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 304;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 204;
+    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 212;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 292;
+    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 300;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 200;
+    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 208;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
     80;
 static constexpr dart::compiler::target::word
@@ -3673,17 +3685,19 @@
 static constexpr dart::compiler::target::word Thread_top_resource_offset = 20;
 static constexpr dart::compiler::target::word
     Thread_unboxed_int64_runtime_arg_offset = 96;
+static constexpr dart::compiler::target::word
+    Thread_unboxed_double_runtime_arg_offset = 104;
 static constexpr dart::compiler::target::word Thread_vm_tag_offset = 92;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
-    116;
+    124;
 static constexpr dart::compiler::target::word
-    Thread_write_barrier_entry_point_offset = 260;
+    Thread_write_barrier_entry_point_offset = 268;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     36;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 40;
-static constexpr dart::compiler::target::word Thread_callback_code_offset = 760;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 772;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 764;
+    Thread_callback_stack_return_offset = 776;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset = 8;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 12;
 static constexpr dart::compiler::target::word Type_arguments_offset = 16;
@@ -3743,7 +3757,7 @@
     4, 12, 8, 16};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        700, 704, 708, 712, 716, -1, 720, -1, 724, 728, -1, -1, -1, -1, -1, -1};
+        712, 716, 720, 724, 728, -1, 732, -1, 736, 740, -1, -1, -1, -1, -1, -1};
 static constexpr dart::compiler::target::word AbstractType_InstanceSize = 12;
 static constexpr dart::compiler::target::word ApiError_InstanceSize = 8;
 static constexpr dart::compiler::target::word Array_header_size = 12;
@@ -4055,156 +4069,156 @@
 static constexpr dart::compiler::target::word String_length_offset = 8;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 728;
+    Thread_AllocateArray_entry_point_offset = 736;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1480;
+    1496;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    1488;
+    1504;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_code_offset = 232;
+    Thread_array_write_barrier_code_offset = 240;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_entry_point_offset = 520;
+    Thread_array_write_barrier_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    Thread_allocate_mint_with_fpu_regs_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    Thread_allocate_mint_without_fpu_regs_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_entry_point_offset = 552;
+    Thread_allocate_object_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_stub_offset = 368;
+    Thread_allocate_object_stub_offset = 376;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_entry_point_offset = 560;
+    Thread_allocate_object_parameterized_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_stub_offset = 376;
+    Thread_allocate_object_parameterized_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_entry_point_offset = 568;
+    Thread_allocate_object_slow_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_stub_offset = 384;
+    Thread_allocate_object_slow_stub_offset = 392;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1560;
+    1576;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
-static constexpr dart::compiler::target::word Thread_bool_true_offset = 208;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 664;
+static constexpr dart::compiler::target::word Thread_bool_false_offset = 224;
+static constexpr dart::compiler::target::word Thread_bool_true_offset = 216;
 static constexpr dart::compiler::target::word
-    Thread_bootstrap_native_wrapper_entry_point_offset = 640;
+    Thread_bootstrap_native_wrapper_entry_point_offset = 648;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_entry_point_offset = 528;
+    Thread_call_to_runtime_entry_point_offset = 536;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1576;
+    Thread_call_to_runtime_stub_offset = 272;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1592;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 96;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
-    608;
-static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 440;
-static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
     616;
+static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 448;
+static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
+    624;
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
-    448;
+    456;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
-    688;
-static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 680;
-static constexpr dart::compiler::target::word Thread_end_offset = 112;
-static constexpr dart::compiler::target::word
-    Thread_enter_safepoint_stub_offset = 488;
-static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1520;
-static constexpr dart::compiler::target::word
-    Thread_exit_safepoint_stub_offset = 496;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_stub_offset = 504;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 624;
-static constexpr dart::compiler::target::word
-    Thread_fix_allocation_stub_code_offset = 248;
-static constexpr dart::compiler::target::word
-    Thread_fix_callers_target_code_offset = 240;
-static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 712;
-static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 704;
-static constexpr dart::compiler::target::word Thread_float_not_address_offset =
     696;
 static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 720;
-static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1496;
+    Thread_double_negate_address_offset = 688;
+static constexpr dart::compiler::target::word Thread_end_offset = 112;
 static constexpr dart::compiler::target::word
-    Thread_invoke_dart_code_stub_offset = 256;
+    Thread_enter_safepoint_stub_offset = 496;
+static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    1536;
+static constexpr dart::compiler::target::word
+    Thread_exit_safepoint_stub_offset = 504;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_stub_offset = 512;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_entry_point_offset = 632;
+static constexpr dart::compiler::target::word
+    Thread_fix_allocation_stub_code_offset = 256;
+static constexpr dart::compiler::target::word
+    Thread_fix_callers_target_code_offset = 248;
+static constexpr dart::compiler::target::word
+    Thread_float_absolute_address_offset = 720;
+static constexpr dart::compiler::target::word
+    Thread_float_negate_address_offset = 712;
+static constexpr dart::compiler::target::word Thread_float_not_address_offset =
+    704;
+static constexpr dart::compiler::target::word
+    Thread_float_zerow_address_offset = 728;
+static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
+    1512;
+static constexpr dart::compiler::target::word
+    Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1552;
+    1568;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 88;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1584;
+    1600;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_return_stub_offset = 456;
+    Thread_lazy_deopt_from_return_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_throw_stub_offset = 464;
+    Thread_lazy_deopt_from_throw_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    Thread_lazy_specialize_type_test_stub_offset = 480;
+    Thread_lazy_specialize_type_test_stub_offset = 488;
 static constexpr dart::compiler::target::word
     Thread_marking_stack_block_offset = 168;
 static constexpr dart::compiler::target::word
-    Thread_megamorphic_call_checked_entry_offset = 592;
+    Thread_megamorphic_call_checked_entry_offset = 600;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_entry_offset = 600;
+    Thread_switchable_call_miss_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_stub_offset = 408;
+    Thread_switchable_call_miss_stub_offset = 416;
 static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    Thread_no_scope_native_wrapper_entry_point_offset = 656;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 272;
+    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 280;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    Thread_null_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    Thread_null_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    Thread_range_error_shared_with_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
-static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
+    Thread_range_error_shared_without_fpu_regs_stub_offset = 344;
+static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 664;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1504;
+    Thread_predefined_symbols_address_offset = 672;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1520;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1512;
+    Thread_saved_shadow_call_stack_offset = 1528;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1528;
+    1544;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_stub_offset = 472;
+    Thread_slow_type_test_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_entry_point_offset = 632;
+    Thread_slow_type_test_entry_point_offset = 640;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 64;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
     120;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_flags_offset = 128;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 408;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 584;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 400;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
     160;
 static constexpr dart::compiler::target::word
@@ -4213,18 +4227,20 @@
 static constexpr dart::compiler::target::word Thread_top_resource_offset = 40;
 static constexpr dart::compiler::target::word
     Thread_unboxed_int64_runtime_arg_offset = 192;
+static constexpr dart::compiler::target::word
+    Thread_unboxed_double_runtime_arg_offset = 200;
 static constexpr dart::compiler::target::word Thread_vm_tag_offset = 184;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
-    224;
+    232;
 static constexpr dart::compiler::target::word
-    Thread_write_barrier_entry_point_offset = 512;
+    Thread_write_barrier_entry_point_offset = 520;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     72;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 80;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1536;
+    1552;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1544;
+    Thread_callback_stack_return_offset = 1560;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset =
     16;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 16;
@@ -4285,8 +4301,8 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        1392, 1400, 1408, 1416, -1,   -1,   1424, 1432,
-        1440, 1448, 1456, -1,   1464, 1472, -1,   -1};
+        1408, 1416, 1424, 1432, -1,   -1,   1440, 1448,
+        1456, 1464, 1472, -1,   1480, 1488, -1,   -1};
 static constexpr dart::compiler::target::word AbstractType_InstanceSize = 24;
 static constexpr dart::compiler::target::word ApiError_InstanceSize = 16;
 static constexpr dart::compiler::target::word Array_header_size = 24;
@@ -4596,154 +4612,154 @@
 static constexpr dart::compiler::target::word String_length_offset = 4;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 4;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 368;
+    Thread_AllocateArray_entry_point_offset = 376;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    700;
+    712;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    704;
+    716;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_code_offset = 120;
+    Thread_array_write_barrier_code_offset = 128;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_entry_point_offset = 264;
+    Thread_array_write_barrier_entry_point_offset = 272;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 272;
+    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 280;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_stub_offset = 180;
+    Thread_allocate_mint_with_fpu_regs_stub_offset = 188;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 276;
+    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 284;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_stub_offset = 184;
+    Thread_allocate_mint_without_fpu_regs_stub_offset = 192;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_entry_point_offset = 280;
+    Thread_allocate_object_entry_point_offset = 288;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_stub_offset = 188;
+    Thread_allocate_object_stub_offset = 196;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_entry_point_offset = 284;
+    Thread_allocate_object_parameterized_entry_point_offset = 292;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_stub_offset = 192;
+    Thread_allocate_object_parameterized_stub_offset = 200;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_entry_point_offset = 288;
+    Thread_allocate_object_slow_entry_point_offset = 296;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_stub_offset = 196;
-static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 740;
+    Thread_allocate_object_slow_stub_offset = 204;
+static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 752;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 332;
-static constexpr dart::compiler::target::word Thread_bool_false_offset = 112;
-static constexpr dart::compiler::target::word Thread_bool_true_offset = 108;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 340;
+static constexpr dart::compiler::target::word Thread_bool_false_offset = 120;
+static constexpr dart::compiler::target::word Thread_bool_true_offset = 116;
 static constexpr dart::compiler::target::word
-    Thread_bootstrap_native_wrapper_entry_point_offset = 324;
+    Thread_bootstrap_native_wrapper_entry_point_offset = 332;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_entry_point_offset = 268;
+    Thread_call_to_runtime_entry_point_offset = 276;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_stub_offset = 136;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 748;
+    Thread_call_to_runtime_stub_offset = 144;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 760;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 48;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
-    308;
-static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 224;
+    316;
+static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 232;
 static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
-    312;
+    320;
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
-    228;
+    236;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
-    348;
+    356;
 static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 344;
+    Thread_double_negate_address_offset = 352;
 static constexpr dart::compiler::target::word Thread_end_offset = 56;
 static constexpr dart::compiler::target::word
-    Thread_enter_safepoint_stub_offset = 248;
+    Thread_enter_safepoint_stub_offset = 256;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    732;
+static constexpr dart::compiler::target::word
+    Thread_exit_safepoint_stub_offset = 260;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_stub_offset = 264;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_entry_point_offset = 324;
+static constexpr dart::compiler::target::word
+    Thread_fix_allocation_stub_code_offset = 136;
+static constexpr dart::compiler::target::word
+    Thread_fix_callers_target_code_offset = 132;
+static constexpr dart::compiler::target::word
+    Thread_float_absolute_address_offset = 368;
+static constexpr dart::compiler::target::word
+    Thread_float_negate_address_offset = 364;
+static constexpr dart::compiler::target::word Thread_float_not_address_offset =
+    360;
+static constexpr dart::compiler::target::word
+    Thread_float_zerow_address_offset = 372;
+static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
     720;
 static constexpr dart::compiler::target::word
-    Thread_exit_safepoint_stub_offset = 252;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_stub_offset = 256;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 316;
-static constexpr dart::compiler::target::word
-    Thread_fix_allocation_stub_code_offset = 128;
-static constexpr dart::compiler::target::word
-    Thread_fix_callers_target_code_offset = 124;
-static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 360;
-static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 356;
-static constexpr dart::compiler::target::word Thread_float_not_address_offset =
-    352;
-static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 364;
-static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    708;
-static constexpr dart::compiler::target::word
-    Thread_invoke_dart_code_stub_offset = 132;
+    Thread_invoke_dart_code_stub_offset = 140;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    736;
+    748;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 44;
-static constexpr dart::compiler::target::word Thread_isolate_group_offset = 752;
+static constexpr dart::compiler::target::word Thread_isolate_group_offset = 764;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     68;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_return_stub_offset = 232;
+    Thread_lazy_deopt_from_return_stub_offset = 240;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_throw_stub_offset = 236;
+    Thread_lazy_deopt_from_throw_stub_offset = 244;
 static constexpr dart::compiler::target::word
-    Thread_lazy_specialize_type_test_stub_offset = 244;
+    Thread_lazy_specialize_type_test_stub_offset = 252;
 static constexpr dart::compiler::target::word
     Thread_marking_stack_block_offset = 84;
 static constexpr dart::compiler::target::word
-    Thread_megamorphic_call_checked_entry_offset = 300;
+    Thread_megamorphic_call_checked_entry_offset = 308;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_entry_offset = 304;
+    Thread_switchable_call_miss_entry_offset = 312;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_stub_offset = 208;
+    Thread_switchable_call_miss_stub_offset = 216;
 static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 328;
+    Thread_no_scope_native_wrapper_entry_point_offset = 336;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 144;
+    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 152;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 140;
+    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 148;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_with_fpu_regs_stub_offset = 152;
+    Thread_null_error_shared_with_fpu_regs_stub_offset = 160;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_without_fpu_regs_stub_offset = 148;
+    Thread_null_error_shared_without_fpu_regs_stub_offset = 156;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 160;
+    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 168;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 156;
+    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 164;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 168;
+    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 176;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 164;
+    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 172;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_with_fpu_regs_stub_offset = 176;
+    Thread_range_error_shared_with_fpu_regs_stub_offset = 184;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_without_fpu_regs_stub_offset = 172;
-static constexpr dart::compiler::target::word Thread_object_null_offset = 104;
+    Thread_range_error_shared_without_fpu_regs_stub_offset = 180;
+static constexpr dart::compiler::target::word Thread_object_null_offset = 112;
 static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 336;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 712;
+    Thread_predefined_symbols_address_offset = 344;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 724;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 716;
+    Thread_saved_shadow_call_stack_offset = 728;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    724;
+    736;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_stub_offset = 240;
+    Thread_slow_type_test_stub_offset = 248;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_entry_point_offset = 320;
+    Thread_slow_type_test_entry_point_offset = 328;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 32;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
     60;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_flags_offset = 64;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 296;
+    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 304;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 204;
+    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 212;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 292;
+    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 300;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 200;
+    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 208;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
     80;
 static constexpr dart::compiler::target::word
@@ -4752,17 +4768,19 @@
 static constexpr dart::compiler::target::word Thread_top_resource_offset = 20;
 static constexpr dart::compiler::target::word
     Thread_unboxed_int64_runtime_arg_offset = 96;
+static constexpr dart::compiler::target::word
+    Thread_unboxed_double_runtime_arg_offset = 104;
 static constexpr dart::compiler::target::word Thread_vm_tag_offset = 92;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
-    116;
+    124;
 static constexpr dart::compiler::target::word
-    Thread_write_barrier_entry_point_offset = 260;
+    Thread_write_barrier_entry_point_offset = 268;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     36;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 40;
-static constexpr dart::compiler::target::word Thread_callback_code_offset = 728;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 740;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 732;
+    Thread_callback_stack_return_offset = 744;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset = 8;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 12;
 static constexpr dart::compiler::target::word Type_arguments_offset = 16;
@@ -5131,156 +5149,156 @@
 static constexpr dart::compiler::target::word String_length_offset = 8;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 728;
+    Thread_AllocateArray_entry_point_offset = 736;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1544;
+    1560;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    1552;
+    1568;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_code_offset = 232;
+    Thread_array_write_barrier_code_offset = 240;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_entry_point_offset = 520;
+    Thread_array_write_barrier_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    Thread_allocate_mint_with_fpu_regs_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    Thread_allocate_mint_without_fpu_regs_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_entry_point_offset = 552;
+    Thread_allocate_object_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_stub_offset = 368;
+    Thread_allocate_object_stub_offset = 376;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_entry_point_offset = 560;
+    Thread_allocate_object_parameterized_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_stub_offset = 376;
+    Thread_allocate_object_parameterized_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_entry_point_offset = 568;
+    Thread_allocate_object_slow_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_stub_offset = 384;
+    Thread_allocate_object_slow_stub_offset = 392;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1624;
+    1640;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
-static constexpr dart::compiler::target::word Thread_bool_true_offset = 208;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 664;
+static constexpr dart::compiler::target::word Thread_bool_false_offset = 224;
+static constexpr dart::compiler::target::word Thread_bool_true_offset = 216;
 static constexpr dart::compiler::target::word
-    Thread_bootstrap_native_wrapper_entry_point_offset = 640;
+    Thread_bootstrap_native_wrapper_entry_point_offset = 648;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_entry_point_offset = 528;
+    Thread_call_to_runtime_entry_point_offset = 536;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1640;
+    Thread_call_to_runtime_stub_offset = 272;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1656;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 96;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
-    608;
-static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 440;
-static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
     616;
+static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 448;
+static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
+    624;
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
-    448;
+    456;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
-    688;
-static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 680;
-static constexpr dart::compiler::target::word Thread_end_offset = 112;
-static constexpr dart::compiler::target::word
-    Thread_enter_safepoint_stub_offset = 488;
-static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1584;
-static constexpr dart::compiler::target::word
-    Thread_exit_safepoint_stub_offset = 496;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_stub_offset = 504;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 624;
-static constexpr dart::compiler::target::word
-    Thread_fix_allocation_stub_code_offset = 248;
-static constexpr dart::compiler::target::word
-    Thread_fix_callers_target_code_offset = 240;
-static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 712;
-static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 704;
-static constexpr dart::compiler::target::word Thread_float_not_address_offset =
     696;
 static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 720;
-static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1560;
+    Thread_double_negate_address_offset = 688;
+static constexpr dart::compiler::target::word Thread_end_offset = 112;
 static constexpr dart::compiler::target::word
-    Thread_invoke_dart_code_stub_offset = 256;
+    Thread_enter_safepoint_stub_offset = 496;
+static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    1600;
+static constexpr dart::compiler::target::word
+    Thread_exit_safepoint_stub_offset = 504;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_stub_offset = 512;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_entry_point_offset = 632;
+static constexpr dart::compiler::target::word
+    Thread_fix_allocation_stub_code_offset = 256;
+static constexpr dart::compiler::target::word
+    Thread_fix_callers_target_code_offset = 248;
+static constexpr dart::compiler::target::word
+    Thread_float_absolute_address_offset = 720;
+static constexpr dart::compiler::target::word
+    Thread_float_negate_address_offset = 712;
+static constexpr dart::compiler::target::word Thread_float_not_address_offset =
+    704;
+static constexpr dart::compiler::target::word
+    Thread_float_zerow_address_offset = 728;
+static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
+    1576;
+static constexpr dart::compiler::target::word
+    Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1616;
+    1632;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 88;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1648;
+    1664;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_return_stub_offset = 456;
+    Thread_lazy_deopt_from_return_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_throw_stub_offset = 464;
+    Thread_lazy_deopt_from_throw_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    Thread_lazy_specialize_type_test_stub_offset = 480;
+    Thread_lazy_specialize_type_test_stub_offset = 488;
 static constexpr dart::compiler::target::word
     Thread_marking_stack_block_offset = 168;
 static constexpr dart::compiler::target::word
-    Thread_megamorphic_call_checked_entry_offset = 592;
+    Thread_megamorphic_call_checked_entry_offset = 600;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_entry_offset = 600;
+    Thread_switchable_call_miss_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_stub_offset = 408;
+    Thread_switchable_call_miss_stub_offset = 416;
 static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    Thread_no_scope_native_wrapper_entry_point_offset = 656;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 272;
+    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 280;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    Thread_null_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    Thread_null_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    Thread_range_error_shared_with_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
-static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
+    Thread_range_error_shared_without_fpu_regs_stub_offset = 344;
+static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 664;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1568;
+    Thread_predefined_symbols_address_offset = 672;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1584;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1576;
+    Thread_saved_shadow_call_stack_offset = 1592;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1592;
+    1608;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_stub_offset = 472;
+    Thread_slow_type_test_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_entry_point_offset = 632;
+    Thread_slow_type_test_entry_point_offset = 640;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 64;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
     120;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_flags_offset = 128;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 408;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 584;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 400;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
     160;
 static constexpr dart::compiler::target::word
@@ -5289,18 +5307,20 @@
 static constexpr dart::compiler::target::word Thread_top_resource_offset = 40;
 static constexpr dart::compiler::target::word
     Thread_unboxed_int64_runtime_arg_offset = 192;
+static constexpr dart::compiler::target::word
+    Thread_unboxed_double_runtime_arg_offset = 200;
 static constexpr dart::compiler::target::word Thread_vm_tag_offset = 184;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
-    224;
+    232;
 static constexpr dart::compiler::target::word
-    Thread_write_barrier_entry_point_offset = 512;
+    Thread_write_barrier_entry_point_offset = 520;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     72;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 80;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1600;
+    1616;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1608;
+    Thread_callback_stack_return_offset = 1624;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset =
     16;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 16;
@@ -5361,9 +5381,9 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        1392, 1400, 1408, 1416, 1424, 1432, 1440, 1448, 1456, 1464, 1472,
-        1480, 1488, 1496, 1504, -1,   -1,   -1,   -1,   1512, 1520, -1,
-        -1,   1528, 1536, 1544, -1,   -1,   -1,   -1,   -1,   -1};
+        1408, 1416, 1424, 1432, 1440, 1448, 1456, 1464, 1472, 1480, 1488,
+        1496, 1504, 1512, 1520, -1,   -1,   -1,   -1,   1528, 1536, -1,
+        -1,   1544, 1552, 1560, -1,   -1,   -1,   -1,   -1,   -1};
 static constexpr dart::compiler::target::word AbstractType_InstanceSize = 24;
 static constexpr dart::compiler::target::word ApiError_InstanceSize = 16;
 static constexpr dart::compiler::target::word Array_header_size = 24;
@@ -5674,156 +5694,156 @@
 static constexpr dart::compiler::target::word String_length_offset = 8;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 728;
+    Thread_AllocateArray_entry_point_offset = 736;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1480;
+    1496;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    1488;
+    1504;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_code_offset = 232;
+    Thread_array_write_barrier_code_offset = 240;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_entry_point_offset = 520;
+    Thread_array_write_barrier_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    Thread_allocate_mint_with_fpu_regs_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    Thread_allocate_mint_without_fpu_regs_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_entry_point_offset = 552;
+    Thread_allocate_object_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_stub_offset = 368;
+    Thread_allocate_object_stub_offset = 376;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_entry_point_offset = 560;
+    Thread_allocate_object_parameterized_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_stub_offset = 376;
+    Thread_allocate_object_parameterized_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_entry_point_offset = 568;
+    Thread_allocate_object_slow_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_stub_offset = 384;
+    Thread_allocate_object_slow_stub_offset = 392;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1560;
+    1576;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
-static constexpr dart::compiler::target::word Thread_bool_true_offset = 208;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 664;
+static constexpr dart::compiler::target::word Thread_bool_false_offset = 224;
+static constexpr dart::compiler::target::word Thread_bool_true_offset = 216;
 static constexpr dart::compiler::target::word
-    Thread_bootstrap_native_wrapper_entry_point_offset = 640;
+    Thread_bootstrap_native_wrapper_entry_point_offset = 648;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_entry_point_offset = 528;
+    Thread_call_to_runtime_entry_point_offset = 536;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1576;
+    Thread_call_to_runtime_stub_offset = 272;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1592;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 96;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
-    608;
-static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 440;
-static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
     616;
+static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 448;
+static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
+    624;
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
-    448;
+    456;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
-    688;
-static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 680;
-static constexpr dart::compiler::target::word Thread_end_offset = 112;
-static constexpr dart::compiler::target::word
-    Thread_enter_safepoint_stub_offset = 488;
-static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1520;
-static constexpr dart::compiler::target::word
-    Thread_exit_safepoint_stub_offset = 496;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_stub_offset = 504;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 624;
-static constexpr dart::compiler::target::word
-    Thread_fix_allocation_stub_code_offset = 248;
-static constexpr dart::compiler::target::word
-    Thread_fix_callers_target_code_offset = 240;
-static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 712;
-static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 704;
-static constexpr dart::compiler::target::word Thread_float_not_address_offset =
     696;
 static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 720;
-static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1496;
+    Thread_double_negate_address_offset = 688;
+static constexpr dart::compiler::target::word Thread_end_offset = 112;
 static constexpr dart::compiler::target::word
-    Thread_invoke_dart_code_stub_offset = 256;
+    Thread_enter_safepoint_stub_offset = 496;
+static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    1536;
+static constexpr dart::compiler::target::word
+    Thread_exit_safepoint_stub_offset = 504;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_stub_offset = 512;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_entry_point_offset = 632;
+static constexpr dart::compiler::target::word
+    Thread_fix_allocation_stub_code_offset = 256;
+static constexpr dart::compiler::target::word
+    Thread_fix_callers_target_code_offset = 248;
+static constexpr dart::compiler::target::word
+    Thread_float_absolute_address_offset = 720;
+static constexpr dart::compiler::target::word
+    Thread_float_negate_address_offset = 712;
+static constexpr dart::compiler::target::word Thread_float_not_address_offset =
+    704;
+static constexpr dart::compiler::target::word
+    Thread_float_zerow_address_offset = 728;
+static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
+    1512;
+static constexpr dart::compiler::target::word
+    Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1552;
+    1568;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 88;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1584;
+    1600;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_return_stub_offset = 456;
+    Thread_lazy_deopt_from_return_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_throw_stub_offset = 464;
+    Thread_lazy_deopt_from_throw_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    Thread_lazy_specialize_type_test_stub_offset = 480;
+    Thread_lazy_specialize_type_test_stub_offset = 488;
 static constexpr dart::compiler::target::word
     Thread_marking_stack_block_offset = 168;
 static constexpr dart::compiler::target::word
-    Thread_megamorphic_call_checked_entry_offset = 592;
+    Thread_megamorphic_call_checked_entry_offset = 600;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_entry_offset = 600;
+    Thread_switchable_call_miss_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_stub_offset = 408;
+    Thread_switchable_call_miss_stub_offset = 416;
 static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    Thread_no_scope_native_wrapper_entry_point_offset = 656;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 272;
+    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 280;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    Thread_null_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    Thread_null_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    Thread_range_error_shared_with_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
-static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
+    Thread_range_error_shared_without_fpu_regs_stub_offset = 344;
+static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 664;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1504;
+    Thread_predefined_symbols_address_offset = 672;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1520;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1512;
+    Thread_saved_shadow_call_stack_offset = 1528;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1528;
+    1544;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_stub_offset = 472;
+    Thread_slow_type_test_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_entry_point_offset = 632;
+    Thread_slow_type_test_entry_point_offset = 640;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 64;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
     120;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_flags_offset = 128;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 408;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 584;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 400;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
     160;
 static constexpr dart::compiler::target::word
@@ -5832,18 +5852,20 @@
 static constexpr dart::compiler::target::word Thread_top_resource_offset = 40;
 static constexpr dart::compiler::target::word
     Thread_unboxed_int64_runtime_arg_offset = 192;
+static constexpr dart::compiler::target::word
+    Thread_unboxed_double_runtime_arg_offset = 200;
 static constexpr dart::compiler::target::word Thread_vm_tag_offset = 184;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
-    224;
+    232;
 static constexpr dart::compiler::target::word
-    Thread_write_barrier_entry_point_offset = 512;
+    Thread_write_barrier_entry_point_offset = 520;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     72;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 80;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1536;
+    1552;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1544;
+    Thread_callback_stack_return_offset = 1560;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset =
     16;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 16;
@@ -5904,8 +5926,8 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        1392, 1400, 1408, 1416, -1,   -1,   1424, 1432,
-        1440, 1448, 1456, -1,   1464, 1472, -1,   -1};
+        1408, 1416, 1424, 1432, -1,   -1,   1440, 1448,
+        1456, 1464, 1472, -1,   1480, 1488, -1,   -1};
 static constexpr dart::compiler::target::word AbstractType_InstanceSize = 24;
 static constexpr dart::compiler::target::word ApiError_InstanceSize = 16;
 static constexpr dart::compiler::target::word Array_header_size = 16;
@@ -6216,156 +6238,156 @@
 static constexpr dart::compiler::target::word String_length_offset = 8;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 728;
+    Thread_AllocateArray_entry_point_offset = 736;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1544;
+    1560;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    1552;
+    1568;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_code_offset = 232;
+    Thread_array_write_barrier_code_offset = 240;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_entry_point_offset = 520;
+    Thread_array_write_barrier_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    Thread_allocate_mint_with_fpu_regs_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    Thread_allocate_mint_without_fpu_regs_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_entry_point_offset = 552;
+    Thread_allocate_object_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_stub_offset = 368;
+    Thread_allocate_object_stub_offset = 376;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_entry_point_offset = 560;
+    Thread_allocate_object_parameterized_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_stub_offset = 376;
+    Thread_allocate_object_parameterized_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_entry_point_offset = 568;
+    Thread_allocate_object_slow_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_stub_offset = 384;
+    Thread_allocate_object_slow_stub_offset = 392;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1624;
+    1640;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
-static constexpr dart::compiler::target::word Thread_bool_true_offset = 208;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 664;
+static constexpr dart::compiler::target::word Thread_bool_false_offset = 224;
+static constexpr dart::compiler::target::word Thread_bool_true_offset = 216;
 static constexpr dart::compiler::target::word
-    Thread_bootstrap_native_wrapper_entry_point_offset = 640;
+    Thread_bootstrap_native_wrapper_entry_point_offset = 648;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_entry_point_offset = 528;
+    Thread_call_to_runtime_entry_point_offset = 536;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1640;
+    Thread_call_to_runtime_stub_offset = 272;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1656;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 96;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
-    608;
-static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 440;
-static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
     616;
+static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 448;
+static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
+    624;
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
-    448;
+    456;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
-    688;
-static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 680;
-static constexpr dart::compiler::target::word Thread_end_offset = 112;
-static constexpr dart::compiler::target::word
-    Thread_enter_safepoint_stub_offset = 488;
-static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1584;
-static constexpr dart::compiler::target::word
-    Thread_exit_safepoint_stub_offset = 496;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_stub_offset = 504;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 624;
-static constexpr dart::compiler::target::word
-    Thread_fix_allocation_stub_code_offset = 248;
-static constexpr dart::compiler::target::word
-    Thread_fix_callers_target_code_offset = 240;
-static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 712;
-static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 704;
-static constexpr dart::compiler::target::word Thread_float_not_address_offset =
     696;
 static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 720;
-static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1560;
+    Thread_double_negate_address_offset = 688;
+static constexpr dart::compiler::target::word Thread_end_offset = 112;
 static constexpr dart::compiler::target::word
-    Thread_invoke_dart_code_stub_offset = 256;
+    Thread_enter_safepoint_stub_offset = 496;
+static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    1600;
+static constexpr dart::compiler::target::word
+    Thread_exit_safepoint_stub_offset = 504;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_stub_offset = 512;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_entry_point_offset = 632;
+static constexpr dart::compiler::target::word
+    Thread_fix_allocation_stub_code_offset = 256;
+static constexpr dart::compiler::target::word
+    Thread_fix_callers_target_code_offset = 248;
+static constexpr dart::compiler::target::word
+    Thread_float_absolute_address_offset = 720;
+static constexpr dart::compiler::target::word
+    Thread_float_negate_address_offset = 712;
+static constexpr dart::compiler::target::word Thread_float_not_address_offset =
+    704;
+static constexpr dart::compiler::target::word
+    Thread_float_zerow_address_offset = 728;
+static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
+    1576;
+static constexpr dart::compiler::target::word
+    Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1616;
+    1632;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 88;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1648;
+    1664;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_return_stub_offset = 456;
+    Thread_lazy_deopt_from_return_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_throw_stub_offset = 464;
+    Thread_lazy_deopt_from_throw_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    Thread_lazy_specialize_type_test_stub_offset = 480;
+    Thread_lazy_specialize_type_test_stub_offset = 488;
 static constexpr dart::compiler::target::word
     Thread_marking_stack_block_offset = 168;
 static constexpr dart::compiler::target::word
-    Thread_megamorphic_call_checked_entry_offset = 592;
+    Thread_megamorphic_call_checked_entry_offset = 600;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_entry_offset = 600;
+    Thread_switchable_call_miss_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_stub_offset = 408;
+    Thread_switchable_call_miss_stub_offset = 416;
 static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    Thread_no_scope_native_wrapper_entry_point_offset = 656;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 272;
+    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 280;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    Thread_null_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    Thread_null_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    Thread_range_error_shared_with_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
-static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
+    Thread_range_error_shared_without_fpu_regs_stub_offset = 344;
+static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 664;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1568;
+    Thread_predefined_symbols_address_offset = 672;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1584;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1576;
+    Thread_saved_shadow_call_stack_offset = 1592;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1592;
+    1608;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_stub_offset = 472;
+    Thread_slow_type_test_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    Thread_slow_type_test_entry_point_offset = 632;
+    Thread_slow_type_test_entry_point_offset = 640;
 static constexpr dart::compiler::target::word Thread_stack_limit_offset = 64;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
     120;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_flags_offset = 128;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 408;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 584;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 400;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
     160;
 static constexpr dart::compiler::target::word
@@ -6374,18 +6396,20 @@
 static constexpr dart::compiler::target::word Thread_top_resource_offset = 40;
 static constexpr dart::compiler::target::word
     Thread_unboxed_int64_runtime_arg_offset = 192;
+static constexpr dart::compiler::target::word
+    Thread_unboxed_double_runtime_arg_offset = 200;
 static constexpr dart::compiler::target::word Thread_vm_tag_offset = 184;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
-    224;
+    232;
 static constexpr dart::compiler::target::word
-    Thread_write_barrier_entry_point_offset = 512;
+    Thread_write_barrier_entry_point_offset = 520;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     72;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 80;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1600;
+    1616;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1608;
+    Thread_callback_stack_return_offset = 1624;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset =
     16;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 16;
@@ -6446,9 +6470,9 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        1392, 1400, 1408, 1416, 1424, 1432, 1440, 1448, 1456, 1464, 1472,
-        1480, 1488, 1496, 1504, -1,   -1,   -1,   -1,   1512, 1520, -1,
-        -1,   1528, 1536, 1544, -1,   -1,   -1,   -1,   -1,   -1};
+        1408, 1416, 1424, 1432, 1440, 1448, 1456, 1464, 1472, 1480, 1488,
+        1496, 1504, 1512, 1520, -1,   -1,   -1,   -1,   1528, 1536, -1,
+        -1,   1544, 1552, 1560, -1,   -1,   -1,   -1,   -1,   -1};
 static constexpr dart::compiler::target::word AbstractType_InstanceSize = 24;
 static constexpr dart::compiler::target::word ApiError_InstanceSize = 16;
 static constexpr dart::compiler::target::word Array_header_size = 16;
@@ -6795,148 +6819,148 @@
 static constexpr dart::compiler::target::word
     AOT_SubtypeTestCache_cache_offset = 4;
 static constexpr dart::compiler::target::word
-    AOT_Thread_AllocateArray_entry_point_offset = 368;
+    AOT_Thread_AllocateArray_entry_point_offset = 376;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 732;
+    AOT_Thread_active_exception_offset = 744;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 736;
+    AOT_Thread_active_stacktrace_offset = 748;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_code_offset = 120;
+    AOT_Thread_array_write_barrier_code_offset = 128;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_entry_point_offset = 264;
+    AOT_Thread_array_write_barrier_entry_point_offset = 272;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 272;
+    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 280;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 180;
+    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 188;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 276;
+    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 284;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 184;
+    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 192;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_entry_point_offset = 280;
+    AOT_Thread_allocate_object_entry_point_offset = 288;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_stub_offset = 188;
+    AOT_Thread_allocate_object_stub_offset = 196;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_entry_point_offset = 284;
+    AOT_Thread_allocate_object_parameterized_entry_point_offset = 292;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_stub_offset = 192;
+    AOT_Thread_allocate_object_parameterized_stub_offset = 200;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_entry_point_offset = 288;
+    AOT_Thread_allocate_object_slow_entry_point_offset = 296;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_stub_offset = 196;
+    AOT_Thread_allocate_object_slow_stub_offset = 204;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    772;
+    784;
 static constexpr dart::compiler::target::word
-    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 332;
+    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 340;
 static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
-    112;
-static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 108;
+    120;
+static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 116;
 static constexpr dart::compiler::target::word
-    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 324;
+    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 332;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_entry_point_offset = 268;
+    AOT_Thread_call_to_runtime_entry_point_offset = 276;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_stub_offset = 136;
+    AOT_Thread_call_to_runtime_stub_offset = 144;
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
-    780;
+    792;
 static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 48;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
-    308;
+    316;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
-    224;
+    232;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_entry_offset = 312;
+    AOT_Thread_deoptimize_entry_offset = 320;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_stub_offset = 228;
+    AOT_Thread_deoptimize_stub_offset = 236;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_abs_address_offset = 348;
+    AOT_Thread_double_abs_address_offset = 356;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_negate_address_offset = 344;
+    AOT_Thread_double_negate_address_offset = 352;
 static constexpr dart::compiler::target::word AOT_Thread_end_offset = 56;
 static constexpr dart::compiler::target::word
-    AOT_Thread_enter_safepoint_stub_offset = 248;
+    AOT_Thread_enter_safepoint_stub_offset = 256;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 752;
+    AOT_Thread_execution_state_offset = 764;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_safepoint_stub_offset = 252;
+    AOT_Thread_exit_safepoint_stub_offset = 260;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_stub_offset = 256;
+    AOT_Thread_call_native_through_safepoint_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_entry_point_offset = 316;
+    AOT_Thread_call_native_through_safepoint_entry_point_offset = 324;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_allocation_stub_code_offset = 128;
+    AOT_Thread_fix_allocation_stub_code_offset = 136;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_callers_target_code_offset = 124;
+    AOT_Thread_fix_callers_target_code_offset = 132;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_absolute_address_offset = 360;
+    AOT_Thread_float_absolute_address_offset = 368;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_negate_address_offset = 356;
+    AOT_Thread_float_negate_address_offset = 364;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_not_address_offset = 352;
+    AOT_Thread_float_not_address_offset = 360;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_zerow_address_offset = 364;
+    AOT_Thread_float_zerow_address_offset = 372;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 740;
+    AOT_Thread_global_object_pool_offset = 752;
 static constexpr dart::compiler::target::word
-    AOT_Thread_invoke_dart_code_stub_offset = 132;
+    AOT_Thread_invoke_dart_code_stub_offset = 140;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 768;
+    AOT_Thread_exit_through_ffi_offset = 780;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 44;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    784;
+    796;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 68;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_return_stub_offset = 232;
+    AOT_Thread_lazy_deopt_from_return_stub_offset = 240;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_throw_stub_offset = 236;
+    AOT_Thread_lazy_deopt_from_throw_stub_offset = 244;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_specialize_type_test_stub_offset = 244;
+    AOT_Thread_lazy_specialize_type_test_stub_offset = 252;
 static constexpr dart::compiler::target::word
     AOT_Thread_marking_stack_block_offset = 84;
 static constexpr dart::compiler::target::word
-    AOT_Thread_megamorphic_call_checked_entry_offset = 300;
+    AOT_Thread_megamorphic_call_checked_entry_offset = 308;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_entry_offset = 304;
+    AOT_Thread_switchable_call_miss_entry_offset = 312;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_stub_offset = 208;
+    AOT_Thread_switchable_call_miss_stub_offset = 216;
 static constexpr dart::compiler::target::word
-    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 328;
+    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 336;
 static constexpr dart::compiler::target::word
-    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 144;
+    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 152;
 static constexpr dart::compiler::target::word
     AOT_Thread_late_initialization_error_shared_without_fpu_regs_stub_offset =
-        140;
+        148;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 152;
+    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 160;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 148;
+    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 156;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 160;
+    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 168;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 156;
+    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 164;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 168;
+    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 176;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 164;
+    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 172;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 176;
+    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 184;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 172;
+    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 180;
 static constexpr dart::compiler::target::word AOT_Thread_object_null_offset =
-    104;
+    112;
 static constexpr dart::compiler::target::word
-    AOT_Thread_predefined_symbols_address_offset = 336;
-static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 744;
+    AOT_Thread_predefined_symbols_address_offset = 344;
+static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 756;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 748;
+    AOT_Thread_saved_shadow_call_stack_offset = 760;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 756;
+    AOT_Thread_safepoint_state_offset = 768;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_stub_offset = 240;
+    AOT_Thread_slow_type_test_stub_offset = 248;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_entry_point_offset = 320;
+    AOT_Thread_slow_type_test_entry_point_offset = 328;
 static constexpr dart::compiler::target::word AOT_Thread_stack_limit_offset =
     32;
 static constexpr dart::compiler::target::word
@@ -6944,13 +6968,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_stack_overflow_flags_offset = 64;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 296;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 304;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 204;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 212;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 292;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 300;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 200;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 208;
 static constexpr dart::compiler::target::word
     AOT_Thread_store_buffer_block_offset = 80;
 static constexpr dart::compiler::target::word
@@ -6960,18 +6984,20 @@
     20;
 static constexpr dart::compiler::target::word
     AOT_Thread_unboxed_int64_runtime_arg_offset = 96;
+static constexpr dart::compiler::target::word
+    AOT_Thread_unboxed_double_runtime_arg_offset = 104;
 static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 92;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_code_offset = 116;
+    AOT_Thread_write_barrier_code_offset = 124;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_entry_point_offset = 260;
+    AOT_Thread_write_barrier_entry_point_offset = 268;
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_mask_offset = 36;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 40;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    760;
+    772;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 764;
+    AOT_Thread_callback_stack_return_offset = 776;
 static constexpr dart::compiler::target::word
     AOT_TimelineStream_enabled_offset = 8;
 static constexpr dart::compiler::target::word AOT_TwoByteString_data_offset =
@@ -7044,7 +7070,7 @@
     4, 12, 8, 16};
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_wrappers_thread_offset[] = {
-        700, 704, 708, 712, 716, -1, 720, -1, 724, 728, -1, -1, -1, -1, -1, -1};
+        712, 716, 720, 724, 728, -1, 732, -1, 736, 740, -1, -1, -1, -1, -1, -1};
 static constexpr dart::compiler::target::word AOT_AbstractType_InstanceSize =
     12;
 static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 8;
@@ -7402,149 +7428,149 @@
 static constexpr dart::compiler::target::word
     AOT_SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    AOT_Thread_AllocateArray_entry_point_offset = 728;
+    AOT_Thread_AllocateArray_entry_point_offset = 736;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1480;
+    AOT_Thread_active_exception_offset = 1496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1488;
+    AOT_Thread_active_stacktrace_offset = 1504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_code_offset = 232;
+    AOT_Thread_array_write_barrier_code_offset = 240;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_entry_point_offset = 520;
+    AOT_Thread_array_write_barrier_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_entry_point_offset = 552;
+    AOT_Thread_allocate_object_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_stub_offset = 368;
+    AOT_Thread_allocate_object_stub_offset = 376;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_entry_point_offset = 560;
+    AOT_Thread_allocate_object_parameterized_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_stub_offset = 376;
+    AOT_Thread_allocate_object_parameterized_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_entry_point_offset = 568;
+    AOT_Thread_allocate_object_slow_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_stub_offset = 384;
+    AOT_Thread_allocate_object_slow_stub_offset = 392;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1560;
-static constexpr dart::compiler::target::word
-    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
-    216;
-static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 208;
-static constexpr dart::compiler::target::word
-    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 640;
-static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_entry_point_offset = 528;
-static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
     1576;
 static constexpr dart::compiler::target::word
+    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
+static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
+    224;
+static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 216;
+static constexpr dart::compiler::target::word
+    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 648;
+static constexpr dart::compiler::target::word
+    AOT_Thread_call_to_runtime_entry_point_offset = 536;
+static constexpr dart::compiler::target::word
+    AOT_Thread_call_to_runtime_stub_offset = 272;
+static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
+    1592;
+static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 96;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
-    608;
+    616;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
-    440;
+    448;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_entry_offset = 616;
+    AOT_Thread_deoptimize_entry_offset = 624;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_stub_offset = 448;
+    AOT_Thread_deoptimize_stub_offset = 456;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_abs_address_offset = 688;
+    AOT_Thread_double_abs_address_offset = 696;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_negate_address_offset = 680;
+    AOT_Thread_double_negate_address_offset = 688;
 static constexpr dart::compiler::target::word AOT_Thread_end_offset = 112;
 static constexpr dart::compiler::target::word
-    AOT_Thread_enter_safepoint_stub_offset = 488;
+    AOT_Thread_enter_safepoint_stub_offset = 496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1520;
+    AOT_Thread_execution_state_offset = 1536;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_safepoint_stub_offset = 496;
+    AOT_Thread_exit_safepoint_stub_offset = 504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_stub_offset = 504;
+    AOT_Thread_call_native_through_safepoint_stub_offset = 512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_entry_point_offset = 624;
+    AOT_Thread_call_native_through_safepoint_entry_point_offset = 632;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_allocation_stub_code_offset = 248;
+    AOT_Thread_fix_allocation_stub_code_offset = 256;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_callers_target_code_offset = 240;
+    AOT_Thread_fix_callers_target_code_offset = 248;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_absolute_address_offset = 712;
+    AOT_Thread_float_absolute_address_offset = 720;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_negate_address_offset = 704;
+    AOT_Thread_float_negate_address_offset = 712;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_not_address_offset = 696;
+    AOT_Thread_float_not_address_offset = 704;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_zerow_address_offset = 720;
+    AOT_Thread_float_zerow_address_offset = 728;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1496;
+    AOT_Thread_global_object_pool_offset = 1512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_invoke_dart_code_stub_offset = 256;
+    AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1552;
+    AOT_Thread_exit_through_ffi_offset = 1568;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 88;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1584;
+    1600;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_return_stub_offset = 456;
+    AOT_Thread_lazy_deopt_from_return_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_throw_stub_offset = 464;
+    AOT_Thread_lazy_deopt_from_throw_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_specialize_type_test_stub_offset = 480;
+    AOT_Thread_lazy_specialize_type_test_stub_offset = 488;
 static constexpr dart::compiler::target::word
     AOT_Thread_marking_stack_block_offset = 168;
 static constexpr dart::compiler::target::word
-    AOT_Thread_megamorphic_call_checked_entry_offset = 592;
+    AOT_Thread_megamorphic_call_checked_entry_offset = 600;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_entry_offset = 600;
+    AOT_Thread_switchable_call_miss_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_stub_offset = 408;
+    AOT_Thread_switchable_call_miss_stub_offset = 416;
 static constexpr dart::compiler::target::word
-    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 656;
 static constexpr dart::compiler::target::word
-    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
     AOT_Thread_late_initialization_error_shared_without_fpu_regs_stub_offset =
-        272;
+        280;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
+    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 344;
 static constexpr dart::compiler::target::word AOT_Thread_object_null_offset =
-    200;
+    208;
 static constexpr dart::compiler::target::word
-    AOT_Thread_predefined_symbols_address_offset = 664;
+    AOT_Thread_predefined_symbols_address_offset = 672;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1504;
+    1520;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1512;
+    AOT_Thread_saved_shadow_call_stack_offset = 1528;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1528;
+    AOT_Thread_safepoint_state_offset = 1544;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_stub_offset = 472;
+    AOT_Thread_slow_type_test_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_entry_point_offset = 632;
+    AOT_Thread_slow_type_test_entry_point_offset = 640;
 static constexpr dart::compiler::target::word AOT_Thread_stack_limit_offset =
     64;
 static constexpr dart::compiler::target::word
@@ -7552,13 +7578,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_stack_overflow_flags_offset = 128;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 408;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 584;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 400;
 static constexpr dart::compiler::target::word
     AOT_Thread_store_buffer_block_offset = 160;
 static constexpr dart::compiler::target::word
@@ -7568,18 +7594,20 @@
     40;
 static constexpr dart::compiler::target::word
     AOT_Thread_unboxed_int64_runtime_arg_offset = 192;
+static constexpr dart::compiler::target::word
+    AOT_Thread_unboxed_double_runtime_arg_offset = 200;
 static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 184;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_code_offset = 224;
+    AOT_Thread_write_barrier_code_offset = 232;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_entry_point_offset = 512;
+    AOT_Thread_write_barrier_entry_point_offset = 520;
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_mask_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1536;
+    1552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1544;
+    AOT_Thread_callback_stack_return_offset = 1560;
 static constexpr dart::compiler::target::word
     AOT_TimelineStream_enabled_offset = 16;
 static constexpr dart::compiler::target::word AOT_TwoByteString_data_offset =
@@ -7653,8 +7681,8 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_wrappers_thread_offset[] = {
-        1392, 1400, 1408, 1416, -1,   -1,   1424, 1432,
-        1440, 1448, 1456, -1,   1464, 1472, -1,   -1};
+        1408, 1416, 1424, 1432, -1,   -1,   1440, 1448,
+        1456, 1464, 1472, -1,   1480, 1488, -1,   -1};
 static constexpr dart::compiler::target::word AOT_AbstractType_InstanceSize =
     24;
 static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 16;
@@ -8015,149 +8043,149 @@
 static constexpr dart::compiler::target::word
     AOT_SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    AOT_Thread_AllocateArray_entry_point_offset = 728;
+    AOT_Thread_AllocateArray_entry_point_offset = 736;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1544;
+    AOT_Thread_active_exception_offset = 1560;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1552;
+    AOT_Thread_active_stacktrace_offset = 1568;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_code_offset = 232;
+    AOT_Thread_array_write_barrier_code_offset = 240;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_entry_point_offset = 520;
+    AOT_Thread_array_write_barrier_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_entry_point_offset = 552;
+    AOT_Thread_allocate_object_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_stub_offset = 368;
+    AOT_Thread_allocate_object_stub_offset = 376;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_entry_point_offset = 560;
+    AOT_Thread_allocate_object_parameterized_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_stub_offset = 376;
+    AOT_Thread_allocate_object_parameterized_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_entry_point_offset = 568;
+    AOT_Thread_allocate_object_slow_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_stub_offset = 384;
+    AOT_Thread_allocate_object_slow_stub_offset = 392;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1624;
-static constexpr dart::compiler::target::word
-    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
-    216;
-static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 208;
-static constexpr dart::compiler::target::word
-    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 640;
-static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_entry_point_offset = 528;
-static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
     1640;
 static constexpr dart::compiler::target::word
+    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
+static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
+    224;
+static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 216;
+static constexpr dart::compiler::target::word
+    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 648;
+static constexpr dart::compiler::target::word
+    AOT_Thread_call_to_runtime_entry_point_offset = 536;
+static constexpr dart::compiler::target::word
+    AOT_Thread_call_to_runtime_stub_offset = 272;
+static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
+    1656;
+static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 96;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
-    608;
+    616;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
-    440;
+    448;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_entry_offset = 616;
+    AOT_Thread_deoptimize_entry_offset = 624;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_stub_offset = 448;
+    AOT_Thread_deoptimize_stub_offset = 456;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_abs_address_offset = 688;
+    AOT_Thread_double_abs_address_offset = 696;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_negate_address_offset = 680;
+    AOT_Thread_double_negate_address_offset = 688;
 static constexpr dart::compiler::target::word AOT_Thread_end_offset = 112;
 static constexpr dart::compiler::target::word
-    AOT_Thread_enter_safepoint_stub_offset = 488;
+    AOT_Thread_enter_safepoint_stub_offset = 496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1584;
+    AOT_Thread_execution_state_offset = 1600;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_safepoint_stub_offset = 496;
+    AOT_Thread_exit_safepoint_stub_offset = 504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_stub_offset = 504;
+    AOT_Thread_call_native_through_safepoint_stub_offset = 512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_entry_point_offset = 624;
+    AOT_Thread_call_native_through_safepoint_entry_point_offset = 632;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_allocation_stub_code_offset = 248;
+    AOT_Thread_fix_allocation_stub_code_offset = 256;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_callers_target_code_offset = 240;
+    AOT_Thread_fix_callers_target_code_offset = 248;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_absolute_address_offset = 712;
+    AOT_Thread_float_absolute_address_offset = 720;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_negate_address_offset = 704;
+    AOT_Thread_float_negate_address_offset = 712;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_not_address_offset = 696;
+    AOT_Thread_float_not_address_offset = 704;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_zerow_address_offset = 720;
+    AOT_Thread_float_zerow_address_offset = 728;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1560;
+    AOT_Thread_global_object_pool_offset = 1576;
 static constexpr dart::compiler::target::word
-    AOT_Thread_invoke_dart_code_stub_offset = 256;
+    AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1616;
+    AOT_Thread_exit_through_ffi_offset = 1632;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 88;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1648;
+    1664;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_return_stub_offset = 456;
+    AOT_Thread_lazy_deopt_from_return_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_throw_stub_offset = 464;
+    AOT_Thread_lazy_deopt_from_throw_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_specialize_type_test_stub_offset = 480;
+    AOT_Thread_lazy_specialize_type_test_stub_offset = 488;
 static constexpr dart::compiler::target::word
     AOT_Thread_marking_stack_block_offset = 168;
 static constexpr dart::compiler::target::word
-    AOT_Thread_megamorphic_call_checked_entry_offset = 592;
+    AOT_Thread_megamorphic_call_checked_entry_offset = 600;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_entry_offset = 600;
+    AOT_Thread_switchable_call_miss_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_stub_offset = 408;
+    AOT_Thread_switchable_call_miss_stub_offset = 416;
 static constexpr dart::compiler::target::word
-    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 656;
 static constexpr dart::compiler::target::word
-    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
     AOT_Thread_late_initialization_error_shared_without_fpu_regs_stub_offset =
-        272;
+        280;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
+    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 344;
 static constexpr dart::compiler::target::word AOT_Thread_object_null_offset =
-    200;
+    208;
 static constexpr dart::compiler::target::word
-    AOT_Thread_predefined_symbols_address_offset = 664;
+    AOT_Thread_predefined_symbols_address_offset = 672;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1568;
+    1584;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1576;
+    AOT_Thread_saved_shadow_call_stack_offset = 1592;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1592;
+    AOT_Thread_safepoint_state_offset = 1608;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_stub_offset = 472;
+    AOT_Thread_slow_type_test_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_entry_point_offset = 632;
+    AOT_Thread_slow_type_test_entry_point_offset = 640;
 static constexpr dart::compiler::target::word AOT_Thread_stack_limit_offset =
     64;
 static constexpr dart::compiler::target::word
@@ -8165,13 +8193,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_stack_overflow_flags_offset = 128;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 408;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 584;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 400;
 static constexpr dart::compiler::target::word
     AOT_Thread_store_buffer_block_offset = 160;
 static constexpr dart::compiler::target::word
@@ -8181,18 +8209,20 @@
     40;
 static constexpr dart::compiler::target::word
     AOT_Thread_unboxed_int64_runtime_arg_offset = 192;
+static constexpr dart::compiler::target::word
+    AOT_Thread_unboxed_double_runtime_arg_offset = 200;
 static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 184;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_code_offset = 224;
+    AOT_Thread_write_barrier_code_offset = 232;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_entry_point_offset = 512;
+    AOT_Thread_write_barrier_entry_point_offset = 520;
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_mask_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1600;
+    1616;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1608;
+    AOT_Thread_callback_stack_return_offset = 1624;
 static constexpr dart::compiler::target::word
     AOT_TimelineStream_enabled_offset = 16;
 static constexpr dart::compiler::target::word AOT_TwoByteString_data_offset =
@@ -8266,9 +8296,9 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_wrappers_thread_offset[] = {
-        1392, 1400, 1408, 1416, 1424, 1432, 1440, 1448, 1456, 1464, 1472,
-        1480, 1488, 1496, 1504, -1,   -1,   -1,   -1,   1512, 1520, -1,
-        -1,   1528, 1536, 1544, -1,   -1,   -1,   -1,   -1,   -1};
+        1408, 1416, 1424, 1432, 1440, 1448, 1456, 1464, 1472, 1480, 1488,
+        1496, 1504, 1512, 1520, -1,   -1,   -1,   -1,   1528, 1536, -1,
+        -1,   1544, 1552, 1560, -1,   -1,   -1,   -1,   -1,   -1};
 static constexpr dart::compiler::target::word AOT_AbstractType_InstanceSize =
     24;
 static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 16;
@@ -8625,149 +8655,149 @@
 static constexpr dart::compiler::target::word
     AOT_SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    AOT_Thread_AllocateArray_entry_point_offset = 728;
+    AOT_Thread_AllocateArray_entry_point_offset = 736;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1480;
+    AOT_Thread_active_exception_offset = 1496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1488;
+    AOT_Thread_active_stacktrace_offset = 1504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_code_offset = 232;
+    AOT_Thread_array_write_barrier_code_offset = 240;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_entry_point_offset = 520;
+    AOT_Thread_array_write_barrier_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_entry_point_offset = 552;
+    AOT_Thread_allocate_object_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_stub_offset = 368;
+    AOT_Thread_allocate_object_stub_offset = 376;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_entry_point_offset = 560;
+    AOT_Thread_allocate_object_parameterized_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_stub_offset = 376;
+    AOT_Thread_allocate_object_parameterized_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_entry_point_offset = 568;
+    AOT_Thread_allocate_object_slow_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_stub_offset = 384;
+    AOT_Thread_allocate_object_slow_stub_offset = 392;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1560;
-static constexpr dart::compiler::target::word
-    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
-    216;
-static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 208;
-static constexpr dart::compiler::target::word
-    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 640;
-static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_entry_point_offset = 528;
-static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
     1576;
 static constexpr dart::compiler::target::word
+    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
+static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
+    224;
+static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 216;
+static constexpr dart::compiler::target::word
+    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 648;
+static constexpr dart::compiler::target::word
+    AOT_Thread_call_to_runtime_entry_point_offset = 536;
+static constexpr dart::compiler::target::word
+    AOT_Thread_call_to_runtime_stub_offset = 272;
+static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
+    1592;
+static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 96;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
-    608;
+    616;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
-    440;
+    448;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_entry_offset = 616;
+    AOT_Thread_deoptimize_entry_offset = 624;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_stub_offset = 448;
+    AOT_Thread_deoptimize_stub_offset = 456;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_abs_address_offset = 688;
+    AOT_Thread_double_abs_address_offset = 696;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_negate_address_offset = 680;
+    AOT_Thread_double_negate_address_offset = 688;
 static constexpr dart::compiler::target::word AOT_Thread_end_offset = 112;
 static constexpr dart::compiler::target::word
-    AOT_Thread_enter_safepoint_stub_offset = 488;
+    AOT_Thread_enter_safepoint_stub_offset = 496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1520;
+    AOT_Thread_execution_state_offset = 1536;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_safepoint_stub_offset = 496;
+    AOT_Thread_exit_safepoint_stub_offset = 504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_stub_offset = 504;
+    AOT_Thread_call_native_through_safepoint_stub_offset = 512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_entry_point_offset = 624;
+    AOT_Thread_call_native_through_safepoint_entry_point_offset = 632;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_allocation_stub_code_offset = 248;
+    AOT_Thread_fix_allocation_stub_code_offset = 256;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_callers_target_code_offset = 240;
+    AOT_Thread_fix_callers_target_code_offset = 248;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_absolute_address_offset = 712;
+    AOT_Thread_float_absolute_address_offset = 720;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_negate_address_offset = 704;
+    AOT_Thread_float_negate_address_offset = 712;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_not_address_offset = 696;
+    AOT_Thread_float_not_address_offset = 704;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_zerow_address_offset = 720;
+    AOT_Thread_float_zerow_address_offset = 728;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1496;
+    AOT_Thread_global_object_pool_offset = 1512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_invoke_dart_code_stub_offset = 256;
+    AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1552;
+    AOT_Thread_exit_through_ffi_offset = 1568;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 88;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1584;
+    1600;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_return_stub_offset = 456;
+    AOT_Thread_lazy_deopt_from_return_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_throw_stub_offset = 464;
+    AOT_Thread_lazy_deopt_from_throw_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_specialize_type_test_stub_offset = 480;
+    AOT_Thread_lazy_specialize_type_test_stub_offset = 488;
 static constexpr dart::compiler::target::word
     AOT_Thread_marking_stack_block_offset = 168;
 static constexpr dart::compiler::target::word
-    AOT_Thread_megamorphic_call_checked_entry_offset = 592;
+    AOT_Thread_megamorphic_call_checked_entry_offset = 600;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_entry_offset = 600;
+    AOT_Thread_switchable_call_miss_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_stub_offset = 408;
+    AOT_Thread_switchable_call_miss_stub_offset = 416;
 static constexpr dart::compiler::target::word
-    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 656;
 static constexpr dart::compiler::target::word
-    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
     AOT_Thread_late_initialization_error_shared_without_fpu_regs_stub_offset =
-        272;
+        280;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
+    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 344;
 static constexpr dart::compiler::target::word AOT_Thread_object_null_offset =
-    200;
+    208;
 static constexpr dart::compiler::target::word
-    AOT_Thread_predefined_symbols_address_offset = 664;
+    AOT_Thread_predefined_symbols_address_offset = 672;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1504;
+    1520;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1512;
+    AOT_Thread_saved_shadow_call_stack_offset = 1528;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1528;
+    AOT_Thread_safepoint_state_offset = 1544;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_stub_offset = 472;
+    AOT_Thread_slow_type_test_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_entry_point_offset = 632;
+    AOT_Thread_slow_type_test_entry_point_offset = 640;
 static constexpr dart::compiler::target::word AOT_Thread_stack_limit_offset =
     64;
 static constexpr dart::compiler::target::word
@@ -8775,13 +8805,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_stack_overflow_flags_offset = 128;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 408;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 584;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 400;
 static constexpr dart::compiler::target::word
     AOT_Thread_store_buffer_block_offset = 160;
 static constexpr dart::compiler::target::word
@@ -8791,18 +8821,20 @@
     40;
 static constexpr dart::compiler::target::word
     AOT_Thread_unboxed_int64_runtime_arg_offset = 192;
+static constexpr dart::compiler::target::word
+    AOT_Thread_unboxed_double_runtime_arg_offset = 200;
 static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 184;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_code_offset = 224;
+    AOT_Thread_write_barrier_code_offset = 232;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_entry_point_offset = 512;
+    AOT_Thread_write_barrier_entry_point_offset = 520;
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_mask_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1536;
+    1552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1544;
+    AOT_Thread_callback_stack_return_offset = 1560;
 static constexpr dart::compiler::target::word
     AOT_TimelineStream_enabled_offset = 16;
 static constexpr dart::compiler::target::word AOT_TwoByteString_data_offset =
@@ -8876,8 +8908,8 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_wrappers_thread_offset[] = {
-        1392, 1400, 1408, 1416, -1,   -1,   1424, 1432,
-        1440, 1448, 1456, -1,   1464, 1472, -1,   -1};
+        1408, 1416, 1424, 1432, -1,   -1,   1440, 1448,
+        1456, 1464, 1472, -1,   1480, 1488, -1,   -1};
 static constexpr dart::compiler::target::word AOT_AbstractType_InstanceSize =
     24;
 static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 16;
@@ -9234,149 +9266,149 @@
 static constexpr dart::compiler::target::word
     AOT_SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    AOT_Thread_AllocateArray_entry_point_offset = 728;
+    AOT_Thread_AllocateArray_entry_point_offset = 736;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1544;
+    AOT_Thread_active_exception_offset = 1560;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1552;
+    AOT_Thread_active_stacktrace_offset = 1568;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_code_offset = 232;
+    AOT_Thread_array_write_barrier_code_offset = 240;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_entry_point_offset = 520;
+    AOT_Thread_array_write_barrier_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_entry_point_offset = 552;
+    AOT_Thread_allocate_object_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_stub_offset = 368;
+    AOT_Thread_allocate_object_stub_offset = 376;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_entry_point_offset = 560;
+    AOT_Thread_allocate_object_parameterized_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_stub_offset = 376;
+    AOT_Thread_allocate_object_parameterized_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_entry_point_offset = 568;
+    AOT_Thread_allocate_object_slow_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_stub_offset = 384;
+    AOT_Thread_allocate_object_slow_stub_offset = 392;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1624;
-static constexpr dart::compiler::target::word
-    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
-    216;
-static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 208;
-static constexpr dart::compiler::target::word
-    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 640;
-static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_entry_point_offset = 528;
-static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
     1640;
 static constexpr dart::compiler::target::word
+    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
+static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
+    224;
+static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 216;
+static constexpr dart::compiler::target::word
+    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 648;
+static constexpr dart::compiler::target::word
+    AOT_Thread_call_to_runtime_entry_point_offset = 536;
+static constexpr dart::compiler::target::word
+    AOT_Thread_call_to_runtime_stub_offset = 272;
+static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
+    1656;
+static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 96;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
-    608;
+    616;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
-    440;
+    448;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_entry_offset = 616;
+    AOT_Thread_deoptimize_entry_offset = 624;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_stub_offset = 448;
+    AOT_Thread_deoptimize_stub_offset = 456;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_abs_address_offset = 688;
+    AOT_Thread_double_abs_address_offset = 696;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_negate_address_offset = 680;
+    AOT_Thread_double_negate_address_offset = 688;
 static constexpr dart::compiler::target::word AOT_Thread_end_offset = 112;
 static constexpr dart::compiler::target::word
-    AOT_Thread_enter_safepoint_stub_offset = 488;
+    AOT_Thread_enter_safepoint_stub_offset = 496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1584;
+    AOT_Thread_execution_state_offset = 1600;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_safepoint_stub_offset = 496;
+    AOT_Thread_exit_safepoint_stub_offset = 504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_stub_offset = 504;
+    AOT_Thread_call_native_through_safepoint_stub_offset = 512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_entry_point_offset = 624;
+    AOT_Thread_call_native_through_safepoint_entry_point_offset = 632;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_allocation_stub_code_offset = 248;
+    AOT_Thread_fix_allocation_stub_code_offset = 256;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_callers_target_code_offset = 240;
+    AOT_Thread_fix_callers_target_code_offset = 248;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_absolute_address_offset = 712;
+    AOT_Thread_float_absolute_address_offset = 720;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_negate_address_offset = 704;
+    AOT_Thread_float_negate_address_offset = 712;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_not_address_offset = 696;
+    AOT_Thread_float_not_address_offset = 704;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_zerow_address_offset = 720;
+    AOT_Thread_float_zerow_address_offset = 728;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1560;
+    AOT_Thread_global_object_pool_offset = 1576;
 static constexpr dart::compiler::target::word
-    AOT_Thread_invoke_dart_code_stub_offset = 256;
+    AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1616;
+    AOT_Thread_exit_through_ffi_offset = 1632;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 88;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1648;
+    1664;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_return_stub_offset = 456;
+    AOT_Thread_lazy_deopt_from_return_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_throw_stub_offset = 464;
+    AOT_Thread_lazy_deopt_from_throw_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_specialize_type_test_stub_offset = 480;
+    AOT_Thread_lazy_specialize_type_test_stub_offset = 488;
 static constexpr dart::compiler::target::word
     AOT_Thread_marking_stack_block_offset = 168;
 static constexpr dart::compiler::target::word
-    AOT_Thread_megamorphic_call_checked_entry_offset = 592;
+    AOT_Thread_megamorphic_call_checked_entry_offset = 600;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_entry_offset = 600;
+    AOT_Thread_switchable_call_miss_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_stub_offset = 408;
+    AOT_Thread_switchable_call_miss_stub_offset = 416;
 static constexpr dart::compiler::target::word
-    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 656;
 static constexpr dart::compiler::target::word
-    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
     AOT_Thread_late_initialization_error_shared_without_fpu_regs_stub_offset =
-        272;
+        280;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
+    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 344;
 static constexpr dart::compiler::target::word AOT_Thread_object_null_offset =
-    200;
+    208;
 static constexpr dart::compiler::target::word
-    AOT_Thread_predefined_symbols_address_offset = 664;
+    AOT_Thread_predefined_symbols_address_offset = 672;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1568;
+    1584;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1576;
+    AOT_Thread_saved_shadow_call_stack_offset = 1592;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1592;
+    AOT_Thread_safepoint_state_offset = 1608;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_stub_offset = 472;
+    AOT_Thread_slow_type_test_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_entry_point_offset = 632;
+    AOT_Thread_slow_type_test_entry_point_offset = 640;
 static constexpr dart::compiler::target::word AOT_Thread_stack_limit_offset =
     64;
 static constexpr dart::compiler::target::word
@@ -9384,13 +9416,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_stack_overflow_flags_offset = 128;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 408;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 584;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 400;
 static constexpr dart::compiler::target::word
     AOT_Thread_store_buffer_block_offset = 160;
 static constexpr dart::compiler::target::word
@@ -9400,18 +9432,20 @@
     40;
 static constexpr dart::compiler::target::word
     AOT_Thread_unboxed_int64_runtime_arg_offset = 192;
+static constexpr dart::compiler::target::word
+    AOT_Thread_unboxed_double_runtime_arg_offset = 200;
 static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 184;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_code_offset = 224;
+    AOT_Thread_write_barrier_code_offset = 232;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_entry_point_offset = 512;
+    AOT_Thread_write_barrier_entry_point_offset = 520;
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_mask_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1600;
+    1616;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1608;
+    AOT_Thread_callback_stack_return_offset = 1624;
 static constexpr dart::compiler::target::word
     AOT_TimelineStream_enabled_offset = 16;
 static constexpr dart::compiler::target::word AOT_TwoByteString_data_offset =
@@ -9485,9 +9519,9 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_wrappers_thread_offset[] = {
-        1392, 1400, 1408, 1416, 1424, 1432, 1440, 1448, 1456, 1464, 1472,
-        1480, 1488, 1496, 1504, -1,   -1,   -1,   -1,   1512, 1520, -1,
-        -1,   1528, 1536, 1544, -1,   -1,   -1,   -1,   -1,   -1};
+        1408, 1416, 1424, 1432, 1440, 1448, 1456, 1464, 1472, 1480, 1488,
+        1496, 1504, 1512, 1520, -1,   -1,   -1,   -1,   1528, 1536, -1,
+        -1,   1544, 1552, 1560, -1,   -1,   -1,   -1,   -1,   -1};
 static constexpr dart::compiler::target::word AOT_AbstractType_InstanceSize =
     24;
 static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 16;
@@ -9839,148 +9873,148 @@
 static constexpr dart::compiler::target::word
     AOT_SubtypeTestCache_cache_offset = 4;
 static constexpr dart::compiler::target::word
-    AOT_Thread_AllocateArray_entry_point_offset = 368;
+    AOT_Thread_AllocateArray_entry_point_offset = 376;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 732;
+    AOT_Thread_active_exception_offset = 744;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 736;
+    AOT_Thread_active_stacktrace_offset = 748;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_code_offset = 120;
+    AOT_Thread_array_write_barrier_code_offset = 128;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_entry_point_offset = 264;
+    AOT_Thread_array_write_barrier_entry_point_offset = 272;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 272;
+    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 280;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 180;
+    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 188;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 276;
+    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 284;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 184;
+    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 192;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_entry_point_offset = 280;
+    AOT_Thread_allocate_object_entry_point_offset = 288;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_stub_offset = 188;
+    AOT_Thread_allocate_object_stub_offset = 196;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_entry_point_offset = 284;
+    AOT_Thread_allocate_object_parameterized_entry_point_offset = 292;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_stub_offset = 192;
+    AOT_Thread_allocate_object_parameterized_stub_offset = 200;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_entry_point_offset = 288;
+    AOT_Thread_allocate_object_slow_entry_point_offset = 296;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_stub_offset = 196;
+    AOT_Thread_allocate_object_slow_stub_offset = 204;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    772;
+    784;
 static constexpr dart::compiler::target::word
-    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 332;
+    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 340;
 static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
-    112;
-static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 108;
+    120;
+static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 116;
 static constexpr dart::compiler::target::word
-    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 324;
+    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 332;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_entry_point_offset = 268;
+    AOT_Thread_call_to_runtime_entry_point_offset = 276;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_stub_offset = 136;
+    AOT_Thread_call_to_runtime_stub_offset = 144;
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
-    780;
+    792;
 static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 48;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
-    308;
+    316;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
-    224;
+    232;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_entry_offset = 312;
+    AOT_Thread_deoptimize_entry_offset = 320;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_stub_offset = 228;
+    AOT_Thread_deoptimize_stub_offset = 236;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_abs_address_offset = 348;
+    AOT_Thread_double_abs_address_offset = 356;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_negate_address_offset = 344;
+    AOT_Thread_double_negate_address_offset = 352;
 static constexpr dart::compiler::target::word AOT_Thread_end_offset = 56;
 static constexpr dart::compiler::target::word
-    AOT_Thread_enter_safepoint_stub_offset = 248;
+    AOT_Thread_enter_safepoint_stub_offset = 256;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 752;
+    AOT_Thread_execution_state_offset = 764;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_safepoint_stub_offset = 252;
+    AOT_Thread_exit_safepoint_stub_offset = 260;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_stub_offset = 256;
+    AOT_Thread_call_native_through_safepoint_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_entry_point_offset = 316;
+    AOT_Thread_call_native_through_safepoint_entry_point_offset = 324;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_allocation_stub_code_offset = 128;
+    AOT_Thread_fix_allocation_stub_code_offset = 136;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_callers_target_code_offset = 124;
+    AOT_Thread_fix_callers_target_code_offset = 132;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_absolute_address_offset = 360;
+    AOT_Thread_float_absolute_address_offset = 368;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_negate_address_offset = 356;
+    AOT_Thread_float_negate_address_offset = 364;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_not_address_offset = 352;
+    AOT_Thread_float_not_address_offset = 360;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_zerow_address_offset = 364;
+    AOT_Thread_float_zerow_address_offset = 372;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 740;
+    AOT_Thread_global_object_pool_offset = 752;
 static constexpr dart::compiler::target::word
-    AOT_Thread_invoke_dart_code_stub_offset = 132;
+    AOT_Thread_invoke_dart_code_stub_offset = 140;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 768;
+    AOT_Thread_exit_through_ffi_offset = 780;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 44;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    784;
+    796;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 68;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_return_stub_offset = 232;
+    AOT_Thread_lazy_deopt_from_return_stub_offset = 240;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_throw_stub_offset = 236;
+    AOT_Thread_lazy_deopt_from_throw_stub_offset = 244;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_specialize_type_test_stub_offset = 244;
+    AOT_Thread_lazy_specialize_type_test_stub_offset = 252;
 static constexpr dart::compiler::target::word
     AOT_Thread_marking_stack_block_offset = 84;
 static constexpr dart::compiler::target::word
-    AOT_Thread_megamorphic_call_checked_entry_offset = 300;
+    AOT_Thread_megamorphic_call_checked_entry_offset = 308;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_entry_offset = 304;
+    AOT_Thread_switchable_call_miss_entry_offset = 312;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_stub_offset = 208;
+    AOT_Thread_switchable_call_miss_stub_offset = 216;
 static constexpr dart::compiler::target::word
-    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 328;
+    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 336;
 static constexpr dart::compiler::target::word
-    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 144;
+    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 152;
 static constexpr dart::compiler::target::word
     AOT_Thread_late_initialization_error_shared_without_fpu_regs_stub_offset =
-        140;
+        148;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 152;
+    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 160;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 148;
+    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 156;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 160;
+    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 168;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 156;
+    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 164;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 168;
+    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 176;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 164;
+    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 172;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 176;
+    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 184;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 172;
+    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 180;
 static constexpr dart::compiler::target::word AOT_Thread_object_null_offset =
-    104;
+    112;
 static constexpr dart::compiler::target::word
-    AOT_Thread_predefined_symbols_address_offset = 336;
-static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 744;
+    AOT_Thread_predefined_symbols_address_offset = 344;
+static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 756;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 748;
+    AOT_Thread_saved_shadow_call_stack_offset = 760;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 756;
+    AOT_Thread_safepoint_state_offset = 768;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_stub_offset = 240;
+    AOT_Thread_slow_type_test_stub_offset = 248;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_entry_point_offset = 320;
+    AOT_Thread_slow_type_test_entry_point_offset = 328;
 static constexpr dart::compiler::target::word AOT_Thread_stack_limit_offset =
     32;
 static constexpr dart::compiler::target::word
@@ -9988,13 +10022,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_stack_overflow_flags_offset = 64;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 296;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 304;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 204;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 212;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 292;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 300;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 200;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 208;
 static constexpr dart::compiler::target::word
     AOT_Thread_store_buffer_block_offset = 80;
 static constexpr dart::compiler::target::word
@@ -10004,18 +10038,20 @@
     20;
 static constexpr dart::compiler::target::word
     AOT_Thread_unboxed_int64_runtime_arg_offset = 96;
+static constexpr dart::compiler::target::word
+    AOT_Thread_unboxed_double_runtime_arg_offset = 104;
 static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 92;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_code_offset = 116;
+    AOT_Thread_write_barrier_code_offset = 124;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_entry_point_offset = 260;
+    AOT_Thread_write_barrier_entry_point_offset = 268;
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_mask_offset = 36;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 40;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    760;
+    772;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 764;
+    AOT_Thread_callback_stack_return_offset = 776;
 static constexpr dart::compiler::target::word
     AOT_TimelineStream_enabled_offset = 8;
 static constexpr dart::compiler::target::word AOT_TwoByteString_data_offset =
@@ -10088,7 +10124,7 @@
     4, 12, 8, 16};
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_wrappers_thread_offset[] = {
-        700, 704, 708, 712, 716, -1, 720, -1, 724, 728, -1, -1, -1, -1, -1, -1};
+        712, 716, 720, 724, 728, -1, 732, -1, 736, 740, -1, -1, -1, -1, -1, -1};
 static constexpr dart::compiler::target::word AOT_AbstractType_InstanceSize =
     12;
 static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 8;
@@ -10439,149 +10475,149 @@
 static constexpr dart::compiler::target::word
     AOT_SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    AOT_Thread_AllocateArray_entry_point_offset = 728;
+    AOT_Thread_AllocateArray_entry_point_offset = 736;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1480;
+    AOT_Thread_active_exception_offset = 1496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1488;
+    AOT_Thread_active_stacktrace_offset = 1504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_code_offset = 232;
+    AOT_Thread_array_write_barrier_code_offset = 240;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_entry_point_offset = 520;
+    AOT_Thread_array_write_barrier_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_entry_point_offset = 552;
+    AOT_Thread_allocate_object_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_stub_offset = 368;
+    AOT_Thread_allocate_object_stub_offset = 376;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_entry_point_offset = 560;
+    AOT_Thread_allocate_object_parameterized_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_stub_offset = 376;
+    AOT_Thread_allocate_object_parameterized_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_entry_point_offset = 568;
+    AOT_Thread_allocate_object_slow_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_stub_offset = 384;
+    AOT_Thread_allocate_object_slow_stub_offset = 392;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1560;
-static constexpr dart::compiler::target::word
-    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
-    216;
-static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 208;
-static constexpr dart::compiler::target::word
-    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 640;
-static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_entry_point_offset = 528;
-static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
     1576;
 static constexpr dart::compiler::target::word
+    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
+static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
+    224;
+static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 216;
+static constexpr dart::compiler::target::word
+    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 648;
+static constexpr dart::compiler::target::word
+    AOT_Thread_call_to_runtime_entry_point_offset = 536;
+static constexpr dart::compiler::target::word
+    AOT_Thread_call_to_runtime_stub_offset = 272;
+static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
+    1592;
+static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 96;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
-    608;
+    616;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
-    440;
+    448;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_entry_offset = 616;
+    AOT_Thread_deoptimize_entry_offset = 624;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_stub_offset = 448;
+    AOT_Thread_deoptimize_stub_offset = 456;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_abs_address_offset = 688;
+    AOT_Thread_double_abs_address_offset = 696;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_negate_address_offset = 680;
+    AOT_Thread_double_negate_address_offset = 688;
 static constexpr dart::compiler::target::word AOT_Thread_end_offset = 112;
 static constexpr dart::compiler::target::word
-    AOT_Thread_enter_safepoint_stub_offset = 488;
+    AOT_Thread_enter_safepoint_stub_offset = 496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1520;
+    AOT_Thread_execution_state_offset = 1536;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_safepoint_stub_offset = 496;
+    AOT_Thread_exit_safepoint_stub_offset = 504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_stub_offset = 504;
+    AOT_Thread_call_native_through_safepoint_stub_offset = 512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_entry_point_offset = 624;
+    AOT_Thread_call_native_through_safepoint_entry_point_offset = 632;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_allocation_stub_code_offset = 248;
+    AOT_Thread_fix_allocation_stub_code_offset = 256;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_callers_target_code_offset = 240;
+    AOT_Thread_fix_callers_target_code_offset = 248;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_absolute_address_offset = 712;
+    AOT_Thread_float_absolute_address_offset = 720;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_negate_address_offset = 704;
+    AOT_Thread_float_negate_address_offset = 712;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_not_address_offset = 696;
+    AOT_Thread_float_not_address_offset = 704;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_zerow_address_offset = 720;
+    AOT_Thread_float_zerow_address_offset = 728;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1496;
+    AOT_Thread_global_object_pool_offset = 1512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_invoke_dart_code_stub_offset = 256;
+    AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1552;
+    AOT_Thread_exit_through_ffi_offset = 1568;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 88;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1584;
+    1600;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_return_stub_offset = 456;
+    AOT_Thread_lazy_deopt_from_return_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_throw_stub_offset = 464;
+    AOT_Thread_lazy_deopt_from_throw_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_specialize_type_test_stub_offset = 480;
+    AOT_Thread_lazy_specialize_type_test_stub_offset = 488;
 static constexpr dart::compiler::target::word
     AOT_Thread_marking_stack_block_offset = 168;
 static constexpr dart::compiler::target::word
-    AOT_Thread_megamorphic_call_checked_entry_offset = 592;
+    AOT_Thread_megamorphic_call_checked_entry_offset = 600;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_entry_offset = 600;
+    AOT_Thread_switchable_call_miss_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_stub_offset = 408;
+    AOT_Thread_switchable_call_miss_stub_offset = 416;
 static constexpr dart::compiler::target::word
-    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 656;
 static constexpr dart::compiler::target::word
-    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
     AOT_Thread_late_initialization_error_shared_without_fpu_regs_stub_offset =
-        272;
+        280;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
+    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 344;
 static constexpr dart::compiler::target::word AOT_Thread_object_null_offset =
-    200;
+    208;
 static constexpr dart::compiler::target::word
-    AOT_Thread_predefined_symbols_address_offset = 664;
+    AOT_Thread_predefined_symbols_address_offset = 672;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1504;
+    1520;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1512;
+    AOT_Thread_saved_shadow_call_stack_offset = 1528;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1528;
+    AOT_Thread_safepoint_state_offset = 1544;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_stub_offset = 472;
+    AOT_Thread_slow_type_test_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_entry_point_offset = 632;
+    AOT_Thread_slow_type_test_entry_point_offset = 640;
 static constexpr dart::compiler::target::word AOT_Thread_stack_limit_offset =
     64;
 static constexpr dart::compiler::target::word
@@ -10589,13 +10625,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_stack_overflow_flags_offset = 128;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 408;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 584;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 400;
 static constexpr dart::compiler::target::word
     AOT_Thread_store_buffer_block_offset = 160;
 static constexpr dart::compiler::target::word
@@ -10605,18 +10641,20 @@
     40;
 static constexpr dart::compiler::target::word
     AOT_Thread_unboxed_int64_runtime_arg_offset = 192;
+static constexpr dart::compiler::target::word
+    AOT_Thread_unboxed_double_runtime_arg_offset = 200;
 static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 184;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_code_offset = 224;
+    AOT_Thread_write_barrier_code_offset = 232;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_entry_point_offset = 512;
+    AOT_Thread_write_barrier_entry_point_offset = 520;
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_mask_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1536;
+    1552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1544;
+    AOT_Thread_callback_stack_return_offset = 1560;
 static constexpr dart::compiler::target::word
     AOT_TimelineStream_enabled_offset = 16;
 static constexpr dart::compiler::target::word AOT_TwoByteString_data_offset =
@@ -10690,8 +10728,8 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_wrappers_thread_offset[] = {
-        1392, 1400, 1408, 1416, -1,   -1,   1424, 1432,
-        1440, 1448, 1456, -1,   1464, 1472, -1,   -1};
+        1408, 1416, 1424, 1432, -1,   -1,   1440, 1448,
+        1456, 1464, 1472, -1,   1480, 1488, -1,   -1};
 static constexpr dart::compiler::target::word AOT_AbstractType_InstanceSize =
     24;
 static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 16;
@@ -11045,149 +11083,149 @@
 static constexpr dart::compiler::target::word
     AOT_SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    AOT_Thread_AllocateArray_entry_point_offset = 728;
+    AOT_Thread_AllocateArray_entry_point_offset = 736;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1544;
+    AOT_Thread_active_exception_offset = 1560;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1552;
+    AOT_Thread_active_stacktrace_offset = 1568;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_code_offset = 232;
+    AOT_Thread_array_write_barrier_code_offset = 240;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_entry_point_offset = 520;
+    AOT_Thread_array_write_barrier_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_entry_point_offset = 552;
+    AOT_Thread_allocate_object_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_stub_offset = 368;
+    AOT_Thread_allocate_object_stub_offset = 376;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_entry_point_offset = 560;
+    AOT_Thread_allocate_object_parameterized_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_stub_offset = 376;
+    AOT_Thread_allocate_object_parameterized_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_entry_point_offset = 568;
+    AOT_Thread_allocate_object_slow_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_stub_offset = 384;
+    AOT_Thread_allocate_object_slow_stub_offset = 392;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1624;
-static constexpr dart::compiler::target::word
-    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
-    216;
-static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 208;
-static constexpr dart::compiler::target::word
-    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 640;
-static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_entry_point_offset = 528;
-static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
     1640;
 static constexpr dart::compiler::target::word
+    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
+static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
+    224;
+static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 216;
+static constexpr dart::compiler::target::word
+    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 648;
+static constexpr dart::compiler::target::word
+    AOT_Thread_call_to_runtime_entry_point_offset = 536;
+static constexpr dart::compiler::target::word
+    AOT_Thread_call_to_runtime_stub_offset = 272;
+static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
+    1656;
+static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 96;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
-    608;
+    616;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
-    440;
+    448;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_entry_offset = 616;
+    AOT_Thread_deoptimize_entry_offset = 624;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_stub_offset = 448;
+    AOT_Thread_deoptimize_stub_offset = 456;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_abs_address_offset = 688;
+    AOT_Thread_double_abs_address_offset = 696;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_negate_address_offset = 680;
+    AOT_Thread_double_negate_address_offset = 688;
 static constexpr dart::compiler::target::word AOT_Thread_end_offset = 112;
 static constexpr dart::compiler::target::word
-    AOT_Thread_enter_safepoint_stub_offset = 488;
+    AOT_Thread_enter_safepoint_stub_offset = 496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1584;
+    AOT_Thread_execution_state_offset = 1600;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_safepoint_stub_offset = 496;
+    AOT_Thread_exit_safepoint_stub_offset = 504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_stub_offset = 504;
+    AOT_Thread_call_native_through_safepoint_stub_offset = 512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_entry_point_offset = 624;
+    AOT_Thread_call_native_through_safepoint_entry_point_offset = 632;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_allocation_stub_code_offset = 248;
+    AOT_Thread_fix_allocation_stub_code_offset = 256;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_callers_target_code_offset = 240;
+    AOT_Thread_fix_callers_target_code_offset = 248;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_absolute_address_offset = 712;
+    AOT_Thread_float_absolute_address_offset = 720;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_negate_address_offset = 704;
+    AOT_Thread_float_negate_address_offset = 712;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_not_address_offset = 696;
+    AOT_Thread_float_not_address_offset = 704;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_zerow_address_offset = 720;
+    AOT_Thread_float_zerow_address_offset = 728;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1560;
+    AOT_Thread_global_object_pool_offset = 1576;
 static constexpr dart::compiler::target::word
-    AOT_Thread_invoke_dart_code_stub_offset = 256;
+    AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1616;
+    AOT_Thread_exit_through_ffi_offset = 1632;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 88;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1648;
+    1664;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_return_stub_offset = 456;
+    AOT_Thread_lazy_deopt_from_return_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_throw_stub_offset = 464;
+    AOT_Thread_lazy_deopt_from_throw_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_specialize_type_test_stub_offset = 480;
+    AOT_Thread_lazy_specialize_type_test_stub_offset = 488;
 static constexpr dart::compiler::target::word
     AOT_Thread_marking_stack_block_offset = 168;
 static constexpr dart::compiler::target::word
-    AOT_Thread_megamorphic_call_checked_entry_offset = 592;
+    AOT_Thread_megamorphic_call_checked_entry_offset = 600;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_entry_offset = 600;
+    AOT_Thread_switchable_call_miss_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_stub_offset = 408;
+    AOT_Thread_switchable_call_miss_stub_offset = 416;
 static constexpr dart::compiler::target::word
-    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 656;
 static constexpr dart::compiler::target::word
-    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
     AOT_Thread_late_initialization_error_shared_without_fpu_regs_stub_offset =
-        272;
+        280;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
+    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 344;
 static constexpr dart::compiler::target::word AOT_Thread_object_null_offset =
-    200;
+    208;
 static constexpr dart::compiler::target::word
-    AOT_Thread_predefined_symbols_address_offset = 664;
+    AOT_Thread_predefined_symbols_address_offset = 672;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1568;
+    1584;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1576;
+    AOT_Thread_saved_shadow_call_stack_offset = 1592;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1592;
+    AOT_Thread_safepoint_state_offset = 1608;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_stub_offset = 472;
+    AOT_Thread_slow_type_test_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_entry_point_offset = 632;
+    AOT_Thread_slow_type_test_entry_point_offset = 640;
 static constexpr dart::compiler::target::word AOT_Thread_stack_limit_offset =
     64;
 static constexpr dart::compiler::target::word
@@ -11195,13 +11233,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_stack_overflow_flags_offset = 128;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 408;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 584;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 400;
 static constexpr dart::compiler::target::word
     AOT_Thread_store_buffer_block_offset = 160;
 static constexpr dart::compiler::target::word
@@ -11211,18 +11249,20 @@
     40;
 static constexpr dart::compiler::target::word
     AOT_Thread_unboxed_int64_runtime_arg_offset = 192;
+static constexpr dart::compiler::target::word
+    AOT_Thread_unboxed_double_runtime_arg_offset = 200;
 static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 184;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_code_offset = 224;
+    AOT_Thread_write_barrier_code_offset = 232;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_entry_point_offset = 512;
+    AOT_Thread_write_barrier_entry_point_offset = 520;
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_mask_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1600;
+    1616;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1608;
+    AOT_Thread_callback_stack_return_offset = 1624;
 static constexpr dart::compiler::target::word
     AOT_TimelineStream_enabled_offset = 16;
 static constexpr dart::compiler::target::word AOT_TwoByteString_data_offset =
@@ -11296,9 +11336,9 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_wrappers_thread_offset[] = {
-        1392, 1400, 1408, 1416, 1424, 1432, 1440, 1448, 1456, 1464, 1472,
-        1480, 1488, 1496, 1504, -1,   -1,   -1,   -1,   1512, 1520, -1,
-        -1,   1528, 1536, 1544, -1,   -1,   -1,   -1,   -1,   -1};
+        1408, 1416, 1424, 1432, 1440, 1448, 1456, 1464, 1472, 1480, 1488,
+        1496, 1504, 1512, 1520, -1,   -1,   -1,   -1,   1528, 1536, -1,
+        -1,   1544, 1552, 1560, -1,   -1,   -1,   -1,   -1,   -1};
 static constexpr dart::compiler::target::word AOT_AbstractType_InstanceSize =
     24;
 static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 16;
@@ -11648,149 +11688,149 @@
 static constexpr dart::compiler::target::word
     AOT_SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    AOT_Thread_AllocateArray_entry_point_offset = 728;
+    AOT_Thread_AllocateArray_entry_point_offset = 736;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1480;
+    AOT_Thread_active_exception_offset = 1496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1488;
+    AOT_Thread_active_stacktrace_offset = 1504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_code_offset = 232;
+    AOT_Thread_array_write_barrier_code_offset = 240;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_entry_point_offset = 520;
+    AOT_Thread_array_write_barrier_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_entry_point_offset = 552;
+    AOT_Thread_allocate_object_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_stub_offset = 368;
+    AOT_Thread_allocate_object_stub_offset = 376;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_entry_point_offset = 560;
+    AOT_Thread_allocate_object_parameterized_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_stub_offset = 376;
+    AOT_Thread_allocate_object_parameterized_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_entry_point_offset = 568;
+    AOT_Thread_allocate_object_slow_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_stub_offset = 384;
+    AOT_Thread_allocate_object_slow_stub_offset = 392;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1560;
-static constexpr dart::compiler::target::word
-    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
-    216;
-static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 208;
-static constexpr dart::compiler::target::word
-    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 640;
-static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_entry_point_offset = 528;
-static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
     1576;
 static constexpr dart::compiler::target::word
+    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
+static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
+    224;
+static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 216;
+static constexpr dart::compiler::target::word
+    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 648;
+static constexpr dart::compiler::target::word
+    AOT_Thread_call_to_runtime_entry_point_offset = 536;
+static constexpr dart::compiler::target::word
+    AOT_Thread_call_to_runtime_stub_offset = 272;
+static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
+    1592;
+static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 96;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
-    608;
+    616;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
-    440;
+    448;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_entry_offset = 616;
+    AOT_Thread_deoptimize_entry_offset = 624;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_stub_offset = 448;
+    AOT_Thread_deoptimize_stub_offset = 456;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_abs_address_offset = 688;
+    AOT_Thread_double_abs_address_offset = 696;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_negate_address_offset = 680;
+    AOT_Thread_double_negate_address_offset = 688;
 static constexpr dart::compiler::target::word AOT_Thread_end_offset = 112;
 static constexpr dart::compiler::target::word
-    AOT_Thread_enter_safepoint_stub_offset = 488;
+    AOT_Thread_enter_safepoint_stub_offset = 496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1520;
+    AOT_Thread_execution_state_offset = 1536;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_safepoint_stub_offset = 496;
+    AOT_Thread_exit_safepoint_stub_offset = 504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_stub_offset = 504;
+    AOT_Thread_call_native_through_safepoint_stub_offset = 512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_entry_point_offset = 624;
+    AOT_Thread_call_native_through_safepoint_entry_point_offset = 632;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_allocation_stub_code_offset = 248;
+    AOT_Thread_fix_allocation_stub_code_offset = 256;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_callers_target_code_offset = 240;
+    AOT_Thread_fix_callers_target_code_offset = 248;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_absolute_address_offset = 712;
+    AOT_Thread_float_absolute_address_offset = 720;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_negate_address_offset = 704;
+    AOT_Thread_float_negate_address_offset = 712;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_not_address_offset = 696;
+    AOT_Thread_float_not_address_offset = 704;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_zerow_address_offset = 720;
+    AOT_Thread_float_zerow_address_offset = 728;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1496;
+    AOT_Thread_global_object_pool_offset = 1512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_invoke_dart_code_stub_offset = 256;
+    AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1552;
+    AOT_Thread_exit_through_ffi_offset = 1568;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 88;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1584;
+    1600;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_return_stub_offset = 456;
+    AOT_Thread_lazy_deopt_from_return_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_throw_stub_offset = 464;
+    AOT_Thread_lazy_deopt_from_throw_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_specialize_type_test_stub_offset = 480;
+    AOT_Thread_lazy_specialize_type_test_stub_offset = 488;
 static constexpr dart::compiler::target::word
     AOT_Thread_marking_stack_block_offset = 168;
 static constexpr dart::compiler::target::word
-    AOT_Thread_megamorphic_call_checked_entry_offset = 592;
+    AOT_Thread_megamorphic_call_checked_entry_offset = 600;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_entry_offset = 600;
+    AOT_Thread_switchable_call_miss_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_stub_offset = 408;
+    AOT_Thread_switchable_call_miss_stub_offset = 416;
 static constexpr dart::compiler::target::word
-    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 656;
 static constexpr dart::compiler::target::word
-    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
     AOT_Thread_late_initialization_error_shared_without_fpu_regs_stub_offset =
-        272;
+        280;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
+    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 344;
 static constexpr dart::compiler::target::word AOT_Thread_object_null_offset =
-    200;
+    208;
 static constexpr dart::compiler::target::word
-    AOT_Thread_predefined_symbols_address_offset = 664;
+    AOT_Thread_predefined_symbols_address_offset = 672;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1504;
+    1520;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1512;
+    AOT_Thread_saved_shadow_call_stack_offset = 1528;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1528;
+    AOT_Thread_safepoint_state_offset = 1544;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_stub_offset = 472;
+    AOT_Thread_slow_type_test_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_entry_point_offset = 632;
+    AOT_Thread_slow_type_test_entry_point_offset = 640;
 static constexpr dart::compiler::target::word AOT_Thread_stack_limit_offset =
     64;
 static constexpr dart::compiler::target::word
@@ -11798,13 +11838,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_stack_overflow_flags_offset = 128;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 408;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 584;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 400;
 static constexpr dart::compiler::target::word
     AOT_Thread_store_buffer_block_offset = 160;
 static constexpr dart::compiler::target::word
@@ -11814,18 +11854,20 @@
     40;
 static constexpr dart::compiler::target::word
     AOT_Thread_unboxed_int64_runtime_arg_offset = 192;
+static constexpr dart::compiler::target::word
+    AOT_Thread_unboxed_double_runtime_arg_offset = 200;
 static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 184;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_code_offset = 224;
+    AOT_Thread_write_barrier_code_offset = 232;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_entry_point_offset = 512;
+    AOT_Thread_write_barrier_entry_point_offset = 520;
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_mask_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1536;
+    1552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1544;
+    AOT_Thread_callback_stack_return_offset = 1560;
 static constexpr dart::compiler::target::word
     AOT_TimelineStream_enabled_offset = 16;
 static constexpr dart::compiler::target::word AOT_TwoByteString_data_offset =
@@ -11899,8 +11941,8 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_wrappers_thread_offset[] = {
-        1392, 1400, 1408, 1416, -1,   -1,   1424, 1432,
-        1440, 1448, 1456, -1,   1464, 1472, -1,   -1};
+        1408, 1416, 1424, 1432, -1,   -1,   1440, 1448,
+        1456, 1464, 1472, -1,   1480, 1488, -1,   -1};
 static constexpr dart::compiler::target::word AOT_AbstractType_InstanceSize =
     24;
 static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 16;
@@ -12250,149 +12292,149 @@
 static constexpr dart::compiler::target::word
     AOT_SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    AOT_Thread_AllocateArray_entry_point_offset = 728;
+    AOT_Thread_AllocateArray_entry_point_offset = 736;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1544;
+    AOT_Thread_active_exception_offset = 1560;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1552;
+    AOT_Thread_active_stacktrace_offset = 1568;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_code_offset = 232;
+    AOT_Thread_array_write_barrier_code_offset = 240;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_entry_point_offset = 520;
+    AOT_Thread_array_write_barrier_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_entry_point_offset = 552;
+    AOT_Thread_allocate_object_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_stub_offset = 368;
+    AOT_Thread_allocate_object_stub_offset = 376;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_entry_point_offset = 560;
+    AOT_Thread_allocate_object_parameterized_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_stub_offset = 376;
+    AOT_Thread_allocate_object_parameterized_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_entry_point_offset = 568;
+    AOT_Thread_allocate_object_slow_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_stub_offset = 384;
+    AOT_Thread_allocate_object_slow_stub_offset = 392;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1624;
-static constexpr dart::compiler::target::word
-    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
-    216;
-static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 208;
-static constexpr dart::compiler::target::word
-    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 640;
-static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_entry_point_offset = 528;
-static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
     1640;
 static constexpr dart::compiler::target::word
+    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
+static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
+    224;
+static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 216;
+static constexpr dart::compiler::target::word
+    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 648;
+static constexpr dart::compiler::target::word
+    AOT_Thread_call_to_runtime_entry_point_offset = 536;
+static constexpr dart::compiler::target::word
+    AOT_Thread_call_to_runtime_stub_offset = 272;
+static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
+    1656;
+static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 96;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
-    608;
+    616;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
-    440;
+    448;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_entry_offset = 616;
+    AOT_Thread_deoptimize_entry_offset = 624;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_stub_offset = 448;
+    AOT_Thread_deoptimize_stub_offset = 456;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_abs_address_offset = 688;
+    AOT_Thread_double_abs_address_offset = 696;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_negate_address_offset = 680;
+    AOT_Thread_double_negate_address_offset = 688;
 static constexpr dart::compiler::target::word AOT_Thread_end_offset = 112;
 static constexpr dart::compiler::target::word
-    AOT_Thread_enter_safepoint_stub_offset = 488;
+    AOT_Thread_enter_safepoint_stub_offset = 496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1584;
+    AOT_Thread_execution_state_offset = 1600;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_safepoint_stub_offset = 496;
+    AOT_Thread_exit_safepoint_stub_offset = 504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_stub_offset = 504;
+    AOT_Thread_call_native_through_safepoint_stub_offset = 512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_entry_point_offset = 624;
+    AOT_Thread_call_native_through_safepoint_entry_point_offset = 632;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_allocation_stub_code_offset = 248;
+    AOT_Thread_fix_allocation_stub_code_offset = 256;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_callers_target_code_offset = 240;
+    AOT_Thread_fix_callers_target_code_offset = 248;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_absolute_address_offset = 712;
+    AOT_Thread_float_absolute_address_offset = 720;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_negate_address_offset = 704;
+    AOT_Thread_float_negate_address_offset = 712;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_not_address_offset = 696;
+    AOT_Thread_float_not_address_offset = 704;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_zerow_address_offset = 720;
+    AOT_Thread_float_zerow_address_offset = 728;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1560;
+    AOT_Thread_global_object_pool_offset = 1576;
 static constexpr dart::compiler::target::word
-    AOT_Thread_invoke_dart_code_stub_offset = 256;
+    AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1616;
+    AOT_Thread_exit_through_ffi_offset = 1632;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 88;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1648;
+    1664;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_return_stub_offset = 456;
+    AOT_Thread_lazy_deopt_from_return_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_throw_stub_offset = 464;
+    AOT_Thread_lazy_deopt_from_throw_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_specialize_type_test_stub_offset = 480;
+    AOT_Thread_lazy_specialize_type_test_stub_offset = 488;
 static constexpr dart::compiler::target::word
     AOT_Thread_marking_stack_block_offset = 168;
 static constexpr dart::compiler::target::word
-    AOT_Thread_megamorphic_call_checked_entry_offset = 592;
+    AOT_Thread_megamorphic_call_checked_entry_offset = 600;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_entry_offset = 600;
+    AOT_Thread_switchable_call_miss_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_stub_offset = 408;
+    AOT_Thread_switchable_call_miss_stub_offset = 416;
 static constexpr dart::compiler::target::word
-    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 656;
 static constexpr dart::compiler::target::word
-    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
     AOT_Thread_late_initialization_error_shared_without_fpu_regs_stub_offset =
-        272;
+        280;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
+    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 344;
 static constexpr dart::compiler::target::word AOT_Thread_object_null_offset =
-    200;
+    208;
 static constexpr dart::compiler::target::word
-    AOT_Thread_predefined_symbols_address_offset = 664;
+    AOT_Thread_predefined_symbols_address_offset = 672;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1568;
+    1584;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1576;
+    AOT_Thread_saved_shadow_call_stack_offset = 1592;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1592;
+    AOT_Thread_safepoint_state_offset = 1608;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_stub_offset = 472;
+    AOT_Thread_slow_type_test_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_entry_point_offset = 632;
+    AOT_Thread_slow_type_test_entry_point_offset = 640;
 static constexpr dart::compiler::target::word AOT_Thread_stack_limit_offset =
     64;
 static constexpr dart::compiler::target::word
@@ -12400,13 +12442,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_stack_overflow_flags_offset = 128;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 408;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 584;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 400;
 static constexpr dart::compiler::target::word
     AOT_Thread_store_buffer_block_offset = 160;
 static constexpr dart::compiler::target::word
@@ -12416,18 +12458,20 @@
     40;
 static constexpr dart::compiler::target::word
     AOT_Thread_unboxed_int64_runtime_arg_offset = 192;
+static constexpr dart::compiler::target::word
+    AOT_Thread_unboxed_double_runtime_arg_offset = 200;
 static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 184;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_code_offset = 224;
+    AOT_Thread_write_barrier_code_offset = 232;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_entry_point_offset = 512;
+    AOT_Thread_write_barrier_entry_point_offset = 520;
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_mask_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1600;
+    1616;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1608;
+    AOT_Thread_callback_stack_return_offset = 1624;
 static constexpr dart::compiler::target::word
     AOT_TimelineStream_enabled_offset = 16;
 static constexpr dart::compiler::target::word AOT_TwoByteString_data_offset =
@@ -12501,9 +12545,9 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_wrappers_thread_offset[] = {
-        1392, 1400, 1408, 1416, 1424, 1432, 1440, 1448, 1456, 1464, 1472,
-        1480, 1488, 1496, 1504, -1,   -1,   -1,   -1,   1512, 1520, -1,
-        -1,   1528, 1536, 1544, -1,   -1,   -1,   -1,   -1,   -1};
+        1408, 1416, 1424, 1432, 1440, 1448, 1456, 1464, 1472, 1480, 1488,
+        1496, 1504, 1512, 1520, -1,   -1,   -1,   -1,   1528, 1536, -1,
+        -1,   1544, 1552, 1560, -1,   -1,   -1,   -1,   -1,   -1};
 static constexpr dart::compiler::target::word AOT_AbstractType_InstanceSize =
     24;
 static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 16;
diff --git a/runtime/vm/compiler/runtime_offsets_list.h b/runtime/vm/compiler/runtime_offsets_list.h
index 940f48d..2954ccb7 100644
--- a/runtime/vm/compiler/runtime_offsets_list.h
+++ b/runtime/vm/compiler/runtime_offsets_list.h
@@ -275,6 +275,7 @@
   FIELD(Thread, top_offset)                                                    \
   FIELD(Thread, top_resource_offset)                                           \
   FIELD(Thread, unboxed_int64_runtime_arg_offset)                              \
+  FIELD(Thread, unboxed_double_runtime_arg_offset)                             \
   FIELD(Thread, vm_tag_offset)                                                 \
   FIELD(Thread, write_barrier_code_offset)                                     \
   FIELD(Thread, write_barrier_entry_point_offset)                              \
diff --git a/runtime/vm/compiler/stub_code_compiler.cc b/runtime/vm/compiler/stub_code_compiler.cc
index 64edf34..eb2e0c9 100644
--- a/runtime/vm/compiler/stub_code_compiler.cc
+++ b/runtime/vm/compiler/stub_code_compiler.cc
@@ -1022,6 +1022,34 @@
 
 #undef EMIT_BOX_ALLOCATION
 
+void StubCodeCompiler::GenerateBoxDoubleStub(Assembler* assembler) {
+#if defined(TARGET_ARCH_ARM)
+  if (!TargetCPUFeatures::vfp_supported()) {
+    __ Breakpoint();
+    return;
+  }
+#endif  // defined(TARGET_ARCH_ARM)
+  Label call_runtime;
+  if (!FLAG_use_slow_path && FLAG_inline_alloc) {
+    __ TryAllocate(compiler::DoubleClass(), &call_runtime,
+                   compiler::Assembler::kFarJump, BoxDoubleStubABI::kResultReg,
+                   BoxDoubleStubABI::kTempReg);
+    __ StoreUnboxedDouble(
+        BoxDoubleStubABI::kValueReg, BoxDoubleStubABI::kResultReg,
+        compiler::target::Double::value_offset() - kHeapObjectTag);
+    __ Ret();
+  }
+  __ Bind(&call_runtime);
+  __ EnterStubFrame();
+  __ PushObject(NullObject()); /* Make room for result. */
+  __ StoreUnboxedDouble(BoxDoubleStubABI::kValueReg, THR,
+                        Thread::unboxed_double_runtime_arg_offset());
+  __ CallRuntime(kBoxDoubleRuntimeEntry, 0);
+  __ PopRegister(BoxDoubleStubABI::kResultReg);
+  __ LeaveStubFrame();
+  __ Ret();
+}
+
 }  // namespace compiler
 
 }  // namespace dart
diff --git a/runtime/vm/constants_arm.h b/runtime/vm/constants_arm.h
index 00f5670..022f7b7 100644
--- a/runtime/vm/constants_arm.h
+++ b/runtime/vm/constants_arm.h
@@ -487,6 +487,13 @@
   static const Register kLengthReg = R4;
 };
 
+// ABI for BoxDoubleStub.
+struct BoxDoubleStubABI {
+  static const FpuRegister kValueReg = Q0;
+  static const Register kTempReg = R1;
+  static const Register kResultReg = R0;
+};
+
 // ABI for DispatchTableNullErrorStub and consequently for all dispatch
 // table calls (though normal functions will not expect or use this
 // register). This ABI is added to distinguish memory corruption errors from
diff --git a/runtime/vm/constants_arm64.h b/runtime/vm/constants_arm64.h
index 4700efa..e9c6a5b 100644
--- a/runtime/vm/constants_arm64.h
+++ b/runtime/vm/constants_arm64.h
@@ -327,6 +327,13 @@
   static const Register kLengthReg = R4;
 };
 
+// ABI for BoxDoubleStub.
+struct BoxDoubleStubABI {
+  static const FpuRegister kValueReg = V0;
+  static const Register kTempReg = R1;
+  static const Register kResultReg = R0;
+};
+
 // ABI for DispatchTableNullErrorStub and consequently for all dispatch
 // table calls (though normal functions will not expect or use this
 // register). This ABI is added to distinguish memory corruption errors from
diff --git a/runtime/vm/constants_ia32.h b/runtime/vm/constants_ia32.h
index e727643..96941d8 100644
--- a/runtime/vm/constants_ia32.h
+++ b/runtime/vm/constants_ia32.h
@@ -226,6 +226,13 @@
   static const Register kLengthReg = kResultReg;
 };
 
+// ABI for BoxDoubleStub.
+struct BoxDoubleStubABI {
+  static const FpuRegister kValueReg = XMM0;
+  static const Register kTempReg = EBX;
+  static const Register kResultReg = EAX;
+};
+
 // ABI for DispatchTableNullErrorStub and consequently for all dispatch
 // table calls (though normal functions will not expect or use this
 // register). This ABI is added to distinguish memory corruption errors from
diff --git a/runtime/vm/constants_x64.h b/runtime/vm/constants_x64.h
index 6e7c80b..413eec4 100644
--- a/runtime/vm/constants_x64.h
+++ b/runtime/vm/constants_x64.h
@@ -299,6 +299,13 @@
   static const Register kLengthReg = kResultReg;
 };
 
+// ABI for BoxDoubleStub.
+struct BoxDoubleStubABI {
+  static const FpuRegister kValueReg = XMM0;
+  static const Register kTempReg = RBX;
+  static const Register kResultReg = RAX;
+};
+
 // ABI for DispatchTableNullErrorStub and consequently for all dispatch
 // table calls (though normal functions will not expect or use this
 // register). This ABI is added to distinguish memory corruption errors from
diff --git a/runtime/vm/runtime_entry.cc b/runtime/vm/runtime_entry.cc
index 1cd8ece..de2ecfc 100644
--- a/runtime/vm/runtime_entry.cc
+++ b/runtime/vm/runtime_entry.cc
@@ -344,6 +344,11 @@
   arguments.SetReturn(Object::Handle(zone, Double::New(0.0)));
 }
 
+DEFINE_RUNTIME_ENTRY_NO_LAZY_DEOPT(BoxDouble, 0) {
+  const double val = thread->unboxed_double_runtime_arg();
+  arguments.SetReturn(Object::Handle(zone, Double::New(val)));
+}
+
 DEFINE_RUNTIME_ENTRY_NO_LAZY_DEOPT(AllocateMint, 0) {
   if (FLAG_shared_slow_path_triggers_gc) {
     isolate->group()->heap()->CollectAllGarbage();
diff --git a/runtime/vm/runtime_entry_list.h b/runtime/vm/runtime_entry_list.h
index f22572c..5721160 100644
--- a/runtime/vm/runtime_entry_list.h
+++ b/runtime/vm/runtime_entry_list.h
@@ -18,6 +18,7 @@
   V(AllocateClosure)                                                           \
   V(AllocateContext)                                                           \
   V(AllocateObject)                                                            \
+  V(BoxDouble)                                                                 \
   V(BreakpointRuntimeHandler)                                                  \
   V(SingleStepHandler)                                                         \
   V(CloneContext)                                                              \
diff --git a/runtime/vm/stub_code_list.h b/runtime/vm/stub_code_list.h
index e63fdd4..2eb7331 100644
--- a/runtime/vm/stub_code_list.h
+++ b/runtime/vm/stub_code_list.h
@@ -56,6 +56,7 @@
   V(AllocateObjectParameterized)                                               \
   V(AllocateObjectSlow)                                                        \
   V(AllocateUnhandledException)                                                \
+  V(BoxDouble)                                                                 \
   V(CloneContext)                                                              \
   V(CallToRuntime)                                                             \
   V(LazyCompile)                                                               \
diff --git a/runtime/vm/thread.cc b/runtime/vm/thread.cc
index 2b8bf43..fc74cf2 100644
--- a/runtime/vm/thread.cc
+++ b/runtime/vm/thread.cc
@@ -73,6 +73,7 @@
       marking_stack_block_(NULL),
       vm_tag_(0),
       unboxed_int64_runtime_arg_(0),
+      unboxed_double_runtime_arg_(0.0),
       active_exception_(Object::null()),
       active_stacktrace_(Object::null()),
       global_object_pool_(ObjectPool::null()),
diff --git a/runtime/vm/thread.h b/runtime/vm/thread.h
index 7cf251e..8c2aea4 100644
--- a/runtime/vm/thread.h
+++ b/runtime/vm/thread.h
@@ -689,6 +689,15 @@
   static intptr_t unboxed_int64_runtime_arg_offset() {
     return OFFSET_OF(Thread, unboxed_int64_runtime_arg_);
   }
+  double unboxed_double_runtime_arg() const {
+    return unboxed_double_runtime_arg_;
+  }
+  void set_unboxed_double_runtime_arg(double value) {
+    unboxed_double_runtime_arg_ = value;
+  }
+  static intptr_t unboxed_double_runtime_arg_offset() {
+    return OFFSET_OF(Thread, unboxed_double_runtime_arg_);
+  }
 
   GrowableObjectArrayPtr pending_functions();
   void clear_pending_functions();
@@ -1050,11 +1059,12 @@
   MarkingStackBlock* marking_stack_block_;
   MarkingStackBlock* deferred_marking_stack_block_;
   uword volatile vm_tag_;
-  // Memory location dedicated for passing unboxed int64 values from
-  // generated code to runtime.
+  // Memory locations dedicated for passing unboxed int64 and double
+  // values from generated code to runtime.
   // TODO(dartbug.com/33549): Clean this up when unboxed values
   // could be passed as arguments.
   ALIGN8 int64_t unboxed_int64_runtime_arg_;
+  ALIGN8 double unboxed_double_runtime_arg_;
 
 // State that is cached in the TLS for fast access in generated code.
 #define DECLARE_MEMBERS(type_name, member_name, expr, default_init_value)      \