V8 Project
v8::internal::LDeferredCode Class Referenceabstract

#include <lithium-codegen-arm.h>

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

Public Member Functions

 LDeferredCode (LCodeGen *codegen)
 
virtual ~LDeferredCode ()
 
virtual void Generate ()=0
 
virtual LInstructioninstr ()=0
 
void SetExit (Label *exit)
 
Label * entry ()
 
Label * exit ()
 
int instruction_index () const
 
 LDeferredCode (LCodeGen *codegen)
 
virtual ~LDeferredCode ()
 
virtual void Generate ()=0
 
virtual LInstructioninstr ()=0
 
void SetExit (Label *exit)
 
Label * entry ()
 
Label * exit ()
 
int instruction_index () const
 
 LDeferredCode (LCodeGen *codegen)
 
virtual ~LDeferredCode ()
 
virtual void Generate ()=0
 
virtual LInstructioninstr ()=0
 
void SetExit (Label *exit)
 
Label * entry ()
 
Label * exit ()
 
Label * done ()
 
int instruction_index () const
 
 LDeferredCode (LCodeGen *codegen)
 
virtual ~LDeferredCode ()
 
virtual void Generate ()=0
 
virtual LInstructioninstr ()=0
 
void SetExit (Label *exit)
 
Label * entry ()
 
Label * exit ()
 
int instruction_index () const
 
 LDeferredCode (LCodeGen *codegen)
 
virtual ~LDeferredCode ()
 
virtual void Generate ()=0
 
virtual LInstructioninstr ()=0
 
void SetExit (Label *exit)
 
Label * entry ()
 
Label * exit ()
 
int instruction_index () const
 
 LDeferredCode (LCodeGen *codegen)
 
virtual ~LDeferredCode ()
 
virtual void Generate ()=0
 
virtual LInstructioninstr ()=0
 
void SetExit (Label *exit)
 
Label * entry ()
 
Label * exit ()
 
Label * done ()
 
int instruction_index () const
 
 LDeferredCode (LCodeGen *codegen, const LCodeGen::X87Stack &x87_stack)
 
virtual ~LDeferredCode ()
 
virtual void Generate ()=0
 
virtual LInstructioninstr ()=0
 
void SetExit (Label *exit)
 
Label * entry ()
 
Label * exit ()
 
Label * done ()
 
int instruction_index () const
 
const LCodeGen::X87Stackx87_stack () const
 
- Public Member Functions inherited from v8::internal::ZoneObject
 INLINE (void *operator new(size_t size, Zone *zone))
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)
 

Protected Member Functions

LCodeGencodegen () const
 
MacroAssemblermasm () const
 
LCodeGencodegen () const
 
MacroAssemblermasm () const
 
LCodeGencodegen () const
 
MacroAssemblermasm () const
 
LCodeGencodegen () const
 
MacroAssemblermasm () const
 
LCodeGencodegen () const
 
MacroAssemblermasm () const
 
LCodeGencodegen () const
 
MacroAssemblermasm () const
 
LCodeGencodegen () const
 
MacroAssemblermasm () const
 

Private Attributes

LCodeGencodegen_
 
Label entry_
 
Label exit_
 
Label * external_exit_
 
int instruction_index_
 
Label done_
 
LCodeGen::X87Stack x87_stack_
 

Detailed Description

Definition at line 380 of file lithium-codegen-arm.h.

Constructor & Destructor Documentation

◆ LDeferredCode() [1/7]

v8::internal::LDeferredCode::LDeferredCode ( LCodeGen codegen)
inlineexplicit

Definition at line 382 of file lithium-codegen-arm.h.

383  : codegen_(codegen),
385  instruction_index_(codegen->current_instruction_) {
386  codegen->AddDeferredCode(this);
387  }
void AddDeferredCode(LDeferredCode *code)
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 v8::internal::LCodeGen::AddDeferredCode(), and codegen().

+ Here is the call graph for this function:

◆ ~LDeferredCode() [1/7]

virtual v8::internal::LDeferredCode::~LDeferredCode ( )
inlinevirtual

Definition at line 389 of file lithium-codegen-arm.h.

389 {}

◆ LDeferredCode() [2/7]

v8::internal::LDeferredCode::LDeferredCode ( LCodeGen codegen)
inlineexplicit

Definition at line 414 of file lithium-codegen-arm64.h.

415  : codegen_(codegen),
417  instruction_index_(codegen->current_instruction_) {
418  codegen->AddDeferredCode(this);
419  }

References v8::internal::LCodeGen::AddDeferredCode(), and codegen().

+ Here is the call graph for this function:

◆ ~LDeferredCode() [2/7]

virtual v8::internal::LDeferredCode::~LDeferredCode ( )
inlinevirtual

Definition at line 421 of file lithium-codegen-arm64.h.

421 { }

◆ LDeferredCode() [3/7]

v8::internal::LDeferredCode::LDeferredCode ( LCodeGen codegen)
inlineexplicit

Definition at line 384 of file lithium-codegen-ia32.h.

385  : codegen_(codegen),
387  instruction_index_(codegen->current_instruction_) {
388  codegen->AddDeferredCode(this);
389  }

References v8::internal::LCodeGen::AddDeferredCode(), and codegen().

+ Here is the call graph for this function:

◆ ~LDeferredCode() [3/7]

virtual v8::internal::LDeferredCode::~LDeferredCode ( )
inlinevirtual

Definition at line 391 of file lithium-codegen-ia32.h.

391 {}

◆ LDeferredCode() [4/7]

v8::internal::LDeferredCode::LDeferredCode ( LCodeGen codegen)
inlineexplicit

Definition at line 417 of file lithium-codegen-mips.h.

418  : codegen_(codegen),
420  instruction_index_(codegen->current_instruction_) {
421  codegen->AddDeferredCode(this);
422  }

References v8::internal::LCodeGen::AddDeferredCode(), and codegen().

+ Here is the call graph for this function:

◆ ~LDeferredCode() [4/7]

virtual v8::internal::LDeferredCode::~LDeferredCode ( )
inlinevirtual

Definition at line 424 of file lithium-codegen-mips.h.

424 {}

◆ LDeferredCode() [5/7]

v8::internal::LDeferredCode::LDeferredCode ( LCodeGen codegen)
inlineexplicit

Definition at line 418 of file lithium-codegen-mips64.h.

419  : codegen_(codegen),
421  instruction_index_(codegen->current_instruction_) {
422  codegen->AddDeferredCode(this);
423  }

References v8::internal::LCodeGen::AddDeferredCode(), and codegen().

+ Here is the call graph for this function:

◆ ~LDeferredCode() [5/7]

virtual v8::internal::LDeferredCode::~LDeferredCode ( )
inlinevirtual

Definition at line 425 of file lithium-codegen-mips64.h.

425 {}

◆ LDeferredCode() [6/7]

v8::internal::LDeferredCode::LDeferredCode ( LCodeGen codegen)
inlineexplicit

Definition at line 371 of file lithium-codegen-x64.h.

372  : codegen_(codegen),
374  instruction_index_(codegen->current_instruction_) {
375  codegen->AddDeferredCode(this);
376  }

References v8::internal::LCodeGen::AddDeferredCode(), and codegen().

+ Here is the call graph for this function:

◆ ~LDeferredCode() [6/7]

virtual v8::internal::LDeferredCode::~LDeferredCode ( )
inlinevirtual

Definition at line 378 of file lithium-codegen-x64.h.

378 {}

◆ LDeferredCode() [7/7]

v8::internal::LDeferredCode::LDeferredCode ( LCodeGen codegen,
const LCodeGen::X87Stack x87_stack 
)
inlineexplicit

Definition at line 481 of file lithium-codegen-x87.h.

482  : codegen_(codegen),
484  instruction_index_(codegen->current_instruction_),
486  codegen->AddDeferredCode(this);
487  }
const LCodeGen::X87Stack & x87_stack() const

References v8::internal::LCodeGen::AddDeferredCode(), and codegen().

+ Here is the call graph for this function:

◆ ~LDeferredCode() [7/7]

virtual v8::internal::LDeferredCode::~LDeferredCode ( )
inlinevirtual

Definition at line 489 of file lithium-codegen-x87.h.

489 {}

Member Function Documentation

◆ codegen() [1/7]

LCodeGen* v8::internal::LDeferredCode::codegen ( ) const
inlineprotected

Definition at line 399 of file lithium-codegen-arm.h.

399 { return codegen_; }

References codegen_.

Referenced by LDeferredCode().

+ Here is the caller graph for this function:

◆ codegen() [2/7]

LCodeGen* v8::internal::LDeferredCode::codegen ( ) const
inlineprotected

Definition at line 431 of file lithium-codegen-arm64.h.

431 { return codegen_; }

References codegen_.

◆ codegen() [3/7]

LCodeGen* v8::internal::LDeferredCode::codegen ( ) const
inlineprotected

Definition at line 402 of file lithium-codegen-ia32.h.

402 { return codegen_; }

References codegen_.

◆ codegen() [4/7]

LCodeGen* v8::internal::LDeferredCode::codegen ( ) const
inlineprotected

Definition at line 434 of file lithium-codegen-mips.h.

434 { return codegen_; }

References codegen_.

◆ codegen() [5/7]

LCodeGen* v8::internal::LDeferredCode::codegen ( ) const
inlineprotected

Definition at line 435 of file lithium-codegen-mips64.h.

435 { return codegen_; }

References codegen_.

◆ codegen() [6/7]

LCodeGen* v8::internal::LDeferredCode::codegen ( ) const
inlineprotected

Definition at line 389 of file lithium-codegen-x64.h.

389 { return codegen_; }

References codegen_.

◆ codegen() [7/7]

LCodeGen* v8::internal::LDeferredCode::codegen ( ) const
inlineprotected

Definition at line 501 of file lithium-codegen-x87.h.

501 { return codegen_; }

References codegen_.

◆ done() [1/3]

Label* v8::internal::LDeferredCode::done ( )
inline

Definition at line 398 of file lithium-codegen-ia32.h.

References codegen_, done_, exit(), and v8::internal::LCodeGen::NeedsDeferredFrame().

+ Here is the call graph for this function:

◆ done() [2/3]

Label* v8::internal::LDeferredCode::done ( )
inline

Definition at line 385 of file lithium-codegen-x64.h.

385 { return codegen_->NeedsDeferredFrame() ? &done_ : exit(); }

References codegen_, done_, exit(), and v8::internal::LCodeGen::NeedsDeferredFrame().

+ Here is the call graph for this function:

◆ done() [3/3]

Label* v8::internal::LDeferredCode::done ( )
inline

Definition at line 496 of file lithium-codegen-x87.h.

496 { return codegen_->NeedsDeferredFrame() ? &done_ : exit(); }

References codegen_, done_, exit(), and v8::internal::LCodeGen::NeedsDeferredFrame().

+ Here is the call graph for this function:

◆ entry() [1/7]

Label* v8::internal::LDeferredCode::entry ( )
inline

Definition at line 394 of file lithium-codegen-arm.h.

394 { return &entry_; }

References entry_.

Referenced by v8::internal::LCodeGen::GenerateDeferredCode().

+ Here is the caller graph for this function:

◆ entry() [2/7]

Label* v8::internal::LDeferredCode::entry ( )
inline

Definition at line 426 of file lithium-codegen-arm64.h.

426 { return &entry_; }

References entry_.

◆ entry() [3/7]

Label* v8::internal::LDeferredCode::entry ( )
inline

Definition at line 396 of file lithium-codegen-ia32.h.

396 { return &entry_; }

References entry_.

◆ entry() [4/7]

Label* v8::internal::LDeferredCode::entry ( )
inline

Definition at line 429 of file lithium-codegen-mips.h.

429 { return &entry_; }

References entry_.

◆ entry() [5/7]

Label* v8::internal::LDeferredCode::entry ( )
inline

Definition at line 430 of file lithium-codegen-mips64.h.

430 { return &entry_; }

References entry_.

◆ entry() [6/7]

Label* v8::internal::LDeferredCode::entry ( )
inline

Definition at line 383 of file lithium-codegen-x64.h.

383 { return &entry_; }

References entry_.

◆ entry() [7/7]

Label* v8::internal::LDeferredCode::entry ( )
inline

Definition at line 494 of file lithium-codegen-x87.h.

494 { return &entry_; }

References entry_.

◆ exit() [1/7]

Label* v8::internal::LDeferredCode::exit ( )
inline

Definition at line 395 of file lithium-codegen-arm.h.

References exit_, external_exit_, and NULL.

Referenced by done(), v8::internal::LCodeGen::GenerateDeferredCode(), and SetExit().

+ Here is the caller graph for this function:

◆ exit() [2/7]

Label* v8::internal::LDeferredCode::exit ( )
inline

Definition at line 427 of file lithium-codegen-arm64.h.

427 { return (external_exit_ != NULL) ? external_exit_ : &exit_; }

References exit_, external_exit_, and NULL.

◆ exit() [3/7]

Label* v8::internal::LDeferredCode::exit ( )
inline

Definition at line 397 of file lithium-codegen-ia32.h.

397 { return external_exit_ != NULL ? external_exit_ : &exit_; }

References exit_, external_exit_, and NULL.

◆ exit() [4/7]

Label* v8::internal::LDeferredCode::exit ( )
inline

Definition at line 430 of file lithium-codegen-mips.h.

430 { return external_exit_ != NULL ? external_exit_ : &exit_; }

References exit_, external_exit_, and NULL.

◆ exit() [5/7]

Label* v8::internal::LDeferredCode::exit ( )
inline

Definition at line 431 of file lithium-codegen-mips64.h.

431 { return external_exit_ != NULL ? external_exit_ : &exit_; }

References exit_, external_exit_, and NULL.

◆ exit() [6/7]

Label* v8::internal::LDeferredCode::exit ( )
inline

Definition at line 384 of file lithium-codegen-x64.h.

384 { return external_exit_ != NULL ? external_exit_ : &exit_; }

References exit_, external_exit_, and NULL.

◆ exit() [7/7]

Label* v8::internal::LDeferredCode::exit ( )
inline

Definition at line 495 of file lithium-codegen-x87.h.

495 { return external_exit_ != NULL ? external_exit_ : &exit_; }

References exit_, external_exit_, and NULL.

◆ Generate() [1/7]

virtual void v8::internal::LDeferredCode::Generate ( )
pure virtual

Referenced by v8::internal::LCodeGen::GenerateDeferredCode().

+ Here is the caller graph for this function:

◆ Generate() [2/7]

virtual void v8::internal::LDeferredCode::Generate ( )
pure virtual

◆ Generate() [3/7]

virtual void v8::internal::LDeferredCode::Generate ( )
pure virtual

◆ Generate() [4/7]

virtual void v8::internal::LDeferredCode::Generate ( )
pure virtual

◆ Generate() [5/7]

virtual void v8::internal::LDeferredCode::Generate ( )
pure virtual

◆ Generate() [6/7]

virtual void v8::internal::LDeferredCode::Generate ( )
pure virtual

◆ Generate() [7/7]

virtual void v8::internal::LDeferredCode::Generate ( )
pure virtual

◆ instr() [1/7]

virtual LInstruction* v8::internal::LDeferredCode::instr ( )
pure virtual

Referenced by v8::internal::LCodeGen::GenerateDeferredCode().

+ Here is the caller graph for this function:

◆ instr() [2/7]

virtual LInstruction* v8::internal::LDeferredCode::instr ( )
pure virtual

◆ instr() [3/7]

virtual LInstruction* v8::internal::LDeferredCode::instr ( )
pure virtual

◆ instr() [4/7]

virtual LInstruction* v8::internal::LDeferredCode::instr ( )
pure virtual

◆ instr() [5/7]

virtual LInstruction* v8::internal::LDeferredCode::instr ( )
pure virtual

◆ instr() [6/7]

virtual LInstruction* v8::internal::LDeferredCode::instr ( )
pure virtual

◆ instr() [7/7]

virtual LInstruction* v8::internal::LDeferredCode::instr ( )
pure virtual

◆ instruction_index() [1/7]

int v8::internal::LDeferredCode::instruction_index ( ) const
inline

Definition at line 396 of file lithium-codegen-arm.h.

396 { return instruction_index_; }

References instruction_index_.

Referenced by v8::internal::LCodeGen::GenerateDeferredCode().

+ Here is the caller graph for this function:

◆ instruction_index() [2/7]

int v8::internal::LDeferredCode::instruction_index ( ) const
inline

Definition at line 428 of file lithium-codegen-arm64.h.

428 { return instruction_index_; }

References instruction_index_.

◆ instruction_index() [3/7]

int v8::internal::LDeferredCode::instruction_index ( ) const
inline

Definition at line 399 of file lithium-codegen-ia32.h.

399 { return instruction_index_; }

References instruction_index_.

◆ instruction_index() [4/7]

int v8::internal::LDeferredCode::instruction_index ( ) const
inline

Definition at line 431 of file lithium-codegen-mips.h.

431 { return instruction_index_; }

References instruction_index_.

◆ instruction_index() [5/7]

int v8::internal::LDeferredCode::instruction_index ( ) const
inline

Definition at line 432 of file lithium-codegen-mips64.h.

432 { return instruction_index_; }

References instruction_index_.

◆ instruction_index() [6/7]

int v8::internal::LDeferredCode::instruction_index ( ) const
inline

Definition at line 386 of file lithium-codegen-x64.h.

386 { return instruction_index_; }

References instruction_index_.

◆ instruction_index() [7/7]

int v8::internal::LDeferredCode::instruction_index ( ) const
inline

Definition at line 497 of file lithium-codegen-x87.h.

497 { return instruction_index_; }

References instruction_index_.

◆ masm() [1/7]

MacroAssembler* v8::internal::LDeferredCode::masm ( ) const
inlineprotected

Definition at line 400 of file lithium-codegen-arm.h.

400 { return codegen_->masm(); }

References codegen_.

◆ masm() [2/7]

MacroAssembler* v8::internal::LDeferredCode::masm ( ) const
inlineprotected

Definition at line 432 of file lithium-codegen-arm64.h.

432 { return codegen_->masm(); }

References codegen_.

◆ masm() [3/7]

MacroAssembler* v8::internal::LDeferredCode::masm ( ) const
inlineprotected

Definition at line 403 of file lithium-codegen-ia32.h.

403 { return codegen_->masm(); }

References codegen_.

◆ masm() [4/7]

MacroAssembler* v8::internal::LDeferredCode::masm ( ) const
inlineprotected

Definition at line 435 of file lithium-codegen-mips.h.

435 { return codegen_->masm(); }

References codegen_.

◆ masm() [5/7]

MacroAssembler* v8::internal::LDeferredCode::masm ( ) const
inlineprotected

Definition at line 436 of file lithium-codegen-mips64.h.

436 { return codegen_->masm(); }

References codegen_.

◆ masm() [6/7]

MacroAssembler* v8::internal::LDeferredCode::masm ( ) const
inlineprotected

Definition at line 390 of file lithium-codegen-x64.h.

390 { return codegen_->masm(); }

References codegen_.

◆ masm() [7/7]

MacroAssembler* v8::internal::LDeferredCode::masm ( ) const
inlineprotected

Definition at line 502 of file lithium-codegen-x87.h.

502 { return codegen_->masm(); }

References codegen_.

◆ SetExit() [1/7]

void v8::internal::LDeferredCode::SetExit ( Label *  exit)
inline

Definition at line 393 of file lithium-codegen-arm.h.

393 { external_exit_ = exit; }

References exit(), and external_exit_.

+ Here is the call graph for this function:

◆ SetExit() [2/7]

void v8::internal::LDeferredCode::SetExit ( Label *  exit)
inline

Definition at line 425 of file lithium-codegen-arm64.h.

425 { external_exit_ = exit; }

References exit(), and external_exit_.

+ Here is the call graph for this function:

◆ SetExit() [3/7]

void v8::internal::LDeferredCode::SetExit ( Label *  exit)
inline

Definition at line 395 of file lithium-codegen-ia32.h.

395 { external_exit_ = exit; }

References exit(), and external_exit_.

+ Here is the call graph for this function:

◆ SetExit() [4/7]

void v8::internal::LDeferredCode::SetExit ( Label *  exit)
inline

Definition at line 428 of file lithium-codegen-mips.h.

428 { external_exit_ = exit; }

References exit(), and external_exit_.

+ Here is the call graph for this function:

◆ SetExit() [5/7]

void v8::internal::LDeferredCode::SetExit ( Label *  exit)
inline

Definition at line 429 of file lithium-codegen-mips64.h.

429 { external_exit_ = exit; }

References exit(), and external_exit_.

+ Here is the call graph for this function:

◆ SetExit() [6/7]

void v8::internal::LDeferredCode::SetExit ( Label *  exit)
inline

Definition at line 382 of file lithium-codegen-x64.h.

382 { external_exit_ = exit; }

References exit(), and external_exit_.

+ Here is the call graph for this function:

◆ SetExit() [7/7]

void v8::internal::LDeferredCode::SetExit ( Label *  exit)
inline

Definition at line 493 of file lithium-codegen-x87.h.

493 { external_exit_ = exit; }

References exit(), and external_exit_.

+ Here is the call graph for this function:

◆ x87_stack()

const LCodeGen::X87Stack& v8::internal::LDeferredCode::x87_stack ( ) const
inline

Definition at line 498 of file lithium-codegen-x87.h.

498 { return x87_stack_; }

References x87_stack_.

Member Data Documentation

◆ codegen_

LCodeGen * v8::internal::LDeferredCode::codegen_
private

Definition at line 403 of file lithium-codegen-arm.h.

Referenced by codegen(), done(), and masm().

◆ done_

Label v8::internal::LDeferredCode::done_
private

Definition at line 410 of file lithium-codegen-ia32.h.

Referenced by done().

◆ entry_

Label v8::internal::LDeferredCode::entry_
private

Definition at line 404 of file lithium-codegen-arm.h.

Referenced by entry().

◆ exit_

Label v8::internal::LDeferredCode::exit_
private

Definition at line 405 of file lithium-codegen-arm.h.

Referenced by exit().

◆ external_exit_

Label * v8::internal::LDeferredCode::external_exit_
private

Definition at line 406 of file lithium-codegen-arm.h.

Referenced by exit(), and SetExit().

◆ instruction_index_

int v8::internal::LDeferredCode::instruction_index_
private

Definition at line 407 of file lithium-codegen-arm.h.

Referenced by instruction_index().

◆ x87_stack_

LCodeGen::X87Stack v8::internal::LDeferredCode::x87_stack_
private

Definition at line 511 of file lithium-codegen-x87.h.

Referenced by x87_stack().


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