V8 Project
|
#include <raw-machine-assembler.h>
Classes | |
class | Label |
Public Member Functions | |
RawMachineAssembler (Graph *graph, MachineSignature *machine_sig, MachineType word=kMachPtr) | |
virtual | ~RawMachineAssembler () |
Isolate * | isolate () const |
Zone * | zone () const |
MachineOperatorBuilder * | machine () |
CommonOperatorBuilder * | common () |
CallDescriptor * | call_descriptor () const |
size_t | parameter_count () const |
MachineSignature * | machine_sig () const |
Node * | UndefinedConstant () |
Node * | PointerConstant (void *value) |
Node * | IntPtrConstant (intptr_t value) |
Node * | Int32Constant (int32_t value) |
Node * | Int64Constant (int64_t value) |
Node * | NumberConstant (double value) |
Node * | Float32Constant (float value) |
Node * | Float64Constant (double value) |
Node * | HeapConstant (Handle< Object > object) |
Node * | Projection (int index, Node *a) |
Node * | Load (MachineType rep, Node *base) |
Node * | Load (MachineType rep, Node *base, Node *index) |
void | Store (MachineType rep, Node *base, Node *value) |
void | Store (MachineType rep, Node *base, Node *index, Node *value) |
Node * | WordAnd (Node *a, Node *b) |
Node * | WordOr (Node *a, Node *b) |
Node * | WordXor (Node *a, Node *b) |
Node * | WordShl (Node *a, Node *b) |
Node * | WordShr (Node *a, Node *b) |
Node * | WordSar (Node *a, Node *b) |
Node * | WordRor (Node *a, Node *b) |
Node * | WordEqual (Node *a, Node *b) |
Node * | WordNotEqual (Node *a, Node *b) |
Node * | WordNot (Node *a) |
Node * | WordBinaryNot (Node *a) |
Node * | Word32And (Node *a, Node *b) |
Node * | Word32Or (Node *a, Node *b) |
Node * | Word32Xor (Node *a, Node *b) |
Node * | Word32Shl (Node *a, Node *b) |
Node * | Word32Shr (Node *a, Node *b) |
Node * | Word32Sar (Node *a, Node *b) |
Node * | Word32Ror (Node *a, Node *b) |
Node * | Word32Equal (Node *a, Node *b) |
Node * | Word32NotEqual (Node *a, Node *b) |
Node * | Word32Not (Node *a) |
Node * | Word32BinaryNot (Node *a) |
Node * | Word64And (Node *a, Node *b) |
Node * | Word64Or (Node *a, Node *b) |
Node * | Word64Xor (Node *a, Node *b) |
Node * | Word64Shl (Node *a, Node *b) |
Node * | Word64Shr (Node *a, Node *b) |
Node * | Word64Sar (Node *a, Node *b) |
Node * | Word64Ror (Node *a, Node *b) |
Node * | Word64Equal (Node *a, Node *b) |
Node * | Word64NotEqual (Node *a, Node *b) |
Node * | Word64Not (Node *a) |
Node * | Word64BinaryNot (Node *a) |
Node * | Int32Add (Node *a, Node *b) |
Node * | Int32AddWithOverflow (Node *a, Node *b) |
Node * | Int32Sub (Node *a, Node *b) |
Node * | Int32SubWithOverflow (Node *a, Node *b) |
Node * | Int32Mul (Node *a, Node *b) |
Node * | Int32Div (Node *a, Node *b) |
Node * | Int32UDiv (Node *a, Node *b) |
Node * | Int32Mod (Node *a, Node *b) |
Node * | Int32UMod (Node *a, Node *b) |
Node * | Int32LessThan (Node *a, Node *b) |
Node * | Int32LessThanOrEqual (Node *a, Node *b) |
Node * | Uint32LessThan (Node *a, Node *b) |
Node * | Uint32LessThanOrEqual (Node *a, Node *b) |
Node * | Int32GreaterThan (Node *a, Node *b) |
Node * | Int32GreaterThanOrEqual (Node *a, Node *b) |
Node * | Int32Neg (Node *a) |
Node * | Int64Add (Node *a, Node *b) |
Node * | Int64Sub (Node *a, Node *b) |
Node * | Int64Mul (Node *a, Node *b) |
Node * | Int64Div (Node *a, Node *b) |
Node * | Int64UDiv (Node *a, Node *b) |
Node * | Int64Mod (Node *a, Node *b) |
Node * | Int64UMod (Node *a, Node *b) |
Node * | Int64Neg (Node *a) |
Node * | Int64LessThan (Node *a, Node *b) |
Node * | Int64LessThanOrEqual (Node *a, Node *b) |
Node * | Int64GreaterThan (Node *a, Node *b) |
Node * | Int64GreaterThanOrEqual (Node *a, Node *b) |
Node * | ConvertIntPtrToInt32 (Node *a) |
Node * | ConvertInt32ToIntPtr (Node *a) |
INTPTR_BINOP (Int, Add) | |
INTPTR_BINOP (Int, Sub) | |
INTPTR_BINOP (Int, LessThan) | |
INTPTR_BINOP (Int, LessThanOrEqual) | |
INTPTR_BINOP (Word, Equal) | |
INTPTR_BINOP (Word, NotEqual) | |
INTPTR_BINOP (Int, GreaterThanOrEqual) | |
INTPTR_BINOP (Int, GreaterThan) | |
Node * | Float64Add (Node *a, Node *b) |
Node * | Float64Sub (Node *a, Node *b) |
Node * | Float64Mul (Node *a, Node *b) |
Node * | Float64Div (Node *a, Node *b) |
Node * | Float64Mod (Node *a, Node *b) |
Node * | Float64Equal (Node *a, Node *b) |
Node * | Float64NotEqual (Node *a, Node *b) |
Node * | Float64LessThan (Node *a, Node *b) |
Node * | Float64LessThanOrEqual (Node *a, Node *b) |
Node * | Float64GreaterThan (Node *a, Node *b) |
Node * | Float64GreaterThanOrEqual (Node *a, Node *b) |
Node * | ChangeFloat32ToFloat64 (Node *a) |
Node * | ChangeInt32ToFloat64 (Node *a) |
Node * | ChangeUint32ToFloat64 (Node *a) |
Node * | ChangeFloat64ToInt32 (Node *a) |
Node * | ChangeFloat64ToUint32 (Node *a) |
Node * | ChangeInt32ToInt64 (Node *a) |
Node * | ChangeUint32ToUint64 (Node *a) |
Node * | TruncateFloat64ToFloat32 (Node *a) |
Node * | TruncateFloat64ToInt32 (Node *a) |
Node * | TruncateInt64ToInt32 (Node *a) |
Node * | Parameter (size_t index) |
Label * | Exit () |
void | Goto (Label *label) |
void | Branch (Node *condition, Label *true_val, Label *false_val) |
Node * | CallFunctionStub0 (Node *function, Node *receiver, Node *context, Node *frame_state, CallFunctionFlags flags) |
Node * | CallJS0 (Node *function, Node *receiver, Node *context, Node *frame_state) |
Node * | CallRuntime1 (Runtime::FunctionId function, Node *arg0, Node *context, Node *frame_state) |
void | Return (Node *value) |
void | Bind (Label *label) |
void | Deoptimize (Node *state) |
Node * | Phi (MachineType type, Node *n1, Node *n2) |
Node * | Phi (MachineType type, Node *n1, Node *n2, Node *n3) |
Node * | Phi (MachineType type, Node *n1, Node *n2, Node *n3, Node *n4) |
Schedule * | Export () |
![]() | |
GraphBuilder (Graph *graph) | |
virtual | ~GraphBuilder () |
Node * | NewNode (const Operator *op) |
Node * | NewNode (const Operator *op, Node *n1) |
Node * | NewNode (const Operator *op, Node *n1, Node *n2) |
Node * | NewNode (const Operator *op, Node *n1, Node *n2, Node *n3) |
Node * | NewNode (const Operator *op, Node *n1, Node *n2, Node *n3, Node *n4) |
Node * | NewNode (const Operator *op, Node *n1, Node *n2, Node *n3, Node *n4, Node *n5) |
Node * | NewNode (const Operator *op, Node *n1, Node *n2, Node *n3, Node *n4, Node *n5, Node *n6) |
Node * | NewNode (const Operator *op, int value_input_count, Node **value_inputs) |
Graph * | graph () const |
Protected Member Functions | |
virtual Node * | MakeNode (const Operator *op, int input_count, Node **inputs) FINAL |
bool | ScheduleValid () |
Schedule * | schedule () |
Private Member Functions | |
BasicBlock * | Use (Label *label) |
BasicBlock * | EnsureBlock (Label *label) |
BasicBlock * | CurrentBlock () |
DISALLOW_COPY_AND_ASSIGN (RawMachineAssembler) | |
Private Attributes | |
Schedule * | schedule_ |
MachineOperatorBuilder | machine_ |
CommonOperatorBuilder | common_ |
MachineSignature * | machine_sig_ |
CallDescriptor * | call_descriptor_ |
Node ** | parameters_ |
Label | exit_label_ |
BasicBlock * | current_block_ |
Definition at line 26 of file raw-machine-assembler.h.
v8::internal::compiler::RawMachineAssembler::RawMachineAssembler | ( | Graph * | graph, |
MachineSignature * | machine_sig, | ||
MachineType | word = kMachPtr |
||
) |
Definition at line 14 of file raw-machine-assembler.cc.
References common(), common_, v8::internal::compiler::GraphBuilder::graph(), v8::internal::Zone::NewArray(), v8::internal::compiler::GraphBuilder::NewNode(), v8::internal::compiler::Graph::NewNode(), Parameter(), parameter_count(), parameters_, v8::internal::compiler::GenericGraph< V >::SetStart(), v8::internal::compiler::GenericGraph< V >::start(), and zone().
|
inlinevirtual |
Definition at line 49 of file raw-machine-assembler.h.
void v8::internal::compiler::RawMachineAssembler::Bind | ( | Label * | label | ) |
Definition at line 126 of file raw-machine-assembler.cc.
References v8::internal::compiler::RawMachineAssembler::Label::bound_, current_block_, DCHECK, EnsureBlock(), and NULL.
void v8::internal::compiler::RawMachineAssembler::Branch | ( | Node * | condition, |
Label * | true_val, | ||
Label * | false_val | ||
) |
Definition at line 69 of file raw-machine-assembler.cc.
References v8::internal::compiler::Schedule::AddBranch(), common(), current_block_, CurrentBlock(), DCHECK, v8::internal::compiler::GraphBuilder::NewNode(), NULL, schedule(), and Use().
|
inline |
Node * v8::internal::compiler::RawMachineAssembler::CallFunctionStub0 | ( | Node * | function, |
Node * | receiver, | ||
Node * | context, | ||
Node * | frame_state, | ||
CallFunctionFlags | flags | ||
) |
Definition at line 84 of file raw-machine-assembler.cc.
References v8::internal::compiler::Schedule::AddNode(), common(), CurrentBlock(), v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::compiler::Linkage::GetStubCallDescriptor(), v8::internal::compiler::GraphBuilder::graph(), HeapConstant(), isolate(), v8::internal::compiler::Graph::NewNode(), schedule(), and zone().
Node * v8::internal::compiler::RawMachineAssembler::CallJS0 | ( | Node * | function, |
Node * | receiver, | ||
Node * | context, | ||
Node * | frame_state | ||
) |
Definition at line 98 of file raw-machine-assembler.cc.
References v8::internal::compiler::Schedule::AddNode(), common(), CurrentBlock(), v8::internal::compiler::Linkage::GetJSCallDescriptor(), v8::internal::compiler::GraphBuilder::graph(), v8::internal::compiler::Graph::NewNode(), schedule(), and zone().
Node * v8::internal::compiler::RawMachineAssembler::CallRuntime1 | ( | Runtime::FunctionId | function, |
Node * | arg0, | ||
Node * | context, | ||
Node * | frame_state | ||
) |
Definition at line 108 of file raw-machine-assembler.cc.
References v8::internal::compiler::Schedule::AddNode(), common(), CurrentBlock(), v8::internal::compiler::Linkage::GetRuntimeCallDescriptor(), v8::internal::compiler::GraphBuilder::graph(), HeapConstant(), Int32Constant(), isolate(), v8::internal::compiler::Operator::kNoProperties, v8::internal::compiler::GraphBuilder::NewNode(), v8::internal::compiler::Graph::NewNode(), schedule(), and zone().
|
inline |
Definition at line 350 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 359 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 362 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 353 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 365 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by ConvertInt32ToIntPtr().
|
inline |
Definition at line 356 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 368 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 54 of file raw-machine-assembler.h.
References common_.
Referenced by Branch(), CallFunctionStub0(), CallJS0(), CallRuntime1(), Float32Constant(), Float64Constant(), HeapConstant(), Int32Constant(), Int64Constant(), NumberConstant(), Phi(), Projection(), RawMachineAssembler(), and UndefinedConstant().
|
inline |
Definition at line 296 of file raw-machine-assembler.h.
References ChangeInt32ToInt64(), v8::internal::kPointerSize, machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 292 of file raw-machine-assembler.h.
References v8::internal::kPointerSize, machine(), v8::internal::compiler::GraphBuilder::NewNode(), and TruncateInt64ToInt32().
|
private |
Definition at line 146 of file raw-machine-assembler.cc.
References current_block_, and DCHECK.
Referenced by Branch(), CallFunctionStub0(), CallJS0(), CallRuntime1(), Goto(), MakeNode(), and Return().
void v8::internal::compiler::RawMachineAssembler::Deoptimize | ( | Node * | state | ) |
|
private |
|
private |
Definition at line 140 of file raw-machine-assembler.cc.
References v8::internal::compiler::RawMachineAssembler::Label::block_, v8::internal::compiler::Schedule::NewBasicBlock(), NULL, and schedule().
Referenced by Bind(), and Use().
RawMachineAssembler::Label * v8::internal::compiler::RawMachineAssembler::Exit | ( | ) |
Definition at line 56 of file raw-machine-assembler.cc.
References exit_label_, and v8::internal::compiler::RawMachineAssembler::Label::used_.
Schedule * v8::internal::compiler::RawMachineAssembler::Export | ( | ) |
Definition at line 39 of file raw-machine-assembler.cc.
References v8::internal::compiler::Scheduler::ComputeSpecialRPO(), DCHECK, NULL, v8::internal::compiler::Schedule::rpo_order(), schedule(), and schedule_.
|
inline |
Definition at line 83 of file raw-machine-assembler.h.
References common(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 317 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 86 of file raw-machine-assembler.h.
References common(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 326 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 332 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by Float64NotEqual().
|
inline |
Definition at line 344 of file raw-machine-assembler.h.
References Float64LessThan().
|
inline |
Definition at line 345 of file raw-machine-assembler.h.
References Float64LessThanOrEqual().
|
inline |
Definition at line 338 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by Float64GreaterThan().
|
inline |
Definition at line 341 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by Float64GreaterThanOrEqual().
|
inline |
Definition at line 329 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 323 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 335 of file raw-machine-assembler.h.
References Float64Equal(), and WordBinaryNot().
|
inline |
Definition at line 320 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
void v8::internal::compiler::RawMachineAssembler::Goto | ( | Label * | label | ) |
Definition at line 62 of file raw-machine-assembler.cc.
References v8::internal::compiler::Schedule::AddGoto(), current_block_, CurrentBlock(), DCHECK, NULL, schedule(), and Use().
Definition at line 89 of file raw-machine-assembler.h.
References common(), v8::internal::Unique< T >::CreateUninitialized(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by CallFunctionStub0(), CallRuntime1(), and UndefinedConstant().
|
inline |
Definition at line 213 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 216 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 74 of file raw-machine-assembler.h.
References common(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by CallRuntime1(), Int32Neg(), IntPtrConstant(), Load(), Store(), Word32BinaryNot(), and Word32Not().
|
inline |
Definition at line 228 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 252 of file raw-machine-assembler.h.
References Int32LessThan().
|
inline |
Definition at line 253 of file raw-machine-assembler.h.
References Int32LessThanOrEqual().
|
inline |
Definition at line 240 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by Int32GreaterThan().
|
inline |
Definition at line 243 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by Int32GreaterThanOrEqual().
|
inline |
Definition at line 234 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 225 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 256 of file raw-machine-assembler.h.
References Int32Constant(), and Int32Sub().
|
inline |
Definition at line 219 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by Int32Neg().
|
inline |
Definition at line 222 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 231 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 237 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 258 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 77 of file raw-machine-assembler.h.
References common(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by Int64Neg(), IntPtrConstant(), Word64BinaryNot(), and Word64Not().
|
inline |
Definition at line 267 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 286 of file raw-machine-assembler.h.
References Int64LessThan().
|
inline |
Definition at line 287 of file raw-machine-assembler.h.
References Int64LessThanOrEqual().
|
inline |
Definition at line 280 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by Int64GreaterThan().
|
inline |
Definition at line 283 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by Int64GreaterThanOrEqual().
|
inline |
Definition at line 273 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 264 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 279 of file raw-machine-assembler.h.
References Int64Constant(), and Int64Sub().
|
inline |
Definition at line 261 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by Int64Neg().
|
inline |
Definition at line 270 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 276 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
v8::internal::compiler::RawMachineAssembler::INTPTR_BINOP | ( | Int | , |
Add | |||
) |
v8::internal::compiler::RawMachineAssembler::INTPTR_BINOP | ( | Int | , |
GreaterThan | |||
) |
v8::internal::compiler::RawMachineAssembler::INTPTR_BINOP | ( | Int | , |
GreaterThanOrEqual | |||
) |
v8::internal::compiler::RawMachineAssembler::INTPTR_BINOP | ( | Int | , |
LessThan | |||
) |
v8::internal::compiler::RawMachineAssembler::INTPTR_BINOP | ( | Int | , |
LessThanOrEqual | |||
) |
v8::internal::compiler::RawMachineAssembler::INTPTR_BINOP | ( | Int | , |
Sub | |||
) |
v8::internal::compiler::RawMachineAssembler::INTPTR_BINOP | ( | Word | , |
Equal | |||
) |
v8::internal::compiler::RawMachineAssembler::INTPTR_BINOP | ( | Word | , |
NotEqual | |||
) |
|
inline |
Definition at line 69 of file raw-machine-assembler.h.
References Int32Constant(), Int64Constant(), and v8::internal::kPointerSize.
Referenced by PointerConstant().
|
inline |
Definition at line 51 of file raw-machine-assembler.h.
References v8::internal::Zone::isolate(), and zone().
Referenced by CallFunctionStub0(), CallRuntime1(), and UndefinedConstant().
|
inline |
Definition at line 99 of file raw-machine-assembler.h.
References Int32Constant().
Referenced by Load().
|
inline |
Definition at line 102 of file raw-machine-assembler.h.
References Load(), machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 53 of file raw-machine-assembler.h.
References machine_.
Referenced by ChangeFloat32ToFloat64(), ChangeFloat64ToInt32(), ChangeFloat64ToUint32(), ChangeInt32ToFloat64(), ChangeInt32ToInt64(), ChangeUint32ToFloat64(), ChangeUint32ToUint64(), ConvertInt32ToIntPtr(), ConvertIntPtrToInt32(), Float64Add(), Float64Div(), Float64Equal(), Float64LessThan(), Float64LessThanOrEqual(), Float64Mod(), Float64Mul(), Float64Sub(), Int32Add(), Int32AddWithOverflow(), Int32Div(), Int32LessThan(), Int32LessThanOrEqual(), Int32Mod(), Int32Mul(), Int32Sub(), Int32SubWithOverflow(), Int32UDiv(), Int32UMod(), Int64Add(), Int64Div(), Int64LessThan(), Int64LessThanOrEqual(), Int64Mod(), Int64Mul(), Int64Sub(), Int64UDiv(), Int64UMod(), Load(), Store(), TruncateFloat64ToFloat32(), TruncateFloat64ToInt32(), TruncateInt64ToInt32(), Uint32LessThan(), Uint32LessThanOrEqual(), Word32And(), Word32Equal(), Word32Or(), Word32Ror(), Word32Sar(), Word32Shl(), Word32Shr(), Word32Xor(), Word64And(), Word64Equal(), Word64Or(), Word64Ror(), Word64Sar(), Word64Shl(), Word64Shr(), Word64Xor(), WordAnd(), WordBinaryNot(), WordEqual(), WordNot(), WordOr(), WordRor(), WordSar(), WordShl(), WordShr(), and WordXor().
|
inline |
|
protectedvirtual |
Implements v8::internal::compiler::GraphBuilder.
Definition at line 152 of file raw-machine-assembler.cc.
References v8::internal::compiler::Schedule::AddNode(), current_block_, CurrentBlock(), DCHECK, v8::internal::compiler::GraphBuilder::graph(), v8::internal::compiler::Graph::NewNode(), NULL, v8::internal::compiler::Operator::opcode(), schedule(), ScheduleValid(), and v8::internal::compiler::GenericGraph< V >::start().
|
inline |
Definition at line 80 of file raw-machine-assembler.h.
References common(), and v8::internal::compiler::GraphBuilder::NewNode().
Node * v8::internal::compiler::RawMachineAssembler::Parameter | ( | size_t | index | ) |
Definition at line 50 of file raw-machine-assembler.cc.
References DCHECK, parameter_count(), and parameters_.
Referenced by RawMachineAssembler().
|
inline |
Definition at line 56 of file raw-machine-assembler.h.
References machine_sig_, and v8::internal::compiler::Signature< T >::parameter_count().
Referenced by Parameter(), and RawMachineAssembler().
|
inline |
Definition at line 402 of file raw-machine-assembler.h.
References common(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by Phi().
|
inline |
Definition at line 405 of file raw-machine-assembler.h.
References common(), v8::internal::compiler::GraphBuilder::NewNode(), and Phi().
|
inline |
Definition at line 408 of file raw-machine-assembler.h.
References common(), v8::internal::compiler::GraphBuilder::NewNode(), and Phi().
|
inline |
Definition at line 66 of file raw-machine-assembler.h.
References IntPtrConstant().
|
inline |
Definition at line 94 of file raw-machine-assembler.h.
References common(), and v8::internal::compiler::GraphBuilder::NewNode().
void v8::internal::compiler::RawMachineAssembler::Return | ( | Node * | value | ) |
Definition at line 78 of file raw-machine-assembler.cc.
References v8::internal::compiler::Schedule::AddReturn(), current_block_, CurrentBlock(), NULL, and schedule().
|
inlineprotected |
Definition at line 421 of file raw-machine-assembler.h.
References DCHECK, schedule_, and ScheduleValid().
Referenced by Branch(), CallFunctionStub0(), CallJS0(), CallRuntime1(), EnsureBlock(), Export(), Goto(), MakeNode(), and Return().
|
inlineprotected |
Definition at line 419 of file raw-machine-assembler.h.
References NULL, and schedule_.
Referenced by MakeNode(), and schedule().
|
inline |
Definition at line 108 of file raw-machine-assembler.h.
References v8::internal::compiler::kNoWriteBarrier, machine(), v8::internal::compiler::GraphBuilder::NewNode(), and Store().
|
inline |
Definition at line 105 of file raw-machine-assembler.h.
References Int32Constant().
Referenced by Store().
|
inline |
Definition at line 371 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 374 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 377 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by ConvertIntPtrToInt32().
|
inline |
Definition at line 246 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 249 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 59 of file raw-machine-assembler.h.
References common(), v8::internal::Unique< T >::CreateImmovable(), HeapConstant(), isolate(), and v8::internal::compiler::GraphBuilder::NewNode().
|
private |
Definition at line 134 of file raw-machine-assembler.cc.
References EnsureBlock(), and v8::internal::compiler::RawMachineAssembler::Label::used_.
Referenced by Branch(), and Goto().
|
inline |
Definition at line 153 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 181 of file raw-machine-assembler.h.
References Int32Constant(), and Word32Equal().
Referenced by Word32NotEqual(), and WordBinaryNot().
|
inline |
Definition at line 174 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by Word32BinaryNot(), and Word32NotEqual().
|
inline |
Definition at line 180 of file raw-machine-assembler.h.
References Int32Constant(), and Word32Xor().
Referenced by WordNot().
|
inline |
Definition at line 177 of file raw-machine-assembler.h.
References Word32BinaryNot(), and Word32Equal().
|
inline |
Definition at line 156 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 171 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 168 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 162 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 165 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 159 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by Word32Not().
|
inline |
Definition at line 183 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 211 of file raw-machine-assembler.h.
References Int64Constant(), and Word64Equal().
Referenced by Word64NotEqual(), and WordBinaryNot().
|
inline |
Definition at line 204 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by Word64BinaryNot(), and Word64NotEqual().
|
inline |
Definition at line 210 of file raw-machine-assembler.h.
References Int64Constant(), and Word64Xor().
Referenced by WordNot().
|
inline |
Definition at line 207 of file raw-machine-assembler.h.
References Word64BinaryNot(), and Word64Equal().
|
inline |
Definition at line 186 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 201 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 198 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 192 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 195 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 189 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by Word64Not().
|
inline |
Definition at line 113 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 145 of file raw-machine-assembler.h.
References machine(), Word32BinaryNot(), and Word64BinaryNot().
Referenced by Float64NotEqual(), and WordNotEqual().
|
inline |
Definition at line 132 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by WordNotEqual().
|
inline |
Definition at line 138 of file raw-machine-assembler.h.
References machine(), Word32Not(), and Word64Not().
|
inline |
Definition at line 135 of file raw-machine-assembler.h.
References WordBinaryNot(), and WordEqual().
|
inline |
Definition at line 116 of file raw-machine-assembler.h.
References machine(), v8::internal::compiler::GraphBuilder::NewNode(), and WordOr().
Referenced by WordOr().
|
inline |
Definition at line 129 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 126 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 120 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 123 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 117 of file raw-machine-assembler.h.
References machine(), and v8::internal::compiler::GraphBuilder::NewNode().
|
inline |
Definition at line 52 of file raw-machine-assembler.h.
References v8::internal::compiler::GraphBuilder::graph(), and v8::internal::compiler::GenericGraphBase::zone().
Referenced by CallFunctionStub0(), CallJS0(), CallRuntime1(), isolate(), and RawMachineAssembler().
|
private |
Definition at line 435 of file raw-machine-assembler.h.
Referenced by call_descriptor().
|
private |
Definition at line 433 of file raw-machine-assembler.h.
Referenced by common(), and RawMachineAssembler().
|
private |
Definition at line 438 of file raw-machine-assembler.h.
Referenced by Bind(), Branch(), CurrentBlock(), Goto(), MakeNode(), and Return().
|
private |
Definition at line 437 of file raw-machine-assembler.h.
Referenced by Exit().
|
private |
Definition at line 432 of file raw-machine-assembler.h.
Referenced by machine().
|
private |
Definition at line 434 of file raw-machine-assembler.h.
Referenced by machine_sig(), and parameter_count().
|
private |
Definition at line 436 of file raw-machine-assembler.h.
Referenced by Parameter(), and RawMachineAssembler().
|
private |
Definition at line 431 of file raw-machine-assembler.h.
Referenced by Export(), schedule(), and ScheduleValid().