v8  3.11.10(node0.8.26)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
lithium-ia32.h File Reference
#include "hydrogen.h"
#include "lithium-allocator.h"
#include "lithium.h"
#include "safepoint-table.h"
#include "utils.h"
Include dependency graph for lithium-ia32.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  LInstruction
 
class  LTemplateInstruction< R, I, T >
 
class  LGap
 
class  LInstructionGap
 
class  LGoto
 
class  LLazyBailout
 
class  LDeoptimize
 
class  LLabel
 
class  LParameter
 
class  LCallStub
 
class  LUnknownOSRValue
 
class  LControlInstruction< I, T >
 
class  LWrapReceiver
 
class  LApplyArguments
 
class  LAccessArgumentsAt
 
class  LArgumentsLength
 
class  LArgumentsElements
 
class  LModI
 
class  LDivI
 
class  LMulI
 
class  LCmpIDAndBranch
 
class  LUnaryMathOperation
 
class  LMathPowHalf
 
class  LCmpObjectEqAndBranch
 
class  LCmpConstantEqAndBranch
 
class  LIsNilAndBranch
 
class  LIsObjectAndBranch
 
class  LIsStringAndBranch
 
class  LIsSmiAndBranch
 
class  LIsUndetectableAndBranch
 
class  LStringCompareAndBranch
 
class  LHasInstanceTypeAndBranch
 
class  LGetCachedArrayIndex
 
class  LHasCachedArrayIndexAndBranch
 
class  LIsConstructCallAndBranch
 
class  LClassOfTestAndBranch
 
class  LCmpT
 
class  LInstanceOf
 
class  LInstanceOfKnownGlobal
 
class  LBoundsCheck
 
class  LBitI
 
class  LShiftI
 
class  LSubI
 
class  LConstantI
 
class  LConstantD
 
class  LConstantT
 
class  LBranch
 
class  LCmpMapAndBranch
 
class  LJSArrayLength
 
class  LFixedArrayBaseLength
 
class  LElementsKind
 
class  LValueOf
 
class  LDateField
 
class  LThrow
 
class  LBitNotI
 
class  LAddI
 
class  LPower
 
class  LRandom
 
class  LArithmeticD
 
class  LArithmeticT
 
class  LReturn
 
class  LLoadNamedField
 
class  LLoadNamedFieldPolymorphic
 
class  LLoadNamedGeneric
 
class  LLoadFunctionPrototype
 
class  LLoadElements
 
class  LLoadExternalArrayPointer
 
class  LLoadKeyedFastElement
 
class  LLoadKeyedFastDoubleElement
 
class  LLoadKeyedSpecializedArrayElement
 
class  LLoadKeyedGeneric
 
class  LLoadGlobalCell
 
class  LLoadGlobalGeneric
 
class  LStoreGlobalCell
 
class  LStoreGlobalGeneric
 
class  LLoadContextSlot
 
class  LStoreContextSlot
 
class  LPushArgument
 
class  LDrop
 
class  LThisFunction
 
class  LContext
 
class  LOuterContext
 
class  LDeclareGlobals
 
class  LGlobalObject
 
class  LGlobalReceiver
 
class  LCallConstantFunction
 
class  LInvokeFunction
 
class  LCallKeyed
 
class  LCallNamed
 
class  LCallFunction
 
class  LCallGlobal
 
class  LCallKnownGlobal
 
class  LCallNew
 
class  LCallRuntime
 
class  LInteger32ToDouble
 
class  LNumberTagI
 
class  LNumberTagD
 
class  LDoubleToI
 
class  LTaggedToI
 
class  LSmiTag
 
class  LNumberUntagD
 
class  LSmiUntag
 
class  LStoreNamedField
 
class  LStoreNamedGeneric
 
class  LStoreKeyedFastElement
 
class  LStoreKeyedFastDoubleElement
 
class  LStoreKeyedSpecializedArrayElement
 
class  LStoreKeyedGeneric
 
class  LTransitionElementsKind
 
class  LStringAdd
 
class  LStringCharCodeAt
 
class  LStringCharFromCode
 
class  LStringLength
 
class  LCheckFunction
 
class  LCheckInstanceType
 
class  LCheckMaps
 
class  LCheckPrototypeMaps
 
class  LCheckSmi
 
class  LClampDToUint8
 
class  LClampIToUint8
 
class  LClampTToUint8
 
class  LCheckNonSmi
 
class  LAllocateObject
 
class  LFastLiteral
 
class  LArrayLiteral
 
class  LObjectLiteral
 
class  LRegExpLiteral
 
class  LFunctionLiteral
 
class  LToFastProperties
 
class  LTypeof
 
class  LTypeofIsAndBranch
 
class  LDeleteProperty
 
class  LOsrEntry
 
class  LStackCheck
 
class  LIn
 
class  LForInPrepareMap
 
class  LForInCacheArray
 
class  LCheckMapValue
 
class  LLoadFieldByIndex
 
class  LChunk
 
class  BASE_EMBEDDED< Visitor >
 

Namespaces

 v8
 
 v8::internal
 

Macros

#define LITHIUM_CONCRETE_INSTRUCTION_LIST(V)
 
#define DECLARE_CONCRETE_INSTRUCTION(type, mnemonic)
 
#define DECLARE_HYDROGEN_ACCESSOR(type)
 
#define DECLARE_OPCODE(type)   k##type,
 
#define DECLARE_PREDICATE(type)   bool Is##type() const { return opcode() == k##type; }
 
#define DECLARE_DO(type)   LInstruction* Do##type(H##type* node);
 

Macro Definition Documentation

#define DECLARE_CONCRETE_INSTRUCTION (   type,
  mnemonic 
)
Value:
virtual Opcode opcode() const { return LInstruction::k##type; } \
virtual void CompileToNative(LCodeGen* generator); \
virtual const char* Mnemonic() const { return mnemonic; } \
static L##type* cast(LInstruction* instr) { \
ASSERT(instr->Is##type()); \
return reinterpret_cast<L##type*>(instr); \
}
#define ASSERT(condition)
Definition: checks.h:270
FlagType type() const
Definition: flags.cc:1358

Definition at line 181 of file lithium-ia32.h.

#define DECLARE_DO (   type)    LInstruction* Do##type(H##type* node);

Definition at line 2398 of file lithium-ia32.h.

#define DECLARE_HYDROGEN_ACCESSOR (   type)
Value:
H##type* hydrogen() const { \
return H##type::cast(hydrogen_value()); \
}
FlagType type() const
Definition: flags.cc:1358

Definition at line 191 of file lithium-ia32.h.

#define DECLARE_OPCODE (   type)    k##type,

Definition at line 213 of file lithium-ia32.h.

#define DECLARE_PREDICATE (   type)    bool Is##type() const { return opcode() == k##type; }

Definition at line 222 of file lithium-ia32.h.

#define LITHIUM_CONCRETE_INSTRUCTION_LIST (   V)

Definition at line 43 of file lithium-ia32.h.