V8 Project
v8::internal::RecordWriteStub Class Reference

#include <code-stubs-arm.h>

+ Inheritance diagram for v8::internal::RecordWriteStub:
+ Collaboration diagram for v8::internal::RecordWriteStub:

Classes

class  AddressBits
 
class  ObjectBits
 
class  RegisterAllocation
 
class  RememberedSetActionBits
 
class  SaveFPRegsModeBits
 
class  ValueBits
 

Public Types

enum  Mode {
  STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY ,
  INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL ,
  INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION ,
  STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY ,
  INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL ,
  INCREMENTAL_COMPACTION
}
 
enum  Mode {
  STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY ,
  INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL ,
  INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION ,
  STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY ,
  INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL ,
  INCREMENTAL_COMPACTION
}
 
enum  Mode {
  STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY ,
  INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL ,
  INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION ,
  STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY ,
  INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL ,
  INCREMENTAL_COMPACTION
}
 
enum  Mode {
  STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY ,
  INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL ,
  INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION ,
  STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY ,
  INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL ,
  INCREMENTAL_COMPACTION
}
 
enum  Mode {
  STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY ,
  INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL ,
  INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION ,
  STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY ,
  INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL ,
  INCREMENTAL_COMPACTION
}
 
enum  Mode {
  STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY ,
  INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL ,
  INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION ,
  STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY ,
  INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL ,
  INCREMENTAL_COMPACTION
}
 
enum  Mode {
  STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY ,
  INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL ,
  INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION ,
  STORE_BUFFER_ONLY , INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY ,
  INCREMENTAL , INCREMENTAL_COMPACTION , STORE_BUFFER_ONLY , INCREMENTAL ,
  INCREMENTAL_COMPACTION
}
 

Public Member Functions

 RecordWriteStub (Isolate *isolate, Register object, Register value, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode)
 
 RecordWriteStub (uint32_t key, Isolate *isolate)
 
virtual bool SometimesSetsUpAFrame ()
 
 DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ()
 
 RecordWriteStub (Isolate *isolate, Register object, Register value, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode)
 
 RecordWriteStub (uint32_t key, Isolate *isolate)
 
virtual bool SometimesSetsUpAFrame ()
 
 DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ()
 
 RecordWriteStub (Isolate *isolate, Register object, Register value, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode)
 
 RecordWriteStub (uint32_t key, Isolate *isolate)
 
virtual bool SometimesSetsUpAFrame ()
 
 DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ()
 
 RecordWriteStub (Isolate *isolate, Register object, Register value, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode)
 
 RecordWriteStub (uint32_t key, Isolate *isolate)
 
virtual bool SometimesSetsUpAFrame ()
 
 DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ()
 
 RecordWriteStub (Isolate *isolate, Register object, Register value, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode)
 
 RecordWriteStub (uint32_t key, Isolate *isolate)
 
virtual bool SometimesSetsUpAFrame ()
 
 DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ()
 
 RecordWriteStub (Isolate *isolate, Register object, Register value, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode)
 
 RecordWriteStub (uint32_t key, Isolate *isolate)
 
virtual bool SometimesSetsUpAFrame ()
 
 DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ()
 
 RecordWriteStub (Isolate *isolate, Register object, Register value, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode)
 
 RecordWriteStub (uint32_t key, Isolate *isolate)
 
virtual bool SometimesSetsUpAFrame ()
 
 DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ()
 
- Public Member Functions inherited from v8::internal::PlatformCodeStub
virtual Handle< CodeGenerateCode () OVERRIDE
 
virtual Code::Kind GetCodeKind () const
 

Static Public Member Functions

static void PatchBranchIntoNop (MacroAssembler *masm, int pos)
 
static void PatchNopIntoBranch (MacroAssembler *masm, int pos)
 
static Mode GetMode (Code *stub)
 
static void Patch (Code *stub, Mode mode)
 
static Mode GetMode (Code *stub)
 
static void Patch (Code *stub, Mode mode)
 
static Mode GetMode (Code *stub)
 
static void Patch (Code *stub, Mode mode)
 
static void PatchBranchIntoNop (MacroAssembler *masm, int pos)
 
static void PatchNopIntoBranch (MacroAssembler *masm, int pos)
 
static Mode GetMode (Code *stub)
 
static void Patch (Code *stub, Mode mode)
 
static void PatchBranchIntoNop (MacroAssembler *masm, int pos)
 
static void PatchNopIntoBranch (MacroAssembler *masm, int pos)
 
static Mode GetMode (Code *stub)
 
static void Patch (Code *stub, Mode mode)
 
static Mode GetMode (Code *stub)
 
static void Patch (Code *stub, Mode mode)
 
static Mode GetMode (Code *stub)
 
static void Patch (Code *stub, Mode mode)
 

Static Public Attributes

static const byte kTwoByteNopInstruction = 0x3c
 
static const byte kTwoByteJumpInstruction = 0xeb
 
static const byte kFiveByteNopInstruction = 0x3d
 
static const byte kFiveByteJumpInstruction = 0xe9
 

Private Types

enum  OnNoNeedToInformIncrementalMarker {
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker
}
 
enum  OnNoNeedToInformIncrementalMarker {
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker
}
 
enum  OnNoNeedToInformIncrementalMarker {
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker
}
 
enum  OnNoNeedToInformIncrementalMarker {
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker
}
 
enum  OnNoNeedToInformIncrementalMarker {
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker
}
 
enum  OnNoNeedToInformIncrementalMarker {
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker
}
 
enum  OnNoNeedToInformIncrementalMarker {
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker , kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker ,
  kReturnOnNoNeedToInformIncrementalMarker , kUpdateRememberedSetOnNoNeedToInformIncrementalMarker
}
 

Private Member Functions

virtual Major MajorKey () const FINAL OVERRIDE
 
virtual void Generate (MacroAssembler *masm) OVERRIDE
 
void GenerateIncremental (MacroAssembler *masm, Mode mode)
 
void CheckNeedsToInformIncrementalMarker (MacroAssembler *masm, OnNoNeedToInformIncrementalMarker on_no_need, Mode mode)
 
void InformIncrementalMarker (MacroAssembler *masm)
 
void Activate (Code *code)
 
Register object () const
 
Register value () const
 
Register address () const
 
RememberedSetAction remembered_set_action () const
 
SaveFPRegsMode save_fp_regs_mode () const
 
 DISALLOW_COPY_AND_ASSIGN (RecordWriteStub)
 
virtual Major MajorKey () const FINAL OVERRIDE
 
virtual void Generate (MacroAssembler *masm) OVERRIDE
 
void GenerateIncremental (MacroAssembler *masm, Mode mode)
 
void CheckNeedsToInformIncrementalMarker (MacroAssembler *masm, OnNoNeedToInformIncrementalMarker on_no_need, Mode mode)
 
void InformIncrementalMarker (MacroAssembler *masm)
 
void Activate (Code *code)
 
Register object () const
 
Register value () const
 
Register address () const
 
RememberedSetAction remembered_set_action () const
 
SaveFPRegsMode save_fp_regs_mode () const
 
virtual Major MajorKey () const FINAL OVERRIDE
 
virtual void Generate (MacroAssembler *masm) OVERRIDE
 
void GenerateIncremental (MacroAssembler *masm, Mode mode)
 
void CheckNeedsToInformIncrementalMarker (MacroAssembler *masm, OnNoNeedToInformIncrementalMarker on_no_need, Mode mode)
 
void InformIncrementalMarker (MacroAssembler *masm)
 
void Activate (Code *code)
 
Register object () const
 
Register value () const
 
Register address () const
 
RememberedSetAction remembered_set_action () const
 
SaveFPRegsMode save_fp_regs_mode () const
 
 DISALLOW_COPY_AND_ASSIGN (RecordWriteStub)
 
virtual Major MajorKey () const FINAL OVERRIDE
 
virtual void Generate (MacroAssembler *masm) OVERRIDE
 
void GenerateIncremental (MacroAssembler *masm, Mode mode)
 
void CheckNeedsToInformIncrementalMarker (MacroAssembler *masm, OnNoNeedToInformIncrementalMarker on_no_need, Mode mode)
 
void InformIncrementalMarker (MacroAssembler *masm)
 
void Activate (Code *code)
 
Register object () const
 
Register value () const
 
Register address () const
 
RememberedSetAction remembered_set_action () const
 
SaveFPRegsMode save_fp_regs_mode () const
 
 DISALLOW_COPY_AND_ASSIGN (RecordWriteStub)
 
virtual Major MajorKey () const FINAL OVERRIDE
 
virtual void Generate (MacroAssembler *masm) OVERRIDE
 
void GenerateIncremental (MacroAssembler *masm, Mode mode)
 
void CheckNeedsToInformIncrementalMarker (MacroAssembler *masm, OnNoNeedToInformIncrementalMarker on_no_need, Mode mode)
 
void InformIncrementalMarker (MacroAssembler *masm)
 
void Activate (Code *code)
 
Register object () const
 
Register value () const
 
Register address () const
 
RememberedSetAction remembered_set_action () const
 
SaveFPRegsMode save_fp_regs_mode () const
 
 DISALLOW_COPY_AND_ASSIGN (RecordWriteStub)
 
virtual Major MajorKey () const FINAL OVERRIDE
 
virtual void Generate (MacroAssembler *masm) OVERRIDE
 
void GenerateIncremental (MacroAssembler *masm, Mode mode)
 
void CheckNeedsToInformIncrementalMarker (MacroAssembler *masm, OnNoNeedToInformIncrementalMarker on_no_need, Mode mode)
 
void InformIncrementalMarker (MacroAssembler *masm)
 
void Activate (Code *code)
 
Register object () const
 
Register value () const
 
Register address () const
 
RememberedSetAction remembered_set_action () const
 
SaveFPRegsMode save_fp_regs_mode () const
 
 DISALLOW_COPY_AND_ASSIGN (RecordWriteStub)
 
virtual Major MajorKey () const FINAL OVERRIDE
 
virtual void Generate (MacroAssembler *masm) OVERRIDE
 
void GenerateIncremental (MacroAssembler *masm, Mode mode)
 
void CheckNeedsToInformIncrementalMarker (MacroAssembler *masm, OnNoNeedToInformIncrementalMarker on_no_need, Mode mode)
 
void InformIncrementalMarker (MacroAssembler *masm)
 
void Activate (Code *code)
 
Register object () const
 
Register value () const
 
Register address () const
 
RememberedSetAction remembered_set_action () const
 
SaveFPRegsMode save_fp_regs_mode () const
 
 DISALLOW_COPY_AND_ASSIGN (RecordWriteStub)
 

Private Attributes

Label slow_
 
RegisterAllocation regs_
 

Additional Inherited Members

- Protected Member Functions inherited from v8::internal::PlatformCodeStub
 PlatformCodeStub (Isolate *isolate)
 
 DEFINE_CODE_STUB_BASE (PlatformCodeStub, CodeStub)
 

Detailed Description

Definition at line 87 of file code-stubs-arm.h.

Member Enumeration Documentation

◆ Mode [1/7]

Enumerator
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 

Definition at line 109 of file code-stubs-arm.h.

◆ Mode [2/7]

Enumerator
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 

Definition at line 94 of file code-stubs-arm64.h.

94  {
98  };

◆ Mode [3/7]

Enumerator
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 

Definition at line 139 of file code-stubs-ia32.h.

139  {
141  INCREMENTAL,
143  };

◆ Mode [4/7]

Enumerator
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 

Definition at line 147 of file code-stubs-mips.h.

147  {
149  INCREMENTAL,
151  };

◆ Mode [5/7]

Enumerator
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 

Definition at line 149 of file code-stubs-mips64.h.

149  {
151  INCREMENTAL,
153  };

◆ Mode [6/7]

Enumerator
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 

Definition at line 131 of file code-stubs-x64.h.

131  {
133  INCREMENTAL,
135  };

◆ Mode [7/7]

Enumerator
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 
STORE_BUFFER_ONLY 
INCREMENTAL 
INCREMENTAL_COMPACTION 

Definition at line 136 of file code-stubs-x87.h.

136  {
138  INCREMENTAL,
140  };

◆ OnNoNeedToInformIncrementalMarker [1/7]

Enumerator
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 

Definition at line 233 of file code-stubs-arm.h.

◆ OnNoNeedToInformIncrementalMarker [2/7]

Enumerator
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 

Definition at line 273 of file code-stubs-arm64.h.

◆ OnNoNeedToInformIncrementalMarker [3/7]

Enumerator
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 

Definition at line 337 of file code-stubs-ia32.h.

◆ OnNoNeedToInformIncrementalMarker [4/7]

Enumerator
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 

Definition at line 275 of file code-stubs-mips.h.

◆ OnNoNeedToInformIncrementalMarker [5/7]

Enumerator
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 

Definition at line 277 of file code-stubs-mips64.h.

◆ OnNoNeedToInformIncrementalMarker [6/7]

Enumerator
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 

Definition at line 311 of file code-stubs-x64.h.

◆ OnNoNeedToInformIncrementalMarker [7/7]

Enumerator
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 
kReturnOnNoNeedToInformIncrementalMarker 
kUpdateRememberedSetOnNoNeedToInformIncrementalMarker 

Definition at line 326 of file code-stubs-x87.h.

Constructor & Destructor Documentation

◆ RecordWriteStub() [1/14]

v8::internal::RecordWriteStub::RecordWriteStub ( Isolate isolate,
Register  object,
Register  value,
Register  address,
RememberedSetAction  remembered_set_action,
SaveFPRegsMode  fp_mode 
)
inline

Definition at line 89 of file code-stubs-arm.h.

95  : PlatformCodeStub(isolate),
96  regs_(object, // An input reg.
97  address, // An input reg.
98  value) { // One scratch reg.
99  minor_key_ = ObjectBits::encode(object.code()) |
104  }
static U encode(T value)
Definition: utils.h:217
PlatformCodeStub(Isolate *isolate)
Definition: code-stubs.h:341
RememberedSetAction remembered_set_action() const

References address(), v8::internal::Register::code(), v8::internal::BitFieldBase< T, shift, size, U >::encode(), remembered_set_action(), and value().

+ Here is the call graph for this function:

◆ RecordWriteStub() [2/14]

v8::internal::RecordWriteStub::RecordWriteStub ( uint32_t  key,
Isolate isolate 
)
inline

Definition at line 106 of file code-stubs-arm.h.

107  : PlatformCodeStub(key, isolate), regs_(object(), address(), value()) {}

◆ RecordWriteStub() [3/14]

v8::internal::RecordWriteStub::RecordWriteStub ( Isolate isolate,
Register  object,
Register  value,
Register  address,
RememberedSetAction  remembered_set_action,
SaveFPRegsMode  fp_mode 
)
inline

Definition at line 71 of file code-stubs-arm64.h.

77  : PlatformCodeStub(isolate),
78  regs_(object, // An input reg.
79  address, // An input reg.
80  value) { // One scratch reg.
81  DCHECK(object.Is64Bits());
84  minor_key_ = ObjectBits::encode(object.code()) |
89  }
#define DCHECK(condition)
Definition: logging.h:205

References address(), v8::internal::Register::code(), DCHECK, v8::internal::BitFieldBase< T, shift, size, U >::encode(), v8::internal::CPURegister::Is64Bits(), remembered_set_action(), and value().

+ Here is the call graph for this function:

◆ RecordWriteStub() [4/14]

v8::internal::RecordWriteStub::RecordWriteStub ( uint32_t  key,
Isolate isolate 
)
inline

Definition at line 91 of file code-stubs-arm64.h.

92  : PlatformCodeStub(key, isolate), regs_(object(), address(), value()) {}

◆ RecordWriteStub() [5/14]

v8::internal::RecordWriteStub::RecordWriteStub ( Isolate isolate,
Register  object,
Register  value,
Register  address,
RememberedSetAction  remembered_set_action,
SaveFPRegsMode  fp_mode 
)
inline

Definition at line 119 of file code-stubs-ia32.h.

125  : PlatformCodeStub(isolate),
126  regs_(object, // An input reg.
127  address, // An input reg.
128  value) { // One scratch reg.
129  minor_key_ = ObjectBits::encode(object.code()) |
134  }

References address(), v8::internal::Register::code(), v8::internal::BitFieldBase< T, shift, size, U >::encode(), remembered_set_action(), and value().

+ Here is the call graph for this function:

◆ RecordWriteStub() [6/14]

v8::internal::RecordWriteStub::RecordWriteStub ( uint32_t  key,
Isolate isolate 
)
inline

Definition at line 136 of file code-stubs-ia32.h.

137  : PlatformCodeStub(key, isolate), regs_(object(), address(), value()) {}

◆ RecordWriteStub() [7/14]

v8::internal::RecordWriteStub::RecordWriteStub ( Isolate isolate,
Register  object,
Register  value,
Register  address,
RememberedSetAction  remembered_set_action,
SaveFPRegsMode  fp_mode 
)
inline

Definition at line 127 of file code-stubs-mips.h.

133  : PlatformCodeStub(isolate),
134  regs_(object, // An input reg.
135  address, // An input reg.
136  value) { // One scratch reg.
137  minor_key_ = ObjectBits::encode(object.code()) |
142  }

References address(), v8::internal::Register::code(), v8::internal::BitFieldBase< T, shift, size, U >::encode(), remembered_set_action(), and value().

+ Here is the call graph for this function:

◆ RecordWriteStub() [8/14]

v8::internal::RecordWriteStub::RecordWriteStub ( uint32_t  key,
Isolate isolate 
)
inline

Definition at line 144 of file code-stubs-mips.h.

145  : PlatformCodeStub(key, isolate), regs_(object(), address(), value()) {}

◆ RecordWriteStub() [9/14]

v8::internal::RecordWriteStub::RecordWriteStub ( Isolate isolate,
Register  object,
Register  value,
Register  address,
RememberedSetAction  remembered_set_action,
SaveFPRegsMode  fp_mode 
)
inline

Definition at line 129 of file code-stubs-mips64.h.

135  : PlatformCodeStub(isolate),
136  regs_(object, // An input reg.
137  address, // An input reg.
138  value) { // One scratch reg.
139  minor_key_ = ObjectBits::encode(object.code()) |
144  }

References address(), v8::internal::Register::code(), v8::internal::BitFieldBase< T, shift, size, U >::encode(), remembered_set_action(), and value().

+ Here is the call graph for this function:

◆ RecordWriteStub() [10/14]

v8::internal::RecordWriteStub::RecordWriteStub ( uint32_t  key,
Isolate isolate 
)
inline

Definition at line 146 of file code-stubs-mips64.h.

147  : PlatformCodeStub(key, isolate), regs_(object(), address(), value()) {}

◆ RecordWriteStub() [11/14]

v8::internal::RecordWriteStub::RecordWriteStub ( Isolate isolate,
Register  object,
Register  value,
Register  address,
RememberedSetAction  remembered_set_action,
SaveFPRegsMode  fp_mode 
)
inline

Definition at line 114 of file code-stubs-x64.h.

117  : PlatformCodeStub(isolate),
118  regs_(object, // An input reg.
119  address, // An input reg.
120  value) { // One scratch reg.
121  minor_key_ = ObjectBits::encode(object.code()) |
126  }

References address(), v8::internal::Register::code(), v8::internal::BitFieldBase< T, shift, size, U >::encode(), remembered_set_action(), and value().

+ Here is the call graph for this function:

◆ RecordWriteStub() [12/14]

v8::internal::RecordWriteStub::RecordWriteStub ( uint32_t  key,
Isolate isolate 
)
inline

Definition at line 128 of file code-stubs-x64.h.

129  : PlatformCodeStub(key, isolate), regs_(object(), address(), value()) {}

◆ RecordWriteStub() [13/14]

v8::internal::RecordWriteStub::RecordWriteStub ( Isolate isolate,
Register  object,
Register  value,
Register  address,
RememberedSetAction  remembered_set_action,
SaveFPRegsMode  fp_mode 
)
inline

Definition at line 119 of file code-stubs-x87.h.

122  : PlatformCodeStub(isolate),
123  regs_(object, // An input reg.
124  address, // An input reg.
125  value) { // One scratch reg.
126  minor_key_ = ObjectBits::encode(object.code()) |
131  }

References address(), v8::internal::Register::code(), v8::internal::BitFieldBase< T, shift, size, U >::encode(), remembered_set_action(), and value().

+ Here is the call graph for this function:

◆ RecordWriteStub() [14/14]

v8::internal::RecordWriteStub::RecordWriteStub ( uint32_t  key,
Isolate isolate 
)
inline

Definition at line 133 of file code-stubs-x87.h.

134  : PlatformCodeStub(key, isolate), regs_(object(), address(), value()) {}

Member Function Documentation

◆ Activate() [1/7]

void v8::internal::RecordWriteStub::Activate ( Code code)
inlineprivate

Definition at line 248 of file code-stubs-arm.h.

248  {
249  code->GetHeap()->incremental_marking()->ActivateGeneratedStub(code);
250  }

References v8::internal::IncrementalMarking::ActivateGeneratedStub(), v8::internal::HeapObject::GetHeap(), and v8::internal::Heap::incremental_marking().

+ Here is the call graph for this function:

◆ Activate() [2/7]

void v8::internal::RecordWriteStub::Activate ( Code code)
inlineprivate

Definition at line 288 of file code-stubs-arm64.h.

288  {
289  code->GetHeap()->incremental_marking()->ActivateGeneratedStub(code);
290  }

References v8::internal::IncrementalMarking::ActivateGeneratedStub(), v8::internal::HeapObject::GetHeap(), and v8::internal::Heap::incremental_marking().

+ Here is the call graph for this function:

◆ Activate() [3/7]

void v8::internal::RecordWriteStub::Activate ( Code code)
inlineprivate

Definition at line 352 of file code-stubs-ia32.h.

352  {
353  code->GetHeap()->incremental_marking()->ActivateGeneratedStub(code);
354  }

References v8::internal::IncrementalMarking::ActivateGeneratedStub(), v8::internal::HeapObject::GetHeap(), and v8::internal::Heap::incremental_marking().

+ Here is the call graph for this function:

◆ Activate() [4/7]

void v8::internal::RecordWriteStub::Activate ( Code code)
inlineprivate

Definition at line 290 of file code-stubs-mips.h.

290  {
291  code->GetHeap()->incremental_marking()->ActivateGeneratedStub(code);
292  }

References v8::internal::IncrementalMarking::ActivateGeneratedStub(), v8::internal::HeapObject::GetHeap(), and v8::internal::Heap::incremental_marking().

+ Here is the call graph for this function:

◆ Activate() [5/7]

void v8::internal::RecordWriteStub::Activate ( Code code)
inlineprivate

Definition at line 292 of file code-stubs-mips64.h.

292  {
293  code->GetHeap()->incremental_marking()->ActivateGeneratedStub(code);
294  }

References v8::internal::IncrementalMarking::ActivateGeneratedStub(), v8::internal::HeapObject::GetHeap(), and v8::internal::Heap::incremental_marking().

+ Here is the call graph for this function:

◆ Activate() [6/7]

void v8::internal::RecordWriteStub::Activate ( Code code)
inlineprivate

Definition at line 326 of file code-stubs-x64.h.

326  {
327  code->GetHeap()->incremental_marking()->ActivateGeneratedStub(code);
328  }

References v8::internal::IncrementalMarking::ActivateGeneratedStub(), v8::internal::HeapObject::GetHeap(), and v8::internal::Heap::incremental_marking().

+ Here is the call graph for this function:

◆ Activate() [7/7]

void v8::internal::RecordWriteStub::Activate ( Code code)
inlineprivate

Definition at line 341 of file code-stubs-x87.h.

341  {
342  code->GetHeap()->incremental_marking()->ActivateGeneratedStub(code);
343  }

References v8::internal::IncrementalMarking::ActivateGeneratedStub(), v8::internal::HeapObject::GetHeap(), and v8::internal::Heap::incremental_marking().

+ Here is the call graph for this function:

◆ address() [1/7]

Register v8::internal::RecordWriteStub::address ( ) const
inlineprivate

Definition at line 260 of file code-stubs-arm.h.

260  {
261  return Register::from_code(AddressBits::decode(minor_key_));
262  }
static T decode(U value)
Definition: utils.h:228
static Register from_code(int code)

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

Referenced by RecordWriteStub().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ address() [2/7]

Register v8::internal::RecordWriteStub::address ( ) const
inlineprivate

Definition at line 300 of file code-stubs-arm64.h.

300  {
301  return Register::from_code(AddressBits::decode(minor_key_));
302  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ address() [3/7]

Register v8::internal::RecordWriteStub::address ( ) const
inlineprivate

Definition at line 364 of file code-stubs-ia32.h.

364  {
365  return Register::from_code(AddressBits::decode(minor_key_));
366  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ address() [4/7]

Register v8::internal::RecordWriteStub::address ( ) const
inlineprivate

Definition at line 302 of file code-stubs-mips.h.

302  {
303  return Register::from_code(AddressBits::decode(minor_key_));
304  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ address() [5/7]

Register v8::internal::RecordWriteStub::address ( ) const
inlineprivate

Definition at line 304 of file code-stubs-mips64.h.

304  {
305  return Register::from_code(AddressBits::decode(minor_key_));
306  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ address() [6/7]

Register v8::internal::RecordWriteStub::address ( ) const
inlineprivate

Definition at line 338 of file code-stubs-x64.h.

338  {
339  return Register::from_code(AddressBits::decode(minor_key_));
340  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ address() [7/7]

Register v8::internal::RecordWriteStub::address ( ) const
inlineprivate

Definition at line 353 of file code-stubs-x87.h.

353  {
354  return Register::from_code(AddressBits::decode(minor_key_));
355  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ CheckNeedsToInformIncrementalMarker() [1/7]

void v8::internal::RecordWriteStub::CheckNeedsToInformIncrementalMarker ( MacroAssembler masm,
OnNoNeedToInformIncrementalMarker  on_no_need,
Mode  mode 
)
private

◆ CheckNeedsToInformIncrementalMarker() [2/7]

void v8::internal::RecordWriteStub::CheckNeedsToInformIncrementalMarker ( MacroAssembler masm,
OnNoNeedToInformIncrementalMarker  on_no_need,
Mode  mode 
)
private

◆ CheckNeedsToInformIncrementalMarker() [3/7]

void v8::internal::RecordWriteStub::CheckNeedsToInformIncrementalMarker ( MacroAssembler masm,
OnNoNeedToInformIncrementalMarker  on_no_need,
Mode  mode 
)
private

◆ CheckNeedsToInformIncrementalMarker() [4/7]

void v8::internal::RecordWriteStub::CheckNeedsToInformIncrementalMarker ( MacroAssembler masm,
OnNoNeedToInformIncrementalMarker  on_no_need,
Mode  mode 
)
private

◆ CheckNeedsToInformIncrementalMarker() [5/7]

void v8::internal::RecordWriteStub::CheckNeedsToInformIncrementalMarker ( MacroAssembler masm,
OnNoNeedToInformIncrementalMarker  on_no_need,
Mode  mode 
)
private

◆ CheckNeedsToInformIncrementalMarker() [6/7]

void v8::internal::RecordWriteStub::CheckNeedsToInformIncrementalMarker ( MacroAssembler masm,
OnNoNeedToInformIncrementalMarker  on_no_need,
Mode  mode 
)
private

◆ CheckNeedsToInformIncrementalMarker() [7/7]

void v8::internal::RecordWriteStub::CheckNeedsToInformIncrementalMarker ( MacroAssembler masm,
OnNoNeedToInformIncrementalMarker  on_no_need,
Mode  mode 
)
private

◆ DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR() [1/7]

v8::internal::RecordWriteStub::DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ( )

◆ DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR() [2/7]

v8::internal::RecordWriteStub::DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ( )

◆ DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR() [3/7]

v8::internal::RecordWriteStub::DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ( )

◆ DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR() [4/7]

v8::internal::RecordWriteStub::DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ( )

◆ DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR() [5/7]

v8::internal::RecordWriteStub::DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ( )

◆ DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR() [6/7]

v8::internal::RecordWriteStub::DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ( )

◆ DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR() [7/7]

v8::internal::RecordWriteStub::DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ( )

◆ DISALLOW_COPY_AND_ASSIGN() [1/6]

v8::internal::RecordWriteStub::DISALLOW_COPY_AND_ASSIGN ( RecordWriteStub  )
private

◆ DISALLOW_COPY_AND_ASSIGN() [2/6]

v8::internal::RecordWriteStub::DISALLOW_COPY_AND_ASSIGN ( RecordWriteStub  )
private

◆ DISALLOW_COPY_AND_ASSIGN() [3/6]

v8::internal::RecordWriteStub::DISALLOW_COPY_AND_ASSIGN ( RecordWriteStub  )
private

◆ DISALLOW_COPY_AND_ASSIGN() [4/6]

v8::internal::RecordWriteStub::DISALLOW_COPY_AND_ASSIGN ( RecordWriteStub  )
private

◆ DISALLOW_COPY_AND_ASSIGN() [5/6]

v8::internal::RecordWriteStub::DISALLOW_COPY_AND_ASSIGN ( RecordWriteStub  )
private

◆ DISALLOW_COPY_AND_ASSIGN() [6/6]

v8::internal::RecordWriteStub::DISALLOW_COPY_AND_ASSIGN ( RecordWriteStub  )
private

◆ Generate() [1/7]

virtual void v8::internal::RecordWriteStub::Generate ( MacroAssembler masm)
privatevirtual

◆ Generate() [2/7]

virtual void v8::internal::RecordWriteStub::Generate ( MacroAssembler masm)
privatevirtual

◆ Generate() [3/7]

virtual void v8::internal::RecordWriteStub::Generate ( MacroAssembler masm)
privatevirtual

◆ Generate() [4/7]

virtual void v8::internal::RecordWriteStub::Generate ( MacroAssembler masm)
privatevirtual

◆ Generate() [5/7]

virtual void v8::internal::RecordWriteStub::Generate ( MacroAssembler masm)
privatevirtual

◆ Generate() [6/7]

virtual void v8::internal::RecordWriteStub::Generate ( MacroAssembler masm)
privatevirtual

◆ Generate() [7/7]

virtual void v8::internal::RecordWriteStub::Generate ( MacroAssembler masm)
privatevirtual

◆ GenerateIncremental() [1/7]

void v8::internal::RecordWriteStub::GenerateIncremental ( MacroAssembler masm,
Mode  mode 
)
private

◆ GenerateIncremental() [2/7]

void v8::internal::RecordWriteStub::GenerateIncremental ( MacroAssembler masm,
Mode  mode 
)
private

◆ GenerateIncremental() [3/7]

void v8::internal::RecordWriteStub::GenerateIncremental ( MacroAssembler masm,
Mode  mode 
)
private

◆ GenerateIncremental() [4/7]

void v8::internal::RecordWriteStub::GenerateIncremental ( MacroAssembler masm,
Mode  mode 
)
private

◆ GenerateIncremental() [5/7]

void v8::internal::RecordWriteStub::GenerateIncremental ( MacroAssembler masm,
Mode  mode 
)
private

◆ GenerateIncremental() [6/7]

void v8::internal::RecordWriteStub::GenerateIncremental ( MacroAssembler masm,
Mode  mode 
)
private

◆ GenerateIncremental() [7/7]

void v8::internal::RecordWriteStub::GenerateIncremental ( MacroAssembler masm,
Mode  mode 
)
private

◆ GetMode() [1/7]

static Mode v8::internal::RecordWriteStub::GetMode ( Code stub)
inlinestatic

Definition at line 127 of file code-stubs-arm.h.

127  {
128  Instr first_instruction = Assembler::instr_at(stub->instruction_start());
129  Instr second_instruction = Assembler::instr_at(stub->instruction_start() +
131 
132  if (Assembler::IsBranch(first_instruction)) {
133  return INCREMENTAL;
134  }
135 
136  DCHECK(Assembler::IsTstImmediate(first_instruction));
137 
138  if (Assembler::IsBranch(second_instruction)) {
139  return INCREMENTAL_COMPACTION;
140  }
141 
142  DCHECK(Assembler::IsTstImmediate(second_instruction));
143 
144  return STORE_BUFFER_ONLY;
145  }
static const int kInstrSize
static bool IsTstImmediate(Instr instr)
static bool IsBranch(Instr instr)

References DCHECK, INCREMENTAL, INCREMENTAL_COMPACTION, v8::internal::Assembler::instr_at(), v8::internal::Code::instruction_start(), v8::internal::Assembler::IsBranch(), v8::internal::Assembler::IsTstImmediate(), v8::internal::Assembler::kInstrSize, and STORE_BUFFER_ONLY.

Referenced by v8::internal::IncrementalMarking::ActivateGeneratedStub(), and Patch().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetMode() [2/7]

static Mode v8::internal::RecordWriteStub::GetMode ( Code stub)
inlinestatic

Definition at line 102 of file code-stubs-arm64.h.

102  {
103  // Find the mode depending on the first two instructions.
104  Instruction* instr1 =
105  reinterpret_cast<Instruction*>(stub->instruction_start());
106  Instruction* instr2 = instr1->following();
107 
108  if (instr1->IsUncondBranchImm()) {
109  DCHECK(instr2->IsPCRelAddressing() && (instr2->Rd() == xzr.code()));
110  return INCREMENTAL;
111  }
112 
113  DCHECK(instr1->IsPCRelAddressing() && (instr1->Rd() == xzr.code()));
114 
115  if (instr2->IsUncondBranchImm()) {
116  return INCREMENTAL_COMPACTION;
117  }
118 
119  DCHECK(instr2->IsPCRelAddressing());
120 
121  return STORE_BUFFER_ONLY;
122  }

References DCHECK, v8::internal::Instruction::following(), INCREMENTAL, INCREMENTAL_COMPACTION, v8::internal::Code::instruction_start(), v8::internal::Instruction::IsPCRelAddressing(), v8::internal::Instruction::IsUncondBranchImm(), and STORE_BUFFER_ONLY.

+ Here is the call graph for this function:

◆ GetMode() [3/7]

static Mode v8::internal::RecordWriteStub::GetMode ( Code stub)
inlinestatic

Definition at line 153 of file code-stubs-ia32.h.

153  {
154  byte first_instruction = stub->instruction_start()[0];
155  byte second_instruction = stub->instruction_start()[2];
156 
157  if (first_instruction == kTwoByteJumpInstruction) {
158  return INCREMENTAL;
159  }
160 
161  DCHECK(first_instruction == kTwoByteNopInstruction);
162 
163  if (second_instruction == kFiveByteJumpInstruction) {
164  return INCREMENTAL_COMPACTION;
165  }
166 
167  DCHECK(second_instruction == kFiveByteNopInstruction);
168 
169  return STORE_BUFFER_ONLY;
170  }
static const byte kTwoByteNopInstruction
static const byte kFiveByteJumpInstruction
static const byte kFiveByteNopInstruction
static const byte kTwoByteJumpInstruction

References DCHECK, INCREMENTAL, INCREMENTAL_COMPACTION, v8::internal::Code::instruction_start(), kFiveByteJumpInstruction, kFiveByteNopInstruction, kTwoByteJumpInstruction, kTwoByteNopInstruction, and STORE_BUFFER_ONLY.

+ Here is the call graph for this function:

◆ GetMode() [4/7]

static Mode v8::internal::RecordWriteStub::GetMode ( Code stub)
inlinestatic

Definition at line 169 of file code-stubs-mips.h.

169  {
170  Instr first_instruction = Assembler::instr_at(stub->instruction_start());
171  Instr second_instruction = Assembler::instr_at(stub->instruction_start() +
173 
174  if (Assembler::IsBeq(first_instruction)) {
175  return INCREMENTAL;
176  }
177 
178  DCHECK(Assembler::IsBne(first_instruction));
179 
180  if (Assembler::IsBeq(second_instruction)) {
181  return INCREMENTAL_COMPACTION;
182  }
183 
184  DCHECK(Assembler::IsBne(second_instruction));
185 
186  return STORE_BUFFER_ONLY;
187  }
static bool IsBne(Instr instr)
static bool IsBeq(Instr instr)

References DCHECK, INCREMENTAL, INCREMENTAL_COMPACTION, v8::internal::Assembler::instr_at(), v8::internal::Code::instruction_start(), v8::internal::Assembler::IsBeq(), v8::internal::Assembler::IsBne(), v8::internal::Assembler::kInstrSize, and STORE_BUFFER_ONLY.

+ Here is the call graph for this function:

◆ GetMode() [5/7]

static Mode v8::internal::RecordWriteStub::GetMode ( Code stub)
inlinestatic

Definition at line 171 of file code-stubs-mips64.h.

171  {
172  Instr first_instruction = Assembler::instr_at(stub->instruction_start());
173  Instr second_instruction = Assembler::instr_at(stub->instruction_start() +
175 
176  if (Assembler::IsBeq(first_instruction)) {
177  return INCREMENTAL;
178  }
179 
180  DCHECK(Assembler::IsBne(first_instruction));
181 
182  if (Assembler::IsBeq(second_instruction)) {
183  return INCREMENTAL_COMPACTION;
184  }
185 
186  DCHECK(Assembler::IsBne(second_instruction));
187 
188  return STORE_BUFFER_ONLY;
189  }

References DCHECK, INCREMENTAL, INCREMENTAL_COMPACTION, v8::internal::Assembler::instr_at(), v8::internal::Code::instruction_start(), v8::internal::Assembler::IsBeq(), v8::internal::Assembler::IsBne(), v8::internal::Assembler::kInstrSize, and STORE_BUFFER_ONLY.

+ Here is the call graph for this function:

◆ GetMode() [6/7]

static Mode v8::internal::RecordWriteStub::GetMode ( Code stub)
inlinestatic

Definition at line 145 of file code-stubs-x64.h.

145  {
146  byte first_instruction = stub->instruction_start()[0];
147  byte second_instruction = stub->instruction_start()[2];
148 
149  if (first_instruction == kTwoByteJumpInstruction) {
150  return INCREMENTAL;
151  }
152 
153  DCHECK(first_instruction == kTwoByteNopInstruction);
154 
155  if (second_instruction == kFiveByteJumpInstruction) {
156  return INCREMENTAL_COMPACTION;
157  }
158 
159  DCHECK(second_instruction == kFiveByteNopInstruction);
160 
161  return STORE_BUFFER_ONLY;
162  }

References DCHECK, INCREMENTAL, INCREMENTAL_COMPACTION, v8::internal::Code::instruction_start(), kFiveByteJumpInstruction, kFiveByteNopInstruction, kTwoByteJumpInstruction, kTwoByteNopInstruction, and STORE_BUFFER_ONLY.

+ Here is the call graph for this function:

◆ GetMode() [7/7]

static Mode v8::internal::RecordWriteStub::GetMode ( Code stub)
inlinestatic

Definition at line 150 of file code-stubs-x87.h.

150  {
151  byte first_instruction = stub->instruction_start()[0];
152  byte second_instruction = stub->instruction_start()[2];
153 
154  if (first_instruction == kTwoByteJumpInstruction) {
155  return INCREMENTAL;
156  }
157 
158  DCHECK(first_instruction == kTwoByteNopInstruction);
159 
160  if (second_instruction == kFiveByteJumpInstruction) {
161  return INCREMENTAL_COMPACTION;
162  }
163 
164  DCHECK(second_instruction == kFiveByteNopInstruction);
165 
166  return STORE_BUFFER_ONLY;
167  }

References DCHECK, INCREMENTAL, INCREMENTAL_COMPACTION, v8::internal::Code::instruction_start(), kFiveByteJumpInstruction, kFiveByteNopInstruction, kTwoByteJumpInstruction, kTwoByteNopInstruction, and STORE_BUFFER_ONLY.

+ Here is the call graph for this function:

◆ InformIncrementalMarker() [1/7]

void v8::internal::RecordWriteStub::InformIncrementalMarker ( MacroAssembler masm)
private

◆ InformIncrementalMarker() [2/7]

void v8::internal::RecordWriteStub::InformIncrementalMarker ( MacroAssembler masm)
private

◆ InformIncrementalMarker() [3/7]

void v8::internal::RecordWriteStub::InformIncrementalMarker ( MacroAssembler masm)
private

◆ InformIncrementalMarker() [4/7]

void v8::internal::RecordWriteStub::InformIncrementalMarker ( MacroAssembler masm)
private

◆ InformIncrementalMarker() [5/7]

void v8::internal::RecordWriteStub::InformIncrementalMarker ( MacroAssembler masm)
private

◆ InformIncrementalMarker() [6/7]

void v8::internal::RecordWriteStub::InformIncrementalMarker ( MacroAssembler masm)
private

◆ InformIncrementalMarker() [7/7]

void v8::internal::RecordWriteStub::InformIncrementalMarker ( MacroAssembler masm)
private

◆ MajorKey() [1/7]

virtual Major v8::internal::RecordWriteStub::MajorKey ( ) const
inlineprivatevirtual

Definition at line 238 of file code-stubs-arm.h.

238 { return RecordWrite; }

◆ MajorKey() [2/7]

virtual Major v8::internal::RecordWriteStub::MajorKey ( ) const
inlineprivatevirtual

Definition at line 278 of file code-stubs-arm64.h.

278 { return RecordWrite; }

◆ MajorKey() [3/7]

virtual Major v8::internal::RecordWriteStub::MajorKey ( ) const
inlineprivatevirtual

Definition at line 342 of file code-stubs-ia32.h.

342 { return RecordWrite; }

◆ MajorKey() [4/7]

virtual Major v8::internal::RecordWriteStub::MajorKey ( ) const
inlineprivatevirtual

Definition at line 280 of file code-stubs-mips.h.

280 { return RecordWrite; }

◆ MajorKey() [5/7]

virtual Major v8::internal::RecordWriteStub::MajorKey ( ) const
inlineprivatevirtual

Definition at line 282 of file code-stubs-mips64.h.

282 { return RecordWrite; }

◆ MajorKey() [6/7]

virtual Major v8::internal::RecordWriteStub::MajorKey ( ) const
inlineprivatevirtual

Definition at line 316 of file code-stubs-x64.h.

316 { return RecordWrite; }

◆ MajorKey() [7/7]

virtual Major v8::internal::RecordWriteStub::MajorKey ( ) const
inlineprivatevirtual

Definition at line 331 of file code-stubs-x87.h.

331 { return RecordWrite; }

◆ object() [1/7]

Register v8::internal::RecordWriteStub::object ( ) const
inlineprivate

Definition at line 252 of file code-stubs-arm.h.

252  {
253  return Register::from_code(ObjectBits::decode(minor_key_));
254  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ object() [2/7]

Register v8::internal::RecordWriteStub::object ( ) const
inlineprivate

Definition at line 292 of file code-stubs-arm64.h.

292  {
293  return Register::from_code(ObjectBits::decode(minor_key_));
294  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ object() [3/7]

Register v8::internal::RecordWriteStub::object ( ) const
inlineprivate

Definition at line 356 of file code-stubs-ia32.h.

356  {
357  return Register::from_code(ObjectBits::decode(minor_key_));
358  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ object() [4/7]

Register v8::internal::RecordWriteStub::object ( ) const
inlineprivate

Definition at line 294 of file code-stubs-mips.h.

294  {
295  return Register::from_code(ObjectBits::decode(minor_key_));
296  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ object() [5/7]

Register v8::internal::RecordWriteStub::object ( ) const
inlineprivate

Definition at line 296 of file code-stubs-mips64.h.

296  {
297  return Register::from_code(ObjectBits::decode(minor_key_));
298  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ object() [6/7]

Register v8::internal::RecordWriteStub::object ( ) const
inlineprivate

Definition at line 330 of file code-stubs-x64.h.

330  {
331  return Register::from_code(ObjectBits::decode(minor_key_));
332  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ object() [7/7]

Register v8::internal::RecordWriteStub::object ( ) const
inlineprivate

Definition at line 345 of file code-stubs-x87.h.

345  {
346  return Register::from_code(ObjectBits::decode(minor_key_));
347  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ Patch() [1/7]

static void v8::internal::RecordWriteStub::Patch ( Code stub,
Mode  mode 
)
inlinestatic

Definition at line 147 of file code-stubs-arm.h.

147  {
148  MacroAssembler masm(NULL,
149  stub->instruction_start(),
150  stub->instruction_size());
151  switch (mode) {
152  case STORE_BUFFER_ONLY:
153  DCHECK(GetMode(stub) == INCREMENTAL ||
155  PatchBranchIntoNop(&masm, 0);
157  break;
158  case INCREMENTAL:
159  DCHECK(GetMode(stub) == STORE_BUFFER_ONLY);
160  PatchNopIntoBranch(&masm, 0);
161  break;
163  DCHECK(GetMode(stub) == STORE_BUFFER_ONLY);
165  break;
166  }
167  DCHECK(GetMode(stub) == mode);
168  CpuFeatures::FlushICache(stub->instruction_start(),
170  }
static void FlushICache(void *start, size_t size)
static void PatchBranchIntoNop(MacroAssembler *masm, int pos)
static void PatchNopIntoBranch(MacroAssembler *masm, int pos)
static Mode GetMode(Code *stub)
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes enable context specialization in TurboFan execution budget before interrupt is triggered max percentage of megamorphic generic ICs to allow optimization enable use of SAHF instruction if enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable use of MLS instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long mode(MIPS only)") DEFINE_BOOL(enable_always_align_csp
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes enable context specialization in TurboFan execution budget before interrupt is triggered max percentage of megamorphic generic ICs to allow optimization enable use of SAHF instruction if enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable use of MLS instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long enable alignment of csp to bytes on platforms which prefer the register to always be NULL

References DCHECK, v8::internal::CpuFeatures::FlushICache(), GetMode(), INCREMENTAL, INCREMENTAL_COMPACTION, v8::internal::Code::instruction_size(), v8::internal::Code::instruction_start(), v8::internal::Assembler::kInstrSize, mode(), NULL, PatchBranchIntoNop(), PatchNopIntoBranch(), and STORE_BUFFER_ONLY.

Referenced by v8::internal::IncrementalMarking::ActivateGeneratedStub(), and v8::internal::PatchIncrementalMarkingRecordWriteStubs().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Patch() [2/7]

static void v8::internal::RecordWriteStub::Patch ( Code stub,
Mode  mode 
)
inlinestatic

Definition at line 131 of file code-stubs-arm64.h.

131  {
132  // We are going to patch the two first instructions of the stub.
133  PatchingAssembler patcher(
134  reinterpret_cast<Instruction*>(stub->instruction_start()), 2);
135  Instruction* instr1 = patcher.InstructionAt(0);
136  Instruction* instr2 = patcher.InstructionAt(kInstructionSize);
137  // Instructions must be either 'adr' or 'b'.
138  DCHECK(instr1->IsPCRelAddressing() || instr1->IsUncondBranchImm());
139  DCHECK(instr2->IsPCRelAddressing() || instr2->IsUncondBranchImm());
140  // Retrieve the offsets to the labels.
141  int32_t offset_to_incremental_noncompacting = instr1->ImmPCOffset();
142  int32_t offset_to_incremental_compacting = instr2->ImmPCOffset();
143 
144  switch (mode) {
145  case STORE_BUFFER_ONLY:
146  DCHECK(GetMode(stub) == INCREMENTAL ||
148  patcher.adr(xzr, offset_to_incremental_noncompacting);
149  patcher.adr(xzr, offset_to_incremental_compacting);
150  break;
151  case INCREMENTAL:
152  DCHECK(GetMode(stub) == STORE_BUFFER_ONLY);
153  patcher.b(offset_to_incremental_noncompacting >> kInstructionSizeLog2);
154  patcher.adr(xzr, offset_to_incremental_compacting);
155  break;
157  DCHECK(GetMode(stub) == STORE_BUFFER_ONLY);
158  patcher.adr(xzr, offset_to_incremental_noncompacting);
159  patcher.b(offset_to_incremental_compacting >> kInstructionSizeLog2);
160  break;
161  }
162  DCHECK(GetMode(stub) == mode);
163  }
int int32_t
Definition: unicode.cc:24
const unsigned kInstructionSize
const unsigned kInstructionSizeLog2

References v8::internal::Assembler::adr(), v8::internal::Assembler::b(), DCHECK, GetMode(), v8::internal::Instruction::ImmPCOffset(), INCREMENTAL, INCREMENTAL_COMPACTION, v8::internal::Code::instruction_start(), v8::internal::Assembler::InstructionAt(), v8::internal::Instruction::IsPCRelAddressing(), v8::internal::Instruction::IsUncondBranchImm(), v8::internal::kInstructionSize, v8::internal::kInstructionSizeLog2, mode(), and STORE_BUFFER_ONLY.

+ Here is the call graph for this function:

◆ Patch() [3/7]

static void v8::internal::RecordWriteStub::Patch ( Code stub,
Mode  mode 
)
inlinestatic

Definition at line 172 of file code-stubs-ia32.h.

172  {
173  switch (mode) {
174  case STORE_BUFFER_ONLY:
175  DCHECK(GetMode(stub) == INCREMENTAL ||
177  stub->instruction_start()[0] = kTwoByteNopInstruction;
178  stub->instruction_start()[2] = kFiveByteNopInstruction;
179  break;
180  case INCREMENTAL:
181  DCHECK(GetMode(stub) == STORE_BUFFER_ONLY);
182  stub->instruction_start()[0] = kTwoByteJumpInstruction;
183  break;
185  DCHECK(GetMode(stub) == STORE_BUFFER_ONLY);
186  stub->instruction_start()[0] = kTwoByteNopInstruction;
187  stub->instruction_start()[2] = kFiveByteJumpInstruction;
188  break;
189  }
190  DCHECK(GetMode(stub) == mode);
191  CpuFeatures::FlushICache(stub->instruction_start(), 7);
192  }

References DCHECK, v8::internal::CpuFeatures::FlushICache(), GetMode(), INCREMENTAL, INCREMENTAL_COMPACTION, v8::internal::Code::instruction_start(), kFiveByteJumpInstruction, kFiveByteNopInstruction, kTwoByteJumpInstruction, kTwoByteNopInstruction, mode(), and STORE_BUFFER_ONLY.

+ Here is the call graph for this function:

◆ Patch() [4/7]

static void v8::internal::RecordWriteStub::Patch ( Code stub,
Mode  mode 
)
inlinestatic

Definition at line 189 of file code-stubs-mips.h.

189  {
190  MacroAssembler masm(NULL,
191  stub->instruction_start(),
192  stub->instruction_size());
193  switch (mode) {
194  case STORE_BUFFER_ONLY:
195  DCHECK(GetMode(stub) == INCREMENTAL ||
197  PatchBranchIntoNop(&masm, 0);
199  break;
200  case INCREMENTAL:
201  DCHECK(GetMode(stub) == STORE_BUFFER_ONLY);
202  PatchNopIntoBranch(&masm, 0);
203  break;
205  DCHECK(GetMode(stub) == STORE_BUFFER_ONLY);
207  break;
208  }
209  DCHECK(GetMode(stub) == mode);
210  CpuFeatures::FlushICache(stub->instruction_start(),
212  }

References DCHECK, v8::internal::CpuFeatures::FlushICache(), GetMode(), INCREMENTAL, INCREMENTAL_COMPACTION, v8::internal::Code::instruction_size(), v8::internal::Code::instruction_start(), v8::internal::Assembler::kInstrSize, mode(), NULL, PatchBranchIntoNop(), PatchNopIntoBranch(), and STORE_BUFFER_ONLY.

+ Here is the call graph for this function:

◆ Patch() [5/7]

static void v8::internal::RecordWriteStub::Patch ( Code stub,
Mode  mode 
)
inlinestatic

Definition at line 191 of file code-stubs-mips64.h.

191  {
192  MacroAssembler masm(NULL,
193  stub->instruction_start(),
194  stub->instruction_size());
195  switch (mode) {
196  case STORE_BUFFER_ONLY:
197  DCHECK(GetMode(stub) == INCREMENTAL ||
199  PatchBranchIntoNop(&masm, 0);
201  break;
202  case INCREMENTAL:
203  DCHECK(GetMode(stub) == STORE_BUFFER_ONLY);
204  PatchNopIntoBranch(&masm, 0);
205  break;
207  DCHECK(GetMode(stub) == STORE_BUFFER_ONLY);
209  break;
210  }
211  DCHECK(GetMode(stub) == mode);
212  CpuFeatures::FlushICache(stub->instruction_start(),
214  }

References DCHECK, v8::internal::CpuFeatures::FlushICache(), GetMode(), INCREMENTAL, INCREMENTAL_COMPACTION, v8::internal::Code::instruction_size(), v8::internal::Code::instruction_start(), v8::internal::Assembler::kInstrSize, mode(), NULL, PatchBranchIntoNop(), PatchNopIntoBranch(), and STORE_BUFFER_ONLY.

+ Here is the call graph for this function:

◆ Patch() [6/7]

static void v8::internal::RecordWriteStub::Patch ( Code stub,
Mode  mode 
)
inlinestatic

Definition at line 164 of file code-stubs-x64.h.

164  {
165  switch (mode) {
166  case STORE_BUFFER_ONLY:
167  DCHECK(GetMode(stub) == INCREMENTAL ||
169  stub->instruction_start()[0] = kTwoByteNopInstruction;
170  stub->instruction_start()[2] = kFiveByteNopInstruction;
171  break;
172  case INCREMENTAL:
173  DCHECK(GetMode(stub) == STORE_BUFFER_ONLY);
174  stub->instruction_start()[0] = kTwoByteJumpInstruction;
175  break;
177  DCHECK(GetMode(stub) == STORE_BUFFER_ONLY);
178  stub->instruction_start()[0] = kTwoByteNopInstruction;
179  stub->instruction_start()[2] = kFiveByteJumpInstruction;
180  break;
181  }
182  DCHECK(GetMode(stub) == mode);
183  CpuFeatures::FlushICache(stub->instruction_start(), 7);
184  }

References DCHECK, v8::internal::CpuFeatures::FlushICache(), GetMode(), INCREMENTAL, INCREMENTAL_COMPACTION, v8::internal::Code::instruction_start(), kFiveByteJumpInstruction, kFiveByteNopInstruction, kTwoByteJumpInstruction, kTwoByteNopInstruction, mode(), and STORE_BUFFER_ONLY.

+ Here is the call graph for this function:

◆ Patch() [7/7]

static void v8::internal::RecordWriteStub::Patch ( Code stub,
Mode  mode 
)
inlinestatic

Definition at line 169 of file code-stubs-x87.h.

169  {
170  switch (mode) {
171  case STORE_BUFFER_ONLY:
172  DCHECK(GetMode(stub) == INCREMENTAL ||
174  stub->instruction_start()[0] = kTwoByteNopInstruction;
175  stub->instruction_start()[2] = kFiveByteNopInstruction;
176  break;
177  case INCREMENTAL:
178  DCHECK(GetMode(stub) == STORE_BUFFER_ONLY);
179  stub->instruction_start()[0] = kTwoByteJumpInstruction;
180  break;
182  DCHECK(GetMode(stub) == STORE_BUFFER_ONLY);
183  stub->instruction_start()[0] = kTwoByteNopInstruction;
184  stub->instruction_start()[2] = kFiveByteJumpInstruction;
185  break;
186  }
187  DCHECK(GetMode(stub) == mode);
188  CpuFeatures::FlushICache(stub->instruction_start(), 7);
189  }

References DCHECK, v8::internal::CpuFeatures::FlushICache(), GetMode(), INCREMENTAL, INCREMENTAL_COMPACTION, v8::internal::Code::instruction_start(), kFiveByteJumpInstruction, kFiveByteNopInstruction, kTwoByteJumpInstruction, kTwoByteNopInstruction, mode(), and STORE_BUFFER_ONLY.

+ Here is the call graph for this function:

◆ PatchBranchIntoNop() [1/3]

static void v8::internal::RecordWriteStub::PatchBranchIntoNop ( MacroAssembler masm,
int  pos 
)
inlinestatic

Definition at line 117 of file code-stubs-arm.h.

117  {
118  masm->instr_at_put(pos, (masm->instr_at(pos) & ~B27) | (B24 | B20));
119  DCHECK(Assembler::IsTstImmediate(masm->instr_at(pos)));
120  }

References v8::internal::B20, v8::internal::B24, v8::internal::B27, DCHECK, v8::internal::Assembler::instr_at(), v8::internal::Assembler::instr_at_put(), and v8::internal::Assembler::IsTstImmediate().

Referenced by Patch().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PatchBranchIntoNop() [2/3]

static void v8::internal::RecordWriteStub::PatchBranchIntoNop ( MacroAssembler masm,
int  pos 
)
inlinestatic

Definition at line 155 of file code-stubs-mips.h.

155  {
156  const unsigned offset = masm->instr_at(pos) & kImm16Mask;
157  masm->instr_at_put(pos, BNE | (zero_reg.code() << kRsShift) |
158  (zero_reg.code() << kRtShift) | (offset & kImm16Mask));
159  DCHECK(Assembler::IsBne(masm->instr_at(pos)));
160  }
const int kRtShift
const int kRsShift

References v8::internal::BNE, DCHECK, v8::internal::Assembler::instr_at(), v8::internal::Assembler::instr_at_put(), v8::internal::Assembler::IsBne(), v8::internal::kImm16Mask, v8::internal::kRsShift, and v8::internal::kRtShift.

+ Here is the call graph for this function:

◆ PatchBranchIntoNop() [3/3]

static void v8::internal::RecordWriteStub::PatchBranchIntoNop ( MacroAssembler masm,
int  pos 
)
inlinestatic

Definition at line 157 of file code-stubs-mips64.h.

157  {
158  const unsigned offset = masm->instr_at(pos) & kImm16Mask;
159  masm->instr_at_put(pos, BNE | (zero_reg.code() << kRsShift) |
160  (zero_reg.code() << kRtShift) | (offset & kImm16Mask));
161  DCHECK(Assembler::IsBne(masm->instr_at(pos)));
162  }

References v8::internal::BNE, DCHECK, v8::internal::Assembler::instr_at(), v8::internal::Assembler::instr_at_put(), v8::internal::Assembler::IsBne(), v8::internal::kImm16Mask, v8::internal::kRsShift, and v8::internal::kRtShift.

+ Here is the call graph for this function:

◆ PatchNopIntoBranch() [1/3]

static void v8::internal::RecordWriteStub::PatchNopIntoBranch ( MacroAssembler masm,
int  pos 
)
inlinestatic

Definition at line 122 of file code-stubs-arm.h.

122  {
123  masm->instr_at_put(pos, (masm->instr_at(pos) & ~(B24 | B20)) | B27);
124  DCHECK(Assembler::IsBranch(masm->instr_at(pos)));
125  }

References v8::internal::B20, v8::internal::B24, v8::internal::B27, DCHECK, v8::internal::Assembler::instr_at(), v8::internal::Assembler::instr_at_put(), and v8::internal::Assembler::IsBranch().

Referenced by Patch().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PatchNopIntoBranch() [2/3]

static void v8::internal::RecordWriteStub::PatchNopIntoBranch ( MacroAssembler masm,
int  pos 
)
inlinestatic

Definition at line 162 of file code-stubs-mips.h.

162  {
163  const unsigned offset = masm->instr_at(pos) & kImm16Mask;
164  masm->instr_at_put(pos, BEQ | (zero_reg.code() << kRsShift) |
165  (zero_reg.code() << kRtShift) | (offset & kImm16Mask));
166  DCHECK(Assembler::IsBeq(masm->instr_at(pos)));
167  }

References v8::internal::BEQ, DCHECK, v8::internal::Assembler::instr_at(), v8::internal::Assembler::instr_at_put(), v8::internal::Assembler::IsBeq(), v8::internal::kImm16Mask, v8::internal::kRsShift, and v8::internal::kRtShift.

+ Here is the call graph for this function:

◆ PatchNopIntoBranch() [3/3]

static void v8::internal::RecordWriteStub::PatchNopIntoBranch ( MacroAssembler masm,
int  pos 
)
inlinestatic

Definition at line 164 of file code-stubs-mips64.h.

164  {
165  const unsigned offset = masm->instr_at(pos) & kImm16Mask;
166  masm->instr_at_put(pos, BEQ | (zero_reg.code() << kRsShift) |
167  (zero_reg.code() << kRtShift) | (offset & kImm16Mask));
168  DCHECK(Assembler::IsBeq(masm->instr_at(pos)));
169  }

References v8::internal::BEQ, DCHECK, v8::internal::Assembler::instr_at(), v8::internal::Assembler::instr_at_put(), v8::internal::Assembler::IsBeq(), v8::internal::kImm16Mask, v8::internal::kRsShift, and v8::internal::kRtShift.

+ Here is the call graph for this function:

◆ remembered_set_action() [1/7]

RememberedSetAction v8::internal::RecordWriteStub::remembered_set_action ( ) const
inlineprivate

Definition at line 264 of file code-stubs-arm.h.

264  {
265  return RememberedSetActionBits::decode(minor_key_);
266  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

Referenced by RecordWriteStub().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ remembered_set_action() [2/7]

RememberedSetAction v8::internal::RecordWriteStub::remembered_set_action ( ) const
inlineprivate

Definition at line 304 of file code-stubs-arm64.h.

304  {
305  return RememberedSetActionBits::decode(minor_key_);
306  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

+ Here is the call graph for this function:

◆ remembered_set_action() [3/7]

RememberedSetAction v8::internal::RecordWriteStub::remembered_set_action ( ) const
inlineprivate

Definition at line 368 of file code-stubs-ia32.h.

368  {
369  return RememberedSetActionBits::decode(minor_key_);
370  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

+ Here is the call graph for this function:

◆ remembered_set_action() [4/7]

RememberedSetAction v8::internal::RecordWriteStub::remembered_set_action ( ) const
inlineprivate

Definition at line 306 of file code-stubs-mips.h.

306  {
307  return RememberedSetActionBits::decode(minor_key_);
308  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

+ Here is the call graph for this function:

◆ remembered_set_action() [5/7]

RememberedSetAction v8::internal::RecordWriteStub::remembered_set_action ( ) const
inlineprivate

Definition at line 308 of file code-stubs-mips64.h.

308  {
309  return RememberedSetActionBits::decode(minor_key_);
310  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

+ Here is the call graph for this function:

◆ remembered_set_action() [6/7]

RememberedSetAction v8::internal::RecordWriteStub::remembered_set_action ( ) const
inlineprivate

Definition at line 342 of file code-stubs-x64.h.

342  {
343  return RememberedSetActionBits::decode(minor_key_);
344  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

+ Here is the call graph for this function:

◆ remembered_set_action() [7/7]

RememberedSetAction v8::internal::RecordWriteStub::remembered_set_action ( ) const
inlineprivate

Definition at line 357 of file code-stubs-x87.h.

357  {
358  return RememberedSetActionBits::decode(minor_key_);
359  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

+ Here is the call graph for this function:

◆ save_fp_regs_mode() [1/7]

SaveFPRegsMode v8::internal::RecordWriteStub::save_fp_regs_mode ( ) const
inlineprivate

Definition at line 268 of file code-stubs-arm.h.

268  {
269  return SaveFPRegsModeBits::decode(minor_key_);
270  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

+ Here is the call graph for this function:

◆ save_fp_regs_mode() [2/7]

SaveFPRegsMode v8::internal::RecordWriteStub::save_fp_regs_mode ( ) const
inlineprivate

Definition at line 308 of file code-stubs-arm64.h.

308  {
309  return SaveFPRegsModeBits::decode(minor_key_);
310  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

+ Here is the call graph for this function:

◆ save_fp_regs_mode() [3/7]

SaveFPRegsMode v8::internal::RecordWriteStub::save_fp_regs_mode ( ) const
inlineprivate

Definition at line 372 of file code-stubs-ia32.h.

372  {
373  return SaveFPRegsModeBits::decode(minor_key_);
374  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

+ Here is the call graph for this function:

◆ save_fp_regs_mode() [4/7]

SaveFPRegsMode v8::internal::RecordWriteStub::save_fp_regs_mode ( ) const
inlineprivate

Definition at line 310 of file code-stubs-mips.h.

310  {
311  return SaveFPRegsModeBits::decode(minor_key_);
312  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

+ Here is the call graph for this function:

◆ save_fp_regs_mode() [5/7]

SaveFPRegsMode v8::internal::RecordWriteStub::save_fp_regs_mode ( ) const
inlineprivate

Definition at line 312 of file code-stubs-mips64.h.

312  {
313  return SaveFPRegsModeBits::decode(minor_key_);
314  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

+ Here is the call graph for this function:

◆ save_fp_regs_mode() [6/7]

SaveFPRegsMode v8::internal::RecordWriteStub::save_fp_regs_mode ( ) const
inlineprivate

Definition at line 346 of file code-stubs-x64.h.

346  {
347  return SaveFPRegsModeBits::decode(minor_key_);
348  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

+ Here is the call graph for this function:

◆ save_fp_regs_mode() [7/7]

SaveFPRegsMode v8::internal::RecordWriteStub::save_fp_regs_mode ( ) const
inlineprivate

Definition at line 361 of file code-stubs-x87.h.

361  {
362  return SaveFPRegsModeBits::decode(minor_key_);
363  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

+ Here is the call graph for this function:

◆ SometimesSetsUpAFrame() [1/7]

virtual bool v8::internal::RecordWriteStub::SometimesSetsUpAFrame ( )
inlinevirtual

Definition at line 115 of file code-stubs-arm.h.

115 { return false; }

◆ SometimesSetsUpAFrame() [2/7]

virtual bool v8::internal::RecordWriteStub::SometimesSetsUpAFrame ( )
inlinevirtual

Definition at line 100 of file code-stubs-arm64.h.

100 { return false; }

◆ SometimesSetsUpAFrame() [3/7]

virtual bool v8::internal::RecordWriteStub::SometimesSetsUpAFrame ( )
inlinevirtual

Definition at line 145 of file code-stubs-ia32.h.

145 { return false; }

◆ SometimesSetsUpAFrame() [4/7]

virtual bool v8::internal::RecordWriteStub::SometimesSetsUpAFrame ( )
inlinevirtual

Definition at line 153 of file code-stubs-mips.h.

153 { return false; }

◆ SometimesSetsUpAFrame() [5/7]

virtual bool v8::internal::RecordWriteStub::SometimesSetsUpAFrame ( )
inlinevirtual

Definition at line 155 of file code-stubs-mips64.h.

155 { return false; }

◆ SometimesSetsUpAFrame() [6/7]

virtual bool v8::internal::RecordWriteStub::SometimesSetsUpAFrame ( )
inlinevirtual

Definition at line 137 of file code-stubs-x64.h.

137 { return false; }

◆ SometimesSetsUpAFrame() [7/7]

virtual bool v8::internal::RecordWriteStub::SometimesSetsUpAFrame ( )
inlinevirtual

Definition at line 142 of file code-stubs-x87.h.

142 { return false; }

◆ value() [1/7]

Register v8::internal::RecordWriteStub::value ( ) const
inlineprivate

Definition at line 256 of file code-stubs-arm.h.

256  {
257  return Register::from_code(ValueBits::decode(minor_key_));
258  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

Referenced by RecordWriteStub().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ value() [2/7]

Register v8::internal::RecordWriteStub::value ( ) const
inlineprivate

Definition at line 296 of file code-stubs-arm64.h.

296  {
297  return Register::from_code(ValueBits::decode(minor_key_));
298  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ value() [3/7]

Register v8::internal::RecordWriteStub::value ( ) const
inlineprivate

Definition at line 360 of file code-stubs-ia32.h.

360  {
361  return Register::from_code(ValueBits::decode(minor_key_));
362  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ value() [4/7]

Register v8::internal::RecordWriteStub::value ( ) const
inlineprivate

Definition at line 298 of file code-stubs-mips.h.

298  {
299  return Register::from_code(ValueBits::decode(minor_key_));
300  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ value() [5/7]

Register v8::internal::RecordWriteStub::value ( ) const
inlineprivate

Definition at line 300 of file code-stubs-mips64.h.

300  {
301  return Register::from_code(ValueBits::decode(minor_key_));
302  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ value() [6/7]

Register v8::internal::RecordWriteStub::value ( ) const
inlineprivate

Definition at line 334 of file code-stubs-x64.h.

334  {
335  return Register::from_code(ValueBits::decode(minor_key_));
336  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

◆ value() [7/7]

Register v8::internal::RecordWriteStub::value ( ) const
inlineprivate

Definition at line 349 of file code-stubs-x87.h.

349  {
350  return Register::from_code(ValueBits::decode(minor_key_));
351  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::Register::from_code().

+ Here is the call graph for this function:

Member Data Documentation

◆ kFiveByteJumpInstruction

static const byte v8::internal::RecordWriteStub::kFiveByteJumpInstruction = 0xe9
static

Definition at line 151 of file code-stubs-ia32.h.

Referenced by GetMode(), and Patch().

◆ kFiveByteNopInstruction

static const byte v8::internal::RecordWriteStub::kFiveByteNopInstruction = 0x3d
static

Definition at line 150 of file code-stubs-ia32.h.

Referenced by GetMode(), and Patch().

◆ kTwoByteJumpInstruction

static const byte v8::internal::RecordWriteStub::kTwoByteJumpInstruction = 0xeb
static

Definition at line 148 of file code-stubs-ia32.h.

Referenced by GetMode(), and Patch().

◆ kTwoByteNopInstruction

static const byte v8::internal::RecordWriteStub::kTwoByteNopInstruction = 0x3c
static

Definition at line 147 of file code-stubs-ia32.h.

Referenced by GetMode(), and Patch().

◆ regs_

RegisterAllocation v8::internal::RecordWriteStub::regs_
private

Definition at line 279 of file code-stubs-arm.h.

◆ slow_

Label v8::internal::RecordWriteStub::slow_
private

Definition at line 278 of file code-stubs-arm.h.


The documentation for this class was generated from the following files: