![]() |
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.