5 #ifndef V8_COMPILER_NODE_PROPERTIES_INL_H_
6 #define V8_COMPILER_NODE_PROPERTIES_INL_H_
114 if (num == 0)
return false;
115 int index = edge.index();
116 return first <= index && index < first + num;
120 Node* node = edge.from();
126 Node* node = edge.from();
132 Node* node = edge.from();
138 Node* node = edge.from();
186 UseIter iter = node->uses().begin();
187 while (iter != node->uses().end()) {
190 iter = iter.UpdateToAndIncrement(effect);
192 iter = iter.UpdateToAndIncrement(value);
static bool IsControlOpcode(Value val)
static void ReplaceControlInput(Node *node, Node *control)
static void ReplaceWithValue(Node *node, Node *value, Node *effect=NULL)
static void ReplaceEffectInput(Node *node, Node *effect, int index=0)
static int FirstEffectIndex(Node *node)
static void RemoveNonValueInputs(Node *node)
static int PastControlIndex(Node *node)
static bool IsContextEdge(Node::Edge edge)
static Node * GetContextInput(Node *node)
static Node * GetValueInput(Node *node, int index)
static Node * GetFrameStateInput(Node *node)
static int FirstContextIndex(Node *node)
static int GetFrameStateIndex(Node *node)
static bool IsControlEdge(Node::Edge edge)
static int FirstValueIndex(Node *node)
static int PastEffectIndex(Node *node)
static Bounds GetBounds(Node *node)
static void SetBounds(Node *node, Bounds bounds)
static int FirstFrameStateIndex(Node *node)
static bool IsEffectEdge(Node::Edge edge)
static int PastFrameStateIndex(Node *node)
static bool IsValueEdge(Node::Edge edge)
static int FirstControlIndex(Node *node)
static Node * GetEffectInput(Node *node, int index=0)
static bool IsControl(Node *node)
static void ReplaceFrameStateInput(Node *node, Node *frame_state)
static int PastValueIndex(Node *node)
static bool IsInputRange(Node::Edge edge, int first, int count)
static int PastContextIndex(Node *node)
static Node * GetControlInput(Node *node, int index=0)
static int GetEffectInputCount(const Operator *op)
static int GetFrameStateInputCount(const Operator *op)
static int GetContextInputCount(const Operator *op)
static int GetValueInputCount(const Operator *op)
static bool HasContextInput(const Operator *op)
static bool HasFrameStateInput(const Operator *op)
static bool HasEffectInput(const Operator *op)
static int GetControlInputCount(const Operator *op)
static bool HasControlOutput(const Operator *op)
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes enable context specialization in TurboFan execution budget before interrupt is triggered max percentage of megamorphic generic ICs to allow optimization enable use of SAHF instruction if enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable use of MLS instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long enable alignment of csp to bytes on platforms which prefer the register to always be NULL
#define DCHECK_NE(v1, v2)
#define DCHECK(condition)
Node::Uses::iterator UseIter
Debugger support for the V8 JavaScript engine.