V8 Project
v8::internal::ParserBase< Traits >::BASE_EMBEDDED Class Reference

#include <preparser.h>

+ Collaboration diagram for v8::internal::ParserBase< Traits >::BASE_EMBEDDED:

Public Member Functions

 BlockState (typename Traits::Type::Scope **scope_stack, typename Traits::Type::Scope *scope)
 
 ~BlockState ()
 
 FunctionState (FunctionState **function_state_stack, typename Traits::Type::Scope **scope_stack, typename Traits::Type::Scope *scope, typename Traits::Type::Zone *zone=NULL, AstValueFactory *ast_value_factory=NULL, AstNode::IdGen *ast_node_id_gen=NULL)
 
 FunctionState (FunctionState **function_state_stack, typename Traits::Type::Scope **scope_stack, typename Traits::Type::Scope **scope, typename Traits::Type::Zone *zone=NULL, AstValueFactory *ast_value_factory=NULL, AstNode::IdGen *ast_node_id_gen=NULL)
 
 ~FunctionState ()
 
int NextMaterializedLiteralIndex ()
 
int materialized_literal_count ()
 
int NextHandlerIndex ()
 
int handler_count ()
 
void AddProperty ()
 
int expected_property_count ()
 
void set_is_generator (bool is_generator)
 
bool is_generator () const
 
void set_generator_object_variable (typename Traits::Type::GeneratorVariable *variable)
 
Traits::Type::GeneratorVariable * generator_object_variable () const
 
Traits::Type::Factory * factory ()
 
 CheckpointBase (ParserBase *parser)
 
void Restore ()
 
 ParsingModeScope (ParserBase *parser, Mode mode)
 
 ~ParsingModeScope ()
 

Private Attributes

Traits::Type::Scope ** scope_stack_
 
Traits::Type::Scope * outer_scope_
 
Traits::Type::Scope * scope_
 
int next_materialized_literal_index_
 
int next_handler_index_
 
int expected_property_count_
 
bool is_generator_
 
Variablegenerator_object_variable_
 
FunctionState ** function_state_stack_
 
FunctionStateouter_function_state_
 
AstNode::IdGenast_node_id_gen_
 
AstNode::IdGen saved_id_gen_
 
Traits::Type::Zone * extra_param_
 
Traits::Type::Factory factory_
 
FunctionStatefunction_state_
 
ParserBaseparser_
 
Mode old_mode_
 

Friends

class ParserTraits
 
class CheckpointBase
 

Detailed Description

template<typename Traits>
class v8::internal::ParserBase< Traits >::BASE_EMBEDDED

Definition at line 146 of file preparser.h.

Constructor & Destructor Documentation

◆ ~BlockState()

template<typename Traits >
v8::internal::ParserBase< Traits >::BASE_EMBEDDED::~BlockState ( )
inline

Definition at line 155 of file preparser.h.

Traits::Type::Scope ** scope_stack_
Definition: preparser.h:158
Traits::Type::Scope * outer_scope_
Definition: preparser.h:159

◆ ~FunctionState()

template<typename Traits >
v8::internal::ParserBase< Traits >::BASE_EMBEDDED::~FunctionState ( )

◆ ~ParsingModeScope()

template<typename Traits >
v8::internal::ParserBase< Traits >::BASE_EMBEDDED::~ParsingModeScope ( )
inline

Definition at line 276 of file preparser.h.

Member Function Documentation

◆ AddProperty()

template<typename Traits >
void v8::internal::ParserBase< Traits >::BASE_EMBEDDED::AddProperty ( )
inline

Definition at line 189 of file preparser.h.

◆ BlockState()

template<typename Traits >
v8::internal::ParserBase< Traits >::BASE_EMBEDDED::BlockState ( typename Traits::Type::Scope **  scope_stack,
typename Traits::Type::Scope *  scope 
)
inline

Definition at line 148 of file preparser.h.

150  : scope_stack_(scope_stack),
151  outer_scope_(*scope_stack),
152  scope_(scope) {
153  *scope_stack_ = scope_;
154  }

References v8::internal::ParserBase< Traits >::scope_.

◆ CheckpointBase()

template<typename Traits >
v8::internal::ParserBase< Traits >::BASE_EMBEDDED::CheckpointBase ( ParserBase parser)
inlineexplicit

Definition at line 247 of file preparser.h.

247  {
248  function_state_ = parser->function_state_;
250  function_state_->next_materialized_literal_index_;
251  next_handler_index_ = function_state_->next_handler_index_;
252  expected_property_count_ = function_state_->expected_property_count_;
253  }

References v8::internal::ParserBase< Traits >::function_state_.

◆ expected_property_count()

template<typename Traits >
int v8::internal::ParserBase< Traits >::BASE_EMBEDDED::expected_property_count ( )
inline

Definition at line 190 of file preparser.h.

190 { return expected_property_count_; }

◆ factory()

template<typename Traits >
Traits::Type::Factory* v8::internal::ParserBase< Traits >::BASE_EMBEDDED::factory ( )
inline

Definition at line 207 of file preparser.h.

207 { return &factory_; }

◆ FunctionState() [1/2]

template<typename Traits >
v8::internal::ParserBase< Traits >::BASE_EMBEDDED::FunctionState ( FunctionState **  function_state_stack,
typename Traits::Type::Scope **  scope_stack,
typename Traits::Type::Scope **  scope,
typename Traits::Type::Zone *  zone = NULL,
AstValueFactory ast_value_factory = NULL,
AstNode::IdGen ast_node_id_gen = NULL 
)

◆ FunctionState() [2/2]

template<typename Traits >
v8::internal::ParserBase< Traits >::BASE_EMBEDDED::FunctionState ( FunctionState **  function_state_stack,
typename Traits::Type::Scope **  scope_stack,
typename Traits::Type::Scope *  scope,
typename Traits::Type::Zone *  zone = NULL,
AstValueFactory ast_value_factory = NULL,
AstNode::IdGen ast_node_id_gen = NULL 
)

◆ generator_object_variable()

template<typename Traits >
Traits::Type::GeneratorVariable* v8::internal::ParserBase< Traits >::BASE_EMBEDDED::generator_object_variable ( ) const
inline

Definition at line 202 of file preparser.h.

203  {
205  }

◆ handler_count()

template<typename Traits >
int v8::internal::ParserBase< Traits >::BASE_EMBEDDED::handler_count ( )
inline

Definition at line 187 of file preparser.h.

187 { return next_handler_index_; }

◆ is_generator()

template<typename Traits >
bool v8::internal::ParserBase< Traits >::BASE_EMBEDDED::is_generator ( ) const
inline

Definition at line 193 of file preparser.h.

◆ materialized_literal_count()

template<typename Traits >
int v8::internal::ParserBase< Traits >::BASE_EMBEDDED::materialized_literal_count ( )
inline

Definition at line 182 of file preparser.h.

182  {
184  }
static const int kLiteralsPrefixSize
Definition: objects.h:7388

References v8::internal::JSFunction::kLiteralsPrefixSize.

◆ NextHandlerIndex()

template<typename Traits >
int v8::internal::ParserBase< Traits >::BASE_EMBEDDED::NextHandlerIndex ( )
inline

Definition at line 186 of file preparser.h.

186 { return next_handler_index_++; }

◆ NextMaterializedLiteralIndex()

template<typename Traits >
int v8::internal::ParserBase< Traits >::BASE_EMBEDDED::NextMaterializedLiteralIndex ( )
inline

Definition at line 179 of file preparser.h.

179  {
181  }

◆ ParsingModeScope()

template<typename Traits >
v8::internal::ParserBase< Traits >::BASE_EMBEDDED::ParsingModeScope ( ParserBase parser,
Mode  mode 
)
inline

Definition at line 271 of file preparser.h.

272  : parser_(parser),
273  old_mode_(parser->mode()) {
274  parser_->mode_ = mode;
275  }

References v8::internal::ParserBase< Traits >::mode().

+ Here is the call graph for this function:

◆ Restore()

template<typename Traits >
void v8::internal::ParserBase< Traits >::BASE_EMBEDDED::Restore ( )
inline

Definition at line 255 of file preparser.h.

255  {
256  function_state_->next_materialized_literal_index_ =
258  function_state_->next_handler_index_ = next_handler_index_;
259  function_state_->expected_property_count_ = expected_property_count_;
260  }

References v8::internal::ParserBase< Traits >::function_state_.

◆ set_generator_object_variable()

template<typename Traits >
void v8::internal::ParserBase< Traits >::BASE_EMBEDDED::set_generator_object_variable ( typename Traits::Type::GeneratorVariable *  variable)
inline

Definition at line 195 of file preparser.h.

196  {
197  DCHECK(variable != NULL);
198  DCHECK(!is_generator());
199  generator_object_variable_ = variable;
200  is_generator_ = true;
201  }
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
#define DCHECK(condition)
Definition: logging.h:205

References DCHECK, v8::internal::ParserBase< Traits >::is_generator(), and NULL.

+ Here is the call graph for this function:

◆ set_is_generator()

template<typename Traits >
void v8::internal::ParserBase< Traits >::BASE_EMBEDDED::set_is_generator ( bool  is_generator)
inline

Definition at line 192 of file preparser.h.

References v8::internal::ParserBase< Traits >::is_generator().

+ Here is the call graph for this function:

Friends And Related Function Documentation

◆ CheckpointBase

template<typename Traits >
friend class CheckpointBase
friend

Definition at line 238 of file preparser.h.

◆ ParserTraits

template<typename Traits >
friend class ParserTraits
friend

Definition at line 237 of file preparser.h.

Member Data Documentation

◆ ast_node_id_gen_

template<typename Traits >
AstNode::IdGen* v8::internal::ParserBase< Traits >::BASE_EMBEDDED::ast_node_id_gen_
private

Definition at line 232 of file preparser.h.

◆ expected_property_count_

template<typename Traits >
int v8::internal::ParserBase< Traits >::BASE_EMBEDDED::expected_property_count_
private

Definition at line 219 of file preparser.h.

◆ extra_param_

template<typename Traits >
Traits::Type::Zone* v8::internal::ParserBase< Traits >::BASE_EMBEDDED::extra_param_
private

Definition at line 234 of file preparser.h.

◆ factory_

template<typename Traits >
Traits::Type::Factory v8::internal::ParserBase< Traits >::BASE_EMBEDDED::factory_
private

Definition at line 235 of file preparser.h.

◆ function_state_

template<typename Traits >
FunctionState* v8::internal::ParserBase< Traits >::BASE_EMBEDDED::function_state_
private

Definition at line 263 of file preparser.h.

◆ function_state_stack_

template<typename Traits >
FunctionState** v8::internal::ParserBase< Traits >::BASE_EMBEDDED::function_state_stack_
private

Definition at line 228 of file preparser.h.

◆ generator_object_variable_

template<typename Traits >
Variable* v8::internal::ParserBase< Traits >::BASE_EMBEDDED::generator_object_variable_
private

Definition at line 226 of file preparser.h.

◆ is_generator_

template<typename Traits >
bool v8::internal::ParserBase< Traits >::BASE_EMBEDDED::is_generator_
private

Definition at line 222 of file preparser.h.

◆ next_handler_index_

template<typename Traits >
int v8::internal::ParserBase< Traits >::BASE_EMBEDDED::next_handler_index_
private

Definition at line 216 of file preparser.h.

◆ next_materialized_literal_index_

template<typename Traits >
int v8::internal::ParserBase< Traits >::BASE_EMBEDDED::next_materialized_literal_index_
private

Definition at line 213 of file preparser.h.

◆ old_mode_

template<typename Traits >
Mode v8::internal::ParserBase< Traits >::BASE_EMBEDDED::old_mode_
private

Definition at line 282 of file preparser.h.

◆ outer_function_state_

template<typename Traits >
FunctionState* v8::internal::ParserBase< Traits >::BASE_EMBEDDED::outer_function_state_
private

Definition at line 229 of file preparser.h.

◆ outer_scope_

template<typename Traits >
Traits::Type::Scope * v8::internal::ParserBase< Traits >::BASE_EMBEDDED::outer_scope_
private

Definition at line 159 of file preparser.h.

◆ parser_

template<typename Traits >
ParserBase* v8::internal::ParserBase< Traits >::BASE_EMBEDDED::parser_
private

Definition at line 281 of file preparser.h.

◆ saved_id_gen_

template<typename Traits >
AstNode::IdGen v8::internal::ParserBase< Traits >::BASE_EMBEDDED::saved_id_gen_
private

Definition at line 233 of file preparser.h.

◆ scope_

template<typename Traits >
Traits::Type::Scope* v8::internal::ParserBase< Traits >::BASE_EMBEDDED::scope_
private

Definition at line 160 of file preparser.h.

◆ scope_stack_

template<typename Traits >
Traits::Type::Scope ** v8::internal::ParserBase< Traits >::BASE_EMBEDDED::scope_stack_
private

Definition at line 158 of file preparser.h.


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