V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::internal::interpreter::BytecodeArrayBuilder Class Referencefinal

Public Types

enum  ContextSlotMutability { kImmutableSlot, kMutableSlot }
 
enum  ToBooleanMode { kConvertToBoolean, kAlreadyBoolean }
 
enum  NilValue { kNullValue, kUndefinedValue }
 

Public Member Functions

 BytecodeArrayBuilder (Zone *zone, int parameter_count, int locals_count, FeedbackVectorSpec *feedback_vector_spec=nullptr, SourcePositionTableBuilder::RecordingMode source_position_mode=SourcePositionTableBuilder::RECORD_SOURCE_POSITIONS)
 
Handle< BytecodeArrayToBytecodeArray (Isolate *isolate)
 
int parameter_count () const
 
int locals_count () const
 
int fixed_register_count () const
 
int total_register_count () const
 
Register Local (int index) const
 
Register Parameter (int parameter_index) const
 
Register Receiver () const
 
BytecodeArrayBuilderLoadConstantPoolEntry (size_t entry)
 
BytecodeArrayBuilderLoadLiteral (Smi value)
 
BytecodeArrayBuilderLoadLiteral (double value)
 
BytecodeArrayBuilderLoadLiteral (const AstRawString *raw_string)
 
BytecodeArrayBuilderLoadLiteral (const Scope *scope)
 
BytecodeArrayBuilderLoadLiteral (AstBigInt bigint)
 
BytecodeArrayBuilderLoadLiteral (AstSymbol symbol)
 
BytecodeArrayBuilderLoadUndefined ()
 
BytecodeArrayBuilderLoadNull ()
 
BytecodeArrayBuilderLoadTheHole ()
 
BytecodeArrayBuilderLoadTrue ()
 
BytecodeArrayBuilderLoadFalse ()
 
BytecodeArrayBuilderLoadBoolean (bool value)
 
BytecodeArrayBuilderLoadGlobal (const AstRawString *name, int feedback_slot, TypeofMode typeof_mode)
 
BytecodeArrayBuilderStoreGlobal (const AstRawString *name, int feedback_slot)
 
BytecodeArrayBuilderLoadContextSlot (Register context, int slot_index, int depth, ContextSlotMutability immutable)
 
BytecodeArrayBuilderStoreContextSlot (Register context, int slot_index, int depth)
 
BytecodeArrayBuilderLoadModuleVariable (int cell_index, int depth)
 
BytecodeArrayBuilderStoreModuleVariable (int cell_index, int depth)
 
BytecodeArrayBuilderLoadAccumulatorWithRegister (Register reg)
 
BytecodeArrayBuilderStoreAccumulatorInRegister (Register reg)
 
BytecodeArrayBuilderMoveRegister (Register from, Register to)
 
BytecodeArrayBuilderLoadNamedProperty (Register object, const AstRawString *name, int feedback_slot)
 
BytecodeArrayBuilderLoadNamedPropertyNoFeedback (Register object, const AstRawString *name)
 
BytecodeArrayBuilderLoadKeyedProperty (Register object, int feedback_slot)
 
BytecodeArrayBuilderLoadIteratorProperty (Register object, int feedback_slot)
 
BytecodeArrayBuilderLoadAsyncIteratorProperty (Register object, int feedback_slot)
 
BytecodeArrayBuilderStoreDataPropertyInLiteral (Register object, Register name, DataPropertyInLiteralFlags flags, int feedback_slot)
 
BytecodeArrayBuilderCollectTypeProfile (int position)
 
BytecodeArrayBuilderStoreNamedProperty (Register object, const AstRawString *name, int feedback_slot, LanguageMode language_mode)
 
BytecodeArrayBuilderStoreNamedPropertyNoFeedback (Register object, const AstRawString *name, LanguageMode language_mode)
 
BytecodeArrayBuilderStoreNamedProperty (Register object, size_t constant_pool_entry, int feedback_slot, LanguageMode language_mode)
 
BytecodeArrayBuilderStoreNamedOwnProperty (Register object, const AstRawString *name, int feedback_slot)
 
BytecodeArrayBuilderStoreKeyedProperty (Register object, Register key, int feedback_slot, LanguageMode language_mode)
 
BytecodeArrayBuilderStoreInArrayLiteral (Register array, Register index, int feedback_slot)
 
BytecodeArrayBuilderStoreHomeObjectProperty (Register object, int feedback_slot, LanguageMode language_mode)
 
BytecodeArrayBuilderStoreClassFieldsInitializer (Register constructor, int feedback_slot)
 
BytecodeArrayBuilderLoadClassFieldsInitializer (Register constructor, int feedback_slot)
 
BytecodeArrayBuilderLoadLookupSlot (const AstRawString *name, TypeofMode typeof_mode)
 
BytecodeArrayBuilderLoadLookupContextSlot (const AstRawString *name, TypeofMode typeof_mode, int slot_index, int depth)
 
BytecodeArrayBuilderLoadLookupGlobalSlot (const AstRawString *name, TypeofMode typeof_mode, int feedback_slot, int depth)
 
BytecodeArrayBuilderStoreLookupSlot (const AstRawString *name, LanguageMode language_mode, LookupHoistingMode lookup_hoisting_mode)
 
BytecodeArrayBuilderCreateClosure (size_t shared_function_info_entry, int slot, int flags)
 
BytecodeArrayBuilderCreateBlockContext (const Scope *scope)
 
BytecodeArrayBuilderCreateCatchContext (Register exception, const Scope *scope)
 
BytecodeArrayBuilderCreateFunctionContext (const Scope *scope, int slots)
 
BytecodeArrayBuilderCreateEvalContext (const Scope *scope, int slots)
 
BytecodeArrayBuilderCreateWithContext (Register object, const Scope *scope)
 
BytecodeArrayBuilderCreateArguments (CreateArgumentsType type)
 
BytecodeArrayBuilderCreateRegExpLiteral (const AstRawString *pattern, int literal_index, int flags)
 
BytecodeArrayBuilderCreateArrayLiteral (size_t constant_elements_entry, int literal_index, int flags)
 
BytecodeArrayBuilderCreateEmptyArrayLiteral (int literal_index)
 
BytecodeArrayBuilderCreateArrayFromIterable ()
 
BytecodeArrayBuilderCreateObjectLiteral (size_t constant_properties_entry, int literal_index, int flags)
 
BytecodeArrayBuilderCreateEmptyObjectLiteral ()
 
BytecodeArrayBuilderCloneObject (Register source, int flags, int feedback_slot)
 
BytecodeArrayBuilderGetTemplateObject (size_t template_object_description_entry, int feedback_slot)
 
BytecodeArrayBuilderPushContext (Register context)
 
BytecodeArrayBuilderPopContext (Register context)
 
BytecodeArrayBuilderCallProperty (Register callable, RegisterList args, int feedback_slot)
 
BytecodeArrayBuilderCallUndefinedReceiver (Register callable, RegisterList args, int feedback_slot)
 
BytecodeArrayBuilderCallAnyReceiver (Register callable, RegisterList args, int feedback_slot)
 
BytecodeArrayBuilderCallNoFeedback (Register callable, RegisterList args)
 
BytecodeArrayBuilderTailCall (Register callable, RegisterList args, int feedback_slot)
 
BytecodeArrayBuilderCallWithSpread (Register callable, RegisterList args, int feedback_slot)
 
BytecodeArrayBuilderConstruct (Register constructor, RegisterList args, int feedback_slot)
 
BytecodeArrayBuilderConstructWithSpread (Register constructor, RegisterList args, int feedback_slot)
 
BytecodeArrayBuilderCallRuntime (Runtime::FunctionId function_id, RegisterList args)
 
BytecodeArrayBuilderCallRuntime (Runtime::FunctionId function_id, Register arg)
 
BytecodeArrayBuilderCallRuntime (Runtime::FunctionId function_id)
 
BytecodeArrayBuilderCallRuntimeForPair (Runtime::FunctionId function_id, RegisterList args, RegisterList return_pair)
 
BytecodeArrayBuilderCallRuntimeForPair (Runtime::FunctionId function_id, Register arg, RegisterList return_pair)
 
BytecodeArrayBuilderCallJSRuntime (int context_index, RegisterList args)
 
BytecodeArrayBuilderBinaryOperation (Token::Value binop, Register reg, int feedback_slot)
 
BytecodeArrayBuilderBinaryOperationSmiLiteral (Token::Value binop, Smi literal, int feedback_slot)
 
BytecodeArrayBuilderUnaryOperation (Token::Value op, int feedback_slot)
 
BytecodeArrayBuilderLogicalNot (ToBooleanMode mode)
 
BytecodeArrayBuilderTypeOf ()
 
BytecodeArrayBuilderGetSuperConstructor (Register out)
 
BytecodeArrayBuilderDelete (Register object, LanguageMode language_mode)
 
BytecodeArrayBuilderCompareOperation (Token::Value op, Register reg, int feedback_slot)
 
BytecodeArrayBuilderCompareOperation (Token::Value op, Register reg)
 
BytecodeArrayBuilderCompareReference (Register reg)
 
BytecodeArrayBuilderCompareUndetectable ()
 
BytecodeArrayBuilderCompareUndefined ()
 
BytecodeArrayBuilderCompareNull ()
 
BytecodeArrayBuilderCompareNil (Token::Value op, NilValue nil)
 
BytecodeArrayBuilderCompareTypeOf (TestTypeOfFlags::LiteralFlag literal_flag)
 
BytecodeArrayBuilderToObject (Register out)
 
BytecodeArrayBuilderToName (Register out)
 
BytecodeArrayBuilderToString ()
 
BytecodeArrayBuilderToNumber (int feedback_slot)
 
BytecodeArrayBuilderToNumeric (int feedback_slot)
 
BytecodeArrayBuilderBind (BytecodeLabel *label)
 
BytecodeArrayBuilderBind (const BytecodeLabel &target, BytecodeLabel *label)
 
BytecodeArrayBuilderBind (BytecodeJumpTable *jump_table, int case_value)
 
BytecodeArrayBuilderJump (BytecodeLabel *label)
 
BytecodeArrayBuilderJumpLoop (BytecodeLabel *label, int loop_depth)
 
BytecodeArrayBuilderJumpIfTrue (ToBooleanMode mode, BytecodeLabel *label)
 
BytecodeArrayBuilderJumpIfFalse (ToBooleanMode mode, BytecodeLabel *label)
 
BytecodeArrayBuilderJumpIfNotHole (BytecodeLabel *label)
 
BytecodeArrayBuilderJumpIfJSReceiver (BytecodeLabel *label)
 
BytecodeArrayBuilderJumpIfNull (BytecodeLabel *label)
 
BytecodeArrayBuilderJumpIfNotNull (BytecodeLabel *label)
 
BytecodeArrayBuilderJumpIfUndefined (BytecodeLabel *label)
 
BytecodeArrayBuilderJumpIfNotUndefined (BytecodeLabel *label)
 
BytecodeArrayBuilderJumpIfNil (BytecodeLabel *label, Token::Value op, NilValue nil)
 
BytecodeArrayBuilderJumpIfNotNil (BytecodeLabel *label, Token::Value op, NilValue nil)
 
BytecodeArrayBuilderSwitchOnSmiNoFeedback (BytecodeJumpTable *jump_table)
 
BytecodeArrayBuilderStackCheck (int position)
 
BytecodeArrayBuilderSetPendingMessage ()
 
BytecodeArrayBuilderThrow ()
 
BytecodeArrayBuilderReThrow ()
 
BytecodeArrayBuilderAbort (AbortReason reason)
 
BytecodeArrayBuilderReturn ()
 
BytecodeArrayBuilderThrowReferenceErrorIfHole (const AstRawString *name)
 
BytecodeArrayBuilderThrowSuperNotCalledIfHole ()
 
BytecodeArrayBuilderThrowSuperAlreadyCalledIfNotHole ()
 
BytecodeArrayBuilderDebugger ()
 
BytecodeArrayBuilderIncBlockCounter (int slot)
 
BytecodeArrayBuilderForInEnumerate (Register receiver)
 
BytecodeArrayBuilderForInPrepare (RegisterList cache_info_triple, int feedback_slot)
 
BytecodeArrayBuilderForInContinue (Register index, Register cache_length)
 
BytecodeArrayBuilderForInNext (Register receiver, Register index, RegisterList cache_type_array_pair, int feedback_slot)
 
BytecodeArrayBuilderForInStep (Register index)
 
BytecodeArrayBuilderSuspendGenerator (Register generator, RegisterList registers, int suspend_id)
 
BytecodeArrayBuilderSwitchOnGeneratorState (Register generator, BytecodeJumpTable *jump_table)
 
BytecodeArrayBuilderResumeGenerator (Register generator, RegisterList registers)
 
BytecodeArrayBuilderMarkHandler (int handler_id, HandlerTable::CatchPrediction will_catch)
 
BytecodeArrayBuilderMarkTryBegin (int handler_id, Register context)
 
BytecodeArrayBuilderMarkTryEnd (int handler_id)
 
int NewHandlerEntry ()
 
BytecodeJumpTableAllocateJumpTable (int size, int case_value_base)
 
size_t GetConstantPoolEntry (const AstRawString *raw_string)
 
size_t GetConstantPoolEntry (AstBigInt bigint)
 
size_t GetConstantPoolEntry (const Scope *scope)
 
size_t GetConstantPoolEntry (double number)
 
size_t AllocateDeferredConstantPoolEntry ()
 
void SetDeferredConstantPoolEntry (size_t entry, Handle< Object > object)
 
void InitializeReturnPosition (FunctionLiteral *literal)
 
void SetStatementPosition (Statement *stmt)
 
void SetExpressionPosition (Expression *expr)
 
void SetExpressionPosition (int position)
 
void SetExpressionAsStatementPosition (Expression *expr)
 
void SetReturnPosition (int source_position, FunctionLiteral *literal)
 
bool RequiresImplicitReturn () const
 
bool RemainderOfBlockIsDead () const
 
uint32_t GetInputRegisterOperand (Register reg)
 
uint32_t GetOutputRegisterOperand (Register reg)
 
uint32_t GetInputRegisterListOperand (RegisterList reg_list)
 
uint32_t GetOutputRegisterListOperand (RegisterList reg_list)
 
void OutputLdarRaw (Register reg)
 
void OutputStarRaw (Register reg)
 
void OutputMovRaw (Register src, Register dest)
 
BytecodeRegisterAllocatorregister_allocator ()
 
const BytecodeRegisterAllocatorregister_allocator () const
 
Zonezone () const
 

Friends

class BytecodeRegisterAllocator
 
template<Bytecode bytecode, AccumulatorUse accumulator_use, OperandType... operand_types>
class BytecodeNodeBuilder
 

Detailed Description

Definition at line 35 of file bytecode-array-builder.h.


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