V8 Project
v8::internal::CompilationInfo Class Reference

#include <compiler.h>

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

Public Types

enum  Flag {
  kLazy = 1 << 0 , kEval = 1 << 1 , kGlobal = 1 << 2 , kStrictMode = 1 << 3 ,
  kThisHasUses = 1 << 4 , kNative = 1 << 5 , kDeferredCalling = 1 << 6 , kNonDeferredCalling = 1 << 7 ,
  kSavesCallerDoubles = 1 << 8 , kRequiresFrame = 1 << 9 , kMustNotHaveEagerFrame = 1 << 10 , kDeoptimizationSupport = 1 << 11 ,
  kDebug = 1 << 12 , kCompilingForDebugging = 1 << 13 , kParseRestriction = 1 << 14 , kSerializing = 1 << 15 ,
  kContextSpecializing = 1 << 16 , kInliningEnabled = 1 << 17 , kTypingEnabled = 1 << 18 , kDisableFutureOptimization = 1 << 19 ,
  kAbortedDueToDependency = 1 << 20 , kToplevel = 1 << 21
}
 

Public Member Functions

 CompilationInfo (Handle< JSFunction > closure, Zone *zone)
 
 CompilationInfo (Isolate *isolate, Zone *zone)
 
virtual ~CompilationInfo ()
 
Isolateisolate () const
 
Zonezone ()
 
bool is_osr () const
 
bool is_lazy () const
 
bool is_eval () const
 
bool is_global () const
 
StrictMode strict_mode () const
 
FunctionLiteral * function () const
 
Scopescope () const
 
Scopeglobal_scope () const
 
Handle< Codecode () const
 
Handle< JSFunctionclosure () const
 
Handle< SharedFunctionInfoshared_info () const
 
Handle< Scriptscript () const
 
void set_script (Handle< Script > script)
 
HydrogenCodeStubcode_stub () const
 
v8::Extensionextension () const
 
ScriptData ** cached_data () const
 
ScriptCompiler::CompileOptions compile_options () const
 
ScriptCompiler::ExternalSourceStreamsource_stream () const
 
ScriptCompiler::StreamedSource::Encoding source_stream_encoding () const
 
Handle< Contextcontext () const
 
BailoutId osr_ast_id () const
 
Handle< Codeunoptimized_code () const
 
int opt_count () const
 
int num_parameters () const
 
int num_heap_slots () const
 
Code::Flags flags () const
 
void MarkAsEval ()
 
void MarkAsGlobal ()
 
void set_parameter_count (int parameter_count)
 
void set_this_has_uses (bool has_no_uses)
 
bool this_has_uses ()
 
void SetStrictMode (StrictMode strict_mode)
 
void MarkAsNative ()
 
bool is_native () const
 
bool is_calling () const
 
void MarkAsDeferredCalling ()
 
bool is_deferred_calling () const
 
void MarkAsNonDeferredCalling ()
 
bool is_non_deferred_calling () const
 
void MarkAsSavesCallerDoubles ()
 
bool saves_caller_doubles () const
 
void MarkAsRequiresFrame ()
 
bool requires_frame () const
 
void MarkMustNotHaveEagerFrame ()
 
bool GetMustNotHaveEagerFrame () const
 
void MarkAsDebug ()
 
bool is_debug () const
 
void PrepareForSerializing ()
 
bool will_serialize () const
 
void MarkAsContextSpecializing ()
 
bool is_context_specializing () const
 
void MarkAsInliningEnabled ()
 
void MarkAsInliningDisabled ()
 
bool is_inlining_enabled () const
 
void MarkAsTypingEnabled ()
 
bool is_typing_enabled () const
 
void MarkAsToplevel ()
 
bool is_toplevel () const
 
bool IsCodePreAgingActive () const
 
void SetParseRestriction (ParseRestriction restriction)
 
ParseRestriction parse_restriction () const
 
void SetFunction (FunctionLiteral *literal)
 
void PrepareForCompilation (Scope *scope)
 
void SetGlobalScope (Scope *global_scope)
 
Handle< TypeFeedbackVectorfeedback_vector () const
 
void SetCode (Handle< Code > code)
 
void SetExtension (v8::Extension *extension)
 
void SetCachedData (ScriptData **cached_data, ScriptCompiler::CompileOptions compile_options)
 
void SetContext (Handle< Context > context)
 
void MarkCompilingForDebugging ()
 
bool IsCompilingForDebugging ()
 
void MarkNonOptimizable ()
 
bool ShouldTrapOnDeopt () const
 
bool has_global_object () const
 
GlobalObjectglobal_object () const
 
bool IsOptimizing () const
 
bool IsOptimizable () const
 
bool IsStub () const
 
void SetOptimizing (BailoutId osr_ast_id, Handle< Code > unoptimized)
 
bool HasDeoptimizationSupport () const
 
void EnableDeoptimizationSupport ()
 
bool ShouldSelfOptimize ()
 
void set_deferred_handles (DeferredHandles *deferred_handles)
 
ZoneList< Handle< HeapObject > > * dependencies (DependentCode::DependencyGroup group)
 
void CommitDependencies (Handle< Code > code)
 
void RollbackDependencies ()
 
void SaveHandles ()
 
void AbortOptimization (BailoutReason reason)
 
void RetryOptimization (BailoutReason reason)
 
BailoutReason bailout_reason () const
 
int prologue_offset () const
 
void set_prologue_offset (int prologue_offset)
 
void AddNoFrameRange (int from, int to)
 
List< OffsetRange > * ReleaseNoFrameRanges ()
 
Handle< Foreignobject_wrapper ()
 
void AbortDueToDependencyChange ()
 
bool HasAbortedDueToDependencyChange () const
 
bool HasSameOsrEntry (Handle< JSFunction > function, BailoutId osr_ast_id)
 
int optimization_id () const
 
AstValueFactoryast_value_factory () const
 
void SetAstValueFactory (AstValueFactory *ast_value_factory, bool owned=true)
 
AstNode::IdGenast_node_id_gen ()
 

Protected Member Functions

 CompilationInfo (Handle< Script > script, Zone *zone)
 
 CompilationInfo (Handle< SharedFunctionInfo > shared_info, Zone *zone)
 
 CompilationInfo (HydrogenCodeStub *stub, Isolate *isolate, Zone *zone)
 
 CompilationInfo (ScriptCompiler::ExternalSourceStream *source_stream, ScriptCompiler::StreamedSource::Encoding encoding, Isolate *isolate, Zone *zone)
 

Private Types

enum  Mode { BASE , OPTIMIZE , NONOPT , STUB }
 

Private Member Functions

void Initialize (Isolate *isolate, Mode mode, Zone *zone)
 
void SetMode (Mode mode)
 
void SetFlag (Flag flag)
 
void SetFlag (Flag flag, bool value)
 
bool GetFlag (Flag flag) const
 
template<typename T >
void SaveHandle (Handle< T > *object)
 
 DISALLOW_COPY_AND_ASSIGN (CompilationInfo)
 

Private Attributes

Isolateisolate_
 
unsigned flags_
 
FunctionLiteral * function_
 
Scopescope_
 
Scopeglobal_scope_
 
HydrogenCodeStubcode_stub_
 
Handle< Codecode_
 
Handle< JSFunctionclosure_
 
Handle< SharedFunctionInfoshared_info_
 
Handle< Scriptscript_
 
ScriptCompiler::ExternalSourceStreamsource_stream_
 
ScriptCompiler::StreamedSource::Encoding source_stream_encoding_
 
v8::Extensionextension_
 
ScriptData ** cached_data_
 
ScriptCompiler::CompileOptions compile_options_
 
Handle< Contextcontext_
 
Handle< TypeFeedbackVectorfeedback_vector_
 
Mode mode_
 
BailoutId osr_ast_id_
 
Handle< Codeunoptimized_code_
 
Zonezone_
 
DeferredHandlesdeferred_handles_
 
ZoneList< Handle< HeapObject > > * dependencies_ [DependentCode::kGroupCount]
 
BailoutReason bailout_reason_
 
int prologue_offset_
 
List< OffsetRange > * no_frame_ranges_
 
int opt_count_
 
int parameter_count_
 
Handle< Foreignobject_wrapper_
 
int optimization_id_
 
AstValueFactoryast_value_factory_
 
bool ast_value_factory_owned_
 
AstNode::IdGen ast_node_id_gen_
 

Detailed Description

Definition at line 63 of file compiler.h.

Member Enumeration Documentation

◆ Flag

Enumerator
kLazy 
kEval 
kGlobal 
kStrictMode 
kThisHasUses 
kNative 
kDeferredCalling 
kNonDeferredCalling 
kSavesCallerDoubles 
kRequiresFrame 
kMustNotHaveEagerFrame 
kDeoptimizationSupport 
kDebug 
kCompilingForDebugging 
kParseRestriction 
kSerializing 
kContextSpecializing 
kInliningEnabled 
kTypingEnabled 
kDisableFutureOptimization 
kAbortedDueToDependency 
kToplevel 

Definition at line 67 of file compiler.h.

67  {
68  kLazy = 1 << 0,
69  kEval = 1 << 1,
70  kGlobal = 1 << 2,
71  kStrictMode = 1 << 3,
72  kThisHasUses = 1 << 4,
73  kNative = 1 << 5,
74  kDeferredCalling = 1 << 6,
75  kNonDeferredCalling = 1 << 7,
76  kSavesCallerDoubles = 1 << 8,
77  kRequiresFrame = 1 << 9,
78  kMustNotHaveEagerFrame = 1 << 10,
79  kDeoptimizationSupport = 1 << 11,
80  kDebug = 1 << 12,
81  kCompilingForDebugging = 1 << 13,
82  kParseRestriction = 1 << 14,
83  kSerializing = 1 << 15,
84  kContextSpecializing = 1 << 16,
85  kInliningEnabled = 1 << 17,
86  kTypingEnabled = 1 << 18,
88  kAbortedDueToDependency = 1 << 20,
89  kToplevel = 1 << 21
90  };

◆ Mode

Enumerator
BASE 
OPTIMIZE 
NONOPT 
STUB 

Definition at line 418 of file compiler.h.

Constructor & Destructor Documentation

◆ CompilationInfo() [1/6]

v8::internal::CompilationInfo::CompilationInfo ( Handle< JSFunction closure,
Zone zone 
)

Definition at line 88 of file compiler.cc.

91  shared_info_(Handle<SharedFunctionInfo>(closure->shared())),
92  script_(Handle<Script>(Script::cast(shared_info_->script()))),
94  context_(closure->context()),
97  optimization_id_(-1),
100  Initialize(script_->GetIsolate(), BASE, zone);
101 }
static BailoutId None()
Definition: utils.h:960
Handle< JSFunction > closure_
Definition: compiler.h:455
Handle< Script > script_
Definition: compiler.h:457
Handle< SharedFunctionInfo > shared_info_
Definition: compiler.h:456
Handle< Context > context_
Definition: compiler.h:468
ScriptCompiler::ExternalSourceStream * source_stream_
Definition: compiler.h:458
Handle< JSFunction > closure() const
Definition: compiler.h:111
void Initialize(Isolate *isolate, Mode mode, Zone *zone)
Definition: compiler.cc:134
AstValueFactory * ast_value_factory_
Definition: compiler.h:514
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 BASE, Initialize(), script_, and zone().

+ Here is the call graph for this function:

◆ CompilationInfo() [2/6]

v8::internal::CompilationInfo::CompilationInfo ( Isolate isolate,
Zone zone 
)

Definition at line 60 of file compiler.cc.

References Initialize(), isolate(), STUB, and zone().

+ Here is the call graph for this function:

◆ ~CompilationInfo()

v8::internal::CompilationInfo::~CompilationInfo ( )
virtual

Definition at line 182 of file compiler.cc.

182  {
184  shared_info()->DisableOptimization(bailout_reason());
185  }
186  delete deferred_handles_;
187  delete no_frame_ranges_;
189 #ifdef DEBUG
190  // Check that no dependent maps have been added or added dependent maps have
191  // been rolled back or committed.
192  for (int i = 0; i < DependentCode::kGroupCount; i++) {
194  }
195 #endif // DEBUG
196 }
List< OffsetRange > * no_frame_ranges_
Definition: compiler.h:501
BailoutReason bailout_reason() const
Definition: compiler.h:339
bool GetFlag(Flag flag) const
Definition: compiler.h:437
ZoneList< Handle< HeapObject > > * dependencies_[DependentCode::kGroupCount]
Definition: compiler.h:487
DeferredHandles * deferred_handles_
Definition: compiler.h:485
Handle< SharedFunctionInfo > shared_info() const
Definition: compiler.h:112
static const int kGroupCount
Definition: objects.h:5534
#define DCHECK_EQ(v1, v2)
Definition: logging.h:206

References ast_value_factory_, ast_value_factory_owned_, bailout_reason(), DCHECK_EQ, deferred_handles_, dependencies_, GetFlag(), kDisableFutureOptimization, v8::internal::DependentCode::kGroupCount, no_frame_ranges_, NULL, and shared_info().

+ Here is the call graph for this function:

◆ CompilationInfo() [3/6]

v8::internal::CompilationInfo::CompilationInfo ( Handle< Script script,
Zone zone 
)
protected

Definition at line 47 of file compiler.cc.

49  script_(script),
53  optimization_id_(-1),
56  Initialize(script->GetIsolate(), BASE, zone);
57 }
Handle< Script > script() const
Definition: compiler.h:113

References BASE, Initialize(), script(), and zone().

+ Here is the call graph for this function:

◆ CompilationInfo() [4/6]

v8::internal::CompilationInfo::CompilationInfo ( Handle< SharedFunctionInfo shared_info,
Zone zone 
)
protected

Definition at line 73 of file compiler.cc.

77  script_(Handle<Script>(Script::cast(shared_info->script()))),
81  optimization_id_(-1),
84  Initialize(script_->GetIsolate(), BASE, zone);
85 }

References BASE, Initialize(), script_, and zone().

+ Here is the call graph for this function:

◆ CompilationInfo() [5/6]

v8::internal::CompilationInfo::CompilationInfo ( HydrogenCodeStub stub,
Isolate isolate,
Zone zone 
)
protected

Definition at line 104 of file compiler.cc.

109  parameter_count_(0),
110  optimization_id_(-1),
112  ast_value_factory_owned_(false) {
114  code_stub_ = stub;
115 }
HydrogenCodeStub * code_stub_
Definition: compiler.h:450

References code_stub_, Initialize(), isolate(), STUB, and zone().

+ Here is the call graph for this function:

◆ CompilationInfo() [6/6]

v8::internal::CompilationInfo::CompilationInfo ( ScriptCompiler::ExternalSourceStream source_stream,
ScriptCompiler::StreamedSource::Encoding  encoding,
Isolate isolate,
Zone zone 
)
protected

Definition at line 118 of file compiler.cc.

122  : flags_(kThisHasUses),
123  source_stream_(stream),
124  source_stream_encoding_(encoding),
126  parameter_count_(0),
127  optimization_id_(-1),
129  ast_value_factory_owned_(false) {
131 }
ScriptCompiler::StreamedSource::Encoding source_stream_encoding_
Definition: compiler.h:459

References BASE, Initialize(), isolate(), and zone().

+ Here is the call graph for this function:

Member Function Documentation

◆ AbortDueToDependencyChange()

void v8::internal::CompilationInfo::AbortDueToDependencyChange ( )
inline

Definition at line 372 of file compiler.h.

372  {
373  DCHECK(!OptimizingCompilerThread::IsOptimizerThread(isolate()));
375  }
void SetFlag(Flag flag)
Definition: compiler.h:431
#define DCHECK(condition)
Definition: logging.h:205

References DCHECK, isolate(), kAbortedDueToDependency, and SetFlag().

Referenced by v8::internal::DependentCode::MarkCodeForDeoptimization().

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

◆ AbortOptimization()

void v8::internal::CompilationInfo::AbortOptimization ( BailoutReason  reason)
inline

Definition at line 330 of file compiler.h.

330  {
331  if (bailout_reason_ != kNoReason) bailout_reason_ = reason;
333  }
BailoutReason bailout_reason_
Definition: compiler.h:497

References bailout_reason_, kDisableFutureOptimization, and SetFlag().

Referenced by v8::internal::OptimizedCompileJob::AbortOptimization(), v8::internal::HOptimizedGraphBuilder::Bailout(), v8::internal::compiler::Pipeline::GenerateCode(), and v8::internal::LChunk::NewChunk().

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

◆ AddNoFrameRange()

void v8::internal::CompilationInfo::AddNoFrameRange ( int  from,
int  to 
)
inline

Definition at line 354 of file compiler.h.

354  {
355  if (no_frame_ranges_) no_frame_ranges_->Add(OffsetRange(from, to));
356  }
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 expose gc extension under the specified name show built in functions in stack traces use random jit cookie to mask large constants minimum length for automatic enable preparsing CPU profiler sampling interval in microseconds trace out of bounds accesses to external arrays default size of stack region v8 is allowed to maximum length of function source code printed in a stack trace min size of a semi the new space consists of two semi spaces print one trace line following each garbage collection do not print trace line after scavenger collection print cumulative GC statistics in only print modified registers Trace simulator debug messages Implied by trace sim abort randomize hashes to avoid predictable hash Fixed seed to use to hash property Print the time it takes to deserialize the snapshot A filename with extra code to be included in the A file to write the raw snapshot bytes to(mksnapshot only)") DEFINE_STRING(raw_context_file

References no_frame_ranges_, and to().

+ Here is the call graph for this function:

◆ ast_node_id_gen()

AstNode::IdGen* v8::internal::CompilationInfo::ast_node_id_gen ( )
inline

Definition at line 395 of file compiler.h.

395 { return &ast_node_id_gen_; }
AstNode::IdGen ast_node_id_gen_
Definition: compiler.h:516

References ast_node_id_gen_.

Referenced by v8::internal::Scope::Analyze(), v8::internal::Parser::DoParseProgram(), and v8::internal::Rewriter::Rewrite().

+ Here is the caller graph for this function:

◆ ast_value_factory()

AstValueFactory* v8::internal::CompilationInfo::ast_value_factory ( ) const
inline

Definition at line 388 of file compiler.h.

388 { return ast_value_factory_; }

References ast_value_factory_.

Referenced by v8::internal::Scope::Analyze(), v8::internal::Parser::ast_value_factory(), v8::internal::Parser::Parser(), v8::internal::Rewriter::Rewrite(), and SetAstValueFactory().

+ Here is the caller graph for this function:

◆ bailout_reason()

BailoutReason v8::internal::CompilationInfo::bailout_reason ( ) const
inline

Definition at line 339 of file compiler.h.

339 { return bailout_reason_; }

References bailout_reason_.

Referenced by v8::internal::GetOptimizedCodeNow(), and ~CompilationInfo().

+ Here is the caller graph for this function:

◆ cached_data()

ScriptData** v8::internal::CompilationInfo::cached_data ( ) const
inline

Definition at line 117 of file compiler.h.

117 { return cached_data_; }
ScriptData ** cached_data_
Definition: compiler.h:463

References cached_data_.

Referenced by v8::internal::Parser::ParseOnBackground(), v8::internal::Parser::ParseProgram(), v8::internal::Parser::SetCachedData(), and SetCachedData().

+ Here is the caller graph for this function:

◆ closure()

◆ code()

Handle<Code> v8::internal::CompilationInfo::code ( ) const
inline

◆ code_stub()

HydrogenCodeStub* v8::internal::CompilationInfo::code_stub ( ) const
inline

Definition at line 115 of file compiler.h.

115 {return code_stub_; }

References code_stub_.

Referenced by flags(), v8::internal::compiler::Linkage::Linkage(), v8::internal::CodeGenerator::MakeCodePrologue(), v8::internal::CodeGenerator::PrintCode(), and v8::internal::CodeStubGraphBuilderBase::stub().

+ Here is the caller graph for this function:

◆ CommitDependencies()

void v8::internal::CompilationInfo::CommitDependencies ( Handle< Code code)

Definition at line 199 of file compiler.cc.

199  {
200  for (int i = 0; i < DependentCode::kGroupCount; i++) {
201  ZoneList<Handle<HeapObject> >* group_objects = dependencies_[i];
202  if (group_objects == NULL) continue;
203  DCHECK(!object_wrapper_.is_null());
204  for (int j = 0; j < group_objects->length(); j++) {
206  static_cast<DependentCode::DependencyGroup>(i);
208  DependentCode::ForObject(group_objects->at(j), group);
209  dependent_code->UpdateToFinishedCode(group, this, *code);
210  }
211  dependencies_[i] = NULL; // Zone-allocated, no need to delete.
212  }
213 }
Handle< Foreign > object_wrapper_
Definition: compiler.h:510
Handle< Code > code() const
Definition: compiler.h:110
static DependentCode * ForObject(Handle< HeapObject > object, DependencyGroup group)
Definition: objects.cc:11397
kSerializedDataOffset kPrototypeTemplateOffset kIndexedPropertyHandlerOffset kInstanceCallHandlerOffset kInternalFieldCountOffset dependent_code
Definition: objects-inl.h:5353
kSerializedDataOffset kPrototypeTemplateOffset kIndexedPropertyHandlerOffset kInstanceCallHandlerOffset kInternalFieldCountOffset DependentCode
Definition: objects-inl.h:5353

References v8::internal::List< T, AllocationPolicy >::at(), code(), DCHECK, dependencies_, v8::internal::dependent_code, v8::internal::DependentCode::ForObject(), v8::internal::DependentCode::kGroupCount, NULL, and object_wrapper_.

Referenced by v8::internal::LChunk::CommitDependencies().

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

◆ compile_options()

ScriptCompiler::CompileOptions v8::internal::CompilationInfo::compile_options ( ) const
inline

Definition at line 118 of file compiler.h.

118  {
119  return compile_options_;
120  }
ScriptCompiler::CompileOptions compile_options_
Definition: compiler.h:464

References compile_options_.

Referenced by v8::internal::Parser::compile_options(), v8::internal::CompileToplevel(), and SetCachedData().

+ Here is the caller graph for this function:

◆ context()

Handle<Context> v8::internal::CompilationInfo::context ( ) const
inline

Definition at line 127 of file compiler.h.

127 { return context_; }

References context_.

Referenced by v8::internal::OptimizedCompileJob::CreateGraph(), v8::internal::Parser::DoParseProgram(), v8::internal::Compiler::EnsureDeoptimizationSupport(), v8::internal::OptimizedCompileJob::GenerateCode(), SetContext(), and v8::internal::compiler::JSContextSpecializer::SpecializeToContext().

+ Here is the caller graph for this function:

◆ dependencies()

ZoneList<Handle<HeapObject> >* v8::internal::CompilationInfo::dependencies ( DependentCode::DependencyGroup  group)
inline

Definition at line 310 of file compiler.h.

311  {
312  if (dependencies_[group] == NULL) {
313  dependencies_[group] = new(zone_) ZoneList<Handle<HeapObject> >(2, zone_);
314  }
315  return dependencies_[group];
316  }

References dependencies_, NULL, and zone_.

Referenced by v8::internal::AllocationSite::AddDependentCompilationInfo(), v8::internal::Map::AddDependentCompilationInfo(), and v8::internal::PropertyCell::AddDependentCompilationInfo().

+ Here is the caller graph for this function:

◆ DISALLOW_COPY_AND_ASSIGN()

v8::internal::CompilationInfo::DISALLOW_COPY_AND_ASSIGN ( CompilationInfo  )
private

◆ EnableDeoptimizationSupport()

void v8::internal::CompilationInfo::EnableDeoptimizationSupport ( )
inline

Definition at line 297 of file compiler.h.

297  {
300  }

References DCHECK, IsOptimizable(), kDeoptimizationSupport, and SetFlag().

Referenced by v8::internal::Compiler::EnsureDeoptimizationSupport(), v8::internal::Compiler::GetDebugCode(), and v8::internal::Compiler::GetOptimizedCode().

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

◆ extension()

v8::Extension* v8::internal::CompilationInfo::extension ( ) const
inline

Definition at line 116 of file compiler.h.

116 { return extension_; }
v8::Extension * extension_
Definition: compiler.h:462

References extension_.

Referenced by SetExtension().

+ Here is the caller graph for this function:

◆ feedback_vector()

Handle<TypeFeedbackVector> v8::internal::CompilationInfo::feedback_vector ( ) const
inline

Definition at line 239 of file compiler.h.

239  {
240  return feedback_vector_;
241  }
Handle< TypeFeedbackVector > feedback_vector_
Definition: compiler.h:471

References feedback_vector_.

Referenced by v8::internal::Compiler::BuildFunctionInfo(), v8::internal::CompileToplevel(), v8::internal::Compiler::EnsureDeoptimizationSupport(), v8::internal::FullCodeGenerator::FeedbackVector(), v8::internal::GetUnoptimizedCodeCommon(), and Initialize().

+ Here is the caller graph for this function:

◆ flags()

Code::Flags v8::internal::CompilationInfo::flags ( ) const

Definition at line 252 of file compiler.cc.

252  {
253  if (IsStub()) {
254  return Code::ComputeFlags(code_stub()->GetCodeKind(),
255  code_stub()->GetICState(),
256  code_stub()->GetExtraICState(),
257  code_stub()->GetStubType());
258  } else {
259  return Code::ComputeFlags(Code::OPTIMIZED_FUNCTION);
260  }
261 }
static Flags ComputeFlags(Kind kind, InlineCacheState ic_state=UNINITIALIZED, ExtraICState extra_ic_state=kNoExtraICState, StubType type=NORMAL, CacheHolderFlag holder=kCacheOnReceiver)
Definition: objects-inl.h:4954
HydrogenCodeStub * code_stub() const
Definition: compiler.h:115

References code_stub(), v8::internal::Code::ComputeFlags(), and IsStub().

Referenced by v8::internal::LChunk::Codegen(), and ShouldSelfOptimize().

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

◆ function()

◆ GetFlag()

bool v8::internal::CompilationInfo::GetFlag ( Flag  flag) const
inlineprivate

◆ GetMustNotHaveEagerFrame()

bool v8::internal::CompilationInfo::GetMustNotHaveEagerFrame ( ) const
inline

Definition at line 186 of file compiler.h.

186  {
188  }

References GetFlag(), and kMustNotHaveEagerFrame.

+ Here is the call graph for this function:

◆ global_object()

GlobalObject* v8::internal::CompilationInfo::global_object ( ) const
inline

Definition at line 277 of file compiler.h.

277  {
278  return has_global_object() ? closure()->context()->global_object() : NULL;
279  }
bool has_global_object() const
Definition: compiler.h:272

References closure(), has_global_object(), and NULL.

+ Here is the call graph for this function:

◆ global_scope()

Scope* v8::internal::CompilationInfo::global_scope ( ) const
inline

Definition at line 109 of file compiler.h.

109 { return global_scope_; }

References global_scope_.

Referenced by v8::internal::Scope::ResolveVariable(), v8::internal::Scope::ResolveVariablesRecursively(), and SetGlobalScope().

+ Here is the caller graph for this function:

◆ has_global_object()

bool v8::internal::CompilationInfo::has_global_object ( ) const
inline

Definition at line 272 of file compiler.h.

272  {
273  return !closure().is_null() &&
274  (closure()->context()->global_object() != NULL);
275  }

References closure(), and NULL.

Referenced by global_object().

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

◆ HasAbortedDueToDependencyChange()

bool v8::internal::CompilationInfo::HasAbortedDueToDependencyChange ( ) const
inline

Definition at line 377 of file compiler.h.

377  {
378  DCHECK(!OptimizingCompilerThread::IsOptimizerThread(isolate()));
380  }

References DCHECK, GetFlag(), isolate(), and kAbortedDueToDependency.

+ Here is the call graph for this function:

◆ HasDeoptimizationSupport()

bool v8::internal::CompilationInfo::HasDeoptimizationSupport ( ) const
inline

Definition at line 294 of file compiler.h.

294  {
296  }

References GetFlag(), and kDeoptimizationSupport.

Referenced by v8::internal::FullCodeGenerator::MakeCode(), v8::internal::FullCodeGenerator::PopulateDeoptimizationData(), and v8::internal::FullCodeGenerator::PrepareForBailoutForId().

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

◆ HasSameOsrEntry()

bool v8::internal::CompilationInfo::HasSameOsrEntry ( Handle< JSFunction function,
BailoutId  osr_ast_id 
)
inline

Definition at line 382 of file compiler.h.

382  {
383  return osr_ast_id_ == osr_ast_id && function.is_identical_to(closure_);
384  }
BailoutId osr_ast_id() const
Definition: compiler.h:128

References closure_, osr_ast_id(), and osr_ast_id_.

Referenced by v8::internal::OptimizingCompilerThread::FindReadyOSRCandidate(), and v8::internal::OptimizingCompilerThread::IsQueuedForOSR().

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

◆ Initialize()

void v8::internal::CompilationInfo::Initialize ( Isolate isolate,
Mode  mode,
Zone zone 
)
private

Definition at line 134 of file compiler.cc.

136  {
137  isolate_ = isolate;
138  function_ = NULL;
139  scope_ = NULL;
141  extension_ = NULL;
142  cached_data_ = NULL;
144  zone_ = zone;
146  code_stub_ = NULL;
148  opt_count_ = shared_info().is_null() ? 0 : shared_info()->opt_count();
149  no_frame_ranges_ = isolate->cpu_profiler()->is_profiling()
150  ? new List<OffsetRange>(2) : NULL;
151  for (int i = 0; i < DependentCode::kGroupCount; i++) {
152  dependencies_[i] = NULL;
153  }
154  if (mode == STUB) {
155  mode_ = STUB;
156  return;
157  }
158  mode_ = mode;
159  if (!script_.is_null() && script_->type()->value() == Script::TYPE_NATIVE) {
160  MarkAsNative();
161  }
162  if (isolate_->debug()->is_active()) MarkAsDebug();
163  if (FLAG_context_specialization) MarkAsContextSpecializing();
164  if (FLAG_turbo_inlining) MarkAsInliningEnabled();
165  if (FLAG_turbo_types) MarkAsTypingEnabled();
166 
167  if (!shared_info_.is_null()) {
168  DCHECK(strict_mode() == SLOPPY);
169  SetStrictMode(shared_info_->strict_mode());
170  }
171  bailout_reason_ = kUnknown;
172 
173  if (!shared_info().is_null() && shared_info()->is_compiled()) {
174  // We should initialize the CompilationInfo feedback vector from the
175  // passed in shared info, rather than creating a new one.
177  Handle<TypeFeedbackVector>(shared_info()->feedback_vector(), isolate);
178  }
179 }
@ kNoCompileOptions
Definition: v8.h:1160
static const int kPrologueOffsetNotSet
Definition: objects.h:4973
void SetStrictMode(StrictMode strict_mode)
Definition: compiler.h:156
StrictMode strict_mode() const
Definition: compiler.h:104
Handle< TypeFeedbackVector > feedback_vector() const
Definition: compiler.h:239
bool is_active() const
Definition: debug.h:465
CpuProfiler * cpu_profiler() const
Definition: isolate.h:971
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

References bailout_reason_, cached_data_, code_stub_, compile_options_, v8::internal::Isolate::cpu_profiler(), DCHECK, v8::internal::Isolate::debug(), deferred_handles_, dependencies_, extension_, feedback_vector(), feedback_vector_, function_, global_scope_, v8::internal::Debug::is_active(), isolate(), isolate_, v8::internal::DependentCode::kGroupCount, v8::ScriptCompiler::kNoCompileOptions, v8::internal::Code::kPrologueOffsetNotSet, MarkAsContextSpecializing(), MarkAsDebug(), MarkAsInliningEnabled(), MarkAsNative(), MarkAsTypingEnabled(), mode(), mode_, no_frame_ranges_, NULL, opt_count_, prologue_offset_, scope_, script_, SetStrictMode(), shared_info(), shared_info_, v8::internal::SLOPPY, strict_mode(), STUB, v8::internal::Script::TYPE_NATIVE, zone(), and zone_.

Referenced by CompilationInfo().

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

◆ is_calling()

bool v8::internal::CompilationInfo::is_calling ( ) const
inline

Definition at line 164 of file compiler.h.

164  {
166  }

References GetFlag(), kDeferredCalling, and kNonDeferredCalling.

+ Here is the call graph for this function:

◆ is_context_specializing()

bool v8::internal::CompilationInfo::is_context_specializing ( ) const
inline

Definition at line 200 of file compiler.h.

200 { return GetFlag(kContextSpecializing); }

References GetFlag(), and kContextSpecializing.

Referenced by v8::internal::InsertCodeIntoOptimizedCodeMap().

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

◆ is_debug()

bool v8::internal::CompilationInfo::is_debug ( ) const
inline

Definition at line 192 of file compiler.h.

192 { return GetFlag(kDebug); }

References GetFlag(), and kDebug.

Referenced by IsCodePreAgingActive(), v8::internal::CodeGenerator::MakeCodeEpilogue(), v8::internal::FullCodeGenerator::SetExpressionPosition(), and v8::internal::FullCodeGenerator::SetStatementPosition().

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

◆ is_deferred_calling()

bool v8::internal::CompilationInfo::is_deferred_calling ( ) const
inline

Definition at line 170 of file compiler.h.

170 { return GetFlag(kDeferredCalling); }

References GetFlag(), and kDeferredCalling.

+ Here is the call graph for this function:

◆ is_eval()

bool v8::internal::CompilationInfo::is_eval ( ) const
inline

Definition at line 102 of file compiler.h.

102 { return GetFlag(kEval); }

References GetFlag(), and kEval.

Referenced by v8::internal::CompileToplevel(), v8::internal::Parser::DoParseProgram(), and v8::internal::FullCodeGenerator::is_eval().

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

◆ is_global()

bool v8::internal::CompilationInfo::is_global ( ) const
inline

Definition at line 103 of file compiler.h.

103 { return GetFlag(kGlobal); }

References GetFlag(), and kGlobal.

Referenced by v8::internal::CompileToplevel(), and v8::internal::Parser::DoParseProgram().

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

◆ is_inlining_enabled()

bool v8::internal::CompilationInfo::is_inlining_enabled ( ) const
inline

Definition at line 206 of file compiler.h.

206 { return GetFlag(kInliningEnabled); }

References GetFlag(), and kInliningEnabled.

+ Here is the call graph for this function:

◆ is_lazy()

bool v8::internal::CompilationInfo::is_lazy ( ) const
inline

Definition at line 101 of file compiler.h.

101 { return GetFlag(kLazy); }

References GetFlag(), and kLazy.

Referenced by MarkAsEval(), MarkAsGlobal(), SetCachedData(), and SetExtension().

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

◆ is_native()

bool v8::internal::CompilationInfo::is_native ( ) const
inline

Definition at line 162 of file compiler.h.

162 { return GetFlag(kNative); }

References GetFlag(), and kNative.

Referenced by v8::internal::FullCodeGenerator::is_native(), and v8::internal::Parser::Parser().

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

◆ is_non_deferred_calling()

bool v8::internal::CompilationInfo::is_non_deferred_calling ( ) const
inline

Definition at line 174 of file compiler.h.

174 { return GetFlag(kNonDeferredCalling); }

References GetFlag(), and kNonDeferredCalling.

+ Here is the call graph for this function:

◆ is_osr()

bool v8::internal::CompilationInfo::is_osr ( ) const
inline

Definition at line 100 of file compiler.h.

100 { return !osr_ast_id_.IsNone(); }
bool IsNone() const
Definition: utils.h:966

References v8::internal::BailoutId::IsNone(), and osr_ast_id_.

Referenced by v8::internal::DisposeOptimizedCompileJob(), v8::internal::OptimizingCompilerThread::FlushInputQueue(), v8::internal::OptimizingCompilerThread::FlushOutputQueue(), v8::internal::GetOptimizedCodeLater(), v8::internal::OptimizingCompilerThread::InstallOptimizedFunctions(), v8::internal::OptimizingCompilerThread::QueueForOptimization(), and v8::internal::OptimizedCompileJob::WaitForInstall().

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

◆ is_toplevel()

bool v8::internal::CompilationInfo::is_toplevel ( ) const
inline

Definition at line 214 of file compiler.h.

214 { return GetFlag(kToplevel); }

References GetFlag(), and kToplevel.

Referenced by v8::internal::Compiler::BuildFunctionInfo().

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

◆ is_typing_enabled()

bool v8::internal::CompilationInfo::is_typing_enabled ( ) const
inline

Definition at line 210 of file compiler.h.

210 { return GetFlag(kTypingEnabled); }

References GetFlag(), and kTypingEnabled.

+ Here is the call graph for this function:

◆ IsCodePreAgingActive()

bool v8::internal::CompilationInfo::IsCodePreAgingActive ( ) const
inline

Definition at line 216 of file compiler.h.

216  {
217  return FLAG_optimize_for_size && FLAG_age_code && !will_serialize() &&
218  !is_debug();
219  }

References is_debug(), and will_serialize().

+ Here is the call graph for this function:

◆ IsCompilingForDebugging()

bool v8::internal::CompilationInfo::IsCompilingForDebugging ( )
inline

Definition at line 262 of file compiler.h.

262 { return GetFlag(kCompilingForDebugging); }

References GetFlag(), and kCompilingForDebugging.

+ Here is the call graph for this function:

◆ isolate()

Isolate* v8::internal::CompilationInfo::isolate ( ) const
inline

Definition at line 96 of file compiler.h.

96  {
97  return isolate_;
98  }

References isolate_.

Referenced by AbortDueToDependencyChange(), v8::internal::Map::AddDependentCompilationInfo(), v8::internal::PropertyCell::AddDependentCompilationInfo(), v8::internal::Scope::Analyze(), v8::internal::Compiler::BuildFunctionInfo(), CompilationInfo(), v8::internal::Compiler::CompileForLiveEdit(), v8::internal::Compiler::CompileStreamedScript(), v8::internal::CompileToplevel(), v8::internal::CompileUnoptimizedCode(), v8::internal::Compiler::DebuggerWantsEagerCompilation(), v8::internal::Compiler::EnsureDeoptimizationSupport(), v8::internal::Compiler::GetDebugCode(), v8::internal::Compiler::GetLazyCode(), v8::internal::GetOptimizedCodeLater(), v8::internal::GetOptimizedCodeNow(), v8::internal::Compiler::GetUnoptimizedCode(), v8::internal::GetUnoptimizedCodeCommon(), HasAbortedDueToDependencyChange(), Initialize(), v8::internal::compiler::BasicBlockInstrumentor::Instrument(), v8::internal::CodeStubGraphBuilderBase::isolate(), v8::internal::compiler::Pipeline::isolate(), v8::internal::Parser::isolate(), v8::internal::OptimizedCompileJob::isolate(), v8::internal::BASE_EMBEDDED< Visitor >::isolate(), v8::internal::FullCodeGenerator::MakeCode(), v8::internal::CodeGenerator::MakeCodeEpilogue(), v8::internal::CodeGenerator::MakeCodePrologue(), object_wrapper(), v8::internal::Parser::Parse(), PrepareForCompilation(), v8::internal::CodeGenerator::PrintCode(), v8::internal::RecordFunctionCompilation(), v8::internal::compiler::JSContextSpecializer::ReduceJSLoadContext(), v8::internal::compiler::JSContextSpecializer::ReduceJSStoreContext(), v8::internal::Scope::ResolveVariable(), SetOptimizing(), v8::internal::HOptimizedGraphBuilder::TryInline(), and v8::internal::compiler::PhaseStats::~PhaseStats().

+ Here is the caller graph for this function:

◆ IsOptimizable()

bool v8::internal::CompilationInfo::IsOptimizable ( ) const
inline

Definition at line 283 of file compiler.h.

283 { return mode_ == BASE; }

References BASE, and mode_.

Referenced by EnableDeoptimizationSupport(), and v8::internal::FullCodeGenerator::MakeCode().

+ Here is the caller graph for this function:

◆ IsOptimizing()

bool v8::internal::CompilationInfo::IsOptimizing ( ) const
inline

Definition at line 282 of file compiler.h.

282 { return mode_ == OPTIMIZE; }

References mode_, and OPTIMIZE.

Referenced by v8::internal::CodeGenerator::PrintCode(), and ShouldTrapOnDeopt().

+ Here is the caller graph for this function:

◆ IsStub()

bool v8::internal::CompilationInfo::IsStub ( ) const
inline

◆ MarkAsContextSpecializing()

void v8::internal::CompilationInfo::MarkAsContextSpecializing ( )
inline

Definition at line 198 of file compiler.h.

References kContextSpecializing, and SetFlag().

Referenced by v8::internal::Compiler::GetLazyCode(), and Initialize().

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

◆ MarkAsDebug()

void v8::internal::CompilationInfo::MarkAsDebug ( )
inline

Definition at line 190 of file compiler.h.

190 { SetFlag(kDebug); }

References kDebug, and SetFlag().

Referenced by v8::internal::Compiler::GetDebugCode(), and Initialize().

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

◆ MarkAsDeferredCalling()

void v8::internal::CompilationInfo::MarkAsDeferredCalling ( )
inline

Definition at line 168 of file compiler.h.

References kDeferredCalling, and SetFlag().

+ Here is the call graph for this function:

◆ MarkAsEval()

void v8::internal::CompilationInfo::MarkAsEval ( )
inline

Definition at line 135 of file compiler.h.

135  {
136  DCHECK(!is_lazy());
137  SetFlag(kEval);
138  }

References DCHECK, is_lazy(), kEval, and SetFlag().

Referenced by v8::internal::Compiler::GetFunctionFromEval(), and v8::internal::ScopeIterator::ScopeIterator().

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

◆ MarkAsGlobal()

void v8::internal::CompilationInfo::MarkAsGlobal ( )
inline

Definition at line 140 of file compiler.h.

140  {
141  DCHECK(!is_lazy());
142  SetFlag(kGlobal);
143  }

References DCHECK, is_lazy(), kGlobal, and SetFlag().

Referenced by v8::internal::Compiler::CompileForLiveEdit(), v8::internal::Compiler::CompileScript(), v8::internal::Compiler::GetFunctionFromEval(), and v8::internal::ScopeIterator::ScopeIterator().

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

◆ MarkAsInliningDisabled()

void v8::internal::CompilationInfo::MarkAsInliningDisabled ( )
inline

Definition at line 204 of file compiler.h.

204 { SetFlag(kInliningEnabled, false); }

References kInliningEnabled, and SetFlag().

Referenced by v8::internal::Compiler::GetLazyCode().

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

◆ MarkAsInliningEnabled()

void v8::internal::CompilationInfo::MarkAsInliningEnabled ( )
inline

Definition at line 202 of file compiler.h.

References kInliningEnabled, and SetFlag().

Referenced by Initialize().

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

◆ MarkAsNative()

void v8::internal::CompilationInfo::MarkAsNative ( )
inline

Definition at line 160 of file compiler.h.

160 { SetFlag(kNative); }

References kNative, and SetFlag().

Referenced by Initialize().

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

◆ MarkAsNonDeferredCalling()

void v8::internal::CompilationInfo::MarkAsNonDeferredCalling ( )
inline

Definition at line 172 of file compiler.h.

References kNonDeferredCalling, and SetFlag().

+ Here is the call graph for this function:

◆ MarkAsRequiresFrame()

void v8::internal::CompilationInfo::MarkAsRequiresFrame ( )
inline

Definition at line 180 of file compiler.h.

References kRequiresFrame, and SetFlag().

+ Here is the call graph for this function:

◆ MarkAsSavesCallerDoubles()

void v8::internal::CompilationInfo::MarkAsSavesCallerDoubles ( )
inline

Definition at line 176 of file compiler.h.

References kSavesCallerDoubles, and SetFlag().

+ Here is the call graph for this function:

◆ MarkAsToplevel()

void v8::internal::CompilationInfo::MarkAsToplevel ( )
inline

Definition at line 212 of file compiler.h.

212 { SetFlag(kToplevel); }

References kToplevel, and SetFlag().

Referenced by v8::internal::CompileToplevel().

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

◆ MarkAsTypingEnabled()

void v8::internal::CompilationInfo::MarkAsTypingEnabled ( )
inline

Definition at line 208 of file compiler.h.

References kTypingEnabled, and SetFlag().

Referenced by v8::internal::Compiler::GetLazyCode(), and Initialize().

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

◆ MarkCompilingForDebugging()

void v8::internal::CompilationInfo::MarkCompilingForDebugging ( )
inline

Definition at line 261 of file compiler.h.

References kCompilingForDebugging, and SetFlag().

Referenced by v8::internal::Compiler::GetDebugCode().

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

◆ MarkMustNotHaveEagerFrame()

void v8::internal::CompilationInfo::MarkMustNotHaveEagerFrame ( )
inline

Definition at line 184 of file compiler.h.

References kMustNotHaveEagerFrame, and SetFlag().

Referenced by v8::internal::CodeStubGraphBuilderBase::BuildArrayConstructor(), and v8::internal::CodeStubGraphBuilderBase::BuildInternalArrayConstructor().

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

◆ MarkNonOptimizable()

void v8::internal::CompilationInfo::MarkNonOptimizable ( )
inline

Definition at line 263 of file compiler.h.

263  {
265  }
void SetMode(Mode mode)
Definition: compiler.h:427

References NONOPT, and SetMode().

Referenced by v8::internal::Compiler::GetDebugCode().

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

◆ num_heap_slots()

int v8::internal::CompilationInfo::num_heap_slots ( ) const

Definition at line 243 of file compiler.cc.

243  {
244  if (IsStub()) {
245  return 0;
246  } else {
247  return scope()->num_heap_slots();
248  }
249 }
int num_heap_slots() const
Definition: scopes.h:352

References IsStub(), v8::internal::Scope::num_heap_slots(), and scope().

Referenced by v8::internal::compiler::AstGraphBuilder::BuildLocalFunctionContext().

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

◆ num_parameters()

int v8::internal::CompilationInfo::num_parameters ( ) const

Definition at line 233 of file compiler.cc.

233  {
234  if (IsStub()) {
236  return parameter_count_;
237  } else {
238  return scope()->num_parameters();
239  }
240 }
int num_parameters() const
Definition: scopes.h:321

References DCHECK, IsStub(), v8::internal::Scope::num_parameters(), parameter_count_, and scope().

Referenced by v8::internal::compiler::AstGraphBuilder::CreateGraph(), and v8::internal::LChunk::GetParameterStackSlot().

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

◆ object_wrapper()

Handle<Foreign> v8::internal::CompilationInfo::object_wrapper ( )
inline

Definition at line 364 of file compiler.h.

364  {
365  if (object_wrapper_.is_null()) {
367  isolate()->factory()->NewForeign(reinterpret_cast<Address>(this));
368  }
369  return object_wrapper_;
370  }
Factory * factory()
Definition: isolate.h:982
byte * Address
Definition: globals.h:101

References v8::internal::Isolate::factory(), isolate(), and object_wrapper_.

Referenced by v8::internal::AllocationSite::AddDependentCompilationInfo(), v8::internal::Map::AddDependentCompilationInfo(), v8::internal::PropertyCell::AddDependentCompilationInfo(), v8::internal::DependentCode::RemoveCompilationInfo(), and v8::internal::DependentCode::UpdateToFinishedCode().

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

◆ opt_count()

int v8::internal::CompilationInfo::opt_count ( ) const
inline

Definition at line 130 of file compiler.h.

130 { return opt_count_; }

References opt_count_.

◆ optimization_id()

int v8::internal::CompilationInfo::optimization_id ( ) const
inline

Definition at line 386 of file compiler.h.

386 { return optimization_id_; }

References optimization_id_.

Referenced by v8::internal::CodeGenerator::PrintCode().

+ Here is the caller graph for this function:

◆ osr_ast_id()

BailoutId v8::internal::CompilationInfo::osr_ast_id ( ) const
inline

◆ parse_restriction()

ParseRestriction v8::internal::CompilationInfo::parse_restriction ( ) const
inline

Definition at line 225 of file compiler.h.

225  {
228  }
@ ONLY_SINGLE_FUNCTION_LITERAL
Definition: compiler.h:23
@ NO_PARSE_RESTRICTION
Definition: compiler.h:22

References GetFlag(), kParseRestriction, v8::internal::NO_PARSE_RESTRICTION, and v8::internal::ONLY_SINGLE_FUNCTION_LITERAL.

Referenced by v8::internal::Parser::DoParseProgram().

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

◆ PrepareForCompilation()

void v8::internal::CompilationInfo::PrepareForCompilation ( Scope scope)

Definition at line 276 of file compiler.cc.

276  {
277  DCHECK(scope_ == NULL);
278  scope_ = scope;
279 
280  int length = function()->slot_count();
281  if (feedback_vector_.is_null()) {
282  // Allocate the feedback vector too.
283  feedback_vector_ = isolate()->factory()->NewTypeFeedbackVector(length);
284  }
285  DCHECK(feedback_vector_->length() == length);
286 }

References DCHECK, v8::internal::Isolate::factory(), feedback_vector_, isolate(), NULL, scope(), and scope_.

Referenced by v8::internal::Scope::Analyze(), v8::internal::Compiler::BuildFunctionInfo(), and v8::internal::Compiler::EnsureDeoptimizationSupport().

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

◆ PrepareForSerializing()

void v8::internal::CompilationInfo::PrepareForSerializing ( )
inline

Definition at line 194 of file compiler.h.

194 { SetFlag(kSerializing); }

References kSerializing, and SetFlag().

Referenced by v8::internal::Compiler::BuildFunctionInfo(), v8::internal::Compiler::CompileScript(), and v8::internal::DoGenerateCode().

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

◆ prologue_offset()

int v8::internal::CompilationInfo::prologue_offset ( ) const
inline

Definition at line 341 of file compiler.h.

341  {
343  return prologue_offset_;
344  }
#define DCHECK_NE(v1, v2)
Definition: logging.h:207

References DCHECK_NE, v8::internal::Code::kPrologueOffsetNotSet, and prologue_offset_.

Referenced by v8::internal::CodeGenerator::MakeCodeEpilogue(), and set_prologue_offset().

+ Here is the caller graph for this function:

◆ ReleaseNoFrameRanges()

List<OffsetRange>* v8::internal::CompilationInfo::ReleaseNoFrameRanges ( )
inline

Definition at line 358 of file compiler.h.

358  {
359  List<OffsetRange>* result = no_frame_ranges_;
361  return result;
362  }

References no_frame_ranges_, and NULL.

Referenced by v8::internal::CpuProfiler::CodeCreateEvent().

+ Here is the caller graph for this function:

◆ requires_frame()

bool v8::internal::CompilationInfo::requires_frame ( ) const
inline

Definition at line 182 of file compiler.h.

182 { return GetFlag(kRequiresFrame); }

References GetFlag(), and kRequiresFrame.

+ Here is the call graph for this function:

◆ RetryOptimization()

void v8::internal::CompilationInfo::RetryOptimization ( BailoutReason  reason)
inline

Definition at line 335 of file compiler.h.

335  {
336  if (bailout_reason_ != kNoReason) bailout_reason_ = reason;
337  }

References bailout_reason_.

Referenced by v8::internal::OptimizedCompileJob::RetryOptimization(), and v8::internal::HOptimizedGraphBuilder::TryInline().

+ Here is the caller graph for this function:

◆ RollbackDependencies()

void v8::internal::CompilationInfo::RollbackDependencies ( )

Definition at line 216 of file compiler.cc.

216  {
217  // Unregister from all dependent maps if not yet committed.
218  for (int i = 0; i < DependentCode::kGroupCount; i++) {
219  ZoneList<Handle<HeapObject> >* group_objects = dependencies_[i];
220  if (group_objects == NULL) continue;
221  for (int j = 0; j < group_objects->length(); j++) {
223  static_cast<DependentCode::DependencyGroup>(i);
225  DependentCode::ForObject(group_objects->at(j), group);
226  dependent_code->RemoveCompilationInfo(group, this);
227  }
228  dependencies_[i] = NULL; // Zone-allocated, no need to delete.
229  }
230 }

References v8::internal::List< T, AllocationPolicy >::at(), dependencies_, v8::internal::dependent_code, v8::internal::DependentCode::ForObject(), v8::internal::DependentCode::kGroupCount, and NULL.

Referenced by v8::internal::CompilationInfoWithZone::~CompilationInfoWithZone().

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

◆ SaveHandle()

template<typename T >
void v8::internal::CompilationInfo::SaveHandle ( Handle< T > *  object)
inlineprivate

Definition at line 490 of file compiler.h.

490  {
491  if (!object->is_null()) {
492  Handle<T> handle(*(*object));
493  *object = handle;
494  }
495  }
Handle< T > handle(T *t, Isolate *isolate)
Definition: handles.h:146

References v8::internal::handle(), and v8::internal::Handle< T >::is_null().

Referenced by SaveHandles().

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

◆ SaveHandles()

void v8::internal::CompilationInfo::SaveHandles ( )
inline

Definition at line 322 of file compiler.h.

322  {
328  }
void SaveHandle(Handle< T > *object)
Definition: compiler.h:490
Handle< Code > unoptimized_code_
Definition: compiler.h:479

References closure_, context_, SaveHandle(), script_, shared_info_, and unoptimized_code_.

Referenced by v8::internal::GetOptimizedCodeLater().

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

◆ saves_caller_doubles()

bool v8::internal::CompilationInfo::saves_caller_doubles ( ) const
inline

Definition at line 178 of file compiler.h.

178 { return GetFlag(kSavesCallerDoubles); }

References GetFlag(), and kSavesCallerDoubles.

+ Here is the call graph for this function:

◆ scope()

◆ script()

Handle<Script> v8::internal::CompilationInfo::script ( ) const
inline

◆ set_deferred_handles()

void v8::internal::CompilationInfo::set_deferred_handles ( DeferredHandles deferred_handles)
inline

Definition at line 305 of file compiler.h.

305  {
307  deferred_handles_ = deferred_handles;
308  }

References DCHECK, deferred_handles_, and NULL.

◆ set_parameter_count()

void v8::internal::CompilationInfo::set_parameter_count ( int  parameter_count)
inline

Definition at line 145 of file compiler.h.

145  {
146  DCHECK(IsStub());
147  parameter_count_ = parameter_count;
148  }

References DCHECK, IsStub(), and parameter_count_.

+ Here is the call graph for this function:

◆ set_prologue_offset()

void v8::internal::CompilationInfo::set_prologue_offset ( int  prologue_offset)
inline

Definition at line 346 of file compiler.h.

References DCHECK_EQ, v8::internal::Code::kPrologueOffsetNotSet, prologue_offset(), and prologue_offset_.

+ Here is the call graph for this function:

◆ set_script()

void v8::internal::CompilationInfo::set_script ( Handle< Script script)
inline

Definition at line 114 of file compiler.h.

114 { script_ = script; }

References script(), and script_.

+ Here is the call graph for this function:

◆ set_this_has_uses()

void v8::internal::CompilationInfo::set_this_has_uses ( bool  has_no_uses)
inline

Definition at line 150 of file compiler.h.

150  {
151  SetFlag(kThisHasUses, has_no_uses);
152  }

References kThisHasUses, and SetFlag().

Referenced by v8::internal::OptimizedCompileJob::CreateGraph().

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

◆ SetAstValueFactory()

void v8::internal::CompilationInfo::SetAstValueFactory ( AstValueFactory ast_value_factory,
bool  owned = true 
)
inline

Definition at line 389 of file compiler.h.

390  {
392  ast_value_factory_owned_ = owned;
393  }
AstValueFactory * ast_value_factory() const
Definition: compiler.h:388

References ast_value_factory(), ast_value_factory_, and ast_value_factory_owned_.

Referenced by v8::internal::Parser::Parser(), and v8::internal::HOptimizedGraphBuilder::TryInline().

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

◆ SetCachedData()

void v8::internal::CompilationInfo::SetCachedData ( ScriptData **  cached_data,
ScriptCompiler::CompileOptions  compile_options 
)
inline

Definition at line 247 of file compiler.h.

248  {
251  cached_data_ = NULL;
252  } else {
253  DCHECK(!is_lazy());
255  }
256  }
ScriptCompiler::CompileOptions compile_options() const
Definition: compiler.h:118
ScriptData ** cached_data() const
Definition: compiler.h:117

References cached_data(), cached_data_, compile_options(), compile_options_, DCHECK, is_lazy(), v8::ScriptCompiler::kNoCompileOptions, and NULL.

Referenced by v8::internal::Compiler::CompileScript(), and v8::internal::CompileToplevel().

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

◆ SetCode()

void v8::internal::CompilationInfo::SetCode ( Handle< Code code)
inline

Definition at line 242 of file compiler.h.

242 { code_ = code; }

References code(), and code_.

Referenced by v8::internal::Compiler::BuildFunctionInfo(), v8::internal::OptimizedCompileJob::GenerateCode(), v8::internal::compiler::Pipeline::GenerateCode(), and v8::internal::FullCodeGenerator::MakeCode().

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

◆ SetContext()

void v8::internal::CompilationInfo::SetContext ( Handle< Context context)
inline

Definition at line 257 of file compiler.h.

257  {
258  context_ = context;
259  }
Handle< Context > context() const
Definition: compiler.h:127

References context(), and context_.

Referenced by v8::internal::Compiler::CompileScript(), v8::internal::Compiler::EnsureDeoptimizationSupport(), v8::internal::Compiler::GetFunctionFromEval(), and v8::internal::ScopeIterator::ScopeIterator().

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

◆ SetExtension()

void v8::internal::CompilationInfo::SetExtension ( v8::Extension extension)
inline

Definition at line 243 of file compiler.h.

243  {
244  DCHECK(!is_lazy());
246  }
v8::Extension * extension() const
Definition: compiler.h:116

References DCHECK, extension(), extension_, and is_lazy().

Referenced by v8::internal::Compiler::CompileScript().

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

◆ SetFlag() [1/2]

◆ SetFlag() [2/2]

void v8::internal::CompilationInfo::SetFlag ( Flag  flag,
bool  value 
)
inlineprivate

Definition at line 433 of file compiler.h.

433  {
434  flags_ = value ? flags_ | flag : flags_ & ~flag;
435  }

References v8::internal::flag, and flags_.

◆ SetFunction()

void v8::internal::CompilationInfo::SetFunction ( FunctionLiteral *  literal)
inline

Definition at line 230 of file compiler.h.

230  {
231  DCHECK(function_ == NULL);
232  function_ = literal;
233  }

References DCHECK, function_, and NULL.

Referenced by v8::internal::Compiler::BuildFunctionInfo(), v8::internal::Compiler::EnsureDeoptimizationSupport(), v8::internal::Parser::Parse(), and v8::internal::Parser::ParseOnBackground().

+ Here is the caller graph for this function:

◆ SetGlobalScope()

void v8::internal::CompilationInfo::SetGlobalScope ( Scope global_scope)
inline

Definition at line 235 of file compiler.h.

235  {
238  }
Scope * global_scope() const
Definition: compiler.h:109

References DCHECK, global_scope(), global_scope_, and NULL.

Referenced by v8::internal::Parser::DoParseProgram(), and v8::internal::Parser::ParseLazy().

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

◆ SetMode()

void v8::internal::CompilationInfo::SetMode ( Mode  mode)
inlineprivate

Definition at line 427 of file compiler.h.

427  {
428  mode_ = mode;
429  }

References mode(), and mode_.

Referenced by MarkNonOptimizable(), and SetOptimizing().

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

◆ SetOptimizing()

void v8::internal::CompilationInfo::SetOptimizing ( BailoutId  osr_ast_id,
Handle< Code unoptimized 
)
inline

Definition at line 285 of file compiler.h.

285  {
286  DCHECK(!shared_info_.is_null());
287  SetMode(OPTIMIZE);
289  unoptimized_code_ = unoptimized;
291  }

References DCHECK, isolate(), v8::internal::Isolate::NextOptimizationId(), optimization_id_, OPTIMIZE, osr_ast_id(), osr_ast_id_, SetMode(), shared_info_, and unoptimized_code_.

Referenced by v8::internal::Compiler::GetLazyCode().

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

◆ SetParseRestriction()

void v8::internal::CompilationInfo::SetParseRestriction ( ParseRestriction  restriction)
inline

Definition at line 221 of file compiler.h.

221  {
223  }

References kParseRestriction, v8::internal::NO_PARSE_RESTRICTION, and SetFlag().

Referenced by v8::internal::Compiler::GetFunctionFromEval().

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

◆ SetStrictMode()

void v8::internal::CompilationInfo::SetStrictMode ( StrictMode  strict_mode)
inline

Definition at line 156 of file compiler.h.

156  {
158  }

References kStrictMode, SetFlag(), v8::internal::STRICT, and strict_mode().

Referenced by v8::internal::Compiler::BuildFunctionInfo(), v8::internal::Compiler::CompileScript(), v8::internal::Compiler::CompileStreamedScript(), v8::internal::Compiler::GetFunctionFromEval(), Initialize(), and v8::internal::Parser::Parse().

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

◆ shared_info()

◆ ShouldSelfOptimize()

bool v8::internal::CompilationInfo::ShouldSelfOptimize ( )

Definition at line 267 of file compiler.cc.

267  {
268  return FLAG_crankshaft &&
269  !function()->flags()->Contains(kDontSelfOptimize) &&
270  !function()->dont_optimize() &&
271  function()->scope()->AllowsLazyCompilation() &&
272  (shared_info().is_null() || !shared_info()->optimization_disabled());
273 }
Code::Flags flags() const
Definition: compiler.cc:252
bool AllowsLazyCompilation() const
Definition: scopes.cc:705
@ kDontSelfOptimize
Definition: ast.h:156

References v8::internal::Scope::AllowsLazyCompilation(), flags(), v8::internal::kDontSelfOptimize, scope(), and shared_info().

+ Here is the call graph for this function:

◆ ShouldTrapOnDeopt()

bool v8::internal::CompilationInfo::ShouldTrapOnDeopt ( ) const
inline

Definition at line 267 of file compiler.h.

267  {
268  return (FLAG_trap_on_deopt && IsOptimizing()) ||
269  (FLAG_trap_on_stub_deopt && IsStub());
270  }

References IsOptimizing(), and IsStub().

+ Here is the call graph for this function:

◆ source_stream()

ScriptCompiler::ExternalSourceStream* v8::internal::CompilationInfo::source_stream ( ) const
inline

Definition at line 121 of file compiler.h.

121  {
122  return source_stream_;
123  }

References source_stream_.

Referenced by v8::internal::Parser::Parser().

+ Here is the caller graph for this function:

◆ source_stream_encoding()

ScriptCompiler::StreamedSource::Encoding v8::internal::CompilationInfo::source_stream_encoding ( ) const
inline

Definition at line 124 of file compiler.h.

124  {
126  }

References source_stream_encoding_.

◆ strict_mode()

StrictMode v8::internal::CompilationInfo::strict_mode ( ) const
inline

Definition at line 104 of file compiler.h.

104  {
105  return GetFlag(kStrictMode) ? STRICT : SLOPPY;
106  }

References GetFlag(), kStrictMode, v8::internal::SLOPPY, and v8::internal::STRICT.

Referenced by v8::internal::Parser::DoParseProgram(), Initialize(), SetStrictMode(), and v8::internal::compiler::AstGraphBuilder::strict_mode().

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

◆ this_has_uses()

bool v8::internal::CompilationInfo::this_has_uses ( )
inline

Definition at line 154 of file compiler.h.

154 { return GetFlag(kThisHasUses); }

References GetFlag(), and kThisHasUses.

+ Here is the call graph for this function:

◆ unoptimized_code()

Handle<Code> v8::internal::CompilationInfo::unoptimized_code ( ) const
inline

Definition at line 129 of file compiler.h.

129 { return unoptimized_code_; }

References unoptimized_code_.

Referenced by v8::internal::DisposeOptimizedCompileJob(), and v8::internal::OptimizingCompilerThread::InstallOptimizedFunctions().

+ Here is the caller graph for this function:

◆ will_serialize()

bool v8::internal::CompilationInfo::will_serialize ( ) const
inline

Definition at line 196 of file compiler.h.

196 { return GetFlag(kSerializing); }

References GetFlag(), and kSerializing.

Referenced by v8::internal::Compiler::BuildFunctionInfo(), IsCodePreAgingActive(), and v8::internal::FullCodeGenerator::MakeCode().

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

◆ zone()

Zone* v8::internal::CompilationInfo::zone ( )
inline

Definition at line 99 of file compiler.h.

99 { return zone_; }

References zone_.

Referenced by v8::internal::AllocationSite::AddDependentCompilationInfo(), v8::internal::Map::AddDependentCompilationInfo(), v8::internal::PropertyCell::AddDependentCompilationInfo(), v8::internal::Scope::Analyze(), v8::internal::compiler::AstGraphBuilder::AstGraphBuilder(), v8::internal::AstTyper::AstTyper(), v8::internal::Compiler::BuildFunctionInfo(), CompilationInfo(), v8::internal::Compiler::CompileForLiveEdit(), v8::internal::CompileToplevel(), v8::internal::OptimizedCompileJob::CreateGraph(), v8::internal::Compiler::EnsureDeoptimizationSupport(), v8::internal::compiler::Linkage::GetJSCallDescriptor(), v8::internal::GetOptimizedCodeLater(), v8::internal::compiler::Linkage::GetRuntimeCallDescriptor(), v8::internal::compiler::Linkage::GetStubCallDescriptor(), v8::internal::GetUnoptimizedCodeCommon(), v8::internal::HOptimizedGraphBuilder::HOptimizedGraphBuilder(), v8::internal::FullCodeGenerator::Initialize(), Initialize(), v8::internal::CodeGenerator::MakeCodePrologue(), v8::internal::compiler::AstGraphBuilder::ProcessArguments(), v8::internal::Rewriter::Rewrite(), v8::internal::AstTyper::Run(), v8::internal::compiler::JSInliner::TryInlineCall(), v8::internal::compiler::Pipeline::zone(), v8::internal::HGraphBuilder::zone(), v8::internal::LChunk::zone(), and v8::internal::compiler::PhaseStats::~PhaseStats().

+ Here is the caller graph for this function:

Member Data Documentation

◆ ast_node_id_gen_

AstNode::IdGen v8::internal::CompilationInfo::ast_node_id_gen_
private

Definition at line 516 of file compiler.h.

Referenced by ast_node_id_gen().

◆ ast_value_factory_

AstValueFactory* v8::internal::CompilationInfo::ast_value_factory_
private

Definition at line 514 of file compiler.h.

Referenced by ast_value_factory(), SetAstValueFactory(), and ~CompilationInfo().

◆ ast_value_factory_owned_

bool v8::internal::CompilationInfo::ast_value_factory_owned_
private

Definition at line 515 of file compiler.h.

Referenced by SetAstValueFactory(), and ~CompilationInfo().

◆ bailout_reason_

BailoutReason v8::internal::CompilationInfo::bailout_reason_
private

Definition at line 497 of file compiler.h.

Referenced by AbortOptimization(), bailout_reason(), Initialize(), and RetryOptimization().

◆ cached_data_

ScriptData** v8::internal::CompilationInfo::cached_data_
private

Definition at line 463 of file compiler.h.

Referenced by cached_data(), Initialize(), and SetCachedData().

◆ closure_

Handle<JSFunction> v8::internal::CompilationInfo::closure_
private

Definition at line 455 of file compiler.h.

Referenced by closure(), HasSameOsrEntry(), and SaveHandles().

◆ code_

Handle<Code> v8::internal::CompilationInfo::code_
private

Definition at line 452 of file compiler.h.

Referenced by code(), and SetCode().

◆ code_stub_

HydrogenCodeStub* v8::internal::CompilationInfo::code_stub_
private

Definition at line 450 of file compiler.h.

Referenced by code_stub(), CompilationInfo(), and Initialize().

◆ compile_options_

ScriptCompiler::CompileOptions v8::internal::CompilationInfo::compile_options_
private

Definition at line 464 of file compiler.h.

Referenced by compile_options(), Initialize(), and SetCachedData().

◆ context_

Handle<Context> v8::internal::CompilationInfo::context_
private

Definition at line 468 of file compiler.h.

Referenced by context(), SaveHandles(), and SetContext().

◆ deferred_handles_

DeferredHandles* v8::internal::CompilationInfo::deferred_handles_
private

Definition at line 485 of file compiler.h.

Referenced by Initialize(), set_deferred_handles(), and ~CompilationInfo().

◆ dependencies_

ZoneList<Handle<HeapObject> >* v8::internal::CompilationInfo::dependencies_[DependentCode::kGroupCount]
private

◆ extension_

v8::Extension* v8::internal::CompilationInfo::extension_
private

Definition at line 462 of file compiler.h.

Referenced by extension(), Initialize(), and SetExtension().

◆ feedback_vector_

Handle<TypeFeedbackVector> v8::internal::CompilationInfo::feedback_vector_
private

Definition at line 471 of file compiler.h.

Referenced by feedback_vector(), Initialize(), and PrepareForCompilation().

◆ flags_

unsigned v8::internal::CompilationInfo::flags_
private

Definition at line 439 of file compiler.h.

Referenced by GetFlag(), and SetFlag().

◆ function_

FunctionLiteral* v8::internal::CompilationInfo::function_
private

Definition at line 443 of file compiler.h.

Referenced by function(), Initialize(), and SetFunction().

◆ global_scope_

Scope* v8::internal::CompilationInfo::global_scope_
private

Definition at line 448 of file compiler.h.

Referenced by global_scope(), Initialize(), and SetGlobalScope().

◆ isolate_

Isolate* v8::internal::CompilationInfo::isolate_
private

Definition at line 411 of file compiler.h.

Referenced by Initialize(), and isolate().

◆ mode_

Mode v8::internal::CompilationInfo::mode_
private

Definition at line 474 of file compiler.h.

Referenced by Initialize(), IsOptimizable(), IsOptimizing(), IsStub(), and SetMode().

◆ no_frame_ranges_

List<OffsetRange>* v8::internal::CompilationInfo::no_frame_ranges_
private

Definition at line 501 of file compiler.h.

Referenced by AddNoFrameRange(), Initialize(), ReleaseNoFrameRanges(), and ~CompilationInfo().

◆ object_wrapper_

Handle<Foreign> v8::internal::CompilationInfo::object_wrapper_
private

Definition at line 510 of file compiler.h.

Referenced by CommitDependencies(), and object_wrapper().

◆ opt_count_

int v8::internal::CompilationInfo::opt_count_
private

Definition at line 505 of file compiler.h.

Referenced by Initialize(), and opt_count().

◆ optimization_id_

int v8::internal::CompilationInfo::optimization_id_
private

Definition at line 512 of file compiler.h.

Referenced by optimization_id(), and SetOptimizing().

◆ osr_ast_id_

BailoutId v8::internal::CompilationInfo::osr_ast_id_
private

Definition at line 475 of file compiler.h.

Referenced by HasSameOsrEntry(), is_osr(), osr_ast_id(), and SetOptimizing().

◆ parameter_count_

int v8::internal::CompilationInfo::parameter_count_
private

Definition at line 508 of file compiler.h.

Referenced by num_parameters(), and set_parameter_count().

◆ prologue_offset_

int v8::internal::CompilationInfo::prologue_offset_
private

Definition at line 499 of file compiler.h.

Referenced by Initialize(), prologue_offset(), and set_prologue_offset().

◆ scope_

Scope* v8::internal::CompilationInfo::scope_
private

Definition at line 446 of file compiler.h.

Referenced by Initialize(), PrepareForCompilation(), and scope().

◆ script_

Handle<Script> v8::internal::CompilationInfo::script_
private

Definition at line 457 of file compiler.h.

Referenced by CompilationInfo(), Initialize(), SaveHandles(), script(), and set_script().

◆ shared_info_

Handle<SharedFunctionInfo> v8::internal::CompilationInfo::shared_info_
private

Definition at line 456 of file compiler.h.

Referenced by Initialize(), SaveHandles(), SetOptimizing(), and shared_info().

◆ source_stream_

ScriptCompiler::ExternalSourceStream* v8::internal::CompilationInfo::source_stream_
private

Definition at line 458 of file compiler.h.

Referenced by source_stream().

◆ source_stream_encoding_

ScriptCompiler::StreamedSource::Encoding v8::internal::CompilationInfo::source_stream_encoding_
private

Definition at line 459 of file compiler.h.

Referenced by source_stream_encoding().

◆ unoptimized_code_

Handle<Code> v8::internal::CompilationInfo::unoptimized_code_
private

Definition at line 479 of file compiler.h.

Referenced by SaveHandles(), SetOptimizing(), and unoptimized_code().

◆ zone_

Zone* v8::internal::CompilationInfo::zone_
private

Definition at line 483 of file compiler.h.

Referenced by dependencies(), Initialize(), and zone().


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