v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::wasm::AsmJsParser Class Reference

#include <asm-parser.h>

Collaboration diagram for v8::internal::wasm::AsmJsParser:

Classes

struct  BlockInfo
 
class  CachedVector
 
class  CachedVectors
 
struct  FunctionImportInfo
 
struct  GlobalImport
 
class  TemporaryVariableScope
 
struct  VarInfo
 

Public Types

enum  StandardMember { kInfinity , kNaN }
 
using StdlibSet = base::EnumSet<StandardMember, uint64_t>
 

Public Member Functions

 AsmJsParser (Zone *zone, uintptr_t stack_limit, Utf16CharacterStream *stream)
 
bool Run ()
 
const char * failure_message () const
 
int failure_location () const
 
WasmModuleBuildermodule_builder ()
 
const StdlibSetstdlib_uses () const
 

Private Types

enum class  VarKind {
  kUnused , kLocal , kGlobal , kSpecial ,
  kFunction , kTable , kImportedFunction , V ,
  V
}
 
enum class  BlockKind { kRegular , kLoop , kNamed , kOther }
 

Private Member Functions

Zonezone ()
 
bool Peek (AsmJsScanner::token_t token)
 
bool PeekForZero ()
 
bool Check (AsmJsScanner::token_t token)
 
bool CheckForZero ()
 
bool CheckForDouble (double *value)
 
bool CheckForUnsigned (uint32_t *value)
 
bool CheckForUnsignedBelow (uint32_t limit, uint32_t *value)
 
AsmJsScanner::token_t Consume ()
 
void SkipSemicolon ()
 
VarInfoGetVarInfo (AsmJsScanner::token_t token)
 
uint32_t VarIndex (VarInfo *info)
 
void DeclareGlobal (VarInfo *info, bool mutable_variable, AsmType *type, ValueType vtype, WasmInitExpr init)
 
void DeclareStdlibFunc (VarInfo *info, VarKind kind, AsmType *type)
 
void AddGlobalImport (base::Vector< const char > name, AsmType *type, ValueType vtype, bool mutable_variable, VarInfo *info)
 
uint32_t TempVariable (int index)
 
base::Vector< const char > CopyCurrentIdentifierString ()
 
void BareBegin (BlockKind kind, AsmJsScanner::token_t label=0)
 
void BareEnd ()
 
int FindContinueLabelDepth (AsmJsScanner::token_t label)
 
int FindBreakLabelDepth (AsmJsScanner::token_t label)
 
void Begin (AsmJsScanner::token_t label=0)
 
void Loop (AsmJsScanner::token_t label=0)
 
void End ()
 
void InitializeStdlibTypes ()
 
FunctionSigConvertSignature (AsmType *return_type, const ZoneVector< AsmType * > &params)
 
void ValidateModule ()
 
void ValidateModuleParameters ()
 
void ValidateModuleVars ()
 
void ValidateModuleVar (bool mutable_variable)
 
void ValidateModuleVarImport (VarInfo *info, bool mutable_variable)
 
void ValidateModuleVarStdlib (VarInfo *info)
 
void ValidateModuleVarNewStdlib (VarInfo *info)
 
void ValidateModuleVarFromGlobal (VarInfo *info, bool mutable_variable)
 
void ValidateExport ()
 
void ValidateFunctionTable ()
 
void ValidateFunction ()
 
void ValidateFunctionParams (ZoneVector< AsmType * > *params)
 
void ValidateFunctionLocals (size_t param_count, ZoneVector< ValueType > *locals)
 
void ValidateStatement ()
 
void Block ()
 
void ExpressionStatement ()
 
void EmptyStatement ()
 
void IfStatement ()
 
void ReturnStatement ()
 
bool IterationStatement ()
 
void WhileStatement ()
 
void DoStatement ()
 
void ForStatement ()
 
void BreakStatement ()
 
void ContinueStatement ()
 
void LabelledStatement ()
 
void SwitchStatement ()
 
void ValidateCase ()
 
void ValidateDefault ()
 
AsmTypeValidateExpression ()
 
AsmTypeExpression (AsmType *expect)
 
AsmTypeNumericLiteral ()
 
AsmTypeIdentifier ()
 
AsmTypeCallExpression ()
 
AsmTypeMemberExpression ()
 
AsmTypeAssignmentExpression ()
 
AsmTypeUnaryExpression ()
 
AsmTypeMultiplicativeExpression ()
 
AsmTypeAdditiveExpression ()
 
AsmTypeShiftExpression ()
 
AsmTypeRelationalExpression ()
 
AsmTypeEqualityExpression ()
 
AsmTypeBitwiseANDExpression ()
 
AsmTypeBitwiseXORExpression ()
 
AsmTypeBitwiseORExpression ()
 
AsmTypeConditionalExpression ()
 
AsmTypeParenthesizedExpression ()
 
AsmTypeValidateCall ()
 
bool PeekCall ()
 
void ValidateHeapAccess ()
 
void ValidateFloatCoercion ()
 
void ScanToClosingParenthesis ()
 
void GatherCases (ZoneVector< int32_t > *cases)
 

Private Attributes

Zonezone_
 
AsmJsScanner scanner_
 
WasmModuleBuildermodule_builder_
 
WasmFunctionBuildercurrent_function_builder_
 
AsmTypereturn_type_ = nullptr
 
uintptr_t stack_limit_
 
StdlibSet stdlib_uses_
 
base::Vector< VarInfoglobal_var_info_
 
base::Vector< VarInfolocal_var_info_
 
size_t num_globals_ = 0
 
CachedVectors< ValueTypecached_valuetype_vectors_ {zone_}
 
CachedVectors< AsmType * > cached_asm_type_p_vectors_ {zone_}
 
CachedVectors< AsmJsScanner::token_tcached_token_t_vectors_ {zone_}
 
CachedVectors< int32_t > cached_int_vectors_ {zone_}
 
int function_temp_locals_offset_
 
int function_temp_locals_used_
 
int function_temp_locals_depth_
 
bool failed_ = false
 
const char * failure_message_
 
int failure_location_ = kNoSourcePosition
 
AsmJsScanner::token_t stdlib_name_ = kTokenNone
 
AsmJsScanner::token_t foreign_name_ = kTokenNone
 
AsmJsScanner::token_t heap_name_ = kTokenNone
 
bool inside_heap_assignment_ = false
 
AsmTypeheap_access_type_ = nullptr
 
ZoneVector< BlockInfoblock_stack_
 
AsmTypestdlib_dq2d_
 
AsmTypestdlib_dqdq2d_
 
AsmTypestdlib_i2s_
 
AsmTypestdlib_ii2s_
 
AsmTypestdlib_minmax_
 
AsmTypestdlib_abs_
 
AsmTypestdlib_ceil_like_
 
AsmTypestdlib_fround_
 
AsmTypecall_coercion_ = nullptr
 
size_t call_coercion_position_
 
AsmTypecall_coercion_deferred_ = nullptr
 
size_t call_coercion_deferred_position_
 
size_t heap_access_shift_position_
 
uint32_t heap_access_shift_value_
 
AsmJsScanner::token_t pending_label_ = kTokenNone
 
ZoneLinkedList< GlobalImportglobal_imports_
 

Static Private Attributes

static const AsmJsScanner::token_t kTokenNone = 0
 
static const size_t kNoHeapAccessShift = -1
 

Detailed Description

Definition at line 33 of file asm-parser.h.

Member Typedef Documentation

◆ StdlibSet

Member Enumeration Documentation

◆ BlockKind

Enumerator
kRegular 
kLoop 
kNamed 
kOther 

Definition at line 119 of file asm-parser.h.

◆ StandardMember

Enumerator
kInfinity 
kNaN 

Definition at line 36 of file asm-parser.h.

◆ VarKind

enum class v8::internal::wasm::AsmJsParser::VarKind
strongprivate
Enumerator
kUnused 
kLocal 
kGlobal 
kSpecial 
kFunction 
kTable 
kImportedFunction 

Definition at line 63 of file asm-parser.h.

Constructor & Destructor Documentation

◆ AsmJsParser()

v8::internal::wasm::AsmJsParser::AsmJsParser ( Zone * zone,
uintptr_t stack_limit,
Utf16CharacterStream * stream )
explicit

Definition at line 73 of file asm-parser.cc.

Here is the call graph for this function:

Member Function Documentation

◆ AddGlobalImport()

void v8::internal::wasm::AsmJsParser::AddGlobalImport ( base::Vector< const char > name,
AsmType * type,
ValueType vtype,
bool mutable_variable,
VarInfo * info )
private

Definition at line 223 of file asm-parser.cc.

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

◆ AdditiveExpression()

AsmType * v8::internal::wasm::AsmJsParser::AdditiveExpression ( )
private

Definition at line 1795 of file asm-parser.cc.

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

◆ AssignmentExpression()

AsmType * v8::internal::wasm::AsmJsParser::AssignmentExpression ( )
private

Definition at line 1507 of file asm-parser.cc.

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

◆ BareBegin()

void v8::internal::wasm::AsmJsParser::BareBegin ( BlockKind kind,
AsmJsScanner::token_t label = 0 )
private

Definition at line 289 of file asm-parser.cc.

Here is the caller graph for this function:

◆ BareEnd()

void v8::internal::wasm::AsmJsParser::BareEnd ( )
private

Definition at line 296 of file asm-parser.cc.

Here is the caller graph for this function:

◆ Begin()

void v8::internal::wasm::AsmJsParser::Begin ( AsmJsScanner::token_t label = 0)
private

Definition at line 272 of file asm-parser.cc.

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

◆ BitwiseANDExpression()

AsmType * v8::internal::wasm::AsmJsParser::BitwiseANDExpression ( )
private

Definition at line 1988 of file asm-parser.cc.

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

◆ BitwiseORExpression()

AsmType * v8::internal::wasm::AsmJsParser::BitwiseORExpression ( )
private

Definition at line 2022 of file asm-parser.cc.

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

◆ BitwiseXORExpression()

AsmType * v8::internal::wasm::AsmJsParser::BitwiseXORExpression ( )
private

Definition at line 2005 of file asm-parser.cc.

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

◆ Block()

void v8::internal::wasm::AsmJsParser::Block ( )
private

Definition at line 1062 of file asm-parser.cc.

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

◆ BreakStatement()

void v8::internal::wasm::AsmJsParser::BreakStatement ( )
private

Definition at line 1267 of file asm-parser.cc.

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

◆ CallExpression()

AsmType * v8::internal::wasm::AsmJsParser::CallExpression ( )
private

Definition at line 1464 of file asm-parser.cc.

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

◆ Check()

bool v8::internal::wasm::AsmJsParser::Check ( AsmJsScanner::token_t token)
inlineprivate

Definition at line 257 of file asm-parser.h.

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

◆ CheckForDouble()

bool v8::internal::wasm::AsmJsParser::CheckForDouble ( double * value)
inlineprivate

Definition at line 275 of file asm-parser.h.

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

◆ CheckForUnsigned()

bool v8::internal::wasm::AsmJsParser::CheckForUnsigned ( uint32_t * value)
inlineprivate

Definition at line 285 of file asm-parser.h.

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

◆ CheckForUnsignedBelow()

bool v8::internal::wasm::AsmJsParser::CheckForUnsignedBelow ( uint32_t limit,
uint32_t * value )
inlineprivate

Definition at line 295 of file asm-parser.h.

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

◆ CheckForZero()

bool v8::internal::wasm::AsmJsParser::CheckForZero ( )
inlineprivate

Definition at line 266 of file asm-parser.h.

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

◆ ConditionalExpression()

AsmType * v8::internal::wasm::AsmJsParser::ConditionalExpression ( )
private

Definition at line 2067 of file asm-parser.cc.

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

◆ Consume()

AsmJsScanner::token_t v8::internal::wasm::AsmJsParser::Consume ( )
inlineprivate

Definition at line 305 of file asm-parser.h.

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

◆ ContinueStatement()

void v8::internal::wasm::AsmJsParser::ContinueStatement ( )
private

Definition at line 1283 of file asm-parser.cc.

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

◆ ConvertSignature()

FunctionSig * v8::internal::wasm::AsmJsParser::ConvertSignature ( AsmType * return_type,
const ZoneVector< AsmType * > & params )
private

Definition at line 148 of file asm-parser.cc.

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

◆ CopyCurrentIdentifierString()

base::Vector< const char > v8::internal::wasm::AsmJsParser::CopyCurrentIdentifierString ( )
private

Definition at line 260 of file asm-parser.cc.

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

◆ DeclareGlobal()

void v8::internal::wasm::AsmJsParser::DeclareGlobal ( VarInfo * info,
bool mutable_variable,
AsmType * type,
ValueType vtype,
WasmInitExpr init )
private

Definition at line 236 of file asm-parser.cc.

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

◆ DeclareStdlibFunc()

void v8::internal::wasm::AsmJsParser::DeclareStdlibFunc ( VarInfo * info,
VarKind kind,
AsmType * type )
private

Definition at line 245 of file asm-parser.cc.

◆ DoStatement()

void v8::internal::wasm::AsmJsParser::DoStatement ( )
private

Definition at line 1185 of file asm-parser.cc.

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

◆ EmptyStatement()

void v8::internal::wasm::AsmJsParser::EmptyStatement ( )
private

Definition at line 1100 of file asm-parser.cc.

Here is the caller graph for this function:

◆ End()

void v8::internal::wasm::AsmJsParser::End ( )
private

Definition at line 284 of file asm-parser.cc.

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

◆ EqualityExpression()

AsmType * v8::internal::wasm::AsmJsParser::EqualityExpression ( )
private

Definition at line 1953 of file asm-parser.cc.

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

◆ Expression()

AsmType * v8::internal::wasm::AsmJsParser::Expression ( AsmType * expect)
private

Definition at line 1399 of file asm-parser.cc.

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

◆ ExpressionStatement()

void v8::internal::wasm::AsmJsParser::ExpressionStatement ( )
private

Definition at line 1080 of file asm-parser.cc.

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

◆ failure_location()

int v8::internal::wasm::AsmJsParser::failure_location ( ) const
inline

Definition at line 57 of file asm-parser.h.

Here is the caller graph for this function:

◆ failure_message()

const char * v8::internal::wasm::AsmJsParser::failure_message ( ) const
inline

Definition at line 56 of file asm-parser.h.

Here is the caller graph for this function:

◆ FindBreakLabelDepth()

int v8::internal::wasm::AsmJsParser::FindBreakLabelDepth ( AsmJsScanner::token_t label)
private

Definition at line 316 of file asm-parser.cc.

Here is the caller graph for this function:

◆ FindContinueLabelDepth()

int v8::internal::wasm::AsmJsParser::FindContinueLabelDepth ( AsmJsScanner::token_t label)
private

Definition at line 301 of file asm-parser.cc.

Here is the caller graph for this function:

◆ ForStatement()

void v8::internal::wasm::AsmJsParser::ForStatement ( )
private

Definition at line 1216 of file asm-parser.cc.

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

◆ GatherCases()

void v8::internal::wasm::AsmJsParser::GatherCases ( ZoneVector< int32_t > * cases)
private

Definition at line 2547 of file asm-parser.cc.

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

◆ GetVarInfo()

wasm::AsmJsParser::VarInfo * v8::internal::wasm::AsmJsParser::GetVarInfo ( AsmJsScanner::token_t token)
private

Definition at line 199 of file asm-parser.cc.

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

◆ Identifier()

AsmType * v8::internal::wasm::AsmJsParser::Identifier ( )
private

Definition at line 1443 of file asm-parser.cc.

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

◆ IfStatement()

void v8::internal::wasm::AsmJsParser::IfStatement ( )
private

Definition at line 1103 of file asm-parser.cc.

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

◆ InitializeStdlibTypes()

void v8::internal::wasm::AsmJsParser::InitializeStdlibTypes ( )
private

Definition at line 85 of file asm-parser.cc.

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

◆ IterationStatement()

bool v8::internal::wasm::AsmJsParser::IterationStatement ( )
private

Definition at line 1147 of file asm-parser.cc.

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

◆ LabelledStatement()

void v8::internal::wasm::AsmJsParser::LabelledStatement ( )
private

Definition at line 1299 of file asm-parser.cc.

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

◆ Loop()

void v8::internal::wasm::AsmJsParser::Loop ( AsmJsScanner::token_t label = 0)
private

Definition at line 277 of file asm-parser.cc.

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

◆ MemberExpression()

AsmType * v8::internal::wasm::AsmJsParser::MemberExpression ( )
private

Definition at line 1486 of file asm-parser.cc.

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

◆ module_builder()

WasmModuleBuilder * v8::internal::wasm::AsmJsParser::module_builder ( )
inline

Definition at line 58 of file asm-parser.h.

Here is the caller graph for this function:

◆ MultiplicativeExpression()

AsmType * v8::internal::wasm::AsmJsParser::MultiplicativeExpression ( )
private

Definition at line 1676 of file asm-parser.cc.

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

◆ NumericLiteral()

AsmType * v8::internal::wasm::AsmJsParser::NumericLiteral ( )
private

Definition at line 1422 of file asm-parser.cc.

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

◆ ParenthesizedExpression()

AsmType * v8::internal::wasm::AsmJsParser::ParenthesizedExpression ( )
private

Definition at line 2102 of file asm-parser.cc.

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

◆ Peek()

bool v8::internal::wasm::AsmJsParser::Peek ( AsmJsScanner::token_t token)
inlineprivate

Definition at line 249 of file asm-parser.h.

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

◆ PeekCall()

bool v8::internal::wasm::AsmJsParser::PeekCall ( )
private

Definition at line 2426 of file asm-parser.cc.

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

◆ PeekForZero()

bool v8::internal::wasm::AsmJsParser::PeekForZero ( )
inlineprivate

Definition at line 253 of file asm-parser.h.

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

◆ RelationalExpression()

AsmType * v8::internal::wasm::AsmJsParser::RelationalExpression ( )
private

Definition at line 1916 of file asm-parser.cc.

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

◆ ReturnStatement()

void v8::internal::wasm::AsmJsParser::ReturnStatement ( )
private

Definition at line 1120 of file asm-parser.cc.

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

◆ Run()

bool v8::internal::wasm::AsmJsParser::Run ( )

Definition at line 177 of file asm-parser.cc.

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

◆ ScanToClosingParenthesis()

void v8::internal::wasm::AsmJsParser::ScanToClosingParenthesis ( )
private

Definition at line 2530 of file asm-parser.cc.

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

◆ ShiftExpression()

AsmType * v8::internal::wasm::AsmJsParser::ShiftExpression ( )
private

Definition at line 1856 of file asm-parser.cc.

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

◆ SkipSemicolon()

void v8::internal::wasm::AsmJsParser::SkipSemicolon ( )
private

Definition at line 264 of file asm-parser.cc.

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

◆ stdlib_uses()

const StdlibSet * v8::internal::wasm::AsmJsParser::stdlib_uses ( ) const
inline

Definition at line 59 of file asm-parser.h.

Here is the caller graph for this function:

◆ SwitchStatement()

void v8::internal::wasm::AsmJsParser::SwitchStatement ( )
private

Definition at line 1312 of file asm-parser.cc.

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

◆ TempVariable()

uint32_t v8::internal::wasm::AsmJsParser::TempVariable ( int index)
private

Definition at line 253 of file asm-parser.cc.

Here is the caller graph for this function:

◆ UnaryExpression()

AsmType * v8::internal::wasm::AsmJsParser::UnaryExpression ( )
private

Definition at line 1588 of file asm-parser.cc.

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

◆ ValidateCall()

AsmType * v8::internal::wasm::AsmJsParser::ValidateCall ( )
private

Definition at line 2112 of file asm-parser.cc.

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

◆ ValidateCase()

void v8::internal::wasm::AsmJsParser::ValidateCase ( )
private

Definition at line 1357 of file asm-parser.cc.

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

◆ ValidateDefault()

void v8::internal::wasm::AsmJsParser::ValidateDefault ( )
private

Definition at line 1383 of file asm-parser.cc.

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

◆ ValidateExport()

void v8::internal::wasm::AsmJsParser::ValidateExport ( )
private

Definition at line 631 of file asm-parser.cc.

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

◆ ValidateExpression()

AsmType * v8::internal::wasm::AsmJsParser::ValidateExpression ( )
private

Definition at line 1392 of file asm-parser.cc.

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

◆ ValidateFloatCoercion()

void v8::internal::wasm::AsmJsParser::ValidateFloatCoercion ( )
private

Definition at line 2503 of file asm-parser.cc.

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

◆ ValidateFunction()

void v8::internal::wasm::AsmJsParser::ValidateFunction ( )
private

Definition at line 728 of file asm-parser.cc.

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

◆ ValidateFunctionLocals()

void v8::internal::wasm::AsmJsParser::ValidateFunctionLocals ( size_t param_count,
ZoneVector< ValueType > * locals )
private

Definition at line 904 of file asm-parser.cc.

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

◆ ValidateFunctionParams()

void v8::internal::wasm::AsmJsParser::ValidateFunctionParams ( ZoneVector< AsmType * > * params)
private

Definition at line 843 of file asm-parser.cc.

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

◆ ValidateFunctionTable()

void v8::internal::wasm::AsmJsParser::ValidateFunctionTable ( )
private

Definition at line 673 of file asm-parser.cc.

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

◆ ValidateHeapAccess()

void v8::internal::wasm::AsmJsParser::ValidateHeapAccess ( )
private

Definition at line 2449 of file asm-parser.cc.

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

◆ ValidateModule()

void v8::internal::wasm::AsmJsParser::ValidateModule ( )
private

Definition at line 333 of file asm-parser.cc.

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

◆ ValidateModuleParameters()

void v8::internal::wasm::AsmJsParser::ValidateModuleParameters ( )
private

Definition at line 381 of file asm-parser.cc.

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

◆ ValidateModuleVar()

void v8::internal::wasm::AsmJsParser::ValidateModuleVar ( bool mutable_variable)
private

Definition at line 437 of file asm-parser.cc.

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

◆ ValidateModuleVarFromGlobal()

void v8::internal::wasm::AsmJsParser::ValidateModuleVarFromGlobal ( VarInfo * info,
bool mutable_variable )
private

Definition at line 498 of file asm-parser.cc.

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

◆ ValidateModuleVarImport()

void v8::internal::wasm::AsmJsParser::ValidateModuleVarImport ( VarInfo * info,
bool mutable_variable )
private

Definition at line 546 of file asm-parser.cc.

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

◆ ValidateModuleVarNewStdlib()

void v8::internal::wasm::AsmJsParser::ValidateModuleVarNewStdlib ( VarInfo * info)
private

Definition at line 574 of file asm-parser.cc.

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

◆ ValidateModuleVars()

void v8::internal::wasm::AsmJsParser::ValidateModuleVars ( )
private

Definition at line 416 of file asm-parser.cc.

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

◆ ValidateModuleVarStdlib()

void v8::internal::wasm::AsmJsParser::ValidateModuleVarStdlib ( VarInfo * info)
private

Definition at line 595 of file asm-parser.cc.

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

◆ ValidateStatement()

void v8::internal::wasm::AsmJsParser::ValidateStatement ( )
private

Definition at line 1036 of file asm-parser.cc.

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

◆ VarIndex()

uint32_t v8::internal::wasm::AsmJsParser::VarIndex ( VarInfo * info)
private

Definition at line 218 of file asm-parser.cc.

Here is the caller graph for this function:

◆ WhileStatement()

void v8::internal::wasm::AsmJsParser::WhileStatement ( )
private

Definition at line 1161 of file asm-parser.cc.

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

◆ zone()

Zone * v8::internal::wasm::AsmJsParser::zone ( )
inlineprivate

Definition at line 247 of file asm-parser.h.

Here is the caller graph for this function:

Member Data Documentation

◆ block_stack_

ZoneVector<BlockInfo> v8::internal::wasm::AsmJsParser::block_stack_
private

Definition at line 202 of file asm-parser.h.

◆ cached_asm_type_p_vectors_

CachedVectors<AsmType*> v8::internal::wasm::AsmJsParser::cached_asm_type_p_vectors_ {zone_}
private

Definition at line 178 of file asm-parser.h.

◆ cached_int_vectors_

CachedVectors<int32_t> v8::internal::wasm::AsmJsParser::cached_int_vectors_ {zone_}
private

Definition at line 180 of file asm-parser.h.

◆ cached_token_t_vectors_

CachedVectors<AsmJsScanner::token_t> v8::internal::wasm::AsmJsParser::cached_token_t_vectors_ {zone_}
private

Definition at line 179 of file asm-parser.h.

◆ cached_valuetype_vectors_

CachedVectors<ValueType> v8::internal::wasm::AsmJsParser::cached_valuetype_vectors_ {zone_}
private

Definition at line 177 of file asm-parser.h.

◆ call_coercion_

AsmType* v8::internal::wasm::AsmJsParser::call_coercion_ = nullptr
private

Definition at line 217 of file asm-parser.h.

◆ call_coercion_deferred_

AsmType* v8::internal::wasm::AsmJsParser::call_coercion_deferred_ = nullptr
private

Definition at line 225 of file asm-parser.h.

◆ call_coercion_deferred_position_

size_t v8::internal::wasm::AsmJsParser::call_coercion_deferred_position_
private

Definition at line 229 of file asm-parser.h.

◆ call_coercion_position_

size_t v8::internal::wasm::AsmJsParser::call_coercion_position_
private

Definition at line 220 of file asm-parser.h.

◆ current_function_builder_

WasmFunctionBuilder* v8::internal::wasm::AsmJsParser::current_function_builder_
private

Definition at line 169 of file asm-parser.h.

◆ failed_

bool v8::internal::wasm::AsmJsParser::failed_ = false
private

Definition at line 187 of file asm-parser.h.

◆ failure_location_

int v8::internal::wasm::AsmJsParser::failure_location_ = kNoSourcePosition
private

Definition at line 189 of file asm-parser.h.

◆ failure_message_

const char* v8::internal::wasm::AsmJsParser::failure_message_
private

Definition at line 188 of file asm-parser.h.

◆ foreign_name_

AsmJsScanner::token_t v8::internal::wasm::AsmJsParser::foreign_name_ = kTokenNone
private

Definition at line 193 of file asm-parser.h.

◆ function_temp_locals_depth_

int v8::internal::wasm::AsmJsParser::function_temp_locals_depth_
private

Definition at line 184 of file asm-parser.h.

◆ function_temp_locals_offset_

int v8::internal::wasm::AsmJsParser::function_temp_locals_offset_
private

Definition at line 182 of file asm-parser.h.

◆ function_temp_locals_used_

int v8::internal::wasm::AsmJsParser::function_temp_locals_used_
private

Definition at line 183 of file asm-parser.h.

◆ global_imports_

ZoneLinkedList<GlobalImport> v8::internal::wasm::AsmJsParser::global_imports_
private

Definition at line 245 of file asm-parser.h.

◆ global_var_info_

base::Vector<VarInfo> v8::internal::wasm::AsmJsParser::global_var_info_
private

Definition at line 173 of file asm-parser.h.

◆ heap_access_shift_position_

size_t v8::internal::wasm::AsmJsParser::heap_access_shift_position_
private

Definition at line 235 of file asm-parser.h.

◆ heap_access_shift_value_

uint32_t v8::internal::wasm::AsmJsParser::heap_access_shift_value_
private

Definition at line 236 of file asm-parser.h.

◆ heap_access_type_

AsmType* v8::internal::wasm::AsmJsParser::heap_access_type_ = nullptr
private

Definition at line 200 of file asm-parser.h.

◆ heap_name_

AsmJsScanner::token_t v8::internal::wasm::AsmJsParser::heap_name_ = kTokenNone
private

Definition at line 194 of file asm-parser.h.

◆ inside_heap_assignment_

bool v8::internal::wasm::AsmJsParser::inside_heap_assignment_ = false
private

Definition at line 199 of file asm-parser.h.

◆ kNoHeapAccessShift

const size_t v8::internal::wasm::AsmJsParser::kNoHeapAccessShift = -1
staticprivate

Definition at line 237 of file asm-parser.h.

◆ kTokenNone

const AsmJsScanner::token_t v8::internal::wasm::AsmJsParser::kTokenNone = 0
staticprivate

Definition at line 196 of file asm-parser.h.

◆ local_var_info_

base::Vector<VarInfo> v8::internal::wasm::AsmJsParser::local_var_info_
private

Definition at line 174 of file asm-parser.h.

◆ module_builder_

WasmModuleBuilder* v8::internal::wasm::AsmJsParser::module_builder_
private

Definition at line 168 of file asm-parser.h.

◆ num_globals_

size_t v8::internal::wasm::AsmJsParser::num_globals_ = 0
private

Definition at line 175 of file asm-parser.h.

◆ pending_label_

AsmJsScanner::token_t v8::internal::wasm::AsmJsParser::pending_label_ = kTokenNone
private

Definition at line 241 of file asm-parser.h.

◆ return_type_

AsmType* v8::internal::wasm::AsmJsParser::return_type_ = nullptr
private

Definition at line 170 of file asm-parser.h.

◆ scanner_

AsmJsScanner v8::internal::wasm::AsmJsParser::scanner_
private

Definition at line 167 of file asm-parser.h.

◆ stack_limit_

uintptr_t v8::internal::wasm::AsmJsParser::stack_limit_
private

Definition at line 171 of file asm-parser.h.

◆ stdlib_abs_

AsmType* v8::internal::wasm::AsmJsParser::stdlib_abs_
private

Definition at line 210 of file asm-parser.h.

◆ stdlib_ceil_like_

AsmType* v8::internal::wasm::AsmJsParser::stdlib_ceil_like_
private

Definition at line 211 of file asm-parser.h.

◆ stdlib_dq2d_

AsmType* v8::internal::wasm::AsmJsParser::stdlib_dq2d_
private

Definition at line 205 of file asm-parser.h.

◆ stdlib_dqdq2d_

AsmType* v8::internal::wasm::AsmJsParser::stdlib_dqdq2d_
private

Definition at line 206 of file asm-parser.h.

◆ stdlib_fround_

AsmType* v8::internal::wasm::AsmJsParser::stdlib_fround_
private

Definition at line 212 of file asm-parser.h.

◆ stdlib_i2s_

AsmType* v8::internal::wasm::AsmJsParser::stdlib_i2s_
private

Definition at line 207 of file asm-parser.h.

◆ stdlib_ii2s_

AsmType* v8::internal::wasm::AsmJsParser::stdlib_ii2s_
private

Definition at line 208 of file asm-parser.h.

◆ stdlib_minmax_

AsmType* v8::internal::wasm::AsmJsParser::stdlib_minmax_
private

Definition at line 209 of file asm-parser.h.

◆ stdlib_name_

AsmJsScanner::token_t v8::internal::wasm::AsmJsParser::stdlib_name_ = kTokenNone
private

Definition at line 192 of file asm-parser.h.

◆ stdlib_uses_

StdlibSet v8::internal::wasm::AsmJsParser::stdlib_uses_
private

Definition at line 172 of file asm-parser.h.

◆ zone_

Zone* v8::internal::wasm::AsmJsParser::zone_
private

Definition at line 166 of file asm-parser.h.


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