![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <baseline-compiler.h>
Public Member Functions | |
BaselineCompiler (LocalIsolate *local_isolate, Handle< SharedFunctionInfo > shared_function_info, Handle< BytecodeArray > bytecode) | |
void | GenerateCode () |
MaybeHandle< Code > | Build () |
Static Public Member Functions | |
static int | EstimateInstructionSize (Tagged< BytecodeArray > bytecode) |
Private Types | |
enum | StackCheckBehavior { kEnableStackCheck , kDisableStackCheck } |
enum class | MarkAsIndirectJumpTarget { kNo , kYes } |
Private Member Functions | |
void | Prologue () |
void | PrologueFillFrame () |
void | PrologueHandleOptimizationState (Register feedback_vector) |
void | PreVisitSingleBytecode () |
void | VisitSingleBytecode () |
void | VerifyFrame () |
void | VerifyFrameSize () |
interpreter::Register | RegisterOperand (int operand_index) |
void | LoadRegister (Register output, int operand_index) |
void | StoreRegister (int operand_index, Register value) |
void | StoreRegisterPair (int operand_index, Register val0, Register val1) |
template<typename Type > | |
Handle< Type > | Constant (int operand_index) |
Tagged< Smi > | ConstantSmi (int operand_index) |
template<typename Type > | |
void | LoadConstant (Register output, int operand_index) |
uint32_t | Uint (int operand_index) |
int32_t | Int (int operand_index) |
uint32_t | Index (int operand_index) |
uint32_t | Flag8 (int operand_index) |
uint32_t | Flag16 (int operand_index) |
uint32_t | RegisterCount (int operand_index) |
Tagged< TaggedIndex > | IndexAsTagged (int operand_index) |
Tagged< TaggedIndex > | UintAsTagged (int operand_index) |
Tagged< Smi > | IndexAsSmi (int operand_index) |
Tagged< Smi > | IntAsSmi (int operand_index) |
Tagged< Smi > | UintAsSmi (int operand_index) |
Tagged< Smi > | Flag8AsSmi (int operand_index) |
Tagged< Smi > | Flag16AsSmi (int operand_index) |
Label * | NewLabel () |
Label * | BuildForwardJumpLabel () |
void | UpdateInterruptBudgetAndJumpToLabel (int weight, Label *label, Label *skip_interrupt_label, StackCheckBehavior stack_check_behavior) |
void | JumpIfRoot (RootIndex root) |
void | JumpIfNotRoot (RootIndex root) |
MemOperand | FeedbackVector () |
void | LoadFeedbackVector (Register output) |
void | LoadClosureFeedbackArray (Register output) |
void | AddPosition () |
void | SelectBooleanConstant (Register output, std::function< void(Label *, Label::Distance)> jump_func) |
void | JumpIfToBoolean (bool do_jump_if_true, Label *label, Label::Distance distance=Label::kFar) |
template<Builtin kBuiltin, typename... Args> | |
void | CallBuiltin (Args... args) |
template<typename... Args> | |
void | CallRuntime (Runtime::FunctionId function, Args... args) |
template<Builtin kBuiltin, typename... Args> | |
void | TailCallBuiltin (Args... args) |
template<ConvertReceiverMode kMode, typename... Args> | |
void | BuildCall (uint32_t slot, uint32_t arg_count, Args... args) |
const interpreter::BytecodeArrayIterator & | iterator () |
Label * | EnsureLabel (int offset, MarkAsIndirectJumpTarget mark=MarkAsIndirectJumpTarget::kNo) |
bool | IsJumpTarget (int offset) const |
bool | IsIndirectJumpTarget (int offset) const |
void | MarkIndirectJumpTarget (int offset) |
Definition at line 50 of file baseline-compiler.h.
|
strongprivate |
Enumerator | |
---|---|
kNo | |
kYes |
Definition at line 174 of file baseline-compiler.h.
Enumerator | |
---|---|
kEnableStackCheck | |
kDisableStackCheck |
Definition at line 102 of file baseline-compiler.h.
|
explicit |
|
private |
Definition at line 464 of file baseline-compiler.cc.
MaybeHandle< Code > v8::internal::baseline::BaselineCompiler::Build | ( | ) |
Definition at line 335 of file baseline-compiler.cc.
|
private |
|
private |
Definition at line 613 of file baseline-compiler.cc.
|
private |
Definition at line 641 of file baseline-compiler.cc.
|
private |
Definition at line 668 of file baseline-compiler.cc.
|
private |
Definition at line 387 of file baseline-compiler.cc.
|
inlineprivate |
Definition at line 176 of file baseline-compiler.h.
|
static |
|
private |
Definition at line 438 of file baseline-compiler.cc.
|
private |
Definition at line 410 of file baseline-compiler.cc.
|
private |
Definition at line 407 of file baseline-compiler.cc.
void v8::internal::baseline::BaselineCompiler::GenerateCode | ( | ) |
|
private |
Definition at line 404 of file baseline-compiler.cc.
|
private |
|
private |
Definition at line 401 of file baseline-compiler.cc.
|
inlineprivate |
Definition at line 191 of file baseline-compiler.h.
|
inlineprivate |
Definition at line 188 of file baseline-compiler.h.
|
inlineprivate |
|
private |
Definition at line 605 of file baseline-compiler.cc.
|
private |
Definition at line 597 of file baseline-compiler.cc.
|
private |
|
private |
|
private |
|
private |
Definition at line 365 of file baseline-compiler.cc.
|
inlineprivate |
Definition at line 194 of file baseline-compiler.h.
|
private |
|
private |
Definition at line 468 of file baseline-compiler.cc.
|
private |
Definition at line 22 of file baseline-compiler-arm-inl.h.
|
private |
Definition at line 34 of file baseline-compiler-arm-inl.h.
|
private |
|
private |
|
private |
Definition at line 361 of file baseline-compiler.cc.
|
private |
Definition at line 453 of file baseline-compiler.cc.
|
private |
Definition at line 369 of file baseline-compiler.cc.
|
private |
Definition at line 659 of file baseline-compiler.cc.
|
private |
Definition at line 398 of file baseline-compiler.cc.
|
private |
|
private |
|
private |
Definition at line 534 of file baseline-compiler.cc.
|
private |
Definition at line 87 of file baseline-compiler-arm-inl.h.
|
private |
Definition at line 479 of file baseline-compiler.cc.
|
private |
Definition at line 168 of file baseline-compiler.h.
|
private |
Definition at line 165 of file baseline-compiler.h.
|
private |
Definition at line 170 of file baseline-compiler.h.
|
private |
Definition at line 164 of file baseline-compiler.h.
|
private |
Definition at line 169 of file baseline-compiler.h.
|
private |
Definition at line 197 of file baseline-compiler.h.
|
private |
Definition at line 196 of file baseline-compiler.h.
|
private |
Definition at line 161 of file baseline-compiler.h.
|
private |
Definition at line 167 of file baseline-compiler.h.
|
private |
Definition at line 163 of file baseline-compiler.h.
|
private |
Definition at line 162 of file baseline-compiler.h.
|
private |
Definition at line 166 of file baseline-compiler.h.